UNPKG

12.7 MBJavaScriptView Raw
1(function webpackUniversalModuleDefinition(root, factory) {
2 if(typeof exports === 'object' && typeof module === 'object')
3 module.exports = factory();
4 else if(typeof define === 'function' && define.amd)
5 define("page-ide", [], factory);
6 else if(typeof exports === 'object')
7 exports["page-ide"] = factory();
8 else
9 root["page-ide"] = factory();
10})(typeof self !== 'undefined' ? self : this, function() {
11return /******/ (function(modules) { // webpackBootstrap
12/******/ // The module cache
13/******/ var installedModules = {};
14/******/
15/******/ // The require function
16/******/ function __webpack_require__(moduleId) {
17/******/
18/******/ // Check if module is in cache
19/******/ if(installedModules[moduleId]) {
20/******/ return installedModules[moduleId].exports;
21/******/ }
22/******/ // Create a new module (and put it into the cache)
23/******/ var module = installedModules[moduleId] = {
24/******/ i: moduleId,
25/******/ l: false,
26/******/ exports: {}
27/******/ };
28/******/
29/******/ // Execute the module function
30/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
31/******/
32/******/ // Flag the module as loaded
33/******/ module.l = true;
34/******/
35/******/ // Return the exports of the module
36/******/ return module.exports;
37/******/ }
38/******/
39/******/
40/******/ // expose the modules object (__webpack_modules__)
41/******/ __webpack_require__.m = modules;
42/******/
43/******/ // expose the module cache
44/******/ __webpack_require__.c = installedModules;
45/******/
46/******/ // define getter function for harmony exports
47/******/ __webpack_require__.d = function(exports, name, getter) {
48/******/ if(!__webpack_require__.o(exports, name)) {
49/******/ Object.defineProperty(exports, name, {
50/******/ configurable: false,
51/******/ enumerable: true,
52/******/ get: getter
53/******/ });
54/******/ }
55/******/ };
56/******/
57/******/ // getDefaultExport function for compatibility with non-harmony modules
58/******/ __webpack_require__.n = function(module) {
59/******/ var getter = module && module.__esModule ?
60/******/ function getDefault() { return module['default']; } :
61/******/ function getModuleExports() { return module; };
62/******/ __webpack_require__.d(getter, 'a', getter);
63/******/ return getter;
64/******/ };
65/******/
66/******/ // Object.prototype.hasOwnProperty.call
67/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
68/******/
69/******/ // __webpack_public_path__
70/******/ __webpack_require__.p = "/dist/";
71/******/
72/******/ // Load entry module and return exports
73/******/ return __webpack_require__(__webpack_require__.s = 212);
74/******/ })
75/************************************************************************/
76/******/ ([
77/* 0 */
78/***/ (function(module, exports) {
79
80eval("/*\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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qcz81MTM5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsZ0JBQWdCO0FBQ25ELElBQUk7QUFDSjtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsaUJBQWlCO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxvQkFBb0I7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0RBQW9ELGNBQWM7O0FBRWxFO0FBQ0EiLCJmaWxlIjoiMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5cdE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG5cdEF1dGhvciBUb2JpYXMgS29wcGVycyBAc29rcmFcbiovXG4vLyBjc3MgYmFzZSBjb2RlLCBpbmplY3RlZCBieSB0aGUgY3NzLWxvYWRlclxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbih1c2VTb3VyY2VNYXApIHtcblx0dmFyIGxpc3QgPSBbXTtcblxuXHQvLyByZXR1cm4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBhcyBjc3Mgc3RyaW5nXG5cdGxpc3QudG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZygpIHtcblx0XHRyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcblx0XHRcdHZhciBjb250ZW50ID0gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhpdGVtLCB1c2VTb3VyY2VNYXApO1xuXHRcdFx0aWYoaXRlbVsyXSkge1xuXHRcdFx0XHRyZXR1cm4gXCJAbWVkaWEgXCIgKyBpdGVtWzJdICsgXCJ7XCIgKyBjb250ZW50ICsgXCJ9XCI7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZXR1cm4gY29udGVudDtcblx0XHRcdH1cblx0XHR9KS5qb2luKFwiXCIpO1xuXHR9O1xuXG5cdC8vIGltcG9ydCBhIGxpc3Qgb2YgbW9kdWxlcyBpbnRvIHRoZSBsaXN0XG5cdGxpc3QuaSA9IGZ1bmN0aW9uKG1vZHVsZXMsIG1lZGlhUXVlcnkpIHtcblx0XHRpZih0eXBlb2YgbW9kdWxlcyA9PT0gXCJzdHJpbmdcIilcblx0XHRcdG1vZHVsZXMgPSBbW251bGwsIG1vZHVsZXMsIFwiXCJdXTtcblx0XHR2YXIgYWxyZWFkeUltcG9ydGVkTW9kdWxlcyA9IHt9O1xuXHRcdGZvcih2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHR2YXIgaWQgPSB0aGlzW2ldWzBdO1xuXHRcdFx0aWYodHlwZW9mIGlkID09PSBcIm51bWJlclwiKVxuXHRcdFx0XHRhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzW2lkXSA9IHRydWU7XG5cdFx0fVxuXHRcdGZvcihpID0gMDsgaSA8IG1vZHVsZXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdHZhciBpdGVtID0gbW9kdWxlc1tpXTtcblx0XHRcdC8vIHNraXAgYWxyZWFkeSBpbXBvcnRlZCBtb2R1bGVcblx0XHRcdC8vIHRoaXMgaW1wbGVtZW50YXRpb24gaXMgbm90IDEwMCUgcGVyZmVjdCBmb3Igd2VpcmQgbWVkaWEgcXVlcnkgY29tYmluYXRpb25zXG5cdFx0XHQvLyAgd2hlbiBhIG1vZHVsZSBpcyBpbXBvcnRlZCBtdWx0aXBsZSB0aW1lcyB3aXRoIGRpZmZlcmVudCBtZWRpYSBxdWVyaWVzLlxuXHRcdFx0Ly8gIEkgaG9wZSB0aGlzIHdpbGwgbmV2ZXIgb2NjdXIgKEhleSB0aGlzIHdheSB3ZSBoYXZlIHNtYWxsZXIgYnVuZGxlcylcblx0XHRcdGlmKHR5cGVvZiBpdGVtWzBdICE9PSBcIm51bWJlclwiIHx8ICFhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzW2l0ZW1bMF1dKSB7XG5cdFx0XHRcdGlmKG1lZGlhUXVlcnkgJiYgIWl0ZW1bMl0pIHtcblx0XHRcdFx0XHRpdGVtWzJdID0gbWVkaWFRdWVyeTtcblx0XHRcdFx0fSBlbHNlIGlmKG1lZGlhUXVlcnkpIHtcblx0XHRcdFx0XHRpdGVtWzJdID0gXCIoXCIgKyBpdGVtWzJdICsgXCIpIGFuZCAoXCIgKyBtZWRpYVF1ZXJ5ICsgXCIpXCI7XG5cdFx0XHRcdH1cblx0XHRcdFx0bGlzdC5wdXNoKGl0ZW0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fTtcblx0cmV0dXJuIGxpc3Q7XG59O1xuXG5mdW5jdGlvbiBjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKGl0ZW0sIHVzZVNvdXJjZU1hcCkge1xuXHR2YXIgY29udGVudCA9IGl0ZW1bMV0gfHwgJyc7XG5cdHZhciBjc3NNYXBwaW5nID0gaXRlbVszXTtcblx0aWYgKCFjc3NNYXBwaW5nKSB7XG5cdFx0cmV0dXJuIGNvbnRlbnQ7XG5cdH1cblxuXHRpZiAodXNlU291cmNlTWFwICYmIHR5cGVvZiBidG9hID09PSAnZnVuY3Rpb24nKSB7XG5cdFx0dmFyIHNvdXJjZU1hcHBpbmcgPSB0b0NvbW1lbnQoY3NzTWFwcGluZyk7XG5cdFx0dmFyIHNvdXJjZVVSTHMgPSBjc3NNYXBwaW5nLnNvdXJjZXMubWFwKGZ1bmN0aW9uIChzb3VyY2UpIHtcblx0XHRcdHJldHVybiAnLyojIHNvdXJjZVVSTD0nICsgY3NzTWFwcGluZy5zb3VyY2VSb290ICsgc291cmNlICsgJyAqLydcblx0XHR9KTtcblxuXHRcdHJldHVybiBbY29udGVudF0uY29uY2F0KHNvdXJjZVVSTHMpLmNvbmNhdChbc291cmNlTWFwcGluZ10pLmpvaW4oJ1xcbicpO1xuXHR9XG5cblx0cmV0dXJuIFtjb250ZW50XS5qb2luKCdcXG4nKTtcbn1cblxuLy8gQWRhcHRlZCBmcm9tIGNvbnZlcnQtc291cmNlLW1hcCAoTUlUKVxuZnVuY3Rpb24gdG9Db21tZW50KHNvdXJjZU1hcCkge1xuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcblx0dmFyIGJhc2U2NCA9IGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHNvdXJjZU1hcCkpKSk7XG5cdHZhciBkYXRhID0gJ3NvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LCcgKyBiYXNlNjQ7XG5cblx0cmV0dXJuICcvKiMgJyArIGRhdGEgKyAnICovJztcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcbi8vIG1vZHVsZSBpZCA9IDBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///0\n");
81
82/***/ }),
83/* 1 */
84/***/ (function(module, exports, __webpack_require__) {
85
86eval("/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\nvar listToStyles = __webpack_require__(217)\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array<StyleObjectPart>\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nmodule.exports = function (parentId, list, _isProduction, _options) {\n isProduction = _isProduction\n\n options = _options || {}\n\n var styles = listToStyles(parentId, list)\n addStylesToDom(styles)\n\n return function update (newList) {\n var mayRemove = []\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n domStyle.refs--\n mayRemove.push(domStyle)\n }\n if (newList) {\n styles = listToStyles(parentId, newList)\n addStylesToDom(styles)\n } else {\n styles = []\n }\n for (var i = 0; i < mayRemove.length; i++) {\n var domStyle = mayRemove[i]\n if (domStyle.refs === 0) {\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j]()\n }\n delete stylesInDom[domStyle.id]\n }\n }\n }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n if (domStyle) {\n domStyle.refs++\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j](item.parts[j])\n }\n for (; j < item.parts.length; j++) {\n domStyle.parts.push(addStyle(item.parts[j]))\n }\n if (domStyle.parts.length > item.parts.length) {\n domStyle.parts.length = item.parts.length\n }\n } else {\n var parts = []\n for (var j = 0; j < item.parts.length; j++) {\n parts.push(addStyle(item.parts[j]))\n }\n stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n }\n }\n}\n\nfunction createStyleElement () {\n var styleElement = document.createElement('style')\n styleElement.type = 'text/css'\n head.appendChild(styleElement)\n return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n var update, remove\n var styleElement = document.querySelector('style[' + ssrIdKey + '~=\"' + obj.id + '\"]')\n\n if (styleElement) {\n if (isProduction) {\n // has SSR styles and in production mode.\n // simply do nothing.\n return noop\n } else {\n // has SSR styles but in dev mode.\n // for some reason Chrome can't handle source map in server-rendered\n // style tags - source maps in <style> only works if the style tag is\n // created and inserted dynamically. So we remove the server rendered\n // styles and inject new ones.\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n if (isOldIE) {\n // use singleton mode for IE9.\n var styleIndex = singletonCounter++\n styleElement = singletonElement || (singletonElement = createStyleElement())\n update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)\n remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)\n } else {\n // use multi-style-tag mode in all other cases\n styleElement = createStyleElement()\n update = applyToTag.bind(null, styleElement)\n remove = function () {\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n update(obj)\n\n return function updateStyle (newObj /* StyleObjectPart */) {\n if (newObj) {\n if (newObj.css === obj.css &&\n newObj.media === obj.media &&\n newObj.sourceMap === obj.sourceMap) {\n return\n }\n update(obj = newObj)\n } else {\n remove()\n }\n }\n}\n\nvar replaceText = (function () {\n var textStore = []\n\n return function (index, replacement) {\n textStore[index] = replacement\n return textStore.filter(Boolean).join('\\n')\n }\n})()\n\nfunction applyToSingletonTag (styleElement, index, remove, obj) {\n var css = remove ? '' : obj.css\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css)\n } else {\n var cssNode = document.createTextNode(css)\n var childNodes = styleElement.childNodes\n if (childNodes[index]) styleElement.removeChild(childNodes[index])\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index])\n } else {\n styleElement.appendChild(cssNode)\n }\n }\n}\n\nfunction applyToTag (styleElement, obj) {\n var css = obj.css\n var media = obj.media\n var sourceMap = obj.sourceMap\n\n if (media) {\n styleElement.setAttribute('media', media)\n }\n if (options.ssrId) {\n styleElement.setAttribute(ssrIdKey, obj.id)\n }\n\n if (sourceMap) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n }\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild)\n }\n styleElement.appendChild(document.createTextNode(css))\n }\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzPzE0OGEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsaUJBQWlCO0FBQzNCO0FBQ0E7O0FBRUEsbUJBQW1CLG1CQUFPLENBQUMsR0FBZ0I7O0FBRTNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsbUJBQW1CLG1CQUFtQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxtQkFBbUIsc0JBQXNCO0FBQ3pDO0FBQ0E7QUFDQSx1QkFBdUIsMkJBQTJCO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUJBQWlCLG1CQUFtQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQiwyQkFBMkI7QUFDaEQ7QUFDQTtBQUNBLFlBQVksdUJBQXVCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxxQkFBcUIsdUJBQXVCO0FBQzVDO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseURBQXlEO0FBQ3pEOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICBNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuICBBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXG4gIE1vZGlmaWVkIGJ5IEV2YW4gWW91IEB5eXg5OTA4MDNcbiovXG5cbnZhciBoYXNEb2N1bWVudCA9IHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCdcblxuaWYgKHR5cGVvZiBERUJVRyAhPT0gJ3VuZGVmaW5lZCcgJiYgREVCVUcpIHtcbiAgaWYgKCFoYXNEb2N1bWVudCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAndnVlLXN0eWxlLWxvYWRlciBjYW5ub3QgYmUgdXNlZCBpbiBhIG5vbi1icm93c2VyIGVudmlyb25tZW50LiAnICtcbiAgICBcIlVzZSB7IHRhcmdldDogJ25vZGUnIH0gaW4geW91ciBXZWJwYWNrIGNvbmZpZyB0byBpbmRpY2F0ZSBhIHNlcnZlci1yZW5kZXJpbmcgZW52aXJvbm1lbnQuXCJcbiAgKSB9XG59XG5cbnZhciBsaXN0VG9TdHlsZXMgPSByZXF1aXJlKCcuL2xpc3RUb1N0eWxlcycpXG5cbi8qXG50eXBlIFN0eWxlT2JqZWN0ID0ge1xuICBpZDogbnVtYmVyO1xuICBwYXJ0czogQXJyYXk8U3R5bGVPYmplY3RQYXJ0PlxufVxuXG50eXBlIFN0eWxlT2JqZWN0UGFydCA9IHtcbiAgY3NzOiBzdHJpbmc7XG4gIG1lZGlhOiBzdHJpbmc7XG4gIHNvdXJjZU1hcDogP3N0cmluZ1xufVxuKi9cblxudmFyIHN0eWxlc0luRG9tID0gey8qXG4gIFtpZDogbnVtYmVyXToge1xuICAgIGlkOiBudW1iZXIsXG4gICAgcmVmczogbnVtYmVyLFxuICAgIHBhcnRzOiBBcnJheTwob2JqPzogU3R5bGVPYmplY3RQYXJ0KSA9PiB2b2lkPlxuICB9XG4qL31cblxudmFyIGhlYWQgPSBoYXNEb2N1bWVudCAmJiAoZG9jdW1lbnQuaGVhZCB8fCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdKVxudmFyIHNpbmdsZXRvbkVsZW1lbnQgPSBudWxsXG52YXIgc2luZ2xldG9uQ291bnRlciA9IDBcbnZhciBpc1Byb2R1Y3Rpb24gPSBmYWxzZVxudmFyIG5vb3AgPSBmdW5jdGlvbiAoKSB7fVxudmFyIG9wdGlvbnMgPSBudWxsXG52YXIgc3NySWRLZXkgPSAnZGF0YS12dWUtc3NyLWlkJ1xuXG4vLyBGb3JjZSBzaW5nbGUtdGFnIHNvbHV0aW9uIG9uIElFNi05LCB3aGljaCBoYXMgYSBoYXJkIGxpbWl0IG9uIHRoZSAjIG9mIDxzdHlsZT5cbi8vIHRhZ3MgaXQgd2lsbCBhbGxvdyBvbiBhIHBhZ2VcbnZhciBpc09sZElFID0gdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgL21zaWUgWzYtOV1cXGIvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChwYXJlbnRJZCwgbGlzdCwgX2lzUHJvZHVjdGlvbiwgX29wdGlvbnMpIHtcbiAgaXNQcm9kdWN0aW9uID0gX2lzUHJvZHVjdGlvblxuXG4gIG9wdGlvbnMgPSBfb3B0aW9ucyB8fCB7fVxuXG4gIHZhciBzdHlsZXMgPSBsaXN0VG9TdHlsZXMocGFyZW50SWQsIGxpc3QpXG4gIGFkZFN0eWxlc1RvRG9tKHN0eWxlcylcblxuICByZXR1cm4gZnVuY3Rpb24gdXBkYXRlIChuZXdMaXN0KSB7XG4gICAgdmFyIG1heVJlbW92ZSA9IFtdXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBpdGVtID0gc3R5bGVzW2ldXG4gICAgICB2YXIgZG9tU3R5bGUgPSBzdHlsZXNJbkRvbVtpdGVtLmlkXVxuICAgICAgZG9tU3R5bGUucmVmcy0tXG4gICAgICBtYXlSZW1vdmUucHVzaChkb21TdHlsZSlcbiAgICB9XG4gICAgaWYgKG5ld0xpc3QpIHtcbiAgICAgIHN0eWxlcyA9IGxpc3RUb1N0eWxlcyhwYXJlbnRJZCwgbmV3TGlzdClcbiAgICAgIGFkZFN0eWxlc1RvRG9tKHN0eWxlcylcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGVzID0gW11cbiAgICB9XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtYXlSZW1vdmUubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBkb21TdHlsZSA9IG1heVJlbW92ZVtpXVxuICAgICAgaWYgKGRvbVN0eWxlLnJlZnMgPT09IDApIHtcbiAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBkb21TdHlsZS5wYXJ0cy5sZW5ndGg7IGorKykge1xuICAgICAgICAgIGRvbVN0eWxlLnBhcnRzW2pdKClcbiAgICAgICAgfVxuICAgICAgICBkZWxldGUgc3R5bGVzSW5Eb21bZG9tU3R5bGUuaWRdXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFkZFN0eWxlc1RvRG9tIChzdHlsZXMgLyogQXJyYXk8U3R5bGVPYmplY3Q+ICovKSB7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgc3R5bGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGl0ZW0gPSBzdHlsZXNbaV1cbiAgICB2YXIgZG9tU3R5bGUgPSBzdHlsZXNJbkRvbVtpdGVtLmlkXVxuICAgIGlmIChkb21TdHlsZSkge1xuICAgICAgZG9tU3R5bGUucmVmcysrXG4gICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGRvbVN0eWxlLnBhcnRzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIGRvbVN0eWxlLnBhcnRzW2pdKGl0ZW0ucGFydHNbal0pXG4gICAgICB9XG4gICAgICBmb3IgKDsgaiA8IGl0ZW0ucGFydHMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgZG9tU3R5bGUucGFydHMucHVzaChhZGRTdHlsZShpdGVtLnBhcnRzW2pdKSlcbiAgICAgIH1cbiAgICAgIGlmIChkb21TdHlsZS5wYXJ0cy5sZW5ndGggPiBpdGVtLnBhcnRzLmxlbmd0aCkge1xuICAgICAgICBkb21TdHlsZS5wYXJ0cy5sZW5ndGggPSBpdGVtLnBhcnRzLmxlbmd0aFxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgcGFydHMgPSBbXVxuICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBpdGVtLnBhcnRzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIHBhcnRzLnB1c2goYWRkU3R5bGUoaXRlbS5wYXJ0c1tqXSkpXG4gICAgICB9XG4gICAgICBzdHlsZXNJbkRvbVtpdGVtLmlkXSA9IHsgaWQ6IGl0ZW0uaWQsIHJlZnM6IDEsIHBhcnRzOiBwYXJ0cyB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVN0eWxlRWxlbWVudCAoKSB7XG4gIHZhciBzdHlsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpXG4gIHN0eWxlRWxlbWVudC50eXBlID0gJ3RleHQvY3NzJ1xuICBoZWFkLmFwcGVuZENoaWxkKHN0eWxlRWxlbWVudClcbiAgcmV0dXJuIHN0eWxlRWxlbWVudFxufVxuXG5mdW5jdGlvbiBhZGRTdHlsZSAob2JqIC8qIFN0eWxlT2JqZWN0UGFydCAqLykge1xuICB2YXIgdXBkYXRlLCByZW1vdmVcbiAgdmFyIHN0eWxlRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3N0eWxlWycgKyBzc3JJZEtleSArICd+PVwiJyArIG9iai5pZCArICdcIl0nKVxuXG4gIGlmIChzdHlsZUVsZW1lbnQpIHtcbiAgICBpZiAoaXNQcm9kdWN0aW9uKSB7XG4gICAgICAvLyBoYXMgU1NSIHN0eWxlcyBhbmQgaW4gcHJvZHVjdGlvbiBtb2RlLlxuICAgICAgLy8gc2ltcGx5IGRvIG5vdGhpbmcuXG4gICAgICByZXR1cm4gbm9vcFxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBoYXMgU1NSIHN0eWxlcyBidXQgaW4gZGV2IG1vZGUuXG4gICAgICAvLyBmb3Igc29tZSByZWFzb24gQ2hyb21lIGNhbid0IGhhbmRsZSBzb3VyY2UgbWFwIGluIHNlcnZlci1yZW5kZXJlZFxuICAgICAgLy8gc3R5bGUgdGFncyAtIHNvdXJjZSBtYXBzIGluIDxzdHlsZT4gb25seSB3b3JrcyBpZiB0aGUgc3R5bGUgdGFnIGlzXG4gICAgICAvLyBjcmVhdGVkIGFuZCBpbnNlcnRlZCBkeW5hbWljYWxseS4gU28gd2UgcmVtb3ZlIHRoZSBzZXJ2ZXIgcmVuZGVyZWRcbiAgICAgIC8vIHN0eWxlcyBhbmQgaW5qZWN0IG5ldyBvbmVzLlxuICAgICAgc3R5bGVFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc3R5bGVFbGVtZW50KVxuICAgIH1cbiAgfVxuXG4gIGlmIChpc09sZElFKSB7XG4gICAgLy8gdXNlIHNpbmdsZXRvbiBtb2RlIGZvciBJRTkuXG4gICAgdmFyIHN0eWxlSW5kZXggPSBzaW5nbGV0b25Db3VudGVyKytcbiAgICBzdHlsZUVsZW1lbnQgPSBzaW5nbGV0b25FbGVtZW50IHx8IChzaW5nbGV0b25FbGVtZW50ID0gY3JlYXRlU3R5bGVFbGVtZW50KCkpXG4gICAgdXBkYXRlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlRWxlbWVudCwgc3R5bGVJbmRleCwgZmFsc2UpXG4gICAgcmVtb3ZlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlRWxlbWVudCwgc3R5bGVJbmRleCwgdHJ1ZSlcbiAgfSBlbHNlIHtcbiAgICAvLyB1c2UgbXVsdGktc3R5bGUtdGFnIG1vZGUgaW4gYWxsIG90aGVyIGNhc2VzXG4gICAgc3R5bGVFbGVtZW50ID0gY3JlYXRlU3R5bGVFbGVtZW50KClcbiAgICB1cGRhdGUgPSBhcHBseVRvVGFnLmJpbmQobnVsbCwgc3R5bGVFbGVtZW50KVxuICAgIHJlbW92ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHN0eWxlRWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHN0eWxlRWxlbWVudClcbiAgICB9XG4gIH1cblxuICB1cGRhdGUob2JqKVxuXG4gIHJldHVybiBmdW5jdGlvbiB1cGRhdGVTdHlsZSAobmV3T2JqIC8qIFN0eWxlT2JqZWN0UGFydCAqLykge1xuICAgIGlmIChuZXdPYmopIHtcbiAgICAgIGlmIChuZXdPYmouY3NzID09PSBvYmouY3NzICYmXG4gICAgICAgICAgbmV3T2JqLm1lZGlhID09PSBvYmoubWVkaWEgJiZcbiAgICAgICAgICBuZXdPYmouc291cmNlTWFwID09PSBvYmouc291cmNlTWFwKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgdXBkYXRlKG9iaiA9IG5ld09iailcbiAgICB9IGVsc2Uge1xuICAgICAgcmVtb3ZlKClcbiAgICB9XG4gIH1cbn1cblxudmFyIHJlcGxhY2VUZXh0ID0gKGZ1bmN0aW9uICgpIHtcbiAgdmFyIHRleHRTdG9yZSA9IFtdXG5cbiAgcmV0dXJuIGZ1bmN0aW9uIChpbmRleCwgcmVwbGFjZW1lbnQpIHtcbiAgICB0ZXh0U3RvcmVbaW5kZXhdID0gcmVwbGFjZW1lbnRcbiAgICByZXR1cm4gdGV4dFN0b3JlLmZpbHRlcihCb29sZWFuKS5qb2luKCdcXG4nKVxuICB9XG59KSgpXG5cbmZ1bmN0aW9uIGFwcGx5VG9TaW5nbGV0b25UYWcgKHN0eWxlRWxlbWVudCwgaW5kZXgsIHJlbW92ZSwgb2JqKSB7XG4gIHZhciBjc3MgPSByZW1vdmUgPyAnJyA6IG9iai5jc3NcblxuICBpZiAoc3R5bGVFbGVtZW50LnN0eWxlU2hlZXQpIHtcbiAgICBzdHlsZUVsZW1lbnQuc3R5bGVTaGVldC5jc3NUZXh0ID0gcmVwbGFjZVRleHQoaW5kZXgsIGNzcylcbiAgfSBlbHNlIHtcbiAgICB2YXIgY3NzTm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcylcbiAgICB2YXIgY2hpbGROb2RlcyA9IHN0eWxlRWxlbWVudC5jaGlsZE5vZGVzXG4gICAgaWYgKGNoaWxkTm9kZXNbaW5kZXhdKSBzdHlsZUVsZW1lbnQucmVtb3ZlQ2hpbGQoY2hpbGROb2Rlc1tpbmRleF0pXG4gICAgaWYgKGNoaWxkTm9kZXMubGVuZ3RoKSB7XG4gICAgICBzdHlsZUVsZW1lbnQuaW5zZXJ0QmVmb3JlKGNzc05vZGUsIGNoaWxkTm9kZXNbaW5kZXhdKVxuICAgIH0gZWxzZSB7XG4gICAgICBzdHlsZUVsZW1lbnQuYXBwZW5kQ2hpbGQoY3NzTm9kZSlcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYXBwbHlUb1RhZyAoc3R5bGVFbGVtZW50LCBvYmopIHtcbiAgdmFyIGNzcyA9IG9iai5jc3NcbiAgdmFyIG1lZGlhID0gb2JqLm1lZGlhXG4gIHZhciBzb3VyY2VNYXAgPSBvYmouc291cmNlTWFwXG5cbiAgaWYgKG1lZGlhKSB7XG4gICAgc3R5bGVFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWVkaWEnLCBtZWRpYSlcbiAgfVxuICBpZiAob3B0aW9ucy5zc3JJZCkge1xuICAgIHN0eWxlRWxlbWVudC5zZXRBdHRyaWJ1dGUoc3NySWRLZXksIG9iai5pZClcbiAgfVxuXG4gIGlmIChzb3VyY2VNYXApIHtcbiAgICAvLyBodHRwczovL2RldmVsb3Blci5jaHJvbWUuY29tL2RldnRvb2xzL2RvY3MvamF2YXNjcmlwdC1kZWJ1Z2dpbmdcbiAgICAvLyB0aGlzIG1ha2VzIHNvdXJjZSBtYXBzIGluc2lkZSBzdHlsZSB0YWdzIHdvcmsgcHJvcGVybHkgaW4gQ2hyb21lXG4gICAgY3NzICs9ICdcXG4vKiMgc291cmNlVVJMPScgKyBzb3VyY2VNYXAuc291cmNlc1swXSArICcgKi8nXG4gICAgLy8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjY2MDM4NzVcbiAgICBjc3MgKz0gJ1xcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsJyArIGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHNvdXJjZU1hcCkpKSkgKyAnICovJ1xuICB9XG5cbiAgaWYgKHN0eWxlRWxlbWVudC5zdHlsZVNoZWV0KSB7XG4gICAgc3R5bGVFbGVtZW50LnN0eWxlU2hlZXQuY3NzVGV4dCA9IGNzc1xuICB9IGVsc2Uge1xuICAgIHdoaWxlIChzdHlsZUVsZW1lbnQuZmlyc3RDaGlsZCkge1xuICAgICAgc3R5bGVFbGVtZW50LnJlbW92ZUNoaWxkKHN0eWxlRWxlbWVudC5maXJzdENoaWxkKVxuICAgIH1cbiAgICBzdHlsZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKSlcbiAgfVxufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXG4vLyBtb2R1bGUgaWQgPSAxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///1\n");
87
88/***/ }),
89/* 2 */
90/***/ (function(module, exports) {
91
92eval("/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyLmpzPzBiYjIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWxzIF9fVlVFX1NTUl9DT05URVhUX18gKi9cblxuLy8gSU1QT1JUQU5UOiBEbyBOT1QgdXNlIEVTMjAxNSBmZWF0dXJlcyBpbiB0aGlzIGZpbGUuXG4vLyBUaGlzIG1vZHVsZSBpcyBhIHJ1bnRpbWUgdXRpbGl0eSBmb3IgY2xlYW5lciBjb21wb25lbnQgbW9kdWxlIG91dHB1dCBhbmQgd2lsbFxuLy8gYmUgaW5jbHVkZWQgaW4gdGhlIGZpbmFsIHdlYnBhY2sgdXNlciBidW5kbGUuXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gbm9ybWFsaXplQ29tcG9uZW50IChcbiAgcmF3U2NyaXB0RXhwb3J0cyxcbiAgY29tcGlsZWRUZW1wbGF0ZSxcbiAgZnVuY3Rpb25hbFRlbXBsYXRlLFxuICBpbmplY3RTdHlsZXMsXG4gIHNjb3BlSWQsXG4gIG1vZHVsZUlkZW50aWZpZXIgLyogc2VydmVyIG9ubHkgKi9cbikge1xuICB2YXIgZXNNb2R1bGVcbiAgdmFyIHNjcmlwdEV4cG9ydHMgPSByYXdTY3JpcHRFeHBvcnRzID0gcmF3U2NyaXB0RXhwb3J0cyB8fCB7fVxuXG4gIC8vIEVTNiBtb2R1bGVzIGludGVyb3BcbiAgdmFyIHR5cGUgPSB0eXBlb2YgcmF3U2NyaXB0RXhwb3J0cy5kZWZhdWx0XG4gIGlmICh0eXBlID09PSAnb2JqZWN0JyB8fCB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgZXNNb2R1bGUgPSByYXdTY3JpcHRFeHBvcnRzXG4gICAgc2NyaXB0RXhwb3J0cyA9IHJhd1NjcmlwdEV4cG9ydHMuZGVmYXVsdFxuICB9XG5cbiAgLy8gVnVlLmV4dGVuZCBjb25zdHJ1Y3RvciBleHBvcnQgaW50ZXJvcFxuICB2YXIgb3B0aW9ucyA9IHR5cGVvZiBzY3JpcHRFeHBvcnRzID09PSAnZnVuY3Rpb24nXG4gICAgPyBzY3JpcHRFeHBvcnRzLm9wdGlvbnNcbiAgICA6IHNjcmlwdEV4cG9ydHNcblxuICAvLyByZW5kZXIgZnVuY3Rpb25zXG4gIGlmIChjb21waWxlZFRlbXBsYXRlKSB7XG4gICAgb3B0aW9ucy5yZW5kZXIgPSBjb21waWxlZFRlbXBsYXRlLnJlbmRlclxuICAgIG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zID0gY29tcGlsZWRUZW1wbGF0ZS5zdGF0aWNSZW5kZXJGbnNcbiAgICBvcHRpb25zLl9jb21waWxlZCA9IHRydWVcbiAgfVxuXG4gIC8vIGZ1bmN0aW9uYWwgdGVtcGxhdGVcbiAgaWYgKGZ1bmN0aW9uYWxUZW1wbGF0ZSkge1xuICAgIG9wdGlvbnMuZnVuY3Rpb25hbCA9IHRydWVcbiAgfVxuXG4gIC8vIHNjb3BlZElkXG4gIGlmIChzY29wZUlkKSB7XG4gICAgb3B0aW9ucy5fc2NvcGVJZCA9IHNjb3BlSWRcbiAgfVxuXG4gIHZhciBob29rXG4gIGlmIChtb2R1bGVJZGVudGlmaWVyKSB7IC8vIHNlcnZlciBidWlsZFxuICAgIGhvb2sgPSBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgLy8gMi4zIGluamVjdGlvblxuICAgICAgY29udGV4dCA9XG4gICAgICAgIGNvbnRleHQgfHwgLy8gY2FjaGVkIGNhbGxcbiAgICAgICAgKHRoaXMuJHZub2RlICYmIHRoaXMuJHZub2RlLnNzckNvbnRleHQpIHx8IC8vIHN0YXRlZnVsXG4gICAgICAgICh0aGlzLnBhcmVudCAmJiB0aGlzLnBhcmVudC4kdm5vZGUgJiYgdGhpcy5wYXJlbnQuJHZub2RlLnNzckNvbnRleHQpIC8vIGZ1bmN0aW9uYWxcbiAgICAgIC8vIDIuMiB3aXRoIHJ1bkluTmV3Q29udGV4dDogdHJ1ZVxuICAgICAgaWYgKCFjb250ZXh0ICYmIHR5cGVvZiBfX1ZVRV9TU1JfQ09OVEVYVF9fICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBjb250ZXh0ID0gX19WVUVfU1NSX0NPTlRFWFRfX1xuICAgICAgfVxuICAgICAgLy8gaW5qZWN0IGNvbXBvbmVudCBzdHlsZXNcbiAgICAgIGlmIChpbmplY3RTdHlsZXMpIHtcbiAgICAgICAgaW5qZWN0U3R5bGVzLmNhbGwodGhpcywgY29udGV4dClcbiAgICAgIH1cbiAgICAgIC8vIHJlZ2lzdGVyIGNvbXBvbmVudCBtb2R1bGUgaWRlbnRpZmllciBmb3IgYXN5bmMgY2h1bmsgaW5mZXJyZW5jZVxuICAgICAgaWYgKGNvbnRleHQgJiYgY29udGV4dC5fcmVnaXN0ZXJlZENvbXBvbmVudHMpIHtcbiAgICAgICAgY29udGV4dC5fcmVnaXN0ZXJlZENvbXBvbmVudHMuYWRkKG1vZHVsZUlkZW50aWZpZXIpXG4gICAgICB9XG4gICAgfVxuICAgIC8vIHVzZWQgYnkgc3NyIGluIGNhc2UgY29tcG9uZW50IGlzIGNhY2hlZCBhbmQgYmVmb3JlQ3JlYXRlXG4gICAgLy8gbmV2ZXIgZ2V0cyBjYWxsZWRcbiAgICBvcHRpb25zLl9zc3JSZWdpc3RlciA9IGhvb2tcbiAgfSBlbHNlIGlmIChpbmplY3RTdHlsZXMpIHtcbiAgICBob29rID0gaW5qZWN0U3R5bGVzXG4gIH1cblxuICBpZiAoaG9vaykge1xuICAgIHZhciBmdW5jdGlvbmFsID0gb3B0aW9ucy5mdW5jdGlvbmFsXG4gICAgdmFyIGV4aXN0aW5nID0gZnVuY3Rpb25hbFxuICAgICAgPyBvcHRpb25zLnJlbmRlclxuICAgICAgOiBvcHRpb25zLmJlZm9yZUNyZWF0ZVxuXG4gICAgaWYgKCFmdW5jdGlvbmFsKSB7XG4gICAgICAvLyBpbmplY3QgY29tcG9uZW50IHJlZ2lzdHJhdGlvbiBhcyBiZWZvcmVDcmVhdGUgaG9va1xuICAgICAgb3B0aW9ucy5iZWZvcmVDcmVhdGUgPSBleGlzdGluZ1xuICAgICAgICA/IFtdLmNvbmNhdChleGlzdGluZywgaG9vaylcbiAgICAgICAgOiBbaG9va11cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gZm9yIHRlbXBsYXRlLW9ubHkgaG90LXJlbG9hZCBiZWNhdXNlIGluIHRoYXQgY2FzZSB0aGUgcmVuZGVyIGZuIGRvZXNuJ3RcbiAgICAgIC8vIGdvIHRocm91Z2ggdGhlIG5vcm1hbGl6ZXJcbiAgICAgIG9wdGlvbnMuX2luamVjdFN0eWxlcyA9IGhvb2tcbiAgICAgIC8vIHJlZ2lzdGVyIGZvciBmdW5jdGlvYWwgY29tcG9uZW50IGluIHZ1ZSBmaWxlXG4gICAgICBvcHRpb25zLnJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcldpdGhTdHlsZUluamVjdGlvbiAoaCwgY29udGV4dCkge1xuICAgICAgICBob29rLmNhbGwoY29udGV4dClcbiAgICAgICAgcmV0dXJuIGV4aXN0aW5nKGgsIGNvbnRleHQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBlc01vZHVsZTogZXNNb2R1bGUsXG4gICAgZXhwb3J0czogc2NyaXB0RXhwb3J0cyxcbiAgICBvcHRpb25zOiBvcHRpb25zXG4gIH1cbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplci5qc1xuLy8gbW9kdWxlIGlkID0gMlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///2\n");
93
94/***/ }),
95/* 3 */
96/***/ (function(module, exports, __webpack_require__) {
97
98"use strict";
99eval("\n\nexports.__esModule = true;\n\nvar _defineProperties = __webpack_require__(249);\n\nvar _defineProperties2 = _interopRequireDefault(_defineProperties);\n\nvar _freeze = __webpack_require__(252);\n\nvar _freeze2 = _interopRequireDefault(_freeze);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (strings, raw) {\n return (0, _freeze2.default)((0, _defineProperties2.default)(strings, {\n raw: {\n value: (0, _freeze2.default)(raw)\n }\n }));\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvaGVscGVycy90YWdnZWRUZW1wbGF0ZUxpdGVyYWwuanM/Yzc1ZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjs7QUFFQSx3QkFBd0IsbUJBQU8sQ0FBQyxHQUFxQzs7QUFFckU7O0FBRUEsY0FBYyxtQkFBTyxDQUFDLEdBQTBCOztBQUVoRDs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCIsImZpbGUiOiIzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5cbnZhciBfZGVmaW5lUHJvcGVydGllcyA9IHJlcXVpcmUoXCIuLi9jb3JlLWpzL29iamVjdC9kZWZpbmUtcHJvcGVydGllc1wiKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0aWVzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnRpZXMpO1xuXG52YXIgX2ZyZWV6ZSA9IHJlcXVpcmUoXCIuLi9jb3JlLWpzL29iamVjdC9mcmVlemVcIik7XG5cbnZhciBfZnJlZXplMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2ZyZWV6ZSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IGZ1bmN0aW9uIChzdHJpbmdzLCByYXcpIHtcbiAgcmV0dXJuICgwLCBfZnJlZXplMi5kZWZhdWx0KSgoMCwgX2RlZmluZVByb3BlcnRpZXMyLmRlZmF1bHQpKHN0cmluZ3MsIHtcbiAgICByYXc6IHtcbiAgICAgIHZhbHVlOiAoMCwgX2ZyZWV6ZTIuZGVmYXVsdCkocmF3KVxuICAgIH1cbiAgfSkpO1xufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fYmFiZWwtcnVudGltZUA2LjI2LjBAYmFiZWwtcnVudGltZS9oZWxwZXJzL3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbC5qc1xuLy8gbW9kdWxlIGlkID0gM1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///3\n");
100
101/***/ }),
102/* 4 */
103/***/ (function(module, __webpack_exports__, __webpack_require__) {
104
105"use strict";
106eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ThemeProvider\", function() { return ThemeProvider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"css\", function() { return css; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"injectGlobal\", function() { return injectGlobal; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"keyframes\", function() { return keyframes; });\nvar chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');\n\nvar generateAlphabeticName = function generateAlphabeticName(code) {\n var lastDigit = chars[code % chars.length];\n return code > chars.length ? \"\".concat(generateAlphabeticName(Math.floor(code / chars.length))).concat(lastDigit) : lastDigit;\n};\n\nvar interleave = (function (strings, interpolations) {\n return interpolations.reduce(function (array, interp, i) {\n return array.concat(interp, strings[i + 1]);\n }, [strings[0]]);\n});\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\n/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\n\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n\n return result;\n}\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\n\n\nfunction overArg(func, transform) {\n return function (arg) {\n return func(transform(arg));\n };\n}\n/** Used for built-in method references. */\n\n\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n/** Used to resolve the decompiled source of functions. */\n\nvar funcToString = funcProto.toString;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/** Used to infer the `Object` constructor. */\n\nvar objectCtorString = funcToString.call(Object);\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar objectToString = objectProto.toString;\n/** Built-in value references. */\n\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\n\n\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || objectToString.call(value) != objectTag || isHostObject(value)) {\n return false;\n }\n\n var proto = getPrototype(value);\n\n if (proto === null) {\n return true;\n }\n\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;\n}\n\nvar lodash_isplainobject = isPlainObject;\n\nvar _uppercasePattern = /([A-Z])/g;\nvar msPattern = /^ms-/;\n\nfunction hyphenate(string) {\n return string.replace(_uppercasePattern, '-$1').toLowerCase();\n}\n\nfunction hyphenateStyleName(string) {\n return hyphenate(string).replace(msPattern, '-ms-');\n}\n\nvar hyphenateStyleName_1 = hyphenateStyleName;\n\nvar objToCss = function objToCss(obj, prevKey) {\n var css = Object.keys(obj).map(function (key) {\n if (lodash_isplainobject(obj[key])) return objToCss(obj[key], key);\n return \"\".concat(hyphenateStyleName_1(key), \": \").concat(obj[key], \";\");\n }).join(' ');\n return prevKey ? \"\".concat(prevKey, \" {\\n \").concat(css, \"\\n}\") : css;\n};\n\nvar flatten = function flatten(chunks, executionContext) {\n return chunks.reduce(function (ruleSet, chunk) {\n if (chunk === undefined || chunk === null || chunk === false || chunk === '') return ruleSet;\n if (Array.isArray(chunk)) return [].concat(_toConsumableArray(ruleSet), _toConsumableArray(flatten(chunk, executionContext)));\n\n if (typeof chunk === 'function') {\n return executionContext ? ruleSet.concat.apply(ruleSet, _toConsumableArray(flatten([chunk(executionContext)], executionContext))) : ruleSet.concat(chunk);\n }\n\n return ruleSet.concat(lodash_isplainobject(chunk) ? objToCss(chunk) : chunk.toString());\n }, []);\n};\n\nvar css = (function (rules) {\n for (var _len = arguments.length, interpolations = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n interpolations[_key - 1] = arguments[_key];\n }\n\n return flatten(interleave(rules, interpolations));\n});\n\nfunction last(arr) {\n return arr[arr.length - 1];\n}\n\nfunction sheetForTag(tag) {\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n return document.styleSheets[i];\n }\n }\n}\n\nvar isDev = function (x) {\n return x === 'development' || !x;\n}(\"development\");\n\nvar isTest = \"development\" === 'test';\nvar isBrowser = typeof document !== 'undefined' && !isTest;\n\nvar oldIE = function () {\n if (isBrowser) {\n var div = document.createElement('div');\n div.innerHTML = '<!--[if lt IE 10]><i></i><![endif]-->';\n return div.getElementsByTagName('i').length === 1;\n }\n}();\n\nfunction makeStyleTag() {\n var tag = document.createElement('style');\n tag.type = 'text/css';\n tag.appendChild(document.createTextNode(''));\n (document.head || document.getElementsByTagName('head')[0]).appendChild(tag);\n return tag;\n}\n\nvar StyleSheet = function () {\n function StyleSheet() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$speedy = _ref.speedy,\n speedy = _ref$speedy === void 0 ? !isDev && !isTest : _ref$speedy,\n _ref$maxLength = _ref.maxLength,\n maxLength = _ref$maxLength === void 0 ? isBrowser && oldIE ? 4000 : 65000 : _ref$maxLength;\n\n _classCallCheck(this, StyleSheet);\n\n this.isSpeedy = speedy;\n this.sheet = undefined;\n this.tags = [];\n this.maxLength = maxLength;\n this.ctr = 0;\n }\n\n _createClass(StyleSheet, [{\n key: \"inject\",\n value: function inject() {\n var _this = this;\n\n if (this.injected) {\n throw new Error('already injected stylesheet!');\n }\n\n if (isBrowser) {\n this.tags[0] = makeStyleTag();\n this.sheet = sheetForTag(this.tags[0]);\n } else {\n this.sheet = {\n cssRules: [],\n insertRule: function insertRule(rule) {\n var serverRule = {\n cssText: rule\n };\n\n _this.sheet.cssRules.push(serverRule);\n\n return {\n serverRule: serverRule,\n appendRule: function appendRule(newCss) {\n return serverRule.cssText += newCss;\n }\n };\n }\n };\n }\n\n this.injected = true;\n }\n }, {\n key: \"speedy\",\n value: function speedy(bool) {\n if (this.ctr !== 0) {\n throw new Error(\"cannot change speedy mode after inserting any rule to sheet. Either call speedy(\".concat(bool, \") earlier in your app, or call flush() before speedy(\").concat(bool, \")\"));\n }\n\n this.isSpeedy = !!bool;\n }\n }, {\n key: \"_insert\",\n value: function _insert(rule) {\n try {\n this.sheet.insertRule(rule, this.sheet.cssRules.length);\n } catch (e) {\n if (isDev) {\n console.warn('whoops, illegal rule inserted', rule);\n }\n }\n }\n }, {\n key: \"insert\",\n value: function insert(rule) {\n var insertedRule;\n\n if (isBrowser) {\n if (this.isSpeedy && this.sheet.insertRule) {\n this._insert(rule);\n } else {\n var textNode = document.createTextNode(rule);\n last(this.tags).appendChild(textNode);\n insertedRule = {\n textNode: textNode,\n appendRule: function appendRule(newCss) {\n return textNode.appendData(newCss);\n }\n };\n\n if (!this.isSpeedy) {\n this.sheet = sheetForTag(last(this.tags));\n }\n }\n } else {\n insertedRule = this.sheet.insertRule(rule);\n }\n\n this.ctr++;\n\n if (isBrowser && this.ctr % this.maxLength === 0) {\n this.tags.push(makeStyleTag());\n this.sheet = sheetForTag(last(this.tags));\n }\n\n return insertedRule;\n }\n }, {\n key: \"flush\",\n value: function flush() {\n if (isBrowser) {\n this.tags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.sheet = null;\n this.ctr = 0;\n } else {\n this.sheet.cssRules = [];\n }\n\n this.injected = false;\n }\n }, {\n key: \"rules\",\n value: function rules() {\n if (!isBrowser) {\n return this.sheet.cssRules;\n }\n\n var arr = [];\n this.tags.forEach(function (tag) {\n return arr.splice.apply(arr, [arr.length, 0].concat(_toConsumableArray(Array.from(sheetForTag(tag).cssRules))));\n });\n return arr;\n }\n }]);\n\n return StyleSheet;\n}();\n\nvar StyleSheet$1 = function () {\n function StyleSheet$1() {\n _classCallCheck(this, StyleSheet$1);\n\n this.globalStyleSheet = new StyleSheet({\n speedy: false\n });\n this.componentStyleSheet = new StyleSheet({\n speedy: false,\n maxLength: 40\n });\n }\n\n _createClass(StyleSheet$1, [{\n key: \"inject\",\n value: function inject() {\n this.globalStyleSheet.inject();\n this.componentStyleSheet.inject();\n }\n }, {\n key: \"flush\",\n value: function flush() {\n if (this.globalStyleSheet.sheet) this.globalStyleSheet.flush();\n if (this.componentStyleSheet.sheet) this.componentStyleSheet.flush();\n }\n }, {\n key: \"insert\",\n value: function insert(rule) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n global: false\n };\n var sheet = opts.global ? this.globalStyleSheet : this.componentStyleSheet;\n return sheet.insert(rule);\n }\n }, {\n key: \"rules\",\n value: function rules() {\n return this.globalStyleSheet.rules().concat(this.componentStyleSheet.rules());\n }\n }, {\n key: \"injected\",\n get: function get() {\n return this.globalStyleSheet.injected && this.componentStyleSheet.injected;\n }\n }]);\n\n return StyleSheet$1;\n}();\n\nvar styleSheet = new StyleSheet$1();\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar hash = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = doHash; // murmurhash2 via https://gist.github.com/raycmorgan/588423\n\n function doHash(str, seed) {\n var m = 0x5bd1e995;\n var r = 24;\n var h = seed ^ str.length;\n var length = str.length;\n var currentIndex = 0;\n\n while (length >= 4) {\n var k = UInt32(str, currentIndex);\n k = Umul32(k, m);\n k ^= k >>> r;\n k = Umul32(k, m);\n h = Umul32(h, m);\n h ^= k;\n currentIndex += 4;\n length -= 4;\n }\n\n switch (length) {\n case 3:\n h ^= UInt16(str, currentIndex);\n h ^= str.charCodeAt(currentIndex + 2) << 16;\n h = Umul32(h, m);\n break;\n\n case 2:\n h ^= UInt16(str, currentIndex);\n h = Umul32(h, m);\n break;\n\n case 1:\n h ^= str.charCodeAt(currentIndex);\n h = Umul32(h, m);\n break;\n }\n\n h ^= h >>> 13;\n h = Umul32(h, m);\n h ^= h >>> 15;\n return h >>> 0;\n }\n\n function UInt32(str, pos) {\n return str.charCodeAt(pos++) + (str.charCodeAt(pos++) << 8) + (str.charCodeAt(pos++) << 16) + (str.charCodeAt(pos) << 24);\n }\n\n function UInt16(str, pos) {\n return str.charCodeAt(pos++) + (str.charCodeAt(pos++) << 8);\n }\n\n function Umul32(n, m) {\n n = n | 0;\n m = m | 0;\n var nlo = n & 0xffff;\n var nhi = n >>> 16;\n var res = nlo * m + ((nhi * m & 0xffff) << 16) | 0;\n return res;\n }\n});\nvar hashStr = unwrapExports(hash);\n\nvar replaceWhitespace = function replaceWhitespace(str) {\n return str.replace(/\\s|\\\\n/g, '');\n};\n\nvar makeAnimation = function makeAnimation(name, css) {\n return \"\\n@keyframes \".concat(name, \" {\\n \").concat(css, \"\\n}\\n\");\n};\n\nvar keyframes = (function (css) {\n var name = generateAlphabeticName(hashStr(replaceWhitespace(JSON.stringify(css))));\n var animation = makeAnimation(name, css);\n if (!styleSheet.injected) styleSheet.inject();\n styleSheet.insert(animation);\n return name;\n});\n\nvar stylis = createCommonjsModule(function (module, exports) {\n /*\n * __ ___\n * _____/ /___ __/ (_)____\n * / ___/ __/ / / / / / ___/\n * (__ ) /_/ /_/ / / (__ )\n * /____/\\__/\\__, /_/_/____/\n * /____/\n *\n * stylis is a feature-rich css preprocessor\n *\n * @licence MIT\n */\n (function (factory) {\n {\n module.exports = factory(commonjsGlobal);\n }\n })(function (window) {\n\n var plugins = []; // regular expressions\n\n var andPattern = /&/g;\n var andSpacePattern = / +&/;\n var splitPattern = /,\\n/g;\n var globalPattern = /:global\\(%?((?:[^\\(\\)\\[\\]]*|\\[.*\\]|\\([^\\(\\)]*\\))*)\\)/g;\n var globalsPattern = /(?:&| ):global\\(%?((?:[^\\(\\)\\[\\]]*|\\[.*\\]|\\([^\\(\\)]*\\))*)\\)/g;\n var hostPattern = /:host\\((.*)\\)/g;\n var hostContextPattern = /:host-context\\((.*)\\)/g;\n var newLinePattern = /\\n/g;\n var placeholderPattern = /::place/g;\n var colonPattern = /: +/g;\n var animationPattern = /[ .#~+><\\d]+/g;\n var transformPattern = / *(transform)/g; // prefixes\n\n var moz = '-moz-';\n var ms = '-ms-';\n var webkit = '-webkit-';\n /**\n * css preprocessor\n *\n * @param {String} selector - i.e `.class` or `#id` or `[attr=id]`\n * @param {String} styles - css string\n * @param {Boolean=} animations - prefix animations and keyframes, true by default\n * @param {Boolean=} compact - enable additional shadow dom features(:host, :host-context)\n * @param {Function|Array} middlewares\n * @return {string}\n */\n\n function stylis(selector, styles, animations, compact, middlewares) {\n selector += '';\n var middleware = middlewares;\n var prefix = '';\n var namespace = '';\n var char;\n var attr;\n var animns;\n var type = selector.charCodeAt(0); // ` selector` -> `selector`\n\n if (type < 33) {\n type = (selector = selector.trim()).charCodeAt(0);\n }\n\n switch (type) {\n // `#` `.` id and class selectors\n case 35:\n case 46:\n {\n namespace = (prefix = selector).substring(1);\n break;\n }\n // [ attr selector\n\n case 91:\n {\n // `[data-id=namespace]` -> ['data-id', 'namespace']\n attr = selector.substring(1, selector.length - 1).split('=');\n char = (namespace = attr[1] || attr[0]).charCodeAt(0); // [data-id=\"namespace\"]/[data-id='namespace']\n // --> \"namespace\"/'namspace' --> namespace\n\n if (char === 34 || char === 39) {\n namespace = namespace.substring(1, namespace.length - 1);\n }\n\n prefix = '[' + attr[0] + (attr.length > 1 ? '=\"' + namespace + '\"]' : ']');\n break;\n }\n // element selector\n\n default:\n {\n namespace = prefix = selector;\n }\n } // reset type signature\n\n\n type = 0; // animation and keyframe namespace\n\n if (animations === true || animations === undefined || animations === null) {\n animations = true;\n animns = namespace.replace(animationPattern, '-');\n } else {\n animns = '';\n animations = false;\n } // middleware\n\n\n var has;\n var uses = middleware !== void 0 && middleware !== null;\n var length = plugins.length;\n\n if (uses === true) {\n has = (typeof middleware).charCodeAt(0); // o, array\n\n if (has === 111) {\n use(middleware);\n } // f, function\n else if (has === 102) {\n plugins[length++] = middleware;\n } else {\n uses = false;\n }\n }\n\n if (length !== 0) {\n middleware = length === 1 ? plugins[0] : proxy;\n uses = true;\n } // declare\n\n\n var character;\n var colon;\n var inner;\n var selectors;\n var build;\n var temp;\n var prev;\n var indexOf;\n var first;\n var second;\n var third;\n var sel;\n var blob;\n var nest;\n var str;\n var media; // buffers\n\n var buff = '';\n var blck = '';\n var flat = ''; // character code\n\n var code = 0;\n var nextcode; // context signatures\n\n var medias = 0;\n var special = 0;\n var close = 0;\n var closed = 0;\n var nested = 0;\n var func = 0;\n var strings = 0;\n var globs = 0;\n var isplace = 0;\n var join = 0; // context(flat) signatures\n\n var levels = 0; // comments\n\n var comment = 0;\n var comblck = 0;\n var comline = 0; // pre-process\n\n if (uses === true) {\n temp = middleware(0, styles, line, column, prefix, 0);\n\n if (temp != null) {\n styles = temp;\n }\n\n str = '';\n } // positions\n\n\n var caret = 0;\n var depth = 0;\n var column = 0;\n var line = 1;\n var eof = styles.length; // compiled output\n\n var output = ''; // parse + compile\n\n while (caret < eof) {\n code = styles.charCodeAt(caret); // {, }, ; characters, parse line by line\n\n if (medias === 1 && caret === eof - 1 || strings === 0 && func === 0 && comment === 0 && ( // {, }, ;\n code === 123 || code === 125 || code === 59 || // eof buffer\n caret === eof - 1 && buff.length !== 0)) {\n buff += styles.charAt(caret); // middleware, selector/property context, }\n\n if (uses === true && code !== 125) {\n // { pre-processed selector context\n if (code === 123) {\n temp = middleware(1, buff.substring(0, buff.length - 1).trim(), line, column, prefix, output.length);\n } // ; property context\n else {\n temp = middleware(2, buff, line, column, prefix, output.length);\n }\n\n if (temp != null) {\n buff = code === 123 ? temp + ' {' : temp;\n }\n }\n\n first = buff.charCodeAt(0); // only trim when the first character is a space ` `\n\n if (first === 32) {\n first = (buff = buff.trim()).charCodeAt(0);\n }\n\n second = buff.charCodeAt(1);\n third = buff.charCodeAt(2); // @, special block\n\n if (first === 64) {\n // push flat css\n if (levels === 1 && flat.length !== 0) {\n levels = 0;\n flat = prefix + ' {' + flat + '}'; // middleware, flat context\n\n if (uses === true) {\n temp = middleware(4, flat, line, column, prefix, output.length);\n\n if (temp != null) {\n flat = temp;\n }\n }\n\n output += flat;\n flat = '';\n } // ;\n\n\n if (code !== 59) {\n // @keyframe, `k`\n if (second === 107) {\n blob = buff.substring(1, 11) + animns + buff.substring(11);\n buff = '@' + webkit + blob;\n type = 1;\n } // @media `m`, `e` characters,\n // @supports `s` `u` characters,\n // @global `g` character\n else if (second === 109 && third === 101 || second === 115 && third === 117 || second === 103) {\n caret++;\n column++;\n\n if (media === undefined) {\n media = '';\n }\n\n inner = ''; // keep track of opening `{` and `}` occurrences\n\n closed = 1; // travel to the end of the block\n\n while (caret < eof) {\n char = styles.charCodeAt(caret); // {, }, nested blocks may have nested blocks\n\n if (char === 123) {\n closed++;\n } else if (char === 125) {\n closed--;\n } // break when the nested block has ended\n\n\n if (closed === 0) {\n caret++;\n break;\n } // build content of nested block\n\n\n inner += styles.charAt(caret++); // move column and line position\n\n column = char === 13 || char === 10 ? (line++, 0) : column + 1;\n }\n\n selector = depth === 0 ? prefix : prev.substring(0, prev.length - 1).replace(newLinePattern, '').trim(); // build block\n\n media += buff + stylis(selector, inner.trim(), animations, compact, null).trim() + '}'; // middleware, block context\n\n if (uses === true) {\n temp = middleware(3, media, line, column, prefix, output.length);\n\n if (temp != null) {\n media = temp;\n }\n }\n\n buff = '';\n medias = 1;\n\n if (caret === eof) {\n eof++;\n }\n\n continue;\n } // unknown\n else {\n type = 6;\n }\n } // flag special, i.e @keyframes, @font-face ...\n\n\n if (code !== 59 && second !== 105) {\n // k, m\n if (second !== 107 && second !== 109 && second !== 115 && second !== 103) {\n type = 5;\n }\n\n close = -1;\n special++;\n }\n } // property/selector\n else {\n // { character, selector declaration\n if (code === 123) {\n depth++; // push flat css\n\n if (levels === 1 && flat.length !== 0) {\n levels = 0;\n flat = prefix + ' {' + flat + '}'; // middleware, flat context\n\n if (uses === true) {\n temp = middleware(4, flat, line, column, prefix, output.length);\n\n if (temp != null) {\n flat = temp;\n }\n }\n\n output += flat;\n flat = '';\n } // nested selector\n\n\n if (depth === 2) {\n // discard first character {\n caret++;\n column++; // inner content of block\n\n inner = '';\n var nestSelector = buff.substring(0, buff.length - 1).split(splitPattern);\n var prevSelector = prev.substring(0, prev.length - 1).split(splitPattern); // keep track of opening `{` and `}` occurrences\n\n closed = 1; // travel to the end of the block\n\n while (caret < eof) {\n char = styles.charCodeAt(caret); // {, nested blocks may have nested blocks\n\n if (char === 123) {\n closed++;\n } // },\n else if (char === 125) {\n closed--;\n } // break when the nested block has ended\n\n\n if (closed === 0) {\n break;\n } // build content of nested block\n\n\n inner += styles.charAt(caret++); // move column and line position\n\n column = char === 13 || char === 10 ? (line++, 0) : column + 1;\n } // handle multiple selectors: h1, h2 { div, h4 {} } should generate\n // -> h1 div, h2 div, h2 h4, h2 div {}\n\n\n length = prevSelector.length;\n\n for (var j = 0; j < length; j++) {\n // extract value, prep index for reuse\n temp = prevSelector[j];\n indexOf = temp.indexOf(prefix);\n prevSelector[j] = ''; // since there could also be multiple nested selectors\n\n for (var k = 0, l = nestSelector.length; k < l; k++) {\n if (indexOf > 0) {\n selector = ':global(%)' + temp.trim();\n } else {\n selector = temp.replace(prefix, '&').trim();\n }\n\n sel = nestSelector[k].trim();\n\n if (sel.indexOf(' &') > 0) {\n selector = sel.replace('&', '').trim() + ' ' + selector;\n } else if (globalPattern.exec(sel) !== null) {\n selector = sel;\n } else {\n selector = selector + ' ' + sel;\n }\n\n prevSelector[j] += selector.replace(andSpacePattern, '').trim() + (k === l - 1 ? '' : ',');\n }\n }\n\n if (nest === undefined) {\n nest = '';\n } // concat nest\n\n\n nest += '\\n' + prevSelector.join(',').replace(globalsPattern, ' $1') + ' {' + inner + '}'; // signature\n\n nested = 1; // clear current line, to avoid adding nested blocks to the normal flow\n\n buff = ''; // decreament depth\n\n depth--;\n } // top-level selector\n else if (special === 0 || type === 2) {\n // register block with placeholder selector\n if (isplace === 0 && buff.indexOf('::place') !== -1) {\n isplace = 1;\n }\n\n selectors = buff.split(splitPattern); // current selector\n\n build = ''; // previous selector\n\n prev = '';\n length = selectors.length; // prefix multiple selectors with namesapces\n // @example h1, h2, h3 --> [namespace] h1, [namespace] h1, ....\n\n for (var j = 0; j < length; j++) {\n char = (selector = selectors[j]).charCodeAt(0); // ` `, trim if first character is a space\n\n if (char === 32) {\n char = (selector = selector.trim()).charCodeAt(0);\n } // &\n\n\n if (char === 38) {\n // before: & { / &&... {\n selector = prefix + selector.substring(1).replace(andPattern, prefix); // after: ${prefix} { / ${prefix}${prefix}...\n } else {\n // default to :global if & exists outside of the first non-space character\n if ((indexOf = selector.indexOf(' &')) > 0) {\n // before: html & {\n selector = selector.replace(andPattern, prefix).trim(); // after: html ${prefix} {\n } // :\n else if (char === 58) {\n nextcode = selector.charCodeAt(1); // h, t, :host\n\n if (compact === true && nextcode === 104 && selector.charCodeAt(4) === 116) {\n nextcode = selector.charCodeAt(5); // (, :host(selector)\n\n if (nextcode === 40) {\n // before: `(selector)`\n selector = prefix + selector.replace(hostPattern, '$1').replace(andPattern, prefix); // after: ${prefx} selector {\n } // -, :host-context(selector)\n else if (nextcode === 45) {\n // before: `-context(selector)`\n selector = selector.replace(hostContextPattern, '$1 ' + prefix).replace(andPattern, prefix); // after: selector ${prefix} {\n } // :host\n else {\n selector = prefix + selector.substring(5);\n }\n } // g, :global(selector)\n else if (nextcode === 103 && (compact === true || (nextcode = selector.charCodeAt(8)) === 37)) {\n globs = 1; // before: `:global(selector)`\n\n selector = selector.replace(globalPattern, '$1').replace(andPattern, prefix).trim(); // after: selector\n } // :hover, :active, :focus, etc...\n else {\n selector = prefix + selector;\n }\n } // non-pseudo selectors\n else if (globs === 0) {\n selector = prefix + ' ' + selector;\n }\n } // middleware, post-processed selector context\n\n\n if (uses === true) {\n temp = middleware(1.5, j === length - 1 ? selector.substring(0, selector.length - 1).trim() : selector, line, column, prefix, output.length);\n\n if (temp != null) {\n selector = j === length - 1 ? temp + ' {' : temp;\n }\n } // if first selector do not prefix with `,`\n\n\n prev += (j !== 0 ? ',\\n' : '') + (globs !== 1 ? selector : ':global(%)' + selector);\n build += j !== 0 ? ',' + selector : selector; // reset :global flag\n\n globs = 0;\n }\n\n buff = build;\n } else {\n prev = buff;\n }\n } // not single `}`\n else if ((code === 125 && buff.length === 1) === false) {\n if (join === 1) {\n buff = buff.replace(newLinePattern, '');\n } // ;\n\n\n if (code !== 59) {\n buff = (code === 125 ? buff.substring(0, buff.length - 1) : buff.trim()) + ';';\n } // animation: a, n, i characters\n\n\n if (first === 97 && second === 110 && third === 105) {\n // removes ;\n buff = buff.substring(0, buff.length - 1); // position of :\n\n colon = buff.indexOf(':') + 1; // left hand side everything before `:`\n\n build = buff.substring(0, colon); // short hand animation syntax\n\n if (animations === true && buff.charCodeAt(9) !== 45) {\n var anims = buff.substring(colon).trim().split(',');\n length = anims.length; // because we can have multiple animations `animation: slide 4s, slideOut 2s`\n\n for (var j = 0; j < length; j++) {\n var anim = anims[j];\n var props = anim.split(' '); // since we can't be sure of the position of the name of the animation we have to find it\n\n for (var k = 0, l = props.length; k < l; k++) {\n var prop = props[k].trim();\n var frst = prop.charCodeAt(0);\n var thrd = prop.charCodeAt(2);\n var len = prop.length;\n var last = prop.charCodeAt(len - 1); // animation name parser\n\n if ( // first character\n ( // letters\n frst > 64 && frst < 90 || frst > 96 && frst < 122 || // the exception `underscores or dashes`\n frst === 45 || // but two dashes at the beginning are forbidden\n frst === 95 && prop.charCodeAt(1) !== 95) && // cubic-bezier()/steps(), )\n last !== 41 && len !== 0 && !(frst === 105 && ( // infinite, i, f, e\n thrd === 102 && last === 101 && len === 8 || // initial\n thrd === 105 && last === 108 && len === 7 || // inherit\n thrd === 104 && last === 116 && len === 7)) && // unset\n !(frst === 117 && thrd === 115 && last === 116 && len === 5) && // linear, l, n, r\n !(frst === 108 && thrd === 110 && last === 114 && len === 6) && // alternate/alternate-reverse, a, t, e\n !(frst === 97 && thrd === 116 && last === 101 && (len === 9 || len === 17)) && // normal, n, r, l\n !(frst === 110 && thrd === 114 && last === 108 && len === 6) && // backwards, b, c, s\n !(frst === 98 && thrd === 99 && last === 115 && len === 9) && // forwards, f, r, s\n !(frst === 102 && thrd === 114 && last === 115 && len === 8) && // both, b, t, h\n !(frst === 98 && thrd === 116 && last === 104 && len === 4) && // none, n, n, e\n !(frst === 110 && thrd === 110 && last === 101 && len === 4) && // running, r, n, g\n !(frst === 114 && thrd === 110 && last === 103 && len === 7) && // paused, p, u, d\n !(frst === 112 && thrd === 117 && last === 100 && len === 6) && // reversed, r, v, d\n !(frst === 114 && thrd === 118 && last === 100 && len === 8) && // step-start/step-end, s, e, (t/d)\n !(frst === 115 && thrd === 101 && (last === 116 && len === 10 || last === 100 && len === 8)) && // ease/ease-in/ease-out/ease-in-out, e, s, e\n !(frst === 101 && thrd === 115 && (last === 101 && len === 4 || (len === 11 || len === 7 || len === 8) && prop.charCodeAt(4) === 45)) && // durations, 0.4ms, .4s, 400ms ...\n isNaN(parseFloat(prop)) && // handle spaces in cubic-bezier()/steps() functions\n prop.indexOf('(') === -1) {\n props[k] = animns + prop;\n }\n }\n\n build += (j === 0 ? '' : ',') + props.join(' ').trim();\n }\n } // explicit syntax, anims array should have only one element\n else {\n build += (buff.charCodeAt(10) !== 110 ? '' : animns) + buff.substring(colon).trim().trim();\n } // vendor prefix\n\n\n buff = webkit + build + ';' + build + (code === 125 ? ';}' : ';');\n } // appearance: a, p, p\n else if (first === 97 && second === 112 && third === 112) {\n // vendor prefix -webkit- and -moz-\n buff = webkit + buff + moz + buff + buff;\n } // display: d, i, s\n else if (first === 100 && second === 105 && third === 115) {\n // flex/inline-flex\n if ((indexOf = buff.indexOf('flex')) !== -1) {\n // e, inline-flex\n temp = buff.charCodeAt(indexOf - 2) === 101 ? 'inline-' : '';\n buff = buff.indexOf(' !important') !== -1 ? ' !important' : ''; // vendor prefix\n\n buff = 'display: ' + webkit + temp + 'box' + buff + ';' + 'display: ' + webkit + temp + 'flex' + buff + ';' + 'display: ' + ms + 'flexbox' + buff + ';' + 'display: ' + temp + 'flex' + buff + ';';\n }\n } // transforms & transitions: t, r, a\n // text-size-adjust: t, e, x\n else if (first === 116 && (second === 114 && third === 97 || second === 101 && third === 120)) {\n // vendor prefix -webkit- and -ms- if transform\n buff = webkit + buff + (buff.charCodeAt(5) === 102 ? ms + buff : '') + buff;\n\n if (second + third === 211 && buff.charCodeAt(12) === 115 && buff.indexOf(' transform') > -1) {\n buff = buff.substring(0, buff.indexOf(';') + 1).replace(transformPattern, ' ' + webkit + '$1') + buff;\n }\n } // hyphens: h, y, p\n // user-select: u, s, e\n else if (first === 104 && second === 121 && third === 112 || first === 117 && second === 115 && third === 101) {\n // vendor prefix all\n buff = webkit + buff + moz + buff + ms + buff + buff;\n } // flex: f, l, e\n else if (first === 102 && second === 108 && third === 101) {\n // vendor prefix all but moz\n buff = webkit + buff + ms + buff + buff;\n } // order: o, r, d\n else if (first === 111 && second === 114 && third === 100) {\n // vendor prefix all but moz\n buff = webkit + buff + ms + 'flex-' + buff + buff;\n } // align-items, align-center, align-self: a, l, i, -\n else if (first === 97 && second === 108 && third === 105 && buff.charCodeAt(5) === 45) {\n switch (buff.charCodeAt(6)) {\n // align-items, i\n case 105:\n {\n temp = buff.replace('-items', '');\n buff = webkit + buff + webkit + 'box-' + temp + ms + 'flex-' + temp + buff;\n break;\n }\n // align-self, s\n\n case 115:\n {\n buff = ms + 'flex-item-' + buff.replace('-self', '') + buff;\n break;\n }\n // align-content\n\n default:\n {\n buff = ms + 'flex-line-pack' + buff.replace('align-content', '') + buff;\n break;\n }\n }\n } // justify-content, j, u, s\n else if (first === 106 && second === 117 && third === 115) {\n colon = buff.indexOf(':');\n temp = buff.substring(colon).replace('flex-', '');\n buff = webkit + 'box-pack' + temp + webkit + buff + ms + 'flex-pack' + temp + buff;\n } // cursor, c, u, r\n else if (first === 99 && second === 117 && third === 114 && /zoo|gra/.exec(buff) !== null) {\n buff = buff.replace(colonPattern, ': ' + webkit) + buff.replace(colonPattern, ': ' + moz) + buff;\n } // width: min-content / width: max-content\n else if (first === 119 && second === 105 && third === 100 && (indexOf = buff.indexOf('-content')) !== -1) {\n temp = buff.substring(indexOf - 3); // vendor prefix\n\n buff = 'width: ' + webkit + temp + 'width: ' + moz + temp + 'width: ' + temp;\n }\n\n if (code !== 59) {\n buff = buff.substring(0, buff.length - 1); // }\n\n if (code === 125) {\n buff += '}';\n }\n }\n } // } character\n\n\n if (code === 125) {\n if (depth !== 0) {\n depth--;\n } // concat nested css\n\n\n if (depth === 0 && nested === 1) {\n styles = styles.substring(0, caret + 1) + nest + styles.substring(caret + 1);\n eof += nest.length;\n nest = '';\n nested = 0;\n close++;\n } // }, ` ` whitespace\n\n\n if (first !== 125 && buff.charCodeAt(buff.length - 2) === 32) {\n buff = buff.substring(0, buff.length - 1).trim() + '}';\n }\n } // @keyframes\n\n\n if (special !== 0) {\n // }, find closing tag\n if (code === 125) {\n close++;\n } // {\n else if (code === 123 && close !== 0) {\n close--;\n } // closing tag\n\n\n if (close === 0) {\n // @keyframes\n if (type === 1) {\n // vendor prefix\n buff = '}@' + blob + '}'; // reset\n\n blob = '';\n } // reset signatures\n\n\n type = 0;\n close--;\n special--;\n } // @keyframes\n else if (type === 1) {\n blob += buff;\n }\n } // flat context\n else if (depth === 0 && code !== 125) {\n levels = 1;\n flat = flat === undefined ? buff : flat + buff;\n buff = '';\n }\n } // append line to blck buffer\n\n\n blck += buff; // add blck buffer to output\n\n if (code === 125 && type === 0) {\n char = blck.charCodeAt(blck.length - 2); // {, @\n\n if (char !== 123) {\n // middleware, block context\n if (uses === true) {\n temp = middleware(3, blck, line, column, prefix, output.length);\n\n if (temp != null) {\n blck = temp;\n }\n }\n\n if (isplace === 1) {\n isplace = 0;\n blck = blck.replace(placeholderPattern, '::' + webkit + 'input-place') + blck.replace(placeholderPattern, '::' + moz + 'place') + blck.replace(placeholderPattern, ':' + ms + 'input-place') + blck;\n } // append blck buffer\n\n\n output += blck;\n } // reset blck buffer\n\n\n blck = '';\n }\n\n if (medias === 1) {\n // middleware, block context\n if (uses === true) {\n temp = middleware(3, blck, line, column, prefix, output.length);\n\n if (temp != null) {\n media = temp;\n }\n }\n\n output += media;\n medias = 0;\n media = '';\n }\n\n join = 0; // reset line buffer\n\n buff = '';\n } // build line by line\n else {\n // \\r, \\n, new lines\n if (code === 13 || code === 10) {\n if (comline === 1) {\n comment = comline = 0;\n buff = buff.substring(0, buff.indexOf('//')).trim();\n } // /\n else if (uses === true && comment === 0 && (length = (str = str.trim()).length) !== 0 && str.charCodeAt(0) !== 47) {\n if (buff.length !== 0) {\n temp = middleware(7, str, line, column, prefix, output.length);\n\n if (temp != null) {\n buff = buff.replace(new RegExp(str + '$'), temp).trim();\n }\n }\n\n str = '';\n }\n\n column = 0;\n line++;\n } else {\n // not `\\t` tab character\n if (code !== 9) {\n character = styles.charAt(caret); // build line buffer\n\n if (uses === true && comment === 0) {\n str += character;\n } // build character buffer\n\n\n buff += character;\n\n switch (code) {\n // ,\n case 44:\n {\n if (strings === 0 && comment === 0 && func === 0) {\n join = 1;\n buff += '\\n';\n }\n\n break;\n }\n // \" character\n\n case 34:\n {\n if (comment === 0) {\n // exit string \" context / enter string context\n strings = strings === 34 ? 0 : strings === 39 ? 39 : 34;\n }\n\n break;\n }\n // ' character\n\n case 39:\n {\n if (comment === 0) {\n // exit string ' context / enter string context\n strings = strings === 39 ? 0 : strings === 34 ? 34 : 39;\n }\n\n break;\n }\n // ( character\n\n case 40:\n {\n if (strings === 0 && comment === 0) {\n func = 1;\n }\n\n break;\n }\n // ) character\n\n case 41:\n {\n if (strings === 0 && comment === 0) {\n func = 0;\n }\n\n break;\n }\n // / character\n\n case 47:\n {\n if (strings === 0 && func === 0) {\n char = styles.charCodeAt(caret - 1); // /, begin line comment\n\n if (comblck === 0 && char === 47) {\n comment = comline = 1;\n } // *, end block comment\n else if (char === 42) {\n comment = comblck = 0;\n buff = buff.substring(0, buff.indexOf('/*')).trim();\n }\n }\n\n break;\n }\n // * character\n\n case 42:\n {\n if (strings === 0 && func === 0 && comline === 0 && comblck === 0) {\n // /, begin block comment\n if (styles.charCodeAt(caret - 1) === 47) {\n comment = comblck = 1;\n }\n }\n\n break;\n }\n }\n } // move column position\n\n\n column++;\n }\n } // move caret position\n\n\n caret++;\n } // trailing flat css\n\n\n if (flat !== undefined && flat.length !== 0) {\n flat = prefix + ' {' + flat + '}'; // middleware, flat context\n\n if (uses === true) {\n temp = middleware(4, flat, line, column, prefix, output.length);\n\n if (temp != null) {\n flat = temp;\n }\n } // append flat css\n\n\n output += flat;\n } // middleware, output context\n\n\n if (uses === true) {\n temp = middleware(6, output, line, column, prefix, output.length);\n\n if (temp != null) {\n output = temp;\n }\n }\n\n return output;\n }\n /**\n * use plugin\n *\n * @param {string|function|function[]} key\n * @param {function?} plugin\n * @return {Object} {plugins}\n */\n\n\n function use(plugin) {\n var length = plugins.length;\n\n if (plugin != null) {\n // array of plugins\n if (plugin.constructor === Array) {\n for (var i = 0, l = plugin.length; i < l; i++) {\n plugins[length++] = plugin[i];\n }\n } // single un-keyed plugin\n else {\n plugins[length] = plugin;\n }\n }\n\n return stylis;\n }\n /**\n * Middleware Proxy\n *\n * @param {Number} ctx\n * @param {String} str\n * @param {Number} line\n * @param {Number} col\n * @param {String} prefix\n * @param {Number} length\n * @return {String?}\n */\n\n function proxy(ctx, str, line, col, prefix, length) {\n var output = str;\n\n for (var i = 0, l = plugins.length; i < l; i++) {\n output = plugins[i](ctx, output, line, col, prefix, length) || output;\n }\n\n if (output !== str) {\n return output;\n }\n }\n\n stylis.use = use;\n /**\n * plugin store\n *\n * @type {Function[]}\n */\n\n stylis.p = plugins;\n /**\n * regular expresions\n *\n * @type {Object<string, RegExp>}\n */\n\n stylis.r = {\n a: andPattern,\n s: splitPattern,\n g: globalPattern,\n n: globalsPattern\n };\n return stylis;\n });\n});\n\nvar ComponentStyle = function () {\n function ComponentStyle(rules, selector) {\n _classCallCheck(this, ComponentStyle);\n\n this.rules = rules;\n this.selector = selector;\n }\n\n _createClass(ComponentStyle, [{\n key: \"generateAndInject\",\n value: function generateAndInject() {\n if (!styleSheet.injected) styleSheet.inject();\n var flatCSS = flatten(this.rules).join('');\n var cssString = this.selector ? \"\".concat(this.selector, \" { \").concat(flatCSS, \" }\") : flatCSS;\n var css = stylis('', cssString, false, false);\n styleSheet.insert(css, {\n global: true\n });\n }\n }]);\n\n return ComponentStyle;\n}();\n\nvar injectGlobal = function injectGlobal(strings) {\n for (var _len = arguments.length, interpolations = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n interpolations[_key - 1] = arguments[_key];\n }\n\n var globalStyle = new ComponentStyle(css.apply(void 0, [strings].concat(interpolations)));\n globalStyle.generateAndInject();\n};\n\nvar ThemeProvider = {\n name: 'ThemeProvider',\n props: {\n theme: Object\n },\n provide: function provide() {\n var _this = this;\n\n return {\n $theme: function $theme() {\n return _this.theme;\n }\n };\n },\n render: function render(createElement) {\n return createElement('div', {}, this.$slots[\"default\"]);\n }\n};\n\nvar _styledComponent = (function (ComponentStyle) {\n var createStyledComponent = function createStyledComponent(target, rules, props) {\n var prevProps = target && typeof target !== 'string' ? _typeof(target) === 'object' ? target.props : typeof target === 'function' ? target.options.props : {} : {};\n var mergedProps = Object.assign({}, prevProps, props);\n var componentStyle = new ComponentStyle(rules);\n var StyledComponent = {\n inject: {\n $theme: {\n \"default\": function _default() {\n return function () {\n return {};\n };\n }\n }\n },\n props: mergedProps,\n render: function render(createElement) {\n var children = [];\n\n for (var slot in this.$slots) {\n if (slot === 'default') {\n children.push(this.$slots[slot]);\n } else {\n children.push(createElement('template', {\n slot: slot\n }, this.$slots[slot]));\n }\n }\n\n return createElement(target, {\n \"class\": [this.generatedClassName],\n props: this.$props,\n domProps: {\n value: this.value\n },\n on: this.$listeners,\n scopedSlots: this.$scopedSlots\n }, children);\n },\n methods: {\n generateAndInjectStyles: function generateAndInjectStyles(componentProps) {\n return componentStyle.generateAndInjectStyles(componentProps);\n }\n },\n computed: {\n generatedClassName: function generatedClassName() {\n var componentProps = Object.assign({\n theme: this.theme\n }, this.$props);\n return this.generateAndInjectStyles(componentProps);\n },\n theme: function theme() {\n return this.$theme();\n }\n },\n extend: function extend(extendedRules) {\n return createStyledComponent(target, rules.slice().concat(extendedRules), props);\n },\n withComponent: function withComponent(newTarget) {\n return createStyledComponent(newTarget, rules, props);\n }\n };\n return StyledComponent;\n };\n\n return createStyledComponent;\n});\n\nvar _componentStyle = (function (nameGenerator) {\n var inserted = {};\n\n var ComponentStyle = function () {\n function ComponentStyle(rules) {\n _classCallCheck(this, ComponentStyle);\n\n this.rules = rules;\n if (!styleSheet.injected) styleSheet.inject();\n this.insertedRule = styleSheet.insert('');\n }\n\n _createClass(ComponentStyle, [{\n key: \"generateAndInjectStyles\",\n value: function generateAndInjectStyles(executionContext) {\n var flatCSS = flatten(this.rules, executionContext).join('').replace(/^\\s*\\/\\/.*$/gm, '');\n var hash = hashStr(flatCSS);\n\n if (!inserted[hash]) {\n var selector = nameGenerator(hash);\n inserted[hash] = selector;\n var css = stylis(\".\".concat(selector), flatCSS, false, false);\n this.insertedRule.appendRule(css);\n }\n\n return inserted[hash];\n }\n }]);\n\n return ComponentStyle;\n }();\n\n return ComponentStyle;\n});\n\nvar domElements = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', 'circle', 'clipPath', 'defs', 'ellipse', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nfunction isValidElementType(tag) {\n if (typeof tag === 'undefined' || typeof tag === 'number') {\n return false;\n }\n\n if (typeof tag === 'string') {\n return domElements.includes(tag);\n }\n\n if (_typeof(tag) === 'object') {\n return !!tag.template || !!tag.withComponent;\n }\n\n return true;\n}\n\nvar _styled = (function (createStyledComponent) {\n var styled = function styled(tagName) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!isValidElementType(tagName)) {\n throw new Error(tagName + ' is not allowed for styled tag type.');\n }\n\n return function (cssRules) {\n for (var _len = arguments.length, interpolations = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n interpolations[_key - 1] = arguments[_key];\n }\n\n return createStyledComponent(tagName, css.apply(void 0, [cssRules].concat(interpolations)), props);\n };\n };\n\n domElements.forEach(function (domElement) {\n styled[domElement] = styled(domElement);\n });\n return styled;\n});\n\nvar styled = _styled(_styledComponent(_componentStyle(generateAlphabeticName)));\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (styled);\n\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(28)))\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZWQtY29tcG9uZW50c0AxLjQuOUB2dWUtc3R5bGVkLWNvbXBvbmVudHMvZGlzdC92dWUtc3R5bGVkLWNvbXBvbmVudHMuZXMuanM/OGZjYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxpQkFBaUIsa0JBQWtCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpREFBaUQsZ0JBQWdCOztBQUVqRTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsUUFBUTtBQUNyQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCLFdBQVcsU0FBUztBQUNwQixhQUFhLFNBQVM7QUFDdEI7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGlCQUFpQjtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx5RUFBeUU7QUFDekUsR0FBRztBQUNILHlDQUF5Qyx1QkFBdUI7QUFDaEU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0Esa0dBQWtHLGFBQWE7QUFDL0c7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUJBQWlCLGlDQUFpQztBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EscUZBQXFGO0FBQ3JGO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FB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QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHNHQUFzRyxhQUFhO0FBQ25IO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxDQUFDOztBQUVEOztBQUVlLHFFQUFNLEVBQUM7QUFDaUMiLCJmaWxlIjoiNC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBjaGFycyA9ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJy5zcGxpdCgnJyk7XG5cbnZhciBnZW5lcmF0ZUFscGhhYmV0aWNOYW1lID0gZnVuY3Rpb24gZ2VuZXJhdGVBbHBoYWJldGljTmFtZShjb2RlKSB7XG4gIHZhciBsYXN0RGlnaXQgPSBjaGFyc1tjb2RlICUgY2hhcnMubGVuZ3RoXTtcbiAgcmV0dXJuIGNvZGUgPiBjaGFycy5sZW5ndGggPyBcIlwiLmNvbmNhdChnZW5lcmF0ZUFscGhhYmV0aWNOYW1lKE1hdGguZmxvb3IoY29kZSAvIGNoYXJzLmxlbmd0aCkpKS5jb25jYXQobGFzdERpZ2l0KSA6IGxhc3REaWdpdDtcbn07XG5cbnZhciBpbnRlcmxlYXZlID0gKGZ1bmN0aW9uIChzdHJpbmdzLCBpbnRlcnBvbGF0aW9ucykge1xuICByZXR1cm4gaW50ZXJwb2xhdGlvbnMucmVkdWNlKGZ1bmN0aW9uIChhcnJheSwgaW50ZXJwLCBpKSB7XG4gICAgcmV0dXJuIGFycmF5LmNvbmNhdChpbnRlcnAsIHN0cmluZ3NbaSArIDFdKTtcbiAgfSwgW3N0cmluZ3NbMF1dKTtcbn0pO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikge1xuICBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHtcbiAgICBfdHlwZW9mID0gZnVuY3Rpb24gKG9iaikge1xuICAgICAgcmV0dXJuIHR5cGVvZiBvYmo7XG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICBfdHlwZW9mID0gZnVuY3Rpb24gKG9iaikge1xuICAgICAgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBfdHlwZW9mKG9iaik7XG59XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHtcbiAgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07XG4gICAgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlO1xuICAgIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTtcbiAgICBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7XG4gIGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpO1xuICBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7XG4gIHJldHVybiBDb25zdHJ1Y3Rvcjtcbn1cblxuZnVuY3Rpb24gX3RvQ29uc3VtYWJsZUFycmF5KGFycikge1xuICByZXR1cm4gX2FycmF5V2l0aG91dEhvbGVzKGFycikgfHwgX2l0ZXJhYmxlVG9BcnJheShhcnIpIHx8IF9ub25JdGVyYWJsZVNwcmVhZCgpO1xufVxuXG5mdW5jdGlvbiBfYXJyYXlXaXRob3V0SG9sZXMoYXJyKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGFycikpIHtcbiAgICBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShhcnIubGVuZ3RoKTsgaSA8IGFyci5sZW5ndGg7IGkrKykgYXJyMltpXSA9IGFycltpXTtcblxuICAgIHJldHVybiBhcnIyO1xuICB9XG59XG5cbmZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXkoaXRlcikge1xuICBpZiAoU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChpdGVyKSB8fCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoaXRlcikgPT09IFwiW29iamVjdCBBcmd1bWVudHNdXCIpIHJldHVybiBBcnJheS5mcm9tKGl0ZXIpO1xufVxuXG5mdW5jdGlvbiBfbm9uSXRlcmFibGVTcHJlYWQoKSB7XG4gIHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gc3ByZWFkIG5vbi1pdGVyYWJsZSBpbnN0YW5jZVwiKTtcbn1cblxuLyoqXG4gKiBsb2Rhc2ggKEN1c3RvbSBCdWlsZCkgPGh0dHBzOi8vbG9kYXNoLmNvbS8+XG4gKiBCdWlsZDogYGxvZGFzaCBtb2R1bGFyaXplIGV4cG9ydHM9XCJucG1cIiAtbyAuL2BcbiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzIDxodHRwczovL2pxdWVyeS5vcmcvPlxuICogUmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UgPGh0dHBzOi8vbG9kYXNoLmNvbS9saWNlbnNlPlxuICogQmFzZWQgb24gVW5kZXJzY29yZS5qcyAxLjguMyA8aHR0cDovL3VuZGVyc2NvcmVqcy5vcmcvTElDRU5TRT5cbiAqIENvcHlyaWdodCBKZXJlbXkgQXNoa2VuYXMsIERvY3VtZW50Q2xvdWQgYW5kIEludmVzdGlnYXRpdmUgUmVwb3J0ZXJzICYgRWRpdG9yc1xuICovXG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RUYWcgPSAnW29iamVjdCBPYmplY3RdJztcbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYSBob3N0IG9iamVjdCBpbiBJRSA8IDkuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBob3N0IG9iamVjdCwgZWxzZSBgZmFsc2VgLlxuICovXG5cbmZ1bmN0aW9uIGlzSG9zdE9iamVjdCh2YWx1ZSkge1xuICAvLyBNYW55IGhvc3Qgb2JqZWN0cyBhcmUgYE9iamVjdGAgb2JqZWN0cyB0aGF0IGNhbiBjb2VyY2UgdG8gc3RyaW5nc1xuICAvLyBkZXNwaXRlIGhhdmluZyBpbXByb3Blcmx5IGRlZmluZWQgYHRvU3RyaW5nYCBtZXRob2RzLlxuICB2YXIgcmVzdWx0ID0gZmFsc2U7XG5cbiAgaWYgKHZhbHVlICE9IG51bGwgJiYgdHlwZW9mIHZhbHVlLnRvU3RyaW5nICE9ICdmdW5jdGlvbicpIHtcbiAgICB0cnkge1xuICAgICAgcmVzdWx0ID0gISEodmFsdWUgKyAnJyk7XG4gICAgfSBjYXRjaCAoZSkge31cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG4vKipcbiAqIENyZWF0ZXMgYSB1bmFyeSBmdW5jdGlvbiB0aGF0IGludm9rZXMgYGZ1bmNgIHdpdGggaXRzIGFyZ3VtZW50IHRyYW5zZm9ybWVkLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byB3cmFwLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gdHJhbnNmb3JtIFRoZSBhcmd1bWVudCB0cmFuc2Zvcm0uXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAqL1xuXG5cbmZ1bmN0aW9uIG92ZXJBcmcoZnVuYywgdHJhbnNmb3JtKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoYXJnKSB7XG4gICAgcmV0dXJuIGZ1bmModHJhbnNmb3JtKGFyZykpO1xuICB9O1xufVxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xuXG5cbnZhciBmdW5jUHJvdG8gPSBGdW5jdGlvbi5wcm90b3R5cGUsXG4gICAgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuLyoqIFVzZWQgdG8gcmVzb2x2ZSB0aGUgZGVjb21waWxlZCBzb3VyY2Ugb2YgZnVuY3Rpb25zLiAqL1xuXG52YXIgZnVuY1RvU3RyaW5nID0gZnVuY1Byb3RvLnRvU3RyaW5nO1xuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG5cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IG9iamVjdFByb3RvLmhhc093blByb3BlcnR5O1xuLyoqIFVzZWQgdG8gaW5mZXIgdGhlIGBPYmplY3RgIGNvbnN0cnVjdG9yLiAqL1xuXG52YXIgb2JqZWN0Q3RvclN0cmluZyA9IGZ1bmNUb1N0cmluZy5jYWxsKE9iamVjdCk7XG4vKipcbiAqIFVzZWQgdG8gcmVzb2x2ZSB0aGVcbiAqIFtgdG9TdHJpbmdUYWdgXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1vYmplY3QucHJvdG90eXBlLnRvc3RyaW5nKVxuICogb2YgdmFsdWVzLlxuICovXG5cbnZhciBvYmplY3RUb1N0cmluZyA9IG9iamVjdFByb3RvLnRvU3RyaW5nO1xuLyoqIEJ1aWx0LWluIHZhbHVlIHJlZmVyZW5jZXMuICovXG5cbnZhciBnZXRQcm90b3R5cGUgPSBvdmVyQXJnKE9iamVjdC5nZXRQcm90b3R5cGVPZiwgT2JqZWN0KTtcbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgb2JqZWN0LWxpa2UuIEEgdmFsdWUgaXMgb2JqZWN0LWxpa2UgaWYgaXQncyBub3QgYG51bGxgXG4gKiBhbmQgaGFzIGEgYHR5cGVvZmAgcmVzdWx0IG9mIFwib2JqZWN0XCIuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgb2JqZWN0LWxpa2UsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc09iamVjdExpa2Uoe30pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3RMaWtlKFsxLCAyLCAzXSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdExpa2UoXy5ub29wKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc09iamVjdExpa2UobnVsbCk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG5cbmZ1bmN0aW9uIGlzT2JqZWN0TGlrZSh2YWx1ZSkge1xuICByZXR1cm4gISF2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT0gJ29iamVjdCc7XG59XG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgcGxhaW4gb2JqZWN0LCB0aGF0IGlzLCBhbiBvYmplY3QgY3JlYXRlZCBieSB0aGVcbiAqIGBPYmplY3RgIGNvbnN0cnVjdG9yIG9yIG9uZSB3aXRoIGEgYFtbUHJvdG90eXBlXV1gIG9mIGBudWxsYC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDAuOC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHBsYWluIG9iamVjdCwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBmdW5jdGlvbiBGb28oKSB7XG4gKiAgIHRoaXMuYSA9IDE7XG4gKiB9XG4gKlxuICogXy5pc1BsYWluT2JqZWN0KG5ldyBGb28pO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzUGxhaW5PYmplY3QoWzEsIDIsIDNdKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc1BsYWluT2JqZWN0KHsgJ3gnOiAwLCAneSc6IDAgfSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc1BsYWluT2JqZWN0KE9iamVjdC5jcmVhdGUobnVsbCkpO1xuICogLy8gPT4gdHJ1ZVxuICovXG5cblxuZnVuY3Rpb24gaXNQbGFpbk9iamVjdCh2YWx1ZSkge1xuICBpZiAoIWlzT2JqZWN0TGlrZSh2YWx1ZSkgfHwgb2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSkgIT0gb2JqZWN0VGFnIHx8IGlzSG9zdE9iamVjdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgcHJvdG8gPSBnZXRQcm90b3R5cGUodmFsdWUpO1xuXG4gIGlmIChwcm90byA9PT0gbnVsbCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdmFyIEN0b3IgPSBoYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3RvLCAnY29uc3RydWN0b3InKSAmJiBwcm90by5jb25zdHJ1Y3RvcjtcbiAgcmV0dXJuIHR5cGVvZiBDdG9yID09ICdmdW5jdGlvbicgJiYgQ3RvciBpbnN0YW5jZW9mIEN0b3IgJiYgZnVuY1RvU3RyaW5nLmNhbGwoQ3RvcikgPT0gb2JqZWN0Q3RvclN0cmluZztcbn1cblxudmFyIGxvZGFzaF9pc3BsYWlub2JqZWN0ID0gaXNQbGFpbk9iamVjdDtcblxudmFyIF91cHBlcmNhc2VQYXR0ZXJuID0gLyhbQS1aXSkvZztcbnZhciBtc1BhdHRlcm4gPSAvXm1zLS87XG5cbmZ1bmN0aW9uIGh5cGhlbmF0ZShzdHJpbmcpIHtcbiAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKF91cHBlcmNhc2VQYXR0ZXJuLCAnLSQxJykudG9Mb3dlckNhc2UoKTtcbn1cblxuZnVuY3Rpb24gaHlwaGVuYXRlU3R5bGVOYW1lKHN0cmluZykge1xuICByZXR1cm4gaHlwaGVuYXRlKHN0cmluZykucmVwbGFjZShtc1BhdHRlcm4sICctbXMtJyk7XG59XG5cbnZhciBoeXBoZW5hdGVTdHlsZU5hbWVfMSA9IGh5cGhlbmF0ZVN0eWxlTmFtZTtcblxudmFyIG9ialRvQ3NzID0gZnVuY3Rpb24gb2JqVG9Dc3Mob2JqLCBwcmV2S2V5KSB7XG4gIHZhciBjc3MgPSBPYmplY3Qua2V5cyhvYmopLm1hcChmdW5jdGlvbiAoa2V5KSB7XG4gICAgaWYgKGxvZGFzaF9pc3BsYWlub2JqZWN0KG9ialtrZXldKSkgcmV0dXJuIG9ialRvQ3NzKG9ialtrZXldLCBrZXkpO1xuICAgIHJldHVybiBcIlwiLmNvbmNhdChoeXBoZW5hdGVTdHlsZU5hbWVfMShrZXkpLCBcIjogXCIpLmNvbmNhdChvYmpba2V5XSwgXCI7XCIpO1xuICB9KS5qb2luKCcgJyk7XG4gIHJldHVybiBwcmV2S2V5ID8gXCJcIi5jb25jYXQocHJldktleSwgXCIge1xcbiAgXCIpLmNvbmNhdChjc3MsIFwiXFxufVwiKSA6IGNzcztcbn07XG5cbnZhciBmbGF0dGVuID0gZnVuY3Rpb24gZmxhdHRlbihjaHVua3MsIGV4ZWN1dGlvbkNvbnRleHQpIHtcbiAgcmV0dXJuIGNodW5rcy5yZWR1Y2UoZnVuY3Rpb24gKHJ1bGVTZXQsIGNodW5rKSB7XG4gICAgaWYgKGNodW5rID09PSB1bmRlZmluZWQgfHwgY2h1bmsgPT09IG51bGwgfHwgY2h1bmsgPT09IGZhbHNlIHx8IGNodW5rID09PSAnJykgcmV0dXJuIHJ1bGVTZXQ7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY2h1bmspKSByZXR1cm4gW10uY29uY2F0KF90b0NvbnN1bWFibGVBcnJheShydWxlU2V0KSwgX3RvQ29uc3VtYWJsZUFycmF5KGZsYXR0ZW4oY2h1bmssIGV4ZWN1dGlvbkNvbnRleHQpKSk7XG5cbiAgICBpZiAodHlwZW9mIGNodW5rID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gZXhlY3V0aW9uQ29udGV4dCA/IHJ1bGVTZXQuY29uY2F0LmFwcGx5KHJ1bGVTZXQsIF90b0NvbnN1bWFibGVBcnJheShmbGF0dGVuKFtjaHVuayhleGVjdXRpb25Db250ZXh0KV0sIGV4ZWN1dGlvbkNvbnRleHQpKSkgOiBydWxlU2V0LmNvbmNhdChjaHVuayk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJ1bGVTZXQuY29uY2F0KGxvZGFzaF9pc3BsYWlub2JqZWN0KGNodW5rKSA/IG9ialRvQ3NzKGNodW5rKSA6IGNodW5rLnRvU3RyaW5nKCkpO1xuICB9LCBbXSk7XG59O1xuXG52YXIgY3NzID0gKGZ1bmN0aW9uIChydWxlcykge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgaW50ZXJwb2xhdGlvbnMgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIGludGVycG9sYXRpb25zW19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgfVxuXG4gIHJldHVybiBmbGF0dGVuKGludGVybGVhdmUocnVsZXMsIGludGVycG9sYXRpb25zKSk7XG59KTtcblxuZnVuY3Rpb24gbGFzdChhcnIpIHtcbiAgcmV0dXJuIGFyclthcnIubGVuZ3RoIC0gMV07XG59XG5cbmZ1bmN0aW9uIHNoZWV0Rm9yVGFnKHRhZykge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGRvY3VtZW50LnN0eWxlU2hlZXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKGRvY3VtZW50LnN0eWxlU2hlZXRzW2ldLm93bmVyTm9kZSA9PT0gdGFnKSB7XG4gICAgICByZXR1cm4gZG9jdW1lbnQuc3R5bGVTaGVldHNbaV07XG4gICAgfVxuICB9XG59XG5cbnZhciBpc0RldiA9IGZ1bmN0aW9uICh4KSB7XG4gIHJldHVybiB4ID09PSAnZGV2ZWxvcG1lbnQnIHx8ICF4O1xufShcImRldmVsb3BtZW50XCIpO1xuXG52YXIgaXNUZXN0ID0gXCJkZXZlbG9wbWVudFwiID09PSAndGVzdCc7XG52YXIgaXNCcm93c2VyID0gdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyAmJiAhaXNUZXN0O1xuXG52YXIgb2xkSUUgPSBmdW5jdGlvbiAoKSB7XG4gIGlmIChpc0Jyb3dzZXIpIHtcbiAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZGl2LmlubmVySFRNTCA9ICc8IS0tW2lmIGx0IElFIDEwXT48aT48L2k+PCFbZW5kaWZdLS0+JztcbiAgICByZXR1cm4gZGl2LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpJykubGVuZ3RoID09PSAxO1xuICB9XG59KCk7XG5cbmZ1bmN0aW9uIG1ha2VTdHlsZVRhZygpIHtcbiAgdmFyIHRhZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gIHRhZy50eXBlID0gJ3RleHQvY3NzJztcbiAgdGFnLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCcnKSk7XG4gIChkb2N1bWVudC5oZWFkIHx8IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0pLmFwcGVuZENoaWxkKHRhZyk7XG4gIHJldHVybiB0YWc7XG59XG5cbnZhciBTdHlsZVNoZWV0ID0gZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBTdHlsZVNoZWV0KCkge1xuICAgIHZhciBfcmVmID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fSxcbiAgICAgICAgX3JlZiRzcGVlZHkgPSBfcmVmLnNwZWVkeSxcbiAgICAgICAgc3BlZWR5ID0gX3JlZiRzcGVlZHkgPT09IHZvaWQgMCA/ICFpc0RldiAmJiAhaXNUZXN0IDogX3JlZiRzcGVlZHksXG4gICAgICAgIF9yZWYkbWF4TGVuZ3RoID0gX3JlZi5tYXhMZW5ndGgsXG4gICAgICAgIG1heExlbmd0aCA9IF9yZWYkbWF4TGVuZ3RoID09PSB2b2lkIDAgPyBpc0Jyb3dzZXIgJiYgb2xkSUUgPyA0MDAwIDogNjUwMDAgOiBfcmVmJG1heExlbmd0aDtcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBTdHlsZVNoZWV0KTtcblxuICAgIHRoaXMuaXNTcGVlZHkgPSBzcGVlZHk7XG4gICAgdGhpcy5zaGVldCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnRhZ3MgPSBbXTtcbiAgICB0aGlzLm1heExlbmd0aCA9IG1heExlbmd0aDtcbiAgICB0aGlzLmN0ciA9IDA7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoU3R5bGVTaGVldCwgW3tcbiAgICBrZXk6IFwiaW5qZWN0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGluamVjdCgpIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIGlmICh0aGlzLmluamVjdGVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignYWxyZWFkeSBpbmplY3RlZCBzdHlsZXNoZWV0IScpO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNCcm93c2VyKSB7XG4gICAgICAgIHRoaXMudGFnc1swXSA9IG1ha2VTdHlsZVRhZygpO1xuICAgICAgICB0aGlzLnNoZWV0ID0gc2hlZXRGb3JUYWcodGhpcy50YWdzWzBdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2hlZXQgPSB7XG4gICAgICAgICAgY3NzUnVsZXM6IFtdLFxuICAgICAgICAgIGluc2VydFJ1bGU6IGZ1bmN0aW9uIGluc2VydFJ1bGUocnVsZSkge1xuICAgICAgICAgICAgdmFyIHNlcnZlclJ1bGUgPSB7XG4gICAgICAgICAgICAgIGNzc1RleHQ6IHJ1bGVcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIF90aGlzLnNoZWV0LmNzc1J1bGVzLnB1c2goc2VydmVyUnVsZSk7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIHNlcnZlclJ1bGU6IHNlcnZlclJ1bGUsXG4gICAgICAgICAgICAgIGFwcGVuZFJ1bGU6IGZ1bmN0aW9uIGFwcGVuZFJ1bGUobmV3Q3NzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlcnZlclJ1bGUuY3NzVGV4dCArPSBuZXdDc3M7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICB0aGlzLmluamVjdGVkID0gdHJ1ZTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwic3BlZWR5XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHNwZWVkeShib29sKSB7XG4gICAgICBpZiAodGhpcy5jdHIgIT09IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiY2Fubm90IGNoYW5nZSBzcGVlZHkgbW9kZSBhZnRlciBpbnNlcnRpbmcgYW55IHJ1bGUgdG8gc2hlZXQuIEVpdGhlciBjYWxsIHNwZWVkeShcIi5jb25jYXQoYm9vbCwgXCIpIGVhcmxpZXIgaW4geW91ciBhcHAsIG9yIGNhbGwgZmx1c2goKSBiZWZvcmUgc3BlZWR5KFwiKS5jb25jYXQoYm9vbCwgXCIpXCIpKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5pc1NwZWVkeSA9ICEhYm9vbDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiX2luc2VydFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfaW5zZXJ0KHJ1bGUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuc2hlZXQuaW5zZXJ0UnVsZShydWxlLCB0aGlzLnNoZWV0LmNzc1J1bGVzLmxlbmd0aCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGlmIChpc0Rldikge1xuICAgICAgICAgIGNvbnNvbGUud2Fybignd2hvb3BzLCBpbGxlZ2FsIHJ1bGUgaW5zZXJ0ZWQnLCBydWxlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJpbnNlcnRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaW5zZXJ0KHJ1bGUpIHtcbiAgICAgIHZhciBpbnNlcnRlZFJ1bGU7XG5cbiAgICAgIGlmIChpc0Jyb3dzZXIpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTcGVlZHkgJiYgdGhpcy5zaGVldC5pbnNlcnRSdWxlKSB7XG4gICAgICAgICAgdGhpcy5faW5zZXJ0KHJ1bGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhciB0ZXh0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHJ1bGUpO1xuICAgICAgICAgIGxhc3QodGhpcy50YWdzKS5hcHBlbmRDaGlsZCh0ZXh0Tm9kZSk7XG4gICAgICAgICAgaW5zZXJ0ZWRSdWxlID0ge1xuICAgICAgICAgICAgdGV4dE5vZGU6IHRleHROb2RlLFxuICAgICAgICAgICAgYXBwZW5kUnVsZTogZnVuY3Rpb24gYXBwZW5kUnVsZShuZXdDc3MpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRleHROb2RlLmFwcGVuZERhdGEobmV3Q3NzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgaWYgKCF0aGlzLmlzU3BlZWR5KSB7XG4gICAgICAgICAgICB0aGlzLnNoZWV0ID0gc2hlZXRGb3JUYWcobGFzdCh0aGlzLnRhZ3MpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGluc2VydGVkUnVsZSA9IHRoaXMuc2hlZXQuaW5zZXJ0UnVsZShydWxlKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jdHIrKztcblxuICAgICAgaWYgKGlzQnJvd3NlciAmJiB0aGlzLmN0ciAlIHRoaXMubWF4TGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMudGFncy5wdXNoKG1ha2VTdHlsZVRhZygpKTtcbiAgICAgICAgdGhpcy5zaGVldCA9IHNoZWV0Rm9yVGFnKGxhc3QodGhpcy50YWdzKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbnNlcnRlZFJ1bGU7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImZsdXNoXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZsdXNoKCkge1xuICAgICAgaWYgKGlzQnJvd3Nlcikge1xuICAgICAgICB0aGlzLnRhZ3MuZm9yRWFjaChmdW5jdGlvbiAodGFnKSB7XG4gICAgICAgICAgcmV0dXJuIHRhZy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRhZyk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnRhZ3MgPSBbXTtcbiAgICAgICAgdGhpcy5zaGVldCA9IG51bGw7XG4gICAgICAgIHRoaXMuY3RyID0gMDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2hlZXQuY3NzUnVsZXMgPSBbXTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5pbmplY3RlZCA9IGZhbHNlO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJydWxlc1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBydWxlcygpIHtcbiAgICAgIGlmICghaXNCcm93c2VyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNoZWV0LmNzc1J1bGVzO1xuICAgICAgfVxuXG4gICAgICB2YXIgYXJyID0gW107XG4gICAgICB0aGlzLnRhZ3MuZm9yRWFjaChmdW5jdGlvbiAodGFnKSB7XG4gICAgICAgIHJldHVybiBhcnIuc3BsaWNlLmFwcGx5KGFyciwgW2Fyci5sZW5ndGgsIDBdLmNvbmNhdChfdG9Db25zdW1hYmxlQXJyYXkoQXJyYXkuZnJvbShzaGVldEZvclRhZyh0YWcpLmNzc1J1bGVzKSkpKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGFycjtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gU3R5bGVTaGVldDtcbn0oKTtcblxudmFyIFN0eWxlU2hlZXQkMSA9IGZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gU3R5bGVTaGVldCQxKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBTdHlsZVNoZWV0JDEpO1xuXG4gICAgdGhpcy5nbG9iYWxTdHlsZVNoZWV0ID0gbmV3IFN0eWxlU2hlZXQoe1xuICAgICAgc3BlZWR5OiBmYWxzZVxuICAgIH0pO1xuICAgIHRoaXMuY29tcG9uZW50U3R5bGVTaGVldCA9IG5ldyBTdHlsZVNoZWV0KHtcbiAgICAgIHNwZWVkeTogZmFsc2UsXG4gICAgICBtYXhMZW5ndGg6IDQwXG4gICAgfSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoU3R5bGVTaGVldCQxLCBbe1xuICAgIGtleTogXCJpbmplY3RcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaW5qZWN0KCkge1xuICAgICAgdGhpcy5nbG9iYWxTdHlsZVNoZWV0LmluamVjdCgpO1xuICAgICAgdGhpcy5jb21wb25lbnRTdHlsZVNoZWV0LmluamVjdCgpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJmbHVzaFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmbHVzaCgpIHtcbiAgICAgIGlmICh0aGlzLmdsb2JhbFN0eWxlU2hlZXQuc2hlZXQpIHRoaXMuZ2xvYmFsU3R5bGVTaGVldC5mbHVzaCgpO1xuICAgICAgaWYgKHRoaXMuY29tcG9uZW50U3R5bGVTaGVldC5zaGVldCkgdGhpcy5jb21wb25lbnRTdHlsZVNoZWV0LmZsdXNoKCk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImluc2VydFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBpbnNlcnQocnVsZSkge1xuICAgICAgdmFyIG9wdHMgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHtcbiAgICAgICAgZ2xvYmFsOiBmYWxzZVxuICAgICAgfTtcbiAgICAgIHZhciBzaGVldCA9IG9wdHMuZ2xvYmFsID8gdGhpcy5nbG9iYWxTdHlsZVNoZWV0IDogdGhpcy5jb21wb25lbnRTdHlsZVNoZWV0O1xuICAgICAgcmV0dXJuIHNoZWV0Lmluc2VydChydWxlKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicnVsZXNcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcnVsZXMoKSB7XG4gICAgICByZXR1cm4gdGhpcy5nbG9iYWxTdHlsZVNoZWV0LnJ1bGVzKCkuY29uY2F0KHRoaXMuY29tcG9uZW50U3R5bGVTaGVldC5ydWxlcygpKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiaW5qZWN0ZWRcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiB0aGlzLmdsb2JhbFN0eWxlU2hlZXQuaW5qZWN0ZWQgJiYgdGhpcy5jb21wb25lbnRTdHlsZVNoZWV0LmluamVjdGVkO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBTdHlsZVNoZWV0JDE7XG59KCk7XG5cbnZhciBzdHlsZVNoZWV0ID0gbmV3IFN0eWxlU2hlZXQkMSgpO1xuXG52YXIgY29tbW9uanNHbG9iYWwgPSB0eXBlb2YgZ2xvYmFsVGhpcyAhPT0gJ3VuZGVmaW5lZCcgPyBnbG9iYWxUaGlzIDogdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cgOiB0eXBlb2YgZ2xvYmFsICE9PSAndW5kZWZpbmVkJyA/IGdsb2JhbCA6IHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJyA/IHNlbGYgOiB7fTtcblxuZnVuY3Rpb24gdW53cmFwRXhwb3J0cyAoeCkge1xuXHRyZXR1cm4geCAmJiB4Ll9fZXNNb2R1bGUgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHgsICdkZWZhdWx0JykgPyB4WydkZWZhdWx0J10gOiB4O1xufVxuXG5mdW5jdGlvbiBjcmVhdGVDb21tb25qc01vZHVsZShmbiwgbW9kdWxlKSB7XG5cdHJldHVybiBtb2R1bGUgPSB7IGV4cG9ydHM6IHt9IH0sIGZuKG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMpLCBtb2R1bGUuZXhwb3J0cztcbn1cblxudmFyIGhhc2ggPSBjcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbiAobW9kdWxlLCBleHBvcnRzKSB7XG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbiAgfSk7XG4gIGV4cG9ydHMuZGVmYXVsdCA9IGRvSGFzaDsgLy8gbXVybXVyaGFzaDIgdmlhIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL3JheWNtb3JnYW4vNTg4NDIzXG5cbiAgZnVuY3Rpb24gZG9IYXNoKHN0ciwgc2VlZCkge1xuICAgIHZhciBtID0gMHg1YmQxZTk5NTtcbiAgICB2YXIgciA9IDI0O1xuICAgIHZhciBoID0gc2VlZCBeIHN0ci5sZW5ndGg7XG4gICAgdmFyIGxlbmd0aCA9IHN0ci5sZW5ndGg7XG4gICAgdmFyIGN1cnJlbnRJbmRleCA9IDA7XG5cbiAgICB3aGlsZSAobGVuZ3RoID49IDQpIHtcbiAgICAgIHZhciBrID0gVUludDMyKHN0ciwgY3VycmVudEluZGV4KTtcbiAgICAgIGsgPSBVbXVsMzIoaywgbSk7XG4gICAgICBrIF49IGsgPj4+IHI7XG4gICAgICBrID0gVW11bDMyKGssIG0pO1xuICAgICAgaCA9IFVtdWwzMihoLCBtKTtcbiAgICAgIGggXj0gaztcbiAgICAgIGN1cnJlbnRJbmRleCArPSA0O1xuICAgICAgbGVuZ3RoIC09IDQ7XG4gICAgfVxuXG4gICAgc3dpdGNoIChsZW5ndGgpIHtcbiAgICAgIGNhc2UgMzpcbiAgICAgICAgaCBePSBVSW50MTYoc3RyLCBjdXJyZW50SW5kZXgpO1xuICAgICAgICBoIF49IHN0ci5jaGFyQ29kZUF0KGN1cnJlbnRJbmRleCArIDIpIDw8IDE2O1xuICAgICAgICBoID0gVW11bDMyKGgsIG0pO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAyOlxuICAgICAgICBoIF49IFVJbnQxNihzdHIsIGN1cnJlbnRJbmRleCk7XG4gICAgICAgIGggPSBVbXVsMzIoaCwgbSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIDE6XG4gICAgICAgIGggXj0gc3RyLmNoYXJDb2RlQXQoY3VycmVudEluZGV4KTtcbiAgICAgICAgaCA9IFVtdWwzMihoLCBtKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaCBePSBoID4+PiAxMztcbiAgICBoID0gVW11bDMyKGgsIG0pO1xuICAgIGggXj0gaCA+Pj4gMTU7XG4gICAgcmV0dXJuIGggPj4+IDA7XG4gIH1cblxuICBmdW5jdGlvbiBVSW50MzIoc3RyLCBwb3MpIHtcbiAgICByZXR1cm4gc3RyLmNoYXJDb2RlQXQocG9zKyspICsgKHN0ci5jaGFyQ29kZUF0KHBvcysrKSA8PCA4KSArIChzdHIuY2hhckNvZGVBdChwb3MrKykgPDwgMTYpICsgKHN0ci5jaGFyQ29kZUF0KHBvcykgPDwgMjQpO1xuICB9XG5cbiAgZnVuY3Rpb24gVUludDE2KHN0ciwgcG9zKSB7XG4gICAgcmV0dXJuIHN0ci5jaGFyQ29kZUF0KHBvcysrKSArIChzdHIuY2hhckNvZGVBdChwb3MrKykgPDwgOCk7XG4gIH1cblxuICBmdW5jdGlvbiBVbXVsMzIobiwgbSkge1xuICAgIG4gPSBuIHwgMDtcbiAgICBtID0gbSB8IDA7XG4gICAgdmFyIG5sbyA9IG4gJiAweGZmZmY7XG4gICAgdmFyIG5oaSA9IG4gPj4+IDE2O1xuICAgIHZhciByZXMgPSBubG8gKiBtICsgKChuaGkgKiBtICYgMHhmZmZmKSA8PCAxNikgfCAwO1xuICAgIHJldHVybiByZXM7XG4gIH1cbn0pO1xudmFyIGhhc2hTdHIgPSB1bndyYXBFeHBvcnRzKGhhc2gpO1xuXG52YXIgcmVwbGFjZVdoaXRlc3BhY2UgPSBmdW5jdGlvbiByZXBsYWNlV2hpdGVzcGFjZShzdHIpIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9cXHN8XFxcXG4vZywgJycpO1xufTtcblxudmFyIG1ha2VBbmltYXRpb24gPSBmdW5jdGlvbiBtYWtlQW5pbWF0aW9uKG5hbWUsIGNzcykge1xuICByZXR1cm4gXCJcXG5Aa2V5ZnJhbWVzIFwiLmNvbmNhdChuYW1lLCBcIiB7XFxuICAgXCIpLmNvbmNhdChjc3MsIFwiXFxufVxcblwiKTtcbn07XG5cbnZhciBrZXlmcmFtZXMgPSAoZnVuY3Rpb24gKGNzcykge1xuICB2YXIgbmFtZSA9IGdlbmVyYXRlQWxwaGFiZXRpY05hbWUoaGFzaFN0cihyZXBsYWNlV2hpdGVzcGFjZShKU09OLnN0cmluZ2lmeShjc3MpKSkpO1xuICB2YXIgYW5pbWF0aW9uID0gbWFrZUFuaW1hdGlvbihuYW1lLCBjc3MpO1xuICBpZiAoIXN0eWxlU2hlZXQuaW5qZWN0ZWQpIHN0eWxlU2hlZXQuaW5qZWN0KCk7XG4gIHN0eWxlU2hlZXQuaW5zZXJ0KGFuaW1hdGlvbik7XG4gIHJldHVybiBuYW1lO1xufSk7XG5cbnZhciBzdHlsaXMgPSBjcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbiAobW9kdWxlLCBleHBvcnRzKSB7XG4gIC8qXG4gICAqICAgICAgICAgIF9fICAgICAgICBfX19cbiAgICogICAgX19fX18vIC9fX18gIF9fLyAoXylfX19fXG4gICAqICAgLyBfX18vIF9fLyAvIC8gLyAvIC8gX19fL1xuICAgKiAgKF9fICApIC9fLyAvXy8gLyAvIChfXyAgKVxuICAgKiAvX19fXy9cXF9fL1xcX18sIC9fL18vX19fXy9cbiAgICogICAgICAgICAgL19fX18vXG4gICAqXG4gICAqIHN0eWxpcyBpcyBhIGZlYXR1cmUtcmljaCBjc3MgcHJlcHJvY2Vzc29yXG4gICAqXG4gICAqIEBsaWNlbmNlIE1JVFxuICAgKi9cbiAgKGZ1bmN0aW9uIChmYWN0b3J5KSB7XG4gICAge1xuICAgICAgbW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KGNvbW1vbmpzR2xvYmFsKTtcbiAgICB9XG4gIH0pKGZ1bmN0aW9uICh3aW5kb3cpIHtcblxuICAgIHZhciBwbHVnaW5zID0gW107IC8vIHJlZ3VsYXIgZXhwcmVzc2lvbnNcblxuICAgIHZhciBhbmRQYXR0ZXJuID0gLyYvZztcbiAgICB2YXIgYW5kU3BhY2VQYXR0ZXJuID0gLyArJi87XG4gICAgdmFyIHNwbGl0UGF0dGVybiA9IC8sXFxuL2c7XG4gICAgdmFyIGdsb2JhbFBhdHRlcm4gPSAvOmdsb2JhbFxcKCU/KCg/OlteXFwoXFwpXFxbXFxdXSp8XFxbLipcXF18XFwoW15cXChcXCldKlxcKSkqKVxcKS9nO1xuICAgIHZhciBnbG9iYWxzUGF0dGVybiA9IC8oPzomfCApOmdsb2JhbFxcKCU/KCg/OlteXFwoXFwpXFxbXFxdXSp8XFxbLipcXF18XFwoW15cXChcXCldKlxcKSkqKVxcKS9nO1xuICAgIHZhciBob3N0UGF0dGVybiA9IC86aG9zdFxcKCguKilcXCkvZztcbiAgICB2YXIgaG9zdENvbnRleHRQYXR0ZXJuID0gLzpob3N0LWNvbnRleHRcXCgoLiopXFwpL2c7XG4gICAgdmFyIG5ld0xpbmVQYXR0ZXJuID0gL1xcbi9nO1xuICAgIHZhciBwbGFjZWhvbGRlclBhdHRlcm4gPSAvOjpwbGFjZS9nO1xuICAgIHZhciBjb2xvblBhdHRlcm4gPSAvOiArL2c7XG4gICAgdmFyIGFuaW1hdGlvblBhdHRlcm4gPSAvWyAuI34rPjxcXGRdKy9nO1xuICAgIHZhciB0cmFuc2Zvcm1QYXR0ZXJuID0gLyAqKHRyYW5zZm9ybSkvZzsgLy8gcHJlZml4ZXNcblxuICAgIHZhciBtb3ogPSAnLW1vei0nO1xuICAgIHZhciBtcyA9ICctbXMtJztcbiAgICB2YXIgd2Via2l0ID0gJy13ZWJraXQtJztcbiAgICAvKipcbiAgICAgKiBjc3MgcHJlcHJvY2Vzc29yXG4gICAgICpcbiAgICAgKiBAcGFyYW0gIHtTdHJpbmd9ICAgc2VsZWN0b3IgICAtIGkuZSBgLmNsYXNzYCBvciBgI2lkYCBvciBgW2F0dHI9aWRdYFxuICAgICAqIEBwYXJhbSAge1N0cmluZ30gICBzdHlsZXMgICAgIC0gY3NzIHN0cmluZ1xuICAgICAqIEBwYXJhbSAge0Jvb2xlYW49fSBhbmltYXRpb25zIC0gcHJlZml4IGFuaW1hdGlvbnMgYW5kIGtleWZyYW1lcywgdHJ1ZSBieSBkZWZhdWx0XG4gICAgICogQHBhcmFtICB7Qm9vbGVhbj19IGNvbXBhY3QgICAgLSBlbmFibGUgYWRkaXRpb25hbCBzaGFkb3cgZG9tIGZlYXR1cmVzKDpob3N0LCA6aG9zdC1jb250ZXh0KVxuICAgICAqIEBwYXJhbSAge0Z1bmN0aW9ufEFycmF5fSBtaWRkbGV3YXJlc1xuICAgICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICAgKi9cblxuICAgIGZ1bmN0aW9uIHN0eWxpcyhzZWxlY3Rvciwgc3R5bGVzLCBhbmltYXRpb25zLCBjb21wYWN0LCBtaWRkbGV3YXJlcykge1xuICAgICAgc2VsZWN0b3IgKz0gJyc7XG4gICAgICB2YXIgbWlkZGxld2FyZSA9IG1pZGRsZXdhcmVzO1xuICAgICAgdmFyIHByZWZpeCA9ICcnO1xuICAgICAgdmFyIG5hbWVzcGFjZSA9ICcnO1xuICAgICAgdmFyIGNoYXI7XG4gICAgICB2YXIgYXR0cjtcbiAgICAgIHZhciBhbmltbnM7XG4gICAgICB2YXIgdHlwZSA9IHNlbGVjdG9yLmNoYXJDb2RlQXQoMCk7IC8vIGAgc2VsZWN0b3JgIC0+IGBzZWxlY3RvcmBcblxuICAgICAgaWYgKHR5cGUgPCAzMykge1xuICAgICAgICB0eXBlID0gKHNlbGVjdG9yID0gc2VsZWN0b3IudHJpbSgpKS5jaGFyQ29kZUF0KDApO1xuICAgICAgfVxuXG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgLy8gYCNgIGAuYCBpZCBhbmQgY2xhc3Mgc2VsZWN0b3JzXG4gICAgICAgIGNhc2UgMzU6XG4gICAgICAgIGNhc2UgNDY6XG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZXNwYWNlID0gKHByZWZpeCA9IHNlbGVjdG9yKS5zdWJzdHJpbmcoMSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIC8vIFsgYXR0ciBzZWxlY3RvclxuXG4gICAgICAgIGNhc2UgOTE6XG4gICAgICAgICAge1xuICAgICAgICAgICAgLy8gYFtkYXRhLWlkPW5hbWVzcGFjZV1gIC0+IFsnZGF0YS1pZCcsICduYW1lc3BhY2UnXVxuICAgICAgICAgICAgYXR0ciA9IHNlbGVjdG9yLnN1YnN0cmluZygxLCBzZWxlY3Rvci5sZW5ndGggLSAxKS5zcGxpdCgnPScpO1xuICAgICAgICAgICAgY2hhciA9IChuYW1lc3BhY2UgPSBhdHRyWzFdIHx8IGF0dHJbMF0pLmNoYXJDb2RlQXQoMCk7IC8vIFtkYXRhLWlkPVwibmFtZXNwYWNlXCJdL1tkYXRhLWlkPSduYW1lc3BhY2UnXVxuICAgICAgICAgICAgLy8gLS0+IFwibmFtZXNwYWNlXCIvJ25hbXNwYWNlJyAtLT4gbmFtZXNwYWNlXG5cbiAgICAgICAgICAgIGlmIChjaGFyID09PSAzNCB8fCBjaGFyID09PSAzOSkge1xuICAgICAgICAgICAgICBuYW1lc3BhY2UgPSBuYW1lc3BhY2Uuc3Vic3RyaW5nKDEsIG5hbWVzcGFjZS5sZW5ndGggLSAxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHJlZml4ID0gJ1snICsgYXR0clswXSArIChhdHRyLmxlbmd0aCA+IDEgPyAnPVwiJyArIG5hbWVzcGFjZSArICdcIl0nIDogJ10nKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgLy8gZWxlbWVudCBzZWxlY3RvclxuXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZXNwYWNlID0gcHJlZml4ID0gc2VsZWN0b3I7XG4gICAgICAgICAgfVxuICAgICAgfSAvLyByZXNldCB0eXBlIHNpZ25hdHVyZVxuXG5cbiAgICAgIHR5cGUgPSAwOyAvLyBhbmltYXRpb24gYW5kIGtleWZyYW1lIG5hbWVzcGFjZVxuXG4gICAgICBpZiAoYW5pbWF0aW9ucyA9PT0gdHJ1ZSB8fCBhbmltYXRpb25zID09PSB1bmRlZmluZWQgfHwgYW5pbWF0aW9ucyA9PT0gbnVsbCkge1xuICAgICAgICBhbmltYXRpb25zID0gdHJ1ZTtcbiAgICAgICAgYW5pbW5zID0gbmFtZXNwYWNlLnJlcGxhY2UoYW5pbWF0aW9uUGF0dGVybiwgJy0nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFuaW1ucyA9ICcnO1xuICAgICAgICBhbmltYXRpb25zID0gZmFsc2U7XG4gICAgICB9IC8vIG1pZGRsZXdhcmVcblxuXG4gICAgICB2YXIgaGFzO1xuICAgICAgdmFyIHVzZXMgPSBtaWRkbGV3YXJlICE9PSB2b2lkIDAgJiYgbWlkZGxld2FyZSAhPT0gbnVsbDtcbiAgICAgIHZhciBsZW5ndGggPSBwbHVnaW5zLmxlbmd0aDtcblxuICAgICAgaWYgKHVzZXMgPT09IHRydWUpIHtcbiAgICAgICAgaGFzID0gKHR5cGVvZiBtaWRkbGV3YXJlKS5jaGFyQ29kZUF0KDApOyAvLyBvLCBhcnJheVxuXG4gICAgICAgIGlmIChoYXMgPT09IDExMSkge1xuICAgICAgICAgIHVzZShtaWRkbGV3YXJlKTtcbiAgICAgICAgfSAvLyBmLCBmdW5jdGlvblxuICAgICAgICBlbHNlIGlmIChoYXMgPT09IDEwMikge1xuICAgICAgICAgICAgcGx1Z2luc1tsZW5ndGgrK10gPSBtaWRkbGV3YXJlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB1c2VzID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAobGVuZ3RoICE9PSAwKSB7XG4gICAgICAgIG1pZGRsZXdhcmUgPSBsZW5ndGggPT09IDEgPyBwbHVnaW5zWzBdIDogcHJveHk7XG4gICAgICAgIHVzZXMgPSB0cnVlO1xuICAgICAgfSAvLyBkZWNsYXJlXG5cblxuICAgICAgdmFyIGNoYXJhY3RlcjtcbiAgICAgIHZhciBjb2xvbjtcbiAgICAgIHZhciBpbm5lcjtcbiAgICAgIHZhciBzZWxlY3RvcnM7XG4gICAgICB2YXIgYnVpbGQ7XG4gICAgICB2YXIgdGVtcDtcbiAgICAgIHZhciBwcmV2O1xuICAgICAgdmFyIGluZGV4T2Y7XG4gICAgICB2YXIgZmlyc3Q7XG4gICAgICB2YXIgc2Vjb25kO1xuICAgICAgdmFyIHRoaXJkO1xuICAgICAgdmFyIHNlbDtcbiAgICAgIHZhciBibG9iO1xuICAgICAgdmFyIG5lc3Q7XG4gICAgICB2YXIgc3RyO1xuICAgICAgdmFyIG1lZGlhOyAvLyBidWZmZXJzXG5cbiAgICAgIHZhciBidWZmID0gJyc7XG4gICAgICB2YXIgYmxjayA9ICcnO1xuICAgICAgdmFyIGZsYXQgPSAnJzsgLy8gY2hhcmFjdGVyIGNvZGVcblxuICAgICAgdmFyIGNvZGUgPSAwO1xuICAgICAgdmFyIG5leHRjb2RlOyAvLyBjb250ZXh0IHNpZ25hdHVyZXNcblxuICAgICAgdmFyIG1lZGlhcyA9IDA7XG4gICAgICB2YXIgc3BlY2lhbCA9IDA7XG4gICAgICB2YXIgY2xvc2UgPSAwO1xuICAgICAgdmFyIGNsb3NlZCA9IDA7XG4gICAgICB2YXIgbmVzdGVkID0gMDtcbiAgICAgIHZhciBmdW5jID0gMDtcbiAgICAgIHZhciBzdHJpbmdzID0gMDtcbiAgICAgIHZhciBnbG9icyA9IDA7XG4gICAgICB2YXIgaXNwbGFjZSA9IDA7XG4gICAgICB2YXIgam9pbiA9IDA7IC8vIGNvbnRleHQoZmxhdCkgc2lnbmF0dXJlc1xuXG4gICAgICB2YXIgbGV2ZWxzID0gMDsgLy8gY29tbWVudHNcblxuICAgICAgdmFyIGNvbW1lbnQgPSAwO1xuICAgICAgdmFyIGNvbWJsY2sgPSAwO1xuICAgICAgdmFyIGNvbWxpbmUgPSAwOyAvLyBwcmUtcHJvY2Vzc1xuXG4gICAgICBpZiAodXNlcyA9PT0gdHJ1ZSkge1xuICAgICAgICB0ZW1wID0gbWlkZGxld2FyZSgwLCBzdHlsZXMsIGxpbmUsIGNvbHVtbiwgcHJlZml4LCAwKTtcblxuICAgICAgICBpZiAodGVtcCAhPSBudWxsKSB7XG4gICAgICAgICAgc3R5bGVzID0gdGVtcDtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0ciA9ICcnO1xuICAgICAgfSAvLyBwb3NpdGlvbnNcblxuXG4gICAgICB2YXIgY2FyZXQgPSAwO1xuICAgICAgdmFyIGRlcHRoID0gMDtcbiAgICAgIHZhciBjb2x1bW4gPSAwO1xuICAgICAgdmFyIGxpbmUgPSAxO1xuICAgICAgdmFyIGVvZiA9IHN0eWxlcy5sZW5ndGg7IC8vIGNvbXBpbGVkIG91dHB1dFxuXG4gICAgICB2YXIgb3V0cHV0ID0gJyc7IC8vIHBhcnNlICsgY29tcGlsZVxuXG4gICAgICB3aGlsZSAoY2FyZXQgPCBlb2YpIHtcbiAgICAgICAgY29kZSA9IHN0eWxlcy5jaGFyQ29kZUF0KGNhcmV0KTsgLy8geywgfSwgOyBjaGFyYWN0ZXJzLCBwYXJzZSBsaW5lIGJ5IGxpbmVcblxuICAgICAgICBpZiAobWVkaWFzID09PSAxICYmIGNhcmV0ID09PSBlb2YgLSAxIHx8IHN0cmluZ3MgPT09IDAgJiYgZnVuYyA9PT0gMCAmJiBjb21tZW50ID09PSAwICYmICggLy8geywgfSwgO1xuICAgICAgICBjb2RlID09PSAxMjMgfHwgY29kZSA9PT0gMTI1IHx8IGNvZGUgPT09IDU5IHx8IC8vIGVvZiBidWZmZXJcbiAgICAgICAgY2FyZXQgPT09IGVvZiAtIDEgJiYgYnVmZi5sZW5ndGggIT09IDApKSB7XG4gICAgICAgICAgYnVmZiArPSBzdHlsZXMuY2hhckF0KGNhcmV0KTsgLy8gbWlkZGxld2FyZSwgc2VsZWN0b3IvcHJvcGVydHkgY29udGV4dCwgfVxuXG4gICAgICAgICAgaWYgKHVzZXMgPT09IHRydWUgJiYgY29kZSAhPT0gMTI1KSB7XG4gICAgICAgICAgICAvLyB7IHByZS1wcm9jZXNzZWQgc2VsZWN0b3IgY29udGV4dFxuICAgICAgICAgICAgaWYgKGNvZGUgPT09IDEyMykge1xuICAgICAgICAgICAgICB0ZW1wID0gbWlkZGxld2FyZSgxLCBidWZmLnN1YnN0cmluZygwLCBidWZmLmxlbmd0aCAtIDEpLnRyaW0oKSwgbGluZSwgY29sdW1uLCBwcmVmaXgsIG91dHB1dC5sZW5ndGgpO1xuICAgICAgICAgICAgfSAvLyA7IHByb3BlcnR5IGNvbnRleHRcbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRlbXAgPSBtaWRkbGV3YXJlKDIsIGJ1ZmYsIGxpbmUsIGNvbHVtbiwgcHJlZml4LCBvdXRwdXQubGVuZ3RoKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGVtcCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgIGJ1ZmYgPSBjb2RlID09PSAxMjMgPyB0ZW1wICsgJyB7JyA6IHRlbXA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZmlyc3QgPSBidWZmLmNoYXJDb2RlQXQoMCk7IC8vIG9ubHkgdHJpbSB3aGVuIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgYSBzcGFjZSBgIGBcblxuICAgICAgICAgIGlmIChmaXJzdCA9PT0gMzIpIHtcbiAgICAgICAgICAgIGZpcnN0ID0gKGJ1ZmYgPSBidWZmLnRyaW0oKSkuY2hhckNvZGVBdCgwKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZWNvbmQgPSBidWZmLmNoYXJDb2RlQXQoMSk7XG4gICAgICAgICAgdGhpcmQgPSBidWZmLmNoYXJDb2RlQXQoMik7IC8vIEAsIHNwZWNpYWwgYmxvY2tcblxuICAgICAgICAgIGlmIChmaXJzdCA9PT0gNjQpIHtcbiAgICAgICAgICAgIC8vIHB1c2ggZmxhdCBjc3NcbiAgICAgICAgICAgIGlmIChsZXZlbHMgPT09IDEgJiYgZmxhdC5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICAgICAgbGV2ZWxzID0gMDtcbiAgICAgICAgICAgICAgZmxhdCA9IHByZWZpeCArICcgeycgKyBmbGF0ICsgJ30nOyAvLyBtaWRkbGV3YXJlLCBmbGF0IGNvbnRleHRcblxuICAgICAgICAgICAgICBpZiAodXNlcyA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHRlbXAgPSBtaWRkbGV3YXJlKDQsIGZsYXQsIGxpbmUsIGNvbHVtbiwgcHJlZml4LCBvdXRwdXQubGVuZ3RoKTtcblxuICAgICAgICAgICAgICAgIGlmICh0ZW1wICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgIGZsYXQgPSB0ZW1wO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIG91dHB1dCArPSBmbGF0O1xuICAgICAgICAgICAgICBmbGF0ID0gJyc7XG4gICAgICAgICAgICB9IC8vIDtcblxuXG4gICAgICAgICAgICBpZiAoY29kZSAhPT0gNTkpIHtcbiAgICAgICAgICAgICAgLy8gQGtleWZyYW1lLCBga2BcbiAgICAgICAgICAgICAgaWYgKHNlY29uZCA9PT0gMTA3KSB7XG4gICAgICAgICAgICAgICAgYmxvYiA9IGJ1ZmYuc3Vic3RyaW5nKDEsIDExKSArIGFuaW1ucyArIGJ1ZmYuc3Vic3RyaW5nKDExKTtcbiAgICAgICAgICAgICAgICBidWZmID0gJ0AnICsgd2Via2l0ICsgYmxvYjtcbiAgICAgICAgICAgICAgICB0eXBlID0gMTtcbiAgICAgICAgICAgICAgfSAvLyBAbWVkaWEgYG1gLCBgZWAgY2hhcmFjdGVycyxcbiAgICAgICAgICAgICAgLy8gQHN1cHBvcnRzIGBzYCBgdWAgY2hhcmFjdGVycyxcbiAgICAgICAgICAgICAgLy8gQGdsb2JhbCBgZ2AgY2hhcmFjdGVyXG4gICAgICAgICAgICAgIGVsc2UgaWYgKHNlY29uZCA9PT0gMTA5ICYmIHRoaXJkID09PSAxMDEgfHwgc2Vjb25kID09PSAxMTUgJiYgdGhpcmQgPT09IDExNyB8fCBzZWNvbmQgPT09IDEwMykge1xuICAgICAgICAgICAgICAgICAgY2FyZXQrKztcbiAgICAgICAgICAgICAgICAgIGNvbHVtbisrO1xuXG4gICAgICAgICAgICAgICAgICBpZiAobWVkaWEgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBtZWRpYSA9ICcnO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBpbm5lciA9ICcnOyAvLyBrZWVwIHRyYWNrIG9mIG9wZW5pbmcgYHtgIGFuZCBgfWAgb2NjdXJyZW5jZXNcblxuICAgICAgICAgICAgICAgICAgY2xvc2VkID0gMTsgLy8gdHJhdmVsIHRvIHRoZSBlbmQgb2YgdGhlIGJsb2NrXG5cbiAgICAgICAgICAgICAgICAgIHdoaWxlIChjYXJldCA8IGVvZikge1xuICAgICAgICAgICAgICAgICAgICBjaGFyID0gc3R5bGVzLmNoYXJDb2RlQXQoY2FyZXQpOyAvLyB7LCB9LCBuZXN0ZWQgYmxvY2tzIG1heSBoYXZlIG5lc3RlZCBibG9ja3NcblxuICAgICAgICAgICAgICAgICAgICBpZiAoY2hhciA9PT0gMTIzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgY2xvc2VkKys7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hhciA9PT0gMTI1KSB7XG4gICAgICAgICAgICAgICAgICAgICAgY2xvc2VkLS07XG4gICAgICAgICAgICAgICAgICAgIH0gLy8gYnJlYWsgd2hlbiB0aGUgbmVzdGVkIGJsb2NrIGhhcyBlbmRlZFxuXG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGNsb3NlZCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgIGNhcmV0Kys7XG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH0gLy8gYnVpbGQgY29udGVudCBvZiBuZXN0ZWQgYmxvY2tcblxuXG4gICAgICAgICAgICAgICAgICAgIGlubmVyICs9IHN0eWxlcy5jaGFyQXQoY2FyZXQrKyk7IC8vIG1vdmUgY29sdW1uIGFuZCBsaW5lIHBvc2l0aW9uXG5cbiAgICAgICAgICAgICAgICAgICAgY29sdW1uID0gY2hhciA9PT0gMTMgfHwgY2hhciA9PT0gMTAgPyAobGluZSsrLCAwKSA6IGNvbHVtbiArIDE7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIHNlbGVjdG9yID0gZGVwdGggPT09IDAgPyBwcmVmaXggOiBwcmV2LnN1YnN0cmluZygwLCBwcmV2Lmxlbmd0aCAtIDEpLnJlcGxhY2UobmV3TGluZVBhdHRlcm4sICcnKS50cmltKCk7IC8vIGJ1aWxkIGJsb2NrXG5cbiAgICAgICAgICAgICAgICAgIG1lZGlhICs9IGJ1ZmYgKyBzdHlsaXMoc2VsZWN0b3IsIGlubmVyLnRyaW0oKSwgYW5pbWF0aW9ucywgY29tcGFjdCwgbnVsbCkudHJpbSgpICsgJ30nOyAvLyBtaWRkbGV3YXJlLCBibG9jayBjb250ZXh0XG5cbiAgICAgICAgICAgICAgICAgIGlmICh1c2VzID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRlbXAgPSBtaWRkbGV3YXJlKDMsIG1lZGlhLCBsaW5lLCBjb2x1bW4sIHByZWZpeCwgb3V0cHV0Lmxlbmd0aCk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRlbXAgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgIG1lZGlhID0gdGVtcDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBidWZmID0gJyc7XG4gICAgICAgICAgICAgICAgICBtZWRpYXMgPSAxO1xuXG4gICAgICAgICAgICAgICAgICBpZiAoY2FyZXQgPT09IGVvZikge1xuICAgICAgICAgICAgICAgICAgICBlb2YrKztcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfSAvLyB1bmtub3duXG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGUgPSA2O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAvLyBmbGFnIHNwZWNpYWwsIGkuZSBAa2V5ZnJhbWVzLCBAZm9udC1mYWNlIC4uLlxuXG5cbiAgICAgICAgICAgIGlmIChjb2RlICE9PSA1OSAmJiBzZWNvbmQgIT09IDEwNSkge1xuICAgICAgICAgICAgICAvLyBrLCBtXG4gICAgICAgICAgICAgIGlmIChzZWNvbmQgIT09IDEwNyAmJiBzZWNvbmQgIT09IDEwOSAmJiBzZWNvbmQgIT09IDExNSAmJiBzZWNvbmQgIT09IDEwMykge1xuICAgICAgICAgICAgICAgIHR5cGUgPSA1O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY2xvc2UgPSAtMTtcbiAgICAgICAgICAgICAgc3BlY2lhbCsrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gLy8gcHJvcGVydHkvc2VsZWN0b3JcbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgLy8geyBjaGFyYWN0ZXIsIHNlbGVjdG9yIGRlY2xhcmF0aW9uXG4gICAgICAgICAgICAgIGlmIChjb2RlID09PSAxMjMpIHtcbiAgICAgICAgICAgICAgICBkZXB0aCsrOyAvLyBwdXNoIGZsYXQgY3NzXG5cbiAgICAgICAgICAgICAgICBpZiAobGV2ZWxzID09PSAxICYmIGZsYXQubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgICBsZXZlbHMgPSAwO1xuICAgICAgICAgICAgICAgICAgZmxhdCA9IHByZWZpeCArICcgeycgKyBmbGF0ICsgJ30nOyAvLyBtaWRkbGV3YXJlLCBmbGF0IGNvbnRleHRcblxuICAgICAgICAgICAgICAgICAgaWYgKHVzZXMgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGVtcCA9IG1pZGRsZXdhcmUoNCwgZmxhdCwgbGluZSwgY29sdW1uLCBwcmVmaXgsIG91dHB1dC5sZW5ndGgpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0ZW1wICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICBmbGF0ID0gdGVtcDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBvdXRwdXQgKz0gZmxhdDtcbiAgICAgICAgICAgICAgICAgIGZsYXQgPSAnJztcbiAgICAgICAgICAgICAgICB9IC8vIG5lc3RlZCBzZWxlY3RvclxuXG5cbiAgICAgICAgICAgICAgICBpZiAoZGVwdGggPT09IDIpIHtcbiAgICAgICAgICAgICAgICAgIC8vIGRpc2NhcmQgZmlyc3QgY2hhcmFjdGVyIHtcbiAgICAgICAgICAgICAgICAgIGNhcmV0Kys7XG4gICAgICAgICAgICAgICAgICBjb2x1bW4rKzsgLy8gaW5uZXIgY29udGVudCBvZiBibG9ja1xuXG4gICAgICAgICAgICAgICAgICBpbm5lciA9ICcnO1xuICAgICAgICAgICAgICAgICAgdmFyIG5lc3RTZWxlY3RvciA9IGJ1ZmYuc3Vic3RyaW5nKDAsIGJ1ZmYubGVuZ3RoIC0gMSkuc3BsaXQoc3BsaXRQYXR0ZXJuKTtcbiAgICAgICAgICAgICAgICAgIHZhciBwcmV2U2VsZWN0b3IgPSBwcmV2LnN1YnN0cmluZygwLCBwcmV2Lmxlbmd0aCAtIDEpLnNwbGl0KHNwbGl0UGF0dGVybik7IC8vIGtlZXAgdHJhY2sgb2Ygb3BlbmluZyBge2AgYW5kIGB9YCBvY2N1cnJlbmNlc1xuXG4gICAgICAgICAgICAgICAgICBjbG9zZWQgPSAxOyAvLyB0cmF2ZWwgdG8gdGhlIGVuZCBvZiB0aGUgYmxvY2tcblxuICAgICAgICAgICAgICAgICAgd2hpbGUgKGNhcmV0IDwgZW9mKSB7XG4gICAgICAgICAgICAgICAgICAgIGNoYXIgPSBzdHlsZXMuY2hhckNvZGVBdChjYXJldCk7IC8vIHssIG5lc3RlZCBibG9ja3MgbWF5IGhhdmUgbmVzdGVkIGJsb2Nrc1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChjaGFyID09PSAxMjMpIHtcbiAgICAgICAgICAgICAgICAgICAgICBjbG9zZWQrKztcbiAgICAgICAgICAgICAgICAgICAgfSAvLyB9LFxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChjaGFyID09PSAxMjUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlZC0tO1xuICAgICAgICAgICAgICAgICAgICAgIH0gLy8gYnJlYWsgd2hlbiB0aGUgbmVzdGVkIGJsb2NrIGhhcyBlbmRlZFxuXG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGNsb3NlZCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9IC8vIGJ1aWxkIGNvbnRlbnQgb2YgbmVzdGVkIGJsb2NrXG5cblxuICAgICAgICAgICAgICAgICAgICBpbm5lciArPSBzdHlsZXMuY2hhckF0KGNhcmV0KyspOyAvLyBtb3ZlIGNvbHVtbiBhbmQgbGluZSBwb3NpdGlvblxuXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbiA9IGNoYXIgPT09IDEzIHx8IGNoYXIgPT09IDEwID8gKGxpbmUrKywgMCkgOiBjb2x1bW4gKyAxO1xuICAgICAgICAgICAgICAgICAgfSAvLyBoYW5kbGUgbXVsdGlwbGUgc2VsZWN0b3JzOiBoMSwgaDIgeyBkaXYsIGg0IHt9IH0gc2hvdWxkIGdlbmVyYXRlXG4gICAgICAgICAgICAgICAgICAvLyAtPiBoMSBkaXYsIGgyIGRpdiwgaDIgaDQsIGgyIGRpdiB7fVxuXG5cbiAgICAgICAgICAgICAgICAgIGxlbmd0aCA9IHByZXZTZWxlY3Rvci5sZW5ndGg7XG5cbiAgICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZXh0cmFjdCB2YWx1ZSwgcHJlcCBpbmRleCBmb3IgcmV1c2VcbiAgICAgICAgICAgICAgICAgICAgdGVtcCA9IHByZXZTZWxlY3RvcltqXTtcbiAgICAgICAgICAgICAgICAgICAgaW5kZXhPZiA9IHRlbXAuaW5kZXhPZihwcmVmaXgpO1xuICAgICAgICAgICAgICAgICAgICBwcmV2U2VsZWN0b3Jbal0gPSAnJzsgLy8gc2luY2UgdGhlcmUgY291bGQgYWxzbyBiZSBtdWx0aXBsZSBuZXN0ZWQgc2VsZWN0b3JzXG5cbiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgayA9IDAsIGwgPSBuZXN0U2VsZWN0b3IubGVuZ3RoOyBrIDwgbDsgaysrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4T2YgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RvciA9ICc6Z2xvYmFsKCUpJyArIHRlbXAudHJpbSgpO1xuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RvciA9IHRlbXAucmVwbGFjZShwcmVmaXgsICcmJykudHJpbSgpO1xuICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgIHNlbCA9IG5lc3RTZWxlY3RvcltrXS50cmltKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsLmluZGV4T2YoJyAmJykgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RvciA9IHNlbC5yZXBsYWNlKCcmJywgJycpLnRyaW0oKSArICcgJyArIHNlbGVjdG9yO1xuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZ2xvYmFsUGF0dGVybi5leGVjKHNlbCkgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yID0gc2VsO1xuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RvciA9IHNlbGVjdG9yICsgJyAnICsgc2VsO1xuICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgIHByZXZTZWxlY3RvcltqXSArPSBzZWxlY3Rvci5yZXBsYWNlKGFuZFNwYWNlUGF0dGVybiwgJycpLnRyaW0oKSArIChrID09PSBsIC0gMSA/ICcnIDogJywnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBpZiAobmVzdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIG5lc3QgPSAnJztcbiAgICAgICAgICAgICAgICAgIH0gLy8gY29uY2F0IG5lc3RcblxuXG4gICAgICAgICAgICAgICAgICBuZXN0ICs9ICdcXG4nICsgcHJldlNlbGVjdG9yLmpvaW4oJywnKS5yZXBsYWNlKGdsb2JhbHNQYXR0ZXJuLCAnICQxJykgKyAnIHsnICsgaW5uZXIgKyAnfSc7IC8vIHNpZ25hdHVyZVxuXG4gICAgICAgICAgICAgICAgICBuZXN0ZWQgPSAxOyAvLyBjbGVhciBjdXJyZW50IGxpbmUsIHRvIGF2b2lkIGFkZGluZyBuZXN0ZWQgYmxvY2tzIHRvIHRoZSBub3JtYWwgZmxvd1xuXG4gICAgICAgICAgICAgICAgICBidWZmID0gJyc7IC8vIGRlY3JlYW1lbnQgZGVwdGhcblxuICAgICAgICAgICAgICAgICAgZGVwdGgtLTtcbiAgICAgICAgICAgICAgICB9IC8vIHRvcC1sZXZlbCBzZWxlY3RvclxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHNwZWNpYWwgPT09IDAgfHwgdHlwZSA9PT0gMikge1xuICAgICAgICAgICAgICAgICAgICAvLyByZWdpc3RlciBibG9jayB3aXRoIHBsYWNlaG9sZGVyIHNlbGVjdG9yXG4gICAgICAgICAgICAgICAgICAgIGlmIChpc3BsYWNlID09PSAwICYmIGJ1ZmYuaW5kZXhPZignOjpwbGFjZScpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgIGlzcGxhY2UgPSAxO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3JzID0gYnVmZi5zcGxpdChzcGxpdFBhdHRlcm4pOyAvLyBjdXJyZW50IHNlbGVjdG9yXG5cbiAgICAgICAgICAgICAgICAgICAgYnVpbGQgPSAnJzsgLy8gcHJldmlvdXMgc2VsZWN0b3JcblxuICAgICAgICAgICAgICAgICAgICBwcmV2ID0gJyc7XG4gICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9IHNlbGVjdG9ycy5sZW5ndGg7IC8vIHByZWZpeCBtdWx0aXBsZSBzZWxlY3RvcnMgd2l0aCBuYW1lc2FwY2VzXG4gICAgICAgICAgICAgICAgICAgIC8vIEBleGFtcGxlIGgxLCBoMiwgaDMgLS0+IFtuYW1lc3BhY2VdIGgxLCBbbmFtZXNwYWNlXSBoMSwgLi4uLlxuXG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICBjaGFyID0gKHNlbGVjdG9yID0gc2VsZWN0b3JzW2pdKS5jaGFyQ29kZUF0KDApOyAvLyBgIGAsIHRyaW0gaWYgZmlyc3QgY2hhcmFjdGVyIGlzIGEgc3BhY2VcblxuICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGFyID09PSAzMikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2hhciA9IChzZWxlY3RvciA9IHNlbGVjdG9yLnRyaW0oKSkuY2hhckNvZGVBdCgwKTtcbiAgICAgICAgICAgICAgICAgICAgICB9IC8vICZcblxuXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGNoYXIgPT09IDM4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmU6ICYgeyAvICYmLi4uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yID0gcHJlZml4ICsgc2VsZWN0b3Iuc3Vic3RyaW5nKDEpLnJlcGxhY2UoYW5kUGF0dGVybiwgcHJlZml4KTsgLy8gYWZ0ZXI6ICR7cHJlZml4fSB7IC8gJHtwcmVmaXh9JHtwcmVmaXh9Li4uXG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGRlZmF1bHQgdG8gOmdsb2JhbCBpZiAmIGV4aXN0cyBvdXRzaWRlIG9mIHRoZSBmaXJzdCBub24tc3BhY2UgY2hhcmFjdGVyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGluZGV4T2YgPSBzZWxlY3Rvci5pbmRleE9mKCcgJicpKSA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmVmb3JlOiBodG1sICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RvciA9IHNlbGVjdG9yLnJlcGxhY2UoYW5kUGF0dGVybiwgcHJlZml4KS50cmltKCk7IC8vIGFmdGVyOiBodG1sICR7cHJlZml4fSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IC8vIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGNoYXIgPT09IDU4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dGNvZGUgPSBzZWxlY3Rvci5jaGFyQ29kZUF0KDEpOyAvLyBoLCB0LCA6aG9zdFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbXBhY3QgPT09IHRydWUgJiYgbmV4dGNvZGUgPT09IDEwNCAmJiBzZWxlY3Rvci5jaGFyQ29kZUF0KDQpID09PSAxMTYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRjb2RlID0gc2VsZWN0b3IuY2hhckNvZGVBdCg1KTsgLy8gKCwgOmhvc3Qoc2VsZWN0b3IpXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXh0Y29kZSA9PT0gNDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmVmb3JlOiBgKHNlbGVjdG9yKWBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3IgPSBwcmVmaXggKyBzZWxlY3Rvci5yZXBsYWNlKGhvc3RQYXR0ZXJuLCAnJDEnKS5yZXBsYWNlKGFuZFBhdHRlcm4sIHByZWZpeCk7IC8vIGFmdGVyOiAke3ByZWZ4fSBzZWxlY3RvciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IC8vIC0sIDpob3N0LWNvbnRleHQoc2VsZWN0b3IpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChuZXh0Y29kZSA9PT0gNDUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmU6IGAtY29udGV4dChzZWxlY3RvcilgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3IgPSBzZWxlY3Rvci5yZXBsYWNlKGhvc3RDb250ZXh0UGF0dGVybiwgJyQxICcgKyBwcmVmaXgpLnJlcGxhY2UoYW5kUGF0dGVybiwgcHJlZml4KTsgLy8gYWZ0ZXI6IHNlbGVjdG9yICR7cHJlZml4fSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gLy8gOmhvc3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RvciA9IHByZWZpeCArIHNlbGVjdG9yLnN1YnN0cmluZyg1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAvLyBnLCA6Z2xvYmFsKHNlbGVjdG9yKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKG5leHRjb2RlID09PSAxMDMgJiYgKGNvbXBhY3QgPT09IHRydWUgfHwgKG5leHRjb2RlID0gc2VsZWN0b3IuY2hhckNvZGVBdCg4KSkgPT09IDM3KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9icyA9IDE7IC8vIGJlZm9yZTogYDpnbG9iYWwoc2VsZWN0b3IpYFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yID0gc2VsZWN0b3IucmVwbGFjZShnbG9iYWxQYXR0ZXJuLCAnJDEnKS5yZXBsYWNlKGFuZFBhdHRlcm4sIHByZWZpeCkudHJpbSgpOyAvLyBhZnRlcjogc2VsZWN0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gLy8gOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMsIGV0Yy4uLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3IgPSBwcmVmaXggKyBzZWxlY3RvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9IC8vIG5vbi1wc2V1ZG8gc2VsZWN0b3JzXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGdsb2JzID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RvciA9IHByZWZpeCArICcgJyArIHNlbGVjdG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9IC8vIG1pZGRsZXdhcmUsIHBvc3QtcHJvY2Vzc2VkIHNlbGVjdG9yIGNvbnRleHRcblxuXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHVzZXMgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXAgPSBtaWRkbGV3YXJlKDEuNSwgaiA9PT0gbGVuZ3RoIC0gMSA/IHNlbGVjdG9yLnN1YnN0cmluZygwLCBzZWxlY3Rvci5sZW5ndGggLSAxKS50cmltKCkgOiBzZWxlY3RvciwgbGluZSwgY29sdW1uLCBwcmVmaXgsIG91dHB1dC5sZW5ndGgpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGVtcCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yID0gaiA9PT0gbGVuZ3RoIC0gMSA/IHRlbXAgKyAnIHsnIDogdGVtcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9IC8vIGlmIGZpcnN0IHNlbGVjdG9yIGRvIG5vdCBwcmVmaXggd2l0aCBgLGBcblxuXG4gICAgICAgICAgICAgICAgICAgICAgcHJldiArPSAoaiAhPT0gMCA/ICcsXFxuJyA6ICcnKSArIChnbG9icyAhPT0gMSA/IHNlbGVjdG9yIDogJzpnbG9iYWwoJSknICsgc2VsZWN0b3IpO1xuICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkICs9IGogIT09IDAgPyAnLCcgKyBzZWxlY3RvciA6IHNlbGVjdG9yOyAvLyByZXNldCA6Z2xvYmFsIGZsYWdcblxuICAgICAgICAgICAgICAgICAgICAgIGdsb2JzID0gMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGJ1ZmYgPSBidWlsZDtcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHByZXYgPSBidWZmO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IC8vIG5vdCBzaW5nbGUgYH1gXG4gICAgICAgICAgICAgIGVsc2UgaWYgKChjb2RlID09PSAxMjUgJiYgYnVmZi5sZW5ndGggPT09IDEpID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgaWYgKGpvaW4gPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgYnVmZiA9IGJ1ZmYucmVwbGFjZShuZXdMaW5lUGF0dGVybiwgJycpO1xuICAgICAgICAgICAgICAgICAgfSAvLyA7XG5cblxuICAgICAgICAgICAgICAgICAgaWYgKGNvZGUgIT09IDU5KSB7XG4gICAgICAgICAgICAgICAgICAgIGJ1ZmYgPSAoY29kZSA9PT0gMTI1ID8gYnVmZi5zdWJzdHJpbmcoMCwgYnVmZi5sZW5ndGggLSAxKSA6IGJ1ZmYudHJpbSgpKSArICc7JztcbiAgICAgICAgICAgICAgICAgIH0gLy8gYW5pbWF0aW9uOiBhLCBuLCBpIGNoYXJhY3RlcnNcblxuXG4gICAgICAgICAgICAgICAgICBpZiAoZmlyc3QgPT09IDk3ICYmIHNlY29uZCA9PT0gMTEwICYmIHRoaXJkID09PSAxMDUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gcmVtb3ZlcyA7XG4gICAgICAgICAgICAgICAgICAgIGJ1ZmYgPSBidWZmLnN1YnN0cmluZygwLCBidWZmLmxlbmd0aCAtIDEpOyAvLyBwb3NpdGlvbiBvZiA6XG5cbiAgICAgICAgICAgICAgICAgICAgY29sb24gPSBidWZmLmluZGV4T2YoJzonKSArIDE7IC8vIGxlZnQgaGFuZCBzaWRlIGV2ZXJ5dGhpbmcgYmVmb3JlIGA6YFxuXG4gICAgICAgICAgICAgICAgICAgIGJ1aWxkID0gYnVmZi5zdWJzdHJpbmcoMCwgY29sb24pOyAvLyBzaG9ydCBoYW5kIGFuaW1hdGlvbiBzeW50YXhcblxuICAgICAgICAgICAgICAgICAgICBpZiAoYW5pbWF0aW9ucyA9PT0gdHJ1ZSAmJiBidWZmLmNoYXJDb2RlQXQoOSkgIT09IDQ1KSB7XG4gICAgICAgICAgICAgICAgICAgICAgdmFyIGFuaW1zID0gYnVmZi5zdWJzdHJpbmcoY29sb24pLnRyaW0oKS5zcGxpdCgnLCcpO1xuICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9IGFuaW1zLmxlbmd0aDsgLy8gYmVjYXVzZSB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBhbmltYXRpb25zIGBhbmltYXRpb246IHNsaWRlIDRzLCBzbGlkZU91dCAyc2BcblxuICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhbmltID0gYW5pbXNbal07XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHJvcHMgPSBhbmltLnNwbGl0KCcgJyk7IC8vIHNpbmNlIHdlIGNhbid0IGJlIHN1cmUgb2YgdGhlIHBvc2l0aW9uIG9mIHRoZSBuYW1lIG9mIHRoZSBhbmltYXRpb24gd2UgaGF2ZSB0byBmaW5kIGl0XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGsgPSAwLCBsID0gcHJvcHMubGVuZ3RoOyBrIDwgbDsgaysrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwcm9wID0gcHJvcHNba10udHJpbSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZnJzdCA9IHByb3AuY2hhckNvZGVBdCgwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRocmQgPSBwcm9wLmNoYXJDb2RlQXQoMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsZW4gPSBwcm9wLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxhc3QgPSBwcm9wLmNoYXJDb2RlQXQobGVuIC0gMSk7IC8vIGFuaW1hdGlvbiBuYW1lIHBhcnNlclxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggLy8gZmlyc3QgY2hhcmFjdGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICggLy8gbGV0dGVyc1xuICAgICAgICAgICAgICAgICAgICAgICAgICBmcnN0ID4gNjQgJiYgZnJzdCA8IDkwIHx8IGZyc3QgPiA5NiAmJiBmcnN0IDwgMTIyIHx8IC8vIHRoZSBleGNlcHRpb24gYHVuZGVyc2NvcmVzIG9yIGRhc2hlc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZnJzdCA9PT0gNDUgfHwgLy8gYnV0IHR3byBkYXNoZXMgYXQgdGhlIGJlZ2lubmluZyBhcmUgZm9yYmlkZGVuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZyc3QgPT09IDk1ICYmIHByb3AuY2hhckNvZGVBdCgxKSAhPT0gOTUpICYmIC8vIGN1YmljLWJlemllcigpL3N0ZXBzKCksIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdCAhPT0gNDEgJiYgbGVuICE9PSAwICYmICEoZnJzdCA9PT0gMTA1ICYmICggLy8gaW5maW5pdGUsIGksIGYsIGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyZCA9PT0gMTAyICYmIGxhc3QgPT09IDEwMSAmJiBsZW4gPT09IDggfHwgLy8gaW5pdGlhbFxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJkID09PSAxMDUgJiYgbGFzdCA9PT0gMTA4ICYmIGxlbiA9PT0gNyB8fCAvLyBpbmhlcml0XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRocmQgPT09IDEwNCAmJiBsYXN0ID09PSAxMTYgJiYgbGVuID09PSA3KSkgJiYgLy8gdW5zZXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIShmcnN0ID09PSAxMTcgJiYgdGhyZCA9PT0gMTE1ICYmIGxhc3QgPT09IDExNiAmJiBsZW4gPT09IDUpICYmIC8vIGxpbmVhciwgbCwgbiwgclxuICAgICAgICAgICAgICAgICAgICAgICAgICAhKGZyc3QgPT09IDEwOCAmJiB0aHJkID09PSAxMTAgJiYgbGFzdCA9PT0gMTE0ICYmIGxlbiA9PT0gNikgJiYgLy8gYWx0ZXJuYXRlL2FsdGVybmF0ZS1yZXZlcnNlLCBhLCB0LCBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICEoZnJzdCA9PT0gOTcgJiYgdGhyZCA9PT0gMTE2ICYmIGxhc3QgPT09IDEwMSAmJiAobGVuID09PSA5IHx8IGxlbiA9PT0gMTcpKSAmJiAvLyBub3JtYWwsIG4sIHIsIGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIShmcnN0ID09PSAxMTAgJiYgdGhyZCA9PT0gMTE0ICYmIGxhc3QgPT09IDEwOCAmJiBsZW4gPT09IDYpICYmIC8vIGJhY2t3YXJkcywgYiwgYywgc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAhKGZyc3QgPT09IDk4ICYmIHRocmQgPT09IDk5ICYmIGxhc3QgPT09IDExNSAmJiBsZW4gPT09IDkpICYmIC8vIGZvcndhcmRzLCBmLCByLCBzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICEoZnJzdCA9PT0gMTAyICYmIHRocmQgPT09IDExNCAmJiBsYXN0ID09PSAxMTUgJiYgbGVuID09PSA4KSAmJiAvLyBib3RoLCBiLCB0LCBoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICEoZnJzdCA9PT0gOTggJiYgdGhyZCA9PT0gMTE2ICYmIGxhc3QgPT09IDEwNCAmJiBsZW4gPT09IDQpICYmIC8vIG5vbmUsIG4sIG4sIGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIShmcnN0ID09PSAxMTAgJiYgdGhyZCA9PT0gMTEwICYmIGxhc3QgPT09IDEwMSAmJiBsZW4gPT09IDQpICYmIC8vIHJ1bm5pbmcsIHIsIG4sIGdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIShmcnN0ID09PSAxMTQgJiYgdGhyZCA9PT0gMTEwICYmIGxhc3QgPT09IDEwMyAmJiBsZW4gPT09IDcpICYmIC8vIHBhdXNlZCwgcCwgdSwgZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAhKGZyc3QgPT09IDExMiAmJiB0aHJkID09PSAxMTcgJiYgbGFzdCA9PT0gMTAwICYmIGxlbiA9PT0gNikgJiYgLy8gcmV2ZXJzZWQsIHIsIHYsIGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIShmcnN0ID09PSAxMTQgJiYgdGhyZCA9PT0gMTE4ICYmIGxhc3QgPT09IDEwMCAmJiBsZW4gPT09IDgpICYmIC8vIHN0ZXAtc3RhcnQvc3RlcC1lbmQsIHMsIGUsICh0L2QpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICEoZnJzdCA9PT0gMTE1ICYmIHRocmQgPT09IDEwMSAmJiAobGFzdCA9PT0gMTE2ICYmIGxlbiA9PT0gMTAgfHwgbGFzdCA9PT0gMTAwICYmIGxlbiA9PT0gOCkpICYmIC8vIGVhc2UvZWFzZS1pbi9lYXNlLW91dC9lYXNlLWluLW91dCwgZSwgcywgZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAhKGZyc3QgPT09IDEwMSAmJiB0aHJkID09PSAxMTUgJiYgKGxhc3QgPT09IDEwMSAmJiBsZW4gPT09IDQgfHwgKGxlbiA9PT0gMTEgfHwgbGVuID09PSA3IHx8IGxlbiA9PT0gOCkgJiYgcHJvcC5jaGFyQ29kZUF0KDQpID09PSA0NSkpICYmIC8vIGR1cmF0aW9ucywgMC40bXMsIC40cywgNDAwbXMgLi4uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmFOKHBhcnNlRmxvYXQocHJvcCkpICYmIC8vIGhhbmRsZSBzcGFjZXMgaW4gY3ViaWMtYmV6aWVyKCkvc3RlcHMoKSBmdW5jdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcC5pbmRleE9mKCcoJykgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHNba10gPSBhbmltbnMgKyBwcm9wO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkICs9IChqID09PSAwID8gJycgOiAnLCcpICsgcHJvcHMuam9pbignICcpLnRyaW0oKTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gLy8gZXhwbGljaXQgc3ludGF4LCBhbmltcyBhcnJheSBzaG91bGQgaGF2ZSBvbmx5IG9uZSBlbGVtZW50XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGQgKz0gKGJ1ZmYuY2hhckNvZGVBdCgxMCkgIT09IDExMCA/ICcnIDogYW5pbW5zKSArIGJ1ZmYuc3Vic3RyaW5nKGNvbG9uKS50cmltKCkudHJpbSgpO1xuICAgICAgICAgICAgICAgICAgICAgIH0gLy8gdmVuZG9yIHByZWZpeFxuXG5cbiAgICAgICAgICAgICAgICAgICAgYnVmZiA9IHdlYmtpdCArIGJ1aWxkICsgJzsnICsgYnVpbGQgKyAoY29kZSA9PT0gMTI1ID8gJzt9JyA6ICc7Jyk7XG4gICAgICAgICAgICAgICAgICB9IC8vIGFwcGVhcmFuY2U6IGEsIHAsIHBcbiAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZpcnN0ID09PSA5NyAmJiBzZWNvbmQgPT09IDExMiAmJiB0aGlyZCA9PT0gMTEyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgLy8gdmVuZG9yIHByZWZpeCAtd2Via2l0LSBhbmQgLW1vei1cbiAgICAgICAgICAgICAgICAgICAgICBidWZmID0gd2Via2l0ICsgYnVmZiArIG1veiArIGJ1ZmYgKyBidWZmO1xuICAgICAgICAgICAgICAgICAgICB9IC8vIGRpc3BsYXk6IGQsIGksIHNcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZmlyc3QgPT09IDEwMCAmJiBzZWNvbmQgPT09IDEwNSAmJiB0aGlyZCA9PT0gMTE1KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBmbGV4L2lubGluZS1mbGV4XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGluZGV4T2YgPSBidWZmLmluZGV4T2YoJ2ZsZXgnKSkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGUsIGlubGluZS1mbGV4XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXAgPSBidWZmLmNoYXJDb2RlQXQoaW5kZXhPZiAtIDIpID09PSAxMDEgPyAnaW5saW5lLScgOiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZiA9IGJ1ZmYuaW5kZXhPZignICFpbXBvcnRhbnQnKSAhPT0gLTEgPyAnICFpbXBvcnRhbnQnIDogJyc7IC8vIHZlbmRvciBwcmVmaXhcblxuICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmID0gJ2Rpc3BsYXk6ICcgKyB3ZWJraXQgKyB0ZW1wICsgJ2JveCcgKyBidWZmICsgJzsnICsgJ2Rpc3BsYXk6ICcgKyB3ZWJraXQgKyB0ZW1wICsgJ2ZsZXgnICsgYnVmZiArICc7JyArICdkaXNwbGF5OiAnICsgbXMgKyAnZmxleGJveCcgKyBidWZmICsgJzsnICsgJ2Rpc3BsYXk6ICcgKyB0ZW1wICsgJ2ZsZXgnICsgYnVmZiArICc7JztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9IC8vIHRyYW5zZm9ybXMgJiB0cmFuc2l0aW9uczogdCwgciwgYVxuICAgICAgICAgICAgICAgICAgICAgIC8vIHRleHQtc2l6ZS1hZGp1c3Q6IHQsIGUsIHhcbiAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChmaXJzdCA9PT0gMTE2ICYmIChzZWNvbmQgPT09IDExNCAmJiB0aGlyZCA9PT0gOTcgfHwgc2Vjb25kID09PSAxMDEgJiYgdGhpcmQgPT09IDEyMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmVuZG9yIHByZWZpeCAtd2Via2l0LSBhbmQgLW1zLSBpZiB0cmFuc2Zvcm1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZiA9IHdlYmtpdCArIGJ1ZmYgKyAoYnVmZi5jaGFyQ29kZUF0KDUpID09PSAxMDIgPyBtcyArIGJ1ZmYgOiAnJykgKyBidWZmO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZWNvbmQgKyB0aGlyZCA9PT0gMjExICYmIGJ1ZmYuY2hhckNvZGVBdCgxMikgPT09IDExNSAmJiBidWZmLmluZGV4T2YoJyB0cmFuc2Zvcm0nKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZiA9IGJ1ZmYuc3Vic3RyaW5nKDAsIGJ1ZmYuaW5kZXhPZignOycpICsgMSkucmVwbGFjZSh0cmFuc2Zvcm1QYXR0ZXJuLCAnICcgKyB3ZWJraXQgKyAnJDEnKSArIGJ1ZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gLy8gaHlwaGVuczogaCwgeSwgcFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdXNlci1zZWxlY3Q6IHUsIHMsIGVcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZpcnN0ID09PSAxMDQgJiYgc2Vjb25kID09PSAxMjEgJiYgdGhpcmQgPT09IDExMiB8fCBmaXJzdCA9PT0gMTE3ICYmIHNlY29uZCA9PT0gMTE1ICYmIHRoaXJkID09PSAxMDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB2ZW5kb3IgcHJlZml4IGFsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmYgPSB3ZWJraXQgKyBidWZmICsgbW96ICsgYnVmZiArIG1zICsgYnVmZiArIGJ1ZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0gLy8gZmxleDogZiwgbCwgZVxuICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChmaXJzdCA9PT0gMTAyICYmIHNlY29uZCA9PT0gMTA4ICYmIHRoaXJkID09PSAxMDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZlbmRvciBwcmVmaXggYWxsIGJ1dCBtb3pcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmYgPSB3ZWJraXQgKyBidWZmICsgbXMgKyBidWZmICsgYnVmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IC8vIG9yZGVyOiBvLCByLCBkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZmlyc3QgPT09IDExMSAmJiBzZWNvbmQgPT09IDExNCAmJiB0aGlyZCA9PT0gMTAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZlbmRvciBwcmVmaXggYWxsIGJ1dCBtb3pcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZiA9IHdlYmtpdCArIGJ1ZmYgKyBtcyArICdmbGV4LScgKyBidWZmICsgYnVmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gLy8gYWxpZ24taXRlbXMsIGFsaWduLWNlbnRlciwgYWxpZ24tc2VsZjogYSwgbCwgaSwgLVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZmlyc3QgPT09IDk3ICYmIHNlY29uZCA9PT0gMTA4ICYmIHRoaXJkID09PSAxMDUgJiYgYnVmZi5jaGFyQ29kZUF0KDUpID09PSA0NSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoYnVmZi5jaGFyQ29kZUF0KDYpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbGlnbi1pdGVtcywgaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxMDU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wID0gYnVmZi5yZXBsYWNlKCctaXRlbXMnLCAnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZiA9IHdlYmtpdCArIGJ1ZmYgKyB3ZWJraXQgKyAnYm94LScgKyB0ZW1wICsgbXMgKyAnZmxleC0nICsgdGVtcCArIGJ1ZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFsaWduLXNlbGYsIHNcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxMTU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmID0gbXMgKyAnZmxleC1pdGVtLScgKyBidWZmLnJlcGxhY2UoJy1zZWxmJywgJycpICsgYnVmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWxpZ24tY29udGVudFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZiA9IG1zICsgJ2ZsZXgtbGluZS1wYWNrJyArIGJ1ZmYucmVwbGFjZSgnYWxpZ24tY29udGVudCcsICcnKSArIGJ1ZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gLy8ganVzdGlmeS1jb250ZW50LCBqLCB1LCBzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZpcnN0ID09PSAxMDYgJiYgc2Vjb25kID09PSAxMTcgJiYgdGhpcmQgPT09IDExNSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb24gPSBidWZmLmluZGV4T2YoJzonKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXAgPSBidWZmLnN1YnN0cmluZyhjb2xvbikucmVwbGFjZSgnZmxleC0nLCAnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmID0gd2Via2l0ICsgJ2JveC1wYWNrJyArIHRlbXAgKyB3ZWJraXQgKyBidWZmICsgbXMgKyAnZmxleC1wYWNrJyArIHRlbXAgKyBidWZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gLy8gY3Vyc29yLCBjLCB1LCByXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZmlyc3QgPT09IDk5ICYmIHNlY29uZCA9PT0gMTE3ICYmIHRoaXJkID09PSAxMTQgJiYgL3pvb3xncmEvLmV4ZWMoYnVmZikgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZiA9IGJ1ZmYucmVwbGFjZShjb2xvblBhdHRlcm4sICc6ICcgKyB3ZWJraXQpICsgYnVmZi5yZXBsYWNlKGNvbG9uUGF0dGVybiwgJzogJyArIG1veikgKyBidWZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAvLyB3aWR0aDogbWluLWNvbnRlbnQgLyB3aWR0aDogbWF4LWNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZpcnN0ID09PSAxMTkgJiYgc2Vjb25kID09PSAxMDUgJiYgdGhpcmQgPT09IDEwMCAmJiAoaW5kZXhPZiA9IGJ1ZmYuaW5kZXhPZignLWNvbnRlbnQnKSkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcCA9IGJ1ZmYuc3Vic3RyaW5nKGluZGV4T2YgLSAzKTsgLy8gdmVuZG9yIHByZWZpeFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZiA9ICd3aWR0aDogJyArIHdlYmtpdCArIHRlbXAgKyAnd2lkdGg6ICcgKyBtb3ogKyB0ZW1wICsgJ3dpZHRoOiAnICsgdGVtcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBpZiAoY29kZSAhPT0gNTkpIHtcbiAgICAgICAgICAgICAgICAgICAgYnVmZiA9IGJ1ZmYuc3Vic3RyaW5nKDAsIGJ1ZmYubGVuZ3RoIC0gMSk7IC8vIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoY29kZSA9PT0gMTI1KSB7XG4gICAgICAgICAgICAgICAgICAgICAgYnVmZiArPSAnfSc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IC8vIH0gY2hhcmFjdGVyXG5cblxuICAgICAgICAgICAgICBpZiAoY29kZSA9PT0gMTI1KSB7XG4gICAgICAgICAgICAgICAgaWYgKGRlcHRoICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgICBkZXB0aC0tO1xuICAgICAgICAgICAgICAgIH0gLy8gY29uY2F0IG5lc3RlZCBjc3NcblxuXG4gICAgICAgICAgICAgICAgaWYgKGRlcHRoID09PSAwICYmIG5lc3RlZCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgc3R5bGVzID0gc3R5bGVzLnN1YnN0cmluZygwLCBjYXJldCArIDEpICsgbmVzdCArIHN0eWxlcy5zdWJzdHJpbmcoY2FyZXQgKyAxKTtcbiAgICAgICAgICAgICAgICAgIGVvZiArPSBuZXN0Lmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgIG5lc3QgPSAnJztcbiAgICAgICAgICAgICAgICAgIG5lc3RlZCA9IDA7XG4gICAgICAgICAgICAgICAgICBjbG9zZSsrO1xuICAgICAgICAgICAgICAgIH0gLy8gfSwgYCBgIHdoaXRlc3BhY2VcblxuXG4gICAgICAgICAgICAgICAgaWYgKGZpcnN0ICE9PSAxMjUgJiYgYnVmZi5jaGFyQ29kZUF0KGJ1ZmYubGVuZ3RoIC0gMikgPT09IDMyKSB7XG4gICAgICAgICAgICAgICAgICBidWZmID0gYnVmZi5zdWJzdHJpbmcoMCwgYnVmZi5sZW5ndGggLSAxKS50cmltKCkgKyAnfSc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IC8vIEBrZXlmcmFtZXNcblxuXG4gICAgICAgICAgICAgIGlmIChzcGVjaWFsICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgLy8gfSwgZmluZCBjbG9zaW5nIHRhZ1xuICAgICAgICAgICAgICAgIGlmIChjb2RlID09PSAxMjUpIHtcbiAgICAgICAgICAgICAgICAgIGNsb3NlKys7XG4gICAgICAgICAgICAgICAgfSAvLyB7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoY29kZSA9PT0gMTIzICYmIGNsb3NlICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsb3NlLS07XG4gICAgICAgICAgICAgICAgICB9IC8vIGNsb3NpbmcgdGFnXG5cblxuICAgICAgICAgICAgICAgIGlmIChjbG9zZSA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgLy8gQGtleWZyYW1lc1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGUgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gdmVuZG9yIHByZWZpeFxuICAgICAgICAgICAgICAgICAgICBidWZmID0gJ31AJyArIGJsb2IgKyAnfSc7IC8vIHJlc2V0XG5cbiAgICAgICAgICAgICAgICAgICAgYmxvYiA9ICcnO1xuICAgICAgICAgICAgICAgICAgfSAvLyByZXNldCBzaWduYXR1cmVzXG5cblxuICAgICAgICAgICAgICAgICAgdHlwZSA9IDA7XG4gICAgICAgICAgICAgICAgICBjbG9zZS0tO1xuICAgICAgICAgICAgICAgICAgc3BlY2lhbC0tO1xuICAgICAgICAgICAgICAgIH0gLy8gQGtleWZyYW1lc1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHR5cGUgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgYmxvYiArPSBidWZmO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IC8vIGZsYXQgY29udGV4dFxuICAgICAgICAgICAgICBlbHNlIGlmIChkZXB0aCA9PT0gMCAmJiBjb2RlICE9PSAxMjUpIHtcbiAgICAgICAgICAgICAgICAgIGxldmVscyA9IDE7XG4gICAgICAgICAgICAgICAgICBmbGF0ID0gZmxhdCA9PT0gdW5kZWZpbmVkID8gYnVmZiA6IGZsYXQgKyBidWZmO1xuICAgICAgICAgICAgICAgICAgYnVmZiA9ICcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gLy8gYXBwZW5kIGxpbmUgdG8gYmxjayBidWZmZXJcblxuXG4gICAgICAgICAgYmxjayArPSBidWZmOyAvLyBhZGQgYmxjayBidWZmZXIgdG8gb3V0cHV0XG5cbiAgICAgICAgICBpZiAoY29kZSA9PT0gMTI1ICYmIHR5cGUgPT09IDApIHtcbiAgICAgICAgICAgIGNoYXIgPSBibGNrLmNoYXJDb2RlQXQoYmxjay5sZW5ndGggLSAyKTsgLy8geywgQFxuXG4gICAgICAgICAgICBpZiAoY2hhciAhPT0gMTIzKSB7XG4gICAgICAgICAgICAgIC8vIG1pZGRsZXdhcmUsIGJsb2NrIGNvbnRleHRcbiAgICAgICAgICAgICAgaWYgKHVzZXMgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICB0ZW1wID0gbWlkZGxld2FyZSgzLCBibGNrLCBsaW5lLCBjb2x1bW4sIHByZWZpeCwgb3V0cHV0Lmxlbmd0aCk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGVtcCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICBibGNrID0gdGVtcDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpZiAoaXNwbGFjZSA9PT0gMSkge1xuICAgICAgICAgICAgICAgIGlzcGxhY2UgPSAwO1xuICAgICAgICAgICAgICAgIGJsY2sgPSBibGNrLnJlcGxhY2UocGxhY2Vob2xkZXJQYXR0ZXJuLCAnOjonICsgd2Via2l0ICsgJ2lucHV0LXBsYWNlJykgKyBibGNrLnJlcGxhY2UocGxhY2Vob2xkZXJQYXR0ZXJuLCAnOjonICsgbW96ICsgJ3BsYWNlJykgKyBibGNrLnJlcGxhY2UocGxhY2Vob2xkZXJQYXR0ZXJuLCAnOicgKyBtcyArICdpbnB1dC1wbGFjZScpICsgYmxjaztcbiAgICAgICAgICAgICAgfSAvLyBhcHBlbmQgYmxjayBidWZmZXJcblxuXG4gICAgICAgICAgICAgIG91dHB1dCArPSBibGNrO1xuICAgICAgICAgICAgfSAvLyByZXNldCBibGNrIGJ1ZmZlclxuXG5cbiAgICAgICAgICAgIGJsY2sgPSAnJztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobWVkaWFzID09PSAxKSB7XG4gICAgICAgICAgICAvLyBtaWRkbGV3YXJlLCBibG9jayBjb250ZXh0XG4gICAgICAgICAgICBpZiAodXNlcyA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICB0ZW1wID0gbWlkZGxld2FyZSgzLCBibGNrLCBsaW5lLCBjb2x1bW4sIHByZWZpeCwgb3V0cHV0Lmxlbmd0aCk7XG5cbiAgICAgICAgICAgICAgaWYgKHRlbXAgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIG1lZGlhID0gdGVtcDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBvdXRwdXQgKz0gbWVkaWE7XG4gICAgICAgICAgICBtZWRpYXMgPSAwO1xuICAgICAgICAgICAgbWVkaWEgPSAnJztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBqb2luID0gMDsgLy8gcmVzZXQgbGluZSBidWZmZXJcblxuICAgICAgICAgIGJ1ZmYgPSAnJztcbiAgICAgICAgfSAvLyBidWlsZCBsaW5lIGJ5IGxpbmVcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvLyBcXHIsIFxcbiwgbmV3IGxpbmVzXG4gICAgICAgICAgICBpZiAoY29kZSA9PT0gMTMgfHwgY29kZSA9PT0gMTApIHtcbiAgICAgICAgICAgICAgaWYgKGNvbWxpbmUgPT09IDEpIHtcbiAgICAgICAgICAgICAgICBjb21tZW50ID0gY29tbGluZSA9IDA7XG4gICAgICAgICAgICAgICAgYnVmZiA9IGJ1ZmYuc3Vic3RyaW5nKDAsIGJ1ZmYuaW5kZXhPZignLy8nKSkudHJpbSgpO1xuICAgICAgICAgICAgICB9IC8vIC9cbiAgICAgICAgICAgICAgZWxzZSBpZiAodXNlcyA9PT0gdHJ1ZSAmJiBjb21tZW50ID09PSAwICYmIChsZW5ndGggPSAoc3RyID0gc3RyLnRyaW0oKSkubGVuZ3RoKSAhPT0gMCAmJiBzdHIuY2hhckNvZGVBdCgwKSAhPT0gNDcpIHtcbiAgICAgICAgICAgICAgICAgIGlmIChidWZmLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICB0ZW1wID0gbWlkZGxld2FyZSg3LCBzdHIsIGxpbmUsIGNvbHVtbiwgcHJlZml4LCBvdXRwdXQubGVuZ3RoKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodGVtcCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgYnVmZiA9IGJ1ZmYucmVwbGFjZShuZXcgUmVnRXhwKHN0ciArICckJyksIHRlbXApLnRyaW0oKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBzdHIgPSAnJztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY29sdW1uID0gMDtcbiAgICAgICAgICAgICAgbGluZSsrO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gbm90IGBcXHRgIHRhYiBjaGFyYWN0ZXJcbiAgICAgICAgICAgICAgaWYgKGNvZGUgIT09IDkpIHtcbiAgICAgICAgICAgICAgICBjaGFyYWN0ZXIgPSBzdHlsZXMuY2hhckF0KGNhcmV0KTsgLy8gYnVpbGQgbGluZSBidWZmZXJcblxuICAgICAgICAgICAgICAgIGlmICh1c2VzID09PSB0cnVlICYmIGNvbW1lbnQgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgIHN0ciArPSBjaGFyYWN0ZXI7XG4gICAgICAgICAgICAgICAgfSAvLyBidWlsZCBjaGFyYWN0ZXIgYnVmZmVyXG5cblxuICAgICAgICAgICAgICAgIGJ1ZmYgKz0gY2hhcmFjdGVyO1xuXG4gICAgICAgICAgICAgICAgc3dpdGNoIChjb2RlKSB7XG4gICAgICAgICAgICAgICAgICAvLyAsXG4gICAgICAgICAgICAgICAgICBjYXNlIDQ0OlxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHN0cmluZ3MgPT09IDAgJiYgY29tbWVudCA9PT0gMCAmJiBmdW5jID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBqb2luID0gMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmYgKz0gJ1xcbic7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIC8vIFwiIGNoYXJhY3RlclxuXG4gICAgICAgICAgICAgICAgICBjYXNlIDM0OlxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbW1lbnQgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGV4aXQgc3RyaW5nIFwiIGNvbnRleHQgLyBlbnRlciBzdHJpbmcgY29udGV4dFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5ncyA9IHN0cmluZ3MgPT09IDM0ID8gMCA6IHN0cmluZ3MgPT09IDM5ID8gMzkgOiAzNDtcbiAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgLy8gJyBjaGFyYWN0ZXJcblxuICAgICAgICAgICAgICAgICAgY2FzZSAzOTpcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChjb21tZW50ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBleGl0IHN0cmluZyAnIGNvbnRleHQgLyBlbnRlciBzdHJpbmcgY29udGV4dFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5ncyA9IHN0cmluZ3MgPT09IDM5ID8gMCA6IHN0cmluZ3MgPT09IDM0ID8gMzQgOiAzOTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgLy8gKCBjaGFyYWN0ZXJcblxuICAgICAgICAgICAgICAgICAgY2FzZSA0MDpcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJpbmdzID09PSAwICYmIGNvbW1lbnQgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmMgPSAxO1xuICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAvLyApIGNoYXJhY3RlclxuXG4gICAgICAgICAgICAgICAgICBjYXNlIDQxOlxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHN0cmluZ3MgPT09IDAgJiYgY29tbWVudCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZnVuYyA9IDA7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIC8vIC8gY2hhcmFjdGVyXG5cbiAgICAgICAgICAgICAgICAgIGNhc2UgNDc6XG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5ncyA9PT0gMCAmJiBmdW5jID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGFyID0gc3R5bGVzLmNoYXJDb2RlQXQoY2FyZXQgLSAxKTsgLy8gLywgYmVnaW4gbGluZSBjb21tZW50XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb21ibGNrID09PSAwICYmIGNoYXIgPT09IDQ3KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1lbnQgPSBjb21saW5lID0gMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gLy8gKiwgZW5kIGJsb2NrIGNvbW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGNoYXIgPT09IDQyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWVudCA9IGNvbWJsY2sgPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmYgPSBidWZmLnN1YnN0cmluZygwLCBidWZmLmluZGV4T2YoJy8qJykpLnRyaW0oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAvLyAqIGNoYXJhY3RlclxuXG4gICAgICAgICAgICAgICAgICBjYXNlIDQyOlxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHN0cmluZ3MgPT09IDAgJiYgZnVuYyA9PT0gMCAmJiBjb21saW5lID09PSAwICYmIGNvbWJsY2sgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIC8sIGJlZ2luIGJsb2NrIGNvbW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHlsZXMuY2hhckNvZGVBdChjYXJldCAtIDEpID09PSA0Nykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50ID0gY29tYmxjayA9IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gLy8gbW92ZSBjb2x1bW4gcG9zaXRpb25cblxuXG4gICAgICAgICAgICAgIGNvbHVtbisrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gLy8gbW92ZSBjYXJldCBwb3NpdGlvblxuXG5cbiAgICAgICAgY2FyZXQrKztcbiAgICAgIH0gLy8gdHJhaWxpbmcgZmxhdCBjc3NcblxuXG4gICAgICBpZiAoZmxhdCAhPT0gdW5kZWZpbmVkICYmIGZsYXQubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgIGZsYXQgPSBwcmVmaXggKyAnIHsnICsgZmxhdCArICd9JzsgLy8gbWlkZGxld2FyZSwgZmxhdCBjb250ZXh0XG5cbiAgICAgICAgaWYgKHVzZXMgPT09IHRydWUpIHtcbiAgICAgICAgICB0ZW1wID0gbWlkZGxld2FyZSg0LCBmbGF0LCBsaW5lLCBjb2x1bW4sIHByZWZpeCwgb3V0cHV0Lmxlbmd0aCk7XG5cbiAgICAgICAgICBpZiAodGVtcCAhPSBudWxsKSB7XG4gICAgICAgICAgICBmbGF0ID0gdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gLy8gYXBwZW5kIGZsYXQgY3NzXG5cblxuICAgICAgICBvdXRwdXQgKz0gZmxhdDtcbiAgICAgIH0gLy8gbWlkZGxld2FyZSwgb3V0cHV0IGNvbnRleHRcblxuXG4gICAgICBpZiAodXNlcyA9PT0gdHJ1ZSkge1xuICAgICAgICB0ZW1wID0gbWlkZGxld2FyZSg2LCBvdXRwdXQsIGxpbmUsIGNvbHVtbiwgcHJlZml4LCBvdXRwdXQubGVuZ3RoKTtcblxuICAgICAgICBpZiAodGVtcCAhPSBudWxsKSB7XG4gICAgICAgICAgb3V0cHV0ID0gdGVtcDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gb3V0cHV0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiB1c2UgcGx1Z2luXG4gICAgICpcbiAgICAgKiBAcGFyYW0gIHtzdHJpbmd8ZnVuY3Rpb258ZnVuY3Rpb25bXX0ga2V5XG4gICAgICogQHBhcmFtICB7ZnVuY3Rpb24/fSBwbHVnaW5cbiAgICAgKiBAcmV0dXJuIHtPYmplY3R9IHtwbHVnaW5zfVxuICAgICAqL1xuXG5cbiAgICBmdW5jdGlvbiB1c2UocGx1Z2luKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gcGx1Z2lucy5sZW5ndGg7XG5cbiAgICAgIGlmIChwbHVnaW4gIT0gbnVsbCkge1xuICAgICAgICAvLyBhcnJheSBvZiBwbHVnaW5zXG4gICAgICAgIGlmIChwbHVnaW4uY29uc3RydWN0b3IgPT09IEFycmF5KSB7XG4gICAgICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBwbHVnaW4ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICBwbHVnaW5zW2xlbmd0aCsrXSA9IHBsdWdpbltpXTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gLy8gc2luZ2xlIHVuLWtleWVkIHBsdWdpblxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHBsdWdpbnNbbGVuZ3RoXSA9IHBsdWdpbjtcbiAgICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdHlsaXM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIE1pZGRsZXdhcmUgUHJveHlcbiAgICAgKlxuICAgICAqIEBwYXJhbSAge051bWJlcn0gY3R4XG4gICAgICogQHBhcmFtICB7U3RyaW5nfSBzdHJcbiAgICAgKiBAcGFyYW0gIHtOdW1iZXJ9IGxpbmVcbiAgICAgKiBAcGFyYW0gIHtOdW1iZXJ9IGNvbFxuICAgICAqIEBwYXJhbSAge1N0cmluZ30gcHJlZml4XG4gICAgICogQHBhcmFtICB7TnVtYmVyfSBsZW5ndGhcbiAgICAgKiBAcmV0dXJuIHtTdHJpbmc/fVxuICAgICAqL1xuXG4gICAgZnVuY3Rpb24gcHJveHkoY3R4LCBzdHIsIGxpbmUsIGNvbCwgcHJlZml4LCBsZW5ndGgpIHtcbiAgICAgIHZhciBvdXRwdXQgPSBzdHI7XG5cbiAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gcGx1Z2lucy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgb3V0cHV0ID0gcGx1Z2luc1tpXShjdHgsIG91dHB1dCwgbGluZSwgY29sLCBwcmVmaXgsIGxlbmd0aCkgfHwgb3V0cHV0O1xuICAgICAgfVxuXG4gICAgICBpZiAob3V0cHV0ICE9PSBzdHIpIHtcbiAgICAgICAgcmV0dXJuIG91dHB1dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzdHlsaXMudXNlID0gdXNlO1xuICAgIC8qKlxuICAgICAqIHBsdWdpbiBzdG9yZVxuICAgICAqXG4gICAgICogQHR5cGUge0Z1bmN0aW9uW119XG4gICAgICovXG5cbiAgICBzdHlsaXMucCA9IHBsdWdpbnM7XG4gICAgLyoqXG4gICAgICogcmVndWxhciBleHByZXNpb25zXG4gICAgICpcbiAgICAgKiBAdHlwZSB7T2JqZWN0PHN0cmluZywgUmVnRXhwPn1cbiAgICAgKi9cblxuICAgIHN0eWxpcy5yID0ge1xuICAgICAgYTogYW5kUGF0dGVybixcbiAgICAgIHM6IHNwbGl0UGF0dGVybixcbiAgICAgIGc6IGdsb2JhbFBhdHRlcm4sXG4gICAgICBuOiBnbG9iYWxzUGF0dGVyblxuICAgIH07XG4gICAgcmV0dXJuIHN0eWxpcztcbiAgfSk7XG59KTtcblxudmFyIENvbXBvbmVudFN0eWxlID0gZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBDb21wb25lbnRTdHlsZShydWxlcywgc2VsZWN0b3IpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQ29tcG9uZW50U3R5bGUpO1xuXG4gICAgdGhpcy5ydWxlcyA9IHJ1bGVzO1xuICAgIHRoaXMuc2VsZWN0b3IgPSBzZWxlY3RvcjtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhDb21wb25lbnRTdHlsZSwgW3tcbiAgICBrZXk6IFwiZ2VuZXJhdGVBbmRJbmplY3RcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2VuZXJhdGVBbmRJbmplY3QoKSB7XG4gICAgICBpZiAoIXN0eWxlU2hlZXQuaW5qZWN0ZWQpIHN0eWxlU2hlZXQuaW5qZWN0KCk7XG4gICAgICB2YXIgZmxhdENTUyA9IGZsYXR0ZW4odGhpcy5ydWxlcykuam9pbignJyk7XG4gICAgICB2YXIgY3NzU3RyaW5nID0gdGhpcy5zZWxlY3RvciA/IFwiXCIuY29uY2F0KHRoaXMuc2VsZWN0b3IsIFwiIHsgXCIpLmNvbmNhdChmbGF0Q1NTLCBcIiB9XCIpIDogZmxhdENTUztcbiAgICAgIHZhciBjc3MgPSBzdHlsaXMoJycsIGNzc1N0cmluZywgZmFsc2UsIGZhbHNlKTtcbiAgICAgIHN0eWxlU2hlZXQuaW5zZXJ0KGNzcywge1xuICAgICAgICBnbG9iYWw6IHRydWVcbiAgICAgIH0pO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBDb21wb25lbnRTdHlsZTtcbn0oKTtcblxudmFyIGluamVjdEdsb2JhbCA9IGZ1bmN0aW9uIGluamVjdEdsb2JhbChzdHJpbmdzKSB7XG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBpbnRlcnBvbGF0aW9ucyA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCksIF9rZXkgPSAxOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgaW50ZXJwb2xhdGlvbnNbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICB9XG5cbiAgdmFyIGdsb2JhbFN0eWxlID0gbmV3IENvbXBvbmVudFN0eWxlKGNzcy5hcHBseSh2b2lkIDAsIFtzdHJpbmdzXS5jb25jYXQoaW50ZXJwb2xhdGlvbnMpKSk7XG4gIGdsb2JhbFN0eWxlLmdlbmVyYXRlQW5kSW5qZWN0KCk7XG59O1xuXG52YXIgVGhlbWVQcm92aWRlciA9IHtcbiAgbmFtZTogJ1RoZW1lUHJvdmlkZXInLFxuICBwcm9wczoge1xuICAgIHRoZW1lOiBPYmplY3RcbiAgfSxcbiAgcHJvdmlkZTogZnVuY3Rpb24gcHJvdmlkZSgpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICR0aGVtZTogZnVuY3Rpb24gJHRoZW1lKCkge1xuICAgICAgICByZXR1cm4gX3RoaXMudGhlbWU7XG4gICAgICB9XG4gICAgfTtcbiAgfSxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoY3JlYXRlRWxlbWVudCkge1xuICAgIHJldHVybiBjcmVhdGVFbGVtZW50KCdkaXYnLCB7fSwgdGhpcy4kc2xvdHNbXCJkZWZhdWx0XCJdKTtcbiAgfVxufTtcblxudmFyIF9zdHlsZWRDb21wb25lbnQgPSAoZnVuY3Rpb24gKENvbXBvbmVudFN0eWxlKSB7XG4gIHZhciBjcmVhdGVTdHlsZWRDb21wb25lbnQgPSBmdW5jdGlvbiBjcmVhdGVTdHlsZWRDb21wb25lbnQodGFyZ2V0LCBydWxlcywgcHJvcHMpIHtcbiAgICB2YXIgcHJldlByb3BzID0gdGFyZ2V0ICYmIHR5cGVvZiB0YXJnZXQgIT09ICdzdHJpbmcnID8gX3R5cGVvZih0YXJnZXQpID09PSAnb2JqZWN0JyA/IHRhcmdldC5wcm9wcyA6IHR5cGVvZiB0YXJnZXQgPT09ICdmdW5jdGlvbicgPyB0YXJnZXQub3B0aW9ucy5wcm9wcyA6IHt9IDoge307XG4gICAgdmFyIG1lcmdlZFByb3BzID0gT2JqZWN0LmFzc2lnbih7fSwgcHJldlByb3BzLCBwcm9wcyk7XG4gICAgdmFyIGNvbXBvbmVudFN0eWxlID0gbmV3IENvbXBvbmVudFN0eWxlKHJ1bGVzKTtcbiAgICB2YXIgU3R5bGVkQ29tcG9uZW50ID0ge1xuICAgICAgaW5qZWN0OiB7XG4gICAgICAgICR0aGVtZToge1xuICAgICAgICAgIFwiZGVmYXVsdFwiOiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcHJvcHM6IG1lcmdlZFByb3BzLFxuICAgICAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoY3JlYXRlRWxlbWVudCkge1xuICAgICAgICB2YXIgY2hpbGRyZW4gPSBbXTtcblxuICAgICAgICBmb3IgKHZhciBzbG90IGluIHRoaXMuJHNsb3RzKSB7XG4gICAgICAgICAgaWYgKHNsb3QgPT09ICdkZWZhdWx0Jykge1xuICAgICAgICAgICAgY2hpbGRyZW4ucHVzaCh0aGlzLiRzbG90c1tzbG90XSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNoaWxkcmVuLnB1c2goY3JlYXRlRWxlbWVudCgndGVtcGxhdGUnLCB7XG4gICAgICAgICAgICAgIHNsb3Q6IHNsb3RcbiAgICAgICAgICAgIH0sIHRoaXMuJHNsb3RzW3Nsb3RdKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQodGFyZ2V0LCB7XG4gICAgICAgICAgXCJjbGFzc1wiOiBbdGhpcy5nZW5lcmF0ZWRDbGFzc05hbWVdLFxuICAgICAgICAgIHByb3BzOiB0aGlzLiRwcm9wcyxcbiAgICAgICAgICBkb21Qcm9wczoge1xuICAgICAgICAgICAgdmFsdWU6IHRoaXMudmFsdWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9uOiB0aGlzLiRsaXN0ZW5lcnMsXG4gICAgICAgICAgc2NvcGVkU2xvdHM6IHRoaXMuJHNjb3BlZFNsb3RzXG4gICAgICAgIH0sIGNoaWxkcmVuKTtcbiAgICAgIH0sXG4gICAgICBtZXRob2RzOiB7XG4gICAgICAgIGdlbmVyYXRlQW5kSW5qZWN0U3R5bGVzOiBmdW5jdGlvbiBnZW5lcmF0ZUFuZEluamVjdFN0eWxlcyhjb21wb25lbnRQcm9wcykge1xuICAgICAgICAgIHJldHVybiBjb21wb25lbnRTdHlsZS5nZW5lcmF0ZUFuZEluamVjdFN0eWxlcyhjb21wb25lbnRQcm9wcyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBjb21wdXRlZDoge1xuICAgICAgICBnZW5lcmF0ZWRDbGFzc05hbWU6IGZ1bmN0aW9uIGdlbmVyYXRlZENsYXNzTmFtZSgpIHtcbiAgICAgICAgICB2YXIgY29tcG9uZW50UHJvcHMgPSBPYmplY3QuYXNzaWduKHtcbiAgICAgICAgICAgIHRoZW1lOiB0aGlzLnRoZW1lXG4gICAgICAgICAgfSwgdGhpcy4kcHJvcHMpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmdlbmVyYXRlQW5kSW5qZWN0U3R5bGVzKGNvbXBvbmVudFByb3BzKTtcbiAgICAgICAgfSxcbiAgICAgICAgdGhlbWU6IGZ1bmN0aW9uIHRoZW1lKCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLiR0aGVtZSgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZXh0ZW5kOiBmdW5jdGlvbiBleHRlbmQoZXh0ZW5kZWRSdWxlcykge1xuICAgICAgICByZXR1cm4gY3JlYXRlU3R5bGVkQ29tcG9uZW50KHRhcmdldCwgcnVsZXMuc2xpY2UoKS5jb25jYXQoZXh0ZW5kZWRSdWxlcyksIHByb3BzKTtcbiAgICAgIH0sXG4gICAgICB3aXRoQ29tcG9uZW50OiBmdW5jdGlvbiB3aXRoQ29tcG9uZW50KG5ld1RhcmdldCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlU3R5bGVkQ29tcG9uZW50KG5ld1RhcmdldCwgcnVsZXMsIHByb3BzKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBTdHlsZWRDb21wb25lbnQ7XG4gIH07XG5cbiAgcmV0dXJuIGNyZWF0ZVN0eWxlZENvbXBvbmVudDtcbn0pO1xuXG52YXIgX2NvbXBvbmVudFN0eWxlID0gKGZ1bmN0aW9uIChuYW1lR2VuZXJhdG9yKSB7XG4gIHZhciBpbnNlcnRlZCA9IHt9O1xuXG4gIHZhciBDb21wb25lbnRTdHlsZSA9IGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBDb21wb25lbnRTdHlsZShydWxlcykge1xuICAgICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIENvbXBvbmVudFN0eWxlKTtcblxuICAgICAgdGhpcy5ydWxlcyA9IHJ1bGVzO1xuICAgICAgaWYgKCFzdHlsZVNoZWV0LmluamVjdGVkKSBzdHlsZVNoZWV0LmluamVjdCgpO1xuICAgICAgdGhpcy5pbnNlcnRlZFJ1bGUgPSBzdHlsZVNoZWV0Lmluc2VydCgnJyk7XG4gICAgfVxuXG4gICAgX2NyZWF0ZUNsYXNzKENvbXBvbmVudFN0eWxlLCBbe1xuICAgICAga2V5OiBcImdlbmVyYXRlQW5kSW5qZWN0U3R5bGVzXCIsXG4gICAgICB2YWx1ZTogZnVuY3Rpb24gZ2VuZXJhdGVBbmRJbmplY3RTdHlsZXMoZXhlY3V0aW9uQ29udGV4dCkge1xuICAgICAgICB2YXIgZmxhdENTUyA9IGZsYXR0ZW4odGhpcy5ydWxlcywgZXhlY3V0aW9uQ29udGV4dCkuam9pbignJykucmVwbGFjZSgvXlxccypcXC9cXC8uKiQvZ20sICcnKTtcbiAgICAgICAgdmFyIGhhc2ggPSBoYXNoU3RyKGZsYXRDU1MpO1xuXG4gICAgICAgIGlmICghaW5zZXJ0ZWRbaGFzaF0pIHtcbiAgICAgICAgICB2YXIgc2VsZWN0b3IgPSBuYW1lR2VuZXJhdG9yKGhhc2gpO1xuICAgICAgICAgIGluc2VydGVkW2hhc2hdID0gc2VsZWN0b3I7XG4gICAgICAgICAgdmFyIGNzcyA9IHN0eWxpcyhcIi5cIi5jb25jYXQoc2VsZWN0b3IpLCBmbGF0Q1NTLCBmYWxzZSwgZmFsc2UpO1xuICAgICAgICAgIHRoaXMuaW5zZXJ0ZWRSdWxlLmFwcGVuZFJ1bGUoY3NzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpbnNlcnRlZFtoYXNoXTtcbiAgICAgIH1cbiAgICB9XSk7XG5cbiAgICByZXR1cm4gQ29tcG9uZW50U3R5bGU7XG4gIH0oKTtcblxuICByZXR1cm4gQ29tcG9uZW50U3R5bGU7XG59KTtcblxudmFyIGRvbUVsZW1lbnRzID0gWydhJywgJ2FiYnInLCAnYWRkcmVzcycsICdhcmVhJywgJ2FydGljbGUnLCAnYXNpZGUnLCAnYXVkaW8nLCAnYicsICdiYXNlJywgJ2JkaScsICdiZG8nLCAnYmlnJywgJ2Jsb2NrcXVvdGUnLCAnYm9keScsICdicicsICdidXR0b24nLCAnY2FudmFzJywgJ2NhcHRpb24nLCAnY2l0ZScsICdjb2RlJywgJ2NvbCcsICdjb2xncm91cCcsICdkYXRhJywgJ2RhdGFsaXN0JywgJ2RkJywgJ2RlbCcsICdkZXRhaWxzJywgJ2RmbicsICdkaWFsb2cnLCAnZGl2JywgJ2RsJywgJ2R0JywgJ2VtJywgJ2VtYmVkJywgJ2ZpZWxkc2V0JywgJ2ZpZ2NhcHRpb24nLCAnZmlndXJlJywgJ2Zvb3RlcicsICdmb3JtJywgJ2gxJywgJ2gyJywgJ2gzJywgJ2g0JywgJ2g1JywgJ2g2JywgJ2hlYWQnLCAnaGVhZGVyJywgJ2hncm91cCcsICdocicsICdodG1sJywgJ2knLCAnaWZyYW1lJywgJ2ltZycsICdpbnB1dCcsICdpbnMnLCAna2JkJywgJ2tleWdlbicsICdsYWJlbCcsICdsZWdlbmQnLCAnbGknLCAnbGluaycsICdtYWluJywgJ21hcCcsICdtYXJrJywgJ21lbnUnLCAnbWVudWl0ZW0nLCAnbWV0YScsICdtZXRlcicsICduYXYnLCAnbm9zY3JpcHQnLCAnb2JqZWN0JywgJ29sJywgJ29wdGdyb3VwJywgJ29wdGlvbicsICdvdXRwdXQnLCAncCcsICdwYXJhbScsICdwaWN0dXJlJywgJ3ByZScsICdwcm9ncmVzcycsICdxJywgJ3JwJywgJ3J0JywgJ3J1YnknLCAncycsICdzYW1wJywgJ3NjcmlwdCcsICdzZWN0aW9uJywgJ3NlbGVjdCcsICdzbWFsbCcsICdzb3VyY2UnLCAnc3BhbicsICdzdHJvbmcnLCAnc3R5bGUnLCAnc3ViJywgJ3N1bW1hcnknLCAnc3VwJywgJ3RhYmxlJywgJ3Rib2R5JywgJ3RkJywgJ3RleHRhcmVhJywgJ3Rmb290JywgJ3RoJywgJ3RoZWFkJywgJ3RpbWUnLCAndGl0bGUnLCAndHInLCAndHJhY2snLCAndScsICd1bCcsICd2YXInLCAndmlkZW8nLCAnd2JyJywgJ2NpcmNsZScsICdjbGlwUGF0aCcsICdkZWZzJywgJ2VsbGlwc2UnLCAnZycsICdpbWFnZScsICdsaW5lJywgJ2xpbmVhckdyYWRpZW50JywgJ21hc2snLCAncGF0aCcsICdwYXR0ZXJuJywgJ3BvbHlnb24nLCAncG9seWxpbmUnLCAncmFkaWFsR3JhZGllbnQnLCAncmVjdCcsICdzdG9wJywgJ3N2ZycsICd0ZXh0JywgJ3RzcGFuJ107XG5cbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50VHlwZSh0YWcpIHtcbiAgaWYgKHR5cGVvZiB0YWcgPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiB0YWcgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0YWcgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGRvbUVsZW1lbnRzLmluY2x1ZGVzKHRhZyk7XG4gIH1cblxuICBpZiAoX3R5cGVvZih0YWcpID09PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiAhIXRhZy50ZW1wbGF0ZSB8fCAhIXRhZy53aXRoQ29tcG9uZW50O1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbnZhciBfc3R5bGVkID0gKGZ1bmN0aW9uIChjcmVhdGVTdHlsZWRDb21wb25lbnQpIHtcbiAgdmFyIHN0eWxlZCA9IGZ1bmN0aW9uIHN0eWxlZCh0YWdOYW1lKSB7XG4gICAgdmFyIHByb3BzID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcblxuICAgIGlmICghaXNWYWxpZEVsZW1lbnRUeXBlKHRhZ05hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IodGFnTmFtZSArICcgaXMgbm90IGFsbG93ZWQgZm9yIHN0eWxlZCB0YWcgdHlwZS4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gKGNzc1J1bGVzKSB7XG4gICAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgaW50ZXJwb2xhdGlvbnMgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgICBpbnRlcnBvbGF0aW9uc1tfa2V5IC0gMV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjcmVhdGVTdHlsZWRDb21wb25lbnQodGFnTmFtZSwgY3NzLmFwcGx5KHZvaWQgMCwgW2Nzc1J1bGVzXS5jb25jYXQoaW50ZXJwb2xhdGlvbnMpKSwgcHJvcHMpO1xuICAgIH07XG4gIH07XG5cbiAgZG9tRWxlbWVudHMuZm9yRWFjaChmdW5jdGlvbiAoZG9tRWxlbWVudCkge1xuICAgIHN0eWxlZFtkb21FbGVtZW50XSA9IHN0eWxlZChkb21FbGVtZW50KTtcbiAgfSk7XG4gIHJldHVybiBzdHlsZWQ7XG59KTtcblxudmFyIHN0eWxlZCA9IF9zdHlsZWQoX3N0eWxlZENvbXBvbmVudChfY29tcG9uZW50U3R5bGUoZ2VuZXJhdGVBbHBoYWJldGljTmFtZSkpKTtcblxuZXhwb3J0IGRlZmF1bHQgc3R5bGVkO1xuZXhwb3J0IHsgVGhlbWVQcm92aWRlciwgY3NzLCBpbmplY3RHbG9iYWwsIGtleWZyYW1lcyB9O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZWQtY29tcG9uZW50c0AxLjQuOUB2dWUtc3R5bGVkLWNvbXBvbmVudHMvZGlzdC92dWUtc3R5bGVkLWNvbXBvbmVudHMuZXMuanNcbi8vIG1vZHVsZSBpZCA9IDRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///4\n");
107
108/***/ }),
109/* 5 */
110/***/ (function(module, exports, __webpack_require__) {
111
112"use strict";
113eval("\n\nexports.__esModule = true;\n\nvar _assign = __webpack_require__(40);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvaGVscGVycy9leHRlbmRzLmpzP2UxODciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7O0FBRUEsY0FBYyxtQkFBTyxDQUFDLEVBQTBCOztBQUVoRDs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQSxpQkFBaUIsc0JBQXNCO0FBQ3ZDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBIiwiZmlsZSI6IjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcblxudmFyIF9hc3NpZ24gPSByZXF1aXJlKFwiLi4vY29yZS1qcy9vYmplY3QvYXNzaWduXCIpO1xuXG52YXIgX2Fzc2lnbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hc3NpZ24pO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSBfYXNzaWduMi5kZWZhdWx0IHx8IGZ1bmN0aW9uICh0YXJnZXQpIHtcbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldO1xuXG4gICAgZm9yICh2YXIga2V5IGluIHNvdXJjZSkge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHtcbiAgICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fYmFiZWwtcnVudGltZUA2LjI2LjBAYmFiZWwtcnVudGltZS9oZWxwZXJzL2V4dGVuZHMuanNcbi8vIG1vZHVsZSBpZCA9IDVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///5\n");
114
115/***/ }),
116/* 6 */
117/***/ (function(module, exports, __webpack_require__) {
118
119"use strict";
120eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PropertyMixin = undefined;\n\nvar _lodash = __webpack_require__(36);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar PropertyMixin = exports.PropertyMixin = {\n\n watch: {\n currentEditInstanceKey: function currentEditInstanceKey(n, o) {\n this.initCurrtField();\n }\n },\n props: {\n instanceInfo: Object,\n editor: Object\n },\n data: function data() {\n return {\n name: \"\",\n field: null,\n value: ''\n };\n },\n\n computed: {\n getField: function getField() {\n return this.field;\n },\n getInstanceData: function getInstanceData() {\n return this.instanceInfo.vm.$data;;\n },\n currentEditInstanceKey: function currentEditInstanceKey() {\n var currentEditInstanceKey = this.$store.state.viewport.currentEditInstanceKey;\n return currentEditInstanceKey;\n }\n },\n methods: {\n setInstanceProps: function setInstanceProps(value) {\n this.$store.commit('viewport/setInstanceProps', {\n vm: this.instanceInfo.vm,\n key: this.field,\n value: value\n });\n },\n initCurrtField: function initCurrtField() {\n if (this.instanceInfo && this.instanceInfo.vm) {\n var props = this.instanceInfo.vm.$data;\n var val = _.get(props, this.field);\n if (val !== undefined) {\n this.value = val;\n }\n }\n }\n },\n mounted: function mounted() {\n if (this.editor && this.editor.field) {\n this.field = this.editor.field;\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvc2VydmljZS9tYWluLXRvb2wtZWRpdG9yLXR5cGUtbWl4aW4uanM/ZTc5ZSJdLCJuYW1lcyI6WyJfIiwiUHJvcGVydHlNaXhpbiIsIndhdGNoIiwiY3VycmVudEVkaXRJbnN0YW5jZUtleSIsIm4iLCJvIiwiaW5pdEN1cnJ0RmllbGQiLCJwcm9wcyIsImluc3RhbmNlSW5mbyIsIk9iamVjdCIsImVkaXRvciIsImRhdGEiLCJuYW1lIiwiZmllbGQiLCJ2YWx1ZSIsImNvbXB1dGVkIiwiZ2V0RmllbGQiLCJnZXRJbnN0YW5jZURhdGEiLCJ2bSIsIiRkYXRhIiwiJHN0b3JlIiwic3RhdGUiLCJ2aWV3cG9ydCIsIm1ldGhvZHMiLCJzZXRJbnN0YW5jZVByb3BzIiwiY29tbWl0Iiwia2V5IiwidmFsIiwiZ2V0IiwidW5kZWZpbmVkIiwibW91bnRlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBOztJQUFZQSxDOzs7O0FBQ0wsSUFBTUMsd0NBQWdCOztBQUV6QkMsV0FBTztBQUNIQyw4QkFERyxrQ0FDcUJDLENBRHJCLEVBQ3dCQyxDQUR4QixFQUMyQjtBQUUxQixpQkFBS0MsY0FBTDtBQUNIO0FBSkUsS0FGa0I7QUFZekJDLFdBQU87QUFDSEMsc0JBQWNDLE1BRFg7QUFFSEMsZ0JBQVFEO0FBRkwsS0Faa0I7QUFnQnpCRSxRQWhCeUIsa0JBZ0JqQjtBQUNKLGVBQU87QUFDSEMsa0JBQUssRUFERjtBQUVIQyxtQkFBTyxJQUZKO0FBR0hDLG1CQUFPO0FBSEosU0FBUDtBQUtILEtBdEJ3Qjs7QUF1QnpCQyxjQUFVO0FBQ05DLGdCQURNLHNCQUNJO0FBQ04sbUJBQU8sS0FBS0gsS0FBWjtBQUNILFNBSEs7QUFJTkksdUJBSk0sNkJBSVc7QUFDZixtQkFBTyxLQUFLVCxZQUFMLENBQWtCVSxFQUFsQixDQUFxQkMsS0FBNUIsQ0FBa0M7QUFDbkMsU0FOSztBQU9OaEIsOEJBUE0sb0NBT29CO0FBQ3RCLGdCQUFJQSx5QkFBeUIsS0FBS2lCLE1BQUwsQ0FBWUMsS0FBWixDQUFrQkMsUUFBbEIsQ0FBMkJuQixzQkFBeEQ7QUFDQSxtQkFBT0Esc0JBQVA7QUFDSDtBQVZLLEtBdkJlO0FBbUN6Qm9CLGFBQVM7QUFDTEMsd0JBREssNEJBQ2FWLEtBRGIsRUFDb0I7QUFDckIsaUJBQUtNLE1BQUwsQ0FBWUssTUFBWixDQUFtQiwyQkFBbkIsRUFBZ0Q7QUFDNUNQLG9CQUFJLEtBQUtWLFlBQUwsQ0FBa0JVLEVBRHNCO0FBRTVDUSxxQkFBSyxLQUFLYixLQUZrQztBQUc1Q0M7QUFINEMsYUFBaEQ7QUFLSCxTQVBJO0FBUUxSLHNCQVJLLDRCQVFhO0FBQ2QsZ0JBQUcsS0FBS0UsWUFBTCxJQUFtQixLQUFLQSxZQUFMLENBQWtCVSxFQUF4QyxFQUEyQztBQUN2QyxvQkFBSVgsUUFBUSxLQUFLQyxZQUFMLENBQWtCVSxFQUFsQixDQUFxQkMsS0FBakM7QUFDQSxvQkFBSVEsTUFBTTNCLEVBQUU0QixHQUFGLENBQU1yQixLQUFOLEVBQWEsS0FBS00sS0FBbEIsQ0FBVjtBQUNBLG9CQUFJYyxRQUFRRSxTQUFaLEVBQXVCO0FBQ25CLHlCQUFLZixLQUFMLEdBQWFhLEdBQWI7QUFDSDtBQUNKO0FBRUo7QUFqQkksS0FuQ2dCO0FBc0R6QkcsV0F0RHlCLHFCQXNEZDtBQUNQLFlBQUksS0FBS3BCLE1BQUwsSUFBYSxLQUFLQSxNQUFMLENBQVlHLEtBQTdCLEVBQW9DO0FBQ2hDLGlCQUFLQSxLQUFMLEdBQWEsS0FBS0gsTUFBTCxDQUFZRyxLQUF6QjtBQUNIO0FBQ0o7QUExRHdCLENBQXRCIiwiZmlsZSI6IjYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xyXG5leHBvcnQgY29uc3QgUHJvcGVydHlNaXhpbiA9IHtcclxuXHJcbiAgICB3YXRjaDoge1xyXG4gICAgICAgIGN1cnJlbnRFZGl0SW5zdGFuY2VLZXkgKG4sIG8pIHtcclxuICAgICAgICAgICAgLy8gaW5pdFxyXG4gICAgICAgICAgICB0aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAvLyBnZXRJbnN0YW5jZURhdGEobiwgbykge1xyXG4gICAgICAgIC8vICAgICAvLyBpbml0XHJcbiAgICAgICAgLy9cclxuICAgICAgICAvLyB9LFxyXG4gICAgfSxcclxuICAgIHByb3BzOiB7XHJcbiAgICAgICAgaW5zdGFuY2VJbmZvOiBPYmplY3QsXHJcbiAgICAgICAgZWRpdG9yOiBPYmplY3RcclxuICAgIH0sXHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBuYW1lOlwiXCIsXHJcbiAgICAgICAgICAgIGZpZWxkOiBudWxsLFxyXG4gICAgICAgICAgICB2YWx1ZTogJydcclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIGNvbXB1dGVkOiB7XHJcbiAgICAgICAgZ2V0RmllbGQoKXtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmllbGRcclxuICAgICAgICB9LFxyXG4gICAgICAgIGdldEluc3RhbmNlRGF0YSgpe1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuaW5zdGFuY2VJbmZvLnZtLiRkYXRhOztcclxuICAgICAgICB9LFxyXG4gICAgICAgIGN1cnJlbnRFZGl0SW5zdGFuY2VLZXkgKCkge1xyXG4gICAgICAgICAgICBsZXQgY3VycmVudEVkaXRJbnN0YW5jZUtleSA9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXk7XHJcbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50RWRpdEluc3RhbmNlS2V5O1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtZXRob2RzOiB7XHJcbiAgICAgICAgc2V0SW5zdGFuY2VQcm9wcyAodmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9zZXRJbnN0YW5jZVByb3BzJywge1xyXG4gICAgICAgICAgICAgICAgdm06IHRoaXMuaW5zdGFuY2VJbmZvLnZtLFxyXG4gICAgICAgICAgICAgICAga2V5OiB0aGlzLmZpZWxkLFxyXG4gICAgICAgICAgICAgICAgdmFsdWVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBpbml0Q3VycnRGaWVsZCAoKSB7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuaW5zdGFuY2VJbmZvJiZ0aGlzLmluc3RhbmNlSW5mby52bSl7XHJcbiAgICAgICAgICAgICAgICBsZXQgcHJvcHMgPSB0aGlzLmluc3RhbmNlSW5mby52bS4kZGF0YTtcclxuICAgICAgICAgICAgICAgIGxldCB2YWwgPSBfLmdldChwcm9wcywgdGhpcy5maWVsZCk7XHJcbiAgICAgICAgICAgICAgICBpZiAodmFsICE9PSB1bmRlZmluZWQpIHsvL+aUueS4unVuZGVmaW5lZCzmoKHpqoxib29sZWFu57G75Z6LZmFsc2XplJnor69cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtb3VudGVkICgpIHtcclxuICAgICAgICBpZiAodGhpcy5lZGl0b3ImJnRoaXMuZWRpdG9yLmZpZWxkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmllbGQgPSB0aGlzLmVkaXRvci5maWVsZDtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxufVxyXG47XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9zZXJ2aWNlL21haW4tdG9vbC1lZGl0b3ItdHlwZS1taXhpbi5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///6\n");
121
122/***/ }),
123/* 7 */
124/***/ (function(module, exports, __webpack_require__) {
125
126"use strict";
127eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar commonProperty = exports.commonProperty = [{\n field: 'property.label',\n text: '标签',\n type: 'string'\n}, {\n field: 'property.prop',\n text: '属性名称',\n type: 'reqSelect'\n}];\nvar commonExtend = exports.commonExtend = [];\nvar commonTool = exports.commonTool = {\n assembleData: function assembleData(editors) {\n this.mergeArr(editors, \"属性\", commonProperty);\n this.mergeArr(editors, \"扩展属性\", commonExtend);\n },\n mergeArr: function mergeArr(originalArr, key, propertyArr) {\n var propertyIndex = _.indexOf(originalArr, key) + 1;\n if (propertyIndex > 0) {\n for (var i = 0; i < propertyArr.length; i++) {\n originalArr.splice(propertyIndex, 0, propertyArr[i]);\n }\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9jb21tb24vY29tbW9uLmpzPzM5MWEiXSwibmFtZXMiOlsiY29tbW9uUHJvcGVydHkiLCJmaWVsZCIsInRleHQiLCJ0eXBlIiwiY29tbW9uRXh0ZW5kIiwiY29tbW9uVG9vbCIsImFzc2VtYmxlRGF0YSIsImVkaXRvcnMiLCJtZXJnZUFyciIsIm9yaWdpbmFsQXJyIiwia2V5IiwicHJvcGVydHlBcnIiLCJwcm9wZXJ0eUluZGV4IiwiXyIsImluZGV4T2YiLCJpIiwibGVuZ3RoIiwic3BsaWNlIl0sIm1hcHBpbmdzIjoiOzs7OztBQVdPLElBQU1BLDBDQUFpQixDQUMxQjtBQUNJQyxXQUFPLGdCQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0FEMEIsRUFNMUI7QUFDSUYsV0FBTyxlQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0FOMEIsQ0FBdkI7QUFZQSxJQUFNQyxzQ0FBZSxFQUFyQjtBQW9DQSxJQUFNQyxrQ0FBYTtBQUN0QkMsa0JBQWEsc0JBQVNDLE9BQVQsRUFBaUI7QUFDMUIsYUFBS0MsUUFBTCxDQUFjRCxPQUFkLEVBQXNCLElBQXRCLEVBQTJCUCxjQUEzQjtBQUNBLGFBQUtRLFFBQUwsQ0FBY0QsT0FBZCxFQUFzQixNQUF0QixFQUE2QkgsWUFBN0I7QUFHSCxLQU5xQjtBQU90QkksY0FBUyxrQkFBU0MsV0FBVCxFQUFxQkMsR0FBckIsRUFBeUJDLFdBQXpCLEVBQXFDO0FBQzFDLFlBQUlDLGdCQUFlQyxFQUFFQyxPQUFGLENBQVVMLFdBQVYsRUFBc0JDLEdBQXRCLElBQTJCLENBQTlDO0FBQ0EsWUFBR0UsZ0JBQWMsQ0FBakIsRUFBbUI7QUFDZixpQkFBSSxJQUFJRyxJQUFFLENBQVYsRUFBWUEsSUFBRUosWUFBWUssTUFBMUIsRUFBaUNELEdBQWpDLEVBQXFDO0FBQ2pDTiw0QkFBWVEsTUFBWixDQUFtQkwsYUFBbkIsRUFBa0MsQ0FBbEMsRUFBcUNELFlBQVlJLENBQVosQ0FBckM7QUFDSDtBQUNKO0FBQ0o7QUFkcUIsQ0FBbkIiLCJmaWxlIjoiNy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKkBhdXRob3IgICAgICAg5Y+256ug5rWpXHJcbiAqQGRhdGUgICAgICAgICAgMTU6MTdcclxuICpAQ29weXJpZ2h0ICAgIOWkqea6kOi/quenkeS/oeaBr+aKgOacr+iCoeS7veaciemZkOWFrOWPuFxyXG4gKkBEZXNjcmlwdGlvblxyXG4gKi9cclxuLypcclxuTm90ZSDms6jlhozlm5vkuKrlhazlhbHnmoTlsZ7mgKfmsaDvvIzlsZ7mgKfjgIHmianlsZXlsZ7mgKfvvIjmoKHpqozjgIHmianlsZXmoKHpqowg5pqC5LiN6ZyA6KaB77yM6YCa6L+H5re75Yqg5pWw57uE5pa55byP6L+95Yqg77yJO2NvbW1vblRvb2wg55So5p2l5aSE55CG5pWw5o2u5YWs5YWx5pa55rOVXHJcbiAqL1xyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBjb21tb25Qcm9wZXJ0eSA9IFtcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmxhYmVsJyxcclxuICAgICAgICB0ZXh0OiAn5qCH562+JyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5wcm9wJyxcclxuICAgICAgICB0ZXh0OiAn5bGe5oCn5ZCN56ewJyxcclxuICAgICAgICB0eXBlOiAncmVxU2VsZWN0J1xyXG4gICAgfVxyXG5dO1xyXG5leHBvcnQgY29uc3QgY29tbW9uRXh0ZW5kID0gW1xyXG5cclxuXHJcbl07XHJcbi8qXHJcbmV4cG9ydCBjb25zdCBjb21tb25WYWxpZGF0ZSA9IFtcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3ZhbGlkYXRlLnJlcXVpcmVkJyxcclxuICAgICAgICB0ZXh0OiAncmVxdWlyZWQnLFxyXG4gICAgICAgIHR5cGU6ICdib29sZWFuJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3ZhbGlkYXRlLm1lc3NhZ2UnLFxyXG4gICAgICAgIHRleHQ6ICdtZXNzYWdlJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfVxyXG5dO1xyXG5leHBvcnQgY29uc3QgY29tbW9uVmFsaWRhdGUyID0gW1xyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAndmFsaWRhdGUyLnR5cGUnLFxyXG4gICAgICAgIHRleHQ6ICd0eXBlJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3ZhbGlkYXRlMi5tZXNzYWdlJyxcclxuICAgICAgICB0ZXh0OiAnbWVzc2FnZScsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICd2YWxpZGF0ZTIudHJpZ2dlcicsXHJcbiAgICAgICAgdGV4dDogJ3RyaWdnZXInLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnXHJcbiAgICB9XHJcbl07XHJcbiovXHJcblxyXG5leHBvcnQgY29uc3QgY29tbW9uVG9vbCA9IHtcclxuICAgIGFzc2VtYmxlRGF0YTpmdW5jdGlvbihlZGl0b3JzKXtcclxuICAgICAgICB0aGlzLm1lcmdlQXJyKGVkaXRvcnMsXCLlsZ7mgKdcIixjb21tb25Qcm9wZXJ0eSk7XHJcbiAgICAgICAgdGhpcy5tZXJnZUFycihlZGl0b3JzLFwi5omp5bGV5bGe5oCnXCIsY29tbW9uRXh0ZW5kKTtcclxuICAgICAgLyogIHRoaXMubWVyZ2VBcnIoZWRpdG9ycyxcIuagoemqjOinhOWImVwiLGNvbW1vblZhbGlkYXRlKTtcclxuICAgICAgICB0aGlzLm1lcmdlQXJyKGVkaXRvcnMsXCLmianlsZXmoKHpqoxcIixjb21tb25WYWxpZGF0ZTIpOyovXHJcbiAgICB9LFxyXG4gICAgbWVyZ2VBcnI6ZnVuY3Rpb24ob3JpZ2luYWxBcnIsa2V5LHByb3BlcnR5QXJyKXtcclxuICAgICAgICBsZXQgcHJvcGVydHlJbmRleD0gXy5pbmRleE9mKG9yaWdpbmFsQXJyLGtleSkrMTtcclxuICAgICAgICBpZihwcm9wZXJ0eUluZGV4PjApe1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MDtpPHByb3BlcnR5QXJyLmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgb3JpZ2luYWxBcnIuc3BsaWNlKHByb3BlcnR5SW5kZXgsIDAsIHByb3BlcnR5QXJyW2ldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufTtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvY29tbW9uL2NvbW1vbi5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///7\n");
128
129/***/ }),
130/* 8 */
131/***/ (function(module, exports, __webpack_require__) {
132
133"use strict";
134eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vue = __webpack_require__(62);\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = new _vue2.default();\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvc2VydmljZS9ldmVudGJ1cy5qcz8xZjVkIl0sIm5hbWVzIjpbIlZ1ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7Ozs7OztrQkFFZSxJQUFJQSxhQUFKLEUiLCJmaWxlIjoiOC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBWdWUgZnJvbSAndnVlJztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBWdWUoKTtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3NlcnZpY2UvZXZlbnRidXMuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///8\n");
135
136/***/ }),
137/* 9 */
138/***/ (function(module, exports) {
139
140eval("var core = module.exports = { version: '2.6.9' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2NvcmUuanM/NDZmZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2QkFBNkI7QUFDN0IsdUNBQXVDIiwiZmlsZSI6IjkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgY29yZSA9IG1vZHVsZS5leHBvcnRzID0geyB2ZXJzaW9uOiAnMi42LjknIH07XG5pZiAodHlwZW9mIF9fZSA9PSAnbnVtYmVyJykgX19lID0gY29yZTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2NvcmUuanNcbi8vIG1vZHVsZSBpZCA9IDlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///9\n");
141
142/***/ }),
143/* 10 */
144/***/ (function(module, exports, __webpack_require__) {
145
146eval("var global = __webpack_require__(11);\nvar core = __webpack_require__(9);\nvar ctx = __webpack_require__(19);\nvar hide = __webpack_require__(22);\nvar has = __webpack_require__(32);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2V4cG9ydC5qcz9mMjU3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGFBQWEsbUJBQU8sQ0FBQyxFQUFXO0FBQ2hDLFdBQVcsbUJBQU8sQ0FBQyxDQUFTO0FBQzVCLFVBQVUsbUJBQU8sQ0FBQyxFQUFRO0FBQzFCLFdBQVcsbUJBQU8sQ0FBQyxFQUFTO0FBQzVCLFVBQVUsbUJBQU8sQ0FBQyxFQUFRO0FBQzFCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUVBQWlFO0FBQ2pFO0FBQ0Esa0ZBQWtGO0FBQ2xGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSwrQ0FBK0M7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkLGNBQWM7QUFDZCxjQUFjO0FBQ2QsY0FBYztBQUNkLGVBQWU7QUFDZixlQUFlO0FBQ2YsZUFBZTtBQUNmLGdCQUFnQjtBQUNoQiIsImZpbGUiOiIxMC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBjb3JlID0gcmVxdWlyZSgnLi9fY29yZScpO1xudmFyIGN0eCA9IHJlcXVpcmUoJy4vX2N0eCcpO1xudmFyIGhpZGUgPSByZXF1aXJlKCcuL19oaWRlJyk7XG52YXIgaGFzID0gcmVxdWlyZSgnLi9faGFzJyk7XG52YXIgUFJPVE9UWVBFID0gJ3Byb3RvdHlwZSc7XG5cbnZhciAkZXhwb3J0ID0gZnVuY3Rpb24gKHR5cGUsIG5hbWUsIHNvdXJjZSkge1xuICB2YXIgSVNfRk9SQ0VEID0gdHlwZSAmICRleHBvcnQuRjtcbiAgdmFyIElTX0dMT0JBTCA9IHR5cGUgJiAkZXhwb3J0Lkc7XG4gIHZhciBJU19TVEFUSUMgPSB0eXBlICYgJGV4cG9ydC5TO1xuICB2YXIgSVNfUFJPVE8gPSB0eXBlICYgJGV4cG9ydC5QO1xuICB2YXIgSVNfQklORCA9IHR5cGUgJiAkZXhwb3J0LkI7XG4gIHZhciBJU19XUkFQID0gdHlwZSAmICRleHBvcnQuVztcbiAgdmFyIGV4cG9ydHMgPSBJU19HTE9CQUwgPyBjb3JlIDogY29yZVtuYW1lXSB8fCAoY29yZVtuYW1lXSA9IHt9KTtcbiAgdmFyIGV4cFByb3RvID0gZXhwb3J0c1tQUk9UT1RZUEVdO1xuICB2YXIgdGFyZ2V0ID0gSVNfR0xPQkFMID8gZ2xvYmFsIDogSVNfU1RBVElDID8gZ2xvYmFsW25hbWVdIDogKGdsb2JhbFtuYW1lXSB8fCB7fSlbUFJPVE9UWVBFXTtcbiAgdmFyIGtleSwgb3duLCBvdXQ7XG4gIGlmIChJU19HTE9CQUwpIHNvdXJjZSA9IG5hbWU7XG4gIGZvciAoa2V5IGluIHNvdXJjZSkge1xuICAgIC8vIGNvbnRhaW5zIGluIG5hdGl2ZVxuICAgIG93biA9ICFJU19GT1JDRUQgJiYgdGFyZ2V0ICYmIHRhcmdldFtrZXldICE9PSB1bmRlZmluZWQ7XG4gICAgaWYgKG93biAmJiBoYXMoZXhwb3J0cywga2V5KSkgY29udGludWU7XG4gICAgLy8gZXhwb3J0IG5hdGl2ZSBvciBwYXNzZWRcbiAgICBvdXQgPSBvd24gPyB0YXJnZXRba2V5XSA6IHNvdXJjZVtrZXldO1xuICAgIC8vIHByZXZlbnQgZ2xvYmFsIHBvbGx1dGlvbiBmb3IgbmFtZXNwYWNlc1xuICAgIGV4cG9ydHNba2V5XSA9IElTX0dMT0JBTCAmJiB0eXBlb2YgdGFyZ2V0W2tleV0gIT0gJ2Z1bmN0aW9uJyA/IHNvdXJjZVtrZXldXG4gICAgLy8gYmluZCB0aW1lcnMgdG8gZ2xvYmFsIGZvciBjYWxsIGZyb20gZXhwb3J0IGNvbnRleHRcbiAgICA6IElTX0JJTkQgJiYgb3duID8gY3R4KG91dCwgZ2xvYmFsKVxuICAgIC8vIHdyYXAgZ2xvYmFsIGNvbnN0cnVjdG9ycyBmb3IgcHJldmVudCBjaGFuZ2UgdGhlbSBpbiBsaWJyYXJ5XG4gICAgOiBJU19XUkFQICYmIHRhcmdldFtrZXldID09IG91dCA/IChmdW5jdGlvbiAoQykge1xuICAgICAgdmFyIEYgPSBmdW5jdGlvbiAoYSwgYiwgYykge1xuICAgICAgICBpZiAodGhpcyBpbnN0YW5jZW9mIEMpIHtcbiAgICAgICAgICBzd2l0Y2ggKGFyZ3VtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNhc2UgMDogcmV0dXJuIG5ldyBDKCk7XG4gICAgICAgICAgICBjYXNlIDE6IHJldHVybiBuZXcgQyhhKTtcbiAgICAgICAgICAgIGNhc2UgMjogcmV0dXJuIG5ldyBDKGEsIGIpO1xuICAgICAgICAgIH0gcmV0dXJuIG5ldyBDKGEsIGIsIGMpO1xuICAgICAgICB9IHJldHVybiBDLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICB9O1xuICAgICAgRltQUk9UT1RZUEVdID0gQ1tQUk9UT1RZUEVdO1xuICAgICAgcmV0dXJuIEY7XG4gICAgLy8gbWFrZSBzdGF0aWMgdmVyc2lvbnMgZm9yIHByb3RvdHlwZSBtZXRob2RzXG4gICAgfSkob3V0KSA6IElTX1BST1RPICYmIHR5cGVvZiBvdXQgPT0gJ2Z1bmN0aW9uJyA/IGN0eChGdW5jdGlvbi5jYWxsLCBvdXQpIDogb3V0O1xuICAgIC8vIGV4cG9ydCBwcm90byBtZXRob2RzIHRvIGNvcmUuJUNPTlNUUlVDVE9SJS5tZXRob2RzLiVOQU1FJVxuICAgIGlmIChJU19QUk9UTykge1xuICAgICAgKGV4cG9ydHMudmlydHVhbCB8fCAoZXhwb3J0cy52aXJ0dWFsID0ge30pKVtrZXldID0gb3V0O1xuICAgICAgLy8gZXhwb3J0IHByb3RvIG1ldGhvZHMgdG8gY29yZS4lQ09OU1RSVUNUT1IlLnByb3RvdHlwZS4lTkFNRSVcbiAgICAgIGlmICh0eXBlICYgJGV4cG9ydC5SICYmIGV4cFByb3RvICYmICFleHBQcm90b1trZXldKSBoaWRlKGV4cFByb3RvLCBrZXksIG91dCk7XG4gICAgfVxuICB9XG59O1xuLy8gdHlwZSBiaXRtYXBcbiRleHBvcnQuRiA9IDE7ICAgLy8gZm9yY2VkXG4kZXhwb3J0LkcgPSAyOyAgIC8vIGdsb2JhbFxuJGV4cG9ydC5TID0gNDsgICAvLyBzdGF0aWNcbiRleHBvcnQuUCA9IDg7ICAgLy8gcHJvdG9cbiRleHBvcnQuQiA9IDE2OyAgLy8gYmluZFxuJGV4cG9ydC5XID0gMzI7ICAvLyB3cmFwXG4kZXhwb3J0LlUgPSA2NDsgIC8vIHNhZmVcbiRleHBvcnQuUiA9IDEyODsgLy8gcmVhbCBwcm90byBtZXRob2QgZm9yIGBsaWJyYXJ5YFxubW9kdWxlLmV4cG9ydHMgPSAkZXhwb3J0O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2V4cG9ydC5qc1xuLy8gbW9kdWxlIGlkID0gMTBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///10\n");
147
148/***/ }),
149/* 11 */
150/***/ (function(module, exports) {
151
152eval("// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2dsb2JhbC5qcz8wNDRlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUMiLCJmaWxlIjoiMTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vemxvaXJvY2svY29yZS1qcy9pc3N1ZXMvODYjaXNzdWVjb21tZW50LTExNTc1OTAyOFxudmFyIGdsb2JhbCA9IG1vZHVsZS5leHBvcnRzID0gdHlwZW9mIHdpbmRvdyAhPSAndW5kZWZpbmVkJyAmJiB3aW5kb3cuTWF0aCA9PSBNYXRoXG4gID8gd2luZG93IDogdHlwZW9mIHNlbGYgIT0gJ3VuZGVmaW5lZCcgJiYgc2VsZi5NYXRoID09IE1hdGggPyBzZWxmXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1uZXctZnVuY1xuICA6IEZ1bmN0aW9uKCdyZXR1cm4gdGhpcycpKCk7XG5pZiAodHlwZW9mIF9fZyA9PSAnbnVtYmVyJykgX19nID0gZ2xvYmFsOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVuZGVmXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZ2xvYmFsLmpzXG4vLyBtb2R1bGUgaWQgPSAxMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///11\n");
153
154/***/ }),
155/* 12 */
156/***/ (function(module, exports, __webpack_require__) {
157
158eval("var store = __webpack_require__(73)('wks');\nvar uid = __webpack_require__(58);\nvar Symbol = __webpack_require__(11).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3drcy5qcz82MjU0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksbUJBQU8sQ0FBQyxFQUFXO0FBQy9CLFVBQVUsbUJBQU8sQ0FBQyxFQUFRO0FBQzFCLGFBQWEsbUJBQU8sQ0FBQyxFQUFXO0FBQ2hDOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6IjEyLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHN0b3JlID0gcmVxdWlyZSgnLi9fc2hhcmVkJykoJ3drcycpO1xudmFyIHVpZCA9IHJlcXVpcmUoJy4vX3VpZCcpO1xudmFyIFN5bWJvbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpLlN5bWJvbDtcbnZhciBVU0VfU1lNQk9MID0gdHlwZW9mIFN5bWJvbCA9PSAnZnVuY3Rpb24nO1xuXG52YXIgJGV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gIHJldHVybiBzdG9yZVtuYW1lXSB8fCAoc3RvcmVbbmFtZV0gPVxuICAgIFVTRV9TWU1CT0wgJiYgU3ltYm9sW25hbWVdIHx8IChVU0VfU1lNQk9MID8gU3ltYm9sIDogdWlkKSgnU3ltYm9sLicgKyBuYW1lKSk7XG59O1xuXG4kZXhwb3J0cy5zdG9yZSA9IHN0b3JlO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3drcy5qc1xuLy8gbW9kdWxlIGlkID0gMTJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///12\n");
159
160/***/ }),
161/* 13 */
162/***/ (function(module, __webpack_exports__, __webpack_require__) {
163
164"use strict";
165eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_commomHoverModal_vue__ = __webpack_require__(168);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_commomHoverModal_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_commomHoverModal_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_commomHoverModal_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_commomHoverModal_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_4aa83ed1_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_commomHoverModal_vue__ = __webpack_require__(625);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(623)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-4aa83ed1\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_commomHoverModal_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_4aa83ed1_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_commomHoverModal_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/common/commomHoverModal.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-4aa83ed1\", Component.options)\n } else {\n hotAPI.reload(\"data-v-4aa83ed1\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9jb21tb24vY29tbW9tSG92ZXJNb2RhbC52dWU/NTBlYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQTBWO0FBQ3BXO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDZ0o7QUFDYTtBQUM3SjtBQUN3VDtBQUN4VDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLHFKQUFjO0FBQ2hCLEVBQUUsNFFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiIxMy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTRhYTgzZWQxXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9jb21tb21Ib3Zlck1vZGFsLnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vY29tbW9tSG92ZXJNb2RhbC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9jb21tb21Ib3Zlck1vZGFsLnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTRhYTgzZWQxXFxcIixcXFwiaGFzU2NvcGVkXFxcIjp0cnVlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vY29tbW9tSG92ZXJNb2RhbC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gXCJkYXRhLXYtNGFhODNlZDFcIlxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvY29tbW9uL2NvbW1vbUhvdmVyTW9kYWwudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTRhYTgzZWQxXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtNGFhODNlZDFcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9jb21tb24vY29tbW9tSG92ZXJNb2RhbC52dWVcbi8vIG1vZHVsZSBpZCA9IDEzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///13\n");
166
167/***/ }),
168/* 14 */
169/***/ (function(module, exports, __webpack_require__) {
170
171"use strict";
172eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _regenerator = __webpack_require__(96);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _asyncToGenerator2 = __webpack_require__(97);\n\nvar _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);\n\nvar _classCallCheck2 = __webpack_require__(293);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(294);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar InstancesService = function () {\n function InstancesService() {\n (0, _classCallCheck3.default)(this, InstancesService);\n }\n\n (0, _createClass3.default)(InstancesService, null, [{\n key: 'deleteProcessList',\n value: function () {\n var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(data) {\n return _regenerator2.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt('return', ServiceRequest('itemFormJson/delItemFormBusiInfo', {\n mock: false,\n body: {\n data: data\n }\n }));\n\n case 1:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function deleteProcessList(_x) {\n return _ref.apply(this, arguments);\n }\n\n return deleteProcessList;\n }()\n }, {\n key: 'selectProcessList',\n value: function () {\n var _ref2 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee2(data) {\n return _regenerator2.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt('return', ServiceRequest('item/qryConfigFormItemList', {\n mock: false,\n body: {\n data: data\n }\n }));\n\n case 1:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function selectProcessList(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return selectProcessList;\n }()\n }, {\n key: 'selectFormProp',\n value: function () {\n var _ref3 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee3(data) {\n var params;\n return _regenerator2.default.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n params = {\n itemNo: data.itemNo,\n\n jsonType: 2\n };\n return _context3.abrupt('return', ServiceRequest('qryItemForm/qryItemFormTemp', {\n mock: false,\n body: {\n data: params\n }\n }));\n\n case 2:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function selectFormProp(_x3) {\n return _ref3.apply(this, arguments);\n }\n\n return selectFormProp;\n }()\n }, {\n key: 'saveJsonToServer',\n value: function () {\n var _ref4 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee4(data) {\n return _regenerator2.default.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n return _context4.abrupt('return', ServiceRequest('qryItemForm/qryItemFormTemp', {\n mock: false,\n body: {\n data: data\n }\n }));\n\n case 1:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function saveJsonToServer(_x4) {\n return _ref4.apply(this, arguments);\n }\n\n return saveJsonToServer;\n }()\n }, {\n key: 'saveTemplateOrJsonToServer',\n value: function () {\n var _ref5 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee5(data) {\n return _regenerator2.default.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n data.itemTitle = localStorage.title;\n return _context5.abrupt('return', ServiceRequest('itemFormJson/saveItemFormJsonInfo', {\n mock: false,\n body: {\n data: data\n }\n }));\n\n case 2:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function saveTemplateOrJsonToServer(_x5) {\n return _ref5.apply(this, arguments);\n }\n\n return saveTemplateOrJsonToServer;\n }()\n }, {\n key: 'selectTemplateInfo',\n value: function () {\n var _ref6 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee6(data) {\n return _regenerator2.default.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n return _context6.abrupt('return', ServiceRequest('itemFormJson/qryItemFormBusiInfo', {\n mock: false,\n body: {\n data: data\n }\n }));\n\n case 1:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function selectTemplateInfo(_x6) {\n return _ref6.apply(this, arguments);\n }\n\n return selectTemplateInfo;\n }()\n }]);\n return InstancesService;\n}();\n\nexports.default = InstancesService;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvc2VydmljZS90b29sLXNlcnZpY2UuanM/ZTFlNiJdLCJuYW1lcyI6WyJJbnN0YW5jZXNTZXJ2aWNlIiwiZGF0YSIsIlNlcnZpY2VSZXF1ZXN0IiwibW9jayIsImJvZHkiLCJwYXJhbXMiLCJpdGVtTm8iLCJqc29uVHlwZSIsIml0ZW1UaXRsZSIsImxvY2FsU3RvcmFnZSIsInRpdGxlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFRcUJBLGdCOzs7Ozs7OzttR0FLY0MsSTs7Ozs7aUVBRXBCQyxlQUFlLGtDQUFmLEVBQWtEO0FBQ3JEQywwQ0FBSyxLQURnRDtBQUVyREMsMENBQUs7QUFDREgsOENBQUtBO0FBREo7QUFGZ0QsaUNBQWxELEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7cUdBU2tCQSxJOzs7OztrRUFFcEJDLGVBQWUsNEJBQWYsRUFBNEM7QUFDL0NDLDBDQUFLLEtBRDBDO0FBRS9DQywwQ0FBSztBQUNESCw4Q0FBS0E7QUFESjtBQUYwQyxpQ0FBNUMsQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztxR0FVbUJBLEk7Ozs7OztBQUNwQkksc0MsR0FBUztBQUNUQyw0Q0FBT0wsS0FBS0ssTUFESDs7QUFHVEMsOENBQVM7QUFIQSxpQztrRUFLTkwsZUFBZSw2QkFBZixFQUE2QztBQUNoREMsMENBQUssS0FEMkM7QUFFaERDLDBDQUFLO0FBQ0RILDhDQUFLSTtBQURKO0FBRjJDLGlDQUE3QyxDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O3FHQVNtQkosSTs7Ozs7a0VBR25CQyxlQUFlLDZCQUFmLEVBQTZDO0FBQ2hEQywwQ0FBSyxLQUQyQztBQUVoREMsMENBQUs7QUFDREgsOENBQUtBO0FBREo7QUFGMkMsaUNBQTdDLEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7cUdBUzZCQSxJOzs7OztBQUVwQ0EscUNBQUtPLFNBQUwsR0FBZUMsYUFBYUMsS0FBNUI7a0VBQ09SLGVBQWUsbUNBQWYsRUFBbUQ7QUFDdERDLDBDQUFLLEtBRGlEO0FBRXREQywwQ0FBSztBQUNESCw4Q0FBS0E7QUFESjtBQUZpRCxpQ0FBbkQsQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztxR0FTcUJBLEk7Ozs7O2tFQUVyQkMsZUFBZSxrQ0FBZixFQUFrRDtBQUNyREMsMENBQUssS0FEZ0Q7QUFFckRDLDBDQUFLO0FBQ0RILDhDQUFLQTtBQURKO0FBRmdELGlDQUFsRCxDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQkFyRU1ELGdCIiwiZmlsZSI6IjE0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqQGF1dGhvciAgICAgICDlj7bnq6DmtalcclxuICpAZGF0ZSAgICAgICAgIDIwMTkvMS8xNSAxNToxNlxyXG4gKkBDb3B5cmlnaHQgICAg5aSp5rqQ6L+q56eR5L+h5oGv5oqA5pyv6IKh5Lu95pyJ6ZmQ5YWs5Y+4XHJcbiAqQERlc2NyaXB0aW9uICDkuovpobnmjqXlj6NcclxuICovXHJcblxyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSW5zdGFuY2VzU2VydmljZSAge1xyXG5cclxuICAgIC8vbm90ZVxyXG5cclxuICAgIC8vbm90ZSDliKDpmaQgIGRlbGV0ZVByb2Nlc3NMaXN0XHJcbiAgICBzdGF0aWMgYXN5bmMgZGVsZXRlUHJvY2Vzc0xpc3QoZGF0YSkge1xyXG5cclxuICAgICAgICByZXR1cm4gU2VydmljZVJlcXVlc3QoJ2l0ZW1Gb3JtSnNvbi9kZWxJdGVtRm9ybUJ1c2lJbmZvJyx7XHJcbiAgICAgICAgICAgIG1vY2s6ZmFsc2UsXHJcbiAgICAgICAgICAgIGJvZHk6e1xyXG4gICAgICAgICAgICAgICAgZGF0YTpkYXRhXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gIC8vbm90ZSDmn6Xor6LmiYDmnInkuovpobnliJfooajmjqXlj6NcclxuICBzdGF0aWMgYXN5bmMgc2VsZWN0UHJvY2Vzc0xpc3QoZGF0YSkge1xyXG5cclxuICAgICAgcmV0dXJuIFNlcnZpY2VSZXF1ZXN0KCdpdGVtL3FyeUNvbmZpZ0Zvcm1JdGVtTGlzdCcse1xyXG4gICAgICAgICAgbW9jazpmYWxzZSxcclxuICAgICAgICAgIGJvZHk6e1xyXG4gICAgICAgICAgICAgIGRhdGE6ZGF0YVxyXG4gICAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9O1xyXG5cclxuICAgIC8vbm90ZSDmn6Xor6LmnKzlnLDooajljZUg5YGH5pWw5o2u55qE5L+h5oGvXHJcbiAgIC8vbm90ZSDmn6Xor6LlvZPliY3ooajljZXnmoTkv6Hmga9cclxuICAgIHN0YXRpYyBhc3luYyBzZWxlY3RGb3JtUHJvcChkYXRhKSB7XHJcbiAgICAgICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgICAgICAgaXRlbU5vOmRhdGEuaXRlbU5vLFxyXG4gICAgICAgICAgIC8vIGl0ZW1TdGVwOlwiMVwiLFxyXG4gICAgICAgICAgICBqc29uVHlwZToyXHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gU2VydmljZVJlcXVlc3QoJ3FyeUl0ZW1Gb3JtL3FyeUl0ZW1Gb3JtVGVtcCcse1xyXG4gICAgICAgICAgICBtb2NrOmZhbHNlLFxyXG4gICAgICAgICAgICBib2R5OntcclxuICAgICAgICAgICAgICAgIGRhdGE6cGFyYW1zXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgLy9ub3RlIOafpeivouW9k+WJjeihqOWNleeahOS/oeaBr1xyXG4gICAgc3RhdGljIGFzeW5jIHNhdmVKc29uVG9TZXJ2ZXIoZGF0YSkge1xyXG4gICAgICAgIC8vIGl0ZW0vcXJ5SXRlbUZvcm0vcXJ5SXRlbUZvcm1UZW1wP2l0ZW1Obz1EMTk5QUEyRjczRkU0QjRGQTM2NzhDRkIyRjdBQzEyOVxyXG5cclxuICAgICAgICByZXR1cm4gU2VydmljZVJlcXVlc3QoJ3FyeUl0ZW1Gb3JtL3FyeUl0ZW1Gb3JtVGVtcCcse1xyXG4gICAgICAgICAgICBtb2NrOmZhbHNlLFxyXG4gICAgICAgICAgICBib2R5OntcclxuICAgICAgICAgICAgICAgIGRhdGE6ZGF0YVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgLy8gcmV0dXJuIFNlcnZpY2VSZXF1ZXN0LnBvc3QoJ2dldFRlbXBsYXRlRGF0YScsIGRhdGEsIHRydWUpO1xyXG4gICAgfTtcclxuICAgIC8vbm90ZSDkv53lrZhKU09O5oiWVGVtcGxhdGXliLDlkI7lj7BcclxuICAgIHN0YXRpYyBhc3luYyBzYXZlVGVtcGxhdGVPckpzb25Ub1NlcnZlcihkYXRhKSB7XHJcbiAgICAgICAgLy8gaXRlbS9xcnlJdGVtRm9ybS9xcnlJdGVtRm9ybVRlbXA/aXRlbU5vPUQxOTlBQTJGNzNGRTRCNEZBMzY3OENGQjJGN0FDMTI5XHJcbiAgICAgICAgZGF0YS5pdGVtVGl0bGU9bG9jYWxTdG9yYWdlLnRpdGxlO1xyXG4gICAgICAgIHJldHVybiBTZXJ2aWNlUmVxdWVzdCgnaXRlbUZvcm1Kc29uL3NhdmVJdGVtRm9ybUpzb25JbmZvJyx7XHJcbiAgICAgICAgICAgIG1vY2s6ZmFsc2UsXHJcbiAgICAgICAgICAgIGJvZHk6e1xyXG4gICAgICAgICAgICAgICAgZGF0YTpkYXRhXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICAvLyByZXR1cm4gU2VydmljZVJlcXVlc3QucG9zdCgnZ2V0VGVtcGxhdGVEYXRhJywgZGF0YSwgdHJ1ZSk7XHJcbiAgICB9O1xyXG4gICAgLy9ub3RlIOWKoOi9veWtmOWCqOeahOaooeadv+S/oeaBr1xyXG4gICAgc3RhdGljIGFzeW5jIHNlbGVjdFRlbXBsYXRlSW5mbyhkYXRhKSB7XHJcblxyXG4gICAgICAgIHJldHVybiBTZXJ2aWNlUmVxdWVzdCgnaXRlbUZvcm1Kc29uL3FyeUl0ZW1Gb3JtQnVzaUluZm8nLHtcclxuICAgICAgICAgICAgbW9jazpmYWxzZSxcclxuICAgICAgICAgICAgYm9keTp7XHJcbiAgICAgICAgICAgICAgICBkYXRhOmRhdGFcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcblxyXG5cclxufVxyXG5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3NlcnZpY2UvdG9vbC1zZXJ2aWNlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///14\n");
173
174/***/ }),
175/* 15 */
176/***/ (function(module, exports) {
177
178eval("module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lzLW9iamVjdC5qcz8zZDRiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQSIsImZpbGUiOiIxNS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiB0eXBlb2YgaXQgPT09ICdvYmplY3QnID8gaXQgIT09IG51bGwgOiB0eXBlb2YgaXQgPT09ICdmdW5jdGlvbic7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lzLW9iamVjdC5qc1xuLy8gbW9kdWxlIGlkID0gMTVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///15\n");
179
180/***/ }),
181/* 16 */
182/***/ (function(module, exports, __webpack_require__) {
183
184eval("// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(26)(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2Rlc2NyaXB0b3JzLmpzPzZkZWEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxrQkFBa0IsbUJBQU8sQ0FBQyxFQUFVO0FBQ3BDLGlDQUFpQyxRQUFRLG1CQUFtQixVQUFVLEVBQUUsRUFBRTtBQUMxRSxDQUFDIiwiZmlsZSI6IjE2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhhbmsncyBJRTggZm9yIGhpcyBmdW5ueSBkZWZpbmVQcm9wZXJ0eVxubW9kdWxlLmV4cG9ydHMgPSAhcmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICdhJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDc7IH0gfSkuYSAhPSA3O1xufSk7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZGVzY3JpcHRvcnMuanNcbi8vIG1vZHVsZSBpZCA9IDE2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///16\n");
185
186/***/ }),
187/* 17 */
188/***/ (function(module, exports, __webpack_require__) {
189
190eval("var anObject = __webpack_require__(20);\nvar IE8_DOM_DEFINE = __webpack_require__(222);\nvar toPrimitive = __webpack_require__(223);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(16) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1kcC5qcz8zMmJmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQWUsbUJBQU8sQ0FBQyxFQUFjO0FBQ3JDLHFCQUFxQixtQkFBTyxDQUFDLEdBQW1CO0FBQ2hELGtCQUFrQixtQkFBTyxDQUFDLEdBQWlCO0FBQzNDOztBQUVBLFlBQVksbUJBQU8sQ0FBQyxFQUFnQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRyxZQUFZO0FBQ2Y7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciBJRThfRE9NX0RFRklORSA9IHJlcXVpcmUoJy4vX2llOC1kb20tZGVmaW5lJyk7XG52YXIgdG9QcmltaXRpdmUgPSByZXF1aXJlKCcuL190by1wcmltaXRpdmUnKTtcbnZhciBkUCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcblxuZXhwb3J0cy5mID0gcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSA6IGZ1bmN0aW9uIGRlZmluZVByb3BlcnR5KE8sIFAsIEF0dHJpYnV0ZXMpIHtcbiAgYW5PYmplY3QoTyk7XG4gIFAgPSB0b1ByaW1pdGl2ZShQLCB0cnVlKTtcbiAgYW5PYmplY3QoQXR0cmlidXRlcyk7XG4gIGlmIChJRThfRE9NX0RFRklORSkgdHJ5IHtcbiAgICByZXR1cm4gZFAoTywgUCwgQXR0cmlidXRlcyk7XG4gIH0gY2F0Y2ggKGUpIHsgLyogZW1wdHkgKi8gfVxuICBpZiAoJ2dldCcgaW4gQXR0cmlidXRlcyB8fCAnc2V0JyBpbiBBdHRyaWJ1dGVzKSB0aHJvdyBUeXBlRXJyb3IoJ0FjY2Vzc29ycyBub3Qgc3VwcG9ydGVkIScpO1xuICBpZiAoJ3ZhbHVlJyBpbiBBdHRyaWJ1dGVzKSBPW1BdID0gQXR0cmlidXRlcy52YWx1ZTtcbiAgcmV0dXJuIE87XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1kcC5qc1xuLy8gbW9kdWxlIGlkID0gMTdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///17\n");
191
192/***/ }),
193/* 18 */
194/***/ (function(module, exports, __webpack_require__) {
195
196"use strict";
197eval("\n\nexports.__esModule = true;\n\nvar _from = __webpack_require__(60);\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return (0, _from2.default)(arr);\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvaGVscGVycy90b0NvbnN1bWFibGVBcnJheS5qcz8yMDczIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViOztBQUVBLFlBQVksbUJBQU8sQ0FBQyxFQUF1Qjs7QUFFM0M7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGO0FBQ0E7QUFDQSw2Q0FBNkMsZ0JBQWdCO0FBQzdEO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBIiwiZmlsZSI6IjE4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5cbnZhciBfZnJvbSA9IHJlcXVpcmUoXCIuLi9jb3JlLWpzL2FycmF5L2Zyb21cIik7XG5cbnZhciBfZnJvbTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9mcm9tKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0gZnVuY3Rpb24gKGFycikge1xuICBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSB7XG4gICAgZm9yICh2YXIgaSA9IDAsIGFycjIgPSBBcnJheShhcnIubGVuZ3RoKTsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xuICAgICAgYXJyMltpXSA9IGFycltpXTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXJyMjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gKDAsIF9mcm9tMi5kZWZhdWx0KShhcnIpO1xuICB9XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19iYWJlbC1ydW50aW1lQDYuMjYuMEBiYWJlbC1ydW50aW1lL2hlbHBlcnMvdG9Db25zdW1hYmxlQXJyYXkuanNcbi8vIG1vZHVsZSBpZCA9IDE4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///18\n");
198
199/***/ }),
200/* 19 */
201/***/ (function(module, exports, __webpack_require__) {
202
203eval("// optional / simple context binding\nvar aFunction = __webpack_require__(31);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2N0eC5qcz85OTFlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsZ0JBQWdCLG1CQUFPLENBQUMsRUFBZTtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMTkuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBvcHRpb25hbCAvIHNpbXBsZSBjb250ZXh0IGJpbmRpbmdcbnZhciBhRnVuY3Rpb24gPSByZXF1aXJlKCcuL19hLWZ1bmN0aW9uJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChmbiwgdGhhdCwgbGVuZ3RoKSB7XG4gIGFGdW5jdGlvbihmbik7XG4gIGlmICh0aGF0ID09PSB1bmRlZmluZWQpIHJldHVybiBmbjtcbiAgc3dpdGNoIChsZW5ndGgpIHtcbiAgICBjYXNlIDE6IHJldHVybiBmdW5jdGlvbiAoYSkge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSk7XG4gICAgfTtcbiAgICBjYXNlIDI6IHJldHVybiBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSwgYik7XG4gICAgfTtcbiAgICBjYXNlIDM6IHJldHVybiBmdW5jdGlvbiAoYSwgYiwgYykge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSwgYiwgYyk7XG4gICAgfTtcbiAgfVxuICByZXR1cm4gZnVuY3Rpb24gKC8qIC4uLmFyZ3MgKi8pIHtcbiAgICByZXR1cm4gZm4uYXBwbHkodGhhdCwgYXJndW1lbnRzKTtcbiAgfTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fY3R4LmpzXG4vLyBtb2R1bGUgaWQgPSAxOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///19\n");
204
205/***/ }),
206/* 20 */
207/***/ (function(module, exports, __webpack_require__) {
208
209eval("var isObject = __webpack_require__(15);\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FuLW9iamVjdC5qcz83ZDFhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQWUsbUJBQU8sQ0FBQyxFQUFjO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjIwLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAoIWlzT2JqZWN0KGl0KSkgdGhyb3cgVHlwZUVycm9yKGl0ICsgJyBpcyBub3QgYW4gb2JqZWN0IScpO1xuICByZXR1cm4gaXQ7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FuLW9iamVjdC5qc1xuLy8gbW9kdWxlIGlkID0gMjBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///20\n");
210
211/***/ }),
212/* 21 */
213/***/ (function(module, __webpack_exports__, __webpack_require__) {
214
215"use strict";
216eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(104);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_25d660ae_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(329);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(326)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-25d660ae\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_25d660ae_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-validateArr/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-25d660ae\", Component.options)\n } else {\n hotAPI.reload(\"data-v-25d660ae\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXZhbGlkYXRlQXJyL2luZGV4LnZ1ZT8wMmRlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBMlY7QUFDclc7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUFxRjtBQUN0SDtBQUNxSTtBQUNhO0FBQ2xKO0FBQzZTO0FBQzdTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxpUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjIxLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMjVkNjYwYWVcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IWxlc3MtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMjVkNjYwYWVcXFwiLFxcXCJoYXNTY29wZWRcXFwiOnRydWUsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gXCJkYXRhLXYtMjVkNjYwYWVcIlxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC12YWxpZGF0ZUFyci9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtMjVkNjYwYWVcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi0yNWQ2NjBhZVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtdmFsaWRhdGVBcnIvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAyMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///21\n");
217
218/***/ }),
219/* 22 */
220/***/ (function(module, exports, __webpack_require__) {
221
222eval("var dP = __webpack_require__(17);\nvar createDesc = __webpack_require__(53);\nmodule.exports = __webpack_require__(16) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2hpZGUuanM/ZmZkYSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTLG1CQUFPLENBQUMsRUFBYztBQUMvQixpQkFBaUIsbUJBQU8sQ0FBQyxFQUFrQjtBQUMzQyxpQkFBaUIsbUJBQU8sQ0FBQyxFQUFnQjtBQUN6QztBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EiLCJmaWxlIjoiMjIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZFAgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKTtcbnZhciBjcmVhdGVEZXNjID0gcmVxdWlyZSgnLi9fcHJvcGVydHktZGVzYycpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpID8gZnVuY3Rpb24gKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICByZXR1cm4gZFAuZihvYmplY3QsIGtleSwgY3JlYXRlRGVzYygxLCB2YWx1ZSkpO1xufSA6IGZ1bmN0aW9uIChvYmplY3QsIGtleSwgdmFsdWUpIHtcbiAgb2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgcmV0dXJuIG9iamVjdDtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faGlkZS5qc1xuLy8gbW9kdWxlIGlkID0gMjJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///22\n");
223
224/***/ }),
225/* 23 */
226/***/ (function(module, exports, __webpack_require__) {
227
228"use strict";
229eval("\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(88);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n if (key in obj) {\n (0, _defineProperty2.default)(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvaGVscGVycy9kZWZpbmVQcm9wZXJ0eS5qcz82Yjc2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViOztBQUVBLHNCQUFzQixtQkFBTyxDQUFDLEVBQW1DOztBQUVqRTs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQSIsImZpbGUiOiIyMy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuXG52YXIgX2RlZmluZVByb3BlcnR5ID0gcmVxdWlyZShcIi4uL2NvcmUtanMvb2JqZWN0L2RlZmluZS1wcm9wZXJ0eVwiKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IGZ1bmN0aW9uIChvYmosIGtleSwgdmFsdWUpIHtcbiAgaWYgKGtleSBpbiBvYmopIHtcbiAgICAoMCwgX2RlZmluZVByb3BlcnR5Mi5kZWZhdWx0KShvYmosIGtleSwge1xuICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgb2JqW2tleV0gPSB2YWx1ZTtcbiAgfVxuXG4gIHJldHVybiBvYmo7XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19iYWJlbC1ydW50aW1lQDYuMjYuMEBiYWJlbC1ydW50aW1lL2hlbHBlcnMvZGVmaW5lUHJvcGVydHkuanNcbi8vIG1vZHVsZSBpZCA9IDIzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///23\n");
230
231/***/ }),
232/* 24 */
233/***/ (function(module, exports, __webpack_require__) {
234
235eval("module.exports = { \"default\": __webpack_require__(218), __esModule: true };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvY29yZS1qcy9qc29uL3N0cmluZ2lmeS5qcz9kZGM1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtCQUFrQixZQUFZLG1CQUFPLENBQUMsR0FBbUMiLCJmaWxlIjoiMjQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHsgXCJkZWZhdWx0XCI6IHJlcXVpcmUoXCJjb3JlLWpzL2xpYnJhcnkvZm4vanNvbi9zdHJpbmdpZnlcIiksIF9fZXNNb2R1bGU6IHRydWUgfTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fYmFiZWwtcnVudGltZUA2LjI2LjBAYmFiZWwtcnVudGltZS9jb3JlLWpzL2pzb24vc3RyaW5naWZ5LmpzXG4vLyBtb2R1bGUgaWQgPSAyNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///24\n");
236
237/***/ }),
238/* 25 */
239/***/ (function(module, exports) {
240
241eval("module.exports = {};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2l0ZXJhdG9ycy5qcz81ODkzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjI1LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB7fTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19pdGVyYXRvcnMuanNcbi8vIG1vZHVsZSBpZCA9IDI1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///25\n");
242
243/***/ }),
244/* 26 */
245/***/ (function(module, exports) {
246
247eval("module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2ZhaWxzLmpzP2Y2ZGIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSIsImZpbGUiOiIyNi5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGV4ZWMpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gISFleGVjKCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19mYWlscy5qc1xuLy8gbW9kdWxlIGlkID0gMjZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///26\n");
248
249/***/ }),
250/* 27 */
251/***/ (function(module, exports, __webpack_require__) {
252
253"use strict";
254eval("\nvar $at = __webpack_require__(230)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(50)(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2LnN0cmluZy5pdGVyYXRvci5qcz85YjEwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsVUFBVSxtQkFBTyxDQUFDLEdBQWM7O0FBRWhDO0FBQ0EsbUJBQU8sQ0FBQyxFQUFnQjtBQUN4Qiw2QkFBNkI7QUFDN0IsY0FBYztBQUNkO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0EsVUFBVTtBQUNWLENBQUMiLCJmaWxlIjoiMjcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG52YXIgJGF0ID0gcmVxdWlyZSgnLi9fc3RyaW5nLWF0JykodHJ1ZSk7XG5cbi8vIDIxLjEuMy4yNyBTdHJpbmcucHJvdG90eXBlW0BAaXRlcmF0b3JdKClcbnJlcXVpcmUoJy4vX2l0ZXItZGVmaW5lJykoU3RyaW5nLCAnU3RyaW5nJywgZnVuY3Rpb24gKGl0ZXJhdGVkKSB7XG4gIHRoaXMuX3QgPSBTdHJpbmcoaXRlcmF0ZWQpOyAvLyB0YXJnZXRcbiAgdGhpcy5faSA9IDA7ICAgICAgICAgICAgICAgIC8vIG5leHQgaW5kZXhcbi8vIDIxLjEuNS4yLjEgJVN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlJS5uZXh0KClcbn0sIGZ1bmN0aW9uICgpIHtcbiAgdmFyIE8gPSB0aGlzLl90O1xuICB2YXIgaW5kZXggPSB0aGlzLl9pO1xuICB2YXIgcG9pbnQ7XG4gIGlmIChpbmRleCA+PSBPLmxlbmd0aCkgcmV0dXJuIHsgdmFsdWU6IHVuZGVmaW5lZCwgZG9uZTogdHJ1ZSB9O1xuICBwb2ludCA9ICRhdChPLCBpbmRleCk7XG4gIHRoaXMuX2kgKz0gcG9pbnQubGVuZ3RoO1xuICByZXR1cm4geyB2YWx1ZTogcG9pbnQsIGRvbmU6IGZhbHNlIH07XG59KTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL2VzNi5zdHJpbmcuaXRlcmF0b3IuanNcbi8vIG1vZHVsZSBpZCA9IDI3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///27\n");
255
256/***/ }),
257/* 28 */
258/***/ (function(module, exports) {
259
260eval("var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vKHdlYnBhY2spL2J1aWxkaW4vZ2xvYmFsLmpzPzM2OTgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDRDQUE0Qzs7QUFFNUMiLCJmaWxlIjoiMjguanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZztcclxuXHJcbi8vIFRoaXMgd29ya3MgaW4gbm9uLXN0cmljdCBtb2RlXHJcbmcgPSAoZnVuY3Rpb24oKSB7XHJcblx0cmV0dXJuIHRoaXM7XHJcbn0pKCk7XHJcblxyXG50cnkge1xyXG5cdC8vIFRoaXMgd29ya3MgaWYgZXZhbCBpcyBhbGxvd2VkIChzZWUgQ1NQKVxyXG5cdGcgPSBnIHx8IEZ1bmN0aW9uKFwicmV0dXJuIHRoaXNcIikoKSB8fCAoMSxldmFsKShcInRoaXNcIik7XHJcbn0gY2F0Y2goZSkge1xyXG5cdC8vIFRoaXMgd29ya3MgaWYgdGhlIHdpbmRvdyByZWZlcmVuY2UgaXMgYXZhaWxhYmxlXHJcblx0aWYodHlwZW9mIHdpbmRvdyA9PT0gXCJvYmplY3RcIilcclxuXHRcdGcgPSB3aW5kb3c7XHJcbn1cclxuXHJcbi8vIGcgY2FuIHN0aWxsIGJlIHVuZGVmaW5lZCwgYnV0IG5vdGhpbmcgdG8gZG8gYWJvdXQgaXQuLi5cclxuLy8gV2UgcmV0dXJuIHVuZGVmaW5lZCwgaW5zdGVhZCBvZiBub3RoaW5nIGhlcmUsIHNvIGl0J3NcclxuLy8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxyXG5cclxubW9kdWxlLmV4cG9ydHMgPSBnO1xyXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAod2VicGFjaykvYnVpbGRpbi9nbG9iYWwuanNcbi8vIG1vZHVsZSBpZCA9IDI4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///28\n");
261
262/***/ }),
263/* 29 */
264/***/ (function(module, exports, __webpack_require__) {
265
266eval("__webpack_require__(220);\nvar global = __webpack_require__(11);\nvar hide = __webpack_require__(22);\nvar Iterators = __webpack_require__(25);\nvar TO_STRING_TAG = __webpack_require__(12)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvd2ViLmRvbS5pdGVyYWJsZS5qcz80OTczIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUFPLENBQUMsR0FBc0I7QUFDOUIsYUFBYSxtQkFBTyxDQUFDLEVBQVc7QUFDaEMsV0FBVyxtQkFBTyxDQUFDLEVBQVM7QUFDNUIsZ0JBQWdCLG1CQUFPLENBQUMsRUFBYztBQUN0QyxvQkFBb0IsbUJBQU8sQ0FBQyxFQUFROztBQUVwQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGVBQWUseUJBQXlCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIyOS5qcyIsInNvdXJjZXNDb250ZW50IjpbInJlcXVpcmUoJy4vZXM2LmFycmF5Lml0ZXJhdG9yJyk7XG52YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgaGlkZSA9IHJlcXVpcmUoJy4vX2hpZGUnKTtcbnZhciBJdGVyYXRvcnMgPSByZXF1aXJlKCcuL19pdGVyYXRvcnMnKTtcbnZhciBUT19TVFJJTkdfVEFHID0gcmVxdWlyZSgnLi9fd2tzJykoJ3RvU3RyaW5nVGFnJyk7XG5cbnZhciBET01JdGVyYWJsZXMgPSAoJ0NTU1J1bGVMaXN0LENTU1N0eWxlRGVjbGFyYXRpb24sQ1NTVmFsdWVMaXN0LENsaWVudFJlY3RMaXN0LERPTVJlY3RMaXN0LERPTVN0cmluZ0xpc3QsJyArXG4gICdET01Ub2tlbkxpc3QsRGF0YVRyYW5zZmVySXRlbUxpc3QsRmlsZUxpc3QsSFRNTEFsbENvbGxlY3Rpb24sSFRNTENvbGxlY3Rpb24sSFRNTEZvcm1FbGVtZW50LEhUTUxTZWxlY3RFbGVtZW50LCcgK1xuICAnTWVkaWFMaXN0LE1pbWVUeXBlQXJyYXksTmFtZWROb2RlTWFwLE5vZGVMaXN0LFBhaW50UmVxdWVzdExpc3QsUGx1Z2luLFBsdWdpbkFycmF5LFNWR0xlbmd0aExpc3QsU1ZHTnVtYmVyTGlzdCwnICtcbiAgJ1NWR1BhdGhTZWdMaXN0LFNWR1BvaW50TGlzdCxTVkdTdHJpbmdMaXN0LFNWR1RyYW5zZm9ybUxpc3QsU291cmNlQnVmZmVyTGlzdCxTdHlsZVNoZWV0TGlzdCxUZXh0VHJhY2tDdWVMaXN0LCcgK1xuICAnVGV4dFRyYWNrTGlzdCxUb3VjaExpc3QnKS5zcGxpdCgnLCcpO1xuXG5mb3IgKHZhciBpID0gMDsgaSA8IERPTUl0ZXJhYmxlcy5sZW5ndGg7IGkrKykge1xuICB2YXIgTkFNRSA9IERPTUl0ZXJhYmxlc1tpXTtcbiAgdmFyIENvbGxlY3Rpb24gPSBnbG9iYWxbTkFNRV07XG4gIHZhciBwcm90byA9IENvbGxlY3Rpb24gJiYgQ29sbGVjdGlvbi5wcm90b3R5cGU7XG4gIGlmIChwcm90byAmJiAhcHJvdG9bVE9fU1RSSU5HX1RBR10pIGhpZGUocHJvdG8sIFRPX1NUUklOR19UQUcsIE5BTUUpO1xuICBJdGVyYXRvcnNbTkFNRV0gPSBJdGVyYXRvcnMuQXJyYXk7XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy93ZWIuZG9tLml0ZXJhYmxlLmpzXG4vLyBtb2R1bGUgaWQgPSAyOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///29\n");
267
268/***/ }),
269/* 30 */
270/***/ (function(module, exports) {
271
272eval("var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2NvZi5qcz80NjkwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjs7QUFFakI7QUFDQTtBQUNBIiwiZmlsZSI6IjMwLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHRvU3RyaW5nID0ge30udG9TdHJpbmc7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiB0b1N0cmluZy5jYWxsKGl0KS5zbGljZSg4LCAtMSk7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2NvZi5qc1xuLy8gbW9kdWxlIGlkID0gMzBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///30\n");
273
274/***/ }),
275/* 31 */
276/***/ (function(module, exports) {
277
278eval("module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2EtZnVuY3Rpb24uanM/N2FlZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIzMS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmICh0eXBlb2YgaXQgIT0gJ2Z1bmN0aW9uJykgdGhyb3cgVHlwZUVycm9yKGl0ICsgJyBpcyBub3QgYSBmdW5jdGlvbiEnKTtcbiAgcmV0dXJuIGl0O1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19hLWZ1bmN0aW9uLmpzXG4vLyBtb2R1bGUgaWQgPSAzMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///31\n");
279
280/***/ }),
281/* 32 */
282/***/ (function(module, exports) {
283
284eval("var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2hhcy5qcz85N2Q0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0EiLCJmaWxlIjoiMzIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgaGFzT3duUHJvcGVydHkgPSB7fS5oYXNPd25Qcm9wZXJ0eTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0LCBrZXkpIHtcbiAgcmV0dXJuIGhhc093blByb3BlcnR5LmNhbGwoaXQsIGtleSk7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2hhcy5qc1xuLy8gbW9kdWxlIGlkID0gMzJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///32\n");
285
286/***/ }),
287/* 33 */
288/***/ (function(module, exports, __webpack_require__) {
289
290eval("// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(49);\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLW9iamVjdC5qcz8zMzI2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEVBQVk7QUFDbEM7QUFDQTtBQUNBIiwiZmlsZSI6IjMzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gNy4xLjEzIFRvT2JqZWN0KGFyZ3VtZW50KVxudmFyIGRlZmluZWQgPSByZXF1aXJlKCcuL19kZWZpbmVkJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gT2JqZWN0KGRlZmluZWQoaXQpKTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8tb2JqZWN0LmpzXG4vLyBtb2R1bGUgaWQgPSAzM1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///33\n");
291
292/***/ }),
293/* 34 */
294/***/ (function(module, exports, __webpack_require__) {
295
296"use strict";
297eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SVC = undefined;\n\nvar _keys = __webpack_require__(41);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar builtInPlugins = [];\nvar sortedPlugins = {};\nvar pluginsBelongKeys = {};\nvar parseInputToOutRange = null;\n\nvar context = __webpack_require__(259);\ncontext.keys().forEach(function (item) {\n builtInPlugins.push(context(item).default);\n});\n\nsortedPlugins = builtInPlugins.reduce(function (prev, nxt) {\n if (!nxt || !nxt.position) {\n return prev;\n }\n var componentName = nxt.position + '-' + nxt.name;\n if (!componentName) {\n return prev;\n }\n if (!pluginsBelongKeys[nxt.position]) {\n pluginsBelongKeys[nxt.position] = [];\n }\n pluginsBelongKeys[nxt.position].push(componentName);\n prev[componentName] = nxt;\n\n return prev;\n}, {});\n\nparseInputToOutRange = function parseInputToOutRange(value, inputRange, outputRange) {\n if (value === undefined || value === null) {\n return null;\n }\n\n value = Number(value);\n\n if (inputRange[0] === outputRange[0] && inputRange[1] === outputRange[1]) {\n return value;\n }\n\n if (value >= inputRange[0] && value <= inputRange[1]) {\n var percentage = (value - inputRange[0]) / (inputRange[1] - inputRange[0]);\n\n var outputLength = (outputRange[1] - outputRange[0]) * percentage;\n\n value = outputLength + outputRange[0];\n }\n return value;\n};\n\nexports.default = function (Vue) {\n (0, _keys2.default)(sortedPlugins).forEach(function (item) {\n Vue.component(item, sortedPlugins[item]);\n });\n};\n\nvar SVC = exports.SVC = {\n pluginsBelongKeys: pluginsBelongKeys,\n sortedPlugins: sortedPlugins,\n parseInputToOutRange: parseInputToOutRange\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvc2VydmljZS9pbmRleC5qcz83Y2IxIl0sIm5hbWVzIjpbImJ1aWx0SW5QbHVnaW5zIiwic29ydGVkUGx1Z2lucyIsInBsdWdpbnNCZWxvbmdLZXlzIiwicGFyc2VJbnB1dFRvT3V0UmFuZ2UiLCJjb250ZXh0IiwicmVxdWlyZSIsImtleXMiLCJmb3JFYWNoIiwicHVzaCIsIml0ZW0iLCJkZWZhdWx0IiwicmVkdWNlIiwicHJldiIsIm54dCIsInBvc2l0aW9uIiwiY29tcG9uZW50TmFtZSIsIm5hbWUiLCJ2YWx1ZSIsImlucHV0UmFuZ2UiLCJvdXRwdXRSYW5nZSIsInVuZGVmaW5lZCIsIk51bWJlciIsInBlcmNlbnRhZ2UiLCJvdXRwdXRMZW5ndGgiLCJWdWUiLCJjb21wb25lbnQiLCJTVkMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFJQSxpQkFBaUIsRUFBckI7QUFDQSxJQUFJQyxnQkFBZ0IsRUFBcEI7QUFDQSxJQUFJQyxvQkFBb0IsRUFBeEI7QUFDQSxJQUFJQyx1QkFBdUIsSUFBM0I7O0FBRUEsSUFBTUMsVUFBVUMsd0JBQWhCO0FBS0FELFFBQVFFLElBQVIsR0FBZUMsT0FBZixDQUF1QixnQkFBUTtBQUMzQlAsbUJBQWVRLElBQWYsQ0FBb0JKLFFBQVFLLElBQVIsRUFBY0MsT0FBbEM7QUFDSCxDQUZEOztBQUlBVCxnQkFBZ0JELGVBQWVXLE1BQWYsQ0FBc0IsVUFBQ0MsSUFBRCxFQUFPQyxHQUFQLEVBQWU7QUFDakQsUUFBSSxDQUFDQSxHQUFELElBQVEsQ0FBQ0EsSUFBSUMsUUFBakIsRUFBMkI7QUFDdkIsZUFBT0YsSUFBUDtBQUNIO0FBQ0QsUUFBSUcsZ0JBQW1CRixJQUFJQyxRQUF2QixTQUFtQ0QsSUFBSUcsSUFBM0M7QUFDQSxRQUFJLENBQUNELGFBQUwsRUFBb0I7QUFDaEIsZUFBT0gsSUFBUDtBQUNIO0FBQ0QsUUFBSSxDQUFDVixrQkFBa0JXLElBQUlDLFFBQXRCLENBQUwsRUFBc0M7QUFDbENaLDBCQUFrQlcsSUFBSUMsUUFBdEIsSUFBa0MsRUFBbEM7QUFDSDtBQUNEWixzQkFBa0JXLElBQUlDLFFBQXRCLEVBQWdDTixJQUFoQyxDQUFxQ08sYUFBckM7QUFDQUgsU0FBS0csYUFBTCxJQUFzQkYsR0FBdEI7O0FBRUEsV0FBT0QsSUFBUDtBQUNILENBZmUsRUFlYixFQWZhLENBQWhCOztBQWtCQVQsdUJBQXVCLDhCQUFDYyxLQUFELEVBQVFDLFVBQVIsRUFBb0JDLFdBQXBCLEVBQW9DO0FBQ3ZELFFBQUlGLFVBQVVHLFNBQVYsSUFBdUJILFVBQVUsSUFBckMsRUFBMkM7QUFDdkMsZUFBTyxJQUFQO0FBQ0g7O0FBRURBLFlBQVFJLE9BQU9KLEtBQVAsQ0FBUjs7QUFFQSxRQUFJQyxXQUFXLENBQVgsTUFBa0JDLFlBQVksQ0FBWixDQUFsQixJQUFvQ0QsV0FBVyxDQUFYLE1BQWtCQyxZQUFZLENBQVosQ0FBMUQsRUFBMEU7QUFDdEUsZUFBT0YsS0FBUDtBQUNIOztBQUVELFFBQUlBLFNBQVNDLFdBQVcsQ0FBWCxDQUFULElBQTBCRCxTQUFTQyxXQUFXLENBQVgsQ0FBdkMsRUFBc0Q7QUFHbEQsWUFBTUksYUFBYSxDQUFDTCxRQUFRQyxXQUFXLENBQVgsQ0FBVCxLQUEyQkEsV0FBVyxDQUFYLElBQWdCQSxXQUFXLENBQVgsQ0FBM0MsQ0FBbkI7O0FBRUEsWUFBTUssZUFBZSxDQUFDSixZQUFZLENBQVosSUFBaUJBLFlBQVksQ0FBWixDQUFsQixJQUFvQ0csVUFBekQ7O0FBRUFMLGdCQUFRTSxlQUFlSixZQUFZLENBQVosQ0FBdkI7QUFDSDtBQUNELFdBQU9GLEtBQVA7QUFDSCxDQXJCRDs7a0JBdUJlLFVBQUNPLEdBQUQsRUFBUztBQUNwQix3QkFBWXZCLGFBQVosRUFBMkJNLE9BQTNCLENBQW1DLGdCQUFRO0FBQ3ZDaUIsWUFBSUMsU0FBSixDQUFjaEIsSUFBZCxFQUFvQlIsY0FBY1EsSUFBZCxDQUFwQjtBQUNILEtBRkQ7QUFHSCxDOztBQUVNLElBQU1pQixvQkFBTTtBQUNmeEIsd0NBRGU7QUFFZkQsZ0NBRmU7QUFHZkU7QUFIZSxDQUFaIiwiZmlsZSI6IjM0LmpzIiwic291cmNlc0NvbnRlbnQiOlsibGV0IGJ1aWx0SW5QbHVnaW5zID0gW107XHJcbmxldCBzb3J0ZWRQbHVnaW5zID0ge307XHJcbmxldCBwbHVnaW5zQmVsb25nS2V5cyA9IHt9O1xyXG5sZXQgcGFyc2VJbnB1dFRvT3V0UmFuZ2UgPSBudWxsO1xyXG5cclxuY29uc3QgY29udGV4dCA9IHJlcXVpcmUuY29udGV4dChcclxuICAgICcuLi9wbHVnaW5zJyxcclxuICAgIHRydWUsXHJcbiAgICAvaW5kZXhcXC4odnVlKSQvXHJcbik7XHJcbmNvbnRleHQua2V5cygpLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICBidWlsdEluUGx1Z2lucy5wdXNoKGNvbnRleHQoaXRlbSkuZGVmYXVsdCk7XHJcbn0pO1xyXG5cclxuc29ydGVkUGx1Z2lucyA9IGJ1aWx0SW5QbHVnaW5zLnJlZHVjZSgocHJldiwgbnh0KSA9PiB7XHJcbiAgICBpZiAoIW54dCB8fCAhbnh0LnBvc2l0aW9uKSB7XHJcbiAgICAgICAgcmV0dXJuIHByZXY7XHJcbiAgICB9XHJcbiAgICBsZXQgY29tcG9uZW50TmFtZSA9IGAke254dC5wb3NpdGlvbn0tJHtueHQubmFtZX1gO1xyXG4gICAgaWYgKCFjb21wb25lbnROYW1lKSB7XHJcbiAgICAgICAgcmV0dXJuIHByZXY7XHJcbiAgICB9XHJcbiAgICBpZiAoIXBsdWdpbnNCZWxvbmdLZXlzW254dC5wb3NpdGlvbl0pIHtcclxuICAgICAgICBwbHVnaW5zQmVsb25nS2V5c1tueHQucG9zaXRpb25dID0gW107XHJcbiAgICB9XHJcbiAgICBwbHVnaW5zQmVsb25nS2V5c1tueHQucG9zaXRpb25dLnB1c2goY29tcG9uZW50TmFtZSk7XHJcbiAgICBwcmV2W2NvbXBvbmVudE5hbWVdID0gbnh0O1xyXG4gICAgLy8gVnVlLmNvbXBvbmVudChjb21wb25lbnROYW1lLCBueHQpOyAvLyDlhajlsYDms6jlhoxcclxuICAgIHJldHVybiBwcmV2O1xyXG59LCB7fSk7XHJcblxyXG4vLyDmoLnmja4gaW5wdXRSYW5nZSBvdXRwdXRSYW5nZSDovazmjaLlgLxcclxucGFyc2VJbnB1dFRvT3V0UmFuZ2UgPSAodmFsdWUsIGlucHV0UmFuZ2UsIG91dHB1dFJhbmdlKSA9PiB7XHJcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHZhbHVlID0gTnVtYmVyKHZhbHVlKTtcclxuXHJcbiAgICBpZiAoaW5wdXRSYW5nZVswXSA9PT0gb3V0cHV0UmFuZ2VbMF0gJiYgaW5wdXRSYW5nZVsxXSA9PT0gb3V0cHV0UmFuZ2VbMV0pIHtcclxuICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHZhbHVlID49IGlucHV0UmFuZ2VbMF0gJiYgdmFsdWUgPD0gaW5wdXRSYW5nZVsxXSkge1xyXG4gICAgLy8g57uZ55qE5YC85b+F6aG75ZyoIGlucHV0IOiMg+WbtOWGhVxyXG4gICAgLy8g6L2s5o2i5oiQIDB+MSDnmoTlsI/mlbBcclxuICAgICAgICBjb25zdCBwZXJjZW50YWdlID0gKHZhbHVlIC0gaW5wdXRSYW5nZVswXSkgLyAoaW5wdXRSYW5nZVsxXSAtIGlucHV0UmFuZ2VbMF0pO1xyXG4gICAgICAgIC8vIOi9rOaNouaIkCBvdXRwdXQg55qE6ZW/5bqmXHJcbiAgICAgICAgY29uc3Qgb3V0cHV0TGVuZ3RoID0gKG91dHB1dFJhbmdlWzFdIC0gb3V0cHV0UmFuZ2VbMF0pICogcGVyY2VudGFnZTtcclxuICAgICAgICAvLyDmlbDlgLzmmK/liqDkuIrmnIDlsI/lgLxcclxuICAgICAgICB2YWx1ZSA9IG91dHB1dExlbmd0aCArIG91dHB1dFJhbmdlWzBdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgKFZ1ZSkgPT4ge1xyXG4gICAgT2JqZWN0LmtleXMoc29ydGVkUGx1Z2lucykuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgICBWdWUuY29tcG9uZW50KGl0ZW0sIHNvcnRlZFBsdWdpbnNbaXRlbV0pO1xyXG4gICAgfSk7XHJcbn1cclxuO1xyXG5leHBvcnQgY29uc3QgU1ZDID0ge1xyXG4gICAgcGx1Z2luc0JlbG9uZ0tleXMsXHJcbiAgICBzb3J0ZWRQbHVnaW5zLFxyXG4gICAgcGFyc2VJbnB1dFRvT3V0UmFuZ2VcclxufTtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3NlcnZpY2UvaW5kZXguanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///34\n");
298
299/***/ }),
300/* 35 */
301/***/ (function(module, exports, __webpack_require__) {
302
303eval("var ctx = __webpack_require__(19);\nvar call = __webpack_require__(78);\nvar isArrayIter = __webpack_require__(79);\nvar anObject = __webpack_require__(20);\nvar toLength = __webpack_require__(37);\nvar getIterFn = __webpack_require__(59);\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2Zvci1vZi5qcz9kOWI3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVUsbUJBQU8sQ0FBQyxFQUFRO0FBQzFCLFdBQVcsbUJBQU8sQ0FBQyxFQUFjO0FBQ2pDLGtCQUFrQixtQkFBTyxDQUFDLEVBQWtCO0FBQzVDLGVBQWUsbUJBQU8sQ0FBQyxFQUFjO0FBQ3JDLGVBQWUsbUJBQU8sQ0FBQyxFQUFjO0FBQ3JDLGdCQUFnQixtQkFBTyxDQUFDLEVBQTRCO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QyxpQkFBaUIsRUFBRTtBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUVBQW1FLGdCQUFnQjtBQUNuRjtBQUNBO0FBQ0EsR0FBRyw0Q0FBNEMsZ0NBQWdDO0FBQy9FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIzNS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBjdHggPSByZXF1aXJlKCcuL19jdHgnKTtcbnZhciBjYWxsID0gcmVxdWlyZSgnLi9faXRlci1jYWxsJyk7XG52YXIgaXNBcnJheUl0ZXIgPSByZXF1aXJlKCcuL19pcy1hcnJheS1pdGVyJyk7XG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xudmFyIGdldEl0ZXJGbiA9IHJlcXVpcmUoJy4vY29yZS5nZXQtaXRlcmF0b3ItbWV0aG9kJyk7XG52YXIgQlJFQUsgPSB7fTtcbnZhciBSRVRVUk4gPSB7fTtcbnZhciBleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXRlcmFibGUsIGVudHJpZXMsIGZuLCB0aGF0LCBJVEVSQVRPUikge1xuICB2YXIgaXRlckZuID0gSVRFUkFUT1IgPyBmdW5jdGlvbiAoKSB7IHJldHVybiBpdGVyYWJsZTsgfSA6IGdldEl0ZXJGbihpdGVyYWJsZSk7XG4gIHZhciBmID0gY3R4KGZuLCB0aGF0LCBlbnRyaWVzID8gMiA6IDEpO1xuICB2YXIgaW5kZXggPSAwO1xuICB2YXIgbGVuZ3RoLCBzdGVwLCBpdGVyYXRvciwgcmVzdWx0O1xuICBpZiAodHlwZW9mIGl0ZXJGbiAhPSAnZnVuY3Rpb24nKSB0aHJvdyBUeXBlRXJyb3IoaXRlcmFibGUgKyAnIGlzIG5vdCBpdGVyYWJsZSEnKTtcbiAgLy8gZmFzdCBjYXNlIGZvciBhcnJheXMgd2l0aCBkZWZhdWx0IGl0ZXJhdG9yXG4gIGlmIChpc0FycmF5SXRlcihpdGVyRm4pKSBmb3IgKGxlbmd0aCA9IHRvTGVuZ3RoKGl0ZXJhYmxlLmxlbmd0aCk7IGxlbmd0aCA+IGluZGV4OyBpbmRleCsrKSB7XG4gICAgcmVzdWx0ID0gZW50cmllcyA/IGYoYW5PYmplY3Qoc3RlcCA9IGl0ZXJhYmxlW2luZGV4XSlbMF0sIHN0ZXBbMV0pIDogZihpdGVyYWJsZVtpbmRleF0pO1xuICAgIGlmIChyZXN1bHQgPT09IEJSRUFLIHx8IHJlc3VsdCA9PT0gUkVUVVJOKSByZXR1cm4gcmVzdWx0O1xuICB9IGVsc2UgZm9yIChpdGVyYXRvciA9IGl0ZXJGbi5jYWxsKGl0ZXJhYmxlKTsgIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lOykge1xuICAgIHJlc3VsdCA9IGNhbGwoaXRlcmF0b3IsIGYsIHN0ZXAudmFsdWUsIGVudHJpZXMpO1xuICAgIGlmIChyZXN1bHQgPT09IEJSRUFLIHx8IHJlc3VsdCA9PT0gUkVUVVJOKSByZXR1cm4gcmVzdWx0O1xuICB9XG59O1xuZXhwb3J0cy5CUkVBSyA9IEJSRUFLO1xuZXhwb3J0cy5SRVRVUk4gPSBSRVRVUk47XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZm9yLW9mLmpzXG4vLyBtb2R1bGUgaWQgPSAzNVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///35\n");
304
305/***/ }),
306/* 36 */
307/***/ (function(module, exports, __webpack_require__) {
308
309eval("/* WEBPACK VAR INJECTION */(function(global, module) {var __WEBPACK_AMD_DEFINE_RESULT__;/**\n * @license\n * Lodash <https://lodash.com/>\n * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n;(function() {\n\n /** Used as a safe reference for `undefined` in pre-ES5 environments. */\n var undefined;\n\n /** Used as the semantic version number. */\n var VERSION = '4.17.15';\n\n /** Used as the size to enable large array optimizations. */\n var LARGE_ARRAY_SIZE = 200;\n\n /** Error message constants. */\n var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',\n FUNC_ERROR_TEXT = 'Expected a function';\n\n /** Used to stand-in for `undefined` hash values. */\n var HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n /** Used as the maximum memoize cache size. */\n var MAX_MEMOIZE_SIZE = 500;\n\n /** Used as the internal argument placeholder. */\n var PLACEHOLDER = '__lodash_placeholder__';\n\n /** Used to compose bitmasks for cloning. */\n var CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n /** Used to compose bitmasks for value comparisons. */\n var COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n /** Used to compose bitmasks for function metadata. */\n var WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256,\n WRAP_FLIP_FLAG = 512;\n\n /** Used as default options for `_.truncate`. */\n var DEFAULT_TRUNC_LENGTH = 30,\n DEFAULT_TRUNC_OMISSION = '...';\n\n /** Used to detect hot functions by number of calls within a span of milliseconds. */\n var HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n /** Used to indicate the type of lazy iteratees. */\n var LAZY_FILTER_FLAG = 1,\n LAZY_MAP_FLAG = 2,\n LAZY_WHILE_FLAG = 3;\n\n /** Used as references for various `Number` constants. */\n var INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n /** Used as references for the maximum length and index of an array. */\n var MAX_ARRAY_LENGTH = 4294967295,\n MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,\n HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;\n\n /** Used to associate wrap methods with their bit flags. */\n var wrapFlags = [\n ['ary', WRAP_ARY_FLAG],\n ['bind', WRAP_BIND_FLAG],\n ['bindKey', WRAP_BIND_KEY_FLAG],\n ['curry', WRAP_CURRY_FLAG],\n ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n ['flip', WRAP_FLIP_FLAG],\n ['partial', WRAP_PARTIAL_FLAG],\n ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n ['rearg', WRAP_REARG_FLAG]\n ];\n\n /** `Object#toString` result references. */\n var argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n domExcTag = '[object DOMException]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]',\n weakSetTag = '[object WeakSet]';\n\n var arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n /** Used to match empty string literals in compiled template source. */\n var reEmptyStringLeading = /\\b__p \\+= '';/g,\n reEmptyStringMiddle = /\\b(__p \\+=) '' \\+/g,\n reEmptyStringTrailing = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g;\n\n /** Used to match HTML entities and HTML characters. */\n var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,\n reUnescapedHtml = /[&<>\"']/g,\n reHasEscapedHtml = RegExp(reEscapedHtml.source),\n reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n /** Used to match template delimiters. */\n var reEscape = /<%-([\\s\\S]+?)%>/g,\n reEvaluate = /<%([\\s\\S]+?)%>/g,\n reInterpolate = /<%=([\\s\\S]+?)%>/g;\n\n /** Used to match property names within property paths. */\n var reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n /**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\n var reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n /** Used to match leading and trailing whitespace. */\n var reTrim = /^\\s+|\\s+$/g,\n reTrimStart = /^\\s+/,\n reTrimEnd = /\\s+$/;\n\n /** Used to match wrap detail comments. */\n var reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,\n reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n /** Used to match words composed of alphanumeric characters. */\n var reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n /** Used to match backslashes in property paths. */\n var reEscapeChar = /\\\\(\\\\)?/g;\n\n /**\n * Used to match\n * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).\n */\n var reEsTemplate = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g;\n\n /** Used to match `RegExp` flags from their coerced string values. */\n var reFlags = /\\w*$/;\n\n /** Used to detect bad signed hexadecimal string values. */\n var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n /** Used to detect binary string values. */\n var reIsBinary = /^0b[01]+$/i;\n\n /** Used to detect host constructors (Safari). */\n var reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n /** Used to detect octal string values. */\n var reIsOctal = /^0o[0-7]+$/i;\n\n /** Used to detect unsigned integer values. */\n var reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n /** Used to match Latin Unicode letters (excluding mathematical operators). */\n var reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n /** Used to ensure capturing order of template delimiters. */\n var reNoMatch = /($^)/;\n\n /** Used to match unescaped characters in compiled string literals. */\n var reUnescapedString = /['\\n\\r\\u2028\\u2029\\\\]/g;\n\n /** Used to compose unicode character classes. */\n var rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n /** Used to compose unicode capture groups. */\n var rsApos = \"['\\u2019]\",\n rsAstral = '[' + rsAstralRange + ']',\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n /** Used to compose unicode regexes. */\n var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n /** Used to match apostrophes. */\n var reApos = RegExp(rsApos, 'g');\n\n /**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\n var reComboMark = RegExp(rsCombo, 'g');\n\n /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\n var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n /** Used to match complex or compound words. */\n var reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n ].join('|'), 'g');\n\n /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\n var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n /** Used to detect strings that need a more robust regexp to match words. */\n var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n /** Used to assign default `context` object properties. */\n var contextProps = [\n 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array',\n 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',\n 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',\n 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',\n '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'\n ];\n\n /** Used to make template sourceURLs easier to identify. */\n var templateCounter = -1;\n\n /** Used to identify `toStringTag` values of typed arrays. */\n var typedArrayTags = {};\n typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n typedArrayTags[uint32Tag] = true;\n typedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n typedArrayTags[errorTag] = typedArrayTags[funcTag] =\n typedArrayTags[mapTag] = typedArrayTags[numberTag] =\n typedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n typedArrayTags[setTag] = typedArrayTags[stringTag] =\n typedArrayTags[weakMapTag] = false;\n\n /** Used to identify `toStringTag` values supported by `_.clone`. */\n var cloneableTags = {};\n cloneableTags[argsTag] = cloneableTags[arrayTag] =\n cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\n cloneableTags[boolTag] = cloneableTags[dateTag] =\n cloneableTags[float32Tag] = cloneableTags[float64Tag] =\n cloneableTags[int8Tag] = cloneableTags[int16Tag] =\n cloneableTags[int32Tag] = cloneableTags[mapTag] =\n cloneableTags[numberTag] = cloneableTags[objectTag] =\n cloneableTags[regexpTag] = cloneableTags[setTag] =\n cloneableTags[stringTag] = cloneableTags[symbolTag] =\n cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n cloneableTags[errorTag] = cloneableTags[funcTag] =\n cloneableTags[weakMapTag] = false;\n\n /** Used to map Latin Unicode letters to basic Latin letters. */\n var deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n };\n\n /** Used to map characters to HTML entities. */\n var htmlEscapes = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;'\n };\n\n /** Used to map HTML entities to characters. */\n var htmlUnescapes = {\n '&amp;': '&',\n '&lt;': '<',\n '&gt;': '>',\n '&quot;': '\"',\n '&#39;': \"'\"\n };\n\n /** Used to escape characters for inclusion in compiled string literals. */\n var stringEscapes = {\n '\\\\': '\\\\',\n \"'\": \"'\",\n '\\n': 'n',\n '\\r': 'r',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n /** Built-in method references without a dependency on `root`. */\n var freeParseFloat = parseFloat,\n freeParseInt = parseInt;\n\n /** Detect free variable `global` from Node.js. */\n var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n /** Detect free variable `self`. */\n var freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n /** Used as a reference to the global object. */\n var root = freeGlobal || freeSelf || Function('return this')();\n\n /** Detect free variable `exports`. */\n var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n /** Detect free variable `module`. */\n var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n /** Detect the popular CommonJS extension `module.exports`. */\n var moduleExports = freeModule && freeModule.exports === freeExports;\n\n /** Detect free variable `process` from Node.js. */\n var freeProcess = moduleExports && freeGlobal.process;\n\n /** Used to access faster Node.js helpers. */\n var nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n }());\n\n /* Node.js helper references. */\n var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,\n nodeIsDate = nodeUtil && nodeUtil.isDate,\n nodeIsMap = nodeUtil && nodeUtil.isMap,\n nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,\n nodeIsSet = nodeUtil && nodeUtil.isSet,\n nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\n function apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n }\n\n /**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.forEachRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEachRight(array, iteratee) {\n var length = array == null ? 0 : array.length;\n\n while (length--) {\n if (iteratee(array[length], length, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\n function arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n }\n\n /**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n }\n\n /**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\n function arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n }\n\n /**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.reduceRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the last element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduceRight(array, iteratee, accumulator, initAccum) {\n var length = array == null ? 0 : array.length;\n if (initAccum && length) {\n accumulator = array[--length];\n }\n while (length--) {\n accumulator = iteratee(accumulator, array[length], length, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n var asciiSize = baseProperty('length');\n\n /**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function asciiToArray(string) {\n return string.split('');\n }\n\n /**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function asciiWords(string) {\n return string.match(reAsciiWord) || [];\n }\n\n /**\n * The base implementation of methods like `_.findKey` and `_.findLastKey`,\n * without support for iteratee shorthands, which iterates over `collection`\n * using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the found element or its key, else `undefined`.\n */\n function baseFindKey(collection, predicate, eachFunc) {\n var result;\n eachFunc(collection, function(value, key, collection) {\n if (predicate(value, key, collection)) {\n result = key;\n return false;\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n }\n\n /**\n * This function is like `baseIndexOf` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOfWith(array, value, fromIndex, comparator) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\n function baseIsNaN(value) {\n return value !== value;\n }\n\n /**\n * The base implementation of `_.mean` and `_.meanBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the mean.\n */\n function baseMean(array, iteratee) {\n var length = array == null ? 0 : array.length;\n return length ? (baseSum(array, iteratee) / length) : NAN;\n }\n\n /**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\n function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\n function baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\n function baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\n function baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\n * of key-value pairs for `object` corresponding to the property names of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the key-value pairs.\n */\n function baseToPairs(object, props) {\n return arrayMap(props, function(key) {\n return [key, object[key]];\n });\n }\n\n /**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\n function baseUnary(func) {\n return function(value) {\n return func(value);\n };\n }\n\n /**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\n function baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n }\n\n /**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function cacheHas(cache, key) {\n return cache.has(key);\n }\n\n /**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\n function charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\n function charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Gets the number of `placeholder` occurrences in `array`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} placeholder The placeholder to search for.\n * @returns {number} Returns the placeholder count.\n */\n function countHolders(array, placeholder) {\n var length = array.length,\n result = 0;\n\n while (length--) {\n if (array[length] === placeholder) {\n ++result;\n }\n }\n return result;\n }\n\n /**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\n var deburrLetter = basePropertyOf(deburredLetters);\n\n /**\n * Used by `_.escape` to convert characters to HTML entities.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n var escapeHtmlChar = basePropertyOf(htmlEscapes);\n\n /**\n * Used by `_.template` to escape characters for inclusion in compiled string literals.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n function escapeStringChar(chr) {\n return '\\\\' + stringEscapes[chr];\n }\n\n /**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function getValue(object, key) {\n return object == null ? undefined : object[key];\n }\n\n /**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\n function hasUnicode(string) {\n return reHasUnicode.test(string);\n }\n\n /**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\n function hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n }\n\n /**\n * Converts `iterator` to an array.\n *\n * @private\n * @param {Object} iterator The iterator to convert.\n * @returns {Array} Returns the converted array.\n */\n function iteratorToArray(iterator) {\n var data,\n result = [];\n\n while (!(data = iterator.next()).done) {\n result.push(data.value);\n }\n return result;\n }\n\n /**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\n function mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n }\n\n /**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\n function overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n }\n\n /**\n * Replaces all `placeholder` elements in `array` with an internal placeholder\n * and returns an array of their indexes.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {*} placeholder The placeholder to replace.\n * @returns {Array} Returns the new array of placeholder indexes.\n */\n function replaceHolders(array, placeholder) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value === placeholder || value === PLACEHOLDER) {\n array[index] = PLACEHOLDER;\n result[resIndex++] = index;\n }\n }\n return result;\n }\n\n /**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\n function setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n }\n\n /**\n * Converts `set` to its value-value pairs.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the value-value pairs.\n */\n function setToPairs(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = [value, value];\n });\n return result;\n }\n\n /**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * A specialized version of `_.lastIndexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictLastIndexOf(array, value, fromIndex) {\n var index = fromIndex + 1;\n while (index--) {\n if (array[index] === value) {\n return index;\n }\n }\n return index;\n }\n\n /**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\n function stringSize(string) {\n return hasUnicode(string)\n ? unicodeSize(string)\n : asciiSize(string);\n }\n\n /**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n }\n\n /**\n * Used by `_.unescape` to convert HTML entities to characters.\n *\n * @private\n * @param {string} chr The matched character to unescape.\n * @returns {string} Returns the unescaped character.\n */\n var unescapeHtmlChar = basePropertyOf(htmlUnescapes);\n\n /**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n function unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n ++result;\n }\n return result;\n }\n\n /**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function unicodeToArray(string) {\n return string.match(reUnicode) || [];\n }\n\n /**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n }\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Create a new pristine `lodash` function using the `context` object.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Util\n * @param {Object} [context=root] The context object.\n * @returns {Function} Returns a new `lodash` function.\n * @example\n *\n * _.mixin({ 'foo': _.constant('foo') });\n *\n * var lodash = _.runInContext();\n * lodash.mixin({ 'bar': lodash.constant('bar') });\n *\n * _.isFunction(_.foo);\n * // => true\n * _.isFunction(_.bar);\n * // => false\n *\n * lodash.isFunction(lodash.foo);\n * // => false\n * lodash.isFunction(lodash.bar);\n * // => true\n *\n * // Create a suped-up `defer` in Node.js.\n * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;\n */\n var runInContext = (function runInContext(context) {\n context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));\n\n /** Built-in constructor references. */\n var Array = context.Array,\n Date = context.Date,\n Error = context.Error,\n Function = context.Function,\n Math = context.Math,\n Object = context.Object,\n RegExp = context.RegExp,\n String = context.String,\n TypeError = context.TypeError;\n\n /** Used for built-in method references. */\n var arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n /** Used to detect overreaching core-js shims. */\n var coreJsData = context['__core-js_shared__'];\n\n /** Used to resolve the decompiled source of functions. */\n var funcToString = funcProto.toString;\n\n /** Used to check objects for own properties. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /** Used to generate unique IDs. */\n var idCounter = 0;\n\n /** Used to detect methods masquerading as native. */\n var maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n }());\n\n /**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n var nativeObjectToString = objectProto.toString;\n\n /** Used to infer the `Object` constructor. */\n var objectCtorString = funcToString.call(Object);\n\n /** Used to restore the original `_` reference in `_.noConflict`. */\n var oldDash = root._;\n\n /** Used to detect if a method is native. */\n var reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n );\n\n /** Built-in value references. */\n var Buffer = moduleExports ? context.Buffer : undefined,\n Symbol = context.Symbol,\n Uint8Array = context.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,\n symIterator = Symbol ? Symbol.iterator : undefined,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n var defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n }());\n\n /** Mocked built-ins. */\n var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,\n ctxNow = Date && Date.now !== root.Date.now && Date.now,\n ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;\n\n /* Built-in method references for those with the same name as other `lodash` methods. */\n var nativeCeil = Math.ceil,\n nativeFloor = Math.floor,\n nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeIsFinite = context.isFinite,\n nativeJoin = arrayProto.join,\n nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max,\n nativeMin = Math.min,\n nativeNow = Date.now,\n nativeParseInt = context.parseInt,\n nativeRandom = Math.random,\n nativeReverse = arrayProto.reverse;\n\n /* Built-in method references that are verified to be native. */\n var DataView = getNative(context, 'DataView'),\n Map = getNative(context, 'Map'),\n Promise = getNative(context, 'Promise'),\n Set = getNative(context, 'Set'),\n WeakMap = getNative(context, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n /** Used to store function metadata. */\n var metaMap = WeakMap && new WeakMap;\n\n /** Used to lookup unminified function names. */\n var realNames = {};\n\n /** Used to detect maps, sets, and weakmaps. */\n var dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n /** Used to convert symbols to primitives and strings. */\n var symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` object which wraps `value` to enable implicit method\n * chain sequences. Methods that operate on and return arrays, collections,\n * and functions can be chained together. Methods that retrieve a single value\n * or may return a primitive value will automatically end the chain sequence\n * and return the unwrapped value. Otherwise, the value must be unwrapped\n * with `_#value`.\n *\n * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n * enabled using `_.chain`.\n *\n * The execution of chained methods is lazy, that is, it's deferred until\n * `_#value` is implicitly or explicitly called.\n *\n * Lazy evaluation allows several methods to support shortcut fusion.\n * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n * the creation of intermediate arrays and can greatly reduce the number of\n * iteratee executions. Sections of a chain sequence qualify for shortcut\n * fusion if the section is applied to an array and iteratees accept only\n * one argument. The heuristic for whether a section qualifies for shortcut\n * fusion is subject to change.\n *\n * Chaining is supported in custom builds as long as the `_#value` method is\n * directly or indirectly included in the build.\n *\n * In addition to lodash methods, wrappers have `Array` and `String` methods.\n *\n * The wrapper `Array` methods are:\n * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n *\n * The wrapper `String` methods are:\n * `replace` and `split`\n *\n * The wrapper methods that support shortcut fusion are:\n * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n *\n * The chainable wrapper methods are:\n * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n * `zipObject`, `zipObjectDeep`, and `zipWith`\n *\n * The wrapper methods that are **not** chainable by default are:\n * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n * `upperFirst`, `value`, and `words`\n *\n * @name _\n * @constructor\n * @category Seq\n * @param {*} value The value to wrap in a `lodash` instance.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2, 3]);\n *\n * // Returns an unwrapped value.\n * wrapped.reduce(_.add);\n * // => 6\n *\n * // Returns a wrapped value.\n * var squares = wrapped.map(square);\n *\n * _.isArray(squares);\n * // => false\n *\n * _.isArray(squares.value());\n * // => true\n */\n function lodash(value) {\n if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n if (value instanceof LodashWrapper) {\n return value;\n }\n if (hasOwnProperty.call(value, '__wrapped__')) {\n return wrapperClone(value);\n }\n }\n return new LodashWrapper(value);\n }\n\n /**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\n var baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n }());\n\n /**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\n function baseLodash() {\n // No operation performed.\n }\n\n /**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\n function LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n }\n\n /**\n * By default, the template delimiters used by lodash are like those in\n * embedded Ruby (ERB) as well as ES2015 template strings. Change the\n * following template settings to use alternative delimiters.\n *\n * @static\n * @memberOf _\n * @type {Object}\n */\n lodash.templateSettings = {\n\n /**\n * Used to detect `data` property values to be HTML-escaped.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'escape': reEscape,\n\n /**\n * Used to detect code to be evaluated.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'evaluate': reEvaluate,\n\n /**\n * Used to detect `data` property values to inject.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'interpolate': reInterpolate,\n\n /**\n * Used to reference the data object in the template text.\n *\n * @memberOf _.templateSettings\n * @type {string}\n */\n 'variable': '',\n\n /**\n * Used to import variables into the compiled template.\n *\n * @memberOf _.templateSettings\n * @type {Object}\n */\n 'imports': {\n\n /**\n * A reference to the `lodash` function.\n *\n * @memberOf _.templateSettings.imports\n * @type {Function}\n */\n '_': lodash\n }\n };\n\n // Ensure wrappers are instances of `baseLodash`.\n lodash.prototype = baseLodash.prototype;\n lodash.prototype.constructor = lodash;\n\n LodashWrapper.prototype = baseCreate(baseLodash.prototype);\n LodashWrapper.prototype.constructor = LodashWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n *\n * @private\n * @constructor\n * @param {*} value The value to wrap.\n */\n function LazyWrapper(value) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__dir__ = 1;\n this.__filtered__ = false;\n this.__iteratees__ = [];\n this.__takeCount__ = MAX_ARRAY_LENGTH;\n this.__views__ = [];\n }\n\n /**\n * Creates a clone of the lazy wrapper object.\n *\n * @private\n * @name clone\n * @memberOf LazyWrapper\n * @returns {Object} Returns the cloned `LazyWrapper` object.\n */\n function lazyClone() {\n var result = new LazyWrapper(this.__wrapped__);\n result.__actions__ = copyArray(this.__actions__);\n result.__dir__ = this.__dir__;\n result.__filtered__ = this.__filtered__;\n result.__iteratees__ = copyArray(this.__iteratees__);\n result.__takeCount__ = this.__takeCount__;\n result.__views__ = copyArray(this.__views__);\n return result;\n }\n\n /**\n * Reverses the direction of lazy iteration.\n *\n * @private\n * @name reverse\n * @memberOf LazyWrapper\n * @returns {Object} Returns the new reversed `LazyWrapper` object.\n */\n function lazyReverse() {\n if (this.__filtered__) {\n var result = new LazyWrapper(this);\n result.__dir__ = -1;\n result.__filtered__ = true;\n } else {\n result = this.clone();\n result.__dir__ *= -1;\n }\n return result;\n }\n\n /**\n * Extracts the unwrapped value from its lazy wrapper.\n *\n * @private\n * @name value\n * @memberOf LazyWrapper\n * @returns {*} Returns the unwrapped value.\n */\n function lazyValue() {\n var array = this.__wrapped__.value(),\n dir = this.__dir__,\n isArr = isArray(array),\n isRight = dir < 0,\n arrLength = isArr ? array.length : 0,\n view = getView(0, arrLength, this.__views__),\n start = view.start,\n end = view.end,\n length = end - start,\n index = isRight ? end : (start - 1),\n iteratees = this.__iteratees__,\n iterLength = iteratees.length,\n resIndex = 0,\n takeCount = nativeMin(length, this.__takeCount__);\n\n if (!isArr || (!isRight && arrLength == length && takeCount == length)) {\n return baseWrapperValue(array, this.__actions__);\n }\n var result = [];\n\n outer:\n while (length-- && resIndex < takeCount) {\n index += dir;\n\n var iterIndex = -1,\n value = array[index];\n\n while (++iterIndex < iterLength) {\n var data = iteratees[iterIndex],\n iteratee = data.iteratee,\n type = data.type,\n computed = iteratee(value);\n\n if (type == LAZY_MAP_FLAG) {\n value = computed;\n } else if (!computed) {\n if (type == LAZY_FILTER_FLAG) {\n continue outer;\n } else {\n break outer;\n }\n }\n }\n result[resIndex++] = value;\n }\n return result;\n }\n\n // Ensure `LazyWrapper` is an instance of `baseLodash`.\n LazyWrapper.prototype = baseCreate(baseLodash.prototype);\n LazyWrapper.prototype.constructor = LazyWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\n function hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n }\n\n /**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n }\n\n /**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\n function hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n }\n\n // Add methods to `Hash`.\n Hash.prototype.clear = hashClear;\n Hash.prototype['delete'] = hashDelete;\n Hash.prototype.get = hashGet;\n Hash.prototype.has = hashHas;\n Hash.prototype.set = hashSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\n function listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n }\n\n /**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n }\n\n /**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n }\n\n /**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\n function listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n }\n\n // Add methods to `ListCache`.\n ListCache.prototype.clear = listCacheClear;\n ListCache.prototype['delete'] = listCacheDelete;\n ListCache.prototype.get = listCacheGet;\n ListCache.prototype.has = listCacheHas;\n ListCache.prototype.set = listCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\n function mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n }\n\n /**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function mapCacheGet(key) {\n return getMapData(this, key).get(key);\n }\n\n /**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function mapCacheHas(key) {\n return getMapData(this, key).has(key);\n }\n\n /**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\n function mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n }\n\n // Add methods to `MapCache`.\n MapCache.prototype.clear = mapCacheClear;\n MapCache.prototype['delete'] = mapCacheDelete;\n MapCache.prototype.get = mapCacheGet;\n MapCache.prototype.has = mapCacheHas;\n MapCache.prototype.set = mapCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\n function SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n }\n\n /**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\n function setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n }\n\n /**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\n function setCacheHas(value) {\n return this.__data__.has(value);\n }\n\n // Add methods to `SetCache`.\n SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\n SetCache.prototype.has = setCacheHas;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n }\n\n /**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\n function stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n }\n\n /**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function stackGet(key) {\n return this.__data__.get(key);\n }\n\n /**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function stackHas(key) {\n return this.__data__.has(key);\n }\n\n /**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\n function stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n }\n\n // Add methods to `Stack`.\n Stack.prototype.clear = stackClear;\n Stack.prototype['delete'] = stackDelete;\n Stack.prototype.get = stackGet;\n Stack.prototype.has = stackHas;\n Stack.prototype.set = stackSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\n function arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.sample` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @returns {*} Returns the random element.\n */\n function arraySample(array) {\n var length = array.length;\n return length ? array[baseRandom(0, length - 1)] : undefined;\n }\n\n /**\n * A specialized version of `_.sampleSize` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function arraySampleSize(array, n) {\n return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));\n }\n\n /**\n * A specialized version of `_.shuffle` for arrays.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function arrayShuffle(array) {\n return shuffleSelf(copyArray(array));\n }\n\n /**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n }\n\n /**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n }\n\n /**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n }\n\n /**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n }\n\n /**\n * The base implementation of `_.at` without support for individual paths.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {string[]} paths The property paths to pick.\n * @returns {Array} Returns the picked elements.\n */\n function baseAt(object, paths) {\n var index = -1,\n length = paths.length,\n result = Array(length),\n skip = object == null;\n\n while (++index < length) {\n result[index] = skip ? undefined : get(object, paths[index]);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\n function baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n }\n\n /**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\n function baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n }\n\n /**\n * The base implementation of `_.conforms` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property predicates to conform to.\n * @returns {Function} Returns the new spec function.\n */\n function baseConforms(source) {\n var props = keys(source);\n return function(object) {\n return baseConformsTo(object, source, props);\n };\n }\n\n /**\n * The base implementation of `_.conformsTo` which accepts `props` to check.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n */\n function baseConformsTo(object, source, props) {\n var length = props.length;\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (length--) {\n var key = props[length],\n predicate = source[key],\n value = object[key];\n\n if ((value === undefined && !(key in object)) || !predicate(value)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.delay` and `_.defer` which accepts `args`\n * to provide to `func`.\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {Array} args The arguments to provide to `func`.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n function baseDelay(func, wait, args) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return setTimeout(function() { func.apply(undefined, args); }, wait);\n }\n\n /**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\n function baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEach = createBaseEach(baseForOwn);\n\n /**\n * The base implementation of `_.forEachRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEachRight = createBaseEach(baseForOwnRight, true);\n\n /**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\n function baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n }\n\n /**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\n function baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.fill` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n */\n function baseFill(array, value, start, end) {\n var length = array.length;\n\n start = toInteger(start);\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = (end === undefined || end > length) ? length : toInteger(end);\n if (end < 0) {\n end += length;\n }\n end = start > end ? 0 : toLength(end);\n while (start < end) {\n array[start++] = value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\n function baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseFor = createBaseFor();\n\n /**\n * This function is like `baseFor` except that it iterates over properties\n * in the opposite order.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseForRight = createBaseFor(true);\n\n /**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.forOwnRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwnRight(object, iteratee) {\n return object && baseForRight(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.functions` which creates an array of\n * `object` function property names filtered from `props`.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Array} props The property names to filter.\n * @returns {Array} Returns the function names.\n */\n function baseFunctions(object, props) {\n return arrayFilter(props, function(key) {\n return isFunction(object[key]);\n });\n }\n\n /**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\n function baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n }\n\n /**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n }\n\n /**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n function baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n }\n\n /**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\n function baseGt(value, other) {\n return value > other;\n }\n\n /**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n }\n\n /**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHasIn(object, key) {\n return object != null && key in Object(object);\n }\n\n /**\n * The base implementation of `_.inRange` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to check.\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n */\n function baseInRange(number, start, end) {\n return number >= nativeMin(start, end) && number < nativeMax(start, end);\n }\n\n /**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\n function baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.invert` and `_.invertBy` which inverts\n * `object` with values transformed by `iteratee` and set by `setter`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform values.\n * @param {Object} accumulator The initial inverted object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseInverter(object, setter, iteratee, accumulator) {\n baseForOwn(object, function(value, key, object) {\n setter(accumulator, iteratee(value), key, object);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.invoke` without support for individual\n * method arguments.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {Array} args The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n */\n function baseInvoke(object, path, args) {\n path = castPath(path, object);\n object = parent(object, path);\n var func = object == null ? object : object[toKey(last(path))];\n return func == null ? undefined : apply(func, object, args);\n }\n\n /**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\n function baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n }\n\n /**\n * The base implementation of `_.isArrayBuffer` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n */\n function baseIsArrayBuffer(value) {\n return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;\n }\n\n /**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\n function baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n }\n\n /**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\n function baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n }\n\n /**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n }\n\n /**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\n function baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n }\n\n /**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\n function baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\n function baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n }\n\n /**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\n function baseIsRegExp(value) {\n return isObjectLike(value) && baseGetTag(value) == regexpTag;\n }\n\n /**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\n function baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n }\n\n /**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\n function baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n }\n\n /**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\n function baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n }\n\n /**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\n function baseLt(value, other) {\n return value < other;\n }\n\n /**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n }\n\n /**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n }\n\n /**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n }\n\n /**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n }\n\n /**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n }\n\n /**\n * The base implementation of `_.nth` which doesn't coerce arguments.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {number} n The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n */\n function baseNth(array, n) {\n var length = array.length;\n if (!length) {\n return;\n }\n n += n < 0 ? length : 0;\n return isIndex(n, length) ? array[n] : undefined;\n }\n\n /**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\n function baseOrderBy(collection, iteratees, orders) {\n var index = -1;\n iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(getIteratee()));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n }\n\n /**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\n function basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n }\n\n /**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\n function basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n }\n\n /**\n * The base implementation of `_.pullAllBy` without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n */\n function basePullAll(array, values, iteratee, comparator) {\n var indexOf = comparator ? baseIndexOfWith : baseIndexOf,\n index = -1,\n length = values.length,\n seen = array;\n\n if (array === values) {\n values = copyArray(values);\n }\n if (iteratee) {\n seen = arrayMap(array, baseUnary(iteratee));\n }\n while (++index < length) {\n var fromIndex = 0,\n value = values[index],\n computed = iteratee ? iteratee(value) : value;\n\n while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\n if (seen !== array) {\n splice.call(seen, fromIndex, 1);\n }\n splice.call(array, fromIndex, 1);\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.pullAt` without support for individual\n * indexes or capturing the removed elements.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {number[]} indexes The indexes of elements to remove.\n * @returns {Array} Returns `array`.\n */\n function basePullAt(array, indexes) {\n var length = array ? indexes.length : 0,\n lastIndex = length - 1;\n\n while (length--) {\n var index = indexes[length];\n if (length == lastIndex || index !== previous) {\n var previous = index;\n if (isIndex(index)) {\n splice.call(array, index, 1);\n } else {\n baseUnset(array, index);\n }\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.random` without support for returning\n * floating-point numbers.\n *\n * @private\n * @param {number} lower The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the random number.\n */\n function baseRandom(lower, upper) {\n return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\n }\n\n /**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\n function baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n }\n\n /**\n * The base implementation of `_.repeat` which doesn't coerce arguments.\n *\n * @private\n * @param {string} string The string to repeat.\n * @param {number} n The number of times to repeat the string.\n * @returns {string} Returns the repeated string.\n */\n function baseRepeat(string, n) {\n var result = '';\n if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n return result;\n }\n // Leverage the exponentiation by squaring algorithm for a faster repeat.\n // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n do {\n if (n % 2) {\n result += string;\n }\n n = nativeFloor(n / 2);\n if (n) {\n string += string;\n }\n } while (n);\n\n return result;\n }\n\n /**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\n function baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n }\n\n /**\n * The base implementation of `_.sample`.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n */\n function baseSample(collection) {\n return arraySample(values(collection));\n }\n\n /**\n * The base implementation of `_.sampleSize` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function baseSampleSize(collection, n) {\n var array = values(collection);\n return shuffleSelf(array, baseClamp(n, 0, array.length));\n }\n\n /**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n }\n\n /**\n * The base implementation of `setData` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var baseSetData = !metaMap ? identity : function(func, data) {\n metaMap.set(func, data);\n return func;\n };\n\n /**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n };\n\n /**\n * The base implementation of `_.shuffle`.\n *\n * @private\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function baseShuffle(collection) {\n return shuffleSelf(values(collection));\n }\n\n /**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n }\n\n /**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n }\n\n /**\n * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which\n * performs a binary search of `array` to determine the index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndex(array, value, retHighest) {\n var low = 0,\n high = array == null ? low : array.length;\n\n if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {\n while (low < high) {\n var mid = (low + high) >>> 1,\n computed = array[mid];\n\n if (computed !== null && !isSymbol(computed) &&\n (retHighest ? (computed <= value) : (computed < value))) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return high;\n }\n return baseSortedIndexBy(array, value, identity, retHighest);\n }\n\n /**\n * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`\n * which invokes `iteratee` for `value` and each element of `array` to compute\n * their sort ranking. The iteratee is invoked with one argument; (value).\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} iteratee The iteratee invoked per element.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndexBy(array, value, iteratee, retHighest) {\n value = iteratee(value);\n\n var low = 0,\n high = array == null ? 0 : array.length,\n valIsNaN = value !== value,\n valIsNull = value === null,\n valIsSymbol = isSymbol(value),\n valIsUndefined = value === undefined;\n\n while (low < high) {\n var mid = nativeFloor((low + high) / 2),\n computed = iteratee(array[mid]),\n othIsDefined = computed !== undefined,\n othIsNull = computed === null,\n othIsReflexive = computed === computed,\n othIsSymbol = isSymbol(computed);\n\n if (valIsNaN) {\n var setLow = retHighest || othIsReflexive;\n } else if (valIsUndefined) {\n setLow = othIsReflexive && (retHighest || othIsDefined);\n } else if (valIsNull) {\n setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);\n } else if (valIsSymbol) {\n setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);\n } else if (othIsNull || othIsSymbol) {\n setLow = false;\n } else {\n setLow = retHighest ? (computed <= value) : (computed < value);\n }\n if (setLow) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return nativeMin(high, MAX_ARRAY_INDEX);\n }\n\n /**\n * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseSortedUniq(array, iteratee) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (!index || !eq(computed, seen)) {\n var seen = computed;\n result[resIndex++] = value === 0 ? 0 : value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toNumber` which doesn't ensure correct\n * conversions of binary, hexadecimal, or octal string values.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n */\n function baseToNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n return +value;\n }\n\n /**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\n function baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\n function baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n }\n\n /**\n * The base implementation of `_.update`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to update.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseUpdate(object, path, updater, customizer) {\n return baseSet(object, path, updater(baseGet(object, path)), customizer);\n }\n\n /**\n * The base implementation of methods like `_.dropWhile` and `_.takeWhile`\n * without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {Function} predicate The function invoked per iteration.\n * @param {boolean} [isDrop] Specify dropping elements instead of taking them.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseWhile(array, predicate, isDrop, fromRight) {\n var length = array.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length) &&\n predicate(array[index], index, array)) {}\n\n return isDrop\n ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))\n : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));\n }\n\n /**\n * The base implementation of `wrapperValue` which returns the result of\n * performing a sequence of actions on the unwrapped `value`, where each\n * successive action is supplied the return value of the previous.\n *\n * @private\n * @param {*} value The unwrapped value.\n * @param {Array} actions Actions to perform to resolve the unwrapped value.\n * @returns {*} Returns the resolved value.\n */\n function baseWrapperValue(value, actions) {\n var result = value;\n if (result instanceof LazyWrapper) {\n result = result.value();\n }\n return arrayReduce(actions, function(result, action) {\n return action.func.apply(action.thisArg, arrayPush([result], action.args));\n }, result);\n }\n\n /**\n * The base implementation of methods like `_.xor`, without support for\n * iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of values.\n */\n function baseXor(arrays, iteratee, comparator) {\n var length = arrays.length;\n if (length < 2) {\n return length ? baseUniq(arrays[0]) : [];\n }\n var index = -1,\n result = Array(length);\n\n while (++index < length) {\n var array = arrays[index],\n othIndex = -1;\n\n while (++othIndex < length) {\n if (othIndex != index) {\n result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);\n }\n }\n }\n return baseUniq(baseFlatten(result, 1), iteratee, comparator);\n }\n\n /**\n * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n *\n * @private\n * @param {Array} props The property identifiers.\n * @param {Array} values The property values.\n * @param {Function} assignFunc The function to assign values.\n * @returns {Object} Returns the new object.\n */\n function baseZipObject(props, values, assignFunc) {\n var index = -1,\n length = props.length,\n valsLength = values.length,\n result = {};\n\n while (++index < length) {\n var value = index < valsLength ? values[index] : undefined;\n assignFunc(result, props[index], value);\n }\n return result;\n }\n\n /**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\n function castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n }\n\n /**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\n function castFunction(value) {\n return typeof value == 'function' ? value : identity;\n }\n\n /**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\n function castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n }\n\n /**\n * A `baseRest` alias which can be replaced with `identity` by module\n * replacement plugins.\n *\n * @private\n * @type {Function}\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n var castRest = baseRest;\n\n /**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\n function castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n }\n\n /**\n * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout).\n *\n * @private\n * @param {number|Object} id The timer id or timeout object of the timer to clear.\n */\n var clearTimeout = ctxClearTimeout || function(id) {\n return root.clearTimeout(id);\n };\n\n /**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\n function cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n }\n\n /**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\n function cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n }\n\n /**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\n function cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n }\n\n /**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\n function cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n }\n\n /**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\n function cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n }\n\n /**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\n function cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n }\n\n /**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\n function compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n }\n\n /**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\n function compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n }\n\n /**\n * Creates an array that is the composition of partially applied arguments,\n * placeholders, and provided arguments into a single array of arguments.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to prepend to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgs(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersLength = holders.length,\n leftIndex = -1,\n leftLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(leftLength + rangeLength),\n isUncurried = !isCurried;\n\n while (++leftIndex < leftLength) {\n result[leftIndex] = partials[leftIndex];\n }\n while (++argsIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[holders[argsIndex]] = args[argsIndex];\n }\n }\n while (rangeLength--) {\n result[leftIndex++] = args[argsIndex++];\n }\n return result;\n }\n\n /**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n }\n\n /**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\n function copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n }\n\n /**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\n function copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n }\n\n /**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n }\n\n /**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n }\n\n /**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\n function createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, getIteratee(iteratee, 2), accumulator);\n };\n }\n\n /**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\n function createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n }\n\n /**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n }\n\n /**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the optional `this`\n * binding of `thisArg`.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createBind(func, bitmask, thisArg) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return fn.apply(isBind ? thisArg : this, arguments);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\n function createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n }\n\n /**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\n function createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n }\n\n /**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = baseCreate(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return isObject(result) ? result : thisBinding;\n };\n }\n\n /**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCurry(func, bitmask, arity) {\n var Ctor = createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = getHolder(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : replaceHolders(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return apply(fn, this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\n function createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = getIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n }\n\n /**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\n function createFlow(fromRight) {\n return flatRest(function(funcs) {\n var length = funcs.length,\n index = length,\n prereq = LodashWrapper.prototype.thru;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n var func = funcs[index];\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\n var wrapper = new LodashWrapper([], true);\n }\n }\n index = wrapper ? index : length;\n while (++index < length) {\n func = funcs[index];\n\n var funcName = getFuncName(func),\n data = funcName == 'wrapper' ? getData(func) : undefined;\n\n if (data && isLaziable(data[0]) &&\n data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n !data[4].length && data[9] == 1\n ) {\n wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\n } else {\n wrapper = (func.length == 1 && isLaziable(func))\n ? wrapper[funcName]()\n : wrapper.thru(func);\n }\n }\n return function() {\n var args = arguments,\n value = args[0];\n\n if (wrapper && args.length == 1 && isArray(value)) {\n return wrapper.plant(value).value();\n }\n var index = 0,\n result = length ? funcs[index].apply(this, args) : value;\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with optional `this`\n * binding of `thisArg`, partial application, and currying.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [partialsRight] The arguments to append to those provided\n * to the new function.\n * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n var isAry = bitmask & WRAP_ARY_FLAG,\n isBind = bitmask & WRAP_BIND_FLAG,\n isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n isFlip = bitmask & WRAP_FLIP_FLAG,\n Ctor = isBindKey ? undefined : createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length;\n\n while (index--) {\n args[index] = arguments[index];\n }\n if (isCurried) {\n var placeholder = getHolder(wrapper),\n holdersCount = countHolders(args, placeholder);\n }\n if (partials) {\n args = composeArgs(args, partials, holders, isCurried);\n }\n if (partialsRight) {\n args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n }\n length -= holdersCount;\n if (isCurried && length < arity) {\n var newHolders = replaceHolders(args, placeholder);\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n args, newHolders, argPos, ary, arity - length\n );\n }\n var thisBinding = isBind ? thisArg : this,\n fn = isBindKey ? thisBinding[func] : func;\n\n length = args.length;\n if (argPos) {\n args = reorder(args, argPos);\n } else if (isFlip && length > 1) {\n args.reverse();\n }\n if (isAry && ary < length) {\n args.length = ary;\n }\n if (this && this !== root && this instanceof wrapper) {\n fn = Ctor || createCtor(fn);\n }\n return fn.apply(thisBinding, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.invertBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} toIteratee The function to resolve iteratees.\n * @returns {Function} Returns the new inverter function.\n */\n function createInverter(setter, toIteratee) {\n return function(object, iteratee) {\n return baseInverter(object, setter, toIteratee(iteratee), {});\n };\n }\n\n /**\n * Creates a function that performs a mathematical operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @param {number} [defaultValue] The value used for `undefined` arguments.\n * @returns {Function} Returns the new mathematical operation function.\n */\n function createMathOperation(operator, defaultValue) {\n return function(value, other) {\n var result;\n if (value === undefined && other === undefined) {\n return defaultValue;\n }\n if (value !== undefined) {\n result = value;\n }\n if (other !== undefined) {\n if (result === undefined) {\n return other;\n }\n if (typeof value == 'string' || typeof other == 'string') {\n value = baseToString(value);\n other = baseToString(other);\n } else {\n value = baseToNumber(value);\n other = baseToNumber(other);\n }\n result = operator(value, other);\n }\n return result;\n };\n }\n\n /**\n * Creates a function like `_.over`.\n *\n * @private\n * @param {Function} arrayFunc The function to iterate over iteratees.\n * @returns {Function} Returns the new over function.\n */\n function createOver(arrayFunc) {\n return flatRest(function(iteratees) {\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n return baseRest(function(args) {\n var thisArg = this;\n return arrayFunc(iteratees, function(iteratee) {\n return apply(iteratee, thisArg, args);\n });\n });\n });\n }\n\n /**\n * Creates the padding for `string` based on `length`. The `chars` string\n * is truncated if the number of characters exceeds `length`.\n *\n * @private\n * @param {number} length The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padding for `string`.\n */\n function createPadding(length, chars) {\n chars = chars === undefined ? ' ' : baseToString(chars);\n\n var charsLength = chars.length;\n if (charsLength < 2) {\n return charsLength ? baseRepeat(chars, length) : chars;\n }\n var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));\n return hasUnicode(chars)\n ? castSlice(stringToArray(result), 0, length).join('')\n : result.slice(0, length);\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\n function createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return apply(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\n function createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n }\n\n /**\n * Creates a function that performs a relational operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @returns {Function} Returns the new relational operation function.\n */\n function createRelationalOperation(operator) {\n return function(value, other) {\n if (!(typeof value == 'string' && typeof other == 'string')) {\n value = toNumber(value);\n other = toNumber(other);\n }\n return operator(value, other);\n };\n }\n\n /**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n }\n\n /**\n * Creates a function like `_.round`.\n *\n * @private\n * @param {string} methodName The name of the `Math` method to use when rounding.\n * @returns {Function} Returns the new round function.\n */\n function createRound(methodName) {\n var func = Math[methodName];\n return function(number, precision) {\n number = toNumber(number);\n precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);\n if (precision && nativeIsFinite(number)) {\n // Shift with exponential notation to avoid floating-point issues.\n // See [MDN](https://mdn.io/round#Examples) for more details.\n var pair = (toString(number) + 'e').split('e'),\n value = func(pair[0] + 'e' + (+pair[1] + precision));\n\n pair = (toString(value) + 'e').split('e');\n return +(pair[0] + 'e' + (+pair[1] - precision));\n }\n return func(number);\n };\n }\n\n /**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\n var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n };\n\n /**\n * Creates a `_.toPairs` or `_.toPairsIn` function.\n *\n * @private\n * @param {Function} keysFunc The function to get the keys of a given object.\n * @returns {Function} Returns the new pairs function.\n */\n function createToPairs(keysFunc) {\n return function(object) {\n var tag = getTag(object);\n if (tag == mapTag) {\n return mapToArray(object);\n }\n if (tag == setTag) {\n return setToPairs(object);\n }\n return baseToPairs(object, keysFunc(object));\n };\n }\n\n /**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n arity = arity === undefined ? arity : toInteger(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : getData(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n mergeData(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = createBind(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = createCurry(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = createPartial(func, bitmask, thisArg, partials);\n } else {\n result = createHybrid.apply(undefined, newData);\n }\n var setter = data ? baseSetData : setData;\n return setWrapToString(setter(result, newData), func, bitmask);\n }\n\n /**\n * Used by `_.defaults` to customize its `_.assignIn` use to assign properties\n * of source objects to the destination object for all destination properties\n * that resolve to `undefined`.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsAssignIn(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n }\n\n /**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (isObject(objValue) && isObject(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n }\n\n /**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\n function customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\n function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n function flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n }\n\n /**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n }\n\n /**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n }\n\n /**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\n var getData = !metaMap ? noop : function(func) {\n return metaMap.get(func);\n };\n\n /**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\n function getFuncName(func) {\n var result = (func.name + ''),\n array = realNames[result],\n length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n }\n\n /**\n * Gets the argument placeholder value for `func`.\n *\n * @private\n * @param {Function} func The function to inspect.\n * @returns {*} Returns the placeholder value.\n */\n function getHolder(func) {\n var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;\n return object.placeholder;\n }\n\n /**\n * Gets the appropriate \"iteratee\" function. If `_.iteratee` is customized,\n * this function returns the custom method, otherwise it returns `baseIteratee`.\n * If arguments are provided, the chosen function is invoked with them and\n * its result is returned.\n *\n * @private\n * @param {*} [value] The value to convert to an iteratee.\n * @param {number} [arity] The arity of the created iteratee.\n * @returns {Function} Returns the chosen function or its result.\n */\n function getIteratee() {\n var result = lodash.iteratee || iteratee;\n result = result === iteratee ? baseIteratee : result;\n return arguments.length ? result(arguments[0], arguments[1]) : result;\n }\n\n /**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\n function getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n }\n\n /**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\n function getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n }\n\n /**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\n function getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n }\n\n /**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\n function getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n }\n\n /**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n };\n\n /**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n };\n\n /**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n var getTag = baseGetTag;\n\n // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\n if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n }\n\n /**\n * Gets the view, applying any `transforms` to the `start` and `end` positions.\n *\n * @private\n * @param {number} start The start of the view.\n * @param {number} end The end of the view.\n * @param {Array} transforms The transformations to apply to the view.\n * @returns {Object} Returns an object containing the `start` and `end`\n * positions of the view.\n */\n function getView(start, end, transforms) {\n var index = -1,\n length = transforms.length;\n\n while (++index < length) {\n var data = transforms[index],\n size = data.size;\n\n switch (data.type) {\n case 'drop': start += size; break;\n case 'dropRight': end -= size; break;\n case 'take': end = nativeMin(end, start + size); break;\n case 'takeRight': start = nativeMax(start, end - size); break;\n }\n }\n return { 'start': start, 'end': end };\n }\n\n /**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\n function getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n }\n\n /**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\n function hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n }\n\n /**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\n function initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n }\n\n /**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n }\n\n /**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n }\n\n /**\n * Inserts wrapper `details` in a comment at the top of the `source` body.\n *\n * @private\n * @param {string} source The source to modify.\n * @returns {Array} details The details to insert.\n * @returns {string} Returns the modified source.\n */\n function insertWrapDetails(source, details) {\n var length = details.length;\n if (!length) {\n return source;\n }\n var lastIndex = length - 1;\n details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n details = details.join(length > 2 ? ', ' : ' ');\n return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n }\n\n /**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\n function isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n }\n\n /**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\n function isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n }\n\n /**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\n function isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n }\n\n /**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\n function isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n }\n\n /**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\n function isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n }\n\n /**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\n function isLaziable(func) {\n var funcName = getFuncName(func),\n other = lodash[funcName];\n\n if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = getData(other);\n return !!data && func === data[0];\n }\n\n /**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\n function isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n }\n\n /**\n * Checks if `func` is capable of being masked.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `func` is maskable, else `false`.\n */\n var isMaskable = coreJsData ? isFunction : stubFalse;\n\n /**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\n function isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n }\n\n /**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\n function isStrictComparable(value) {\n return value === value && !isObject(value);\n }\n\n /**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n }\n\n /**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\n function memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n }\n\n /**\n * Merges the function metadata of `source` into `data`.\n *\n * Merging metadata reduces the number of wrappers used to invoke a function.\n * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n * may be applied regardless of execution order. Methods like `_.ary` and\n * `_.rearg` modify function arguments, making the order in which they are\n * executed important, preventing the merging of metadata. However, we make\n * an exception for a safe combined case where curried functions have `_.ary`\n * and or `_.rearg` applied.\n *\n * @private\n * @param {Array} data The destination metadata.\n * @param {Array} source The source metadata.\n * @returns {Array} Returns `data`.\n */\n function mergeData(data, source) {\n var bitmask = data[1],\n srcBitmask = source[1],\n newBitmask = bitmask | srcBitmask,\n isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n var isCombo =\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n // Exit early if metadata can't be merged.\n if (!(isCommon || isCombo)) {\n return data;\n }\n // Use source `thisArg` if available.\n if (srcBitmask & WRAP_BIND_FLAG) {\n data[2] = source[2];\n // Set when currying a bound function.\n newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n }\n // Compose partial arguments.\n var value = source[3];\n if (value) {\n var partials = data[3];\n data[3] = partials ? composeArgs(partials, value, source[4]) : value;\n data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\n }\n // Compose partial right arguments.\n value = source[5];\n if (value) {\n partials = data[5];\n data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\n data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\n }\n // Use source `argPos` if available.\n value = source[7];\n if (value) {\n data[7] = value;\n }\n // Use source `ary` if it's smaller.\n if (srcBitmask & WRAP_ARY_FLAG) {\n data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n }\n // Use source `arity` if one is not provided.\n if (data[9] == null) {\n data[9] = source[9];\n }\n // Use source `func` and merge bitmasks.\n data[0] = source[0];\n data[1] = newBitmask;\n\n return data;\n }\n\n /**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\n function objectToString(value) {\n return nativeObjectToString.call(value);\n }\n\n /**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\n function overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n }\n\n /**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\n function parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n }\n\n /**\n * Reorder `array` according to the specified indexes where the element at\n * the first index is assigned as the first element, the element at\n * the second index is assigned as the second element, and so on.\n *\n * @private\n * @param {Array} array The array to reorder.\n * @param {Array} indexes The arranged array indexes.\n * @returns {Array} Returns `array`.\n */\n function reorder(array, indexes) {\n var arrLength = array.length,\n length = nativeMin(indexes.length, arrLength),\n oldArray = copyArray(array);\n\n while (length--) {\n var index = indexes[length];\n array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n }\n return array;\n }\n\n /**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n }\n\n /**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var setData = shortOut(baseSetData);\n\n /**\n * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout).\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n var setTimeout = ctxSetTimeout || function(func, wait) {\n return root.setTimeout(func, wait);\n };\n\n /**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var setToString = shortOut(baseSetToString);\n\n /**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\n function setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n }\n\n /**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\n function shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n }\n\n /**\n * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @param {number} [size=array.length] The size of `array`.\n * @returns {Array} Returns `array`.\n */\n function shuffleSelf(array, size) {\n var index = -1,\n length = array.length,\n lastIndex = length - 1;\n\n size = size === undefined ? length : size;\n while (++index < size) {\n var rand = baseRandom(index, lastIndex),\n value = array[rand];\n\n array[rand] = array[index];\n array[index] = value;\n }\n array.length = size;\n return array;\n }\n\n /**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\n var stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n });\n\n /**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\n function toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\n function toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n }\n\n /**\n * Updates wrapper `details` based on `bitmask` flags.\n *\n * @private\n * @returns {Array} details The details to modify.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Array} Returns `details`.\n */\n function updateWrapDetails(details, bitmask) {\n arrayEach(wrapFlags, function(pair) {\n var value = '_.' + pair[0];\n if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n details.push(value);\n }\n });\n return details.sort();\n }\n\n /**\n * Creates a clone of `wrapper`.\n *\n * @private\n * @param {Object} wrapper The wrapper to clone.\n * @returns {Object} Returns the cloned wrapper.\n */\n function wrapperClone(wrapper) {\n if (wrapper instanceof LazyWrapper) {\n return wrapper.clone();\n }\n var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n result.__actions__ = copyArray(wrapper.__actions__);\n result.__index__ = wrapper.__index__;\n result.__values__ = wrapper.__values__;\n return result;\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of elements split into groups the length of `size`.\n * If `array` can't be split evenly, the final chunk will be the remaining\n * elements.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to process.\n * @param {number} [size=1] The length of each chunk\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the new array of chunks.\n * @example\n *\n * _.chunk(['a', 'b', 'c', 'd'], 2);\n * // => [['a', 'b'], ['c', 'd']]\n *\n * _.chunk(['a', 'b', 'c', 'd'], 3);\n * // => [['a', 'b', 'c'], ['d']]\n */\n function chunk(array, size, guard) {\n if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {\n size = 1;\n } else {\n size = nativeMax(toInteger(size), 0);\n }\n var length = array == null ? 0 : array.length;\n if (!length || size < 1) {\n return [];\n }\n var index = 0,\n resIndex = 0,\n result = Array(nativeCeil(length / size));\n\n while (index < length) {\n result[resIndex++] = baseSlice(array, index, (index += size));\n }\n return result;\n }\n\n /**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\n function compact(array) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * Creates a new array concatenating `array` with any additional arrays\n * and/or values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to concatenate.\n * @param {...*} [values] The values to concatenate.\n * @returns {Array} Returns the new concatenated array.\n * @example\n *\n * var array = [1];\n * var other = _.concat(array, 2, [3], [[4]]);\n *\n * console.log(other);\n * // => [1, 2, 3, [4]]\n *\n * console.log(array);\n * // => [1]\n */\n function concat() {\n var length = arguments.length;\n if (!length) {\n return [];\n }\n var args = Array(length - 1),\n array = arguments[0],\n index = length;\n\n while (index--) {\n args[index - 1] = arguments[index];\n }\n return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));\n }\n\n /**\n * Creates an array of `array` values not included in the other given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\n var difference = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `iteratee` which\n * is invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var differenceBy = baseRest(function(array, values) {\n var iteratee = last(values);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `comparator`\n * which is invoked to compare elements of `array` to `values`. The order and\n * references of result values are determined by the first array. The comparator\n * is invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n *\n * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }]\n */\n var differenceWith = baseRest(function(array, values) {\n var comparator = last(values);\n if (isArrayLikeObject(comparator)) {\n comparator = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)\n : [];\n });\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.drop([1, 2, 3]);\n * // => [2, 3]\n *\n * _.drop([1, 2, 3], 2);\n * // => [3]\n *\n * _.drop([1, 2, 3], 5);\n * // => []\n *\n * _.drop([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function drop(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.dropRight([1, 2, 3]);\n * // => [1, 2]\n *\n * _.dropRight([1, 2, 3], 2);\n * // => [1]\n *\n * _.dropRight([1, 2, 3], 5);\n * // => []\n *\n * _.dropRight([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function dropRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the end.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.dropRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropRightWhile(users, ['active', false]);\n * // => objects for ['barney']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropRightWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the beginning.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.dropWhile(users, function(o) { return !o.active; });\n * // => objects for ['pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropWhile(users, ['active', false]);\n * // => objects for ['pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true)\n : [];\n }\n\n /**\n * Fills elements of `array` with `value` from `start` up to, but not\n * including, `end`.\n *\n * **Note:** This method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Array\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.fill(array, 'a');\n * console.log(array);\n * // => ['a', 'a', 'a']\n *\n * _.fill(Array(3), 2);\n * // => [2, 2, 2]\n *\n * _.fill([4, 6, 8, 10], '*', 1, 3);\n * // => [4, '*', '*', 10]\n */\n function fill(array, value, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {\n start = 0;\n end = length;\n }\n return baseFill(array, value, start, end);\n }\n\n /**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\n function findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index);\n }\n\n /**\n * This method is like `_.findIndex` except that it iterates over elements\n * of `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n * // => 2\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n * // => 0\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastIndex(users, ['active', false]);\n * // => 2\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastIndex(users, 'active');\n * // => 0\n */\n function findLastIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length - 1;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = fromIndex < 0\n ? nativeMax(length + index, 0)\n : nativeMin(index, length - 1);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index, true);\n }\n\n /**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\n function flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n }\n\n /**\n * Recursively flattens `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flattenDeep([1, [2, [3, [4]], 5]]);\n * // => [1, 2, 3, 4, 5]\n */\n function flattenDeep(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, INFINITY) : [];\n }\n\n /**\n * Recursively flatten `array` up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * var array = [1, [2, [3, [4]], 5]];\n *\n * _.flattenDepth(array, 1);\n * // => [1, 2, [3, [4]], 5]\n *\n * _.flattenDepth(array, 2);\n * // => [1, 2, 3, [4], 5]\n */\n function flattenDepth(array, depth) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(array, depth);\n }\n\n /**\n * The inverse of `_.toPairs`; this method returns an object composed\n * from key-value `pairs`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} pairs The key-value pairs.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.fromPairs([['a', 1], ['b', 2]]);\n * // => { 'a': 1, 'b': 2 }\n */\n function fromPairs(pairs) {\n var index = -1,\n length = pairs == null ? 0 : pairs.length,\n result = {};\n\n while (++index < length) {\n var pair = pairs[index];\n result[pair[0]] = pair[1];\n }\n return result;\n }\n\n /**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\n function head(array) {\n return (array && array.length) ? array[0] : undefined;\n }\n\n /**\n * Gets the index at which the first occurrence of `value` is found in `array`\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. If `fromIndex` is negative, it's used as the\n * offset from the end of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.indexOf([1, 2, 1, 2], 2);\n * // => 1\n *\n * // Search from the `fromIndex`.\n * _.indexOf([1, 2, 1, 2], 2, 2);\n * // => 3\n */\n function indexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseIndexOf(array, value, index);\n }\n\n /**\n * Gets all but the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.initial([1, 2, 3]);\n * // => [1, 2]\n */\n function initial(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 0, -1) : [];\n }\n\n /**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\n var intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `iteratee`\n * which is invoked for each element of each `arrays` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [2.1]\n *\n * // The `_.property` iteratee shorthand.\n * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }]\n */\n var intersectionBy = baseRest(function(arrays) {\n var iteratee = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n if (iteratee === last(mapped)) {\n iteratee = undefined;\n } else {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `comparator`\n * which is invoked to compare elements of `arrays`. The order and references\n * of result values are determined by the first array. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.intersectionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }]\n */\n var intersectionWith = baseRest(function(arrays) {\n var comparator = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n comparator = typeof comparator == 'function' ? comparator : undefined;\n if (comparator) {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, undefined, comparator)\n : [];\n });\n\n /**\n * Converts all elements in `array` into a string separated by `separator`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to convert.\n * @param {string} [separator=','] The element separator.\n * @returns {string} Returns the joined string.\n * @example\n *\n * _.join(['a', 'b', 'c'], '~');\n * // => 'a~b~c'\n */\n function join(array, separator) {\n return array == null ? '' : nativeJoin.call(array, separator);\n }\n\n /**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\n function last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n }\n\n /**\n * This method is like `_.indexOf` except that it iterates over elements of\n * `array` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.lastIndexOf([1, 2, 1, 2], 2);\n * // => 3\n *\n * // Search from the `fromIndex`.\n * _.lastIndexOf([1, 2, 1, 2], 2, 2);\n * // => 1\n */\n function lastIndexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);\n }\n return value === value\n ? strictLastIndexOf(array, value, index)\n : baseFindIndex(array, baseIsNaN, index, true);\n }\n\n /**\n * Gets the element at index `n` of `array`. If `n` is negative, the nth\n * element from the end is returned.\n *\n * @static\n * @memberOf _\n * @since 4.11.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=0] The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n *\n * _.nth(array, 1);\n * // => 'b'\n *\n * _.nth(array, -2);\n * // => 'c';\n */\n function nth(array, n) {\n return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;\n }\n\n /**\n * Removes all given values from `array` using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`\n * to remove elements from an array by predicate.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...*} [values] The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pull(array, 'a', 'c');\n * console.log(array);\n * // => ['b', 'b']\n */\n var pull = baseRest(pullAll);\n\n /**\n * This method is like `_.pull` except that it accepts an array of values to remove.\n *\n * **Note:** Unlike `_.difference`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pullAll(array, ['a', 'c']);\n * console.log(array);\n * // => ['b', 'b']\n */\n function pullAll(array, values) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values)\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `iteratee` which is\n * invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The iteratee is invoked with one argument: (value).\n *\n * **Note:** Unlike `_.differenceBy`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];\n *\n * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');\n * console.log(array);\n * // => [{ 'x': 2 }]\n */\n function pullAllBy(array, values, iteratee) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, getIteratee(iteratee, 2))\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `comparator` which\n * is invoked to compare elements of `array` to `values`. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.differenceWith`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];\n *\n * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);\n * console.log(array);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]\n */\n function pullAllWith(array, values, comparator) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, undefined, comparator)\n : array;\n }\n\n /**\n * Removes elements from `array` corresponding to `indexes` and returns an\n * array of removed elements.\n *\n * **Note:** Unlike `_.at`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...(number|number[])} [indexes] The indexes of elements to remove.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n * var pulled = _.pullAt(array, [1, 3]);\n *\n * console.log(array);\n * // => ['a', 'c']\n *\n * console.log(pulled);\n * // => ['b', 'd']\n */\n var pullAt = flatRest(function(array, indexes) {\n var length = array == null ? 0 : array.length,\n result = baseAt(array, indexes);\n\n basePullAt(array, arrayMap(indexes, function(index) {\n return isIndex(index, length) ? +index : index;\n }).sort(compareAscending));\n\n return result;\n });\n\n /**\n * Removes all elements from `array` that `predicate` returns truthy for\n * and returns an array of the removed elements. The predicate is invoked\n * with three arguments: (value, index, array).\n *\n * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`\n * to pull elements from an array by value.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = [1, 2, 3, 4];\n * var evens = _.remove(array, function(n) {\n * return n % 2 == 0;\n * });\n *\n * console.log(array);\n * // => [1, 3]\n *\n * console.log(evens);\n * // => [2, 4]\n */\n function remove(array, predicate) {\n var result = [];\n if (!(array && array.length)) {\n return result;\n }\n var index = -1,\n indexes = [],\n length = array.length;\n\n predicate = getIteratee(predicate, 3);\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result.push(value);\n indexes.push(index);\n }\n }\n basePullAt(array, indexes);\n return result;\n }\n\n /**\n * Reverses `array` so that the first element becomes the last, the second\n * element becomes the second to last, and so on.\n *\n * **Note:** This method mutates `array` and is based on\n * [`Array#reverse`](https://mdn.io/Array/reverse).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.reverse(array);\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function reverse(array) {\n return array == null ? array : nativeReverse.call(array);\n }\n\n /**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n }\n\n /**\n * Uses a binary search to determine the lowest index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedIndex([30, 50], 40);\n * // => 1\n */\n function sortedIndex(array, value) {\n return baseSortedIndex(array, value);\n }\n\n /**\n * This method is like `_.sortedIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedIndexBy(objects, { 'x': 4 }, 'x');\n * // => 0\n */\n function sortedIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));\n }\n\n /**\n * This method is like `_.indexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedIndexOf([4, 5, 5, 5, 6], 5);\n * // => 1\n */\n function sortedIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value);\n if (index < length && eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.sortedIndex` except that it returns the highest\n * index at which `value` should be inserted into `array` in order to\n * maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedLastIndex([4, 5, 5, 5, 6], 5);\n * // => 4\n */\n function sortedLastIndex(array, value) {\n return baseSortedIndex(array, value, true);\n }\n\n /**\n * This method is like `_.sortedLastIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 1\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');\n * // => 1\n */\n function sortedLastIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);\n }\n\n /**\n * This method is like `_.lastIndexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);\n * // => 3\n */\n function sortedLastIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value, true) - 1;\n if (eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.uniq` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniq([1, 1, 2]);\n * // => [1, 2]\n */\n function sortedUniq(array) {\n return (array && array.length)\n ? baseSortedUniq(array)\n : [];\n }\n\n /**\n * This method is like `_.uniqBy` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);\n * // => [1.1, 2.3]\n */\n function sortedUniqBy(array, iteratee) {\n return (array && array.length)\n ? baseSortedUniq(array, getIteratee(iteratee, 2))\n : [];\n }\n\n /**\n * Gets all but the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.tail([1, 2, 3]);\n * // => [2, 3]\n */\n function tail(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 1, length) : [];\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.take([1, 2, 3]);\n * // => [1]\n *\n * _.take([1, 2, 3], 2);\n * // => [1, 2]\n *\n * _.take([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.take([1, 2, 3], 0);\n * // => []\n */\n function take(array, n, guard) {\n if (!(array && array.length)) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.takeRight([1, 2, 3]);\n * // => [3]\n *\n * _.takeRight([1, 2, 3], 2);\n * // => [2, 3]\n *\n * _.takeRight([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.takeRight([1, 2, 3], 0);\n * // => []\n */\n function takeRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with elements taken from the end. Elements are\n * taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.takeRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeRightWhile(users, ['active', false]);\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeRightWhile(users, 'active');\n * // => []\n */\n function takeRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), false, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` with elements taken from the beginning. Elements\n * are taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.takeWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeWhile(users, ['active', false]);\n * // => objects for ['barney', 'fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeWhile(users, 'active');\n * // => []\n */\n function takeWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3))\n : [];\n }\n\n /**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\n var union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n });\n\n /**\n * This method is like `_.union` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which uniqueness is computed. Result values are chosen from the first\n * array in which the value occurs. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.unionBy([2.1], [1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n var unionBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.union` except that it accepts `comparator` which\n * is invoked to compare elements of `arrays`. Result values are chosen from\n * the first array in which the value occurs. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.unionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var unionWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);\n });\n\n /**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\n function uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n function uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `comparator` which\n * is invoked to compare elements of `array`. The order of result values is\n * determined by the order they occur in the array.The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.uniqWith(objects, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n */\n function uniqWith(array, comparator) {\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n }\n\n /**\n * This method is like `_.zip` except that it accepts an array of grouped\n * elements and creates an array regrouping the elements to their pre-zip\n * configuration.\n *\n * @static\n * @memberOf _\n * @since 1.2.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n *\n * _.unzip(zipped);\n * // => [['a', 'b'], [1, 2], [true, false]]\n */\n function unzip(array) {\n if (!(array && array.length)) {\n return [];\n }\n var length = 0;\n array = arrayFilter(array, function(group) {\n if (isArrayLikeObject(group)) {\n length = nativeMax(group.length, length);\n return true;\n }\n });\n return baseTimes(length, function(index) {\n return arrayMap(array, baseProperty(index));\n });\n }\n\n /**\n * This method is like `_.unzip` except that it accepts `iteratee` to specify\n * how regrouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * regrouped values.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip([1, 2], [10, 20], [100, 200]);\n * // => [[1, 10, 100], [2, 20, 200]]\n *\n * _.unzipWith(zipped, _.add);\n * // => [3, 30, 300]\n */\n function unzipWith(array, iteratee) {\n if (!(array && array.length)) {\n return [];\n }\n var result = unzip(array);\n if (iteratee == null) {\n return result;\n }\n return arrayMap(result, function(group) {\n return apply(iteratee, undefined, group);\n });\n }\n\n /**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\n var without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n });\n\n /**\n * Creates an array of unique values that is the\n * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n * of the given arrays. The order of result values is determined by the order\n * they occur in the arrays.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.without\n * @example\n *\n * _.xor([2, 1], [2, 3]);\n * // => [1, 3]\n */\n var xor = baseRest(function(arrays) {\n return baseXor(arrayFilter(arrays, isArrayLikeObject));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which by which they're compared. The order of result values is determined\n * by the order they occur in the arrays. The iteratee is invoked with one\n * argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2, 3.4]\n *\n * // The `_.property` iteratee shorthand.\n * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var xorBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `comparator` which is\n * invoked to compare elements of `arrays`. The order of result values is\n * determined by the order they occur in the arrays. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.xorWith(objects, others, _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var xorWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);\n });\n\n /**\n * Creates an array of grouped elements, the first of which contains the\n * first elements of the given arrays, the second of which contains the\n * second elements of the given arrays, and so on.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n */\n var zip = baseRest(unzip);\n\n /**\n * This method is like `_.fromPairs` except that it accepts two arrays,\n * one of property identifiers and one of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 0.4.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObject(['a', 'b'], [1, 2]);\n * // => { 'a': 1, 'b': 2 }\n */\n function zipObject(props, values) {\n return baseZipObject(props || [], values || [], assignValue);\n }\n\n /**\n * This method is like `_.zipObject` except that it supports property paths.\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);\n * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }\n */\n function zipObjectDeep(props, values) {\n return baseZipObject(props || [], values || [], baseSet);\n }\n\n /**\n * This method is like `_.zip` except that it accepts `iteratee` to specify\n * how grouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * grouped values.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {\n * return a + b + c;\n * });\n * // => [111, 222]\n */\n var zipWith = baseRest(function(arrays) {\n var length = arrays.length,\n iteratee = length > 1 ? arrays[length - 1] : undefined;\n\n iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined;\n return unzipWith(arrays, iteratee);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` wrapper instance that wraps `value` with explicit method\n * chain sequences enabled. The result of such sequences must be unwrapped\n * with `_#value`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Seq\n * @param {*} value The value to wrap.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'pebbles', 'age': 1 }\n * ];\n *\n * var youngest = _\n * .chain(users)\n * .sortBy('age')\n * .map(function(o) {\n * return o.user + ' is ' + o.age;\n * })\n * .head()\n * .value();\n * // => 'pebbles is 1'\n */\n function chain(value) {\n var result = lodash(value);\n result.__chain__ = true;\n return result;\n }\n\n /**\n * This method invokes `interceptor` and returns `value`. The interceptor\n * is invoked with one argument; (value). The purpose of this method is to\n * \"tap into\" a method chain sequence in order to modify intermediate results.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns `value`.\n * @example\n *\n * _([1, 2, 3])\n * .tap(function(array) {\n * // Mutate input array.\n * array.pop();\n * })\n * .reverse()\n * .value();\n * // => [2, 1]\n */\n function tap(value, interceptor) {\n interceptor(value);\n return value;\n }\n\n /**\n * This method is like `_.tap` except that it returns the result of `interceptor`.\n * The purpose of this method is to \"pass thru\" values replacing intermediate\n * results in a method chain sequence.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns the result of `interceptor`.\n * @example\n *\n * _(' abc ')\n * .chain()\n * .trim()\n * .thru(function(value) {\n * return [value];\n * })\n * .value();\n * // => ['abc']\n */\n function thru(value, interceptor) {\n return interceptor(value);\n }\n\n /**\n * This method is the wrapper version of `_.at`.\n *\n * @name at\n * @memberOf _\n * @since 1.0.0\n * @category Seq\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _(object).at(['a[0].b.c', 'a[1]']).value();\n * // => [3, 4]\n */\n var wrapperAt = flatRest(function(paths) {\n var length = paths.length,\n start = length ? paths[0] : 0,\n value = this.__wrapped__,\n interceptor = function(object) { return baseAt(object, paths); };\n\n if (length > 1 || this.__actions__.length ||\n !(value instanceof LazyWrapper) || !isIndex(start)) {\n return this.thru(interceptor);\n }\n value = value.slice(start, +start + (length ? 1 : 0));\n value.__actions__.push({\n 'func': thru,\n 'args': [interceptor],\n 'thisArg': undefined\n });\n return new LodashWrapper(value, this.__chain__).thru(function(array) {\n if (length && !array.length) {\n array.push(undefined);\n }\n return array;\n });\n });\n\n /**\n * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.\n *\n * @name chain\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 }\n * ];\n *\n * // A sequence without explicit chaining.\n * _(users).head();\n * // => { 'user': 'barney', 'age': 36 }\n *\n * // A sequence with explicit chaining.\n * _(users)\n * .chain()\n * .head()\n * .pick('user')\n * .value();\n * // => { 'user': 'barney' }\n */\n function wrapperChain() {\n return chain(this);\n }\n\n /**\n * Executes the chain sequence and returns the wrapped result.\n *\n * @name commit\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2];\n * var wrapped = _(array).push(3);\n *\n * console.log(array);\n * // => [1, 2]\n *\n * wrapped = wrapped.commit();\n * console.log(array);\n * // => [1, 2, 3]\n *\n * wrapped.last();\n * // => 3\n *\n * console.log(array);\n * // => [1, 2, 3]\n */\n function wrapperCommit() {\n return new LodashWrapper(this.value(), this.__chain__);\n }\n\n /**\n * Gets the next value on a wrapped object following the\n * [iterator protocol](https://mdn.io/iteration_protocols#iterator).\n *\n * @name next\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the next iterator value.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 1 }\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 2 }\n *\n * wrapped.next();\n * // => { 'done': true, 'value': undefined }\n */\n function wrapperNext() {\n if (this.__values__ === undefined) {\n this.__values__ = toArray(this.value());\n }\n var done = this.__index__ >= this.__values__.length,\n value = done ? undefined : this.__values__[this.__index__++];\n\n return { 'done': done, 'value': value };\n }\n\n /**\n * Enables the wrapper to be iterable.\n *\n * @name Symbol.iterator\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the wrapper object.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped[Symbol.iterator]() === wrapped;\n * // => true\n *\n * Array.from(wrapped);\n * // => [1, 2]\n */\n function wrapperToIterator() {\n return this;\n }\n\n /**\n * Creates a clone of the chain sequence planting `value` as the wrapped value.\n *\n * @name plant\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @param {*} value The value to plant.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2]).map(square);\n * var other = wrapped.plant([3, 4]);\n *\n * other.value();\n * // => [9, 16]\n *\n * wrapped.value();\n * // => [1, 4]\n */\n function wrapperPlant(value) {\n var result,\n parent = this;\n\n while (parent instanceof baseLodash) {\n var clone = wrapperClone(parent);\n clone.__index__ = 0;\n clone.__values__ = undefined;\n if (result) {\n previous.__wrapped__ = clone;\n } else {\n result = clone;\n }\n var previous = clone;\n parent = parent.__wrapped__;\n }\n previous.__wrapped__ = value;\n return result;\n }\n\n /**\n * This method is the wrapper version of `_.reverse`.\n *\n * **Note:** This method mutates the wrapped array.\n *\n * @name reverse\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _(array).reverse().value()\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function wrapperReverse() {\n var value = this.__wrapped__;\n if (value instanceof LazyWrapper) {\n var wrapped = value;\n if (this.__actions__.length) {\n wrapped = new LazyWrapper(this);\n }\n wrapped = wrapped.reverse();\n wrapped.__actions__.push({\n 'func': thru,\n 'args': [reverse],\n 'thisArg': undefined\n });\n return new LodashWrapper(wrapped, this.__chain__);\n }\n return this.thru(reverse);\n }\n\n /**\n * Executes the chain sequence to resolve the unwrapped value.\n *\n * @name value\n * @memberOf _\n * @since 0.1.0\n * @alias toJSON, valueOf\n * @category Seq\n * @returns {*} Returns the resolved unwrapped value.\n * @example\n *\n * _([1, 2, 3]).value();\n * // => [1, 2, 3]\n */\n function wrapperValue() {\n return baseWrapperValue(this.__wrapped__, this.__actions__);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the number of times the key was returned by `iteratee`. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.countBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': 1, '6': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.countBy(['one', 'two', 'three'], 'length');\n * // => { '3': 2, '5': 1 }\n */\n var countBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n ++result[key];\n } else {\n baseAssignValue(result, key, 1);\n }\n });\n\n /**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\n function every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n */\n function filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\n var find = createFind(findIndex);\n\n /**\n * This method is like `_.find` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=collection.length-1] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * _.findLast([1, 2, 3, 4], function(n) {\n * return n % 2 == 1;\n * });\n * // => 3\n */\n var findLast = createFind(findLastIndex);\n\n /**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDeep([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMapDeep(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), INFINITY);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDepth([1, 2], duplicate, 2);\n * // => [[1, 1], [2, 2]]\n */\n function flatMapDepth(collection, iteratee, depth) {\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(map(collection, iteratee), depth);\n }\n\n /**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forEach` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @alias eachRight\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEach\n * @example\n *\n * _.forEachRight([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `2` then `1`.\n */\n function forEachRight(collection, iteratee) {\n var func = isArray(collection) ? arrayEachRight : baseEachRight;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\n var groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n });\n\n /**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\n function includes(collection, value, fromIndex, guard) {\n collection = isArrayLike(collection) ? collection : values(collection);\n fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n var length = collection.length;\n if (fromIndex < 0) {\n fromIndex = nativeMax(length + fromIndex, 0);\n }\n return isString(collection)\n ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n }\n\n /**\n * Invokes the method at `path` of each element in `collection`, returning\n * an array of the results of each invoked method. Any additional arguments\n * are provided to each invoked method. If `path` is a function, it's invoked\n * for, and `this` bound to, each element in `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array|Function|string} path The path of the method to invoke or\n * the function invoked per iteration.\n * @param {...*} [args] The arguments to invoke each method with.\n * @returns {Array} Returns the array of results.\n * @example\n *\n * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');\n * // => [[1, 5, 7], [1, 2, 3]]\n *\n * _.invokeMap([123, 456], String.prototype.split, '');\n * // => [['1', '2', '3'], ['4', '5', '6']]\n */\n var invokeMap = baseRest(function(collection, path, args) {\n var index = -1,\n isFunc = typeof path == 'function',\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value) {\n result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);\n });\n return result;\n });\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the last element responsible for generating the key. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * var array = [\n * { 'dir': 'left', 'code': 97 },\n * { 'dir': 'right', 'code': 100 }\n * ];\n *\n * _.keyBy(array, function(o) {\n * return String.fromCharCode(o.code);\n * });\n * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n *\n * _.keyBy(array, 'dir');\n * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n */\n var keyBy = createAggregator(function(result, value, key) {\n baseAssignValue(result, key, value);\n });\n\n /**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\n function map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\n function orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!isArray(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return baseOrderBy(collection, iteratees, orders);\n }\n\n /**\n * Creates an array of elements split into two groups, the first of which\n * contains elements `predicate` returns truthy for, the second of which\n * contains elements `predicate` returns falsey for. The predicate is\n * invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of grouped elements.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true },\n * { 'user': 'pebbles', 'age': 1, 'active': false }\n * ];\n *\n * _.partition(users, function(o) { return o.active; });\n * // => objects for [['fred'], ['barney', 'pebbles']]\n *\n * // The `_.matches` iteratee shorthand.\n * _.partition(users, { 'age': 1, 'active': false });\n * // => objects for [['pebbles'], ['barney', 'fred']]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.partition(users, ['active', false]);\n * // => objects for [['barney', 'pebbles'], ['fred']]\n *\n * // The `_.property` iteratee shorthand.\n * _.partition(users, 'active');\n * // => objects for [['fred'], ['barney', 'pebbles']]\n */\n var partition = createAggregator(function(result, value, key) {\n result[key ? 0 : 1].push(value);\n }, function() { return [[], []]; });\n\n /**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\n function reduce(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduce : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n }\n\n /**\n * This method is like `_.reduce` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduce\n * @example\n *\n * var array = [[0, 1], [2, 3], [4, 5]];\n *\n * _.reduceRight(array, function(flattened, other) {\n * return flattened.concat(other);\n * }, []);\n * // => [4, 5, 2, 3, 0, 1]\n */\n function reduceRight(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduceRight : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);\n }\n\n /**\n * The opposite of `_.filter`; this method returns the elements of `collection`\n * that `predicate` does **not** return truthy for.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.filter\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true }\n * ];\n *\n * _.reject(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.reject(users, { 'age': 40, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.reject(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.reject(users, 'active');\n * // => objects for ['barney']\n */\n function reject(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, negate(getIteratee(predicate, 3)));\n }\n\n /**\n * Gets a random element from `collection`.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n * @example\n *\n * _.sample([1, 2, 3, 4]);\n * // => 2\n */\n function sample(collection) {\n var func = isArray(collection) ? arraySample : baseSample;\n return func(collection);\n }\n\n /**\n * Gets `n` random elements at unique keys from `collection` up to the\n * size of `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @param {number} [n=1] The number of elements to sample.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the random elements.\n * @example\n *\n * _.sampleSize([1, 2, 3], 2);\n * // => [3, 1]\n *\n * _.sampleSize([1, 2, 3], 4);\n * // => [2, 3, 1]\n */\n function sampleSize(collection, n, guard) {\n if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n var func = isArray(collection) ? arraySampleSize : baseSampleSize;\n return func(collection, n);\n }\n\n /**\n * Creates an array of shuffled values, using a version of the\n * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n * @example\n *\n * _.shuffle([1, 2, 3, 4]);\n * // => [4, 1, 3, 2]\n */\n function shuffle(collection) {\n var func = isArray(collection) ? arrayShuffle : baseShuffle;\n return func(collection);\n }\n\n /**\n * Gets the size of `collection` by returning its length for array-like\n * values or the number of own enumerable string keyed properties for objects.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns the collection size.\n * @example\n *\n * _.size([1, 2, 3]);\n * // => 3\n *\n * _.size({ 'a': 1, 'b': 2 });\n * // => 2\n *\n * _.size('pebbles');\n * // => 7\n */\n function size(collection) {\n if (collection == null) {\n return 0;\n }\n if (isArrayLike(collection)) {\n return isString(collection) ? stringSize(collection) : collection.length;\n }\n var tag = getTag(collection);\n if (tag == mapTag || tag == setTag) {\n return collection.size;\n }\n return baseKeys(collection).length;\n }\n\n /**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\n function some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]]\n */\n var sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\n var now = ctxNow || function() {\n return root.Date.now();\n };\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The opposite of `_.before`; this method creates a function that invokes\n * `func` once it's called `n` or more times.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {number} n The number of calls before `func` is invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var saves = ['profile', 'settings'];\n *\n * var done = _.after(saves.length, function() {\n * console.log('done saving!');\n * });\n *\n * _.forEach(saves, function(type) {\n * asyncSave({ 'type': type, 'complete': done });\n * });\n * // => Logs 'done saving!' after the two async saves have completed.\n */\n function after(n, func) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n < 1) {\n return func.apply(this, arguments);\n }\n };\n }\n\n /**\n * Creates a function that invokes `func`, with up to `n` arguments,\n * ignoring any additional arguments.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @param {number} [n=func.length] The arity cap.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n * // => [6, 8, 10]\n */\n function ary(func, n, guard) {\n n = guard ? undefined : n;\n n = (func && n == null) ? func.length : n;\n return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n }\n\n /**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\n function before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of `thisArg`\n * and `partials` prepended to the arguments it receives.\n *\n * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for partially applied arguments.\n *\n * **Note:** Unlike native `Function#bind`, this method doesn't set the \"length\"\n * property of bound functions.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * function greet(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n *\n * var object = { 'user': 'fred' };\n *\n * var bound = _.bind(greet, object, 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bind(greet, object, _, '!');\n * bound('hi');\n * // => 'hi fred!'\n */\n var bind = baseRest(function(func, thisArg, partials) {\n var bitmask = WRAP_BIND_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bind));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(func, bitmask, thisArg, partials, holders);\n });\n\n /**\n * Creates a function that invokes the method at `object[key]` with `partials`\n * prepended to the arguments it receives.\n *\n * This method differs from `_.bind` by allowing bound functions to reference\n * methods that may be redefined or don't yet exist. See\n * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)\n * for more details.\n *\n * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Function\n * @param {Object} object The object to invoke the method on.\n * @param {string} key The key of the method.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * var object = {\n * 'user': 'fred',\n * 'greet': function(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n * };\n *\n * var bound = _.bindKey(object, 'greet', 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * object.greet = function(greeting, punctuation) {\n * return greeting + 'ya ' + this.user + punctuation;\n * };\n *\n * bound('!');\n * // => 'hiya fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bindKey(object, 'greet', _, '!');\n * bound('hi');\n * // => 'hiya fred!'\n */\n var bindKey = baseRest(function(object, key, partials) {\n var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bindKey));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(key, bitmask, object, partials, holders);\n });\n\n /**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\n function curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n }\n\n /**\n * This method is like `_.curry` except that arguments are applied to `func`\n * in the manner of `_.partialRight` instead of `_.partial`.\n *\n * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curryRight(abc);\n *\n * curried(3)(2)(1);\n * // => [1, 2, 3]\n *\n * curried(2, 3)(1);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(3)(1, _)(2);\n * // => [1, 2, 3]\n */\n function curryRight(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curryRight.placeholder;\n return result;\n }\n\n /**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n function debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n }\n\n /**\n * Defers invoking the `func` until the current call stack has cleared. Any\n * additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to defer.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.defer(function(text) {\n * console.log(text);\n * }, 'deferred');\n * // => Logs 'deferred' after one millisecond.\n */\n var defer = baseRest(function(func, args) {\n return baseDelay(func, 1, args);\n });\n\n /**\n * Invokes `func` after `wait` milliseconds. Any additional arguments are\n * provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.delay(function(text) {\n * console.log(text);\n * }, 1000, 'later');\n * // => Logs 'later' after one second.\n */\n var delay = baseRest(function(func, wait, args) {\n return baseDelay(func, toNumber(wait) || 0, args);\n });\n\n /**\n * Creates a function that invokes `func` with arguments reversed.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to flip arguments for.\n * @returns {Function} Returns the new flipped function.\n * @example\n *\n * var flipped = _.flip(function() {\n * return _.toArray(arguments);\n * });\n *\n * flipped('a', 'b', 'c', 'd');\n * // => ['d', 'c', 'b', 'a']\n */\n function flip(func) {\n return createWrap(func, WRAP_FLIP_FLAG);\n }\n\n /**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\n function memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n }\n\n // Expose `MapCache`.\n memoize.Cache = MapCache;\n\n /**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\n function negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n }\n\n /**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\n function once(func) {\n return before(2, func);\n }\n\n /**\n * Creates a function that invokes `func` with its arguments transformed.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Function\n * @param {Function} func The function to wrap.\n * @param {...(Function|Function[])} [transforms=[_.identity]]\n * The argument transforms.\n * @returns {Function} Returns the new function.\n * @example\n *\n * function doubled(n) {\n * return n * 2;\n * }\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var func = _.overArgs(function(x, y) {\n * return [x, y];\n * }, [square, doubled]);\n *\n * func(9, 3);\n * // => [81, 6]\n *\n * func(10, 5);\n * // => [100, 10]\n */\n var overArgs = castRest(function(func, transforms) {\n transforms = (transforms.length == 1 && isArray(transforms[0]))\n ? arrayMap(transforms[0], baseUnary(getIteratee()))\n : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));\n\n var funcsLength = transforms.length;\n return baseRest(function(args) {\n var index = -1,\n length = nativeMin(args.length, funcsLength);\n\n while (++index < length) {\n args[index] = transforms[index].call(this, args[index]);\n }\n return apply(func, this, args);\n });\n });\n\n /**\n * Creates a function that invokes `func` with `partials` prepended to the\n * arguments it receives. This method is like `_.bind` except it does **not**\n * alter the `this` binding.\n *\n * The `_.partial.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 0.2.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var sayHelloTo = _.partial(greet, 'hello');\n * sayHelloTo('fred');\n * // => 'hello fred'\n *\n * // Partially applied with placeholders.\n * var greetFred = _.partial(greet, _, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n */\n var partial = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partial));\n return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);\n });\n\n /**\n * This method is like `_.partial` except that partially applied arguments\n * are appended to the arguments it receives.\n *\n * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var greetFred = _.partialRight(greet, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n *\n * // Partially applied with placeholders.\n * var sayHelloTo = _.partialRight(greet, 'hello', _);\n * sayHelloTo('fred');\n * // => 'hello fred'\n */\n var partialRight = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partialRight));\n return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);\n });\n\n /**\n * Creates a function that invokes `func` with arguments arranged according\n * to the specified `indexes` where the argument value at the first index is\n * provided as the first argument, the argument value at the second index is\n * provided as the second argument, and so on.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to rearrange arguments for.\n * @param {...(number|number[])} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var rearged = _.rearg(function(a, b, c) {\n * return [a, b, c];\n * }, [2, 0, 1]);\n *\n * rearged('b', 'c', 'a')\n * // => ['a', 'b', 'c']\n */\n var rearg = flatRest(function(func, indexes) {\n return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n });\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\n function rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start === undefined ? start : toInteger(start);\n return baseRest(func, start);\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * create function and an array of arguments much like\n * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).\n *\n * **Note:** This method is based on the\n * [spread operator](https://mdn.io/spread_operator).\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Function\n * @param {Function} func The function to spread arguments over.\n * @param {number} [start=0] The start position of the spread.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.spread(function(who, what) {\n * return who + ' says ' + what;\n * });\n *\n * say(['fred', 'hello']);\n * // => 'fred says hello'\n *\n * var numbers = Promise.all([\n * Promise.resolve(40),\n * Promise.resolve(36)\n * ]);\n *\n * numbers.then(_.spread(function(x, y) {\n * return x + y;\n * }));\n * // => a Promise of 76\n */\n function spread(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start == null ? 0 : nativeMax(toInteger(start), 0);\n return baseRest(function(args) {\n var array = args[start],\n otherArgs = castSlice(args, 0, start);\n\n if (array) {\n arrayPush(otherArgs, array);\n }\n return apply(func, this, otherArgs);\n });\n }\n\n /**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\n function throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n }\n\n /**\n * Creates a function that accepts up to one argument, ignoring any\n * additional arguments.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.unary(parseInt));\n * // => [6, 8, 10]\n */\n function unary(func) {\n return ary(func, 1);\n }\n\n /**\n * Creates a function that provides `value` to `wrapper` as its first\n * argument. Any additional arguments provided to the function are appended\n * to those provided to the `wrapper`. The wrapper is invoked with the `this`\n * binding of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {*} value The value to wrap.\n * @param {Function} [wrapper=identity] The wrapper function.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var p = _.wrap(_.escape, function(func, text) {\n * return '<p>' + func(text) + '</p>';\n * });\n *\n * p('fred, barney, & pebbles');\n * // => '<p>fred, barney, &amp; pebbles</p>'\n */\n function wrap(value, wrapper) {\n return partial(castFunction(wrapper), value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\n function castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n }\n\n /**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\n function clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.clone` except that it accepts `customizer` which\n * is invoked to produce the cloned value. If `customizer` returns `undefined`,\n * cloning is handled by the method instead. The `customizer` is invoked with\n * up to four arguments; (value [, index|key, object, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeepWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * }\n *\n * var el = _.cloneWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 0\n */\n function cloneWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\n function cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.cloneWith` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the deep cloned value.\n * @see _.cloneWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(true);\n * }\n * }\n *\n * var el = _.cloneDeepWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 20\n */\n function cloneDeepWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * Checks if `object` conforms to `source` by invoking the predicate\n * properties of `source` with the corresponding property values of `object`.\n *\n * **Note:** This method is equivalent to `_.conforms` when `source` is\n * partially applied.\n *\n * @static\n * @memberOf _\n * @since 4.14.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 1; } });\n * // => true\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 2; } });\n * // => false\n */\n function conformsTo(object, source) {\n return source == null || baseConformsTo(object, source, keys(source));\n }\n\n /**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\n function eq(value, other) {\n return value === other || (value !== value && other !== other);\n }\n\n /**\n * Checks if `value` is greater than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n * @see _.lt\n * @example\n *\n * _.gt(3, 1);\n * // => true\n *\n * _.gt(3, 3);\n * // => false\n *\n * _.gt(1, 3);\n * // => false\n */\n var gt = createRelationalOperation(baseGt);\n\n /**\n * Checks if `value` is greater than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than or equal to\n * `other`, else `false`.\n * @see _.lte\n * @example\n *\n * _.gte(3, 1);\n * // => true\n *\n * _.gte(3, 3);\n * // => true\n *\n * _.gte(1, 3);\n * // => false\n */\n var gte = createRelationalOperation(function(value, other) {\n return value >= other;\n });\n\n /**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\n var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n };\n\n /**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\n var isArray = Array.isArray;\n\n /**\n * Checks if `value` is classified as an `ArrayBuffer` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n * @example\n *\n * _.isArrayBuffer(new ArrayBuffer(2));\n * // => true\n *\n * _.isArrayBuffer(new Array(2));\n * // => false\n */\n var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;\n\n /**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\n function isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n }\n\n /**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\n function isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n }\n\n /**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\n function isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n }\n\n /**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\n var isBuffer = nativeIsBuffer || stubFalse;\n\n /**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\n var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\n /**\n * Checks if `value` is likely a DOM element.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.\n * @example\n *\n * _.isElement(document.body);\n * // => true\n *\n * _.isElement('<body>');\n * // => false\n */\n function isElement(value) {\n return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);\n }\n\n /**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\n function isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\n function isEqual(value, other) {\n return baseIsEqual(value, other);\n }\n\n /**\n * This method is like `_.isEqual` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with up to\n * six arguments: (objValue, othValue [, index|key, object, other, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqualWith(array, other, customizer);\n * // => true\n */\n function isEqualWith(value, other, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;\n }\n\n /**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\n function isError(value) {\n if (!isObjectLike(value)) {\n return false;\n }\n var tag = baseGetTag(value);\n return tag == errorTag || tag == domExcTag ||\n (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n }\n\n /**\n * Checks if `value` is a finite primitive number.\n *\n * **Note:** This method is based on\n * [`Number.isFinite`](https://mdn.io/Number/isFinite).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.\n * @example\n *\n * _.isFinite(3);\n * // => true\n *\n * _.isFinite(Number.MIN_VALUE);\n * // => true\n *\n * _.isFinite(Infinity);\n * // => false\n *\n * _.isFinite('3');\n * // => false\n */\n function isFinite(value) {\n return typeof value == 'number' && nativeIsFinite(value);\n }\n\n /**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\n function isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n }\n\n /**\n * Checks if `value` is an integer.\n *\n * **Note:** This method is based on\n * [`Number.isInteger`](https://mdn.io/Number/isInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an integer, else `false`.\n * @example\n *\n * _.isInteger(3);\n * // => true\n *\n * _.isInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isInteger(Infinity);\n * // => false\n *\n * _.isInteger('3');\n * // => false\n */\n function isInteger(value) {\n return typeof value == 'number' && value == toInteger(value);\n }\n\n /**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\n function isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\n function isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n }\n\n /**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n function isObjectLike(value) {\n return value != null && typeof value == 'object';\n }\n\n /**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\n var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\n /**\n * Performs a partial deep comparison between `object` and `source` to\n * determine if `object` contains equivalent property values.\n *\n * **Note:** This method is equivalent to `_.matches` when `source` is\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.isMatch(object, { 'b': 2 });\n * // => true\n *\n * _.isMatch(object, { 'b': 1 });\n * // => false\n */\n function isMatch(object, source) {\n return object === source || baseIsMatch(object, source, getMatchData(source));\n }\n\n /**\n * This method is like `_.isMatch` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with five\n * arguments: (objValue, srcValue, index|key, object, source).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, srcValue) {\n * if (isGreeting(objValue) && isGreeting(srcValue)) {\n * return true;\n * }\n * }\n *\n * var object = { 'greeting': 'hello' };\n * var source = { 'greeting': 'hi' };\n *\n * _.isMatchWith(object, source, customizer);\n * // => true\n */\n function isMatchWith(object, source, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseIsMatch(object, source, getMatchData(source), customizer);\n }\n\n /**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\n function isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n }\n\n /**\n * Checks if `value` is a pristine native function.\n *\n * **Note:** This method can't reliably detect native functions in the presence\n * of the core-js package because core-js circumvents this kind of detection.\n * Despite multiple requests, the core-js maintainer has made it clear: any\n * attempt to fix the detection will be obstructed. As a result, we're left\n * with little choice but to throw an error. Unfortunately, this also affects\n * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\n * which rely on core-js.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\n function isNative(value) {\n if (isMaskable(value)) {\n throw new Error(CORE_ERROR_TEXT);\n }\n return baseIsNative(value);\n }\n\n /**\n * Checks if `value` is `null`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\n * @example\n *\n * _.isNull(null);\n * // => true\n *\n * _.isNull(void 0);\n * // => false\n */\n function isNull(value) {\n return value === null;\n }\n\n /**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\n function isNil(value) {\n return value == null;\n }\n\n /**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\n function isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n }\n\n /**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\n function isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n }\n\n /**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\n var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\n /**\n * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754\n * double precision number which isn't the result of a rounded unsafe integer.\n *\n * **Note:** This method is based on\n * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.\n * @example\n *\n * _.isSafeInteger(3);\n * // => true\n *\n * _.isSafeInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isSafeInteger(Infinity);\n * // => false\n *\n * _.isSafeInteger('3');\n * // => false\n */\n function isSafeInteger(value) {\n return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\n var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\n /**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\n function isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n }\n\n /**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n function isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n }\n\n /**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\n var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n /**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\n function isUndefined(value) {\n return value === undefined;\n }\n\n /**\n * Checks if `value` is classified as a `WeakMap` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.\n * @example\n *\n * _.isWeakMap(new WeakMap);\n * // => true\n *\n * _.isWeakMap(new Map);\n * // => false\n */\n function isWeakMap(value) {\n return isObjectLike(value) && getTag(value) == weakMapTag;\n }\n\n /**\n * Checks if `value` is classified as a `WeakSet` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak set, else `false`.\n * @example\n *\n * _.isWeakSet(new WeakSet);\n * // => true\n *\n * _.isWeakSet(new Set);\n * // => false\n */\n function isWeakSet(value) {\n return isObjectLike(value) && baseGetTag(value) == weakSetTag;\n }\n\n /**\n * Checks if `value` is less than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n * @see _.gt\n * @example\n *\n * _.lt(1, 3);\n * // => true\n *\n * _.lt(3, 3);\n * // => false\n *\n * _.lt(3, 1);\n * // => false\n */\n var lt = createRelationalOperation(baseLt);\n\n /**\n * Checks if `value` is less than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than or equal to\n * `other`, else `false`.\n * @see _.gte\n * @example\n *\n * _.lte(1, 3);\n * // => true\n *\n * _.lte(3, 3);\n * // => true\n *\n * _.lte(3, 1);\n * // => false\n */\n var lte = createRelationalOperation(function(value, other) {\n return value <= other;\n });\n\n /**\n * Converts `value` to an array.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Array} Returns the converted array.\n * @example\n *\n * _.toArray({ 'a': 1, 'b': 2 });\n * // => [1, 2]\n *\n * _.toArray('abc');\n * // => ['a', 'b', 'c']\n *\n * _.toArray(1);\n * // => []\n *\n * _.toArray(null);\n * // => []\n */\n function toArray(value) {\n if (!value) {\n return [];\n }\n if (isArrayLike(value)) {\n return isString(value) ? stringToArray(value) : copyArray(value);\n }\n if (symIterator && value[symIterator]) {\n return iteratorToArray(value[symIterator]());\n }\n var tag = getTag(value),\n func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);\n\n return func(value);\n }\n\n /**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\n function toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n }\n\n /**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\n function toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n }\n\n /**\n * Converts `value` to an integer suitable for use as the length of an\n * array-like object.\n *\n * **Note:** This method is based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toLength(3.2);\n * // => 3\n *\n * _.toLength(Number.MIN_VALUE);\n * // => 0\n *\n * _.toLength(Infinity);\n * // => 4294967295\n *\n * _.toLength('3.2');\n * // => 3\n */\n function toLength(value) {\n return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;\n }\n\n /**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n function toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n }\n\n /**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\n function toPlainObject(value) {\n return copyObject(value, keysIn(value));\n }\n\n /**\n * Converts `value` to a safe integer. A safe integer can be compared and\n * represented correctly.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toSafeInteger(3.2);\n * // => 3\n *\n * _.toSafeInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toSafeInteger(Infinity);\n * // => 9007199254740991\n *\n * _.toSafeInteger('3.2');\n * // => 3\n */\n function toSafeInteger(value) {\n return value\n ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER)\n : (value === 0 ? value : 0);\n }\n\n /**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\n function toString(value) {\n return value == null ? '' : baseToString(value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\n var assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n });\n\n /**\n * This method is like `_.assign` except that it iterates over own and\n * inherited source properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extend\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assign\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n */\n var assignIn = createAssigner(function(object, source) {\n copyObject(source, keysIn(source), object);\n });\n\n /**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keysIn(source), object, customizer);\n });\n\n /**\n * This method is like `_.assign` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignInWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keys(source), object, customizer);\n });\n\n /**\n * Creates an array of values corresponding to `paths` of `object`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Array} Returns the picked values.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _.at(object, ['a[0].b.c', 'a[1]']);\n * // => [3, 4]\n */\n var at = flatRest(baseAt);\n\n /**\n * Creates an object that inherits from the `prototype` object. If a\n * `properties` object is given, its own enumerable string keyed properties\n * are assigned to the created object.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Object\n * @param {Object} prototype The object to inherit from.\n * @param {Object} [properties] The properties to assign to the object.\n * @returns {Object} Returns the new object.\n * @example\n *\n * function Shape() {\n * this.x = 0;\n * this.y = 0;\n * }\n *\n * function Circle() {\n * Shape.call(this);\n * }\n *\n * Circle.prototype = _.create(Shape.prototype, {\n * 'constructor': Circle\n * });\n *\n * var circle = new Circle;\n * circle instanceof Circle;\n * // => true\n *\n * circle instanceof Shape;\n * // => true\n */\n function create(prototype, properties) {\n var result = baseCreate(prototype);\n return properties == null ? result : baseAssign(result, properties);\n }\n\n /**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n });\n\n /**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\n var defaultsDeep = baseRest(function(args) {\n args.push(undefined, customDefaultsMerge);\n return apply(mergeWith, undefined, args);\n });\n\n /**\n * This method is like `_.find` except that it returns the key of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findKey(users, function(o) { return o.age < 40; });\n * // => 'barney' (iteration order is not guaranteed)\n *\n * // The `_.matches` iteratee shorthand.\n * _.findKey(users, { 'age': 1, 'active': true });\n * // => 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findKey(users, 'active');\n * // => 'barney'\n */\n function findKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);\n }\n\n /**\n * This method is like `_.findKey` except that it iterates over elements of\n * a collection in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findLastKey(users, function(o) { return o.age < 40; });\n * // => returns 'pebbles' assuming `_.findKey` returns 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastKey(users, { 'age': 36, 'active': true });\n * // => 'barney'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastKey(users, 'active');\n * // => 'pebbles'\n */\n function findLastKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);\n }\n\n /**\n * Iterates over own and inherited enumerable string keyed properties of an\n * object and invokes `iteratee` for each property. The iteratee is invoked\n * with three arguments: (value, key, object). Iteratee functions may exit\n * iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forInRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forIn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).\n */\n function forIn(object, iteratee) {\n return object == null\n ? object\n : baseFor(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * This method is like `_.forIn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forInRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.\n */\n function forInRight(object, iteratee) {\n return object == null\n ? object\n : baseForRight(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * Iterates over own enumerable string keyed properties of an object and\n * invokes `iteratee` for each property. The iteratee is invoked with three\n * arguments: (value, key, object). Iteratee functions may exit iteration\n * early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwnRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forOwn(object, iteratee) {\n return object && baseForOwn(object, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forOwn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwnRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.\n */\n function forOwnRight(object, iteratee) {\n return object && baseForOwnRight(object, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an array of function property names from own enumerable properties\n * of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functionsIn\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functions(new Foo);\n * // => ['a', 'b']\n */\n function functions(object) {\n return object == null ? [] : baseFunctions(object, keys(object));\n }\n\n /**\n * Creates an array of function property names from own and inherited\n * enumerable properties of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functions\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functionsIn(new Foo);\n * // => ['a', 'b', 'c']\n */\n function functionsIn(object) {\n return object == null ? [] : baseFunctions(object, keysIn(object));\n }\n\n /**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\n function get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n }\n\n /**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\n function has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n }\n\n /**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\n function hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n }\n\n /**\n * Creates an object composed of the inverted keys and values of `object`.\n * If `object` contains duplicate values, subsequent values overwrite\n * property assignments of previous values.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Object\n * @param {Object} object The object to invert.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invert(object);\n * // => { '1': 'c', '2': 'b' }\n */\n var invert = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n result[value] = key;\n }, constant(identity));\n\n /**\n * This method is like `_.invert` except that the inverted object is generated\n * from the results of running each element of `object` thru `iteratee`. The\n * corresponding inverted value of each inverted key is an array of keys\n * responsible for generating the inverted value. The iteratee is invoked\n * with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Object\n * @param {Object} object The object to invert.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invertBy(object);\n * // => { '1': ['a', 'c'], '2': ['b'] }\n *\n * _.invertBy(object, function(value) {\n * return 'group' + value;\n * });\n * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\n */\n var invertBy = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n }, getIteratee);\n\n /**\n * Invokes the method at `path` of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n *\n * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n * // => [2, 3]\n */\n var invoke = baseRest(baseInvoke);\n\n /**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\n function keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n }\n\n /**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\n function keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n }\n\n /**\n * The opposite of `_.mapValues`; this method creates an object with the\n * same values as `object` and keys generated by running each own enumerable\n * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n * with three arguments: (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapValues\n * @example\n *\n * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n * return key + value;\n * });\n * // => { 'a1': 1, 'b2': 2 }\n */\n function mapKeys(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, iteratee(value, key, object), value);\n });\n return result;\n }\n\n /**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\n function mapValues(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n }\n\n /**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\n var merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n });\n\n /**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\n var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n });\n\n /**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\n var omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n });\n\n /**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\n function omitBy(object, predicate) {\n return pickBy(object, negate(getIteratee(predicate)));\n }\n\n /**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\n var pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n });\n\n /**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\n function pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = getIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n }\n\n /**\n * This method is like `_.get` except that if the resolved value is a\n * function it's invoked with the `this` binding of its parent object and\n * its result is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to resolve.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };\n *\n * _.result(object, 'a[0].b.c1');\n * // => 3\n *\n * _.result(object, 'a[0].b.c2');\n * // => 4\n *\n * _.result(object, 'a[0].b.c3', 'default');\n * // => 'default'\n *\n * _.result(object, 'a[0].b.c3', _.constant('default'));\n * // => 'default'\n */\n function result(object, path, defaultValue) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length;\n\n // Ensure the loop is entered when path is empty.\n if (!length) {\n length = 1;\n object = undefined;\n }\n while (++index < length) {\n var value = object == null ? undefined : object[toKey(path[index])];\n if (value === undefined) {\n index = length;\n value = defaultValue;\n }\n object = isFunction(value) ? value.call(object) : value;\n }\n return object;\n }\n\n /**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\n function set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n }\n\n /**\n * This method is like `_.set` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.setWith(object, '[0][1]', 'a', Object);\n * // => { '0': { '1': 'a' } }\n */\n function setWith(object, path, value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseSet(object, path, value, customizer);\n }\n\n /**\n * Creates an array of own enumerable string keyed-value pairs for `object`\n * which can be consumed by `_.fromPairs`. If `object` is a map or set, its\n * entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entries\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairs(new Foo);\n * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)\n */\n var toPairs = createToPairs(keys);\n\n /**\n * Creates an array of own and inherited enumerable string keyed-value pairs\n * for `object` which can be consumed by `_.fromPairs`. If `object` is a map\n * or set, its entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entriesIn\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairsIn(new Foo);\n * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed)\n */\n var toPairsIn = createToPairs(keysIn);\n\n /**\n * An alternative to `_.reduce`; this method transforms `object` to a new\n * `accumulator` object which is the result of running each of its own\n * enumerable string keyed properties thru `iteratee`, with each invocation\n * potentially mutating the `accumulator` object. If `accumulator` is not\n * provided, a new object with the same `[[Prototype]]` will be used. The\n * iteratee is invoked with four arguments: (accumulator, value, key, object).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The custom accumulator value.\n * @returns {*} Returns the accumulated value.\n * @example\n *\n * _.transform([2, 3, 4], function(result, n) {\n * result.push(n *= n);\n * return n % 2 == 0;\n * }, []);\n * // => [4, 9]\n *\n * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] }\n */\n function transform(object, iteratee, accumulator) {\n var isArr = isArray(object),\n isArrLike = isArr || isBuffer(object) || isTypedArray(object);\n\n iteratee = getIteratee(iteratee, 4);\n if (accumulator == null) {\n var Ctor = object && object.constructor;\n if (isArrLike) {\n accumulator = isArr ? new Ctor : [];\n }\n else if (isObject(object)) {\n accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};\n }\n else {\n accumulator = {};\n }\n }\n (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {\n return iteratee(accumulator, value, index, object);\n });\n return accumulator;\n }\n\n /**\n * Removes the property at `path` of `object`.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n * _.unset(object, 'a[0].b.c');\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n *\n * _.unset(object, ['a', '0', 'b', 'c']);\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n */\n function unset(object, path) {\n return object == null ? true : baseUnset(object, path);\n }\n\n /**\n * This method is like `_.set` except that accepts `updater` to produce the\n * value to set. Use `_.updateWith` to customize `path` creation. The `updater`\n * is invoked with one argument: (value).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.update(object, 'a[0].b.c', function(n) { return n * n; });\n * console.log(object.a[0].b.c);\n * // => 9\n *\n * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });\n * console.log(object.x[0].y.z);\n * // => 0\n */\n function update(object, path, updater) {\n return object == null ? object : baseUpdate(object, path, castFunction(updater));\n }\n\n /**\n * This method is like `_.update` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.updateWith(object, '[0][1]', _.constant('a'), Object);\n * // => { '0': { '1': 'a' } }\n */\n function updateWith(object, path, updater, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);\n }\n\n /**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\n function values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n }\n\n /**\n * Creates an array of the own and inherited enumerable string keyed property\n * values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.valuesIn(new Foo);\n * // => [1, 2, 3] (iteration order is not guaranteed)\n */\n function valuesIn(object) {\n return object == null ? [] : baseValues(object, keysIn(object));\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\n function clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n }\n\n /**\n * Checks if `n` is between `start` and up to, but not including, `end`. If\n * `end` is not specified, it's set to `start` with `start` then set to `0`.\n * If `start` is greater than `end` the params are swapped to support\n * negative ranges.\n *\n * @static\n * @memberOf _\n * @since 3.3.0\n * @category Number\n * @param {number} number The number to check.\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n * @see _.range, _.rangeRight\n * @example\n *\n * _.inRange(3, 2, 4);\n * // => true\n *\n * _.inRange(4, 8);\n * // => true\n *\n * _.inRange(4, 2);\n * // => false\n *\n * _.inRange(2, 2);\n * // => false\n *\n * _.inRange(1.2, 2);\n * // => true\n *\n * _.inRange(5.2, 4);\n * // => false\n *\n * _.inRange(-3, -2, -6);\n * // => true\n */\n function inRange(number, start, end) {\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n number = toNumber(number);\n return baseInRange(number, start, end);\n }\n\n /**\n * Produces a random number between the inclusive `lower` and `upper` bounds.\n * If only one argument is provided a number between `0` and the given number\n * is returned. If `floating` is `true`, or either `lower` or `upper` are\n * floats, a floating-point number is returned instead of an integer.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Number\n * @param {number} [lower=0] The lower bound.\n * @param {number} [upper=1] The upper bound.\n * @param {boolean} [floating] Specify returning a floating-point number.\n * @returns {number} Returns the random number.\n * @example\n *\n * _.random(0, 5);\n * // => an integer between 0 and 5\n *\n * _.random(5);\n * // => also an integer between 0 and 5\n *\n * _.random(5, true);\n * // => a floating-point number between 0 and 5\n *\n * _.random(1.2, 5.2);\n * // => a floating-point number between 1.2 and 5.2\n */\n function random(lower, upper, floating) {\n if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {\n upper = floating = undefined;\n }\n if (floating === undefined) {\n if (typeof upper == 'boolean') {\n floating = upper;\n upper = undefined;\n }\n else if (typeof lower == 'boolean') {\n floating = lower;\n lower = undefined;\n }\n }\n if (lower === undefined && upper === undefined) {\n lower = 0;\n upper = 1;\n }\n else {\n lower = toFinite(lower);\n if (upper === undefined) {\n upper = lower;\n lower = 0;\n } else {\n upper = toFinite(upper);\n }\n }\n if (lower > upper) {\n var temp = lower;\n lower = upper;\n upper = temp;\n }\n if (floating || lower % 1 || upper % 1) {\n var rand = nativeRandom();\n return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);\n }\n return baseRandom(lower, upper);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\n var camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n });\n\n /**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\n function capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n }\n\n /**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\n function deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n }\n\n /**\n * Checks if `string` ends with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=string.length] The position to search up to.\n * @returns {boolean} Returns `true` if `string` ends with `target`,\n * else `false`.\n * @example\n *\n * _.endsWith('abc', 'c');\n * // => true\n *\n * _.endsWith('abc', 'b');\n * // => false\n *\n * _.endsWith('abc', 'b', 2);\n * // => true\n */\n function endsWith(string, target, position) {\n string = toString(string);\n target = baseToString(target);\n\n var length = string.length;\n position = position === undefined\n ? length\n : baseClamp(toInteger(position), 0, length);\n\n var end = position;\n position -= target.length;\n return position >= 0 && string.slice(position, end) == target;\n }\n\n /**\n * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n * corresponding HTML entities.\n *\n * **Note:** No other characters are escaped. To escape additional\n * characters use a third-party library like [_he_](https://mths.be/he).\n *\n * Though the \">\" character is escaped for symmetry, characters like\n * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n * unless they're part of a tag or unquoted attribute value. See\n * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n * (under \"semi-related fun fact\") for more details.\n *\n * When working with HTML you should always\n * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n * XSS vectors.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escape('fred, barney, & pebbles');\n * // => 'fred, barney, &amp; pebbles'\n */\n function escape(string) {\n string = toString(string);\n return (string && reHasUnescapedHtml.test(string))\n ? string.replace(reUnescapedHtml, escapeHtmlChar)\n : string;\n }\n\n /**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\n function escapeRegExp(string) {\n string = toString(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n }\n\n /**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\n var kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n });\n\n /**\n * Converts `string`, as space separated words, to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the lower cased string.\n * @example\n *\n * _.lowerCase('--Foo-Bar--');\n * // => 'foo bar'\n *\n * _.lowerCase('fooBar');\n * // => 'foo bar'\n *\n * _.lowerCase('__FOO_BAR__');\n * // => 'foo bar'\n */\n var lowerCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + word.toLowerCase();\n });\n\n /**\n * Converts the first character of `string` to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.lowerFirst('Fred');\n * // => 'fred'\n *\n * _.lowerFirst('FRED');\n * // => 'fRED'\n */\n var lowerFirst = createCaseFirst('toLowerCase');\n\n /**\n * Pads `string` on the left and right sides if it's shorter than `length`.\n * Padding characters are truncated if they can't be evenly divided by `length`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.pad('abc', 8);\n * // => ' abc '\n *\n * _.pad('abc', 8, '_-');\n * // => '_-abc_-_'\n *\n * _.pad('abc', 3);\n * // => 'abc'\n */\n function pad(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n if (!length || strLength >= length) {\n return string;\n }\n var mid = (length - strLength) / 2;\n return (\n createPadding(nativeFloor(mid), chars) +\n string +\n createPadding(nativeCeil(mid), chars)\n );\n }\n\n /**\n * Pads `string` on the right side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padEnd('abc', 6);\n * // => 'abc '\n *\n * _.padEnd('abc', 6, '_-');\n * // => 'abc_-_'\n *\n * _.padEnd('abc', 3);\n * // => 'abc'\n */\n function padEnd(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (string + createPadding(length - strLength, chars))\n : string;\n }\n\n /**\n * Pads `string` on the left side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padStart('abc', 6);\n * // => ' abc'\n *\n * _.padStart('abc', 6, '_-');\n * // => '_-_abc'\n *\n * _.padStart('abc', 3);\n * // => 'abc'\n */\n function padStart(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (createPadding(length - strLength, chars) + string)\n : string;\n }\n\n /**\n * Converts `string` to an integer of the specified radix. If `radix` is\n * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\n * hexadecimal, in which case a `radix` of `16` is used.\n *\n * **Note:** This method aligns with the\n * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category String\n * @param {string} string The string to convert.\n * @param {number} [radix=10] The radix to interpret `value` by.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.parseInt('08');\n * // => 8\n *\n * _.map(['6', '08', '10'], _.parseInt);\n * // => [6, 8, 10]\n */\n function parseInt(string, radix, guard) {\n if (guard || radix == null) {\n radix = 0;\n } else if (radix) {\n radix = +radix;\n }\n return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);\n }\n\n /**\n * Repeats the given string `n` times.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to repeat.\n * @param {number} [n=1] The number of times to repeat the string.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the repeated string.\n * @example\n *\n * _.repeat('*', 3);\n * // => '***'\n *\n * _.repeat('abc', 2);\n * // => 'abcabc'\n *\n * _.repeat('abc', 0);\n * // => ''\n */\n function repeat(string, n, guard) {\n if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n return baseRepeat(toString(string), n);\n }\n\n /**\n * Replaces matches for `pattern` in `string` with `replacement`.\n *\n * **Note:** This method is based on\n * [`String#replace`](https://mdn.io/String/replace).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to modify.\n * @param {RegExp|string} pattern The pattern to replace.\n * @param {Function|string} replacement The match replacement.\n * @returns {string} Returns the modified string.\n * @example\n *\n * _.replace('Hi Fred', 'Fred', 'Barney');\n * // => 'Hi Barney'\n */\n function replace() {\n var args = arguments,\n string = toString(args[0]);\n\n return args.length < 3 ? string : string.replace(args[1], args[2]);\n }\n\n /**\n * Converts `string` to\n * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the snake cased string.\n * @example\n *\n * _.snakeCase('Foo Bar');\n * // => 'foo_bar'\n *\n * _.snakeCase('fooBar');\n * // => 'foo_bar'\n *\n * _.snakeCase('--FOO-BAR--');\n * // => 'foo_bar'\n */\n var snakeCase = createCompounder(function(result, word, index) {\n return result + (index ? '_' : '') + word.toLowerCase();\n });\n\n /**\n * Splits `string` by `separator`.\n *\n * **Note:** This method is based on\n * [`String#split`](https://mdn.io/String/split).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to split.\n * @param {RegExp|string} separator The separator pattern to split by.\n * @param {number} [limit] The length to truncate results to.\n * @returns {Array} Returns the string segments.\n * @example\n *\n * _.split('a-b-c', '-', 2);\n * // => ['a', 'b']\n */\n function split(string, separator, limit) {\n if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {\n separator = limit = undefined;\n }\n limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\n if (!limit) {\n return [];\n }\n string = toString(string);\n if (string && (\n typeof separator == 'string' ||\n (separator != null && !isRegExp(separator))\n )) {\n separator = baseToString(separator);\n if (!separator && hasUnicode(string)) {\n return castSlice(stringToArray(string), 0, limit);\n }\n }\n return string.split(separator, limit);\n }\n\n /**\n * Converts `string` to\n * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n *\n * @static\n * @memberOf _\n * @since 3.1.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the start cased string.\n * @example\n *\n * _.startCase('--foo-bar--');\n * // => 'Foo Bar'\n *\n * _.startCase('fooBar');\n * // => 'Foo Bar'\n *\n * _.startCase('__FOO_BAR__');\n * // => 'FOO BAR'\n */\n var startCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + upperFirst(word);\n });\n\n /**\n * Checks if `string` starts with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=0] The position to search from.\n * @returns {boolean} Returns `true` if `string` starts with `target`,\n * else `false`.\n * @example\n *\n * _.startsWith('abc', 'a');\n * // => true\n *\n * _.startsWith('abc', 'b');\n * // => false\n *\n * _.startsWith('abc', 'b', 1);\n * // => true\n */\n function startsWith(string, target, position) {\n string = toString(string);\n position = position == null\n ? 0\n : baseClamp(toInteger(position), 0, string.length);\n\n target = baseToString(target);\n return string.slice(position, position + target.length) == target;\n }\n\n /**\n * Creates a compiled template function that can interpolate data properties\n * in \"interpolate\" delimiters, HTML-escape interpolated data properties in\n * \"escape\" delimiters, and execute JavaScript in \"evaluate\" delimiters. Data\n * properties may be accessed as free variables in the template. If a setting\n * object is given, it takes precedence over `_.templateSettings` values.\n *\n * **Note:** In the development build `_.template` utilizes\n * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * for easier debugging.\n *\n * For more information on precompiling templates see\n * [lodash's custom builds documentation](https://lodash.com/custom-builds).\n *\n * For more information on Chrome extension sandboxes see\n * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The template string.\n * @param {Object} [options={}] The options object.\n * @param {RegExp} [options.escape=_.templateSettings.escape]\n * The HTML \"escape\" delimiter.\n * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]\n * The \"evaluate\" delimiter.\n * @param {Object} [options.imports=_.templateSettings.imports]\n * An object to import into the template as free variables.\n * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]\n * The \"interpolate\" delimiter.\n * @param {string} [options.sourceURL='lodash.templateSources[n]']\n * The sourceURL of the compiled template.\n * @param {string} [options.variable='obj']\n * The data object variable name.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the compiled template function.\n * @example\n *\n * // Use the \"interpolate\" delimiter to create a compiled template.\n * var compiled = _.template('hello <%= user %>!');\n * compiled({ 'user': 'fred' });\n * // => 'hello fred!'\n *\n * // Use the HTML \"escape\" delimiter to escape data property values.\n * var compiled = _.template('<b><%- value %></b>');\n * compiled({ 'value': '<script>' });\n * // => '<b>&lt;script&gt;</b>'\n *\n * // Use the \"evaluate\" delimiter to execute JavaScript and generate HTML.\n * var compiled = _.template('<% _.forEach(users, function(user) { %><li><%- user %></li><% }); %>');\n * compiled({ 'users': ['fred', 'barney'] });\n * // => '<li>fred</li><li>barney</li>'\n *\n * // Use the internal `print` function in \"evaluate\" delimiters.\n * var compiled = _.template('<% print(\"hello \" + user); %>!');\n * compiled({ 'user': 'barney' });\n * // => 'hello barney!'\n *\n * // Use the ES template literal delimiter as an \"interpolate\" delimiter.\n * // Disable support by replacing the \"interpolate\" delimiter.\n * var compiled = _.template('hello ${ user }!');\n * compiled({ 'user': 'pebbles' });\n * // => 'hello pebbles!'\n *\n * // Use backslashes to treat delimiters as plain text.\n * var compiled = _.template('<%= \"\\\\<%- value %\\\\>\" %>');\n * compiled({ 'value': 'ignored' });\n * // => '<%- value %>'\n *\n * // Use the `imports` option to import `jQuery` as `jq`.\n * var text = '<% jq.each(users, function(user) { %><li><%- user %></li><% }); %>';\n * var compiled = _.template(text, { 'imports': { 'jq': jQuery } });\n * compiled({ 'users': ['fred', 'barney'] });\n * // => '<li>fred</li><li>barney</li>'\n *\n * // Use the `sourceURL` option to specify a custom sourceURL for the template.\n * var compiled = _.template('hello <%= user %>!', { 'sourceURL': '/basic/greeting.jst' });\n * compiled(data);\n * // => Find the source of \"greeting.jst\" under the Sources tab or Resources panel of the web inspector.\n *\n * // Use the `variable` option to ensure a with-statement isn't used in the compiled template.\n * var compiled = _.template('hi <%= data.user %>!', { 'variable': 'data' });\n * compiled.source;\n * // => function(data) {\n * // var __t, __p = '';\n * // __p += 'hi ' + ((__t = ( data.user )) == null ? '' : __t) + '!';\n * // return __p;\n * // }\n *\n * // Use custom template delimiters.\n * _.templateSettings.interpolate = /{{([\\s\\S]+?)}}/g;\n * var compiled = _.template('hello {{ user }}!');\n * compiled({ 'user': 'mustache' });\n * // => 'hello mustache!'\n *\n * // Use the `source` property to inline compiled templates for meaningful\n * // line numbers in error messages and stack traces.\n * fs.writeFileSync(path.join(process.cwd(), 'jst.js'), '\\\n * var JST = {\\\n * \"main\": ' + _.template(mainText).source + '\\\n * };\\\n * ');\n */\n function template(string, options, guard) {\n // Based on John Resig's `tmpl` implementation\n // (http://ejohn.org/blog/javascript-micro-templating/)\n // and Laura Doktorova's doT.js (https://github.com/olado/doT).\n var settings = lodash.templateSettings;\n\n if (guard && isIterateeCall(string, options, guard)) {\n options = undefined;\n }\n string = toString(string);\n options = assignInWith({}, options, settings, customDefaultsAssignIn);\n\n var imports = assignInWith({}, options.imports, settings.imports, customDefaultsAssignIn),\n importsKeys = keys(imports),\n importsValues = baseValues(imports, importsKeys);\n\n var isEscaping,\n isEvaluating,\n index = 0,\n interpolate = options.interpolate || reNoMatch,\n source = \"__p += '\";\n\n // Compile the regexp to match each delimiter.\n var reDelimiters = RegExp(\n (options.escape || reNoMatch).source + '|' +\n interpolate.source + '|' +\n (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + '|' +\n (options.evaluate || reNoMatch).source + '|$'\n , 'g');\n\n // Use a sourceURL for easier debugging.\n // The sourceURL gets injected into the source that's eval-ed, so be careful\n // with lookup (in case of e.g. prototype pollution), and strip newlines if any.\n // A newline wouldn't be a valid sourceURL anyway, and it'd enable code injection.\n var sourceURL = '//# sourceURL=' +\n (hasOwnProperty.call(options, 'sourceURL')\n ? (options.sourceURL + '').replace(/[\\r\\n]/g, ' ')\n : ('lodash.templateSources[' + (++templateCounter) + ']')\n ) + '\\n';\n\n string.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) {\n interpolateValue || (interpolateValue = esTemplateValue);\n\n // Escape characters that can't be included in string literals.\n source += string.slice(index, offset).replace(reUnescapedString, escapeStringChar);\n\n // Replace delimiters with snippets.\n if (escapeValue) {\n isEscaping = true;\n source += \"' +\\n__e(\" + escapeValue + \") +\\n'\";\n }\n if (evaluateValue) {\n isEvaluating = true;\n source += \"';\\n\" + evaluateValue + \";\\n__p += '\";\n }\n if (interpolateValue) {\n source += \"' +\\n((__t = (\" + interpolateValue + \")) == null ? '' : __t) +\\n'\";\n }\n index = offset + match.length;\n\n // The JS engine embedded in Adobe products needs `match` returned in\n // order to produce the correct `offset` value.\n return match;\n });\n\n source += \"';\\n\";\n\n // If `variable` is not specified wrap a with-statement around the generated\n // code to add the data object to the top of the scope chain.\n // Like with sourceURL, we take care to not check the option's prototype,\n // as this configuration is a code injection vector.\n var variable = hasOwnProperty.call(options, 'variable') && options.variable;\n if (!variable) {\n source = 'with (obj) {\\n' + source + '\\n}\\n';\n }\n // Cleanup code by stripping empty strings.\n source = (isEvaluating ? source.replace(reEmptyStringLeading, '') : source)\n .replace(reEmptyStringMiddle, '$1')\n .replace(reEmptyStringTrailing, '$1;');\n\n // Frame code as the function body.\n source = 'function(' + (variable || 'obj') + ') {\\n' +\n (variable\n ? ''\n : 'obj || (obj = {});\\n'\n ) +\n \"var __t, __p = ''\" +\n (isEscaping\n ? ', __e = _.escape'\n : ''\n ) +\n (isEvaluating\n ? ', __j = Array.prototype.join;\\n' +\n \"function print() { __p += __j.call(arguments, '') }\\n\"\n : ';\\n'\n ) +\n source +\n 'return __p\\n}';\n\n var result = attempt(function() {\n return Function(importsKeys, sourceURL + 'return ' + source)\n .apply(undefined, importsValues);\n });\n\n // Provide the compiled function's source by its `toString` method or\n // the `source` property as a convenience for inlining compiled templates.\n result.source = source;\n if (isError(result)) {\n throw result;\n }\n return result;\n }\n\n /**\n * Converts `string`, as a whole, to lower case just like\n * [String#toLowerCase](https://mdn.io/toLowerCase).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the lower cased string.\n * @example\n *\n * _.toLower('--Foo-Bar--');\n * // => '--foo-bar--'\n *\n * _.toLower('fooBar');\n * // => 'foobar'\n *\n * _.toLower('__FOO_BAR__');\n * // => '__foo_bar__'\n */\n function toLower(value) {\n return toString(value).toLowerCase();\n }\n\n /**\n * Converts `string`, as a whole, to upper case just like\n * [String#toUpperCase](https://mdn.io/toUpperCase).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the upper cased string.\n * @example\n *\n * _.toUpper('--foo-bar--');\n * // => '--FOO-BAR--'\n *\n * _.toUpper('fooBar');\n * // => 'FOOBAR'\n *\n * _.toUpper('__foo_bar__');\n * // => '__FOO_BAR__'\n */\n function toUpper(value) {\n return toString(value).toUpperCase();\n }\n\n /**\n * Removes leading and trailing whitespace or specified characters from `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to trim.\n * @param {string} [chars=whitespace] The characters to trim.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the trimmed string.\n * @example\n *\n * _.trim(' abc ');\n * // => 'abc'\n *\n * _.trim('-_-abc-_-', '_-');\n * // => 'abc'\n *\n * _.map([' foo ', ' bar '], _.trim);\n * // => ['foo', 'bar']\n */\n function trim(string, chars, guard) {\n string = toString(string);\n if (string && (guard || chars === undefined)) {\n return string.replace(reTrim, '');\n }\n if (!string || !(chars = baseToString(chars))) {\n return string;\n }\n var strSymbols = stringToArray(string),\n chrSymbols = stringToArray(chars),\n start = charsStartIndex(strSymbols, chrSymbols),\n end = charsEndIndex(strSymbols, chrSymbols) + 1;\n\n return castSlice(strSymbols, start, end).join('');\n }\n\n /**\n * Removes trailing whitespace or specified characters from `string`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to trim.\n * @param {string} [chars=whitespace] The characters to trim.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the trimmed string.\n * @example\n *\n * _.trimEnd(' abc ');\n * // => ' abc'\n *\n * _.trimEnd('-_-abc-_-', '_-');\n * // => '-_-abc'\n */\n function trimEnd(string, chars, guard) {\n string = toString(string);\n if (string && (guard || chars === undefined)) {\n return string.replace(reTrimEnd, '');\n }\n if (!string || !(chars = baseToString(chars))) {\n return string;\n }\n var strSymbols = stringToArray(string),\n end = charsEndIndex(strSymbols, stringToArray(chars)) + 1;\n\n return castSlice(strSymbols, 0, end).join('');\n }\n\n /**\n * Removes leading whitespace or specified characters from `string`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to trim.\n * @param {string} [chars=whitespace] The characters to trim.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the trimmed string.\n * @example\n *\n * _.trimStart(' abc ');\n * // => 'abc '\n *\n * _.trimStart('-_-abc-_-', '_-');\n * // => 'abc-_-'\n */\n function trimStart(string, chars, guard) {\n string = toString(string);\n if (string && (guard || chars === undefined)) {\n return string.replace(reTrimStart, '');\n }\n if (!string || !(chars = baseToString(chars))) {\n return string;\n }\n var strSymbols = stringToArray(string),\n start = charsStartIndex(strSymbols, stringToArray(chars));\n\n return castSlice(strSymbols, start).join('');\n }\n\n /**\n * Truncates `string` if it's longer than the given maximum string length.\n * The last characters of the truncated string are replaced with the omission\n * string which defaults to \"...\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to truncate.\n * @param {Object} [options={}] The options object.\n * @param {number} [options.length=30] The maximum string length.\n * @param {string} [options.omission='...'] The string to indicate text is omitted.\n * @param {RegExp|string} [options.separator] The separator pattern to truncate to.\n * @returns {string} Returns the truncated string.\n * @example\n *\n * _.truncate('hi-diddly-ho there, neighborino');\n * // => 'hi-diddly-ho there, neighbo...'\n *\n * _.truncate('hi-diddly-ho there, neighborino', {\n * 'length': 24,\n * 'separator': ' '\n * });\n * // => 'hi-diddly-ho there,...'\n *\n * _.truncate('hi-diddly-ho there, neighborino', {\n * 'length': 24,\n * 'separator': /,? +/\n * });\n * // => 'hi-diddly-ho there...'\n *\n * _.truncate('hi-diddly-ho there, neighborino', {\n * 'omission': ' [...]'\n * });\n * // => 'hi-diddly-ho there, neig [...]'\n */\n function truncate(string, options) {\n var length = DEFAULT_TRUNC_LENGTH,\n omission = DEFAULT_TRUNC_OMISSION;\n\n if (isObject(options)) {\n var separator = 'separator' in options ? options.separator : separator;\n length = 'length' in options ? toInteger(options.length) : length;\n omission = 'omission' in options ? baseToString(options.omission) : omission;\n }\n string = toString(string);\n\n var strLength = string.length;\n if (hasUnicode(string)) {\n var strSymbols = stringToArray(string);\n strLength = strSymbols.length;\n }\n if (length >= strLength) {\n return string;\n }\n var end = length - stringSize(omission);\n if (end < 1) {\n return omission;\n }\n var result = strSymbols\n ? castSlice(strSymbols, 0, end).join('')\n : string.slice(0, end);\n\n if (separator === undefined) {\n return result + omission;\n }\n if (strSymbols) {\n end += (result.length - end);\n }\n if (isRegExp(separator)) {\n if (string.slice(end).search(separator)) {\n var match,\n substring = result;\n\n if (!separator.global) {\n separator = RegExp(separator.source, toString(reFlags.exec(separator)) + 'g');\n }\n separator.lastIndex = 0;\n while ((match = separator.exec(substring))) {\n var newEnd = match.index;\n }\n result = result.slice(0, newEnd === undefined ? end : newEnd);\n }\n } else if (string.indexOf(baseToString(separator), end) != end) {\n var index = result.lastIndexOf(separator);\n if (index > -1) {\n result = result.slice(0, index);\n }\n }\n return result + omission;\n }\n\n /**\n * The inverse of `_.escape`; this method converts the HTML entities\n * `&amp;`, `&lt;`, `&gt;`, `&quot;`, and `&#39;` in `string` to\n * their corresponding characters.\n *\n * **Note:** No other HTML entities are unescaped. To unescape additional\n * HTML entities use a third-party library like [_he_](https://mths.be/he).\n *\n * @static\n * @memberOf _\n * @since 0.6.0\n * @category String\n * @param {string} [string=''] The string to unescape.\n * @returns {string} Returns the unescaped string.\n * @example\n *\n * _.unescape('fred, barney, &amp; pebbles');\n * // => 'fred, barney, & pebbles'\n */\n function unescape(string) {\n string = toString(string);\n return (string && reHasEscapedHtml.test(string))\n ? string.replace(reEscapedHtml, unescapeHtmlChar)\n : string;\n }\n\n /**\n * Converts `string`, as space separated words, to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the upper cased string.\n * @example\n *\n * _.upperCase('--foo-bar');\n * // => 'FOO BAR'\n *\n * _.upperCase('fooBar');\n * // => 'FOO BAR'\n *\n * _.upperCase('__foo_bar__');\n * // => 'FOO BAR'\n */\n var upperCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + word.toUpperCase();\n });\n\n /**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\n var upperFirst = createCaseFirst('toUpperCase');\n\n /**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\n function words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Attempts to invoke `func`, returning either the result or the caught error\n * object. Any additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {Function} func The function to attempt.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {*} Returns the `func` result or error object.\n * @example\n *\n * // Avoid throwing errors for invalid selectors.\n * var elements = _.attempt(function(selector) {\n * return document.querySelectorAll(selector);\n * }, '>_>');\n *\n * if (_.isError(elements)) {\n * elements = [];\n * }\n */\n var attempt = baseRest(function(func, args) {\n try {\n return apply(func, undefined, args);\n } catch (e) {\n return isError(e) ? e : new Error(e);\n }\n });\n\n /**\n * Binds methods of an object to the object itself, overwriting the existing\n * method.\n *\n * **Note:** This method doesn't set the \"length\" property of bound functions.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {Object} object The object to bind and assign the bound methods to.\n * @param {...(string|string[])} methodNames The object method names to bind.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var view = {\n * 'label': 'docs',\n * 'click': function() {\n * console.log('clicked ' + this.label);\n * }\n * };\n *\n * _.bindAll(view, ['click']);\n * jQuery(element).on('click', view.click);\n * // => Logs 'clicked docs' when clicked.\n */\n var bindAll = flatRest(function(object, methodNames) {\n arrayEach(methodNames, function(key) {\n key = toKey(key);\n baseAssignValue(object, key, bind(object[key], object));\n });\n return object;\n });\n\n /**\n * Creates a function that iterates over `pairs` and invokes the corresponding\n * function of the first predicate to return truthy. The predicate-function\n * pairs are invoked with the `this` binding and arguments of the created\n * function.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {Array} pairs The predicate-function pairs.\n * @returns {Function} Returns the new composite function.\n * @example\n *\n * var func = _.cond([\n * [_.matches({ 'a': 1 }), _.constant('matches A')],\n * [_.conforms({ 'b': _.isNumber }), _.constant('matches B')],\n * [_.stubTrue, _.constant('no match')]\n * ]);\n *\n * func({ 'a': 1, 'b': 2 });\n * // => 'matches A'\n *\n * func({ 'a': 0, 'b': 1 });\n * // => 'matches B'\n *\n * func({ 'a': '1', 'b': '2' });\n * // => 'no match'\n */\n function cond(pairs) {\n var length = pairs == null ? 0 : pairs.length,\n toIteratee = getIteratee();\n\n pairs = !length ? [] : arrayMap(pairs, function(pair) {\n if (typeof pair[1] != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return [toIteratee(pair[0]), pair[1]];\n });\n\n return baseRest(function(args) {\n var index = -1;\n while (++index < length) {\n var pair = pairs[index];\n if (apply(pair[0], this, args)) {\n return apply(pair[1], this, args);\n }\n }\n });\n }\n\n /**\n * Creates a function that invokes the predicate properties of `source` with\n * the corresponding property values of a given object, returning `true` if\n * all predicates return truthy, else `false`.\n *\n * **Note:** The created function is equivalent to `_.conformsTo` with\n * `source` partially applied.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {Object} source The object of property predicates to conform to.\n * @returns {Function} Returns the new spec function.\n * @example\n *\n * var objects = [\n * { 'a': 2, 'b': 1 },\n * { 'a': 1, 'b': 2 }\n * ];\n *\n * _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } }));\n * // => [{ 'a': 1, 'b': 2 }]\n */\n function conforms(source) {\n return baseConforms(baseClone(source, CLONE_DEEP_FLAG));\n }\n\n /**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\n function constant(value) {\n return function() {\n return value;\n };\n }\n\n /**\n * Checks `value` to determine whether a default value should be returned in\n * its place. The `defaultValue` is returned if `value` is `NaN`, `null`,\n * or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.14.0\n * @category Util\n * @param {*} value The value to check.\n * @param {*} defaultValue The default value.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * _.defaultTo(1, 10);\n * // => 1\n *\n * _.defaultTo(undefined, 10);\n * // => 10\n */\n function defaultTo(value, defaultValue) {\n return (value == null || value !== value) ? defaultValue : value;\n }\n\n /**\n * Creates a function that returns the result of invoking the given functions\n * with the `this` binding of the created function, where each successive\n * invocation is supplied the return value of the previous.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {...(Function|Function[])} [funcs] The functions to invoke.\n * @returns {Function} Returns the new composite function.\n * @see _.flowRight\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var addSquare = _.flow([_.add, square]);\n * addSquare(1, 2);\n * // => 9\n */\n var flow = createFlow();\n\n /**\n * This method is like `_.flow` except that it creates a function that\n * invokes the given functions from right to left.\n *\n * @static\n * @since 3.0.0\n * @memberOf _\n * @category Util\n * @param {...(Function|Function[])} [funcs] The functions to invoke.\n * @returns {Function} Returns the new composite function.\n * @see _.flow\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var addSquare = _.flowRight([square, _.add]);\n * addSquare(1, 2);\n * // => 9\n */\n var flowRight = createFlow(true);\n\n /**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\n function identity(value) {\n return value;\n }\n\n /**\n * Creates a function that invokes `func` with the arguments of the created\n * function. If `func` is a property name, the created function returns the\n * property value for a given element. If `func` is an array or object, the\n * created function returns `true` for elements that contain the equivalent\n * source properties, otherwise it returns `false`.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Util\n * @param {*} [func=_.identity] The value to convert to a callback.\n * @returns {Function} Returns the callback.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true }));\n * // => [{ 'user': 'barney', 'age': 36, 'active': true }]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, _.iteratee(['user', 'fred']));\n * // => [{ 'user': 'fred', 'age': 40 }]\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, _.iteratee('user'));\n * // => ['barney', 'fred']\n *\n * // Create custom iteratee shorthands.\n * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {\n * return !_.isRegExp(func) ? iteratee(func) : function(string) {\n * return func.test(string);\n * };\n * });\n *\n * _.filter(['abc', 'def'], /ef/);\n * // => ['def']\n */\n function iteratee(func) {\n return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG));\n }\n\n /**\n * Creates a function that performs a partial deep comparison between a given\n * object and `source`, returning `true` if the given object has equivalent\n * property values, else `false`.\n *\n * **Note:** The created function is equivalent to `_.isMatch` with `source`\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n * @example\n *\n * var objects = [\n * { 'a': 1, 'b': 2, 'c': 3 },\n * { 'a': 4, 'b': 5, 'c': 6 }\n * ];\n *\n * _.filter(objects, _.matches({ 'a': 4, 'c': 6 }));\n * // => [{ 'a': 4, 'b': 5, 'c': 6 }]\n */\n function matches(source) {\n return baseMatches(baseClone(source, CLONE_DEEP_FLAG));\n }\n\n /**\n * Creates a function that performs a partial deep comparison between the\n * value at `path` of a given object to `srcValue`, returning `true` if the\n * object value is equivalent, else `false`.\n *\n * **Note:** Partial comparisons will match empty array and empty object\n * `srcValue` values against any array or object value, respectively. See\n * `_.isEqual` for a list of supported value comparisons.\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n * @example\n *\n * var objects = [\n * { 'a': 1, 'b': 2, 'c': 3 },\n * { 'a': 4, 'b': 5, 'c': 6 }\n * ];\n *\n * _.find(objects, _.matchesProperty('a', 4));\n * // => { 'a': 4, 'b': 5, 'c': 6 }\n */\n function matchesProperty(path, srcValue) {\n return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG));\n }\n\n /**\n * Creates a function that invokes the method at `path` of a given object.\n * Any additional arguments are provided to the invoked method.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Util\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {Function} Returns the new invoker function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': _.constant(2) } },\n * { 'a': { 'b': _.constant(1) } }\n * ];\n *\n * _.map(objects, _.method('a.b'));\n * // => [2, 1]\n *\n * _.map(objects, _.method(['a', 'b']));\n * // => [2, 1]\n */\n var method = baseRest(function(path, args) {\n return function(object) {\n return baseInvoke(object, path, args);\n };\n });\n\n /**\n * The opposite of `_.method`; this method creates a function that invokes\n * the method at a given path of `object`. Any additional arguments are\n * provided to the invoked method.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Util\n * @param {Object} object The object to query.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {Function} Returns the new invoker function.\n * @example\n *\n * var array = _.times(3, _.constant),\n * object = { 'a': array, 'b': array, 'c': array };\n *\n * _.map(['a[2]', 'c[0]'], _.methodOf(object));\n * // => [2, 0]\n *\n * _.map([['a', '2'], ['c', '0']], _.methodOf(object));\n * // => [2, 0]\n */\n var methodOf = baseRest(function(object, args) {\n return function(path) {\n return baseInvoke(object, path, args);\n };\n });\n\n /**\n * Adds all own enumerable string keyed function properties of a source\n * object to the destination object. If `object` is a function, then methods\n * are added to its prototype as well.\n *\n * **Note:** Use `_.runInContext` to create a pristine `lodash` function to\n * avoid conflicts caused by modifying the original.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {Function|Object} [object=lodash] The destination object.\n * @param {Object} source The object of functions to add.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.chain=true] Specify whether mixins are chainable.\n * @returns {Function|Object} Returns `object`.\n * @example\n *\n * function vowels(string) {\n * return _.filter(string, function(v) {\n * return /[aeiou]/i.test(v);\n * });\n * }\n *\n * _.mixin({ 'vowels': vowels });\n * _.vowels('fred');\n * // => ['e']\n *\n * _('fred').vowels().value();\n * // => ['e']\n *\n * _.mixin({ 'vowels': vowels }, { 'chain': false });\n * _('fred').vowels();\n * // => ['e']\n */\n function mixin(object, source, options) {\n var props = keys(source),\n methodNames = baseFunctions(source, props);\n\n if (options == null &&\n !(isObject(source) && (methodNames.length || !props.length))) {\n options = source;\n source = object;\n object = this;\n methodNames = baseFunctions(source, keys(source));\n }\n var chain = !(isObject(options) && 'chain' in options) || !!options.chain,\n isFunc = isFunction(object);\n\n arrayEach(methodNames, function(methodName) {\n var func = source[methodName];\n object[methodName] = func;\n if (isFunc) {\n object.prototype[methodName] = function() {\n var chainAll = this.__chain__;\n if (chain || chainAll) {\n var result = object(this.__wrapped__),\n actions = result.__actions__ = copyArray(this.__actions__);\n\n actions.push({ 'func': func, 'args': arguments, 'thisArg': object });\n result.__chain__ = chainAll;\n return result;\n }\n return func.apply(object, arrayPush([this.value()], arguments));\n };\n }\n });\n\n return object;\n }\n\n /**\n * Reverts the `_` variable to its previous value and returns a reference to\n * the `lodash` function.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @returns {Function} Returns the `lodash` function.\n * @example\n *\n * var lodash = _.noConflict();\n */\n function noConflict() {\n if (root._ === this) {\n root._ = oldDash;\n }\n return this;\n }\n\n /**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\n function noop() {\n // No operation performed.\n }\n\n /**\n * Creates a function that gets the argument at index `n`. If `n` is negative,\n * the nth argument from the end is returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {number} [n=0] The index of the argument to return.\n * @returns {Function} Returns the new pass-thru function.\n * @example\n *\n * var func = _.nthArg(1);\n * func('a', 'b', 'c', 'd');\n * // => 'b'\n *\n * var func = _.nthArg(-2);\n * func('a', 'b', 'c', 'd');\n * // => 'c'\n */\n function nthArg(n) {\n n = toInteger(n);\n return baseRest(function(args) {\n return baseNth(args, n);\n });\n }\n\n /**\n * Creates a function that invokes `iteratees` with the arguments it receives\n * and returns their results.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to invoke.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var func = _.over([Math.max, Math.min]);\n *\n * func(1, 2, 3, 4);\n * // => [4, 1]\n */\n var over = createOver(arrayMap);\n\n /**\n * Creates a function that checks if **all** of the `predicates` return\n * truthy when invoked with the arguments it receives.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {...(Function|Function[])} [predicates=[_.identity]]\n * The predicates to check.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var func = _.overEvery([Boolean, isFinite]);\n *\n * func('1');\n * // => true\n *\n * func(null);\n * // => false\n *\n * func(NaN);\n * // => false\n */\n var overEvery = createOver(arrayEvery);\n\n /**\n * Creates a function that checks if **any** of the `predicates` return\n * truthy when invoked with the arguments it receives.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {...(Function|Function[])} [predicates=[_.identity]]\n * The predicates to check.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var func = _.overSome([Boolean, isFinite]);\n *\n * func('1');\n * // => true\n *\n * func(null);\n * // => true\n *\n * func(NaN);\n * // => false\n */\n var overSome = createOver(arraySome);\n\n /**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\n function property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n }\n\n /**\n * The opposite of `_.property`; this method creates a function that returns\n * the value at a given path of `object`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var array = [0, 1, 2],\n * object = { 'a': array, 'b': array, 'c': array };\n *\n * _.map(['a[2]', 'c[0]'], _.propertyOf(object));\n * // => [2, 0]\n *\n * _.map([['a', '2'], ['c', '0']], _.propertyOf(object));\n * // => [2, 0]\n */\n function propertyOf(object) {\n return function(path) {\n return object == null ? undefined : baseGet(object, path);\n };\n }\n\n /**\n * Creates an array of numbers (positive and/or negative) progressing from\n * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n * `start` is specified without an `end` or `step`. If `end` is not specified,\n * it's set to `start` with `start` then set to `0`.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.rangeRight\n * @example\n *\n * _.range(4);\n * // => [0, 1, 2, 3]\n *\n * _.range(-4);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 5);\n * // => [1, 2, 3, 4]\n *\n * _.range(0, 20, 5);\n * // => [0, 5, 10, 15]\n *\n * _.range(0, -4, -1);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.range(0);\n * // => []\n */\n var range = createRange();\n\n /**\n * This method is like `_.range` except that it populates values in\n * descending order.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.range\n * @example\n *\n * _.rangeRight(4);\n * // => [3, 2, 1, 0]\n *\n * _.rangeRight(-4);\n * // => [-3, -2, -1, 0]\n *\n * _.rangeRight(1, 5);\n * // => [4, 3, 2, 1]\n *\n * _.rangeRight(0, 20, 5);\n * // => [15, 10, 5, 0]\n *\n * _.rangeRight(0, -4, -1);\n * // => [-3, -2, -1, 0]\n *\n * _.rangeRight(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.rangeRight(0);\n * // => []\n */\n var rangeRight = createRange(true);\n\n /**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\n function stubArray() {\n return [];\n }\n\n /**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\n function stubFalse() {\n return false;\n }\n\n /**\n * This method returns a new empty object.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Object} Returns the new empty object.\n * @example\n *\n * var objects = _.times(2, _.stubObject);\n *\n * console.log(objects);\n * // => [{}, {}]\n *\n * console.log(objects[0] === objects[1]);\n * // => false\n */\n function stubObject() {\n return {};\n }\n\n /**\n * This method returns an empty string.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {string} Returns the empty string.\n * @example\n *\n * _.times(2, _.stubString);\n * // => ['', '']\n */\n function stubString() {\n return '';\n }\n\n /**\n * This method returns `true`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `true`.\n * @example\n *\n * _.times(2, _.stubTrue);\n * // => [true, true]\n */\n function stubTrue() {\n return true;\n }\n\n /**\n * Invokes the iteratee `n` times, returning an array of the results of\n * each invocation. The iteratee is invoked with one argument; (index).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n * @example\n *\n * _.times(3, String);\n * // => ['0', '1', '2']\n *\n * _.times(4, _.constant(0));\n * // => [0, 0, 0, 0]\n */\n function times(n, iteratee) {\n n = toInteger(n);\n if (n < 1 || n > MAX_SAFE_INTEGER) {\n return [];\n }\n var index = MAX_ARRAY_LENGTH,\n length = nativeMin(n, MAX_ARRAY_LENGTH);\n\n iteratee = getIteratee(iteratee);\n n -= MAX_ARRAY_LENGTH;\n\n var result = baseTimes(length, iteratee);\n while (++index < n) {\n iteratee(index);\n }\n return result;\n }\n\n /**\n * Converts `value` to a property path array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {*} value The value to convert.\n * @returns {Array} Returns the new property path array.\n * @example\n *\n * _.toPath('a.b.c');\n * // => ['a', 'b', 'c']\n *\n * _.toPath('a[0].b.c');\n * // => ['a', '0', 'b', 'c']\n */\n function toPath(value) {\n if (isArray(value)) {\n return arrayMap(value, toKey);\n }\n return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value)));\n }\n\n /**\n * Generates a unique ID. If `prefix` is given, the ID is appended to it.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {string} [prefix=''] The value to prefix the ID with.\n * @returns {string} Returns the unique ID.\n * @example\n *\n * _.uniqueId('contact_');\n * // => 'contact_104'\n *\n * _.uniqueId();\n * // => '105'\n */\n function uniqueId(prefix) {\n var id = ++idCounter;\n return toString(prefix) + id;\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Adds two numbers.\n *\n * @static\n * @memberOf _\n * @since 3.4.0\n * @category Math\n * @param {number} augend The first number in an addition.\n * @param {number} addend The second number in an addition.\n * @returns {number} Returns the total.\n * @example\n *\n * _.add(6, 4);\n * // => 10\n */\n var add = createMathOperation(function(augend, addend) {\n return augend + addend;\n }, 0);\n\n /**\n * Computes `number` rounded up to `precision`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Math\n * @param {number} number The number to round up.\n * @param {number} [precision=0] The precision to round up to.\n * @returns {number} Returns the rounded up number.\n * @example\n *\n * _.ceil(4.006);\n * // => 5\n *\n * _.ceil(6.004, 2);\n * // => 6.01\n *\n * _.ceil(6040, -2);\n * // => 6100\n */\n var ceil = createRound('ceil');\n\n /**\n * Divide two numbers.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Math\n * @param {number} dividend The first number in a division.\n * @param {number} divisor The second number in a division.\n * @returns {number} Returns the quotient.\n * @example\n *\n * _.divide(6, 4);\n * // => 1.5\n */\n var divide = createMathOperation(function(dividend, divisor) {\n return dividend / divisor;\n }, 1);\n\n /**\n * Computes `number` rounded down to `precision`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Math\n * @param {number} number The number to round down.\n * @param {number} [precision=0] The precision to round down to.\n * @returns {number} Returns the rounded down number.\n * @example\n *\n * _.floor(4.006);\n * // => 4\n *\n * _.floor(0.046, 2);\n * // => 0.04\n *\n * _.floor(4060, -2);\n * // => 4000\n */\n var floor = createRound('floor');\n\n /**\n * Computes the maximum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * _.max([4, 2, 8, 6]);\n * // => 8\n *\n * _.max([]);\n * // => undefined\n */\n function max(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseGt)\n : undefined;\n }\n\n /**\n * This method is like `_.max` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * the value is ranked. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * _.maxBy(objects, function(o) { return o.n; });\n * // => { 'n': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.maxBy(objects, 'n');\n * // => { 'n': 2 }\n */\n function maxBy(array, iteratee) {\n return (array && array.length)\n ? baseExtremum(array, getIteratee(iteratee, 2), baseGt)\n : undefined;\n }\n\n /**\n * Computes the mean of the values in `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {number} Returns the mean.\n * @example\n *\n * _.mean([4, 2, 8, 6]);\n * // => 5\n */\n function mean(array) {\n return baseMean(array, identity);\n }\n\n /**\n * This method is like `_.mean` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the value to be averaged.\n * The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the mean.\n * @example\n *\n * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];\n *\n * _.meanBy(objects, function(o) { return o.n; });\n * // => 5\n *\n * // The `_.property` iteratee shorthand.\n * _.meanBy(objects, 'n');\n * // => 5\n */\n function meanBy(array, iteratee) {\n return baseMean(array, getIteratee(iteratee, 2));\n }\n\n /**\n * Computes the minimum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * _.min([4, 2, 8, 6]);\n * // => 2\n *\n * _.min([]);\n * // => undefined\n */\n function min(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseLt)\n : undefined;\n }\n\n /**\n * This method is like `_.min` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * the value is ranked. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * _.minBy(objects, function(o) { return o.n; });\n * // => { 'n': 1 }\n *\n * // The `_.property` iteratee shorthand.\n * _.minBy(objects, 'n');\n * // => { 'n': 1 }\n */\n function minBy(array, iteratee) {\n return (array && array.length)\n ? baseExtremum(array, getIteratee(iteratee, 2), baseLt)\n : undefined;\n }\n\n /**\n * Multiply two numbers.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Math\n * @param {number} multiplier The first number in a multiplication.\n * @param {number} multiplicand The second number in a multiplication.\n * @returns {number} Returns the product.\n * @example\n *\n * _.multiply(6, 4);\n * // => 24\n */\n var multiply = createMathOperation(function(multiplier, multiplicand) {\n return multiplier * multiplicand;\n }, 1);\n\n /**\n * Computes `number` rounded to `precision`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Math\n * @param {number} number The number to round.\n * @param {number} [precision=0] The precision to round to.\n * @returns {number} Returns the rounded number.\n * @example\n *\n * _.round(4.006);\n * // => 4\n *\n * _.round(4.006, 2);\n * // => 4.01\n *\n * _.round(4060, -2);\n * // => 4100\n */\n var round = createRound('round');\n\n /**\n * Subtract two numbers.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {number} minuend The first number in a subtraction.\n * @param {number} subtrahend The second number in a subtraction.\n * @returns {number} Returns the difference.\n * @example\n *\n * _.subtract(6, 4);\n * // => 2\n */\n var subtract = createMathOperation(function(minuend, subtrahend) {\n return minuend - subtrahend;\n }, 0);\n\n /**\n * Computes the sum of the values in `array`.\n *\n * @static\n * @memberOf _\n * @since 3.4.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {number} Returns the sum.\n * @example\n *\n * _.sum([4, 2, 8, 6]);\n * // => 20\n */\n function sum(array) {\n return (array && array.length)\n ? baseSum(array, identity)\n : 0;\n }\n\n /**\n * This method is like `_.sum` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the value to be summed.\n * The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the sum.\n * @example\n *\n * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];\n *\n * _.sumBy(objects, function(o) { return o.n; });\n * // => 20\n *\n * // The `_.property` iteratee shorthand.\n * _.sumBy(objects, 'n');\n * // => 20\n */\n function sumBy(array, iteratee) {\n return (array && array.length)\n ? baseSum(array, getIteratee(iteratee, 2))\n : 0;\n }\n\n /*------------------------------------------------------------------------*/\n\n // Add methods that return wrapped values in chain sequences.\n lodash.after = after;\n lodash.ary = ary;\n lodash.assign = assign;\n lodash.assignIn = assignIn;\n lodash.assignInWith = assignInWith;\n lodash.assignWith = assignWith;\n lodash.at = at;\n lodash.before = before;\n lodash.bind = bind;\n lodash.bindAll = bindAll;\n lodash.bindKey = bindKey;\n lodash.castArray = castArray;\n lodash.chain = chain;\n lodash.chunk = chunk;\n lodash.compact = compact;\n lodash.concat = concat;\n lodash.cond = cond;\n lodash.conforms = conforms;\n lodash.constant = constant;\n lodash.countBy = countBy;\n lodash.create = create;\n lodash.curry = curry;\n lodash.curryRight = curryRight;\n lodash.debounce = debounce;\n lodash.defaults = defaults;\n lodash.defaultsDeep = defaultsDeep;\n lodash.defer = defer;\n lodash.delay = delay;\n lodash.difference = difference;\n lodash.differenceBy = differenceBy;\n lodash.differenceWith = differenceWith;\n lodash.drop = drop;\n lodash.dropRight = dropRight;\n lodash.dropRightWhile = dropRightWhile;\n lodash.dropWhile = dropWhile;\n lodash.fill = fill;\n lodash.filter = filter;\n lodash.flatMap = flatMap;\n lodash.flatMapDeep = flatMapDeep;\n lodash.flatMapDepth = flatMapDepth;\n lodash.flatten = flatten;\n lodash.flattenDeep = flattenDeep;\n lodash.flattenDepth = flattenDepth;\n lodash.flip = flip;\n lodash.flow = flow;\n lodash.flowRight = flowRight;\n lodash.fromPairs = fromPairs;\n lodash.functions = functions;\n lodash.functionsIn = functionsIn;\n lodash.groupBy = groupBy;\n lodash.initial = initial;\n lodash.intersection = intersection;\n lodash.intersectionBy = intersectionBy;\n lodash.intersectionWith = intersectionWith;\n lodash.invert = invert;\n lodash.invertBy = invertBy;\n lodash.invokeMap = invokeMap;\n lodash.iteratee = iteratee;\n lodash.keyBy = keyBy;\n lodash.keys = keys;\n lodash.keysIn = keysIn;\n lodash.map = map;\n lodash.mapKeys = mapKeys;\n lodash.mapValues = mapValues;\n lodash.matches = matches;\n lodash.matchesProperty = matchesProperty;\n lodash.memoize = memoize;\n lodash.merge = merge;\n lodash.mergeWith = mergeWith;\n lodash.method = method;\n lodash.methodOf = methodOf;\n lodash.mixin = mixin;\n lodash.negate = negate;\n lodash.nthArg = nthArg;\n lodash.omit = omit;\n lodash.omitBy = omitBy;\n lodash.once = once;\n lodash.orderBy = orderBy;\n lodash.over = over;\n lodash.overArgs = overArgs;\n lodash.overEvery = overEvery;\n lodash.overSome = overSome;\n lodash.partial = partial;\n lodash.partialRight = partialRight;\n lodash.partition = partition;\n lodash.pick = pick;\n lodash.pickBy = pickBy;\n lodash.property = property;\n lodash.propertyOf = propertyOf;\n lodash.pull = pull;\n lodash.pullAll = pullAll;\n lodash.pullAllBy = pullAllBy;\n lodash.pullAllWith = pullAllWith;\n lodash.pullAt = pullAt;\n lodash.range = range;\n lodash.rangeRight = rangeRight;\n lodash.rearg = rearg;\n lodash.reject = reject;\n lodash.remove = remove;\n lodash.rest = rest;\n lodash.reverse = reverse;\n lodash.sampleSize = sampleSize;\n lodash.set = set;\n lodash.setWith = setWith;\n lodash.shuffle = shuffle;\n lodash.slice = slice;\n lodash.sortBy = sortBy;\n lodash.sortedUniq = sortedUniq;\n lodash.sortedUniqBy = sortedUniqBy;\n lodash.split = split;\n lodash.spread = spread;\n lodash.tail = tail;\n lodash.take = take;\n lodash.takeRight = takeRight;\n lodash.takeRightWhile = takeRightWhile;\n lodash.takeWhile = takeWhile;\n lodash.tap = tap;\n lodash.throttle = throttle;\n lodash.thru = thru;\n lodash.toArray = toArray;\n lodash.toPairs = toPairs;\n lodash.toPairsIn = toPairsIn;\n lodash.toPath = toPath;\n lodash.toPlainObject = toPlainObject;\n lodash.transform = transform;\n lodash.unary = unary;\n lodash.union = union;\n lodash.unionBy = unionBy;\n lodash.unionWith = unionWith;\n lodash.uniq = uniq;\n lodash.uniqBy = uniqBy;\n lodash.uniqWith = uniqWith;\n lodash.unset = unset;\n lodash.unzip = unzip;\n lodash.unzipWith = unzipWith;\n lodash.update = update;\n lodash.updateWith = updateWith;\n lodash.values = values;\n lodash.valuesIn = valuesIn;\n lodash.without = without;\n lodash.words = words;\n lodash.wrap = wrap;\n lodash.xor = xor;\n lodash.xorBy = xorBy;\n lodash.xorWith = xorWith;\n lodash.zip = zip;\n lodash.zipObject = zipObject;\n lodash.zipObjectDeep = zipObjectDeep;\n lodash.zipWith = zipWith;\n\n // Add aliases.\n lodash.entries = toPairs;\n lodash.entriesIn = toPairsIn;\n lodash.extend = assignIn;\n lodash.extendWith = assignInWith;\n\n // Add methods to `lodash.prototype`.\n mixin(lodash, lodash);\n\n /*------------------------------------------------------------------------*/\n\n // Add methods that return unwrapped values in chain sequences.\n lodash.add = add;\n lodash.attempt = attempt;\n lodash.camelCase = camelCase;\n lodash.capitalize = capitalize;\n lodash.ceil = ceil;\n lodash.clamp = clamp;\n lodash.clone = clone;\n lodash.cloneDeep = cloneDeep;\n lodash.cloneDeepWith = cloneDeepWith;\n lodash.cloneWith = cloneWith;\n lodash.conformsTo = conformsTo;\n lodash.deburr = deburr;\n lodash.defaultTo = defaultTo;\n lodash.divide = divide;\n lodash.endsWith = endsWith;\n lodash.eq = eq;\n lodash.escape = escape;\n lodash.escapeRegExp = escapeRegExp;\n lodash.every = every;\n lodash.find = find;\n lodash.findIndex = findIndex;\n lodash.findKey = findKey;\n lodash.findLast = findLast;\n lodash.findLastIndex = findLastIndex;\n lodash.findLastKey = findLastKey;\n lodash.floor = floor;\n lodash.forEach = forEach;\n lodash.forEachRight = forEachRight;\n lodash.forIn = forIn;\n lodash.forInRight = forInRight;\n lodash.forOwn = forOwn;\n lodash.forOwnRight = forOwnRight;\n lodash.get = get;\n lodash.gt = gt;\n lodash.gte = gte;\n lodash.has = has;\n lodash.hasIn = hasIn;\n lodash.head = head;\n lodash.identity = identity;\n lodash.includes = includes;\n lodash.indexOf = indexOf;\n lodash.inRange = inRange;\n lodash.invoke = invoke;\n lodash.isArguments = isArguments;\n lodash.isArray = isArray;\n lodash.isArrayBuffer = isArrayBuffer;\n lodash.isArrayLike = isArrayLike;\n lodash.isArrayLikeObject = isArrayLikeObject;\n lodash.isBoolean = isBoolean;\n lodash.isBuffer = isBuffer;\n lodash.isDate = isDate;\n lodash.isElement = isElement;\n lodash.isEmpty = isEmpty;\n lodash.isEqual = isEqual;\n lodash.isEqualWith = isEqualWith;\n lodash.isError = isError;\n lodash.isFinite = isFinite;\n lodash.isFunction = isFunction;\n lodash.isInteger = isInteger;\n lodash.isLength = isLength;\n lodash.isMap = isMap;\n lodash.isMatch = isMatch;\n lodash.isMatchWith = isMatchWith;\n lodash.isNaN = isNaN;\n lodash.isNative = isNative;\n lodash.isNil = isNil;\n lodash.isNull = isNull;\n lodash.isNumber = isNumber;\n lodash.isObject = isObject;\n lodash.isObjectLike = isObjectLike;\n lodash.isPlainObject = isPlainObject;\n lodash.isRegExp = isRegExp;\n lodash.isSafeInteger = isSafeInteger;\n lodash.isSet = isSet;\n lodash.isString = isString;\n lodash.isSymbol = isSymbol;\n lodash.isTypedArray = isTypedArray;\n lodash.isUndefined = isUndefined;\n lodash.isWeakMap = isWeakMap;\n lodash.isWeakSet = isWeakSet;\n lodash.join = join;\n lodash.kebabCase = kebabCase;\n lodash.last = last;\n lodash.lastIndexOf = lastIndexOf;\n lodash.lowerCase = lowerCase;\n lodash.lowerFirst = lowerFirst;\n lodash.lt = lt;\n lodash.lte = lte;\n lodash.max = max;\n lodash.maxBy = maxBy;\n lodash.mean = mean;\n lodash.meanBy = meanBy;\n lodash.min = min;\n lodash.minBy = minBy;\n lodash.stubArray = stubArray;\n lodash.stubFalse = stubFalse;\n lodash.stubObject = stubObject;\n lodash.stubString = stubString;\n lodash.stubTrue = stubTrue;\n lodash.multiply = multiply;\n lodash.nth = nth;\n lodash.noConflict = noConflict;\n lodash.noop = noop;\n lodash.now = now;\n lodash.pad = pad;\n lodash.padEnd = padEnd;\n lodash.padStart = padStart;\n lodash.parseInt = parseInt;\n lodash.random = random;\n lodash.reduce = reduce;\n lodash.reduceRight = reduceRight;\n lodash.repeat = repeat;\n lodash.replace = replace;\n lodash.result = result;\n lodash.round = round;\n lodash.runInContext = runInContext;\n lodash.sample = sample;\n lodash.size = size;\n lodash.snakeCase = snakeCase;\n lodash.some = some;\n lodash.sortedIndex = sortedIndex;\n lodash.sortedIndexBy = sortedIndexBy;\n lodash.sortedIndexOf = sortedIndexOf;\n lodash.sortedLastIndex = sortedLastIndex;\n lodash.sortedLastIndexBy = sortedLastIndexBy;\n lodash.sortedLastIndexOf = sortedLastIndexOf;\n lodash.startCase = startCase;\n lodash.startsWith = startsWith;\n lodash.subtract = subtract;\n lodash.sum = sum;\n lodash.sumBy = sumBy;\n lodash.template = template;\n lodash.times = times;\n lodash.toFinite = toFinite;\n lodash.toInteger = toInteger;\n lodash.toLength = toLength;\n lodash.toLower = toLower;\n lodash.toNumber = toNumber;\n lodash.toSafeInteger = toSafeInteger;\n lodash.toString = toString;\n lodash.toUpper = toUpper;\n lodash.trim = trim;\n lodash.trimEnd = trimEnd;\n lodash.trimStart = trimStart;\n lodash.truncate = truncate;\n lodash.unescape = unescape;\n lodash.uniqueId = uniqueId;\n lodash.upperCase = upperCase;\n lodash.upperFirst = upperFirst;\n\n // Add aliases.\n lodash.each = forEach;\n lodash.eachRight = forEachRight;\n lodash.first = head;\n\n mixin(lodash, (function() {\n var source = {};\n baseForOwn(lodash, function(func, methodName) {\n if (!hasOwnProperty.call(lodash.prototype, methodName)) {\n source[methodName] = func;\n }\n });\n return source;\n }()), { 'chain': false });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The semantic version number.\n *\n * @static\n * @memberOf _\n * @type {string}\n */\n lodash.VERSION = VERSION;\n\n // Assign default placeholders.\n arrayEach(['bind', 'bindKey', 'curry', 'curryRight', 'partial', 'partialRight'], function(methodName) {\n lodash[methodName].placeholder = lodash;\n });\n\n // Add `LazyWrapper` methods for `_.drop` and `_.take` variants.\n arrayEach(['drop', 'take'], function(methodName, index) {\n LazyWrapper.prototype[methodName] = function(n) {\n n = n === undefined ? 1 : nativeMax(toInteger(n), 0);\n\n var result = (this.__filtered__ && !index)\n ? new LazyWrapper(this)\n : this.clone();\n\n if (result.__filtered__) {\n result.__takeCount__ = nativeMin(n, result.__takeCount__);\n } else {\n result.__views__.push({\n 'size': nativeMin(n, MAX_ARRAY_LENGTH),\n 'type': methodName + (result.__dir__ < 0 ? 'Right' : '')\n });\n }\n return result;\n };\n\n LazyWrapper.prototype[methodName + 'Right'] = function(n) {\n return this.reverse()[methodName](n).reverse();\n };\n });\n\n // Add `LazyWrapper` methods that accept an `iteratee` value.\n arrayEach(['filter', 'map', 'takeWhile'], function(methodName, index) {\n var type = index + 1,\n isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG;\n\n LazyWrapper.prototype[methodName] = function(iteratee) {\n var result = this.clone();\n result.__iteratees__.push({\n 'iteratee': getIteratee(iteratee, 3),\n 'type': type\n });\n result.__filtered__ = result.__filtered__ || isFilter;\n return result;\n };\n });\n\n // Add `LazyWrapper` methods for `_.head` and `_.last`.\n arrayEach(['head', 'last'], function(methodName, index) {\n var takeName = 'take' + (index ? 'Right' : '');\n\n LazyWrapper.prototype[methodName] = function() {\n return this[takeName](1).value()[0];\n };\n });\n\n // Add `LazyWrapper` methods for `_.initial` and `_.tail`.\n arrayEach(['initial', 'tail'], function(methodName, index) {\n var dropName = 'drop' + (index ? '' : 'Right');\n\n LazyWrapper.prototype[methodName] = function() {\n return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1);\n };\n });\n\n LazyWrapper.prototype.compact = function() {\n return this.filter(identity);\n };\n\n LazyWrapper.prototype.find = function(predicate) {\n return this.filter(predicate).head();\n };\n\n LazyWrapper.prototype.findLast = function(predicate) {\n return this.reverse().find(predicate);\n };\n\n LazyWrapper.prototype.invokeMap = baseRest(function(path, args) {\n if (typeof path == 'function') {\n return new LazyWrapper(this);\n }\n return this.map(function(value) {\n return baseInvoke(value, path, args);\n });\n });\n\n LazyWrapper.prototype.reject = function(predicate) {\n return this.filter(negate(getIteratee(predicate)));\n };\n\n LazyWrapper.prototype.slice = function(start, end) {\n start = toInteger(start);\n\n var result = this;\n if (result.__filtered__ && (start > 0 || end < 0)) {\n return new LazyWrapper(result);\n }\n if (start < 0) {\n result = result.takeRight(-start);\n } else if (start) {\n result = result.drop(start);\n }\n if (end !== undefined) {\n end = toInteger(end);\n result = end < 0 ? result.dropRight(-end) : result.take(end - start);\n }\n return result;\n };\n\n LazyWrapper.prototype.takeRightWhile = function(predicate) {\n return this.reverse().takeWhile(predicate).reverse();\n };\n\n LazyWrapper.prototype.toArray = function() {\n return this.take(MAX_ARRAY_LENGTH);\n };\n\n // Add `LazyWrapper` methods to `lodash.prototype`.\n baseForOwn(LazyWrapper.prototype, function(func, methodName) {\n var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName),\n isTaker = /^(?:head|last)$/.test(methodName),\n lodashFunc = lodash[isTaker ? ('take' + (methodName == 'last' ? 'Right' : '')) : methodName],\n retUnwrapped = isTaker || /^find/.test(methodName);\n\n if (!lodashFunc) {\n return;\n }\n lodash.prototype[methodName] = function() {\n var value = this.__wrapped__,\n args = isTaker ? [1] : arguments,\n isLazy = value instanceof LazyWrapper,\n iteratee = args[0],\n useLazy = isLazy || isArray(value);\n\n var interceptor = function(value) {\n var result = lodashFunc.apply(lodash, arrayPush([value], args));\n return (isTaker && chainAll) ? result[0] : result;\n };\n\n if (useLazy && checkIteratee && typeof iteratee == 'function' && iteratee.length != 1) {\n // Avoid lazy use if the iteratee has a \"length\" value other than `1`.\n isLazy = useLazy = false;\n }\n var chainAll = this.__chain__,\n isHybrid = !!this.__actions__.length,\n isUnwrapped = retUnwrapped && !chainAll,\n onlyLazy = isLazy && !isHybrid;\n\n if (!retUnwrapped && useLazy) {\n value = onlyLazy ? value : new LazyWrapper(this);\n var result = func.apply(value, args);\n result.__actions__.push({ 'func': thru, 'args': [interceptor], 'thisArg': undefined });\n return new LodashWrapper(result, chainAll);\n }\n if (isUnwrapped && onlyLazy) {\n return func.apply(this, args);\n }\n result = this.thru(interceptor);\n return isUnwrapped ? (isTaker ? result.value()[0] : result.value()) : result;\n };\n });\n\n // Add `Array` methods to `lodash.prototype`.\n arrayEach(['pop', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) {\n var func = arrayProto[methodName],\n chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru',\n retUnwrapped = /^(?:pop|shift)$/.test(methodName);\n\n lodash.prototype[methodName] = function() {\n var args = arguments;\n if (retUnwrapped && !this.__chain__) {\n var value = this.value();\n return func.apply(isArray(value) ? value : [], args);\n }\n return this[chainName](function(value) {\n return func.apply(isArray(value) ? value : [], args);\n });\n };\n });\n\n // Map minified method names to their real names.\n baseForOwn(LazyWrapper.prototype, function(func, methodName) {\n var lodashFunc = lodash[methodName];\n if (lodashFunc) {\n var key = lodashFunc.name + '';\n if (!hasOwnProperty.call(realNames, key)) {\n realNames[key] = [];\n }\n realNames[key].push({ 'name': methodName, 'func': lodashFunc });\n }\n });\n\n realNames[createHybrid(undefined, WRAP_BIND_KEY_FLAG).name] = [{\n 'name': 'wrapper',\n 'func': undefined\n }];\n\n // Add methods to `LazyWrapper`.\n LazyWrapper.prototype.clone = lazyClone;\n LazyWrapper.prototype.reverse = lazyReverse;\n LazyWrapper.prototype.value = lazyValue;\n\n // Add chain sequence methods to the `lodash` wrapper.\n lodash.prototype.at = wrapperAt;\n lodash.prototype.chain = wrapperChain;\n lodash.prototype.commit = wrapperCommit;\n lodash.prototype.next = wrapperNext;\n lodash.prototype.plant = wrapperPlant;\n lodash.prototype.reverse = wrapperReverse;\n lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue;\n\n // Add lazy aliases.\n lodash.prototype.first = lodash.prototype.head;\n\n if (symIterator) {\n lodash.prototype[symIterator] = wrapperToIterator;\n }\n return lodash;\n });\n\n /*--------------------------------------------------------------------------*/\n\n // Export lodash.\n var _ = runInContext();\n\n // Some AMD build optimizers, like r.js, check for condition patterns like:\n if (true) {\n // Expose Lodash on the global object to prevent errors when Lodash is\n // loaded by a script tag in the presence of an AMD loader.\n // See http://requirejs.org/docs/errors.html#mismatch for more details.\n // Use `_.noConflict` to remove Lodash from the global object.\n root._ = _;\n\n // Define as an anonymous module so, through path mapping, it can be\n // referenced as the \"underscore\" module.\n !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() {\n return _;\n }).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n }\n // Check for `exports` after `define` in case a build optimizer adds it.\n else if (freeModule) {\n // Export for Node.js.\n (freeModule.exports = _)._ = _;\n // Export for CommonJS support.\n freeExports._ = _;\n }\n else {\n // Export to the global object.\n root._ = _;\n }\n}.call(this));\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(28), __webpack_require__(301)(module)))\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2xvZGFzaEA0LjE3LjE1QGxvZGFzaC9sb2Rhc2guanM/OGJiNiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwyQ0FBMkM7QUFDM0M7QUFDQSwyREFBMkQ7O0FBRTNEO0FBQ0EsK0NBQStDO0FBQy9DO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQztBQUN0Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHlCQUF5QjtBQUN6Qix5QkFBeUI7QUFDekI7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLE1BQU0sYUFBYSxPQUFPOztBQUVwRDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaURBQWlELEVBQUU7QUFDbkQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLDJDQUEyQyxFQUFFOztBQUU3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrRUFBa0U7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNB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QTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsU0FBUztBQUN4QixlQUFlLFNBQVM7QUFDeEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsU0FBUztBQUN4QixlQUFlLFNBQVM7QUFDeEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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QUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLE9BQU87QUFDdEIsZ0JBQWdCLE9BQU87QUFDdkIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLEtBQUs7QUFDcEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLFNBQVM7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Q0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsS0FBSztBQUNwQixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixlQUFlLE9BQU87QUFDdEIsZUFBZSxLQUFLO0FBQ3BCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNB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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMsa0JBQWtCLEVBQUU7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRCxrQkFBa0IsRUFBRTtBQUN0RTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixTQUFTO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckIsb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGVBQWUsRUFBRTtBQUNqQixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixpQkFBaUI7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0Esa0JBQWtCLGlCQUFpQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsU0FBUztBQUMxQixjQUFjO0FBQ2Q7QUFDQSxpQkFBaUIsU0FBUztBQUMxQixjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsVUFBVTtBQUN6QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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Q0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixlQUFlLFFBQVE7QUFDdkIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esa0NBQWtDLEtBQUs7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixnQkFBZ0IsT0FBTztBQUN2QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixnQkFBZ0IsT0FBTztBQUN2QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsY0FBYztBQUM3QixlQUFlLGdCQUFnQjtBQUMvQixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxjQUFjO0FBQzdCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU8sWUFBWTtBQUNsQyxlQUFlLE9BQU87QUFDdEI7QUFDQSxlQUFlLE9BQU87QUFDdEI7QUFDQSxlQUFlLE9BQU87QUFDdEI7QUFDQSxlQUFlLE9BQU87QUFDdEI7QUFDQSxlQUFlLE9BQU87QUFDdEI7QUFDQSxlQUFlLE9BQU87QUFDdEI7QUFDQSxnQkFBZ0IsT0FBTztBQUN2QixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixpQkFBaUI7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsc0JBQXNCO0FBQ3ZDLHFCQUFxQixVQUFVO0FBQy9CO0FBQ0E7QUFDQSxzRUFBc0UsMkJBQTJCLEVBQUU7QUFDbkcsaUJBQWlCLDhCQUE4QjtBQUMvQztBQUNBO0FBQ0E7QUFDQSw0REFBNEQ7QUFDNUQsaUJBQWlCLG1CQUFtQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQyxPQUFPO0FBQ2pELGlCQUFpQixvQkFBb0I7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIscUJBQXFCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBLHFEQUFxRCwyQkFBMkIsRUFBRTtBQUNsRix3Q0FBd0MsYUFBYSxlQUFlLEVBQUU7QUFDdEUsaUJBQWlCLDhCQUE4QjtBQUMvQztBQUNBO0FBQ0E7QUFDQSx3REFBd0QscUNBQXFDO0FBQzdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMERBQTBELHFCQUFxQjtBQUMvRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDLFlBQVk7QUFDdkQsMENBQTBDLFFBQVE7QUFDbEQsaUJBQWlCLHFCQUFxQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCOztBQUUvQixtQ0FBbUM7QUFDbkM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsd0JBQXdCO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUCxtQkFBbUI7O0FBRW5CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixtQkFBbUI7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEM7O0FBRTVDO0FBQ0EsdURBQXVEO0FBQ3ZEO0FBQ0E7QUFDQSw2QkFBNkIsRUFBRTtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQztBQUMxQywrQkFBK0IsaUNBQWlDO0FBQ2hFLGNBQWM7QUFDZDtBQUNBO0FBQ0Esc0JBQXNCOztBQUV0QjtBQUNBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZ0JBQWdCLE9BQU87QUFDdkIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixnQkFBZ0IsT0FBTztBQUN2QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZ0JBQWdCLE9BQU87QUFDdkIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTyxZQUFZO0FBQ2xDLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZUFBZSxjQUFjO0FBQzdCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUNBQWlDO0FBQ2pDLGFBQWEsUUFBUSxRQUFRLFVBQVUsYUFBYTtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBLHNDQUFzQztBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxjQUFjO0FBQzdCLGdCQUFnQixPQUFPO0FBQ3ZCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsS0FBSztBQUNwQixpQkFBaUIsRUFBRTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxxQkFBcUI7QUFDcEMsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLFNBQVM7QUFDOUIsc0JBQXNCLGtCQUFrQjtBQUN4QztBQUNBO0FBQ0E7QUFDQSxhQUFhLGlCQUFpQjtBQUM5QjtBQUNBO0FBQ0EsYUFBYSxpQkFBaUI7QUFDOUI7QUFDQTtBQUNBLGFBQWEscUJBQXFCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0EsVUFBVSxpQkFBaUI7QUFDM0IsVUFBVTtBQUNWO0FBQ0E7QUFDQSxxQ0FBcUMsbUJBQW1CLGNBQWMsRUFBRSxFQUFFO0FBQzFFLGVBQWUsaUJBQWlCO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQSw0Q0FBNEMsU0FBUztBQUNyRDtBQUNBO0FBQ0EsZUFBZSxTQUFTLEdBQUcsU0FBUztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsRUFBRTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUseUJBQXlCO0FBQ3hDLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSx5QkFBeUI7QUFDeEMsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixFQUFFO0FBQ25CO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQSxVQUFVLDhDQUE4QztBQUN4RCxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLG1DQUFtQztBQUN0RSxlQUFlLDhDQUE4QztBQUM3RDtBQUNBO0FBQ0E7QUFDQSxlQUFlLDRCQUE0QjtBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQSxVQUFVLHlCQUF5QjtBQUNuQyxVQUFVO0FBQ1Y7QUFDQTtBQUNBLG9DQUFvQyxpQkFBaUI7QUFDckQsZUFBZSx5QkFBeUI7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGFBQWE7QUFDNUIsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBLFVBQVUseUJBQXlCO0FBQ25DLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsYUFBYTtBQUM1QixlQUFlLEtBQUs7QUFDcEIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0EsVUFBVSxPQUFPLHFCQUFxQixFQUFFO0FBQ3hDLFVBQVUsT0FBTyxxQkFBcUI7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLEtBQUs7QUFDcEIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsZ0JBQWdCO0FBQy9CLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU8sWUFBWTtBQUNsQyxlQUFlLFFBQVE7QUFDdkIsaUJBQWlCLGdCQUFnQjtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxnQkFBZ0IsbUJBQW1CO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixtQkFBbUIsR0FBRyxpQkFBaUI7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsNEJBQTRCLHFEQUFxRDtBQUNqRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUseUJBQXlCO0FBQ3hDO0FBQ0EsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSx5QkFBeUI7QUFDeEM7QUFDQSxpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLHlCQUF5QjtBQUN4QztBQUNBLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGFBQWE7QUFDNUIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0EsVUFBVSxPQUFPLFNBQVMsRUFBRTtBQUM1QixVQUFVLE9BQU8sU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0NBQW9DO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixJQUFJO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGtFQUFrRTtBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGlCQUFpQixFQUFFO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLEVBQUU7QUFDbkI7QUFDQTtBQUNBLHVCQUF1QixTQUFTLEdBQUcsU0FBUztBQUM1QztBQUNBLHFDQUFxQyxZQUFZLEVBQUU7QUFDbkQsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQSx1QkFBdUIsU0FBUyxHQUFHLFNBQVMsR0FBRyxTQUFTLEdBQUcsU0FBUztBQUNwRTtBQUNBLHNDQUFzQyxZQUFZLEVBQUU7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsaUJBQWlCLEVBQUU7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsRUFBRTtBQUNuQjtBQUNBO0FBQ0EsdUJBQXVCLFNBQVMsR0FBRyxTQUFTO0FBQzVDO0FBQ0EscUNBQXFDLFlBQVksRUFBRTtBQUNuRCxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQSx1QkFBdUIsU0FBUyxHQUFHLFNBQVMsR0FBRyxTQUFTLEdBQUcsU0FBUztBQUNwRTtBQUNBLHFDQUFxQyxZQUFZLEVBQUU7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxLQUFLLE1BQU0saUJBQWlCOztBQUU1Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLOztBQUVMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQyw0REFBNEQ7QUFDL0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLHlDQUF5QztBQUN0RTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNLElBQTBFO0FBQ2hGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUksbUNBQU87QUFDWDtBQUNBLEtBQUs7QUFBQSxvR0FBQztBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiMzYuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBMb2Rhc2ggPGh0dHBzOi8vbG9kYXNoLmNvbS8+XG4gKiBDb3B5cmlnaHQgT3BlbkpTIEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycyA8aHR0cHM6Ly9vcGVuanNmLm9yZy8+XG4gKiBSZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZSA8aHR0cHM6Ly9sb2Rhc2guY29tL2xpY2Vuc2U+XG4gKiBCYXNlZCBvbiBVbmRlcnNjb3JlLmpzIDEuOC4zIDxodHRwOi8vdW5kZXJzY29yZWpzLm9yZy9MSUNFTlNFPlxuICogQ29weXJpZ2h0IEplcmVteSBBc2hrZW5hcywgRG9jdW1lbnRDbG91ZCBhbmQgSW52ZXN0aWdhdGl2ZSBSZXBvcnRlcnMgJiBFZGl0b3JzXG4gKi9cbjsoZnVuY3Rpb24oKSB7XG5cbiAgLyoqIFVzZWQgYXMgYSBzYWZlIHJlZmVyZW5jZSBmb3IgYHVuZGVmaW5lZGAgaW4gcHJlLUVTNSBlbnZpcm9ubWVudHMuICovXG4gIHZhciB1bmRlZmluZWQ7XG5cbiAgLyoqIFVzZWQgYXMgdGhlIHNlbWFudGljIHZlcnNpb24gbnVtYmVyLiAqL1xuICB2YXIgVkVSU0lPTiA9ICc0LjE3LjE1JztcblxuICAvKiogVXNlZCBhcyB0aGUgc2l6ZSB0byBlbmFibGUgbGFyZ2UgYXJyYXkgb3B0aW1pemF0aW9ucy4gKi9cbiAgdmFyIExBUkdFX0FSUkFZX1NJWkUgPSAyMDA7XG5cbiAgLyoqIEVycm9yIG1lc3NhZ2UgY29uc3RhbnRzLiAqL1xuICB2YXIgQ09SRV9FUlJPUl9URVhUID0gJ1Vuc3VwcG9ydGVkIGNvcmUtanMgdXNlLiBUcnkgaHR0cHM6Ly9ucG1zLmlvL3NlYXJjaD9xPXBvbnlmaWxsLicsXG4gICAgICBGVU5DX0VSUk9SX1RFWFQgPSAnRXhwZWN0ZWQgYSBmdW5jdGlvbic7XG5cbiAgLyoqIFVzZWQgdG8gc3RhbmQtaW4gZm9yIGB1bmRlZmluZWRgIGhhc2ggdmFsdWVzLiAqL1xuICB2YXIgSEFTSF9VTkRFRklORUQgPSAnX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyc7XG5cbiAgLyoqIFVzZWQgYXMgdGhlIG1heGltdW0gbWVtb2l6ZSBjYWNoZSBzaXplLiAqL1xuICB2YXIgTUFYX01FTU9JWkVfU0laRSA9IDUwMDtcblxuICAvKiogVXNlZCBhcyB0aGUgaW50ZXJuYWwgYXJndW1lbnQgcGxhY2Vob2xkZXIuICovXG4gIHZhciBQTEFDRUhPTERFUiA9ICdfX2xvZGFzaF9wbGFjZWhvbGRlcl9fJztcblxuICAvKiogVXNlZCB0byBjb21wb3NlIGJpdG1hc2tzIGZvciBjbG9uaW5nLiAqL1xuICB2YXIgQ0xPTkVfREVFUF9GTEFHID0gMSxcbiAgICAgIENMT05FX0ZMQVRfRkxBRyA9IDIsXG4gICAgICBDTE9ORV9TWU1CT0xTX0ZMQUcgPSA0O1xuXG4gIC8qKiBVc2VkIHRvIGNvbXBvc2UgYml0bWFza3MgZm9yIHZhbHVlIGNvbXBhcmlzb25zLiAqL1xuICB2YXIgQ09NUEFSRV9QQVJUSUFMX0ZMQUcgPSAxLFxuICAgICAgQ09NUEFSRV9VTk9SREVSRURfRkxBRyA9IDI7XG5cbiAgLyoqIFVzZWQgdG8gY29tcG9zZSBiaXRtYXNrcyBmb3IgZnVuY3Rpb24gbWV0YWRhdGEuICovXG4gIHZhciBXUkFQX0JJTkRfRkxBRyA9IDEsXG4gICAgICBXUkFQX0JJTkRfS0VZX0ZMQUcgPSAyLFxuICAgICAgV1JBUF9DVVJSWV9CT1VORF9GTEFHID0gNCxcbiAgICAgIFdSQVBfQ1VSUllfRkxBRyA9IDgsXG4gICAgICBXUkFQX0NVUlJZX1JJR0hUX0ZMQUcgPSAxNixcbiAgICAgIFdSQVBfUEFSVElBTF9GTEFHID0gMzIsXG4gICAgICBXUkFQX1BBUlRJQUxfUklHSFRfRkxBRyA9IDY0LFxuICAgICAgV1JBUF9BUllfRkxBRyA9IDEyOCxcbiAgICAgIFdSQVBfUkVBUkdfRkxBRyA9IDI1NixcbiAgICAgIFdSQVBfRkxJUF9GTEFHID0gNTEyO1xuXG4gIC8qKiBVc2VkIGFzIGRlZmF1bHQgb3B0aW9ucyBmb3IgYF8udHJ1bmNhdGVgLiAqL1xuICB2YXIgREVGQVVMVF9UUlVOQ19MRU5HVEggPSAzMCxcbiAgICAgIERFRkFVTFRfVFJVTkNfT01JU1NJT04gPSAnLi4uJztcblxuICAvKiogVXNlZCB0byBkZXRlY3QgaG90IGZ1bmN0aW9ucyBieSBudW1iZXIgb2YgY2FsbHMgd2l0aGluIGEgc3BhbiBvZiBtaWxsaXNlY29uZHMuICovXG4gIHZhciBIT1RfQ09VTlQgPSA4MDAsXG4gICAgICBIT1RfU1BBTiA9IDE2O1xuXG4gIC8qKiBVc2VkIHRvIGluZGljYXRlIHRoZSB0eXBlIG9mIGxhenkgaXRlcmF0ZWVzLiAqL1xuICB2YXIgTEFaWV9GSUxURVJfRkxBRyA9IDEsXG4gICAgICBMQVpZX01BUF9GTEFHID0gMixcbiAgICAgIExBWllfV0hJTEVfRkxBRyA9IDM7XG5cbiAgLyoqIFVzZWQgYXMgcmVmZXJlbmNlcyBmb3IgdmFyaW91cyBgTnVtYmVyYCBjb25zdGFudHMuICovXG4gIHZhciBJTkZJTklUWSA9IDEgLyAwLFxuICAgICAgTUFYX1NBRkVfSU5URUdFUiA9IDkwMDcxOTkyNTQ3NDA5OTEsXG4gICAgICBNQVhfSU5URUdFUiA9IDEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4LFxuICAgICAgTkFOID0gMCAvIDA7XG5cbiAgLyoqIFVzZWQgYXMgcmVmZXJlbmNlcyBmb3IgdGhlIG1heGltdW0gbGVuZ3RoIGFuZCBpbmRleCBvZiBhbiBhcnJheS4gKi9cbiAgdmFyIE1BWF9BUlJBWV9MRU5HVEggPSA0Mjk0OTY3Mjk1LFxuICAgICAgTUFYX0FSUkFZX0lOREVYID0gTUFYX0FSUkFZX0xFTkdUSCAtIDEsXG4gICAgICBIQUxGX01BWF9BUlJBWV9MRU5HVEggPSBNQVhfQVJSQVlfTEVOR1RIID4+PiAxO1xuXG4gIC8qKiBVc2VkIHRvIGFzc29jaWF0ZSB3cmFwIG1ldGhvZHMgd2l0aCB0aGVpciBiaXQgZmxhZ3MuICovXG4gIHZhciB3cmFwRmxhZ3MgPSBbXG4gICAgWydhcnknLCBXUkFQX0FSWV9GTEFHXSxcbiAgICBbJ2JpbmQnLCBXUkFQX0JJTkRfRkxBR10sXG4gICAgWydiaW5kS2V5JywgV1JBUF9CSU5EX0tFWV9GTEFHXSxcbiAgICBbJ2N1cnJ5JywgV1JBUF9DVVJSWV9GTEFHXSxcbiAgICBbJ2N1cnJ5UmlnaHQnLCBXUkFQX0NVUlJZX1JJR0hUX0ZMQUddLFxuICAgIFsnZmxpcCcsIFdSQVBfRkxJUF9GTEFHXSxcbiAgICBbJ3BhcnRpYWwnLCBXUkFQX1BBUlRJQUxfRkxBR10sXG4gICAgWydwYXJ0aWFsUmlnaHQnLCBXUkFQX1BBUlRJQUxfUklHSFRfRkxBR10sXG4gICAgWydyZWFyZycsIFdSQVBfUkVBUkdfRkxBR11cbiAgXTtcblxuICAvKiogYE9iamVjdCN0b1N0cmluZ2AgcmVzdWx0IHJlZmVyZW5jZXMuICovXG4gIHZhciBhcmdzVGFnID0gJ1tvYmplY3QgQXJndW1lbnRzXScsXG4gICAgICBhcnJheVRhZyA9ICdbb2JqZWN0IEFycmF5XScsXG4gICAgICBhc3luY1RhZyA9ICdbb2JqZWN0IEFzeW5jRnVuY3Rpb25dJyxcbiAgICAgIGJvb2xUYWcgPSAnW29iamVjdCBCb29sZWFuXScsXG4gICAgICBkYXRlVGFnID0gJ1tvYmplY3QgRGF0ZV0nLFxuICAgICAgZG9tRXhjVGFnID0gJ1tvYmplY3QgRE9NRXhjZXB0aW9uXScsXG4gICAgICBlcnJvclRhZyA9ICdbb2JqZWN0IEVycm9yXScsXG4gICAgICBmdW5jVGFnID0gJ1tvYmplY3QgRnVuY3Rpb25dJyxcbiAgICAgIGdlblRhZyA9ICdbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXScsXG4gICAgICBtYXBUYWcgPSAnW29iamVjdCBNYXBdJyxcbiAgICAgIG51bWJlclRhZyA9ICdbb2JqZWN0IE51bWJlcl0nLFxuICAgICAgbnVsbFRhZyA9ICdbb2JqZWN0IE51bGxdJyxcbiAgICAgIG9iamVjdFRhZyA9ICdbb2JqZWN0IE9iamVjdF0nLFxuICAgICAgcHJvbWlzZVRhZyA9ICdbb2JqZWN0IFByb21pc2VdJyxcbiAgICAgIHByb3h5VGFnID0gJ1tvYmplY3QgUHJveHldJyxcbiAgICAgIHJlZ2V4cFRhZyA9ICdbb2JqZWN0IFJlZ0V4cF0nLFxuICAgICAgc2V0VGFnID0gJ1tvYmplY3QgU2V0XScsXG4gICAgICBzdHJpbmdUYWcgPSAnW29iamVjdCBTdHJpbmddJyxcbiAgICAgIHN5bWJvbFRhZyA9ICdbb2JqZWN0IFN5bWJvbF0nLFxuICAgICAgdW5kZWZpbmVkVGFnID0gJ1tvYmplY3QgVW5kZWZpbmVkXScsXG4gICAgICB3ZWFrTWFwVGFnID0gJ1tvYmplY3QgV2Vha01hcF0nLFxuICAgICAgd2Vha1NldFRhZyA9ICdbb2JqZWN0IFdlYWtTZXRdJztcblxuICB2YXIgYXJyYXlCdWZmZXJUYWcgPSAnW29iamVjdCBBcnJheUJ1ZmZlcl0nLFxuICAgICAgZGF0YVZpZXdUYWcgPSAnW29iamVjdCBEYXRhVmlld10nLFxuICAgICAgZmxvYXQzMlRhZyA9ICdbb2JqZWN0IEZsb2F0MzJBcnJheV0nLFxuICAgICAgZmxvYXQ2NFRhZyA9ICdbb2JqZWN0IEZsb2F0NjRBcnJheV0nLFxuICAgICAgaW50OFRhZyA9ICdbb2JqZWN0IEludDhBcnJheV0nLFxuICAgICAgaW50MTZUYWcgPSAnW29iamVjdCBJbnQxNkFycmF5XScsXG4gICAgICBpbnQzMlRhZyA9ICdbb2JqZWN0IEludDMyQXJyYXldJyxcbiAgICAgIHVpbnQ4VGFnID0gJ1tvYmplY3QgVWludDhBcnJheV0nLFxuICAgICAgdWludDhDbGFtcGVkVGFnID0gJ1tvYmplY3QgVWludDhDbGFtcGVkQXJyYXldJyxcbiAgICAgIHVpbnQxNlRhZyA9ICdbb2JqZWN0IFVpbnQxNkFycmF5XScsXG4gICAgICB1aW50MzJUYWcgPSAnW29iamVjdCBVaW50MzJBcnJheV0nO1xuXG4gIC8qKiBVc2VkIHRvIG1hdGNoIGVtcHR5IHN0cmluZyBsaXRlcmFscyBpbiBjb21waWxlZCB0ZW1wbGF0ZSBzb3VyY2UuICovXG4gIHZhciByZUVtcHR5U3RyaW5nTGVhZGluZyA9IC9cXGJfX3AgXFwrPSAnJzsvZyxcbiAgICAgIHJlRW1wdHlTdHJpbmdNaWRkbGUgPSAvXFxiKF9fcCBcXCs9KSAnJyBcXCsvZyxcbiAgICAgIHJlRW1wdHlTdHJpbmdUcmFpbGluZyA9IC8oX19lXFwoLio/XFwpfFxcYl9fdFxcKSkgXFwrXFxuJyc7L2c7XG5cbiAgLyoqIFVzZWQgdG8gbWF0Y2ggSFRNTCBlbnRpdGllcyBhbmQgSFRNTCBjaGFyYWN0ZXJzLiAqL1xuICB2YXIgcmVFc2NhcGVkSHRtbCA9IC8mKD86YW1wfGx0fGd0fHF1b3R8IzM5KTsvZyxcbiAgICAgIHJlVW5lc2NhcGVkSHRtbCA9IC9bJjw+XCInXS9nLFxuICAgICAgcmVIYXNFc2NhcGVkSHRtbCA9IFJlZ0V4cChyZUVzY2FwZWRIdG1sLnNvdXJjZSksXG4gICAgICByZUhhc1VuZXNjYXBlZEh0bWwgPSBSZWdFeHAocmVVbmVzY2FwZWRIdG1sLnNvdXJjZSk7XG5cbiAgLyoqIFVzZWQgdG8gbWF0Y2ggdGVtcGxhdGUgZGVsaW1pdGVycy4gKi9cbiAgdmFyIHJlRXNjYXBlID0gLzwlLShbXFxzXFxTXSs/KSU+L2csXG4gICAgICByZUV2YWx1YXRlID0gLzwlKFtcXHNcXFNdKz8pJT4vZyxcbiAgICAgIHJlSW50ZXJwb2xhdGUgPSAvPCU9KFtcXHNcXFNdKz8pJT4vZztcblxuICAvKiogVXNlZCB0byBtYXRjaCBwcm9wZXJ0eSBuYW1lcyB3aXRoaW4gcHJvcGVydHkgcGF0aHMuICovXG4gIHZhciByZUlzRGVlcFByb3AgPSAvXFwufFxcWyg/OlteW1xcXV0qfChbXCInXSkoPzooPyFcXDEpW15cXFxcXXxcXFxcLikqP1xcMSlcXF0vLFxuICAgICAgcmVJc1BsYWluUHJvcCA9IC9eXFx3KiQvLFxuICAgICAgcmVQcm9wTmFtZSA9IC9bXi5bXFxdXSt8XFxbKD86KC0/XFxkKyg/OlxcLlxcZCspPyl8KFtcIiddKSgoPzooPyFcXDIpW15cXFxcXXxcXFxcLikqPylcXDIpXFxdfCg/PSg/OlxcLnxcXFtcXF0pKD86XFwufFxcW1xcXXwkKSkvZztcblxuICAvKipcbiAgICogVXNlZCB0byBtYXRjaCBgUmVnRXhwYFxuICAgKiBbc3ludGF4IGNoYXJhY3RlcnNdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXBhdHRlcm5zKS5cbiAgICovXG4gIHZhciByZVJlZ0V4cENoYXIgPSAvW1xcXFxeJC4qKz8oKVtcXF17fXxdL2csXG4gICAgICByZUhhc1JlZ0V4cENoYXIgPSBSZWdFeHAocmVSZWdFeHBDaGFyLnNvdXJjZSk7XG5cbiAgLyoqIFVzZWQgdG8gbWF0Y2ggbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZS4gKi9cbiAgdmFyIHJlVHJpbSA9IC9eXFxzK3xcXHMrJC9nLFxuICAgICAgcmVUcmltU3RhcnQgPSAvXlxccysvLFxuICAgICAgcmVUcmltRW5kID0gL1xccyskLztcblxuICAvKiogVXNlZCB0byBtYXRjaCB3cmFwIGRldGFpbCBjb21tZW50cy4gKi9cbiAgdmFyIHJlV3JhcENvbW1lbnQgPSAvXFx7KD86XFxuXFwvXFwqIFxcW3dyYXBwZWQgd2l0aCAuK1xcXSBcXCpcXC8pP1xcbj8vLFxuICAgICAgcmVXcmFwRGV0YWlscyA9IC9cXHtcXG5cXC9cXCogXFxbd3JhcHBlZCB3aXRoICguKylcXF0gXFwqLyxcbiAgICAgIHJlU3BsaXREZXRhaWxzID0gLyw/ICYgLztcblxuICAvKiogVXNlZCB0byBtYXRjaCB3b3JkcyBjb21wb3NlZCBvZiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycy4gKi9cbiAgdmFyIHJlQXNjaWlXb3JkID0gL1teXFx4MDAtXFx4MmZcXHgzYS1cXHg0MFxceDViLVxceDYwXFx4N2ItXFx4N2ZdKy9nO1xuXG4gIC8qKiBVc2VkIHRvIG1hdGNoIGJhY2tzbGFzaGVzIGluIHByb3BlcnR5IHBhdGhzLiAqL1xuICB2YXIgcmVFc2NhcGVDaGFyID0gL1xcXFwoXFxcXCk/L2c7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gbWF0Y2hcbiAgICogW0VTIHRlbXBsYXRlIGRlbGltaXRlcnNdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXRlbXBsYXRlLWxpdGVyYWwtbGV4aWNhbC1jb21wb25lbnRzKS5cbiAgICovXG4gIHZhciByZUVzVGVtcGxhdGUgPSAvXFwkXFx7KFteXFxcXH1dKig/OlxcXFwuW15cXFxcfV0qKSopXFx9L2c7XG5cbiAgLyoqIFVzZWQgdG8gbWF0Y2ggYFJlZ0V4cGAgZmxhZ3MgZnJvbSB0aGVpciBjb2VyY2VkIHN0cmluZyB2YWx1ZXMuICovXG4gIHZhciByZUZsYWdzID0gL1xcdyokLztcblxuICAvKiogVXNlZCB0byBkZXRlY3QgYmFkIHNpZ25lZCBoZXhhZGVjaW1hbCBzdHJpbmcgdmFsdWVzLiAqL1xuICB2YXIgcmVJc0JhZEhleCA9IC9eWy0rXTB4WzAtOWEtZl0rJC9pO1xuXG4gIC8qKiBVc2VkIHRvIGRldGVjdCBiaW5hcnkgc3RyaW5nIHZhbHVlcy4gKi9cbiAgdmFyIHJlSXNCaW5hcnkgPSAvXjBiWzAxXSskL2k7XG5cbiAgLyoqIFVzZWQgdG8gZGV0ZWN0IGhvc3QgY29uc3RydWN0b3JzIChTYWZhcmkpLiAqL1xuICB2YXIgcmVJc0hvc3RDdG9yID0gL15cXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXF0kLztcblxuICAvKiogVXNlZCB0byBkZXRlY3Qgb2N0YWwgc3RyaW5nIHZhbHVlcy4gKi9cbiAgdmFyIHJlSXNPY3RhbCA9IC9eMG9bMC03XSskL2k7XG5cbiAgLyoqIFVzZWQgdG8gZGV0ZWN0IHVuc2lnbmVkIGludGVnZXIgdmFsdWVzLiAqL1xuICB2YXIgcmVJc1VpbnQgPSAvXig/OjB8WzEtOV1cXGQqKSQvO1xuXG4gIC8qKiBVc2VkIHRvIG1hdGNoIExhdGluIFVuaWNvZGUgbGV0dGVycyAoZXhjbHVkaW5nIG1hdGhlbWF0aWNhbCBvcGVyYXRvcnMpLiAqL1xuICB2YXIgcmVMYXRpbiA9IC9bXFx4YzAtXFx4ZDZcXHhkOC1cXHhmNlxceGY4LVxceGZmXFx1MDEwMC1cXHUwMTdmXS9nO1xuXG4gIC8qKiBVc2VkIHRvIGVuc3VyZSBjYXB0dXJpbmcgb3JkZXIgb2YgdGVtcGxhdGUgZGVsaW1pdGVycy4gKi9cbiAgdmFyIHJlTm9NYXRjaCA9IC8oJF4pLztcblxuICAvKiogVXNlZCB0byBtYXRjaCB1bmVzY2FwZWQgY2hhcmFjdGVycyBpbiBjb21waWxlZCBzdHJpbmcgbGl0ZXJhbHMuICovXG4gIHZhciByZVVuZXNjYXBlZFN0cmluZyA9IC9bJ1xcblxcclxcdTIwMjhcXHUyMDI5XFxcXF0vZztcblxuICAvKiogVXNlZCB0byBjb21wb3NlIHVuaWNvZGUgY2hhcmFjdGVyIGNsYXNzZXMuICovXG4gIHZhciByc0FzdHJhbFJhbmdlID0gJ1xcXFx1ZDgwMC1cXFxcdWRmZmYnLFxuICAgICAgcnNDb21ib01hcmtzUmFuZ2UgPSAnXFxcXHUwMzAwLVxcXFx1MDM2ZicsXG4gICAgICByZUNvbWJvSGFsZk1hcmtzUmFuZ2UgPSAnXFxcXHVmZTIwLVxcXFx1ZmUyZicsXG4gICAgICByc0NvbWJvU3ltYm9sc1JhbmdlID0gJ1xcXFx1MjBkMC1cXFxcdTIwZmYnLFxuICAgICAgcnNDb21ib1JhbmdlID0gcnNDb21ib01hcmtzUmFuZ2UgKyByZUNvbWJvSGFsZk1hcmtzUmFuZ2UgKyByc0NvbWJvU3ltYm9sc1JhbmdlLFxuICAgICAgcnNEaW5nYmF0UmFuZ2UgPSAnXFxcXHUyNzAwLVxcXFx1MjdiZicsXG4gICAgICByc0xvd2VyUmFuZ2UgPSAnYS16XFxcXHhkZi1cXFxceGY2XFxcXHhmOC1cXFxceGZmJyxcbiAgICAgIHJzTWF0aE9wUmFuZ2UgPSAnXFxcXHhhY1xcXFx4YjFcXFxceGQ3XFxcXHhmNycsXG4gICAgICByc05vbkNoYXJSYW5nZSA9ICdcXFxceDAwLVxcXFx4MmZcXFxceDNhLVxcXFx4NDBcXFxceDViLVxcXFx4NjBcXFxceDdiLVxcXFx4YmYnLFxuICAgICAgcnNQdW5jdHVhdGlvblJhbmdlID0gJ1xcXFx1MjAwMC1cXFxcdTIwNmYnLFxuICAgICAgcnNTcGFjZVJhbmdlID0gJyBcXFxcdFxcXFx4MGJcXFxcZlxcXFx4YTBcXFxcdWZlZmZcXFxcblxcXFxyXFxcXHUyMDI4XFxcXHUyMDI5XFxcXHUxNjgwXFxcXHUxODBlXFxcXHUyMDAwXFxcXHUyMDAxXFxcXHUyMDAyXFxcXHUyMDAzXFxcXHUyMDA0XFxcXHUyMDA1XFxcXHUyMDA2XFxcXHUyMDA3XFxcXHUyMDA4XFxcXHUyMDA5XFxcXHUyMDBhXFxcXHUyMDJmXFxcXHUyMDVmXFxcXHUzMDAwJyxcbiAgICAgIHJzVXBwZXJSYW5nZSA9ICdBLVpcXFxceGMwLVxcXFx4ZDZcXFxceGQ4LVxcXFx4ZGUnLFxuICAgICAgcnNWYXJSYW5nZSA9ICdcXFxcdWZlMGVcXFxcdWZlMGYnLFxuICAgICAgcnNCcmVha1JhbmdlID0gcnNNYXRoT3BSYW5nZSArIHJzTm9uQ2hhclJhbmdlICsgcnNQdW5jdHVhdGlvblJhbmdlICsgcnNTcGFjZVJhbmdlO1xuXG4gIC8qKiBVc2VkIHRvIGNvbXBvc2UgdW5pY29kZSBjYXB0dXJlIGdyb3Vwcy4gKi9cbiAgdmFyIHJzQXBvcyA9IFwiWydcXHUyMDE5XVwiLFxuICAgICAgcnNBc3RyYWwgPSAnWycgKyByc0FzdHJhbFJhbmdlICsgJ10nLFxuICAgICAgcnNCcmVhayA9ICdbJyArIHJzQnJlYWtSYW5nZSArICddJyxcbiAgICAgIHJzQ29tYm8gPSAnWycgKyByc0NvbWJvUmFuZ2UgKyAnXScsXG4gICAgICByc0RpZ2l0cyA9ICdcXFxcZCsnLFxuICAgICAgcnNEaW5nYmF0ID0gJ1snICsgcnNEaW5nYmF0UmFuZ2UgKyAnXScsXG4gICAgICByc0xvd2VyID0gJ1snICsgcnNMb3dlclJhbmdlICsgJ10nLFxuICAgICAgcnNNaXNjID0gJ1teJyArIHJzQXN0cmFsUmFuZ2UgKyByc0JyZWFrUmFuZ2UgKyByc0RpZ2l0cyArIHJzRGluZ2JhdFJhbmdlICsgcnNMb3dlclJhbmdlICsgcnNVcHBlclJhbmdlICsgJ10nLFxuICAgICAgcnNGaXR6ID0gJ1xcXFx1ZDgzY1tcXFxcdWRmZmItXFxcXHVkZmZmXScsXG4gICAgICByc01vZGlmaWVyID0gJyg/OicgKyByc0NvbWJvICsgJ3wnICsgcnNGaXR6ICsgJyknLFxuICAgICAgcnNOb25Bc3RyYWwgPSAnW14nICsgcnNBc3RyYWxSYW5nZSArICddJyxcbiAgICAgIHJzUmVnaW9uYWwgPSAnKD86XFxcXHVkODNjW1xcXFx1ZGRlNi1cXFxcdWRkZmZdKXsyfScsXG4gICAgICByc1N1cnJQYWlyID0gJ1tcXFxcdWQ4MDAtXFxcXHVkYmZmXVtcXFxcdWRjMDAtXFxcXHVkZmZmXScsXG4gICAgICByc1VwcGVyID0gJ1snICsgcnNVcHBlclJhbmdlICsgJ10nLFxuICAgICAgcnNaV0ogPSAnXFxcXHUyMDBkJztcblxuICAvKiogVXNlZCB0byBjb21wb3NlIHVuaWNvZGUgcmVnZXhlcy4gKi9cbiAgdmFyIHJzTWlzY0xvd2VyID0gJyg/OicgKyByc0xvd2VyICsgJ3wnICsgcnNNaXNjICsgJyknLFxuICAgICAgcnNNaXNjVXBwZXIgPSAnKD86JyArIHJzVXBwZXIgKyAnfCcgKyByc01pc2MgKyAnKScsXG4gICAgICByc09wdENvbnRyTG93ZXIgPSAnKD86JyArIHJzQXBvcyArICcoPzpkfGxsfG18cmV8c3x0fHZlKSk/JyxcbiAgICAgIHJzT3B0Q29udHJVcHBlciA9ICcoPzonICsgcnNBcG9zICsgJyg/OkR8TEx8TXxSRXxTfFR8VkUpKT8nLFxuICAgICAgcmVPcHRNb2QgPSByc01vZGlmaWVyICsgJz8nLFxuICAgICAgcnNPcHRWYXIgPSAnWycgKyByc1ZhclJhbmdlICsgJ10/JyxcbiAgICAgIHJzT3B0Sm9pbiA9ICcoPzonICsgcnNaV0ogKyAnKD86JyArIFtyc05vbkFzdHJhbCwgcnNSZWdpb25hbCwgcnNTdXJyUGFpcl0uam9pbignfCcpICsgJyknICsgcnNPcHRWYXIgKyByZU9wdE1vZCArICcpKicsXG4gICAgICByc09yZExvd2VyID0gJ1xcXFxkKig/OjFzdHwybmR8M3JkfCg/IVsxMjNdKVxcXFxkdGgpKD89XFxcXGJ8W0EtWl9dKScsXG4gICAgICByc09yZFVwcGVyID0gJ1xcXFxkKig/OjFTVHwyTkR8M1JEfCg/IVsxMjNdKVxcXFxkVEgpKD89XFxcXGJ8W2Etel9dKScsXG4gICAgICByc1NlcSA9IHJzT3B0VmFyICsgcmVPcHRNb2QgKyByc09wdEpvaW4sXG4gICAgICByc0Vtb2ppID0gJyg/OicgKyBbcnNEaW5nYmF0LCByc1JlZ2lvbmFsLCByc1N1cnJQYWlyXS5qb2luKCd8JykgKyAnKScgKyByc1NlcSxcbiAgICAgIHJzU3ltYm9sID0gJyg/OicgKyBbcnNOb25Bc3RyYWwgKyByc0NvbWJvICsgJz8nLCByc0NvbWJvLCByc1JlZ2lvbmFsLCByc1N1cnJQYWlyLCByc0FzdHJhbF0uam9pbignfCcpICsgJyknO1xuXG4gIC8qKiBVc2VkIHRvIG1hdGNoIGFwb3N0cm9waGVzLiAqL1xuICB2YXIgcmVBcG9zID0gUmVnRXhwKHJzQXBvcywgJ2cnKTtcblxuICAvKipcbiAgICogVXNlZCB0byBtYXRjaCBbY29tYmluaW5nIGRpYWNyaXRpY2FsIG1hcmtzXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Db21iaW5pbmdfRGlhY3JpdGljYWxfTWFya3MpIGFuZFxuICAgKiBbY29tYmluaW5nIGRpYWNyaXRpY2FsIG1hcmtzIGZvciBzeW1ib2xzXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Db21iaW5pbmdfRGlhY3JpdGljYWxfTWFya3NfZm9yX1N5bWJvbHMpLlxuICAgKi9cbiAgdmFyIHJlQ29tYm9NYXJrID0gUmVnRXhwKHJzQ29tYm8sICdnJyk7XG5cbiAgLyoqIFVzZWQgdG8gbWF0Y2ggW3N0cmluZyBzeW1ib2xzXShodHRwczovL21hdGhpYXNieW5lbnMuYmUvbm90ZXMvamF2YXNjcmlwdC11bmljb2RlKS4gKi9cbiAgdmFyIHJlVW5pY29kZSA9IFJlZ0V4cChyc0ZpdHogKyAnKD89JyArIHJzRml0eiArICcpfCcgKyByc1N5bWJvbCArIHJzU2VxLCAnZycpO1xuXG4gIC8qKiBVc2VkIHRvIG1hdGNoIGNvbXBsZXggb3IgY29tcG91bmQgd29yZHMuICovXG4gIHZhciByZVVuaWNvZGVXb3JkID0gUmVnRXhwKFtcbiAgICByc1VwcGVyICsgJz8nICsgcnNMb3dlciArICcrJyArIHJzT3B0Q29udHJMb3dlciArICcoPz0nICsgW3JzQnJlYWssIHJzVXBwZXIsICckJ10uam9pbignfCcpICsgJyknLFxuICAgIHJzTWlzY1VwcGVyICsgJysnICsgcnNPcHRDb250clVwcGVyICsgJyg/PScgKyBbcnNCcmVhaywgcnNVcHBlciArIHJzTWlzY0xvd2VyLCAnJCddLmpvaW4oJ3wnKSArICcpJyxcbiAgICByc1VwcGVyICsgJz8nICsgcnNNaXNjTG93ZXIgKyAnKycgKyByc09wdENvbnRyTG93ZXIsXG4gICAgcnNVcHBlciArICcrJyArIHJzT3B0Q29udHJVcHBlcixcbiAgICByc09yZFVwcGVyLFxuICAgIHJzT3JkTG93ZXIsXG4gICAgcnNEaWdpdHMsXG4gICAgcnNFbW9qaVxuICBdLmpvaW4oJ3wnKSwgJ2cnKTtcblxuICAvKiogVXNlZCB0byBkZXRlY3Qgc3RyaW5ncyB3aXRoIFt6ZXJvLXdpZHRoIGpvaW5lcnMgb3IgY29kZSBwb2ludHMgZnJvbSB0aGUgYXN0cmFsIHBsYW5lc10oaHR0cDovL2Vldi5lZS9ibG9nLzIwMTUvMDkvMTIvZGFyay1jb3JuZXJzLW9mLXVuaWNvZGUvKS4gKi9cbiAgdmFyIHJlSGFzVW5pY29kZSA9IFJlZ0V4cCgnWycgKyByc1pXSiArIHJzQXN0cmFsUmFuZ2UgICsgcnNDb21ib1JhbmdlICsgcnNWYXJSYW5nZSArICddJyk7XG5cbiAgLyoqIFVzZWQgdG8gZGV0ZWN0IHN0cmluZ3MgdGhhdCBuZWVkIGEgbW9yZSByb2J1c3QgcmVnZXhwIHRvIG1hdGNoIHdvcmRzLiAqL1xuICB2YXIgcmVIYXNVbmljb2RlV29yZCA9IC9bYS16XVtBLVpdfFtBLVpdezJ9W2Etel18WzAtOV1bYS16QS1aXXxbYS16QS1aXVswLTldfFteYS16QS1aMC05IF0vO1xuXG4gIC8qKiBVc2VkIHRvIGFzc2lnbiBkZWZhdWx0IGBjb250ZXh0YCBvYmplY3QgcHJvcGVydGllcy4gKi9cbiAgdmFyIGNvbnRleHRQcm9wcyA9IFtcbiAgICAnQXJyYXknLCAnQnVmZmVyJywgJ0RhdGFWaWV3JywgJ0RhdGUnLCAnRXJyb3InLCAnRmxvYXQzMkFycmF5JywgJ0Zsb2F0NjRBcnJheScsXG4gICAgJ0Z1bmN0aW9uJywgJ0ludDhBcnJheScsICdJbnQxNkFycmF5JywgJ0ludDMyQXJyYXknLCAnTWFwJywgJ01hdGgnLCAnT2JqZWN0JyxcbiAgICAnUHJvbWlzZScsICdSZWdFeHAnLCAnU2V0JywgJ1N0cmluZycsICdTeW1ib2wnLCAnVHlwZUVycm9yJywgJ1VpbnQ4QXJyYXknLFxuICAgICdVaW50OENsYW1wZWRBcnJheScsICdVaW50MTZBcnJheScsICdVaW50MzJBcnJheScsICdXZWFrTWFwJyxcbiAgICAnXycsICdjbGVhclRpbWVvdXQnLCAnaXNGaW5pdGUnLCAncGFyc2VJbnQnLCAnc2V0VGltZW91dCdcbiAgXTtcblxuICAvKiogVXNlZCB0byBtYWtlIHRlbXBsYXRlIHNvdXJjZVVSTHMgZWFzaWVyIHRvIGlkZW50aWZ5LiAqL1xuICB2YXIgdGVtcGxhdGVDb3VudGVyID0gLTE7XG5cbiAgLyoqIFVzZWQgdG8gaWRlbnRpZnkgYHRvU3RyaW5nVGFnYCB2YWx1ZXMgb2YgdHlwZWQgYXJyYXlzLiAqL1xuICB2YXIgdHlwZWRBcnJheVRhZ3MgPSB7fTtcbiAgdHlwZWRBcnJheVRhZ3NbZmxvYXQzMlRhZ10gPSB0eXBlZEFycmF5VGFnc1tmbG9hdDY0VGFnXSA9XG4gIHR5cGVkQXJyYXlUYWdzW2ludDhUYWddID0gdHlwZWRBcnJheVRhZ3NbaW50MTZUYWddID1cbiAgdHlwZWRBcnJheVRhZ3NbaW50MzJUYWddID0gdHlwZWRBcnJheVRhZ3NbdWludDhUYWddID1cbiAgdHlwZWRBcnJheVRhZ3NbdWludDhDbGFtcGVkVGFnXSA9IHR5cGVkQXJyYXlUYWdzW3VpbnQxNlRhZ10gPVxuICB0eXBlZEFycmF5VGFnc1t1aW50MzJUYWddID0gdHJ1ZTtcbiAgdHlwZWRBcnJheVRhZ3NbYXJnc1RhZ10gPSB0eXBlZEFycmF5VGFnc1thcnJheVRhZ10gPVxuICB0eXBlZEFycmF5VGFnc1thcnJheUJ1ZmZlclRhZ10gPSB0eXBlZEFycmF5VGFnc1tib29sVGFnXSA9XG4gIHR5cGVkQXJyYXlUYWdzW2RhdGFWaWV3VGFnXSA9IHR5cGVkQXJyYXlUYWdzW2RhdGVUYWddID1cbiAgdHlwZWRBcnJheVRhZ3NbZXJyb3JUYWddID0gdHlwZWRBcnJheVRhZ3NbZnVuY1RhZ10gPVxuICB0eXBlZEFycmF5VGFnc1ttYXBUYWddID0gdHlwZWRBcnJheVRhZ3NbbnVtYmVyVGFnXSA9XG4gIHR5cGVkQXJyYXlUYWdzW29iamVjdFRhZ10gPSB0eXBlZEFycmF5VGFnc1tyZWdleHBUYWddID1cbiAgdHlwZWRBcnJheVRhZ3Nbc2V0VGFnXSA9IHR5cGVkQXJyYXlUYWdzW3N0cmluZ1RhZ10gPVxuICB0eXBlZEFycmF5VGFnc1t3ZWFrTWFwVGFnXSA9IGZhbHNlO1xuXG4gIC8qKiBVc2VkIHRvIGlkZW50aWZ5IGB0b1N0cmluZ1RhZ2AgdmFsdWVzIHN1cHBvcnRlZCBieSBgXy5jbG9uZWAuICovXG4gIHZhciBjbG9uZWFibGVUYWdzID0ge307XG4gIGNsb25lYWJsZVRhZ3NbYXJnc1RhZ10gPSBjbG9uZWFibGVUYWdzW2FycmF5VGFnXSA9XG4gIGNsb25lYWJsZVRhZ3NbYXJyYXlCdWZmZXJUYWddID0gY2xvbmVhYmxlVGFnc1tkYXRhVmlld1RhZ10gPVxuICBjbG9uZWFibGVUYWdzW2Jvb2xUYWddID0gY2xvbmVhYmxlVGFnc1tkYXRlVGFnXSA9XG4gIGNsb25lYWJsZVRhZ3NbZmxvYXQzMlRhZ10gPSBjbG9uZWFibGVUYWdzW2Zsb2F0NjRUYWddID1cbiAgY2xvbmVhYmxlVGFnc1tpbnQ4VGFnXSA9IGNsb25lYWJsZVRhZ3NbaW50MTZUYWddID1cbiAgY2xvbmVhYmxlVGFnc1tpbnQzMlRhZ10gPSBjbG9uZWFibGVUYWdzW21hcFRhZ10gPVxuICBjbG9uZWFibGVUYWdzW251bWJlclRhZ10gPSBjbG9uZWFibGVUYWdzW29iamVjdFRhZ10gPVxuICBjbG9uZWFibGVUYWdzW3JlZ2V4cFRhZ10gPSBjbG9uZWFibGVUYWdzW3NldFRhZ10gPVxuICBjbG9uZWFibGVUYWdzW3N0cmluZ1RhZ10gPSBjbG9uZWFibGVUYWdzW3N5bWJvbFRhZ10gPVxuICBjbG9uZWFibGVUYWdzW3VpbnQ4VGFnXSA9IGNsb25lYWJsZVRhZ3NbdWludDhDbGFtcGVkVGFnXSA9XG4gIGNsb25lYWJsZVRhZ3NbdWludDE2VGFnXSA9IGNsb25lYWJsZVRhZ3NbdWludDMyVGFnXSA9IHRydWU7XG4gIGNsb25lYWJsZVRhZ3NbZXJyb3JUYWddID0gY2xvbmVhYmxlVGFnc1tmdW5jVGFnXSA9XG4gIGNsb25lYWJsZVRhZ3Nbd2Vha01hcFRhZ10gPSBmYWxzZTtcblxuICAvKiogVXNlZCB0byBtYXAgTGF0aW4gVW5pY29kZSBsZXR0ZXJzIHRvIGJhc2ljIExhdGluIGxldHRlcnMuICovXG4gIHZhciBkZWJ1cnJlZExldHRlcnMgPSB7XG4gICAgLy8gTGF0aW4tMSBTdXBwbGVtZW50IGJsb2NrLlxuICAgICdcXHhjMCc6ICdBJywgICdcXHhjMSc6ICdBJywgJ1xceGMyJzogJ0EnLCAnXFx4YzMnOiAnQScsICdcXHhjNCc6ICdBJywgJ1xceGM1JzogJ0EnLFxuICAgICdcXHhlMCc6ICdhJywgICdcXHhlMSc6ICdhJywgJ1xceGUyJzogJ2EnLCAnXFx4ZTMnOiAnYScsICdcXHhlNCc6ICdhJywgJ1xceGU1JzogJ2EnLFxuICAgICdcXHhjNyc6ICdDJywgICdcXHhlNyc6ICdjJyxcbiAgICAnXFx4ZDAnOiAnRCcsICAnXFx4ZjAnOiAnZCcsXG4gICAgJ1xceGM4JzogJ0UnLCAgJ1xceGM5JzogJ0UnLCAnXFx4Y2EnOiAnRScsICdcXHhjYic6ICdFJyxcbiAgICAnXFx4ZTgnOiAnZScsICAnXFx4ZTknOiAnZScsICdcXHhlYSc6ICdlJywgJ1xceGViJzogJ2UnLFxuICAgICdcXHhjYyc6ICdJJywgICdcXHhjZCc6ICdJJywgJ1xceGNlJzogJ0knLCAnXFx4Y2YnOiAnSScsXG4gICAgJ1xceGVjJzogJ2knLCAgJ1xceGVkJzogJ2knLCAnXFx4ZWUnOiAnaScsICdcXHhlZic6ICdpJyxcbiAgICAnXFx4ZDEnOiAnTicsICAnXFx4ZjEnOiAnbicsXG4gICAgJ1xceGQyJzogJ08nLCAgJ1xceGQzJzogJ08nLCAnXFx4ZDQnOiAnTycsICdcXHhkNSc6ICdPJywgJ1xceGQ2JzogJ08nLCAnXFx4ZDgnOiAnTycsXG4gICAgJ1xceGYyJzogJ28nLCAgJ1xceGYzJzogJ28nLCAnXFx4ZjQnOiAnbycsICdcXHhmNSc6ICdvJywgJ1xceGY2JzogJ28nLCAnXFx4ZjgnOiAnbycsXG4gICAgJ1xceGQ5JzogJ1UnLCAgJ1xceGRhJzogJ1UnLCAnXFx4ZGInOiAnVScsICdcXHhkYyc6ICdVJyxcbiAgICAnXFx4ZjknOiAndScsICAnXFx4ZmEnOiAndScsICdcXHhmYic6ICd1JywgJ1xceGZjJzogJ3UnLFxuICAgICdcXHhkZCc6ICdZJywgICdcXHhmZCc6ICd5JywgJ1xceGZmJzogJ3knLFxuICAgICdcXHhjNic6ICdBZScsICdcXHhlNic6ICdhZScsXG4gICAgJ1xceGRlJzogJ1RoJywgJ1xceGZlJzogJ3RoJyxcbiAgICAnXFx4ZGYnOiAnc3MnLFxuICAgIC8vIExhdGluIEV4dGVuZGVkLUEgYmxvY2suXG4gICAgJ1xcdTAxMDAnOiAnQScsICAnXFx1MDEwMic6ICdBJywgJ1xcdTAxMDQnOiAnQScsXG4gICAgJ1xcdTAxMDEnOiAnYScsICAnXFx1MDEwMyc6ICdhJywgJ1xcdTAxMDUnOiAnYScsXG4gICAgJ1xcdTAxMDYnOiAnQycsICAnXFx1MDEwOCc6ICdDJywgJ1xcdTAxMGEnOiAnQycsICdcXHUwMTBjJzogJ0MnLFxuICAgICdcXHUwMTA3JzogJ2MnLCAgJ1xcdTAxMDknOiAnYycsICdcXHUwMTBiJzogJ2MnLCAnXFx1MDEwZCc6ICdjJyxcbiAgICAnXFx1MDEwZSc6ICdEJywgICdcXHUwMTEwJzogJ0QnLCAnXFx1MDEwZic6ICdkJywgJ1xcdTAxMTEnOiAnZCcsXG4gICAgJ1xcdTAxMTInOiAnRScsICAnXFx1MDExNCc6ICdFJywgJ1xcdTAxMTYnOiAnRScsICdcXHUwMTE4JzogJ0UnLCAnXFx1MDExYSc6ICdFJyxcbiAgICAnXFx1MDExMyc6ICdlJywgICdcXHUwMTE1JzogJ2UnLCAnXFx1MDExNyc6ICdlJywgJ1xcdTAxMTknOiAnZScsICdcXHUwMTFiJzogJ2UnLFxuICAgICdcXHUwMTFjJzogJ0cnLCAgJ1xcdTAxMWUnOiAnRycsICdcXHUwMTIwJzogJ0cnLCAnXFx1MDEyMic6ICdHJyxcbiAgICAnXFx1MDExZCc6ICdnJywgICdcXHUwMTFmJzogJ2cnLCAnXFx1MDEyMSc6ICdnJywgJ1xcdTAxMjMnOiAnZycsXG4gICAgJ1xcdTAxMjQnOiAnSCcsICAnXFx1MDEyNic6ICdIJywgJ1xcdTAxMjUnOiAnaCcsICdcXHUwMTI3JzogJ2gnLFxuICAgICdcXHUwMTI4JzogJ0knLCAgJ1xcdTAxMmEnOiAnSScsICdcXHUwMTJjJzogJ0knLCAnXFx1MDEyZSc6ICdJJywgJ1xcdTAxMzAnOiAnSScsXG4gICAgJ1xcdTAxMjknOiAnaScsICAnXFx1MDEyYic6ICdpJywgJ1xcdTAxMmQnOiAnaScsICdcXHUwMTJmJzogJ2knLCAnXFx1MDEzMSc6ICdpJyxcbiAgICAnXFx1MDEzNCc6ICdKJywgICdcXHUwMTM1JzogJ2onLFxuICAgICdcXHUwMTM2JzogJ0snLCAgJ1xcdTAxMzcnOiAnaycsICdcXHUwMTM4JzogJ2snLFxuICAgICdcXHUwMTM5JzogJ0wnLCAgJ1xcdTAxM2InOiAnTCcsICdcXHUwMTNkJzogJ0wnLCAnXFx1MDEzZic6ICdMJywgJ1xcdTAxNDEnOiAnTCcsXG4gICAgJ1xcdTAxM2EnOiAnbCcsICAnXFx1MDEzYyc6ICdsJywgJ1xcdTAxM2UnOiAnbCcsICdcXHUwMTQwJzogJ2wnLCAnXFx1MDE0Mic6ICdsJyxcbiAgICAnXFx1MDE0Myc6ICdOJywgICdcXHUwMTQ1JzogJ04nLCAnXFx1MDE0Nyc6ICdOJywgJ1xcdTAxNGEnOiAnTicsXG4gICAgJ1xcdTAxNDQnOiAnbicsICAnXFx1MDE0Nic6ICduJywgJ1xcdTAxNDgnOiAnbicsICdcXHUwMTRiJzogJ24nLFxuICAgICdcXHUwMTRjJzogJ08nLCAgJ1xcdTAxNGUnOiAnTycsICdcXHUwMTUwJzogJ08nLFxuICAgICdcXHUwMTRkJzogJ28nLCAgJ1xcdTAxNGYnOiAnbycsICdcXHUwMTUxJzogJ28nLFxuICAgICdcXHUwMTU0JzogJ1InLCAgJ1xcdTAxNTYnOiAnUicsICdcXHUwMTU4JzogJ1InLFxuICAgICdcXHUwMTU1JzogJ3InLCAgJ1xcdTAxNTcnOiAncicsICdcXHUwMTU5JzogJ3InLFxuICAgICdcXHUwMTVhJzogJ1MnLCAgJ1xcdTAxNWMnOiAnUycsICdcXHUwMTVlJzogJ1MnLCAnXFx1MDE2MCc6ICdTJyxcbiAgICAnXFx1MDE1Yic6ICdzJywgICdcXHUwMTVkJzogJ3MnLCAnXFx1MDE1Zic6ICdzJywgJ1xcdTAxNjEnOiAncycsXG4gICAgJ1xcdTAxNjInOiAnVCcsICAnXFx1MDE2NCc6ICdUJywgJ1xcdTAxNjYnOiAnVCcsXG4gICAgJ1xcdTAxNjMnOiAndCcsICAnXFx1MDE2NSc6ICd0JywgJ1xcdTAxNjcnOiAndCcsXG4gICAgJ1xcdTAxNjgnOiAnVScsICAnXFx1MDE2YSc6ICdVJywgJ1xcdTAxNmMnOiAnVScsICdcXHUwMTZlJzogJ1UnLCAnXFx1MDE3MCc6ICdVJywgJ1xcdTAxNzInOiAnVScsXG4gICAgJ1xcdTAxNjknOiAndScsICAnXFx1MDE2Yic6ICd1JywgJ1xcdTAxNmQnOiAndScsICdcXHUwMTZmJzogJ3UnLCAnXFx1MDE3MSc6ICd1JywgJ1xcdTAxNzMnOiAndScsXG4gICAgJ1xcdTAxNzQnOiAnVycsICAnXFx1MDE3NSc6ICd3JyxcbiAgICAnXFx1MDE3Nic6ICdZJywgICdcXHUwMTc3JzogJ3knLCAnXFx1MDE3OCc6ICdZJyxcbiAgICAnXFx1MDE3OSc6ICdaJywgICdcXHUwMTdiJzogJ1onLCAnXFx1MDE3ZCc6ICdaJyxcbiAgICAnXFx1MDE3YSc6ICd6JywgICdcXHUwMTdjJzogJ3onLCAnXFx1MDE3ZSc6ICd6JyxcbiAgICAnXFx1MDEzMic6ICdJSicsICdcXHUwMTMzJzogJ2lqJyxcbiAgICAnXFx1MDE1Mic6ICdPZScsICdcXHUwMTUzJzogJ29lJyxcbiAgICAnXFx1MDE0OSc6IFwiJ25cIiwgJ1xcdTAxN2YnOiAncydcbiAgfTtcblxuICAvKiogVXNlZCB0byBtYXAgY2hhcmFjdGVycyB0byBIVE1MIGVudGl0aWVzLiAqL1xuICB2YXIgaHRtbEVzY2FwZXMgPSB7XG4gICAgJyYnOiAnJmFtcDsnLFxuICAgICc8JzogJyZsdDsnLFxuICAgICc+JzogJyZndDsnLFxuICAgICdcIic6ICcmcXVvdDsnLFxuICAgIFwiJ1wiOiAnJiMzOTsnXG4gIH07XG5cbiAgLyoqIFVzZWQgdG8gbWFwIEhUTUwgZW50aXRpZXMgdG8gY2hhcmFjdGVycy4gKi9cbiAgdmFyIGh0bWxVbmVzY2FwZXMgPSB7XG4gICAgJyZhbXA7JzogJyYnLFxuICAgICcmbHQ7JzogJzwnLFxuICAgICcmZ3Q7JzogJz4nLFxuICAgICcmcXVvdDsnOiAnXCInLFxuICAgICcmIzM5Oyc6IFwiJ1wiXG4gIH07XG5cbiAgLyoqIFVzZWQgdG8gZXNjYXBlIGNoYXJhY3RlcnMgZm9yIGluY2x1c2lvbiBpbiBjb21waWxlZCBzdHJpbmcgbGl0ZXJhbHMuICovXG4gIHZhciBzdHJpbmdFc2NhcGVzID0ge1xuICAgICdcXFxcJzogJ1xcXFwnLFxuICAgIFwiJ1wiOiBcIidcIixcbiAgICAnXFxuJzogJ24nLFxuICAgICdcXHInOiAncicsXG4gICAgJ1xcdTIwMjgnOiAndTIwMjgnLFxuICAgICdcXHUyMDI5JzogJ3UyMDI5J1xuICB9O1xuXG4gIC8qKiBCdWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcyB3aXRob3V0IGEgZGVwZW5kZW5jeSBvbiBgcm9vdGAuICovXG4gIHZhciBmcmVlUGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQsXG4gICAgICBmcmVlUGFyc2VJbnQgPSBwYXJzZUludDtcblxuICAvKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYGdsb2JhbGAgZnJvbSBOb2RlLmpzLiAqL1xuICB2YXIgZnJlZUdsb2JhbCA9IHR5cGVvZiBnbG9iYWwgPT0gJ29iamVjdCcgJiYgZ2xvYmFsICYmIGdsb2JhbC5PYmplY3QgPT09IE9iamVjdCAmJiBnbG9iYWw7XG5cbiAgLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBzZWxmYC4gKi9cbiAgdmFyIGZyZWVTZWxmID0gdHlwZW9mIHNlbGYgPT0gJ29iamVjdCcgJiYgc2VsZiAmJiBzZWxmLk9iamVjdCA9PT0gT2JqZWN0ICYmIHNlbGY7XG5cbiAgLyoqIFVzZWQgYXMgYSByZWZlcmVuY2UgdG8gdGhlIGdsb2JhbCBvYmplY3QuICovXG4gIHZhciByb290ID0gZnJlZUdsb2JhbCB8fCBmcmVlU2VsZiB8fCBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuXG4gIC8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgZXhwb3J0c2AuICovXG4gIHZhciBmcmVlRXhwb3J0cyA9IHR5cGVvZiBleHBvcnRzID09ICdvYmplY3QnICYmIGV4cG9ydHMgJiYgIWV4cG9ydHMubm9kZVR5cGUgJiYgZXhwb3J0cztcblxuICAvKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYG1vZHVsZWAuICovXG4gIHZhciBmcmVlTW9kdWxlID0gZnJlZUV4cG9ydHMgJiYgdHlwZW9mIG1vZHVsZSA9PSAnb2JqZWN0JyAmJiBtb2R1bGUgJiYgIW1vZHVsZS5ub2RlVHlwZSAmJiBtb2R1bGU7XG5cbiAgLyoqIERldGVjdCB0aGUgcG9wdWxhciBDb21tb25KUyBleHRlbnNpb24gYG1vZHVsZS5leHBvcnRzYC4gKi9cbiAgdmFyIG1vZHVsZUV4cG9ydHMgPSBmcmVlTW9kdWxlICYmIGZyZWVNb2R1bGUuZXhwb3J0cyA9PT0gZnJlZUV4cG9ydHM7XG5cbiAgLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBwcm9jZXNzYCBmcm9tIE5vZGUuanMuICovXG4gIHZhciBmcmVlUHJvY2VzcyA9IG1vZHVsZUV4cG9ydHMgJiYgZnJlZUdsb2JhbC5wcm9jZXNzO1xuXG4gIC8qKiBVc2VkIHRvIGFjY2VzcyBmYXN0ZXIgTm9kZS5qcyBoZWxwZXJzLiAqL1xuICB2YXIgbm9kZVV0aWwgPSAoZnVuY3Rpb24oKSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIFVzZSBgdXRpbC50eXBlc2AgZm9yIE5vZGUuanMgMTArLlxuICAgICAgdmFyIHR5cGVzID0gZnJlZU1vZHVsZSAmJiBmcmVlTW9kdWxlLnJlcXVpcmUgJiYgZnJlZU1vZHVsZS5yZXF1aXJlKCd1dGlsJykudHlwZXM7XG5cbiAgICAgIGlmICh0eXBlcykge1xuICAgICAgICByZXR1cm4gdHlwZXM7XG4gICAgICB9XG5cbiAgICAgIC8vIExlZ2FjeSBgcHJvY2Vzcy5iaW5kaW5nKCd1dGlsJylgIGZvciBOb2RlLmpzIDwgMTAuXG4gICAgICByZXR1cm4gZnJlZVByb2Nlc3MgJiYgZnJlZVByb2Nlc3MuYmluZGluZyAmJiBmcmVlUHJvY2Vzcy5iaW5kaW5nKCd1dGlsJyk7XG4gICAgfSBjYXRjaCAoZSkge31cbiAgfSgpKTtcblxuICAvKiBOb2RlLmpzIGhlbHBlciByZWZlcmVuY2VzLiAqL1xuICB2YXIgbm9kZUlzQXJyYXlCdWZmZXIgPSBub2RlVXRpbCAmJiBub2RlVXRpbC5pc0FycmF5QnVmZmVyLFxuICAgICAgbm9kZUlzRGF0ZSA9IG5vZGVVdGlsICYmIG5vZGVVdGlsLmlzRGF0ZSxcbiAgICAgIG5vZGVJc01hcCA9IG5vZGVVdGlsICYmIG5vZGVVdGlsLmlzTWFwLFxuICAgICAgbm9kZUlzUmVnRXhwID0gbm9kZVV0aWwgJiYgbm9kZVV0aWwuaXNSZWdFeHAsXG4gICAgICBub2RlSXNTZXQgPSBub2RlVXRpbCAmJiBub2RlVXRpbC5pc1NldCxcbiAgICAgIG5vZGVJc1R5cGVkQXJyYXkgPSBub2RlVXRpbCAmJiBub2RlVXRpbC5pc1R5cGVkQXJyYXk7XG5cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgLyoqXG4gICAqIEEgZmFzdGVyIGFsdGVybmF0aXZlIHRvIGBGdW5jdGlvbiNhcHBseWAsIHRoaXMgZnVuY3Rpb24gaW52b2tlcyBgZnVuY2BcbiAgICogd2l0aCB0aGUgYHRoaXNgIGJpbmRpbmcgb2YgYHRoaXNBcmdgIGFuZCB0aGUgYXJndW1lbnRzIG9mIGBhcmdzYC5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gaW52b2tlLlxuICAgKiBAcGFyYW0geyp9IHRoaXNBcmcgVGhlIGB0aGlzYCBiaW5kaW5nIG9mIGBmdW5jYC5cbiAgICogQHBhcmFtIHtBcnJheX0gYXJncyBUaGUgYXJndW1lbnRzIHRvIGludm9rZSBgZnVuY2Agd2l0aC5cbiAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJlc3VsdCBvZiBgZnVuY2AuXG4gICAqL1xuICBmdW5jdGlvbiBhcHBseShmdW5jLCB0aGlzQXJnLCBhcmdzKSB7XG4gICAgc3dpdGNoIChhcmdzLmxlbmd0aCkge1xuICAgICAgY2FzZSAwOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcpO1xuICAgICAgY2FzZSAxOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcsIGFyZ3NbMF0pO1xuICAgICAgY2FzZSAyOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcsIGFyZ3NbMF0sIGFyZ3NbMV0pO1xuICAgICAgY2FzZSAzOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcsIGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0pO1xuICAgIH1cbiAgICByZXR1cm4gZnVuYy5hcHBseSh0aGlzQXJnLCBhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYGJhc2VBZ2dyZWdhdG9yYCBmb3IgYXJyYXlzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBbYXJyYXldIFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IHNldHRlciBUaGUgZnVuY3Rpb24gdG8gc2V0IGBhY2N1bXVsYXRvcmAgdmFsdWVzLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgaXRlcmF0ZWUgdG8gdHJhbnNmb3JtIGtleXMuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBhY2N1bXVsYXRvciBUaGUgaW5pdGlhbCBhZ2dyZWdhdGVkIG9iamVjdC5cbiAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIGBhY2N1bXVsYXRvcmAuXG4gICAqL1xuICBmdW5jdGlvbiBhcnJheUFnZ3JlZ2F0b3IoYXJyYXksIHNldHRlciwgaXRlcmF0ZWUsIGFjY3VtdWxhdG9yKSB7XG4gICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XTtcbiAgICAgIHNldHRlcihhY2N1bXVsYXRvciwgdmFsdWUsIGl0ZXJhdGVlKHZhbHVlKSwgYXJyYXkpO1xuICAgIH1cbiAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gIH1cblxuICAvKipcbiAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLmZvckVhY2hgIGZvciBhcnJheXMgd2l0aG91dCBzdXBwb3J0IGZvclxuICAgKiBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBbYXJyYXldIFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlFYWNoKGFycmF5LCBpdGVyYXRlZSkge1xuICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcblxuICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICBpZiAoaXRlcmF0ZWUoYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpID09PSBmYWxzZSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGFycmF5O1xuICB9XG5cbiAgLyoqXG4gICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5mb3JFYWNoUmlnaHRgIGZvciBhcnJheXMgd2l0aG91dCBzdXBwb3J0IGZvclxuICAgKiBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBbYXJyYXldIFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlFYWNoUmlnaHQoYXJyYXksIGl0ZXJhdGVlKSB7XG4gICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuXG4gICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICBpZiAoaXRlcmF0ZWUoYXJyYXlbbGVuZ3RoXSwgbGVuZ3RoLCBhcnJheSkgPT09IGZhbHNlKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYXJyYXk7XG4gIH1cblxuICAvKipcbiAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLmV2ZXJ5YCBmb3IgYXJyYXlzIHdpdGhvdXQgc3VwcG9ydCBmb3JcbiAgICogaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gW2FycmF5XSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBwcmVkaWNhdGUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGFsbCBlbGVtZW50cyBwYXNzIHRoZSBwcmVkaWNhdGUgY2hlY2ssXG4gICAqICBlbHNlIGBmYWxzZWAuXG4gICAqL1xuICBmdW5jdGlvbiBhcnJheUV2ZXJ5KGFycmF5LCBwcmVkaWNhdGUpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgaWYgKCFwcmVkaWNhdGUoYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLmZpbHRlcmAgZm9yIGFycmF5cyB3aXRob3V0IHN1cHBvcnQgZm9yXG4gICAqIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IFthcnJheV0gVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gcHJlZGljYXRlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGZpbHRlcmVkIGFycmF5LlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlGaWx0ZXIoYXJyYXksIHByZWRpY2F0ZSkge1xuICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aCxcbiAgICAgICAgcmVzSW5kZXggPSAwLFxuICAgICAgICByZXN1bHQgPSBbXTtcblxuICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF07XG4gICAgICBpZiAocHJlZGljYXRlKHZhbHVlLCBpbmRleCwgYXJyYXkpKSB7XG4gICAgICAgIHJlc3VsdFtyZXNJbmRleCsrXSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5pbmNsdWRlc2AgZm9yIGFycmF5cyB3aXRob3V0IHN1cHBvcnQgZm9yXG4gICAqIHNwZWNpZnlpbmcgYW4gaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IFthcnJheV0gVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAqIEBwYXJhbSB7Kn0gdGFyZ2V0IFRoZSB2YWx1ZSB0byBzZWFyY2ggZm9yLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHRhcmdldGAgaXMgZm91bmQsIGVsc2UgYGZhbHNlYC5cbiAgICovXG4gIGZ1bmN0aW9uIGFycmF5SW5jbHVkZXMoYXJyYXksIHZhbHVlKSB7XG4gICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgIHJldHVybiAhIWxlbmd0aCAmJiBiYXNlSW5kZXhPZihhcnJheSwgdmFsdWUsIDApID4gLTE7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiBpcyBsaWtlIGBhcnJheUluY2x1ZGVzYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGEgY29tcGFyYXRvci5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gW2FycmF5XSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICogQHBhcmFtIHsqfSB0YXJnZXQgVGhlIHZhbHVlIHRvIHNlYXJjaCBmb3IuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGNvbXBhcmF0b3IgVGhlIGNvbXBhcmF0b3IgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB0YXJnZXRgIGlzIGZvdW5kLCBlbHNlIGBmYWxzZWAuXG4gICAqL1xuICBmdW5jdGlvbiBhcnJheUluY2x1ZGVzV2l0aChhcnJheSwgdmFsdWUsIGNvbXBhcmF0b3IpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgaWYgKGNvbXBhcmF0b3IodmFsdWUsIGFycmF5W2luZGV4XSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYF8ubWFwYCBmb3IgYXJyYXlzIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWVcbiAgICogc2hvcnRoYW5kcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gW2FycmF5XSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBtYXBwZWQgYXJyYXkuXG4gICAqL1xuICBmdW5jdGlvbiBhcnJheU1hcChhcnJheSwgaXRlcmF0ZWUpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGgsXG4gICAgICAgIHJlc3VsdCA9IEFycmF5KGxlbmd0aCk7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgcmVzdWx0W2luZGV4XSA9IGl0ZXJhdGVlKGFycmF5W2luZGV4XSwgaW5kZXgsIGFycmF5KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBlbmRzIHRoZSBlbGVtZW50cyBvZiBgdmFsdWVzYCB0byBgYXJyYXlgLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gbW9kaWZ5LlxuICAgKiBAcGFyYW0ge0FycmF5fSB2YWx1ZXMgVGhlIHZhbHVlcyB0byBhcHBlbmQuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlQdXNoKGFycmF5LCB2YWx1ZXMpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gdmFsdWVzLmxlbmd0aCxcbiAgICAgICAgb2Zmc2V0ID0gYXJyYXkubGVuZ3RoO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIGFycmF5W29mZnNldCArIGluZGV4XSA9IHZhbHVlc1tpbmRleF07XG4gICAgfVxuICAgIHJldHVybiBhcnJheTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYF8ucmVkdWNlYCBmb3IgYXJyYXlzIHdpdGhvdXQgc3VwcG9ydCBmb3JcbiAgICogaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gW2FycmF5XSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgKiBAcGFyYW0geyp9IFthY2N1bXVsYXRvcl0gVGhlIGluaXRpYWwgdmFsdWUuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2luaXRBY2N1bV0gU3BlY2lmeSB1c2luZyB0aGUgZmlyc3QgZWxlbWVudCBvZiBgYXJyYXlgIGFzXG4gICAqICB0aGUgaW5pdGlhbCB2YWx1ZS5cbiAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGFjY3VtdWxhdGVkIHZhbHVlLlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlSZWR1Y2UoYXJyYXksIGl0ZXJhdGVlLCBhY2N1bXVsYXRvciwgaW5pdEFjY3VtKSB7XG4gICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuXG4gICAgaWYgKGluaXRBY2N1bSAmJiBsZW5ndGgpIHtcbiAgICAgIGFjY3VtdWxhdG9yID0gYXJyYXlbKytpbmRleF07XG4gICAgfVxuICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICBhY2N1bXVsYXRvciA9IGl0ZXJhdGVlKGFjY3VtdWxhdG9yLCBhcnJheVtpbmRleF0sIGluZGV4LCBhcnJheSk7XG4gICAgfVxuICAgIHJldHVybiBhY2N1bXVsYXRvcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYF8ucmVkdWNlUmlnaHRgIGZvciBhcnJheXMgd2l0aG91dCBzdXBwb3J0IGZvclxuICAgKiBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBbYXJyYXldIFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEBwYXJhbSB7Kn0gW2FjY3VtdWxhdG9yXSBUaGUgaW5pdGlhbCB2YWx1ZS5cbiAgICogQHBhcmFtIHtib29sZWFufSBbaW5pdEFjY3VtXSBTcGVjaWZ5IHVzaW5nIHRoZSBsYXN0IGVsZW1lbnQgb2YgYGFycmF5YCBhc1xuICAgKiAgdGhlIGluaXRpYWwgdmFsdWUuXG4gICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBhY2N1bXVsYXRlZCB2YWx1ZS5cbiAgICovXG4gIGZ1bmN0aW9uIGFycmF5UmVkdWNlUmlnaHQoYXJyYXksIGl0ZXJhdGVlLCBhY2N1bXVsYXRvciwgaW5pdEFjY3VtKSB7XG4gICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgIGlmIChpbml0QWNjdW0gJiYgbGVuZ3RoKSB7XG4gICAgICBhY2N1bXVsYXRvciA9IGFycmF5Wy0tbGVuZ3RoXTtcbiAgICB9XG4gICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICBhY2N1bXVsYXRvciA9IGl0ZXJhdGVlKGFjY3VtdWxhdG9yLCBhcnJheVtsZW5ndGhdLCBsZW5ndGgsIGFycmF5KTtcbiAgICB9XG4gICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5zb21lYCBmb3IgYXJyYXlzIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWVcbiAgICogc2hvcnRoYW5kcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gW2FycmF5XSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBwcmVkaWNhdGUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGFueSBlbGVtZW50IHBhc3NlcyB0aGUgcHJlZGljYXRlIGNoZWNrLFxuICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlTb21lKGFycmF5LCBwcmVkaWNhdGUpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgaWYgKHByZWRpY2F0ZShhcnJheVtpbmRleF0sIGluZGV4LCBhcnJheSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBzaXplIG9mIGFuIEFTQ0lJIGBzdHJpbmdgLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5nIFRoZSBzdHJpbmcgaW5zcGVjdC5cbiAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgc3RyaW5nIHNpemUuXG4gICAqL1xuICB2YXIgYXNjaWlTaXplID0gYmFzZVByb3BlcnR5KCdsZW5ndGgnKTtcblxuICAvKipcbiAgICogQ29udmVydHMgYW4gQVNDSUkgYHN0cmluZ2AgdG8gYW4gYXJyYXkuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmcgVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGNvbnZlcnRlZCBhcnJheS5cbiAgICovXG4gIGZ1bmN0aW9uIGFzY2lpVG9BcnJheShzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyaW5nLnNwbGl0KCcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGxpdHMgYW4gQVNDSUkgYHN0cmluZ2AgaW50byBhbiBhcnJheSBvZiBpdHMgd29yZHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBUaGUgc3RyaW5nIHRvIGluc3BlY3QuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgd29yZHMgb2YgYHN0cmluZ2AuXG4gICAqL1xuICBmdW5jdGlvbiBhc2NpaVdvcmRzKHN0cmluZykge1xuICAgIHJldHVybiBzdHJpbmcubWF0Y2gocmVBc2NpaVdvcmQpIHx8IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIG1ldGhvZHMgbGlrZSBgXy5maW5kS2V5YCBhbmQgYF8uZmluZExhc3RLZXlgLFxuICAgKiB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMsIHdoaWNoIGl0ZXJhdGVzIG92ZXIgYGNvbGxlY3Rpb25gXG4gICAqIHVzaW5nIGBlYWNoRnVuY2AuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGluc3BlY3QuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IHByZWRpY2F0ZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBlYWNoRnVuYyBUaGUgZnVuY3Rpb24gdG8gaXRlcmF0ZSBvdmVyIGBjb2xsZWN0aW9uYC5cbiAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGZvdW5kIGVsZW1lbnQgb3IgaXRzIGtleSwgZWxzZSBgdW5kZWZpbmVkYC5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VGaW5kS2V5KGNvbGxlY3Rpb24sIHByZWRpY2F0ZSwgZWFjaEZ1bmMpIHtcbiAgICB2YXIgcmVzdWx0O1xuICAgIGVhY2hGdW5jKGNvbGxlY3Rpb24sIGZ1bmN0aW9uKHZhbHVlLCBrZXksIGNvbGxlY3Rpb24pIHtcbiAgICAgIGlmIChwcmVkaWNhdGUodmFsdWUsIGtleSwgY29sbGVjdGlvbikpIHtcbiAgICAgICAgcmVzdWx0ID0ga2V5O1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5maW5kSW5kZXhgIGFuZCBgXy5maW5kTGFzdEluZGV4YCB3aXRob3V0XG4gICAqIHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBwcmVkaWNhdGUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGZyb21JbmRleCBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2Zyb21SaWdodF0gU3BlY2lmeSBpdGVyYXRpbmcgZnJvbSByaWdodCB0byBsZWZ0LlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgbWF0Y2hlZCB2YWx1ZSwgZWxzZSBgLTFgLlxuICAgKi9cbiAgZnVuY3Rpb24gYmFzZUZpbmRJbmRleChhcnJheSwgcHJlZGljYXRlLCBmcm9tSW5kZXgsIGZyb21SaWdodCkge1xuICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGgsXG4gICAgICAgIGluZGV4ID0gZnJvbUluZGV4ICsgKGZyb21SaWdodCA/IDEgOiAtMSk7XG5cbiAgICB3aGlsZSAoKGZyb21SaWdodCA/IGluZGV4LS0gOiArK2luZGV4IDwgbGVuZ3RoKSkge1xuICAgICAgaWYgKHByZWRpY2F0ZShhcnJheVtpbmRleF0sIGluZGV4LCBhcnJheSkpIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaW5kZXhPZmAgd2l0aG91dCBgZnJvbUluZGV4YCBib3VuZHMgY2hlY2tzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvci5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGZyb21JbmRleCBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBtYXRjaGVkIHZhbHVlLCBlbHNlIGAtMWAuXG4gICAqL1xuICBmdW5jdGlvbiBiYXNlSW5kZXhPZihhcnJheSwgdmFsdWUsIGZyb21JbmRleCkge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gdmFsdWVcbiAgICAgID8gc3RyaWN0SW5kZXhPZihhcnJheSwgdmFsdWUsIGZyb21JbmRleClcbiAgICAgIDogYmFzZUZpbmRJbmRleChhcnJheSwgYmFzZUlzTmFOLCBmcm9tSW5kZXgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgZnVuY3Rpb24gaXMgbGlrZSBgYmFzZUluZGV4T2ZgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYSBjb21wYXJhdG9yLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvci5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGZyb21JbmRleCBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGNvbXBhcmF0b3IgVGhlIGNvbXBhcmF0b3IgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIG1hdGNoZWQgdmFsdWUsIGVsc2UgYC0xYC5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VJbmRleE9mV2l0aChhcnJheSwgdmFsdWUsIGZyb21JbmRleCwgY29tcGFyYXRvcikge1xuICAgIHZhciBpbmRleCA9IGZyb21JbmRleCAtIDEsXG4gICAgICAgIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICBpZiAoY29tcGFyYXRvcihhcnJheVtpbmRleF0sIHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc05hTmAgd2l0aG91dCBzdXBwb3J0IGZvciBudW1iZXIgb2JqZWN0cy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGBOYU5gLCBlbHNlIGBmYWxzZWAuXG4gICAqL1xuICBmdW5jdGlvbiBiYXNlSXNOYU4odmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgIT09IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLm1lYW5gIGFuZCBgXy5tZWFuQnlgIHdpdGhvdXQgc3VwcG9ydCBmb3JcbiAgICogaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgbWVhbi5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VNZWFuKGFycmF5LCBpdGVyYXRlZSkge1xuICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICByZXR1cm4gbGVuZ3RoID8gKGJhc2VTdW0oYXJyYXksIGl0ZXJhdGVlKSAvIGxlbmd0aCkgOiBOQU47XG4gIH1cblxuICAvKipcbiAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ucHJvcGVydHlgIHdpdGhvdXQgc3VwcG9ydCBmb3IgZGVlcCBwYXRocy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGFjY2Vzc29yIGZ1bmN0aW9uLlxuICAgKi9cbiAgZnVuY3Rpb24gYmFzZVByb3BlcnR5KGtleSkge1xuICAgIHJldHVybiBmdW5jdGlvbihvYmplY3QpIHtcbiAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IG9iamVjdFtrZXldO1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ucHJvcGVydHlPZmAgd2l0aG91dCBzdXBwb3J0IGZvciBkZWVwIHBhdGhzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGFjY2Vzc29yIGZ1bmN0aW9uLlxuICAgKi9cbiAgZnVuY3Rpb24gYmFzZVByb3BlcnR5T2Yob2JqZWN0KSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKGtleSkge1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gdW5kZWZpbmVkIDogb2JqZWN0W2tleV07XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5yZWR1Y2VgIGFuZCBgXy5yZWR1Y2VSaWdodGAsIHdpdGhvdXQgc3VwcG9ydFxuICAgKiBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcywgd2hpY2ggaXRlcmF0ZXMgb3ZlciBgY29sbGVjdGlvbmAgdXNpbmcgYGVhY2hGdW5jYC5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgKiBAcGFyYW0geyp9IGFjY3VtdWxhdG9yIFRoZSBpbml0aWFsIHZhbHVlLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGluaXRBY2N1bSBTcGVjaWZ5IHVzaW5nIHRoZSBmaXJzdCBvciBsYXN0IGVsZW1lbnQgb2ZcbiAgICogIGBjb2xsZWN0aW9uYCBhcyB0aGUgaW5pdGlhbCB2YWx1ZS5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gZWFjaEZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGl0ZXJhdGUgb3ZlciBgY29sbGVjdGlvbmAuXG4gICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBhY2N1bXVsYXRlZCB2YWx1ZS5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VSZWR1Y2UoY29sbGVjdGlvbiwgaXRlcmF0ZWUsIGFjY3VtdWxhdG9yLCBpbml0QWNjdW0sIGVhY2hGdW5jKSB7XG4gICAgZWFjaEZ1bmMoY29sbGVjdGlvbiwgZnVuY3Rpb24odmFsdWUsIGluZGV4LCBjb2xsZWN0aW9uKSB7XG4gICAgICBhY2N1bXVsYXRvciA9IGluaXRBY2N1bVxuICAgICAgICA/IChpbml0QWNjdW0gPSBmYWxzZSwgdmFsdWUpXG4gICAgICAgIDogaXRlcmF0ZWUoYWNjdW11bGF0b3IsIHZhbHVlLCBpbmRleCwgY29sbGVjdGlvbik7XG4gICAgfSk7XG4gICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnNvcnRCeWAgd2hpY2ggdXNlcyBgY29tcGFyZXJgIHRvIGRlZmluZSB0aGVcbiAgICogc29ydCBvcmRlciBvZiBgYXJyYXlgIGFuZCByZXBsYWNlcyBjcml0ZXJpYSBvYmplY3RzIHdpdGggdGhlaXIgY29ycmVzcG9uZGluZ1xuICAgKiB2YWx1ZXMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBzb3J0LlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBjb21wYXJlciBUaGUgZnVuY3Rpb24gdG8gZGVmaW5lIHNvcnQgb3JkZXIuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgKi9cbiAgZnVuY3Rpb24gYmFzZVNvcnRCeShhcnJheSwgY29tcGFyZXIpIHtcbiAgICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gICAgYXJyYXkuc29ydChjb21wYXJlcik7XG4gICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICBhcnJheVtsZW5ndGhdID0gYXJyYXlbbGVuZ3RoXS52YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGFycmF5O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnN1bWAgYW5kIGBfLnN1bUJ5YCB3aXRob3V0IHN1cHBvcnQgZm9yXG4gICAqIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHN1bS5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VTdW0oYXJyYXksIGl0ZXJhdGVlKSB7XG4gICAgdmFyIHJlc3VsdCxcbiAgICAgICAgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIHZhciBjdXJyZW50ID0gaXRlcmF0ZWUoYXJyYXlbaW5kZXhdKTtcbiAgICAgIGlmIChjdXJyZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0ID09PSB1bmRlZmluZWQgPyBjdXJyZW50IDogKHJlc3VsdCArIGN1cnJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnRpbWVzYCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHNcbiAgICogb3IgbWF4IGFycmF5IGxlbmd0aCBjaGVja3MuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBuIFRoZSBudW1iZXIgb2YgdGltZXMgdG8gaW52b2tlIGBpdGVyYXRlZWAuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcmVzdWx0cy5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VUaW1lcyhuLCBpdGVyYXRlZSkge1xuICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICByZXN1bHQgPSBBcnJheShuKTtcblxuICAgIHdoaWxlICgrK2luZGV4IDwgbikge1xuICAgICAgcmVzdWx0W2luZGV4XSA9IGl0ZXJhdGVlKGluZGV4KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy50b1BhaXJzYCBhbmQgYF8udG9QYWlyc0luYCB3aGljaCBjcmVhdGVzIGFuIGFycmF5XG4gICAqIG9mIGtleS12YWx1ZSBwYWlycyBmb3IgYG9iamVjdGAgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvcGVydHkgbmFtZXMgb2YgYHByb3BzYC5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgKiBAcGFyYW0ge0FycmF5fSBwcm9wcyBUaGUgcHJvcGVydHkgbmFtZXMgdG8gZ2V0IHZhbHVlcyBmb3IuXG4gICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGtleS12YWx1ZSBwYWlycy5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VUb1BhaXJzKG9iamVjdCwgcHJvcHMpIHtcbiAgICByZXR1cm4gYXJyYXlNYXAocHJvcHMsIGZ1bmN0aW9uKGtleSkge1xuICAgICAgcmV0dXJuIFtrZXksIG9iamVjdFtrZXldXTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy51bmFyeWAgd2l0aG91dCBzdXBwb3J0IGZvciBzdG9yaW5nIG1ldGFkYXRhLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjYXAgYXJndW1lbnRzIGZvci5cbiAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY2FwcGVkIGZ1bmN0aW9uLlxuICAgKi9cbiAgZnVuY3Rpb24gYmFzZVVuYXJ5KGZ1bmMpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgIHJldHVybiBmdW5jKHZhbHVlKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnZhbHVlc2AgYW5kIGBfLnZhbHVlc0luYCB3aGljaCBjcmVhdGVzIGFuXG4gICAqIGFycmF5IG9mIGBvYmplY3RgIHByb3BlcnR5IHZhbHVlcyBjb3JyZXNwb25kaW5nIHRvIHRoZSBwcm9wZXJ0eSBuYW1lc1xuICAgKiBvZiBgcHJvcHNgLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAqIEBwYXJhbSB7QXJyYXl9IHByb3BzIFRoZSBwcm9wZXJ0eSBuYW1lcyB0byBnZXQgdmFsdWVzIGZvci5cbiAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgdmFsdWVzLlxuICAgKi9cbiAgZnVuY3Rpb24gYmFzZVZhbHVlcyhvYmplY3QsIHByb3BzKSB7XG4gICAgcmV0dXJuIGFycmF5TWFwKHByb3BzLCBmdW5jdGlvbihrZXkpIHtcbiAgICAgIHJldHVybiBvYmplY3Rba2V5XTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYSBgY2FjaGVgIHZhbHVlIGZvciBga2V5YCBleGlzdHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBjYWNoZSBUaGUgY2FjaGUgdG8gcXVlcnkuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgZW50cnkgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhbiBlbnRyeSBmb3IgYGtleWAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gICAqL1xuICBmdW5jdGlvbiBjYWNoZUhhcyhjYWNoZSwga2V5KSB7XG4gICAgcmV0dXJuIGNhY2hlLmhhcyhrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgYnkgYF8udHJpbWAgYW5kIGBfLnRyaW1TdGFydGAgdG8gZ2V0IHRoZSBpbmRleCBvZiB0aGUgZmlyc3Qgc3RyaW5nIHN5bWJvbFxuICAgKiB0aGF0IGlzIG5vdCBmb3VuZCBpbiB0aGUgY2hhcmFjdGVyIHN5bWJvbHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IHN0clN5bWJvbHMgVGhlIHN0cmluZyBzeW1ib2xzIHRvIGluc3BlY3QuXG4gICAqIEBwYXJhbSB7QXJyYXl9IGNoclN5bWJvbHMgVGhlIGNoYXJhY3RlciBzeW1ib2xzIHRvIGZpbmQuXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBmaXJzdCB1bm1hdGNoZWQgc3RyaW5nIHN5bWJvbC5cbiAgICovXG4gIGZ1bmN0aW9uIGNoYXJzU3RhcnRJbmRleChzdHJTeW1ib2xzLCBjaHJTeW1ib2xzKSB7XG4gICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IHN0clN5bWJvbHMubGVuZ3RoO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGggJiYgYmFzZUluZGV4T2YoY2hyU3ltYm9scywgc3RyU3ltYm9sc1tpbmRleF0sIDApID4gLTEpIHt9XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgYnkgYF8udHJpbWAgYW5kIGBfLnRyaW1FbmRgIHRvIGdldCB0aGUgaW5kZXggb2YgdGhlIGxhc3Qgc3RyaW5nIHN5bWJvbFxuICAgKiB0aGF0IGlzIG5vdCBmb3VuZCBpbiB0aGUgY2hhcmFjdGVyIHN5bWJvbHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IHN0clN5bWJvbHMgVGhlIHN0cmluZyBzeW1ib2xzIHRvIGluc3BlY3QuXG4gICAqIEBwYXJhbSB7QXJyYXl9IGNoclN5bWJvbHMgVGhlIGNoYXJhY3RlciBzeW1ib2xzIHRvIGZpbmQuXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBsYXN0IHVubWF0Y2hlZCBzdHJpbmcgc3ltYm9sLlxuICAgKi9cbiAgZnVuY3Rpb24gY2hhcnNFbmRJbmRleChzdHJTeW1ib2xzLCBjaHJTeW1ib2xzKSB7XG4gICAgdmFyIGluZGV4ID0gc3RyU3ltYm9scy5sZW5ndGg7XG5cbiAgICB3aGlsZSAoaW5kZXgtLSAmJiBiYXNlSW5kZXhPZihjaHJTeW1ib2xzLCBzdHJTeW1ib2xzW2luZGV4XSwgMCkgPiAtMSkge31cbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgbnVtYmVyIG9mIGBwbGFjZWhvbGRlcmAgb2NjdXJyZW5jZXMgaW4gYGFycmF5YC5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAqIEBwYXJhbSB7Kn0gcGxhY2Vob2xkZXIgVGhlIHBsYWNlaG9sZGVyIHRvIHNlYXJjaCBmb3IuXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHBsYWNlaG9sZGVyIGNvdW50LlxuICAgKi9cbiAgZnVuY3Rpb24gY291bnRIb2xkZXJzKGFycmF5LCBwbGFjZWhvbGRlcikge1xuICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGgsXG4gICAgICAgIHJlc3VsdCA9IDA7XG5cbiAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgIGlmIChhcnJheVtsZW5ndGhdID09PSBwbGFjZWhvbGRlcikge1xuICAgICAgICArK3Jlc3VsdDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VkIGJ5IGBfLmRlYnVycmAgdG8gY29udmVydCBMYXRpbi0xIFN1cHBsZW1lbnQgYW5kIExhdGluIEV4dGVuZGVkLUFcbiAgICogbGV0dGVycyB0byBiYXNpYyBMYXRpbiBsZXR0ZXJzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gbGV0dGVyIFRoZSBtYXRjaGVkIGxldHRlciB0byBkZWJ1cnIuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGRlYnVycmVkIGxldHRlci5cbiAgICovXG4gIHZhciBkZWJ1cnJMZXR0ZXIgPSBiYXNlUHJvcGVydHlPZihkZWJ1cnJlZExldHRlcnMpO1xuXG4gIC8qKlxuICAgKiBVc2VkIGJ5IGBfLmVzY2FwZWAgdG8gY29udmVydCBjaGFyYWN0ZXJzIHRvIEhUTUwgZW50aXRpZXMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjaHIgVGhlIG1hdGNoZWQgY2hhcmFjdGVyIHRvIGVzY2FwZS5cbiAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgZXNjYXBlZCBjaGFyYWN0ZXIuXG4gICAqL1xuICB2YXIgZXNjYXBlSHRtbENoYXIgPSBiYXNlUHJvcGVydHlPZihodG1sRXNjYXBlcyk7XG5cbiAgLyoqXG4gICAqIFVzZWQgYnkgYF8udGVtcGxhdGVgIHRvIGVzY2FwZSBjaGFyYWN0ZXJzIGZvciBpbmNsdXNpb24gaW4gY29tcGlsZWQgc3RyaW5nIGxpdGVyYWxzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2hyIFRoZSBtYXRjaGVkIGNoYXJhY3RlciB0byBlc2NhcGUuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGVzY2FwZWQgY2hhcmFjdGVyLlxuICAgKi9cbiAgZnVuY3Rpb24gZXNjYXBlU3RyaW5nQ2hhcihjaHIpIHtcbiAgICByZXR1cm4gJ1xcXFwnICsgc3RyaW5nRXNjYXBlc1tjaHJdO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHZhbHVlIGF0IGBrZXlgIG9mIGBvYmplY3RgLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge09iamVjdH0gW29iamVjdF0gVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBwcm9wZXJ0eSB2YWx1ZS5cbiAgICovXG4gIGZ1bmN0aW9uIGdldFZhbHVlKG9iamVjdCwga2V5KSB7XG4gICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gdW5kZWZpbmVkIDogb2JqZWN0W2tleV07XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIGBzdHJpbmdgIGNvbnRhaW5zIFVuaWNvZGUgc3ltYm9scy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZyBUaGUgc3RyaW5nIHRvIGluc3BlY3QuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhIHN5bWJvbCBpcyBmb3VuZCwgZWxzZSBgZmFsc2VgLlxuICAgKi9cbiAgZnVuY3Rpb24gaGFzVW5pY29kZShzdHJpbmcpIHtcbiAgICByZXR1cm4gcmVIYXNVbmljb2RlLnRlc3Qoc3RyaW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYHN0cmluZ2AgY29udGFpbnMgYSB3b3JkIGNvbXBvc2VkIG9mIFVuaWNvZGUgc3ltYm9scy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZyBUaGUgc3RyaW5nIHRvIGluc3BlY3QuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhIHdvcmQgaXMgZm91bmQsIGVsc2UgYGZhbHNlYC5cbiAgICovXG4gIGZ1bmN0aW9uIGhhc1VuaWNvZGVXb3JkKHN0cmluZykge1xuICAgIHJldHVybiByZUhhc1VuaWNvZGVXb3JkLnRlc3Qoc3RyaW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBgaXRlcmF0b3JgIHRvIGFuIGFycmF5LlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge09iamVjdH0gaXRlcmF0b3IgVGhlIGl0ZXJhdG9yIHRvIGNvbnZlcnQuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgY29udmVydGVkIGFycmF5LlxuICAgKi9cbiAgZnVuY3Rpb24gaXRlcmF0b3JUb0FycmF5KGl0ZXJhdG9yKSB7XG4gICAgdmFyIGRhdGEsXG4gICAgICAgIHJlc3VsdCA9IFtdO1xuXG4gICAgd2hpbGUgKCEoZGF0YSA9IGl0ZXJhdG9yLm5leHQoKSkuZG9uZSkge1xuICAgICAgcmVzdWx0LnB1c2goZGF0YS52YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYG1hcGAgdG8gaXRzIGtleS12YWx1ZSBwYWlycy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtPYmplY3R9IG1hcCBUaGUgbWFwIHRvIGNvbnZlcnQuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUga2V5LXZhbHVlIHBhaXJzLlxuICAgKi9cbiAgZnVuY3Rpb24gbWFwVG9BcnJheShtYXApIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgcmVzdWx0ID0gQXJyYXkobWFwLnNpemUpO1xuXG4gICAgbWFwLmZvckVhY2goZnVuY3Rpb24odmFsdWUsIGtleSkge1xuICAgICAgcmVzdWx0WysraW5kZXhdID0gW2tleSwgdmFsdWVdO1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHVuYXJ5IGZ1bmN0aW9uIHRoYXQgaW52b2tlcyBgZnVuY2Agd2l0aCBpdHMgYXJndW1lbnQgdHJhbnNmb3JtZWQuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHdyYXAuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IHRyYW5zZm9ybSBUaGUgYXJndW1lbnQgdHJhbnNmb3JtLlxuICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICovXG4gIGZ1bmN0aW9uIG92ZXJBcmcoZnVuYywgdHJhbnNmb3JtKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKGFyZykge1xuICAgICAgcmV0dXJuIGZ1bmModHJhbnNmb3JtKGFyZykpO1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmVwbGFjZXMgYWxsIGBwbGFjZWhvbGRlcmAgZWxlbWVudHMgaW4gYGFycmF5YCB3aXRoIGFuIGludGVybmFsIHBsYWNlaG9sZGVyXG4gICAqIGFuZCByZXR1cm5zIGFuIGFycmF5IG9mIHRoZWlyIGluZGV4ZXMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBtb2RpZnkuXG4gICAqIEBwYXJhbSB7Kn0gcGxhY2Vob2xkZXIgVGhlIHBsYWNlaG9sZGVyIHRvIHJlcGxhY2UuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIHBsYWNlaG9sZGVyIGluZGV4ZXMuXG4gICAqL1xuICBmdW5jdGlvbiByZXBsYWNlSG9sZGVycyhhcnJheSwgcGxhY2Vob2xkZXIpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gYXJyYXkubGVuZ3RoLFxuICAgICAgICByZXNJbmRleCA9IDAsXG4gICAgICAgIHJlc3VsdCA9IFtdO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XTtcbiAgICAgIGlmICh2YWx1ZSA9PT0gcGxhY2Vob2xkZXIgfHwgdmFsdWUgPT09IFBMQUNFSE9MREVSKSB7XG4gICAgICAgIGFycmF5W2luZGV4XSA9IFBMQUNFSE9MREVSO1xuICAgICAgICByZXN1bHRbcmVzSW5kZXgrK10gPSBpbmRleDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBgc2V0YCB0byBhbiBhcnJheSBvZiBpdHMgdmFsdWVzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge09iamVjdH0gc2V0IFRoZSBzZXQgdG8gY29udmVydC5cbiAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSB2YWx1ZXMuXG4gICAqL1xuICBmdW5jdGlvbiBzZXRUb0FycmF5KHNldCkge1xuICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICByZXN1bHQgPSBBcnJheShzZXQuc2l6ZSk7XG5cbiAgICBzZXQuZm9yRWFjaChmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgcmVzdWx0WysraW5kZXhdID0gdmFsdWU7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBgc2V0YCB0byBpdHMgdmFsdWUtdmFsdWUgcGFpcnMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBzZXQgVGhlIHNldCB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHZhbHVlLXZhbHVlIHBhaXJzLlxuICAgKi9cbiAgZnVuY3Rpb24gc2V0VG9QYWlycyhzZXQpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgcmVzdWx0ID0gQXJyYXkoc2V0LnNpemUpO1xuXG4gICAgc2V0LmZvckVhY2goZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgIHJlc3VsdFsrK2luZGV4XSA9IFt2YWx1ZSwgdmFsdWVdO1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLmluZGV4T2ZgIHdoaWNoIHBlcmZvcm1zIHN0cmljdCBlcXVhbGl0eVxuICAgKiBjb21wYXJpc29ucyBvZiB2YWx1ZXMsIGkuZS4gYD09PWAuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZWFyY2ggZm9yLlxuICAgKiBAcGFyYW0ge251bWJlcn0gZnJvbUluZGV4IFRoZSBpbmRleCB0byBzZWFyY2ggZnJvbS5cbiAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIG1hdGNoZWQgdmFsdWUsIGVsc2UgYC0xYC5cbiAgICovXG4gIGZ1bmN0aW9uIHN0cmljdEluZGV4T2YoYXJyYXksIHZhbHVlLCBmcm9tSW5kZXgpIHtcbiAgICB2YXIgaW5kZXggPSBmcm9tSW5kZXggLSAxLFxuICAgICAgICBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgaWYgKGFycmF5W2luZGV4XSA9PT0gdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICAvKipcbiAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLmxhc3RJbmRleE9mYCB3aGljaCBwZXJmb3JtcyBzdHJpY3QgZXF1YWxpdHlcbiAgICogY29tcGFyaXNvbnMgb2YgdmFsdWVzLCBpLmUuIGA9PT1gLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvci5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGZyb21JbmRleCBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBtYXRjaGVkIHZhbHVlLCBlbHNlIGAtMWAuXG4gICAqL1xuICBmdW5jdGlvbiBzdHJpY3RMYXN0SW5kZXhPZihhcnJheSwgdmFsdWUsIGZyb21JbmRleCkge1xuICAgIHZhciBpbmRleCA9IGZyb21JbmRleCArIDE7XG4gICAgd2hpbGUgKGluZGV4LS0pIHtcbiAgICAgIGlmIChhcnJheVtpbmRleF0gPT09IHZhbHVlKSB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIG51bWJlciBvZiBzeW1ib2xzIGluIGBzdHJpbmdgLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5nIFRoZSBzdHJpbmcgdG8gaW5zcGVjdC5cbiAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgc3RyaW5nIHNpemUuXG4gICAqL1xuICBmdW5jdGlvbiBzdHJpbmdTaXplKHN0cmluZykge1xuICAgIHJldHVybiBoYXNVbmljb2RlKHN0cmluZylcbiAgICAgID8gdW5pY29kZVNpemUoc3RyaW5nKVxuICAgICAgOiBhc2NpaVNpemUoc3RyaW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBgc3RyaW5nYCB0byBhbiBhcnJheS5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZyBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgY29udmVydGVkIGFycmF5LlxuICAgKi9cbiAgZnVuY3Rpb24gc3RyaW5nVG9BcnJheShzdHJpbmcpIHtcbiAgICByZXR1cm4gaGFzVW5pY29kZShzdHJpbmcpXG4gICAgICA/IHVuaWNvZGVUb0FycmF5KHN0cmluZylcbiAgICAgIDogYXNjaWlUb0FycmF5KHN0cmluZyk7XG4gIH1cblxuICAvKipcbiAgICogVXNlZCBieSBgXy51bmVzY2FwZWAgdG8gY29udmVydCBIVE1MIGVudGl0aWVzIHRvIGNoYXJhY3RlcnMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjaHIgVGhlIG1hdGNoZWQgY2hhcmFjdGVyIHRvIHVuZXNjYXBlLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSB1bmVzY2FwZWQgY2hhcmFjdGVyLlxuICAgKi9cbiAgdmFyIHVuZXNjYXBlSHRtbENoYXIgPSBiYXNlUHJvcGVydHlPZihodG1sVW5lc2NhcGVzKTtcblxuICAvKipcbiAgICogR2V0cyB0aGUgc2l6ZSBvZiBhIFVuaWNvZGUgYHN0cmluZ2AuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmcgVGhlIHN0cmluZyBpbnNwZWN0LlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBzdHJpbmcgc2l6ZS5cbiAgICovXG4gIGZ1bmN0aW9uIHVuaWNvZGVTaXplKHN0cmluZykge1xuICAgIHZhciByZXN1bHQgPSByZVVuaWNvZGUubGFzdEluZGV4ID0gMDtcbiAgICB3aGlsZSAocmVVbmljb2RlLnRlc3Qoc3RyaW5nKSkge1xuICAgICAgKytyZXN1bHQ7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBVbmljb2RlIGBzdHJpbmdgIHRvIGFuIGFycmF5LlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5nIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgYXJyYXkuXG4gICAqL1xuICBmdW5jdGlvbiB1bmljb2RlVG9BcnJheShzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyaW5nLm1hdGNoKHJlVW5pY29kZSkgfHwgW107XG4gIH1cblxuICAvKipcbiAgICogU3BsaXRzIGEgVW5pY29kZSBgc3RyaW5nYCBpbnRvIGFuIGFycmF5IG9mIGl0cyB3b3Jkcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFRoZSBzdHJpbmcgdG8gaW5zcGVjdC5cbiAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSB3b3JkcyBvZiBgc3RyaW5nYC5cbiAgICovXG4gIGZ1bmN0aW9uIHVuaWNvZGVXb3JkcyhzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyaW5nLm1hdGNoKHJlVW5pY29kZVdvcmQpIHx8IFtdO1xuICB9XG5cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBwcmlzdGluZSBgbG9kYXNoYCBmdW5jdGlvbiB1c2luZyB0aGUgYGNvbnRleHRgIG9iamVjdC5cbiAgICpcbiAgICogQHN0YXRpY1xuICAgKiBAbWVtYmVyT2YgX1xuICAgKiBAc2luY2UgMS4xLjBcbiAgICogQGNhdGVnb3J5IFV0aWxcbiAgICogQHBhcmFtIHtPYmplY3R9IFtjb250ZXh0PXJvb3RdIFRoZSBjb250ZXh0IG9iamVjdC5cbiAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIGEgbmV3IGBsb2Rhc2hgIGZ1bmN0aW9uLlxuICAgKiBAZXhhbXBsZVxuICAgKlxuICAgKiBfLm1peGluKHsgJ2Zvbyc6IF8uY29uc3RhbnQoJ2ZvbycpIH0pO1xuICAgKlxuICAgKiB2YXIgbG9kYXNoID0gXy5ydW5JbkNvbnRleHQoKTtcbiAgICogbG9kYXNoLm1peGluKHsgJ2Jhcic6IGxvZGFzaC5jb25zdGFudCgnYmFyJykgfSk7XG4gICAqXG4gICAqIF8uaXNGdW5jdGlvbihfLmZvbyk7XG4gICAqIC8vID0+IHRydWVcbiAgICogXy5pc0Z1bmN0aW9uKF8uYmFyKTtcbiAgICogLy8gPT4gZmFsc2VcbiAgICpcbiAgICogbG9kYXNoLmlzRnVuY3Rpb24obG9kYXNoLmZvbyk7XG4gICAqIC8vID0+IGZhbHNlXG4gICAqIGxvZGFzaC5pc0Z1bmN0aW9uKGxvZGFzaC5iYXIpO1xuICAgKiAvLyA9PiB0cnVlXG4gICAqXG4gICAqIC8vIENyZWF0ZSBhIHN1cGVkLXVwIGBkZWZlcmAgaW4gTm9kZS5qcy5cbiAgICogdmFyIGRlZmVyID0gXy5ydW5JbkNvbnRleHQoeyAnc2V0VGltZW91dCc6IHNldEltbWVkaWF0ZSB9KS5kZWZlcjtcbiAgICovXG4gIHZhciBydW5JbkNvbnRleHQgPSAoZnVuY3Rpb24gcnVuSW5Db250ZXh0KGNvbnRleHQpIHtcbiAgICBjb250ZXh0ID0gY29udGV4dCA9PSBudWxsID8gcm9vdCA6IF8uZGVmYXVsdHMocm9vdC5PYmplY3QoKSwgY29udGV4dCwgXy5waWNrKHJvb3QsIGNvbnRleHRQcm9wcykpO1xuXG4gICAgLyoqIEJ1aWx0LWluIGNvbnN0cnVjdG9yIHJlZmVyZW5jZXMuICovXG4gICAgdmFyIEFycmF5ID0gY29udGV4dC5BcnJheSxcbiAgICAgICAgRGF0ZSA9IGNvbnRleHQuRGF0ZSxcbiAgICAgICAgRXJyb3IgPSBjb250ZXh0LkVycm9yLFxuICAgICAgICBGdW5jdGlvbiA9IGNvbnRleHQuRnVuY3Rpb24sXG4gICAgICAgIE1hdGggPSBjb250ZXh0Lk1hdGgsXG4gICAgICAgIE9iamVjdCA9IGNvbnRleHQuT2JqZWN0LFxuICAgICAgICBSZWdFeHAgPSBjb250ZXh0LlJlZ0V4cCxcbiAgICAgICAgU3RyaW5nID0gY29udGV4dC5TdHJpbmcsXG4gICAgICAgIFR5cGVFcnJvciA9IGNvbnRleHQuVHlwZUVycm9yO1xuXG4gICAgLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xuICAgIHZhciBhcnJheVByb3RvID0gQXJyYXkucHJvdG90eXBlLFxuICAgICAgICBmdW5jUHJvdG8gPSBGdW5jdGlvbi5wcm90b3R5cGUsXG4gICAgICAgIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuICAgIC8qKiBVc2VkIHRvIGRldGVjdCBvdmVycmVhY2hpbmcgY29yZS1qcyBzaGltcy4gKi9cbiAgICB2YXIgY29yZUpzRGF0YSA9IGNvbnRleHRbJ19fY29yZS1qc19zaGFyZWRfXyddO1xuXG4gICAgLyoqIFVzZWQgdG8gcmVzb2x2ZSB0aGUgZGVjb21waWxlZCBzb3VyY2Ugb2YgZnVuY3Rpb25zLiAqL1xuICAgIHZhciBmdW5jVG9TdHJpbmcgPSBmdW5jUHJvdG8udG9TdHJpbmc7XG5cbiAgICAvKiogVXNlZCB0byBjaGVjayBvYmplY3RzIGZvciBvd24gcHJvcGVydGllcy4gKi9cbiAgICB2YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuICAgIC8qKiBVc2VkIHRvIGdlbmVyYXRlIHVuaXF1ZSBJRHMuICovXG4gICAgdmFyIGlkQ291bnRlciA9IDA7XG5cbiAgICAvKiogVXNlZCB0byBkZXRlY3QgbWV0aG9kcyBtYXNxdWVyYWRpbmcgYXMgbmF0aXZlLiAqL1xuICAgIHZhciBtYXNrU3JjS2V5ID0gKGZ1bmN0aW9uKCkge1xuICAgICAgdmFyIHVpZCA9IC9bXi5dKyQvLmV4ZWMoY29yZUpzRGF0YSAmJiBjb3JlSnNEYXRhLmtleXMgJiYgY29yZUpzRGF0YS5rZXlzLklFX1BST1RPIHx8ICcnKTtcbiAgICAgIHJldHVybiB1aWQgPyAoJ1N5bWJvbChzcmMpXzEuJyArIHVpZCkgOiAnJztcbiAgICB9KCkpO1xuXG4gICAgLyoqXG4gICAgICogVXNlZCB0byByZXNvbHZlIHRoZVxuICAgICAqIFtgdG9TdHJpbmdUYWdgXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1vYmplY3QucHJvdG90eXBlLnRvc3RyaW5nKVxuICAgICAqIG9mIHZhbHVlcy5cbiAgICAgKi9cbiAgICB2YXIgbmF0aXZlT2JqZWN0VG9TdHJpbmcgPSBvYmplY3RQcm90by50b1N0cmluZztcblxuICAgIC8qKiBVc2VkIHRvIGluZmVyIHRoZSBgT2JqZWN0YCBjb25zdHJ1Y3Rvci4gKi9cbiAgICB2YXIgb2JqZWN0Q3RvclN0cmluZyA9IGZ1bmNUb1N0cmluZy5jYWxsKE9iamVjdCk7XG5cbiAgICAvKiogVXNlZCB0byByZXN0b3JlIHRoZSBvcmlnaW5hbCBgX2AgcmVmZXJlbmNlIGluIGBfLm5vQ29uZmxpY3RgLiAqL1xuICAgIHZhciBvbGREYXNoID0gcm9vdC5fO1xuXG4gICAgLyoqIFVzZWQgdG8gZGV0ZWN0IGlmIGEgbWV0aG9kIGlzIG5hdGl2ZS4gKi9cbiAgICB2YXIgcmVJc05hdGl2ZSA9IFJlZ0V4cCgnXicgK1xuICAgICAgZnVuY1RvU3RyaW5nLmNhbGwoaGFzT3duUHJvcGVydHkpLnJlcGxhY2UocmVSZWdFeHBDaGFyLCAnXFxcXCQmJylcbiAgICAgIC5yZXBsYWNlKC9oYXNPd25Qcm9wZXJ0eXwoZnVuY3Rpb24pLio/KD89XFxcXFxcKCl8IGZvciAuKz8oPz1cXFxcXFxdKS9nLCAnJDEuKj8nKSArICckJ1xuICAgICk7XG5cbiAgICAvKiogQnVpbHQtaW4gdmFsdWUgcmVmZXJlbmNlcy4gKi9cbiAgICB2YXIgQnVmZmVyID0gbW9kdWxlRXhwb3J0cyA/IGNvbnRleHQuQnVmZmVyIDogdW5kZWZpbmVkLFxuICAgICAgICBTeW1ib2wgPSBjb250ZXh0LlN5bWJvbCxcbiAgICAgICAgVWludDhBcnJheSA9IGNvbnRleHQuVWludDhBcnJheSxcbiAgICAgICAgYWxsb2NVbnNhZmUgPSBCdWZmZXIgPyBCdWZmZXIuYWxsb2NVbnNhZmUgOiB1bmRlZmluZWQsXG4gICAgICAgIGdldFByb3RvdHlwZSA9IG92ZXJBcmcoT2JqZWN0LmdldFByb3RvdHlwZU9mLCBPYmplY3QpLFxuICAgICAgICBvYmplY3RDcmVhdGUgPSBPYmplY3QuY3JlYXRlLFxuICAgICAgICBwcm9wZXJ0eUlzRW51bWVyYWJsZSA9IG9iamVjdFByb3RvLnByb3BlcnR5SXNFbnVtZXJhYmxlLFxuICAgICAgICBzcGxpY2UgPSBhcnJheVByb3RvLnNwbGljZSxcbiAgICAgICAgc3ByZWFkYWJsZVN5bWJvbCA9IFN5bWJvbCA/IFN5bWJvbC5pc0NvbmNhdFNwcmVhZGFibGUgOiB1bmRlZmluZWQsXG4gICAgICAgIHN5bUl0ZXJhdG9yID0gU3ltYm9sID8gU3ltYm9sLml0ZXJhdG9yIDogdW5kZWZpbmVkLFxuICAgICAgICBzeW1Ub1N0cmluZ1RhZyA9IFN5bWJvbCA/IFN5bWJvbC50b1N0cmluZ1RhZyA6IHVuZGVmaW5lZDtcblxuICAgIHZhciBkZWZpbmVQcm9wZXJ0eSA9IChmdW5jdGlvbigpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHZhciBmdW5jID0gZ2V0TmF0aXZlKE9iamVjdCwgJ2RlZmluZVByb3BlcnR5Jyk7XG4gICAgICAgIGZ1bmMoe30sICcnLCB7fSk7XG4gICAgICAgIHJldHVybiBmdW5jO1xuICAgICAgfSBjYXRjaCAoZSkge31cbiAgICB9KCkpO1xuXG4gICAgLyoqIE1vY2tlZCBidWlsdC1pbnMuICovXG4gICAgdmFyIGN0eENsZWFyVGltZW91dCA9IGNvbnRleHQuY2xlYXJUaW1lb3V0ICE9PSByb290LmNsZWFyVGltZW91dCAmJiBjb250ZXh0LmNsZWFyVGltZW91dCxcbiAgICAgICAgY3R4Tm93ID0gRGF0ZSAmJiBEYXRlLm5vdyAhPT0gcm9vdC5EYXRlLm5vdyAmJiBEYXRlLm5vdyxcbiAgICAgICAgY3R4U2V0VGltZW91dCA9IGNvbnRleHQuc2V0VGltZW91dCAhPT0gcm9vdC5zZXRUaW1lb3V0ICYmIGNvbnRleHQuc2V0VGltZW91dDtcblxuICAgIC8qIEJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzIGZvciB0aG9zZSB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgb3RoZXIgYGxvZGFzaGAgbWV0aG9kcy4gKi9cbiAgICB2YXIgbmF0aXZlQ2VpbCA9IE1hdGguY2VpbCxcbiAgICAgICAgbmF0aXZlRmxvb3IgPSBNYXRoLmZsb29yLFxuICAgICAgICBuYXRpdmVHZXRTeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxcbiAgICAgICAgbmF0aXZlSXNCdWZmZXIgPSBCdWZmZXIgPyBCdWZmZXIuaXNCdWZmZXIgOiB1bmRlZmluZWQsXG4gICAgICAgIG5hdGl2ZUlzRmluaXRlID0gY29udGV4dC5pc0Zpbml0ZSxcbiAgICAgICAgbmF0aXZlSm9pbiA9IGFycmF5UHJvdG8uam9pbixcbiAgICAgICAgbmF0aXZlS2V5cyA9IG92ZXJBcmcoT2JqZWN0LmtleXMsIE9iamVjdCksXG4gICAgICAgIG5hdGl2ZU1heCA9IE1hdGgubWF4LFxuICAgICAgICBuYXRpdmVNaW4gPSBNYXRoLm1pbixcbiAgICAgICAgbmF0aXZlTm93ID0gRGF0ZS5ub3csXG4gICAgICAgIG5hdGl2ZVBhcnNlSW50ID0gY29udGV4dC5wYXJzZUludCxcbiAgICAgICAgbmF0aXZlUmFuZG9tID0gTWF0aC5yYW5kb20sXG4gICAgICAgIG5hdGl2ZVJldmVyc2UgPSBhcnJheVByb3RvLnJldmVyc2U7XG5cbiAgICAvKiBCdWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcyB0aGF0IGFyZSB2ZXJpZmllZCB0byBiZSBuYXRpdmUuICovXG4gICAgdmFyIERhdGFWaWV3ID0gZ2V0TmF0aXZlKGNvbnRleHQsICdEYXRhVmlldycpLFxuICAgICAgICBNYXAgPSBnZXROYXRpdmUoY29udGV4dCwgJ01hcCcpLFxuICAgICAgICBQcm9taXNlID0gZ2V0TmF0aXZlKGNvbnRleHQsICdQcm9taXNlJyksXG4gICAgICAgIFNldCA9IGdldE5hdGl2ZShjb250ZXh0LCAnU2V0JyksXG4gICAgICAgIFdlYWtNYXAgPSBnZXROYXRpdmUoY29udGV4dCwgJ1dlYWtNYXAnKSxcbiAgICAgICAgbmF0aXZlQ3JlYXRlID0gZ2V0TmF0aXZlKE9iamVjdCwgJ2NyZWF0ZScpO1xuXG4gICAgLyoqIFVzZWQgdG8gc3RvcmUgZnVuY3Rpb24gbWV0YWRhdGEuICovXG4gICAgdmFyIG1ldGFNYXAgPSBXZWFrTWFwICYmIG5ldyBXZWFrTWFwO1xuXG4gICAgLyoqIFVzZWQgdG8gbG9va3VwIHVubWluaWZpZWQgZnVuY3Rpb24gbmFtZXMuICovXG4gICAgdmFyIHJlYWxOYW1lcyA9IHt9O1xuXG4gICAgLyoqIFVzZWQgdG8gZGV0ZWN0IG1hcHMsIHNldHMsIGFuZCB3ZWFrbWFwcy4gKi9cbiAgICB2YXIgZGF0YVZpZXdDdG9yU3RyaW5nID0gdG9Tb3VyY2UoRGF0YVZpZXcpLFxuICAgICAgICBtYXBDdG9yU3RyaW5nID0gdG9Tb3VyY2UoTWFwKSxcbiAgICAgICAgcHJvbWlzZUN0b3JTdHJpbmcgPSB0b1NvdXJjZShQcm9taXNlKSxcbiAgICAgICAgc2V0Q3RvclN0cmluZyA9IHRvU291cmNlKFNldCksXG4gICAgICAgIHdlYWtNYXBDdG9yU3RyaW5nID0gdG9Tb3VyY2UoV2Vha01hcCk7XG5cbiAgICAvKiogVXNlZCB0byBjb252ZXJ0IHN5bWJvbHMgdG8gcHJpbWl0aXZlcyBhbmQgc3RyaW5ncy4gKi9cbiAgICB2YXIgc3ltYm9sUHJvdG8gPSBTeW1ib2wgPyBTeW1ib2wucHJvdG90eXBlIDogdW5kZWZpbmVkLFxuICAgICAgICBzeW1ib2xWYWx1ZU9mID0gc3ltYm9sUHJvdG8gPyBzeW1ib2xQcm90by52YWx1ZU9mIDogdW5kZWZpbmVkLFxuICAgICAgICBzeW1ib2xUb1N0cmluZyA9IHN5bWJvbFByb3RvID8gc3ltYm9sUHJvdG8udG9TdHJpbmcgOiB1bmRlZmluZWQ7XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgYGxvZGFzaGAgb2JqZWN0IHdoaWNoIHdyYXBzIGB2YWx1ZWAgdG8gZW5hYmxlIGltcGxpY2l0IG1ldGhvZFxuICAgICAqIGNoYWluIHNlcXVlbmNlcy4gTWV0aG9kcyB0aGF0IG9wZXJhdGUgb24gYW5kIHJldHVybiBhcnJheXMsIGNvbGxlY3Rpb25zLFxuICAgICAqIGFuZCBmdW5jdGlvbnMgY2FuIGJlIGNoYWluZWQgdG9nZXRoZXIuIE1ldGhvZHMgdGhhdCByZXRyaWV2ZSBhIHNpbmdsZSB2YWx1ZVxuICAgICAqIG9yIG1heSByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUgd2lsbCBhdXRvbWF0aWNhbGx5IGVuZCB0aGUgY2hhaW4gc2VxdWVuY2VcbiAgICAgKiBhbmQgcmV0dXJuIHRoZSB1bndyYXBwZWQgdmFsdWUuIE90aGVyd2lzZSwgdGhlIHZhbHVlIG11c3QgYmUgdW53cmFwcGVkXG4gICAgICogd2l0aCBgXyN2YWx1ZWAuXG4gICAgICpcbiAgICAgKiBFeHBsaWNpdCBjaGFpbiBzZXF1ZW5jZXMsIHdoaWNoIG11c3QgYmUgdW53cmFwcGVkIHdpdGggYF8jdmFsdWVgLCBtYXkgYmVcbiAgICAgKiBlbmFibGVkIHVzaW5nIGBfLmNoYWluYC5cbiAgICAgKlxuICAgICAqIFRoZSBleGVjdXRpb24gb2YgY2hhaW5lZCBtZXRob2RzIGlzIGxhenksIHRoYXQgaXMsIGl0J3MgZGVmZXJyZWQgdW50aWxcbiAgICAgKiBgXyN2YWx1ZWAgaXMgaW1wbGljaXRseSBvciBleHBsaWNpdGx5IGNhbGxlZC5cbiAgICAgKlxuICAgICAqIExhenkgZXZhbHVhdGlvbiBhbGxvd3Mgc2V2ZXJhbCBtZXRob2RzIHRvIHN1cHBvcnQgc2hvcnRjdXQgZnVzaW9uLlxuICAgICAqIFNob3J0Y3V0IGZ1c2lvbiBpcyBhbiBvcHRpbWl6YXRpb24gdG8gbWVyZ2UgaXRlcmF0ZWUgY2FsbHM7IHRoaXMgYXZvaWRzXG4gICAgICogdGhlIGNyZWF0aW9uIG9mIGludGVybWVkaWF0ZSBhcnJheXMgYW5kIGNhbiBncmVhdGx5IHJlZHVjZSB0aGUgbnVtYmVyIG9mXG4gICAgICogaXRlcmF0ZWUgZXhlY3V0aW9ucy4gU2VjdGlvbnMgb2YgYSBjaGFpbiBzZXF1ZW5jZSBxdWFsaWZ5IGZvciBzaG9ydGN1dFxuICAgICAqIGZ1c2lvbiBpZiB0aGUgc2VjdGlvbiBpcyBhcHBsaWVkIHRvIGFuIGFycmF5IGFuZCBpdGVyYXRlZXMgYWNjZXB0IG9ubHlcbiAgICAgKiBvbmUgYXJndW1lbnQuIFRoZSBoZXVyaXN0aWMgZm9yIHdoZXRoZXIgYSBzZWN0aW9uIHF1YWxpZmllcyBmb3Igc2hvcnRjdXRcbiAgICAgKiBmdXNpb24gaXMgc3ViamVjdCB0byBjaGFuZ2UuXG4gICAgICpcbiAgICAgKiBDaGFpbmluZyBpcyBzdXBwb3J0ZWQgaW4gY3VzdG9tIGJ1aWxkcyBhcyBsb25nIGFzIHRoZSBgXyN2YWx1ZWAgbWV0aG9kIGlzXG4gICAgICogZGlyZWN0bHkgb3IgaW5kaXJlY3RseSBpbmNsdWRlZCBpbiB0aGUgYnVpbGQuXG4gICAgICpcbiAgICAgKiBJbiBhZGRpdGlvbiB0byBsb2Rhc2ggbWV0aG9kcywgd3JhcHBlcnMgaGF2ZSBgQXJyYXlgIGFuZCBgU3RyaW5nYCBtZXRob2RzLlxuICAgICAqXG4gICAgICogVGhlIHdyYXBwZXIgYEFycmF5YCBtZXRob2RzIGFyZTpcbiAgICAgKiBgY29uY2F0YCwgYGpvaW5gLCBgcG9wYCwgYHB1c2hgLCBgc2hpZnRgLCBgc29ydGAsIGBzcGxpY2VgLCBhbmQgYHVuc2hpZnRgXG4gICAgICpcbiAgICAgKiBUaGUgd3JhcHBlciBgU3RyaW5nYCBtZXRob2RzIGFyZTpcbiAgICAgKiBgcmVwbGFjZWAgYW5kIGBzcGxpdGBcbiAgICAgKlxuICAgICAqIFRoZSB3cmFwcGVyIG1ldGhvZHMgdGhhdCBzdXBwb3J0IHNob3J0Y3V0IGZ1c2lvbiBhcmU6XG4gICAgICogYGF0YCwgYGNvbXBhY3RgLCBgZHJvcGAsIGBkcm9wUmlnaHRgLCBgZHJvcFdoaWxlYCwgYGZpbHRlcmAsIGBmaW5kYCxcbiAgICAgKiBgZmluZExhc3RgLCBgaGVhZGAsIGBpbml0aWFsYCwgYGxhc3RgLCBgbWFwYCwgYHJlamVjdGAsIGByZXZlcnNlYCwgYHNsaWNlYCxcbiAgICAgKiBgdGFpbGAsIGB0YWtlYCwgYHRha2VSaWdodGAsIGB0YWtlUmlnaHRXaGlsZWAsIGB0YWtlV2hpbGVgLCBhbmQgYHRvQXJyYXlgXG4gICAgICpcbiAgICAgKiBUaGUgY2hhaW5hYmxlIHdyYXBwZXIgbWV0aG9kcyBhcmU6XG4gICAgICogYGFmdGVyYCwgYGFyeWAsIGBhc3NpZ25gLCBgYXNzaWduSW5gLCBgYXNzaWduSW5XaXRoYCwgYGFzc2lnbldpdGhgLCBgYXRgLFxuICAgICAqIGBiZWZvcmVgLCBgYmluZGAsIGBiaW5kQWxsYCwgYGJpbmRLZXlgLCBgY2FzdEFycmF5YCwgYGNoYWluYCwgYGNodW5rYCxcbiAgICAgKiBgY29tbWl0YCwgYGNvbXBhY3RgLCBgY29uY2F0YCwgYGNvbmZvcm1zYCwgYGNvbnN0YW50YCwgYGNvdW50QnlgLCBgY3JlYXRlYCxcbiAgICAgKiBgY3VycnlgLCBgZGVib3VuY2VgLCBgZGVmYXVsdHNgLCBgZGVmYXVsdHNEZWVwYCwgYGRlZmVyYCwgYGRlbGF5YCxcbiAgICAgKiBgZGlmZmVyZW5jZWAsIGBkaWZmZXJlbmNlQnlgLCBgZGlmZmVyZW5jZVdpdGhgLCBgZHJvcGAsIGBkcm9wUmlnaHRgLFxuICAgICAqIGBkcm9wUmlnaHRXaGlsZWAsIGBkcm9wV2hpbGVgLCBgZXh0ZW5kYCwgYGV4dGVuZFdpdGhgLCBgZmlsbGAsIGBmaWx0ZXJgLFxuICAgICAqIGBmbGF0TWFwYCwgYGZsYXRNYXBEZWVwYCwgYGZsYXRNYXBEZXB0aGAsIGBmbGF0dGVuYCwgYGZsYXR0ZW5EZWVwYCxcbiAgICAgKiBgZmxhdHRlbkRlcHRoYCwgYGZsaXBgLCBgZmxvd2AsIGBmbG93UmlnaHRgLCBgZnJvbVBhaXJzYCwgYGZ1bmN0aW9uc2AsXG4gICAgICogYGZ1bmN0aW9uc0luYCwgYGdyb3VwQnlgLCBgaW5pdGlhbGAsIGBpbnRlcnNlY3Rpb25gLCBgaW50ZXJzZWN0aW9uQnlgLFxuICAgICAqIGBpbnRlcnNlY3Rpb25XaXRoYCwgYGludmVydGAsIGBpbnZlcnRCeWAsIGBpbnZva2VNYXBgLCBgaXRlcmF0ZWVgLCBga2V5QnlgLFxuICAgICAqIGBrZXlzYCwgYGtleXNJbmAsIGBtYXBgLCBgbWFwS2V5c2AsIGBtYXBWYWx1ZXNgLCBgbWF0Y2hlc2AsIGBtYXRjaGVzUHJvcGVydHlgLFxuICAgICAqIGBtZW1vaXplYCwgYG1lcmdlYCwgYG1lcmdlV2l0aGAsIGBtZXRob2RgLCBgbWV0aG9kT2ZgLCBgbWl4aW5gLCBgbmVnYXRlYCxcbiAgICAgKiBgbnRoQXJnYCwgYG9taXRgLCBgb21pdEJ5YCwgYG9uY2VgLCBgb3JkZXJCeWAsIGBvdmVyYCwgYG92ZXJBcmdzYCxcbiAgICAgKiBgb3ZlckV2ZXJ5YCwgYG92ZXJTb21lYCwgYHBhcnRpYWxgLCBgcGFydGlhbFJpZ2h0YCwgYHBhcnRpdGlvbmAsIGBwaWNrYCxcbiAgICAgKiBgcGlja0J5YCwgYHBsYW50YCwgYHByb3BlcnR5YCwgYHByb3BlcnR5T2ZgLCBgcHVsbGAsIGBwdWxsQWxsYCwgYHB1bGxBbGxCeWAsXG4gICAgICogYHB1bGxBbGxXaXRoYCwgYHB1bGxBdGAsIGBwdXNoYCwgYHJhbmdlYCwgYHJhbmdlUmlnaHRgLCBgcmVhcmdgLCBgcmVqZWN0YCxcbiAgICAgKiBgcmVtb3ZlYCwgYHJlc3RgLCBgcmV2ZXJzZWAsIGBzYW1wbGVTaXplYCwgYHNldGAsIGBzZXRXaXRoYCwgYHNodWZmbGVgLFxuICAgICAqIGBzbGljZWAsIGBzb3J0YCwgYHNvcnRCeWAsIGBzcGxpY2VgLCBgc3ByZWFkYCwgYHRhaWxgLCBgdGFrZWAsIGB0YWtlUmlnaHRgLFxuICAgICAqIGB0YWtlUmlnaHRXaGlsZWAsIGB0YWtlV2hpbGVgLCBgdGFwYCwgYHRocm90dGxlYCwgYHRocnVgLCBgdG9BcnJheWAsXG4gICAgICogYHRvUGFpcnNgLCBgdG9QYWlyc0luYCwgYHRvUGF0aGAsIGB0b1BsYWluT2JqZWN0YCwgYHRyYW5zZm9ybWAsIGB1bmFyeWAsXG4gICAgICogYHVuaW9uYCwgYHVuaW9uQnlgLCBgdW5pb25XaXRoYCwgYHVuaXFgLCBgdW5pcUJ5YCwgYHVuaXFXaXRoYCwgYHVuc2V0YCxcbiAgICAgKiBgdW5zaGlmdGAsIGB1bnppcGAsIGB1bnppcFdpdGhgLCBgdXBkYXRlYCwgYHVwZGF0ZVdpdGhgLCBgdmFsdWVzYCxcbiAgICAgKiBgdmFsdWVzSW5gLCBgd2l0aG91dGAsIGB3cmFwYCwgYHhvcmAsIGB4b3JCeWAsIGB4b3JXaXRoYCwgYHppcGAsXG4gICAgICogYHppcE9iamVjdGAsIGB6aXBPYmplY3REZWVwYCwgYW5kIGB6aXBXaXRoYFxuICAgICAqXG4gICAgICogVGhlIHdyYXBwZXIgbWV0aG9kcyB0aGF0IGFyZSAqKm5vdCoqIGNoYWluYWJsZSBieSBkZWZhdWx0IGFyZTpcbiAgICAgKiBgYWRkYCwgYGF0dGVtcHRgLCBgY2FtZWxDYXNlYCwgYGNhcGl0YWxpemVgLCBgY2VpbGAsIGBjbGFtcGAsIGBjbG9uZWAsXG4gICAgICogYGNsb25lRGVlcGAsIGBjbG9uZURlZXBXaXRoYCwgYGNsb25lV2l0aGAsIGBjb25mb3Jtc1RvYCwgYGRlYnVycmAsXG4gICAgICogYGRlZmF1bHRUb2AsIGBkaXZpZGVgLCBgZWFjaGAsIGBlYWNoUmlnaHRgLCBgZW5kc1dpdGhgLCBgZXFgLCBgZXNjYXBlYCxcbiAgICAgKiBgZXNjYXBlUmVnRXhwYCwgYGV2ZXJ5YCwgYGZpbmRgLCBgZmluZEluZGV4YCwgYGZpbmRLZXlgLCBgZmluZExhc3RgLFxuICAgICAqIGBmaW5kTGFzdEluZGV4YCwgYGZpbmRMYXN0S2V5YCwgYGZpcnN0YCwgYGZsb29yYCwgYGZvckVhY2hgLCBgZm9yRWFjaFJpZ2h0YCxcbiAgICAgKiBgZm9ySW5gLCBgZm9ySW5SaWdodGAsIGBmb3JPd25gLCBgZm9yT3duUmlnaHRgLCBgZ2V0YCwgYGd0YCwgYGd0ZWAsIGBoYXNgLFxuICAgICAqIGBoYXNJbmAsIGBoZWFkYCwgYGlkZW50aXR5YCwgYGluY2x1ZGVzYCwgYGluZGV4T2ZgLCBgaW5SYW5nZWAsIGBpbnZva2VgLFxuICAgICAqIGBpc0FyZ3VtZW50c2AsIGBpc0FycmF5YCwgYGlzQXJyYXlCdWZmZXJgLCBgaXNBcnJheUxpa2VgLCBgaXNBcnJheUxpa2VPYmplY3RgLFxuICAgICAqIGBpc0Jvb2xlYW5gLCBgaXNCdWZmZXJgLCBgaXNEYXRlYCwgYGlzRWxlbWVudGAsIGBpc0VtcHR5YCwgYGlzRXF1YWxgLFxuICAgICAqIGBpc0VxdWFsV2l0aGAsIGBpc0Vycm9yYCwgYGlzRmluaXRlYCwgYGlzRnVuY3Rpb25gLCBgaXNJbnRlZ2VyYCwgYGlzTGVuZ3RoYCxcbiAgICAgKiBgaXNNYXBgLCBgaXNNYXRjaGAsIGBpc01hdGNoV2l0aGAsIGBpc05hTmAsIGBpc05hdGl2ZWAsIGBpc05pbGAsIGBpc051bGxgLFxuICAgICAqIGBpc051bWJlcmAsIGBpc09iamVjdGAsIGBpc09iamVjdExpa2VgLCBgaXNQbGFpbk9iamVjdGAsIGBpc1JlZ0V4cGAsXG4gICAgICogYGlzU2FmZUludGVnZXJgLCBgaXNTZXRgLCBgaXNTdHJpbmdgLCBgaXNVbmRlZmluZWRgLCBgaXNUeXBlZEFycmF5YCxcbiAgICAgKiBgaXNXZWFrTWFwYCwgYGlzV2Vha1NldGAsIGBqb2luYCwgYGtlYmFiQ2FzZWAsIGBsYXN0YCwgYGxhc3RJbmRleE9mYCxcbiAgICAgKiBgbG93ZXJDYXNlYCwgYGxvd2VyRmlyc3RgLCBgbHRgLCBgbHRlYCwgYG1heGAsIGBtYXhCeWAsIGBtZWFuYCwgYG1lYW5CeWAsXG4gICAgICogYG1pbmAsIGBtaW5CeWAsIGBtdWx0aXBseWAsIGBub0NvbmZsaWN0YCwgYG5vb3BgLCBgbm93YCwgYG50aGAsIGBwYWRgLFxuICAgICAqIGBwYWRFbmRgLCBgcGFkU3RhcnRgLCBgcGFyc2VJbnRgLCBgcG9wYCwgYHJhbmRvbWAsIGByZWR1Y2VgLCBgcmVkdWNlUmlnaHRgLFxuICAgICAqIGByZXBlYXRgLCBgcmVzdWx0YCwgYHJvdW5kYCwgYHJ1bkluQ29udGV4dGAsIGBzYW1wbGVgLCBgc2hpZnRgLCBgc2l6ZWAsXG4gICAgICogYHNuYWtlQ2FzZWAsIGBzb21lYCwgYHNvcnRlZEluZGV4YCwgYHNvcnRlZEluZGV4QnlgLCBgc29ydGVkTGFzdEluZGV4YCxcbiAgICAgKiBgc29ydGVkTGFzdEluZGV4QnlgLCBgc3RhcnRDYXNlYCwgYHN0YXJ0c1dpdGhgLCBgc3R1YkFycmF5YCwgYHN0dWJGYWxzZWAsXG4gICAgICogYHN0dWJPYmplY3RgLCBgc3R1YlN0cmluZ2AsIGBzdHViVHJ1ZWAsIGBzdWJ0cmFjdGAsIGBzdW1gLCBgc3VtQnlgLFxuICAgICAqIGB0ZW1wbGF0ZWAsIGB0aW1lc2AsIGB0b0Zpbml0ZWAsIGB0b0ludGVnZXJgLCBgdG9KU09OYCwgYHRvTGVuZ3RoYCxcbiAgICAgKiBgdG9Mb3dlcmAsIGB0b051bWJlcmAsIGB0b1NhZmVJbnRlZ2VyYCwgYHRvU3RyaW5nYCwgYHRvVXBwZXJgLCBgdHJpbWAsXG4gICAgICogYHRyaW1FbmRgLCBgdHJpbVN0YXJ0YCwgYHRydW5jYXRlYCwgYHVuZXNjYXBlYCwgYHVuaXF1ZUlkYCwgYHVwcGVyQ2FzZWAsXG4gICAgICogYHVwcGVyRmlyc3RgLCBgdmFsdWVgLCBhbmQgYHdvcmRzYFxuICAgICAqXG4gICAgICogQG5hbWUgX1xuICAgICAqIEBjb25zdHJ1Y3RvclxuICAgICAqIEBjYXRlZ29yeSBTZXFcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byB3cmFwIGluIGEgYGxvZGFzaGAgaW5zdGFuY2UuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IGBsb2Rhc2hgIHdyYXBwZXIgaW5zdGFuY2UuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIHNxdWFyZShuKSB7XG4gICAgICogICByZXR1cm4gbiAqIG47XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIHdyYXBwZWQgPSBfKFsxLCAyLCAzXSk7XG4gICAgICpcbiAgICAgKiAvLyBSZXR1cm5zIGFuIHVud3JhcHBlZCB2YWx1ZS5cbiAgICAgKiB3cmFwcGVkLnJlZHVjZShfLmFkZCk7XG4gICAgICogLy8gPT4gNlxuICAgICAqXG4gICAgICogLy8gUmV0dXJucyBhIHdyYXBwZWQgdmFsdWUuXG4gICAgICogdmFyIHNxdWFyZXMgPSB3cmFwcGVkLm1hcChzcXVhcmUpO1xuICAgICAqXG4gICAgICogXy5pc0FycmF5KHNxdWFyZXMpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXkoc3F1YXJlcy52YWx1ZSgpKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICovXG4gICAgZnVuY3Rpb24gbG9kYXNoKHZhbHVlKSB7XG4gICAgICBpZiAoaXNPYmplY3RMaWtlKHZhbHVlKSAmJiAhaXNBcnJheSh2YWx1ZSkgJiYgISh2YWx1ZSBpbnN0YW5jZW9mIExhenlXcmFwcGVyKSkge1xuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBMb2Rhc2hXcmFwcGVyKSB7XG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCAnX193cmFwcGVkX18nKSkge1xuICAgICAgICAgIHJldHVybiB3cmFwcGVyQ2xvbmUodmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV3IExvZGFzaFdyYXBwZXIodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmNyZWF0ZWAgd2l0aG91dCBzdXBwb3J0IGZvciBhc3NpZ25pbmdcbiAgICAgKiBwcm9wZXJ0aWVzIHRvIHRoZSBjcmVhdGVkIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHByb3RvIFRoZSBvYmplY3QgdG8gaW5oZXJpdCBmcm9tLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBvYmplY3QuXG4gICAgICovXG4gICAgdmFyIGJhc2VDcmVhdGUgPSAoZnVuY3Rpb24oKSB7XG4gICAgICBmdW5jdGlvbiBvYmplY3QoKSB7fVxuICAgICAgcmV0dXJuIGZ1bmN0aW9uKHByb3RvKSB7XG4gICAgICAgIGlmICghaXNPYmplY3QocHJvdG8pKSB7XG4gICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChvYmplY3RDcmVhdGUpIHtcbiAgICAgICAgICByZXR1cm4gb2JqZWN0Q3JlYXRlKHByb3RvKTtcbiAgICAgICAgfVxuICAgICAgICBvYmplY3QucHJvdG90eXBlID0gcHJvdG87XG4gICAgICAgIHZhciByZXN1bHQgPSBuZXcgb2JqZWN0O1xuICAgICAgICBvYmplY3QucHJvdG90eXBlID0gdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfTtcbiAgICB9KCkpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGZ1bmN0aW9uIHdob3NlIHByb3RvdHlwZSBjaGFpbiBzZXF1ZW5jZSB3cmFwcGVycyBpbmhlcml0IGZyb20uXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VMb2Rhc2goKSB7XG4gICAgICAvLyBObyBvcGVyYXRpb24gcGVyZm9ybWVkLlxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGNvbnN0cnVjdG9yIGZvciBjcmVhdGluZyBgbG9kYXNoYCB3cmFwcGVyIG9iamVjdHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHdyYXAuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbY2hhaW5BbGxdIEVuYWJsZSBleHBsaWNpdCBtZXRob2QgY2hhaW4gc2VxdWVuY2VzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIExvZGFzaFdyYXBwZXIodmFsdWUsIGNoYWluQWxsKSB7XG4gICAgICB0aGlzLl9fd3JhcHBlZF9fID0gdmFsdWU7XG4gICAgICB0aGlzLl9fYWN0aW9uc19fID0gW107XG4gICAgICB0aGlzLl9fY2hhaW5fXyA9ICEhY2hhaW5BbGw7XG4gICAgICB0aGlzLl9faW5kZXhfXyA9IDA7XG4gICAgICB0aGlzLl9fdmFsdWVzX18gPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnkgZGVmYXVsdCwgdGhlIHRlbXBsYXRlIGRlbGltaXRlcnMgdXNlZCBieSBsb2Rhc2ggYXJlIGxpa2UgdGhvc2UgaW5cbiAgICAgKiBlbWJlZGRlZCBSdWJ5IChFUkIpIGFzIHdlbGwgYXMgRVMyMDE1IHRlbXBsYXRlIHN0cmluZ3MuIENoYW5nZSB0aGVcbiAgICAgKiBmb2xsb3dpbmcgdGVtcGxhdGUgc2V0dGluZ3MgdG8gdXNlIGFsdGVybmF0aXZlIGRlbGltaXRlcnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgICAqL1xuICAgIGxvZGFzaC50ZW1wbGF0ZVNldHRpbmdzID0ge1xuXG4gICAgICAvKipcbiAgICAgICAqIFVzZWQgdG8gZGV0ZWN0IGBkYXRhYCBwcm9wZXJ0eSB2YWx1ZXMgdG8gYmUgSFRNTC1lc2NhcGVkLlxuICAgICAgICpcbiAgICAgICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICAgICAqIEB0eXBlIHtSZWdFeHB9XG4gICAgICAgKi9cbiAgICAgICdlc2NhcGUnOiByZUVzY2FwZSxcblxuICAgICAgLyoqXG4gICAgICAgKiBVc2VkIHRvIGRldGVjdCBjb2RlIHRvIGJlIGV2YWx1YXRlZC5cbiAgICAgICAqXG4gICAgICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAgICAgKiBAdHlwZSB7UmVnRXhwfVxuICAgICAgICovXG4gICAgICAnZXZhbHVhdGUnOiByZUV2YWx1YXRlLFxuXG4gICAgICAvKipcbiAgICAgICAqIFVzZWQgdG8gZGV0ZWN0IGBkYXRhYCBwcm9wZXJ0eSB2YWx1ZXMgdG8gaW5qZWN0LlxuICAgICAgICpcbiAgICAgICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICAgICAqIEB0eXBlIHtSZWdFeHB9XG4gICAgICAgKi9cbiAgICAgICdpbnRlcnBvbGF0ZSc6IHJlSW50ZXJwb2xhdGUsXG5cbiAgICAgIC8qKlxuICAgICAgICogVXNlZCB0byByZWZlcmVuY2UgdGhlIGRhdGEgb2JqZWN0IGluIHRoZSB0ZW1wbGF0ZSB0ZXh0LlxuICAgICAgICpcbiAgICAgICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICAgKi9cbiAgICAgICd2YXJpYWJsZSc6ICcnLFxuXG4gICAgICAvKipcbiAgICAgICAqIFVzZWQgdG8gaW1wb3J0IHZhcmlhYmxlcyBpbnRvIHRoZSBjb21waWxlZCB0ZW1wbGF0ZS5cbiAgICAgICAqXG4gICAgICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAgICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgICAgICovXG4gICAgICAnaW1wb3J0cyc6IHtcblxuICAgICAgICAvKipcbiAgICAgICAgICogQSByZWZlcmVuY2UgdG8gdGhlIGBsb2Rhc2hgIGZ1bmN0aW9uLlxuICAgICAgICAgKlxuICAgICAgICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzLmltcG9ydHNcbiAgICAgICAgICogQHR5cGUge0Z1bmN0aW9ufVxuICAgICAgICAgKi9cbiAgICAgICAgJ18nOiBsb2Rhc2hcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gRW5zdXJlIHdyYXBwZXJzIGFyZSBpbnN0YW5jZXMgb2YgYGJhc2VMb2Rhc2hgLlxuICAgIGxvZGFzaC5wcm90b3R5cGUgPSBiYXNlTG9kYXNoLnByb3RvdHlwZTtcbiAgICBsb2Rhc2gucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gbG9kYXNoO1xuXG4gICAgTG9kYXNoV3JhcHBlci5wcm90b3R5cGUgPSBiYXNlQ3JlYXRlKGJhc2VMb2Rhc2gucHJvdG90eXBlKTtcbiAgICBMb2Rhc2hXcmFwcGVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IExvZGFzaFdyYXBwZXI7XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbGF6eSB3cmFwcGVyIG9iamVjdCB3aGljaCB3cmFwcyBgdmFsdWVgIHRvIGVuYWJsZSBsYXp5IGV2YWx1YXRpb24uXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBjb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHdyYXAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gTGF6eVdyYXBwZXIodmFsdWUpIHtcbiAgICAgIHRoaXMuX193cmFwcGVkX18gPSB2YWx1ZTtcbiAgICAgIHRoaXMuX19hY3Rpb25zX18gPSBbXTtcbiAgICAgIHRoaXMuX19kaXJfXyA9IDE7XG4gICAgICB0aGlzLl9fZmlsdGVyZWRfXyA9IGZhbHNlO1xuICAgICAgdGhpcy5fX2l0ZXJhdGVlc19fID0gW107XG4gICAgICB0aGlzLl9fdGFrZUNvdW50X18gPSBNQVhfQVJSQVlfTEVOR1RIO1xuICAgICAgdGhpcy5fX3ZpZXdzX18gPSBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgY2xvbmUgb2YgdGhlIGxhenkgd3JhcHBlciBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIGNsb25lXG4gICAgICogQG1lbWJlck9mIExhenlXcmFwcGVyXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgY2xvbmVkIGBMYXp5V3JhcHBlcmAgb2JqZWN0LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxhenlDbG9uZSgpIHtcbiAgICAgIHZhciByZXN1bHQgPSBuZXcgTGF6eVdyYXBwZXIodGhpcy5fX3dyYXBwZWRfXyk7XG4gICAgICByZXN1bHQuX19hY3Rpb25zX18gPSBjb3B5QXJyYXkodGhpcy5fX2FjdGlvbnNfXyk7XG4gICAgICByZXN1bHQuX19kaXJfXyA9IHRoaXMuX19kaXJfXztcbiAgICAgIHJlc3VsdC5fX2ZpbHRlcmVkX18gPSB0aGlzLl9fZmlsdGVyZWRfXztcbiAgICAgIHJlc3VsdC5fX2l0ZXJhdGVlc19fID0gY29weUFycmF5KHRoaXMuX19pdGVyYXRlZXNfXyk7XG4gICAgICByZXN1bHQuX190YWtlQ291bnRfXyA9IHRoaXMuX190YWtlQ291bnRfXztcbiAgICAgIHJlc3VsdC5fX3ZpZXdzX18gPSBjb3B5QXJyYXkodGhpcy5fX3ZpZXdzX18pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXZlcnNlcyB0aGUgZGlyZWN0aW9uIG9mIGxhenkgaXRlcmF0aW9uLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSByZXZlcnNlXG4gICAgICogQG1lbWJlck9mIExhenlXcmFwcGVyXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IHJldmVyc2VkIGBMYXp5V3JhcHBlcmAgb2JqZWN0LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxhenlSZXZlcnNlKCkge1xuICAgICAgaWYgKHRoaXMuX19maWx0ZXJlZF9fKSB7XG4gICAgICAgIHZhciByZXN1bHQgPSBuZXcgTGF6eVdyYXBwZXIodGhpcyk7XG4gICAgICAgIHJlc3VsdC5fX2Rpcl9fID0gLTE7XG4gICAgICAgIHJlc3VsdC5fX2ZpbHRlcmVkX18gPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5jbG9uZSgpO1xuICAgICAgICByZXN1bHQuX19kaXJfXyAqPSAtMTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXh0cmFjdHMgdGhlIHVud3JhcHBlZCB2YWx1ZSBmcm9tIGl0cyBsYXp5IHdyYXBwZXIuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIHZhbHVlXG4gICAgICogQG1lbWJlck9mIExhenlXcmFwcGVyXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHVud3JhcHBlZCB2YWx1ZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBsYXp5VmFsdWUoKSB7XG4gICAgICB2YXIgYXJyYXkgPSB0aGlzLl9fd3JhcHBlZF9fLnZhbHVlKCksXG4gICAgICAgICAgZGlyID0gdGhpcy5fX2Rpcl9fLFxuICAgICAgICAgIGlzQXJyID0gaXNBcnJheShhcnJheSksXG4gICAgICAgICAgaXNSaWdodCA9IGRpciA8IDAsXG4gICAgICAgICAgYXJyTGVuZ3RoID0gaXNBcnIgPyBhcnJheS5sZW5ndGggOiAwLFxuICAgICAgICAgIHZpZXcgPSBnZXRWaWV3KDAsIGFyckxlbmd0aCwgdGhpcy5fX3ZpZXdzX18pLFxuICAgICAgICAgIHN0YXJ0ID0gdmlldy5zdGFydCxcbiAgICAgICAgICBlbmQgPSB2aWV3LmVuZCxcbiAgICAgICAgICBsZW5ndGggPSBlbmQgLSBzdGFydCxcbiAgICAgICAgICBpbmRleCA9IGlzUmlnaHQgPyBlbmQgOiAoc3RhcnQgLSAxKSxcbiAgICAgICAgICBpdGVyYXRlZXMgPSB0aGlzLl9faXRlcmF0ZWVzX18sXG4gICAgICAgICAgaXRlckxlbmd0aCA9IGl0ZXJhdGVlcy5sZW5ndGgsXG4gICAgICAgICAgcmVzSW5kZXggPSAwLFxuICAgICAgICAgIHRha2VDb3VudCA9IG5hdGl2ZU1pbihsZW5ndGgsIHRoaXMuX190YWtlQ291bnRfXyk7XG5cbiAgICAgIGlmICghaXNBcnIgfHwgKCFpc1JpZ2h0ICYmIGFyckxlbmd0aCA9PSBsZW5ndGggJiYgdGFrZUNvdW50ID09IGxlbmd0aCkpIHtcbiAgICAgICAgcmV0dXJuIGJhc2VXcmFwcGVyVmFsdWUoYXJyYXksIHRoaXMuX19hY3Rpb25zX18pO1xuICAgICAgfVxuICAgICAgdmFyIHJlc3VsdCA9IFtdO1xuXG4gICAgICBvdXRlcjpcbiAgICAgIHdoaWxlIChsZW5ndGgtLSAmJiByZXNJbmRleCA8IHRha2VDb3VudCkge1xuICAgICAgICBpbmRleCArPSBkaXI7XG5cbiAgICAgICAgdmFyIGl0ZXJJbmRleCA9IC0xLFxuICAgICAgICAgICAgdmFsdWUgPSBhcnJheVtpbmRleF07XG5cbiAgICAgICAgd2hpbGUgKCsraXRlckluZGV4IDwgaXRlckxlbmd0aCkge1xuICAgICAgICAgIHZhciBkYXRhID0gaXRlcmF0ZWVzW2l0ZXJJbmRleF0sXG4gICAgICAgICAgICAgIGl0ZXJhdGVlID0gZGF0YS5pdGVyYXRlZSxcbiAgICAgICAgICAgICAgdHlwZSA9IGRhdGEudHlwZSxcbiAgICAgICAgICAgICAgY29tcHV0ZWQgPSBpdGVyYXRlZSh2YWx1ZSk7XG5cbiAgICAgICAgICBpZiAodHlwZSA9PSBMQVpZX01BUF9GTEFHKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IGNvbXB1dGVkO1xuICAgICAgICAgIH0gZWxzZSBpZiAoIWNvbXB1dGVkKSB7XG4gICAgICAgICAgICBpZiAodHlwZSA9PSBMQVpZX0ZJTFRFUl9GTEFHKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlIG91dGVyO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgYnJlYWsgb3V0ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJlc3VsdFtyZXNJbmRleCsrXSA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgYExhenlXcmFwcGVyYCBpcyBhbiBpbnN0YW5jZSBvZiBgYmFzZUxvZGFzaGAuXG4gICAgTGF6eVdyYXBwZXIucHJvdG90eXBlID0gYmFzZUNyZWF0ZShiYXNlTG9kYXNoLnByb3RvdHlwZSk7XG4gICAgTGF6eVdyYXBwZXIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gTGF6eVdyYXBwZXI7XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgaGFzaCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBjb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFtlbnRyaWVzXSBUaGUga2V5LXZhbHVlIHBhaXJzIHRvIGNhY2hlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIEhhc2goZW50cmllcykge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gZW50cmllcyA9PSBudWxsID8gMCA6IGVudHJpZXMubGVuZ3RoO1xuXG4gICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgZW50cnkgPSBlbnRyaWVzW2luZGV4XTtcbiAgICAgICAgdGhpcy5zZXQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGFsbCBrZXktdmFsdWUgZW50cmllcyBmcm9tIHRoZSBoYXNoLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBjbGVhclxuICAgICAqIEBtZW1iZXJPZiBIYXNoXG4gICAgICovXG4gICAgZnVuY3Rpb24gaGFzaENsZWFyKCkge1xuICAgICAgdGhpcy5fX2RhdGFfXyA9IG5hdGl2ZUNyZWF0ZSA/IG5hdGl2ZUNyZWF0ZShudWxsKSA6IHt9O1xuICAgICAgdGhpcy5zaXplID0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGBrZXlgIGFuZCBpdHMgdmFsdWUgZnJvbSB0aGUgaGFzaC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgZGVsZXRlXG4gICAgICogQG1lbWJlck9mIEhhc2hcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gaGFzaCBUaGUgaGFzaCB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byByZW1vdmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBlbnRyeSB3YXMgcmVtb3ZlZCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGhhc2hEZWxldGUoa2V5KSB7XG4gICAgICB2YXIgcmVzdWx0ID0gdGhpcy5oYXMoa2V5KSAmJiBkZWxldGUgdGhpcy5fX2RhdGFfX1trZXldO1xuICAgICAgdGhpcy5zaXplIC09IHJlc3VsdCA/IDEgOiAwO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBoYXNoIHZhbHVlIGZvciBga2V5YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgZ2V0XG4gICAgICogQG1lbWJlck9mIEhhc2hcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIGdldC5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgZW50cnkgdmFsdWUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaGFzaEdldChrZXkpIHtcbiAgICAgIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXztcbiAgICAgIGlmIChuYXRpdmVDcmVhdGUpIHtcbiAgICAgICAgdmFyIHJlc3VsdCA9IGRhdGFba2V5XTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdCA9PT0gSEFTSF9VTkRFRklORUQgPyB1bmRlZmluZWQgOiByZXN1bHQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gaGFzT3duUHJvcGVydHkuY2FsbChkYXRhLCBrZXkpID8gZGF0YVtrZXldIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBhIGhhc2ggdmFsdWUgZm9yIGBrZXlgIGV4aXN0cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgaGFzXG4gICAgICogQG1lbWJlck9mIEhhc2hcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIGVudHJ5IHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhbiBlbnRyeSBmb3IgYGtleWAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaGFzaEhhcyhrZXkpIHtcbiAgICAgIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXztcbiAgICAgIHJldHVybiBuYXRpdmVDcmVhdGUgPyAoZGF0YVtrZXldICE9PSB1bmRlZmluZWQpIDogaGFzT3duUHJvcGVydHkuY2FsbChkYXRhLCBrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGhhc2ggYGtleWAgdG8gYHZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgc2V0XG4gICAgICogQG1lbWJlck9mIEhhc2hcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHNldC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZXQuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgaGFzaCBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBoYXNoU2V0KGtleSwgdmFsdWUpIHtcbiAgICAgIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXztcbiAgICAgIHRoaXMuc2l6ZSArPSB0aGlzLmhhcyhrZXkpID8gMCA6IDE7XG4gICAgICBkYXRhW2tleV0gPSAobmF0aXZlQ3JlYXRlICYmIHZhbHVlID09PSB1bmRlZmluZWQpID8gSEFTSF9VTkRFRklORUQgOiB2YWx1ZTtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8vIEFkZCBtZXRob2RzIHRvIGBIYXNoYC5cbiAgICBIYXNoLnByb3RvdHlwZS5jbGVhciA9IGhhc2hDbGVhcjtcbiAgICBIYXNoLnByb3RvdHlwZVsnZGVsZXRlJ10gPSBoYXNoRGVsZXRlO1xuICAgIEhhc2gucHJvdG90eXBlLmdldCA9IGhhc2hHZXQ7XG4gICAgSGFzaC5wcm90b3R5cGUuaGFzID0gaGFzaEhhcztcbiAgICBIYXNoLnByb3RvdHlwZS5zZXQgPSBoYXNoU2V0O1xuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBsaXN0IGNhY2hlIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQGNvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIHtBcnJheX0gW2VudHJpZXNdIFRoZSBrZXktdmFsdWUgcGFpcnMgdG8gY2FjaGUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gTGlzdENhY2hlKGVudHJpZXMpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IGVudHJpZXMgPT0gbnVsbCA/IDAgOiBlbnRyaWVzLmxlbmd0aDtcblxuICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIGVudHJ5ID0gZW50cmllc1tpbmRleF07XG4gICAgICAgIHRoaXMuc2V0KGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhbGwga2V5LXZhbHVlIGVudHJpZXMgZnJvbSB0aGUgbGlzdCBjYWNoZS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgY2xlYXJcbiAgICAgKiBAbWVtYmVyT2YgTGlzdENhY2hlXG4gICAgICovXG4gICAgZnVuY3Rpb24gbGlzdENhY2hlQ2xlYXIoKSB7XG4gICAgICB0aGlzLl9fZGF0YV9fID0gW107XG4gICAgICB0aGlzLnNpemUgPSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYGtleWAgYW5kIGl0cyB2YWx1ZSBmcm9tIHRoZSBsaXN0IGNhY2hlLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBkZWxldGVcbiAgICAgKiBAbWVtYmVyT2YgTGlzdENhY2hlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byByZW1vdmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBlbnRyeSB3YXMgcmVtb3ZlZCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxpc3RDYWNoZURlbGV0ZShrZXkpIHtcbiAgICAgIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXyxcbiAgICAgICAgICBpbmRleCA9IGFzc29jSW5kZXhPZihkYXRhLCBrZXkpO1xuXG4gICAgICBpZiAoaW5kZXggPCAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHZhciBsYXN0SW5kZXggPSBkYXRhLmxlbmd0aCAtIDE7XG4gICAgICBpZiAoaW5kZXggPT0gbGFzdEluZGV4KSB7XG4gICAgICAgIGRhdGEucG9wKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzcGxpY2UuY2FsbChkYXRhLCBpbmRleCwgMSk7XG4gICAgICB9XG4gICAgICAtLXRoaXMuc2l6ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGxpc3QgY2FjaGUgdmFsdWUgZm9yIGBrZXlgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBnZXRcbiAgICAgKiBAbWVtYmVyT2YgTGlzdENhY2hlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBnZXQuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGVudHJ5IHZhbHVlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxpc3RDYWNoZUdldChrZXkpIHtcbiAgICAgIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXyxcbiAgICAgICAgICBpbmRleCA9IGFzc29jSW5kZXhPZihkYXRhLCBrZXkpO1xuXG4gICAgICByZXR1cm4gaW5kZXggPCAwID8gdW5kZWZpbmVkIDogZGF0YVtpbmRleF1bMV07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGEgbGlzdCBjYWNoZSB2YWx1ZSBmb3IgYGtleWAgZXhpc3RzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBoYXNcbiAgICAgKiBAbWVtYmVyT2YgTGlzdENhY2hlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBlbnRyeSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYW4gZW50cnkgZm9yIGBrZXlgIGV4aXN0cywgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxpc3RDYWNoZUhhcyhrZXkpIHtcbiAgICAgIHJldHVybiBhc3NvY0luZGV4T2YodGhpcy5fX2RhdGFfXywga2V5KSA+IC0xO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGxpc3QgY2FjaGUgYGtleWAgdG8gYHZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgc2V0XG4gICAgICogQG1lbWJlck9mIExpc3RDYWNoZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBsaXN0IGNhY2hlIGluc3RhbmNlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxpc3RDYWNoZVNldChrZXksIHZhbHVlKSB7XG4gICAgICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX18sXG4gICAgICAgICAgaW5kZXggPSBhc3NvY0luZGV4T2YoZGF0YSwga2V5KTtcblxuICAgICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgICArK3RoaXMuc2l6ZTtcbiAgICAgICAgZGF0YS5wdXNoKFtrZXksIHZhbHVlXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhW2luZGV4XVsxXSA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLy8gQWRkIG1ldGhvZHMgdG8gYExpc3RDYWNoZWAuXG4gICAgTGlzdENhY2hlLnByb3RvdHlwZS5jbGVhciA9IGxpc3RDYWNoZUNsZWFyO1xuICAgIExpc3RDYWNoZS5wcm90b3R5cGVbJ2RlbGV0ZSddID0gbGlzdENhY2hlRGVsZXRlO1xuICAgIExpc3RDYWNoZS5wcm90b3R5cGUuZ2V0ID0gbGlzdENhY2hlR2V0O1xuICAgIExpc3RDYWNoZS5wcm90b3R5cGUuaGFzID0gbGlzdENhY2hlSGFzO1xuICAgIExpc3RDYWNoZS5wcm90b3R5cGUuc2V0ID0gbGlzdENhY2hlU2V0O1xuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG1hcCBjYWNoZSBvYmplY3QgdG8gc3RvcmUga2V5LXZhbHVlIHBhaXJzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAY29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbZW50cmllc10gVGhlIGtleS12YWx1ZSBwYWlycyB0byBjYWNoZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBNYXBDYWNoZShlbnRyaWVzKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBlbnRyaWVzID09IG51bGwgPyAwIDogZW50cmllcy5sZW5ndGg7XG5cbiAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciBlbnRyeSA9IGVudHJpZXNbaW5kZXhdO1xuICAgICAgICB0aGlzLnNldChlbnRyeVswXSwgZW50cnlbMV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYWxsIGtleS12YWx1ZSBlbnRyaWVzIGZyb20gdGhlIG1hcC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgY2xlYXJcbiAgICAgKiBAbWVtYmVyT2YgTWFwQ2FjaGVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXBDYWNoZUNsZWFyKCkge1xuICAgICAgdGhpcy5zaXplID0gMDtcbiAgICAgIHRoaXMuX19kYXRhX18gPSB7XG4gICAgICAgICdoYXNoJzogbmV3IEhhc2gsXG4gICAgICAgICdtYXAnOiBuZXcgKE1hcCB8fCBMaXN0Q2FjaGUpLFxuICAgICAgICAnc3RyaW5nJzogbmV3IEhhc2hcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBga2V5YCBhbmQgaXRzIHZhbHVlIGZyb20gdGhlIG1hcC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgZGVsZXRlXG4gICAgICogQG1lbWJlck9mIE1hcENhY2hlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byByZW1vdmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBlbnRyeSB3YXMgcmVtb3ZlZCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1hcENhY2hlRGVsZXRlKGtleSkge1xuICAgICAgdmFyIHJlc3VsdCA9IGdldE1hcERhdGEodGhpcywga2V5KVsnZGVsZXRlJ10oa2V5KTtcbiAgICAgIHRoaXMuc2l6ZSAtPSByZXN1bHQgPyAxIDogMDtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbWFwIHZhbHVlIGZvciBga2V5YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgZ2V0XG4gICAgICogQG1lbWJlck9mIE1hcENhY2hlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBnZXQuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGVudHJ5IHZhbHVlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1hcENhY2hlR2V0KGtleSkge1xuICAgICAgcmV0dXJuIGdldE1hcERhdGEodGhpcywga2V5KS5nZXQoa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYSBtYXAgdmFsdWUgZm9yIGBrZXlgIGV4aXN0cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgaGFzXG4gICAgICogQG1lbWJlck9mIE1hcENhY2hlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBlbnRyeSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYW4gZW50cnkgZm9yIGBrZXlgIGV4aXN0cywgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1hcENhY2hlSGFzKGtleSkge1xuICAgICAgcmV0dXJuIGdldE1hcERhdGEodGhpcywga2V5KS5oYXMoa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBtYXAgYGtleWAgdG8gYHZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgc2V0XG4gICAgICogQG1lbWJlck9mIE1hcENhY2hlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBzZXQuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2V0LlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG1hcCBjYWNoZSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXBDYWNoZVNldChrZXksIHZhbHVlKSB7XG4gICAgICB2YXIgZGF0YSA9IGdldE1hcERhdGEodGhpcywga2V5KSxcbiAgICAgICAgICBzaXplID0gZGF0YS5zaXplO1xuXG4gICAgICBkYXRhLnNldChrZXksIHZhbHVlKTtcbiAgICAgIHRoaXMuc2l6ZSArPSBkYXRhLnNpemUgPT0gc2l6ZSA/IDAgOiAxO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLy8gQWRkIG1ldGhvZHMgdG8gYE1hcENhY2hlYC5cbiAgICBNYXBDYWNoZS5wcm90b3R5cGUuY2xlYXIgPSBtYXBDYWNoZUNsZWFyO1xuICAgIE1hcENhY2hlLnByb3RvdHlwZVsnZGVsZXRlJ10gPSBtYXBDYWNoZURlbGV0ZTtcbiAgICBNYXBDYWNoZS5wcm90b3R5cGUuZ2V0ID0gbWFwQ2FjaGVHZXQ7XG4gICAgTWFwQ2FjaGUucHJvdG90eXBlLmhhcyA9IG1hcENhY2hlSGFzO1xuICAgIE1hcENhY2hlLnByb3RvdHlwZS5zZXQgPSBtYXBDYWNoZVNldDtcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBjYWNoZSBvYmplY3QgdG8gc3RvcmUgdW5pcXVlIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQGNvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIHtBcnJheX0gW3ZhbHVlc10gVGhlIHZhbHVlcyB0byBjYWNoZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBTZXRDYWNoZSh2YWx1ZXMpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHZhbHVlcyA9PSBudWxsID8gMCA6IHZhbHVlcy5sZW5ndGg7XG5cbiAgICAgIHRoaXMuX19kYXRhX18gPSBuZXcgTWFwQ2FjaGU7XG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB0aGlzLmFkZCh2YWx1ZXNbaW5kZXhdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGB2YWx1ZWAgdG8gdGhlIGFycmF5IGNhY2hlLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBhZGRcbiAgICAgKiBAbWVtYmVyT2YgU2V0Q2FjaGVcbiAgICAgKiBAYWxpYXMgcHVzaFxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNhY2hlLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGNhY2hlIGluc3RhbmNlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNldENhY2hlQWRkKHZhbHVlKSB7XG4gICAgICB0aGlzLl9fZGF0YV9fLnNldCh2YWx1ZSwgSEFTSF9VTkRFRklORUQpO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgaW4gdGhlIGFycmF5IGNhY2hlLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBoYXNcbiAgICAgKiBAbWVtYmVyT2YgU2V0Q2FjaGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZWFyY2ggZm9yLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgZm91bmQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzZXRDYWNoZUhhcyh2YWx1ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuX19kYXRhX18uaGFzKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgbWV0aG9kcyB0byBgU2V0Q2FjaGVgLlxuICAgIFNldENhY2hlLnByb3RvdHlwZS5hZGQgPSBTZXRDYWNoZS5wcm90b3R5cGUucHVzaCA9IHNldENhY2hlQWRkO1xuICAgIFNldENhY2hlLnByb3RvdHlwZS5oYXMgPSBzZXRDYWNoZUhhcztcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzdGFjayBjYWNoZSBvYmplY3QgdG8gc3RvcmUga2V5LXZhbHVlIHBhaXJzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAY29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbZW50cmllc10gVGhlIGtleS12YWx1ZSBwYWlycyB0byBjYWNoZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBTdGFjayhlbnRyaWVzKSB7XG4gICAgICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX18gPSBuZXcgTGlzdENhY2hlKGVudHJpZXMpO1xuICAgICAgdGhpcy5zaXplID0gZGF0YS5zaXplO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYWxsIGtleS12YWx1ZSBlbnRyaWVzIGZyb20gdGhlIHN0YWNrLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBjbGVhclxuICAgICAqIEBtZW1iZXJPZiBTdGFja1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHN0YWNrQ2xlYXIoKSB7XG4gICAgICB0aGlzLl9fZGF0YV9fID0gbmV3IExpc3RDYWNoZTtcbiAgICAgIHRoaXMuc2l6ZSA9IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBga2V5YCBhbmQgaXRzIHZhbHVlIGZyb20gdGhlIHN0YWNrLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBkZWxldGVcbiAgICAgKiBAbWVtYmVyT2YgU3RhY2tcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHJlbW92ZS5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGVudHJ5IHdhcyByZW1vdmVkLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gc3RhY2tEZWxldGUoa2V5KSB7XG4gICAgICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX18sXG4gICAgICAgICAgcmVzdWx0ID0gZGF0YVsnZGVsZXRlJ10oa2V5KTtcblxuICAgICAgdGhpcy5zaXplID0gZGF0YS5zaXplO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBzdGFjayB2YWx1ZSBmb3IgYGtleWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIGdldFxuICAgICAqIEBtZW1iZXJPZiBTdGFja1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gZ2V0LlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBlbnRyeSB2YWx1ZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzdGFja0dldChrZXkpIHtcbiAgICAgIHJldHVybiB0aGlzLl9fZGF0YV9fLmdldChrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBhIHN0YWNrIHZhbHVlIGZvciBga2V5YCBleGlzdHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIGhhc1xuICAgICAqIEBtZW1iZXJPZiBTdGFja1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgZW50cnkgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGFuIGVudHJ5IGZvciBga2V5YCBleGlzdHMsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzdGFja0hhcyhrZXkpIHtcbiAgICAgIHJldHVybiB0aGlzLl9fZGF0YV9fLmhhcyhrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHN0YWNrIGBrZXlgIHRvIGB2YWx1ZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIHNldFxuICAgICAqIEBtZW1iZXJPZiBTdGFja1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBzdGFjayBjYWNoZSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzdGFja1NldChrZXksIHZhbHVlKSB7XG4gICAgICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX187XG4gICAgICBpZiAoZGF0YSBpbnN0YW5jZW9mIExpc3RDYWNoZSkge1xuICAgICAgICB2YXIgcGFpcnMgPSBkYXRhLl9fZGF0YV9fO1xuICAgICAgICBpZiAoIU1hcCB8fCAocGFpcnMubGVuZ3RoIDwgTEFSR0VfQVJSQVlfU0laRSAtIDEpKSB7XG4gICAgICAgICAgcGFpcnMucHVzaChba2V5LCB2YWx1ZV0pO1xuICAgICAgICAgIHRoaXMuc2l6ZSA9ICsrZGF0YS5zaXplO1xuICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9XG4gICAgICAgIGRhdGEgPSB0aGlzLl9fZGF0YV9fID0gbmV3IE1hcENhY2hlKHBhaXJzKTtcbiAgICAgIH1cbiAgICAgIGRhdGEuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgdGhpcy5zaXplID0gZGF0YS5zaXplO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLy8gQWRkIG1ldGhvZHMgdG8gYFN0YWNrYC5cbiAgICBTdGFjay5wcm90b3R5cGUuY2xlYXIgPSBzdGFja0NsZWFyO1xuICAgIFN0YWNrLnByb3RvdHlwZVsnZGVsZXRlJ10gPSBzdGFja0RlbGV0ZTtcbiAgICBTdGFjay5wcm90b3R5cGUuZ2V0ID0gc3RhY2tHZXQ7XG4gICAgU3RhY2sucHJvdG90eXBlLmhhcyA9IHN0YWNrSGFzO1xuICAgIFN0YWNrLnByb3RvdHlwZS5zZXQgPSBzdGFja1NldDtcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdGhlIGVudW1lcmFibGUgcHJvcGVydHkgbmFtZXMgb2YgdGhlIGFycmF5LWxpa2UgYHZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBpbmhlcml0ZWQgU3BlY2lmeSByZXR1cm5pbmcgaW5oZXJpdGVkIHByb3BlcnR5IG5hbWVzLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYXJyYXlMaWtlS2V5cyh2YWx1ZSwgaW5oZXJpdGVkKSB7XG4gICAgICB2YXIgaXNBcnIgPSBpc0FycmF5KHZhbHVlKSxcbiAgICAgICAgICBpc0FyZyA9ICFpc0FyciAmJiBpc0FyZ3VtZW50cyh2YWx1ZSksXG4gICAgICAgICAgaXNCdWZmID0gIWlzQXJyICYmICFpc0FyZyAmJiBpc0J1ZmZlcih2YWx1ZSksXG4gICAgICAgICAgaXNUeXBlID0gIWlzQXJyICYmICFpc0FyZyAmJiAhaXNCdWZmICYmIGlzVHlwZWRBcnJheSh2YWx1ZSksXG4gICAgICAgICAgc2tpcEluZGV4ZXMgPSBpc0FyciB8fCBpc0FyZyB8fCBpc0J1ZmYgfHwgaXNUeXBlLFxuICAgICAgICAgIHJlc3VsdCA9IHNraXBJbmRleGVzID8gYmFzZVRpbWVzKHZhbHVlLmxlbmd0aCwgU3RyaW5nKSA6IFtdLFxuICAgICAgICAgIGxlbmd0aCA9IHJlc3VsdC5sZW5ndGg7XG5cbiAgICAgIGZvciAodmFyIGtleSBpbiB2YWx1ZSkge1xuICAgICAgICBpZiAoKGluaGVyaXRlZCB8fCBoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCBrZXkpKSAmJlxuICAgICAgICAgICAgIShza2lwSW5kZXhlcyAmJiAoXG4gICAgICAgICAgICAgICAvLyBTYWZhcmkgOSBoYXMgZW51bWVyYWJsZSBgYXJndW1lbnRzLmxlbmd0aGAgaW4gc3RyaWN0IG1vZGUuXG4gICAgICAgICAgICAgICBrZXkgPT0gJ2xlbmd0aCcgfHxcbiAgICAgICAgICAgICAgIC8vIE5vZGUuanMgMC4xMCBoYXMgZW51bWVyYWJsZSBub24taW5kZXggcHJvcGVydGllcyBvbiBidWZmZXJzLlxuICAgICAgICAgICAgICAgKGlzQnVmZiAmJiAoa2V5ID09ICdvZmZzZXQnIHx8IGtleSA9PSAncGFyZW50JykpIHx8XG4gICAgICAgICAgICAgICAvLyBQaGFudG9tSlMgMiBoYXMgZW51bWVyYWJsZSBub24taW5kZXggcHJvcGVydGllcyBvbiB0eXBlZCBhcnJheXMuXG4gICAgICAgICAgICAgICAoaXNUeXBlICYmIChrZXkgPT0gJ2J1ZmZlcicgfHwga2V5ID09ICdieXRlTGVuZ3RoJyB8fCBrZXkgPT0gJ2J5dGVPZmZzZXQnKSkgfHxcbiAgICAgICAgICAgICAgIC8vIFNraXAgaW5kZXggcHJvcGVydGllcy5cbiAgICAgICAgICAgICAgIGlzSW5kZXgoa2V5LCBsZW5ndGgpXG4gICAgICAgICAgICApKSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLnNhbXBsZWAgZm9yIGFycmF5cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHNhbXBsZS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcmFuZG9tIGVsZW1lbnQuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYXJyYXlTYW1wbGUoYXJyYXkpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG4gICAgICByZXR1cm4gbGVuZ3RoID8gYXJyYXlbYmFzZVJhbmRvbSgwLCBsZW5ndGggLSAxKV0gOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLnNhbXBsZVNpemVgIGZvciBhcnJheXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBzYW1wbGUuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG4gVGhlIG51bWJlciBvZiBlbGVtZW50cyB0byBzYW1wbGUuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSByYW5kb20gZWxlbWVudHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYXJyYXlTYW1wbGVTaXplKGFycmF5LCBuKSB7XG4gICAgICByZXR1cm4gc2h1ZmZsZVNlbGYoY29weUFycmF5KGFycmF5KSwgYmFzZUNsYW1wKG4sIDAsIGFycmF5Lmxlbmd0aCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5zaHVmZmxlYCBmb3IgYXJyYXlzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gc2h1ZmZsZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBzaHVmZmxlZCBhcnJheS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBhcnJheVNodWZmbGUoYXJyYXkpIHtcbiAgICAgIHJldHVybiBzaHVmZmxlU2VsZihjb3B5QXJyYXkoYXJyYXkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGxpa2UgYGFzc2lnblZhbHVlYCBleGNlcHQgdGhhdCBpdCBkb2Vzbid0IGFzc2lnblxuICAgICAqIGB1bmRlZmluZWRgIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGFzc2lnbi5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBhc3NpZ24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gYXNzaWduTWVyZ2VWYWx1ZShvYmplY3QsIGtleSwgdmFsdWUpIHtcbiAgICAgIGlmICgodmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhZXEob2JqZWN0W2tleV0sIHZhbHVlKSkgfHxcbiAgICAgICAgICAodmFsdWUgPT09IHVuZGVmaW5lZCAmJiAhKGtleSBpbiBvYmplY3QpKSkge1xuICAgICAgICBiYXNlQXNzaWduVmFsdWUob2JqZWN0LCBrZXksIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBc3NpZ25zIGB2YWx1ZWAgdG8gYGtleWAgb2YgYG9iamVjdGAgaWYgdGhlIGV4aXN0aW5nIHZhbHVlIGlzIG5vdCBlcXVpdmFsZW50XG4gICAgICogdXNpbmcgW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAgICAgKiBmb3IgZXF1YWxpdHkgY29tcGFyaXNvbnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBhc3NpZ24uXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gYXNzaWduLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGFzc2lnblZhbHVlKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICAgICAgdmFyIG9ialZhbHVlID0gb2JqZWN0W2tleV07XG4gICAgICBpZiAoIShoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwga2V5KSAmJiBlcShvYmpWYWx1ZSwgdmFsdWUpKSB8fFxuICAgICAgICAgICh2YWx1ZSA9PT0gdW5kZWZpbmVkICYmICEoa2V5IGluIG9iamVjdCkpKSB7XG4gICAgICAgIGJhc2VBc3NpZ25WYWx1ZShvYmplY3QsIGtleSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGluZGV4IGF0IHdoaWNoIHRoZSBga2V5YCBpcyBmb3VuZCBpbiBgYXJyYXlgIG9mIGtleS12YWx1ZSBwYWlycy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsqfSBrZXkgVGhlIGtleSB0byBzZWFyY2ggZm9yLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBtYXRjaGVkIHZhbHVlLCBlbHNlIGAtMWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYXNzb2NJbmRleE9mKGFycmF5LCBrZXkpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG4gICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgaWYgKGVxKGFycmF5W2xlbmd0aF1bMF0sIGtleSkpIHtcbiAgICAgICAgICByZXR1cm4gbGVuZ3RoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWdncmVnYXRlcyBlbGVtZW50cyBvZiBgY29sbGVjdGlvbmAgb24gYGFjY3VtdWxhdG9yYCB3aXRoIGtleXMgdHJhbnNmb3JtZWRcbiAgICAgKiBieSBgaXRlcmF0ZWVgIGFuZCB2YWx1ZXMgc2V0IGJ5IGBzZXR0ZXJgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gc2V0dGVyIFRoZSBmdW5jdGlvbiB0byBzZXQgYGFjY3VtdWxhdG9yYCB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGl0ZXJhdGVlIHRvIHRyYW5zZm9ybSBrZXlzLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBhY2N1bXVsYXRvciBUaGUgaW5pdGlhbCBhZ2dyZWdhdGVkIG9iamVjdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgYGFjY3VtdWxhdG9yYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlQWdncmVnYXRvcihjb2xsZWN0aW9uLCBzZXR0ZXIsIGl0ZXJhdGVlLCBhY2N1bXVsYXRvcikge1xuICAgICAgYmFzZUVhY2goY29sbGVjdGlvbiwgZnVuY3Rpb24odmFsdWUsIGtleSwgY29sbGVjdGlvbikge1xuICAgICAgICBzZXR0ZXIoYWNjdW11bGF0b3IsIHZhbHVlLCBpdGVyYXRlZSh2YWx1ZSksIGNvbGxlY3Rpb24pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uYXNzaWduYCB3aXRob3V0IHN1cHBvcnQgZm9yIG11bHRpcGxlIHNvdXJjZXNcbiAgICAgKiBvciBgY3VzdG9taXplcmAgZnVuY3Rpb25zLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBkZXN0aW5hdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgc291cmNlIG9iamVjdC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VBc3NpZ24ob2JqZWN0LCBzb3VyY2UpIHtcbiAgICAgIHJldHVybiBvYmplY3QgJiYgY29weU9iamVjdChzb3VyY2UsIGtleXMoc291cmNlKSwgb2JqZWN0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5hc3NpZ25JbmAgd2l0aG91dCBzdXBwb3J0IGZvciBtdWx0aXBsZSBzb3VyY2VzXG4gICAgICogb3IgYGN1c3RvbWl6ZXJgIGZ1bmN0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgZGVzdGluYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlQXNzaWduSW4ob2JqZWN0LCBzb3VyY2UpIHtcbiAgICAgIHJldHVybiBvYmplY3QgJiYgY29weU9iamVjdChzb3VyY2UsIGtleXNJbihzb3VyY2UpLCBvYmplY3QpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBhc3NpZ25WYWx1ZWAgYW5kIGBhc3NpZ25NZXJnZVZhbHVlYCB3aXRob3V0XG4gICAgICogdmFsdWUgY2hlY2tzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gYXNzaWduLlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGFzc2lnbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlQXNzaWduVmFsdWUob2JqZWN0LCBrZXksIHZhbHVlKSB7XG4gICAgICBpZiAoa2V5ID09ICdfX3Byb3RvX18nICYmIGRlZmluZVByb3BlcnR5KSB7XG4gICAgICAgIGRlZmluZVByb3BlcnR5KG9iamVjdCwga2V5LCB7XG4gICAgICAgICAgJ2NvbmZpZ3VyYWJsZSc6IHRydWUsXG4gICAgICAgICAgJ2VudW1lcmFibGUnOiB0cnVlLFxuICAgICAgICAgICd2YWx1ZSc6IHZhbHVlLFxuICAgICAgICAgICd3cml0YWJsZSc6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvYmplY3Rba2V5XSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmF0YCB3aXRob3V0IHN1cHBvcnQgZm9yIGluZGl2aWR1YWwgcGF0aHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtzdHJpbmdbXX0gcGF0aHMgVGhlIHByb3BlcnR5IHBhdGhzIHRvIHBpY2suXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBwaWNrZWQgZWxlbWVudHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUF0KG9iamVjdCwgcGF0aHMpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHBhdGhzLmxlbmd0aCxcbiAgICAgICAgICByZXN1bHQgPSBBcnJheShsZW5ndGgpLFxuICAgICAgICAgIHNraXAgPSBvYmplY3QgPT0gbnVsbDtcblxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgcmVzdWx0W2luZGV4XSA9IHNraXAgPyB1bmRlZmluZWQgOiBnZXQob2JqZWN0LCBwYXRoc1tpbmRleF0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5jbGFtcGAgd2hpY2ggZG9lc24ndCBjb2VyY2UgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbnVtYmVyIFRoZSBudW1iZXIgdG8gY2xhbXAuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtsb3dlcl0gVGhlIGxvd2VyIGJvdW5kLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSB1cHBlciBUaGUgdXBwZXIgYm91bmQuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgY2xhbXBlZCBudW1iZXIuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUNsYW1wKG51bWJlciwgbG93ZXIsIHVwcGVyKSB7XG4gICAgICBpZiAobnVtYmVyID09PSBudW1iZXIpIHtcbiAgICAgICAgaWYgKHVwcGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBudW1iZXIgPSBudW1iZXIgPD0gdXBwZXIgPyBudW1iZXIgOiB1cHBlcjtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG93ZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIG51bWJlciA9IG51bWJlciA+PSBsb3dlciA/IG51bWJlciA6IGxvd2VyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVtYmVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmNsb25lYCBhbmQgYF8uY2xvbmVEZWVwYCB3aGljaCB0cmFja3NcbiAgICAgKiB0cmF2ZXJzZWQgb2JqZWN0cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2xvbmUuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBiaXRtYXNrIFRoZSBiaXRtYXNrIGZsYWdzLlxuICAgICAqICAxIC0gRGVlcCBjbG9uZVxuICAgICAqICAyIC0gRmxhdHRlbiBpbmhlcml0ZWQgcHJvcGVydGllc1xuICAgICAqICA0IC0gQ2xvbmUgc3ltYm9sc1xuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNsb25pbmcuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtrZXldIFRoZSBrZXkgb2YgYHZhbHVlYC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29iamVjdF0gVGhlIHBhcmVudCBvYmplY3Qgb2YgYHZhbHVlYC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW3N0YWNrXSBUcmFja3MgdHJhdmVyc2VkIG9iamVjdHMgYW5kIHRoZWlyIGNsb25lIGNvdW50ZXJwYXJ0cy5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgY2xvbmVkIHZhbHVlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VDbG9uZSh2YWx1ZSwgYml0bWFzaywgY3VzdG9taXplciwga2V5LCBvYmplY3QsIHN0YWNrKSB7XG4gICAgICB2YXIgcmVzdWx0LFxuICAgICAgICAgIGlzRGVlcCA9IGJpdG1hc2sgJiBDTE9ORV9ERUVQX0ZMQUcsXG4gICAgICAgICAgaXNGbGF0ID0gYml0bWFzayAmIENMT05FX0ZMQVRfRkxBRyxcbiAgICAgICAgICBpc0Z1bGwgPSBiaXRtYXNrICYgQ0xPTkVfU1lNQk9MU19GTEFHO1xuXG4gICAgICBpZiAoY3VzdG9taXplcikge1xuICAgICAgICByZXN1bHQgPSBvYmplY3QgPyBjdXN0b21pemVyKHZhbHVlLCBrZXksIG9iamVjdCwgc3RhY2spIDogY3VzdG9taXplcih2YWx1ZSk7XG4gICAgICB9XG4gICAgICBpZiAocmVzdWx0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIGlmICghaXNPYmplY3QodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHZhciBpc0FyciA9IGlzQXJyYXkodmFsdWUpO1xuICAgICAgaWYgKGlzQXJyKSB7XG4gICAgICAgIHJlc3VsdCA9IGluaXRDbG9uZUFycmF5KHZhbHVlKTtcbiAgICAgICAgaWYgKCFpc0RlZXApIHtcbiAgICAgICAgICByZXR1cm4gY29weUFycmF5KHZhbHVlLCByZXN1bHQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgdGFnID0gZ2V0VGFnKHZhbHVlKSxcbiAgICAgICAgICAgIGlzRnVuYyA9IHRhZyA9PSBmdW5jVGFnIHx8IHRhZyA9PSBnZW5UYWc7XG5cbiAgICAgICAgaWYgKGlzQnVmZmVyKHZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBjbG9uZUJ1ZmZlcih2YWx1ZSwgaXNEZWVwKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGFnID09IG9iamVjdFRhZyB8fCB0YWcgPT0gYXJnc1RhZyB8fCAoaXNGdW5jICYmICFvYmplY3QpKSB7XG4gICAgICAgICAgcmVzdWx0ID0gKGlzRmxhdCB8fCBpc0Z1bmMpID8ge30gOiBpbml0Q2xvbmVPYmplY3QodmFsdWUpO1xuICAgICAgICAgIGlmICghaXNEZWVwKSB7XG4gICAgICAgICAgICByZXR1cm4gaXNGbGF0XG4gICAgICAgICAgICAgID8gY29weVN5bWJvbHNJbih2YWx1ZSwgYmFzZUFzc2lnbkluKHJlc3VsdCwgdmFsdWUpKVxuICAgICAgICAgICAgICA6IGNvcHlTeW1ib2xzKHZhbHVlLCBiYXNlQXNzaWduKHJlc3VsdCwgdmFsdWUpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKCFjbG9uZWFibGVUYWdzW3RhZ10pIHtcbiAgICAgICAgICAgIHJldHVybiBvYmplY3QgPyB2YWx1ZSA6IHt9O1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXN1bHQgPSBpbml0Q2xvbmVCeVRhZyh2YWx1ZSwgdGFnLCBpc0RlZXApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBDaGVjayBmb3IgY2lyY3VsYXIgcmVmZXJlbmNlcyBhbmQgcmV0dXJuIGl0cyBjb3JyZXNwb25kaW5nIGNsb25lLlxuICAgICAgc3RhY2sgfHwgKHN0YWNrID0gbmV3IFN0YWNrKTtcbiAgICAgIHZhciBzdGFja2VkID0gc3RhY2suZ2V0KHZhbHVlKTtcbiAgICAgIGlmIChzdGFja2VkKSB7XG4gICAgICAgIHJldHVybiBzdGFja2VkO1xuICAgICAgfVxuICAgICAgc3RhY2suc2V0KHZhbHVlLCByZXN1bHQpO1xuXG4gICAgICBpZiAoaXNTZXQodmFsdWUpKSB7XG4gICAgICAgIHZhbHVlLmZvckVhY2goZnVuY3Rpb24oc3ViVmFsdWUpIHtcbiAgICAgICAgICByZXN1bHQuYWRkKGJhc2VDbG9uZShzdWJWYWx1ZSwgYml0bWFzaywgY3VzdG9taXplciwgc3ViVmFsdWUsIHZhbHVlLCBzdGFjaykpO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoaXNNYXAodmFsdWUpKSB7XG4gICAgICAgIHZhbHVlLmZvckVhY2goZnVuY3Rpb24oc3ViVmFsdWUsIGtleSkge1xuICAgICAgICAgIHJlc3VsdC5zZXQoa2V5LCBiYXNlQ2xvbmUoc3ViVmFsdWUsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGtleSwgdmFsdWUsIHN0YWNrKSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICB2YXIga2V5c0Z1bmMgPSBpc0Z1bGxcbiAgICAgICAgPyAoaXNGbGF0ID8gZ2V0QWxsS2V5c0luIDogZ2V0QWxsS2V5cylcbiAgICAgICAgOiAoaXNGbGF0ID8ga2V5c0luIDoga2V5cyk7XG5cbiAgICAgIHZhciBwcm9wcyA9IGlzQXJyID8gdW5kZWZpbmVkIDoga2V5c0Z1bmModmFsdWUpO1xuICAgICAgYXJyYXlFYWNoKHByb3BzIHx8IHZhbHVlLCBmdW5jdGlvbihzdWJWYWx1ZSwga2V5KSB7XG4gICAgICAgIGlmIChwcm9wcykge1xuICAgICAgICAgIGtleSA9IHN1YlZhbHVlO1xuICAgICAgICAgIHN1YlZhbHVlID0gdmFsdWVba2V5XTtcbiAgICAgICAgfVxuICAgICAgICAvLyBSZWN1cnNpdmVseSBwb3B1bGF0ZSBjbG9uZSAoc3VzY2VwdGlibGUgdG8gY2FsbCBzdGFjayBsaW1pdHMpLlxuICAgICAgICBhc3NpZ25WYWx1ZShyZXN1bHQsIGtleSwgYmFzZUNsb25lKHN1YlZhbHVlLCBiaXRtYXNrLCBjdXN0b21pemVyLCBrZXksIHZhbHVlLCBzdGFjaykpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmNvbmZvcm1zYCB3aGljaCBkb2Vzbid0IGNsb25lIGBzb3VyY2VgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBvYmplY3Qgb2YgcHJvcGVydHkgcHJlZGljYXRlcyB0byBjb25mb3JtIHRvLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHNwZWMgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUNvbmZvcm1zKHNvdXJjZSkge1xuICAgICAgdmFyIHByb3BzID0ga2V5cyhzb3VyY2UpO1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKG9iamVjdCkge1xuICAgICAgICByZXR1cm4gYmFzZUNvbmZvcm1zVG8ob2JqZWN0LCBzb3VyY2UsIHByb3BzKTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uY29uZm9ybXNUb2Agd2hpY2ggYWNjZXB0cyBgcHJvcHNgIHRvIGNoZWNrLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBvYmplY3Qgb2YgcHJvcGVydHkgcHJlZGljYXRlcyB0byBjb25mb3JtIHRvLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgb2JqZWN0YCBjb25mb3JtcywgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VDb25mb3Jtc1RvKG9iamVjdCwgc291cmNlLCBwcm9wcykge1xuICAgICAgdmFyIGxlbmd0aCA9IHByb3BzLmxlbmd0aDtcbiAgICAgIGlmIChvYmplY3QgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gIWxlbmd0aDtcbiAgICAgIH1cbiAgICAgIG9iamVjdCA9IE9iamVjdChvYmplY3QpO1xuICAgICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICAgIHZhciBrZXkgPSBwcm9wc1tsZW5ndGhdLFxuICAgICAgICAgICAgcHJlZGljYXRlID0gc291cmNlW2tleV0sXG4gICAgICAgICAgICB2YWx1ZSA9IG9iamVjdFtrZXldO1xuXG4gICAgICAgIGlmICgodmFsdWUgPT09IHVuZGVmaW5lZCAmJiAhKGtleSBpbiBvYmplY3QpKSB8fCAhcHJlZGljYXRlKHZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZGVsYXlgIGFuZCBgXy5kZWZlcmAgd2hpY2ggYWNjZXB0cyBgYXJnc2BcbiAgICAgKiB0byBwcm92aWRlIHRvIGBmdW5jYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gZGVsYXkuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHdhaXQgVGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gZGVsYXkgaW52b2NhdGlvbi5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcmdzIFRoZSBhcmd1bWVudHMgdG8gcHJvdmlkZSB0byBgZnVuY2AuXG4gICAgICogQHJldHVybnMge251bWJlcnxPYmplY3R9IFJldHVybnMgdGhlIHRpbWVyIGlkIG9yIHRpbWVvdXQgb2JqZWN0LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VEZWxheShmdW5jLCB3YWl0LCBhcmdzKSB7XG4gICAgICBpZiAodHlwZW9mIGZ1bmMgIT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpIHsgZnVuYy5hcHBseSh1bmRlZmluZWQsIGFyZ3MpOyB9LCB3YWl0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBtZXRob2RzIGxpa2UgYF8uZGlmZmVyZW5jZWAgd2l0aG91dCBzdXBwb3J0XG4gICAgICogZm9yIGV4Y2x1ZGluZyBtdWx0aXBsZSBhcnJheXMgb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtBcnJheX0gdmFsdWVzIFRoZSB2YWx1ZXMgdG8gZXhjbHVkZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWVdIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjb21wYXJhdG9yXSBUaGUgY29tcGFyYXRvciBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGZpbHRlcmVkIHZhbHVlcy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlRGlmZmVyZW5jZShhcnJheSwgdmFsdWVzLCBpdGVyYXRlZSwgY29tcGFyYXRvcikge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgaW5jbHVkZXMgPSBhcnJheUluY2x1ZGVzLFxuICAgICAgICAgIGlzQ29tbW9uID0gdHJ1ZSxcbiAgICAgICAgICBsZW5ndGggPSBhcnJheS5sZW5ndGgsXG4gICAgICAgICAgcmVzdWx0ID0gW10sXG4gICAgICAgICAgdmFsdWVzTGVuZ3RoID0gdmFsdWVzLmxlbmd0aDtcblxuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIGlmIChpdGVyYXRlZSkge1xuICAgICAgICB2YWx1ZXMgPSBhcnJheU1hcCh2YWx1ZXMsIGJhc2VVbmFyeShpdGVyYXRlZSkpO1xuICAgICAgfVxuICAgICAgaWYgKGNvbXBhcmF0b3IpIHtcbiAgICAgICAgaW5jbHVkZXMgPSBhcnJheUluY2x1ZGVzV2l0aDtcbiAgICAgICAgaXNDb21tb24gPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKHZhbHVlcy5sZW5ndGggPj0gTEFSR0VfQVJSQVlfU0laRSkge1xuICAgICAgICBpbmNsdWRlcyA9IGNhY2hlSGFzO1xuICAgICAgICBpc0NvbW1vbiA9IGZhbHNlO1xuICAgICAgICB2YWx1ZXMgPSBuZXcgU2V0Q2FjaGUodmFsdWVzKTtcbiAgICAgIH1cbiAgICAgIG91dGVyOlxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gYXJyYXlbaW5kZXhdLFxuICAgICAgICAgICAgY29tcHV0ZWQgPSBpdGVyYXRlZSA9PSBudWxsID8gdmFsdWUgOiBpdGVyYXRlZSh2YWx1ZSk7XG5cbiAgICAgICAgdmFsdWUgPSAoY29tcGFyYXRvciB8fCB2YWx1ZSAhPT0gMCkgPyB2YWx1ZSA6IDA7XG4gICAgICAgIGlmIChpc0NvbW1vbiAmJiBjb21wdXRlZCA9PT0gY29tcHV0ZWQpIHtcbiAgICAgICAgICB2YXIgdmFsdWVzSW5kZXggPSB2YWx1ZXNMZW5ndGg7XG4gICAgICAgICAgd2hpbGUgKHZhbHVlc0luZGV4LS0pIHtcbiAgICAgICAgICAgIGlmICh2YWx1ZXNbdmFsdWVzSW5kZXhdID09PSBjb21wdXRlZCkge1xuICAgICAgICAgICAgICBjb250aW51ZSBvdXRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzdWx0LnB1c2godmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCFpbmNsdWRlcyh2YWx1ZXMsIGNvbXB1dGVkLCBjb21wYXJhdG9yKSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5mb3JFYWNoYCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheXxPYmplY3R9IFJldHVybnMgYGNvbGxlY3Rpb25gLlxuICAgICAqL1xuICAgIHZhciBiYXNlRWFjaCA9IGNyZWF0ZUJhc2VFYWNoKGJhc2VGb3JPd24pO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZm9yRWFjaFJpZ2h0YCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheXxPYmplY3R9IFJldHVybnMgYGNvbGxlY3Rpb25gLlxuICAgICAqL1xuICAgIHZhciBiYXNlRWFjaFJpZ2h0ID0gY3JlYXRlQmFzZUVhY2goYmFzZUZvck93blJpZ2h0LCB0cnVlKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmV2ZXJ5YCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBwcmVkaWNhdGUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYWxsIGVsZW1lbnRzIHBhc3MgdGhlIHByZWRpY2F0ZSBjaGVjayxcbiAgICAgKiAgZWxzZSBgZmFsc2VgXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUV2ZXJ5KGNvbGxlY3Rpb24sIHByZWRpY2F0ZSkge1xuICAgICAgdmFyIHJlc3VsdCA9IHRydWU7XG4gICAgICBiYXNlRWFjaChjb2xsZWN0aW9uLCBmdW5jdGlvbih2YWx1ZSwgaW5kZXgsIGNvbGxlY3Rpb24pIHtcbiAgICAgICAgcmVzdWx0ID0gISFwcmVkaWNhdGUodmFsdWUsIGluZGV4LCBjb2xsZWN0aW9uKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBtZXRob2RzIGxpa2UgYF8ubWF4YCBhbmQgYF8ubWluYCB3aGljaCBhY2NlcHRzIGFcbiAgICAgKiBgY29tcGFyYXRvcmAgdG8gZGV0ZXJtaW5lIHRoZSBleHRyZW11bSB2YWx1ZS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGNvbXBhcmF0b3IgVGhlIGNvbXBhcmF0b3IgdXNlZCB0byBjb21wYXJlIHZhbHVlcy5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgZXh0cmVtdW0gdmFsdWUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUV4dHJlbXVtKGFycmF5LCBpdGVyYXRlZSwgY29tcGFyYXRvcikge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF0sXG4gICAgICAgICAgICBjdXJyZW50ID0gaXRlcmF0ZWUodmFsdWUpO1xuXG4gICAgICAgIGlmIChjdXJyZW50ICE9IG51bGwgJiYgKGNvbXB1dGVkID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgPyAoY3VycmVudCA9PT0gY3VycmVudCAmJiAhaXNTeW1ib2woY3VycmVudCkpXG4gICAgICAgICAgICAgIDogY29tcGFyYXRvcihjdXJyZW50LCBjb21wdXRlZClcbiAgICAgICAgICAgICkpIHtcbiAgICAgICAgICB2YXIgY29tcHV0ZWQgPSBjdXJyZW50LFxuICAgICAgICAgICAgICByZXN1bHQgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5maWxsYCB3aXRob3V0IGFuIGl0ZXJhdGVlIGNhbGwgZ3VhcmQuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBmaWxsLlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGZpbGwgYGFycmF5YCB3aXRoLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbc3RhcnQ9MF0gVGhlIHN0YXJ0IHBvc2l0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbZW5kPWFycmF5Lmxlbmd0aF0gVGhlIGVuZCBwb3NpdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlRmlsbChhcnJheSwgdmFsdWUsIHN0YXJ0LCBlbmQpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgICAgIHN0YXJ0ID0gdG9JbnRlZ2VyKHN0YXJ0KTtcbiAgICAgIGlmIChzdGFydCA8IDApIHtcbiAgICAgICAgc3RhcnQgPSAtc3RhcnQgPiBsZW5ndGggPyAwIDogKGxlbmd0aCArIHN0YXJ0KTtcbiAgICAgIH1cbiAgICAgIGVuZCA9IChlbmQgPT09IHVuZGVmaW5lZCB8fCBlbmQgPiBsZW5ndGgpID8gbGVuZ3RoIDogdG9JbnRlZ2VyKGVuZCk7XG4gICAgICBpZiAoZW5kIDwgMCkge1xuICAgICAgICBlbmQgKz0gbGVuZ3RoO1xuICAgICAgfVxuICAgICAgZW5kID0gc3RhcnQgPiBlbmQgPyAwIDogdG9MZW5ndGgoZW5kKTtcbiAgICAgIHdoaWxlIChzdGFydCA8IGVuZCkge1xuICAgICAgICBhcnJheVtzdGFydCsrXSA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFycmF5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmZpbHRlcmAgd2l0aG91dCBzdXBwb3J0IGZvciBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gcHJlZGljYXRlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmlsdGVyZWQgYXJyYXkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUZpbHRlcihjb2xsZWN0aW9uLCBwcmVkaWNhdGUpIHtcbiAgICAgIHZhciByZXN1bHQgPSBbXTtcbiAgICAgIGJhc2VFYWNoKGNvbGxlY3Rpb24sIGZ1bmN0aW9uKHZhbHVlLCBpbmRleCwgY29sbGVjdGlvbikge1xuICAgICAgICBpZiAocHJlZGljYXRlKHZhbHVlLCBpbmRleCwgY29sbGVjdGlvbikpIHtcbiAgICAgICAgICByZXN1bHQucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5mbGF0dGVuYCB3aXRoIHN1cHBvcnQgZm9yIHJlc3RyaWN0aW5nIGZsYXR0ZW5pbmcuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBmbGF0dGVuLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBkZXB0aCBUaGUgbWF4aW11bSByZWN1cnNpb24gZGVwdGguXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbcHJlZGljYXRlPWlzRmxhdHRlbmFibGVdIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbaXNTdHJpY3RdIFJlc3RyaWN0IHRvIHZhbHVlcyB0aGF0IHBhc3MgYHByZWRpY2F0ZWAgY2hlY2tzLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFtyZXN1bHQ9W11dIFRoZSBpbml0aWFsIHJlc3VsdCB2YWx1ZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBmbGF0dGVuZWQgYXJyYXkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUZsYXR0ZW4oYXJyYXksIGRlcHRoLCBwcmVkaWNhdGUsIGlzU3RyaWN0LCByZXN1bHQpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICAgICAgcHJlZGljYXRlIHx8IChwcmVkaWNhdGUgPSBpc0ZsYXR0ZW5hYmxlKTtcbiAgICAgIHJlc3VsdCB8fCAocmVzdWx0ID0gW10pO1xuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF07XG4gICAgICAgIGlmIChkZXB0aCA+IDAgJiYgcHJlZGljYXRlKHZhbHVlKSkge1xuICAgICAgICAgIGlmIChkZXB0aCA+IDEpIHtcbiAgICAgICAgICAgIC8vIFJlY3Vyc2l2ZWx5IGZsYXR0ZW4gYXJyYXlzIChzdXNjZXB0aWJsZSB0byBjYWxsIHN0YWNrIGxpbWl0cykuXG4gICAgICAgICAgICBiYXNlRmxhdHRlbih2YWx1ZSwgZGVwdGggLSAxLCBwcmVkaWNhdGUsIGlzU3RyaWN0LCByZXN1bHQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhcnJheVB1c2gocmVzdWx0LCB2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKCFpc1N0cmljdCkge1xuICAgICAgICAgIHJlc3VsdFtyZXN1bHQubGVuZ3RoXSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBiYXNlRm9yT3duYCB3aGljaCBpdGVyYXRlcyBvdmVyIGBvYmplY3RgXG4gICAgICogcHJvcGVydGllcyByZXR1cm5lZCBieSBga2V5c0Z1bmNgIGFuZCBpbnZva2VzIGBpdGVyYXRlZWAgZm9yIGVhY2ggcHJvcGVydHkuXG4gICAgICogSXRlcmF0ZWUgZnVuY3Rpb25zIG1heSBleGl0IGl0ZXJhdGlvbiBlYXJseSBieSBleHBsaWNpdGx5IHJldHVybmluZyBgZmFsc2VgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0ga2V5c0Z1bmMgVGhlIGZ1bmN0aW9uIHRvIGdldCB0aGUga2V5cyBvZiBgb2JqZWN0YC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqL1xuICAgIHZhciBiYXNlRm9yID0gY3JlYXRlQmFzZUZvcigpO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBsaWtlIGBiYXNlRm9yYCBleGNlcHQgdGhhdCBpdCBpdGVyYXRlcyBvdmVyIHByb3BlcnRpZXNcbiAgICAgKiBpbiB0aGUgb3Bwb3NpdGUgb3JkZXIuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBrZXlzRnVuYyBUaGUgZnVuY3Rpb24gdG8gZ2V0IHRoZSBrZXlzIG9mIGBvYmplY3RgLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICovXG4gICAgdmFyIGJhc2VGb3JSaWdodCA9IGNyZWF0ZUJhc2VGb3IodHJ1ZSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5mb3JPd25gIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUZvck93bihvYmplY3QsIGl0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gb2JqZWN0ICYmIGJhc2VGb3Iob2JqZWN0LCBpdGVyYXRlZSwga2V5cyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZm9yT3duUmlnaHRgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUZvck93blJpZ2h0KG9iamVjdCwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBvYmplY3QgJiYgYmFzZUZvclJpZ2h0KG9iamVjdCwgaXRlcmF0ZWUsIGtleXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmZ1bmN0aW9uc2Agd2hpY2ggY3JlYXRlcyBhbiBhcnJheSBvZlxuICAgICAqIGBvYmplY3RgIGZ1bmN0aW9uIHByb3BlcnR5IG5hbWVzIGZpbHRlcmVkIGZyb20gYHByb3BzYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtBcnJheX0gcHJvcHMgVGhlIHByb3BlcnR5IG5hbWVzIHRvIGZpbHRlci5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGZ1bmN0aW9uIG5hbWVzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VGdW5jdGlvbnMob2JqZWN0LCBwcm9wcykge1xuICAgICAgcmV0dXJuIGFycmF5RmlsdGVyKHByb3BzLCBmdW5jdGlvbihrZXkpIHtcbiAgICAgICAgcmV0dXJuIGlzRnVuY3Rpb24ob2JqZWN0W2tleV0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZ2V0YCB3aXRob3V0IHN1cHBvcnQgZm9yIGRlZmF1bHQgdmFsdWVzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIHByb3BlcnR5IHRvIGdldC5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcmVzb2x2ZWQgdmFsdWUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUdldChvYmplY3QsIHBhdGgpIHtcbiAgICAgIHBhdGggPSBjYXN0UGF0aChwYXRoLCBvYmplY3QpO1xuXG4gICAgICB2YXIgaW5kZXggPSAwLFxuICAgICAgICAgIGxlbmd0aCA9IHBhdGgubGVuZ3RoO1xuXG4gICAgICB3aGlsZSAob2JqZWN0ICE9IG51bGwgJiYgaW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgb2JqZWN0ID0gb2JqZWN0W3RvS2V5KHBhdGhbaW5kZXgrK10pXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAoaW5kZXggJiYgaW5kZXggPT0gbGVuZ3RoKSA/IG9iamVjdCA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgZ2V0QWxsS2V5c2AgYW5kIGBnZXRBbGxLZXlzSW5gIHdoaWNoIHVzZXNcbiAgICAgKiBga2V5c0Z1bmNgIGFuZCBgc3ltYm9sc0Z1bmNgIHRvIGdldCB0aGUgZW51bWVyYWJsZSBwcm9wZXJ0eSBuYW1lcyBhbmRcbiAgICAgKiBzeW1ib2xzIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0ga2V5c0Z1bmMgVGhlIGZ1bmN0aW9uIHRvIGdldCB0aGUga2V5cyBvZiBgb2JqZWN0YC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBzeW1ib2xzRnVuYyBUaGUgZnVuY3Rpb24gdG8gZ2V0IHRoZSBzeW1ib2xzIG9mIGBvYmplY3RgLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMgYW5kIHN5bWJvbHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUdldEFsbEtleXMob2JqZWN0LCBrZXlzRnVuYywgc3ltYm9sc0Z1bmMpIHtcbiAgICAgIHZhciByZXN1bHQgPSBrZXlzRnVuYyhvYmplY3QpO1xuICAgICAgcmV0dXJuIGlzQXJyYXkob2JqZWN0KSA/IHJlc3VsdCA6IGFycmF5UHVzaChyZXN1bHQsIHN5bWJvbHNGdW5jKG9iamVjdCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBnZXRUYWdgIHdpdGhvdXQgZmFsbGJhY2tzIGZvciBidWdneSBlbnZpcm9ubWVudHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGB0b1N0cmluZ1RhZ2AuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUdldFRhZyh2YWx1ZSkge1xuICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWRUYWcgOiBudWxsVGFnO1xuICAgICAgfVxuICAgICAgcmV0dXJuIChzeW1Ub1N0cmluZ1RhZyAmJiBzeW1Ub1N0cmluZ1RhZyBpbiBPYmplY3QodmFsdWUpKVxuICAgICAgICA/IGdldFJhd1RhZyh2YWx1ZSlcbiAgICAgICAgOiBvYmplY3RUb1N0cmluZyh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZ3RgIHdoaWNoIGRvZXNuJ3QgY29lcmNlIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0geyp9IG90aGVyIFRoZSBvdGhlciB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGdyZWF0ZXIgdGhhbiBgb3RoZXJgLFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUd0KHZhbHVlLCBvdGhlcikge1xuICAgICAgcmV0dXJuIHZhbHVlID4gb3RoZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaGFzYCB3aXRob3V0IHN1cHBvcnQgZm9yIGRlZXAgcGF0aHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb2JqZWN0XSBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBrZXkgVGhlIGtleSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYGtleWAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUhhcyhvYmplY3QsIGtleSkge1xuICAgICAgcmV0dXJuIG9iamVjdCAhPSBudWxsICYmIGhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmhhc0luYCB3aXRob3V0IHN1cHBvcnQgZm9yIGRlZXAgcGF0aHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb2JqZWN0XSBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBrZXkgVGhlIGtleSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYGtleWAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUhhc0luKG9iamVjdCwga2V5KSB7XG4gICAgICByZXR1cm4gb2JqZWN0ICE9IG51bGwgJiYga2V5IGluIE9iamVjdChvYmplY3QpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmluUmFuZ2VgIHdoaWNoIGRvZXNuJ3QgY29lcmNlIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG51bWJlciBUaGUgbnVtYmVyIHRvIGNoZWNrLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBzdGFydCBUaGUgc3RhcnQgb2YgdGhlIHJhbmdlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBlbmQgVGhlIGVuZCBvZiB0aGUgcmFuZ2UuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBudW1iZXJgIGlzIGluIHRoZSByYW5nZSwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VJblJhbmdlKG51bWJlciwgc3RhcnQsIGVuZCkge1xuICAgICAgcmV0dXJuIG51bWJlciA+PSBuYXRpdmVNaW4oc3RhcnQsIGVuZCkgJiYgbnVtYmVyIDwgbmF0aXZlTWF4KHN0YXJ0LCBlbmQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIG1ldGhvZHMgbGlrZSBgXy5pbnRlcnNlY3Rpb25gLCB3aXRob3V0IHN1cHBvcnRcbiAgICAgKiBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcywgdGhhdCBhY2NlcHRzIGFuIGFycmF5IG9mIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheXMgVGhlIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NvbXBhcmF0b3JdIFRoZSBjb21wYXJhdG9yIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2Ygc2hhcmVkIHZhbHVlcy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlSW50ZXJzZWN0aW9uKGFycmF5cywgaXRlcmF0ZWUsIGNvbXBhcmF0b3IpIHtcbiAgICAgIHZhciBpbmNsdWRlcyA9IGNvbXBhcmF0b3IgPyBhcnJheUluY2x1ZGVzV2l0aCA6IGFycmF5SW5jbHVkZXMsXG4gICAgICAgICAgbGVuZ3RoID0gYXJyYXlzWzBdLmxlbmd0aCxcbiAgICAgICAgICBvdGhMZW5ndGggPSBhcnJheXMubGVuZ3RoLFxuICAgICAgICAgIG90aEluZGV4ID0gb3RoTGVuZ3RoLFxuICAgICAgICAgIGNhY2hlcyA9IEFycmF5KG90aExlbmd0aCksXG4gICAgICAgICAgbWF4TGVuZ3RoID0gSW5maW5pdHksXG4gICAgICAgICAgcmVzdWx0ID0gW107XG5cbiAgICAgIHdoaWxlIChvdGhJbmRleC0tKSB7XG4gICAgICAgIHZhciBhcnJheSA9IGFycmF5c1tvdGhJbmRleF07XG4gICAgICAgIGlmIChvdGhJbmRleCAmJiBpdGVyYXRlZSkge1xuICAgICAgICAgIGFycmF5ID0gYXJyYXlNYXAoYXJyYXksIGJhc2VVbmFyeShpdGVyYXRlZSkpO1xuICAgICAgICB9XG4gICAgICAgIG1heExlbmd0aCA9IG5hdGl2ZU1pbihhcnJheS5sZW5ndGgsIG1heExlbmd0aCk7XG4gICAgICAgIGNhY2hlc1tvdGhJbmRleF0gPSAhY29tcGFyYXRvciAmJiAoaXRlcmF0ZWUgfHwgKGxlbmd0aCA+PSAxMjAgJiYgYXJyYXkubGVuZ3RoID49IDEyMCkpXG4gICAgICAgICAgPyBuZXcgU2V0Q2FjaGUob3RoSW5kZXggJiYgYXJyYXkpXG4gICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICBhcnJheSA9IGFycmF5c1swXTtcblxuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgc2VlbiA9IGNhY2hlc1swXTtcblxuICAgICAgb3V0ZXI6XG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCAmJiByZXN1bHQubGVuZ3RoIDwgbWF4TGVuZ3RoKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICAgIGNvbXB1dGVkID0gaXRlcmF0ZWUgPyBpdGVyYXRlZSh2YWx1ZSkgOiB2YWx1ZTtcblxuICAgICAgICB2YWx1ZSA9IChjb21wYXJhdG9yIHx8IHZhbHVlICE9PSAwKSA/IHZhbHVlIDogMDtcbiAgICAgICAgaWYgKCEoc2VlblxuICAgICAgICAgICAgICA/IGNhY2hlSGFzKHNlZW4sIGNvbXB1dGVkKVxuICAgICAgICAgICAgICA6IGluY2x1ZGVzKHJlc3VsdCwgY29tcHV0ZWQsIGNvbXBhcmF0b3IpXG4gICAgICAgICAgICApKSB7XG4gICAgICAgICAgb3RoSW5kZXggPSBvdGhMZW5ndGg7XG4gICAgICAgICAgd2hpbGUgKC0tb3RoSW5kZXgpIHtcbiAgICAgICAgICAgIHZhciBjYWNoZSA9IGNhY2hlc1tvdGhJbmRleF07XG4gICAgICAgICAgICBpZiAoIShjYWNoZVxuICAgICAgICAgICAgICAgICAgPyBjYWNoZUhhcyhjYWNoZSwgY29tcHV0ZWQpXG4gICAgICAgICAgICAgICAgICA6IGluY2x1ZGVzKGFycmF5c1tvdGhJbmRleF0sIGNvbXB1dGVkLCBjb21wYXJhdG9yKSlcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgY29udGludWUgb3V0ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChzZWVuKSB7XG4gICAgICAgICAgICBzZWVuLnB1c2goY29tcHV0ZWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXN1bHQucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaW52ZXJ0YCBhbmQgYF8uaW52ZXJ0QnlgIHdoaWNoIGludmVydHNcbiAgICAgKiBgb2JqZWN0YCB3aXRoIHZhbHVlcyB0cmFuc2Zvcm1lZCBieSBgaXRlcmF0ZWVgIGFuZCBzZXQgYnkgYHNldHRlcmAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gc2V0dGVyIFRoZSBmdW5jdGlvbiB0byBzZXQgYGFjY3VtdWxhdG9yYCB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGl0ZXJhdGVlIHRvIHRyYW5zZm9ybSB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IGFjY3VtdWxhdG9yIFRoZSBpbml0aWFsIGludmVydGVkIG9iamVjdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgYGFjY3VtdWxhdG9yYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlSW52ZXJ0ZXIob2JqZWN0LCBzZXR0ZXIsIGl0ZXJhdGVlLCBhY2N1bXVsYXRvcikge1xuICAgICAgYmFzZUZvck93bihvYmplY3QsIGZ1bmN0aW9uKHZhbHVlLCBrZXksIG9iamVjdCkge1xuICAgICAgICBzZXR0ZXIoYWNjdW11bGF0b3IsIGl0ZXJhdGVlKHZhbHVlKSwga2V5LCBvYmplY3QpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaW52b2tlYCB3aXRob3V0IHN1cHBvcnQgZm9yIGluZGl2aWR1YWxcbiAgICAgKiBtZXRob2QgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIG1ldGhvZCB0byBpbnZva2UuXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJncyBUaGUgYXJndW1lbnRzIHRvIGludm9rZSB0aGUgbWV0aG9kIHdpdGguXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJlc3VsdCBvZiB0aGUgaW52b2tlZCBtZXRob2QuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUludm9rZShvYmplY3QsIHBhdGgsIGFyZ3MpIHtcbiAgICAgIHBhdGggPSBjYXN0UGF0aChwYXRoLCBvYmplY3QpO1xuICAgICAgb2JqZWN0ID0gcGFyZW50KG9iamVjdCwgcGF0aCk7XG4gICAgICB2YXIgZnVuYyA9IG9iamVjdCA9PSBudWxsID8gb2JqZWN0IDogb2JqZWN0W3RvS2V5KGxhc3QocGF0aCkpXTtcbiAgICAgIHJldHVybiBmdW5jID09IG51bGwgPyB1bmRlZmluZWQgOiBhcHBseShmdW5jLCBvYmplY3QsIGFyZ3MpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzQXJndW1lbnRzYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gYGFyZ3VtZW50c2Agb2JqZWN0LFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VJc0FyZ3VtZW50cyh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgYmFzZUdldFRhZyh2YWx1ZSkgPT0gYXJnc1RhZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc0FycmF5QnVmZmVyYCB3aXRob3V0IE5vZGUuanMgb3B0aW1pemF0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gYXJyYXkgYnVmZmVyLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUlzQXJyYXlCdWZmZXIodmFsdWUpIHtcbiAgICAgIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09IGFycmF5QnVmZmVyVGFnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzRGF0ZWAgd2l0aG91dCBOb2RlLmpzIG9wdGltaXphdGlvbnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgZGF0ZSBvYmplY3QsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlSXNEYXRlKHZhbHVlKSB7XG4gICAgICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBkYXRlVGFnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzRXF1YWxgIHdoaWNoIHN1cHBvcnRzIHBhcnRpYWwgY29tcGFyaXNvbnNcbiAgICAgKiBhbmQgdHJhY2tzIHRyYXZlcnNlZCBvYmplY3RzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBiaXRtYXNrIFRoZSBiaXRtYXNrIGZsYWdzLlxuICAgICAqICAxIC0gVW5vcmRlcmVkIGNvbXBhcmlzb25cbiAgICAgKiAgMiAtIFBhcnRpYWwgY29tcGFyaXNvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNvbXBhcmlzb25zLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbc3RhY2tdIFRyYWNrcyB0cmF2ZXJzZWQgYHZhbHVlYCBhbmQgYG90aGVyYCBvYmplY3RzLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgdmFsdWVzIGFyZSBlcXVpdmFsZW50LCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUlzRXF1YWwodmFsdWUsIG90aGVyLCBiaXRtYXNrLCBjdXN0b21pemVyLCBzdGFjaykge1xuICAgICAgaWYgKHZhbHVlID09PSBvdGhlcikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh2YWx1ZSA9PSBudWxsIHx8IG90aGVyID09IG51bGwgfHwgKCFpc09iamVjdExpa2UodmFsdWUpICYmICFpc09iamVjdExpa2Uob3RoZXIpKSkge1xuICAgICAgICByZXR1cm4gdmFsdWUgIT09IHZhbHVlICYmIG90aGVyICE9PSBvdGhlcjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlSXNFcXVhbERlZXAodmFsdWUsIG90aGVyLCBiaXRtYXNrLCBjdXN0b21pemVyLCBiYXNlSXNFcXVhbCwgc3RhY2spO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZUlzRXF1YWxgIGZvciBhcnJheXMgYW5kIG9iamVjdHMgd2hpY2ggcGVyZm9ybXNcbiAgICAgKiBkZWVwIGNvbXBhcmlzb25zIGFuZCB0cmFja3MgdHJhdmVyc2VkIG9iamVjdHMgZW5hYmxpbmcgb2JqZWN0cyB3aXRoIGNpcmN1bGFyXG4gICAgICogcmVmZXJlbmNlcyB0byBiZSBjb21wYXJlZC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG90aGVyIFRoZSBvdGhlciBvYmplY3QgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy4gU2VlIGBiYXNlSXNFcXVhbGAgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBjdXN0b21pemVyIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgY29tcGFyaXNvbnMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZXF1YWxGdW5jIFRoZSBmdW5jdGlvbiB0byBkZXRlcm1pbmUgZXF1aXZhbGVudHMgb2YgdmFsdWVzLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbc3RhY2tdIFRyYWNrcyB0cmF2ZXJzZWQgYG9iamVjdGAgYW5kIGBvdGhlcmAgb2JqZWN0cy5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIG9iamVjdHMgYXJlIGVxdWl2YWxlbnQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlSXNFcXVhbERlZXAob2JqZWN0LCBvdGhlciwgYml0bWFzaywgY3VzdG9taXplciwgZXF1YWxGdW5jLCBzdGFjaykge1xuICAgICAgdmFyIG9iaklzQXJyID0gaXNBcnJheShvYmplY3QpLFxuICAgICAgICAgIG90aElzQXJyID0gaXNBcnJheShvdGhlciksXG4gICAgICAgICAgb2JqVGFnID0gb2JqSXNBcnIgPyBhcnJheVRhZyA6IGdldFRhZyhvYmplY3QpLFxuICAgICAgICAgIG90aFRhZyA9IG90aElzQXJyID8gYXJyYXlUYWcgOiBnZXRUYWcob3RoZXIpO1xuXG4gICAgICBvYmpUYWcgPSBvYmpUYWcgPT0gYXJnc1RhZyA/IG9iamVjdFRhZyA6IG9ialRhZztcbiAgICAgIG90aFRhZyA9IG90aFRhZyA9PSBhcmdzVGFnID8gb2JqZWN0VGFnIDogb3RoVGFnO1xuXG4gICAgICB2YXIgb2JqSXNPYmogPSBvYmpUYWcgPT0gb2JqZWN0VGFnLFxuICAgICAgICAgIG90aElzT2JqID0gb3RoVGFnID09IG9iamVjdFRhZyxcbiAgICAgICAgICBpc1NhbWVUYWcgPSBvYmpUYWcgPT0gb3RoVGFnO1xuXG4gICAgICBpZiAoaXNTYW1lVGFnICYmIGlzQnVmZmVyKG9iamVjdCkpIHtcbiAgICAgICAgaWYgKCFpc0J1ZmZlcihvdGhlcikpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgb2JqSXNBcnIgPSB0cnVlO1xuICAgICAgICBvYmpJc09iaiA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKGlzU2FtZVRhZyAmJiAhb2JqSXNPYmopIHtcbiAgICAgICAgc3RhY2sgfHwgKHN0YWNrID0gbmV3IFN0YWNrKTtcbiAgICAgICAgcmV0dXJuIChvYmpJc0FyciB8fCBpc1R5cGVkQXJyYXkob2JqZWN0KSlcbiAgICAgICAgICA/IGVxdWFsQXJyYXlzKG9iamVjdCwgb3RoZXIsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spXG4gICAgICAgICAgOiBlcXVhbEJ5VGFnKG9iamVjdCwgb3RoZXIsIG9ialRhZywgYml0bWFzaywgY3VzdG9taXplciwgZXF1YWxGdW5jLCBzdGFjayk7XG4gICAgICB9XG4gICAgICBpZiAoIShiaXRtYXNrICYgQ09NUEFSRV9QQVJUSUFMX0ZMQUcpKSB7XG4gICAgICAgIHZhciBvYmpJc1dyYXBwZWQgPSBvYmpJc09iaiAmJiBoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgJ19fd3JhcHBlZF9fJyksXG4gICAgICAgICAgICBvdGhJc1dyYXBwZWQgPSBvdGhJc09iaiAmJiBoYXNPd25Qcm9wZXJ0eS5jYWxsKG90aGVyLCAnX193cmFwcGVkX18nKTtcblxuICAgICAgICBpZiAob2JqSXNXcmFwcGVkIHx8IG90aElzV3JhcHBlZCkge1xuICAgICAgICAgIHZhciBvYmpVbndyYXBwZWQgPSBvYmpJc1dyYXBwZWQgPyBvYmplY3QudmFsdWUoKSA6IG9iamVjdCxcbiAgICAgICAgICAgICAgb3RoVW53cmFwcGVkID0gb3RoSXNXcmFwcGVkID8gb3RoZXIudmFsdWUoKSA6IG90aGVyO1xuXG4gICAgICAgICAgc3RhY2sgfHwgKHN0YWNrID0gbmV3IFN0YWNrKTtcbiAgICAgICAgICByZXR1cm4gZXF1YWxGdW5jKG9ialVud3JhcHBlZCwgb3RoVW53cmFwcGVkLCBiaXRtYXNrLCBjdXN0b21pemVyLCBzdGFjayk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghaXNTYW1lVGFnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHN0YWNrIHx8IChzdGFjayA9IG5ldyBTdGFjayk7XG4gICAgICByZXR1cm4gZXF1YWxPYmplY3RzKG9iamVjdCwgb3RoZXIsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzTWFwYCB3aXRob3V0IE5vZGUuanMgb3B0aW1pemF0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBtYXAsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlSXNNYXAodmFsdWUpIHtcbiAgICAgIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGdldFRhZyh2YWx1ZSkgPT0gbWFwVGFnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzTWF0Y2hgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IG9mIHByb3BlcnR5IHZhbHVlcyB0byBtYXRjaC5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBtYXRjaERhdGEgVGhlIHByb3BlcnR5IG5hbWVzLCB2YWx1ZXMsIGFuZCBjb21wYXJlIGZsYWdzIHRvIG1hdGNoLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNvbXBhcmlzb25zLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgb2JqZWN0YCBpcyBhIG1hdGNoLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUlzTWF0Y2gob2JqZWN0LCBzb3VyY2UsIG1hdGNoRGF0YSwgY3VzdG9taXplcikge1xuICAgICAgdmFyIGluZGV4ID0gbWF0Y2hEYXRhLmxlbmd0aCxcbiAgICAgICAgICBsZW5ndGggPSBpbmRleCxcbiAgICAgICAgICBub0N1c3RvbWl6ZXIgPSAhY3VzdG9taXplcjtcblxuICAgICAgaWYgKG9iamVjdCA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiAhbGVuZ3RoO1xuICAgICAgfVxuICAgICAgb2JqZWN0ID0gT2JqZWN0KG9iamVjdCk7XG4gICAgICB3aGlsZSAoaW5kZXgtLSkge1xuICAgICAgICB2YXIgZGF0YSA9IG1hdGNoRGF0YVtpbmRleF07XG4gICAgICAgIGlmICgobm9DdXN0b21pemVyICYmIGRhdGFbMl0pXG4gICAgICAgICAgICAgID8gZGF0YVsxXSAhPT0gb2JqZWN0W2RhdGFbMF1dXG4gICAgICAgICAgICAgIDogIShkYXRhWzBdIGluIG9iamVjdClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgZGF0YSA9IG1hdGNoRGF0YVtpbmRleF07XG4gICAgICAgIHZhciBrZXkgPSBkYXRhWzBdLFxuICAgICAgICAgICAgb2JqVmFsdWUgPSBvYmplY3Rba2V5XSxcbiAgICAgICAgICAgIHNyY1ZhbHVlID0gZGF0YVsxXTtcblxuICAgICAgICBpZiAobm9DdXN0b21pemVyICYmIGRhdGFbMl0pIHtcbiAgICAgICAgICBpZiAob2JqVmFsdWUgPT09IHVuZGVmaW5lZCAmJiAhKGtleSBpbiBvYmplY3QpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhciBzdGFjayA9IG5ldyBTdGFjaztcbiAgICAgICAgICBpZiAoY3VzdG9taXplcikge1xuICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGN1c3RvbWl6ZXIob2JqVmFsdWUsIHNyY1ZhbHVlLCBrZXksIG9iamVjdCwgc291cmNlLCBzdGFjayk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghKHJlc3VsdCA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgPyBiYXNlSXNFcXVhbChzcmNWYWx1ZSwgb2JqVmFsdWUsIENPTVBBUkVfUEFSVElBTF9GTEFHIHwgQ09NUEFSRV9VTk9SREVSRURfRkxBRywgY3VzdG9taXplciwgc3RhY2spXG4gICAgICAgICAgICAgICAgOiByZXN1bHRcbiAgICAgICAgICAgICAgKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaXNOYXRpdmVgIHdpdGhvdXQgYmFkIHNoaW0gY2hlY2tzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIG5hdGl2ZSBmdW5jdGlvbixcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VJc05hdGl2ZSh2YWx1ZSkge1xuICAgICAgaWYgKCFpc09iamVjdCh2YWx1ZSkgfHwgaXNNYXNrZWQodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHZhciBwYXR0ZXJuID0gaXNGdW5jdGlvbih2YWx1ZSkgPyByZUlzTmF0aXZlIDogcmVJc0hvc3RDdG9yO1xuICAgICAgcmV0dXJuIHBhdHRlcm4udGVzdCh0b1NvdXJjZSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzUmVnRXhwYCB3aXRob3V0IE5vZGUuanMgb3B0aW1pemF0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSByZWdleHAsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlSXNSZWdFeHAodmFsdWUpIHtcbiAgICAgIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09IHJlZ2V4cFRhZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc1NldGAgd2l0aG91dCBOb2RlLmpzIG9wdGltaXphdGlvbnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgc2V0LCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUlzU2V0KHZhbHVlKSB7XG4gICAgICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBnZXRUYWcodmFsdWUpID09IHNldFRhZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc1R5cGVkQXJyYXlgIHdpdGhvdXQgTm9kZS5qcyBvcHRpbWl6YXRpb25zLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHR5cGVkIGFycmF5LCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUlzVHlwZWRBcnJheSh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiZcbiAgICAgICAgaXNMZW5ndGgodmFsdWUubGVuZ3RoKSAmJiAhIXR5cGVkQXJyYXlUYWdzW2Jhc2VHZXRUYWcodmFsdWUpXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pdGVyYXRlZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gW3ZhbHVlPV8uaWRlbnRpdHldIFRoZSB2YWx1ZSB0byBjb252ZXJ0IHRvIGFuIGl0ZXJhdGVlLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgaXRlcmF0ZWUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUl0ZXJhdGVlKHZhbHVlKSB7XG4gICAgICAvLyBEb24ndCBzdG9yZSB0aGUgYHR5cGVvZmAgcmVzdWx0IGluIGEgdmFyaWFibGUgdG8gYXZvaWQgYSBKSVQgYnVnIGluIFNhZmFyaSA5LlxuICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTYwMzQgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gaWRlbnRpdHk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiBpc0FycmF5KHZhbHVlKVxuICAgICAgICAgID8gYmFzZU1hdGNoZXNQcm9wZXJ0eSh2YWx1ZVswXSwgdmFsdWVbMV0pXG4gICAgICAgICAgOiBiYXNlTWF0Y2hlcyh2YWx1ZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmtleXNgIHdoaWNoIGRvZXNuJ3QgdHJlYXQgc3BhcnNlIGFycmF5cyBhcyBkZW5zZS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUtleXMob2JqZWN0KSB7XG4gICAgICBpZiAoIWlzUHJvdG90eXBlKG9iamVjdCkpIHtcbiAgICAgICAgcmV0dXJuIG5hdGl2ZUtleXMob2JqZWN0KTtcbiAgICAgIH1cbiAgICAgIHZhciByZXN1bHQgPSBbXTtcbiAgICAgIGZvciAodmFyIGtleSBpbiBPYmplY3Qob2JqZWN0KSkge1xuICAgICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkgJiYga2V5ICE9ICdjb25zdHJ1Y3RvcicpIHtcbiAgICAgICAgICByZXN1bHQucHVzaChrZXkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmtleXNJbmAgd2hpY2ggZG9lc24ndCB0cmVhdCBzcGFyc2UgYXJyYXlzIGFzIGRlbnNlLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlS2V5c0luKG9iamVjdCkge1xuICAgICAgaWYgKCFpc09iamVjdChvYmplY3QpKSB7XG4gICAgICAgIHJldHVybiBuYXRpdmVLZXlzSW4ob2JqZWN0KTtcbiAgICAgIH1cbiAgICAgIHZhciBpc1Byb3RvID0gaXNQcm90b3R5cGUob2JqZWN0KSxcbiAgICAgICAgICByZXN1bHQgPSBbXTtcblxuICAgICAgZm9yICh2YXIga2V5IGluIG9iamVjdCkge1xuICAgICAgICBpZiAoIShrZXkgPT0gJ2NvbnN0cnVjdG9yJyAmJiAoaXNQcm90byB8fCAhaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkpKSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ubHRgIHdoaWNoIGRvZXNuJ3QgY29lcmNlIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0geyp9IG90aGVyIFRoZSBvdGhlciB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGxlc3MgdGhhbiBgb3RoZXJgLFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUx0KHZhbHVlLCBvdGhlcikge1xuICAgICAgcmV0dXJuIHZhbHVlIDwgb3RoZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ubWFwYCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IG1hcHBlZCBhcnJheS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlTWFwKGNvbGxlY3Rpb24sIGl0ZXJhdGVlKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICByZXN1bHQgPSBpc0FycmF5TGlrZShjb2xsZWN0aW9uKSA/IEFycmF5KGNvbGxlY3Rpb24ubGVuZ3RoKSA6IFtdO1xuXG4gICAgICBiYXNlRWFjaChjb2xsZWN0aW9uLCBmdW5jdGlvbih2YWx1ZSwga2V5LCBjb2xsZWN0aW9uKSB7XG4gICAgICAgIHJlc3VsdFsrK2luZGV4XSA9IGl0ZXJhdGVlKHZhbHVlLCBrZXksIGNvbGxlY3Rpb24pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLm1hdGNoZXNgIHdoaWNoIGRvZXNuJ3QgY2xvbmUgYHNvdXJjZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIG9iamVjdCBvZiBwcm9wZXJ0eSB2YWx1ZXMgdG8gbWF0Y2guXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgc3BlYyBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlTWF0Y2hlcyhzb3VyY2UpIHtcbiAgICAgIHZhciBtYXRjaERhdGEgPSBnZXRNYXRjaERhdGEoc291cmNlKTtcbiAgICAgIGlmIChtYXRjaERhdGEubGVuZ3RoID09IDEgJiYgbWF0Y2hEYXRhWzBdWzJdKSB7XG4gICAgICAgIHJldHVybiBtYXRjaGVzU3RyaWN0Q29tcGFyYWJsZShtYXRjaERhdGFbMF1bMF0sIG1hdGNoRGF0YVswXVsxXSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgICAgIHJldHVybiBvYmplY3QgPT09IHNvdXJjZSB8fCBiYXNlSXNNYXRjaChvYmplY3QsIHNvdXJjZSwgbWF0Y2hEYXRhKTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ubWF0Y2hlc1Byb3BlcnR5YCB3aGljaCBkb2Vzbid0IGNsb25lIGBzcmNWYWx1ZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gICAgICogQHBhcmFtIHsqfSBzcmNWYWx1ZSBUaGUgdmFsdWUgdG8gbWF0Y2guXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgc3BlYyBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlTWF0Y2hlc1Byb3BlcnR5KHBhdGgsIHNyY1ZhbHVlKSB7XG4gICAgICBpZiAoaXNLZXkocGF0aCkgJiYgaXNTdHJpY3RDb21wYXJhYmxlKHNyY1ZhbHVlKSkge1xuICAgICAgICByZXR1cm4gbWF0Y2hlc1N0cmljdENvbXBhcmFibGUodG9LZXkocGF0aCksIHNyY1ZhbHVlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmdW5jdGlvbihvYmplY3QpIHtcbiAgICAgICAgdmFyIG9ialZhbHVlID0gZ2V0KG9iamVjdCwgcGF0aCk7XG4gICAgICAgIHJldHVybiAob2JqVmFsdWUgPT09IHVuZGVmaW5lZCAmJiBvYmpWYWx1ZSA9PT0gc3JjVmFsdWUpXG4gICAgICAgICAgPyBoYXNJbihvYmplY3QsIHBhdGgpXG4gICAgICAgICAgOiBiYXNlSXNFcXVhbChzcmNWYWx1ZSwgb2JqVmFsdWUsIENPTVBBUkVfUEFSVElBTF9GTEFHIHwgQ09NUEFSRV9VTk9SREVSRURfRkxBRyk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLm1lcmdlYCB3aXRob3V0IHN1cHBvcnQgZm9yIG11bHRpcGxlIHNvdXJjZXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBzcmNJbmRleCBUaGUgaW5kZXggb2YgYHNvdXJjZWAuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgbWVyZ2VkIHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW3N0YWNrXSBUcmFja3MgdHJhdmVyc2VkIHNvdXJjZSB2YWx1ZXMgYW5kIHRoZWlyIG1lcmdlZFxuICAgICAqICBjb3VudGVycGFydHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZU1lcmdlKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCwgY3VzdG9taXplciwgc3RhY2spIHtcbiAgICAgIGlmIChvYmplY3QgPT09IHNvdXJjZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBiYXNlRm9yKHNvdXJjZSwgZnVuY3Rpb24oc3JjVmFsdWUsIGtleSkge1xuICAgICAgICBzdGFjayB8fCAoc3RhY2sgPSBuZXcgU3RhY2spO1xuICAgICAgICBpZiAoaXNPYmplY3Qoc3JjVmFsdWUpKSB7XG4gICAgICAgICAgYmFzZU1lcmdlRGVlcChvYmplY3QsIHNvdXJjZSwga2V5LCBzcmNJbmRleCwgYmFzZU1lcmdlLCBjdXN0b21pemVyLCBzdGFjayk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgdmFyIG5ld1ZhbHVlID0gY3VzdG9taXplclxuICAgICAgICAgICAgPyBjdXN0b21pemVyKHNhZmVHZXQob2JqZWN0LCBrZXkpLCBzcmNWYWx1ZSwgKGtleSArICcnKSwgb2JqZWN0LCBzb3VyY2UsIHN0YWNrKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICBpZiAobmV3VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbmV3VmFsdWUgPSBzcmNWYWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYXNzaWduTWVyZ2VWYWx1ZShvYmplY3QsIGtleSwgbmV3VmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9LCBrZXlzSW4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZU1lcmdlYCBmb3IgYXJyYXlzIGFuZCBvYmplY3RzIHdoaWNoIHBlcmZvcm1zXG4gICAgICogZGVlcCBtZXJnZXMgYW5kIHRyYWNrcyB0cmF2ZXJzZWQgb2JqZWN0cyBlbmFibGluZyBvYmplY3RzIHdpdGggY2lyY3VsYXJcbiAgICAgKiByZWZlcmVuY2VzIHRvIGJlIG1lcmdlZC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgZGVzdGluYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBtZXJnZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gc3JjSW5kZXggVGhlIGluZGV4IG9mIGBzb3VyY2VgLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IG1lcmdlRnVuYyBUaGUgZnVuY3Rpb24gdG8gbWVyZ2UgdmFsdWVzLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGFzc2lnbmVkIHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW3N0YWNrXSBUcmFja3MgdHJhdmVyc2VkIHNvdXJjZSB2YWx1ZXMgYW5kIHRoZWlyIG1lcmdlZFxuICAgICAqICBjb3VudGVycGFydHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZU1lcmdlRGVlcChvYmplY3QsIHNvdXJjZSwga2V5LCBzcmNJbmRleCwgbWVyZ2VGdW5jLCBjdXN0b21pemVyLCBzdGFjaykge1xuICAgICAgdmFyIG9ialZhbHVlID0gc2FmZUdldChvYmplY3QsIGtleSksXG4gICAgICAgICAgc3JjVmFsdWUgPSBzYWZlR2V0KHNvdXJjZSwga2V5KSxcbiAgICAgICAgICBzdGFja2VkID0gc3RhY2suZ2V0KHNyY1ZhbHVlKTtcblxuICAgICAgaWYgKHN0YWNrZWQpIHtcbiAgICAgICAgYXNzaWduTWVyZ2VWYWx1ZShvYmplY3QsIGtleSwgc3RhY2tlZCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHZhciBuZXdWYWx1ZSA9IGN1c3RvbWl6ZXJcbiAgICAgICAgPyBjdXN0b21pemVyKG9ialZhbHVlLCBzcmNWYWx1ZSwgKGtleSArICcnKSwgb2JqZWN0LCBzb3VyY2UsIHN0YWNrKVxuICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgICAgdmFyIGlzQ29tbW9uID0gbmV3VmFsdWUgPT09IHVuZGVmaW5lZDtcblxuICAgICAgaWYgKGlzQ29tbW9uKSB7XG4gICAgICAgIHZhciBpc0FyciA9IGlzQXJyYXkoc3JjVmFsdWUpLFxuICAgICAgICAgICAgaXNCdWZmID0gIWlzQXJyICYmIGlzQnVmZmVyKHNyY1ZhbHVlKSxcbiAgICAgICAgICAgIGlzVHlwZWQgPSAhaXNBcnIgJiYgIWlzQnVmZiAmJiBpc1R5cGVkQXJyYXkoc3JjVmFsdWUpO1xuXG4gICAgICAgIG5ld1ZhbHVlID0gc3JjVmFsdWU7XG4gICAgICAgIGlmIChpc0FyciB8fCBpc0J1ZmYgfHwgaXNUeXBlZCkge1xuICAgICAgICAgIGlmIChpc0FycmF5KG9ialZhbHVlKSkge1xuICAgICAgICAgICAgbmV3VmFsdWUgPSBvYmpWYWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSBpZiAoaXNBcnJheUxpa2VPYmplY3Qob2JqVmFsdWUpKSB7XG4gICAgICAgICAgICBuZXdWYWx1ZSA9IGNvcHlBcnJheShvYmpWYWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2UgaWYgKGlzQnVmZikge1xuICAgICAgICAgICAgaXNDb21tb24gPSBmYWxzZTtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gY2xvbmVCdWZmZXIoc3JjVmFsdWUsIHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIGlmIChpc1R5cGVkKSB7XG4gICAgICAgICAgICBpc0NvbW1vbiA9IGZhbHNlO1xuICAgICAgICAgICAgbmV3VmFsdWUgPSBjbG9uZVR5cGVkQXJyYXkoc3JjVmFsdWUsIHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gW107XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzUGxhaW5PYmplY3Qoc3JjVmFsdWUpIHx8IGlzQXJndW1lbnRzKHNyY1ZhbHVlKSkge1xuICAgICAgICAgIG5ld1ZhbHVlID0gb2JqVmFsdWU7XG4gICAgICAgICAgaWYgKGlzQXJndW1lbnRzKG9ialZhbHVlKSkge1xuICAgICAgICAgICAgbmV3VmFsdWUgPSB0b1BsYWluT2JqZWN0KG9ialZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSBpZiAoIWlzT2JqZWN0KG9ialZhbHVlKSB8fCBpc0Z1bmN0aW9uKG9ialZhbHVlKSkge1xuICAgICAgICAgICAgbmV3VmFsdWUgPSBpbml0Q2xvbmVPYmplY3Qoc3JjVmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBpc0NvbW1vbiA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoaXNDb21tb24pIHtcbiAgICAgICAgLy8gUmVjdXJzaXZlbHkgbWVyZ2Ugb2JqZWN0cyBhbmQgYXJyYXlzIChzdXNjZXB0aWJsZSB0byBjYWxsIHN0YWNrIGxpbWl0cykuXG4gICAgICAgIHN0YWNrLnNldChzcmNWYWx1ZSwgbmV3VmFsdWUpO1xuICAgICAgICBtZXJnZUZ1bmMobmV3VmFsdWUsIHNyY1ZhbHVlLCBzcmNJbmRleCwgY3VzdG9taXplciwgc3RhY2spO1xuICAgICAgICBzdGFja1snZGVsZXRlJ10oc3JjVmFsdWUpO1xuICAgICAgfVxuICAgICAgYXNzaWduTWVyZ2VWYWx1ZShvYmplY3QsIGtleSwgbmV3VmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLm50aGAgd2hpY2ggZG9lc24ndCBjb2VyY2UgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG4gVGhlIGluZGV4IG9mIHRoZSBlbGVtZW50IHRvIHJldHVybi5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgbnRoIGVsZW1lbnQgb2YgYGFycmF5YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlTnRoKGFycmF5LCBuKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbiArPSBuIDwgMCA/IGxlbmd0aCA6IDA7XG4gICAgICByZXR1cm4gaXNJbmRleChuLCBsZW5ndGgpID8gYXJyYXlbbl0gOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ub3JkZXJCeWAgd2l0aG91dCBwYXJhbSBndWFyZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9uW118T2JqZWN0W118c3RyaW5nW119IGl0ZXJhdGVlcyBUaGUgaXRlcmF0ZWVzIHRvIHNvcnQgYnkuXG4gICAgICogQHBhcmFtIHtzdHJpbmdbXX0gb3JkZXJzIFRoZSBzb3J0IG9yZGVycyBvZiBgaXRlcmF0ZWVzYC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBzb3J0ZWQgYXJyYXkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZU9yZGVyQnkoY29sbGVjdGlvbiwgaXRlcmF0ZWVzLCBvcmRlcnMpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xO1xuICAgICAgaXRlcmF0ZWVzID0gYXJyYXlNYXAoaXRlcmF0ZWVzLmxlbmd0aCA/IGl0ZXJhdGVlcyA6IFtpZGVudGl0eV0sIGJhc2VVbmFyeShnZXRJdGVyYXRlZSgpKSk7XG5cbiAgICAgIHZhciByZXN1bHQgPSBiYXNlTWFwKGNvbGxlY3Rpb24sIGZ1bmN0aW9uKHZhbHVlLCBrZXksIGNvbGxlY3Rpb24pIHtcbiAgICAgICAgdmFyIGNyaXRlcmlhID0gYXJyYXlNYXAoaXRlcmF0ZWVzLCBmdW5jdGlvbihpdGVyYXRlZSkge1xuICAgICAgICAgIHJldHVybiBpdGVyYXRlZSh2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4geyAnY3JpdGVyaWEnOiBjcml0ZXJpYSwgJ2luZGV4JzogKytpbmRleCwgJ3ZhbHVlJzogdmFsdWUgfTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gYmFzZVNvcnRCeShyZXN1bHQsIGZ1bmN0aW9uKG9iamVjdCwgb3RoZXIpIHtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVNdWx0aXBsZShvYmplY3QsIG90aGVyLCBvcmRlcnMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ucGlja2Agd2l0aG91dCBzdXBwb3J0IGZvciBpbmRpdmlkdWFsXG4gICAgICogcHJvcGVydHkgaWRlbnRpZmllcnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIHNvdXJjZSBvYmplY3QuXG4gICAgICogQHBhcmFtIHtzdHJpbmdbXX0gcGF0aHMgVGhlIHByb3BlcnR5IHBhdGhzIHRvIHBpY2suXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IG9iamVjdC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlUGljayhvYmplY3QsIHBhdGhzKSB7XG4gICAgICByZXR1cm4gYmFzZVBpY2tCeShvYmplY3QsIHBhdGhzLCBmdW5jdGlvbih2YWx1ZSwgcGF0aCkge1xuICAgICAgICByZXR1cm4gaGFzSW4ob2JqZWN0LCBwYXRoKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mICBgXy5waWNrQnlgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgc291cmNlIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBwYXRocyBUaGUgcHJvcGVydHkgcGF0aHMgdG8gcGljay5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBwcmVkaWNhdGUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIHByb3BlcnR5LlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBvYmplY3QuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVBpY2tCeShvYmplY3QsIHBhdGhzLCBwcmVkaWNhdGUpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHBhdGhzLmxlbmd0aCxcbiAgICAgICAgICByZXN1bHQgPSB7fTtcblxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIHBhdGggPSBwYXRoc1tpbmRleF0sXG4gICAgICAgICAgICB2YWx1ZSA9IGJhc2VHZXQob2JqZWN0LCBwYXRoKTtcblxuICAgICAgICBpZiAocHJlZGljYXRlKHZhbHVlLCBwYXRoKSkge1xuICAgICAgICAgIGJhc2VTZXQocmVzdWx0LCBjYXN0UGF0aChwYXRoLCBvYmplY3QpLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBiYXNlUHJvcGVydHlgIHdoaWNoIHN1cHBvcnRzIGRlZXAgcGF0aHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgYWNjZXNzb3IgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVByb3BlcnR5RGVlcChwYXRoKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgICAgIHJldHVybiBiYXNlR2V0KG9iamVjdCwgcGF0aCk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnB1bGxBbGxCeWAgd2l0aG91dCBzdXBwb3J0IGZvciBpdGVyYXRlZVxuICAgICAqIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtBcnJheX0gdmFsdWVzIFRoZSB2YWx1ZXMgdG8gcmVtb3ZlLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NvbXBhcmF0b3JdIFRoZSBjb21wYXJhdG9yIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBhcnJheWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVB1bGxBbGwoYXJyYXksIHZhbHVlcywgaXRlcmF0ZWUsIGNvbXBhcmF0b3IpIHtcbiAgICAgIHZhciBpbmRleE9mID0gY29tcGFyYXRvciA/IGJhc2VJbmRleE9mV2l0aCA6IGJhc2VJbmRleE9mLFxuICAgICAgICAgIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gdmFsdWVzLmxlbmd0aCxcbiAgICAgICAgICBzZWVuID0gYXJyYXk7XG5cbiAgICAgIGlmIChhcnJheSA9PT0gdmFsdWVzKSB7XG4gICAgICAgIHZhbHVlcyA9IGNvcHlBcnJheSh2YWx1ZXMpO1xuICAgICAgfVxuICAgICAgaWYgKGl0ZXJhdGVlKSB7XG4gICAgICAgIHNlZW4gPSBhcnJheU1hcChhcnJheSwgYmFzZVVuYXJ5KGl0ZXJhdGVlKSk7XG4gICAgICB9XG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgZnJvbUluZGV4ID0gMCxcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWVzW2luZGV4XSxcbiAgICAgICAgICAgIGNvbXB1dGVkID0gaXRlcmF0ZWUgPyBpdGVyYXRlZSh2YWx1ZSkgOiB2YWx1ZTtcblxuICAgICAgICB3aGlsZSAoKGZyb21JbmRleCA9IGluZGV4T2Yoc2VlbiwgY29tcHV0ZWQsIGZyb21JbmRleCwgY29tcGFyYXRvcikpID4gLTEpIHtcbiAgICAgICAgICBpZiAoc2VlbiAhPT0gYXJyYXkpIHtcbiAgICAgICAgICAgIHNwbGljZS5jYWxsKHNlZW4sIGZyb21JbmRleCwgMSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNwbGljZS5jYWxsKGFycmF5LCBmcm9tSW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gYXJyYXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ucHVsbEF0YCB3aXRob3V0IHN1cHBvcnQgZm9yIGluZGl2aWR1YWxcbiAgICAgKiBpbmRleGVzIG9yIGNhcHR1cmluZyB0aGUgcmVtb3ZlZCBlbGVtZW50cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge251bWJlcltdfSBpbmRleGVzIFRoZSBpbmRleGVzIG9mIGVsZW1lbnRzIHRvIHJlbW92ZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlUHVsbEF0KGFycmF5LCBpbmRleGVzKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPyBpbmRleGVzLmxlbmd0aCA6IDAsXG4gICAgICAgICAgbGFzdEluZGV4ID0gbGVuZ3RoIC0gMTtcblxuICAgICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICAgIHZhciBpbmRleCA9IGluZGV4ZXNbbGVuZ3RoXTtcbiAgICAgICAgaWYgKGxlbmd0aCA9PSBsYXN0SW5kZXggfHwgaW5kZXggIT09IHByZXZpb3VzKSB7XG4gICAgICAgICAgdmFyIHByZXZpb3VzID0gaW5kZXg7XG4gICAgICAgICAgaWYgKGlzSW5kZXgoaW5kZXgpKSB7XG4gICAgICAgICAgICBzcGxpY2UuY2FsbChhcnJheSwgaW5kZXgsIDEpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBiYXNlVW5zZXQoYXJyYXksIGluZGV4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBhcnJheTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5yYW5kb21gIHdpdGhvdXQgc3VwcG9ydCBmb3IgcmV0dXJuaW5nXG4gICAgICogZmxvYXRpbmctcG9pbnQgbnVtYmVycy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGxvd2VyIFRoZSBsb3dlciBib3VuZC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gdXBwZXIgVGhlIHVwcGVyIGJvdW5kLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHJhbmRvbSBudW1iZXIuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVJhbmRvbShsb3dlciwgdXBwZXIpIHtcbiAgICAgIHJldHVybiBsb3dlciArIG5hdGl2ZUZsb29yKG5hdGl2ZVJhbmRvbSgpICogKHVwcGVyIC0gbG93ZXIgKyAxKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ucmFuZ2VgIGFuZCBgXy5yYW5nZVJpZ2h0YCB3aGljaCBkb2Vzbid0XG4gICAgICogY29lcmNlIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHN0YXJ0IFRoZSBzdGFydCBvZiB0aGUgcmFuZ2UuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGVuZCBUaGUgZW5kIG9mIHRoZSByYW5nZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gc3RlcCBUaGUgdmFsdWUgdG8gaW5jcmVtZW50IG9yIGRlY3JlbWVudCBieS5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtmcm9tUmlnaHRdIFNwZWNpZnkgaXRlcmF0aW5nIGZyb20gcmlnaHQgdG8gbGVmdC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHJhbmdlIG9mIG51bWJlcnMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVJhbmdlKHN0YXJ0LCBlbmQsIHN0ZXAsIGZyb21SaWdodCkge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gbmF0aXZlTWF4KG5hdGl2ZUNlaWwoKGVuZCAtIHN0YXJ0KSAvIChzdGVwIHx8IDEpKSwgMCksXG4gICAgICAgICAgcmVzdWx0ID0gQXJyYXkobGVuZ3RoKTtcblxuICAgICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICAgIHJlc3VsdFtmcm9tUmlnaHQgPyBsZW5ndGggOiArK2luZGV4XSA9IHN0YXJ0O1xuICAgICAgICBzdGFydCArPSBzdGVwO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5yZXBlYXRgIHdoaWNoIGRvZXNuJ3QgY29lcmNlIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZyBUaGUgc3RyaW5nIHRvIHJlcGVhdC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbiBUaGUgbnVtYmVyIG9mIHRpbWVzIHRvIHJlcGVhdCB0aGUgc3RyaW5nLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHJlcGVhdGVkIHN0cmluZy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlUmVwZWF0KHN0cmluZywgbikge1xuICAgICAgdmFyIHJlc3VsdCA9ICcnO1xuICAgICAgaWYgKCFzdHJpbmcgfHwgbiA8IDEgfHwgbiA+IE1BWF9TQUZFX0lOVEVHRVIpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIC8vIExldmVyYWdlIHRoZSBleHBvbmVudGlhdGlvbiBieSBzcXVhcmluZyBhbGdvcml0aG0gZm9yIGEgZmFzdGVyIHJlcGVhdC5cbiAgICAgIC8vIFNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9FeHBvbmVudGlhdGlvbl9ieV9zcXVhcmluZyBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAgZG8ge1xuICAgICAgICBpZiAobiAlIDIpIHtcbiAgICAgICAgICByZXN1bHQgKz0gc3RyaW5nO1xuICAgICAgICB9XG4gICAgICAgIG4gPSBuYXRpdmVGbG9vcihuIC8gMik7XG4gICAgICAgIGlmIChuKSB7XG4gICAgICAgICAgc3RyaW5nICs9IHN0cmluZztcbiAgICAgICAgfVxuICAgICAgfSB3aGlsZSAobik7XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ucmVzdGAgd2hpY2ggZG9lc24ndCB2YWxpZGF0ZSBvciBjb2VyY2UgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBhcHBseSBhIHJlc3QgcGFyYW1ldGVyIHRvLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbc3RhcnQ9ZnVuYy5sZW5ndGgtMV0gVGhlIHN0YXJ0IHBvc2l0aW9uIG9mIHRoZSByZXN0IHBhcmFtZXRlci5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlUmVzdChmdW5jLCBzdGFydCkge1xuICAgICAgcmV0dXJuIHNldFRvU3RyaW5nKG92ZXJSZXN0KGZ1bmMsIHN0YXJ0LCBpZGVudGl0eSksIGZ1bmMgKyAnJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uc2FtcGxlYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gc2FtcGxlLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSByYW5kb20gZWxlbWVudC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlU2FtcGxlKGNvbGxlY3Rpb24pIHtcbiAgICAgIHJldHVybiBhcnJheVNhbXBsZSh2YWx1ZXMoY29sbGVjdGlvbikpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnNhbXBsZVNpemVgIHdpdGhvdXQgcGFyYW0gZ3VhcmRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBzYW1wbGUuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG4gVGhlIG51bWJlciBvZiBlbGVtZW50cyB0byBzYW1wbGUuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSByYW5kb20gZWxlbWVudHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVNhbXBsZVNpemUoY29sbGVjdGlvbiwgbikge1xuICAgICAgdmFyIGFycmF5ID0gdmFsdWVzKGNvbGxlY3Rpb24pO1xuICAgICAgcmV0dXJuIHNodWZmbGVTZWxmKGFycmF5LCBiYXNlQ2xhbXAobiwgMCwgYXJyYXkubGVuZ3RoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uc2V0YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgcHJvcGVydHkgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBwYXRoIGNyZWF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVNldChvYmplY3QsIHBhdGgsIHZhbHVlLCBjdXN0b21pemVyKSB7XG4gICAgICBpZiAoIWlzT2JqZWN0KG9iamVjdCkpIHtcbiAgICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICAgIH1cbiAgICAgIHBhdGggPSBjYXN0UGF0aChwYXRoLCBvYmplY3QpO1xuXG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBwYXRoLmxlbmd0aCxcbiAgICAgICAgICBsYXN0SW5kZXggPSBsZW5ndGggLSAxLFxuICAgICAgICAgIG5lc3RlZCA9IG9iamVjdDtcblxuICAgICAgd2hpbGUgKG5lc3RlZCAhPSBudWxsICYmICsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIGtleSA9IHRvS2V5KHBhdGhbaW5kZXhdKSxcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKGluZGV4ICE9IGxhc3RJbmRleCkge1xuICAgICAgICAgIHZhciBvYmpWYWx1ZSA9IG5lc3RlZFtrZXldO1xuICAgICAgICAgIG5ld1ZhbHVlID0gY3VzdG9taXplciA/IGN1c3RvbWl6ZXIob2JqVmFsdWUsIGtleSwgbmVzdGVkKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICBpZiAobmV3VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbmV3VmFsdWUgPSBpc09iamVjdChvYmpWYWx1ZSlcbiAgICAgICAgICAgICAgPyBvYmpWYWx1ZVxuICAgICAgICAgICAgICA6IChpc0luZGV4KHBhdGhbaW5kZXggKyAxXSkgPyBbXSA6IHt9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYXNzaWduVmFsdWUobmVzdGVkLCBrZXksIG5ld1ZhbHVlKTtcbiAgICAgICAgbmVzdGVkID0gbmVzdGVkW2tleV07XG4gICAgICB9XG4gICAgICByZXR1cm4gb2JqZWN0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBzZXREYXRhYCB3aXRob3V0IHN1cHBvcnQgZm9yIGhvdCBsb29wIHNob3J0aW5nLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBhc3NvY2lhdGUgbWV0YWRhdGEgd2l0aC5cbiAgICAgKiBAcGFyYW0geyp9IGRhdGEgVGhlIG1ldGFkYXRhLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyBgZnVuY2AuXG4gICAgICovXG4gICAgdmFyIGJhc2VTZXREYXRhID0gIW1ldGFNYXAgPyBpZGVudGl0eSA6IGZ1bmN0aW9uKGZ1bmMsIGRhdGEpIHtcbiAgICAgIG1ldGFNYXAuc2V0KGZ1bmMsIGRhdGEpO1xuICAgICAgcmV0dXJuIGZ1bmM7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBzZXRUb1N0cmluZ2Agd2l0aG91dCBzdXBwb3J0IGZvciBob3QgbG9vcCBzaG9ydGluZy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHN0cmluZyBUaGUgYHRvU3RyaW5nYCByZXN1bHQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIGBmdW5jYC5cbiAgICAgKi9cbiAgICB2YXIgYmFzZVNldFRvU3RyaW5nID0gIWRlZmluZVByb3BlcnR5ID8gaWRlbnRpdHkgOiBmdW5jdGlvbihmdW5jLCBzdHJpbmcpIHtcbiAgICAgIHJldHVybiBkZWZpbmVQcm9wZXJ0eShmdW5jLCAndG9TdHJpbmcnLCB7XG4gICAgICAgICdjb25maWd1cmFibGUnOiB0cnVlLFxuICAgICAgICAnZW51bWVyYWJsZSc6IGZhbHNlLFxuICAgICAgICAndmFsdWUnOiBjb25zdGFudChzdHJpbmcpLFxuICAgICAgICAnd3JpdGFibGUnOiB0cnVlXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uc2h1ZmZsZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIHNodWZmbGUuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgc2h1ZmZsZWQgYXJyYXkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVNodWZmbGUoY29sbGVjdGlvbikge1xuICAgICAgcmV0dXJuIHNodWZmbGVTZWxmKHZhbHVlcyhjb2xsZWN0aW9uKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uc2xpY2VgIHdpdGhvdXQgYW4gaXRlcmF0ZWUgY2FsbCBndWFyZC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHNsaWNlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbc3RhcnQ9MF0gVGhlIHN0YXJ0IHBvc2l0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbZW5kPWFycmF5Lmxlbmd0aF0gVGhlIGVuZCBwb3NpdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHNsaWNlIG9mIGBhcnJheWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVNsaWNlKGFycmF5LCBzdGFydCwgZW5kKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgICAgIGlmIChzdGFydCA8IDApIHtcbiAgICAgICAgc3RhcnQgPSAtc3RhcnQgPiBsZW5ndGggPyAwIDogKGxlbmd0aCArIHN0YXJ0KTtcbiAgICAgIH1cbiAgICAgIGVuZCA9IGVuZCA+IGxlbmd0aCA/IGxlbmd0aCA6IGVuZDtcbiAgICAgIGlmIChlbmQgPCAwKSB7XG4gICAgICAgIGVuZCArPSBsZW5ndGg7XG4gICAgICB9XG4gICAgICBsZW5ndGggPSBzdGFydCA+IGVuZCA/IDAgOiAoKGVuZCAtIHN0YXJ0KSA+Pj4gMCk7XG4gICAgICBzdGFydCA+Pj49IDA7XG5cbiAgICAgIHZhciByZXN1bHQgPSBBcnJheShsZW5ndGgpO1xuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgcmVzdWx0W2luZGV4XSA9IGFycmF5W2luZGV4ICsgc3RhcnRdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5zb21lYCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBwcmVkaWNhdGUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYW55IGVsZW1lbnQgcGFzc2VzIHRoZSBwcmVkaWNhdGUgY2hlY2ssXG4gICAgICogIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlU29tZShjb2xsZWN0aW9uLCBwcmVkaWNhdGUpIHtcbiAgICAgIHZhciByZXN1bHQ7XG5cbiAgICAgIGJhc2VFYWNoKGNvbGxlY3Rpb24sIGZ1bmN0aW9uKHZhbHVlLCBpbmRleCwgY29sbGVjdGlvbikge1xuICAgICAgICByZXN1bHQgPSBwcmVkaWNhdGUodmFsdWUsIGluZGV4LCBjb2xsZWN0aW9uKTtcbiAgICAgICAgcmV0dXJuICFyZXN1bHQ7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiAhIXJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5zb3J0ZWRJbmRleGAgYW5kIGBfLnNvcnRlZExhc3RJbmRleGAgd2hpY2hcbiAgICAgKiBwZXJmb3JtcyBhIGJpbmFyeSBzZWFyY2ggb2YgYGFycmF5YCB0byBkZXRlcm1pbmUgdGhlIGluZGV4IGF0IHdoaWNoIGB2YWx1ZWBcbiAgICAgKiBzaG91bGQgYmUgaW5zZXJ0ZWQgaW50byBgYXJyYXlgIGluIG9yZGVyIHRvIG1haW50YWluIGl0cyBzb3J0IG9yZGVyLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgc29ydGVkIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gZXZhbHVhdGUuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbcmV0SGlnaGVzdF0gU3BlY2lmeSByZXR1cm5pbmcgdGhlIGhpZ2hlc3QgcXVhbGlmaWVkIGluZGV4LlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IGF0IHdoaWNoIGB2YWx1ZWAgc2hvdWxkIGJlIGluc2VydGVkXG4gICAgICogIGludG8gYGFycmF5YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlU29ydGVkSW5kZXgoYXJyYXksIHZhbHVlLCByZXRIaWdoZXN0KSB7XG4gICAgICB2YXIgbG93ID0gMCxcbiAgICAgICAgICBoaWdoID0gYXJyYXkgPT0gbnVsbCA/IGxvdyA6IGFycmF5Lmxlbmd0aDtcblxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSAnbnVtYmVyJyAmJiB2YWx1ZSA9PT0gdmFsdWUgJiYgaGlnaCA8PSBIQUxGX01BWF9BUlJBWV9MRU5HVEgpIHtcbiAgICAgICAgd2hpbGUgKGxvdyA8IGhpZ2gpIHtcbiAgICAgICAgICB2YXIgbWlkID0gKGxvdyArIGhpZ2gpID4+PiAxLFxuICAgICAgICAgICAgICBjb21wdXRlZCA9IGFycmF5W21pZF07XG5cbiAgICAgICAgICBpZiAoY29tcHV0ZWQgIT09IG51bGwgJiYgIWlzU3ltYm9sKGNvbXB1dGVkKSAmJlxuICAgICAgICAgICAgICAocmV0SGlnaGVzdCA/IChjb21wdXRlZCA8PSB2YWx1ZSkgOiAoY29tcHV0ZWQgPCB2YWx1ZSkpKSB7XG4gICAgICAgICAgICBsb3cgPSBtaWQgKyAxO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBoaWdoID0gbWlkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaGlnaDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlU29ydGVkSW5kZXhCeShhcnJheSwgdmFsdWUsIGlkZW50aXR5LCByZXRIaWdoZXN0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5zb3J0ZWRJbmRleEJ5YCBhbmQgYF8uc29ydGVkTGFzdEluZGV4QnlgXG4gICAgICogd2hpY2ggaW52b2tlcyBgaXRlcmF0ZWVgIGZvciBgdmFsdWVgIGFuZCBlYWNoIGVsZW1lbnQgb2YgYGFycmF5YCB0byBjb21wdXRlXG4gICAgICogdGhlaXIgc29ydCByYW5raW5nLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDsgKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIHNvcnRlZCBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGV2YWx1YXRlLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW3JldEhpZ2hlc3RdIFNwZWNpZnkgcmV0dXJuaW5nIHRoZSBoaWdoZXN0IHF1YWxpZmllZCBpbmRleC5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBhdCB3aGljaCBgdmFsdWVgIHNob3VsZCBiZSBpbnNlcnRlZFxuICAgICAqICBpbnRvIGBhcnJheWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVNvcnRlZEluZGV4QnkoYXJyYXksIHZhbHVlLCBpdGVyYXRlZSwgcmV0SGlnaGVzdCkge1xuICAgICAgdmFsdWUgPSBpdGVyYXRlZSh2YWx1ZSk7XG5cbiAgICAgIHZhciBsb3cgPSAwLFxuICAgICAgICAgIGhpZ2ggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aCxcbiAgICAgICAgICB2YWxJc05hTiA9IHZhbHVlICE9PSB2YWx1ZSxcbiAgICAgICAgICB2YWxJc051bGwgPSB2YWx1ZSA9PT0gbnVsbCxcbiAgICAgICAgICB2YWxJc1N5bWJvbCA9IGlzU3ltYm9sKHZhbHVlKSxcbiAgICAgICAgICB2YWxJc1VuZGVmaW5lZCA9IHZhbHVlID09PSB1bmRlZmluZWQ7XG5cbiAgICAgIHdoaWxlIChsb3cgPCBoaWdoKSB7XG4gICAgICAgIHZhciBtaWQgPSBuYXRpdmVGbG9vcigobG93ICsgaGlnaCkgLyAyKSxcbiAgICAgICAgICAgIGNvbXB1dGVkID0gaXRlcmF0ZWUoYXJyYXlbbWlkXSksXG4gICAgICAgICAgICBvdGhJc0RlZmluZWQgPSBjb21wdXRlZCAhPT0gdW5kZWZpbmVkLFxuICAgICAgICAgICAgb3RoSXNOdWxsID0gY29tcHV0ZWQgPT09IG51bGwsXG4gICAgICAgICAgICBvdGhJc1JlZmxleGl2ZSA9IGNvbXB1dGVkID09PSBjb21wdXRlZCxcbiAgICAgICAgICAgIG90aElzU3ltYm9sID0gaXNTeW1ib2woY29tcHV0ZWQpO1xuXG4gICAgICAgIGlmICh2YWxJc05hTikge1xuICAgICAgICAgIHZhciBzZXRMb3cgPSByZXRIaWdoZXN0IHx8IG90aElzUmVmbGV4aXZlO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbElzVW5kZWZpbmVkKSB7XG4gICAgICAgICAgc2V0TG93ID0gb3RoSXNSZWZsZXhpdmUgJiYgKHJldEhpZ2hlc3QgfHwgb3RoSXNEZWZpbmVkKTtcbiAgICAgICAgfSBlbHNlIGlmICh2YWxJc051bGwpIHtcbiAgICAgICAgICBzZXRMb3cgPSBvdGhJc1JlZmxleGl2ZSAmJiBvdGhJc0RlZmluZWQgJiYgKHJldEhpZ2hlc3QgfHwgIW90aElzTnVsbCk7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsSXNTeW1ib2wpIHtcbiAgICAgICAgICBzZXRMb3cgPSBvdGhJc1JlZmxleGl2ZSAmJiBvdGhJc0RlZmluZWQgJiYgIW90aElzTnVsbCAmJiAocmV0SGlnaGVzdCB8fCAhb3RoSXNTeW1ib2wpO1xuICAgICAgICB9IGVsc2UgaWYgKG90aElzTnVsbCB8fCBvdGhJc1N5bWJvbCkge1xuICAgICAgICAgIHNldExvdyA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNldExvdyA9IHJldEhpZ2hlc3QgPyAoY29tcHV0ZWQgPD0gdmFsdWUpIDogKGNvbXB1dGVkIDwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzZXRMb3cpIHtcbiAgICAgICAgICBsb3cgPSBtaWQgKyAxO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGhpZ2ggPSBtaWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBuYXRpdmVNaW4oaGlnaCwgTUFYX0FSUkFZX0lOREVYKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5zb3J0ZWRVbmlxYCBhbmQgYF8uc29ydGVkVW5pcUJ5YCB3aXRob3V0XG4gICAgICogc3VwcG9ydCBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlXSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBkdXBsaWNhdGUgZnJlZSBhcnJheS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlU29ydGVkVW5pcShhcnJheSwgaXRlcmF0ZWUpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IGFycmF5Lmxlbmd0aCxcbiAgICAgICAgICByZXNJbmRleCA9IDAsXG4gICAgICAgICAgcmVzdWx0ID0gW107XG5cbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICAgIGNvbXB1dGVkID0gaXRlcmF0ZWUgPyBpdGVyYXRlZSh2YWx1ZSkgOiB2YWx1ZTtcblxuICAgICAgICBpZiAoIWluZGV4IHx8ICFlcShjb21wdXRlZCwgc2VlbikpIHtcbiAgICAgICAgICB2YXIgc2VlbiA9IGNvbXB1dGVkO1xuICAgICAgICAgIHJlc3VsdFtyZXNJbmRleCsrXSA9IHZhbHVlID09PSAwID8gMCA6IHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnRvTnVtYmVyYCB3aGljaCBkb2Vzbid0IGVuc3VyZSBjb3JyZWN0XG4gICAgICogY29udmVyc2lvbnMgb2YgYmluYXJ5LCBoZXhhZGVjaW1hbCwgb3Igb2N0YWwgc3RyaW5nIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcHJvY2Vzcy5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBudW1iZXIuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVRvTnVtYmVyKHZhbHVlKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09ICdudW1iZXInKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChpc1N5bWJvbCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIE5BTjtcbiAgICAgIH1cbiAgICAgIHJldHVybiArdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8udG9TdHJpbmdgIHdoaWNoIGRvZXNuJ3QgY29udmVydCBudWxsaXNoXG4gICAgICogdmFsdWVzIHRvIGVtcHR5IHN0cmluZ3MuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHByb2Nlc3MuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgc3RyaW5nLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VUb1N0cmluZyh2YWx1ZSkge1xuICAgICAgLy8gRXhpdCBlYXJseSBmb3Igc3RyaW5ncyB0byBhdm9pZCBhIHBlcmZvcm1hbmNlIGhpdCBpbiBzb21lIGVudmlyb25tZW50cy5cbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgaWYgKGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIC8vIFJlY3Vyc2l2ZWx5IGNvbnZlcnQgdmFsdWVzIChzdXNjZXB0aWJsZSB0byBjYWxsIHN0YWNrIGxpbWl0cykuXG4gICAgICAgIHJldHVybiBhcnJheU1hcCh2YWx1ZSwgYmFzZVRvU3RyaW5nKSArICcnO1xuICAgICAgfVxuICAgICAgaWYgKGlzU3ltYm9sKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gc3ltYm9sVG9TdHJpbmcgPyBzeW1ib2xUb1N0cmluZy5jYWxsKHZhbHVlKSA6ICcnO1xuICAgICAgfVxuICAgICAgdmFyIHJlc3VsdCA9ICh2YWx1ZSArICcnKTtcbiAgICAgIHJldHVybiAocmVzdWx0ID09ICcwJyAmJiAoMSAvIHZhbHVlKSA9PSAtSU5GSU5JVFkpID8gJy0wJyA6IHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy51bmlxQnlgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlXSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY29tcGFyYXRvcl0gVGhlIGNvbXBhcmF0b3IgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBkdXBsaWNhdGUgZnJlZSBhcnJheS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlVW5pcShhcnJheSwgaXRlcmF0ZWUsIGNvbXBhcmF0b3IpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGluY2x1ZGVzID0gYXJyYXlJbmNsdWRlcyxcbiAgICAgICAgICBsZW5ndGggPSBhcnJheS5sZW5ndGgsXG4gICAgICAgICAgaXNDb21tb24gPSB0cnVlLFxuICAgICAgICAgIHJlc3VsdCA9IFtdLFxuICAgICAgICAgIHNlZW4gPSByZXN1bHQ7XG5cbiAgICAgIGlmIChjb21wYXJhdG9yKSB7XG4gICAgICAgIGlzQ29tbW9uID0gZmFsc2U7XG4gICAgICAgIGluY2x1ZGVzID0gYXJyYXlJbmNsdWRlc1dpdGg7XG4gICAgICB9XG4gICAgICBlbHNlIGlmIChsZW5ndGggPj0gTEFSR0VfQVJSQVlfU0laRSkge1xuICAgICAgICB2YXIgc2V0ID0gaXRlcmF0ZWUgPyBudWxsIDogY3JlYXRlU2V0KGFycmF5KTtcbiAgICAgICAgaWYgKHNldCkge1xuICAgICAgICAgIHJldHVybiBzZXRUb0FycmF5KHNldCk7XG4gICAgICAgIH1cbiAgICAgICAgaXNDb21tb24gPSBmYWxzZTtcbiAgICAgICAgaW5jbHVkZXMgPSBjYWNoZUhhcztcbiAgICAgICAgc2VlbiA9IG5ldyBTZXRDYWNoZTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBzZWVuID0gaXRlcmF0ZWUgPyBbXSA6IHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIG91dGVyOlxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gYXJyYXlbaW5kZXhdLFxuICAgICAgICAgICAgY29tcHV0ZWQgPSBpdGVyYXRlZSA/IGl0ZXJhdGVlKHZhbHVlKSA6IHZhbHVlO1xuXG4gICAgICAgIHZhbHVlID0gKGNvbXBhcmF0b3IgfHwgdmFsdWUgIT09IDApID8gdmFsdWUgOiAwO1xuICAgICAgICBpZiAoaXNDb21tb24gJiYgY29tcHV0ZWQgPT09IGNvbXB1dGVkKSB7XG4gICAgICAgICAgdmFyIHNlZW5JbmRleCA9IHNlZW4ubGVuZ3RoO1xuICAgICAgICAgIHdoaWxlIChzZWVuSW5kZXgtLSkge1xuICAgICAgICAgICAgaWYgKHNlZW5bc2VlbkluZGV4XSA9PT0gY29tcHV0ZWQpIHtcbiAgICAgICAgICAgICAgY29udGludWUgb3V0ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpdGVyYXRlZSkge1xuICAgICAgICAgICAgc2Vlbi5wdXNoKGNvbXB1dGVkKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzdWx0LnB1c2godmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCFpbmNsdWRlcyhzZWVuLCBjb21wdXRlZCwgY29tcGFyYXRvcikpIHtcbiAgICAgICAgICBpZiAoc2VlbiAhPT0gcmVzdWx0KSB7XG4gICAgICAgICAgICBzZWVuLnB1c2goY29tcHV0ZWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXN1bHQucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8udW5zZXRgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwcm9wZXJ0eSBwYXRoIHRvIHVuc2V0LlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgcHJvcGVydHkgaXMgZGVsZXRlZCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VVbnNldChvYmplY3QsIHBhdGgpIHtcbiAgICAgIHBhdGggPSBjYXN0UGF0aChwYXRoLCBvYmplY3QpO1xuICAgICAgb2JqZWN0ID0gcGFyZW50KG9iamVjdCwgcGF0aCk7XG4gICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgfHwgZGVsZXRlIG9iamVjdFt0b0tleShsYXN0KHBhdGgpKV07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8udXBkYXRlYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgcHJvcGVydHkgdG8gdXBkYXRlLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHVwZGF0ZXIgVGhlIGZ1bmN0aW9uIHRvIHByb2R1Y2UgdGhlIHVwZGF0ZWQgdmFsdWUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgcGF0aCBjcmVhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VVcGRhdGUob2JqZWN0LCBwYXRoLCB1cGRhdGVyLCBjdXN0b21pemVyKSB7XG4gICAgICByZXR1cm4gYmFzZVNldChvYmplY3QsIHBhdGgsIHVwZGF0ZXIoYmFzZUdldChvYmplY3QsIHBhdGgpKSwgY3VzdG9taXplcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgbWV0aG9kcyBsaWtlIGBfLmRyb3BXaGlsZWAgYW5kIGBfLnRha2VXaGlsZWBcbiAgICAgKiB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBwcmVkaWNhdGUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtpc0Ryb3BdIFNwZWNpZnkgZHJvcHBpbmcgZWxlbWVudHMgaW5zdGVhZCBvZiB0YWtpbmcgdGhlbS5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtmcm9tUmlnaHRdIFNwZWNpZnkgaXRlcmF0aW5nIGZyb20gcmlnaHQgdG8gbGVmdC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHNsaWNlIG9mIGBhcnJheWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVdoaWxlKGFycmF5LCBwcmVkaWNhdGUsIGlzRHJvcCwgZnJvbVJpZ2h0KSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoLFxuICAgICAgICAgIGluZGV4ID0gZnJvbVJpZ2h0ID8gbGVuZ3RoIDogLTE7XG5cbiAgICAgIHdoaWxlICgoZnJvbVJpZ2h0ID8gaW5kZXgtLSA6ICsraW5kZXggPCBsZW5ndGgpICYmXG4gICAgICAgIHByZWRpY2F0ZShhcnJheVtpbmRleF0sIGluZGV4LCBhcnJheSkpIHt9XG5cbiAgICAgIHJldHVybiBpc0Ryb3BcbiAgICAgICAgPyBiYXNlU2xpY2UoYXJyYXksIChmcm9tUmlnaHQgPyAwIDogaW5kZXgpLCAoZnJvbVJpZ2h0ID8gaW5kZXggKyAxIDogbGVuZ3RoKSlcbiAgICAgICAgOiBiYXNlU2xpY2UoYXJyYXksIChmcm9tUmlnaHQgPyBpbmRleCArIDEgOiAwKSwgKGZyb21SaWdodCA/IGxlbmd0aCA6IGluZGV4KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYHdyYXBwZXJWYWx1ZWAgd2hpY2ggcmV0dXJucyB0aGUgcmVzdWx0IG9mXG4gICAgICogcGVyZm9ybWluZyBhIHNlcXVlbmNlIG9mIGFjdGlvbnMgb24gdGhlIHVud3JhcHBlZCBgdmFsdWVgLCB3aGVyZSBlYWNoXG4gICAgICogc3VjY2Vzc2l2ZSBhY3Rpb24gaXMgc3VwcGxpZWQgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgcHJldmlvdXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHVud3JhcHBlZCB2YWx1ZS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhY3Rpb25zIEFjdGlvbnMgdG8gcGVyZm9ybSB0byByZXNvbHZlIHRoZSB1bndyYXBwZWQgdmFsdWUuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJlc29sdmVkIHZhbHVlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VXcmFwcGVyVmFsdWUodmFsdWUsIGFjdGlvbnMpIHtcbiAgICAgIHZhciByZXN1bHQgPSB2YWx1ZTtcbiAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBMYXp5V3JhcHBlcikge1xuICAgICAgICByZXN1bHQgPSByZXN1bHQudmFsdWUoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhcnJheVJlZHVjZShhY3Rpb25zLCBmdW5jdGlvbihyZXN1bHQsIGFjdGlvbikge1xuICAgICAgICByZXR1cm4gYWN0aW9uLmZ1bmMuYXBwbHkoYWN0aW9uLnRoaXNBcmcsIGFycmF5UHVzaChbcmVzdWx0XSwgYWN0aW9uLmFyZ3MpKTtcbiAgICAgIH0sIHJlc3VsdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgbWV0aG9kcyBsaWtlIGBfLnhvcmAsIHdpdGhvdXQgc3VwcG9ydCBmb3JcbiAgICAgKiBpdGVyYXRlZSBzaG9ydGhhbmRzLCB0aGF0IGFjY2VwdHMgYW4gYXJyYXkgb2YgYXJyYXlzIHRvIGluc3BlY3QuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5cyBUaGUgYXJyYXlzIHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlXSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY29tcGFyYXRvcl0gVGhlIGNvbXBhcmF0b3IgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiB2YWx1ZXMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVhvcihhcnJheXMsIGl0ZXJhdGVlLCBjb21wYXJhdG9yKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXlzLmxlbmd0aDtcbiAgICAgIGlmIChsZW5ndGggPCAyKSB7XG4gICAgICAgIHJldHVybiBsZW5ndGggPyBiYXNlVW5pcShhcnJheXNbMF0pIDogW107XG4gICAgICB9XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICByZXN1bHQgPSBBcnJheShsZW5ndGgpO1xuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgYXJyYXkgPSBhcnJheXNbaW5kZXhdLFxuICAgICAgICAgICAgb3RoSW5kZXggPSAtMTtcblxuICAgICAgICB3aGlsZSAoKytvdGhJbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgIGlmIChvdGhJbmRleCAhPSBpbmRleCkge1xuICAgICAgICAgICAgcmVzdWx0W2luZGV4XSA9IGJhc2VEaWZmZXJlbmNlKHJlc3VsdFtpbmRleF0gfHwgYXJyYXksIGFycmF5c1tvdGhJbmRleF0sIGl0ZXJhdGVlLCBjb21wYXJhdG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlVW5pcShiYXNlRmxhdHRlbihyZXN1bHQsIDEpLCBpdGVyYXRlZSwgY29tcGFyYXRvcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnppcE9iamVjdGAgd2hpY2ggYXNzaWducyB2YWx1ZXMgdXNpbmcgYGFzc2lnbkZ1bmNgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBwcm9wcyBUaGUgcHJvcGVydHkgaWRlbnRpZmllcnMuXG4gICAgICogQHBhcmFtIHtBcnJheX0gdmFsdWVzIFRoZSBwcm9wZXJ0eSB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gYXNzaWduRnVuYyBUaGUgZnVuY3Rpb24gdG8gYXNzaWduIHZhbHVlcy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VaaXBPYmplY3QocHJvcHMsIHZhbHVlcywgYXNzaWduRnVuYykge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gcHJvcHMubGVuZ3RoLFxuICAgICAgICAgIHZhbHNMZW5ndGggPSB2YWx1ZXMubGVuZ3RoLFxuICAgICAgICAgIHJlc3VsdCA9IHt9O1xuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgdmFsdWUgPSBpbmRleCA8IHZhbHNMZW5ndGggPyB2YWx1ZXNbaW5kZXhdIDogdW5kZWZpbmVkO1xuICAgICAgICBhc3NpZ25GdW5jKHJlc3VsdCwgcHJvcHNbaW5kZXhdLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhc3RzIGB2YWx1ZWAgdG8gYW4gZW1wdHkgYXJyYXkgaWYgaXQncyBub3QgYW4gYXJyYXkgbGlrZSBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge0FycmF5fE9iamVjdH0gUmV0dXJucyB0aGUgY2FzdCBhcnJheS1saWtlIG9iamVjdC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjYXN0QXJyYXlMaWtlT2JqZWN0KHZhbHVlKSB7XG4gICAgICByZXR1cm4gaXNBcnJheUxpa2VPYmplY3QodmFsdWUpID8gdmFsdWUgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYXN0cyBgdmFsdWVgIHRvIGBpZGVudGl0eWAgaWYgaXQncyBub3QgYSBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gaW5zcGVjdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgY2FzdCBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjYXN0RnVuY3Rpb24odmFsdWUpIHtcbiAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT0gJ2Z1bmN0aW9uJyA/IHZhbHVlIDogaWRlbnRpdHk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FzdHMgYHZhbHVlYCB0byBhIHBhdGggYXJyYXkgaWYgaXQncyBub3Qgb25lLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb2JqZWN0XSBUaGUgb2JqZWN0IHRvIHF1ZXJ5IGtleXMgb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBjYXN0IHByb3BlcnR5IHBhdGggYXJyYXkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gY2FzdFBhdGgodmFsdWUsIG9iamVjdCkge1xuICAgICAgaWYgKGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBpc0tleSh2YWx1ZSwgb2JqZWN0KSA/IFt2YWx1ZV0gOiBzdHJpbmdUb1BhdGgodG9TdHJpbmcodmFsdWUpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIGBiYXNlUmVzdGAgYWxpYXMgd2hpY2ggY2FuIGJlIHJlcGxhY2VkIHdpdGggYGlkZW50aXR5YCBieSBtb2R1bGVcbiAgICAgKiByZXBsYWNlbWVudCBwbHVnaW5zLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAdHlwZSB7RnVuY3Rpb259XG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gYXBwbHkgYSByZXN0IHBhcmFtZXRlciB0by5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICB2YXIgY2FzdFJlc3QgPSBiYXNlUmVzdDtcblxuICAgIC8qKlxuICAgICAqIENhc3RzIGBhcnJheWAgdG8gYSBzbGljZSBpZiBpdCdzIG5lZWRlZC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHN0YXJ0IFRoZSBzdGFydCBwb3NpdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2VuZD1hcnJheS5sZW5ndGhdIFRoZSBlbmQgcG9zaXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBjYXN0IHNsaWNlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNhc3RTbGljZShhcnJheSwgc3RhcnQsIGVuZCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcbiAgICAgIGVuZCA9IGVuZCA9PT0gdW5kZWZpbmVkID8gbGVuZ3RoIDogZW5kO1xuICAgICAgcmV0dXJuICghc3RhcnQgJiYgZW5kID49IGxlbmd0aCkgPyBhcnJheSA6IGJhc2VTbGljZShhcnJheSwgc3RhcnQsIGVuZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzaW1wbGUgd3JhcHBlciBhcm91bmQgdGhlIGdsb2JhbCBbYGNsZWFyVGltZW91dGBdKGh0dHBzOi8vbWRuLmlvL2NsZWFyVGltZW91dCkuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7bnVtYmVyfE9iamVjdH0gaWQgVGhlIHRpbWVyIGlkIG9yIHRpbWVvdXQgb2JqZWN0IG9mIHRoZSB0aW1lciB0byBjbGVhci5cbiAgICAgKi9cbiAgICB2YXIgY2xlYXJUaW1lb3V0ID0gY3R4Q2xlYXJUaW1lb3V0IHx8IGZ1bmN0aW9uKGlkKSB7XG4gICAgICByZXR1cm4gcm9vdC5jbGVhclRpbWVvdXQoaWQpO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgY2xvbmUgb2YgIGBidWZmZXJgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0J1ZmZlcn0gYnVmZmVyIFRoZSBidWZmZXIgdG8gY2xvbmUuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbaXNEZWVwXSBTcGVjaWZ5IGEgZGVlcCBjbG9uZS5cbiAgICAgKiBAcmV0dXJucyB7QnVmZmVyfSBSZXR1cm5zIHRoZSBjbG9uZWQgYnVmZmVyLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNsb25lQnVmZmVyKGJ1ZmZlciwgaXNEZWVwKSB7XG4gICAgICBpZiAoaXNEZWVwKSB7XG4gICAgICAgIHJldHVybiBidWZmZXIuc2xpY2UoKTtcbiAgICAgIH1cbiAgICAgIHZhciBsZW5ndGggPSBidWZmZXIubGVuZ3RoLFxuICAgICAgICAgIHJlc3VsdCA9IGFsbG9jVW5zYWZlID8gYWxsb2NVbnNhZmUobGVuZ3RoKSA6IG5ldyBidWZmZXIuY29uc3RydWN0b3IobGVuZ3RoKTtcblxuICAgICAgYnVmZmVyLmNvcHkocmVzdWx0KTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGNsb25lIG9mIGBhcnJheUJ1ZmZlcmAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXlCdWZmZXJ9IGFycmF5QnVmZmVyIFRoZSBhcnJheSBidWZmZXIgdG8gY2xvbmUuXG4gICAgICogQHJldHVybnMge0FycmF5QnVmZmVyfSBSZXR1cm5zIHRoZSBjbG9uZWQgYXJyYXkgYnVmZmVyLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNsb25lQXJyYXlCdWZmZXIoYXJyYXlCdWZmZXIpIHtcbiAgICAgIHZhciByZXN1bHQgPSBuZXcgYXJyYXlCdWZmZXIuY29uc3RydWN0b3IoYXJyYXlCdWZmZXIuYnl0ZUxlbmd0aCk7XG4gICAgICBuZXcgVWludDhBcnJheShyZXN1bHQpLnNldChuZXcgVWludDhBcnJheShhcnJheUJ1ZmZlcikpO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgY2xvbmUgb2YgYGRhdGFWaWV3YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IGRhdGFWaWV3IFRoZSBkYXRhIHZpZXcgdG8gY2xvbmUuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbaXNEZWVwXSBTcGVjaWZ5IGEgZGVlcCBjbG9uZS5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBjbG9uZWQgZGF0YSB2aWV3LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNsb25lRGF0YVZpZXcoZGF0YVZpZXcsIGlzRGVlcCkge1xuICAgICAgdmFyIGJ1ZmZlciA9IGlzRGVlcCA/IGNsb25lQXJyYXlCdWZmZXIoZGF0YVZpZXcuYnVmZmVyKSA6IGRhdGFWaWV3LmJ1ZmZlcjtcbiAgICAgIHJldHVybiBuZXcgZGF0YVZpZXcuY29uc3RydWN0b3IoYnVmZmVyLCBkYXRhVmlldy5ieXRlT2Zmc2V0LCBkYXRhVmlldy5ieXRlTGVuZ3RoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgY2xvbmUgb2YgYHJlZ2V4cGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSByZWdleHAgVGhlIHJlZ2V4cCB0byBjbG9uZS5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBjbG9uZWQgcmVnZXhwLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNsb25lUmVnRXhwKHJlZ2V4cCkge1xuICAgICAgdmFyIHJlc3VsdCA9IG5ldyByZWdleHAuY29uc3RydWN0b3IocmVnZXhwLnNvdXJjZSwgcmVGbGFncy5leGVjKHJlZ2V4cCkpO1xuICAgICAgcmVzdWx0Lmxhc3RJbmRleCA9IHJlZ2V4cC5sYXN0SW5kZXg7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBjbG9uZSBvZiB0aGUgYHN5bWJvbGAgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc3ltYm9sIFRoZSBzeW1ib2wgb2JqZWN0IHRvIGNsb25lLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGNsb25lZCBzeW1ib2wgb2JqZWN0LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNsb25lU3ltYm9sKHN5bWJvbCkge1xuICAgICAgcmV0dXJuIHN5bWJvbFZhbHVlT2YgPyBPYmplY3Qoc3ltYm9sVmFsdWVPZi5jYWxsKHN5bWJvbCkpIDoge307XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGNsb25lIG9mIGB0eXBlZEFycmF5YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHR5cGVkQXJyYXkgVGhlIHR5cGVkIGFycmF5IHRvIGNsb25lLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lzRGVlcF0gU3BlY2lmeSBhIGRlZXAgY2xvbmUuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgY2xvbmVkIHR5cGVkIGFycmF5LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNsb25lVHlwZWRBcnJheSh0eXBlZEFycmF5LCBpc0RlZXApIHtcbiAgICAgIHZhciBidWZmZXIgPSBpc0RlZXAgPyBjbG9uZUFycmF5QnVmZmVyKHR5cGVkQXJyYXkuYnVmZmVyKSA6IHR5cGVkQXJyYXkuYnVmZmVyO1xuICAgICAgcmV0dXJuIG5ldyB0eXBlZEFycmF5LmNvbnN0cnVjdG9yKGJ1ZmZlciwgdHlwZWRBcnJheS5ieXRlT2Zmc2V0LCB0eXBlZEFycmF5Lmxlbmd0aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29tcGFyZXMgdmFsdWVzIHRvIHNvcnQgdGhlbSBpbiBhc2NlbmRpbmcgb3JkZXIuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHsqfSBvdGhlciBUaGUgb3RoZXIgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBzb3J0IG9yZGVyIGluZGljYXRvciBmb3IgYHZhbHVlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjb21wYXJlQXNjZW5kaW5nKHZhbHVlLCBvdGhlcikge1xuICAgICAgaWYgKHZhbHVlICE9PSBvdGhlcikge1xuICAgICAgICB2YXIgdmFsSXNEZWZpbmVkID0gdmFsdWUgIT09IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHZhbElzTnVsbCA9IHZhbHVlID09PSBudWxsLFxuICAgICAgICAgICAgdmFsSXNSZWZsZXhpdmUgPSB2YWx1ZSA9PT0gdmFsdWUsXG4gICAgICAgICAgICB2YWxJc1N5bWJvbCA9IGlzU3ltYm9sKHZhbHVlKTtcblxuICAgICAgICB2YXIgb3RoSXNEZWZpbmVkID0gb3RoZXIgIT09IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIG90aElzTnVsbCA9IG90aGVyID09PSBudWxsLFxuICAgICAgICAgICAgb3RoSXNSZWZsZXhpdmUgPSBvdGhlciA9PT0gb3RoZXIsXG4gICAgICAgICAgICBvdGhJc1N5bWJvbCA9IGlzU3ltYm9sKG90aGVyKTtcblxuICAgICAgICBpZiAoKCFvdGhJc051bGwgJiYgIW90aElzU3ltYm9sICYmICF2YWxJc1N5bWJvbCAmJiB2YWx1ZSA+IG90aGVyKSB8fFxuICAgICAgICAgICAgKHZhbElzU3ltYm9sICYmIG90aElzRGVmaW5lZCAmJiBvdGhJc1JlZmxleGl2ZSAmJiAhb3RoSXNOdWxsICYmICFvdGhJc1N5bWJvbCkgfHxcbiAgICAgICAgICAgICh2YWxJc051bGwgJiYgb3RoSXNEZWZpbmVkICYmIG90aElzUmVmbGV4aXZlKSB8fFxuICAgICAgICAgICAgKCF2YWxJc0RlZmluZWQgJiYgb3RoSXNSZWZsZXhpdmUpIHx8XG4gICAgICAgICAgICAhdmFsSXNSZWZsZXhpdmUpIHtcbiAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoKCF2YWxJc051bGwgJiYgIXZhbElzU3ltYm9sICYmICFvdGhJc1N5bWJvbCAmJiB2YWx1ZSA8IG90aGVyKSB8fFxuICAgICAgICAgICAgKG90aElzU3ltYm9sICYmIHZhbElzRGVmaW5lZCAmJiB2YWxJc1JlZmxleGl2ZSAmJiAhdmFsSXNOdWxsICYmICF2YWxJc1N5bWJvbCkgfHxcbiAgICAgICAgICAgIChvdGhJc051bGwgJiYgdmFsSXNEZWZpbmVkICYmIHZhbElzUmVmbGV4aXZlKSB8fFxuICAgICAgICAgICAgKCFvdGhJc0RlZmluZWQgJiYgdmFsSXNSZWZsZXhpdmUpIHx8XG4gICAgICAgICAgICAhb3RoSXNSZWZsZXhpdmUpIHtcbiAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVzZWQgYnkgYF8ub3JkZXJCeWAgdG8gY29tcGFyZSBtdWx0aXBsZSBwcm9wZXJ0aWVzIG9mIGEgdmFsdWUgdG8gYW5vdGhlclxuICAgICAqIGFuZCBzdGFibGUgc29ydCB0aGVtLlxuICAgICAqXG4gICAgICogSWYgYG9yZGVyc2AgaXMgdW5zcGVjaWZpZWQsIGFsbCB2YWx1ZXMgYXJlIHNvcnRlZCBpbiBhc2NlbmRpbmcgb3JkZXIuIE90aGVyd2lzZSxcbiAgICAgKiBzcGVjaWZ5IGFuIG9yZGVyIG9mIFwiZGVzY1wiIGZvciBkZXNjZW5kaW5nIG9yIFwiYXNjXCIgZm9yIGFzY2VuZGluZyBzb3J0IG9yZGVyXG4gICAgICogb2YgY29ycmVzcG9uZGluZyB2YWx1ZXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvdGhlciBUaGUgb3RoZXIgb2JqZWN0IHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHtib29sZWFuW118c3RyaW5nW119IG9yZGVycyBUaGUgb3JkZXIgdG8gc29ydCBieSBmb3IgZWFjaCBwcm9wZXJ0eS5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBzb3J0IG9yZGVyIGluZGljYXRvciBmb3IgYG9iamVjdGAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gY29tcGFyZU11bHRpcGxlKG9iamVjdCwgb3RoZXIsIG9yZGVycykge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgb2JqQ3JpdGVyaWEgPSBvYmplY3QuY3JpdGVyaWEsXG4gICAgICAgICAgb3RoQ3JpdGVyaWEgPSBvdGhlci5jcml0ZXJpYSxcbiAgICAgICAgICBsZW5ndGggPSBvYmpDcml0ZXJpYS5sZW5ndGgsXG4gICAgICAgICAgb3JkZXJzTGVuZ3RoID0gb3JkZXJzLmxlbmd0aDtcblxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIHJlc3VsdCA9IGNvbXBhcmVBc2NlbmRpbmcob2JqQ3JpdGVyaWFbaW5kZXhdLCBvdGhDcml0ZXJpYVtpbmRleF0pO1xuICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgaWYgKGluZGV4ID49IG9yZGVyc0xlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIG9yZGVyID0gb3JkZXJzW2luZGV4XTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0ICogKG9yZGVyID09ICdkZXNjJyA/IC0xIDogMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIEZpeGVzIGFuIGBBcnJheSNzb3J0YCBidWcgaW4gdGhlIEpTIGVuZ2luZSBlbWJlZGRlZCBpbiBBZG9iZSBhcHBsaWNhdGlvbnNcbiAgICAgIC8vIHRoYXQgY2F1c2VzIGl0LCB1bmRlciBjZXJ0YWluIGNpcmN1bXN0YW5jZXMsIHRvIHByb3ZpZGUgdGhlIHNhbWUgdmFsdWUgZm9yXG4gICAgICAvLyBgb2JqZWN0YCBhbmQgYG90aGVyYC4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qYXNoa2VuYXMvdW5kZXJzY29yZS9wdWxsLzEyNDdcbiAgICAgIC8vIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICAvL1xuICAgICAgLy8gVGhpcyBhbHNvIGVuc3VyZXMgYSBzdGFibGUgc29ydCBpbiBWOCBhbmQgb3RoZXIgZW5naW5lcy5cbiAgICAgIC8vIFNlZSBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD05MCBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAgcmV0dXJuIG9iamVjdC5pbmRleCAtIG90aGVyLmluZGV4O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgdGhhdCBpcyB0aGUgY29tcG9zaXRpb24gb2YgcGFydGlhbGx5IGFwcGxpZWQgYXJndW1lbnRzLFxuICAgICAqIHBsYWNlaG9sZGVycywgYW5kIHByb3ZpZGVkIGFyZ3VtZW50cyBpbnRvIGEgc2luZ2xlIGFycmF5IG9mIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJncyBUaGUgcHJvdmlkZWQgYXJndW1lbnRzLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IHBhcnRpYWxzIFRoZSBhcmd1bWVudHMgdG8gcHJlcGVuZCB0byB0aG9zZSBwcm92aWRlZC5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBob2xkZXJzIFRoZSBgcGFydGlhbHNgIHBsYWNlaG9sZGVyIGluZGV4ZXMuXG4gICAgICogQHBhcmFtcyB7Ym9vbGVhbn0gW2lzQ3VycmllZF0gU3BlY2lmeSBjb21wb3NpbmcgZm9yIGEgY3VycmllZCBmdW5jdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBjb21wb3NlZCBhcmd1bWVudHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gY29tcG9zZUFyZ3MoYXJncywgcGFydGlhbHMsIGhvbGRlcnMsIGlzQ3VycmllZCkge1xuICAgICAgdmFyIGFyZ3NJbmRleCA9IC0xLFxuICAgICAgICAgIGFyZ3NMZW5ndGggPSBhcmdzLmxlbmd0aCxcbiAgICAgICAgICBob2xkZXJzTGVuZ3RoID0gaG9sZGVycy5sZW5ndGgsXG4gICAgICAgICAgbGVmdEluZGV4ID0gLTEsXG4gICAgICAgICAgbGVmdExlbmd0aCA9IHBhcnRpYWxzLmxlbmd0aCxcbiAgICAgICAgICByYW5nZUxlbmd0aCA9IG5hdGl2ZU1heChhcmdzTGVuZ3RoIC0gaG9sZGVyc0xlbmd0aCwgMCksXG4gICAgICAgICAgcmVzdWx0ID0gQXJyYXkobGVmdExlbmd0aCArIHJhbmdlTGVuZ3RoKSxcbiAgICAgICAgICBpc1VuY3VycmllZCA9ICFpc0N1cnJpZWQ7XG5cbiAgICAgIHdoaWxlICgrK2xlZnRJbmRleCA8IGxlZnRMZW5ndGgpIHtcbiAgICAgICAgcmVzdWx0W2xlZnRJbmRleF0gPSBwYXJ0aWFsc1tsZWZ0SW5kZXhdO1xuICAgICAgfVxuICAgICAgd2hpbGUgKCsrYXJnc0luZGV4IDwgaG9sZGVyc0xlbmd0aCkge1xuICAgICAgICBpZiAoaXNVbmN1cnJpZWQgfHwgYXJnc0luZGV4IDwgYXJnc0xlbmd0aCkge1xuICAgICAgICAgIHJlc3VsdFtob2xkZXJzW2FyZ3NJbmRleF1dID0gYXJnc1thcmdzSW5kZXhdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB3aGlsZSAocmFuZ2VMZW5ndGgtLSkge1xuICAgICAgICByZXN1bHRbbGVmdEluZGV4KytdID0gYXJnc1thcmdzSW5kZXgrK107XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgbGlrZSBgY29tcG9zZUFyZ3NgIGV4Y2VwdCB0aGF0IHRoZSBhcmd1bWVudHMgY29tcG9zaXRpb25cbiAgICAgKiBpcyB0YWlsb3JlZCBmb3IgYF8ucGFydGlhbFJpZ2h0YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJncyBUaGUgcHJvdmlkZWQgYXJndW1lbnRzLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IHBhcnRpYWxzIFRoZSBhcmd1bWVudHMgdG8gYXBwZW5kIHRvIHRob3NlIHByb3ZpZGVkLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGhvbGRlcnMgVGhlIGBwYXJ0aWFsc2AgcGxhY2Vob2xkZXIgaW5kZXhlcy5cbiAgICAgKiBAcGFyYW1zIHtib29sZWFufSBbaXNDdXJyaWVkXSBTcGVjaWZ5IGNvbXBvc2luZyBmb3IgYSBjdXJyaWVkIGZ1bmN0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGNvbXBvc2VkIGFyZ3VtZW50cy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjb21wb3NlQXJnc1JpZ2h0KGFyZ3MsIHBhcnRpYWxzLCBob2xkZXJzLCBpc0N1cnJpZWQpIHtcbiAgICAgIHZhciBhcmdzSW5kZXggPSAtMSxcbiAgICAgICAgICBhcmdzTGVuZ3RoID0gYXJncy5sZW5ndGgsXG4gICAgICAgICAgaG9sZGVyc0luZGV4ID0gLTEsXG4gICAgICAgICAgaG9sZGVyc0xlbmd0aCA9IGhvbGRlcnMubGVuZ3RoLFxuICAgICAgICAgIHJpZ2h0SW5kZXggPSAtMSxcbiAgICAgICAgICByaWdodExlbmd0aCA9IHBhcnRpYWxzLmxlbmd0aCxcbiAgICAgICAgICByYW5nZUxlbmd0aCA9IG5hdGl2ZU1heChhcmdzTGVuZ3RoIC0gaG9sZGVyc0xlbmd0aCwgMCksXG4gICAgICAgICAgcmVzdWx0ID0gQXJyYXkocmFuZ2VMZW5ndGggKyByaWdodExlbmd0aCksXG4gICAgICAgICAgaXNVbmN1cnJpZWQgPSAhaXNDdXJyaWVkO1xuXG4gICAgICB3aGlsZSAoKythcmdzSW5kZXggPCByYW5nZUxlbmd0aCkge1xuICAgICAgICByZXN1bHRbYXJnc0luZGV4XSA9IGFyZ3NbYXJnc0luZGV4XTtcbiAgICAgIH1cbiAgICAgIHZhciBvZmZzZXQgPSBhcmdzSW5kZXg7XG4gICAgICB3aGlsZSAoKytyaWdodEluZGV4IDwgcmlnaHRMZW5ndGgpIHtcbiAgICAgICAgcmVzdWx0W29mZnNldCArIHJpZ2h0SW5kZXhdID0gcGFydGlhbHNbcmlnaHRJbmRleF07XG4gICAgICB9XG4gICAgICB3aGlsZSAoKytob2xkZXJzSW5kZXggPCBob2xkZXJzTGVuZ3RoKSB7XG4gICAgICAgIGlmIChpc1VuY3VycmllZCB8fCBhcmdzSW5kZXggPCBhcmdzTGVuZ3RoKSB7XG4gICAgICAgICAgcmVzdWx0W29mZnNldCArIGhvbGRlcnNbaG9sZGVyc0luZGV4XV0gPSBhcmdzW2FyZ3NJbmRleCsrXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3BpZXMgdGhlIHZhbHVlcyBvZiBgc291cmNlYCB0byBgYXJyYXlgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBzb3VyY2UgVGhlIGFycmF5IHRvIGNvcHkgdmFsdWVzIGZyb20uXG4gICAgICogQHBhcmFtIHtBcnJheX0gW2FycmF5PVtdXSBUaGUgYXJyYXkgdG8gY29weSB2YWx1ZXMgdG8uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBhcnJheWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gY29weUFycmF5KHNvdXJjZSwgYXJyYXkpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHNvdXJjZS5sZW5ndGg7XG5cbiAgICAgIGFycmF5IHx8IChhcnJheSA9IEFycmF5KGxlbmd0aCkpO1xuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgYXJyYXlbaW5kZXhdID0gc291cmNlW2luZGV4XTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhcnJheTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3BpZXMgcHJvcGVydGllcyBvZiBgc291cmNlYCB0byBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IHRvIGNvcHkgcHJvcGVydGllcyBmcm9tLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IHByb3BzIFRoZSBwcm9wZXJ0eSBpZGVudGlmaWVycyB0byBjb3B5LlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb2JqZWN0PXt9XSBUaGUgb2JqZWN0IHRvIGNvcHkgcHJvcGVydGllcyB0by5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBjb3BpZWQgdmFsdWVzLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gY29weU9iamVjdChzb3VyY2UsIHByb3BzLCBvYmplY3QsIGN1c3RvbWl6ZXIpIHtcbiAgICAgIHZhciBpc05ldyA9ICFvYmplY3Q7XG4gICAgICBvYmplY3QgfHwgKG9iamVjdCA9IHt9KTtcblxuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gcHJvcHMubGVuZ3RoO1xuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIga2V5ID0gcHJvcHNbaW5kZXhdO1xuXG4gICAgICAgIHZhciBuZXdWYWx1ZSA9IGN1c3RvbWl6ZXJcbiAgICAgICAgICA/IGN1c3RvbWl6ZXIob2JqZWN0W2tleV0sIHNvdXJjZVtrZXldLCBrZXksIG9iamVjdCwgc291cmNlKVxuICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmIChuZXdWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgbmV3VmFsdWUgPSBzb3VyY2Vba2V5XTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNOZXcpIHtcbiAgICAgICAgICBiYXNlQXNzaWduVmFsdWUob2JqZWN0LCBrZXksIG5ld1ZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhc3NpZ25WYWx1ZShvYmplY3QsIGtleSwgbmV3VmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gb2JqZWN0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcGllcyBvd24gc3ltYm9scyBvZiBgc291cmNlYCB0byBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IHRvIGNvcHkgc3ltYm9scyBmcm9tLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb2JqZWN0PXt9XSBUaGUgb2JqZWN0IHRvIGNvcHkgc3ltYm9scyB0by5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNvcHlTeW1ib2xzKHNvdXJjZSwgb2JqZWN0KSB7XG4gICAgICByZXR1cm4gY29weU9iamVjdChzb3VyY2UsIGdldFN5bWJvbHMoc291cmNlKSwgb2JqZWN0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3BpZXMgb3duIGFuZCBpbmhlcml0ZWQgc3ltYm9scyBvZiBgc291cmNlYCB0byBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IHRvIGNvcHkgc3ltYm9scyBmcm9tLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb2JqZWN0PXt9XSBUaGUgb2JqZWN0IHRvIGNvcHkgc3ltYm9scyB0by5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNvcHlTeW1ib2xzSW4oc291cmNlLCBvYmplY3QpIHtcbiAgICAgIHJldHVybiBjb3B5T2JqZWN0KHNvdXJjZSwgZ2V0U3ltYm9sc0luKHNvdXJjZSksIG9iamVjdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIGxpa2UgYF8uZ3JvdXBCeWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHNldHRlciBUaGUgZnVuY3Rpb24gdG8gc2V0IGFjY3VtdWxhdG9yIHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaW5pdGlhbGl6ZXJdIFRoZSBhY2N1bXVsYXRvciBvYmplY3QgaW5pdGlhbGl6ZXIuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgYWdncmVnYXRvciBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVBZ2dyZWdhdG9yKHNldHRlciwgaW5pdGlhbGl6ZXIpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbihjb2xsZWN0aW9uLCBpdGVyYXRlZSkge1xuICAgICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheUFnZ3JlZ2F0b3IgOiBiYXNlQWdncmVnYXRvcixcbiAgICAgICAgICAgIGFjY3VtdWxhdG9yID0gaW5pdGlhbGl6ZXIgPyBpbml0aWFsaXplcigpIDoge307XG5cbiAgICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbiwgc2V0dGVyLCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMiksIGFjY3VtdWxhdG9yKTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIGxpa2UgYF8uYXNzaWduYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gYXNzaWduZXIgVGhlIGZ1bmN0aW9uIHRvIGFzc2lnbiB2YWx1ZXMuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgYXNzaWduZXIgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlQXNzaWduZXIoYXNzaWduZXIpIHtcbiAgICAgIHJldHVybiBiYXNlUmVzdChmdW5jdGlvbihvYmplY3QsIHNvdXJjZXMpIHtcbiAgICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgICBsZW5ndGggPSBzb3VyY2VzLmxlbmd0aCxcbiAgICAgICAgICAgIGN1c3RvbWl6ZXIgPSBsZW5ndGggPiAxID8gc291cmNlc1tsZW5ndGggLSAxXSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGd1YXJkID0gbGVuZ3RoID4gMiA/IHNvdXJjZXNbMl0gOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgY3VzdG9taXplciA9IChhc3NpZ25lci5sZW5ndGggPiAzICYmIHR5cGVvZiBjdXN0b21pemVyID09ICdmdW5jdGlvbicpXG4gICAgICAgICAgPyAobGVuZ3RoLS0sIGN1c3RvbWl6ZXIpXG4gICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKGd1YXJkICYmIGlzSXRlcmF0ZWVDYWxsKHNvdXJjZXNbMF0sIHNvdXJjZXNbMV0sIGd1YXJkKSkge1xuICAgICAgICAgIGN1c3RvbWl6ZXIgPSBsZW5ndGggPCAzID8gdW5kZWZpbmVkIDogY3VzdG9taXplcjtcbiAgICAgICAgICBsZW5ndGggPSAxO1xuICAgICAgICB9XG4gICAgICAgIG9iamVjdCA9IE9iamVjdChvYmplY3QpO1xuICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgIHZhciBzb3VyY2UgPSBzb3VyY2VzW2luZGV4XTtcbiAgICAgICAgICBpZiAoc291cmNlKSB7XG4gICAgICAgICAgICBhc3NpZ25lcihvYmplY3QsIHNvdXJjZSwgaW5kZXgsIGN1c3RvbWl6ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2JqZWN0O1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGBiYXNlRWFjaGAgb3IgYGJhc2VFYWNoUmlnaHRgIGZ1bmN0aW9uLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBlYWNoRnVuYyBUaGUgZnVuY3Rpb24gdG8gaXRlcmF0ZSBvdmVyIGEgY29sbGVjdGlvbi5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtmcm9tUmlnaHRdIFNwZWNpZnkgaXRlcmF0aW5nIGZyb20gcmlnaHQgdG8gbGVmdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBiYXNlIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZUJhc2VFYWNoKGVhY2hGdW5jLCBmcm9tUmlnaHQpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbihjb2xsZWN0aW9uLCBpdGVyYXRlZSkge1xuICAgICAgICBpZiAoY29sbGVjdGlvbiA9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0FycmF5TGlrZShjb2xsZWN0aW9uKSkge1xuICAgICAgICAgIHJldHVybiBlYWNoRnVuYyhjb2xsZWN0aW9uLCBpdGVyYXRlZSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGxlbmd0aCA9IGNvbGxlY3Rpb24ubGVuZ3RoLFxuICAgICAgICAgICAgaW5kZXggPSBmcm9tUmlnaHQgPyBsZW5ndGggOiAtMSxcbiAgICAgICAgICAgIGl0ZXJhYmxlID0gT2JqZWN0KGNvbGxlY3Rpb24pO1xuXG4gICAgICAgIHdoaWxlICgoZnJvbVJpZ2h0ID8gaW5kZXgtLSA6ICsraW5kZXggPCBsZW5ndGgpKSB7XG4gICAgICAgICAgaWYgKGl0ZXJhdGVlKGl0ZXJhYmxlW2luZGV4XSwgaW5kZXgsIGl0ZXJhYmxlKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29sbGVjdGlvbjtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGJhc2UgZnVuY3Rpb24gZm9yIG1ldGhvZHMgbGlrZSBgXy5mb3JJbmAgYW5kIGBfLmZvck93bmAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2Zyb21SaWdodF0gU3BlY2lmeSBpdGVyYXRpbmcgZnJvbSByaWdodCB0byBsZWZ0LlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGJhc2UgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlQmFzZUZvcihmcm9tUmlnaHQpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbihvYmplY3QsIGl0ZXJhdGVlLCBrZXlzRnVuYykge1xuICAgICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICAgIGl0ZXJhYmxlID0gT2JqZWN0KG9iamVjdCksXG4gICAgICAgICAgICBwcm9wcyA9IGtleXNGdW5jKG9iamVjdCksXG4gICAgICAgICAgICBsZW5ndGggPSBwcm9wcy5sZW5ndGg7XG5cbiAgICAgICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICAgICAgdmFyIGtleSA9IHByb3BzW2Zyb21SaWdodCA/IGxlbmd0aCA6ICsraW5kZXhdO1xuICAgICAgICAgIGlmIChpdGVyYXRlZShpdGVyYWJsZVtrZXldLCBrZXksIGl0ZXJhYmxlKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2JqZWN0O1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCB3cmFwcyBgZnVuY2AgdG8gaW52b2tlIGl0IHdpdGggdGhlIG9wdGlvbmFsIGB0aGlzYFxuICAgICAqIGJpbmRpbmcgb2YgYHRoaXNBcmdgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byB3cmFwLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBiaXRtYXNrIFRoZSBiaXRtYXNrIGZsYWdzLiBTZWUgYGNyZWF0ZVdyYXBgIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICogQHBhcmFtIHsqfSBbdGhpc0FyZ10gVGhlIGB0aGlzYCBiaW5kaW5nIG9mIGBmdW5jYC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyB3cmFwcGVkIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZUJpbmQoZnVuYywgYml0bWFzaywgdGhpc0FyZykge1xuICAgICAgdmFyIGlzQmluZCA9IGJpdG1hc2sgJiBXUkFQX0JJTkRfRkxBRyxcbiAgICAgICAgICBDdG9yID0gY3JlYXRlQ3RvcihmdW5jKTtcblxuICAgICAgZnVuY3Rpb24gd3JhcHBlcigpIHtcbiAgICAgICAgdmFyIGZuID0gKHRoaXMgJiYgdGhpcyAhPT0gcm9vdCAmJiB0aGlzIGluc3RhbmNlb2Ygd3JhcHBlcikgPyBDdG9yIDogZnVuYztcbiAgICAgICAgcmV0dXJuIGZuLmFwcGx5KGlzQmluZCA/IHRoaXNBcmcgOiB0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHdyYXBwZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIGxpa2UgYF8ubG93ZXJGaXJzdGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2ROYW1lIFRoZSBuYW1lIG9mIHRoZSBgU3RyaW5nYCBjYXNlIG1ldGhvZCB0byB1c2UuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY2FzZSBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVDYXNlRmlyc3QobWV0aG9kTmFtZSkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKHN0cmluZykge1xuICAgICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuXG4gICAgICAgIHZhciBzdHJTeW1ib2xzID0gaGFzVW5pY29kZShzdHJpbmcpXG4gICAgICAgICAgPyBzdHJpbmdUb0FycmF5KHN0cmluZylcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgICAgICB2YXIgY2hyID0gc3RyU3ltYm9sc1xuICAgICAgICAgID8gc3RyU3ltYm9sc1swXVxuICAgICAgICAgIDogc3RyaW5nLmNoYXJBdCgwKTtcblxuICAgICAgICB2YXIgdHJhaWxpbmcgPSBzdHJTeW1ib2xzXG4gICAgICAgICAgPyBjYXN0U2xpY2Uoc3RyU3ltYm9scywgMSkuam9pbignJylcbiAgICAgICAgICA6IHN0cmluZy5zbGljZSgxKTtcblxuICAgICAgICByZXR1cm4gY2hyW21ldGhvZE5hbWVdKCkgKyB0cmFpbGluZztcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIGxpa2UgYF8uY2FtZWxDYXNlYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2sgVGhlIGZ1bmN0aW9uIHRvIGNvbWJpbmUgZWFjaCB3b3JkLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGNvbXBvdW5kZXIgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlQ29tcG91bmRlcihjYWxsYmFjaykge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKHN0cmluZykge1xuICAgICAgICByZXR1cm4gYXJyYXlSZWR1Y2Uod29yZHMoZGVidXJyKHN0cmluZykucmVwbGFjZShyZUFwb3MsICcnKSksIGNhbGxiYWNrLCAnJyk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHByb2R1Y2VzIGFuIGluc3RhbmNlIG9mIGBDdG9yYCByZWdhcmRsZXNzIG9mXG4gICAgICogd2hldGhlciBpdCB3YXMgaW52b2tlZCBhcyBwYXJ0IG9mIGEgYG5ld2AgZXhwcmVzc2lvbiBvciBieSBgY2FsbGAgb3IgYGFwcGx5YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gQ3RvciBUaGUgY29uc3RydWN0b3IgdG8gd3JhcC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyB3cmFwcGVkIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZUN0b3IoQ3Rvcikge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICAvLyBVc2UgYSBgc3dpdGNoYCBzdGF0ZW1lbnQgdG8gd29yayB3aXRoIGNsYXNzIGNvbnN0cnVjdG9ycy4gU2VlXG4gICAgICAgIC8vIGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLWVjbWFzY3JpcHQtZnVuY3Rpb24tb2JqZWN0cy1jYWxsLXRoaXNhcmd1bWVudC1hcmd1bWVudHNsaXN0XG4gICAgICAgIC8vIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICAgIHZhciBhcmdzID0gYXJndW1lbnRzO1xuICAgICAgICBzd2l0Y2ggKGFyZ3MubGVuZ3RoKSB7XG4gICAgICAgICAgY2FzZSAwOiByZXR1cm4gbmV3IEN0b3I7XG4gICAgICAgICAgY2FzZSAxOiByZXR1cm4gbmV3IEN0b3IoYXJnc1swXSk7XG4gICAgICAgICAgY2FzZSAyOiByZXR1cm4gbmV3IEN0b3IoYXJnc1swXSwgYXJnc1sxXSk7XG4gICAgICAgICAgY2FzZSAzOiByZXR1cm4gbmV3IEN0b3IoYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSk7XG4gICAgICAgICAgY2FzZSA0OiByZXR1cm4gbmV3IEN0b3IoYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSwgYXJnc1szXSk7XG4gICAgICAgICAgY2FzZSA1OiByZXR1cm4gbmV3IEN0b3IoYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSwgYXJnc1szXSwgYXJnc1s0XSk7XG4gICAgICAgICAgY2FzZSA2OiByZXR1cm4gbmV3IEN0b3IoYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSwgYXJnc1szXSwgYXJnc1s0XSwgYXJnc1s1XSk7XG4gICAgICAgICAgY2FzZSA3OiByZXR1cm4gbmV3IEN0b3IoYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSwgYXJnc1szXSwgYXJnc1s0XSwgYXJnc1s1XSwgYXJnc1s2XSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHRoaXNCaW5kaW5nID0gYmFzZUNyZWF0ZShDdG9yLnByb3RvdHlwZSksXG4gICAgICAgICAgICByZXN1bHQgPSBDdG9yLmFwcGx5KHRoaXNCaW5kaW5nLCBhcmdzKTtcblxuICAgICAgICAvLyBNaW1pYyB0aGUgY29uc3RydWN0b3IncyBgcmV0dXJuYCBiZWhhdmlvci5cbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vZXM1LmdpdGh1Yi5pby8jeDEzLjIuMiBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAgICByZXR1cm4gaXNPYmplY3QocmVzdWx0KSA/IHJlc3VsdCA6IHRoaXNCaW5kaW5nO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCB3cmFwcyBgZnVuY2AgdG8gZW5hYmxlIGN1cnJ5aW5nLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byB3cmFwLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBiaXRtYXNrIFRoZSBiaXRtYXNrIGZsYWdzLiBTZWUgYGNyZWF0ZVdyYXBgIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGFyaXR5IFRoZSBhcml0eSBvZiBgZnVuY2AuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgd3JhcHBlZCBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVDdXJyeShmdW5jLCBiaXRtYXNrLCBhcml0eSkge1xuICAgICAgdmFyIEN0b3IgPSBjcmVhdGVDdG9yKGZ1bmMpO1xuXG4gICAgICBmdW5jdGlvbiB3cmFwcGVyKCkge1xuICAgICAgICB2YXIgbGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aCxcbiAgICAgICAgICAgIGFyZ3MgPSBBcnJheShsZW5ndGgpLFxuICAgICAgICAgICAgaW5kZXggPSBsZW5ndGgsXG4gICAgICAgICAgICBwbGFjZWhvbGRlciA9IGdldEhvbGRlcih3cmFwcGVyKTtcblxuICAgICAgICB3aGlsZSAoaW5kZXgtLSkge1xuICAgICAgICAgIGFyZ3NbaW5kZXhdID0gYXJndW1lbnRzW2luZGV4XTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgaG9sZGVycyA9IChsZW5ndGggPCAzICYmIGFyZ3NbMF0gIT09IHBsYWNlaG9sZGVyICYmIGFyZ3NbbGVuZ3RoIC0gMV0gIT09IHBsYWNlaG9sZGVyKVxuICAgICAgICAgID8gW11cbiAgICAgICAgICA6IHJlcGxhY2VIb2xkZXJzKGFyZ3MsIHBsYWNlaG9sZGVyKTtcblxuICAgICAgICBsZW5ndGggLT0gaG9sZGVycy5sZW5ndGg7XG4gICAgICAgIGlmIChsZW5ndGggPCBhcml0eSkge1xuICAgICAgICAgIHJldHVybiBjcmVhdGVSZWN1cnJ5KFxuICAgICAgICAgICAgZnVuYywgYml0bWFzaywgY3JlYXRlSHlicmlkLCB3cmFwcGVyLnBsYWNlaG9sZGVyLCB1bmRlZmluZWQsXG4gICAgICAgICAgICBhcmdzLCBob2xkZXJzLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgYXJpdHkgLSBsZW5ndGgpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBmbiA9ICh0aGlzICYmIHRoaXMgIT09IHJvb3QgJiYgdGhpcyBpbnN0YW5jZW9mIHdyYXBwZXIpID8gQ3RvciA6IGZ1bmM7XG4gICAgICAgIHJldHVybiBhcHBseShmbiwgdGhpcywgYXJncyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gd3JhcHBlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgYF8uZmluZGAgb3IgYF8uZmluZExhc3RgIGZ1bmN0aW9uLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmaW5kSW5kZXhGdW5jIFRoZSBmdW5jdGlvbiB0byBmaW5kIHRoZSBjb2xsZWN0aW9uIGluZGV4LlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZpbmQgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlRmluZChmaW5kSW5kZXhGdW5jKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oY29sbGVjdGlvbiwgcHJlZGljYXRlLCBmcm9tSW5kZXgpIHtcbiAgICAgICAgdmFyIGl0ZXJhYmxlID0gT2JqZWN0KGNvbGxlY3Rpb24pO1xuICAgICAgICBpZiAoIWlzQXJyYXlMaWtlKGNvbGxlY3Rpb24pKSB7XG4gICAgICAgICAgdmFyIGl0ZXJhdGVlID0gZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKTtcbiAgICAgICAgICBjb2xsZWN0aW9uID0ga2V5cyhjb2xsZWN0aW9uKTtcbiAgICAgICAgICBwcmVkaWNhdGUgPSBmdW5jdGlvbihrZXkpIHsgcmV0dXJuIGl0ZXJhdGVlKGl0ZXJhYmxlW2tleV0sIGtleSwgaXRlcmFibGUpOyB9O1xuICAgICAgICB9XG4gICAgICAgIHZhciBpbmRleCA9IGZpbmRJbmRleEZ1bmMoY29sbGVjdGlvbiwgcHJlZGljYXRlLCBmcm9tSW5kZXgpO1xuICAgICAgICByZXR1cm4gaW5kZXggPiAtMSA/IGl0ZXJhYmxlW2l0ZXJhdGVlID8gY29sbGVjdGlvbltpbmRleF0gOiBpbmRleF0gOiB1bmRlZmluZWQ7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBgXy5mbG93YCBvciBgXy5mbG93UmlnaHRgIGZ1bmN0aW9uLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtmcm9tUmlnaHRdIFNwZWNpZnkgaXRlcmF0aW5nIGZyb20gcmlnaHQgdG8gbGVmdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmbG93IGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZUZsb3coZnJvbVJpZ2h0KSB7XG4gICAgICByZXR1cm4gZmxhdFJlc3QoZnVuY3Rpb24oZnVuY3MpIHtcbiAgICAgICAgdmFyIGxlbmd0aCA9IGZ1bmNzLmxlbmd0aCxcbiAgICAgICAgICAgIGluZGV4ID0gbGVuZ3RoLFxuICAgICAgICAgICAgcHJlcmVxID0gTG9kYXNoV3JhcHBlci5wcm90b3R5cGUudGhydTtcblxuICAgICAgICBpZiAoZnJvbVJpZ2h0KSB7XG4gICAgICAgICAgZnVuY3MucmV2ZXJzZSgpO1xuICAgICAgICB9XG4gICAgICAgIHdoaWxlIChpbmRleC0tKSB7XG4gICAgICAgICAgdmFyIGZ1bmMgPSBmdW5jc1tpbmRleF07XG4gICAgICAgICAgaWYgKHR5cGVvZiBmdW5jICE9ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHByZXJlcSAmJiAhd3JhcHBlciAmJiBnZXRGdW5jTmFtZShmdW5jKSA9PSAnd3JhcHBlcicpIHtcbiAgICAgICAgICAgIHZhciB3cmFwcGVyID0gbmV3IExvZGFzaFdyYXBwZXIoW10sIHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpbmRleCA9IHdyYXBwZXIgPyBpbmRleCA6IGxlbmd0aDtcbiAgICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICBmdW5jID0gZnVuY3NbaW5kZXhdO1xuXG4gICAgICAgICAgdmFyIGZ1bmNOYW1lID0gZ2V0RnVuY05hbWUoZnVuYyksXG4gICAgICAgICAgICAgIGRhdGEgPSBmdW5jTmFtZSA9PSAnd3JhcHBlcicgPyBnZXREYXRhKGZ1bmMpIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgaWYgKGRhdGEgJiYgaXNMYXppYWJsZShkYXRhWzBdKSAmJlxuICAgICAgICAgICAgICAgIGRhdGFbMV0gPT0gKFdSQVBfQVJZX0ZMQUcgfCBXUkFQX0NVUlJZX0ZMQUcgfCBXUkFQX1BBUlRJQUxfRkxBRyB8IFdSQVBfUkVBUkdfRkxBRykgJiZcbiAgICAgICAgICAgICAgICAhZGF0YVs0XS5sZW5ndGggJiYgZGF0YVs5XSA9PSAxXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgd3JhcHBlciA9IHdyYXBwZXJbZ2V0RnVuY05hbWUoZGF0YVswXSldLmFwcGx5KHdyYXBwZXIsIGRhdGFbM10pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB3cmFwcGVyID0gKGZ1bmMubGVuZ3RoID09IDEgJiYgaXNMYXppYWJsZShmdW5jKSlcbiAgICAgICAgICAgICAgPyB3cmFwcGVyW2Z1bmNOYW1lXSgpXG4gICAgICAgICAgICAgIDogd3JhcHBlci50aHJ1KGZ1bmMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgdmFyIGFyZ3MgPSBhcmd1bWVudHMsXG4gICAgICAgICAgICAgIHZhbHVlID0gYXJnc1swXTtcblxuICAgICAgICAgIGlmICh3cmFwcGVyICYmIGFyZ3MubGVuZ3RoID09IDEgJiYgaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB3cmFwcGVyLnBsYW50KHZhbHVlKS52YWx1ZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgaW5kZXggPSAwLFxuICAgICAgICAgICAgICByZXN1bHQgPSBsZW5ndGggPyBmdW5jc1tpbmRleF0uYXBwbHkodGhpcywgYXJncykgOiB2YWx1ZTtcblxuICAgICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgICByZXN1bHQgPSBmdW5jc1tpbmRleF0uY2FsbCh0aGlzLCByZXN1bHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgd3JhcHMgYGZ1bmNgIHRvIGludm9rZSBpdCB3aXRoIG9wdGlvbmFsIGB0aGlzYFxuICAgICAqIGJpbmRpbmcgb2YgYHRoaXNBcmdgLCBwYXJ0aWFsIGFwcGxpY2F0aW9uLCBhbmQgY3VycnlpbmcuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb258c3RyaW5nfSBmdW5jIFRoZSBmdW5jdGlvbiBvciBtZXRob2QgbmFtZSB0byB3cmFwLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBiaXRtYXNrIFRoZSBiaXRtYXNrIGZsYWdzLiBTZWUgYGNyZWF0ZVdyYXBgIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICogQHBhcmFtIHsqfSBbdGhpc0FyZ10gVGhlIGB0aGlzYCBiaW5kaW5nIG9mIGBmdW5jYC5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbcGFydGlhbHNdIFRoZSBhcmd1bWVudHMgdG8gcHJlcGVuZCB0byB0aG9zZSBwcm92aWRlZCB0b1xuICAgICAqICB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFtob2xkZXJzXSBUaGUgYHBhcnRpYWxzYCBwbGFjZWhvbGRlciBpbmRleGVzLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFtwYXJ0aWFsc1JpZ2h0XSBUaGUgYXJndW1lbnRzIHRvIGFwcGVuZCB0byB0aG9zZSBwcm92aWRlZFxuICAgICAqICB0byB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFtob2xkZXJzUmlnaHRdIFRoZSBgcGFydGlhbHNSaWdodGAgcGxhY2Vob2xkZXIgaW5kZXhlcy5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbYXJnUG9zXSBUaGUgYXJndW1lbnQgcG9zaXRpb25zIG9mIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFthcnldIFRoZSBhcml0eSBjYXAgb2YgYGZ1bmNgLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJpdHldIFRoZSBhcml0eSBvZiBgZnVuY2AuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgd3JhcHBlZCBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVIeWJyaWQoZnVuYywgYml0bWFzaywgdGhpc0FyZywgcGFydGlhbHMsIGhvbGRlcnMsIHBhcnRpYWxzUmlnaHQsIGhvbGRlcnNSaWdodCwgYXJnUG9zLCBhcnksIGFyaXR5KSB7XG4gICAgICB2YXIgaXNBcnkgPSBiaXRtYXNrICYgV1JBUF9BUllfRkxBRyxcbiAgICAgICAgICBpc0JpbmQgPSBiaXRtYXNrICYgV1JBUF9CSU5EX0ZMQUcsXG4gICAgICAgICAgaXNCaW5kS2V5ID0gYml0bWFzayAmIFdSQVBfQklORF9LRVlfRkxBRyxcbiAgICAgICAgICBpc0N1cnJpZWQgPSBiaXRtYXNrICYgKFdSQVBfQ1VSUllfRkxBRyB8IFdSQVBfQ1VSUllfUklHSFRfRkxBRyksXG4gICAgICAgICAgaXNGbGlwID0gYml0bWFzayAmIFdSQVBfRkxJUF9GTEFHLFxuICAgICAgICAgIEN0b3IgPSBpc0JpbmRLZXkgPyB1bmRlZmluZWQgOiBjcmVhdGVDdG9yKGZ1bmMpO1xuXG4gICAgICBmdW5jdGlvbiB3cmFwcGVyKCkge1xuICAgICAgICB2YXIgbGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aCxcbiAgICAgICAgICAgIGFyZ3MgPSBBcnJheShsZW5ndGgpLFxuICAgICAgICAgICAgaW5kZXggPSBsZW5ndGg7XG5cbiAgICAgICAgd2hpbGUgKGluZGV4LS0pIHtcbiAgICAgICAgICBhcmdzW2luZGV4XSA9IGFyZ3VtZW50c1tpbmRleF07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzQ3VycmllZCkge1xuICAgICAgICAgIHZhciBwbGFjZWhvbGRlciA9IGdldEhvbGRlcih3cmFwcGVyKSxcbiAgICAgICAgICAgICAgaG9sZGVyc0NvdW50ID0gY291bnRIb2xkZXJzKGFyZ3MsIHBsYWNlaG9sZGVyKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGFydGlhbHMpIHtcbiAgICAgICAgICBhcmdzID0gY29tcG9zZUFyZ3MoYXJncywgcGFydGlhbHMsIGhvbGRlcnMsIGlzQ3VycmllZCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhcnRpYWxzUmlnaHQpIHtcbiAgICAgICAgICBhcmdzID0gY29tcG9zZUFyZ3NSaWdodChhcmdzLCBwYXJ0aWFsc1JpZ2h0LCBob2xkZXJzUmlnaHQsIGlzQ3VycmllZCk7XG4gICAgICAgIH1cbiAgICAgICAgbGVuZ3RoIC09IGhvbGRlcnNDb3VudDtcbiAgICAgICAgaWYgKGlzQ3VycmllZCAmJiBsZW5ndGggPCBhcml0eSkge1xuICAgICAgICAgIHZhciBuZXdIb2xkZXJzID0gcmVwbGFjZUhvbGRlcnMoYXJncywgcGxhY2Vob2xkZXIpO1xuICAgICAgICAgIHJldHVybiBjcmVhdGVSZWN1cnJ5KFxuICAgICAgICAgICAgZnVuYywgYml0bWFzaywgY3JlYXRlSHlicmlkLCB3cmFwcGVyLnBsYWNlaG9sZGVyLCB0aGlzQXJnLFxuICAgICAgICAgICAgYXJncywgbmV3SG9sZGVycywgYXJnUG9zLCBhcnksIGFyaXR5IC0gbGVuZ3RoXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgdGhpc0JpbmRpbmcgPSBpc0JpbmQgPyB0aGlzQXJnIDogdGhpcyxcbiAgICAgICAgICAgIGZuID0gaXNCaW5kS2V5ID8gdGhpc0JpbmRpbmdbZnVuY10gOiBmdW5jO1xuXG4gICAgICAgIGxlbmd0aCA9IGFyZ3MubGVuZ3RoO1xuICAgICAgICBpZiAoYXJnUG9zKSB7XG4gICAgICAgICAgYXJncyA9IHJlb3JkZXIoYXJncywgYXJnUG9zKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0ZsaXAgJiYgbGVuZ3RoID4gMSkge1xuICAgICAgICAgIGFyZ3MucmV2ZXJzZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0FyeSAmJiBhcnkgPCBsZW5ndGgpIHtcbiAgICAgICAgICBhcmdzLmxlbmd0aCA9IGFyeTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcyAmJiB0aGlzICE9PSByb290ICYmIHRoaXMgaW5zdGFuY2VvZiB3cmFwcGVyKSB7XG4gICAgICAgICAgZm4gPSBDdG9yIHx8IGNyZWF0ZUN0b3IoZm4pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmbi5hcHBseSh0aGlzQmluZGluZywgYXJncyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gd3JhcHBlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gbGlrZSBgXy5pbnZlcnRCeWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHNldHRlciBUaGUgZnVuY3Rpb24gdG8gc2V0IGFjY3VtdWxhdG9yIHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSB0b0l0ZXJhdGVlIFRoZSBmdW5jdGlvbiB0byByZXNvbHZlIGl0ZXJhdGVlcy5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBpbnZlcnRlciBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVJbnZlcnRlcihzZXR0ZXIsIHRvSXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbihvYmplY3QsIGl0ZXJhdGVlKSB7XG4gICAgICAgIHJldHVybiBiYXNlSW52ZXJ0ZXIob2JqZWN0LCBzZXR0ZXIsIHRvSXRlcmF0ZWUoaXRlcmF0ZWUpLCB7fSk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHBlcmZvcm1zIGEgbWF0aGVtYXRpY2FsIG9wZXJhdGlvbiBvbiB0d28gdmFsdWVzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcGVyYXRvciBUaGUgZnVuY3Rpb24gdG8gcGVyZm9ybSB0aGUgb3BlcmF0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbZGVmYXVsdFZhbHVlXSBUaGUgdmFsdWUgdXNlZCBmb3IgYHVuZGVmaW5lZGAgYXJndW1lbnRzLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IG1hdGhlbWF0aWNhbCBvcGVyYXRpb24gZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlTWF0aE9wZXJhdGlvbihvcGVyYXRvciwgZGVmYXVsdFZhbHVlKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24odmFsdWUsIG90aGVyKSB7XG4gICAgICAgIHZhciByZXN1bHQ7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkICYmIG90aGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmVzdWx0ID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG90aGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBpZiAocmVzdWx0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBvdGhlcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSAnc3RyaW5nJyB8fCB0eXBlb2Ygb3RoZXIgPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHZhbHVlID0gYmFzZVRvU3RyaW5nKHZhbHVlKTtcbiAgICAgICAgICAgIG90aGVyID0gYmFzZVRvU3RyaW5nKG90aGVyKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFsdWUgPSBiYXNlVG9OdW1iZXIodmFsdWUpO1xuICAgICAgICAgICAgb3RoZXIgPSBiYXNlVG9OdW1iZXIob3RoZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXN1bHQgPSBvcGVyYXRvcih2YWx1ZSwgb3RoZXIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiBsaWtlIGBfLm92ZXJgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBhcnJheUZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGl0ZXJhdGUgb3ZlciBpdGVyYXRlZXMuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgb3ZlciBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVPdmVyKGFycmF5RnVuYykge1xuICAgICAgcmV0dXJuIGZsYXRSZXN0KGZ1bmN0aW9uKGl0ZXJhdGVlcykge1xuICAgICAgICBpdGVyYXRlZXMgPSBhcnJheU1hcChpdGVyYXRlZXMsIGJhc2VVbmFyeShnZXRJdGVyYXRlZSgpKSk7XG4gICAgICAgIHJldHVybiBiYXNlUmVzdChmdW5jdGlvbihhcmdzKSB7XG4gICAgICAgICAgdmFyIHRoaXNBcmcgPSB0aGlzO1xuICAgICAgICAgIHJldHVybiBhcnJheUZ1bmMoaXRlcmF0ZWVzLCBmdW5jdGlvbihpdGVyYXRlZSkge1xuICAgICAgICAgICAgcmV0dXJuIGFwcGx5KGl0ZXJhdGVlLCB0aGlzQXJnLCBhcmdzKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIHRoZSBwYWRkaW5nIGZvciBgc3RyaW5nYCBiYXNlZCBvbiBgbGVuZ3RoYC4gVGhlIGBjaGFyc2Agc3RyaW5nXG4gICAgICogaXMgdHJ1bmNhdGVkIGlmIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyBleGNlZWRzIGBsZW5ndGhgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbGVuZ3RoIFRoZSBwYWRkaW5nIGxlbmd0aC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2NoYXJzPScgJ10gVGhlIHN0cmluZyB1c2VkIGFzIHBhZGRpbmcuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgcGFkZGluZyBmb3IgYHN0cmluZ2AuXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlUGFkZGluZyhsZW5ndGgsIGNoYXJzKSB7XG4gICAgICBjaGFycyA9IGNoYXJzID09PSB1bmRlZmluZWQgPyAnICcgOiBiYXNlVG9TdHJpbmcoY2hhcnMpO1xuXG4gICAgICB2YXIgY2hhcnNMZW5ndGggPSBjaGFycy5sZW5ndGg7XG4gICAgICBpZiAoY2hhcnNMZW5ndGggPCAyKSB7XG4gICAgICAgIHJldHVybiBjaGFyc0xlbmd0aCA/IGJhc2VSZXBlYXQoY2hhcnMsIGxlbmd0aCkgOiBjaGFycztcbiAgICAgIH1cbiAgICAgIHZhciByZXN1bHQgPSBiYXNlUmVwZWF0KGNoYXJzLCBuYXRpdmVDZWlsKGxlbmd0aCAvIHN0cmluZ1NpemUoY2hhcnMpKSk7XG4gICAgICByZXR1cm4gaGFzVW5pY29kZShjaGFycylcbiAgICAgICAgPyBjYXN0U2xpY2Uoc3RyaW5nVG9BcnJheShyZXN1bHQpLCAwLCBsZW5ndGgpLmpvaW4oJycpXG4gICAgICAgIDogcmVzdWx0LnNsaWNlKDAsIGxlbmd0aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgd3JhcHMgYGZ1bmNgIHRvIGludm9rZSBpdCB3aXRoIHRoZSBgdGhpc2AgYmluZGluZ1xuICAgICAqIG9mIGB0aGlzQXJnYCBhbmQgYHBhcnRpYWxzYCBwcmVwZW5kZWQgdG8gdGhlIGFyZ3VtZW50cyBpdCByZWNlaXZlcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gd3JhcC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy4gU2VlIGBjcmVhdGVXcmFwYCBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqIEBwYXJhbSB7Kn0gdGhpc0FyZyBUaGUgYHRoaXNgIGJpbmRpbmcgb2YgYGZ1bmNgLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IHBhcnRpYWxzIFRoZSBhcmd1bWVudHMgdG8gcHJlcGVuZCB0byB0aG9zZSBwcm92aWRlZCB0b1xuICAgICAqICB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHdyYXBwZWQgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlUGFydGlhbChmdW5jLCBiaXRtYXNrLCB0aGlzQXJnLCBwYXJ0aWFscykge1xuICAgICAgdmFyIGlzQmluZCA9IGJpdG1hc2sgJiBXUkFQX0JJTkRfRkxBRyxcbiAgICAgICAgICBDdG9yID0gY3JlYXRlQ3RvcihmdW5jKTtcblxuICAgICAgZnVuY3Rpb24gd3JhcHBlcigpIHtcbiAgICAgICAgdmFyIGFyZ3NJbmRleCA9IC0xLFxuICAgICAgICAgICAgYXJnc0xlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGgsXG4gICAgICAgICAgICBsZWZ0SW5kZXggPSAtMSxcbiAgICAgICAgICAgIGxlZnRMZW5ndGggPSBwYXJ0aWFscy5sZW5ndGgsXG4gICAgICAgICAgICBhcmdzID0gQXJyYXkobGVmdExlbmd0aCArIGFyZ3NMZW5ndGgpLFxuICAgICAgICAgICAgZm4gPSAodGhpcyAmJiB0aGlzICE9PSByb290ICYmIHRoaXMgaW5zdGFuY2VvZiB3cmFwcGVyKSA/IEN0b3IgOiBmdW5jO1xuXG4gICAgICAgIHdoaWxlICgrK2xlZnRJbmRleCA8IGxlZnRMZW5ndGgpIHtcbiAgICAgICAgICBhcmdzW2xlZnRJbmRleF0gPSBwYXJ0aWFsc1tsZWZ0SW5kZXhdO1xuICAgICAgICB9XG4gICAgICAgIHdoaWxlIChhcmdzTGVuZ3RoLS0pIHtcbiAgICAgICAgICBhcmdzW2xlZnRJbmRleCsrXSA9IGFyZ3VtZW50c1srK2FyZ3NJbmRleF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFwcGx5KGZuLCBpc0JpbmQgPyB0aGlzQXJnIDogdGhpcywgYXJncyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gd3JhcHBlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgYF8ucmFuZ2VgIG9yIGBfLnJhbmdlUmlnaHRgIGZ1bmN0aW9uLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtmcm9tUmlnaHRdIFNwZWNpZnkgaXRlcmF0aW5nIGZyb20gcmlnaHQgdG8gbGVmdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyByYW5nZSBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVSYW5nZShmcm9tUmlnaHQpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbihzdGFydCwgZW5kLCBzdGVwKSB7XG4gICAgICAgIGlmIChzdGVwICYmIHR5cGVvZiBzdGVwICE9ICdudW1iZXInICYmIGlzSXRlcmF0ZWVDYWxsKHN0YXJ0LCBlbmQsIHN0ZXApKSB7XG4gICAgICAgICAgZW5kID0gc3RlcCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICAvLyBFbnN1cmUgdGhlIHNpZ24gb2YgYC0wYCBpcyBwcmVzZXJ2ZWQuXG4gICAgICAgIHN0YXJ0ID0gdG9GaW5pdGUoc3RhcnQpO1xuICAgICAgICBpZiAoZW5kID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBlbmQgPSBzdGFydDtcbiAgICAgICAgICBzdGFydCA9IDA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZW5kID0gdG9GaW5pdGUoZW5kKTtcbiAgICAgICAgfVxuICAgICAgICBzdGVwID0gc3RlcCA9PT0gdW5kZWZpbmVkID8gKHN0YXJ0IDwgZW5kID8gMSA6IC0xKSA6IHRvRmluaXRlKHN0ZXApO1xuICAgICAgICByZXR1cm4gYmFzZVJhbmdlKHN0YXJ0LCBlbmQsIHN0ZXAsIGZyb21SaWdodCk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHBlcmZvcm1zIGEgcmVsYXRpb25hbCBvcGVyYXRpb24gb24gdHdvIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3BlcmF0b3IgVGhlIGZ1bmN0aW9uIHRvIHBlcmZvcm0gdGhlIG9wZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyByZWxhdGlvbmFsIG9wZXJhdGlvbiBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVSZWxhdGlvbmFsT3BlcmF0aW9uKG9wZXJhdG9yKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24odmFsdWUsIG90aGVyKSB7XG4gICAgICAgIGlmICghKHR5cGVvZiB2YWx1ZSA9PSAnc3RyaW5nJyAmJiB0eXBlb2Ygb3RoZXIgPT0gJ3N0cmluZycpKSB7XG4gICAgICAgICAgdmFsdWUgPSB0b051bWJlcih2YWx1ZSk7XG4gICAgICAgICAgb3RoZXIgPSB0b051bWJlcihvdGhlcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9wZXJhdG9yKHZhbHVlLCBvdGhlcik7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHdyYXBzIGBmdW5jYCB0byBjb250aW51ZSBjdXJyeWluZy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gd3JhcC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy4gU2VlIGBjcmVhdGVXcmFwYCBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHdyYXBGdW5jIFRoZSBmdW5jdGlvbiB0byBjcmVhdGUgdGhlIGBmdW5jYCB3cmFwcGVyLlxuICAgICAqIEBwYXJhbSB7Kn0gcGxhY2Vob2xkZXIgVGhlIHBsYWNlaG9sZGVyIHZhbHVlLlxuICAgICAqIEBwYXJhbSB7Kn0gW3RoaXNBcmddIFRoZSBgdGhpc2AgYmluZGluZyBvZiBgZnVuY2AuXG4gICAgICogQHBhcmFtIHtBcnJheX0gW3BhcnRpYWxzXSBUaGUgYXJndW1lbnRzIHRvIHByZXBlbmQgdG8gdGhvc2UgcHJvdmlkZWQgdG9cbiAgICAgKiAgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbaG9sZGVyc10gVGhlIGBwYXJ0aWFsc2AgcGxhY2Vob2xkZXIgaW5kZXhlcy5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbYXJnUG9zXSBUaGUgYXJndW1lbnQgcG9zaXRpb25zIG9mIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFthcnldIFRoZSBhcml0eSBjYXAgb2YgYGZ1bmNgLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJpdHldIFRoZSBhcml0eSBvZiBgZnVuY2AuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgd3JhcHBlZCBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVSZWN1cnJ5KGZ1bmMsIGJpdG1hc2ssIHdyYXBGdW5jLCBwbGFjZWhvbGRlciwgdGhpc0FyZywgcGFydGlhbHMsIGhvbGRlcnMsIGFyZ1BvcywgYXJ5LCBhcml0eSkge1xuICAgICAgdmFyIGlzQ3VycnkgPSBiaXRtYXNrICYgV1JBUF9DVVJSWV9GTEFHLFxuICAgICAgICAgIG5ld0hvbGRlcnMgPSBpc0N1cnJ5ID8gaG9sZGVycyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBuZXdIb2xkZXJzUmlnaHQgPSBpc0N1cnJ5ID8gdW5kZWZpbmVkIDogaG9sZGVycyxcbiAgICAgICAgICBuZXdQYXJ0aWFscyA9IGlzQ3VycnkgPyBwYXJ0aWFscyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBuZXdQYXJ0aWFsc1JpZ2h0ID0gaXNDdXJyeSA/IHVuZGVmaW5lZCA6IHBhcnRpYWxzO1xuXG4gICAgICBiaXRtYXNrIHw9IChpc0N1cnJ5ID8gV1JBUF9QQVJUSUFMX0ZMQUcgOiBXUkFQX1BBUlRJQUxfUklHSFRfRkxBRyk7XG4gICAgICBiaXRtYXNrICY9IH4oaXNDdXJyeSA/IFdSQVBfUEFSVElBTF9SSUdIVF9GTEFHIDogV1JBUF9QQVJUSUFMX0ZMQUcpO1xuXG4gICAgICBpZiAoIShiaXRtYXNrICYgV1JBUF9DVVJSWV9CT1VORF9GTEFHKSkge1xuICAgICAgICBiaXRtYXNrICY9IH4oV1JBUF9CSU5EX0ZMQUcgfCBXUkFQX0JJTkRfS0VZX0ZMQUcpO1xuICAgICAgfVxuICAgICAgdmFyIG5ld0RhdGEgPSBbXG4gICAgICAgIGZ1bmMsIGJpdG1hc2ssIHRoaXNBcmcsIG5ld1BhcnRpYWxzLCBuZXdIb2xkZXJzLCBuZXdQYXJ0aWFsc1JpZ2h0LFxuICAgICAgICBuZXdIb2xkZXJzUmlnaHQsIGFyZ1BvcywgYXJ5LCBhcml0eVxuICAgICAgXTtcblxuICAgICAgdmFyIHJlc3VsdCA9IHdyYXBGdW5jLmFwcGx5KHVuZGVmaW5lZCwgbmV3RGF0YSk7XG4gICAgICBpZiAoaXNMYXppYWJsZShmdW5jKSkge1xuICAgICAgICBzZXREYXRhKHJlc3VsdCwgbmV3RGF0YSk7XG4gICAgICB9XG4gICAgICByZXN1bHQucGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlcjtcbiAgICAgIHJldHVybiBzZXRXcmFwVG9TdHJpbmcocmVzdWx0LCBmdW5jLCBiaXRtYXNrKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gbGlrZSBgXy5yb3VuZGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2ROYW1lIFRoZSBuYW1lIG9mIHRoZSBgTWF0aGAgbWV0aG9kIHRvIHVzZSB3aGVuIHJvdW5kaW5nLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHJvdW5kIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZVJvdW5kKG1ldGhvZE5hbWUpIHtcbiAgICAgIHZhciBmdW5jID0gTWF0aFttZXRob2ROYW1lXTtcbiAgICAgIHJldHVybiBmdW5jdGlvbihudW1iZXIsIHByZWNpc2lvbikge1xuICAgICAgICBudW1iZXIgPSB0b051bWJlcihudW1iZXIpO1xuICAgICAgICBwcmVjaXNpb24gPSBwcmVjaXNpb24gPT0gbnVsbCA/IDAgOiBuYXRpdmVNaW4odG9JbnRlZ2VyKHByZWNpc2lvbiksIDI5Mik7XG4gICAgICAgIGlmIChwcmVjaXNpb24gJiYgbmF0aXZlSXNGaW5pdGUobnVtYmVyKSkge1xuICAgICAgICAgIC8vIFNoaWZ0IHdpdGggZXhwb25lbnRpYWwgbm90YXRpb24gdG8gYXZvaWQgZmxvYXRpbmctcG9pbnQgaXNzdWVzLlxuICAgICAgICAgIC8vIFNlZSBbTUROXShodHRwczovL21kbi5pby9yb3VuZCNFeGFtcGxlcykgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgICAgICB2YXIgcGFpciA9ICh0b1N0cmluZyhudW1iZXIpICsgJ2UnKS5zcGxpdCgnZScpLFxuICAgICAgICAgICAgICB2YWx1ZSA9IGZ1bmMocGFpclswXSArICdlJyArICgrcGFpclsxXSArIHByZWNpc2lvbikpO1xuXG4gICAgICAgICAgcGFpciA9ICh0b1N0cmluZyh2YWx1ZSkgKyAnZScpLnNwbGl0KCdlJyk7XG4gICAgICAgICAgcmV0dXJuICsocGFpclswXSArICdlJyArICgrcGFpclsxXSAtIHByZWNpc2lvbikpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmdW5jKG51bWJlcik7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzZXQgb2JqZWN0IG9mIGB2YWx1ZXNgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSB2YWx1ZXMgVGhlIHZhbHVlcyB0byBhZGQgdG8gdGhlIHNldC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgc2V0LlxuICAgICAqL1xuICAgIHZhciBjcmVhdGVTZXQgPSAhKFNldCAmJiAoMSAvIHNldFRvQXJyYXkobmV3IFNldChbLC0wXSkpWzFdKSA9PSBJTkZJTklUWSkgPyBub29wIDogZnVuY3Rpb24odmFsdWVzKSB7XG4gICAgICByZXR1cm4gbmV3IFNldCh2YWx1ZXMpO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgYF8udG9QYWlyc2Agb3IgYF8udG9QYWlyc0luYCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0ga2V5c0Z1bmMgVGhlIGZ1bmN0aW9uIHRvIGdldCB0aGUga2V5cyBvZiBhIGdpdmVuIG9iamVjdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBwYWlycyBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVUb1BhaXJzKGtleXNGdW5jKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgICAgIHZhciB0YWcgPSBnZXRUYWcob2JqZWN0KTtcbiAgICAgICAgaWYgKHRhZyA9PSBtYXBUYWcpIHtcbiAgICAgICAgICByZXR1cm4gbWFwVG9BcnJheShvYmplY3QpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0YWcgPT0gc2V0VGFnKSB7XG4gICAgICAgICAgcmV0dXJuIHNldFRvUGFpcnMob2JqZWN0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYmFzZVRvUGFpcnMob2JqZWN0LCBrZXlzRnVuYyhvYmplY3QpKTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgZWl0aGVyIGN1cnJpZXMgb3IgaW52b2tlcyBgZnVuY2Agd2l0aCBvcHRpb25hbFxuICAgICAqIGB0aGlzYCBiaW5kaW5nIGFuZCBwYXJ0aWFsbHkgYXBwbGllZCBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb258c3RyaW5nfSBmdW5jIFRoZSBmdW5jdGlvbiBvciBtZXRob2QgbmFtZSB0byB3cmFwLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBiaXRtYXNrIFRoZSBiaXRtYXNrIGZsYWdzLlxuICAgICAqICAgIDEgLSBgXy5iaW5kYFxuICAgICAqICAgIDIgLSBgXy5iaW5kS2V5YFxuICAgICAqICAgIDQgLSBgXy5jdXJyeWAgb3IgYF8uY3VycnlSaWdodGAgb2YgYSBib3VuZCBmdW5jdGlvblxuICAgICAqICAgIDggLSBgXy5jdXJyeWBcbiAgICAgKiAgIDE2IC0gYF8uY3VycnlSaWdodGBcbiAgICAgKiAgIDMyIC0gYF8ucGFydGlhbGBcbiAgICAgKiAgIDY0IC0gYF8ucGFydGlhbFJpZ2h0YFxuICAgICAqICAxMjggLSBgXy5yZWFyZ2BcbiAgICAgKiAgMjU2IC0gYF8uYXJ5YFxuICAgICAqICA1MTIgLSBgXy5mbGlwYFxuICAgICAqIEBwYXJhbSB7Kn0gW3RoaXNBcmddIFRoZSBgdGhpc2AgYmluZGluZyBvZiBgZnVuY2AuXG4gICAgICogQHBhcmFtIHtBcnJheX0gW3BhcnRpYWxzXSBUaGUgYXJndW1lbnRzIHRvIGJlIHBhcnRpYWxseSBhcHBsaWVkLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFtob2xkZXJzXSBUaGUgYHBhcnRpYWxzYCBwbGFjZWhvbGRlciBpbmRleGVzLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFthcmdQb3NdIFRoZSBhcmd1bWVudCBwb3NpdGlvbnMgb2YgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2FyeV0gVGhlIGFyaXR5IGNhcCBvZiBgZnVuY2AuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFthcml0eV0gVGhlIGFyaXR5IG9mIGBmdW5jYC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyB3cmFwcGVkIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZVdyYXAoZnVuYywgYml0bWFzaywgdGhpc0FyZywgcGFydGlhbHMsIGhvbGRlcnMsIGFyZ1BvcywgYXJ5LCBhcml0eSkge1xuICAgICAgdmFyIGlzQmluZEtleSA9IGJpdG1hc2sgJiBXUkFQX0JJTkRfS0VZX0ZMQUc7XG4gICAgICBpZiAoIWlzQmluZEtleSAmJiB0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgIH1cbiAgICAgIHZhciBsZW5ndGggPSBwYXJ0aWFscyA/IHBhcnRpYWxzLmxlbmd0aCA6IDA7XG4gICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICBiaXRtYXNrICY9IH4oV1JBUF9QQVJUSUFMX0ZMQUcgfCBXUkFQX1BBUlRJQUxfUklHSFRfRkxBRyk7XG4gICAgICAgIHBhcnRpYWxzID0gaG9sZGVycyA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGFyeSA9IGFyeSA9PT0gdW5kZWZpbmVkID8gYXJ5IDogbmF0aXZlTWF4KHRvSW50ZWdlcihhcnkpLCAwKTtcbiAgICAgIGFyaXR5ID0gYXJpdHkgPT09IHVuZGVmaW5lZCA/IGFyaXR5IDogdG9JbnRlZ2VyKGFyaXR5KTtcbiAgICAgIGxlbmd0aCAtPSBob2xkZXJzID8gaG9sZGVycy5sZW5ndGggOiAwO1xuXG4gICAgICBpZiAoYml0bWFzayAmIFdSQVBfUEFSVElBTF9SSUdIVF9GTEFHKSB7XG4gICAgICAgIHZhciBwYXJ0aWFsc1JpZ2h0ID0gcGFydGlhbHMsXG4gICAgICAgICAgICBob2xkZXJzUmlnaHQgPSBob2xkZXJzO1xuXG4gICAgICAgIHBhcnRpYWxzID0gaG9sZGVycyA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHZhciBkYXRhID0gaXNCaW5kS2V5ID8gdW5kZWZpbmVkIDogZ2V0RGF0YShmdW5jKTtcblxuICAgICAgdmFyIG5ld0RhdGEgPSBbXG4gICAgICAgIGZ1bmMsIGJpdG1hc2ssIHRoaXNBcmcsIHBhcnRpYWxzLCBob2xkZXJzLCBwYXJ0aWFsc1JpZ2h0LCBob2xkZXJzUmlnaHQsXG4gICAgICAgIGFyZ1BvcywgYXJ5LCBhcml0eVxuICAgICAgXTtcblxuICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgbWVyZ2VEYXRhKG5ld0RhdGEsIGRhdGEpO1xuICAgICAgfVxuICAgICAgZnVuYyA9IG5ld0RhdGFbMF07XG4gICAgICBiaXRtYXNrID0gbmV3RGF0YVsxXTtcbiAgICAgIHRoaXNBcmcgPSBuZXdEYXRhWzJdO1xuICAgICAgcGFydGlhbHMgPSBuZXdEYXRhWzNdO1xuICAgICAgaG9sZGVycyA9IG5ld0RhdGFbNF07XG4gICAgICBhcml0eSA9IG5ld0RhdGFbOV0gPSBuZXdEYXRhWzldID09PSB1bmRlZmluZWRcbiAgICAgICAgPyAoaXNCaW5kS2V5ID8gMCA6IGZ1bmMubGVuZ3RoKVxuICAgICAgICA6IG5hdGl2ZU1heChuZXdEYXRhWzldIC0gbGVuZ3RoLCAwKTtcblxuICAgICAgaWYgKCFhcml0eSAmJiBiaXRtYXNrICYgKFdSQVBfQ1VSUllfRkxBRyB8IFdSQVBfQ1VSUllfUklHSFRfRkxBRykpIHtcbiAgICAgICAgYml0bWFzayAmPSB+KFdSQVBfQ1VSUllfRkxBRyB8IFdSQVBfQ1VSUllfUklHSFRfRkxBRyk7XG4gICAgICB9XG4gICAgICBpZiAoIWJpdG1hc2sgfHwgYml0bWFzayA9PSBXUkFQX0JJTkRfRkxBRykge1xuICAgICAgICB2YXIgcmVzdWx0ID0gY3JlYXRlQmluZChmdW5jLCBiaXRtYXNrLCB0aGlzQXJnKTtcbiAgICAgIH0gZWxzZSBpZiAoYml0bWFzayA9PSBXUkFQX0NVUlJZX0ZMQUcgfHwgYml0bWFzayA9PSBXUkFQX0NVUlJZX1JJR0hUX0ZMQUcpIHtcbiAgICAgICAgcmVzdWx0ID0gY3JlYXRlQ3VycnkoZnVuYywgYml0bWFzaywgYXJpdHkpO1xuICAgICAgfSBlbHNlIGlmICgoYml0bWFzayA9PSBXUkFQX1BBUlRJQUxfRkxBRyB8fCBiaXRtYXNrID09IChXUkFQX0JJTkRfRkxBRyB8IFdSQVBfUEFSVElBTF9GTEFHKSkgJiYgIWhvbGRlcnMubGVuZ3RoKSB7XG4gICAgICAgIHJlc3VsdCA9IGNyZWF0ZVBhcnRpYWwoZnVuYywgYml0bWFzaywgdGhpc0FyZywgcGFydGlhbHMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0ID0gY3JlYXRlSHlicmlkLmFwcGx5KHVuZGVmaW5lZCwgbmV3RGF0YSk7XG4gICAgICB9XG4gICAgICB2YXIgc2V0dGVyID0gZGF0YSA/IGJhc2VTZXREYXRhIDogc2V0RGF0YTtcbiAgICAgIHJldHVybiBzZXRXcmFwVG9TdHJpbmcoc2V0dGVyKHJlc3VsdCwgbmV3RGF0YSksIGZ1bmMsIGJpdG1hc2spO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVzZWQgYnkgYF8uZGVmYXVsdHNgIHRvIGN1c3RvbWl6ZSBpdHMgYF8uYXNzaWduSW5gIHVzZSB0byBhc3NpZ24gcHJvcGVydGllc1xuICAgICAqIG9mIHNvdXJjZSBvYmplY3RzIHRvIHRoZSBkZXN0aW5hdGlvbiBvYmplY3QgZm9yIGFsbCBkZXN0aW5hdGlvbiBwcm9wZXJ0aWVzXG4gICAgICogdGhhdCByZXNvbHZlIHRvIGB1bmRlZmluZWRgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IG9ialZhbHVlIFRoZSBkZXN0aW5hdGlvbiB2YWx1ZS5cbiAgICAgKiBAcGFyYW0geyp9IHNyY1ZhbHVlIFRoZSBzb3VyY2UgdmFsdWUuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBhc3NpZ24uXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgcGFyZW50IG9iamVjdCBvZiBgb2JqVmFsdWVgLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSB2YWx1ZSB0byBhc3NpZ24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3VzdG9tRGVmYXVsdHNBc3NpZ25JbihvYmpWYWx1ZSwgc3JjVmFsdWUsIGtleSwgb2JqZWN0KSB7XG4gICAgICBpZiAob2JqVmFsdWUgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgIChlcShvYmpWYWx1ZSwgb2JqZWN0UHJvdG9ba2V5XSkgJiYgIWhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBrZXkpKSkge1xuICAgICAgICByZXR1cm4gc3JjVmFsdWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gb2JqVmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXNlZCBieSBgXy5kZWZhdWx0c0RlZXBgIHRvIGN1c3RvbWl6ZSBpdHMgYF8ubWVyZ2VgIHVzZSB0byBtZXJnZSBzb3VyY2VcbiAgICAgKiBvYmplY3RzIGludG8gZGVzdGluYXRpb24gb2JqZWN0cyB0aGF0IGFyZSBwYXNzZWQgdGhydS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSBvYmpWYWx1ZSBUaGUgZGVzdGluYXRpb24gdmFsdWUuXG4gICAgICogQHBhcmFtIHsqfSBzcmNWYWx1ZSBUaGUgc291cmNlIHZhbHVlLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gbWVyZ2UuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgcGFyZW50IG9iamVjdCBvZiBgb2JqVmFsdWVgLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIHBhcmVudCBvYmplY3Qgb2YgYHNyY1ZhbHVlYC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW3N0YWNrXSBUcmFja3MgdHJhdmVyc2VkIHNvdXJjZSB2YWx1ZXMgYW5kIHRoZWlyIG1lcmdlZFxuICAgICAqICBjb3VudGVycGFydHMuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHZhbHVlIHRvIGFzc2lnbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjdXN0b21EZWZhdWx0c01lcmdlKG9ialZhbHVlLCBzcmNWYWx1ZSwga2V5LCBvYmplY3QsIHNvdXJjZSwgc3RhY2spIHtcbiAgICAgIGlmIChpc09iamVjdChvYmpWYWx1ZSkgJiYgaXNPYmplY3Qoc3JjVmFsdWUpKSB7XG4gICAgICAgIC8vIFJlY3Vyc2l2ZWx5IG1lcmdlIG9iamVjdHMgYW5kIGFycmF5cyAoc3VzY2VwdGlibGUgdG8gY2FsbCBzdGFjayBsaW1pdHMpLlxuICAgICAgICBzdGFjay5zZXQoc3JjVmFsdWUsIG9ialZhbHVlKTtcbiAgICAgICAgYmFzZU1lcmdlKG9ialZhbHVlLCBzcmNWYWx1ZSwgdW5kZWZpbmVkLCBjdXN0b21EZWZhdWx0c01lcmdlLCBzdGFjayk7XG4gICAgICAgIHN0YWNrWydkZWxldGUnXShzcmNWYWx1ZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gb2JqVmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXNlZCBieSBgXy5vbWl0YCB0byBjdXN0b21pemUgaXRzIGBfLmNsb25lRGVlcGAgdXNlIHRvIG9ubHkgY2xvbmUgcGxhaW5cbiAgICAgKiBvYmplY3RzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgdW5jbG9uZWQgdmFsdWUgb3IgYHVuZGVmaW5lZGAgdG8gZGVmZXIgY2xvbmluZyB0byBgXy5jbG9uZURlZXBgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGN1c3RvbU9taXRDbG9uZSh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzUGxhaW5PYmplY3QodmFsdWUpID8gdW5kZWZpbmVkIDogdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBiYXNlSXNFcXVhbERlZXBgIGZvciBhcnJheXMgd2l0aCBzdXBwb3J0IGZvclxuICAgICAqIHBhcnRpYWwgZGVlcCBjb21wYXJpc29ucy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHtBcnJheX0gb3RoZXIgVGhlIG90aGVyIGFycmF5IHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJpdG1hc2sgVGhlIGJpdG1hc2sgZmxhZ3MuIFNlZSBgYmFzZUlzRXF1YWxgIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gY3VzdG9taXplciBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNvbXBhcmlzb25zLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGVxdWFsRnVuYyBUaGUgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGVxdWl2YWxlbnRzIG9mIHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc3RhY2sgVHJhY2tzIHRyYXZlcnNlZCBgYXJyYXlgIGFuZCBgb3RoZXJgIG9iamVjdHMuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBhcnJheXMgYXJlIGVxdWl2YWxlbnQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBlcXVhbEFycmF5cyhhcnJheSwgb3RoZXIsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spIHtcbiAgICAgIHZhciBpc1BhcnRpYWwgPSBiaXRtYXNrICYgQ09NUEFSRV9QQVJUSUFMX0ZMQUcsXG4gICAgICAgICAgYXJyTGVuZ3RoID0gYXJyYXkubGVuZ3RoLFxuICAgICAgICAgIG90aExlbmd0aCA9IG90aGVyLmxlbmd0aDtcblxuICAgICAgaWYgKGFyckxlbmd0aCAhPSBvdGhMZW5ndGggJiYgIShpc1BhcnRpYWwgJiYgb3RoTGVuZ3RoID4gYXJyTGVuZ3RoKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICAvLyBBc3N1bWUgY3ljbGljIHZhbHVlcyBhcmUgZXF1YWwuXG4gICAgICB2YXIgc3RhY2tlZCA9IHN0YWNrLmdldChhcnJheSk7XG4gICAgICBpZiAoc3RhY2tlZCAmJiBzdGFjay5nZXQob3RoZXIpKSB7XG4gICAgICAgIHJldHVybiBzdGFja2VkID09IG90aGVyO1xuICAgICAgfVxuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgcmVzdWx0ID0gdHJ1ZSxcbiAgICAgICAgICBzZWVuID0gKGJpdG1hc2sgJiBDT01QQVJFX1VOT1JERVJFRF9GTEFHKSA/IG5ldyBTZXRDYWNoZSA6IHVuZGVmaW5lZDtcblxuICAgICAgc3RhY2suc2V0KGFycmF5LCBvdGhlcik7XG4gICAgICBzdGFjay5zZXQob3RoZXIsIGFycmF5KTtcblxuICAgICAgLy8gSWdub3JlIG5vbi1pbmRleCBwcm9wZXJ0aWVzLlxuICAgICAgd2hpbGUgKCsraW5kZXggPCBhcnJMZW5ndGgpIHtcbiAgICAgICAgdmFyIGFyclZhbHVlID0gYXJyYXlbaW5kZXhdLFxuICAgICAgICAgICAgb3RoVmFsdWUgPSBvdGhlcltpbmRleF07XG5cbiAgICAgICAgaWYgKGN1c3RvbWl6ZXIpIHtcbiAgICAgICAgICB2YXIgY29tcGFyZWQgPSBpc1BhcnRpYWxcbiAgICAgICAgICAgID8gY3VzdG9taXplcihvdGhWYWx1ZSwgYXJyVmFsdWUsIGluZGV4LCBvdGhlciwgYXJyYXksIHN0YWNrKVxuICAgICAgICAgICAgOiBjdXN0b21pemVyKGFyclZhbHVlLCBvdGhWYWx1ZSwgaW5kZXgsIGFycmF5LCBvdGhlciwgc3RhY2spO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb21wYXJlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaWYgKGNvbXBhcmVkKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzdWx0ID0gZmFsc2U7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgLy8gUmVjdXJzaXZlbHkgY29tcGFyZSBhcnJheXMgKHN1c2NlcHRpYmxlIHRvIGNhbGwgc3RhY2sgbGltaXRzKS5cbiAgICAgICAgaWYgKHNlZW4pIHtcbiAgICAgICAgICBpZiAoIWFycmF5U29tZShvdGhlciwgZnVuY3Rpb24ob3RoVmFsdWUsIG90aEluZGV4KSB7XG4gICAgICAgICAgICAgICAgaWYgKCFjYWNoZUhhcyhzZWVuLCBvdGhJbmRleCkgJiZcbiAgICAgICAgICAgICAgICAgICAgKGFyclZhbHVlID09PSBvdGhWYWx1ZSB8fCBlcXVhbEZ1bmMoYXJyVmFsdWUsIG90aFZhbHVlLCBiaXRtYXNrLCBjdXN0b21pemVyLCBzdGFjaykpKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gc2Vlbi5wdXNoKG90aEluZGV4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pKSB7XG4gICAgICAgICAgICByZXN1bHQgPSBmYWxzZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICghKFxuICAgICAgICAgICAgICBhcnJWYWx1ZSA9PT0gb3RoVmFsdWUgfHxcbiAgICAgICAgICAgICAgICBlcXVhbEZ1bmMoYXJyVmFsdWUsIG90aFZhbHVlLCBiaXRtYXNrLCBjdXN0b21pemVyLCBzdGFjaylcbiAgICAgICAgICAgICkpIHtcbiAgICAgICAgICByZXN1bHQgPSBmYWxzZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgc3RhY2tbJ2RlbGV0ZSddKGFycmF5KTtcbiAgICAgIHN0YWNrWydkZWxldGUnXShvdGhlcik7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZUlzRXF1YWxEZWVwYCBmb3IgY29tcGFyaW5nIG9iamVjdHMgb2ZcbiAgICAgKiB0aGUgc2FtZSBgdG9TdHJpbmdUYWdgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgZnVuY3Rpb24gb25seSBzdXBwb3J0cyBjb21wYXJpbmcgdmFsdWVzIHdpdGggdGFncyBvZlxuICAgICAqIGBCb29sZWFuYCwgYERhdGVgLCBgRXJyb3JgLCBgTnVtYmVyYCwgYFJlZ0V4cGAsIG9yIGBTdHJpbmdgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3RoZXIgVGhlIG90aGVyIG9iamVjdCB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0YWcgVGhlIGB0b1N0cmluZ1RhZ2Agb2YgdGhlIG9iamVjdHMgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy4gU2VlIGBiYXNlSXNFcXVhbGAgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBjdXN0b21pemVyIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgY29tcGFyaXNvbnMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZXF1YWxGdW5jIFRoZSBmdW5jdGlvbiB0byBkZXRlcm1pbmUgZXF1aXZhbGVudHMgb2YgdmFsdWVzLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzdGFjayBUcmFja3MgdHJhdmVyc2VkIGBvYmplY3RgIGFuZCBgb3RoZXJgIG9iamVjdHMuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBvYmplY3RzIGFyZSBlcXVpdmFsZW50LCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZXF1YWxCeVRhZyhvYmplY3QsIG90aGVyLCB0YWcsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spIHtcbiAgICAgIHN3aXRjaCAodGFnKSB7XG4gICAgICAgIGNhc2UgZGF0YVZpZXdUYWc6XG4gICAgICAgICAgaWYgKChvYmplY3QuYnl0ZUxlbmd0aCAhPSBvdGhlci5ieXRlTGVuZ3RoKSB8fFxuICAgICAgICAgICAgICAob2JqZWN0LmJ5dGVPZmZzZXQgIT0gb3RoZXIuYnl0ZU9mZnNldCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgb2JqZWN0ID0gb2JqZWN0LmJ1ZmZlcjtcbiAgICAgICAgICBvdGhlciA9IG90aGVyLmJ1ZmZlcjtcblxuICAgICAgICBjYXNlIGFycmF5QnVmZmVyVGFnOlxuICAgICAgICAgIGlmICgob2JqZWN0LmJ5dGVMZW5ndGggIT0gb3RoZXIuYnl0ZUxlbmd0aCkgfHxcbiAgICAgICAgICAgICAgIWVxdWFsRnVuYyhuZXcgVWludDhBcnJheShvYmplY3QpLCBuZXcgVWludDhBcnJheShvdGhlcikpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0cnVlO1xuXG4gICAgICAgIGNhc2UgYm9vbFRhZzpcbiAgICAgICAgY2FzZSBkYXRlVGFnOlxuICAgICAgICBjYXNlIG51bWJlclRhZzpcbiAgICAgICAgICAvLyBDb2VyY2UgYm9vbGVhbnMgdG8gYDFgIG9yIGAwYCBhbmQgZGF0ZXMgdG8gbWlsbGlzZWNvbmRzLlxuICAgICAgICAgIC8vIEludmFsaWQgZGF0ZXMgYXJlIGNvZXJjZWQgdG8gYE5hTmAuXG4gICAgICAgICAgcmV0dXJuIGVxKCtvYmplY3QsICtvdGhlcik7XG5cbiAgICAgICAgY2FzZSBlcnJvclRhZzpcbiAgICAgICAgICByZXR1cm4gb2JqZWN0Lm5hbWUgPT0gb3RoZXIubmFtZSAmJiBvYmplY3QubWVzc2FnZSA9PSBvdGhlci5tZXNzYWdlO1xuXG4gICAgICAgIGNhc2UgcmVnZXhwVGFnOlxuICAgICAgICBjYXNlIHN0cmluZ1RhZzpcbiAgICAgICAgICAvLyBDb2VyY2UgcmVnZXhlcyB0byBzdHJpbmdzIGFuZCB0cmVhdCBzdHJpbmdzLCBwcmltaXRpdmVzIGFuZCBvYmplY3RzLFxuICAgICAgICAgIC8vIGFzIGVxdWFsLiBTZWUgaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXJlZ2V4cC5wcm90b3R5cGUudG9zdHJpbmdcbiAgICAgICAgICAvLyBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAgICAgIHJldHVybiBvYmplY3QgPT0gKG90aGVyICsgJycpO1xuXG4gICAgICAgIGNhc2UgbWFwVGFnOlxuICAgICAgICAgIHZhciBjb252ZXJ0ID0gbWFwVG9BcnJheTtcblxuICAgICAgICBjYXNlIHNldFRhZzpcbiAgICAgICAgICB2YXIgaXNQYXJ0aWFsID0gYml0bWFzayAmIENPTVBBUkVfUEFSVElBTF9GTEFHO1xuICAgICAgICAgIGNvbnZlcnQgfHwgKGNvbnZlcnQgPSBzZXRUb0FycmF5KTtcblxuICAgICAgICAgIGlmIChvYmplY3Quc2l6ZSAhPSBvdGhlci5zaXplICYmICFpc1BhcnRpYWwpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gQXNzdW1lIGN5Y2xpYyB2YWx1ZXMgYXJlIGVxdWFsLlxuICAgICAgICAgIHZhciBzdGFja2VkID0gc3RhY2suZ2V0KG9iamVjdCk7XG4gICAgICAgICAgaWYgKHN0YWNrZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBzdGFja2VkID09IG90aGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgICBiaXRtYXNrIHw9IENPTVBBUkVfVU5PUkRFUkVEX0ZMQUc7XG5cbiAgICAgICAgICAvLyBSZWN1cnNpdmVseSBjb21wYXJlIG9iamVjdHMgKHN1c2NlcHRpYmxlIHRvIGNhbGwgc3RhY2sgbGltaXRzKS5cbiAgICAgICAgICBzdGFjay5zZXQob2JqZWN0LCBvdGhlcik7XG4gICAgICAgICAgdmFyIHJlc3VsdCA9IGVxdWFsQXJyYXlzKGNvbnZlcnQob2JqZWN0KSwgY29udmVydChvdGhlciksIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spO1xuICAgICAgICAgIHN0YWNrWydkZWxldGUnXShvYmplY3QpO1xuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG5cbiAgICAgICAgY2FzZSBzeW1ib2xUYWc6XG4gICAgICAgICAgaWYgKHN5bWJvbFZhbHVlT2YpIHtcbiAgICAgICAgICAgIHJldHVybiBzeW1ib2xWYWx1ZU9mLmNhbGwob2JqZWN0KSA9PSBzeW1ib2xWYWx1ZU9mLmNhbGwob3RoZXIpO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYGJhc2VJc0VxdWFsRGVlcGAgZm9yIG9iamVjdHMgd2l0aCBzdXBwb3J0IGZvclxuICAgICAqIHBhcnRpYWwgZGVlcCBjb21wYXJpc29ucy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG90aGVyIFRoZSBvdGhlciBvYmplY3QgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy4gU2VlIGBiYXNlSXNFcXVhbGAgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBjdXN0b21pemVyIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgY29tcGFyaXNvbnMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZXF1YWxGdW5jIFRoZSBmdW5jdGlvbiB0byBkZXRlcm1pbmUgZXF1aXZhbGVudHMgb2YgdmFsdWVzLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzdGFjayBUcmFja3MgdHJhdmVyc2VkIGBvYmplY3RgIGFuZCBgb3RoZXJgIG9iamVjdHMuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBvYmplY3RzIGFyZSBlcXVpdmFsZW50LCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZXF1YWxPYmplY3RzKG9iamVjdCwgb3RoZXIsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spIHtcbiAgICAgIHZhciBpc1BhcnRpYWwgPSBiaXRtYXNrICYgQ09NUEFSRV9QQVJUSUFMX0ZMQUcsXG4gICAgICAgICAgb2JqUHJvcHMgPSBnZXRBbGxLZXlzKG9iamVjdCksXG4gICAgICAgICAgb2JqTGVuZ3RoID0gb2JqUHJvcHMubGVuZ3RoLFxuICAgICAgICAgIG90aFByb3BzID0gZ2V0QWxsS2V5cyhvdGhlciksXG4gICAgICAgICAgb3RoTGVuZ3RoID0gb3RoUHJvcHMubGVuZ3RoO1xuXG4gICAgICBpZiAob2JqTGVuZ3RoICE9IG90aExlbmd0aCAmJiAhaXNQYXJ0aWFsKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHZhciBpbmRleCA9IG9iakxlbmd0aDtcbiAgICAgIHdoaWxlIChpbmRleC0tKSB7XG4gICAgICAgIHZhciBrZXkgPSBvYmpQcm9wc1tpbmRleF07XG4gICAgICAgIGlmICghKGlzUGFydGlhbCA/IGtleSBpbiBvdGhlciA6IGhhc093blByb3BlcnR5LmNhbGwob3RoZXIsIGtleSkpKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBBc3N1bWUgY3ljbGljIHZhbHVlcyBhcmUgZXF1YWwuXG4gICAgICB2YXIgc3RhY2tlZCA9IHN0YWNrLmdldChvYmplY3QpO1xuICAgICAgaWYgKHN0YWNrZWQgJiYgc3RhY2suZ2V0KG90aGVyKSkge1xuICAgICAgICByZXR1cm4gc3RhY2tlZCA9PSBvdGhlcjtcbiAgICAgIH1cbiAgICAgIHZhciByZXN1bHQgPSB0cnVlO1xuICAgICAgc3RhY2suc2V0KG9iamVjdCwgb3RoZXIpO1xuICAgICAgc3RhY2suc2V0KG90aGVyLCBvYmplY3QpO1xuXG4gICAgICB2YXIgc2tpcEN0b3IgPSBpc1BhcnRpYWw7XG4gICAgICB3aGlsZSAoKytpbmRleCA8IG9iakxlbmd0aCkge1xuICAgICAgICBrZXkgPSBvYmpQcm9wc1tpbmRleF07XG4gICAgICAgIHZhciBvYmpWYWx1ZSA9IG9iamVjdFtrZXldLFxuICAgICAgICAgICAgb3RoVmFsdWUgPSBvdGhlcltrZXldO1xuXG4gICAgICAgIGlmIChjdXN0b21pemVyKSB7XG4gICAgICAgICAgdmFyIGNvbXBhcmVkID0gaXNQYXJ0aWFsXG4gICAgICAgICAgICA/IGN1c3RvbWl6ZXIob3RoVmFsdWUsIG9ialZhbHVlLCBrZXksIG90aGVyLCBvYmplY3QsIHN0YWNrKVxuICAgICAgICAgICAgOiBjdXN0b21pemVyKG9ialZhbHVlLCBvdGhWYWx1ZSwga2V5LCBvYmplY3QsIG90aGVyLCBzdGFjayk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gUmVjdXJzaXZlbHkgY29tcGFyZSBvYmplY3RzIChzdXNjZXB0aWJsZSB0byBjYWxsIHN0YWNrIGxpbWl0cykuXG4gICAgICAgIGlmICghKGNvbXBhcmVkID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgPyAob2JqVmFsdWUgPT09IG90aFZhbHVlIHx8IGVxdWFsRnVuYyhvYmpWYWx1ZSwgb3RoVmFsdWUsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIHN0YWNrKSlcbiAgICAgICAgICAgICAgOiBjb21wYXJlZFxuICAgICAgICAgICAgKSkge1xuICAgICAgICAgIHJlc3VsdCA9IGZhbHNlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHNraXBDdG9yIHx8IChza2lwQ3RvciA9IGtleSA9PSAnY29uc3RydWN0b3InKTtcbiAgICAgIH1cbiAgICAgIGlmIChyZXN1bHQgJiYgIXNraXBDdG9yKSB7XG4gICAgICAgIHZhciBvYmpDdG9yID0gb2JqZWN0LmNvbnN0cnVjdG9yLFxuICAgICAgICAgICAgb3RoQ3RvciA9IG90aGVyLmNvbnN0cnVjdG9yO1xuXG4gICAgICAgIC8vIE5vbiBgT2JqZWN0YCBvYmplY3QgaW5zdGFuY2VzIHdpdGggZGlmZmVyZW50IGNvbnN0cnVjdG9ycyBhcmUgbm90IGVxdWFsLlxuICAgICAgICBpZiAob2JqQ3RvciAhPSBvdGhDdG9yICYmXG4gICAgICAgICAgICAoJ2NvbnN0cnVjdG9yJyBpbiBvYmplY3QgJiYgJ2NvbnN0cnVjdG9yJyBpbiBvdGhlcikgJiZcbiAgICAgICAgICAgICEodHlwZW9mIG9iakN0b3IgPT0gJ2Z1bmN0aW9uJyAmJiBvYmpDdG9yIGluc3RhbmNlb2Ygb2JqQ3RvciAmJlxuICAgICAgICAgICAgICB0eXBlb2Ygb3RoQ3RvciA9PSAnZnVuY3Rpb24nICYmIG90aEN0b3IgaW5zdGFuY2VvZiBvdGhDdG9yKSkge1xuICAgICAgICAgIHJlc3VsdCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBzdGFja1snZGVsZXRlJ10ob2JqZWN0KTtcbiAgICAgIHN0YWNrWydkZWxldGUnXShvdGhlcik7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZVJlc3RgIHdoaWNoIGZsYXR0ZW5zIHRoZSByZXN0IGFycmF5LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBhcHBseSBhIHJlc3QgcGFyYW1ldGVyIHRvLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZsYXRSZXN0KGZ1bmMpIHtcbiAgICAgIHJldHVybiBzZXRUb1N0cmluZyhvdmVyUmVzdChmdW5jLCB1bmRlZmluZWQsIGZsYXR0ZW4pLCBmdW5jICsgJycpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2Ygb3duIGVudW1lcmFibGUgcHJvcGVydHkgbmFtZXMgYW5kIHN5bWJvbHMgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzIGFuZCBzeW1ib2xzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGdldEFsbEtleXMob2JqZWN0KSB7XG4gICAgICByZXR1cm4gYmFzZUdldEFsbEtleXMob2JqZWN0LCBrZXlzLCBnZXRTeW1ib2xzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIG93biBhbmQgaW5oZXJpdGVkIGVudW1lcmFibGUgcHJvcGVydHkgbmFtZXMgYW5kXG4gICAgICogc3ltYm9scyBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMgYW5kIHN5bWJvbHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0QWxsS2V5c0luKG9iamVjdCkge1xuICAgICAgcmV0dXJuIGJhc2VHZXRBbGxLZXlzKG9iamVjdCwga2V5c0luLCBnZXRTeW1ib2xzSW4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgbWV0YWRhdGEgZm9yIGBmdW5jYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIG1ldGFkYXRhIGZvciBgZnVuY2AuXG4gICAgICovXG4gICAgdmFyIGdldERhdGEgPSAhbWV0YU1hcCA/IG5vb3AgOiBmdW5jdGlvbihmdW5jKSB7XG4gICAgICByZXR1cm4gbWV0YU1hcC5nZXQoZnVuYyk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG5hbWUgb2YgYGZ1bmNgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBmdW5jdGlvbiBuYW1lLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGdldEZ1bmNOYW1lKGZ1bmMpIHtcbiAgICAgIHZhciByZXN1bHQgPSAoZnVuYy5uYW1lICsgJycpLFxuICAgICAgICAgIGFycmF5ID0gcmVhbE5hbWVzW3Jlc3VsdF0sXG4gICAgICAgICAgbGVuZ3RoID0gaGFzT3duUHJvcGVydHkuY2FsbChyZWFsTmFtZXMsIHJlc3VsdCkgPyBhcnJheS5sZW5ndGggOiAwO1xuXG4gICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgdmFyIGRhdGEgPSBhcnJheVtsZW5ndGhdLFxuICAgICAgICAgICAgb3RoZXJGdW5jID0gZGF0YS5mdW5jO1xuICAgICAgICBpZiAob3RoZXJGdW5jID09IG51bGwgfHwgb3RoZXJGdW5jID09IGZ1bmMpIHtcbiAgICAgICAgICByZXR1cm4gZGF0YS5uYW1lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGFyZ3VtZW50IHBsYWNlaG9sZGVyIHZhbHVlIGZvciBgZnVuY2AuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHBsYWNlaG9sZGVyIHZhbHVlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGdldEhvbGRlcihmdW5jKSB7XG4gICAgICB2YXIgb2JqZWN0ID0gaGFzT3duUHJvcGVydHkuY2FsbChsb2Rhc2gsICdwbGFjZWhvbGRlcicpID8gbG9kYXNoIDogZnVuYztcbiAgICAgIHJldHVybiBvYmplY3QucGxhY2Vob2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgYXBwcm9wcmlhdGUgXCJpdGVyYXRlZVwiIGZ1bmN0aW9uLiBJZiBgXy5pdGVyYXRlZWAgaXMgY3VzdG9taXplZCxcbiAgICAgKiB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGN1c3RvbSBtZXRob2QsIG90aGVyd2lzZSBpdCByZXR1cm5zIGBiYXNlSXRlcmF0ZWVgLlxuICAgICAqIElmIGFyZ3VtZW50cyBhcmUgcHJvdmlkZWQsIHRoZSBjaG9zZW4gZnVuY3Rpb24gaXMgaW52b2tlZCB3aXRoIHRoZW0gYW5kXG4gICAgICogaXRzIHJlc3VsdCBpcyByZXR1cm5lZC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSBbdmFsdWVdIFRoZSB2YWx1ZSB0byBjb252ZXJ0IHRvIGFuIGl0ZXJhdGVlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJpdHldIFRoZSBhcml0eSBvZiB0aGUgY3JlYXRlZCBpdGVyYXRlZS5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIGNob3NlbiBmdW5jdGlvbiBvciBpdHMgcmVzdWx0LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGdldEl0ZXJhdGVlKCkge1xuICAgICAgdmFyIHJlc3VsdCA9IGxvZGFzaC5pdGVyYXRlZSB8fCBpdGVyYXRlZTtcbiAgICAgIHJlc3VsdCA9IHJlc3VsdCA9PT0gaXRlcmF0ZWUgPyBiYXNlSXRlcmF0ZWUgOiByZXN1bHQ7XG4gICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IHJlc3VsdChhcmd1bWVudHNbMF0sIGFyZ3VtZW50c1sxXSkgOiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZGF0YSBmb3IgYG1hcGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBtYXAgVGhlIG1hcCB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSByZWZlcmVuY2Uga2V5LlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBtYXAgZGF0YS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXRNYXBEYXRhKG1hcCwga2V5KSB7XG4gICAgICB2YXIgZGF0YSA9IG1hcC5fX2RhdGFfXztcbiAgICAgIHJldHVybiBpc0tleWFibGUoa2V5KVxuICAgICAgICA/IGRhdGFbdHlwZW9mIGtleSA9PSAnc3RyaW5nJyA/ICdzdHJpbmcnIDogJ2hhc2gnXVxuICAgICAgICA6IGRhdGEubWFwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHByb3BlcnR5IG5hbWVzLCB2YWx1ZXMsIGFuZCBjb21wYXJlIGZsYWdzIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBtYXRjaCBkYXRhIG9mIGBvYmplY3RgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGdldE1hdGNoRGF0YShvYmplY3QpIHtcbiAgICAgIHZhciByZXN1bHQgPSBrZXlzKG9iamVjdCksXG4gICAgICAgICAgbGVuZ3RoID0gcmVzdWx0Lmxlbmd0aDtcblxuICAgICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICAgIHZhciBrZXkgPSByZXN1bHRbbGVuZ3RoXSxcbiAgICAgICAgICAgIHZhbHVlID0gb2JqZWN0W2tleV07XG5cbiAgICAgICAgcmVzdWx0W2xlbmd0aF0gPSBba2V5LCB2YWx1ZSwgaXNTdHJpY3RDb21wYXJhYmxlKHZhbHVlKV07XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG5hdGl2ZSBmdW5jdGlvbiBhdCBga2V5YCBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgbWV0aG9kIHRvIGdldC5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgZnVuY3Rpb24gaWYgaXQncyBuYXRpdmUsIGVsc2UgYHVuZGVmaW5lZGAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0TmF0aXZlKG9iamVjdCwga2V5KSB7XG4gICAgICB2YXIgdmFsdWUgPSBnZXRWYWx1ZShvYmplY3QsIGtleSk7XG4gICAgICByZXR1cm4gYmFzZUlzTmF0aXZlKHZhbHVlKSA/IHZhbHVlIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZUdldFRhZ2Agd2hpY2ggaWdub3JlcyBgU3ltYm9sLnRvU3RyaW5nVGFnYCB2YWx1ZXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHJhdyBgdG9TdHJpbmdUYWdgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGdldFJhd1RhZyh2YWx1ZSkge1xuICAgICAgdmFyIGlzT3duID0gaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwgc3ltVG9TdHJpbmdUYWcpLFxuICAgICAgICAgIHRhZyA9IHZhbHVlW3N5bVRvU3RyaW5nVGFnXTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgdmFsdWVbc3ltVG9TdHJpbmdUYWddID0gdW5kZWZpbmVkO1xuICAgICAgICB2YXIgdW5tYXNrZWQgPSB0cnVlO1xuICAgICAgfSBjYXRjaCAoZSkge31cblxuICAgICAgdmFyIHJlc3VsdCA9IG5hdGl2ZU9iamVjdFRvU3RyaW5nLmNhbGwodmFsdWUpO1xuICAgICAgaWYgKHVubWFza2VkKSB7XG4gICAgICAgIGlmIChpc093bikge1xuICAgICAgICAgIHZhbHVlW3N5bVRvU3RyaW5nVGFnXSA9IHRhZztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZWxldGUgdmFsdWVbc3ltVG9TdHJpbmdUYWddO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdGhlIG93biBlbnVtZXJhYmxlIHN5bWJvbHMgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHN5bWJvbHMuXG4gICAgICovXG4gICAgdmFyIGdldFN5bWJvbHMgPSAhbmF0aXZlR2V0U3ltYm9scyA/IHN0dWJBcnJheSA6IGZ1bmN0aW9uKG9iamVjdCkge1xuICAgICAgaWYgKG9iamVjdCA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIG9iamVjdCA9IE9iamVjdChvYmplY3QpO1xuICAgICAgcmV0dXJuIGFycmF5RmlsdGVyKG5hdGl2ZUdldFN5bWJvbHMob2JqZWN0KSwgZnVuY3Rpb24oc3ltYm9sKSB7XG4gICAgICAgIHJldHVybiBwcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKG9iamVjdCwgc3ltYm9sKTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIHRoZSBvd24gYW5kIGluaGVyaXRlZCBlbnVtZXJhYmxlIHN5bWJvbHMgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHN5bWJvbHMuXG4gICAgICovXG4gICAgdmFyIGdldFN5bWJvbHNJbiA9ICFuYXRpdmVHZXRTeW1ib2xzID8gc3R1YkFycmF5IDogZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgICB2YXIgcmVzdWx0ID0gW107XG4gICAgICB3aGlsZSAob2JqZWN0KSB7XG4gICAgICAgIGFycmF5UHVzaChyZXN1bHQsIGdldFN5bWJvbHMob2JqZWN0KSk7XG4gICAgICAgIG9iamVjdCA9IGdldFByb3RvdHlwZShvYmplY3QpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgYHRvU3RyaW5nVGFnYCBvZiBgdmFsdWVgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBgdG9TdHJpbmdUYWdgLlxuICAgICAqL1xuICAgIHZhciBnZXRUYWcgPSBiYXNlR2V0VGFnO1xuXG4gICAgLy8gRmFsbGJhY2sgZm9yIGRhdGEgdmlld3MsIG1hcHMsIHNldHMsIGFuZCB3ZWFrIG1hcHMgaW4gSUUgMTEgYW5kIHByb21pc2VzIGluIE5vZGUuanMgPCA2LlxuICAgIGlmICgoRGF0YVZpZXcgJiYgZ2V0VGFnKG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMSkpKSAhPSBkYXRhVmlld1RhZykgfHxcbiAgICAgICAgKE1hcCAmJiBnZXRUYWcobmV3IE1hcCkgIT0gbWFwVGFnKSB8fFxuICAgICAgICAoUHJvbWlzZSAmJiBnZXRUYWcoUHJvbWlzZS5yZXNvbHZlKCkpICE9IHByb21pc2VUYWcpIHx8XG4gICAgICAgIChTZXQgJiYgZ2V0VGFnKG5ldyBTZXQpICE9IHNldFRhZykgfHxcbiAgICAgICAgKFdlYWtNYXAgJiYgZ2V0VGFnKG5ldyBXZWFrTWFwKSAhPSB3ZWFrTWFwVGFnKSkge1xuICAgICAgZ2V0VGFnID0gZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgICAgdmFyIHJlc3VsdCA9IGJhc2VHZXRUYWcodmFsdWUpLFxuICAgICAgICAgICAgQ3RvciA9IHJlc3VsdCA9PSBvYmplY3RUYWcgPyB2YWx1ZS5jb25zdHJ1Y3RvciA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGN0b3JTdHJpbmcgPSBDdG9yID8gdG9Tb3VyY2UoQ3RvcikgOiAnJztcblxuICAgICAgICBpZiAoY3RvclN0cmluZykge1xuICAgICAgICAgIHN3aXRjaCAoY3RvclN0cmluZykge1xuICAgICAgICAgICAgY2FzZSBkYXRhVmlld0N0b3JTdHJpbmc6IHJldHVybiBkYXRhVmlld1RhZztcbiAgICAgICAgICAgIGNhc2UgbWFwQ3RvclN0cmluZzogcmV0dXJuIG1hcFRhZztcbiAgICAgICAgICAgIGNhc2UgcHJvbWlzZUN0b3JTdHJpbmc6IHJldHVybiBwcm9taXNlVGFnO1xuICAgICAgICAgICAgY2FzZSBzZXRDdG9yU3RyaW5nOiByZXR1cm4gc2V0VGFnO1xuICAgICAgICAgICAgY2FzZSB3ZWFrTWFwQ3RvclN0cmluZzogcmV0dXJuIHdlYWtNYXBUYWc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHZpZXcsIGFwcGx5aW5nIGFueSBgdHJhbnNmb3Jtc2AgdG8gdGhlIGBzdGFydGAgYW5kIGBlbmRgIHBvc2l0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHN0YXJ0IFRoZSBzdGFydCBvZiB0aGUgdmlldy5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gZW5kIFRoZSBlbmQgb2YgdGhlIHZpZXcuXG4gICAgICogQHBhcmFtIHtBcnJheX0gdHJhbnNmb3JtcyBUaGUgdHJhbnNmb3JtYXRpb25zIHRvIGFwcGx5IHRvIHRoZSB2aWV3LlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGBzdGFydGAgYW5kIGBlbmRgXG4gICAgICogIHBvc2l0aW9ucyBvZiB0aGUgdmlldy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXRWaWV3KHN0YXJ0LCBlbmQsIHRyYW5zZm9ybXMpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHRyYW5zZm9ybXMubGVuZ3RoO1xuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgZGF0YSA9IHRyYW5zZm9ybXNbaW5kZXhdLFxuICAgICAgICAgICAgc2l6ZSA9IGRhdGEuc2l6ZTtcblxuICAgICAgICBzd2l0Y2ggKGRhdGEudHlwZSkge1xuICAgICAgICAgIGNhc2UgJ2Ryb3AnOiAgICAgIHN0YXJ0ICs9IHNpemU7IGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2Ryb3BSaWdodCc6IGVuZCAtPSBzaXplOyBicmVhaztcbiAgICAgICAgICBjYXNlICd0YWtlJzogICAgICBlbmQgPSBuYXRpdmVNaW4oZW5kLCBzdGFydCArIHNpemUpOyBicmVhaztcbiAgICAgICAgICBjYXNlICd0YWtlUmlnaHQnOiBzdGFydCA9IG5hdGl2ZU1heChzdGFydCwgZW5kIC0gc2l6ZSk7IGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4geyAnc3RhcnQnOiBzdGFydCwgJ2VuZCc6IGVuZCB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4dHJhY3RzIHdyYXBwZXIgZGV0YWlscyBmcm9tIHRoZSBgc291cmNlYCBib2R5IGNvbW1lbnQuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzb3VyY2UgVGhlIHNvdXJjZSB0byBpbnNwZWN0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgd3JhcHBlciBkZXRhaWxzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGdldFdyYXBEZXRhaWxzKHNvdXJjZSkge1xuICAgICAgdmFyIG1hdGNoID0gc291cmNlLm1hdGNoKHJlV3JhcERldGFpbHMpO1xuICAgICAgcmV0dXJuIG1hdGNoID8gbWF0Y2hbMV0uc3BsaXQocmVTcGxpdERldGFpbHMpIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGBwYXRoYCBleGlzdHMgb24gYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCB0byBjaGVjay5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBoYXNGdW5jIFRoZSBmdW5jdGlvbiB0byBjaGVjayBwcm9wZXJ0aWVzLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgcGF0aGAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaGFzUGF0aChvYmplY3QsIHBhdGgsIGhhc0Z1bmMpIHtcbiAgICAgIHBhdGggPSBjYXN0UGF0aChwYXRoLCBvYmplY3QpO1xuXG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBwYXRoLmxlbmd0aCxcbiAgICAgICAgICByZXN1bHQgPSBmYWxzZTtcblxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIGtleSA9IHRvS2V5KHBhdGhbaW5kZXhdKTtcbiAgICAgICAgaWYgKCEocmVzdWx0ID0gb2JqZWN0ICE9IG51bGwgJiYgaGFzRnVuYyhvYmplY3QsIGtleSkpKSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgb2JqZWN0ID0gb2JqZWN0W2tleV07XG4gICAgICB9XG4gICAgICBpZiAocmVzdWx0IHx8ICsraW5kZXggIT0gbGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBsZW5ndGggPSBvYmplY3QgPT0gbnVsbCA/IDAgOiBvYmplY3QubGVuZ3RoO1xuICAgICAgcmV0dXJuICEhbGVuZ3RoICYmIGlzTGVuZ3RoKGxlbmd0aCkgJiYgaXNJbmRleChrZXksIGxlbmd0aCkgJiZcbiAgICAgICAgKGlzQXJyYXkob2JqZWN0KSB8fCBpc0FyZ3VtZW50cyhvYmplY3QpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyBhbiBhcnJheSBjbG9uZS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGNsb25lLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgaW5pdGlhbGl6ZWQgY2xvbmUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaW5pdENsb25lQXJyYXkoYXJyYXkpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGgsXG4gICAgICAgICAgcmVzdWx0ID0gbmV3IGFycmF5LmNvbnN0cnVjdG9yKGxlbmd0aCk7XG5cbiAgICAgIC8vIEFkZCBwcm9wZXJ0aWVzIGFzc2lnbmVkIGJ5IGBSZWdFeHAjZXhlY2AuXG4gICAgICBpZiAobGVuZ3RoICYmIHR5cGVvZiBhcnJheVswXSA9PSAnc3RyaW5nJyAmJiBoYXNPd25Qcm9wZXJ0eS5jYWxsKGFycmF5LCAnaW5kZXgnKSkge1xuICAgICAgICByZXN1bHQuaW5kZXggPSBhcnJheS5pbmRleDtcbiAgICAgICAgcmVzdWx0LmlucHV0ID0gYXJyYXkuaW5wdXQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluaXRpYWxpemVzIGFuIG9iamVjdCBjbG9uZS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGNsb25lLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGluaXRpYWxpemVkIGNsb25lLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGluaXRDbG9uZU9iamVjdChvYmplY3QpIHtcbiAgICAgIHJldHVybiAodHlwZW9mIG9iamVjdC5jb25zdHJ1Y3RvciA9PSAnZnVuY3Rpb24nICYmICFpc1Byb3RvdHlwZShvYmplY3QpKVxuICAgICAgICA/IGJhc2VDcmVhdGUoZ2V0UHJvdG90eXBlKG9iamVjdCkpXG4gICAgICAgIDoge307XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZXMgYW4gb2JqZWN0IGNsb25lIGJhc2VkIG9uIGl0cyBgdG9TdHJpbmdUYWdgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgZnVuY3Rpb24gb25seSBzdXBwb3J0cyBjbG9uaW5nIHZhbHVlcyB3aXRoIHRhZ3Mgb2ZcbiAgICAgKiBgQm9vbGVhbmAsIGBEYXRlYCwgYEVycm9yYCwgYE1hcGAsIGBOdW1iZXJgLCBgUmVnRXhwYCwgYFNldGAsIG9yIGBTdHJpbmdgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gY2xvbmUuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHRhZyBUaGUgYHRvU3RyaW5nVGFnYCBvZiB0aGUgb2JqZWN0IHRvIGNsb25lLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lzRGVlcF0gU3BlY2lmeSBhIGRlZXAgY2xvbmUuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgaW5pdGlhbGl6ZWQgY2xvbmUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaW5pdENsb25lQnlUYWcob2JqZWN0LCB0YWcsIGlzRGVlcCkge1xuICAgICAgdmFyIEN0b3IgPSBvYmplY3QuY29uc3RydWN0b3I7XG4gICAgICBzd2l0Y2ggKHRhZykge1xuICAgICAgICBjYXNlIGFycmF5QnVmZmVyVGFnOlxuICAgICAgICAgIHJldHVybiBjbG9uZUFycmF5QnVmZmVyKG9iamVjdCk7XG5cbiAgICAgICAgY2FzZSBib29sVGFnOlxuICAgICAgICBjYXNlIGRhdGVUYWc6XG4gICAgICAgICAgcmV0dXJuIG5ldyBDdG9yKCtvYmplY3QpO1xuXG4gICAgICAgIGNhc2UgZGF0YVZpZXdUYWc6XG4gICAgICAgICAgcmV0dXJuIGNsb25lRGF0YVZpZXcob2JqZWN0LCBpc0RlZXApO1xuXG4gICAgICAgIGNhc2UgZmxvYXQzMlRhZzogY2FzZSBmbG9hdDY0VGFnOlxuICAgICAgICBjYXNlIGludDhUYWc6IGNhc2UgaW50MTZUYWc6IGNhc2UgaW50MzJUYWc6XG4gICAgICAgIGNhc2UgdWludDhUYWc6IGNhc2UgdWludDhDbGFtcGVkVGFnOiBjYXNlIHVpbnQxNlRhZzogY2FzZSB1aW50MzJUYWc6XG4gICAgICAgICAgcmV0dXJuIGNsb25lVHlwZWRBcnJheShvYmplY3QsIGlzRGVlcCk7XG5cbiAgICAgICAgY2FzZSBtYXBUYWc6XG4gICAgICAgICAgcmV0dXJuIG5ldyBDdG9yO1xuXG4gICAgICAgIGNhc2UgbnVtYmVyVGFnOlxuICAgICAgICBjYXNlIHN0cmluZ1RhZzpcbiAgICAgICAgICByZXR1cm4gbmV3IEN0b3Iob2JqZWN0KTtcblxuICAgICAgICBjYXNlIHJlZ2V4cFRhZzpcbiAgICAgICAgICByZXR1cm4gY2xvbmVSZWdFeHAob2JqZWN0KTtcblxuICAgICAgICBjYXNlIHNldFRhZzpcbiAgICAgICAgICByZXR1cm4gbmV3IEN0b3I7XG5cbiAgICAgICAgY2FzZSBzeW1ib2xUYWc6XG4gICAgICAgICAgcmV0dXJuIGNsb25lU3ltYm9sKG9iamVjdCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5zZXJ0cyB3cmFwcGVyIGBkZXRhaWxzYCBpbiBhIGNvbW1lbnQgYXQgdGhlIHRvcCBvZiB0aGUgYHNvdXJjZWAgYm9keS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHNvdXJjZSBUaGUgc291cmNlIHRvIG1vZGlmeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IGRldGFpbHMgVGhlIGRldGFpbHMgdG8gaW5zZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIG1vZGlmaWVkIHNvdXJjZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpbnNlcnRXcmFwRGV0YWlscyhzb3VyY2UsIGRldGFpbHMpIHtcbiAgICAgIHZhciBsZW5ndGggPSBkZXRhaWxzLmxlbmd0aDtcbiAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2U7XG4gICAgICB9XG4gICAgICB2YXIgbGFzdEluZGV4ID0gbGVuZ3RoIC0gMTtcbiAgICAgIGRldGFpbHNbbGFzdEluZGV4XSA9IChsZW5ndGggPiAxID8gJyYgJyA6ICcnKSArIGRldGFpbHNbbGFzdEluZGV4XTtcbiAgICAgIGRldGFpbHMgPSBkZXRhaWxzLmpvaW4obGVuZ3RoID4gMiA/ICcsICcgOiAnICcpO1xuICAgICAgcmV0dXJuIHNvdXJjZS5yZXBsYWNlKHJlV3JhcENvbW1lbnQsICd7XFxuLyogW3dyYXBwZWQgd2l0aCAnICsgZGV0YWlscyArICddICovXFxuJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYSBmbGF0dGVuYWJsZSBgYXJndW1lbnRzYCBvYmplY3Qgb3IgYXJyYXkuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGZsYXR0ZW5hYmxlLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNGbGF0dGVuYWJsZSh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzQXJyYXkodmFsdWUpIHx8IGlzQXJndW1lbnRzKHZhbHVlKSB8fFxuICAgICAgICAhIShzcHJlYWRhYmxlU3ltYm9sICYmIHZhbHVlICYmIHZhbHVlW3NwcmVhZGFibGVTeW1ib2xdKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIHZhbGlkIGFycmF5LWxpa2UgaW5kZXguXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbGVuZ3RoPU1BWF9TQUZFX0lOVEVHRVJdIFRoZSB1cHBlciBib3VuZHMgb2YgYSB2YWxpZCBpbmRleC5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHZhbGlkIGluZGV4LCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNJbmRleCh2YWx1ZSwgbGVuZ3RoKSB7XG4gICAgICB2YXIgdHlwZSA9IHR5cGVvZiB2YWx1ZTtcbiAgICAgIGxlbmd0aCA9IGxlbmd0aCA9PSBudWxsID8gTUFYX1NBRkVfSU5URUdFUiA6IGxlbmd0aDtcblxuICAgICAgcmV0dXJuICEhbGVuZ3RoICYmXG4gICAgICAgICh0eXBlID09ICdudW1iZXInIHx8XG4gICAgICAgICAgKHR5cGUgIT0gJ3N5bWJvbCcgJiYgcmVJc1VpbnQudGVzdCh2YWx1ZSkpKSAmJlxuICAgICAgICAgICAgKHZhbHVlID4gLTEgJiYgdmFsdWUgJSAxID09IDAgJiYgdmFsdWUgPCBsZW5ndGgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gYXJndW1lbnRzIGFyZSBmcm9tIGFuIGl0ZXJhdGVlIGNhbGwuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHBvdGVudGlhbCBpdGVyYXRlZSB2YWx1ZSBhcmd1bWVudC5cbiAgICAgKiBAcGFyYW0geyp9IGluZGV4IFRoZSBwb3RlbnRpYWwgaXRlcmF0ZWUgaW5kZXggb3Iga2V5IGFyZ3VtZW50LlxuICAgICAqIEBwYXJhbSB7Kn0gb2JqZWN0IFRoZSBwb3RlbnRpYWwgaXRlcmF0ZWUgb2JqZWN0IGFyZ3VtZW50LlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgYXJndW1lbnRzIGFyZSBmcm9tIGFuIGl0ZXJhdGVlIGNhbGwsXG4gICAgICogIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0l0ZXJhdGVlQ2FsbCh2YWx1ZSwgaW5kZXgsIG9iamVjdCkge1xuICAgICAgaWYgKCFpc09iamVjdChvYmplY3QpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHZhciB0eXBlID0gdHlwZW9mIGluZGV4O1xuICAgICAgaWYgKHR5cGUgPT0gJ251bWJlcidcbiAgICAgICAgICAgID8gKGlzQXJyYXlMaWtlKG9iamVjdCkgJiYgaXNJbmRleChpbmRleCwgb2JqZWN0Lmxlbmd0aCkpXG4gICAgICAgICAgICA6ICh0eXBlID09ICdzdHJpbmcnICYmIGluZGV4IGluIG9iamVjdClcbiAgICAgICAgICApIHtcbiAgICAgICAgcmV0dXJuIGVxKG9iamVjdFtpbmRleF0sIHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIHByb3BlcnR5IG5hbWUgYW5kIG5vdCBhIHByb3BlcnR5IHBhdGguXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb2JqZWN0XSBUaGUgb2JqZWN0IHRvIHF1ZXJ5IGtleXMgb24uXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBwcm9wZXJ0eSBuYW1lLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNLZXkodmFsdWUsIG9iamVjdCkge1xuICAgICAgaWYgKGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICAgICAgaWYgKHR5cGUgPT0gJ251bWJlcicgfHwgdHlwZSA9PSAnc3ltYm9sJyB8fCB0eXBlID09ICdib29sZWFuJyB8fFxuICAgICAgICAgIHZhbHVlID09IG51bGwgfHwgaXNTeW1ib2wodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlSXNQbGFpblByb3AudGVzdCh2YWx1ZSkgfHwgIXJlSXNEZWVwUHJvcC50ZXN0KHZhbHVlKSB8fFxuICAgICAgICAob2JqZWN0ICE9IG51bGwgJiYgdmFsdWUgaW4gT2JqZWN0KG9iamVjdCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIHN1aXRhYmxlIGZvciB1c2UgYXMgdW5pcXVlIG9iamVjdCBrZXkuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIHN1aXRhYmxlLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNLZXlhYmxlKHZhbHVlKSB7XG4gICAgICB2YXIgdHlwZSA9IHR5cGVvZiB2YWx1ZTtcbiAgICAgIHJldHVybiAodHlwZSA9PSAnc3RyaW5nJyB8fCB0eXBlID09ICdudW1iZXInIHx8IHR5cGUgPT0gJ3N5bWJvbCcgfHwgdHlwZSA9PSAnYm9vbGVhbicpXG4gICAgICAgID8gKHZhbHVlICE9PSAnX19wcm90b19fJylcbiAgICAgICAgOiAodmFsdWUgPT09IG51bGwpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgZnVuY2AgaGFzIGEgbGF6eSBjb3VudGVycGFydC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBmdW5jYCBoYXMgYSBsYXp5IGNvdW50ZXJwYXJ0LFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNMYXppYWJsZShmdW5jKSB7XG4gICAgICB2YXIgZnVuY05hbWUgPSBnZXRGdW5jTmFtZShmdW5jKSxcbiAgICAgICAgICBvdGhlciA9IGxvZGFzaFtmdW5jTmFtZV07XG5cbiAgICAgIGlmICh0eXBlb2Ygb3RoZXIgIT0gJ2Z1bmN0aW9uJyB8fCAhKGZ1bmNOYW1lIGluIExhenlXcmFwcGVyLnByb3RvdHlwZSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKGZ1bmMgPT09IG90aGVyKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgdmFyIGRhdGEgPSBnZXREYXRhKG90aGVyKTtcbiAgICAgIHJldHVybiAhIWRhdGEgJiYgZnVuYyA9PT0gZGF0YVswXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYGZ1bmNgIGhhcyBpdHMgc291cmNlIG1hc2tlZC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBmdW5jYCBpcyBtYXNrZWQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc01hc2tlZChmdW5jKSB7XG4gICAgICByZXR1cm4gISFtYXNrU3JjS2V5ICYmIChtYXNrU3JjS2V5IGluIGZ1bmMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgZnVuY2AgaXMgY2FwYWJsZSBvZiBiZWluZyBtYXNrZWQuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgZnVuY2AgaXMgbWFza2FibGUsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICB2YXIgaXNNYXNrYWJsZSA9IGNvcmVKc0RhdGEgPyBpc0Z1bmN0aW9uIDogc3R1YkZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgbGlrZWx5IGEgcHJvdG90eXBlIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBwcm90b3R5cGUsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc1Byb3RvdHlwZSh2YWx1ZSkge1xuICAgICAgdmFyIEN0b3IgPSB2YWx1ZSAmJiB2YWx1ZS5jb25zdHJ1Y3RvcixcbiAgICAgICAgICBwcm90byA9ICh0eXBlb2YgQ3RvciA9PSAnZnVuY3Rpb24nICYmIEN0b3IucHJvdG90eXBlKSB8fCBvYmplY3RQcm90bztcblxuICAgICAgcmV0dXJuIHZhbHVlID09PSBwcm90bztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBzdWl0YWJsZSBmb3Igc3RyaWN0IGVxdWFsaXR5IGNvbXBhcmlzb25zLCBpLmUuIGA9PT1gLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpZiBzdWl0YWJsZSBmb3Igc3RyaWN0XG4gICAgICogIGVxdWFsaXR5IGNvbXBhcmlzb25zLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNTdHJpY3RDb21wYXJhYmxlKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWUgPT09IHZhbHVlICYmICFpc09iamVjdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBtYXRjaGVzUHJvcGVydHlgIGZvciBzb3VyY2UgdmFsdWVzIHN1aXRhYmxlXG4gICAgICogZm9yIHN0cmljdCBlcXVhbGl0eSBjb21wYXJpc29ucywgaS5lLiBgPT09YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gICAgICogQHBhcmFtIHsqfSBzcmNWYWx1ZSBUaGUgdmFsdWUgdG8gbWF0Y2guXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgc3BlYyBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXRjaGVzU3RyaWN0Q29tcGFyYWJsZShrZXksIHNyY1ZhbHVlKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgICAgIGlmIChvYmplY3QgPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2JqZWN0W2tleV0gPT09IHNyY1ZhbHVlICYmXG4gICAgICAgICAgKHNyY1ZhbHVlICE9PSB1bmRlZmluZWQgfHwgKGtleSBpbiBPYmplY3Qob2JqZWN0KSkpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYF8ubWVtb2l6ZWAgd2hpY2ggY2xlYXJzIHRoZSBtZW1vaXplZCBmdW5jdGlvbidzXG4gICAgICogY2FjaGUgd2hlbiBpdCBleGNlZWRzIGBNQVhfTUVNT0laRV9TSVpFYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gaGF2ZSBpdHMgb3V0cHV0IG1lbW9pemVkLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IG1lbW9pemVkIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1lbW9pemVDYXBwZWQoZnVuYykge1xuICAgICAgdmFyIHJlc3VsdCA9IG1lbW9pemUoZnVuYywgZnVuY3Rpb24oa2V5KSB7XG4gICAgICAgIGlmIChjYWNoZS5zaXplID09PSBNQVhfTUVNT0laRV9TSVpFKSB7XG4gICAgICAgICAgY2FjaGUuY2xlYXIoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ga2V5O1xuICAgICAgfSk7XG5cbiAgICAgIHZhciBjYWNoZSA9IHJlc3VsdC5jYWNoZTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWVyZ2VzIHRoZSBmdW5jdGlvbiBtZXRhZGF0YSBvZiBgc291cmNlYCBpbnRvIGBkYXRhYC5cbiAgICAgKlxuICAgICAqIE1lcmdpbmcgbWV0YWRhdGEgcmVkdWNlcyB0aGUgbnVtYmVyIG9mIHdyYXBwZXJzIHVzZWQgdG8gaW52b2tlIGEgZnVuY3Rpb24uXG4gICAgICogVGhpcyBpcyBwb3NzaWJsZSBiZWNhdXNlIG1ldGhvZHMgbGlrZSBgXy5iaW5kYCwgYF8uY3VycnlgLCBhbmQgYF8ucGFydGlhbGBcbiAgICAgKiBtYXkgYmUgYXBwbGllZCByZWdhcmRsZXNzIG9mIGV4ZWN1dGlvbiBvcmRlci4gTWV0aG9kcyBsaWtlIGBfLmFyeWAgYW5kXG4gICAgICogYF8ucmVhcmdgIG1vZGlmeSBmdW5jdGlvbiBhcmd1bWVudHMsIG1ha2luZyB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmVcbiAgICAgKiBleGVjdXRlZCBpbXBvcnRhbnQsIHByZXZlbnRpbmcgdGhlIG1lcmdpbmcgb2YgbWV0YWRhdGEuIEhvd2V2ZXIsIHdlIG1ha2VcbiAgICAgKiBhbiBleGNlcHRpb24gZm9yIGEgc2FmZSBjb21iaW5lZCBjYXNlIHdoZXJlIGN1cnJpZWQgZnVuY3Rpb25zIGhhdmUgYF8uYXJ5YFxuICAgICAqIGFuZCBvciBgXy5yZWFyZ2AgYXBwbGllZC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gZGF0YSBUaGUgZGVzdGluYXRpb24gbWV0YWRhdGEuXG4gICAgICogQHBhcmFtIHtBcnJheX0gc291cmNlIFRoZSBzb3VyY2UgbWV0YWRhdGEuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBkYXRhYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtZXJnZURhdGEoZGF0YSwgc291cmNlKSB7XG4gICAgICB2YXIgYml0bWFzayA9IGRhdGFbMV0sXG4gICAgICAgICAgc3JjQml0bWFzayA9IHNvdXJjZVsxXSxcbiAgICAgICAgICBuZXdCaXRtYXNrID0gYml0bWFzayB8IHNyY0JpdG1hc2ssXG4gICAgICAgICAgaXNDb21tb24gPSBuZXdCaXRtYXNrIDwgKFdSQVBfQklORF9GTEFHIHwgV1JBUF9CSU5EX0tFWV9GTEFHIHwgV1JBUF9BUllfRkxBRyk7XG5cbiAgICAgIHZhciBpc0NvbWJvID1cbiAgICAgICAgKChzcmNCaXRtYXNrID09IFdSQVBfQVJZX0ZMQUcpICYmIChiaXRtYXNrID09IFdSQVBfQ1VSUllfRkxBRykpIHx8XG4gICAgICAgICgoc3JjQml0bWFzayA9PSBXUkFQX0FSWV9GTEFHKSAmJiAoYml0bWFzayA9PSBXUkFQX1JFQVJHX0ZMQUcpICYmIChkYXRhWzddLmxlbmd0aCA8PSBzb3VyY2VbOF0pKSB8fFxuICAgICAgICAoKHNyY0JpdG1hc2sgPT0gKFdSQVBfQVJZX0ZMQUcgfCBXUkFQX1JFQVJHX0ZMQUcpKSAmJiAoc291cmNlWzddLmxlbmd0aCA8PSBzb3VyY2VbOF0pICYmIChiaXRtYXNrID09IFdSQVBfQ1VSUllfRkxBRykpO1xuXG4gICAgICAvLyBFeGl0IGVhcmx5IGlmIG1ldGFkYXRhIGNhbid0IGJlIG1lcmdlZC5cbiAgICAgIGlmICghKGlzQ29tbW9uIHx8IGlzQ29tYm8pKSB7XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgfVxuICAgICAgLy8gVXNlIHNvdXJjZSBgdGhpc0FyZ2AgaWYgYXZhaWxhYmxlLlxuICAgICAgaWYgKHNyY0JpdG1hc2sgJiBXUkFQX0JJTkRfRkxBRykge1xuICAgICAgICBkYXRhWzJdID0gc291cmNlWzJdO1xuICAgICAgICAvLyBTZXQgd2hlbiBjdXJyeWluZyBhIGJvdW5kIGZ1bmN0aW9uLlxuICAgICAgICBuZXdCaXRtYXNrIHw9IGJpdG1hc2sgJiBXUkFQX0JJTkRfRkxBRyA/IDAgOiBXUkFQX0NVUlJZX0JPVU5EX0ZMQUc7XG4gICAgICB9XG4gICAgICAvLyBDb21wb3NlIHBhcnRpYWwgYXJndW1lbnRzLlxuICAgICAgdmFyIHZhbHVlID0gc291cmNlWzNdO1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHZhciBwYXJ0aWFscyA9IGRhdGFbM107XG4gICAgICAgIGRhdGFbM10gPSBwYXJ0aWFscyA/IGNvbXBvc2VBcmdzKHBhcnRpYWxzLCB2YWx1ZSwgc291cmNlWzRdKSA6IHZhbHVlO1xuICAgICAgICBkYXRhWzRdID0gcGFydGlhbHMgPyByZXBsYWNlSG9sZGVycyhkYXRhWzNdLCBQTEFDRUhPTERFUikgOiBzb3VyY2VbNF07XG4gICAgICB9XG4gICAgICAvLyBDb21wb3NlIHBhcnRpYWwgcmlnaHQgYXJndW1lbnRzLlxuICAgICAgdmFsdWUgPSBzb3VyY2VbNV07XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcGFydGlhbHMgPSBkYXRhWzVdO1xuICAgICAgICBkYXRhWzVdID0gcGFydGlhbHMgPyBjb21wb3NlQXJnc1JpZ2h0KHBhcnRpYWxzLCB2YWx1ZSwgc291cmNlWzZdKSA6IHZhbHVlO1xuICAgICAgICBkYXRhWzZdID0gcGFydGlhbHMgPyByZXBsYWNlSG9sZGVycyhkYXRhWzVdLCBQTEFDRUhPTERFUikgOiBzb3VyY2VbNl07XG4gICAgICB9XG4gICAgICAvLyBVc2Ugc291cmNlIGBhcmdQb3NgIGlmIGF2YWlsYWJsZS5cbiAgICAgIHZhbHVlID0gc291cmNlWzddO1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIGRhdGFbN10gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIC8vIFVzZSBzb3VyY2UgYGFyeWAgaWYgaXQncyBzbWFsbGVyLlxuICAgICAgaWYgKHNyY0JpdG1hc2sgJiBXUkFQX0FSWV9GTEFHKSB7XG4gICAgICAgIGRhdGFbOF0gPSBkYXRhWzhdID09IG51bGwgPyBzb3VyY2VbOF0gOiBuYXRpdmVNaW4oZGF0YVs4XSwgc291cmNlWzhdKTtcbiAgICAgIH1cbiAgICAgIC8vIFVzZSBzb3VyY2UgYGFyaXR5YCBpZiBvbmUgaXMgbm90IHByb3ZpZGVkLlxuICAgICAgaWYgKGRhdGFbOV0gPT0gbnVsbCkge1xuICAgICAgICBkYXRhWzldID0gc291cmNlWzldO1xuICAgICAgfVxuICAgICAgLy8gVXNlIHNvdXJjZSBgZnVuY2AgYW5kIG1lcmdlIGJpdG1hc2tzLlxuICAgICAgZGF0YVswXSA9IHNvdXJjZVswXTtcbiAgICAgIGRhdGFbMV0gPSBuZXdCaXRtYXNrO1xuXG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGxpa2VcbiAgICAgKiBbYE9iamVjdC5rZXlzYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtb2JqZWN0LmtleXMpXG4gICAgICogZXhjZXB0IHRoYXQgaXQgaW5jbHVkZXMgaW5oZXJpdGVkIGVudW1lcmFibGUgcHJvcGVydGllcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gbmF0aXZlS2V5c0luKG9iamVjdCkge1xuICAgICAgdmFyIHJlc3VsdCA9IFtdO1xuICAgICAgaWYgKG9iamVjdCAhPSBudWxsKSB7XG4gICAgICAgIGZvciAodmFyIGtleSBpbiBPYmplY3Qob2JqZWN0KSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHZhbHVlYCB0byBhIHN0cmluZyB1c2luZyBgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZ2AuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgY29udmVydGVkIHN0cmluZy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBvYmplY3RUb1N0cmluZyh2YWx1ZSkge1xuICAgICAgcmV0dXJuIG5hdGl2ZU9iamVjdFRvU3RyaW5nLmNhbGwodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZVJlc3RgIHdoaWNoIHRyYW5zZm9ybXMgdGhlIHJlc3QgYXJyYXkuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IGEgcmVzdCBwYXJhbWV0ZXIgdG8uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtzdGFydD1mdW5jLmxlbmd0aC0xXSBUaGUgc3RhcnQgcG9zaXRpb24gb2YgdGhlIHJlc3QgcGFyYW1ldGVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHRyYW5zZm9ybSBUaGUgcmVzdCBhcnJheSB0cmFuc2Zvcm0uXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gb3ZlclJlc3QoZnVuYywgc3RhcnQsIHRyYW5zZm9ybSkge1xuICAgICAgc3RhcnQgPSBuYXRpdmVNYXgoc3RhcnQgPT09IHVuZGVmaW5lZCA/IChmdW5jLmxlbmd0aCAtIDEpIDogc3RhcnQsIDApO1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgYXJncyA9IGFyZ3VtZW50cyxcbiAgICAgICAgICAgIGluZGV4ID0gLTEsXG4gICAgICAgICAgICBsZW5ndGggPSBuYXRpdmVNYXgoYXJncy5sZW5ndGggLSBzdGFydCwgMCksXG4gICAgICAgICAgICBhcnJheSA9IEFycmF5KGxlbmd0aCk7XG5cbiAgICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICBhcnJheVtpbmRleF0gPSBhcmdzW3N0YXJ0ICsgaW5kZXhdO1xuICAgICAgICB9XG4gICAgICAgIGluZGV4ID0gLTE7XG4gICAgICAgIHZhciBvdGhlckFyZ3MgPSBBcnJheShzdGFydCArIDEpO1xuICAgICAgICB3aGlsZSAoKytpbmRleCA8IHN0YXJ0KSB7XG4gICAgICAgICAgb3RoZXJBcmdzW2luZGV4XSA9IGFyZ3NbaW5kZXhdO1xuICAgICAgICB9XG4gICAgICAgIG90aGVyQXJnc1tzdGFydF0gPSB0cmFuc2Zvcm0oYXJyYXkpO1xuICAgICAgICByZXR1cm4gYXBwbHkoZnVuYywgdGhpcywgb3RoZXJBcmdzKTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgcGFyZW50IHZhbHVlIGF0IGBwYXRoYCBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IHBhdGggVGhlIHBhdGggdG8gZ2V0IHRoZSBwYXJlbnQgdmFsdWUgb2YuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHBhcmVudCB2YWx1ZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBwYXJlbnQob2JqZWN0LCBwYXRoKSB7XG4gICAgICByZXR1cm4gcGF0aC5sZW5ndGggPCAyID8gb2JqZWN0IDogYmFzZUdldChvYmplY3QsIGJhc2VTbGljZShwYXRoLCAwLCAtMSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlb3JkZXIgYGFycmF5YCBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmllZCBpbmRleGVzIHdoZXJlIHRoZSBlbGVtZW50IGF0XG4gICAgICogdGhlIGZpcnN0IGluZGV4IGlzIGFzc2lnbmVkIGFzIHRoZSBmaXJzdCBlbGVtZW50LCB0aGUgZWxlbWVudCBhdFxuICAgICAqIHRoZSBzZWNvbmQgaW5kZXggaXMgYXNzaWduZWQgYXMgdGhlIHNlY29uZCBlbGVtZW50LCBhbmQgc28gb24uXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byByZW9yZGVyLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGluZGV4ZXMgVGhlIGFycmFuZ2VkIGFycmF5IGluZGV4ZXMuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBhcnJheWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gcmVvcmRlcihhcnJheSwgaW5kZXhlcykge1xuICAgICAgdmFyIGFyckxlbmd0aCA9IGFycmF5Lmxlbmd0aCxcbiAgICAgICAgICBsZW5ndGggPSBuYXRpdmVNaW4oaW5kZXhlcy5sZW5ndGgsIGFyckxlbmd0aCksXG4gICAgICAgICAgb2xkQXJyYXkgPSBjb3B5QXJyYXkoYXJyYXkpO1xuXG4gICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgdmFyIGluZGV4ID0gaW5kZXhlc1tsZW5ndGhdO1xuICAgICAgICBhcnJheVtsZW5ndGhdID0gaXNJbmRleChpbmRleCwgYXJyTGVuZ3RoKSA/IG9sZEFycmF5W2luZGV4XSA6IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhcnJheTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB2YWx1ZSBhdCBga2V5YCwgdW5sZXNzIGBrZXlgIGlzIFwiX19wcm90b19fXCIgb3IgXCJjb25zdHJ1Y3RvclwiLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHByb3BlcnR5IHZhbHVlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNhZmVHZXQob2JqZWN0LCBrZXkpIHtcbiAgICAgIGlmIChrZXkgPT09ICdjb25zdHJ1Y3RvcicgJiYgdHlwZW9mIG9iamVjdFtrZXldID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGtleSA9PSAnX19wcm90b19fJykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvYmplY3Rba2V5XTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIG1ldGFkYXRhIGZvciBgZnVuY2AuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogSWYgdGhpcyBmdW5jdGlvbiBiZWNvbWVzIGhvdCwgaS5lLiBpcyBpbnZva2VkIGEgbG90IGluIGEgc2hvcnRcbiAgICAgKiBwZXJpb2Qgb2YgdGltZSwgaXQgd2lsbCB0cmlwIGl0cyBicmVha2VyIGFuZCB0cmFuc2l0aW9uIHRvIGFuIGlkZW50aXR5XG4gICAgICogZnVuY3Rpb24gdG8gYXZvaWQgZ2FyYmFnZSBjb2xsZWN0aW9uIHBhdXNlcyBpbiBWOC4gU2VlXG4gICAgICogW1Y4IGlzc3VlIDIwNzBdKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTIwNzApXG4gICAgICogZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gYXNzb2NpYXRlIG1ldGFkYXRhIHdpdGguXG4gICAgICogQHBhcmFtIHsqfSBkYXRhIFRoZSBtZXRhZGF0YS5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgYGZ1bmNgLlxuICAgICAqL1xuICAgIHZhciBzZXREYXRhID0gc2hvcnRPdXQoYmFzZVNldERhdGEpO1xuXG4gICAgLyoqXG4gICAgICogQSBzaW1wbGUgd3JhcHBlciBhcm91bmQgdGhlIGdsb2JhbCBbYHNldFRpbWVvdXRgXShodHRwczovL21kbi5pby9zZXRUaW1lb3V0KS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gZGVsYXkuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHdhaXQgVGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gZGVsYXkgaW52b2NhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfE9iamVjdH0gUmV0dXJucyB0aGUgdGltZXIgaWQgb3IgdGltZW91dCBvYmplY3QuXG4gICAgICovXG4gICAgdmFyIHNldFRpbWVvdXQgPSBjdHhTZXRUaW1lb3V0IHx8IGZ1bmN0aW9uKGZ1bmMsIHdhaXQpIHtcbiAgICAgIHJldHVybiByb290LnNldFRpbWVvdXQoZnVuYywgd2FpdCk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGB0b1N0cmluZ2AgbWV0aG9kIG9mIGBmdW5jYCB0byByZXR1cm4gYHN0cmluZ2AuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBzdHJpbmcgVGhlIGB0b1N0cmluZ2AgcmVzdWx0LlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyBgZnVuY2AuXG4gICAgICovXG4gICAgdmFyIHNldFRvU3RyaW5nID0gc2hvcnRPdXQoYmFzZVNldFRvU3RyaW5nKTtcblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGB0b1N0cmluZ2AgbWV0aG9kIG9mIGB3cmFwcGVyYCB0byBtaW1pYyB0aGUgc291cmNlIG9mIGByZWZlcmVuY2VgXG4gICAgICogd2l0aCB3cmFwcGVyIGRldGFpbHMgaW4gYSBjb21tZW50IGF0IHRoZSB0b3Agb2YgdGhlIHNvdXJjZSBib2R5LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSB3cmFwcGVyIFRoZSBmdW5jdGlvbiB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gcmVmZXJlbmNlIFRoZSByZWZlcmVuY2UgZnVuY3Rpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJpdG1hc2sgVGhlIGJpdG1hc2sgZmxhZ3MuIFNlZSBgY3JlYXRlV3JhcGAgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgYHdyYXBwZXJgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNldFdyYXBUb1N0cmluZyh3cmFwcGVyLCByZWZlcmVuY2UsIGJpdG1hc2spIHtcbiAgICAgIHZhciBzb3VyY2UgPSAocmVmZXJlbmNlICsgJycpO1xuICAgICAgcmV0dXJuIHNldFRvU3RyaW5nKHdyYXBwZXIsIGluc2VydFdyYXBEZXRhaWxzKHNvdXJjZSwgdXBkYXRlV3JhcERldGFpbHMoZ2V0V3JhcERldGFpbHMoc291cmNlKSwgYml0bWFzaykpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCdsbCBzaG9ydCBvdXQgYW5kIGludm9rZSBgaWRlbnRpdHlgIGluc3RlYWRcbiAgICAgKiBvZiBgZnVuY2Agd2hlbiBpdCdzIGNhbGxlZCBgSE9UX0NPVU5UYCBvciBtb3JlIHRpbWVzIGluIGBIT1RfU1BBTmBcbiAgICAgKiBtaWxsaXNlY29uZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHJlc3RyaWN0LlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHNob3J0YWJsZSBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzaG9ydE91dChmdW5jKSB7XG4gICAgICB2YXIgY291bnQgPSAwLFxuICAgICAgICAgIGxhc3RDYWxsZWQgPSAwO1xuXG4gICAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBzdGFtcCA9IG5hdGl2ZU5vdygpLFxuICAgICAgICAgICAgcmVtYWluaW5nID0gSE9UX1NQQU4gLSAoc3RhbXAgLSBsYXN0Q2FsbGVkKTtcblxuICAgICAgICBsYXN0Q2FsbGVkID0gc3RhbXA7XG4gICAgICAgIGlmIChyZW1haW5pbmcgPiAwKSB7XG4gICAgICAgICAgaWYgKCsrY291bnQgPj0gSE9UX0NPVU5UKSB7XG4gICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzWzBdO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb3VudCA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZ1bmMuYXBwbHkodW5kZWZpbmVkLCBhcmd1bWVudHMpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYF8uc2h1ZmZsZWAgd2hpY2ggbXV0YXRlcyBhbmQgc2V0cyB0aGUgc2l6ZSBvZiBgYXJyYXlgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gc2h1ZmZsZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3NpemU9YXJyYXkubGVuZ3RoXSBUaGUgc2l6ZSBvZiBgYXJyYXlgLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNodWZmbGVTZWxmKGFycmF5LCBzaXplKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBhcnJheS5sZW5ndGgsXG4gICAgICAgICAgbGFzdEluZGV4ID0gbGVuZ3RoIC0gMTtcblxuICAgICAgc2l6ZSA9IHNpemUgPT09IHVuZGVmaW5lZCA/IGxlbmd0aCA6IHNpemU7XG4gICAgICB3aGlsZSAoKytpbmRleCA8IHNpemUpIHtcbiAgICAgICAgdmFyIHJhbmQgPSBiYXNlUmFuZG9tKGluZGV4LCBsYXN0SW5kZXgpLFxuICAgICAgICAgICAgdmFsdWUgPSBhcnJheVtyYW5kXTtcblxuICAgICAgICBhcnJheVtyYW5kXSA9IGFycmF5W2luZGV4XTtcbiAgICAgICAgYXJyYXlbaW5kZXhdID0gdmFsdWU7XG4gICAgICB9XG4gICAgICBhcnJheS5sZW5ndGggPSBzaXplO1xuICAgICAgcmV0dXJuIGFycmF5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGBzdHJpbmdgIHRvIGEgcHJvcGVydHkgcGF0aCBhcnJheS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZyBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBwcm9wZXJ0eSBwYXRoIGFycmF5LlxuICAgICAqL1xuICAgIHZhciBzdHJpbmdUb1BhdGggPSBtZW1vaXplQ2FwcGVkKGZ1bmN0aW9uKHN0cmluZykge1xuICAgICAgdmFyIHJlc3VsdCA9IFtdO1xuICAgICAgaWYgKHN0cmluZy5jaGFyQ29kZUF0KDApID09PSA0NiAvKiAuICovKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKCcnKTtcbiAgICAgIH1cbiAgICAgIHN0cmluZy5yZXBsYWNlKHJlUHJvcE5hbWUsIGZ1bmN0aW9uKG1hdGNoLCBudW1iZXIsIHF1b3RlLCBzdWJTdHJpbmcpIHtcbiAgICAgICAgcmVzdWx0LnB1c2gocXVvdGUgPyBzdWJTdHJpbmcucmVwbGFjZShyZUVzY2FwZUNoYXIsICckMScpIDogKG51bWJlciB8fCBtYXRjaCkpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHZhbHVlYCB0byBhIHN0cmluZyBrZXkgaWYgaXQncyBub3QgYSBzdHJpbmcgb3Igc3ltYm9sLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBpbnNwZWN0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd8c3ltYm9sfSBSZXR1cm5zIHRoZSBrZXkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gdG9LZXkodmFsdWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gJ3N0cmluZycgfHwgaXNTeW1ib2wodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHZhciByZXN1bHQgPSAodmFsdWUgKyAnJyk7XG4gICAgICByZXR1cm4gKHJlc3VsdCA9PSAnMCcgJiYgKDEgLyB2YWx1ZSkgPT0gLUlORklOSVRZKSA/ICctMCcgOiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYGZ1bmNgIHRvIGl0cyBzb3VyY2UgY29kZS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBzb3VyY2UgY29kZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0b1NvdXJjZShmdW5jKSB7XG4gICAgICBpZiAoZnVuYyAhPSBudWxsKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmV0dXJuIGZ1bmNUb1N0cmluZy5jYWxsKGZ1bmMpO1xuICAgICAgICB9IGNhdGNoIChlKSB7fVxuICAgICAgICB0cnkge1xuICAgICAgICAgIHJldHVybiAoZnVuYyArICcnKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge31cbiAgICAgIH1cbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHdyYXBwZXIgYGRldGFpbHNgIGJhc2VkIG9uIGBiaXRtYXNrYCBmbGFncy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHJldHVybnMge0FycmF5fSBkZXRhaWxzIFRoZSBkZXRhaWxzIHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy4gU2VlIGBjcmVhdGVXcmFwYCBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgZGV0YWlsc2AuXG4gICAgICovXG4gICAgZnVuY3Rpb24gdXBkYXRlV3JhcERldGFpbHMoZGV0YWlscywgYml0bWFzaykge1xuICAgICAgYXJyYXlFYWNoKHdyYXBGbGFncywgZnVuY3Rpb24ocGFpcikge1xuICAgICAgICB2YXIgdmFsdWUgPSAnXy4nICsgcGFpclswXTtcbiAgICAgICAgaWYgKChiaXRtYXNrICYgcGFpclsxXSkgJiYgIWFycmF5SW5jbHVkZXMoZGV0YWlscywgdmFsdWUpKSB7XG4gICAgICAgICAgZGV0YWlscy5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZGV0YWlscy5zb3J0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGNsb25lIG9mIGB3cmFwcGVyYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHdyYXBwZXIgVGhlIHdyYXBwZXIgdG8gY2xvbmUuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgY2xvbmVkIHdyYXBwZXIuXG4gICAgICovXG4gICAgZnVuY3Rpb24gd3JhcHBlckNsb25lKHdyYXBwZXIpIHtcbiAgICAgIGlmICh3cmFwcGVyIGluc3RhbmNlb2YgTGF6eVdyYXBwZXIpIHtcbiAgICAgICAgcmV0dXJuIHdyYXBwZXIuY2xvbmUoKTtcbiAgICAgIH1cbiAgICAgIHZhciByZXN1bHQgPSBuZXcgTG9kYXNoV3JhcHBlcih3cmFwcGVyLl9fd3JhcHBlZF9fLCB3cmFwcGVyLl9fY2hhaW5fXyk7XG4gICAgICByZXN1bHQuX19hY3Rpb25zX18gPSBjb3B5QXJyYXkod3JhcHBlci5fX2FjdGlvbnNfXyk7XG4gICAgICByZXN1bHQuX19pbmRleF9fICA9IHdyYXBwZXIuX19pbmRleF9fO1xuICAgICAgcmVzdWx0Ll9fdmFsdWVzX18gPSB3cmFwcGVyLl9fdmFsdWVzX187XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgZWxlbWVudHMgc3BsaXQgaW50byBncm91cHMgdGhlIGxlbmd0aCBvZiBgc2l6ZWAuXG4gICAgICogSWYgYGFycmF5YCBjYW4ndCBiZSBzcGxpdCBldmVubHksIHRoZSBmaW5hbCBjaHVuayB3aWxsIGJlIHRoZSByZW1haW5pbmdcbiAgICAgKiBlbGVtZW50cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBwcm9jZXNzLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbc2l6ZT0xXSBUaGUgbGVuZ3RoIG9mIGVhY2ggY2h1bmtcbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGNodW5rcy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5jaHVuayhbJ2EnLCAnYicsICdjJywgJ2QnXSwgMik7XG4gICAgICogLy8gPT4gW1snYScsICdiJ10sIFsnYycsICdkJ11dXG4gICAgICpcbiAgICAgKiBfLmNodW5rKFsnYScsICdiJywgJ2MnLCAnZCddLCAzKTtcbiAgICAgKiAvLyA9PiBbWydhJywgJ2InLCAnYyddLCBbJ2QnXV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjaHVuayhhcnJheSwgc2l6ZSwgZ3VhcmQpIHtcbiAgICAgIGlmICgoZ3VhcmQgPyBpc0l0ZXJhdGVlQ2FsbChhcnJheSwgc2l6ZSwgZ3VhcmQpIDogc2l6ZSA9PT0gdW5kZWZpbmVkKSkge1xuICAgICAgICBzaXplID0gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNpemUgPSBuYXRpdmVNYXgodG9JbnRlZ2VyKHNpemUpLCAwKTtcbiAgICAgIH1cbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgIGlmICghbGVuZ3RoIHx8IHNpemUgPCAxKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIHZhciBpbmRleCA9IDAsXG4gICAgICAgICAgcmVzSW5kZXggPSAwLFxuICAgICAgICAgIHJlc3VsdCA9IEFycmF5KG5hdGl2ZUNlaWwobGVuZ3RoIC8gc2l6ZSkpO1xuXG4gICAgICB3aGlsZSAoaW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgcmVzdWx0W3Jlc0luZGV4KytdID0gYmFzZVNsaWNlKGFycmF5LCBpbmRleCwgKGluZGV4ICs9IHNpemUpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSB3aXRoIGFsbCBmYWxzZXkgdmFsdWVzIHJlbW92ZWQuIFRoZSB2YWx1ZXMgYGZhbHNlYCwgYG51bGxgLFxuICAgICAqIGAwYCwgYFwiXCJgLCBgdW5kZWZpbmVkYCwgYW5kIGBOYU5gIGFyZSBmYWxzZXkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gY29tcGFjdC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBmaWx0ZXJlZCB2YWx1ZXMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uY29tcGFjdChbMCwgMSwgZmFsc2UsIDIsICcnLCAzXSk7XG4gICAgICogLy8gPT4gWzEsIDIsIDNdXG4gICAgICovXG4gICAgZnVuY3Rpb24gY29tcGFjdChhcnJheSkge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGgsXG4gICAgICAgICAgcmVzSW5kZXggPSAwLFxuICAgICAgICAgIHJlc3VsdCA9IFtdO1xuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF07XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIHJlc3VsdFtyZXNJbmRleCsrXSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBuZXcgYXJyYXkgY29uY2F0ZW5hdGluZyBgYXJyYXlgIHdpdGggYW55IGFkZGl0aW9uYWwgYXJyYXlzXG4gICAgICogYW5kL29yIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBjb25jYXRlbmF0ZS5cbiAgICAgKiBAcGFyYW0gey4uLip9IFt2YWx1ZXNdIFRoZSB2YWx1ZXMgdG8gY29uY2F0ZW5hdGUuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgY29uY2F0ZW5hdGVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBbMV07XG4gICAgICogdmFyIG90aGVyID0gXy5jb25jYXQoYXJyYXksIDIsIFszXSwgW1s0XV0pO1xuICAgICAqXG4gICAgICogY29uc29sZS5sb2cob3RoZXIpO1xuICAgICAqIC8vID0+IFsxLCAyLCAzLCBbNF1dXG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhhcnJheSk7XG4gICAgICogLy8gPT4gWzFdXG4gICAgICovXG4gICAgZnVuY3Rpb24gY29uY2F0KCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICB2YXIgYXJncyA9IEFycmF5KGxlbmd0aCAtIDEpLFxuICAgICAgICAgIGFycmF5ID0gYXJndW1lbnRzWzBdLFxuICAgICAgICAgIGluZGV4ID0gbGVuZ3RoO1xuXG4gICAgICB3aGlsZSAoaW5kZXgtLSkge1xuICAgICAgICBhcmdzW2luZGV4IC0gMV0gPSBhcmd1bWVudHNbaW5kZXhdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFycmF5UHVzaChpc0FycmF5KGFycmF5KSA/IGNvcHlBcnJheShhcnJheSkgOiBbYXJyYXldLCBiYXNlRmxhdHRlbihhcmdzLCAxKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiBgYXJyYXlgIHZhbHVlcyBub3QgaW5jbHVkZWQgaW4gdGhlIG90aGVyIGdpdmVuIGFycmF5c1xuICAgICAqIHVzaW5nIFtgU2FtZVZhbHVlWmVyb2BdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXNhbWV2YWx1ZXplcm8pXG4gICAgICogZm9yIGVxdWFsaXR5IGNvbXBhcmlzb25zLiBUaGUgb3JkZXIgYW5kIHJlZmVyZW5jZXMgb2YgcmVzdWx0IHZhbHVlcyBhcmVcbiAgICAgKiBkZXRlcm1pbmVkIGJ5IHRoZSBmaXJzdCBhcnJheS5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBVbmxpa2UgYF8ucHVsbEFsbGAsIHRoaXMgbWV0aG9kIHJldHVybnMgYSBuZXcgYXJyYXkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0gey4uLkFycmF5fSBbdmFsdWVzXSBUaGUgdmFsdWVzIHRvIGV4Y2x1ZGUuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgZmlsdGVyZWQgdmFsdWVzLlxuICAgICAqIEBzZWUgXy53aXRob3V0LCBfLnhvclxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmRpZmZlcmVuY2UoWzIsIDFdLCBbMiwgM10pO1xuICAgICAqIC8vID0+IFsxXVxuICAgICAqL1xuICAgIHZhciBkaWZmZXJlbmNlID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJyYXksIHZhbHVlcykge1xuICAgICAgcmV0dXJuIGlzQXJyYXlMaWtlT2JqZWN0KGFycmF5KVxuICAgICAgICA/IGJhc2VEaWZmZXJlbmNlKGFycmF5LCBiYXNlRmxhdHRlbih2YWx1ZXMsIDEsIGlzQXJyYXlMaWtlT2JqZWN0LCB0cnVlKSlcbiAgICAgICAgOiBbXTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uZGlmZmVyZW5jZWAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgaXRlcmF0ZWVgIHdoaWNoXG4gICAgICogaXMgaW52b2tlZCBmb3IgZWFjaCBlbGVtZW50IG9mIGBhcnJheWAgYW5kIGB2YWx1ZXNgIHRvIGdlbmVyYXRlIHRoZSBjcml0ZXJpb25cbiAgICAgKiBieSB3aGljaCB0aGV5J3JlIGNvbXBhcmVkLiBUaGUgb3JkZXIgYW5kIHJlZmVyZW5jZXMgb2YgcmVzdWx0IHZhbHVlcyBhcmVcbiAgICAgKiBkZXRlcm1pbmVkIGJ5IHRoZSBmaXJzdCBhcnJheS4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6XG4gICAgICogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBVbmxpa2UgYF8ucHVsbEFsbEJ5YCwgdGhpcyBtZXRob2QgcmV0dXJucyBhIG5ldyBhcnJheS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFt2YWx1ZXNdIFRoZSB2YWx1ZXMgdG8gZXhjbHVkZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgZmlsdGVyZWQgdmFsdWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmRpZmZlcmVuY2VCeShbMi4xLCAxLjJdLCBbMi4zLCAzLjRdLCBNYXRoLmZsb29yKTtcbiAgICAgKiAvLyA9PiBbMS4yXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5kaWZmZXJlbmNlQnkoW3sgJ3gnOiAyIH0sIHsgJ3gnOiAxIH1dLCBbeyAneCc6IDEgfV0sICd4Jyk7XG4gICAgICogLy8gPT4gW3sgJ3gnOiAyIH1dXG4gICAgICovXG4gICAgdmFyIGRpZmZlcmVuY2VCeSA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5LCB2YWx1ZXMpIHtcbiAgICAgIHZhciBpdGVyYXRlZSA9IGxhc3QodmFsdWVzKTtcbiAgICAgIGlmIChpc0FycmF5TGlrZU9iamVjdChpdGVyYXRlZSkpIHtcbiAgICAgICAgaXRlcmF0ZWUgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gaXNBcnJheUxpa2VPYmplY3QoYXJyYXkpXG4gICAgICAgID8gYmFzZURpZmZlcmVuY2UoYXJyYXksIGJhc2VGbGF0dGVuKHZhbHVlcywgMSwgaXNBcnJheUxpa2VPYmplY3QsIHRydWUpLCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMikpXG4gICAgICAgIDogW107XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmRpZmZlcmVuY2VgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGNvbXBhcmF0b3JgXG4gICAgICogd2hpY2ggaXMgaW52b2tlZCB0byBjb21wYXJlIGVsZW1lbnRzIG9mIGBhcnJheWAgdG8gYHZhbHVlc2AuIFRoZSBvcmRlciBhbmRcbiAgICAgKiByZWZlcmVuY2VzIG9mIHJlc3VsdCB2YWx1ZXMgYXJlIGRldGVybWluZWQgYnkgdGhlIGZpcnN0IGFycmF5LiBUaGUgY29tcGFyYXRvclxuICAgICAqIGlzIGludm9rZWQgd2l0aCB0d28gYXJndW1lbnRzOiAoYXJyVmFsLCBvdGhWYWwpLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFVubGlrZSBgXy5wdWxsQWxsV2l0aGAsIHRoaXMgbWV0aG9kIHJldHVybnMgYSBuZXcgYXJyYXkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0gey4uLkFycmF5fSBbdmFsdWVzXSBUaGUgdmFsdWVzIHRvIGV4Y2x1ZGUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NvbXBhcmF0b3JdIFRoZSBjb21wYXJhdG9yIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgZmlsdGVyZWQgdmFsdWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IFt7ICd4JzogMSwgJ3knOiAyIH0sIHsgJ3gnOiAyLCAneSc6IDEgfV07XG4gICAgICpcbiAgICAgKiBfLmRpZmZlcmVuY2VXaXRoKG9iamVjdHMsIFt7ICd4JzogMSwgJ3knOiAyIH1dLCBfLmlzRXF1YWwpO1xuICAgICAqIC8vID0+IFt7ICd4JzogMiwgJ3knOiAxIH1dXG4gICAgICovXG4gICAgdmFyIGRpZmZlcmVuY2VXaXRoID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJyYXksIHZhbHVlcykge1xuICAgICAgdmFyIGNvbXBhcmF0b3IgPSBsYXN0KHZhbHVlcyk7XG4gICAgICBpZiAoaXNBcnJheUxpa2VPYmplY3QoY29tcGFyYXRvcikpIHtcbiAgICAgICAgY29tcGFyYXRvciA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBpc0FycmF5TGlrZU9iamVjdChhcnJheSlcbiAgICAgICAgPyBiYXNlRGlmZmVyZW5jZShhcnJheSwgYmFzZUZsYXR0ZW4odmFsdWVzLCAxLCBpc0FycmF5TGlrZU9iamVjdCwgdHJ1ZSksIHVuZGVmaW5lZCwgY29tcGFyYXRvcilcbiAgICAgICAgOiBbXTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzbGljZSBvZiBgYXJyYXlgIHdpdGggYG5gIGVsZW1lbnRzIGRyb3BwZWQgZnJvbSB0aGUgYmVnaW5uaW5nLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuNS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbj0xXSBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRyb3AuXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHNsaWNlIG9mIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZHJvcChbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IFsyLCAzXVxuICAgICAqXG4gICAgICogXy5kcm9wKFsxLCAyLCAzXSwgMik7XG4gICAgICogLy8gPT4gWzNdXG4gICAgICpcbiAgICAgKiBfLmRyb3AoWzEsIDIsIDNdLCA1KTtcbiAgICAgKiAvLyA9PiBbXVxuICAgICAqXG4gICAgICogXy5kcm9wKFsxLCAyLCAzXSwgMCk7XG4gICAgICogLy8gPT4gWzEsIDIsIDNdXG4gICAgICovXG4gICAgZnVuY3Rpb24gZHJvcChhcnJheSwgbiwgZ3VhcmQpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIG4gPSAoZ3VhcmQgfHwgbiA9PT0gdW5kZWZpbmVkKSA/IDEgOiB0b0ludGVnZXIobik7XG4gICAgICByZXR1cm4gYmFzZVNsaWNlKGFycmF5LCBuIDwgMCA/IDAgOiBuLCBsZW5ndGgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzbGljZSBvZiBgYXJyYXlgIHdpdGggYG5gIGVsZW1lbnRzIGRyb3BwZWQgZnJvbSB0aGUgZW5kLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbj0xXSBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRyb3AuXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHNsaWNlIG9mIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZHJvcFJpZ2h0KFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gWzEsIDJdXG4gICAgICpcbiAgICAgKiBfLmRyb3BSaWdodChbMSwgMiwgM10sIDIpO1xuICAgICAqIC8vID0+IFsxXVxuICAgICAqXG4gICAgICogXy5kcm9wUmlnaHQoWzEsIDIsIDNdLCA1KTtcbiAgICAgKiAvLyA9PiBbXVxuICAgICAqXG4gICAgICogXy5kcm9wUmlnaHQoWzEsIDIsIDNdLCAwKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBkcm9wUmlnaHQoYXJyYXksIG4sIGd1YXJkKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICBuID0gKGd1YXJkIHx8IG4gPT09IHVuZGVmaW5lZCkgPyAxIDogdG9JbnRlZ2VyKG4pO1xuICAgICAgbiA9IGxlbmd0aCAtIG47XG4gICAgICByZXR1cm4gYmFzZVNsaWNlKGFycmF5LCAwLCBuIDwgMCA/IDAgOiBuKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgc2xpY2Ugb2YgYGFycmF5YCBleGNsdWRpbmcgZWxlbWVudHMgZHJvcHBlZCBmcm9tIHRoZSBlbmQuXG4gICAgICogRWxlbWVudHMgYXJlIGRyb3BwZWQgdW50aWwgYHByZWRpY2F0ZWAgcmV0dXJucyBmYWxzZXkuIFRoZSBwcmVkaWNhdGUgaXNcbiAgICAgKiBpbnZva2VkIHdpdGggdGhyZWUgYXJndW1lbnRzOiAodmFsdWUsIGluZGV4LCBhcnJheSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgc2xpY2Ugb2YgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0gW1xuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknLCAgJ2FjdGl2ZSc6IHRydWUgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdwZWJibGVzJywgJ2FjdGl2ZSc6IGZhbHNlIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogXy5kcm9wUmlnaHRXaGlsZSh1c2VycywgZnVuY3Rpb24obykgeyByZXR1cm4gIW8uYWN0aXZlOyB9KTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2Jhcm5leSddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc2AgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZHJvcFJpZ2h0V2hpbGUodXNlcnMsIHsgJ3VzZXInOiAncGViYmxlcycsICdhY3RpdmUnOiBmYWxzZSB9KTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2Jhcm5leScsICdmcmVkJ11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzUHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmRyb3BSaWdodFdoaWxlKHVzZXJzLCBbJ2FjdGl2ZScsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydiYXJuZXknXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5kcm9wUmlnaHRXaGlsZSh1c2VycywgJ2FjdGl2ZScpO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnYmFybmV5JywgJ2ZyZWQnLCAncGViYmxlcyddXG4gICAgICovXG4gICAgZnVuY3Rpb24gZHJvcFJpZ2h0V2hpbGUoYXJyYXksIHByZWRpY2F0ZSkge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGgpXG4gICAgICAgID8gYmFzZVdoaWxlKGFycmF5LCBnZXRJdGVyYXRlZShwcmVkaWNhdGUsIDMpLCB0cnVlLCB0cnVlKVxuICAgICAgICA6IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzbGljZSBvZiBgYXJyYXlgIGV4Y2x1ZGluZyBlbGVtZW50cyBkcm9wcGVkIGZyb20gdGhlIGJlZ2lubmluZy5cbiAgICAgKiBFbGVtZW50cyBhcmUgZHJvcHBlZCB1bnRpbCBgcHJlZGljYXRlYCByZXR1cm5zIGZhbHNleS4gVGhlIHByZWRpY2F0ZSBpc1xuICAgICAqIGludm9rZWQgd2l0aCB0aHJlZSBhcmd1bWVudHM6ICh2YWx1ZSwgaW5kZXgsIGFycmF5KS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBzbGljZSBvZiBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICAnYWN0aXZlJzogZmFsc2UgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdwZWJibGVzJywgJ2FjdGl2ZSc6IHRydWUgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLmRyb3BXaGlsZSh1c2VycywgZnVuY3Rpb24obykgeyByZXR1cm4gIW8uYWN0aXZlOyB9KTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ3BlYmJsZXMnXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmRyb3BXaGlsZSh1c2VycywgeyAndXNlcic6ICdiYXJuZXknLCAnYWN0aXZlJzogZmFsc2UgfSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydmcmVkJywgJ3BlYmJsZXMnXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZHJvcFdoaWxlKHVzZXJzLCBbJ2FjdGl2ZScsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydwZWJibGVzJ11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZHJvcFdoaWxlKHVzZXJzLCAnYWN0aXZlJyk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydiYXJuZXknLCAnZnJlZCcsICdwZWJibGVzJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBkcm9wV2hpbGUoYXJyYXksIHByZWRpY2F0ZSkge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGgpXG4gICAgICAgID8gYmFzZVdoaWxlKGFycmF5LCBnZXRJdGVyYXRlZShwcmVkaWNhdGUsIDMpLCB0cnVlKVxuICAgICAgICA6IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZpbGxzIGVsZW1lbnRzIG9mIGBhcnJheWAgd2l0aCBgdmFsdWVgIGZyb20gYHN0YXJ0YCB1cCB0bywgYnV0IG5vdFxuICAgICAqIGluY2x1ZGluZywgYGVuZGAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgbXV0YXRlcyBgYXJyYXlgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMi4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGZpbGwuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gZmlsbCBgYXJyYXlgIHdpdGguXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtzdGFydD0wXSBUaGUgc3RhcnQgcG9zaXRpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtlbmQ9YXJyYXkubGVuZ3RoXSBUaGUgZW5kIHBvc2l0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBbMSwgMiwgM107XG4gICAgICpcbiAgICAgKiBfLmZpbGwoYXJyYXksICdhJyk7XG4gICAgICogY29uc29sZS5sb2coYXJyYXkpO1xuICAgICAqIC8vID0+IFsnYScsICdhJywgJ2EnXVxuICAgICAqXG4gICAgICogXy5maWxsKEFycmF5KDMpLCAyKTtcbiAgICAgKiAvLyA9PiBbMiwgMiwgMl1cbiAgICAgKlxuICAgICAqIF8uZmlsbChbNCwgNiwgOCwgMTBdLCAnKicsIDEsIDMpO1xuICAgICAqIC8vID0+IFs0LCAnKicsICcqJywgMTBdXG4gICAgICovXG4gICAgZnVuY3Rpb24gZmlsbChhcnJheSwgdmFsdWUsIHN0YXJ0LCBlbmQpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIGlmIChzdGFydCAmJiB0eXBlb2Ygc3RhcnQgIT0gJ251bWJlcicgJiYgaXNJdGVyYXRlZUNhbGwoYXJyYXksIHZhbHVlLCBzdGFydCkpIHtcbiAgICAgICAgc3RhcnQgPSAwO1xuICAgICAgICBlbmQgPSBsZW5ndGg7XG4gICAgICB9XG4gICAgICByZXR1cm4gYmFzZUZpbGwoYXJyYXksIHZhbHVlLCBzdGFydCwgZW5kKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmZpbmRgIGV4Y2VwdCB0aGF0IGl0IHJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBmaXJzdFxuICAgICAqIGVsZW1lbnQgYHByZWRpY2F0ZWAgcmV0dXJucyB0cnV0aHkgZm9yIGluc3RlYWQgb2YgdGhlIGVsZW1lbnQgaXRzZWxmLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDEuMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbZnJvbUluZGV4PTBdIFRoZSBpbmRleCB0byBzZWFyY2ggZnJvbS5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgZm91bmQgZWxlbWVudCwgZWxzZSBgLTFgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICAnYWN0aXZlJzogZmFsc2UgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdwZWJibGVzJywgJ2FjdGl2ZSc6IHRydWUgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLmZpbmRJbmRleCh1c2VycywgZnVuY3Rpb24obykgeyByZXR1cm4gby51c2VyID09ICdiYXJuZXknOyB9KTtcbiAgICAgKiAvLyA9PiAwXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc2AgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZEluZGV4KHVzZXJzLCB7ICd1c2VyJzogJ2ZyZWQnLCAnYWN0aXZlJzogZmFsc2UgfSk7XG4gICAgICogLy8gPT4gMVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZEluZGV4KHVzZXJzLCBbJ2FjdGl2ZScsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gMFxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maW5kSW5kZXgodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiAyXG4gICAgICovXG4gICAgZnVuY3Rpb24gZmluZEluZGV4KGFycmF5LCBwcmVkaWNhdGUsIGZyb21JbmRleCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfVxuICAgICAgdmFyIGluZGV4ID0gZnJvbUluZGV4ID09IG51bGwgPyAwIDogdG9JbnRlZ2VyKGZyb21JbmRleCk7XG4gICAgICBpZiAoaW5kZXggPCAwKSB7XG4gICAgICAgIGluZGV4ID0gbmF0aXZlTWF4KGxlbmd0aCArIGluZGV4LCAwKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlRmluZEluZGV4KGFycmF5LCBnZXRJdGVyYXRlZShwcmVkaWNhdGUsIDMpLCBpbmRleCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5maW5kSW5kZXhgIGV4Y2VwdCB0aGF0IGl0IGl0ZXJhdGVzIG92ZXIgZWxlbWVudHNcbiAgICAgKiBvZiBgY29sbGVjdGlvbmAgZnJvbSByaWdodCB0byBsZWZ0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbZnJvbUluZGV4PWFycmF5Lmxlbmd0aC0xXSBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIGZvdW5kIGVsZW1lbnQsIGVsc2UgYC0xYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0gW1xuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknLCAgJ2FjdGl2ZSc6IHRydWUgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdwZWJibGVzJywgJ2FjdGl2ZSc6IGZhbHNlIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogXy5maW5kTGFzdEluZGV4KHVzZXJzLCBmdW5jdGlvbihvKSB7IHJldHVybiBvLnVzZXIgPT0gJ3BlYmJsZXMnOyB9KTtcbiAgICAgKiAvLyA9PiAyXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc2AgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZExhc3RJbmRleCh1c2VycywgeyAndXNlcic6ICdiYXJuZXknLCAnYWN0aXZlJzogdHJ1ZSB9KTtcbiAgICAgKiAvLyA9PiAwXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc1Byb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maW5kTGFzdEluZGV4KHVzZXJzLCBbJ2FjdGl2ZScsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gMlxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maW5kTGFzdEluZGV4KHVzZXJzLCAnYWN0aXZlJyk7XG4gICAgICogLy8gPT4gMFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZpbmRMYXN0SW5kZXgoYXJyYXksIHByZWRpY2F0ZSwgZnJvbUluZGV4KSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9XG4gICAgICB2YXIgaW5kZXggPSBsZW5ndGggLSAxO1xuICAgICAgaWYgKGZyb21JbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGluZGV4ID0gdG9JbnRlZ2VyKGZyb21JbmRleCk7XG4gICAgICAgIGluZGV4ID0gZnJvbUluZGV4IDwgMFxuICAgICAgICAgID8gbmF0aXZlTWF4KGxlbmd0aCArIGluZGV4LCAwKVxuICAgICAgICAgIDogbmF0aXZlTWluKGluZGV4LCBsZW5ndGggLSAxKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlRmluZEluZGV4KGFycmF5LCBnZXRJdGVyYXRlZShwcmVkaWNhdGUsIDMpLCBpbmRleCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmxhdHRlbnMgYGFycmF5YCBhIHNpbmdsZSBsZXZlbCBkZWVwLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGZsYXR0ZW4uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmxhdHRlbmVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmZsYXR0ZW4oWzEsIFsyLCBbMywgWzRdXSwgNV1dKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgWzMsIFs0XV0sIDVdXG4gICAgICovXG4gICAgZnVuY3Rpb24gZmxhdHRlbihhcnJheSkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgcmV0dXJuIGxlbmd0aCA/IGJhc2VGbGF0dGVuKGFycmF5LCAxKSA6IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlY3Vyc2l2ZWx5IGZsYXR0ZW5zIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gZmxhdHRlbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBmbGF0dGVuZWQgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZmxhdHRlbkRlZXAoWzEsIFsyLCBbMywgWzRdXSwgNV1dKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgMywgNCwgNV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmbGF0dGVuRGVlcChhcnJheSkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgcmV0dXJuIGxlbmd0aCA/IGJhc2VGbGF0dGVuKGFycmF5LCBJTkZJTklUWSkgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWN1cnNpdmVseSBmbGF0dGVuIGBhcnJheWAgdXAgdG8gYGRlcHRoYCB0aW1lcy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjQuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBmbGF0dGVuLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbZGVwdGg9MV0gVGhlIG1heGltdW0gcmVjdXJzaW9uIGRlcHRoLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGZsYXR0ZW5lZCBhcnJheS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gWzEsIFsyLCBbMywgWzRdXSwgNV1dO1xuICAgICAqXG4gICAgICogXy5mbGF0dGVuRGVwdGgoYXJyYXksIDEpO1xuICAgICAqIC8vID0+IFsxLCAyLCBbMywgWzRdXSwgNV1cbiAgICAgKlxuICAgICAqIF8uZmxhdHRlbkRlcHRoKGFycmF5LCAyKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgMywgWzRdLCA1XVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZsYXR0ZW5EZXB0aChhcnJheSwgZGVwdGgpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIGRlcHRoID0gZGVwdGggPT09IHVuZGVmaW5lZCA/IDEgOiB0b0ludGVnZXIoZGVwdGgpO1xuICAgICAgcmV0dXJuIGJhc2VGbGF0dGVuKGFycmF5LCBkZXB0aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGludmVyc2Ugb2YgYF8udG9QYWlyc2A7IHRoaXMgbWV0aG9kIHJldHVybnMgYW4gb2JqZWN0IGNvbXBvc2VkXG4gICAgICogZnJvbSBrZXktdmFsdWUgYHBhaXJzYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IHBhaXJzIFRoZSBrZXktdmFsdWUgcGFpcnMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5mcm9tUGFpcnMoW1snYScsIDFdLCBbJ2InLCAyXV0pO1xuICAgICAqIC8vID0+IHsgJ2EnOiAxLCAnYic6IDIgfVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZyb21QYWlycyhwYWlycykge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gcGFpcnMgPT0gbnVsbCA/IDAgOiBwYWlycy5sZW5ndGgsXG4gICAgICAgICAgcmVzdWx0ID0ge307XG5cbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciBwYWlyID0gcGFpcnNbaW5kZXhdO1xuICAgICAgICByZXN1bHRbcGFpclswXV0gPSBwYWlyWzFdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBmaXJzdCBlbGVtZW50IG9mIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAYWxpYXMgZmlyc3RcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGZpcnN0IGVsZW1lbnQgb2YgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5oZWFkKFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gMVxuICAgICAqXG4gICAgICogXy5oZWFkKFtdKTtcbiAgICAgKiAvLyA9PiB1bmRlZmluZWRcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBoZWFkKGFycmF5KSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aCkgPyBhcnJheVswXSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBpbmRleCBhdCB3aGljaCB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiBgdmFsdWVgIGlzIGZvdW5kIGluIGBhcnJheWBcbiAgICAgKiB1c2luZyBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICAgICAqIGZvciBlcXVhbGl0eSBjb21wYXJpc29ucy4gSWYgYGZyb21JbmRleGAgaXMgbmVnYXRpdmUsIGl0J3MgdXNlZCBhcyB0aGVcbiAgICAgKiBvZmZzZXQgZnJvbSB0aGUgZW5kIG9mIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZWFyY2ggZm9yLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbZnJvbUluZGV4PTBdIFRoZSBpbmRleCB0byBzZWFyY2ggZnJvbS5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgbWF0Y2hlZCB2YWx1ZSwgZWxzZSBgLTFgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmluZGV4T2YoWzEsIDIsIDEsIDJdLCAyKTtcbiAgICAgKiAvLyA9PiAxXG4gICAgICpcbiAgICAgKiAvLyBTZWFyY2ggZnJvbSB0aGUgYGZyb21JbmRleGAuXG4gICAgICogXy5pbmRleE9mKFsxLCAyLCAxLCAyXSwgMiwgMik7XG4gICAgICogLy8gPT4gM1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIGluZGV4T2YoYXJyYXksIHZhbHVlLCBmcm9tSW5kZXgpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiAtMTtcbiAgICAgIH1cbiAgICAgIHZhciBpbmRleCA9IGZyb21JbmRleCA9PSBudWxsID8gMCA6IHRvSW50ZWdlcihmcm9tSW5kZXgpO1xuICAgICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgICBpbmRleCA9IG5hdGl2ZU1heChsZW5ndGggKyBpbmRleCwgMCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYmFzZUluZGV4T2YoYXJyYXksIHZhbHVlLCBpbmRleCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhbGwgYnV0IHRoZSBsYXN0IGVsZW1lbnQgb2YgYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHNsaWNlIG9mIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaW5pdGlhbChbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IFsxLCAyXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGluaXRpYWwoYXJyYXkpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgIHJldHVybiBsZW5ndGggPyBiYXNlU2xpY2UoYXJyYXksIDAsIC0xKSA6IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdW5pcXVlIHZhbHVlcyB0aGF0IGFyZSBpbmNsdWRlZCBpbiBhbGwgZ2l2ZW4gYXJyYXlzXG4gICAgICogdXNpbmcgW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAgICAgKiBmb3IgZXF1YWxpdHkgY29tcGFyaXNvbnMuIFRoZSBvcmRlciBhbmQgcmVmZXJlbmNlcyBvZiByZXN1bHQgdmFsdWVzIGFyZVxuICAgICAqIGRldGVybWluZWQgYnkgdGhlIGZpcnN0IGFycmF5LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHsuLi5BcnJheX0gW2FycmF5c10gVGhlIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGludGVyc2VjdGluZyB2YWx1ZXMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaW50ZXJzZWN0aW9uKFsyLCAxXSwgWzIsIDNdKTtcbiAgICAgKiAvLyA9PiBbMl1cbiAgICAgKi9cbiAgICB2YXIgaW50ZXJzZWN0aW9uID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKSB7XG4gICAgICB2YXIgbWFwcGVkID0gYXJyYXlNYXAoYXJyYXlzLCBjYXN0QXJyYXlMaWtlT2JqZWN0KTtcbiAgICAgIHJldHVybiAobWFwcGVkLmxlbmd0aCAmJiBtYXBwZWRbMF0gPT09IGFycmF5c1swXSlcbiAgICAgICAgPyBiYXNlSW50ZXJzZWN0aW9uKG1hcHBlZClcbiAgICAgICAgOiBbXTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uaW50ZXJzZWN0aW9uYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWBcbiAgICAgKiB3aGljaCBpcyBpbnZva2VkIGZvciBlYWNoIGVsZW1lbnQgb2YgZWFjaCBgYXJyYXlzYCB0byBnZW5lcmF0ZSB0aGUgY3JpdGVyaW9uXG4gICAgICogYnkgd2hpY2ggdGhleSdyZSBjb21wYXJlZC4gVGhlIG9yZGVyIGFuZCByZWZlcmVuY2VzIG9mIHJlc3VsdCB2YWx1ZXMgYXJlXG4gICAgICogZGV0ZXJtaW5lZCBieSB0aGUgZmlyc3QgYXJyYXkuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OlxuICAgICAqICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0gey4uLkFycmF5fSBbYXJyYXlzXSBUaGUgYXJyYXlzIHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGludGVyc2VjdGluZyB2YWx1ZXMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaW50ZXJzZWN0aW9uQnkoWzIuMSwgMS4yXSwgWzIuMywgMy40XSwgTWF0aC5mbG9vcik7XG4gICAgICogLy8gPT4gWzIuMV1cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uaW50ZXJzZWN0aW9uQnkoW3sgJ3gnOiAxIH1dLCBbeyAneCc6IDIgfSwgeyAneCc6IDEgfV0sICd4Jyk7XG4gICAgICogLy8gPT4gW3sgJ3gnOiAxIH1dXG4gICAgICovXG4gICAgdmFyIGludGVyc2VjdGlvbkJ5ID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKSB7XG4gICAgICB2YXIgaXRlcmF0ZWUgPSBsYXN0KGFycmF5cyksXG4gICAgICAgICAgbWFwcGVkID0gYXJyYXlNYXAoYXJyYXlzLCBjYXN0QXJyYXlMaWtlT2JqZWN0KTtcblxuICAgICAgaWYgKGl0ZXJhdGVlID09PSBsYXN0KG1hcHBlZCkpIHtcbiAgICAgICAgaXRlcmF0ZWUgPSB1bmRlZmluZWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtYXBwZWQucG9wKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gKG1hcHBlZC5sZW5ndGggJiYgbWFwcGVkWzBdID09PSBhcnJheXNbMF0pXG4gICAgICAgID8gYmFzZUludGVyc2VjdGlvbihtYXBwZWQsIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAyKSlcbiAgICAgICAgOiBbXTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uaW50ZXJzZWN0aW9uYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBjb21wYXJhdG9yYFxuICAgICAqIHdoaWNoIGlzIGludm9rZWQgdG8gY29tcGFyZSBlbGVtZW50cyBvZiBgYXJyYXlzYC4gVGhlIG9yZGVyIGFuZCByZWZlcmVuY2VzXG4gICAgICogb2YgcmVzdWx0IHZhbHVlcyBhcmUgZGV0ZXJtaW5lZCBieSB0aGUgZmlyc3QgYXJyYXkuIFRoZSBjb21wYXJhdG9yIGlzXG4gICAgICogaW52b2tlZCB3aXRoIHR3byBhcmd1bWVudHM6IChhcnJWYWwsIG90aFZhbCkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0gey4uLkFycmF5fSBbYXJyYXlzXSBUaGUgYXJyYXlzIHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NvbXBhcmF0b3JdIFRoZSBjb21wYXJhdG9yIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgaW50ZXJzZWN0aW5nIHZhbHVlcy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbeyAneCc6IDEsICd5JzogMiB9LCB7ICd4JzogMiwgJ3knOiAxIH1dO1xuICAgICAqIHZhciBvdGhlcnMgPSBbeyAneCc6IDEsICd5JzogMSB9LCB7ICd4JzogMSwgJ3knOiAyIH1dO1xuICAgICAqXG4gICAgICogXy5pbnRlcnNlY3Rpb25XaXRoKG9iamVjdHMsIG90aGVycywgXy5pc0VxdWFsKTtcbiAgICAgKiAvLyA9PiBbeyAneCc6IDEsICd5JzogMiB9XVxuICAgICAqL1xuICAgIHZhciBpbnRlcnNlY3Rpb25XaXRoID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKSB7XG4gICAgICB2YXIgY29tcGFyYXRvciA9IGxhc3QoYXJyYXlzKSxcbiAgICAgICAgICBtYXBwZWQgPSBhcnJheU1hcChhcnJheXMsIGNhc3RBcnJheUxpa2VPYmplY3QpO1xuXG4gICAgICBjb21wYXJhdG9yID0gdHlwZW9mIGNvbXBhcmF0b3IgPT0gJ2Z1bmN0aW9uJyA/IGNvbXBhcmF0b3IgOiB1bmRlZmluZWQ7XG4gICAgICBpZiAoY29tcGFyYXRvcikge1xuICAgICAgICBtYXBwZWQucG9wKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gKG1hcHBlZC5sZW5ndGggJiYgbWFwcGVkWzBdID09PSBhcnJheXNbMF0pXG4gICAgICAgID8gYmFzZUludGVyc2VjdGlvbihtYXBwZWQsIHVuZGVmaW5lZCwgY29tcGFyYXRvcilcbiAgICAgICAgOiBbXTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGFsbCBlbGVtZW50cyBpbiBgYXJyYXlgIGludG8gYSBzdHJpbmcgc2VwYXJhdGVkIGJ5IGBzZXBhcmF0b3JgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGNvbnZlcnQuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzZXBhcmF0b3I9JywnXSBUaGUgZWxlbWVudCBzZXBhcmF0b3IuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgam9pbmVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5qb2luKFsnYScsICdiJywgJ2MnXSwgJ34nKTtcbiAgICAgKiAvLyA9PiAnYX5ifmMnXG4gICAgICovXG4gICAgZnVuY3Rpb24gam9pbihhcnJheSwgc2VwYXJhdG9yKSB7XG4gICAgICByZXR1cm4gYXJyYXkgPT0gbnVsbCA/ICcnIDogbmF0aXZlSm9pbi5jYWxsKGFycmF5LCBzZXBhcmF0b3IpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGxhc3QgZWxlbWVudCBvZiBgYXJyYXlgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBsYXN0IGVsZW1lbnQgb2YgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5sYXN0KFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gM1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxhc3QoYXJyYXkpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgIHJldHVybiBsZW5ndGggPyBhcnJheVtsZW5ndGggLSAxXSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmluZGV4T2ZgIGV4Y2VwdCB0aGF0IGl0IGl0ZXJhdGVzIG92ZXIgZWxlbWVudHMgb2ZcbiAgICAgKiBgYXJyYXlgIGZyb20gcmlnaHQgdG8gbGVmdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNlYXJjaCBmb3IuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtmcm9tSW5kZXg9YXJyYXkubGVuZ3RoLTFdIFRoZSBpbmRleCB0byBzZWFyY2ggZnJvbS5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgbWF0Y2hlZCB2YWx1ZSwgZWxzZSBgLTFgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmxhc3RJbmRleE9mKFsxLCAyLCAxLCAyXSwgMik7XG4gICAgICogLy8gPT4gM1xuICAgICAqXG4gICAgICogLy8gU2VhcmNoIGZyb20gdGhlIGBmcm9tSW5kZXhgLlxuICAgICAqIF8ubGFzdEluZGV4T2YoWzEsIDIsIDEsIDJdLCAyLCAyKTtcbiAgICAgKiAvLyA9PiAxXG4gICAgICovXG4gICAgZnVuY3Rpb24gbGFzdEluZGV4T2YoYXJyYXksIHZhbHVlLCBmcm9tSW5kZXgpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiAtMTtcbiAgICAgIH1cbiAgICAgIHZhciBpbmRleCA9IGxlbmd0aDtcbiAgICAgIGlmIChmcm9tSW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBpbmRleCA9IHRvSW50ZWdlcihmcm9tSW5kZXgpO1xuICAgICAgICBpbmRleCA9IGluZGV4IDwgMCA/IG5hdGl2ZU1heChsZW5ndGggKyBpbmRleCwgMCkgOiBuYXRpdmVNaW4oaW5kZXgsIGxlbmd0aCAtIDEpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlID09PSB2YWx1ZVxuICAgICAgICA/IHN0cmljdExhc3RJbmRleE9mKGFycmF5LCB2YWx1ZSwgaW5kZXgpXG4gICAgICAgIDogYmFzZUZpbmRJbmRleChhcnJheSwgYmFzZUlzTmFOLCBpbmRleCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZWxlbWVudCBhdCBpbmRleCBgbmAgb2YgYGFycmF5YC4gSWYgYG5gIGlzIG5lZ2F0aXZlLCB0aGUgbnRoXG4gICAgICogZWxlbWVudCBmcm9tIHRoZSBlbmQgaXMgcmV0dXJuZWQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4xMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbj0wXSBUaGUgaW5kZXggb2YgdGhlIGVsZW1lbnQgdG8gcmV0dXJuLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBudGggZWxlbWVudCBvZiBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBbJ2EnLCAnYicsICdjJywgJ2QnXTtcbiAgICAgKlxuICAgICAqIF8ubnRoKGFycmF5LCAxKTtcbiAgICAgKiAvLyA9PiAnYidcbiAgICAgKlxuICAgICAqIF8ubnRoKGFycmF5LCAtMik7XG4gICAgICogLy8gPT4gJ2MnO1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIG50aChhcnJheSwgbikge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGgpID8gYmFzZU50aChhcnJheSwgdG9JbnRlZ2VyKG4pKSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGFsbCBnaXZlbiB2YWx1ZXMgZnJvbSBgYXJyYXlgIHVzaW5nXG4gICAgICogW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAgICAgKiBmb3IgZXF1YWxpdHkgY29tcGFyaXNvbnMuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVW5saWtlIGBfLndpdGhvdXRgLCB0aGlzIG1ldGhvZCBtdXRhdGVzIGBhcnJheWAuIFVzZSBgXy5yZW1vdmVgXG4gICAgICogdG8gcmVtb3ZlIGVsZW1lbnRzIGZyb20gYW4gYXJyYXkgYnkgcHJlZGljYXRlLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0gey4uLip9IFt2YWx1ZXNdIFRoZSB2YWx1ZXMgdG8gcmVtb3ZlLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBbJ2EnLCAnYicsICdjJywgJ2EnLCAnYicsICdjJ107XG4gICAgICpcbiAgICAgKiBfLnB1bGwoYXJyYXksICdhJywgJ2MnKTtcbiAgICAgKiBjb25zb2xlLmxvZyhhcnJheSk7XG4gICAgICogLy8gPT4gWydiJywgJ2InXVxuICAgICAqL1xuICAgIHZhciBwdWxsID0gYmFzZVJlc3QocHVsbEFsbCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnB1bGxgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYW4gYXJyYXkgb2YgdmFsdWVzIHRvIHJlbW92ZS5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBVbmxpa2UgYF8uZGlmZmVyZW5jZWAsIHRoaXMgbWV0aG9kIG11dGF0ZXMgYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtBcnJheX0gdmFsdWVzIFRoZSB2YWx1ZXMgdG8gcmVtb3ZlLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBbJ2EnLCAnYicsICdjJywgJ2EnLCAnYicsICdjJ107XG4gICAgICpcbiAgICAgKiBfLnB1bGxBbGwoYXJyYXksIFsnYScsICdjJ10pO1xuICAgICAqIGNvbnNvbGUubG9nKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbJ2InLCAnYiddXG4gICAgICovXG4gICAgZnVuY3Rpb24gcHVsbEFsbChhcnJheSwgdmFsdWVzKSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aCAmJiB2YWx1ZXMgJiYgdmFsdWVzLmxlbmd0aClcbiAgICAgICAgPyBiYXNlUHVsbEFsbChhcnJheSwgdmFsdWVzKVxuICAgICAgICA6IGFycmF5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ucHVsbEFsbGAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgaXRlcmF0ZWVgIHdoaWNoIGlzXG4gICAgICogaW52b2tlZCBmb3IgZWFjaCBlbGVtZW50IG9mIGBhcnJheWAgYW5kIGB2YWx1ZXNgIHRvIGdlbmVyYXRlIHRoZSBjcml0ZXJpb25cbiAgICAgKiBieSB3aGljaCB0aGV5J3JlIGNvbXBhcmVkLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBVbmxpa2UgYF8uZGlmZmVyZW5jZUJ5YCwgdGhpcyBtZXRob2QgbXV0YXRlcyBgYXJyYXlgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSB2YWx1ZXMgVGhlIHZhbHVlcyB0byByZW1vdmUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBbeyAneCc6IDEgfSwgeyAneCc6IDIgfSwgeyAneCc6IDMgfSwgeyAneCc6IDEgfV07XG4gICAgICpcbiAgICAgKiBfLnB1bGxBbGxCeShhcnJheSwgW3sgJ3gnOiAxIH0sIHsgJ3gnOiAzIH1dLCAneCcpO1xuICAgICAqIGNvbnNvbGUubG9nKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbeyAneCc6IDIgfV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBwdWxsQWxsQnkoYXJyYXksIHZhbHVlcywgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoICYmIHZhbHVlcyAmJiB2YWx1ZXMubGVuZ3RoKVxuICAgICAgICA/IGJhc2VQdWxsQWxsKGFycmF5LCB2YWx1ZXMsIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAyKSlcbiAgICAgICAgOiBhcnJheTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnB1bGxBbGxgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGNvbXBhcmF0b3JgIHdoaWNoXG4gICAgICogaXMgaW52b2tlZCB0byBjb21wYXJlIGVsZW1lbnRzIG9mIGBhcnJheWAgdG8gYHZhbHVlc2AuIFRoZSBjb21wYXJhdG9yIGlzXG4gICAgICogaW52b2tlZCB3aXRoIHR3byBhcmd1bWVudHM6IChhcnJWYWwsIG90aFZhbCkuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVW5saWtlIGBfLmRpZmZlcmVuY2VXaXRoYCwgdGhpcyBtZXRob2QgbXV0YXRlcyBgYXJyYXlgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuNi4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSB2YWx1ZXMgVGhlIHZhbHVlcyB0byByZW1vdmUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NvbXBhcmF0b3JdIFRoZSBjb21wYXJhdG9yIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFt7ICd4JzogMSwgJ3knOiAyIH0sIHsgJ3gnOiAzLCAneSc6IDQgfSwgeyAneCc6IDUsICd5JzogNiB9XTtcbiAgICAgKlxuICAgICAqIF8ucHVsbEFsbFdpdGgoYXJyYXksIFt7ICd4JzogMywgJ3knOiA0IH1dLCBfLmlzRXF1YWwpO1xuICAgICAqIGNvbnNvbGUubG9nKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbeyAneCc6IDEsICd5JzogMiB9LCB7ICd4JzogNSwgJ3knOiA2IH1dXG4gICAgICovXG4gICAgZnVuY3Rpb24gcHVsbEFsbFdpdGgoYXJyYXksIHZhbHVlcywgY29tcGFyYXRvcikge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGggJiYgdmFsdWVzICYmIHZhbHVlcy5sZW5ndGgpXG4gICAgICAgID8gYmFzZVB1bGxBbGwoYXJyYXksIHZhbHVlcywgdW5kZWZpbmVkLCBjb21wYXJhdG9yKVxuICAgICAgICA6IGFycmF5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgZWxlbWVudHMgZnJvbSBgYXJyYXlgIGNvcnJlc3BvbmRpbmcgdG8gYGluZGV4ZXNgIGFuZCByZXR1cm5zIGFuXG4gICAgICogYXJyYXkgb2YgcmVtb3ZlZCBlbGVtZW50cy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBVbmxpa2UgYF8uYXRgLCB0aGlzIG1ldGhvZCBtdXRhdGVzIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7Li4uKG51bWJlcnxudW1iZXJbXSl9IFtpbmRleGVzXSBUaGUgaW5kZXhlcyBvZiBlbGVtZW50cyB0byByZW1vdmUuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgcmVtb3ZlZCBlbGVtZW50cy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gWydhJywgJ2InLCAnYycsICdkJ107XG4gICAgICogdmFyIHB1bGxlZCA9IF8ucHVsbEF0KGFycmF5LCBbMSwgM10pO1xuICAgICAqXG4gICAgICogY29uc29sZS5sb2coYXJyYXkpO1xuICAgICAqIC8vID0+IFsnYScsICdjJ11cbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKHB1bGxlZCk7XG4gICAgICogLy8gPT4gWydiJywgJ2QnXVxuICAgICAqL1xuICAgIHZhciBwdWxsQXQgPSBmbGF0UmVzdChmdW5jdGlvbihhcnJheSwgaW5kZXhlcykge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoLFxuICAgICAgICAgIHJlc3VsdCA9IGJhc2VBdChhcnJheSwgaW5kZXhlcyk7XG5cbiAgICAgIGJhc2VQdWxsQXQoYXJyYXksIGFycmF5TWFwKGluZGV4ZXMsIGZ1bmN0aW9uKGluZGV4KSB7XG4gICAgICAgIHJldHVybiBpc0luZGV4KGluZGV4LCBsZW5ndGgpID8gK2luZGV4IDogaW5kZXg7XG4gICAgICB9KS5zb3J0KGNvbXBhcmVBc2NlbmRpbmcpKTtcblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYWxsIGVsZW1lbnRzIGZyb20gYGFycmF5YCB0aGF0IGBwcmVkaWNhdGVgIHJldHVybnMgdHJ1dGh5IGZvclxuICAgICAqIGFuZCByZXR1cm5zIGFuIGFycmF5IG9mIHRoZSByZW1vdmVkIGVsZW1lbnRzLiBUaGUgcHJlZGljYXRlIGlzIGludm9rZWRcbiAgICAgKiB3aXRoIHRocmVlIGFyZ3VtZW50czogKHZhbHVlLCBpbmRleCwgYXJyYXkpLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFVubGlrZSBgXy5maWx0ZXJgLCB0aGlzIG1ldGhvZCBtdXRhdGVzIGBhcnJheWAuIFVzZSBgXy5wdWxsYFxuICAgICAqIHRvIHB1bGwgZWxlbWVudHMgZnJvbSBhbiBhcnJheSBieSB2YWx1ZS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAyLjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIHJlbW92ZWQgZWxlbWVudHMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFsxLCAyLCAzLCA0XTtcbiAgICAgKiB2YXIgZXZlbnMgPSBfLnJlbW92ZShhcnJheSwgZnVuY3Rpb24obikge1xuICAgICAqICAgcmV0dXJuIG4gJSAyID09IDA7XG4gICAgICogfSk7XG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhhcnJheSk7XG4gICAgICogLy8gPT4gWzEsIDNdXG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhldmVucyk7XG4gICAgICogLy8gPT4gWzIsIDRdXG4gICAgICovXG4gICAgZnVuY3Rpb24gcmVtb3ZlKGFycmF5LCBwcmVkaWNhdGUpIHtcbiAgICAgIHZhciByZXN1bHQgPSBbXTtcbiAgICAgIGlmICghKGFycmF5ICYmIGFycmF5Lmxlbmd0aCkpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGluZGV4ZXMgPSBbXSxcbiAgICAgICAgICBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgICAgIHByZWRpY2F0ZSA9IGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMyk7XG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF07XG4gICAgICAgIGlmIChwcmVkaWNhdGUodmFsdWUsIGluZGV4LCBhcnJheSkpIHtcbiAgICAgICAgICByZXN1bHQucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgaW5kZXhlcy5wdXNoKGluZGV4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYmFzZVB1bGxBdChhcnJheSwgaW5kZXhlcyk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldmVyc2VzIGBhcnJheWAgc28gdGhhdCB0aGUgZmlyc3QgZWxlbWVudCBiZWNvbWVzIHRoZSBsYXN0LCB0aGUgc2Vjb25kXG4gICAgICogZWxlbWVudCBiZWNvbWVzIHRoZSBzZWNvbmQgdG8gbGFzdCwgYW5kIHNvIG9uLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYGFycmF5YCBhbmQgaXMgYmFzZWQgb25cbiAgICAgKiBbYEFycmF5I3JldmVyc2VgXShodHRwczovL21kbi5pby9BcnJheS9yZXZlcnNlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBtb2RpZnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFsxLCAyLCAzXTtcbiAgICAgKlxuICAgICAqIF8ucmV2ZXJzZShhcnJheSk7XG4gICAgICogLy8gPT4gWzMsIDIsIDFdXG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhhcnJheSk7XG4gICAgICogLy8gPT4gWzMsIDIsIDFdXG4gICAgICovXG4gICAgZnVuY3Rpb24gcmV2ZXJzZShhcnJheSkge1xuICAgICAgcmV0dXJuIGFycmF5ID09IG51bGwgPyBhcnJheSA6IG5hdGl2ZVJldmVyc2UuY2FsbChhcnJheSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHNsaWNlIG9mIGBhcnJheWAgZnJvbSBgc3RhcnRgIHVwIHRvLCBidXQgbm90IGluY2x1ZGluZywgYGVuZGAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgdXNlZCBpbnN0ZWFkIG9mXG4gICAgICogW2BBcnJheSNzbGljZWBdKGh0dHBzOi8vbWRuLmlvL0FycmF5L3NsaWNlKSB0byBlbnN1cmUgZGVuc2UgYXJyYXlzIGFyZVxuICAgICAqIHJldHVybmVkLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHNsaWNlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbc3RhcnQ9MF0gVGhlIHN0YXJ0IHBvc2l0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbZW5kPWFycmF5Lmxlbmd0aF0gVGhlIGVuZCBwb3NpdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHNsaWNlIG9mIGBhcnJheWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gc2xpY2UoYXJyYXksIHN0YXJ0LCBlbmQpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIGlmIChlbmQgJiYgdHlwZW9mIGVuZCAhPSAnbnVtYmVyJyAmJiBpc0l0ZXJhdGVlQ2FsbChhcnJheSwgc3RhcnQsIGVuZCkpIHtcbiAgICAgICAgc3RhcnQgPSAwO1xuICAgICAgICBlbmQgPSBsZW5ndGg7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgc3RhcnQgPSBzdGFydCA9PSBudWxsID8gMCA6IHRvSW50ZWdlcihzdGFydCk7XG4gICAgICAgIGVuZCA9IGVuZCA9PT0gdW5kZWZpbmVkID8gbGVuZ3RoIDogdG9JbnRlZ2VyKGVuZCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYmFzZVNsaWNlKGFycmF5LCBzdGFydCwgZW5kKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVc2VzIGEgYmluYXJ5IHNlYXJjaCB0byBkZXRlcm1pbmUgdGhlIGxvd2VzdCBpbmRleCBhdCB3aGljaCBgdmFsdWVgXG4gICAgICogc2hvdWxkIGJlIGluc2VydGVkIGludG8gYGFycmF5YCBpbiBvcmRlciB0byBtYWludGFpbiBpdHMgc29ydCBvcmRlci5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBzb3J0ZWQgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBldmFsdWF0ZS5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBhdCB3aGljaCBgdmFsdWVgIHNob3VsZCBiZSBpbnNlcnRlZFxuICAgICAqICBpbnRvIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uc29ydGVkSW5kZXgoWzMwLCA1MF0sIDQwKTtcbiAgICAgKiAvLyA9PiAxXG4gICAgICovXG4gICAgZnVuY3Rpb24gc29ydGVkSW5kZXgoYXJyYXksIHZhbHVlKSB7XG4gICAgICByZXR1cm4gYmFzZVNvcnRlZEluZGV4KGFycmF5LCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5zb3J0ZWRJbmRleGAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgaXRlcmF0ZWVgXG4gICAgICogd2hpY2ggaXMgaW52b2tlZCBmb3IgYHZhbHVlYCBhbmQgZWFjaCBlbGVtZW50IG9mIGBhcnJheWAgdG8gY29tcHV0ZSB0aGVpclxuICAgICAqIHNvcnQgcmFua2luZy4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6ICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgc29ydGVkIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gZXZhbHVhdGUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IGF0IHdoaWNoIGB2YWx1ZWAgc2hvdWxkIGJlIGluc2VydGVkXG4gICAgICogIGludG8gYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbeyAneCc6IDQgfSwgeyAneCc6IDUgfV07XG4gICAgICpcbiAgICAgKiBfLnNvcnRlZEluZGV4Qnkob2JqZWN0cywgeyAneCc6IDQgfSwgZnVuY3Rpb24obykgeyByZXR1cm4gby54OyB9KTtcbiAgICAgKiAvLyA9PiAwXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnNvcnRlZEluZGV4Qnkob2JqZWN0cywgeyAneCc6IDQgfSwgJ3gnKTtcbiAgICAgKiAvLyA9PiAwXG4gICAgICovXG4gICAgZnVuY3Rpb24gc29ydGVkSW5kZXhCeShhcnJheSwgdmFsdWUsIGl0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gYmFzZVNvcnRlZEluZGV4QnkoYXJyYXksIHZhbHVlLCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMikpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uaW5kZXhPZmAgZXhjZXB0IHRoYXQgaXQgcGVyZm9ybXMgYSBiaW5hcnlcbiAgICAgKiBzZWFyY2ggb24gYSBzb3J0ZWQgYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNlYXJjaCBmb3IuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIG1hdGNoZWQgdmFsdWUsIGVsc2UgYC0xYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zb3J0ZWRJbmRleE9mKFs0LCA1LCA1LCA1LCA2XSwgNSk7XG4gICAgICogLy8gPT4gMVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNvcnRlZEluZGV4T2YoYXJyYXksIHZhbHVlKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICBpZiAobGVuZ3RoKSB7XG4gICAgICAgIHZhciBpbmRleCA9IGJhc2VTb3J0ZWRJbmRleChhcnJheSwgdmFsdWUpO1xuICAgICAgICBpZiAoaW5kZXggPCBsZW5ndGggJiYgZXEoYXJyYXlbaW5kZXhdLCB2YWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnNvcnRlZEluZGV4YCBleGNlcHQgdGhhdCBpdCByZXR1cm5zIHRoZSBoaWdoZXN0XG4gICAgICogaW5kZXggYXQgd2hpY2ggYHZhbHVlYCBzaG91bGQgYmUgaW5zZXJ0ZWQgaW50byBgYXJyYXlgIGluIG9yZGVyIHRvXG4gICAgICogbWFpbnRhaW4gaXRzIHNvcnQgb3JkZXIuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgc29ydGVkIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gZXZhbHVhdGUuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggYXQgd2hpY2ggYHZhbHVlYCBzaG91bGQgYmUgaW5zZXJ0ZWRcbiAgICAgKiAgaW50byBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnNvcnRlZExhc3RJbmRleChbNCwgNSwgNSwgNSwgNl0sIDUpO1xuICAgICAqIC8vID0+IDRcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzb3J0ZWRMYXN0SW5kZXgoYXJyYXksIHZhbHVlKSB7XG4gICAgICByZXR1cm4gYmFzZVNvcnRlZEluZGV4KGFycmF5LCB2YWx1ZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5zb3J0ZWRMYXN0SW5kZXhgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGl0ZXJhdGVlYFxuICAgICAqIHdoaWNoIGlzIGludm9rZWQgZm9yIGB2YWx1ZWAgYW5kIGVhY2ggZWxlbWVudCBvZiBgYXJyYXlgIHRvIGNvbXB1dGUgdGhlaXJcbiAgICAgKiBzb3J0IHJhbmtpbmcuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OiAodmFsdWUpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIHNvcnRlZCBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGV2YWx1YXRlLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBhdCB3aGljaCBgdmFsdWVgIHNob3VsZCBiZSBpbnNlcnRlZFxuICAgICAqICBpbnRvIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gW3sgJ3gnOiA0IH0sIHsgJ3gnOiA1IH1dO1xuICAgICAqXG4gICAgICogXy5zb3J0ZWRMYXN0SW5kZXhCeShvYmplY3RzLCB7ICd4JzogNCB9LCBmdW5jdGlvbihvKSB7IHJldHVybiBvLng7IH0pO1xuICAgICAqIC8vID0+IDFcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uc29ydGVkTGFzdEluZGV4Qnkob2JqZWN0cywgeyAneCc6IDQgfSwgJ3gnKTtcbiAgICAgKiAvLyA9PiAxXG4gICAgICovXG4gICAgZnVuY3Rpb24gc29ydGVkTGFzdEluZGV4QnkoYXJyYXksIHZhbHVlLCBpdGVyYXRlZSkge1xuICAgICAgcmV0dXJuIGJhc2VTb3J0ZWRJbmRleEJ5KGFycmF5LCB2YWx1ZSwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDIpLCB0cnVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmxhc3RJbmRleE9mYCBleGNlcHQgdGhhdCBpdCBwZXJmb3JtcyBhIGJpbmFyeVxuICAgICAqIHNlYXJjaCBvbiBhIHNvcnRlZCBgYXJyYXlgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvci5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgbWF0Y2hlZCB2YWx1ZSwgZWxzZSBgLTFgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnNvcnRlZExhc3RJbmRleE9mKFs0LCA1LCA1LCA1LCA2XSwgNSk7XG4gICAgICogLy8gPT4gM1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNvcnRlZExhc3RJbmRleE9mKGFycmF5LCB2YWx1ZSkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKGxlbmd0aCkge1xuICAgICAgICB2YXIgaW5kZXggPSBiYXNlU29ydGVkSW5kZXgoYXJyYXksIHZhbHVlLCB0cnVlKSAtIDE7XG4gICAgICAgIGlmIChlcShhcnJheVtpbmRleF0sIHZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBpbmRleDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8udW5pcWAgZXhjZXB0IHRoYXQgaXQncyBkZXNpZ25lZCBhbmQgb3B0aW1pemVkXG4gICAgICogZm9yIHNvcnRlZCBhcnJheXMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBkdXBsaWNhdGUgZnJlZSBhcnJheS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zb3J0ZWRVbmlxKFsxLCAxLCAyXSk7XG4gICAgICogLy8gPT4gWzEsIDJdXG4gICAgICovXG4gICAgZnVuY3Rpb24gc29ydGVkVW5pcShhcnJheSkge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGgpXG4gICAgICAgID8gYmFzZVNvcnRlZFVuaXEoYXJyYXkpXG4gICAgICAgIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy51bmlxQnlgIGV4Y2VwdCB0aGF0IGl0J3MgZGVzaWduZWQgYW5kIG9wdGltaXplZFxuICAgICAqIGZvciBzb3J0ZWQgYXJyYXlzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlXSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBkdXBsaWNhdGUgZnJlZSBhcnJheS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zb3J0ZWRVbmlxQnkoWzEuMSwgMS4yLCAyLjMsIDIuNF0sIE1hdGguZmxvb3IpO1xuICAgICAqIC8vID0+IFsxLjEsIDIuM11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzb3J0ZWRVbmlxQnkoYXJyYXksIGl0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aClcbiAgICAgICAgPyBiYXNlU29ydGVkVW5pcShhcnJheSwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDIpKVxuICAgICAgICA6IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYWxsIGJ1dCB0aGUgZmlyc3QgZWxlbWVudCBvZiBgYXJyYXlgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgc2xpY2Ugb2YgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50YWlsKFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gWzIsIDNdXG4gICAgICovXG4gICAgZnVuY3Rpb24gdGFpbChhcnJheSkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgcmV0dXJuIGxlbmd0aCA/IGJhc2VTbGljZShhcnJheSwgMSwgbGVuZ3RoKSA6IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzbGljZSBvZiBgYXJyYXlgIHdpdGggYG5gIGVsZW1lbnRzIHRha2VuIGZyb20gdGhlIGJlZ2lubmluZy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW249MV0gVGhlIG51bWJlciBvZiBlbGVtZW50cyB0byB0YWtlLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBzbGljZSBvZiBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRha2UoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiBbMV1cbiAgICAgKlxuICAgICAqIF8udGFrZShbMSwgMiwgM10sIDIpO1xuICAgICAqIC8vID0+IFsxLCAyXVxuICAgICAqXG4gICAgICogXy50YWtlKFsxLCAyLCAzXSwgNSk7XG4gICAgICogLy8gPT4gWzEsIDIsIDNdXG4gICAgICpcbiAgICAgKiBfLnRha2UoWzEsIDIsIDNdLCAwKTtcbiAgICAgKiAvLyA9PiBbXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRha2UoYXJyYXksIG4sIGd1YXJkKSB7XG4gICAgICBpZiAoIShhcnJheSAmJiBhcnJheS5sZW5ndGgpKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIG4gPSAoZ3VhcmQgfHwgbiA9PT0gdW5kZWZpbmVkKSA/IDEgOiB0b0ludGVnZXIobik7XG4gICAgICByZXR1cm4gYmFzZVNsaWNlKGFycmF5LCAwLCBuIDwgMCA/IDAgOiBuKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgc2xpY2Ugb2YgYGFycmF5YCB3aXRoIGBuYCBlbGVtZW50cyB0YWtlbiBmcm9tIHRoZSBlbmQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtuPTFdIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgdG8gdGFrZS5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgc2xpY2Ugb2YgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50YWtlUmlnaHQoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiBbM11cbiAgICAgKlxuICAgICAqIF8udGFrZVJpZ2h0KFsxLCAyLCAzXSwgMik7XG4gICAgICogLy8gPT4gWzIsIDNdXG4gICAgICpcbiAgICAgKiBfLnRha2VSaWdodChbMSwgMiwgM10sIDUpO1xuICAgICAqIC8vID0+IFsxLCAyLCAzXVxuICAgICAqXG4gICAgICogXy50YWtlUmlnaHQoWzEsIDIsIDNdLCAwKTtcbiAgICAgKiAvLyA9PiBbXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRha2VSaWdodChhcnJheSwgbiwgZ3VhcmQpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIG4gPSAoZ3VhcmQgfHwgbiA9PT0gdW5kZWZpbmVkKSA/IDEgOiB0b0ludGVnZXIobik7XG4gICAgICBuID0gbGVuZ3RoIC0gbjtcbiAgICAgIHJldHVybiBiYXNlU2xpY2UoYXJyYXksIG4gPCAwID8gMCA6IG4sIGxlbmd0aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHNsaWNlIG9mIGBhcnJheWAgd2l0aCBlbGVtZW50cyB0YWtlbiBmcm9tIHRoZSBlbmQuIEVsZW1lbnRzIGFyZVxuICAgICAqIHRha2VuIHVudGlsIGBwcmVkaWNhdGVgIHJldHVybnMgZmFsc2V5LiBUaGUgcHJlZGljYXRlIGlzIGludm9rZWQgd2l0aFxuICAgICAqIHRocmVlIGFyZ3VtZW50czogKHZhbHVlLCBpbmRleCwgYXJyYXkpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHNsaWNlIG9mIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgICdhY3RpdmUnOiB0cnVlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICAnYWN0aXZlJzogZmFsc2UgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAncGViYmxlcycsICdhY3RpdmUnOiBmYWxzZSB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8udGFrZVJpZ2h0V2hpbGUodXNlcnMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuICFvLmFjdGl2ZTsgfSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydmcmVkJywgJ3BlYmJsZXMnXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnRha2VSaWdodFdoaWxlKHVzZXJzLCB7ICd1c2VyJzogJ3BlYmJsZXMnLCAnYWN0aXZlJzogZmFsc2UgfSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydwZWJibGVzJ11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzUHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnRha2VSaWdodFdoaWxlKHVzZXJzLCBbJ2FjdGl2ZScsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydmcmVkJywgJ3BlYmJsZXMnXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy50YWtlUmlnaHRXaGlsZSh1c2VycywgJ2FjdGl2ZScpO1xuICAgICAqIC8vID0+IFtdXG4gICAgICovXG4gICAgZnVuY3Rpb24gdGFrZVJpZ2h0V2hpbGUoYXJyYXksIHByZWRpY2F0ZSkge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGgpXG4gICAgICAgID8gYmFzZVdoaWxlKGFycmF5LCBnZXRJdGVyYXRlZShwcmVkaWNhdGUsIDMpLCBmYWxzZSwgdHJ1ZSlcbiAgICAgICAgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgc2xpY2Ugb2YgYGFycmF5YCB3aXRoIGVsZW1lbnRzIHRha2VuIGZyb20gdGhlIGJlZ2lubmluZy4gRWxlbWVudHNcbiAgICAgKiBhcmUgdGFrZW4gdW50aWwgYHByZWRpY2F0ZWAgcmV0dXJucyBmYWxzZXkuIFRoZSBwcmVkaWNhdGUgaXMgaW52b2tlZCB3aXRoXG4gICAgICogdGhyZWUgYXJndW1lbnRzOiAodmFsdWUsIGluZGV4LCBhcnJheSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgc2xpY2Ugb2YgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0gW1xuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknLCAgJ2FjdGl2ZSc6IGZhbHNlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICAnYWN0aXZlJzogZmFsc2UgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAncGViYmxlcycsICdhY3RpdmUnOiB0cnVlIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogXy50YWtlV2hpbGUodXNlcnMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuICFvLmFjdGl2ZTsgfSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydiYXJuZXknLCAnZnJlZCddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc2AgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8udGFrZVdoaWxlKHVzZXJzLCB7ICd1c2VyJzogJ2Jhcm5leScsICdhY3RpdmUnOiBmYWxzZSB9KTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2Jhcm5leSddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc1Byb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy50YWtlV2hpbGUodXNlcnMsIFsnYWN0aXZlJywgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2Jhcm5leScsICdmcmVkJ11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8udGFrZVdoaWxlKHVzZXJzLCAnYWN0aXZlJyk7XG4gICAgICogLy8gPT4gW11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0YWtlV2hpbGUoYXJyYXksIHByZWRpY2F0ZSkge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGgpXG4gICAgICAgID8gYmFzZVdoaWxlKGFycmF5LCBnZXRJdGVyYXRlZShwcmVkaWNhdGUsIDMpKVxuICAgICAgICA6IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdW5pcXVlIHZhbHVlcywgaW4gb3JkZXIsIGZyb20gYWxsIGdpdmVuIGFycmF5cyB1c2luZ1xuICAgICAqIFtgU2FtZVZhbHVlWmVyb2BdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXNhbWV2YWx1ZXplcm8pXG4gICAgICogZm9yIGVxdWFsaXR5IGNvbXBhcmlzb25zLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHsuLi5BcnJheX0gW2FycmF5c10gVGhlIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGNvbWJpbmVkIHZhbHVlcy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy51bmlvbihbMl0sIFsxLCAyXSk7XG4gICAgICogLy8gPT4gWzIsIDFdXG4gICAgICovXG4gICAgdmFyIHVuaW9uID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKSB7XG4gICAgICByZXR1cm4gYmFzZVVuaXEoYmFzZUZsYXR0ZW4oYXJyYXlzLCAxLCBpc0FycmF5TGlrZU9iamVjdCwgdHJ1ZSkpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy51bmlvbmAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgaXRlcmF0ZWVgIHdoaWNoIGlzXG4gICAgICogaW52b2tlZCBmb3IgZWFjaCBlbGVtZW50IG9mIGVhY2ggYGFycmF5c2AgdG8gZ2VuZXJhdGUgdGhlIGNyaXRlcmlvbiBieVxuICAgICAqIHdoaWNoIHVuaXF1ZW5lc3MgaXMgY29tcHV0ZWQuIFJlc3VsdCB2YWx1ZXMgYXJlIGNob3NlbiBmcm9tIHRoZSBmaXJzdFxuICAgICAqIGFycmF5IGluIHdoaWNoIHRoZSB2YWx1ZSBvY2N1cnMuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OlxuICAgICAqICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0gey4uLkFycmF5fSBbYXJyYXlzXSBUaGUgYXJyYXlzIHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGNvbWJpbmVkIHZhbHVlcy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy51bmlvbkJ5KFsyLjFdLCBbMS4yLCAyLjNdLCBNYXRoLmZsb29yKTtcbiAgICAgKiAvLyA9PiBbMi4xLCAxLjJdXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnVuaW9uQnkoW3sgJ3gnOiAxIH1dLCBbeyAneCc6IDIgfSwgeyAneCc6IDEgfV0sICd4Jyk7XG4gICAgICogLy8gPT4gW3sgJ3gnOiAxIH0sIHsgJ3gnOiAyIH1dXG4gICAgICovXG4gICAgdmFyIHVuaW9uQnkgPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheXMpIHtcbiAgICAgIHZhciBpdGVyYXRlZSA9IGxhc3QoYXJyYXlzKTtcbiAgICAgIGlmIChpc0FycmF5TGlrZU9iamVjdChpdGVyYXRlZSkpIHtcbiAgICAgICAgaXRlcmF0ZWUgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gYmFzZVVuaXEoYmFzZUZsYXR0ZW4oYXJyYXlzLCAxLCBpc0FycmF5TGlrZU9iamVjdCwgdHJ1ZSksIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAyKSk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnVuaW9uYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBjb21wYXJhdG9yYCB3aGljaFxuICAgICAqIGlzIGludm9rZWQgdG8gY29tcGFyZSBlbGVtZW50cyBvZiBgYXJyYXlzYC4gUmVzdWx0IHZhbHVlcyBhcmUgY2hvc2VuIGZyb21cbiAgICAgKiB0aGUgZmlyc3QgYXJyYXkgaW4gd2hpY2ggdGhlIHZhbHVlIG9jY3Vycy4gVGhlIGNvbXBhcmF0b3IgaXMgaW52b2tlZFxuICAgICAqIHdpdGggdHdvIGFyZ3VtZW50czogKGFyclZhbCwgb3RoVmFsKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFthcnJheXNdIFRoZSBhcnJheXMgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY29tcGFyYXRvcl0gVGhlIGNvbXBhcmF0b3IgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBjb21iaW5lZCB2YWx1ZXMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gW3sgJ3gnOiAxLCAneSc6IDIgfSwgeyAneCc6IDIsICd5JzogMSB9XTtcbiAgICAgKiB2YXIgb3RoZXJzID0gW3sgJ3gnOiAxLCAneSc6IDEgfSwgeyAneCc6IDEsICd5JzogMiB9XTtcbiAgICAgKlxuICAgICAqIF8udW5pb25XaXRoKG9iamVjdHMsIG90aGVycywgXy5pc0VxdWFsKTtcbiAgICAgKiAvLyA9PiBbeyAneCc6IDEsICd5JzogMiB9LCB7ICd4JzogMiwgJ3knOiAxIH0sIHsgJ3gnOiAxLCAneSc6IDEgfV1cbiAgICAgKi9cbiAgICB2YXIgdW5pb25XaXRoID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKSB7XG4gICAgICB2YXIgY29tcGFyYXRvciA9IGxhc3QoYXJyYXlzKTtcbiAgICAgIGNvbXBhcmF0b3IgPSB0eXBlb2YgY29tcGFyYXRvciA9PSAnZnVuY3Rpb24nID8gY29tcGFyYXRvciA6IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiBiYXNlVW5pcShiYXNlRmxhdHRlbihhcnJheXMsIDEsIGlzQXJyYXlMaWtlT2JqZWN0LCB0cnVlKSwgdW5kZWZpbmVkLCBjb21wYXJhdG9yKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBkdXBsaWNhdGUtZnJlZSB2ZXJzaW9uIG9mIGFuIGFycmF5LCB1c2luZ1xuICAgICAqIFtgU2FtZVZhbHVlWmVyb2BdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXNhbWV2YWx1ZXplcm8pXG4gICAgICogZm9yIGVxdWFsaXR5IGNvbXBhcmlzb25zLCBpbiB3aGljaCBvbmx5IHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIGVhY2ggZWxlbWVudFxuICAgICAqIGlzIGtlcHQuIFRoZSBvcmRlciBvZiByZXN1bHQgdmFsdWVzIGlzIGRldGVybWluZWQgYnkgdGhlIG9yZGVyIHRoZXkgb2NjdXJcbiAgICAgKiBpbiB0aGUgYXJyYXkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBkdXBsaWNhdGUgZnJlZSBhcnJheS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy51bmlxKFsyLCAxLCAyXSk7XG4gICAgICogLy8gPT4gWzIsIDFdXG4gICAgICovXG4gICAgZnVuY3Rpb24gdW5pcShhcnJheSkge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGgpID8gYmFzZVVuaXEoYXJyYXkpIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy51bmlxYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWAgd2hpY2ggaXNcbiAgICAgKiBpbnZva2VkIGZvciBlYWNoIGVsZW1lbnQgaW4gYGFycmF5YCB0byBnZW5lcmF0ZSB0aGUgY3JpdGVyaW9uIGJ5IHdoaWNoXG4gICAgICogdW5pcXVlbmVzcyBpcyBjb21wdXRlZC4gVGhlIG9yZGVyIG9mIHJlc3VsdCB2YWx1ZXMgaXMgZGV0ZXJtaW5lZCBieSB0aGVcbiAgICAgKiBvcmRlciB0aGV5IG9jY3VyIGluIHRoZSBhcnJheS4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6XG4gICAgICogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBkdXBsaWNhdGUgZnJlZSBhcnJheS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy51bmlxQnkoWzIuMSwgMS4yLCAyLjNdLCBNYXRoLmZsb29yKTtcbiAgICAgKiAvLyA9PiBbMi4xLCAxLjJdXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnVuaXFCeShbeyAneCc6IDEgfSwgeyAneCc6IDIgfSwgeyAneCc6IDEgfV0sICd4Jyk7XG4gICAgICogLy8gPT4gW3sgJ3gnOiAxIH0sIHsgJ3gnOiAyIH1dXG4gICAgICovXG4gICAgZnVuY3Rpb24gdW5pcUJ5KGFycmF5LCBpdGVyYXRlZSkge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGgpID8gYmFzZVVuaXEoYXJyYXksIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAyKSkgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnVuaXFgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGNvbXBhcmF0b3JgIHdoaWNoXG4gICAgICogaXMgaW52b2tlZCB0byBjb21wYXJlIGVsZW1lbnRzIG9mIGBhcnJheWAuIFRoZSBvcmRlciBvZiByZXN1bHQgdmFsdWVzIGlzXG4gICAgICogZGV0ZXJtaW5lZCBieSB0aGUgb3JkZXIgdGhleSBvY2N1ciBpbiB0aGUgYXJyYXkuVGhlIGNvbXBhcmF0b3IgaXMgaW52b2tlZFxuICAgICAqIHdpdGggdHdvIGFyZ3VtZW50czogKGFyclZhbCwgb3RoVmFsKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjb21wYXJhdG9yXSBUaGUgY29tcGFyYXRvciBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGR1cGxpY2F0ZSBmcmVlIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IFt7ICd4JzogMSwgJ3knOiAyIH0sIHsgJ3gnOiAyLCAneSc6IDEgfSwgeyAneCc6IDEsICd5JzogMiB9XTtcbiAgICAgKlxuICAgICAqIF8udW5pcVdpdGgob2JqZWN0cywgXy5pc0VxdWFsKTtcbiAgICAgKiAvLyA9PiBbeyAneCc6IDEsICd5JzogMiB9LCB7ICd4JzogMiwgJ3knOiAxIH1dXG4gICAgICovXG4gICAgZnVuY3Rpb24gdW5pcVdpdGgoYXJyYXksIGNvbXBhcmF0b3IpIHtcbiAgICAgIGNvbXBhcmF0b3IgPSB0eXBlb2YgY29tcGFyYXRvciA9PSAnZnVuY3Rpb24nID8gY29tcGFyYXRvciA6IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKSA/IGJhc2VVbmlxKGFycmF5LCB1bmRlZmluZWQsIGNvbXBhcmF0b3IpIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy56aXBgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYW4gYXJyYXkgb2YgZ3JvdXBlZFxuICAgICAqIGVsZW1lbnRzIGFuZCBjcmVhdGVzIGFuIGFycmF5IHJlZ3JvdXBpbmcgdGhlIGVsZW1lbnRzIHRvIHRoZWlyIHByZS16aXBcbiAgICAgKiBjb25maWd1cmF0aW9uLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDEuMi4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IG9mIGdyb3VwZWQgZWxlbWVudHMgdG8gcHJvY2Vzcy5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiByZWdyb3VwZWQgZWxlbWVudHMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB6aXBwZWQgPSBfLnppcChbJ2EnLCAnYiddLCBbMSwgMl0sIFt0cnVlLCBmYWxzZV0pO1xuICAgICAqIC8vID0+IFtbJ2EnLCAxLCB0cnVlXSwgWydiJywgMiwgZmFsc2VdXVxuICAgICAqXG4gICAgICogXy51bnppcCh6aXBwZWQpO1xuICAgICAqIC8vID0+IFtbJ2EnLCAnYiddLCBbMSwgMl0sIFt0cnVlLCBmYWxzZV1dXG4gICAgICovXG4gICAgZnVuY3Rpb24gdW56aXAoYXJyYXkpIHtcbiAgICAgIGlmICghKGFycmF5ICYmIGFycmF5Lmxlbmd0aCkpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgdmFyIGxlbmd0aCA9IDA7XG4gICAgICBhcnJheSA9IGFycmF5RmlsdGVyKGFycmF5LCBmdW5jdGlvbihncm91cCkge1xuICAgICAgICBpZiAoaXNBcnJheUxpa2VPYmplY3QoZ3JvdXApKSB7XG4gICAgICAgICAgbGVuZ3RoID0gbmF0aXZlTWF4KGdyb3VwLmxlbmd0aCwgbGVuZ3RoKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gYmFzZVRpbWVzKGxlbmd0aCwgZnVuY3Rpb24oaW5kZXgpIHtcbiAgICAgICAgcmV0dXJuIGFycmF5TWFwKGFycmF5LCBiYXNlUHJvcGVydHkoaW5kZXgpKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8udW56aXBgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGl0ZXJhdGVlYCB0byBzcGVjaWZ5XG4gICAgICogaG93IHJlZ3JvdXBlZCB2YWx1ZXMgc2hvdWxkIGJlIGNvbWJpbmVkLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIHRoZVxuICAgICAqIGVsZW1lbnRzIG9mIGVhY2ggZ3JvdXA6ICguLi5ncm91cCkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy44LjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgb2YgZ3JvdXBlZCBlbGVtZW50cyB0byBwcm9jZXNzLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gdG8gY29tYmluZVxuICAgICAqICByZWdyb3VwZWQgdmFsdWVzLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIHJlZ3JvdXBlZCBlbGVtZW50cy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHppcHBlZCA9IF8uemlwKFsxLCAyXSwgWzEwLCAyMF0sIFsxMDAsIDIwMF0pO1xuICAgICAqIC8vID0+IFtbMSwgMTAsIDEwMF0sIFsyLCAyMCwgMjAwXV1cbiAgICAgKlxuICAgICAqIF8udW56aXBXaXRoKHppcHBlZCwgXy5hZGQpO1xuICAgICAqIC8vID0+IFszLCAzMCwgMzAwXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHVuemlwV2l0aChhcnJheSwgaXRlcmF0ZWUpIHtcbiAgICAgIGlmICghKGFycmF5ICYmIGFycmF5Lmxlbmd0aCkpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgdmFyIHJlc3VsdCA9IHVuemlwKGFycmF5KTtcbiAgICAgIGlmIChpdGVyYXRlZSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gYXJyYXlNYXAocmVzdWx0LCBmdW5jdGlvbihncm91cCkge1xuICAgICAgICByZXR1cm4gYXBwbHkoaXRlcmF0ZWUsIHVuZGVmaW5lZCwgZ3JvdXApO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBleGNsdWRpbmcgYWxsIGdpdmVuIHZhbHVlcyB1c2luZ1xuICAgICAqIFtgU2FtZVZhbHVlWmVyb2BdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXNhbWV2YWx1ZXplcm8pXG4gICAgICogZm9yIGVxdWFsaXR5IGNvbXBhcmlzb25zLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFVubGlrZSBgXy5wdWxsYCwgdGhpcyBtZXRob2QgcmV0dXJucyBhIG5ldyBhcnJheS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7Li4uKn0gW3ZhbHVlc10gVGhlIHZhbHVlcyB0byBleGNsdWRlLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGZpbHRlcmVkIHZhbHVlcy5cbiAgICAgKiBAc2VlIF8uZGlmZmVyZW5jZSwgXy54b3JcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy53aXRob3V0KFsyLCAxLCAyLCAzXSwgMSwgMik7XG4gICAgICogLy8gPT4gWzNdXG4gICAgICovXG4gICAgdmFyIHdpdGhvdXQgPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheSwgdmFsdWVzKSB7XG4gICAgICByZXR1cm4gaXNBcnJheUxpa2VPYmplY3QoYXJyYXkpXG4gICAgICAgID8gYmFzZURpZmZlcmVuY2UoYXJyYXksIHZhbHVlcylcbiAgICAgICAgOiBbXTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdW5pcXVlIHZhbHVlcyB0aGF0IGlzIHRoZVxuICAgICAqIFtzeW1tZXRyaWMgZGlmZmVyZW5jZV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvU3ltbWV0cmljX2RpZmZlcmVuY2UpXG4gICAgICogb2YgdGhlIGdpdmVuIGFycmF5cy4gVGhlIG9yZGVyIG9mIHJlc3VsdCB2YWx1ZXMgaXMgZGV0ZXJtaW5lZCBieSB0aGUgb3JkZXJcbiAgICAgKiB0aGV5IG9jY3VyIGluIHRoZSBhcnJheXMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi40LjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0gey4uLkFycmF5fSBbYXJyYXlzXSBUaGUgYXJyYXlzIHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgZmlsdGVyZWQgdmFsdWVzLlxuICAgICAqIEBzZWUgXy5kaWZmZXJlbmNlLCBfLndpdGhvdXRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy54b3IoWzIsIDFdLCBbMiwgM10pO1xuICAgICAqIC8vID0+IFsxLCAzXVxuICAgICAqL1xuICAgIHZhciB4b3IgPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheXMpIHtcbiAgICAgIHJldHVybiBiYXNlWG9yKGFycmF5RmlsdGVyKGFycmF5cywgaXNBcnJheUxpa2VPYmplY3QpKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ueG9yYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWAgd2hpY2ggaXNcbiAgICAgKiBpbnZva2VkIGZvciBlYWNoIGVsZW1lbnQgb2YgZWFjaCBgYXJyYXlzYCB0byBnZW5lcmF0ZSB0aGUgY3JpdGVyaW9uIGJ5XG4gICAgICogd2hpY2ggYnkgd2hpY2ggdGhleSdyZSBjb21wYXJlZC4gVGhlIG9yZGVyIG9mIHJlc3VsdCB2YWx1ZXMgaXMgZGV0ZXJtaW5lZFxuICAgICAqIGJ5IHRoZSBvcmRlciB0aGV5IG9jY3VyIGluIHRoZSBhcnJheXMuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggb25lXG4gICAgICogYXJndW1lbnQ6ICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0gey4uLkFycmF5fSBbYXJyYXlzXSBUaGUgYXJyYXlzIHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGZpbHRlcmVkIHZhbHVlcy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy54b3JCeShbMi4xLCAxLjJdLCBbMi4zLCAzLjRdLCBNYXRoLmZsb29yKTtcbiAgICAgKiAvLyA9PiBbMS4yLCAzLjRdXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnhvckJ5KFt7ICd4JzogMSB9XSwgW3sgJ3gnOiAyIH0sIHsgJ3gnOiAxIH1dLCAneCcpO1xuICAgICAqIC8vID0+IFt7ICd4JzogMiB9XVxuICAgICAqL1xuICAgIHZhciB4b3JCeSA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cykge1xuICAgICAgdmFyIGl0ZXJhdGVlID0gbGFzdChhcnJheXMpO1xuICAgICAgaWYgKGlzQXJyYXlMaWtlT2JqZWN0KGl0ZXJhdGVlKSkge1xuICAgICAgICBpdGVyYXRlZSA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlWG9yKGFycmF5RmlsdGVyKGFycmF5cywgaXNBcnJheUxpa2VPYmplY3QpLCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMikpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy54b3JgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGNvbXBhcmF0b3JgIHdoaWNoIGlzXG4gICAgICogaW52b2tlZCB0byBjb21wYXJlIGVsZW1lbnRzIG9mIGBhcnJheXNgLiBUaGUgb3JkZXIgb2YgcmVzdWx0IHZhbHVlcyBpc1xuICAgICAqIGRldGVybWluZWQgYnkgdGhlIG9yZGVyIHRoZXkgb2NjdXIgaW4gdGhlIGFycmF5cy4gVGhlIGNvbXBhcmF0b3IgaXMgaW52b2tlZFxuICAgICAqIHdpdGggdHdvIGFyZ3VtZW50czogKGFyclZhbCwgb3RoVmFsKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFthcnJheXNdIFRoZSBhcnJheXMgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY29tcGFyYXRvcl0gVGhlIGNvbXBhcmF0b3IgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBmaWx0ZXJlZCB2YWx1ZXMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gW3sgJ3gnOiAxLCAneSc6IDIgfSwgeyAneCc6IDIsICd5JzogMSB9XTtcbiAgICAgKiB2YXIgb3RoZXJzID0gW3sgJ3gnOiAxLCAneSc6IDEgfSwgeyAneCc6IDEsICd5JzogMiB9XTtcbiAgICAgKlxuICAgICAqIF8ueG9yV2l0aChvYmplY3RzLCBvdGhlcnMsIF8uaXNFcXVhbCk7XG4gICAgICogLy8gPT4gW3sgJ3gnOiAyLCAneSc6IDEgfSwgeyAneCc6IDEsICd5JzogMSB9XVxuICAgICAqL1xuICAgIHZhciB4b3JXaXRoID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKSB7XG4gICAgICB2YXIgY29tcGFyYXRvciA9IGxhc3QoYXJyYXlzKTtcbiAgICAgIGNvbXBhcmF0b3IgPSB0eXBlb2YgY29tcGFyYXRvciA9PSAnZnVuY3Rpb24nID8gY29tcGFyYXRvciA6IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiBiYXNlWG9yKGFycmF5RmlsdGVyKGFycmF5cywgaXNBcnJheUxpa2VPYmplY3QpLCB1bmRlZmluZWQsIGNvbXBhcmF0b3IpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiBncm91cGVkIGVsZW1lbnRzLCB0aGUgZmlyc3Qgb2Ygd2hpY2ggY29udGFpbnMgdGhlXG4gICAgICogZmlyc3QgZWxlbWVudHMgb2YgdGhlIGdpdmVuIGFycmF5cywgdGhlIHNlY29uZCBvZiB3aGljaCBjb250YWlucyB0aGVcbiAgICAgKiBzZWNvbmQgZWxlbWVudHMgb2YgdGhlIGdpdmVuIGFycmF5cywgYW5kIHNvIG9uLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHsuLi5BcnJheX0gW2FycmF5c10gVGhlIGFycmF5cyB0byBwcm9jZXNzLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGdyb3VwZWQgZWxlbWVudHMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uemlwKFsnYScsICdiJ10sIFsxLCAyXSwgW3RydWUsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gW1snYScsIDEsIHRydWVdLCBbJ2InLCAyLCBmYWxzZV1dXG4gICAgICovXG4gICAgdmFyIHppcCA9IGJhc2VSZXN0KHVuemlwKTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uZnJvbVBhaXJzYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIHR3byBhcnJheXMsXG4gICAgICogb25lIG9mIHByb3BlcnR5IGlkZW50aWZpZXJzIGFuZCBvbmUgb2YgY29ycmVzcG9uZGluZyB2YWx1ZXMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC40LjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbcHJvcHM9W11dIFRoZSBwcm9wZXJ0eSBpZGVudGlmaWVycy5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbdmFsdWVzPVtdXSBUaGUgcHJvcGVydHkgdmFsdWVzLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBvYmplY3QuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uemlwT2JqZWN0KFsnYScsICdiJ10sIFsxLCAyXSk7XG4gICAgICogLy8gPT4geyAnYSc6IDEsICdiJzogMiB9XG4gICAgICovXG4gICAgZnVuY3Rpb24gemlwT2JqZWN0KHByb3BzLCB2YWx1ZXMpIHtcbiAgICAgIHJldHVybiBiYXNlWmlwT2JqZWN0KHByb3BzIHx8IFtdLCB2YWx1ZXMgfHwgW10sIGFzc2lnblZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnppcE9iamVjdGAgZXhjZXB0IHRoYXQgaXQgc3VwcG9ydHMgcHJvcGVydHkgcGF0aHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbcHJvcHM9W11dIFRoZSBwcm9wZXJ0eSBpZGVudGlmaWVycy5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbdmFsdWVzPVtdXSBUaGUgcHJvcGVydHkgdmFsdWVzLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBvYmplY3QuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uemlwT2JqZWN0RGVlcChbJ2EuYlswXS5jJywgJ2EuYlsxXS5kJ10sIFsxLCAyXSk7XG4gICAgICogLy8gPT4geyAnYSc6IHsgJ2InOiBbeyAnYyc6IDEgfSwgeyAnZCc6IDIgfV0gfSB9XG4gICAgICovXG4gICAgZnVuY3Rpb24gemlwT2JqZWN0RGVlcChwcm9wcywgdmFsdWVzKSB7XG4gICAgICByZXR1cm4gYmFzZVppcE9iamVjdChwcm9wcyB8fCBbXSwgdmFsdWVzIHx8IFtdLCBiYXNlU2V0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnppcGAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgaXRlcmF0ZWVgIHRvIHNwZWNpZnlcbiAgICAgKiBob3cgZ3JvdXBlZCB2YWx1ZXMgc2hvdWxkIGJlIGNvbWJpbmVkLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIHRoZVxuICAgICAqIGVsZW1lbnRzIG9mIGVhY2ggZ3JvdXA6ICguLi5ncm91cCkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy44LjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0gey4uLkFycmF5fSBbYXJyYXlzXSBUaGUgYXJyYXlzIHRvIHByb2Nlc3MuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiB0byBjb21iaW5lXG4gICAgICogIGdyb3VwZWQgdmFsdWVzLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGdyb3VwZWQgZWxlbWVudHMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uemlwV2l0aChbMSwgMl0sIFsxMCwgMjBdLCBbMTAwLCAyMDBdLCBmdW5jdGlvbihhLCBiLCBjKSB7XG4gICAgICogICByZXR1cm4gYSArIGIgKyBjO1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+IFsxMTEsIDIyMl1cbiAgICAgKi9cbiAgICB2YXIgemlwV2l0aCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cykge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5cy5sZW5ndGgsXG4gICAgICAgICAgaXRlcmF0ZWUgPSBsZW5ndGggPiAxID8gYXJyYXlzW2xlbmd0aCAtIDFdIDogdW5kZWZpbmVkO1xuXG4gICAgICBpdGVyYXRlZSA9IHR5cGVvZiBpdGVyYXRlZSA9PSAnZnVuY3Rpb24nID8gKGFycmF5cy5wb3AoKSwgaXRlcmF0ZWUpIDogdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIHVuemlwV2l0aChhcnJheXMsIGl0ZXJhdGVlKTtcbiAgICB9KTtcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBgbG9kYXNoYCB3cmFwcGVyIGluc3RhbmNlIHRoYXQgd3JhcHMgYHZhbHVlYCB3aXRoIGV4cGxpY2l0IG1ldGhvZFxuICAgICAqIGNoYWluIHNlcXVlbmNlcyBlbmFibGVkLiBUaGUgcmVzdWx0IG9mIHN1Y2ggc2VxdWVuY2VzIG11c3QgYmUgdW53cmFwcGVkXG4gICAgICogd2l0aCBgXyN2YWx1ZWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMS4zLjBcbiAgICAgKiBAY2F0ZWdvcnkgU2VxXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gd3JhcC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgYGxvZGFzaGAgd3JhcHBlciBpbnN0YW5jZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0gW1xuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknLCAgJ2FnZSc6IDM2IH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICAnYWdlJzogNDAgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAncGViYmxlcycsICdhZ2UnOiAxIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogdmFyIHlvdW5nZXN0ID0gX1xuICAgICAqICAgLmNoYWluKHVzZXJzKVxuICAgICAqICAgLnNvcnRCeSgnYWdlJylcbiAgICAgKiAgIC5tYXAoZnVuY3Rpb24obykge1xuICAgICAqICAgICByZXR1cm4gby51c2VyICsgJyBpcyAnICsgby5hZ2U7XG4gICAgICogICB9KVxuICAgICAqICAgLmhlYWQoKVxuICAgICAqICAgLnZhbHVlKCk7XG4gICAgICogLy8gPT4gJ3BlYmJsZXMgaXMgMSdcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjaGFpbih2YWx1ZSkge1xuICAgICAgdmFyIHJlc3VsdCA9IGxvZGFzaCh2YWx1ZSk7XG4gICAgICByZXN1bHQuX19jaGFpbl9fID0gdHJ1ZTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaW52b2tlcyBgaW50ZXJjZXB0b3JgIGFuZCByZXR1cm5zIGB2YWx1ZWAuIFRoZSBpbnRlcmNlcHRvclxuICAgICAqIGlzIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ7ICh2YWx1ZSkuIFRoZSBwdXJwb3NlIG9mIHRoaXMgbWV0aG9kIGlzIHRvXG4gICAgICogXCJ0YXAgaW50b1wiIGEgbWV0aG9kIGNoYWluIHNlcXVlbmNlIGluIG9yZGVyIHRvIG1vZGlmeSBpbnRlcm1lZGlhdGUgcmVzdWx0cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBTZXFcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBwcm92aWRlIHRvIGBpbnRlcmNlcHRvcmAuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gaW50ZXJjZXB0b3IgVGhlIGZ1bmN0aW9uIHRvIGludm9rZS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyBgdmFsdWVgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfKFsxLCAyLCAzXSlcbiAgICAgKiAgLnRhcChmdW5jdGlvbihhcnJheSkge1xuICAgICAqICAgIC8vIE11dGF0ZSBpbnB1dCBhcnJheS5cbiAgICAgKiAgICBhcnJheS5wb3AoKTtcbiAgICAgKiAgfSlcbiAgICAgKiAgLnJldmVyc2UoKVxuICAgICAqICAudmFsdWUoKTtcbiAgICAgKiAvLyA9PiBbMiwgMV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0YXAodmFsdWUsIGludGVyY2VwdG9yKSB7XG4gICAgICBpbnRlcmNlcHRvcih2YWx1ZSk7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy50YXBgIGV4Y2VwdCB0aGF0IGl0IHJldHVybnMgdGhlIHJlc3VsdCBvZiBgaW50ZXJjZXB0b3JgLlxuICAgICAqIFRoZSBwdXJwb3NlIG9mIHRoaXMgbWV0aG9kIGlzIHRvIFwicGFzcyB0aHJ1XCIgdmFsdWVzIHJlcGxhY2luZyBpbnRlcm1lZGlhdGVcbiAgICAgKiByZXN1bHRzIGluIGEgbWV0aG9kIGNoYWluIHNlcXVlbmNlLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IFNlcVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHByb3ZpZGUgdG8gYGludGVyY2VwdG9yYC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpbnRlcmNlcHRvciBUaGUgZnVuY3Rpb24gdG8gaW52b2tlLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSByZXN1bHQgb2YgYGludGVyY2VwdG9yYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXygnICBhYmMgICcpXG4gICAgICogIC5jaGFpbigpXG4gICAgICogIC50cmltKClcbiAgICAgKiAgLnRocnUoZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgKiAgICByZXR1cm4gW3ZhbHVlXTtcbiAgICAgKiAgfSlcbiAgICAgKiAgLnZhbHVlKCk7XG4gICAgICogLy8gPT4gWydhYmMnXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRocnUodmFsdWUsIGludGVyY2VwdG9yKSB7XG4gICAgICByZXR1cm4gaW50ZXJjZXB0b3IodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIHRoZSB3cmFwcGVyIHZlcnNpb24gb2YgYF8uYXRgLlxuICAgICAqXG4gICAgICogQG5hbWUgYXRcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAxLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTZXFcbiAgICAgKiBAcGFyYW0gey4uLihzdHJpbmd8c3RyaW5nW10pfSBbcGF0aHNdIFRoZSBwcm9wZXJ0eSBwYXRocyB0byBwaWNrLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBgbG9kYXNoYCB3cmFwcGVyIGluc3RhbmNlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IFt7ICdiJzogeyAnYyc6IDMgfSB9LCA0XSB9O1xuICAgICAqXG4gICAgICogXyhvYmplY3QpLmF0KFsnYVswXS5iLmMnLCAnYVsxXSddKS52YWx1ZSgpO1xuICAgICAqIC8vID0+IFszLCA0XVxuICAgICAqL1xuICAgIHZhciB3cmFwcGVyQXQgPSBmbGF0UmVzdChmdW5jdGlvbihwYXRocykge1xuICAgICAgdmFyIGxlbmd0aCA9IHBhdGhzLmxlbmd0aCxcbiAgICAgICAgICBzdGFydCA9IGxlbmd0aCA/IHBhdGhzWzBdIDogMCxcbiAgICAgICAgICB2YWx1ZSA9IHRoaXMuX193cmFwcGVkX18sXG4gICAgICAgICAgaW50ZXJjZXB0b3IgPSBmdW5jdGlvbihvYmplY3QpIHsgcmV0dXJuIGJhc2VBdChvYmplY3QsIHBhdGhzKTsgfTtcblxuICAgICAgaWYgKGxlbmd0aCA+IDEgfHwgdGhpcy5fX2FjdGlvbnNfXy5sZW5ndGggfHxcbiAgICAgICAgICAhKHZhbHVlIGluc3RhbmNlb2YgTGF6eVdyYXBwZXIpIHx8ICFpc0luZGV4KHN0YXJ0KSkge1xuICAgICAgICByZXR1cm4gdGhpcy50aHJ1KGludGVyY2VwdG9yKTtcbiAgICAgIH1cbiAgICAgIHZhbHVlID0gdmFsdWUuc2xpY2Uoc3RhcnQsICtzdGFydCArIChsZW5ndGggPyAxIDogMCkpO1xuICAgICAgdmFsdWUuX19hY3Rpb25zX18ucHVzaCh7XG4gICAgICAgICdmdW5jJzogdGhydSxcbiAgICAgICAgJ2FyZ3MnOiBbaW50ZXJjZXB0b3JdLFxuICAgICAgICAndGhpc0FyZyc6IHVuZGVmaW5lZFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gbmV3IExvZGFzaFdyYXBwZXIodmFsdWUsIHRoaXMuX19jaGFpbl9fKS50aHJ1KGZ1bmN0aW9uKGFycmF5KSB7XG4gICAgICAgIGlmIChsZW5ndGggJiYgIWFycmF5Lmxlbmd0aCkge1xuICAgICAgICAgIGFycmF5LnB1c2godW5kZWZpbmVkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYXJyYXk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBgbG9kYXNoYCB3cmFwcGVyIGluc3RhbmNlIHdpdGggZXhwbGljaXQgbWV0aG9kIGNoYWluIHNlcXVlbmNlcyBlbmFibGVkLlxuICAgICAqXG4gICAgICogQG5hbWUgY2hhaW5cbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBTZXFcbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgYGxvZGFzaGAgd3JhcHBlciBpbnN0YW5jZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0gW1xuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknLCAnYWdlJzogMzYgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgJ2FnZSc6IDQwIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogLy8gQSBzZXF1ZW5jZSB3aXRob3V0IGV4cGxpY2l0IGNoYWluaW5nLlxuICAgICAqIF8odXNlcnMpLmhlYWQoKTtcbiAgICAgKiAvLyA9PiB7ICd1c2VyJzogJ2Jhcm5leScsICdhZ2UnOiAzNiB9XG4gICAgICpcbiAgICAgKiAvLyBBIHNlcXVlbmNlIHdpdGggZXhwbGljaXQgY2hhaW5pbmcuXG4gICAgICogXyh1c2VycylcbiAgICAgKiAgIC5jaGFpbigpXG4gICAgICogICAuaGVhZCgpXG4gICAgICogICAucGljaygndXNlcicpXG4gICAgICogICAudmFsdWUoKTtcbiAgICAgKiAvLyA9PiB7ICd1c2VyJzogJ2Jhcm5leScgfVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHdyYXBwZXJDaGFpbigpIHtcbiAgICAgIHJldHVybiBjaGFpbih0aGlzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyB0aGUgY2hhaW4gc2VxdWVuY2UgYW5kIHJldHVybnMgdGhlIHdyYXBwZWQgcmVzdWx0LlxuICAgICAqXG4gICAgICogQG5hbWUgY29tbWl0XG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4yLjBcbiAgICAgKiBAY2F0ZWdvcnkgU2VxXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IGBsb2Rhc2hgIHdyYXBwZXIgaW5zdGFuY2UuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFsxLCAyXTtcbiAgICAgKiB2YXIgd3JhcHBlZCA9IF8oYXJyYXkpLnB1c2goMyk7XG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhhcnJheSk7XG4gICAgICogLy8gPT4gWzEsIDJdXG4gICAgICpcbiAgICAgKiB3cmFwcGVkID0gd3JhcHBlZC5jb21taXQoKTtcbiAgICAgKiBjb25zb2xlLmxvZyhhcnJheSk7XG4gICAgICogLy8gPT4gWzEsIDIsIDNdXG4gICAgICpcbiAgICAgKiB3cmFwcGVkLmxhc3QoKTtcbiAgICAgKiAvLyA9PiAzXG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhhcnJheSk7XG4gICAgICogLy8gPT4gWzEsIDIsIDNdXG4gICAgICovXG4gICAgZnVuY3Rpb24gd3JhcHBlckNvbW1pdCgpIHtcbiAgICAgIHJldHVybiBuZXcgTG9kYXNoV3JhcHBlcih0aGlzLnZhbHVlKCksIHRoaXMuX19jaGFpbl9fKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBuZXh0IHZhbHVlIG9uIGEgd3JhcHBlZCBvYmplY3QgZm9sbG93aW5nIHRoZVxuICAgICAqIFtpdGVyYXRvciBwcm90b2NvbF0oaHR0cHM6Ly9tZG4uaW8vaXRlcmF0aW9uX3Byb3RvY29scyNpdGVyYXRvcikuXG4gICAgICpcbiAgICAgKiBAbmFtZSBuZXh0XG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU2VxXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV4dCBpdGVyYXRvciB2YWx1ZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHdyYXBwZWQgPSBfKFsxLCAyXSk7XG4gICAgICpcbiAgICAgKiB3cmFwcGVkLm5leHQoKTtcbiAgICAgKiAvLyA9PiB7ICdkb25lJzogZmFsc2UsICd2YWx1ZSc6IDEgfVxuICAgICAqXG4gICAgICogd3JhcHBlZC5uZXh0KCk7XG4gICAgICogLy8gPT4geyAnZG9uZSc6IGZhbHNlLCAndmFsdWUnOiAyIH1cbiAgICAgKlxuICAgICAqIHdyYXBwZWQubmV4dCgpO1xuICAgICAqIC8vID0+IHsgJ2RvbmUnOiB0cnVlLCAndmFsdWUnOiB1bmRlZmluZWQgfVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHdyYXBwZXJOZXh0KCkge1xuICAgICAgaWYgKHRoaXMuX192YWx1ZXNfXyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX192YWx1ZXNfXyA9IHRvQXJyYXkodGhpcy52YWx1ZSgpKTtcbiAgICAgIH1cbiAgICAgIHZhciBkb25lID0gdGhpcy5fX2luZGV4X18gPj0gdGhpcy5fX3ZhbHVlc19fLmxlbmd0aCxcbiAgICAgICAgICB2YWx1ZSA9IGRvbmUgPyB1bmRlZmluZWQgOiB0aGlzLl9fdmFsdWVzX19bdGhpcy5fX2luZGV4X18rK107XG5cbiAgICAgIHJldHVybiB7ICdkb25lJzogZG9uZSwgJ3ZhbHVlJzogdmFsdWUgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFbmFibGVzIHRoZSB3cmFwcGVyIHRvIGJlIGl0ZXJhYmxlLlxuICAgICAqXG4gICAgICogQG5hbWUgU3ltYm9sLml0ZXJhdG9yXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU2VxXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgd3JhcHBlciBvYmplY3QuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB3cmFwcGVkID0gXyhbMSwgMl0pO1xuICAgICAqXG4gICAgICogd3JhcHBlZFtTeW1ib2wuaXRlcmF0b3JdKCkgPT09IHdyYXBwZWQ7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogQXJyYXkuZnJvbSh3cmFwcGVkKTtcbiAgICAgKiAvLyA9PiBbMSwgMl1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB3cmFwcGVyVG9JdGVyYXRvcigpIHtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBjbG9uZSBvZiB0aGUgY2hhaW4gc2VxdWVuY2UgcGxhbnRpbmcgYHZhbHVlYCBhcyB0aGUgd3JhcHBlZCB2YWx1ZS5cbiAgICAgKlxuICAgICAqIEBuYW1lIHBsYW50XG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4yLjBcbiAgICAgKiBAY2F0ZWdvcnkgU2VxXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcGxhbnQuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IGBsb2Rhc2hgIHdyYXBwZXIgaW5zdGFuY2UuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIHNxdWFyZShuKSB7XG4gICAgICogICByZXR1cm4gbiAqIG47XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIHdyYXBwZWQgPSBfKFsxLCAyXSkubWFwKHNxdWFyZSk7XG4gICAgICogdmFyIG90aGVyID0gd3JhcHBlZC5wbGFudChbMywgNF0pO1xuICAgICAqXG4gICAgICogb3RoZXIudmFsdWUoKTtcbiAgICAgKiAvLyA9PiBbOSwgMTZdXG4gICAgICpcbiAgICAgKiB3cmFwcGVkLnZhbHVlKCk7XG4gICAgICogLy8gPT4gWzEsIDRdXG4gICAgICovXG4gICAgZnVuY3Rpb24gd3JhcHBlclBsYW50KHZhbHVlKSB7XG4gICAgICB2YXIgcmVzdWx0LFxuICAgICAgICAgIHBhcmVudCA9IHRoaXM7XG5cbiAgICAgIHdoaWxlIChwYXJlbnQgaW5zdGFuY2VvZiBiYXNlTG9kYXNoKSB7XG4gICAgICAgIHZhciBjbG9uZSA9IHdyYXBwZXJDbG9uZShwYXJlbnQpO1xuICAgICAgICBjbG9uZS5fX2luZGV4X18gPSAwO1xuICAgICAgICBjbG9uZS5fX3ZhbHVlc19fID0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgcHJldmlvdXMuX193cmFwcGVkX18gPSBjbG9uZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXN1bHQgPSBjbG9uZTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcHJldmlvdXMgPSBjbG9uZTtcbiAgICAgICAgcGFyZW50ID0gcGFyZW50Ll9fd3JhcHBlZF9fO1xuICAgICAgfVxuICAgICAgcHJldmlvdXMuX193cmFwcGVkX18gPSB2YWx1ZTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgdGhlIHdyYXBwZXIgdmVyc2lvbiBvZiBgXy5yZXZlcnNlYC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIHRoZSB3cmFwcGVkIGFycmF5LlxuICAgICAqXG4gICAgICogQG5hbWUgcmV2ZXJzZVxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IFNlcVxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBgbG9kYXNoYCB3cmFwcGVyIGluc3RhbmNlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBbMSwgMiwgM107XG4gICAgICpcbiAgICAgKiBfKGFycmF5KS5yZXZlcnNlKCkudmFsdWUoKVxuICAgICAqIC8vID0+IFszLCAyLCAxXVxuICAgICAqXG4gICAgICogY29uc29sZS5sb2coYXJyYXkpO1xuICAgICAqIC8vID0+IFszLCAyLCAxXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHdyYXBwZXJSZXZlcnNlKCkge1xuICAgICAgdmFyIHZhbHVlID0gdGhpcy5fX3dyYXBwZWRfXztcbiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIExhenlXcmFwcGVyKSB7XG4gICAgICAgIHZhciB3cmFwcGVkID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9fYWN0aW9uc19fLmxlbmd0aCkge1xuICAgICAgICAgIHdyYXBwZWQgPSBuZXcgTGF6eVdyYXBwZXIodGhpcyk7XG4gICAgICAgIH1cbiAgICAgICAgd3JhcHBlZCA9IHdyYXBwZWQucmV2ZXJzZSgpO1xuICAgICAgICB3cmFwcGVkLl9fYWN0aW9uc19fLnB1c2goe1xuICAgICAgICAgICdmdW5jJzogdGhydSxcbiAgICAgICAgICAnYXJncyc6IFtyZXZlcnNlXSxcbiAgICAgICAgICAndGhpc0FyZyc6IHVuZGVmaW5lZFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBMb2Rhc2hXcmFwcGVyKHdyYXBwZWQsIHRoaXMuX19jaGFpbl9fKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLnRocnUocmV2ZXJzZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhlY3V0ZXMgdGhlIGNoYWluIHNlcXVlbmNlIHRvIHJlc29sdmUgdGhlIHVud3JhcHBlZCB2YWx1ZS5cbiAgICAgKlxuICAgICAqIEBuYW1lIHZhbHVlXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAYWxpYXMgdG9KU09OLCB2YWx1ZU9mXG4gICAgICogQGNhdGVnb3J5IFNlcVxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSByZXNvbHZlZCB1bndyYXBwZWQgdmFsdWUuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8oWzEsIDIsIDNdKS52YWx1ZSgpO1xuICAgICAqIC8vID0+IFsxLCAyLCAzXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHdyYXBwZXJWYWx1ZSgpIHtcbiAgICAgIHJldHVybiBiYXNlV3JhcHBlclZhbHVlKHRoaXMuX193cmFwcGVkX18sIHRoaXMuX19hY3Rpb25zX18pO1xuICAgIH1cblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gb2JqZWN0IGNvbXBvc2VkIG9mIGtleXMgZ2VuZXJhdGVkIGZyb20gdGhlIHJlc3VsdHMgb2YgcnVubmluZ1xuICAgICAqIGVhY2ggZWxlbWVudCBvZiBgY29sbGVjdGlvbmAgdGhydSBgaXRlcmF0ZWVgLiBUaGUgY29ycmVzcG9uZGluZyB2YWx1ZSBvZlxuICAgICAqIGVhY2gga2V5IGlzIHRoZSBudW1iZXIgb2YgdGltZXMgdGhlIGtleSB3YXMgcmV0dXJuZWQgYnkgYGl0ZXJhdGVlYC4gVGhlXG4gICAgICogaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjUuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgaXRlcmF0ZWUgdG8gdHJhbnNmb3JtIGtleXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgY29tcG9zZWQgYWdncmVnYXRlIG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5jb3VudEJ5KFs2LjEsIDQuMiwgNi4zXSwgTWF0aC5mbG9vcik7XG4gICAgICogLy8gPT4geyAnNCc6IDEsICc2JzogMiB9XG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmNvdW50QnkoWydvbmUnLCAndHdvJywgJ3RocmVlJ10sICdsZW5ndGgnKTtcbiAgICAgKiAvLyA9PiB7ICczJzogMiwgJzUnOiAxIH1cbiAgICAgKi9cbiAgICB2YXIgY291bnRCeSA9IGNyZWF0ZUFnZ3JlZ2F0b3IoZnVuY3Rpb24ocmVzdWx0LCB2YWx1ZSwga2V5KSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChyZXN1bHQsIGtleSkpIHtcbiAgICAgICAgKytyZXN1bHRba2V5XTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJhc2VBc3NpZ25WYWx1ZShyZXN1bHQsIGtleSwgMSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHByZWRpY2F0ZWAgcmV0dXJucyB0cnV0aHkgZm9yICoqYWxsKiogZWxlbWVudHMgb2YgYGNvbGxlY3Rpb25gLlxuICAgICAqIEl0ZXJhdGlvbiBpcyBzdG9wcGVkIG9uY2UgYHByZWRpY2F0ZWAgcmV0dXJucyBmYWxzZXkuIFRoZSBwcmVkaWNhdGUgaXNcbiAgICAgKiBpbnZva2VkIHdpdGggdGhyZWUgYXJndW1lbnRzOiAodmFsdWUsIGluZGV4fGtleSwgY29sbGVjdGlvbikuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgcmV0dXJucyBgdHJ1ZWAgZm9yXG4gICAgICogW2VtcHR5IGNvbGxlY3Rpb25zXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9FbXB0eV9zZXQpIGJlY2F1c2VcbiAgICAgKiBbZXZlcnl0aGluZyBpcyB0cnVlXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9WYWN1b3VzX3RydXRoKSBvZlxuICAgICAqIGVsZW1lbnRzIG9mIGVtcHR5IGNvbGxlY3Rpb25zLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGFsbCBlbGVtZW50cyBwYXNzIHRoZSBwcmVkaWNhdGUgY2hlY2ssXG4gICAgICogIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5ldmVyeShbdHJ1ZSwgMSwgbnVsbCwgJ3llcyddLCBCb29sZWFuKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0gW1xuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknLCAnYWdlJzogMzYsICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAnYWdlJzogNDAsICdhY3RpdmUnOiBmYWxzZSB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzYCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5ldmVyeSh1c2VycywgeyAndXNlcic6ICdiYXJuZXknLCAnYWN0aXZlJzogZmFsc2UgfSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzUHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmV2ZXJ5KHVzZXJzLCBbJ2FjdGl2ZScsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5ldmVyeSh1c2VycywgJ2FjdGl2ZScpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gZXZlcnkoY29sbGVjdGlvbiwgcHJlZGljYXRlLCBndWFyZCkge1xuICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlFdmVyeSA6IGJhc2VFdmVyeTtcbiAgICAgIGlmIChndWFyZCAmJiBpc0l0ZXJhdGVlQ2FsbChjb2xsZWN0aW9uLCBwcmVkaWNhdGUsIGd1YXJkKSkge1xuICAgICAgICBwcmVkaWNhdGUgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBnZXRJdGVyYXRlZShwcmVkaWNhdGUsIDMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJdGVyYXRlcyBvdmVyIGVsZW1lbnRzIG9mIGBjb2xsZWN0aW9uYCwgcmV0dXJuaW5nIGFuIGFycmF5IG9mIGFsbCBlbGVtZW50c1xuICAgICAqIGBwcmVkaWNhdGVgIHJldHVybnMgdHJ1dGh5IGZvci4gVGhlIHByZWRpY2F0ZSBpcyBpbnZva2VkIHdpdGggdGhyZWVcbiAgICAgKiBhcmd1bWVudHM6ICh2YWx1ZSwgaW5kZXh8a2V5LCBjb2xsZWN0aW9uKS5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBVbmxpa2UgYF8ucmVtb3ZlYCwgdGhpcyBtZXRob2QgcmV0dXJucyBhIG5ldyBhcnJheS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBmaWx0ZXJlZCBhcnJheS5cbiAgICAgKiBAc2VlIF8ucmVqZWN0XG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FnZSc6IDM2LCAnYWN0aXZlJzogdHJ1ZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAnYWdlJzogNDAsICdhY3RpdmUnOiBmYWxzZSB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8uZmlsdGVyKHVzZXJzLCBmdW5jdGlvbihvKSB7IHJldHVybiAhby5hY3RpdmU7IH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnZnJlZCddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc2AgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmlsdGVyKHVzZXJzLCB7ICdhZ2UnOiAzNiwgJ2FjdGl2ZSc6IHRydWUgfSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydiYXJuZXknXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmlsdGVyKHVzZXJzLCBbJ2FjdGl2ZScsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydmcmVkJ11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmlsdGVyKHVzZXJzLCAnYWN0aXZlJyk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydiYXJuZXknXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZpbHRlcihjb2xsZWN0aW9uLCBwcmVkaWNhdGUpIHtcbiAgICAgIHZhciBmdW5jID0gaXNBcnJheShjb2xsZWN0aW9uKSA/IGFycmF5RmlsdGVyIDogYmFzZUZpbHRlcjtcbiAgICAgIHJldHVybiBmdW5jKGNvbGxlY3Rpb24sIGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEl0ZXJhdGVzIG92ZXIgZWxlbWVudHMgb2YgYGNvbGxlY3Rpb25gLCByZXR1cm5pbmcgdGhlIGZpcnN0IGVsZW1lbnRcbiAgICAgKiBgcHJlZGljYXRlYCByZXR1cm5zIHRydXRoeSBmb3IuIFRoZSBwcmVkaWNhdGUgaXMgaW52b2tlZCB3aXRoIHRocmVlXG4gICAgICogYXJndW1lbnRzOiAodmFsdWUsIGluZGV4fGtleSwgY29sbGVjdGlvbikuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbZnJvbUluZGV4PTBdIFRoZSBpbmRleCB0byBzZWFyY2ggZnJvbS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgbWF0Y2hlZCBlbGVtZW50LCBlbHNlIGB1bmRlZmluZWRgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICAnYWdlJzogMzYsICdhY3RpdmUnOiB0cnVlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICAnYWdlJzogNDAsICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdwZWJibGVzJywgJ2FnZSc6IDEsICAnYWN0aXZlJzogdHJ1ZSB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8uZmluZCh1c2VycywgZnVuY3Rpb24obykgeyByZXR1cm4gby5hZ2UgPCA0MDsgfSk7XG4gICAgICogLy8gPT4gb2JqZWN0IGZvciAnYmFybmV5J1xuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbmQodXNlcnMsIHsgJ2FnZSc6IDEsICdhY3RpdmUnOiB0cnVlIH0pO1xuICAgICAqIC8vID0+IG9iamVjdCBmb3IgJ3BlYmJsZXMnXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc1Byb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maW5kKHVzZXJzLCBbJ2FjdGl2ZScsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gb2JqZWN0IGZvciAnZnJlZCdcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZCh1c2VycywgJ2FjdGl2ZScpO1xuICAgICAqIC8vID0+IG9iamVjdCBmb3IgJ2Jhcm5leSdcbiAgICAgKi9cbiAgICB2YXIgZmluZCA9IGNyZWF0ZUZpbmQoZmluZEluZGV4KTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uZmluZGAgZXhjZXB0IHRoYXQgaXQgaXRlcmF0ZXMgb3ZlciBlbGVtZW50cyBvZlxuICAgICAqIGBjb2xsZWN0aW9uYCBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbZnJvbUluZGV4PWNvbGxlY3Rpb24ubGVuZ3RoLTFdIFRoZSBpbmRleCB0byBzZWFyY2ggZnJvbS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgbWF0Y2hlZCBlbGVtZW50LCBlbHNlIGB1bmRlZmluZWRgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmZpbmRMYXN0KFsxLCAyLCAzLCA0XSwgZnVuY3Rpb24obikge1xuICAgICAqICAgcmV0dXJuIG4gJSAyID09IDE7XG4gICAgICogfSk7XG4gICAgICogLy8gPT4gM1xuICAgICAqL1xuICAgIHZhciBmaW5kTGFzdCA9IGNyZWF0ZUZpbmQoZmluZExhc3RJbmRleCk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZmxhdHRlbmVkIGFycmF5IG9mIHZhbHVlcyBieSBydW5uaW5nIGVhY2ggZWxlbWVudCBpbiBgY29sbGVjdGlvbmBcbiAgICAgKiB0aHJ1IGBpdGVyYXRlZWAgYW5kIGZsYXR0ZW5pbmcgdGhlIG1hcHBlZCByZXN1bHRzLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZFxuICAgICAqIHdpdGggdGhyZWUgYXJndW1lbnRzOiAodmFsdWUsIGluZGV4fGtleSwgY29sbGVjdGlvbikuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBmbGF0dGVuZWQgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGR1cGxpY2F0ZShuKSB7XG4gICAgICogICByZXR1cm4gW24sIG5dO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIF8uZmxhdE1hcChbMSwgMl0sIGR1cGxpY2F0ZSk7XG4gICAgICogLy8gPT4gWzEsIDEsIDIsIDJdXG4gICAgICovXG4gICAgZnVuY3Rpb24gZmxhdE1hcChjb2xsZWN0aW9uLCBpdGVyYXRlZSkge1xuICAgICAgcmV0dXJuIGJhc2VGbGF0dGVuKG1hcChjb2xsZWN0aW9uLCBpdGVyYXRlZSksIDEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uZmxhdE1hcGAgZXhjZXB0IHRoYXQgaXQgcmVjdXJzaXZlbHkgZmxhdHRlbnMgdGhlXG4gICAgICogbWFwcGVkIHJlc3VsdHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC43LjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBmbGF0dGVuZWQgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGR1cGxpY2F0ZShuKSB7XG4gICAgICogICByZXR1cm4gW1tbbiwgbl1dXTtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBfLmZsYXRNYXBEZWVwKFsxLCAyXSwgZHVwbGljYXRlKTtcbiAgICAgKiAvLyA9PiBbMSwgMSwgMiwgMl1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmbGF0TWFwRGVlcChjb2xsZWN0aW9uLCBpdGVyYXRlZSkge1xuICAgICAgcmV0dXJuIGJhc2VGbGF0dGVuKG1hcChjb2xsZWN0aW9uLCBpdGVyYXRlZSksIElORklOSVRZKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmZsYXRNYXBgIGV4Y2VwdCB0aGF0IGl0IHJlY3Vyc2l2ZWx5IGZsYXR0ZW5zIHRoZVxuICAgICAqIG1hcHBlZCByZXN1bHRzIHVwIHRvIGBkZXB0aGAgdGltZXMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC43LjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2RlcHRoPTFdIFRoZSBtYXhpbXVtIHJlY3Vyc2lvbiBkZXB0aC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBmbGF0dGVuZWQgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGR1cGxpY2F0ZShuKSB7XG4gICAgICogICByZXR1cm4gW1tbbiwgbl1dXTtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBfLmZsYXRNYXBEZXB0aChbMSwgMl0sIGR1cGxpY2F0ZSwgMik7XG4gICAgICogLy8gPT4gW1sxLCAxXSwgWzIsIDJdXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZsYXRNYXBEZXB0aChjb2xsZWN0aW9uLCBpdGVyYXRlZSwgZGVwdGgpIHtcbiAgICAgIGRlcHRoID0gZGVwdGggPT09IHVuZGVmaW5lZCA/IDEgOiB0b0ludGVnZXIoZGVwdGgpO1xuICAgICAgcmV0dXJuIGJhc2VGbGF0dGVuKG1hcChjb2xsZWN0aW9uLCBpdGVyYXRlZSksIGRlcHRoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJdGVyYXRlcyBvdmVyIGVsZW1lbnRzIG9mIGBjb2xsZWN0aW9uYCBhbmQgaW52b2tlcyBgaXRlcmF0ZWVgIGZvciBlYWNoIGVsZW1lbnQuXG4gICAgICogVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCB0aHJlZSBhcmd1bWVudHM6ICh2YWx1ZSwgaW5kZXh8a2V5LCBjb2xsZWN0aW9uKS5cbiAgICAgKiBJdGVyYXRlZSBmdW5jdGlvbnMgbWF5IGV4aXQgaXRlcmF0aW9uIGVhcmx5IGJ5IGV4cGxpY2l0bHkgcmV0dXJuaW5nIGBmYWxzZWAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogQXMgd2l0aCBvdGhlciBcIkNvbGxlY3Rpb25zXCIgbWV0aG9kcywgb2JqZWN0cyB3aXRoIGEgXCJsZW5ndGhcIlxuICAgICAqIHByb3BlcnR5IGFyZSBpdGVyYXRlZCBsaWtlIGFycmF5cy4gVG8gYXZvaWQgdGhpcyBiZWhhdmlvciB1c2UgYF8uZm9ySW5gXG4gICAgICogb3IgYF8uZm9yT3duYCBmb3Igb2JqZWN0IGl0ZXJhdGlvbi5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBhbGlhcyBlYWNoXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fE9iamVjdH0gUmV0dXJucyBgY29sbGVjdGlvbmAuXG4gICAgICogQHNlZSBfLmZvckVhY2hSaWdodFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmZvckVhY2goWzEsIDJdLCBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAqICAgY29uc29sZS5sb2codmFsdWUpO1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+IExvZ3MgYDFgIHRoZW4gYDJgLlxuICAgICAqXG4gICAgICogXy5mb3JFYWNoKHsgJ2EnOiAxLCAnYic6IDIgfSwgZnVuY3Rpb24odmFsdWUsIGtleSkge1xuICAgICAqICAgY29uc29sZS5sb2coa2V5KTtcbiAgICAgKiB9KTtcbiAgICAgKiAvLyA9PiBMb2dzICdhJyB0aGVuICdiJyAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmb3JFYWNoKGNvbGxlY3Rpb24sIGl0ZXJhdGVlKSB7XG4gICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheUVhY2ggOiBiYXNlRWFjaDtcbiAgICAgIHJldHVybiBmdW5jKGNvbGxlY3Rpb24sIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5mb3JFYWNoYCBleGNlcHQgdGhhdCBpdCBpdGVyYXRlcyBvdmVyIGVsZW1lbnRzIG9mXG4gICAgICogYGNvbGxlY3Rpb25gIGZyb20gcmlnaHQgdG8gbGVmdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAyLjAuMFxuICAgICAqIEBhbGlhcyBlYWNoUmlnaHRcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl8T2JqZWN0fSBSZXR1cm5zIGBjb2xsZWN0aW9uYC5cbiAgICAgKiBAc2VlIF8uZm9yRWFjaFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmZvckVhY2hSaWdodChbMSwgMl0sIGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICogICBjb25zb2xlLmxvZyh2YWx1ZSk7XG4gICAgICogfSk7XG4gICAgICogLy8gPT4gTG9ncyBgMmAgdGhlbiBgMWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZm9yRWFjaFJpZ2h0KGNvbGxlY3Rpb24sIGl0ZXJhdGVlKSB7XG4gICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheUVhY2hSaWdodCA6IGJhc2VFYWNoUmlnaHQ7XG4gICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gb2JqZWN0IGNvbXBvc2VkIG9mIGtleXMgZ2VuZXJhdGVkIGZyb20gdGhlIHJlc3VsdHMgb2YgcnVubmluZ1xuICAgICAqIGVhY2ggZWxlbWVudCBvZiBgY29sbGVjdGlvbmAgdGhydSBgaXRlcmF0ZWVgLiBUaGUgb3JkZXIgb2YgZ3JvdXBlZCB2YWx1ZXNcbiAgICAgKiBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBvcmRlciB0aGV5IG9jY3VyIGluIGBjb2xsZWN0aW9uYC4gVGhlIGNvcnJlc3BvbmRpbmdcbiAgICAgKiB2YWx1ZSBvZiBlYWNoIGtleSBpcyBhbiBhcnJheSBvZiBlbGVtZW50cyByZXNwb25zaWJsZSBmb3IgZ2VuZXJhdGluZyB0aGVcbiAgICAgKiBrZXkuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OiAodmFsdWUpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSB0byB0cmFuc2Zvcm0ga2V5cy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBjb21wb3NlZCBhZ2dyZWdhdGUgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmdyb3VwQnkoWzYuMSwgNC4yLCA2LjNdLCBNYXRoLmZsb29yKTtcbiAgICAgKiAvLyA9PiB7ICc0JzogWzQuMl0sICc2JzogWzYuMSwgNi4zXSB9XG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmdyb3VwQnkoWydvbmUnLCAndHdvJywgJ3RocmVlJ10sICdsZW5ndGgnKTtcbiAgICAgKiAvLyA9PiB7ICczJzogWydvbmUnLCAndHdvJ10sICc1JzogWyd0aHJlZSddIH1cbiAgICAgKi9cbiAgICB2YXIgZ3JvdXBCeSA9IGNyZWF0ZUFnZ3JlZ2F0b3IoZnVuY3Rpb24ocmVzdWx0LCB2YWx1ZSwga2V5KSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChyZXN1bHQsIGtleSkpIHtcbiAgICAgICAgcmVzdWx0W2tleV0ucHVzaCh2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBiYXNlQXNzaWduVmFsdWUocmVzdWx0LCBrZXksIFt2YWx1ZV0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgaW4gYGNvbGxlY3Rpb25gLiBJZiBgY29sbGVjdGlvbmAgaXMgYSBzdHJpbmcsIGl0J3NcbiAgICAgKiBjaGVja2VkIGZvciBhIHN1YnN0cmluZyBvZiBgdmFsdWVgLCBvdGhlcndpc2VcbiAgICAgKiBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICAgICAqIGlzIHVzZWQgZm9yIGVxdWFsaXR5IGNvbXBhcmlzb25zLiBJZiBgZnJvbUluZGV4YCBpcyBuZWdhdGl2ZSwgaXQncyB1c2VkIGFzXG4gICAgICogdGhlIG9mZnNldCBmcm9tIHRoZSBlbmQgb2YgYGNvbGxlY3Rpb25gLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdHxzdHJpbmd9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZWFyY2ggZm9yLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbZnJvbUluZGV4PTBdIFRoZSBpbmRleCB0byBzZWFyY2ggZnJvbS5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5yZWR1Y2VgLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGZvdW5kLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaW5jbHVkZXMoWzEsIDIsIDNdLCAxKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmluY2x1ZGVzKFsxLCAyLCAzXSwgMSwgMik7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaW5jbHVkZXMoeyAnYSc6IDEsICdiJzogMiB9LCAxKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmluY2x1ZGVzKCdhYmNkJywgJ2JjJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGluY2x1ZGVzKGNvbGxlY3Rpb24sIHZhbHVlLCBmcm9tSW5kZXgsIGd1YXJkKSB7XG4gICAgICBjb2xsZWN0aW9uID0gaXNBcnJheUxpa2UoY29sbGVjdGlvbikgPyBjb2xsZWN0aW9uIDogdmFsdWVzKGNvbGxlY3Rpb24pO1xuICAgICAgZnJvbUluZGV4ID0gKGZyb21JbmRleCAmJiAhZ3VhcmQpID8gdG9JbnRlZ2VyKGZyb21JbmRleCkgOiAwO1xuXG4gICAgICB2YXIgbGVuZ3RoID0gY29sbGVjdGlvbi5sZW5ndGg7XG4gICAgICBpZiAoZnJvbUluZGV4IDwgMCkge1xuICAgICAgICBmcm9tSW5kZXggPSBuYXRpdmVNYXgobGVuZ3RoICsgZnJvbUluZGV4LCAwKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBpc1N0cmluZyhjb2xsZWN0aW9uKVxuICAgICAgICA/IChmcm9tSW5kZXggPD0gbGVuZ3RoICYmIGNvbGxlY3Rpb24uaW5kZXhPZih2YWx1ZSwgZnJvbUluZGV4KSA+IC0xKVxuICAgICAgICA6ICghIWxlbmd0aCAmJiBiYXNlSW5kZXhPZihjb2xsZWN0aW9uLCB2YWx1ZSwgZnJvbUluZGV4KSA+IC0xKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbnZva2VzIHRoZSBtZXRob2QgYXQgYHBhdGhgIG9mIGVhY2ggZWxlbWVudCBpbiBgY29sbGVjdGlvbmAsIHJldHVybmluZ1xuICAgICAqIGFuIGFycmF5IG9mIHRoZSByZXN1bHRzIG9mIGVhY2ggaW52b2tlZCBtZXRob2QuIEFueSBhZGRpdGlvbmFsIGFyZ3VtZW50c1xuICAgICAqIGFyZSBwcm92aWRlZCB0byBlYWNoIGludm9rZWQgbWV0aG9kLiBJZiBgcGF0aGAgaXMgYSBmdW5jdGlvbiwgaXQncyBpbnZva2VkXG4gICAgICogZm9yLCBhbmQgYHRoaXNgIGJvdW5kIHRvLCBlYWNoIGVsZW1lbnQgaW4gYGNvbGxlY3Rpb25gLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtBcnJheXxGdW5jdGlvbnxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIG1ldGhvZCB0byBpbnZva2Ugb3JcbiAgICAgKiAgdGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0gey4uLip9IFthcmdzXSBUaGUgYXJndW1lbnRzIHRvIGludm9rZSBlYWNoIG1ldGhvZCB3aXRoLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcmVzdWx0cy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pbnZva2VNYXAoW1s1LCAxLCA3XSwgWzMsIDIsIDFdXSwgJ3NvcnQnKTtcbiAgICAgKiAvLyA9PiBbWzEsIDUsIDddLCBbMSwgMiwgM11dXG4gICAgICpcbiAgICAgKiBfLmludm9rZU1hcChbMTIzLCA0NTZdLCBTdHJpbmcucHJvdG90eXBlLnNwbGl0LCAnJyk7XG4gICAgICogLy8gPT4gW1snMScsICcyJywgJzMnXSwgWyc0JywgJzUnLCAnNiddXVxuICAgICAqL1xuICAgIHZhciBpbnZva2VNYXAgPSBiYXNlUmVzdChmdW5jdGlvbihjb2xsZWN0aW9uLCBwYXRoLCBhcmdzKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBpc0Z1bmMgPSB0eXBlb2YgcGF0aCA9PSAnZnVuY3Rpb24nLFxuICAgICAgICAgIHJlc3VsdCA9IGlzQXJyYXlMaWtlKGNvbGxlY3Rpb24pID8gQXJyYXkoY29sbGVjdGlvbi5sZW5ndGgpIDogW107XG5cbiAgICAgIGJhc2VFYWNoKGNvbGxlY3Rpb24sIGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICAgIHJlc3VsdFsrK2luZGV4XSA9IGlzRnVuYyA/IGFwcGx5KHBhdGgsIHZhbHVlLCBhcmdzKSA6IGJhc2VJbnZva2UodmFsdWUsIHBhdGgsIGFyZ3MpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBvYmplY3QgY29tcG9zZWQgb2Yga2V5cyBnZW5lcmF0ZWQgZnJvbSB0aGUgcmVzdWx0cyBvZiBydW5uaW5nXG4gICAgICogZWFjaCBlbGVtZW50IG9mIGBjb2xsZWN0aW9uYCB0aHJ1IGBpdGVyYXRlZWAuIFRoZSBjb3JyZXNwb25kaW5nIHZhbHVlIG9mXG4gICAgICogZWFjaCBrZXkgaXMgdGhlIGxhc3QgZWxlbWVudCByZXNwb25zaWJsZSBmb3IgZ2VuZXJhdGluZyB0aGUga2V5LiBUaGVcbiAgICAgKiBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OiAodmFsdWUpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSB0byB0cmFuc2Zvcm0ga2V5cy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBjb21wb3NlZCBhZ2dyZWdhdGUgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBbXG4gICAgICogICB7ICdkaXInOiAnbGVmdCcsICdjb2RlJzogOTcgfSxcbiAgICAgKiAgIHsgJ2Rpcic6ICdyaWdodCcsICdjb2RlJzogMTAwIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogXy5rZXlCeShhcnJheSwgZnVuY3Rpb24obykge1xuICAgICAqICAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoby5jb2RlKTtcbiAgICAgKiB9KTtcbiAgICAgKiAvLyA9PiB7ICdhJzogeyAnZGlyJzogJ2xlZnQnLCAnY29kZSc6IDk3IH0sICdkJzogeyAnZGlyJzogJ3JpZ2h0JywgJ2NvZGUnOiAxMDAgfSB9XG4gICAgICpcbiAgICAgKiBfLmtleUJ5KGFycmF5LCAnZGlyJyk7XG4gICAgICogLy8gPT4geyAnbGVmdCc6IHsgJ2Rpcic6ICdsZWZ0JywgJ2NvZGUnOiA5NyB9LCAncmlnaHQnOiB7ICdkaXInOiAncmlnaHQnLCAnY29kZSc6IDEwMCB9IH1cbiAgICAgKi9cbiAgICB2YXIga2V5QnkgPSBjcmVhdGVBZ2dyZWdhdG9yKGZ1bmN0aW9uKHJlc3VsdCwgdmFsdWUsIGtleSkge1xuICAgICAgYmFzZUFzc2lnblZhbHVlKHJlc3VsdCwga2V5LCB2YWx1ZSk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIHZhbHVlcyBieSBydW5uaW5nIGVhY2ggZWxlbWVudCBpbiBgY29sbGVjdGlvbmAgdGhydVxuICAgICAqIGBpdGVyYXRlZWAuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggdGhyZWUgYXJndW1lbnRzOlxuICAgICAqICh2YWx1ZSwgaW5kZXh8a2V5LCBjb2xsZWN0aW9uKS5cbiAgICAgKlxuICAgICAqIE1hbnkgbG9kYXNoIG1ldGhvZHMgYXJlIGd1YXJkZWQgdG8gd29yayBhcyBpdGVyYXRlZXMgZm9yIG1ldGhvZHMgbGlrZVxuICAgICAqIGBfLmV2ZXJ5YCwgYF8uZmlsdGVyYCwgYF8ubWFwYCwgYF8ubWFwVmFsdWVzYCwgYF8ucmVqZWN0YCwgYW5kIGBfLnNvbWVgLlxuICAgICAqXG4gICAgICogVGhlIGd1YXJkZWQgbWV0aG9kcyBhcmU6XG4gICAgICogYGFyeWAsIGBjaHVua2AsIGBjdXJyeWAsIGBjdXJyeVJpZ2h0YCwgYGRyb3BgLCBgZHJvcFJpZ2h0YCwgYGV2ZXJ5YCxcbiAgICAgKiBgZmlsbGAsIGBpbnZlcnRgLCBgcGFyc2VJbnRgLCBgcmFuZG9tYCwgYHJhbmdlYCwgYHJhbmdlUmlnaHRgLCBgcmVwZWF0YCxcbiAgICAgKiBgc2FtcGxlU2l6ZWAsIGBzbGljZWAsIGBzb21lYCwgYHNvcnRCeWAsIGBzcGxpdGAsIGB0YWtlYCwgYHRha2VSaWdodGAsXG4gICAgICogYHRlbXBsYXRlYCwgYHRyaW1gLCBgdHJpbUVuZGAsIGB0cmltU3RhcnRgLCBhbmQgYHdvcmRzYFxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgbWFwcGVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBzcXVhcmUobikge1xuICAgICAqICAgcmV0dXJuIG4gKiBuO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIF8ubWFwKFs0LCA4XSwgc3F1YXJlKTtcbiAgICAgKiAvLyA9PiBbMTYsIDY0XVxuICAgICAqXG4gICAgICogXy5tYXAoeyAnYSc6IDQsICdiJzogOCB9LCBzcXVhcmUpO1xuICAgICAqIC8vID0+IFsxNiwgNjRdIChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLm1hcCh1c2VycywgJ3VzZXInKTtcbiAgICAgKiAvLyA9PiBbJ2Jhcm5leScsICdmcmVkJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXAoY29sbGVjdGlvbiwgaXRlcmF0ZWUpIHtcbiAgICAgIHZhciBmdW5jID0gaXNBcnJheShjb2xsZWN0aW9uKSA/IGFycmF5TWFwIDogYmFzZU1hcDtcbiAgICAgIHJldHVybiBmdW5jKGNvbGxlY3Rpb24sIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5zb3J0QnlgIGV4Y2VwdCB0aGF0IGl0IGFsbG93cyBzcGVjaWZ5aW5nIHRoZSBzb3J0XG4gICAgICogb3JkZXJzIG9mIHRoZSBpdGVyYXRlZXMgdG8gc29ydCBieS4gSWYgYG9yZGVyc2AgaXMgdW5zcGVjaWZpZWQsIGFsbCB2YWx1ZXNcbiAgICAgKiBhcmUgc29ydGVkIGluIGFzY2VuZGluZyBvcmRlci4gT3RoZXJ3aXNlLCBzcGVjaWZ5IGFuIG9yZGVyIG9mIFwiZGVzY1wiIGZvclxuICAgICAqIGRlc2NlbmRpbmcgb3IgXCJhc2NcIiBmb3IgYXNjZW5kaW5nIHNvcnQgb3JkZXIgb2YgY29ycmVzcG9uZGluZyB2YWx1ZXMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0FycmF5W118RnVuY3Rpb25bXXxPYmplY3RbXXxzdHJpbmdbXX0gW2l0ZXJhdGVlcz1bXy5pZGVudGl0eV1dXG4gICAgICogIFRoZSBpdGVyYXRlZXMgdG8gc29ydCBieS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbb3JkZXJzXSBUaGUgc29ydCBvcmRlcnMgb2YgYGl0ZXJhdGVlc2AuXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ucmVkdWNlYC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBzb3J0ZWQgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgJ2FnZSc6IDQ4IH0sXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICdhZ2UnOiAzNCB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAnYWdlJzogNDAgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FnZSc6IDM2IH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogLy8gU29ydCBieSBgdXNlcmAgaW4gYXNjZW5kaW5nIG9yZGVyIGFuZCBieSBgYWdlYCBpbiBkZXNjZW5kaW5nIG9yZGVyLlxuICAgICAqIF8ub3JkZXJCeSh1c2VycywgWyd1c2VyJywgJ2FnZSddLCBbJ2FzYycsICdkZXNjJ10pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFtbJ2Jhcm5leScsIDM2XSwgWydiYXJuZXknLCAzNF0sIFsnZnJlZCcsIDQ4XSwgWydmcmVkJywgNDBdXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG9yZGVyQnkoY29sbGVjdGlvbiwgaXRlcmF0ZWVzLCBvcmRlcnMsIGd1YXJkKSB7XG4gICAgICBpZiAoY29sbGVjdGlvbiA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIGlmICghaXNBcnJheShpdGVyYXRlZXMpKSB7XG4gICAgICAgIGl0ZXJhdGVlcyA9IGl0ZXJhdGVlcyA9PSBudWxsID8gW10gOiBbaXRlcmF0ZWVzXTtcbiAgICAgIH1cbiAgICAgIG9yZGVycyA9IGd1YXJkID8gdW5kZWZpbmVkIDogb3JkZXJzO1xuICAgICAgaWYgKCFpc0FycmF5KG9yZGVycykpIHtcbiAgICAgICAgb3JkZXJzID0gb3JkZXJzID09IG51bGwgPyBbXSA6IFtvcmRlcnNdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VPcmRlckJ5KGNvbGxlY3Rpb24sIGl0ZXJhdGVlcywgb3JkZXJzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIGVsZW1lbnRzIHNwbGl0IGludG8gdHdvIGdyb3VwcywgdGhlIGZpcnN0IG9mIHdoaWNoXG4gICAgICogY29udGFpbnMgZWxlbWVudHMgYHByZWRpY2F0ZWAgcmV0dXJucyB0cnV0aHkgZm9yLCB0aGUgc2Vjb25kIG9mIHdoaWNoXG4gICAgICogY29udGFpbnMgZWxlbWVudHMgYHByZWRpY2F0ZWAgcmV0dXJucyBmYWxzZXkgZm9yLiBUaGUgcHJlZGljYXRlIGlzXG4gICAgICogaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIGdyb3VwZWQgZWxlbWVudHMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgICdhZ2UnOiAzNiwgJ2FjdGl2ZSc6IGZhbHNlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICAnYWdlJzogNDAsICdhY3RpdmUnOiB0cnVlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ3BlYmJsZXMnLCAnYWdlJzogMSwgICdhY3RpdmUnOiBmYWxzZSB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8ucGFydGl0aW9uKHVzZXJzLCBmdW5jdGlvbihvKSB7IHJldHVybiBvLmFjdGl2ZTsgfSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgW1snZnJlZCddLCBbJ2Jhcm5leScsICdwZWJibGVzJ11dXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc2AgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8ucGFydGl0aW9uKHVzZXJzLCB7ICdhZ2UnOiAxLCAnYWN0aXZlJzogZmFsc2UgfSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgW1sncGViYmxlcyddLCBbJ2Jhcm5leScsICdmcmVkJ11dXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc1Byb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5wYXJ0aXRpb24odXNlcnMsIFsnYWN0aXZlJywgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbWydiYXJuZXknLCAncGViYmxlcyddLCBbJ2ZyZWQnXV1cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8ucGFydGl0aW9uKHVzZXJzLCAnYWN0aXZlJyk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgW1snZnJlZCddLCBbJ2Jhcm5leScsICdwZWJibGVzJ11dXG4gICAgICovXG4gICAgdmFyIHBhcnRpdGlvbiA9IGNyZWF0ZUFnZ3JlZ2F0b3IoZnVuY3Rpb24ocmVzdWx0LCB2YWx1ZSwga2V5KSB7XG4gICAgICByZXN1bHRba2V5ID8gMCA6IDFdLnB1c2godmFsdWUpO1xuICAgIH0sIGZ1bmN0aW9uKCkgeyByZXR1cm4gW1tdLCBbXV07IH0pO1xuXG4gICAgLyoqXG4gICAgICogUmVkdWNlcyBgY29sbGVjdGlvbmAgdG8gYSB2YWx1ZSB3aGljaCBpcyB0aGUgYWNjdW11bGF0ZWQgcmVzdWx0IG9mIHJ1bm5pbmdcbiAgICAgKiBlYWNoIGVsZW1lbnQgaW4gYGNvbGxlY3Rpb25gIHRocnUgYGl0ZXJhdGVlYCwgd2hlcmUgZWFjaCBzdWNjZXNzaXZlXG4gICAgICogaW52b2NhdGlvbiBpcyBzdXBwbGllZCB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBwcmV2aW91cy4gSWYgYGFjY3VtdWxhdG9yYFxuICAgICAqIGlzIG5vdCBnaXZlbiwgdGhlIGZpcnN0IGVsZW1lbnQgb2YgYGNvbGxlY3Rpb25gIGlzIHVzZWQgYXMgdGhlIGluaXRpYWxcbiAgICAgKiB2YWx1ZS4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBmb3VyIGFyZ3VtZW50czpcbiAgICAgKiAoYWNjdW11bGF0b3IsIHZhbHVlLCBpbmRleHxrZXksIGNvbGxlY3Rpb24pLlxuICAgICAqXG4gICAgICogTWFueSBsb2Rhc2ggbWV0aG9kcyBhcmUgZ3VhcmRlZCB0byB3b3JrIGFzIGl0ZXJhdGVlcyBmb3IgbWV0aG9kcyBsaWtlXG4gICAgICogYF8ucmVkdWNlYCwgYF8ucmVkdWNlUmlnaHRgLCBhbmQgYF8udHJhbnNmb3JtYC5cbiAgICAgKlxuICAgICAqIFRoZSBndWFyZGVkIG1ldGhvZHMgYXJlOlxuICAgICAqIGBhc3NpZ25gLCBgZGVmYXVsdHNgLCBgZGVmYXVsdHNEZWVwYCwgYGluY2x1ZGVzYCwgYG1lcmdlYCwgYG9yZGVyQnlgLFxuICAgICAqIGFuZCBgc29ydEJ5YFxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHsqfSBbYWNjdW11bGF0b3JdIFRoZSBpbml0aWFsIHZhbHVlLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBhY2N1bXVsYXRlZCB2YWx1ZS5cbiAgICAgKiBAc2VlIF8ucmVkdWNlUmlnaHRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5yZWR1Y2UoWzEsIDJdLCBmdW5jdGlvbihzdW0sIG4pIHtcbiAgICAgKiAgIHJldHVybiBzdW0gKyBuO1xuICAgICAqIH0sIDApO1xuICAgICAqIC8vID0+IDNcbiAgICAgKlxuICAgICAqIF8ucmVkdWNlKHsgJ2EnOiAxLCAnYic6IDIsICdjJzogMSB9LCBmdW5jdGlvbihyZXN1bHQsIHZhbHVlLCBrZXkpIHtcbiAgICAgKiAgIChyZXN1bHRbdmFsdWVdIHx8IChyZXN1bHRbdmFsdWVdID0gW10pKS5wdXNoKGtleSk7XG4gICAgICogICByZXR1cm4gcmVzdWx0O1xuICAgICAqIH0sIHt9KTtcbiAgICAgKiAvLyA9PiB7ICcxJzogWydhJywgJ2MnXSwgJzInOiBbJ2InXSB9IChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpXG4gICAgICovXG4gICAgZnVuY3Rpb24gcmVkdWNlKGNvbGxlY3Rpb24sIGl0ZXJhdGVlLCBhY2N1bXVsYXRvcikge1xuICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlSZWR1Y2UgOiBiYXNlUmVkdWNlLFxuICAgICAgICAgIGluaXRBY2N1bSA9IGFyZ3VtZW50cy5sZW5ndGggPCAzO1xuXG4gICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgNCksIGFjY3VtdWxhdG9yLCBpbml0QWNjdW0sIGJhc2VFYWNoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnJlZHVjZWAgZXhjZXB0IHRoYXQgaXQgaXRlcmF0ZXMgb3ZlciBlbGVtZW50cyBvZlxuICAgICAqIGBjb2xsZWN0aW9uYCBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0geyp9IFthY2N1bXVsYXRvcl0gVGhlIGluaXRpYWwgdmFsdWUuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGFjY3VtdWxhdGVkIHZhbHVlLlxuICAgICAqIEBzZWUgXy5yZWR1Y2VcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gW1swLCAxXSwgWzIsIDNdLCBbNCwgNV1dO1xuICAgICAqXG4gICAgICogXy5yZWR1Y2VSaWdodChhcnJheSwgZnVuY3Rpb24oZmxhdHRlbmVkLCBvdGhlcikge1xuICAgICAqICAgcmV0dXJuIGZsYXR0ZW5lZC5jb25jYXQob3RoZXIpO1xuICAgICAqIH0sIFtdKTtcbiAgICAgKiAvLyA9PiBbNCwgNSwgMiwgMywgMCwgMV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiByZWR1Y2VSaWdodChjb2xsZWN0aW9uLCBpdGVyYXRlZSwgYWNjdW11bGF0b3IpIHtcbiAgICAgIHZhciBmdW5jID0gaXNBcnJheShjb2xsZWN0aW9uKSA/IGFycmF5UmVkdWNlUmlnaHQgOiBiYXNlUmVkdWNlLFxuICAgICAgICAgIGluaXRBY2N1bSA9IGFyZ3VtZW50cy5sZW5ndGggPCAzO1xuXG4gICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgNCksIGFjY3VtdWxhdG9yLCBpbml0QWNjdW0sIGJhc2VFYWNoUmlnaHQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBvcHBvc2l0ZSBvZiBgXy5maWx0ZXJgOyB0aGlzIG1ldGhvZCByZXR1cm5zIHRoZSBlbGVtZW50cyBvZiBgY29sbGVjdGlvbmBcbiAgICAgKiB0aGF0IGBwcmVkaWNhdGVgIGRvZXMgKipub3QqKiByZXR1cm4gdHJ1dGh5IGZvci5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBmaWx0ZXJlZCBhcnJheS5cbiAgICAgKiBAc2VlIF8uZmlsdGVyXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FnZSc6IDM2LCAnYWN0aXZlJzogZmFsc2UgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgJ2FnZSc6IDQwLCAnYWN0aXZlJzogdHJ1ZSB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8ucmVqZWN0KHVzZXJzLCBmdW5jdGlvbihvKSB7IHJldHVybiAhby5hY3RpdmU7IH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnZnJlZCddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc2AgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8ucmVqZWN0KHVzZXJzLCB7ICdhZ2UnOiA0MCwgJ2FjdGl2ZSc6IHRydWUgfSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydiYXJuZXknXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8ucmVqZWN0KHVzZXJzLCBbJ2FjdGl2ZScsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydmcmVkJ11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8ucmVqZWN0KHVzZXJzLCAnYWN0aXZlJyk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydiYXJuZXknXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHJlamVjdChjb2xsZWN0aW9uLCBwcmVkaWNhdGUpIHtcbiAgICAgIHZhciBmdW5jID0gaXNBcnJheShjb2xsZWN0aW9uKSA/IGFycmF5RmlsdGVyIDogYmFzZUZpbHRlcjtcbiAgICAgIHJldHVybiBmdW5jKGNvbGxlY3Rpb24sIG5lZ2F0ZShnZXRJdGVyYXRlZShwcmVkaWNhdGUsIDMpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhIHJhbmRvbSBlbGVtZW50IGZyb20gYGNvbGxlY3Rpb25gLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuMC4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBzYW1wbGUuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJhbmRvbSBlbGVtZW50LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnNhbXBsZShbMSwgMiwgMywgNF0pO1xuICAgICAqIC8vID0+IDJcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzYW1wbGUoY29sbGVjdGlvbikge1xuICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlTYW1wbGUgOiBiYXNlU2FtcGxlO1xuICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBgbmAgcmFuZG9tIGVsZW1lbnRzIGF0IHVuaXF1ZSBrZXlzIGZyb20gYGNvbGxlY3Rpb25gIHVwIHRvIHRoZVxuICAgICAqIHNpemUgb2YgYGNvbGxlY3Rpb25gLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBzYW1wbGUuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtuPTFdIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgdG8gc2FtcGxlLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSByYW5kb20gZWxlbWVudHMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uc2FtcGxlU2l6ZShbMSwgMiwgM10sIDIpO1xuICAgICAqIC8vID0+IFszLCAxXVxuICAgICAqXG4gICAgICogXy5zYW1wbGVTaXplKFsxLCAyLCAzXSwgNCk7XG4gICAgICogLy8gPT4gWzIsIDMsIDFdXG4gICAgICovXG4gICAgZnVuY3Rpb24gc2FtcGxlU2l6ZShjb2xsZWN0aW9uLCBuLCBndWFyZCkge1xuICAgICAgaWYgKChndWFyZCA/IGlzSXRlcmF0ZWVDYWxsKGNvbGxlY3Rpb24sIG4sIGd1YXJkKSA6IG4gPT09IHVuZGVmaW5lZCkpIHtcbiAgICAgICAgbiA9IDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuID0gdG9JbnRlZ2VyKG4pO1xuICAgICAgfVxuICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlTYW1wbGVTaXplIDogYmFzZVNhbXBsZVNpemU7XG4gICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBuKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIHNodWZmbGVkIHZhbHVlcywgdXNpbmcgYSB2ZXJzaW9uIG9mIHRoZVxuICAgICAqIFtGaXNoZXItWWF0ZXMgc2h1ZmZsZV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRmlzaGVyLVlhdGVzX3NodWZmbGUpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBzaHVmZmxlLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IHNodWZmbGVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnNodWZmbGUoWzEsIDIsIDMsIDRdKTtcbiAgICAgKiAvLyA9PiBbNCwgMSwgMywgMl1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzaHVmZmxlKGNvbGxlY3Rpb24pIHtcbiAgICAgIHZhciBmdW5jID0gaXNBcnJheShjb2xsZWN0aW9uKSA/IGFycmF5U2h1ZmZsZSA6IGJhc2VTaHVmZmxlO1xuICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgc2l6ZSBvZiBgY29sbGVjdGlvbmAgYnkgcmV0dXJuaW5nIGl0cyBsZW5ndGggZm9yIGFycmF5LWxpa2VcbiAgICAgKiB2YWx1ZXMgb3IgdGhlIG51bWJlciBvZiBvd24gZW51bWVyYWJsZSBzdHJpbmcga2V5ZWQgcHJvcGVydGllcyBmb3Igb2JqZWN0cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R8c3RyaW5nfSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgY29sbGVjdGlvbiBzaXplLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnNpemUoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiAzXG4gICAgICpcbiAgICAgKiBfLnNpemUoeyAnYSc6IDEsICdiJzogMiB9KTtcbiAgICAgKiAvLyA9PiAyXG4gICAgICpcbiAgICAgKiBfLnNpemUoJ3BlYmJsZXMnKTtcbiAgICAgKiAvLyA9PiA3XG4gICAgICovXG4gICAgZnVuY3Rpb24gc2l6ZShjb2xsZWN0aW9uKSB7XG4gICAgICBpZiAoY29sbGVjdGlvbiA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgICAgaWYgKGlzQXJyYXlMaWtlKGNvbGxlY3Rpb24pKSB7XG4gICAgICAgIHJldHVybiBpc1N0cmluZyhjb2xsZWN0aW9uKSA/IHN0cmluZ1NpemUoY29sbGVjdGlvbikgOiBjb2xsZWN0aW9uLmxlbmd0aDtcbiAgICAgIH1cbiAgICAgIHZhciB0YWcgPSBnZXRUYWcoY29sbGVjdGlvbik7XG4gICAgICBpZiAodGFnID09IG1hcFRhZyB8fCB0YWcgPT0gc2V0VGFnKSB7XG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uLnNpemU7XG4gICAgICB9XG4gICAgICByZXR1cm4gYmFzZUtleXMoY29sbGVjdGlvbikubGVuZ3RoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgcHJlZGljYXRlYCByZXR1cm5zIHRydXRoeSBmb3IgKiphbnkqKiBlbGVtZW50IG9mIGBjb2xsZWN0aW9uYC5cbiAgICAgKiBJdGVyYXRpb24gaXMgc3RvcHBlZCBvbmNlIGBwcmVkaWNhdGVgIHJldHVybnMgdHJ1dGh5LiBUaGUgcHJlZGljYXRlIGlzXG4gICAgICogaW52b2tlZCB3aXRoIHRocmVlIGFyZ3VtZW50czogKHZhbHVlLCBpbmRleHxrZXksIGNvbGxlY3Rpb24pLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGFueSBlbGVtZW50IHBhc3NlcyB0aGUgcHJlZGljYXRlIGNoZWNrLFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uc29tZShbbnVsbCwgMCwgJ3llcycsIGZhbHNlXSwgQm9vbGVhbik7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0gW1xuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknLCAnYWN0aXZlJzogdHJ1ZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAnYWN0aXZlJzogZmFsc2UgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc2AgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uc29tZSh1c2VycywgeyAndXNlcic6ICdiYXJuZXknLCAnYWN0aXZlJzogZmFsc2UgfSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzUHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnNvbWUodXNlcnMsIFsnYWN0aXZlJywgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnNvbWUodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICovXG4gICAgZnVuY3Rpb24gc29tZShjb2xsZWN0aW9uLCBwcmVkaWNhdGUsIGd1YXJkKSB7XG4gICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheVNvbWUgOiBiYXNlU29tZTtcbiAgICAgIGlmIChndWFyZCAmJiBpc0l0ZXJhdGVlQ2FsbChjb2xsZWN0aW9uLCBwcmVkaWNhdGUsIGd1YXJkKSkge1xuICAgICAgICBwcmVkaWNhdGUgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBnZXRJdGVyYXRlZShwcmVkaWNhdGUsIDMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIGVsZW1lbnRzLCBzb3J0ZWQgaW4gYXNjZW5kaW5nIG9yZGVyIGJ5IHRoZSByZXN1bHRzIG9mXG4gICAgICogcnVubmluZyBlYWNoIGVsZW1lbnQgaW4gYSBjb2xsZWN0aW9uIHRocnUgZWFjaCBpdGVyYXRlZS4gVGhpcyBtZXRob2RcbiAgICAgKiBwZXJmb3JtcyBhIHN0YWJsZSBzb3J0LCB0aGF0IGlzLCBpdCBwcmVzZXJ2ZXMgdGhlIG9yaWdpbmFsIHNvcnQgb3JkZXIgb2ZcbiAgICAgKiBlcXVhbCBlbGVtZW50cy4gVGhlIGl0ZXJhdGVlcyBhcmUgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7Li4uKEZ1bmN0aW9ufEZ1bmN0aW9uW10pfSBbaXRlcmF0ZWVzPVtfLmlkZW50aXR5XV1cbiAgICAgKiAgVGhlIGl0ZXJhdGVlcyB0byBzb3J0IGJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IHNvcnRlZCBhcnJheS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0gW1xuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAnYWdlJzogNDggfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FnZSc6IDM2IH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICdhZ2UnOiA0MCB9LFxuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknLCAnYWdlJzogMzQgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLnNvcnRCeSh1c2VycywgW2Z1bmN0aW9uKG8pIHsgcmV0dXJuIG8udXNlcjsgfV0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFtbJ2Jhcm5leScsIDM2XSwgWydiYXJuZXknLCAzNF0sIFsnZnJlZCcsIDQ4XSwgWydmcmVkJywgNDBdXVxuICAgICAqXG4gICAgICogXy5zb3J0QnkodXNlcnMsIFsndXNlcicsICdhZ2UnXSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgW1snYmFybmV5JywgMzRdLCBbJ2Jhcm5leScsIDM2XSwgWydmcmVkJywgNDBdLCBbJ2ZyZWQnLCA0OF1dXG4gICAgICovXG4gICAgdmFyIHNvcnRCeSA9IGJhc2VSZXN0KGZ1bmN0aW9uKGNvbGxlY3Rpb24sIGl0ZXJhdGVlcykge1xuICAgICAgaWYgKGNvbGxlY3Rpb24gPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICB2YXIgbGVuZ3RoID0gaXRlcmF0ZWVzLmxlbmd0aDtcbiAgICAgIGlmIChsZW5ndGggPiAxICYmIGlzSXRlcmF0ZWVDYWxsKGNvbGxlY3Rpb24sIGl0ZXJhdGVlc1swXSwgaXRlcmF0ZWVzWzFdKSkge1xuICAgICAgICBpdGVyYXRlZXMgPSBbXTtcbiAgICAgIH0gZWxzZSBpZiAobGVuZ3RoID4gMiAmJiBpc0l0ZXJhdGVlQ2FsbChpdGVyYXRlZXNbMF0sIGl0ZXJhdGVlc1sxXSwgaXRlcmF0ZWVzWzJdKSkge1xuICAgICAgICBpdGVyYXRlZXMgPSBbaXRlcmF0ZWVzWzBdXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlT3JkZXJCeShjb2xsZWN0aW9uLCBiYXNlRmxhdHRlbihpdGVyYXRlZXMsIDEpLCBbXSk7XG4gICAgfSk7XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB0aW1lc3RhbXAgb2YgdGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdGhhdCBoYXZlIGVsYXBzZWQgc2luY2VcbiAgICAgKiB0aGUgVW5peCBlcG9jaCAoMSBKYW51YXJ5IDE5NzAgMDA6MDA6MDAgVVRDKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAyLjQuMFxuICAgICAqIEBjYXRlZ29yeSBEYXRlXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgdGltZXN0YW1wLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmRlZmVyKGZ1bmN0aW9uKHN0YW1wKSB7XG4gICAgICogICBjb25zb2xlLmxvZyhfLm5vdygpIC0gc3RhbXApO1xuICAgICAqIH0sIF8ubm93KCkpO1xuICAgICAqIC8vID0+IExvZ3MgdGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgaXQgdG9vayBmb3IgdGhlIGRlZmVycmVkIGludm9jYXRpb24uXG4gICAgICovXG4gICAgdmFyIG5vdyA9IGN0eE5vdyB8fCBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiByb290LkRhdGUubm93KCk7XG4gICAgfTtcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqIFRoZSBvcHBvc2l0ZSBvZiBgXy5iZWZvcmVgOyB0aGlzIG1ldGhvZCBjcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzXG4gICAgICogYGZ1bmNgIG9uY2UgaXQncyBjYWxsZWQgYG5gIG9yIG1vcmUgdGltZXMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbiBUaGUgbnVtYmVyIG9mIGNhbGxzIGJlZm9yZSBgZnVuY2AgaXMgaW52b2tlZC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byByZXN0cmljdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyByZXN0cmljdGVkIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgc2F2ZXMgPSBbJ3Byb2ZpbGUnLCAnc2V0dGluZ3MnXTtcbiAgICAgKlxuICAgICAqIHZhciBkb25lID0gXy5hZnRlcihzYXZlcy5sZW5ndGgsIGZ1bmN0aW9uKCkge1xuICAgICAqICAgY29uc29sZS5sb2coJ2RvbmUgc2F2aW5nIScpO1xuICAgICAqIH0pO1xuICAgICAqXG4gICAgICogXy5mb3JFYWNoKHNhdmVzLCBmdW5jdGlvbih0eXBlKSB7XG4gICAgICogICBhc3luY1NhdmUoeyAndHlwZSc6IHR5cGUsICdjb21wbGV0ZSc6IGRvbmUgfSk7XG4gICAgICogfSk7XG4gICAgICogLy8gPT4gTG9ncyAnZG9uZSBzYXZpbmchJyBhZnRlciB0aGUgdHdvIGFzeW5jIHNhdmVzIGhhdmUgY29tcGxldGVkLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGFmdGVyKG4sIGZ1bmMpIHtcbiAgICAgIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgIH1cbiAgICAgIG4gPSB0b0ludGVnZXIobik7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICAgIGlmICgtLW4gPCAxKSB7XG4gICAgICAgICAgcmV0dXJuIGZ1bmMuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzIGBmdW5jYCwgd2l0aCB1cCB0byBgbmAgYXJndW1lbnRzLFxuICAgICAqIGlnbm9yaW5nIGFueSBhZGRpdGlvbmFsIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGNhcCBhcmd1bWVudHMgZm9yLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbj1mdW5jLmxlbmd0aF0gVGhlIGFyaXR5IGNhcC5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGNhcHBlZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5tYXAoWyc2JywgJzgnLCAnMTAnXSwgXy5hcnkocGFyc2VJbnQsIDEpKTtcbiAgICAgKiAvLyA9PiBbNiwgOCwgMTBdXG4gICAgICovXG4gICAgZnVuY3Rpb24gYXJ5KGZ1bmMsIG4sIGd1YXJkKSB7XG4gICAgICBuID0gZ3VhcmQgPyB1bmRlZmluZWQgOiBuO1xuICAgICAgbiA9IChmdW5jICYmIG4gPT0gbnVsbCkgPyBmdW5jLmxlbmd0aCA6IG47XG4gICAgICByZXR1cm4gY3JlYXRlV3JhcChmdW5jLCBXUkFQX0FSWV9GTEFHLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIG4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGludm9rZXMgYGZ1bmNgLCB3aXRoIHRoZSBgdGhpc2AgYmluZGluZyBhbmQgYXJndW1lbnRzXG4gICAgICogb2YgdGhlIGNyZWF0ZWQgZnVuY3Rpb24sIHdoaWxlIGl0J3MgY2FsbGVkIGxlc3MgdGhhbiBgbmAgdGltZXMuIFN1YnNlcXVlbnRcbiAgICAgKiBjYWxscyB0byB0aGUgY3JlYXRlZCBmdW5jdGlvbiByZXR1cm4gdGhlIHJlc3VsdCBvZiB0aGUgbGFzdCBgZnVuY2AgaW52b2NhdGlvbi5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBuIFRoZSBudW1iZXIgb2YgY2FsbHMgYXQgd2hpY2ggYGZ1bmNgIGlzIG5vIGxvbmdlciBpbnZva2VkLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHJlc3RyaWN0LlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHJlc3RyaWN0ZWQgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGpRdWVyeShlbGVtZW50KS5vbignY2xpY2snLCBfLmJlZm9yZSg1LCBhZGRDb250YWN0VG9MaXN0KSk7XG4gICAgICogLy8gPT4gQWxsb3dzIGFkZGluZyB1cCB0byA0IGNvbnRhY3RzIHRvIHRoZSBsaXN0LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJlZm9yZShuLCBmdW5jKSB7XG4gICAgICB2YXIgcmVzdWx0O1xuICAgICAgaWYgKHR5cGVvZiBmdW5jICE9ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihGVU5DX0VSUk9SX1RFWFQpO1xuICAgICAgfVxuICAgICAgbiA9IHRvSW50ZWdlcihuKTtcbiAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKC0tbiA+IDApIHtcbiAgICAgICAgICByZXN1bHQgPSBmdW5jLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG4gPD0gMSkge1xuICAgICAgICAgIGZ1bmMgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlcyBgZnVuY2Agd2l0aCB0aGUgYHRoaXNgIGJpbmRpbmcgb2YgYHRoaXNBcmdgXG4gICAgICogYW5kIGBwYXJ0aWFsc2AgcHJlcGVuZGVkIHRvIHRoZSBhcmd1bWVudHMgaXQgcmVjZWl2ZXMuXG4gICAgICpcbiAgICAgKiBUaGUgYF8uYmluZC5wbGFjZWhvbGRlcmAgdmFsdWUsIHdoaWNoIGRlZmF1bHRzIHRvIGBfYCBpbiBtb25vbGl0aGljIGJ1aWxkcyxcbiAgICAgKiBtYXkgYmUgdXNlZCBhcyBhIHBsYWNlaG9sZGVyIGZvciBwYXJ0aWFsbHkgYXBwbGllZCBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVW5saWtlIG5hdGl2ZSBgRnVuY3Rpb24jYmluZGAsIHRoaXMgbWV0aG9kIGRvZXNuJ3Qgc2V0IHRoZSBcImxlbmd0aFwiXG4gICAgICogcHJvcGVydHkgb2YgYm91bmQgZnVuY3Rpb25zLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gYmluZC5cbiAgICAgKiBAcGFyYW0geyp9IHRoaXNBcmcgVGhlIGB0aGlzYCBiaW5kaW5nIG9mIGBmdW5jYC5cbiAgICAgKiBAcGFyYW0gey4uLip9IFtwYXJ0aWFsc10gVGhlIGFyZ3VtZW50cyB0byBiZSBwYXJ0aWFsbHkgYXBwbGllZC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBib3VuZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gZ3JlZXQoZ3JlZXRpbmcsIHB1bmN0dWF0aW9uKSB7XG4gICAgICogICByZXR1cm4gZ3JlZXRpbmcgKyAnICcgKyB0aGlzLnVzZXIgKyBwdW5jdHVhdGlvbjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAndXNlcic6ICdmcmVkJyB9O1xuICAgICAqXG4gICAgICogdmFyIGJvdW5kID0gXy5iaW5kKGdyZWV0LCBvYmplY3QsICdoaScpO1xuICAgICAqIGJvdW5kKCchJyk7XG4gICAgICogLy8gPT4gJ2hpIGZyZWQhJ1xuICAgICAqXG4gICAgICogLy8gQm91bmQgd2l0aCBwbGFjZWhvbGRlcnMuXG4gICAgICogdmFyIGJvdW5kID0gXy5iaW5kKGdyZWV0LCBvYmplY3QsIF8sICchJyk7XG4gICAgICogYm91bmQoJ2hpJyk7XG4gICAgICogLy8gPT4gJ2hpIGZyZWQhJ1xuICAgICAqL1xuICAgIHZhciBiaW5kID0gYmFzZVJlc3QoZnVuY3Rpb24oZnVuYywgdGhpc0FyZywgcGFydGlhbHMpIHtcbiAgICAgIHZhciBiaXRtYXNrID0gV1JBUF9CSU5EX0ZMQUc7XG4gICAgICBpZiAocGFydGlhbHMubGVuZ3RoKSB7XG4gICAgICAgIHZhciBob2xkZXJzID0gcmVwbGFjZUhvbGRlcnMocGFydGlhbHMsIGdldEhvbGRlcihiaW5kKSk7XG4gICAgICAgIGJpdG1hc2sgfD0gV1JBUF9QQVJUSUFMX0ZMQUc7XG4gICAgICB9XG4gICAgICByZXR1cm4gY3JlYXRlV3JhcChmdW5jLCBiaXRtYXNrLCB0aGlzQXJnLCBwYXJ0aWFscywgaG9sZGVycyk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzIHRoZSBtZXRob2QgYXQgYG9iamVjdFtrZXldYCB3aXRoIGBwYXJ0aWFsc2BcbiAgICAgKiBwcmVwZW5kZWQgdG8gdGhlIGFyZ3VtZW50cyBpdCByZWNlaXZlcy5cbiAgICAgKlxuICAgICAqIFRoaXMgbWV0aG9kIGRpZmZlcnMgZnJvbSBgXy5iaW5kYCBieSBhbGxvd2luZyBib3VuZCBmdW5jdGlvbnMgdG8gcmVmZXJlbmNlXG4gICAgICogbWV0aG9kcyB0aGF0IG1heSBiZSByZWRlZmluZWQgb3IgZG9uJ3QgeWV0IGV4aXN0LiBTZWVcbiAgICAgKiBbUGV0ZXIgTWljaGF1eCdzIGFydGljbGVdKGh0dHA6Ly9wZXRlci5taWNoYXV4LmNhL2FydGljbGVzL2xhenktZnVuY3Rpb24tZGVmaW5pdGlvbi1wYXR0ZXJuKVxuICAgICAqIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICpcbiAgICAgKiBUaGUgYF8uYmluZEtleS5wbGFjZWhvbGRlcmAgdmFsdWUsIHdoaWNoIGRlZmF1bHRzIHRvIGBfYCBpbiBtb25vbGl0aGljXG4gICAgICogYnVpbGRzLCBtYXkgYmUgdXNlZCBhcyBhIHBsYWNlaG9sZGVyIGZvciBwYXJ0aWFsbHkgYXBwbGllZCBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xMC4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGludm9rZSB0aGUgbWV0aG9kIG9uLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgbWV0aG9kLlxuICAgICAqIEBwYXJhbSB7Li4uKn0gW3BhcnRpYWxzXSBUaGUgYXJndW1lbnRzIHRvIGJlIHBhcnRpYWxseSBhcHBsaWVkLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGJvdW5kIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0ge1xuICAgICAqICAgJ3VzZXInOiAnZnJlZCcsXG4gICAgICogICAnZ3JlZXQnOiBmdW5jdGlvbihncmVldGluZywgcHVuY3R1YXRpb24pIHtcbiAgICAgKiAgICAgcmV0dXJuIGdyZWV0aW5nICsgJyAnICsgdGhpcy51c2VyICsgcHVuY3R1YXRpb247XG4gICAgICogICB9XG4gICAgICogfTtcbiAgICAgKlxuICAgICAqIHZhciBib3VuZCA9IF8uYmluZEtleShvYmplY3QsICdncmVldCcsICdoaScpO1xuICAgICAqIGJvdW5kKCchJyk7XG4gICAgICogLy8gPT4gJ2hpIGZyZWQhJ1xuICAgICAqXG4gICAgICogb2JqZWN0LmdyZWV0ID0gZnVuY3Rpb24oZ3JlZXRpbmcsIHB1bmN0dWF0aW9uKSB7XG4gICAgICogICByZXR1cm4gZ3JlZXRpbmcgKyAneWEgJyArIHRoaXMudXNlciArIHB1bmN0dWF0aW9uO1xuICAgICAqIH07XG4gICAgICpcbiAgICAgKiBib3VuZCgnIScpO1xuICAgICAqIC8vID0+ICdoaXlhIGZyZWQhJ1xuICAgICAqXG4gICAgICogLy8gQm91bmQgd2l0aCBwbGFjZWhvbGRlcnMuXG4gICAgICogdmFyIGJvdW5kID0gXy5iaW5kS2V5KG9iamVjdCwgJ2dyZWV0JywgXywgJyEnKTtcbiAgICAgKiBib3VuZCgnaGknKTtcbiAgICAgKiAvLyA9PiAnaGl5YSBmcmVkISdcbiAgICAgKi9cbiAgICB2YXIgYmluZEtleSA9IGJhc2VSZXN0KGZ1bmN0aW9uKG9iamVjdCwga2V5LCBwYXJ0aWFscykge1xuICAgICAgdmFyIGJpdG1hc2sgPSBXUkFQX0JJTkRfRkxBRyB8IFdSQVBfQklORF9LRVlfRkxBRztcbiAgICAgIGlmIChwYXJ0aWFscy5sZW5ndGgpIHtcbiAgICAgICAgdmFyIGhvbGRlcnMgPSByZXBsYWNlSG9sZGVycyhwYXJ0aWFscywgZ2V0SG9sZGVyKGJpbmRLZXkpKTtcbiAgICAgICAgYml0bWFzayB8PSBXUkFQX1BBUlRJQUxfRkxBRztcbiAgICAgIH1cbiAgICAgIHJldHVybiBjcmVhdGVXcmFwKGtleSwgYml0bWFzaywgb2JqZWN0LCBwYXJ0aWFscywgaG9sZGVycyk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBhY2NlcHRzIGFyZ3VtZW50cyBvZiBgZnVuY2AgYW5kIGVpdGhlciBpbnZva2VzXG4gICAgICogYGZ1bmNgIHJldHVybmluZyBpdHMgcmVzdWx0LCBpZiBhdCBsZWFzdCBgYXJpdHlgIG51bWJlciBvZiBhcmd1bWVudHMgaGF2ZVxuICAgICAqIGJlZW4gcHJvdmlkZWQsIG9yIHJldHVybnMgYSBmdW5jdGlvbiB0aGF0IGFjY2VwdHMgdGhlIHJlbWFpbmluZyBgZnVuY2BcbiAgICAgKiBhcmd1bWVudHMsIGFuZCBzbyBvbi4gVGhlIGFyaXR5IG9mIGBmdW5jYCBtYXkgYmUgc3BlY2lmaWVkIGlmIGBmdW5jLmxlbmd0aGBcbiAgICAgKiBpcyBub3Qgc3VmZmljaWVudC5cbiAgICAgKlxuICAgICAqIFRoZSBgXy5jdXJyeS5wbGFjZWhvbGRlcmAgdmFsdWUsIHdoaWNoIGRlZmF1bHRzIHRvIGBfYCBpbiBtb25vbGl0aGljIGJ1aWxkcyxcbiAgICAgKiBtYXkgYmUgdXNlZCBhcyBhIHBsYWNlaG9sZGVyIGZvciBwcm92aWRlZCBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgZG9lc24ndCBzZXQgdGhlIFwibGVuZ3RoXCIgcHJvcGVydHkgb2YgY3VycmllZCBmdW5jdGlvbnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjdXJyeS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2FyaXR5PWZ1bmMubGVuZ3RoXSBUaGUgYXJpdHkgb2YgYGZ1bmNgLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY3VycmllZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFiYyA9IGZ1bmN0aW9uKGEsIGIsIGMpIHtcbiAgICAgKiAgIHJldHVybiBbYSwgYiwgY107XG4gICAgICogfTtcbiAgICAgKlxuICAgICAqIHZhciBjdXJyaWVkID0gXy5jdXJyeShhYmMpO1xuICAgICAqXG4gICAgICogY3VycmllZCgxKSgyKSgzKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKlxuICAgICAqIGN1cnJpZWQoMSwgMikoMyk7XG4gICAgICogLy8gPT4gWzEsIDIsIDNdXG4gICAgICpcbiAgICAgKiBjdXJyaWVkKDEsIDIsIDMpO1xuICAgICAqIC8vID0+IFsxLCAyLCAzXVxuICAgICAqXG4gICAgICogLy8gQ3VycmllZCB3aXRoIHBsYWNlaG9sZGVycy5cbiAgICAgKiBjdXJyaWVkKDEpKF8sIDMpKDIpO1xuICAgICAqIC8vID0+IFsxLCAyLCAzXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGN1cnJ5KGZ1bmMsIGFyaXR5LCBndWFyZCkge1xuICAgICAgYXJpdHkgPSBndWFyZCA/IHVuZGVmaW5lZCA6IGFyaXR5O1xuICAgICAgdmFyIHJlc3VsdCA9IGNyZWF0ZVdyYXAoZnVuYywgV1JBUF9DVVJSWV9GTEFHLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgYXJpdHkpO1xuICAgICAgcmVzdWx0LnBsYWNlaG9sZGVyID0gY3VycnkucGxhY2Vob2xkZXI7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uY3VycnlgIGV4Y2VwdCB0aGF0IGFyZ3VtZW50cyBhcmUgYXBwbGllZCB0byBgZnVuY2BcbiAgICAgKiBpbiB0aGUgbWFubmVyIG9mIGBfLnBhcnRpYWxSaWdodGAgaW5zdGVhZCBvZiBgXy5wYXJ0aWFsYC5cbiAgICAgKlxuICAgICAqIFRoZSBgXy5jdXJyeVJpZ2h0LnBsYWNlaG9sZGVyYCB2YWx1ZSwgd2hpY2ggZGVmYXVsdHMgdG8gYF9gIGluIG1vbm9saXRoaWNcbiAgICAgKiBidWlsZHMsIG1heSBiZSB1c2VkIGFzIGEgcGxhY2Vob2xkZXIgZm9yIHByb3ZpZGVkIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBkb2Vzbid0IHNldCB0aGUgXCJsZW5ndGhcIiBwcm9wZXJ0eSBvZiBjdXJyaWVkIGZ1bmN0aW9ucy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGN1cnJ5LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJpdHk9ZnVuYy5sZW5ndGhdIFRoZSBhcml0eSBvZiBgZnVuY2AuXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBjdXJyaWVkIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYWJjID0gZnVuY3Rpb24oYSwgYiwgYykge1xuICAgICAqICAgcmV0dXJuIFthLCBiLCBjXTtcbiAgICAgKiB9O1xuICAgICAqXG4gICAgICogdmFyIGN1cnJpZWQgPSBfLmN1cnJ5UmlnaHQoYWJjKTtcbiAgICAgKlxuICAgICAqIGN1cnJpZWQoMykoMikoMSk7XG4gICAgICogLy8gPT4gWzEsIDIsIDNdXG4gICAgICpcbiAgICAgKiBjdXJyaWVkKDIsIDMpKDEpO1xuICAgICAqIC8vID0+IFsxLCAyLCAzXVxuICAgICAqXG4gICAgICogY3VycmllZCgxLCAyLCAzKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKlxuICAgICAqIC8vIEN1cnJpZWQgd2l0aCBwbGFjZWhvbGRlcnMuXG4gICAgICogY3VycmllZCgzKSgxLCBfKSgyKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjdXJyeVJpZ2h0KGZ1bmMsIGFyaXR5LCBndWFyZCkge1xuICAgICAgYXJpdHkgPSBndWFyZCA/IHVuZGVmaW5lZCA6IGFyaXR5O1xuICAgICAgdmFyIHJlc3VsdCA9IGNyZWF0ZVdyYXAoZnVuYywgV1JBUF9DVVJSWV9SSUdIVF9GTEFHLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgYXJpdHkpO1xuICAgICAgcmVzdWx0LnBsYWNlaG9sZGVyID0gY3VycnlSaWdodC5wbGFjZWhvbGRlcjtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGRlYm91bmNlZCBmdW5jdGlvbiB0aGF0IGRlbGF5cyBpbnZva2luZyBgZnVuY2AgdW50aWwgYWZ0ZXIgYHdhaXRgXG4gICAgICogbWlsbGlzZWNvbmRzIGhhdmUgZWxhcHNlZCBzaW5jZSB0aGUgbGFzdCB0aW1lIHRoZSBkZWJvdW5jZWQgZnVuY3Rpb24gd2FzXG4gICAgICogaW52b2tlZC4gVGhlIGRlYm91bmNlZCBmdW5jdGlvbiBjb21lcyB3aXRoIGEgYGNhbmNlbGAgbWV0aG9kIHRvIGNhbmNlbFxuICAgICAqIGRlbGF5ZWQgYGZ1bmNgIGludm9jYXRpb25zIGFuZCBhIGBmbHVzaGAgbWV0aG9kIHRvIGltbWVkaWF0ZWx5IGludm9rZSB0aGVtLlxuICAgICAqIFByb3ZpZGUgYG9wdGlvbnNgIHRvIGluZGljYXRlIHdoZXRoZXIgYGZ1bmNgIHNob3VsZCBiZSBpbnZva2VkIG9uIHRoZVxuICAgICAqIGxlYWRpbmcgYW5kL29yIHRyYWlsaW5nIGVkZ2Ugb2YgdGhlIGB3YWl0YCB0aW1lb3V0LiBUaGUgYGZ1bmNgIGlzIGludm9rZWRcbiAgICAgKiB3aXRoIHRoZSBsYXN0IGFyZ3VtZW50cyBwcm92aWRlZCB0byB0aGUgZGVib3VuY2VkIGZ1bmN0aW9uLiBTdWJzZXF1ZW50XG4gICAgICogY2FsbHMgdG8gdGhlIGRlYm91bmNlZCBmdW5jdGlvbiByZXR1cm4gdGhlIHJlc3VsdCBvZiB0aGUgbGFzdCBgZnVuY2BcbiAgICAgKiBpbnZvY2F0aW9uLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIElmIGBsZWFkaW5nYCBhbmQgYHRyYWlsaW5nYCBvcHRpb25zIGFyZSBgdHJ1ZWAsIGBmdW5jYCBpc1xuICAgICAqIGludm9rZWQgb24gdGhlIHRyYWlsaW5nIGVkZ2Ugb2YgdGhlIHRpbWVvdXQgb25seSBpZiB0aGUgZGVib3VuY2VkIGZ1bmN0aW9uXG4gICAgICogaXMgaW52b2tlZCBtb3JlIHRoYW4gb25jZSBkdXJpbmcgdGhlIGB3YWl0YCB0aW1lb3V0LlxuICAgICAqXG4gICAgICogSWYgYHdhaXRgIGlzIGAwYCBhbmQgYGxlYWRpbmdgIGlzIGBmYWxzZWAsIGBmdW5jYCBpbnZvY2F0aW9uIGlzIGRlZmVycmVkXG4gICAgICogdW50aWwgdG8gdGhlIG5leHQgdGljaywgc2ltaWxhciB0byBgc2V0VGltZW91dGAgd2l0aCBhIHRpbWVvdXQgb2YgYDBgLlxuICAgICAqXG4gICAgICogU2VlIFtEYXZpZCBDb3JiYWNobydzIGFydGljbGVdKGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vZGVib3VuY2luZy10aHJvdHRsaW5nLWV4cGxhaW5lZC1leGFtcGxlcy8pXG4gICAgICogZm9yIGRldGFpbHMgb3ZlciB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiBgXy5kZWJvdW5jZWAgYW5kIGBfLnRocm90dGxlYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGRlYm91bmNlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbd2FpdD0wXSBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0byBkZWxheS5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnM9e31dIFRoZSBvcHRpb25zIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLmxlYWRpbmc9ZmFsc2VdXG4gICAgICogIFNwZWNpZnkgaW52b2tpbmcgb24gdGhlIGxlYWRpbmcgZWRnZSBvZiB0aGUgdGltZW91dC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW29wdGlvbnMubWF4V2FpdF1cbiAgICAgKiAgVGhlIG1heGltdW0gdGltZSBgZnVuY2AgaXMgYWxsb3dlZCB0byBiZSBkZWxheWVkIGJlZm9yZSBpdCdzIGludm9rZWQuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy50cmFpbGluZz10cnVlXVxuICAgICAqICBTcGVjaWZ5IGludm9raW5nIG9uIHRoZSB0cmFpbGluZyBlZGdlIG9mIHRoZSB0aW1lb3V0LlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGRlYm91bmNlZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogLy8gQXZvaWQgY29zdGx5IGNhbGN1bGF0aW9ucyB3aGlsZSB0aGUgd2luZG93IHNpemUgaXMgaW4gZmx1eC5cbiAgICAgKiBqUXVlcnkod2luZG93KS5vbigncmVzaXplJywgXy5kZWJvdW5jZShjYWxjdWxhdGVMYXlvdXQsIDE1MCkpO1xuICAgICAqXG4gICAgICogLy8gSW52b2tlIGBzZW5kTWFpbGAgd2hlbiBjbGlja2VkLCBkZWJvdW5jaW5nIHN1YnNlcXVlbnQgY2FsbHMuXG4gICAgICogalF1ZXJ5KGVsZW1lbnQpLm9uKCdjbGljaycsIF8uZGVib3VuY2Uoc2VuZE1haWwsIDMwMCwge1xuICAgICAqICAgJ2xlYWRpbmcnOiB0cnVlLFxuICAgICAqICAgJ3RyYWlsaW5nJzogZmFsc2VcbiAgICAgKiB9KSk7XG4gICAgICpcbiAgICAgKiAvLyBFbnN1cmUgYGJhdGNoTG9nYCBpcyBpbnZva2VkIG9uY2UgYWZ0ZXIgMSBzZWNvbmQgb2YgZGVib3VuY2VkIGNhbGxzLlxuICAgICAqIHZhciBkZWJvdW5jZWQgPSBfLmRlYm91bmNlKGJhdGNoTG9nLCAyNTAsIHsgJ21heFdhaXQnOiAxMDAwIH0pO1xuICAgICAqIHZhciBzb3VyY2UgPSBuZXcgRXZlbnRTb3VyY2UoJy9zdHJlYW0nKTtcbiAgICAgKiBqUXVlcnkoc291cmNlKS5vbignbWVzc2FnZScsIGRlYm91bmNlZCk7XG4gICAgICpcbiAgICAgKiAvLyBDYW5jZWwgdGhlIHRyYWlsaW5nIGRlYm91bmNlZCBpbnZvY2F0aW9uLlxuICAgICAqIGpRdWVyeSh3aW5kb3cpLm9uKCdwb3BzdGF0ZScsIGRlYm91bmNlZC5jYW5jZWwpO1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIGRlYm91bmNlKGZ1bmMsIHdhaXQsIG9wdGlvbnMpIHtcbiAgICAgIHZhciBsYXN0QXJncyxcbiAgICAgICAgICBsYXN0VGhpcyxcbiAgICAgICAgICBtYXhXYWl0LFxuICAgICAgICAgIHJlc3VsdCxcbiAgICAgICAgICB0aW1lcklkLFxuICAgICAgICAgIGxhc3RDYWxsVGltZSxcbiAgICAgICAgICBsYXN0SW52b2tlVGltZSA9IDAsXG4gICAgICAgICAgbGVhZGluZyA9IGZhbHNlLFxuICAgICAgICAgIG1heGluZyA9IGZhbHNlLFxuICAgICAgICAgIHRyYWlsaW5nID0gdHJ1ZTtcblxuICAgICAgaWYgKHR5cGVvZiBmdW5jICE9ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihGVU5DX0VSUk9SX1RFWFQpO1xuICAgICAgfVxuICAgICAgd2FpdCA9IHRvTnVtYmVyKHdhaXQpIHx8IDA7XG4gICAgICBpZiAoaXNPYmplY3Qob3B0aW9ucykpIHtcbiAgICAgICAgbGVhZGluZyA9ICEhb3B0aW9ucy5sZWFkaW5nO1xuICAgICAgICBtYXhpbmcgPSAnbWF4V2FpdCcgaW4gb3B0aW9ucztcbiAgICAgICAgbWF4V2FpdCA9IG1heGluZyA/IG5hdGl2ZU1heCh0b051bWJlcihvcHRpb25zLm1heFdhaXQpIHx8IDAsIHdhaXQpIDogbWF4V2FpdDtcbiAgICAgICAgdHJhaWxpbmcgPSAndHJhaWxpbmcnIGluIG9wdGlvbnMgPyAhIW9wdGlvbnMudHJhaWxpbmcgOiB0cmFpbGluZztcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gaW52b2tlRnVuYyh0aW1lKSB7XG4gICAgICAgIHZhciBhcmdzID0gbGFzdEFyZ3MsXG4gICAgICAgICAgICB0aGlzQXJnID0gbGFzdFRoaXM7XG5cbiAgICAgICAgbGFzdEFyZ3MgPSBsYXN0VGhpcyA9IHVuZGVmaW5lZDtcbiAgICAgICAgbGFzdEludm9rZVRpbWUgPSB0aW1lO1xuICAgICAgICByZXN1bHQgPSBmdW5jLmFwcGx5KHRoaXNBcmcsIGFyZ3MpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBsZWFkaW5nRWRnZSh0aW1lKSB7XG4gICAgICAgIC8vIFJlc2V0IGFueSBgbWF4V2FpdGAgdGltZXIuXG4gICAgICAgIGxhc3RJbnZva2VUaW1lID0gdGltZTtcbiAgICAgICAgLy8gU3RhcnQgdGhlIHRpbWVyIGZvciB0aGUgdHJhaWxpbmcgZWRnZS5cbiAgICAgICAgdGltZXJJZCA9IHNldFRpbWVvdXQodGltZXJFeHBpcmVkLCB3YWl0KTtcbiAgICAgICAgLy8gSW52b2tlIHRoZSBsZWFkaW5nIGVkZ2UuXG4gICAgICAgIHJldHVybiBsZWFkaW5nID8gaW52b2tlRnVuYyh0aW1lKSA6IHJlc3VsdDtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gcmVtYWluaW5nV2FpdCh0aW1lKSB7XG4gICAgICAgIHZhciB0aW1lU2luY2VMYXN0Q2FsbCA9IHRpbWUgLSBsYXN0Q2FsbFRpbWUsXG4gICAgICAgICAgICB0aW1lU2luY2VMYXN0SW52b2tlID0gdGltZSAtIGxhc3RJbnZva2VUaW1lLFxuICAgICAgICAgICAgdGltZVdhaXRpbmcgPSB3YWl0IC0gdGltZVNpbmNlTGFzdENhbGw7XG5cbiAgICAgICAgcmV0dXJuIG1heGluZ1xuICAgICAgICAgID8gbmF0aXZlTWluKHRpbWVXYWl0aW5nLCBtYXhXYWl0IC0gdGltZVNpbmNlTGFzdEludm9rZSlcbiAgICAgICAgICA6IHRpbWVXYWl0aW5nO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzaG91bGRJbnZva2UodGltZSkge1xuICAgICAgICB2YXIgdGltZVNpbmNlTGFzdENhbGwgPSB0aW1lIC0gbGFzdENhbGxUaW1lLFxuICAgICAgICAgICAgdGltZVNpbmNlTGFzdEludm9rZSA9IHRpbWUgLSBsYXN0SW52b2tlVGltZTtcblxuICAgICAgICAvLyBFaXRoZXIgdGhpcyBpcyB0aGUgZmlyc3QgY2FsbCwgYWN0aXZpdHkgaGFzIHN0b3BwZWQgYW5kIHdlJ3JlIGF0IHRoZVxuICAgICAgICAvLyB0cmFpbGluZyBlZGdlLCB0aGUgc3lzdGVtIHRpbWUgaGFzIGdvbmUgYmFja3dhcmRzIGFuZCB3ZSdyZSB0cmVhdGluZ1xuICAgICAgICAvLyBpdCBhcyB0aGUgdHJhaWxpbmcgZWRnZSwgb3Igd2UndmUgaGl0IHRoZSBgbWF4V2FpdGAgbGltaXQuXG4gICAgICAgIHJldHVybiAobGFzdENhbGxUaW1lID09PSB1bmRlZmluZWQgfHwgKHRpbWVTaW5jZUxhc3RDYWxsID49IHdhaXQpIHx8XG4gICAgICAgICAgKHRpbWVTaW5jZUxhc3RDYWxsIDwgMCkgfHwgKG1heGluZyAmJiB0aW1lU2luY2VMYXN0SW52b2tlID49IG1heFdhaXQpKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdGltZXJFeHBpcmVkKCkge1xuICAgICAgICB2YXIgdGltZSA9IG5vdygpO1xuICAgICAgICBpZiAoc2hvdWxkSW52b2tlKHRpbWUpKSB7XG4gICAgICAgICAgcmV0dXJuIHRyYWlsaW5nRWRnZSh0aW1lKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBSZXN0YXJ0IHRoZSB0aW1lci5cbiAgICAgICAgdGltZXJJZCA9IHNldFRpbWVvdXQodGltZXJFeHBpcmVkLCByZW1haW5pbmdXYWl0KHRpbWUpKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdHJhaWxpbmdFZGdlKHRpbWUpIHtcbiAgICAgICAgdGltZXJJZCA9IHVuZGVmaW5lZDtcblxuICAgICAgICAvLyBPbmx5IGludm9rZSBpZiB3ZSBoYXZlIGBsYXN0QXJnc2Agd2hpY2ggbWVhbnMgYGZ1bmNgIGhhcyBiZWVuXG4gICAgICAgIC8vIGRlYm91bmNlZCBhdCBsZWFzdCBvbmNlLlxuICAgICAgICBpZiAodHJhaWxpbmcgJiYgbGFzdEFyZ3MpIHtcbiAgICAgICAgICByZXR1cm4gaW52b2tlRnVuYyh0aW1lKTtcbiAgICAgICAgfVxuICAgICAgICBsYXN0QXJncyA9IGxhc3RUaGlzID0gdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBjYW5jZWwoKSB7XG4gICAgICAgIGlmICh0aW1lcklkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXJJZCk7XG4gICAgICAgIH1cbiAgICAgICAgbGFzdEludm9rZVRpbWUgPSAwO1xuICAgICAgICBsYXN0QXJncyA9IGxhc3RDYWxsVGltZSA9IGxhc3RUaGlzID0gdGltZXJJZCA9IHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gZmx1c2goKSB7XG4gICAgICAgIHJldHVybiB0aW1lcklkID09PSB1bmRlZmluZWQgPyByZXN1bHQgOiB0cmFpbGluZ0VkZ2Uobm93KCkpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBkZWJvdW5jZWQoKSB7XG4gICAgICAgIHZhciB0aW1lID0gbm93KCksXG4gICAgICAgICAgICBpc0ludm9raW5nID0gc2hvdWxkSW52b2tlKHRpbWUpO1xuXG4gICAgICAgIGxhc3RBcmdzID0gYXJndW1lbnRzO1xuICAgICAgICBsYXN0VGhpcyA9IHRoaXM7XG4gICAgICAgIGxhc3RDYWxsVGltZSA9IHRpbWU7XG5cbiAgICAgICAgaWYgKGlzSW52b2tpbmcpIHtcbiAgICAgICAgICBpZiAodGltZXJJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gbGVhZGluZ0VkZ2UobGFzdENhbGxUaW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKG1heGluZykge1xuICAgICAgICAgICAgLy8gSGFuZGxlIGludm9jYXRpb25zIGluIGEgdGlnaHQgbG9vcC5cbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lcklkKTtcbiAgICAgICAgICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgd2FpdCk7XG4gICAgICAgICAgICByZXR1cm4gaW52b2tlRnVuYyhsYXN0Q2FsbFRpbWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGltZXJJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdGltZXJJZCA9IHNldFRpbWVvdXQodGltZXJFeHBpcmVkLCB3YWl0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgZGVib3VuY2VkLmNhbmNlbCA9IGNhbmNlbDtcbiAgICAgIGRlYm91bmNlZC5mbHVzaCA9IGZsdXNoO1xuICAgICAgcmV0dXJuIGRlYm91bmNlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWZlcnMgaW52b2tpbmcgdGhlIGBmdW5jYCB1bnRpbCB0aGUgY3VycmVudCBjYWxsIHN0YWNrIGhhcyBjbGVhcmVkLiBBbnlcbiAgICAgKiBhZGRpdGlvbmFsIGFyZ3VtZW50cyBhcmUgcHJvdmlkZWQgdG8gYGZ1bmNgIHdoZW4gaXQncyBpbnZva2VkLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gZGVmZXIuXG4gICAgICogQHBhcmFtIHsuLi4qfSBbYXJnc10gVGhlIGFyZ3VtZW50cyB0byBpbnZva2UgYGZ1bmNgIHdpdGguXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgdGltZXIgaWQuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZGVmZXIoZnVuY3Rpb24odGV4dCkge1xuICAgICAqICAgY29uc29sZS5sb2codGV4dCk7XG4gICAgICogfSwgJ2RlZmVycmVkJyk7XG4gICAgICogLy8gPT4gTG9ncyAnZGVmZXJyZWQnIGFmdGVyIG9uZSBtaWxsaXNlY29uZC5cbiAgICAgKi9cbiAgICB2YXIgZGVmZXIgPSBiYXNlUmVzdChmdW5jdGlvbihmdW5jLCBhcmdzKSB7XG4gICAgICByZXR1cm4gYmFzZURlbGF5KGZ1bmMsIDEsIGFyZ3MpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogSW52b2tlcyBgZnVuY2AgYWZ0ZXIgYHdhaXRgIG1pbGxpc2Vjb25kcy4gQW55IGFkZGl0aW9uYWwgYXJndW1lbnRzIGFyZVxuICAgICAqIHByb3ZpZGVkIHRvIGBmdW5jYCB3aGVuIGl0J3MgaW52b2tlZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGRlbGF5LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSB3YWl0IFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIGRlbGF5IGludm9jYXRpb24uXG4gICAgICogQHBhcmFtIHsuLi4qfSBbYXJnc10gVGhlIGFyZ3VtZW50cyB0byBpbnZva2UgYGZ1bmNgIHdpdGguXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgdGltZXIgaWQuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZGVsYXkoZnVuY3Rpb24odGV4dCkge1xuICAgICAqICAgY29uc29sZS5sb2codGV4dCk7XG4gICAgICogfSwgMTAwMCwgJ2xhdGVyJyk7XG4gICAgICogLy8gPT4gTG9ncyAnbGF0ZXInIGFmdGVyIG9uZSBzZWNvbmQuXG4gICAgICovXG4gICAgdmFyIGRlbGF5ID0gYmFzZVJlc3QoZnVuY3Rpb24oZnVuYywgd2FpdCwgYXJncykge1xuICAgICAgcmV0dXJuIGJhc2VEZWxheShmdW5jLCB0b051bWJlcih3YWl0KSB8fCAwLCBhcmdzKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGludm9rZXMgYGZ1bmNgIHdpdGggYXJndW1lbnRzIHJldmVyc2VkLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gZmxpcCBhcmd1bWVudHMgZm9yLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZsaXBwZWQgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBmbGlwcGVkID0gXy5mbGlwKGZ1bmN0aW9uKCkge1xuICAgICAqICAgcmV0dXJuIF8udG9BcnJheShhcmd1bWVudHMpO1xuICAgICAqIH0pO1xuICAgICAqXG4gICAgICogZmxpcHBlZCgnYScsICdiJywgJ2MnLCAnZCcpO1xuICAgICAqIC8vID0+IFsnZCcsICdjJywgJ2InLCAnYSddXG4gICAgICovXG4gICAgZnVuY3Rpb24gZmxpcChmdW5jKSB7XG4gICAgICByZXR1cm4gY3JlYXRlV3JhcChmdW5jLCBXUkFQX0ZMSVBfRkxBRyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgbWVtb2l6ZXMgdGhlIHJlc3VsdCBvZiBgZnVuY2AuIElmIGByZXNvbHZlcmAgaXNcbiAgICAgKiBwcm92aWRlZCwgaXQgZGV0ZXJtaW5lcyB0aGUgY2FjaGUga2V5IGZvciBzdG9yaW5nIHRoZSByZXN1bHQgYmFzZWQgb24gdGhlXG4gICAgICogYXJndW1lbnRzIHByb3ZpZGVkIHRvIHRoZSBtZW1vaXplZCBmdW5jdGlvbi4gQnkgZGVmYXVsdCwgdGhlIGZpcnN0IGFyZ3VtZW50XG4gICAgICogcHJvdmlkZWQgdG8gdGhlIG1lbW9pemVkIGZ1bmN0aW9uIGlzIHVzZWQgYXMgdGhlIG1hcCBjYWNoZSBrZXkuIFRoZSBgZnVuY2BcbiAgICAgKiBpcyBpbnZva2VkIHdpdGggdGhlIGB0aGlzYCBiaW5kaW5nIG9mIHRoZSBtZW1vaXplZCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGUgY2FjaGUgaXMgZXhwb3NlZCBhcyB0aGUgYGNhY2hlYCBwcm9wZXJ0eSBvbiB0aGUgbWVtb2l6ZWRcbiAgICAgKiBmdW5jdGlvbi4gSXRzIGNyZWF0aW9uIG1heSBiZSBjdXN0b21pemVkIGJ5IHJlcGxhY2luZyB0aGUgYF8ubWVtb2l6ZS5DYWNoZWBcbiAgICAgKiBjb25zdHJ1Y3RvciB3aXRoIG9uZSB3aG9zZSBpbnN0YW5jZXMgaW1wbGVtZW50IHRoZVxuICAgICAqIFtgTWFwYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtcHJvcGVydGllcy1vZi10aGUtbWFwLXByb3RvdHlwZS1vYmplY3QpXG4gICAgICogbWV0aG9kIGludGVyZmFjZSBvZiBgY2xlYXJgLCBgZGVsZXRlYCwgYGdldGAsIGBoYXNgLCBhbmQgYHNldGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBoYXZlIGl0cyBvdXRwdXQgbWVtb2l6ZWQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3Jlc29sdmVyXSBUaGUgZnVuY3Rpb24gdG8gcmVzb2x2ZSB0aGUgY2FjaGUga2V5LlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IG1lbW9pemVkIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEsICdiJzogMiB9O1xuICAgICAqIHZhciBvdGhlciA9IHsgJ2MnOiAzLCAnZCc6IDQgfTtcbiAgICAgKlxuICAgICAqIHZhciB2YWx1ZXMgPSBfLm1lbW9pemUoXy52YWx1ZXMpO1xuICAgICAqIHZhbHVlcyhvYmplY3QpO1xuICAgICAqIC8vID0+IFsxLCAyXVxuICAgICAqXG4gICAgICogdmFsdWVzKG90aGVyKTtcbiAgICAgKiAvLyA9PiBbMywgNF1cbiAgICAgKlxuICAgICAqIG9iamVjdC5hID0gMjtcbiAgICAgKiB2YWx1ZXMob2JqZWN0KTtcbiAgICAgKiAvLyA9PiBbMSwgMl1cbiAgICAgKlxuICAgICAqIC8vIE1vZGlmeSB0aGUgcmVzdWx0IGNhY2hlLlxuICAgICAqIHZhbHVlcy5jYWNoZS5zZXQob2JqZWN0LCBbJ2EnLCAnYiddKTtcbiAgICAgKiB2YWx1ZXMob2JqZWN0KTtcbiAgICAgKiAvLyA9PiBbJ2EnLCAnYiddXG4gICAgICpcbiAgICAgKiAvLyBSZXBsYWNlIGBfLm1lbW9pemUuQ2FjaGVgLlxuICAgICAqIF8ubWVtb2l6ZS5DYWNoZSA9IFdlYWtNYXA7XG4gICAgICovXG4gICAgZnVuY3Rpb24gbWVtb2l6ZShmdW5jLCByZXNvbHZlcikge1xuICAgICAgaWYgKHR5cGVvZiBmdW5jICE9ICdmdW5jdGlvbicgfHwgKHJlc29sdmVyICE9IG51bGwgJiYgdHlwZW9mIHJlc29sdmVyICE9ICdmdW5jdGlvbicpKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgIH1cbiAgICAgIHZhciBtZW1vaXplZCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgYXJncyA9IGFyZ3VtZW50cyxcbiAgICAgICAgICAgIGtleSA9IHJlc29sdmVyID8gcmVzb2x2ZXIuYXBwbHkodGhpcywgYXJncykgOiBhcmdzWzBdLFxuICAgICAgICAgICAgY2FjaGUgPSBtZW1vaXplZC5jYWNoZTtcblxuICAgICAgICBpZiAoY2FjaGUuaGFzKGtleSkpIHtcbiAgICAgICAgICByZXR1cm4gY2FjaGUuZ2V0KGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHJlc3VsdCA9IGZ1bmMuYXBwbHkodGhpcywgYXJncyk7XG4gICAgICAgIG1lbW9pemVkLmNhY2hlID0gY2FjaGUuc2V0KGtleSwgcmVzdWx0KSB8fCBjYWNoZTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH07XG4gICAgICBtZW1vaXplZC5jYWNoZSA9IG5ldyAobWVtb2l6ZS5DYWNoZSB8fCBNYXBDYWNoZSk7XG4gICAgICByZXR1cm4gbWVtb2l6ZWQ7XG4gICAgfVxuXG4gICAgLy8gRXhwb3NlIGBNYXBDYWNoZWAuXG4gICAgbWVtb2l6ZS5DYWNoZSA9IE1hcENhY2hlO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgbmVnYXRlcyB0aGUgcmVzdWx0IG9mIHRoZSBwcmVkaWNhdGUgYGZ1bmNgLiBUaGVcbiAgICAgKiBgZnVuY2AgcHJlZGljYXRlIGlzIGludm9rZWQgd2l0aCB0aGUgYHRoaXNgIGJpbmRpbmcgYW5kIGFyZ3VtZW50cyBvZiB0aGVcbiAgICAgKiBjcmVhdGVkIGZ1bmN0aW9uLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gcHJlZGljYXRlIFRoZSBwcmVkaWNhdGUgdG8gbmVnYXRlLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IG5lZ2F0ZWQgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGlzRXZlbihuKSB7XG4gICAgICogICByZXR1cm4gbiAlIDIgPT0gMDtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBfLmZpbHRlcihbMSwgMiwgMywgNCwgNSwgNl0sIF8ubmVnYXRlKGlzRXZlbikpO1xuICAgICAqIC8vID0+IFsxLCAzLCA1XVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG5lZ2F0ZShwcmVkaWNhdGUpIHtcbiAgICAgIGlmICh0eXBlb2YgcHJlZGljYXRlICE9ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihGVU5DX0VSUk9SX1RFWFQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgYXJncyA9IGFyZ3VtZW50cztcbiAgICAgICAgc3dpdGNoIChhcmdzLmxlbmd0aCkge1xuICAgICAgICAgIGNhc2UgMDogcmV0dXJuICFwcmVkaWNhdGUuY2FsbCh0aGlzKTtcbiAgICAgICAgICBjYXNlIDE6IHJldHVybiAhcHJlZGljYXRlLmNhbGwodGhpcywgYXJnc1swXSk7XG4gICAgICAgICAgY2FzZSAyOiByZXR1cm4gIXByZWRpY2F0ZS5jYWxsKHRoaXMsIGFyZ3NbMF0sIGFyZ3NbMV0pO1xuICAgICAgICAgIGNhc2UgMzogcmV0dXJuICFwcmVkaWNhdGUuY2FsbCh0aGlzLCBhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gIXByZWRpY2F0ZS5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaXMgcmVzdHJpY3RlZCB0byBpbnZva2luZyBgZnVuY2Agb25jZS4gUmVwZWF0IGNhbGxzXG4gICAgICogdG8gdGhlIGZ1bmN0aW9uIHJldHVybiB0aGUgdmFsdWUgb2YgdGhlIGZpcnN0IGludm9jYXRpb24uIFRoZSBgZnVuY2AgaXNcbiAgICAgKiBpbnZva2VkIHdpdGggdGhlIGB0aGlzYCBiaW5kaW5nIGFuZCBhcmd1bWVudHMgb2YgdGhlIGNyZWF0ZWQgZnVuY3Rpb24uXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byByZXN0cmljdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyByZXN0cmljdGVkIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgaW5pdGlhbGl6ZSA9IF8ub25jZShjcmVhdGVBcHBsaWNhdGlvbik7XG4gICAgICogaW5pdGlhbGl6ZSgpO1xuICAgICAqIGluaXRpYWxpemUoKTtcbiAgICAgKiAvLyA9PiBgY3JlYXRlQXBwbGljYXRpb25gIGlzIGludm9rZWQgb25jZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG9uY2UoZnVuYykge1xuICAgICAgcmV0dXJuIGJlZm9yZSgyLCBmdW5jKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzIGBmdW5jYCB3aXRoIGl0cyBhcmd1bWVudHMgdHJhbnNmb3JtZWQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byB3cmFwLlxuICAgICAqIEBwYXJhbSB7Li4uKEZ1bmN0aW9ufEZ1bmN0aW9uW10pfSBbdHJhbnNmb3Jtcz1bXy5pZGVudGl0eV1dXG4gICAgICogIFRoZSBhcmd1bWVudCB0cmFuc2Zvcm1zLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBkb3VibGVkKG4pIHtcbiAgICAgKiAgIHJldHVybiBuICogMjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBzcXVhcmUobikge1xuICAgICAqICAgcmV0dXJuIG4gKiBuO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIHZhciBmdW5jID0gXy5vdmVyQXJncyhmdW5jdGlvbih4LCB5KSB7XG4gICAgICogICByZXR1cm4gW3gsIHldO1xuICAgICAqIH0sIFtzcXVhcmUsIGRvdWJsZWRdKTtcbiAgICAgKlxuICAgICAqIGZ1bmMoOSwgMyk7XG4gICAgICogLy8gPT4gWzgxLCA2XVxuICAgICAqXG4gICAgICogZnVuYygxMCwgNSk7XG4gICAgICogLy8gPT4gWzEwMCwgMTBdXG4gICAgICovXG4gICAgdmFyIG92ZXJBcmdzID0gY2FzdFJlc3QoZnVuY3Rpb24oZnVuYywgdHJhbnNmb3Jtcykge1xuICAgICAgdHJhbnNmb3JtcyA9ICh0cmFuc2Zvcm1zLmxlbmd0aCA9PSAxICYmIGlzQXJyYXkodHJhbnNmb3Jtc1swXSkpXG4gICAgICAgID8gYXJyYXlNYXAodHJhbnNmb3Jtc1swXSwgYmFzZVVuYXJ5KGdldEl0ZXJhdGVlKCkpKVxuICAgICAgICA6IGFycmF5TWFwKGJhc2VGbGF0dGVuKHRyYW5zZm9ybXMsIDEpLCBiYXNlVW5hcnkoZ2V0SXRlcmF0ZWUoKSkpO1xuXG4gICAgICB2YXIgZnVuY3NMZW5ndGggPSB0cmFuc2Zvcm1zLmxlbmd0aDtcbiAgICAgIHJldHVybiBiYXNlUmVzdChmdW5jdGlvbihhcmdzKSB7XG4gICAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgICAgbGVuZ3RoID0gbmF0aXZlTWluKGFyZ3MubGVuZ3RoLCBmdW5jc0xlbmd0aCk7XG5cbiAgICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICBhcmdzW2luZGV4XSA9IHRyYW5zZm9ybXNbaW5kZXhdLmNhbGwodGhpcywgYXJnc1tpbmRleF0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhcHBseShmdW5jLCB0aGlzLCBhcmdzKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlcyBgZnVuY2Agd2l0aCBgcGFydGlhbHNgIHByZXBlbmRlZCB0byB0aGVcbiAgICAgKiBhcmd1bWVudHMgaXQgcmVjZWl2ZXMuIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uYmluZGAgZXhjZXB0IGl0IGRvZXMgKipub3QqKlxuICAgICAqIGFsdGVyIHRoZSBgdGhpc2AgYmluZGluZy5cbiAgICAgKlxuICAgICAqIFRoZSBgXy5wYXJ0aWFsLnBsYWNlaG9sZGVyYCB2YWx1ZSwgd2hpY2ggZGVmYXVsdHMgdG8gYF9gIGluIG1vbm9saXRoaWNcbiAgICAgKiBidWlsZHMsIG1heSBiZSB1c2VkIGFzIGEgcGxhY2Vob2xkZXIgZm9yIHBhcnRpYWxseSBhcHBsaWVkIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBkb2Vzbid0IHNldCB0aGUgXCJsZW5ndGhcIiBwcm9wZXJ0eSBvZiBwYXJ0aWFsbHlcbiAgICAgKiBhcHBsaWVkIGZ1bmN0aW9ucy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjIuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHBhcnRpYWxseSBhcHBseSBhcmd1bWVudHMgdG8uXG4gICAgICogQHBhcmFtIHsuLi4qfSBbcGFydGlhbHNdIFRoZSBhcmd1bWVudHMgdG8gYmUgcGFydGlhbGx5IGFwcGxpZWQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcGFydGlhbGx5IGFwcGxpZWQgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGdyZWV0KGdyZWV0aW5nLCBuYW1lKSB7XG4gICAgICogICByZXR1cm4gZ3JlZXRpbmcgKyAnICcgKyBuYW1lO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIHZhciBzYXlIZWxsb1RvID0gXy5wYXJ0aWFsKGdyZWV0LCAnaGVsbG8nKTtcbiAgICAgKiBzYXlIZWxsb1RvKCdmcmVkJyk7XG4gICAgICogLy8gPT4gJ2hlbGxvIGZyZWQnXG4gICAgICpcbiAgICAgKiAvLyBQYXJ0aWFsbHkgYXBwbGllZCB3aXRoIHBsYWNlaG9sZGVycy5cbiAgICAgKiB2YXIgZ3JlZXRGcmVkID0gXy5wYXJ0aWFsKGdyZWV0LCBfLCAnZnJlZCcpO1xuICAgICAqIGdyZWV0RnJlZCgnaGknKTtcbiAgICAgKiAvLyA9PiAnaGkgZnJlZCdcbiAgICAgKi9cbiAgICB2YXIgcGFydGlhbCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGZ1bmMsIHBhcnRpYWxzKSB7XG4gICAgICB2YXIgaG9sZGVycyA9IHJlcGxhY2VIb2xkZXJzKHBhcnRpYWxzLCBnZXRIb2xkZXIocGFydGlhbCkpO1xuICAgICAgcmV0dXJuIGNyZWF0ZVdyYXAoZnVuYywgV1JBUF9QQVJUSUFMX0ZMQUcsIHVuZGVmaW5lZCwgcGFydGlhbHMsIGhvbGRlcnMpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5wYXJ0aWFsYCBleGNlcHQgdGhhdCBwYXJ0aWFsbHkgYXBwbGllZCBhcmd1bWVudHNcbiAgICAgKiBhcmUgYXBwZW5kZWQgdG8gdGhlIGFyZ3VtZW50cyBpdCByZWNlaXZlcy5cbiAgICAgKlxuICAgICAqIFRoZSBgXy5wYXJ0aWFsUmlnaHQucGxhY2Vob2xkZXJgIHZhbHVlLCB3aGljaCBkZWZhdWx0cyB0byBgX2AgaW4gbW9ub2xpdGhpY1xuICAgICAqIGJ1aWxkcywgbWF5IGJlIHVzZWQgYXMgYSBwbGFjZWhvbGRlciBmb3IgcGFydGlhbGx5IGFwcGxpZWQgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGRvZXNuJ3Qgc2V0IHRoZSBcImxlbmd0aFwiIHByb3BlcnR5IG9mIHBhcnRpYWxseVxuICAgICAqIGFwcGxpZWQgZnVuY3Rpb25zLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDEuMC4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gcGFydGlhbGx5IGFwcGx5IGFyZ3VtZW50cyB0by5cbiAgICAgKiBAcGFyYW0gey4uLip9IFtwYXJ0aWFsc10gVGhlIGFyZ3VtZW50cyB0byBiZSBwYXJ0aWFsbHkgYXBwbGllZC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBwYXJ0aWFsbHkgYXBwbGllZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gZ3JlZXQoZ3JlZXRpbmcsIG5hbWUpIHtcbiAgICAgKiAgIHJldHVybiBncmVldGluZyArICcgJyArIG5hbWU7XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIGdyZWV0RnJlZCA9IF8ucGFydGlhbFJpZ2h0KGdyZWV0LCAnZnJlZCcpO1xuICAgICAqIGdyZWV0RnJlZCgnaGknKTtcbiAgICAgKiAvLyA9PiAnaGkgZnJlZCdcbiAgICAgKlxuICAgICAqIC8vIFBhcnRpYWxseSBhcHBsaWVkIHdpdGggcGxhY2Vob2xkZXJzLlxuICAgICAqIHZhciBzYXlIZWxsb1RvID0gXy5wYXJ0aWFsUmlnaHQoZ3JlZXQsICdoZWxsbycsIF8pO1xuICAgICAqIHNheUhlbGxvVG8oJ2ZyZWQnKTtcbiAgICAgKiAvLyA9PiAnaGVsbG8gZnJlZCdcbiAgICAgKi9cbiAgICB2YXIgcGFydGlhbFJpZ2h0ID0gYmFzZVJlc3QoZnVuY3Rpb24oZnVuYywgcGFydGlhbHMpIHtcbiAgICAgIHZhciBob2xkZXJzID0gcmVwbGFjZUhvbGRlcnMocGFydGlhbHMsIGdldEhvbGRlcihwYXJ0aWFsUmlnaHQpKTtcbiAgICAgIHJldHVybiBjcmVhdGVXcmFwKGZ1bmMsIFdSQVBfUEFSVElBTF9SSUdIVF9GTEFHLCB1bmRlZmluZWQsIHBhcnRpYWxzLCBob2xkZXJzKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGludm9rZXMgYGZ1bmNgIHdpdGggYXJndW1lbnRzIGFycmFuZ2VkIGFjY29yZGluZ1xuICAgICAqIHRvIHRoZSBzcGVjaWZpZWQgYGluZGV4ZXNgIHdoZXJlIHRoZSBhcmd1bWVudCB2YWx1ZSBhdCB0aGUgZmlyc3QgaW5kZXggaXNcbiAgICAgKiBwcm92aWRlZCBhcyB0aGUgZmlyc3QgYXJndW1lbnQsIHRoZSBhcmd1bWVudCB2YWx1ZSBhdCB0aGUgc2Vjb25kIGluZGV4IGlzXG4gICAgICogcHJvdmlkZWQgYXMgdGhlIHNlY29uZCBhcmd1bWVudCwgYW5kIHNvIG9uLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gcmVhcnJhbmdlIGFyZ3VtZW50cyBmb3IuXG4gICAgICogQHBhcmFtIHsuLi4obnVtYmVyfG51bWJlcltdKX0gaW5kZXhlcyBUaGUgYXJyYW5nZWQgYXJndW1lbnQgaW5kZXhlcy5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHJlYXJnZWQgPSBfLnJlYXJnKGZ1bmN0aW9uKGEsIGIsIGMpIHtcbiAgICAgKiAgIHJldHVybiBbYSwgYiwgY107XG4gICAgICogfSwgWzIsIDAsIDFdKTtcbiAgICAgKlxuICAgICAqIHJlYXJnZWQoJ2InLCAnYycsICdhJylcbiAgICAgKiAvLyA9PiBbJ2EnLCAnYicsICdjJ11cbiAgICAgKi9cbiAgICB2YXIgcmVhcmcgPSBmbGF0UmVzdChmdW5jdGlvbihmdW5jLCBpbmRleGVzKSB7XG4gICAgICByZXR1cm4gY3JlYXRlV3JhcChmdW5jLCBXUkFQX1JFQVJHX0ZMQUcsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGluZGV4ZXMpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlcyBgZnVuY2Agd2l0aCB0aGUgYHRoaXNgIGJpbmRpbmcgb2YgdGhlXG4gICAgICogY3JlYXRlZCBmdW5jdGlvbiBhbmQgYXJndW1lbnRzIGZyb20gYHN0YXJ0YCBhbmQgYmV5b25kIHByb3ZpZGVkIGFzXG4gICAgICogYW4gYXJyYXkuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgYmFzZWQgb24gdGhlXG4gICAgICogW3Jlc3QgcGFyYW1ldGVyXShodHRwczovL21kbi5pby9yZXN0X3BhcmFtZXRlcnMpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gYXBwbHkgYSByZXN0IHBhcmFtZXRlciB0by5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PWZ1bmMubGVuZ3RoLTFdIFRoZSBzdGFydCBwb3NpdGlvbiBvZiB0aGUgcmVzdCBwYXJhbWV0ZXIuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBzYXkgPSBfLnJlc3QoZnVuY3Rpb24od2hhdCwgbmFtZXMpIHtcbiAgICAgKiAgIHJldHVybiB3aGF0ICsgJyAnICsgXy5pbml0aWFsKG5hbWVzKS5qb2luKCcsICcpICtcbiAgICAgKiAgICAgKF8uc2l6ZShuYW1lcykgPiAxID8gJywgJiAnIDogJycpICsgXy5sYXN0KG5hbWVzKTtcbiAgICAgKiB9KTtcbiAgICAgKlxuICAgICAqIHNheSgnaGVsbG8nLCAnZnJlZCcsICdiYXJuZXknLCAncGViYmxlcycpO1xuICAgICAqIC8vID0+ICdoZWxsbyBmcmVkLCBiYXJuZXksICYgcGViYmxlcydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiByZXN0KGZ1bmMsIHN0YXJ0KSB7XG4gICAgICBpZiAodHlwZW9mIGZ1bmMgIT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gICAgICB9XG4gICAgICBzdGFydCA9IHN0YXJ0ID09PSB1bmRlZmluZWQgPyBzdGFydCA6IHRvSW50ZWdlcihzdGFydCk7XG4gICAgICByZXR1cm4gYmFzZVJlc3QoZnVuYywgc3RhcnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGludm9rZXMgYGZ1bmNgIHdpdGggdGhlIGB0aGlzYCBiaW5kaW5nIG9mIHRoZVxuICAgICAqIGNyZWF0ZSBmdW5jdGlvbiBhbmQgYW4gYXJyYXkgb2YgYXJndW1lbnRzIG11Y2ggbGlrZVxuICAgICAqIFtgRnVuY3Rpb24jYXBwbHlgXShodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtZnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KS5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBpcyBiYXNlZCBvbiB0aGVcbiAgICAgKiBbc3ByZWFkIG9wZXJhdG9yXShodHRwczovL21kbi5pby9zcHJlYWRfb3BlcmF0b3IpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMi4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gc3ByZWFkIGFyZ3VtZW50cyBvdmVyLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbc3RhcnQ9MF0gVGhlIHN0YXJ0IHBvc2l0aW9uIG9mIHRoZSBzcHJlYWQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBzYXkgPSBfLnNwcmVhZChmdW5jdGlvbih3aG8sIHdoYXQpIHtcbiAgICAgKiAgIHJldHVybiB3aG8gKyAnIHNheXMgJyArIHdoYXQ7XG4gICAgICogfSk7XG4gICAgICpcbiAgICAgKiBzYXkoWydmcmVkJywgJ2hlbGxvJ10pO1xuICAgICAqIC8vID0+ICdmcmVkIHNheXMgaGVsbG8nXG4gICAgICpcbiAgICAgKiB2YXIgbnVtYmVycyA9IFByb21pc2UuYWxsKFtcbiAgICAgKiAgIFByb21pc2UucmVzb2x2ZSg0MCksXG4gICAgICogICBQcm9taXNlLnJlc29sdmUoMzYpXG4gICAgICogXSk7XG4gICAgICpcbiAgICAgKiBudW1iZXJzLnRoZW4oXy5zcHJlYWQoZnVuY3Rpb24oeCwgeSkge1xuICAgICAqICAgcmV0dXJuIHggKyB5O1xuICAgICAqIH0pKTtcbiAgICAgKiAvLyA9PiBhIFByb21pc2Ugb2YgNzZcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzcHJlYWQoZnVuYywgc3RhcnQpIHtcbiAgICAgIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgIH1cbiAgICAgIHN0YXJ0ID0gc3RhcnQgPT0gbnVsbCA/IDAgOiBuYXRpdmVNYXgodG9JbnRlZ2VyKHN0YXJ0KSwgMCk7XG4gICAgICByZXR1cm4gYmFzZVJlc3QoZnVuY3Rpb24oYXJncykge1xuICAgICAgICB2YXIgYXJyYXkgPSBhcmdzW3N0YXJ0XSxcbiAgICAgICAgICAgIG90aGVyQXJncyA9IGNhc3RTbGljZShhcmdzLCAwLCBzdGFydCk7XG5cbiAgICAgICAgaWYgKGFycmF5KSB7XG4gICAgICAgICAgYXJyYXlQdXNoKG90aGVyQXJncywgYXJyYXkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhcHBseShmdW5jLCB0aGlzLCBvdGhlckFyZ3MpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHRocm90dGxlZCBmdW5jdGlvbiB0aGF0IG9ubHkgaW52b2tlcyBgZnVuY2AgYXQgbW9zdCBvbmNlIHBlclxuICAgICAqIGV2ZXJ5IGB3YWl0YCBtaWxsaXNlY29uZHMuIFRoZSB0aHJvdHRsZWQgZnVuY3Rpb24gY29tZXMgd2l0aCBhIGBjYW5jZWxgXG4gICAgICogbWV0aG9kIHRvIGNhbmNlbCBkZWxheWVkIGBmdW5jYCBpbnZvY2F0aW9ucyBhbmQgYSBgZmx1c2hgIG1ldGhvZCB0b1xuICAgICAqIGltbWVkaWF0ZWx5IGludm9rZSB0aGVtLiBQcm92aWRlIGBvcHRpb25zYCB0byBpbmRpY2F0ZSB3aGV0aGVyIGBmdW5jYFxuICAgICAqIHNob3VsZCBiZSBpbnZva2VkIG9uIHRoZSBsZWFkaW5nIGFuZC9vciB0cmFpbGluZyBlZGdlIG9mIHRoZSBgd2FpdGBcbiAgICAgKiB0aW1lb3V0LiBUaGUgYGZ1bmNgIGlzIGludm9rZWQgd2l0aCB0aGUgbGFzdCBhcmd1bWVudHMgcHJvdmlkZWQgdG8gdGhlXG4gICAgICogdGhyb3R0bGVkIGZ1bmN0aW9uLiBTdWJzZXF1ZW50IGNhbGxzIHRvIHRoZSB0aHJvdHRsZWQgZnVuY3Rpb24gcmV0dXJuIHRoZVxuICAgICAqIHJlc3VsdCBvZiB0aGUgbGFzdCBgZnVuY2AgaW52b2NhdGlvbi5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBJZiBgbGVhZGluZ2AgYW5kIGB0cmFpbGluZ2Agb3B0aW9ucyBhcmUgYHRydWVgLCBgZnVuY2AgaXNcbiAgICAgKiBpbnZva2VkIG9uIHRoZSB0cmFpbGluZyBlZGdlIG9mIHRoZSB0aW1lb3V0IG9ubHkgaWYgdGhlIHRocm90dGxlZCBmdW5jdGlvblxuICAgICAqIGlzIGludm9rZWQgbW9yZSB0aGFuIG9uY2UgZHVyaW5nIHRoZSBgd2FpdGAgdGltZW91dC5cbiAgICAgKlxuICAgICAqIElmIGB3YWl0YCBpcyBgMGAgYW5kIGBsZWFkaW5nYCBpcyBgZmFsc2VgLCBgZnVuY2AgaW52b2NhdGlvbiBpcyBkZWZlcnJlZFxuICAgICAqIHVudGlsIHRvIHRoZSBuZXh0IHRpY2ssIHNpbWlsYXIgdG8gYHNldFRpbWVvdXRgIHdpdGggYSB0aW1lb3V0IG9mIGAwYC5cbiAgICAgKlxuICAgICAqIFNlZSBbRGF2aWQgQ29yYmFjaG8ncyBhcnRpY2xlXShodHRwczovL2Nzcy10cmlja3MuY29tL2RlYm91bmNpbmctdGhyb3R0bGluZy1leHBsYWluZWQtZXhhbXBsZXMvKVxuICAgICAqIGZvciBkZXRhaWxzIG92ZXIgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gYF8udGhyb3R0bGVgIGFuZCBgXy5kZWJvdW5jZWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byB0aHJvdHRsZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3dhaXQ9MF0gVGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gdGhyb3R0bGUgaW52b2NhdGlvbnMgdG8uXG4gICAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zPXt9XSBUaGUgb3B0aW9ucyBvYmplY3QuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5sZWFkaW5nPXRydWVdXG4gICAgICogIFNwZWNpZnkgaW52b2tpbmcgb24gdGhlIGxlYWRpbmcgZWRnZSBvZiB0aGUgdGltZW91dC5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLnRyYWlsaW5nPXRydWVdXG4gICAgICogIFNwZWNpZnkgaW52b2tpbmcgb24gdGhlIHRyYWlsaW5nIGVkZ2Ugb2YgdGhlIHRpbWVvdXQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgdGhyb3R0bGVkIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiAvLyBBdm9pZCBleGNlc3NpdmVseSB1cGRhdGluZyB0aGUgcG9zaXRpb24gd2hpbGUgc2Nyb2xsaW5nLlxuICAgICAqIGpRdWVyeSh3aW5kb3cpLm9uKCdzY3JvbGwnLCBfLnRocm90dGxlKHVwZGF0ZVBvc2l0aW9uLCAxMDApKTtcbiAgICAgKlxuICAgICAqIC8vIEludm9rZSBgcmVuZXdUb2tlbmAgd2hlbiB0aGUgY2xpY2sgZXZlbnQgaXMgZmlyZWQsIGJ1dCBub3QgbW9yZSB0aGFuIG9uY2UgZXZlcnkgNSBtaW51dGVzLlxuICAgICAqIHZhciB0aHJvdHRsZWQgPSBfLnRocm90dGxlKHJlbmV3VG9rZW4sIDMwMDAwMCwgeyAndHJhaWxpbmcnOiBmYWxzZSB9KTtcbiAgICAgKiBqUXVlcnkoZWxlbWVudCkub24oJ2NsaWNrJywgdGhyb3R0bGVkKTtcbiAgICAgKlxuICAgICAqIC8vIENhbmNlbCB0aGUgdHJhaWxpbmcgdGhyb3R0bGVkIGludm9jYXRpb24uXG4gICAgICogalF1ZXJ5KHdpbmRvdykub24oJ3BvcHN0YXRlJywgdGhyb3R0bGVkLmNhbmNlbCk7XG4gICAgICovXG4gICAgZnVuY3Rpb24gdGhyb3R0bGUoZnVuYywgd2FpdCwgb3B0aW9ucykge1xuICAgICAgdmFyIGxlYWRpbmcgPSB0cnVlLFxuICAgICAgICAgIHRyYWlsaW5nID0gdHJ1ZTtcblxuICAgICAgaWYgKHR5cGVvZiBmdW5jICE9ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihGVU5DX0VSUk9SX1RFWFQpO1xuICAgICAgfVxuICAgICAgaWYgKGlzT2JqZWN0KG9wdGlvbnMpKSB7XG4gICAgICAgIGxlYWRpbmcgPSAnbGVhZGluZycgaW4gb3B0aW9ucyA/ICEhb3B0aW9ucy5sZWFkaW5nIDogbGVhZGluZztcbiAgICAgICAgdHJhaWxpbmcgPSAndHJhaWxpbmcnIGluIG9wdGlvbnMgPyAhIW9wdGlvbnMudHJhaWxpbmcgOiB0cmFpbGluZztcbiAgICAgIH1cbiAgICAgIHJldHVybiBkZWJvdW5jZShmdW5jLCB3YWl0LCB7XG4gICAgICAgICdsZWFkaW5nJzogbGVhZGluZyxcbiAgICAgICAgJ21heFdhaXQnOiB3YWl0LFxuICAgICAgICAndHJhaWxpbmcnOiB0cmFpbGluZ1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgYWNjZXB0cyB1cCB0byBvbmUgYXJndW1lbnQsIGlnbm9yaW5nIGFueVxuICAgICAqIGFkZGl0aW9uYWwgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gY2FwIGFyZ3VtZW50cyBmb3IuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY2FwcGVkIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLm1hcChbJzYnLCAnOCcsICcxMCddLCBfLnVuYXJ5KHBhcnNlSW50KSk7XG4gICAgICogLy8gPT4gWzYsIDgsIDEwXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHVuYXJ5KGZ1bmMpIHtcbiAgICAgIHJldHVybiBhcnkoZnVuYywgMSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgcHJvdmlkZXMgYHZhbHVlYCB0byBgd3JhcHBlcmAgYXMgaXRzIGZpcnN0XG4gICAgICogYXJndW1lbnQuIEFueSBhZGRpdGlvbmFsIGFyZ3VtZW50cyBwcm92aWRlZCB0byB0aGUgZnVuY3Rpb24gYXJlIGFwcGVuZGVkXG4gICAgICogdG8gdGhvc2UgcHJvdmlkZWQgdG8gdGhlIGB3cmFwcGVyYC4gVGhlIHdyYXBwZXIgaXMgaW52b2tlZCB3aXRoIHRoZSBgdGhpc2BcbiAgICAgKiBiaW5kaW5nIG9mIHRoZSBjcmVhdGVkIGZ1bmN0aW9uLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gd3JhcC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbd3JhcHBlcj1pZGVudGl0eV0gVGhlIHdyYXBwZXIgZnVuY3Rpb24uXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBwID0gXy53cmFwKF8uZXNjYXBlLCBmdW5jdGlvbihmdW5jLCB0ZXh0KSB7XG4gICAgICogICByZXR1cm4gJzxwPicgKyBmdW5jKHRleHQpICsgJzwvcD4nO1xuICAgICAqIH0pO1xuICAgICAqXG4gICAgICogcCgnZnJlZCwgYmFybmV5LCAmIHBlYmJsZXMnKTtcbiAgICAgKiAvLyA9PiAnPHA+ZnJlZCwgYmFybmV5LCAmYW1wOyBwZWJibGVzPC9wPidcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB3cmFwKHZhbHVlLCB3cmFwcGVyKSB7XG4gICAgICByZXR1cm4gcGFydGlhbChjYXN0RnVuY3Rpb24od3JhcHBlciksIHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBDYXN0cyBgdmFsdWVgIGFzIGFuIGFycmF5IGlmIGl0J3Mgbm90IG9uZS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjQuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gaW5zcGVjdC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGNhc3QgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uY2FzdEFycmF5KDEpO1xuICAgICAqIC8vID0+IFsxXVxuICAgICAqXG4gICAgICogXy5jYXN0QXJyYXkoeyAnYSc6IDEgfSk7XG4gICAgICogLy8gPT4gW3sgJ2EnOiAxIH1dXG4gICAgICpcbiAgICAgKiBfLmNhc3RBcnJheSgnYWJjJyk7XG4gICAgICogLy8gPT4gWydhYmMnXVxuICAgICAqXG4gICAgICogXy5jYXN0QXJyYXkobnVsbCk7XG4gICAgICogLy8gPT4gW251bGxdXG4gICAgICpcbiAgICAgKiBfLmNhc3RBcnJheSh1bmRlZmluZWQpO1xuICAgICAqIC8vID0+IFt1bmRlZmluZWRdXG4gICAgICpcbiAgICAgKiBfLmNhc3RBcnJheSgpO1xuICAgICAqIC8vID0+IFtdXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBbMSwgMiwgM107XG4gICAgICogY29uc29sZS5sb2coXy5jYXN0QXJyYXkoYXJyYXkpID09PSBhcnJheSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNhc3RBcnJheSgpIHtcbiAgICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICB2YXIgdmFsdWUgPSBhcmd1bWVudHNbMF07XG4gICAgICByZXR1cm4gaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHNoYWxsb3cgY2xvbmUgb2YgYHZhbHVlYC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBpcyBsb29zZWx5IGJhc2VkIG9uIHRoZVxuICAgICAqIFtzdHJ1Y3R1cmVkIGNsb25lIGFsZ29yaXRobV0oaHR0cHM6Ly9tZG4uaW8vU3RydWN0dXJlZF9jbG9uZV9hbGdvcml0aG0pXG4gICAgICogYW5kIHN1cHBvcnRzIGNsb25pbmcgYXJyYXlzLCBhcnJheSBidWZmZXJzLCBib29sZWFucywgZGF0ZSBvYmplY3RzLCBtYXBzLFxuICAgICAqIG51bWJlcnMsIGBPYmplY3RgIG9iamVjdHMsIHJlZ2V4ZXMsIHNldHMsIHN0cmluZ3MsIHN5bWJvbHMsIGFuZCB0eXBlZFxuICAgICAqIGFycmF5cy4gVGhlIG93biBlbnVtZXJhYmxlIHByb3BlcnRpZXMgb2YgYGFyZ3VtZW50c2Agb2JqZWN0cyBhcmUgY2xvbmVkXG4gICAgICogYXMgcGxhaW4gb2JqZWN0cy4gQW4gZW1wdHkgb2JqZWN0IGlzIHJldHVybmVkIGZvciB1bmNsb25lYWJsZSB2YWx1ZXMgc3VjaFxuICAgICAqIGFzIGVycm9yIG9iamVjdHMsIGZ1bmN0aW9ucywgRE9NIG5vZGVzLCBhbmQgV2Vha01hcHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNsb25lLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBjbG9uZWQgdmFsdWUuXG4gICAgICogQHNlZSBfLmNsb25lRGVlcFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IFt7ICdhJzogMSB9LCB7ICdiJzogMiB9XTtcbiAgICAgKlxuICAgICAqIHZhciBzaGFsbG93ID0gXy5jbG9uZShvYmplY3RzKTtcbiAgICAgKiBjb25zb2xlLmxvZyhzaGFsbG93WzBdID09PSBvYmplY3RzWzBdKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICovXG4gICAgZnVuY3Rpb24gY2xvbmUodmFsdWUpIHtcbiAgICAgIHJldHVybiBiYXNlQ2xvbmUodmFsdWUsIENMT05FX1NZTUJPTFNfRkxBRyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5jbG9uZWAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY3VzdG9taXplcmAgd2hpY2hcbiAgICAgKiBpcyBpbnZva2VkIHRvIHByb2R1Y2UgdGhlIGNsb25lZCB2YWx1ZS4gSWYgYGN1c3RvbWl6ZXJgIHJldHVybnMgYHVuZGVmaW5lZGAsXG4gICAgICogY2xvbmluZyBpcyBoYW5kbGVkIGJ5IHRoZSBtZXRob2QgaW5zdGVhZC4gVGhlIGBjdXN0b21pemVyYCBpcyBpbnZva2VkIHdpdGhcbiAgICAgKiB1cCB0byBmb3VyIGFyZ3VtZW50czsgKHZhbHVlIFssIGluZGV4fGtleSwgb2JqZWN0LCBzdGFja10pLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjbG9uZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBjbG9uaW5nLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBjbG9uZWQgdmFsdWUuXG4gICAgICogQHNlZSBfLmNsb25lRGVlcFdpdGhcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gY3VzdG9taXplcih2YWx1ZSkge1xuICAgICAqICAgaWYgKF8uaXNFbGVtZW50KHZhbHVlKSkge1xuICAgICAqICAgICByZXR1cm4gdmFsdWUuY2xvbmVOb2RlKGZhbHNlKTtcbiAgICAgKiAgIH1cbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiB2YXIgZWwgPSBfLmNsb25lV2l0aChkb2N1bWVudC5ib2R5LCBjdXN0b21pemVyKTtcbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKGVsID09PSBkb2N1bWVudC5ib2R5KTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqIGNvbnNvbGUubG9nKGVsLm5vZGVOYW1lKTtcbiAgICAgKiAvLyA9PiAnQk9EWSdcbiAgICAgKiBjb25zb2xlLmxvZyhlbC5jaGlsZE5vZGVzLmxlbmd0aCk7XG4gICAgICogLy8gPT4gMFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNsb25lV2l0aCh2YWx1ZSwgY3VzdG9taXplcikge1xuICAgICAgY3VzdG9taXplciA9IHR5cGVvZiBjdXN0b21pemVyID09ICdmdW5jdGlvbicgPyBjdXN0b21pemVyIDogdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIGJhc2VDbG9uZSh2YWx1ZSwgQ0xPTkVfU1lNQk9MU19GTEFHLCBjdXN0b21pemVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmNsb25lYCBleGNlcHQgdGhhdCBpdCByZWN1cnNpdmVseSBjbG9uZXMgYHZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAxLjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcmVjdXJzaXZlbHkgY2xvbmUuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGRlZXAgY2xvbmVkIHZhbHVlLlxuICAgICAqIEBzZWUgXy5jbG9uZVxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IFt7ICdhJzogMSB9LCB7ICdiJzogMiB9XTtcbiAgICAgKlxuICAgICAqIHZhciBkZWVwID0gXy5jbG9uZURlZXAob2JqZWN0cyk7XG4gICAgICogY29uc29sZS5sb2coZGVlcFswXSA9PT0gb2JqZWN0c1swXSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZURlZXAodmFsdWUpIHtcbiAgICAgIHJldHVybiBiYXNlQ2xvbmUodmFsdWUsIENMT05FX0RFRVBfRkxBRyB8IENMT05FX1NZTUJPTFNfRkxBRyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5jbG9uZVdpdGhgIGV4Y2VwdCB0aGF0IGl0IHJlY3Vyc2l2ZWx5IGNsb25lcyBgdmFsdWVgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byByZWN1cnNpdmVseSBjbG9uZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBjbG9uaW5nLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBkZWVwIGNsb25lZCB2YWx1ZS5cbiAgICAgKiBAc2VlIF8uY2xvbmVXaXRoXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGN1c3RvbWl6ZXIodmFsdWUpIHtcbiAgICAgKiAgIGlmIChfLmlzRWxlbWVudCh2YWx1ZSkpIHtcbiAgICAgKiAgICAgcmV0dXJuIHZhbHVlLmNsb25lTm9kZSh0cnVlKTtcbiAgICAgKiAgIH1cbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiB2YXIgZWwgPSBfLmNsb25lRGVlcFdpdGgoZG9jdW1lbnQuYm9keSwgY3VzdG9taXplcik7XG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhlbCA9PT0gZG9jdW1lbnQuYm9keSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKiBjb25zb2xlLmxvZyhlbC5ub2RlTmFtZSk7XG4gICAgICogLy8gPT4gJ0JPRFknXG4gICAgICogY29uc29sZS5sb2coZWwuY2hpbGROb2Rlcy5sZW5ndGgpO1xuICAgICAqIC8vID0+IDIwXG4gICAgICovXG4gICAgZnVuY3Rpb24gY2xvbmVEZWVwV2l0aCh2YWx1ZSwgY3VzdG9taXplcikge1xuICAgICAgY3VzdG9taXplciA9IHR5cGVvZiBjdXN0b21pemVyID09ICdmdW5jdGlvbicgPyBjdXN0b21pemVyIDogdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIGJhc2VDbG9uZSh2YWx1ZSwgQ0xPTkVfREVFUF9GTEFHIHwgQ0xPTkVfU1lNQk9MU19GTEFHLCBjdXN0b21pemVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYG9iamVjdGAgY29uZm9ybXMgdG8gYHNvdXJjZWAgYnkgaW52b2tpbmcgdGhlIHByZWRpY2F0ZVxuICAgICAqIHByb3BlcnRpZXMgb2YgYHNvdXJjZWAgd2l0aCB0aGUgY29ycmVzcG9uZGluZyBwcm9wZXJ0eSB2YWx1ZXMgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgZXF1aXZhbGVudCB0byBgXy5jb25mb3Jtc2Agd2hlbiBgc291cmNlYCBpc1xuICAgICAqIHBhcnRpYWxseSBhcHBsaWVkLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMTQuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IG9mIHByb3BlcnR5IHByZWRpY2F0ZXMgdG8gY29uZm9ybSB0by5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYG9iamVjdGAgY29uZm9ybXMsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxLCAnYic6IDIgfTtcbiAgICAgKlxuICAgICAqIF8uY29uZm9ybXNUbyhvYmplY3QsIHsgJ2InOiBmdW5jdGlvbihuKSB7IHJldHVybiBuID4gMTsgfSB9KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmNvbmZvcm1zVG8ob2JqZWN0LCB7ICdiJzogZnVuY3Rpb24obikgeyByZXR1cm4gbiA+IDI7IH0gfSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjb25mb3Jtc1RvKG9iamVjdCwgc291cmNlKSB7XG4gICAgICByZXR1cm4gc291cmNlID09IG51bGwgfHwgYmFzZUNvbmZvcm1zVG8ob2JqZWN0LCBzb3VyY2UsIGtleXMoc291cmNlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgYVxuICAgICAqIFtgU2FtZVZhbHVlWmVyb2BdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXNhbWV2YWx1ZXplcm8pXG4gICAgICogY29tcGFyaXNvbiBiZXR3ZWVuIHR3byB2YWx1ZXMgdG8gZGV0ZXJtaW5lIGlmIHRoZXkgYXJlIGVxdWl2YWxlbnQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHsqfSBvdGhlciBUaGUgb3RoZXIgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZhbHVlcyBhcmUgZXF1aXZhbGVudCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEgfTtcbiAgICAgKiB2YXIgb3RoZXIgPSB7ICdhJzogMSB9O1xuICAgICAqXG4gICAgICogXy5lcShvYmplY3QsIG9iamVjdCk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5lcShvYmplY3QsIG90aGVyKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5lcSgnYScsICdhJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5lcSgnYScsIE9iamVjdCgnYScpKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5lcShOYU4sIE5hTik7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGVxKHZhbHVlLCBvdGhlcikge1xuICAgICAgcmV0dXJuIHZhbHVlID09PSBvdGhlciB8fCAodmFsdWUgIT09IHZhbHVlICYmIG90aGVyICE9PSBvdGhlcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgZ3JlYXRlciB0aGFuIGBvdGhlcmAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy45LjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHsqfSBvdGhlciBUaGUgb3RoZXIgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBncmVhdGVyIHRoYW4gYG90aGVyYCxcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBzZWUgXy5sdFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmd0KDMsIDEpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uZ3QoMywgMyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uZ3QoMSwgMyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICB2YXIgZ3QgPSBjcmVhdGVSZWxhdGlvbmFsT3BlcmF0aW9uKGJhc2VHdCk7XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gYG90aGVyYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjkuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0geyp9IG90aGVyIFRoZSBvdGhlciB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0b1xuICAgICAqICBgb3RoZXJgLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQHNlZSBfLmx0ZVxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmd0ZSgzLCAxKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmd0ZSgzLCAzKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmd0ZSgxLCAzKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIHZhciBndGUgPSBjcmVhdGVSZWxhdGlvbmFsT3BlcmF0aW9uKGZ1bmN0aW9uKHZhbHVlLCBvdGhlcikge1xuICAgICAgcmV0dXJuIHZhbHVlID49IG90aGVyO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgbGlrZWx5IGFuIGBhcmd1bWVudHNgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gYGFyZ3VtZW50c2Agb2JqZWN0LFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNBcmd1bWVudHMoZnVuY3Rpb24oKSB7IHJldHVybiBhcmd1bWVudHM7IH0oKSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0FyZ3VtZW50cyhbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIGlzQXJndW1lbnRzID0gYmFzZUlzQXJndW1lbnRzKGZ1bmN0aW9uKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KCkpID8gYmFzZUlzQXJndW1lbnRzIDogZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGhhc093blByb3BlcnR5LmNhbGwodmFsdWUsICdjYWxsZWUnKSAmJlxuICAgICAgICAhcHJvcGVydHlJc0VudW1lcmFibGUuY2FsbCh2YWx1ZSwgJ2NhbGxlZScpO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGFuIGBBcnJheWAgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhbiBhcnJheSwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXkoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXkoZG9jdW1lbnQuYm9keS5jaGlsZHJlbik7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNBcnJheSgnYWJjJyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNBcnJheShfLm5vb3ApO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIGlzQXJyYXkgPSBBcnJheS5pc0FycmF5O1xuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhbiBgQXJyYXlCdWZmZXJgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjMuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gYXJyYXkgYnVmZmVyLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNBcnJheUJ1ZmZlcihuZXcgQXJyYXlCdWZmZXIoMikpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNBcnJheUJ1ZmZlcihuZXcgQXJyYXkoMikpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIGlzQXJyYXlCdWZmZXIgPSBub2RlSXNBcnJheUJ1ZmZlciA/IGJhc2VVbmFyeShub2RlSXNBcnJheUJ1ZmZlcikgOiBiYXNlSXNBcnJheUJ1ZmZlcjtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGFycmF5LWxpa2UuIEEgdmFsdWUgaXMgY29uc2lkZXJlZCBhcnJheS1saWtlIGlmIGl0J3NcbiAgICAgKiBub3QgYSBmdW5jdGlvbiBhbmQgaGFzIGEgYHZhbHVlLmxlbmd0aGAgdGhhdCdzIGFuIGludGVnZXIgZ3JlYXRlciB0aGFuIG9yXG4gICAgICogZXF1YWwgdG8gYDBgIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gYE51bWJlci5NQVhfU0FGRV9JTlRFR0VSYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYXJyYXktbGlrZSwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXlMaWtlKFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0FycmF5TGlrZShkb2N1bWVudC5ib2R5LmNoaWxkcmVuKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXlMaWtlKCdhYmMnKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXlMaWtlKF8ubm9vcCk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0FycmF5TGlrZSh2YWx1ZSkge1xuICAgICAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgaXNMZW5ndGgodmFsdWUubGVuZ3RoKSAmJiAhaXNGdW5jdGlvbih2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5pc0FycmF5TGlrZWAgZXhjZXB0IHRoYXQgaXQgYWxzbyBjaGVja3MgaWYgYHZhbHVlYFxuICAgICAqIGlzIGFuIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gYXJyYXktbGlrZSBvYmplY3QsXG4gICAgICogIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc0FycmF5TGlrZU9iamVjdChbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNBcnJheUxpa2VPYmplY3QoZG9jdW1lbnQuYm9keS5jaGlsZHJlbik7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0FycmF5TGlrZU9iamVjdCgnYWJjJyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNBcnJheUxpa2VPYmplY3QoXy5ub29wKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzQXJyYXlMaWtlT2JqZWN0KHZhbHVlKSB7XG4gICAgICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBpc0FycmF5TGlrZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIGJvb2xlYW4gcHJpbWl0aXZlIG9yIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBib29sZWFuLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNCb29sZWFuKGZhbHNlKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzQm9vbGVhbihudWxsKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzQm9vbGVhbih2YWx1ZSkge1xuICAgICAgcmV0dXJuIHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSBmYWxzZSB8fFxuICAgICAgICAoaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBib29sVGFnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIGJ1ZmZlci5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjMuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBidWZmZXIsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc0J1ZmZlcihuZXcgQnVmZmVyKDIpKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzQnVmZmVyKG5ldyBVaW50OEFycmF5KDIpKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIHZhciBpc0J1ZmZlciA9IG5hdGl2ZUlzQnVmZmVyIHx8IHN0dWJGYWxzZTtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgRGF0ZWAgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIGRhdGUgb2JqZWN0LCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNEYXRlKG5ldyBEYXRlKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzRGF0ZSgnTW9uIEFwcmlsIDIzIDIwMTInKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIHZhciBpc0RhdGUgPSBub2RlSXNEYXRlID8gYmFzZVVuYXJ5KG5vZGVJc0RhdGUpIDogYmFzZUlzRGF0ZTtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGxpa2VseSBhIERPTSBlbGVtZW50LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIERPTSBlbGVtZW50LCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNFbGVtZW50KGRvY3VtZW50LmJvZHkpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNFbGVtZW50KCc8Ym9keT4nKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzRWxlbWVudCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgdmFsdWUubm9kZVR5cGUgPT09IDEgJiYgIWlzUGxhaW5PYmplY3QodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGFuIGVtcHR5IG9iamVjdCwgY29sbGVjdGlvbiwgbWFwLCBvciBzZXQuXG4gICAgICpcbiAgICAgKiBPYmplY3RzIGFyZSBjb25zaWRlcmVkIGVtcHR5IGlmIHRoZXkgaGF2ZSBubyBvd24gZW51bWVyYWJsZSBzdHJpbmcga2V5ZWRcbiAgICAgKiBwcm9wZXJ0aWVzLlxuICAgICAqXG4gICAgICogQXJyYXktbGlrZSB2YWx1ZXMgc3VjaCBhcyBgYXJndW1lbnRzYCBvYmplY3RzLCBhcnJheXMsIGJ1ZmZlcnMsIHN0cmluZ3MsIG9yXG4gICAgICogalF1ZXJ5LWxpa2UgY29sbGVjdGlvbnMgYXJlIGNvbnNpZGVyZWQgZW1wdHkgaWYgdGhleSBoYXZlIGEgYGxlbmd0aGAgb2YgYDBgLlxuICAgICAqIFNpbWlsYXJseSwgbWFwcyBhbmQgc2V0cyBhcmUgY29uc2lkZXJlZCBlbXB0eSBpZiB0aGV5IGhhdmUgYSBgc2l6ZWAgb2YgYDBgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBlbXB0eSwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzRW1wdHkobnVsbCk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0VtcHR5KHRydWUpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNFbXB0eSgxKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzRW1wdHkoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pc0VtcHR5KHsgJ2EnOiAxIH0pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNFbXB0eSh2YWx1ZSkge1xuICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBpZiAoaXNBcnJheUxpa2UodmFsdWUpICYmXG4gICAgICAgICAgKGlzQXJyYXkodmFsdWUpIHx8IHR5cGVvZiB2YWx1ZSA9PSAnc3RyaW5nJyB8fCB0eXBlb2YgdmFsdWUuc3BsaWNlID09ICdmdW5jdGlvbicgfHxcbiAgICAgICAgICAgIGlzQnVmZmVyKHZhbHVlKSB8fCBpc1R5cGVkQXJyYXkodmFsdWUpIHx8IGlzQXJndW1lbnRzKHZhbHVlKSkpIHtcbiAgICAgICAgcmV0dXJuICF2YWx1ZS5sZW5ndGg7XG4gICAgICB9XG4gICAgICB2YXIgdGFnID0gZ2V0VGFnKHZhbHVlKTtcbiAgICAgIGlmICh0YWcgPT0gbWFwVGFnIHx8IHRhZyA9PSBzZXRUYWcpIHtcbiAgICAgICAgcmV0dXJuICF2YWx1ZS5zaXplO1xuICAgICAgfVxuICAgICAgaWYgKGlzUHJvdG90eXBlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gIWJhc2VLZXlzKHZhbHVlKS5sZW5ndGg7XG4gICAgICB9XG4gICAgICBmb3IgKHZhciBrZXkgaW4gdmFsdWUpIHtcbiAgICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwodmFsdWUsIGtleSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBlcmZvcm1zIGEgZGVlcCBjb21wYXJpc29uIGJldHdlZW4gdHdvIHZhbHVlcyB0byBkZXRlcm1pbmUgaWYgdGhleSBhcmVcbiAgICAgKiBlcXVpdmFsZW50LlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIHN1cHBvcnRzIGNvbXBhcmluZyBhcnJheXMsIGFycmF5IGJ1ZmZlcnMsIGJvb2xlYW5zLFxuICAgICAqIGRhdGUgb2JqZWN0cywgZXJyb3Igb2JqZWN0cywgbWFwcywgbnVtYmVycywgYE9iamVjdGAgb2JqZWN0cywgcmVnZXhlcyxcbiAgICAgKiBzZXRzLCBzdHJpbmdzLCBzeW1ib2xzLCBhbmQgdHlwZWQgYXJyYXlzLiBgT2JqZWN0YCBvYmplY3RzIGFyZSBjb21wYXJlZFxuICAgICAqIGJ5IHRoZWlyIG93biwgbm90IGluaGVyaXRlZCwgZW51bWVyYWJsZSBwcm9wZXJ0aWVzLiBGdW5jdGlvbnMgYW5kIERPTVxuICAgICAqIG5vZGVzIGFyZSBjb21wYXJlZCBieSBzdHJpY3QgZXF1YWxpdHksIGkuZS4gYD09PWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHsqfSBvdGhlciBUaGUgb3RoZXIgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZhbHVlcyBhcmUgZXF1aXZhbGVudCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEgfTtcbiAgICAgKiB2YXIgb3RoZXIgPSB7ICdhJzogMSB9O1xuICAgICAqXG4gICAgICogXy5pc0VxdWFsKG9iamVjdCwgb3RoZXIpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIG9iamVjdCA9PT0gb3RoZXI7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0VxdWFsKHZhbHVlLCBvdGhlcikge1xuICAgICAgcmV0dXJuIGJhc2VJc0VxdWFsKHZhbHVlLCBvdGhlcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5pc0VxdWFsYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBjdXN0b21pemVyYCB3aGljaFxuICAgICAqIGlzIGludm9rZWQgdG8gY29tcGFyZSB2YWx1ZXMuIElmIGBjdXN0b21pemVyYCByZXR1cm5zIGB1bmRlZmluZWRgLCBjb21wYXJpc29uc1xuICAgICAqIGFyZSBoYW5kbGVkIGJ5IHRoZSBtZXRob2QgaW5zdGVhZC4gVGhlIGBjdXN0b21pemVyYCBpcyBpbnZva2VkIHdpdGggdXAgdG9cbiAgICAgKiBzaXggYXJndW1lbnRzOiAob2JqVmFsdWUsIG90aFZhbHVlIFssIGluZGV4fGtleSwgb2JqZWN0LCBvdGhlciwgc3RhY2tdKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0geyp9IG90aGVyIFRoZSBvdGhlciB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNvbXBhcmlzb25zLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgdmFsdWVzIGFyZSBlcXVpdmFsZW50LCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGlzR3JlZXRpbmcodmFsdWUpIHtcbiAgICAgKiAgIHJldHVybiAvXmgoPzppfGVsbG8pJC8udGVzdCh2YWx1ZSk7XG4gICAgICogfVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gY3VzdG9taXplcihvYmpWYWx1ZSwgb3RoVmFsdWUpIHtcbiAgICAgKiAgIGlmIChpc0dyZWV0aW5nKG9ialZhbHVlKSAmJiBpc0dyZWV0aW5nKG90aFZhbHVlKSkge1xuICAgICAqICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgKiAgIH1cbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBbJ2hlbGxvJywgJ2dvb2RieWUnXTtcbiAgICAgKiB2YXIgb3RoZXIgPSBbJ2hpJywgJ2dvb2RieWUnXTtcbiAgICAgKlxuICAgICAqIF8uaXNFcXVhbFdpdGgoYXJyYXksIG90aGVyLCBjdXN0b21pemVyKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNFcXVhbFdpdGgodmFsdWUsIG90aGVyLCBjdXN0b21pemVyKSB7XG4gICAgICBjdXN0b21pemVyID0gdHlwZW9mIGN1c3RvbWl6ZXIgPT0gJ2Z1bmN0aW9uJyA/IGN1c3RvbWl6ZXIgOiB1bmRlZmluZWQ7XG4gICAgICB2YXIgcmVzdWx0ID0gY3VzdG9taXplciA/IGN1c3RvbWl6ZXIodmFsdWUsIG90aGVyKSA6IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiByZXN1bHQgPT09IHVuZGVmaW5lZCA/IGJhc2VJc0VxdWFsKHZhbHVlLCBvdGhlciwgdW5kZWZpbmVkLCBjdXN0b21pemVyKSA6ICEhcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGFuIGBFcnJvcmAsIGBFdmFsRXJyb3JgLCBgUmFuZ2VFcnJvcmAsIGBSZWZlcmVuY2VFcnJvcmAsXG4gICAgICogYFN5bnRheEVycm9yYCwgYFR5cGVFcnJvcmAsIG9yIGBVUklFcnJvcmAgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhbiBlcnJvciBvYmplY3QsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc0Vycm9yKG5ldyBFcnJvcik7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0Vycm9yKEVycm9yKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzRXJyb3IodmFsdWUpIHtcbiAgICAgIGlmICghaXNPYmplY3RMaWtlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB2YXIgdGFnID0gYmFzZUdldFRhZyh2YWx1ZSk7XG4gICAgICByZXR1cm4gdGFnID09IGVycm9yVGFnIHx8IHRhZyA9PSBkb21FeGNUYWcgfHxcbiAgICAgICAgKHR5cGVvZiB2YWx1ZS5tZXNzYWdlID09ICdzdHJpbmcnICYmIHR5cGVvZiB2YWx1ZS5uYW1lID09ICdzdHJpbmcnICYmICFpc1BsYWluT2JqZWN0KHZhbHVlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYSBmaW5pdGUgcHJpbWl0aXZlIG51bWJlci5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBpcyBiYXNlZCBvblxuICAgICAqIFtgTnVtYmVyLmlzRmluaXRlYF0oaHR0cHM6Ly9tZG4uaW8vTnVtYmVyL2lzRmluaXRlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBmaW5pdGUgbnVtYmVyLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNGaW5pdGUoMyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0Zpbml0ZShOdW1iZXIuTUlOX1ZBTFVFKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzRmluaXRlKEluZmluaXR5KTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pc0Zpbml0ZSgnMycpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNGaW5pdGUodmFsdWUpIHtcbiAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT0gJ251bWJlcicgJiYgbmF0aXZlSXNGaW5pdGUodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgRnVuY3Rpb25gIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBmdW5jdGlvbiwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzRnVuY3Rpb24oXyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0Z1bmN0aW9uKC9hYmMvKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsdWUpIHtcbiAgICAgIGlmICghaXNPYmplY3QodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIC8vIFRoZSB1c2Ugb2YgYE9iamVjdCN0b1N0cmluZ2AgYXZvaWRzIGlzc3VlcyB3aXRoIHRoZSBgdHlwZW9mYCBvcGVyYXRvclxuICAgICAgLy8gaW4gU2FmYXJpIDkgd2hpY2ggcmV0dXJucyAnb2JqZWN0JyBmb3IgdHlwZWQgYXJyYXlzIGFuZCBvdGhlciBjb25zdHJ1Y3RvcnMuXG4gICAgICB2YXIgdGFnID0gYmFzZUdldFRhZyh2YWx1ZSk7XG4gICAgICByZXR1cm4gdGFnID09IGZ1bmNUYWcgfHwgdGFnID09IGdlblRhZyB8fCB0YWcgPT0gYXN5bmNUYWcgfHwgdGFnID09IHByb3h5VGFnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGFuIGludGVnZXIuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgYmFzZWQgb25cbiAgICAgKiBbYE51bWJlci5pc0ludGVnZXJgXShodHRwczovL21kbi5pby9OdW1iZXIvaXNJbnRlZ2VyKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gaW50ZWdlciwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzSW50ZWdlcigzKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzSW50ZWdlcihOdW1iZXIuTUlOX1ZBTFVFKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pc0ludGVnZXIoSW5maW5pdHkpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmlzSW50ZWdlcignMycpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNJbnRlZ2VyKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09ICdudW1iZXInICYmIHZhbHVlID09IHRvSW50ZWdlcih2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYSB2YWxpZCBhcnJheS1saWtlIGxlbmd0aC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBpcyBsb29zZWx5IGJhc2VkIG9uXG4gICAgICogW2BUb0xlbmd0aGBdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXRvbGVuZ3RoKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSB2YWxpZCBsZW5ndGgsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc0xlbmd0aCgzKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzTGVuZ3RoKE51bWJlci5NSU5fVkFMVUUpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmlzTGVuZ3RoKEluZmluaXR5KTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pc0xlbmd0aCgnMycpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNMZW5ndGgodmFsdWUpIHtcbiAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT0gJ251bWJlcicgJiZcbiAgICAgICAgdmFsdWUgPiAtMSAmJiB2YWx1ZSAlIDEgPT0gMCAmJiB2YWx1ZSA8PSBNQVhfU0FGRV9JTlRFR0VSO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIHRoZVxuICAgICAqIFtsYW5ndWFnZSB0eXBlXShodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtZWNtYXNjcmlwdC1sYW5ndWFnZS10eXBlcylcbiAgICAgKiBvZiBgT2JqZWN0YC4gKGUuZy4gYXJyYXlzLCBmdW5jdGlvbnMsIG9iamVjdHMsIHJlZ2V4ZXMsIGBuZXcgTnVtYmVyKDApYCwgYW5kIGBuZXcgU3RyaW5nKCcnKWApXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIG9iamVjdCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzT2JqZWN0KHt9KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzT2JqZWN0KFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc09iamVjdChfLm5vb3ApO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNPYmplY3QobnVsbCk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc09iamVjdCh2YWx1ZSkge1xuICAgICAgdmFyIHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gICAgICByZXR1cm4gdmFsdWUgIT0gbnVsbCAmJiAodHlwZSA9PSAnb2JqZWN0JyB8fCB0eXBlID09ICdmdW5jdGlvbicpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIG9iamVjdC1saWtlLiBBIHZhbHVlIGlzIG9iamVjdC1saWtlIGlmIGl0J3Mgbm90IGBudWxsYFxuICAgICAqIGFuZCBoYXMgYSBgdHlwZW9mYCByZXN1bHQgb2YgXCJvYmplY3RcIi5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgb2JqZWN0LWxpa2UsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc09iamVjdExpa2Uoe30pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNPYmplY3RMaWtlKFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc09iamVjdExpa2UoXy5ub29wKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pc09iamVjdExpa2UobnVsbCk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc09iamVjdExpa2UodmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZSAhPSBudWxsICYmIHR5cGVvZiB2YWx1ZSA9PSAnb2JqZWN0JztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYE1hcGAgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMy4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIG1hcCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzTWFwKG5ldyBNYXApO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNNYXAobmV3IFdlYWtNYXApO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIGlzTWFwID0gbm9kZUlzTWFwID8gYmFzZVVuYXJ5KG5vZGVJc01hcCkgOiBiYXNlSXNNYXA7XG5cbiAgICAvKipcbiAgICAgKiBQZXJmb3JtcyBhIHBhcnRpYWwgZGVlcCBjb21wYXJpc29uIGJldHdlZW4gYG9iamVjdGAgYW5kIGBzb3VyY2VgIHRvXG4gICAgICogZGV0ZXJtaW5lIGlmIGBvYmplY3RgIGNvbnRhaW5zIGVxdWl2YWxlbnQgcHJvcGVydHkgdmFsdWVzLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGlzIGVxdWl2YWxlbnQgdG8gYF8ubWF0Y2hlc2Agd2hlbiBgc291cmNlYCBpc1xuICAgICAqIHBhcnRpYWxseSBhcHBsaWVkLlxuICAgICAqXG4gICAgICogUGFydGlhbCBjb21wYXJpc29ucyB3aWxsIG1hdGNoIGVtcHR5IGFycmF5IGFuZCBlbXB0eSBvYmplY3QgYHNvdXJjZWBcbiAgICAgKiB2YWx1ZXMgYWdhaW5zdCBhbnkgYXJyYXkgb3Igb2JqZWN0IHZhbHVlLCByZXNwZWN0aXZlbHkuIFNlZSBgXy5pc0VxdWFsYFxuICAgICAqIGZvciBhIGxpc3Qgb2Ygc3VwcG9ydGVkIHZhbHVlIGNvbXBhcmlzb25zLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBvYmplY3Qgb2YgcHJvcGVydHkgdmFsdWVzIHRvIG1hdGNoLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgb2JqZWN0YCBpcyBhIG1hdGNoLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogMSwgJ2InOiAyIH07XG4gICAgICpcbiAgICAgKiBfLmlzTWF0Y2gob2JqZWN0LCB7ICdiJzogMiB9KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzTWF0Y2gob2JqZWN0LCB7ICdiJzogMSB9KTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzTWF0Y2gob2JqZWN0LCBzb3VyY2UpIHtcbiAgICAgIHJldHVybiBvYmplY3QgPT09IHNvdXJjZSB8fCBiYXNlSXNNYXRjaChvYmplY3QsIHNvdXJjZSwgZ2V0TWF0Y2hEYXRhKHNvdXJjZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uaXNNYXRjaGAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY3VzdG9taXplcmAgd2hpY2hcbiAgICAgKiBpcyBpbnZva2VkIHRvIGNvbXBhcmUgdmFsdWVzLiBJZiBgY3VzdG9taXplcmAgcmV0dXJucyBgdW5kZWZpbmVkYCwgY29tcGFyaXNvbnNcbiAgICAgKiBhcmUgaGFuZGxlZCBieSB0aGUgbWV0aG9kIGluc3RlYWQuIFRoZSBgY3VzdG9taXplcmAgaXMgaW52b2tlZCB3aXRoIGZpdmVcbiAgICAgKiBhcmd1bWVudHM6IChvYmpWYWx1ZSwgc3JjVmFsdWUsIGluZGV4fGtleSwgb2JqZWN0LCBzb3VyY2UpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBvYmplY3Qgb2YgcHJvcGVydHkgdmFsdWVzIHRvIG1hdGNoLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNvbXBhcmlzb25zLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgb2JqZWN0YCBpcyBhIG1hdGNoLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGlzR3JlZXRpbmcodmFsdWUpIHtcbiAgICAgKiAgIHJldHVybiAvXmgoPzppfGVsbG8pJC8udGVzdCh2YWx1ZSk7XG4gICAgICogfVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gY3VzdG9taXplcihvYmpWYWx1ZSwgc3JjVmFsdWUpIHtcbiAgICAgKiAgIGlmIChpc0dyZWV0aW5nKG9ialZhbHVlKSAmJiBpc0dyZWV0aW5nKHNyY1ZhbHVlKSkge1xuICAgICAqICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgKiAgIH1cbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnZ3JlZXRpbmcnOiAnaGVsbG8nIH07XG4gICAgICogdmFyIHNvdXJjZSA9IHsgJ2dyZWV0aW5nJzogJ2hpJyB9O1xuICAgICAqXG4gICAgICogXy5pc01hdGNoV2l0aChvYmplY3QsIHNvdXJjZSwgY3VzdG9taXplcik7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzTWF0Y2hXaXRoKG9iamVjdCwgc291cmNlLCBjdXN0b21pemVyKSB7XG4gICAgICBjdXN0b21pemVyID0gdHlwZW9mIGN1c3RvbWl6ZXIgPT0gJ2Z1bmN0aW9uJyA/IGN1c3RvbWl6ZXIgOiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gYmFzZUlzTWF0Y2gob2JqZWN0LCBzb3VyY2UsIGdldE1hdGNoRGF0YShzb3VyY2UpLCBjdXN0b21pemVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBgTmFOYC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBpcyBiYXNlZCBvblxuICAgICAqIFtgTnVtYmVyLmlzTmFOYF0oaHR0cHM6Ly9tZG4uaW8vTnVtYmVyL2lzTmFOKSBhbmQgaXMgbm90IHRoZSBzYW1lIGFzXG4gICAgICogZ2xvYmFsIFtgaXNOYU5gXShodHRwczovL21kbi5pby9pc05hTikgd2hpY2ggcmV0dXJucyBgdHJ1ZWAgZm9yXG4gICAgICogYHVuZGVmaW5lZGAgYW5kIG90aGVyIG5vbi1udW1iZXIgdmFsdWVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBgTmFOYCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzTmFOKE5hTik7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc05hTihuZXcgTnVtYmVyKE5hTikpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIGlzTmFOKHVuZGVmaW5lZCk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc05hTih1bmRlZmluZWQpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNOYU4odmFsdWUpIHtcbiAgICAgIC8vIEFuIGBOYU5gIHByaW1pdGl2ZSBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuXG4gICAgICAvLyBQZXJmb3JtIHRoZSBgdG9TdHJpbmdUYWdgIGNoZWNrIGZpcnN0IHRvIGF2b2lkIGVycm9ycyB3aXRoIHNvbWVcbiAgICAgIC8vIEFjdGl2ZVggb2JqZWN0cyBpbiBJRS5cbiAgICAgIHJldHVybiBpc051bWJlcih2YWx1ZSkgJiYgdmFsdWUgIT0gK3ZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgcHJpc3RpbmUgbmF0aXZlIGZ1bmN0aW9uLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGNhbid0IHJlbGlhYmx5IGRldGVjdCBuYXRpdmUgZnVuY3Rpb25zIGluIHRoZSBwcmVzZW5jZVxuICAgICAqIG9mIHRoZSBjb3JlLWpzIHBhY2thZ2UgYmVjYXVzZSBjb3JlLWpzIGNpcmN1bXZlbnRzIHRoaXMga2luZCBvZiBkZXRlY3Rpb24uXG4gICAgICogRGVzcGl0ZSBtdWx0aXBsZSByZXF1ZXN0cywgdGhlIGNvcmUtanMgbWFpbnRhaW5lciBoYXMgbWFkZSBpdCBjbGVhcjogYW55XG4gICAgICogYXR0ZW1wdCB0byBmaXggdGhlIGRldGVjdGlvbiB3aWxsIGJlIG9ic3RydWN0ZWQuIEFzIGEgcmVzdWx0LCB3ZSdyZSBsZWZ0XG4gICAgICogd2l0aCBsaXR0bGUgY2hvaWNlIGJ1dCB0byB0aHJvdyBhbiBlcnJvci4gVW5mb3J0dW5hdGVseSwgdGhpcyBhbHNvIGFmZmVjdHNcbiAgICAgKiBwYWNrYWdlcywgbGlrZSBbYmFiZWwtcG9seWZpbGxdKGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL2JhYmVsLXBvbHlmaWxsKSxcbiAgICAgKiB3aGljaCByZWx5IG9uIGNvcmUtanMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgbmF0aXZlIGZ1bmN0aW9uLFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNOYXRpdmUoQXJyYXkucHJvdG90eXBlLnB1c2gpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNOYXRpdmUoXyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc05hdGl2ZSh2YWx1ZSkge1xuICAgICAgaWYgKGlzTWFza2FibGUodmFsdWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihDT1JFX0VSUk9SX1RFWFQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VJc05hdGl2ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYG51bGxgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBgbnVsbGAsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc051bGwobnVsbCk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc051bGwodm9pZCAwKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzTnVsbCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIHZhbHVlID09PSBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGBudWxsYCBvciBgdW5kZWZpbmVkYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgbnVsbGlzaCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzTmlsKG51bGwpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNOaWwodm9pZCAwKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzTmlsKE5hTik7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc05pbCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIHZhbHVlID09IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIGBOdW1iZXJgIHByaW1pdGl2ZSBvciBvYmplY3QuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVG8gZXhjbHVkZSBgSW5maW5pdHlgLCBgLUluZmluaXR5YCwgYW5kIGBOYU5gLCB3aGljaCBhcmVcbiAgICAgKiBjbGFzc2lmaWVkIGFzIG51bWJlcnMsIHVzZSB0aGUgYF8uaXNGaW5pdGVgIG1ldGhvZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBudW1iZXIsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc051bWJlcigzKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzTnVtYmVyKE51bWJlci5NSU5fVkFMVUUpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNOdW1iZXIoSW5maW5pdHkpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNOdW1iZXIoJzMnKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzTnVtYmVyKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09ICdudW1iZXInIHx8XG4gICAgICAgIChpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09IG51bWJlclRhZyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYSBwbGFpbiBvYmplY3QsIHRoYXQgaXMsIGFuIG9iamVjdCBjcmVhdGVkIGJ5IHRoZVxuICAgICAqIGBPYmplY3RgIGNvbnN0cnVjdG9yIG9yIG9uZSB3aXRoIGEgYFtbUHJvdG90eXBlXV1gIG9mIGBudWxsYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjguMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBwbGFpbiBvYmplY3QsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gRm9vKCkge1xuICAgICAqICAgdGhpcy5hID0gMTtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBfLmlzUGxhaW5PYmplY3QobmV3IEZvbyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNQbGFpbk9iamVjdChbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmlzUGxhaW5PYmplY3QoeyAneCc6IDAsICd5JzogMCB9KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzUGxhaW5PYmplY3QoT2JqZWN0LmNyZWF0ZShudWxsKSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzUGxhaW5PYmplY3QodmFsdWUpIHtcbiAgICAgIGlmICghaXNPYmplY3RMaWtlKHZhbHVlKSB8fCBiYXNlR2V0VGFnKHZhbHVlKSAhPSBvYmplY3RUYWcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdmFyIHByb3RvID0gZ2V0UHJvdG90eXBlKHZhbHVlKTtcbiAgICAgIGlmIChwcm90byA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHZhciBDdG9yID0gaGFzT3duUHJvcGVydHkuY2FsbChwcm90bywgJ2NvbnN0cnVjdG9yJykgJiYgcHJvdG8uY29uc3RydWN0b3I7XG4gICAgICByZXR1cm4gdHlwZW9mIEN0b3IgPT0gJ2Z1bmN0aW9uJyAmJiBDdG9yIGluc3RhbmNlb2YgQ3RvciAmJlxuICAgICAgICBmdW5jVG9TdHJpbmcuY2FsbChDdG9yKSA9PSBvYmplY3RDdG9yU3RyaW5nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgUmVnRXhwYCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgcmVnZXhwLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNSZWdFeHAoL2FiYy8pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNSZWdFeHAoJy9hYmMvJyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICB2YXIgaXNSZWdFeHAgPSBub2RlSXNSZWdFeHAgPyBiYXNlVW5hcnkobm9kZUlzUmVnRXhwKSA6IGJhc2VJc1JlZ0V4cDtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgc2FmZSBpbnRlZ2VyLiBBbiBpbnRlZ2VyIGlzIHNhZmUgaWYgaXQncyBhbiBJRUVFLTc1NFxuICAgICAqIGRvdWJsZSBwcmVjaXNpb24gbnVtYmVyIHdoaWNoIGlzbid0IHRoZSByZXN1bHQgb2YgYSByb3VuZGVkIHVuc2FmZSBpbnRlZ2VyLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGlzIGJhc2VkIG9uXG4gICAgICogW2BOdW1iZXIuaXNTYWZlSW50ZWdlcmBdKGh0dHBzOi8vbWRuLmlvL051bWJlci9pc1NhZmVJbnRlZ2VyKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBzYWZlIGludGVnZXIsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc1NhZmVJbnRlZ2VyKDMpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNTYWZlSW50ZWdlcihOdW1iZXIuTUlOX1ZBTFVFKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pc1NhZmVJbnRlZ2VyKEluZmluaXR5KTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pc1NhZmVJbnRlZ2VyKCczJyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc1NhZmVJbnRlZ2VyKHZhbHVlKSB7XG4gICAgICByZXR1cm4gaXNJbnRlZ2VyKHZhbHVlKSAmJiB2YWx1ZSA+PSAtTUFYX1NBRkVfSU5URUdFUiAmJiB2YWx1ZSA8PSBNQVhfU0FGRV9JTlRFR0VSO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgU2V0YCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4zLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgc2V0LCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNTZXQobmV3IFNldCk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc1NldChuZXcgV2Vha1NldCk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICB2YXIgaXNTZXQgPSBub2RlSXNTZXQgPyBiYXNlVW5hcnkobm9kZUlzU2V0KSA6IGJhc2VJc1NldDtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgU3RyaW5nYCBwcmltaXRpdmUgb3Igb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHN0cmluZywgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzU3RyaW5nKCdhYmMnKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzU3RyaW5nKDEpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNTdHJpbmcodmFsdWUpIHtcbiAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT0gJ3N0cmluZycgfHxcbiAgICAgICAgKCFpc0FycmF5KHZhbHVlKSAmJiBpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09IHN0cmluZ1RhZyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIGBTeW1ib2xgIHByaW1pdGl2ZSBvciBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgc3ltYm9sLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNTeW1ib2woU3ltYm9sLml0ZXJhdG9yKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzU3ltYm9sKCdhYmMnKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzU3ltYm9sKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09ICdzeW1ib2wnIHx8XG4gICAgICAgIChpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09IHN5bWJvbFRhZyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIHR5cGVkIGFycmF5LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHR5cGVkIGFycmF5LCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNUeXBlZEFycmF5KG5ldyBVaW50OEFycmF5KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzVHlwZWRBcnJheShbXSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICB2YXIgaXNUeXBlZEFycmF5ID0gbm9kZUlzVHlwZWRBcnJheSA/IGJhc2VVbmFyeShub2RlSXNUeXBlZEFycmF5KSA6IGJhc2VJc1R5cGVkQXJyYXk7XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBgdW5kZWZpbmVkYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYHVuZGVmaW5lZGAsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc1VuZGVmaW5lZCh2b2lkIDApO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNVbmRlZmluZWQobnVsbCk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc1VuZGVmaW5lZCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIGBXZWFrTWFwYCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4zLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgd2VhayBtYXAsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc1dlYWtNYXAobmV3IFdlYWtNYXApO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNXZWFrTWFwKG5ldyBNYXApO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNXZWFrTWFwKHZhbHVlKSB7XG4gICAgICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBnZXRUYWcodmFsdWUpID09IHdlYWtNYXBUYWc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIGBXZWFrU2V0YCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4zLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgd2VhayBzZXQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc1dlYWtTZXQobmV3IFdlYWtTZXQpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNXZWFrU2V0KG5ldyBTZXQpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNXZWFrU2V0KHZhbHVlKSB7XG4gICAgICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSB3ZWFrU2V0VGFnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGxlc3MgdGhhbiBgb3RoZXJgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuOS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgbGVzcyB0aGFuIGBvdGhlcmAsXG4gICAgICogIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAc2VlIF8uZ3RcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5sdCgxLCAzKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmx0KDMsIDMpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmx0KDMsIDEpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIGx0ID0gY3JlYXRlUmVsYXRpb25hbE9wZXJhdGlvbihiYXNlTHQpO1xuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIGBvdGhlcmAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy45LjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHsqfSBvdGhlciBUaGUgb3RoZXIgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG9cbiAgICAgKiAgYG90aGVyYCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBzZWUgXy5ndGVcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5sdGUoMSwgMyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5sdGUoMywgMyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5sdGUoMywgMSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICB2YXIgbHRlID0gY3JlYXRlUmVsYXRpb25hbE9wZXJhdGlvbihmdW5jdGlvbih2YWx1ZSwgb3RoZXIpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA8PSBvdGhlcjtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGB2YWx1ZWAgdG8gYW4gYXJyYXkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udG9BcnJheSh7ICdhJzogMSwgJ2InOiAyIH0pO1xuICAgICAqIC8vID0+IFsxLCAyXVxuICAgICAqXG4gICAgICogXy50b0FycmF5KCdhYmMnKTtcbiAgICAgKiAvLyA9PiBbJ2EnLCAnYicsICdjJ11cbiAgICAgKlxuICAgICAqIF8udG9BcnJheSgxKTtcbiAgICAgKiAvLyA9PiBbXVxuICAgICAqXG4gICAgICogXy50b0FycmF5KG51bGwpO1xuICAgICAqIC8vID0+IFtdXG4gICAgICovXG4gICAgZnVuY3Rpb24gdG9BcnJheSh2YWx1ZSkge1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICBpZiAoaXNBcnJheUxpa2UodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBpc1N0cmluZyh2YWx1ZSkgPyBzdHJpbmdUb0FycmF5KHZhbHVlKSA6IGNvcHlBcnJheSh2YWx1ZSk7XG4gICAgICB9XG4gICAgICBpZiAoc3ltSXRlcmF0b3IgJiYgdmFsdWVbc3ltSXRlcmF0b3JdKSB7XG4gICAgICAgIHJldHVybiBpdGVyYXRvclRvQXJyYXkodmFsdWVbc3ltSXRlcmF0b3JdKCkpO1xuICAgICAgfVxuICAgICAgdmFyIHRhZyA9IGdldFRhZyh2YWx1ZSksXG4gICAgICAgICAgZnVuYyA9IHRhZyA9PSBtYXBUYWcgPyBtYXBUb0FycmF5IDogKHRhZyA9PSBzZXRUYWcgPyBzZXRUb0FycmF5IDogdmFsdWVzKTtcblxuICAgICAgcmV0dXJuIGZ1bmModmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGB2YWx1ZWAgdG8gYSBmaW5pdGUgbnVtYmVyLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMTIuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgbnVtYmVyLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRvRmluaXRlKDMuMik7XG4gICAgICogLy8gPT4gMy4yXG4gICAgICpcbiAgICAgKiBfLnRvRmluaXRlKE51bWJlci5NSU5fVkFMVUUpO1xuICAgICAqIC8vID0+IDVlLTMyNFxuICAgICAqXG4gICAgICogXy50b0Zpbml0ZShJbmZpbml0eSk7XG4gICAgICogLy8gPT4gMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhcbiAgICAgKlxuICAgICAqIF8udG9GaW5pdGUoJzMuMicpO1xuICAgICAqIC8vID0+IDMuMlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvRmluaXRlKHZhbHVlKSB7XG4gICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZSA9PT0gMCA/IHZhbHVlIDogMDtcbiAgICAgIH1cbiAgICAgIHZhbHVlID0gdG9OdW1iZXIodmFsdWUpO1xuICAgICAgaWYgKHZhbHVlID09PSBJTkZJTklUWSB8fCB2YWx1ZSA9PT0gLUlORklOSVRZKSB7XG4gICAgICAgIHZhciBzaWduID0gKHZhbHVlIDwgMCA/IC0xIDogMSk7XG4gICAgICAgIHJldHVybiBzaWduICogTUFYX0lOVEVHRVI7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWUgPT09IHZhbHVlID8gdmFsdWUgOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGB2YWx1ZWAgdG8gYW4gaW50ZWdlci5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBpcyBsb29zZWx5IGJhc2VkIG9uXG4gICAgICogW2BUb0ludGVnZXJgXShodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtdG9pbnRlZ2VyKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgaW50ZWdlci5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50b0ludGVnZXIoMy4yKTtcbiAgICAgKiAvLyA9PiAzXG4gICAgICpcbiAgICAgKiBfLnRvSW50ZWdlcihOdW1iZXIuTUlOX1ZBTFVFKTtcbiAgICAgKiAvLyA9PiAwXG4gICAgICpcbiAgICAgKiBfLnRvSW50ZWdlcihJbmZpbml0eSk7XG4gICAgICogLy8gPT4gMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhcbiAgICAgKlxuICAgICAqIF8udG9JbnRlZ2VyKCczLjInKTtcbiAgICAgKiAvLyA9PiAzXG4gICAgICovXG4gICAgZnVuY3Rpb24gdG9JbnRlZ2VyKHZhbHVlKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gdG9GaW5pdGUodmFsdWUpLFxuICAgICAgICAgIHJlbWFpbmRlciA9IHJlc3VsdCAlIDE7XG5cbiAgICAgIHJldHVybiByZXN1bHQgPT09IHJlc3VsdCA/IChyZW1haW5kZXIgPyByZXN1bHQgLSByZW1haW5kZXIgOiByZXN1bHQpIDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGFuIGludGVnZXIgc3VpdGFibGUgZm9yIHVzZSBhcyB0aGUgbGVuZ3RoIG9mIGFuXG4gICAgICogYXJyYXktbGlrZSBvYmplY3QuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgYmFzZWQgb25cbiAgICAgKiBbYFRvTGVuZ3RoYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtdG9sZW5ndGgpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGNvbnZlcnRlZCBpbnRlZ2VyLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRvTGVuZ3RoKDMuMik7XG4gICAgICogLy8gPT4gM1xuICAgICAqXG4gICAgICogXy50b0xlbmd0aChOdW1iZXIuTUlOX1ZBTFVFKTtcbiAgICAgKiAvLyA9PiAwXG4gICAgICpcbiAgICAgKiBfLnRvTGVuZ3RoKEluZmluaXR5KTtcbiAgICAgKiAvLyA9PiA0Mjk0OTY3Mjk1XG4gICAgICpcbiAgICAgKiBfLnRvTGVuZ3RoKCczLjInKTtcbiAgICAgKiAvLyA9PiAzXG4gICAgICovXG4gICAgZnVuY3Rpb24gdG9MZW5ndGgodmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA/IGJhc2VDbGFtcCh0b0ludGVnZXIodmFsdWUpLCAwLCBNQVhfQVJSQVlfTEVOR1RIKSA6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHZhbHVlYCB0byBhIG51bWJlci5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcHJvY2Vzcy5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBudW1iZXIuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udG9OdW1iZXIoMy4yKTtcbiAgICAgKiAvLyA9PiAzLjJcbiAgICAgKlxuICAgICAqIF8udG9OdW1iZXIoTnVtYmVyLk1JTl9WQUxVRSk7XG4gICAgICogLy8gPT4gNWUtMzI0XG4gICAgICpcbiAgICAgKiBfLnRvTnVtYmVyKEluZmluaXR5KTtcbiAgICAgKiAvLyA9PiBJbmZpbml0eVxuICAgICAqXG4gICAgICogXy50b051bWJlcignMy4yJyk7XG4gICAgICogLy8gPT4gMy4yXG4gICAgICovXG4gICAgZnVuY3Rpb24gdG9OdW1iZXIodmFsdWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gJ251bWJlcicpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgaWYgKGlzU3ltYm9sKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gTkFOO1xuICAgICAgfVxuICAgICAgaWYgKGlzT2JqZWN0KHZhbHVlKSkge1xuICAgICAgICB2YXIgb3RoZXIgPSB0eXBlb2YgdmFsdWUudmFsdWVPZiA9PSAnZnVuY3Rpb24nID8gdmFsdWUudmFsdWVPZigpIDogdmFsdWU7XG4gICAgICAgIHZhbHVlID0gaXNPYmplY3Qob3RoZXIpID8gKG90aGVyICsgJycpIDogb3RoZXI7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZSA9PT0gMCA/IHZhbHVlIDogK3ZhbHVlO1xuICAgICAgfVxuICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKHJlVHJpbSwgJycpO1xuICAgICAgdmFyIGlzQmluYXJ5ID0gcmVJc0JpbmFyeS50ZXN0KHZhbHVlKTtcbiAgICAgIHJldHVybiAoaXNCaW5hcnkgfHwgcmVJc09jdGFsLnRlc3QodmFsdWUpKVxuICAgICAgICA/IGZyZWVQYXJzZUludCh2YWx1ZS5zbGljZSgyKSwgaXNCaW5hcnkgPyAyIDogOClcbiAgICAgICAgOiAocmVJc0JhZEhleC50ZXN0KHZhbHVlKSA/IE5BTiA6ICt2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHZhbHVlYCB0byBhIHBsYWluIG9iamVjdCBmbGF0dGVuaW5nIGluaGVyaXRlZCBlbnVtZXJhYmxlIHN0cmluZ1xuICAgICAqIGtleWVkIHByb3BlcnRpZXMgb2YgYHZhbHVlYCB0byBvd24gcHJvcGVydGllcyBvZiB0aGUgcGxhaW4gb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGNvbnZlcnRlZCBwbGFpbiBvYmplY3QuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYiA9IDI7XG4gICAgICogfVxuICAgICAqXG4gICAgICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAgICAgKlxuICAgICAqIF8uYXNzaWduKHsgJ2EnOiAxIH0sIG5ldyBGb28pO1xuICAgICAqIC8vID0+IHsgJ2EnOiAxLCAnYic6IDIgfVxuICAgICAqXG4gICAgICogXy5hc3NpZ24oeyAnYSc6IDEgfSwgXy50b1BsYWluT2JqZWN0KG5ldyBGb28pKTtcbiAgICAgKiAvLyA9PiB7ICdhJzogMSwgJ2InOiAyLCAnYyc6IDMgfVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvUGxhaW5PYmplY3QodmFsdWUpIHtcbiAgICAgIHJldHVybiBjb3B5T2JqZWN0KHZhbHVlLCBrZXlzSW4odmFsdWUpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGEgc2FmZSBpbnRlZ2VyLiBBIHNhZmUgaW50ZWdlciBjYW4gYmUgY29tcGFyZWQgYW5kXG4gICAgICogcmVwcmVzZW50ZWQgY29ycmVjdGx5LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGNvbnZlcnRlZCBpbnRlZ2VyLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRvU2FmZUludGVnZXIoMy4yKTtcbiAgICAgKiAvLyA9PiAzXG4gICAgICpcbiAgICAgKiBfLnRvU2FmZUludGVnZXIoTnVtYmVyLk1JTl9WQUxVRSk7XG4gICAgICogLy8gPT4gMFxuICAgICAqXG4gICAgICogXy50b1NhZmVJbnRlZ2VyKEluZmluaXR5KTtcbiAgICAgKiAvLyA9PiA5MDA3MTk5MjU0NzQwOTkxXG4gICAgICpcbiAgICAgKiBfLnRvU2FmZUludGVnZXIoJzMuMicpO1xuICAgICAqIC8vID0+IDNcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0b1NhZmVJbnRlZ2VyKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWVcbiAgICAgICAgPyBiYXNlQ2xhbXAodG9JbnRlZ2VyKHZhbHVlKSwgLU1BWF9TQUZFX0lOVEVHRVIsIE1BWF9TQUZFX0lOVEVHRVIpXG4gICAgICAgIDogKHZhbHVlID09PSAwID8gdmFsdWUgOiAwKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGEgc3RyaW5nLiBBbiBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQgZm9yIGBudWxsYFxuICAgICAqIGFuZCBgdW5kZWZpbmVkYCB2YWx1ZXMuIFRoZSBzaWduIG9mIGAtMGAgaXMgcHJlc2VydmVkLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGNvbnZlcnRlZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udG9TdHJpbmcobnVsbCk7XG4gICAgICogLy8gPT4gJydcbiAgICAgKlxuICAgICAqIF8udG9TdHJpbmcoLTApO1xuICAgICAqIC8vID0+ICctMCdcbiAgICAgKlxuICAgICAqIF8udG9TdHJpbmcoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiAnMSwyLDMnXG4gICAgICovXG4gICAgZnVuY3Rpb24gdG9TdHJpbmcodmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PSBudWxsID8gJycgOiBiYXNlVG9TdHJpbmcodmFsdWUpO1xuICAgIH1cblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqIEFzc2lnbnMgb3duIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnRpZXMgb2Ygc291cmNlIG9iamVjdHMgdG8gdGhlXG4gICAgICogZGVzdGluYXRpb24gb2JqZWN0LiBTb3VyY2Ugb2JqZWN0cyBhcmUgYXBwbGllZCBmcm9tIGxlZnQgdG8gcmlnaHQuXG4gICAgICogU3Vic2VxdWVudCBzb3VyY2VzIG92ZXJ3cml0ZSBwcm9wZXJ0eSBhc3NpZ25tZW50cyBvZiBwcmV2aW91cyBzb3VyY2VzLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAgYW5kIGlzIGxvb3NlbHkgYmFzZWQgb25cbiAgICAgKiBbYE9iamVjdC5hc3NpZ25gXShodHRwczovL21kbi5pby9PYmplY3QvYXNzaWduKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEwLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgZGVzdGluYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7Li4uT2JqZWN0fSBbc291cmNlc10gVGhlIHNvdXJjZSBvYmplY3RzLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICogQHNlZSBfLmFzc2lnbkluXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IDE7XG4gICAgICogfVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gQmFyKCkge1xuICAgICAqICAgdGhpcy5jID0gMztcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmIgPSAyO1xuICAgICAqIEJhci5wcm90b3R5cGUuZCA9IDQ7XG4gICAgICpcbiAgICAgKiBfLmFzc2lnbih7ICdhJzogMCB9LCBuZXcgRm9vLCBuZXcgQmFyKTtcbiAgICAgKiAvLyA9PiB7ICdhJzogMSwgJ2MnOiAzIH1cbiAgICAgKi9cbiAgICB2YXIgYXNzaWduID0gY3JlYXRlQXNzaWduZXIoZnVuY3Rpb24ob2JqZWN0LCBzb3VyY2UpIHtcbiAgICAgIGlmIChpc1Byb3RvdHlwZShzb3VyY2UpIHx8IGlzQXJyYXlMaWtlKHNvdXJjZSkpIHtcbiAgICAgICAgY29weU9iamVjdChzb3VyY2UsIGtleXMoc291cmNlKSwgb2JqZWN0KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgZm9yICh2YXIga2V5IGluIHNvdXJjZSkge1xuICAgICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHtcbiAgICAgICAgICBhc3NpZ25WYWx1ZShvYmplY3QsIGtleSwgc291cmNlW2tleV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmFzc2lnbmAgZXhjZXB0IHRoYXQgaXQgaXRlcmF0ZXMgb3ZlciBvd24gYW5kXG4gICAgICogaW5oZXJpdGVkIHNvdXJjZSBwcm9wZXJ0aWVzLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAYWxpYXMgZXh0ZW5kXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gey4uLk9iamVjdH0gW3NvdXJjZXNdIFRoZSBzb3VyY2Ugb2JqZWN0cy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBzZWUgXy5hc3NpZ25cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gRm9vKCkge1xuICAgICAqICAgdGhpcy5hID0gMTtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBCYXIoKSB7XG4gICAgICogICB0aGlzLmMgPSAzO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIEZvby5wcm90b3R5cGUuYiA9IDI7XG4gICAgICogQmFyLnByb3RvdHlwZS5kID0gNDtcbiAgICAgKlxuICAgICAqIF8uYXNzaWduSW4oeyAnYSc6IDAgfSwgbmV3IEZvbywgbmV3IEJhcik7XG4gICAgICogLy8gPT4geyAnYSc6IDEsICdiJzogMiwgJ2MnOiAzLCAnZCc6IDQgfVxuICAgICAqL1xuICAgIHZhciBhc3NpZ25JbiA9IGNyZWF0ZUFzc2lnbmVyKGZ1bmN0aW9uKG9iamVjdCwgc291cmNlKSB7XG4gICAgICBjb3B5T2JqZWN0KHNvdXJjZSwga2V5c0luKHNvdXJjZSksIG9iamVjdCk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmFzc2lnbkluYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBjdXN0b21pemVyYFxuICAgICAqIHdoaWNoIGlzIGludm9rZWQgdG8gcHJvZHVjZSB0aGUgYXNzaWduZWQgdmFsdWVzLiBJZiBgY3VzdG9taXplcmAgcmV0dXJuc1xuICAgICAqIGB1bmRlZmluZWRgLCBhc3NpZ25tZW50IGlzIGhhbmRsZWQgYnkgdGhlIG1ldGhvZCBpbnN0ZWFkLiBUaGUgYGN1c3RvbWl6ZXJgXG4gICAgICogaXMgaW52b2tlZCB3aXRoIGZpdmUgYXJndW1lbnRzOiAob2JqVmFsdWUsIHNyY1ZhbHVlLCBrZXksIG9iamVjdCwgc291cmNlKS5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGFsaWFzIGV4dGVuZFdpdGhcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgZGVzdGluYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7Li4uT2JqZWN0fSBzb3VyY2VzIFRoZSBzb3VyY2Ugb2JqZWN0cy5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBhc3NpZ25lZCB2YWx1ZXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAc2VlIF8uYXNzaWduV2l0aFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBjdXN0b21pemVyKG9ialZhbHVlLCBzcmNWYWx1ZSkge1xuICAgICAqICAgcmV0dXJuIF8uaXNVbmRlZmluZWQob2JqVmFsdWUpID8gc3JjVmFsdWUgOiBvYmpWYWx1ZTtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiB2YXIgZGVmYXVsdHMgPSBfLnBhcnRpYWxSaWdodChfLmFzc2lnbkluV2l0aCwgY3VzdG9taXplcik7XG4gICAgICpcbiAgICAgKiBkZWZhdWx0cyh7ICdhJzogMSB9LCB7ICdiJzogMiB9LCB7ICdhJzogMyB9KTtcbiAgICAgKiAvLyA9PiB7ICdhJzogMSwgJ2InOiAyIH1cbiAgICAgKi9cbiAgICB2YXIgYXNzaWduSW5XaXRoID0gY3JlYXRlQXNzaWduZXIoZnVuY3Rpb24ob2JqZWN0LCBzb3VyY2UsIHNyY0luZGV4LCBjdXN0b21pemVyKSB7XG4gICAgICBjb3B5T2JqZWN0KHNvdXJjZSwga2V5c0luKHNvdXJjZSksIG9iamVjdCwgY3VzdG9taXplcik7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmFzc2lnbmAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY3VzdG9taXplcmBcbiAgICAgKiB3aGljaCBpcyBpbnZva2VkIHRvIHByb2R1Y2UgdGhlIGFzc2lnbmVkIHZhbHVlcy4gSWYgYGN1c3RvbWl6ZXJgIHJldHVybnNcbiAgICAgKiBgdW5kZWZpbmVkYCwgYXNzaWdubWVudCBpcyBoYW5kbGVkIGJ5IHRoZSBtZXRob2QgaW5zdGVhZC4gVGhlIGBjdXN0b21pemVyYFxuICAgICAqIGlzIGludm9rZWQgd2l0aCBmaXZlIGFyZ3VtZW50czogKG9ialZhbHVlLCBzcmNWYWx1ZSwga2V5LCBvYmplY3QsIHNvdXJjZSkuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgbXV0YXRlcyBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBkZXN0aW5hdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIHsuLi5PYmplY3R9IHNvdXJjZXMgVGhlIHNvdXJjZSBvYmplY3RzLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGFzc2lnbmVkIHZhbHVlcy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBzZWUgXy5hc3NpZ25JbldpdGhcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gY3VzdG9taXplcihvYmpWYWx1ZSwgc3JjVmFsdWUpIHtcbiAgICAgKiAgIHJldHVybiBfLmlzVW5kZWZpbmVkKG9ialZhbHVlKSA/IHNyY1ZhbHVlIDogb2JqVmFsdWU7XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIGRlZmF1bHRzID0gXy5wYXJ0aWFsUmlnaHQoXy5hc3NpZ25XaXRoLCBjdXN0b21pemVyKTtcbiAgICAgKlxuICAgICAqIGRlZmF1bHRzKHsgJ2EnOiAxIH0sIHsgJ2InOiAyIH0sIHsgJ2EnOiAzIH0pO1xuICAgICAqIC8vID0+IHsgJ2EnOiAxLCAnYic6IDIgfVxuICAgICAqL1xuICAgIHZhciBhc3NpZ25XaXRoID0gY3JlYXRlQXNzaWduZXIoZnVuY3Rpb24ob2JqZWN0LCBzb3VyY2UsIHNyY0luZGV4LCBjdXN0b21pemVyKSB7XG4gICAgICBjb3B5T2JqZWN0KHNvdXJjZSwga2V5cyhzb3VyY2UpLCBvYmplY3QsIGN1c3RvbWl6ZXIpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiB2YWx1ZXMgY29ycmVzcG9uZGluZyB0byBgcGF0aHNgIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDEuMC4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHsuLi4oc3RyaW5nfHN0cmluZ1tdKX0gW3BhdGhzXSBUaGUgcHJvcGVydHkgcGF0aHMgdG8gcGljay5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHBpY2tlZCB2YWx1ZXMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogW3sgJ2InOiB7ICdjJzogMyB9IH0sIDRdIH07XG4gICAgICpcbiAgICAgKiBfLmF0KG9iamVjdCwgWydhWzBdLmIuYycsICdhWzFdJ10pO1xuICAgICAqIC8vID0+IFszLCA0XVxuICAgICAqL1xuICAgIHZhciBhdCA9IGZsYXRSZXN0KGJhc2VBdCk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIG9iamVjdCB0aGF0IGluaGVyaXRzIGZyb20gdGhlIGBwcm90b3R5cGVgIG9iamVjdC4gSWYgYVxuICAgICAqIGBwcm9wZXJ0aWVzYCBvYmplY3QgaXMgZ2l2ZW4sIGl0cyBvd24gZW51bWVyYWJsZSBzdHJpbmcga2V5ZWQgcHJvcGVydGllc1xuICAgICAqIGFyZSBhc3NpZ25lZCB0byB0aGUgY3JlYXRlZCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi4zLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IHByb3RvdHlwZSBUaGUgb2JqZWN0IHRvIGluaGVyaXQgZnJvbS5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW3Byb3BlcnRpZXNdIFRoZSBwcm9wZXJ0aWVzIHRvIGFzc2lnbiB0byB0aGUgb2JqZWN0LlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBvYmplY3QuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIFNoYXBlKCkge1xuICAgICAqICAgdGhpcy54ID0gMDtcbiAgICAgKiAgIHRoaXMueSA9IDA7XG4gICAgICogfVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gQ2lyY2xlKCkge1xuICAgICAqICAgU2hhcGUuY2FsbCh0aGlzKTtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBDaXJjbGUucHJvdG90eXBlID0gXy5jcmVhdGUoU2hhcGUucHJvdG90eXBlLCB7XG4gICAgICogICAnY29uc3RydWN0b3InOiBDaXJjbGVcbiAgICAgKiB9KTtcbiAgICAgKlxuICAgICAqIHZhciBjaXJjbGUgPSBuZXcgQ2lyY2xlO1xuICAgICAqIGNpcmNsZSBpbnN0YW5jZW9mIENpcmNsZTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBjaXJjbGUgaW5zdGFuY2VvZiBTaGFwZTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlKHByb3RvdHlwZSwgcHJvcGVydGllcykge1xuICAgICAgdmFyIHJlc3VsdCA9IGJhc2VDcmVhdGUocHJvdG90eXBlKTtcbiAgICAgIHJldHVybiBwcm9wZXJ0aWVzID09IG51bGwgPyByZXN1bHQgOiBiYXNlQXNzaWduKHJlc3VsdCwgcHJvcGVydGllcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXNzaWducyBvd24gYW5kIGluaGVyaXRlZCBlbnVtZXJhYmxlIHN0cmluZyBrZXllZCBwcm9wZXJ0aWVzIG9mIHNvdXJjZVxuICAgICAqIG9iamVjdHMgdG8gdGhlIGRlc3RpbmF0aW9uIG9iamVjdCBmb3IgYWxsIGRlc3RpbmF0aW9uIHByb3BlcnRpZXMgdGhhdFxuICAgICAqIHJlc29sdmUgdG8gYHVuZGVmaW5lZGAuIFNvdXJjZSBvYmplY3RzIGFyZSBhcHBsaWVkIGZyb20gbGVmdCB0byByaWdodC5cbiAgICAgKiBPbmNlIGEgcHJvcGVydHkgaXMgc2V0LCBhZGRpdGlvbmFsIHZhbHVlcyBvZiB0aGUgc2FtZSBwcm9wZXJ0eSBhcmUgaWdub3JlZC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gey4uLk9iamVjdH0gW3NvdXJjZXNdIFRoZSBzb3VyY2Ugb2JqZWN0cy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBzZWUgXy5kZWZhdWx0c0RlZXBcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5kZWZhdWx0cyh7ICdhJzogMSB9LCB7ICdiJzogMiB9LCB7ICdhJzogMyB9KTtcbiAgICAgKiAvLyA9PiB7ICdhJzogMSwgJ2InOiAyIH1cbiAgICAgKi9cbiAgICB2YXIgZGVmYXVsdHMgPSBiYXNlUmVzdChmdW5jdGlvbihvYmplY3QsIHNvdXJjZXMpIHtcbiAgICAgIG9iamVjdCA9IE9iamVjdChvYmplY3QpO1xuXG4gICAgICB2YXIgaW5kZXggPSAtMTtcbiAgICAgIHZhciBsZW5ndGggPSBzb3VyY2VzLmxlbmd0aDtcbiAgICAgIHZhciBndWFyZCA9IGxlbmd0aCA+IDIgPyBzb3VyY2VzWzJdIDogdW5kZWZpbmVkO1xuXG4gICAgICBpZiAoZ3VhcmQgJiYgaXNJdGVyYXRlZUNhbGwoc291cmNlc1swXSwgc291cmNlc1sxXSwgZ3VhcmQpKSB7XG4gICAgICAgIGxlbmd0aCA9IDE7XG4gICAgICB9XG5cbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciBzb3VyY2UgPSBzb3VyY2VzW2luZGV4XTtcbiAgICAgICAgdmFyIHByb3BzID0ga2V5c0luKHNvdXJjZSk7XG4gICAgICAgIHZhciBwcm9wc0luZGV4ID0gLTE7XG4gICAgICAgIHZhciBwcm9wc0xlbmd0aCA9IHByb3BzLmxlbmd0aDtcblxuICAgICAgICB3aGlsZSAoKytwcm9wc0luZGV4IDwgcHJvcHNMZW5ndGgpIHtcbiAgICAgICAgICB2YXIga2V5ID0gcHJvcHNbcHJvcHNJbmRleF07XG4gICAgICAgICAgdmFyIHZhbHVlID0gb2JqZWN0W2tleV07XG5cbiAgICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAoZXEodmFsdWUsIG9iamVjdFByb3RvW2tleV0pICYmICFoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwga2V5KSkpIHtcbiAgICAgICAgICAgIG9iamVjdFtrZXldID0gc291cmNlW2tleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmRlZmF1bHRzYCBleGNlcHQgdGhhdCBpdCByZWN1cnNpdmVseSBhc3NpZ25zXG4gICAgICogZGVmYXVsdCBwcm9wZXJ0aWVzLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4xMC4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gey4uLk9iamVjdH0gW3NvdXJjZXNdIFRoZSBzb3VyY2Ugb2JqZWN0cy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBzZWUgXy5kZWZhdWx0c1xuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmRlZmF1bHRzRGVlcCh7ICdhJzogeyAnYic6IDIgfSB9LCB7ICdhJzogeyAnYic6IDEsICdjJzogMyB9IH0pO1xuICAgICAqIC8vID0+IHsgJ2EnOiB7ICdiJzogMiwgJ2MnOiAzIH0gfVxuICAgICAqL1xuICAgIHZhciBkZWZhdWx0c0RlZXAgPSBiYXNlUmVzdChmdW5jdGlvbihhcmdzKSB7XG4gICAgICBhcmdzLnB1c2godW5kZWZpbmVkLCBjdXN0b21EZWZhdWx0c01lcmdlKTtcbiAgICAgIHJldHVybiBhcHBseShtZXJnZVdpdGgsIHVuZGVmaW5lZCwgYXJncyk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmZpbmRgIGV4Y2VwdCB0aGF0IGl0IHJldHVybnMgdGhlIGtleSBvZiB0aGUgZmlyc3RcbiAgICAgKiBlbGVtZW50IGBwcmVkaWNhdGVgIHJldHVybnMgdHJ1dGh5IGZvciBpbnN0ZWFkIG9mIHRoZSBlbGVtZW50IGl0c2VsZi5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAxLjEuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge3N0cmluZ3x1bmRlZmluZWR9IFJldHVybnMgdGhlIGtleSBvZiB0aGUgbWF0Y2hlZCBlbGVtZW50LFxuICAgICAqICBlbHNlIGB1bmRlZmluZWRgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSB7XG4gICAgICogICAnYmFybmV5JzogIHsgJ2FnZSc6IDM2LCAnYWN0aXZlJzogdHJ1ZSB9LFxuICAgICAqICAgJ2ZyZWQnOiAgICB7ICdhZ2UnOiA0MCwgJ2FjdGl2ZSc6IGZhbHNlIH0sXG4gICAgICogICAncGViYmxlcyc6IHsgJ2FnZSc6IDEsICAnYWN0aXZlJzogdHJ1ZSB9XG4gICAgICogfTtcbiAgICAgKlxuICAgICAqIF8uZmluZEtleSh1c2VycywgZnVuY3Rpb24obykgeyByZXR1cm4gby5hZ2UgPCA0MDsgfSk7XG4gICAgICogLy8gPT4gJ2Jhcm5leScgKGl0ZXJhdGlvbiBvcmRlciBpcyBub3QgZ3VhcmFudGVlZClcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzYCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maW5kS2V5KHVzZXJzLCB7ICdhZ2UnOiAxLCAnYWN0aXZlJzogdHJ1ZSB9KTtcbiAgICAgKiAvLyA9PiAncGViYmxlcydcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzUHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbmRLZXkodXNlcnMsIFsnYWN0aXZlJywgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiAnZnJlZCdcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZEtleSh1c2VycywgJ2FjdGl2ZScpO1xuICAgICAqIC8vID0+ICdiYXJuZXknXG4gICAgICovXG4gICAgZnVuY3Rpb24gZmluZEtleShvYmplY3QsIHByZWRpY2F0ZSkge1xuICAgICAgcmV0dXJuIGJhc2VGaW5kS2V5KG9iamVjdCwgZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSwgYmFzZUZvck93bik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5maW5kS2V5YCBleGNlcHQgdGhhdCBpdCBpdGVyYXRlcyBvdmVyIGVsZW1lbnRzIG9mXG4gICAgICogYSBjb2xsZWN0aW9uIGluIHRoZSBvcHBvc2l0ZSBvcmRlci5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAyLjAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge3N0cmluZ3x1bmRlZmluZWR9IFJldHVybnMgdGhlIGtleSBvZiB0aGUgbWF0Y2hlZCBlbGVtZW50LFxuICAgICAqICBlbHNlIGB1bmRlZmluZWRgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSB7XG4gICAgICogICAnYmFybmV5JzogIHsgJ2FnZSc6IDM2LCAnYWN0aXZlJzogdHJ1ZSB9LFxuICAgICAqICAgJ2ZyZWQnOiAgICB7ICdhZ2UnOiA0MCwgJ2FjdGl2ZSc6IGZhbHNlIH0sXG4gICAgICogICAncGViYmxlcyc6IHsgJ2FnZSc6IDEsICAnYWN0aXZlJzogdHJ1ZSB9XG4gICAgICogfTtcbiAgICAgKlxuICAgICAqIF8uZmluZExhc3RLZXkodXNlcnMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuIG8uYWdlIDwgNDA7IH0pO1xuICAgICAqIC8vID0+IHJldHVybnMgJ3BlYmJsZXMnIGFzc3VtaW5nIGBfLmZpbmRLZXlgIHJldHVybnMgJ2Jhcm5leSdcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzYCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maW5kTGFzdEtleSh1c2VycywgeyAnYWdlJzogMzYsICdhY3RpdmUnOiB0cnVlIH0pO1xuICAgICAqIC8vID0+ICdiYXJuZXknXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc1Byb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maW5kTGFzdEtleSh1c2VycywgWydhY3RpdmUnLCBmYWxzZV0pO1xuICAgICAqIC8vID0+ICdmcmVkJ1xuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maW5kTGFzdEtleSh1c2VycywgJ2FjdGl2ZScpO1xuICAgICAqIC8vID0+ICdwZWJibGVzJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZpbmRMYXN0S2V5KG9iamVjdCwgcHJlZGljYXRlKSB7XG4gICAgICByZXR1cm4gYmFzZUZpbmRLZXkob2JqZWN0LCBnZXRJdGVyYXRlZShwcmVkaWNhdGUsIDMpLCBiYXNlRm9yT3duUmlnaHQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEl0ZXJhdGVzIG92ZXIgb3duIGFuZCBpbmhlcml0ZWQgZW51bWVyYWJsZSBzdHJpbmcga2V5ZWQgcHJvcGVydGllcyBvZiBhblxuICAgICAqIG9iamVjdCBhbmQgaW52b2tlcyBgaXRlcmF0ZWVgIGZvciBlYWNoIHByb3BlcnR5LiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZFxuICAgICAqIHdpdGggdGhyZWUgYXJndW1lbnRzOiAodmFsdWUsIGtleSwgb2JqZWN0KS4gSXRlcmF0ZWUgZnVuY3Rpb25zIG1heSBleGl0XG4gICAgICogaXRlcmF0aW9uIGVhcmx5IGJ5IGV4cGxpY2l0bHkgcmV0dXJuaW5nIGBmYWxzZWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4zLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBzZWUgXy5mb3JJblJpZ2h0XG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IDE7XG4gICAgICogICB0aGlzLmIgPSAyO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIEZvby5wcm90b3R5cGUuYyA9IDM7XG4gICAgICpcbiAgICAgKiBfLmZvckluKG5ldyBGb28sIGZ1bmN0aW9uKHZhbHVlLCBrZXkpIHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKGtleSk7XG4gICAgICogfSk7XG4gICAgICogLy8gPT4gTG9ncyAnYScsICdiJywgdGhlbiAnYycgKGl0ZXJhdGlvbiBvcmRlciBpcyBub3QgZ3VhcmFudGVlZCkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZm9ySW4ob2JqZWN0LCBpdGVyYXRlZSkge1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsXG4gICAgICAgID8gb2JqZWN0XG4gICAgICAgIDogYmFzZUZvcihvYmplY3QsIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAzKSwga2V5c0luKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmZvckluYCBleGNlcHQgdGhhdCBpdCBpdGVyYXRlcyBvdmVyIHByb3BlcnRpZXMgb2ZcbiAgICAgKiBgb2JqZWN0YCBpbiB0aGUgb3Bwb3NpdGUgb3JkZXIuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBzZWUgXy5mb3JJblxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBGb28oKSB7XG4gICAgICogICB0aGlzLmEgPSAxO1xuICAgICAqICAgdGhpcy5iID0gMjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmMgPSAzO1xuICAgICAqXG4gICAgICogXy5mb3JJblJpZ2h0KG5ldyBGb28sIGZ1bmN0aW9uKHZhbHVlLCBrZXkpIHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKGtleSk7XG4gICAgICogfSk7XG4gICAgICogLy8gPT4gTG9ncyAnYycsICdiJywgdGhlbiAnYScgYXNzdW1pbmcgYF8uZm9ySW5gIGxvZ3MgJ2EnLCAnYicsIHRoZW4gJ2MnLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZvckluUmlnaHQob2JqZWN0LCBpdGVyYXRlZSkge1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsXG4gICAgICAgID8gb2JqZWN0XG4gICAgICAgIDogYmFzZUZvclJpZ2h0KG9iamVjdCwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDMpLCBrZXlzSW4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEl0ZXJhdGVzIG92ZXIgb3duIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnRpZXMgb2YgYW4gb2JqZWN0IGFuZFxuICAgICAqIGludm9rZXMgYGl0ZXJhdGVlYCBmb3IgZWFjaCBwcm9wZXJ0eS4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCB0aHJlZVxuICAgICAqIGFyZ3VtZW50czogKHZhbHVlLCBrZXksIG9iamVjdCkuIEl0ZXJhdGVlIGZ1bmN0aW9ucyBtYXkgZXhpdCBpdGVyYXRpb25cbiAgICAgKiBlYXJseSBieSBleHBsaWNpdGx5IHJldHVybmluZyBgZmFsc2VgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMy4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAc2VlIF8uZm9yT3duUmlnaHRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gRm9vKCkge1xuICAgICAqICAgdGhpcy5hID0gMTtcbiAgICAgKiAgIHRoaXMuYiA9IDI7XG4gICAgICogfVxuICAgICAqXG4gICAgICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAgICAgKlxuICAgICAqIF8uZm9yT3duKG5ldyBGb28sIGZ1bmN0aW9uKHZhbHVlLCBrZXkpIHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKGtleSk7XG4gICAgICogfSk7XG4gICAgICogLy8gPT4gTG9ncyAnYScgdGhlbiAnYicgKGl0ZXJhdGlvbiBvcmRlciBpcyBub3QgZ3VhcmFudGVlZCkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZm9yT3duKG9iamVjdCwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBvYmplY3QgJiYgYmFzZUZvck93bihvYmplY3QsIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5mb3JPd25gIGV4Y2VwdCB0aGF0IGl0IGl0ZXJhdGVzIG92ZXIgcHJvcGVydGllcyBvZlxuICAgICAqIGBvYmplY3RgIGluIHRoZSBvcHBvc2l0ZSBvcmRlci5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAyLjAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICogQHNlZSBfLmZvck93blxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBGb28oKSB7XG4gICAgICogICB0aGlzLmEgPSAxO1xuICAgICAqICAgdGhpcy5iID0gMjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmMgPSAzO1xuICAgICAqXG4gICAgICogXy5mb3JPd25SaWdodChuZXcgRm9vLCBmdW5jdGlvbih2YWx1ZSwga2V5KSB7XG4gICAgICogICBjb25zb2xlLmxvZyhrZXkpO1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+IExvZ3MgJ2InIHRoZW4gJ2EnIGFzc3VtaW5nIGBfLmZvck93bmAgbG9ncyAnYScgdGhlbiAnYicuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZm9yT3duUmlnaHQob2JqZWN0LCBpdGVyYXRlZSkge1xuICAgICAgcmV0dXJuIG9iamVjdCAmJiBiYXNlRm9yT3duUmlnaHQob2JqZWN0LCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgZnVuY3Rpb24gcHJvcGVydHkgbmFtZXMgZnJvbSBvd24gZW51bWVyYWJsZSBwcm9wZXJ0aWVzXG4gICAgICogb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBmdW5jdGlvbiBuYW1lcy5cbiAgICAgKiBAc2VlIF8uZnVuY3Rpb25zSW5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gRm9vKCkge1xuICAgICAqICAgdGhpcy5hID0gXy5jb25zdGFudCgnYScpO1xuICAgICAqICAgdGhpcy5iID0gXy5jb25zdGFudCgnYicpO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIEZvby5wcm90b3R5cGUuYyA9IF8uY29uc3RhbnQoJ2MnKTtcbiAgICAgKlxuICAgICAqIF8uZnVuY3Rpb25zKG5ldyBGb28pO1xuICAgICAqIC8vID0+IFsnYScsICdiJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmdW5jdGlvbnMob2JqZWN0KSB7XG4gICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyBbXSA6IGJhc2VGdW5jdGlvbnMob2JqZWN0LCBrZXlzKG9iamVjdCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgZnVuY3Rpb24gcHJvcGVydHkgbmFtZXMgZnJvbSBvd24gYW5kIGluaGVyaXRlZFxuICAgICAqIGVudW1lcmFibGUgcHJvcGVydGllcyBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaW5zcGVjdC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGZ1bmN0aW9uIG5hbWVzLlxuICAgICAqIEBzZWUgXy5mdW5jdGlvbnNcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gRm9vKCkge1xuICAgICAqICAgdGhpcy5hID0gXy5jb25zdGFudCgnYScpO1xuICAgICAqICAgdGhpcy5iID0gXy5jb25zdGFudCgnYicpO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIEZvby5wcm90b3R5cGUuYyA9IF8uY29uc3RhbnQoJ2MnKTtcbiAgICAgKlxuICAgICAqIF8uZnVuY3Rpb25zSW4obmV3IEZvbyk7XG4gICAgICogLy8gPT4gWydhJywgJ2InLCAnYyddXG4gICAgICovXG4gICAgZnVuY3Rpb24gZnVuY3Rpb25zSW4ob2JqZWN0KSB7XG4gICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyBbXSA6IGJhc2VGdW5jdGlvbnMob2JqZWN0LCBrZXlzSW4ob2JqZWN0KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdmFsdWUgYXQgYHBhdGhgIG9mIGBvYmplY3RgLiBJZiB0aGUgcmVzb2x2ZWQgdmFsdWUgaXNcbiAgICAgKiBgdW5kZWZpbmVkYCwgdGhlIGBkZWZhdWx0VmFsdWVgIGlzIHJldHVybmVkIGluIGl0cyBwbGFjZS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjcuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIHByb3BlcnR5IHRvIGdldC5cbiAgICAgKiBAcGFyYW0geyp9IFtkZWZhdWx0VmFsdWVdIFRoZSB2YWx1ZSByZXR1cm5lZCBmb3IgYHVuZGVmaW5lZGAgcmVzb2x2ZWQgdmFsdWVzLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSByZXNvbHZlZCB2YWx1ZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiBbeyAnYic6IHsgJ2MnOiAzIH0gfV0gfTtcbiAgICAgKlxuICAgICAqIF8uZ2V0KG9iamVjdCwgJ2FbMF0uYi5jJyk7XG4gICAgICogLy8gPT4gM1xuICAgICAqXG4gICAgICogXy5nZXQob2JqZWN0LCBbJ2EnLCAnMCcsICdiJywgJ2MnXSk7XG4gICAgICogLy8gPT4gM1xuICAgICAqXG4gICAgICogXy5nZXQob2JqZWN0LCAnYS5iLmMnLCAnZGVmYXVsdCcpO1xuICAgICAqIC8vID0+ICdkZWZhdWx0J1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIGdldChvYmplY3QsIHBhdGgsIGRlZmF1bHRWYWx1ZSkge1xuICAgICAgdmFyIHJlc3VsdCA9IG9iamVjdCA9PSBudWxsID8gdW5kZWZpbmVkIDogYmFzZUdldChvYmplY3QsIHBhdGgpO1xuICAgICAgcmV0dXJuIHJlc3VsdCA9PT0gdW5kZWZpbmVkID8gZGVmYXVsdFZhbHVlIDogcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgcGF0aGAgaXMgYSBkaXJlY3QgcHJvcGVydHkgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgcGF0aGAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogeyAnYic6IDIgfSB9O1xuICAgICAqIHZhciBvdGhlciA9IF8uY3JlYXRlKHsgJ2EnOiBfLmNyZWF0ZSh7ICdiJzogMiB9KSB9KTtcbiAgICAgKlxuICAgICAqIF8uaGFzKG9iamVjdCwgJ2EnKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmhhcyhvYmplY3QsICdhLmInKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmhhcyhvYmplY3QsIFsnYScsICdiJ10pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaGFzKG90aGVyLCAnYScpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaGFzKG9iamVjdCwgcGF0aCkge1xuICAgICAgcmV0dXJuIG9iamVjdCAhPSBudWxsICYmIGhhc1BhdGgob2JqZWN0LCBwYXRoLCBiYXNlSGFzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHBhdGhgIGlzIGEgZGlyZWN0IG9yIGluaGVyaXRlZCBwcm9wZXJ0eSBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBwYXRoYCBleGlzdHMsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IF8uY3JlYXRlKHsgJ2EnOiBfLmNyZWF0ZSh7ICdiJzogMiB9KSB9KTtcbiAgICAgKlxuICAgICAqIF8uaGFzSW4ob2JqZWN0LCAnYScpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaGFzSW4ob2JqZWN0LCAnYS5iJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5oYXNJbihvYmplY3QsIFsnYScsICdiJ10pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaGFzSW4ob2JqZWN0LCAnYicpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaGFzSW4ob2JqZWN0LCBwYXRoKSB7XG4gICAgICByZXR1cm4gb2JqZWN0ICE9IG51bGwgJiYgaGFzUGF0aChvYmplY3QsIHBhdGgsIGJhc2VIYXNJbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBvYmplY3QgY29tcG9zZWQgb2YgdGhlIGludmVydGVkIGtleXMgYW5kIHZhbHVlcyBvZiBgb2JqZWN0YC5cbiAgICAgKiBJZiBgb2JqZWN0YCBjb250YWlucyBkdXBsaWNhdGUgdmFsdWVzLCBzdWJzZXF1ZW50IHZhbHVlcyBvdmVyd3JpdGVcbiAgICAgKiBwcm9wZXJ0eSBhc3NpZ25tZW50cyBvZiBwcmV2aW91cyB2YWx1ZXMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC43LjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGludmVydC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgaW52ZXJ0ZWQgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEsICdiJzogMiwgJ2MnOiAxIH07XG4gICAgICpcbiAgICAgKiBfLmludmVydChvYmplY3QpO1xuICAgICAqIC8vID0+IHsgJzEnOiAnYycsICcyJzogJ2InIH1cbiAgICAgKi9cbiAgICB2YXIgaW52ZXJ0ID0gY3JlYXRlSW52ZXJ0ZXIoZnVuY3Rpb24ocmVzdWx0LCB2YWx1ZSwga2V5KSB7XG4gICAgICBpZiAodmFsdWUgIT0gbnVsbCAmJlxuICAgICAgICAgIHR5cGVvZiB2YWx1ZS50b1N0cmluZyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHZhbHVlID0gbmF0aXZlT2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJlc3VsdFt2YWx1ZV0gPSBrZXk7XG4gICAgfSwgY29uc3RhbnQoaWRlbnRpdHkpKTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uaW52ZXJ0YCBleGNlcHQgdGhhdCB0aGUgaW52ZXJ0ZWQgb2JqZWN0IGlzIGdlbmVyYXRlZFxuICAgICAqIGZyb20gdGhlIHJlc3VsdHMgb2YgcnVubmluZyBlYWNoIGVsZW1lbnQgb2YgYG9iamVjdGAgdGhydSBgaXRlcmF0ZWVgLiBUaGVcbiAgICAgKiBjb3JyZXNwb25kaW5nIGludmVydGVkIHZhbHVlIG9mIGVhY2ggaW52ZXJ0ZWQga2V5IGlzIGFuIGFycmF5IG9mIGtleXNcbiAgICAgKiByZXNwb25zaWJsZSBmb3IgZ2VuZXJhdGluZyB0aGUgaW52ZXJ0ZWQgdmFsdWUuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkXG4gICAgICogd2l0aCBvbmUgYXJndW1lbnQ6ICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGludmVydC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IGludmVydGVkIG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxLCAnYic6IDIsICdjJzogMSB9O1xuICAgICAqXG4gICAgICogXy5pbnZlcnRCeShvYmplY3QpO1xuICAgICAqIC8vID0+IHsgJzEnOiBbJ2EnLCAnYyddLCAnMic6IFsnYiddIH1cbiAgICAgKlxuICAgICAqIF8uaW52ZXJ0Qnkob2JqZWN0LCBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAqICAgcmV0dXJuICdncm91cCcgKyB2YWx1ZTtcbiAgICAgKiB9KTtcbiAgICAgKiAvLyA9PiB7ICdncm91cDEnOiBbJ2EnLCAnYyddLCAnZ3JvdXAyJzogWydiJ10gfVxuICAgICAqL1xuICAgIHZhciBpbnZlcnRCeSA9IGNyZWF0ZUludmVydGVyKGZ1bmN0aW9uKHJlc3VsdCwgdmFsdWUsIGtleSkge1xuICAgICAgaWYgKHZhbHVlICE9IG51bGwgJiZcbiAgICAgICAgICB0eXBlb2YgdmFsdWUudG9TdHJpbmcgIT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB2YWx1ZSA9IG5hdGl2ZU9iamVjdFRvU3RyaW5nLmNhbGwodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChyZXN1bHQsIHZhbHVlKSkge1xuICAgICAgICByZXN1bHRbdmFsdWVdLnB1c2goa2V5KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdFt2YWx1ZV0gPSBba2V5XTtcbiAgICAgIH1cbiAgICB9LCBnZXRJdGVyYXRlZSk7XG5cbiAgICAvKipcbiAgICAgKiBJbnZva2VzIHRoZSBtZXRob2QgYXQgYHBhdGhgIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgbWV0aG9kIHRvIGludm9rZS5cbiAgICAgKiBAcGFyYW0gey4uLip9IFthcmdzXSBUaGUgYXJndW1lbnRzIHRvIGludm9rZSB0aGUgbWV0aG9kIHdpdGguXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJlc3VsdCBvZiB0aGUgaW52b2tlZCBtZXRob2QuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogW3sgJ2InOiB7ICdjJzogWzEsIDIsIDMsIDRdIH0gfV0gfTtcbiAgICAgKlxuICAgICAqIF8uaW52b2tlKG9iamVjdCwgJ2FbMF0uYi5jLnNsaWNlJywgMSwgMyk7XG4gICAgICogLy8gPT4gWzIsIDNdXG4gICAgICovXG4gICAgdmFyIGludm9rZSA9IGJhc2VSZXN0KGJhc2VJbnZva2UpO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiB0aGUgb3duIGVudW1lcmFibGUgcHJvcGVydHkgbmFtZXMgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogTm9uLW9iamVjdCB2YWx1ZXMgYXJlIGNvZXJjZWQgdG8gb2JqZWN0cy4gU2VlIHRoZVxuICAgICAqIFtFUyBzcGVjXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1vYmplY3Qua2V5cylcbiAgICAgKiBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBGb28oKSB7XG4gICAgICogICB0aGlzLmEgPSAxO1xuICAgICAqICAgdGhpcy5iID0gMjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmMgPSAzO1xuICAgICAqXG4gICAgICogXy5rZXlzKG5ldyBGb28pO1xuICAgICAqIC8vID0+IFsnYScsICdiJ10gKGl0ZXJhdGlvbiBvcmRlciBpcyBub3QgZ3VhcmFudGVlZClcbiAgICAgKlxuICAgICAqIF8ua2V5cygnaGknKTtcbiAgICAgKiAvLyA9PiBbJzAnLCAnMSddXG4gICAgICovXG4gICAgZnVuY3Rpb24ga2V5cyhvYmplY3QpIHtcbiAgICAgIHJldHVybiBpc0FycmF5TGlrZShvYmplY3QpID8gYXJyYXlMaWtlS2V5cyhvYmplY3QpIDogYmFzZUtleXMob2JqZWN0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIHRoZSBvd24gYW5kIGluaGVyaXRlZCBlbnVtZXJhYmxlIHByb3BlcnR5IG5hbWVzIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIE5vbi1vYmplY3QgdmFsdWVzIGFyZSBjb2VyY2VkIHRvIG9iamVjdHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IDE7XG4gICAgICogICB0aGlzLmIgPSAyO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIEZvby5wcm90b3R5cGUuYyA9IDM7XG4gICAgICpcbiAgICAgKiBfLmtleXNJbihuZXcgRm9vKTtcbiAgICAgKiAvLyA9PiBbJ2EnLCAnYicsICdjJ10gKGl0ZXJhdGlvbiBvcmRlciBpcyBub3QgZ3VhcmFudGVlZClcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBrZXlzSW4ob2JqZWN0KSB7XG4gICAgICByZXR1cm4gaXNBcnJheUxpa2Uob2JqZWN0KSA/IGFycmF5TGlrZUtleXMob2JqZWN0LCB0cnVlKSA6IGJhc2VLZXlzSW4ob2JqZWN0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgb3Bwb3NpdGUgb2YgYF8ubWFwVmFsdWVzYDsgdGhpcyBtZXRob2QgY3JlYXRlcyBhbiBvYmplY3Qgd2l0aCB0aGVcbiAgICAgKiBzYW1lIHZhbHVlcyBhcyBgb2JqZWN0YCBhbmQga2V5cyBnZW5lcmF0ZWQgYnkgcnVubmluZyBlYWNoIG93biBlbnVtZXJhYmxlXG4gICAgICogc3RyaW5nIGtleWVkIHByb3BlcnR5IG9mIGBvYmplY3RgIHRocnUgYGl0ZXJhdGVlYC4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWRcbiAgICAgKiB3aXRoIHRocmVlIGFyZ3VtZW50czogKHZhbHVlLCBrZXksIG9iamVjdCkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy44LjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgbWFwcGVkIG9iamVjdC5cbiAgICAgKiBAc2VlIF8ubWFwVmFsdWVzXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ubWFwS2V5cyh7ICdhJzogMSwgJ2InOiAyIH0sIGZ1bmN0aW9uKHZhbHVlLCBrZXkpIHtcbiAgICAgKiAgIHJldHVybiBrZXkgKyB2YWx1ZTtcbiAgICAgKiB9KTtcbiAgICAgKiAvLyA9PiB7ICdhMSc6IDEsICdiMic6IDIgfVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1hcEtleXMob2JqZWN0LCBpdGVyYXRlZSkge1xuICAgICAgdmFyIHJlc3VsdCA9IHt9O1xuICAgICAgaXRlcmF0ZWUgPSBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMyk7XG5cbiAgICAgIGJhc2VGb3JPd24ob2JqZWN0LCBmdW5jdGlvbih2YWx1ZSwga2V5LCBvYmplY3QpIHtcbiAgICAgICAgYmFzZUFzc2lnblZhbHVlKHJlc3VsdCwgaXRlcmF0ZWUodmFsdWUsIGtleSwgb2JqZWN0KSwgdmFsdWUpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gb2JqZWN0IHdpdGggdGhlIHNhbWUga2V5cyBhcyBgb2JqZWN0YCBhbmQgdmFsdWVzIGdlbmVyYXRlZFxuICAgICAqIGJ5IHJ1bm5pbmcgZWFjaCBvd24gZW51bWVyYWJsZSBzdHJpbmcga2V5ZWQgcHJvcGVydHkgb2YgYG9iamVjdGAgdGhydVxuICAgICAqIGBpdGVyYXRlZWAuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggdGhyZWUgYXJndW1lbnRzOlxuICAgICAqICh2YWx1ZSwga2V5LCBvYmplY3QpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuNC4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IG1hcHBlZCBvYmplY3QuXG4gICAgICogQHNlZSBfLm1hcEtleXNcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0ge1xuICAgICAqICAgJ2ZyZWQnOiAgICB7ICd1c2VyJzogJ2ZyZWQnLCAgICAnYWdlJzogNDAgfSxcbiAgICAgKiAgICdwZWJibGVzJzogeyAndXNlcic6ICdwZWJibGVzJywgJ2FnZSc6IDEgfVxuICAgICAqIH07XG4gICAgICpcbiAgICAgKiBfLm1hcFZhbHVlcyh1c2VycywgZnVuY3Rpb24obykgeyByZXR1cm4gby5hZ2U7IH0pO1xuICAgICAqIC8vID0+IHsgJ2ZyZWQnOiA0MCwgJ3BlYmJsZXMnOiAxIH0gKGl0ZXJhdGlvbiBvcmRlciBpcyBub3QgZ3VhcmFudGVlZClcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8ubWFwVmFsdWVzKHVzZXJzLCAnYWdlJyk7XG4gICAgICogLy8gPT4geyAnZnJlZCc6IDQwLCAncGViYmxlcyc6IDEgfSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1hcFZhbHVlcyhvYmplY3QsIGl0ZXJhdGVlKSB7XG4gICAgICB2YXIgcmVzdWx0ID0ge307XG4gICAgICBpdGVyYXRlZSA9IGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAzKTtcblxuICAgICAgYmFzZUZvck93bihvYmplY3QsIGZ1bmN0aW9uKHZhbHVlLCBrZXksIG9iamVjdCkge1xuICAgICAgICBiYXNlQXNzaWduVmFsdWUocmVzdWx0LCBrZXksIGl0ZXJhdGVlKHZhbHVlLCBrZXksIG9iamVjdCkpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uYXNzaWduYCBleGNlcHQgdGhhdCBpdCByZWN1cnNpdmVseSBtZXJnZXMgb3duIGFuZFxuICAgICAqIGluaGVyaXRlZCBlbnVtZXJhYmxlIHN0cmluZyBrZXllZCBwcm9wZXJ0aWVzIG9mIHNvdXJjZSBvYmplY3RzIGludG8gdGhlXG4gICAgICogZGVzdGluYXRpb24gb2JqZWN0LiBTb3VyY2UgcHJvcGVydGllcyB0aGF0IHJlc29sdmUgdG8gYHVuZGVmaW5lZGAgYXJlXG4gICAgICogc2tpcHBlZCBpZiBhIGRlc3RpbmF0aW9uIHZhbHVlIGV4aXN0cy4gQXJyYXkgYW5kIHBsYWluIG9iamVjdCBwcm9wZXJ0aWVzXG4gICAgICogYXJlIG1lcmdlZCByZWN1cnNpdmVseS4gT3RoZXIgb2JqZWN0cyBhbmQgdmFsdWUgdHlwZXMgYXJlIG92ZXJyaWRkZW4gYnlcbiAgICAgKiBhc3NpZ25tZW50LiBTb3VyY2Ugb2JqZWN0cyBhcmUgYXBwbGllZCBmcm9tIGxlZnQgdG8gcmlnaHQuIFN1YnNlcXVlbnRcbiAgICAgKiBzb3VyY2VzIG92ZXJ3cml0ZSBwcm9wZXJ0eSBhc3NpZ25tZW50cyBvZiBwcmV2aW91cyBzb3VyY2VzLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC41LjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgZGVzdGluYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7Li4uT2JqZWN0fSBbc291cmNlc10gVGhlIHNvdXJjZSBvYmplY3RzLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7XG4gICAgICogICAnYSc6IFt7ICdiJzogMiB9LCB7ICdkJzogNCB9XVxuICAgICAqIH07XG4gICAgICpcbiAgICAgKiB2YXIgb3RoZXIgPSB7XG4gICAgICogICAnYSc6IFt7ICdjJzogMyB9LCB7ICdlJzogNSB9XVxuICAgICAqIH07XG4gICAgICpcbiAgICAgKiBfLm1lcmdlKG9iamVjdCwgb3RoZXIpO1xuICAgICAqIC8vID0+IHsgJ2EnOiBbeyAnYic6IDIsICdjJzogMyB9LCB7ICdkJzogNCwgJ2UnOiA1IH1dIH1cbiAgICAgKi9cbiAgICB2YXIgbWVyZ2UgPSBjcmVhdGVBc3NpZ25lcihmdW5jdGlvbihvYmplY3QsIHNvdXJjZSwgc3JjSW5kZXgpIHtcbiAgICAgIGJhc2VNZXJnZShvYmplY3QsIHNvdXJjZSwgc3JjSW5kZXgpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5tZXJnZWAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY3VzdG9taXplcmAgd2hpY2hcbiAgICAgKiBpcyBpbnZva2VkIHRvIHByb2R1Y2UgdGhlIG1lcmdlZCB2YWx1ZXMgb2YgdGhlIGRlc3RpbmF0aW9uIGFuZCBzb3VyY2VcbiAgICAgKiBwcm9wZXJ0aWVzLiBJZiBgY3VzdG9taXplcmAgcmV0dXJucyBgdW5kZWZpbmVkYCwgbWVyZ2luZyBpcyBoYW5kbGVkIGJ5IHRoZVxuICAgICAqIG1ldGhvZCBpbnN0ZWFkLiBUaGUgYGN1c3RvbWl6ZXJgIGlzIGludm9rZWQgd2l0aCBzaXggYXJndW1lbnRzOlxuICAgICAqIChvYmpWYWx1ZSwgc3JjVmFsdWUsIGtleSwgb2JqZWN0LCBzb3VyY2UsIHN0YWNrKS5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gey4uLk9iamVjdH0gc291cmNlcyBUaGUgc291cmNlIG9iamVjdHMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gY3VzdG9taXplciBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGFzc2lnbmVkIHZhbHVlcy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBjdXN0b21pemVyKG9ialZhbHVlLCBzcmNWYWx1ZSkge1xuICAgICAqICAgaWYgKF8uaXNBcnJheShvYmpWYWx1ZSkpIHtcbiAgICAgKiAgICAgcmV0dXJuIG9ialZhbHVlLmNvbmNhdChzcmNWYWx1ZSk7XG4gICAgICogICB9XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiBbMV0sICdiJzogWzJdIH07XG4gICAgICogdmFyIG90aGVyID0geyAnYSc6IFszXSwgJ2InOiBbNF0gfTtcbiAgICAgKlxuICAgICAqIF8ubWVyZ2VXaXRoKG9iamVjdCwgb3RoZXIsIGN1c3RvbWl6ZXIpO1xuICAgICAqIC8vID0+IHsgJ2EnOiBbMSwgM10sICdiJzogWzIsIDRdIH1cbiAgICAgKi9cbiAgICB2YXIgbWVyZ2VXaXRoID0gY3JlYXRlQXNzaWduZXIoZnVuY3Rpb24ob2JqZWN0LCBzb3VyY2UsIHNyY0luZGV4LCBjdXN0b21pemVyKSB7XG4gICAgICBiYXNlTWVyZ2Uob2JqZWN0LCBzb3VyY2UsIHNyY0luZGV4LCBjdXN0b21pemVyKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBvcHBvc2l0ZSBvZiBgXy5waWNrYDsgdGhpcyBtZXRob2QgY3JlYXRlcyBhbiBvYmplY3QgY29tcG9zZWQgb2YgdGhlXG4gICAgICogb3duIGFuZCBpbmhlcml0ZWQgZW51bWVyYWJsZSBwcm9wZXJ0eSBwYXRocyBvZiBgb2JqZWN0YCB0aGF0IGFyZSBub3Qgb21pdHRlZC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBpcyBjb25zaWRlcmFibHkgc2xvd2VyIHRoYW4gYF8ucGlja2AuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgc291cmNlIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gey4uLihzdHJpbmd8c3RyaW5nW10pfSBbcGF0aHNdIFRoZSBwcm9wZXJ0eSBwYXRocyB0byBvbWl0LlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBvYmplY3QuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogMSwgJ2InOiAnMicsICdjJzogMyB9O1xuICAgICAqXG4gICAgICogXy5vbWl0KG9iamVjdCwgWydhJywgJ2MnXSk7XG4gICAgICogLy8gPT4geyAnYic6ICcyJyB9XG4gICAgICovXG4gICAgdmFyIG9taXQgPSBmbGF0UmVzdChmdW5jdGlvbihvYmplY3QsIHBhdGhzKSB7XG4gICAgICB2YXIgcmVzdWx0ID0ge307XG4gICAgICBpZiAob2JqZWN0ID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIHZhciBpc0RlZXAgPSBmYWxzZTtcbiAgICAgIHBhdGhzID0gYXJyYXlNYXAocGF0aHMsIGZ1bmN0aW9uKHBhdGgpIHtcbiAgICAgICAgcGF0aCA9IGNhc3RQYXRoKHBhdGgsIG9iamVjdCk7XG4gICAgICAgIGlzRGVlcCB8fCAoaXNEZWVwID0gcGF0aC5sZW5ndGggPiAxKTtcbiAgICAgICAgcmV0dXJuIHBhdGg7XG4gICAgICB9KTtcbiAgICAgIGNvcHlPYmplY3Qob2JqZWN0LCBnZXRBbGxLZXlzSW4ob2JqZWN0KSwgcmVzdWx0KTtcbiAgICAgIGlmIChpc0RlZXApIHtcbiAgICAgICAgcmVzdWx0ID0gYmFzZUNsb25lKHJlc3VsdCwgQ0xPTkVfREVFUF9GTEFHIHwgQ0xPTkVfRkxBVF9GTEFHIHwgQ0xPTkVfU1lNQk9MU19GTEFHLCBjdXN0b21PbWl0Q2xvbmUpO1xuICAgICAgfVxuICAgICAgdmFyIGxlbmd0aCA9IHBhdGhzLmxlbmd0aDtcbiAgICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgICBiYXNlVW5zZXQocmVzdWx0LCBwYXRoc1tsZW5ndGhdKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgb3Bwb3NpdGUgb2YgYF8ucGlja0J5YDsgdGhpcyBtZXRob2QgY3JlYXRlcyBhbiBvYmplY3QgY29tcG9zZWQgb2ZcbiAgICAgKiB0aGUgb3duIGFuZCBpbmhlcml0ZWQgZW51bWVyYWJsZSBzdHJpbmcga2V5ZWQgcHJvcGVydGllcyBvZiBgb2JqZWN0YCB0aGF0XG4gICAgICogYHByZWRpY2F0ZWAgZG9lc24ndCByZXR1cm4gdHJ1dGh5IGZvci4gVGhlIHByZWRpY2F0ZSBpcyBpbnZva2VkIHdpdGggdHdvXG4gICAgICogYXJndW1lbnRzOiAodmFsdWUsIGtleSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgc291cmNlIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBwcm9wZXJ0eS5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEsICdiJzogJzInLCAnYyc6IDMgfTtcbiAgICAgKlxuICAgICAqIF8ub21pdEJ5KG9iamVjdCwgXy5pc051bWJlcik7XG4gICAgICogLy8gPT4geyAnYic6ICcyJyB9XG4gICAgICovXG4gICAgZnVuY3Rpb24gb21pdEJ5KG9iamVjdCwgcHJlZGljYXRlKSB7XG4gICAgICByZXR1cm4gcGlja0J5KG9iamVjdCwgbmVnYXRlKGdldEl0ZXJhdGVlKHByZWRpY2F0ZSkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIG9iamVjdCBjb21wb3NlZCBvZiB0aGUgcGlja2VkIGBvYmplY3RgIHByb3BlcnRpZXMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgc291cmNlIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gey4uLihzdHJpbmd8c3RyaW5nW10pfSBbcGF0aHNdIFRoZSBwcm9wZXJ0eSBwYXRocyB0byBwaWNrLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBvYmplY3QuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogMSwgJ2InOiAnMicsICdjJzogMyB9O1xuICAgICAqXG4gICAgICogXy5waWNrKG9iamVjdCwgWydhJywgJ2MnXSk7XG4gICAgICogLy8gPT4geyAnYSc6IDEsICdjJzogMyB9XG4gICAgICovXG4gICAgdmFyIHBpY2sgPSBmbGF0UmVzdChmdW5jdGlvbihvYmplY3QsIHBhdGhzKSB7XG4gICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyB7fSA6IGJhc2VQaWNrKG9iamVjdCwgcGF0aHMpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBvYmplY3QgY29tcG9zZWQgb2YgdGhlIGBvYmplY3RgIHByb3BlcnRpZXMgYHByZWRpY2F0ZWAgcmV0dXJuc1xuICAgICAqIHRydXRoeSBmb3IuIFRoZSBwcmVkaWNhdGUgaXMgaW52b2tlZCB3aXRoIHR3byBhcmd1bWVudHM6ICh2YWx1ZSwga2V5KS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBzb3VyY2Ugb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIHByb3BlcnR5LlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBvYmplY3QuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogMSwgJ2InOiAnMicsICdjJzogMyB9O1xuICAgICAqXG4gICAgICogXy5waWNrQnkob2JqZWN0LCBfLmlzTnVtYmVyKTtcbiAgICAgKiAvLyA9PiB7ICdhJzogMSwgJ2MnOiAzIH1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBwaWNrQnkob2JqZWN0LCBwcmVkaWNhdGUpIHtcbiAgICAgIGlmIChvYmplY3QgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG4gICAgICB2YXIgcHJvcHMgPSBhcnJheU1hcChnZXRBbGxLZXlzSW4ob2JqZWN0KSwgZnVuY3Rpb24ocHJvcCkge1xuICAgICAgICByZXR1cm4gW3Byb3BdO1xuICAgICAgfSk7XG4gICAgICBwcmVkaWNhdGUgPSBnZXRJdGVyYXRlZShwcmVkaWNhdGUpO1xuICAgICAgcmV0dXJuIGJhc2VQaWNrQnkob2JqZWN0LCBwcm9wcywgZnVuY3Rpb24odmFsdWUsIHBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHByZWRpY2F0ZSh2YWx1ZSwgcGF0aFswXSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmdldGAgZXhjZXB0IHRoYXQgaWYgdGhlIHJlc29sdmVkIHZhbHVlIGlzIGFcbiAgICAgKiBmdW5jdGlvbiBpdCdzIGludm9rZWQgd2l0aCB0aGUgYHRoaXNgIGJpbmRpbmcgb2YgaXRzIHBhcmVudCBvYmplY3QgYW5kXG4gICAgICogaXRzIHJlc3VsdCBpcyByZXR1cm5lZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIHByb3BlcnR5IHRvIHJlc29sdmUuXG4gICAgICogQHBhcmFtIHsqfSBbZGVmYXVsdFZhbHVlXSBUaGUgdmFsdWUgcmV0dXJuZWQgZm9yIGB1bmRlZmluZWRgIHJlc29sdmVkIHZhbHVlcy5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcmVzb2x2ZWQgdmFsdWUuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogW3sgJ2InOiB7ICdjMSc6IDMsICdjMic6IF8uY29uc3RhbnQoNCkgfSB9XSB9O1xuICAgICAqXG4gICAgICogXy5yZXN1bHQob2JqZWN0LCAnYVswXS5iLmMxJyk7XG4gICAgICogLy8gPT4gM1xuICAgICAqXG4gICAgICogXy5yZXN1bHQob2JqZWN0LCAnYVswXS5iLmMyJyk7XG4gICAgICogLy8gPT4gNFxuICAgICAqXG4gICAgICogXy5yZXN1bHQob2JqZWN0LCAnYVswXS5iLmMzJywgJ2RlZmF1bHQnKTtcbiAgICAgKiAvLyA9PiAnZGVmYXVsdCdcbiAgICAgKlxuICAgICAqIF8ucmVzdWx0KG9iamVjdCwgJ2FbMF0uYi5jMycsIF8uY29uc3RhbnQoJ2RlZmF1bHQnKSk7XG4gICAgICogLy8gPT4gJ2RlZmF1bHQnXG4gICAgICovXG4gICAgZnVuY3Rpb24gcmVzdWx0KG9iamVjdCwgcGF0aCwgZGVmYXVsdFZhbHVlKSB7XG4gICAgICBwYXRoID0gY2FzdFBhdGgocGF0aCwgb2JqZWN0KTtcblxuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gcGF0aC5sZW5ndGg7XG5cbiAgICAgIC8vIEVuc3VyZSB0aGUgbG9vcCBpcyBlbnRlcmVkIHdoZW4gcGF0aCBpcyBlbXB0eS5cbiAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgIGxlbmd0aCA9IDE7XG4gICAgICAgIG9iamVjdCA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IG9iamVjdCA9PSBudWxsID8gdW5kZWZpbmVkIDogb2JqZWN0W3RvS2V5KHBhdGhbaW5kZXhdKV07XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaW5kZXggPSBsZW5ndGg7XG4gICAgICAgICAgdmFsdWUgPSBkZWZhdWx0VmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgb2JqZWN0ID0gaXNGdW5jdGlvbih2YWx1ZSkgPyB2YWx1ZS5jYWxsKG9iamVjdCkgOiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgdmFsdWUgYXQgYHBhdGhgIG9mIGBvYmplY3RgLiBJZiBhIHBvcnRpb24gb2YgYHBhdGhgIGRvZXNuJ3QgZXhpc3QsXG4gICAgICogaXQncyBjcmVhdGVkLiBBcnJheXMgYXJlIGNyZWF0ZWQgZm9yIG1pc3NpbmcgaW5kZXggcHJvcGVydGllcyB3aGlsZSBvYmplY3RzXG4gICAgICogYXJlIGNyZWF0ZWQgZm9yIGFsbCBvdGhlciBtaXNzaW5nIHByb3BlcnRpZXMuIFVzZSBgXy5zZXRXaXRoYCB0byBjdXN0b21pemVcbiAgICAgKiBgcGF0aGAgY3JlYXRpb24uXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgbXV0YXRlcyBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjcuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byBzZXQuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2V0LlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogW3sgJ2InOiB7ICdjJzogMyB9IH1dIH07XG4gICAgICpcbiAgICAgKiBfLnNldChvYmplY3QsICdhWzBdLmIuYycsIDQpO1xuICAgICAqIGNvbnNvbGUubG9nKG9iamVjdC5hWzBdLmIuYyk7XG4gICAgICogLy8gPT4gNFxuICAgICAqXG4gICAgICogXy5zZXQob2JqZWN0LCBbJ3gnLCAnMCcsICd5JywgJ3onXSwgNSk7XG4gICAgICogY29uc29sZS5sb2cob2JqZWN0LnhbMF0ueS56KTtcbiAgICAgKiAvLyA9PiA1XG4gICAgICovXG4gICAgZnVuY3Rpb24gc2V0KG9iamVjdCwgcGF0aCwgdmFsdWUpIHtcbiAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IG9iamVjdCA6IGJhc2VTZXQob2JqZWN0LCBwYXRoLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5zZXRgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGN1c3RvbWl6ZXJgIHdoaWNoIGlzXG4gICAgICogaW52b2tlZCB0byBwcm9kdWNlIHRoZSBvYmplY3RzIG9mIGBwYXRoYC4gIElmIGBjdXN0b21pemVyYCByZXR1cm5zIGB1bmRlZmluZWRgXG4gICAgICogcGF0aCBjcmVhdGlvbiBpcyBoYW5kbGVkIGJ5IHRoZSBtZXRob2QgaW5zdGVhZC4gVGhlIGBjdXN0b21pemVyYCBpcyBpbnZva2VkXG4gICAgICogd2l0aCB0aHJlZSBhcmd1bWVudHM6IChuc1ZhbHVlLCBrZXksIG5zT2JqZWN0KS5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIHByb3BlcnR5IHRvIHNldC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZXQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgYXNzaWduZWQgdmFsdWVzLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7fTtcbiAgICAgKlxuICAgICAqIF8uc2V0V2l0aChvYmplY3QsICdbMF1bMV0nLCAnYScsIE9iamVjdCk7XG4gICAgICogLy8gPT4geyAnMCc6IHsgJzEnOiAnYScgfSB9XG4gICAgICovXG4gICAgZnVuY3Rpb24gc2V0V2l0aChvYmplY3QsIHBhdGgsIHZhbHVlLCBjdXN0b21pemVyKSB7XG4gICAgICBjdXN0b21pemVyID0gdHlwZW9mIGN1c3RvbWl6ZXIgPT0gJ2Z1bmN0aW9uJyA/IGN1c3RvbWl6ZXIgOiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyBvYmplY3QgOiBiYXNlU2V0KG9iamVjdCwgcGF0aCwgdmFsdWUsIGN1c3RvbWl6ZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2Ygb3duIGVudW1lcmFibGUgc3RyaW5nIGtleWVkLXZhbHVlIHBhaXJzIGZvciBgb2JqZWN0YFxuICAgICAqIHdoaWNoIGNhbiBiZSBjb25zdW1lZCBieSBgXy5mcm9tUGFpcnNgLiBJZiBgb2JqZWN0YCBpcyBhIG1hcCBvciBzZXQsIGl0c1xuICAgICAqIGVudHJpZXMgYXJlIHJldHVybmVkLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGFsaWFzIGVudHJpZXNcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUga2V5LXZhbHVlIHBhaXJzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBGb28oKSB7XG4gICAgICogICB0aGlzLmEgPSAxO1xuICAgICAqICAgdGhpcy5iID0gMjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmMgPSAzO1xuICAgICAqXG4gICAgICogXy50b1BhaXJzKG5ldyBGb28pO1xuICAgICAqIC8vID0+IFtbJ2EnLCAxXSwgWydiJywgMl1dIChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpXG4gICAgICovXG4gICAgdmFyIHRvUGFpcnMgPSBjcmVhdGVUb1BhaXJzKGtleXMpO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiBvd24gYW5kIGluaGVyaXRlZCBlbnVtZXJhYmxlIHN0cmluZyBrZXllZC12YWx1ZSBwYWlyc1xuICAgICAqIGZvciBgb2JqZWN0YCB3aGljaCBjYW4gYmUgY29uc3VtZWQgYnkgYF8uZnJvbVBhaXJzYC4gSWYgYG9iamVjdGAgaXMgYSBtYXBcbiAgICAgKiBvciBzZXQsIGl0cyBlbnRyaWVzIGFyZSByZXR1cm5lZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBhbGlhcyBlbnRyaWVzSW5cbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUga2V5LXZhbHVlIHBhaXJzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBGb28oKSB7XG4gICAgICogICB0aGlzLmEgPSAxO1xuICAgICAqICAgdGhpcy5iID0gMjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmMgPSAzO1xuICAgICAqXG4gICAgICogXy50b1BhaXJzSW4obmV3IEZvbyk7XG4gICAgICogLy8gPT4gW1snYScsIDFdLCBbJ2InLCAyXSwgWydjJywgM11dIChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpXG4gICAgICovXG4gICAgdmFyIHRvUGFpcnNJbiA9IGNyZWF0ZVRvUGFpcnMoa2V5c0luKTtcblxuICAgIC8qKlxuICAgICAqIEFuIGFsdGVybmF0aXZlIHRvIGBfLnJlZHVjZWA7IHRoaXMgbWV0aG9kIHRyYW5zZm9ybXMgYG9iamVjdGAgdG8gYSBuZXdcbiAgICAgKiBgYWNjdW11bGF0b3JgIG9iamVjdCB3aGljaCBpcyB0aGUgcmVzdWx0IG9mIHJ1bm5pbmcgZWFjaCBvZiBpdHMgb3duXG4gICAgICogZW51bWVyYWJsZSBzdHJpbmcga2V5ZWQgcHJvcGVydGllcyB0aHJ1IGBpdGVyYXRlZWAsIHdpdGggZWFjaCBpbnZvY2F0aW9uXG4gICAgICogcG90ZW50aWFsbHkgbXV0YXRpbmcgdGhlIGBhY2N1bXVsYXRvcmAgb2JqZWN0LiBJZiBgYWNjdW11bGF0b3JgIGlzIG5vdFxuICAgICAqIHByb3ZpZGVkLCBhIG5ldyBvYmplY3Qgd2l0aCB0aGUgc2FtZSBgW1tQcm90b3R5cGVdXWAgd2lsbCBiZSB1c2VkLiBUaGVcbiAgICAgKiBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggZm91ciBhcmd1bWVudHM6IChhY2N1bXVsYXRvciwgdmFsdWUsIGtleSwgb2JqZWN0KS5cbiAgICAgKiBJdGVyYXRlZSBmdW5jdGlvbnMgbWF5IGV4aXQgaXRlcmF0aW9uIGVhcmx5IGJ5IGV4cGxpY2l0bHkgcmV0dXJuaW5nIGBmYWxzZWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMS4zLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0geyp9IFthY2N1bXVsYXRvcl0gVGhlIGN1c3RvbSBhY2N1bXVsYXRvciB2YWx1ZS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgYWNjdW11bGF0ZWQgdmFsdWUuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udHJhbnNmb3JtKFsyLCAzLCA0XSwgZnVuY3Rpb24ocmVzdWx0LCBuKSB7XG4gICAgICogICByZXN1bHQucHVzaChuICo9IG4pO1xuICAgICAqICAgcmV0dXJuIG4gJSAyID09IDA7XG4gICAgICogfSwgW10pO1xuICAgICAqIC8vID0+IFs0LCA5XVxuICAgICAqXG4gICAgICogXy50cmFuc2Zvcm0oeyAnYSc6IDEsICdiJzogMiwgJ2MnOiAxIH0sIGZ1bmN0aW9uKHJlc3VsdCwgdmFsdWUsIGtleSkge1xuICAgICAqICAgKHJlc3VsdFt2YWx1ZV0gfHwgKHJlc3VsdFt2YWx1ZV0gPSBbXSkpLnB1c2goa2V5KTtcbiAgICAgKiB9LCB7fSk7XG4gICAgICogLy8gPT4geyAnMSc6IFsnYScsICdjJ10sICcyJzogWydiJ10gfVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybShvYmplY3QsIGl0ZXJhdGVlLCBhY2N1bXVsYXRvcikge1xuICAgICAgdmFyIGlzQXJyID0gaXNBcnJheShvYmplY3QpLFxuICAgICAgICAgIGlzQXJyTGlrZSA9IGlzQXJyIHx8IGlzQnVmZmVyKG9iamVjdCkgfHwgaXNUeXBlZEFycmF5KG9iamVjdCk7XG5cbiAgICAgIGl0ZXJhdGVlID0gZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDQpO1xuICAgICAgaWYgKGFjY3VtdWxhdG9yID09IG51bGwpIHtcbiAgICAgICAgdmFyIEN0b3IgPSBvYmplY3QgJiYgb2JqZWN0LmNvbnN0cnVjdG9yO1xuICAgICAgICBpZiAoaXNBcnJMaWtlKSB7XG4gICAgICAgICAgYWNjdW11bGF0b3IgPSBpc0FyciA/IG5ldyBDdG9yIDogW107XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaXNPYmplY3Qob2JqZWN0KSkge1xuICAgICAgICAgIGFjY3VtdWxhdG9yID0gaXNGdW5jdGlvbihDdG9yKSA/IGJhc2VDcmVhdGUoZ2V0UHJvdG90eXBlKG9iamVjdCkpIDoge307XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgYWNjdW11bGF0b3IgPSB7fTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgKGlzQXJyTGlrZSA/IGFycmF5RWFjaCA6IGJhc2VGb3JPd24pKG9iamVjdCwgZnVuY3Rpb24odmFsdWUsIGluZGV4LCBvYmplY3QpIHtcbiAgICAgICAgcmV0dXJuIGl0ZXJhdGVlKGFjY3VtdWxhdG9yLCB2YWx1ZSwgaW5kZXgsIG9iamVjdCk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBhY2N1bXVsYXRvcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIHRoZSBwcm9wZXJ0eSBhdCBgcGF0aGAgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgbXV0YXRlcyBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byB1bnNldC5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHByb3BlcnR5IGlzIGRlbGV0ZWQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiBbeyAnYic6IHsgJ2MnOiA3IH0gfV0gfTtcbiAgICAgKiBfLnVuc2V0KG9iamVjdCwgJ2FbMF0uYi5jJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogY29uc29sZS5sb2cob2JqZWN0KTtcbiAgICAgKiAvLyA9PiB7ICdhJzogW3sgJ2InOiB7fSB9XSB9O1xuICAgICAqXG4gICAgICogXy51bnNldChvYmplY3QsIFsnYScsICcwJywgJ2InLCAnYyddKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhvYmplY3QpO1xuICAgICAqIC8vID0+IHsgJ2EnOiBbeyAnYic6IHt9IH1dIH07XG4gICAgICovXG4gICAgZnVuY3Rpb24gdW5zZXQob2JqZWN0LCBwYXRoKSB7XG4gICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyB0cnVlIDogYmFzZVVuc2V0KG9iamVjdCwgcGF0aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5zZXRgIGV4Y2VwdCB0aGF0IGFjY2VwdHMgYHVwZGF0ZXJgIHRvIHByb2R1Y2UgdGhlXG4gICAgICogdmFsdWUgdG8gc2V0LiBVc2UgYF8udXBkYXRlV2l0aGAgdG8gY3VzdG9taXplIGBwYXRoYCBjcmVhdGlvbi4gVGhlIGB1cGRhdGVyYFxuICAgICAqIGlzIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6ICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgbXV0YXRlcyBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjYuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byBzZXQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gdXBkYXRlciBUaGUgZnVuY3Rpb24gdG8gcHJvZHVjZSB0aGUgdXBkYXRlZCB2YWx1ZS5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IFt7ICdiJzogeyAnYyc6IDMgfSB9XSB9O1xuICAgICAqXG4gICAgICogXy51cGRhdGUob2JqZWN0LCAnYVswXS5iLmMnLCBmdW5jdGlvbihuKSB7IHJldHVybiBuICogbjsgfSk7XG4gICAgICogY29uc29sZS5sb2cob2JqZWN0LmFbMF0uYi5jKTtcbiAgICAgKiAvLyA9PiA5XG4gICAgICpcbiAgICAgKiBfLnVwZGF0ZShvYmplY3QsICd4WzBdLnkueicsIGZ1bmN0aW9uKG4pIHsgcmV0dXJuIG4gPyBuICsgMSA6IDA7IH0pO1xuICAgICAqIGNvbnNvbGUubG9nKG9iamVjdC54WzBdLnkueik7XG4gICAgICogLy8gPT4gMFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHVwZGF0ZShvYmplY3QsIHBhdGgsIHVwZGF0ZXIpIHtcbiAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IG9iamVjdCA6IGJhc2VVcGRhdGUob2JqZWN0LCBwYXRoLCBjYXN0RnVuY3Rpb24odXBkYXRlcikpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8udXBkYXRlYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBjdXN0b21pemVyYCB3aGljaCBpc1xuICAgICAqIGludm9rZWQgdG8gcHJvZHVjZSB0aGUgb2JqZWN0cyBvZiBgcGF0aGAuICBJZiBgY3VzdG9taXplcmAgcmV0dXJucyBgdW5kZWZpbmVkYFxuICAgICAqIHBhdGggY3JlYXRpb24gaXMgaGFuZGxlZCBieSB0aGUgbWV0aG9kIGluc3RlYWQuIFRoZSBgY3VzdG9taXplcmAgaXMgaW52b2tlZFxuICAgICAqIHdpdGggdGhyZWUgYXJndW1lbnRzOiAobnNWYWx1ZSwga2V5LCBuc09iamVjdCkuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgbXV0YXRlcyBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjYuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byBzZXQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gdXBkYXRlciBUaGUgZnVuY3Rpb24gdG8gcHJvZHVjZSB0aGUgdXBkYXRlZCB2YWx1ZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBhc3NpZ25lZCB2YWx1ZXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHt9O1xuICAgICAqXG4gICAgICogXy51cGRhdGVXaXRoKG9iamVjdCwgJ1swXVsxXScsIF8uY29uc3RhbnQoJ2EnKSwgT2JqZWN0KTtcbiAgICAgKiAvLyA9PiB7ICcwJzogeyAnMSc6ICdhJyB9IH1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB1cGRhdGVXaXRoKG9iamVjdCwgcGF0aCwgdXBkYXRlciwgY3VzdG9taXplcikge1xuICAgICAgY3VzdG9taXplciA9IHR5cGVvZiBjdXN0b21pemVyID09ICdmdW5jdGlvbicgPyBjdXN0b21pemVyIDogdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gb2JqZWN0IDogYmFzZVVwZGF0ZShvYmplY3QsIHBhdGgsIGNhc3RGdW5jdGlvbih1cGRhdGVyKSwgY3VzdG9taXplcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiB0aGUgb3duIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnR5IHZhbHVlcyBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBOb24tb2JqZWN0IHZhbHVlcyBhcmUgY29lcmNlZCB0byBvYmplY3RzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IHZhbHVlcy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gRm9vKCkge1xuICAgICAqICAgdGhpcy5hID0gMTtcbiAgICAgKiAgIHRoaXMuYiA9IDI7XG4gICAgICogfVxuICAgICAqXG4gICAgICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAgICAgKlxuICAgICAqIF8udmFsdWVzKG5ldyBGb28pO1xuICAgICAqIC8vID0+IFsxLCAyXSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICAgICAqXG4gICAgICogXy52YWx1ZXMoJ2hpJyk7XG4gICAgICogLy8gPT4gWydoJywgJ2knXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHZhbHVlcyhvYmplY3QpIHtcbiAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IFtdIDogYmFzZVZhbHVlcyhvYmplY3QsIGtleXMob2JqZWN0KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiB0aGUgb3duIGFuZCBpbmhlcml0ZWQgZW51bWVyYWJsZSBzdHJpbmcga2V5ZWQgcHJvcGVydHlcbiAgICAgKiB2YWx1ZXMgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogTm9uLW9iamVjdCB2YWx1ZXMgYXJlIGNvZXJjZWQgdG8gb2JqZWN0cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSB2YWx1ZXMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IDE7XG4gICAgICogICB0aGlzLmIgPSAyO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIEZvby5wcm90b3R5cGUuYyA9IDM7XG4gICAgICpcbiAgICAgKiBfLnZhbHVlc0luKG5ldyBGb28pO1xuICAgICAqIC8vID0+IFsxLCAyLCAzXSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHZhbHVlc0luKG9iamVjdCkge1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gW10gOiBiYXNlVmFsdWVzKG9iamVjdCwga2V5c0luKG9iamVjdCkpO1xuICAgIH1cblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqIENsYW1wcyBgbnVtYmVyYCB3aXRoaW4gdGhlIGluY2x1c2l2ZSBgbG93ZXJgIGFuZCBgdXBwZXJgIGJvdW5kcy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBOdW1iZXJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbnVtYmVyIFRoZSBudW1iZXIgdG8gY2xhbXAuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtsb3dlcl0gVGhlIGxvd2VyIGJvdW5kLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSB1cHBlciBUaGUgdXBwZXIgYm91bmQuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgY2xhbXBlZCBudW1iZXIuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uY2xhbXAoLTEwLCAtNSwgNSk7XG4gICAgICogLy8gPT4gLTVcbiAgICAgKlxuICAgICAqIF8uY2xhbXAoMTAsIC01LCA1KTtcbiAgICAgKiAvLyA9PiA1XG4gICAgICovXG4gICAgZnVuY3Rpb24gY2xhbXAobnVtYmVyLCBsb3dlciwgdXBwZXIpIHtcbiAgICAgIGlmICh1cHBlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHVwcGVyID0gbG93ZXI7XG4gICAgICAgIGxvd2VyID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgaWYgKHVwcGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdXBwZXIgPSB0b051bWJlcih1cHBlcik7XG4gICAgICAgIHVwcGVyID0gdXBwZXIgPT09IHVwcGVyID8gdXBwZXIgOiAwO1xuICAgICAgfVxuICAgICAgaWYgKGxvd2VyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgbG93ZXIgPSB0b051bWJlcihsb3dlcik7XG4gICAgICAgIGxvd2VyID0gbG93ZXIgPT09IGxvd2VyID8gbG93ZXIgOiAwO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VDbGFtcCh0b051bWJlcihudW1iZXIpLCBsb3dlciwgdXBwZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgbmAgaXMgYmV0d2VlbiBgc3RhcnRgIGFuZCB1cCB0bywgYnV0IG5vdCBpbmNsdWRpbmcsIGBlbmRgLiBJZlxuICAgICAqIGBlbmRgIGlzIG5vdCBzcGVjaWZpZWQsIGl0J3Mgc2V0IHRvIGBzdGFydGAgd2l0aCBgc3RhcnRgIHRoZW4gc2V0IHRvIGAwYC5cbiAgICAgKiBJZiBgc3RhcnRgIGlzIGdyZWF0ZXIgdGhhbiBgZW5kYCB0aGUgcGFyYW1zIGFyZSBzd2FwcGVkIHRvIHN1cHBvcnRcbiAgICAgKiBuZWdhdGl2ZSByYW5nZXMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4zLjBcbiAgICAgKiBAY2F0ZWdvcnkgTnVtYmVyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG51bWJlciBUaGUgbnVtYmVyIHRvIGNoZWNrLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbc3RhcnQ9MF0gVGhlIHN0YXJ0IG9mIHRoZSByYW5nZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gZW5kIFRoZSBlbmQgb2YgdGhlIHJhbmdlLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgbnVtYmVyYCBpcyBpbiB0aGUgcmFuZ2UsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAc2VlIF8ucmFuZ2UsIF8ucmFuZ2VSaWdodFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmluUmFuZ2UoMywgMiwgNCk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pblJhbmdlKDQsIDgpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaW5SYW5nZSg0LCAyKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pblJhbmdlKDIsIDIpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmluUmFuZ2UoMS4yLCAyKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmluUmFuZ2UoNS4yLCA0KTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pblJhbmdlKC0zLCAtMiwgLTYpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpblJhbmdlKG51bWJlciwgc3RhcnQsIGVuZCkge1xuICAgICAgc3RhcnQgPSB0b0Zpbml0ZShzdGFydCk7XG4gICAgICBpZiAoZW5kID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZW5kID0gc3RhcnQ7XG4gICAgICAgIHN0YXJ0ID0gMDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVuZCA9IHRvRmluaXRlKGVuZCk7XG4gICAgICB9XG4gICAgICBudW1iZXIgPSB0b051bWJlcihudW1iZXIpO1xuICAgICAgcmV0dXJuIGJhc2VJblJhbmdlKG51bWJlciwgc3RhcnQsIGVuZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvZHVjZXMgYSByYW5kb20gbnVtYmVyIGJldHdlZW4gdGhlIGluY2x1c2l2ZSBgbG93ZXJgIGFuZCBgdXBwZXJgIGJvdW5kcy5cbiAgICAgKiBJZiBvbmx5IG9uZSBhcmd1bWVudCBpcyBwcm92aWRlZCBhIG51bWJlciBiZXR3ZWVuIGAwYCBhbmQgdGhlIGdpdmVuIG51bWJlclxuICAgICAqIGlzIHJldHVybmVkLiBJZiBgZmxvYXRpbmdgIGlzIGB0cnVlYCwgb3IgZWl0aGVyIGBsb3dlcmAgb3IgYHVwcGVyYCBhcmVcbiAgICAgKiBmbG9hdHMsIGEgZmxvYXRpbmctcG9pbnQgbnVtYmVyIGlzIHJldHVybmVkIGluc3RlYWQgb2YgYW4gaW50ZWdlci5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBKYXZhU2NyaXB0IGZvbGxvd3MgdGhlIElFRUUtNzU0IHN0YW5kYXJkIGZvciByZXNvbHZpbmdcbiAgICAgKiBmbG9hdGluZy1wb2ludCB2YWx1ZXMgd2hpY2ggY2FuIHByb2R1Y2UgdW5leHBlY3RlZCByZXN1bHRzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuNy4wXG4gICAgICogQGNhdGVnb3J5IE51bWJlclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbG93ZXI9MF0gVGhlIGxvd2VyIGJvdW5kLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbdXBwZXI9MV0gVGhlIHVwcGVyIGJvdW5kLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2Zsb2F0aW5nXSBTcGVjaWZ5IHJldHVybmluZyBhIGZsb2F0aW5nLXBvaW50IG51bWJlci5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSByYW5kb20gbnVtYmVyLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnJhbmRvbSgwLCA1KTtcbiAgICAgKiAvLyA9PiBhbiBpbnRlZ2VyIGJldHdlZW4gMCBhbmQgNVxuICAgICAqXG4gICAgICogXy5yYW5kb20oNSk7XG4gICAgICogLy8gPT4gYWxzbyBhbiBpbnRlZ2VyIGJldHdlZW4gMCBhbmQgNVxuICAgICAqXG4gICAgICogXy5yYW5kb20oNSwgdHJ1ZSk7XG4gICAgICogLy8gPT4gYSBmbG9hdGluZy1wb2ludCBudW1iZXIgYmV0d2VlbiAwIGFuZCA1XG4gICAgICpcbiAgICAgKiBfLnJhbmRvbSgxLjIsIDUuMik7XG4gICAgICogLy8gPT4gYSBmbG9hdGluZy1wb2ludCBudW1iZXIgYmV0d2VlbiAxLjIgYW5kIDUuMlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHJhbmRvbShsb3dlciwgdXBwZXIsIGZsb2F0aW5nKSB7XG4gICAgICBpZiAoZmxvYXRpbmcgJiYgdHlwZW9mIGZsb2F0aW5nICE9ICdib29sZWFuJyAmJiBpc0l0ZXJhdGVlQ2FsbChsb3dlciwgdXBwZXIsIGZsb2F0aW5nKSkge1xuICAgICAgICB1cHBlciA9IGZsb2F0aW5nID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgaWYgKGZsb2F0aW5nID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB1cHBlciA9PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICBmbG9hdGluZyA9IHVwcGVyO1xuICAgICAgICAgIHVwcGVyID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHR5cGVvZiBsb3dlciA9PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICBmbG9hdGluZyA9IGxvd2VyO1xuICAgICAgICAgIGxvd2VyID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAobG93ZXIgPT09IHVuZGVmaW5lZCAmJiB1cHBlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGxvd2VyID0gMDtcbiAgICAgICAgdXBwZXIgPSAxO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIGxvd2VyID0gdG9GaW5pdGUobG93ZXIpO1xuICAgICAgICBpZiAodXBwZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHVwcGVyID0gbG93ZXI7XG4gICAgICAgICAgbG93ZXIgPSAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHVwcGVyID0gdG9GaW5pdGUodXBwZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAobG93ZXIgPiB1cHBlcikge1xuICAgICAgICB2YXIgdGVtcCA9IGxvd2VyO1xuICAgICAgICBsb3dlciA9IHVwcGVyO1xuICAgICAgICB1cHBlciA9IHRlbXA7XG4gICAgICB9XG4gICAgICBpZiAoZmxvYXRpbmcgfHwgbG93ZXIgJSAxIHx8IHVwcGVyICUgMSkge1xuICAgICAgICB2YXIgcmFuZCA9IG5hdGl2ZVJhbmRvbSgpO1xuICAgICAgICByZXR1cm4gbmF0aXZlTWluKGxvd2VyICsgKHJhbmQgKiAodXBwZXIgLSBsb3dlciArIGZyZWVQYXJzZUZsb2F0KCcxZS0nICsgKChyYW5kICsgJycpLmxlbmd0aCAtIDEpKSkpLCB1cHBlcik7XG4gICAgICB9XG4gICAgICByZXR1cm4gYmFzZVJhbmRvbShsb3dlciwgdXBwZXIpO1xuICAgIH1cblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGBzdHJpbmdgIHRvIFtjYW1lbCBjYXNlXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9DYW1lbENhc2UpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgY2FtZWwgY2FzZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmNhbWVsQ2FzZSgnRm9vIEJhcicpO1xuICAgICAqIC8vID0+ICdmb29CYXInXG4gICAgICpcbiAgICAgKiBfLmNhbWVsQ2FzZSgnLS1mb28tYmFyLS0nKTtcbiAgICAgKiAvLyA9PiAnZm9vQmFyJ1xuICAgICAqXG4gICAgICogXy5jYW1lbENhc2UoJ19fRk9PX0JBUl9fJyk7XG4gICAgICogLy8gPT4gJ2Zvb0JhcidcbiAgICAgKi9cbiAgICB2YXIgY2FtZWxDYXNlID0gY3JlYXRlQ29tcG91bmRlcihmdW5jdGlvbihyZXN1bHQsIHdvcmQsIGluZGV4KSB7XG4gICAgICB3b3JkID0gd29yZC50b0xvd2VyQ2FzZSgpO1xuICAgICAgcmV0dXJuIHJlc3VsdCArIChpbmRleCA/IGNhcGl0YWxpemUod29yZCkgOiB3b3JkKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgYHN0cmluZ2AgdG8gdXBwZXIgY2FzZSBhbmQgdGhlIHJlbWFpbmluZ1xuICAgICAqIHRvIGxvd2VyIGNhc2UuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gY2FwaXRhbGl6ZS5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBjYXBpdGFsaXplZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uY2FwaXRhbGl6ZSgnRlJFRCcpO1xuICAgICAqIC8vID0+ICdGcmVkJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNhcGl0YWxpemUoc3RyaW5nKSB7XG4gICAgICByZXR1cm4gdXBwZXJGaXJzdCh0b1N0cmluZyhzdHJpbmcpLnRvTG93ZXJDYXNlKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlYnVycnMgYHN0cmluZ2AgYnkgY29udmVydGluZ1xuICAgICAqIFtMYXRpbi0xIFN1cHBsZW1lbnRdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0xhdGluLTFfU3VwcGxlbWVudF8oVW5pY29kZV9ibG9jaykjQ2hhcmFjdGVyX3RhYmxlKVxuICAgICAqIGFuZCBbTGF0aW4gRXh0ZW5kZWQtQV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTGF0aW5fRXh0ZW5kZWQtQSlcbiAgICAgKiBsZXR0ZXJzIHRvIGJhc2ljIExhdGluIGxldHRlcnMgYW5kIHJlbW92aW5nXG4gICAgICogW2NvbWJpbmluZyBkaWFjcml0aWNhbCBtYXJrc10oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ29tYmluaW5nX0RpYWNyaXRpY2FsX01hcmtzKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBkZWJ1cnIuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgZGVidXJyZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmRlYnVycignZMOpasOgIHZ1Jyk7XG4gICAgICogLy8gPT4gJ2RlamEgdnUnXG4gICAgICovXG4gICAgZnVuY3Rpb24gZGVidXJyKHN0cmluZykge1xuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIHJldHVybiBzdHJpbmcgJiYgc3RyaW5nLnJlcGxhY2UocmVMYXRpbiwgZGVidXJyTGV0dGVyKS5yZXBsYWNlKHJlQ29tYm9NYXJrLCAnJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGBzdHJpbmdgIGVuZHMgd2l0aCB0aGUgZ2l2ZW4gdGFyZ2V0IHN0cmluZy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbdGFyZ2V0XSBUaGUgc3RyaW5nIHRvIHNlYXJjaCBmb3IuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtwb3NpdGlvbj1zdHJpbmcubGVuZ3RoXSBUaGUgcG9zaXRpb24gdG8gc2VhcmNoIHVwIHRvLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgc3RyaW5nYCBlbmRzIHdpdGggYHRhcmdldGAsXG4gICAgICogIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5lbmRzV2l0aCgnYWJjJywgJ2MnKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmVuZHNXaXRoKCdhYmMnLCAnYicpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmVuZHNXaXRoKCdhYmMnLCAnYicsIDIpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBlbmRzV2l0aChzdHJpbmcsIHRhcmdldCwgcG9zaXRpb24pIHtcbiAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICB0YXJnZXQgPSBiYXNlVG9TdHJpbmcodGFyZ2V0KTtcblxuICAgICAgdmFyIGxlbmd0aCA9IHN0cmluZy5sZW5ndGg7XG4gICAgICBwb3NpdGlvbiA9IHBvc2l0aW9uID09PSB1bmRlZmluZWRcbiAgICAgICAgPyBsZW5ndGhcbiAgICAgICAgOiBiYXNlQ2xhbXAodG9JbnRlZ2VyKHBvc2l0aW9uKSwgMCwgbGVuZ3RoKTtcblxuICAgICAgdmFyIGVuZCA9IHBvc2l0aW9uO1xuICAgICAgcG9zaXRpb24gLT0gdGFyZ2V0Lmxlbmd0aDtcbiAgICAgIHJldHVybiBwb3NpdGlvbiA+PSAwICYmIHN0cmluZy5zbGljZShwb3NpdGlvbiwgZW5kKSA9PSB0YXJnZXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgdGhlIGNoYXJhY3RlcnMgXCImXCIsIFwiPFwiLCBcIj5cIiwgJ1wiJywgYW5kIFwiJ1wiIGluIGBzdHJpbmdgIHRvIHRoZWlyXG4gICAgICogY29ycmVzcG9uZGluZyBIVE1MIGVudGl0aWVzLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIE5vIG90aGVyIGNoYXJhY3RlcnMgYXJlIGVzY2FwZWQuIFRvIGVzY2FwZSBhZGRpdGlvbmFsXG4gICAgICogY2hhcmFjdGVycyB1c2UgYSB0aGlyZC1wYXJ0eSBsaWJyYXJ5IGxpa2UgW19oZV9dKGh0dHBzOi8vbXRocy5iZS9oZSkuXG4gICAgICpcbiAgICAgKiBUaG91Z2ggdGhlIFwiPlwiIGNoYXJhY3RlciBpcyBlc2NhcGVkIGZvciBzeW1tZXRyeSwgY2hhcmFjdGVycyBsaWtlXG4gICAgICogXCI+XCIgYW5kIFwiL1wiIGRvbid0IG5lZWQgZXNjYXBpbmcgaW4gSFRNTCBhbmQgaGF2ZSBubyBzcGVjaWFsIG1lYW5pbmdcbiAgICAgKiB1bmxlc3MgdGhleSdyZSBwYXJ0IG9mIGEgdGFnIG9yIHVucXVvdGVkIGF0dHJpYnV0ZSB2YWx1ZS4gU2VlXG4gICAgICogW01hdGhpYXMgQnluZW5zJ3MgYXJ0aWNsZV0oaHR0cHM6Ly9tYXRoaWFzYnluZW5zLmJlL25vdGVzL2FtYmlndW91cy1hbXBlcnNhbmRzKVxuICAgICAqICh1bmRlciBcInNlbWktcmVsYXRlZCBmdW4gZmFjdFwiKSBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqXG4gICAgICogV2hlbiB3b3JraW5nIHdpdGggSFRNTCB5b3Ugc2hvdWxkIGFsd2F5c1xuICAgICAqIFtxdW90ZSBhdHRyaWJ1dGUgdmFsdWVzXShodHRwOi8vd29ua28uY29tL3Bvc3QvaHRtbC1lc2NhcGluZykgdG8gcmVkdWNlXG4gICAgICogWFNTIHZlY3RvcnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gZXNjYXBlLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGVzY2FwZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmVzY2FwZSgnZnJlZCwgYmFybmV5LCAmIHBlYmJsZXMnKTtcbiAgICAgKiAvLyA9PiAnZnJlZCwgYmFybmV5LCAmYW1wOyBwZWJibGVzJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIGVzY2FwZShzdHJpbmcpIHtcbiAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICByZXR1cm4gKHN0cmluZyAmJiByZUhhc1VuZXNjYXBlZEh0bWwudGVzdChzdHJpbmcpKVxuICAgICAgICA/IHN0cmluZy5yZXBsYWNlKHJlVW5lc2NhcGVkSHRtbCwgZXNjYXBlSHRtbENoYXIpXG4gICAgICAgIDogc3RyaW5nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVzY2FwZXMgdGhlIGBSZWdFeHBgIHNwZWNpYWwgY2hhcmFjdGVycyBcIl5cIiwgXCIkXCIsIFwiXFxcIiwgXCIuXCIsIFwiKlwiLCBcIitcIixcbiAgICAgKiBcIj9cIiwgXCIoXCIsIFwiKVwiLCBcIltcIiwgXCJdXCIsIFwie1wiLCBcIn1cIiwgYW5kIFwifFwiIGluIGBzdHJpbmdgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIGVzY2FwZS5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBlc2NhcGVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5lc2NhcGVSZWdFeHAoJ1tsb2Rhc2hdKGh0dHBzOi8vbG9kYXNoLmNvbS8pJyk7XG4gICAgICogLy8gPT4gJ1xcW2xvZGFzaFxcXVxcKGh0dHBzOi8vbG9kYXNoXFwuY29tL1xcKSdcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBlc2NhcGVSZWdFeHAoc3RyaW5nKSB7XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgcmV0dXJuIChzdHJpbmcgJiYgcmVIYXNSZWdFeHBDaGFyLnRlc3Qoc3RyaW5nKSlcbiAgICAgICAgPyBzdHJpbmcucmVwbGFjZShyZVJlZ0V4cENoYXIsICdcXFxcJCYnKVxuICAgICAgICA6IHN0cmluZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgc3RyaW5nYCB0b1xuICAgICAqIFtrZWJhYiBjYXNlXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MZXR0ZXJfY2FzZSNTcGVjaWFsX2Nhc2Vfc3R5bGVzKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGtlYmFiIGNhc2VkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5rZWJhYkNhc2UoJ0ZvbyBCYXInKTtcbiAgICAgKiAvLyA9PiAnZm9vLWJhcidcbiAgICAgKlxuICAgICAqIF8ua2ViYWJDYXNlKCdmb29CYXInKTtcbiAgICAgKiAvLyA9PiAnZm9vLWJhcidcbiAgICAgKlxuICAgICAqIF8ua2ViYWJDYXNlKCdfX0ZPT19CQVJfXycpO1xuICAgICAqIC8vID0+ICdmb28tYmFyJ1xuICAgICAqL1xuICAgIHZhciBrZWJhYkNhc2UgPSBjcmVhdGVDb21wb3VuZGVyKGZ1bmN0aW9uKHJlc3VsdCwgd29yZCwgaW5kZXgpIHtcbiAgICAgIHJldHVybiByZXN1bHQgKyAoaW5kZXggPyAnLScgOiAnJykgKyB3b3JkLnRvTG93ZXJDYXNlKCk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgc3RyaW5nYCwgYXMgc3BhY2Ugc2VwYXJhdGVkIHdvcmRzLCB0byBsb3dlciBjYXNlLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgbG93ZXIgY2FzZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmxvd2VyQ2FzZSgnLS1Gb28tQmFyLS0nKTtcbiAgICAgKiAvLyA9PiAnZm9vIGJhcidcbiAgICAgKlxuICAgICAqIF8ubG93ZXJDYXNlKCdmb29CYXInKTtcbiAgICAgKiAvLyA9PiAnZm9vIGJhcidcbiAgICAgKlxuICAgICAqIF8ubG93ZXJDYXNlKCdfX0ZPT19CQVJfXycpO1xuICAgICAqIC8vID0+ICdmb28gYmFyJ1xuICAgICAqL1xuICAgIHZhciBsb3dlckNhc2UgPSBjcmVhdGVDb21wb3VuZGVyKGZ1bmN0aW9uKHJlc3VsdCwgd29yZCwgaW5kZXgpIHtcbiAgICAgIHJldHVybiByZXN1bHQgKyAoaW5kZXggPyAnICcgOiAnJykgKyB3b3JkLnRvTG93ZXJDYXNlKCk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIGBzdHJpbmdgIHRvIGxvd2VyIGNhc2UuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmxvd2VyRmlyc3QoJ0ZyZWQnKTtcbiAgICAgKiAvLyA9PiAnZnJlZCdcbiAgICAgKlxuICAgICAqIF8ubG93ZXJGaXJzdCgnRlJFRCcpO1xuICAgICAqIC8vID0+ICdmUkVEJ1xuICAgICAqL1xuICAgIHZhciBsb3dlckZpcnN0ID0gY3JlYXRlQ2FzZUZpcnN0KCd0b0xvd2VyQ2FzZScpO1xuXG4gICAgLyoqXG4gICAgICogUGFkcyBgc3RyaW5nYCBvbiB0aGUgbGVmdCBhbmQgcmlnaHQgc2lkZXMgaWYgaXQncyBzaG9ydGVyIHRoYW4gYGxlbmd0aGAuXG4gICAgICogUGFkZGluZyBjaGFyYWN0ZXJzIGFyZSB0cnVuY2F0ZWQgaWYgdGhleSBjYW4ndCBiZSBldmVubHkgZGl2aWRlZCBieSBgbGVuZ3RoYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBwYWQuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtsZW5ndGg9MF0gVGhlIHBhZGRpbmcgbGVuZ3RoLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbY2hhcnM9JyAnXSBUaGUgc3RyaW5nIHVzZWQgYXMgcGFkZGluZy5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBwYWRkZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnBhZCgnYWJjJywgOCk7XG4gICAgICogLy8gPT4gJyAgYWJjICAgJ1xuICAgICAqXG4gICAgICogXy5wYWQoJ2FiYycsIDgsICdfLScpO1xuICAgICAqIC8vID0+ICdfLWFiY18tXydcbiAgICAgKlxuICAgICAqIF8ucGFkKCdhYmMnLCAzKTtcbiAgICAgKiAvLyA9PiAnYWJjJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHBhZChzdHJpbmcsIGxlbmd0aCwgY2hhcnMpIHtcbiAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICBsZW5ndGggPSB0b0ludGVnZXIobGVuZ3RoKTtcblxuICAgICAgdmFyIHN0ckxlbmd0aCA9IGxlbmd0aCA/IHN0cmluZ1NpemUoc3RyaW5nKSA6IDA7XG4gICAgICBpZiAoIWxlbmd0aCB8fCBzdHJMZW5ndGggPj0gbGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBzdHJpbmc7XG4gICAgICB9XG4gICAgICB2YXIgbWlkID0gKGxlbmd0aCAtIHN0ckxlbmd0aCkgLyAyO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgY3JlYXRlUGFkZGluZyhuYXRpdmVGbG9vcihtaWQpLCBjaGFycykgK1xuICAgICAgICBzdHJpbmcgK1xuICAgICAgICBjcmVhdGVQYWRkaW5nKG5hdGl2ZUNlaWwobWlkKSwgY2hhcnMpXG4gICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhZHMgYHN0cmluZ2Agb24gdGhlIHJpZ2h0IHNpZGUgaWYgaXQncyBzaG9ydGVyIHRoYW4gYGxlbmd0aGAuIFBhZGRpbmdcbiAgICAgKiBjaGFyYWN0ZXJzIGFyZSB0cnVuY2F0ZWQgaWYgdGhleSBleGNlZWQgYGxlbmd0aGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gcGFkLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbGVuZ3RoPTBdIFRoZSBwYWRkaW5nIGxlbmd0aC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2NoYXJzPScgJ10gVGhlIHN0cmluZyB1c2VkIGFzIHBhZGRpbmcuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgcGFkZGVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5wYWRFbmQoJ2FiYycsIDYpO1xuICAgICAqIC8vID0+ICdhYmMgICAnXG4gICAgICpcbiAgICAgKiBfLnBhZEVuZCgnYWJjJywgNiwgJ18tJyk7XG4gICAgICogLy8gPT4gJ2FiY18tXydcbiAgICAgKlxuICAgICAqIF8ucGFkRW5kKCdhYmMnLCAzKTtcbiAgICAgKiAvLyA9PiAnYWJjJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHBhZEVuZChzdHJpbmcsIGxlbmd0aCwgY2hhcnMpIHtcbiAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICBsZW5ndGggPSB0b0ludGVnZXIobGVuZ3RoKTtcblxuICAgICAgdmFyIHN0ckxlbmd0aCA9IGxlbmd0aCA/IHN0cmluZ1NpemUoc3RyaW5nKSA6IDA7XG4gICAgICByZXR1cm4gKGxlbmd0aCAmJiBzdHJMZW5ndGggPCBsZW5ndGgpXG4gICAgICAgID8gKHN0cmluZyArIGNyZWF0ZVBhZGRpbmcobGVuZ3RoIC0gc3RyTGVuZ3RoLCBjaGFycykpXG4gICAgICAgIDogc3RyaW5nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhZHMgYHN0cmluZ2Agb24gdGhlIGxlZnQgc2lkZSBpZiBpdCdzIHNob3J0ZXIgdGhhbiBgbGVuZ3RoYC4gUGFkZGluZ1xuICAgICAqIGNoYXJhY3RlcnMgYXJlIHRydW5jYXRlZCBpZiB0aGV5IGV4Y2VlZCBgbGVuZ3RoYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBwYWQuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtsZW5ndGg9MF0gVGhlIHBhZGRpbmcgbGVuZ3RoLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbY2hhcnM9JyAnXSBUaGUgc3RyaW5nIHVzZWQgYXMgcGFkZGluZy5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBwYWRkZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnBhZFN0YXJ0KCdhYmMnLCA2KTtcbiAgICAgKiAvLyA9PiAnICAgYWJjJ1xuICAgICAqXG4gICAgICogXy5wYWRTdGFydCgnYWJjJywgNiwgJ18tJyk7XG4gICAgICogLy8gPT4gJ18tX2FiYydcbiAgICAgKlxuICAgICAqIF8ucGFkU3RhcnQoJ2FiYycsIDMpO1xuICAgICAqIC8vID0+ICdhYmMnXG4gICAgICovXG4gICAgZnVuY3Rpb24gcGFkU3RhcnQoc3RyaW5nLCBsZW5ndGgsIGNoYXJzKSB7XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgbGVuZ3RoID0gdG9JbnRlZ2VyKGxlbmd0aCk7XG5cbiAgICAgIHZhciBzdHJMZW5ndGggPSBsZW5ndGggPyBzdHJpbmdTaXplKHN0cmluZykgOiAwO1xuICAgICAgcmV0dXJuIChsZW5ndGggJiYgc3RyTGVuZ3RoIDwgbGVuZ3RoKVxuICAgICAgICA/IChjcmVhdGVQYWRkaW5nKGxlbmd0aCAtIHN0ckxlbmd0aCwgY2hhcnMpICsgc3RyaW5nKVxuICAgICAgICA6IHN0cmluZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgc3RyaW5nYCB0byBhbiBpbnRlZ2VyIG9mIHRoZSBzcGVjaWZpZWQgcmFkaXguIElmIGByYWRpeGAgaXNcbiAgICAgKiBgdW5kZWZpbmVkYCBvciBgMGAsIGEgYHJhZGl4YCBvZiBgMTBgIGlzIHVzZWQgdW5sZXNzIGB2YWx1ZWAgaXMgYVxuICAgICAqIGhleGFkZWNpbWFsLCBpbiB3aGljaCBjYXNlIGEgYHJhZGl4YCBvZiBgMTZgIGlzIHVzZWQuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgYWxpZ25zIHdpdGggdGhlXG4gICAgICogW0VTNSBpbXBsZW1lbnRhdGlvbl0oaHR0cHM6Ly9lczUuZ2l0aHViLmlvLyN4MTUuMS4yLjIpIG9mIGBwYXJzZUludGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMS4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZyBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtyYWRpeD0xMF0gVGhlIHJhZGl4IHRvIGludGVycHJldCBgdmFsdWVgIGJ5LlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgY29udmVydGVkIGludGVnZXIuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ucGFyc2VJbnQoJzA4Jyk7XG4gICAgICogLy8gPT4gOFxuICAgICAqXG4gICAgICogXy5tYXAoWyc2JywgJzA4JywgJzEwJ10sIF8ucGFyc2VJbnQpO1xuICAgICAqIC8vID0+IFs2LCA4LCAxMF1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBwYXJzZUludChzdHJpbmcsIHJhZGl4LCBndWFyZCkge1xuICAgICAgaWYgKGd1YXJkIHx8IHJhZGl4ID09IG51bGwpIHtcbiAgICAgICAgcmFkaXggPSAwO1xuICAgICAgfSBlbHNlIGlmIChyYWRpeCkge1xuICAgICAgICByYWRpeCA9ICtyYWRpeDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuYXRpdmVQYXJzZUludCh0b1N0cmluZyhzdHJpbmcpLnJlcGxhY2UocmVUcmltU3RhcnQsICcnKSwgcmFkaXggfHwgMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVwZWF0cyB0aGUgZ2l2ZW4gc3RyaW5nIGBuYCB0aW1lcy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byByZXBlYXQuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtuPTFdIFRoZSBudW1iZXIgb2YgdGltZXMgdG8gcmVwZWF0IHRoZSBzdHJpbmcuXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSByZXBlYXRlZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ucmVwZWF0KCcqJywgMyk7XG4gICAgICogLy8gPT4gJyoqKidcbiAgICAgKlxuICAgICAqIF8ucmVwZWF0KCdhYmMnLCAyKTtcbiAgICAgKiAvLyA9PiAnYWJjYWJjJ1xuICAgICAqXG4gICAgICogXy5yZXBlYXQoJ2FiYycsIDApO1xuICAgICAqIC8vID0+ICcnXG4gICAgICovXG4gICAgZnVuY3Rpb24gcmVwZWF0KHN0cmluZywgbiwgZ3VhcmQpIHtcbiAgICAgIGlmICgoZ3VhcmQgPyBpc0l0ZXJhdGVlQ2FsbChzdHJpbmcsIG4sIGd1YXJkKSA6IG4gPT09IHVuZGVmaW5lZCkpIHtcbiAgICAgICAgbiA9IDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuID0gdG9JbnRlZ2VyKG4pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VSZXBlYXQodG9TdHJpbmcoc3RyaW5nKSwgbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVwbGFjZXMgbWF0Y2hlcyBmb3IgYHBhdHRlcm5gIGluIGBzdHJpbmdgIHdpdGggYHJlcGxhY2VtZW50YC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBpcyBiYXNlZCBvblxuICAgICAqIFtgU3RyaW5nI3JlcGxhY2VgXShodHRwczovL21kbi5pby9TdHJpbmcvcmVwbGFjZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7UmVnRXhwfHN0cmluZ30gcGF0dGVybiBUaGUgcGF0dGVybiB0byByZXBsYWNlLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb258c3RyaW5nfSByZXBsYWNlbWVudCBUaGUgbWF0Y2ggcmVwbGFjZW1lbnQuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgbW9kaWZpZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnJlcGxhY2UoJ0hpIEZyZWQnLCAnRnJlZCcsICdCYXJuZXknKTtcbiAgICAgKiAvLyA9PiAnSGkgQmFybmV5J1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHJlcGxhY2UoKSB7XG4gICAgICB2YXIgYXJncyA9IGFyZ3VtZW50cyxcbiAgICAgICAgICBzdHJpbmcgPSB0b1N0cmluZyhhcmdzWzBdKTtcblxuICAgICAgcmV0dXJuIGFyZ3MubGVuZ3RoIDwgMyA/IHN0cmluZyA6IHN0cmluZy5yZXBsYWNlKGFyZ3NbMV0sIGFyZ3NbMl0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGBzdHJpbmdgIHRvXG4gICAgICogW3NuYWtlIGNhc2VdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1NuYWtlX2Nhc2UpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgc25ha2UgY2FzZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnNuYWtlQ2FzZSgnRm9vIEJhcicpO1xuICAgICAqIC8vID0+ICdmb29fYmFyJ1xuICAgICAqXG4gICAgICogXy5zbmFrZUNhc2UoJ2Zvb0JhcicpO1xuICAgICAqIC8vID0+ICdmb29fYmFyJ1xuICAgICAqXG4gICAgICogXy5zbmFrZUNhc2UoJy0tRk9PLUJBUi0tJyk7XG4gICAgICogLy8gPT4gJ2Zvb19iYXInXG4gICAgICovXG4gICAgdmFyIHNuYWtlQ2FzZSA9IGNyZWF0ZUNvbXBvdW5kZXIoZnVuY3Rpb24ocmVzdWx0LCB3b3JkLCBpbmRleCkge1xuICAgICAgcmV0dXJuIHJlc3VsdCArIChpbmRleCA/ICdfJyA6ICcnKSArIHdvcmQudG9Mb3dlckNhc2UoKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFNwbGl0cyBgc3RyaW5nYCBieSBgc2VwYXJhdG9yYC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBpcyBiYXNlZCBvblxuICAgICAqIFtgU3RyaW5nI3NwbGl0YF0oaHR0cHM6Ly9tZG4uaW8vU3RyaW5nL3NwbGl0KS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBzcGxpdC5cbiAgICAgKiBAcGFyYW0ge1JlZ0V4cHxzdHJpbmd9IHNlcGFyYXRvciBUaGUgc2VwYXJhdG9yIHBhdHRlcm4gdG8gc3BsaXQgYnkuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtsaW1pdF0gVGhlIGxlbmd0aCB0byB0cnVuY2F0ZSByZXN1bHRzIHRvLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgc3RyaW5nIHNlZ21lbnRzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnNwbGl0KCdhLWItYycsICctJywgMik7XG4gICAgICogLy8gPT4gWydhJywgJ2InXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNwbGl0KHN0cmluZywgc2VwYXJhdG9yLCBsaW1pdCkge1xuICAgICAgaWYgKGxpbWl0ICYmIHR5cGVvZiBsaW1pdCAhPSAnbnVtYmVyJyAmJiBpc0l0ZXJhdGVlQ2FsbChzdHJpbmcsIHNlcGFyYXRvciwgbGltaXQpKSB7XG4gICAgICAgIHNlcGFyYXRvciA9IGxpbWl0ID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgbGltaXQgPSBsaW1pdCA9PT0gdW5kZWZpbmVkID8gTUFYX0FSUkFZX0xFTkdUSCA6IGxpbWl0ID4+PiAwO1xuICAgICAgaWYgKCFsaW1pdCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgaWYgKHN0cmluZyAmJiAoXG4gICAgICAgICAgICB0eXBlb2Ygc2VwYXJhdG9yID09ICdzdHJpbmcnIHx8XG4gICAgICAgICAgICAoc2VwYXJhdG9yICE9IG51bGwgJiYgIWlzUmVnRXhwKHNlcGFyYXRvcikpXG4gICAgICAgICAgKSkge1xuICAgICAgICBzZXBhcmF0b3IgPSBiYXNlVG9TdHJpbmcoc2VwYXJhdG9yKTtcbiAgICAgICAgaWYgKCFzZXBhcmF0b3IgJiYgaGFzVW5pY29kZShzdHJpbmcpKSB7XG4gICAgICAgICAgcmV0dXJuIGNhc3RTbGljZShzdHJpbmdUb0FycmF5KHN0cmluZyksIDAsIGxpbWl0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHN0cmluZy5zcGxpdChzZXBhcmF0b3IsIGxpbWl0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgc3RyaW5nYCB0b1xuICAgICAqIFtzdGFydCBjYXNlXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MZXR0ZXJfY2FzZSNTdHlsaXN0aWNfb3Jfc3BlY2lhbGlzZWRfdXNhZ2UpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMS4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgc3RhcnQgY2FzZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnN0YXJ0Q2FzZSgnLS1mb28tYmFyLS0nKTtcbiAgICAgKiAvLyA9PiAnRm9vIEJhcidcbiAgICAgKlxuICAgICAqIF8uc3RhcnRDYXNlKCdmb29CYXInKTtcbiAgICAgKiAvLyA9PiAnRm9vIEJhcidcbiAgICAgKlxuICAgICAqIF8uc3RhcnRDYXNlKCdfX0ZPT19CQVJfXycpO1xuICAgICAqIC8vID0+ICdGT08gQkFSJ1xuICAgICAqL1xuICAgIHZhciBzdGFydENhc2UgPSBjcmVhdGVDb21wb3VuZGVyKGZ1bmN0aW9uKHJlc3VsdCwgd29yZCwgaW5kZXgpIHtcbiAgICAgIHJldHVybiByZXN1bHQgKyAoaW5kZXggPyAnICcgOiAnJykgKyB1cHBlckZpcnN0KHdvcmQpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGBzdHJpbmdgIHN0YXJ0cyB3aXRoIHRoZSBnaXZlbiB0YXJnZXQgc3RyaW5nLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFt0YXJnZXRdIFRoZSBzdHJpbmcgdG8gc2VhcmNoIGZvci5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3Bvc2l0aW9uPTBdIFRoZSBwb3NpdGlvbiB0byBzZWFyY2ggZnJvbS5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHN0cmluZ2Agc3RhcnRzIHdpdGggYHRhcmdldGAsXG4gICAgICogIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zdGFydHNXaXRoKCdhYmMnLCAnYScpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uc3RhcnRzV2l0aCgnYWJjJywgJ2InKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5zdGFydHNXaXRoKCdhYmMnLCAnYicsIDEpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzdGFydHNXaXRoKHN0cmluZywgdGFyZ2V0LCBwb3NpdGlvbikge1xuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIHBvc2l0aW9uID0gcG9zaXRpb24gPT0gbnVsbFxuICAgICAgICA/IDBcbiAgICAgICAgOiBiYXNlQ2xhbXAodG9JbnRlZ2VyKHBvc2l0aW9uKSwgMCwgc3RyaW5nLmxlbmd0aCk7XG5cbiAgICAgIHRhcmdldCA9IGJhc2VUb1N0cmluZyh0YXJnZXQpO1xuICAgICAgcmV0dXJuIHN0cmluZy5zbGljZShwb3NpdGlvbiwgcG9zaXRpb24gKyB0YXJnZXQubGVuZ3RoKSA9PSB0YXJnZXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGNvbXBpbGVkIHRlbXBsYXRlIGZ1bmN0aW9uIHRoYXQgY2FuIGludGVycG9sYXRlIGRhdGEgcHJvcGVydGllc1xuICAgICAqIGluIFwiaW50ZXJwb2xhdGVcIiBkZWxpbWl0ZXJzLCBIVE1MLWVzY2FwZSBpbnRlcnBvbGF0ZWQgZGF0YSBwcm9wZXJ0aWVzIGluXG4gICAgICogXCJlc2NhcGVcIiBkZWxpbWl0ZXJzLCBhbmQgZXhlY3V0ZSBKYXZhU2NyaXB0IGluIFwiZXZhbHVhdGVcIiBkZWxpbWl0ZXJzLiBEYXRhXG4gICAgICogcHJvcGVydGllcyBtYXkgYmUgYWNjZXNzZWQgYXMgZnJlZSB2YXJpYWJsZXMgaW4gdGhlIHRlbXBsYXRlLiBJZiBhIHNldHRpbmdcbiAgICAgKiBvYmplY3QgaXMgZ2l2ZW4sIGl0IHRha2VzIHByZWNlZGVuY2Ugb3ZlciBgXy50ZW1wbGF0ZVNldHRpbmdzYCB2YWx1ZXMuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogSW4gdGhlIGRldmVsb3BtZW50IGJ1aWxkIGBfLnRlbXBsYXRlYCB1dGlsaXplc1xuICAgICAqIFtzb3VyY2VVUkxzXShodHRwOi8vd3d3Lmh0bWw1cm9ja3MuY29tL2VuL3R1dG9yaWFscy9kZXZlbG9wZXJ0b29scy9zb3VyY2VtYXBzLyN0b2Mtc291cmNldXJsKVxuICAgICAqIGZvciBlYXNpZXIgZGVidWdnaW5nLlxuICAgICAqXG4gICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gcHJlY29tcGlsaW5nIHRlbXBsYXRlcyBzZWVcbiAgICAgKiBbbG9kYXNoJ3MgY3VzdG9tIGJ1aWxkcyBkb2N1bWVudGF0aW9uXShodHRwczovL2xvZGFzaC5jb20vY3VzdG9tLWJ1aWxkcykuXG4gICAgICpcbiAgICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBDaHJvbWUgZXh0ZW5zaW9uIHNhbmRib3hlcyBzZWVcbiAgICAgKiBbQ2hyb21lJ3MgZXh0ZW5zaW9ucyBkb2N1bWVudGF0aW9uXShodHRwczovL2RldmVsb3Blci5jaHJvbWUuY29tL2V4dGVuc2lvbnMvc2FuZGJveGluZ0V2YWwpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgdGVtcGxhdGUgc3RyaW5nLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9ucz17fV0gVGhlIG9wdGlvbnMgb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7UmVnRXhwfSBbb3B0aW9ucy5lc2NhcGU9Xy50ZW1wbGF0ZVNldHRpbmdzLmVzY2FwZV1cbiAgICAgKiAgVGhlIEhUTUwgXCJlc2NhcGVcIiBkZWxpbWl0ZXIuXG4gICAgICogQHBhcmFtIHtSZWdFeHB9IFtvcHRpb25zLmV2YWx1YXRlPV8udGVtcGxhdGVTZXR0aW5ncy5ldmFsdWF0ZV1cbiAgICAgKiAgVGhlIFwiZXZhbHVhdGVcIiBkZWxpbWl0ZXIuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zLmltcG9ydHM9Xy50ZW1wbGF0ZVNldHRpbmdzLmltcG9ydHNdXG4gICAgICogIEFuIG9iamVjdCB0byBpbXBvcnQgaW50byB0aGUgdGVtcGxhdGUgYXMgZnJlZSB2YXJpYWJsZXMuXG4gICAgICogQHBhcmFtIHtSZWdFeHB9IFtvcHRpb25zLmludGVycG9sYXRlPV8udGVtcGxhdGVTZXR0aW5ncy5pbnRlcnBvbGF0ZV1cbiAgICAgKiAgVGhlIFwiaW50ZXJwb2xhdGVcIiBkZWxpbWl0ZXIuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLnNvdXJjZVVSTD0nbG9kYXNoLnRlbXBsYXRlU291cmNlc1tuXSddXG4gICAgICogIFRoZSBzb3VyY2VVUkwgb2YgdGhlIGNvbXBpbGVkIHRlbXBsYXRlLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy52YXJpYWJsZT0nb2JqJ11cbiAgICAgKiAgVGhlIGRhdGEgb2JqZWN0IHZhcmlhYmxlIG5hbWUuXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIGNvbXBpbGVkIHRlbXBsYXRlIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiAvLyBVc2UgdGhlIFwiaW50ZXJwb2xhdGVcIiBkZWxpbWl0ZXIgdG8gY3JlYXRlIGEgY29tcGlsZWQgdGVtcGxhdGUuXG4gICAgICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnaGVsbG8gPCU9IHVzZXIgJT4hJyk7XG4gICAgICogY29tcGlsZWQoeyAndXNlcic6ICdmcmVkJyB9KTtcbiAgICAgKiAvLyA9PiAnaGVsbG8gZnJlZCEnXG4gICAgICpcbiAgICAgKiAvLyBVc2UgdGhlIEhUTUwgXCJlc2NhcGVcIiBkZWxpbWl0ZXIgdG8gZXNjYXBlIGRhdGEgcHJvcGVydHkgdmFsdWVzLlxuICAgICAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJzxiPjwlLSB2YWx1ZSAlPjwvYj4nKTtcbiAgICAgKiBjb21waWxlZCh7ICd2YWx1ZSc6ICc8c2NyaXB0PicgfSk7XG4gICAgICogLy8gPT4gJzxiPiZsdDtzY3JpcHQmZ3Q7PC9iPidcbiAgICAgKlxuICAgICAqIC8vIFVzZSB0aGUgXCJldmFsdWF0ZVwiIGRlbGltaXRlciB0byBleGVjdXRlIEphdmFTY3JpcHQgYW5kIGdlbmVyYXRlIEhUTUwuXG4gICAgICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnPCUgXy5mb3JFYWNoKHVzZXJzLCBmdW5jdGlvbih1c2VyKSB7ICU+PGxpPjwlLSB1c2VyICU+PC9saT48JSB9KTsgJT4nKTtcbiAgICAgKiBjb21waWxlZCh7ICd1c2Vycyc6IFsnZnJlZCcsICdiYXJuZXknXSB9KTtcbiAgICAgKiAvLyA9PiAnPGxpPmZyZWQ8L2xpPjxsaT5iYXJuZXk8L2xpPidcbiAgICAgKlxuICAgICAqIC8vIFVzZSB0aGUgaW50ZXJuYWwgYHByaW50YCBmdW5jdGlvbiBpbiBcImV2YWx1YXRlXCIgZGVsaW1pdGVycy5cbiAgICAgKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCc8JSBwcmludChcImhlbGxvIFwiICsgdXNlcik7ICU+IScpO1xuICAgICAqIGNvbXBpbGVkKHsgJ3VzZXInOiAnYmFybmV5JyB9KTtcbiAgICAgKiAvLyA9PiAnaGVsbG8gYmFybmV5ISdcbiAgICAgKlxuICAgICAqIC8vIFVzZSB0aGUgRVMgdGVtcGxhdGUgbGl0ZXJhbCBkZWxpbWl0ZXIgYXMgYW4gXCJpbnRlcnBvbGF0ZVwiIGRlbGltaXRlci5cbiAgICAgKiAvLyBEaXNhYmxlIHN1cHBvcnQgYnkgcmVwbGFjaW5nIHRoZSBcImludGVycG9sYXRlXCIgZGVsaW1pdGVyLlxuICAgICAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hlbGxvICR7IHVzZXIgfSEnKTtcbiAgICAgKiBjb21waWxlZCh7ICd1c2VyJzogJ3BlYmJsZXMnIH0pO1xuICAgICAqIC8vID0+ICdoZWxsbyBwZWJibGVzISdcbiAgICAgKlxuICAgICAqIC8vIFVzZSBiYWNrc2xhc2hlcyB0byB0cmVhdCBkZWxpbWl0ZXJzIGFzIHBsYWluIHRleHQuXG4gICAgICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnPCU9IFwiXFxcXDwlLSB2YWx1ZSAlXFxcXD5cIiAlPicpO1xuICAgICAqIGNvbXBpbGVkKHsgJ3ZhbHVlJzogJ2lnbm9yZWQnIH0pO1xuICAgICAqIC8vID0+ICc8JS0gdmFsdWUgJT4nXG4gICAgICpcbiAgICAgKiAvLyBVc2UgdGhlIGBpbXBvcnRzYCBvcHRpb24gdG8gaW1wb3J0IGBqUXVlcnlgIGFzIGBqcWAuXG4gICAgICogdmFyIHRleHQgPSAnPCUganEuZWFjaCh1c2VycywgZnVuY3Rpb24odXNlcikgeyAlPjxsaT48JS0gdXNlciAlPjwvbGk+PCUgfSk7ICU+JztcbiAgICAgKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKHRleHQsIHsgJ2ltcG9ydHMnOiB7ICdqcSc6IGpRdWVyeSB9IH0pO1xuICAgICAqIGNvbXBpbGVkKHsgJ3VzZXJzJzogWydmcmVkJywgJ2Jhcm5leSddIH0pO1xuICAgICAqIC8vID0+ICc8bGk+ZnJlZDwvbGk+PGxpPmJhcm5leTwvbGk+J1xuICAgICAqXG4gICAgICogLy8gVXNlIHRoZSBgc291cmNlVVJMYCBvcHRpb24gdG8gc3BlY2lmeSBhIGN1c3RvbSBzb3VyY2VVUkwgZm9yIHRoZSB0ZW1wbGF0ZS5cbiAgICAgKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCdoZWxsbyA8JT0gdXNlciAlPiEnLCB7ICdzb3VyY2VVUkwnOiAnL2Jhc2ljL2dyZWV0aW5nLmpzdCcgfSk7XG4gICAgICogY29tcGlsZWQoZGF0YSk7XG4gICAgICogLy8gPT4gRmluZCB0aGUgc291cmNlIG9mIFwiZ3JlZXRpbmcuanN0XCIgdW5kZXIgdGhlIFNvdXJjZXMgdGFiIG9yIFJlc291cmNlcyBwYW5lbCBvZiB0aGUgd2ViIGluc3BlY3Rvci5cbiAgICAgKlxuICAgICAqIC8vIFVzZSB0aGUgYHZhcmlhYmxlYCBvcHRpb24gdG8gZW5zdXJlIGEgd2l0aC1zdGF0ZW1lbnQgaXNuJ3QgdXNlZCBpbiB0aGUgY29tcGlsZWQgdGVtcGxhdGUuXG4gICAgICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnaGkgPCU9IGRhdGEudXNlciAlPiEnLCB7ICd2YXJpYWJsZSc6ICdkYXRhJyB9KTtcbiAgICAgKiBjb21waWxlZC5zb3VyY2U7XG4gICAgICogLy8gPT4gZnVuY3Rpb24oZGF0YSkge1xuICAgICAqIC8vICAgdmFyIF9fdCwgX19wID0gJyc7XG4gICAgICogLy8gICBfX3AgKz0gJ2hpICcgKyAoKF9fdCA9ICggZGF0YS51c2VyICkpID09IG51bGwgPyAnJyA6IF9fdCkgKyAnISc7XG4gICAgICogLy8gICByZXR1cm4gX19wO1xuICAgICAqIC8vIH1cbiAgICAgKlxuICAgICAqIC8vIFVzZSBjdXN0b20gdGVtcGxhdGUgZGVsaW1pdGVycy5cbiAgICAgKiBfLnRlbXBsYXRlU2V0dGluZ3MuaW50ZXJwb2xhdGUgPSAve3soW1xcc1xcU10rPyl9fS9nO1xuICAgICAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hlbGxvIHt7IHVzZXIgfX0hJyk7XG4gICAgICogY29tcGlsZWQoeyAndXNlcic6ICdtdXN0YWNoZScgfSk7XG4gICAgICogLy8gPT4gJ2hlbGxvIG11c3RhY2hlISdcbiAgICAgKlxuICAgICAqIC8vIFVzZSB0aGUgYHNvdXJjZWAgcHJvcGVydHkgdG8gaW5saW5lIGNvbXBpbGVkIHRlbXBsYXRlcyBmb3IgbWVhbmluZ2Z1bFxuICAgICAqIC8vIGxpbmUgbnVtYmVycyBpbiBlcnJvciBtZXNzYWdlcyBhbmQgc3RhY2sgdHJhY2VzLlxuICAgICAqIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksICdqc3QuanMnKSwgJ1xcXG4gICAgICogICB2YXIgSlNUID0ge1xcXG4gICAgICogICAgIFwibWFpblwiOiAnICsgXy50ZW1wbGF0ZShtYWluVGV4dCkuc291cmNlICsgJ1xcXG4gICAgICogICB9O1xcXG4gICAgICogJyk7XG4gICAgICovXG4gICAgZnVuY3Rpb24gdGVtcGxhdGUoc3RyaW5nLCBvcHRpb25zLCBndWFyZCkge1xuICAgICAgLy8gQmFzZWQgb24gSm9obiBSZXNpZydzIGB0bXBsYCBpbXBsZW1lbnRhdGlvblxuICAgICAgLy8gKGh0dHA6Ly9lam9obi5vcmcvYmxvZy9qYXZhc2NyaXB0LW1pY3JvLXRlbXBsYXRpbmcvKVxuICAgICAgLy8gYW5kIExhdXJhIERva3Rvcm92YSdzIGRvVC5qcyAoaHR0cHM6Ly9naXRodWIuY29tL29sYWRvL2RvVCkuXG4gICAgICB2YXIgc2V0dGluZ3MgPSBsb2Rhc2gudGVtcGxhdGVTZXR0aW5ncztcblxuICAgICAgaWYgKGd1YXJkICYmIGlzSXRlcmF0ZWVDYWxsKHN0cmluZywgb3B0aW9ucywgZ3VhcmQpKSB7XG4gICAgICAgIG9wdGlvbnMgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgb3B0aW9ucyA9IGFzc2lnbkluV2l0aCh7fSwgb3B0aW9ucywgc2V0dGluZ3MsIGN1c3RvbURlZmF1bHRzQXNzaWduSW4pO1xuXG4gICAgICB2YXIgaW1wb3J0cyA9IGFzc2lnbkluV2l0aCh7fSwgb3B0aW9ucy5pbXBvcnRzLCBzZXR0aW5ncy5pbXBvcnRzLCBjdXN0b21EZWZhdWx0c0Fzc2lnbkluKSxcbiAgICAgICAgICBpbXBvcnRzS2V5cyA9IGtleXMoaW1wb3J0cyksXG4gICAgICAgICAgaW1wb3J0c1ZhbHVlcyA9IGJhc2VWYWx1ZXMoaW1wb3J0cywgaW1wb3J0c0tleXMpO1xuXG4gICAgICB2YXIgaXNFc2NhcGluZyxcbiAgICAgICAgICBpc0V2YWx1YXRpbmcsXG4gICAgICAgICAgaW5kZXggPSAwLFxuICAgICAgICAgIGludGVycG9sYXRlID0gb3B0aW9ucy5pbnRlcnBvbGF0ZSB8fCByZU5vTWF0Y2gsXG4gICAgICAgICAgc291cmNlID0gXCJfX3AgKz0gJ1wiO1xuXG4gICAgICAvLyBDb21waWxlIHRoZSByZWdleHAgdG8gbWF0Y2ggZWFjaCBkZWxpbWl0ZXIuXG4gICAgICB2YXIgcmVEZWxpbWl0ZXJzID0gUmVnRXhwKFxuICAgICAgICAob3B0aW9ucy5lc2NhcGUgfHwgcmVOb01hdGNoKS5zb3VyY2UgKyAnfCcgK1xuICAgICAgICBpbnRlcnBvbGF0ZS5zb3VyY2UgKyAnfCcgK1xuICAgICAgICAoaW50ZXJwb2xhdGUgPT09IHJlSW50ZXJwb2xhdGUgPyByZUVzVGVtcGxhdGUgOiByZU5vTWF0Y2gpLnNvdXJjZSArICd8JyArXG4gICAgICAgIChvcHRpb25zLmV2YWx1YXRlIHx8IHJlTm9NYXRjaCkuc291cmNlICsgJ3wkJ1xuICAgICAgLCAnZycpO1xuXG4gICAgICAvLyBVc2UgYSBzb3VyY2VVUkwgZm9yIGVhc2llciBkZWJ1Z2dpbmcuXG4gICAgICAvLyBUaGUgc291cmNlVVJMIGdldHMgaW5qZWN0ZWQgaW50byB0aGUgc291cmNlIHRoYXQncyBldmFsLWVkLCBzbyBiZSBjYXJlZnVsXG4gICAgICAvLyB3aXRoIGxvb2t1cCAoaW4gY2FzZSBvZiBlLmcuIHByb3RvdHlwZSBwb2xsdXRpb24pLCBhbmQgc3RyaXAgbmV3bGluZXMgaWYgYW55LlxuICAgICAgLy8gQSBuZXdsaW5lIHdvdWxkbid0IGJlIGEgdmFsaWQgc291cmNlVVJMIGFueXdheSwgYW5kIGl0J2QgZW5hYmxlIGNvZGUgaW5qZWN0aW9uLlxuICAgICAgdmFyIHNvdXJjZVVSTCA9ICcvLyMgc291cmNlVVJMPScgK1xuICAgICAgICAoaGFzT3duUHJvcGVydHkuY2FsbChvcHRpb25zLCAnc291cmNlVVJMJylcbiAgICAgICAgICA/IChvcHRpb25zLnNvdXJjZVVSTCArICcnKS5yZXBsYWNlKC9bXFxyXFxuXS9nLCAnICcpXG4gICAgICAgICAgOiAoJ2xvZGFzaC50ZW1wbGF0ZVNvdXJjZXNbJyArICgrK3RlbXBsYXRlQ291bnRlcikgKyAnXScpXG4gICAgICAgICkgKyAnXFxuJztcblxuICAgICAgc3RyaW5nLnJlcGxhY2UocmVEZWxpbWl0ZXJzLCBmdW5jdGlvbihtYXRjaCwgZXNjYXBlVmFsdWUsIGludGVycG9sYXRlVmFsdWUsIGVzVGVtcGxhdGVWYWx1ZSwgZXZhbHVhdGVWYWx1ZSwgb2Zmc2V0KSB7XG4gICAgICAgIGludGVycG9sYXRlVmFsdWUgfHwgKGludGVycG9sYXRlVmFsdWUgPSBlc1RlbXBsYXRlVmFsdWUpO1xuXG4gICAgICAgIC8vIEVzY2FwZSBjaGFyYWN0ZXJzIHRoYXQgY2FuJ3QgYmUgaW5jbHVkZWQgaW4gc3RyaW5nIGxpdGVyYWxzLlxuICAgICAgICBzb3VyY2UgKz0gc3RyaW5nLnNsaWNlKGluZGV4LCBvZmZzZXQpLnJlcGxhY2UocmVVbmVzY2FwZWRTdHJpbmcsIGVzY2FwZVN0cmluZ0NoYXIpO1xuXG4gICAgICAgIC8vIFJlcGxhY2UgZGVsaW1pdGVycyB3aXRoIHNuaXBwZXRzLlxuICAgICAgICBpZiAoZXNjYXBlVmFsdWUpIHtcbiAgICAgICAgICBpc0VzY2FwaW5nID0gdHJ1ZTtcbiAgICAgICAgICBzb3VyY2UgKz0gXCInICtcXG5fX2UoXCIgKyBlc2NhcGVWYWx1ZSArIFwiKSArXFxuJ1wiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmFsdWF0ZVZhbHVlKSB7XG4gICAgICAgICAgaXNFdmFsdWF0aW5nID0gdHJ1ZTtcbiAgICAgICAgICBzb3VyY2UgKz0gXCInO1xcblwiICsgZXZhbHVhdGVWYWx1ZSArIFwiO1xcbl9fcCArPSAnXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGludGVycG9sYXRlVmFsdWUpIHtcbiAgICAgICAgICBzb3VyY2UgKz0gXCInICtcXG4oKF9fdCA9IChcIiArIGludGVycG9sYXRlVmFsdWUgKyBcIikpID09IG51bGwgPyAnJyA6IF9fdCkgK1xcbidcIjtcbiAgICAgICAgfVxuICAgICAgICBpbmRleCA9IG9mZnNldCArIG1hdGNoLmxlbmd0aDtcblxuICAgICAgICAvLyBUaGUgSlMgZW5naW5lIGVtYmVkZGVkIGluIEFkb2JlIHByb2R1Y3RzIG5lZWRzIGBtYXRjaGAgcmV0dXJuZWQgaW5cbiAgICAgICAgLy8gb3JkZXIgdG8gcHJvZHVjZSB0aGUgY29ycmVjdCBgb2Zmc2V0YCB2YWx1ZS5cbiAgICAgICAgcmV0dXJuIG1hdGNoO1xuICAgICAgfSk7XG5cbiAgICAgIHNvdXJjZSArPSBcIic7XFxuXCI7XG5cbiAgICAgIC8vIElmIGB2YXJpYWJsZWAgaXMgbm90IHNwZWNpZmllZCB3cmFwIGEgd2l0aC1zdGF0ZW1lbnQgYXJvdW5kIHRoZSBnZW5lcmF0ZWRcbiAgICAgIC8vIGNvZGUgdG8gYWRkIHRoZSBkYXRhIG9iamVjdCB0byB0aGUgdG9wIG9mIHRoZSBzY29wZSBjaGFpbi5cbiAgICAgIC8vIExpa2Ugd2l0aCBzb3VyY2VVUkwsIHdlIHRha2UgY2FyZSB0byBub3QgY2hlY2sgdGhlIG9wdGlvbidzIHByb3RvdHlwZSxcbiAgICAgIC8vIGFzIHRoaXMgY29uZmlndXJhdGlvbiBpcyBhIGNvZGUgaW5qZWN0aW9uIHZlY3Rvci5cbiAgICAgIHZhciB2YXJpYWJsZSA9IGhhc093blByb3BlcnR5LmNhbGwob3B0aW9ucywgJ3ZhcmlhYmxlJykgJiYgb3B0aW9ucy52YXJpYWJsZTtcbiAgICAgIGlmICghdmFyaWFibGUpIHtcbiAgICAgICAgc291cmNlID0gJ3dpdGggKG9iaikge1xcbicgKyBzb3VyY2UgKyAnXFxufVxcbic7XG4gICAgICB9XG4gICAgICAvLyBDbGVhbnVwIGNvZGUgYnkgc3RyaXBwaW5nIGVtcHR5IHN0cmluZ3MuXG4gICAgICBzb3VyY2UgPSAoaXNFdmFsdWF0aW5nID8gc291cmNlLnJlcGxhY2UocmVFbXB0eVN0cmluZ0xlYWRpbmcsICcnKSA6IHNvdXJjZSlcbiAgICAgICAgLnJlcGxhY2UocmVFbXB0eVN0cmluZ01pZGRsZSwgJyQxJylcbiAgICAgICAgLnJlcGxhY2UocmVFbXB0eVN0cmluZ1RyYWlsaW5nLCAnJDE7Jyk7XG5cbiAgICAgIC8vIEZyYW1lIGNvZGUgYXMgdGhlIGZ1bmN0aW9uIGJvZHkuXG4gICAgICBzb3VyY2UgPSAnZnVuY3Rpb24oJyArICh2YXJpYWJsZSB8fCAnb2JqJykgKyAnKSB7XFxuJyArXG4gICAgICAgICh2YXJpYWJsZVxuICAgICAgICAgID8gJydcbiAgICAgICAgICA6ICdvYmogfHwgKG9iaiA9IHt9KTtcXG4nXG4gICAgICAgICkgK1xuICAgICAgICBcInZhciBfX3QsIF9fcCA9ICcnXCIgK1xuICAgICAgICAoaXNFc2NhcGluZ1xuICAgICAgICAgICA/ICcsIF9fZSA9IF8uZXNjYXBlJ1xuICAgICAgICAgICA6ICcnXG4gICAgICAgICkgK1xuICAgICAgICAoaXNFdmFsdWF0aW5nXG4gICAgICAgICAgPyAnLCBfX2ogPSBBcnJheS5wcm90b3R5cGUuam9pbjtcXG4nICtcbiAgICAgICAgICAgIFwiZnVuY3Rpb24gcHJpbnQoKSB7IF9fcCArPSBfX2ouY2FsbChhcmd1bWVudHMsICcnKSB9XFxuXCJcbiAgICAgICAgICA6ICc7XFxuJ1xuICAgICAgICApICtcbiAgICAgICAgc291cmNlICtcbiAgICAgICAgJ3JldHVybiBfX3BcXG59JztcblxuICAgICAgdmFyIHJlc3VsdCA9IGF0dGVtcHQoZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBGdW5jdGlvbihpbXBvcnRzS2V5cywgc291cmNlVVJMICsgJ3JldHVybiAnICsgc291cmNlKVxuICAgICAgICAgIC5hcHBseSh1bmRlZmluZWQsIGltcG9ydHNWYWx1ZXMpO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIFByb3ZpZGUgdGhlIGNvbXBpbGVkIGZ1bmN0aW9uJ3Mgc291cmNlIGJ5IGl0cyBgdG9TdHJpbmdgIG1ldGhvZCBvclxuICAgICAgLy8gdGhlIGBzb3VyY2VgIHByb3BlcnR5IGFzIGEgY29udmVuaWVuY2UgZm9yIGlubGluaW5nIGNvbXBpbGVkIHRlbXBsYXRlcy5cbiAgICAgIHJlc3VsdC5zb3VyY2UgPSBzb3VyY2U7XG4gICAgICBpZiAoaXNFcnJvcihyZXN1bHQpKSB7XG4gICAgICAgIHRocm93IHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHN0cmluZ2AsIGFzIGEgd2hvbGUsIHRvIGxvd2VyIGNhc2UganVzdCBsaWtlXG4gICAgICogW1N0cmluZyN0b0xvd2VyQ2FzZV0oaHR0cHM6Ly9tZG4uaW8vdG9Mb3dlckNhc2UpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgbG93ZXIgY2FzZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRvTG93ZXIoJy0tRm9vLUJhci0tJyk7XG4gICAgICogLy8gPT4gJy0tZm9vLWJhci0tJ1xuICAgICAqXG4gICAgICogXy50b0xvd2VyKCdmb29CYXInKTtcbiAgICAgKiAvLyA9PiAnZm9vYmFyJ1xuICAgICAqXG4gICAgICogXy50b0xvd2VyKCdfX0ZPT19CQVJfXycpO1xuICAgICAqIC8vID0+ICdfX2Zvb19iYXJfXydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0b0xvd2VyKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdG9TdHJpbmcodmFsdWUpLnRvTG93ZXJDYXNlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHN0cmluZ2AsIGFzIGEgd2hvbGUsIHRvIHVwcGVyIGNhc2UganVzdCBsaWtlXG4gICAgICogW1N0cmluZyN0b1VwcGVyQ2FzZV0oaHR0cHM6Ly9tZG4uaW8vdG9VcHBlckNhc2UpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgdXBwZXIgY2FzZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRvVXBwZXIoJy0tZm9vLWJhci0tJyk7XG4gICAgICogLy8gPT4gJy0tRk9PLUJBUi0tJ1xuICAgICAqXG4gICAgICogXy50b1VwcGVyKCdmb29CYXInKTtcbiAgICAgKiAvLyA9PiAnRk9PQkFSJ1xuICAgICAqXG4gICAgICogXy50b1VwcGVyKCdfX2Zvb19iYXJfXycpO1xuICAgICAqIC8vID0+ICdfX0ZPT19CQVJfXydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0b1VwcGVyKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdG9TdHJpbmcodmFsdWUpLnRvVXBwZXJDYXNlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBsZWFkaW5nIGFuZCB0cmFpbGluZyB3aGl0ZXNwYWNlIG9yIHNwZWNpZmllZCBjaGFyYWN0ZXJzIGZyb20gYHN0cmluZ2AuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gdHJpbS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2NoYXJzPXdoaXRlc3BhY2VdIFRoZSBjaGFyYWN0ZXJzIHRvIHRyaW0uXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSB0cmltbWVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50cmltKCcgIGFiYyAgJyk7XG4gICAgICogLy8gPT4gJ2FiYydcbiAgICAgKlxuICAgICAqIF8udHJpbSgnLV8tYWJjLV8tJywgJ18tJyk7XG4gICAgICogLy8gPT4gJ2FiYydcbiAgICAgKlxuICAgICAqIF8ubWFwKFsnICBmb28gICcsICcgIGJhciAgJ10sIF8udHJpbSk7XG4gICAgICogLy8gPT4gWydmb28nLCAnYmFyJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0cmltKHN0cmluZywgY2hhcnMsIGd1YXJkKSB7XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgaWYgKHN0cmluZyAmJiAoZ3VhcmQgfHwgY2hhcnMgPT09IHVuZGVmaW5lZCkpIHtcbiAgICAgICAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKHJlVHJpbSwgJycpO1xuICAgICAgfVxuICAgICAgaWYgKCFzdHJpbmcgfHwgIShjaGFycyA9IGJhc2VUb1N0cmluZyhjaGFycykpKSB7XG4gICAgICAgIHJldHVybiBzdHJpbmc7XG4gICAgICB9XG4gICAgICB2YXIgc3RyU3ltYm9scyA9IHN0cmluZ1RvQXJyYXkoc3RyaW5nKSxcbiAgICAgICAgICBjaHJTeW1ib2xzID0gc3RyaW5nVG9BcnJheShjaGFycyksXG4gICAgICAgICAgc3RhcnQgPSBjaGFyc1N0YXJ0SW5kZXgoc3RyU3ltYm9scywgY2hyU3ltYm9scyksXG4gICAgICAgICAgZW5kID0gY2hhcnNFbmRJbmRleChzdHJTeW1ib2xzLCBjaHJTeW1ib2xzKSArIDE7XG5cbiAgICAgIHJldHVybiBjYXN0U2xpY2Uoc3RyU3ltYm9scywgc3RhcnQsIGVuZCkuam9pbignJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyB0cmFpbGluZyB3aGl0ZXNwYWNlIG9yIHNwZWNpZmllZCBjaGFyYWN0ZXJzIGZyb20gYHN0cmluZ2AuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gdHJpbS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2NoYXJzPXdoaXRlc3BhY2VdIFRoZSBjaGFyYWN0ZXJzIHRvIHRyaW0uXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSB0cmltbWVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50cmltRW5kKCcgIGFiYyAgJyk7XG4gICAgICogLy8gPT4gJyAgYWJjJ1xuICAgICAqXG4gICAgICogXy50cmltRW5kKCctXy1hYmMtXy0nLCAnXy0nKTtcbiAgICAgKiAvLyA9PiAnLV8tYWJjJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRyaW1FbmQoc3RyaW5nLCBjaGFycywgZ3VhcmQpIHtcbiAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICBpZiAoc3RyaW5nICYmIChndWFyZCB8fCBjaGFycyA9PT0gdW5kZWZpbmVkKSkge1xuICAgICAgICByZXR1cm4gc3RyaW5nLnJlcGxhY2UocmVUcmltRW5kLCAnJyk7XG4gICAgICB9XG4gICAgICBpZiAoIXN0cmluZyB8fCAhKGNoYXJzID0gYmFzZVRvU3RyaW5nKGNoYXJzKSkpIHtcbiAgICAgICAgcmV0dXJuIHN0cmluZztcbiAgICAgIH1cbiAgICAgIHZhciBzdHJTeW1ib2xzID0gc3RyaW5nVG9BcnJheShzdHJpbmcpLFxuICAgICAgICAgIGVuZCA9IGNoYXJzRW5kSW5kZXgoc3RyU3ltYm9scywgc3RyaW5nVG9BcnJheShjaGFycykpICsgMTtcblxuICAgICAgcmV0dXJuIGNhc3RTbGljZShzdHJTeW1ib2xzLCAwLCBlbmQpLmpvaW4oJycpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgbGVhZGluZyB3aGl0ZXNwYWNlIG9yIHNwZWNpZmllZCBjaGFyYWN0ZXJzIGZyb20gYHN0cmluZ2AuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gdHJpbS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2NoYXJzPXdoaXRlc3BhY2VdIFRoZSBjaGFyYWN0ZXJzIHRvIHRyaW0uXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSB0cmltbWVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50cmltU3RhcnQoJyAgYWJjICAnKTtcbiAgICAgKiAvLyA9PiAnYWJjICAnXG4gICAgICpcbiAgICAgKiBfLnRyaW1TdGFydCgnLV8tYWJjLV8tJywgJ18tJyk7XG4gICAgICogLy8gPT4gJ2FiYy1fLSdcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0cmltU3RhcnQoc3RyaW5nLCBjaGFycywgZ3VhcmQpIHtcbiAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICBpZiAoc3RyaW5nICYmIChndWFyZCB8fCBjaGFycyA9PT0gdW5kZWZpbmVkKSkge1xuICAgICAgICByZXR1cm4gc3RyaW5nLnJlcGxhY2UocmVUcmltU3RhcnQsICcnKTtcbiAgICAgIH1cbiAgICAgIGlmICghc3RyaW5nIHx8ICEoY2hhcnMgPSBiYXNlVG9TdHJpbmcoY2hhcnMpKSkge1xuICAgICAgICByZXR1cm4gc3RyaW5nO1xuICAgICAgfVxuICAgICAgdmFyIHN0clN5bWJvbHMgPSBzdHJpbmdUb0FycmF5KHN0cmluZyksXG4gICAgICAgICAgc3RhcnQgPSBjaGFyc1N0YXJ0SW5kZXgoc3RyU3ltYm9scywgc3RyaW5nVG9BcnJheShjaGFycykpO1xuXG4gICAgICByZXR1cm4gY2FzdFNsaWNlKHN0clN5bWJvbHMsIHN0YXJ0KS5qb2luKCcnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcnVuY2F0ZXMgYHN0cmluZ2AgaWYgaXQncyBsb25nZXIgdGhhbiB0aGUgZ2l2ZW4gbWF4aW11bSBzdHJpbmcgbGVuZ3RoLlxuICAgICAqIFRoZSBsYXN0IGNoYXJhY3RlcnMgb2YgdGhlIHRydW5jYXRlZCBzdHJpbmcgYXJlIHJlcGxhY2VkIHdpdGggdGhlIG9taXNzaW9uXG4gICAgICogc3RyaW5nIHdoaWNoIGRlZmF1bHRzIHRvIFwiLi4uXCIuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gdHJ1bmNhdGUuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zPXt9XSBUaGUgb3B0aW9ucyBvYmplY3QuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtvcHRpb25zLmxlbmd0aD0zMF0gVGhlIG1heGltdW0gc3RyaW5nIGxlbmd0aC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMub21pc3Npb249Jy4uLiddIFRoZSBzdHJpbmcgdG8gaW5kaWNhdGUgdGV4dCBpcyBvbWl0dGVkLlxuICAgICAqIEBwYXJhbSB7UmVnRXhwfHN0cmluZ30gW29wdGlvbnMuc2VwYXJhdG9yXSBUaGUgc2VwYXJhdG9yIHBhdHRlcm4gdG8gdHJ1bmNhdGUgdG8uXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgdHJ1bmNhdGVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50cnVuY2F0ZSgnaGktZGlkZGx5LWhvIHRoZXJlLCBuZWlnaGJvcmlubycpO1xuICAgICAqIC8vID0+ICdoaS1kaWRkbHktaG8gdGhlcmUsIG5laWdoYm8uLi4nXG4gICAgICpcbiAgICAgKiBfLnRydW5jYXRlKCdoaS1kaWRkbHktaG8gdGhlcmUsIG5laWdoYm9yaW5vJywge1xuICAgICAqICAgJ2xlbmd0aCc6IDI0LFxuICAgICAqICAgJ3NlcGFyYXRvcic6ICcgJ1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+ICdoaS1kaWRkbHktaG8gdGhlcmUsLi4uJ1xuICAgICAqXG4gICAgICogXy50cnVuY2F0ZSgnaGktZGlkZGx5LWhvIHRoZXJlLCBuZWlnaGJvcmlubycsIHtcbiAgICAgKiAgICdsZW5ndGgnOiAyNCxcbiAgICAgKiAgICdzZXBhcmF0b3InOiAvLD8gKy9cbiAgICAgKiB9KTtcbiAgICAgKiAvLyA9PiAnaGktZGlkZGx5LWhvIHRoZXJlLi4uJ1xuICAgICAqXG4gICAgICogXy50cnVuY2F0ZSgnaGktZGlkZGx5LWhvIHRoZXJlLCBuZWlnaGJvcmlubycsIHtcbiAgICAgKiAgICdvbWlzc2lvbic6ICcgWy4uLl0nXG4gICAgICogfSk7XG4gICAgICogLy8gPT4gJ2hpLWRpZGRseS1obyB0aGVyZSwgbmVpZyBbLi4uXSdcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0cnVuY2F0ZShzdHJpbmcsIG9wdGlvbnMpIHtcbiAgICAgIHZhciBsZW5ndGggPSBERUZBVUxUX1RSVU5DX0xFTkdUSCxcbiAgICAgICAgICBvbWlzc2lvbiA9IERFRkFVTFRfVFJVTkNfT01JU1NJT047XG5cbiAgICAgIGlmIChpc09iamVjdChvcHRpb25zKSkge1xuICAgICAgICB2YXIgc2VwYXJhdG9yID0gJ3NlcGFyYXRvcicgaW4gb3B0aW9ucyA/IG9wdGlvbnMuc2VwYXJhdG9yIDogc2VwYXJhdG9yO1xuICAgICAgICBsZW5ndGggPSAnbGVuZ3RoJyBpbiBvcHRpb25zID8gdG9JbnRlZ2VyKG9wdGlvbnMubGVuZ3RoKSA6IGxlbmd0aDtcbiAgICAgICAgb21pc3Npb24gPSAnb21pc3Npb24nIGluIG9wdGlvbnMgPyBiYXNlVG9TdHJpbmcob3B0aW9ucy5vbWlzc2lvbikgOiBvbWlzc2lvbjtcbiAgICAgIH1cbiAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG5cbiAgICAgIHZhciBzdHJMZW5ndGggPSBzdHJpbmcubGVuZ3RoO1xuICAgICAgaWYgKGhhc1VuaWNvZGUoc3RyaW5nKSkge1xuICAgICAgICB2YXIgc3RyU3ltYm9scyA9IHN0cmluZ1RvQXJyYXkoc3RyaW5nKTtcbiAgICAgICAgc3RyTGVuZ3RoID0gc3RyU3ltYm9scy5sZW5ndGg7XG4gICAgICB9XG4gICAgICBpZiAobGVuZ3RoID49IHN0ckxlbmd0aCkge1xuICAgICAgICByZXR1cm4gc3RyaW5nO1xuICAgICAgfVxuICAgICAgdmFyIGVuZCA9IGxlbmd0aCAtIHN0cmluZ1NpemUob21pc3Npb24pO1xuICAgICAgaWYgKGVuZCA8IDEpIHtcbiAgICAgICAgcmV0dXJuIG9taXNzaW9uO1xuICAgICAgfVxuICAgICAgdmFyIHJlc3VsdCA9IHN0clN5bWJvbHNcbiAgICAgICAgPyBjYXN0U2xpY2Uoc3RyU3ltYm9scywgMCwgZW5kKS5qb2luKCcnKVxuICAgICAgICA6IHN0cmluZy5zbGljZSgwLCBlbmQpO1xuXG4gICAgICBpZiAoc2VwYXJhdG9yID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdCArIG9taXNzaW9uO1xuICAgICAgfVxuICAgICAgaWYgKHN0clN5bWJvbHMpIHtcbiAgICAgICAgZW5kICs9IChyZXN1bHQubGVuZ3RoIC0gZW5kKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc1JlZ0V4cChzZXBhcmF0b3IpKSB7XG4gICAgICAgIGlmIChzdHJpbmcuc2xpY2UoZW5kKS5zZWFyY2goc2VwYXJhdG9yKSkge1xuICAgICAgICAgIHZhciBtYXRjaCxcbiAgICAgICAgICAgICAgc3Vic3RyaW5nID0gcmVzdWx0O1xuXG4gICAgICAgICAgaWYgKCFzZXBhcmF0b3IuZ2xvYmFsKSB7XG4gICAgICAgICAgICBzZXBhcmF0b3IgPSBSZWdFeHAoc2VwYXJhdG9yLnNvdXJjZSwgdG9TdHJpbmcocmVGbGFncy5leGVjKHNlcGFyYXRvcikpICsgJ2cnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc2VwYXJhdG9yLmxhc3RJbmRleCA9IDA7XG4gICAgICAgICAgd2hpbGUgKChtYXRjaCA9IHNlcGFyYXRvci5leGVjKHN1YnN0cmluZykpKSB7XG4gICAgICAgICAgICB2YXIgbmV3RW5kID0gbWF0Y2guaW5kZXg7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5zbGljZSgwLCBuZXdFbmQgPT09IHVuZGVmaW5lZCA/IGVuZCA6IG5ld0VuZCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoc3RyaW5nLmluZGV4T2YoYmFzZVRvU3RyaW5nKHNlcGFyYXRvciksIGVuZCkgIT0gZW5kKSB7XG4gICAgICAgIHZhciBpbmRleCA9IHJlc3VsdC5sYXN0SW5kZXhPZihzZXBhcmF0b3IpO1xuICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5zbGljZSgwLCBpbmRleCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQgKyBvbWlzc2lvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgaW52ZXJzZSBvZiBgXy5lc2NhcGVgOyB0aGlzIG1ldGhvZCBjb252ZXJ0cyB0aGUgSFRNTCBlbnRpdGllc1xuICAgICAqIGAmYW1wO2AsIGAmbHQ7YCwgYCZndDtgLCBgJnF1b3Q7YCwgYW5kIGAmIzM5O2AgaW4gYHN0cmluZ2AgdG9cbiAgICAgKiB0aGVpciBjb3JyZXNwb25kaW5nIGNoYXJhY3RlcnMuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogTm8gb3RoZXIgSFRNTCBlbnRpdGllcyBhcmUgdW5lc2NhcGVkLiBUbyB1bmVzY2FwZSBhZGRpdGlvbmFsXG4gICAgICogSFRNTCBlbnRpdGllcyB1c2UgYSB0aGlyZC1wYXJ0eSBsaWJyYXJ5IGxpa2UgW19oZV9dKGh0dHBzOi8vbXRocy5iZS9oZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC42LjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gdW5lc2NhcGUuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgdW5lc2NhcGVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy51bmVzY2FwZSgnZnJlZCwgYmFybmV5LCAmYW1wOyBwZWJibGVzJyk7XG4gICAgICogLy8gPT4gJ2ZyZWQsIGJhcm5leSwgJiBwZWJibGVzJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHVuZXNjYXBlKHN0cmluZykge1xuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIHJldHVybiAoc3RyaW5nICYmIHJlSGFzRXNjYXBlZEh0bWwudGVzdChzdHJpbmcpKVxuICAgICAgICA/IHN0cmluZy5yZXBsYWNlKHJlRXNjYXBlZEh0bWwsIHVuZXNjYXBlSHRtbENoYXIpXG4gICAgICAgIDogc3RyaW5nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGBzdHJpbmdgLCBhcyBzcGFjZSBzZXBhcmF0ZWQgd29yZHMsIHRvIHVwcGVyIGNhc2UuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSB1cHBlciBjYXNlZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udXBwZXJDYXNlKCctLWZvby1iYXInKTtcbiAgICAgKiAvLyA9PiAnRk9PIEJBUidcbiAgICAgKlxuICAgICAqIF8udXBwZXJDYXNlKCdmb29CYXInKTtcbiAgICAgKiAvLyA9PiAnRk9PIEJBUidcbiAgICAgKlxuICAgICAqIF8udXBwZXJDYXNlKCdfX2Zvb19iYXJfXycpO1xuICAgICAqIC8vID0+ICdGT08gQkFSJ1xuICAgICAqL1xuICAgIHZhciB1cHBlckNhc2UgPSBjcmVhdGVDb21wb3VuZGVyKGZ1bmN0aW9uKHJlc3VsdCwgd29yZCwgaW5kZXgpIHtcbiAgICAgIHJldHVybiByZXN1bHQgKyAoaW5kZXggPyAnICcgOiAnJykgKyB3b3JkLnRvVXBwZXJDYXNlKCk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIGBzdHJpbmdgIHRvIHVwcGVyIGNhc2UuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnVwcGVyRmlyc3QoJ2ZyZWQnKTtcbiAgICAgKiAvLyA9PiAnRnJlZCdcbiAgICAgKlxuICAgICAqIF8udXBwZXJGaXJzdCgnRlJFRCcpO1xuICAgICAqIC8vID0+ICdGUkVEJ1xuICAgICAqL1xuICAgIHZhciB1cHBlckZpcnN0ID0gY3JlYXRlQ2FzZUZpcnN0KCd0b1VwcGVyQ2FzZScpO1xuXG4gICAgLyoqXG4gICAgICogU3BsaXRzIGBzdHJpbmdgIGludG8gYW4gYXJyYXkgb2YgaXRzIHdvcmRzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtSZWdFeHB8c3RyaW5nfSBbcGF0dGVybl0gVGhlIHBhdHRlcm4gdG8gbWF0Y2ggd29yZHMuXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHdvcmRzIG9mIGBzdHJpbmdgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLndvcmRzKCdmcmVkLCBiYXJuZXksICYgcGViYmxlcycpO1xuICAgICAqIC8vID0+IFsnZnJlZCcsICdiYXJuZXknLCAncGViYmxlcyddXG4gICAgICpcbiAgICAgKiBfLndvcmRzKCdmcmVkLCBiYXJuZXksICYgcGViYmxlcycsIC9bXiwgXSsvZyk7XG4gICAgICogLy8gPT4gWydmcmVkJywgJ2Jhcm5leScsICcmJywgJ3BlYmJsZXMnXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHdvcmRzKHN0cmluZywgcGF0dGVybiwgZ3VhcmQpIHtcbiAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICBwYXR0ZXJuID0gZ3VhcmQgPyB1bmRlZmluZWQgOiBwYXR0ZXJuO1xuXG4gICAgICBpZiAocGF0dGVybiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBoYXNVbmljb2RlV29yZChzdHJpbmcpID8gdW5pY29kZVdvcmRzKHN0cmluZykgOiBhc2NpaVdvcmRzKHN0cmluZyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RyaW5nLm1hdGNoKHBhdHRlcm4pIHx8IFtdO1xuICAgIH1cblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqIEF0dGVtcHRzIHRvIGludm9rZSBgZnVuY2AsIHJldHVybmluZyBlaXRoZXIgdGhlIHJlc3VsdCBvciB0aGUgY2F1Z2h0IGVycm9yXG4gICAgICogb2JqZWN0LiBBbnkgYWRkaXRpb25hbCBhcmd1bWVudHMgYXJlIHByb3ZpZGVkIHRvIGBmdW5jYCB3aGVuIGl0J3MgaW52b2tlZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gYXR0ZW1wdC5cbiAgICAgKiBAcGFyYW0gey4uLip9IFthcmdzXSBUaGUgYXJndW1lbnRzIHRvIGludm9rZSBgZnVuY2Agd2l0aC5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgYGZ1bmNgIHJlc3VsdCBvciBlcnJvciBvYmplY3QuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIC8vIEF2b2lkIHRocm93aW5nIGVycm9ycyBmb3IgaW52YWxpZCBzZWxlY3RvcnMuXG4gICAgICogdmFyIGVsZW1lbnRzID0gXy5hdHRlbXB0KGZ1bmN0aW9uKHNlbGVjdG9yKSB7XG4gICAgICogICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7XG4gICAgICogfSwgJz5fPicpO1xuICAgICAqXG4gICAgICogaWYgKF8uaXNFcnJvcihlbGVtZW50cykpIHtcbiAgICAgKiAgIGVsZW1lbnRzID0gW107XG4gICAgICogfVxuICAgICAqL1xuICAgIHZhciBhdHRlbXB0ID0gYmFzZVJlc3QoZnVuY3Rpb24oZnVuYywgYXJncykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGFwcGx5KGZ1bmMsIHVuZGVmaW5lZCwgYXJncyk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiBpc0Vycm9yKGUpID8gZSA6IG5ldyBFcnJvcihlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIEJpbmRzIG1ldGhvZHMgb2YgYW4gb2JqZWN0IHRvIHRoZSBvYmplY3QgaXRzZWxmLCBvdmVyd3JpdGluZyB0aGUgZXhpc3RpbmdcbiAgICAgKiBtZXRob2QuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgZG9lc24ndCBzZXQgdGhlIFwibGVuZ3RoXCIgcHJvcGVydHkgb2YgYm91bmQgZnVuY3Rpb25zLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gYmluZCBhbmQgYXNzaWduIHRoZSBib3VuZCBtZXRob2RzIHRvLlxuICAgICAqIEBwYXJhbSB7Li4uKHN0cmluZ3xzdHJpbmdbXSl9IG1ldGhvZE5hbWVzIFRoZSBvYmplY3QgbWV0aG9kIG5hbWVzIHRvIGJpbmQuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHZpZXcgPSB7XG4gICAgICogICAnbGFiZWwnOiAnZG9jcycsXG4gICAgICogICAnY2xpY2snOiBmdW5jdGlvbigpIHtcbiAgICAgKiAgICAgY29uc29sZS5sb2coJ2NsaWNrZWQgJyArIHRoaXMubGFiZWwpO1xuICAgICAqICAgfVxuICAgICAqIH07XG4gICAgICpcbiAgICAgKiBfLmJpbmRBbGwodmlldywgWydjbGljayddKTtcbiAgICAgKiBqUXVlcnkoZWxlbWVudCkub24oJ2NsaWNrJywgdmlldy5jbGljayk7XG4gICAgICogLy8gPT4gTG9ncyAnY2xpY2tlZCBkb2NzJyB3aGVuIGNsaWNrZWQuXG4gICAgICovXG4gICAgdmFyIGJpbmRBbGwgPSBmbGF0UmVzdChmdW5jdGlvbihvYmplY3QsIG1ldGhvZE5hbWVzKSB7XG4gICAgICBhcnJheUVhY2gobWV0aG9kTmFtZXMsIGZ1bmN0aW9uKGtleSkge1xuICAgICAgICBrZXkgPSB0b0tleShrZXkpO1xuICAgICAgICBiYXNlQXNzaWduVmFsdWUob2JqZWN0LCBrZXksIGJpbmQob2JqZWN0W2tleV0sIG9iamVjdCkpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gb2JqZWN0O1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaXRlcmF0ZXMgb3ZlciBgcGFpcnNgIGFuZCBpbnZva2VzIHRoZSBjb3JyZXNwb25kaW5nXG4gICAgICogZnVuY3Rpb24gb2YgdGhlIGZpcnN0IHByZWRpY2F0ZSB0byByZXR1cm4gdHJ1dGh5LiBUaGUgcHJlZGljYXRlLWZ1bmN0aW9uXG4gICAgICogcGFpcnMgYXJlIGludm9rZWQgd2l0aCB0aGUgYHRoaXNgIGJpbmRpbmcgYW5kIGFyZ3VtZW50cyBvZiB0aGUgY3JlYXRlZFxuICAgICAqIGZ1bmN0aW9uLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBwYWlycyBUaGUgcHJlZGljYXRlLWZ1bmN0aW9uIHBhaXJzLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGNvbXBvc2l0ZSBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGZ1bmMgPSBfLmNvbmQoW1xuICAgICAqICAgW18ubWF0Y2hlcyh7ICdhJzogMSB9KSwgICAgICAgICAgIF8uY29uc3RhbnQoJ21hdGNoZXMgQScpXSxcbiAgICAgKiAgIFtfLmNvbmZvcm1zKHsgJ2InOiBfLmlzTnVtYmVyIH0pLCBfLmNvbnN0YW50KCdtYXRjaGVzIEInKV0sXG4gICAgICogICBbXy5zdHViVHJ1ZSwgICAgICAgICAgICAgICAgICAgICAgXy5jb25zdGFudCgnbm8gbWF0Y2gnKV1cbiAgICAgKiBdKTtcbiAgICAgKlxuICAgICAqIGZ1bmMoeyAnYSc6IDEsICdiJzogMiB9KTtcbiAgICAgKiAvLyA9PiAnbWF0Y2hlcyBBJ1xuICAgICAqXG4gICAgICogZnVuYyh7ICdhJzogMCwgJ2InOiAxIH0pO1xuICAgICAqIC8vID0+ICdtYXRjaGVzIEInXG4gICAgICpcbiAgICAgKiBmdW5jKHsgJ2EnOiAnMScsICdiJzogJzInIH0pO1xuICAgICAqIC8vID0+ICdubyBtYXRjaCdcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjb25kKHBhaXJzKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gcGFpcnMgPT0gbnVsbCA/IDAgOiBwYWlycy5sZW5ndGgsXG4gICAgICAgICAgdG9JdGVyYXRlZSA9IGdldEl0ZXJhdGVlKCk7XG5cbiAgICAgIHBhaXJzID0gIWxlbmd0aCA/IFtdIDogYXJyYXlNYXAocGFpcnMsIGZ1bmN0aW9uKHBhaXIpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBwYWlyWzFdICE9ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFt0b0l0ZXJhdGVlKHBhaXJbMF0pLCBwYWlyWzFdXTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gYmFzZVJlc3QoZnVuY3Rpb24oYXJncykge1xuICAgICAgICB2YXIgaW5kZXggPSAtMTtcbiAgICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICB2YXIgcGFpciA9IHBhaXJzW2luZGV4XTtcbiAgICAgICAgICBpZiAoYXBwbHkocGFpclswXSwgdGhpcywgYXJncykpIHtcbiAgICAgICAgICAgIHJldHVybiBhcHBseShwYWlyWzFdLCB0aGlzLCBhcmdzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGludm9rZXMgdGhlIHByZWRpY2F0ZSBwcm9wZXJ0aWVzIG9mIGBzb3VyY2VgIHdpdGhcbiAgICAgKiB0aGUgY29ycmVzcG9uZGluZyBwcm9wZXJ0eSB2YWx1ZXMgb2YgYSBnaXZlbiBvYmplY3QsIHJldHVybmluZyBgdHJ1ZWAgaWZcbiAgICAgKiBhbGwgcHJlZGljYXRlcyByZXR1cm4gdHJ1dGh5LCBlbHNlIGBmYWxzZWAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhlIGNyZWF0ZWQgZnVuY3Rpb24gaXMgZXF1aXZhbGVudCB0byBgXy5jb25mb3Jtc1RvYCB3aXRoXG4gICAgICogYHNvdXJjZWAgcGFydGlhbGx5IGFwcGxpZWQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIG9iamVjdCBvZiBwcm9wZXJ0eSBwcmVkaWNhdGVzIHRvIGNvbmZvcm0gdG8uXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgc3BlYyBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbXG4gICAgICogICB7ICdhJzogMiwgJ2InOiAxIH0sXG4gICAgICogICB7ICdhJzogMSwgJ2InOiAyIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogXy5maWx0ZXIob2JqZWN0cywgXy5jb25mb3Jtcyh7ICdiJzogZnVuY3Rpb24obikgeyByZXR1cm4gbiA+IDE7IH0gfSkpO1xuICAgICAqIC8vID0+IFt7ICdhJzogMSwgJ2InOiAyIH1dXG4gICAgICovXG4gICAgZnVuY3Rpb24gY29uZm9ybXMoc291cmNlKSB7XG4gICAgICByZXR1cm4gYmFzZUNvbmZvcm1zKGJhc2VDbG9uZShzb3VyY2UsIENMT05FX0RFRVBfRkxBRykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYHZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAyLjQuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcmV0dXJuIGZyb20gdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBjb25zdGFudCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBfLnRpbWVzKDIsIF8uY29uc3RhbnQoeyAnYSc6IDEgfSkpO1xuICAgICAqXG4gICAgICogY29uc29sZS5sb2cob2JqZWN0cyk7XG4gICAgICogLy8gPT4gW3sgJ2EnOiAxIH0sIHsgJ2EnOiAxIH1dXG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhvYmplY3RzWzBdID09PSBvYmplY3RzWzFdKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICovXG4gICAgZnVuY3Rpb24gY29uc3RhbnQodmFsdWUpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgYHZhbHVlYCB0byBkZXRlcm1pbmUgd2hldGhlciBhIGRlZmF1bHQgdmFsdWUgc2hvdWxkIGJlIHJldHVybmVkIGluXG4gICAgICogaXRzIHBsYWNlLiBUaGUgYGRlZmF1bHRWYWx1ZWAgaXMgcmV0dXJuZWQgaWYgYHZhbHVlYCBpcyBgTmFOYCwgYG51bGxgLFxuICAgICAqIG9yIGB1bmRlZmluZWRgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMTQuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHBhcmFtIHsqfSBkZWZhdWx0VmFsdWUgVGhlIGRlZmF1bHQgdmFsdWUuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJlc29sdmVkIHZhbHVlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmRlZmF1bHRUbygxLCAxMCk7XG4gICAgICogLy8gPT4gMVxuICAgICAqXG4gICAgICogXy5kZWZhdWx0VG8odW5kZWZpbmVkLCAxMCk7XG4gICAgICogLy8gPT4gMTBcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBkZWZhdWx0VG8odmFsdWUsIGRlZmF1bHRWYWx1ZSkge1xuICAgICAgcmV0dXJuICh2YWx1ZSA9PSBudWxsIHx8IHZhbHVlICE9PSB2YWx1ZSkgPyBkZWZhdWx0VmFsdWUgOiB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSByZXN1bHQgb2YgaW52b2tpbmcgdGhlIGdpdmVuIGZ1bmN0aW9uc1xuICAgICAqIHdpdGggdGhlIGB0aGlzYCBiaW5kaW5nIG9mIHRoZSBjcmVhdGVkIGZ1bmN0aW9uLCB3aGVyZSBlYWNoIHN1Y2Nlc3NpdmVcbiAgICAgKiBpbnZvY2F0aW9uIGlzIHN1cHBsaWVkIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIHByZXZpb3VzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0gey4uLihGdW5jdGlvbnxGdW5jdGlvbltdKX0gW2Z1bmNzXSBUaGUgZnVuY3Rpb25zIHRvIGludm9rZS5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBjb21wb3NpdGUgZnVuY3Rpb24uXG4gICAgICogQHNlZSBfLmZsb3dSaWdodFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBzcXVhcmUobikge1xuICAgICAqICAgcmV0dXJuIG4gKiBuO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIHZhciBhZGRTcXVhcmUgPSBfLmZsb3coW18uYWRkLCBzcXVhcmVdKTtcbiAgICAgKiBhZGRTcXVhcmUoMSwgMik7XG4gICAgICogLy8gPT4gOVxuICAgICAqL1xuICAgIHZhciBmbG93ID0gY3JlYXRlRmxvdygpO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5mbG93YCBleGNlcHQgdGhhdCBpdCBjcmVhdGVzIGEgZnVuY3Rpb24gdGhhdFxuICAgICAqIGludm9rZXMgdGhlIGdpdmVuIGZ1bmN0aW9ucyBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7Li4uKEZ1bmN0aW9ufEZ1bmN0aW9uW10pfSBbZnVuY3NdIFRoZSBmdW5jdGlvbnMgdG8gaW52b2tlLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGNvbXBvc2l0ZSBmdW5jdGlvbi5cbiAgICAgKiBAc2VlIF8uZmxvd1xuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBzcXVhcmUobikge1xuICAgICAqICAgcmV0dXJuIG4gKiBuO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIHZhciBhZGRTcXVhcmUgPSBfLmZsb3dSaWdodChbc3F1YXJlLCBfLmFkZF0pO1xuICAgICAqIGFkZFNxdWFyZSgxLCAyKTtcbiAgICAgKiAvLyA9PiA5XG4gICAgICovXG4gICAgdmFyIGZsb3dSaWdodCA9IGNyZWF0ZUZsb3codHJ1ZSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCByZXR1cm5zIHRoZSBmaXJzdCBhcmd1bWVudCBpdCByZWNlaXZlcy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBBbnkgdmFsdWUuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgYHZhbHVlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxIH07XG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhfLmlkZW50aXR5KG9iamVjdCkgPT09IG9iamVjdCk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlkZW50aXR5KHZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlcyBgZnVuY2Agd2l0aCB0aGUgYXJndW1lbnRzIG9mIHRoZSBjcmVhdGVkXG4gICAgICogZnVuY3Rpb24uIElmIGBmdW5jYCBpcyBhIHByb3BlcnR5IG5hbWUsIHRoZSBjcmVhdGVkIGZ1bmN0aW9uIHJldHVybnMgdGhlXG4gICAgICogcHJvcGVydHkgdmFsdWUgZm9yIGEgZ2l2ZW4gZWxlbWVudC4gSWYgYGZ1bmNgIGlzIGFuIGFycmF5IG9yIG9iamVjdCwgdGhlXG4gICAgICogY3JlYXRlZCBmdW5jdGlvbiByZXR1cm5zIGB0cnVlYCBmb3IgZWxlbWVudHMgdGhhdCBjb250YWluIHRoZSBlcXVpdmFsZW50XG4gICAgICogc291cmNlIHByb3BlcnRpZXMsIG90aGVyd2lzZSBpdCByZXR1cm5zIGBmYWxzZWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7Kn0gW2Z1bmM9Xy5pZGVudGl0eV0gVGhlIHZhbHVlIHRvIGNvbnZlcnQgdG8gYSBjYWxsYmFjay5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIGNhbGxiYWNrLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICdhZ2UnOiAzNiwgJ2FjdGl2ZSc6IHRydWUgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgJ2FnZSc6IDQwLCAnYWN0aXZlJzogZmFsc2UgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc2AgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmlsdGVyKHVzZXJzLCBfLml0ZXJhdGVlKHsgJ3VzZXInOiAnYmFybmV5JywgJ2FjdGl2ZSc6IHRydWUgfSkpO1xuICAgICAqIC8vID0+IFt7ICd1c2VyJzogJ2Jhcm5leScsICdhZ2UnOiAzNiwgJ2FjdGl2ZSc6IHRydWUgfV1cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzUHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbHRlcih1c2VycywgXy5pdGVyYXRlZShbJ3VzZXInLCAnZnJlZCddKSk7XG4gICAgICogLy8gPT4gW3sgJ3VzZXInOiAnZnJlZCcsICdhZ2UnOiA0MCB9XVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5tYXAodXNlcnMsIF8uaXRlcmF0ZWUoJ3VzZXInKSk7XG4gICAgICogLy8gPT4gWydiYXJuZXknLCAnZnJlZCddXG4gICAgICpcbiAgICAgKiAvLyBDcmVhdGUgY3VzdG9tIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICogXy5pdGVyYXRlZSA9IF8ud3JhcChfLml0ZXJhdGVlLCBmdW5jdGlvbihpdGVyYXRlZSwgZnVuYykge1xuICAgICAqICAgcmV0dXJuICFfLmlzUmVnRXhwKGZ1bmMpID8gaXRlcmF0ZWUoZnVuYykgOiBmdW5jdGlvbihzdHJpbmcpIHtcbiAgICAgKiAgICAgcmV0dXJuIGZ1bmMudGVzdChzdHJpbmcpO1xuICAgICAqICAgfTtcbiAgICAgKiB9KTtcbiAgICAgKlxuICAgICAqIF8uZmlsdGVyKFsnYWJjJywgJ2RlZiddLCAvZWYvKTtcbiAgICAgKiAvLyA9PiBbJ2RlZiddXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXRlcmF0ZWUoZnVuYykge1xuICAgICAgcmV0dXJuIGJhc2VJdGVyYXRlZSh0eXBlb2YgZnVuYyA9PSAnZnVuY3Rpb24nID8gZnVuYyA6IGJhc2VDbG9uZShmdW5jLCBDTE9ORV9ERUVQX0ZMQUcpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBwZXJmb3JtcyBhIHBhcnRpYWwgZGVlcCBjb21wYXJpc29uIGJldHdlZW4gYSBnaXZlblxuICAgICAqIG9iamVjdCBhbmQgYHNvdXJjZWAsIHJldHVybmluZyBgdHJ1ZWAgaWYgdGhlIGdpdmVuIG9iamVjdCBoYXMgZXF1aXZhbGVudFxuICAgICAqIHByb3BlcnR5IHZhbHVlcywgZWxzZSBgZmFsc2VgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoZSBjcmVhdGVkIGZ1bmN0aW9uIGlzIGVxdWl2YWxlbnQgdG8gYF8uaXNNYXRjaGAgd2l0aCBgc291cmNlYFxuICAgICAqIHBhcnRpYWxseSBhcHBsaWVkLlxuICAgICAqXG4gICAgICogUGFydGlhbCBjb21wYXJpc29ucyB3aWxsIG1hdGNoIGVtcHR5IGFycmF5IGFuZCBlbXB0eSBvYmplY3QgYHNvdXJjZWBcbiAgICAgKiB2YWx1ZXMgYWdhaW5zdCBhbnkgYXJyYXkgb3Igb2JqZWN0IHZhbHVlLCByZXNwZWN0aXZlbHkuIFNlZSBgXy5pc0VxdWFsYFxuICAgICAqIGZvciBhIGxpc3Qgb2Ygc3VwcG9ydGVkIHZhbHVlIGNvbXBhcmlzb25zLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBvYmplY3Qgb2YgcHJvcGVydHkgdmFsdWVzIHRvIG1hdGNoLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHNwZWMgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gW1xuICAgICAqICAgeyAnYSc6IDEsICdiJzogMiwgJ2MnOiAzIH0sXG4gICAgICogICB7ICdhJzogNCwgJ2InOiA1LCAnYyc6IDYgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLmZpbHRlcihvYmplY3RzLCBfLm1hdGNoZXMoeyAnYSc6IDQsICdjJzogNiB9KSk7XG4gICAgICogLy8gPT4gW3sgJ2EnOiA0LCAnYic6IDUsICdjJzogNiB9XVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1hdGNoZXMoc291cmNlKSB7XG4gICAgICByZXR1cm4gYmFzZU1hdGNoZXMoYmFzZUNsb25lKHNvdXJjZSwgQ0xPTkVfREVFUF9GTEFHKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgcGVyZm9ybXMgYSBwYXJ0aWFsIGRlZXAgY29tcGFyaXNvbiBiZXR3ZWVuIHRoZVxuICAgICAqIHZhbHVlIGF0IGBwYXRoYCBvZiBhIGdpdmVuIG9iamVjdCB0byBgc3JjVmFsdWVgLCByZXR1cm5pbmcgYHRydWVgIGlmIHRoZVxuICAgICAqIG9iamVjdCB2YWx1ZSBpcyBlcXVpdmFsZW50LCBlbHNlIGBmYWxzZWAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogUGFydGlhbCBjb21wYXJpc29ucyB3aWxsIG1hdGNoIGVtcHR5IGFycmF5IGFuZCBlbXB0eSBvYmplY3RcbiAgICAgKiBgc3JjVmFsdWVgIHZhbHVlcyBhZ2FpbnN0IGFueSBhcnJheSBvciBvYmplY3QgdmFsdWUsIHJlc3BlY3RpdmVseS4gU2VlXG4gICAgICogYF8uaXNFcXVhbGAgZm9yIGEgbGlzdCBvZiBzdXBwb3J0ZWQgdmFsdWUgY29tcGFyaXNvbnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4yLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gICAgICogQHBhcmFtIHsqfSBzcmNWYWx1ZSBUaGUgdmFsdWUgdG8gbWF0Y2guXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgc3BlYyBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbXG4gICAgICogICB7ICdhJzogMSwgJ2InOiAyLCAnYyc6IDMgfSxcbiAgICAgKiAgIHsgJ2EnOiA0LCAnYic6IDUsICdjJzogNiB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8uZmluZChvYmplY3RzLCBfLm1hdGNoZXNQcm9wZXJ0eSgnYScsIDQpKTtcbiAgICAgKiAvLyA9PiB7ICdhJzogNCwgJ2InOiA1LCAnYyc6IDYgfVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1hdGNoZXNQcm9wZXJ0eShwYXRoLCBzcmNWYWx1ZSkge1xuICAgICAgcmV0dXJuIGJhc2VNYXRjaGVzUHJvcGVydHkocGF0aCwgYmFzZUNsb25lKHNyY1ZhbHVlLCBDTE9ORV9ERUVQX0ZMQUcpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzIHRoZSBtZXRob2QgYXQgYHBhdGhgIG9mIGEgZ2l2ZW4gb2JqZWN0LlxuICAgICAqIEFueSBhZGRpdGlvbmFsIGFyZ3VtZW50cyBhcmUgcHJvdmlkZWQgdG8gdGhlIGludm9rZWQgbWV0aG9kLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuNy4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgbWV0aG9kIHRvIGludm9rZS5cbiAgICAgKiBAcGFyYW0gey4uLip9IFthcmdzXSBUaGUgYXJndW1lbnRzIHRvIGludm9rZSB0aGUgbWV0aG9kIHdpdGguXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgaW52b2tlciBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbXG4gICAgICogICB7ICdhJzogeyAnYic6IF8uY29uc3RhbnQoMikgfSB9LFxuICAgICAqICAgeyAnYSc6IHsgJ2InOiBfLmNvbnN0YW50KDEpIH0gfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLm1hcChvYmplY3RzLCBfLm1ldGhvZCgnYS5iJykpO1xuICAgICAqIC8vID0+IFsyLCAxXVxuICAgICAqXG4gICAgICogXy5tYXAob2JqZWN0cywgXy5tZXRob2QoWydhJywgJ2InXSkpO1xuICAgICAqIC8vID0+IFsyLCAxXVxuICAgICAqL1xuICAgIHZhciBtZXRob2QgPSBiYXNlUmVzdChmdW5jdGlvbihwYXRoLCBhcmdzKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgICAgIHJldHVybiBiYXNlSW52b2tlKG9iamVjdCwgcGF0aCwgYXJncyk7XG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG9wcG9zaXRlIG9mIGBfLm1ldGhvZGA7IHRoaXMgbWV0aG9kIGNyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGludm9rZXNcbiAgICAgKiB0aGUgbWV0aG9kIGF0IGEgZ2l2ZW4gcGF0aCBvZiBgb2JqZWN0YC4gQW55IGFkZGl0aW9uYWwgYXJndW1lbnRzIGFyZVxuICAgICAqIHByb3ZpZGVkIHRvIHRoZSBpbnZva2VkIG1ldGhvZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjcuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7Li4uKn0gW2FyZ3NdIFRoZSBhcmd1bWVudHMgdG8gaW52b2tlIHRoZSBtZXRob2Qgd2l0aC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBpbnZva2VyIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBfLnRpbWVzKDMsIF8uY29uc3RhbnQpLFxuICAgICAqICAgICBvYmplY3QgPSB7ICdhJzogYXJyYXksICdiJzogYXJyYXksICdjJzogYXJyYXkgfTtcbiAgICAgKlxuICAgICAqIF8ubWFwKFsnYVsyXScsICdjWzBdJ10sIF8ubWV0aG9kT2Yob2JqZWN0KSk7XG4gICAgICogLy8gPT4gWzIsIDBdXG4gICAgICpcbiAgICAgKiBfLm1hcChbWydhJywgJzInXSwgWydjJywgJzAnXV0sIF8ubWV0aG9kT2Yob2JqZWN0KSk7XG4gICAgICogLy8gPT4gWzIsIDBdXG4gICAgICovXG4gICAgdmFyIG1ldGhvZE9mID0gYmFzZVJlc3QoZnVuY3Rpb24ob2JqZWN0LCBhcmdzKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24ocGF0aCkge1xuICAgICAgICByZXR1cm4gYmFzZUludm9rZShvYmplY3QsIHBhdGgsIGFyZ3MpO1xuICAgICAgfTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIEFkZHMgYWxsIG93biBlbnVtZXJhYmxlIHN0cmluZyBrZXllZCBmdW5jdGlvbiBwcm9wZXJ0aWVzIG9mIGEgc291cmNlXG4gICAgICogb2JqZWN0IHRvIHRoZSBkZXN0aW5hdGlvbiBvYmplY3QuIElmIGBvYmplY3RgIGlzIGEgZnVuY3Rpb24sIHRoZW4gbWV0aG9kc1xuICAgICAqIGFyZSBhZGRlZCB0byBpdHMgcHJvdG90eXBlIGFzIHdlbGwuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVXNlIGBfLnJ1bkluQ29udGV4dGAgdG8gY3JlYXRlIGEgcHJpc3RpbmUgYGxvZGFzaGAgZnVuY3Rpb24gdG9cbiAgICAgKiBhdm9pZCBjb25mbGljdHMgY2F1c2VkIGJ5IG1vZGlmeWluZyB0aGUgb3JpZ2luYWwuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb258T2JqZWN0fSBbb2JqZWN0PWxvZGFzaF0gVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBvYmplY3Qgb2YgZnVuY3Rpb25zIHRvIGFkZC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnM9e31dIFRoZSBvcHRpb25zIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLmNoYWluPXRydWVdIFNwZWNpZnkgd2hldGhlciBtaXhpbnMgYXJlIGNoYWluYWJsZS5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb258T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiB2b3dlbHMoc3RyaW5nKSB7XG4gICAgICogICByZXR1cm4gXy5maWx0ZXIoc3RyaW5nLCBmdW5jdGlvbih2KSB7XG4gICAgICogICAgIHJldHVybiAvW2FlaW91XS9pLnRlc3Qodik7XG4gICAgICogICB9KTtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBfLm1peGluKHsgJ3Zvd2Vscyc6IHZvd2VscyB9KTtcbiAgICAgKiBfLnZvd2VscygnZnJlZCcpO1xuICAgICAqIC8vID0+IFsnZSddXG4gICAgICpcbiAgICAgKiBfKCdmcmVkJykudm93ZWxzKCkudmFsdWUoKTtcbiAgICAgKiAvLyA9PiBbJ2UnXVxuICAgICAqXG4gICAgICogXy5taXhpbih7ICd2b3dlbHMnOiB2b3dlbHMgfSwgeyAnY2hhaW4nOiBmYWxzZSB9KTtcbiAgICAgKiBfKCdmcmVkJykudm93ZWxzKCk7XG4gICAgICogLy8gPT4gWydlJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtaXhpbihvYmplY3QsIHNvdXJjZSwgb3B0aW9ucykge1xuICAgICAgdmFyIHByb3BzID0ga2V5cyhzb3VyY2UpLFxuICAgICAgICAgIG1ldGhvZE5hbWVzID0gYmFzZUZ1bmN0aW9ucyhzb3VyY2UsIHByb3BzKTtcblxuICAgICAgaWYgKG9wdGlvbnMgPT0gbnVsbCAmJlxuICAgICAgICAgICEoaXNPYmplY3Qoc291cmNlKSAmJiAobWV0aG9kTmFtZXMubGVuZ3RoIHx8ICFwcm9wcy5sZW5ndGgpKSkge1xuICAgICAgICBvcHRpb25zID0gc291cmNlO1xuICAgICAgICBzb3VyY2UgPSBvYmplY3Q7XG4gICAgICAgIG9iamVjdCA9IHRoaXM7XG4gICAgICAgIG1ldGhvZE5hbWVzID0gYmFzZUZ1bmN0aW9ucyhzb3VyY2UsIGtleXMoc291cmNlKSk7XG4gICAgICB9XG4gICAgICB2YXIgY2hhaW4gPSAhKGlzT2JqZWN0KG9wdGlvbnMpICYmICdjaGFpbicgaW4gb3B0aW9ucykgfHwgISFvcHRpb25zLmNoYWluLFxuICAgICAgICAgIGlzRnVuYyA9IGlzRnVuY3Rpb24ob2JqZWN0KTtcblxuICAgICAgYXJyYXlFYWNoKG1ldGhvZE5hbWVzLCBmdW5jdGlvbihtZXRob2ROYW1lKSB7XG4gICAgICAgIHZhciBmdW5jID0gc291cmNlW21ldGhvZE5hbWVdO1xuICAgICAgICBvYmplY3RbbWV0aG9kTmFtZV0gPSBmdW5jO1xuICAgICAgICBpZiAoaXNGdW5jKSB7XG4gICAgICAgICAgb2JqZWN0LnByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgdmFyIGNoYWluQWxsID0gdGhpcy5fX2NoYWluX187XG4gICAgICAgICAgICBpZiAoY2hhaW4gfHwgY2hhaW5BbGwpIHtcbiAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IG9iamVjdCh0aGlzLl9fd3JhcHBlZF9fKSxcbiAgICAgICAgICAgICAgICAgIGFjdGlvbnMgPSByZXN1bHQuX19hY3Rpb25zX18gPSBjb3B5QXJyYXkodGhpcy5fX2FjdGlvbnNfXyk7XG5cbiAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHsgJ2Z1bmMnOiBmdW5jLCAnYXJncyc6IGFyZ3VtZW50cywgJ3RoaXNBcmcnOiBvYmplY3QgfSk7XG4gICAgICAgICAgICAgIHJlc3VsdC5fX2NoYWluX18gPSBjaGFpbkFsbDtcbiAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmdW5jLmFwcGx5KG9iamVjdCwgYXJyYXlQdXNoKFt0aGlzLnZhbHVlKCldLCBhcmd1bWVudHMpKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXZlcnRzIHRoZSBgX2AgdmFyaWFibGUgdG8gaXRzIHByZXZpb3VzIHZhbHVlIGFuZCByZXR1cm5zIGEgcmVmZXJlbmNlIHRvXG4gICAgICogdGhlIGBsb2Rhc2hgIGZ1bmN0aW9uLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIGBsb2Rhc2hgIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgbG9kYXNoID0gXy5ub0NvbmZsaWN0KCk7XG4gICAgICovXG4gICAgZnVuY3Rpb24gbm9Db25mbGljdCgpIHtcbiAgICAgIGlmIChyb290Ll8gPT09IHRoaXMpIHtcbiAgICAgICAgcm9vdC5fID0gb2xkRGFzaDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIHJldHVybnMgYHVuZGVmaW5lZGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi4zLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRpbWVzKDIsIF8ubm9vcCk7XG4gICAgICogLy8gPT4gW3VuZGVmaW5lZCwgdW5kZWZpbmVkXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG5vb3AoKSB7XG4gICAgICAvLyBObyBvcGVyYXRpb24gcGVyZm9ybWVkLlxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGdldHMgdGhlIGFyZ3VtZW50IGF0IGluZGV4IGBuYC4gSWYgYG5gIGlzIG5lZ2F0aXZlLFxuICAgICAqIHRoZSBudGggYXJndW1lbnQgZnJvbSB0aGUgZW5kIGlzIHJldHVybmVkLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW249MF0gVGhlIGluZGV4IG9mIHRoZSBhcmd1bWVudCB0byByZXR1cm4uXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcGFzcy10aHJ1IGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgZnVuYyA9IF8ubnRoQXJnKDEpO1xuICAgICAqIGZ1bmMoJ2EnLCAnYicsICdjJywgJ2QnKTtcbiAgICAgKiAvLyA9PiAnYidcbiAgICAgKlxuICAgICAqIHZhciBmdW5jID0gXy5udGhBcmcoLTIpO1xuICAgICAqIGZ1bmMoJ2EnLCAnYicsICdjJywgJ2QnKTtcbiAgICAgKiAvLyA9PiAnYydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBudGhBcmcobikge1xuICAgICAgbiA9IHRvSW50ZWdlcihuKTtcbiAgICAgIHJldHVybiBiYXNlUmVzdChmdW5jdGlvbihhcmdzKSB7XG4gICAgICAgIHJldHVybiBiYXNlTnRoKGFyZ3MsIG4pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlcyBgaXRlcmF0ZWVzYCB3aXRoIHRoZSBhcmd1bWVudHMgaXQgcmVjZWl2ZXNcbiAgICAgKiBhbmQgcmV0dXJucyB0aGVpciByZXN1bHRzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0gey4uLihGdW5jdGlvbnxGdW5jdGlvbltdKX0gW2l0ZXJhdGVlcz1bXy5pZGVudGl0eV1dXG4gICAgICogIFRoZSBpdGVyYXRlZXMgdG8gaW52b2tlLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgZnVuYyA9IF8ub3ZlcihbTWF0aC5tYXgsIE1hdGgubWluXSk7XG4gICAgICpcbiAgICAgKiBmdW5jKDEsIDIsIDMsIDQpO1xuICAgICAqIC8vID0+IFs0LCAxXVxuICAgICAqL1xuICAgIHZhciBvdmVyID0gY3JlYXRlT3ZlcihhcnJheU1hcCk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBjaGVja3MgaWYgKiphbGwqKiBvZiB0aGUgYHByZWRpY2F0ZXNgIHJldHVyblxuICAgICAqIHRydXRoeSB3aGVuIGludm9rZWQgd2l0aCB0aGUgYXJndW1lbnRzIGl0IHJlY2VpdmVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0gey4uLihGdW5jdGlvbnxGdW5jdGlvbltdKX0gW3ByZWRpY2F0ZXM9W18uaWRlbnRpdHldXVxuICAgICAqICBUaGUgcHJlZGljYXRlcyB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGZ1bmMgPSBfLm92ZXJFdmVyeShbQm9vbGVhbiwgaXNGaW5pdGVdKTtcbiAgICAgKlxuICAgICAqIGZ1bmMoJzEnKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBmdW5jKG51bGwpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBmdW5jKE5hTik7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICB2YXIgb3ZlckV2ZXJ5ID0gY3JlYXRlT3ZlcihhcnJheUV2ZXJ5KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGNoZWNrcyBpZiAqKmFueSoqIG9mIHRoZSBgcHJlZGljYXRlc2AgcmV0dXJuXG4gICAgICogdHJ1dGh5IHdoZW4gaW52b2tlZCB3aXRoIHRoZSBhcmd1bWVudHMgaXQgcmVjZWl2ZXMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7Li4uKEZ1bmN0aW9ufEZ1bmN0aW9uW10pfSBbcHJlZGljYXRlcz1bXy5pZGVudGl0eV1dXG4gICAgICogIFRoZSBwcmVkaWNhdGVzIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgZnVuYyA9IF8ub3ZlclNvbWUoW0Jvb2xlYW4sIGlzRmluaXRlXSk7XG4gICAgICpcbiAgICAgKiBmdW5jKCcxJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogZnVuYyhudWxsKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBmdW5jKE5hTik7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICB2YXIgb3ZlclNvbWUgPSBjcmVhdGVPdmVyKGFycmF5U29tZSk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSB2YWx1ZSBhdCBgcGF0aGAgb2YgYSBnaXZlbiBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi40LjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgYWNjZXNzb3IgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gW1xuICAgICAqICAgeyAnYSc6IHsgJ2InOiAyIH0gfSxcbiAgICAgKiAgIHsgJ2EnOiB7ICdiJzogMSB9IH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogXy5tYXAob2JqZWN0cywgXy5wcm9wZXJ0eSgnYS5iJykpO1xuICAgICAqIC8vID0+IFsyLCAxXVxuICAgICAqXG4gICAgICogXy5tYXAoXy5zb3J0Qnkob2JqZWN0cywgXy5wcm9wZXJ0eShbJ2EnLCAnYiddKSksICdhLmInKTtcbiAgICAgKiAvLyA9PiBbMSwgMl1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBwcm9wZXJ0eShwYXRoKSB7XG4gICAgICByZXR1cm4gaXNLZXkocGF0aCkgPyBiYXNlUHJvcGVydHkodG9LZXkocGF0aCkpIDogYmFzZVByb3BlcnR5RGVlcChwYXRoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgb3Bwb3NpdGUgb2YgYF8ucHJvcGVydHlgOyB0aGlzIG1ldGhvZCBjcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCByZXR1cm5zXG4gICAgICogdGhlIHZhbHVlIGF0IGEgZ2l2ZW4gcGF0aCBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGFjY2Vzc29yIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBbMCwgMSwgMl0sXG4gICAgICogICAgIG9iamVjdCA9IHsgJ2EnOiBhcnJheSwgJ2InOiBhcnJheSwgJ2MnOiBhcnJheSB9O1xuICAgICAqXG4gICAgICogXy5tYXAoWydhWzJdJywgJ2NbMF0nXSwgXy5wcm9wZXJ0eU9mKG9iamVjdCkpO1xuICAgICAqIC8vID0+IFsyLCAwXVxuICAgICAqXG4gICAgICogXy5tYXAoW1snYScsICcyJ10sIFsnYycsICcwJ11dLCBfLnByb3BlcnR5T2Yob2JqZWN0KSk7XG4gICAgICogLy8gPT4gWzIsIDBdXG4gICAgICovXG4gICAgZnVuY3Rpb24gcHJvcGVydHlPZihvYmplY3QpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbihwYXRoKSB7XG4gICAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IGJhc2VHZXQob2JqZWN0LCBwYXRoKTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiBudW1iZXJzIChwb3NpdGl2ZSBhbmQvb3IgbmVnYXRpdmUpIHByb2dyZXNzaW5nIGZyb21cbiAgICAgKiBgc3RhcnRgIHVwIHRvLCBidXQgbm90IGluY2x1ZGluZywgYGVuZGAuIEEgc3RlcCBvZiBgLTFgIGlzIHVzZWQgaWYgYSBuZWdhdGl2ZVxuICAgICAqIGBzdGFydGAgaXMgc3BlY2lmaWVkIHdpdGhvdXQgYW4gYGVuZGAgb3IgYHN0ZXBgLiBJZiBgZW5kYCBpcyBub3Qgc3BlY2lmaWVkLFxuICAgICAqIGl0J3Mgc2V0IHRvIGBzdGFydGAgd2l0aCBgc3RhcnRgIHRoZW4gc2V0IHRvIGAwYC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBKYXZhU2NyaXB0IGZvbGxvd3MgdGhlIElFRUUtNzU0IHN0YW5kYXJkIGZvciByZXNvbHZpbmdcbiAgICAgKiBmbG9hdGluZy1wb2ludCB2YWx1ZXMgd2hpY2ggY2FuIHByb2R1Y2UgdW5leHBlY3RlZCByZXN1bHRzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PTBdIFRoZSBzdGFydCBvZiB0aGUgcmFuZ2UuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGVuZCBUaGUgZW5kIG9mIHRoZSByYW5nZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3N0ZXA9MV0gVGhlIHZhbHVlIHRvIGluY3JlbWVudCBvciBkZWNyZW1lbnQgYnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSByYW5nZSBvZiBudW1iZXJzLlxuICAgICAqIEBzZWUgXy5pblJhbmdlLCBfLnJhbmdlUmlnaHRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5yYW5nZSg0KTtcbiAgICAgKiAvLyA9PiBbMCwgMSwgMiwgM11cbiAgICAgKlxuICAgICAqIF8ucmFuZ2UoLTQpO1xuICAgICAqIC8vID0+IFswLCAtMSwgLTIsIC0zXVxuICAgICAqXG4gICAgICogXy5yYW5nZSgxLCA1KTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgMywgNF1cbiAgICAgKlxuICAgICAqIF8ucmFuZ2UoMCwgMjAsIDUpO1xuICAgICAqIC8vID0+IFswLCA1LCAxMCwgMTVdXG4gICAgICpcbiAgICAgKiBfLnJhbmdlKDAsIC00LCAtMSk7XG4gICAgICogLy8gPT4gWzAsIC0xLCAtMiwgLTNdXG4gICAgICpcbiAgICAgKiBfLnJhbmdlKDEsIDQsIDApO1xuICAgICAqIC8vID0+IFsxLCAxLCAxXVxuICAgICAqXG4gICAgICogXy5yYW5nZSgwKTtcbiAgICAgKiAvLyA9PiBbXVxuICAgICAqL1xuICAgIHZhciByYW5nZSA9IGNyZWF0ZVJhbmdlKCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnJhbmdlYCBleGNlcHQgdGhhdCBpdCBwb3B1bGF0ZXMgdmFsdWVzIGluXG4gICAgICogZGVzY2VuZGluZyBvcmRlci5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtzdGFydD0wXSBUaGUgc3RhcnQgb2YgdGhlIHJhbmdlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBlbmQgVGhlIGVuZCBvZiB0aGUgcmFuZ2UuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtzdGVwPTFdIFRoZSB2YWx1ZSB0byBpbmNyZW1lbnQgb3IgZGVjcmVtZW50IGJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgcmFuZ2Ugb2YgbnVtYmVycy5cbiAgICAgKiBAc2VlIF8uaW5SYW5nZSwgXy5yYW5nZVxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnJhbmdlUmlnaHQoNCk7XG4gICAgICogLy8gPT4gWzMsIDIsIDEsIDBdXG4gICAgICpcbiAgICAgKiBfLnJhbmdlUmlnaHQoLTQpO1xuICAgICAqIC8vID0+IFstMywgLTIsIC0xLCAwXVxuICAgICAqXG4gICAgICogXy5yYW5nZVJpZ2h0KDEsIDUpO1xuICAgICAqIC8vID0+IFs0LCAzLCAyLCAxXVxuICAgICAqXG4gICAgICogXy5yYW5nZVJpZ2h0KDAsIDIwLCA1KTtcbiAgICAgKiAvLyA9PiBbMTUsIDEwLCA1LCAwXVxuICAgICAqXG4gICAgICogXy5yYW5nZVJpZ2h0KDAsIC00LCAtMSk7XG4gICAgICogLy8gPT4gWy0zLCAtMiwgLTEsIDBdXG4gICAgICpcbiAgICAgKiBfLnJhbmdlUmlnaHQoMSwgNCwgMCk7XG4gICAgICogLy8gPT4gWzEsIDEsIDFdXG4gICAgICpcbiAgICAgKiBfLnJhbmdlUmlnaHQoMCk7XG4gICAgICogLy8gPT4gW11cbiAgICAgKi9cbiAgICB2YXIgcmFuZ2VSaWdodCA9IGNyZWF0ZVJhbmdlKHRydWUpO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgcmV0dXJucyBhIG5ldyBlbXB0eSBhcnJheS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjEzLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGVtcHR5IGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXlzID0gXy50aW1lcygyLCBfLnN0dWJBcnJheSk7XG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhhcnJheXMpO1xuICAgICAqIC8vID0+IFtbXSwgW11dXG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhhcnJheXNbMF0gPT09IGFycmF5c1sxXSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzdHViQXJyYXkoKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgcmV0dXJucyBgZmFsc2VgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMTMuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50aW1lcygyLCBfLnN0dWJGYWxzZSk7XG4gICAgICogLy8gPT4gW2ZhbHNlLCBmYWxzZV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzdHViRmFsc2UoKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgcmV0dXJucyBhIG5ldyBlbXB0eSBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4xMy4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgZW1wdHkgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IF8udGltZXMoMiwgXy5zdHViT2JqZWN0KTtcbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKG9iamVjdHMpO1xuICAgICAqIC8vID0+IFt7fSwge31dXG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhvYmplY3RzWzBdID09PSBvYmplY3RzWzFdKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHN0dWJPYmplY3QoKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgcmV0dXJucyBhbiBlbXB0eSBzdHJpbmcuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4xMy4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBlbXB0eSBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udGltZXMoMiwgXy5zdHViU3RyaW5nKTtcbiAgICAgKiAvLyA9PiBbJycsICcnXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHN0dWJTdHJpbmcoKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgcmV0dXJucyBgdHJ1ZWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4xMy4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udGltZXMoMiwgXy5zdHViVHJ1ZSk7XG4gICAgICogLy8gPT4gW3RydWUsIHRydWVdXG4gICAgICovXG4gICAgZnVuY3Rpb24gc3R1YlRydWUoKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbnZva2VzIHRoZSBpdGVyYXRlZSBgbmAgdGltZXMsIHJldHVybmluZyBhbiBhcnJheSBvZiB0aGUgcmVzdWx0cyBvZlxuICAgICAqIGVhY2ggaW52b2NhdGlvbi4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ7IChpbmRleCkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBuIFRoZSBudW1iZXIgb2YgdGltZXMgdG8gaW52b2tlIGBpdGVyYXRlZWAuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiByZXN1bHRzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRpbWVzKDMsIFN0cmluZyk7XG4gICAgICogLy8gPT4gWycwJywgJzEnLCAnMiddXG4gICAgICpcbiAgICAgKiAgXy50aW1lcyg0LCBfLmNvbnN0YW50KDApKTtcbiAgICAgKiAvLyA9PiBbMCwgMCwgMCwgMF1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0aW1lcyhuLCBpdGVyYXRlZSkge1xuICAgICAgbiA9IHRvSW50ZWdlcihuKTtcbiAgICAgIGlmIChuIDwgMSB8fCBuID4gTUFYX1NBRkVfSU5URUdFUikge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICB2YXIgaW5kZXggPSBNQVhfQVJSQVlfTEVOR1RILFxuICAgICAgICAgIGxlbmd0aCA9IG5hdGl2ZU1pbihuLCBNQVhfQVJSQVlfTEVOR1RIKTtcblxuICAgICAgaXRlcmF0ZWUgPSBnZXRJdGVyYXRlZShpdGVyYXRlZSk7XG4gICAgICBuIC09IE1BWF9BUlJBWV9MRU5HVEg7XG5cbiAgICAgIHZhciByZXN1bHQgPSBiYXNlVGltZXMobGVuZ3RoLCBpdGVyYXRlZSk7XG4gICAgICB3aGlsZSAoKytpbmRleCA8IG4pIHtcbiAgICAgICAgaXRlcmF0ZWUoaW5kZXgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGEgcHJvcGVydHkgcGF0aCBhcnJheS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBwcm9wZXJ0eSBwYXRoIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRvUGF0aCgnYS5iLmMnKTtcbiAgICAgKiAvLyA9PiBbJ2EnLCAnYicsICdjJ11cbiAgICAgKlxuICAgICAqIF8udG9QYXRoKCdhWzBdLmIuYycpO1xuICAgICAqIC8vID0+IFsnYScsICcwJywgJ2InLCAnYyddXG4gICAgICovXG4gICAgZnVuY3Rpb24gdG9QYXRoKHZhbHVlKSB7XG4gICAgICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIGFycmF5TWFwKHZhbHVlLCB0b0tleSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gaXNTeW1ib2wodmFsdWUpID8gW3ZhbHVlXSA6IGNvcHlBcnJheShzdHJpbmdUb1BhdGgodG9TdHJpbmcodmFsdWUpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2VuZXJhdGVzIGEgdW5pcXVlIElELiBJZiBgcHJlZml4YCBpcyBnaXZlbiwgdGhlIElEIGlzIGFwcGVuZGVkIHRvIGl0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3ByZWZpeD0nJ10gVGhlIHZhbHVlIHRvIHByZWZpeCB0aGUgSUQgd2l0aC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSB1bmlxdWUgSUQuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udW5pcXVlSWQoJ2NvbnRhY3RfJyk7XG4gICAgICogLy8gPT4gJ2NvbnRhY3RfMTA0J1xuICAgICAqXG4gICAgICogXy51bmlxdWVJZCgpO1xuICAgICAqIC8vID0+ICcxMDUnXG4gICAgICovXG4gICAgZnVuY3Rpb24gdW5pcXVlSWQocHJlZml4KSB7XG4gICAgICB2YXIgaWQgPSArK2lkQ291bnRlcjtcbiAgICAgIHJldHVybiB0b1N0cmluZyhwcmVmaXgpICsgaWQ7XG4gICAgfVxuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogQWRkcyB0d28gbnVtYmVycy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjQuMFxuICAgICAqIEBjYXRlZ29yeSBNYXRoXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGF1Z2VuZCBUaGUgZmlyc3QgbnVtYmVyIGluIGFuIGFkZGl0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBhZGRlbmQgVGhlIHNlY29uZCBudW1iZXIgaW4gYW4gYWRkaXRpb24uXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgdG90YWwuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uYWRkKDYsIDQpO1xuICAgICAqIC8vID0+IDEwXG4gICAgICovXG4gICAgdmFyIGFkZCA9IGNyZWF0ZU1hdGhPcGVyYXRpb24oZnVuY3Rpb24oYXVnZW5kLCBhZGRlbmQpIHtcbiAgICAgIHJldHVybiBhdWdlbmQgKyBhZGRlbmQ7XG4gICAgfSwgMCk7XG5cbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyBgbnVtYmVyYCByb3VuZGVkIHVwIHRvIGBwcmVjaXNpb25gLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMTAuMFxuICAgICAqIEBjYXRlZ29yeSBNYXRoXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG51bWJlciBUaGUgbnVtYmVyIHRvIHJvdW5kIHVwLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbcHJlY2lzaW9uPTBdIFRoZSBwcmVjaXNpb24gdG8gcm91bmQgdXAgdG8uXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgcm91bmRlZCB1cCBudW1iZXIuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uY2VpbCg0LjAwNik7XG4gICAgICogLy8gPT4gNVxuICAgICAqXG4gICAgICogXy5jZWlsKDYuMDA0LCAyKTtcbiAgICAgKiAvLyA9PiA2LjAxXG4gICAgICpcbiAgICAgKiBfLmNlaWwoNjA0MCwgLTIpO1xuICAgICAqIC8vID0+IDYxMDBcbiAgICAgKi9cbiAgICB2YXIgY2VpbCA9IGNyZWF0ZVJvdW5kKCdjZWlsJyk7XG5cbiAgICAvKipcbiAgICAgKiBEaXZpZGUgdHdvIG51bWJlcnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC43LjBcbiAgICAgKiBAY2F0ZWdvcnkgTWF0aFxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBkaXZpZGVuZCBUaGUgZmlyc3QgbnVtYmVyIGluIGEgZGl2aXNpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGRpdmlzb3IgVGhlIHNlY29uZCBudW1iZXIgaW4gYSBkaXZpc2lvbi5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBxdW90aWVudC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5kaXZpZGUoNiwgNCk7XG4gICAgICogLy8gPT4gMS41XG4gICAgICovXG4gICAgdmFyIGRpdmlkZSA9IGNyZWF0ZU1hdGhPcGVyYXRpb24oZnVuY3Rpb24oZGl2aWRlbmQsIGRpdmlzb3IpIHtcbiAgICAgIHJldHVybiBkaXZpZGVuZCAvIGRpdmlzb3I7XG4gICAgfSwgMSk7XG5cbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyBgbnVtYmVyYCByb3VuZGVkIGRvd24gdG8gYHByZWNpc2lvbmAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4xMC4wXG4gICAgICogQGNhdGVnb3J5IE1hdGhcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbnVtYmVyIFRoZSBudW1iZXIgdG8gcm91bmQgZG93bi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3ByZWNpc2lvbj0wXSBUaGUgcHJlY2lzaW9uIHRvIHJvdW5kIGRvd24gdG8uXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgcm91bmRlZCBkb3duIG51bWJlci5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5mbG9vcig0LjAwNik7XG4gICAgICogLy8gPT4gNFxuICAgICAqXG4gICAgICogXy5mbG9vcigwLjA0NiwgMik7XG4gICAgICogLy8gPT4gMC4wNFxuICAgICAqXG4gICAgICogXy5mbG9vcig0MDYwLCAtMik7XG4gICAgICogLy8gPT4gNDAwMFxuICAgICAqL1xuICAgIHZhciBmbG9vciA9IGNyZWF0ZVJvdW5kKCdmbG9vcicpO1xuXG4gICAgLyoqXG4gICAgICogQ29tcHV0ZXMgdGhlIG1heGltdW0gdmFsdWUgb2YgYGFycmF5YC4gSWYgYGFycmF5YCBpcyBlbXB0eSBvciBmYWxzZXksXG4gICAgICogYHVuZGVmaW5lZGAgaXMgcmV0dXJuZWQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgTWF0aFxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIG1heGltdW0gdmFsdWUuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ubWF4KFs0LCAyLCA4LCA2XSk7XG4gICAgICogLy8gPT4gOFxuICAgICAqXG4gICAgICogXy5tYXgoW10pO1xuICAgICAqIC8vID0+IHVuZGVmaW5lZFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1heChhcnJheSkge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGgpXG4gICAgICAgID8gYmFzZUV4dHJlbXVtKGFycmF5LCBpZGVudGl0eSwgYmFzZUd0KVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLm1heGAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgaXRlcmF0ZWVgIHdoaWNoIGlzXG4gICAgICogaW52b2tlZCBmb3IgZWFjaCBlbGVtZW50IGluIGBhcnJheWAgdG8gZ2VuZXJhdGUgdGhlIGNyaXRlcmlvbiBieSB3aGljaFxuICAgICAqIHRoZSB2YWx1ZSBpcyByYW5rZWQuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OiAodmFsdWUpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IE1hdGhcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgbWF4aW11bSB2YWx1ZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbeyAnbic6IDEgfSwgeyAnbic6IDIgfV07XG4gICAgICpcbiAgICAgKiBfLm1heEJ5KG9iamVjdHMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuIG8ubjsgfSk7XG4gICAgICogLy8gPT4geyAnbic6IDIgfVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5tYXhCeShvYmplY3RzLCAnbicpO1xuICAgICAqIC8vID0+IHsgJ24nOiAyIH1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXhCeShhcnJheSwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKVxuICAgICAgICA/IGJhc2VFeHRyZW11bShhcnJheSwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDIpLCBiYXNlR3QpXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbXB1dGVzIHRoZSBtZWFuIG9mIHRoZSB2YWx1ZXMgaW4gYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBNYXRoXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBtZWFuLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLm1lYW4oWzQsIDIsIDgsIDZdKTtcbiAgICAgKiAvLyA9PiA1XG4gICAgICovXG4gICAgZnVuY3Rpb24gbWVhbihhcnJheSkge1xuICAgICAgcmV0dXJuIGJhc2VNZWFuKGFycmF5LCBpZGVudGl0eSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5tZWFuYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWAgd2hpY2ggaXNcbiAgICAgKiBpbnZva2VkIGZvciBlYWNoIGVsZW1lbnQgaW4gYGFycmF5YCB0byBnZW5lcmF0ZSB0aGUgdmFsdWUgdG8gYmUgYXZlcmFnZWQuXG4gICAgICogVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6ICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC43LjBcbiAgICAgKiBAY2F0ZWdvcnkgTWF0aFxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIG1lYW4uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gW3sgJ24nOiA0IH0sIHsgJ24nOiAyIH0sIHsgJ24nOiA4IH0sIHsgJ24nOiA2IH1dO1xuICAgICAqXG4gICAgICogXy5tZWFuQnkob2JqZWN0cywgZnVuY3Rpb24obykgeyByZXR1cm4gby5uOyB9KTtcbiAgICAgKiAvLyA9PiA1XG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLm1lYW5CeShvYmplY3RzLCAnbicpO1xuICAgICAqIC8vID0+IDVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtZWFuQnkoYXJyYXksIGl0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gYmFzZU1lYW4oYXJyYXksIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAyKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29tcHV0ZXMgdGhlIG1pbmltdW0gdmFsdWUgb2YgYGFycmF5YC4gSWYgYGFycmF5YCBpcyBlbXB0eSBvciBmYWxzZXksXG4gICAgICogYHVuZGVmaW5lZGAgaXMgcmV0dXJuZWQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgTWF0aFxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIG1pbmltdW0gdmFsdWUuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ubWluKFs0LCAyLCA4LCA2XSk7XG4gICAgICogLy8gPT4gMlxuICAgICAqXG4gICAgICogXy5taW4oW10pO1xuICAgICAqIC8vID0+IHVuZGVmaW5lZFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1pbihhcnJheSkge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGgpXG4gICAgICAgID8gYmFzZUV4dHJlbXVtKGFycmF5LCBpZGVudGl0eSwgYmFzZUx0KVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLm1pbmAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgaXRlcmF0ZWVgIHdoaWNoIGlzXG4gICAgICogaW52b2tlZCBmb3IgZWFjaCBlbGVtZW50IGluIGBhcnJheWAgdG8gZ2VuZXJhdGUgdGhlIGNyaXRlcmlvbiBieSB3aGljaFxuICAgICAqIHRoZSB2YWx1ZSBpcyByYW5rZWQuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OiAodmFsdWUpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IE1hdGhcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgbWluaW11bSB2YWx1ZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbeyAnbic6IDEgfSwgeyAnbic6IDIgfV07XG4gICAgICpcbiAgICAgKiBfLm1pbkJ5KG9iamVjdHMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuIG8ubjsgfSk7XG4gICAgICogLy8gPT4geyAnbic6IDEgfVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5taW5CeShvYmplY3RzLCAnbicpO1xuICAgICAqIC8vID0+IHsgJ24nOiAxIH1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtaW5CeShhcnJheSwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKVxuICAgICAgICA/IGJhc2VFeHRyZW11bShhcnJheSwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDIpLCBiYXNlTHQpXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE11bHRpcGx5IHR3byBudW1iZXJzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuNy4wXG4gICAgICogQGNhdGVnb3J5IE1hdGhcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbXVsdGlwbGllciBUaGUgZmlyc3QgbnVtYmVyIGluIGEgbXVsdGlwbGljYXRpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG11bHRpcGxpY2FuZCBUaGUgc2Vjb25kIG51bWJlciBpbiBhIG11bHRpcGxpY2F0aW9uLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHByb2R1Y3QuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ubXVsdGlwbHkoNiwgNCk7XG4gICAgICogLy8gPT4gMjRcbiAgICAgKi9cbiAgICB2YXIgbXVsdGlwbHkgPSBjcmVhdGVNYXRoT3BlcmF0aW9uKGZ1bmN0aW9uKG11bHRpcGxpZXIsIG11bHRpcGxpY2FuZCkge1xuICAgICAgcmV0dXJuIG11bHRpcGxpZXIgKiBtdWx0aXBsaWNhbmQ7XG4gICAgfSwgMSk7XG5cbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyBgbnVtYmVyYCByb3VuZGVkIHRvIGBwcmVjaXNpb25gLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMTAuMFxuICAgICAqIEBjYXRlZ29yeSBNYXRoXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG51bWJlciBUaGUgbnVtYmVyIHRvIHJvdW5kLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbcHJlY2lzaW9uPTBdIFRoZSBwcmVjaXNpb24gdG8gcm91bmQgdG8uXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgcm91bmRlZCBudW1iZXIuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ucm91bmQoNC4wMDYpO1xuICAgICAqIC8vID0+IDRcbiAgICAgKlxuICAgICAqIF8ucm91bmQoNC4wMDYsIDIpO1xuICAgICAqIC8vID0+IDQuMDFcbiAgICAgKlxuICAgICAqIF8ucm91bmQoNDA2MCwgLTIpO1xuICAgICAqIC8vID0+IDQxMDBcbiAgICAgKi9cbiAgICB2YXIgcm91bmQgPSBjcmVhdGVSb3VuZCgncm91bmQnKTtcblxuICAgIC8qKlxuICAgICAqIFN1YnRyYWN0IHR3byBudW1iZXJzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IE1hdGhcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWludWVuZCBUaGUgZmlyc3QgbnVtYmVyIGluIGEgc3VidHJhY3Rpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHN1YnRyYWhlbmQgVGhlIHNlY29uZCBudW1iZXIgaW4gYSBzdWJ0cmFjdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBkaWZmZXJlbmNlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnN1YnRyYWN0KDYsIDQpO1xuICAgICAqIC8vID0+IDJcbiAgICAgKi9cbiAgICB2YXIgc3VidHJhY3QgPSBjcmVhdGVNYXRoT3BlcmF0aW9uKGZ1bmN0aW9uKG1pbnVlbmQsIHN1YnRyYWhlbmQpIHtcbiAgICAgIHJldHVybiBtaW51ZW5kIC0gc3VidHJhaGVuZDtcbiAgICB9LCAwKTtcblxuICAgIC8qKlxuICAgICAqIENvbXB1dGVzIHRoZSBzdW0gb2YgdGhlIHZhbHVlcyBpbiBgYXJyYXlgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuNC4wXG4gICAgICogQGNhdGVnb3J5IE1hdGhcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHN1bS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zdW0oWzQsIDIsIDgsIDZdKTtcbiAgICAgKiAvLyA9PiAyMFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHN1bShhcnJheSkge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGgpXG4gICAgICAgID8gYmFzZVN1bShhcnJheSwgaWRlbnRpdHkpXG4gICAgICAgIDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnN1bWAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgaXRlcmF0ZWVgIHdoaWNoIGlzXG4gICAgICogaW52b2tlZCBmb3IgZWFjaCBlbGVtZW50IGluIGBhcnJheWAgdG8gZ2VuZXJhdGUgdGhlIHZhbHVlIHRvIGJlIHN1bW1lZC5cbiAgICAgKiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBNYXRoXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgc3VtLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IFt7ICduJzogNCB9LCB7ICduJzogMiB9LCB7ICduJzogOCB9LCB7ICduJzogNiB9XTtcbiAgICAgKlxuICAgICAqIF8uc3VtQnkob2JqZWN0cywgZnVuY3Rpb24obykgeyByZXR1cm4gby5uOyB9KTtcbiAgICAgKiAvLyA9PiAyMFxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5zdW1CeShvYmplY3RzLCAnbicpO1xuICAgICAqIC8vID0+IDIwXG4gICAgICovXG4gICAgZnVuY3Rpb24gc3VtQnkoYXJyYXksIGl0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aClcbiAgICAgICAgPyBiYXNlU3VtKGFycmF5LCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMikpXG4gICAgICAgIDogMDtcbiAgICB9XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvLyBBZGQgbWV0aG9kcyB0aGF0IHJldHVybiB3cmFwcGVkIHZhbHVlcyBpbiBjaGFpbiBzZXF1ZW5jZXMuXG4gICAgbG9kYXNoLmFmdGVyID0gYWZ0ZXI7XG4gICAgbG9kYXNoLmFyeSA9IGFyeTtcbiAgICBsb2Rhc2guYXNzaWduID0gYXNzaWduO1xuICAgIGxvZGFzaC5hc3NpZ25JbiA9IGFzc2lnbkluO1xuICAgIGxvZGFzaC5hc3NpZ25JbldpdGggPSBhc3NpZ25JbldpdGg7XG4gICAgbG9kYXNoLmFzc2lnbldpdGggPSBhc3NpZ25XaXRoO1xuICAgIGxvZGFzaC5hdCA9IGF0O1xuICAgIGxvZGFzaC5iZWZvcmUgPSBiZWZvcmU7XG4gICAgbG9kYXNoLmJpbmQgPSBiaW5kO1xuICAgIGxvZGFzaC5iaW5kQWxsID0gYmluZEFsbDtcbiAgICBsb2Rhc2guYmluZEtleSA9IGJpbmRLZXk7XG4gICAgbG9kYXNoLmNhc3RBcnJheSA9IGNhc3RBcnJheTtcbiAgICBsb2Rhc2guY2hhaW4gPSBjaGFpbjtcbiAgICBsb2Rhc2guY2h1bmsgPSBjaHVuaztcbiAgICBsb2Rhc2guY29tcGFjdCA9IGNvbXBhY3Q7XG4gICAgbG9kYXNoLmNvbmNhdCA9IGNvbmNhdDtcbiAgICBsb2Rhc2guY29uZCA9IGNvbmQ7XG4gICAgbG9kYXNoLmNvbmZvcm1zID0gY29uZm9ybXM7XG4gICAgbG9kYXNoLmNvbnN0YW50ID0gY29uc3RhbnQ7XG4gICAgbG9kYXNoLmNvdW50QnkgPSBjb3VudEJ5O1xuICAgIGxvZGFzaC5jcmVhdGUgPSBjcmVhdGU7XG4gICAgbG9kYXNoLmN1cnJ5ID0gY3Vycnk7XG4gICAgbG9kYXNoLmN1cnJ5UmlnaHQgPSBjdXJyeVJpZ2h0O1xuICAgIGxvZGFzaC5kZWJvdW5jZSA9IGRlYm91bmNlO1xuICAgIGxvZGFzaC5kZWZhdWx0cyA9IGRlZmF1bHRzO1xuICAgIGxvZGFzaC5kZWZhdWx0c0RlZXAgPSBkZWZhdWx0c0RlZXA7XG4gICAgbG9kYXNoLmRlZmVyID0gZGVmZXI7XG4gICAgbG9kYXNoLmRlbGF5ID0gZGVsYXk7XG4gICAgbG9kYXNoLmRpZmZlcmVuY2UgPSBkaWZmZXJlbmNlO1xuICAgIGxvZGFzaC5kaWZmZXJlbmNlQnkgPSBkaWZmZXJlbmNlQnk7XG4gICAgbG9kYXNoLmRpZmZlcmVuY2VXaXRoID0gZGlmZmVyZW5jZVdpdGg7XG4gICAgbG9kYXNoLmRyb3AgPSBkcm9wO1xuICAgIGxvZGFzaC5kcm9wUmlnaHQgPSBkcm9wUmlnaHQ7XG4gICAgbG9kYXNoLmRyb3BSaWdodFdoaWxlID0gZHJvcFJpZ2h0V2hpbGU7XG4gICAgbG9kYXNoLmRyb3BXaGlsZSA9IGRyb3BXaGlsZTtcbiAgICBsb2Rhc2guZmlsbCA9IGZpbGw7XG4gICAgbG9kYXNoLmZpbHRlciA9IGZpbHRlcjtcbiAgICBsb2Rhc2guZmxhdE1hcCA9IGZsYXRNYXA7XG4gICAgbG9kYXNoLmZsYXRNYXBEZWVwID0gZmxhdE1hcERlZXA7XG4gICAgbG9kYXNoLmZsYXRNYXBEZXB0aCA9IGZsYXRNYXBEZXB0aDtcbiAgICBsb2Rhc2guZmxhdHRlbiA9IGZsYXR0ZW47XG4gICAgbG9kYXNoLmZsYXR0ZW5EZWVwID0gZmxhdHRlbkRlZXA7XG4gICAgbG9kYXNoLmZsYXR0ZW5EZXB0aCA9IGZsYXR0ZW5EZXB0aDtcbiAgICBsb2Rhc2guZmxpcCA9IGZsaXA7XG4gICAgbG9kYXNoLmZsb3cgPSBmbG93O1xuICAgIGxvZGFzaC5mbG93UmlnaHQgPSBmbG93UmlnaHQ7XG4gICAgbG9kYXNoLmZyb21QYWlycyA9IGZyb21QYWlycztcbiAgICBsb2Rhc2guZnVuY3Rpb25zID0gZnVuY3Rpb25zO1xuICAgIGxvZGFzaC5mdW5jdGlvbnNJbiA9IGZ1bmN0aW9uc0luO1xuICAgIGxvZGFzaC5ncm91cEJ5ID0gZ3JvdXBCeTtcbiAgICBsb2Rhc2guaW5pdGlhbCA9IGluaXRpYWw7XG4gICAgbG9kYXNoLmludGVyc2VjdGlvbiA9IGludGVyc2VjdGlvbjtcbiAgICBsb2Rhc2guaW50ZXJzZWN0aW9uQnkgPSBpbnRlcnNlY3Rpb25CeTtcbiAgICBsb2Rhc2guaW50ZXJzZWN0aW9uV2l0aCA9IGludGVyc2VjdGlvbldpdGg7XG4gICAgbG9kYXNoLmludmVydCA9IGludmVydDtcbiAgICBsb2Rhc2guaW52ZXJ0QnkgPSBpbnZlcnRCeTtcbiAgICBsb2Rhc2guaW52b2tlTWFwID0gaW52b2tlTWFwO1xuICAgIGxvZGFzaC5pdGVyYXRlZSA9IGl0ZXJhdGVlO1xuICAgIGxvZGFzaC5rZXlCeSA9IGtleUJ5O1xuICAgIGxvZGFzaC5rZXlzID0ga2V5cztcbiAgICBsb2Rhc2gua2V5c0luID0ga2V5c0luO1xuICAgIGxvZGFzaC5tYXAgPSBtYXA7XG4gICAgbG9kYXNoLm1hcEtleXMgPSBtYXBLZXlzO1xuICAgIGxvZGFzaC5tYXBWYWx1ZXMgPSBtYXBWYWx1ZXM7XG4gICAgbG9kYXNoLm1hdGNoZXMgPSBtYXRjaGVzO1xuICAgIGxvZGFzaC5tYXRjaGVzUHJvcGVydHkgPSBtYXRjaGVzUHJvcGVydHk7XG4gICAgbG9kYXNoLm1lbW9pemUgPSBtZW1vaXplO1xuICAgIGxvZGFzaC5tZXJnZSA9IG1lcmdlO1xuICAgIGxvZGFzaC5tZXJnZVdpdGggPSBtZXJnZVdpdGg7XG4gICAgbG9kYXNoLm1ldGhvZCA9IG1ldGhvZDtcbiAgICBsb2Rhc2gubWV0aG9kT2YgPSBtZXRob2RPZjtcbiAgICBsb2Rhc2gubWl4aW4gPSBtaXhpbjtcbiAgICBsb2Rhc2gubmVnYXRlID0gbmVnYXRlO1xuICAgIGxvZGFzaC5udGhBcmcgPSBudGhBcmc7XG4gICAgbG9kYXNoLm9taXQgPSBvbWl0O1xuICAgIGxvZGFzaC5vbWl0QnkgPSBvbWl0Qnk7XG4gICAgbG9kYXNoLm9uY2UgPSBvbmNlO1xuICAgIGxvZGFzaC5vcmRlckJ5ID0gb3JkZXJCeTtcbiAgICBsb2Rhc2gub3ZlciA9IG92ZXI7XG4gICAgbG9kYXNoLm92ZXJBcmdzID0gb3ZlckFyZ3M7XG4gICAgbG9kYXNoLm92ZXJFdmVyeSA9IG92ZXJFdmVyeTtcbiAgICBsb2Rhc2gub3ZlclNvbWUgPSBvdmVyU29tZTtcbiAgICBsb2Rhc2gucGFydGlhbCA9IHBhcnRpYWw7XG4gICAgbG9kYXNoLnBhcnRpYWxSaWdodCA9IHBhcnRpYWxSaWdodDtcbiAgICBsb2Rhc2gucGFydGl0aW9uID0gcGFydGl0aW9uO1xuICAgIGxvZGFzaC5waWNrID0gcGljaztcbiAgICBsb2Rhc2gucGlja0J5ID0gcGlja0J5O1xuICAgIGxvZGFzaC5wcm9wZXJ0eSA9IHByb3BlcnR5O1xuICAgIGxvZGFzaC5wcm9wZXJ0eU9mID0gcHJvcGVydHlPZjtcbiAgICBsb2Rhc2gucHVsbCA9IHB1bGw7XG4gICAgbG9kYXNoLnB1bGxBbGwgPSBwdWxsQWxsO1xuICAgIGxvZGFzaC5wdWxsQWxsQnkgPSBwdWxsQWxsQnk7XG4gICAgbG9kYXNoLnB1bGxBbGxXaXRoID0gcHVsbEFsbFdpdGg7XG4gICAgbG9kYXNoLnB1bGxBdCA9IHB1bGxBdDtcbiAgICBsb2Rhc2gucmFuZ2UgPSByYW5nZTtcbiAgICBsb2Rhc2gucmFuZ2VSaWdodCA9IHJhbmdlUmlnaHQ7XG4gICAgbG9kYXNoLnJlYXJnID0gcmVhcmc7XG4gICAgbG9kYXNoLnJlamVjdCA9IHJlamVjdDtcbiAgICBsb2Rhc2gucmVtb3ZlID0gcmVtb3ZlO1xuICAgIGxvZGFzaC5yZXN0ID0gcmVzdDtcbiAgICBsb2Rhc2gucmV2ZXJzZSA9IHJldmVyc2U7XG4gICAgbG9kYXNoLnNhbXBsZVNpemUgPSBzYW1wbGVTaXplO1xuICAgIGxvZGFzaC5zZXQgPSBzZXQ7XG4gICAgbG9kYXNoLnNldFdpdGggPSBzZXRXaXRoO1xuICAgIGxvZGFzaC5zaHVmZmxlID0gc2h1ZmZsZTtcbiAgICBsb2Rhc2guc2xpY2UgPSBzbGljZTtcbiAgICBsb2Rhc2guc29ydEJ5ID0gc29ydEJ5O1xuICAgIGxvZGFzaC5zb3J0ZWRVbmlxID0gc29ydGVkVW5pcTtcbiAgICBsb2Rhc2guc29ydGVkVW5pcUJ5ID0gc29ydGVkVW5pcUJ5O1xuICAgIGxvZGFzaC5zcGxpdCA9IHNwbGl0O1xuICAgIGxvZGFzaC5zcHJlYWQgPSBzcHJlYWQ7XG4gICAgbG9kYXNoLnRhaWwgPSB0YWlsO1xuICAgIGxvZGFzaC50YWtlID0gdGFrZTtcbiAgICBsb2Rhc2gudGFrZVJpZ2h0ID0gdGFrZVJpZ2h0O1xuICAgIGxvZGFzaC50YWtlUmlnaHRXaGlsZSA9IHRha2VSaWdodFdoaWxlO1xuICAgIGxvZGFzaC50YWtlV2hpbGUgPSB0YWtlV2hpbGU7XG4gICAgbG9kYXNoLnRhcCA9IHRhcDtcbiAgICBsb2Rhc2gudGhyb3R0bGUgPSB0aHJvdHRsZTtcbiAgICBsb2Rhc2gudGhydSA9IHRocnU7XG4gICAgbG9kYXNoLnRvQXJyYXkgPSB0b0FycmF5O1xuICAgIGxvZGFzaC50b1BhaXJzID0gdG9QYWlycztcbiAgICBsb2Rhc2gudG9QYWlyc0luID0gdG9QYWlyc0luO1xuICAgIGxvZGFzaC50b1BhdGggPSB0b1BhdGg7XG4gICAgbG9kYXNoLnRvUGxhaW5PYmplY3QgPSB0b1BsYWluT2JqZWN0O1xuICAgIGxvZGFzaC50cmFuc2Zvcm0gPSB0cmFuc2Zvcm07XG4gICAgbG9kYXNoLnVuYXJ5ID0gdW5hcnk7XG4gICAgbG9kYXNoLnVuaW9uID0gdW5pb247XG4gICAgbG9kYXNoLnVuaW9uQnkgPSB1bmlvbkJ5O1xuICAgIGxvZGFzaC51bmlvbldpdGggPSB1bmlvbldpdGg7XG4gICAgbG9kYXNoLnVuaXEgPSB1bmlxO1xuICAgIGxvZGFzaC51bmlxQnkgPSB1bmlxQnk7XG4gICAgbG9kYXNoLnVuaXFXaXRoID0gdW5pcVdpdGg7XG4gICAgbG9kYXNoLnVuc2V0ID0gdW5zZXQ7XG4gICAgbG9kYXNoLnVuemlwID0gdW56aXA7XG4gICAgbG9kYXNoLnVuemlwV2l0aCA9IHVuemlwV2l0aDtcbiAgICBsb2Rhc2gudXBkYXRlID0gdXBkYXRlO1xuICAgIGxvZGFzaC51cGRhdGVXaXRoID0gdXBkYXRlV2l0aDtcbiAgICBsb2Rhc2gudmFsdWVzID0gdmFsdWVzO1xuICAgIGxvZGFzaC52YWx1ZXNJbiA9IHZhbHVlc0luO1xuICAgIGxvZGFzaC53aXRob3V0ID0gd2l0aG91dDtcbiAgICBsb2Rhc2gud29yZHMgPSB3b3JkcztcbiAgICBsb2Rhc2gud3JhcCA9IHdyYXA7XG4gICAgbG9kYXNoLnhvciA9IHhvcjtcbiAgICBsb2Rhc2gueG9yQnkgPSB4b3JCeTtcbiAgICBsb2Rhc2gueG9yV2l0aCA9IHhvcldpdGg7XG4gICAgbG9kYXNoLnppcCA9IHppcDtcbiAgICBsb2Rhc2guemlwT2JqZWN0ID0gemlwT2JqZWN0O1xuICAgIGxvZGFzaC56aXBPYmplY3REZWVwID0gemlwT2JqZWN0RGVlcDtcbiAgICBsb2Rhc2guemlwV2l0aCA9IHppcFdpdGg7XG5cbiAgICAvLyBBZGQgYWxpYXNlcy5cbiAgICBsb2Rhc2guZW50cmllcyA9IHRvUGFpcnM7XG4gICAgbG9kYXNoLmVudHJpZXNJbiA9IHRvUGFpcnNJbjtcbiAgICBsb2Rhc2guZXh0ZW5kID0gYXNzaWduSW47XG4gICAgbG9kYXNoLmV4dGVuZFdpdGggPSBhc3NpZ25JbldpdGg7XG5cbiAgICAvLyBBZGQgbWV0aG9kcyB0byBgbG9kYXNoLnByb3RvdHlwZWAuXG4gICAgbWl4aW4obG9kYXNoLCBsb2Rhc2gpO1xuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLy8gQWRkIG1ldGhvZHMgdGhhdCByZXR1cm4gdW53cmFwcGVkIHZhbHVlcyBpbiBjaGFpbiBzZXF1ZW5jZXMuXG4gICAgbG9kYXNoLmFkZCA9IGFkZDtcbiAgICBsb2Rhc2guYXR0ZW1wdCA9IGF0dGVtcHQ7XG4gICAgbG9kYXNoLmNhbWVsQ2FzZSA9IGNhbWVsQ2FzZTtcbiAgICBsb2Rhc2guY2FwaXRhbGl6ZSA9IGNhcGl0YWxpemU7XG4gICAgbG9kYXNoLmNlaWwgPSBjZWlsO1xuICAgIGxvZGFzaC5jbGFtcCA9IGNsYW1wO1xuICAgIGxvZGFzaC5jbG9uZSA9IGNsb25lO1xuICAgIGxvZGFzaC5jbG9uZURlZXAgPSBjbG9uZURlZXA7XG4gICAgbG9kYXNoLmNsb25lRGVlcFdpdGggPSBjbG9uZURlZXBXaXRoO1xuICAgIGxvZGFzaC5jbG9uZVdpdGggPSBjbG9uZVdpdGg7XG4gICAgbG9kYXNoLmNvbmZvcm1zVG8gPSBjb25mb3Jtc1RvO1xuICAgIGxvZGFzaC5kZWJ1cnIgPSBkZWJ1cnI7XG4gICAgbG9kYXNoLmRlZmF1bHRUbyA9IGRlZmF1bHRUbztcbiAgICBsb2Rhc2guZGl2aWRlID0gZGl2aWRlO1xuICAgIGxvZGFzaC5lbmRzV2l0aCA9IGVuZHNXaXRoO1xuICAgIGxvZGFzaC5lcSA9IGVxO1xuICAgIGxvZGFzaC5lc2NhcGUgPSBlc2NhcGU7XG4gICAgbG9kYXNoLmVzY2FwZVJlZ0V4cCA9IGVzY2FwZVJlZ0V4cDtcbiAgICBsb2Rhc2guZXZlcnkgPSBldmVyeTtcbiAgICBsb2Rhc2guZmluZCA9IGZpbmQ7XG4gICAgbG9kYXNoLmZpbmRJbmRleCA9IGZpbmRJbmRleDtcbiAgICBsb2Rhc2guZmluZEtleSA9IGZpbmRLZXk7XG4gICAgbG9kYXNoLmZpbmRMYXN0ID0gZmluZExhc3Q7XG4gICAgbG9kYXNoLmZpbmRMYXN0SW5kZXggPSBmaW5kTGFzdEluZGV4O1xuICAgIGxvZGFzaC5maW5kTGFzdEtleSA9IGZpbmRMYXN0S2V5O1xuICAgIGxvZGFzaC5mbG9vciA9IGZsb29yO1xuICAgIGxvZGFzaC5mb3JFYWNoID0gZm9yRWFjaDtcbiAgICBsb2Rhc2guZm9yRWFjaFJpZ2h0ID0gZm9yRWFjaFJpZ2h0O1xuICAgIGxvZGFzaC5mb3JJbiA9IGZvckluO1xuICAgIGxvZGFzaC5mb3JJblJpZ2h0ID0gZm9ySW5SaWdodDtcbiAgICBsb2Rhc2guZm9yT3duID0gZm9yT3duO1xuICAgIGxvZGFzaC5mb3JPd25SaWdodCA9IGZvck93blJpZ2h0O1xuICAgIGxvZGFzaC5nZXQgPSBnZXQ7XG4gICAgbG9kYXNoLmd0ID0gZ3Q7XG4gICAgbG9kYXNoLmd0ZSA9IGd0ZTtcbiAgICBsb2Rhc2guaGFzID0gaGFzO1xuICAgIGxvZGFzaC5oYXNJbiA9IGhhc0luO1xuICAgIGxvZGFzaC5oZWFkID0gaGVhZDtcbiAgICBsb2Rhc2guaWRlbnRpdHkgPSBpZGVudGl0eTtcbiAgICBsb2Rhc2guaW5jbHVkZXMgPSBpbmNsdWRlcztcbiAgICBsb2Rhc2guaW5kZXhPZiA9IGluZGV4T2Y7XG4gICAgbG9kYXNoLmluUmFuZ2UgPSBpblJhbmdlO1xuICAgIGxvZGFzaC5pbnZva2UgPSBpbnZva2U7XG4gICAgbG9kYXNoLmlzQXJndW1lbnRzID0gaXNBcmd1bWVudHM7XG4gICAgbG9kYXNoLmlzQXJyYXkgPSBpc0FycmF5O1xuICAgIGxvZGFzaC5pc0FycmF5QnVmZmVyID0gaXNBcnJheUJ1ZmZlcjtcbiAgICBsb2Rhc2guaXNBcnJheUxpa2UgPSBpc0FycmF5TGlrZTtcbiAgICBsb2Rhc2guaXNBcnJheUxpa2VPYmplY3QgPSBpc0FycmF5TGlrZU9iamVjdDtcbiAgICBsb2Rhc2guaXNCb29sZWFuID0gaXNCb29sZWFuO1xuICAgIGxvZGFzaC5pc0J1ZmZlciA9IGlzQnVmZmVyO1xuICAgIGxvZGFzaC5pc0RhdGUgPSBpc0RhdGU7XG4gICAgbG9kYXNoLmlzRWxlbWVudCA9IGlzRWxlbWVudDtcbiAgICBsb2Rhc2guaXNFbXB0eSA9IGlzRW1wdHk7XG4gICAgbG9kYXNoLmlzRXF1YWwgPSBpc0VxdWFsO1xuICAgIGxvZGFzaC5pc0VxdWFsV2l0aCA9IGlzRXF1YWxXaXRoO1xuICAgIGxvZGFzaC5pc0Vycm9yID0gaXNFcnJvcjtcbiAgICBsb2Rhc2guaXNGaW5pdGUgPSBpc0Zpbml0ZTtcbiAgICBsb2Rhc2guaXNGdW5jdGlvbiA9IGlzRnVuY3Rpb247XG4gICAgbG9kYXNoLmlzSW50ZWdlciA9IGlzSW50ZWdlcjtcbiAgICBsb2Rhc2guaXNMZW5ndGggPSBpc0xlbmd0aDtcbiAgICBsb2Rhc2guaXNNYXAgPSBpc01hcDtcbiAgICBsb2Rhc2guaXNNYXRjaCA9IGlzTWF0Y2g7XG4gICAgbG9kYXNoLmlzTWF0Y2hXaXRoID0gaXNNYXRjaFdpdGg7XG4gICAgbG9kYXNoLmlzTmFOID0gaXNOYU47XG4gICAgbG9kYXNoLmlzTmF0aXZlID0gaXNOYXRpdmU7XG4gICAgbG9kYXNoLmlzTmlsID0gaXNOaWw7XG4gICAgbG9kYXNoLmlzTnVsbCA9IGlzTnVsbDtcbiAgICBsb2Rhc2guaXNOdW1iZXIgPSBpc051bWJlcjtcbiAgICBsb2Rhc2guaXNPYmplY3QgPSBpc09iamVjdDtcbiAgICBsb2Rhc2guaXNPYmplY3RMaWtlID0gaXNPYmplY3RMaWtlO1xuICAgIGxvZGFzaC5pc1BsYWluT2JqZWN0ID0gaXNQbGFpbk9iamVjdDtcbiAgICBsb2Rhc2guaXNSZWdFeHAgPSBpc1JlZ0V4cDtcbiAgICBsb2Rhc2guaXNTYWZlSW50ZWdlciA9IGlzU2FmZUludGVnZXI7XG4gICAgbG9kYXNoLmlzU2V0ID0gaXNTZXQ7XG4gICAgbG9kYXNoLmlzU3RyaW5nID0gaXNTdHJpbmc7XG4gICAgbG9kYXNoLmlzU3ltYm9sID0gaXNTeW1ib2w7XG4gICAgbG9kYXNoLmlzVHlwZWRBcnJheSA9IGlzVHlwZWRBcnJheTtcbiAgICBsb2Rhc2guaXNVbmRlZmluZWQgPSBpc1VuZGVmaW5lZDtcbiAgICBsb2Rhc2guaXNXZWFrTWFwID0gaXNXZWFrTWFwO1xuICAgIGxvZGFzaC5pc1dlYWtTZXQgPSBpc1dlYWtTZXQ7XG4gICAgbG9kYXNoLmpvaW4gPSBqb2luO1xuICAgIGxvZGFzaC5rZWJhYkNhc2UgPSBrZWJhYkNhc2U7XG4gICAgbG9kYXNoLmxhc3QgPSBsYXN0O1xuICAgIGxvZGFzaC5sYXN0SW5kZXhPZiA9IGxhc3RJbmRleE9mO1xuICAgIGxvZGFzaC5sb3dlckNhc2UgPSBsb3dlckNhc2U7XG4gICAgbG9kYXNoLmxvd2VyRmlyc3QgPSBsb3dlckZpcnN0O1xuICAgIGxvZGFzaC5sdCA9IGx0O1xuICAgIGxvZGFzaC5sdGUgPSBsdGU7XG4gICAgbG9kYXNoLm1heCA9IG1heDtcbiAgICBsb2Rhc2gubWF4QnkgPSBtYXhCeTtcbiAgICBsb2Rhc2gubWVhbiA9IG1lYW47XG4gICAgbG9kYXNoLm1lYW5CeSA9IG1lYW5CeTtcbiAgICBsb2Rhc2gubWluID0gbWluO1xuICAgIGxvZGFzaC5taW5CeSA9IG1pbkJ5O1xuICAgIGxvZGFzaC5zdHViQXJyYXkgPSBzdHViQXJyYXk7XG4gICAgbG9kYXNoLnN0dWJGYWxzZSA9IHN0dWJGYWxzZTtcbiAgICBsb2Rhc2guc3R1Yk9iamVjdCA9IHN0dWJPYmplY3Q7XG4gICAgbG9kYXNoLnN0dWJTdHJpbmcgPSBzdHViU3RyaW5nO1xuICAgIGxvZGFzaC5zdHViVHJ1ZSA9IHN0dWJUcnVlO1xuICAgIGxvZGFzaC5tdWx0aXBseSA9IG11bHRpcGx5O1xuICAgIGxvZGFzaC5udGggPSBudGg7XG4gICAgbG9kYXNoLm5vQ29uZmxpY3QgPSBub0NvbmZsaWN0O1xuICAgIGxvZGFzaC5ub29wID0gbm9vcDtcbiAgICBsb2Rhc2gubm93ID0gbm93O1xuICAgIGxvZGFzaC5wYWQgPSBwYWQ7XG4gICAgbG9kYXNoLnBhZEVuZCA9IHBhZEVuZDtcbiAgICBsb2Rhc2gucGFkU3RhcnQgPSBwYWRTdGFydDtcbiAgICBsb2Rhc2gucGFyc2VJbnQgPSBwYXJzZUludDtcbiAgICBsb2Rhc2gucmFuZG9tID0gcmFuZG9tO1xuICAgIGxvZGFzaC5yZWR1Y2UgPSByZWR1Y2U7XG4gICAgbG9kYXNoLnJlZHVjZVJpZ2h0ID0gcmVkdWNlUmlnaHQ7XG4gICAgbG9kYXNoLnJlcGVhdCA9IHJlcGVhdDtcbiAgICBsb2Rhc2gucmVwbGFjZSA9IHJlcGxhY2U7XG4gICAgbG9kYXNoLnJlc3VsdCA9IHJlc3VsdDtcbiAgICBsb2Rhc2gucm91bmQgPSByb3VuZDtcbiAgICBsb2Rhc2gucnVuSW5Db250ZXh0ID0gcnVuSW5Db250ZXh0O1xuICAgIGxvZGFzaC5zYW1wbGUgPSBzYW1wbGU7XG4gICAgbG9kYXNoLnNpemUgPSBzaXplO1xuICAgIGxvZGFzaC5zbmFrZUNhc2UgPSBzbmFrZUNhc2U7XG4gICAgbG9kYXNoLnNvbWUgPSBzb21lO1xuICAgIGxvZGFzaC5zb3J0ZWRJbmRleCA9IHNvcnRlZEluZGV4O1xuICAgIGxvZGFzaC5zb3J0ZWRJbmRleEJ5ID0gc29ydGVkSW5kZXhCeTtcbiAgICBsb2Rhc2guc29ydGVkSW5kZXhPZiA9IHNvcnRlZEluZGV4T2Y7XG4gICAgbG9kYXNoLnNvcnRlZExhc3RJbmRleCA9IHNvcnRlZExhc3RJbmRleDtcbiAgICBsb2Rhc2guc29ydGVkTGFzdEluZGV4QnkgPSBzb3J0ZWRMYXN0SW5kZXhCeTtcbiAgICBsb2Rhc2guc29ydGVkTGFzdEluZGV4T2YgPSBzb3J0ZWRMYXN0SW5kZXhPZjtcbiAgICBsb2Rhc2guc3RhcnRDYXNlID0gc3RhcnRDYXNlO1xuICAgIGxvZGFzaC5zdGFydHNXaXRoID0gc3RhcnRzV2l0aDtcbiAgICBsb2Rhc2guc3VidHJhY3QgPSBzdWJ0cmFjdDtcbiAgICBsb2Rhc2guc3VtID0gc3VtO1xuICAgIGxvZGFzaC5zdW1CeSA9IHN1bUJ5O1xuICAgIGxvZGFzaC50ZW1wbGF0ZSA9IHRlbXBsYXRlO1xuICAgIGxvZGFzaC50aW1lcyA9IHRpbWVzO1xuICAgIGxvZGFzaC50b0Zpbml0ZSA9IHRvRmluaXRlO1xuICAgIGxvZGFzaC50b0ludGVnZXIgPSB0b0ludGVnZXI7XG4gICAgbG9kYXNoLnRvTGVuZ3RoID0gdG9MZW5ndGg7XG4gICAgbG9kYXNoLnRvTG93ZXIgPSB0b0xvd2VyO1xuICAgIGxvZGFzaC50b051bWJlciA9IHRvTnVtYmVyO1xuICAgIGxvZGFzaC50b1NhZmVJbnRlZ2VyID0gdG9TYWZlSW50ZWdlcjtcbiAgICBsb2Rhc2gudG9TdHJpbmcgPSB0b1N0cmluZztcbiAgICBsb2Rhc2gudG9VcHBlciA9IHRvVXBwZXI7XG4gICAgbG9kYXNoLnRyaW0gPSB0cmltO1xuICAgIGxvZGFzaC50cmltRW5kID0gdHJpbUVuZDtcbiAgICBsb2Rhc2gudHJpbVN0YXJ0ID0gdHJpbVN0YXJ0O1xuICAgIGxvZGFzaC50cnVuY2F0ZSA9IHRydW5jYXRlO1xuICAgIGxvZGFzaC51bmVzY2FwZSA9IHVuZXNjYXBlO1xuICAgIGxvZGFzaC51bmlxdWVJZCA9IHVuaXF1ZUlkO1xuICAgIGxvZGFzaC51cHBlckNhc2UgPSB1cHBlckNhc2U7XG4gICAgbG9kYXNoLnVwcGVyRmlyc3QgPSB1cHBlckZpcnN0O1xuXG4gICAgLy8gQWRkIGFsaWFzZXMuXG4gICAgbG9kYXNoLmVhY2ggPSBmb3JFYWNoO1xuICAgIGxvZGFzaC5lYWNoUmlnaHQgPSBmb3JFYWNoUmlnaHQ7XG4gICAgbG9kYXNoLmZpcnN0ID0gaGVhZDtcblxuICAgIG1peGluKGxvZGFzaCwgKGZ1bmN0aW9uKCkge1xuICAgICAgdmFyIHNvdXJjZSA9IHt9O1xuICAgICAgYmFzZUZvck93bihsb2Rhc2gsIGZ1bmN0aW9uKGZ1bmMsIG1ldGhvZE5hbWUpIHtcbiAgICAgICAgaWYgKCFoYXNPd25Qcm9wZXJ0eS5jYWxsKGxvZGFzaC5wcm90b3R5cGUsIG1ldGhvZE5hbWUpKSB7XG4gICAgICAgICAgc291cmNlW21ldGhvZE5hbWVdID0gZnVuYztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gc291cmNlO1xuICAgIH0oKSksIHsgJ2NoYWluJzogZmFsc2UgfSk7XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBUaGUgc2VtYW50aWMgdmVyc2lvbiBudW1iZXIuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgICAqL1xuICAgIGxvZGFzaC5WRVJTSU9OID0gVkVSU0lPTjtcblxuICAgIC8vIEFzc2lnbiBkZWZhdWx0IHBsYWNlaG9sZGVycy5cbiAgICBhcnJheUVhY2goWydiaW5kJywgJ2JpbmRLZXknLCAnY3VycnknLCAnY3VycnlSaWdodCcsICdwYXJ0aWFsJywgJ3BhcnRpYWxSaWdodCddLCBmdW5jdGlvbihtZXRob2ROYW1lKSB7XG4gICAgICBsb2Rhc2hbbWV0aG9kTmFtZV0ucGxhY2Vob2xkZXIgPSBsb2Rhc2g7XG4gICAgfSk7XG5cbiAgICAvLyBBZGQgYExhenlXcmFwcGVyYCBtZXRob2RzIGZvciBgXy5kcm9wYCBhbmQgYF8udGFrZWAgdmFyaWFudHMuXG4gICAgYXJyYXlFYWNoKFsnZHJvcCcsICd0YWtlJ10sIGZ1bmN0aW9uKG1ldGhvZE5hbWUsIGluZGV4KSB7XG4gICAgICBMYXp5V3JhcHBlci5wcm90b3R5cGVbbWV0aG9kTmFtZV0gPSBmdW5jdGlvbihuKSB7XG4gICAgICAgIG4gPSBuID09PSB1bmRlZmluZWQgPyAxIDogbmF0aXZlTWF4KHRvSW50ZWdlcihuKSwgMCk7XG5cbiAgICAgICAgdmFyIHJlc3VsdCA9ICh0aGlzLl9fZmlsdGVyZWRfXyAmJiAhaW5kZXgpXG4gICAgICAgICAgPyBuZXcgTGF6eVdyYXBwZXIodGhpcylcbiAgICAgICAgICA6IHRoaXMuY2xvbmUoKTtcblxuICAgICAgICBpZiAocmVzdWx0Ll9fZmlsdGVyZWRfXykge1xuICAgICAgICAgIHJlc3VsdC5fX3Rha2VDb3VudF9fID0gbmF0aXZlTWluKG4sIHJlc3VsdC5fX3Rha2VDb3VudF9fKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXN1bHQuX192aWV3c19fLnB1c2goe1xuICAgICAgICAgICAgJ3NpemUnOiBuYXRpdmVNaW4obiwgTUFYX0FSUkFZX0xFTkdUSCksXG4gICAgICAgICAgICAndHlwZSc6IG1ldGhvZE5hbWUgKyAocmVzdWx0Ll9fZGlyX18gPCAwID8gJ1JpZ2h0JyA6ICcnKVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9O1xuXG4gICAgICBMYXp5V3JhcHBlci5wcm90b3R5cGVbbWV0aG9kTmFtZSArICdSaWdodCddID0gZnVuY3Rpb24obikge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXZlcnNlKClbbWV0aG9kTmFtZV0obikucmV2ZXJzZSgpO1xuICAgICAgfTtcbiAgICB9KTtcblxuICAgIC8vIEFkZCBgTGF6eVdyYXBwZXJgIG1ldGhvZHMgdGhhdCBhY2NlcHQgYW4gYGl0ZXJhdGVlYCB2YWx1ZS5cbiAgICBhcnJheUVhY2goWydmaWx0ZXInLCAnbWFwJywgJ3Rha2VXaGlsZSddLCBmdW5jdGlvbihtZXRob2ROYW1lLCBpbmRleCkge1xuICAgICAgdmFyIHR5cGUgPSBpbmRleCArIDEsXG4gICAgICAgICAgaXNGaWx0ZXIgPSB0eXBlID09IExBWllfRklMVEVSX0ZMQUcgfHwgdHlwZSA9PSBMQVpZX1dISUxFX0ZMQUc7XG5cbiAgICAgIExhenlXcmFwcGVyLnByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKGl0ZXJhdGVlKSB7XG4gICAgICAgIHZhciByZXN1bHQgPSB0aGlzLmNsb25lKCk7XG4gICAgICAgIHJlc3VsdC5fX2l0ZXJhdGVlc19fLnB1c2goe1xuICAgICAgICAgICdpdGVyYXRlZSc6IGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAzKSxcbiAgICAgICAgICAndHlwZSc6IHR5cGVcbiAgICAgICAgfSk7XG4gICAgICAgIHJlc3VsdC5fX2ZpbHRlcmVkX18gPSByZXN1bHQuX19maWx0ZXJlZF9fIHx8IGlzRmlsdGVyO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfTtcbiAgICB9KTtcblxuICAgIC8vIEFkZCBgTGF6eVdyYXBwZXJgIG1ldGhvZHMgZm9yIGBfLmhlYWRgIGFuZCBgXy5sYXN0YC5cbiAgICBhcnJheUVhY2goWydoZWFkJywgJ2xhc3QnXSwgZnVuY3Rpb24obWV0aG9kTmFtZSwgaW5kZXgpIHtcbiAgICAgIHZhciB0YWtlTmFtZSA9ICd0YWtlJyArIChpbmRleCA/ICdSaWdodCcgOiAnJyk7XG5cbiAgICAgIExhenlXcmFwcGVyLnByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpc1t0YWtlTmFtZV0oMSkudmFsdWUoKVswXTtcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICAvLyBBZGQgYExhenlXcmFwcGVyYCBtZXRob2RzIGZvciBgXy5pbml0aWFsYCBhbmQgYF8udGFpbGAuXG4gICAgYXJyYXlFYWNoKFsnaW5pdGlhbCcsICd0YWlsJ10sIGZ1bmN0aW9uKG1ldGhvZE5hbWUsIGluZGV4KSB7XG4gICAgICB2YXIgZHJvcE5hbWUgPSAnZHJvcCcgKyAoaW5kZXggPyAnJyA6ICdSaWdodCcpO1xuXG4gICAgICBMYXp5V3JhcHBlci5wcm90b3R5cGVbbWV0aG9kTmFtZV0gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX19maWx0ZXJlZF9fID8gbmV3IExhenlXcmFwcGVyKHRoaXMpIDogdGhpc1tkcm9wTmFtZV0oMSk7XG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgTGF6eVdyYXBwZXIucHJvdG90eXBlLmNvbXBhY3QgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlcihpZGVudGl0eSk7XG4gICAgfTtcblxuICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS5maW5kID0gZnVuY3Rpb24ocHJlZGljYXRlKSB7XG4gICAgICByZXR1cm4gdGhpcy5maWx0ZXIocHJlZGljYXRlKS5oZWFkKCk7XG4gICAgfTtcblxuICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS5maW5kTGFzdCA9IGZ1bmN0aW9uKHByZWRpY2F0ZSkge1xuICAgICAgcmV0dXJuIHRoaXMucmV2ZXJzZSgpLmZpbmQocHJlZGljYXRlKTtcbiAgICB9O1xuXG4gICAgTGF6eVdyYXBwZXIucHJvdG90eXBlLmludm9rZU1hcCA9IGJhc2VSZXN0KGZ1bmN0aW9uKHBhdGgsIGFyZ3MpIHtcbiAgICAgIGlmICh0eXBlb2YgcGF0aCA9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBuZXcgTGF6eVdyYXBwZXIodGhpcyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGJhc2VJbnZva2UodmFsdWUsIHBhdGgsIGFyZ3MpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBMYXp5V3JhcHBlci5wcm90b3R5cGUucmVqZWN0ID0gZnVuY3Rpb24ocHJlZGljYXRlKSB7XG4gICAgICByZXR1cm4gdGhpcy5maWx0ZXIobmVnYXRlKGdldEl0ZXJhdGVlKHByZWRpY2F0ZSkpKTtcbiAgICB9O1xuXG4gICAgTGF6eVdyYXBwZXIucHJvdG90eXBlLnNsaWNlID0gZnVuY3Rpb24oc3RhcnQsIGVuZCkge1xuICAgICAgc3RhcnQgPSB0b0ludGVnZXIoc3RhcnQpO1xuXG4gICAgICB2YXIgcmVzdWx0ID0gdGhpcztcbiAgICAgIGlmIChyZXN1bHQuX19maWx0ZXJlZF9fICYmIChzdGFydCA+IDAgfHwgZW5kIDwgMCkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMYXp5V3JhcHBlcihyZXN1bHQpO1xuICAgICAgfVxuICAgICAgaWYgKHN0YXJ0IDwgMCkge1xuICAgICAgICByZXN1bHQgPSByZXN1bHQudGFrZVJpZ2h0KC1zdGFydCk7XG4gICAgICB9IGVsc2UgaWYgKHN0YXJ0KSB7XG4gICAgICAgIHJlc3VsdCA9IHJlc3VsdC5kcm9wKHN0YXJ0KTtcbiAgICAgIH1cbiAgICAgIGlmIChlbmQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBlbmQgPSB0b0ludGVnZXIoZW5kKTtcbiAgICAgICAgcmVzdWx0ID0gZW5kIDwgMCA/IHJlc3VsdC5kcm9wUmlnaHQoLWVuZCkgOiByZXN1bHQudGFrZShlbmQgLSBzdGFydCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH07XG5cbiAgICBMYXp5V3JhcHBlci5wcm90b3R5cGUudGFrZVJpZ2h0V2hpbGUgPSBmdW5jdGlvbihwcmVkaWNhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLnJldmVyc2UoKS50YWtlV2hpbGUocHJlZGljYXRlKS5yZXZlcnNlKCk7XG4gICAgfTtcblxuICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS50b0FycmF5ID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gdGhpcy50YWtlKE1BWF9BUlJBWV9MRU5HVEgpO1xuICAgIH07XG5cbiAgICAvLyBBZGQgYExhenlXcmFwcGVyYCBtZXRob2RzIHRvIGBsb2Rhc2gucHJvdG90eXBlYC5cbiAgICBiYXNlRm9yT3duKExhenlXcmFwcGVyLnByb3RvdHlwZSwgZnVuY3Rpb24oZnVuYywgbWV0aG9kTmFtZSkge1xuICAgICAgdmFyIGNoZWNrSXRlcmF0ZWUgPSAvXig/OmZpbHRlcnxmaW5kfG1hcHxyZWplY3QpfFdoaWxlJC8udGVzdChtZXRob2ROYW1lKSxcbiAgICAgICAgICBpc1Rha2VyID0gL14oPzpoZWFkfGxhc3QpJC8udGVzdChtZXRob2ROYW1lKSxcbiAgICAgICAgICBsb2Rhc2hGdW5jID0gbG9kYXNoW2lzVGFrZXIgPyAoJ3Rha2UnICsgKG1ldGhvZE5hbWUgPT0gJ2xhc3QnID8gJ1JpZ2h0JyA6ICcnKSkgOiBtZXRob2ROYW1lXSxcbiAgICAgICAgICByZXRVbndyYXBwZWQgPSBpc1Rha2VyIHx8IC9eZmluZC8udGVzdChtZXRob2ROYW1lKTtcblxuICAgICAgaWYgKCFsb2Rhc2hGdW5jKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGxvZGFzaC5wcm90b3R5cGVbbWV0aG9kTmFtZV0gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gdGhpcy5fX3dyYXBwZWRfXyxcbiAgICAgICAgICAgIGFyZ3MgPSBpc1Rha2VyID8gWzFdIDogYXJndW1lbnRzLFxuICAgICAgICAgICAgaXNMYXp5ID0gdmFsdWUgaW5zdGFuY2VvZiBMYXp5V3JhcHBlcixcbiAgICAgICAgICAgIGl0ZXJhdGVlID0gYXJnc1swXSxcbiAgICAgICAgICAgIHVzZUxhenkgPSBpc0xhenkgfHwgaXNBcnJheSh2YWx1ZSk7XG5cbiAgICAgICAgdmFyIGludGVyY2VwdG9yID0gZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgICAgICB2YXIgcmVzdWx0ID0gbG9kYXNoRnVuYy5hcHBseShsb2Rhc2gsIGFycmF5UHVzaChbdmFsdWVdLCBhcmdzKSk7XG4gICAgICAgICAgcmV0dXJuIChpc1Rha2VyICYmIGNoYWluQWxsKSA/IHJlc3VsdFswXSA6IHJlc3VsdDtcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodXNlTGF6eSAmJiBjaGVja0l0ZXJhdGVlICYmIHR5cGVvZiBpdGVyYXRlZSA9PSAnZnVuY3Rpb24nICYmIGl0ZXJhdGVlLmxlbmd0aCAhPSAxKSB7XG4gICAgICAgICAgLy8gQXZvaWQgbGF6eSB1c2UgaWYgdGhlIGl0ZXJhdGVlIGhhcyBhIFwibGVuZ3RoXCIgdmFsdWUgb3RoZXIgdGhhbiBgMWAuXG4gICAgICAgICAgaXNMYXp5ID0gdXNlTGF6eSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHZhciBjaGFpbkFsbCA9IHRoaXMuX19jaGFpbl9fLFxuICAgICAgICAgICAgaXNIeWJyaWQgPSAhIXRoaXMuX19hY3Rpb25zX18ubGVuZ3RoLFxuICAgICAgICAgICAgaXNVbndyYXBwZWQgPSByZXRVbndyYXBwZWQgJiYgIWNoYWluQWxsLFxuICAgICAgICAgICAgb25seUxhenkgPSBpc0xhenkgJiYgIWlzSHlicmlkO1xuXG4gICAgICAgIGlmICghcmV0VW53cmFwcGVkICYmIHVzZUxhenkpIHtcbiAgICAgICAgICB2YWx1ZSA9IG9ubHlMYXp5ID8gdmFsdWUgOiBuZXcgTGF6eVdyYXBwZXIodGhpcyk7XG4gICAgICAgICAgdmFyIHJlc3VsdCA9IGZ1bmMuYXBwbHkodmFsdWUsIGFyZ3MpO1xuICAgICAgICAgIHJlc3VsdC5fX2FjdGlvbnNfXy5wdXNoKHsgJ2Z1bmMnOiB0aHJ1LCAnYXJncyc6IFtpbnRlcmNlcHRvcl0sICd0aGlzQXJnJzogdW5kZWZpbmVkIH0pO1xuICAgICAgICAgIHJldHVybiBuZXcgTG9kYXNoV3JhcHBlcihyZXN1bHQsIGNoYWluQWxsKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNVbndyYXBwZWQgJiYgb25seUxhenkpIHtcbiAgICAgICAgICByZXR1cm4gZnVuYy5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgICAgfVxuICAgICAgICByZXN1bHQgPSB0aGlzLnRocnUoaW50ZXJjZXB0b3IpO1xuICAgICAgICByZXR1cm4gaXNVbndyYXBwZWQgPyAoaXNUYWtlciA/IHJlc3VsdC52YWx1ZSgpWzBdIDogcmVzdWx0LnZhbHVlKCkpIDogcmVzdWx0O1xuICAgICAgfTtcbiAgICB9KTtcblxuICAgIC8vIEFkZCBgQXJyYXlgIG1ldGhvZHMgdG8gYGxvZGFzaC5wcm90b3R5cGVgLlxuICAgIGFycmF5RWFjaChbJ3BvcCcsICdwdXNoJywgJ3NoaWZ0JywgJ3NvcnQnLCAnc3BsaWNlJywgJ3Vuc2hpZnQnXSwgZnVuY3Rpb24obWV0aG9kTmFtZSkge1xuICAgICAgdmFyIGZ1bmMgPSBhcnJheVByb3RvW21ldGhvZE5hbWVdLFxuICAgICAgICAgIGNoYWluTmFtZSA9IC9eKD86cHVzaHxzb3J0fHVuc2hpZnQpJC8udGVzdChtZXRob2ROYW1lKSA/ICd0YXAnIDogJ3RocnUnLFxuICAgICAgICAgIHJldFVud3JhcHBlZCA9IC9eKD86cG9wfHNoaWZ0KSQvLnRlc3QobWV0aG9kTmFtZSk7XG5cbiAgICAgIGxvZGFzaC5wcm90b3R5cGVbbWV0aG9kTmFtZV0gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGFyZ3MgPSBhcmd1bWVudHM7XG4gICAgICAgIGlmIChyZXRVbndyYXBwZWQgJiYgIXRoaXMuX19jaGFpbl9fKSB7XG4gICAgICAgICAgdmFyIHZhbHVlID0gdGhpcy52YWx1ZSgpO1xuICAgICAgICAgIHJldHVybiBmdW5jLmFwcGx5KGlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbXSwgYXJncyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXNbY2hhaW5OYW1lXShmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiBmdW5jLmFwcGx5KGlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbXSwgYXJncyk7XG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICB9KTtcblxuICAgIC8vIE1hcCBtaW5pZmllZCBtZXRob2QgbmFtZXMgdG8gdGhlaXIgcmVhbCBuYW1lcy5cbiAgICBiYXNlRm9yT3duKExhenlXcmFwcGVyLnByb3RvdHlwZSwgZnVuY3Rpb24oZnVuYywgbWV0aG9kTmFtZSkge1xuICAgICAgdmFyIGxvZGFzaEZ1bmMgPSBsb2Rhc2hbbWV0aG9kTmFtZV07XG4gICAgICBpZiAobG9kYXNoRnVuYykge1xuICAgICAgICB2YXIga2V5ID0gbG9kYXNoRnVuYy5uYW1lICsgJyc7XG4gICAgICAgIGlmICghaGFzT3duUHJvcGVydHkuY2FsbChyZWFsTmFtZXMsIGtleSkpIHtcbiAgICAgICAgICByZWFsTmFtZXNba2V5XSA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIHJlYWxOYW1lc1trZXldLnB1c2goeyAnbmFtZSc6IG1ldGhvZE5hbWUsICdmdW5jJzogbG9kYXNoRnVuYyB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJlYWxOYW1lc1tjcmVhdGVIeWJyaWQodW5kZWZpbmVkLCBXUkFQX0JJTkRfS0VZX0ZMQUcpLm5hbWVdID0gW3tcbiAgICAgICduYW1lJzogJ3dyYXBwZXInLFxuICAgICAgJ2Z1bmMnOiB1bmRlZmluZWRcbiAgICB9XTtcblxuICAgIC8vIEFkZCBtZXRob2RzIHRvIGBMYXp5V3JhcHBlcmAuXG4gICAgTGF6eVdyYXBwZXIucHJvdG90eXBlLmNsb25lID0gbGF6eUNsb25lO1xuICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS5yZXZlcnNlID0gbGF6eVJldmVyc2U7XG4gICAgTGF6eVdyYXBwZXIucHJvdG90eXBlLnZhbHVlID0gbGF6eVZhbHVlO1xuXG4gICAgLy8gQWRkIGNoYWluIHNlcXVlbmNlIG1ldGhvZHMgdG8gdGhlIGBsb2Rhc2hgIHdyYXBwZXIuXG4gICAgbG9kYXNoLnByb3RvdHlwZS5hdCA9IHdyYXBwZXJBdDtcbiAgICBsb2Rhc2gucHJvdG90eXBlLmNoYWluID0gd3JhcHBlckNoYWluO1xuICAgIGxvZGFzaC5wcm90b3R5cGUuY29tbWl0ID0gd3JhcHBlckNvbW1pdDtcbiAgICBsb2Rhc2gucHJvdG90eXBlLm5leHQgPSB3cmFwcGVyTmV4dDtcbiAgICBsb2Rhc2gucHJvdG90eXBlLnBsYW50ID0gd3JhcHBlclBsYW50O1xuICAgIGxvZGFzaC5wcm90b3R5cGUucmV2ZXJzZSA9IHdyYXBwZXJSZXZlcnNlO1xuICAgIGxvZGFzaC5wcm90b3R5cGUudG9KU09OID0gbG9kYXNoLnByb3RvdHlwZS52YWx1ZU9mID0gbG9kYXNoLnByb3RvdHlwZS52YWx1ZSA9IHdyYXBwZXJWYWx1ZTtcblxuICAgIC8vIEFkZCBsYXp5IGFsaWFzZXMuXG4gICAgbG9kYXNoLnByb3RvdHlwZS5maXJzdCA9IGxvZGFzaC5wcm90b3R5cGUuaGVhZDtcblxuICAgIGlmIChzeW1JdGVyYXRvcikge1xuICAgICAgbG9kYXNoLnByb3RvdHlwZVtzeW1JdGVyYXRvcl0gPSB3cmFwcGVyVG9JdGVyYXRvcjtcbiAgICB9XG4gICAgcmV0dXJuIGxvZGFzaDtcbiAgfSk7XG5cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgLy8gRXhwb3J0IGxvZGFzaC5cbiAgdmFyIF8gPSBydW5JbkNvbnRleHQoKTtcblxuICAvLyBTb21lIEFNRCBidWlsZCBvcHRpbWl6ZXJzLCBsaWtlIHIuanMsIGNoZWNrIGZvciBjb25kaXRpb24gcGF0dGVybnMgbGlrZTpcbiAgaWYgKHR5cGVvZiBkZWZpbmUgPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgZGVmaW5lLmFtZCA9PSAnb2JqZWN0JyAmJiBkZWZpbmUuYW1kKSB7XG4gICAgLy8gRXhwb3NlIExvZGFzaCBvbiB0aGUgZ2xvYmFsIG9iamVjdCB0byBwcmV2ZW50IGVycm9ycyB3aGVuIExvZGFzaCBpc1xuICAgIC8vIGxvYWRlZCBieSBhIHNjcmlwdCB0YWcgaW4gdGhlIHByZXNlbmNlIG9mIGFuIEFNRCBsb2FkZXIuXG4gICAgLy8gU2VlIGh0dHA6Ly9yZXF1aXJlanMub3JnL2RvY3MvZXJyb3JzLmh0bWwjbWlzbWF0Y2ggZm9yIG1vcmUgZGV0YWlscy5cbiAgICAvLyBVc2UgYF8ubm9Db25mbGljdGAgdG8gcmVtb3ZlIExvZGFzaCBmcm9tIHRoZSBnbG9iYWwgb2JqZWN0LlxuICAgIHJvb3QuXyA9IF87XG5cbiAgICAvLyBEZWZpbmUgYXMgYW4gYW5vbnltb3VzIG1vZHVsZSBzbywgdGhyb3VnaCBwYXRoIG1hcHBpbmcsIGl0IGNhbiBiZVxuICAgIC8vIHJlZmVyZW5jZWQgYXMgdGhlIFwidW5kZXJzY29yZVwiIG1vZHVsZS5cbiAgICBkZWZpbmUoZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gXztcbiAgICB9KTtcbiAgfVxuICAvLyBDaGVjayBmb3IgYGV4cG9ydHNgIGFmdGVyIGBkZWZpbmVgIGluIGNhc2UgYSBidWlsZCBvcHRpbWl6ZXIgYWRkcyBpdC5cbiAgZWxzZSBpZiAoZnJlZU1vZHVsZSkge1xuICAgIC8vIEV4cG9ydCBmb3IgTm9kZS5qcy5cbiAgICAoZnJlZU1vZHVsZS5leHBvcnRzID0gXykuXyA9IF87XG4gICAgLy8gRXhwb3J0IGZvciBDb21tb25KUyBzdXBwb3J0LlxuICAgIGZyZWVFeHBvcnRzLl8gPSBfO1xuICB9XG4gIGVsc2Uge1xuICAgIC8vIEV4cG9ydCB0byB0aGUgZ2xvYmFsIG9iamVjdC5cbiAgICByb290Ll8gPSBfO1xuICB9XG59LmNhbGwodGhpcykpO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2xvZGFzaEA0LjE3LjE1QGxvZGFzaC9sb2Rhc2guanNcbi8vIG1vZHVsZSBpZCA9IDM2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///36\n");
310
311/***/ }),
312/* 37 */
313/***/ (function(module, exports, __webpack_require__) {
314
315eval("// 7.1.15 ToLength\nvar toInteger = __webpack_require__(56);\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWxlbmd0aC5qcz9kNWI1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsZ0JBQWdCLG1CQUFPLENBQUMsRUFBZTtBQUN2QztBQUNBO0FBQ0EsMkRBQTJEO0FBQzNEIiwiZmlsZSI6IjM3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gNy4xLjE1IFRvTGVuZ3RoXG52YXIgdG9JbnRlZ2VyID0gcmVxdWlyZSgnLi9fdG8taW50ZWdlcicpO1xudmFyIG1pbiA9IE1hdGgubWluO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGl0ID4gMCA/IG1pbih0b0ludGVnZXIoaXQpLCAweDFmZmZmZmZmZmZmZmZmKSA6IDA7IC8vIHBvdygyLCA1MykgLSAxID09IDkwMDcxOTkyNTQ3NDA5OTFcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8tbGVuZ3RoLmpzXG4vLyBtb2R1bGUgaWQgPSAzN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///37\n");
316
317/***/ }),
318/* 38 */
319/***/ (function(module, exports, __webpack_require__) {
320
321eval("var def = __webpack_require__(17).f;\nvar has = __webpack_require__(32);\nvar TAG = __webpack_require__(12)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NldC10by1zdHJpbmctdGFnLmpzP2I1ZGIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVSxtQkFBTyxDQUFDLEVBQWM7QUFDaEMsVUFBVSxtQkFBTyxDQUFDLEVBQVE7QUFDMUIsVUFBVSxtQkFBTyxDQUFDLEVBQVE7O0FBRTFCO0FBQ0Esb0VBQW9FLGlDQUFpQztBQUNyRyIsImZpbGUiOiIzOC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkZWYgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKS5mO1xudmFyIGhhcyA9IHJlcXVpcmUoJy4vX2hhcycpO1xudmFyIFRBRyA9IHJlcXVpcmUoJy4vX3drcycpKCd0b1N0cmluZ1RhZycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCwgdGFnLCBzdGF0KSB7XG4gIGlmIChpdCAmJiAhaGFzKGl0ID0gc3RhdCA/IGl0IDogaXQucHJvdG90eXBlLCBUQUcpKSBkZWYoaXQsIFRBRywgeyBjb25maWd1cmFibGU6IHRydWUsIHZhbHVlOiB0YWcgfSk7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NldC10by1zdHJpbmctdGFnLmpzXG4vLyBtb2R1bGUgaWQgPSAzOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///38\n");
322
323/***/ }),
324/* 39 */
325/***/ (function(module, exports, __webpack_require__) {
326
327eval("// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(30);\nvar TAG = __webpack_require__(12)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2NsYXNzb2YuanM/OTVmOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLFVBQVUsbUJBQU8sQ0FBQyxFQUFRO0FBQzFCLFVBQVUsbUJBQU8sQ0FBQyxFQUFRO0FBQzFCO0FBQ0EsMkJBQTJCLGtCQUFrQixFQUFFOztBQUUvQztBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsWUFBWTtBQUNmOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjM5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZ2V0dGluZyB0YWcgZnJvbSAxOS4xLjMuNiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKClcbnZhciBjb2YgPSByZXF1aXJlKCcuL19jb2YnKTtcbnZhciBUQUcgPSByZXF1aXJlKCcuL193a3MnKSgndG9TdHJpbmdUYWcnKTtcbi8vIEVTMyB3cm9uZyBoZXJlXG52YXIgQVJHID0gY29mKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSgpKSA9PSAnQXJndW1lbnRzJztcblxuLy8gZmFsbGJhY2sgZm9yIElFMTEgU2NyaXB0IEFjY2VzcyBEZW5pZWQgZXJyb3JcbnZhciB0cnlHZXQgPSBmdW5jdGlvbiAoaXQsIGtleSkge1xuICB0cnkge1xuICAgIHJldHVybiBpdFtrZXldO1xuICB9IGNhdGNoIChlKSB7IC8qIGVtcHR5ICovIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHZhciBPLCBULCBCO1xuICByZXR1cm4gaXQgPT09IHVuZGVmaW5lZCA/ICdVbmRlZmluZWQnIDogaXQgPT09IG51bGwgPyAnTnVsbCdcbiAgICAvLyBAQHRvU3RyaW5nVGFnIGNhc2VcbiAgICA6IHR5cGVvZiAoVCA9IHRyeUdldChPID0gT2JqZWN0KGl0KSwgVEFHKSkgPT0gJ3N0cmluZycgPyBUXG4gICAgLy8gYnVpbHRpblRhZyBjYXNlXG4gICAgOiBBUkcgPyBjb2YoTylcbiAgICAvLyBFUzMgYXJndW1lbnRzIGZhbGxiYWNrXG4gICAgOiAoQiA9IGNvZihPKSkgPT0gJ09iamVjdCcgJiYgdHlwZW9mIE8uY2FsbGVlID09ICdmdW5jdGlvbicgPyAnQXJndW1lbnRzJyA6IEI7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2NsYXNzb2YuanNcbi8vIG1vZHVsZSBpZCA9IDM5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///39\n");
328
329/***/ }),
330/* 40 */
331/***/ (function(module, exports, __webpack_require__) {
332
333eval("module.exports = { \"default\": __webpack_require__(243), __esModule: true };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvY29yZS1qcy9vYmplY3QvYXNzaWduLmpzPzY4MGYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQWtCLFlBQVksbUJBQU8sQ0FBQyxHQUFrQyIsImZpbGUiOiI0MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0geyBcImRlZmF1bHRcIjogcmVxdWlyZShcImNvcmUtanMvbGlicmFyeS9mbi9vYmplY3QvYXNzaWduXCIpLCBfX2VzTW9kdWxlOiB0cnVlIH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvY29yZS1qcy9vYmplY3QvYXNzaWduLmpzXG4vLyBtb2R1bGUgaWQgPSA0MFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///40\n");
334
335/***/ }),
336/* 41 */
337/***/ (function(module, exports, __webpack_require__) {
338
339eval("module.exports = { \"default\": __webpack_require__(257), __esModule: true };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvY29yZS1qcy9vYmplY3Qva2V5cy5qcz82NGIxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtCQUFrQixZQUFZLG1CQUFPLENBQUMsR0FBZ0MiLCJmaWxlIjoiNDEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHsgXCJkZWZhdWx0XCI6IHJlcXVpcmUoXCJjb3JlLWpzL2xpYnJhcnkvZm4vb2JqZWN0L2tleXNcIiksIF9fZXNNb2R1bGU6IHRydWUgfTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fYmFiZWwtcnVudGltZUA2LjI2LjBAYmFiZWwtcnVudGltZS9jb3JlLWpzL29iamVjdC9rZXlzLmpzXG4vLyBtb2R1bGUgaWQgPSA0MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///41\n");
340
341/***/ }),
342/* 42 */
343/***/ (function(module, exports, __webpack_require__) {
344
345"use strict";
346eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.mountSlot = exports.mount = undefined;\n\nvar _promise = __webpack_require__(89);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nvar _mountMixin = __webpack_require__(290);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _Vue_ = null;\n\nexports.default = function (Vue) {\n _Vue_ = Vue;\n};\n\nvar mount = exports.mount = function mount($el, component, isAppend, instanceKey, store) {\n return new _promise2.default(function (resolve, reject) {\n var $mountDom = null;\n if (isAppend) {\n var span = document.createElement('span');\n $el.appendChild(span);\n $mountDom = span;\n } else {\n $mountDom = $el;\n }\n var vm = new _Vue_({\n extends: component,\n mixins: [_mountMixin.HelperClass],\n store: store\n });\n if (!vm.$store) {\n vm.$store = store;\n }\n\n vm.__crrtInstanceKey__ = instanceKey;\n vm.$mount($mountDom);\n\n resolve(vm);\n });\n};\nvar mountSlot = exports.mountSlot = function mountSlot(parentVm, data, component, slotName, instanceKey, store, domObj) {\n return new _promise2.default(function (resolve, reject) {\n var WrapperComponent = {\n extends: component,\n mixins: [_mountMixin.HelperClass, {\n data: data,\n props: {\n __crrtInstanceKey__: {\n type: String,\n default: instanceKey\n }\n }\n }],\n store: store\n };\n var elem = parentVm.$createElement(WrapperComponent);\n\n if (Array.isArray(parentVm.$slots[slotName])) {\n if (domObj.isInsert) {\n parentVm.$slots[slotName].splice(domObj.childIndex, 0, elem);\n } else {\n parentVm.$slots[slotName].push(elem);\n }\n } else {\n parentVm.$slots[slotName] = [elem];\n }\n\n parentVm.$forceUpdate();\n parentVm.$nextTick(function () {\n resolve(elem);\n });\n });\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvc2VydmljZS9tb3VudC5qcz9kZGQ0Il0sIm5hbWVzIjpbIl9WdWVfIiwiVnVlIiwibW91bnQiLCIkZWwiLCJjb21wb25lbnQiLCJpc0FwcGVuZCIsImluc3RhbmNlS2V5Iiwic3RvcmUiLCJyZXNvbHZlIiwicmVqZWN0IiwiJG1vdW50RG9tIiwic3BhbiIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImFwcGVuZENoaWxkIiwidm0iLCJleHRlbmRzIiwibWl4aW5zIiwiSGVscGVyQ2xhc3MiLCIkc3RvcmUiLCJfX2NycnRJbnN0YW5jZUtleV9fIiwiJG1vdW50IiwibW91bnRTbG90IiwicGFyZW50Vm0iLCJkYXRhIiwic2xvdE5hbWUiLCJkb21PYmoiLCJXcmFwcGVyQ29tcG9uZW50IiwicHJvcHMiLCJ0eXBlIiwiU3RyaW5nIiwiZGVmYXVsdCIsImVsZW0iLCIkY3JlYXRlRWxlbWVudCIsIkFycmF5IiwiaXNBcnJheSIsIiRzbG90cyIsImlzSW5zZXJ0Iiwic3BsaWNlIiwiY2hpbGRJbmRleCIsInB1c2giLCIkZm9yY2VVcGRhdGUiLCIkbmV4dFRpY2siXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7Ozs7QUFDQSxJQUFJQSxRQUFRLElBQVo7O2tCQUNlLFVBQUNDLEdBQUQsRUFBUztBQUNwQkQsWUFBUUMsR0FBUjtBQUNILEM7O0FBVU0sSUFBTUMsd0JBQVEsU0FBUkEsS0FBUSxDQUFDQyxHQUFELEVBQU1DLFNBQU4sRUFBaUJDLFFBQWpCLEVBQTJCQyxXQUEzQixFQUF3Q0MsS0FBeEMsRUFBa0Q7QUFDbkUsV0FBTyxzQkFBWSxVQUFDQyxPQUFELEVBQVVDLE1BQVYsRUFBcUI7QUFDcEMsWUFBSUMsWUFBWSxJQUFoQjtBQUNBLFlBQUlMLFFBQUosRUFBYztBQUNWLGdCQUFJTSxPQUFPQyxTQUFTQyxhQUFULENBQXVCLE1BQXZCLENBQVg7QUFDQVYsZ0JBQUlXLFdBQUosQ0FBZ0JILElBQWhCO0FBQ0FELHdCQUFZQyxJQUFaO0FBQ0gsU0FKRCxNQUlPO0FBQ0hELHdCQUFZUCxHQUFaO0FBQ0g7QUFDRCxZQUFJWSxLQUFLLElBQUlmLEtBQUosQ0FBVTtBQUNmZ0IscUJBQVNaLFNBRE07QUFFZmEsb0JBQVEsQ0FBQ0MsdUJBQUQsQ0FGTztBQUdmWDtBQUhlLFNBQVYsQ0FBVDtBQUtBLFlBQUksQ0FBQ1EsR0FBR0ksTUFBUixFQUFnQjtBQUNaSixlQUFHSSxNQUFILEdBQVlaLEtBQVo7QUFDSDs7QUFFRFEsV0FBR0ssbUJBQUgsR0FBeUJkLFdBQXpCO0FBQ0FTLFdBQUdNLE1BQUgsQ0FBVVgsU0FBVjs7QUFFQUYsZ0JBQVFPLEVBQVI7QUFDSCxLQXRCTSxDQUFQO0FBdUJILENBeEJNO0FBbUNBLElBQU1PLGdDQUFZLFNBQVpBLFNBQVksQ0FBQ0MsUUFBRCxFQUFVQyxJQUFWLEVBQWdCcEIsU0FBaEIsRUFBMkJxQixRQUEzQixFQUFxQ25CLFdBQXJDLEVBQWtEQyxLQUFsRCxFQUF3RG1CLE1BQXhELEVBQW1FO0FBQ3hGLFdBQU8sc0JBQVksVUFBQ2xCLE9BQUQsRUFBVUMsTUFBVixFQUFxQjtBQUNwQyxZQUFJa0IsbUJBQW1CO0FBQ25CWCxxQkFBU1osU0FEVTtBQUVuQmEsb0JBQVEsQ0FBQ0MsdUJBQUQsRUFBYztBQUNsQk0sMEJBRGtCO0FBRWxCSSx1QkFBTztBQUNIUix5Q0FBcUI7QUFDakJTLDhCQUFNQyxNQURXO0FBRWpCQyxpQ0FBU3pCO0FBRlE7QUFEbEI7QUFGVyxhQUFkLENBRlc7QUFXbkJDO0FBWG1CLFNBQXZCO0FBYUEsWUFBSXlCLE9BQU9ULFNBQVNVLGNBQVQsQ0FBd0JOLGdCQUF4QixDQUFYOztBQVFBLFlBQUlPLE1BQU1DLE9BQU4sQ0FBY1osU0FBU2EsTUFBVCxDQUFnQlgsUUFBaEIsQ0FBZCxDQUFKLEVBQThDO0FBQzFDLGdCQUFHQyxPQUFPVyxRQUFWLEVBQW1CO0FBQ2ZkLHlCQUFTYSxNQUFULENBQWdCWCxRQUFoQixFQUEwQmEsTUFBMUIsQ0FBaUNaLE9BQU9hLFVBQXhDLEVBQW1ELENBQW5ELEVBQXFEUCxJQUFyRDtBQUNILGFBRkQsTUFFSztBQUNEVCx5QkFBU2EsTUFBVCxDQUFnQlgsUUFBaEIsRUFBMEJlLElBQTFCLENBQStCUixJQUEvQjtBQUNIO0FBRUosU0FQRCxNQU9PO0FBQ0hULHFCQUFTYSxNQUFULENBQWdCWCxRQUFoQixJQUE0QixDQUFDTyxJQUFELENBQTVCO0FBQ0g7O0FBR0RULGlCQUFTa0IsWUFBVDtBQUNBbEIsaUJBQVNtQixTQUFULENBQW1CLFlBQU07QUFFckJsQyxvQkFBUXdCLElBQVI7QUFDSCxTQUhEO0FBSUgsS0F2Q00sQ0FBUDtBQXdDSCxDQXpDTSIsImZpbGUiOiI0Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SGVscGVyQ2xhc3N9IGZyb20gJy4vbW91bnQtbWl4aW4nO1xyXG5sZXQgX1Z1ZV8gPSBudWxsO1xyXG5leHBvcnQgZGVmYXVsdCAoVnVlKSA9PiB7XHJcbiAgICBfVnVlXyA9IFZ1ZTtcclxufTtcclxuXHJcbi8qKlxyXG4gKlxyXG4gKiBAcGFyYW0geyp9ICRlbCAg6KaB5oyC6L2955qE5YWD57SgXHJcbiAqIEBwYXJhbSB7Kn0gY29tcG9uZW50IOe7hOS7tuexu+Wei1xyXG4gKiBAcGFyYW0geyp9IGlzQXBwZW5kICDmmK/lkKbov73liqBcclxuICogQHBhcmFtIHsqfSBpbnN0YW5jZUtleSDlrp7kvotJZFxyXG4gKiBAcGFyYW0geyp9IHN0b3JlICBzdG9yZeWvueixoVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IG1vdW50ID0gKCRlbCwgY29tcG9uZW50LCBpc0FwcGVuZCwgaW5zdGFuY2VLZXksIHN0b3JlKSA9PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgIGxldCAkbW91bnREb20gPSBudWxsO1xyXG4gICAgICAgIGlmIChpc0FwcGVuZCkgeyAvLyDlpoLmnpxpZCDlrZjlnKgg5oyC6L295YWD57Sg5LiL6Z2iXHJcbiAgICAgICAgICAgIGxldCBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgICAgICAgICAkZWwuYXBwZW5kQ2hpbGQoc3Bhbik7XHJcbiAgICAgICAgICAgICRtb3VudERvbSA9IHNwYW47XHJcbiAgICAgICAgfSBlbHNlIHsgLy8g5aaC5p6c5YWD57Sg5LiN5a2Y5ZyoICDmm7/mjaLlhYPntKBcclxuICAgICAgICAgICAgJG1vdW50RG9tID0gJGVsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgdm0gPSBuZXcgX1Z1ZV8oe1xyXG4gICAgICAgICAgICBleHRlbmRzOiBjb21wb25lbnQsXHJcbiAgICAgICAgICAgIG1peGluczogW0hlbHBlckNsYXNzXSxcclxuICAgICAgICAgICAgc3RvcmVcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoIXZtLiRzdG9yZSkge1xyXG4gICAgICAgICAgICB2bS4kc3RvcmUgPSBzdG9yZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8g5oyC6L295YmNIGRhdGHotYvlgLxcclxuICAgICAgICB2bS5fX2NycnRJbnN0YW5jZUtleV9fID0gaW5zdGFuY2VLZXk7XHJcbiAgICAgICAgdm0uJG1vdW50KCRtb3VudERvbSk7XHJcbiAgICAgICAgLy8g5oyC6L295LmL5ZCO5pON5L2cXHJcbiAgICAgICAgcmVzb2x2ZSh2bSk7XHJcbiAgICB9KTtcclxufTtcclxuLyoqXHJcbiAqXHJcbiAqIEBwYXJhbSB7Kn0gJGVsICDopoHmjILovb3nmoTlhYPntKBcclxuICogQHBhcmFtIHsqfSBjb21wb25lbnQg57uE5Lu257G75Z6LXHJcbiAqIEBwYXJhbSB7Kn0gaXNBcHBlbmQgIOaYr+WQpui/veWKoFxyXG4gKiBAcGFyYW0geyp9IGluc3RhbmNlS2V5IOWunuS+i0lkXHJcbiAqIEBwYXJhbSB7Kn0gc3RvcmUgIHN0b3Jl5a+56LGhXHJcbiAqIEBwYXJhbSB7Kn0gZG9tT2JqICDnvJbovpHml7blgJnvvIzpobrluo/liqDovb3vvIzmi5bmi73ml7blgJnmmK/lvILmraXmj5LlhaVcclxuICovXHJcblxyXG5leHBvcnQgY29uc3QgbW91bnRTbG90ID0gKHBhcmVudFZtLGRhdGEsIGNvbXBvbmVudCwgc2xvdE5hbWUsIGluc3RhbmNlS2V5LCBzdG9yZSxkb21PYmopID0+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgbGV0IFdyYXBwZXJDb21wb25lbnQgPSB7XHJcbiAgICAgICAgICAgIGV4dGVuZHM6IGNvbXBvbmVudCxcclxuICAgICAgICAgICAgbWl4aW5zOiBbSGVscGVyQ2xhc3MsIHtcclxuICAgICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgICBwcm9wczoge1xyXG4gICAgICAgICAgICAgICAgICAgIF9fY3JydEluc3RhbmNlS2V5X186IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBpbnN0YW5jZUtleVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfV0sXHJcbiAgICAgICAgICAgIHN0b3JlXHJcbiAgICAgICAgfTtcclxuICAgICAgICBsZXQgZWxlbSA9IHBhcmVudFZtLiRjcmVhdGVFbGVtZW50KFdyYXBwZXJDb21wb25lbnQpO1xyXG4gICAgICAgIC8vIGlmIChBcnJheS5pc0FycmF5KGVsZW0pKSB7XHJcbiAgICAgICAgLy8gICAgIGlmIChBcnJheS5pc0FycmF5KHBhcmVudFZtLiRzbG90c1tzbG90TmFtZV0pKSB7XHJcbiAgICAgICAgLy8gICAgICAgICBwYXJlbnRWbS4kc2xvdHNbc2xvdE5hbWVdID0gWy4uLnBhcmVudFZtLiRzbG90c1tzbG90TmFtZV0sIC4uLmVsZW1dO1xyXG4gICAgICAgIC8vICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vICAgICAgICAgcGFyZW50Vm0uJHNsb3RzW3Nsb3ROYW1lXSA9IFsuLi5lbGVtXTtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocGFyZW50Vm0uJHNsb3RzW3Nsb3ROYW1lXSkpIHtcclxuICAgICAgICAgICAgaWYoZG9tT2JqLmlzSW5zZXJ0KXtcclxuICAgICAgICAgICAgICAgIHBhcmVudFZtLiRzbG90c1tzbG90TmFtZV0uc3BsaWNlKGRvbU9iai5jaGlsZEluZGV4LDAsZWxlbSk7XHJcbiAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgcGFyZW50Vm0uJHNsb3RzW3Nsb3ROYW1lXS5wdXNoKGVsZW0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHBhcmVudFZtLiRzbG90c1tzbG90TmFtZV0gPSBbZWxlbV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAvLyDlhYjmm7TmlrDniLbnuqcg5a2Q57qndm5vZGUg5omN6IO96I635Y+W5YiwIOWvueW6lOeahCBjb21wb25lbnRJbnN0YW5jZVxyXG4gICAgICAgIHBhcmVudFZtLiRmb3JjZVVwZGF0ZSgpO1xyXG4gICAgICAgIHBhcmVudFZtLiRuZXh0VGljaygoKSA9PiB7XHJcbiAgICAgICAgICAgIC8vIOaMgui9veS5i+WQjuaTjeS9nFxyXG4gICAgICAgICAgICByZXNvbHZlKGVsZW0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcbn07XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9zZXJ2aWNlL21vdW50LmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///42\n");
347
348/***/ }),
349/* 43 */
350/***/ (function(module, exports, __webpack_require__) {
351
352"use strict";
353eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _iview = __webpack_require__(295);\n\nvar httpLoading = {};\n\nhttpLoading.showLoading = function (message) {\n _iview.Spin.show({\n render: function render(h) {\n return h('div', {}, [h('Icon', {\n 'class': 'spin-icon-load',\n props: {\n type: 'ios-loading',\n size: 30\n }\n }), h('div', message || '加载中')]);\n }\n });\n};\nhttpLoading.closeLoading = function () {\n _iview.Spin.hide();\n};\nexports.default = httpLoading;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvdXRpbHMvaHR0cExvYWRpbmcuanM/YjMyMyJdLCJuYW1lcyI6WyJodHRwTG9hZGluZyIsInNob3dMb2FkaW5nIiwibWVzc2FnZSIsIlNwaW4iLCJzaG93IiwicmVuZGVyIiwiaCIsInByb3BzIiwidHlwZSIsInNpemUiLCJjbG9zZUxvYWRpbmciLCJoaWRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFNQTs7QUFDQSxJQUFNQSxjQUFjLEVBQXBCOztBQUlBQSxZQUFZQyxXQUFaLEdBQTBCLFVBQUNDLE9BQUQsRUFBYTtBQUNuQ0MsZ0JBQUtDLElBQUwsQ0FBVTtBQUNOQyxnQkFBUSxnQkFBQ0MsQ0FBRCxFQUFPO0FBQ1gsbUJBQU9BLEVBQUUsS0FBRixFQUFTLEVBQVQsRUFBYSxDQUNoQkEsRUFBRSxNQUFGLEVBQVU7QUFDTix5QkFBUyxnQkFESDtBQUVOQyx1QkFBTztBQUNIQywwQkFBTSxhQURIO0FBRUhDLDBCQUFNO0FBRkg7QUFGRCxhQUFWLENBRGdCLEVBUWhCSCxFQUFFLEtBQUYsRUFBU0osV0FBVyxLQUFwQixDQVJnQixDQUFiLENBQVA7QUFVSDtBQVpLLEtBQVY7QUFjSCxDQWZEO0FBZ0JBRixZQUFZVSxZQUFaLEdBQTJCLFlBQU07QUFDN0JQLGdCQUFLUSxJQUFMO0FBQ0gsQ0FGRDtrQkFHZ0JYLFciLCJmaWxlIjoiNDMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICpAYXV0aG9yICAgICAgIOWPtueroOa1qVxyXG4gKkBkYXRlICAgICAgICAgIDE3OjM4XHJcbiAqQENvcHlyaWdodCAgICDlpKnmupDov6rnp5Hkv6Hmga/mioDmnK/ogqHku73mnInpmZDlhazlj7hcclxuICpARGVzY3JpcHRpb25cclxuICovXHJcbmltcG9ydCB7U3Bpbn0gZnJvbSAnaXZpZXcnO1xyXG5jb25zdCBodHRwTG9hZGluZyA9IHtcclxuXHJcbn1cclxuLy9ub3RlIOWKoOi9veS4rVxyXG5odHRwTG9hZGluZy5zaG93TG9hZGluZyA9IChtZXNzYWdlKSA9PiB7XHJcbiAgICBTcGluLnNob3coe1xyXG4gICAgICAgIHJlbmRlcjogKGgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGgoJ2RpdicsIHt9LCBbXHJcbiAgICAgICAgICAgICAgICBoKCdJY29uJywge1xyXG4gICAgICAgICAgICAgICAgICAgICdjbGFzcyc6ICdzcGluLWljb24tbG9hZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgcHJvcHM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2lvcy1sb2FkaW5nJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogMzBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIGgoJ2RpdicsIG1lc3NhZ2UgfHwgJ+WKoOi9veS4rScpXHJcbiAgICAgICAgICAgIF0pXHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcbn1cclxuaHR0cExvYWRpbmcuY2xvc2VMb2FkaW5nID0gKCkgPT4ge1xyXG4gICAgU3Bpbi5oaWRlKClcclxufVxyXG5leHBvcnQgZGVmYXVsdCAgaHR0cExvYWRpbmc7XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3V0aWxzL2h0dHBMb2FkaW5nLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///43\n");
354
355/***/ }),
356/* 44 */
357/***/ (function(module, __webpack_exports__, __webpack_require__) {
358
359"use strict";
360eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(103);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_675852ba_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(325);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(322)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-675852ba\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_675852ba_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-showFlag/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-675852ba\", Component.options)\n } else {\n hotAPI.reload(\"data-v-675852ba\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtc2hvd0ZsYWcvaW5kZXgudnVlPzM4NGMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUEyVjtBQUNyVztBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDNlM7QUFDN1M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGlRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNDQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi02NzU4NTJiYVxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hbGVzcy1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi02NzU4NTJiYVxcXCIsXFxcImhhc1Njb3BlZFxcXCI6dHJ1ZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBcImRhdGEtdi02NzU4NTJiYVwiXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtc2hvd0ZsYWcvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTY3NTg1MmJhXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtNjc1ODUyYmFcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtc2hvd0ZsYWcvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0NFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///44\n");
361
362/***/ }),
363/* 45 */
364/***/ (function(module, __webpack_exports__, __webpack_require__) {
365
366"use strict";
367eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(105);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_6b194662_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(333);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(330)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-6b194662\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_6b194662_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-linkageChangeValue/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-6b194662\", Component.options)\n } else {\n hotAPI.reload(\"data-v-6b194662\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxpbmthZ2VDaGFuZ2VWYWx1ZS9pbmRleC52dWU/ZDhmMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQTJWO0FBQ3JXO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDcUk7QUFDYTtBQUNsSjtBQUM2UztBQUM3UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsaVFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI0NS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTZiMTk0NjYyXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSFsZXNzLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTZiMTk0NjYyXFxcIixcXFwiaGFzU2NvcGVkXFxcIjp0cnVlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IFwiZGF0YS12LTZiMTk0NjYyXCJcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtbGlua2FnZUNoYW5nZVZhbHVlL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi02YjE5NDY2MlwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTZiMTk0NjYyXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1saW5rYWdlQ2hhbmdlVmFsdWUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0NVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///45\n");
368
369/***/ }),
370/* 46 */
371/***/ (function(module, exports, __webpack_require__) {
372
373eval("module.exports = { \"default\": __webpack_require__(219), __esModule: true };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvY29yZS1qcy9nZXQtaXRlcmF0b3IuanM/MWYzMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrQkFBa0IsWUFBWSxtQkFBTyxDQUFDLEdBQWlDIiwiZmlsZSI6IjQ2LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB7IFwiZGVmYXVsdFwiOiByZXF1aXJlKFwiY29yZS1qcy9saWJyYXJ5L2ZuL2dldC1pdGVyYXRvclwiKSwgX19lc01vZHVsZTogdHJ1ZSB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19iYWJlbC1ydW50aW1lQDYuMjYuMEBiYWJlbC1ydW50aW1lL2NvcmUtanMvZ2V0LWl0ZXJhdG9yLmpzXG4vLyBtb2R1bGUgaWQgPSA0NlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///46\n");
374
375/***/ }),
376/* 47 */
377/***/ (function(module, exports, __webpack_require__) {
378
379eval("// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(48);\nvar defined = __webpack_require__(49);\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWlvYmplY3QuanM/Njg5MyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxFQUFZO0FBQ2xDLGNBQWMsbUJBQU8sQ0FBQyxFQUFZO0FBQ2xDO0FBQ0E7QUFDQSIsImZpbGUiOiI0Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRvIGluZGV4ZWQgb2JqZWN0LCB0b09iamVjdCB3aXRoIGZhbGxiYWNrIGZvciBub24tYXJyYXktbGlrZSBFUzMgc3RyaW5nc1xudmFyIElPYmplY3QgPSByZXF1aXJlKCcuL19pb2JqZWN0Jyk7XG52YXIgZGVmaW5lZCA9IHJlcXVpcmUoJy4vX2RlZmluZWQnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBJT2JqZWN0KGRlZmluZWQoaXQpKTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8taW9iamVjdC5qc1xuLy8gbW9kdWxlIGlkID0gNDdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///47\n");
380
381/***/ }),
382/* 48 */
383/***/ (function(module, exports, __webpack_require__) {
384
385eval("// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(30);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lvYmplY3QuanM/YjE3ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLFVBQVUsbUJBQU8sQ0FBQyxFQUFRO0FBQzFCO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjQ4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZmFsbGJhY2sgZm9yIG5vbi1hcnJheS1saWtlIEVTMyBhbmQgbm9uLWVudW1lcmFibGUgb2xkIFY4IHN0cmluZ3NcbnZhciBjb2YgPSByZXF1aXJlKCcuL19jb2YnKTtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b3R5cGUtYnVpbHRpbnNcbm1vZHVsZS5leHBvcnRzID0gT2JqZWN0KCd6JykucHJvcGVydHlJc0VudW1lcmFibGUoMCkgPyBPYmplY3QgOiBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGNvZihpdCkgPT0gJ1N0cmluZycgPyBpdC5zcGxpdCgnJykgOiBPYmplY3QoaXQpO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19pb2JqZWN0LmpzXG4vLyBtb2R1bGUgaWQgPSA0OFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///48\n");
386
387/***/ }),
388/* 49 */
389/***/ (function(module, exports) {
390
391eval("// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2RlZmluZWQuanM/OTBhYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjQ5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gNy4yLjEgUmVxdWlyZU9iamVjdENvZXJjaWJsZShhcmd1bWVudClcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmIChpdCA9PSB1bmRlZmluZWQpIHRocm93IFR5cGVFcnJvcihcIkNhbid0IGNhbGwgbWV0aG9kIG9uICBcIiArIGl0KTtcbiAgcmV0dXJuIGl0O1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19kZWZpbmVkLmpzXG4vLyBtb2R1bGUgaWQgPSA0OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///49\n");
392
393/***/ }),
394/* 50 */
395/***/ (function(module, exports, __webpack_require__) {
396
397"use strict";
398eval("\nvar LIBRARY = __webpack_require__(51);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(224);\nvar hide = __webpack_require__(22);\nvar Iterators = __webpack_require__(25);\nvar $iterCreate = __webpack_require__(225);\nvar setToStringTag = __webpack_require__(38);\nvar getPrototypeOf = __webpack_require__(229);\nvar ITERATOR = __webpack_require__(12)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2l0ZXItZGVmaW5lLmpzPzA1ZmUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7QUFDYixjQUFjLG1CQUFPLENBQUMsRUFBWTtBQUNsQyxjQUFjLG1CQUFPLENBQUMsRUFBVztBQUNqQyxlQUFlLG1CQUFPLENBQUMsR0FBYTtBQUNwQyxXQUFXLG1CQUFPLENBQUMsRUFBUztBQUM1QixnQkFBZ0IsbUJBQU8sQ0FBQyxFQUFjO0FBQ3RDLGtCQUFrQixtQkFBTyxDQUFDLEdBQWdCO0FBQzFDLHFCQUFxQixtQkFBTyxDQUFDLEVBQXNCO0FBQ25ELHFCQUFxQixtQkFBTyxDQUFDLEdBQWU7QUFDNUMsZUFBZSxtQkFBTyxDQUFDLEVBQVE7QUFDL0IsOENBQThDO0FBQzlDO0FBQ0E7QUFDQTs7QUFFQSw4QkFBOEIsYUFBYTs7QUFFM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QyxvQ0FBb0M7QUFDN0UsNkNBQTZDLG9DQUFvQztBQUNqRixLQUFLLDRCQUE0QixvQ0FBb0M7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixtQkFBbUI7QUFDbkM7QUFDQTtBQUNBLGtDQUFrQywyQkFBMkI7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBIiwiZmlsZSI6IjUwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xudmFyIExJQlJBUlkgPSByZXF1aXJlKCcuL19saWJyYXJ5Jyk7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHJlZGVmaW5lID0gcmVxdWlyZSgnLi9fcmVkZWZpbmUnKTtcbnZhciBoaWRlID0gcmVxdWlyZSgnLi9faGlkZScpO1xudmFyIEl0ZXJhdG9ycyA9IHJlcXVpcmUoJy4vX2l0ZXJhdG9ycycpO1xudmFyICRpdGVyQ3JlYXRlID0gcmVxdWlyZSgnLi9faXRlci1jcmVhdGUnKTtcbnZhciBzZXRUb1N0cmluZ1RhZyA9IHJlcXVpcmUoJy4vX3NldC10by1zdHJpbmctdGFnJyk7XG52YXIgZ2V0UHJvdG90eXBlT2YgPSByZXF1aXJlKCcuL19vYmplY3QtZ3BvJyk7XG52YXIgSVRFUkFUT1IgPSByZXF1aXJlKCcuL193a3MnKSgnaXRlcmF0b3InKTtcbnZhciBCVUdHWSA9ICEoW10ua2V5cyAmJiAnbmV4dCcgaW4gW10ua2V5cygpKTsgLy8gU2FmYXJpIGhhcyBidWdneSBpdGVyYXRvcnMgdy9vIGBuZXh0YFxudmFyIEZGX0lURVJBVE9SID0gJ0BAaXRlcmF0b3InO1xudmFyIEtFWVMgPSAna2V5cyc7XG52YXIgVkFMVUVTID0gJ3ZhbHVlcyc7XG5cbnZhciByZXR1cm5UaGlzID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoQmFzZSwgTkFNRSwgQ29uc3RydWN0b3IsIG5leHQsIERFRkFVTFQsIElTX1NFVCwgRk9SQ0VEKSB7XG4gICRpdGVyQ3JlYXRlKENvbnN0cnVjdG9yLCBOQU1FLCBuZXh0KTtcbiAgdmFyIGdldE1ldGhvZCA9IGZ1bmN0aW9uIChraW5kKSB7XG4gICAgaWYgKCFCVUdHWSAmJiBraW5kIGluIHByb3RvKSByZXR1cm4gcHJvdG9ba2luZF07XG4gICAgc3dpdGNoIChraW5kKSB7XG4gICAgICBjYXNlIEtFWVM6IHJldHVybiBmdW5jdGlvbiBrZXlzKCkgeyByZXR1cm4gbmV3IENvbnN0cnVjdG9yKHRoaXMsIGtpbmQpOyB9O1xuICAgICAgY2FzZSBWQUxVRVM6IHJldHVybiBmdW5jdGlvbiB2YWx1ZXMoKSB7IHJldHVybiBuZXcgQ29uc3RydWN0b3IodGhpcywga2luZCk7IH07XG4gICAgfSByZXR1cm4gZnVuY3Rpb24gZW50cmllcygpIHsgcmV0dXJuIG5ldyBDb25zdHJ1Y3Rvcih0aGlzLCBraW5kKTsgfTtcbiAgfTtcbiAgdmFyIFRBRyA9IE5BTUUgKyAnIEl0ZXJhdG9yJztcbiAgdmFyIERFRl9WQUxVRVMgPSBERUZBVUxUID09IFZBTFVFUztcbiAgdmFyIFZBTFVFU19CVUcgPSBmYWxzZTtcbiAgdmFyIHByb3RvID0gQmFzZS5wcm90b3R5cGU7XG4gIHZhciAkbmF0aXZlID0gcHJvdG9bSVRFUkFUT1JdIHx8IHByb3RvW0ZGX0lURVJBVE9SXSB8fCBERUZBVUxUICYmIHByb3RvW0RFRkFVTFRdO1xuICB2YXIgJGRlZmF1bHQgPSAkbmF0aXZlIHx8IGdldE1ldGhvZChERUZBVUxUKTtcbiAgdmFyICRlbnRyaWVzID0gREVGQVVMVCA/ICFERUZfVkFMVUVTID8gJGRlZmF1bHQgOiBnZXRNZXRob2QoJ2VudHJpZXMnKSA6IHVuZGVmaW5lZDtcbiAgdmFyICRhbnlOYXRpdmUgPSBOQU1FID09ICdBcnJheScgPyBwcm90by5lbnRyaWVzIHx8ICRuYXRpdmUgOiAkbmF0aXZlO1xuICB2YXIgbWV0aG9kcywga2V5LCBJdGVyYXRvclByb3RvdHlwZTtcbiAgLy8gRml4IG5hdGl2ZVxuICBpZiAoJGFueU5hdGl2ZSkge1xuICAgIEl0ZXJhdG9yUHJvdG90eXBlID0gZ2V0UHJvdG90eXBlT2YoJGFueU5hdGl2ZS5jYWxsKG5ldyBCYXNlKCkpKTtcbiAgICBpZiAoSXRlcmF0b3JQcm90b3R5cGUgIT09IE9iamVjdC5wcm90b3R5cGUgJiYgSXRlcmF0b3JQcm90b3R5cGUubmV4dCkge1xuICAgICAgLy8gU2V0IEBAdG9TdHJpbmdUYWcgdG8gbmF0aXZlIGl0ZXJhdG9yc1xuICAgICAgc2V0VG9TdHJpbmdUYWcoSXRlcmF0b3JQcm90b3R5cGUsIFRBRywgdHJ1ZSk7XG4gICAgICAvLyBmaXggZm9yIHNvbWUgb2xkIGVuZ2luZXNcbiAgICAgIGlmICghTElCUkFSWSAmJiB0eXBlb2YgSXRlcmF0b3JQcm90b3R5cGVbSVRFUkFUT1JdICE9ICdmdW5jdGlvbicpIGhpZGUoSXRlcmF0b3JQcm90b3R5cGUsIElURVJBVE9SLCByZXR1cm5UaGlzKTtcbiAgICB9XG4gIH1cbiAgLy8gZml4IEFycmF5I3t2YWx1ZXMsIEBAaXRlcmF0b3J9Lm5hbWUgaW4gVjggLyBGRlxuICBpZiAoREVGX1ZBTFVFUyAmJiAkbmF0aXZlICYmICRuYXRpdmUubmFtZSAhPT0gVkFMVUVTKSB7XG4gICAgVkFMVUVTX0JVRyA9IHRydWU7XG4gICAgJGRlZmF1bHQgPSBmdW5jdGlvbiB2YWx1ZXMoKSB7IHJldHVybiAkbmF0aXZlLmNhbGwodGhpcyk7IH07XG4gIH1cbiAgLy8gRGVmaW5lIGl0ZXJhdG9yXG4gIGlmICgoIUxJQlJBUlkgfHwgRk9SQ0VEKSAmJiAoQlVHR1kgfHwgVkFMVUVTX0JVRyB8fCAhcHJvdG9bSVRFUkFUT1JdKSkge1xuICAgIGhpZGUocHJvdG8sIElURVJBVE9SLCAkZGVmYXVsdCk7XG4gIH1cbiAgLy8gUGx1ZyBmb3IgbGlicmFyeVxuICBJdGVyYXRvcnNbTkFNRV0gPSAkZGVmYXVsdDtcbiAgSXRlcmF0b3JzW1RBR10gPSByZXR1cm5UaGlzO1xuICBpZiAoREVGQVVMVCkge1xuICAgIG1ldGhvZHMgPSB7XG4gICAgICB2YWx1ZXM6IERFRl9WQUxVRVMgPyAkZGVmYXVsdCA6IGdldE1ldGhvZChWQUxVRVMpLFxuICAgICAga2V5czogSVNfU0VUID8gJGRlZmF1bHQgOiBnZXRNZXRob2QoS0VZUyksXG4gICAgICBlbnRyaWVzOiAkZW50cmllc1xuICAgIH07XG4gICAgaWYgKEZPUkNFRCkgZm9yIChrZXkgaW4gbWV0aG9kcykge1xuICAgICAgaWYgKCEoa2V5IGluIHByb3RvKSkgcmVkZWZpbmUocHJvdG8sIGtleSwgbWV0aG9kc1trZXldKTtcbiAgICB9IGVsc2UgJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiAoQlVHR1kgfHwgVkFMVUVTX0JVRyksIE5BTUUsIG1ldGhvZHMpO1xuICB9XG4gIHJldHVybiBtZXRob2RzO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19pdGVyLWRlZmluZS5qc1xuLy8gbW9kdWxlIGlkID0gNTBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///50\n");
399
400/***/ }),
401/* 51 */
402/***/ (function(module, exports) {
403
404eval("module.exports = true;\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2xpYnJhcnkuanM/NWY1YiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsImZpbGUiOiI1MS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gdHJ1ZTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19saWJyYXJ5LmpzXG4vLyBtb2R1bGUgaWQgPSA1MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///51\n");
405
406/***/ }),
407/* 52 */
408/***/ (function(module, exports, __webpack_require__) {
409
410eval("var isObject = __webpack_require__(15);\nvar document = __webpack_require__(11).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2RvbS1jcmVhdGUuanM/MWQwOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlLG1CQUFPLENBQUMsRUFBYztBQUNyQyxlQUFlLG1CQUFPLENBQUMsRUFBVztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjUyLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgZG9jdW1lbnQgPSByZXF1aXJlKCcuL19nbG9iYWwnKS5kb2N1bWVudDtcbi8vIHR5cGVvZiBkb2N1bWVudC5jcmVhdGVFbGVtZW50IGlzICdvYmplY3QnIGluIG9sZCBJRVxudmFyIGlzID0gaXNPYmplY3QoZG9jdW1lbnQpICYmIGlzT2JqZWN0KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGlzID8gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChpdCkgOiB7fTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZG9tLWNyZWF0ZS5qc1xuLy8gbW9kdWxlIGlkID0gNTJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///52\n");
411
412/***/ }),
413/* 53 */
414/***/ (function(module, exports) {
415
416eval("module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3Byb3BlcnR5LWRlc2MuanM/NzBjZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjUzLmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoYml0bWFwLCB2YWx1ZSkge1xuICByZXR1cm4ge1xuICAgIGVudW1lcmFibGU6ICEoYml0bWFwICYgMSksXG4gICAgY29uZmlndXJhYmxlOiAhKGJpdG1hcCAmIDIpLFxuICAgIHdyaXRhYmxlOiAhKGJpdG1hcCAmIDQpLFxuICAgIHZhbHVlOiB2YWx1ZVxuICB9O1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19wcm9wZXJ0eS1kZXNjLmpzXG4vLyBtb2R1bGUgaWQgPSA1M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///53\n");
417
418/***/ }),
419/* 54 */
420/***/ (function(module, exports, __webpack_require__) {
421
422eval("// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(20);\nvar dPs = __webpack_require__(72);\nvar enumBugKeys = __webpack_require__(74);\nvar IE_PROTO = __webpack_require__(57)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = __webpack_require__(52)('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __webpack_require__(75).appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1jcmVhdGUuanM/NThkMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLGVBQWUsbUJBQU8sQ0FBQyxFQUFjO0FBQ3JDLFVBQVUsbUJBQU8sQ0FBQyxFQUFlO0FBQ2pDLGtCQUFrQixtQkFBTyxDQUFDLEVBQWtCO0FBQzVDLGVBQWUsbUJBQU8sQ0FBQyxFQUFlO0FBQ3RDLHlCQUF5QjtBQUN6Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLG1CQUFPLENBQUMsRUFBZTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEVBQVM7QUFDbkIsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSIsImZpbGUiOiI1NC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIDE5LjEuMi4yIC8gMTUuMi4zLjUgT2JqZWN0LmNyZWF0ZShPIFssIFByb3BlcnRpZXNdKVxudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgZFBzID0gcmVxdWlyZSgnLi9fb2JqZWN0LWRwcycpO1xudmFyIGVudW1CdWdLZXlzID0gcmVxdWlyZSgnLi9fZW51bS1idWcta2V5cycpO1xudmFyIElFX1BST1RPID0gcmVxdWlyZSgnLi9fc2hhcmVkLWtleScpKCdJRV9QUk9UTycpO1xudmFyIEVtcHR5ID0gZnVuY3Rpb24gKCkgeyAvKiBlbXB0eSAqLyB9O1xudmFyIFBST1RPVFlQRSA9ICdwcm90b3R5cGUnO1xuXG4vLyBDcmVhdGUgb2JqZWN0IHdpdGggZmFrZSBgbnVsbGAgcHJvdG90eXBlOiB1c2UgaWZyYW1lIE9iamVjdCB3aXRoIGNsZWFyZWQgcHJvdG90eXBlXG52YXIgY3JlYXRlRGljdCA9IGZ1bmN0aW9uICgpIHtcbiAgLy8gVGhyYXNoLCB3YXN0ZSBhbmQgc29kb215OiBJRSBHQyBidWdcbiAgdmFyIGlmcmFtZSA9IHJlcXVpcmUoJy4vX2RvbS1jcmVhdGUnKSgnaWZyYW1lJyk7XG4gIHZhciBpID0gZW51bUJ1Z0tleXMubGVuZ3RoO1xuICB2YXIgbHQgPSAnPCc7XG4gIHZhciBndCA9ICc+JztcbiAgdmFyIGlmcmFtZURvY3VtZW50O1xuICBpZnJhbWUuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgcmVxdWlyZSgnLi9faHRtbCcpLmFwcGVuZENoaWxkKGlmcmFtZSk7XG4gIGlmcmFtZS5zcmMgPSAnamF2YXNjcmlwdDonOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNjcmlwdC11cmxcbiAgLy8gY3JlYXRlRGljdCA9IGlmcmFtZS5jb250ZW50V2luZG93Lk9iamVjdDtcbiAgLy8gaHRtbC5yZW1vdmVDaGlsZChpZnJhbWUpO1xuICBpZnJhbWVEb2N1bWVudCA9IGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50O1xuICBpZnJhbWVEb2N1bWVudC5vcGVuKCk7XG4gIGlmcmFtZURvY3VtZW50LndyaXRlKGx0ICsgJ3NjcmlwdCcgKyBndCArICdkb2N1bWVudC5GPU9iamVjdCcgKyBsdCArICcvc2NyaXB0JyArIGd0KTtcbiAgaWZyYW1lRG9jdW1lbnQuY2xvc2UoKTtcbiAgY3JlYXRlRGljdCA9IGlmcmFtZURvY3VtZW50LkY7XG4gIHdoaWxlIChpLS0pIGRlbGV0ZSBjcmVhdGVEaWN0W1BST1RPVFlQRV1bZW51bUJ1Z0tleXNbaV1dO1xuICByZXR1cm4gY3JlYXRlRGljdCgpO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBPYmplY3QuY3JlYXRlIHx8IGZ1bmN0aW9uIGNyZWF0ZShPLCBQcm9wZXJ0aWVzKSB7XG4gIHZhciByZXN1bHQ7XG4gIGlmIChPICE9PSBudWxsKSB7XG4gICAgRW1wdHlbUFJPVE9UWVBFXSA9IGFuT2JqZWN0KE8pO1xuICAgIHJlc3VsdCA9IG5ldyBFbXB0eSgpO1xuICAgIEVtcHR5W1BST1RPVFlQRV0gPSBudWxsO1xuICAgIC8vIGFkZCBcIl9fcHJvdG9fX1wiIGZvciBPYmplY3QuZ2V0UHJvdG90eXBlT2YgcG9seWZpbGxcbiAgICByZXN1bHRbSUVfUFJPVE9dID0gTztcbiAgfSBlbHNlIHJlc3VsdCA9IGNyZWF0ZURpY3QoKTtcbiAgcmV0dXJuIFByb3BlcnRpZXMgPT09IHVuZGVmaW5lZCA/IHJlc3VsdCA6IGRQcyhyZXN1bHQsIFByb3BlcnRpZXMpO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtY3JlYXRlLmpzXG4vLyBtb2R1bGUgaWQgPSA1NFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///54\n");
423
424/***/ }),
425/* 55 */
426/***/ (function(module, exports, __webpack_require__) {
427
428eval("// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(226);\nvar enumBugKeys = __webpack_require__(74);\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1rZXlzLmpzPzEzOWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxZQUFZLG1CQUFPLENBQUMsR0FBeUI7QUFDN0Msa0JBQWtCLG1CQUFPLENBQUMsRUFBa0I7O0FBRTVDO0FBQ0E7QUFDQSIsImZpbGUiOiI1NS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIDE5LjEuMi4xNCAvIDE1LjIuMy4xNCBPYmplY3Qua2V5cyhPKVxudmFyICRrZXlzID0gcmVxdWlyZSgnLi9fb2JqZWN0LWtleXMtaW50ZXJuYWwnKTtcbnZhciBlbnVtQnVnS2V5cyA9IHJlcXVpcmUoJy4vX2VudW0tYnVnLWtleXMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBPYmplY3Qua2V5cyB8fCBmdW5jdGlvbiBrZXlzKE8pIHtcbiAgcmV0dXJuICRrZXlzKE8sIGVudW1CdWdLZXlzKTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWtleXMuanNcbi8vIG1vZHVsZSBpZCA9IDU1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///55\n");
429
430/***/ }),
431/* 56 */
432/***/ (function(module, exports) {
433
434eval("// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWludGVnZXIuanM/MDc2YyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNTYuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA3LjEuNCBUb0ludGVnZXJcbnZhciBjZWlsID0gTWF0aC5jZWlsO1xudmFyIGZsb29yID0gTWF0aC5mbG9vcjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBpc05hTihpdCA9ICtpdCkgPyAwIDogKGl0ID4gMCA/IGZsb29yIDogY2VpbCkoaXQpO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL190by1pbnRlZ2VyLmpzXG4vLyBtb2R1bGUgaWQgPSA1NlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///56\n");
435
436/***/ }),
437/* 57 */
438/***/ (function(module, exports, __webpack_require__) {
439
440eval("var shared = __webpack_require__(73)('keys');\nvar uid = __webpack_require__(58);\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NoYXJlZC1rZXkuanM/ODU2MiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxhQUFhLG1CQUFPLENBQUMsRUFBVztBQUNoQyxVQUFVLG1CQUFPLENBQUMsRUFBUTtBQUMxQjtBQUNBO0FBQ0EiLCJmaWxlIjoiNTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgc2hhcmVkID0gcmVxdWlyZSgnLi9fc2hhcmVkJykoJ2tleXMnKTtcbnZhciB1aWQgPSByZXF1aXJlKCcuL191aWQnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGtleSkge1xuICByZXR1cm4gc2hhcmVkW2tleV0gfHwgKHNoYXJlZFtrZXldID0gdWlkKGtleSkpO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19zaGFyZWQta2V5LmpzXG4vLyBtb2R1bGUgaWQgPSA1N1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///57\n");
441
442/***/ }),
443/* 58 */
444/***/ (function(module, exports) {
445
446eval("var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3VpZC5qcz81ODE4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNTguanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgaWQgPSAwO1xudmFyIHB4ID0gTWF0aC5yYW5kb20oKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGtleSkge1xuICByZXR1cm4gJ1N5bWJvbCgnLmNvbmNhdChrZXkgPT09IHVuZGVmaW5lZCA/ICcnIDoga2V5LCAnKV8nLCAoKytpZCArIHB4KS50b1N0cmluZygzNikpO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL191aWQuanNcbi8vIG1vZHVsZSBpZCA9IDU4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///58\n");
447
448/***/ }),
449/* 59 */
450/***/ (function(module, exports, __webpack_require__) {
451
452eval("var classof = __webpack_require__(39);\nvar ITERATOR = __webpack_require__(12)('iterator');\nvar Iterators = __webpack_require__(25);\nmodule.exports = __webpack_require__(9).getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvY29yZS5nZXQtaXRlcmF0b3ItbWV0aG9kLmpzPzc3ZTIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBTyxDQUFDLEVBQVk7QUFDbEMsZUFBZSxtQkFBTyxDQUFDLEVBQVE7QUFDL0IsZ0JBQWdCLG1CQUFPLENBQUMsRUFBYztBQUN0QyxpQkFBaUIsbUJBQU8sQ0FBQyxDQUFTO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjU5LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGNsYXNzb2YgPSByZXF1aXJlKCcuL19jbGFzc29mJyk7XG52YXIgSVRFUkFUT1IgPSByZXF1aXJlKCcuL193a3MnKSgnaXRlcmF0b3InKTtcbnZhciBJdGVyYXRvcnMgPSByZXF1aXJlKCcuL19pdGVyYXRvcnMnKTtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9fY29yZScpLmdldEl0ZXJhdG9yTWV0aG9kID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmIChpdCAhPSB1bmRlZmluZWQpIHJldHVybiBpdFtJVEVSQVRPUl1cbiAgICB8fCBpdFsnQEBpdGVyYXRvciddXG4gICAgfHwgSXRlcmF0b3JzW2NsYXNzb2YoaXQpXTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9jb3JlLmdldC1pdGVyYXRvci1tZXRob2QuanNcbi8vIG1vZHVsZSBpZCA9IDU5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///59\n");
453
454/***/ }),
455/* 60 */
456/***/ (function(module, exports, __webpack_require__) {
457
458eval("module.exports = { \"default\": __webpack_require__(237), __esModule: true };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvY29yZS1qcy9hcnJheS9mcm9tLmpzPzkxZjEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQWtCLFlBQVksbUJBQU8sQ0FBQyxHQUErQiIsImZpbGUiOiI2MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0geyBcImRlZmF1bHRcIjogcmVxdWlyZShcImNvcmUtanMvbGlicmFyeS9mbi9hcnJheS9mcm9tXCIpLCBfX2VzTW9kdWxlOiB0cnVlIH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvY29yZS1qcy9hcnJheS9mcm9tLmpzXG4vLyBtb2R1bGUgaWQgPSA2MFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///60\n");
459
460/***/ }),
461/* 61 */
462/***/ (function(module, exports, __webpack_require__) {
463
464eval("var META = __webpack_require__(58)('meta');\nvar isObject = __webpack_require__(15);\nvar has = __webpack_require__(32);\nvar setDesc = __webpack_require__(17).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !__webpack_require__(26)(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX21ldGEuanM/OGM0ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxXQUFXLG1CQUFPLENBQUMsRUFBUTtBQUMzQixlQUFlLG1CQUFPLENBQUMsRUFBYztBQUNyQyxVQUFVLG1CQUFPLENBQUMsRUFBUTtBQUMxQixjQUFjLG1CQUFPLENBQUMsRUFBYztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxFQUFVO0FBQ2hDLGlEQUFpRDtBQUNqRCxDQUFDO0FBQ0Q7QUFDQSxxQkFBcUI7QUFDckI7QUFDQSxTQUFTO0FBQ1QsR0FBRyxFQUFFO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjYxLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIE1FVEEgPSByZXF1aXJlKCcuL191aWQnKSgnbWV0YScpO1xudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgaGFzID0gcmVxdWlyZSgnLi9faGFzJyk7XG52YXIgc2V0RGVzYyA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpLmY7XG52YXIgaWQgPSAwO1xudmFyIGlzRXh0ZW5zaWJsZSA9IE9iamVjdC5pc0V4dGVuc2libGUgfHwgZnVuY3Rpb24gKCkge1xuICByZXR1cm4gdHJ1ZTtcbn07XG52YXIgRlJFRVpFID0gIXJlcXVpcmUoJy4vX2ZhaWxzJykoZnVuY3Rpb24gKCkge1xuICByZXR1cm4gaXNFeHRlbnNpYmxlKE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyh7fSkpO1xufSk7XG52YXIgc2V0TWV0YSA9IGZ1bmN0aW9uIChpdCkge1xuICBzZXREZXNjKGl0LCBNRVRBLCB7IHZhbHVlOiB7XG4gICAgaTogJ08nICsgKytpZCwgLy8gb2JqZWN0IElEXG4gICAgdzoge30gICAgICAgICAgLy8gd2VhayBjb2xsZWN0aW9ucyBJRHNcbiAgfSB9KTtcbn07XG52YXIgZmFzdEtleSA9IGZ1bmN0aW9uIChpdCwgY3JlYXRlKSB7XG4gIC8vIHJldHVybiBwcmltaXRpdmUgd2l0aCBwcmVmaXhcbiAgaWYgKCFpc09iamVjdChpdCkpIHJldHVybiB0eXBlb2YgaXQgPT0gJ3N5bWJvbCcgPyBpdCA6ICh0eXBlb2YgaXQgPT0gJ3N0cmluZycgPyAnUycgOiAnUCcpICsgaXQ7XG4gIGlmICghaGFzKGl0LCBNRVRBKSkge1xuICAgIC8vIGNhbid0IHNldCBtZXRhZGF0YSB0byB1bmNhdWdodCBmcm96ZW4gb2JqZWN0XG4gICAgaWYgKCFpc0V4dGVuc2libGUoaXQpKSByZXR1cm4gJ0YnO1xuICAgIC8vIG5vdCBuZWNlc3NhcnkgdG8gYWRkIG1ldGFkYXRhXG4gICAgaWYgKCFjcmVhdGUpIHJldHVybiAnRSc7XG4gICAgLy8gYWRkIG1pc3NpbmcgbWV0YWRhdGFcbiAgICBzZXRNZXRhKGl0KTtcbiAgLy8gcmV0dXJuIG9iamVjdCBJRFxuICB9IHJldHVybiBpdFtNRVRBXS5pO1xufTtcbnZhciBnZXRXZWFrID0gZnVuY3Rpb24gKGl0LCBjcmVhdGUpIHtcbiAgaWYgKCFoYXMoaXQsIE1FVEEpKSB7XG4gICAgLy8gY2FuJ3Qgc2V0IG1ldGFkYXRhIHRvIHVuY2F1Z2h0IGZyb3plbiBvYmplY3RcbiAgICBpZiAoIWlzRXh0ZW5zaWJsZShpdCkpIHJldHVybiB0cnVlO1xuICAgIC8vIG5vdCBuZWNlc3NhcnkgdG8gYWRkIG1ldGFkYXRhXG4gICAgaWYgKCFjcmVhdGUpIHJldHVybiBmYWxzZTtcbiAgICAvLyBhZGQgbWlzc2luZyBtZXRhZGF0YVxuICAgIHNldE1ldGEoaXQpO1xuICAvLyByZXR1cm4gaGFzaCB3ZWFrIGNvbGxlY3Rpb25zIElEc1xuICB9IHJldHVybiBpdFtNRVRBXS53O1xufTtcbi8vIGFkZCBtZXRhZGF0YSBvbiBmcmVlemUtZmFtaWx5IG1ldGhvZHMgY2FsbGluZ1xudmFyIG9uRnJlZXplID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmIChGUkVFWkUgJiYgbWV0YS5ORUVEICYmIGlzRXh0ZW5zaWJsZShpdCkgJiYgIWhhcyhpdCwgTUVUQSkpIHNldE1ldGEoaXQpO1xuICByZXR1cm4gaXQ7XG59O1xudmFyIG1ldGEgPSBtb2R1bGUuZXhwb3J0cyA9IHtcbiAgS0VZOiBNRVRBLFxuICBORUVEOiBmYWxzZSxcbiAgZmFzdEtleTogZmFzdEtleSxcbiAgZ2V0V2VhazogZ2V0V2VhayxcbiAgb25GcmVlemU6IG9uRnJlZXplXG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX21ldGEuanNcbi8vIG1vZHVsZSBpZCA9IDYxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///61\n");
465
466/***/ }),
467/* 62 */
468/***/ (function(module, __webpack_exports__, __webpack_require__) {
469
470"use strict";
471eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* WEBPACK VAR INJECTION */(function(process, global, setImmediate) {/*!\n * Vue.js v2.6.10\n * (c) 2014-2019 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Generate a string containing static keys from compiler modules.\n */\nfunction genStaticKeys (modules) {\n return modules.reduce(function (keys, m) {\n return keys.concat(m.staticKeys || [])\n }, []).join(',')\n}\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return '<Root>'\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Techinically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive$$1(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject)\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n // #6574 in case the inject object is observed...\n if (key === '__ob__') { continue }\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n if (!children || !children.length) {\n return {}\n }\n var slots = {};\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n (slots.default || (slots.default = [])).push(child);\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/* */\n\nfunction normalizeScopedSlots (\n slots,\n normalSlots,\n prevSlots\n) {\n var res;\n var hasNormalSlots = Object.keys(normalSlots).length > 0;\n var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n var key = slots && slots.$key;\n if (!slots) {\n res = {};\n } else if (slots._normalized) {\n // fast path 1: child component re-render only, parent did not change\n return slots._normalized\n } else if (\n isStable &&\n prevSlots &&\n prevSlots !== emptyObject &&\n key === prevSlots.$key &&\n !hasNormalSlots &&\n !prevSlots.$hasNormal\n ) {\n // fast path 2: stable scoped slots w/ no normal slots to proxy,\n // only need to normalize once\n return prevSlots\n } else {\n res = {};\n for (var key$1 in slots) {\n if (slots[key$1] && key$1[0] !== '$') {\n res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n }\n }\n }\n // expose normal slots on scopedSlots\n for (var key$2 in normalSlots) {\n if (!(key$2 in res)) {\n res[key$2] = proxyNormalSlot(normalSlots, key$2);\n }\n }\n // avoriaz seems to mock a non-extensible $scopedSlots object\n // and when that is passed down this would cause an error\n if (slots && Object.isExtensible(slots)) {\n (slots)._normalized = res;\n }\n def(res, '$stable', isStable);\n def(res, '$key', key);\n def(res, '$hasNormal', hasNormalSlots);\n return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n var normalized = function () {\n var res = arguments.length ? fn.apply(null, arguments) : fn({});\n res = res && typeof res === 'object' && !Array.isArray(res)\n ? [res] // single vnode\n : normalizeChildren(res);\n return res && (\n res.length === 0 ||\n (res.length === 1 && res[0].isComment) // #9658\n ) ? undefined\n : res\n };\n // this is a slot using the new v-slot syntax without scope. although it is\n // compiled as a scoped slot, render fn users would expect it to be present\n // on this.$slots because the usage is semantically a normal slot.\n if (fn.proxy) {\n Object.defineProperty(normalSlots, key, {\n get: normalized,\n enumerable: true,\n configurable: true\n });\n }\n return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n return function () { return slots[key]; }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i);\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i);\n }\n } else if (isObject(val)) {\n if (hasSymbol && val[Symbol.iterator]) {\n ret = [];\n var iterator = val[Symbol.iterator]();\n var result = iterator.next();\n while (!result.done) {\n ret.push(render(result.value, ret.length));\n result = iterator.next();\n }\n } else {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i);\n }\n }\n }\n if (!isDef(ret)) {\n ret = [];\n }\n (ret)._isVList = true;\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n name,\n fallback,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) { // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn(\n 'slot v-bind without argument expects an Object',\n this\n );\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes = scopedSlotFn(props) || fallback;\n } else {\n nodes = this.$slots[name] || fallback;\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n var camelizedKey = camelize(key);\n var hyphenatedKey = hyphenate(key);\n if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res,\n // the following are added in 2.6\n hasDynamicKeys,\n contentHashKey\n) {\n res = res || { $stable: !hasDynamicKeys };\n for (var i = 0; i < fns.length; i++) {\n var slot = fns[i];\n if (Array.isArray(slot)) {\n resolveScopedSlots(slot, res, hasDynamicKeys);\n } else if (slot) {\n // marker for reverse proxying v-slot without scope on this.$slots\n if (slot.proxy) {\n slot.fn.proxy = true;\n }\n res[slot.key] = slot.fn;\n }\n }\n if (contentHashKey) {\n (res).$key = contentHashKey;\n }\n return res\n}\n\n/* */\n\nfunction bindDynamicKeys (baseObj, values) {\n for (var i = 0; i < values.length; i += 2) {\n var key = values[i];\n if (typeof key === 'string' && key) {\n baseObj[values[i]] = values[i + 1];\n } else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n // null is a speical value for explicitly removing a binding\n warn(\n (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n this\n );\n }\n }\n return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n return typeof value === 'string' ? symbol + value : value\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n target._d = bindDynamicKeys;\n target._p = prependModifier;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var this$1 = this;\n\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () {\n if (!this$1.$slots) {\n normalizeScopedSlots(\n data.scopedSlots,\n this$1.$slots = resolveSlots(children, parent)\n );\n }\n return this$1.$slots\n };\n\n Object.defineProperty(this, 'scopedSlots', ({\n enumerable: true,\n get: function get () {\n return normalizeScopedSlots(data.scopedSlots, this.slots())\n }\n }));\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (process.env.NODE_ENV !== 'production') {\n (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n }\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (vnode, hydrating) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n vnode, // we know it's MountedComponentVNode but flow doesn't\n parent // activeInstance in lifecycle state\n) {\n var options = {\n _isComponent: true,\n _parentVnode: vnode,\n parent: parent\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n var existing = hooks[key];\n var toMerge = componentVNodeHooks[key];\n if (existing !== toMerge && !(existing && existing._merged)) {\n hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n }\n }\n}\n\nfunction mergeHook$1 (f1, f2) {\n var merged = function (a, b) {\n // flow complains about extra args which is why we use any\n f1(a, b);\n f2(a, b);\n };\n merged._merged = true;\n return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input'\n ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n var existing = on[event];\n var callback = data.model.callback;\n if (isDef(existing)) {\n if (\n Array.isArray(existing)\n ? existing.indexOf(callback) === -1\n : existing !== callback\n ) {\n on[event] = [callback].concat(existing);\n }\n } else {\n on[event] = callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n if (_parentVnode) {\n vm.$scopedSlots = normalizeScopedSlots(\n _parentVnode.data.scopedSlots,\n vm.$slots,\n vm.$scopedSlots\n );\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n // There's no need to maintain a stack becaues all render fns are called\n // separately from one another. Nested component's render fns are called\n // when parent component is patched.\n currentRenderingInstance = vm;\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } finally {\n currentRenderingInstance = null;\n }\n // if the returned array contains only a single node, allow it\n if (Array.isArray(vnode) && vnode.length === 1) {\n vnode = vnode[0];\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n var owner = currentRenderingInstance;\n if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n // already pending\n factory.owners.push(owner);\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (owner && !isDef(factory.owners)) {\n var owners = factory.owners = [owner];\n var sync = true;\n var timerLoading = null;\n var timerTimeout = null\n\n ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n var forceRender = function (renderCompleted) {\n for (var i = 0, l = owners.length; i < l; i++) {\n (owners[i]).$forceUpdate();\n }\n\n if (renderCompleted) {\n owners.length = 0;\n if (timerLoading !== null) {\n clearTimeout(timerLoading);\n timerLoading = null;\n }\n if (timerTimeout !== null) {\n clearTimeout(timerTimeout);\n timerTimeout = null;\n }\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender(true);\n } else {\n owners.length = 0;\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender(true);\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (isPromise(res)) {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isPromise(res.component)) {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n timerLoading = setTimeout(function () {\n timerLoading = null;\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender(false);\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n timerTimeout = setTimeout(function () {\n timerTimeout = null;\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn) {\n target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n var _target = target;\n return function onceHandler () {\n var res = fn.apply(null, arguments);\n if (res !== null) {\n _target.$off(event, onceHandler);\n }\n }\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n vm.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n vm.$off(event[i$1], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n // specific handler\n var cb;\n var i = cbs.length;\n while (i--) {\n cb = cbs[i];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i, 1);\n break\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n var info = \"event handler for \\\"\" + event + \"\\\"\";\n for (var i = 0, l = cbs.length; i < l; i++) {\n invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n }\n }\n return vm\n };\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n return function () {\n activeInstance = prevActiveInstance;\n }\n}\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var restoreActiveInstance = setActiveInstance(vm);\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n restoreActiveInstance();\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction mountComponent (\n vm,\n el,\n hydrating\n) {\n vm.$el = el;\n if (!vm.$options.render) {\n vm.$options.render = createEmptyVNode;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n callHook(vm, 'beforeMount');\n\n var updateComponent;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n updateComponent = function () {\n var name = vm._name;\n var id = vm._uid;\n var startTag = \"vue-perf-start:\" + id;\n var endTag = \"vue-perf-end:\" + id;\n\n mark(startTag);\n var vnode = vm._render();\n mark(endTag);\n measure((\"vue \" + name + \" render\"), startTag, endTag);\n\n mark(startTag);\n vm._update(vnode, hydrating);\n mark(endTag);\n measure((\"vue \" + name + \" patch\"), startTag, endTag);\n };\n } else {\n updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n }\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, {\n before: function before () {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'beforeUpdate');\n }\n }\n }, true /* isRenderWatcher */);\n hydrating = false;\n\n // manually mounted instance, call mounted on self\n // mounted is called for render-created child components in its inserted hook\n if (vm.$vnode == null) {\n vm._isMounted = true;\n callHook(vm, 'mounted');\n }\n return vm\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren.\n\n // check if there are dynamic scopedSlots (hand-written or compiled but with\n // dynamic slot names). Static scoped slots compiled from template has the\n // \"$stable\" marker.\n var newScopedSlots = parentVnode.data.scopedSlots;\n var oldScopedSlots = vm.$scopedSlots;\n var hasDynamicScopedSlot = !!(\n (newScopedSlots && !newScopedSlots.$stable) ||\n (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key)\n );\n\n // Any static slot children from the parent may have changed during parent's\n // update. Dynamic scoped slots may also have changed. In such cases, a forced\n // update is necessary to ensure correctness.\n var needsForceUpdate = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n hasDynamicScopedSlot\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n\n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (needsForceUpdate) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n var info = hook + \" hook\";\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n var performance = window.performance;\n if (\n performance &&\n typeof performance.now === 'function' &&\n getNow() > document.createEvent('Event').timeStamp\n ) {\n // if the event timestamp, although evaluated AFTER the Date.now(), is\n // smaller than it, it means the event is using a hi-res timestamp,\n // and we need to use the hi-res version for event listener timestamps as\n // well.\n getNow = function () { return performance.now(); };\n }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n currentFlushTimestamp = getNow();\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n if (watcher.before) {\n watcher.before();\n }\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n flushSchedulerQueue();\n return\n }\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n this.before = options.before;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = noop;\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var i = this.deps.length;\n while (i--) {\n var dep = this.deps[i];\n if (!this.newDepIds.has(dep.id)) {\n dep.removeSub(this);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n }\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive$$1(props, key, value, function () {\n if (!isRoot && !isUpdatingChildComponent) {\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive$$1(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : createGetterInvoker(userDef);\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : createGetterInvoker(userDef.get)\n : noop;\n sharedPropertyDefinition.set = userDef.set || noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction createGetterInvoker(fn) {\n return function computedGetter () {\n return fn.call(this, this)\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof methods[key] !== 'function') {\n warn(\n \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function () {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n try {\n cb.call(vm, watcher.value);\n } catch (error) {\n handleError(error, vm, (\"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\"));\n }\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n initInjections(vm); // resolve injections before data/props\n initState(vm);\n initProvide(vm); // resolve provide after data/props\n callHook(vm, 'created');\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = latest[key];\n }\n }\n return modified\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\n\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n for (var key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n};\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n};\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive$$1\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n // 2.6 explicit observable API\n Vue.observable = function (obj) {\n observe(obj);\n return obj\n };\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.6.10';\n\n/* */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n return (\n (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n (attr === 'selected' && tag === 'option') ||\n (attr === 'checked' && tag === 'input') ||\n (attr === 'muted' && tag === 'video')\n )\n};\n\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nvar isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');\n\nvar convertEnumeratedValue = function (key, value) {\n return isFalsyAttrValue(value) || value === 'false'\n ? 'false'\n // allow arbitrary string value for contenteditable\n : key === 'contenteditable' && isValidContentEditableValue(value)\n ? value\n : 'true'\n};\n\nvar isBooleanAttr = makeMap(\n 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n 'required,reversed,scoped,seamless,selected,sortable,translate,' +\n 'truespeed,typemustmatch,visible'\n);\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\n\nvar isXlink = function (name) {\n return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nvar getXlinkProp = function (name) {\n return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nvar isFalsyAttrValue = function (val) {\n return val == null || val === false\n};\n\n/* */\n\nfunction genClassForVnode (vnode) {\n var data = vnode.data;\n var parentNode = vnode;\n var childNode = vnode;\n while (isDef(childNode.componentInstance)) {\n childNode = childNode.componentInstance._vnode;\n if (childNode && childNode.data) {\n data = mergeClassData(childNode.data, data);\n }\n }\n while (isDef(parentNode = parentNode.parent)) {\n if (parentNode && parentNode.data) {\n data = mergeClassData(data, parentNode.data);\n }\n }\n return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n return {\n staticClass: concat(child.staticClass, parent.staticClass),\n class: isDef(child.class)\n ? [child.class, parent.class]\n : parent.class\n }\n}\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar namespaceMap = {\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nvar isHTMLTag = makeMap(\n 'html,body,base,head,link,meta,style,title,' +\n 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n 'embed,object,param,source,canvas,script,noscript,del,ins,' +\n 'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n 'output,progress,select,textarea,' +\n 'details,dialog,menu,menuitem,summary,' +\n 'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap(\n 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n 'foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n true\n);\n\nvar isPreTag = function (tag) { return tag === 'pre'; };\n\nvar isReservedTag = function (tag) {\n return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n if (isSVG(tag)) {\n return 'svg'\n }\n // basic support for MathML\n // note it doesn't support other MathML elements being component roots\n if (tag === 'math') {\n return 'math'\n }\n}\n\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n /* istanbul ignore if */\n if (!inBrowser) {\n return true\n }\n if (isReservedTag(tag)) {\n return false\n }\n tag = tag.toLowerCase();\n /* istanbul ignore if */\n if (unknownElementCache[tag] != null) {\n return unknownElementCache[tag]\n }\n var el = document.createElement(tag);\n if (tag.indexOf('-') > -1) {\n // http://stackoverflow.com/a/28210364/1070244\n return (unknownElementCache[tag] = (\n el.constructor === window.HTMLUnknownElement ||\n el.constructor === window.HTMLElement\n ))\n } else {\n return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n }\n}\n\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/* */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n if (typeof el === 'string') {\n var selected = document.querySelector(el);\n if (!selected) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Cannot find element: ' + el\n );\n return document.createElement('div')\n }\n return selected\n } else {\n return el\n }\n}\n\n/* */\n\nfunction createElement$1 (tagName, vnode) {\n var elm = document.createElement(tagName);\n if (tagName !== 'select') {\n return elm\n }\n // false or null will remove the attribute but undefined will not\n if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n elm.setAttribute('multiple', 'multiple');\n }\n return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n node.appendChild(child);\n}\n\nfunction parentNode (node) {\n return node.parentNode\n}\n\nfunction nextSibling (node) {\n return node.nextSibling\n}\n\nfunction tagName (node) {\n return node.tagName\n}\n\nfunction setTextContent (node, text) {\n node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n node.setAttribute(scopeId, '');\n}\n\nvar nodeOps = /*#__PURE__*/Object.freeze({\n createElement: createElement$1,\n createElementNS: createElementNS,\n createTextNode: createTextNode,\n createComment: createComment,\n insertBefore: insertBefore,\n removeChild: removeChild,\n appendChild: appendChild,\n parentNode: parentNode,\n nextSibling: nextSibling,\n tagName: tagName,\n setTextContent: setTextContent,\n setStyleScope: setStyleScope\n});\n\n/* */\n\nvar ref = {\n create: function create (_, vnode) {\n registerRef(vnode);\n },\n update: function update (oldVnode, vnode) {\n if (oldVnode.data.ref !== vnode.data.ref) {\n registerRef(oldVnode, true);\n registerRef(vnode);\n }\n },\n destroy: function destroy (vnode) {\n registerRef(vnode, true);\n }\n};\n\nfunction registerRef (vnode, isRemoval) {\n var key = vnode.data.ref;\n if (!isDef(key)) { return }\n\n var vm = vnode.context;\n var ref = vnode.componentInstance || vnode.elm;\n var refs = vm.$refs;\n if (isRemoval) {\n if (Array.isArray(refs[key])) {\n remove(refs[key], ref);\n } else if (refs[key] === ref) {\n refs[key] = undefined;\n }\n } else {\n if (vnode.data.refInFor) {\n if (!Array.isArray(refs[key])) {\n refs[key] = [ref];\n } else if (refs[key].indexOf(ref) < 0) {\n // $flow-disable-line\n refs[key].push(ref);\n }\n } else {\n refs[key] = ref;\n }\n }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nvar emptyNode = new VNode('', {}, []);\n\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n return (\n a.key === b.key && (\n (\n a.tag === b.tag &&\n a.isComment === b.isComment &&\n isDef(a.data) === isDef(b.data) &&\n sameInputType(a, b)\n ) || (\n isTrue(a.isAsyncPlaceholder) &&\n a.asyncFactory === b.asyncFactory &&\n isUndef(b.asyncFactory.error)\n )\n )\n )\n}\n\nfunction sameInputType (a, b) {\n if (a.tag !== 'input') { return true }\n var i;\n var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n var i, key;\n var map = {};\n for (i = beginIdx; i <= endIdx; ++i) {\n key = children[i].key;\n if (isDef(key)) { map[key] = i; }\n }\n return map\n}\n\nfunction createPatchFunction (backend) {\n var i, j;\n var cbs = {};\n\n var modules = backend.modules;\n var nodeOps = backend.nodeOps;\n\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n if (isDef(modules[j][hooks[i]])) {\n cbs[hooks[i]].push(modules[j][hooks[i]]);\n }\n }\n }\n\n function emptyNodeAt (elm) {\n return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n }\n\n function createRmCb (childElm, listeners) {\n function remove$$1 () {\n if (--remove$$1.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove$$1.listeners = listeners;\n return remove$$1\n }\n\n function removeNode (el) {\n var parent = nodeOps.parentNode(el);\n // element may have already been removed due to v-html / v-text\n if (isDef(parent)) {\n nodeOps.removeChild(parent, el);\n }\n }\n\n function isUnknownElement$$1 (vnode, inVPre) {\n return (\n !inVPre &&\n !vnode.ns &&\n !(\n config.ignoredElements.length &&\n config.ignoredElements.some(function (ignore) {\n return isRegExp(ignore)\n ? ignore.test(vnode.tag)\n : ignore === vnode.tag\n })\n ) &&\n config.isUnknownElement(vnode.tag)\n )\n }\n\n var creatingElmInVPre = 0;\n\n function createElm (\n vnode,\n insertedVnodeQueue,\n parentElm,\n refElm,\n nested,\n ownerArray,\n index\n ) {\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // This vnode was used in a previous render!\n // now it's used as a new node, overwriting its elm would cause\n // potential patch errors down the road when it's used as an insertion\n // reference node. Instead, we clone the node on-demand before creating\n // associated DOM element for it.\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n vnode.isRootInsert = !nested; // for transition enter check\n if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n return\n }\n\n var data = vnode.data;\n var children = vnode.children;\n var tag = vnode.tag;\n if (isDef(tag)) {\n if (process.env.NODE_ENV !== 'production') {\n if (data && data.pre) {\n creatingElmInVPre++;\n }\n if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n warn(\n 'Unknown custom element: <' + tag + '> - did you ' +\n 'register the component correctly? For recursive components, ' +\n 'make sure to provide the \"name\" option.',\n vnode.context\n );\n }\n }\n\n vnode.elm = vnode.ns\n ? nodeOps.createElementNS(vnode.ns, tag)\n : nodeOps.createElement(tag, vnode);\n setScope(vnode);\n\n /* istanbul ignore if */\n {\n createChildren(vnode, children, insertedVnodeQueue);\n if (isDef(data)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n }\n insert(parentElm, vnode.elm, refElm);\n }\n\n if (process.env.NODE_ENV !== 'production' && data && data.pre) {\n creatingElmInVPre--;\n }\n } else if (isTrue(vnode.isComment)) {\n vnode.elm = nodeOps.createComment(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n } else {\n vnode.elm = nodeOps.createTextNode(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n }\n }\n\n function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i = vnode.data;\n if (isDef(i)) {\n var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n if (isDef(i = i.hook) && isDef(i = i.init)) {\n i(vnode, false /* hydrating */);\n }\n // after calling the init hook, if the vnode is a child component\n // it should've created a child instance and mounted it. the child\n // component also has set the placeholder vnode's elm.\n // in that case we can just return the element and be done.\n if (isDef(vnode.componentInstance)) {\n initComponent(vnode, insertedVnodeQueue);\n insert(parentElm, vnode.elm, refElm);\n if (isTrue(isReactivated)) {\n reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n }\n return true\n }\n }\n }\n\n function initComponent (vnode, insertedVnodeQueue) {\n if (isDef(vnode.data.pendingInsert)) {\n insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n vnode.data.pendingInsert = null;\n }\n vnode.elm = vnode.componentInstance.$el;\n if (isPatchable(vnode)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n setScope(vnode);\n } else {\n // empty component root.\n // skip all element-related modules except for ref (#3455)\n registerRef(vnode);\n // make sure to invoke the insert hook\n insertedVnodeQueue.push(vnode);\n }\n }\n\n function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i;\n // hack for #4339: a reactivated component with inner transition\n // does not trigger because the inner node's created hooks are not called\n // again. It's not ideal to involve module-specific logic in here but\n // there doesn't seem to be a better way to do it.\n var innerNode = vnode;\n while (innerNode.componentInstance) {\n innerNode = innerNode.componentInstance._vnode;\n if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n for (i = 0; i < cbs.activate.length; ++i) {\n cbs.activate[i](emptyNode, innerNode);\n }\n insertedVnodeQueue.push(innerNode);\n break\n }\n }\n // unlike a newly created component,\n // a reactivated keep-alive component doesn't insert itself\n insert(parentElm, vnode.elm, refElm);\n }\n\n function insert (parent, elm, ref$$1) {\n if (isDef(parent)) {\n if (isDef(ref$$1)) {\n if (nodeOps.parentNode(ref$$1) === parent) {\n nodeOps.insertBefore(parent, elm, ref$$1);\n }\n } else {\n nodeOps.appendChild(parent, elm);\n }\n }\n }\n\n function createChildren (vnode, children, insertedVnodeQueue) {\n if (Array.isArray(children)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(children);\n }\n for (var i = 0; i < children.length; ++i) {\n createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n }\n } else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n\n function isPatchable (vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag)\n }\n\n function invokeCreateHooks (vnode, insertedVnodeQueue) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create)) { i.create(emptyNode, vnode); }\n if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n }\n }\n\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope (vnode) {\n var i;\n if (isDef(i = vnode.fnScopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n } else {\n var ancestor = vnode;\n while (ancestor) {\n if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef(i = activeInstance) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef(i = i.$options._scopeId)\n ) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n\n function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n\n function invokeDestroyHook (vnode) {\n var i, j;\n var data = vnode.data;\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n }\n if (isDef(i = vnode.children)) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n\n function removeVnodes (parentElm, vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n } else { // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n\n function removeAndInvokeRemoveHook (vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n var i;\n var listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n } else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n removeAndInvokeRemoveHook(i, rm);\n }\n for (i = 0; i < cbs.remove.length; ++i) {\n cbs.remove[i](vnode, rm);\n }\n if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n i(vnode, rm);\n } else {\n rm();\n }\n } else {\n removeNode(vnode.elm);\n }\n }\n\n function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n // removeOnly is a special flag used only by <transition-group>\n // to ensure removed elements stay in correct relative positions\n // during leaving transitions\n var canMove = !removeOnly;\n\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(newCh);\n }\n\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (isUndef(oldStartVnode)) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n } else if (isUndef(oldEndVnode)) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }\n idxInOld = isDef(newStartVnode.key)\n ? oldKeyToIdx[newStartVnode.key]\n : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n if (isUndef(idxInOld)) { // New element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n } else {\n vnodeToMove = oldCh[idxInOld];\n if (sameVnode(vnodeToMove, newStartVnode)) {\n patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldCh[idxInOld] = undefined;\n canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n } else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);\n }\n }\n\n function checkDuplicateKeys (children) {\n var seenKeys = {};\n for (var i = 0; i < children.length; i++) {\n var vnode = children[i];\n var key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\n (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n vnode.context\n );\n } else {\n seenKeys[key] = true;\n }\n }\n }\n }\n\n function findIdxInOld (node, oldCh, start, end) {\n for (var i = start; i < end; i++) {\n var c = oldCh[i];\n if (isDef(c) && sameVnode(node, c)) { return i }\n }\n }\n\n function patchVnode (\n oldVnode,\n vnode,\n insertedVnodeQueue,\n ownerArray,\n index,\n removeOnly\n ) {\n if (oldVnode === vnode) {\n return\n }\n\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // clone reused vnode\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n var elm = vnode.elm = oldVnode.elm;\n\n if (isTrue(oldVnode.isAsyncPlaceholder)) {\n if (isDef(vnode.asyncFactory.resolved)) {\n hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n } else {\n vnode.isAsyncPlaceholder = true;\n }\n return\n }\n\n // reuse element for static trees.\n // note we only do this if the vnode is cloned -\n // if the new node is not cloned it means the render functions have been\n // reset by the hot-reload-api and we need to do a proper re-render.\n if (isTrue(vnode.isStatic) &&\n isTrue(oldVnode.isStatic) &&\n vnode.key === oldVnode.key &&\n (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n ) {\n vnode.componentInstance = oldVnode.componentInstance;\n return\n }\n\n var i;\n var data = vnode.data;\n if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n i(oldVnode, vnode);\n }\n\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (isDef(data) && isPatchable(vnode)) {\n for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }\n if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }\n } else if (isDef(ch)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(ch);\n }\n if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(elm, oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n }\n }\n\n function invokeInsertHook (vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n } else {\n for (var i = 0; i < queue.length; ++i) {\n queue[i].data.hook.insert(queue[i]);\n }\n }\n }\n\n var hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n var i;\n var tag = vnode.tag;\n var data = vnode.data;\n var children = vnode.children;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true\n }\n // assert node match\n if (process.env.NODE_ENV !== 'production') {\n if (!assertNodeMatch(elm, vnode, inVPre)) {\n return false\n }\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n if (isDef(i = vnode.componentInstance)) {\n // child component. it should have hydrated its own tree.\n initComponent(vnode, insertedVnodeQueue);\n return true\n }\n }\n if (isDef(tag)) {\n if (isDef(children)) {\n // empty element, allow client to pick up and populate children\n if (!elm.hasChildNodes()) {\n createChildren(vnode, children, insertedVnodeQueue);\n } else {\n // v-html and domProps: innerHTML\n if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n if (i !== elm.innerHTML) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('server innerHTML: ', i);\n console.warn('client innerHTML: ', elm.innerHTML);\n }\n return false\n }\n } else {\n // iterate and compare children lists\n var childrenMatch = true;\n var childNode = elm.firstChild;\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n childrenMatch = false;\n break\n }\n childNode = childNode.nextSibling;\n }\n // if childNode is not null, it means the actual childNodes list is\n // longer than the virtual children list.\n if (!childrenMatch || childNode) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n }\n return false\n }\n }\n }\n }\n if (isDef(data)) {\n var fullInvoke = false;\n for (var key in data) {\n if (!isRenderedModule(key)) {\n fullInvoke = true;\n invokeCreateHooks(vnode, insertedVnodeQueue);\n break\n }\n }\n if (!fullInvoke && data['class']) {\n // ensure collecting deps for deep class bindings for future updates\n traverse(data['class']);\n }\n }\n } else if (elm.data !== vnode.text) {\n elm.data = vnode.text;\n }\n return true\n }\n\n function assertNodeMatch (node, vnode, inVPre) {\n if (isDef(vnode.tag)) {\n return vnode.tag.indexOf('vue-component') === 0 || (\n !isUnknownElement$$1(vnode, inVPre) &&\n vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n )\n } else {\n return node.nodeType === (vnode.isComment ? 8 : 3)\n }\n }\n\n return function patch (oldVnode, vnode, hydrating, removeOnly) {\n if (isUndef(vnode)) {\n if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }\n return\n }\n\n var isInitialPatch = false;\n var insertedVnodeQueue = [];\n\n if (isUndef(oldVnode)) {\n // empty mount (likely as component), create new root element\n isInitialPatch = true;\n createElm(vnode, insertedVnodeQueue);\n } else {\n var isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly);\n } else {\n if (isRealElement) {\n // mounting to a real element\n // check if this is server-rendered content and if we can perform\n // a successful hydration.\n if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n oldVnode.removeAttribute(SSR_ATTR);\n hydrating = true;\n }\n if (isTrue(hydrating)) {\n if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n invokeInsertHook(vnode, insertedVnodeQueue, true);\n return oldVnode\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n 'The client-side rendered virtual DOM tree is not matching ' +\n 'server-rendered content. This is likely caused by incorrect ' +\n 'HTML markup, for example nesting block-level elements inside ' +\n '<p>, or missing <tbody>. Bailing hydration and performing ' +\n 'full client-side render.'\n );\n }\n }\n // either not server-rendered, or hydration failed.\n // create an empty node and replace it\n oldVnode = emptyNodeAt(oldVnode);\n }\n\n // replacing existing element\n var oldElm = oldVnode.elm;\n var parentElm = nodeOps.parentNode(oldElm);\n\n // create new node\n createElm(\n vnode,\n insertedVnodeQueue,\n // extremely rare edge case: do not insert if old element is in a\n // leaving transition. Only happens when combining transition +\n // keep-alive + HOCs. (#4590)\n oldElm._leaveCb ? null : parentElm,\n nodeOps.nextSibling(oldElm)\n );\n\n // update parent placeholder node element, recursively\n if (isDef(vnode.parent)) {\n var ancestor = vnode.parent;\n var patchable = isPatchable(vnode);\n while (ancestor) {\n for (var i = 0; i < cbs.destroy.length; ++i) {\n cbs.destroy[i](ancestor);\n }\n ancestor.elm = vnode.elm;\n if (patchable) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, ancestor);\n }\n // #6513\n // invoke insert hooks that may have been merged by create hooks.\n // e.g. for directives that uses the \"inserted\" hook.\n var insert = ancestor.data.hook.insert;\n if (insert.merged) {\n // start at index 1 to avoid re-invoking component mounted hook\n for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {\n insert.fns[i$2]();\n }\n }\n } else {\n registerRef(ancestor);\n }\n ancestor = ancestor.parent;\n }\n }\n\n // destroy old node\n if (isDef(parentElm)) {\n removeVnodes(parentElm, [oldVnode], 0, 0);\n } else if (isDef(oldVnode.tag)) {\n invokeDestroyHook(oldVnode);\n }\n }\n }\n\n invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n return vnode.elm\n }\n}\n\n/* */\n\nvar directives = {\n create: updateDirectives,\n update: updateDirectives,\n destroy: function unbindDirectives (vnode) {\n updateDirectives(vnode, emptyNode);\n }\n};\n\nfunction updateDirectives (oldVnode, vnode) {\n if (oldVnode.data.directives || vnode.data.directives) {\n _update(oldVnode, vnode);\n }\n}\n\nfunction _update (oldVnode, vnode) {\n var isCreate = oldVnode === emptyNode;\n var isDestroy = vnode === emptyNode;\n var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n var dirsWithInsert = [];\n var dirsWithPostpatch = [];\n\n var key, oldDir, dir;\n for (key in newDirs) {\n oldDir = oldDirs[key];\n dir = newDirs[key];\n if (!oldDir) {\n // new directive, bind\n callHook$1(dir, 'bind', vnode, oldVnode);\n if (dir.def && dir.def.inserted) {\n dirsWithInsert.push(dir);\n }\n } else {\n // existing directive, update\n dir.oldValue = oldDir.value;\n dir.oldArg = oldDir.arg;\n callHook$1(dir, 'update', vnode, oldVnode);\n if (dir.def && dir.def.componentUpdated) {\n dirsWithPostpatch.push(dir);\n }\n }\n }\n\n if (dirsWithInsert.length) {\n var callInsert = function () {\n for (var i = 0; i < dirsWithInsert.length; i++) {\n callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n }\n };\n if (isCreate) {\n mergeVNodeHook(vnode, 'insert', callInsert);\n } else {\n callInsert();\n }\n }\n\n if (dirsWithPostpatch.length) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n for (var i = 0; i < dirsWithPostpatch.length; i++) {\n callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n }\n });\n }\n\n if (!isCreate) {\n for (key in oldDirs) {\n if (!newDirs[key]) {\n // no longer present, unbind\n callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n }\n }\n }\n}\n\nvar emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n dirs,\n vm\n) {\n var res = Object.create(null);\n if (!dirs) {\n // $flow-disable-line\n return res\n }\n var i, dir;\n for (i = 0; i < dirs.length; i++) {\n dir = dirs[i];\n if (!dir.modifiers) {\n // $flow-disable-line\n dir.modifiers = emptyModifiers;\n }\n res[getRawDirName(dir)] = dir;\n dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n }\n // $flow-disable-line\n return res\n}\n\nfunction getRawDirName (dir) {\n return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n var fn = dir.def && dir.def[hook];\n if (fn) {\n try {\n fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n } catch (e) {\n handleError(e, vnode.context, (\"directive \" + (dir.name) + \" \" + hook + \" hook\"));\n }\n }\n}\n\nvar baseModules = [\n ref,\n directives\n];\n\n/* */\n\nfunction updateAttrs (oldVnode, vnode) {\n var opts = vnode.componentOptions;\n if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n return\n }\n if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n return\n }\n var key, cur, old;\n var elm = vnode.elm;\n var oldAttrs = oldVnode.data.attrs || {};\n var attrs = vnode.data.attrs || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(attrs.__ob__)) {\n attrs = vnode.data.attrs = extend({}, attrs);\n }\n\n for (key in attrs) {\n cur = attrs[key];\n old = oldAttrs[key];\n if (old !== cur) {\n setAttr(elm, key, cur);\n }\n }\n // #4391: in IE9, setting type can reset value for input[type=radio]\n // #6666: IE/Edge forces progress value down to 1 before setting a max\n /* istanbul ignore if */\n if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n setAttr(elm, 'value', attrs.value);\n }\n for (key in oldAttrs) {\n if (isUndef(attrs[key])) {\n if (isXlink(key)) {\n elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else if (!isEnumeratedAttr(key)) {\n elm.removeAttribute(key);\n }\n }\n }\n}\n\nfunction setAttr (el, key, value) {\n if (el.tagName.indexOf('-') > -1) {\n baseSetAttr(el, key, value);\n } else if (isBooleanAttr(key)) {\n // set attribute for blank value\n // e.g. <option disabled>Select one</option>\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // technically allowfullscreen is a boolean attribute for <iframe>,\n // but Flash expects a value of \"true\" when used on <embed> tag\n value = key === 'allowfullscreen' && el.tagName === 'EMBED'\n ? 'true'\n : key;\n el.setAttribute(key, value);\n }\n } else if (isEnumeratedAttr(key)) {\n el.setAttribute(key, convertEnumeratedValue(key, value));\n } else if (isXlink(key)) {\n if (isFalsyAttrValue(value)) {\n el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n baseSetAttr(el, key, value);\n }\n}\n\nfunction baseSetAttr (el, key, value) {\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // #7138: IE10 & 11 fires input event when setting placeholder on\n // <textarea>... block the first input event and remove the blocker\n // immediately.\n /* istanbul ignore if */\n if (\n isIE && !isIE9 &&\n el.tagName === 'TEXTAREA' &&\n key === 'placeholder' && value !== '' && !el.__ieph\n ) {\n var blocker = function (e) {\n e.stopImmediatePropagation();\n el.removeEventListener('input', blocker);\n };\n el.addEventListener('input', blocker);\n // $flow-disable-line\n el.__ieph = true; /* IE placeholder patched */\n }\n el.setAttribute(key, value);\n }\n}\n\nvar attrs = {\n create: updateAttrs,\n update: updateAttrs\n};\n\n/* */\n\nfunction updateClass (oldVnode, vnode) {\n var el = vnode.elm;\n var data = vnode.data;\n var oldData = oldVnode.data;\n if (\n isUndef(data.staticClass) &&\n isUndef(data.class) && (\n isUndef(oldData) || (\n isUndef(oldData.staticClass) &&\n isUndef(oldData.class)\n )\n )\n ) {\n return\n }\n\n var cls = genClassForVnode(vnode);\n\n // handle transition classes\n var transitionClass = el._transitionClasses;\n if (isDef(transitionClass)) {\n cls = concat(cls, stringifyClass(transitionClass));\n }\n\n // set the class\n if (cls !== el._prevClass) {\n el.setAttribute('class', cls);\n el._prevClass = cls;\n }\n}\n\nvar klass = {\n create: updateClass,\n update: updateClass\n};\n\n/* */\n\nvar validDivisionCharRE = /[\\w).+\\-_$\\]]/;\n\nfunction parseFilters (exp) {\n var inSingle = false;\n var inDouble = false;\n var inTemplateString = false;\n var inRegex = false;\n var curly = 0;\n var square = 0;\n var paren = 0;\n var lastFilterIndex = 0;\n var c, prev, i, expression, filters;\n\n for (i = 0; i < exp.length; i++) {\n prev = c;\n c = exp.charCodeAt(i);\n if (inSingle) {\n if (c === 0x27 && prev !== 0x5C) { inSingle = false; }\n } else if (inDouble) {\n if (c === 0x22 && prev !== 0x5C) { inDouble = false; }\n } else if (inTemplateString) {\n if (c === 0x60 && prev !== 0x5C) { inTemplateString = false; }\n } else if (inRegex) {\n if (c === 0x2f && prev !== 0x5C) { inRegex = false; }\n } else if (\n c === 0x7C && // pipe\n exp.charCodeAt(i + 1) !== 0x7C &&\n exp.charCodeAt(i - 1) !== 0x7C &&\n !curly && !square && !paren\n ) {\n if (expression === undefined) {\n // first filter, end of expression\n lastFilterIndex = i + 1;\n expression = exp.slice(0, i).trim();\n } else {\n pushFilter();\n }\n } else {\n switch (c) {\n case 0x22: inDouble = true; break // \"\n case 0x27: inSingle = true; break // '\n case 0x60: inTemplateString = true; break // `\n case 0x28: paren++; break // (\n case 0x29: paren--; break // )\n case 0x5B: square++; break // [\n case 0x5D: square--; break // ]\n case 0x7B: curly++; break // {\n case 0x7D: curly--; break // }\n }\n if (c === 0x2f) { // /\n var j = i - 1;\n var p = (void 0);\n // find first non-whitespace prev char\n for (; j >= 0; j--) {\n p = exp.charAt(j);\n if (p !== ' ') { break }\n }\n if (!p || !validDivisionCharRE.test(p)) {\n inRegex = true;\n }\n }\n }\n }\n\n if (expression === undefined) {\n expression = exp.slice(0, i).trim();\n } else if (lastFilterIndex !== 0) {\n pushFilter();\n }\n\n function pushFilter () {\n (filters || (filters = [])).push(exp.slice(lastFilterIndex, i).trim());\n lastFilterIndex = i + 1;\n }\n\n if (filters) {\n for (i = 0; i < filters.length; i++) {\n expression = wrapFilter(expression, filters[i]);\n }\n }\n\n return expression\n}\n\nfunction wrapFilter (exp, filter) {\n var i = filter.indexOf('(');\n if (i < 0) {\n // _f: resolveFilter\n return (\"_f(\\\"\" + filter + \"\\\")(\" + exp + \")\")\n } else {\n var name = filter.slice(0, i);\n var args = filter.slice(i + 1);\n return (\"_f(\\\"\" + name + \"\\\")(\" + exp + (args !== ')' ? ',' + args : args))\n }\n}\n\n/* */\n\n\n\n/* eslint-disable no-unused-vars */\nfunction baseWarn (msg, range) {\n console.error((\"[Vue compiler]: \" + msg));\n}\n/* eslint-enable no-unused-vars */\n\nfunction pluckModuleFunction (\n modules,\n key\n) {\n return modules\n ? modules.map(function (m) { return m[key]; }).filter(function (_) { return _; })\n : []\n}\n\nfunction addProp (el, name, value, range, dynamic) {\n (el.props || (el.props = [])).push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range));\n el.plain = false;\n}\n\nfunction addAttr (el, name, value, range, dynamic) {\n var attrs = dynamic\n ? (el.dynamicAttrs || (el.dynamicAttrs = []))\n : (el.attrs || (el.attrs = []));\n attrs.push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range));\n el.plain = false;\n}\n\n// add a raw attr (use this in preTransforms)\nfunction addRawAttr (el, name, value, range) {\n el.attrsMap[name] = value;\n el.attrsList.push(rangeSetItem({ name: name, value: value }, range));\n}\n\nfunction addDirective (\n el,\n name,\n rawName,\n value,\n arg,\n isDynamicArg,\n modifiers,\n range\n) {\n (el.directives || (el.directives = [])).push(rangeSetItem({\n name: name,\n rawName: rawName,\n value: value,\n arg: arg,\n isDynamicArg: isDynamicArg,\n modifiers: modifiers\n }, range));\n el.plain = false;\n}\n\nfunction prependModifierMarker (symbol, name, dynamic) {\n return dynamic\n ? (\"_p(\" + name + \",\\\"\" + symbol + \"\\\")\")\n : symbol + name // mark the event as captured\n}\n\nfunction addHandler (\n el,\n name,\n value,\n modifiers,\n important,\n warn,\n range,\n dynamic\n) {\n modifiers = modifiers || emptyObject;\n // warn prevent and passive modifier\n /* istanbul ignore if */\n if (\n process.env.NODE_ENV !== 'production' && warn &&\n modifiers.prevent && modifiers.passive\n ) {\n warn(\n 'passive and prevent can\\'t be used together. ' +\n 'Passive handler can\\'t prevent default event.',\n range\n );\n }\n\n // normalize click.right and click.middle since they don't actually fire\n // this is technically browser-specific, but at least for now browsers are\n // the only target envs that have right/middle clicks.\n if (modifiers.right) {\n if (dynamic) {\n name = \"(\" + name + \")==='click'?'contextmenu':(\" + name + \")\";\n } else if (name === 'click') {\n name = 'contextmenu';\n delete modifiers.right;\n }\n } else if (modifiers.middle) {\n if (dynamic) {\n name = \"(\" + name + \")==='click'?'mouseup':(\" + name + \")\";\n } else if (name === 'click') {\n name = 'mouseup';\n }\n }\n\n // check capture modifier\n if (modifiers.capture) {\n delete modifiers.capture;\n name = prependModifierMarker('!', name, dynamic);\n }\n if (modifiers.once) {\n delete modifiers.once;\n name = prependModifierMarker('~', name, dynamic);\n }\n /* istanbul ignore if */\n if (modifiers.passive) {\n delete modifiers.passive;\n name = prependModifierMarker('&', name, dynamic);\n }\n\n var events;\n if (modifiers.native) {\n delete modifiers.native;\n events = el.nativeEvents || (el.nativeEvents = {});\n } else {\n events = el.events || (el.events = {});\n }\n\n var newHandler = rangeSetItem({ value: value.trim(), dynamic: dynamic }, range);\n if (modifiers !== emptyObject) {\n newHandler.modifiers = modifiers;\n }\n\n var handlers = events[name];\n /* istanbul ignore if */\n if (Array.isArray(handlers)) {\n important ? handlers.unshift(newHandler) : handlers.push(newHandler);\n } else if (handlers) {\n events[name] = important ? [newHandler, handlers] : [handlers, newHandler];\n } else {\n events[name] = newHandler;\n }\n\n el.plain = false;\n}\n\nfunction getRawBindingAttr (\n el,\n name\n) {\n return el.rawAttrsMap[':' + name] ||\n el.rawAttrsMap['v-bind:' + name] ||\n el.rawAttrsMap[name]\n}\n\nfunction getBindingAttr (\n el,\n name,\n getStatic\n) {\n var dynamicValue =\n getAndRemoveAttr(el, ':' + name) ||\n getAndRemoveAttr(el, 'v-bind:' + name);\n if (dynamicValue != null) {\n return parseFilters(dynamicValue)\n } else if (getStatic !== false) {\n var staticValue = getAndRemoveAttr(el, name);\n if (staticValue != null) {\n return JSON.stringify(staticValue)\n }\n }\n}\n\n// note: this only removes the attr from the Array (attrsList) so that it\n// doesn't get processed by processAttrs.\n// By default it does NOT remove it from the map (attrsMap) because the map is\n// needed during codegen.\nfunction getAndRemoveAttr (\n el,\n name,\n removeFromMap\n) {\n var val;\n if ((val = el.attrsMap[name]) != null) {\n var list = el.attrsList;\n for (var i = 0, l = list.length; i < l; i++) {\n if (list[i].name === name) {\n list.splice(i, 1);\n break\n }\n }\n }\n if (removeFromMap) {\n delete el.attrsMap[name];\n }\n return val\n}\n\nfunction getAndRemoveAttrByRegex (\n el,\n name\n) {\n var list = el.attrsList;\n for (var i = 0, l = list.length; i < l; i++) {\n var attr = list[i];\n if (name.test(attr.name)) {\n list.splice(i, 1);\n return attr\n }\n }\n}\n\nfunction rangeSetItem (\n item,\n range\n) {\n if (range) {\n if (range.start != null) {\n item.start = range.start;\n }\n if (range.end != null) {\n item.end = range.end;\n }\n }\n return item\n}\n\n/* */\n\n/**\n * Cross-platform code generation for component v-model\n */\nfunction genComponentModel (\n el,\n value,\n modifiers\n) {\n var ref = modifiers || {};\n var number = ref.number;\n var trim = ref.trim;\n\n var baseValueExpression = '$$v';\n var valueExpression = baseValueExpression;\n if (trim) {\n valueExpression =\n \"(typeof \" + baseValueExpression + \" === 'string'\" +\n \"? \" + baseValueExpression + \".trim()\" +\n \": \" + baseValueExpression + \")\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n var assignment = genAssignmentCode(value, valueExpression);\n\n el.model = {\n value: (\"(\" + value + \")\"),\n expression: JSON.stringify(value),\n callback: (\"function (\" + baseValueExpression + \") {\" + assignment + \"}\")\n };\n}\n\n/**\n * Cross-platform codegen helper for generating v-model value assignment code.\n */\nfunction genAssignmentCode (\n value,\n assignment\n) {\n var res = parseModel(value);\n if (res.key === null) {\n return (value + \"=\" + assignment)\n } else {\n return (\"$set(\" + (res.exp) + \", \" + (res.key) + \", \" + assignment + \")\")\n }\n}\n\n/**\n * Parse a v-model expression into a base path and a final key segment.\n * Handles both dot-path and possible square brackets.\n *\n * Possible cases:\n *\n * - test\n * - test[key]\n * - test[test1[key]]\n * - test[\"a\"][key]\n * - xxx.test[a[a].test1[key]]\n * - test.xxx.a[\"asa\"][test1[key]]\n *\n */\n\nvar len, str, chr, index$1, expressionPos, expressionEndPos;\n\n\n\nfunction parseModel (val) {\n // Fix https://github.com/vuejs/vue/pull/7730\n // allow v-model=\"obj.val \" (trailing whitespace)\n val = val.trim();\n len = val.length;\n\n if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) {\n index$1 = val.lastIndexOf('.');\n if (index$1 > -1) {\n return {\n exp: val.slice(0, index$1),\n key: '\"' + val.slice(index$1 + 1) + '\"'\n }\n } else {\n return {\n exp: val,\n key: null\n }\n }\n }\n\n str = val;\n index$1 = expressionPos = expressionEndPos = 0;\n\n while (!eof()) {\n chr = next();\n /* istanbul ignore if */\n if (isStringStart(chr)) {\n parseString(chr);\n } else if (chr === 0x5B) {\n parseBracket(chr);\n }\n }\n\n return {\n exp: val.slice(0, expressionPos),\n key: val.slice(expressionPos + 1, expressionEndPos)\n }\n}\n\nfunction next () {\n return str.charCodeAt(++index$1)\n}\n\nfunction eof () {\n return index$1 >= len\n}\n\nfunction isStringStart (chr) {\n return chr === 0x22 || chr === 0x27\n}\n\nfunction parseBracket (chr) {\n var inBracket = 1;\n expressionPos = index$1;\n while (!eof()) {\n chr = next();\n if (isStringStart(chr)) {\n parseString(chr);\n continue\n }\n if (chr === 0x5B) { inBracket++; }\n if (chr === 0x5D) { inBracket--; }\n if (inBracket === 0) {\n expressionEndPos = index$1;\n break\n }\n }\n}\n\nfunction parseString (chr) {\n var stringQuote = chr;\n while (!eof()) {\n chr = next();\n if (chr === stringQuote) {\n break\n }\n }\n}\n\n/* */\n\nvar warn$1;\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nvar RANGE_TOKEN = '__r';\nvar CHECKBOX_RADIO_TOKEN = '__c';\n\nfunction model (\n el,\n dir,\n _warn\n) {\n warn$1 = _warn;\n var value = dir.value;\n var modifiers = dir.modifiers;\n var tag = el.tag;\n var type = el.attrsMap.type;\n\n if (process.env.NODE_ENV !== 'production') {\n // inputs with type=\"file\" are read only and setting the input's\n // value will throw an error.\n if (tag === 'input' && type === 'file') {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\" type=\\\"file\\\">:\\n\" +\n \"File inputs are read only. Use a v-on:change listener instead.\",\n el.rawAttrsMap['v-model']\n );\n }\n }\n\n if (el.component) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (tag === 'select') {\n genSelect(el, value, modifiers);\n } else if (tag === 'input' && type === 'checkbox') {\n genCheckboxModel(el, value, modifiers);\n } else if (tag === 'input' && type === 'radio') {\n genRadioModel(el, value, modifiers);\n } else if (tag === 'input' || tag === 'textarea') {\n genDefaultModel(el, value, modifiers);\n } else if (!config.isReservedTag(tag)) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (process.env.NODE_ENV !== 'production') {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"v-model is not supported on this element type. \" +\n 'If you are working with contenteditable, it\\'s recommended to ' +\n 'wrap a library dedicated for that purpose inside a custom component.',\n el.rawAttrsMap['v-model']\n );\n }\n\n // ensure runtime directive metadata\n return true\n}\n\nfunction genCheckboxModel (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n var trueValueBinding = getBindingAttr(el, 'true-value') || 'true';\n var falseValueBinding = getBindingAttr(el, 'false-value') || 'false';\n addProp(el, 'checked',\n \"Array.isArray(\" + value + \")\" +\n \"?_i(\" + value + \",\" + valueBinding + \")>-1\" + (\n trueValueBinding === 'true'\n ? (\":(\" + value + \")\")\n : (\":_q(\" + value + \",\" + trueValueBinding + \")\")\n )\n );\n addHandler(el, 'change',\n \"var $$a=\" + value + \",\" +\n '$$el=$event.target,' +\n \"$$c=$$el.checked?(\" + trueValueBinding + \"):(\" + falseValueBinding + \");\" +\n 'if(Array.isArray($$a)){' +\n \"var $$v=\" + (number ? '_n(' + valueBinding + ')' : valueBinding) + \",\" +\n '$$i=_i($$a,$$v);' +\n \"if($$el.checked){$$i<0&&(\" + (genAssignmentCode(value, '$$a.concat([$$v])')) + \")}\" +\n \"else{$$i>-1&&(\" + (genAssignmentCode(value, '$$a.slice(0,$$i).concat($$a.slice($$i+1))')) + \")}\" +\n \"}else{\" + (genAssignmentCode(value, '$$c')) + \"}\",\n null, true\n );\n}\n\nfunction genRadioModel (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n valueBinding = number ? (\"_n(\" + valueBinding + \")\") : valueBinding;\n addProp(el, 'checked', (\"_q(\" + value + \",\" + valueBinding + \")\"));\n addHandler(el, 'change', genAssignmentCode(value, valueBinding), null, true);\n}\n\nfunction genSelect (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var selectedVal = \"Array.prototype.filter\" +\n \".call($event.target.options,function(o){return o.selected})\" +\n \".map(function(o){var val = \\\"_value\\\" in o ? o._value : o.value;\" +\n \"return \" + (number ? '_n(val)' : 'val') + \"})\";\n\n var assignment = '$event.target.multiple ? $$selectedVal : $$selectedVal[0]';\n var code = \"var $$selectedVal = \" + selectedVal + \";\";\n code = code + \" \" + (genAssignmentCode(value, assignment));\n addHandler(el, 'change', code, null, true);\n}\n\nfunction genDefaultModel (\n el,\n value,\n modifiers\n) {\n var type = el.attrsMap.type;\n\n // warn if v-bind:value conflicts with v-model\n // except for inputs with v-bind:type\n if (process.env.NODE_ENV !== 'production') {\n var value$1 = el.attrsMap['v-bind:value'] || el.attrsMap[':value'];\n var typeBinding = el.attrsMap['v-bind:type'] || el.attrsMap[':type'];\n if (value$1 && !typeBinding) {\n var binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value';\n warn$1(\n binding + \"=\\\"\" + value$1 + \"\\\" conflicts with v-model on the same element \" +\n 'because the latter already expands to a value binding internally',\n el.rawAttrsMap[binding]\n );\n }\n }\n\n var ref = modifiers || {};\n var lazy = ref.lazy;\n var number = ref.number;\n var trim = ref.trim;\n var needCompositionGuard = !lazy && type !== 'range';\n var event = lazy\n ? 'change'\n : type === 'range'\n ? RANGE_TOKEN\n : 'input';\n\n var valueExpression = '$event.target.value';\n if (trim) {\n valueExpression = \"$event.target.value.trim()\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n\n var code = genAssignmentCode(value, valueExpression);\n if (needCompositionGuard) {\n code = \"if($event.target.composing)return;\" + code;\n }\n\n addProp(el, 'value', (\"(\" + value + \")\"));\n addHandler(el, event, code, null, true);\n if (trim || number) {\n addHandler(el, 'blur', '$forceUpdate()');\n }\n}\n\n/* */\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents (on) {\n /* istanbul ignore if */\n if (isDef(on[RANGE_TOKEN])) {\n // IE input[type=range] only supports `change` event\n var event = isIE ? 'change' : 'input';\n on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);\n delete on[RANGE_TOKEN];\n }\n // This was originally intended to fix #4521 but no longer necessary\n // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n /* istanbul ignore if */\n if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n delete on[CHECKBOX_RADIO_TOKEN];\n }\n}\n\nvar target$1;\n\nfunction createOnceHandler$1 (event, handler, capture) {\n var _target = target$1; // save current target element in closure\n return function onceHandler () {\n var res = handler.apply(null, arguments);\n if (res !== null) {\n remove$2(event, onceHandler, capture, _target);\n }\n }\n}\n\n// #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp\n// implementation and does not fire microtasks in between event propagation, so\n// safe to exclude.\nvar useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53);\n\nfunction add$1 (\n name,\n handler,\n capture,\n passive\n) {\n // async edge case #6566: inner click event triggers patch, event handler\n // attached to outer element during patch, and triggered again. This\n // happens because browsers fire microtask ticks between event propagation.\n // the solution is simple: we save the timestamp when a handler is attached,\n // and the handler would only fire if the event passed to it was fired\n // AFTER it was attached.\n if (useMicrotaskFix) {\n var attachedTimestamp = currentFlushTimestamp;\n var original = handler;\n handler = original._wrapper = function (e) {\n if (\n // no bubbling, should always fire.\n // this is just a safety net in case event.timeStamp is unreliable in\n // certain weird environments...\n e.target === e.currentTarget ||\n // event is fired after handler attachment\n e.timeStamp >= attachedTimestamp ||\n // bail for environments that have buggy event.timeStamp implementations\n // #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState\n // #9681 QtWebEngine event.timeStamp is negative value\n e.timeStamp <= 0 ||\n // #9448 bail if event is fired in another document in a multi-page\n // electron/nw.js app, since event.timeStamp will be using a different\n // starting reference\n e.target.ownerDocument !== document\n ) {\n return original.apply(this, arguments)\n }\n };\n }\n target$1.addEventListener(\n name,\n handler,\n supportsPassive\n ? { capture: capture, passive: passive }\n : capture\n );\n}\n\nfunction remove$2 (\n name,\n handler,\n capture,\n _target\n) {\n (_target || target$1).removeEventListener(\n name,\n handler._wrapper || handler,\n capture\n );\n}\n\nfunction updateDOMListeners (oldVnode, vnode) {\n if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n return\n }\n var on = vnode.data.on || {};\n var oldOn = oldVnode.data.on || {};\n target$1 = vnode.elm;\n normalizeEvents(on);\n updateListeners(on, oldOn, add$1, remove$2, createOnceHandler$1, vnode.context);\n target$1 = undefined;\n}\n\nvar events = {\n create: updateDOMListeners,\n update: updateDOMListeners\n};\n\n/* */\n\nvar svgContainer;\n\nfunction updateDOMProps (oldVnode, vnode) {\n if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n return\n }\n var key, cur;\n var elm = vnode.elm;\n var oldProps = oldVnode.data.domProps || {};\n var props = vnode.data.domProps || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(props.__ob__)) {\n props = vnode.data.domProps = extend({}, props);\n }\n\n for (key in oldProps) {\n if (!(key in props)) {\n elm[key] = '';\n }\n }\n\n for (key in props) {\n cur = props[key];\n // ignore children if the node has textContent or innerHTML,\n // as these will throw away existing DOM nodes and cause removal errors\n // on subsequent patches (#3360)\n if (key === 'textContent' || key === 'innerHTML') {\n if (vnode.children) { vnode.children.length = 0; }\n if (cur === oldProps[key]) { continue }\n // #6601 work around Chrome version <= 55 bug where single textNode\n // replaced by innerHTML/textContent retains its parentNode property\n if (elm.childNodes.length === 1) {\n elm.removeChild(elm.childNodes[0]);\n }\n }\n\n if (key === 'value' && elm.tagName !== 'PROGRESS') {\n // store value as _value as well since\n // non-string values will be stringified\n elm._value = cur;\n // avoid resetting cursor position when value is the same\n var strCur = isUndef(cur) ? '' : String(cur);\n if (shouldUpdateValue(elm, strCur)) {\n elm.value = strCur;\n }\n } else if (key === 'innerHTML' && isSVG(elm.tagName) && isUndef(elm.innerHTML)) {\n // IE doesn't support innerHTML for SVG elements\n svgContainer = svgContainer || document.createElement('div');\n svgContainer.innerHTML = \"<svg>\" + cur + \"</svg>\";\n var svg = svgContainer.firstChild;\n while (elm.firstChild) {\n elm.removeChild(elm.firstChild);\n }\n while (svg.firstChild) {\n elm.appendChild(svg.firstChild);\n }\n } else if (\n // skip the update if old and new VDOM state is the same.\n // `value` is handled separately because the DOM value may be temporarily\n // out of sync with VDOM state due to focus, composition and modifiers.\n // This #4521 by skipping the unnecesarry `checked` update.\n cur !== oldProps[key]\n ) {\n // some property updates can throw\n // e.g. `value` on <progress> w/ non-finite value\n try {\n elm[key] = cur;\n } catch (e) {}\n }\n }\n}\n\n// check platforms/web/util/attrs.js acceptValue\n\n\nfunction shouldUpdateValue (elm, checkVal) {\n return (!elm.composing && (\n elm.tagName === 'OPTION' ||\n isNotInFocusAndDirty(elm, checkVal) ||\n isDirtyWithModifiers(elm, checkVal)\n ))\n}\n\nfunction isNotInFocusAndDirty (elm, checkVal) {\n // return true when textbox (.number and .trim) loses focus and its value is\n // not equal to the updated value\n var notInFocus = true;\n // #6157\n // work around IE bug when accessing document.activeElement in an iframe\n try { notInFocus = document.activeElement !== elm; } catch (e) {}\n return notInFocus && elm.value !== checkVal\n}\n\nfunction isDirtyWithModifiers (elm, newVal) {\n var value = elm.value;\n var modifiers = elm._vModifiers; // injected by v-model runtime\n if (isDef(modifiers)) {\n if (modifiers.number) {\n return toNumber(value) !== toNumber(newVal)\n }\n if (modifiers.trim) {\n return value.trim() !== newVal.trim()\n }\n }\n return value !== newVal\n}\n\nvar domProps = {\n create: updateDOMProps,\n update: updateDOMProps\n};\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData (data) {\n var style = normalizeStyleBinding(data.style);\n // static style is pre-processed into an object during compilation\n // and is always a fresh object, so it's safe to merge into it\n return data.staticStyle\n ? extend(data.staticStyle, style)\n : style\n}\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle (vnode, checkChild) {\n var res = {};\n var styleData;\n\n if (checkChild) {\n var childNode = vnode;\n while (childNode.componentInstance) {\n childNode = childNode.componentInstance._vnode;\n if (\n childNode && childNode.data &&\n (styleData = normalizeStyleData(childNode.data))\n ) {\n extend(res, styleData);\n }\n }\n }\n\n if ((styleData = normalizeStyleData(vnode.data))) {\n extend(res, styleData);\n }\n\n var parentNode = vnode;\n while ((parentNode = parentNode.parent)) {\n if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n extend(res, styleData);\n }\n }\n return res\n}\n\n/* */\n\nvar cssVarRE = /^--/;\nvar importantRE = /\\s*!important$/;\nvar setProp = function (el, name, val) {\n /* istanbul ignore if */\n if (cssVarRE.test(name)) {\n el.style.setProperty(name, val);\n } else if (importantRE.test(val)) {\n el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important');\n } else {\n var normalizedName = normalize(name);\n if (Array.isArray(val)) {\n // Support values array created by autoprefixer, e.g.\n // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n // Set them one by one, and the browser will only set those it can recognize\n for (var i = 0, len = val.length; i < len; i++) {\n el.style[normalizedName] = val[i];\n }\n } else {\n el.style[normalizedName] = val;\n }\n }\n};\n\nvar vendorNames = ['Webkit', 'Moz', 'ms'];\n\nvar emptyStyle;\nvar normalize = cached(function (prop) {\n emptyStyle = emptyStyle || document.createElement('div').style;\n prop = camelize(prop);\n if (prop !== 'filter' && (prop in emptyStyle)) {\n return prop\n }\n var capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n for (var i = 0; i < vendorNames.length; i++) {\n var name = vendorNames[i] + capName;\n if (name in emptyStyle) {\n return name\n }\n }\n});\n\nfunction updateStyle (oldVnode, vnode) {\n var data = vnode.data;\n var oldData = oldVnode.data;\n\n if (isUndef(data.staticStyle) && isUndef(data.style) &&\n isUndef(oldData.staticStyle) && isUndef(oldData.style)\n ) {\n return\n }\n\n var cur, name;\n var el = vnode.elm;\n var oldStaticStyle = oldData.staticStyle;\n var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n\n // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n var oldStyle = oldStaticStyle || oldStyleBinding;\n\n var style = normalizeStyleBinding(vnode.data.style) || {};\n\n // store normalized style under a different key for next diff\n // make sure to clone it if it's reactive, since the user likely wants\n // to mutate it.\n vnode.data.normalizedStyle = isDef(style.__ob__)\n ? extend({}, style)\n : style;\n\n var newStyle = getStyle(vnode, true);\n\n for (name in oldStyle) {\n if (isUndef(newStyle[name])) {\n setProp(el, name, '');\n }\n }\n for (name in newStyle) {\n cur = newStyle[name];\n if (cur !== oldStyle[name]) {\n // ie9 setting to null has no effect, must use empty string\n setProp(el, name, cur == null ? '' : cur);\n }\n }\n}\n\nvar style = {\n create: updateStyle,\n update: updateStyle\n};\n\n/* */\n\nvar whitespaceRE = /\\s+/;\n\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.add(c); });\n } else {\n el.classList.add(cls);\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n if (cur.indexOf(' ' + cls + ' ') < 0) {\n el.setAttribute('class', (cur + cls).trim());\n }\n }\n}\n\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.remove(c); });\n } else {\n el.classList.remove(cls);\n }\n if (!el.classList.length) {\n el.removeAttribute('class');\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n var tar = ' ' + cls + ' ';\n while (cur.indexOf(tar) >= 0) {\n cur = cur.replace(tar, ' ');\n }\n cur = cur.trim();\n if (cur) {\n el.setAttribute('class', cur);\n } else {\n el.removeAttribute('class');\n }\n }\n}\n\n/* */\n\nfunction resolveTransition (def$$1) {\n if (!def$$1) {\n return\n }\n /* istanbul ignore else */\n if (typeof def$$1 === 'object') {\n var res = {};\n if (def$$1.css !== false) {\n extend(res, autoCssTransition(def$$1.name || 'v'));\n }\n extend(res, def$$1);\n return res\n } else if (typeof def$$1 === 'string') {\n return autoCssTransition(def$$1)\n }\n}\n\nvar autoCssTransition = cached(function (name) {\n return {\n enterClass: (name + \"-enter\"),\n enterToClass: (name + \"-enter-to\"),\n enterActiveClass: (name + \"-enter-active\"),\n leaveClass: (name + \"-leave\"),\n leaveToClass: (name + \"-leave-to\"),\n leaveActiveClass: (name + \"-leave-active\")\n }\n});\n\nvar hasTransition = inBrowser && !isIE9;\nvar TRANSITION = 'transition';\nvar ANIMATION = 'animation';\n\n// Transition property/event sniffing\nvar transitionProp = 'transition';\nvar transitionEndEvent = 'transitionend';\nvar animationProp = 'animation';\nvar animationEndEvent = 'animationend';\nif (hasTransition) {\n /* istanbul ignore if */\n if (window.ontransitionend === undefined &&\n window.onwebkittransitionend !== undefined\n ) {\n transitionProp = 'WebkitTransition';\n transitionEndEvent = 'webkitTransitionEnd';\n }\n if (window.onanimationend === undefined &&\n window.onwebkitanimationend !== undefined\n ) {\n animationProp = 'WebkitAnimation';\n animationEndEvent = 'webkitAnimationEnd';\n }\n}\n\n// binding to window is necessary to make hot reload work in IE in strict mode\nvar raf = inBrowser\n ? window.requestAnimationFrame\n ? window.requestAnimationFrame.bind(window)\n : setTimeout\n : /* istanbul ignore next */ function (fn) { return fn(); };\n\nfunction nextFrame (fn) {\n raf(function () {\n raf(fn);\n });\n}\n\nfunction addTransitionClass (el, cls) {\n var transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n if (transitionClasses.indexOf(cls) < 0) {\n transitionClasses.push(cls);\n addClass(el, cls);\n }\n}\n\nfunction removeTransitionClass (el, cls) {\n if (el._transitionClasses) {\n remove(el._transitionClasses, cls);\n }\n removeClass(el, cls);\n}\n\nfunction whenTransitionEnds (\n el,\n expectedType,\n cb\n) {\n var ref = getTransitionInfo(el, expectedType);\n var type = ref.type;\n var timeout = ref.timeout;\n var propCount = ref.propCount;\n if (!type) { return cb() }\n var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n var ended = 0;\n var end = function () {\n el.removeEventListener(event, onEnd);\n cb();\n };\n var onEnd = function (e) {\n if (e.target === el) {\n if (++ended >= propCount) {\n end();\n }\n }\n };\n setTimeout(function () {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(event, onEnd);\n}\n\nvar transformRE = /\\b(transform|all)(,|$)/;\n\nfunction getTransitionInfo (el, expectedType) {\n var styles = window.getComputedStyle(el);\n // JSDOM may return undefined for transition properties\n var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', ');\n var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', ');\n var transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n var animationDelays = (styles[animationProp + 'Delay'] || '').split(', ');\n var animationDurations = (styles[animationProp + 'Duration'] || '').split(', ');\n var animationTimeout = getTimeout(animationDelays, animationDurations);\n\n var type;\n var timeout = 0;\n var propCount = 0;\n /* istanbul ignore if */\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0\n ? transitionTimeout > animationTimeout\n ? TRANSITION\n : ANIMATION\n : null;\n propCount = type\n ? type === TRANSITION\n ? transitionDurations.length\n : animationDurations.length\n : 0;\n }\n var hasTransform =\n type === TRANSITION &&\n transformRE.test(styles[transitionProp + 'Property']);\n return {\n type: type,\n timeout: timeout,\n propCount: propCount,\n hasTransform: hasTransform\n }\n}\n\nfunction getTimeout (delays, durations) {\n /* istanbul ignore next */\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n\n return Math.max.apply(null, durations.map(function (d, i) {\n return toMs(d) + toMs(delays[i])\n }))\n}\n\n// Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers\n// in a locale-dependent way, using a comma instead of a dot.\n// If comma is not replaced with a dot, the input will be rounded down (i.e. acting\n// as a floor function) causing unexpected behaviors\nfunction toMs (s) {\n return Number(s.slice(0, -1).replace(',', '.')) * 1000\n}\n\n/* */\n\nfunction enter (vnode, toggleDisplay) {\n var el = vnode.elm;\n\n // call leave callback now\n if (isDef(el._leaveCb)) {\n el._leaveCb.cancelled = true;\n el._leaveCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data)) {\n return\n }\n\n /* istanbul ignore if */\n if (isDef(el._enterCb) || el.nodeType !== 1) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var enterClass = data.enterClass;\n var enterToClass = data.enterToClass;\n var enterActiveClass = data.enterActiveClass;\n var appearClass = data.appearClass;\n var appearToClass = data.appearToClass;\n var appearActiveClass = data.appearActiveClass;\n var beforeEnter = data.beforeEnter;\n var enter = data.enter;\n var afterEnter = data.afterEnter;\n var enterCancelled = data.enterCancelled;\n var beforeAppear = data.beforeAppear;\n var appear = data.appear;\n var afterAppear = data.afterAppear;\n var appearCancelled = data.appearCancelled;\n var duration = data.duration;\n\n // activeInstance will always be the <transition> component managing this\n // transition. One edge case to check is when the <transition> is placed\n // as the root node of a child component. In that case we need to check\n // <transition>'s parent for appear check.\n var context = activeInstance;\n var transitionNode = activeInstance.$vnode;\n while (transitionNode && transitionNode.parent) {\n context = transitionNode.context;\n transitionNode = transitionNode.parent;\n }\n\n var isAppear = !context._isMounted || !vnode.isRootInsert;\n\n if (isAppear && !appear && appear !== '') {\n return\n }\n\n var startClass = isAppear && appearClass\n ? appearClass\n : enterClass;\n var activeClass = isAppear && appearActiveClass\n ? appearActiveClass\n : enterActiveClass;\n var toClass = isAppear && appearToClass\n ? appearToClass\n : enterToClass;\n\n var beforeEnterHook = isAppear\n ? (beforeAppear || beforeEnter)\n : beforeEnter;\n var enterHook = isAppear\n ? (typeof appear === 'function' ? appear : enter)\n : enter;\n var afterEnterHook = isAppear\n ? (afterAppear || afterEnter)\n : afterEnter;\n var enterCancelledHook = isAppear\n ? (appearCancelled || enterCancelled)\n : enterCancelled;\n\n var explicitEnterDuration = toNumber(\n isObject(duration)\n ? duration.enter\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && explicitEnterDuration != null) {\n checkDuration(explicitEnterDuration, 'enter', vnode);\n }\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(enterHook);\n\n var cb = el._enterCb = once(function () {\n if (expectsCSS) {\n removeTransitionClass(el, toClass);\n removeTransitionClass(el, activeClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, startClass);\n }\n enterCancelledHook && enterCancelledHook(el);\n } else {\n afterEnterHook && afterEnterHook(el);\n }\n el._enterCb = null;\n });\n\n if (!vnode.data.show) {\n // remove pending leave element on enter by injecting an insert hook\n mergeVNodeHook(vnode, 'insert', function () {\n var parent = el.parentNode;\n var pendingNode = parent && parent._pending && parent._pending[vnode.key];\n if (pendingNode &&\n pendingNode.tag === vnode.tag &&\n pendingNode.elm._leaveCb\n ) {\n pendingNode.elm._leaveCb();\n }\n enterHook && enterHook(el, cb);\n });\n }\n\n // start enter transition\n beforeEnterHook && beforeEnterHook(el);\n if (expectsCSS) {\n addTransitionClass(el, startClass);\n addTransitionClass(el, activeClass);\n nextFrame(function () {\n removeTransitionClass(el, startClass);\n if (!cb.cancelled) {\n addTransitionClass(el, toClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitEnterDuration)) {\n setTimeout(cb, explicitEnterDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n\n if (vnode.data.show) {\n toggleDisplay && toggleDisplay();\n enterHook && enterHook(el, cb);\n }\n\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n}\n\nfunction leave (vnode, rm) {\n var el = vnode.elm;\n\n // call enter callback now\n if (isDef(el._enterCb)) {\n el._enterCb.cancelled = true;\n el._enterCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data) || el.nodeType !== 1) {\n return rm()\n }\n\n /* istanbul ignore if */\n if (isDef(el._leaveCb)) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var leaveClass = data.leaveClass;\n var leaveToClass = data.leaveToClass;\n var leaveActiveClass = data.leaveActiveClass;\n var beforeLeave = data.beforeLeave;\n var leave = data.leave;\n var afterLeave = data.afterLeave;\n var leaveCancelled = data.leaveCancelled;\n var delayLeave = data.delayLeave;\n var duration = data.duration;\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(leave);\n\n var explicitLeaveDuration = toNumber(\n isObject(duration)\n ? duration.leave\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {\n checkDuration(explicitLeaveDuration, 'leave', vnode);\n }\n\n var cb = el._leaveCb = once(function () {\n if (el.parentNode && el.parentNode._pending) {\n el.parentNode._pending[vnode.key] = null;\n }\n if (expectsCSS) {\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, leaveClass);\n }\n leaveCancelled && leaveCancelled(el);\n } else {\n rm();\n afterLeave && afterLeave(el);\n }\n el._leaveCb = null;\n });\n\n if (delayLeave) {\n delayLeave(performLeave);\n } else {\n performLeave();\n }\n\n function performLeave () {\n // the delayed leave may have already been cancelled\n if (cb.cancelled) {\n return\n }\n // record leaving element\n if (!vnode.data.show && el.parentNode) {\n (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;\n }\n beforeLeave && beforeLeave(el);\n if (expectsCSS) {\n addTransitionClass(el, leaveClass);\n addTransitionClass(el, leaveActiveClass);\n nextFrame(function () {\n removeTransitionClass(el, leaveClass);\n if (!cb.cancelled) {\n addTransitionClass(el, leaveToClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitLeaveDuration)) {\n setTimeout(cb, explicitLeaveDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n leave && leave(el, cb);\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n }\n}\n\n// only used in dev mode\nfunction checkDuration (val, name, vnode) {\n if (typeof val !== 'number') {\n warn(\n \"<transition> explicit \" + name + \" duration is not a valid number - \" +\n \"got \" + (JSON.stringify(val)) + \".\",\n vnode.context\n );\n } else if (isNaN(val)) {\n warn(\n \"<transition> explicit \" + name + \" duration is NaN - \" +\n 'the duration expression might be incorrect.',\n vnode.context\n );\n }\n}\n\nfunction isValidDuration (val) {\n return typeof val === 'number' && !isNaN(val)\n}\n\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength (fn) {\n if (isUndef(fn)) {\n return false\n }\n var invokerFns = fn.fns;\n if (isDef(invokerFns)) {\n // invoker\n return getHookArgumentsLength(\n Array.isArray(invokerFns)\n ? invokerFns[0]\n : invokerFns\n )\n } else {\n return (fn._length || fn.length) > 1\n }\n}\n\nfunction _enter (_, vnode) {\n if (vnode.data.show !== true) {\n enter(vnode);\n }\n}\n\nvar transition = inBrowser ? {\n create: _enter,\n activate: _enter,\n remove: function remove$$1 (vnode, rm) {\n /* istanbul ignore else */\n if (vnode.data.show !== true) {\n leave(vnode, rm);\n } else {\n rm();\n }\n }\n} : {};\n\nvar platformModules = [\n attrs,\n klass,\n events,\n domProps,\n style,\n transition\n];\n\n/* */\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nvar modules = platformModules.concat(baseModules);\n\nvar patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', function () {\n var el = document.activeElement;\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\n\nvar directive = {\n inserted: function inserted (el, binding, vnode, oldVnode) {\n if (vnode.tag === 'select') {\n // #6903\n if (oldVnode.elm && !oldVnode.elm._vOptions) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n directive.componentUpdated(el, binding, vnode);\n });\n } else {\n setSelected(el, binding, vnode.context);\n }\n el._vOptions = [].map.call(el.options, getValue);\n } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n el._vModifiers = binding.modifiers;\n if (!binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n\n componentUpdated: function componentUpdated (el, binding, vnode) {\n if (vnode.tag === 'select') {\n setSelected(el, binding, vnode.context);\n // in case the options rendered by v-for have changed,\n // it's possible that the value is out-of-sync with the rendered options.\n // detect such cases and filter out values that no longer has a matching\n // option in the DOM.\n var prevOptions = el._vOptions;\n var curOptions = el._vOptions = [].map.call(el.options, getValue);\n if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {\n // trigger change event if\n // no matching option found for at least one value\n var needReset = el.multiple\n ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })\n : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);\n if (needReset) {\n trigger(el, 'change');\n }\n }\n }\n }\n};\n\nfunction setSelected (el, binding, vm) {\n actuallySetSelected(el, binding, vm);\n /* istanbul ignore if */\n if (isIE || isEdge) {\n setTimeout(function () {\n actuallySetSelected(el, binding, vm);\n }, 0);\n }\n}\n\nfunction actuallySetSelected (el, binding, vm) {\n var value = binding.value;\n var isMultiple = el.multiple;\n if (isMultiple && !Array.isArray(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"<select multiple v-model=\\\"\" + (binding.expression) + \"\\\"> \" +\n \"expects an Array value for its binding, but got \" + (Object.prototype.toString.call(value).slice(8, -1)),\n vm\n );\n return\n }\n var selected, option;\n for (var i = 0, l = el.options.length; i < l; i++) {\n option = el.options[i];\n if (isMultiple) {\n selected = looseIndexOf(value, getValue(option)) > -1;\n if (option.selected !== selected) {\n option.selected = selected;\n }\n } else {\n if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i) {\n el.selectedIndex = i;\n }\n return\n }\n }\n }\n if (!isMultiple) {\n el.selectedIndex = -1;\n }\n}\n\nfunction hasNoMatchingOption (value, options) {\n return options.every(function (o) { return !looseEqual(o, value); })\n}\n\nfunction getValue (option) {\n return '_value' in option\n ? option._value\n : option.value\n}\n\nfunction onCompositionStart (e) {\n e.target.composing = true;\n}\n\nfunction onCompositionEnd (e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing) { return }\n e.target.composing = false;\n trigger(e.target, 'input');\n}\n\nfunction trigger (el, type) {\n var e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n/* */\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode (vnode) {\n return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n ? locateNode(vnode.componentInstance._vnode)\n : vnode\n}\n\nvar show = {\n bind: function bind (el, ref, vnode) {\n var value = ref.value;\n\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n var originalDisplay = el.__vOriginalDisplay =\n el.style.display === 'none' ? '' : el.style.display;\n if (value && transition$$1) {\n vnode.data.show = true;\n enter(vnode, function () {\n el.style.display = originalDisplay;\n });\n } else {\n el.style.display = value ? originalDisplay : 'none';\n }\n },\n\n update: function update (el, ref, vnode) {\n var value = ref.value;\n var oldValue = ref.oldValue;\n\n /* istanbul ignore if */\n if (!value === !oldValue) { return }\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n if (transition$$1) {\n vnode.data.show = true;\n if (value) {\n enter(vnode, function () {\n el.style.display = el.__vOriginalDisplay;\n });\n } else {\n leave(vnode, function () {\n el.style.display = 'none';\n });\n }\n } else {\n el.style.display = value ? el.__vOriginalDisplay : 'none';\n }\n },\n\n unbind: function unbind (\n el,\n binding,\n vnode,\n oldVnode,\n isDestroy\n ) {\n if (!isDestroy) {\n el.style.display = el.__vOriginalDisplay;\n }\n }\n};\n\nvar platformDirectives = {\n model: directive,\n show: show\n};\n\n/* */\n\nvar transitionProps = {\n name: String,\n appear: Boolean,\n css: Boolean,\n mode: String,\n type: String,\n enterClass: String,\n leaveClass: String,\n enterToClass: String,\n leaveToClass: String,\n enterActiveClass: String,\n leaveActiveClass: String,\n appearClass: String,\n appearActiveClass: String,\n appearToClass: String,\n duration: [Number, String, Object]\n};\n\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild (vnode) {\n var compOptions = vnode && vnode.componentOptions;\n if (compOptions && compOptions.Ctor.options.abstract) {\n return getRealChild(getFirstComponentChild(compOptions.children))\n } else {\n return vnode\n }\n}\n\nfunction extractTransitionData (comp) {\n var data = {};\n var options = comp.$options;\n // props\n for (var key in options.propsData) {\n data[key] = comp[key];\n }\n // events.\n // extract listeners and pass them directly to the transition methods\n var listeners = options._parentListeners;\n for (var key$1 in listeners) {\n data[camelize(key$1)] = listeners[key$1];\n }\n return data\n}\n\nfunction placeholder (h, rawChild) {\n if (/\\d-keep-alive$/.test(rawChild.tag)) {\n return h('keep-alive', {\n props: rawChild.componentOptions.propsData\n })\n }\n}\n\nfunction hasParentTransition (vnode) {\n while ((vnode = vnode.parent)) {\n if (vnode.data.transition) {\n return true\n }\n }\n}\n\nfunction isSameChild (child, oldChild) {\n return oldChild.key === child.key && oldChild.tag === child.tag\n}\n\nvar isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); };\n\nvar isVShowDirective = function (d) { return d.name === 'show'; };\n\nvar Transition = {\n name: 'transition',\n props: transitionProps,\n abstract: true,\n\n render: function render (h) {\n var this$1 = this;\n\n var children = this.$slots.default;\n if (!children) {\n return\n }\n\n // filter out text nodes (possible whitespaces)\n children = children.filter(isNotTextNode);\n /* istanbul ignore if */\n if (!children.length) {\n return\n }\n\n // warn multiple elements\n if (process.env.NODE_ENV !== 'production' && children.length > 1) {\n warn(\n '<transition> can only be used on a single element. Use ' +\n '<transition-group> for lists.',\n this.$parent\n );\n }\n\n var mode = this.mode;\n\n // warn invalid mode\n if (process.env.NODE_ENV !== 'production' &&\n mode && mode !== 'in-out' && mode !== 'out-in'\n ) {\n warn(\n 'invalid <transition> mode: ' + mode,\n this.$parent\n );\n }\n\n var rawChild = children[0];\n\n // if this is a component root node and the component's\n // parent container node also has transition, skip.\n if (hasParentTransition(this.$vnode)) {\n return rawChild\n }\n\n // apply transition data to child\n // use getRealChild() to ignore abstract components e.g. keep-alive\n var child = getRealChild(rawChild);\n /* istanbul ignore if */\n if (!child) {\n return rawChild\n }\n\n if (this._leaving) {\n return placeholder(h, rawChild)\n }\n\n // ensure a key that is unique to the vnode type and to this transition\n // component instance. This key will be used to remove pending leaving nodes\n // during entering.\n var id = \"__transition-\" + (this._uid) + \"-\";\n child.key = child.key == null\n ? child.isComment\n ? id + 'comment'\n : id + child.tag\n : isPrimitive(child.key)\n ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)\n : child.key;\n\n var data = (child.data || (child.data = {})).transition = extractTransitionData(this);\n var oldRawChild = this._vnode;\n var oldChild = getRealChild(oldRawChild);\n\n // mark v-show\n // so that the transition module can hand over the control to the directive\n if (child.data.directives && child.data.directives.some(isVShowDirective)) {\n child.data.show = true;\n }\n\n if (\n oldChild &&\n oldChild.data &&\n !isSameChild(child, oldChild) &&\n !isAsyncPlaceholder(oldChild) &&\n // #6687 component root is a comment node\n !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)\n ) {\n // replace old child transition data with fresh one\n // important for dynamic transitions!\n var oldData = oldChild.data.transition = extend({}, data);\n // handle transition mode\n if (mode === 'out-in') {\n // return placeholder node and queue update when leave finishes\n this._leaving = true;\n mergeVNodeHook(oldData, 'afterLeave', function () {\n this$1._leaving = false;\n this$1.$forceUpdate();\n });\n return placeholder(h, rawChild)\n } else if (mode === 'in-out') {\n if (isAsyncPlaceholder(child)) {\n return oldRawChild\n }\n var delayedLeave;\n var performLeave = function () { delayedLeave(); };\n mergeVNodeHook(data, 'afterEnter', performLeave);\n mergeVNodeHook(data, 'enterCancelled', performLeave);\n mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });\n }\n }\n\n return rawChild\n }\n};\n\n/* */\n\nvar props = extend({\n tag: String,\n moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n props: props,\n\n beforeMount: function beforeMount () {\n var this$1 = this;\n\n var update = this._update;\n this._update = function (vnode, hydrating) {\n var restoreActiveInstance = setActiveInstance(this$1);\n // force removing pass\n this$1.__patch__(\n this$1._vnode,\n this$1.kept,\n false, // hydrating\n true // removeOnly (!important, avoids unnecessary moves)\n );\n this$1._vnode = this$1.kept;\n restoreActiveInstance();\n update.call(this$1, vnode, hydrating);\n };\n },\n\n render: function render (h) {\n var tag = this.tag || this.$vnode.data.tag || 'span';\n var map = Object.create(null);\n var prevChildren = this.prevChildren = this.children;\n var rawChildren = this.$slots.default || [];\n var children = this.children = [];\n var transitionData = extractTransitionData(this);\n\n for (var i = 0; i < rawChildren.length; i++) {\n var c = rawChildren[i];\n if (c.tag) {\n if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n children.push(c);\n map[c.key] = c\n ;(c.data || (c.data = {})).transition = transitionData;\n } else if (process.env.NODE_ENV !== 'production') {\n var opts = c.componentOptions;\n var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;\n warn((\"<transition-group> children must be keyed: <\" + name + \">\"));\n }\n }\n }\n\n if (prevChildren) {\n var kept = [];\n var removed = [];\n for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {\n var c$1 = prevChildren[i$1];\n c$1.data.transition = transitionData;\n c$1.data.pos = c$1.elm.getBoundingClientRect();\n if (map[c$1.key]) {\n kept.push(c$1);\n } else {\n removed.push(c$1);\n }\n }\n this.kept = h(tag, null, kept);\n this.removed = removed;\n }\n\n return h(tag, null, children)\n },\n\n updated: function updated () {\n var children = this.prevChildren;\n var moveClass = this.moveClass || ((this.name || 'v') + '-move');\n if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n return\n }\n\n // we divide the work into three loops to avoid mixing DOM reads and writes\n // in each iteration - which helps prevent layout thrashing.\n children.forEach(callPendingCbs);\n children.forEach(recordPosition);\n children.forEach(applyTranslation);\n\n // force reflow to put everything in position\n // assign to this to avoid being removed in tree-shaking\n // $flow-disable-line\n this._reflow = document.body.offsetHeight;\n\n children.forEach(function (c) {\n if (c.data.moved) {\n var el = c.elm;\n var s = el.style;\n addTransitionClass(el, moveClass);\n s.transform = s.WebkitTransform = s.transitionDuration = '';\n el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {\n if (e && e.target !== el) {\n return\n }\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(transitionEndEvent, cb);\n el._moveCb = null;\n removeTransitionClass(el, moveClass);\n }\n });\n }\n });\n },\n\n methods: {\n hasMove: function hasMove (el, moveClass) {\n /* istanbul ignore if */\n if (!hasTransition) {\n return false\n }\n /* istanbul ignore if */\n if (this._hasMove) {\n return this._hasMove\n }\n // Detect whether an element with the move class applied has\n // CSS transitions. Since the element may be inside an entering\n // transition at this very moment, we make a clone of it and remove\n // all other transition classes applied to ensure only the move class\n // is applied.\n var clone = el.cloneNode();\n if (el._transitionClasses) {\n el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });\n }\n addClass(clone, moveClass);\n clone.style.display = 'none';\n this.$el.appendChild(clone);\n var info = getTransitionInfo(clone);\n this.$el.removeChild(clone);\n return (this._hasMove = info.hasTransform)\n }\n }\n};\n\nfunction callPendingCbs (c) {\n /* istanbul ignore if */\n if (c.elm._moveCb) {\n c.elm._moveCb();\n }\n /* istanbul ignore if */\n if (c.elm._enterCb) {\n c.elm._enterCb();\n }\n}\n\nfunction recordPosition (c) {\n c.data.newPos = c.elm.getBoundingClientRect();\n}\n\nfunction applyTranslation (c) {\n var oldPos = c.data.pos;\n var newPos = c.data.newPos;\n var dx = oldPos.left - newPos.left;\n var dy = oldPos.top - newPos.top;\n if (dx || dy) {\n c.data.moved = true;\n var s = c.elm.style;\n s.transform = s.WebkitTransform = \"translate(\" + dx + \"px,\" + dy + \"px)\";\n s.transitionDuration = '0s';\n }\n}\n\nvar platformComponents = {\n Transition: Transition,\n TransitionGroup: TransitionGroup\n};\n\n/* */\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n\n// public mount method\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && inBrowser ? query(el) : undefined;\n return mountComponent(this, el, hydrating)\n};\n\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n setTimeout(function () {\n if (config.devtools) {\n if (devtools) {\n devtools.emit('init', Vue);\n } else if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test'\n ) {\n console[console.info ? 'info' : 'log'](\n 'Download the Vue Devtools extension for a better development experience:\\n' +\n 'https://github.com/vuejs/vue-devtools'\n );\n }\n }\n if (process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n config.productionTip !== false &&\n typeof console !== 'undefined'\n ) {\n console[console.info ? 'info' : 'log'](\n \"You are running Vue in development mode.\\n\" +\n \"Make sure to turn on production mode when deploying for production.\\n\" +\n \"See more tips at https://vuejs.org/guide/deployment.html\"\n );\n }\n }, 0);\n}\n\n/* */\n\nvar defaultTagRE = /\\{\\{((?:.|\\r?\\n)+?)\\}\\}/g;\nvar regexEscapeRE = /[-.*+?^${}()|[\\]\\/\\\\]/g;\n\nvar buildRegex = cached(function (delimiters) {\n var open = delimiters[0].replace(regexEscapeRE, '\\\\$&');\n var close = delimiters[1].replace(regexEscapeRE, '\\\\$&');\n return new RegExp(open + '((?:.|\\\\n)+?)' + close, 'g')\n});\n\n\n\nfunction parseText (\n text,\n delimiters\n) {\n var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE;\n if (!tagRE.test(text)) {\n return\n }\n var tokens = [];\n var rawTokens = [];\n var lastIndex = tagRE.lastIndex = 0;\n var match, index, tokenValue;\n while ((match = tagRE.exec(text))) {\n index = match.index;\n // push text token\n if (index > lastIndex) {\n rawTokens.push(tokenValue = text.slice(lastIndex, index));\n tokens.push(JSON.stringify(tokenValue));\n }\n // tag token\n var exp = parseFilters(match[1].trim());\n tokens.push((\"_s(\" + exp + \")\"));\n rawTokens.push({ '@binding': exp });\n lastIndex = index + match[0].length;\n }\n if (lastIndex < text.length) {\n rawTokens.push(tokenValue = text.slice(lastIndex));\n tokens.push(JSON.stringify(tokenValue));\n }\n return {\n expression: tokens.join('+'),\n tokens: rawTokens\n }\n}\n\n/* */\n\nfunction transformNode (el, options) {\n var warn = options.warn || baseWarn;\n var staticClass = getAndRemoveAttr(el, 'class');\n if (process.env.NODE_ENV !== 'production' && staticClass) {\n var res = parseText(staticClass, options.delimiters);\n if (res) {\n warn(\n \"class=\\\"\" + staticClass + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div class=\"{{ val }}\">, use <div :class=\"val\">.',\n el.rawAttrsMap['class']\n );\n }\n }\n if (staticClass) {\n el.staticClass = JSON.stringify(staticClass);\n }\n var classBinding = getBindingAttr(el, 'class', false /* getStatic */);\n if (classBinding) {\n el.classBinding = classBinding;\n }\n}\n\nfunction genData (el) {\n var data = '';\n if (el.staticClass) {\n data += \"staticClass:\" + (el.staticClass) + \",\";\n }\n if (el.classBinding) {\n data += \"class:\" + (el.classBinding) + \",\";\n }\n return data\n}\n\nvar klass$1 = {\n staticKeys: ['staticClass'],\n transformNode: transformNode,\n genData: genData\n};\n\n/* */\n\nfunction transformNode$1 (el, options) {\n var warn = options.warn || baseWarn;\n var staticStyle = getAndRemoveAttr(el, 'style');\n if (staticStyle) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n var res = parseText(staticStyle, options.delimiters);\n if (res) {\n warn(\n \"style=\\\"\" + staticStyle + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div style=\"{{ val }}\">, use <div :style=\"val\">.',\n el.rawAttrsMap['style']\n );\n }\n }\n el.staticStyle = JSON.stringify(parseStyleText(staticStyle));\n }\n\n var styleBinding = getBindingAttr(el, 'style', false /* getStatic */);\n if (styleBinding) {\n el.styleBinding = styleBinding;\n }\n}\n\nfunction genData$1 (el) {\n var data = '';\n if (el.staticStyle) {\n data += \"staticStyle:\" + (el.staticStyle) + \",\";\n }\n if (el.styleBinding) {\n data += \"style:(\" + (el.styleBinding) + \"),\";\n }\n return data\n}\n\nvar style$1 = {\n staticKeys: ['staticStyle'],\n transformNode: transformNode$1,\n genData: genData$1\n};\n\n/* */\n\nvar decoder;\n\nvar he = {\n decode: function decode (html) {\n decoder = decoder || document.createElement('div');\n decoder.innerHTML = html;\n return decoder.textContent\n }\n};\n\n/* */\n\nvar isUnaryTag = makeMap(\n 'area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' +\n 'link,meta,param,source,track,wbr'\n);\n\n// Elements that you can, intentionally, leave open\n// (and which close themselves)\nvar canBeLeftOpenTag = makeMap(\n 'colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source'\n);\n\n// HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3\n// Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content\nvar isNonPhrasingTag = makeMap(\n 'address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' +\n 'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' +\n 'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' +\n 'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' +\n 'title,tr,track'\n);\n\n/**\n * Not type-checking this file because it's mostly vendor code.\n */\n\n// Regular Expressions for parsing tags and attributes\nvar attribute = /^\\s*([^\\s\"'<>\\/=]+)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/;\nvar dynamicArgAttribute = /^\\s*((?:v-[\\w-]+:|@|:|#)\\[[^=]+\\][^\\s\"'<>\\/=]*)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/;\nvar ncname = \"[a-zA-Z_][\\\\-\\\\.0-9_a-zA-Z\" + (unicodeRegExp.source) + \"]*\";\nvar qnameCapture = \"((?:\" + ncname + \"\\\\:)?\" + ncname + \")\";\nvar startTagOpen = new RegExp((\"^<\" + qnameCapture));\nvar startTagClose = /^\\s*(\\/?)>/;\nvar endTag = new RegExp((\"^<\\\\/\" + qnameCapture + \"[^>]*>\"));\nvar doctype = /^<!DOCTYPE [^>]+>/i;\n// #7298: escape - to avoid being pased as HTML comment when inlined in page\nvar comment = /^<!\\--/;\nvar conditionalComment = /^<!\\[/;\n\n// Special Elements (can contain anything)\nvar isPlainTextElement = makeMap('script,style,textarea', true);\nvar reCache = {};\n\nvar decodingMap = {\n '&lt;': '<',\n '&gt;': '>',\n '&quot;': '\"',\n '&amp;': '&',\n '&#10;': '\\n',\n '&#9;': '\\t',\n '&#39;': \"'\"\n};\nvar encodedAttr = /&(?:lt|gt|quot|amp|#39);/g;\nvar encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#39|#10|#9);/g;\n\n// #5992\nvar isIgnoreNewlineTag = makeMap('pre,textarea', true);\nvar shouldIgnoreFirstNewline = function (tag, html) { return tag && isIgnoreNewlineTag(tag) && html[0] === '\\n'; };\n\nfunction decodeAttr (value, shouldDecodeNewlines) {\n var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr;\n return value.replace(re, function (match) { return decodingMap[match]; })\n}\n\nfunction parseHTML (html, options) {\n var stack = [];\n var expectHTML = options.expectHTML;\n var isUnaryTag$$1 = options.isUnaryTag || no;\n var canBeLeftOpenTag$$1 = options.canBeLeftOpenTag || no;\n var index = 0;\n var last, lastTag;\n while (html) {\n last = html;\n // Make sure we're not in a plaintext content element like script/style\n if (!lastTag || !isPlainTextElement(lastTag)) {\n var textEnd = html.indexOf('<');\n if (textEnd === 0) {\n // Comment:\n if (comment.test(html)) {\n var commentEnd = html.indexOf('-->');\n\n if (commentEnd >= 0) {\n if (options.shouldKeepComment) {\n options.comment(html.substring(4, commentEnd), index, index + commentEnd + 3);\n }\n advance(commentEnd + 3);\n continue\n }\n }\n\n // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment\n if (conditionalComment.test(html)) {\n var conditionalEnd = html.indexOf(']>');\n\n if (conditionalEnd >= 0) {\n advance(conditionalEnd + 2);\n continue\n }\n }\n\n // Doctype:\n var doctypeMatch = html.match(doctype);\n if (doctypeMatch) {\n advance(doctypeMatch[0].length);\n continue\n }\n\n // End tag:\n var endTagMatch = html.match(endTag);\n if (endTagMatch) {\n var curIndex = index;\n advance(endTagMatch[0].length);\n parseEndTag(endTagMatch[1], curIndex, index);\n continue\n }\n\n // Start tag:\n var startTagMatch = parseStartTag();\n if (startTagMatch) {\n handleStartTag(startTagMatch);\n if (shouldIgnoreFirstNewline(startTagMatch.tagName, html)) {\n advance(1);\n }\n continue\n }\n }\n\n var text = (void 0), rest = (void 0), next = (void 0);\n if (textEnd >= 0) {\n rest = html.slice(textEnd);\n while (\n !endTag.test(rest) &&\n !startTagOpen.test(rest) &&\n !comment.test(rest) &&\n !conditionalComment.test(rest)\n ) {\n // < in plain text, be forgiving and treat it as text\n next = rest.indexOf('<', 1);\n if (next < 0) { break }\n textEnd += next;\n rest = html.slice(textEnd);\n }\n text = html.substring(0, textEnd);\n }\n\n if (textEnd < 0) {\n text = html;\n }\n\n if (text) {\n advance(text.length);\n }\n\n if (options.chars && text) {\n options.chars(text, index - text.length, index);\n }\n } else {\n var endTagLength = 0;\n var stackedTag = lastTag.toLowerCase();\n var reStackedTag = reCache[stackedTag] || (reCache[stackedTag] = new RegExp('([\\\\s\\\\S]*?)(</' + stackedTag + '[^>]*>)', 'i'));\n var rest$1 = html.replace(reStackedTag, function (all, text, endTag) {\n endTagLength = endTag.length;\n if (!isPlainTextElement(stackedTag) && stackedTag !== 'noscript') {\n text = text\n .replace(/<!\\--([\\s\\S]*?)-->/g, '$1') // #7298\n .replace(/<!\\[CDATA\\[([\\s\\S]*?)]]>/g, '$1');\n }\n if (shouldIgnoreFirstNewline(stackedTag, text)) {\n text = text.slice(1);\n }\n if (options.chars) {\n options.chars(text);\n }\n return ''\n });\n index += html.length - rest$1.length;\n html = rest$1;\n parseEndTag(stackedTag, index - endTagLength, index);\n }\n\n if (html === last) {\n options.chars && options.chars(html);\n if (process.env.NODE_ENV !== 'production' && !stack.length && options.warn) {\n options.warn((\"Mal-formatted tag at end of template: \\\"\" + html + \"\\\"\"), { start: index + html.length });\n }\n break\n }\n }\n\n // Clean up any remaining tags\n parseEndTag();\n\n function advance (n) {\n index += n;\n html = html.substring(n);\n }\n\n function parseStartTag () {\n var start = html.match(startTagOpen);\n if (start) {\n var match = {\n tagName: start[1],\n attrs: [],\n start: index\n };\n advance(start[0].length);\n var end, attr;\n while (!(end = html.match(startTagClose)) && (attr = html.match(dynamicArgAttribute) || html.match(attribute))) {\n attr.start = index;\n advance(attr[0].length);\n attr.end = index;\n match.attrs.push(attr);\n }\n if (end) {\n match.unarySlash = end[1];\n advance(end[0].length);\n match.end = index;\n return match\n }\n }\n }\n\n function handleStartTag (match) {\n var tagName = match.tagName;\n var unarySlash = match.unarySlash;\n\n if (expectHTML) {\n if (lastTag === 'p' && isNonPhrasingTag(tagName)) {\n parseEndTag(lastTag);\n }\n if (canBeLeftOpenTag$$1(tagName) && lastTag === tagName) {\n parseEndTag(tagName);\n }\n }\n\n var unary = isUnaryTag$$1(tagName) || !!unarySlash;\n\n var l = match.attrs.length;\n var attrs = new Array(l);\n for (var i = 0; i < l; i++) {\n var args = match.attrs[i];\n var value = args[3] || args[4] || args[5] || '';\n var shouldDecodeNewlines = tagName === 'a' && args[1] === 'href'\n ? options.shouldDecodeNewlinesForHref\n : options.shouldDecodeNewlines;\n attrs[i] = {\n name: args[1],\n value: decodeAttr(value, shouldDecodeNewlines)\n };\n if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {\n attrs[i].start = args.start + args[0].match(/^\\s*/).length;\n attrs[i].end = args.end;\n }\n }\n\n if (!unary) {\n stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs, start: match.start, end: match.end });\n lastTag = tagName;\n }\n\n if (options.start) {\n options.start(tagName, attrs, unary, match.start, match.end);\n }\n }\n\n function parseEndTag (tagName, start, end) {\n var pos, lowerCasedTagName;\n if (start == null) { start = index; }\n if (end == null) { end = index; }\n\n // Find the closest opened tag of the same type\n if (tagName) {\n lowerCasedTagName = tagName.toLowerCase();\n for (pos = stack.length - 1; pos >= 0; pos--) {\n if (stack[pos].lowerCasedTag === lowerCasedTagName) {\n break\n }\n }\n } else {\n // If no tag name is provided, clean shop\n pos = 0;\n }\n\n if (pos >= 0) {\n // Close all the open elements, up the stack\n for (var i = stack.length - 1; i >= pos; i--) {\n if (process.env.NODE_ENV !== 'production' &&\n (i > pos || !tagName) &&\n options.warn\n ) {\n options.warn(\n (\"tag <\" + (stack[i].tag) + \"> has no matching end tag.\"),\n { start: stack[i].start, end: stack[i].end }\n );\n }\n if (options.end) {\n options.end(stack[i].tag, start, end);\n }\n }\n\n // Remove the open elements from the stack\n stack.length = pos;\n lastTag = pos && stack[pos - 1].tag;\n } else if (lowerCasedTagName === 'br') {\n if (options.start) {\n options.start(tagName, [], true, start, end);\n }\n } else if (lowerCasedTagName === 'p') {\n if (options.start) {\n options.start(tagName, [], false, start, end);\n }\n if (options.end) {\n options.end(tagName, start, end);\n }\n }\n }\n}\n\n/* */\n\nvar onRE = /^@|^v-on:/;\nvar dirRE = /^v-|^@|^:/;\nvar forAliasRE = /([\\s\\S]*?)\\s+(?:in|of)\\s+([\\s\\S]*)/;\nvar forIteratorRE = /,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/;\nvar stripParensRE = /^\\(|\\)$/g;\nvar dynamicArgRE = /^\\[.*\\]$/;\n\nvar argRE = /:(.*)$/;\nvar bindRE = /^:|^\\.|^v-bind:/;\nvar modifierRE = /\\.[^.\\]]+(?=[^\\]]*$)/g;\n\nvar slotRE = /^v-slot(:|$)|^#/;\n\nvar lineBreakRE = /[\\r\\n]/;\nvar whitespaceRE$1 = /\\s+/g;\n\nvar invalidAttributeRE = /[\\s\"'<>\\/=]/;\n\nvar decodeHTMLCached = cached(he.decode);\n\nvar emptySlotScopeToken = \"_empty_\";\n\n// configurable state\nvar warn$2;\nvar delimiters;\nvar transforms;\nvar preTransforms;\nvar postTransforms;\nvar platformIsPreTag;\nvar platformMustUseProp;\nvar platformGetTagNamespace;\nvar maybeComponent;\n\nfunction createASTElement (\n tag,\n attrs,\n parent\n) {\n return {\n type: 1,\n tag: tag,\n attrsList: attrs,\n attrsMap: makeAttrsMap(attrs),\n rawAttrsMap: {},\n parent: parent,\n children: []\n }\n}\n\n/**\n * Convert HTML string to AST.\n */\nfunction parse (\n template,\n options\n) {\n warn$2 = options.warn || baseWarn;\n\n platformIsPreTag = options.isPreTag || no;\n platformMustUseProp = options.mustUseProp || no;\n platformGetTagNamespace = options.getTagNamespace || no;\n var isReservedTag = options.isReservedTag || no;\n maybeComponent = function (el) { return !!el.component || !isReservedTag(el.tag); };\n\n transforms = pluckModuleFunction(options.modules, 'transformNode');\n preTransforms = pluckModuleFunction(options.modules, 'preTransformNode');\n postTransforms = pluckModuleFunction(options.modules, 'postTransformNode');\n\n delimiters = options.delimiters;\n\n var stack = [];\n var preserveWhitespace = options.preserveWhitespace !== false;\n var whitespaceOption = options.whitespace;\n var root;\n var currentParent;\n var inVPre = false;\n var inPre = false;\n var warned = false;\n\n function warnOnce (msg, range) {\n if (!warned) {\n warned = true;\n warn$2(msg, range);\n }\n }\n\n function closeElement (element) {\n trimEndingWhitespace(element);\n if (!inVPre && !element.processed) {\n element = processElement(element, options);\n }\n // tree management\n if (!stack.length && element !== root) {\n // allow root elements with v-if, v-else-if and v-else\n if (root.if && (element.elseif || element.else)) {\n if (process.env.NODE_ENV !== 'production') {\n checkRootConstraints(element);\n }\n addIfCondition(root, {\n exp: element.elseif,\n block: element\n });\n } else if (process.env.NODE_ENV !== 'production') {\n warnOnce(\n \"Component template should contain exactly one root element. \" +\n \"If you are using v-if on multiple elements, \" +\n \"use v-else-if to chain them instead.\",\n { start: element.start }\n );\n }\n }\n if (currentParent && !element.forbidden) {\n if (element.elseif || element.else) {\n processIfConditions(element, currentParent);\n } else {\n if (element.slotScope) {\n // scoped slot\n // keep it in the children list so that v-else(-if) conditions can\n // find it as the prev node.\n var name = element.slotTarget || '\"default\"'\n ;(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element;\n }\n currentParent.children.push(element);\n element.parent = currentParent;\n }\n }\n\n // final children cleanup\n // filter out scoped slots\n element.children = element.children.filter(function (c) { return !(c).slotScope; });\n // remove trailing whitespace node again\n trimEndingWhitespace(element);\n\n // check pre state\n if (element.pre) {\n inVPre = false;\n }\n if (platformIsPreTag(element.tag)) {\n inPre = false;\n }\n // apply post-transforms\n for (var i = 0; i < postTransforms.length; i++) {\n postTransforms[i](element, options);\n }\n }\n\n function trimEndingWhitespace (el) {\n // remove trailing whitespace node\n if (!inPre) {\n var lastNode;\n while (\n (lastNode = el.children[el.children.length - 1]) &&\n lastNode.type === 3 &&\n lastNode.text === ' '\n ) {\n el.children.pop();\n }\n }\n }\n\n function checkRootConstraints (el) {\n if (el.tag === 'slot' || el.tag === 'template') {\n warnOnce(\n \"Cannot use <\" + (el.tag) + \"> as component root element because it may \" +\n 'contain multiple nodes.',\n { start: el.start }\n );\n }\n if (el.attrsMap.hasOwnProperty('v-for')) {\n warnOnce(\n 'Cannot use v-for on stateful component root element because ' +\n 'it renders multiple elements.',\n el.rawAttrsMap['v-for']\n );\n }\n }\n\n parseHTML(template, {\n warn: warn$2,\n expectHTML: options.expectHTML,\n isUnaryTag: options.isUnaryTag,\n canBeLeftOpenTag: options.canBeLeftOpenTag,\n shouldDecodeNewlines: options.shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref,\n shouldKeepComment: options.comments,\n outputSourceRange: options.outputSourceRange,\n start: function start (tag, attrs, unary, start$1, end) {\n // check namespace.\n // inherit parent ns if there is one\n var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag);\n\n // handle IE svg bug\n /* istanbul ignore if */\n if (isIE && ns === 'svg') {\n attrs = guardIESVGBug(attrs);\n }\n\n var element = createASTElement(tag, attrs, currentParent);\n if (ns) {\n element.ns = ns;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (options.outputSourceRange) {\n element.start = start$1;\n element.end = end;\n element.rawAttrsMap = element.attrsList.reduce(function (cumulated, attr) {\n cumulated[attr.name] = attr;\n return cumulated\n }, {});\n }\n attrs.forEach(function (attr) {\n if (invalidAttributeRE.test(attr.name)) {\n warn$2(\n \"Invalid dynamic argument expression: attribute names cannot contain \" +\n \"spaces, quotes, <, >, / or =.\",\n {\n start: attr.start + attr.name.indexOf(\"[\"),\n end: attr.start + attr.name.length\n }\n );\n }\n });\n }\n\n if (isForbiddenTag(element) && !isServerRendering()) {\n element.forbidden = true;\n process.env.NODE_ENV !== 'production' && warn$2(\n 'Templates should only be responsible for mapping the state to the ' +\n 'UI. Avoid placing tags with side-effects in your templates, such as ' +\n \"<\" + tag + \">\" + ', as they will not be parsed.',\n { start: element.start }\n );\n }\n\n // apply pre-transforms\n for (var i = 0; i < preTransforms.length; i++) {\n element = preTransforms[i](element, options) || element;\n }\n\n if (!inVPre) {\n processPre(element);\n if (element.pre) {\n inVPre = true;\n }\n }\n if (platformIsPreTag(element.tag)) {\n inPre = true;\n }\n if (inVPre) {\n processRawAttrs(element);\n } else if (!element.processed) {\n // structural directives\n processFor(element);\n processIf(element);\n processOnce(element);\n }\n\n if (!root) {\n root = element;\n if (process.env.NODE_ENV !== 'production') {\n checkRootConstraints(root);\n }\n }\n\n if (!unary) {\n currentParent = element;\n stack.push(element);\n } else {\n closeElement(element);\n }\n },\n\n end: function end (tag, start, end$1) {\n var element = stack[stack.length - 1];\n // pop stack\n stack.length -= 1;\n currentParent = stack[stack.length - 1];\n if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {\n element.end = end$1;\n }\n closeElement(element);\n },\n\n chars: function chars (text, start, end) {\n if (!currentParent) {\n if (process.env.NODE_ENV !== 'production') {\n if (text === template) {\n warnOnce(\n 'Component template requires a root element, rather than just text.',\n { start: start }\n );\n } else if ((text = text.trim())) {\n warnOnce(\n (\"text \\\"\" + text + \"\\\" outside root element will be ignored.\"),\n { start: start }\n );\n }\n }\n return\n }\n // IE textarea placeholder bug\n /* istanbul ignore if */\n if (isIE &&\n currentParent.tag === 'textarea' &&\n currentParent.attrsMap.placeholder === text\n ) {\n return\n }\n var children = currentParent.children;\n if (inPre || text.trim()) {\n text = isTextTag(currentParent) ? text : decodeHTMLCached(text);\n } else if (!children.length) {\n // remove the whitespace-only node right after an opening tag\n text = '';\n } else if (whitespaceOption) {\n if (whitespaceOption === 'condense') {\n // in condense mode, remove the whitespace node if it contains\n // line break, otherwise condense to a single space\n text = lineBreakRE.test(text) ? '' : ' ';\n } else {\n text = ' ';\n }\n } else {\n text = preserveWhitespace ? ' ' : '';\n }\n if (text) {\n if (!inPre && whitespaceOption === 'condense') {\n // condense consecutive whitespaces into single space\n text = text.replace(whitespaceRE$1, ' ');\n }\n var res;\n var child;\n if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) {\n child = {\n type: 2,\n expression: res.expression,\n tokens: res.tokens,\n text: text\n };\n } else if (text !== ' ' || !children.length || children[children.length - 1].text !== ' ') {\n child = {\n type: 3,\n text: text\n };\n }\n if (child) {\n if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {\n child.start = start;\n child.end = end;\n }\n children.push(child);\n }\n }\n },\n comment: function comment (text, start, end) {\n // adding anyting as a sibling to the root node is forbidden\n // comments should still be allowed, but ignored\n if (currentParent) {\n var child = {\n type: 3,\n text: text,\n isComment: true\n };\n if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {\n child.start = start;\n child.end = end;\n }\n currentParent.children.push(child);\n }\n }\n });\n return root\n}\n\nfunction processPre (el) {\n if (getAndRemoveAttr(el, 'v-pre') != null) {\n el.pre = true;\n }\n}\n\nfunction processRawAttrs (el) {\n var list = el.attrsList;\n var len = list.length;\n if (len) {\n var attrs = el.attrs = new Array(len);\n for (var i = 0; i < len; i++) {\n attrs[i] = {\n name: list[i].name,\n value: JSON.stringify(list[i].value)\n };\n if (list[i].start != null) {\n attrs[i].start = list[i].start;\n attrs[i].end = list[i].end;\n }\n }\n } else if (!el.pre) {\n // non root node in pre blocks with no attributes\n el.plain = true;\n }\n}\n\nfunction processElement (\n element,\n options\n) {\n processKey(element);\n\n // determine whether this is a plain element after\n // removing structural attributes\n element.plain = (\n !element.key &&\n !element.scopedSlots &&\n !element.attrsList.length\n );\n\n processRef(element);\n processSlotContent(element);\n processSlotOutlet(element);\n processComponent(element);\n for (var i = 0; i < transforms.length; i++) {\n element = transforms[i](element, options) || element;\n }\n processAttrs(element);\n return element\n}\n\nfunction processKey (el) {\n var exp = getBindingAttr(el, 'key');\n if (exp) {\n if (process.env.NODE_ENV !== 'production') {\n if (el.tag === 'template') {\n warn$2(\n \"<template> cannot be keyed. Place the key on real elements instead.\",\n getRawBindingAttr(el, 'key')\n );\n }\n if (el.for) {\n var iterator = el.iterator2 || el.iterator1;\n var parent = el.parent;\n if (iterator && iterator === exp && parent && parent.tag === 'transition-group') {\n warn$2(\n \"Do not use v-for index as key on <transition-group> children, \" +\n \"this is the same as not using keys.\",\n getRawBindingAttr(el, 'key'),\n true /* tip */\n );\n }\n }\n }\n el.key = exp;\n }\n}\n\nfunction processRef (el) {\n var ref = getBindingAttr(el, 'ref');\n if (ref) {\n el.ref = ref;\n el.refInFor = checkInFor(el);\n }\n}\n\nfunction processFor (el) {\n var exp;\n if ((exp = getAndRemoveAttr(el, 'v-for'))) {\n var res = parseFor(exp);\n if (res) {\n extend(el, res);\n } else if (process.env.NODE_ENV !== 'production') {\n warn$2(\n (\"Invalid v-for expression: \" + exp),\n el.rawAttrsMap['v-for']\n );\n }\n }\n}\n\n\n\nfunction parseFor (exp) {\n var inMatch = exp.match(forAliasRE);\n if (!inMatch) { return }\n var res = {};\n res.for = inMatch[2].trim();\n var alias = inMatch[1].trim().replace(stripParensRE, '');\n var iteratorMatch = alias.match(forIteratorRE);\n if (iteratorMatch) {\n res.alias = alias.replace(forIteratorRE, '').trim();\n res.iterator1 = iteratorMatch[1].trim();\n if (iteratorMatch[2]) {\n res.iterator2 = iteratorMatch[2].trim();\n }\n } else {\n res.alias = alias;\n }\n return res\n}\n\nfunction processIf (el) {\n var exp = getAndRemoveAttr(el, 'v-if');\n if (exp) {\n el.if = exp;\n addIfCondition(el, {\n exp: exp,\n block: el\n });\n } else {\n if (getAndRemoveAttr(el, 'v-else') != null) {\n el.else = true;\n }\n var elseif = getAndRemoveAttr(el, 'v-else-if');\n if (elseif) {\n el.elseif = elseif;\n }\n }\n}\n\nfunction processIfConditions (el, parent) {\n var prev = findPrevElement(parent.children);\n if (prev && prev.if) {\n addIfCondition(prev, {\n exp: el.elseif,\n block: el\n });\n } else if (process.env.NODE_ENV !== 'production') {\n warn$2(\n \"v-\" + (el.elseif ? ('else-if=\"' + el.elseif + '\"') : 'else') + \" \" +\n \"used on element <\" + (el.tag) + \"> without corresponding v-if.\",\n el.rawAttrsMap[el.elseif ? 'v-else-if' : 'v-else']\n );\n }\n}\n\nfunction findPrevElement (children) {\n var i = children.length;\n while (i--) {\n if (children[i].type === 1) {\n return children[i]\n } else {\n if (process.env.NODE_ENV !== 'production' && children[i].text !== ' ') {\n warn$2(\n \"text \\\"\" + (children[i].text.trim()) + \"\\\" between v-if and v-else(-if) \" +\n \"will be ignored.\",\n children[i]\n );\n }\n children.pop();\n }\n }\n}\n\nfunction addIfCondition (el, condition) {\n if (!el.ifConditions) {\n el.ifConditions = [];\n }\n el.ifConditions.push(condition);\n}\n\nfunction processOnce (el) {\n var once$$1 = getAndRemoveAttr(el, 'v-once');\n if (once$$1 != null) {\n el.once = true;\n }\n}\n\n// handle content being passed to a component as slot,\n// e.g. <template slot=\"xxx\">, <div slot-scope=\"xxx\">\nfunction processSlotContent (el) {\n var slotScope;\n if (el.tag === 'template') {\n slotScope = getAndRemoveAttr(el, 'scope');\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && slotScope) {\n warn$2(\n \"the \\\"scope\\\" attribute for scoped slots have been deprecated and \" +\n \"replaced by \\\"slot-scope\\\" since 2.5. The new \\\"slot-scope\\\" attribute \" +\n \"can also be used on plain elements in addition to <template> to \" +\n \"denote scoped slots.\",\n el.rawAttrsMap['scope'],\n true\n );\n }\n el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope');\n } else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && el.attrsMap['v-for']) {\n warn$2(\n \"Ambiguous combined usage of slot-scope and v-for on <\" + (el.tag) + \"> \" +\n \"(v-for takes higher priority). Use a wrapper <template> for the \" +\n \"scoped slot to make it clearer.\",\n el.rawAttrsMap['slot-scope'],\n true\n );\n }\n el.slotScope = slotScope;\n }\n\n // slot=\"xxx\"\n var slotTarget = getBindingAttr(el, 'slot');\n if (slotTarget) {\n el.slotTarget = slotTarget === '\"\"' ? '\"default\"' : slotTarget;\n el.slotTargetDynamic = !!(el.attrsMap[':slot'] || el.attrsMap['v-bind:slot']);\n // preserve slot as an attribute for native shadow DOM compat\n // only for non-scoped slots.\n if (el.tag !== 'template' && !el.slotScope) {\n addAttr(el, 'slot', slotTarget, getRawBindingAttr(el, 'slot'));\n }\n }\n\n // 2.6 v-slot syntax\n {\n if (el.tag === 'template') {\n // v-slot on <template>\n var slotBinding = getAndRemoveAttrByRegex(el, slotRE);\n if (slotBinding) {\n if (process.env.NODE_ENV !== 'production') {\n if (el.slotTarget || el.slotScope) {\n warn$2(\n \"Unexpected mixed usage of different slot syntaxes.\",\n el\n );\n }\n if (el.parent && !maybeComponent(el.parent)) {\n warn$2(\n \"<template v-slot> can only appear at the root level inside \" +\n \"the receiving the component\",\n el\n );\n }\n }\n var ref = getSlotName(slotBinding);\n var name = ref.name;\n var dynamic = ref.dynamic;\n el.slotTarget = name;\n el.slotTargetDynamic = dynamic;\n el.slotScope = slotBinding.value || emptySlotScopeToken; // force it into a scoped slot for perf\n }\n } else {\n // v-slot on component, denotes default slot\n var slotBinding$1 = getAndRemoveAttrByRegex(el, slotRE);\n if (slotBinding$1) {\n if (process.env.NODE_ENV !== 'production') {\n if (!maybeComponent(el)) {\n warn$2(\n \"v-slot can only be used on components or <template>.\",\n slotBinding$1\n );\n }\n if (el.slotScope || el.slotTarget) {\n warn$2(\n \"Unexpected mixed usage of different slot syntaxes.\",\n el\n );\n }\n if (el.scopedSlots) {\n warn$2(\n \"To avoid scope ambiguity, the default slot should also use \" +\n \"<template> syntax when there are other named slots.\",\n slotBinding$1\n );\n }\n }\n // add the component's children to its default slot\n var slots = el.scopedSlots || (el.scopedSlots = {});\n var ref$1 = getSlotName(slotBinding$1);\n var name$1 = ref$1.name;\n var dynamic$1 = ref$1.dynamic;\n var slotContainer = slots[name$1] = createASTElement('template', [], el);\n slotContainer.slotTarget = name$1;\n slotContainer.slotTargetDynamic = dynamic$1;\n slotContainer.children = el.children.filter(function (c) {\n if (!c.slotScope) {\n c.parent = slotContainer;\n return true\n }\n });\n slotContainer.slotScope = slotBinding$1.value || emptySlotScopeToken;\n // remove children as they are returned from scopedSlots now\n el.children = [];\n // mark el non-plain so data gets generated\n el.plain = false;\n }\n }\n }\n}\n\nfunction getSlotName (binding) {\n var name = binding.name.replace(slotRE, '');\n if (!name) {\n if (binding.name[0] !== '#') {\n name = 'default';\n } else if (process.env.NODE_ENV !== 'production') {\n warn$2(\n \"v-slot shorthand syntax requires a slot name.\",\n binding\n );\n }\n }\n return dynamicArgRE.test(name)\n // dynamic [name]\n ? { name: name.slice(1, -1), dynamic: true }\n // static name\n : { name: (\"\\\"\" + name + \"\\\"\"), dynamic: false }\n}\n\n// handle <slot/> outlets\nfunction processSlotOutlet (el) {\n if (el.tag === 'slot') {\n el.slotName = getBindingAttr(el, 'name');\n if (process.env.NODE_ENV !== 'production' && el.key) {\n warn$2(\n \"`key` does not work on <slot> because slots are abstract outlets \" +\n \"and can possibly expand into multiple elements. \" +\n \"Use the key on a wrapping element instead.\",\n getRawBindingAttr(el, 'key')\n );\n }\n }\n}\n\nfunction processComponent (el) {\n var binding;\n if ((binding = getBindingAttr(el, 'is'))) {\n el.component = binding;\n }\n if (getAndRemoveAttr(el, 'inline-template') != null) {\n el.inlineTemplate = true;\n }\n}\n\nfunction processAttrs (el) {\n var list = el.attrsList;\n var i, l, name, rawName, value, modifiers, syncGen, isDynamic;\n for (i = 0, l = list.length; i < l; i++) {\n name = rawName = list[i].name;\n value = list[i].value;\n if (dirRE.test(name)) {\n // mark element as dynamic\n el.hasBindings = true;\n // modifiers\n modifiers = parseModifiers(name.replace(dirRE, ''));\n // support .foo shorthand syntax for the .prop modifier\n if (modifiers) {\n name = name.replace(modifierRE, '');\n }\n if (bindRE.test(name)) { // v-bind\n name = name.replace(bindRE, '');\n value = parseFilters(value);\n isDynamic = dynamicArgRE.test(name);\n if (isDynamic) {\n name = name.slice(1, -1);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n value.trim().length === 0\n ) {\n warn$2(\n (\"The value for a v-bind expression cannot be empty. Found in \\\"v-bind:\" + name + \"\\\"\")\n );\n }\n if (modifiers) {\n if (modifiers.prop && !isDynamic) {\n name = camelize(name);\n if (name === 'innerHtml') { name = 'innerHTML'; }\n }\n if (modifiers.camel && !isDynamic) {\n name = camelize(name);\n }\n if (modifiers.sync) {\n syncGen = genAssignmentCode(value, \"$event\");\n if (!isDynamic) {\n addHandler(\n el,\n (\"update:\" + (camelize(name))),\n syncGen,\n null,\n false,\n warn$2,\n list[i]\n );\n if (hyphenate(name) !== camelize(name)) {\n addHandler(\n el,\n (\"update:\" + (hyphenate(name))),\n syncGen,\n null,\n false,\n warn$2,\n list[i]\n );\n }\n } else {\n // handler w/ dynamic event name\n addHandler(\n el,\n (\"\\\"update:\\\"+(\" + name + \")\"),\n syncGen,\n null,\n false,\n warn$2,\n list[i],\n true // dynamic\n );\n }\n }\n }\n if ((modifiers && modifiers.prop) || (\n !el.component && platformMustUseProp(el.tag, el.attrsMap.type, name)\n )) {\n addProp(el, name, value, list[i], isDynamic);\n } else {\n addAttr(el, name, value, list[i], isDynamic);\n }\n } else if (onRE.test(name)) { // v-on\n name = name.replace(onRE, '');\n isDynamic = dynamicArgRE.test(name);\n if (isDynamic) {\n name = name.slice(1, -1);\n }\n addHandler(el, name, value, modifiers, false, warn$2, list[i], isDynamic);\n } else { // normal directives\n name = name.replace(dirRE, '');\n // parse arg\n var argMatch = name.match(argRE);\n var arg = argMatch && argMatch[1];\n isDynamic = false;\n if (arg) {\n name = name.slice(0, -(arg.length + 1));\n if (dynamicArgRE.test(arg)) {\n arg = arg.slice(1, -1);\n isDynamic = true;\n }\n }\n addDirective(el, name, rawName, value, arg, isDynamic, modifiers, list[i]);\n if (process.env.NODE_ENV !== 'production' && name === 'model') {\n checkForAliasModel(el, value);\n }\n }\n } else {\n // literal attribute\n if (process.env.NODE_ENV !== 'production') {\n var res = parseText(value, delimiters);\n if (res) {\n warn$2(\n name + \"=\\\"\" + value + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div id=\"{{ val }}\">, use <div :id=\"val\">.',\n list[i]\n );\n }\n }\n addAttr(el, name, JSON.stringify(value), list[i]);\n // #6887 firefox doesn't update muted state if set via attribute\n // even immediately after element creation\n if (!el.component &&\n name === 'muted' &&\n platformMustUseProp(el.tag, el.attrsMap.type, name)) {\n addProp(el, name, 'true', list[i]);\n }\n }\n }\n}\n\nfunction checkInFor (el) {\n var parent = el;\n while (parent) {\n if (parent.for !== undefined) {\n return true\n }\n parent = parent.parent;\n }\n return false\n}\n\nfunction parseModifiers (name) {\n var match = name.match(modifierRE);\n if (match) {\n var ret = {};\n match.forEach(function (m) { ret[m.slice(1)] = true; });\n return ret\n }\n}\n\nfunction makeAttrsMap (attrs) {\n var map = {};\n for (var i = 0, l = attrs.length; i < l; i++) {\n if (\n process.env.NODE_ENV !== 'production' &&\n map[attrs[i].name] && !isIE && !isEdge\n ) {\n warn$2('duplicate attribute: ' + attrs[i].name, attrs[i]);\n }\n map[attrs[i].name] = attrs[i].value;\n }\n return map\n}\n\n// for script (e.g. type=\"x/template\") or style, do not decode content\nfunction isTextTag (el) {\n return el.tag === 'script' || el.tag === 'style'\n}\n\nfunction isForbiddenTag (el) {\n return (\n el.tag === 'style' ||\n (el.tag === 'script' && (\n !el.attrsMap.type ||\n el.attrsMap.type === 'text/javascript'\n ))\n )\n}\n\nvar ieNSBug = /^xmlns:NS\\d+/;\nvar ieNSPrefix = /^NS\\d+:/;\n\n/* istanbul ignore next */\nfunction guardIESVGBug (attrs) {\n var res = [];\n for (var i = 0; i < attrs.length; i++) {\n var attr = attrs[i];\n if (!ieNSBug.test(attr.name)) {\n attr.name = attr.name.replace(ieNSPrefix, '');\n res.push(attr);\n }\n }\n return res\n}\n\nfunction checkForAliasModel (el, value) {\n var _el = el;\n while (_el) {\n if (_el.for && _el.alias === value) {\n warn$2(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"You are binding v-model directly to a v-for iteration alias. \" +\n \"This will not be able to modify the v-for source array because \" +\n \"writing to the alias is like modifying a function local variable. \" +\n \"Consider using an array of objects and use v-model on an object property instead.\",\n el.rawAttrsMap['v-model']\n );\n }\n _el = _el.parent;\n }\n}\n\n/* */\n\nfunction preTransformNode (el, options) {\n if (el.tag === 'input') {\n var map = el.attrsMap;\n if (!map['v-model']) {\n return\n }\n\n var typeBinding;\n if (map[':type'] || map['v-bind:type']) {\n typeBinding = getBindingAttr(el, 'type');\n }\n if (!map.type && !typeBinding && map['v-bind']) {\n typeBinding = \"(\" + (map['v-bind']) + \").type\";\n }\n\n if (typeBinding) {\n var ifCondition = getAndRemoveAttr(el, 'v-if', true);\n var ifConditionExtra = ifCondition ? (\"&&(\" + ifCondition + \")\") : \"\";\n var hasElse = getAndRemoveAttr(el, 'v-else', true) != null;\n var elseIfCondition = getAndRemoveAttr(el, 'v-else-if', true);\n // 1. checkbox\n var branch0 = cloneASTElement(el);\n // process for on the main node\n processFor(branch0);\n addRawAttr(branch0, 'type', 'checkbox');\n processElement(branch0, options);\n branch0.processed = true; // prevent it from double-processed\n branch0.if = \"(\" + typeBinding + \")==='checkbox'\" + ifConditionExtra;\n addIfCondition(branch0, {\n exp: branch0.if,\n block: branch0\n });\n // 2. add radio else-if condition\n var branch1 = cloneASTElement(el);\n getAndRemoveAttr(branch1, 'v-for', true);\n addRawAttr(branch1, 'type', 'radio');\n processElement(branch1, options);\n addIfCondition(branch0, {\n exp: \"(\" + typeBinding + \")==='radio'\" + ifConditionExtra,\n block: branch1\n });\n // 3. other\n var branch2 = cloneASTElement(el);\n getAndRemoveAttr(branch2, 'v-for', true);\n addRawAttr(branch2, ':type', typeBinding);\n processElement(branch2, options);\n addIfCondition(branch0, {\n exp: ifCondition,\n block: branch2\n });\n\n if (hasElse) {\n branch0.else = true;\n } else if (elseIfCondition) {\n branch0.elseif = elseIfCondition;\n }\n\n return branch0\n }\n }\n}\n\nfunction cloneASTElement (el) {\n return createASTElement(el.tag, el.attrsList.slice(), el.parent)\n}\n\nvar model$1 = {\n preTransformNode: preTransformNode\n};\n\nvar modules$1 = [\n klass$1,\n style$1,\n model$1\n];\n\n/* */\n\nfunction text (el, dir) {\n if (dir.value) {\n addProp(el, 'textContent', (\"_s(\" + (dir.value) + \")\"), dir);\n }\n}\n\n/* */\n\nfunction html (el, dir) {\n if (dir.value) {\n addProp(el, 'innerHTML', (\"_s(\" + (dir.value) + \")\"), dir);\n }\n}\n\nvar directives$1 = {\n model: model,\n text: text,\n html: html\n};\n\n/* */\n\nvar baseOptions = {\n expectHTML: true,\n modules: modules$1,\n directives: directives$1,\n isPreTag: isPreTag,\n isUnaryTag: isUnaryTag,\n mustUseProp: mustUseProp,\n canBeLeftOpenTag: canBeLeftOpenTag,\n isReservedTag: isReservedTag,\n getTagNamespace: getTagNamespace,\n staticKeys: genStaticKeys(modules$1)\n};\n\n/* */\n\nvar isStaticKey;\nvar isPlatformReservedTag;\n\nvar genStaticKeysCached = cached(genStaticKeys$1);\n\n/**\n * Goal of the optimizer: walk the generated template AST tree\n * and detect sub-trees that are purely static, i.e. parts of\n * the DOM that never needs to change.\n *\n * Once we detect these sub-trees, we can:\n *\n * 1. Hoist them into constants, so that we no longer need to\n * create fresh nodes for them on each re-render;\n * 2. Completely skip them in the patching process.\n */\nfunction optimize (root, options) {\n if (!root) { return }\n isStaticKey = genStaticKeysCached(options.staticKeys || '');\n isPlatformReservedTag = options.isReservedTag || no;\n // first pass: mark all non-static nodes.\n markStatic$1(root);\n // second pass: mark static roots.\n markStaticRoots(root, false);\n}\n\nfunction genStaticKeys$1 (keys) {\n return makeMap(\n 'type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap' +\n (keys ? ',' + keys : '')\n )\n}\n\nfunction markStatic$1 (node) {\n node.static = isStatic(node);\n if (node.type === 1) {\n // do not make component slot content static. this avoids\n // 1. components not able to mutate slot nodes\n // 2. static slot content fails for hot-reloading\n if (\n !isPlatformReservedTag(node.tag) &&\n node.tag !== 'slot' &&\n node.attrsMap['inline-template'] == null\n ) {\n return\n }\n for (var i = 0, l = node.children.length; i < l; i++) {\n var child = node.children[i];\n markStatic$1(child);\n if (!child.static) {\n node.static = false;\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n var block = node.ifConditions[i$1].block;\n markStatic$1(block);\n if (!block.static) {\n node.static = false;\n }\n }\n }\n }\n}\n\nfunction markStaticRoots (node, isInFor) {\n if (node.type === 1) {\n if (node.static || node.once) {\n node.staticInFor = isInFor;\n }\n // For a node to qualify as a static root, it should have children that\n // are not just static text. Otherwise the cost of hoisting out will\n // outweigh the benefits and it's better off to just always render it fresh.\n if (node.static && node.children.length && !(\n node.children.length === 1 &&\n node.children[0].type === 3\n )) {\n node.staticRoot = true;\n return\n } else {\n node.staticRoot = false;\n }\n if (node.children) {\n for (var i = 0, l = node.children.length; i < l; i++) {\n markStaticRoots(node.children[i], isInFor || !!node.for);\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n markStaticRoots(node.ifConditions[i$1].block, isInFor);\n }\n }\n }\n}\n\nfunction isStatic (node) {\n if (node.type === 2) { // expression\n return false\n }\n if (node.type === 3) { // text\n return true\n }\n return !!(node.pre || (\n !node.hasBindings && // no dynamic bindings\n !node.if && !node.for && // not v-if or v-for or v-else\n !isBuiltInTag(node.tag) && // not a built-in\n isPlatformReservedTag(node.tag) && // not a component\n !isDirectChildOfTemplateFor(node) &&\n Object.keys(node).every(isStaticKey)\n ))\n}\n\nfunction isDirectChildOfTemplateFor (node) {\n while (node.parent) {\n node = node.parent;\n if (node.tag !== 'template') {\n return false\n }\n if (node.for) {\n return true\n }\n }\n return false\n}\n\n/* */\n\nvar fnExpRE = /^([\\w$_]+|\\([^)]*?\\))\\s*=>|^function\\s*(?:[\\w$]+)?\\s*\\(/;\nvar fnInvokeRE = /\\([^)]*?\\);*$/;\nvar simplePathRE = /^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\['[^']*?']|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[A-Za-z_$][\\w$]*])*$/;\n\n// KeyboardEvent.keyCode aliases\nvar keyCodes = {\n esc: 27,\n tab: 9,\n enter: 13,\n space: 32,\n up: 38,\n left: 37,\n right: 39,\n down: 40,\n 'delete': [8, 46]\n};\n\n// KeyboardEvent.key aliases\nvar keyNames = {\n // #7880: IE11 and Edge use `Esc` for Escape key name.\n esc: ['Esc', 'Escape'],\n tab: 'Tab',\n enter: 'Enter',\n // #9112: IE11 uses `Spacebar` for Space key name.\n space: [' ', 'Spacebar'],\n // #7806: IE11 uses key names without `Arrow` prefix for arrow keys.\n up: ['Up', 'ArrowUp'],\n left: ['Left', 'ArrowLeft'],\n right: ['Right', 'ArrowRight'],\n down: ['Down', 'ArrowDown'],\n // #9112: IE11 uses `Del` for Delete key name.\n 'delete': ['Backspace', 'Delete', 'Del']\n};\n\n// #4868: modifiers that prevent the execution of the listener\n// need to explicitly return null so that we can determine whether to remove\n// the listener for .once\nvar genGuard = function (condition) { return (\"if(\" + condition + \")return null;\"); };\n\nvar modifierCode = {\n stop: '$event.stopPropagation();',\n prevent: '$event.preventDefault();',\n self: genGuard(\"$event.target !== $event.currentTarget\"),\n ctrl: genGuard(\"!$event.ctrlKey\"),\n shift: genGuard(\"!$event.shiftKey\"),\n alt: genGuard(\"!$event.altKey\"),\n meta: genGuard(\"!$event.metaKey\"),\n left: genGuard(\"'button' in $event && $event.button !== 0\"),\n middle: genGuard(\"'button' in $event && $event.button !== 1\"),\n right: genGuard(\"'button' in $event && $event.button !== 2\")\n};\n\nfunction genHandlers (\n events,\n isNative\n) {\n var prefix = isNative ? 'nativeOn:' : 'on:';\n var staticHandlers = \"\";\n var dynamicHandlers = \"\";\n for (var name in events) {\n var handlerCode = genHandler(events[name]);\n if (events[name] && events[name].dynamic) {\n dynamicHandlers += name + \",\" + handlerCode + \",\";\n } else {\n staticHandlers += \"\\\"\" + name + \"\\\":\" + handlerCode + \",\";\n }\n }\n staticHandlers = \"{\" + (staticHandlers.slice(0, -1)) + \"}\";\n if (dynamicHandlers) {\n return prefix + \"_d(\" + staticHandlers + \",[\" + (dynamicHandlers.slice(0, -1)) + \"])\"\n } else {\n return prefix + staticHandlers\n }\n}\n\nfunction genHandler (handler) {\n if (!handler) {\n return 'function(){}'\n }\n\n if (Array.isArray(handler)) {\n return (\"[\" + (handler.map(function (handler) { return genHandler(handler); }).join(',')) + \"]\")\n }\n\n var isMethodPath = simplePathRE.test(handler.value);\n var isFunctionExpression = fnExpRE.test(handler.value);\n var isFunctionInvocation = simplePathRE.test(handler.value.replace(fnInvokeRE, ''));\n\n if (!handler.modifiers) {\n if (isMethodPath || isFunctionExpression) {\n return handler.value\n }\n return (\"function($event){\" + (isFunctionInvocation ? (\"return \" + (handler.value)) : handler.value) + \"}\") // inline statement\n } else {\n var code = '';\n var genModifierCode = '';\n var keys = [];\n for (var key in handler.modifiers) {\n if (modifierCode[key]) {\n genModifierCode += modifierCode[key];\n // left/right\n if (keyCodes[key]) {\n keys.push(key);\n }\n } else if (key === 'exact') {\n var modifiers = (handler.modifiers);\n genModifierCode += genGuard(\n ['ctrl', 'shift', 'alt', 'meta']\n .filter(function (keyModifier) { return !modifiers[keyModifier]; })\n .map(function (keyModifier) { return (\"$event.\" + keyModifier + \"Key\"); })\n .join('||')\n );\n } else {\n keys.push(key);\n }\n }\n if (keys.length) {\n code += genKeyFilter(keys);\n }\n // Make sure modifiers like prevent and stop get executed after key filtering\n if (genModifierCode) {\n code += genModifierCode;\n }\n var handlerCode = isMethodPath\n ? (\"return \" + (handler.value) + \"($event)\")\n : isFunctionExpression\n ? (\"return (\" + (handler.value) + \")($event)\")\n : isFunctionInvocation\n ? (\"return \" + (handler.value))\n : handler.value;\n return (\"function($event){\" + code + handlerCode + \"}\")\n }\n}\n\nfunction genKeyFilter (keys) {\n return (\n // make sure the key filters only apply to KeyboardEvents\n // #9441: can't use 'keyCode' in $event because Chrome autofill fires fake\n // key events that do not have keyCode property...\n \"if(!$event.type.indexOf('key')&&\" +\n (keys.map(genFilterCode).join('&&')) + \")return null;\"\n )\n}\n\nfunction genFilterCode (key) {\n var keyVal = parseInt(key, 10);\n if (keyVal) {\n return (\"$event.keyCode!==\" + keyVal)\n }\n var keyCode = keyCodes[key];\n var keyName = keyNames[key];\n return (\n \"_k($event.keyCode,\" +\n (JSON.stringify(key)) + \",\" +\n (JSON.stringify(keyCode)) + \",\" +\n \"$event.key,\" +\n \"\" + (JSON.stringify(keyName)) +\n \")\"\n )\n}\n\n/* */\n\nfunction on (el, dir) {\n if (process.env.NODE_ENV !== 'production' && dir.modifiers) {\n warn(\"v-on without argument does not support modifiers.\");\n }\n el.wrapListeners = function (code) { return (\"_g(\" + code + \",\" + (dir.value) + \")\"); };\n}\n\n/* */\n\nfunction bind$1 (el, dir) {\n el.wrapData = function (code) {\n return (\"_b(\" + code + \",'\" + (el.tag) + \"',\" + (dir.value) + \",\" + (dir.modifiers && dir.modifiers.prop ? 'true' : 'false') + (dir.modifiers && dir.modifiers.sync ? ',true' : '') + \")\")\n };\n}\n\n/* */\n\nvar baseDirectives = {\n on: on,\n bind: bind$1,\n cloak: noop\n};\n\n/* */\n\n\n\n\n\nvar CodegenState = function CodegenState (options) {\n this.options = options;\n this.warn = options.warn || baseWarn;\n this.transforms = pluckModuleFunction(options.modules, 'transformCode');\n this.dataGenFns = pluckModuleFunction(options.modules, 'genData');\n this.directives = extend(extend({}, baseDirectives), options.directives);\n var isReservedTag = options.isReservedTag || no;\n this.maybeComponent = function (el) { return !!el.component || !isReservedTag(el.tag); };\n this.onceId = 0;\n this.staticRenderFns = [];\n this.pre = false;\n};\n\n\n\nfunction generate (\n ast,\n options\n) {\n var state = new CodegenState(options);\n var code = ast ? genElement(ast, state) : '_c(\"div\")';\n return {\n render: (\"with(this){return \" + code + \"}\"),\n staticRenderFns: state.staticRenderFns\n }\n}\n\nfunction genElement (el, state) {\n if (el.parent) {\n el.pre = el.pre || el.parent.pre;\n }\n\n if (el.staticRoot && !el.staticProcessed) {\n return genStatic(el, state)\n } else if (el.once && !el.onceProcessed) {\n return genOnce(el, state)\n } else if (el.for && !el.forProcessed) {\n return genFor(el, state)\n } else if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.tag === 'template' && !el.slotTarget && !state.pre) {\n return genChildren(el, state) || 'void 0'\n } else if (el.tag === 'slot') {\n return genSlot(el, state)\n } else {\n // component or element\n var code;\n if (el.component) {\n code = genComponent(el.component, el, state);\n } else {\n var data;\n if (!el.plain || (el.pre && state.maybeComponent(el))) {\n data = genData$2(el, state);\n }\n\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n code = \"_c('\" + (el.tag) + \"'\" + (data ? (\",\" + data) : '') + (children ? (\",\" + children) : '') + \")\";\n }\n // module transforms\n for (var i = 0; i < state.transforms.length; i++) {\n code = state.transforms[i](el, code);\n }\n return code\n }\n}\n\n// hoist static sub-trees out\nfunction genStatic (el, state) {\n el.staticProcessed = true;\n // Some elements (templates) need to behave differently inside of a v-pre\n // node. All pre nodes are static roots, so we can use this as a location to\n // wrap a state change and reset it upon exiting the pre node.\n var originalPreState = state.pre;\n if (el.pre) {\n state.pre = el.pre;\n }\n state.staticRenderFns.push((\"with(this){return \" + (genElement(el, state)) + \"}\"));\n state.pre = originalPreState;\n return (\"_m(\" + (state.staticRenderFns.length - 1) + (el.staticInFor ? ',true' : '') + \")\")\n}\n\n// v-once\nfunction genOnce (el, state) {\n el.onceProcessed = true;\n if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.staticInFor) {\n var key = '';\n var parent = el.parent;\n while (parent) {\n if (parent.for) {\n key = parent.key;\n break\n }\n parent = parent.parent;\n }\n if (!key) {\n process.env.NODE_ENV !== 'production' && state.warn(\n \"v-once can only be used inside v-for that is keyed. \",\n el.rawAttrsMap['v-once']\n );\n return genElement(el, state)\n }\n return (\"_o(\" + (genElement(el, state)) + \",\" + (state.onceId++) + \",\" + key + \")\")\n } else {\n return genStatic(el, state)\n }\n}\n\nfunction genIf (\n el,\n state,\n altGen,\n altEmpty\n) {\n el.ifProcessed = true; // avoid recursion\n return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty)\n}\n\nfunction genIfConditions (\n conditions,\n state,\n altGen,\n altEmpty\n) {\n if (!conditions.length) {\n return altEmpty || '_e()'\n }\n\n var condition = conditions.shift();\n if (condition.exp) {\n return (\"(\" + (condition.exp) + \")?\" + (genTernaryExp(condition.block)) + \":\" + (genIfConditions(conditions, state, altGen, altEmpty)))\n } else {\n return (\"\" + (genTernaryExp(condition.block)))\n }\n\n // v-if with v-once should generate code like (a)?_m(0):_m(1)\n function genTernaryExp (el) {\n return altGen\n ? altGen(el, state)\n : el.once\n ? genOnce(el, state)\n : genElement(el, state)\n }\n}\n\nfunction genFor (\n el,\n state,\n altGen,\n altHelper\n) {\n var exp = el.for;\n var alias = el.alias;\n var iterator1 = el.iterator1 ? (\",\" + (el.iterator1)) : '';\n var iterator2 = el.iterator2 ? (\",\" + (el.iterator2)) : '';\n\n if (process.env.NODE_ENV !== 'production' &&\n state.maybeComponent(el) &&\n el.tag !== 'slot' &&\n el.tag !== 'template' &&\n !el.key\n ) {\n state.warn(\n \"<\" + (el.tag) + \" v-for=\\\"\" + alias + \" in \" + exp + \"\\\">: component lists rendered with \" +\n \"v-for should have explicit keys. \" +\n \"See https://vuejs.org/guide/list.html#key for more info.\",\n el.rawAttrsMap['v-for'],\n true /* tip */\n );\n }\n\n el.forProcessed = true; // avoid recursion\n return (altHelper || '_l') + \"((\" + exp + \"),\" +\n \"function(\" + alias + iterator1 + iterator2 + \"){\" +\n \"return \" + ((altGen || genElement)(el, state)) +\n '})'\n}\n\nfunction genData$2 (el, state) {\n var data = '{';\n\n // directives first.\n // directives may mutate the el's other properties before they are generated.\n var dirs = genDirectives(el, state);\n if (dirs) { data += dirs + ','; }\n\n // key\n if (el.key) {\n data += \"key:\" + (el.key) + \",\";\n }\n // ref\n if (el.ref) {\n data += \"ref:\" + (el.ref) + \",\";\n }\n if (el.refInFor) {\n data += \"refInFor:true,\";\n }\n // pre\n if (el.pre) {\n data += \"pre:true,\";\n }\n // record original tag name for components using \"is\" attribute\n if (el.component) {\n data += \"tag:\\\"\" + (el.tag) + \"\\\",\";\n }\n // module data generation functions\n for (var i = 0; i < state.dataGenFns.length; i++) {\n data += state.dataGenFns[i](el);\n }\n // attributes\n if (el.attrs) {\n data += \"attrs:\" + (genProps(el.attrs)) + \",\";\n }\n // DOM props\n if (el.props) {\n data += \"domProps:\" + (genProps(el.props)) + \",\";\n }\n // event handlers\n if (el.events) {\n data += (genHandlers(el.events, false)) + \",\";\n }\n if (el.nativeEvents) {\n data += (genHandlers(el.nativeEvents, true)) + \",\";\n }\n // slot target\n // only for non-scoped slots\n if (el.slotTarget && !el.slotScope) {\n data += \"slot:\" + (el.slotTarget) + \",\";\n }\n // scoped slots\n if (el.scopedSlots) {\n data += (genScopedSlots(el, el.scopedSlots, state)) + \",\";\n }\n // component v-model\n if (el.model) {\n data += \"model:{value:\" + (el.model.value) + \",callback:\" + (el.model.callback) + \",expression:\" + (el.model.expression) + \"},\";\n }\n // inline-template\n if (el.inlineTemplate) {\n var inlineTemplate = genInlineTemplate(el, state);\n if (inlineTemplate) {\n data += inlineTemplate + \",\";\n }\n }\n data = data.replace(/,$/, '') + '}';\n // v-bind dynamic argument wrap\n // v-bind with dynamic arguments must be applied using the same v-bind object\n // merge helper so that class/style/mustUseProp attrs are handled correctly.\n if (el.dynamicAttrs) {\n data = \"_b(\" + data + \",\\\"\" + (el.tag) + \"\\\",\" + (genProps(el.dynamicAttrs)) + \")\";\n }\n // v-bind data wrap\n if (el.wrapData) {\n data = el.wrapData(data);\n }\n // v-on data wrap\n if (el.wrapListeners) {\n data = el.wrapListeners(data);\n }\n return data\n}\n\nfunction genDirectives (el, state) {\n var dirs = el.directives;\n if (!dirs) { return }\n var res = 'directives:[';\n var hasRuntime = false;\n var i, l, dir, needRuntime;\n for (i = 0, l = dirs.length; i < l; i++) {\n dir = dirs[i];\n needRuntime = true;\n var gen = state.directives[dir.name];\n if (gen) {\n // compile-time directive that manipulates AST.\n // returns true if it also needs a runtime counterpart.\n needRuntime = !!gen(el, dir, state.warn);\n }\n if (needRuntime) {\n hasRuntime = true;\n res += \"{name:\\\"\" + (dir.name) + \"\\\",rawName:\\\"\" + (dir.rawName) + \"\\\"\" + (dir.value ? (\",value:(\" + (dir.value) + \"),expression:\" + (JSON.stringify(dir.value))) : '') + (dir.arg ? (\",arg:\" + (dir.isDynamicArg ? dir.arg : (\"\\\"\" + (dir.arg) + \"\\\"\"))) : '') + (dir.modifiers ? (\",modifiers:\" + (JSON.stringify(dir.modifiers))) : '') + \"},\";\n }\n }\n if (hasRuntime) {\n return res.slice(0, -1) + ']'\n }\n}\n\nfunction genInlineTemplate (el, state) {\n var ast = el.children[0];\n if (process.env.NODE_ENV !== 'production' && (\n el.children.length !== 1 || ast.type !== 1\n )) {\n state.warn(\n 'Inline-template components must have exactly one child element.',\n { start: el.start }\n );\n }\n if (ast && ast.type === 1) {\n var inlineRenderFns = generate(ast, state.options);\n return (\"inlineTemplate:{render:function(){\" + (inlineRenderFns.render) + \"},staticRenderFns:[\" + (inlineRenderFns.staticRenderFns.map(function (code) { return (\"function(){\" + code + \"}\"); }).join(',')) + \"]}\")\n }\n}\n\nfunction genScopedSlots (\n el,\n slots,\n state\n) {\n // by default scoped slots are considered \"stable\", this allows child\n // components with only scoped slots to skip forced updates from parent.\n // but in some cases we have to bail-out of this optimization\n // for example if the slot contains dynamic names, has v-if or v-for on them...\n var needsForceUpdate = el.for || Object.keys(slots).some(function (key) {\n var slot = slots[key];\n return (\n slot.slotTargetDynamic ||\n slot.if ||\n slot.for ||\n containsSlotChild(slot) // is passing down slot from parent which may be dynamic\n )\n });\n\n // #9534: if a component with scoped slots is inside a conditional branch,\n // it's possible for the same component to be reused but with different\n // compiled slot content. To avoid that, we generate a unique key based on\n // the generated code of all the slot contents.\n var needsKey = !!el.if;\n\n // OR when it is inside another scoped slot or v-for (the reactivity may be\n // disconnected due to the intermediate scope variable)\n // #9438, #9506\n // TODO: this can be further optimized by properly analyzing in-scope bindings\n // and skip force updating ones that do not actually use scope variables.\n if (!needsForceUpdate) {\n var parent = el.parent;\n while (parent) {\n if (\n (parent.slotScope && parent.slotScope !== emptySlotScopeToken) ||\n parent.for\n ) {\n needsForceUpdate = true;\n break\n }\n if (parent.if) {\n needsKey = true;\n }\n parent = parent.parent;\n }\n }\n\n var generatedSlots = Object.keys(slots)\n .map(function (key) { return genScopedSlot(slots[key], state); })\n .join(',');\n\n return (\"scopedSlots:_u([\" + generatedSlots + \"]\" + (needsForceUpdate ? \",null,true\" : \"\") + (!needsForceUpdate && needsKey ? (\",null,false,\" + (hash(generatedSlots))) : \"\") + \")\")\n}\n\nfunction hash(str) {\n var hash = 5381;\n var i = str.length;\n while(i) {\n hash = (hash * 33) ^ str.charCodeAt(--i);\n }\n return hash >>> 0\n}\n\nfunction containsSlotChild (el) {\n if (el.type === 1) {\n if (el.tag === 'slot') {\n return true\n }\n return el.children.some(containsSlotChild)\n }\n return false\n}\n\nfunction genScopedSlot (\n el,\n state\n) {\n var isLegacySyntax = el.attrsMap['slot-scope'];\n if (el.if && !el.ifProcessed && !isLegacySyntax) {\n return genIf(el, state, genScopedSlot, \"null\")\n }\n if (el.for && !el.forProcessed) {\n return genFor(el, state, genScopedSlot)\n }\n var slotScope = el.slotScope === emptySlotScopeToken\n ? \"\"\n : String(el.slotScope);\n var fn = \"function(\" + slotScope + \"){\" +\n \"return \" + (el.tag === 'template'\n ? el.if && isLegacySyntax\n ? (\"(\" + (el.if) + \")?\" + (genChildren(el, state) || 'undefined') + \":undefined\")\n : genChildren(el, state) || 'undefined'\n : genElement(el, state)) + \"}\";\n // reverse proxy v-slot without scope on this.$slots\n var reverseProxy = slotScope ? \"\" : \",proxy:true\";\n return (\"{key:\" + (el.slotTarget || \"\\\"default\\\"\") + \",fn:\" + fn + reverseProxy + \"}\")\n}\n\nfunction genChildren (\n el,\n state,\n checkSkip,\n altGenElement,\n altGenNode\n) {\n var children = el.children;\n if (children.length) {\n var el$1 = children[0];\n // optimize single v-for\n if (children.length === 1 &&\n el$1.for &&\n el$1.tag !== 'template' &&\n el$1.tag !== 'slot'\n ) {\n var normalizationType = checkSkip\n ? state.maybeComponent(el$1) ? \",1\" : \",0\"\n : \"\";\n return (\"\" + ((altGenElement || genElement)(el$1, state)) + normalizationType)\n }\n var normalizationType$1 = checkSkip\n ? getNormalizationType(children, state.maybeComponent)\n : 0;\n var gen = altGenNode || genNode;\n return (\"[\" + (children.map(function (c) { return gen(c, state); }).join(',')) + \"]\" + (normalizationType$1 ? (\",\" + normalizationType$1) : ''))\n }\n}\n\n// determine the normalization needed for the children array.\n// 0: no normalization needed\n// 1: simple normalization needed (possible 1-level deep nested array)\n// 2: full normalization needed\nfunction getNormalizationType (\n children,\n maybeComponent\n) {\n var res = 0;\n for (var i = 0; i < children.length; i++) {\n var el = children[i];\n if (el.type !== 1) {\n continue\n }\n if (needsNormalization(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) {\n res = 2;\n break\n }\n if (maybeComponent(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) {\n res = 1;\n }\n }\n return res\n}\n\nfunction needsNormalization (el) {\n return el.for !== undefined || el.tag === 'template' || el.tag === 'slot'\n}\n\nfunction genNode (node, state) {\n if (node.type === 1) {\n return genElement(node, state)\n } else if (node.type === 3 && node.isComment) {\n return genComment(node)\n } else {\n return genText(node)\n }\n}\n\nfunction genText (text) {\n return (\"_v(\" + (text.type === 2\n ? text.expression // no need for () because already wrapped in _s()\n : transformSpecialNewlines(JSON.stringify(text.text))) + \")\")\n}\n\nfunction genComment (comment) {\n return (\"_e(\" + (JSON.stringify(comment.text)) + \")\")\n}\n\nfunction genSlot (el, state) {\n var slotName = el.slotName || '\"default\"';\n var children = genChildren(el, state);\n var res = \"_t(\" + slotName + (children ? (\",\" + children) : '');\n var attrs = el.attrs || el.dynamicAttrs\n ? genProps((el.attrs || []).concat(el.dynamicAttrs || []).map(function (attr) { return ({\n // slot props are camelized\n name: camelize(attr.name),\n value: attr.value,\n dynamic: attr.dynamic\n }); }))\n : null;\n var bind$$1 = el.attrsMap['v-bind'];\n if ((attrs || bind$$1) && !children) {\n res += \",null\";\n }\n if (attrs) {\n res += \",\" + attrs;\n }\n if (bind$$1) {\n res += (attrs ? '' : ',null') + \",\" + bind$$1;\n }\n return res + ')'\n}\n\n// componentName is el.component, take it as argument to shun flow's pessimistic refinement\nfunction genComponent (\n componentName,\n el,\n state\n) {\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n return (\"_c(\" + componentName + \",\" + (genData$2(el, state)) + (children ? (\",\" + children) : '') + \")\")\n}\n\nfunction genProps (props) {\n var staticProps = \"\";\n var dynamicProps = \"\";\n for (var i = 0; i < props.length; i++) {\n var prop = props[i];\n var value = transformSpecialNewlines(prop.value);\n if (prop.dynamic) {\n dynamicProps += (prop.name) + \",\" + value + \",\";\n } else {\n staticProps += \"\\\"\" + (prop.name) + \"\\\":\" + value + \",\";\n }\n }\n staticProps = \"{\" + (staticProps.slice(0, -1)) + \"}\";\n if (dynamicProps) {\n return (\"_d(\" + staticProps + \",[\" + (dynamicProps.slice(0, -1)) + \"])\")\n } else {\n return staticProps\n }\n}\n\n// #3895, #4268\nfunction transformSpecialNewlines (text) {\n return text\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n}\n\n/* */\n\n\n\n// these keywords should not appear inside expressions, but operators like\n// typeof, instanceof and in are allowed\nvar prohibitedKeywordRE = new RegExp('\\\\b' + (\n 'do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' +\n 'super,throw,while,yield,delete,export,import,return,switch,default,' +\n 'extends,finally,continue,debugger,function,arguments'\n).split(',').join('\\\\b|\\\\b') + '\\\\b');\n\n// these unary operators should not be used as property/method names\nvar unaryOperatorsRE = new RegExp('\\\\b' + (\n 'delete,typeof,void'\n).split(',').join('\\\\s*\\\\([^\\\\)]*\\\\)|\\\\b') + '\\\\s*\\\\([^\\\\)]*\\\\)');\n\n// strip strings in expressions\nvar stripStringRE = /'(?:[^'\\\\]|\\\\.)*'|\"(?:[^\"\\\\]|\\\\.)*\"|`(?:[^`\\\\]|\\\\.)*\\$\\{|\\}(?:[^`\\\\]|\\\\.)*`|`(?:[^`\\\\]|\\\\.)*`/g;\n\n// detect problematic expressions in a template\nfunction detectErrors (ast, warn) {\n if (ast) {\n checkNode(ast, warn);\n }\n}\n\nfunction checkNode (node, warn) {\n if (node.type === 1) {\n for (var name in node.attrsMap) {\n if (dirRE.test(name)) {\n var value = node.attrsMap[name];\n if (value) {\n var range = node.rawAttrsMap[name];\n if (name === 'v-for') {\n checkFor(node, (\"v-for=\\\"\" + value + \"\\\"\"), warn, range);\n } else if (onRE.test(name)) {\n checkEvent(value, (name + \"=\\\"\" + value + \"\\\"\"), warn, range);\n } else {\n checkExpression(value, (name + \"=\\\"\" + value + \"\\\"\"), warn, range);\n }\n }\n }\n }\n if (node.children) {\n for (var i = 0; i < node.children.length; i++) {\n checkNode(node.children[i], warn);\n }\n }\n } else if (node.type === 2) {\n checkExpression(node.expression, node.text, warn, node);\n }\n}\n\nfunction checkEvent (exp, text, warn, range) {\n var stipped = exp.replace(stripStringRE, '');\n var keywordMatch = stipped.match(unaryOperatorsRE);\n if (keywordMatch && stipped.charAt(keywordMatch.index - 1) !== '$') {\n warn(\n \"avoid using JavaScript unary operator as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\" in expression \" + (text.trim()),\n range\n );\n }\n checkExpression(exp, text, warn, range);\n}\n\nfunction checkFor (node, text, warn, range) {\n checkExpression(node.for || '', text, warn, range);\n checkIdentifier(node.alias, 'v-for alias', text, warn, range);\n checkIdentifier(node.iterator1, 'v-for iterator', text, warn, range);\n checkIdentifier(node.iterator2, 'v-for iterator', text, warn, range);\n}\n\nfunction checkIdentifier (\n ident,\n type,\n text,\n warn,\n range\n) {\n if (typeof ident === 'string') {\n try {\n new Function((\"var \" + ident + \"=_\"));\n } catch (e) {\n warn((\"invalid \" + type + \" \\\"\" + ident + \"\\\" in expression: \" + (text.trim())), range);\n }\n }\n}\n\nfunction checkExpression (exp, text, warn, range) {\n try {\n new Function((\"return \" + exp));\n } catch (e) {\n var keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE);\n if (keywordMatch) {\n warn(\n \"avoid using JavaScript keyword as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\"\\n Raw expression: \" + (text.trim()),\n range\n );\n } else {\n warn(\n \"invalid expression: \" + (e.message) + \" in\\n\\n\" +\n \" \" + exp + \"\\n\\n\" +\n \" Raw expression: \" + (text.trim()) + \"\\n\",\n range\n );\n }\n }\n}\n\n/* */\n\nvar range = 2;\n\nfunction generateCodeFrame (\n source,\n start,\n end\n) {\n if ( start === void 0 ) start = 0;\n if ( end === void 0 ) end = source.length;\n\n var lines = source.split(/\\r?\\n/);\n var count = 0;\n var res = [];\n for (var i = 0; i < lines.length; i++) {\n count += lines[i].length + 1;\n if (count >= start) {\n for (var j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length) { continue }\n res.push((\"\" + (j + 1) + (repeat$1(\" \", 3 - String(j + 1).length)) + \"| \" + (lines[j])));\n var lineLength = lines[j].length;\n if (j === i) {\n // push underline\n var pad = start - (count - lineLength) + 1;\n var length = end > count ? lineLength - pad : end - start;\n res.push(\" | \" + repeat$1(\" \", pad) + repeat$1(\"^\", length));\n } else if (j > i) {\n if (end > count) {\n var length$1 = Math.min(end - count, lineLength);\n res.push(\" | \" + repeat$1(\"^\", length$1));\n }\n count += lineLength + 1;\n }\n }\n break\n }\n }\n return res.join('\\n')\n}\n\nfunction repeat$1 (str, n) {\n var result = '';\n if (n > 0) {\n while (true) { // eslint-disable-line\n if (n & 1) { result += str; }\n n >>>= 1;\n if (n <= 0) { break }\n str += str;\n }\n }\n return result\n}\n\n/* */\n\n\n\nfunction createFunction (code, errors) {\n try {\n return new Function(code)\n } catch (err) {\n errors.push({ err: err, code: code });\n return noop\n }\n}\n\nfunction createCompileToFunctionFn (compile) {\n var cache = Object.create(null);\n\n return function compileToFunctions (\n template,\n options,\n vm\n ) {\n options = extend({}, options);\n var warn$$1 = options.warn || warn;\n delete options.warn;\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n // detect possible CSP restriction\n try {\n new Function('return 1');\n } catch (e) {\n if (e.toString().match(/unsafe-eval|CSP/)) {\n warn$$1(\n 'It seems you are using the standalone build of Vue.js in an ' +\n 'environment with Content Security Policy that prohibits unsafe-eval. ' +\n 'The template compiler cannot work in this environment. Consider ' +\n 'relaxing the policy to allow unsafe-eval or pre-compiling your ' +\n 'templates into render functions.'\n );\n }\n }\n }\n\n // check cache\n var key = options.delimiters\n ? String(options.delimiters) + template\n : template;\n if (cache[key]) {\n return cache[key]\n }\n\n // compile\n var compiled = compile(template, options);\n\n // check compilation errors/tips\n if (process.env.NODE_ENV !== 'production') {\n if (compiled.errors && compiled.errors.length) {\n if (options.outputSourceRange) {\n compiled.errors.forEach(function (e) {\n warn$$1(\n \"Error compiling template:\\n\\n\" + (e.msg) + \"\\n\\n\" +\n generateCodeFrame(template, e.start, e.end),\n vm\n );\n });\n } else {\n warn$$1(\n \"Error compiling template:\\n\\n\" + template + \"\\n\\n\" +\n compiled.errors.map(function (e) { return (\"- \" + e); }).join('\\n') + '\\n',\n vm\n );\n }\n }\n if (compiled.tips && compiled.tips.length) {\n if (options.outputSourceRange) {\n compiled.tips.forEach(function (e) { return tip(e.msg, vm); });\n } else {\n compiled.tips.forEach(function (msg) { return tip(msg, vm); });\n }\n }\n }\n\n // turn code into functions\n var res = {};\n var fnGenErrors = [];\n res.render = createFunction(compiled.render, fnGenErrors);\n res.staticRenderFns = compiled.staticRenderFns.map(function (code) {\n return createFunction(code, fnGenErrors)\n });\n\n // check function generation errors.\n // this should only happen if there is a bug in the compiler itself.\n // mostly for codegen development use\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n if ((!compiled.errors || !compiled.errors.length) && fnGenErrors.length) {\n warn$$1(\n \"Failed to generate render function:\\n\\n\" +\n fnGenErrors.map(function (ref) {\n var err = ref.err;\n var code = ref.code;\n\n return ((err.toString()) + \" in\\n\\n\" + code + \"\\n\");\n }).join('\\n'),\n vm\n );\n }\n }\n\n return (cache[key] = res)\n }\n}\n\n/* */\n\nfunction createCompilerCreator (baseCompile) {\n return function createCompiler (baseOptions) {\n function compile (\n template,\n options\n ) {\n var finalOptions = Object.create(baseOptions);\n var errors = [];\n var tips = [];\n\n var warn = function (msg, range, tip) {\n (tip ? tips : errors).push(msg);\n };\n\n if (options) {\n if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {\n // $flow-disable-line\n var leadingSpaceLength = template.match(/^\\s*/)[0].length;\n\n warn = function (msg, range, tip) {\n var data = { msg: msg };\n if (range) {\n if (range.start != null) {\n data.start = range.start + leadingSpaceLength;\n }\n if (range.end != null) {\n data.end = range.end + leadingSpaceLength;\n }\n }\n (tip ? tips : errors).push(data);\n };\n }\n // merge custom modules\n if (options.modules) {\n finalOptions.modules =\n (baseOptions.modules || []).concat(options.modules);\n }\n // merge custom directives\n if (options.directives) {\n finalOptions.directives = extend(\n Object.create(baseOptions.directives || null),\n options.directives\n );\n }\n // copy other options\n for (var key in options) {\n if (key !== 'modules' && key !== 'directives') {\n finalOptions[key] = options[key];\n }\n }\n }\n\n finalOptions.warn = warn;\n\n var compiled = baseCompile(template.trim(), finalOptions);\n if (process.env.NODE_ENV !== 'production') {\n detectErrors(compiled.ast, warn);\n }\n compiled.errors = errors;\n compiled.tips = tips;\n return compiled\n }\n\n return {\n compile: compile,\n compileToFunctions: createCompileToFunctionFn(compile)\n }\n }\n}\n\n/* */\n\n// `createCompilerCreator` allows creating compilers that use alternative\n// parser/optimizer/codegen, e.g the SSR optimizing compiler.\n// Here we just export a default compiler using the default parts.\nvar createCompiler = createCompilerCreator(function baseCompile (\n template,\n options\n) {\n var ast = parse(template.trim(), options);\n if (options.optimize !== false) {\n optimize(ast, options);\n }\n var code = generate(ast, options);\n return {\n ast: ast,\n render: code.render,\n staticRenderFns: code.staticRenderFns\n }\n});\n\n/* */\n\nvar ref$1 = createCompiler(baseOptions);\nvar compile = ref$1.compile;\nvar compileToFunctions = ref$1.compileToFunctions;\n\n/* */\n\n// check whether current browser encodes a char inside attribute values\nvar div;\nfunction getShouldDecode (href) {\n div = div || document.createElement('div');\n div.innerHTML = href ? \"<a href=\\\"\\n\\\"/>\" : \"<div a=\\\"\\n\\\"/>\";\n return div.innerHTML.indexOf('&#10;') > 0\n}\n\n// #3663: IE encodes newlines inside attribute values while other browsers don't\nvar shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false;\n// #6828: chrome encodes content in a[href]\nvar shouldDecodeNewlinesForHref = inBrowser ? getShouldDecode(true) : false;\n\n/* */\n\nvar idToTemplate = cached(function (id) {\n var el = query(id);\n return el && el.innerHTML\n});\n\nvar mount = Vue.prototype.$mount;\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && query(el);\n\n /* istanbul ignore if */\n if (el === document.body || el === document.documentElement) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Do not mount Vue to <html> or <body> - mount to normal elements instead.\"\n );\n return this\n }\n\n var options = this.$options;\n // resolve template/el and convert to render function\n if (!options.render) {\n var template = options.template;\n if (template) {\n if (typeof template === 'string') {\n if (template.charAt(0) === '#') {\n template = idToTemplate(template);\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && !template) {\n warn(\n (\"Template element not found or is empty: \" + (options.template)),\n this\n );\n }\n }\n } else if (template.nodeType) {\n template = template.innerHTML;\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn('invalid template option:' + template, this);\n }\n return this\n }\n } else if (el) {\n template = getOuterHTML(el);\n }\n if (template) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n mark('compile');\n }\n\n var ref = compileToFunctions(template, {\n outputSourceRange: process.env.NODE_ENV !== 'production',\n shouldDecodeNewlines: shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref,\n delimiters: options.delimiters,\n comments: options.comments\n }, this);\n var render = ref.render;\n var staticRenderFns = ref.staticRenderFns;\n options.render = render;\n options.staticRenderFns = staticRenderFns;\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n mark('compile end');\n measure((\"vue \" + (this._name) + \" compile\"), 'compile', 'compile end');\n }\n }\n }\n return mount.call(this, el, hydrating)\n};\n\n/**\n * Get outerHTML of elements, taking care\n * of SVG elements in IE as well.\n */\nfunction getOuterHTML (el) {\n if (el.outerHTML) {\n return el.outerHTML\n } else {\n var container = document.createElement('div');\n container.appendChild(el.cloneNode(true));\n return container.innerHTML\n }\n}\n\nVue.compile = compileToFunctions;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Vue);\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(83), __webpack_require__(28), __webpack_require__(255).setImmediate))\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX3Z1ZUAyLjYuMTBAdnVlL2Rpc3QvdnVlLmVzbS5qcz9jNWRlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtDQUFrQzs7QUFFbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsaUJBQWlCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQiwrQkFBK0I7QUFDckQsc0JBQXNCLGlCQUFpQjtBQUN2Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QXdDLEVBQUU7QUFDMUM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0Isb0JBQW9CLEVBQUU7QUFDckQ7QUFDQSxrQ0FBa0MsT0FBTztBQUN6QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwwQkFBMEIsU0FBUyxxQkFBcUI7O0FBRXhEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFD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O0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBLG9DQUFvQztBQUNwQztBQUNBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLDJCQUEyQjtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZDQUE2QyxTQUFTO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDZDQUE2QyxxQ0FBcUMsRUFBRTtBQUNwRjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsb0NBQW9DLHlDQUF5QyxFQUFFO0FBQy9FOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLGtCQUFrQjtBQUMzQztBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixzREFBc0QsRUFBRTtBQUN0RjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsbUJBQW1CO0FBQ3BDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0Isa0JBQWtCO0FBQ2xDO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQix1QkFBdUI7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNB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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG1CQUFtQixpQkFBaUI7QUFDcEM7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLE9BQU87QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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O0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLHVGQUF1RjtBQUM1RjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtB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Q0FBK0M7QUFDL0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLE9BQU87QUFDOUM7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDLFNBQVM7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsT0FBTztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwwQkFBMEI7O0FBRTFCLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLHFCQUFxQjtBQUN4QztBQUNBLDBDQUEwQztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQix5QkFBeUI7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIseUJBQXlCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDLE9BQU87QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsMEJBQTBCO0FBQ3BEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixvQkFBb0IsRUFBRTs7QUFFcEQ7QUFDQTtBQUNBLGlCQUFpQixzQkFBc0I7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGlCQUFpQixrQkFBa0I7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7QUFJQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsMkJBQTJCO0FBQzlDLHFCQUFxQiwrQkFBK0I7QUFDcEQ7QUFDQTtBQUNBLEdBQUc7QUFDSCx5QkFBeUI7QUFDekI7QUFDQSxzQkFBc0IsaUNBQWlDO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBLDhCQUE4Qjs7QUFFOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsb0JBQW9CO0FBQ3pDO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0Esb0JBQW9CO0FBQ3BCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsZUFBZTtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzRUFBc0U7QUFDdEU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBOzs7O0FBSUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBOztBQUVBO0FBQ0EsMENBQTBDLDJCQUEyQixFQUFFO0FBQ3ZFLEtBQUs7QUFDTDtBQUNBLDBDQUEwQyw0QkFBNEIsRUFBRTtBQUN4RSxLQUFLO0FBQ0wsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLGVBQWU7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsT0FBTztBQUMxQztBQUNBLGdCQUFnQixZQUFZO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsWUFBWTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsK0JBQStCLHNCQUFzQjs7QUFFckQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG9CQUFvQjs7QUFFcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGdDQUFnQzs7QUFFaEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwwQkFBMEI7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsYUFBYTtBQUNqQztBQUNBLHFCQUFxQixjQUFjO0FBQ25DO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxhQUFhLGtCQUFrQjtBQUMvQjtBQUNBLGVBQWUsb0JBQW9CO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwyREFBMkQ7QUFDM0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQix5QkFBeUI7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIscUJBQXFCO0FBQzFDO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHFCQUFxQix5QkFBeUI7QUFDOUM7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBLDRCQUE0Qiw0QkFBNEI7QUFDeEQsNEJBQTRCLGdDQUFnQztBQUM1RDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxVQUFVLG9CQUFvQjtBQUM5QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5REFBeUQsVUFBVTtBQUNuRSxpQkFBaUIsd0JBQXdCLE9BQU8sdUJBQXVCO0FBQ3ZFO0FBQ0E7QUFDQSxpQkFBaUIsMkJBQTJCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsVUFBVSxvQkFBb0I7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsT0FBTztBQUNoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsdUJBQXVCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNkNBQTZDO0FBQzdDLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTyxrREFBa0Q7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLGtEQUFrRDtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxtQ0FBbUMsZ0VBQWdFO0FBQ25HO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQztBQUNoQztBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsbUJBQW1CLHFCQUFxQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx1QkFBdUIsU0FBUztBQUNoQztBQUNBLDJDQUEyQztBQUMzQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQix1QkFBdUIsT0FBTyxnQ0FBZ0M7QUFDL0Usd0RBQXdELG9CQUFvQjtBQUM1RTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsZ0VBQWdFO0FBQzNGLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsaUNBQWlDO0FBQ3BFO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsMkRBQTJELG9CQUFvQjtBQUMvRTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wscUJBQXFCLGtCQUFrQjtBQUN2QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0RBQXNELGdDQUFnQztBQUN0RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsdUJBQXVCO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDRCQUE0Qiw2QkFBNkI7QUFDekQ7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQix3QkFBd0I7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IseUJBQXlCO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMseUJBQXlCO0FBQzFEO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHFCQUFxQiwyQkFBMkI7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHFCQUFxQiw4QkFBOEI7QUFDbkQ7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlCQUFpQjtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNEVBQTRFO0FBQzVFOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QztBQUN4Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7QUFD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QUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLE9BQU87QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLE9BQU87QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx3REFBd0QsbUJBQW1CO0FBQzNFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLGFBQWE7QUFDcEMsdUJBQXVCLGFBQWE7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUZBQWlGO0FBQ2pGLDRCQUE0QjtBQUM1QjtBQUNBLDJCQUEyQjtBQUMzQix3QkFBd0IsaUVBQWlFO0FBQ3pGLFlBQVksMEZBQTBGO0FBQ3RHLE1BQU0sS0FBSywwQ0FBMEM7QUFDckQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkMsa0JBQWtCO0FBQy9ELHNCQUFzQiwrQ0FBK0M7QUFDckUsaURBQWlEOztBQUVqRDtBQUNBLHNEQUFzRDtBQUN0RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDhDQUE4QztBQUM5Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkM7QUFDM0M7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsMkJBQTJCO0FBQ3RELGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyw2Q0FBNkMsRUFBRTtBQUN0RDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLHVDQUF1QyxTQUFTO0FBQ2hEO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQix3QkFBd0I7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esb0RBQW9ELDRCQUE0QixFQUFFO0FBQ2xGLEtBQUs7QUFDTDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esb0RBQW9ELCtCQUErQixFQUFFO0FBQ3JGLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBOEMsYUFBYTs7QUFFM0Q7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2REFBNkQ7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBLGlDQUFpQyxxQ0FBcUM7O0FBRXRFO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQyx1Q0FBdUMsRUFBRTtBQUNwRjtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkMsMkNBQTJDLEVBQUU7QUFDMUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0MsT0FBTztBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EscUNBQXFDLDhCQUE4QixFQUFFO0FBQ3JFOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0QkFBNEI7QUFDNUI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsa0NBQWtDLHVDQUF1Qzs7QUFFekUscUNBQXFDLDBCQUEwQjs7QUFFL0Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw4Q0FBOEM7QUFDOUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0RBQXdEO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDLGdCQUFnQjtBQUN4RDtBQUNBO0FBQ0Es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O0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLFNBQVM7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsdUJBQXVCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdFQUFnRTtBQUNoRTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBEQUEwRDtBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FB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O0FBQ3ZFO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDO0FBQ3JDOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVlLGtFQUFHLEVBQUMiLCJmaWxlIjoiNjIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIFZ1ZS5qcyB2Mi42LjEwXG4gKiAoYykgMjAxNC0yMDE5IEV2YW4gWW91XG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuXG4gKi9cbi8qICAqL1xuXG52YXIgZW1wdHlPYmplY3QgPSBPYmplY3QuZnJlZXplKHt9KTtcblxuLy8gVGhlc2UgaGVscGVycyBwcm9kdWNlIGJldHRlciBWTSBjb2RlIGluIEpTIGVuZ2luZXMgZHVlIHRvIHRoZWlyXG4vLyBleHBsaWNpdG5lc3MgYW5kIGZ1bmN0aW9uIGlubGluaW5nLlxuZnVuY3Rpb24gaXNVbmRlZiAodikge1xuICByZXR1cm4gdiA9PT0gdW5kZWZpbmVkIHx8IHYgPT09IG51bGxcbn1cblxuZnVuY3Rpb24gaXNEZWYgKHYpIHtcbiAgcmV0dXJuIHYgIT09IHVuZGVmaW5lZCAmJiB2ICE9PSBudWxsXG59XG5cbmZ1bmN0aW9uIGlzVHJ1ZSAodikge1xuICByZXR1cm4gdiA9PT0gdHJ1ZVxufVxuXG5mdW5jdGlvbiBpc0ZhbHNlICh2KSB7XG4gIHJldHVybiB2ID09PSBmYWxzZVxufVxuXG4vKipcbiAqIENoZWNrIGlmIHZhbHVlIGlzIHByaW1pdGl2ZS5cbiAqL1xuZnVuY3Rpb24gaXNQcmltaXRpdmUgKHZhbHVlKSB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyB8fFxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgfHxcbiAgICAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdzeW1ib2wnIHx8XG4gICAgdHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbidcbiAgKVxufVxuXG4vKipcbiAqIFF1aWNrIG9iamVjdCBjaGVjayAtIHRoaXMgaXMgcHJpbWFyaWx5IHVzZWQgdG8gdGVsbFxuICogT2JqZWN0cyBmcm9tIHByaW1pdGl2ZSB2YWx1ZXMgd2hlbiB3ZSBrbm93IHRoZSB2YWx1ZVxuICogaXMgYSBKU09OLWNvbXBsaWFudCB0eXBlLlxuICovXG5mdW5jdGlvbiBpc09iamVjdCAob2JqKSB7XG4gIHJldHVybiBvYmogIT09IG51bGwgJiYgdHlwZW9mIG9iaiA9PT0gJ29iamVjdCdcbn1cblxuLyoqXG4gKiBHZXQgdGhlIHJhdyB0eXBlIHN0cmluZyBvZiBhIHZhbHVlLCBlLmcuLCBbb2JqZWN0IE9iamVjdF0uXG4gKi9cbnZhciBfdG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO1xuXG5mdW5jdGlvbiB0b1Jhd1R5cGUgKHZhbHVlKSB7XG4gIHJldHVybiBfdG9TdHJpbmcuY2FsbCh2YWx1ZSkuc2xpY2UoOCwgLTEpXG59XG5cbi8qKlxuICogU3RyaWN0IG9iamVjdCB0eXBlIGNoZWNrLiBPbmx5IHJldHVybnMgdHJ1ZVxuICogZm9yIHBsYWluIEphdmFTY3JpcHQgb2JqZWN0cy5cbiAqL1xuZnVuY3Rpb24gaXNQbGFpbk9iamVjdCAob2JqKSB7XG4gIHJldHVybiBfdG9TdHJpbmcuY2FsbChvYmopID09PSAnW29iamVjdCBPYmplY3RdJ1xufVxuXG5mdW5jdGlvbiBpc1JlZ0V4cCAodikge1xuICByZXR1cm4gX3RvU3RyaW5nLmNhbGwodikgPT09ICdbb2JqZWN0IFJlZ0V4cF0nXG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdmFsIGlzIGEgdmFsaWQgYXJyYXkgaW5kZXguXG4gKi9cbmZ1bmN0aW9uIGlzVmFsaWRBcnJheUluZGV4ICh2YWwpIHtcbiAgdmFyIG4gPSBwYXJzZUZsb2F0KFN0cmluZyh2YWwpKTtcbiAgcmV0dXJuIG4gPj0gMCAmJiBNYXRoLmZsb29yKG4pID09PSBuICYmIGlzRmluaXRlKHZhbClcbn1cblxuZnVuY3Rpb24gaXNQcm9taXNlICh2YWwpIHtcbiAgcmV0dXJuIChcbiAgICBpc0RlZih2YWwpICYmXG4gICAgdHlwZW9mIHZhbC50aGVuID09PSAnZnVuY3Rpb24nICYmXG4gICAgdHlwZW9mIHZhbC5jYXRjaCA9PT0gJ2Z1bmN0aW9uJ1xuICApXG59XG5cbi8qKlxuICogQ29udmVydCBhIHZhbHVlIHRvIGEgc3RyaW5nIHRoYXQgaXMgYWN0dWFsbHkgcmVuZGVyZWQuXG4gKi9cbmZ1bmN0aW9uIHRvU3RyaW5nICh2YWwpIHtcbiAgcmV0dXJuIHZhbCA9PSBudWxsXG4gICAgPyAnJ1xuICAgIDogQXJyYXkuaXNBcnJheSh2YWwpIHx8IChpc1BsYWluT2JqZWN0KHZhbCkgJiYgdmFsLnRvU3RyaW5nID09PSBfdG9TdHJpbmcpXG4gICAgICA/IEpTT04uc3RyaW5naWZ5KHZhbCwgbnVsbCwgMilcbiAgICAgIDogU3RyaW5nKHZhbClcbn1cblxuLyoqXG4gKiBDb252ZXJ0IGFuIGlucHV0IHZhbHVlIHRvIGEgbnVtYmVyIGZvciBwZXJzaXN0ZW5jZS5cbiAqIElmIHRoZSBjb252ZXJzaW9uIGZhaWxzLCByZXR1cm4gb3JpZ2luYWwgc3RyaW5nLlxuICovXG5mdW5jdGlvbiB0b051bWJlciAodmFsKSB7XG4gIHZhciBuID0gcGFyc2VGbG9hdCh2YWwpO1xuICByZXR1cm4gaXNOYU4obikgPyB2YWwgOiBuXG59XG5cbi8qKlxuICogTWFrZSBhIG1hcCBhbmQgcmV0dXJuIGEgZnVuY3Rpb24gZm9yIGNoZWNraW5nIGlmIGEga2V5XG4gKiBpcyBpbiB0aGF0IG1hcC5cbiAqL1xuZnVuY3Rpb24gbWFrZU1hcCAoXG4gIHN0cixcbiAgZXhwZWN0c0xvd2VyQ2FzZVxuKSB7XG4gIHZhciBtYXAgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICB2YXIgbGlzdCA9IHN0ci5zcGxpdCgnLCcpO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICBtYXBbbGlzdFtpXV0gPSB0cnVlO1xuICB9XG4gIHJldHVybiBleHBlY3RzTG93ZXJDYXNlXG4gICAgPyBmdW5jdGlvbiAodmFsKSB7IHJldHVybiBtYXBbdmFsLnRvTG93ZXJDYXNlKCldOyB9XG4gICAgOiBmdW5jdGlvbiAodmFsKSB7IHJldHVybiBtYXBbdmFsXTsgfVxufVxuXG4vKipcbiAqIENoZWNrIGlmIGEgdGFnIGlzIGEgYnVpbHQtaW4gdGFnLlxuICovXG52YXIgaXNCdWlsdEluVGFnID0gbWFrZU1hcCgnc2xvdCxjb21wb25lbnQnLCB0cnVlKTtcblxuLyoqXG4gKiBDaGVjayBpZiBhbiBhdHRyaWJ1dGUgaXMgYSByZXNlcnZlZCBhdHRyaWJ1dGUuXG4gKi9cbnZhciBpc1Jlc2VydmVkQXR0cmlidXRlID0gbWFrZU1hcCgna2V5LHJlZixzbG90LHNsb3Qtc2NvcGUsaXMnKTtcblxuLyoqXG4gKiBSZW1vdmUgYW4gaXRlbSBmcm9tIGFuIGFycmF5LlxuICovXG5mdW5jdGlvbiByZW1vdmUgKGFyciwgaXRlbSkge1xuICBpZiAoYXJyLmxlbmd0aCkge1xuICAgIHZhciBpbmRleCA9IGFyci5pbmRleE9mKGl0ZW0pO1xuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICByZXR1cm4gYXJyLnNwbGljZShpbmRleCwgMSlcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIGFuIG9iamVjdCBoYXMgdGhlIHByb3BlcnR5LlxuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuZnVuY3Rpb24gaGFzT3duIChvYmosIGtleSkge1xuICByZXR1cm4gaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSlcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBjYWNoZWQgdmVyc2lvbiBvZiBhIHB1cmUgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIGNhY2hlZCAoZm4pIHtcbiAgdmFyIGNhY2hlID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgcmV0dXJuIChmdW5jdGlvbiBjYWNoZWRGbiAoc3RyKSB7XG4gICAgdmFyIGhpdCA9IGNhY2hlW3N0cl07XG4gICAgcmV0dXJuIGhpdCB8fCAoY2FjaGVbc3RyXSA9IGZuKHN0cikpXG4gIH0pXG59XG5cbi8qKlxuICogQ2FtZWxpemUgYSBoeXBoZW4tZGVsaW1pdGVkIHN0cmluZy5cbiAqL1xudmFyIGNhbWVsaXplUkUgPSAvLShcXHcpL2c7XG52YXIgY2FtZWxpemUgPSBjYWNoZWQoZnVuY3Rpb24gKHN0cikge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoY2FtZWxpemVSRSwgZnVuY3Rpb24gKF8sIGMpIHsgcmV0dXJuIGMgPyBjLnRvVXBwZXJDYXNlKCkgOiAnJzsgfSlcbn0pO1xuXG4vKipcbiAqIENhcGl0YWxpemUgYSBzdHJpbmcuXG4gKi9cbnZhciBjYXBpdGFsaXplID0gY2FjaGVkKGZ1bmN0aW9uIChzdHIpIHtcbiAgcmV0dXJuIHN0ci5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHN0ci5zbGljZSgxKVxufSk7XG5cbi8qKlxuICogSHlwaGVuYXRlIGEgY2FtZWxDYXNlIHN0cmluZy5cbiAqL1xudmFyIGh5cGhlbmF0ZVJFID0gL1xcQihbQS1aXSkvZztcbnZhciBoeXBoZW5hdGUgPSBjYWNoZWQoZnVuY3Rpb24gKHN0cikge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoaHlwaGVuYXRlUkUsICctJDEnKS50b0xvd2VyQ2FzZSgpXG59KTtcblxuLyoqXG4gKiBTaW1wbGUgYmluZCBwb2x5ZmlsbCBmb3IgZW52aXJvbm1lbnRzIHRoYXQgZG8gbm90IHN1cHBvcnQgaXQsXG4gKiBlLmcuLCBQaGFudG9tSlMgMS54LiBUZWNobmljYWxseSwgd2UgZG9uJ3QgbmVlZCB0aGlzIGFueW1vcmVcbiAqIHNpbmNlIG5hdGl2ZSBiaW5kIGlzIG5vdyBwZXJmb3JtYW50IGVub3VnaCBpbiBtb3N0IGJyb3dzZXJzLlxuICogQnV0IHJlbW92aW5nIGl0IHdvdWxkIG1lYW4gYnJlYWtpbmcgY29kZSB0aGF0IHdhcyBhYmxlIHRvIHJ1biBpblxuICogUGhhbnRvbUpTIDEueCwgc28gdGhpcyBtdXN0IGJlIGtlcHQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXG4gKi9cblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmZ1bmN0aW9uIHBvbHlmaWxsQmluZCAoZm4sIGN0eCkge1xuICBmdW5jdGlvbiBib3VuZEZuIChhKSB7XG4gICAgdmFyIGwgPSBhcmd1bWVudHMubGVuZ3RoO1xuICAgIHJldHVybiBsXG4gICAgICA/IGwgPiAxXG4gICAgICAgID8gZm4uYXBwbHkoY3R4LCBhcmd1bWVudHMpXG4gICAgICAgIDogZm4uY2FsbChjdHgsIGEpXG4gICAgICA6IGZuLmNhbGwoY3R4KVxuICB9XG5cbiAgYm91bmRGbi5fbGVuZ3RoID0gZm4ubGVuZ3RoO1xuICByZXR1cm4gYm91bmRGblxufVxuXG5mdW5jdGlvbiBuYXRpdmVCaW5kIChmbiwgY3R4KSB7XG4gIHJldHVybiBmbi5iaW5kKGN0eClcbn1cblxudmFyIGJpbmQgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZFxuICA/IG5hdGl2ZUJpbmRcbiAgOiBwb2x5ZmlsbEJpbmQ7XG5cbi8qKlxuICogQ29udmVydCBhbiBBcnJheS1saWtlIG9iamVjdCB0byBhIHJlYWwgQXJyYXkuXG4gKi9cbmZ1bmN0aW9uIHRvQXJyYXkgKGxpc3QsIHN0YXJ0KSB7XG4gIHN0YXJ0ID0gc3RhcnQgfHwgMDtcbiAgdmFyIGkgPSBsaXN0Lmxlbmd0aCAtIHN0YXJ0O1xuICB2YXIgcmV0ID0gbmV3IEFycmF5KGkpO1xuICB3aGlsZSAoaS0tKSB7XG4gICAgcmV0W2ldID0gbGlzdFtpICsgc3RhcnRdO1xuICB9XG4gIHJldHVybiByZXRcbn1cblxuLyoqXG4gKiBNaXggcHJvcGVydGllcyBpbnRvIHRhcmdldCBvYmplY3QuXG4gKi9cbmZ1bmN0aW9uIGV4dGVuZCAodG8sIF9mcm9tKSB7XG4gIGZvciAodmFyIGtleSBpbiBfZnJvbSkge1xuICAgIHRvW2tleV0gPSBfZnJvbVtrZXldO1xuICB9XG4gIHJldHVybiB0b1xufVxuXG4vKipcbiAqIE1lcmdlIGFuIEFycmF5IG9mIE9iamVjdHMgaW50byBhIHNpbmdsZSBPYmplY3QuXG4gKi9cbmZ1bmN0aW9uIHRvT2JqZWN0IChhcnIpIHtcbiAgdmFyIHJlcyA9IHt9O1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xuICAgIGlmIChhcnJbaV0pIHtcbiAgICAgIGV4dGVuZChyZXMsIGFycltpXSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNcbn1cblxuLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLXZhcnMgKi9cblxuLyoqXG4gKiBQZXJmb3JtIG5vIG9wZXJhdGlvbi5cbiAqIFN0dWJiaW5nIGFyZ3MgdG8gbWFrZSBGbG93IGhhcHB5IHdpdGhvdXQgbGVhdmluZyB1c2VsZXNzIHRyYW5zcGlsZWQgY29kZVxuICogd2l0aCAuLi5yZXN0IChodHRwczovL2Zsb3cub3JnL2Jsb2cvMjAxNy8wNS8wNy9TdHJpY3QtRnVuY3Rpb24tQ2FsbC1Bcml0eS8pLlxuICovXG5mdW5jdGlvbiBub29wIChhLCBiLCBjKSB7fVxuXG4vKipcbiAqIEFsd2F5cyByZXR1cm4gZmFsc2UuXG4gKi9cbnZhciBubyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7IHJldHVybiBmYWxzZTsgfTtcblxuLyogZXNsaW50LWVuYWJsZSBuby11bnVzZWQtdmFycyAqL1xuXG4vKipcbiAqIFJldHVybiB0aGUgc2FtZSB2YWx1ZS5cbiAqL1xudmFyIGlkZW50aXR5ID0gZnVuY3Rpb24gKF8pIHsgcmV0dXJuIF87IH07XG5cbi8qKlxuICogR2VuZXJhdGUgYSBzdHJpbmcgY29udGFpbmluZyBzdGF0aWMga2V5cyBmcm9tIGNvbXBpbGVyIG1vZHVsZXMuXG4gKi9cbmZ1bmN0aW9uIGdlblN0YXRpY0tleXMgKG1vZHVsZXMpIHtcbiAgcmV0dXJuIG1vZHVsZXMucmVkdWNlKGZ1bmN0aW9uIChrZXlzLCBtKSB7XG4gICAgcmV0dXJuIGtleXMuY29uY2F0KG0uc3RhdGljS2V5cyB8fCBbXSlcbiAgfSwgW10pLmpvaW4oJywnKVxufVxuXG4vKipcbiAqIENoZWNrIGlmIHR3byB2YWx1ZXMgYXJlIGxvb3NlbHkgZXF1YWwgLSB0aGF0IGlzLFxuICogaWYgdGhleSBhcmUgcGxhaW4gb2JqZWN0cywgZG8gdGhleSBoYXZlIHRoZSBzYW1lIHNoYXBlP1xuICovXG5mdW5jdGlvbiBsb29zZUVxdWFsIChhLCBiKSB7XG4gIGlmIChhID09PSBiKSB7IHJldHVybiB0cnVlIH1cbiAgdmFyIGlzT2JqZWN0QSA9IGlzT2JqZWN0KGEpO1xuICB2YXIgaXNPYmplY3RCID0gaXNPYmplY3QoYik7XG4gIGlmIChpc09iamVjdEEgJiYgaXNPYmplY3RCKSB7XG4gICAgdHJ5IHtcbiAgICAgIHZhciBpc0FycmF5QSA9IEFycmF5LmlzQXJyYXkoYSk7XG4gICAgICB2YXIgaXNBcnJheUIgPSBBcnJheS5pc0FycmF5KGIpO1xuICAgICAgaWYgKGlzQXJyYXlBICYmIGlzQXJyYXlCKSB7XG4gICAgICAgIHJldHVybiBhLmxlbmd0aCA9PT0gYi5sZW5ndGggJiYgYS5ldmVyeShmdW5jdGlvbiAoZSwgaSkge1xuICAgICAgICAgIHJldHVybiBsb29zZUVxdWFsKGUsIGJbaV0pXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2UgaWYgKGEgaW5zdGFuY2VvZiBEYXRlICYmIGIgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgIHJldHVybiBhLmdldFRpbWUoKSA9PT0gYi5nZXRUaW1lKClcbiAgICAgIH0gZWxzZSBpZiAoIWlzQXJyYXlBICYmICFpc0FycmF5Qikge1xuICAgICAgICB2YXIga2V5c0EgPSBPYmplY3Qua2V5cyhhKTtcbiAgICAgICAgdmFyIGtleXNCID0gT2JqZWN0LmtleXMoYik7XG4gICAgICAgIHJldHVybiBrZXlzQS5sZW5ndGggPT09IGtleXNCLmxlbmd0aCAmJiBrZXlzQS5ldmVyeShmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgcmV0dXJuIGxvb3NlRXF1YWwoYVtrZXldLCBiW2tleV0pXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICB9IGVsc2UgaWYgKCFpc09iamVjdEEgJiYgIWlzT2JqZWN0Qikge1xuICAgIHJldHVybiBTdHJpbmcoYSkgPT09IFN0cmluZyhiKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG5cbi8qKlxuICogUmV0dXJuIHRoZSBmaXJzdCBpbmRleCBhdCB3aGljaCBhIGxvb3NlbHkgZXF1YWwgdmFsdWUgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgYXJyYXkgKGlmIHZhbHVlIGlzIGEgcGxhaW4gb2JqZWN0LCB0aGUgYXJyYXkgbXVzdFxuICogY29udGFpbiBhbiBvYmplY3Qgb2YgdGhlIHNhbWUgc2hhcGUpLCBvciAtMSBpZiBpdCBpcyBub3QgcHJlc2VudC5cbiAqL1xuZnVuY3Rpb24gbG9vc2VJbmRleE9mIChhcnIsIHZhbCkge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xuICAgIGlmIChsb29zZUVxdWFsKGFycltpXSwgdmFsKSkgeyByZXR1cm4gaSB9XG4gIH1cbiAgcmV0dXJuIC0xXG59XG5cbi8qKlxuICogRW5zdXJlIGEgZnVuY3Rpb24gaXMgY2FsbGVkIG9ubHkgb25jZS5cbiAqL1xuZnVuY3Rpb24gb25jZSAoZm4pIHtcbiAgdmFyIGNhbGxlZCA9IGZhbHNlO1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIGlmICghY2FsbGVkKSB7XG4gICAgICBjYWxsZWQgPSB0cnVlO1xuICAgICAgZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIFNTUl9BVFRSID0gJ2RhdGEtc2VydmVyLXJlbmRlcmVkJztcblxudmFyIEFTU0VUX1RZUEVTID0gW1xuICAnY29tcG9uZW50JyxcbiAgJ2RpcmVjdGl2ZScsXG4gICdmaWx0ZXInXG5dO1xuXG52YXIgTElGRUNZQ0xFX0hPT0tTID0gW1xuICAnYmVmb3JlQ3JlYXRlJyxcbiAgJ2NyZWF0ZWQnLFxuICAnYmVmb3JlTW91bnQnLFxuICAnbW91bnRlZCcsXG4gICdiZWZvcmVVcGRhdGUnLFxuICAndXBkYXRlZCcsXG4gICdiZWZvcmVEZXN0cm95JyxcbiAgJ2Rlc3Ryb3llZCcsXG4gICdhY3RpdmF0ZWQnLFxuICAnZGVhY3RpdmF0ZWQnLFxuICAnZXJyb3JDYXB0dXJlZCcsXG4gICdzZXJ2ZXJQcmVmZXRjaCdcbl07XG5cbi8qICAqL1xuXG5cblxudmFyIGNvbmZpZyA9ICh7XG4gIC8qKlxuICAgKiBPcHRpb24gbWVyZ2Ugc3RyYXRlZ2llcyAodXNlZCBpbiBjb3JlL3V0aWwvb3B0aW9ucylcbiAgICovXG4gIC8vICRmbG93LWRpc2FibGUtbGluZVxuICBvcHRpb25NZXJnZVN0cmF0ZWdpZXM6IE9iamVjdC5jcmVhdGUobnVsbCksXG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc3VwcHJlc3Mgd2FybmluZ3MuXG4gICAqL1xuICBzaWxlbnQ6IGZhbHNlLFxuXG4gIC8qKlxuICAgKiBTaG93IHByb2R1Y3Rpb24gbW9kZSB0aXAgbWVzc2FnZSBvbiBib290P1xuICAgKi9cbiAgcHJvZHVjdGlvblRpcDogcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyxcblxuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgZGV2dG9vbHNcbiAgICovXG4gIGRldnRvb2xzOiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nLFxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlY29yZCBwZXJmXG4gICAqL1xuICBwZXJmb3JtYW5jZTogZmFsc2UsXG5cbiAgLyoqXG4gICAqIEVycm9yIGhhbmRsZXIgZm9yIHdhdGNoZXIgZXJyb3JzXG4gICAqL1xuICBlcnJvckhhbmRsZXI6IG51bGwsXG5cbiAgLyoqXG4gICAqIFdhcm4gaGFuZGxlciBmb3Igd2F0Y2hlciB3YXJuc1xuICAgKi9cbiAgd2FybkhhbmRsZXI6IG51bGwsXG5cbiAgLyoqXG4gICAqIElnbm9yZSBjZXJ0YWluIGN1c3RvbSBlbGVtZW50c1xuICAgKi9cbiAgaWdub3JlZEVsZW1lbnRzOiBbXSxcblxuICAvKipcbiAgICogQ3VzdG9tIHVzZXIga2V5IGFsaWFzZXMgZm9yIHYtb25cbiAgICovXG4gIC8vICRmbG93LWRpc2FibGUtbGluZVxuICBrZXlDb2RlczogT2JqZWN0LmNyZWF0ZShudWxsKSxcblxuICAvKipcbiAgICogQ2hlY2sgaWYgYSB0YWcgaXMgcmVzZXJ2ZWQgc28gdGhhdCBpdCBjYW5ub3QgYmUgcmVnaXN0ZXJlZCBhcyBhXG4gICAqIGNvbXBvbmVudC4gVGhpcyBpcyBwbGF0Zm9ybS1kZXBlbmRlbnQgYW5kIG1heSBiZSBvdmVyd3JpdHRlbi5cbiAgICovXG4gIGlzUmVzZXJ2ZWRUYWc6IG5vLFxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhbiBhdHRyaWJ1dGUgaXMgcmVzZXJ2ZWQgc28gdGhhdCBpdCBjYW5ub3QgYmUgdXNlZCBhcyBhIGNvbXBvbmVudFxuICAgKiBwcm9wLiBUaGlzIGlzIHBsYXRmb3JtLWRlcGVuZGVudCBhbmQgbWF5IGJlIG92ZXJ3cml0dGVuLlxuICAgKi9cbiAgaXNSZXNlcnZlZEF0dHI6IG5vLFxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhIHRhZyBpcyBhbiB1bmtub3duIGVsZW1lbnQuXG4gICAqIFBsYXRmb3JtLWRlcGVuZGVudC5cbiAgICovXG4gIGlzVW5rbm93bkVsZW1lbnQ6IG5vLFxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG5hbWVzcGFjZSBvZiBhbiBlbGVtZW50XG4gICAqL1xuICBnZXRUYWdOYW1lc3BhY2U6IG5vb3AsXG5cbiAgLyoqXG4gICAqIFBhcnNlIHRoZSByZWFsIHRhZyBuYW1lIGZvciB0aGUgc3BlY2lmaWMgcGxhdGZvcm0uXG4gICAqL1xuICBwYXJzZVBsYXRmb3JtVGFnTmFtZTogaWRlbnRpdHksXG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGFuIGF0dHJpYnV0ZSBtdXN0IGJlIGJvdW5kIHVzaW5nIHByb3BlcnR5LCBlLmcuIHZhbHVlXG4gICAqIFBsYXRmb3JtLWRlcGVuZGVudC5cbiAgICovXG4gIG11c3RVc2VQcm9wOiBubyxcblxuICAvKipcbiAgICogUGVyZm9ybSB1cGRhdGVzIGFzeW5jaHJvbm91c2x5LiBJbnRlbmRlZCB0byBiZSB1c2VkIGJ5IFZ1ZSBUZXN0IFV0aWxzXG4gICAqIFRoaXMgd2lsbCBzaWduaWZpY2FudGx5IHJlZHVjZSBwZXJmb3JtYW5jZSBpZiBzZXQgdG8gZmFsc2UuXG4gICAqL1xuICBhc3luYzogdHJ1ZSxcblxuICAvKipcbiAgICogRXhwb3NlZCBmb3IgbGVnYWN5IHJlYXNvbnNcbiAgICovXG4gIF9saWZlY3ljbGVIb29rczogTElGRUNZQ0xFX0hPT0tTXG59KTtcblxuLyogICovXG5cbi8qKlxuICogdW5pY29kZSBsZXR0ZXJzIHVzZWQgZm9yIHBhcnNpbmcgaHRtbCB0YWdzLCBjb21wb25lbnQgbmFtZXMgYW5kIHByb3BlcnR5IHBhdGhzLlxuICogdXNpbmcgaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1My9zZW1hbnRpY3Mtc2NyaXB0aW5nLmh0bWwjcG90ZW50aWFsY3VzdG9tZWxlbWVudG5hbWVcbiAqIHNraXBwaW5nIFxcdTEwMDAwLVxcdUVGRkZGIGR1ZSB0byBpdCBmcmVlemluZyB1cCBQaGFudG9tSlNcbiAqL1xudmFyIHVuaWNvZGVSZWdFeHAgPSAvYS16QS1aXFx1MDBCN1xcdTAwQzAtXFx1MDBENlxcdTAwRDgtXFx1MDBGNlxcdTAwRjgtXFx1MDM3RFxcdTAzN0YtXFx1MUZGRlxcdTIwMEMtXFx1MjAwRFxcdTIwM0YtXFx1MjA0MFxcdTIwNzAtXFx1MjE4RlxcdTJDMDAtXFx1MkZFRlxcdTMwMDEtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZGRC87XG5cbi8qKlxuICogQ2hlY2sgaWYgYSBzdHJpbmcgc3RhcnRzIHdpdGggJCBvciBfXG4gKi9cbmZ1bmN0aW9uIGlzUmVzZXJ2ZWQgKHN0cikge1xuICB2YXIgYyA9IChzdHIgKyAnJykuY2hhckNvZGVBdCgwKTtcbiAgcmV0dXJuIGMgPT09IDB4MjQgfHwgYyA9PT0gMHg1RlxufVxuXG4vKipcbiAqIERlZmluZSBhIHByb3BlcnR5LlxuICovXG5mdW5jdGlvbiBkZWYgKG9iaiwga2V5LCB2YWwsIGVudW1lcmFibGUpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7XG4gICAgdmFsdWU6IHZhbCxcbiAgICBlbnVtZXJhYmxlOiAhIWVudW1lcmFibGUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXG4gIH0pO1xufVxuXG4vKipcbiAqIFBhcnNlIHNpbXBsZSBwYXRoLlxuICovXG52YXIgYmFpbFJFID0gbmV3IFJlZ0V4cCgoXCJbXlwiICsgKHVuaWNvZGVSZWdFeHAuc291cmNlKSArIFwiLiRfXFxcXGRdXCIpKTtcbmZ1bmN0aW9uIHBhcnNlUGF0aCAocGF0aCkge1xuICBpZiAoYmFpbFJFLnRlc3QocGF0aCkpIHtcbiAgICByZXR1cm5cbiAgfVxuICB2YXIgc2VnbWVudHMgPSBwYXRoLnNwbGl0KCcuJyk7XG4gIHJldHVybiBmdW5jdGlvbiAob2JqKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWdtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKCFvYmopIHsgcmV0dXJuIH1cbiAgICAgIG9iaiA9IG9ialtzZWdtZW50c1tpXV07XG4gICAgfVxuICAgIHJldHVybiBvYmpcbiAgfVxufVxuXG4vKiAgKi9cblxuLy8gY2FuIHdlIHVzZSBfX3Byb3RvX18/XG52YXIgaGFzUHJvdG8gPSAnX19wcm90b19fJyBpbiB7fTtcblxuLy8gQnJvd3NlciBlbnZpcm9ubWVudCBzbmlmZmluZ1xudmFyIGluQnJvd3NlciA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnO1xudmFyIGluV2VleCA9IHR5cGVvZiBXWEVudmlyb25tZW50ICE9PSAndW5kZWZpbmVkJyAmJiAhIVdYRW52aXJvbm1lbnQucGxhdGZvcm07XG52YXIgd2VleFBsYXRmb3JtID0gaW5XZWV4ICYmIFdYRW52aXJvbm1lbnQucGxhdGZvcm0udG9Mb3dlckNhc2UoKTtcbnZhciBVQSA9IGluQnJvd3NlciAmJiB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpO1xudmFyIGlzSUUgPSBVQSAmJiAvbXNpZXx0cmlkZW50Ly50ZXN0KFVBKTtcbnZhciBpc0lFOSA9IFVBICYmIFVBLmluZGV4T2YoJ21zaWUgOS4wJykgPiAwO1xudmFyIGlzRWRnZSA9IFVBICYmIFVBLmluZGV4T2YoJ2VkZ2UvJykgPiAwO1xudmFyIGlzQW5kcm9pZCA9IChVQSAmJiBVQS5pbmRleE9mKCdhbmRyb2lkJykgPiAwKSB8fCAod2VleFBsYXRmb3JtID09PSAnYW5kcm9pZCcpO1xudmFyIGlzSU9TID0gKFVBICYmIC9pcGhvbmV8aXBhZHxpcG9kfGlvcy8udGVzdChVQSkpIHx8ICh3ZWV4UGxhdGZvcm0gPT09ICdpb3MnKTtcbnZhciBpc0Nocm9tZSA9IFVBICYmIC9jaHJvbWVcXC9cXGQrLy50ZXN0KFVBKSAmJiAhaXNFZGdlO1xudmFyIGlzUGhhbnRvbUpTID0gVUEgJiYgL3BoYW50b21qcy8udGVzdChVQSk7XG52YXIgaXNGRiA9IFVBICYmIFVBLm1hdGNoKC9maXJlZm94XFwvKFxcZCspLyk7XG5cbi8vIEZpcmVmb3ggaGFzIGEgXCJ3YXRjaFwiIGZ1bmN0aW9uIG9uIE9iamVjdC5wcm90b3R5cGUuLi5cbnZhciBuYXRpdmVXYXRjaCA9ICh7fSkud2F0Y2g7XG5cbnZhciBzdXBwb3J0c1Bhc3NpdmUgPSBmYWxzZTtcbmlmIChpbkJyb3dzZXIpIHtcbiAgdHJ5IHtcbiAgICB2YXIgb3B0cyA9IHt9O1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvcHRzLCAncGFzc2l2ZScsICh7XG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCAoKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIHN1cHBvcnRzUGFzc2l2ZSA9IHRydWU7XG4gICAgICB9XG4gICAgfSkpOyAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svZmxvdy9pc3N1ZXMvMjg1XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QtcGFzc2l2ZScsIG51bGwsIG9wdHMpO1xuICB9IGNhdGNoIChlKSB7fVxufVxuXG4vLyB0aGlzIG5lZWRzIHRvIGJlIGxhenktZXZhbGVkIGJlY2F1c2UgdnVlIG1heSBiZSByZXF1aXJlZCBiZWZvcmVcbi8vIHZ1ZS1zZXJ2ZXItcmVuZGVyZXIgY2FuIHNldCBWVUVfRU5WXG52YXIgX2lzU2VydmVyO1xudmFyIGlzU2VydmVyUmVuZGVyaW5nID0gZnVuY3Rpb24gKCkge1xuICBpZiAoX2lzU2VydmVyID09PSB1bmRlZmluZWQpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIWluQnJvd3NlciAmJiAhaW5XZWV4ICYmIHR5cGVvZiBnbG9iYWwgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAvLyBkZXRlY3QgcHJlc2VuY2Ugb2YgdnVlLXNlcnZlci1yZW5kZXJlciBhbmQgYXZvaWRcbiAgICAgIC8vIFdlYnBhY2sgc2hpbW1pbmcgdGhlIHByb2Nlc3NcbiAgICAgIF9pc1NlcnZlciA9IGdsb2JhbFsncHJvY2VzcyddICYmIGdsb2JhbFsncHJvY2VzcyddLmVudi5WVUVfRU5WID09PSAnc2VydmVyJztcbiAgICB9IGVsc2Uge1xuICAgICAgX2lzU2VydmVyID0gZmFsc2U7XG4gICAgfVxuICB9XG4gIHJldHVybiBfaXNTZXJ2ZXJcbn07XG5cbi8vIGRldGVjdCBkZXZ0b29sc1xudmFyIGRldnRvb2xzID0gaW5Ccm93c2VyICYmIHdpbmRvdy5fX1ZVRV9ERVZUT09MU19HTE9CQUxfSE9PS19fO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZnVuY3Rpb24gaXNOYXRpdmUgKEN0b3IpIHtcbiAgcmV0dXJuIHR5cGVvZiBDdG9yID09PSAnZnVuY3Rpb24nICYmIC9uYXRpdmUgY29kZS8udGVzdChDdG9yLnRvU3RyaW5nKCkpXG59XG5cbnZhciBoYXNTeW1ib2wgPVxuICB0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBpc05hdGl2ZShTeW1ib2wpICYmXG4gIHR5cGVvZiBSZWZsZWN0ICE9PSAndW5kZWZpbmVkJyAmJiBpc05hdGl2ZShSZWZsZWN0Lm93bktleXMpO1xuXG52YXIgX1NldDtcbi8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqLyAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbmlmICh0eXBlb2YgU2V0ICE9PSAndW5kZWZpbmVkJyAmJiBpc05hdGl2ZShTZXQpKSB7XG4gIC8vIHVzZSBuYXRpdmUgU2V0IHdoZW4gYXZhaWxhYmxlLlxuICBfU2V0ID0gU2V0O1xufSBlbHNlIHtcbiAgLy8gYSBub24tc3RhbmRhcmQgU2V0IHBvbHlmaWxsIHRoYXQgb25seSB3b3JrcyB3aXRoIHByaW1pdGl2ZSBrZXlzLlxuICBfU2V0ID0gLypAX19QVVJFX18qLyhmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gU2V0ICgpIHtcbiAgICAgIHRoaXMuc2V0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICB9XG4gICAgU2V0LnByb3RvdHlwZS5oYXMgPSBmdW5jdGlvbiBoYXMgKGtleSkge1xuICAgICAgcmV0dXJuIHRoaXMuc2V0W2tleV0gPT09IHRydWVcbiAgICB9O1xuICAgIFNldC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkIChrZXkpIHtcbiAgICAgIHRoaXMuc2V0W2tleV0gPSB0cnVlO1xuICAgIH07XG4gICAgU2V0LnByb3RvdHlwZS5jbGVhciA9IGZ1bmN0aW9uIGNsZWFyICgpIHtcbiAgICAgIHRoaXMuc2V0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIFNldDtcbiAgfSgpKTtcbn1cblxuLyogICovXG5cbnZhciB3YXJuID0gbm9vcDtcbnZhciB0aXAgPSBub29wO1xudmFyIGdlbmVyYXRlQ29tcG9uZW50VHJhY2UgPSAobm9vcCk7IC8vIHdvcmsgYXJvdW5kIGZsb3cgY2hlY2tcbnZhciBmb3JtYXRDb21wb25lbnROYW1lID0gKG5vb3ApO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICB2YXIgaGFzQ29uc29sZSA9IHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJztcbiAgdmFyIGNsYXNzaWZ5UkUgPSAvKD86XnxbLV9dKShcXHcpL2c7XG4gIHZhciBjbGFzc2lmeSA9IGZ1bmN0aW9uIChzdHIpIHsgcmV0dXJuIHN0clxuICAgIC5yZXBsYWNlKGNsYXNzaWZ5UkUsIGZ1bmN0aW9uIChjKSB7IHJldHVybiBjLnRvVXBwZXJDYXNlKCk7IH0pXG4gICAgLnJlcGxhY2UoL1stX10vZywgJycpOyB9O1xuXG4gIHdhcm4gPSBmdW5jdGlvbiAobXNnLCB2bSkge1xuICAgIHZhciB0cmFjZSA9IHZtID8gZ2VuZXJhdGVDb21wb25lbnRUcmFjZSh2bSkgOiAnJztcblxuICAgIGlmIChjb25maWcud2FybkhhbmRsZXIpIHtcbiAgICAgIGNvbmZpZy53YXJuSGFuZGxlci5jYWxsKG51bGwsIG1zZywgdm0sIHRyYWNlKTtcbiAgICB9IGVsc2UgaWYgKGhhc0NvbnNvbGUgJiYgKCFjb25maWcuc2lsZW50KSkge1xuICAgICAgY29uc29sZS5lcnJvcigoXCJbVnVlIHdhcm5dOiBcIiArIG1zZyArIHRyYWNlKSk7XG4gICAgfVxuICB9O1xuXG4gIHRpcCA9IGZ1bmN0aW9uIChtc2csIHZtKSB7XG4gICAgaWYgKGhhc0NvbnNvbGUgJiYgKCFjb25maWcuc2lsZW50KSkge1xuICAgICAgY29uc29sZS53YXJuKFwiW1Z1ZSB0aXBdOiBcIiArIG1zZyArIChcbiAgICAgICAgdm0gPyBnZW5lcmF0ZUNvbXBvbmVudFRyYWNlKHZtKSA6ICcnXG4gICAgICApKTtcbiAgICB9XG4gIH07XG5cbiAgZm9ybWF0Q29tcG9uZW50TmFtZSA9IGZ1bmN0aW9uICh2bSwgaW5jbHVkZUZpbGUpIHtcbiAgICBpZiAodm0uJHJvb3QgPT09IHZtKSB7XG4gICAgICByZXR1cm4gJzxSb290PidcbiAgICB9XG4gICAgdmFyIG9wdGlvbnMgPSB0eXBlb2Ygdm0gPT09ICdmdW5jdGlvbicgJiYgdm0uY2lkICE9IG51bGxcbiAgICAgID8gdm0ub3B0aW9uc1xuICAgICAgOiB2bS5faXNWdWVcbiAgICAgICAgPyB2bS4kb3B0aW9ucyB8fCB2bS5jb25zdHJ1Y3Rvci5vcHRpb25zXG4gICAgICAgIDogdm07XG4gICAgdmFyIG5hbWUgPSBvcHRpb25zLm5hbWUgfHwgb3B0aW9ucy5fY29tcG9uZW50VGFnO1xuICAgIHZhciBmaWxlID0gb3B0aW9ucy5fX2ZpbGU7XG4gICAgaWYgKCFuYW1lICYmIGZpbGUpIHtcbiAgICAgIHZhciBtYXRjaCA9IGZpbGUubWF0Y2goLyhbXi9cXFxcXSspXFwudnVlJC8pO1xuICAgICAgbmFtZSA9IG1hdGNoICYmIG1hdGNoWzFdO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICAobmFtZSA/IChcIjxcIiArIChjbGFzc2lmeShuYW1lKSkgKyBcIj5cIikgOiBcIjxBbm9ueW1vdXM+XCIpICtcbiAgICAgIChmaWxlICYmIGluY2x1ZGVGaWxlICE9PSBmYWxzZSA/IChcIiBhdCBcIiArIGZpbGUpIDogJycpXG4gICAgKVxuICB9O1xuXG4gIHZhciByZXBlYXQgPSBmdW5jdGlvbiAoc3RyLCBuKSB7XG4gICAgdmFyIHJlcyA9ICcnO1xuICAgIHdoaWxlIChuKSB7XG4gICAgICBpZiAobiAlIDIgPT09IDEpIHsgcmVzICs9IHN0cjsgfVxuICAgICAgaWYgKG4gPiAxKSB7IHN0ciArPSBzdHI7IH1cbiAgICAgIG4gPj49IDE7XG4gICAgfVxuICAgIHJldHVybiByZXNcbiAgfTtcblxuICBnZW5lcmF0ZUNvbXBvbmVudFRyYWNlID0gZnVuY3Rpb24gKHZtKSB7XG4gICAgaWYgKHZtLl9pc1Z1ZSAmJiB2bS4kcGFyZW50KSB7XG4gICAgICB2YXIgdHJlZSA9IFtdO1xuICAgICAgdmFyIGN1cnJlbnRSZWN1cnNpdmVTZXF1ZW5jZSA9IDA7XG4gICAgICB3aGlsZSAodm0pIHtcbiAgICAgICAgaWYgKHRyZWUubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHZhciBsYXN0ID0gdHJlZVt0cmVlLmxlbmd0aCAtIDFdO1xuICAgICAgICAgIGlmIChsYXN0LmNvbnN0cnVjdG9yID09PSB2bS5jb25zdHJ1Y3Rvcikge1xuICAgICAgICAgICAgY3VycmVudFJlY3Vyc2l2ZVNlcXVlbmNlKys7XG4gICAgICAgICAgICB2bSA9IHZtLiRwYXJlbnQ7XG4gICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudFJlY3Vyc2l2ZVNlcXVlbmNlID4gMCkge1xuICAgICAgICAgICAgdHJlZVt0cmVlLmxlbmd0aCAtIDFdID0gW2xhc3QsIGN1cnJlbnRSZWN1cnNpdmVTZXF1ZW5jZV07XG4gICAgICAgICAgICBjdXJyZW50UmVjdXJzaXZlU2VxdWVuY2UgPSAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0cmVlLnB1c2godm0pO1xuICAgICAgICB2bSA9IHZtLiRwYXJlbnQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gJ1xcblxcbmZvdW5kIGluXFxuXFxuJyArIHRyZWVcbiAgICAgICAgLm1hcChmdW5jdGlvbiAodm0sIGkpIHsgcmV0dXJuIChcIlwiICsgKGkgPT09IDAgPyAnLS0tPiAnIDogcmVwZWF0KCcgJywgNSArIGkgKiAyKSkgKyAoQXJyYXkuaXNBcnJheSh2bSlcbiAgICAgICAgICAgID8gKChmb3JtYXRDb21wb25lbnROYW1lKHZtWzBdKSkgKyBcIi4uLiAoXCIgKyAodm1bMV0pICsgXCIgcmVjdXJzaXZlIGNhbGxzKVwiKVxuICAgICAgICAgICAgOiBmb3JtYXRDb21wb25lbnROYW1lKHZtKSkpOyB9KVxuICAgICAgICAuam9pbignXFxuJylcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIChcIlxcblxcbihmb3VuZCBpbiBcIiArIChmb3JtYXRDb21wb25lbnROYW1lKHZtKSkgKyBcIilcIilcbiAgICB9XG4gIH07XG59XG5cbi8qICAqL1xuXG52YXIgdWlkID0gMDtcblxuLyoqXG4gKiBBIGRlcCBpcyBhbiBvYnNlcnZhYmxlIHRoYXQgY2FuIGhhdmUgbXVsdGlwbGVcbiAqIGRpcmVjdGl2ZXMgc3Vic2NyaWJpbmcgdG8gaXQuXG4gKi9cbnZhciBEZXAgPSBmdW5jdGlvbiBEZXAgKCkge1xuICB0aGlzLmlkID0gdWlkKys7XG4gIHRoaXMuc3VicyA9IFtdO1xufTtcblxuRGVwLnByb3RvdHlwZS5hZGRTdWIgPSBmdW5jdGlvbiBhZGRTdWIgKHN1Yikge1xuICB0aGlzLnN1YnMucHVzaChzdWIpO1xufTtcblxuRGVwLnByb3RvdHlwZS5yZW1vdmVTdWIgPSBmdW5jdGlvbiByZW1vdmVTdWIgKHN1Yikge1xuICByZW1vdmUodGhpcy5zdWJzLCBzdWIpO1xufTtcblxuRGVwLnByb3RvdHlwZS5kZXBlbmQgPSBmdW5jdGlvbiBkZXBlbmQgKCkge1xuICBpZiAoRGVwLnRhcmdldCkge1xuICAgIERlcC50YXJnZXQuYWRkRGVwKHRoaXMpO1xuICB9XG59O1xuXG5EZXAucHJvdG90eXBlLm5vdGlmeSA9IGZ1bmN0aW9uIG5vdGlmeSAoKSB7XG4gIC8vIHN0YWJpbGl6ZSB0aGUgc3Vic2NyaWJlciBsaXN0IGZpcnN0XG4gIHZhciBzdWJzID0gdGhpcy5zdWJzLnNsaWNlKCk7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmICFjb25maWcuYXN5bmMpIHtcbiAgICAvLyBzdWJzIGFyZW4ndCBzb3J0ZWQgaW4gc2NoZWR1bGVyIGlmIG5vdCBydW5uaW5nIGFzeW5jXG4gICAgLy8gd2UgbmVlZCB0byBzb3J0IHRoZW0gbm93IHRvIG1ha2Ugc3VyZSB0aGV5IGZpcmUgaW4gY29ycmVjdFxuICAgIC8vIG9yZGVyXG4gICAgc3Vicy5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7IHJldHVybiBhLmlkIC0gYi5pZDsgfSk7XG4gIH1cbiAgZm9yICh2YXIgaSA9IDAsIGwgPSBzdWJzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIHN1YnNbaV0udXBkYXRlKCk7XG4gIH1cbn07XG5cbi8vIFRoZSBjdXJyZW50IHRhcmdldCB3YXRjaGVyIGJlaW5nIGV2YWx1YXRlZC5cbi8vIFRoaXMgaXMgZ2xvYmFsbHkgdW5pcXVlIGJlY2F1c2Ugb25seSBvbmUgd2F0Y2hlclxuLy8gY2FuIGJlIGV2YWx1YXRlZCBhdCBhIHRpbWUuXG5EZXAudGFyZ2V0ID0gbnVsbDtcbnZhciB0YXJnZXRTdGFjayA9IFtdO1xuXG5mdW5jdGlvbiBwdXNoVGFyZ2V0ICh0YXJnZXQpIHtcbiAgdGFyZ2V0U3RhY2sucHVzaCh0YXJnZXQpO1xuICBEZXAudGFyZ2V0ID0gdGFyZ2V0O1xufVxuXG5mdW5jdGlvbiBwb3BUYXJnZXQgKCkge1xuICB0YXJnZXRTdGFjay5wb3AoKTtcbiAgRGVwLnRhcmdldCA9IHRhcmdldFN0YWNrW3RhcmdldFN0YWNrLmxlbmd0aCAtIDFdO1xufVxuXG4vKiAgKi9cblxudmFyIFZOb2RlID0gZnVuY3Rpb24gVk5vZGUgKFxuICB0YWcsXG4gIGRhdGEsXG4gIGNoaWxkcmVuLFxuICB0ZXh0LFxuICBlbG0sXG4gIGNvbnRleHQsXG4gIGNvbXBvbmVudE9wdGlvbnMsXG4gIGFzeW5jRmFjdG9yeVxuKSB7XG4gIHRoaXMudGFnID0gdGFnO1xuICB0aGlzLmRhdGEgPSBkYXRhO1xuICB0aGlzLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gIHRoaXMudGV4dCA9IHRleHQ7XG4gIHRoaXMuZWxtID0gZWxtO1xuICB0aGlzLm5zID0gdW5kZWZpbmVkO1xuICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICB0aGlzLmZuQ29udGV4dCA9IHVuZGVmaW5lZDtcbiAgdGhpcy5mbk9wdGlvbnMgPSB1bmRlZmluZWQ7XG4gIHRoaXMuZm5TY29wZUlkID0gdW5kZWZpbmVkO1xuICB0aGlzLmtleSA9IGRhdGEgJiYgZGF0YS5rZXk7XG4gIHRoaXMuY29tcG9uZW50T3B0aW9ucyA9IGNvbXBvbmVudE9wdGlvbnM7XG4gIHRoaXMuY29tcG9uZW50SW5zdGFuY2UgPSB1bmRlZmluZWQ7XG4gIHRoaXMucGFyZW50ID0gdW5kZWZpbmVkO1xuICB0aGlzLnJhdyA9IGZhbHNlO1xuICB0aGlzLmlzU3RhdGljID0gZmFsc2U7XG4gIHRoaXMuaXNSb290SW5zZXJ0ID0gdHJ1ZTtcbiAgdGhpcy5pc0NvbW1lbnQgPSBmYWxzZTtcbiAgdGhpcy5pc0Nsb25lZCA9IGZhbHNlO1xuICB0aGlzLmlzT25jZSA9IGZhbHNlO1xuICB0aGlzLmFzeW5jRmFjdG9yeSA9IGFzeW5jRmFjdG9yeTtcbiAgdGhpcy5hc3luY01ldGEgPSB1bmRlZmluZWQ7XG4gIHRoaXMuaXNBc3luY1BsYWNlaG9sZGVyID0gZmFsc2U7XG59O1xuXG52YXIgcHJvdG90eXBlQWNjZXNzb3JzID0geyBjaGlsZDogeyBjb25maWd1cmFibGU6IHRydWUgfSB9O1xuXG4vLyBERVBSRUNBVEVEOiBhbGlhcyBmb3IgY29tcG9uZW50SW5zdGFuY2UgZm9yIGJhY2t3YXJkcyBjb21wYXQuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xucHJvdG90eXBlQWNjZXNzb3JzLmNoaWxkLmdldCA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHRoaXMuY29tcG9uZW50SW5zdGFuY2Vcbn07XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKCBWTm9kZS5wcm90b3R5cGUsIHByb3RvdHlwZUFjY2Vzc29ycyApO1xuXG52YXIgY3JlYXRlRW1wdHlWTm9kZSA9IGZ1bmN0aW9uICh0ZXh0KSB7XG4gIGlmICggdGV4dCA9PT0gdm9pZCAwICkgdGV4dCA9ICcnO1xuXG4gIHZhciBub2RlID0gbmV3IFZOb2RlKCk7XG4gIG5vZGUudGV4dCA9IHRleHQ7XG4gIG5vZGUuaXNDb21tZW50ID0gdHJ1ZTtcbiAgcmV0dXJuIG5vZGVcbn07XG5cbmZ1bmN0aW9uIGNyZWF0ZVRleHRWTm9kZSAodmFsKSB7XG4gIHJldHVybiBuZXcgVk5vZGUodW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgU3RyaW5nKHZhbCkpXG59XG5cbi8vIG9wdGltaXplZCBzaGFsbG93IGNsb25lXG4vLyB1c2VkIGZvciBzdGF0aWMgbm9kZXMgYW5kIHNsb3Qgbm9kZXMgYmVjYXVzZSB0aGV5IG1heSBiZSByZXVzZWQgYWNyb3NzXG4vLyBtdWx0aXBsZSByZW5kZXJzLCBjbG9uaW5nIHRoZW0gYXZvaWRzIGVycm9ycyB3aGVuIERPTSBtYW5pcHVsYXRpb25zIHJlbHlcbi8vIG9uIHRoZWlyIGVsbSByZWZlcmVuY2UuXG5mdW5jdGlvbiBjbG9uZVZOb2RlICh2bm9kZSkge1xuICB2YXIgY2xvbmVkID0gbmV3IFZOb2RlKFxuICAgIHZub2RlLnRhZyxcbiAgICB2bm9kZS5kYXRhLFxuICAgIC8vICM3OTc1XG4gICAgLy8gY2xvbmUgY2hpbGRyZW4gYXJyYXkgdG8gYXZvaWQgbXV0YXRpbmcgb3JpZ2luYWwgaW4gY2FzZSBvZiBjbG9uaW5nXG4gICAgLy8gYSBjaGlsZC5cbiAgICB2bm9kZS5jaGlsZHJlbiAmJiB2bm9kZS5jaGlsZHJlbi5zbGljZSgpLFxuICAgIHZub2RlLnRleHQsXG4gICAgdm5vZGUuZWxtLFxuICAgIHZub2RlLmNvbnRleHQsXG4gICAgdm5vZGUuY29tcG9uZW50T3B0aW9ucyxcbiAgICB2bm9kZS5hc3luY0ZhY3RvcnlcbiAgKTtcbiAgY2xvbmVkLm5zID0gdm5vZGUubnM7XG4gIGNsb25lZC5pc1N0YXRpYyA9IHZub2RlLmlzU3RhdGljO1xuICBjbG9uZWQua2V5ID0gdm5vZGUua2V5O1xuICBjbG9uZWQuaXNDb21tZW50ID0gdm5vZGUuaXNDb21tZW50O1xuICBjbG9uZWQuZm5Db250ZXh0ID0gdm5vZGUuZm5Db250ZXh0O1xuICBjbG9uZWQuZm5PcHRpb25zID0gdm5vZGUuZm5PcHRpb25zO1xuICBjbG9uZWQuZm5TY29wZUlkID0gdm5vZGUuZm5TY29wZUlkO1xuICBjbG9uZWQuYXN5bmNNZXRhID0gdm5vZGUuYXN5bmNNZXRhO1xuICBjbG9uZWQuaXNDbG9uZWQgPSB0cnVlO1xuICByZXR1cm4gY2xvbmVkXG59XG5cbi8qXG4gKiBub3QgdHlwZSBjaGVja2luZyB0aGlzIGZpbGUgYmVjYXVzZSBmbG93IGRvZXNuJ3QgcGxheSB3ZWxsIHdpdGhcbiAqIGR5bmFtaWNhbGx5IGFjY2Vzc2luZyBtZXRob2RzIG9uIEFycmF5IHByb3RvdHlwZVxuICovXG5cbnZhciBhcnJheVByb3RvID0gQXJyYXkucHJvdG90eXBlO1xudmFyIGFycmF5TWV0aG9kcyA9IE9iamVjdC5jcmVhdGUoYXJyYXlQcm90byk7XG5cbnZhciBtZXRob2RzVG9QYXRjaCA9IFtcbiAgJ3B1c2gnLFxuICAncG9wJyxcbiAgJ3NoaWZ0JyxcbiAgJ3Vuc2hpZnQnLFxuICAnc3BsaWNlJyxcbiAgJ3NvcnQnLFxuICAncmV2ZXJzZSdcbl07XG5cbi8qKlxuICogSW50ZXJjZXB0IG11dGF0aW5nIG1ldGhvZHMgYW5kIGVtaXQgZXZlbnRzXG4gKi9cbm1ldGhvZHNUb1BhdGNoLmZvckVhY2goZnVuY3Rpb24gKG1ldGhvZCkge1xuICAvLyBjYWNoZSBvcmlnaW5hbCBtZXRob2RcbiAgdmFyIG9yaWdpbmFsID0gYXJyYXlQcm90b1ttZXRob2RdO1xuICBkZWYoYXJyYXlNZXRob2RzLCBtZXRob2QsIGZ1bmN0aW9uIG11dGF0b3IgKCkge1xuICAgIHZhciBhcmdzID0gW10sIGxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gICAgd2hpbGUgKCBsZW4tLSApIGFyZ3NbIGxlbiBdID0gYXJndW1lbnRzWyBsZW4gXTtcblxuICAgIHZhciByZXN1bHQgPSBvcmlnaW5hbC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICB2YXIgb2IgPSB0aGlzLl9fb2JfXztcbiAgICB2YXIgaW5zZXJ0ZWQ7XG4gICAgc3dpdGNoIChtZXRob2QpIHtcbiAgICAgIGNhc2UgJ3B1c2gnOlxuICAgICAgY2FzZSAndW5zaGlmdCc6XG4gICAgICAgIGluc2VydGVkID0gYXJncztcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ3NwbGljZSc6XG4gICAgICAgIGluc2VydGVkID0gYXJncy5zbGljZSgyKTtcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gICAgaWYgKGluc2VydGVkKSB7IG9iLm9ic2VydmVBcnJheShpbnNlcnRlZCk7IH1cbiAgICAvLyBub3RpZnkgY2hhbmdlXG4gICAgb2IuZGVwLm5vdGlmeSgpO1xuICAgIHJldHVybiByZXN1bHRcbiAgfSk7XG59KTtcblxuLyogICovXG5cbnZhciBhcnJheUtleXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhcnJheU1ldGhvZHMpO1xuXG4vKipcbiAqIEluIHNvbWUgY2FzZXMgd2UgbWF5IHdhbnQgdG8gZGlzYWJsZSBvYnNlcnZhdGlvbiBpbnNpZGUgYSBjb21wb25lbnQnc1xuICogdXBkYXRlIGNvbXB1dGF0aW9uLlxuICovXG52YXIgc2hvdWxkT2JzZXJ2ZSA9IHRydWU7XG5cbmZ1bmN0aW9uIHRvZ2dsZU9ic2VydmluZyAodmFsdWUpIHtcbiAgc2hvdWxkT2JzZXJ2ZSA9IHZhbHVlO1xufVxuXG4vKipcbiAqIE9ic2VydmVyIGNsYXNzIHRoYXQgaXMgYXR0YWNoZWQgdG8gZWFjaCBvYnNlcnZlZFxuICogb2JqZWN0LiBPbmNlIGF0dGFjaGVkLCB0aGUgb2JzZXJ2ZXIgY29udmVydHMgdGhlIHRhcmdldFxuICogb2JqZWN0J3MgcHJvcGVydHkga2V5cyBpbnRvIGdldHRlci9zZXR0ZXJzIHRoYXRcbiAqIGNvbGxlY3QgZGVwZW5kZW5jaWVzIGFuZCBkaXNwYXRjaCB1cGRhdGVzLlxuICovXG52YXIgT2JzZXJ2ZXIgPSBmdW5jdGlvbiBPYnNlcnZlciAodmFsdWUpIHtcbiAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB0aGlzLmRlcCA9IG5ldyBEZXAoKTtcbiAgdGhpcy52bUNvdW50ID0gMDtcbiAgZGVmKHZhbHVlLCAnX19vYl9fJywgdGhpcyk7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIGlmIChoYXNQcm90bykge1xuICAgICAgcHJvdG9BdWdtZW50KHZhbHVlLCBhcnJheU1ldGhvZHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb3B5QXVnbWVudCh2YWx1ZSwgYXJyYXlNZXRob2RzLCBhcnJheUtleXMpO1xuICAgIH1cbiAgICB0aGlzLm9ic2VydmVBcnJheSh2YWx1ZSk7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy53YWxrKHZhbHVlKTtcbiAgfVxufTtcblxuLyoqXG4gKiBXYWxrIHRocm91Z2ggYWxsIHByb3BlcnRpZXMgYW5kIGNvbnZlcnQgdGhlbSBpbnRvXG4gKiBnZXR0ZXIvc2V0dGVycy4gVGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIHdoZW5cbiAqIHZhbHVlIHR5cGUgaXMgT2JqZWN0LlxuICovXG5PYnNlcnZlci5wcm90b3R5cGUud2FsayA9IGZ1bmN0aW9uIHdhbGsgKG9iaikge1xuICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iaik7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgIGRlZmluZVJlYWN0aXZlJCQxKG9iaiwga2V5c1tpXSk7XG4gIH1cbn07XG5cbi8qKlxuICogT2JzZXJ2ZSBhIGxpc3Qgb2YgQXJyYXkgaXRlbXMuXG4gKi9cbk9ic2VydmVyLnByb3RvdHlwZS5vYnNlcnZlQXJyYXkgPSBmdW5jdGlvbiBvYnNlcnZlQXJyYXkgKGl0ZW1zKSB7XG4gIGZvciAodmFyIGkgPSAwLCBsID0gaXRlbXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgb2JzZXJ2ZShpdGVtc1tpXSk7XG4gIH1cbn07XG5cbi8vIGhlbHBlcnNcblxuLyoqXG4gKiBBdWdtZW50IGEgdGFyZ2V0IE9iamVjdCBvciBBcnJheSBieSBpbnRlcmNlcHRpbmdcbiAqIHRoZSBwcm90b3R5cGUgY2hhaW4gdXNpbmcgX19wcm90b19fXG4gKi9cbmZ1bmN0aW9uIHByb3RvQXVnbWVudCAodGFyZ2V0LCBzcmMpIHtcbiAgLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG8gKi9cbiAgdGFyZ2V0Ll9fcHJvdG9fXyA9IHNyYztcbiAgLyogZXNsaW50LWVuYWJsZSBuby1wcm90byAqL1xufVxuXG4vKipcbiAqIEF1Z21lbnQgYSB0YXJnZXQgT2JqZWN0IG9yIEFycmF5IGJ5IGRlZmluaW5nXG4gKiBoaWRkZW4gcHJvcGVydGllcy5cbiAqL1xuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmZ1bmN0aW9uIGNvcHlBdWdtZW50ICh0YXJnZXQsIHNyYywga2V5cykge1xuICBmb3IgKHZhciBpID0gMCwgbCA9IGtleXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgdmFyIGtleSA9IGtleXNbaV07XG4gICAgZGVmKHRhcmdldCwga2V5LCBzcmNba2V5XSk7XG4gIH1cbn1cblxuLyoqXG4gKiBBdHRlbXB0IHRvIGNyZWF0ZSBhbiBvYnNlcnZlciBpbnN0YW5jZSBmb3IgYSB2YWx1ZSxcbiAqIHJldHVybnMgdGhlIG5ldyBvYnNlcnZlciBpZiBzdWNjZXNzZnVsbHkgb2JzZXJ2ZWQsXG4gKiBvciB0aGUgZXhpc3Rpbmcgb2JzZXJ2ZXIgaWYgdGhlIHZhbHVlIGFscmVhZHkgaGFzIG9uZS5cbiAqL1xuZnVuY3Rpb24gb2JzZXJ2ZSAodmFsdWUsIGFzUm9vdERhdGEpIHtcbiAgaWYgKCFpc09iamVjdCh2YWx1ZSkgfHwgdmFsdWUgaW5zdGFuY2VvZiBWTm9kZSkge1xuICAgIHJldHVyblxuICB9XG4gIHZhciBvYjtcbiAgaWYgKGhhc093bih2YWx1ZSwgJ19fb2JfXycpICYmIHZhbHVlLl9fb2JfXyBpbnN0YW5jZW9mIE9ic2VydmVyKSB7XG4gICAgb2IgPSB2YWx1ZS5fX29iX187XG4gIH0gZWxzZSBpZiAoXG4gICAgc2hvdWxkT2JzZXJ2ZSAmJlxuICAgICFpc1NlcnZlclJlbmRlcmluZygpICYmXG4gICAgKEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IGlzUGxhaW5PYmplY3QodmFsdWUpKSAmJlxuICAgIE9iamVjdC5pc0V4dGVuc2libGUodmFsdWUpICYmXG4gICAgIXZhbHVlLl9pc1Z1ZVxuICApIHtcbiAgICBvYiA9IG5ldyBPYnNlcnZlcih2YWx1ZSk7XG4gIH1cbiAgaWYgKGFzUm9vdERhdGEgJiYgb2IpIHtcbiAgICBvYi52bUNvdW50Kys7XG4gIH1cbiAgcmV0dXJuIG9iXG59XG5cbi8qKlxuICogRGVmaW5lIGEgcmVhY3RpdmUgcHJvcGVydHkgb24gYW4gT2JqZWN0LlxuICovXG5mdW5jdGlvbiBkZWZpbmVSZWFjdGl2ZSQkMSAoXG4gIG9iaixcbiAga2V5LFxuICB2YWwsXG4gIGN1c3RvbVNldHRlcixcbiAgc2hhbGxvd1xuKSB7XG4gIHZhciBkZXAgPSBuZXcgRGVwKCk7XG5cbiAgdmFyIHByb3BlcnR5ID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIGtleSk7XG4gIGlmIChwcm9wZXJ0eSAmJiBwcm9wZXJ0eS5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICAvLyBjYXRlciBmb3IgcHJlLWRlZmluZWQgZ2V0dGVyL3NldHRlcnNcbiAgdmFyIGdldHRlciA9IHByb3BlcnR5ICYmIHByb3BlcnR5LmdldDtcbiAgdmFyIHNldHRlciA9IHByb3BlcnR5ICYmIHByb3BlcnR5LnNldDtcbiAgaWYgKCghZ2V0dGVyIHx8IHNldHRlcikgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMikge1xuICAgIHZhbCA9IG9ialtrZXldO1xuICB9XG5cbiAgdmFyIGNoaWxkT2IgPSAhc2hhbGxvdyAmJiBvYnNlcnZlKHZhbCk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24gcmVhY3RpdmVHZXR0ZXIgKCkge1xuICAgICAgdmFyIHZhbHVlID0gZ2V0dGVyID8gZ2V0dGVyLmNhbGwob2JqKSA6IHZhbDtcbiAgICAgIGlmIChEZXAudGFyZ2V0KSB7XG4gICAgICAgIGRlcC5kZXBlbmQoKTtcbiAgICAgICAgaWYgKGNoaWxkT2IpIHtcbiAgICAgICAgICBjaGlsZE9iLmRlcC5kZXBlbmQoKTtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGRlcGVuZEFycmF5KHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWx1ZVxuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiByZWFjdGl2ZVNldHRlciAobmV3VmFsKSB7XG4gICAgICB2YXIgdmFsdWUgPSBnZXR0ZXIgPyBnZXR0ZXIuY2FsbChvYmopIDogdmFsO1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgbm8tc2VsZi1jb21wYXJlICovXG4gICAgICBpZiAobmV3VmFsID09PSB2YWx1ZSB8fCAobmV3VmFsICE9PSBuZXdWYWwgJiYgdmFsdWUgIT09IHZhbHVlKSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIC8qIGVzbGludC1lbmFibGUgbm8tc2VsZi1jb21wYXJlICovXG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBjdXN0b21TZXR0ZXIpIHtcbiAgICAgICAgY3VzdG9tU2V0dGVyKCk7XG4gICAgICB9XG4gICAgICAvLyAjNzk4MTogZm9yIGFjY2Vzc29yIHByb3BlcnRpZXMgd2l0aG91dCBzZXR0ZXJcbiAgICAgIGlmIChnZXR0ZXIgJiYgIXNldHRlcikgeyByZXR1cm4gfVxuICAgICAgaWYgKHNldHRlcikge1xuICAgICAgICBzZXR0ZXIuY2FsbChvYmosIG5ld1ZhbCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWwgPSBuZXdWYWw7XG4gICAgICB9XG4gICAgICBjaGlsZE9iID0gIXNoYWxsb3cgJiYgb2JzZXJ2ZShuZXdWYWwpO1xuICAgICAgZGVwLm5vdGlmeSgpO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogU2V0IGEgcHJvcGVydHkgb24gYW4gb2JqZWN0LiBBZGRzIHRoZSBuZXcgcHJvcGVydHkgYW5kXG4gKiB0cmlnZ2VycyBjaGFuZ2Ugbm90aWZpY2F0aW9uIGlmIHRoZSBwcm9wZXJ0eSBkb2Vzbid0XG4gKiBhbHJlYWR5IGV4aXN0LlxuICovXG5mdW5jdGlvbiBzZXQgKHRhcmdldCwga2V5LCB2YWwpIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAoaXNVbmRlZih0YXJnZXQpIHx8IGlzUHJpbWl0aXZlKHRhcmdldCkpXG4gICkge1xuICAgIHdhcm4oKFwiQ2Fubm90IHNldCByZWFjdGl2ZSBwcm9wZXJ0eSBvbiB1bmRlZmluZWQsIG51bGwsIG9yIHByaW1pdGl2ZSB2YWx1ZTogXCIgKyAoKHRhcmdldCkpKSk7XG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkodGFyZ2V0KSAmJiBpc1ZhbGlkQXJyYXlJbmRleChrZXkpKSB7XG4gICAgdGFyZ2V0Lmxlbmd0aCA9IE1hdGgubWF4KHRhcmdldC5sZW5ndGgsIGtleSk7XG4gICAgdGFyZ2V0LnNwbGljZShrZXksIDEsIHZhbCk7XG4gICAgcmV0dXJuIHZhbFxuICB9XG4gIGlmIChrZXkgaW4gdGFyZ2V0ICYmICEoa2V5IGluIE9iamVjdC5wcm90b3R5cGUpKSB7XG4gICAgdGFyZ2V0W2tleV0gPSB2YWw7XG4gICAgcmV0dXJuIHZhbFxuICB9XG4gIHZhciBvYiA9ICh0YXJnZXQpLl9fb2JfXztcbiAgaWYgKHRhcmdldC5faXNWdWUgfHwgKG9iICYmIG9iLnZtQ291bnQpKSB7XG4gICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgJ0F2b2lkIGFkZGluZyByZWFjdGl2ZSBwcm9wZXJ0aWVzIHRvIGEgVnVlIGluc3RhbmNlIG9yIGl0cyByb290ICRkYXRhICcgK1xuICAgICAgJ2F0IHJ1bnRpbWUgLSBkZWNsYXJlIGl0IHVwZnJvbnQgaW4gdGhlIGRhdGEgb3B0aW9uLidcbiAgICApO1xuICAgIHJldHVybiB2YWxcbiAgfVxuICBpZiAoIW9iKSB7XG4gICAgdGFyZ2V0W2tleV0gPSB2YWw7XG4gICAgcmV0dXJuIHZhbFxuICB9XG4gIGRlZmluZVJlYWN0aXZlJCQxKG9iLnZhbHVlLCBrZXksIHZhbCk7XG4gIG9iLmRlcC5ub3RpZnkoKTtcbiAgcmV0dXJuIHZhbFxufVxuXG4vKipcbiAqIERlbGV0ZSBhIHByb3BlcnR5IGFuZCB0cmlnZ2VyIGNoYW5nZSBpZiBuZWNlc3NhcnkuXG4gKi9cbmZ1bmN0aW9uIGRlbCAodGFyZ2V0LCBrZXkpIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAoaXNVbmRlZih0YXJnZXQpIHx8IGlzUHJpbWl0aXZlKHRhcmdldCkpXG4gICkge1xuICAgIHdhcm4oKFwiQ2Fubm90IGRlbGV0ZSByZWFjdGl2ZSBwcm9wZXJ0eSBvbiB1bmRlZmluZWQsIG51bGwsIG9yIHByaW1pdGl2ZSB2YWx1ZTogXCIgKyAoKHRhcmdldCkpKSk7XG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkodGFyZ2V0KSAmJiBpc1ZhbGlkQXJyYXlJbmRleChrZXkpKSB7XG4gICAgdGFyZ2V0LnNwbGljZShrZXksIDEpO1xuICAgIHJldHVyblxuICB9XG4gIHZhciBvYiA9ICh0YXJnZXQpLl9fb2JfXztcbiAgaWYgKHRhcmdldC5faXNWdWUgfHwgKG9iICYmIG9iLnZtQ291bnQpKSB7XG4gICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgJ0F2b2lkIGRlbGV0aW5nIHByb3BlcnRpZXMgb24gYSBWdWUgaW5zdGFuY2Ugb3IgaXRzIHJvb3QgJGRhdGEgJyArXG4gICAgICAnLSBqdXN0IHNldCBpdCB0byBudWxsLidcbiAgICApO1xuICAgIHJldHVyblxuICB9XG4gIGlmICghaGFzT3duKHRhcmdldCwga2V5KSkge1xuICAgIHJldHVyblxuICB9XG4gIGRlbGV0ZSB0YXJnZXRba2V5XTtcbiAgaWYgKCFvYikge1xuICAgIHJldHVyblxuICB9XG4gIG9iLmRlcC5ub3RpZnkoKTtcbn1cblxuLyoqXG4gKiBDb2xsZWN0IGRlcGVuZGVuY2llcyBvbiBhcnJheSBlbGVtZW50cyB3aGVuIHRoZSBhcnJheSBpcyB0b3VjaGVkLCBzaW5jZVxuICogd2UgY2Fubm90IGludGVyY2VwdCBhcnJheSBlbGVtZW50IGFjY2VzcyBsaWtlIHByb3BlcnR5IGdldHRlcnMuXG4gKi9cbmZ1bmN0aW9uIGRlcGVuZEFycmF5ICh2YWx1ZSkge1xuICBmb3IgKHZhciBlID0gKHZvaWQgMCksIGkgPSAwLCBsID0gdmFsdWUubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgZSA9IHZhbHVlW2ldO1xuICAgIGUgJiYgZS5fX29iX18gJiYgZS5fX29iX18uZGVwLmRlcGVuZCgpO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGUpKSB7XG4gICAgICBkZXBlbmRBcnJheShlKTtcbiAgICB9XG4gIH1cbn1cblxuLyogICovXG5cbi8qKlxuICogT3B0aW9uIG92ZXJ3cml0aW5nIHN0cmF0ZWdpZXMgYXJlIGZ1bmN0aW9ucyB0aGF0IGhhbmRsZVxuICogaG93IHRvIG1lcmdlIGEgcGFyZW50IG9wdGlvbiB2YWx1ZSBhbmQgYSBjaGlsZCBvcHRpb25cbiAqIHZhbHVlIGludG8gdGhlIGZpbmFsIHZhbHVlLlxuICovXG52YXIgc3RyYXRzID0gY29uZmlnLm9wdGlvbk1lcmdlU3RyYXRlZ2llcztcblxuLyoqXG4gKiBPcHRpb25zIHdpdGggcmVzdHJpY3Rpb25zXG4gKi9cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIHN0cmF0cy5lbCA9IHN0cmF0cy5wcm9wc0RhdGEgPSBmdW5jdGlvbiAocGFyZW50LCBjaGlsZCwgdm0sIGtleSkge1xuICAgIGlmICghdm0pIHtcbiAgICAgIHdhcm4oXG4gICAgICAgIFwib3B0aW9uIFxcXCJcIiArIGtleSArIFwiXFxcIiBjYW4gb25seSBiZSB1c2VkIGR1cmluZyBpbnN0YW5jZSBcIiArXG4gICAgICAgICdjcmVhdGlvbiB3aXRoIHRoZSBgbmV3YCBrZXl3b3JkLidcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBkZWZhdWx0U3RyYXQocGFyZW50LCBjaGlsZClcbiAgfTtcbn1cblxuLyoqXG4gKiBIZWxwZXIgdGhhdCByZWN1cnNpdmVseSBtZXJnZXMgdHdvIGRhdGEgb2JqZWN0cyB0b2dldGhlci5cbiAqL1xuZnVuY3Rpb24gbWVyZ2VEYXRhICh0bywgZnJvbSkge1xuICBpZiAoIWZyb20pIHsgcmV0dXJuIHRvIH1cbiAgdmFyIGtleSwgdG9WYWwsIGZyb21WYWw7XG5cbiAgdmFyIGtleXMgPSBoYXNTeW1ib2xcbiAgICA/IFJlZmxlY3Qub3duS2V5cyhmcm9tKVxuICAgIDogT2JqZWN0LmtleXMoZnJvbSk7XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAga2V5ID0ga2V5c1tpXTtcbiAgICAvLyBpbiBjYXNlIHRoZSBvYmplY3QgaXMgYWxyZWFkeSBvYnNlcnZlZC4uLlxuICAgIGlmIChrZXkgPT09ICdfX29iX18nKSB7IGNvbnRpbnVlIH1cbiAgICB0b1ZhbCA9IHRvW2tleV07XG4gICAgZnJvbVZhbCA9IGZyb21ba2V5XTtcbiAgICBpZiAoIWhhc093bih0bywga2V5KSkge1xuICAgICAgc2V0KHRvLCBrZXksIGZyb21WYWwpO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICB0b1ZhbCAhPT0gZnJvbVZhbCAmJlxuICAgICAgaXNQbGFpbk9iamVjdCh0b1ZhbCkgJiZcbiAgICAgIGlzUGxhaW5PYmplY3QoZnJvbVZhbClcbiAgICApIHtcbiAgICAgIG1lcmdlRGF0YSh0b1ZhbCwgZnJvbVZhbCk7XG4gICAgfVxuICB9XG4gIHJldHVybiB0b1xufVxuXG4vKipcbiAqIERhdGFcbiAqL1xuZnVuY3Rpb24gbWVyZ2VEYXRhT3JGbiAoXG4gIHBhcmVudFZhbCxcbiAgY2hpbGRWYWwsXG4gIHZtXG4pIHtcbiAgaWYgKCF2bSkge1xuICAgIC8vIGluIGEgVnVlLmV4dGVuZCBtZXJnZSwgYm90aCBzaG91bGQgYmUgZnVuY3Rpb25zXG4gICAgaWYgKCFjaGlsZFZhbCkge1xuICAgICAgcmV0dXJuIHBhcmVudFZhbFxuICAgIH1cbiAgICBpZiAoIXBhcmVudFZhbCkge1xuICAgICAgcmV0dXJuIGNoaWxkVmFsXG4gICAgfVxuICAgIC8vIHdoZW4gcGFyZW50VmFsICYgY2hpbGRWYWwgYXJlIGJvdGggcHJlc2VudCxcbiAgICAvLyB3ZSBuZWVkIHRvIHJldHVybiBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGVcbiAgICAvLyBtZXJnZWQgcmVzdWx0IG9mIGJvdGggZnVuY3Rpb25zLi4uIG5vIG5lZWQgdG9cbiAgICAvLyBjaGVjayBpZiBwYXJlbnRWYWwgaXMgYSBmdW5jdGlvbiBoZXJlIGJlY2F1c2VcbiAgICAvLyBpdCBoYXMgdG8gYmUgYSBmdW5jdGlvbiB0byBwYXNzIHByZXZpb3VzIG1lcmdlcy5cbiAgICByZXR1cm4gZnVuY3Rpb24gbWVyZ2VkRGF0YUZuICgpIHtcbiAgICAgIHJldHVybiBtZXJnZURhdGEoXG4gICAgICAgIHR5cGVvZiBjaGlsZFZhbCA9PT0gJ2Z1bmN0aW9uJyA/IGNoaWxkVmFsLmNhbGwodGhpcywgdGhpcykgOiBjaGlsZFZhbCxcbiAgICAgICAgdHlwZW9mIHBhcmVudFZhbCA9PT0gJ2Z1bmN0aW9uJyA/IHBhcmVudFZhbC5jYWxsKHRoaXMsIHRoaXMpIDogcGFyZW50VmFsXG4gICAgICApXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBmdW5jdGlvbiBtZXJnZWRJbnN0YW5jZURhdGFGbiAoKSB7XG4gICAgICAvLyBpbnN0YW5jZSBtZXJnZVxuICAgICAgdmFyIGluc3RhbmNlRGF0YSA9IHR5cGVvZiBjaGlsZFZhbCA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IGNoaWxkVmFsLmNhbGwodm0sIHZtKVxuICAgICAgICA6IGNoaWxkVmFsO1xuICAgICAgdmFyIGRlZmF1bHREYXRhID0gdHlwZW9mIHBhcmVudFZhbCA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IHBhcmVudFZhbC5jYWxsKHZtLCB2bSlcbiAgICAgICAgOiBwYXJlbnRWYWw7XG4gICAgICBpZiAoaW5zdGFuY2VEYXRhKSB7XG4gICAgICAgIHJldHVybiBtZXJnZURhdGEoaW5zdGFuY2VEYXRhLCBkZWZhdWx0RGF0YSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0RGF0YVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5zdHJhdHMuZGF0YSA9IGZ1bmN0aW9uIChcbiAgcGFyZW50VmFsLFxuICBjaGlsZFZhbCxcbiAgdm1cbikge1xuICBpZiAoIXZtKSB7XG4gICAgaWYgKGNoaWxkVmFsICYmIHR5cGVvZiBjaGlsZFZhbCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgICAnVGhlIFwiZGF0YVwiIG9wdGlvbiBzaG91bGQgYmUgYSBmdW5jdGlvbiAnICtcbiAgICAgICAgJ3RoYXQgcmV0dXJucyBhIHBlci1pbnN0YW5jZSB2YWx1ZSBpbiBjb21wb25lbnQgJyArXG4gICAgICAgICdkZWZpbml0aW9ucy4nLFxuICAgICAgICB2bVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIHBhcmVudFZhbFxuICAgIH1cbiAgICByZXR1cm4gbWVyZ2VEYXRhT3JGbihwYXJlbnRWYWwsIGNoaWxkVmFsKVxuICB9XG5cbiAgcmV0dXJuIG1lcmdlRGF0YU9yRm4ocGFyZW50VmFsLCBjaGlsZFZhbCwgdm0pXG59O1xuXG4vKipcbiAqIEhvb2tzIGFuZCBwcm9wcyBhcmUgbWVyZ2VkIGFzIGFycmF5cy5cbiAqL1xuZnVuY3Rpb24gbWVyZ2VIb29rIChcbiAgcGFyZW50VmFsLFxuICBjaGlsZFZhbFxuKSB7XG4gIHZhciByZXMgPSBjaGlsZFZhbFxuICAgID8gcGFyZW50VmFsXG4gICAgICA/IHBhcmVudFZhbC5jb25jYXQoY2hpbGRWYWwpXG4gICAgICA6IEFycmF5LmlzQXJyYXkoY2hpbGRWYWwpXG4gICAgICAgID8gY2hpbGRWYWxcbiAgICAgICAgOiBbY2hpbGRWYWxdXG4gICAgOiBwYXJlbnRWYWw7XG4gIHJldHVybiByZXNcbiAgICA/IGRlZHVwZUhvb2tzKHJlcylcbiAgICA6IHJlc1xufVxuXG5mdW5jdGlvbiBkZWR1cGVIb29rcyAoaG9va3MpIHtcbiAgdmFyIHJlcyA9IFtdO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGhvb2tzLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHJlcy5pbmRleE9mKGhvb2tzW2ldKSA9PT0gLTEpIHtcbiAgICAgIHJlcy5wdXNoKGhvb2tzW2ldKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG5MSUZFQ1lDTEVfSE9PS1MuZm9yRWFjaChmdW5jdGlvbiAoaG9vaykge1xuICBzdHJhdHNbaG9va10gPSBtZXJnZUhvb2s7XG59KTtcblxuLyoqXG4gKiBBc3NldHNcbiAqXG4gKiBXaGVuIGEgdm0gaXMgcHJlc2VudCAoaW5zdGFuY2UgY3JlYXRpb24pLCB3ZSBuZWVkIHRvIGRvXG4gKiBhIHRocmVlLXdheSBtZXJnZSBiZXR3ZWVuIGNvbnN0cnVjdG9yIG9wdGlvbnMsIGluc3RhbmNlXG4gKiBvcHRpb25zIGFuZCBwYXJlbnQgb3B0aW9ucy5cbiAqL1xuZnVuY3Rpb24gbWVyZ2VBc3NldHMgKFxuICBwYXJlbnRWYWwsXG4gIGNoaWxkVmFsLFxuICB2bSxcbiAga2V5XG4pIHtcbiAgdmFyIHJlcyA9IE9iamVjdC5jcmVhdGUocGFyZW50VmFsIHx8IG51bGwpO1xuICBpZiAoY2hpbGRWYWwpIHtcbiAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGFzc2VydE9iamVjdFR5cGUoa2V5LCBjaGlsZFZhbCwgdm0pO1xuICAgIHJldHVybiBleHRlbmQocmVzLCBjaGlsZFZhbClcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcmVzXG4gIH1cbn1cblxuQVNTRVRfVFlQRVMuZm9yRWFjaChmdW5jdGlvbiAodHlwZSkge1xuICBzdHJhdHNbdHlwZSArICdzJ10gPSBtZXJnZUFzc2V0cztcbn0pO1xuXG4vKipcbiAqIFdhdGNoZXJzLlxuICpcbiAqIFdhdGNoZXJzIGhhc2hlcyBzaG91bGQgbm90IG92ZXJ3cml0ZSBvbmVcbiAqIGFub3RoZXIsIHNvIHdlIG1lcmdlIHRoZW0gYXMgYXJyYXlzLlxuICovXG5zdHJhdHMud2F0Y2ggPSBmdW5jdGlvbiAoXG4gIHBhcmVudFZhbCxcbiAgY2hpbGRWYWwsXG4gIHZtLFxuICBrZXlcbikge1xuICAvLyB3b3JrIGFyb3VuZCBGaXJlZm94J3MgT2JqZWN0LnByb3RvdHlwZS53YXRjaC4uLlxuICBpZiAocGFyZW50VmFsID09PSBuYXRpdmVXYXRjaCkgeyBwYXJlbnRWYWwgPSB1bmRlZmluZWQ7IH1cbiAgaWYgKGNoaWxkVmFsID09PSBuYXRpdmVXYXRjaCkgeyBjaGlsZFZhbCA9IHVuZGVmaW5lZDsgfVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKCFjaGlsZFZhbCkgeyByZXR1cm4gT2JqZWN0LmNyZWF0ZShwYXJlbnRWYWwgfHwgbnVsbCkgfVxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIGFzc2VydE9iamVjdFR5cGUoa2V5LCBjaGlsZFZhbCwgdm0pO1xuICB9XG4gIGlmICghcGFyZW50VmFsKSB7IHJldHVybiBjaGlsZFZhbCB9XG4gIHZhciByZXQgPSB7fTtcbiAgZXh0ZW5kKHJldCwgcGFyZW50VmFsKTtcbiAgZm9yICh2YXIga2V5JDEgaW4gY2hpbGRWYWwpIHtcbiAgICB2YXIgcGFyZW50ID0gcmV0W2tleSQxXTtcbiAgICB2YXIgY2hpbGQgPSBjaGlsZFZhbFtrZXkkMV07XG4gICAgaWYgKHBhcmVudCAmJiAhQXJyYXkuaXNBcnJheShwYXJlbnQpKSB7XG4gICAgICBwYXJlbnQgPSBbcGFyZW50XTtcbiAgICB9XG4gICAgcmV0W2tleSQxXSA9IHBhcmVudFxuICAgICAgPyBwYXJlbnQuY29uY2F0KGNoaWxkKVxuICAgICAgOiBBcnJheS5pc0FycmF5KGNoaWxkKSA/IGNoaWxkIDogW2NoaWxkXTtcbiAgfVxuICByZXR1cm4gcmV0XG59O1xuXG4vKipcbiAqIE90aGVyIG9iamVjdCBoYXNoZXMuXG4gKi9cbnN0cmF0cy5wcm9wcyA9XG5zdHJhdHMubWV0aG9kcyA9XG5zdHJhdHMuaW5qZWN0ID1cbnN0cmF0cy5jb21wdXRlZCA9IGZ1bmN0aW9uIChcbiAgcGFyZW50VmFsLFxuICBjaGlsZFZhbCxcbiAgdm0sXG4gIGtleVxuKSB7XG4gIGlmIChjaGlsZFZhbCAmJiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgYXNzZXJ0T2JqZWN0VHlwZShrZXksIGNoaWxkVmFsLCB2bSk7XG4gIH1cbiAgaWYgKCFwYXJlbnRWYWwpIHsgcmV0dXJuIGNoaWxkVmFsIH1cbiAgdmFyIHJldCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIGV4dGVuZChyZXQsIHBhcmVudFZhbCk7XG4gIGlmIChjaGlsZFZhbCkgeyBleHRlbmQocmV0LCBjaGlsZFZhbCk7IH1cbiAgcmV0dXJuIHJldFxufTtcbnN0cmF0cy5wcm92aWRlID0gbWVyZ2VEYXRhT3JGbjtcblxuLyoqXG4gKiBEZWZhdWx0IHN0cmF0ZWd5LlxuICovXG52YXIgZGVmYXVsdFN0cmF0ID0gZnVuY3Rpb24gKHBhcmVudFZhbCwgY2hpbGRWYWwpIHtcbiAgcmV0dXJuIGNoaWxkVmFsID09PSB1bmRlZmluZWRcbiAgICA/IHBhcmVudFZhbFxuICAgIDogY2hpbGRWYWxcbn07XG5cbi8qKlxuICogVmFsaWRhdGUgY29tcG9uZW50IG5hbWVzXG4gKi9cbmZ1bmN0aW9uIGNoZWNrQ29tcG9uZW50cyAob3B0aW9ucykge1xuICBmb3IgKHZhciBrZXkgaW4gb3B0aW9ucy5jb21wb25lbnRzKSB7XG4gICAgdmFsaWRhdGVDb21wb25lbnROYW1lKGtleSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVDb21wb25lbnROYW1lIChuYW1lKSB7XG4gIGlmICghbmV3IFJlZ0V4cCgoXCJeW2EtekEtWl1bXFxcXC1cXFxcLjAtOV9cIiArICh1bmljb2RlUmVnRXhwLnNvdXJjZSkgKyBcIl0qJFwiKSkudGVzdChuYW1lKSkge1xuICAgIHdhcm4oXG4gICAgICAnSW52YWxpZCBjb21wb25lbnQgbmFtZTogXCInICsgbmFtZSArICdcIi4gQ29tcG9uZW50IG5hbWVzICcgK1xuICAgICAgJ3Nob3VsZCBjb25mb3JtIHRvIHZhbGlkIGN1c3RvbSBlbGVtZW50IG5hbWUgaW4gaHRtbDUgc3BlY2lmaWNhdGlvbi4nXG4gICAgKTtcbiAgfVxuICBpZiAoaXNCdWlsdEluVGFnKG5hbWUpIHx8IGNvbmZpZy5pc1Jlc2VydmVkVGFnKG5hbWUpKSB7XG4gICAgd2FybihcbiAgICAgICdEbyBub3QgdXNlIGJ1aWx0LWluIG9yIHJlc2VydmVkIEhUTUwgZWxlbWVudHMgYXMgY29tcG9uZW50ICcgK1xuICAgICAgJ2lkOiAnICsgbmFtZVxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBFbnN1cmUgYWxsIHByb3BzIG9wdGlvbiBzeW50YXggYXJlIG5vcm1hbGl6ZWQgaW50byB0aGVcbiAqIE9iamVjdC1iYXNlZCBmb3JtYXQuXG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZVByb3BzIChvcHRpb25zLCB2bSkge1xuICB2YXIgcHJvcHMgPSBvcHRpb25zLnByb3BzO1xuICBpZiAoIXByb3BzKSB7IHJldHVybiB9XG4gIHZhciByZXMgPSB7fTtcbiAgdmFyIGksIHZhbCwgbmFtZTtcbiAgaWYgKEFycmF5LmlzQXJyYXkocHJvcHMpKSB7XG4gICAgaSA9IHByb3BzLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0tKSB7XG4gICAgICB2YWwgPSBwcm9wc1tpXTtcbiAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgICAgICBuYW1lID0gY2FtZWxpemUodmFsKTtcbiAgICAgICAgcmVzW25hbWVdID0geyB0eXBlOiBudWxsIH07XG4gICAgICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgd2FybigncHJvcHMgbXVzdCBiZSBzdHJpbmdzIHdoZW4gdXNpbmcgYXJyYXkgc3ludGF4LicpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIGlmIChpc1BsYWluT2JqZWN0KHByb3BzKSkge1xuICAgIGZvciAodmFyIGtleSBpbiBwcm9wcykge1xuICAgICAgdmFsID0gcHJvcHNba2V5XTtcbiAgICAgIG5hbWUgPSBjYW1lbGl6ZShrZXkpO1xuICAgICAgcmVzW25hbWVdID0gaXNQbGFpbk9iamVjdCh2YWwpXG4gICAgICAgID8gdmFsXG4gICAgICAgIDogeyB0eXBlOiB2YWwgfTtcbiAgICB9XG4gIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIHdhcm4oXG4gICAgICBcIkludmFsaWQgdmFsdWUgZm9yIG9wdGlvbiBcXFwicHJvcHNcXFwiOiBleHBlY3RlZCBhbiBBcnJheSBvciBhbiBPYmplY3QsIFwiICtcbiAgICAgIFwiYnV0IGdvdCBcIiArICh0b1Jhd1R5cGUocHJvcHMpKSArIFwiLlwiLFxuICAgICAgdm1cbiAgICApO1xuICB9XG4gIG9wdGlvbnMucHJvcHMgPSByZXM7XG59XG5cbi8qKlxuICogTm9ybWFsaXplIGFsbCBpbmplY3Rpb25zIGludG8gT2JqZWN0LWJhc2VkIGZvcm1hdFxuICovXG5mdW5jdGlvbiBub3JtYWxpemVJbmplY3QgKG9wdGlvbnMsIHZtKSB7XG4gIHZhciBpbmplY3QgPSBvcHRpb25zLmluamVjdDtcbiAgaWYgKCFpbmplY3QpIHsgcmV0dXJuIH1cbiAgdmFyIG5vcm1hbGl6ZWQgPSBvcHRpb25zLmluamVjdCA9IHt9O1xuICBpZiAoQXJyYXkuaXNBcnJheShpbmplY3QpKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbmplY3QubGVuZ3RoOyBpKyspIHtcbiAgICAgIG5vcm1hbGl6ZWRbaW5qZWN0W2ldXSA9IHsgZnJvbTogaW5qZWN0W2ldIH07XG4gICAgfVxuICB9IGVsc2UgaWYgKGlzUGxhaW5PYmplY3QoaW5qZWN0KSkge1xuICAgIGZvciAodmFyIGtleSBpbiBpbmplY3QpIHtcbiAgICAgIHZhciB2YWwgPSBpbmplY3Rba2V5XTtcbiAgICAgIG5vcm1hbGl6ZWRba2V5XSA9IGlzUGxhaW5PYmplY3QodmFsKVxuICAgICAgICA/IGV4dGVuZCh7IGZyb206IGtleSB9LCB2YWwpXG4gICAgICAgIDogeyBmcm9tOiB2YWwgfTtcbiAgICB9XG4gIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIHdhcm4oXG4gICAgICBcIkludmFsaWQgdmFsdWUgZm9yIG9wdGlvbiBcXFwiaW5qZWN0XFxcIjogZXhwZWN0ZWQgYW4gQXJyYXkgb3IgYW4gT2JqZWN0LCBcIiArXG4gICAgICBcImJ1dCBnb3QgXCIgKyAodG9SYXdUeXBlKGluamVjdCkpICsgXCIuXCIsXG4gICAgICB2bVxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBOb3JtYWxpemUgcmF3IGZ1bmN0aW9uIGRpcmVjdGl2ZXMgaW50byBvYmplY3QgZm9ybWF0LlxuICovXG5mdW5jdGlvbiBub3JtYWxpemVEaXJlY3RpdmVzIChvcHRpb25zKSB7XG4gIHZhciBkaXJzID0gb3B0aW9ucy5kaXJlY3RpdmVzO1xuICBpZiAoZGlycykge1xuICAgIGZvciAodmFyIGtleSBpbiBkaXJzKSB7XG4gICAgICB2YXIgZGVmJCQxID0gZGlyc1trZXldO1xuICAgICAgaWYgKHR5cGVvZiBkZWYkJDEgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZGlyc1trZXldID0geyBiaW5kOiBkZWYkJDEsIHVwZGF0ZTogZGVmJCQxIH07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFzc2VydE9iamVjdFR5cGUgKG5hbWUsIHZhbHVlLCB2bSkge1xuICBpZiAoIWlzUGxhaW5PYmplY3QodmFsdWUpKSB7XG4gICAgd2FybihcbiAgICAgIFwiSW52YWxpZCB2YWx1ZSBmb3Igb3B0aW9uIFxcXCJcIiArIG5hbWUgKyBcIlxcXCI6IGV4cGVjdGVkIGFuIE9iamVjdCwgXCIgK1xuICAgICAgXCJidXQgZ290IFwiICsgKHRvUmF3VHlwZSh2YWx1ZSkpICsgXCIuXCIsXG4gICAgICB2bVxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBNZXJnZSB0d28gb3B0aW9uIG9iamVjdHMgaW50byBhIG5ldyBvbmUuXG4gKiBDb3JlIHV0aWxpdHkgdXNlZCBpbiBib3RoIGluc3RhbnRpYXRpb24gYW5kIGluaGVyaXRhbmNlLlxuICovXG5mdW5jdGlvbiBtZXJnZU9wdGlvbnMgKFxuICBwYXJlbnQsXG4gIGNoaWxkLFxuICB2bVxuKSB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgY2hlY2tDb21wb25lbnRzKGNoaWxkKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgY2hpbGQgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjaGlsZCA9IGNoaWxkLm9wdGlvbnM7XG4gIH1cblxuICBub3JtYWxpemVQcm9wcyhjaGlsZCwgdm0pO1xuICBub3JtYWxpemVJbmplY3QoY2hpbGQsIHZtKTtcbiAgbm9ybWFsaXplRGlyZWN0aXZlcyhjaGlsZCk7XG5cbiAgLy8gQXBwbHkgZXh0ZW5kcyBhbmQgbWl4aW5zIG9uIHRoZSBjaGlsZCBvcHRpb25zLFxuICAvLyBidXQgb25seSBpZiBpdCBpcyBhIHJhdyBvcHRpb25zIG9iamVjdCB0aGF0IGlzbid0XG4gIC8vIHRoZSByZXN1bHQgb2YgYW5vdGhlciBtZXJnZU9wdGlvbnMgY2FsbC5cbiAgLy8gT25seSBtZXJnZWQgb3B0aW9ucyBoYXMgdGhlIF9iYXNlIHByb3BlcnR5LlxuICBpZiAoIWNoaWxkLl9iYXNlKSB7XG4gICAgaWYgKGNoaWxkLmV4dGVuZHMpIHtcbiAgICAgIHBhcmVudCA9IG1lcmdlT3B0aW9ucyhwYXJlbnQsIGNoaWxkLmV4dGVuZHMsIHZtKTtcbiAgICB9XG4gICAgaWYgKGNoaWxkLm1peGlucykge1xuICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBjaGlsZC5taXhpbnMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIHBhcmVudCA9IG1lcmdlT3B0aW9ucyhwYXJlbnQsIGNoaWxkLm1peGluc1tpXSwgdm0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBvcHRpb25zID0ge307XG4gIHZhciBrZXk7XG4gIGZvciAoa2V5IGluIHBhcmVudCkge1xuICAgIG1lcmdlRmllbGQoa2V5KTtcbiAgfVxuICBmb3IgKGtleSBpbiBjaGlsZCkge1xuICAgIGlmICghaGFzT3duKHBhcmVudCwga2V5KSkge1xuICAgICAgbWVyZ2VGaWVsZChrZXkpO1xuICAgIH1cbiAgfVxuICBmdW5jdGlvbiBtZXJnZUZpZWxkIChrZXkpIHtcbiAgICB2YXIgc3RyYXQgPSBzdHJhdHNba2V5XSB8fCBkZWZhdWx0U3RyYXQ7XG4gICAgb3B0aW9uc1trZXldID0gc3RyYXQocGFyZW50W2tleV0sIGNoaWxkW2tleV0sIHZtLCBrZXkpO1xuICB9XG4gIHJldHVybiBvcHRpb25zXG59XG5cbi8qKlxuICogUmVzb2x2ZSBhbiBhc3NldC5cbiAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBiZWNhdXNlIGNoaWxkIGluc3RhbmNlcyBuZWVkIGFjY2Vzc1xuICogdG8gYXNzZXRzIGRlZmluZWQgaW4gaXRzIGFuY2VzdG9yIGNoYWluLlxuICovXG5mdW5jdGlvbiByZXNvbHZlQXNzZXQgKFxuICBvcHRpb25zLFxuICB0eXBlLFxuICBpZCxcbiAgd2Fybk1pc3Npbmdcbikge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKHR5cGVvZiBpZCAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm5cbiAgfVxuICB2YXIgYXNzZXRzID0gb3B0aW9uc1t0eXBlXTtcbiAgLy8gY2hlY2sgbG9jYWwgcmVnaXN0cmF0aW9uIHZhcmlhdGlvbnMgZmlyc3RcbiAgaWYgKGhhc093bihhc3NldHMsIGlkKSkgeyByZXR1cm4gYXNzZXRzW2lkXSB9XG4gIHZhciBjYW1lbGl6ZWRJZCA9IGNhbWVsaXplKGlkKTtcbiAgaWYgKGhhc093bihhc3NldHMsIGNhbWVsaXplZElkKSkgeyByZXR1cm4gYXNzZXRzW2NhbWVsaXplZElkXSB9XG4gIHZhciBQYXNjYWxDYXNlSWQgPSBjYXBpdGFsaXplKGNhbWVsaXplZElkKTtcbiAgaWYgKGhhc093bihhc3NldHMsIFBhc2NhbENhc2VJZCkpIHsgcmV0dXJuIGFzc2V0c1tQYXNjYWxDYXNlSWRdIH1cbiAgLy8gZmFsbGJhY2sgdG8gcHJvdG90eXBlIGNoYWluXG4gIHZhciByZXMgPSBhc3NldHNbaWRdIHx8IGFzc2V0c1tjYW1lbGl6ZWRJZF0gfHwgYXNzZXRzW1Bhc2NhbENhc2VJZF07XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm5NaXNzaW5nICYmICFyZXMpIHtcbiAgICB3YXJuKFxuICAgICAgJ0ZhaWxlZCB0byByZXNvbHZlICcgKyB0eXBlLnNsaWNlKDAsIC0xKSArICc6ICcgKyBpZCxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuICB9XG4gIHJldHVybiByZXNcbn1cblxuLyogICovXG5cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3AgKFxuICBrZXksXG4gIHByb3BPcHRpb25zLFxuICBwcm9wc0RhdGEsXG4gIHZtXG4pIHtcbiAgdmFyIHByb3AgPSBwcm9wT3B0aW9uc1trZXldO1xuICB2YXIgYWJzZW50ID0gIWhhc093bihwcm9wc0RhdGEsIGtleSk7XG4gIHZhciB2YWx1ZSA9IHByb3BzRGF0YVtrZXldO1xuICAvLyBib29sZWFuIGNhc3RpbmdcbiAgdmFyIGJvb2xlYW5JbmRleCA9IGdldFR5cGVJbmRleChCb29sZWFuLCBwcm9wLnR5cGUpO1xuICBpZiAoYm9vbGVhbkluZGV4ID4gLTEpIHtcbiAgICBpZiAoYWJzZW50ICYmICFoYXNPd24ocHJvcCwgJ2RlZmF1bHQnKSkge1xuICAgICAgdmFsdWUgPSBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlID09PSAnJyB8fCB2YWx1ZSA9PT0gaHlwaGVuYXRlKGtleSkpIHtcbiAgICAgIC8vIG9ubHkgY2FzdCBlbXB0eSBzdHJpbmcgLyBzYW1lIG5hbWUgdG8gYm9vbGVhbiBpZlxuICAgICAgLy8gYm9vbGVhbiBoYXMgaGlnaGVyIHByaW9yaXR5XG4gICAgICB2YXIgc3RyaW5nSW5kZXggPSBnZXRUeXBlSW5kZXgoU3RyaW5nLCBwcm9wLnR5cGUpO1xuICAgICAgaWYgKHN0cmluZ0luZGV4IDwgMCB8fCBib29sZWFuSW5kZXggPCBzdHJpbmdJbmRleCkge1xuICAgICAgICB2YWx1ZSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIGNoZWNrIGRlZmF1bHQgdmFsdWVcbiAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICB2YWx1ZSA9IGdldFByb3BEZWZhdWx0VmFsdWUodm0sIHByb3AsIGtleSk7XG4gICAgLy8gc2luY2UgdGhlIGRlZmF1bHQgdmFsdWUgaXMgYSBmcmVzaCBjb3B5LFxuICAgIC8vIG1ha2Ugc3VyZSB0byBvYnNlcnZlIGl0LlxuICAgIHZhciBwcmV2U2hvdWxkT2JzZXJ2ZSA9IHNob3VsZE9ic2VydmU7XG4gICAgdG9nZ2xlT2JzZXJ2aW5nKHRydWUpO1xuICAgIG9ic2VydmUodmFsdWUpO1xuICAgIHRvZ2dsZU9ic2VydmluZyhwcmV2U2hvdWxkT2JzZXJ2ZSk7XG4gIH1cbiAgaWYgKFxuICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAvLyBza2lwIHZhbGlkYXRpb24gZm9yIHdlZXggcmVjeWNsZS1saXN0IGNoaWxkIGNvbXBvbmVudCBwcm9wc1xuICAgICEoZmFsc2UpXG4gICkge1xuICAgIGFzc2VydFByb3AocHJvcCwga2V5LCB2YWx1ZSwgdm0sIGFic2VudCk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlXG59XG5cbi8qKlxuICogR2V0IHRoZSBkZWZhdWx0IHZhbHVlIG9mIGEgcHJvcC5cbiAqL1xuZnVuY3Rpb24gZ2V0UHJvcERlZmF1bHRWYWx1ZSAodm0sIHByb3AsIGtleSkge1xuICAvLyBubyBkZWZhdWx0LCByZXR1cm4gdW5kZWZpbmVkXG4gIGlmICghaGFzT3duKHByb3AsICdkZWZhdWx0JykpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cbiAgdmFyIGRlZiA9IHByb3AuZGVmYXVsdDtcbiAgLy8gd2FybiBhZ2FpbnN0IG5vbi1mYWN0b3J5IGRlZmF1bHRzIGZvciBPYmplY3QgJiBBcnJheVxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBpc09iamVjdChkZWYpKSB7XG4gICAgd2FybihcbiAgICAgICdJbnZhbGlkIGRlZmF1bHQgdmFsdWUgZm9yIHByb3AgXCInICsga2V5ICsgJ1wiOiAnICtcbiAgICAgICdQcm9wcyB3aXRoIHR5cGUgT2JqZWN0L0FycmF5IG11c3QgdXNlIGEgZmFjdG9yeSBmdW5jdGlvbiAnICtcbiAgICAgICd0byByZXR1cm4gdGhlIGRlZmF1bHQgdmFsdWUuJyxcbiAgICAgIHZtXG4gICAgKTtcbiAgfVxuICAvLyB0aGUgcmF3IHByb3AgdmFsdWUgd2FzIGFsc28gdW5kZWZpbmVkIGZyb20gcHJldmlvdXMgcmVuZGVyLFxuICAvLyByZXR1cm4gcHJldmlvdXMgZGVmYXVsdCB2YWx1ZSB0byBhdm9pZCB1bm5lY2Vzc2FyeSB3YXRjaGVyIHRyaWdnZXJcbiAgaWYgKHZtICYmIHZtLiRvcHRpb25zLnByb3BzRGF0YSAmJlxuICAgIHZtLiRvcHRpb25zLnByb3BzRGF0YVtrZXldID09PSB1bmRlZmluZWQgJiZcbiAgICB2bS5fcHJvcHNba2V5XSAhPT0gdW5kZWZpbmVkXG4gICkge1xuICAgIHJldHVybiB2bS5fcHJvcHNba2V5XVxuICB9XG4gIC8vIGNhbGwgZmFjdG9yeSBmdW5jdGlvbiBmb3Igbm9uLUZ1bmN0aW9uIHR5cGVzXG4gIC8vIGEgdmFsdWUgaXMgRnVuY3Rpb24gaWYgaXRzIHByb3RvdHlwZSBpcyBmdW5jdGlvbiBldmVuIGFjcm9zcyBkaWZmZXJlbnQgZXhlY3V0aW9uIGNvbnRleHRcbiAgcmV0dXJuIHR5cGVvZiBkZWYgPT09ICdmdW5jdGlvbicgJiYgZ2V0VHlwZShwcm9wLnR5cGUpICE9PSAnRnVuY3Rpb24nXG4gICAgPyBkZWYuY2FsbCh2bSlcbiAgICA6IGRlZlxufVxuXG4vKipcbiAqIEFzc2VydCB3aGV0aGVyIGEgcHJvcCBpcyB2YWxpZC5cbiAqL1xuZnVuY3Rpb24gYXNzZXJ0UHJvcCAoXG4gIHByb3AsXG4gIG5hbWUsXG4gIHZhbHVlLFxuICB2bSxcbiAgYWJzZW50XG4pIHtcbiAgaWYgKHByb3AucmVxdWlyZWQgJiYgYWJzZW50KSB7XG4gICAgd2FybihcbiAgICAgICdNaXNzaW5nIHJlcXVpcmVkIHByb3A6IFwiJyArIG5hbWUgKyAnXCInLFxuICAgICAgdm1cbiAgICApO1xuICAgIHJldHVyblxuICB9XG4gIGlmICh2YWx1ZSA9PSBudWxsICYmICFwcm9wLnJlcXVpcmVkKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIHR5cGUgPSBwcm9wLnR5cGU7XG4gIHZhciB2YWxpZCA9ICF0eXBlIHx8IHR5cGUgPT09IHRydWU7XG4gIHZhciBleHBlY3RlZFR5cGVzID0gW107XG4gIGlmICh0eXBlKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHR5cGUpKSB7XG4gICAgICB0eXBlID0gW3R5cGVdO1xuICAgIH1cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHR5cGUubGVuZ3RoICYmICF2YWxpZDsgaSsrKSB7XG4gICAgICB2YXIgYXNzZXJ0ZWRUeXBlID0gYXNzZXJ0VHlwZSh2YWx1ZSwgdHlwZVtpXSk7XG4gICAgICBleHBlY3RlZFR5cGVzLnB1c2goYXNzZXJ0ZWRUeXBlLmV4cGVjdGVkVHlwZSB8fCAnJyk7XG4gICAgICB2YWxpZCA9IGFzc2VydGVkVHlwZS52YWxpZDtcbiAgICB9XG4gIH1cblxuICBpZiAoIXZhbGlkKSB7XG4gICAgd2FybihcbiAgICAgIGdldEludmFsaWRUeXBlTWVzc2FnZShuYW1lLCB2YWx1ZSwgZXhwZWN0ZWRUeXBlcyksXG4gICAgICB2bVxuICAgICk7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIHZhbGlkYXRvciA9IHByb3AudmFsaWRhdG9yO1xuICBpZiAodmFsaWRhdG9yKSB7XG4gICAgaWYgKCF2YWxpZGF0b3IodmFsdWUpKSB7XG4gICAgICB3YXJuKFxuICAgICAgICAnSW52YWxpZCBwcm9wOiBjdXN0b20gdmFsaWRhdG9yIGNoZWNrIGZhaWxlZCBmb3IgcHJvcCBcIicgKyBuYW1lICsgJ1wiLicsXG4gICAgICAgIHZtXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG52YXIgc2ltcGxlQ2hlY2tSRSA9IC9eKFN0cmluZ3xOdW1iZXJ8Qm9vbGVhbnxGdW5jdGlvbnxTeW1ib2wpJC87XG5cbmZ1bmN0aW9uIGFzc2VydFR5cGUgKHZhbHVlLCB0eXBlKSB7XG4gIHZhciB2YWxpZDtcbiAgdmFyIGV4cGVjdGVkVHlwZSA9IGdldFR5cGUodHlwZSk7XG4gIGlmIChzaW1wbGVDaGVja1JFLnRlc3QoZXhwZWN0ZWRUeXBlKSkge1xuICAgIHZhciB0ID0gdHlwZW9mIHZhbHVlO1xuICAgIHZhbGlkID0gdCA9PT0gZXhwZWN0ZWRUeXBlLnRvTG93ZXJDYXNlKCk7XG4gICAgLy8gZm9yIHByaW1pdGl2ZSB3cmFwcGVyIG9iamVjdHNcbiAgICBpZiAoIXZhbGlkICYmIHQgPT09ICdvYmplY3QnKSB7XG4gICAgICB2YWxpZCA9IHZhbHVlIGluc3RhbmNlb2YgdHlwZTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoZXhwZWN0ZWRUeXBlID09PSAnT2JqZWN0Jykge1xuICAgIHZhbGlkID0gaXNQbGFpbk9iamVjdCh2YWx1ZSk7XG4gIH0gZWxzZSBpZiAoZXhwZWN0ZWRUeXBlID09PSAnQXJyYXknKSB7XG4gICAgdmFsaWQgPSBBcnJheS5pc0FycmF5KHZhbHVlKTtcbiAgfSBlbHNlIHtcbiAgICB2YWxpZCA9IHZhbHVlIGluc3RhbmNlb2YgdHlwZTtcbiAgfVxuICByZXR1cm4ge1xuICAgIHZhbGlkOiB2YWxpZCxcbiAgICBleHBlY3RlZFR5cGU6IGV4cGVjdGVkVHlwZVxuICB9XG59XG5cbi8qKlxuICogVXNlIGZ1bmN0aW9uIHN0cmluZyBuYW1lIHRvIGNoZWNrIGJ1aWx0LWluIHR5cGVzLFxuICogYmVjYXVzZSBhIHNpbXBsZSBlcXVhbGl0eSBjaGVjayB3aWxsIGZhaWwgd2hlbiBydW5uaW5nXG4gKiBhY3Jvc3MgZGlmZmVyZW50IHZtcyAvIGlmcmFtZXMuXG4gKi9cbmZ1bmN0aW9uIGdldFR5cGUgKGZuKSB7XG4gIHZhciBtYXRjaCA9IGZuICYmIGZuLnRvU3RyaW5nKCkubWF0Y2goL15cXHMqZnVuY3Rpb24gKFxcdyspLyk7XG4gIHJldHVybiBtYXRjaCA/IG1hdGNoWzFdIDogJydcbn1cblxuZnVuY3Rpb24gaXNTYW1lVHlwZSAoYSwgYikge1xuICByZXR1cm4gZ2V0VHlwZShhKSA9PT0gZ2V0VHlwZShiKVxufVxuXG5mdW5jdGlvbiBnZXRUeXBlSW5kZXggKHR5cGUsIGV4cGVjdGVkVHlwZXMpIHtcbiAgaWYgKCFBcnJheS5pc0FycmF5KGV4cGVjdGVkVHlwZXMpKSB7XG4gICAgcmV0dXJuIGlzU2FtZVR5cGUoZXhwZWN0ZWRUeXBlcywgdHlwZSkgPyAwIDogLTFcbiAgfVxuICBmb3IgKHZhciBpID0gMCwgbGVuID0gZXhwZWN0ZWRUeXBlcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIGlmIChpc1NhbWVUeXBlKGV4cGVjdGVkVHlwZXNbaV0sIHR5cGUpKSB7XG4gICAgICByZXR1cm4gaVxuICAgIH1cbiAgfVxuICByZXR1cm4gLTFcbn1cblxuZnVuY3Rpb24gZ2V0SW52YWxpZFR5cGVNZXNzYWdlIChuYW1lLCB2YWx1ZSwgZXhwZWN0ZWRUeXBlcykge1xuICB2YXIgbWVzc2FnZSA9IFwiSW52YWxpZCBwcm9wOiB0eXBlIGNoZWNrIGZhaWxlZCBmb3IgcHJvcCBcXFwiXCIgKyBuYW1lICsgXCJcXFwiLlwiICtcbiAgICBcIiBFeHBlY3RlZCBcIiArIChleHBlY3RlZFR5cGVzLm1hcChjYXBpdGFsaXplKS5qb2luKCcsICcpKTtcbiAgdmFyIGV4cGVjdGVkVHlwZSA9IGV4cGVjdGVkVHlwZXNbMF07XG4gIHZhciByZWNlaXZlZFR5cGUgPSB0b1Jhd1R5cGUodmFsdWUpO1xuICB2YXIgZXhwZWN0ZWRWYWx1ZSA9IHN0eWxlVmFsdWUodmFsdWUsIGV4cGVjdGVkVHlwZSk7XG4gIHZhciByZWNlaXZlZFZhbHVlID0gc3R5bGVWYWx1ZSh2YWx1ZSwgcmVjZWl2ZWRUeXBlKTtcbiAgLy8gY2hlY2sgaWYgd2UgbmVlZCB0byBzcGVjaWZ5IGV4cGVjdGVkIHZhbHVlXG4gIGlmIChleHBlY3RlZFR5cGVzLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgaXNFeHBsaWNhYmxlKGV4cGVjdGVkVHlwZSkgJiZcbiAgICAgICFpc0Jvb2xlYW4oZXhwZWN0ZWRUeXBlLCByZWNlaXZlZFR5cGUpKSB7XG4gICAgbWVzc2FnZSArPSBcIiB3aXRoIHZhbHVlIFwiICsgZXhwZWN0ZWRWYWx1ZTtcbiAgfVxuICBtZXNzYWdlICs9IFwiLCBnb3QgXCIgKyByZWNlaXZlZFR5cGUgKyBcIiBcIjtcbiAgLy8gY2hlY2sgaWYgd2UgbmVlZCB0byBzcGVjaWZ5IHJlY2VpdmVkIHZhbHVlXG4gIGlmIChpc0V4cGxpY2FibGUocmVjZWl2ZWRUeXBlKSkge1xuICAgIG1lc3NhZ2UgKz0gXCJ3aXRoIHZhbHVlIFwiICsgcmVjZWl2ZWRWYWx1ZSArIFwiLlwiO1xuICB9XG4gIHJldHVybiBtZXNzYWdlXG59XG5cbmZ1bmN0aW9uIHN0eWxlVmFsdWUgKHZhbHVlLCB0eXBlKSB7XG4gIGlmICh0eXBlID09PSAnU3RyaW5nJykge1xuICAgIHJldHVybiAoXCJcXFwiXCIgKyB2YWx1ZSArIFwiXFxcIlwiKVxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdOdW1iZXInKSB7XG4gICAgcmV0dXJuIChcIlwiICsgKE51bWJlcih2YWx1ZSkpKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiAoXCJcIiArIHZhbHVlKVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzRXhwbGljYWJsZSAodmFsdWUpIHtcbiAgdmFyIGV4cGxpY2l0VHlwZXMgPSBbJ3N0cmluZycsICdudW1iZXInLCAnYm9vbGVhbiddO1xuICByZXR1cm4gZXhwbGljaXRUeXBlcy5zb21lKGZ1bmN0aW9uIChlbGVtKSB7IHJldHVybiB2YWx1ZS50b0xvd2VyQ2FzZSgpID09PSBlbGVtOyB9KVxufVxuXG5mdW5jdGlvbiBpc0Jvb2xlYW4gKCkge1xuICB2YXIgYXJncyA9IFtdLCBsZW4gPSBhcmd1bWVudHMubGVuZ3RoO1xuICB3aGlsZSAoIGxlbi0tICkgYXJnc1sgbGVuIF0gPSBhcmd1bWVudHNbIGxlbiBdO1xuXG4gIHJldHVybiBhcmdzLnNvbWUoZnVuY3Rpb24gKGVsZW0pIHsgcmV0dXJuIGVsZW0udG9Mb3dlckNhc2UoKSA9PT0gJ2Jvb2xlYW4nOyB9KVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gaGFuZGxlRXJyb3IgKGVyciwgdm0sIGluZm8pIHtcbiAgLy8gRGVhY3RpdmF0ZSBkZXBzIHRyYWNraW5nIHdoaWxlIHByb2Nlc3NpbmcgZXJyb3IgaGFuZGxlciB0byBhdm9pZCBwb3NzaWJsZSBpbmZpbml0ZSByZW5kZXJpbmcuXG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3Z1ZWpzL3Z1ZXgvaXNzdWVzLzE1MDVcbiAgcHVzaFRhcmdldCgpO1xuICB0cnkge1xuICAgIGlmICh2bSkge1xuICAgICAgdmFyIGN1ciA9IHZtO1xuICAgICAgd2hpbGUgKChjdXIgPSBjdXIuJHBhcmVudCkpIHtcbiAgICAgICAgdmFyIGhvb2tzID0gY3VyLiRvcHRpb25zLmVycm9yQ2FwdHVyZWQ7XG4gICAgICAgIGlmIChob29rcykge1xuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaG9va3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHZhciBjYXB0dXJlID0gaG9va3NbaV0uY2FsbChjdXIsIGVyciwgdm0sIGluZm8pID09PSBmYWxzZTtcbiAgICAgICAgICAgICAgaWYgKGNhcHR1cmUpIHsgcmV0dXJuIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgZ2xvYmFsSGFuZGxlRXJyb3IoZSwgY3VyLCAnZXJyb3JDYXB0dXJlZCBob29rJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGdsb2JhbEhhbmRsZUVycm9yKGVyciwgdm0sIGluZm8pO1xuICB9IGZpbmFsbHkge1xuICAgIHBvcFRhcmdldCgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGludm9rZVdpdGhFcnJvckhhbmRsaW5nIChcbiAgaGFuZGxlcixcbiAgY29udGV4dCxcbiAgYXJncyxcbiAgdm0sXG4gIGluZm9cbikge1xuICB2YXIgcmVzO1xuICB0cnkge1xuICAgIHJlcyA9IGFyZ3MgPyBoYW5kbGVyLmFwcGx5KGNvbnRleHQsIGFyZ3MpIDogaGFuZGxlci5jYWxsKGNvbnRleHQpO1xuICAgIGlmIChyZXMgJiYgIXJlcy5faXNWdWUgJiYgaXNQcm9taXNlKHJlcykgJiYgIXJlcy5faGFuZGxlZCkge1xuICAgICAgcmVzLmNhdGNoKGZ1bmN0aW9uIChlKSB7IHJldHVybiBoYW5kbGVFcnJvcihlLCB2bSwgaW5mbyArIFwiIChQcm9taXNlL2FzeW5jKVwiKTsgfSk7XG4gICAgICAvLyBpc3N1ZSAjOTUxMVxuICAgICAgLy8gYXZvaWQgY2F0Y2ggdHJpZ2dlcmluZyBtdWx0aXBsZSB0aW1lcyB3aGVuIG5lc3RlZCBjYWxsc1xuICAgICAgcmVzLl9oYW5kbGVkID0gdHJ1ZTtcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBoYW5kbGVFcnJvcihlLCB2bSwgaW5mbyk7XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG5mdW5jdGlvbiBnbG9iYWxIYW5kbGVFcnJvciAoZXJyLCB2bSwgaW5mbykge1xuICBpZiAoY29uZmlnLmVycm9ySGFuZGxlcikge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gY29uZmlnLmVycm9ySGFuZGxlci5jYWxsKG51bGwsIGVyciwgdm0sIGluZm8pXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gaWYgdGhlIHVzZXIgaW50ZW50aW9uYWxseSB0aHJvd3MgdGhlIG9yaWdpbmFsIGVycm9yIGluIHRoZSBoYW5kbGVyLFxuICAgICAgLy8gZG8gbm90IGxvZyBpdCB0d2ljZVxuICAgICAgaWYgKGUgIT09IGVycikge1xuICAgICAgICBsb2dFcnJvcihlLCBudWxsLCAnY29uZmlnLmVycm9ySGFuZGxlcicpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBsb2dFcnJvcihlcnIsIHZtLCBpbmZvKTtcbn1cblxuZnVuY3Rpb24gbG9nRXJyb3IgKGVyciwgdm0sIGluZm8pIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICB3YXJuKChcIkVycm9yIGluIFwiICsgaW5mbyArIFwiOiBcXFwiXCIgKyAoZXJyLnRvU3RyaW5nKCkpICsgXCJcXFwiXCIpLCB2bSk7XG4gIH1cbiAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKChpbkJyb3dzZXIgfHwgaW5XZWV4KSAmJiB0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBjb25zb2xlLmVycm9yKGVycik7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgZXJyXG4gIH1cbn1cblxuLyogICovXG5cbnZhciBpc1VzaW5nTWljcm9UYXNrID0gZmFsc2U7XG5cbnZhciBjYWxsYmFja3MgPSBbXTtcbnZhciBwZW5kaW5nID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGZsdXNoQ2FsbGJhY2tzICgpIHtcbiAgcGVuZGluZyA9IGZhbHNlO1xuICB2YXIgY29waWVzID0gY2FsbGJhY2tzLnNsaWNlKDApO1xuICBjYWxsYmFja3MubGVuZ3RoID0gMDtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3BpZXMubGVuZ3RoOyBpKyspIHtcbiAgICBjb3BpZXNbaV0oKTtcbiAgfVxufVxuXG4vLyBIZXJlIHdlIGhhdmUgYXN5bmMgZGVmZXJyaW5nIHdyYXBwZXJzIHVzaW5nIG1pY3JvdGFza3MuXG4vLyBJbiAyLjUgd2UgdXNlZCAobWFjcm8pIHRhc2tzIChpbiBjb21iaW5hdGlvbiB3aXRoIG1pY3JvdGFza3MpLlxuLy8gSG93ZXZlciwgaXQgaGFzIHN1YnRsZSBwcm9ibGVtcyB3aGVuIHN0YXRlIGlzIGNoYW5nZWQgcmlnaHQgYmVmb3JlIHJlcGFpbnRcbi8vIChlLmcuICM2ODEzLCBvdXQtaW4gdHJhbnNpdGlvbnMpLlxuLy8gQWxzbywgdXNpbmcgKG1hY3JvKSB0YXNrcyBpbiBldmVudCBoYW5kbGVyIHdvdWxkIGNhdXNlIHNvbWUgd2VpcmQgYmVoYXZpb3JzXG4vLyB0aGF0IGNhbm5vdCBiZSBjaXJjdW12ZW50ZWQgKGUuZy4gIzcxMDksICM3MTUzLCAjNzU0NiwgIzc4MzQsICM4MTA5KS5cbi8vIFNvIHdlIG5vdyB1c2UgbWljcm90YXNrcyBldmVyeXdoZXJlLCBhZ2Fpbi5cbi8vIEEgbWFqb3IgZHJhd2JhY2sgb2YgdGhpcyB0cmFkZW9mZiBpcyB0aGF0IHRoZXJlIGFyZSBzb21lIHNjZW5hcmlvc1xuLy8gd2hlcmUgbWljcm90YXNrcyBoYXZlIHRvbyBoaWdoIGEgcHJpb3JpdHkgYW5kIGZpcmUgaW4gYmV0d2VlbiBzdXBwb3NlZGx5XG4vLyBzZXF1ZW50aWFsIGV2ZW50cyAoZS5nLiAjNDUyMSwgIzY2OTAsIHdoaWNoIGhhdmUgd29ya2Fyb3VuZHMpXG4vLyBvciBldmVuIGJldHdlZW4gYnViYmxpbmcgb2YgdGhlIHNhbWUgZXZlbnQgKCM2NTY2KS5cbnZhciB0aW1lckZ1bmM7XG5cbi8vIFRoZSBuZXh0VGljayBiZWhhdmlvciBsZXZlcmFnZXMgdGhlIG1pY3JvdGFzayBxdWV1ZSwgd2hpY2ggY2FuIGJlIGFjY2Vzc2VkXG4vLyB2aWEgZWl0aGVyIG5hdGl2ZSBQcm9taXNlLnRoZW4gb3IgTXV0YXRpb25PYnNlcnZlci5cbi8vIE11dGF0aW9uT2JzZXJ2ZXIgaGFzIHdpZGVyIHN1cHBvcnQsIGhvd2V2ZXIgaXQgaXMgc2VyaW91c2x5IGJ1Z2dlZCBpblxuLy8gVUlXZWJWaWV3IGluIGlPUyA+PSA5LjMuMyB3aGVuIHRyaWdnZXJlZCBpbiB0b3VjaCBldmVudCBoYW5kbGVycy4gSXRcbi8vIGNvbXBsZXRlbHkgc3RvcHMgd29ya2luZyBhZnRlciB0cmlnZ2VyaW5nIGEgZmV3IHRpbWVzLi4uIHNvLCBpZiBuYXRpdmVcbi8vIFByb21pc2UgaXMgYXZhaWxhYmxlLCB3ZSB3aWxsIHVzZSBpdDpcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0LCAkZmxvdy1kaXNhYmxlLWxpbmUgKi9cbmlmICh0eXBlb2YgUHJvbWlzZSAhPT0gJ3VuZGVmaW5lZCcgJiYgaXNOYXRpdmUoUHJvbWlzZSkpIHtcbiAgdmFyIHAgPSBQcm9taXNlLnJlc29sdmUoKTtcbiAgdGltZXJGdW5jID0gZnVuY3Rpb24gKCkge1xuICAgIHAudGhlbihmbHVzaENhbGxiYWNrcyk7XG4gICAgLy8gSW4gcHJvYmxlbWF0aWMgVUlXZWJWaWV3cywgUHJvbWlzZS50aGVuIGRvZXNuJ3QgY29tcGxldGVseSBicmVhaywgYnV0XG4gICAgLy8gaXQgY2FuIGdldCBzdHVjayBpbiBhIHdlaXJkIHN0YXRlIHdoZXJlIGNhbGxiYWNrcyBhcmUgcHVzaGVkIGludG8gdGhlXG4gICAgLy8gbWljcm90YXNrIHF1ZXVlIGJ1dCB0aGUgcXVldWUgaXNuJ3QgYmVpbmcgZmx1c2hlZCwgdW50aWwgdGhlIGJyb3dzZXJcbiAgICAvLyBuZWVkcyB0byBkbyBzb21lIG90aGVyIHdvcmssIGUuZy4gaGFuZGxlIGEgdGltZXIuIFRoZXJlZm9yZSB3ZSBjYW5cbiAgICAvLyBcImZvcmNlXCIgdGhlIG1pY3JvdGFzayBxdWV1ZSB0byBiZSBmbHVzaGVkIGJ5IGFkZGluZyBhbiBlbXB0eSB0aW1lci5cbiAgICBpZiAoaXNJT1MpIHsgc2V0VGltZW91dChub29wKTsgfVxuICB9O1xuICBpc1VzaW5nTWljcm9UYXNrID0gdHJ1ZTtcbn0gZWxzZSBpZiAoIWlzSUUgJiYgdHlwZW9mIE11dGF0aW9uT2JzZXJ2ZXIgIT09ICd1bmRlZmluZWQnICYmIChcbiAgaXNOYXRpdmUoTXV0YXRpb25PYnNlcnZlcikgfHxcbiAgLy8gUGhhbnRvbUpTIGFuZCBpT1MgNy54XG4gIE11dGF0aW9uT2JzZXJ2ZXIudG9TdHJpbmcoKSA9PT0gJ1tvYmplY3QgTXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9yXSdcbikpIHtcbiAgLy8gVXNlIE11dGF0aW9uT2JzZXJ2ZXIgd2hlcmUgbmF0aXZlIFByb21pc2UgaXMgbm90IGF2YWlsYWJsZSxcbiAgLy8gZS5nLiBQaGFudG9tSlMsIGlPUzcsIEFuZHJvaWQgNC40XG4gIC8vICgjNjQ2NiBNdXRhdGlvbk9ic2VydmVyIGlzIHVucmVsaWFibGUgaW4gSUUxMSlcbiAgdmFyIGNvdW50ZXIgPSAxO1xuICB2YXIgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihmbHVzaENhbGxiYWNrcyk7XG4gIHZhciB0ZXh0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKFN0cmluZyhjb3VudGVyKSk7XG4gIG9ic2VydmVyLm9ic2VydmUodGV4dE5vZGUsIHtcbiAgICBjaGFyYWN0ZXJEYXRhOiB0cnVlXG4gIH0pO1xuICB0aW1lckZ1bmMgPSBmdW5jdGlvbiAoKSB7XG4gICAgY291bnRlciA9IChjb3VudGVyICsgMSkgJSAyO1xuICAgIHRleHROb2RlLmRhdGEgPSBTdHJpbmcoY291bnRlcik7XG4gIH07XG4gIGlzVXNpbmdNaWNyb1Rhc2sgPSB0cnVlO1xufSBlbHNlIGlmICh0eXBlb2Ygc2V0SW1tZWRpYXRlICE9PSAndW5kZWZpbmVkJyAmJiBpc05hdGl2ZShzZXRJbW1lZGlhdGUpKSB7XG4gIC8vIEZhbGxiYWNrIHRvIHNldEltbWVkaWF0ZS5cbiAgLy8gVGVjaGluaWNhbGx5IGl0IGxldmVyYWdlcyB0aGUgKG1hY3JvKSB0YXNrIHF1ZXVlLFxuICAvLyBidXQgaXQgaXMgc3RpbGwgYSBiZXR0ZXIgY2hvaWNlIHRoYW4gc2V0VGltZW91dC5cbiAgdGltZXJGdW5jID0gZnVuY3Rpb24gKCkge1xuICAgIHNldEltbWVkaWF0ZShmbHVzaENhbGxiYWNrcyk7XG4gIH07XG59IGVsc2Uge1xuICAvLyBGYWxsYmFjayB0byBzZXRUaW1lb3V0LlxuICB0aW1lckZ1bmMgPSBmdW5jdGlvbiAoKSB7XG4gICAgc2V0VGltZW91dChmbHVzaENhbGxiYWNrcywgMCk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIG5leHRUaWNrIChjYiwgY3R4KSB7XG4gIHZhciBfcmVzb2x2ZTtcbiAgY2FsbGJhY2tzLnB1c2goZnVuY3Rpb24gKCkge1xuICAgIGlmIChjYikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY2IuY2FsbChjdHgpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBoYW5kbGVFcnJvcihlLCBjdHgsICduZXh0VGljaycpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoX3Jlc29sdmUpIHtcbiAgICAgIF9yZXNvbHZlKGN0eCk7XG4gICAgfVxuICB9KTtcbiAgaWYgKCFwZW5kaW5nKSB7XG4gICAgcGVuZGluZyA9IHRydWU7XG4gICAgdGltZXJGdW5jKCk7XG4gIH1cbiAgLy8gJGZsb3ctZGlzYWJsZS1saW5lXG4gIGlmICghY2IgJiYgdHlwZW9mIFByb21pc2UgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlKSB7XG4gICAgICBfcmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgfSlcbiAgfVxufVxuXG4vKiAgKi9cblxudmFyIG1hcms7XG52YXIgbWVhc3VyZTtcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgdmFyIHBlcmYgPSBpbkJyb3dzZXIgJiYgd2luZG93LnBlcmZvcm1hbmNlO1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKFxuICAgIHBlcmYgJiZcbiAgICBwZXJmLm1hcmsgJiZcbiAgICBwZXJmLm1lYXN1cmUgJiZcbiAgICBwZXJmLmNsZWFyTWFya3MgJiZcbiAgICBwZXJmLmNsZWFyTWVhc3VyZXNcbiAgKSB7XG4gICAgbWFyayA9IGZ1bmN0aW9uICh0YWcpIHsgcmV0dXJuIHBlcmYubWFyayh0YWcpOyB9O1xuICAgIG1lYXN1cmUgPSBmdW5jdGlvbiAobmFtZSwgc3RhcnRUYWcsIGVuZFRhZykge1xuICAgICAgcGVyZi5tZWFzdXJlKG5hbWUsIHN0YXJ0VGFnLCBlbmRUYWcpO1xuICAgICAgcGVyZi5jbGVhck1hcmtzKHN0YXJ0VGFnKTtcbiAgICAgIHBlcmYuY2xlYXJNYXJrcyhlbmRUYWcpO1xuICAgICAgLy8gcGVyZi5jbGVhck1lYXN1cmVzKG5hbWUpXG4gICAgfTtcbiAgfVxufVxuXG4vKiBub3QgdHlwZSBjaGVja2luZyB0aGlzIGZpbGUgYmVjYXVzZSBmbG93IGRvZXNuJ3QgcGxheSB3ZWxsIHdpdGggUHJveHkgKi9cblxudmFyIGluaXRQcm94eTtcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgdmFyIGFsbG93ZWRHbG9iYWxzID0gbWFrZU1hcChcbiAgICAnSW5maW5pdHksdW5kZWZpbmVkLE5hTixpc0Zpbml0ZSxpc05hTiwnICtcbiAgICAncGFyc2VGbG9hdCxwYXJzZUludCxkZWNvZGVVUkksZGVjb2RlVVJJQ29tcG9uZW50LGVuY29kZVVSSSxlbmNvZGVVUklDb21wb25lbnQsJyArXG4gICAgJ01hdGgsTnVtYmVyLERhdGUsQXJyYXksT2JqZWN0LEJvb2xlYW4sU3RyaW5nLFJlZ0V4cCxNYXAsU2V0LEpTT04sSW50bCwnICtcbiAgICAncmVxdWlyZScgLy8gZm9yIFdlYnBhY2svQnJvd3NlcmlmeVxuICApO1xuXG4gIHZhciB3YXJuTm9uUHJlc2VudCA9IGZ1bmN0aW9uICh0YXJnZXQsIGtleSkge1xuICAgIHdhcm4oXG4gICAgICBcIlByb3BlcnR5IG9yIG1ldGhvZCBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgaXMgbm90IGRlZmluZWQgb24gdGhlIGluc3RhbmNlIGJ1dCBcIiArXG4gICAgICAncmVmZXJlbmNlZCBkdXJpbmcgcmVuZGVyLiBNYWtlIHN1cmUgdGhhdCB0aGlzIHByb3BlcnR5IGlzIHJlYWN0aXZlLCAnICtcbiAgICAgICdlaXRoZXIgaW4gdGhlIGRhdGEgb3B0aW9uLCBvciBmb3IgY2xhc3MtYmFzZWQgY29tcG9uZW50cywgYnkgJyArXG4gICAgICAnaW5pdGlhbGl6aW5nIHRoZSBwcm9wZXJ0eS4gJyArXG4gICAgICAnU2VlOiBodHRwczovL3Z1ZWpzLm9yZy92Mi9ndWlkZS9yZWFjdGl2aXR5Lmh0bWwjRGVjbGFyaW5nLVJlYWN0aXZlLVByb3BlcnRpZXMuJyxcbiAgICAgIHRhcmdldFxuICAgICk7XG4gIH07XG5cbiAgdmFyIHdhcm5SZXNlcnZlZFByZWZpeCA9IGZ1bmN0aW9uICh0YXJnZXQsIGtleSkge1xuICAgIHdhcm4oXG4gICAgICBcIlByb3BlcnR5IFxcXCJcIiArIGtleSArIFwiXFxcIiBtdXN0IGJlIGFjY2Vzc2VkIHdpdGggXFxcIiRkYXRhLlwiICsga2V5ICsgXCJcXFwiIGJlY2F1c2UgXCIgK1xuICAgICAgJ3Byb3BlcnRpZXMgc3RhcnRpbmcgd2l0aCBcIiRcIiBvciBcIl9cIiBhcmUgbm90IHByb3hpZWQgaW4gdGhlIFZ1ZSBpbnN0YW5jZSB0byAnICtcbiAgICAgICdwcmV2ZW50IGNvbmZsaWN0cyB3aXRoIFZ1ZSBpbnRlcm5hbHMnICtcbiAgICAgICdTZWU6IGh0dHBzOi8vdnVlanMub3JnL3YyL2FwaS8jZGF0YScsXG4gICAgICB0YXJnZXRcbiAgICApO1xuICB9O1xuXG4gIHZhciBoYXNQcm94eSA9XG4gICAgdHlwZW9mIFByb3h5ICE9PSAndW5kZWZpbmVkJyAmJiBpc05hdGl2ZShQcm94eSk7XG5cbiAgaWYgKGhhc1Byb3h5KSB7XG4gICAgdmFyIGlzQnVpbHRJbk1vZGlmaWVyID0gbWFrZU1hcCgnc3RvcCxwcmV2ZW50LHNlbGYsY3RybCxzaGlmdCxhbHQsbWV0YSxleGFjdCcpO1xuICAgIGNvbmZpZy5rZXlDb2RlcyA9IG5ldyBQcm94eShjb25maWcua2V5Q29kZXMsIHtcbiAgICAgIHNldDogZnVuY3Rpb24gc2V0ICh0YXJnZXQsIGtleSwgdmFsdWUpIHtcbiAgICAgICAgaWYgKGlzQnVpbHRJbk1vZGlmaWVyKGtleSkpIHtcbiAgICAgICAgICB3YXJuKChcIkF2b2lkIG92ZXJ3cml0aW5nIGJ1aWx0LWluIG1vZGlmaWVyIGluIGNvbmZpZy5rZXlDb2RlczogLlwiICsga2V5KSk7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGFyZ2V0W2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB2YXIgaGFzSGFuZGxlciA9IHtcbiAgICBoYXM6IGZ1bmN0aW9uIGhhcyAodGFyZ2V0LCBrZXkpIHtcbiAgICAgIHZhciBoYXMgPSBrZXkgaW4gdGFyZ2V0O1xuICAgICAgdmFyIGlzQWxsb3dlZCA9IGFsbG93ZWRHbG9iYWxzKGtleSkgfHxcbiAgICAgICAgKHR5cGVvZiBrZXkgPT09ICdzdHJpbmcnICYmIGtleS5jaGFyQXQoMCkgPT09ICdfJyAmJiAhKGtleSBpbiB0YXJnZXQuJGRhdGEpKTtcbiAgICAgIGlmICghaGFzICYmICFpc0FsbG93ZWQpIHtcbiAgICAgICAgaWYgKGtleSBpbiB0YXJnZXQuJGRhdGEpIHsgd2FyblJlc2VydmVkUHJlZml4KHRhcmdldCwga2V5KTsgfVxuICAgICAgICBlbHNlIHsgd2Fybk5vblByZXNlbnQodGFyZ2V0LCBrZXkpOyB9XG4gICAgICB9XG4gICAgICByZXR1cm4gaGFzIHx8ICFpc0FsbG93ZWRcbiAgICB9XG4gIH07XG5cbiAgdmFyIGdldEhhbmRsZXIgPSB7XG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQgKHRhcmdldCwga2V5KSB7XG4gICAgICBpZiAodHlwZW9mIGtleSA9PT0gJ3N0cmluZycgJiYgIShrZXkgaW4gdGFyZ2V0KSkge1xuICAgICAgICBpZiAoa2V5IGluIHRhcmdldC4kZGF0YSkgeyB3YXJuUmVzZXJ2ZWRQcmVmaXgodGFyZ2V0LCBrZXkpOyB9XG4gICAgICAgIGVsc2UgeyB3YXJuTm9uUHJlc2VudCh0YXJnZXQsIGtleSk7IH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB0YXJnZXRba2V5XVxuICAgIH1cbiAgfTtcblxuICBpbml0UHJveHkgPSBmdW5jdGlvbiBpbml0UHJveHkgKHZtKSB7XG4gICAgaWYgKGhhc1Byb3h5KSB7XG4gICAgICAvLyBkZXRlcm1pbmUgd2hpY2ggcHJveHkgaGFuZGxlciB0byB1c2VcbiAgICAgIHZhciBvcHRpb25zID0gdm0uJG9wdGlvbnM7XG4gICAgICB2YXIgaGFuZGxlcnMgPSBvcHRpb25zLnJlbmRlciAmJiBvcHRpb25zLnJlbmRlci5fd2l0aFN0cmlwcGVkXG4gICAgICAgID8gZ2V0SGFuZGxlclxuICAgICAgICA6IGhhc0hhbmRsZXI7XG4gICAgICB2bS5fcmVuZGVyUHJveHkgPSBuZXcgUHJveHkodm0sIGhhbmRsZXJzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdm0uX3JlbmRlclByb3h5ID0gdm07XG4gICAgfVxuICB9O1xufVxuXG4vKiAgKi9cblxudmFyIHNlZW5PYmplY3RzID0gbmV3IF9TZXQoKTtcblxuLyoqXG4gKiBSZWN1cnNpdmVseSB0cmF2ZXJzZSBhbiBvYmplY3QgdG8gZXZva2UgYWxsIGNvbnZlcnRlZFxuICogZ2V0dGVycywgc28gdGhhdCBldmVyeSBuZXN0ZWQgcHJvcGVydHkgaW5zaWRlIHRoZSBvYmplY3RcbiAqIGlzIGNvbGxlY3RlZCBhcyBhIFwiZGVlcFwiIGRlcGVuZGVuY3kuXG4gKi9cbmZ1bmN0aW9uIHRyYXZlcnNlICh2YWwpIHtcbiAgX3RyYXZlcnNlKHZhbCwgc2Vlbk9iamVjdHMpO1xuICBzZWVuT2JqZWN0cy5jbGVhcigpO1xufVxuXG5mdW5jdGlvbiBfdHJhdmVyc2UgKHZhbCwgc2Vlbikge1xuICB2YXIgaSwga2V5cztcbiAgdmFyIGlzQSA9IEFycmF5LmlzQXJyYXkodmFsKTtcbiAgaWYgKCghaXNBICYmICFpc09iamVjdCh2YWwpKSB8fCBPYmplY3QuaXNGcm96ZW4odmFsKSB8fCB2YWwgaW5zdGFuY2VvZiBWTm9kZSkge1xuICAgIHJldHVyblxuICB9XG4gIGlmICh2YWwuX19vYl9fKSB7XG4gICAgdmFyIGRlcElkID0gdmFsLl9fb2JfXy5kZXAuaWQ7XG4gICAgaWYgKHNlZW4uaGFzKGRlcElkKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHNlZW4uYWRkKGRlcElkKTtcbiAgfVxuICBpZiAoaXNBKSB7XG4gICAgaSA9IHZhbC5sZW5ndGg7XG4gICAgd2hpbGUgKGktLSkgeyBfdHJhdmVyc2UodmFsW2ldLCBzZWVuKTsgfVxuICB9IGVsc2Uge1xuICAgIGtleXMgPSBPYmplY3Qua2V5cyh2YWwpO1xuICAgIGkgPSBrZXlzLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0tKSB7IF90cmF2ZXJzZSh2YWxba2V5c1tpXV0sIHNlZW4pOyB9XG4gIH1cbn1cblxuLyogICovXG5cbnZhciBub3JtYWxpemVFdmVudCA9IGNhY2hlZChmdW5jdGlvbiAobmFtZSkge1xuICB2YXIgcGFzc2l2ZSA9IG5hbWUuY2hhckF0KDApID09PSAnJic7XG4gIG5hbWUgPSBwYXNzaXZlID8gbmFtZS5zbGljZSgxKSA6IG5hbWU7XG4gIHZhciBvbmNlJCQxID0gbmFtZS5jaGFyQXQoMCkgPT09ICd+JzsgLy8gUHJlZml4ZWQgbGFzdCwgY2hlY2tlZCBmaXJzdFxuICBuYW1lID0gb25jZSQkMSA/IG5hbWUuc2xpY2UoMSkgOiBuYW1lO1xuICB2YXIgY2FwdHVyZSA9IG5hbWUuY2hhckF0KDApID09PSAnISc7XG4gIG5hbWUgPSBjYXB0dXJlID8gbmFtZS5zbGljZSgxKSA6IG5hbWU7XG4gIHJldHVybiB7XG4gICAgbmFtZTogbmFtZSxcbiAgICBvbmNlOiBvbmNlJCQxLFxuICAgIGNhcHR1cmU6IGNhcHR1cmUsXG4gICAgcGFzc2l2ZTogcGFzc2l2ZVxuICB9XG59KTtcblxuZnVuY3Rpb24gY3JlYXRlRm5JbnZva2VyIChmbnMsIHZtKSB7XG4gIGZ1bmN0aW9uIGludm9rZXIgKCkge1xuICAgIHZhciBhcmd1bWVudHMkMSA9IGFyZ3VtZW50cztcblxuICAgIHZhciBmbnMgPSBpbnZva2VyLmZucztcbiAgICBpZiAoQXJyYXkuaXNBcnJheShmbnMpKSB7XG4gICAgICB2YXIgY2xvbmVkID0gZm5zLnNsaWNlKCk7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNsb25lZC5sZW5ndGg7IGkrKykge1xuICAgICAgICBpbnZva2VXaXRoRXJyb3JIYW5kbGluZyhjbG9uZWRbaV0sIG51bGwsIGFyZ3VtZW50cyQxLCB2bSwgXCJ2LW9uIGhhbmRsZXJcIik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHJldHVybiBoYW5kbGVyIHJldHVybiB2YWx1ZSBmb3Igc2luZ2xlIGhhbmRsZXJzXG4gICAgICByZXR1cm4gaW52b2tlV2l0aEVycm9ySGFuZGxpbmcoZm5zLCBudWxsLCBhcmd1bWVudHMsIHZtLCBcInYtb24gaGFuZGxlclwiKVxuICAgIH1cbiAgfVxuICBpbnZva2VyLmZucyA9IGZucztcbiAgcmV0dXJuIGludm9rZXJcbn1cblxuZnVuY3Rpb24gdXBkYXRlTGlzdGVuZXJzIChcbiAgb24sXG4gIG9sZE9uLFxuICBhZGQsXG4gIHJlbW92ZSQkMSxcbiAgY3JlYXRlT25jZUhhbmRsZXIsXG4gIHZtXG4pIHtcbiAgdmFyIG5hbWUsIGRlZiQkMSwgY3VyLCBvbGQsIGV2ZW50O1xuICBmb3IgKG5hbWUgaW4gb24pIHtcbiAgICBkZWYkJDEgPSBjdXIgPSBvbltuYW1lXTtcbiAgICBvbGQgPSBvbGRPbltuYW1lXTtcbiAgICBldmVudCA9IG5vcm1hbGl6ZUV2ZW50KG5hbWUpO1xuICAgIGlmIChpc1VuZGVmKGN1cikpIHtcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgd2FybihcbiAgICAgICAgXCJJbnZhbGlkIGhhbmRsZXIgZm9yIGV2ZW50IFxcXCJcIiArIChldmVudC5uYW1lKSArIFwiXFxcIjogZ290IFwiICsgU3RyaW5nKGN1ciksXG4gICAgICAgIHZtXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoaXNVbmRlZihvbGQpKSB7XG4gICAgICBpZiAoaXNVbmRlZihjdXIuZm5zKSkge1xuICAgICAgICBjdXIgPSBvbltuYW1lXSA9IGNyZWF0ZUZuSW52b2tlcihjdXIsIHZtKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc1RydWUoZXZlbnQub25jZSkpIHtcbiAgICAgICAgY3VyID0gb25bbmFtZV0gPSBjcmVhdGVPbmNlSGFuZGxlcihldmVudC5uYW1lLCBjdXIsIGV2ZW50LmNhcHR1cmUpO1xuICAgICAgfVxuICAgICAgYWRkKGV2ZW50Lm5hbWUsIGN1ciwgZXZlbnQuY2FwdHVyZSwgZXZlbnQucGFzc2l2ZSwgZXZlbnQucGFyYW1zKTtcbiAgICB9IGVsc2UgaWYgKGN1ciAhPT0gb2xkKSB7XG4gICAgICBvbGQuZm5zID0gY3VyO1xuICAgICAgb25bbmFtZV0gPSBvbGQ7XG4gICAgfVxuICB9XG4gIGZvciAobmFtZSBpbiBvbGRPbikge1xuICAgIGlmIChpc1VuZGVmKG9uW25hbWVdKSkge1xuICAgICAgZXZlbnQgPSBub3JtYWxpemVFdmVudChuYW1lKTtcbiAgICAgIHJlbW92ZSQkMShldmVudC5uYW1lLCBvbGRPbltuYW1lXSwgZXZlbnQuY2FwdHVyZSk7XG4gICAgfVxuICB9XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBtZXJnZVZOb2RlSG9vayAoZGVmLCBob29rS2V5LCBob29rKSB7XG4gIGlmIChkZWYgaW5zdGFuY2VvZiBWTm9kZSkge1xuICAgIGRlZiA9IGRlZi5kYXRhLmhvb2sgfHwgKGRlZi5kYXRhLmhvb2sgPSB7fSk7XG4gIH1cbiAgdmFyIGludm9rZXI7XG4gIHZhciBvbGRIb29rID0gZGVmW2hvb2tLZXldO1xuXG4gIGZ1bmN0aW9uIHdyYXBwZWRIb29rICgpIHtcbiAgICBob29rLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgLy8gaW1wb3J0YW50OiByZW1vdmUgbWVyZ2VkIGhvb2sgdG8gZW5zdXJlIGl0J3MgY2FsbGVkIG9ubHkgb25jZVxuICAgIC8vIGFuZCBwcmV2ZW50IG1lbW9yeSBsZWFrXG4gICAgcmVtb3ZlKGludm9rZXIuZm5zLCB3cmFwcGVkSG9vayk7XG4gIH1cblxuICBpZiAoaXNVbmRlZihvbGRIb29rKSkge1xuICAgIC8vIG5vIGV4aXN0aW5nIGhvb2tcbiAgICBpbnZva2VyID0gY3JlYXRlRm5JbnZva2VyKFt3cmFwcGVkSG9va10pO1xuICB9IGVsc2Uge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChpc0RlZihvbGRIb29rLmZucykgJiYgaXNUcnVlKG9sZEhvb2subWVyZ2VkKSkge1xuICAgICAgLy8gYWxyZWFkeSBhIG1lcmdlZCBpbnZva2VyXG4gICAgICBpbnZva2VyID0gb2xkSG9vaztcbiAgICAgIGludm9rZXIuZm5zLnB1c2god3JhcHBlZEhvb2spO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBleGlzdGluZyBwbGFpbiBob29rXG4gICAgICBpbnZva2VyID0gY3JlYXRlRm5JbnZva2VyKFtvbGRIb29rLCB3cmFwcGVkSG9va10pO1xuICAgIH1cbiAgfVxuXG4gIGludm9rZXIubWVyZ2VkID0gdHJ1ZTtcbiAgZGVmW2hvb2tLZXldID0gaW52b2tlcjtcbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGV4dHJhY3RQcm9wc0Zyb21WTm9kZURhdGEgKFxuICBkYXRhLFxuICBDdG9yLFxuICB0YWdcbikge1xuICAvLyB3ZSBhcmUgb25seSBleHRyYWN0aW5nIHJhdyB2YWx1ZXMgaGVyZS5cbiAgLy8gdmFsaWRhdGlvbiBhbmQgZGVmYXVsdCB2YWx1ZXMgYXJlIGhhbmRsZWQgaW4gdGhlIGNoaWxkXG4gIC8vIGNvbXBvbmVudCBpdHNlbGYuXG4gIHZhciBwcm9wT3B0aW9ucyA9IEN0b3Iub3B0aW9ucy5wcm9wcztcbiAgaWYgKGlzVW5kZWYocHJvcE9wdGlvbnMpKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIHJlcyA9IHt9O1xuICB2YXIgYXR0cnMgPSBkYXRhLmF0dHJzO1xuICB2YXIgcHJvcHMgPSBkYXRhLnByb3BzO1xuICBpZiAoaXNEZWYoYXR0cnMpIHx8IGlzRGVmKHByb3BzKSkge1xuICAgIGZvciAodmFyIGtleSBpbiBwcm9wT3B0aW9ucykge1xuICAgICAgdmFyIGFsdEtleSA9IGh5cGhlbmF0ZShrZXkpO1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgdmFyIGtleUluTG93ZXJDYXNlID0ga2V5LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBrZXkgIT09IGtleUluTG93ZXJDYXNlICYmXG4gICAgICAgICAgYXR0cnMgJiYgaGFzT3duKGF0dHJzLCBrZXlJbkxvd2VyQ2FzZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGlwKFxuICAgICAgICAgICAgXCJQcm9wIFxcXCJcIiArIGtleUluTG93ZXJDYXNlICsgXCJcXFwiIGlzIHBhc3NlZCB0byBjb21wb25lbnQgXCIgK1xuICAgICAgICAgICAgKGZvcm1hdENvbXBvbmVudE5hbWUodGFnIHx8IEN0b3IpKSArIFwiLCBidXQgdGhlIGRlY2xhcmVkIHByb3AgbmFtZSBpc1wiICtcbiAgICAgICAgICAgIFwiIFxcXCJcIiArIGtleSArIFwiXFxcIi4gXCIgK1xuICAgICAgICAgICAgXCJOb3RlIHRoYXQgSFRNTCBhdHRyaWJ1dGVzIGFyZSBjYXNlLWluc2Vuc2l0aXZlIGFuZCBjYW1lbENhc2VkIFwiICtcbiAgICAgICAgICAgIFwicHJvcHMgbmVlZCB0byB1c2UgdGhlaXIga2ViYWItY2FzZSBlcXVpdmFsZW50cyB3aGVuIHVzaW5nIGluLURPTSBcIiArXG4gICAgICAgICAgICBcInRlbXBsYXRlcy4gWW91IHNob3VsZCBwcm9iYWJseSB1c2UgXFxcIlwiICsgYWx0S2V5ICsgXCJcXFwiIGluc3RlYWQgb2YgXFxcIlwiICsga2V5ICsgXCJcXFwiLlwiXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY2hlY2tQcm9wKHJlcywgcHJvcHMsIGtleSwgYWx0S2V5LCB0cnVlKSB8fFxuICAgICAgY2hlY2tQcm9wKHJlcywgYXR0cnMsIGtleSwgYWx0S2V5LCBmYWxzZSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNcbn1cblxuZnVuY3Rpb24gY2hlY2tQcm9wIChcbiAgcmVzLFxuICBoYXNoLFxuICBrZXksXG4gIGFsdEtleSxcbiAgcHJlc2VydmVcbikge1xuICBpZiAoaXNEZWYoaGFzaCkpIHtcbiAgICBpZiAoaGFzT3duKGhhc2gsIGtleSkpIHtcbiAgICAgIHJlc1trZXldID0gaGFzaFtrZXldO1xuICAgICAgaWYgKCFwcmVzZXJ2ZSkge1xuICAgICAgICBkZWxldGUgaGFzaFtrZXldO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGVsc2UgaWYgKGhhc093bihoYXNoLCBhbHRLZXkpKSB7XG4gICAgICByZXNba2V5XSA9IGhhc2hbYWx0S2V5XTtcbiAgICAgIGlmICghcHJlc2VydmUpIHtcbiAgICAgICAgZGVsZXRlIGhhc2hbYWx0S2V5XTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG4vKiAgKi9cblxuLy8gVGhlIHRlbXBsYXRlIGNvbXBpbGVyIGF0dGVtcHRzIHRvIG1pbmltaXplIHRoZSBuZWVkIGZvciBub3JtYWxpemF0aW9uIGJ5XG4vLyBzdGF0aWNhbGx5IGFuYWx5emluZyB0aGUgdGVtcGxhdGUgYXQgY29tcGlsZSB0aW1lLlxuLy9cbi8vIEZvciBwbGFpbiBIVE1MIG1hcmt1cCwgbm9ybWFsaXphdGlvbiBjYW4gYmUgY29tcGxldGVseSBza2lwcGVkIGJlY2F1c2UgdGhlXG4vLyBnZW5lcmF0ZWQgcmVuZGVyIGZ1bmN0aW9uIGlzIGd1YXJhbnRlZWQgdG8gcmV0dXJuIEFycmF5PFZOb2RlPi4gVGhlcmUgYXJlXG4vLyB0d28gY2FzZXMgd2hlcmUgZXh0cmEgbm9ybWFsaXphdGlvbiBpcyBuZWVkZWQ6XG5cbi8vIDEuIFdoZW4gdGhlIGNoaWxkcmVuIGNvbnRhaW5zIGNvbXBvbmVudHMgLSBiZWNhdXNlIGEgZnVuY3Rpb25hbCBjb21wb25lbnRcbi8vIG1heSByZXR1cm4gYW4gQXJyYXkgaW5zdGVhZCBvZiBhIHNpbmdsZSByb290LiBJbiB0aGlzIGNhc2UsIGp1c3QgYSBzaW1wbGVcbi8vIG5vcm1hbGl6YXRpb24gaXMgbmVlZGVkIC0gaWYgYW55IGNoaWxkIGlzIGFuIEFycmF5LCB3ZSBmbGF0dGVuIHRoZSB3aG9sZVxuLy8gdGhpbmcgd2l0aCBBcnJheS5wcm90b3R5cGUuY29uY2F0LiBJdCBpcyBndWFyYW50ZWVkIHRvIGJlIG9ubHkgMS1sZXZlbCBkZWVwXG4vLyBiZWNhdXNlIGZ1bmN0aW9uYWwgY29tcG9uZW50cyBhbHJlYWR5IG5vcm1hbGl6ZSB0aGVpciBvd24gY2hpbGRyZW4uXG5mdW5jdGlvbiBzaW1wbGVOb3JtYWxpemVDaGlsZHJlbiAoY2hpbGRyZW4pIHtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuW2ldKSkge1xuICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sIGNoaWxkcmVuKVxuICAgIH1cbiAgfVxuICByZXR1cm4gY2hpbGRyZW5cbn1cblxuLy8gMi4gV2hlbiB0aGUgY2hpbGRyZW4gY29udGFpbnMgY29uc3RydWN0cyB0aGF0IGFsd2F5cyBnZW5lcmF0ZWQgbmVzdGVkIEFycmF5cyxcbi8vIGUuZy4gPHRlbXBsYXRlPiwgPHNsb3Q+LCB2LWZvciwgb3Igd2hlbiB0aGUgY2hpbGRyZW4gaXMgcHJvdmlkZWQgYnkgdXNlclxuLy8gd2l0aCBoYW5kLXdyaXR0ZW4gcmVuZGVyIGZ1bmN0aW9ucyAvIEpTWC4gSW4gc3VjaCBjYXNlcyBhIGZ1bGwgbm9ybWFsaXphdGlvblxuLy8gaXMgbmVlZGVkIHRvIGNhdGVyIHRvIGFsbCBwb3NzaWJsZSB0eXBlcyBvZiBjaGlsZHJlbiB2YWx1ZXMuXG5mdW5jdGlvbiBub3JtYWxpemVDaGlsZHJlbiAoY2hpbGRyZW4pIHtcbiAgcmV0dXJuIGlzUHJpbWl0aXZlKGNoaWxkcmVuKVxuICAgID8gW2NyZWF0ZVRleHRWTm9kZShjaGlsZHJlbildXG4gICAgOiBBcnJheS5pc0FycmF5KGNoaWxkcmVuKVxuICAgICAgPyBub3JtYWxpemVBcnJheUNoaWxkcmVuKGNoaWxkcmVuKVxuICAgICAgOiB1bmRlZmluZWRcbn1cblxuZnVuY3Rpb24gaXNUZXh0Tm9kZSAobm9kZSkge1xuICByZXR1cm4gaXNEZWYobm9kZSkgJiYgaXNEZWYobm9kZS50ZXh0KSAmJiBpc0ZhbHNlKG5vZGUuaXNDb21tZW50KVxufVxuXG5mdW5jdGlvbiBub3JtYWxpemVBcnJheUNoaWxkcmVuIChjaGlsZHJlbiwgbmVzdGVkSW5kZXgpIHtcbiAgdmFyIHJlcyA9IFtdO1xuICB2YXIgaSwgYywgbGFzdEluZGV4LCBsYXN0O1xuICBmb3IgKGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICBjID0gY2hpbGRyZW5baV07XG4gICAgaWYgKGlzVW5kZWYoYykgfHwgdHlwZW9mIGMgPT09ICdib29sZWFuJykgeyBjb250aW51ZSB9XG4gICAgbGFzdEluZGV4ID0gcmVzLmxlbmd0aCAtIDE7XG4gICAgbGFzdCA9IHJlc1tsYXN0SW5kZXhdO1xuICAgIC8vICBuZXN0ZWRcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjKSkge1xuICAgICAgaWYgKGMubGVuZ3RoID4gMCkge1xuICAgICAgICBjID0gbm9ybWFsaXplQXJyYXlDaGlsZHJlbihjLCAoKG5lc3RlZEluZGV4IHx8ICcnKSArIFwiX1wiICsgaSkpO1xuICAgICAgICAvLyBtZXJnZSBhZGphY2VudCB0ZXh0IG5vZGVzXG4gICAgICAgIGlmIChpc1RleHROb2RlKGNbMF0pICYmIGlzVGV4dE5vZGUobGFzdCkpIHtcbiAgICAgICAgICByZXNbbGFzdEluZGV4XSA9IGNyZWF0ZVRleHRWTm9kZShsYXN0LnRleHQgKyAoY1swXSkudGV4dCk7XG4gICAgICAgICAgYy5zaGlmdCgpO1xuICAgICAgICB9XG4gICAgICAgIHJlcy5wdXNoLmFwcGx5KHJlcywgYyk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1ByaW1pdGl2ZShjKSkge1xuICAgICAgaWYgKGlzVGV4dE5vZGUobGFzdCkpIHtcbiAgICAgICAgLy8gbWVyZ2UgYWRqYWNlbnQgdGV4dCBub2Rlc1xuICAgICAgICAvLyB0aGlzIGlzIG5lY2Vzc2FyeSBmb3IgU1NSIGh5ZHJhdGlvbiBiZWNhdXNlIHRleHQgbm9kZXMgYXJlXG4gICAgICAgIC8vIGVzc2VudGlhbGx5IG1lcmdlZCB3aGVuIHJlbmRlcmVkIHRvIEhUTUwgc3RyaW5nc1xuICAgICAgICByZXNbbGFzdEluZGV4XSA9IGNyZWF0ZVRleHRWTm9kZShsYXN0LnRleHQgKyBjKTtcbiAgICAgIH0gZWxzZSBpZiAoYyAhPT0gJycpIHtcbiAgICAgICAgLy8gY29udmVydCBwcmltaXRpdmUgdG8gdm5vZGVcbiAgICAgICAgcmVzLnB1c2goY3JlYXRlVGV4dFZOb2RlKGMpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGlzVGV4dE5vZGUoYykgJiYgaXNUZXh0Tm9kZShsYXN0KSkge1xuICAgICAgICAvLyBtZXJnZSBhZGphY2VudCB0ZXh0IG5vZGVzXG4gICAgICAgIHJlc1tsYXN0SW5kZXhdID0gY3JlYXRlVGV4dFZOb2RlKGxhc3QudGV4dCArIGMudGV4dCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBkZWZhdWx0IGtleSBmb3IgbmVzdGVkIGFycmF5IGNoaWxkcmVuIChsaWtlbHkgZ2VuZXJhdGVkIGJ5IHYtZm9yKVxuICAgICAgICBpZiAoaXNUcnVlKGNoaWxkcmVuLl9pc1ZMaXN0KSAmJlxuICAgICAgICAgIGlzRGVmKGMudGFnKSAmJlxuICAgICAgICAgIGlzVW5kZWYoYy5rZXkpICYmXG4gICAgICAgICAgaXNEZWYobmVzdGVkSW5kZXgpKSB7XG4gICAgICAgICAgYy5rZXkgPSBcIl9fdmxpc3RcIiArIG5lc3RlZEluZGV4ICsgXCJfXCIgKyBpICsgXCJfX1wiO1xuICAgICAgICB9XG4gICAgICAgIHJlcy5wdXNoKGMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBpbml0UHJvdmlkZSAodm0pIHtcbiAgdmFyIHByb3ZpZGUgPSB2bS4kb3B0aW9ucy5wcm92aWRlO1xuICBpZiAocHJvdmlkZSkge1xuICAgIHZtLl9wcm92aWRlZCA9IHR5cGVvZiBwcm92aWRlID09PSAnZnVuY3Rpb24nXG4gICAgICA/IHByb3ZpZGUuY2FsbCh2bSlcbiAgICAgIDogcHJvdmlkZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0SW5qZWN0aW9ucyAodm0pIHtcbiAgdmFyIHJlc3VsdCA9IHJlc29sdmVJbmplY3Qodm0uJG9wdGlvbnMuaW5qZWN0LCB2bSk7XG4gIGlmIChyZXN1bHQpIHtcbiAgICB0b2dnbGVPYnNlcnZpbmcoZmFsc2UpO1xuICAgIE9iamVjdC5rZXlzKHJlc3VsdCkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgZGVmaW5lUmVhY3RpdmUkJDEodm0sIGtleSwgcmVzdWx0W2tleV0sIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB3YXJuKFxuICAgICAgICAgICAgXCJBdm9pZCBtdXRhdGluZyBhbiBpbmplY3RlZCB2YWx1ZSBkaXJlY3RseSBzaW5jZSB0aGUgY2hhbmdlcyB3aWxsIGJlIFwiICtcbiAgICAgICAgICAgIFwib3ZlcndyaXR0ZW4gd2hlbmV2ZXIgdGhlIHByb3ZpZGVkIGNvbXBvbmVudCByZS1yZW5kZXJzLiBcIiArXG4gICAgICAgICAgICBcImluamVjdGlvbiBiZWluZyBtdXRhdGVkOiBcXFwiXCIgKyBrZXkgKyBcIlxcXCJcIixcbiAgICAgICAgICAgIHZtXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWZpbmVSZWFjdGl2ZSQkMSh2bSwga2V5LCByZXN1bHRba2V5XSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdG9nZ2xlT2JzZXJ2aW5nKHRydWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVJbmplY3QgKGluamVjdCwgdm0pIHtcbiAgaWYgKGluamVjdCkge1xuICAgIC8vIGluamVjdCBpcyA6YW55IGJlY2F1c2UgZmxvdyBpcyBub3Qgc21hcnQgZW5vdWdoIHRvIGZpZ3VyZSBvdXQgY2FjaGVkXG4gICAgdmFyIHJlc3VsdCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgdmFyIGtleXMgPSBoYXNTeW1ib2xcbiAgICAgID8gUmVmbGVjdC5vd25LZXlzKGluamVjdClcbiAgICAgIDogT2JqZWN0LmtleXMoaW5qZWN0KTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGtleSA9IGtleXNbaV07XG4gICAgICAvLyAjNjU3NCBpbiBjYXNlIHRoZSBpbmplY3Qgb2JqZWN0IGlzIG9ic2VydmVkLi4uXG4gICAgICBpZiAoa2V5ID09PSAnX19vYl9fJykgeyBjb250aW51ZSB9XG4gICAgICB2YXIgcHJvdmlkZUtleSA9IGluamVjdFtrZXldLmZyb207XG4gICAgICB2YXIgc291cmNlID0gdm07XG4gICAgICB3aGlsZSAoc291cmNlKSB7XG4gICAgICAgIGlmIChzb3VyY2UuX3Byb3ZpZGVkICYmIGhhc093bihzb3VyY2UuX3Byb3ZpZGVkLCBwcm92aWRlS2V5KSkge1xuICAgICAgICAgIHJlc3VsdFtrZXldID0gc291cmNlLl9wcm92aWRlZFtwcm92aWRlS2V5XTtcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICAgIHNvdXJjZSA9IHNvdXJjZS4kcGFyZW50O1xuICAgICAgfVxuICAgICAgaWYgKCFzb3VyY2UpIHtcbiAgICAgICAgaWYgKCdkZWZhdWx0JyBpbiBpbmplY3Rba2V5XSkge1xuICAgICAgICAgIHZhciBwcm92aWRlRGVmYXVsdCA9IGluamVjdFtrZXldLmRlZmF1bHQ7XG4gICAgICAgICAgcmVzdWx0W2tleV0gPSB0eXBlb2YgcHJvdmlkZURlZmF1bHQgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgID8gcHJvdmlkZURlZmF1bHQuY2FsbCh2bSlcbiAgICAgICAgICAgIDogcHJvdmlkZURlZmF1bHQ7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgIHdhcm4oKFwiSW5qZWN0aW9uIFxcXCJcIiArIGtleSArIFwiXFxcIiBub3QgZm91bmRcIiksIHZtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cbn1cblxuLyogICovXG5cblxuXG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciByZXNvbHZpbmcgcmF3IGNoaWxkcmVuIFZOb2RlcyBpbnRvIGEgc2xvdCBvYmplY3QuXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVTbG90cyAoXG4gIGNoaWxkcmVuLFxuICBjb250ZXh0XG4pIHtcbiAgaWYgKCFjaGlsZHJlbiB8fCAhY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHt9XG4gIH1cbiAgdmFyIHNsb3RzID0ge307XG4gIGZvciAodmFyIGkgPSAwLCBsID0gY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgdmFyIGNoaWxkID0gY2hpbGRyZW5baV07XG4gICAgdmFyIGRhdGEgPSBjaGlsZC5kYXRhO1xuICAgIC8vIHJlbW92ZSBzbG90IGF0dHJpYnV0ZSBpZiB0aGUgbm9kZSBpcyByZXNvbHZlZCBhcyBhIFZ1ZSBzbG90IG5vZGVcbiAgICBpZiAoZGF0YSAmJiBkYXRhLmF0dHJzICYmIGRhdGEuYXR0cnMuc2xvdCkge1xuICAgICAgZGVsZXRlIGRhdGEuYXR0cnMuc2xvdDtcbiAgICB9XG4gICAgLy8gbmFtZWQgc2xvdHMgc2hvdWxkIG9ubHkgYmUgcmVzcGVjdGVkIGlmIHRoZSB2bm9kZSB3YXMgcmVuZGVyZWQgaW4gdGhlXG4gICAgLy8gc2FtZSBjb250ZXh0LlxuICAgIGlmICgoY2hpbGQuY29udGV4dCA9PT0gY29udGV4dCB8fCBjaGlsZC5mbkNvbnRleHQgPT09IGNvbnRleHQpICYmXG4gICAgICBkYXRhICYmIGRhdGEuc2xvdCAhPSBudWxsXG4gICAgKSB7XG4gICAgICB2YXIgbmFtZSA9IGRhdGEuc2xvdDtcbiAgICAgIHZhciBzbG90ID0gKHNsb3RzW25hbWVdIHx8IChzbG90c1tuYW1lXSA9IFtdKSk7XG4gICAgICBpZiAoY2hpbGQudGFnID09PSAndGVtcGxhdGUnKSB7XG4gICAgICAgIHNsb3QucHVzaC5hcHBseShzbG90LCBjaGlsZC5jaGlsZHJlbiB8fCBbXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzbG90LnB1c2goY2hpbGQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAoc2xvdHMuZGVmYXVsdCB8fCAoc2xvdHMuZGVmYXVsdCA9IFtdKSkucHVzaChjaGlsZCk7XG4gICAgfVxuICB9XG4gIC8vIGlnbm9yZSBzbG90cyB0aGF0IGNvbnRhaW5zIG9ubHkgd2hpdGVzcGFjZVxuICBmb3IgKHZhciBuYW1lJDEgaW4gc2xvdHMpIHtcbiAgICBpZiAoc2xvdHNbbmFtZSQxXS5ldmVyeShpc1doaXRlc3BhY2UpKSB7XG4gICAgICBkZWxldGUgc2xvdHNbbmFtZSQxXTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHNsb3RzXG59XG5cbmZ1bmN0aW9uIGlzV2hpdGVzcGFjZSAobm9kZSkge1xuICByZXR1cm4gKG5vZGUuaXNDb21tZW50ICYmICFub2RlLmFzeW5jRmFjdG9yeSkgfHwgbm9kZS50ZXh0ID09PSAnICdcbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZVNjb3BlZFNsb3RzIChcbiAgc2xvdHMsXG4gIG5vcm1hbFNsb3RzLFxuICBwcmV2U2xvdHNcbikge1xuICB2YXIgcmVzO1xuICB2YXIgaGFzTm9ybWFsU2xvdHMgPSBPYmplY3Qua2V5cyhub3JtYWxTbG90cykubGVuZ3RoID4gMDtcbiAgdmFyIGlzU3RhYmxlID0gc2xvdHMgPyAhIXNsb3RzLiRzdGFibGUgOiAhaGFzTm9ybWFsU2xvdHM7XG4gIHZhciBrZXkgPSBzbG90cyAmJiBzbG90cy4ka2V5O1xuICBpZiAoIXNsb3RzKSB7XG4gICAgcmVzID0ge307XG4gIH0gZWxzZSBpZiAoc2xvdHMuX25vcm1hbGl6ZWQpIHtcbiAgICAvLyBmYXN0IHBhdGggMTogY2hpbGQgY29tcG9uZW50IHJlLXJlbmRlciBvbmx5LCBwYXJlbnQgZGlkIG5vdCBjaGFuZ2VcbiAgICByZXR1cm4gc2xvdHMuX25vcm1hbGl6ZWRcbiAgfSBlbHNlIGlmIChcbiAgICBpc1N0YWJsZSAmJlxuICAgIHByZXZTbG90cyAmJlxuICAgIHByZXZTbG90cyAhPT0gZW1wdHlPYmplY3QgJiZcbiAgICBrZXkgPT09IHByZXZTbG90cy4ka2V5ICYmXG4gICAgIWhhc05vcm1hbFNsb3RzICYmXG4gICAgIXByZXZTbG90cy4kaGFzTm9ybWFsXG4gICkge1xuICAgIC8vIGZhc3QgcGF0aCAyOiBzdGFibGUgc2NvcGVkIHNsb3RzIHcvIG5vIG5vcm1hbCBzbG90cyB0byBwcm94eSxcbiAgICAvLyBvbmx5IG5lZWQgdG8gbm9ybWFsaXplIG9uY2VcbiAgICByZXR1cm4gcHJldlNsb3RzXG4gIH0gZWxzZSB7XG4gICAgcmVzID0ge307XG4gICAgZm9yICh2YXIga2V5JDEgaW4gc2xvdHMpIHtcbiAgICAgIGlmIChzbG90c1trZXkkMV0gJiYga2V5JDFbMF0gIT09ICckJykge1xuICAgICAgICByZXNba2V5JDFdID0gbm9ybWFsaXplU2NvcGVkU2xvdChub3JtYWxTbG90cywga2V5JDEsIHNsb3RzW2tleSQxXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIGV4cG9zZSBub3JtYWwgc2xvdHMgb24gc2NvcGVkU2xvdHNcbiAgZm9yICh2YXIga2V5JDIgaW4gbm9ybWFsU2xvdHMpIHtcbiAgICBpZiAoIShrZXkkMiBpbiByZXMpKSB7XG4gICAgICByZXNba2V5JDJdID0gcHJveHlOb3JtYWxTbG90KG5vcm1hbFNsb3RzLCBrZXkkMik7XG4gICAgfVxuICB9XG4gIC8vIGF2b3JpYXogc2VlbXMgdG8gbW9jayBhIG5vbi1leHRlbnNpYmxlICRzY29wZWRTbG90cyBvYmplY3RcbiAgLy8gYW5kIHdoZW4gdGhhdCBpcyBwYXNzZWQgZG93biB0aGlzIHdvdWxkIGNhdXNlIGFuIGVycm9yXG4gIGlmIChzbG90cyAmJiBPYmplY3QuaXNFeHRlbnNpYmxlKHNsb3RzKSkge1xuICAgIChzbG90cykuX25vcm1hbGl6ZWQgPSByZXM7XG4gIH1cbiAgZGVmKHJlcywgJyRzdGFibGUnLCBpc1N0YWJsZSk7XG4gIGRlZihyZXMsICcka2V5Jywga2V5KTtcbiAgZGVmKHJlcywgJyRoYXNOb3JtYWwnLCBoYXNOb3JtYWxTbG90cyk7XG4gIHJldHVybiByZXNcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplU2NvcGVkU2xvdChub3JtYWxTbG90cywga2V5LCBmbikge1xuICB2YXIgbm9ybWFsaXplZCA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgcmVzID0gYXJndW1lbnRzLmxlbmd0aCA/IGZuLmFwcGx5KG51bGwsIGFyZ3VtZW50cykgOiBmbih7fSk7XG4gICAgcmVzID0gcmVzICYmIHR5cGVvZiByZXMgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KHJlcylcbiAgICAgID8gW3Jlc10gLy8gc2luZ2xlIHZub2RlXG4gICAgICA6IG5vcm1hbGl6ZUNoaWxkcmVuKHJlcyk7XG4gICAgcmV0dXJuIHJlcyAmJiAoXG4gICAgICByZXMubGVuZ3RoID09PSAwIHx8XG4gICAgICAocmVzLmxlbmd0aCA9PT0gMSAmJiByZXNbMF0uaXNDb21tZW50KSAvLyAjOTY1OFxuICAgICkgPyB1bmRlZmluZWRcbiAgICAgIDogcmVzXG4gIH07XG4gIC8vIHRoaXMgaXMgYSBzbG90IHVzaW5nIHRoZSBuZXcgdi1zbG90IHN5bnRheCB3aXRob3V0IHNjb3BlLiBhbHRob3VnaCBpdCBpc1xuICAvLyBjb21waWxlZCBhcyBhIHNjb3BlZCBzbG90LCByZW5kZXIgZm4gdXNlcnMgd291bGQgZXhwZWN0IGl0IHRvIGJlIHByZXNlbnRcbiAgLy8gb24gdGhpcy4kc2xvdHMgYmVjYXVzZSB0aGUgdXNhZ2UgaXMgc2VtYW50aWNhbGx5IGEgbm9ybWFsIHNsb3QuXG4gIGlmIChmbi5wcm94eSkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShub3JtYWxTbG90cywga2V5LCB7XG4gICAgICBnZXQ6IG5vcm1hbGl6ZWQsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIG5vcm1hbGl6ZWRcbn1cblxuZnVuY3Rpb24gcHJveHlOb3JtYWxTbG90KHNsb3RzLCBrZXkpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHsgcmV0dXJuIHNsb3RzW2tleV07IH1cbn1cblxuLyogICovXG5cbi8qKlxuICogUnVudGltZSBoZWxwZXIgZm9yIHJlbmRlcmluZyB2LWZvciBsaXN0cy5cbiAqL1xuZnVuY3Rpb24gcmVuZGVyTGlzdCAoXG4gIHZhbCxcbiAgcmVuZGVyXG4pIHtcbiAgdmFyIHJldCwgaSwgbCwga2V5cywga2V5O1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWwpIHx8IHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0ID0gbmV3IEFycmF5KHZhbC5sZW5ndGgpO1xuICAgIGZvciAoaSA9IDAsIGwgPSB2YWwubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICByZXRbaV0gPSByZW5kZXIodmFsW2ldLCBpKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAodHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICByZXQgPSBuZXcgQXJyYXkodmFsKTtcbiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsOyBpKyspIHtcbiAgICAgIHJldFtpXSA9IHJlbmRlcihpICsgMSwgaSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKGlzT2JqZWN0KHZhbCkpIHtcbiAgICBpZiAoaGFzU3ltYm9sICYmIHZhbFtTeW1ib2wuaXRlcmF0b3JdKSB7XG4gICAgICByZXQgPSBbXTtcbiAgICAgIHZhciBpdGVyYXRvciA9IHZhbFtTeW1ib2wuaXRlcmF0b3JdKCk7XG4gICAgICB2YXIgcmVzdWx0ID0gaXRlcmF0b3IubmV4dCgpO1xuICAgICAgd2hpbGUgKCFyZXN1bHQuZG9uZSkge1xuICAgICAgICByZXQucHVzaChyZW5kZXIocmVzdWx0LnZhbHVlLCByZXQubGVuZ3RoKSk7XG4gICAgICAgIHJlc3VsdCA9IGl0ZXJhdG9yLm5leHQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAga2V5cyA9IE9iamVjdC5rZXlzKHZhbCk7XG4gICAgICByZXQgPSBuZXcgQXJyYXkoa2V5cy5sZW5ndGgpO1xuICAgICAgZm9yIChpID0gMCwgbCA9IGtleXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIGtleSA9IGtleXNbaV07XG4gICAgICAgIHJldFtpXSA9IHJlbmRlcih2YWxba2V5XSwga2V5LCBpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaWYgKCFpc0RlZihyZXQpKSB7XG4gICAgcmV0ID0gW107XG4gIH1cbiAgKHJldCkuX2lzVkxpc3QgPSB0cnVlO1xuICByZXR1cm4gcmV0XG59XG5cbi8qICAqL1xuXG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciByZW5kZXJpbmcgPHNsb3Q+XG4gKi9cbmZ1bmN0aW9uIHJlbmRlclNsb3QgKFxuICBuYW1lLFxuICBmYWxsYmFjayxcbiAgcHJvcHMsXG4gIGJpbmRPYmplY3Rcbikge1xuICB2YXIgc2NvcGVkU2xvdEZuID0gdGhpcy4kc2NvcGVkU2xvdHNbbmFtZV07XG4gIHZhciBub2RlcztcbiAgaWYgKHNjb3BlZFNsb3RGbikgeyAvLyBzY29wZWQgc2xvdFxuICAgIHByb3BzID0gcHJvcHMgfHwge307XG4gICAgaWYgKGJpbmRPYmplY3QpIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmICFpc09iamVjdChiaW5kT2JqZWN0KSkge1xuICAgICAgICB3YXJuKFxuICAgICAgICAgICdzbG90IHYtYmluZCB3aXRob3V0IGFyZ3VtZW50IGV4cGVjdHMgYW4gT2JqZWN0JyxcbiAgICAgICAgICB0aGlzXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBwcm9wcyA9IGV4dGVuZChleHRlbmQoe30sIGJpbmRPYmplY3QpLCBwcm9wcyk7XG4gICAgfVxuICAgIG5vZGVzID0gc2NvcGVkU2xvdEZuKHByb3BzKSB8fCBmYWxsYmFjaztcbiAgfSBlbHNlIHtcbiAgICBub2RlcyA9IHRoaXMuJHNsb3RzW25hbWVdIHx8IGZhbGxiYWNrO1xuICB9XG5cbiAgdmFyIHRhcmdldCA9IHByb3BzICYmIHByb3BzLnNsb3Q7XG4gIGlmICh0YXJnZXQpIHtcbiAgICByZXR1cm4gdGhpcy4kY3JlYXRlRWxlbWVudCgndGVtcGxhdGUnLCB7IHNsb3Q6IHRhcmdldCB9LCBub2RlcylcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbm9kZXNcbiAgfVxufVxuXG4vKiAgKi9cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3IgcmVzb2x2aW5nIGZpbHRlcnNcbiAqL1xuZnVuY3Rpb24gcmVzb2x2ZUZpbHRlciAoaWQpIHtcbiAgcmV0dXJuIHJlc29sdmVBc3NldCh0aGlzLiRvcHRpb25zLCAnZmlsdGVycycsIGlkLCB0cnVlKSB8fCBpZGVudGl0eVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gaXNLZXlOb3RNYXRjaCAoZXhwZWN0LCBhY3R1YWwpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoZXhwZWN0KSkge1xuICAgIHJldHVybiBleHBlY3QuaW5kZXhPZihhY3R1YWwpID09PSAtMVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBleHBlY3QgIT09IGFjdHVhbFxuICB9XG59XG5cbi8qKlxuICogUnVudGltZSBoZWxwZXIgZm9yIGNoZWNraW5nIGtleUNvZGVzIGZyb20gY29uZmlnLlxuICogZXhwb3NlZCBhcyBWdWUucHJvdG90eXBlLl9rXG4gKiBwYXNzaW5nIGluIGV2ZW50S2V5TmFtZSBhcyBsYXN0IGFyZ3VtZW50IHNlcGFyYXRlbHkgZm9yIGJhY2t3YXJkcyBjb21wYXRcbiAqL1xuZnVuY3Rpb24gY2hlY2tLZXlDb2RlcyAoXG4gIGV2ZW50S2V5Q29kZSxcbiAga2V5LFxuICBidWlsdEluS2V5Q29kZSxcbiAgZXZlbnRLZXlOYW1lLFxuICBidWlsdEluS2V5TmFtZVxuKSB7XG4gIHZhciBtYXBwZWRLZXlDb2RlID0gY29uZmlnLmtleUNvZGVzW2tleV0gfHwgYnVpbHRJbktleUNvZGU7XG4gIGlmIChidWlsdEluS2V5TmFtZSAmJiBldmVudEtleU5hbWUgJiYgIWNvbmZpZy5rZXlDb2Rlc1trZXldKSB7XG4gICAgcmV0dXJuIGlzS2V5Tm90TWF0Y2goYnVpbHRJbktleU5hbWUsIGV2ZW50S2V5TmFtZSlcbiAgfSBlbHNlIGlmIChtYXBwZWRLZXlDb2RlKSB7XG4gICAgcmV0dXJuIGlzS2V5Tm90TWF0Y2gobWFwcGVkS2V5Q29kZSwgZXZlbnRLZXlDb2RlKVxuICB9IGVsc2UgaWYgKGV2ZW50S2V5TmFtZSkge1xuICAgIHJldHVybiBoeXBoZW5hdGUoZXZlbnRLZXlOYW1lKSAhPT0ga2V5XG4gIH1cbn1cblxuLyogICovXG5cbi8qKlxuICogUnVudGltZSBoZWxwZXIgZm9yIG1lcmdpbmcgdi1iaW5kPVwib2JqZWN0XCIgaW50byBhIFZOb2RlJ3MgZGF0YS5cbiAqL1xuZnVuY3Rpb24gYmluZE9iamVjdFByb3BzIChcbiAgZGF0YSxcbiAgdGFnLFxuICB2YWx1ZSxcbiAgYXNQcm9wLFxuICBpc1N5bmNcbikge1xuICBpZiAodmFsdWUpIHtcbiAgICBpZiAoIWlzT2JqZWN0KHZhbHVlKSkge1xuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgICAndi1iaW5kIHdpdGhvdXQgYXJndW1lbnQgZXhwZWN0cyBhbiBPYmplY3Qgb3IgQXJyYXkgdmFsdWUnLFxuICAgICAgICB0aGlzXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgdmFsdWUgPSB0b09iamVjdCh2YWx1ZSk7XG4gICAgICB9XG4gICAgICB2YXIgaGFzaDtcbiAgICAgIHZhciBsb29wID0gZnVuY3Rpb24gKCBrZXkgKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBrZXkgPT09ICdjbGFzcycgfHxcbiAgICAgICAgICBrZXkgPT09ICdzdHlsZScgfHxcbiAgICAgICAgICBpc1Jlc2VydmVkQXR0cmlidXRlKGtleSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgaGFzaCA9IGRhdGE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFyIHR5cGUgPSBkYXRhLmF0dHJzICYmIGRhdGEuYXR0cnMudHlwZTtcbiAgICAgICAgICBoYXNoID0gYXNQcm9wIHx8IGNvbmZpZy5tdXN0VXNlUHJvcCh0YWcsIHR5cGUsIGtleSlcbiAgICAgICAgICAgID8gZGF0YS5kb21Qcm9wcyB8fCAoZGF0YS5kb21Qcm9wcyA9IHt9KVxuICAgICAgICAgICAgOiBkYXRhLmF0dHJzIHx8IChkYXRhLmF0dHJzID0ge30pO1xuICAgICAgICB9XG4gICAgICAgIHZhciBjYW1lbGl6ZWRLZXkgPSBjYW1lbGl6ZShrZXkpO1xuICAgICAgICB2YXIgaHlwaGVuYXRlZEtleSA9IGh5cGhlbmF0ZShrZXkpO1xuICAgICAgICBpZiAoIShjYW1lbGl6ZWRLZXkgaW4gaGFzaCkgJiYgIShoeXBoZW5hdGVkS2V5IGluIGhhc2gpKSB7XG4gICAgICAgICAgaGFzaFtrZXldID0gdmFsdWVba2V5XTtcblxuICAgICAgICAgIGlmIChpc1N5bmMpIHtcbiAgICAgICAgICAgIHZhciBvbiA9IGRhdGEub24gfHwgKGRhdGEub24gPSB7fSk7XG4gICAgICAgICAgICBvblsoXCJ1cGRhdGU6XCIgKyBrZXkpXSA9IGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgICAgICAgdmFsdWVba2V5XSA9ICRldmVudDtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBmb3IgKHZhciBrZXkgaW4gdmFsdWUpIGxvb3AoIGtleSApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZGF0YVxufVxuXG4vKiAgKi9cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3IgcmVuZGVyaW5nIHN0YXRpYyB0cmVlcy5cbiAqL1xuZnVuY3Rpb24gcmVuZGVyU3RhdGljIChcbiAgaW5kZXgsXG4gIGlzSW5Gb3Jcbikge1xuICB2YXIgY2FjaGVkID0gdGhpcy5fc3RhdGljVHJlZXMgfHwgKHRoaXMuX3N0YXRpY1RyZWVzID0gW10pO1xuICB2YXIgdHJlZSA9IGNhY2hlZFtpbmRleF07XG4gIC8vIGlmIGhhcyBhbHJlYWR5LXJlbmRlcmVkIHN0YXRpYyB0cmVlIGFuZCBub3QgaW5zaWRlIHYtZm9yLFxuICAvLyB3ZSBjYW4gcmV1c2UgdGhlIHNhbWUgdHJlZS5cbiAgaWYgKHRyZWUgJiYgIWlzSW5Gb3IpIHtcbiAgICByZXR1cm4gdHJlZVxuICB9XG4gIC8vIG90aGVyd2lzZSwgcmVuZGVyIGEgZnJlc2ggdHJlZS5cbiAgdHJlZSA9IGNhY2hlZFtpbmRleF0gPSB0aGlzLiRvcHRpb25zLnN0YXRpY1JlbmRlckZuc1tpbmRleF0uY2FsbChcbiAgICB0aGlzLl9yZW5kZXJQcm94eSxcbiAgICBudWxsLFxuICAgIHRoaXMgLy8gZm9yIHJlbmRlciBmbnMgZ2VuZXJhdGVkIGZvciBmdW5jdGlvbmFsIGNvbXBvbmVudCB0ZW1wbGF0ZXNcbiAgKTtcbiAgbWFya1N0YXRpYyh0cmVlLCAoXCJfX3N0YXRpY19fXCIgKyBpbmRleCksIGZhbHNlKTtcbiAgcmV0dXJuIHRyZWVcbn1cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3Igdi1vbmNlLlxuICogRWZmZWN0aXZlbHkgaXQgbWVhbnMgbWFya2luZyB0aGUgbm9kZSBhcyBzdGF0aWMgd2l0aCBhIHVuaXF1ZSBrZXkuXG4gKi9cbmZ1bmN0aW9uIG1hcmtPbmNlIChcbiAgdHJlZSxcbiAgaW5kZXgsXG4gIGtleVxuKSB7XG4gIG1hcmtTdGF0aWModHJlZSwgKFwiX19vbmNlX19cIiArIGluZGV4ICsgKGtleSA/IChcIl9cIiArIGtleSkgOiBcIlwiKSksIHRydWUpO1xuICByZXR1cm4gdHJlZVxufVxuXG5mdW5jdGlvbiBtYXJrU3RhdGljIChcbiAgdHJlZSxcbiAga2V5LFxuICBpc09uY2Vcbikge1xuICBpZiAoQXJyYXkuaXNBcnJheSh0cmVlKSkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdHJlZS5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHRyZWVbaV0gJiYgdHlwZW9mIHRyZWVbaV0gIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIG1hcmtTdGF0aWNOb2RlKHRyZWVbaV0sIChrZXkgKyBcIl9cIiArIGkpLCBpc09uY2UpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBtYXJrU3RhdGljTm9kZSh0cmVlLCBrZXksIGlzT25jZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFya1N0YXRpY05vZGUgKG5vZGUsIGtleSwgaXNPbmNlKSB7XG4gIG5vZGUuaXNTdGF0aWMgPSB0cnVlO1xuICBub2RlLmtleSA9IGtleTtcbiAgbm9kZS5pc09uY2UgPSBpc09uY2U7XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBiaW5kT2JqZWN0TGlzdGVuZXJzIChkYXRhLCB2YWx1ZSkge1xuICBpZiAodmFsdWUpIHtcbiAgICBpZiAoIWlzUGxhaW5PYmplY3QodmFsdWUpKSB7XG4gICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4oXG4gICAgICAgICd2LW9uIHdpdGhvdXQgYXJndW1lbnQgZXhwZWN0cyBhbiBPYmplY3QgdmFsdWUnLFxuICAgICAgICB0aGlzXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgb24gPSBkYXRhLm9uID0gZGF0YS5vbiA/IGV4dGVuZCh7fSwgZGF0YS5vbikgOiB7fTtcbiAgICAgIGZvciAodmFyIGtleSBpbiB2YWx1ZSkge1xuICAgICAgICB2YXIgZXhpc3RpbmcgPSBvbltrZXldO1xuICAgICAgICB2YXIgb3VycyA9IHZhbHVlW2tleV07XG4gICAgICAgIG9uW2tleV0gPSBleGlzdGluZyA/IFtdLmNvbmNhdChleGlzdGluZywgb3VycykgOiBvdXJzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gZGF0YVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gcmVzb2x2ZVNjb3BlZFNsb3RzIChcbiAgZm5zLCAvLyBzZWUgZmxvdy92bm9kZVxuICByZXMsXG4gIC8vIHRoZSBmb2xsb3dpbmcgYXJlIGFkZGVkIGluIDIuNlxuICBoYXNEeW5hbWljS2V5cyxcbiAgY29udGVudEhhc2hLZXlcbikge1xuICByZXMgPSByZXMgfHwgeyAkc3RhYmxlOiAhaGFzRHluYW1pY0tleXMgfTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBmbnMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgc2xvdCA9IGZuc1tpXTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShzbG90KSkge1xuICAgICAgcmVzb2x2ZVNjb3BlZFNsb3RzKHNsb3QsIHJlcywgaGFzRHluYW1pY0tleXMpO1xuICAgIH0gZWxzZSBpZiAoc2xvdCkge1xuICAgICAgLy8gbWFya2VyIGZvciByZXZlcnNlIHByb3h5aW5nIHYtc2xvdCB3aXRob3V0IHNjb3BlIG9uIHRoaXMuJHNsb3RzXG4gICAgICBpZiAoc2xvdC5wcm94eSkge1xuICAgICAgICBzbG90LmZuLnByb3h5ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJlc1tzbG90LmtleV0gPSBzbG90LmZuO1xuICAgIH1cbiAgfVxuICBpZiAoY29udGVudEhhc2hLZXkpIHtcbiAgICAocmVzKS4ka2V5ID0gY29udGVudEhhc2hLZXk7XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gYmluZER5bmFtaWNLZXlzIChiYXNlT2JqLCB2YWx1ZXMpIHtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCB2YWx1ZXMubGVuZ3RoOyBpICs9IDIpIHtcbiAgICB2YXIga2V5ID0gdmFsdWVzW2ldO1xuICAgIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyAmJiBrZXkpIHtcbiAgICAgIGJhc2VPYmpbdmFsdWVzW2ldXSA9IHZhbHVlc1tpICsgMV07XG4gICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGtleSAhPT0gJycgJiYga2V5ICE9PSBudWxsKSB7XG4gICAgICAvLyBudWxsIGlzIGEgc3BlaWNhbCB2YWx1ZSBmb3IgZXhwbGljaXRseSByZW1vdmluZyBhIGJpbmRpbmdcbiAgICAgIHdhcm4oXG4gICAgICAgIChcIkludmFsaWQgdmFsdWUgZm9yIGR5bmFtaWMgZGlyZWN0aXZlIGFyZ3VtZW50IChleHBlY3RlZCBzdHJpbmcgb3IgbnVsbCk6IFwiICsga2V5KSxcbiAgICAgICAgdGhpc1xuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGJhc2VPYmpcbn1cblxuLy8gaGVscGVyIHRvIGR5bmFtaWNhbGx5IGFwcGVuZCBtb2RpZmllciBydW50aW1lIG1hcmtlcnMgdG8gZXZlbnQgbmFtZXMuXG4vLyBlbnN1cmUgb25seSBhcHBlbmQgd2hlbiB2YWx1ZSBpcyBhbHJlYWR5IHN0cmluZywgb3RoZXJ3aXNlIGl0IHdpbGwgYmUgY2FzdFxuLy8gdG8gc3RyaW5nIGFuZCBjYXVzZSB0aGUgdHlwZSBjaGVjayB0byBtaXNzLlxuZnVuY3Rpb24gcHJlcGVuZE1vZGlmaWVyICh2YWx1ZSwgc3ltYm9sKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8gc3ltYm9sICsgdmFsdWUgOiB2YWx1ZVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gaW5zdGFsbFJlbmRlckhlbHBlcnMgKHRhcmdldCkge1xuICB0YXJnZXQuX28gPSBtYXJrT25jZTtcbiAgdGFyZ2V0Ll9uID0gdG9OdW1iZXI7XG4gIHRhcmdldC5fcyA9IHRvU3RyaW5nO1xuICB0YXJnZXQuX2wgPSByZW5kZXJMaXN0O1xuICB0YXJnZXQuX3QgPSByZW5kZXJTbG90O1xuICB0YXJnZXQuX3EgPSBsb29zZUVxdWFsO1xuICB0YXJnZXQuX2kgPSBsb29zZUluZGV4T2Y7XG4gIHRhcmdldC5fbSA9IHJlbmRlclN0YXRpYztcbiAgdGFyZ2V0Ll9mID0gcmVzb2x2ZUZpbHRlcjtcbiAgdGFyZ2V0Ll9rID0gY2hlY2tLZXlDb2RlcztcbiAgdGFyZ2V0Ll9iID0gYmluZE9iamVjdFByb3BzO1xuICB0YXJnZXQuX3YgPSBjcmVhdGVUZXh0Vk5vZGU7XG4gIHRhcmdldC5fZSA9IGNyZWF0ZUVtcHR5Vk5vZGU7XG4gIHRhcmdldC5fdSA9IHJlc29sdmVTY29wZWRTbG90cztcbiAgdGFyZ2V0Ll9nID0gYmluZE9iamVjdExpc3RlbmVycztcbiAgdGFyZ2V0Ll9kID0gYmluZER5bmFtaWNLZXlzO1xuICB0YXJnZXQuX3AgPSBwcmVwZW5kTW9kaWZpZXI7XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBGdW5jdGlvbmFsUmVuZGVyQ29udGV4dCAoXG4gIGRhdGEsXG4gIHByb3BzLFxuICBjaGlsZHJlbixcbiAgcGFyZW50LFxuICBDdG9yXG4pIHtcbiAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgdmFyIG9wdGlvbnMgPSBDdG9yLm9wdGlvbnM7XG4gIC8vIGVuc3VyZSB0aGUgY3JlYXRlRWxlbWVudCBmdW5jdGlvbiBpbiBmdW5jdGlvbmFsIGNvbXBvbmVudHNcbiAgLy8gZ2V0cyBhIHVuaXF1ZSBjb250ZXh0IC0gdGhpcyBpcyBuZWNlc3NhcnkgZm9yIGNvcnJlY3QgbmFtZWQgc2xvdCBjaGVja1xuICB2YXIgY29udGV4dFZtO1xuICBpZiAoaGFzT3duKHBhcmVudCwgJ191aWQnKSkge1xuICAgIGNvbnRleHRWbSA9IE9iamVjdC5jcmVhdGUocGFyZW50KTtcbiAgICAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbiAgICBjb250ZXh0Vm0uX29yaWdpbmFsID0gcGFyZW50O1xuICB9IGVsc2Uge1xuICAgIC8vIHRoZSBjb250ZXh0IHZtIHBhc3NlZCBpbiBpcyBhIGZ1bmN0aW9uYWwgY29udGV4dCBhcyB3ZWxsLlxuICAgIC8vIGluIHRoaXMgY2FzZSB3ZSB3YW50IHRvIG1ha2Ugc3VyZSB3ZSBhcmUgYWJsZSB0byBnZXQgYSBob2xkIHRvIHRoZVxuICAgIC8vIHJlYWwgY29udGV4dCBpbnN0YW5jZS5cbiAgICBjb250ZXh0Vm0gPSBwYXJlbnQ7XG4gICAgLy8gJGZsb3ctZGlzYWJsZS1saW5lXG4gICAgcGFyZW50ID0gcGFyZW50Ll9vcmlnaW5hbDtcbiAgfVxuICB2YXIgaXNDb21waWxlZCA9IGlzVHJ1ZShvcHRpb25zLl9jb21waWxlZCk7XG4gIHZhciBuZWVkTm9ybWFsaXphdGlvbiA9ICFpc0NvbXBpbGVkO1xuXG4gIHRoaXMuZGF0YSA9IGRhdGE7XG4gIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgdGhpcy5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICB0aGlzLnBhcmVudCA9IHBhcmVudDtcbiAgdGhpcy5saXN0ZW5lcnMgPSBkYXRhLm9uIHx8IGVtcHR5T2JqZWN0O1xuICB0aGlzLmluamVjdGlvbnMgPSByZXNvbHZlSW5qZWN0KG9wdGlvbnMuaW5qZWN0LCBwYXJlbnQpO1xuICB0aGlzLnNsb3RzID0gZnVuY3Rpb24gKCkge1xuICAgIGlmICghdGhpcyQxLiRzbG90cykge1xuICAgICAgbm9ybWFsaXplU2NvcGVkU2xvdHMoXG4gICAgICAgIGRhdGEuc2NvcGVkU2xvdHMsXG4gICAgICAgIHRoaXMkMS4kc2xvdHMgPSByZXNvbHZlU2xvdHMoY2hpbGRyZW4sIHBhcmVudClcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzJDEuJHNsb3RzXG4gIH07XG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdzY29wZWRTbG90cycsICh7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCAoKSB7XG4gICAgICByZXR1cm4gbm9ybWFsaXplU2NvcGVkU2xvdHMoZGF0YS5zY29wZWRTbG90cywgdGhpcy5zbG90cygpKVxuICAgIH1cbiAgfSkpO1xuXG4gIC8vIHN1cHBvcnQgZm9yIGNvbXBpbGVkIGZ1bmN0aW9uYWwgdGVtcGxhdGVcbiAgaWYgKGlzQ29tcGlsZWQpIHtcbiAgICAvLyBleHBvc2luZyAkb3B0aW9ucyBmb3IgcmVuZGVyU3RhdGljKClcbiAgICB0aGlzLiRvcHRpb25zID0gb3B0aW9ucztcbiAgICAvLyBwcmUtcmVzb2x2ZSBzbG90cyBmb3IgcmVuZGVyU2xvdCgpXG4gICAgdGhpcy4kc2xvdHMgPSB0aGlzLnNsb3RzKCk7XG4gICAgdGhpcy4kc2NvcGVkU2xvdHMgPSBub3JtYWxpemVTY29wZWRTbG90cyhkYXRhLnNjb3BlZFNsb3RzLCB0aGlzLiRzbG90cyk7XG4gIH1cblxuICBpZiAob3B0aW9ucy5fc2NvcGVJZCkge1xuICAgIHRoaXMuX2MgPSBmdW5jdGlvbiAoYSwgYiwgYywgZCkge1xuICAgICAgdmFyIHZub2RlID0gY3JlYXRlRWxlbWVudChjb250ZXh0Vm0sIGEsIGIsIGMsIGQsIG5lZWROb3JtYWxpemF0aW9uKTtcbiAgICAgIGlmICh2bm9kZSAmJiAhQXJyYXkuaXNBcnJheSh2bm9kZSkpIHtcbiAgICAgICAgdm5vZGUuZm5TY29wZUlkID0gb3B0aW9ucy5fc2NvcGVJZDtcbiAgICAgICAgdm5vZGUuZm5Db250ZXh0ID0gcGFyZW50O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZub2RlXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLl9jID0gZnVuY3Rpb24gKGEsIGIsIGMsIGQpIHsgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoY29udGV4dFZtLCBhLCBiLCBjLCBkLCBuZWVkTm9ybWFsaXphdGlvbik7IH07XG4gIH1cbn1cblxuaW5zdGFsbFJlbmRlckhlbHBlcnMoRnVuY3Rpb25hbFJlbmRlckNvbnRleHQucHJvdG90eXBlKTtcblxuZnVuY3Rpb24gY3JlYXRlRnVuY3Rpb25hbENvbXBvbmVudCAoXG4gIEN0b3IsXG4gIHByb3BzRGF0YSxcbiAgZGF0YSxcbiAgY29udGV4dFZtLFxuICBjaGlsZHJlblxuKSB7XG4gIHZhciBvcHRpb25zID0gQ3Rvci5vcHRpb25zO1xuICB2YXIgcHJvcHMgPSB7fTtcbiAgdmFyIHByb3BPcHRpb25zID0gb3B0aW9ucy5wcm9wcztcbiAgaWYgKGlzRGVmKHByb3BPcHRpb25zKSkge1xuICAgIGZvciAodmFyIGtleSBpbiBwcm9wT3B0aW9ucykge1xuICAgICAgcHJvcHNba2V5XSA9IHZhbGlkYXRlUHJvcChrZXksIHByb3BPcHRpb25zLCBwcm9wc0RhdGEgfHwgZW1wdHlPYmplY3QpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAoaXNEZWYoZGF0YS5hdHRycykpIHsgbWVyZ2VQcm9wcyhwcm9wcywgZGF0YS5hdHRycyk7IH1cbiAgICBpZiAoaXNEZWYoZGF0YS5wcm9wcykpIHsgbWVyZ2VQcm9wcyhwcm9wcywgZGF0YS5wcm9wcyk7IH1cbiAgfVxuXG4gIHZhciByZW5kZXJDb250ZXh0ID0gbmV3IEZ1bmN0aW9uYWxSZW5kZXJDb250ZXh0KFxuICAgIGRhdGEsXG4gICAgcHJvcHMsXG4gICAgY2hpbGRyZW4sXG4gICAgY29udGV4dFZtLFxuICAgIEN0b3JcbiAgKTtcblxuICB2YXIgdm5vZGUgPSBvcHRpb25zLnJlbmRlci5jYWxsKG51bGwsIHJlbmRlckNvbnRleHQuX2MsIHJlbmRlckNvbnRleHQpO1xuXG4gIGlmICh2bm9kZSBpbnN0YW5jZW9mIFZOb2RlKSB7XG4gICAgcmV0dXJuIGNsb25lQW5kTWFya0Z1bmN0aW9uYWxSZXN1bHQodm5vZGUsIGRhdGEsIHJlbmRlckNvbnRleHQucGFyZW50LCBvcHRpb25zLCByZW5kZXJDb250ZXh0KVxuICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodm5vZGUpKSB7XG4gICAgdmFyIHZub2RlcyA9IG5vcm1hbGl6ZUNoaWxkcmVuKHZub2RlKSB8fCBbXTtcbiAgICB2YXIgcmVzID0gbmV3IEFycmF5KHZub2Rlcy5sZW5ndGgpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdm5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICByZXNbaV0gPSBjbG9uZUFuZE1hcmtGdW5jdGlvbmFsUmVzdWx0KHZub2Rlc1tpXSwgZGF0YSwgcmVuZGVyQ29udGV4dC5wYXJlbnQsIG9wdGlvbnMsIHJlbmRlckNvbnRleHQpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzXG4gIH1cbn1cblxuZnVuY3Rpb24gY2xvbmVBbmRNYXJrRnVuY3Rpb25hbFJlc3VsdCAodm5vZGUsIGRhdGEsIGNvbnRleHRWbSwgb3B0aW9ucywgcmVuZGVyQ29udGV4dCkge1xuICAvLyAjNzgxNyBjbG9uZSBub2RlIGJlZm9yZSBzZXR0aW5nIGZuQ29udGV4dCwgb3RoZXJ3aXNlIGlmIHRoZSBub2RlIGlzIHJldXNlZFxuICAvLyAoZS5nLiBpdCB3YXMgZnJvbSBhIGNhY2hlZCBub3JtYWwgc2xvdCkgdGhlIGZuQ29udGV4dCBjYXVzZXMgbmFtZWQgc2xvdHNcbiAgLy8gdGhhdCBzaG91bGQgbm90IGJlIG1hdGNoZWQgdG8gbWF0Y2guXG4gIHZhciBjbG9uZSA9IGNsb25lVk5vZGUodm5vZGUpO1xuICBjbG9uZS5mbkNvbnRleHQgPSBjb250ZXh0Vm07XG4gIGNsb25lLmZuT3B0aW9ucyA9IG9wdGlvbnM7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgKGNsb25lLmRldnRvb2xzTWV0YSA9IGNsb25lLmRldnRvb2xzTWV0YSB8fCB7fSkucmVuZGVyQ29udGV4dCA9IHJlbmRlckNvbnRleHQ7XG4gIH1cbiAgaWYgKGRhdGEuc2xvdCkge1xuICAgIChjbG9uZS5kYXRhIHx8IChjbG9uZS5kYXRhID0ge30pKS5zbG90ID0gZGF0YS5zbG90O1xuICB9XG4gIHJldHVybiBjbG9uZVxufVxuXG5mdW5jdGlvbiBtZXJnZVByb3BzICh0bywgZnJvbSkge1xuICBmb3IgKHZhciBrZXkgaW4gZnJvbSkge1xuICAgIHRvW2NhbWVsaXplKGtleSldID0gZnJvbVtrZXldO1xuICB9XG59XG5cbi8qICAqL1xuXG4vKiAgKi9cblxuLyogICovXG5cbi8qICAqL1xuXG4vLyBpbmxpbmUgaG9va3MgdG8gYmUgaW52b2tlZCBvbiBjb21wb25lbnQgVk5vZGVzIGR1cmluZyBwYXRjaFxudmFyIGNvbXBvbmVudFZOb2RlSG9va3MgPSB7XG4gIGluaXQ6IGZ1bmN0aW9uIGluaXQgKHZub2RlLCBoeWRyYXRpbmcpIHtcbiAgICBpZiAoXG4gICAgICB2bm9kZS5jb21wb25lbnRJbnN0YW5jZSAmJlxuICAgICAgIXZub2RlLmNvbXBvbmVudEluc3RhbmNlLl9pc0Rlc3Ryb3llZCAmJlxuICAgICAgdm5vZGUuZGF0YS5rZWVwQWxpdmVcbiAgICApIHtcbiAgICAgIC8vIGtlcHQtYWxpdmUgY29tcG9uZW50cywgdHJlYXQgYXMgYSBwYXRjaFxuICAgICAgdmFyIG1vdW50ZWROb2RlID0gdm5vZGU7IC8vIHdvcmsgYXJvdW5kIGZsb3dcbiAgICAgIGNvbXBvbmVudFZOb2RlSG9va3MucHJlcGF0Y2gobW91bnRlZE5vZGUsIG1vdW50ZWROb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGNoaWxkID0gdm5vZGUuY29tcG9uZW50SW5zdGFuY2UgPSBjcmVhdGVDb21wb25lbnRJbnN0YW5jZUZvclZub2RlKFxuICAgICAgICB2bm9kZSxcbiAgICAgICAgYWN0aXZlSW5zdGFuY2VcbiAgICAgICk7XG4gICAgICBjaGlsZC4kbW91bnQoaHlkcmF0aW5nID8gdm5vZGUuZWxtIDogdW5kZWZpbmVkLCBoeWRyYXRpbmcpO1xuICAgIH1cbiAgfSxcblxuICBwcmVwYXRjaDogZnVuY3Rpb24gcHJlcGF0Y2ggKG9sZFZub2RlLCB2bm9kZSkge1xuICAgIHZhciBvcHRpb25zID0gdm5vZGUuY29tcG9uZW50T3B0aW9ucztcbiAgICB2YXIgY2hpbGQgPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZSA9IG9sZFZub2RlLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIHVwZGF0ZUNoaWxkQ29tcG9uZW50KFxuICAgICAgY2hpbGQsXG4gICAgICBvcHRpb25zLnByb3BzRGF0YSwgLy8gdXBkYXRlZCBwcm9wc1xuICAgICAgb3B0aW9ucy5saXN0ZW5lcnMsIC8vIHVwZGF0ZWQgbGlzdGVuZXJzXG4gICAgICB2bm9kZSwgLy8gbmV3IHBhcmVudCB2bm9kZVxuICAgICAgb3B0aW9ucy5jaGlsZHJlbiAvLyBuZXcgY2hpbGRyZW5cbiAgICApO1xuICB9LFxuXG4gIGluc2VydDogZnVuY3Rpb24gaW5zZXJ0ICh2bm9kZSkge1xuICAgIHZhciBjb250ZXh0ID0gdm5vZGUuY29udGV4dDtcbiAgICB2YXIgY29tcG9uZW50SW5zdGFuY2UgPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZTtcbiAgICBpZiAoIWNvbXBvbmVudEluc3RhbmNlLl9pc01vdW50ZWQpIHtcbiAgICAgIGNvbXBvbmVudEluc3RhbmNlLl9pc01vdW50ZWQgPSB0cnVlO1xuICAgICAgY2FsbEhvb2soY29tcG9uZW50SW5zdGFuY2UsICdtb3VudGVkJyk7XG4gICAgfVxuICAgIGlmICh2bm9kZS5kYXRhLmtlZXBBbGl2ZSkge1xuICAgICAgaWYgKGNvbnRleHQuX2lzTW91bnRlZCkge1xuICAgICAgICAvLyB2dWUtcm91dGVyIzEyMTJcbiAgICAgICAgLy8gRHVyaW5nIHVwZGF0ZXMsIGEga2VwdC1hbGl2ZSBjb21wb25lbnQncyBjaGlsZCBjb21wb25lbnRzIG1heVxuICAgICAgICAvLyBjaGFuZ2UsIHNvIGRpcmVjdGx5IHdhbGtpbmcgdGhlIHRyZWUgaGVyZSBtYXkgY2FsbCBhY3RpdmF0ZWQgaG9va3NcbiAgICAgICAgLy8gb24gaW5jb3JyZWN0IGNoaWxkcmVuLiBJbnN0ZWFkIHdlIHB1c2ggdGhlbSBpbnRvIGEgcXVldWUgd2hpY2ggd2lsbFxuICAgICAgICAvLyBiZSBwcm9jZXNzZWQgYWZ0ZXIgdGhlIHdob2xlIHBhdGNoIHByb2Nlc3MgZW5kZWQuXG4gICAgICAgIHF1ZXVlQWN0aXZhdGVkQ29tcG9uZW50KGNvbXBvbmVudEluc3RhbmNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFjdGl2YXRlQ2hpbGRDb21wb25lbnQoY29tcG9uZW50SW5zdGFuY2UsIHRydWUgLyogZGlyZWN0ICovKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG5cbiAgZGVzdHJveTogZnVuY3Rpb24gZGVzdHJveSAodm5vZGUpIHtcbiAgICB2YXIgY29tcG9uZW50SW5zdGFuY2UgPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZTtcbiAgICBpZiAoIWNvbXBvbmVudEluc3RhbmNlLl9pc0Rlc3Ryb3llZCkge1xuICAgICAgaWYgKCF2bm9kZS5kYXRhLmtlZXBBbGl2ZSkge1xuICAgICAgICBjb21wb25lbnRJbnN0YW5jZS4kZGVzdHJveSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVhY3RpdmF0ZUNoaWxkQ29tcG9uZW50KGNvbXBvbmVudEluc3RhbmNlLCB0cnVlIC8qIGRpcmVjdCAqLyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG52YXIgaG9va3NUb01lcmdlID0gT2JqZWN0LmtleXMoY29tcG9uZW50Vk5vZGVIb29rcyk7XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbXBvbmVudCAoXG4gIEN0b3IsXG4gIGRhdGEsXG4gIGNvbnRleHQsXG4gIGNoaWxkcmVuLFxuICB0YWdcbikge1xuICBpZiAoaXNVbmRlZihDdG9yKSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgdmFyIGJhc2VDdG9yID0gY29udGV4dC4kb3B0aW9ucy5fYmFzZTtcblxuICAvLyBwbGFpbiBvcHRpb25zIG9iamVjdDogdHVybiBpdCBpbnRvIGEgY29uc3RydWN0b3JcbiAgaWYgKGlzT2JqZWN0KEN0b3IpKSB7XG4gICAgQ3RvciA9IGJhc2VDdG9yLmV4dGVuZChDdG9yKTtcbiAgfVxuXG4gIC8vIGlmIGF0IHRoaXMgc3RhZ2UgaXQncyBub3QgYSBjb25zdHJ1Y3RvciBvciBhbiBhc3luYyBjb21wb25lbnQgZmFjdG9yeSxcbiAgLy8gcmVqZWN0LlxuICBpZiAodHlwZW9mIEN0b3IgIT09ICdmdW5jdGlvbicpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgd2FybigoXCJJbnZhbGlkIENvbXBvbmVudCBkZWZpbml0aW9uOiBcIiArIChTdHJpbmcoQ3RvcikpKSwgY29udGV4dCk7XG4gICAgfVxuICAgIHJldHVyblxuICB9XG5cbiAgLy8gYXN5bmMgY29tcG9uZW50XG4gIHZhciBhc3luY0ZhY3Rvcnk7XG4gIGlmIChpc1VuZGVmKEN0b3IuY2lkKSkge1xuICAgIGFzeW5jRmFjdG9yeSA9IEN0b3I7XG4gICAgQ3RvciA9IHJlc29sdmVBc3luY0NvbXBvbmVudChhc3luY0ZhY3RvcnksIGJhc2VDdG9yKTtcbiAgICBpZiAoQ3RvciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyByZXR1cm4gYSBwbGFjZWhvbGRlciBub2RlIGZvciBhc3luYyBjb21wb25lbnQsIHdoaWNoIGlzIHJlbmRlcmVkXG4gICAgICAvLyBhcyBhIGNvbW1lbnQgbm9kZSBidXQgcHJlc2VydmVzIGFsbCB0aGUgcmF3IGluZm9ybWF0aW9uIGZvciB0aGUgbm9kZS5cbiAgICAgIC8vIHRoZSBpbmZvcm1hdGlvbiB3aWxsIGJlIHVzZWQgZm9yIGFzeW5jIHNlcnZlci1yZW5kZXJpbmcgYW5kIGh5ZHJhdGlvbi5cbiAgICAgIHJldHVybiBjcmVhdGVBc3luY1BsYWNlaG9sZGVyKFxuICAgICAgICBhc3luY0ZhY3RvcnksXG4gICAgICAgIGRhdGEsXG4gICAgICAgIGNvbnRleHQsXG4gICAgICAgIGNoaWxkcmVuLFxuICAgICAgICB0YWdcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBkYXRhID0gZGF0YSB8fCB7fTtcblxuICAvLyByZXNvbHZlIGNvbnN0cnVjdG9yIG9wdGlvbnMgaW4gY2FzZSBnbG9iYWwgbWl4aW5zIGFyZSBhcHBsaWVkIGFmdGVyXG4gIC8vIGNvbXBvbmVudCBjb25zdHJ1Y3RvciBjcmVhdGlvblxuICByZXNvbHZlQ29uc3RydWN0b3JPcHRpb25zKEN0b3IpO1xuXG4gIC8vIHRyYW5zZm9ybSBjb21wb25lbnQgdi1tb2RlbCBkYXRhIGludG8gcHJvcHMgJiBldmVudHNcbiAgaWYgKGlzRGVmKGRhdGEubW9kZWwpKSB7XG4gICAgdHJhbnNmb3JtTW9kZWwoQ3Rvci5vcHRpb25zLCBkYXRhKTtcbiAgfVxuXG4gIC8vIGV4dHJhY3QgcHJvcHNcbiAgdmFyIHByb3BzRGF0YSA9IGV4dHJhY3RQcm9wc0Zyb21WTm9kZURhdGEoZGF0YSwgQ3RvciwgdGFnKTtcblxuICAvLyBmdW5jdGlvbmFsIGNvbXBvbmVudFxuICBpZiAoaXNUcnVlKEN0b3Iub3B0aW9ucy5mdW5jdGlvbmFsKSkge1xuICAgIHJldHVybiBjcmVhdGVGdW5jdGlvbmFsQ29tcG9uZW50KEN0b3IsIHByb3BzRGF0YSwgZGF0YSwgY29udGV4dCwgY2hpbGRyZW4pXG4gIH1cblxuICAvLyBleHRyYWN0IGxpc3RlbmVycywgc2luY2UgdGhlc2UgbmVlZHMgdG8gYmUgdHJlYXRlZCBhc1xuICAvLyBjaGlsZCBjb21wb25lbnQgbGlzdGVuZXJzIGluc3RlYWQgb2YgRE9NIGxpc3RlbmVyc1xuICB2YXIgbGlzdGVuZXJzID0gZGF0YS5vbjtcbiAgLy8gcmVwbGFjZSB3aXRoIGxpc3RlbmVycyB3aXRoIC5uYXRpdmUgbW9kaWZpZXJcbiAgLy8gc28gaXQgZ2V0cyBwcm9jZXNzZWQgZHVyaW5nIHBhcmVudCBjb21wb25lbnQgcGF0Y2guXG4gIGRhdGEub24gPSBkYXRhLm5hdGl2ZU9uO1xuXG4gIGlmIChpc1RydWUoQ3Rvci5vcHRpb25zLmFic3RyYWN0KSkge1xuICAgIC8vIGFic3RyYWN0IGNvbXBvbmVudHMgZG8gbm90IGtlZXAgYW55dGhpbmdcbiAgICAvLyBvdGhlciB0aGFuIHByb3BzICYgbGlzdGVuZXJzICYgc2xvdFxuXG4gICAgLy8gd29yayBhcm91bmQgZmxvd1xuICAgIHZhciBzbG90ID0gZGF0YS5zbG90O1xuICAgIGRhdGEgPSB7fTtcbiAgICBpZiAoc2xvdCkge1xuICAgICAgZGF0YS5zbG90ID0gc2xvdDtcbiAgICB9XG4gIH1cblxuICAvLyBpbnN0YWxsIGNvbXBvbmVudCBtYW5hZ2VtZW50IGhvb2tzIG9udG8gdGhlIHBsYWNlaG9sZGVyIG5vZGVcbiAgaW5zdGFsbENvbXBvbmVudEhvb2tzKGRhdGEpO1xuXG4gIC8vIHJldHVybiBhIHBsYWNlaG9sZGVyIHZub2RlXG4gIHZhciBuYW1lID0gQ3Rvci5vcHRpb25zLm5hbWUgfHwgdGFnO1xuICB2YXIgdm5vZGUgPSBuZXcgVk5vZGUoXG4gICAgKFwidnVlLWNvbXBvbmVudC1cIiArIChDdG9yLmNpZCkgKyAobmFtZSA/IChcIi1cIiArIG5hbWUpIDogJycpKSxcbiAgICBkYXRhLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBjb250ZXh0LFxuICAgIHsgQ3RvcjogQ3RvciwgcHJvcHNEYXRhOiBwcm9wc0RhdGEsIGxpc3RlbmVyczogbGlzdGVuZXJzLCB0YWc6IHRhZywgY2hpbGRyZW46IGNoaWxkcmVuIH0sXG4gICAgYXN5bmNGYWN0b3J5XG4gICk7XG5cbiAgcmV0dXJuIHZub2RlXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbXBvbmVudEluc3RhbmNlRm9yVm5vZGUgKFxuICB2bm9kZSwgLy8gd2Uga25vdyBpdCdzIE1vdW50ZWRDb21wb25lbnRWTm9kZSBidXQgZmxvdyBkb2Vzbid0XG4gIHBhcmVudCAvLyBhY3RpdmVJbnN0YW5jZSBpbiBsaWZlY3ljbGUgc3RhdGVcbikge1xuICB2YXIgb3B0aW9ucyA9IHtcbiAgICBfaXNDb21wb25lbnQ6IHRydWUsXG4gICAgX3BhcmVudFZub2RlOiB2bm9kZSxcbiAgICBwYXJlbnQ6IHBhcmVudFxuICB9O1xuICAvLyBjaGVjayBpbmxpbmUtdGVtcGxhdGUgcmVuZGVyIGZ1bmN0aW9uc1xuICB2YXIgaW5saW5lVGVtcGxhdGUgPSB2bm9kZS5kYXRhLmlubGluZVRlbXBsYXRlO1xuICBpZiAoaXNEZWYoaW5saW5lVGVtcGxhdGUpKSB7XG4gICAgb3B0aW9ucy5yZW5kZXIgPSBpbmxpbmVUZW1wbGF0ZS5yZW5kZXI7XG4gICAgb3B0aW9ucy5zdGF0aWNSZW5kZXJGbnMgPSBpbmxpbmVUZW1wbGF0ZS5zdGF0aWNSZW5kZXJGbnM7XG4gIH1cbiAgcmV0dXJuIG5ldyB2bm9kZS5jb21wb25lbnRPcHRpb25zLkN0b3Iob3B0aW9ucylcbn1cblxuZnVuY3Rpb24gaW5zdGFsbENvbXBvbmVudEhvb2tzIChkYXRhKSB7XG4gIHZhciBob29rcyA9IGRhdGEuaG9vayB8fCAoZGF0YS5ob29rID0ge30pO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGhvb2tzVG9NZXJnZS5sZW5ndGg7IGkrKykge1xuICAgIHZhciBrZXkgPSBob29rc1RvTWVyZ2VbaV07XG4gICAgdmFyIGV4aXN0aW5nID0gaG9va3Nba2V5XTtcbiAgICB2YXIgdG9NZXJnZSA9IGNvbXBvbmVudFZOb2RlSG9va3Nba2V5XTtcbiAgICBpZiAoZXhpc3RpbmcgIT09IHRvTWVyZ2UgJiYgIShleGlzdGluZyAmJiBleGlzdGluZy5fbWVyZ2VkKSkge1xuICAgICAgaG9va3Nba2V5XSA9IGV4aXN0aW5nID8gbWVyZ2VIb29rJDEodG9NZXJnZSwgZXhpc3RpbmcpIDogdG9NZXJnZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbWVyZ2VIb29rJDEgKGYxLCBmMikge1xuICB2YXIgbWVyZ2VkID0gZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAvLyBmbG93IGNvbXBsYWlucyBhYm91dCBleHRyYSBhcmdzIHdoaWNoIGlzIHdoeSB3ZSB1c2UgYW55XG4gICAgZjEoYSwgYik7XG4gICAgZjIoYSwgYik7XG4gIH07XG4gIG1lcmdlZC5fbWVyZ2VkID0gdHJ1ZTtcbiAgcmV0dXJuIG1lcmdlZFxufVxuXG4vLyB0cmFuc2Zvcm0gY29tcG9uZW50IHYtbW9kZWwgaW5mbyAodmFsdWUgYW5kIGNhbGxiYWNrKSBpbnRvXG4vLyBwcm9wIGFuZCBldmVudCBoYW5kbGVyIHJlc3BlY3RpdmVseS5cbmZ1bmN0aW9uIHRyYW5zZm9ybU1vZGVsIChvcHRpb25zLCBkYXRhKSB7XG4gIHZhciBwcm9wID0gKG9wdGlvbnMubW9kZWwgJiYgb3B0aW9ucy5tb2RlbC5wcm9wKSB8fCAndmFsdWUnO1xuICB2YXIgZXZlbnQgPSAob3B0aW9ucy5tb2RlbCAmJiBvcHRpb25zLm1vZGVsLmV2ZW50KSB8fCAnaW5wdXQnXG4gIDsoZGF0YS5hdHRycyB8fCAoZGF0YS5hdHRycyA9IHt9KSlbcHJvcF0gPSBkYXRhLm1vZGVsLnZhbHVlO1xuICB2YXIgb24gPSBkYXRhLm9uIHx8IChkYXRhLm9uID0ge30pO1xuICB2YXIgZXhpc3RpbmcgPSBvbltldmVudF07XG4gIHZhciBjYWxsYmFjayA9IGRhdGEubW9kZWwuY2FsbGJhY2s7XG4gIGlmIChpc0RlZihleGlzdGluZykpIHtcbiAgICBpZiAoXG4gICAgICBBcnJheS5pc0FycmF5KGV4aXN0aW5nKVxuICAgICAgICA/IGV4aXN0aW5nLmluZGV4T2YoY2FsbGJhY2spID09PSAtMVxuICAgICAgICA6IGV4aXN0aW5nICE9PSBjYWxsYmFja1xuICAgICkge1xuICAgICAgb25bZXZlbnRdID0gW2NhbGxiYWNrXS5jb25jYXQoZXhpc3RpbmcpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBvbltldmVudF0gPSBjYWxsYmFjaztcbiAgfVxufVxuXG4vKiAgKi9cblxudmFyIFNJTVBMRV9OT1JNQUxJWkUgPSAxO1xudmFyIEFMV0FZU19OT1JNQUxJWkUgPSAyO1xuXG4vLyB3cmFwcGVyIGZ1bmN0aW9uIGZvciBwcm92aWRpbmcgYSBtb3JlIGZsZXhpYmxlIGludGVyZmFjZVxuLy8gd2l0aG91dCBnZXR0aW5nIHllbGxlZCBhdCBieSBmbG93XG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50IChcbiAgY29udGV4dCxcbiAgdGFnLFxuICBkYXRhLFxuICBjaGlsZHJlbixcbiAgbm9ybWFsaXphdGlvblR5cGUsXG4gIGFsd2F5c05vcm1hbGl6ZVxuKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGRhdGEpIHx8IGlzUHJpbWl0aXZlKGRhdGEpKSB7XG4gICAgbm9ybWFsaXphdGlvblR5cGUgPSBjaGlsZHJlbjtcbiAgICBjaGlsZHJlbiA9IGRhdGE7XG4gICAgZGF0YSA9IHVuZGVmaW5lZDtcbiAgfVxuICBpZiAoaXNUcnVlKGFsd2F5c05vcm1hbGl6ZSkpIHtcbiAgICBub3JtYWxpemF0aW9uVHlwZSA9IEFMV0FZU19OT1JNQUxJWkU7XG4gIH1cbiAgcmV0dXJuIF9jcmVhdGVFbGVtZW50KGNvbnRleHQsIHRhZywgZGF0YSwgY2hpbGRyZW4sIG5vcm1hbGl6YXRpb25UeXBlKVxufVxuXG5mdW5jdGlvbiBfY3JlYXRlRWxlbWVudCAoXG4gIGNvbnRleHQsXG4gIHRhZyxcbiAgZGF0YSxcbiAgY2hpbGRyZW4sXG4gIG5vcm1hbGl6YXRpb25UeXBlXG4pIHtcbiAgaWYgKGlzRGVmKGRhdGEpICYmIGlzRGVmKChkYXRhKS5fX29iX18pKSB7XG4gICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgXCJBdm9pZCB1c2luZyBvYnNlcnZlZCBkYXRhIG9iamVjdCBhcyB2bm9kZSBkYXRhOiBcIiArIChKU09OLnN0cmluZ2lmeShkYXRhKSkgKyBcIlxcblwiICtcbiAgICAgICdBbHdheXMgY3JlYXRlIGZyZXNoIHZub2RlIGRhdGEgb2JqZWN0cyBpbiBlYWNoIHJlbmRlciEnLFxuICAgICAgY29udGV4dFxuICAgICk7XG4gICAgcmV0dXJuIGNyZWF0ZUVtcHR5Vk5vZGUoKVxuICB9XG4gIC8vIG9iamVjdCBzeW50YXggaW4gdi1iaW5kXG4gIGlmIChpc0RlZihkYXRhKSAmJiBpc0RlZihkYXRhLmlzKSkge1xuICAgIHRhZyA9IGRhdGEuaXM7XG4gIH1cbiAgaWYgKCF0YWcpIHtcbiAgICAvLyBpbiBjYXNlIG9mIGNvbXBvbmVudCA6aXMgc2V0IHRvIGZhbHN5IHZhbHVlXG4gICAgcmV0dXJuIGNyZWF0ZUVtcHR5Vk5vZGUoKVxuICB9XG4gIC8vIHdhcm4gYWdhaW5zdCBub24tcHJpbWl0aXZlIGtleVxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgIGlzRGVmKGRhdGEpICYmIGlzRGVmKGRhdGEua2V5KSAmJiAhaXNQcmltaXRpdmUoZGF0YS5rZXkpXG4gICkge1xuICAgIHtcbiAgICAgIHdhcm4oXG4gICAgICAgICdBdm9pZCB1c2luZyBub24tcHJpbWl0aXZlIHZhbHVlIGFzIGtleSwgJyArXG4gICAgICAgICd1c2Ugc3RyaW5nL251bWJlciB2YWx1ZSBpbnN0ZWFkLicsXG4gICAgICAgIGNvbnRleHRcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIC8vIHN1cHBvcnQgc2luZ2xlIGZ1bmN0aW9uIGNoaWxkcmVuIGFzIGRlZmF1bHQgc2NvcGVkIHNsb3RcbiAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pICYmXG4gICAgdHlwZW9mIGNoaWxkcmVuWzBdID09PSAnZnVuY3Rpb24nXG4gICkge1xuICAgIGRhdGEgPSBkYXRhIHx8IHt9O1xuICAgIGRhdGEuc2NvcGVkU2xvdHMgPSB7IGRlZmF1bHQ6IGNoaWxkcmVuWzBdIH07XG4gICAgY2hpbGRyZW4ubGVuZ3RoID0gMDtcbiAgfVxuICBpZiAobm9ybWFsaXphdGlvblR5cGUgPT09IEFMV0FZU19OT1JNQUxJWkUpIHtcbiAgICBjaGlsZHJlbiA9IG5vcm1hbGl6ZUNoaWxkcmVuKGNoaWxkcmVuKTtcbiAgfSBlbHNlIGlmIChub3JtYWxpemF0aW9uVHlwZSA9PT0gU0lNUExFX05PUk1BTElaRSkge1xuICAgIGNoaWxkcmVuID0gc2ltcGxlTm9ybWFsaXplQ2hpbGRyZW4oY2hpbGRyZW4pO1xuICB9XG4gIHZhciB2bm9kZSwgbnM7XG4gIGlmICh0eXBlb2YgdGFnID09PSAnc3RyaW5nJykge1xuICAgIHZhciBDdG9yO1xuICAgIG5zID0gKGNvbnRleHQuJHZub2RlICYmIGNvbnRleHQuJHZub2RlLm5zKSB8fCBjb25maWcuZ2V0VGFnTmFtZXNwYWNlKHRhZyk7XG4gICAgaWYgKGNvbmZpZy5pc1Jlc2VydmVkVGFnKHRhZykpIHtcbiAgICAgIC8vIHBsYXRmb3JtIGJ1aWx0LWluIGVsZW1lbnRzXG4gICAgICB2bm9kZSA9IG5ldyBWTm9kZShcbiAgICAgICAgY29uZmlnLnBhcnNlUGxhdGZvcm1UYWdOYW1lKHRhZyksIGRhdGEsIGNoaWxkcmVuLFxuICAgICAgICB1bmRlZmluZWQsIHVuZGVmaW5lZCwgY29udGV4dFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKCghZGF0YSB8fCAhZGF0YS5wcmUpICYmIGlzRGVmKEN0b3IgPSByZXNvbHZlQXNzZXQoY29udGV4dC4kb3B0aW9ucywgJ2NvbXBvbmVudHMnLCB0YWcpKSkge1xuICAgICAgLy8gY29tcG9uZW50XG4gICAgICB2bm9kZSA9IGNyZWF0ZUNvbXBvbmVudChDdG9yLCBkYXRhLCBjb250ZXh0LCBjaGlsZHJlbiwgdGFnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdW5rbm93biBvciB1bmxpc3RlZCBuYW1lc3BhY2VkIGVsZW1lbnRzXG4gICAgICAvLyBjaGVjayBhdCBydW50aW1lIGJlY2F1c2UgaXQgbWF5IGdldCBhc3NpZ25lZCBhIG5hbWVzcGFjZSB3aGVuIGl0c1xuICAgICAgLy8gcGFyZW50IG5vcm1hbGl6ZXMgY2hpbGRyZW5cbiAgICAgIHZub2RlID0gbmV3IFZOb2RlKFxuICAgICAgICB0YWcsIGRhdGEsIGNoaWxkcmVuLFxuICAgICAgICB1bmRlZmluZWQsIHVuZGVmaW5lZCwgY29udGV4dFxuICAgICAgKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgLy8gZGlyZWN0IGNvbXBvbmVudCBvcHRpb25zIC8gY29uc3RydWN0b3JcbiAgICB2bm9kZSA9IGNyZWF0ZUNvbXBvbmVudCh0YWcsIGRhdGEsIGNvbnRleHQsIGNoaWxkcmVuKTtcbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheSh2bm9kZSkpIHtcbiAgICByZXR1cm4gdm5vZGVcbiAgfSBlbHNlIGlmIChpc0RlZih2bm9kZSkpIHtcbiAgICBpZiAoaXNEZWYobnMpKSB7IGFwcGx5TlModm5vZGUsIG5zKTsgfVxuICAgIGlmIChpc0RlZihkYXRhKSkgeyByZWdpc3RlckRlZXBCaW5kaW5ncyhkYXRhKTsgfVxuICAgIHJldHVybiB2bm9kZVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBjcmVhdGVFbXB0eVZOb2RlKClcbiAgfVxufVxuXG5mdW5jdGlvbiBhcHBseU5TICh2bm9kZSwgbnMsIGZvcmNlKSB7XG4gIHZub2RlLm5zID0gbnM7XG4gIGlmICh2bm9kZS50YWcgPT09ICdmb3JlaWduT2JqZWN0Jykge1xuICAgIC8vIHVzZSBkZWZhdWx0IG5hbWVzcGFjZSBpbnNpZGUgZm9yZWlnbk9iamVjdFxuICAgIG5zID0gdW5kZWZpbmVkO1xuICAgIGZvcmNlID0gdHJ1ZTtcbiAgfVxuICBpZiAoaXNEZWYodm5vZGUuY2hpbGRyZW4pKSB7XG4gICAgZm9yICh2YXIgaSA9IDAsIGwgPSB2bm9kZS5jaGlsZHJlbi5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIHZhciBjaGlsZCA9IHZub2RlLmNoaWxkcmVuW2ldO1xuICAgICAgaWYgKGlzRGVmKGNoaWxkLnRhZykgJiYgKFxuICAgICAgICBpc1VuZGVmKGNoaWxkLm5zKSB8fCAoaXNUcnVlKGZvcmNlKSAmJiBjaGlsZC50YWcgIT09ICdzdmcnKSkpIHtcbiAgICAgICAgYXBwbHlOUyhjaGlsZCwgbnMsIGZvcmNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gcmVmICM1MzE4XG4vLyBuZWNlc3NhcnkgdG8gZW5zdXJlIHBhcmVudCByZS1yZW5kZXIgd2hlbiBkZWVwIGJpbmRpbmdzIGxpa2UgOnN0eWxlIGFuZFxuLy8gOmNsYXNzIGFyZSB1c2VkIG9uIHNsb3Qgbm9kZXNcbmZ1bmN0aW9uIHJlZ2lzdGVyRGVlcEJpbmRpbmdzIChkYXRhKSB7XG4gIGlmIChpc09iamVjdChkYXRhLnN0eWxlKSkge1xuICAgIHRyYXZlcnNlKGRhdGEuc3R5bGUpO1xuICB9XG4gIGlmIChpc09iamVjdChkYXRhLmNsYXNzKSkge1xuICAgIHRyYXZlcnNlKGRhdGEuY2xhc3MpO1xuICB9XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBpbml0UmVuZGVyICh2bSkge1xuICB2bS5fdm5vZGUgPSBudWxsOyAvLyB0aGUgcm9vdCBvZiB0aGUgY2hpbGQgdHJlZVxuICB2bS5fc3RhdGljVHJlZXMgPSBudWxsOyAvLyB2LW9uY2UgY2FjaGVkIHRyZWVzXG4gIHZhciBvcHRpb25zID0gdm0uJG9wdGlvbnM7XG4gIHZhciBwYXJlbnRWbm9kZSA9IHZtLiR2bm9kZSA9IG9wdGlvbnMuX3BhcmVudFZub2RlOyAvLyB0aGUgcGxhY2Vob2xkZXIgbm9kZSBpbiBwYXJlbnQgdHJlZVxuICB2YXIgcmVuZGVyQ29udGV4dCA9IHBhcmVudFZub2RlICYmIHBhcmVudFZub2RlLmNvbnRleHQ7XG4gIHZtLiRzbG90cyA9IHJlc29sdmVTbG90cyhvcHRpb25zLl9yZW5kZXJDaGlsZHJlbiwgcmVuZGVyQ29udGV4dCk7XG4gIHZtLiRzY29wZWRTbG90cyA9IGVtcHR5T2JqZWN0O1xuICAvLyBiaW5kIHRoZSBjcmVhdGVFbGVtZW50IGZuIHRvIHRoaXMgaW5zdGFuY2VcbiAgLy8gc28gdGhhdCB3ZSBnZXQgcHJvcGVyIHJlbmRlciBjb250ZXh0IGluc2lkZSBpdC5cbiAgLy8gYXJncyBvcmRlcjogdGFnLCBkYXRhLCBjaGlsZHJlbiwgbm9ybWFsaXphdGlvblR5cGUsIGFsd2F5c05vcm1hbGl6ZVxuICAvLyBpbnRlcm5hbCB2ZXJzaW9uIGlzIHVzZWQgYnkgcmVuZGVyIGZ1bmN0aW9ucyBjb21waWxlZCBmcm9tIHRlbXBsYXRlc1xuICB2bS5fYyA9IGZ1bmN0aW9uIChhLCBiLCBjLCBkKSB7IHJldHVybiBjcmVhdGVFbGVtZW50KHZtLCBhLCBiLCBjLCBkLCBmYWxzZSk7IH07XG4gIC8vIG5vcm1hbGl6YXRpb24gaXMgYWx3YXlzIGFwcGxpZWQgZm9yIHRoZSBwdWJsaWMgdmVyc2lvbiwgdXNlZCBpblxuICAvLyB1c2VyLXdyaXR0ZW4gcmVuZGVyIGZ1bmN0aW9ucy5cbiAgdm0uJGNyZWF0ZUVsZW1lbnQgPSBmdW5jdGlvbiAoYSwgYiwgYywgZCkgeyByZXR1cm4gY3JlYXRlRWxlbWVudCh2bSwgYSwgYiwgYywgZCwgdHJ1ZSk7IH07XG5cbiAgLy8gJGF0dHJzICYgJGxpc3RlbmVycyBhcmUgZXhwb3NlZCBmb3IgZWFzaWVyIEhPQyBjcmVhdGlvbi5cbiAgLy8gdGhleSBuZWVkIHRvIGJlIHJlYWN0aXZlIHNvIHRoYXQgSE9DcyB1c2luZyB0aGVtIGFyZSBhbHdheXMgdXBkYXRlZFxuICB2YXIgcGFyZW50RGF0YSA9IHBhcmVudFZub2RlICYmIHBhcmVudFZub2RlLmRhdGE7XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBkZWZpbmVSZWFjdGl2ZSQkMSh2bSwgJyRhdHRycycsIHBhcmVudERhdGEgJiYgcGFyZW50RGF0YS5hdHRycyB8fCBlbXB0eU9iamVjdCwgZnVuY3Rpb24gKCkge1xuICAgICAgIWlzVXBkYXRpbmdDaGlsZENvbXBvbmVudCAmJiB3YXJuKFwiJGF0dHJzIGlzIHJlYWRvbmx5LlwiLCB2bSk7XG4gICAgfSwgdHJ1ZSk7XG4gICAgZGVmaW5lUmVhY3RpdmUkJDEodm0sICckbGlzdGVuZXJzJywgb3B0aW9ucy5fcGFyZW50TGlzdGVuZXJzIHx8IGVtcHR5T2JqZWN0LCBmdW5jdGlvbiAoKSB7XG4gICAgICAhaXNVcGRhdGluZ0NoaWxkQ29tcG9uZW50ICYmIHdhcm4oXCIkbGlzdGVuZXJzIGlzIHJlYWRvbmx5LlwiLCB2bSk7XG4gICAgfSwgdHJ1ZSk7XG4gIH0gZWxzZSB7XG4gICAgZGVmaW5lUmVhY3RpdmUkJDEodm0sICckYXR0cnMnLCBwYXJlbnREYXRhICYmIHBhcmVudERhdGEuYXR0cnMgfHwgZW1wdHlPYmplY3QsIG51bGwsIHRydWUpO1xuICAgIGRlZmluZVJlYWN0aXZlJCQxKHZtLCAnJGxpc3RlbmVycycsIG9wdGlvbnMuX3BhcmVudExpc3RlbmVycyB8fCBlbXB0eU9iamVjdCwgbnVsbCwgdHJ1ZSk7XG4gIH1cbn1cblxudmFyIGN1cnJlbnRSZW5kZXJpbmdJbnN0YW5jZSA9IG51bGw7XG5cbmZ1bmN0aW9uIHJlbmRlck1peGluIChWdWUpIHtcbiAgLy8gaW5zdGFsbCBydW50aW1lIGNvbnZlbmllbmNlIGhlbHBlcnNcbiAgaW5zdGFsbFJlbmRlckhlbHBlcnMoVnVlLnByb3RvdHlwZSk7XG5cbiAgVnVlLnByb3RvdHlwZS4kbmV4dFRpY2sgPSBmdW5jdGlvbiAoZm4pIHtcbiAgICByZXR1cm4gbmV4dFRpY2soZm4sIHRoaXMpXG4gIH07XG5cbiAgVnVlLnByb3RvdHlwZS5fcmVuZGVyID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciB2bSA9IHRoaXM7XG4gICAgdmFyIHJlZiA9IHZtLiRvcHRpb25zO1xuICAgIHZhciByZW5kZXIgPSByZWYucmVuZGVyO1xuICAgIHZhciBfcGFyZW50Vm5vZGUgPSByZWYuX3BhcmVudFZub2RlO1xuXG4gICAgaWYgKF9wYXJlbnRWbm9kZSkge1xuICAgICAgdm0uJHNjb3BlZFNsb3RzID0gbm9ybWFsaXplU2NvcGVkU2xvdHMoXG4gICAgICAgIF9wYXJlbnRWbm9kZS5kYXRhLnNjb3BlZFNsb3RzLFxuICAgICAgICB2bS4kc2xvdHMsXG4gICAgICAgIHZtLiRzY29wZWRTbG90c1xuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBzZXQgcGFyZW50IHZub2RlLiB0aGlzIGFsbG93cyByZW5kZXIgZnVuY3Rpb25zIHRvIGhhdmUgYWNjZXNzXG4gICAgLy8gdG8gdGhlIGRhdGEgb24gdGhlIHBsYWNlaG9sZGVyIG5vZGUuXG4gICAgdm0uJHZub2RlID0gX3BhcmVudFZub2RlO1xuICAgIC8vIHJlbmRlciBzZWxmXG4gICAgdmFyIHZub2RlO1xuICAgIHRyeSB7XG4gICAgICAvLyBUaGVyZSdzIG5vIG5lZWQgdG8gbWFpbnRhaW4gYSBzdGFjayBiZWNhdWVzIGFsbCByZW5kZXIgZm5zIGFyZSBjYWxsZWRcbiAgICAgIC8vIHNlcGFyYXRlbHkgZnJvbSBvbmUgYW5vdGhlci4gTmVzdGVkIGNvbXBvbmVudCdzIHJlbmRlciBmbnMgYXJlIGNhbGxlZFxuICAgICAgLy8gd2hlbiBwYXJlbnQgY29tcG9uZW50IGlzIHBhdGNoZWQuXG4gICAgICBjdXJyZW50UmVuZGVyaW5nSW5zdGFuY2UgPSB2bTtcbiAgICAgIHZub2RlID0gcmVuZGVyLmNhbGwodm0uX3JlbmRlclByb3h5LCB2bS4kY3JlYXRlRWxlbWVudCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaGFuZGxlRXJyb3IoZSwgdm0sIFwicmVuZGVyXCIpO1xuICAgICAgLy8gcmV0dXJuIGVycm9yIHJlbmRlciByZXN1bHQsXG4gICAgICAvLyBvciBwcmV2aW91cyB2bm9kZSB0byBwcmV2ZW50IHJlbmRlciBlcnJvciBjYXVzaW5nIGJsYW5rIGNvbXBvbmVudFxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHZtLiRvcHRpb25zLnJlbmRlckVycm9yKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdm5vZGUgPSB2bS4kb3B0aW9ucy5yZW5kZXJFcnJvci5jYWxsKHZtLl9yZW5kZXJQcm94eSwgdm0uJGNyZWF0ZUVsZW1lbnQsIGUpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgaGFuZGxlRXJyb3IoZSwgdm0sIFwicmVuZGVyRXJyb3JcIik7XG4gICAgICAgICAgdm5vZGUgPSB2bS5fdm5vZGU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZub2RlID0gdm0uX3Zub2RlO1xuICAgICAgfVxuICAgIH0gZmluYWxseSB7XG4gICAgICBjdXJyZW50UmVuZGVyaW5nSW5zdGFuY2UgPSBudWxsO1xuICAgIH1cbiAgICAvLyBpZiB0aGUgcmV0dXJuZWQgYXJyYXkgY29udGFpbnMgb25seSBhIHNpbmdsZSBub2RlLCBhbGxvdyBpdFxuICAgIGlmIChBcnJheS5pc0FycmF5KHZub2RlKSAmJiB2bm9kZS5sZW5ndGggPT09IDEpIHtcbiAgICAgIHZub2RlID0gdm5vZGVbMF07XG4gICAgfVxuICAgIC8vIHJldHVybiBlbXB0eSB2bm9kZSBpbiBjYXNlIHRoZSByZW5kZXIgZnVuY3Rpb24gZXJyb3JlZCBvdXRcbiAgICBpZiAoISh2bm9kZSBpbnN0YW5jZW9mIFZOb2RlKSkge1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgQXJyYXkuaXNBcnJheSh2bm9kZSkpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICAnTXVsdGlwbGUgcm9vdCBub2RlcyByZXR1cm5lZCBmcm9tIHJlbmRlciBmdW5jdGlvbi4gUmVuZGVyIGZ1bmN0aW9uICcgK1xuICAgICAgICAgICdzaG91bGQgcmV0dXJuIGEgc2luZ2xlIHJvb3Qgbm9kZS4nLFxuICAgICAgICAgIHZtXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB2bm9kZSA9IGNyZWF0ZUVtcHR5Vk5vZGUoKTtcbiAgICB9XG4gICAgLy8gc2V0IHBhcmVudFxuICAgIHZub2RlLnBhcmVudCA9IF9wYXJlbnRWbm9kZTtcbiAgICByZXR1cm4gdm5vZGVcbiAgfTtcbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGVuc3VyZUN0b3IgKGNvbXAsIGJhc2UpIHtcbiAgaWYgKFxuICAgIGNvbXAuX19lc01vZHVsZSB8fFxuICAgIChoYXNTeW1ib2wgJiYgY29tcFtTeW1ib2wudG9TdHJpbmdUYWddID09PSAnTW9kdWxlJylcbiAgKSB7XG4gICAgY29tcCA9IGNvbXAuZGVmYXVsdDtcbiAgfVxuICByZXR1cm4gaXNPYmplY3QoY29tcClcbiAgICA/IGJhc2UuZXh0ZW5kKGNvbXApXG4gICAgOiBjb21wXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUFzeW5jUGxhY2Vob2xkZXIgKFxuICBmYWN0b3J5LFxuICBkYXRhLFxuICBjb250ZXh0LFxuICBjaGlsZHJlbixcbiAgdGFnXG4pIHtcbiAgdmFyIG5vZGUgPSBjcmVhdGVFbXB0eVZOb2RlKCk7XG4gIG5vZGUuYXN5bmNGYWN0b3J5ID0gZmFjdG9yeTtcbiAgbm9kZS5hc3luY01ldGEgPSB7IGRhdGE6IGRhdGEsIGNvbnRleHQ6IGNvbnRleHQsIGNoaWxkcmVuOiBjaGlsZHJlbiwgdGFnOiB0YWcgfTtcbiAgcmV0dXJuIG5vZGVcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZUFzeW5jQ29tcG9uZW50IChcbiAgZmFjdG9yeSxcbiAgYmFzZUN0b3Jcbikge1xuICBpZiAoaXNUcnVlKGZhY3RvcnkuZXJyb3IpICYmIGlzRGVmKGZhY3RvcnkuZXJyb3JDb21wKSkge1xuICAgIHJldHVybiBmYWN0b3J5LmVycm9yQ29tcFxuICB9XG5cbiAgaWYgKGlzRGVmKGZhY3RvcnkucmVzb2x2ZWQpKSB7XG4gICAgcmV0dXJuIGZhY3RvcnkucmVzb2x2ZWRcbiAgfVxuXG4gIHZhciBvd25lciA9IGN1cnJlbnRSZW5kZXJpbmdJbnN0YW5jZTtcbiAgaWYgKG93bmVyICYmIGlzRGVmKGZhY3Rvcnkub3duZXJzKSAmJiBmYWN0b3J5Lm93bmVycy5pbmRleE9mKG93bmVyKSA9PT0gLTEpIHtcbiAgICAvLyBhbHJlYWR5IHBlbmRpbmdcbiAgICBmYWN0b3J5Lm93bmVycy5wdXNoKG93bmVyKTtcbiAgfVxuXG4gIGlmIChpc1RydWUoZmFjdG9yeS5sb2FkaW5nKSAmJiBpc0RlZihmYWN0b3J5LmxvYWRpbmdDb21wKSkge1xuICAgIHJldHVybiBmYWN0b3J5LmxvYWRpbmdDb21wXG4gIH1cblxuICBpZiAob3duZXIgJiYgIWlzRGVmKGZhY3Rvcnkub3duZXJzKSkge1xuICAgIHZhciBvd25lcnMgPSBmYWN0b3J5Lm93bmVycyA9IFtvd25lcl07XG4gICAgdmFyIHN5bmMgPSB0cnVlO1xuICAgIHZhciB0aW1lckxvYWRpbmcgPSBudWxsO1xuICAgIHZhciB0aW1lclRpbWVvdXQgPSBudWxsXG5cbiAgICA7KG93bmVyKS4kb24oJ2hvb2s6ZGVzdHJveWVkJywgZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVtb3ZlKG93bmVycywgb3duZXIpOyB9KTtcblxuICAgIHZhciBmb3JjZVJlbmRlciA9IGZ1bmN0aW9uIChyZW5kZXJDb21wbGV0ZWQpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gb3duZXJzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAob3duZXJzW2ldKS4kZm9yY2VVcGRhdGUoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlbmRlckNvbXBsZXRlZCkge1xuICAgICAgICBvd25lcnMubGVuZ3RoID0gMDtcbiAgICAgICAgaWYgKHRpbWVyTG9hZGluZyAhPT0gbnVsbCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lckxvYWRpbmcpO1xuICAgICAgICAgIHRpbWVyTG9hZGluZyA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRpbWVyVGltZW91dCAhPT0gbnVsbCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lclRpbWVvdXQpO1xuICAgICAgICAgIHRpbWVyVGltZW91dCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdmFyIHJlc29sdmUgPSBvbmNlKGZ1bmN0aW9uIChyZXMpIHtcbiAgICAgIC8vIGNhY2hlIHJlc29sdmVkXG4gICAgICBmYWN0b3J5LnJlc29sdmVkID0gZW5zdXJlQ3RvcihyZXMsIGJhc2VDdG9yKTtcbiAgICAgIC8vIGludm9rZSBjYWxsYmFja3Mgb25seSBpZiB0aGlzIGlzIG5vdCBhIHN5bmNocm9ub3VzIHJlc29sdmVcbiAgICAgIC8vIChhc3luYyByZXNvbHZlcyBhcmUgc2hpbW1lZCBhcyBzeW5jaHJvbm91cyBkdXJpbmcgU1NSKVxuICAgICAgaWYgKCFzeW5jKSB7XG4gICAgICAgIGZvcmNlUmVuZGVyKHRydWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3duZXJzLmxlbmd0aCA9IDA7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB2YXIgcmVqZWN0ID0gb25jZShmdW5jdGlvbiAocmVhc29uKSB7XG4gICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4oXG4gICAgICAgIFwiRmFpbGVkIHRvIHJlc29sdmUgYXN5bmMgY29tcG9uZW50OiBcIiArIChTdHJpbmcoZmFjdG9yeSkpICtcbiAgICAgICAgKHJlYXNvbiA/IChcIlxcblJlYXNvbjogXCIgKyByZWFzb24pIDogJycpXG4gICAgICApO1xuICAgICAgaWYgKGlzRGVmKGZhY3RvcnkuZXJyb3JDb21wKSkge1xuICAgICAgICBmYWN0b3J5LmVycm9yID0gdHJ1ZTtcbiAgICAgICAgZm9yY2VSZW5kZXIodHJ1ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB2YXIgcmVzID0gZmFjdG9yeShyZXNvbHZlLCByZWplY3QpO1xuXG4gICAgaWYgKGlzT2JqZWN0KHJlcykpIHtcbiAgICAgIGlmIChpc1Byb21pc2UocmVzKSkge1xuICAgICAgICAvLyAoKSA9PiBQcm9taXNlXG4gICAgICAgIGlmIChpc1VuZGVmKGZhY3RvcnkucmVzb2x2ZWQpKSB7XG4gICAgICAgICAgcmVzLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChpc1Byb21pc2UocmVzLmNvbXBvbmVudCkpIHtcbiAgICAgICAgcmVzLmNvbXBvbmVudC50aGVuKHJlc29sdmUsIHJlamVjdCk7XG5cbiAgICAgICAgaWYgKGlzRGVmKHJlcy5lcnJvcikpIHtcbiAgICAgICAgICBmYWN0b3J5LmVycm9yQ29tcCA9IGVuc3VyZUN0b3IocmVzLmVycm9yLCBiYXNlQ3Rvcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNEZWYocmVzLmxvYWRpbmcpKSB7XG4gICAgICAgICAgZmFjdG9yeS5sb2FkaW5nQ29tcCA9IGVuc3VyZUN0b3IocmVzLmxvYWRpbmcsIGJhc2VDdG9yKTtcbiAgICAgICAgICBpZiAocmVzLmRlbGF5ID09PSAwKSB7XG4gICAgICAgICAgICBmYWN0b3J5LmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aW1lckxvYWRpbmcgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgdGltZXJMb2FkaW5nID0gbnVsbDtcbiAgICAgICAgICAgICAgaWYgKGlzVW5kZWYoZmFjdG9yeS5yZXNvbHZlZCkgJiYgaXNVbmRlZihmYWN0b3J5LmVycm9yKSkge1xuICAgICAgICAgICAgICAgIGZhY3RvcnkubG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgZm9yY2VSZW5kZXIoZmFsc2UpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCByZXMuZGVsYXkgfHwgMjAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNEZWYocmVzLnRpbWVvdXQpKSB7XG4gICAgICAgICAgdGltZXJUaW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB0aW1lclRpbWVvdXQgPSBudWxsO1xuICAgICAgICAgICAgaWYgKGlzVW5kZWYoZmFjdG9yeS5yZXNvbHZlZCkpIHtcbiAgICAgICAgICAgICAgcmVqZWN0KFxuICAgICAgICAgICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbidcbiAgICAgICAgICAgICAgICAgID8gKFwidGltZW91dCAoXCIgKyAocmVzLnRpbWVvdXQpICsgXCJtcylcIilcbiAgICAgICAgICAgICAgICAgIDogbnVsbFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sIHJlcy50aW1lb3V0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHN5bmMgPSBmYWxzZTtcbiAgICAvLyByZXR1cm4gaW4gY2FzZSByZXNvbHZlZCBzeW5jaHJvbm91c2x5XG4gICAgcmV0dXJuIGZhY3RvcnkubG9hZGluZ1xuICAgICAgPyBmYWN0b3J5LmxvYWRpbmdDb21wXG4gICAgICA6IGZhY3RvcnkucmVzb2x2ZWRcbiAgfVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gaXNBc3luY1BsYWNlaG9sZGVyIChub2RlKSB7XG4gIHJldHVybiBub2RlLmlzQ29tbWVudCAmJiBub2RlLmFzeW5jRmFjdG9yeVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gZ2V0Rmlyc3RDb21wb25lbnRDaGlsZCAoY2hpbGRyZW4pIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGMgPSBjaGlsZHJlbltpXTtcbiAgICAgIGlmIChpc0RlZihjKSAmJiAoaXNEZWYoYy5jb21wb25lbnRPcHRpb25zKSB8fCBpc0FzeW5jUGxhY2Vob2xkZXIoYykpKSB7XG4gICAgICAgIHJldHVybiBjXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qICAqL1xuXG4vKiAgKi9cblxuZnVuY3Rpb24gaW5pdEV2ZW50cyAodm0pIHtcbiAgdm0uX2V2ZW50cyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIHZtLl9oYXNIb29rRXZlbnQgPSBmYWxzZTtcbiAgLy8gaW5pdCBwYXJlbnQgYXR0YWNoZWQgZXZlbnRzXG4gIHZhciBsaXN0ZW5lcnMgPSB2bS4kb3B0aW9ucy5fcGFyZW50TGlzdGVuZXJzO1xuICBpZiAobGlzdGVuZXJzKSB7XG4gICAgdXBkYXRlQ29tcG9uZW50TGlzdGVuZXJzKHZtLCBsaXN0ZW5lcnMpO1xuICB9XG59XG5cbnZhciB0YXJnZXQ7XG5cbmZ1bmN0aW9uIGFkZCAoZXZlbnQsIGZuKSB7XG4gIHRhcmdldC4kb24oZXZlbnQsIGZuKTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlJDEgKGV2ZW50LCBmbikge1xuICB0YXJnZXQuJG9mZihldmVudCwgZm4pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVPbmNlSGFuZGxlciAoZXZlbnQsIGZuKSB7XG4gIHZhciBfdGFyZ2V0ID0gdGFyZ2V0O1xuICByZXR1cm4gZnVuY3Rpb24gb25jZUhhbmRsZXIgKCkge1xuICAgIHZhciByZXMgPSBmbi5hcHBseShudWxsLCBhcmd1bWVudHMpO1xuICAgIGlmIChyZXMgIT09IG51bGwpIHtcbiAgICAgIF90YXJnZXQuJG9mZihldmVudCwgb25jZUhhbmRsZXIpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVDb21wb25lbnRMaXN0ZW5lcnMgKFxuICB2bSxcbiAgbGlzdGVuZXJzLFxuICBvbGRMaXN0ZW5lcnNcbikge1xuICB0YXJnZXQgPSB2bTtcbiAgdXBkYXRlTGlzdGVuZXJzKGxpc3RlbmVycywgb2xkTGlzdGVuZXJzIHx8IHt9LCBhZGQsIHJlbW92ZSQxLCBjcmVhdGVPbmNlSGFuZGxlciwgdm0pO1xuICB0YXJnZXQgPSB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGV2ZW50c01peGluIChWdWUpIHtcbiAgdmFyIGhvb2tSRSA9IC9eaG9vazovO1xuICBWdWUucHJvdG90eXBlLiRvbiA9IGZ1bmN0aW9uIChldmVudCwgZm4pIHtcbiAgICB2YXIgdm0gPSB0aGlzO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGV2ZW50KSkge1xuICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBldmVudC5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgdm0uJG9uKGV2ZW50W2ldLCBmbik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICh2bS5fZXZlbnRzW2V2ZW50XSB8fCAodm0uX2V2ZW50c1tldmVudF0gPSBbXSkpLnB1c2goZm4pO1xuICAgICAgLy8gb3B0aW1pemUgaG9vazpldmVudCBjb3N0IGJ5IHVzaW5nIGEgYm9vbGVhbiBmbGFnIG1hcmtlZCBhdCByZWdpc3RyYXRpb25cbiAgICAgIC8vIGluc3RlYWQgb2YgYSBoYXNoIGxvb2t1cFxuICAgICAgaWYgKGhvb2tSRS50ZXN0KGV2ZW50KSkge1xuICAgICAgICB2bS5faGFzSG9va0V2ZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZtXG4gIH07XG5cbiAgVnVlLnByb3RvdHlwZS4kb25jZSA9IGZ1bmN0aW9uIChldmVudCwgZm4pIHtcbiAgICB2YXIgdm0gPSB0aGlzO1xuICAgIGZ1bmN0aW9uIG9uICgpIHtcbiAgICAgIHZtLiRvZmYoZXZlbnQsIG9uKTtcbiAgICAgIGZuLmFwcGx5KHZtLCBhcmd1bWVudHMpO1xuICAgIH1cbiAgICBvbi5mbiA9IGZuO1xuICAgIHZtLiRvbihldmVudCwgb24pO1xuICAgIHJldHVybiB2bVxuICB9O1xuXG4gIFZ1ZS5wcm90b3R5cGUuJG9mZiA9IGZ1bmN0aW9uIChldmVudCwgZm4pIHtcbiAgICB2YXIgdm0gPSB0aGlzO1xuICAgIC8vIGFsbFxuICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkge1xuICAgICAgdm0uX2V2ZW50cyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICByZXR1cm4gdm1cbiAgICB9XG4gICAgLy8gYXJyYXkgb2YgZXZlbnRzXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZXZlbnQpKSB7XG4gICAgICBmb3IgKHZhciBpJDEgPSAwLCBsID0gZXZlbnQubGVuZ3RoOyBpJDEgPCBsOyBpJDErKykge1xuICAgICAgICB2bS4kb2ZmKGV2ZW50W2kkMV0sIGZuKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2bVxuICAgIH1cbiAgICAvLyBzcGVjaWZpYyBldmVudFxuICAgIHZhciBjYnMgPSB2bS5fZXZlbnRzW2V2ZW50XTtcbiAgICBpZiAoIWNicykge1xuICAgICAgcmV0dXJuIHZtXG4gICAgfVxuICAgIGlmICghZm4pIHtcbiAgICAgIHZtLl9ldmVudHNbZXZlbnRdID0gbnVsbDtcbiAgICAgIHJldHVybiB2bVxuICAgIH1cbiAgICAvLyBzcGVjaWZpYyBoYW5kbGVyXG4gICAgdmFyIGNiO1xuICAgIHZhciBpID0gY2JzLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0tKSB7XG4gICAgICBjYiA9IGNic1tpXTtcbiAgICAgIGlmIChjYiA9PT0gZm4gfHwgY2IuZm4gPT09IGZuKSB7XG4gICAgICAgIGNicy5zcGxpY2UoaSwgMSk7XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB2bVxuICB9O1xuXG4gIFZ1ZS5wcm90b3R5cGUuJGVtaXQgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICB2YXIgdm0gPSB0aGlzO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICB2YXIgbG93ZXJDYXNlRXZlbnQgPSBldmVudC50b0xvd2VyQ2FzZSgpO1xuICAgICAgaWYgKGxvd2VyQ2FzZUV2ZW50ICE9PSBldmVudCAmJiB2bS5fZXZlbnRzW2xvd2VyQ2FzZUV2ZW50XSkge1xuICAgICAgICB0aXAoXG4gICAgICAgICAgXCJFdmVudCBcXFwiXCIgKyBsb3dlckNhc2VFdmVudCArIFwiXFxcIiBpcyBlbWl0dGVkIGluIGNvbXBvbmVudCBcIiArXG4gICAgICAgICAgKGZvcm1hdENvbXBvbmVudE5hbWUodm0pKSArIFwiIGJ1dCB0aGUgaGFuZGxlciBpcyByZWdpc3RlcmVkIGZvciBcXFwiXCIgKyBldmVudCArIFwiXFxcIi4gXCIgK1xuICAgICAgICAgIFwiTm90ZSB0aGF0IEhUTUwgYXR0cmlidXRlcyBhcmUgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgeW91IGNhbm5vdCB1c2UgXCIgK1xuICAgICAgICAgIFwidi1vbiB0byBsaXN0ZW4gdG8gY2FtZWxDYXNlIGV2ZW50cyB3aGVuIHVzaW5nIGluLURPTSB0ZW1wbGF0ZXMuIFwiICtcbiAgICAgICAgICBcIllvdSBzaG91bGQgcHJvYmFibHkgdXNlIFxcXCJcIiArIChoeXBoZW5hdGUoZXZlbnQpKSArIFwiXFxcIiBpbnN0ZWFkIG9mIFxcXCJcIiArIGV2ZW50ICsgXCJcXFwiLlwiXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIHZhciBjYnMgPSB2bS5fZXZlbnRzW2V2ZW50XTtcbiAgICBpZiAoY2JzKSB7XG4gICAgICBjYnMgPSBjYnMubGVuZ3RoID4gMSA/IHRvQXJyYXkoY2JzKSA6IGNicztcbiAgICAgIHZhciBhcmdzID0gdG9BcnJheShhcmd1bWVudHMsIDEpO1xuICAgICAgdmFyIGluZm8gPSBcImV2ZW50IGhhbmRsZXIgZm9yIFxcXCJcIiArIGV2ZW50ICsgXCJcXFwiXCI7XG4gICAgICBmb3IgKHZhciBpID0gMCwgbCA9IGNicy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgaW52b2tlV2l0aEVycm9ySGFuZGxpbmcoY2JzW2ldLCB2bSwgYXJncywgdm0sIGluZm8pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdm1cbiAgfTtcbn1cblxuLyogICovXG5cbnZhciBhY3RpdmVJbnN0YW5jZSA9IG51bGw7XG52YXIgaXNVcGRhdGluZ0NoaWxkQ29tcG9uZW50ID0gZmFsc2U7XG5cbmZ1bmN0aW9uIHNldEFjdGl2ZUluc3RhbmNlKHZtKSB7XG4gIHZhciBwcmV2QWN0aXZlSW5zdGFuY2UgPSBhY3RpdmVJbnN0YW5jZTtcbiAgYWN0aXZlSW5zdGFuY2UgPSB2bTtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICBhY3RpdmVJbnN0YW5jZSA9IHByZXZBY3RpdmVJbnN0YW5jZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0TGlmZWN5Y2xlICh2bSkge1xuICB2YXIgb3B0aW9ucyA9IHZtLiRvcHRpb25zO1xuXG4gIC8vIGxvY2F0ZSBmaXJzdCBub24tYWJzdHJhY3QgcGFyZW50XG4gIHZhciBwYXJlbnQgPSBvcHRpb25zLnBhcmVudDtcbiAgaWYgKHBhcmVudCAmJiAhb3B0aW9ucy5hYnN0cmFjdCkge1xuICAgIHdoaWxlIChwYXJlbnQuJG9wdGlvbnMuYWJzdHJhY3QgJiYgcGFyZW50LiRwYXJlbnQpIHtcbiAgICAgIHBhcmVudCA9IHBhcmVudC4kcGFyZW50O1xuICAgIH1cbiAgICBwYXJlbnQuJGNoaWxkcmVuLnB1c2godm0pO1xuICB9XG5cbiAgdm0uJHBhcmVudCA9IHBhcmVudDtcbiAgdm0uJHJvb3QgPSBwYXJlbnQgPyBwYXJlbnQuJHJvb3QgOiB2bTtcblxuICB2bS4kY2hpbGRyZW4gPSBbXTtcbiAgdm0uJHJlZnMgPSB7fTtcblxuICB2bS5fd2F0Y2hlciA9IG51bGw7XG4gIHZtLl9pbmFjdGl2ZSA9IG51bGw7XG4gIHZtLl9kaXJlY3RJbmFjdGl2ZSA9IGZhbHNlO1xuICB2bS5faXNNb3VudGVkID0gZmFsc2U7XG4gIHZtLl9pc0Rlc3Ryb3llZCA9IGZhbHNlO1xuICB2bS5faXNCZWluZ0Rlc3Ryb3llZCA9IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBsaWZlY3ljbGVNaXhpbiAoVnVlKSB7XG4gIFZ1ZS5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uICh2bm9kZSwgaHlkcmF0aW5nKSB7XG4gICAgdmFyIHZtID0gdGhpcztcbiAgICB2YXIgcHJldkVsID0gdm0uJGVsO1xuICAgIHZhciBwcmV2Vm5vZGUgPSB2bS5fdm5vZGU7XG4gICAgdmFyIHJlc3RvcmVBY3RpdmVJbnN0YW5jZSA9IHNldEFjdGl2ZUluc3RhbmNlKHZtKTtcbiAgICB2bS5fdm5vZGUgPSB2bm9kZTtcbiAgICAvLyBWdWUucHJvdG90eXBlLl9fcGF0Y2hfXyBpcyBpbmplY3RlZCBpbiBlbnRyeSBwb2ludHNcbiAgICAvLyBiYXNlZCBvbiB0aGUgcmVuZGVyaW5nIGJhY2tlbmQgdXNlZC5cbiAgICBpZiAoIXByZXZWbm9kZSkge1xuICAgICAgLy8gaW5pdGlhbCByZW5kZXJcbiAgICAgIHZtLiRlbCA9IHZtLl9fcGF0Y2hfXyh2bS4kZWwsIHZub2RlLCBoeWRyYXRpbmcsIGZhbHNlIC8qIHJlbW92ZU9ubHkgKi8pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB1cGRhdGVzXG4gICAgICB2bS4kZWwgPSB2bS5fX3BhdGNoX18ocHJldlZub2RlLCB2bm9kZSk7XG4gICAgfVxuICAgIHJlc3RvcmVBY3RpdmVJbnN0YW5jZSgpO1xuICAgIC8vIHVwZGF0ZSBfX3Z1ZV9fIHJlZmVyZW5jZVxuICAgIGlmIChwcmV2RWwpIHtcbiAgICAgIHByZXZFbC5fX3Z1ZV9fID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKHZtLiRlbCkge1xuICAgICAgdm0uJGVsLl9fdnVlX18gPSB2bTtcbiAgICB9XG4gICAgLy8gaWYgcGFyZW50IGlzIGFuIEhPQywgdXBkYXRlIGl0cyAkZWwgYXMgd2VsbFxuICAgIGlmICh2bS4kdm5vZGUgJiYgdm0uJHBhcmVudCAmJiB2bS4kdm5vZGUgPT09IHZtLiRwYXJlbnQuX3Zub2RlKSB7XG4gICAgICB2bS4kcGFyZW50LiRlbCA9IHZtLiRlbDtcbiAgICB9XG4gICAgLy8gdXBkYXRlZCBob29rIGlzIGNhbGxlZCBieSB0aGUgc2NoZWR1bGVyIHRvIGVuc3VyZSB0aGF0IGNoaWxkcmVuIGFyZVxuICAgIC8vIHVwZGF0ZWQgaW4gYSBwYXJlbnQncyB1cGRhdGVkIGhvb2suXG4gIH07XG5cbiAgVnVlLnByb3RvdHlwZS4kZm9yY2VVcGRhdGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHZtID0gdGhpcztcbiAgICBpZiAodm0uX3dhdGNoZXIpIHtcbiAgICAgIHZtLl93YXRjaGVyLnVwZGF0ZSgpO1xuICAgIH1cbiAgfTtcblxuICBWdWUucHJvdG90eXBlLiRkZXN0cm95ID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciB2bSA9IHRoaXM7XG4gICAgaWYgKHZtLl9pc0JlaW5nRGVzdHJveWVkKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY2FsbEhvb2sodm0sICdiZWZvcmVEZXN0cm95Jyk7XG4gICAgdm0uX2lzQmVpbmdEZXN0cm95ZWQgPSB0cnVlO1xuICAgIC8vIHJlbW92ZSBzZWxmIGZyb20gcGFyZW50XG4gICAgdmFyIHBhcmVudCA9IHZtLiRwYXJlbnQ7XG4gICAgaWYgKHBhcmVudCAmJiAhcGFyZW50Ll9pc0JlaW5nRGVzdHJveWVkICYmICF2bS4kb3B0aW9ucy5hYnN0cmFjdCkge1xuICAgICAgcmVtb3ZlKHBhcmVudC4kY2hpbGRyZW4sIHZtKTtcbiAgICB9XG4gICAgLy8gdGVhcmRvd24gd2F0Y2hlcnNcbiAgICBpZiAodm0uX3dhdGNoZXIpIHtcbiAgICAgIHZtLl93YXRjaGVyLnRlYXJkb3duKCk7XG4gICAgfVxuICAgIHZhciBpID0gdm0uX3dhdGNoZXJzLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0tKSB7XG4gICAgICB2bS5fd2F0Y2hlcnNbaV0udGVhcmRvd24oKTtcbiAgICB9XG4gICAgLy8gcmVtb3ZlIHJlZmVyZW5jZSBmcm9tIGRhdGEgb2JcbiAgICAvLyBmcm96ZW4gb2JqZWN0IG1heSBub3QgaGF2ZSBvYnNlcnZlci5cbiAgICBpZiAodm0uX2RhdGEuX19vYl9fKSB7XG4gICAgICB2bS5fZGF0YS5fX29iX18udm1Db3VudC0tO1xuICAgIH1cbiAgICAvLyBjYWxsIHRoZSBsYXN0IGhvb2suLi5cbiAgICB2bS5faXNEZXN0cm95ZWQgPSB0cnVlO1xuICAgIC8vIGludm9rZSBkZXN0cm95IGhvb2tzIG9uIGN1cnJlbnQgcmVuZGVyZWQgdHJlZVxuICAgIHZtLl9fcGF0Y2hfXyh2bS5fdm5vZGUsIG51bGwpO1xuICAgIC8vIGZpcmUgZGVzdHJveWVkIGhvb2tcbiAgICBjYWxsSG9vayh2bSwgJ2Rlc3Ryb3llZCcpO1xuICAgIC8vIHR1cm4gb2ZmIGFsbCBpbnN0YW5jZSBsaXN0ZW5lcnMuXG4gICAgdm0uJG9mZigpO1xuICAgIC8vIHJlbW92ZSBfX3Z1ZV9fIHJlZmVyZW5jZVxuICAgIGlmICh2bS4kZWwpIHtcbiAgICAgIHZtLiRlbC5fX3Z1ZV9fID0gbnVsbDtcbiAgICB9XG4gICAgLy8gcmVsZWFzZSBjaXJjdWxhciByZWZlcmVuY2UgKCM2NzU5KVxuICAgIGlmICh2bS4kdm5vZGUpIHtcbiAgICAgIHZtLiR2bm9kZS5wYXJlbnQgPSBudWxsO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gbW91bnRDb21wb25lbnQgKFxuICB2bSxcbiAgZWwsXG4gIGh5ZHJhdGluZ1xuKSB7XG4gIHZtLiRlbCA9IGVsO1xuICBpZiAoIXZtLiRvcHRpb25zLnJlbmRlcikge1xuICAgIHZtLiRvcHRpb25zLnJlbmRlciA9IGNyZWF0ZUVtcHR5Vk5vZGU7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgaWYgKCh2bS4kb3B0aW9ucy50ZW1wbGF0ZSAmJiB2bS4kb3B0aW9ucy50ZW1wbGF0ZS5jaGFyQXQoMCkgIT09ICcjJykgfHxcbiAgICAgICAgdm0uJG9wdGlvbnMuZWwgfHwgZWwpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICAnWW91IGFyZSB1c2luZyB0aGUgcnVudGltZS1vbmx5IGJ1aWxkIG9mIFZ1ZSB3aGVyZSB0aGUgdGVtcGxhdGUgJyArXG4gICAgICAgICAgJ2NvbXBpbGVyIGlzIG5vdCBhdmFpbGFibGUuIEVpdGhlciBwcmUtY29tcGlsZSB0aGUgdGVtcGxhdGVzIGludG8gJyArXG4gICAgICAgICAgJ3JlbmRlciBmdW5jdGlvbnMsIG9yIHVzZSB0aGUgY29tcGlsZXItaW5jbHVkZWQgYnVpbGQuJyxcbiAgICAgICAgICB2bVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICAnRmFpbGVkIHRvIG1vdW50IGNvbXBvbmVudDogdGVtcGxhdGUgb3IgcmVuZGVyIGZ1bmN0aW9uIG5vdCBkZWZpbmVkLicsXG4gICAgICAgICAgdm1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgY2FsbEhvb2sodm0sICdiZWZvcmVNb3VudCcpO1xuXG4gIHZhciB1cGRhdGVDb21wb25lbnQ7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBjb25maWcucGVyZm9ybWFuY2UgJiYgbWFyaykge1xuICAgIHVwZGF0ZUNvbXBvbmVudCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBuYW1lID0gdm0uX25hbWU7XG4gICAgICB2YXIgaWQgPSB2bS5fdWlkO1xuICAgICAgdmFyIHN0YXJ0VGFnID0gXCJ2dWUtcGVyZi1zdGFydDpcIiArIGlkO1xuICAgICAgdmFyIGVuZFRhZyA9IFwidnVlLXBlcmYtZW5kOlwiICsgaWQ7XG5cbiAgICAgIG1hcmsoc3RhcnRUYWcpO1xuICAgICAgdmFyIHZub2RlID0gdm0uX3JlbmRlcigpO1xuICAgICAgbWFyayhlbmRUYWcpO1xuICAgICAgbWVhc3VyZSgoXCJ2dWUgXCIgKyBuYW1lICsgXCIgcmVuZGVyXCIpLCBzdGFydFRhZywgZW5kVGFnKTtcblxuICAgICAgbWFyayhzdGFydFRhZyk7XG4gICAgICB2bS5fdXBkYXRlKHZub2RlLCBoeWRyYXRpbmcpO1xuICAgICAgbWFyayhlbmRUYWcpO1xuICAgICAgbWVhc3VyZSgoXCJ2dWUgXCIgKyBuYW1lICsgXCIgcGF0Y2hcIiksIHN0YXJ0VGFnLCBlbmRUYWcpO1xuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgdXBkYXRlQ29tcG9uZW50ID0gZnVuY3Rpb24gKCkge1xuICAgICAgdm0uX3VwZGF0ZSh2bS5fcmVuZGVyKCksIGh5ZHJhdGluZyk7XG4gICAgfTtcbiAgfVxuXG4gIC8vIHdlIHNldCB0aGlzIHRvIHZtLl93YXRjaGVyIGluc2lkZSB0aGUgd2F0Y2hlcidzIGNvbnN0cnVjdG9yXG4gIC8vIHNpbmNlIHRoZSB3YXRjaGVyJ3MgaW5pdGlhbCBwYXRjaCBtYXkgY2FsbCAkZm9yY2VVcGRhdGUgKGUuZy4gaW5zaWRlIGNoaWxkXG4gIC8vIGNvbXBvbmVudCdzIG1vdW50ZWQgaG9vayksIHdoaWNoIHJlbGllcyBvbiB2bS5fd2F0Y2hlciBiZWluZyBhbHJlYWR5IGRlZmluZWRcbiAgbmV3IFdhdGNoZXIodm0sIHVwZGF0ZUNvbXBvbmVudCwgbm9vcCwge1xuICAgIGJlZm9yZTogZnVuY3Rpb24gYmVmb3JlICgpIHtcbiAgICAgIGlmICh2bS5faXNNb3VudGVkICYmICF2bS5faXNEZXN0cm95ZWQpIHtcbiAgICAgICAgY2FsbEhvb2sodm0sICdiZWZvcmVVcGRhdGUnKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHRydWUgLyogaXNSZW5kZXJXYXRjaGVyICovKTtcbiAgaHlkcmF0aW5nID0gZmFsc2U7XG5cbiAgLy8gbWFudWFsbHkgbW91bnRlZCBpbnN0YW5jZSwgY2FsbCBtb3VudGVkIG9uIHNlbGZcbiAgLy8gbW91bnRlZCBpcyBjYWxsZWQgZm9yIHJlbmRlci1jcmVhdGVkIGNoaWxkIGNvbXBvbmVudHMgaW4gaXRzIGluc2VydGVkIGhvb2tcbiAgaWYgKHZtLiR2bm9kZSA9PSBudWxsKSB7XG4gICAgdm0uX2lzTW91bnRlZCA9IHRydWU7XG4gICAgY2FsbEhvb2sodm0sICdtb3VudGVkJyk7XG4gIH1cbiAgcmV0dXJuIHZtXG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUNoaWxkQ29tcG9uZW50IChcbiAgdm0sXG4gIHByb3BzRGF0YSxcbiAgbGlzdGVuZXJzLFxuICBwYXJlbnRWbm9kZSxcbiAgcmVuZGVyQ2hpbGRyZW5cbikge1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIGlzVXBkYXRpbmdDaGlsZENvbXBvbmVudCA9IHRydWU7XG4gIH1cblxuICAvLyBkZXRlcm1pbmUgd2hldGhlciBjb21wb25lbnQgaGFzIHNsb3QgY2hpbGRyZW5cbiAgLy8gd2UgbmVlZCB0byBkbyB0aGlzIGJlZm9yZSBvdmVyd3JpdGluZyAkb3B0aW9ucy5fcmVuZGVyQ2hpbGRyZW4uXG5cbiAgLy8gY2hlY2sgaWYgdGhlcmUgYXJlIGR5bmFtaWMgc2NvcGVkU2xvdHMgKGhhbmQtd3JpdHRlbiBvciBjb21waWxlZCBidXQgd2l0aFxuICAvLyBkeW5hbWljIHNsb3QgbmFtZXMpLiBTdGF0aWMgc2NvcGVkIHNsb3RzIGNvbXBpbGVkIGZyb20gdGVtcGxhdGUgaGFzIHRoZVxuICAvLyBcIiRzdGFibGVcIiBtYXJrZXIuXG4gIHZhciBuZXdTY29wZWRTbG90cyA9IHBhcmVudFZub2RlLmRhdGEuc2NvcGVkU2xvdHM7XG4gIHZhciBvbGRTY29wZWRTbG90cyA9IHZtLiRzY29wZWRTbG90cztcbiAgdmFyIGhhc0R5bmFtaWNTY29wZWRTbG90ID0gISEoXG4gICAgKG5ld1Njb3BlZFNsb3RzICYmICFuZXdTY29wZWRTbG90cy4kc3RhYmxlKSB8fFxuICAgIChvbGRTY29wZWRTbG90cyAhPT0gZW1wdHlPYmplY3QgJiYgIW9sZFNjb3BlZFNsb3RzLiRzdGFibGUpIHx8XG4gICAgKG5ld1Njb3BlZFNsb3RzICYmIHZtLiRzY29wZWRTbG90cy4ka2V5ICE9PSBuZXdTY29wZWRTbG90cy4ka2V5KVxuICApO1xuXG4gIC8vIEFueSBzdGF0aWMgc2xvdCBjaGlsZHJlbiBmcm9tIHRoZSBwYXJlbnQgbWF5IGhhdmUgY2hhbmdlZCBkdXJpbmcgcGFyZW50J3NcbiAgLy8gdXBkYXRlLiBEeW5hbWljIHNjb3BlZCBzbG90cyBtYXkgYWxzbyBoYXZlIGNoYW5nZWQuIEluIHN1Y2ggY2FzZXMsIGEgZm9yY2VkXG4gIC8vIHVwZGF0ZSBpcyBuZWNlc3NhcnkgdG8gZW5zdXJlIGNvcnJlY3RuZXNzLlxuICB2YXIgbmVlZHNGb3JjZVVwZGF0ZSA9ICEhKFxuICAgIHJlbmRlckNoaWxkcmVuIHx8ICAgICAgICAgICAgICAgLy8gaGFzIG5ldyBzdGF0aWMgc2xvdHNcbiAgICB2bS4kb3B0aW9ucy5fcmVuZGVyQ2hpbGRyZW4gfHwgIC8vIGhhcyBvbGQgc3RhdGljIHNsb3RzXG4gICAgaGFzRHluYW1pY1Njb3BlZFNsb3RcbiAgKTtcblxuICB2bS4kb3B0aW9ucy5fcGFyZW50Vm5vZGUgPSBwYXJlbnRWbm9kZTtcbiAgdm0uJHZub2RlID0gcGFyZW50Vm5vZGU7IC8vIHVwZGF0ZSB2bSdzIHBsYWNlaG9sZGVyIG5vZGUgd2l0aG91dCByZS1yZW5kZXJcblxuICBpZiAodm0uX3Zub2RlKSB7IC8vIHVwZGF0ZSBjaGlsZCB0cmVlJ3MgcGFyZW50XG4gICAgdm0uX3Zub2RlLnBhcmVudCA9IHBhcmVudFZub2RlO1xuICB9XG4gIHZtLiRvcHRpb25zLl9yZW5kZXJDaGlsZHJlbiA9IHJlbmRlckNoaWxkcmVuO1xuXG4gIC8vIHVwZGF0ZSAkYXR0cnMgYW5kICRsaXN0ZW5lcnMgaGFzaFxuICAvLyB0aGVzZSBhcmUgYWxzbyByZWFjdGl2ZSBzbyB0aGV5IG1heSB0cmlnZ2VyIGNoaWxkIHVwZGF0ZSBpZiB0aGUgY2hpbGRcbiAgLy8gdXNlZCB0aGVtIGR1cmluZyByZW5kZXJcbiAgdm0uJGF0dHJzID0gcGFyZW50Vm5vZGUuZGF0YS5hdHRycyB8fCBlbXB0eU9iamVjdDtcbiAgdm0uJGxpc3RlbmVycyA9IGxpc3RlbmVycyB8fCBlbXB0eU9iamVjdDtcblxuICAvLyB1cGRhdGUgcHJvcHNcbiAgaWYgKHByb3BzRGF0YSAmJiB2bS4kb3B0aW9ucy5wcm9wcykge1xuICAgIHRvZ2dsZU9ic2VydmluZyhmYWxzZSk7XG4gICAgdmFyIHByb3BzID0gdm0uX3Byb3BzO1xuICAgIHZhciBwcm9wS2V5cyA9IHZtLiRvcHRpb25zLl9wcm9wS2V5cyB8fCBbXTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BLZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0gcHJvcEtleXNbaV07XG4gICAgICB2YXIgcHJvcE9wdGlvbnMgPSB2bS4kb3B0aW9ucy5wcm9wczsgLy8gd3RmIGZsb3c/XG4gICAgICBwcm9wc1trZXldID0gdmFsaWRhdGVQcm9wKGtleSwgcHJvcE9wdGlvbnMsIHByb3BzRGF0YSwgdm0pO1xuICAgIH1cbiAgICB0b2dnbGVPYnNlcnZpbmcodHJ1ZSk7XG4gICAgLy8ga2VlcCBhIGNvcHkgb2YgcmF3IHByb3BzRGF0YVxuICAgIHZtLiRvcHRpb25zLnByb3BzRGF0YSA9IHByb3BzRGF0YTtcbiAgfVxuXG4gIC8vIHVwZGF0ZSBsaXN0ZW5lcnNcbiAgbGlzdGVuZXJzID0gbGlzdGVuZXJzIHx8IGVtcHR5T2JqZWN0O1xuICB2YXIgb2xkTGlzdGVuZXJzID0gdm0uJG9wdGlvbnMuX3BhcmVudExpc3RlbmVycztcbiAgdm0uJG9wdGlvbnMuX3BhcmVudExpc3RlbmVycyA9IGxpc3RlbmVycztcbiAgdXBkYXRlQ29tcG9uZW50TGlzdGVuZXJzKHZtLCBsaXN0ZW5lcnMsIG9sZExpc3RlbmVycyk7XG5cbiAgLy8gcmVzb2x2ZSBzbG90cyArIGZvcmNlIHVwZGF0ZSBpZiBoYXMgY2hpbGRyZW5cbiAgaWYgKG5lZWRzRm9yY2VVcGRhdGUpIHtcbiAgICB2bS4kc2xvdHMgPSByZXNvbHZlU2xvdHMocmVuZGVyQ2hpbGRyZW4sIHBhcmVudFZub2RlLmNvbnRleHQpO1xuICAgIHZtLiRmb3JjZVVwZGF0ZSgpO1xuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBpc1VwZGF0aW5nQ2hpbGRDb21wb25lbnQgPSBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0luSW5hY3RpdmVUcmVlICh2bSkge1xuICB3aGlsZSAodm0gJiYgKHZtID0gdm0uJHBhcmVudCkpIHtcbiAgICBpZiAodm0uX2luYWN0aXZlKSB7IHJldHVybiB0cnVlIH1cbiAgfVxuICByZXR1cm4gZmFsc2Vcbn1cblxuZnVuY3Rpb24gYWN0aXZhdGVDaGlsZENvbXBvbmVudCAodm0sIGRpcmVjdCkge1xuICBpZiAoZGlyZWN0KSB7XG4gICAgdm0uX2RpcmVjdEluYWN0aXZlID0gZmFsc2U7XG4gICAgaWYgKGlzSW5JbmFjdGl2ZVRyZWUodm0pKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gIH0gZWxzZSBpZiAodm0uX2RpcmVjdEluYWN0aXZlKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgaWYgKHZtLl9pbmFjdGl2ZSB8fCB2bS5faW5hY3RpdmUgPT09IG51bGwpIHtcbiAgICB2bS5faW5hY3RpdmUgPSBmYWxzZTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZtLiRjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgYWN0aXZhdGVDaGlsZENvbXBvbmVudCh2bS4kY2hpbGRyZW5baV0pO1xuICAgIH1cbiAgICBjYWxsSG9vayh2bSwgJ2FjdGl2YXRlZCcpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlYWN0aXZhdGVDaGlsZENvbXBvbmVudCAodm0sIGRpcmVjdCkge1xuICBpZiAoZGlyZWN0KSB7XG4gICAgdm0uX2RpcmVjdEluYWN0aXZlID0gdHJ1ZTtcbiAgICBpZiAoaXNJbkluYWN0aXZlVHJlZSh2bSkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgfVxuICBpZiAoIXZtLl9pbmFjdGl2ZSkge1xuICAgIHZtLl9pbmFjdGl2ZSA9IHRydWU7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2bS4kY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgIGRlYWN0aXZhdGVDaGlsZENvbXBvbmVudCh2bS4kY2hpbGRyZW5baV0pO1xuICAgIH1cbiAgICBjYWxsSG9vayh2bSwgJ2RlYWN0aXZhdGVkJyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2FsbEhvb2sgKHZtLCBob29rKSB7XG4gIC8vICM3NTczIGRpc2FibGUgZGVwIGNvbGxlY3Rpb24gd2hlbiBpbnZva2luZyBsaWZlY3ljbGUgaG9va3NcbiAgcHVzaFRhcmdldCgpO1xuICB2YXIgaGFuZGxlcnMgPSB2bS4kb3B0aW9uc1tob29rXTtcbiAgdmFyIGluZm8gPSBob29rICsgXCIgaG9va1wiO1xuICBpZiAoaGFuZGxlcnMpIHtcbiAgICBmb3IgKHZhciBpID0gMCwgaiA9IGhhbmRsZXJzLmxlbmd0aDsgaSA8IGo7IGkrKykge1xuICAgICAgaW52b2tlV2l0aEVycm9ySGFuZGxpbmcoaGFuZGxlcnNbaV0sIHZtLCBudWxsLCB2bSwgaW5mbyk7XG4gICAgfVxuICB9XG4gIGlmICh2bS5faGFzSG9va0V2ZW50KSB7XG4gICAgdm0uJGVtaXQoJ2hvb2s6JyArIGhvb2spO1xuICB9XG4gIHBvcFRhcmdldCgpO1xufVxuXG4vKiAgKi9cblxudmFyIE1BWF9VUERBVEVfQ09VTlQgPSAxMDA7XG5cbnZhciBxdWV1ZSA9IFtdO1xudmFyIGFjdGl2YXRlZENoaWxkcmVuID0gW107XG52YXIgaGFzID0ge307XG52YXIgY2lyY3VsYXIgPSB7fTtcbnZhciB3YWl0aW5nID0gZmFsc2U7XG52YXIgZmx1c2hpbmcgPSBmYWxzZTtcbnZhciBpbmRleCA9IDA7XG5cbi8qKlxuICogUmVzZXQgdGhlIHNjaGVkdWxlcidzIHN0YXRlLlxuICovXG5mdW5jdGlvbiByZXNldFNjaGVkdWxlclN0YXRlICgpIHtcbiAgaW5kZXggPSBxdWV1ZS5sZW5ndGggPSBhY3RpdmF0ZWRDaGlsZHJlbi5sZW5ndGggPSAwO1xuICBoYXMgPSB7fTtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBjaXJjdWxhciA9IHt9O1xuICB9XG4gIHdhaXRpbmcgPSBmbHVzaGluZyA9IGZhbHNlO1xufVxuXG4vLyBBc3luYyBlZGdlIGNhc2UgIzY1NjYgcmVxdWlyZXMgc2F2aW5nIHRoZSB0aW1lc3RhbXAgd2hlbiBldmVudCBsaXN0ZW5lcnMgYXJlXG4vLyBhdHRhY2hlZC4gSG93ZXZlciwgY2FsbGluZyBwZXJmb3JtYW5jZS5ub3coKSBoYXMgYSBwZXJmIG92ZXJoZWFkIGVzcGVjaWFsbHlcbi8vIGlmIHRoZSBwYWdlIGhhcyB0aG91c2FuZHMgb2YgZXZlbnQgbGlzdGVuZXJzLiBJbnN0ZWFkLCB3ZSB0YWtlIGEgdGltZXN0YW1wXG4vLyBldmVyeSB0aW1lIHRoZSBzY2hlZHVsZXIgZmx1c2hlcyBhbmQgdXNlIHRoYXQgZm9yIGFsbCBldmVudCBsaXN0ZW5lcnNcbi8vIGF0dGFjaGVkIGR1cmluZyB0aGF0IGZsdXNoLlxudmFyIGN1cnJlbnRGbHVzaFRpbWVzdGFtcCA9IDA7XG5cbi8vIEFzeW5jIGVkZ2UgY2FzZSBmaXggcmVxdWlyZXMgc3RvcmluZyBhbiBldmVudCBsaXN0ZW5lcidzIGF0dGFjaCB0aW1lc3RhbXAuXG52YXIgZ2V0Tm93ID0gRGF0ZS5ub3c7XG5cbi8vIERldGVybWluZSB3aGF0IGV2ZW50IHRpbWVzdGFtcCB0aGUgYnJvd3NlciBpcyB1c2luZy4gQW5ub3lpbmdseSwgdGhlXG4vLyB0aW1lc3RhbXAgY2FuIGVpdGhlciBiZSBoaS1yZXMgKHJlbGF0aXZlIHRvIHBhZ2UgbG9hZCkgb3IgbG93LXJlc1xuLy8gKHJlbGF0aXZlIHRvIFVOSVggZXBvY2gpLCBzbyBpbiBvcmRlciB0byBjb21wYXJlIHRpbWUgd2UgaGF2ZSB0byB1c2UgdGhlXG4vLyBzYW1lIHRpbWVzdGFtcCB0eXBlIHdoZW4gc2F2aW5nIHRoZSBmbHVzaCB0aW1lc3RhbXAuXG4vLyBBbGwgSUUgdmVyc2lvbnMgdXNlIGxvdy1yZXMgZXZlbnQgdGltZXN0YW1wcywgYW5kIGhhdmUgcHJvYmxlbWF0aWMgY2xvY2tcbi8vIGltcGxlbWVudGF0aW9ucyAoIzk2MzIpXG5pZiAoaW5Ccm93c2VyICYmICFpc0lFKSB7XG4gIHZhciBwZXJmb3JtYW5jZSA9IHdpbmRvdy5wZXJmb3JtYW5jZTtcbiAgaWYgKFxuICAgIHBlcmZvcm1hbmNlICYmXG4gICAgdHlwZW9mIHBlcmZvcm1hbmNlLm5vdyA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgIGdldE5vdygpID4gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0V2ZW50JykudGltZVN0YW1wXG4gICkge1xuICAgIC8vIGlmIHRoZSBldmVudCB0aW1lc3RhbXAsIGFsdGhvdWdoIGV2YWx1YXRlZCBBRlRFUiB0aGUgRGF0ZS5ub3coKSwgaXNcbiAgICAvLyBzbWFsbGVyIHRoYW4gaXQsIGl0IG1lYW5zIHRoZSBldmVudCBpcyB1c2luZyBhIGhpLXJlcyB0aW1lc3RhbXAsXG4gICAgLy8gYW5kIHdlIG5lZWQgdG8gdXNlIHRoZSBoaS1yZXMgdmVyc2lvbiBmb3IgZXZlbnQgbGlzdGVuZXIgdGltZXN0YW1wcyBhc1xuICAgIC8vIHdlbGwuXG4gICAgZ2V0Tm93ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gcGVyZm9ybWFuY2Uubm93KCk7IH07XG4gIH1cbn1cblxuLyoqXG4gKiBGbHVzaCBib3RoIHF1ZXVlcyBhbmQgcnVuIHRoZSB3YXRjaGVycy5cbiAqL1xuZnVuY3Rpb24gZmx1c2hTY2hlZHVsZXJRdWV1ZSAoKSB7XG4gIGN1cnJlbnRGbHVzaFRpbWVzdGFtcCA9IGdldE5vdygpO1xuICBmbHVzaGluZyA9IHRydWU7XG4gIHZhciB3YXRjaGVyLCBpZDtcblxuICAvLyBTb3J0IHF1ZXVlIGJlZm9yZSBmbHVzaC5cbiAgLy8gVGhpcyBlbnN1cmVzIHRoYXQ6XG4gIC8vIDEuIENvbXBvbmVudHMgYXJlIHVwZGF0ZWQgZnJvbSBwYXJlbnQgdG8gY2hpbGQuIChiZWNhdXNlIHBhcmVudCBpcyBhbHdheXNcbiAgLy8gICAgY3JlYXRlZCBiZWZvcmUgdGhlIGNoaWxkKVxuICAvLyAyLiBBIGNvbXBvbmVudCdzIHVzZXIgd2F0Y2hlcnMgYXJlIHJ1biBiZWZvcmUgaXRzIHJlbmRlciB3YXRjaGVyIChiZWNhdXNlXG4gIC8vICAgIHVzZXIgd2F0Y2hlcnMgYXJlIGNyZWF0ZWQgYmVmb3JlIHRoZSByZW5kZXIgd2F0Y2hlcilcbiAgLy8gMy4gSWYgYSBjb21wb25lbnQgaXMgZGVzdHJveWVkIGR1cmluZyBhIHBhcmVudCBjb21wb25lbnQncyB3YXRjaGVyIHJ1bixcbiAgLy8gICAgaXRzIHdhdGNoZXJzIGNhbiBiZSBza2lwcGVkLlxuICBxdWV1ZS5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7IHJldHVybiBhLmlkIC0gYi5pZDsgfSk7XG5cbiAgLy8gZG8gbm90IGNhY2hlIGxlbmd0aCBiZWNhdXNlIG1vcmUgd2F0Y2hlcnMgbWlnaHQgYmUgcHVzaGVkXG4gIC8vIGFzIHdlIHJ1biBleGlzdGluZyB3YXRjaGVyc1xuICBmb3IgKGluZGV4ID0gMDsgaW5kZXggPCBxdWV1ZS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICB3YXRjaGVyID0gcXVldWVbaW5kZXhdO1xuICAgIGlmICh3YXRjaGVyLmJlZm9yZSkge1xuICAgICAgd2F0Y2hlci5iZWZvcmUoKTtcbiAgICB9XG4gICAgaWQgPSB3YXRjaGVyLmlkO1xuICAgIGhhc1tpZF0gPSBudWxsO1xuICAgIHdhdGNoZXIucnVuKCk7XG4gICAgLy8gaW4gZGV2IGJ1aWxkLCBjaGVjayBhbmQgc3RvcCBjaXJjdWxhciB1cGRhdGVzLlxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGhhc1tpZF0gIT0gbnVsbCkge1xuICAgICAgY2lyY3VsYXJbaWRdID0gKGNpcmN1bGFyW2lkXSB8fCAwKSArIDE7XG4gICAgICBpZiAoY2lyY3VsYXJbaWRdID4gTUFYX1VQREFURV9DT1VOVCkge1xuICAgICAgICB3YXJuKFxuICAgICAgICAgICdZb3UgbWF5IGhhdmUgYW4gaW5maW5pdGUgdXBkYXRlIGxvb3AgJyArIChcbiAgICAgICAgICAgIHdhdGNoZXIudXNlclxuICAgICAgICAgICAgICA/IChcImluIHdhdGNoZXIgd2l0aCBleHByZXNzaW9uIFxcXCJcIiArICh3YXRjaGVyLmV4cHJlc3Npb24pICsgXCJcXFwiXCIpXG4gICAgICAgICAgICAgIDogXCJpbiBhIGNvbXBvbmVudCByZW5kZXIgZnVuY3Rpb24uXCJcbiAgICAgICAgICApLFxuICAgICAgICAgIHdhdGNoZXIudm1cbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBrZWVwIGNvcGllcyBvZiBwb3N0IHF1ZXVlcyBiZWZvcmUgcmVzZXR0aW5nIHN0YXRlXG4gIHZhciBhY3RpdmF0ZWRRdWV1ZSA9IGFjdGl2YXRlZENoaWxkcmVuLnNsaWNlKCk7XG4gIHZhciB1cGRhdGVkUXVldWUgPSBxdWV1ZS5zbGljZSgpO1xuXG4gIHJlc2V0U2NoZWR1bGVyU3RhdGUoKTtcblxuICAvLyBjYWxsIGNvbXBvbmVudCB1cGRhdGVkIGFuZCBhY3RpdmF0ZWQgaG9va3NcbiAgY2FsbEFjdGl2YXRlZEhvb2tzKGFjdGl2YXRlZFF1ZXVlKTtcbiAgY2FsbFVwZGF0ZWRIb29rcyh1cGRhdGVkUXVldWUpO1xuXG4gIC8vIGRldnRvb2wgaG9va1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKGRldnRvb2xzICYmIGNvbmZpZy5kZXZ0b29scykge1xuICAgIGRldnRvb2xzLmVtaXQoJ2ZsdXNoJyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2FsbFVwZGF0ZWRIb29rcyAocXVldWUpIHtcbiAgdmFyIGkgPSBxdWV1ZS5sZW5ndGg7XG4gIHdoaWxlIChpLS0pIHtcbiAgICB2YXIgd2F0Y2hlciA9IHF1ZXVlW2ldO1xuICAgIHZhciB2bSA9IHdhdGNoZXIudm07XG4gICAgaWYgKHZtLl93YXRjaGVyID09PSB3YXRjaGVyICYmIHZtLl9pc01vdW50ZWQgJiYgIXZtLl9pc0Rlc3Ryb3llZCkge1xuICAgICAgY2FsbEhvb2sodm0sICd1cGRhdGVkJyk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUXVldWUgYSBrZXB0LWFsaXZlIGNvbXBvbmVudCB0aGF0IHdhcyBhY3RpdmF0ZWQgZHVyaW5nIHBhdGNoLlxuICogVGhlIHF1ZXVlIHdpbGwgYmUgcHJvY2Vzc2VkIGFmdGVyIHRoZSBlbnRpcmUgdHJlZSBoYXMgYmVlbiBwYXRjaGVkLlxuICovXG5mdW5jdGlvbiBxdWV1ZUFjdGl2YXRlZENvbXBvbmVudCAodm0pIHtcbiAgLy8gc2V0dGluZyBfaW5hY3RpdmUgdG8gZmFsc2UgaGVyZSBzbyB0aGF0IGEgcmVuZGVyIGZ1bmN0aW9uIGNhblxuICAvLyByZWx5IG9uIGNoZWNraW5nIHdoZXRoZXIgaXQncyBpbiBhbiBpbmFjdGl2ZSB0cmVlIChlLmcuIHJvdXRlci12aWV3KVxuICB2bS5faW5hY3RpdmUgPSBmYWxzZTtcbiAgYWN0aXZhdGVkQ2hpbGRyZW4ucHVzaCh2bSk7XG59XG5cbmZ1bmN0aW9uIGNhbGxBY3RpdmF0ZWRIb29rcyAocXVldWUpIHtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBxdWV1ZS5sZW5ndGg7IGkrKykge1xuICAgIHF1ZXVlW2ldLl9pbmFjdGl2ZSA9IHRydWU7XG4gICAgYWN0aXZhdGVDaGlsZENvbXBvbmVudChxdWV1ZVtpXSwgdHJ1ZSAvKiB0cnVlICovKTtcbiAgfVxufVxuXG4vKipcbiAqIFB1c2ggYSB3YXRjaGVyIGludG8gdGhlIHdhdGNoZXIgcXVldWUuXG4gKiBKb2JzIHdpdGggZHVwbGljYXRlIElEcyB3aWxsIGJlIHNraXBwZWQgdW5sZXNzIGl0J3NcbiAqIHB1c2hlZCB3aGVuIHRoZSBxdWV1ZSBpcyBiZWluZyBmbHVzaGVkLlxuICovXG5mdW5jdGlvbiBxdWV1ZVdhdGNoZXIgKHdhdGNoZXIpIHtcbiAgdmFyIGlkID0gd2F0Y2hlci5pZDtcbiAgaWYgKGhhc1tpZF0gPT0gbnVsbCkge1xuICAgIGhhc1tpZF0gPSB0cnVlO1xuICAgIGlmICghZmx1c2hpbmcpIHtcbiAgICAgIHF1ZXVlLnB1c2god2F0Y2hlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGlmIGFscmVhZHkgZmx1c2hpbmcsIHNwbGljZSB0aGUgd2F0Y2hlciBiYXNlZCBvbiBpdHMgaWRcbiAgICAgIC8vIGlmIGFscmVhZHkgcGFzdCBpdHMgaWQsIGl0IHdpbGwgYmUgcnVuIG5leHQgaW1tZWRpYXRlbHkuXG4gICAgICB2YXIgaSA9IHF1ZXVlLmxlbmd0aCAtIDE7XG4gICAgICB3aGlsZSAoaSA+IGluZGV4ICYmIHF1ZXVlW2ldLmlkID4gd2F0Y2hlci5pZCkge1xuICAgICAgICBpLS07XG4gICAgICB9XG4gICAgICBxdWV1ZS5zcGxpY2UoaSArIDEsIDAsIHdhdGNoZXIpO1xuICAgIH1cbiAgICAvLyBxdWV1ZSB0aGUgZmx1c2hcbiAgICBpZiAoIXdhaXRpbmcpIHtcbiAgICAgIHdhaXRpbmcgPSB0cnVlO1xuXG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAhY29uZmlnLmFzeW5jKSB7XG4gICAgICAgIGZsdXNoU2NoZWR1bGVyUXVldWUoKTtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBuZXh0VGljayhmbHVzaFNjaGVkdWxlclF1ZXVlKTtcbiAgICB9XG4gIH1cbn1cblxuLyogICovXG5cblxuXG52YXIgdWlkJDIgPSAwO1xuXG4vKipcbiAqIEEgd2F0Y2hlciBwYXJzZXMgYW4gZXhwcmVzc2lvbiwgY29sbGVjdHMgZGVwZW5kZW5jaWVzLFxuICogYW5kIGZpcmVzIGNhbGxiYWNrIHdoZW4gdGhlIGV4cHJlc3Npb24gdmFsdWUgY2hhbmdlcy5cbiAqIFRoaXMgaXMgdXNlZCBmb3IgYm90aCB0aGUgJHdhdGNoKCkgYXBpIGFuZCBkaXJlY3RpdmVzLlxuICovXG52YXIgV2F0Y2hlciA9IGZ1bmN0aW9uIFdhdGNoZXIgKFxuICB2bSxcbiAgZXhwT3JGbixcbiAgY2IsXG4gIG9wdGlvbnMsXG4gIGlzUmVuZGVyV2F0Y2hlclxuKSB7XG4gIHRoaXMudm0gPSB2bTtcbiAgaWYgKGlzUmVuZGVyV2F0Y2hlcikge1xuICAgIHZtLl93YXRjaGVyID0gdGhpcztcbiAgfVxuICB2bS5fd2F0Y2hlcnMucHVzaCh0aGlzKTtcbiAgLy8gb3B0aW9uc1xuICBpZiAob3B0aW9ucykge1xuICAgIHRoaXMuZGVlcCA9ICEhb3B0aW9ucy5kZWVwO1xuICAgIHRoaXMudXNlciA9ICEhb3B0aW9ucy51c2VyO1xuICAgIHRoaXMubGF6eSA9ICEhb3B0aW9ucy5sYXp5O1xuICAgIHRoaXMuc3luYyA9ICEhb3B0aW9ucy5zeW5jO1xuICAgIHRoaXMuYmVmb3JlID0gb3B0aW9ucy5iZWZvcmU7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5kZWVwID0gdGhpcy51c2VyID0gdGhpcy5sYXp5ID0gdGhpcy5zeW5jID0gZmFsc2U7XG4gIH1cbiAgdGhpcy5jYiA9IGNiO1xuICB0aGlzLmlkID0gKyt1aWQkMjsgLy8gdWlkIGZvciBiYXRjaGluZ1xuICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gIHRoaXMuZGlydHkgPSB0aGlzLmxhenk7IC8vIGZvciBsYXp5IHdhdGNoZXJzXG4gIHRoaXMuZGVwcyA9IFtdO1xuICB0aGlzLm5ld0RlcHMgPSBbXTtcbiAgdGhpcy5kZXBJZHMgPSBuZXcgX1NldCgpO1xuICB0aGlzLm5ld0RlcElkcyA9IG5ldyBfU2V0KCk7XG4gIHRoaXMuZXhwcmVzc2lvbiA9IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbidcbiAgICA/IGV4cE9yRm4udG9TdHJpbmcoKVxuICAgIDogJyc7XG4gIC8vIHBhcnNlIGV4cHJlc3Npb24gZm9yIGdldHRlclxuICBpZiAodHlwZW9mIGV4cE9yRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICB0aGlzLmdldHRlciA9IGV4cE9yRm47XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5nZXR0ZXIgPSBwYXJzZVBhdGgoZXhwT3JGbik7XG4gICAgaWYgKCF0aGlzLmdldHRlcikge1xuICAgICAgdGhpcy5nZXR0ZXIgPSBub29wO1xuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgICBcIkZhaWxlZCB3YXRjaGluZyBwYXRoOiBcXFwiXCIgKyBleHBPckZuICsgXCJcXFwiIFwiICtcbiAgICAgICAgJ1dhdGNoZXIgb25seSBhY2NlcHRzIHNpbXBsZSBkb3QtZGVsaW1pdGVkIHBhdGhzLiAnICtcbiAgICAgICAgJ0ZvciBmdWxsIGNvbnRyb2wsIHVzZSBhIGZ1bmN0aW9uIGluc3RlYWQuJyxcbiAgICAgICAgdm1cbiAgICAgICk7XG4gICAgfVxuICB9XG4gIHRoaXMudmFsdWUgPSB0aGlzLmxhenlcbiAgICA/IHVuZGVmaW5lZFxuICAgIDogdGhpcy5nZXQoKTtcbn07XG5cbi8qKlxuICogRXZhbHVhdGUgdGhlIGdldHRlciwgYW5kIHJlLWNvbGxlY3QgZGVwZW5kZW5jaWVzLlxuICovXG5XYXRjaGVyLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiBnZXQgKCkge1xuICBwdXNoVGFyZ2V0KHRoaXMpO1xuICB2YXIgdmFsdWU7XG4gIHZhciB2bSA9IHRoaXMudm07XG4gIHRyeSB7XG4gICAgdmFsdWUgPSB0aGlzLmdldHRlci5jYWxsKHZtLCB2bSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAodGhpcy51c2VyKSB7XG4gICAgICBoYW5kbGVFcnJvcihlLCB2bSwgKFwiZ2V0dGVyIGZvciB3YXRjaGVyIFxcXCJcIiArICh0aGlzLmV4cHJlc3Npb24pICsgXCJcXFwiXCIpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgZVxuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICAvLyBcInRvdWNoXCIgZXZlcnkgcHJvcGVydHkgc28gdGhleSBhcmUgYWxsIHRyYWNrZWQgYXNcbiAgICAvLyBkZXBlbmRlbmNpZXMgZm9yIGRlZXAgd2F0Y2hpbmdcbiAgICBpZiAodGhpcy5kZWVwKSB7XG4gICAgICB0cmF2ZXJzZSh2YWx1ZSk7XG4gICAgfVxuICAgIHBvcFRhcmdldCgpO1xuICAgIHRoaXMuY2xlYW51cERlcHMoKTtcbiAgfVxuICByZXR1cm4gdmFsdWVcbn07XG5cbi8qKlxuICogQWRkIGEgZGVwZW5kZW5jeSB0byB0aGlzIGRpcmVjdGl2ZS5cbiAqL1xuV2F0Y2hlci5wcm90b3R5cGUuYWRkRGVwID0gZnVuY3Rpb24gYWRkRGVwIChkZXApIHtcbiAgdmFyIGlkID0gZGVwLmlkO1xuICBpZiAoIXRoaXMubmV3RGVwSWRzLmhhcyhpZCkpIHtcbiAgICB0aGlzLm5ld0RlcElkcy5hZGQoaWQpO1xuICAgIHRoaXMubmV3RGVwcy5wdXNoKGRlcCk7XG4gICAgaWYgKCF0aGlzLmRlcElkcy5oYXMoaWQpKSB7XG4gICAgICBkZXAuYWRkU3ViKHRoaXMpO1xuICAgIH1cbiAgfVxufTtcblxuLyoqXG4gKiBDbGVhbiB1cCBmb3IgZGVwZW5kZW5jeSBjb2xsZWN0aW9uLlxuICovXG5XYXRjaGVyLnByb3RvdHlwZS5jbGVhbnVwRGVwcyA9IGZ1bmN0aW9uIGNsZWFudXBEZXBzICgpIHtcbiAgdmFyIGkgPSB0aGlzLmRlcHMubGVuZ3RoO1xuICB3aGlsZSAoaS0tKSB7XG4gICAgdmFyIGRlcCA9IHRoaXMuZGVwc1tpXTtcbiAgICBpZiAoIXRoaXMubmV3RGVwSWRzLmhhcyhkZXAuaWQpKSB7XG4gICAgICBkZXAucmVtb3ZlU3ViKHRoaXMpO1xuICAgIH1cbiAgfVxuICB2YXIgdG1wID0gdGhpcy5kZXBJZHM7XG4gIHRoaXMuZGVwSWRzID0gdGhpcy5uZXdEZXBJZHM7XG4gIHRoaXMubmV3RGVwSWRzID0gdG1wO1xuICB0aGlzLm5ld0RlcElkcy5jbGVhcigpO1xuICB0bXAgPSB0aGlzLmRlcHM7XG4gIHRoaXMuZGVwcyA9IHRoaXMubmV3RGVwcztcbiAgdGhpcy5uZXdEZXBzID0gdG1wO1xuICB0aGlzLm5ld0RlcHMubGVuZ3RoID0gMDtcbn07XG5cbi8qKlxuICogU3Vic2NyaWJlciBpbnRlcmZhY2UuXG4gKiBXaWxsIGJlIGNhbGxlZCB3aGVuIGEgZGVwZW5kZW5jeSBjaGFuZ2VzLlxuICovXG5XYXRjaGVyLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiB1cGRhdGUgKCkge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICBpZiAodGhpcy5sYXp5KSB7XG4gICAgdGhpcy5kaXJ0eSA9IHRydWU7XG4gIH0gZWxzZSBpZiAodGhpcy5zeW5jKSB7XG4gICAgdGhpcy5ydW4oKTtcbiAgfSBlbHNlIHtcbiAgICBxdWV1ZVdhdGNoZXIodGhpcyk7XG4gIH1cbn07XG5cbi8qKlxuICogU2NoZWR1bGVyIGpvYiBpbnRlcmZhY2UuXG4gKiBXaWxsIGJlIGNhbGxlZCBieSB0aGUgc2NoZWR1bGVyLlxuICovXG5XYXRjaGVyLnByb3RvdHlwZS5ydW4gPSBmdW5jdGlvbiBydW4gKCkge1xuICBpZiAodGhpcy5hY3RpdmUpIHtcbiAgICB2YXIgdmFsdWUgPSB0aGlzLmdldCgpO1xuICAgIGlmIChcbiAgICAgIHZhbHVlICE9PSB0aGlzLnZhbHVlIHx8XG4gICAgICAvLyBEZWVwIHdhdGNoZXJzIGFuZCB3YXRjaGVycyBvbiBPYmplY3QvQXJyYXlzIHNob3VsZCBmaXJlIGV2ZW5cbiAgICAgIC8vIHdoZW4gdGhlIHZhbHVlIGlzIHRoZSBzYW1lLCBiZWNhdXNlIHRoZSB2YWx1ZSBtYXlcbiAgICAgIC8vIGhhdmUgbXV0YXRlZC5cbiAgICAgIGlzT2JqZWN0KHZhbHVlKSB8fFxuICAgICAgdGhpcy5kZWVwXG4gICAgKSB7XG4gICAgICAvLyBzZXQgbmV3IHZhbHVlXG4gICAgICB2YXIgb2xkVmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgaWYgKHRoaXMudXNlcikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHRoaXMuY2IuY2FsbCh0aGlzLnZtLCB2YWx1ZSwgb2xkVmFsdWUpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgaGFuZGxlRXJyb3IoZSwgdGhpcy52bSwgKFwiY2FsbGJhY2sgZm9yIHdhdGNoZXIgXFxcIlwiICsgKHRoaXMuZXhwcmVzc2lvbikgKyBcIlxcXCJcIikpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNiLmNhbGwodGhpcy52bSwgdmFsdWUsIG9sZFZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogRXZhbHVhdGUgdGhlIHZhbHVlIG9mIHRoZSB3YXRjaGVyLlxuICogVGhpcyBvbmx5IGdldHMgY2FsbGVkIGZvciBsYXp5IHdhdGNoZXJzLlxuICovXG5XYXRjaGVyLnByb3RvdHlwZS5ldmFsdWF0ZSA9IGZ1bmN0aW9uIGV2YWx1YXRlICgpIHtcbiAgdGhpcy52YWx1ZSA9IHRoaXMuZ2V0KCk7XG4gIHRoaXMuZGlydHkgPSBmYWxzZTtcbn07XG5cbi8qKlxuICogRGVwZW5kIG9uIGFsbCBkZXBzIGNvbGxlY3RlZCBieSB0aGlzIHdhdGNoZXIuXG4gKi9cbldhdGNoZXIucHJvdG90eXBlLmRlcGVuZCA9IGZ1bmN0aW9uIGRlcGVuZCAoKSB7XG4gIHZhciBpID0gdGhpcy5kZXBzLmxlbmd0aDtcbiAgd2hpbGUgKGktLSkge1xuICAgIHRoaXMuZGVwc1tpXS5kZXBlbmQoKTtcbiAgfVxufTtcblxuLyoqXG4gKiBSZW1vdmUgc2VsZiBmcm9tIGFsbCBkZXBlbmRlbmNpZXMnIHN1YnNjcmliZXIgbGlzdC5cbiAqL1xuV2F0Y2hlci5wcm90b3R5cGUudGVhcmRvd24gPSBmdW5jdGlvbiB0ZWFyZG93biAoKSB7XG4gIGlmICh0aGlzLmFjdGl2ZSkge1xuICAgIC8vIHJlbW92ZSBzZWxmIGZyb20gdm0ncyB3YXRjaGVyIGxpc3RcbiAgICAvLyB0aGlzIGlzIGEgc29tZXdoYXQgZXhwZW5zaXZlIG9wZXJhdGlvbiBzbyB3ZSBza2lwIGl0XG4gICAgLy8gaWYgdGhlIHZtIGlzIGJlaW5nIGRlc3Ryb3llZC5cbiAgICBpZiAoIXRoaXMudm0uX2lzQmVpbmdEZXN0cm95ZWQpIHtcbiAgICAgIHJlbW92ZSh0aGlzLnZtLl93YXRjaGVycywgdGhpcyk7XG4gICAgfVxuICAgIHZhciBpID0gdGhpcy5kZXBzLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0tKSB7XG4gICAgICB0aGlzLmRlcHNbaV0ucmVtb3ZlU3ViKHRoaXMpO1xuICAgIH1cbiAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICB9XG59O1xuXG4vKiAgKi9cblxudmFyIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbiA9IHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgY29uZmlndXJhYmxlOiB0cnVlLFxuICBnZXQ6IG5vb3AsXG4gIHNldDogbm9vcFxufTtcblxuZnVuY3Rpb24gcHJveHkgKHRhcmdldCwgc291cmNlS2V5LCBrZXkpIHtcbiAgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uLmdldCA9IGZ1bmN0aW9uIHByb3h5R2V0dGVyICgpIHtcbiAgICByZXR1cm4gdGhpc1tzb3VyY2VLZXldW2tleV1cbiAgfTtcbiAgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uLnNldCA9IGZ1bmN0aW9uIHByb3h5U2V0dGVyICh2YWwpIHtcbiAgICB0aGlzW3NvdXJjZUtleV1ba2V5XSA9IHZhbDtcbiAgfTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24pO1xufVxuXG5mdW5jdGlvbiBpbml0U3RhdGUgKHZtKSB7XG4gIHZtLl93YXRjaGVycyA9IFtdO1xuICB2YXIgb3B0cyA9IHZtLiRvcHRpb25zO1xuICBpZiAob3B0cy5wcm9wcykgeyBpbml0UHJvcHModm0sIG9wdHMucHJvcHMpOyB9XG4gIGlmIChvcHRzLm1ldGhvZHMpIHsgaW5pdE1ldGhvZHModm0sIG9wdHMubWV0aG9kcyk7IH1cbiAgaWYgKG9wdHMuZGF0YSkge1xuICAgIGluaXREYXRhKHZtKTtcbiAgfSBlbHNlIHtcbiAgICBvYnNlcnZlKHZtLl9kYXRhID0ge30sIHRydWUgLyogYXNSb290RGF0YSAqLyk7XG4gIH1cbiAgaWYgKG9wdHMuY29tcHV0ZWQpIHsgaW5pdENvbXB1dGVkKHZtLCBvcHRzLmNvbXB1dGVkKTsgfVxuICBpZiAob3B0cy53YXRjaCAmJiBvcHRzLndhdGNoICE9PSBuYXRpdmVXYXRjaCkge1xuICAgIGluaXRXYXRjaCh2bSwgb3B0cy53YXRjaCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5pdFByb3BzICh2bSwgcHJvcHNPcHRpb25zKSB7XG4gIHZhciBwcm9wc0RhdGEgPSB2bS4kb3B0aW9ucy5wcm9wc0RhdGEgfHwge307XG4gIHZhciBwcm9wcyA9IHZtLl9wcm9wcyA9IHt9O1xuICAvLyBjYWNoZSBwcm9wIGtleXMgc28gdGhhdCBmdXR1cmUgcHJvcHMgdXBkYXRlcyBjYW4gaXRlcmF0ZSB1c2luZyBBcnJheVxuICAvLyBpbnN0ZWFkIG9mIGR5bmFtaWMgb2JqZWN0IGtleSBlbnVtZXJhdGlvbi5cbiAgdmFyIGtleXMgPSB2bS4kb3B0aW9ucy5fcHJvcEtleXMgPSBbXTtcbiAgdmFyIGlzUm9vdCA9ICF2bS4kcGFyZW50O1xuICAvLyByb290IGluc3RhbmNlIHByb3BzIHNob3VsZCBiZSBjb252ZXJ0ZWRcbiAgaWYgKCFpc1Jvb3QpIHtcbiAgICB0b2dnbGVPYnNlcnZpbmcoZmFsc2UpO1xuICB9XG4gIHZhciBsb29wID0gZnVuY3Rpb24gKCBrZXkgKSB7XG4gICAga2V5cy5wdXNoKGtleSk7XG4gICAgdmFyIHZhbHVlID0gdmFsaWRhdGVQcm9wKGtleSwgcHJvcHNPcHRpb25zLCBwcm9wc0RhdGEsIHZtKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICB2YXIgaHlwaGVuYXRlZEtleSA9IGh5cGhlbmF0ZShrZXkpO1xuICAgICAgaWYgKGlzUmVzZXJ2ZWRBdHRyaWJ1dGUoaHlwaGVuYXRlZEtleSkgfHxcbiAgICAgICAgICBjb25maWcuaXNSZXNlcnZlZEF0dHIoaHlwaGVuYXRlZEtleSkpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICAoXCJcXFwiXCIgKyBoeXBoZW5hdGVkS2V5ICsgXCJcXFwiIGlzIGEgcmVzZXJ2ZWQgYXR0cmlidXRlIGFuZCBjYW5ub3QgYmUgdXNlZCBhcyBjb21wb25lbnQgcHJvcC5cIiksXG4gICAgICAgICAgdm1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGRlZmluZVJlYWN0aXZlJCQxKHByb3BzLCBrZXksIHZhbHVlLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICghaXNSb290ICYmICFpc1VwZGF0aW5nQ2hpbGRDb21wb25lbnQpIHtcbiAgICAgICAgICB3YXJuKFxuICAgICAgICAgICAgXCJBdm9pZCBtdXRhdGluZyBhIHByb3AgZGlyZWN0bHkgc2luY2UgdGhlIHZhbHVlIHdpbGwgYmUgXCIgK1xuICAgICAgICAgICAgXCJvdmVyd3JpdHRlbiB3aGVuZXZlciB0aGUgcGFyZW50IGNvbXBvbmVudCByZS1yZW5kZXJzLiBcIiArXG4gICAgICAgICAgICBcIkluc3RlYWQsIHVzZSBhIGRhdGEgb3IgY29tcHV0ZWQgcHJvcGVydHkgYmFzZWQgb24gdGhlIHByb3AncyBcIiArXG4gICAgICAgICAgICBcInZhbHVlLiBQcm9wIGJlaW5nIG11dGF0ZWQ6IFxcXCJcIiArIGtleSArIFwiXFxcIlwiLFxuICAgICAgICAgICAgdm1cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVmaW5lUmVhY3RpdmUkJDEocHJvcHMsIGtleSwgdmFsdWUpO1xuICAgIH1cbiAgICAvLyBzdGF0aWMgcHJvcHMgYXJlIGFscmVhZHkgcHJveGllZCBvbiB0aGUgY29tcG9uZW50J3MgcHJvdG90eXBlXG4gICAgLy8gZHVyaW5nIFZ1ZS5leHRlbmQoKS4gV2Ugb25seSBuZWVkIHRvIHByb3h5IHByb3BzIGRlZmluZWQgYXRcbiAgICAvLyBpbnN0YW50aWF0aW9uIGhlcmUuXG4gICAgaWYgKCEoa2V5IGluIHZtKSkge1xuICAgICAgcHJveHkodm0sIFwiX3Byb3BzXCIsIGtleSk7XG4gICAgfVxuICB9O1xuXG4gIGZvciAodmFyIGtleSBpbiBwcm9wc09wdGlvbnMpIGxvb3AoIGtleSApO1xuICB0b2dnbGVPYnNlcnZpbmcodHJ1ZSk7XG59XG5cbmZ1bmN0aW9uIGluaXREYXRhICh2bSkge1xuICB2YXIgZGF0YSA9IHZtLiRvcHRpb25zLmRhdGE7XG4gIGRhdGEgPSB2bS5fZGF0YSA9IHR5cGVvZiBkYXRhID09PSAnZnVuY3Rpb24nXG4gICAgPyBnZXREYXRhKGRhdGEsIHZtKVxuICAgIDogZGF0YSB8fCB7fTtcbiAgaWYgKCFpc1BsYWluT2JqZWN0KGRhdGEpKSB7XG4gICAgZGF0YSA9IHt9O1xuICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgd2FybihcbiAgICAgICdkYXRhIGZ1bmN0aW9ucyBzaG91bGQgcmV0dXJuIGFuIG9iamVjdDpcXG4nICtcbiAgICAgICdodHRwczovL3Z1ZWpzLm9yZy92Mi9ndWlkZS9jb21wb25lbnRzLmh0bWwjZGF0YS1NdXN0LUJlLWEtRnVuY3Rpb24nLFxuICAgICAgdm1cbiAgICApO1xuICB9XG4gIC8vIHByb3h5IGRhdGEgb24gaW5zdGFuY2VcbiAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhkYXRhKTtcbiAgdmFyIHByb3BzID0gdm0uJG9wdGlvbnMucHJvcHM7XG4gIHZhciBtZXRob2RzID0gdm0uJG9wdGlvbnMubWV0aG9kcztcbiAgdmFyIGkgPSBrZXlzLmxlbmd0aDtcbiAgd2hpbGUgKGktLSkge1xuICAgIHZhciBrZXkgPSBrZXlzW2ldO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBpZiAobWV0aG9kcyAmJiBoYXNPd24obWV0aG9kcywga2V5KSkge1xuICAgICAgICB3YXJuKFxuICAgICAgICAgIChcIk1ldGhvZCBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgaGFzIGFscmVhZHkgYmVlbiBkZWZpbmVkIGFzIGEgZGF0YSBwcm9wZXJ0eS5cIiksXG4gICAgICAgICAgdm1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzICYmIGhhc093bihwcm9wcywga2V5KSkge1xuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgICBcIlRoZSBkYXRhIHByb3BlcnR5IFxcXCJcIiArIGtleSArIFwiXFxcIiBpcyBhbHJlYWR5IGRlY2xhcmVkIGFzIGEgcHJvcC4gXCIgK1xuICAgICAgICBcIlVzZSBwcm9wIGRlZmF1bHQgdmFsdWUgaW5zdGVhZC5cIixcbiAgICAgICAgdm1cbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICghaXNSZXNlcnZlZChrZXkpKSB7XG4gICAgICBwcm94eSh2bSwgXCJfZGF0YVwiLCBrZXkpO1xuICAgIH1cbiAgfVxuICAvLyBvYnNlcnZlIGRhdGFcbiAgb2JzZXJ2ZShkYXRhLCB0cnVlIC8qIGFzUm9vdERhdGEgKi8pO1xufVxuXG5mdW5jdGlvbiBnZXREYXRhIChkYXRhLCB2bSkge1xuICAvLyAjNzU3MyBkaXNhYmxlIGRlcCBjb2xsZWN0aW9uIHdoZW4gaW52b2tpbmcgZGF0YSBnZXR0ZXJzXG4gIHB1c2hUYXJnZXQoKTtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZGF0YS5jYWxsKHZtLCB2bSlcbiAgfSBjYXRjaCAoZSkge1xuICAgIGhhbmRsZUVycm9yKGUsIHZtLCBcImRhdGEoKVwiKTtcbiAgICByZXR1cm4ge31cbiAgfSBmaW5hbGx5IHtcbiAgICBwb3BUYXJnZXQoKTtcbiAgfVxufVxuXG52YXIgY29tcHV0ZWRXYXRjaGVyT3B0aW9ucyA9IHsgbGF6eTogdHJ1ZSB9O1xuXG5mdW5jdGlvbiBpbml0Q29tcHV0ZWQgKHZtLCBjb21wdXRlZCkge1xuICAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbiAgdmFyIHdhdGNoZXJzID0gdm0uX2NvbXB1dGVkV2F0Y2hlcnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAvLyBjb21wdXRlZCBwcm9wZXJ0aWVzIGFyZSBqdXN0IGdldHRlcnMgZHVyaW5nIFNTUlxuICB2YXIgaXNTU1IgPSBpc1NlcnZlclJlbmRlcmluZygpO1xuXG4gIGZvciAodmFyIGtleSBpbiBjb21wdXRlZCkge1xuICAgIHZhciB1c2VyRGVmID0gY29tcHV0ZWRba2V5XTtcbiAgICB2YXIgZ2V0dGVyID0gdHlwZW9mIHVzZXJEZWYgPT09ICdmdW5jdGlvbicgPyB1c2VyRGVmIDogdXNlckRlZi5nZXQ7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgZ2V0dGVyID09IG51bGwpIHtcbiAgICAgIHdhcm4oXG4gICAgICAgIChcIkdldHRlciBpcyBtaXNzaW5nIGZvciBjb21wdXRlZCBwcm9wZXJ0eSBcXFwiXCIgKyBrZXkgKyBcIlxcXCIuXCIpLFxuICAgICAgICB2bVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzU1NSKSB7XG4gICAgICAvLyBjcmVhdGUgaW50ZXJuYWwgd2F0Y2hlciBmb3IgdGhlIGNvbXB1dGVkIHByb3BlcnR5LlxuICAgICAgd2F0Y2hlcnNba2V5XSA9IG5ldyBXYXRjaGVyKFxuICAgICAgICB2bSxcbiAgICAgICAgZ2V0dGVyIHx8IG5vb3AsXG4gICAgICAgIG5vb3AsXG4gICAgICAgIGNvbXB1dGVkV2F0Y2hlck9wdGlvbnNcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gY29tcG9uZW50LWRlZmluZWQgY29tcHV0ZWQgcHJvcGVydGllcyBhcmUgYWxyZWFkeSBkZWZpbmVkIG9uIHRoZVxuICAgIC8vIGNvbXBvbmVudCBwcm90b3R5cGUuIFdlIG9ubHkgbmVlZCB0byBkZWZpbmUgY29tcHV0ZWQgcHJvcGVydGllcyBkZWZpbmVkXG4gICAgLy8gYXQgaW5zdGFudGlhdGlvbiBoZXJlLlxuICAgIGlmICghKGtleSBpbiB2bSkpIHtcbiAgICAgIGRlZmluZUNvbXB1dGVkKHZtLCBrZXksIHVzZXJEZWYpO1xuICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgaWYgKGtleSBpbiB2bS4kZGF0YSkge1xuICAgICAgICB3YXJuKChcIlRoZSBjb21wdXRlZCBwcm9wZXJ0eSBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgaXMgYWxyZWFkeSBkZWZpbmVkIGluIGRhdGEuXCIpLCB2bSk7XG4gICAgICB9IGVsc2UgaWYgKHZtLiRvcHRpb25zLnByb3BzICYmIGtleSBpbiB2bS4kb3B0aW9ucy5wcm9wcykge1xuICAgICAgICB3YXJuKChcIlRoZSBjb21wdXRlZCBwcm9wZXJ0eSBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgaXMgYWxyZWFkeSBkZWZpbmVkIGFzIGEgcHJvcC5cIiksIHZtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVmaW5lQ29tcHV0ZWQgKFxuICB0YXJnZXQsXG4gIGtleSxcbiAgdXNlckRlZlxuKSB7XG4gIHZhciBzaG91bGRDYWNoZSA9ICFpc1NlcnZlclJlbmRlcmluZygpO1xuICBpZiAodHlwZW9mIHVzZXJEZWYgPT09ICdmdW5jdGlvbicpIHtcbiAgICBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24uZ2V0ID0gc2hvdWxkQ2FjaGVcbiAgICAgID8gY3JlYXRlQ29tcHV0ZWRHZXR0ZXIoa2V5KVxuICAgICAgOiBjcmVhdGVHZXR0ZXJJbnZva2VyKHVzZXJEZWYpO1xuICAgIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5zZXQgPSBub29wO1xuICB9IGVsc2Uge1xuICAgIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5nZXQgPSB1c2VyRGVmLmdldFxuICAgICAgPyBzaG91bGRDYWNoZSAmJiB1c2VyRGVmLmNhY2hlICE9PSBmYWxzZVxuICAgICAgICA/IGNyZWF0ZUNvbXB1dGVkR2V0dGVyKGtleSlcbiAgICAgICAgOiBjcmVhdGVHZXR0ZXJJbnZva2VyKHVzZXJEZWYuZ2V0KVxuICAgICAgOiBub29wO1xuICAgIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5zZXQgPSB1c2VyRGVmLnNldCB8fCBub29wO1xuICB9XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24uc2V0ID09PSBub29wKSB7XG4gICAgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uLnNldCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHdhcm4oXG4gICAgICAgIChcIkNvbXB1dGVkIHByb3BlcnR5IFxcXCJcIiArIGtleSArIFwiXFxcIiB3YXMgYXNzaWduZWQgdG8gYnV0IGl0IGhhcyBubyBzZXR0ZXIuXCIpLFxuICAgICAgICB0aGlzXG4gICAgICApO1xuICAgIH07XG4gIH1cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVDb21wdXRlZEdldHRlciAoa2V5KSB7XG4gIHJldHVybiBmdW5jdGlvbiBjb21wdXRlZEdldHRlciAoKSB7XG4gICAgdmFyIHdhdGNoZXIgPSB0aGlzLl9jb21wdXRlZFdhdGNoZXJzICYmIHRoaXMuX2NvbXB1dGVkV2F0Y2hlcnNba2V5XTtcbiAgICBpZiAod2F0Y2hlcikge1xuICAgICAgaWYgKHdhdGNoZXIuZGlydHkpIHtcbiAgICAgICAgd2F0Y2hlci5ldmFsdWF0ZSgpO1xuICAgICAgfVxuICAgICAgaWYgKERlcC50YXJnZXQpIHtcbiAgICAgICAgd2F0Y2hlci5kZXBlbmQoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB3YXRjaGVyLnZhbHVlXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUdldHRlckludm9rZXIoZm4pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGNvbXB1dGVkR2V0dGVyICgpIHtcbiAgICByZXR1cm4gZm4uY2FsbCh0aGlzLCB0aGlzKVxuICB9XG59XG5cbmZ1bmN0aW9uIGluaXRNZXRob2RzICh2bSwgbWV0aG9kcykge1xuICB2YXIgcHJvcHMgPSB2bS4kb3B0aW9ucy5wcm9wcztcbiAgZm9yICh2YXIga2V5IGluIG1ldGhvZHMpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgaWYgKHR5cGVvZiBtZXRob2RzW2tleV0gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICBcIk1ldGhvZCBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgaGFzIHR5cGUgXFxcIlwiICsgKHR5cGVvZiBtZXRob2RzW2tleV0pICsgXCJcXFwiIGluIHRoZSBjb21wb25lbnQgZGVmaW5pdGlvbi4gXCIgK1xuICAgICAgICAgIFwiRGlkIHlvdSByZWZlcmVuY2UgdGhlIGZ1bmN0aW9uIGNvcnJlY3RseT9cIixcbiAgICAgICAgICB2bVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzICYmIGhhc093bihwcm9wcywga2V5KSkge1xuICAgICAgICB3YXJuKFxuICAgICAgICAgIChcIk1ldGhvZCBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgaGFzIGFscmVhZHkgYmVlbiBkZWZpbmVkIGFzIGEgcHJvcC5cIiksXG4gICAgICAgICAgdm1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmICgoa2V5IGluIHZtKSAmJiBpc1Jlc2VydmVkKGtleSkpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICBcIk1ldGhvZCBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgY29uZmxpY3RzIHdpdGggYW4gZXhpc3RpbmcgVnVlIGluc3RhbmNlIG1ldGhvZC4gXCIgK1xuICAgICAgICAgIFwiQXZvaWQgZGVmaW5pbmcgY29tcG9uZW50IG1ldGhvZHMgdGhhdCBzdGFydCB3aXRoIF8gb3IgJC5cIlxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICB2bVtrZXldID0gdHlwZW9mIG1ldGhvZHNba2V5XSAhPT0gJ2Z1bmN0aW9uJyA/IG5vb3AgOiBiaW5kKG1ldGhvZHNba2V5XSwgdm0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGluaXRXYXRjaCAodm0sIHdhdGNoKSB7XG4gIGZvciAodmFyIGtleSBpbiB3YXRjaCkge1xuICAgIHZhciBoYW5kbGVyID0gd2F0Y2hba2V5XTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShoYW5kbGVyKSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBoYW5kbGVyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNyZWF0ZVdhdGNoZXIodm0sIGtleSwgaGFuZGxlcltpXSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNyZWF0ZVdhdGNoZXIodm0sIGtleSwgaGFuZGxlcik7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVdhdGNoZXIgKFxuICB2bSxcbiAgZXhwT3JGbixcbiAgaGFuZGxlcixcbiAgb3B0aW9uc1xuKSB7XG4gIGlmIChpc1BsYWluT2JqZWN0KGhhbmRsZXIpKSB7XG4gICAgb3B0aW9ucyA9IGhhbmRsZXI7XG4gICAgaGFuZGxlciA9IGhhbmRsZXIuaGFuZGxlcjtcbiAgfVxuICBpZiAodHlwZW9mIGhhbmRsZXIgPT09ICdzdHJpbmcnKSB7XG4gICAgaGFuZGxlciA9IHZtW2hhbmRsZXJdO1xuICB9XG4gIHJldHVybiB2bS4kd2F0Y2goZXhwT3JGbiwgaGFuZGxlciwgb3B0aW9ucylcbn1cblxuZnVuY3Rpb24gc3RhdGVNaXhpbiAoVnVlKSB7XG4gIC8vIGZsb3cgc29tZWhvdyBoYXMgcHJvYmxlbXMgd2l0aCBkaXJlY3RseSBkZWNsYXJlZCBkZWZpbml0aW9uIG9iamVjdFxuICAvLyB3aGVuIHVzaW5nIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSwgc28gd2UgaGF2ZSB0byBwcm9jZWR1cmFsbHkgYnVpbGQgdXBcbiAgLy8gdGhlIG9iamVjdCBoZXJlLlxuICB2YXIgZGF0YURlZiA9IHt9O1xuICBkYXRhRGVmLmdldCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXMuX2RhdGEgfTtcbiAgdmFyIHByb3BzRGVmID0ge307XG4gIHByb3BzRGVmLmdldCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXMuX3Byb3BzIH07XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgZGF0YURlZi5zZXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICB3YXJuKFxuICAgICAgICAnQXZvaWQgcmVwbGFjaW5nIGluc3RhbmNlIHJvb3QgJGRhdGEuICcgK1xuICAgICAgICAnVXNlIG5lc3RlZCBkYXRhIHByb3BlcnRpZXMgaW5zdGVhZC4nLFxuICAgICAgICB0aGlzXG4gICAgICApO1xuICAgIH07XG4gICAgcHJvcHNEZWYuc2V0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgd2FybihcIiRwcm9wcyBpcyByZWFkb25seS5cIiwgdGhpcyk7XG4gICAgfTtcbiAgfVxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoVnVlLnByb3RvdHlwZSwgJyRkYXRhJywgZGF0YURlZik7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShWdWUucHJvdG90eXBlLCAnJHByb3BzJywgcHJvcHNEZWYpO1xuXG4gIFZ1ZS5wcm90b3R5cGUuJHNldCA9IHNldDtcbiAgVnVlLnByb3RvdHlwZS4kZGVsZXRlID0gZGVsO1xuXG4gIFZ1ZS5wcm90b3R5cGUuJHdhdGNoID0gZnVuY3Rpb24gKFxuICAgIGV4cE9yRm4sXG4gICAgY2IsXG4gICAgb3B0aW9uc1xuICApIHtcbiAgICB2YXIgdm0gPSB0aGlzO1xuICAgIGlmIChpc1BsYWluT2JqZWN0KGNiKSkge1xuICAgICAgcmV0dXJuIGNyZWF0ZVdhdGNoZXIodm0sIGV4cE9yRm4sIGNiLCBvcHRpb25zKVxuICAgIH1cbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICBvcHRpb25zLnVzZXIgPSB0cnVlO1xuICAgIHZhciB3YXRjaGVyID0gbmV3IFdhdGNoZXIodm0sIGV4cE9yRm4sIGNiLCBvcHRpb25zKTtcbiAgICBpZiAob3B0aW9ucy5pbW1lZGlhdGUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNiLmNhbGwodm0sIHdhdGNoZXIudmFsdWUpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaGFuZGxlRXJyb3IoZXJyb3IsIHZtLCAoXCJjYWxsYmFjayBmb3IgaW1tZWRpYXRlIHdhdGNoZXIgXFxcIlwiICsgKHdhdGNoZXIuZXhwcmVzc2lvbikgKyBcIlxcXCJcIikpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24gdW53YXRjaEZuICgpIHtcbiAgICAgIHdhdGNoZXIudGVhcmRvd24oKTtcbiAgICB9XG4gIH07XG59XG5cbi8qICAqL1xuXG52YXIgdWlkJDMgPSAwO1xuXG5mdW5jdGlvbiBpbml0TWl4aW4gKFZ1ZSkge1xuICBWdWUucHJvdG90eXBlLl9pbml0ID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgICB2YXIgdm0gPSB0aGlzO1xuICAgIC8vIGEgdWlkXG4gICAgdm0uX3VpZCA9IHVpZCQzKys7XG5cbiAgICB2YXIgc3RhcnRUYWcsIGVuZFRhZztcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBjb25maWcucGVyZm9ybWFuY2UgJiYgbWFyaykge1xuICAgICAgc3RhcnRUYWcgPSBcInZ1ZS1wZXJmLXN0YXJ0OlwiICsgKHZtLl91aWQpO1xuICAgICAgZW5kVGFnID0gXCJ2dWUtcGVyZi1lbmQ6XCIgKyAodm0uX3VpZCk7XG4gICAgICBtYXJrKHN0YXJ0VGFnKTtcbiAgICB9XG5cbiAgICAvLyBhIGZsYWcgdG8gYXZvaWQgdGhpcyBiZWluZyBvYnNlcnZlZFxuICAgIHZtLl9pc1Z1ZSA9IHRydWU7XG4gICAgLy8gbWVyZ2Ugb3B0aW9uc1xuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuX2lzQ29tcG9uZW50KSB7XG4gICAgICAvLyBvcHRpbWl6ZSBpbnRlcm5hbCBjb21wb25lbnQgaW5zdGFudGlhdGlvblxuICAgICAgLy8gc2luY2UgZHluYW1pYyBvcHRpb25zIG1lcmdpbmcgaXMgcHJldHR5IHNsb3csIGFuZCBub25lIG9mIHRoZVxuICAgICAgLy8gaW50ZXJuYWwgY29tcG9uZW50IG9wdGlvbnMgbmVlZHMgc3BlY2lhbCB0cmVhdG1lbnQuXG4gICAgICBpbml0SW50ZXJuYWxDb21wb25lbnQodm0sIG9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2bS4kb3B0aW9ucyA9IG1lcmdlT3B0aW9ucyhcbiAgICAgICAgcmVzb2x2ZUNvbnN0cnVjdG9yT3B0aW9ucyh2bS5jb25zdHJ1Y3RvciksXG4gICAgICAgIG9wdGlvbnMgfHwge30sXG4gICAgICAgIHZtXG4gICAgICApO1xuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBpbml0UHJveHkodm0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB2bS5fcmVuZGVyUHJveHkgPSB2bTtcbiAgICB9XG4gICAgLy8gZXhwb3NlIHJlYWwgc2VsZlxuICAgIHZtLl9zZWxmID0gdm07XG4gICAgaW5pdExpZmVjeWNsZSh2bSk7XG4gICAgaW5pdEV2ZW50cyh2bSk7XG4gICAgaW5pdFJlbmRlcih2bSk7XG4gICAgY2FsbEhvb2sodm0sICdiZWZvcmVDcmVhdGUnKTtcbiAgICBpbml0SW5qZWN0aW9ucyh2bSk7IC8vIHJlc29sdmUgaW5qZWN0aW9ucyBiZWZvcmUgZGF0YS9wcm9wc1xuICAgIGluaXRTdGF0ZSh2bSk7XG4gICAgaW5pdFByb3ZpZGUodm0pOyAvLyByZXNvbHZlIHByb3ZpZGUgYWZ0ZXIgZGF0YS9wcm9wc1xuICAgIGNhbGxIb29rKHZtLCAnY3JlYXRlZCcpO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgY29uZmlnLnBlcmZvcm1hbmNlICYmIG1hcmspIHtcbiAgICAgIHZtLl9uYW1lID0gZm9ybWF0Q29tcG9uZW50TmFtZSh2bSwgZmFsc2UpO1xuICAgICAgbWFyayhlbmRUYWcpO1xuICAgICAgbWVhc3VyZSgoXCJ2dWUgXCIgKyAodm0uX25hbWUpICsgXCIgaW5pdFwiKSwgc3RhcnRUYWcsIGVuZFRhZyk7XG4gICAgfVxuXG4gICAgaWYgKHZtLiRvcHRpb25zLmVsKSB7XG4gICAgICB2bS4kbW91bnQodm0uJG9wdGlvbnMuZWwpO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gaW5pdEludGVybmFsQ29tcG9uZW50ICh2bSwgb3B0aW9ucykge1xuICB2YXIgb3B0cyA9IHZtLiRvcHRpb25zID0gT2JqZWN0LmNyZWF0ZSh2bS5jb25zdHJ1Y3Rvci5vcHRpb25zKTtcbiAgLy8gZG9pbmcgdGhpcyBiZWNhdXNlIGl0J3MgZmFzdGVyIHRoYW4gZHluYW1pYyBlbnVtZXJhdGlvbi5cbiAgdmFyIHBhcmVudFZub2RlID0gb3B0aW9ucy5fcGFyZW50Vm5vZGU7XG4gIG9wdHMucGFyZW50ID0gb3B0aW9ucy5wYXJlbnQ7XG4gIG9wdHMuX3BhcmVudFZub2RlID0gcGFyZW50Vm5vZGU7XG5cbiAgdmFyIHZub2RlQ29tcG9uZW50T3B0aW9ucyA9IHBhcmVudFZub2RlLmNvbXBvbmVudE9wdGlvbnM7XG4gIG9wdHMucHJvcHNEYXRhID0gdm5vZGVDb21wb25lbnRPcHRpb25zLnByb3BzRGF0YTtcbiAgb3B0cy5fcGFyZW50TGlzdGVuZXJzID0gdm5vZGVDb21wb25lbnRPcHRpb25zLmxpc3RlbmVycztcbiAgb3B0cy5fcmVuZGVyQ2hpbGRyZW4gPSB2bm9kZUNvbXBvbmVudE9wdGlvbnMuY2hpbGRyZW47XG4gIG9wdHMuX2NvbXBvbmVudFRhZyA9IHZub2RlQ29tcG9uZW50T3B0aW9ucy50YWc7XG5cbiAgaWYgKG9wdGlvbnMucmVuZGVyKSB7XG4gICAgb3B0cy5yZW5kZXIgPSBvcHRpb25zLnJlbmRlcjtcbiAgICBvcHRzLnN0YXRpY1JlbmRlckZucyA9IG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVDb25zdHJ1Y3Rvck9wdGlvbnMgKEN0b3IpIHtcbiAgdmFyIG9wdGlvbnMgPSBDdG9yLm9wdGlvbnM7XG4gIGlmIChDdG9yLnN1cGVyKSB7XG4gICAgdmFyIHN1cGVyT3B0aW9ucyA9IHJlc29sdmVDb25zdHJ1Y3Rvck9wdGlvbnMoQ3Rvci5zdXBlcik7XG4gICAgdmFyIGNhY2hlZFN1cGVyT3B0aW9ucyA9IEN0b3Iuc3VwZXJPcHRpb25zO1xuICAgIGlmIChzdXBlck9wdGlvbnMgIT09IGNhY2hlZFN1cGVyT3B0aW9ucykge1xuICAgICAgLy8gc3VwZXIgb3B0aW9uIGNoYW5nZWQsXG4gICAgICAvLyBuZWVkIHRvIHJlc29sdmUgbmV3IG9wdGlvbnMuXG4gICAgICBDdG9yLnN1cGVyT3B0aW9ucyA9IHN1cGVyT3B0aW9ucztcbiAgICAgIC8vIGNoZWNrIGlmIHRoZXJlIGFyZSBhbnkgbGF0ZS1tb2RpZmllZC9hdHRhY2hlZCBvcHRpb25zICgjNDk3NilcbiAgICAgIHZhciBtb2RpZmllZE9wdGlvbnMgPSByZXNvbHZlTW9kaWZpZWRPcHRpb25zKEN0b3IpO1xuICAgICAgLy8gdXBkYXRlIGJhc2UgZXh0ZW5kIG9wdGlvbnNcbiAgICAgIGlmIChtb2RpZmllZE9wdGlvbnMpIHtcbiAgICAgICAgZXh0ZW5kKEN0b3IuZXh0ZW5kT3B0aW9ucywgbW9kaWZpZWRPcHRpb25zKTtcbiAgICAgIH1cbiAgICAgIG9wdGlvbnMgPSBDdG9yLm9wdGlvbnMgPSBtZXJnZU9wdGlvbnMoc3VwZXJPcHRpb25zLCBDdG9yLmV4dGVuZE9wdGlvbnMpO1xuICAgICAgaWYgKG9wdGlvbnMubmFtZSkge1xuICAgICAgICBvcHRpb25zLmNvbXBvbmVudHNbb3B0aW9ucy5uYW1lXSA9IEN0b3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBvcHRpb25zXG59XG5cbmZ1bmN0aW9uIHJlc29sdmVNb2RpZmllZE9wdGlvbnMgKEN0b3IpIHtcbiAgdmFyIG1vZGlmaWVkO1xuICB2YXIgbGF0ZXN0ID0gQ3Rvci5vcHRpb25zO1xuICB2YXIgc2VhbGVkID0gQ3Rvci5zZWFsZWRPcHRpb25zO1xuICBmb3IgKHZhciBrZXkgaW4gbGF0ZXN0KSB7XG4gICAgaWYgKGxhdGVzdFtrZXldICE9PSBzZWFsZWRba2V5XSkge1xuICAgICAgaWYgKCFtb2RpZmllZCkgeyBtb2RpZmllZCA9IHt9OyB9XG4gICAgICBtb2RpZmllZFtrZXldID0gbGF0ZXN0W2tleV07XG4gICAgfVxuICB9XG4gIHJldHVybiBtb2RpZmllZFxufVxuXG5mdW5jdGlvbiBWdWUgKG9wdGlvbnMpIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAhKHRoaXMgaW5zdGFuY2VvZiBWdWUpXG4gICkge1xuICAgIHdhcm4oJ1Z1ZSBpcyBhIGNvbnN0cnVjdG9yIGFuZCBzaG91bGQgYmUgY2FsbGVkIHdpdGggdGhlIGBuZXdgIGtleXdvcmQnKTtcbiAgfVxuICB0aGlzLl9pbml0KG9wdGlvbnMpO1xufVxuXG5pbml0TWl4aW4oVnVlKTtcbnN0YXRlTWl4aW4oVnVlKTtcbmV2ZW50c01peGluKFZ1ZSk7XG5saWZlY3ljbGVNaXhpbihWdWUpO1xucmVuZGVyTWl4aW4oVnVlKTtcblxuLyogICovXG5cbmZ1bmN0aW9uIGluaXRVc2UgKFZ1ZSkge1xuICBWdWUudXNlID0gZnVuY3Rpb24gKHBsdWdpbikge1xuICAgIHZhciBpbnN0YWxsZWRQbHVnaW5zID0gKHRoaXMuX2luc3RhbGxlZFBsdWdpbnMgfHwgKHRoaXMuX2luc3RhbGxlZFBsdWdpbnMgPSBbXSkpO1xuICAgIGlmIChpbnN0YWxsZWRQbHVnaW5zLmluZGV4T2YocGx1Z2luKSA+IC0xKSB7XG4gICAgICByZXR1cm4gdGhpc1xuICAgIH1cblxuICAgIC8vIGFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAgIHZhciBhcmdzID0gdG9BcnJheShhcmd1bWVudHMsIDEpO1xuICAgIGFyZ3MudW5zaGlmdCh0aGlzKTtcbiAgICBpZiAodHlwZW9mIHBsdWdpbi5pbnN0YWxsID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwbHVnaW4uaW5zdGFsbC5hcHBseShwbHVnaW4sIGFyZ3MpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHBsdWdpbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcGx1Z2luLmFwcGx5KG51bGwsIGFyZ3MpO1xuICAgIH1cbiAgICBpbnN0YWxsZWRQbHVnaW5zLnB1c2gocGx1Z2luKTtcbiAgICByZXR1cm4gdGhpc1xuICB9O1xufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gaW5pdE1peGluJDEgKFZ1ZSkge1xuICBWdWUubWl4aW4gPSBmdW5jdGlvbiAobWl4aW4pIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBtZXJnZU9wdGlvbnModGhpcy5vcHRpb25zLCBtaXhpbik7XG4gICAgcmV0dXJuIHRoaXNcbiAgfTtcbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGluaXRFeHRlbmQgKFZ1ZSkge1xuICAvKipcbiAgICogRWFjaCBpbnN0YW5jZSBjb25zdHJ1Y3RvciwgaW5jbHVkaW5nIFZ1ZSwgaGFzIGEgdW5pcXVlXG4gICAqIGNpZC4gVGhpcyBlbmFibGVzIHVzIHRvIGNyZWF0ZSB3cmFwcGVkIFwiY2hpbGRcbiAgICogY29uc3RydWN0b3JzXCIgZm9yIHByb3RvdHlwYWwgaW5oZXJpdGFuY2UgYW5kIGNhY2hlIHRoZW0uXG4gICAqL1xuICBWdWUuY2lkID0gMDtcbiAgdmFyIGNpZCA9IDE7XG5cbiAgLyoqXG4gICAqIENsYXNzIGluaGVyaXRhbmNlXG4gICAqL1xuICBWdWUuZXh0ZW5kID0gZnVuY3Rpb24gKGV4dGVuZE9wdGlvbnMpIHtcbiAgICBleHRlbmRPcHRpb25zID0gZXh0ZW5kT3B0aW9ucyB8fCB7fTtcbiAgICB2YXIgU3VwZXIgPSB0aGlzO1xuICAgIHZhciBTdXBlcklkID0gU3VwZXIuY2lkO1xuICAgIHZhciBjYWNoZWRDdG9ycyA9IGV4dGVuZE9wdGlvbnMuX0N0b3IgfHwgKGV4dGVuZE9wdGlvbnMuX0N0b3IgPSB7fSk7XG4gICAgaWYgKGNhY2hlZEN0b3JzW1N1cGVySWRdKSB7XG4gICAgICByZXR1cm4gY2FjaGVkQ3RvcnNbU3VwZXJJZF1cbiAgICB9XG5cbiAgICB2YXIgbmFtZSA9IGV4dGVuZE9wdGlvbnMubmFtZSB8fCBTdXBlci5vcHRpb25zLm5hbWU7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgbmFtZSkge1xuICAgICAgdmFsaWRhdGVDb21wb25lbnROYW1lKG5hbWUpO1xuICAgIH1cblxuICAgIHZhciBTdWIgPSBmdW5jdGlvbiBWdWVDb21wb25lbnQgKG9wdGlvbnMpIHtcbiAgICAgIHRoaXMuX2luaXQob3B0aW9ucyk7XG4gICAgfTtcbiAgICBTdWIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShTdXBlci5wcm90b3R5cGUpO1xuICAgIFN1Yi5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBTdWI7XG4gICAgU3ViLmNpZCA9IGNpZCsrO1xuICAgIFN1Yi5vcHRpb25zID0gbWVyZ2VPcHRpb25zKFxuICAgICAgU3VwZXIub3B0aW9ucyxcbiAgICAgIGV4dGVuZE9wdGlvbnNcbiAgICApO1xuICAgIFN1Ylsnc3VwZXInXSA9IFN1cGVyO1xuXG4gICAgLy8gRm9yIHByb3BzIGFuZCBjb21wdXRlZCBwcm9wZXJ0aWVzLCB3ZSBkZWZpbmUgdGhlIHByb3h5IGdldHRlcnMgb25cbiAgICAvLyB0aGUgVnVlIGluc3RhbmNlcyBhdCBleHRlbnNpb24gdGltZSwgb24gdGhlIGV4dGVuZGVkIHByb3RvdHlwZS4gVGhpc1xuICAgIC8vIGF2b2lkcyBPYmplY3QuZGVmaW5lUHJvcGVydHkgY2FsbHMgZm9yIGVhY2ggaW5zdGFuY2UgY3JlYXRlZC5cbiAgICBpZiAoU3ViLm9wdGlvbnMucHJvcHMpIHtcbiAgICAgIGluaXRQcm9wcyQxKFN1Yik7XG4gICAgfVxuICAgIGlmIChTdWIub3B0aW9ucy5jb21wdXRlZCkge1xuICAgICAgaW5pdENvbXB1dGVkJDEoU3ViKTtcbiAgICB9XG5cbiAgICAvLyBhbGxvdyBmdXJ0aGVyIGV4dGVuc2lvbi9taXhpbi9wbHVnaW4gdXNhZ2VcbiAgICBTdWIuZXh0ZW5kID0gU3VwZXIuZXh0ZW5kO1xuICAgIFN1Yi5taXhpbiA9IFN1cGVyLm1peGluO1xuICAgIFN1Yi51c2UgPSBTdXBlci51c2U7XG5cbiAgICAvLyBjcmVhdGUgYXNzZXQgcmVnaXN0ZXJzLCBzbyBleHRlbmRlZCBjbGFzc2VzXG4gICAgLy8gY2FuIGhhdmUgdGhlaXIgcHJpdmF0ZSBhc3NldHMgdG9vLlxuICAgIEFTU0VUX1RZUEVTLmZvckVhY2goZnVuY3Rpb24gKHR5cGUpIHtcbiAgICAgIFN1Ylt0eXBlXSA9IFN1cGVyW3R5cGVdO1xuICAgIH0pO1xuICAgIC8vIGVuYWJsZSByZWN1cnNpdmUgc2VsZi1sb29rdXBcbiAgICBpZiAobmFtZSkge1xuICAgICAgU3ViLm9wdGlvbnMuY29tcG9uZW50c1tuYW1lXSA9IFN1YjtcbiAgICB9XG5cbiAgICAvLyBrZWVwIGEgcmVmZXJlbmNlIHRvIHRoZSBzdXBlciBvcHRpb25zIGF0IGV4dGVuc2lvbiB0aW1lLlxuICAgIC8vIGxhdGVyIGF0IGluc3RhbnRpYXRpb24gd2UgY2FuIGNoZWNrIGlmIFN1cGVyJ3Mgb3B0aW9ucyBoYXZlXG4gICAgLy8gYmVlbiB1cGRhdGVkLlxuICAgIFN1Yi5zdXBlck9wdGlvbnMgPSBTdXBlci5vcHRpb25zO1xuICAgIFN1Yi5leHRlbmRPcHRpb25zID0gZXh0ZW5kT3B0aW9ucztcbiAgICBTdWIuc2VhbGVkT3B0aW9ucyA9IGV4dGVuZCh7fSwgU3ViLm9wdGlvbnMpO1xuXG4gICAgLy8gY2FjaGUgY29uc3RydWN0b3JcbiAgICBjYWNoZWRDdG9yc1tTdXBlcklkXSA9IFN1YjtcbiAgICByZXR1cm4gU3ViXG4gIH07XG59XG5cbmZ1bmN0aW9uIGluaXRQcm9wcyQxIChDb21wKSB7XG4gIHZhciBwcm9wcyA9IENvbXAub3B0aW9ucy5wcm9wcztcbiAgZm9yICh2YXIga2V5IGluIHByb3BzKSB7XG4gICAgcHJveHkoQ29tcC5wcm90b3R5cGUsIFwiX3Byb3BzXCIsIGtleSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5pdENvbXB1dGVkJDEgKENvbXApIHtcbiAgdmFyIGNvbXB1dGVkID0gQ29tcC5vcHRpb25zLmNvbXB1dGVkO1xuICBmb3IgKHZhciBrZXkgaW4gY29tcHV0ZWQpIHtcbiAgICBkZWZpbmVDb21wdXRlZChDb21wLnByb3RvdHlwZSwga2V5LCBjb21wdXRlZFtrZXldKTtcbiAgfVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gaW5pdEFzc2V0UmVnaXN0ZXJzIChWdWUpIHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhc3NldCByZWdpc3RyYXRpb24gbWV0aG9kcy5cbiAgICovXG4gIEFTU0VUX1RZUEVTLmZvckVhY2goZnVuY3Rpb24gKHR5cGUpIHtcbiAgICBWdWVbdHlwZV0gPSBmdW5jdGlvbiAoXG4gICAgICBpZCxcbiAgICAgIGRlZmluaXRpb25cbiAgICApIHtcbiAgICAgIGlmICghZGVmaW5pdGlvbikge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zW3R5cGUgKyAncyddW2lkXVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHR5cGUgPT09ICdjb21wb25lbnQnKSB7XG4gICAgICAgICAgdmFsaWRhdGVDb21wb25lbnROYW1lKGlkKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZSA9PT0gJ2NvbXBvbmVudCcgJiYgaXNQbGFpbk9iamVjdChkZWZpbml0aW9uKSkge1xuICAgICAgICAgIGRlZmluaXRpb24ubmFtZSA9IGRlZmluaXRpb24ubmFtZSB8fCBpZDtcbiAgICAgICAgICBkZWZpbml0aW9uID0gdGhpcy5vcHRpb25zLl9iYXNlLmV4dGVuZChkZWZpbml0aW9uKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZSA9PT0gJ2RpcmVjdGl2ZScgJiYgdHlwZW9mIGRlZmluaXRpb24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBkZWZpbml0aW9uID0geyBiaW5kOiBkZWZpbml0aW9uLCB1cGRhdGU6IGRlZmluaXRpb24gfTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wdGlvbnNbdHlwZSArICdzJ11baWRdID0gZGVmaW5pdGlvbjtcbiAgICAgICAgcmV0dXJuIGRlZmluaXRpb25cbiAgICAgIH1cbiAgICB9O1xuICB9KTtcbn1cblxuLyogICovXG5cblxuXG5mdW5jdGlvbiBnZXRDb21wb25lbnROYW1lIChvcHRzKSB7XG4gIHJldHVybiBvcHRzICYmIChvcHRzLkN0b3Iub3B0aW9ucy5uYW1lIHx8IG9wdHMudGFnKVxufVxuXG5mdW5jdGlvbiBtYXRjaGVzIChwYXR0ZXJuLCBuYW1lKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHBhdHRlcm4pKSB7XG4gICAgcmV0dXJuIHBhdHRlcm4uaW5kZXhPZihuYW1lKSA+IC0xXG4gIH0gZWxzZSBpZiAodHlwZW9mIHBhdHRlcm4gPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHBhdHRlcm4uc3BsaXQoJywnKS5pbmRleE9mKG5hbWUpID4gLTFcbiAgfSBlbHNlIGlmIChpc1JlZ0V4cChwYXR0ZXJuKSkge1xuICAgIHJldHVybiBwYXR0ZXJuLnRlc3QobmFtZSlcbiAgfVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICByZXR1cm4gZmFsc2Vcbn1cblxuZnVuY3Rpb24gcHJ1bmVDYWNoZSAoa2VlcEFsaXZlSW5zdGFuY2UsIGZpbHRlcikge1xuICB2YXIgY2FjaGUgPSBrZWVwQWxpdmVJbnN0YW5jZS5jYWNoZTtcbiAgdmFyIGtleXMgPSBrZWVwQWxpdmVJbnN0YW5jZS5rZXlzO1xuICB2YXIgX3Zub2RlID0ga2VlcEFsaXZlSW5zdGFuY2UuX3Zub2RlO1xuICBmb3IgKHZhciBrZXkgaW4gY2FjaGUpIHtcbiAgICB2YXIgY2FjaGVkTm9kZSA9IGNhY2hlW2tleV07XG4gICAgaWYgKGNhY2hlZE5vZGUpIHtcbiAgICAgIHZhciBuYW1lID0gZ2V0Q29tcG9uZW50TmFtZShjYWNoZWROb2RlLmNvbXBvbmVudE9wdGlvbnMpO1xuICAgICAgaWYgKG5hbWUgJiYgIWZpbHRlcihuYW1lKSkge1xuICAgICAgICBwcnVuZUNhY2hlRW50cnkoY2FjaGUsIGtleSwga2V5cywgX3Zub2RlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJ1bmVDYWNoZUVudHJ5IChcbiAgY2FjaGUsXG4gIGtleSxcbiAga2V5cyxcbiAgY3VycmVudFxuKSB7XG4gIHZhciBjYWNoZWQkJDEgPSBjYWNoZVtrZXldO1xuICBpZiAoY2FjaGVkJCQxICYmICghY3VycmVudCB8fCBjYWNoZWQkJDEudGFnICE9PSBjdXJyZW50LnRhZykpIHtcbiAgICBjYWNoZWQkJDEuY29tcG9uZW50SW5zdGFuY2UuJGRlc3Ryb3koKTtcbiAgfVxuICBjYWNoZVtrZXldID0gbnVsbDtcbiAgcmVtb3ZlKGtleXMsIGtleSk7XG59XG5cbnZhciBwYXR0ZXJuVHlwZXMgPSBbU3RyaW5nLCBSZWdFeHAsIEFycmF5XTtcblxudmFyIEtlZXBBbGl2ZSA9IHtcbiAgbmFtZTogJ2tlZXAtYWxpdmUnLFxuICBhYnN0cmFjdDogdHJ1ZSxcblxuICBwcm9wczoge1xuICAgIGluY2x1ZGU6IHBhdHRlcm5UeXBlcyxcbiAgICBleGNsdWRlOiBwYXR0ZXJuVHlwZXMsXG4gICAgbWF4OiBbU3RyaW5nLCBOdW1iZXJdXG4gIH0sXG5cbiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCAoKSB7XG4gICAgdGhpcy5jYWNoZSA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgdGhpcy5rZXlzID0gW107XG4gIH0sXG5cbiAgZGVzdHJveWVkOiBmdW5jdGlvbiBkZXN0cm95ZWQgKCkge1xuICAgIGZvciAodmFyIGtleSBpbiB0aGlzLmNhY2hlKSB7XG4gICAgICBwcnVuZUNhY2hlRW50cnkodGhpcy5jYWNoZSwga2V5LCB0aGlzLmtleXMpO1xuICAgIH1cbiAgfSxcblxuICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkICgpIHtcbiAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIHRoaXMuJHdhdGNoKCdpbmNsdWRlJywgZnVuY3Rpb24gKHZhbCkge1xuICAgICAgcHJ1bmVDYWNoZSh0aGlzJDEsIGZ1bmN0aW9uIChuYW1lKSB7IHJldHVybiBtYXRjaGVzKHZhbCwgbmFtZSk7IH0pO1xuICAgIH0pO1xuICAgIHRoaXMuJHdhdGNoKCdleGNsdWRlJywgZnVuY3Rpb24gKHZhbCkge1xuICAgICAgcHJ1bmVDYWNoZSh0aGlzJDEsIGZ1bmN0aW9uIChuYW1lKSB7IHJldHVybiAhbWF0Y2hlcyh2YWwsIG5hbWUpOyB9KTtcbiAgICB9KTtcbiAgfSxcblxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlciAoKSB7XG4gICAgdmFyIHNsb3QgPSB0aGlzLiRzbG90cy5kZWZhdWx0O1xuICAgIHZhciB2bm9kZSA9IGdldEZpcnN0Q29tcG9uZW50Q2hpbGQoc2xvdCk7XG4gICAgdmFyIGNvbXBvbmVudE9wdGlvbnMgPSB2bm9kZSAmJiB2bm9kZS5jb21wb25lbnRPcHRpb25zO1xuICAgIGlmIChjb21wb25lbnRPcHRpb25zKSB7XG4gICAgICAvLyBjaGVjayBwYXR0ZXJuXG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWUoY29tcG9uZW50T3B0aW9ucyk7XG4gICAgICB2YXIgcmVmID0gdGhpcztcbiAgICAgIHZhciBpbmNsdWRlID0gcmVmLmluY2x1ZGU7XG4gICAgICB2YXIgZXhjbHVkZSA9IHJlZi5leGNsdWRlO1xuICAgICAgaWYgKFxuICAgICAgICAvLyBub3QgaW5jbHVkZWRcbiAgICAgICAgKGluY2x1ZGUgJiYgKCFuYW1lIHx8ICFtYXRjaGVzKGluY2x1ZGUsIG5hbWUpKSkgfHxcbiAgICAgICAgLy8gZXhjbHVkZWRcbiAgICAgICAgKGV4Y2x1ZGUgJiYgbmFtZSAmJiBtYXRjaGVzKGV4Y2x1ZGUsIG5hbWUpKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB2bm9kZVxuICAgICAgfVxuXG4gICAgICB2YXIgcmVmJDEgPSB0aGlzO1xuICAgICAgdmFyIGNhY2hlID0gcmVmJDEuY2FjaGU7XG4gICAgICB2YXIga2V5cyA9IHJlZiQxLmtleXM7XG4gICAgICB2YXIga2V5ID0gdm5vZGUua2V5ID09IG51bGxcbiAgICAgICAgLy8gc2FtZSBjb25zdHJ1Y3RvciBtYXkgZ2V0IHJlZ2lzdGVyZWQgYXMgZGlmZmVyZW50IGxvY2FsIGNvbXBvbmVudHNcbiAgICAgICAgLy8gc28gY2lkIGFsb25lIGlzIG5vdCBlbm91Z2ggKCMzMjY5KVxuICAgICAgICA/IGNvbXBvbmVudE9wdGlvbnMuQ3Rvci5jaWQgKyAoY29tcG9uZW50T3B0aW9ucy50YWcgPyAoXCI6OlwiICsgKGNvbXBvbmVudE9wdGlvbnMudGFnKSkgOiAnJylcbiAgICAgICAgOiB2bm9kZS5rZXk7XG4gICAgICBpZiAoY2FjaGVba2V5XSkge1xuICAgICAgICB2bm9kZS5jb21wb25lbnRJbnN0YW5jZSA9IGNhY2hlW2tleV0uY29tcG9uZW50SW5zdGFuY2U7XG4gICAgICAgIC8vIG1ha2UgY3VycmVudCBrZXkgZnJlc2hlc3RcbiAgICAgICAgcmVtb3ZlKGtleXMsIGtleSk7XG4gICAgICAgIGtleXMucHVzaChrZXkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2FjaGVba2V5XSA9IHZub2RlO1xuICAgICAgICBrZXlzLnB1c2goa2V5KTtcbiAgICAgICAgLy8gcHJ1bmUgb2xkZXN0IGVudHJ5XG4gICAgICAgIGlmICh0aGlzLm1heCAmJiBrZXlzLmxlbmd0aCA+IHBhcnNlSW50KHRoaXMubWF4KSkge1xuICAgICAgICAgIHBydW5lQ2FjaGVFbnRyeShjYWNoZSwga2V5c1swXSwga2V5cywgdGhpcy5fdm5vZGUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHZub2RlLmRhdGEua2VlcEFsaXZlID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHZub2RlIHx8IChzbG90ICYmIHNsb3RbMF0pXG4gIH1cbn07XG5cbnZhciBidWlsdEluQ29tcG9uZW50cyA9IHtcbiAgS2VlcEFsaXZlOiBLZWVwQWxpdmVcbn07XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBpbml0R2xvYmFsQVBJIChWdWUpIHtcbiAgLy8gY29uZmlnXG4gIHZhciBjb25maWdEZWYgPSB7fTtcbiAgY29uZmlnRGVmLmdldCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNvbmZpZzsgfTtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBjb25maWdEZWYuc2V0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgd2FybihcbiAgICAgICAgJ0RvIG5vdCByZXBsYWNlIHRoZSBWdWUuY29uZmlnIG9iamVjdCwgc2V0IGluZGl2aWR1YWwgZmllbGRzIGluc3RlYWQuJ1xuICAgICAgKTtcbiAgICB9O1xuICB9XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShWdWUsICdjb25maWcnLCBjb25maWdEZWYpO1xuXG4gIC8vIGV4cG9zZWQgdXRpbCBtZXRob2RzLlxuICAvLyBOT1RFOiB0aGVzZSBhcmUgbm90IGNvbnNpZGVyZWQgcGFydCBvZiB0aGUgcHVibGljIEFQSSAtIGF2b2lkIHJlbHlpbmcgb25cbiAgLy8gdGhlbSB1bmxlc3MgeW91IGFyZSBhd2FyZSBvZiB0aGUgcmlzay5cbiAgVnVlLnV0aWwgPSB7XG4gICAgd2Fybjogd2FybixcbiAgICBleHRlbmQ6IGV4dGVuZCxcbiAgICBtZXJnZU9wdGlvbnM6IG1lcmdlT3B0aW9ucyxcbiAgICBkZWZpbmVSZWFjdGl2ZTogZGVmaW5lUmVhY3RpdmUkJDFcbiAgfTtcblxuICBWdWUuc2V0ID0gc2V0O1xuICBWdWUuZGVsZXRlID0gZGVsO1xuICBWdWUubmV4dFRpY2sgPSBuZXh0VGljaztcblxuICAvLyAyLjYgZXhwbGljaXQgb2JzZXJ2YWJsZSBBUElcbiAgVnVlLm9ic2VydmFibGUgPSBmdW5jdGlvbiAob2JqKSB7XG4gICAgb2JzZXJ2ZShvYmopO1xuICAgIHJldHVybiBvYmpcbiAgfTtcblxuICBWdWUub3B0aW9ucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIEFTU0VUX1RZUEVTLmZvckVhY2goZnVuY3Rpb24gKHR5cGUpIHtcbiAgICBWdWUub3B0aW9uc1t0eXBlICsgJ3MnXSA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIH0pO1xuXG4gIC8vIHRoaXMgaXMgdXNlZCB0byBpZGVudGlmeSB0aGUgXCJiYXNlXCIgY29uc3RydWN0b3IgdG8gZXh0ZW5kIGFsbCBwbGFpbi1vYmplY3RcbiAgLy8gY29tcG9uZW50cyB3aXRoIGluIFdlZXgncyBtdWx0aS1pbnN0YW5jZSBzY2VuYXJpb3MuXG4gIFZ1ZS5vcHRpb25zLl9iYXNlID0gVnVlO1xuXG4gIGV4dGVuZChWdWUub3B0aW9ucy5jb21wb25lbnRzLCBidWlsdEluQ29tcG9uZW50cyk7XG5cbiAgaW5pdFVzZShWdWUpO1xuICBpbml0TWl4aW4kMShWdWUpO1xuICBpbml0RXh0ZW5kKFZ1ZSk7XG4gIGluaXRBc3NldFJlZ2lzdGVycyhWdWUpO1xufVxuXG5pbml0R2xvYmFsQVBJKFZ1ZSk7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShWdWUucHJvdG90eXBlLCAnJGlzU2VydmVyJywge1xuICBnZXQ6IGlzU2VydmVyUmVuZGVyaW5nXG59KTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFZ1ZS5wcm90b3R5cGUsICckc3NyQ29udGV4dCcsIHtcbiAgZ2V0OiBmdW5jdGlvbiBnZXQgKCkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHRoaXMuJHZub2RlICYmIHRoaXMuJHZub2RlLnNzckNvbnRleHRcbiAgfVxufSk7XG5cbi8vIGV4cG9zZSBGdW5jdGlvbmFsUmVuZGVyQ29udGV4dCBmb3Igc3NyIHJ1bnRpbWUgaGVscGVyIGluc3RhbGxhdGlvblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFZ1ZSwgJ0Z1bmN0aW9uYWxSZW5kZXJDb250ZXh0Jywge1xuICB2YWx1ZTogRnVuY3Rpb25hbFJlbmRlckNvbnRleHRcbn0pO1xuXG5WdWUudmVyc2lvbiA9ICcyLjYuMTAnO1xuXG4vKiAgKi9cblxuLy8gdGhlc2UgYXJlIHJlc2VydmVkIGZvciB3ZWIgYmVjYXVzZSB0aGV5IGFyZSBkaXJlY3RseSBjb21waWxlZCBhd2F5XG4vLyBkdXJpbmcgdGVtcGxhdGUgY29tcGlsYXRpb25cbnZhciBpc1Jlc2VydmVkQXR0ciA9IG1ha2VNYXAoJ3N0eWxlLGNsYXNzJyk7XG5cbi8vIGF0dHJpYnV0ZXMgdGhhdCBzaG91bGQgYmUgdXNpbmcgcHJvcHMgZm9yIGJpbmRpbmdcbnZhciBhY2NlcHRWYWx1ZSA9IG1ha2VNYXAoJ2lucHV0LHRleHRhcmVhLG9wdGlvbixzZWxlY3QscHJvZ3Jlc3MnKTtcbnZhciBtdXN0VXNlUHJvcCA9IGZ1bmN0aW9uICh0YWcsIHR5cGUsIGF0dHIpIHtcbiAgcmV0dXJuIChcbiAgICAoYXR0ciA9PT0gJ3ZhbHVlJyAmJiBhY2NlcHRWYWx1ZSh0YWcpKSAmJiB0eXBlICE9PSAnYnV0dG9uJyB8fFxuICAgIChhdHRyID09PSAnc2VsZWN0ZWQnICYmIHRhZyA9PT0gJ29wdGlvbicpIHx8XG4gICAgKGF0dHIgPT09ICdjaGVja2VkJyAmJiB0YWcgPT09ICdpbnB1dCcpIHx8XG4gICAgKGF0dHIgPT09ICdtdXRlZCcgJiYgdGFnID09PSAndmlkZW8nKVxuICApXG59O1xuXG52YXIgaXNFbnVtZXJhdGVkQXR0ciA9IG1ha2VNYXAoJ2NvbnRlbnRlZGl0YWJsZSxkcmFnZ2FibGUsc3BlbGxjaGVjaycpO1xuXG52YXIgaXNWYWxpZENvbnRlbnRFZGl0YWJsZVZhbHVlID0gbWFrZU1hcCgnZXZlbnRzLGNhcmV0LHR5cGluZyxwbGFpbnRleHQtb25seScpO1xuXG52YXIgY29udmVydEVudW1lcmF0ZWRWYWx1ZSA9IGZ1bmN0aW9uIChrZXksIHZhbHVlKSB7XG4gIHJldHVybiBpc0ZhbHN5QXR0clZhbHVlKHZhbHVlKSB8fCB2YWx1ZSA9PT0gJ2ZhbHNlJ1xuICAgID8gJ2ZhbHNlJ1xuICAgIC8vIGFsbG93IGFyYml0cmFyeSBzdHJpbmcgdmFsdWUgZm9yIGNvbnRlbnRlZGl0YWJsZVxuICAgIDoga2V5ID09PSAnY29udGVudGVkaXRhYmxlJyAmJiBpc1ZhbGlkQ29udGVudEVkaXRhYmxlVmFsdWUodmFsdWUpXG4gICAgICA/IHZhbHVlXG4gICAgICA6ICd0cnVlJ1xufTtcblxudmFyIGlzQm9vbGVhbkF0dHIgPSBtYWtlTWFwKFxuICAnYWxsb3dmdWxsc2NyZWVuLGFzeW5jLGF1dG9mb2N1cyxhdXRvcGxheSxjaGVja2VkLGNvbXBhY3QsY29udHJvbHMsZGVjbGFyZSwnICtcbiAgJ2RlZmF1bHQsZGVmYXVsdGNoZWNrZWQsZGVmYXVsdG11dGVkLGRlZmF1bHRzZWxlY3RlZCxkZWZlcixkaXNhYmxlZCwnICtcbiAgJ2VuYWJsZWQsZm9ybW5vdmFsaWRhdGUsaGlkZGVuLGluZGV0ZXJtaW5hdGUsaW5lcnQsaXNtYXAsaXRlbXNjb3BlLGxvb3AsbXVsdGlwbGUsJyArXG4gICdtdXRlZCxub2hyZWYsbm9yZXNpemUsbm9zaGFkZSxub3ZhbGlkYXRlLG5vd3JhcCxvcGVuLHBhdXNlb25leGl0LHJlYWRvbmx5LCcgK1xuICAncmVxdWlyZWQscmV2ZXJzZWQsc2NvcGVkLHNlYW1sZXNzLHNlbGVjdGVkLHNvcnRhYmxlLHRyYW5zbGF0ZSwnICtcbiAgJ3RydWVzcGVlZCx0eXBlbXVzdG1hdGNoLHZpc2libGUnXG4pO1xuXG52YXIgeGxpbmtOUyA9ICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJztcblxudmFyIGlzWGxpbmsgPSBmdW5jdGlvbiAobmFtZSkge1xuICByZXR1cm4gbmFtZS5jaGFyQXQoNSkgPT09ICc6JyAmJiBuYW1lLnNsaWNlKDAsIDUpID09PSAneGxpbmsnXG59O1xuXG52YXIgZ2V0WGxpbmtQcm9wID0gZnVuY3Rpb24gKG5hbWUpIHtcbiAgcmV0dXJuIGlzWGxpbmsobmFtZSkgPyBuYW1lLnNsaWNlKDYsIG5hbWUubGVuZ3RoKSA6ICcnXG59O1xuXG52YXIgaXNGYWxzeUF0dHJWYWx1ZSA9IGZ1bmN0aW9uICh2YWwpIHtcbiAgcmV0dXJuIHZhbCA9PSBudWxsIHx8IHZhbCA9PT0gZmFsc2Vcbn07XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBnZW5DbGFzc0ZvclZub2RlICh2bm9kZSkge1xuICB2YXIgZGF0YSA9IHZub2RlLmRhdGE7XG4gIHZhciBwYXJlbnROb2RlID0gdm5vZGU7XG4gIHZhciBjaGlsZE5vZGUgPSB2bm9kZTtcbiAgd2hpbGUgKGlzRGVmKGNoaWxkTm9kZS5jb21wb25lbnRJbnN0YW5jZSkpIHtcbiAgICBjaGlsZE5vZGUgPSBjaGlsZE5vZGUuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlO1xuICAgIGlmIChjaGlsZE5vZGUgJiYgY2hpbGROb2RlLmRhdGEpIHtcbiAgICAgIGRhdGEgPSBtZXJnZUNsYXNzRGF0YShjaGlsZE5vZGUuZGF0YSwgZGF0YSk7XG4gICAgfVxuICB9XG4gIHdoaWxlIChpc0RlZihwYXJlbnROb2RlID0gcGFyZW50Tm9kZS5wYXJlbnQpKSB7XG4gICAgaWYgKHBhcmVudE5vZGUgJiYgcGFyZW50Tm9kZS5kYXRhKSB7XG4gICAgICBkYXRhID0gbWVyZ2VDbGFzc0RhdGEoZGF0YSwgcGFyZW50Tm9kZS5kYXRhKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlbmRlckNsYXNzKGRhdGEuc3RhdGljQ2xhc3MsIGRhdGEuY2xhc3MpXG59XG5cbmZ1bmN0aW9uIG1lcmdlQ2xhc3NEYXRhIChjaGlsZCwgcGFyZW50KSB7XG4gIHJldHVybiB7XG4gICAgc3RhdGljQ2xhc3M6IGNvbmNhdChjaGlsZC5zdGF0aWNDbGFzcywgcGFyZW50LnN0YXRpY0NsYXNzKSxcbiAgICBjbGFzczogaXNEZWYoY2hpbGQuY2xhc3MpXG4gICAgICA/IFtjaGlsZC5jbGFzcywgcGFyZW50LmNsYXNzXVxuICAgICAgOiBwYXJlbnQuY2xhc3NcbiAgfVxufVxuXG5mdW5jdGlvbiByZW5kZXJDbGFzcyAoXG4gIHN0YXRpY0NsYXNzLFxuICBkeW5hbWljQ2xhc3Ncbikge1xuICBpZiAoaXNEZWYoc3RhdGljQ2xhc3MpIHx8IGlzRGVmKGR5bmFtaWNDbGFzcykpIHtcbiAgICByZXR1cm4gY29uY2F0KHN0YXRpY0NsYXNzLCBzdHJpbmdpZnlDbGFzcyhkeW5hbWljQ2xhc3MpKVxuICB9XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHJldHVybiAnJ1xufVxuXG5mdW5jdGlvbiBjb25jYXQgKGEsIGIpIHtcbiAgcmV0dXJuIGEgPyBiID8gKGEgKyAnICcgKyBiKSA6IGEgOiAoYiB8fCAnJylcbn1cblxuZnVuY3Rpb24gc3RyaW5naWZ5Q2xhc3MgKHZhbHVlKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIHJldHVybiBzdHJpbmdpZnlBcnJheSh2YWx1ZSlcbiAgfVxuICBpZiAoaXNPYmplY3QodmFsdWUpKSB7XG4gICAgcmV0dXJuIHN0cmluZ2lmeU9iamVjdCh2YWx1ZSlcbiAgfVxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB2YWx1ZVxuICB9XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHJldHVybiAnJ1xufVxuXG5mdW5jdGlvbiBzdHJpbmdpZnlBcnJheSAodmFsdWUpIHtcbiAgdmFyIHJlcyA9ICcnO1xuICB2YXIgc3RyaW5naWZpZWQ7XG4gIGZvciAodmFyIGkgPSAwLCBsID0gdmFsdWUubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgaWYgKGlzRGVmKHN0cmluZ2lmaWVkID0gc3RyaW5naWZ5Q2xhc3ModmFsdWVbaV0pKSAmJiBzdHJpbmdpZmllZCAhPT0gJycpIHtcbiAgICAgIGlmIChyZXMpIHsgcmVzICs9ICcgJzsgfVxuICAgICAgcmVzICs9IHN0cmluZ2lmaWVkO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeU9iamVjdCAodmFsdWUpIHtcbiAgdmFyIHJlcyA9ICcnO1xuICBmb3IgKHZhciBrZXkgaW4gdmFsdWUpIHtcbiAgICBpZiAodmFsdWVba2V5XSkge1xuICAgICAgaWYgKHJlcykgeyByZXMgKz0gJyAnOyB9XG4gICAgICByZXMgKz0ga2V5O1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbi8qICAqL1xuXG52YXIgbmFtZXNwYWNlTWFwID0ge1xuICBzdmc6ICdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsXG4gIG1hdGg6ICdodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MJ1xufTtcblxudmFyIGlzSFRNTFRhZyA9IG1ha2VNYXAoXG4gICdodG1sLGJvZHksYmFzZSxoZWFkLGxpbmssbWV0YSxzdHlsZSx0aXRsZSwnICtcbiAgJ2FkZHJlc3MsYXJ0aWNsZSxhc2lkZSxmb290ZXIsaGVhZGVyLGgxLGgyLGgzLGg0LGg1LGg2LGhncm91cCxuYXYsc2VjdGlvbiwnICtcbiAgJ2RpdixkZCxkbCxkdCxmaWdjYXB0aW9uLGZpZ3VyZSxwaWN0dXJlLGhyLGltZyxsaSxtYWluLG9sLHAscHJlLHVsLCcgK1xuICAnYSxiLGFiYnIsYmRpLGJkbyxicixjaXRlLGNvZGUsZGF0YSxkZm4sZW0saSxrYmQsbWFyayxxLHJwLHJ0LHJ0YyxydWJ5LCcgK1xuICAncyxzYW1wLHNtYWxsLHNwYW4sc3Ryb25nLHN1YixzdXAsdGltZSx1LHZhcix3YnIsYXJlYSxhdWRpbyxtYXAsdHJhY2ssdmlkZW8sJyArXG4gICdlbWJlZCxvYmplY3QscGFyYW0sc291cmNlLGNhbnZhcyxzY3JpcHQsbm9zY3JpcHQsZGVsLGlucywnICtcbiAgJ2NhcHRpb24sY29sLGNvbGdyb3VwLHRhYmxlLHRoZWFkLHRib2R5LHRkLHRoLHRyLCcgK1xuICAnYnV0dG9uLGRhdGFsaXN0LGZpZWxkc2V0LGZvcm0saW5wdXQsbGFiZWwsbGVnZW5kLG1ldGVyLG9wdGdyb3VwLG9wdGlvbiwnICtcbiAgJ291dHB1dCxwcm9ncmVzcyxzZWxlY3QsdGV4dGFyZWEsJyArXG4gICdkZXRhaWxzLGRpYWxvZyxtZW51LG1lbnVpdGVtLHN1bW1hcnksJyArXG4gICdjb250ZW50LGVsZW1lbnQsc2hhZG93LHRlbXBsYXRlLGJsb2NrcXVvdGUsaWZyYW1lLHRmb290J1xuKTtcblxuLy8gdGhpcyBtYXAgaXMgaW50ZW50aW9uYWxseSBzZWxlY3RpdmUsIG9ubHkgY292ZXJpbmcgU1ZHIGVsZW1lbnRzIHRoYXQgbWF5XG4vLyBjb250YWluIGNoaWxkIGVsZW1lbnRzLlxudmFyIGlzU1ZHID0gbWFrZU1hcChcbiAgJ3N2ZyxhbmltYXRlLGNpcmNsZSxjbGlwcGF0aCxjdXJzb3IsZGVmcyxkZXNjLGVsbGlwc2UsZmlsdGVyLGZvbnQtZmFjZSwnICtcbiAgJ2ZvcmVpZ25PYmplY3QsZyxnbHlwaCxpbWFnZSxsaW5lLG1hcmtlcixtYXNrLG1pc3NpbmctZ2x5cGgscGF0aCxwYXR0ZXJuLCcgK1xuICAncG9seWdvbixwb2x5bGluZSxyZWN0LHN3aXRjaCxzeW1ib2wsdGV4dCx0ZXh0cGF0aCx0c3Bhbix1c2UsdmlldycsXG4gIHRydWVcbik7XG5cbnZhciBpc1ByZVRhZyA9IGZ1bmN0aW9uICh0YWcpIHsgcmV0dXJuIHRhZyA9PT0gJ3ByZSc7IH07XG5cbnZhciBpc1Jlc2VydmVkVGFnID0gZnVuY3Rpb24gKHRhZykge1xuICByZXR1cm4gaXNIVE1MVGFnKHRhZykgfHwgaXNTVkcodGFnKVxufTtcblxuZnVuY3Rpb24gZ2V0VGFnTmFtZXNwYWNlICh0YWcpIHtcbiAgaWYgKGlzU1ZHKHRhZykpIHtcbiAgICByZXR1cm4gJ3N2ZydcbiAgfVxuICAvLyBiYXNpYyBzdXBwb3J0IGZvciBNYXRoTUxcbiAgLy8gbm90ZSBpdCBkb2Vzbid0IHN1cHBvcnQgb3RoZXIgTWF0aE1MIGVsZW1lbnRzIGJlaW5nIGNvbXBvbmVudCByb290c1xuICBpZiAodGFnID09PSAnbWF0aCcpIHtcbiAgICByZXR1cm4gJ21hdGgnXG4gIH1cbn1cblxudmFyIHVua25vd25FbGVtZW50Q2FjaGUgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuZnVuY3Rpb24gaXNVbmtub3duRWxlbWVudCAodGFnKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoIWluQnJvd3Nlcikge1xuICAgIHJldHVybiB0cnVlXG4gIH1cbiAgaWYgKGlzUmVzZXJ2ZWRUYWcodGFnKSkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIHRhZyA9IHRhZy50b0xvd2VyQ2FzZSgpO1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKHVua25vd25FbGVtZW50Q2FjaGVbdGFnXSAhPSBudWxsKSB7XG4gICAgcmV0dXJuIHVua25vd25FbGVtZW50Q2FjaGVbdGFnXVxuICB9XG4gIHZhciBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnKTtcbiAgaWYgKHRhZy5pbmRleE9mKCctJykgPiAtMSkge1xuICAgIC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzI4MjEwMzY0LzEwNzAyNDRcbiAgICByZXR1cm4gKHVua25vd25FbGVtZW50Q2FjaGVbdGFnXSA9IChcbiAgICAgIGVsLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuSFRNTFVua25vd25FbGVtZW50IHx8XG4gICAgICBlbC5jb25zdHJ1Y3RvciA9PT0gd2luZG93LkhUTUxFbGVtZW50XG4gICAgKSlcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gKHVua25vd25FbGVtZW50Q2FjaGVbdGFnXSA9IC9IVE1MVW5rbm93bkVsZW1lbnQvLnRlc3QoZWwudG9TdHJpbmcoKSkpXG4gIH1cbn1cblxudmFyIGlzVGV4dElucHV0VHlwZSA9IG1ha2VNYXAoJ3RleHQsbnVtYmVyLHBhc3N3b3JkLHNlYXJjaCxlbWFpbCx0ZWwsdXJsJyk7XG5cbi8qICAqL1xuXG4vKipcbiAqIFF1ZXJ5IGFuIGVsZW1lbnQgc2VsZWN0b3IgaWYgaXQncyBub3QgYW4gZWxlbWVudCBhbHJlYWR5LlxuICovXG5mdW5jdGlvbiBxdWVyeSAoZWwpIHtcbiAgaWYgKHR5cGVvZiBlbCA9PT0gJ3N0cmluZycpIHtcbiAgICB2YXIgc2VsZWN0ZWQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGVsKTtcbiAgICBpZiAoIXNlbGVjdGVkKSB7XG4gICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4oXG4gICAgICAgICdDYW5ub3QgZmluZCBlbGVtZW50OiAnICsgZWxcbiAgICAgICk7XG4gICAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JylcbiAgICB9XG4gICAgcmV0dXJuIHNlbGVjdGVkXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGVsXG4gIH1cbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQkMSAodGFnTmFtZSwgdm5vZGUpIHtcbiAgdmFyIGVsbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7XG4gIGlmICh0YWdOYW1lICE9PSAnc2VsZWN0Jykge1xuICAgIHJldHVybiBlbG1cbiAgfVxuICAvLyBmYWxzZSBvciBudWxsIHdpbGwgcmVtb3ZlIHRoZSBhdHRyaWJ1dGUgYnV0IHVuZGVmaW5lZCB3aWxsIG5vdFxuICBpZiAodm5vZGUuZGF0YSAmJiB2bm9kZS5kYXRhLmF0dHJzICYmIHZub2RlLmRhdGEuYXR0cnMubXVsdGlwbGUgIT09IHVuZGVmaW5lZCkge1xuICAgIGVsbS5zZXRBdHRyaWJ1dGUoJ211bHRpcGxlJywgJ211bHRpcGxlJyk7XG4gIH1cbiAgcmV0dXJuIGVsbVxufVxuXG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50TlMgKG5hbWVzcGFjZSwgdGFnTmFtZSkge1xuICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKG5hbWVzcGFjZU1hcFtuYW1lc3BhY2VdLCB0YWdOYW1lKVxufVxuXG5mdW5jdGlvbiBjcmVhdGVUZXh0Tm9kZSAodGV4dCkge1xuICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGV4dClcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ29tbWVudCAodGV4dCkge1xuICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudCh0ZXh0KVxufVxuXG5mdW5jdGlvbiBpbnNlcnRCZWZvcmUgKHBhcmVudE5vZGUsIG5ld05vZGUsIHJlZmVyZW5jZU5vZGUpIHtcbiAgcGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobmV3Tm9kZSwgcmVmZXJlbmNlTm9kZSk7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZUNoaWxkIChub2RlLCBjaGlsZCkge1xuICBub2RlLnJlbW92ZUNoaWxkKGNoaWxkKTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kQ2hpbGQgKG5vZGUsIGNoaWxkKSB7XG4gIG5vZGUuYXBwZW5kQ2hpbGQoY2hpbGQpO1xufVxuXG5mdW5jdGlvbiBwYXJlbnROb2RlIChub2RlKSB7XG4gIHJldHVybiBub2RlLnBhcmVudE5vZGVcbn1cblxuZnVuY3Rpb24gbmV4dFNpYmxpbmcgKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUubmV4dFNpYmxpbmdcbn1cblxuZnVuY3Rpb24gdGFnTmFtZSAobm9kZSkge1xuICByZXR1cm4gbm9kZS50YWdOYW1lXG59XG5cbmZ1bmN0aW9uIHNldFRleHRDb250ZW50IChub2RlLCB0ZXh0KSB7XG4gIG5vZGUudGV4dENvbnRlbnQgPSB0ZXh0O1xufVxuXG5mdW5jdGlvbiBzZXRTdHlsZVNjb3BlIChub2RlLCBzY29wZUlkKSB7XG4gIG5vZGUuc2V0QXR0cmlidXRlKHNjb3BlSWQsICcnKTtcbn1cblxudmFyIG5vZGVPcHMgPSAvKiNfX1BVUkVfXyovT2JqZWN0LmZyZWV6ZSh7XG4gIGNyZWF0ZUVsZW1lbnQ6IGNyZWF0ZUVsZW1lbnQkMSxcbiAgY3JlYXRlRWxlbWVudE5TOiBjcmVhdGVFbGVtZW50TlMsXG4gIGNyZWF0ZVRleHROb2RlOiBjcmVhdGVUZXh0Tm9kZSxcbiAgY3JlYXRlQ29tbWVudDogY3JlYXRlQ29tbWVudCxcbiAgaW5zZXJ0QmVmb3JlOiBpbnNlcnRCZWZvcmUsXG4gIHJlbW92ZUNoaWxkOiByZW1vdmVDaGlsZCxcbiAgYXBwZW5kQ2hpbGQ6IGFwcGVuZENoaWxkLFxuICBwYXJlbnROb2RlOiBwYXJlbnROb2RlLFxuICBuZXh0U2libGluZzogbmV4dFNpYmxpbmcsXG4gIHRhZ05hbWU6IHRhZ05hbWUsXG4gIHNldFRleHRDb250ZW50OiBzZXRUZXh0Q29udGVudCxcbiAgc2V0U3R5bGVTY29wZTogc2V0U3R5bGVTY29wZVxufSk7XG5cbi8qICAqL1xuXG52YXIgcmVmID0ge1xuICBjcmVhdGU6IGZ1bmN0aW9uIGNyZWF0ZSAoXywgdm5vZGUpIHtcbiAgICByZWdpc3RlclJlZih2bm9kZSk7XG4gIH0sXG4gIHVwZGF0ZTogZnVuY3Rpb24gdXBkYXRlIChvbGRWbm9kZSwgdm5vZGUpIHtcbiAgICBpZiAob2xkVm5vZGUuZGF0YS5yZWYgIT09IHZub2RlLmRhdGEucmVmKSB7XG4gICAgICByZWdpc3RlclJlZihvbGRWbm9kZSwgdHJ1ZSk7XG4gICAgICByZWdpc3RlclJlZih2bm9kZSk7XG4gICAgfVxuICB9LFxuICBkZXN0cm95OiBmdW5jdGlvbiBkZXN0cm95ICh2bm9kZSkge1xuICAgIHJlZ2lzdGVyUmVmKHZub2RlLCB0cnVlKTtcbiAgfVxufTtcblxuZnVuY3Rpb24gcmVnaXN0ZXJSZWYgKHZub2RlLCBpc1JlbW92YWwpIHtcbiAgdmFyIGtleSA9IHZub2RlLmRhdGEucmVmO1xuICBpZiAoIWlzRGVmKGtleSkpIHsgcmV0dXJuIH1cblxuICB2YXIgdm0gPSB2bm9kZS5jb250ZXh0O1xuICB2YXIgcmVmID0gdm5vZGUuY29tcG9uZW50SW5zdGFuY2UgfHwgdm5vZGUuZWxtO1xuICB2YXIgcmVmcyA9IHZtLiRyZWZzO1xuICBpZiAoaXNSZW1vdmFsKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocmVmc1trZXldKSkge1xuICAgICAgcmVtb3ZlKHJlZnNba2V5XSwgcmVmKTtcbiAgICB9IGVsc2UgaWYgKHJlZnNba2V5XSA9PT0gcmVmKSB7XG4gICAgICByZWZzW2tleV0gPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmICh2bm9kZS5kYXRhLnJlZkluRm9yKSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkocmVmc1trZXldKSkge1xuICAgICAgICByZWZzW2tleV0gPSBbcmVmXTtcbiAgICAgIH0gZWxzZSBpZiAocmVmc1trZXldLmluZGV4T2YocmVmKSA8IDApIHtcbiAgICAgICAgLy8gJGZsb3ctZGlzYWJsZS1saW5lXG4gICAgICAgIHJlZnNba2V5XS5wdXNoKHJlZik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlZnNba2V5XSA9IHJlZjtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBWaXJ0dWFsIERPTSBwYXRjaGluZyBhbGdvcml0aG0gYmFzZWQgb24gU25hYmJkb20gYnlcbiAqIFNpbW9uIEZyaWlzIFZpbmR1bSAoQHBhbGRlcGluZClcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxuICogaHR0cHM6Ly9naXRodWIuY29tL3BhbGRlcGluZC9zbmFiYmRvbS9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKlxuICogbW9kaWZpZWQgYnkgRXZhbiBZb3UgKEB5eXg5OTA4MDMpXG4gKlxuICogTm90IHR5cGUtY2hlY2tpbmcgdGhpcyBiZWNhdXNlIHRoaXMgZmlsZSBpcyBwZXJmLWNyaXRpY2FsIGFuZCB0aGUgY29zdFxuICogb2YgbWFraW5nIGZsb3cgdW5kZXJzdGFuZCBpdCBpcyBub3Qgd29ydGggaXQuXG4gKi9cblxudmFyIGVtcHR5Tm9kZSA9IG5ldyBWTm9kZSgnJywge30sIFtdKTtcblxudmFyIGhvb2tzID0gWydjcmVhdGUnLCAnYWN0aXZhdGUnLCAndXBkYXRlJywgJ3JlbW92ZScsICdkZXN0cm95J107XG5cbmZ1bmN0aW9uIHNhbWVWbm9kZSAoYSwgYikge1xuICByZXR1cm4gKFxuICAgIGEua2V5ID09PSBiLmtleSAmJiAoXG4gICAgICAoXG4gICAgICAgIGEudGFnID09PSBiLnRhZyAmJlxuICAgICAgICBhLmlzQ29tbWVudCA9PT0gYi5pc0NvbW1lbnQgJiZcbiAgICAgICAgaXNEZWYoYS5kYXRhKSA9PT0gaXNEZWYoYi5kYXRhKSAmJlxuICAgICAgICBzYW1lSW5wdXRUeXBlKGEsIGIpXG4gICAgICApIHx8IChcbiAgICAgICAgaXNUcnVlKGEuaXNBc3luY1BsYWNlaG9sZGVyKSAmJlxuICAgICAgICBhLmFzeW5jRmFjdG9yeSA9PT0gYi5hc3luY0ZhY3RvcnkgJiZcbiAgICAgICAgaXNVbmRlZihiLmFzeW5jRmFjdG9yeS5lcnJvcilcbiAgICAgIClcbiAgICApXG4gIClcbn1cblxuZnVuY3Rpb24gc2FtZUlucHV0VHlwZSAoYSwgYikge1xuICBpZiAoYS50YWcgIT09ICdpbnB1dCcpIHsgcmV0dXJuIHRydWUgfVxuICB2YXIgaTtcbiAgdmFyIHR5cGVBID0gaXNEZWYoaSA9IGEuZGF0YSkgJiYgaXNEZWYoaSA9IGkuYXR0cnMpICYmIGkudHlwZTtcbiAgdmFyIHR5cGVCID0gaXNEZWYoaSA9IGIuZGF0YSkgJiYgaXNEZWYoaSA9IGkuYXR0cnMpICYmIGkudHlwZTtcbiAgcmV0dXJuIHR5cGVBID09PSB0eXBlQiB8fCBpc1RleHRJbnB1dFR5cGUodHlwZUEpICYmIGlzVGV4dElucHV0VHlwZSh0eXBlQilcbn1cblxuZnVuY3Rpb24gY3JlYXRlS2V5VG9PbGRJZHggKGNoaWxkcmVuLCBiZWdpbklkeCwgZW5kSWR4KSB7XG4gIHZhciBpLCBrZXk7XG4gIHZhciBtYXAgPSB7fTtcbiAgZm9yIChpID0gYmVnaW5JZHg7IGkgPD0gZW5kSWR4OyArK2kpIHtcbiAgICBrZXkgPSBjaGlsZHJlbltpXS5rZXk7XG4gICAgaWYgKGlzRGVmKGtleSkpIHsgbWFwW2tleV0gPSBpOyB9XG4gIH1cbiAgcmV0dXJuIG1hcFxufVxuXG5mdW5jdGlvbiBjcmVhdGVQYXRjaEZ1bmN0aW9uIChiYWNrZW5kKSB7XG4gIHZhciBpLCBqO1xuICB2YXIgY2JzID0ge307XG5cbiAgdmFyIG1vZHVsZXMgPSBiYWNrZW5kLm1vZHVsZXM7XG4gIHZhciBub2RlT3BzID0gYmFja2VuZC5ub2RlT3BzO1xuXG4gIGZvciAoaSA9IDA7IGkgPCBob29rcy5sZW5ndGg7ICsraSkge1xuICAgIGNic1tob29rc1tpXV0gPSBbXTtcbiAgICBmb3IgKGogPSAwOyBqIDwgbW9kdWxlcy5sZW5ndGg7ICsraikge1xuICAgICAgaWYgKGlzRGVmKG1vZHVsZXNbal1baG9va3NbaV1dKSkge1xuICAgICAgICBjYnNbaG9va3NbaV1dLnB1c2gobW9kdWxlc1tqXVtob29rc1tpXV0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGVtcHR5Tm9kZUF0IChlbG0pIHtcbiAgICByZXR1cm4gbmV3IFZOb2RlKG5vZGVPcHMudGFnTmFtZShlbG0pLnRvTG93ZXJDYXNlKCksIHt9LCBbXSwgdW5kZWZpbmVkLCBlbG0pXG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVSbUNiIChjaGlsZEVsbSwgbGlzdGVuZXJzKSB7XG4gICAgZnVuY3Rpb24gcmVtb3ZlJCQxICgpIHtcbiAgICAgIGlmICgtLXJlbW92ZSQkMS5saXN0ZW5lcnMgPT09IDApIHtcbiAgICAgICAgcmVtb3ZlTm9kZShjaGlsZEVsbSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJlbW92ZSQkMS5saXN0ZW5lcnMgPSBsaXN0ZW5lcnM7XG4gICAgcmV0dXJuIHJlbW92ZSQkMVxuICB9XG5cbiAgZnVuY3Rpb24gcmVtb3ZlTm9kZSAoZWwpIHtcbiAgICB2YXIgcGFyZW50ID0gbm9kZU9wcy5wYXJlbnROb2RlKGVsKTtcbiAgICAvLyBlbGVtZW50IG1heSBoYXZlIGFscmVhZHkgYmVlbiByZW1vdmVkIGR1ZSB0byB2LWh0bWwgLyB2LXRleHRcbiAgICBpZiAoaXNEZWYocGFyZW50KSkge1xuICAgICAgbm9kZU9wcy5yZW1vdmVDaGlsZChwYXJlbnQsIGVsKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBpc1Vua25vd25FbGVtZW50JCQxICh2bm9kZSwgaW5WUHJlKSB7XG4gICAgcmV0dXJuIChcbiAgICAgICFpblZQcmUgJiZcbiAgICAgICF2bm9kZS5ucyAmJlxuICAgICAgIShcbiAgICAgICAgY29uZmlnLmlnbm9yZWRFbGVtZW50cy5sZW5ndGggJiZcbiAgICAgICAgY29uZmlnLmlnbm9yZWRFbGVtZW50cy5zb21lKGZ1bmN0aW9uIChpZ25vcmUpIHtcbiAgICAgICAgICByZXR1cm4gaXNSZWdFeHAoaWdub3JlKVxuICAgICAgICAgICAgPyBpZ25vcmUudGVzdCh2bm9kZS50YWcpXG4gICAgICAgICAgICA6IGlnbm9yZSA9PT0gdm5vZGUudGFnXG4gICAgICAgIH0pXG4gICAgICApICYmXG4gICAgICBjb25maWcuaXNVbmtub3duRWxlbWVudCh2bm9kZS50YWcpXG4gICAgKVxuICB9XG5cbiAgdmFyIGNyZWF0aW5nRWxtSW5WUHJlID0gMDtcblxuICBmdW5jdGlvbiBjcmVhdGVFbG0gKFxuICAgIHZub2RlLFxuICAgIGluc2VydGVkVm5vZGVRdWV1ZSxcbiAgICBwYXJlbnRFbG0sXG4gICAgcmVmRWxtLFxuICAgIG5lc3RlZCxcbiAgICBvd25lckFycmF5LFxuICAgIGluZGV4XG4gICkge1xuICAgIGlmIChpc0RlZih2bm9kZS5lbG0pICYmIGlzRGVmKG93bmVyQXJyYXkpKSB7XG4gICAgICAvLyBUaGlzIHZub2RlIHdhcyB1c2VkIGluIGEgcHJldmlvdXMgcmVuZGVyIVxuICAgICAgLy8gbm93IGl0J3MgdXNlZCBhcyBhIG5ldyBub2RlLCBvdmVyd3JpdGluZyBpdHMgZWxtIHdvdWxkIGNhdXNlXG4gICAgICAvLyBwb3RlbnRpYWwgcGF0Y2ggZXJyb3JzIGRvd24gdGhlIHJvYWQgd2hlbiBpdCdzIHVzZWQgYXMgYW4gaW5zZXJ0aW9uXG4gICAgICAvLyByZWZlcmVuY2Ugbm9kZS4gSW5zdGVhZCwgd2UgY2xvbmUgdGhlIG5vZGUgb24tZGVtYW5kIGJlZm9yZSBjcmVhdGluZ1xuICAgICAgLy8gYXNzb2NpYXRlZCBET00gZWxlbWVudCBmb3IgaXQuXG4gICAgICB2bm9kZSA9IG93bmVyQXJyYXlbaW5kZXhdID0gY2xvbmVWTm9kZSh2bm9kZSk7XG4gICAgfVxuXG4gICAgdm5vZGUuaXNSb290SW5zZXJ0ID0gIW5lc3RlZDsgLy8gZm9yIHRyYW5zaXRpb24gZW50ZXIgY2hlY2tcbiAgICBpZiAoY3JlYXRlQ29tcG9uZW50KHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIHBhcmVudEVsbSwgcmVmRWxtKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdmFyIGRhdGEgPSB2bm9kZS5kYXRhO1xuICAgIHZhciBjaGlsZHJlbiA9IHZub2RlLmNoaWxkcmVuO1xuICAgIHZhciB0YWcgPSB2bm9kZS50YWc7XG4gICAgaWYgKGlzRGVmKHRhZykpIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIGlmIChkYXRhICYmIGRhdGEucHJlKSB7XG4gICAgICAgICAgY3JlYXRpbmdFbG1JblZQcmUrKztcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNVbmtub3duRWxlbWVudCQkMSh2bm9kZSwgY3JlYXRpbmdFbG1JblZQcmUpKSB7XG4gICAgICAgICAgd2FybihcbiAgICAgICAgICAgICdVbmtub3duIGN1c3RvbSBlbGVtZW50OiA8JyArIHRhZyArICc+IC0gZGlkIHlvdSAnICtcbiAgICAgICAgICAgICdyZWdpc3RlciB0aGUgY29tcG9uZW50IGNvcnJlY3RseT8gRm9yIHJlY3Vyc2l2ZSBjb21wb25lbnRzLCAnICtcbiAgICAgICAgICAgICdtYWtlIHN1cmUgdG8gcHJvdmlkZSB0aGUgXCJuYW1lXCIgb3B0aW9uLicsXG4gICAgICAgICAgICB2bm9kZS5jb250ZXh0XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB2bm9kZS5lbG0gPSB2bm9kZS5uc1xuICAgICAgICA/IG5vZGVPcHMuY3JlYXRlRWxlbWVudE5TKHZub2RlLm5zLCB0YWcpXG4gICAgICAgIDogbm9kZU9wcy5jcmVhdGVFbGVtZW50KHRhZywgdm5vZGUpO1xuICAgICAgc2V0U2NvcGUodm5vZGUpO1xuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIHtcbiAgICAgICAgY3JlYXRlQ2hpbGRyZW4odm5vZGUsIGNoaWxkcmVuLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICBpZiAoaXNEZWYoZGF0YSkpIHtcbiAgICAgICAgICBpbnZva2VDcmVhdGVIb29rcyh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgfVxuICAgICAgICBpbnNlcnQocGFyZW50RWxtLCB2bm9kZS5lbG0sIHJlZkVsbSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGRhdGEgJiYgZGF0YS5wcmUpIHtcbiAgICAgICAgY3JlYXRpbmdFbG1JblZQcmUtLTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGlzVHJ1ZSh2bm9kZS5pc0NvbW1lbnQpKSB7XG4gICAgICB2bm9kZS5lbG0gPSBub2RlT3BzLmNyZWF0ZUNvbW1lbnQodm5vZGUudGV4dCk7XG4gICAgICBpbnNlcnQocGFyZW50RWxtLCB2bm9kZS5lbG0sIHJlZkVsbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZub2RlLmVsbSA9IG5vZGVPcHMuY3JlYXRlVGV4dE5vZGUodm5vZGUudGV4dCk7XG4gICAgICBpbnNlcnQocGFyZW50RWxtLCB2bm9kZS5lbG0sIHJlZkVsbSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlQ29tcG9uZW50ICh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIHJlZkVsbSkge1xuICAgIHZhciBpID0gdm5vZGUuZGF0YTtcbiAgICBpZiAoaXNEZWYoaSkpIHtcbiAgICAgIHZhciBpc1JlYWN0aXZhdGVkID0gaXNEZWYodm5vZGUuY29tcG9uZW50SW5zdGFuY2UpICYmIGkua2VlcEFsaXZlO1xuICAgICAgaWYgKGlzRGVmKGkgPSBpLmhvb2spICYmIGlzRGVmKGkgPSBpLmluaXQpKSB7XG4gICAgICAgIGkodm5vZGUsIGZhbHNlIC8qIGh5ZHJhdGluZyAqLyk7XG4gICAgICB9XG4gICAgICAvLyBhZnRlciBjYWxsaW5nIHRoZSBpbml0IGhvb2ssIGlmIHRoZSB2bm9kZSBpcyBhIGNoaWxkIGNvbXBvbmVudFxuICAgICAgLy8gaXQgc2hvdWxkJ3ZlIGNyZWF0ZWQgYSBjaGlsZCBpbnN0YW5jZSBhbmQgbW91bnRlZCBpdC4gdGhlIGNoaWxkXG4gICAgICAvLyBjb21wb25lbnQgYWxzbyBoYXMgc2V0IHRoZSBwbGFjZWhvbGRlciB2bm9kZSdzIGVsbS5cbiAgICAgIC8vIGluIHRoYXQgY2FzZSB3ZSBjYW4ganVzdCByZXR1cm4gdGhlIGVsZW1lbnQgYW5kIGJlIGRvbmUuXG4gICAgICBpZiAoaXNEZWYodm5vZGUuY29tcG9uZW50SW5zdGFuY2UpKSB7XG4gICAgICAgIGluaXRDb21wb25lbnQodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgICAgIGluc2VydChwYXJlbnRFbG0sIHZub2RlLmVsbSwgcmVmRWxtKTtcbiAgICAgICAgaWYgKGlzVHJ1ZShpc1JlYWN0aXZhdGVkKSkge1xuICAgICAgICAgIHJlYWN0aXZhdGVDb21wb25lbnQodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCByZWZFbG0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gaW5pdENvbXBvbmVudCAodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSkge1xuICAgIGlmIChpc0RlZih2bm9kZS5kYXRhLnBlbmRpbmdJbnNlcnQpKSB7XG4gICAgICBpbnNlcnRlZFZub2RlUXVldWUucHVzaC5hcHBseShpbnNlcnRlZFZub2RlUXVldWUsIHZub2RlLmRhdGEucGVuZGluZ0luc2VydCk7XG4gICAgICB2bm9kZS5kYXRhLnBlbmRpbmdJbnNlcnQgPSBudWxsO1xuICAgIH1cbiAgICB2bm9kZS5lbG0gPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZS4kZWw7XG4gICAgaWYgKGlzUGF0Y2hhYmxlKHZub2RlKSkge1xuICAgICAgaW52b2tlQ3JlYXRlSG9va3Modm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgICBzZXRTY29wZSh2bm9kZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGVtcHR5IGNvbXBvbmVudCByb290LlxuICAgICAgLy8gc2tpcCBhbGwgZWxlbWVudC1yZWxhdGVkIG1vZHVsZXMgZXhjZXB0IGZvciByZWYgKCMzNDU1KVxuICAgICAgcmVnaXN0ZXJSZWYodm5vZGUpO1xuICAgICAgLy8gbWFrZSBzdXJlIHRvIGludm9rZSB0aGUgaW5zZXJ0IGhvb2tcbiAgICAgIGluc2VydGVkVm5vZGVRdWV1ZS5wdXNoKHZub2RlKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiByZWFjdGl2YXRlQ29tcG9uZW50ICh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIHJlZkVsbSkge1xuICAgIHZhciBpO1xuICAgIC8vIGhhY2sgZm9yICM0MzM5OiBhIHJlYWN0aXZhdGVkIGNvbXBvbmVudCB3aXRoIGlubmVyIHRyYW5zaXRpb25cbiAgICAvLyBkb2VzIG5vdCB0cmlnZ2VyIGJlY2F1c2UgdGhlIGlubmVyIG5vZGUncyBjcmVhdGVkIGhvb2tzIGFyZSBub3QgY2FsbGVkXG4gICAgLy8gYWdhaW4uIEl0J3Mgbm90IGlkZWFsIHRvIGludm9sdmUgbW9kdWxlLXNwZWNpZmljIGxvZ2ljIGluIGhlcmUgYnV0XG4gICAgLy8gdGhlcmUgZG9lc24ndCBzZWVtIHRvIGJlIGEgYmV0dGVyIHdheSB0byBkbyBpdC5cbiAgICB2YXIgaW5uZXJOb2RlID0gdm5vZGU7XG4gICAgd2hpbGUgKGlubmVyTm9kZS5jb21wb25lbnRJbnN0YW5jZSkge1xuICAgICAgaW5uZXJOb2RlID0gaW5uZXJOb2RlLmNvbXBvbmVudEluc3RhbmNlLl92bm9kZTtcbiAgICAgIGlmIChpc0RlZihpID0gaW5uZXJOb2RlLmRhdGEpICYmIGlzRGVmKGkgPSBpLnRyYW5zaXRpb24pKSB7XG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCBjYnMuYWN0aXZhdGUubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICBjYnMuYWN0aXZhdGVbaV0oZW1wdHlOb2RlLCBpbm5lck5vZGUpO1xuICAgICAgICB9XG4gICAgICAgIGluc2VydGVkVm5vZGVRdWV1ZS5wdXNoKGlubmVyTm9kZSk7XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICAgIC8vIHVubGlrZSBhIG5ld2x5IGNyZWF0ZWQgY29tcG9uZW50LFxuICAgIC8vIGEgcmVhY3RpdmF0ZWQga2VlcC1hbGl2ZSBjb21wb25lbnQgZG9lc24ndCBpbnNlcnQgaXRzZWxmXG4gICAgaW5zZXJ0KHBhcmVudEVsbSwgdm5vZGUuZWxtLCByZWZFbG0pO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5zZXJ0IChwYXJlbnQsIGVsbSwgcmVmJCQxKSB7XG4gICAgaWYgKGlzRGVmKHBhcmVudCkpIHtcbiAgICAgIGlmIChpc0RlZihyZWYkJDEpKSB7XG4gICAgICAgIGlmIChub2RlT3BzLnBhcmVudE5vZGUocmVmJCQxKSA9PT0gcGFyZW50KSB7XG4gICAgICAgICAgbm9kZU9wcy5pbnNlcnRCZWZvcmUocGFyZW50LCBlbG0sIHJlZiQkMSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vZGVPcHMuYXBwZW5kQ2hpbGQocGFyZW50LCBlbG0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZUNoaWxkcmVuICh2bm9kZSwgY2hpbGRyZW4sIGluc2VydGVkVm5vZGVRdWV1ZSkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgY2hlY2tEdXBsaWNhdGVLZXlzKGNoaWxkcmVuKTtcbiAgICAgIH1cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgY3JlYXRlRWxtKGNoaWxkcmVuW2ldLCBpbnNlcnRlZFZub2RlUXVldWUsIHZub2RlLmVsbSwgbnVsbCwgdHJ1ZSwgY2hpbGRyZW4sIGkpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNQcmltaXRpdmUodm5vZGUudGV4dCkpIHtcbiAgICAgIG5vZGVPcHMuYXBwZW5kQ2hpbGQodm5vZGUuZWxtLCBub2RlT3BzLmNyZWF0ZVRleHROb2RlKFN0cmluZyh2bm9kZS50ZXh0KSkpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGlzUGF0Y2hhYmxlICh2bm9kZSkge1xuICAgIHdoaWxlICh2bm9kZS5jb21wb25lbnRJbnN0YW5jZSkge1xuICAgICAgdm5vZGUgPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGU7XG4gICAgfVxuICAgIHJldHVybiBpc0RlZih2bm9kZS50YWcpXG4gIH1cblxuICBmdW5jdGlvbiBpbnZva2VDcmVhdGVIb29rcyAodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSkge1xuICAgIGZvciAodmFyIGkkMSA9IDA7IGkkMSA8IGNicy5jcmVhdGUubGVuZ3RoOyArK2kkMSkge1xuICAgICAgY2JzLmNyZWF0ZVtpJDFdKGVtcHR5Tm9kZSwgdm5vZGUpO1xuICAgIH1cbiAgICBpID0gdm5vZGUuZGF0YS5ob29rOyAvLyBSZXVzZSB2YXJpYWJsZVxuICAgIGlmIChpc0RlZihpKSkge1xuICAgICAgaWYgKGlzRGVmKGkuY3JlYXRlKSkgeyBpLmNyZWF0ZShlbXB0eU5vZGUsIHZub2RlKTsgfVxuICAgICAgaWYgKGlzRGVmKGkuaW5zZXJ0KSkgeyBpbnNlcnRlZFZub2RlUXVldWUucHVzaCh2bm9kZSk7IH1cbiAgICB9XG4gIH1cblxuICAvLyBzZXQgc2NvcGUgaWQgYXR0cmlidXRlIGZvciBzY29wZWQgQ1NTLlxuICAvLyB0aGlzIGlzIGltcGxlbWVudGVkIGFzIGEgc3BlY2lhbCBjYXNlIHRvIGF2b2lkIHRoZSBvdmVyaGVhZFxuICAvLyBvZiBnb2luZyB0aHJvdWdoIHRoZSBub3JtYWwgYXR0cmlidXRlIHBhdGNoaW5nIHByb2Nlc3MuXG4gIGZ1bmN0aW9uIHNldFNjb3BlICh2bm9kZSkge1xuICAgIHZhciBpO1xuICAgIGlmIChpc0RlZihpID0gdm5vZGUuZm5TY29wZUlkKSkge1xuICAgICAgbm9kZU9wcy5zZXRTdHlsZVNjb3BlKHZub2RlLmVsbSwgaSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBhbmNlc3RvciA9IHZub2RlO1xuICAgICAgd2hpbGUgKGFuY2VzdG9yKSB7XG4gICAgICAgIGlmIChpc0RlZihpID0gYW5jZXN0b3IuY29udGV4dCkgJiYgaXNEZWYoaSA9IGkuJG9wdGlvbnMuX3Njb3BlSWQpKSB7XG4gICAgICAgICAgbm9kZU9wcy5zZXRTdHlsZVNjb3BlKHZub2RlLmVsbSwgaSk7XG4gICAgICAgIH1cbiAgICAgICAgYW5jZXN0b3IgPSBhbmNlc3Rvci5wYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIGZvciBzbG90IGNvbnRlbnQgdGhleSBzaG91bGQgYWxzbyBnZXQgdGhlIHNjb3BlSWQgZnJvbSB0aGUgaG9zdCBpbnN0YW5jZS5cbiAgICBpZiAoaXNEZWYoaSA9IGFjdGl2ZUluc3RhbmNlKSAmJlxuICAgICAgaSAhPT0gdm5vZGUuY29udGV4dCAmJlxuICAgICAgaSAhPT0gdm5vZGUuZm5Db250ZXh0ICYmXG4gICAgICBpc0RlZihpID0gaS4kb3B0aW9ucy5fc2NvcGVJZClcbiAgICApIHtcbiAgICAgIG5vZGVPcHMuc2V0U3R5bGVTY29wZSh2bm9kZS5lbG0sIGkpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGFkZFZub2RlcyAocGFyZW50RWxtLCByZWZFbG0sIHZub2Rlcywgc3RhcnRJZHgsIGVuZElkeCwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKSB7XG4gICAgZm9yICg7IHN0YXJ0SWR4IDw9IGVuZElkeDsgKytzdGFydElkeCkge1xuICAgICAgY3JlYXRlRWxtKHZub2Rlc1tzdGFydElkeF0sIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCByZWZFbG0sIGZhbHNlLCB2bm9kZXMsIHN0YXJ0SWR4KTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBpbnZva2VEZXN0cm95SG9vayAodm5vZGUpIHtcbiAgICB2YXIgaSwgajtcbiAgICB2YXIgZGF0YSA9IHZub2RlLmRhdGE7XG4gICAgaWYgKGlzRGVmKGRhdGEpKSB7XG4gICAgICBpZiAoaXNEZWYoaSA9IGRhdGEuaG9vaykgJiYgaXNEZWYoaSA9IGkuZGVzdHJveSkpIHsgaSh2bm9kZSk7IH1cbiAgICAgIGZvciAoaSA9IDA7IGkgPCBjYnMuZGVzdHJveS5sZW5ndGg7ICsraSkgeyBjYnMuZGVzdHJveVtpXSh2bm9kZSk7IH1cbiAgICB9XG4gICAgaWYgKGlzRGVmKGkgPSB2bm9kZS5jaGlsZHJlbikpIHtcbiAgICAgIGZvciAoaiA9IDA7IGogPCB2bm9kZS5jaGlsZHJlbi5sZW5ndGg7ICsraikge1xuICAgICAgICBpbnZva2VEZXN0cm95SG9vayh2bm9kZS5jaGlsZHJlbltqXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gcmVtb3ZlVm5vZGVzIChwYXJlbnRFbG0sIHZub2Rlcywgc3RhcnRJZHgsIGVuZElkeCkge1xuICAgIGZvciAoOyBzdGFydElkeCA8PSBlbmRJZHg7ICsrc3RhcnRJZHgpIHtcbiAgICAgIHZhciBjaCA9IHZub2Rlc1tzdGFydElkeF07XG4gICAgICBpZiAoaXNEZWYoY2gpKSB7XG4gICAgICAgIGlmIChpc0RlZihjaC50YWcpKSB7XG4gICAgICAgICAgcmVtb3ZlQW5kSW52b2tlUmVtb3ZlSG9vayhjaCk7XG4gICAgICAgICAgaW52b2tlRGVzdHJveUhvb2soY2gpO1xuICAgICAgICB9IGVsc2UgeyAvLyBUZXh0IG5vZGVcbiAgICAgICAgICByZW1vdmVOb2RlKGNoLmVsbSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiByZW1vdmVBbmRJbnZva2VSZW1vdmVIb29rICh2bm9kZSwgcm0pIHtcbiAgICBpZiAoaXNEZWYocm0pIHx8IGlzRGVmKHZub2RlLmRhdGEpKSB7XG4gICAgICB2YXIgaTtcbiAgICAgIHZhciBsaXN0ZW5lcnMgPSBjYnMucmVtb3ZlLmxlbmd0aCArIDE7XG4gICAgICBpZiAoaXNEZWYocm0pKSB7XG4gICAgICAgIC8vIHdlIGhhdmUgYSByZWN1cnNpdmVseSBwYXNzZWQgZG93biBybSBjYWxsYmFja1xuICAgICAgICAvLyBpbmNyZWFzZSB0aGUgbGlzdGVuZXJzIGNvdW50XG4gICAgICAgIHJtLmxpc3RlbmVycyArPSBsaXN0ZW5lcnM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBkaXJlY3RseSByZW1vdmluZ1xuICAgICAgICBybSA9IGNyZWF0ZVJtQ2Iodm5vZGUuZWxtLCBsaXN0ZW5lcnMpO1xuICAgICAgfVxuICAgICAgLy8gcmVjdXJzaXZlbHkgaW52b2tlIGhvb2tzIG9uIGNoaWxkIGNvbXBvbmVudCByb290IG5vZGVcbiAgICAgIGlmIChpc0RlZihpID0gdm5vZGUuY29tcG9uZW50SW5zdGFuY2UpICYmIGlzRGVmKGkgPSBpLl92bm9kZSkgJiYgaXNEZWYoaS5kYXRhKSkge1xuICAgICAgICByZW1vdmVBbmRJbnZva2VSZW1vdmVIb29rKGksIHJtKTtcbiAgICAgIH1cbiAgICAgIGZvciAoaSA9IDA7IGkgPCBjYnMucmVtb3ZlLmxlbmd0aDsgKytpKSB7XG4gICAgICAgIGNicy5yZW1vdmVbaV0odm5vZGUsIHJtKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc0RlZihpID0gdm5vZGUuZGF0YS5ob29rKSAmJiBpc0RlZihpID0gaS5yZW1vdmUpKSB7XG4gICAgICAgIGkodm5vZGUsIHJtKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJtKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlbW92ZU5vZGUodm5vZGUuZWxtKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiB1cGRhdGVDaGlsZHJlbiAocGFyZW50RWxtLCBvbGRDaCwgbmV3Q2gsIGluc2VydGVkVm5vZGVRdWV1ZSwgcmVtb3ZlT25seSkge1xuICAgIHZhciBvbGRTdGFydElkeCA9IDA7XG4gICAgdmFyIG5ld1N0YXJ0SWR4ID0gMDtcbiAgICB2YXIgb2xkRW5kSWR4ID0gb2xkQ2gubGVuZ3RoIC0gMTtcbiAgICB2YXIgb2xkU3RhcnRWbm9kZSA9IG9sZENoWzBdO1xuICAgIHZhciBvbGRFbmRWbm9kZSA9IG9sZENoW29sZEVuZElkeF07XG4gICAgdmFyIG5ld0VuZElkeCA9IG5ld0NoLmxlbmd0aCAtIDE7XG4gICAgdmFyIG5ld1N0YXJ0Vm5vZGUgPSBuZXdDaFswXTtcbiAgICB2YXIgbmV3RW5kVm5vZGUgPSBuZXdDaFtuZXdFbmRJZHhdO1xuICAgIHZhciBvbGRLZXlUb0lkeCwgaWR4SW5PbGQsIHZub2RlVG9Nb3ZlLCByZWZFbG07XG5cbiAgICAvLyByZW1vdmVPbmx5IGlzIGEgc3BlY2lhbCBmbGFnIHVzZWQgb25seSBieSA8dHJhbnNpdGlvbi1ncm91cD5cbiAgICAvLyB0byBlbnN1cmUgcmVtb3ZlZCBlbGVtZW50cyBzdGF5IGluIGNvcnJlY3QgcmVsYXRpdmUgcG9zaXRpb25zXG4gICAgLy8gZHVyaW5nIGxlYXZpbmcgdHJhbnNpdGlvbnNcbiAgICB2YXIgY2FuTW92ZSA9ICFyZW1vdmVPbmx5O1xuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIGNoZWNrRHVwbGljYXRlS2V5cyhuZXdDaCk7XG4gICAgfVxuXG4gICAgd2hpbGUgKG9sZFN0YXJ0SWR4IDw9IG9sZEVuZElkeCAmJiBuZXdTdGFydElkeCA8PSBuZXdFbmRJZHgpIHtcbiAgICAgIGlmIChpc1VuZGVmKG9sZFN0YXJ0Vm5vZGUpKSB7XG4gICAgICAgIG9sZFN0YXJ0Vm5vZGUgPSBvbGRDaFsrK29sZFN0YXJ0SWR4XTsgLy8gVm5vZGUgaGFzIGJlZW4gbW92ZWQgbGVmdFxuICAgICAgfSBlbHNlIGlmIChpc1VuZGVmKG9sZEVuZFZub2RlKSkge1xuICAgICAgICBvbGRFbmRWbm9kZSA9IG9sZENoWy0tb2xkRW5kSWR4XTtcbiAgICAgIH0gZWxzZSBpZiAoc2FtZVZub2RlKG9sZFN0YXJ0Vm5vZGUsIG5ld1N0YXJ0Vm5vZGUpKSB7XG4gICAgICAgIHBhdGNoVm5vZGUob2xkU3RhcnRWbm9kZSwgbmV3U3RhcnRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBuZXdDaCwgbmV3U3RhcnRJZHgpO1xuICAgICAgICBvbGRTdGFydFZub2RlID0gb2xkQ2hbKytvbGRTdGFydElkeF07XG4gICAgICAgIG5ld1N0YXJ0Vm5vZGUgPSBuZXdDaFsrK25ld1N0YXJ0SWR4XTtcbiAgICAgIH0gZWxzZSBpZiAoc2FtZVZub2RlKG9sZEVuZFZub2RlLCBuZXdFbmRWbm9kZSkpIHtcbiAgICAgICAgcGF0Y2hWbm9kZShvbGRFbmRWbm9kZSwgbmV3RW5kVm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgbmV3Q2gsIG5ld0VuZElkeCk7XG4gICAgICAgIG9sZEVuZFZub2RlID0gb2xkQ2hbLS1vbGRFbmRJZHhdO1xuICAgICAgICBuZXdFbmRWbm9kZSA9IG5ld0NoWy0tbmV3RW5kSWR4XTtcbiAgICAgIH0gZWxzZSBpZiAoc2FtZVZub2RlKG9sZFN0YXJ0Vm5vZGUsIG5ld0VuZFZub2RlKSkgeyAvLyBWbm9kZSBtb3ZlZCByaWdodFxuICAgICAgICBwYXRjaFZub2RlKG9sZFN0YXJ0Vm5vZGUsIG5ld0VuZFZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIG5ld0NoLCBuZXdFbmRJZHgpO1xuICAgICAgICBjYW5Nb3ZlICYmIG5vZGVPcHMuaW5zZXJ0QmVmb3JlKHBhcmVudEVsbSwgb2xkU3RhcnRWbm9kZS5lbG0sIG5vZGVPcHMubmV4dFNpYmxpbmcob2xkRW5kVm5vZGUuZWxtKSk7XG4gICAgICAgIG9sZFN0YXJ0Vm5vZGUgPSBvbGRDaFsrK29sZFN0YXJ0SWR4XTtcbiAgICAgICAgbmV3RW5kVm5vZGUgPSBuZXdDaFstLW5ld0VuZElkeF07XG4gICAgICB9IGVsc2UgaWYgKHNhbWVWbm9kZShvbGRFbmRWbm9kZSwgbmV3U3RhcnRWbm9kZSkpIHsgLy8gVm5vZGUgbW92ZWQgbGVmdFxuICAgICAgICBwYXRjaFZub2RlKG9sZEVuZFZub2RlLCBuZXdTdGFydFZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIG5ld0NoLCBuZXdTdGFydElkeCk7XG4gICAgICAgIGNhbk1vdmUgJiYgbm9kZU9wcy5pbnNlcnRCZWZvcmUocGFyZW50RWxtLCBvbGRFbmRWbm9kZS5lbG0sIG9sZFN0YXJ0Vm5vZGUuZWxtKTtcbiAgICAgICAgb2xkRW5kVm5vZGUgPSBvbGRDaFstLW9sZEVuZElkeF07XG4gICAgICAgIG5ld1N0YXJ0Vm5vZGUgPSBuZXdDaFsrK25ld1N0YXJ0SWR4XTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChpc1VuZGVmKG9sZEtleVRvSWR4KSkgeyBvbGRLZXlUb0lkeCA9IGNyZWF0ZUtleVRvT2xkSWR4KG9sZENoLCBvbGRTdGFydElkeCwgb2xkRW5kSWR4KTsgfVxuICAgICAgICBpZHhJbk9sZCA9IGlzRGVmKG5ld1N0YXJ0Vm5vZGUua2V5KVxuICAgICAgICAgID8gb2xkS2V5VG9JZHhbbmV3U3RhcnRWbm9kZS5rZXldXG4gICAgICAgICAgOiBmaW5kSWR4SW5PbGQobmV3U3RhcnRWbm9kZSwgb2xkQ2gsIG9sZFN0YXJ0SWR4LCBvbGRFbmRJZHgpO1xuICAgICAgICBpZiAoaXNVbmRlZihpZHhJbk9sZCkpIHsgLy8gTmV3IGVsZW1lbnRcbiAgICAgICAgICBjcmVhdGVFbG0obmV3U3RhcnRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIG9sZFN0YXJ0Vm5vZGUuZWxtLCBmYWxzZSwgbmV3Q2gsIG5ld1N0YXJ0SWR4KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2bm9kZVRvTW92ZSA9IG9sZENoW2lkeEluT2xkXTtcbiAgICAgICAgICBpZiAoc2FtZVZub2RlKHZub2RlVG9Nb3ZlLCBuZXdTdGFydFZub2RlKSkge1xuICAgICAgICAgICAgcGF0Y2hWbm9kZSh2bm9kZVRvTW92ZSwgbmV3U3RhcnRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBuZXdDaCwgbmV3U3RhcnRJZHgpO1xuICAgICAgICAgICAgb2xkQ2hbaWR4SW5PbGRdID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgY2FuTW92ZSAmJiBub2RlT3BzLmluc2VydEJlZm9yZShwYXJlbnRFbG0sIHZub2RlVG9Nb3ZlLmVsbSwgb2xkU3RhcnRWbm9kZS5lbG0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBzYW1lIGtleSBidXQgZGlmZmVyZW50IGVsZW1lbnQuIHRyZWF0IGFzIG5ldyBlbGVtZW50XG4gICAgICAgICAgICBjcmVhdGVFbG0obmV3U3RhcnRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIG9sZFN0YXJ0Vm5vZGUuZWxtLCBmYWxzZSwgbmV3Q2gsIG5ld1N0YXJ0SWR4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbmV3U3RhcnRWbm9kZSA9IG5ld0NoWysrbmV3U3RhcnRJZHhdO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAob2xkU3RhcnRJZHggPiBvbGRFbmRJZHgpIHtcbiAgICAgIHJlZkVsbSA9IGlzVW5kZWYobmV3Q2hbbmV3RW5kSWR4ICsgMV0pID8gbnVsbCA6IG5ld0NoW25ld0VuZElkeCArIDFdLmVsbTtcbiAgICAgIGFkZFZub2RlcyhwYXJlbnRFbG0sIHJlZkVsbSwgbmV3Q2gsIG5ld1N0YXJ0SWR4LCBuZXdFbmRJZHgsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgfSBlbHNlIGlmIChuZXdTdGFydElkeCA+IG5ld0VuZElkeCkge1xuICAgICAgcmVtb3ZlVm5vZGVzKHBhcmVudEVsbSwgb2xkQ2gsIG9sZFN0YXJ0SWR4LCBvbGRFbmRJZHgpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNoZWNrRHVwbGljYXRlS2V5cyAoY2hpbGRyZW4pIHtcbiAgICB2YXIgc2VlbktleXMgPSB7fTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgdm5vZGUgPSBjaGlsZHJlbltpXTtcbiAgICAgIHZhciBrZXkgPSB2bm9kZS5rZXk7XG4gICAgICBpZiAoaXNEZWYoa2V5KSkge1xuICAgICAgICBpZiAoc2VlbktleXNba2V5XSkge1xuICAgICAgICAgIHdhcm4oXG4gICAgICAgICAgICAoXCJEdXBsaWNhdGUga2V5cyBkZXRlY3RlZDogJ1wiICsga2V5ICsgXCInLiBUaGlzIG1heSBjYXVzZSBhbiB1cGRhdGUgZXJyb3IuXCIpLFxuICAgICAgICAgICAgdm5vZGUuY29udGV4dFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2VlbktleXNba2V5XSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBmaW5kSWR4SW5PbGQgKG5vZGUsIG9sZENoLCBzdGFydCwgZW5kKSB7XG4gICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgZW5kOyBpKyspIHtcbiAgICAgIHZhciBjID0gb2xkQ2hbaV07XG4gICAgICBpZiAoaXNEZWYoYykgJiYgc2FtZVZub2RlKG5vZGUsIGMpKSB7IHJldHVybiBpIH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBwYXRjaFZub2RlIChcbiAgICBvbGRWbm9kZSxcbiAgICB2bm9kZSxcbiAgICBpbnNlcnRlZFZub2RlUXVldWUsXG4gICAgb3duZXJBcnJheSxcbiAgICBpbmRleCxcbiAgICByZW1vdmVPbmx5XG4gICkge1xuICAgIGlmIChvbGRWbm9kZSA9PT0gdm5vZGUpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChpc0RlZih2bm9kZS5lbG0pICYmIGlzRGVmKG93bmVyQXJyYXkpKSB7XG4gICAgICAvLyBjbG9uZSByZXVzZWQgdm5vZGVcbiAgICAgIHZub2RlID0gb3duZXJBcnJheVtpbmRleF0gPSBjbG9uZVZOb2RlKHZub2RlKTtcbiAgICB9XG5cbiAgICB2YXIgZWxtID0gdm5vZGUuZWxtID0gb2xkVm5vZGUuZWxtO1xuXG4gICAgaWYgKGlzVHJ1ZShvbGRWbm9kZS5pc0FzeW5jUGxhY2Vob2xkZXIpKSB7XG4gICAgICBpZiAoaXNEZWYodm5vZGUuYXN5bmNGYWN0b3J5LnJlc29sdmVkKSkge1xuICAgICAgICBoeWRyYXRlKG9sZFZub2RlLmVsbSwgdm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2bm9kZS5pc0FzeW5jUGxhY2Vob2xkZXIgPSB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgLy8gcmV1c2UgZWxlbWVudCBmb3Igc3RhdGljIHRyZWVzLlxuICAgIC8vIG5vdGUgd2Ugb25seSBkbyB0aGlzIGlmIHRoZSB2bm9kZSBpcyBjbG9uZWQgLVxuICAgIC8vIGlmIHRoZSBuZXcgbm9kZSBpcyBub3QgY2xvbmVkIGl0IG1lYW5zIHRoZSByZW5kZXIgZnVuY3Rpb25zIGhhdmUgYmVlblxuICAgIC8vIHJlc2V0IGJ5IHRoZSBob3QtcmVsb2FkLWFwaSBhbmQgd2UgbmVlZCB0byBkbyBhIHByb3BlciByZS1yZW5kZXIuXG4gICAgaWYgKGlzVHJ1ZSh2bm9kZS5pc1N0YXRpYykgJiZcbiAgICAgIGlzVHJ1ZShvbGRWbm9kZS5pc1N0YXRpYykgJiZcbiAgICAgIHZub2RlLmtleSA9PT0gb2xkVm5vZGUua2V5ICYmXG4gICAgICAoaXNUcnVlKHZub2RlLmlzQ2xvbmVkKSB8fCBpc1RydWUodm5vZGUuaXNPbmNlKSlcbiAgICApIHtcbiAgICAgIHZub2RlLmNvbXBvbmVudEluc3RhbmNlID0gb2xkVm5vZGUuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB2YXIgaTtcbiAgICB2YXIgZGF0YSA9IHZub2RlLmRhdGE7XG4gICAgaWYgKGlzRGVmKGRhdGEpICYmIGlzRGVmKGkgPSBkYXRhLmhvb2spICYmIGlzRGVmKGkgPSBpLnByZXBhdGNoKSkge1xuICAgICAgaShvbGRWbm9kZSwgdm5vZGUpO1xuICAgIH1cblxuICAgIHZhciBvbGRDaCA9IG9sZFZub2RlLmNoaWxkcmVuO1xuICAgIHZhciBjaCA9IHZub2RlLmNoaWxkcmVuO1xuICAgIGlmIChpc0RlZihkYXRhKSAmJiBpc1BhdGNoYWJsZSh2bm9kZSkpIHtcbiAgICAgIGZvciAoaSA9IDA7IGkgPCBjYnMudXBkYXRlLmxlbmd0aDsgKytpKSB7IGNicy51cGRhdGVbaV0ob2xkVm5vZGUsIHZub2RlKTsgfVxuICAgICAgaWYgKGlzRGVmKGkgPSBkYXRhLmhvb2spICYmIGlzRGVmKGkgPSBpLnVwZGF0ZSkpIHsgaShvbGRWbm9kZSwgdm5vZGUpOyB9XG4gICAgfVxuICAgIGlmIChpc1VuZGVmKHZub2RlLnRleHQpKSB7XG4gICAgICBpZiAoaXNEZWYob2xkQ2gpICYmIGlzRGVmKGNoKSkge1xuICAgICAgICBpZiAob2xkQ2ggIT09IGNoKSB7IHVwZGF0ZUNoaWxkcmVuKGVsbSwgb2xkQ2gsIGNoLCBpbnNlcnRlZFZub2RlUXVldWUsIHJlbW92ZU9ubHkpOyB9XG4gICAgICB9IGVsc2UgaWYgKGlzRGVmKGNoKSkge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgIGNoZWNrRHVwbGljYXRlS2V5cyhjaCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzRGVmKG9sZFZub2RlLnRleHQpKSB7IG5vZGVPcHMuc2V0VGV4dENvbnRlbnQoZWxtLCAnJyk7IH1cbiAgICAgICAgYWRkVm5vZGVzKGVsbSwgbnVsbCwgY2gsIDAsIGNoLmxlbmd0aCAtIDEsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgICB9IGVsc2UgaWYgKGlzRGVmKG9sZENoKSkge1xuICAgICAgICByZW1vdmVWbm9kZXMoZWxtLCBvbGRDaCwgMCwgb2xkQ2gubGVuZ3RoIC0gMSk7XG4gICAgICB9IGVsc2UgaWYgKGlzRGVmKG9sZFZub2RlLnRleHQpKSB7XG4gICAgICAgIG5vZGVPcHMuc2V0VGV4dENvbnRlbnQoZWxtLCAnJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChvbGRWbm9kZS50ZXh0ICE9PSB2bm9kZS50ZXh0KSB7XG4gICAgICBub2RlT3BzLnNldFRleHRDb250ZW50KGVsbSwgdm5vZGUudGV4dCk7XG4gICAgfVxuICAgIGlmIChpc0RlZihkYXRhKSkge1xuICAgICAgaWYgKGlzRGVmKGkgPSBkYXRhLmhvb2spICYmIGlzRGVmKGkgPSBpLnBvc3RwYXRjaCkpIHsgaShvbGRWbm9kZSwgdm5vZGUpOyB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gaW52b2tlSW5zZXJ0SG9vayAodm5vZGUsIHF1ZXVlLCBpbml0aWFsKSB7XG4gICAgLy8gZGVsYXkgaW5zZXJ0IGhvb2tzIGZvciBjb21wb25lbnQgcm9vdCBub2RlcywgaW52b2tlIHRoZW0gYWZ0ZXIgdGhlXG4gICAgLy8gZWxlbWVudCBpcyByZWFsbHkgaW5zZXJ0ZWRcbiAgICBpZiAoaXNUcnVlKGluaXRpYWwpICYmIGlzRGVmKHZub2RlLnBhcmVudCkpIHtcbiAgICAgIHZub2RlLnBhcmVudC5kYXRhLnBlbmRpbmdJbnNlcnQgPSBxdWV1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBxdWV1ZS5sZW5ndGg7ICsraSkge1xuICAgICAgICBxdWV1ZVtpXS5kYXRhLmhvb2suaW5zZXJ0KHF1ZXVlW2ldKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgaHlkcmF0aW9uQmFpbGVkID0gZmFsc2U7XG4gIC8vIGxpc3Qgb2YgbW9kdWxlcyB0aGF0IGNhbiBza2lwIGNyZWF0ZSBob29rIGR1cmluZyBoeWRyYXRpb24gYmVjYXVzZSB0aGV5XG4gIC8vIGFyZSBhbHJlYWR5IHJlbmRlcmVkIG9uIHRoZSBjbGllbnQgb3IgaGFzIG5vIG5lZWQgZm9yIGluaXRpYWxpemF0aW9uXG4gIC8vIE5vdGU6IHN0eWxlIGlzIGV4Y2x1ZGVkIGJlY2F1c2UgaXQgcmVsaWVzIG9uIGluaXRpYWwgY2xvbmUgZm9yIGZ1dHVyZVxuICAvLyBkZWVwIHVwZGF0ZXMgKCM3MDYzKS5cbiAgdmFyIGlzUmVuZGVyZWRNb2R1bGUgPSBtYWtlTWFwKCdhdHRycyxjbGFzcyxzdGF0aWNDbGFzcyxzdGF0aWNTdHlsZSxrZXknKTtcblxuICAvLyBOb3RlOiB0aGlzIGlzIGEgYnJvd3Nlci1vbmx5IGZ1bmN0aW9uIHNvIHdlIGNhbiBhc3N1bWUgZWxtcyBhcmUgRE9NIG5vZGVzLlxuICBmdW5jdGlvbiBoeWRyYXRlIChlbG0sIHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIGluVlByZSkge1xuICAgIHZhciBpO1xuICAgIHZhciB0YWcgPSB2bm9kZS50YWc7XG4gICAgdmFyIGRhdGEgPSB2bm9kZS5kYXRhO1xuICAgIHZhciBjaGlsZHJlbiA9IHZub2RlLmNoaWxkcmVuO1xuICAgIGluVlByZSA9IGluVlByZSB8fCAoZGF0YSAmJiBkYXRhLnByZSk7XG4gICAgdm5vZGUuZWxtID0gZWxtO1xuXG4gICAgaWYgKGlzVHJ1ZSh2bm9kZS5pc0NvbW1lbnQpICYmIGlzRGVmKHZub2RlLmFzeW5jRmFjdG9yeSkpIHtcbiAgICAgIHZub2RlLmlzQXN5bmNQbGFjZWhvbGRlciA9IHRydWU7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICAvLyBhc3NlcnQgbm9kZSBtYXRjaFxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBpZiAoIWFzc2VydE5vZGVNYXRjaChlbG0sIHZub2RlLCBpblZQcmUpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaXNEZWYoZGF0YSkpIHtcbiAgICAgIGlmIChpc0RlZihpID0gZGF0YS5ob29rKSAmJiBpc0RlZihpID0gaS5pbml0KSkgeyBpKHZub2RlLCB0cnVlIC8qIGh5ZHJhdGluZyAqLyk7IH1cbiAgICAgIGlmIChpc0RlZihpID0gdm5vZGUuY29tcG9uZW50SW5zdGFuY2UpKSB7XG4gICAgICAgIC8vIGNoaWxkIGNvbXBvbmVudC4gaXQgc2hvdWxkIGhhdmUgaHlkcmF0ZWQgaXRzIG93biB0cmVlLlxuICAgICAgICBpbml0Q29tcG9uZW50KHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaXNEZWYodGFnKSkge1xuICAgICAgaWYgKGlzRGVmKGNoaWxkcmVuKSkge1xuICAgICAgICAvLyBlbXB0eSBlbGVtZW50LCBhbGxvdyBjbGllbnQgdG8gcGljayB1cCBhbmQgcG9wdWxhdGUgY2hpbGRyZW5cbiAgICAgICAgaWYgKCFlbG0uaGFzQ2hpbGROb2RlcygpKSB7XG4gICAgICAgICAgY3JlYXRlQ2hpbGRyZW4odm5vZGUsIGNoaWxkcmVuLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIHYtaHRtbCBhbmQgZG9tUHJvcHM6IGlubmVySFRNTFxuICAgICAgICAgIGlmIChpc0RlZihpID0gZGF0YSkgJiYgaXNEZWYoaSA9IGkuZG9tUHJvcHMpICYmIGlzRGVmKGkgPSBpLmlubmVySFRNTCkpIHtcbiAgICAgICAgICAgIGlmIChpICE9PSBlbG0uaW5uZXJIVE1MKSB7XG4gICAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgICAgICAgICAgIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgICAgICAgICAgICFoeWRyYXRpb25CYWlsZWRcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgaHlkcmF0aW9uQmFpbGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ1BhcmVudDogJywgZWxtKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ3NlcnZlciBpbm5lckhUTUw6ICcsIGkpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignY2xpZW50IGlubmVySFRNTDogJywgZWxtLmlubmVySFRNTCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIGl0ZXJhdGUgYW5kIGNvbXBhcmUgY2hpbGRyZW4gbGlzdHNcbiAgICAgICAgICAgIHZhciBjaGlsZHJlbk1hdGNoID0gdHJ1ZTtcbiAgICAgICAgICAgIHZhciBjaGlsZE5vZGUgPSBlbG0uZmlyc3RDaGlsZDtcbiAgICAgICAgICAgIGZvciAodmFyIGkkMSA9IDA7IGkkMSA8IGNoaWxkcmVuLmxlbmd0aDsgaSQxKyspIHtcbiAgICAgICAgICAgICAgaWYgKCFjaGlsZE5vZGUgfHwgIWh5ZHJhdGUoY2hpbGROb2RlLCBjaGlsZHJlbltpJDFdLCBpbnNlcnRlZFZub2RlUXVldWUsIGluVlByZSkpIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbk1hdGNoID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjaGlsZE5vZGUgPSBjaGlsZE5vZGUubmV4dFNpYmxpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBpZiBjaGlsZE5vZGUgaXMgbm90IG51bGwsIGl0IG1lYW5zIHRoZSBhY3R1YWwgY2hpbGROb2RlcyBsaXN0IGlzXG4gICAgICAgICAgICAvLyBsb25nZXIgdGhhbiB0aGUgdmlydHVhbCBjaGlsZHJlbiBsaXN0LlxuICAgICAgICAgICAgaWYgKCFjaGlsZHJlbk1hdGNoIHx8IGNoaWxkTm9kZSkge1xuICAgICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgICAgICB0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgICAgICAgICAhaHlkcmF0aW9uQmFpbGVkXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGh5ZHJhdGlvbkJhaWxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdQYXJlbnQ6ICcsIGVsbSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdNaXNtYXRjaGluZyBjaGlsZE5vZGVzIHZzLiBWTm9kZXM6ICcsIGVsbS5jaGlsZE5vZGVzLCBjaGlsZHJlbik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoaXNEZWYoZGF0YSkpIHtcbiAgICAgICAgdmFyIGZ1bGxJbnZva2UgPSBmYWxzZTtcbiAgICAgICAgZm9yICh2YXIga2V5IGluIGRhdGEpIHtcbiAgICAgICAgICBpZiAoIWlzUmVuZGVyZWRNb2R1bGUoa2V5KSkge1xuICAgICAgICAgICAgZnVsbEludm9rZSA9IHRydWU7XG4gICAgICAgICAgICBpbnZva2VDcmVhdGVIb29rcyh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghZnVsbEludm9rZSAmJiBkYXRhWydjbGFzcyddKSB7XG4gICAgICAgICAgLy8gZW5zdXJlIGNvbGxlY3RpbmcgZGVwcyBmb3IgZGVlcCBjbGFzcyBiaW5kaW5ncyBmb3IgZnV0dXJlIHVwZGF0ZXNcbiAgICAgICAgICB0cmF2ZXJzZShkYXRhWydjbGFzcyddKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZWxtLmRhdGEgIT09IHZub2RlLnRleHQpIHtcbiAgICAgIGVsbS5kYXRhID0gdm5vZGUudGV4dDtcbiAgICB9XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIGZ1bmN0aW9uIGFzc2VydE5vZGVNYXRjaCAobm9kZSwgdm5vZGUsIGluVlByZSkge1xuICAgIGlmIChpc0RlZih2bm9kZS50YWcpKSB7XG4gICAgICByZXR1cm4gdm5vZGUudGFnLmluZGV4T2YoJ3Z1ZS1jb21wb25lbnQnKSA9PT0gMCB8fCAoXG4gICAgICAgICFpc1Vua25vd25FbGVtZW50JCQxKHZub2RlLCBpblZQcmUpICYmXG4gICAgICAgIHZub2RlLnRhZy50b0xvd2VyQ2FzZSgpID09PSAobm9kZS50YWdOYW1lICYmIG5vZGUudGFnTmFtZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbm9kZS5ub2RlVHlwZSA9PT0gKHZub2RlLmlzQ29tbWVudCA/IDggOiAzKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmdW5jdGlvbiBwYXRjaCAob2xkVm5vZGUsIHZub2RlLCBoeWRyYXRpbmcsIHJlbW92ZU9ubHkpIHtcbiAgICBpZiAoaXNVbmRlZih2bm9kZSkpIHtcbiAgICAgIGlmIChpc0RlZihvbGRWbm9kZSkpIHsgaW52b2tlRGVzdHJveUhvb2sob2xkVm5vZGUpOyB9XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB2YXIgaXNJbml0aWFsUGF0Y2ggPSBmYWxzZTtcbiAgICB2YXIgaW5zZXJ0ZWRWbm9kZVF1ZXVlID0gW107XG5cbiAgICBpZiAoaXNVbmRlZihvbGRWbm9kZSkpIHtcbiAgICAgIC8vIGVtcHR5IG1vdW50IChsaWtlbHkgYXMgY29tcG9uZW50KSwgY3JlYXRlIG5ldyByb290IGVsZW1lbnRcbiAgICAgIGlzSW5pdGlhbFBhdGNoID0gdHJ1ZTtcbiAgICAgIGNyZWF0ZUVsbSh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGlzUmVhbEVsZW1lbnQgPSBpc0RlZihvbGRWbm9kZS5ub2RlVHlwZSk7XG4gICAgICBpZiAoIWlzUmVhbEVsZW1lbnQgJiYgc2FtZVZub2RlKG9sZFZub2RlLCB2bm9kZSkpIHtcbiAgICAgICAgLy8gcGF0Y2ggZXhpc3Rpbmcgcm9vdCBub2RlXG4gICAgICAgIHBhdGNoVm5vZGUob2xkVm5vZGUsIHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIG51bGwsIG51bGwsIHJlbW92ZU9ubHkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGlzUmVhbEVsZW1lbnQpIHtcbiAgICAgICAgICAvLyBtb3VudGluZyB0byBhIHJlYWwgZWxlbWVudFxuICAgICAgICAgIC8vIGNoZWNrIGlmIHRoaXMgaXMgc2VydmVyLXJlbmRlcmVkIGNvbnRlbnQgYW5kIGlmIHdlIGNhbiBwZXJmb3JtXG4gICAgICAgICAgLy8gYSBzdWNjZXNzZnVsIGh5ZHJhdGlvbi5cbiAgICAgICAgICBpZiAob2xkVm5vZGUubm9kZVR5cGUgPT09IDEgJiYgb2xkVm5vZGUuaGFzQXR0cmlidXRlKFNTUl9BVFRSKSkge1xuICAgICAgICAgICAgb2xkVm5vZGUucmVtb3ZlQXR0cmlidXRlKFNTUl9BVFRSKTtcbiAgICAgICAgICAgIGh5ZHJhdGluZyA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpc1RydWUoaHlkcmF0aW5nKSkge1xuICAgICAgICAgICAgaWYgKGh5ZHJhdGUob2xkVm5vZGUsIHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpKSB7XG4gICAgICAgICAgICAgIGludm9rZUluc2VydEhvb2sodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgIHJldHVybiBvbGRWbm9kZVxuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgIHdhcm4oXG4gICAgICAgICAgICAgICAgJ1RoZSBjbGllbnQtc2lkZSByZW5kZXJlZCB2aXJ0dWFsIERPTSB0cmVlIGlzIG5vdCBtYXRjaGluZyAnICtcbiAgICAgICAgICAgICAgICAnc2VydmVyLXJlbmRlcmVkIGNvbnRlbnQuIFRoaXMgaXMgbGlrZWx5IGNhdXNlZCBieSBpbmNvcnJlY3QgJyArXG4gICAgICAgICAgICAgICAgJ0hUTUwgbWFya3VwLCBmb3IgZXhhbXBsZSBuZXN0aW5nIGJsb2NrLWxldmVsIGVsZW1lbnRzIGluc2lkZSAnICtcbiAgICAgICAgICAgICAgICAnPHA+LCBvciBtaXNzaW5nIDx0Ym9keT4uIEJhaWxpbmcgaHlkcmF0aW9uIGFuZCBwZXJmb3JtaW5nICcgK1xuICAgICAgICAgICAgICAgICdmdWxsIGNsaWVudC1zaWRlIHJlbmRlci4nXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIGVpdGhlciBub3Qgc2VydmVyLXJlbmRlcmVkLCBvciBoeWRyYXRpb24gZmFpbGVkLlxuICAgICAgICAgIC8vIGNyZWF0ZSBhbiBlbXB0eSBub2RlIGFuZCByZXBsYWNlIGl0XG4gICAgICAgICAgb2xkVm5vZGUgPSBlbXB0eU5vZGVBdChvbGRWbm9kZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyByZXBsYWNpbmcgZXhpc3RpbmcgZWxlbWVudFxuICAgICAgICB2YXIgb2xkRWxtID0gb2xkVm5vZGUuZWxtO1xuICAgICAgICB2YXIgcGFyZW50RWxtID0gbm9kZU9wcy5wYXJlbnROb2RlKG9sZEVsbSk7XG5cbiAgICAgICAgLy8gY3JlYXRlIG5ldyBub2RlXG4gICAgICAgIGNyZWF0ZUVsbShcbiAgICAgICAgICB2bm9kZSxcbiAgICAgICAgICBpbnNlcnRlZFZub2RlUXVldWUsXG4gICAgICAgICAgLy8gZXh0cmVtZWx5IHJhcmUgZWRnZSBjYXNlOiBkbyBub3QgaW5zZXJ0IGlmIG9sZCBlbGVtZW50IGlzIGluIGFcbiAgICAgICAgICAvLyBsZWF2aW5nIHRyYW5zaXRpb24uIE9ubHkgaGFwcGVucyB3aGVuIGNvbWJpbmluZyB0cmFuc2l0aW9uICtcbiAgICAgICAgICAvLyBrZWVwLWFsaXZlICsgSE9Dcy4gKCM0NTkwKVxuICAgICAgICAgIG9sZEVsbS5fbGVhdmVDYiA/IG51bGwgOiBwYXJlbnRFbG0sXG4gICAgICAgICAgbm9kZU9wcy5uZXh0U2libGluZyhvbGRFbG0pXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gdXBkYXRlIHBhcmVudCBwbGFjZWhvbGRlciBub2RlIGVsZW1lbnQsIHJlY3Vyc2l2ZWx5XG4gICAgICAgIGlmIChpc0RlZih2bm9kZS5wYXJlbnQpKSB7XG4gICAgICAgICAgdmFyIGFuY2VzdG9yID0gdm5vZGUucGFyZW50O1xuICAgICAgICAgIHZhciBwYXRjaGFibGUgPSBpc1BhdGNoYWJsZSh2bm9kZSk7XG4gICAgICAgICAgd2hpbGUgKGFuY2VzdG9yKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNicy5kZXN0cm95Lmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgIGNicy5kZXN0cm95W2ldKGFuY2VzdG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFuY2VzdG9yLmVsbSA9IHZub2RlLmVsbTtcbiAgICAgICAgICAgIGlmIChwYXRjaGFibGUpIHtcbiAgICAgICAgICAgICAgZm9yICh2YXIgaSQxID0gMDsgaSQxIDwgY2JzLmNyZWF0ZS5sZW5ndGg7ICsraSQxKSB7XG4gICAgICAgICAgICAgICAgY2JzLmNyZWF0ZVtpJDFdKGVtcHR5Tm9kZSwgYW5jZXN0b3IpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vICM2NTEzXG4gICAgICAgICAgICAgIC8vIGludm9rZSBpbnNlcnQgaG9va3MgdGhhdCBtYXkgaGF2ZSBiZWVuIG1lcmdlZCBieSBjcmVhdGUgaG9va3MuXG4gICAgICAgICAgICAgIC8vIGUuZy4gZm9yIGRpcmVjdGl2ZXMgdGhhdCB1c2VzIHRoZSBcImluc2VydGVkXCIgaG9vay5cbiAgICAgICAgICAgICAgdmFyIGluc2VydCA9IGFuY2VzdG9yLmRhdGEuaG9vay5pbnNlcnQ7XG4gICAgICAgICAgICAgIGlmIChpbnNlcnQubWVyZ2VkKSB7XG4gICAgICAgICAgICAgICAgLy8gc3RhcnQgYXQgaW5kZXggMSB0byBhdm9pZCByZS1pbnZva2luZyBjb21wb25lbnQgbW91bnRlZCBob29rXG4gICAgICAgICAgICAgICAgZm9yICh2YXIgaSQyID0gMTsgaSQyIDwgaW5zZXJ0LmZucy5sZW5ndGg7IGkkMisrKSB7XG4gICAgICAgICAgICAgICAgICBpbnNlcnQuZm5zW2kkMl0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlZ2lzdGVyUmVmKGFuY2VzdG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFuY2VzdG9yID0gYW5jZXN0b3IucGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGRlc3Ryb3kgb2xkIG5vZGVcbiAgICAgICAgaWYgKGlzRGVmKHBhcmVudEVsbSkpIHtcbiAgICAgICAgICByZW1vdmVWbm9kZXMocGFyZW50RWxtLCBbb2xkVm5vZGVdLCAwLCAwKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0RlZihvbGRWbm9kZS50YWcpKSB7XG4gICAgICAgICAgaW52b2tlRGVzdHJveUhvb2sob2xkVm5vZGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW52b2tlSW5zZXJ0SG9vayh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBpc0luaXRpYWxQYXRjaCk7XG4gICAgcmV0dXJuIHZub2RlLmVsbVxuICB9XG59XG5cbi8qICAqL1xuXG52YXIgZGlyZWN0aXZlcyA9IHtcbiAgY3JlYXRlOiB1cGRhdGVEaXJlY3RpdmVzLFxuICB1cGRhdGU6IHVwZGF0ZURpcmVjdGl2ZXMsXG4gIGRlc3Ryb3k6IGZ1bmN0aW9uIHVuYmluZERpcmVjdGl2ZXMgKHZub2RlKSB7XG4gICAgdXBkYXRlRGlyZWN0aXZlcyh2bm9kZSwgZW1wdHlOb2RlKTtcbiAgfVxufTtcblxuZnVuY3Rpb24gdXBkYXRlRGlyZWN0aXZlcyAob2xkVm5vZGUsIHZub2RlKSB7XG4gIGlmIChvbGRWbm9kZS5kYXRhLmRpcmVjdGl2ZXMgfHwgdm5vZGUuZGF0YS5kaXJlY3RpdmVzKSB7XG4gICAgX3VwZGF0ZShvbGRWbm9kZSwgdm5vZGUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIF91cGRhdGUgKG9sZFZub2RlLCB2bm9kZSkge1xuICB2YXIgaXNDcmVhdGUgPSBvbGRWbm9kZSA9PT0gZW1wdHlOb2RlO1xuICB2YXIgaXNEZXN0cm95ID0gdm5vZGUgPT09IGVtcHR5Tm9kZTtcbiAgdmFyIG9sZERpcnMgPSBub3JtYWxpemVEaXJlY3RpdmVzJDEob2xkVm5vZGUuZGF0YS5kaXJlY3RpdmVzLCBvbGRWbm9kZS5jb250ZXh0KTtcbiAgdmFyIG5ld0RpcnMgPSBub3JtYWxpemVEaXJlY3RpdmVzJDEodm5vZGUuZGF0YS5kaXJlY3RpdmVzLCB2bm9kZS5jb250ZXh0KTtcblxuICB2YXIgZGlyc1dpdGhJbnNlcnQgPSBbXTtcbiAgdmFyIGRpcnNXaXRoUG9zdHBhdGNoID0gW107XG5cbiAgdmFyIGtleSwgb2xkRGlyLCBkaXI7XG4gIGZvciAoa2V5IGluIG5ld0RpcnMpIHtcbiAgICBvbGREaXIgPSBvbGREaXJzW2tleV07XG4gICAgZGlyID0gbmV3RGlyc1trZXldO1xuICAgIGlmICghb2xkRGlyKSB7XG4gICAgICAvLyBuZXcgZGlyZWN0aXZlLCBiaW5kXG4gICAgICBjYWxsSG9vayQxKGRpciwgJ2JpbmQnLCB2bm9kZSwgb2xkVm5vZGUpO1xuICAgICAgaWYgKGRpci5kZWYgJiYgZGlyLmRlZi5pbnNlcnRlZCkge1xuICAgICAgICBkaXJzV2l0aEluc2VydC5wdXNoKGRpcik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGV4aXN0aW5nIGRpcmVjdGl2ZSwgdXBkYXRlXG4gICAgICBkaXIub2xkVmFsdWUgPSBvbGREaXIudmFsdWU7XG4gICAgICBkaXIub2xkQXJnID0gb2xkRGlyLmFyZztcbiAgICAgIGNhbGxIb29rJDEoZGlyLCAndXBkYXRlJywgdm5vZGUsIG9sZFZub2RlKTtcbiAgICAgIGlmIChkaXIuZGVmICYmIGRpci5kZWYuY29tcG9uZW50VXBkYXRlZCkge1xuICAgICAgICBkaXJzV2l0aFBvc3RwYXRjaC5wdXNoKGRpcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKGRpcnNXaXRoSW5zZXJ0Lmxlbmd0aCkge1xuICAgIHZhciBjYWxsSW5zZXJ0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkaXJzV2l0aEluc2VydC5sZW5ndGg7IGkrKykge1xuICAgICAgICBjYWxsSG9vayQxKGRpcnNXaXRoSW5zZXJ0W2ldLCAnaW5zZXJ0ZWQnLCB2bm9kZSwgb2xkVm5vZGUpO1xuICAgICAgfVxuICAgIH07XG4gICAgaWYgKGlzQ3JlYXRlKSB7XG4gICAgICBtZXJnZVZOb2RlSG9vayh2bm9kZSwgJ2luc2VydCcsIGNhbGxJbnNlcnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjYWxsSW5zZXJ0KCk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGRpcnNXaXRoUG9zdHBhdGNoLmxlbmd0aCkge1xuICAgIG1lcmdlVk5vZGVIb29rKHZub2RlLCAncG9zdHBhdGNoJywgZnVuY3Rpb24gKCkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkaXJzV2l0aFBvc3RwYXRjaC5sZW5ndGg7IGkrKykge1xuICAgICAgICBjYWxsSG9vayQxKGRpcnNXaXRoUG9zdHBhdGNoW2ldLCAnY29tcG9uZW50VXBkYXRlZCcsIHZub2RlLCBvbGRWbm9kZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBpZiAoIWlzQ3JlYXRlKSB7XG4gICAgZm9yIChrZXkgaW4gb2xkRGlycykge1xuICAgICAgaWYgKCFuZXdEaXJzW2tleV0pIHtcbiAgICAgICAgLy8gbm8gbG9uZ2VyIHByZXNlbnQsIHVuYmluZFxuICAgICAgICBjYWxsSG9vayQxKG9sZERpcnNba2V5XSwgJ3VuYmluZCcsIG9sZFZub2RlLCBvbGRWbm9kZSwgaXNEZXN0cm95KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIGVtcHR5TW9kaWZpZXJzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcblxuZnVuY3Rpb24gbm9ybWFsaXplRGlyZWN0aXZlcyQxIChcbiAgZGlycyxcbiAgdm1cbikge1xuICB2YXIgcmVzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgaWYgKCFkaXJzKSB7XG4gICAgLy8gJGZsb3ctZGlzYWJsZS1saW5lXG4gICAgcmV0dXJuIHJlc1xuICB9XG4gIHZhciBpLCBkaXI7XG4gIGZvciAoaSA9IDA7IGkgPCBkaXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgZGlyID0gZGlyc1tpXTtcbiAgICBpZiAoIWRpci5tb2RpZmllcnMpIHtcbiAgICAgIC8vICRmbG93LWRpc2FibGUtbGluZVxuICAgICAgZGlyLm1vZGlmaWVycyA9IGVtcHR5TW9kaWZpZXJzO1xuICAgIH1cbiAgICByZXNbZ2V0UmF3RGlyTmFtZShkaXIpXSA9IGRpcjtcbiAgICBkaXIuZGVmID0gcmVzb2x2ZUFzc2V0KHZtLiRvcHRpb25zLCAnZGlyZWN0aXZlcycsIGRpci5uYW1lLCB0cnVlKTtcbiAgfVxuICAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbiAgcmV0dXJuIHJlc1xufVxuXG5mdW5jdGlvbiBnZXRSYXdEaXJOYW1lIChkaXIpIHtcbiAgcmV0dXJuIGRpci5yYXdOYW1lIHx8ICgoZGlyLm5hbWUpICsgXCIuXCIgKyAoT2JqZWN0LmtleXMoZGlyLm1vZGlmaWVycyB8fCB7fSkuam9pbignLicpKSlcbn1cblxuZnVuY3Rpb24gY2FsbEhvb2skMSAoZGlyLCBob29rLCB2bm9kZSwgb2xkVm5vZGUsIGlzRGVzdHJveSkge1xuICB2YXIgZm4gPSBkaXIuZGVmICYmIGRpci5kZWZbaG9va107XG4gIGlmIChmbikge1xuICAgIHRyeSB7XG4gICAgICBmbih2bm9kZS5lbG0sIGRpciwgdm5vZGUsIG9sZFZub2RlLCBpc0Rlc3Ryb3kpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGhhbmRsZUVycm9yKGUsIHZub2RlLmNvbnRleHQsIChcImRpcmVjdGl2ZSBcIiArIChkaXIubmFtZSkgKyBcIiBcIiArIGhvb2sgKyBcIiBob29rXCIpKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIGJhc2VNb2R1bGVzID0gW1xuICByZWYsXG4gIGRpcmVjdGl2ZXNcbl07XG5cbi8qICAqL1xuXG5mdW5jdGlvbiB1cGRhdGVBdHRycyAob2xkVm5vZGUsIHZub2RlKSB7XG4gIHZhciBvcHRzID0gdm5vZGUuY29tcG9uZW50T3B0aW9ucztcbiAgaWYgKGlzRGVmKG9wdHMpICYmIG9wdHMuQ3Rvci5vcHRpb25zLmluaGVyaXRBdHRycyA9PT0gZmFsc2UpIHtcbiAgICByZXR1cm5cbiAgfVxuICBpZiAoaXNVbmRlZihvbGRWbm9kZS5kYXRhLmF0dHJzKSAmJiBpc1VuZGVmKHZub2RlLmRhdGEuYXR0cnMpKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIGtleSwgY3VyLCBvbGQ7XG4gIHZhciBlbG0gPSB2bm9kZS5lbG07XG4gIHZhciBvbGRBdHRycyA9IG9sZFZub2RlLmRhdGEuYXR0cnMgfHwge307XG4gIHZhciBhdHRycyA9IHZub2RlLmRhdGEuYXR0cnMgfHwge307XG4gIC8vIGNsb25lIG9ic2VydmVkIG9iamVjdHMsIGFzIHRoZSB1c2VyIHByb2JhYmx5IHdhbnRzIHRvIG11dGF0ZSBpdFxuICBpZiAoaXNEZWYoYXR0cnMuX19vYl9fKSkge1xuICAgIGF0dHJzID0gdm5vZGUuZGF0YS5hdHRycyA9IGV4dGVuZCh7fSwgYXR0cnMpO1xuICB9XG5cbiAgZm9yIChrZXkgaW4gYXR0cnMpIHtcbiAgICBjdXIgPSBhdHRyc1trZXldO1xuICAgIG9sZCA9IG9sZEF0dHJzW2tleV07XG4gICAgaWYgKG9sZCAhPT0gY3VyKSB7XG4gICAgICBzZXRBdHRyKGVsbSwga2V5LCBjdXIpO1xuICAgIH1cbiAgfVxuICAvLyAjNDM5MTogaW4gSUU5LCBzZXR0aW5nIHR5cGUgY2FuIHJlc2V0IHZhbHVlIGZvciBpbnB1dFt0eXBlPXJhZGlvXVxuICAvLyAjNjY2NjogSUUvRWRnZSBmb3JjZXMgcHJvZ3Jlc3MgdmFsdWUgZG93biB0byAxIGJlZm9yZSBzZXR0aW5nIGEgbWF4XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoKGlzSUUgfHwgaXNFZGdlKSAmJiBhdHRycy52YWx1ZSAhPT0gb2xkQXR0cnMudmFsdWUpIHtcbiAgICBzZXRBdHRyKGVsbSwgJ3ZhbHVlJywgYXR0cnMudmFsdWUpO1xuICB9XG4gIGZvciAoa2V5IGluIG9sZEF0dHJzKSB7XG4gICAgaWYgKGlzVW5kZWYoYXR0cnNba2V5XSkpIHtcbiAgICAgIGlmIChpc1hsaW5rKGtleSkpIHtcbiAgICAgICAgZWxtLnJlbW92ZUF0dHJpYnV0ZU5TKHhsaW5rTlMsIGdldFhsaW5rUHJvcChrZXkpKTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzRW51bWVyYXRlZEF0dHIoa2V5KSkge1xuICAgICAgICBlbG0ucmVtb3ZlQXR0cmlidXRlKGtleSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHNldEF0dHIgKGVsLCBrZXksIHZhbHVlKSB7XG4gIGlmIChlbC50YWdOYW1lLmluZGV4T2YoJy0nKSA+IC0xKSB7XG4gICAgYmFzZVNldEF0dHIoZWwsIGtleSwgdmFsdWUpO1xuICB9IGVsc2UgaWYgKGlzQm9vbGVhbkF0dHIoa2V5KSkge1xuICAgIC8vIHNldCBhdHRyaWJ1dGUgZm9yIGJsYW5rIHZhbHVlXG4gICAgLy8gZS5nLiA8b3B0aW9uIGRpc2FibGVkPlNlbGVjdCBvbmU8L29wdGlvbj5cbiAgICBpZiAoaXNGYWxzeUF0dHJWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgIGVsLnJlbW92ZUF0dHJpYnV0ZShrZXkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB0ZWNobmljYWxseSBhbGxvd2Z1bGxzY3JlZW4gaXMgYSBib29sZWFuIGF0dHJpYnV0ZSBmb3IgPGlmcmFtZT4sXG4gICAgICAvLyBidXQgRmxhc2ggZXhwZWN0cyBhIHZhbHVlIG9mIFwidHJ1ZVwiIHdoZW4gdXNlZCBvbiA8ZW1iZWQ+IHRhZ1xuICAgICAgdmFsdWUgPSBrZXkgPT09ICdhbGxvd2Z1bGxzY3JlZW4nICYmIGVsLnRhZ05hbWUgPT09ICdFTUJFRCdcbiAgICAgICAgPyAndHJ1ZSdcbiAgICAgICAgOiBrZXk7XG4gICAgICBlbC5zZXRBdHRyaWJ1dGUoa2V5LCB2YWx1ZSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKGlzRW51bWVyYXRlZEF0dHIoa2V5KSkge1xuICAgIGVsLnNldEF0dHJpYnV0ZShrZXksIGNvbnZlcnRFbnVtZXJhdGVkVmFsdWUoa2V5LCB2YWx1ZSkpO1xuICB9IGVsc2UgaWYgKGlzWGxpbmsoa2V5KSkge1xuICAgIGlmIChpc0ZhbHN5QXR0clZhbHVlKHZhbHVlKSkge1xuICAgICAgZWwucmVtb3ZlQXR0cmlidXRlTlMoeGxpbmtOUywgZ2V0WGxpbmtQcm9wKGtleSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbC5zZXRBdHRyaWJ1dGVOUyh4bGlua05TLCBrZXksIHZhbHVlKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgYmFzZVNldEF0dHIoZWwsIGtleSwgdmFsdWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGJhc2VTZXRBdHRyIChlbCwga2V5LCB2YWx1ZSkge1xuICBpZiAoaXNGYWxzeUF0dHJWYWx1ZSh2YWx1ZSkpIHtcbiAgICBlbC5yZW1vdmVBdHRyaWJ1dGUoa2V5KTtcbiAgfSBlbHNlIHtcbiAgICAvLyAjNzEzODogSUUxMCAmIDExIGZpcmVzIGlucHV0IGV2ZW50IHdoZW4gc2V0dGluZyBwbGFjZWhvbGRlciBvblxuICAgIC8vIDx0ZXh0YXJlYT4uLi4gYmxvY2sgdGhlIGZpcnN0IGlucHV0IGV2ZW50IGFuZCByZW1vdmUgdGhlIGJsb2NrZXJcbiAgICAvLyBpbW1lZGlhdGVseS5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoXG4gICAgICBpc0lFICYmICFpc0lFOSAmJlxuICAgICAgZWwudGFnTmFtZSA9PT0gJ1RFWFRBUkVBJyAmJlxuICAgICAga2V5ID09PSAncGxhY2Vob2xkZXInICYmIHZhbHVlICE9PSAnJyAmJiAhZWwuX19pZXBoXG4gICAgKSB7XG4gICAgICB2YXIgYmxvY2tlciA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2lucHV0JywgYmxvY2tlcik7XG4gICAgICB9O1xuICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBibG9ja2VyKTtcbiAgICAgIC8vICRmbG93LWRpc2FibGUtbGluZVxuICAgICAgZWwuX19pZXBoID0gdHJ1ZTsgLyogSUUgcGxhY2Vob2xkZXIgcGF0Y2hlZCAqL1xuICAgIH1cbiAgICBlbC5zZXRBdHRyaWJ1dGUoa2V5LCB2YWx1ZSk7XG4gIH1cbn1cblxudmFyIGF0dHJzID0ge1xuICBjcmVhdGU6IHVwZGF0ZUF0dHJzLFxuICB1cGRhdGU6IHVwZGF0ZUF0dHJzXG59O1xuXG4vKiAgKi9cblxuZnVuY3Rpb24gdXBkYXRlQ2xhc3MgKG9sZFZub2RlLCB2bm9kZSkge1xuICB2YXIgZWwgPSB2bm9kZS5lbG07XG4gIHZhciBkYXRhID0gdm5vZGUuZGF0YTtcbiAgdmFyIG9sZERhdGEgPSBvbGRWbm9kZS5kYXRhO1xuICBpZiAoXG4gICAgaXNVbmRlZihkYXRhLnN0YXRpY0NsYXNzKSAmJlxuICAgIGlzVW5kZWYoZGF0YS5jbGFzcykgJiYgKFxuICAgICAgaXNVbmRlZihvbGREYXRhKSB8fCAoXG4gICAgICAgIGlzVW5kZWYob2xkRGF0YS5zdGF0aWNDbGFzcykgJiZcbiAgICAgICAgaXNVbmRlZihvbGREYXRhLmNsYXNzKVxuICAgICAgKVxuICAgIClcbiAgKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICB2YXIgY2xzID0gZ2VuQ2xhc3NGb3JWbm9kZSh2bm9kZSk7XG5cbiAgLy8gaGFuZGxlIHRyYW5zaXRpb24gY2xhc3Nlc1xuICB2YXIgdHJhbnNpdGlvbkNsYXNzID0gZWwuX3RyYW5zaXRpb25DbGFzc2VzO1xuICBpZiAoaXNEZWYodHJhbnNpdGlvbkNsYXNzKSkge1xuICAgIGNscyA9IGNvbmNhdChjbHMsIHN0cmluZ2lmeUNsYXNzKHRyYW5zaXRpb25DbGFzcykpO1xuICB9XG5cbiAgLy8gc2V0IHRoZSBjbGFzc1xuICBpZiAoY2xzICE9PSBlbC5fcHJldkNsYXNzKSB7XG4gICAgZWwuc2V0QXR0cmlidXRlKCdjbGFzcycsIGNscyk7XG4gICAgZWwuX3ByZXZDbGFzcyA9IGNscztcbiAgfVxufVxuXG52YXIga2xhc3MgPSB7XG4gIGNyZWF0ZTogdXBkYXRlQ2xhc3MsXG4gIHVwZGF0ZTogdXBkYXRlQ2xhc3Ncbn07XG5cbi8qICAqL1xuXG52YXIgdmFsaWREaXZpc2lvbkNoYXJSRSA9IC9bXFx3KS4rXFwtXyRcXF1dLztcblxuZnVuY3Rpb24gcGFyc2VGaWx0ZXJzIChleHApIHtcbiAgdmFyIGluU2luZ2xlID0gZmFsc2U7XG4gIHZhciBpbkRvdWJsZSA9IGZhbHNlO1xuICB2YXIgaW5UZW1wbGF0ZVN0cmluZyA9IGZhbHNlO1xuICB2YXIgaW5SZWdleCA9IGZhbHNlO1xuICB2YXIgY3VybHkgPSAwO1xuICB2YXIgc3F1YXJlID0gMDtcbiAgdmFyIHBhcmVuID0gMDtcbiAgdmFyIGxhc3RGaWx0ZXJJbmRleCA9IDA7XG4gIHZhciBjLCBwcmV2LCBpLCBleHByZXNzaW9uLCBmaWx0ZXJzO1xuXG4gIGZvciAoaSA9IDA7IGkgPCBleHAubGVuZ3RoOyBpKyspIHtcbiAgICBwcmV2ID0gYztcbiAgICBjID0gZXhwLmNoYXJDb2RlQXQoaSk7XG4gICAgaWYgKGluU2luZ2xlKSB7XG4gICAgICBpZiAoYyA9PT0gMHgyNyAmJiBwcmV2ICE9PSAweDVDKSB7IGluU2luZ2xlID0gZmFsc2U7IH1cbiAgICB9IGVsc2UgaWYgKGluRG91YmxlKSB7XG4gICAgICBpZiAoYyA9PT0gMHgyMiAmJiBwcmV2ICE9PSAweDVDKSB7IGluRG91YmxlID0gZmFsc2U7IH1cbiAgICB9IGVsc2UgaWYgKGluVGVtcGxhdGVTdHJpbmcpIHtcbiAgICAgIGlmIChjID09PSAweDYwICYmIHByZXYgIT09IDB4NUMpIHsgaW5UZW1wbGF0ZVN0cmluZyA9IGZhbHNlOyB9XG4gICAgfSBlbHNlIGlmIChpblJlZ2V4KSB7XG4gICAgICBpZiAoYyA9PT0gMHgyZiAmJiBwcmV2ICE9PSAweDVDKSB7IGluUmVnZXggPSBmYWxzZTsgfVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICBjID09PSAweDdDICYmIC8vIHBpcGVcbiAgICAgIGV4cC5jaGFyQ29kZUF0KGkgKyAxKSAhPT0gMHg3QyAmJlxuICAgICAgZXhwLmNoYXJDb2RlQXQoaSAtIDEpICE9PSAweDdDICYmXG4gICAgICAhY3VybHkgJiYgIXNxdWFyZSAmJiAhcGFyZW5cbiAgICApIHtcbiAgICAgIGlmIChleHByZXNzaW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgLy8gZmlyc3QgZmlsdGVyLCBlbmQgb2YgZXhwcmVzc2lvblxuICAgICAgICBsYXN0RmlsdGVySW5kZXggPSBpICsgMTtcbiAgICAgICAgZXhwcmVzc2lvbiA9IGV4cC5zbGljZSgwLCBpKS50cmltKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwdXNoRmlsdGVyKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHN3aXRjaCAoYykge1xuICAgICAgICBjYXNlIDB4MjI6IGluRG91YmxlID0gdHJ1ZTsgYnJlYWsgICAgICAgICAvLyBcIlxuICAgICAgICBjYXNlIDB4Mjc6IGluU2luZ2xlID0gdHJ1ZTsgYnJlYWsgICAgICAgICAvLyAnXG4gICAgICAgIGNhc2UgMHg2MDogaW5UZW1wbGF0ZVN0cmluZyA9IHRydWU7IGJyZWFrIC8vIGBcbiAgICAgICAgY2FzZSAweDI4OiBwYXJlbisrOyBicmVhayAgICAgICAgICAgICAgICAgLy8gKFxuICAgICAgICBjYXNlIDB4Mjk6IHBhcmVuLS07IGJyZWFrICAgICAgICAgICAgICAgICAvLyApXG4gICAgICAgIGNhc2UgMHg1Qjogc3F1YXJlKys7IGJyZWFrICAgICAgICAgICAgICAgIC8vIFtcbiAgICAgICAgY2FzZSAweDVEOiBzcXVhcmUtLTsgYnJlYWsgICAgICAgICAgICAgICAgLy8gXVxuICAgICAgICBjYXNlIDB4N0I6IGN1cmx5Kys7IGJyZWFrICAgICAgICAgICAgICAgICAvLyB7XG4gICAgICAgIGNhc2UgMHg3RDogY3VybHktLTsgYnJlYWsgICAgICAgICAgICAgICAgIC8vIH1cbiAgICAgIH1cbiAgICAgIGlmIChjID09PSAweDJmKSB7IC8vIC9cbiAgICAgICAgdmFyIGogPSBpIC0gMTtcbiAgICAgICAgdmFyIHAgPSAodm9pZCAwKTtcbiAgICAgICAgLy8gZmluZCBmaXJzdCBub24td2hpdGVzcGFjZSBwcmV2IGNoYXJcbiAgICAgICAgZm9yICg7IGogPj0gMDsgai0tKSB7XG4gICAgICAgICAgcCA9IGV4cC5jaGFyQXQoaik7XG4gICAgICAgICAgaWYgKHAgIT09ICcgJykgeyBicmVhayB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFwIHx8ICF2YWxpZERpdmlzaW9uQ2hhclJFLnRlc3QocCkpIHtcbiAgICAgICAgICBpblJlZ2V4ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChleHByZXNzaW9uID09PSB1bmRlZmluZWQpIHtcbiAgICBleHByZXNzaW9uID0gZXhwLnNsaWNlKDAsIGkpLnRyaW0oKTtcbiAgfSBlbHNlIGlmIChsYXN0RmlsdGVySW5kZXggIT09IDApIHtcbiAgICBwdXNoRmlsdGVyKCk7XG4gIH1cblxuICBmdW5jdGlvbiBwdXNoRmlsdGVyICgpIHtcbiAgICAoZmlsdGVycyB8fCAoZmlsdGVycyA9IFtdKSkucHVzaChleHAuc2xpY2UobGFzdEZpbHRlckluZGV4LCBpKS50cmltKCkpO1xuICAgIGxhc3RGaWx0ZXJJbmRleCA9IGkgKyAxO1xuICB9XG5cbiAgaWYgKGZpbHRlcnMpIHtcbiAgICBmb3IgKGkgPSAwOyBpIDwgZmlsdGVycy5sZW5ndGg7IGkrKykge1xuICAgICAgZXhwcmVzc2lvbiA9IHdyYXBGaWx0ZXIoZXhwcmVzc2lvbiwgZmlsdGVyc1tpXSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGV4cHJlc3Npb25cbn1cblxuZnVuY3Rpb24gd3JhcEZpbHRlciAoZXhwLCBmaWx0ZXIpIHtcbiAgdmFyIGkgPSBmaWx0ZXIuaW5kZXhPZignKCcpO1xuICBpZiAoaSA8IDApIHtcbiAgICAvLyBfZjogcmVzb2x2ZUZpbHRlclxuICAgIHJldHVybiAoXCJfZihcXFwiXCIgKyBmaWx0ZXIgKyBcIlxcXCIpKFwiICsgZXhwICsgXCIpXCIpXG4gIH0gZWxzZSB7XG4gICAgdmFyIG5hbWUgPSBmaWx0ZXIuc2xpY2UoMCwgaSk7XG4gICAgdmFyIGFyZ3MgPSBmaWx0ZXIuc2xpY2UoaSArIDEpO1xuICAgIHJldHVybiAoXCJfZihcXFwiXCIgKyBuYW1lICsgXCJcXFwiKShcIiArIGV4cCArIChhcmdzICE9PSAnKScgPyAnLCcgKyBhcmdzIDogYXJncykpXG4gIH1cbn1cblxuLyogICovXG5cblxuXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqL1xuZnVuY3Rpb24gYmFzZVdhcm4gKG1zZywgcmFuZ2UpIHtcbiAgY29uc29sZS5lcnJvcigoXCJbVnVlIGNvbXBpbGVyXTogXCIgKyBtc2cpKTtcbn1cbi8qIGVzbGludC1lbmFibGUgbm8tdW51c2VkLXZhcnMgKi9cblxuZnVuY3Rpb24gcGx1Y2tNb2R1bGVGdW5jdGlvbiAoXG4gIG1vZHVsZXMsXG4gIGtleVxuKSB7XG4gIHJldHVybiBtb2R1bGVzXG4gICAgPyBtb2R1bGVzLm1hcChmdW5jdGlvbiAobSkgeyByZXR1cm4gbVtrZXldOyB9KS5maWx0ZXIoZnVuY3Rpb24gKF8pIHsgcmV0dXJuIF87IH0pXG4gICAgOiBbXVxufVxuXG5mdW5jdGlvbiBhZGRQcm9wIChlbCwgbmFtZSwgdmFsdWUsIHJhbmdlLCBkeW5hbWljKSB7XG4gIChlbC5wcm9wcyB8fCAoZWwucHJvcHMgPSBbXSkpLnB1c2gocmFuZ2VTZXRJdGVtKHsgbmFtZTogbmFtZSwgdmFsdWU6IHZhbHVlLCBkeW5hbWljOiBkeW5hbWljIH0sIHJhbmdlKSk7XG4gIGVsLnBsYWluID0gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGFkZEF0dHIgKGVsLCBuYW1lLCB2YWx1ZSwgcmFuZ2UsIGR5bmFtaWMpIHtcbiAgdmFyIGF0dHJzID0gZHluYW1pY1xuICAgID8gKGVsLmR5bmFtaWNBdHRycyB8fCAoZWwuZHluYW1pY0F0dHJzID0gW10pKVxuICAgIDogKGVsLmF0dHJzIHx8IChlbC5hdHRycyA9IFtdKSk7XG4gIGF0dHJzLnB1c2gocmFuZ2VTZXRJdGVtKHsgbmFtZTogbmFtZSwgdmFsdWU6IHZhbHVlLCBkeW5hbWljOiBkeW5hbWljIH0sIHJhbmdlKSk7XG4gIGVsLnBsYWluID0gZmFsc2U7XG59XG5cbi8vIGFkZCBhIHJhdyBhdHRyICh1c2UgdGhpcyBpbiBwcmVUcmFuc2Zvcm1zKVxuZnVuY3Rpb24gYWRkUmF3QXR0ciAoZWwsIG5hbWUsIHZhbHVlLCByYW5nZSkge1xuICBlbC5hdHRyc01hcFtuYW1lXSA9IHZhbHVlO1xuICBlbC5hdHRyc0xpc3QucHVzaChyYW5nZVNldEl0ZW0oeyBuYW1lOiBuYW1lLCB2YWx1ZTogdmFsdWUgfSwgcmFuZ2UpKTtcbn1cblxuZnVuY3Rpb24gYWRkRGlyZWN0aXZlIChcbiAgZWwsXG4gIG5hbWUsXG4gIHJhd05hbWUsXG4gIHZhbHVlLFxuICBhcmcsXG4gIGlzRHluYW1pY0FyZyxcbiAgbW9kaWZpZXJzLFxuICByYW5nZVxuKSB7XG4gIChlbC5kaXJlY3RpdmVzIHx8IChlbC5kaXJlY3RpdmVzID0gW10pKS5wdXNoKHJhbmdlU2V0SXRlbSh7XG4gICAgbmFtZTogbmFtZSxcbiAgICByYXdOYW1lOiByYXdOYW1lLFxuICAgIHZhbHVlOiB2YWx1ZSxcbiAgICBhcmc6IGFyZyxcbiAgICBpc0R5bmFtaWNBcmc6IGlzRHluYW1pY0FyZyxcbiAgICBtb2RpZmllcnM6IG1vZGlmaWVyc1xuICB9LCByYW5nZSkpO1xuICBlbC5wbGFpbiA9IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBwcmVwZW5kTW9kaWZpZXJNYXJrZXIgKHN5bWJvbCwgbmFtZSwgZHluYW1pYykge1xuICByZXR1cm4gZHluYW1pY1xuICAgID8gKFwiX3AoXCIgKyBuYW1lICsgXCIsXFxcIlwiICsgc3ltYm9sICsgXCJcXFwiKVwiKVxuICAgIDogc3ltYm9sICsgbmFtZSAvLyBtYXJrIHRoZSBldmVudCBhcyBjYXB0dXJlZFxufVxuXG5mdW5jdGlvbiBhZGRIYW5kbGVyIChcbiAgZWwsXG4gIG5hbWUsXG4gIHZhbHVlLFxuICBtb2RpZmllcnMsXG4gIGltcG9ydGFudCxcbiAgd2FybixcbiAgcmFuZ2UsXG4gIGR5bmFtaWNcbikge1xuICBtb2RpZmllcnMgPSBtb2RpZmllcnMgfHwgZW1wdHlPYmplY3Q7XG4gIC8vIHdhcm4gcHJldmVudCBhbmQgcGFzc2l2ZSBtb2RpZmllclxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKFxuICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgd2FybiAmJlxuICAgIG1vZGlmaWVycy5wcmV2ZW50ICYmIG1vZGlmaWVycy5wYXNzaXZlXG4gICkge1xuICAgIHdhcm4oXG4gICAgICAncGFzc2l2ZSBhbmQgcHJldmVudCBjYW5cXCd0IGJlIHVzZWQgdG9nZXRoZXIuICcgK1xuICAgICAgJ1Bhc3NpdmUgaGFuZGxlciBjYW5cXCd0IHByZXZlbnQgZGVmYXVsdCBldmVudC4nLFxuICAgICAgcmFuZ2VcbiAgICApO1xuICB9XG5cbiAgLy8gbm9ybWFsaXplIGNsaWNrLnJpZ2h0IGFuZCBjbGljay5taWRkbGUgc2luY2UgdGhleSBkb24ndCBhY3R1YWxseSBmaXJlXG4gIC8vIHRoaXMgaXMgdGVjaG5pY2FsbHkgYnJvd3Nlci1zcGVjaWZpYywgYnV0IGF0IGxlYXN0IGZvciBub3cgYnJvd3NlcnMgYXJlXG4gIC8vIHRoZSBvbmx5IHRhcmdldCBlbnZzIHRoYXQgaGF2ZSByaWdodC9taWRkbGUgY2xpY2tzLlxuICBpZiAobW9kaWZpZXJzLnJpZ2h0KSB7XG4gICAgaWYgKGR5bmFtaWMpIHtcbiAgICAgIG5hbWUgPSBcIihcIiArIG5hbWUgKyBcIik9PT0nY2xpY2snPydjb250ZXh0bWVudSc6KFwiICsgbmFtZSArIFwiKVwiO1xuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ2NsaWNrJykge1xuICAgICAgbmFtZSA9ICdjb250ZXh0bWVudSc7XG4gICAgICBkZWxldGUgbW9kaWZpZXJzLnJpZ2h0O1xuICAgIH1cbiAgfSBlbHNlIGlmIChtb2RpZmllcnMubWlkZGxlKSB7XG4gICAgaWYgKGR5bmFtaWMpIHtcbiAgICAgIG5hbWUgPSBcIihcIiArIG5hbWUgKyBcIik9PT0nY2xpY2snPydtb3VzZXVwJzooXCIgKyBuYW1lICsgXCIpXCI7XG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAnY2xpY2snKSB7XG4gICAgICBuYW1lID0gJ21vdXNldXAnO1xuICAgIH1cbiAgfVxuXG4gIC8vIGNoZWNrIGNhcHR1cmUgbW9kaWZpZXJcbiAgaWYgKG1vZGlmaWVycy5jYXB0dXJlKSB7XG4gICAgZGVsZXRlIG1vZGlmaWVycy5jYXB0dXJlO1xuICAgIG5hbWUgPSBwcmVwZW5kTW9kaWZpZXJNYXJrZXIoJyEnLCBuYW1lLCBkeW5hbWljKTtcbiAgfVxuICBpZiAobW9kaWZpZXJzLm9uY2UpIHtcbiAgICBkZWxldGUgbW9kaWZpZXJzLm9uY2U7XG4gICAgbmFtZSA9IHByZXBlbmRNb2RpZmllck1hcmtlcignficsIG5hbWUsIGR5bmFtaWMpO1xuICB9XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAobW9kaWZpZXJzLnBhc3NpdmUpIHtcbiAgICBkZWxldGUgbW9kaWZpZXJzLnBhc3NpdmU7XG4gICAgbmFtZSA9IHByZXBlbmRNb2RpZmllck1hcmtlcignJicsIG5hbWUsIGR5bmFtaWMpO1xuICB9XG5cbiAgdmFyIGV2ZW50cztcbiAgaWYgKG1vZGlmaWVycy5uYXRpdmUpIHtcbiAgICBkZWxldGUgbW9kaWZpZXJzLm5hdGl2ZTtcbiAgICBldmVudHMgPSBlbC5uYXRpdmVFdmVudHMgfHwgKGVsLm5hdGl2ZUV2ZW50cyA9IHt9KTtcbiAgfSBlbHNlIHtcbiAgICBldmVudHMgPSBlbC5ldmVudHMgfHwgKGVsLmV2ZW50cyA9IHt9KTtcbiAgfVxuXG4gIHZhciBuZXdIYW5kbGVyID0gcmFuZ2VTZXRJdGVtKHsgdmFsdWU6IHZhbHVlLnRyaW0oKSwgZHluYW1pYzogZHluYW1pYyB9LCByYW5nZSk7XG4gIGlmIChtb2RpZmllcnMgIT09IGVtcHR5T2JqZWN0KSB7XG4gICAgbmV3SGFuZGxlci5tb2RpZmllcnMgPSBtb2RpZmllcnM7XG4gIH1cblxuICB2YXIgaGFuZGxlcnMgPSBldmVudHNbbmFtZV07XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoQXJyYXkuaXNBcnJheShoYW5kbGVycykpIHtcbiAgICBpbXBvcnRhbnQgPyBoYW5kbGVycy51bnNoaWZ0KG5ld0hhbmRsZXIpIDogaGFuZGxlcnMucHVzaChuZXdIYW5kbGVyKTtcbiAgfSBlbHNlIGlmIChoYW5kbGVycykge1xuICAgIGV2ZW50c1tuYW1lXSA9IGltcG9ydGFudCA/IFtuZXdIYW5kbGVyLCBoYW5kbGVyc10gOiBbaGFuZGxlcnMsIG5ld0hhbmRsZXJdO1xuICB9IGVsc2Uge1xuICAgIGV2ZW50c1tuYW1lXSA9IG5ld0hhbmRsZXI7XG4gIH1cblxuICBlbC5wbGFpbiA9IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXRSYXdCaW5kaW5nQXR0ciAoXG4gIGVsLFxuICBuYW1lXG4pIHtcbiAgcmV0dXJuIGVsLnJhd0F0dHJzTWFwWyc6JyArIG5hbWVdIHx8XG4gICAgZWwucmF3QXR0cnNNYXBbJ3YtYmluZDonICsgbmFtZV0gfHxcbiAgICBlbC5yYXdBdHRyc01hcFtuYW1lXVxufVxuXG5mdW5jdGlvbiBnZXRCaW5kaW5nQXR0ciAoXG4gIGVsLFxuICBuYW1lLFxuICBnZXRTdGF0aWNcbikge1xuICB2YXIgZHluYW1pY1ZhbHVlID1cbiAgICBnZXRBbmRSZW1vdmVBdHRyKGVsLCAnOicgKyBuYW1lKSB8fFxuICAgIGdldEFuZFJlbW92ZUF0dHIoZWwsICd2LWJpbmQ6JyArIG5hbWUpO1xuICBpZiAoZHluYW1pY1ZhbHVlICE9IG51bGwpIHtcbiAgICByZXR1cm4gcGFyc2VGaWx0ZXJzKGR5bmFtaWNWYWx1ZSlcbiAgfSBlbHNlIGlmIChnZXRTdGF0aWMgIT09IGZhbHNlKSB7XG4gICAgdmFyIHN0YXRpY1ZhbHVlID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgbmFtZSk7XG4gICAgaWYgKHN0YXRpY1ZhbHVlICE9IG51bGwpIHtcbiAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShzdGF0aWNWYWx1ZSlcbiAgICB9XG4gIH1cbn1cblxuLy8gbm90ZTogdGhpcyBvbmx5IHJlbW92ZXMgdGhlIGF0dHIgZnJvbSB0aGUgQXJyYXkgKGF0dHJzTGlzdCkgc28gdGhhdCBpdFxuLy8gZG9lc24ndCBnZXQgcHJvY2Vzc2VkIGJ5IHByb2Nlc3NBdHRycy5cbi8vIEJ5IGRlZmF1bHQgaXQgZG9lcyBOT1QgcmVtb3ZlIGl0IGZyb20gdGhlIG1hcCAoYXR0cnNNYXApIGJlY2F1c2UgdGhlIG1hcCBpc1xuLy8gbmVlZGVkIGR1cmluZyBjb2RlZ2VuLlxuZnVuY3Rpb24gZ2V0QW5kUmVtb3ZlQXR0ciAoXG4gIGVsLFxuICBuYW1lLFxuICByZW1vdmVGcm9tTWFwXG4pIHtcbiAgdmFyIHZhbDtcbiAgaWYgKCh2YWwgPSBlbC5hdHRyc01hcFtuYW1lXSkgIT0gbnVsbCkge1xuICAgIHZhciBsaXN0ID0gZWwuYXR0cnNMaXN0O1xuICAgIGZvciAodmFyIGkgPSAwLCBsID0gbGlzdC5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGlmIChsaXN0W2ldLm5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgbGlzdC5zcGxpY2UoaSwgMSk7XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICB9XG4gIGlmIChyZW1vdmVGcm9tTWFwKSB7XG4gICAgZGVsZXRlIGVsLmF0dHJzTWFwW25hbWVdO1xuICB9XG4gIHJldHVybiB2YWxcbn1cblxuZnVuY3Rpb24gZ2V0QW5kUmVtb3ZlQXR0ckJ5UmVnZXggKFxuICBlbCxcbiAgbmFtZVxuKSB7XG4gIHZhciBsaXN0ID0gZWwuYXR0cnNMaXN0O1xuICBmb3IgKHZhciBpID0gMCwgbCA9IGxpc3QubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgdmFyIGF0dHIgPSBsaXN0W2ldO1xuICAgIGlmIChuYW1lLnRlc3QoYXR0ci5uYW1lKSkge1xuICAgICAgbGlzdC5zcGxpY2UoaSwgMSk7XG4gICAgICByZXR1cm4gYXR0clxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiByYW5nZVNldEl0ZW0gKFxuICBpdGVtLFxuICByYW5nZVxuKSB7XG4gIGlmIChyYW5nZSkge1xuICAgIGlmIChyYW5nZS5zdGFydCAhPSBudWxsKSB7XG4gICAgICBpdGVtLnN0YXJ0ID0gcmFuZ2Uuc3RhcnQ7XG4gICAgfVxuICAgIGlmIChyYW5nZS5lbmQgIT0gbnVsbCkge1xuICAgICAgaXRlbS5lbmQgPSByYW5nZS5lbmQ7XG4gICAgfVxuICB9XG4gIHJldHVybiBpdGVtXG59XG5cbi8qICAqL1xuXG4vKipcbiAqIENyb3NzLXBsYXRmb3JtIGNvZGUgZ2VuZXJhdGlvbiBmb3IgY29tcG9uZW50IHYtbW9kZWxcbiAqL1xuZnVuY3Rpb24gZ2VuQ29tcG9uZW50TW9kZWwgKFxuICBlbCxcbiAgdmFsdWUsXG4gIG1vZGlmaWVyc1xuKSB7XG4gIHZhciByZWYgPSBtb2RpZmllcnMgfHwge307XG4gIHZhciBudW1iZXIgPSByZWYubnVtYmVyO1xuICB2YXIgdHJpbSA9IHJlZi50cmltO1xuXG4gIHZhciBiYXNlVmFsdWVFeHByZXNzaW9uID0gJyQkdic7XG4gIHZhciB2YWx1ZUV4cHJlc3Npb24gPSBiYXNlVmFsdWVFeHByZXNzaW9uO1xuICBpZiAodHJpbSkge1xuICAgIHZhbHVlRXhwcmVzc2lvbiA9XG4gICAgICBcIih0eXBlb2YgXCIgKyBiYXNlVmFsdWVFeHByZXNzaW9uICsgXCIgPT09ICdzdHJpbmcnXCIgK1xuICAgICAgXCI/IFwiICsgYmFzZVZhbHVlRXhwcmVzc2lvbiArIFwiLnRyaW0oKVwiICtcbiAgICAgIFwiOiBcIiArIGJhc2VWYWx1ZUV4cHJlc3Npb24gKyBcIilcIjtcbiAgfVxuICBpZiAobnVtYmVyKSB7XG4gICAgdmFsdWVFeHByZXNzaW9uID0gXCJfbihcIiArIHZhbHVlRXhwcmVzc2lvbiArIFwiKVwiO1xuICB9XG4gIHZhciBhc3NpZ25tZW50ID0gZ2VuQXNzaWdubWVudENvZGUodmFsdWUsIHZhbHVlRXhwcmVzc2lvbik7XG5cbiAgZWwubW9kZWwgPSB7XG4gICAgdmFsdWU6IChcIihcIiArIHZhbHVlICsgXCIpXCIpLFxuICAgIGV4cHJlc3Npb246IEpTT04uc3RyaW5naWZ5KHZhbHVlKSxcbiAgICBjYWxsYmFjazogKFwiZnVuY3Rpb24gKFwiICsgYmFzZVZhbHVlRXhwcmVzc2lvbiArIFwiKSB7XCIgKyBhc3NpZ25tZW50ICsgXCJ9XCIpXG4gIH07XG59XG5cbi8qKlxuICogQ3Jvc3MtcGxhdGZvcm0gY29kZWdlbiBoZWxwZXIgZm9yIGdlbmVyYXRpbmcgdi1tb2RlbCB2YWx1ZSBhc3NpZ25tZW50IGNvZGUuXG4gKi9cbmZ1bmN0aW9uIGdlbkFzc2lnbm1lbnRDb2RlIChcbiAgdmFsdWUsXG4gIGFzc2lnbm1lbnRcbikge1xuICB2YXIgcmVzID0gcGFyc2VNb2RlbCh2YWx1ZSk7XG4gIGlmIChyZXMua2V5ID09PSBudWxsKSB7XG4gICAgcmV0dXJuICh2YWx1ZSArIFwiPVwiICsgYXNzaWdubWVudClcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gKFwiJHNldChcIiArIChyZXMuZXhwKSArIFwiLCBcIiArIChyZXMua2V5KSArIFwiLCBcIiArIGFzc2lnbm1lbnQgKyBcIilcIilcbiAgfVxufVxuXG4vKipcbiAqIFBhcnNlIGEgdi1tb2RlbCBleHByZXNzaW9uIGludG8gYSBiYXNlIHBhdGggYW5kIGEgZmluYWwga2V5IHNlZ21lbnQuXG4gKiBIYW5kbGVzIGJvdGggZG90LXBhdGggYW5kIHBvc3NpYmxlIHNxdWFyZSBicmFja2V0cy5cbiAqXG4gKiBQb3NzaWJsZSBjYXNlczpcbiAqXG4gKiAtIHRlc3RcbiAqIC0gdGVzdFtrZXldXG4gKiAtIHRlc3RbdGVzdDFba2V5XV1cbiAqIC0gdGVzdFtcImFcIl1ba2V5XVxuICogLSB4eHgudGVzdFthW2FdLnRlc3QxW2tleV1dXG4gKiAtIHRlc3QueHh4LmFbXCJhc2FcIl1bdGVzdDFba2V5XV1cbiAqXG4gKi9cblxudmFyIGxlbiwgc3RyLCBjaHIsIGluZGV4JDEsIGV4cHJlc3Npb25Qb3MsIGV4cHJlc3Npb25FbmRQb3M7XG5cblxuXG5mdW5jdGlvbiBwYXJzZU1vZGVsICh2YWwpIHtcbiAgLy8gRml4IGh0dHBzOi8vZ2l0aHViLmNvbS92dWVqcy92dWUvcHVsbC83NzMwXG4gIC8vIGFsbG93IHYtbW9kZWw9XCJvYmoudmFsIFwiICh0cmFpbGluZyB3aGl0ZXNwYWNlKVxuICB2YWwgPSB2YWwudHJpbSgpO1xuICBsZW4gPSB2YWwubGVuZ3RoO1xuXG4gIGlmICh2YWwuaW5kZXhPZignWycpIDwgMCB8fCB2YWwubGFzdEluZGV4T2YoJ10nKSA8IGxlbiAtIDEpIHtcbiAgICBpbmRleCQxID0gdmFsLmxhc3RJbmRleE9mKCcuJyk7XG4gICAgaWYgKGluZGV4JDEgPiAtMSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZXhwOiB2YWwuc2xpY2UoMCwgaW5kZXgkMSksXG4gICAgICAgIGtleTogJ1wiJyArIHZhbC5zbGljZShpbmRleCQxICsgMSkgKyAnXCInXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGV4cDogdmFsLFxuICAgICAgICBrZXk6IG51bGxcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdHIgPSB2YWw7XG4gIGluZGV4JDEgPSBleHByZXNzaW9uUG9zID0gZXhwcmVzc2lvbkVuZFBvcyA9IDA7XG5cbiAgd2hpbGUgKCFlb2YoKSkge1xuICAgIGNociA9IG5leHQoKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoaXNTdHJpbmdTdGFydChjaHIpKSB7XG4gICAgICBwYXJzZVN0cmluZyhjaHIpO1xuICAgIH0gZWxzZSBpZiAoY2hyID09PSAweDVCKSB7XG4gICAgICBwYXJzZUJyYWNrZXQoY2hyKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGV4cDogdmFsLnNsaWNlKDAsIGV4cHJlc3Npb25Qb3MpLFxuICAgIGtleTogdmFsLnNsaWNlKGV4cHJlc3Npb25Qb3MgKyAxLCBleHByZXNzaW9uRW5kUG9zKVxuICB9XG59XG5cbmZ1bmN0aW9uIG5leHQgKCkge1xuICByZXR1cm4gc3RyLmNoYXJDb2RlQXQoKytpbmRleCQxKVxufVxuXG5mdW5jdGlvbiBlb2YgKCkge1xuICByZXR1cm4gaW5kZXgkMSA+PSBsZW5cbn1cblxuZnVuY3Rpb24gaXNTdHJpbmdTdGFydCAoY2hyKSB7XG4gIHJldHVybiBjaHIgPT09IDB4MjIgfHwgY2hyID09PSAweDI3XG59XG5cbmZ1bmN0aW9uIHBhcnNlQnJhY2tldCAoY2hyKSB7XG4gIHZhciBpbkJyYWNrZXQgPSAxO1xuICBleHByZXNzaW9uUG9zID0gaW5kZXgkMTtcbiAgd2hpbGUgKCFlb2YoKSkge1xuICAgIGNociA9IG5leHQoKTtcbiAgICBpZiAoaXNTdHJpbmdTdGFydChjaHIpKSB7XG4gICAgICBwYXJzZVN0cmluZyhjaHIpO1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgaWYgKGNociA9PT0gMHg1QikgeyBpbkJyYWNrZXQrKzsgfVxuICAgIGlmIChjaHIgPT09IDB4NUQpIHsgaW5CcmFja2V0LS07IH1cbiAgICBpZiAoaW5CcmFja2V0ID09PSAwKSB7XG4gICAgICBleHByZXNzaW9uRW5kUG9zID0gaW5kZXgkMTtcbiAgICAgIGJyZWFrXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlU3RyaW5nIChjaHIpIHtcbiAgdmFyIHN0cmluZ1F1b3RlID0gY2hyO1xuICB3aGlsZSAoIWVvZigpKSB7XG4gICAgY2hyID0gbmV4dCgpO1xuICAgIGlmIChjaHIgPT09IHN0cmluZ1F1b3RlKSB7XG4gICAgICBicmVha1xuICAgIH1cbiAgfVxufVxuXG4vKiAgKi9cblxudmFyIHdhcm4kMTtcblxuLy8gaW4gc29tZSBjYXNlcywgdGhlIGV2ZW50IHVzZWQgaGFzIHRvIGJlIGRldGVybWluZWQgYXQgcnVudGltZVxuLy8gc28gd2UgdXNlZCBzb21lIHJlc2VydmVkIHRva2VucyBkdXJpbmcgY29tcGlsZS5cbnZhciBSQU5HRV9UT0tFTiA9ICdfX3InO1xudmFyIENIRUNLQk9YX1JBRElPX1RPS0VOID0gJ19fYyc7XG5cbmZ1bmN0aW9uIG1vZGVsIChcbiAgZWwsXG4gIGRpcixcbiAgX3dhcm5cbikge1xuICB3YXJuJDEgPSBfd2FybjtcbiAgdmFyIHZhbHVlID0gZGlyLnZhbHVlO1xuICB2YXIgbW9kaWZpZXJzID0gZGlyLm1vZGlmaWVycztcbiAgdmFyIHRhZyA9IGVsLnRhZztcbiAgdmFyIHR5cGUgPSBlbC5hdHRyc01hcC50eXBlO1xuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgLy8gaW5wdXRzIHdpdGggdHlwZT1cImZpbGVcIiBhcmUgcmVhZCBvbmx5IGFuZCBzZXR0aW5nIHRoZSBpbnB1dCdzXG4gICAgLy8gdmFsdWUgd2lsbCB0aHJvdyBhbiBlcnJvci5cbiAgICBpZiAodGFnID09PSAnaW5wdXQnICYmIHR5cGUgPT09ICdmaWxlJykge1xuICAgICAgd2FybiQxKFxuICAgICAgICBcIjxcIiArIChlbC50YWcpICsgXCIgdi1tb2RlbD1cXFwiXCIgKyB2YWx1ZSArIFwiXFxcIiB0eXBlPVxcXCJmaWxlXFxcIj46XFxuXCIgK1xuICAgICAgICBcIkZpbGUgaW5wdXRzIGFyZSByZWFkIG9ubHkuIFVzZSBhIHYtb246Y2hhbmdlIGxpc3RlbmVyIGluc3RlYWQuXCIsXG4gICAgICAgIGVsLnJhd0F0dHJzTWFwWyd2LW1vZGVsJ11cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGVsLmNvbXBvbmVudCkge1xuICAgIGdlbkNvbXBvbmVudE1vZGVsKGVsLCB2YWx1ZSwgbW9kaWZpZXJzKTtcbiAgICAvLyBjb21wb25lbnQgdi1tb2RlbCBkb2Vzbid0IG5lZWQgZXh0cmEgcnVudGltZVxuICAgIHJldHVybiBmYWxzZVxuICB9IGVsc2UgaWYgKHRhZyA9PT0gJ3NlbGVjdCcpIHtcbiAgICBnZW5TZWxlY3QoZWwsIHZhbHVlLCBtb2RpZmllcnMpO1xuICB9IGVsc2UgaWYgKHRhZyA9PT0gJ2lucHV0JyAmJiB0eXBlID09PSAnY2hlY2tib3gnKSB7XG4gICAgZ2VuQ2hlY2tib3hNb2RlbChlbCwgdmFsdWUsIG1vZGlmaWVycyk7XG4gIH0gZWxzZSBpZiAodGFnID09PSAnaW5wdXQnICYmIHR5cGUgPT09ICdyYWRpbycpIHtcbiAgICBnZW5SYWRpb01vZGVsKGVsLCB2YWx1ZSwgbW9kaWZpZXJzKTtcbiAgfSBlbHNlIGlmICh0YWcgPT09ICdpbnB1dCcgfHwgdGFnID09PSAndGV4dGFyZWEnKSB7XG4gICAgZ2VuRGVmYXVsdE1vZGVsKGVsLCB2YWx1ZSwgbW9kaWZpZXJzKTtcbiAgfSBlbHNlIGlmICghY29uZmlnLmlzUmVzZXJ2ZWRUYWcodGFnKSkge1xuICAgIGdlbkNvbXBvbmVudE1vZGVsKGVsLCB2YWx1ZSwgbW9kaWZpZXJzKTtcbiAgICAvLyBjb21wb25lbnQgdi1tb2RlbCBkb2Vzbid0IG5lZWQgZXh0cmEgcnVudGltZVxuICAgIHJldHVybiBmYWxzZVxuICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICB3YXJuJDEoXG4gICAgICBcIjxcIiArIChlbC50YWcpICsgXCIgdi1tb2RlbD1cXFwiXCIgKyB2YWx1ZSArIFwiXFxcIj46IFwiICtcbiAgICAgIFwidi1tb2RlbCBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgZWxlbWVudCB0eXBlLiBcIiArXG4gICAgICAnSWYgeW91IGFyZSB3b3JraW5nIHdpdGggY29udGVudGVkaXRhYmxlLCBpdFxcJ3MgcmVjb21tZW5kZWQgdG8gJyArXG4gICAgICAnd3JhcCBhIGxpYnJhcnkgZGVkaWNhdGVkIGZvciB0aGF0IHB1cnBvc2UgaW5zaWRlIGEgY3VzdG9tIGNvbXBvbmVudC4nLFxuICAgICAgZWwucmF3QXR0cnNNYXBbJ3YtbW9kZWwnXVxuICAgICk7XG4gIH1cblxuICAvLyBlbnN1cmUgcnVudGltZSBkaXJlY3RpdmUgbWV0YWRhdGFcbiAgcmV0dXJuIHRydWVcbn1cblxuZnVuY3Rpb24gZ2VuQ2hlY2tib3hNb2RlbCAoXG4gIGVsLFxuICB2YWx1ZSxcbiAgbW9kaWZpZXJzXG4pIHtcbiAgdmFyIG51bWJlciA9IG1vZGlmaWVycyAmJiBtb2RpZmllcnMubnVtYmVyO1xuICB2YXIgdmFsdWVCaW5kaW5nID0gZ2V0QmluZGluZ0F0dHIoZWwsICd2YWx1ZScpIHx8ICdudWxsJztcbiAgdmFyIHRydWVWYWx1ZUJpbmRpbmcgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ3RydWUtdmFsdWUnKSB8fCAndHJ1ZSc7XG4gIHZhciBmYWxzZVZhbHVlQmluZGluZyA9IGdldEJpbmRpbmdBdHRyKGVsLCAnZmFsc2UtdmFsdWUnKSB8fCAnZmFsc2UnO1xuICBhZGRQcm9wKGVsLCAnY2hlY2tlZCcsXG4gICAgXCJBcnJheS5pc0FycmF5KFwiICsgdmFsdWUgKyBcIilcIiArXG4gICAgXCI/X2koXCIgKyB2YWx1ZSArIFwiLFwiICsgdmFsdWVCaW5kaW5nICsgXCIpPi0xXCIgKyAoXG4gICAgICB0cnVlVmFsdWVCaW5kaW5nID09PSAndHJ1ZSdcbiAgICAgICAgPyAoXCI6KFwiICsgdmFsdWUgKyBcIilcIilcbiAgICAgICAgOiAoXCI6X3EoXCIgKyB2YWx1ZSArIFwiLFwiICsgdHJ1ZVZhbHVlQmluZGluZyArIFwiKVwiKVxuICAgIClcbiAgKTtcbiAgYWRkSGFuZGxlcihlbCwgJ2NoYW5nZScsXG4gICAgXCJ2YXIgJCRhPVwiICsgdmFsdWUgKyBcIixcIiArXG4gICAgICAgICckJGVsPSRldmVudC50YXJnZXQsJyArXG4gICAgICAgIFwiJCRjPSQkZWwuY2hlY2tlZD8oXCIgKyB0cnVlVmFsdWVCaW5kaW5nICsgXCIpOihcIiArIGZhbHNlVmFsdWVCaW5kaW5nICsgXCIpO1wiICtcbiAgICAnaWYoQXJyYXkuaXNBcnJheSgkJGEpKXsnICtcbiAgICAgIFwidmFyICQkdj1cIiArIChudW1iZXIgPyAnX24oJyArIHZhbHVlQmluZGluZyArICcpJyA6IHZhbHVlQmluZGluZykgKyBcIixcIiArXG4gICAgICAgICAgJyQkaT1faSgkJGEsJCR2KTsnICtcbiAgICAgIFwiaWYoJCRlbC5jaGVja2VkKXskJGk8MCYmKFwiICsgKGdlbkFzc2lnbm1lbnRDb2RlKHZhbHVlLCAnJCRhLmNvbmNhdChbJCR2XSknKSkgKyBcIil9XCIgK1xuICAgICAgXCJlbHNleyQkaT4tMSYmKFwiICsgKGdlbkFzc2lnbm1lbnRDb2RlKHZhbHVlLCAnJCRhLnNsaWNlKDAsJCRpKS5jb25jYXQoJCRhLnNsaWNlKCQkaSsxKSknKSkgKyBcIil9XCIgK1xuICAgIFwifWVsc2V7XCIgKyAoZ2VuQXNzaWdubWVudENvZGUodmFsdWUsICckJGMnKSkgKyBcIn1cIixcbiAgICBudWxsLCB0cnVlXG4gICk7XG59XG5cbmZ1bmN0aW9uIGdlblJhZGlvTW9kZWwgKFxuICBlbCxcbiAgdmFsdWUsXG4gIG1vZGlmaWVyc1xuKSB7XG4gIHZhciBudW1iZXIgPSBtb2RpZmllcnMgJiYgbW9kaWZpZXJzLm51bWJlcjtcbiAgdmFyIHZhbHVlQmluZGluZyA9IGdldEJpbmRpbmdBdHRyKGVsLCAndmFsdWUnKSB8fCAnbnVsbCc7XG4gIHZhbHVlQmluZGluZyA9IG51bWJlciA/IChcIl9uKFwiICsgdmFsdWVCaW5kaW5nICsgXCIpXCIpIDogdmFsdWVCaW5kaW5nO1xuICBhZGRQcm9wKGVsLCAnY2hlY2tlZCcsIChcIl9xKFwiICsgdmFsdWUgKyBcIixcIiArIHZhbHVlQmluZGluZyArIFwiKVwiKSk7XG4gIGFkZEhhbmRsZXIoZWwsICdjaGFuZ2UnLCBnZW5Bc3NpZ25tZW50Q29kZSh2YWx1ZSwgdmFsdWVCaW5kaW5nKSwgbnVsbCwgdHJ1ZSk7XG59XG5cbmZ1bmN0aW9uIGdlblNlbGVjdCAoXG4gIGVsLFxuICB2YWx1ZSxcbiAgbW9kaWZpZXJzXG4pIHtcbiAgdmFyIG51bWJlciA9IG1vZGlmaWVycyAmJiBtb2RpZmllcnMubnVtYmVyO1xuICB2YXIgc2VsZWN0ZWRWYWwgPSBcIkFycmF5LnByb3RvdHlwZS5maWx0ZXJcIiArXG4gICAgXCIuY2FsbCgkZXZlbnQudGFyZ2V0Lm9wdGlvbnMsZnVuY3Rpb24obyl7cmV0dXJuIG8uc2VsZWN0ZWR9KVwiICtcbiAgICBcIi5tYXAoZnVuY3Rpb24obyl7dmFyIHZhbCA9IFxcXCJfdmFsdWVcXFwiIGluIG8gPyBvLl92YWx1ZSA6IG8udmFsdWU7XCIgK1xuICAgIFwicmV0dXJuIFwiICsgKG51bWJlciA/ICdfbih2YWwpJyA6ICd2YWwnKSArIFwifSlcIjtcblxuICB2YXIgYXNzaWdubWVudCA9ICckZXZlbnQudGFyZ2V0Lm11bHRpcGxlID8gJCRzZWxlY3RlZFZhbCA6ICQkc2VsZWN0ZWRWYWxbMF0nO1xuICB2YXIgY29kZSA9IFwidmFyICQkc2VsZWN0ZWRWYWwgPSBcIiArIHNlbGVjdGVkVmFsICsgXCI7XCI7XG4gIGNvZGUgPSBjb2RlICsgXCIgXCIgKyAoZ2VuQXNzaWdubWVudENvZGUodmFsdWUsIGFzc2lnbm1lbnQpKTtcbiAgYWRkSGFuZGxlcihlbCwgJ2NoYW5nZScsIGNvZGUsIG51bGwsIHRydWUpO1xufVxuXG5mdW5jdGlvbiBnZW5EZWZhdWx0TW9kZWwgKFxuICBlbCxcbiAgdmFsdWUsXG4gIG1vZGlmaWVyc1xuKSB7XG4gIHZhciB0eXBlID0gZWwuYXR0cnNNYXAudHlwZTtcblxuICAvLyB3YXJuIGlmIHYtYmluZDp2YWx1ZSBjb25mbGljdHMgd2l0aCB2LW1vZGVsXG4gIC8vIGV4Y2VwdCBmb3IgaW5wdXRzIHdpdGggdi1iaW5kOnR5cGVcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICB2YXIgdmFsdWUkMSA9IGVsLmF0dHJzTWFwWyd2LWJpbmQ6dmFsdWUnXSB8fCBlbC5hdHRyc01hcFsnOnZhbHVlJ107XG4gICAgdmFyIHR5cGVCaW5kaW5nID0gZWwuYXR0cnNNYXBbJ3YtYmluZDp0eXBlJ10gfHwgZWwuYXR0cnNNYXBbJzp0eXBlJ107XG4gICAgaWYgKHZhbHVlJDEgJiYgIXR5cGVCaW5kaW5nKSB7XG4gICAgICB2YXIgYmluZGluZyA9IGVsLmF0dHJzTWFwWyd2LWJpbmQ6dmFsdWUnXSA/ICd2LWJpbmQ6dmFsdWUnIDogJzp2YWx1ZSc7XG4gICAgICB3YXJuJDEoXG4gICAgICAgIGJpbmRpbmcgKyBcIj1cXFwiXCIgKyB2YWx1ZSQxICsgXCJcXFwiIGNvbmZsaWN0cyB3aXRoIHYtbW9kZWwgb24gdGhlIHNhbWUgZWxlbWVudCBcIiArXG4gICAgICAgICdiZWNhdXNlIHRoZSBsYXR0ZXIgYWxyZWFkeSBleHBhbmRzIHRvIGEgdmFsdWUgYmluZGluZyBpbnRlcm5hbGx5JyxcbiAgICAgICAgZWwucmF3QXR0cnNNYXBbYmluZGluZ11cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgdmFyIHJlZiA9IG1vZGlmaWVycyB8fCB7fTtcbiAgdmFyIGxhenkgPSByZWYubGF6eTtcbiAgdmFyIG51bWJlciA9IHJlZi5udW1iZXI7XG4gIHZhciB0cmltID0gcmVmLnRyaW07XG4gIHZhciBuZWVkQ29tcG9zaXRpb25HdWFyZCA9ICFsYXp5ICYmIHR5cGUgIT09ICdyYW5nZSc7XG4gIHZhciBldmVudCA9IGxhenlcbiAgICA/ICdjaGFuZ2UnXG4gICAgOiB0eXBlID09PSAncmFuZ2UnXG4gICAgICA/IFJBTkdFX1RPS0VOXG4gICAgICA6ICdpbnB1dCc7XG5cbiAgdmFyIHZhbHVlRXhwcmVzc2lvbiA9ICckZXZlbnQudGFyZ2V0LnZhbHVlJztcbiAgaWYgKHRyaW0pIHtcbiAgICB2YWx1ZUV4cHJlc3Npb24gPSBcIiRldmVudC50YXJnZXQudmFsdWUudHJpbSgpXCI7XG4gIH1cbiAgaWYgKG51bWJlcikge1xuICAgIHZhbHVlRXhwcmVzc2lvbiA9IFwiX24oXCIgKyB2YWx1ZUV4cHJlc3Npb24gKyBcIilcIjtcbiAgfVxuXG4gIHZhciBjb2RlID0gZ2VuQXNzaWdubWVudENvZGUodmFsdWUsIHZhbHVlRXhwcmVzc2lvbik7XG4gIGlmIChuZWVkQ29tcG9zaXRpb25HdWFyZCkge1xuICAgIGNvZGUgPSBcImlmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXJldHVybjtcIiArIGNvZGU7XG4gIH1cblxuICBhZGRQcm9wKGVsLCAndmFsdWUnLCAoXCIoXCIgKyB2YWx1ZSArIFwiKVwiKSk7XG4gIGFkZEhhbmRsZXIoZWwsIGV2ZW50LCBjb2RlLCBudWxsLCB0cnVlKTtcbiAgaWYgKHRyaW0gfHwgbnVtYmVyKSB7XG4gICAgYWRkSGFuZGxlcihlbCwgJ2JsdXInLCAnJGZvcmNlVXBkYXRlKCknKTtcbiAgfVxufVxuXG4vKiAgKi9cblxuLy8gbm9ybWFsaXplIHYtbW9kZWwgZXZlbnQgdG9rZW5zIHRoYXQgY2FuIG9ubHkgYmUgZGV0ZXJtaW5lZCBhdCBydW50aW1lLlxuLy8gaXQncyBpbXBvcnRhbnQgdG8gcGxhY2UgdGhlIGV2ZW50IGFzIHRoZSBmaXJzdCBpbiB0aGUgYXJyYXkgYmVjYXVzZVxuLy8gdGhlIHdob2xlIHBvaW50IGlzIGVuc3VyaW5nIHRoZSB2LW1vZGVsIGNhbGxiYWNrIGdldHMgY2FsbGVkIGJlZm9yZVxuLy8gdXNlci1hdHRhY2hlZCBoYW5kbGVycy5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUV2ZW50cyAob24pIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmIChpc0RlZihvbltSQU5HRV9UT0tFTl0pKSB7XG4gICAgLy8gSUUgaW5wdXRbdHlwZT1yYW5nZV0gb25seSBzdXBwb3J0cyBgY2hhbmdlYCBldmVudFxuICAgIHZhciBldmVudCA9IGlzSUUgPyAnY2hhbmdlJyA6ICdpbnB1dCc7XG4gICAgb25bZXZlbnRdID0gW10uY29uY2F0KG9uW1JBTkdFX1RPS0VOXSwgb25bZXZlbnRdIHx8IFtdKTtcbiAgICBkZWxldGUgb25bUkFOR0VfVE9LRU5dO1xuICB9XG4gIC8vIFRoaXMgd2FzIG9yaWdpbmFsbHkgaW50ZW5kZWQgdG8gZml4ICM0NTIxIGJ1dCBubyBsb25nZXIgbmVjZXNzYXJ5XG4gIC8vIGFmdGVyIDIuNS4gS2VlcGluZyBpdCBmb3IgYmFja3dhcmRzIGNvbXBhdCB3aXRoIGdlbmVyYXRlZCBjb2RlIGZyb20gPCAyLjRcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmIChpc0RlZihvbltDSEVDS0JPWF9SQURJT19UT0tFTl0pKSB7XG4gICAgb24uY2hhbmdlID0gW10uY29uY2F0KG9uW0NIRUNLQk9YX1JBRElPX1RPS0VOXSwgb24uY2hhbmdlIHx8IFtdKTtcbiAgICBkZWxldGUgb25bQ0hFQ0tCT1hfUkFESU9fVE9LRU5dO1xuICB9XG59XG5cbnZhciB0YXJnZXQkMTtcblxuZnVuY3Rpb24gY3JlYXRlT25jZUhhbmRsZXIkMSAoZXZlbnQsIGhhbmRsZXIsIGNhcHR1cmUpIHtcbiAgdmFyIF90YXJnZXQgPSB0YXJnZXQkMTsgLy8gc2F2ZSBjdXJyZW50IHRhcmdldCBlbGVtZW50IGluIGNsb3N1cmVcbiAgcmV0dXJuIGZ1bmN0aW9uIG9uY2VIYW5kbGVyICgpIHtcbiAgICB2YXIgcmVzID0gaGFuZGxlci5hcHBseShudWxsLCBhcmd1bWVudHMpO1xuICAgIGlmIChyZXMgIT09IG51bGwpIHtcbiAgICAgIHJlbW92ZSQyKGV2ZW50LCBvbmNlSGFuZGxlciwgY2FwdHVyZSwgX3RhcmdldCk7XG4gICAgfVxuICB9XG59XG5cbi8vICM5NDQ2OiBGaXJlZm94IDw9IDUzIChpbiBwYXJ0aWN1bGFyLCBFU1IgNTIpIGhhcyBpbmNvcnJlY3QgRXZlbnQudGltZVN0YW1wXG4vLyBpbXBsZW1lbnRhdGlvbiBhbmQgZG9lcyBub3QgZmlyZSBtaWNyb3Rhc2tzIGluIGJldHdlZW4gZXZlbnQgcHJvcGFnYXRpb24sIHNvXG4vLyBzYWZlIHRvIGV4Y2x1ZGUuXG52YXIgdXNlTWljcm90YXNrRml4ID0gaXNVc2luZ01pY3JvVGFzayAmJiAhKGlzRkYgJiYgTnVtYmVyKGlzRkZbMV0pIDw9IDUzKTtcblxuZnVuY3Rpb24gYWRkJDEgKFxuICBuYW1lLFxuICBoYW5kbGVyLFxuICBjYXB0dXJlLFxuICBwYXNzaXZlXG4pIHtcbiAgLy8gYXN5bmMgZWRnZSBjYXNlICM2NTY2OiBpbm5lciBjbGljayBldmVudCB0cmlnZ2VycyBwYXRjaCwgZXZlbnQgaGFuZGxlclxuICAvLyBhdHRhY2hlZCB0byBvdXRlciBlbGVtZW50IGR1cmluZyBwYXRjaCwgYW5kIHRyaWdnZXJlZCBhZ2Fpbi4gVGhpc1xuICAvLyBoYXBwZW5zIGJlY2F1c2UgYnJvd3NlcnMgZmlyZSBtaWNyb3Rhc2sgdGlja3MgYmV0d2VlbiBldmVudCBwcm9wYWdhdGlvbi5cbiAgLy8gdGhlIHNvbHV0aW9uIGlzIHNpbXBsZTogd2Ugc2F2ZSB0aGUgdGltZXN0YW1wIHdoZW4gYSBoYW5kbGVyIGlzIGF0dGFjaGVkLFxuICAvLyBhbmQgdGhlIGhhbmRsZXIgd291bGQgb25seSBmaXJlIGlmIHRoZSBldmVudCBwYXNzZWQgdG8gaXQgd2FzIGZpcmVkXG4gIC8vIEFGVEVSIGl0IHdhcyBhdHRhY2hlZC5cbiAgaWYgKHVzZU1pY3JvdGFza0ZpeCkge1xuICAgIHZhciBhdHRhY2hlZFRpbWVzdGFtcCA9IGN1cnJlbnRGbHVzaFRpbWVzdGFtcDtcbiAgICB2YXIgb3JpZ2luYWwgPSBoYW5kbGVyO1xuICAgIGhhbmRsZXIgPSBvcmlnaW5hbC5fd3JhcHBlciA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICBpZiAoXG4gICAgICAgIC8vIG5vIGJ1YmJsaW5nLCBzaG91bGQgYWx3YXlzIGZpcmUuXG4gICAgICAgIC8vIHRoaXMgaXMganVzdCBhIHNhZmV0eSBuZXQgaW4gY2FzZSBldmVudC50aW1lU3RhbXAgaXMgdW5yZWxpYWJsZSBpblxuICAgICAgICAvLyBjZXJ0YWluIHdlaXJkIGVudmlyb25tZW50cy4uLlxuICAgICAgICBlLnRhcmdldCA9PT0gZS5jdXJyZW50VGFyZ2V0IHx8XG4gICAgICAgIC8vIGV2ZW50IGlzIGZpcmVkIGFmdGVyIGhhbmRsZXIgYXR0YWNobWVudFxuICAgICAgICBlLnRpbWVTdGFtcCA+PSBhdHRhY2hlZFRpbWVzdGFtcCB8fFxuICAgICAgICAvLyBiYWlsIGZvciBlbnZpcm9ubWVudHMgdGhhdCBoYXZlIGJ1Z2d5IGV2ZW50LnRpbWVTdGFtcCBpbXBsZW1lbnRhdGlvbnNcbiAgICAgICAgLy8gIzk0NjIgaU9TIDkgYnVnOiBldmVudC50aW1lU3RhbXAgaXMgMCBhZnRlciBoaXN0b3J5LnB1c2hTdGF0ZVxuICAgICAgICAvLyAjOTY4MSBRdFdlYkVuZ2luZSBldmVudC50aW1lU3RhbXAgaXMgbmVnYXRpdmUgdmFsdWVcbiAgICAgICAgZS50aW1lU3RhbXAgPD0gMCB8fFxuICAgICAgICAvLyAjOTQ0OCBiYWlsIGlmIGV2ZW50IGlzIGZpcmVkIGluIGFub3RoZXIgZG9jdW1lbnQgaW4gYSBtdWx0aS1wYWdlXG4gICAgICAgIC8vIGVsZWN0cm9uL253LmpzIGFwcCwgc2luY2UgZXZlbnQudGltZVN0YW1wIHdpbGwgYmUgdXNpbmcgYSBkaWZmZXJlbnRcbiAgICAgICAgLy8gc3RhcnRpbmcgcmVmZXJlbmNlXG4gICAgICAgIGUudGFyZ2V0Lm93bmVyRG9jdW1lbnQgIT09IGRvY3VtZW50XG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsLmFwcGx5KHRoaXMsIGFyZ3VtZW50cylcbiAgICAgIH1cbiAgICB9O1xuICB9XG4gIHRhcmdldCQxLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgbmFtZSxcbiAgICBoYW5kbGVyLFxuICAgIHN1cHBvcnRzUGFzc2l2ZVxuICAgICAgPyB7IGNhcHR1cmU6IGNhcHR1cmUsIHBhc3NpdmU6IHBhc3NpdmUgfVxuICAgICAgOiBjYXB0dXJlXG4gICk7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZSQyIChcbiAgbmFtZSxcbiAgaGFuZGxlcixcbiAgY2FwdHVyZSxcbiAgX3RhcmdldFxuKSB7XG4gIChfdGFyZ2V0IHx8IHRhcmdldCQxKS5yZW1vdmVFdmVudExpc3RlbmVyKFxuICAgIG5hbWUsXG4gICAgaGFuZGxlci5fd3JhcHBlciB8fCBoYW5kbGVyLFxuICAgIGNhcHR1cmVcbiAgKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlRE9NTGlzdGVuZXJzIChvbGRWbm9kZSwgdm5vZGUpIHtcbiAgaWYgKGlzVW5kZWYob2xkVm5vZGUuZGF0YS5vbikgJiYgaXNVbmRlZih2bm9kZS5kYXRhLm9uKSkge1xuICAgIHJldHVyblxuICB9XG4gIHZhciBvbiA9IHZub2RlLmRhdGEub24gfHwge307XG4gIHZhciBvbGRPbiA9IG9sZFZub2RlLmRhdGEub24gfHwge307XG4gIHRhcmdldCQxID0gdm5vZGUuZWxtO1xuICBub3JtYWxpemVFdmVudHMob24pO1xuICB1cGRhdGVMaXN0ZW5lcnMob24sIG9sZE9uLCBhZGQkMSwgcmVtb3ZlJDIsIGNyZWF0ZU9uY2VIYW5kbGVyJDEsIHZub2RlLmNvbnRleHQpO1xuICB0YXJnZXQkMSA9IHVuZGVmaW5lZDtcbn1cblxudmFyIGV2ZW50cyA9IHtcbiAgY3JlYXRlOiB1cGRhdGVET01MaXN0ZW5lcnMsXG4gIHVwZGF0ZTogdXBkYXRlRE9NTGlzdGVuZXJzXG59O1xuXG4vKiAgKi9cblxudmFyIHN2Z0NvbnRhaW5lcjtcblxuZnVuY3Rpb24gdXBkYXRlRE9NUHJvcHMgKG9sZFZub2RlLCB2bm9kZSkge1xuICBpZiAoaXNVbmRlZihvbGRWbm9kZS5kYXRhLmRvbVByb3BzKSAmJiBpc1VuZGVmKHZub2RlLmRhdGEuZG9tUHJvcHMpKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIGtleSwgY3VyO1xuICB2YXIgZWxtID0gdm5vZGUuZWxtO1xuICB2YXIgb2xkUHJvcHMgPSBvbGRWbm9kZS5kYXRhLmRvbVByb3BzIHx8IHt9O1xuICB2YXIgcHJvcHMgPSB2bm9kZS5kYXRhLmRvbVByb3BzIHx8IHt9O1xuICAvLyBjbG9uZSBvYnNlcnZlZCBvYmplY3RzLCBhcyB0aGUgdXNlciBwcm9iYWJseSB3YW50cyB0byBtdXRhdGUgaXRcbiAgaWYgKGlzRGVmKHByb3BzLl9fb2JfXykpIHtcbiAgICBwcm9wcyA9IHZub2RlLmRhdGEuZG9tUHJvcHMgPSBleHRlbmQoe30sIHByb3BzKTtcbiAgfVxuXG4gIGZvciAoa2V5IGluIG9sZFByb3BzKSB7XG4gICAgaWYgKCEoa2V5IGluIHByb3BzKSkge1xuICAgICAgZWxtW2tleV0gPSAnJztcbiAgICB9XG4gIH1cblxuICBmb3IgKGtleSBpbiBwcm9wcykge1xuICAgIGN1ciA9IHByb3BzW2tleV07XG4gICAgLy8gaWdub3JlIGNoaWxkcmVuIGlmIHRoZSBub2RlIGhhcyB0ZXh0Q29udGVudCBvciBpbm5lckhUTUwsXG4gICAgLy8gYXMgdGhlc2Ugd2lsbCB0aHJvdyBhd2F5IGV4aXN0aW5nIERPTSBub2RlcyBhbmQgY2F1c2UgcmVtb3ZhbCBlcnJvcnNcbiAgICAvLyBvbiBzdWJzZXF1ZW50IHBhdGNoZXMgKCMzMzYwKVxuICAgIGlmIChrZXkgPT09ICd0ZXh0Q29udGVudCcgfHwga2V5ID09PSAnaW5uZXJIVE1MJykge1xuICAgICAgaWYgKHZub2RlLmNoaWxkcmVuKSB7IHZub2RlLmNoaWxkcmVuLmxlbmd0aCA9IDA7IH1cbiAgICAgIGlmIChjdXIgPT09IG9sZFByb3BzW2tleV0pIHsgY29udGludWUgfVxuICAgICAgLy8gIzY2MDEgd29yayBhcm91bmQgQ2hyb21lIHZlcnNpb24gPD0gNTUgYnVnIHdoZXJlIHNpbmdsZSB0ZXh0Tm9kZVxuICAgICAgLy8gcmVwbGFjZWQgYnkgaW5uZXJIVE1ML3RleHRDb250ZW50IHJldGFpbnMgaXRzIHBhcmVudE5vZGUgcHJvcGVydHlcbiAgICAgIGlmIChlbG0uY2hpbGROb2Rlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgZWxtLnJlbW92ZUNoaWxkKGVsbS5jaGlsZE5vZGVzWzBdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoa2V5ID09PSAndmFsdWUnICYmIGVsbS50YWdOYW1lICE9PSAnUFJPR1JFU1MnKSB7XG4gICAgICAvLyBzdG9yZSB2YWx1ZSBhcyBfdmFsdWUgYXMgd2VsbCBzaW5jZVxuICAgICAgLy8gbm9uLXN0cmluZyB2YWx1ZXMgd2lsbCBiZSBzdHJpbmdpZmllZFxuICAgICAgZWxtLl92YWx1ZSA9IGN1cjtcbiAgICAgIC8vIGF2b2lkIHJlc2V0dGluZyBjdXJzb3IgcG9zaXRpb24gd2hlbiB2YWx1ZSBpcyB0aGUgc2FtZVxuICAgICAgdmFyIHN0ckN1ciA9IGlzVW5kZWYoY3VyKSA/ICcnIDogU3RyaW5nKGN1cik7XG4gICAgICBpZiAoc2hvdWxkVXBkYXRlVmFsdWUoZWxtLCBzdHJDdXIpKSB7XG4gICAgICAgIGVsbS52YWx1ZSA9IHN0ckN1cjtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2lubmVySFRNTCcgJiYgaXNTVkcoZWxtLnRhZ05hbWUpICYmIGlzVW5kZWYoZWxtLmlubmVySFRNTCkpIHtcbiAgICAgIC8vIElFIGRvZXNuJ3Qgc3VwcG9ydCBpbm5lckhUTUwgZm9yIFNWRyBlbGVtZW50c1xuICAgICAgc3ZnQ29udGFpbmVyID0gc3ZnQ29udGFpbmVyIHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgc3ZnQ29udGFpbmVyLmlubmVySFRNTCA9IFwiPHN2Zz5cIiArIGN1ciArIFwiPC9zdmc+XCI7XG4gICAgICB2YXIgc3ZnID0gc3ZnQ29udGFpbmVyLmZpcnN0Q2hpbGQ7XG4gICAgICB3aGlsZSAoZWxtLmZpcnN0Q2hpbGQpIHtcbiAgICAgICAgZWxtLnJlbW92ZUNoaWxkKGVsbS5maXJzdENoaWxkKTtcbiAgICAgIH1cbiAgICAgIHdoaWxlIChzdmcuZmlyc3RDaGlsZCkge1xuICAgICAgICBlbG0uYXBwZW5kQ2hpbGQoc3ZnLmZpcnN0Q2hpbGQpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICAvLyBza2lwIHRoZSB1cGRhdGUgaWYgb2xkIGFuZCBuZXcgVkRPTSBzdGF0ZSBpcyB0aGUgc2FtZS5cbiAgICAgIC8vIGB2YWx1ZWAgaXMgaGFuZGxlZCBzZXBhcmF0ZWx5IGJlY2F1c2UgdGhlIERPTSB2YWx1ZSBtYXkgYmUgdGVtcG9yYXJpbHlcbiAgICAgIC8vIG91dCBvZiBzeW5jIHdpdGggVkRPTSBzdGF0ZSBkdWUgdG8gZm9jdXMsIGNvbXBvc2l0aW9uIGFuZCBtb2RpZmllcnMuXG4gICAgICAvLyBUaGlzICAjNDUyMSBieSBza2lwcGluZyB0aGUgdW5uZWNlc2FycnkgYGNoZWNrZWRgIHVwZGF0ZS5cbiAgICAgIGN1ciAhPT0gb2xkUHJvcHNba2V5XVxuICAgICkge1xuICAgICAgLy8gc29tZSBwcm9wZXJ0eSB1cGRhdGVzIGNhbiB0aHJvd1xuICAgICAgLy8gZS5nLiBgdmFsdWVgIG9uIDxwcm9ncmVzcz4gdy8gbm9uLWZpbml0ZSB2YWx1ZVxuICAgICAgdHJ5IHtcbiAgICAgICAgZWxtW2tleV0gPSBjdXI7XG4gICAgICB9IGNhdGNoIChlKSB7fVxuICAgIH1cbiAgfVxufVxuXG4vLyBjaGVjayBwbGF0Zm9ybXMvd2ViL3V0aWwvYXR0cnMuanMgYWNjZXB0VmFsdWVcblxuXG5mdW5jdGlvbiBzaG91bGRVcGRhdGVWYWx1ZSAoZWxtLCBjaGVja1ZhbCkge1xuICByZXR1cm4gKCFlbG0uY29tcG9zaW5nICYmIChcbiAgICBlbG0udGFnTmFtZSA9PT0gJ09QVElPTicgfHxcbiAgICBpc05vdEluRm9jdXNBbmREaXJ0eShlbG0sIGNoZWNrVmFsKSB8fFxuICAgIGlzRGlydHlXaXRoTW9kaWZpZXJzKGVsbSwgY2hlY2tWYWwpXG4gICkpXG59XG5cbmZ1bmN0aW9uIGlzTm90SW5Gb2N1c0FuZERpcnR5IChlbG0sIGNoZWNrVmFsKSB7XG4gIC8vIHJldHVybiB0cnVlIHdoZW4gdGV4dGJveCAoLm51bWJlciBhbmQgLnRyaW0pIGxvc2VzIGZvY3VzIGFuZCBpdHMgdmFsdWUgaXNcbiAgLy8gbm90IGVxdWFsIHRvIHRoZSB1cGRhdGVkIHZhbHVlXG4gIHZhciBub3RJbkZvY3VzID0gdHJ1ZTtcbiAgLy8gIzYxNTdcbiAgLy8gd29yayBhcm91bmQgSUUgYnVnIHdoZW4gYWNjZXNzaW5nIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaW4gYW4gaWZyYW1lXG4gIHRyeSB7IG5vdEluRm9jdXMgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSBlbG07IH0gY2F0Y2ggKGUpIHt9XG4gIHJldHVybiBub3RJbkZvY3VzICYmIGVsbS52YWx1ZSAhPT0gY2hlY2tWYWxcbn1cblxuZnVuY3Rpb24gaXNEaXJ0eVdpdGhNb2RpZmllcnMgKGVsbSwgbmV3VmFsKSB7XG4gIHZhciB2YWx1ZSA9IGVsbS52YWx1ZTtcbiAgdmFyIG1vZGlmaWVycyA9IGVsbS5fdk1vZGlmaWVyczsgLy8gaW5qZWN0ZWQgYnkgdi1tb2RlbCBydW50aW1lXG4gIGlmIChpc0RlZihtb2RpZmllcnMpKSB7XG4gICAgaWYgKG1vZGlmaWVycy5udW1iZXIpIHtcbiAgICAgIHJldHVybiB0b051bWJlcih2YWx1ZSkgIT09IHRvTnVtYmVyKG5ld1ZhbClcbiAgICB9XG4gICAgaWYgKG1vZGlmaWVycy50cmltKSB7XG4gICAgICByZXR1cm4gdmFsdWUudHJpbSgpICE9PSBuZXdWYWwudHJpbSgpXG4gICAgfVxuICB9XG4gIHJldHVybiB2YWx1ZSAhPT0gbmV3VmFsXG59XG5cbnZhciBkb21Qcm9wcyA9IHtcbiAgY3JlYXRlOiB1cGRhdGVET01Qcm9wcyxcbiAgdXBkYXRlOiB1cGRhdGVET01Qcm9wc1xufTtcblxuLyogICovXG5cbnZhciBwYXJzZVN0eWxlVGV4dCA9IGNhY2hlZChmdW5jdGlvbiAoY3NzVGV4dCkge1xuICB2YXIgcmVzID0ge307XG4gIHZhciBsaXN0RGVsaW1pdGVyID0gLzsoPyFbXihdKlxcKSkvZztcbiAgdmFyIHByb3BlcnR5RGVsaW1pdGVyID0gLzooLispLztcbiAgY3NzVGV4dC5zcGxpdChsaXN0RGVsaW1pdGVyKS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIHZhciB0bXAgPSBpdGVtLnNwbGl0KHByb3BlcnR5RGVsaW1pdGVyKTtcbiAgICAgIHRtcC5sZW5ndGggPiAxICYmIChyZXNbdG1wWzBdLnRyaW0oKV0gPSB0bXBbMV0udHJpbSgpKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gcmVzXG59KTtcblxuLy8gbWVyZ2Ugc3RhdGljIGFuZCBkeW5hbWljIHN0eWxlIGRhdGEgb24gdGhlIHNhbWUgdm5vZGVcbmZ1bmN0aW9uIG5vcm1hbGl6ZVN0eWxlRGF0YSAoZGF0YSkge1xuICB2YXIgc3R5bGUgPSBub3JtYWxpemVTdHlsZUJpbmRpbmcoZGF0YS5zdHlsZSk7XG4gIC8vIHN0YXRpYyBzdHlsZSBpcyBwcmUtcHJvY2Vzc2VkIGludG8gYW4gb2JqZWN0IGR1cmluZyBjb21waWxhdGlvblxuICAvLyBhbmQgaXMgYWx3YXlzIGEgZnJlc2ggb2JqZWN0LCBzbyBpdCdzIHNhZmUgdG8gbWVyZ2UgaW50byBpdFxuICByZXR1cm4gZGF0YS5zdGF0aWNTdHlsZVxuICAgID8gZXh0ZW5kKGRhdGEuc3RhdGljU3R5bGUsIHN0eWxlKVxuICAgIDogc3R5bGVcbn1cblxuLy8gbm9ybWFsaXplIHBvc3NpYmxlIGFycmF5IC8gc3RyaW5nIHZhbHVlcyBpbnRvIE9iamVjdFxuZnVuY3Rpb24gbm9ybWFsaXplU3R5bGVCaW5kaW5nIChiaW5kaW5nU3R5bGUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoYmluZGluZ1N0eWxlKSkge1xuICAgIHJldHVybiB0b09iamVjdChiaW5kaW5nU3R5bGUpXG4gIH1cbiAgaWYgKHR5cGVvZiBiaW5kaW5nU3R5bGUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHBhcnNlU3R5bGVUZXh0KGJpbmRpbmdTdHlsZSlcbiAgfVxuICByZXR1cm4gYmluZGluZ1N0eWxlXG59XG5cbi8qKlxuICogcGFyZW50IGNvbXBvbmVudCBzdHlsZSBzaG91bGQgYmUgYWZ0ZXIgY2hpbGQnc1xuICogc28gdGhhdCBwYXJlbnQgY29tcG9uZW50J3Mgc3R5bGUgY291bGQgb3ZlcnJpZGUgaXRcbiAqL1xuZnVuY3Rpb24gZ2V0U3R5bGUgKHZub2RlLCBjaGVja0NoaWxkKSB7XG4gIHZhciByZXMgPSB7fTtcbiAgdmFyIHN0eWxlRGF0YTtcblxuICBpZiAoY2hlY2tDaGlsZCkge1xuICAgIHZhciBjaGlsZE5vZGUgPSB2bm9kZTtcbiAgICB3aGlsZSAoY2hpbGROb2RlLmNvbXBvbmVudEluc3RhbmNlKSB7XG4gICAgICBjaGlsZE5vZGUgPSBjaGlsZE5vZGUuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlO1xuICAgICAgaWYgKFxuICAgICAgICBjaGlsZE5vZGUgJiYgY2hpbGROb2RlLmRhdGEgJiZcbiAgICAgICAgKHN0eWxlRGF0YSA9IG5vcm1hbGl6ZVN0eWxlRGF0YShjaGlsZE5vZGUuZGF0YSkpXG4gICAgICApIHtcbiAgICAgICAgZXh0ZW5kKHJlcywgc3R5bGVEYXRhKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoKHN0eWxlRGF0YSA9IG5vcm1hbGl6ZVN0eWxlRGF0YSh2bm9kZS5kYXRhKSkpIHtcbiAgICBleHRlbmQocmVzLCBzdHlsZURhdGEpO1xuICB9XG5cbiAgdmFyIHBhcmVudE5vZGUgPSB2bm9kZTtcbiAgd2hpbGUgKChwYXJlbnROb2RlID0gcGFyZW50Tm9kZS5wYXJlbnQpKSB7XG4gICAgaWYgKHBhcmVudE5vZGUuZGF0YSAmJiAoc3R5bGVEYXRhID0gbm9ybWFsaXplU3R5bGVEYXRhKHBhcmVudE5vZGUuZGF0YSkpKSB7XG4gICAgICBleHRlbmQocmVzLCBzdHlsZURhdGEpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbi8qICAqL1xuXG52YXIgY3NzVmFyUkUgPSAvXi0tLztcbnZhciBpbXBvcnRhbnRSRSA9IC9cXHMqIWltcG9ydGFudCQvO1xudmFyIHNldFByb3AgPSBmdW5jdGlvbiAoZWwsIG5hbWUsIHZhbCkge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKGNzc1ZhclJFLnRlc3QobmFtZSkpIHtcbiAgICBlbC5zdHlsZS5zZXRQcm9wZXJ0eShuYW1lLCB2YWwpO1xuICB9IGVsc2UgaWYgKGltcG9ydGFudFJFLnRlc3QodmFsKSkge1xuICAgIGVsLnN0eWxlLnNldFByb3BlcnR5KGh5cGhlbmF0ZShuYW1lKSwgdmFsLnJlcGxhY2UoaW1wb3J0YW50UkUsICcnKSwgJ2ltcG9ydGFudCcpO1xuICB9IGVsc2Uge1xuICAgIHZhciBub3JtYWxpemVkTmFtZSA9IG5vcm1hbGl6ZShuYW1lKTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICAvLyBTdXBwb3J0IHZhbHVlcyBhcnJheSBjcmVhdGVkIGJ5IGF1dG9wcmVmaXhlciwgZS5nLlxuICAgICAgLy8ge2Rpc3BsYXk6IFtcIi13ZWJraXQtYm94XCIsIFwiLW1zLWZsZXhib3hcIiwgXCJmbGV4XCJdfVxuICAgICAgLy8gU2V0IHRoZW0gb25lIGJ5IG9uZSwgYW5kIHRoZSBicm93c2VyIHdpbGwgb25seSBzZXQgdGhvc2UgaXQgY2FuIHJlY29nbml6ZVxuICAgICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IHZhbC5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgICBlbC5zdHlsZVtub3JtYWxpemVkTmFtZV0gPSB2YWxbaV07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsLnN0eWxlW25vcm1hbGl6ZWROYW1lXSA9IHZhbDtcbiAgICB9XG4gIH1cbn07XG5cbnZhciB2ZW5kb3JOYW1lcyA9IFsnV2Via2l0JywgJ01veicsICdtcyddO1xuXG52YXIgZW1wdHlTdHlsZTtcbnZhciBub3JtYWxpemUgPSBjYWNoZWQoZnVuY3Rpb24gKHByb3ApIHtcbiAgZW1wdHlTdHlsZSA9IGVtcHR5U3R5bGUgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jykuc3R5bGU7XG4gIHByb3AgPSBjYW1lbGl6ZShwcm9wKTtcbiAgaWYgKHByb3AgIT09ICdmaWx0ZXInICYmIChwcm9wIGluIGVtcHR5U3R5bGUpKSB7XG4gICAgcmV0dXJuIHByb3BcbiAgfVxuICB2YXIgY2FwTmFtZSA9IHByb3AuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBwcm9wLnNsaWNlKDEpO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHZlbmRvck5hbWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIG5hbWUgPSB2ZW5kb3JOYW1lc1tpXSArIGNhcE5hbWU7XG4gICAgaWYgKG5hbWUgaW4gZW1wdHlTdHlsZSkge1xuICAgICAgcmV0dXJuIG5hbWVcbiAgICB9XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiB1cGRhdGVTdHlsZSAob2xkVm5vZGUsIHZub2RlKSB7XG4gIHZhciBkYXRhID0gdm5vZGUuZGF0YTtcbiAgdmFyIG9sZERhdGEgPSBvbGRWbm9kZS5kYXRhO1xuXG4gIGlmIChpc1VuZGVmKGRhdGEuc3RhdGljU3R5bGUpICYmIGlzVW5kZWYoZGF0YS5zdHlsZSkgJiZcbiAgICBpc1VuZGVmKG9sZERhdGEuc3RhdGljU3R5bGUpICYmIGlzVW5kZWYob2xkRGF0YS5zdHlsZSlcbiAgKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICB2YXIgY3VyLCBuYW1lO1xuICB2YXIgZWwgPSB2bm9kZS5lbG07XG4gIHZhciBvbGRTdGF0aWNTdHlsZSA9IG9sZERhdGEuc3RhdGljU3R5bGU7XG4gIHZhciBvbGRTdHlsZUJpbmRpbmcgPSBvbGREYXRhLm5vcm1hbGl6ZWRTdHlsZSB8fCBvbGREYXRhLnN0eWxlIHx8IHt9O1xuXG4gIC8vIGlmIHN0YXRpYyBzdHlsZSBleGlzdHMsIHN0eWxlYmluZGluZyBhbHJlYWR5IG1lcmdlZCBpbnRvIGl0IHdoZW4gZG9pbmcgbm9ybWFsaXplU3R5bGVEYXRhXG4gIHZhciBvbGRTdHlsZSA9IG9sZFN0YXRpY1N0eWxlIHx8IG9sZFN0eWxlQmluZGluZztcblxuICB2YXIgc3R5bGUgPSBub3JtYWxpemVTdHlsZUJpbmRpbmcodm5vZGUuZGF0YS5zdHlsZSkgfHwge307XG5cbiAgLy8gc3RvcmUgbm9ybWFsaXplZCBzdHlsZSB1bmRlciBhIGRpZmZlcmVudCBrZXkgZm9yIG5leHQgZGlmZlxuICAvLyBtYWtlIHN1cmUgdG8gY2xvbmUgaXQgaWYgaXQncyByZWFjdGl2ZSwgc2luY2UgdGhlIHVzZXIgbGlrZWx5IHdhbnRzXG4gIC8vIHRvIG11dGF0ZSBpdC5cbiAgdm5vZGUuZGF0YS5ub3JtYWxpemVkU3R5bGUgPSBpc0RlZihzdHlsZS5fX29iX18pXG4gICAgPyBleHRlbmQoe30sIHN0eWxlKVxuICAgIDogc3R5bGU7XG5cbiAgdmFyIG5ld1N0eWxlID0gZ2V0U3R5bGUodm5vZGUsIHRydWUpO1xuXG4gIGZvciAobmFtZSBpbiBvbGRTdHlsZSkge1xuICAgIGlmIChpc1VuZGVmKG5ld1N0eWxlW25hbWVdKSkge1xuICAgICAgc2V0UHJvcChlbCwgbmFtZSwgJycpO1xuICAgIH1cbiAgfVxuICBmb3IgKG5hbWUgaW4gbmV3U3R5bGUpIHtcbiAgICBjdXIgPSBuZXdTdHlsZVtuYW1lXTtcbiAgICBpZiAoY3VyICE9PSBvbGRTdHlsZVtuYW1lXSkge1xuICAgICAgLy8gaWU5IHNldHRpbmcgdG8gbnVsbCBoYXMgbm8gZWZmZWN0LCBtdXN0IHVzZSBlbXB0eSBzdHJpbmdcbiAgICAgIHNldFByb3AoZWwsIG5hbWUsIGN1ciA9PSBudWxsID8gJycgOiBjdXIpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgc3R5bGUgPSB7XG4gIGNyZWF0ZTogdXBkYXRlU3R5bGUsXG4gIHVwZGF0ZTogdXBkYXRlU3R5bGVcbn07XG5cbi8qICAqL1xuXG52YXIgd2hpdGVzcGFjZVJFID0gL1xccysvO1xuXG4vKipcbiAqIEFkZCBjbGFzcyB3aXRoIGNvbXBhdGliaWxpdHkgZm9yIFNWRyBzaW5jZSBjbGFzc0xpc3QgaXMgbm90IHN1cHBvcnRlZCBvblxuICogU1ZHIGVsZW1lbnRzIGluIElFXG4gKi9cbmZ1bmN0aW9uIGFkZENsYXNzIChlbCwgY2xzKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoIWNscyB8fCAhKGNscyA9IGNscy50cmltKCkpKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICBpZiAoZWwuY2xhc3NMaXN0KSB7XG4gICAgaWYgKGNscy5pbmRleE9mKCcgJykgPiAtMSkge1xuICAgICAgY2xzLnNwbGl0KHdoaXRlc3BhY2VSRSkuZm9yRWFjaChmdW5jdGlvbiAoYykgeyByZXR1cm4gZWwuY2xhc3NMaXN0LmFkZChjKTsgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsLmNsYXNzTGlzdC5hZGQoY2xzKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdmFyIGN1ciA9IFwiIFwiICsgKGVsLmdldEF0dHJpYnV0ZSgnY2xhc3MnKSB8fCAnJykgKyBcIiBcIjtcbiAgICBpZiAoY3VyLmluZGV4T2YoJyAnICsgY2xzICsgJyAnKSA8IDApIHtcbiAgICAgIGVsLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCAoY3VyICsgY2xzKS50cmltKCkpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFJlbW92ZSBjbGFzcyB3aXRoIGNvbXBhdGliaWxpdHkgZm9yIFNWRyBzaW5jZSBjbGFzc0xpc3QgaXMgbm90IHN1cHBvcnRlZCBvblxuICogU1ZHIGVsZW1lbnRzIGluIElFXG4gKi9cbmZ1bmN0aW9uIHJlbW92ZUNsYXNzIChlbCwgY2xzKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoIWNscyB8fCAhKGNscyA9IGNscy50cmltKCkpKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICBpZiAoZWwuY2xhc3NMaXN0KSB7XG4gICAgaWYgKGNscy5pbmRleE9mKCcgJykgPiAtMSkge1xuICAgICAgY2xzLnNwbGl0KHdoaXRlc3BhY2VSRSkuZm9yRWFjaChmdW5jdGlvbiAoYykgeyByZXR1cm4gZWwuY2xhc3NMaXN0LnJlbW92ZShjKTsgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUoY2xzKTtcbiAgICB9XG4gICAgaWYgKCFlbC5jbGFzc0xpc3QubGVuZ3RoKSB7XG4gICAgICBlbC5yZW1vdmVBdHRyaWJ1dGUoJ2NsYXNzJyk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHZhciBjdXIgPSBcIiBcIiArIChlbC5nZXRBdHRyaWJ1dGUoJ2NsYXNzJykgfHwgJycpICsgXCIgXCI7XG4gICAgdmFyIHRhciA9ICcgJyArIGNscyArICcgJztcbiAgICB3aGlsZSAoY3VyLmluZGV4T2YodGFyKSA+PSAwKSB7XG4gICAgICBjdXIgPSBjdXIucmVwbGFjZSh0YXIsICcgJyk7XG4gICAgfVxuICAgIGN1ciA9IGN1ci50cmltKCk7XG4gICAgaWYgKGN1cikge1xuICAgICAgZWwuc2V0QXR0cmlidXRlKCdjbGFzcycsIGN1cik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsLnJlbW92ZUF0dHJpYnV0ZSgnY2xhc3MnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIHJlc29sdmVUcmFuc2l0aW9uIChkZWYkJDEpIHtcbiAgaWYgKCFkZWYkJDEpIHtcbiAgICByZXR1cm5cbiAgfVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICBpZiAodHlwZW9mIGRlZiQkMSA9PT0gJ29iamVjdCcpIHtcbiAgICB2YXIgcmVzID0ge307XG4gICAgaWYgKGRlZiQkMS5jc3MgIT09IGZhbHNlKSB7XG4gICAgICBleHRlbmQocmVzLCBhdXRvQ3NzVHJhbnNpdGlvbihkZWYkJDEubmFtZSB8fCAndicpKTtcbiAgICB9XG4gICAgZXh0ZW5kKHJlcywgZGVmJCQxKTtcbiAgICByZXR1cm4gcmVzXG4gIH0gZWxzZSBpZiAodHlwZW9mIGRlZiQkMSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gYXV0b0Nzc1RyYW5zaXRpb24oZGVmJCQxKVxuICB9XG59XG5cbnZhciBhdXRvQ3NzVHJhbnNpdGlvbiA9IGNhY2hlZChmdW5jdGlvbiAobmFtZSkge1xuICByZXR1cm4ge1xuICAgIGVudGVyQ2xhc3M6IChuYW1lICsgXCItZW50ZXJcIiksXG4gICAgZW50ZXJUb0NsYXNzOiAobmFtZSArIFwiLWVudGVyLXRvXCIpLFxuICAgIGVudGVyQWN0aXZlQ2xhc3M6IChuYW1lICsgXCItZW50ZXItYWN0aXZlXCIpLFxuICAgIGxlYXZlQ2xhc3M6IChuYW1lICsgXCItbGVhdmVcIiksXG4gICAgbGVhdmVUb0NsYXNzOiAobmFtZSArIFwiLWxlYXZlLXRvXCIpLFxuICAgIGxlYXZlQWN0aXZlQ2xhc3M6IChuYW1lICsgXCItbGVhdmUtYWN0aXZlXCIpXG4gIH1cbn0pO1xuXG52YXIgaGFzVHJhbnNpdGlvbiA9IGluQnJvd3NlciAmJiAhaXNJRTk7XG52YXIgVFJBTlNJVElPTiA9ICd0cmFuc2l0aW9uJztcbnZhciBBTklNQVRJT04gPSAnYW5pbWF0aW9uJztcblxuLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eS9ldmVudCBzbmlmZmluZ1xudmFyIHRyYW5zaXRpb25Qcm9wID0gJ3RyYW5zaXRpb24nO1xudmFyIHRyYW5zaXRpb25FbmRFdmVudCA9ICd0cmFuc2l0aW9uZW5kJztcbnZhciBhbmltYXRpb25Qcm9wID0gJ2FuaW1hdGlvbic7XG52YXIgYW5pbWF0aW9uRW5kRXZlbnQgPSAnYW5pbWF0aW9uZW5kJztcbmlmIChoYXNUcmFuc2l0aW9uKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAod2luZG93Lm9udHJhbnNpdGlvbmVuZCA9PT0gdW5kZWZpbmVkICYmXG4gICAgd2luZG93Lm9ud2Via2l0dHJhbnNpdGlvbmVuZCAhPT0gdW5kZWZpbmVkXG4gICkge1xuICAgIHRyYW5zaXRpb25Qcm9wID0gJ1dlYmtpdFRyYW5zaXRpb24nO1xuICAgIHRyYW5zaXRpb25FbmRFdmVudCA9ICd3ZWJraXRUcmFuc2l0aW9uRW5kJztcbiAgfVxuICBpZiAod2luZG93Lm9uYW5pbWF0aW9uZW5kID09PSB1bmRlZmluZWQgJiZcbiAgICB3aW5kb3cub253ZWJraXRhbmltYXRpb25lbmQgIT09IHVuZGVmaW5lZFxuICApIHtcbiAgICBhbmltYXRpb25Qcm9wID0gJ1dlYmtpdEFuaW1hdGlvbic7XG4gICAgYW5pbWF0aW9uRW5kRXZlbnQgPSAnd2Via2l0QW5pbWF0aW9uRW5kJztcbiAgfVxufVxuXG4vLyBiaW5kaW5nIHRvIHdpbmRvdyBpcyBuZWNlc3NhcnkgdG8gbWFrZSBob3QgcmVsb2FkIHdvcmsgaW4gSUUgaW4gc3RyaWN0IG1vZGVcbnZhciByYWYgPSBpbkJyb3dzZXJcbiAgPyB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lXG4gICAgPyB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lLmJpbmQod2luZG93KVxuICAgIDogc2V0VGltZW91dFxuICA6IC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIGZ1bmN0aW9uIChmbikgeyByZXR1cm4gZm4oKTsgfTtcblxuZnVuY3Rpb24gbmV4dEZyYW1lIChmbikge1xuICByYWYoZnVuY3Rpb24gKCkge1xuICAgIHJhZihmbik7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGRUcmFuc2l0aW9uQ2xhc3MgKGVsLCBjbHMpIHtcbiAgdmFyIHRyYW5zaXRpb25DbGFzc2VzID0gZWwuX3RyYW5zaXRpb25DbGFzc2VzIHx8IChlbC5fdHJhbnNpdGlvbkNsYXNzZXMgPSBbXSk7XG4gIGlmICh0cmFuc2l0aW9uQ2xhc3Nlcy5pbmRleE9mKGNscykgPCAwKSB7XG4gICAgdHJhbnNpdGlvbkNsYXNzZXMucHVzaChjbHMpO1xuICAgIGFkZENsYXNzKGVsLCBjbHMpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlbW92ZVRyYW5zaXRpb25DbGFzcyAoZWwsIGNscykge1xuICBpZiAoZWwuX3RyYW5zaXRpb25DbGFzc2VzKSB7XG4gICAgcmVtb3ZlKGVsLl90cmFuc2l0aW9uQ2xhc3NlcywgY2xzKTtcbiAgfVxuICByZW1vdmVDbGFzcyhlbCwgY2xzKTtcbn1cblxuZnVuY3Rpb24gd2hlblRyYW5zaXRpb25FbmRzIChcbiAgZWwsXG4gIGV4cGVjdGVkVHlwZSxcbiAgY2Jcbikge1xuICB2YXIgcmVmID0gZ2V0VHJhbnNpdGlvbkluZm8oZWwsIGV4cGVjdGVkVHlwZSk7XG4gIHZhciB0eXBlID0gcmVmLnR5cGU7XG4gIHZhciB0aW1lb3V0ID0gcmVmLnRpbWVvdXQ7XG4gIHZhciBwcm9wQ291bnQgPSByZWYucHJvcENvdW50O1xuICBpZiAoIXR5cGUpIHsgcmV0dXJuIGNiKCkgfVxuICB2YXIgZXZlbnQgPSB0eXBlID09PSBUUkFOU0lUSU9OID8gdHJhbnNpdGlvbkVuZEV2ZW50IDogYW5pbWF0aW9uRW5kRXZlbnQ7XG4gIHZhciBlbmRlZCA9IDA7XG4gIHZhciBlbmQgPSBmdW5jdGlvbiAoKSB7XG4gICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudCwgb25FbmQpO1xuICAgIGNiKCk7XG4gIH07XG4gIHZhciBvbkVuZCA9IGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKGUudGFyZ2V0ID09PSBlbCkge1xuICAgICAgaWYgKCsrZW5kZWQgPj0gcHJvcENvdW50KSB7XG4gICAgICAgIGVuZCgpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbiAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgaWYgKGVuZGVkIDwgcHJvcENvdW50KSB7XG4gICAgICBlbmQoKTtcbiAgICB9XG4gIH0sIHRpbWVvdXQgKyAxKTtcbiAgZWwuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgb25FbmQpO1xufVxuXG52YXIgdHJhbnNmb3JtUkUgPSAvXFxiKHRyYW5zZm9ybXxhbGwpKCx8JCkvO1xuXG5mdW5jdGlvbiBnZXRUcmFuc2l0aW9uSW5mbyAoZWwsIGV4cGVjdGVkVHlwZSkge1xuICB2YXIgc3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwpO1xuICAvLyBKU0RPTSBtYXkgcmV0dXJuIHVuZGVmaW5lZCBmb3IgdHJhbnNpdGlvbiBwcm9wZXJ0aWVzXG4gIHZhciB0cmFuc2l0aW9uRGVsYXlzID0gKHN0eWxlc1t0cmFuc2l0aW9uUHJvcCArICdEZWxheSddIHx8ICcnKS5zcGxpdCgnLCAnKTtcbiAgdmFyIHRyYW5zaXRpb25EdXJhdGlvbnMgPSAoc3R5bGVzW3RyYW5zaXRpb25Qcm9wICsgJ0R1cmF0aW9uJ10gfHwgJycpLnNwbGl0KCcsICcpO1xuICB2YXIgdHJhbnNpdGlvblRpbWVvdXQgPSBnZXRUaW1lb3V0KHRyYW5zaXRpb25EZWxheXMsIHRyYW5zaXRpb25EdXJhdGlvbnMpO1xuICB2YXIgYW5pbWF0aW9uRGVsYXlzID0gKHN0eWxlc1thbmltYXRpb25Qcm9wICsgJ0RlbGF5J10gfHwgJycpLnNwbGl0KCcsICcpO1xuICB2YXIgYW5pbWF0aW9uRHVyYXRpb25zID0gKHN0eWxlc1thbmltYXRpb25Qcm9wICsgJ0R1cmF0aW9uJ10gfHwgJycpLnNwbGl0KCcsICcpO1xuICB2YXIgYW5pbWF0aW9uVGltZW91dCA9IGdldFRpbWVvdXQoYW5pbWF0aW9uRGVsYXlzLCBhbmltYXRpb25EdXJhdGlvbnMpO1xuXG4gIHZhciB0eXBlO1xuICB2YXIgdGltZW91dCA9IDA7XG4gIHZhciBwcm9wQ291bnQgPSAwO1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKGV4cGVjdGVkVHlwZSA9PT0gVFJBTlNJVElPTikge1xuICAgIGlmICh0cmFuc2l0aW9uVGltZW91dCA+IDApIHtcbiAgICAgIHR5cGUgPSBUUkFOU0lUSU9OO1xuICAgICAgdGltZW91dCA9IHRyYW5zaXRpb25UaW1lb3V0O1xuICAgICAgcHJvcENvdW50ID0gdHJhbnNpdGlvbkR1cmF0aW9ucy5sZW5ndGg7XG4gICAgfVxuICB9IGVsc2UgaWYgKGV4cGVjdGVkVHlwZSA9PT0gQU5JTUFUSU9OKSB7XG4gICAgaWYgKGFuaW1hdGlvblRpbWVvdXQgPiAwKSB7XG4gICAgICB0eXBlID0gQU5JTUFUSU9OO1xuICAgICAgdGltZW91dCA9IGFuaW1hdGlvblRpbWVvdXQ7XG4gICAgICBwcm9wQ291bnQgPSBhbmltYXRpb25EdXJhdGlvbnMubGVuZ3RoO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB0aW1lb3V0ID0gTWF0aC5tYXgodHJhbnNpdGlvblRpbWVvdXQsIGFuaW1hdGlvblRpbWVvdXQpO1xuICAgIHR5cGUgPSB0aW1lb3V0ID4gMFxuICAgICAgPyB0cmFuc2l0aW9uVGltZW91dCA+IGFuaW1hdGlvblRpbWVvdXRcbiAgICAgICAgPyBUUkFOU0lUSU9OXG4gICAgICAgIDogQU5JTUFUSU9OXG4gICAgICA6IG51bGw7XG4gICAgcHJvcENvdW50ID0gdHlwZVxuICAgICAgPyB0eXBlID09PSBUUkFOU0lUSU9OXG4gICAgICAgID8gdHJhbnNpdGlvbkR1cmF0aW9ucy5sZW5ndGhcbiAgICAgICAgOiBhbmltYXRpb25EdXJhdGlvbnMubGVuZ3RoXG4gICAgICA6IDA7XG4gIH1cbiAgdmFyIGhhc1RyYW5zZm9ybSA9XG4gICAgdHlwZSA9PT0gVFJBTlNJVElPTiAmJlxuICAgIHRyYW5zZm9ybVJFLnRlc3Qoc3R5bGVzW3RyYW5zaXRpb25Qcm9wICsgJ1Byb3BlcnR5J10pO1xuICByZXR1cm4ge1xuICAgIHR5cGU6IHR5cGUsXG4gICAgdGltZW91dDogdGltZW91dCxcbiAgICBwcm9wQ291bnQ6IHByb3BDb3VudCxcbiAgICBoYXNUcmFuc2Zvcm06IGhhc1RyYW5zZm9ybVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldFRpbWVvdXQgKGRlbGF5cywgZHVyYXRpb25zKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHdoaWxlIChkZWxheXMubGVuZ3RoIDwgZHVyYXRpb25zLmxlbmd0aCkge1xuICAgIGRlbGF5cyA9IGRlbGF5cy5jb25jYXQoZGVsYXlzKTtcbiAgfVxuXG4gIHJldHVybiBNYXRoLm1heC5hcHBseShudWxsLCBkdXJhdGlvbnMubWFwKGZ1bmN0aW9uIChkLCBpKSB7XG4gICAgcmV0dXJuIHRvTXMoZCkgKyB0b01zKGRlbGF5c1tpXSlcbiAgfSkpXG59XG5cbi8vIE9sZCB2ZXJzaW9ucyBvZiBDaHJvbWl1bSAoYmVsb3cgNjEuMC4zMTYzLjEwMCkgZm9ybWF0cyBmbG9hdGluZyBwb2ludGVyIG51bWJlcnNcbi8vIGluIGEgbG9jYWxlLWRlcGVuZGVudCB3YXksIHVzaW5nIGEgY29tbWEgaW5zdGVhZCBvZiBhIGRvdC5cbi8vIElmIGNvbW1hIGlzIG5vdCByZXBsYWNlZCB3aXRoIGEgZG90LCB0aGUgaW5wdXQgd2lsbCBiZSByb3VuZGVkIGRvd24gKGkuZS4gYWN0aW5nXG4vLyBhcyBhIGZsb29yIGZ1bmN0aW9uKSBjYXVzaW5nIHVuZXhwZWN0ZWQgYmVoYXZpb3JzXG5mdW5jdGlvbiB0b01zIChzKSB7XG4gIHJldHVybiBOdW1iZXIocy5zbGljZSgwLCAtMSkucmVwbGFjZSgnLCcsICcuJykpICogMTAwMFxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gZW50ZXIgKHZub2RlLCB0b2dnbGVEaXNwbGF5KSB7XG4gIHZhciBlbCA9IHZub2RlLmVsbTtcblxuICAvLyBjYWxsIGxlYXZlIGNhbGxiYWNrIG5vd1xuICBpZiAoaXNEZWYoZWwuX2xlYXZlQ2IpKSB7XG4gICAgZWwuX2xlYXZlQ2IuY2FuY2VsbGVkID0gdHJ1ZTtcbiAgICBlbC5fbGVhdmVDYigpO1xuICB9XG5cbiAgdmFyIGRhdGEgPSByZXNvbHZlVHJhbnNpdGlvbih2bm9kZS5kYXRhLnRyYW5zaXRpb24pO1xuICBpZiAoaXNVbmRlZihkYXRhKSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmIChpc0RlZihlbC5fZW50ZXJDYikgfHwgZWwubm9kZVR5cGUgIT09IDEpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIHZhciBjc3MgPSBkYXRhLmNzcztcbiAgdmFyIHR5cGUgPSBkYXRhLnR5cGU7XG4gIHZhciBlbnRlckNsYXNzID0gZGF0YS5lbnRlckNsYXNzO1xuICB2YXIgZW50ZXJUb0NsYXNzID0gZGF0YS5lbnRlclRvQ2xhc3M7XG4gIHZhciBlbnRlckFjdGl2ZUNsYXNzID0gZGF0YS5lbnRlckFjdGl2ZUNsYXNzO1xuICB2YXIgYXBwZWFyQ2xhc3MgPSBkYXRhLmFwcGVhckNsYXNzO1xuICB2YXIgYXBwZWFyVG9DbGFzcyA9IGRhdGEuYXBwZWFyVG9DbGFzcztcbiAgdmFyIGFwcGVhckFjdGl2ZUNsYXNzID0gZGF0YS5hcHBlYXJBY3RpdmVDbGFzcztcbiAgdmFyIGJlZm9yZUVudGVyID0gZGF0YS5iZWZvcmVFbnRlcjtcbiAgdmFyIGVudGVyID0gZGF0YS5lbnRlcjtcbiAgdmFyIGFmdGVyRW50ZXIgPSBkYXRhLmFmdGVyRW50ZXI7XG4gIHZhciBlbnRlckNhbmNlbGxlZCA9IGRhdGEuZW50ZXJDYW5jZWxsZWQ7XG4gIHZhciBiZWZvcmVBcHBlYXIgPSBkYXRhLmJlZm9yZUFwcGVhcjtcbiAgdmFyIGFwcGVhciA9IGRhdGEuYXBwZWFyO1xuICB2YXIgYWZ0ZXJBcHBlYXIgPSBkYXRhLmFmdGVyQXBwZWFyO1xuICB2YXIgYXBwZWFyQ2FuY2VsbGVkID0gZGF0YS5hcHBlYXJDYW5jZWxsZWQ7XG4gIHZhciBkdXJhdGlvbiA9IGRhdGEuZHVyYXRpb247XG5cbiAgLy8gYWN0aXZlSW5zdGFuY2Ugd2lsbCBhbHdheXMgYmUgdGhlIDx0cmFuc2l0aW9uPiBjb21wb25lbnQgbWFuYWdpbmcgdGhpc1xuICAvLyB0cmFuc2l0aW9uLiBPbmUgZWRnZSBjYXNlIHRvIGNoZWNrIGlzIHdoZW4gdGhlIDx0cmFuc2l0aW9uPiBpcyBwbGFjZWRcbiAgLy8gYXMgdGhlIHJvb3Qgbm9kZSBvZiBhIGNoaWxkIGNvbXBvbmVudC4gSW4gdGhhdCBjYXNlIHdlIG5lZWQgdG8gY2hlY2tcbiAgLy8gPHRyYW5zaXRpb24+J3MgcGFyZW50IGZvciBhcHBlYXIgY2hlY2suXG4gIHZhciBjb250ZXh0ID0gYWN0aXZlSW5zdGFuY2U7XG4gIHZhciB0cmFuc2l0aW9uTm9kZSA9IGFjdGl2ZUluc3RhbmNlLiR2bm9kZTtcbiAgd2hpbGUgKHRyYW5zaXRpb25Ob2RlICYmIHRyYW5zaXRpb25Ob2RlLnBhcmVudCkge1xuICAgIGNvbnRleHQgPSB0cmFuc2l0aW9uTm9kZS5jb250ZXh0O1xuICAgIHRyYW5zaXRpb25Ob2RlID0gdHJhbnNpdGlvbk5vZGUucGFyZW50O1xuICB9XG5cbiAgdmFyIGlzQXBwZWFyID0gIWNvbnRleHQuX2lzTW91bnRlZCB8fCAhdm5vZGUuaXNSb290SW5zZXJ0O1xuXG4gIGlmIChpc0FwcGVhciAmJiAhYXBwZWFyICYmIGFwcGVhciAhPT0gJycpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIHZhciBzdGFydENsYXNzID0gaXNBcHBlYXIgJiYgYXBwZWFyQ2xhc3NcbiAgICA/IGFwcGVhckNsYXNzXG4gICAgOiBlbnRlckNsYXNzO1xuICB2YXIgYWN0aXZlQ2xhc3MgPSBpc0FwcGVhciAmJiBhcHBlYXJBY3RpdmVDbGFzc1xuICAgID8gYXBwZWFyQWN0aXZlQ2xhc3NcbiAgICA6IGVudGVyQWN0aXZlQ2xhc3M7XG4gIHZhciB0b0NsYXNzID0gaXNBcHBlYXIgJiYgYXBwZWFyVG9DbGFzc1xuICAgID8gYXBwZWFyVG9DbGFzc1xuICAgIDogZW50ZXJUb0NsYXNzO1xuXG4gIHZhciBiZWZvcmVFbnRlckhvb2sgPSBpc0FwcGVhclxuICAgID8gKGJlZm9yZUFwcGVhciB8fCBiZWZvcmVFbnRlcilcbiAgICA6IGJlZm9yZUVudGVyO1xuICB2YXIgZW50ZXJIb29rID0gaXNBcHBlYXJcbiAgICA/ICh0eXBlb2YgYXBwZWFyID09PSAnZnVuY3Rpb24nID8gYXBwZWFyIDogZW50ZXIpXG4gICAgOiBlbnRlcjtcbiAgdmFyIGFmdGVyRW50ZXJIb29rID0gaXNBcHBlYXJcbiAgICA/IChhZnRlckFwcGVhciB8fCBhZnRlckVudGVyKVxuICAgIDogYWZ0ZXJFbnRlcjtcbiAgdmFyIGVudGVyQ2FuY2VsbGVkSG9vayA9IGlzQXBwZWFyXG4gICAgPyAoYXBwZWFyQ2FuY2VsbGVkIHx8IGVudGVyQ2FuY2VsbGVkKVxuICAgIDogZW50ZXJDYW5jZWxsZWQ7XG5cbiAgdmFyIGV4cGxpY2l0RW50ZXJEdXJhdGlvbiA9IHRvTnVtYmVyKFxuICAgIGlzT2JqZWN0KGR1cmF0aW9uKVxuICAgICAgPyBkdXJhdGlvbi5lbnRlclxuICAgICAgOiBkdXJhdGlvblxuICApO1xuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGV4cGxpY2l0RW50ZXJEdXJhdGlvbiAhPSBudWxsKSB7XG4gICAgY2hlY2tEdXJhdGlvbihleHBsaWNpdEVudGVyRHVyYXRpb24sICdlbnRlcicsIHZub2RlKTtcbiAgfVxuXG4gIHZhciBleHBlY3RzQ1NTID0gY3NzICE9PSBmYWxzZSAmJiAhaXNJRTk7XG4gIHZhciB1c2VyV2FudHNDb250cm9sID0gZ2V0SG9va0FyZ3VtZW50c0xlbmd0aChlbnRlckhvb2spO1xuXG4gIHZhciBjYiA9IGVsLl9lbnRlckNiID0gb25jZShmdW5jdGlvbiAoKSB7XG4gICAgaWYgKGV4cGVjdHNDU1MpIHtcbiAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgdG9DbGFzcyk7XG4gICAgICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIGFjdGl2ZUNsYXNzKTtcbiAgICB9XG4gICAgaWYgKGNiLmNhbmNlbGxlZCkge1xuICAgICAgaWYgKGV4cGVjdHNDU1MpIHtcbiAgICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBzdGFydENsYXNzKTtcbiAgICAgIH1cbiAgICAgIGVudGVyQ2FuY2VsbGVkSG9vayAmJiBlbnRlckNhbmNlbGxlZEhvb2soZWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhZnRlckVudGVySG9vayAmJiBhZnRlckVudGVySG9vayhlbCk7XG4gICAgfVxuICAgIGVsLl9lbnRlckNiID0gbnVsbDtcbiAgfSk7XG5cbiAgaWYgKCF2bm9kZS5kYXRhLnNob3cpIHtcbiAgICAvLyByZW1vdmUgcGVuZGluZyBsZWF2ZSBlbGVtZW50IG9uIGVudGVyIGJ5IGluamVjdGluZyBhbiBpbnNlcnQgaG9va1xuICAgIG1lcmdlVk5vZGVIb29rKHZub2RlLCAnaW5zZXJ0JywgZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIHBhcmVudCA9IGVsLnBhcmVudE5vZGU7XG4gICAgICB2YXIgcGVuZGluZ05vZGUgPSBwYXJlbnQgJiYgcGFyZW50Ll9wZW5kaW5nICYmIHBhcmVudC5fcGVuZGluZ1t2bm9kZS5rZXldO1xuICAgICAgaWYgKHBlbmRpbmdOb2RlICYmXG4gICAgICAgIHBlbmRpbmdOb2RlLnRhZyA9PT0gdm5vZGUudGFnICYmXG4gICAgICAgIHBlbmRpbmdOb2RlLmVsbS5fbGVhdmVDYlxuICAgICAgKSB7XG4gICAgICAgIHBlbmRpbmdOb2RlLmVsbS5fbGVhdmVDYigpO1xuICAgICAgfVxuICAgICAgZW50ZXJIb29rICYmIGVudGVySG9vayhlbCwgY2IpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gc3RhcnQgZW50ZXIgdHJhbnNpdGlvblxuICBiZWZvcmVFbnRlckhvb2sgJiYgYmVmb3JlRW50ZXJIb29rKGVsKTtcbiAgaWYgKGV4cGVjdHNDU1MpIHtcbiAgICBhZGRUcmFuc2l0aW9uQ2xhc3MoZWwsIHN0YXJ0Q2xhc3MpO1xuICAgIGFkZFRyYW5zaXRpb25DbGFzcyhlbCwgYWN0aXZlQ2xhc3MpO1xuICAgIG5leHRGcmFtZShmdW5jdGlvbiAoKSB7XG4gICAgICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIHN0YXJ0Q2xhc3MpO1xuICAgICAgaWYgKCFjYi5jYW5jZWxsZWQpIHtcbiAgICAgICAgYWRkVHJhbnNpdGlvbkNsYXNzKGVsLCB0b0NsYXNzKTtcbiAgICAgICAgaWYgKCF1c2VyV2FudHNDb250cm9sKSB7XG4gICAgICAgICAgaWYgKGlzVmFsaWREdXJhdGlvbihleHBsaWNpdEVudGVyRHVyYXRpb24pKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGNiLCBleHBsaWNpdEVudGVyRHVyYXRpb24pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB3aGVuVHJhbnNpdGlvbkVuZHMoZWwsIHR5cGUsIGNiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGlmICh2bm9kZS5kYXRhLnNob3cpIHtcbiAgICB0b2dnbGVEaXNwbGF5ICYmIHRvZ2dsZURpc3BsYXkoKTtcbiAgICBlbnRlckhvb2sgJiYgZW50ZXJIb29rKGVsLCBjYik7XG4gIH1cblxuICBpZiAoIWV4cGVjdHNDU1MgJiYgIXVzZXJXYW50c0NvbnRyb2wpIHtcbiAgICBjYigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGxlYXZlICh2bm9kZSwgcm0pIHtcbiAgdmFyIGVsID0gdm5vZGUuZWxtO1xuXG4gIC8vIGNhbGwgZW50ZXIgY2FsbGJhY2sgbm93XG4gIGlmIChpc0RlZihlbC5fZW50ZXJDYikpIHtcbiAgICBlbC5fZW50ZXJDYi5jYW5jZWxsZWQgPSB0cnVlO1xuICAgIGVsLl9lbnRlckNiKCk7XG4gIH1cblxuICB2YXIgZGF0YSA9IHJlc29sdmVUcmFuc2l0aW9uKHZub2RlLmRhdGEudHJhbnNpdGlvbik7XG4gIGlmIChpc1VuZGVmKGRhdGEpIHx8IGVsLm5vZGVUeXBlICE9PSAxKSB7XG4gICAgcmV0dXJuIHJtKClcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoaXNEZWYoZWwuX2xlYXZlQ2IpKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICB2YXIgY3NzID0gZGF0YS5jc3M7XG4gIHZhciB0eXBlID0gZGF0YS50eXBlO1xuICB2YXIgbGVhdmVDbGFzcyA9IGRhdGEubGVhdmVDbGFzcztcbiAgdmFyIGxlYXZlVG9DbGFzcyA9IGRhdGEubGVhdmVUb0NsYXNzO1xuICB2YXIgbGVhdmVBY3RpdmVDbGFzcyA9IGRhdGEubGVhdmVBY3RpdmVDbGFzcztcbiAgdmFyIGJlZm9yZUxlYXZlID0gZGF0YS5iZWZvcmVMZWF2ZTtcbiAgdmFyIGxlYXZlID0gZGF0YS5sZWF2ZTtcbiAgdmFyIGFmdGVyTGVhdmUgPSBkYXRhLmFmdGVyTGVhdmU7XG4gIHZhciBsZWF2ZUNhbmNlbGxlZCA9IGRhdGEubGVhdmVDYW5jZWxsZWQ7XG4gIHZhciBkZWxheUxlYXZlID0gZGF0YS5kZWxheUxlYXZlO1xuICB2YXIgZHVyYXRpb24gPSBkYXRhLmR1cmF0aW9uO1xuXG4gIHZhciBleHBlY3RzQ1NTID0gY3NzICE9PSBmYWxzZSAmJiAhaXNJRTk7XG4gIHZhciB1c2VyV2FudHNDb250cm9sID0gZ2V0SG9va0FyZ3VtZW50c0xlbmd0aChsZWF2ZSk7XG5cbiAgdmFyIGV4cGxpY2l0TGVhdmVEdXJhdGlvbiA9IHRvTnVtYmVyKFxuICAgIGlzT2JqZWN0KGR1cmF0aW9uKVxuICAgICAgPyBkdXJhdGlvbi5sZWF2ZVxuICAgICAgOiBkdXJhdGlvblxuICApO1xuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGlzRGVmKGV4cGxpY2l0TGVhdmVEdXJhdGlvbikpIHtcbiAgICBjaGVja0R1cmF0aW9uKGV4cGxpY2l0TGVhdmVEdXJhdGlvbiwgJ2xlYXZlJywgdm5vZGUpO1xuICB9XG5cbiAgdmFyIGNiID0gZWwuX2xlYXZlQ2IgPSBvbmNlKGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoZWwucGFyZW50Tm9kZSAmJiBlbC5wYXJlbnROb2RlLl9wZW5kaW5nKSB7XG4gICAgICBlbC5wYXJlbnROb2RlLl9wZW5kaW5nW3Zub2RlLmtleV0gPSBudWxsO1xuICAgIH1cbiAgICBpZiAoZXhwZWN0c0NTUykge1xuICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBsZWF2ZVRvQ2xhc3MpO1xuICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBsZWF2ZUFjdGl2ZUNsYXNzKTtcbiAgICB9XG4gICAgaWYgKGNiLmNhbmNlbGxlZCkge1xuICAgICAgaWYgKGV4cGVjdHNDU1MpIHtcbiAgICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBsZWF2ZUNsYXNzKTtcbiAgICAgIH1cbiAgICAgIGxlYXZlQ2FuY2VsbGVkICYmIGxlYXZlQ2FuY2VsbGVkKGVsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcm0oKTtcbiAgICAgIGFmdGVyTGVhdmUgJiYgYWZ0ZXJMZWF2ZShlbCk7XG4gICAgfVxuICAgIGVsLl9sZWF2ZUNiID0gbnVsbDtcbiAgfSk7XG5cbiAgaWYgKGRlbGF5TGVhdmUpIHtcbiAgICBkZWxheUxlYXZlKHBlcmZvcm1MZWF2ZSk7XG4gIH0gZWxzZSB7XG4gICAgcGVyZm9ybUxlYXZlKCk7XG4gIH1cblxuICBmdW5jdGlvbiBwZXJmb3JtTGVhdmUgKCkge1xuICAgIC8vIHRoZSBkZWxheWVkIGxlYXZlIG1heSBoYXZlIGFscmVhZHkgYmVlbiBjYW5jZWxsZWRcbiAgICBpZiAoY2IuY2FuY2VsbGVkKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgLy8gcmVjb3JkIGxlYXZpbmcgZWxlbWVudFxuICAgIGlmICghdm5vZGUuZGF0YS5zaG93ICYmIGVsLnBhcmVudE5vZGUpIHtcbiAgICAgIChlbC5wYXJlbnROb2RlLl9wZW5kaW5nIHx8IChlbC5wYXJlbnROb2RlLl9wZW5kaW5nID0ge30pKVsodm5vZGUua2V5KV0gPSB2bm9kZTtcbiAgICB9XG4gICAgYmVmb3JlTGVhdmUgJiYgYmVmb3JlTGVhdmUoZWwpO1xuICAgIGlmIChleHBlY3RzQ1NTKSB7XG4gICAgICBhZGRUcmFuc2l0aW9uQ2xhc3MoZWwsIGxlYXZlQ2xhc3MpO1xuICAgICAgYWRkVHJhbnNpdGlvbkNsYXNzKGVsLCBsZWF2ZUFjdGl2ZUNsYXNzKTtcbiAgICAgIG5leHRGcmFtZShmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgbGVhdmVDbGFzcyk7XG4gICAgICAgIGlmICghY2IuY2FuY2VsbGVkKSB7XG4gICAgICAgICAgYWRkVHJhbnNpdGlvbkNsYXNzKGVsLCBsZWF2ZVRvQ2xhc3MpO1xuICAgICAgICAgIGlmICghdXNlcldhbnRzQ29udHJvbCkge1xuICAgICAgICAgICAgaWYgKGlzVmFsaWREdXJhdGlvbihleHBsaWNpdExlYXZlRHVyYXRpb24pKSB7XG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoY2IsIGV4cGxpY2l0TGVhdmVEdXJhdGlvbik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB3aGVuVHJhbnNpdGlvbkVuZHMoZWwsIHR5cGUsIGNiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICBsZWF2ZSAmJiBsZWF2ZShlbCwgY2IpO1xuICAgIGlmICghZXhwZWN0c0NTUyAmJiAhdXNlcldhbnRzQ29udHJvbCkge1xuICAgICAgY2IoKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gb25seSB1c2VkIGluIGRldiBtb2RlXG5mdW5jdGlvbiBjaGVja0R1cmF0aW9uICh2YWwsIG5hbWUsIHZub2RlKSB7XG4gIGlmICh0eXBlb2YgdmFsICE9PSAnbnVtYmVyJykge1xuICAgIHdhcm4oXG4gICAgICBcIjx0cmFuc2l0aW9uPiBleHBsaWNpdCBcIiArIG5hbWUgKyBcIiBkdXJhdGlvbiBpcyBub3QgYSB2YWxpZCBudW1iZXIgLSBcIiArXG4gICAgICBcImdvdCBcIiArIChKU09OLnN0cmluZ2lmeSh2YWwpKSArIFwiLlwiLFxuICAgICAgdm5vZGUuY29udGV4dFxuICAgICk7XG4gIH0gZWxzZSBpZiAoaXNOYU4odmFsKSkge1xuICAgIHdhcm4oXG4gICAgICBcIjx0cmFuc2l0aW9uPiBleHBsaWNpdCBcIiArIG5hbWUgKyBcIiBkdXJhdGlvbiBpcyBOYU4gLSBcIiArXG4gICAgICAndGhlIGR1cmF0aW9uIGV4cHJlc3Npb24gbWlnaHQgYmUgaW5jb3JyZWN0LicsXG4gICAgICB2bm9kZS5jb250ZXh0XG4gICAgKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc1ZhbGlkRHVyYXRpb24gKHZhbCkge1xuICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ251bWJlcicgJiYgIWlzTmFOKHZhbClcbn1cblxuLyoqXG4gKiBOb3JtYWxpemUgYSB0cmFuc2l0aW9uIGhvb2sncyBhcmd1bWVudCBsZW5ndGguIFRoZSBob29rIG1heSBiZTpcbiAqIC0gYSBtZXJnZWQgaG9vayAoaW52b2tlcikgd2l0aCB0aGUgb3JpZ2luYWwgaW4gLmZuc1xuICogLSBhIHdyYXBwZWQgY29tcG9uZW50IG1ldGhvZCAoY2hlY2sgLl9sZW5ndGgpXG4gKiAtIGEgcGxhaW4gZnVuY3Rpb24gKC5sZW5ndGgpXG4gKi9cbmZ1bmN0aW9uIGdldEhvb2tBcmd1bWVudHNMZW5ndGggKGZuKSB7XG4gIGlmIChpc1VuZGVmKGZuKSkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIHZhciBpbnZva2VyRm5zID0gZm4uZm5zO1xuICBpZiAoaXNEZWYoaW52b2tlckZucykpIHtcbiAgICAvLyBpbnZva2VyXG4gICAgcmV0dXJuIGdldEhvb2tBcmd1bWVudHNMZW5ndGgoXG4gICAgICBBcnJheS5pc0FycmF5KGludm9rZXJGbnMpXG4gICAgICAgID8gaW52b2tlckZuc1swXVxuICAgICAgICA6IGludm9rZXJGbnNcbiAgICApXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIChmbi5fbGVuZ3RoIHx8IGZuLmxlbmd0aCkgPiAxXG4gIH1cbn1cblxuZnVuY3Rpb24gX2VudGVyIChfLCB2bm9kZSkge1xuICBpZiAodm5vZGUuZGF0YS5zaG93ICE9PSB0cnVlKSB7XG4gICAgZW50ZXIodm5vZGUpO1xuICB9XG59XG5cbnZhciB0cmFuc2l0aW9uID0gaW5Ccm93c2VyID8ge1xuICBjcmVhdGU6IF9lbnRlcixcbiAgYWN0aXZhdGU6IF9lbnRlcixcbiAgcmVtb3ZlOiBmdW5jdGlvbiByZW1vdmUkJDEgKHZub2RlLCBybSkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHZub2RlLmRhdGEuc2hvdyAhPT0gdHJ1ZSkge1xuICAgICAgbGVhdmUodm5vZGUsIHJtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcm0oKTtcbiAgICB9XG4gIH1cbn0gOiB7fTtcblxudmFyIHBsYXRmb3JtTW9kdWxlcyA9IFtcbiAgYXR0cnMsXG4gIGtsYXNzLFxuICBldmVudHMsXG4gIGRvbVByb3BzLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvblxuXTtcblxuLyogICovXG5cbi8vIHRoZSBkaXJlY3RpdmUgbW9kdWxlIHNob3VsZCBiZSBhcHBsaWVkIGxhc3QsIGFmdGVyIGFsbFxuLy8gYnVpbHQtaW4gbW9kdWxlcyBoYXZlIGJlZW4gYXBwbGllZC5cbnZhciBtb2R1bGVzID0gcGxhdGZvcm1Nb2R1bGVzLmNvbmNhdChiYXNlTW9kdWxlcyk7XG5cbnZhciBwYXRjaCA9IGNyZWF0ZVBhdGNoRnVuY3Rpb24oeyBub2RlT3BzOiBub2RlT3BzLCBtb2R1bGVzOiBtb2R1bGVzIH0pO1xuXG4vKipcbiAqIE5vdCB0eXBlIGNoZWNraW5nIHRoaXMgZmlsZSBiZWNhdXNlIGZsb3cgZG9lc24ndCBsaWtlIGF0dGFjaGluZ1xuICogcHJvcGVydGllcyB0byBFbGVtZW50cy5cbiAqL1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbmlmIChpc0lFOSkge1xuICAvLyBodHRwOi8vd3d3Lm1hdHRzNDExLmNvbS9wb3N0L2ludGVybmV0LWV4cGxvcmVyLTktb25pbnB1dC9cbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2VsZWN0aW9uY2hhbmdlJywgZnVuY3Rpb24gKCkge1xuICAgIHZhciBlbCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKGVsICYmIGVsLnZtb2RlbCkge1xuICAgICAgdHJpZ2dlcihlbCwgJ2lucHV0Jyk7XG4gICAgfVxuICB9KTtcbn1cblxudmFyIGRpcmVjdGl2ZSA9IHtcbiAgaW5zZXJ0ZWQ6IGZ1bmN0aW9uIGluc2VydGVkIChlbCwgYmluZGluZywgdm5vZGUsIG9sZFZub2RlKSB7XG4gICAgaWYgKHZub2RlLnRhZyA9PT0gJ3NlbGVjdCcpIHtcbiAgICAgIC8vICM2OTAzXG4gICAgICBpZiAob2xkVm5vZGUuZWxtICYmICFvbGRWbm9kZS5lbG0uX3ZPcHRpb25zKSB7XG4gICAgICAgIG1lcmdlVk5vZGVIb29rKHZub2RlLCAncG9zdHBhdGNoJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGRpcmVjdGl2ZS5jb21wb25lbnRVcGRhdGVkKGVsLCBiaW5kaW5nLCB2bm9kZSk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0U2VsZWN0ZWQoZWwsIGJpbmRpbmcsIHZub2RlLmNvbnRleHQpO1xuICAgICAgfVxuICAgICAgZWwuX3ZPcHRpb25zID0gW10ubWFwLmNhbGwoZWwub3B0aW9ucywgZ2V0VmFsdWUpO1xuICAgIH0gZWxzZSBpZiAodm5vZGUudGFnID09PSAndGV4dGFyZWEnIHx8IGlzVGV4dElucHV0VHlwZShlbC50eXBlKSkge1xuICAgICAgZWwuX3ZNb2RpZmllcnMgPSBiaW5kaW5nLm1vZGlmaWVycztcbiAgICAgIGlmICghYmluZGluZy5tb2RpZmllcnMubGF6eSkge1xuICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjb21wb3NpdGlvbnN0YXJ0Jywgb25Db21wb3NpdGlvblN0YXJ0KTtcbiAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignY29tcG9zaXRpb25lbmQnLCBvbkNvbXBvc2l0aW9uRW5kKTtcbiAgICAgICAgLy8gU2FmYXJpIDwgMTAuMiAmIFVJV2ViVmlldyBkb2Vzbid0IGZpcmUgY29tcG9zaXRpb25lbmQgd2hlblxuICAgICAgICAvLyBzd2l0Y2hpbmcgZm9jdXMgYmVmb3JlIGNvbmZpcm1pbmcgY29tcG9zaXRpb24gY2hvaWNlXG4gICAgICAgIC8vIHRoaXMgYWxzbyBmaXhlcyB0aGUgaXNzdWUgd2hlcmUgc29tZSBicm93c2VycyBlLmcuIGlPUyBDaHJvbWVcbiAgICAgICAgLy8gZmlyZXMgXCJjaGFuZ2VcIiBpbnN0ZWFkIG9mIFwiaW5wdXRcIiBvbiBhdXRvY29tcGxldGUuXG4gICAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIG9uQ29tcG9zaXRpb25FbmQpO1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgaWYgKGlzSUU5KSB7XG4gICAgICAgICAgZWwudm1vZGVsID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICBjb21wb25lbnRVcGRhdGVkOiBmdW5jdGlvbiBjb21wb25lbnRVcGRhdGVkIChlbCwgYmluZGluZywgdm5vZGUpIHtcbiAgICBpZiAodm5vZGUudGFnID09PSAnc2VsZWN0Jykge1xuICAgICAgc2V0U2VsZWN0ZWQoZWwsIGJpbmRpbmcsIHZub2RlLmNvbnRleHQpO1xuICAgICAgLy8gaW4gY2FzZSB0aGUgb3B0aW9ucyByZW5kZXJlZCBieSB2LWZvciBoYXZlIGNoYW5nZWQsXG4gICAgICAvLyBpdCdzIHBvc3NpYmxlIHRoYXQgdGhlIHZhbHVlIGlzIG91dC1vZi1zeW5jIHdpdGggdGhlIHJlbmRlcmVkIG9wdGlvbnMuXG4gICAgICAvLyBkZXRlY3Qgc3VjaCBjYXNlcyBhbmQgZmlsdGVyIG91dCB2YWx1ZXMgdGhhdCBubyBsb25nZXIgaGFzIGEgbWF0Y2hpbmdcbiAgICAgIC8vIG9wdGlvbiBpbiB0aGUgRE9NLlxuICAgICAgdmFyIHByZXZPcHRpb25zID0gZWwuX3ZPcHRpb25zO1xuICAgICAgdmFyIGN1ck9wdGlvbnMgPSBlbC5fdk9wdGlvbnMgPSBbXS5tYXAuY2FsbChlbC5vcHRpb25zLCBnZXRWYWx1ZSk7XG4gICAgICBpZiAoY3VyT3B0aW9ucy5zb21lKGZ1bmN0aW9uIChvLCBpKSB7IHJldHVybiAhbG9vc2VFcXVhbChvLCBwcmV2T3B0aW9uc1tpXSk7IH0pKSB7XG4gICAgICAgIC8vIHRyaWdnZXIgY2hhbmdlIGV2ZW50IGlmXG4gICAgICAgIC8vIG5vIG1hdGNoaW5nIG9wdGlvbiBmb3VuZCBmb3IgYXQgbGVhc3Qgb25lIHZhbHVlXG4gICAgICAgIHZhciBuZWVkUmVzZXQgPSBlbC5tdWx0aXBsZVxuICAgICAgICAgID8gYmluZGluZy52YWx1ZS5zb21lKGZ1bmN0aW9uICh2KSB7IHJldHVybiBoYXNOb01hdGNoaW5nT3B0aW9uKHYsIGN1ck9wdGlvbnMpOyB9KVxuICAgICAgICAgIDogYmluZGluZy52YWx1ZSAhPT0gYmluZGluZy5vbGRWYWx1ZSAmJiBoYXNOb01hdGNoaW5nT3B0aW9uKGJpbmRpbmcudmFsdWUsIGN1ck9wdGlvbnMpO1xuICAgICAgICBpZiAobmVlZFJlc2V0KSB7XG4gICAgICAgICAgdHJpZ2dlcihlbCwgJ2NoYW5nZScpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG5mdW5jdGlvbiBzZXRTZWxlY3RlZCAoZWwsIGJpbmRpbmcsIHZtKSB7XG4gIGFjdHVhbGx5U2V0U2VsZWN0ZWQoZWwsIGJpbmRpbmcsIHZtKTtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmIChpc0lFIHx8IGlzRWRnZSkge1xuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgYWN0dWFsbHlTZXRTZWxlY3RlZChlbCwgYmluZGluZywgdm0pO1xuICAgIH0sIDApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGFjdHVhbGx5U2V0U2VsZWN0ZWQgKGVsLCBiaW5kaW5nLCB2bSkge1xuICB2YXIgdmFsdWUgPSBiaW5kaW5nLnZhbHVlO1xuICB2YXIgaXNNdWx0aXBsZSA9IGVsLm11bHRpcGxlO1xuICBpZiAoaXNNdWx0aXBsZSAmJiAhQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4oXG4gICAgICBcIjxzZWxlY3QgbXVsdGlwbGUgdi1tb2RlbD1cXFwiXCIgKyAoYmluZGluZy5leHByZXNzaW9uKSArIFwiXFxcIj4gXCIgK1xuICAgICAgXCJleHBlY3RzIGFuIEFycmF5IHZhbHVlIGZvciBpdHMgYmluZGluZywgYnV0IGdvdCBcIiArIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpLnNsaWNlKDgsIC0xKSksXG4gICAgICB2bVxuICAgICk7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIHNlbGVjdGVkLCBvcHRpb247XG4gIGZvciAodmFyIGkgPSAwLCBsID0gZWwub3B0aW9ucy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBvcHRpb24gPSBlbC5vcHRpb25zW2ldO1xuICAgIGlmIChpc011bHRpcGxlKSB7XG4gICAgICBzZWxlY3RlZCA9IGxvb3NlSW5kZXhPZih2YWx1ZSwgZ2V0VmFsdWUob3B0aW9uKSkgPiAtMTtcbiAgICAgIGlmIChvcHRpb24uc2VsZWN0ZWQgIT09IHNlbGVjdGVkKSB7XG4gICAgICAgIG9wdGlvbi5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobG9vc2VFcXVhbChnZXRWYWx1ZShvcHRpb24pLCB2YWx1ZSkpIHtcbiAgICAgICAgaWYgKGVsLnNlbGVjdGVkSW5kZXggIT09IGkpIHtcbiAgICAgICAgICBlbC5zZWxlY3RlZEluZGV4ID0gaTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaWYgKCFpc011bHRpcGxlKSB7XG4gICAgZWwuc2VsZWN0ZWRJbmRleCA9IC0xO1xuICB9XG59XG5cbmZ1bmN0aW9uIGhhc05vTWF0Y2hpbmdPcHRpb24gKHZhbHVlLCBvcHRpb25zKSB7XG4gIHJldHVybiBvcHRpb25zLmV2ZXJ5KGZ1bmN0aW9uIChvKSB7IHJldHVybiAhbG9vc2VFcXVhbChvLCB2YWx1ZSk7IH0pXG59XG5cbmZ1bmN0aW9uIGdldFZhbHVlIChvcHRpb24pIHtcbiAgcmV0dXJuICdfdmFsdWUnIGluIG9wdGlvblxuICAgID8gb3B0aW9uLl92YWx1ZVxuICAgIDogb3B0aW9uLnZhbHVlXG59XG5cbmZ1bmN0aW9uIG9uQ29tcG9zaXRpb25TdGFydCAoZSkge1xuICBlLnRhcmdldC5jb21wb3NpbmcgPSB0cnVlO1xufVxuXG5mdW5jdGlvbiBvbkNvbXBvc2l0aW9uRW5kIChlKSB7XG4gIC8vIHByZXZlbnQgdHJpZ2dlcmluZyBhbiBpbnB1dCBldmVudCBmb3Igbm8gcmVhc29uXG4gIGlmICghZS50YXJnZXQuY29tcG9zaW5nKSB7IHJldHVybiB9XG4gIGUudGFyZ2V0LmNvbXBvc2luZyA9IGZhbHNlO1xuICB0cmlnZ2VyKGUudGFyZ2V0LCAnaW5wdXQnKTtcbn1cblxuZnVuY3Rpb24gdHJpZ2dlciAoZWwsIHR5cGUpIHtcbiAgdmFyIGUgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnSFRNTEV2ZW50cycpO1xuICBlLmluaXRFdmVudCh0eXBlLCB0cnVlLCB0cnVlKTtcbiAgZWwuZGlzcGF0Y2hFdmVudChlKTtcbn1cblxuLyogICovXG5cbi8vIHJlY3Vyc2l2ZWx5IHNlYXJjaCBmb3IgcG9zc2libGUgdHJhbnNpdGlvbiBkZWZpbmVkIGluc2lkZSB0aGUgY29tcG9uZW50IHJvb3RcbmZ1bmN0aW9uIGxvY2F0ZU5vZGUgKHZub2RlKSB7XG4gIHJldHVybiB2bm9kZS5jb21wb25lbnRJbnN0YW5jZSAmJiAoIXZub2RlLmRhdGEgfHwgIXZub2RlLmRhdGEudHJhbnNpdGlvbilcbiAgICA/IGxvY2F0ZU5vZGUodm5vZGUuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlKVxuICAgIDogdm5vZGVcbn1cblxudmFyIHNob3cgPSB7XG4gIGJpbmQ6IGZ1bmN0aW9uIGJpbmQgKGVsLCByZWYsIHZub2RlKSB7XG4gICAgdmFyIHZhbHVlID0gcmVmLnZhbHVlO1xuXG4gICAgdm5vZGUgPSBsb2NhdGVOb2RlKHZub2RlKTtcbiAgICB2YXIgdHJhbnNpdGlvbiQkMSA9IHZub2RlLmRhdGEgJiYgdm5vZGUuZGF0YS50cmFuc2l0aW9uO1xuICAgIHZhciBvcmlnaW5hbERpc3BsYXkgPSBlbC5fX3ZPcmlnaW5hbERpc3BsYXkgPVxuICAgICAgZWwuc3R5bGUuZGlzcGxheSA9PT0gJ25vbmUnID8gJycgOiBlbC5zdHlsZS5kaXNwbGF5O1xuICAgIGlmICh2YWx1ZSAmJiB0cmFuc2l0aW9uJCQxKSB7XG4gICAgICB2bm9kZS5kYXRhLnNob3cgPSB0cnVlO1xuICAgICAgZW50ZXIodm5vZGUsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZWwuc3R5bGUuZGlzcGxheSA9IG9yaWdpbmFsRGlzcGxheTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gdmFsdWUgPyBvcmlnaW5hbERpc3BsYXkgOiAnbm9uZSc7XG4gICAgfVxuICB9LFxuXG4gIHVwZGF0ZTogZnVuY3Rpb24gdXBkYXRlIChlbCwgcmVmLCB2bm9kZSkge1xuICAgIHZhciB2YWx1ZSA9IHJlZi52YWx1ZTtcbiAgICB2YXIgb2xkVmFsdWUgPSByZWYub2xkVmFsdWU7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIXZhbHVlID09PSAhb2xkVmFsdWUpIHsgcmV0dXJuIH1cbiAgICB2bm9kZSA9IGxvY2F0ZU5vZGUodm5vZGUpO1xuICAgIHZhciB0cmFuc2l0aW9uJCQxID0gdm5vZGUuZGF0YSAmJiB2bm9kZS5kYXRhLnRyYW5zaXRpb247XG4gICAgaWYgKHRyYW5zaXRpb24kJDEpIHtcbiAgICAgIHZub2RlLmRhdGEuc2hvdyA9IHRydWU7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgZW50ZXIodm5vZGUsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gZWwuX192T3JpZ2luYWxEaXNwbGF5O1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxlYXZlKHZub2RlLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgZWwuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSB2YWx1ZSA/IGVsLl9fdk9yaWdpbmFsRGlzcGxheSA6ICdub25lJztcbiAgICB9XG4gIH0sXG5cbiAgdW5iaW5kOiBmdW5jdGlvbiB1bmJpbmQgKFxuICAgIGVsLFxuICAgIGJpbmRpbmcsXG4gICAgdm5vZGUsXG4gICAgb2xkVm5vZGUsXG4gICAgaXNEZXN0cm95XG4gICkge1xuICAgIGlmICghaXNEZXN0cm95KSB7XG4gICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gZWwuX192T3JpZ2luYWxEaXNwbGF5O1xuICAgIH1cbiAgfVxufTtcblxudmFyIHBsYXRmb3JtRGlyZWN0aXZlcyA9IHtcbiAgbW9kZWw6IGRpcmVjdGl2ZSxcbiAgc2hvdzogc2hvd1xufTtcblxuLyogICovXG5cbnZhciB0cmFuc2l0aW9uUHJvcHMgPSB7XG4gIG5hbWU6IFN0cmluZyxcbiAgYXBwZWFyOiBCb29sZWFuLFxuICBjc3M6IEJvb2xlYW4sXG4gIG1vZGU6IFN0cmluZyxcbiAgdHlwZTogU3RyaW5nLFxuICBlbnRlckNsYXNzOiBTdHJpbmcsXG4gIGxlYXZlQ2xhc3M6IFN0cmluZyxcbiAgZW50ZXJUb0NsYXNzOiBTdHJpbmcsXG4gIGxlYXZlVG9DbGFzczogU3RyaW5nLFxuICBlbnRlckFjdGl2ZUNsYXNzOiBTdHJpbmcsXG4gIGxlYXZlQWN0aXZlQ2xhc3M6IFN0cmluZyxcbiAgYXBwZWFyQ2xhc3M6IFN0cmluZyxcbiAgYXBwZWFyQWN0aXZlQ2xhc3M6IFN0cmluZyxcbiAgYXBwZWFyVG9DbGFzczogU3RyaW5nLFxuICBkdXJhdGlvbjogW051bWJlciwgU3RyaW5nLCBPYmplY3RdXG59O1xuXG4vLyBpbiBjYXNlIHRoZSBjaGlsZCBpcyBhbHNvIGFuIGFic3RyYWN0IGNvbXBvbmVudCwgZS5nLiA8a2VlcC1hbGl2ZT5cbi8vIHdlIHdhbnQgdG8gcmVjdXJzaXZlbHkgcmV0cmlldmUgdGhlIHJlYWwgY29tcG9uZW50IHRvIGJlIHJlbmRlcmVkXG5mdW5jdGlvbiBnZXRSZWFsQ2hpbGQgKHZub2RlKSB7XG4gIHZhciBjb21wT3B0aW9ucyA9IHZub2RlICYmIHZub2RlLmNvbXBvbmVudE9wdGlvbnM7XG4gIGlmIChjb21wT3B0aW9ucyAmJiBjb21wT3B0aW9ucy5DdG9yLm9wdGlvbnMuYWJzdHJhY3QpIHtcbiAgICByZXR1cm4gZ2V0UmVhbENoaWxkKGdldEZpcnN0Q29tcG9uZW50Q2hpbGQoY29tcE9wdGlvbnMuY2hpbGRyZW4pKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB2bm9kZVxuICB9XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RUcmFuc2l0aW9uRGF0YSAoY29tcCkge1xuICB2YXIgZGF0YSA9IHt9O1xuICB2YXIgb3B0aW9ucyA9IGNvbXAuJG9wdGlvbnM7XG4gIC8vIHByb3BzXG4gIGZvciAodmFyIGtleSBpbiBvcHRpb25zLnByb3BzRGF0YSkge1xuICAgIGRhdGFba2V5XSA9IGNvbXBba2V5XTtcbiAgfVxuICAvLyBldmVudHMuXG4gIC8vIGV4dHJhY3QgbGlzdGVuZXJzIGFuZCBwYXNzIHRoZW0gZGlyZWN0bHkgdG8gdGhlIHRyYW5zaXRpb24gbWV0aG9kc1xuICB2YXIgbGlzdGVuZXJzID0gb3B0aW9ucy5fcGFyZW50TGlzdGVuZXJzO1xuICBmb3IgKHZhciBrZXkkMSBpbiBsaXN0ZW5lcnMpIHtcbiAgICBkYXRhW2NhbWVsaXplKGtleSQxKV0gPSBsaXN0ZW5lcnNba2V5JDFdO1xuICB9XG4gIHJldHVybiBkYXRhXG59XG5cbmZ1bmN0aW9uIHBsYWNlaG9sZGVyIChoLCByYXdDaGlsZCkge1xuICBpZiAoL1xcZC1rZWVwLWFsaXZlJC8udGVzdChyYXdDaGlsZC50YWcpKSB7XG4gICAgcmV0dXJuIGgoJ2tlZXAtYWxpdmUnLCB7XG4gICAgICBwcm9wczogcmF3Q2hpbGQuY29tcG9uZW50T3B0aW9ucy5wcm9wc0RhdGFcbiAgICB9KVxuICB9XG59XG5cbmZ1bmN0aW9uIGhhc1BhcmVudFRyYW5zaXRpb24gKHZub2RlKSB7XG4gIHdoaWxlICgodm5vZGUgPSB2bm9kZS5wYXJlbnQpKSB7XG4gICAgaWYgKHZub2RlLmRhdGEudHJhbnNpdGlvbikge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNTYW1lQ2hpbGQgKGNoaWxkLCBvbGRDaGlsZCkge1xuICByZXR1cm4gb2xkQ2hpbGQua2V5ID09PSBjaGlsZC5rZXkgJiYgb2xkQ2hpbGQudGFnID09PSBjaGlsZC50YWdcbn1cblxudmFyIGlzTm90VGV4dE5vZGUgPSBmdW5jdGlvbiAoYykgeyByZXR1cm4gYy50YWcgfHwgaXNBc3luY1BsYWNlaG9sZGVyKGMpOyB9O1xuXG52YXIgaXNWU2hvd0RpcmVjdGl2ZSA9IGZ1bmN0aW9uIChkKSB7IHJldHVybiBkLm5hbWUgPT09ICdzaG93JzsgfTtcblxudmFyIFRyYW5zaXRpb24gPSB7XG4gIG5hbWU6ICd0cmFuc2l0aW9uJyxcbiAgcHJvcHM6IHRyYW5zaXRpb25Qcm9wcyxcbiAgYWJzdHJhY3Q6IHRydWUsXG5cbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIgKGgpIHtcbiAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIHZhciBjaGlsZHJlbiA9IHRoaXMuJHNsb3RzLmRlZmF1bHQ7XG4gICAgaWYgKCFjaGlsZHJlbikge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgLy8gZmlsdGVyIG91dCB0ZXh0IG5vZGVzIChwb3NzaWJsZSB3aGl0ZXNwYWNlcylcbiAgICBjaGlsZHJlbiA9IGNoaWxkcmVuLmZpbHRlcihpc05vdFRleHROb2RlKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIWNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgLy8gd2FybiBtdWx0aXBsZSBlbGVtZW50c1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGNoaWxkcmVuLmxlbmd0aCA+IDEpIHtcbiAgICAgIHdhcm4oXG4gICAgICAgICc8dHJhbnNpdGlvbj4gY2FuIG9ubHkgYmUgdXNlZCBvbiBhIHNpbmdsZSBlbGVtZW50LiBVc2UgJyArXG4gICAgICAgICc8dHJhbnNpdGlvbi1ncm91cD4gZm9yIGxpc3RzLicsXG4gICAgICAgIHRoaXMuJHBhcmVudFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB2YXIgbW9kZSA9IHRoaXMubW9kZTtcblxuICAgIC8vIHdhcm4gaW52YWxpZCBtb2RlXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgIG1vZGUgJiYgbW9kZSAhPT0gJ2luLW91dCcgJiYgbW9kZSAhPT0gJ291dC1pbidcbiAgICApIHtcbiAgICAgIHdhcm4oXG4gICAgICAgICdpbnZhbGlkIDx0cmFuc2l0aW9uPiBtb2RlOiAnICsgbW9kZSxcbiAgICAgICAgdGhpcy4kcGFyZW50XG4gICAgICApO1xuICAgIH1cblxuICAgIHZhciByYXdDaGlsZCA9IGNoaWxkcmVuWzBdO1xuXG4gICAgLy8gaWYgdGhpcyBpcyBhIGNvbXBvbmVudCByb290IG5vZGUgYW5kIHRoZSBjb21wb25lbnQnc1xuICAgIC8vIHBhcmVudCBjb250YWluZXIgbm9kZSBhbHNvIGhhcyB0cmFuc2l0aW9uLCBza2lwLlxuICAgIGlmIChoYXNQYXJlbnRUcmFuc2l0aW9uKHRoaXMuJHZub2RlKSkge1xuICAgICAgcmV0dXJuIHJhd0NoaWxkXG4gICAgfVxuXG4gICAgLy8gYXBwbHkgdHJhbnNpdGlvbiBkYXRhIHRvIGNoaWxkXG4gICAgLy8gdXNlIGdldFJlYWxDaGlsZCgpIHRvIGlnbm9yZSBhYnN0cmFjdCBjb21wb25lbnRzIGUuZy4ga2VlcC1hbGl2ZVxuICAgIHZhciBjaGlsZCA9IGdldFJlYWxDaGlsZChyYXdDaGlsZCk7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCFjaGlsZCkge1xuICAgICAgcmV0dXJuIHJhd0NoaWxkXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2xlYXZpbmcpIHtcbiAgICAgIHJldHVybiBwbGFjZWhvbGRlcihoLCByYXdDaGlsZClcbiAgICB9XG5cbiAgICAvLyBlbnN1cmUgYSBrZXkgdGhhdCBpcyB1bmlxdWUgdG8gdGhlIHZub2RlIHR5cGUgYW5kIHRvIHRoaXMgdHJhbnNpdGlvblxuICAgIC8vIGNvbXBvbmVudCBpbnN0YW5jZS4gVGhpcyBrZXkgd2lsbCBiZSB1c2VkIHRvIHJlbW92ZSBwZW5kaW5nIGxlYXZpbmcgbm9kZXNcbiAgICAvLyBkdXJpbmcgZW50ZXJpbmcuXG4gICAgdmFyIGlkID0gXCJfX3RyYW5zaXRpb24tXCIgKyAodGhpcy5fdWlkKSArIFwiLVwiO1xuICAgIGNoaWxkLmtleSA9IGNoaWxkLmtleSA9PSBudWxsXG4gICAgICA/IGNoaWxkLmlzQ29tbWVudFxuICAgICAgICA/IGlkICsgJ2NvbW1lbnQnXG4gICAgICAgIDogaWQgKyBjaGlsZC50YWdcbiAgICAgIDogaXNQcmltaXRpdmUoY2hpbGQua2V5KVxuICAgICAgICA/IChTdHJpbmcoY2hpbGQua2V5KS5pbmRleE9mKGlkKSA9PT0gMCA/IGNoaWxkLmtleSA6IGlkICsgY2hpbGQua2V5KVxuICAgICAgICA6IGNoaWxkLmtleTtcblxuICAgIHZhciBkYXRhID0gKGNoaWxkLmRhdGEgfHwgKGNoaWxkLmRhdGEgPSB7fSkpLnRyYW5zaXRpb24gPSBleHRyYWN0VHJhbnNpdGlvbkRhdGEodGhpcyk7XG4gICAgdmFyIG9sZFJhd0NoaWxkID0gdGhpcy5fdm5vZGU7XG4gICAgdmFyIG9sZENoaWxkID0gZ2V0UmVhbENoaWxkKG9sZFJhd0NoaWxkKTtcblxuICAgIC8vIG1hcmsgdi1zaG93XG4gICAgLy8gc28gdGhhdCB0aGUgdHJhbnNpdGlvbiBtb2R1bGUgY2FuIGhhbmQgb3ZlciB0aGUgY29udHJvbCB0byB0aGUgZGlyZWN0aXZlXG4gICAgaWYgKGNoaWxkLmRhdGEuZGlyZWN0aXZlcyAmJiBjaGlsZC5kYXRhLmRpcmVjdGl2ZXMuc29tZShpc1ZTaG93RGlyZWN0aXZlKSkge1xuICAgICAgY2hpbGQuZGF0YS5zaG93ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBvbGRDaGlsZCAmJlxuICAgICAgb2xkQ2hpbGQuZGF0YSAmJlxuICAgICAgIWlzU2FtZUNoaWxkKGNoaWxkLCBvbGRDaGlsZCkgJiZcbiAgICAgICFpc0FzeW5jUGxhY2Vob2xkZXIob2xkQ2hpbGQpICYmXG4gICAgICAvLyAjNjY4NyBjb21wb25lbnQgcm9vdCBpcyBhIGNvbW1lbnQgbm9kZVxuICAgICAgIShvbGRDaGlsZC5jb21wb25lbnRJbnN0YW5jZSAmJiBvbGRDaGlsZC5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGUuaXNDb21tZW50KVxuICAgICkge1xuICAgICAgLy8gcmVwbGFjZSBvbGQgY2hpbGQgdHJhbnNpdGlvbiBkYXRhIHdpdGggZnJlc2ggb25lXG4gICAgICAvLyBpbXBvcnRhbnQgZm9yIGR5bmFtaWMgdHJhbnNpdGlvbnMhXG4gICAgICB2YXIgb2xkRGF0YSA9IG9sZENoaWxkLmRhdGEudHJhbnNpdGlvbiA9IGV4dGVuZCh7fSwgZGF0YSk7XG4gICAgICAvLyBoYW5kbGUgdHJhbnNpdGlvbiBtb2RlXG4gICAgICBpZiAobW9kZSA9PT0gJ291dC1pbicpIHtcbiAgICAgICAgLy8gcmV0dXJuIHBsYWNlaG9sZGVyIG5vZGUgYW5kIHF1ZXVlIHVwZGF0ZSB3aGVuIGxlYXZlIGZpbmlzaGVzXG4gICAgICAgIHRoaXMuX2xlYXZpbmcgPSB0cnVlO1xuICAgICAgICBtZXJnZVZOb2RlSG9vayhvbGREYXRhLCAnYWZ0ZXJMZWF2ZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB0aGlzJDEuX2xlYXZpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzJDEuJGZvcmNlVXBkYXRlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcGxhY2Vob2xkZXIoaCwgcmF3Q2hpbGQpXG4gICAgICB9IGVsc2UgaWYgKG1vZGUgPT09ICdpbi1vdXQnKSB7XG4gICAgICAgIGlmIChpc0FzeW5jUGxhY2Vob2xkZXIoY2hpbGQpKSB7XG4gICAgICAgICAgcmV0dXJuIG9sZFJhd0NoaWxkXG4gICAgICAgIH1cbiAgICAgICAgdmFyIGRlbGF5ZWRMZWF2ZTtcbiAgICAgICAgdmFyIHBlcmZvcm1MZWF2ZSA9IGZ1bmN0aW9uICgpIHsgZGVsYXllZExlYXZlKCk7IH07XG4gICAgICAgIG1lcmdlVk5vZGVIb29rKGRhdGEsICdhZnRlckVudGVyJywgcGVyZm9ybUxlYXZlKTtcbiAgICAgICAgbWVyZ2VWTm9kZUhvb2soZGF0YSwgJ2VudGVyQ2FuY2VsbGVkJywgcGVyZm9ybUxlYXZlKTtcbiAgICAgICAgbWVyZ2VWTm9kZUhvb2sob2xkRGF0YSwgJ2RlbGF5TGVhdmUnLCBmdW5jdGlvbiAobGVhdmUpIHsgZGVsYXllZExlYXZlID0gbGVhdmU7IH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByYXdDaGlsZFxuICB9XG59O1xuXG4vKiAgKi9cblxudmFyIHByb3BzID0gZXh0ZW5kKHtcbiAgdGFnOiBTdHJpbmcsXG4gIG1vdmVDbGFzczogU3RyaW5nXG59LCB0cmFuc2l0aW9uUHJvcHMpO1xuXG5kZWxldGUgcHJvcHMubW9kZTtcblxudmFyIFRyYW5zaXRpb25Hcm91cCA9IHtcbiAgcHJvcHM6IHByb3BzLFxuXG4gIGJlZm9yZU1vdW50OiBmdW5jdGlvbiBiZWZvcmVNb3VudCAoKSB7XG4gICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICB2YXIgdXBkYXRlID0gdGhpcy5fdXBkYXRlO1xuICAgIHRoaXMuX3VwZGF0ZSA9IGZ1bmN0aW9uICh2bm9kZSwgaHlkcmF0aW5nKSB7XG4gICAgICB2YXIgcmVzdG9yZUFjdGl2ZUluc3RhbmNlID0gc2V0QWN0aXZlSW5zdGFuY2UodGhpcyQxKTtcbiAgICAgIC8vIGZvcmNlIHJlbW92aW5nIHBhc3NcbiAgICAgIHRoaXMkMS5fX3BhdGNoX18oXG4gICAgICAgIHRoaXMkMS5fdm5vZGUsXG4gICAgICAgIHRoaXMkMS5rZXB0LFxuICAgICAgICBmYWxzZSwgLy8gaHlkcmF0aW5nXG4gICAgICAgIHRydWUgLy8gcmVtb3ZlT25seSAoIWltcG9ydGFudCwgYXZvaWRzIHVubmVjZXNzYXJ5IG1vdmVzKVxuICAgICAgKTtcbiAgICAgIHRoaXMkMS5fdm5vZGUgPSB0aGlzJDEua2VwdDtcbiAgICAgIHJlc3RvcmVBY3RpdmVJbnN0YW5jZSgpO1xuICAgICAgdXBkYXRlLmNhbGwodGhpcyQxLCB2bm9kZSwgaHlkcmF0aW5nKTtcbiAgICB9O1xuICB9LFxuXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyIChoKSB7XG4gICAgdmFyIHRhZyA9IHRoaXMudGFnIHx8IHRoaXMuJHZub2RlLmRhdGEudGFnIHx8ICdzcGFuJztcbiAgICB2YXIgbWFwID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICB2YXIgcHJldkNoaWxkcmVuID0gdGhpcy5wcmV2Q2hpbGRyZW4gPSB0aGlzLmNoaWxkcmVuO1xuICAgIHZhciByYXdDaGlsZHJlbiA9IHRoaXMuJHNsb3RzLmRlZmF1bHQgfHwgW107XG4gICAgdmFyIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbiA9IFtdO1xuICAgIHZhciB0cmFuc2l0aW9uRGF0YSA9IGV4dHJhY3RUcmFuc2l0aW9uRGF0YSh0aGlzKTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmF3Q2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBjID0gcmF3Q2hpbGRyZW5baV07XG4gICAgICBpZiAoYy50YWcpIHtcbiAgICAgICAgaWYgKGMua2V5ICE9IG51bGwgJiYgU3RyaW5nKGMua2V5KS5pbmRleE9mKCdfX3ZsaXN0JykgIT09IDApIHtcbiAgICAgICAgICBjaGlsZHJlbi5wdXNoKGMpO1xuICAgICAgICAgIG1hcFtjLmtleV0gPSBjXG4gICAgICAgICAgOyhjLmRhdGEgfHwgKGMuZGF0YSA9IHt9KSkudHJhbnNpdGlvbiA9IHRyYW5zaXRpb25EYXRhO1xuICAgICAgICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICB2YXIgb3B0cyA9IGMuY29tcG9uZW50T3B0aW9ucztcbiAgICAgICAgICB2YXIgbmFtZSA9IG9wdHMgPyAob3B0cy5DdG9yLm9wdGlvbnMubmFtZSB8fCBvcHRzLnRhZyB8fCAnJykgOiBjLnRhZztcbiAgICAgICAgICB3YXJuKChcIjx0cmFuc2l0aW9uLWdyb3VwPiBjaGlsZHJlbiBtdXN0IGJlIGtleWVkOiA8XCIgKyBuYW1lICsgXCI+XCIpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwcmV2Q2hpbGRyZW4pIHtcbiAgICAgIHZhciBrZXB0ID0gW107XG4gICAgICB2YXIgcmVtb3ZlZCA9IFtdO1xuICAgICAgZm9yICh2YXIgaSQxID0gMDsgaSQxIDwgcHJldkNoaWxkcmVuLmxlbmd0aDsgaSQxKyspIHtcbiAgICAgICAgdmFyIGMkMSA9IHByZXZDaGlsZHJlbltpJDFdO1xuICAgICAgICBjJDEuZGF0YS50cmFuc2l0aW9uID0gdHJhbnNpdGlvbkRhdGE7XG4gICAgICAgIGMkMS5kYXRhLnBvcyA9IGMkMS5lbG0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGlmIChtYXBbYyQxLmtleV0pIHtcbiAgICAgICAgICBrZXB0LnB1c2goYyQxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZW1vdmVkLnB1c2goYyQxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5rZXB0ID0gaCh0YWcsIG51bGwsIGtlcHQpO1xuICAgICAgdGhpcy5yZW1vdmVkID0gcmVtb3ZlZDtcbiAgICB9XG5cbiAgICByZXR1cm4gaCh0YWcsIG51bGwsIGNoaWxkcmVuKVxuICB9LFxuXG4gIHVwZGF0ZWQ6IGZ1bmN0aW9uIHVwZGF0ZWQgKCkge1xuICAgIHZhciBjaGlsZHJlbiA9IHRoaXMucHJldkNoaWxkcmVuO1xuICAgIHZhciBtb3ZlQ2xhc3MgPSB0aGlzLm1vdmVDbGFzcyB8fCAoKHRoaXMubmFtZSB8fCAndicpICsgJy1tb3ZlJyk7XG4gICAgaWYgKCFjaGlsZHJlbi5sZW5ndGggfHwgIXRoaXMuaGFzTW92ZShjaGlsZHJlblswXS5lbG0sIG1vdmVDbGFzcykpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8vIHdlIGRpdmlkZSB0aGUgd29yayBpbnRvIHRocmVlIGxvb3BzIHRvIGF2b2lkIG1peGluZyBET00gcmVhZHMgYW5kIHdyaXRlc1xuICAgIC8vIGluIGVhY2ggaXRlcmF0aW9uIC0gd2hpY2ggaGVscHMgcHJldmVudCBsYXlvdXQgdGhyYXNoaW5nLlxuICAgIGNoaWxkcmVuLmZvckVhY2goY2FsbFBlbmRpbmdDYnMpO1xuICAgIGNoaWxkcmVuLmZvckVhY2gocmVjb3JkUG9zaXRpb24pO1xuICAgIGNoaWxkcmVuLmZvckVhY2goYXBwbHlUcmFuc2xhdGlvbik7XG5cbiAgICAvLyBmb3JjZSByZWZsb3cgdG8gcHV0IGV2ZXJ5dGhpbmcgaW4gcG9zaXRpb25cbiAgICAvLyBhc3NpZ24gdG8gdGhpcyB0byBhdm9pZCBiZWluZyByZW1vdmVkIGluIHRyZWUtc2hha2luZ1xuICAgIC8vICRmbG93LWRpc2FibGUtbGluZVxuICAgIHRoaXMuX3JlZmxvdyA9IGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0O1xuXG4gICAgY2hpbGRyZW4uZm9yRWFjaChmdW5jdGlvbiAoYykge1xuICAgICAgaWYgKGMuZGF0YS5tb3ZlZCkge1xuICAgICAgICB2YXIgZWwgPSBjLmVsbTtcbiAgICAgICAgdmFyIHMgPSBlbC5zdHlsZTtcbiAgICAgICAgYWRkVHJhbnNpdGlvbkNsYXNzKGVsLCBtb3ZlQ2xhc3MpO1xuICAgICAgICBzLnRyYW5zZm9ybSA9IHMuV2Via2l0VHJhbnNmb3JtID0gcy50cmFuc2l0aW9uRHVyYXRpb24gPSAnJztcbiAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcih0cmFuc2l0aW9uRW5kRXZlbnQsIGVsLl9tb3ZlQ2IgPSBmdW5jdGlvbiBjYiAoZSkge1xuICAgICAgICAgIGlmIChlICYmIGUudGFyZ2V0ICE9PSBlbCkge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghZSB8fCAvdHJhbnNmb3JtJC8udGVzdChlLnByb3BlcnR5TmFtZSkpIHtcbiAgICAgICAgICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIodHJhbnNpdGlvbkVuZEV2ZW50LCBjYik7XG4gICAgICAgICAgICBlbC5fbW92ZUNiID0gbnVsbDtcbiAgICAgICAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgbW92ZUNsYXNzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9LFxuXG4gIG1ldGhvZHM6IHtcbiAgICBoYXNNb3ZlOiBmdW5jdGlvbiBoYXNNb3ZlIChlbCwgbW92ZUNsYXNzKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlmICghaGFzVHJhbnNpdGlvbikge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgaWYgKHRoaXMuX2hhc01vdmUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hhc01vdmVcbiAgICAgIH1cbiAgICAgIC8vIERldGVjdCB3aGV0aGVyIGFuIGVsZW1lbnQgd2l0aCB0aGUgbW92ZSBjbGFzcyBhcHBsaWVkIGhhc1xuICAgICAgLy8gQ1NTIHRyYW5zaXRpb25zLiBTaW5jZSB0aGUgZWxlbWVudCBtYXkgYmUgaW5zaWRlIGFuIGVudGVyaW5nXG4gICAgICAvLyB0cmFuc2l0aW9uIGF0IHRoaXMgdmVyeSBtb21lbnQsIHdlIG1ha2UgYSBjbG9uZSBvZiBpdCBhbmQgcmVtb3ZlXG4gICAgICAvLyBhbGwgb3RoZXIgdHJhbnNpdGlvbiBjbGFzc2VzIGFwcGxpZWQgdG8gZW5zdXJlIG9ubHkgdGhlIG1vdmUgY2xhc3NcbiAgICAgIC8vIGlzIGFwcGxpZWQuXG4gICAgICB2YXIgY2xvbmUgPSBlbC5jbG9uZU5vZGUoKTtcbiAgICAgIGlmIChlbC5fdHJhbnNpdGlvbkNsYXNzZXMpIHtcbiAgICAgICAgZWwuX3RyYW5zaXRpb25DbGFzc2VzLmZvckVhY2goZnVuY3Rpb24gKGNscykgeyByZW1vdmVDbGFzcyhjbG9uZSwgY2xzKTsgfSk7XG4gICAgICB9XG4gICAgICBhZGRDbGFzcyhjbG9uZSwgbW92ZUNsYXNzKTtcbiAgICAgIGNsb25lLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICB0aGlzLiRlbC5hcHBlbmRDaGlsZChjbG9uZSk7XG4gICAgICB2YXIgaW5mbyA9IGdldFRyYW5zaXRpb25JbmZvKGNsb25lKTtcbiAgICAgIHRoaXMuJGVsLnJlbW92ZUNoaWxkKGNsb25lKTtcbiAgICAgIHJldHVybiAodGhpcy5faGFzTW92ZSA9IGluZm8uaGFzVHJhbnNmb3JtKVxuICAgIH1cbiAgfVxufTtcblxuZnVuY3Rpb24gY2FsbFBlbmRpbmdDYnMgKGMpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmIChjLmVsbS5fbW92ZUNiKSB7XG4gICAgYy5lbG0uX21vdmVDYigpO1xuICB9XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoYy5lbG0uX2VudGVyQ2IpIHtcbiAgICBjLmVsbS5fZW50ZXJDYigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlY29yZFBvc2l0aW9uIChjKSB7XG4gIGMuZGF0YS5uZXdQb3MgPSBjLmVsbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbn1cblxuZnVuY3Rpb24gYXBwbHlUcmFuc2xhdGlvbiAoYykge1xuICB2YXIgb2xkUG9zID0gYy5kYXRhLnBvcztcbiAgdmFyIG5ld1BvcyA9IGMuZGF0YS5uZXdQb3M7XG4gIHZhciBkeCA9IG9sZFBvcy5sZWZ0IC0gbmV3UG9zLmxlZnQ7XG4gIHZhciBkeSA9IG9sZFBvcy50b3AgLSBuZXdQb3MudG9wO1xuICBpZiAoZHggfHwgZHkpIHtcbiAgICBjLmRhdGEubW92ZWQgPSB0cnVlO1xuICAgIHZhciBzID0gYy5lbG0uc3R5bGU7XG4gICAgcy50cmFuc2Zvcm0gPSBzLldlYmtpdFRyYW5zZm9ybSA9IFwidHJhbnNsYXRlKFwiICsgZHggKyBcInB4LFwiICsgZHkgKyBcInB4KVwiO1xuICAgIHMudHJhbnNpdGlvbkR1cmF0aW9uID0gJzBzJztcbiAgfVxufVxuXG52YXIgcGxhdGZvcm1Db21wb25lbnRzID0ge1xuICBUcmFuc2l0aW9uOiBUcmFuc2l0aW9uLFxuICBUcmFuc2l0aW9uR3JvdXA6IFRyYW5zaXRpb25Hcm91cFxufTtcblxuLyogICovXG5cbi8vIGluc3RhbGwgcGxhdGZvcm0gc3BlY2lmaWMgdXRpbHNcblZ1ZS5jb25maWcubXVzdFVzZVByb3AgPSBtdXN0VXNlUHJvcDtcblZ1ZS5jb25maWcuaXNSZXNlcnZlZFRhZyA9IGlzUmVzZXJ2ZWRUYWc7XG5WdWUuY29uZmlnLmlzUmVzZXJ2ZWRBdHRyID0gaXNSZXNlcnZlZEF0dHI7XG5WdWUuY29uZmlnLmdldFRhZ05hbWVzcGFjZSA9IGdldFRhZ05hbWVzcGFjZTtcblZ1ZS5jb25maWcuaXNVbmtub3duRWxlbWVudCA9IGlzVW5rbm93bkVsZW1lbnQ7XG5cbi8vIGluc3RhbGwgcGxhdGZvcm0gcnVudGltZSBkaXJlY3RpdmVzICYgY29tcG9uZW50c1xuZXh0ZW5kKFZ1ZS5vcHRpb25zLmRpcmVjdGl2ZXMsIHBsYXRmb3JtRGlyZWN0aXZlcyk7XG5leHRlbmQoVnVlLm9wdGlvbnMuY29tcG9uZW50cywgcGxhdGZvcm1Db21wb25lbnRzKTtcblxuLy8gaW5zdGFsbCBwbGF0Zm9ybSBwYXRjaCBmdW5jdGlvblxuVnVlLnByb3RvdHlwZS5fX3BhdGNoX18gPSBpbkJyb3dzZXIgPyBwYXRjaCA6IG5vb3A7XG5cbi8vIHB1YmxpYyBtb3VudCBtZXRob2RcblZ1ZS5wcm90b3R5cGUuJG1vdW50ID0gZnVuY3Rpb24gKFxuICBlbCxcbiAgaHlkcmF0aW5nXG4pIHtcbiAgZWwgPSBlbCAmJiBpbkJyb3dzZXIgPyBxdWVyeShlbCkgOiB1bmRlZmluZWQ7XG4gIHJldHVybiBtb3VudENvbXBvbmVudCh0aGlzLCBlbCwgaHlkcmF0aW5nKVxufTtcblxuLy8gZGV2dG9vbHMgZ2xvYmFsIGhvb2tcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5pZiAoaW5Ccm93c2VyKSB7XG4gIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgIGlmIChjb25maWcuZGV2dG9vbHMpIHtcbiAgICAgIGlmIChkZXZ0b29scykge1xuICAgICAgICBkZXZ0b29scy5lbWl0KCdpbml0JywgVnVlKTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICd0ZXN0J1xuICAgICAgKSB7XG4gICAgICAgIGNvbnNvbGVbY29uc29sZS5pbmZvID8gJ2luZm8nIDogJ2xvZyddKFxuICAgICAgICAgICdEb3dubG9hZCB0aGUgVnVlIERldnRvb2xzIGV4dGVuc2lvbiBmb3IgYSBiZXR0ZXIgZGV2ZWxvcG1lbnQgZXhwZXJpZW5jZTpcXG4nICtcbiAgICAgICAgICAnaHR0cHM6Ly9naXRodWIuY29tL3Z1ZWpzL3Z1ZS1kZXZ0b29scydcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAndGVzdCcgJiZcbiAgICAgIGNvbmZpZy5wcm9kdWN0aW9uVGlwICE9PSBmYWxzZSAmJlxuICAgICAgdHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnXG4gICAgKSB7XG4gICAgICBjb25zb2xlW2NvbnNvbGUuaW5mbyA/ICdpbmZvJyA6ICdsb2cnXShcbiAgICAgICAgXCJZb3UgYXJlIHJ1bm5pbmcgVnVlIGluIGRldmVsb3BtZW50IG1vZGUuXFxuXCIgK1xuICAgICAgICBcIk1ha2Ugc3VyZSB0byB0dXJuIG9uIHByb2R1Y3Rpb24gbW9kZSB3aGVuIGRlcGxveWluZyBmb3IgcHJvZHVjdGlvbi5cXG5cIiArXG4gICAgICAgIFwiU2VlIG1vcmUgdGlwcyBhdCBodHRwczovL3Z1ZWpzLm9yZy9ndWlkZS9kZXBsb3ltZW50Lmh0bWxcIlxuICAgICAgKTtcbiAgICB9XG4gIH0sIDApO1xufVxuXG4vKiAgKi9cblxudmFyIGRlZmF1bHRUYWdSRSA9IC9cXHtcXHsoKD86LnxcXHI/XFxuKSs/KVxcfVxcfS9nO1xudmFyIHJlZ2V4RXNjYXBlUkUgPSAvWy0uKis/XiR7fSgpfFtcXF1cXC9cXFxcXS9nO1xuXG52YXIgYnVpbGRSZWdleCA9IGNhY2hlZChmdW5jdGlvbiAoZGVsaW1pdGVycykge1xuICB2YXIgb3BlbiA9IGRlbGltaXRlcnNbMF0ucmVwbGFjZShyZWdleEVzY2FwZVJFLCAnXFxcXCQmJyk7XG4gIHZhciBjbG9zZSA9IGRlbGltaXRlcnNbMV0ucmVwbGFjZShyZWdleEVzY2FwZVJFLCAnXFxcXCQmJyk7XG4gIHJldHVybiBuZXcgUmVnRXhwKG9wZW4gKyAnKCg/Oi58XFxcXG4pKz8pJyArIGNsb3NlLCAnZycpXG59KTtcblxuXG5cbmZ1bmN0aW9uIHBhcnNlVGV4dCAoXG4gIHRleHQsXG4gIGRlbGltaXRlcnNcbikge1xuICB2YXIgdGFnUkUgPSBkZWxpbWl0ZXJzID8gYnVpbGRSZWdleChkZWxpbWl0ZXJzKSA6IGRlZmF1bHRUYWdSRTtcbiAgaWYgKCF0YWdSRS50ZXN0KHRleHQpKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIHRva2VucyA9IFtdO1xuICB2YXIgcmF3VG9rZW5zID0gW107XG4gIHZhciBsYXN0SW5kZXggPSB0YWdSRS5sYXN0SW5kZXggPSAwO1xuICB2YXIgbWF0Y2gsIGluZGV4LCB0b2tlblZhbHVlO1xuICB3aGlsZSAoKG1hdGNoID0gdGFnUkUuZXhlYyh0ZXh0KSkpIHtcbiAgICBpbmRleCA9IG1hdGNoLmluZGV4O1xuICAgIC8vIHB1c2ggdGV4dCB0b2tlblxuICAgIGlmIChpbmRleCA+IGxhc3RJbmRleCkge1xuICAgICAgcmF3VG9rZW5zLnB1c2godG9rZW5WYWx1ZSA9IHRleHQuc2xpY2UobGFzdEluZGV4LCBpbmRleCkpO1xuICAgICAgdG9rZW5zLnB1c2goSlNPTi5zdHJpbmdpZnkodG9rZW5WYWx1ZSkpO1xuICAgIH1cbiAgICAvLyB0YWcgdG9rZW5cbiAgICB2YXIgZXhwID0gcGFyc2VGaWx0ZXJzKG1hdGNoWzFdLnRyaW0oKSk7XG4gICAgdG9rZW5zLnB1c2goKFwiX3MoXCIgKyBleHAgKyBcIilcIikpO1xuICAgIHJhd1Rva2Vucy5wdXNoKHsgJ0BiaW5kaW5nJzogZXhwIH0pO1xuICAgIGxhc3RJbmRleCA9IGluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoO1xuICB9XG4gIGlmIChsYXN0SW5kZXggPCB0ZXh0Lmxlbmd0aCkge1xuICAgIHJhd1Rva2Vucy5wdXNoKHRva2VuVmFsdWUgPSB0ZXh0LnNsaWNlKGxhc3RJbmRleCkpO1xuICAgIHRva2Vucy5wdXNoKEpTT04uc3RyaW5naWZ5KHRva2VuVmFsdWUpKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGV4cHJlc3Npb246IHRva2Vucy5qb2luKCcrJyksXG4gICAgdG9rZW5zOiByYXdUb2tlbnNcbiAgfVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gdHJhbnNmb3JtTm9kZSAoZWwsIG9wdGlvbnMpIHtcbiAgdmFyIHdhcm4gPSBvcHRpb25zLndhcm4gfHwgYmFzZVdhcm47XG4gIHZhciBzdGF0aWNDbGFzcyA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICdjbGFzcycpO1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBzdGF0aWNDbGFzcykge1xuICAgIHZhciByZXMgPSBwYXJzZVRleHQoc3RhdGljQ2xhc3MsIG9wdGlvbnMuZGVsaW1pdGVycyk7XG4gICAgaWYgKHJlcykge1xuICAgICAgd2FybihcbiAgICAgICAgXCJjbGFzcz1cXFwiXCIgKyBzdGF0aWNDbGFzcyArIFwiXFxcIjogXCIgK1xuICAgICAgICAnSW50ZXJwb2xhdGlvbiBpbnNpZGUgYXR0cmlidXRlcyBoYXMgYmVlbiByZW1vdmVkLiAnICtcbiAgICAgICAgJ1VzZSB2LWJpbmQgb3IgdGhlIGNvbG9uIHNob3J0aGFuZCBpbnN0ZWFkLiBGb3IgZXhhbXBsZSwgJyArXG4gICAgICAgICdpbnN0ZWFkIG9mIDxkaXYgY2xhc3M9XCJ7eyB2YWwgfX1cIj4sIHVzZSA8ZGl2IDpjbGFzcz1cInZhbFwiPi4nLFxuICAgICAgICBlbC5yYXdBdHRyc01hcFsnY2xhc3MnXVxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgaWYgKHN0YXRpY0NsYXNzKSB7XG4gICAgZWwuc3RhdGljQ2xhc3MgPSBKU09OLnN0cmluZ2lmeShzdGF0aWNDbGFzcyk7XG4gIH1cbiAgdmFyIGNsYXNzQmluZGluZyA9IGdldEJpbmRpbmdBdHRyKGVsLCAnY2xhc3MnLCBmYWxzZSAvKiBnZXRTdGF0aWMgKi8pO1xuICBpZiAoY2xhc3NCaW5kaW5nKSB7XG4gICAgZWwuY2xhc3NCaW5kaW5nID0gY2xhc3NCaW5kaW5nO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdlbkRhdGEgKGVsKSB7XG4gIHZhciBkYXRhID0gJyc7XG4gIGlmIChlbC5zdGF0aWNDbGFzcykge1xuICAgIGRhdGEgKz0gXCJzdGF0aWNDbGFzczpcIiArIChlbC5zdGF0aWNDbGFzcykgKyBcIixcIjtcbiAgfVxuICBpZiAoZWwuY2xhc3NCaW5kaW5nKSB7XG4gICAgZGF0YSArPSBcImNsYXNzOlwiICsgKGVsLmNsYXNzQmluZGluZykgKyBcIixcIjtcbiAgfVxuICByZXR1cm4gZGF0YVxufVxuXG52YXIga2xhc3MkMSA9IHtcbiAgc3RhdGljS2V5czogWydzdGF0aWNDbGFzcyddLFxuICB0cmFuc2Zvcm1Ob2RlOiB0cmFuc2Zvcm1Ob2RlLFxuICBnZW5EYXRhOiBnZW5EYXRhXG59O1xuXG4vKiAgKi9cblxuZnVuY3Rpb24gdHJhbnNmb3JtTm9kZSQxIChlbCwgb3B0aW9ucykge1xuICB2YXIgd2FybiA9IG9wdGlvbnMud2FybiB8fCBiYXNlV2FybjtcbiAgdmFyIHN0YXRpY1N0eWxlID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3N0eWxlJyk7XG4gIGlmIChzdGF0aWNTdHlsZSkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICB2YXIgcmVzID0gcGFyc2VUZXh0KHN0YXRpY1N0eWxlLCBvcHRpb25zLmRlbGltaXRlcnMpO1xuICAgICAgaWYgKHJlcykge1xuICAgICAgICB3YXJuKFxuICAgICAgICAgIFwic3R5bGU9XFxcIlwiICsgc3RhdGljU3R5bGUgKyBcIlxcXCI6IFwiICtcbiAgICAgICAgICAnSW50ZXJwb2xhdGlvbiBpbnNpZGUgYXR0cmlidXRlcyBoYXMgYmVlbiByZW1vdmVkLiAnICtcbiAgICAgICAgICAnVXNlIHYtYmluZCBvciB0aGUgY29sb24gc2hvcnRoYW5kIGluc3RlYWQuIEZvciBleGFtcGxlLCAnICtcbiAgICAgICAgICAnaW5zdGVhZCBvZiA8ZGl2IHN0eWxlPVwie3sgdmFsIH19XCI+LCB1c2UgPGRpdiA6c3R5bGU9XCJ2YWxcIj4uJyxcbiAgICAgICAgICBlbC5yYXdBdHRyc01hcFsnc3R5bGUnXVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBlbC5zdGF0aWNTdHlsZSA9IEpTT04uc3RyaW5naWZ5KHBhcnNlU3R5bGVUZXh0KHN0YXRpY1N0eWxlKSk7XG4gIH1cblxuICB2YXIgc3R5bGVCaW5kaW5nID0gZ2V0QmluZGluZ0F0dHIoZWwsICdzdHlsZScsIGZhbHNlIC8qIGdldFN0YXRpYyAqLyk7XG4gIGlmIChzdHlsZUJpbmRpbmcpIHtcbiAgICBlbC5zdHlsZUJpbmRpbmcgPSBzdHlsZUJpbmRpbmc7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2VuRGF0YSQxIChlbCkge1xuICB2YXIgZGF0YSA9ICcnO1xuICBpZiAoZWwuc3RhdGljU3R5bGUpIHtcbiAgICBkYXRhICs9IFwic3RhdGljU3R5bGU6XCIgKyAoZWwuc3RhdGljU3R5bGUpICsgXCIsXCI7XG4gIH1cbiAgaWYgKGVsLnN0eWxlQmluZGluZykge1xuICAgIGRhdGEgKz0gXCJzdHlsZTooXCIgKyAoZWwuc3R5bGVCaW5kaW5nKSArIFwiKSxcIjtcbiAgfVxuICByZXR1cm4gZGF0YVxufVxuXG52YXIgc3R5bGUkMSA9IHtcbiAgc3RhdGljS2V5czogWydzdGF0aWNTdHlsZSddLFxuICB0cmFuc2Zvcm1Ob2RlOiB0cmFuc2Zvcm1Ob2RlJDEsXG4gIGdlbkRhdGE6IGdlbkRhdGEkMVxufTtcblxuLyogICovXG5cbnZhciBkZWNvZGVyO1xuXG52YXIgaGUgPSB7XG4gIGRlY29kZTogZnVuY3Rpb24gZGVjb2RlIChodG1sKSB7XG4gICAgZGVjb2RlciA9IGRlY29kZXIgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZGVjb2Rlci5pbm5lckhUTUwgPSBodG1sO1xuICAgIHJldHVybiBkZWNvZGVyLnRleHRDb250ZW50XG4gIH1cbn07XG5cbi8qICAqL1xuXG52YXIgaXNVbmFyeVRhZyA9IG1ha2VNYXAoXG4gICdhcmVhLGJhc2UsYnIsY29sLGVtYmVkLGZyYW1lLGhyLGltZyxpbnB1dCxpc2luZGV4LGtleWdlbiwnICtcbiAgJ2xpbmssbWV0YSxwYXJhbSxzb3VyY2UsdHJhY2ssd2JyJ1xuKTtcblxuLy8gRWxlbWVudHMgdGhhdCB5b3UgY2FuLCBpbnRlbnRpb25hbGx5LCBsZWF2ZSBvcGVuXG4vLyAoYW5kIHdoaWNoIGNsb3NlIHRoZW1zZWx2ZXMpXG52YXIgY2FuQmVMZWZ0T3BlblRhZyA9IG1ha2VNYXAoXG4gICdjb2xncm91cCxkZCxkdCxsaSxvcHRpb25zLHAsdGQsdGZvb3QsdGgsdGhlYWQsdHIsc291cmNlJ1xuKTtcblxuLy8gSFRNTDUgdGFncyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbmRpY2VzLmh0bWwjZWxlbWVudHMtM1xuLy8gUGhyYXNpbmcgQ29udGVudCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9kb20uaHRtbCNwaHJhc2luZy1jb250ZW50XG52YXIgaXNOb25QaHJhc2luZ1RhZyA9IG1ha2VNYXAoXG4gICdhZGRyZXNzLGFydGljbGUsYXNpZGUsYmFzZSxibG9ja3F1b3RlLGJvZHksY2FwdGlvbixjb2wsY29sZ3JvdXAsZGQsJyArXG4gICdkZXRhaWxzLGRpYWxvZyxkaXYsZGwsZHQsZmllbGRzZXQsZmlnY2FwdGlvbixmaWd1cmUsZm9vdGVyLGZvcm0sJyArXG4gICdoMSxoMixoMyxoNCxoNSxoNixoZWFkLGhlYWRlcixoZ3JvdXAsaHIsaHRtbCxsZWdlbmQsbGksbWVudWl0ZW0sbWV0YSwnICtcbiAgJ29wdGdyb3VwLG9wdGlvbixwYXJhbSxycCxydCxzb3VyY2Usc3R5bGUsc3VtbWFyeSx0Ym9keSx0ZCx0Zm9vdCx0aCx0aGVhZCwnICtcbiAgJ3RpdGxlLHRyLHRyYWNrJ1xuKTtcblxuLyoqXG4gKiBOb3QgdHlwZS1jaGVja2luZyB0aGlzIGZpbGUgYmVjYXVzZSBpdCdzIG1vc3RseSB2ZW5kb3IgY29kZS5cbiAqL1xuXG4vLyBSZWd1bGFyIEV4cHJlc3Npb25zIGZvciBwYXJzaW5nIHRhZ3MgYW5kIGF0dHJpYnV0ZXNcbnZhciBhdHRyaWJ1dGUgPSAvXlxccyooW15cXHNcIic8PlxcLz1dKykoPzpcXHMqKD0pXFxzKig/OlwiKFteXCJdKilcIit8JyhbXiddKiknK3woW15cXHNcIic9PD5gXSspKSk/LztcbnZhciBkeW5hbWljQXJnQXR0cmlidXRlID0gL15cXHMqKCg/OnYtW1xcdy1dKzp8QHw6fCMpXFxbW149XStcXF1bXlxcc1wiJzw+XFwvPV0qKSg/OlxccyooPSlcXHMqKD86XCIoW15cIl0qKVwiK3wnKFteJ10qKScrfChbXlxcc1wiJz08PmBdKykpKT8vO1xudmFyIG5jbmFtZSA9IFwiW2EtekEtWl9dW1xcXFwtXFxcXC4wLTlfYS16QS1aXCIgKyAodW5pY29kZVJlZ0V4cC5zb3VyY2UpICsgXCJdKlwiO1xudmFyIHFuYW1lQ2FwdHVyZSA9IFwiKCg/OlwiICsgbmNuYW1lICsgXCJcXFxcOik/XCIgKyBuY25hbWUgKyBcIilcIjtcbnZhciBzdGFydFRhZ09wZW4gPSBuZXcgUmVnRXhwKChcIl48XCIgKyBxbmFtZUNhcHR1cmUpKTtcbnZhciBzdGFydFRhZ0Nsb3NlID0gL15cXHMqKFxcLz8pPi87XG52YXIgZW5kVGFnID0gbmV3IFJlZ0V4cCgoXCJePFxcXFwvXCIgKyBxbmFtZUNhcHR1cmUgKyBcIltePl0qPlwiKSk7XG52YXIgZG9jdHlwZSA9IC9ePCFET0NUWVBFIFtePl0rPi9pO1xuLy8gIzcyOTg6IGVzY2FwZSAtIHRvIGF2b2lkIGJlaW5nIHBhc2VkIGFzIEhUTUwgY29tbWVudCB3aGVuIGlubGluZWQgaW4gcGFnZVxudmFyIGNvbW1lbnQgPSAvXjwhXFwtLS87XG52YXIgY29uZGl0aW9uYWxDb21tZW50ID0gL148IVxcWy87XG5cbi8vIFNwZWNpYWwgRWxlbWVudHMgKGNhbiBjb250YWluIGFueXRoaW5nKVxudmFyIGlzUGxhaW5UZXh0RWxlbWVudCA9IG1ha2VNYXAoJ3NjcmlwdCxzdHlsZSx0ZXh0YXJlYScsIHRydWUpO1xudmFyIHJlQ2FjaGUgPSB7fTtcblxudmFyIGRlY29kaW5nTWFwID0ge1xuICAnJmx0Oyc6ICc8JyxcbiAgJyZndDsnOiAnPicsXG4gICcmcXVvdDsnOiAnXCInLFxuICAnJmFtcDsnOiAnJicsXG4gICcmIzEwOyc6ICdcXG4nLFxuICAnJiM5Oyc6ICdcXHQnLFxuICAnJiMzOTsnOiBcIidcIlxufTtcbnZhciBlbmNvZGVkQXR0ciA9IC8mKD86bHR8Z3R8cXVvdHxhbXB8IzM5KTsvZztcbnZhciBlbmNvZGVkQXR0cldpdGhOZXdMaW5lcyA9IC8mKD86bHR8Z3R8cXVvdHxhbXB8IzM5fCMxMHwjOSk7L2c7XG5cbi8vICM1OTkyXG52YXIgaXNJZ25vcmVOZXdsaW5lVGFnID0gbWFrZU1hcCgncHJlLHRleHRhcmVhJywgdHJ1ZSk7XG52YXIgc2hvdWxkSWdub3JlRmlyc3ROZXdsaW5lID0gZnVuY3Rpb24gKHRhZywgaHRtbCkgeyByZXR1cm4gdGFnICYmIGlzSWdub3JlTmV3bGluZVRhZyh0YWcpICYmIGh0bWxbMF0gPT09ICdcXG4nOyB9O1xuXG5mdW5jdGlvbiBkZWNvZGVBdHRyICh2YWx1ZSwgc2hvdWxkRGVjb2RlTmV3bGluZXMpIHtcbiAgdmFyIHJlID0gc2hvdWxkRGVjb2RlTmV3bGluZXMgPyBlbmNvZGVkQXR0cldpdGhOZXdMaW5lcyA6IGVuY29kZWRBdHRyO1xuICByZXR1cm4gdmFsdWUucmVwbGFjZShyZSwgZnVuY3Rpb24gKG1hdGNoKSB7IHJldHVybiBkZWNvZGluZ01hcFttYXRjaF07IH0pXG59XG5cbmZ1bmN0aW9uIHBhcnNlSFRNTCAoaHRtbCwgb3B0aW9ucykge1xuICB2YXIgc3RhY2sgPSBbXTtcbiAgdmFyIGV4cGVjdEhUTUwgPSBvcHRpb25zLmV4cGVjdEhUTUw7XG4gIHZhciBpc1VuYXJ5VGFnJCQxID0gb3B0aW9ucy5pc1VuYXJ5VGFnIHx8IG5vO1xuICB2YXIgY2FuQmVMZWZ0T3BlblRhZyQkMSA9IG9wdGlvbnMuY2FuQmVMZWZ0T3BlblRhZyB8fCBubztcbiAgdmFyIGluZGV4ID0gMDtcbiAgdmFyIGxhc3QsIGxhc3RUYWc7XG4gIHdoaWxlIChodG1sKSB7XG4gICAgbGFzdCA9IGh0bWw7XG4gICAgLy8gTWFrZSBzdXJlIHdlJ3JlIG5vdCBpbiBhIHBsYWludGV4dCBjb250ZW50IGVsZW1lbnQgbGlrZSBzY3JpcHQvc3R5bGVcbiAgICBpZiAoIWxhc3RUYWcgfHwgIWlzUGxhaW5UZXh0RWxlbWVudChsYXN0VGFnKSkge1xuICAgICAgdmFyIHRleHRFbmQgPSBodG1sLmluZGV4T2YoJzwnKTtcbiAgICAgIGlmICh0ZXh0RW5kID09PSAwKSB7XG4gICAgICAgIC8vIENvbW1lbnQ6XG4gICAgICAgIGlmIChjb21tZW50LnRlc3QoaHRtbCkpIHtcbiAgICAgICAgICB2YXIgY29tbWVudEVuZCA9IGh0bWwuaW5kZXhPZignLS0+Jyk7XG5cbiAgICAgICAgICBpZiAoY29tbWVudEVuZCA+PSAwKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5zaG91bGRLZWVwQ29tbWVudCkge1xuICAgICAgICAgICAgICBvcHRpb25zLmNvbW1lbnQoaHRtbC5zdWJzdHJpbmcoNCwgY29tbWVudEVuZCksIGluZGV4LCBpbmRleCArIGNvbW1lbnRFbmQgKyAzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFkdmFuY2UoY29tbWVudEVuZCArIDMpO1xuICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0NvbmRpdGlvbmFsX2NvbW1lbnQjRG93bmxldmVsLXJldmVhbGVkX2NvbmRpdGlvbmFsX2NvbW1lbnRcbiAgICAgICAgaWYgKGNvbmRpdGlvbmFsQ29tbWVudC50ZXN0KGh0bWwpKSB7XG4gICAgICAgICAgdmFyIGNvbmRpdGlvbmFsRW5kID0gaHRtbC5pbmRleE9mKCddPicpO1xuXG4gICAgICAgICAgaWYgKGNvbmRpdGlvbmFsRW5kID49IDApIHtcbiAgICAgICAgICAgIGFkdmFuY2UoY29uZGl0aW9uYWxFbmQgKyAyKTtcbiAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRG9jdHlwZTpcbiAgICAgICAgdmFyIGRvY3R5cGVNYXRjaCA9IGh0bWwubWF0Y2goZG9jdHlwZSk7XG4gICAgICAgIGlmIChkb2N0eXBlTWF0Y2gpIHtcbiAgICAgICAgICBhZHZhbmNlKGRvY3R5cGVNYXRjaFswXS5sZW5ndGgpO1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cblxuICAgICAgICAvLyBFbmQgdGFnOlxuICAgICAgICB2YXIgZW5kVGFnTWF0Y2ggPSBodG1sLm1hdGNoKGVuZFRhZyk7XG4gICAgICAgIGlmIChlbmRUYWdNYXRjaCkge1xuICAgICAgICAgIHZhciBjdXJJbmRleCA9IGluZGV4O1xuICAgICAgICAgIGFkdmFuY2UoZW5kVGFnTWF0Y2hbMF0ubGVuZ3RoKTtcbiAgICAgICAgICBwYXJzZUVuZFRhZyhlbmRUYWdNYXRjaFsxXSwgY3VySW5kZXgsIGluZGV4KTtcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RhcnQgdGFnOlxuICAgICAgICB2YXIgc3RhcnRUYWdNYXRjaCA9IHBhcnNlU3RhcnRUYWcoKTtcbiAgICAgICAgaWYgKHN0YXJ0VGFnTWF0Y2gpIHtcbiAgICAgICAgICBoYW5kbGVTdGFydFRhZyhzdGFydFRhZ01hdGNoKTtcbiAgICAgICAgICBpZiAoc2hvdWxkSWdub3JlRmlyc3ROZXdsaW5lKHN0YXJ0VGFnTWF0Y2gudGFnTmFtZSwgaHRtbCkpIHtcbiAgICAgICAgICAgIGFkdmFuY2UoMSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIHRleHQgPSAodm9pZCAwKSwgcmVzdCA9ICh2b2lkIDApLCBuZXh0ID0gKHZvaWQgMCk7XG4gICAgICBpZiAodGV4dEVuZCA+PSAwKSB7XG4gICAgICAgIHJlc3QgPSBodG1sLnNsaWNlKHRleHRFbmQpO1xuICAgICAgICB3aGlsZSAoXG4gICAgICAgICAgIWVuZFRhZy50ZXN0KHJlc3QpICYmXG4gICAgICAgICAgIXN0YXJ0VGFnT3Blbi50ZXN0KHJlc3QpICYmXG4gICAgICAgICAgIWNvbW1lbnQudGVzdChyZXN0KSAmJlxuICAgICAgICAgICFjb25kaXRpb25hbENvbW1lbnQudGVzdChyZXN0KVxuICAgICAgICApIHtcbiAgICAgICAgICAvLyA8IGluIHBsYWluIHRleHQsIGJlIGZvcmdpdmluZyBhbmQgdHJlYXQgaXQgYXMgdGV4dFxuICAgICAgICAgIG5leHQgPSByZXN0LmluZGV4T2YoJzwnLCAxKTtcbiAgICAgICAgICBpZiAobmV4dCA8IDApIHsgYnJlYWsgfVxuICAgICAgICAgIHRleHRFbmQgKz0gbmV4dDtcbiAgICAgICAgICByZXN0ID0gaHRtbC5zbGljZSh0ZXh0RW5kKTtcbiAgICAgICAgfVxuICAgICAgICB0ZXh0ID0gaHRtbC5zdWJzdHJpbmcoMCwgdGV4dEVuZCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0ZXh0RW5kIDwgMCkge1xuICAgICAgICB0ZXh0ID0gaHRtbDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRleHQpIHtcbiAgICAgICAgYWR2YW5jZSh0ZXh0Lmxlbmd0aCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvcHRpb25zLmNoYXJzICYmIHRleHQpIHtcbiAgICAgICAgb3B0aW9ucy5jaGFycyh0ZXh0LCBpbmRleCAtIHRleHQubGVuZ3RoLCBpbmRleCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBlbmRUYWdMZW5ndGggPSAwO1xuICAgICAgdmFyIHN0YWNrZWRUYWcgPSBsYXN0VGFnLnRvTG93ZXJDYXNlKCk7XG4gICAgICB2YXIgcmVTdGFja2VkVGFnID0gcmVDYWNoZVtzdGFja2VkVGFnXSB8fCAocmVDYWNoZVtzdGFja2VkVGFnXSA9IG5ldyBSZWdFeHAoJyhbXFxcXHNcXFxcU10qPykoPC8nICsgc3RhY2tlZFRhZyArICdbXj5dKj4pJywgJ2knKSk7XG4gICAgICB2YXIgcmVzdCQxID0gaHRtbC5yZXBsYWNlKHJlU3RhY2tlZFRhZywgZnVuY3Rpb24gKGFsbCwgdGV4dCwgZW5kVGFnKSB7XG4gICAgICAgIGVuZFRhZ0xlbmd0aCA9IGVuZFRhZy5sZW5ndGg7XG4gICAgICAgIGlmICghaXNQbGFpblRleHRFbGVtZW50KHN0YWNrZWRUYWcpICYmIHN0YWNrZWRUYWcgIT09ICdub3NjcmlwdCcpIHtcbiAgICAgICAgICB0ZXh0ID0gdGV4dFxuICAgICAgICAgICAgLnJlcGxhY2UoLzwhXFwtLShbXFxzXFxTXSo/KS0tPi9nLCAnJDEnKSAvLyAjNzI5OFxuICAgICAgICAgICAgLnJlcGxhY2UoLzwhXFxbQ0RBVEFcXFsoW1xcc1xcU10qPyldXT4vZywgJyQxJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNob3VsZElnbm9yZUZpcnN0TmV3bGluZShzdGFja2VkVGFnLCB0ZXh0KSkge1xuICAgICAgICAgIHRleHQgPSB0ZXh0LnNsaWNlKDEpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zLmNoYXJzKSB7XG4gICAgICAgICAgb3B0aW9ucy5jaGFycyh0ZXh0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJydcbiAgICAgIH0pO1xuICAgICAgaW5kZXggKz0gaHRtbC5sZW5ndGggLSByZXN0JDEubGVuZ3RoO1xuICAgICAgaHRtbCA9IHJlc3QkMTtcbiAgICAgIHBhcnNlRW5kVGFnKHN0YWNrZWRUYWcsIGluZGV4IC0gZW5kVGFnTGVuZ3RoLCBpbmRleCk7XG4gICAgfVxuXG4gICAgaWYgKGh0bWwgPT09IGxhc3QpIHtcbiAgICAgIG9wdGlvbnMuY2hhcnMgJiYgb3B0aW9ucy5jaGFycyhodG1sKTtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmICFzdGFjay5sZW5ndGggJiYgb3B0aW9ucy53YXJuKSB7XG4gICAgICAgIG9wdGlvbnMud2FybigoXCJNYWwtZm9ybWF0dGVkIHRhZyBhdCBlbmQgb2YgdGVtcGxhdGU6IFxcXCJcIiArIGh0bWwgKyBcIlxcXCJcIiksIHsgc3RhcnQ6IGluZGV4ICsgaHRtbC5sZW5ndGggfSk7XG4gICAgICB9XG4gICAgICBicmVha1xuICAgIH1cbiAgfVxuXG4gIC8vIENsZWFuIHVwIGFueSByZW1haW5pbmcgdGFnc1xuICBwYXJzZUVuZFRhZygpO1xuXG4gIGZ1bmN0aW9uIGFkdmFuY2UgKG4pIHtcbiAgICBpbmRleCArPSBuO1xuICAgIGh0bWwgPSBodG1sLnN1YnN0cmluZyhuKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBhcnNlU3RhcnRUYWcgKCkge1xuICAgIHZhciBzdGFydCA9IGh0bWwubWF0Y2goc3RhcnRUYWdPcGVuKTtcbiAgICBpZiAoc3RhcnQpIHtcbiAgICAgIHZhciBtYXRjaCA9IHtcbiAgICAgICAgdGFnTmFtZTogc3RhcnRbMV0sXG4gICAgICAgIGF0dHJzOiBbXSxcbiAgICAgICAgc3RhcnQ6IGluZGV4XG4gICAgICB9O1xuICAgICAgYWR2YW5jZShzdGFydFswXS5sZW5ndGgpO1xuICAgICAgdmFyIGVuZCwgYXR0cjtcbiAgICAgIHdoaWxlICghKGVuZCA9IGh0bWwubWF0Y2goc3RhcnRUYWdDbG9zZSkpICYmIChhdHRyID0gaHRtbC5tYXRjaChkeW5hbWljQXJnQXR0cmlidXRlKSB8fCBodG1sLm1hdGNoKGF0dHJpYnV0ZSkpKSB7XG4gICAgICAgIGF0dHIuc3RhcnQgPSBpbmRleDtcbiAgICAgICAgYWR2YW5jZShhdHRyWzBdLmxlbmd0aCk7XG4gICAgICAgIGF0dHIuZW5kID0gaW5kZXg7XG4gICAgICAgIG1hdGNoLmF0dHJzLnB1c2goYXR0cik7XG4gICAgICB9XG4gICAgICBpZiAoZW5kKSB7XG4gICAgICAgIG1hdGNoLnVuYXJ5U2xhc2ggPSBlbmRbMV07XG4gICAgICAgIGFkdmFuY2UoZW5kWzBdLmxlbmd0aCk7XG4gICAgICAgIG1hdGNoLmVuZCA9IGluZGV4O1xuICAgICAgICByZXR1cm4gbWF0Y2hcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVTdGFydFRhZyAobWF0Y2gpIHtcbiAgICB2YXIgdGFnTmFtZSA9IG1hdGNoLnRhZ05hbWU7XG4gICAgdmFyIHVuYXJ5U2xhc2ggPSBtYXRjaC51bmFyeVNsYXNoO1xuXG4gICAgaWYgKGV4cGVjdEhUTUwpIHtcbiAgICAgIGlmIChsYXN0VGFnID09PSAncCcgJiYgaXNOb25QaHJhc2luZ1RhZyh0YWdOYW1lKSkge1xuICAgICAgICBwYXJzZUVuZFRhZyhsYXN0VGFnKTtcbiAgICAgIH1cbiAgICAgIGlmIChjYW5CZUxlZnRPcGVuVGFnJCQxKHRhZ05hbWUpICYmIGxhc3RUYWcgPT09IHRhZ05hbWUpIHtcbiAgICAgICAgcGFyc2VFbmRUYWcodGFnTmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHVuYXJ5ID0gaXNVbmFyeVRhZyQkMSh0YWdOYW1lKSB8fCAhIXVuYXJ5U2xhc2g7XG5cbiAgICB2YXIgbCA9IG1hdGNoLmF0dHJzLmxlbmd0aDtcbiAgICB2YXIgYXR0cnMgPSBuZXcgQXJyYXkobCk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgIHZhciBhcmdzID0gbWF0Y2guYXR0cnNbaV07XG4gICAgICB2YXIgdmFsdWUgPSBhcmdzWzNdIHx8IGFyZ3NbNF0gfHwgYXJnc1s1XSB8fCAnJztcbiAgICAgIHZhciBzaG91bGREZWNvZGVOZXdsaW5lcyA9IHRhZ05hbWUgPT09ICdhJyAmJiBhcmdzWzFdID09PSAnaHJlZidcbiAgICAgICAgPyBvcHRpb25zLnNob3VsZERlY29kZU5ld2xpbmVzRm9ySHJlZlxuICAgICAgICA6IG9wdGlvbnMuc2hvdWxkRGVjb2RlTmV3bGluZXM7XG4gICAgICBhdHRyc1tpXSA9IHtcbiAgICAgICAgbmFtZTogYXJnc1sxXSxcbiAgICAgICAgdmFsdWU6IGRlY29kZUF0dHIodmFsdWUsIHNob3VsZERlY29kZU5ld2xpbmVzKVxuICAgICAgfTtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIG9wdGlvbnMub3V0cHV0U291cmNlUmFuZ2UpIHtcbiAgICAgICAgYXR0cnNbaV0uc3RhcnQgPSBhcmdzLnN0YXJ0ICsgYXJnc1swXS5tYXRjaCgvXlxccyovKS5sZW5ndGg7XG4gICAgICAgIGF0dHJzW2ldLmVuZCA9IGFyZ3MuZW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghdW5hcnkpIHtcbiAgICAgIHN0YWNrLnB1c2goeyB0YWc6IHRhZ05hbWUsIGxvd2VyQ2FzZWRUYWc6IHRhZ05hbWUudG9Mb3dlckNhc2UoKSwgYXR0cnM6IGF0dHJzLCBzdGFydDogbWF0Y2guc3RhcnQsIGVuZDogbWF0Y2guZW5kIH0pO1xuICAgICAgbGFzdFRhZyA9IHRhZ05hbWU7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuc3RhcnQpIHtcbiAgICAgIG9wdGlvbnMuc3RhcnQodGFnTmFtZSwgYXR0cnMsIHVuYXJ5LCBtYXRjaC5zdGFydCwgbWF0Y2guZW5kKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBwYXJzZUVuZFRhZyAodGFnTmFtZSwgc3RhcnQsIGVuZCkge1xuICAgIHZhciBwb3MsIGxvd2VyQ2FzZWRUYWdOYW1lO1xuICAgIGlmIChzdGFydCA9PSBudWxsKSB7IHN0YXJ0ID0gaW5kZXg7IH1cbiAgICBpZiAoZW5kID09IG51bGwpIHsgZW5kID0gaW5kZXg7IH1cblxuICAgIC8vIEZpbmQgdGhlIGNsb3Nlc3Qgb3BlbmVkIHRhZyBvZiB0aGUgc2FtZSB0eXBlXG4gICAgaWYgKHRhZ05hbWUpIHtcbiAgICAgIGxvd2VyQ2FzZWRUYWdOYW1lID0gdGFnTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgZm9yIChwb3MgPSBzdGFjay5sZW5ndGggLSAxOyBwb3MgPj0gMDsgcG9zLS0pIHtcbiAgICAgICAgaWYgKHN0YWNrW3Bvc10ubG93ZXJDYXNlZFRhZyA9PT0gbG93ZXJDYXNlZFRhZ05hbWUpIHtcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIElmIG5vIHRhZyBuYW1lIGlzIHByb3ZpZGVkLCBjbGVhbiBzaG9wXG4gICAgICBwb3MgPSAwO1xuICAgIH1cblxuICAgIGlmIChwb3MgPj0gMCkge1xuICAgICAgLy8gQ2xvc2UgYWxsIHRoZSBvcGVuIGVsZW1lbnRzLCB1cCB0aGUgc3RhY2tcbiAgICAgIGZvciAodmFyIGkgPSBzdGFjay5sZW5ndGggLSAxOyBpID49IHBvczsgaS0tKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICAgICAgKGkgPiBwb3MgfHwgIXRhZ05hbWUpICYmXG4gICAgICAgICAgb3B0aW9ucy53YXJuXG4gICAgICAgICkge1xuICAgICAgICAgIG9wdGlvbnMud2FybihcbiAgICAgICAgICAgIChcInRhZyA8XCIgKyAoc3RhY2tbaV0udGFnKSArIFwiPiBoYXMgbm8gbWF0Y2hpbmcgZW5kIHRhZy5cIiksXG4gICAgICAgICAgICB7IHN0YXJ0OiBzdGFja1tpXS5zdGFydCwgZW5kOiBzdGFja1tpXS5lbmQgfVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdGlvbnMuZW5kKSB7XG4gICAgICAgICAgb3B0aW9ucy5lbmQoc3RhY2tbaV0udGFnLCBzdGFydCwgZW5kKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZW1vdmUgdGhlIG9wZW4gZWxlbWVudHMgZnJvbSB0aGUgc3RhY2tcbiAgICAgIHN0YWNrLmxlbmd0aCA9IHBvcztcbiAgICAgIGxhc3RUYWcgPSBwb3MgJiYgc3RhY2tbcG9zIC0gMV0udGFnO1xuICAgIH0gZWxzZSBpZiAobG93ZXJDYXNlZFRhZ05hbWUgPT09ICdicicpIHtcbiAgICAgIGlmIChvcHRpb25zLnN0YXJ0KSB7XG4gICAgICAgIG9wdGlvbnMuc3RhcnQodGFnTmFtZSwgW10sIHRydWUsIHN0YXJ0LCBlbmQpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobG93ZXJDYXNlZFRhZ05hbWUgPT09ICdwJykge1xuICAgICAgaWYgKG9wdGlvbnMuc3RhcnQpIHtcbiAgICAgICAgb3B0aW9ucy5zdGFydCh0YWdOYW1lLCBbXSwgZmFsc2UsIHN0YXJ0LCBlbmQpO1xuICAgICAgfVxuICAgICAgaWYgKG9wdGlvbnMuZW5kKSB7XG4gICAgICAgIG9wdGlvbnMuZW5kKHRhZ05hbWUsIHN0YXJ0LCBlbmQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiAgKi9cblxudmFyIG9uUkUgPSAvXkB8XnYtb246LztcbnZhciBkaXJSRSA9IC9edi18XkB8XjovO1xudmFyIGZvckFsaWFzUkUgPSAvKFtcXHNcXFNdKj8pXFxzKyg/OmlufG9mKVxccysoW1xcc1xcU10qKS87XG52YXIgZm9ySXRlcmF0b3JSRSA9IC8sKFteLFxcfVxcXV0qKSg/OiwoW14sXFx9XFxdXSopKT8kLztcbnZhciBzdHJpcFBhcmVuc1JFID0gL15cXCh8XFwpJC9nO1xudmFyIGR5bmFtaWNBcmdSRSA9IC9eXFxbLipcXF0kLztcblxudmFyIGFyZ1JFID0gLzooLiopJC87XG52YXIgYmluZFJFID0gL146fF5cXC58XnYtYmluZDovO1xudmFyIG1vZGlmaWVyUkUgPSAvXFwuW14uXFxdXSsoPz1bXlxcXV0qJCkvZztcblxudmFyIHNsb3RSRSA9IC9edi1zbG90KDp8JCl8XiMvO1xuXG52YXIgbGluZUJyZWFrUkUgPSAvW1xcclxcbl0vO1xudmFyIHdoaXRlc3BhY2VSRSQxID0gL1xccysvZztcblxudmFyIGludmFsaWRBdHRyaWJ1dGVSRSA9IC9bXFxzXCInPD5cXC89XS87XG5cbnZhciBkZWNvZGVIVE1MQ2FjaGVkID0gY2FjaGVkKGhlLmRlY29kZSk7XG5cbnZhciBlbXB0eVNsb3RTY29wZVRva2VuID0gXCJfZW1wdHlfXCI7XG5cbi8vIGNvbmZpZ3VyYWJsZSBzdGF0ZVxudmFyIHdhcm4kMjtcbnZhciBkZWxpbWl0ZXJzO1xudmFyIHRyYW5zZm9ybXM7XG52YXIgcHJlVHJhbnNmb3JtcztcbnZhciBwb3N0VHJhbnNmb3JtcztcbnZhciBwbGF0Zm9ybUlzUHJlVGFnO1xudmFyIHBsYXRmb3JtTXVzdFVzZVByb3A7XG52YXIgcGxhdGZvcm1HZXRUYWdOYW1lc3BhY2U7XG52YXIgbWF5YmVDb21wb25lbnQ7XG5cbmZ1bmN0aW9uIGNyZWF0ZUFTVEVsZW1lbnQgKFxuICB0YWcsXG4gIGF0dHJzLFxuICBwYXJlbnRcbikge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IDEsXG4gICAgdGFnOiB0YWcsXG4gICAgYXR0cnNMaXN0OiBhdHRycyxcbiAgICBhdHRyc01hcDogbWFrZUF0dHJzTWFwKGF0dHJzKSxcbiAgICByYXdBdHRyc01hcDoge30sXG4gICAgcGFyZW50OiBwYXJlbnQsXG4gICAgY2hpbGRyZW46IFtdXG4gIH1cbn1cblxuLyoqXG4gKiBDb252ZXJ0IEhUTUwgc3RyaW5nIHRvIEFTVC5cbiAqL1xuZnVuY3Rpb24gcGFyc2UgKFxuICB0ZW1wbGF0ZSxcbiAgb3B0aW9uc1xuKSB7XG4gIHdhcm4kMiA9IG9wdGlvbnMud2FybiB8fCBiYXNlV2FybjtcblxuICBwbGF0Zm9ybUlzUHJlVGFnID0gb3B0aW9ucy5pc1ByZVRhZyB8fCBubztcbiAgcGxhdGZvcm1NdXN0VXNlUHJvcCA9IG9wdGlvbnMubXVzdFVzZVByb3AgfHwgbm87XG4gIHBsYXRmb3JtR2V0VGFnTmFtZXNwYWNlID0gb3B0aW9ucy5nZXRUYWdOYW1lc3BhY2UgfHwgbm87XG4gIHZhciBpc1Jlc2VydmVkVGFnID0gb3B0aW9ucy5pc1Jlc2VydmVkVGFnIHx8IG5vO1xuICBtYXliZUNvbXBvbmVudCA9IGZ1bmN0aW9uIChlbCkgeyByZXR1cm4gISFlbC5jb21wb25lbnQgfHwgIWlzUmVzZXJ2ZWRUYWcoZWwudGFnKTsgfTtcblxuICB0cmFuc2Zvcm1zID0gcGx1Y2tNb2R1bGVGdW5jdGlvbihvcHRpb25zLm1vZHVsZXMsICd0cmFuc2Zvcm1Ob2RlJyk7XG4gIHByZVRyYW5zZm9ybXMgPSBwbHVja01vZHVsZUZ1bmN0aW9uKG9wdGlvbnMubW9kdWxlcywgJ3ByZVRyYW5zZm9ybU5vZGUnKTtcbiAgcG9zdFRyYW5zZm9ybXMgPSBwbHVja01vZHVsZUZ1bmN0aW9uKG9wdGlvbnMubW9kdWxlcywgJ3Bvc3RUcmFuc2Zvcm1Ob2RlJyk7XG5cbiAgZGVsaW1pdGVycyA9IG9wdGlvbnMuZGVsaW1pdGVycztcblxuICB2YXIgc3RhY2sgPSBbXTtcbiAgdmFyIHByZXNlcnZlV2hpdGVzcGFjZSA9IG9wdGlvbnMucHJlc2VydmVXaGl0ZXNwYWNlICE9PSBmYWxzZTtcbiAgdmFyIHdoaXRlc3BhY2VPcHRpb24gPSBvcHRpb25zLndoaXRlc3BhY2U7XG4gIHZhciByb290O1xuICB2YXIgY3VycmVudFBhcmVudDtcbiAgdmFyIGluVlByZSA9IGZhbHNlO1xuICB2YXIgaW5QcmUgPSBmYWxzZTtcbiAgdmFyIHdhcm5lZCA9IGZhbHNlO1xuXG4gIGZ1bmN0aW9uIHdhcm5PbmNlIChtc2csIHJhbmdlKSB7XG4gICAgaWYgKCF3YXJuZWQpIHtcbiAgICAgIHdhcm5lZCA9IHRydWU7XG4gICAgICB3YXJuJDIobXNnLCByYW5nZSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gY2xvc2VFbGVtZW50IChlbGVtZW50KSB7XG4gICAgdHJpbUVuZGluZ1doaXRlc3BhY2UoZWxlbWVudCk7XG4gICAgaWYgKCFpblZQcmUgJiYgIWVsZW1lbnQucHJvY2Vzc2VkKSB7XG4gICAgICBlbGVtZW50ID0gcHJvY2Vzc0VsZW1lbnQoZWxlbWVudCwgb3B0aW9ucyk7XG4gICAgfVxuICAgIC8vIHRyZWUgbWFuYWdlbWVudFxuICAgIGlmICghc3RhY2subGVuZ3RoICYmIGVsZW1lbnQgIT09IHJvb3QpIHtcbiAgICAgIC8vIGFsbG93IHJvb3QgZWxlbWVudHMgd2l0aCB2LWlmLCB2LWVsc2UtaWYgYW5kIHYtZWxzZVxuICAgICAgaWYgKHJvb3QuaWYgJiYgKGVsZW1lbnQuZWxzZWlmIHx8IGVsZW1lbnQuZWxzZSkpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBjaGVja1Jvb3RDb25zdHJhaW50cyhlbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgICBhZGRJZkNvbmRpdGlvbihyb290LCB7XG4gICAgICAgICAgZXhwOiBlbGVtZW50LmVsc2VpZixcbiAgICAgICAgICBibG9jazogZWxlbWVudFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICB3YXJuT25jZShcbiAgICAgICAgICBcIkNvbXBvbmVudCB0ZW1wbGF0ZSBzaG91bGQgY29udGFpbiBleGFjdGx5IG9uZSByb290IGVsZW1lbnQuIFwiICtcbiAgICAgICAgICBcIklmIHlvdSBhcmUgdXNpbmcgdi1pZiBvbiBtdWx0aXBsZSBlbGVtZW50cywgXCIgK1xuICAgICAgICAgIFwidXNlIHYtZWxzZS1pZiB0byBjaGFpbiB0aGVtIGluc3RlYWQuXCIsXG4gICAgICAgICAgeyBzdGFydDogZWxlbWVudC5zdGFydCB9XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjdXJyZW50UGFyZW50ICYmICFlbGVtZW50LmZvcmJpZGRlbikge1xuICAgICAgaWYgKGVsZW1lbnQuZWxzZWlmIHx8IGVsZW1lbnQuZWxzZSkge1xuICAgICAgICBwcm9jZXNzSWZDb25kaXRpb25zKGVsZW1lbnQsIGN1cnJlbnRQYXJlbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGVsZW1lbnQuc2xvdFNjb3BlKSB7XG4gICAgICAgICAgLy8gc2NvcGVkIHNsb3RcbiAgICAgICAgICAvLyBrZWVwIGl0IGluIHRoZSBjaGlsZHJlbiBsaXN0IHNvIHRoYXQgdi1lbHNlKC1pZikgY29uZGl0aW9ucyBjYW5cbiAgICAgICAgICAvLyBmaW5kIGl0IGFzIHRoZSBwcmV2IG5vZGUuXG4gICAgICAgICAgdmFyIG5hbWUgPSBlbGVtZW50LnNsb3RUYXJnZXQgfHwgJ1wiZGVmYXVsdFwiJ1xuICAgICAgICAgIDsoY3VycmVudFBhcmVudC5zY29wZWRTbG90cyB8fCAoY3VycmVudFBhcmVudC5zY29wZWRTbG90cyA9IHt9KSlbbmFtZV0gPSBlbGVtZW50O1xuICAgICAgICB9XG4gICAgICAgIGN1cnJlbnRQYXJlbnQuY2hpbGRyZW4ucHVzaChlbGVtZW50KTtcbiAgICAgICAgZWxlbWVudC5wYXJlbnQgPSBjdXJyZW50UGFyZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGZpbmFsIGNoaWxkcmVuIGNsZWFudXBcbiAgICAvLyBmaWx0ZXIgb3V0IHNjb3BlZCBzbG90c1xuICAgIGVsZW1lbnQuY2hpbGRyZW4gPSBlbGVtZW50LmNoaWxkcmVuLmZpbHRlcihmdW5jdGlvbiAoYykgeyByZXR1cm4gIShjKS5zbG90U2NvcGU7IH0pO1xuICAgIC8vIHJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlIG5vZGUgYWdhaW5cbiAgICB0cmltRW5kaW5nV2hpdGVzcGFjZShlbGVtZW50KTtcblxuICAgIC8vIGNoZWNrIHByZSBzdGF0ZVxuICAgIGlmIChlbGVtZW50LnByZSkge1xuICAgICAgaW5WUHJlID0gZmFsc2U7XG4gICAgfVxuICAgIGlmIChwbGF0Zm9ybUlzUHJlVGFnKGVsZW1lbnQudGFnKSkge1xuICAgICAgaW5QcmUgPSBmYWxzZTtcbiAgICB9XG4gICAgLy8gYXBwbHkgcG9zdC10cmFuc2Zvcm1zXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwb3N0VHJhbnNmb3Jtcy5sZW5ndGg7IGkrKykge1xuICAgICAgcG9zdFRyYW5zZm9ybXNbaV0oZWxlbWVudCwgb3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gdHJpbUVuZGluZ1doaXRlc3BhY2UgKGVsKSB7XG4gICAgLy8gcmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2Ugbm9kZVxuICAgIGlmICghaW5QcmUpIHtcbiAgICAgIHZhciBsYXN0Tm9kZTtcbiAgICAgIHdoaWxlIChcbiAgICAgICAgKGxhc3ROb2RlID0gZWwuY2hpbGRyZW5bZWwuY2hpbGRyZW4ubGVuZ3RoIC0gMV0pICYmXG4gICAgICAgIGxhc3ROb2RlLnR5cGUgPT09IDMgJiZcbiAgICAgICAgbGFzdE5vZGUudGV4dCA9PT0gJyAnXG4gICAgICApIHtcbiAgICAgICAgZWwuY2hpbGRyZW4ucG9wKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gY2hlY2tSb290Q29uc3RyYWludHMgKGVsKSB7XG4gICAgaWYgKGVsLnRhZyA9PT0gJ3Nsb3QnIHx8IGVsLnRhZyA9PT0gJ3RlbXBsYXRlJykge1xuICAgICAgd2Fybk9uY2UoXG4gICAgICAgIFwiQ2Fubm90IHVzZSA8XCIgKyAoZWwudGFnKSArIFwiPiBhcyBjb21wb25lbnQgcm9vdCBlbGVtZW50IGJlY2F1c2UgaXQgbWF5IFwiICtcbiAgICAgICAgJ2NvbnRhaW4gbXVsdGlwbGUgbm9kZXMuJyxcbiAgICAgICAgeyBzdGFydDogZWwuc3RhcnQgfVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGVsLmF0dHJzTWFwLmhhc093blByb3BlcnR5KCd2LWZvcicpKSB7XG4gICAgICB3YXJuT25jZShcbiAgICAgICAgJ0Nhbm5vdCB1c2Ugdi1mb3Igb24gc3RhdGVmdWwgY29tcG9uZW50IHJvb3QgZWxlbWVudCBiZWNhdXNlICcgK1xuICAgICAgICAnaXQgcmVuZGVycyBtdWx0aXBsZSBlbGVtZW50cy4nLFxuICAgICAgICBlbC5yYXdBdHRyc01hcFsndi1mb3InXVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwYXJzZUhUTUwodGVtcGxhdGUsIHtcbiAgICB3YXJuOiB3YXJuJDIsXG4gICAgZXhwZWN0SFRNTDogb3B0aW9ucy5leHBlY3RIVE1MLFxuICAgIGlzVW5hcnlUYWc6IG9wdGlvbnMuaXNVbmFyeVRhZyxcbiAgICBjYW5CZUxlZnRPcGVuVGFnOiBvcHRpb25zLmNhbkJlTGVmdE9wZW5UYWcsXG4gICAgc2hvdWxkRGVjb2RlTmV3bGluZXM6IG9wdGlvbnMuc2hvdWxkRGVjb2RlTmV3bGluZXMsXG4gICAgc2hvdWxkRGVjb2RlTmV3bGluZXNGb3JIcmVmOiBvcHRpb25zLnNob3VsZERlY29kZU5ld2xpbmVzRm9ySHJlZixcbiAgICBzaG91bGRLZWVwQ29tbWVudDogb3B0aW9ucy5jb21tZW50cyxcbiAgICBvdXRwdXRTb3VyY2VSYW5nZTogb3B0aW9ucy5vdXRwdXRTb3VyY2VSYW5nZSxcbiAgICBzdGFydDogZnVuY3Rpb24gc3RhcnQgKHRhZywgYXR0cnMsIHVuYXJ5LCBzdGFydCQxLCBlbmQpIHtcbiAgICAgIC8vIGNoZWNrIG5hbWVzcGFjZS5cbiAgICAgIC8vIGluaGVyaXQgcGFyZW50IG5zIGlmIHRoZXJlIGlzIG9uZVxuICAgICAgdmFyIG5zID0gKGN1cnJlbnRQYXJlbnQgJiYgY3VycmVudFBhcmVudC5ucykgfHwgcGxhdGZvcm1HZXRUYWdOYW1lc3BhY2UodGFnKTtcblxuICAgICAgLy8gaGFuZGxlIElFIHN2ZyBidWdcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgaWYgKGlzSUUgJiYgbnMgPT09ICdzdmcnKSB7XG4gICAgICAgIGF0dHJzID0gZ3VhcmRJRVNWR0J1ZyhhdHRycyk7XG4gICAgICB9XG5cbiAgICAgIHZhciBlbGVtZW50ID0gY3JlYXRlQVNURWxlbWVudCh0YWcsIGF0dHJzLCBjdXJyZW50UGFyZW50KTtcbiAgICAgIGlmIChucykge1xuICAgICAgICBlbGVtZW50Lm5zID0gbnM7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIGlmIChvcHRpb25zLm91dHB1dFNvdXJjZVJhbmdlKSB7XG4gICAgICAgICAgZWxlbWVudC5zdGFydCA9IHN0YXJ0JDE7XG4gICAgICAgICAgZWxlbWVudC5lbmQgPSBlbmQ7XG4gICAgICAgICAgZWxlbWVudC5yYXdBdHRyc01hcCA9IGVsZW1lbnQuYXR0cnNMaXN0LnJlZHVjZShmdW5jdGlvbiAoY3VtdWxhdGVkLCBhdHRyKSB7XG4gICAgICAgICAgICBjdW11bGF0ZWRbYXR0ci5uYW1lXSA9IGF0dHI7XG4gICAgICAgICAgICByZXR1cm4gY3VtdWxhdGVkXG4gICAgICAgICAgfSwge30pO1xuICAgICAgICB9XG4gICAgICAgIGF0dHJzLmZvckVhY2goZnVuY3Rpb24gKGF0dHIpIHtcbiAgICAgICAgICBpZiAoaW52YWxpZEF0dHJpYnV0ZVJFLnRlc3QoYXR0ci5uYW1lKSkge1xuICAgICAgICAgICAgd2FybiQyKFxuICAgICAgICAgICAgICBcIkludmFsaWQgZHluYW1pYyBhcmd1bWVudCBleHByZXNzaW9uOiBhdHRyaWJ1dGUgbmFtZXMgY2Fubm90IGNvbnRhaW4gXCIgK1xuICAgICAgICAgICAgICBcInNwYWNlcywgcXVvdGVzLCA8LCA+LCAvIG9yID0uXCIsXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBzdGFydDogYXR0ci5zdGFydCArIGF0dHIubmFtZS5pbmRleE9mKFwiW1wiKSxcbiAgICAgICAgICAgICAgICBlbmQ6IGF0dHIuc3RhcnQgKyBhdHRyLm5hbWUubGVuZ3RoXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzRm9yYmlkZGVuVGFnKGVsZW1lbnQpICYmICFpc1NlcnZlclJlbmRlcmluZygpKSB7XG4gICAgICAgIGVsZW1lbnQuZm9yYmlkZGVuID0gdHJ1ZTtcbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuJDIoXG4gICAgICAgICAgJ1RlbXBsYXRlcyBzaG91bGQgb25seSBiZSByZXNwb25zaWJsZSBmb3IgbWFwcGluZyB0aGUgc3RhdGUgdG8gdGhlICcgK1xuICAgICAgICAgICdVSS4gQXZvaWQgcGxhY2luZyB0YWdzIHdpdGggc2lkZS1lZmZlY3RzIGluIHlvdXIgdGVtcGxhdGVzLCBzdWNoIGFzICcgK1xuICAgICAgICAgIFwiPFwiICsgdGFnICsgXCI+XCIgKyAnLCBhcyB0aGV5IHdpbGwgbm90IGJlIHBhcnNlZC4nLFxuICAgICAgICAgIHsgc3RhcnQ6IGVsZW1lbnQuc3RhcnQgfVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBhcHBseSBwcmUtdHJhbnNmb3Jtc1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcmVUcmFuc2Zvcm1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGVsZW1lbnQgPSBwcmVUcmFuc2Zvcm1zW2ldKGVsZW1lbnQsIG9wdGlvbnMpIHx8IGVsZW1lbnQ7XG4gICAgICB9XG5cbiAgICAgIGlmICghaW5WUHJlKSB7XG4gICAgICAgIHByb2Nlc3NQcmUoZWxlbWVudCk7XG4gICAgICAgIGlmIChlbGVtZW50LnByZSkge1xuICAgICAgICAgIGluVlByZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChwbGF0Zm9ybUlzUHJlVGFnKGVsZW1lbnQudGFnKSkge1xuICAgICAgICBpblByZSA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAoaW5WUHJlKSB7XG4gICAgICAgIHByb2Nlc3NSYXdBdHRycyhlbGVtZW50KTtcbiAgICAgIH0gZWxzZSBpZiAoIWVsZW1lbnQucHJvY2Vzc2VkKSB7XG4gICAgICAgIC8vIHN0cnVjdHVyYWwgZGlyZWN0aXZlc1xuICAgICAgICBwcm9jZXNzRm9yKGVsZW1lbnQpO1xuICAgICAgICBwcm9jZXNzSWYoZWxlbWVudCk7XG4gICAgICAgIHByb2Nlc3NPbmNlKGVsZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXJvb3QpIHtcbiAgICAgICAgcm9vdCA9IGVsZW1lbnQ7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgY2hlY2tSb290Q29uc3RyYWludHMocm9vdCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCF1bmFyeSkge1xuICAgICAgICBjdXJyZW50UGFyZW50ID0gZWxlbWVudDtcbiAgICAgICAgc3RhY2sucHVzaChlbGVtZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNsb3NlRWxlbWVudChlbGVtZW50KTtcbiAgICAgIH1cbiAgICB9LFxuXG4gICAgZW5kOiBmdW5jdGlvbiBlbmQgKHRhZywgc3RhcnQsIGVuZCQxKSB7XG4gICAgICB2YXIgZWxlbWVudCA9IHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdO1xuICAgICAgLy8gcG9wIHN0YWNrXG4gICAgICBzdGFjay5sZW5ndGggLT0gMTtcbiAgICAgIGN1cnJlbnRQYXJlbnQgPSBzdGFja1tzdGFjay5sZW5ndGggLSAxXTtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIG9wdGlvbnMub3V0cHV0U291cmNlUmFuZ2UpIHtcbiAgICAgICAgZWxlbWVudC5lbmQgPSBlbmQkMTtcbiAgICAgIH1cbiAgICAgIGNsb3NlRWxlbWVudChlbGVtZW50KTtcbiAgICB9LFxuXG4gICAgY2hhcnM6IGZ1bmN0aW9uIGNoYXJzICh0ZXh0LCBzdGFydCwgZW5kKSB7XG4gICAgICBpZiAoIWN1cnJlbnRQYXJlbnQpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBpZiAodGV4dCA9PT0gdGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHdhcm5PbmNlKFxuICAgICAgICAgICAgICAnQ29tcG9uZW50IHRlbXBsYXRlIHJlcXVpcmVzIGEgcm9vdCBlbGVtZW50LCByYXRoZXIgdGhhbiBqdXN0IHRleHQuJyxcbiAgICAgICAgICAgICAgeyBzdGFydDogc3RhcnQgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKCh0ZXh0ID0gdGV4dC50cmltKCkpKSB7XG4gICAgICAgICAgICB3YXJuT25jZShcbiAgICAgICAgICAgICAgKFwidGV4dCBcXFwiXCIgKyB0ZXh0ICsgXCJcXFwiIG91dHNpZGUgcm9vdCBlbGVtZW50IHdpbGwgYmUgaWdub3JlZC5cIiksXG4gICAgICAgICAgICAgIHsgc3RhcnQ6IHN0YXJ0IH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgLy8gSUUgdGV4dGFyZWEgcGxhY2Vob2xkZXIgYnVnXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlmIChpc0lFICYmXG4gICAgICAgIGN1cnJlbnRQYXJlbnQudGFnID09PSAndGV4dGFyZWEnICYmXG4gICAgICAgIGN1cnJlbnRQYXJlbnQuYXR0cnNNYXAucGxhY2Vob2xkZXIgPT09IHRleHRcbiAgICAgICkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIHZhciBjaGlsZHJlbiA9IGN1cnJlbnRQYXJlbnQuY2hpbGRyZW47XG4gICAgICBpZiAoaW5QcmUgfHwgdGV4dC50cmltKCkpIHtcbiAgICAgICAgdGV4dCA9IGlzVGV4dFRhZyhjdXJyZW50UGFyZW50KSA/IHRleHQgOiBkZWNvZGVIVE1MQ2FjaGVkKHRleHQpO1xuICAgICAgfSBlbHNlIGlmICghY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgIC8vIHJlbW92ZSB0aGUgd2hpdGVzcGFjZS1vbmx5IG5vZGUgcmlnaHQgYWZ0ZXIgYW4gb3BlbmluZyB0YWdcbiAgICAgICAgdGV4dCA9ICcnO1xuICAgICAgfSBlbHNlIGlmICh3aGl0ZXNwYWNlT3B0aW9uKSB7XG4gICAgICAgIGlmICh3aGl0ZXNwYWNlT3B0aW9uID09PSAnY29uZGVuc2UnKSB7XG4gICAgICAgICAgLy8gaW4gY29uZGVuc2UgbW9kZSwgcmVtb3ZlIHRoZSB3aGl0ZXNwYWNlIG5vZGUgaWYgaXQgY29udGFpbnNcbiAgICAgICAgICAvLyBsaW5lIGJyZWFrLCBvdGhlcndpc2UgY29uZGVuc2UgdG8gYSBzaW5nbGUgc3BhY2VcbiAgICAgICAgICB0ZXh0ID0gbGluZUJyZWFrUkUudGVzdCh0ZXh0KSA/ICcnIDogJyAnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRleHQgPSAnICc7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRleHQgPSBwcmVzZXJ2ZVdoaXRlc3BhY2UgPyAnICcgOiAnJztcbiAgICAgIH1cbiAgICAgIGlmICh0ZXh0KSB7XG4gICAgICAgIGlmICghaW5QcmUgJiYgd2hpdGVzcGFjZU9wdGlvbiA9PT0gJ2NvbmRlbnNlJykge1xuICAgICAgICAgIC8vIGNvbmRlbnNlIGNvbnNlY3V0aXZlIHdoaXRlc3BhY2VzIGludG8gc2luZ2xlIHNwYWNlXG4gICAgICAgICAgdGV4dCA9IHRleHQucmVwbGFjZSh3aGl0ZXNwYWNlUkUkMSwgJyAnKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcmVzO1xuICAgICAgICB2YXIgY2hpbGQ7XG4gICAgICAgIGlmICghaW5WUHJlICYmIHRleHQgIT09ICcgJyAmJiAocmVzID0gcGFyc2VUZXh0KHRleHQsIGRlbGltaXRlcnMpKSkge1xuICAgICAgICAgIGNoaWxkID0ge1xuICAgICAgICAgICAgdHlwZTogMixcbiAgICAgICAgICAgIGV4cHJlc3Npb246IHJlcy5leHByZXNzaW9uLFxuICAgICAgICAgICAgdG9rZW5zOiByZXMudG9rZW5zLFxuICAgICAgICAgICAgdGV4dDogdGV4dFxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSBpZiAodGV4dCAhPT0gJyAnIHx8ICFjaGlsZHJlbi5sZW5ndGggfHwgY2hpbGRyZW5bY2hpbGRyZW4ubGVuZ3RoIC0gMV0udGV4dCAhPT0gJyAnKSB7XG4gICAgICAgICAgY2hpbGQgPSB7XG4gICAgICAgICAgICB0eXBlOiAzLFxuICAgICAgICAgICAgdGV4dDogdGV4dFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoaWxkKSB7XG4gICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgb3B0aW9ucy5vdXRwdXRTb3VyY2VSYW5nZSkge1xuICAgICAgICAgICAgY2hpbGQuc3RhcnQgPSBzdGFydDtcbiAgICAgICAgICAgIGNoaWxkLmVuZCA9IGVuZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgY2hpbGRyZW4ucHVzaChjaGlsZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIGNvbW1lbnQ6IGZ1bmN0aW9uIGNvbW1lbnQgKHRleHQsIHN0YXJ0LCBlbmQpIHtcbiAgICAgIC8vIGFkZGluZyBhbnl0aW5nIGFzIGEgc2libGluZyB0byB0aGUgcm9vdCBub2RlIGlzIGZvcmJpZGRlblxuICAgICAgLy8gY29tbWVudHMgc2hvdWxkIHN0aWxsIGJlIGFsbG93ZWQsIGJ1dCBpZ25vcmVkXG4gICAgICBpZiAoY3VycmVudFBhcmVudCkge1xuICAgICAgICB2YXIgY2hpbGQgPSB7XG4gICAgICAgICAgdHlwZTogMyxcbiAgICAgICAgICB0ZXh0OiB0ZXh0LFxuICAgICAgICAgIGlzQ29tbWVudDogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBvcHRpb25zLm91dHB1dFNvdXJjZVJhbmdlKSB7XG4gICAgICAgICAgY2hpbGQuc3RhcnQgPSBzdGFydDtcbiAgICAgICAgICBjaGlsZC5lbmQgPSBlbmQ7XG4gICAgICAgIH1cbiAgICAgICAgY3VycmVudFBhcmVudC5jaGlsZHJlbi5wdXNoKGNoaWxkKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICByZXR1cm4gcm9vdFxufVxuXG5mdW5jdGlvbiBwcm9jZXNzUHJlIChlbCkge1xuICBpZiAoZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3YtcHJlJykgIT0gbnVsbCkge1xuICAgIGVsLnByZSA9IHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvY2Vzc1Jhd0F0dHJzIChlbCkge1xuICB2YXIgbGlzdCA9IGVsLmF0dHJzTGlzdDtcbiAgdmFyIGxlbiA9IGxpc3QubGVuZ3RoO1xuICBpZiAobGVuKSB7XG4gICAgdmFyIGF0dHJzID0gZWwuYXR0cnMgPSBuZXcgQXJyYXkobGVuKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBhdHRyc1tpXSA9IHtcbiAgICAgICAgbmFtZTogbGlzdFtpXS5uYW1lLFxuICAgICAgICB2YWx1ZTogSlNPTi5zdHJpbmdpZnkobGlzdFtpXS52YWx1ZSlcbiAgICAgIH07XG4gICAgICBpZiAobGlzdFtpXS5zdGFydCAhPSBudWxsKSB7XG4gICAgICAgIGF0dHJzW2ldLnN0YXJ0ID0gbGlzdFtpXS5zdGFydDtcbiAgICAgICAgYXR0cnNbaV0uZW5kID0gbGlzdFtpXS5lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2UgaWYgKCFlbC5wcmUpIHtcbiAgICAvLyBub24gcm9vdCBub2RlIGluIHByZSBibG9ja3Mgd2l0aCBubyBhdHRyaWJ1dGVzXG4gICAgZWwucGxhaW4gPSB0cnVlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NFbGVtZW50IChcbiAgZWxlbWVudCxcbiAgb3B0aW9uc1xuKSB7XG4gIHByb2Nlc3NLZXkoZWxlbWVudCk7XG5cbiAgLy8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhpcyBpcyBhIHBsYWluIGVsZW1lbnQgYWZ0ZXJcbiAgLy8gcmVtb3Zpbmcgc3RydWN0dXJhbCBhdHRyaWJ1dGVzXG4gIGVsZW1lbnQucGxhaW4gPSAoXG4gICAgIWVsZW1lbnQua2V5ICYmXG4gICAgIWVsZW1lbnQuc2NvcGVkU2xvdHMgJiZcbiAgICAhZWxlbWVudC5hdHRyc0xpc3QubGVuZ3RoXG4gICk7XG5cbiAgcHJvY2Vzc1JlZihlbGVtZW50KTtcbiAgcHJvY2Vzc1Nsb3RDb250ZW50KGVsZW1lbnQpO1xuICBwcm9jZXNzU2xvdE91dGxldChlbGVtZW50KTtcbiAgcHJvY2Vzc0NvbXBvbmVudChlbGVtZW50KTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCB0cmFuc2Zvcm1zLmxlbmd0aDsgaSsrKSB7XG4gICAgZWxlbWVudCA9IHRyYW5zZm9ybXNbaV0oZWxlbWVudCwgb3B0aW9ucykgfHwgZWxlbWVudDtcbiAgfVxuICBwcm9jZXNzQXR0cnMoZWxlbWVudCk7XG4gIHJldHVybiBlbGVtZW50XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NLZXkgKGVsKSB7XG4gIHZhciBleHAgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ2tleScpO1xuICBpZiAoZXhwKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIGlmIChlbC50YWcgPT09ICd0ZW1wbGF0ZScpIHtcbiAgICAgICAgd2FybiQyKFxuICAgICAgICAgIFwiPHRlbXBsYXRlPiBjYW5ub3QgYmUga2V5ZWQuIFBsYWNlIHRoZSBrZXkgb24gcmVhbCBlbGVtZW50cyBpbnN0ZWFkLlwiLFxuICAgICAgICAgIGdldFJhd0JpbmRpbmdBdHRyKGVsLCAna2V5JylcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChlbC5mb3IpIHtcbiAgICAgICAgdmFyIGl0ZXJhdG9yID0gZWwuaXRlcmF0b3IyIHx8IGVsLml0ZXJhdG9yMTtcbiAgICAgICAgdmFyIHBhcmVudCA9IGVsLnBhcmVudDtcbiAgICAgICAgaWYgKGl0ZXJhdG9yICYmIGl0ZXJhdG9yID09PSBleHAgJiYgcGFyZW50ICYmIHBhcmVudC50YWcgPT09ICd0cmFuc2l0aW9uLWdyb3VwJykge1xuICAgICAgICAgIHdhcm4kMihcbiAgICAgICAgICAgIFwiRG8gbm90IHVzZSB2LWZvciBpbmRleCBhcyBrZXkgb24gPHRyYW5zaXRpb24tZ3JvdXA+IGNoaWxkcmVuLCBcIiArXG4gICAgICAgICAgICBcInRoaXMgaXMgdGhlIHNhbWUgYXMgbm90IHVzaW5nIGtleXMuXCIsXG4gICAgICAgICAgICBnZXRSYXdCaW5kaW5nQXR0cihlbCwgJ2tleScpLFxuICAgICAgICAgICAgdHJ1ZSAvKiB0aXAgKi9cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGVsLmtleSA9IGV4cDtcbiAgfVxufVxuXG5mdW5jdGlvbiBwcm9jZXNzUmVmIChlbCkge1xuICB2YXIgcmVmID0gZ2V0QmluZGluZ0F0dHIoZWwsICdyZWYnKTtcbiAgaWYgKHJlZikge1xuICAgIGVsLnJlZiA9IHJlZjtcbiAgICBlbC5yZWZJbkZvciA9IGNoZWNrSW5Gb3IoZWwpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NGb3IgKGVsKSB7XG4gIHZhciBleHA7XG4gIGlmICgoZXhwID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3YtZm9yJykpKSB7XG4gICAgdmFyIHJlcyA9IHBhcnNlRm9yKGV4cCk7XG4gICAgaWYgKHJlcykge1xuICAgICAgZXh0ZW5kKGVsLCByZXMpO1xuICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgd2FybiQyKFxuICAgICAgICAoXCJJbnZhbGlkIHYtZm9yIGV4cHJlc3Npb246IFwiICsgZXhwKSxcbiAgICAgICAgZWwucmF3QXR0cnNNYXBbJ3YtZm9yJ11cbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cblxuXG5mdW5jdGlvbiBwYXJzZUZvciAoZXhwKSB7XG4gIHZhciBpbk1hdGNoID0gZXhwLm1hdGNoKGZvckFsaWFzUkUpO1xuICBpZiAoIWluTWF0Y2gpIHsgcmV0dXJuIH1cbiAgdmFyIHJlcyA9IHt9O1xuICByZXMuZm9yID0gaW5NYXRjaFsyXS50cmltKCk7XG4gIHZhciBhbGlhcyA9IGluTWF0Y2hbMV0udHJpbSgpLnJlcGxhY2Uoc3RyaXBQYXJlbnNSRSwgJycpO1xuICB2YXIgaXRlcmF0b3JNYXRjaCA9IGFsaWFzLm1hdGNoKGZvckl0ZXJhdG9yUkUpO1xuICBpZiAoaXRlcmF0b3JNYXRjaCkge1xuICAgIHJlcy5hbGlhcyA9IGFsaWFzLnJlcGxhY2UoZm9ySXRlcmF0b3JSRSwgJycpLnRyaW0oKTtcbiAgICByZXMuaXRlcmF0b3IxID0gaXRlcmF0b3JNYXRjaFsxXS50cmltKCk7XG4gICAgaWYgKGl0ZXJhdG9yTWF0Y2hbMl0pIHtcbiAgICAgIHJlcy5pdGVyYXRvcjIgPSBpdGVyYXRvck1hdGNoWzJdLnRyaW0oKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmVzLmFsaWFzID0gYWxpYXM7XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG5mdW5jdGlvbiBwcm9jZXNzSWYgKGVsKSB7XG4gIHZhciBleHAgPSBnZXRBbmRSZW1vdmVBdHRyKGVsLCAndi1pZicpO1xuICBpZiAoZXhwKSB7XG4gICAgZWwuaWYgPSBleHA7XG4gICAgYWRkSWZDb25kaXRpb24oZWwsIHtcbiAgICAgIGV4cDogZXhwLFxuICAgICAgYmxvY2s6IGVsXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKGdldEFuZFJlbW92ZUF0dHIoZWwsICd2LWVsc2UnKSAhPSBudWxsKSB7XG4gICAgICBlbC5lbHNlID0gdHJ1ZTtcbiAgICB9XG4gICAgdmFyIGVsc2VpZiA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICd2LWVsc2UtaWYnKTtcbiAgICBpZiAoZWxzZWlmKSB7XG4gICAgICBlbC5lbHNlaWYgPSBlbHNlaWY7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NJZkNvbmRpdGlvbnMgKGVsLCBwYXJlbnQpIHtcbiAgdmFyIHByZXYgPSBmaW5kUHJldkVsZW1lbnQocGFyZW50LmNoaWxkcmVuKTtcbiAgaWYgKHByZXYgJiYgcHJldi5pZikge1xuICAgIGFkZElmQ29uZGl0aW9uKHByZXYsIHtcbiAgICAgIGV4cDogZWwuZWxzZWlmLFxuICAgICAgYmxvY2s6IGVsXG4gICAgfSk7XG4gIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIHdhcm4kMihcbiAgICAgIFwidi1cIiArIChlbC5lbHNlaWYgPyAoJ2Vsc2UtaWY9XCInICsgZWwuZWxzZWlmICsgJ1wiJykgOiAnZWxzZScpICsgXCIgXCIgK1xuICAgICAgXCJ1c2VkIG9uIGVsZW1lbnQgPFwiICsgKGVsLnRhZykgKyBcIj4gd2l0aG91dCBjb3JyZXNwb25kaW5nIHYtaWYuXCIsXG4gICAgICBlbC5yYXdBdHRyc01hcFtlbC5lbHNlaWYgPyAndi1lbHNlLWlmJyA6ICd2LWVsc2UnXVxuICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZFByZXZFbGVtZW50IChjaGlsZHJlbikge1xuICB2YXIgaSA9IGNoaWxkcmVuLmxlbmd0aDtcbiAgd2hpbGUgKGktLSkge1xuICAgIGlmIChjaGlsZHJlbltpXS50eXBlID09PSAxKSB7XG4gICAgICByZXR1cm4gY2hpbGRyZW5baV1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgY2hpbGRyZW5baV0udGV4dCAhPT0gJyAnKSB7XG4gICAgICAgIHdhcm4kMihcbiAgICAgICAgICBcInRleHQgXFxcIlwiICsgKGNoaWxkcmVuW2ldLnRleHQudHJpbSgpKSArIFwiXFxcIiBiZXR3ZWVuIHYtaWYgYW5kIHYtZWxzZSgtaWYpIFwiICtcbiAgICAgICAgICBcIndpbGwgYmUgaWdub3JlZC5cIixcbiAgICAgICAgICBjaGlsZHJlbltpXVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY2hpbGRyZW4ucG9wKCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFkZElmQ29uZGl0aW9uIChlbCwgY29uZGl0aW9uKSB7XG4gIGlmICghZWwuaWZDb25kaXRpb25zKSB7XG4gICAgZWwuaWZDb25kaXRpb25zID0gW107XG4gIH1cbiAgZWwuaWZDb25kaXRpb25zLnB1c2goY29uZGl0aW9uKTtcbn1cblxuZnVuY3Rpb24gcHJvY2Vzc09uY2UgKGVsKSB7XG4gIHZhciBvbmNlJCQxID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3Ytb25jZScpO1xuICBpZiAob25jZSQkMSAhPSBudWxsKSB7XG4gICAgZWwub25jZSA9IHRydWU7XG4gIH1cbn1cblxuLy8gaGFuZGxlIGNvbnRlbnQgYmVpbmcgcGFzc2VkIHRvIGEgY29tcG9uZW50IGFzIHNsb3QsXG4vLyBlLmcuIDx0ZW1wbGF0ZSBzbG90PVwieHh4XCI+LCA8ZGl2IHNsb3Qtc2NvcGU9XCJ4eHhcIj5cbmZ1bmN0aW9uIHByb2Nlc3NTbG90Q29udGVudCAoZWwpIHtcbiAgdmFyIHNsb3RTY29wZTtcbiAgaWYgKGVsLnRhZyA9PT0gJ3RlbXBsYXRlJykge1xuICAgIHNsb3RTY29wZSA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICdzY29wZScpO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHNsb3RTY29wZSkge1xuICAgICAgd2FybiQyKFxuICAgICAgICBcInRoZSBcXFwic2NvcGVcXFwiIGF0dHJpYnV0ZSBmb3Igc2NvcGVkIHNsb3RzIGhhdmUgYmVlbiBkZXByZWNhdGVkIGFuZCBcIiArXG4gICAgICAgIFwicmVwbGFjZWQgYnkgXFxcInNsb3Qtc2NvcGVcXFwiIHNpbmNlIDIuNS4gVGhlIG5ldyBcXFwic2xvdC1zY29wZVxcXCIgYXR0cmlidXRlIFwiICtcbiAgICAgICAgXCJjYW4gYWxzbyBiZSB1c2VkIG9uIHBsYWluIGVsZW1lbnRzIGluIGFkZGl0aW9uIHRvIDx0ZW1wbGF0ZT4gdG8gXCIgK1xuICAgICAgICBcImRlbm90ZSBzY29wZWQgc2xvdHMuXCIsXG4gICAgICAgIGVsLnJhd0F0dHJzTWFwWydzY29wZSddLFxuICAgICAgICB0cnVlXG4gICAgICApO1xuICAgIH1cbiAgICBlbC5zbG90U2NvcGUgPSBzbG90U2NvcGUgfHwgZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3Nsb3Qtc2NvcGUnKTtcbiAgfSBlbHNlIGlmICgoc2xvdFNjb3BlID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3Nsb3Qtc2NvcGUnKSkpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBlbC5hdHRyc01hcFsndi1mb3InXSkge1xuICAgICAgd2FybiQyKFxuICAgICAgICBcIkFtYmlndW91cyBjb21iaW5lZCB1c2FnZSBvZiBzbG90LXNjb3BlIGFuZCB2LWZvciBvbiA8XCIgKyAoZWwudGFnKSArIFwiPiBcIiArXG4gICAgICAgIFwiKHYtZm9yIHRha2VzIGhpZ2hlciBwcmlvcml0eSkuIFVzZSBhIHdyYXBwZXIgPHRlbXBsYXRlPiBmb3IgdGhlIFwiICtcbiAgICAgICAgXCJzY29wZWQgc2xvdCB0byBtYWtlIGl0IGNsZWFyZXIuXCIsXG4gICAgICAgIGVsLnJhd0F0dHJzTWFwWydzbG90LXNjb3BlJ10sXG4gICAgICAgIHRydWVcbiAgICAgICk7XG4gICAgfVxuICAgIGVsLnNsb3RTY29wZSA9IHNsb3RTY29wZTtcbiAgfVxuXG4gIC8vIHNsb3Q9XCJ4eHhcIlxuICB2YXIgc2xvdFRhcmdldCA9IGdldEJpbmRpbmdBdHRyKGVsLCAnc2xvdCcpO1xuICBpZiAoc2xvdFRhcmdldCkge1xuICAgIGVsLnNsb3RUYXJnZXQgPSBzbG90VGFyZ2V0ID09PSAnXCJcIicgPyAnXCJkZWZhdWx0XCInIDogc2xvdFRhcmdldDtcbiAgICBlbC5zbG90VGFyZ2V0RHluYW1pYyA9ICEhKGVsLmF0dHJzTWFwWyc6c2xvdCddIHx8IGVsLmF0dHJzTWFwWyd2LWJpbmQ6c2xvdCddKTtcbiAgICAvLyBwcmVzZXJ2ZSBzbG90IGFzIGFuIGF0dHJpYnV0ZSBmb3IgbmF0aXZlIHNoYWRvdyBET00gY29tcGF0XG4gICAgLy8gb25seSBmb3Igbm9uLXNjb3BlZCBzbG90cy5cbiAgICBpZiAoZWwudGFnICE9PSAndGVtcGxhdGUnICYmICFlbC5zbG90U2NvcGUpIHtcbiAgICAgIGFkZEF0dHIoZWwsICdzbG90Jywgc2xvdFRhcmdldCwgZ2V0UmF3QmluZGluZ0F0dHIoZWwsICdzbG90JykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIDIuNiB2LXNsb3Qgc3ludGF4XG4gIHtcbiAgICBpZiAoZWwudGFnID09PSAndGVtcGxhdGUnKSB7XG4gICAgICAvLyB2LXNsb3Qgb24gPHRlbXBsYXRlPlxuICAgICAgdmFyIHNsb3RCaW5kaW5nID0gZ2V0QW5kUmVtb3ZlQXR0ckJ5UmVnZXgoZWwsIHNsb3RSRSk7XG4gICAgICBpZiAoc2xvdEJpbmRpbmcpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBpZiAoZWwuc2xvdFRhcmdldCB8fCBlbC5zbG90U2NvcGUpIHtcbiAgICAgICAgICAgIHdhcm4kMihcbiAgICAgICAgICAgICAgXCJVbmV4cGVjdGVkIG1peGVkIHVzYWdlIG9mIGRpZmZlcmVudCBzbG90IHN5bnRheGVzLlwiLFxuICAgICAgICAgICAgICBlbFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGVsLnBhcmVudCAmJiAhbWF5YmVDb21wb25lbnQoZWwucGFyZW50KSkge1xuICAgICAgICAgICAgd2FybiQyKFxuICAgICAgICAgICAgICBcIjx0ZW1wbGF0ZSB2LXNsb3Q+IGNhbiBvbmx5IGFwcGVhciBhdCB0aGUgcm9vdCBsZXZlbCBpbnNpZGUgXCIgK1xuICAgICAgICAgICAgICBcInRoZSByZWNlaXZpbmcgdGhlIGNvbXBvbmVudFwiLFxuICAgICAgICAgICAgICBlbFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHJlZiA9IGdldFNsb3ROYW1lKHNsb3RCaW5kaW5nKTtcbiAgICAgICAgdmFyIG5hbWUgPSByZWYubmFtZTtcbiAgICAgICAgdmFyIGR5bmFtaWMgPSByZWYuZHluYW1pYztcbiAgICAgICAgZWwuc2xvdFRhcmdldCA9IG5hbWU7XG4gICAgICAgIGVsLnNsb3RUYXJnZXREeW5hbWljID0gZHluYW1pYztcbiAgICAgICAgZWwuc2xvdFNjb3BlID0gc2xvdEJpbmRpbmcudmFsdWUgfHwgZW1wdHlTbG90U2NvcGVUb2tlbjsgLy8gZm9yY2UgaXQgaW50byBhIHNjb3BlZCBzbG90IGZvciBwZXJmXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHYtc2xvdCBvbiBjb21wb25lbnQsIGRlbm90ZXMgZGVmYXVsdCBzbG90XG4gICAgICB2YXIgc2xvdEJpbmRpbmckMSA9IGdldEFuZFJlbW92ZUF0dHJCeVJlZ2V4KGVsLCBzbG90UkUpO1xuICAgICAgaWYgKHNsb3RCaW5kaW5nJDEpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBpZiAoIW1heWJlQ29tcG9uZW50KGVsKSkge1xuICAgICAgICAgICAgd2FybiQyKFxuICAgICAgICAgICAgICBcInYtc2xvdCBjYW4gb25seSBiZSB1c2VkIG9uIGNvbXBvbmVudHMgb3IgPHRlbXBsYXRlPi5cIixcbiAgICAgICAgICAgICAgc2xvdEJpbmRpbmckMVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGVsLnNsb3RTY29wZSB8fCBlbC5zbG90VGFyZ2V0KSB7XG4gICAgICAgICAgICB3YXJuJDIoXG4gICAgICAgICAgICAgIFwiVW5leHBlY3RlZCBtaXhlZCB1c2FnZSBvZiBkaWZmZXJlbnQgc2xvdCBzeW50YXhlcy5cIixcbiAgICAgICAgICAgICAgZWxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlbC5zY29wZWRTbG90cykge1xuICAgICAgICAgICAgd2FybiQyKFxuICAgICAgICAgICAgICBcIlRvIGF2b2lkIHNjb3BlIGFtYmlndWl0eSwgdGhlIGRlZmF1bHQgc2xvdCBzaG91bGQgYWxzbyB1c2UgXCIgK1xuICAgICAgICAgICAgICBcIjx0ZW1wbGF0ZT4gc3ludGF4IHdoZW4gdGhlcmUgYXJlIG90aGVyIG5hbWVkIHNsb3RzLlwiLFxuICAgICAgICAgICAgICBzbG90QmluZGluZyQxXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBhZGQgdGhlIGNvbXBvbmVudCdzIGNoaWxkcmVuIHRvIGl0cyBkZWZhdWx0IHNsb3RcbiAgICAgICAgdmFyIHNsb3RzID0gZWwuc2NvcGVkU2xvdHMgfHwgKGVsLnNjb3BlZFNsb3RzID0ge30pO1xuICAgICAgICB2YXIgcmVmJDEgPSBnZXRTbG90TmFtZShzbG90QmluZGluZyQxKTtcbiAgICAgICAgdmFyIG5hbWUkMSA9IHJlZiQxLm5hbWU7XG4gICAgICAgIHZhciBkeW5hbWljJDEgPSByZWYkMS5keW5hbWljO1xuICAgICAgICB2YXIgc2xvdENvbnRhaW5lciA9IHNsb3RzW25hbWUkMV0gPSBjcmVhdGVBU1RFbGVtZW50KCd0ZW1wbGF0ZScsIFtdLCBlbCk7XG4gICAgICAgIHNsb3RDb250YWluZXIuc2xvdFRhcmdldCA9IG5hbWUkMTtcbiAgICAgICAgc2xvdENvbnRhaW5lci5zbG90VGFyZ2V0RHluYW1pYyA9IGR5bmFtaWMkMTtcbiAgICAgICAgc2xvdENvbnRhaW5lci5jaGlsZHJlbiA9IGVsLmNoaWxkcmVuLmZpbHRlcihmdW5jdGlvbiAoYykge1xuICAgICAgICAgIGlmICghYy5zbG90U2NvcGUpIHtcbiAgICAgICAgICAgIGMucGFyZW50ID0gc2xvdENvbnRhaW5lcjtcbiAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgc2xvdENvbnRhaW5lci5zbG90U2NvcGUgPSBzbG90QmluZGluZyQxLnZhbHVlIHx8IGVtcHR5U2xvdFNjb3BlVG9rZW47XG4gICAgICAgIC8vIHJlbW92ZSBjaGlsZHJlbiBhcyB0aGV5IGFyZSByZXR1cm5lZCBmcm9tIHNjb3BlZFNsb3RzIG5vd1xuICAgICAgICBlbC5jaGlsZHJlbiA9IFtdO1xuICAgICAgICAvLyBtYXJrIGVsIG5vbi1wbGFpbiBzbyBkYXRhIGdldHMgZ2VuZXJhdGVkXG4gICAgICAgIGVsLnBsYWluID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldFNsb3ROYW1lIChiaW5kaW5nKSB7XG4gIHZhciBuYW1lID0gYmluZGluZy5uYW1lLnJlcGxhY2Uoc2xvdFJFLCAnJyk7XG4gIGlmICghbmFtZSkge1xuICAgIGlmIChiaW5kaW5nLm5hbWVbMF0gIT09ICcjJykge1xuICAgICAgbmFtZSA9ICdkZWZhdWx0JztcbiAgICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIHdhcm4kMihcbiAgICAgICAgXCJ2LXNsb3Qgc2hvcnRoYW5kIHN5bnRheCByZXF1aXJlcyBhIHNsb3QgbmFtZS5cIixcbiAgICAgICAgYmluZGluZ1xuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGR5bmFtaWNBcmdSRS50ZXN0KG5hbWUpXG4gICAgLy8gZHluYW1pYyBbbmFtZV1cbiAgICA/IHsgbmFtZTogbmFtZS5zbGljZSgxLCAtMSksIGR5bmFtaWM6IHRydWUgfVxuICAgIC8vIHN0YXRpYyBuYW1lXG4gICAgOiB7IG5hbWU6IChcIlxcXCJcIiArIG5hbWUgKyBcIlxcXCJcIiksIGR5bmFtaWM6IGZhbHNlIH1cbn1cblxuLy8gaGFuZGxlIDxzbG90Lz4gb3V0bGV0c1xuZnVuY3Rpb24gcHJvY2Vzc1Nsb3RPdXRsZXQgKGVsKSB7XG4gIGlmIChlbC50YWcgPT09ICdzbG90Jykge1xuICAgIGVsLnNsb3ROYW1lID0gZ2V0QmluZGluZ0F0dHIoZWwsICduYW1lJyk7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgZWwua2V5KSB7XG4gICAgICB3YXJuJDIoXG4gICAgICAgIFwiYGtleWAgZG9lcyBub3Qgd29yayBvbiA8c2xvdD4gYmVjYXVzZSBzbG90cyBhcmUgYWJzdHJhY3Qgb3V0bGV0cyBcIiArXG4gICAgICAgIFwiYW5kIGNhbiBwb3NzaWJseSBleHBhbmQgaW50byBtdWx0aXBsZSBlbGVtZW50cy4gXCIgK1xuICAgICAgICBcIlVzZSB0aGUga2V5IG9uIGEgd3JhcHBpbmcgZWxlbWVudCBpbnN0ZWFkLlwiLFxuICAgICAgICBnZXRSYXdCaW5kaW5nQXR0cihlbCwgJ2tleScpXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwcm9jZXNzQ29tcG9uZW50IChlbCkge1xuICB2YXIgYmluZGluZztcbiAgaWYgKChiaW5kaW5nID0gZ2V0QmluZGluZ0F0dHIoZWwsICdpcycpKSkge1xuICAgIGVsLmNvbXBvbmVudCA9IGJpbmRpbmc7XG4gIH1cbiAgaWYgKGdldEFuZFJlbW92ZUF0dHIoZWwsICdpbmxpbmUtdGVtcGxhdGUnKSAhPSBudWxsKSB7XG4gICAgZWwuaW5saW5lVGVtcGxhdGUgPSB0cnVlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NBdHRycyAoZWwpIHtcbiAgdmFyIGxpc3QgPSBlbC5hdHRyc0xpc3Q7XG4gIHZhciBpLCBsLCBuYW1lLCByYXdOYW1lLCB2YWx1ZSwgbW9kaWZpZXJzLCBzeW5jR2VuLCBpc0R5bmFtaWM7XG4gIGZvciAoaSA9IDAsIGwgPSBsaXN0Lmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIG5hbWUgPSByYXdOYW1lID0gbGlzdFtpXS5uYW1lO1xuICAgIHZhbHVlID0gbGlzdFtpXS52YWx1ZTtcbiAgICBpZiAoZGlyUkUudGVzdChuYW1lKSkge1xuICAgICAgLy8gbWFyayBlbGVtZW50IGFzIGR5bmFtaWNcbiAgICAgIGVsLmhhc0JpbmRpbmdzID0gdHJ1ZTtcbiAgICAgIC8vIG1vZGlmaWVyc1xuICAgICAgbW9kaWZpZXJzID0gcGFyc2VNb2RpZmllcnMobmFtZS5yZXBsYWNlKGRpclJFLCAnJykpO1xuICAgICAgLy8gc3VwcG9ydCAuZm9vIHNob3J0aGFuZCBzeW50YXggZm9yIHRoZSAucHJvcCBtb2RpZmllclxuICAgICAgaWYgKG1vZGlmaWVycykge1xuICAgICAgICBuYW1lID0gbmFtZS5yZXBsYWNlKG1vZGlmaWVyUkUsICcnKTtcbiAgICAgIH1cbiAgICAgIGlmIChiaW5kUkUudGVzdChuYW1lKSkgeyAvLyB2LWJpbmRcbiAgICAgICAgbmFtZSA9IG5hbWUucmVwbGFjZShiaW5kUkUsICcnKTtcbiAgICAgICAgdmFsdWUgPSBwYXJzZUZpbHRlcnModmFsdWUpO1xuICAgICAgICBpc0R5bmFtaWMgPSBkeW5hbWljQXJnUkUudGVzdChuYW1lKTtcbiAgICAgICAgaWYgKGlzRHluYW1pYykge1xuICAgICAgICAgIG5hbWUgPSBuYW1lLnNsaWNlKDEsIC0xKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgICAgIHZhbHVlLnRyaW0oKS5sZW5ndGggPT09IDBcbiAgICAgICAgKSB7XG4gICAgICAgICAgd2FybiQyKFxuICAgICAgICAgICAgKFwiVGhlIHZhbHVlIGZvciBhIHYtYmluZCBleHByZXNzaW9uIGNhbm5vdCBiZSBlbXB0eS4gRm91bmQgaW4gXFxcInYtYmluZDpcIiArIG5hbWUgKyBcIlxcXCJcIilcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtb2RpZmllcnMpIHtcbiAgICAgICAgICBpZiAobW9kaWZpZXJzLnByb3AgJiYgIWlzRHluYW1pYykge1xuICAgICAgICAgICAgbmFtZSA9IGNhbWVsaXplKG5hbWUpO1xuICAgICAgICAgICAgaWYgKG5hbWUgPT09ICdpbm5lckh0bWwnKSB7IG5hbWUgPSAnaW5uZXJIVE1MJzsgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAobW9kaWZpZXJzLmNhbWVsICYmICFpc0R5bmFtaWMpIHtcbiAgICAgICAgICAgIG5hbWUgPSBjYW1lbGl6ZShuYW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKG1vZGlmaWVycy5zeW5jKSB7XG4gICAgICAgICAgICBzeW5jR2VuID0gZ2VuQXNzaWdubWVudENvZGUodmFsdWUsIFwiJGV2ZW50XCIpO1xuICAgICAgICAgICAgaWYgKCFpc0R5bmFtaWMpIHtcbiAgICAgICAgICAgICAgYWRkSGFuZGxlcihcbiAgICAgICAgICAgICAgICBlbCxcbiAgICAgICAgICAgICAgICAoXCJ1cGRhdGU6XCIgKyAoY2FtZWxpemUobmFtZSkpKSxcbiAgICAgICAgICAgICAgICBzeW5jR2VuLFxuICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgd2FybiQyLFxuICAgICAgICAgICAgICAgIGxpc3RbaV1cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgaWYgKGh5cGhlbmF0ZShuYW1lKSAhPT0gY2FtZWxpemUobmFtZSkpIHtcbiAgICAgICAgICAgICAgICBhZGRIYW5kbGVyKFxuICAgICAgICAgICAgICAgICAgZWwsXG4gICAgICAgICAgICAgICAgICAoXCJ1cGRhdGU6XCIgKyAoaHlwaGVuYXRlKG5hbWUpKSksXG4gICAgICAgICAgICAgICAgICBzeW5jR2VuLFxuICAgICAgICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgICAgd2FybiQyLFxuICAgICAgICAgICAgICAgICAgbGlzdFtpXVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIGhhbmRsZXIgdy8gZHluYW1pYyBldmVudCBuYW1lXG4gICAgICAgICAgICAgIGFkZEhhbmRsZXIoXG4gICAgICAgICAgICAgICAgZWwsXG4gICAgICAgICAgICAgICAgKFwiXFxcInVwZGF0ZTpcXFwiKyhcIiArIG5hbWUgKyBcIilcIiksXG4gICAgICAgICAgICAgICAgc3luY0dlbixcbiAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgIHdhcm4kMixcbiAgICAgICAgICAgICAgICBsaXN0W2ldLFxuICAgICAgICAgICAgICAgIHRydWUgLy8gZHluYW1pY1xuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoKG1vZGlmaWVycyAmJiBtb2RpZmllcnMucHJvcCkgfHwgKFxuICAgICAgICAgICFlbC5jb21wb25lbnQgJiYgcGxhdGZvcm1NdXN0VXNlUHJvcChlbC50YWcsIGVsLmF0dHJzTWFwLnR5cGUsIG5hbWUpXG4gICAgICAgICkpIHtcbiAgICAgICAgICBhZGRQcm9wKGVsLCBuYW1lLCB2YWx1ZSwgbGlzdFtpXSwgaXNEeW5hbWljKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhZGRBdHRyKGVsLCBuYW1lLCB2YWx1ZSwgbGlzdFtpXSwgaXNEeW5hbWljKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChvblJFLnRlc3QobmFtZSkpIHsgLy8gdi1vblxuICAgICAgICBuYW1lID0gbmFtZS5yZXBsYWNlKG9uUkUsICcnKTtcbiAgICAgICAgaXNEeW5hbWljID0gZHluYW1pY0FyZ1JFLnRlc3QobmFtZSk7XG4gICAgICAgIGlmIChpc0R5bmFtaWMpIHtcbiAgICAgICAgICBuYW1lID0gbmFtZS5zbGljZSgxLCAtMSk7XG4gICAgICAgIH1cbiAgICAgICAgYWRkSGFuZGxlcihlbCwgbmFtZSwgdmFsdWUsIG1vZGlmaWVycywgZmFsc2UsIHdhcm4kMiwgbGlzdFtpXSwgaXNEeW5hbWljKTtcbiAgICAgIH0gZWxzZSB7IC8vIG5vcm1hbCBkaXJlY3RpdmVzXG4gICAgICAgIG5hbWUgPSBuYW1lLnJlcGxhY2UoZGlyUkUsICcnKTtcbiAgICAgICAgLy8gcGFyc2UgYXJnXG4gICAgICAgIHZhciBhcmdNYXRjaCA9IG5hbWUubWF0Y2goYXJnUkUpO1xuICAgICAgICB2YXIgYXJnID0gYXJnTWF0Y2ggJiYgYXJnTWF0Y2hbMV07XG4gICAgICAgIGlzRHluYW1pYyA9IGZhbHNlO1xuICAgICAgICBpZiAoYXJnKSB7XG4gICAgICAgICAgbmFtZSA9IG5hbWUuc2xpY2UoMCwgLShhcmcubGVuZ3RoICsgMSkpO1xuICAgICAgICAgIGlmIChkeW5hbWljQXJnUkUudGVzdChhcmcpKSB7XG4gICAgICAgICAgICBhcmcgPSBhcmcuc2xpY2UoMSwgLTEpO1xuICAgICAgICAgICAgaXNEeW5hbWljID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYWRkRGlyZWN0aXZlKGVsLCBuYW1lLCByYXdOYW1lLCB2YWx1ZSwgYXJnLCBpc0R5bmFtaWMsIG1vZGlmaWVycywgbGlzdFtpXSk7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIG5hbWUgPT09ICdtb2RlbCcpIHtcbiAgICAgICAgICBjaGVja0ZvckFsaWFzTW9kZWwoZWwsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBsaXRlcmFsIGF0dHJpYnV0ZVxuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgdmFyIHJlcyA9IHBhcnNlVGV4dCh2YWx1ZSwgZGVsaW1pdGVycyk7XG4gICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICB3YXJuJDIoXG4gICAgICAgICAgICBuYW1lICsgXCI9XFxcIlwiICsgdmFsdWUgKyBcIlxcXCI6IFwiICtcbiAgICAgICAgICAgICdJbnRlcnBvbGF0aW9uIGluc2lkZSBhdHRyaWJ1dGVzIGhhcyBiZWVuIHJlbW92ZWQuICcgK1xuICAgICAgICAgICAgJ1VzZSB2LWJpbmQgb3IgdGhlIGNvbG9uIHNob3J0aGFuZCBpbnN0ZWFkLiBGb3IgZXhhbXBsZSwgJyArXG4gICAgICAgICAgICAnaW5zdGVhZCBvZiA8ZGl2IGlkPVwie3sgdmFsIH19XCI+LCB1c2UgPGRpdiA6aWQ9XCJ2YWxcIj4uJyxcbiAgICAgICAgICAgIGxpc3RbaV1cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBhZGRBdHRyKGVsLCBuYW1lLCBKU09OLnN0cmluZ2lmeSh2YWx1ZSksIGxpc3RbaV0pO1xuICAgICAgLy8gIzY4ODcgZmlyZWZveCBkb2Vzbid0IHVwZGF0ZSBtdXRlZCBzdGF0ZSBpZiBzZXQgdmlhIGF0dHJpYnV0ZVxuICAgICAgLy8gZXZlbiBpbW1lZGlhdGVseSBhZnRlciBlbGVtZW50IGNyZWF0aW9uXG4gICAgICBpZiAoIWVsLmNvbXBvbmVudCAmJlxuICAgICAgICAgIG5hbWUgPT09ICdtdXRlZCcgJiZcbiAgICAgICAgICBwbGF0Zm9ybU11c3RVc2VQcm9wKGVsLnRhZywgZWwuYXR0cnNNYXAudHlwZSwgbmFtZSkpIHtcbiAgICAgICAgYWRkUHJvcChlbCwgbmFtZSwgJ3RydWUnLCBsaXN0W2ldKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tJbkZvciAoZWwpIHtcbiAgdmFyIHBhcmVudCA9IGVsO1xuICB3aGlsZSAocGFyZW50KSB7XG4gICAgaWYgKHBhcmVudC5mb3IgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgcGFyZW50ID0gcGFyZW50LnBhcmVudDtcbiAgfVxuICByZXR1cm4gZmFsc2Vcbn1cblxuZnVuY3Rpb24gcGFyc2VNb2RpZmllcnMgKG5hbWUpIHtcbiAgdmFyIG1hdGNoID0gbmFtZS5tYXRjaChtb2RpZmllclJFKTtcbiAgaWYgKG1hdGNoKSB7XG4gICAgdmFyIHJldCA9IHt9O1xuICAgIG1hdGNoLmZvckVhY2goZnVuY3Rpb24gKG0pIHsgcmV0W20uc2xpY2UoMSldID0gdHJ1ZTsgfSk7XG4gICAgcmV0dXJuIHJldFxuICB9XG59XG5cbmZ1bmN0aW9uIG1ha2VBdHRyc01hcCAoYXR0cnMpIHtcbiAgdmFyIG1hcCA9IHt9O1xuICBmb3IgKHZhciBpID0gMCwgbCA9IGF0dHJzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIGlmIChcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgIG1hcFthdHRyc1tpXS5uYW1lXSAmJiAhaXNJRSAmJiAhaXNFZGdlXG4gICAgKSB7XG4gICAgICB3YXJuJDIoJ2R1cGxpY2F0ZSBhdHRyaWJ1dGU6ICcgKyBhdHRyc1tpXS5uYW1lLCBhdHRyc1tpXSk7XG4gICAgfVxuICAgIG1hcFthdHRyc1tpXS5uYW1lXSA9IGF0dHJzW2ldLnZhbHVlO1xuICB9XG4gIHJldHVybiBtYXBcbn1cblxuLy8gZm9yIHNjcmlwdCAoZS5nLiB0eXBlPVwieC90ZW1wbGF0ZVwiKSBvciBzdHlsZSwgZG8gbm90IGRlY29kZSBjb250ZW50XG5mdW5jdGlvbiBpc1RleHRUYWcgKGVsKSB7XG4gIHJldHVybiBlbC50YWcgPT09ICdzY3JpcHQnIHx8IGVsLnRhZyA9PT0gJ3N0eWxlJ1xufVxuXG5mdW5jdGlvbiBpc0ZvcmJpZGRlblRhZyAoZWwpIHtcbiAgcmV0dXJuIChcbiAgICBlbC50YWcgPT09ICdzdHlsZScgfHxcbiAgICAoZWwudGFnID09PSAnc2NyaXB0JyAmJiAoXG4gICAgICAhZWwuYXR0cnNNYXAudHlwZSB8fFxuICAgICAgZWwuYXR0cnNNYXAudHlwZSA9PT0gJ3RleHQvamF2YXNjcmlwdCdcbiAgICApKVxuICApXG59XG5cbnZhciBpZU5TQnVnID0gL154bWxuczpOU1xcZCsvO1xudmFyIGllTlNQcmVmaXggPSAvXk5TXFxkKzovO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZnVuY3Rpb24gZ3VhcmRJRVNWR0J1ZyAoYXR0cnMpIHtcbiAgdmFyIHJlcyA9IFtdO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGF0dHJzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGF0dHIgPSBhdHRyc1tpXTtcbiAgICBpZiAoIWllTlNCdWcudGVzdChhdHRyLm5hbWUpKSB7XG4gICAgICBhdHRyLm5hbWUgPSBhdHRyLm5hbWUucmVwbGFjZShpZU5TUHJlZml4LCAnJyk7XG4gICAgICByZXMucHVzaChhdHRyKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG5mdW5jdGlvbiBjaGVja0ZvckFsaWFzTW9kZWwgKGVsLCB2YWx1ZSkge1xuICB2YXIgX2VsID0gZWw7XG4gIHdoaWxlIChfZWwpIHtcbiAgICBpZiAoX2VsLmZvciAmJiBfZWwuYWxpYXMgPT09IHZhbHVlKSB7XG4gICAgICB3YXJuJDIoXG4gICAgICAgIFwiPFwiICsgKGVsLnRhZykgKyBcIiB2LW1vZGVsPVxcXCJcIiArIHZhbHVlICsgXCJcXFwiPjogXCIgK1xuICAgICAgICBcIllvdSBhcmUgYmluZGluZyB2LW1vZGVsIGRpcmVjdGx5IHRvIGEgdi1mb3IgaXRlcmF0aW9uIGFsaWFzLiBcIiArXG4gICAgICAgIFwiVGhpcyB3aWxsIG5vdCBiZSBhYmxlIHRvIG1vZGlmeSB0aGUgdi1mb3Igc291cmNlIGFycmF5IGJlY2F1c2UgXCIgK1xuICAgICAgICBcIndyaXRpbmcgdG8gdGhlIGFsaWFzIGlzIGxpa2UgbW9kaWZ5aW5nIGEgZnVuY3Rpb24gbG9jYWwgdmFyaWFibGUuIFwiICtcbiAgICAgICAgXCJDb25zaWRlciB1c2luZyBhbiBhcnJheSBvZiBvYmplY3RzIGFuZCB1c2Ugdi1tb2RlbCBvbiBhbiBvYmplY3QgcHJvcGVydHkgaW5zdGVhZC5cIixcbiAgICAgICAgZWwucmF3QXR0cnNNYXBbJ3YtbW9kZWwnXVxuICAgICAgKTtcbiAgICB9XG4gICAgX2VsID0gX2VsLnBhcmVudDtcbiAgfVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gcHJlVHJhbnNmb3JtTm9kZSAoZWwsIG9wdGlvbnMpIHtcbiAgaWYgKGVsLnRhZyA9PT0gJ2lucHV0Jykge1xuICAgIHZhciBtYXAgPSBlbC5hdHRyc01hcDtcbiAgICBpZiAoIW1hcFsndi1tb2RlbCddKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB2YXIgdHlwZUJpbmRpbmc7XG4gICAgaWYgKG1hcFsnOnR5cGUnXSB8fCBtYXBbJ3YtYmluZDp0eXBlJ10pIHtcbiAgICAgIHR5cGVCaW5kaW5nID0gZ2V0QmluZGluZ0F0dHIoZWwsICd0eXBlJyk7XG4gICAgfVxuICAgIGlmICghbWFwLnR5cGUgJiYgIXR5cGVCaW5kaW5nICYmIG1hcFsndi1iaW5kJ10pIHtcbiAgICAgIHR5cGVCaW5kaW5nID0gXCIoXCIgKyAobWFwWyd2LWJpbmQnXSkgKyBcIikudHlwZVwiO1xuICAgIH1cblxuICAgIGlmICh0eXBlQmluZGluZykge1xuICAgICAgdmFyIGlmQ29uZGl0aW9uID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3YtaWYnLCB0cnVlKTtcbiAgICAgIHZhciBpZkNvbmRpdGlvbkV4dHJhID0gaWZDb25kaXRpb24gPyAoXCImJihcIiArIGlmQ29uZGl0aW9uICsgXCIpXCIpIDogXCJcIjtcbiAgICAgIHZhciBoYXNFbHNlID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3YtZWxzZScsIHRydWUpICE9IG51bGw7XG4gICAgICB2YXIgZWxzZUlmQ29uZGl0aW9uID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3YtZWxzZS1pZicsIHRydWUpO1xuICAgICAgLy8gMS4gY2hlY2tib3hcbiAgICAgIHZhciBicmFuY2gwID0gY2xvbmVBU1RFbGVtZW50KGVsKTtcbiAgICAgIC8vIHByb2Nlc3MgZm9yIG9uIHRoZSBtYWluIG5vZGVcbiAgICAgIHByb2Nlc3NGb3IoYnJhbmNoMCk7XG4gICAgICBhZGRSYXdBdHRyKGJyYW5jaDAsICd0eXBlJywgJ2NoZWNrYm94Jyk7XG4gICAgICBwcm9jZXNzRWxlbWVudChicmFuY2gwLCBvcHRpb25zKTtcbiAgICAgIGJyYW5jaDAucHJvY2Vzc2VkID0gdHJ1ZTsgLy8gcHJldmVudCBpdCBmcm9tIGRvdWJsZS1wcm9jZXNzZWRcbiAgICAgIGJyYW5jaDAuaWYgPSBcIihcIiArIHR5cGVCaW5kaW5nICsgXCIpPT09J2NoZWNrYm94J1wiICsgaWZDb25kaXRpb25FeHRyYTtcbiAgICAgIGFkZElmQ29uZGl0aW9uKGJyYW5jaDAsIHtcbiAgICAgICAgZXhwOiBicmFuY2gwLmlmLFxuICAgICAgICBibG9jazogYnJhbmNoMFxuICAgICAgfSk7XG4gICAgICAvLyAyLiBhZGQgcmFkaW8gZWxzZS1pZiBjb25kaXRpb25cbiAgICAgIHZhciBicmFuY2gxID0gY2xvbmVBU1RFbGVtZW50KGVsKTtcbiAgICAgIGdldEFuZFJlbW92ZUF0dHIoYnJhbmNoMSwgJ3YtZm9yJywgdHJ1ZSk7XG4gICAgICBhZGRSYXdBdHRyKGJyYW5jaDEsICd0eXBlJywgJ3JhZGlvJyk7XG4gICAgICBwcm9jZXNzRWxlbWVudChicmFuY2gxLCBvcHRpb25zKTtcbiAgICAgIGFkZElmQ29uZGl0aW9uKGJyYW5jaDAsIHtcbiAgICAgICAgZXhwOiBcIihcIiArIHR5cGVCaW5kaW5nICsgXCIpPT09J3JhZGlvJ1wiICsgaWZDb25kaXRpb25FeHRyYSxcbiAgICAgICAgYmxvY2s6IGJyYW5jaDFcbiAgICAgIH0pO1xuICAgICAgLy8gMy4gb3RoZXJcbiAgICAgIHZhciBicmFuY2gyID0gY2xvbmVBU1RFbGVtZW50KGVsKTtcbiAgICAgIGdldEFuZFJlbW92ZUF0dHIoYnJhbmNoMiwgJ3YtZm9yJywgdHJ1ZSk7XG4gICAgICBhZGRSYXdBdHRyKGJyYW5jaDIsICc6dHlwZScsIHR5cGVCaW5kaW5nKTtcbiAgICAgIHByb2Nlc3NFbGVtZW50KGJyYW5jaDIsIG9wdGlvbnMpO1xuICAgICAgYWRkSWZDb25kaXRpb24oYnJhbmNoMCwge1xuICAgICAgICBleHA6IGlmQ29uZGl0aW9uLFxuICAgICAgICBibG9jazogYnJhbmNoMlxuICAgICAgfSk7XG5cbiAgICAgIGlmIChoYXNFbHNlKSB7XG4gICAgICAgIGJyYW5jaDAuZWxzZSA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKGVsc2VJZkNvbmRpdGlvbikge1xuICAgICAgICBicmFuY2gwLmVsc2VpZiA9IGVsc2VJZkNvbmRpdGlvbjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJyYW5jaDBcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2xvbmVBU1RFbGVtZW50IChlbCkge1xuICByZXR1cm4gY3JlYXRlQVNURWxlbWVudChlbC50YWcsIGVsLmF0dHJzTGlzdC5zbGljZSgpLCBlbC5wYXJlbnQpXG59XG5cbnZhciBtb2RlbCQxID0ge1xuICBwcmVUcmFuc2Zvcm1Ob2RlOiBwcmVUcmFuc2Zvcm1Ob2RlXG59O1xuXG52YXIgbW9kdWxlcyQxID0gW1xuICBrbGFzcyQxLFxuICBzdHlsZSQxLFxuICBtb2RlbCQxXG5dO1xuXG4vKiAgKi9cblxuZnVuY3Rpb24gdGV4dCAoZWwsIGRpcikge1xuICBpZiAoZGlyLnZhbHVlKSB7XG4gICAgYWRkUHJvcChlbCwgJ3RleHRDb250ZW50JywgKFwiX3MoXCIgKyAoZGlyLnZhbHVlKSArIFwiKVwiKSwgZGlyKTtcbiAgfVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gaHRtbCAoZWwsIGRpcikge1xuICBpZiAoZGlyLnZhbHVlKSB7XG4gICAgYWRkUHJvcChlbCwgJ2lubmVySFRNTCcsIChcIl9zKFwiICsgKGRpci52YWx1ZSkgKyBcIilcIiksIGRpcik7XG4gIH1cbn1cblxudmFyIGRpcmVjdGl2ZXMkMSA9IHtcbiAgbW9kZWw6IG1vZGVsLFxuICB0ZXh0OiB0ZXh0LFxuICBodG1sOiBodG1sXG59O1xuXG4vKiAgKi9cblxudmFyIGJhc2VPcHRpb25zID0ge1xuICBleHBlY3RIVE1MOiB0cnVlLFxuICBtb2R1bGVzOiBtb2R1bGVzJDEsXG4gIGRpcmVjdGl2ZXM6IGRpcmVjdGl2ZXMkMSxcbiAgaXNQcmVUYWc6IGlzUHJlVGFnLFxuICBpc1VuYXJ5VGFnOiBpc1VuYXJ5VGFnLFxuICBtdXN0VXNlUHJvcDogbXVzdFVzZVByb3AsXG4gIGNhbkJlTGVmdE9wZW5UYWc6IGNhbkJlTGVmdE9wZW5UYWcsXG4gIGlzUmVzZXJ2ZWRUYWc6IGlzUmVzZXJ2ZWRUYWcsXG4gIGdldFRhZ05hbWVzcGFjZTogZ2V0VGFnTmFtZXNwYWNlLFxuICBzdGF0aWNLZXlzOiBnZW5TdGF0aWNLZXlzKG1vZHVsZXMkMSlcbn07XG5cbi8qICAqL1xuXG52YXIgaXNTdGF0aWNLZXk7XG52YXIgaXNQbGF0Zm9ybVJlc2VydmVkVGFnO1xuXG52YXIgZ2VuU3RhdGljS2V5c0NhY2hlZCA9IGNhY2hlZChnZW5TdGF0aWNLZXlzJDEpO1xuXG4vKipcbiAqIEdvYWwgb2YgdGhlIG9wdGltaXplcjogd2FsayB0aGUgZ2VuZXJhdGVkIHRlbXBsYXRlIEFTVCB0cmVlXG4gKiBhbmQgZGV0ZWN0IHN1Yi10cmVlcyB0aGF0IGFyZSBwdXJlbHkgc3RhdGljLCBpLmUuIHBhcnRzIG9mXG4gKiB0aGUgRE9NIHRoYXQgbmV2ZXIgbmVlZHMgdG8gY2hhbmdlLlxuICpcbiAqIE9uY2Ugd2UgZGV0ZWN0IHRoZXNlIHN1Yi10cmVlcywgd2UgY2FuOlxuICpcbiAqIDEuIEhvaXN0IHRoZW0gaW50byBjb25zdGFudHMsIHNvIHRoYXQgd2Ugbm8gbG9uZ2VyIG5lZWQgdG9cbiAqICAgIGNyZWF0ZSBmcmVzaCBub2RlcyBmb3IgdGhlbSBvbiBlYWNoIHJlLXJlbmRlcjtcbiAqIDIuIENvbXBsZXRlbHkgc2tpcCB0aGVtIGluIHRoZSBwYXRjaGluZyBwcm9jZXNzLlxuICovXG5mdW5jdGlvbiBvcHRpbWl6ZSAocm9vdCwgb3B0aW9ucykge1xuICBpZiAoIXJvb3QpIHsgcmV0dXJuIH1cbiAgaXNTdGF0aWNLZXkgPSBnZW5TdGF0aWNLZXlzQ2FjaGVkKG9wdGlvbnMuc3RhdGljS2V5cyB8fCAnJyk7XG4gIGlzUGxhdGZvcm1SZXNlcnZlZFRhZyA9IG9wdGlvbnMuaXNSZXNlcnZlZFRhZyB8fCBubztcbiAgLy8gZmlyc3QgcGFzczogbWFyayBhbGwgbm9uLXN0YXRpYyBub2Rlcy5cbiAgbWFya1N0YXRpYyQxKHJvb3QpO1xuICAvLyBzZWNvbmQgcGFzczogbWFyayBzdGF0aWMgcm9vdHMuXG4gIG1hcmtTdGF0aWNSb290cyhyb290LCBmYWxzZSk7XG59XG5cbmZ1bmN0aW9uIGdlblN0YXRpY0tleXMkMSAoa2V5cykge1xuICByZXR1cm4gbWFrZU1hcChcbiAgICAndHlwZSx0YWcsYXR0cnNMaXN0LGF0dHJzTWFwLHBsYWluLHBhcmVudCxjaGlsZHJlbixhdHRycyxzdGFydCxlbmQscmF3QXR0cnNNYXAnICtcbiAgICAoa2V5cyA/ICcsJyArIGtleXMgOiAnJylcbiAgKVxufVxuXG5mdW5jdGlvbiBtYXJrU3RhdGljJDEgKG5vZGUpIHtcbiAgbm9kZS5zdGF0aWMgPSBpc1N0YXRpYyhub2RlKTtcbiAgaWYgKG5vZGUudHlwZSA9PT0gMSkge1xuICAgIC8vIGRvIG5vdCBtYWtlIGNvbXBvbmVudCBzbG90IGNvbnRlbnQgc3RhdGljLiB0aGlzIGF2b2lkc1xuICAgIC8vIDEuIGNvbXBvbmVudHMgbm90IGFibGUgdG8gbXV0YXRlIHNsb3Qgbm9kZXNcbiAgICAvLyAyLiBzdGF0aWMgc2xvdCBjb250ZW50IGZhaWxzIGZvciBob3QtcmVsb2FkaW5nXG4gICAgaWYgKFxuICAgICAgIWlzUGxhdGZvcm1SZXNlcnZlZFRhZyhub2RlLnRhZykgJiZcbiAgICAgIG5vZGUudGFnICE9PSAnc2xvdCcgJiZcbiAgICAgIG5vZGUuYXR0cnNNYXBbJ2lubGluZS10ZW1wbGF0ZSddID09IG51bGxcbiAgICApIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBmb3IgKHZhciBpID0gMCwgbCA9IG5vZGUuY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICB2YXIgY2hpbGQgPSBub2RlLmNoaWxkcmVuW2ldO1xuICAgICAgbWFya1N0YXRpYyQxKGNoaWxkKTtcbiAgICAgIGlmICghY2hpbGQuc3RhdGljKSB7XG4gICAgICAgIG5vZGUuc3RhdGljID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChub2RlLmlmQ29uZGl0aW9ucykge1xuICAgICAgZm9yICh2YXIgaSQxID0gMSwgbCQxID0gbm9kZS5pZkNvbmRpdGlvbnMubGVuZ3RoOyBpJDEgPCBsJDE7IGkkMSsrKSB7XG4gICAgICAgIHZhciBibG9jayA9IG5vZGUuaWZDb25kaXRpb25zW2kkMV0uYmxvY2s7XG4gICAgICAgIG1hcmtTdGF0aWMkMShibG9jayk7XG4gICAgICAgIGlmICghYmxvY2suc3RhdGljKSB7XG4gICAgICAgICAgbm9kZS5zdGF0aWMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBtYXJrU3RhdGljUm9vdHMgKG5vZGUsIGlzSW5Gb3IpIHtcbiAgaWYgKG5vZGUudHlwZSA9PT0gMSkge1xuICAgIGlmIChub2RlLnN0YXRpYyB8fCBub2RlLm9uY2UpIHtcbiAgICAgIG5vZGUuc3RhdGljSW5Gb3IgPSBpc0luRm9yO1xuICAgIH1cbiAgICAvLyBGb3IgYSBub2RlIHRvIHF1YWxpZnkgYXMgYSBzdGF0aWMgcm9vdCwgaXQgc2hvdWxkIGhhdmUgY2hpbGRyZW4gdGhhdFxuICAgIC8vIGFyZSBub3QganVzdCBzdGF0aWMgdGV4dC4gT3RoZXJ3aXNlIHRoZSBjb3N0IG9mIGhvaXN0aW5nIG91dCB3aWxsXG4gICAgLy8gb3V0d2VpZ2ggdGhlIGJlbmVmaXRzIGFuZCBpdCdzIGJldHRlciBvZmYgdG8ganVzdCBhbHdheXMgcmVuZGVyIGl0IGZyZXNoLlxuICAgIGlmIChub2RlLnN0YXRpYyAmJiBub2RlLmNoaWxkcmVuLmxlbmd0aCAmJiAhKFxuICAgICAgbm9kZS5jaGlsZHJlbi5sZW5ndGggPT09IDEgJiZcbiAgICAgIG5vZGUuY2hpbGRyZW5bMF0udHlwZSA9PT0gM1xuICAgICkpIHtcbiAgICAgIG5vZGUuc3RhdGljUm9vdCA9IHRydWU7XG4gICAgICByZXR1cm5cbiAgICB9IGVsc2Uge1xuICAgICAgbm9kZS5zdGF0aWNSb290ID0gZmFsc2U7XG4gICAgfVxuICAgIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgICBmb3IgKHZhciBpID0gMCwgbCA9IG5vZGUuY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIG1hcmtTdGF0aWNSb290cyhub2RlLmNoaWxkcmVuW2ldLCBpc0luRm9yIHx8ICEhbm9kZS5mb3IpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAobm9kZS5pZkNvbmRpdGlvbnMpIHtcbiAgICAgIGZvciAodmFyIGkkMSA9IDEsIGwkMSA9IG5vZGUuaWZDb25kaXRpb25zLmxlbmd0aDsgaSQxIDwgbCQxOyBpJDErKykge1xuICAgICAgICBtYXJrU3RhdGljUm9vdHMobm9kZS5pZkNvbmRpdGlvbnNbaSQxXS5ibG9jaywgaXNJbkZvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzU3RhdGljIChub2RlKSB7XG4gIGlmIChub2RlLnR5cGUgPT09IDIpIHsgLy8gZXhwcmVzc2lvblxuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIGlmIChub2RlLnR5cGUgPT09IDMpIHsgLy8gdGV4dFxuICAgIHJldHVybiB0cnVlXG4gIH1cbiAgcmV0dXJuICEhKG5vZGUucHJlIHx8IChcbiAgICAhbm9kZS5oYXNCaW5kaW5ncyAmJiAvLyBubyBkeW5hbWljIGJpbmRpbmdzXG4gICAgIW5vZGUuaWYgJiYgIW5vZGUuZm9yICYmIC8vIG5vdCB2LWlmIG9yIHYtZm9yIG9yIHYtZWxzZVxuICAgICFpc0J1aWx0SW5UYWcobm9kZS50YWcpICYmIC8vIG5vdCBhIGJ1aWx0LWluXG4gICAgaXNQbGF0Zm9ybVJlc2VydmVkVGFnKG5vZGUudGFnKSAmJiAvLyBub3QgYSBjb21wb25lbnRcbiAgICAhaXNEaXJlY3RDaGlsZE9mVGVtcGxhdGVGb3Iobm9kZSkgJiZcbiAgICBPYmplY3Qua2V5cyhub2RlKS5ldmVyeShpc1N0YXRpY0tleSlcbiAgKSlcbn1cblxuZnVuY3Rpb24gaXNEaXJlY3RDaGlsZE9mVGVtcGxhdGVGb3IgKG5vZGUpIHtcbiAgd2hpbGUgKG5vZGUucGFyZW50KSB7XG4gICAgbm9kZSA9IG5vZGUucGFyZW50O1xuICAgIGlmIChub2RlLnRhZyAhPT0gJ3RlbXBsYXRlJykge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIGlmIChub2RlLmZvcikge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbi8qICAqL1xuXG52YXIgZm5FeHBSRSA9IC9eKFtcXHckX10rfFxcKFteKV0qP1xcKSlcXHMqPT58XmZ1bmN0aW9uXFxzKig/OltcXHckXSspP1xccypcXCgvO1xudmFyIGZuSW52b2tlUkUgPSAvXFwoW14pXSo/XFwpOyokLztcbnZhciBzaW1wbGVQYXRoUkUgPSAvXltBLVphLXpfJF1bXFx3JF0qKD86XFwuW0EtWmEtel8kXVtcXHckXSp8XFxbJ1teJ10qPyddfFxcW1wiW15cIl0qP1wiXXxcXFtcXGQrXXxcXFtbQS1aYS16XyRdW1xcdyRdKl0pKiQvO1xuXG4vLyBLZXlib2FyZEV2ZW50LmtleUNvZGUgYWxpYXNlc1xudmFyIGtleUNvZGVzID0ge1xuICBlc2M6IDI3LFxuICB0YWI6IDksXG4gIGVudGVyOiAxMyxcbiAgc3BhY2U6IDMyLFxuICB1cDogMzgsXG4gIGxlZnQ6IDM3LFxuICByaWdodDogMzksXG4gIGRvd246IDQwLFxuICAnZGVsZXRlJzogWzgsIDQ2XVxufTtcblxuLy8gS2V5Ym9hcmRFdmVudC5rZXkgYWxpYXNlc1xudmFyIGtleU5hbWVzID0ge1xuICAvLyAjNzg4MDogSUUxMSBhbmQgRWRnZSB1c2UgYEVzY2AgZm9yIEVzY2FwZSBrZXkgbmFtZS5cbiAgZXNjOiBbJ0VzYycsICdFc2NhcGUnXSxcbiAgdGFiOiAnVGFiJyxcbiAgZW50ZXI6ICdFbnRlcicsXG4gIC8vICM5MTEyOiBJRTExIHVzZXMgYFNwYWNlYmFyYCBmb3IgU3BhY2Uga2V5IG5hbWUuXG4gIHNwYWNlOiBbJyAnLCAnU3BhY2ViYXInXSxcbiAgLy8gIzc4MDY6IElFMTEgdXNlcyBrZXkgbmFtZXMgd2l0aG91dCBgQXJyb3dgIHByZWZpeCBmb3IgYXJyb3cga2V5cy5cbiAgdXA6IFsnVXAnLCAnQXJyb3dVcCddLFxuICBsZWZ0OiBbJ0xlZnQnLCAnQXJyb3dMZWZ0J10sXG4gIHJpZ2h0OiBbJ1JpZ2h0JywgJ0Fycm93UmlnaHQnXSxcbiAgZG93bjogWydEb3duJywgJ0Fycm93RG93biddLFxuICAvLyAjOTExMjogSUUxMSB1c2VzIGBEZWxgIGZvciBEZWxldGUga2V5IG5hbWUuXG4gICdkZWxldGUnOiBbJ0JhY2tzcGFjZScsICdEZWxldGUnLCAnRGVsJ11cbn07XG5cbi8vICM0ODY4OiBtb2RpZmllcnMgdGhhdCBwcmV2ZW50IHRoZSBleGVjdXRpb24gb2YgdGhlIGxpc3RlbmVyXG4vLyBuZWVkIHRvIGV4cGxpY2l0bHkgcmV0dXJuIG51bGwgc28gdGhhdCB3ZSBjYW4gZGV0ZXJtaW5lIHdoZXRoZXIgdG8gcmVtb3ZlXG4vLyB0aGUgbGlzdGVuZXIgZm9yIC5vbmNlXG52YXIgZ2VuR3VhcmQgPSBmdW5jdGlvbiAoY29uZGl0aW9uKSB7IHJldHVybiAoXCJpZihcIiArIGNvbmRpdGlvbiArIFwiKXJldHVybiBudWxsO1wiKTsgfTtcblxudmFyIG1vZGlmaWVyQ29kZSA9IHtcbiAgc3RvcDogJyRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsnLFxuICBwcmV2ZW50OiAnJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7JyxcbiAgc2VsZjogZ2VuR3VhcmQoXCIkZXZlbnQudGFyZ2V0ICE9PSAkZXZlbnQuY3VycmVudFRhcmdldFwiKSxcbiAgY3RybDogZ2VuR3VhcmQoXCIhJGV2ZW50LmN0cmxLZXlcIiksXG4gIHNoaWZ0OiBnZW5HdWFyZChcIiEkZXZlbnQuc2hpZnRLZXlcIiksXG4gIGFsdDogZ2VuR3VhcmQoXCIhJGV2ZW50LmFsdEtleVwiKSxcbiAgbWV0YTogZ2VuR3VhcmQoXCIhJGV2ZW50Lm1ldGFLZXlcIiksXG4gIGxlZnQ6IGdlbkd1YXJkKFwiJ2J1dHRvbicgaW4gJGV2ZW50ICYmICRldmVudC5idXR0b24gIT09IDBcIiksXG4gIG1pZGRsZTogZ2VuR3VhcmQoXCInYnV0dG9uJyBpbiAkZXZlbnQgJiYgJGV2ZW50LmJ1dHRvbiAhPT0gMVwiKSxcbiAgcmlnaHQ6IGdlbkd1YXJkKFwiJ2J1dHRvbicgaW4gJGV2ZW50ICYmICRldmVudC5idXR0b24gIT09IDJcIilcbn07XG5cbmZ1bmN0aW9uIGdlbkhhbmRsZXJzIChcbiAgZXZlbnRzLFxuICBpc05hdGl2ZVxuKSB7XG4gIHZhciBwcmVmaXggPSBpc05hdGl2ZSA/ICduYXRpdmVPbjonIDogJ29uOic7XG4gIHZhciBzdGF0aWNIYW5kbGVycyA9IFwiXCI7XG4gIHZhciBkeW5hbWljSGFuZGxlcnMgPSBcIlwiO1xuICBmb3IgKHZhciBuYW1lIGluIGV2ZW50cykge1xuICAgIHZhciBoYW5kbGVyQ29kZSA9IGdlbkhhbmRsZXIoZXZlbnRzW25hbWVdKTtcbiAgICBpZiAoZXZlbnRzW25hbWVdICYmIGV2ZW50c1tuYW1lXS5keW5hbWljKSB7XG4gICAgICBkeW5hbWljSGFuZGxlcnMgKz0gbmFtZSArIFwiLFwiICsgaGFuZGxlckNvZGUgKyBcIixcIjtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhdGljSGFuZGxlcnMgKz0gXCJcXFwiXCIgKyBuYW1lICsgXCJcXFwiOlwiICsgaGFuZGxlckNvZGUgKyBcIixcIjtcbiAgICB9XG4gIH1cbiAgc3RhdGljSGFuZGxlcnMgPSBcIntcIiArIChzdGF0aWNIYW5kbGVycy5zbGljZSgwLCAtMSkpICsgXCJ9XCI7XG4gIGlmIChkeW5hbWljSGFuZGxlcnMpIHtcbiAgICByZXR1cm4gcHJlZml4ICsgXCJfZChcIiArIHN0YXRpY0hhbmRsZXJzICsgXCIsW1wiICsgKGR5bmFtaWNIYW5kbGVycy5zbGljZSgwLCAtMSkpICsgXCJdKVwiXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHByZWZpeCArIHN0YXRpY0hhbmRsZXJzXG4gIH1cbn1cblxuZnVuY3Rpb24gZ2VuSGFuZGxlciAoaGFuZGxlcikge1xuICBpZiAoIWhhbmRsZXIpIHtcbiAgICByZXR1cm4gJ2Z1bmN0aW9uKCl7fSdcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KGhhbmRsZXIpKSB7XG4gICAgcmV0dXJuIChcIltcIiArIChoYW5kbGVyLm1hcChmdW5jdGlvbiAoaGFuZGxlcikgeyByZXR1cm4gZ2VuSGFuZGxlcihoYW5kbGVyKTsgfSkuam9pbignLCcpKSArIFwiXVwiKVxuICB9XG5cbiAgdmFyIGlzTWV0aG9kUGF0aCA9IHNpbXBsZVBhdGhSRS50ZXN0KGhhbmRsZXIudmFsdWUpO1xuICB2YXIgaXNGdW5jdGlvbkV4cHJlc3Npb24gPSBmbkV4cFJFLnRlc3QoaGFuZGxlci52YWx1ZSk7XG4gIHZhciBpc0Z1bmN0aW9uSW52b2NhdGlvbiA9IHNpbXBsZVBhdGhSRS50ZXN0KGhhbmRsZXIudmFsdWUucmVwbGFjZShmbkludm9rZVJFLCAnJykpO1xuXG4gIGlmICghaGFuZGxlci5tb2RpZmllcnMpIHtcbiAgICBpZiAoaXNNZXRob2RQYXRoIHx8IGlzRnVuY3Rpb25FeHByZXNzaW9uKSB7XG4gICAgICByZXR1cm4gaGFuZGxlci52YWx1ZVxuICAgIH1cbiAgICByZXR1cm4gKFwiZnVuY3Rpb24oJGV2ZW50KXtcIiArIChpc0Z1bmN0aW9uSW52b2NhdGlvbiA/IChcInJldHVybiBcIiArIChoYW5kbGVyLnZhbHVlKSkgOiBoYW5kbGVyLnZhbHVlKSArIFwifVwiKSAvLyBpbmxpbmUgc3RhdGVtZW50XG4gIH0gZWxzZSB7XG4gICAgdmFyIGNvZGUgPSAnJztcbiAgICB2YXIgZ2VuTW9kaWZpZXJDb2RlID0gJyc7XG4gICAgdmFyIGtleXMgPSBbXTtcbiAgICBmb3IgKHZhciBrZXkgaW4gaGFuZGxlci5tb2RpZmllcnMpIHtcbiAgICAgIGlmIChtb2RpZmllckNvZGVba2V5XSkge1xuICAgICAgICBnZW5Nb2RpZmllckNvZGUgKz0gbW9kaWZpZXJDb2RlW2tleV07XG4gICAgICAgIC8vIGxlZnQvcmlnaHRcbiAgICAgICAgaWYgKGtleUNvZGVzW2tleV0pIHtcbiAgICAgICAgICBrZXlzLnB1c2goa2V5KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICdleGFjdCcpIHtcbiAgICAgICAgdmFyIG1vZGlmaWVycyA9IChoYW5kbGVyLm1vZGlmaWVycyk7XG4gICAgICAgIGdlbk1vZGlmaWVyQ29kZSArPSBnZW5HdWFyZChcbiAgICAgICAgICBbJ2N0cmwnLCAnc2hpZnQnLCAnYWx0JywgJ21ldGEnXVxuICAgICAgICAgICAgLmZpbHRlcihmdW5jdGlvbiAoa2V5TW9kaWZpZXIpIHsgcmV0dXJuICFtb2RpZmllcnNba2V5TW9kaWZpZXJdOyB9KVxuICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAoa2V5TW9kaWZpZXIpIHsgcmV0dXJuIChcIiRldmVudC5cIiArIGtleU1vZGlmaWVyICsgXCJLZXlcIik7IH0pXG4gICAgICAgICAgICAuam9pbignfHwnKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAga2V5cy5wdXNoKGtleSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChrZXlzLmxlbmd0aCkge1xuICAgICAgY29kZSArPSBnZW5LZXlGaWx0ZXIoa2V5cyk7XG4gICAgfVxuICAgIC8vIE1ha2Ugc3VyZSBtb2RpZmllcnMgbGlrZSBwcmV2ZW50IGFuZCBzdG9wIGdldCBleGVjdXRlZCBhZnRlciBrZXkgZmlsdGVyaW5nXG4gICAgaWYgKGdlbk1vZGlmaWVyQ29kZSkge1xuICAgICAgY29kZSArPSBnZW5Nb2RpZmllckNvZGU7XG4gICAgfVxuICAgIHZhciBoYW5kbGVyQ29kZSA9IGlzTWV0aG9kUGF0aFxuICAgICAgPyAoXCJyZXR1cm4gXCIgKyAoaGFuZGxlci52YWx1ZSkgKyBcIigkZXZlbnQpXCIpXG4gICAgICA6IGlzRnVuY3Rpb25FeHByZXNzaW9uXG4gICAgICAgID8gKFwicmV0dXJuIChcIiArIChoYW5kbGVyLnZhbHVlKSArIFwiKSgkZXZlbnQpXCIpXG4gICAgICAgIDogaXNGdW5jdGlvbkludm9jYXRpb25cbiAgICAgICAgICA/IChcInJldHVybiBcIiArIChoYW5kbGVyLnZhbHVlKSlcbiAgICAgICAgICA6IGhhbmRsZXIudmFsdWU7XG4gICAgcmV0dXJuIChcImZ1bmN0aW9uKCRldmVudCl7XCIgKyBjb2RlICsgaGFuZGxlckNvZGUgKyBcIn1cIilcbiAgfVxufVxuXG5mdW5jdGlvbiBnZW5LZXlGaWx0ZXIgKGtleXMpIHtcbiAgcmV0dXJuIChcbiAgICAvLyBtYWtlIHN1cmUgdGhlIGtleSBmaWx0ZXJzIG9ubHkgYXBwbHkgdG8gS2V5Ym9hcmRFdmVudHNcbiAgICAvLyAjOTQ0MTogY2FuJ3QgdXNlICdrZXlDb2RlJyBpbiAkZXZlbnQgYmVjYXVzZSBDaHJvbWUgYXV0b2ZpbGwgZmlyZXMgZmFrZVxuICAgIC8vIGtleSBldmVudHMgdGhhdCBkbyBub3QgaGF2ZSBrZXlDb2RlIHByb3BlcnR5Li4uXG4gICAgXCJpZighJGV2ZW50LnR5cGUuaW5kZXhPZigna2V5JykmJlwiICtcbiAgICAoa2V5cy5tYXAoZ2VuRmlsdGVyQ29kZSkuam9pbignJiYnKSkgKyBcIilyZXR1cm4gbnVsbDtcIlxuICApXG59XG5cbmZ1bmN0aW9uIGdlbkZpbHRlckNvZGUgKGtleSkge1xuICB2YXIga2V5VmFsID0gcGFyc2VJbnQoa2V5LCAxMCk7XG4gIGlmIChrZXlWYWwpIHtcbiAgICByZXR1cm4gKFwiJGV2ZW50LmtleUNvZGUhPT1cIiArIGtleVZhbClcbiAgfVxuICB2YXIga2V5Q29kZSA9IGtleUNvZGVzW2tleV07XG4gIHZhciBrZXlOYW1lID0ga2V5TmFtZXNba2V5XTtcbiAgcmV0dXJuIChcbiAgICBcIl9rKCRldmVudC5rZXlDb2RlLFwiICtcbiAgICAoSlNPTi5zdHJpbmdpZnkoa2V5KSkgKyBcIixcIiArXG4gICAgKEpTT04uc3RyaW5naWZ5KGtleUNvZGUpKSArIFwiLFwiICtcbiAgICBcIiRldmVudC5rZXksXCIgK1xuICAgIFwiXCIgKyAoSlNPTi5zdHJpbmdpZnkoa2V5TmFtZSkpICtcbiAgICBcIilcIlxuICApXG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBvbiAoZWwsIGRpcikge1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBkaXIubW9kaWZpZXJzKSB7XG4gICAgd2FybihcInYtb24gd2l0aG91dCBhcmd1bWVudCBkb2VzIG5vdCBzdXBwb3J0IG1vZGlmaWVycy5cIik7XG4gIH1cbiAgZWwud3JhcExpc3RlbmVycyA9IGZ1bmN0aW9uIChjb2RlKSB7IHJldHVybiAoXCJfZyhcIiArIGNvZGUgKyBcIixcIiArIChkaXIudmFsdWUpICsgXCIpXCIpOyB9O1xufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gYmluZCQxIChlbCwgZGlyKSB7XG4gIGVsLndyYXBEYXRhID0gZnVuY3Rpb24gKGNvZGUpIHtcbiAgICByZXR1cm4gKFwiX2IoXCIgKyBjb2RlICsgXCIsJ1wiICsgKGVsLnRhZykgKyBcIicsXCIgKyAoZGlyLnZhbHVlKSArIFwiLFwiICsgKGRpci5tb2RpZmllcnMgJiYgZGlyLm1vZGlmaWVycy5wcm9wID8gJ3RydWUnIDogJ2ZhbHNlJykgKyAoZGlyLm1vZGlmaWVycyAmJiBkaXIubW9kaWZpZXJzLnN5bmMgPyAnLHRydWUnIDogJycpICsgXCIpXCIpXG4gIH07XG59XG5cbi8qICAqL1xuXG52YXIgYmFzZURpcmVjdGl2ZXMgPSB7XG4gIG9uOiBvbixcbiAgYmluZDogYmluZCQxLFxuICBjbG9hazogbm9vcFxufTtcblxuLyogICovXG5cblxuXG5cblxudmFyIENvZGVnZW5TdGF0ZSA9IGZ1bmN0aW9uIENvZGVnZW5TdGF0ZSAob3B0aW9ucykge1xuICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICB0aGlzLndhcm4gPSBvcHRpb25zLndhcm4gfHwgYmFzZVdhcm47XG4gIHRoaXMudHJhbnNmb3JtcyA9IHBsdWNrTW9kdWxlRnVuY3Rpb24ob3B0aW9ucy5tb2R1bGVzLCAndHJhbnNmb3JtQ29kZScpO1xuICB0aGlzLmRhdGFHZW5GbnMgPSBwbHVja01vZHVsZUZ1bmN0aW9uKG9wdGlvbnMubW9kdWxlcywgJ2dlbkRhdGEnKTtcbiAgdGhpcy5kaXJlY3RpdmVzID0gZXh0ZW5kKGV4dGVuZCh7fSwgYmFzZURpcmVjdGl2ZXMpLCBvcHRpb25zLmRpcmVjdGl2ZXMpO1xuICB2YXIgaXNSZXNlcnZlZFRhZyA9IG9wdGlvbnMuaXNSZXNlcnZlZFRhZyB8fCBubztcbiAgdGhpcy5tYXliZUNvbXBvbmVudCA9IGZ1bmN0aW9uIChlbCkgeyByZXR1cm4gISFlbC5jb21wb25lbnQgfHwgIWlzUmVzZXJ2ZWRUYWcoZWwudGFnKTsgfTtcbiAgdGhpcy5vbmNlSWQgPSAwO1xuICB0aGlzLnN0YXRpY1JlbmRlckZucyA9IFtdO1xuICB0aGlzLnByZSA9IGZhbHNlO1xufTtcblxuXG5cbmZ1bmN0aW9uIGdlbmVyYXRlIChcbiAgYXN0LFxuICBvcHRpb25zXG4pIHtcbiAgdmFyIHN0YXRlID0gbmV3IENvZGVnZW5TdGF0ZShvcHRpb25zKTtcbiAgdmFyIGNvZGUgPSBhc3QgPyBnZW5FbGVtZW50KGFzdCwgc3RhdGUpIDogJ19jKFwiZGl2XCIpJztcbiAgcmV0dXJuIHtcbiAgICByZW5kZXI6IChcIndpdGgodGhpcyl7cmV0dXJuIFwiICsgY29kZSArIFwifVwiKSxcbiAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRlLnN0YXRpY1JlbmRlckZuc1xuICB9XG59XG5cbmZ1bmN0aW9uIGdlbkVsZW1lbnQgKGVsLCBzdGF0ZSkge1xuICBpZiAoZWwucGFyZW50KSB7XG4gICAgZWwucHJlID0gZWwucHJlIHx8IGVsLnBhcmVudC5wcmU7XG4gIH1cblxuICBpZiAoZWwuc3RhdGljUm9vdCAmJiAhZWwuc3RhdGljUHJvY2Vzc2VkKSB7XG4gICAgcmV0dXJuIGdlblN0YXRpYyhlbCwgc3RhdGUpXG4gIH0gZWxzZSBpZiAoZWwub25jZSAmJiAhZWwub25jZVByb2Nlc3NlZCkge1xuICAgIHJldHVybiBnZW5PbmNlKGVsLCBzdGF0ZSlcbiAgfSBlbHNlIGlmIChlbC5mb3IgJiYgIWVsLmZvclByb2Nlc3NlZCkge1xuICAgIHJldHVybiBnZW5Gb3IoZWwsIHN0YXRlKVxuICB9IGVsc2UgaWYgKGVsLmlmICYmICFlbC5pZlByb2Nlc3NlZCkge1xuICAgIHJldHVybiBnZW5JZihlbCwgc3RhdGUpXG4gIH0gZWxzZSBpZiAoZWwudGFnID09PSAndGVtcGxhdGUnICYmICFlbC5zbG90VGFyZ2V0ICYmICFzdGF0ZS5wcmUpIHtcbiAgICByZXR1cm4gZ2VuQ2hpbGRyZW4oZWwsIHN0YXRlKSB8fCAndm9pZCAwJ1xuICB9IGVsc2UgaWYgKGVsLnRhZyA9PT0gJ3Nsb3QnKSB7XG4gICAgcmV0dXJuIGdlblNsb3QoZWwsIHN0YXRlKVxuICB9IGVsc2Uge1xuICAgIC8vIGNvbXBvbmVudCBvciBlbGVtZW50XG4gICAgdmFyIGNvZGU7XG4gICAgaWYgKGVsLmNvbXBvbmVudCkge1xuICAgICAgY29kZSA9IGdlbkNvbXBvbmVudChlbC5jb21wb25lbnQsIGVsLCBzdGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBkYXRhO1xuICAgICAgaWYgKCFlbC5wbGFpbiB8fCAoZWwucHJlICYmIHN0YXRlLm1heWJlQ29tcG9uZW50KGVsKSkpIHtcbiAgICAgICAgZGF0YSA9IGdlbkRhdGEkMihlbCwgc3RhdGUpO1xuICAgICAgfVxuXG4gICAgICB2YXIgY2hpbGRyZW4gPSBlbC5pbmxpbmVUZW1wbGF0ZSA/IG51bGwgOiBnZW5DaGlsZHJlbihlbCwgc3RhdGUsIHRydWUpO1xuICAgICAgY29kZSA9IFwiX2MoJ1wiICsgKGVsLnRhZykgKyBcIidcIiArIChkYXRhID8gKFwiLFwiICsgZGF0YSkgOiAnJykgKyAoY2hpbGRyZW4gPyAoXCIsXCIgKyBjaGlsZHJlbikgOiAnJykgKyBcIilcIjtcbiAgICB9XG4gICAgLy8gbW9kdWxlIHRyYW5zZm9ybXNcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0YXRlLnRyYW5zZm9ybXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvZGUgPSBzdGF0ZS50cmFuc2Zvcm1zW2ldKGVsLCBjb2RlKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvZGVcbiAgfVxufVxuXG4vLyBob2lzdCBzdGF0aWMgc3ViLXRyZWVzIG91dFxuZnVuY3Rpb24gZ2VuU3RhdGljIChlbCwgc3RhdGUpIHtcbiAgZWwuc3RhdGljUHJvY2Vzc2VkID0gdHJ1ZTtcbiAgLy8gU29tZSBlbGVtZW50cyAodGVtcGxhdGVzKSBuZWVkIHRvIGJlaGF2ZSBkaWZmZXJlbnRseSBpbnNpZGUgb2YgYSB2LXByZVxuICAvLyBub2RlLiAgQWxsIHByZSBub2RlcyBhcmUgc3RhdGljIHJvb3RzLCBzbyB3ZSBjYW4gdXNlIHRoaXMgYXMgYSBsb2NhdGlvbiB0b1xuICAvLyB3cmFwIGEgc3RhdGUgY2hhbmdlIGFuZCByZXNldCBpdCB1cG9uIGV4aXRpbmcgdGhlIHByZSBub2RlLlxuICB2YXIgb3JpZ2luYWxQcmVTdGF0ZSA9IHN0YXRlLnByZTtcbiAgaWYgKGVsLnByZSkge1xuICAgIHN0YXRlLnByZSA9IGVsLnByZTtcbiAgfVxuICBzdGF0ZS5zdGF0aWNSZW5kZXJGbnMucHVzaCgoXCJ3aXRoKHRoaXMpe3JldHVybiBcIiArIChnZW5FbGVtZW50KGVsLCBzdGF0ZSkpICsgXCJ9XCIpKTtcbiAgc3RhdGUucHJlID0gb3JpZ2luYWxQcmVTdGF0ZTtcbiAgcmV0dXJuIChcIl9tKFwiICsgKHN0YXRlLnN0YXRpY1JlbmRlckZucy5sZW5ndGggLSAxKSArIChlbC5zdGF0aWNJbkZvciA/ICcsdHJ1ZScgOiAnJykgKyBcIilcIilcbn1cblxuLy8gdi1vbmNlXG5mdW5jdGlvbiBnZW5PbmNlIChlbCwgc3RhdGUpIHtcbiAgZWwub25jZVByb2Nlc3NlZCA9IHRydWU7XG4gIGlmIChlbC5pZiAmJiAhZWwuaWZQcm9jZXNzZWQpIHtcbiAgICByZXR1cm4gZ2VuSWYoZWwsIHN0YXRlKVxuICB9IGVsc2UgaWYgKGVsLnN0YXRpY0luRm9yKSB7XG4gICAgdmFyIGtleSA9ICcnO1xuICAgIHZhciBwYXJlbnQgPSBlbC5wYXJlbnQ7XG4gICAgd2hpbGUgKHBhcmVudCkge1xuICAgICAgaWYgKHBhcmVudC5mb3IpIHtcbiAgICAgICAga2V5ID0gcGFyZW50LmtleTtcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnQ7XG4gICAgfVxuICAgIGlmICgha2V5KSB7XG4gICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHN0YXRlLndhcm4oXG4gICAgICAgIFwidi1vbmNlIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIHYtZm9yIHRoYXQgaXMga2V5ZWQuIFwiLFxuICAgICAgICBlbC5yYXdBdHRyc01hcFsndi1vbmNlJ11cbiAgICAgICk7XG4gICAgICByZXR1cm4gZ2VuRWxlbWVudChlbCwgc3RhdGUpXG4gICAgfVxuICAgIHJldHVybiAoXCJfbyhcIiArIChnZW5FbGVtZW50KGVsLCBzdGF0ZSkpICsgXCIsXCIgKyAoc3RhdGUub25jZUlkKyspICsgXCIsXCIgKyBrZXkgKyBcIilcIilcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZ2VuU3RhdGljKGVsLCBzdGF0ZSlcbiAgfVxufVxuXG5mdW5jdGlvbiBnZW5JZiAoXG4gIGVsLFxuICBzdGF0ZSxcbiAgYWx0R2VuLFxuICBhbHRFbXB0eVxuKSB7XG4gIGVsLmlmUHJvY2Vzc2VkID0gdHJ1ZTsgLy8gYXZvaWQgcmVjdXJzaW9uXG4gIHJldHVybiBnZW5JZkNvbmRpdGlvbnMoZWwuaWZDb25kaXRpb25zLnNsaWNlKCksIHN0YXRlLCBhbHRHZW4sIGFsdEVtcHR5KVxufVxuXG5mdW5jdGlvbiBnZW5JZkNvbmRpdGlvbnMgKFxuICBjb25kaXRpb25zLFxuICBzdGF0ZSxcbiAgYWx0R2VuLFxuICBhbHRFbXB0eVxuKSB7XG4gIGlmICghY29uZGl0aW9ucy5sZW5ndGgpIHtcbiAgICByZXR1cm4gYWx0RW1wdHkgfHwgJ19lKCknXG4gIH1cblxuICB2YXIgY29uZGl0aW9uID0gY29uZGl0aW9ucy5zaGlmdCgpO1xuICBpZiAoY29uZGl0aW9uLmV4cCkge1xuICAgIHJldHVybiAoXCIoXCIgKyAoY29uZGl0aW9uLmV4cCkgKyBcIik/XCIgKyAoZ2VuVGVybmFyeUV4cChjb25kaXRpb24uYmxvY2spKSArIFwiOlwiICsgKGdlbklmQ29uZGl0aW9ucyhjb25kaXRpb25zLCBzdGF0ZSwgYWx0R2VuLCBhbHRFbXB0eSkpKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiAoXCJcIiArIChnZW5UZXJuYXJ5RXhwKGNvbmRpdGlvbi5ibG9jaykpKVxuICB9XG5cbiAgLy8gdi1pZiB3aXRoIHYtb25jZSBzaG91bGQgZ2VuZXJhdGUgY29kZSBsaWtlIChhKT9fbSgwKTpfbSgxKVxuICBmdW5jdGlvbiBnZW5UZXJuYXJ5RXhwIChlbCkge1xuICAgIHJldHVybiBhbHRHZW5cbiAgICAgID8gYWx0R2VuKGVsLCBzdGF0ZSlcbiAgICAgIDogZWwub25jZVxuICAgICAgICA/IGdlbk9uY2UoZWwsIHN0YXRlKVxuICAgICAgICA6IGdlbkVsZW1lbnQoZWwsIHN0YXRlKVxuICB9XG59XG5cbmZ1bmN0aW9uIGdlbkZvciAoXG4gIGVsLFxuICBzdGF0ZSxcbiAgYWx0R2VuLFxuICBhbHRIZWxwZXJcbikge1xuICB2YXIgZXhwID0gZWwuZm9yO1xuICB2YXIgYWxpYXMgPSBlbC5hbGlhcztcbiAgdmFyIGl0ZXJhdG9yMSA9IGVsLml0ZXJhdG9yMSA/IChcIixcIiArIChlbC5pdGVyYXRvcjEpKSA6ICcnO1xuICB2YXIgaXRlcmF0b3IyID0gZWwuaXRlcmF0b3IyID8gKFwiLFwiICsgKGVsLml0ZXJhdG9yMikpIDogJyc7XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICBzdGF0ZS5tYXliZUNvbXBvbmVudChlbCkgJiZcbiAgICBlbC50YWcgIT09ICdzbG90JyAmJlxuICAgIGVsLnRhZyAhPT0gJ3RlbXBsYXRlJyAmJlxuICAgICFlbC5rZXlcbiAgKSB7XG4gICAgc3RhdGUud2FybihcbiAgICAgIFwiPFwiICsgKGVsLnRhZykgKyBcIiB2LWZvcj1cXFwiXCIgKyBhbGlhcyArIFwiIGluIFwiICsgZXhwICsgXCJcXFwiPjogY29tcG9uZW50IGxpc3RzIHJlbmRlcmVkIHdpdGggXCIgK1xuICAgICAgXCJ2LWZvciBzaG91bGQgaGF2ZSBleHBsaWNpdCBrZXlzLiBcIiArXG4gICAgICBcIlNlZSBodHRwczovL3Z1ZWpzLm9yZy9ndWlkZS9saXN0Lmh0bWwja2V5IGZvciBtb3JlIGluZm8uXCIsXG4gICAgICBlbC5yYXdBdHRyc01hcFsndi1mb3InXSxcbiAgICAgIHRydWUgLyogdGlwICovXG4gICAgKTtcbiAgfVxuXG4gIGVsLmZvclByb2Nlc3NlZCA9IHRydWU7IC8vIGF2b2lkIHJlY3Vyc2lvblxuICByZXR1cm4gKGFsdEhlbHBlciB8fCAnX2wnKSArIFwiKChcIiArIGV4cCArIFwiKSxcIiArXG4gICAgXCJmdW5jdGlvbihcIiArIGFsaWFzICsgaXRlcmF0b3IxICsgaXRlcmF0b3IyICsgXCIpe1wiICtcbiAgICAgIFwicmV0dXJuIFwiICsgKChhbHRHZW4gfHwgZ2VuRWxlbWVudCkoZWwsIHN0YXRlKSkgK1xuICAgICd9KSdcbn1cblxuZnVuY3Rpb24gZ2VuRGF0YSQyIChlbCwgc3RhdGUpIHtcbiAgdmFyIGRhdGEgPSAneyc7XG5cbiAgLy8gZGlyZWN0aXZlcyBmaXJzdC5cbiAgLy8gZGlyZWN0aXZlcyBtYXkgbXV0YXRlIHRoZSBlbCdzIG90aGVyIHByb3BlcnRpZXMgYmVmb3JlIHRoZXkgYXJlIGdlbmVyYXRlZC5cbiAgdmFyIGRpcnMgPSBnZW5EaXJlY3RpdmVzKGVsLCBzdGF0ZSk7XG4gIGlmIChkaXJzKSB7IGRhdGEgKz0gZGlycyArICcsJzsgfVxuXG4gIC8vIGtleVxuICBpZiAoZWwua2V5KSB7XG4gICAgZGF0YSArPSBcImtleTpcIiArIChlbC5rZXkpICsgXCIsXCI7XG4gIH1cbiAgLy8gcmVmXG4gIGlmIChlbC5yZWYpIHtcbiAgICBkYXRhICs9IFwicmVmOlwiICsgKGVsLnJlZikgKyBcIixcIjtcbiAgfVxuICBpZiAoZWwucmVmSW5Gb3IpIHtcbiAgICBkYXRhICs9IFwicmVmSW5Gb3I6dHJ1ZSxcIjtcbiAgfVxuICAvLyBwcmVcbiAgaWYgKGVsLnByZSkge1xuICAgIGRhdGEgKz0gXCJwcmU6dHJ1ZSxcIjtcbiAgfVxuICAvLyByZWNvcmQgb3JpZ2luYWwgdGFnIG5hbWUgZm9yIGNvbXBvbmVudHMgdXNpbmcgXCJpc1wiIGF0dHJpYnV0ZVxuICBpZiAoZWwuY29tcG9uZW50KSB7XG4gICAgZGF0YSArPSBcInRhZzpcXFwiXCIgKyAoZWwudGFnKSArIFwiXFxcIixcIjtcbiAgfVxuICAvLyBtb2R1bGUgZGF0YSBnZW5lcmF0aW9uIGZ1bmN0aW9uc1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0YXRlLmRhdGFHZW5GbnMubGVuZ3RoOyBpKyspIHtcbiAgICBkYXRhICs9IHN0YXRlLmRhdGFHZW5GbnNbaV0oZWwpO1xuICB9XG4gIC8vIGF0dHJpYnV0ZXNcbiAgaWYgKGVsLmF0dHJzKSB7XG4gICAgZGF0YSArPSBcImF0dHJzOlwiICsgKGdlblByb3BzKGVsLmF0dHJzKSkgKyBcIixcIjtcbiAgfVxuICAvLyBET00gcHJvcHNcbiAgaWYgKGVsLnByb3BzKSB7XG4gICAgZGF0YSArPSBcImRvbVByb3BzOlwiICsgKGdlblByb3BzKGVsLnByb3BzKSkgKyBcIixcIjtcbiAgfVxuICAvLyBldmVudCBoYW5kbGVyc1xuICBpZiAoZWwuZXZlbnRzKSB7XG4gICAgZGF0YSArPSAoZ2VuSGFuZGxlcnMoZWwuZXZlbnRzLCBmYWxzZSkpICsgXCIsXCI7XG4gIH1cbiAgaWYgKGVsLm5hdGl2ZUV2ZW50cykge1xuICAgIGRhdGEgKz0gKGdlbkhhbmRsZXJzKGVsLm5hdGl2ZUV2ZW50cywgdHJ1ZSkpICsgXCIsXCI7XG4gIH1cbiAgLy8gc2xvdCB0YXJnZXRcbiAgLy8gb25seSBmb3Igbm9uLXNjb3BlZCBzbG90c1xuICBpZiAoZWwuc2xvdFRhcmdldCAmJiAhZWwuc2xvdFNjb3BlKSB7XG4gICAgZGF0YSArPSBcInNsb3Q6XCIgKyAoZWwuc2xvdFRhcmdldCkgKyBcIixcIjtcbiAgfVxuICAvLyBzY29wZWQgc2xvdHNcbiAgaWYgKGVsLnNjb3BlZFNsb3RzKSB7XG4gICAgZGF0YSArPSAoZ2VuU2NvcGVkU2xvdHMoZWwsIGVsLnNjb3BlZFNsb3RzLCBzdGF0ZSkpICsgXCIsXCI7XG4gIH1cbiAgLy8gY29tcG9uZW50IHYtbW9kZWxcbiAgaWYgKGVsLm1vZGVsKSB7XG4gICAgZGF0YSArPSBcIm1vZGVsOnt2YWx1ZTpcIiArIChlbC5tb2RlbC52YWx1ZSkgKyBcIixjYWxsYmFjazpcIiArIChlbC5tb2RlbC5jYWxsYmFjaykgKyBcIixleHByZXNzaW9uOlwiICsgKGVsLm1vZGVsLmV4cHJlc3Npb24pICsgXCJ9LFwiO1xuICB9XG4gIC8vIGlubGluZS10ZW1wbGF0ZVxuICBpZiAoZWwuaW5saW5lVGVtcGxhdGUpIHtcbiAgICB2YXIgaW5saW5lVGVtcGxhdGUgPSBnZW5JbmxpbmVUZW1wbGF0ZShlbCwgc3RhdGUpO1xuICAgIGlmIChpbmxpbmVUZW1wbGF0ZSkge1xuICAgICAgZGF0YSArPSBpbmxpbmVUZW1wbGF0ZSArIFwiLFwiO1xuICAgIH1cbiAgfVxuICBkYXRhID0gZGF0YS5yZXBsYWNlKC8sJC8sICcnKSArICd9JztcbiAgLy8gdi1iaW5kIGR5bmFtaWMgYXJndW1lbnQgd3JhcFxuICAvLyB2LWJpbmQgd2l0aCBkeW5hbWljIGFyZ3VtZW50cyBtdXN0IGJlIGFwcGxpZWQgdXNpbmcgdGhlIHNhbWUgdi1iaW5kIG9iamVjdFxuICAvLyBtZXJnZSBoZWxwZXIgc28gdGhhdCBjbGFzcy9zdHlsZS9tdXN0VXNlUHJvcCBhdHRycyBhcmUgaGFuZGxlZCBjb3JyZWN0bHkuXG4gIGlmIChlbC5keW5hbWljQXR0cnMpIHtcbiAgICBkYXRhID0gXCJfYihcIiArIGRhdGEgKyBcIixcXFwiXCIgKyAoZWwudGFnKSArIFwiXFxcIixcIiArIChnZW5Qcm9wcyhlbC5keW5hbWljQXR0cnMpKSArIFwiKVwiO1xuICB9XG4gIC8vIHYtYmluZCBkYXRhIHdyYXBcbiAgaWYgKGVsLndyYXBEYXRhKSB7XG4gICAgZGF0YSA9IGVsLndyYXBEYXRhKGRhdGEpO1xuICB9XG4gIC8vIHYtb24gZGF0YSB3cmFwXG4gIGlmIChlbC53cmFwTGlzdGVuZXJzKSB7XG4gICAgZGF0YSA9IGVsLndyYXBMaXN0ZW5lcnMoZGF0YSk7XG4gIH1cbiAgcmV0dXJuIGRhdGFcbn1cblxuZnVuY3Rpb24gZ2VuRGlyZWN0aXZlcyAoZWwsIHN0YXRlKSB7XG4gIHZhciBkaXJzID0gZWwuZGlyZWN0aXZlcztcbiAgaWYgKCFkaXJzKSB7IHJldHVybiB9XG4gIHZhciByZXMgPSAnZGlyZWN0aXZlczpbJztcbiAgdmFyIGhhc1J1bnRpbWUgPSBmYWxzZTtcbiAgdmFyIGksIGwsIGRpciwgbmVlZFJ1bnRpbWU7XG4gIGZvciAoaSA9IDAsIGwgPSBkaXJzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIGRpciA9IGRpcnNbaV07XG4gICAgbmVlZFJ1bnRpbWUgPSB0cnVlO1xuICAgIHZhciBnZW4gPSBzdGF0ZS5kaXJlY3RpdmVzW2Rpci5uYW1lXTtcbiAgICBpZiAoZ2VuKSB7XG4gICAgICAvLyBjb21waWxlLXRpbWUgZGlyZWN0aXZlIHRoYXQgbWFuaXB1bGF0ZXMgQVNULlxuICAgICAgLy8gcmV0dXJucyB0cnVlIGlmIGl0IGFsc28gbmVlZHMgYSBydW50aW1lIGNvdW50ZXJwYXJ0LlxuICAgICAgbmVlZFJ1bnRpbWUgPSAhIWdlbihlbCwgZGlyLCBzdGF0ZS53YXJuKTtcbiAgICB9XG4gICAgaWYgKG5lZWRSdW50aW1lKSB7XG4gICAgICBoYXNSdW50aW1lID0gdHJ1ZTtcbiAgICAgIHJlcyArPSBcIntuYW1lOlxcXCJcIiArIChkaXIubmFtZSkgKyBcIlxcXCIscmF3TmFtZTpcXFwiXCIgKyAoZGlyLnJhd05hbWUpICsgXCJcXFwiXCIgKyAoZGlyLnZhbHVlID8gKFwiLHZhbHVlOihcIiArIChkaXIudmFsdWUpICsgXCIpLGV4cHJlc3Npb246XCIgKyAoSlNPTi5zdHJpbmdpZnkoZGlyLnZhbHVlKSkpIDogJycpICsgKGRpci5hcmcgPyAoXCIsYXJnOlwiICsgKGRpci5pc0R5bmFtaWNBcmcgPyBkaXIuYXJnIDogKFwiXFxcIlwiICsgKGRpci5hcmcpICsgXCJcXFwiXCIpKSkgOiAnJykgKyAoZGlyLm1vZGlmaWVycyA/IChcIixtb2RpZmllcnM6XCIgKyAoSlNPTi5zdHJpbmdpZnkoZGlyLm1vZGlmaWVycykpKSA6ICcnKSArIFwifSxcIjtcbiAgICB9XG4gIH1cbiAgaWYgKGhhc1J1bnRpbWUpIHtcbiAgICByZXR1cm4gcmVzLnNsaWNlKDAsIC0xKSArICddJ1xuICB9XG59XG5cbmZ1bmN0aW9uIGdlbklubGluZVRlbXBsYXRlIChlbCwgc3RhdGUpIHtcbiAgdmFyIGFzdCA9IGVsLmNoaWxkcmVuWzBdO1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAoXG4gICAgZWwuY2hpbGRyZW4ubGVuZ3RoICE9PSAxIHx8IGFzdC50eXBlICE9PSAxXG4gICkpIHtcbiAgICBzdGF0ZS53YXJuKFxuICAgICAgJ0lubGluZS10ZW1wbGF0ZSBjb21wb25lbnRzIG11c3QgaGF2ZSBleGFjdGx5IG9uZSBjaGlsZCBlbGVtZW50LicsXG4gICAgICB7IHN0YXJ0OiBlbC5zdGFydCB9XG4gICAgKTtcbiAgfVxuICBpZiAoYXN0ICYmIGFzdC50eXBlID09PSAxKSB7XG4gICAgdmFyIGlubGluZVJlbmRlckZucyA9IGdlbmVyYXRlKGFzdCwgc3RhdGUub3B0aW9ucyk7XG4gICAgcmV0dXJuIChcImlubGluZVRlbXBsYXRlOntyZW5kZXI6ZnVuY3Rpb24oKXtcIiArIChpbmxpbmVSZW5kZXJGbnMucmVuZGVyKSArIFwifSxzdGF0aWNSZW5kZXJGbnM6W1wiICsgKGlubGluZVJlbmRlckZucy5zdGF0aWNSZW5kZXJGbnMubWFwKGZ1bmN0aW9uIChjb2RlKSB7IHJldHVybiAoXCJmdW5jdGlvbigpe1wiICsgY29kZSArIFwifVwiKTsgfSkuam9pbignLCcpKSArIFwiXX1cIilcbiAgfVxufVxuXG5mdW5jdGlvbiBnZW5TY29wZWRTbG90cyAoXG4gIGVsLFxuICBzbG90cyxcbiAgc3RhdGVcbikge1xuICAvLyBieSBkZWZhdWx0IHNjb3BlZCBzbG90cyBhcmUgY29uc2lkZXJlZCBcInN0YWJsZVwiLCB0aGlzIGFsbG93cyBjaGlsZFxuICAvLyBjb21wb25lbnRzIHdpdGggb25seSBzY29wZWQgc2xvdHMgdG8gc2tpcCBmb3JjZWQgdXBkYXRlcyBmcm9tIHBhcmVudC5cbiAgLy8gYnV0IGluIHNvbWUgY2FzZXMgd2UgaGF2ZSB0byBiYWlsLW91dCBvZiB0aGlzIG9wdGltaXphdGlvblxuICAvLyBmb3IgZXhhbXBsZSBpZiB0aGUgc2xvdCBjb250YWlucyBkeW5hbWljIG5hbWVzLCBoYXMgdi1pZiBvciB2LWZvciBvbiB0aGVtLi4uXG4gIHZhciBuZWVkc0ZvcmNlVXBkYXRlID0gZWwuZm9yIHx8IE9iamVjdC5rZXlzKHNsb3RzKS5zb21lKGZ1bmN0aW9uIChrZXkpIHtcbiAgICB2YXIgc2xvdCA9IHNsb3RzW2tleV07XG4gICAgcmV0dXJuIChcbiAgICAgIHNsb3Quc2xvdFRhcmdldER5bmFtaWMgfHxcbiAgICAgIHNsb3QuaWYgfHxcbiAgICAgIHNsb3QuZm9yIHx8XG4gICAgICBjb250YWluc1Nsb3RDaGlsZChzbG90KSAvLyBpcyBwYXNzaW5nIGRvd24gc2xvdCBmcm9tIHBhcmVudCB3aGljaCBtYXkgYmUgZHluYW1pY1xuICAgIClcbiAgfSk7XG5cbiAgLy8gIzk1MzQ6IGlmIGEgY29tcG9uZW50IHdpdGggc2NvcGVkIHNsb3RzIGlzIGluc2lkZSBhIGNvbmRpdGlvbmFsIGJyYW5jaCxcbiAgLy8gaXQncyBwb3NzaWJsZSBmb3IgdGhlIHNhbWUgY29tcG9uZW50IHRvIGJlIHJldXNlZCBidXQgd2l0aCBkaWZmZXJlbnRcbiAgLy8gY29tcGlsZWQgc2xvdCBjb250ZW50LiBUbyBhdm9pZCB0aGF0LCB3ZSBnZW5lcmF0ZSBhIHVuaXF1ZSBrZXkgYmFzZWQgb25cbiAgLy8gdGhlIGdlbmVyYXRlZCBjb2RlIG9mIGFsbCB0aGUgc2xvdCBjb250ZW50cy5cbiAgdmFyIG5lZWRzS2V5ID0gISFlbC5pZjtcblxuICAvLyBPUiB3aGVuIGl0IGlzIGluc2lkZSBhbm90aGVyIHNjb3BlZCBzbG90IG9yIHYtZm9yICh0aGUgcmVhY3Rpdml0eSBtYXkgYmVcbiAgLy8gZGlzY29ubmVjdGVkIGR1ZSB0byB0aGUgaW50ZXJtZWRpYXRlIHNjb3BlIHZhcmlhYmxlKVxuICAvLyAjOTQzOCwgIzk1MDZcbiAgLy8gVE9ETzogdGhpcyBjYW4gYmUgZnVydGhlciBvcHRpbWl6ZWQgYnkgcHJvcGVybHkgYW5hbHl6aW5nIGluLXNjb3BlIGJpbmRpbmdzXG4gIC8vIGFuZCBza2lwIGZvcmNlIHVwZGF0aW5nIG9uZXMgdGhhdCBkbyBub3QgYWN0dWFsbHkgdXNlIHNjb3BlIHZhcmlhYmxlcy5cbiAgaWYgKCFuZWVkc0ZvcmNlVXBkYXRlKSB7XG4gICAgdmFyIHBhcmVudCA9IGVsLnBhcmVudDtcbiAgICB3aGlsZSAocGFyZW50KSB7XG4gICAgICBpZiAoXG4gICAgICAgIChwYXJlbnQuc2xvdFNjb3BlICYmIHBhcmVudC5zbG90U2NvcGUgIT09IGVtcHR5U2xvdFNjb3BlVG9rZW4pIHx8XG4gICAgICAgIHBhcmVudC5mb3JcbiAgICAgICkge1xuICAgICAgICBuZWVkc0ZvcmNlVXBkYXRlID0gdHJ1ZTtcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGlmIChwYXJlbnQuaWYpIHtcbiAgICAgICAgbmVlZHNLZXkgPSB0cnVlO1xuICAgICAgfVxuICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudDtcbiAgICB9XG4gIH1cblxuICB2YXIgZ2VuZXJhdGVkU2xvdHMgPSBPYmplY3Qua2V5cyhzbG90cylcbiAgICAubWFwKGZ1bmN0aW9uIChrZXkpIHsgcmV0dXJuIGdlblNjb3BlZFNsb3Qoc2xvdHNba2V5XSwgc3RhdGUpOyB9KVxuICAgIC5qb2luKCcsJyk7XG5cbiAgcmV0dXJuIChcInNjb3BlZFNsb3RzOl91KFtcIiArIGdlbmVyYXRlZFNsb3RzICsgXCJdXCIgKyAobmVlZHNGb3JjZVVwZGF0ZSA/IFwiLG51bGwsdHJ1ZVwiIDogXCJcIikgKyAoIW5lZWRzRm9yY2VVcGRhdGUgJiYgbmVlZHNLZXkgPyAoXCIsbnVsbCxmYWxzZSxcIiArIChoYXNoKGdlbmVyYXRlZFNsb3RzKSkpIDogXCJcIikgKyBcIilcIilcbn1cblxuZnVuY3Rpb24gaGFzaChzdHIpIHtcbiAgdmFyIGhhc2ggPSA1MzgxO1xuICB2YXIgaSA9IHN0ci5sZW5ndGg7XG4gIHdoaWxlKGkpIHtcbiAgICBoYXNoID0gKGhhc2ggKiAzMykgXiBzdHIuY2hhckNvZGVBdCgtLWkpO1xuICB9XG4gIHJldHVybiBoYXNoID4+PiAwXG59XG5cbmZ1bmN0aW9uIGNvbnRhaW5zU2xvdENoaWxkIChlbCkge1xuICBpZiAoZWwudHlwZSA9PT0gMSkge1xuICAgIGlmIChlbC50YWcgPT09ICdzbG90Jykge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgcmV0dXJuIGVsLmNoaWxkcmVuLnNvbWUoY29udGFpbnNTbG90Q2hpbGQpXG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmZ1bmN0aW9uIGdlblNjb3BlZFNsb3QgKFxuICBlbCxcbiAgc3RhdGVcbikge1xuICB2YXIgaXNMZWdhY3lTeW50YXggPSBlbC5hdHRyc01hcFsnc2xvdC1zY29wZSddO1xuICBpZiAoZWwuaWYgJiYgIWVsLmlmUHJvY2Vzc2VkICYmICFpc0xlZ2FjeVN5bnRheCkge1xuICAgIHJldHVybiBnZW5JZihlbCwgc3RhdGUsIGdlblNjb3BlZFNsb3QsIFwibnVsbFwiKVxuICB9XG4gIGlmIChlbC5mb3IgJiYgIWVsLmZvclByb2Nlc3NlZCkge1xuICAgIHJldHVybiBnZW5Gb3IoZWwsIHN0YXRlLCBnZW5TY29wZWRTbG90KVxuICB9XG4gIHZhciBzbG90U2NvcGUgPSBlbC5zbG90U2NvcGUgPT09IGVtcHR5U2xvdFNjb3BlVG9rZW5cbiAgICA/IFwiXCJcbiAgICA6IFN0cmluZyhlbC5zbG90U2NvcGUpO1xuICB2YXIgZm4gPSBcImZ1bmN0aW9uKFwiICsgc2xvdFNjb3BlICsgXCIpe1wiICtcbiAgICBcInJldHVybiBcIiArIChlbC50YWcgPT09ICd0ZW1wbGF0ZSdcbiAgICAgID8gZWwuaWYgJiYgaXNMZWdhY3lTeW50YXhcbiAgICAgICAgPyAoXCIoXCIgKyAoZWwuaWYpICsgXCIpP1wiICsgKGdlbkNoaWxkcmVuKGVsLCBzdGF0ZSkgfHwgJ3VuZGVmaW5lZCcpICsgXCI6dW5kZWZpbmVkXCIpXG4gICAgICAgIDogZ2VuQ2hpbGRyZW4oZWwsIHN0YXRlKSB8fCAndW5kZWZpbmVkJ1xuICAgICAgOiBnZW5FbGVtZW50KGVsLCBzdGF0ZSkpICsgXCJ9XCI7XG4gIC8vIHJldmVyc2UgcHJveHkgdi1zbG90IHdpdGhvdXQgc2NvcGUgb24gdGhpcy4kc2xvdHNcbiAgdmFyIHJldmVyc2VQcm94eSA9IHNsb3RTY29wZSA/IFwiXCIgOiBcIixwcm94eTp0cnVlXCI7XG4gIHJldHVybiAoXCJ7a2V5OlwiICsgKGVsLnNsb3RUYXJnZXQgfHwgXCJcXFwiZGVmYXVsdFxcXCJcIikgKyBcIixmbjpcIiArIGZuICsgcmV2ZXJzZVByb3h5ICsgXCJ9XCIpXG59XG5cbmZ1bmN0aW9uIGdlbkNoaWxkcmVuIChcbiAgZWwsXG4gIHN0YXRlLFxuICBjaGVja1NraXAsXG4gIGFsdEdlbkVsZW1lbnQsXG4gIGFsdEdlbk5vZGVcbikge1xuICB2YXIgY2hpbGRyZW4gPSBlbC5jaGlsZHJlbjtcbiAgaWYgKGNoaWxkcmVuLmxlbmd0aCkge1xuICAgIHZhciBlbCQxID0gY2hpbGRyZW5bMF07XG4gICAgLy8gb3B0aW1pemUgc2luZ2xlIHYtZm9yXG4gICAgaWYgKGNoaWxkcmVuLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgZWwkMS5mb3IgJiZcbiAgICAgIGVsJDEudGFnICE9PSAndGVtcGxhdGUnICYmXG4gICAgICBlbCQxLnRhZyAhPT0gJ3Nsb3QnXG4gICAgKSB7XG4gICAgICB2YXIgbm9ybWFsaXphdGlvblR5cGUgPSBjaGVja1NraXBcbiAgICAgICAgPyBzdGF0ZS5tYXliZUNvbXBvbmVudChlbCQxKSA/IFwiLDFcIiA6IFwiLDBcIlxuICAgICAgICA6IFwiXCI7XG4gICAgICByZXR1cm4gKFwiXCIgKyAoKGFsdEdlbkVsZW1lbnQgfHwgZ2VuRWxlbWVudCkoZWwkMSwgc3RhdGUpKSArIG5vcm1hbGl6YXRpb25UeXBlKVxuICAgIH1cbiAgICB2YXIgbm9ybWFsaXphdGlvblR5cGUkMSA9IGNoZWNrU2tpcFxuICAgICAgPyBnZXROb3JtYWxpemF0aW9uVHlwZShjaGlsZHJlbiwgc3RhdGUubWF5YmVDb21wb25lbnQpXG4gICAgICA6IDA7XG4gICAgdmFyIGdlbiA9IGFsdEdlbk5vZGUgfHwgZ2VuTm9kZTtcbiAgICByZXR1cm4gKFwiW1wiICsgKGNoaWxkcmVuLm1hcChmdW5jdGlvbiAoYykgeyByZXR1cm4gZ2VuKGMsIHN0YXRlKTsgfSkuam9pbignLCcpKSArIFwiXVwiICsgKG5vcm1hbGl6YXRpb25UeXBlJDEgPyAoXCIsXCIgKyBub3JtYWxpemF0aW9uVHlwZSQxKSA6ICcnKSlcbiAgfVxufVxuXG4vLyBkZXRlcm1pbmUgdGhlIG5vcm1hbGl6YXRpb24gbmVlZGVkIGZvciB0aGUgY2hpbGRyZW4gYXJyYXkuXG4vLyAwOiBubyBub3JtYWxpemF0aW9uIG5lZWRlZFxuLy8gMTogc2ltcGxlIG5vcm1hbGl6YXRpb24gbmVlZGVkIChwb3NzaWJsZSAxLWxldmVsIGRlZXAgbmVzdGVkIGFycmF5KVxuLy8gMjogZnVsbCBub3JtYWxpemF0aW9uIG5lZWRlZFxuZnVuY3Rpb24gZ2V0Tm9ybWFsaXphdGlvblR5cGUgKFxuICBjaGlsZHJlbixcbiAgbWF5YmVDb21wb25lbnRcbikge1xuICB2YXIgcmVzID0gMDtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgIHZhciBlbCA9IGNoaWxkcmVuW2ldO1xuICAgIGlmIChlbC50eXBlICE9PSAxKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBpZiAobmVlZHNOb3JtYWxpemF0aW9uKGVsKSB8fFxuICAgICAgICAoZWwuaWZDb25kaXRpb25zICYmIGVsLmlmQ29uZGl0aW9ucy5zb21lKGZ1bmN0aW9uIChjKSB7IHJldHVybiBuZWVkc05vcm1hbGl6YXRpb24oYy5ibG9jayk7IH0pKSkge1xuICAgICAgcmVzID0gMjtcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIGlmIChtYXliZUNvbXBvbmVudChlbCkgfHxcbiAgICAgICAgKGVsLmlmQ29uZGl0aW9ucyAmJiBlbC5pZkNvbmRpdGlvbnMuc29tZShmdW5jdGlvbiAoYykgeyByZXR1cm4gbWF5YmVDb21wb25lbnQoYy5ibG9jayk7IH0pKSkge1xuICAgICAgcmVzID0gMTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG5mdW5jdGlvbiBuZWVkc05vcm1hbGl6YXRpb24gKGVsKSB7XG4gIHJldHVybiBlbC5mb3IgIT09IHVuZGVmaW5lZCB8fCBlbC50YWcgPT09ICd0ZW1wbGF0ZScgfHwgZWwudGFnID09PSAnc2xvdCdcbn1cblxuZnVuY3Rpb24gZ2VuTm9kZSAobm9kZSwgc3RhdGUpIHtcbiAgaWYgKG5vZGUudHlwZSA9PT0gMSkge1xuICAgIHJldHVybiBnZW5FbGVtZW50KG5vZGUsIHN0YXRlKVxuICB9IGVsc2UgaWYgKG5vZGUudHlwZSA9PT0gMyAmJiBub2RlLmlzQ29tbWVudCkge1xuICAgIHJldHVybiBnZW5Db21tZW50KG5vZGUpXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGdlblRleHQobm9kZSlcbiAgfVxufVxuXG5mdW5jdGlvbiBnZW5UZXh0ICh0ZXh0KSB7XG4gIHJldHVybiAoXCJfdihcIiArICh0ZXh0LnR5cGUgPT09IDJcbiAgICA/IHRleHQuZXhwcmVzc2lvbiAvLyBubyBuZWVkIGZvciAoKSBiZWNhdXNlIGFscmVhZHkgd3JhcHBlZCBpbiBfcygpXG4gICAgOiB0cmFuc2Zvcm1TcGVjaWFsTmV3bGluZXMoSlNPTi5zdHJpbmdpZnkodGV4dC50ZXh0KSkpICsgXCIpXCIpXG59XG5cbmZ1bmN0aW9uIGdlbkNvbW1lbnQgKGNvbW1lbnQpIHtcbiAgcmV0dXJuIChcIl9lKFwiICsgKEpTT04uc3RyaW5naWZ5KGNvbW1lbnQudGV4dCkpICsgXCIpXCIpXG59XG5cbmZ1bmN0aW9uIGdlblNsb3QgKGVsLCBzdGF0ZSkge1xuICB2YXIgc2xvdE5hbWUgPSBlbC5zbG90TmFtZSB8fCAnXCJkZWZhdWx0XCInO1xuICB2YXIgY2hpbGRyZW4gPSBnZW5DaGlsZHJlbihlbCwgc3RhdGUpO1xuICB2YXIgcmVzID0gXCJfdChcIiArIHNsb3ROYW1lICsgKGNoaWxkcmVuID8gKFwiLFwiICsgY2hpbGRyZW4pIDogJycpO1xuICB2YXIgYXR0cnMgPSBlbC5hdHRycyB8fCBlbC5keW5hbWljQXR0cnNcbiAgICA/IGdlblByb3BzKChlbC5hdHRycyB8fCBbXSkuY29uY2F0KGVsLmR5bmFtaWNBdHRycyB8fCBbXSkubWFwKGZ1bmN0aW9uIChhdHRyKSB7IHJldHVybiAoe1xuICAgICAgICAvLyBzbG90IHByb3BzIGFyZSBjYW1lbGl6ZWRcbiAgICAgICAgbmFtZTogY2FtZWxpemUoYXR0ci5uYW1lKSxcbiAgICAgICAgdmFsdWU6IGF0dHIudmFsdWUsXG4gICAgICAgIGR5bmFtaWM6IGF0dHIuZHluYW1pY1xuICAgICAgfSk7IH0pKVxuICAgIDogbnVsbDtcbiAgdmFyIGJpbmQkJDEgPSBlbC5hdHRyc01hcFsndi1iaW5kJ107XG4gIGlmICgoYXR0cnMgfHwgYmluZCQkMSkgJiYgIWNoaWxkcmVuKSB7XG4gICAgcmVzICs9IFwiLG51bGxcIjtcbiAgfVxuICBpZiAoYXR0cnMpIHtcbiAgICByZXMgKz0gXCIsXCIgKyBhdHRycztcbiAgfVxuICBpZiAoYmluZCQkMSkge1xuICAgIHJlcyArPSAoYXR0cnMgPyAnJyA6ICcsbnVsbCcpICsgXCIsXCIgKyBiaW5kJCQxO1xuICB9XG4gIHJldHVybiByZXMgKyAnKSdcbn1cblxuLy8gY29tcG9uZW50TmFtZSBpcyBlbC5jb21wb25lbnQsIHRha2UgaXQgYXMgYXJndW1lbnQgdG8gc2h1biBmbG93J3MgcGVzc2ltaXN0aWMgcmVmaW5lbWVudFxuZnVuY3Rpb24gZ2VuQ29tcG9uZW50IChcbiAgY29tcG9uZW50TmFtZSxcbiAgZWwsXG4gIHN0YXRlXG4pIHtcbiAgdmFyIGNoaWxkcmVuID0gZWwuaW5saW5lVGVtcGxhdGUgPyBudWxsIDogZ2VuQ2hpbGRyZW4oZWwsIHN0YXRlLCB0cnVlKTtcbiAgcmV0dXJuIChcIl9jKFwiICsgY29tcG9uZW50TmFtZSArIFwiLFwiICsgKGdlbkRhdGEkMihlbCwgc3RhdGUpKSArIChjaGlsZHJlbiA/IChcIixcIiArIGNoaWxkcmVuKSA6ICcnKSArIFwiKVwiKVxufVxuXG5mdW5jdGlvbiBnZW5Qcm9wcyAocHJvcHMpIHtcbiAgdmFyIHN0YXRpY1Byb3BzID0gXCJcIjtcbiAgdmFyIGR5bmFtaWNQcm9wcyA9IFwiXCI7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgcHJvcCA9IHByb3BzW2ldO1xuICAgIHZhciB2YWx1ZSA9IHRyYW5zZm9ybVNwZWNpYWxOZXdsaW5lcyhwcm9wLnZhbHVlKTtcbiAgICBpZiAocHJvcC5keW5hbWljKSB7XG4gICAgICBkeW5hbWljUHJvcHMgKz0gKHByb3AubmFtZSkgKyBcIixcIiArIHZhbHVlICsgXCIsXCI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXRpY1Byb3BzICs9IFwiXFxcIlwiICsgKHByb3AubmFtZSkgKyBcIlxcXCI6XCIgKyB2YWx1ZSArIFwiLFwiO1xuICAgIH1cbiAgfVxuICBzdGF0aWNQcm9wcyA9IFwie1wiICsgKHN0YXRpY1Byb3BzLnNsaWNlKDAsIC0xKSkgKyBcIn1cIjtcbiAgaWYgKGR5bmFtaWNQcm9wcykge1xuICAgIHJldHVybiAoXCJfZChcIiArIHN0YXRpY1Byb3BzICsgXCIsW1wiICsgKGR5bmFtaWNQcm9wcy5zbGljZSgwLCAtMSkpICsgXCJdKVwiKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBzdGF0aWNQcm9wc1xuICB9XG59XG5cbi8vICMzODk1LCAjNDI2OFxuZnVuY3Rpb24gdHJhbnNmb3JtU3BlY2lhbE5ld2xpbmVzICh0ZXh0KSB7XG4gIHJldHVybiB0ZXh0XG4gICAgLnJlcGxhY2UoL1xcdTIwMjgvZywgJ1xcXFx1MjAyOCcpXG4gICAgLnJlcGxhY2UoL1xcdTIwMjkvZywgJ1xcXFx1MjAyOScpXG59XG5cbi8qICAqL1xuXG5cblxuLy8gdGhlc2Uga2V5d29yZHMgc2hvdWxkIG5vdCBhcHBlYXIgaW5zaWRlIGV4cHJlc3Npb25zLCBidXQgb3BlcmF0b3JzIGxpa2Vcbi8vIHR5cGVvZiwgaW5zdGFuY2VvZiBhbmQgaW4gYXJlIGFsbG93ZWRcbnZhciBwcm9oaWJpdGVkS2V5d29yZFJFID0gbmV3IFJlZ0V4cCgnXFxcXGInICsgKFxuICAnZG8saWYsZm9yLGxldCxuZXcsdHJ5LHZhcixjYXNlLGVsc2Usd2l0aCxhd2FpdCxicmVhayxjYXRjaCxjbGFzcyxjb25zdCwnICtcbiAgJ3N1cGVyLHRocm93LHdoaWxlLHlpZWxkLGRlbGV0ZSxleHBvcnQsaW1wb3J0LHJldHVybixzd2l0Y2gsZGVmYXVsdCwnICtcbiAgJ2V4dGVuZHMsZmluYWxseSxjb250aW51ZSxkZWJ1Z2dlcixmdW5jdGlvbixhcmd1bWVudHMnXG4pLnNwbGl0KCcsJykuam9pbignXFxcXGJ8XFxcXGInKSArICdcXFxcYicpO1xuXG4vLyB0aGVzZSB1bmFyeSBvcGVyYXRvcnMgc2hvdWxkIG5vdCBiZSB1c2VkIGFzIHByb3BlcnR5L21ldGhvZCBuYW1lc1xudmFyIHVuYXJ5T3BlcmF0b3JzUkUgPSBuZXcgUmVnRXhwKCdcXFxcYicgKyAoXG4gICdkZWxldGUsdHlwZW9mLHZvaWQnXG4pLnNwbGl0KCcsJykuam9pbignXFxcXHMqXFxcXChbXlxcXFwpXSpcXFxcKXxcXFxcYicpICsgJ1xcXFxzKlxcXFwoW15cXFxcKV0qXFxcXCknKTtcblxuLy8gc3RyaXAgc3RyaW5ncyBpbiBleHByZXNzaW9uc1xudmFyIHN0cmlwU3RyaW5nUkUgPSAvJyg/OlteJ1xcXFxdfFxcXFwuKSonfFwiKD86W15cIlxcXFxdfFxcXFwuKSpcInxgKD86W15gXFxcXF18XFxcXC4pKlxcJFxce3xcXH0oPzpbXmBcXFxcXXxcXFxcLikqYHxgKD86W15gXFxcXF18XFxcXC4pKmAvZztcblxuLy8gZGV0ZWN0IHByb2JsZW1hdGljIGV4cHJlc3Npb25zIGluIGEgdGVtcGxhdGVcbmZ1bmN0aW9uIGRldGVjdEVycm9ycyAoYXN0LCB3YXJuKSB7XG4gIGlmIChhc3QpIHtcbiAgICBjaGVja05vZGUoYXN0LCB3YXJuKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjaGVja05vZGUgKG5vZGUsIHdhcm4pIHtcbiAgaWYgKG5vZGUudHlwZSA9PT0gMSkge1xuICAgIGZvciAodmFyIG5hbWUgaW4gbm9kZS5hdHRyc01hcCkge1xuICAgICAgaWYgKGRpclJFLnRlc3QobmFtZSkpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gbm9kZS5hdHRyc01hcFtuYW1lXTtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgdmFyIHJhbmdlID0gbm9kZS5yYXdBdHRyc01hcFtuYW1lXTtcbiAgICAgICAgICBpZiAobmFtZSA9PT0gJ3YtZm9yJykge1xuICAgICAgICAgICAgY2hlY2tGb3Iobm9kZSwgKFwidi1mb3I9XFxcIlwiICsgdmFsdWUgKyBcIlxcXCJcIiksIHdhcm4sIHJhbmdlKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKG9uUkUudGVzdChuYW1lKSkge1xuICAgICAgICAgICAgY2hlY2tFdmVudCh2YWx1ZSwgKG5hbWUgKyBcIj1cXFwiXCIgKyB2YWx1ZSArIFwiXFxcIlwiKSwgd2FybiwgcmFuZ2UpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjaGVja0V4cHJlc3Npb24odmFsdWUsIChuYW1lICsgXCI9XFxcIlwiICsgdmFsdWUgKyBcIlxcXCJcIiksIHdhcm4sIHJhbmdlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZS5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICBjaGVja05vZGUobm9kZS5jaGlsZHJlbltpXSwgd2Fybik7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2UgaWYgKG5vZGUudHlwZSA9PT0gMikge1xuICAgIGNoZWNrRXhwcmVzc2lvbihub2RlLmV4cHJlc3Npb24sIG5vZGUudGV4dCwgd2Fybiwgbm9kZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tFdmVudCAoZXhwLCB0ZXh0LCB3YXJuLCByYW5nZSkge1xuICB2YXIgc3RpcHBlZCA9IGV4cC5yZXBsYWNlKHN0cmlwU3RyaW5nUkUsICcnKTtcbiAgdmFyIGtleXdvcmRNYXRjaCA9IHN0aXBwZWQubWF0Y2godW5hcnlPcGVyYXRvcnNSRSk7XG4gIGlmIChrZXl3b3JkTWF0Y2ggJiYgc3RpcHBlZC5jaGFyQXQoa2V5d29yZE1hdGNoLmluZGV4IC0gMSkgIT09ICckJykge1xuICAgIHdhcm4oXG4gICAgICBcImF2b2lkIHVzaW5nIEphdmFTY3JpcHQgdW5hcnkgb3BlcmF0b3IgYXMgcHJvcGVydHkgbmFtZTogXCIgK1xuICAgICAgXCJcXFwiXCIgKyAoa2V5d29yZE1hdGNoWzBdKSArIFwiXFxcIiBpbiBleHByZXNzaW9uIFwiICsgKHRleHQudHJpbSgpKSxcbiAgICAgIHJhbmdlXG4gICAgKTtcbiAgfVxuICBjaGVja0V4cHJlc3Npb24oZXhwLCB0ZXh0LCB3YXJuLCByYW5nZSk7XG59XG5cbmZ1bmN0aW9uIGNoZWNrRm9yIChub2RlLCB0ZXh0LCB3YXJuLCByYW5nZSkge1xuICBjaGVja0V4cHJlc3Npb24obm9kZS5mb3IgfHwgJycsIHRleHQsIHdhcm4sIHJhbmdlKTtcbiAgY2hlY2tJZGVudGlmaWVyKG5vZGUuYWxpYXMsICd2LWZvciBhbGlhcycsIHRleHQsIHdhcm4sIHJhbmdlKTtcbiAgY2hlY2tJZGVudGlmaWVyKG5vZGUuaXRlcmF0b3IxLCAndi1mb3IgaXRlcmF0b3InLCB0ZXh0LCB3YXJuLCByYW5nZSk7XG4gIGNoZWNrSWRlbnRpZmllcihub2RlLml0ZXJhdG9yMiwgJ3YtZm9yIGl0ZXJhdG9yJywgdGV4dCwgd2FybiwgcmFuZ2UpO1xufVxuXG5mdW5jdGlvbiBjaGVja0lkZW50aWZpZXIgKFxuICBpZGVudCxcbiAgdHlwZSxcbiAgdGV4dCxcbiAgd2FybixcbiAgcmFuZ2Vcbikge1xuICBpZiAodHlwZW9mIGlkZW50ID09PSAnc3RyaW5nJykge1xuICAgIHRyeSB7XG4gICAgICBuZXcgRnVuY3Rpb24oKFwidmFyIFwiICsgaWRlbnQgKyBcIj1fXCIpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB3YXJuKChcImludmFsaWQgXCIgKyB0eXBlICsgXCIgXFxcIlwiICsgaWRlbnQgKyBcIlxcXCIgaW4gZXhwcmVzc2lvbjogXCIgKyAodGV4dC50cmltKCkpKSwgcmFuZ2UpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjaGVja0V4cHJlc3Npb24gKGV4cCwgdGV4dCwgd2FybiwgcmFuZ2UpIHtcbiAgdHJ5IHtcbiAgICBuZXcgRnVuY3Rpb24oKFwicmV0dXJuIFwiICsgZXhwKSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB2YXIga2V5d29yZE1hdGNoID0gZXhwLnJlcGxhY2Uoc3RyaXBTdHJpbmdSRSwgJycpLm1hdGNoKHByb2hpYml0ZWRLZXl3b3JkUkUpO1xuICAgIGlmIChrZXl3b3JkTWF0Y2gpIHtcbiAgICAgIHdhcm4oXG4gICAgICAgIFwiYXZvaWQgdXNpbmcgSmF2YVNjcmlwdCBrZXl3b3JkIGFzIHByb3BlcnR5IG5hbWU6IFwiICtcbiAgICAgICAgXCJcXFwiXCIgKyAoa2V5d29yZE1hdGNoWzBdKSArIFwiXFxcIlxcbiAgUmF3IGV4cHJlc3Npb246IFwiICsgKHRleHQudHJpbSgpKSxcbiAgICAgICAgcmFuZ2VcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdhcm4oXG4gICAgICAgIFwiaW52YWxpZCBleHByZXNzaW9uOiBcIiArIChlLm1lc3NhZ2UpICsgXCIgaW5cXG5cXG5cIiArXG4gICAgICAgIFwiICAgIFwiICsgZXhwICsgXCJcXG5cXG5cIiArXG4gICAgICAgIFwiICBSYXcgZXhwcmVzc2lvbjogXCIgKyAodGV4dC50cmltKCkpICsgXCJcXG5cIixcbiAgICAgICAgcmFuZ2VcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbi8qICAqL1xuXG52YXIgcmFuZ2UgPSAyO1xuXG5mdW5jdGlvbiBnZW5lcmF0ZUNvZGVGcmFtZSAoXG4gIHNvdXJjZSxcbiAgc3RhcnQsXG4gIGVuZFxuKSB7XG4gIGlmICggc3RhcnQgPT09IHZvaWQgMCApIHN0YXJ0ID0gMDtcbiAgaWYgKCBlbmQgPT09IHZvaWQgMCApIGVuZCA9IHNvdXJjZS5sZW5ndGg7XG5cbiAgdmFyIGxpbmVzID0gc291cmNlLnNwbGl0KC9cXHI/XFxuLyk7XG4gIHZhciBjb3VudCA9IDA7XG4gIHZhciByZXMgPSBbXTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaW5lcy5sZW5ndGg7IGkrKykge1xuICAgIGNvdW50ICs9IGxpbmVzW2ldLmxlbmd0aCArIDE7XG4gICAgaWYgKGNvdW50ID49IHN0YXJ0KSB7XG4gICAgICBmb3IgKHZhciBqID0gaSAtIHJhbmdlOyBqIDw9IGkgKyByYW5nZSB8fCBlbmQgPiBjb3VudDsgaisrKSB7XG4gICAgICAgIGlmIChqIDwgMCB8fCBqID49IGxpbmVzLmxlbmd0aCkgeyBjb250aW51ZSB9XG4gICAgICAgIHJlcy5wdXNoKChcIlwiICsgKGogKyAxKSArIChyZXBlYXQkMShcIiBcIiwgMyAtIFN0cmluZyhqICsgMSkubGVuZ3RoKSkgKyBcInwgIFwiICsgKGxpbmVzW2pdKSkpO1xuICAgICAgICB2YXIgbGluZUxlbmd0aCA9IGxpbmVzW2pdLmxlbmd0aDtcbiAgICAgICAgaWYgKGogPT09IGkpIHtcbiAgICAgICAgICAvLyBwdXNoIHVuZGVybGluZVxuICAgICAgICAgIHZhciBwYWQgPSBzdGFydCAtIChjb3VudCAtIGxpbmVMZW5ndGgpICsgMTtcbiAgICAgICAgICB2YXIgbGVuZ3RoID0gZW5kID4gY291bnQgPyBsaW5lTGVuZ3RoIC0gcGFkIDogZW5kIC0gc3RhcnQ7XG4gICAgICAgICAgcmVzLnB1c2goXCIgICB8ICBcIiArIHJlcGVhdCQxKFwiIFwiLCBwYWQpICsgcmVwZWF0JDEoXCJeXCIsIGxlbmd0aCkpO1xuICAgICAgICB9IGVsc2UgaWYgKGogPiBpKSB7XG4gICAgICAgICAgaWYgKGVuZCA+IGNvdW50KSB7XG4gICAgICAgICAgICB2YXIgbGVuZ3RoJDEgPSBNYXRoLm1pbihlbmQgLSBjb3VudCwgbGluZUxlbmd0aCk7XG4gICAgICAgICAgICByZXMucHVzaChcIiAgIHwgIFwiICsgcmVwZWF0JDEoXCJeXCIsIGxlbmd0aCQxKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvdW50ICs9IGxpbmVMZW5ndGggKyAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBicmVha1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzLmpvaW4oJ1xcbicpXG59XG5cbmZ1bmN0aW9uIHJlcGVhdCQxIChzdHIsIG4pIHtcbiAgdmFyIHJlc3VsdCA9ICcnO1xuICBpZiAobiA+IDApIHtcbiAgICB3aGlsZSAodHJ1ZSkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG4gICAgICBpZiAobiAmIDEpIHsgcmVzdWx0ICs9IHN0cjsgfVxuICAgICAgbiA+Pj49IDE7XG4gICAgICBpZiAobiA8PSAwKSB7IGJyZWFrIH1cbiAgICAgIHN0ciArPSBzdHI7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHRcbn1cblxuLyogICovXG5cblxuXG5mdW5jdGlvbiBjcmVhdGVGdW5jdGlvbiAoY29kZSwgZXJyb3JzKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIG5ldyBGdW5jdGlvbihjb2RlKVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICBlcnJvcnMucHVzaCh7IGVycjogZXJyLCBjb2RlOiBjb2RlIH0pO1xuICAgIHJldHVybiBub29wXG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlQ29tcGlsZVRvRnVuY3Rpb25GbiAoY29tcGlsZSkge1xuICB2YXIgY2FjaGUgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuXG4gIHJldHVybiBmdW5jdGlvbiBjb21waWxlVG9GdW5jdGlvbnMgKFxuICAgIHRlbXBsYXRlLFxuICAgIG9wdGlvbnMsXG4gICAgdm1cbiAgKSB7XG4gICAgb3B0aW9ucyA9IGV4dGVuZCh7fSwgb3B0aW9ucyk7XG4gICAgdmFyIHdhcm4kJDEgPSBvcHRpb25zLndhcm4gfHwgd2FybjtcbiAgICBkZWxldGUgb3B0aW9ucy53YXJuO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIC8vIGRldGVjdCBwb3NzaWJsZSBDU1AgcmVzdHJpY3Rpb25cbiAgICAgIHRyeSB7XG4gICAgICAgIG5ldyBGdW5jdGlvbigncmV0dXJuIDEnKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgaWYgKGUudG9TdHJpbmcoKS5tYXRjaCgvdW5zYWZlLWV2YWx8Q1NQLykpIHtcbiAgICAgICAgICB3YXJuJCQxKFxuICAgICAgICAgICAgJ0l0IHNlZW1zIHlvdSBhcmUgdXNpbmcgdGhlIHN0YW5kYWxvbmUgYnVpbGQgb2YgVnVlLmpzIGluIGFuICcgK1xuICAgICAgICAgICAgJ2Vudmlyb25tZW50IHdpdGggQ29udGVudCBTZWN1cml0eSBQb2xpY3kgdGhhdCBwcm9oaWJpdHMgdW5zYWZlLWV2YWwuICcgK1xuICAgICAgICAgICAgJ1RoZSB0ZW1wbGF0ZSBjb21waWxlciBjYW5ub3Qgd29yayBpbiB0aGlzIGVudmlyb25tZW50LiBDb25zaWRlciAnICtcbiAgICAgICAgICAgICdyZWxheGluZyB0aGUgcG9saWN5IHRvIGFsbG93IHVuc2FmZS1ldmFsIG9yIHByZS1jb21waWxpbmcgeW91ciAnICtcbiAgICAgICAgICAgICd0ZW1wbGF0ZXMgaW50byByZW5kZXIgZnVuY3Rpb25zLidcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gY2hlY2sgY2FjaGVcbiAgICB2YXIga2V5ID0gb3B0aW9ucy5kZWxpbWl0ZXJzXG4gICAgICA/IFN0cmluZyhvcHRpb25zLmRlbGltaXRlcnMpICsgdGVtcGxhdGVcbiAgICAgIDogdGVtcGxhdGU7XG4gICAgaWYgKGNhY2hlW2tleV0pIHtcbiAgICAgIHJldHVybiBjYWNoZVtrZXldXG4gICAgfVxuXG4gICAgLy8gY29tcGlsZVxuICAgIHZhciBjb21waWxlZCA9IGNvbXBpbGUodGVtcGxhdGUsIG9wdGlvbnMpO1xuXG4gICAgLy8gY2hlY2sgY29tcGlsYXRpb24gZXJyb3JzL3RpcHNcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgaWYgKGNvbXBpbGVkLmVycm9ycyAmJiBjb21waWxlZC5lcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgIGlmIChvcHRpb25zLm91dHB1dFNvdXJjZVJhbmdlKSB7XG4gICAgICAgICAgY29tcGlsZWQuZXJyb3JzLmZvckVhY2goZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgIHdhcm4kJDEoXG4gICAgICAgICAgICAgIFwiRXJyb3IgY29tcGlsaW5nIHRlbXBsYXRlOlxcblxcblwiICsgKGUubXNnKSArIFwiXFxuXFxuXCIgK1xuICAgICAgICAgICAgICBnZW5lcmF0ZUNvZGVGcmFtZSh0ZW1wbGF0ZSwgZS5zdGFydCwgZS5lbmQpLFxuICAgICAgICAgICAgICB2bVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB3YXJuJCQxKFxuICAgICAgICAgICAgXCJFcnJvciBjb21waWxpbmcgdGVtcGxhdGU6XFxuXFxuXCIgKyB0ZW1wbGF0ZSArIFwiXFxuXFxuXCIgK1xuICAgICAgICAgICAgY29tcGlsZWQuZXJyb3JzLm1hcChmdW5jdGlvbiAoZSkgeyByZXR1cm4gKFwiLSBcIiArIGUpOyB9KS5qb2luKCdcXG4nKSArICdcXG4nLFxuICAgICAgICAgICAgdm1cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoY29tcGlsZWQudGlwcyAmJiBjb21waWxlZC50aXBzLmxlbmd0aCkge1xuICAgICAgICBpZiAob3B0aW9ucy5vdXRwdXRTb3VyY2VSYW5nZSkge1xuICAgICAgICAgIGNvbXBpbGVkLnRpcHMuZm9yRWFjaChmdW5jdGlvbiAoZSkgeyByZXR1cm4gdGlwKGUubXNnLCB2bSk7IH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbXBpbGVkLnRpcHMuZm9yRWFjaChmdW5jdGlvbiAobXNnKSB7IHJldHVybiB0aXAobXNnLCB2bSk7IH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gdHVybiBjb2RlIGludG8gZnVuY3Rpb25zXG4gICAgdmFyIHJlcyA9IHt9O1xuICAgIHZhciBmbkdlbkVycm9ycyA9IFtdO1xuICAgIHJlcy5yZW5kZXIgPSBjcmVhdGVGdW5jdGlvbihjb21waWxlZC5yZW5kZXIsIGZuR2VuRXJyb3JzKTtcbiAgICByZXMuc3RhdGljUmVuZGVyRm5zID0gY29tcGlsZWQuc3RhdGljUmVuZGVyRm5zLm1hcChmdW5jdGlvbiAoY29kZSkge1xuICAgICAgcmV0dXJuIGNyZWF0ZUZ1bmN0aW9uKGNvZGUsIGZuR2VuRXJyb3JzKVxuICAgIH0pO1xuXG4gICAgLy8gY2hlY2sgZnVuY3Rpb24gZ2VuZXJhdGlvbiBlcnJvcnMuXG4gICAgLy8gdGhpcyBzaG91bGQgb25seSBoYXBwZW4gaWYgdGhlcmUgaXMgYSBidWcgaW4gdGhlIGNvbXBpbGVyIGl0c2VsZi5cbiAgICAvLyBtb3N0bHkgZm9yIGNvZGVnZW4gZGV2ZWxvcG1lbnQgdXNlXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIGlmICgoIWNvbXBpbGVkLmVycm9ycyB8fCAhY29tcGlsZWQuZXJyb3JzLmxlbmd0aCkgJiYgZm5HZW5FcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgIHdhcm4kJDEoXG4gICAgICAgICAgXCJGYWlsZWQgdG8gZ2VuZXJhdGUgcmVuZGVyIGZ1bmN0aW9uOlxcblxcblwiICtcbiAgICAgICAgICBmbkdlbkVycm9ycy5tYXAoZnVuY3Rpb24gKHJlZikge1xuICAgICAgICAgICAgdmFyIGVyciA9IHJlZi5lcnI7XG4gICAgICAgICAgICB2YXIgY29kZSA9IHJlZi5jb2RlO1xuXG4gICAgICAgICAgICByZXR1cm4gKChlcnIudG9TdHJpbmcoKSkgKyBcIiBpblxcblxcblwiICsgY29kZSArIFwiXFxuXCIpO1xuICAgICAgICB9KS5qb2luKCdcXG4nKSxcbiAgICAgICAgICB2bVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAoY2FjaGVba2V5XSA9IHJlcylcbiAgfVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gY3JlYXRlQ29tcGlsZXJDcmVhdG9yIChiYXNlQ29tcGlsZSkge1xuICByZXR1cm4gZnVuY3Rpb24gY3JlYXRlQ29tcGlsZXIgKGJhc2VPcHRpb25zKSB7XG4gICAgZnVuY3Rpb24gY29tcGlsZSAoXG4gICAgICB0ZW1wbGF0ZSxcbiAgICAgIG9wdGlvbnNcbiAgICApIHtcbiAgICAgIHZhciBmaW5hbE9wdGlvbnMgPSBPYmplY3QuY3JlYXRlKGJhc2VPcHRpb25zKTtcbiAgICAgIHZhciBlcnJvcnMgPSBbXTtcbiAgICAgIHZhciB0aXBzID0gW107XG5cbiAgICAgIHZhciB3YXJuID0gZnVuY3Rpb24gKG1zZywgcmFuZ2UsIHRpcCkge1xuICAgICAgICAodGlwID8gdGlwcyA6IGVycm9ycykucHVzaChtc2cpO1xuICAgICAgfTtcblxuICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgb3B0aW9ucy5vdXRwdXRTb3VyY2VSYW5nZSkge1xuICAgICAgICAgIC8vICRmbG93LWRpc2FibGUtbGluZVxuICAgICAgICAgIHZhciBsZWFkaW5nU3BhY2VMZW5ndGggPSB0ZW1wbGF0ZS5tYXRjaCgvXlxccyovKVswXS5sZW5ndGg7XG5cbiAgICAgICAgICB3YXJuID0gZnVuY3Rpb24gKG1zZywgcmFuZ2UsIHRpcCkge1xuICAgICAgICAgICAgdmFyIGRhdGEgPSB7IG1zZzogbXNnIH07XG4gICAgICAgICAgICBpZiAocmFuZ2UpIHtcbiAgICAgICAgICAgICAgaWYgKHJhbmdlLnN0YXJ0ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICBkYXRhLnN0YXJ0ID0gcmFuZ2Uuc3RhcnQgKyBsZWFkaW5nU3BhY2VMZW5ndGg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKHJhbmdlLmVuZCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgZGF0YS5lbmQgPSByYW5nZS5lbmQgKyBsZWFkaW5nU3BhY2VMZW5ndGg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICh0aXAgPyB0aXBzIDogZXJyb3JzKS5wdXNoKGRhdGEpO1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgLy8gbWVyZ2UgY3VzdG9tIG1vZHVsZXNcbiAgICAgICAgaWYgKG9wdGlvbnMubW9kdWxlcykge1xuICAgICAgICAgIGZpbmFsT3B0aW9ucy5tb2R1bGVzID1cbiAgICAgICAgICAgIChiYXNlT3B0aW9ucy5tb2R1bGVzIHx8IFtdKS5jb25jYXQob3B0aW9ucy5tb2R1bGVzKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBtZXJnZSBjdXN0b20gZGlyZWN0aXZlc1xuICAgICAgICBpZiAob3B0aW9ucy5kaXJlY3RpdmVzKSB7XG4gICAgICAgICAgZmluYWxPcHRpb25zLmRpcmVjdGl2ZXMgPSBleHRlbmQoXG4gICAgICAgICAgICBPYmplY3QuY3JlYXRlKGJhc2VPcHRpb25zLmRpcmVjdGl2ZXMgfHwgbnVsbCksXG4gICAgICAgICAgICBvcHRpb25zLmRpcmVjdGl2ZXNcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIC8vIGNvcHkgb3RoZXIgb3B0aW9uc1xuICAgICAgICBmb3IgKHZhciBrZXkgaW4gb3B0aW9ucykge1xuICAgICAgICAgIGlmIChrZXkgIT09ICdtb2R1bGVzJyAmJiBrZXkgIT09ICdkaXJlY3RpdmVzJykge1xuICAgICAgICAgICAgZmluYWxPcHRpb25zW2tleV0gPSBvcHRpb25zW2tleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZpbmFsT3B0aW9ucy53YXJuID0gd2FybjtcblxuICAgICAgdmFyIGNvbXBpbGVkID0gYmFzZUNvbXBpbGUodGVtcGxhdGUudHJpbSgpLCBmaW5hbE9wdGlvbnMpO1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgZGV0ZWN0RXJyb3JzKGNvbXBpbGVkLmFzdCwgd2Fybik7XG4gICAgICB9XG4gICAgICBjb21waWxlZC5lcnJvcnMgPSBlcnJvcnM7XG4gICAgICBjb21waWxlZC50aXBzID0gdGlwcztcbiAgICAgIHJldHVybiBjb21waWxlZFxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBjb21waWxlOiBjb21waWxlLFxuICAgICAgY29tcGlsZVRvRnVuY3Rpb25zOiBjcmVhdGVDb21waWxlVG9GdW5jdGlvbkZuKGNvbXBpbGUpXG4gICAgfVxuICB9XG59XG5cbi8qICAqL1xuXG4vLyBgY3JlYXRlQ29tcGlsZXJDcmVhdG9yYCBhbGxvd3MgY3JlYXRpbmcgY29tcGlsZXJzIHRoYXQgdXNlIGFsdGVybmF0aXZlXG4vLyBwYXJzZXIvb3B0aW1pemVyL2NvZGVnZW4sIGUuZyB0aGUgU1NSIG9wdGltaXppbmcgY29tcGlsZXIuXG4vLyBIZXJlIHdlIGp1c3QgZXhwb3J0IGEgZGVmYXVsdCBjb21waWxlciB1c2luZyB0aGUgZGVmYXVsdCBwYXJ0cy5cbnZhciBjcmVhdGVDb21waWxlciA9IGNyZWF0ZUNvbXBpbGVyQ3JlYXRvcihmdW5jdGlvbiBiYXNlQ29tcGlsZSAoXG4gIHRlbXBsYXRlLFxuICBvcHRpb25zXG4pIHtcbiAgdmFyIGFzdCA9IHBhcnNlKHRlbXBsYXRlLnRyaW0oKSwgb3B0aW9ucyk7XG4gIGlmIChvcHRpb25zLm9wdGltaXplICE9PSBmYWxzZSkge1xuICAgIG9wdGltaXplKGFzdCwgb3B0aW9ucyk7XG4gIH1cbiAgdmFyIGNvZGUgPSBnZW5lcmF0ZShhc3QsIG9wdGlvbnMpO1xuICByZXR1cm4ge1xuICAgIGFzdDogYXN0LFxuICAgIHJlbmRlcjogY29kZS5yZW5kZXIsXG4gICAgc3RhdGljUmVuZGVyRm5zOiBjb2RlLnN0YXRpY1JlbmRlckZuc1xuICB9XG59KTtcblxuLyogICovXG5cbnZhciByZWYkMSA9IGNyZWF0ZUNvbXBpbGVyKGJhc2VPcHRpb25zKTtcbnZhciBjb21waWxlID0gcmVmJDEuY29tcGlsZTtcbnZhciBjb21waWxlVG9GdW5jdGlvbnMgPSByZWYkMS5jb21waWxlVG9GdW5jdGlvbnM7XG5cbi8qICAqL1xuXG4vLyBjaGVjayB3aGV0aGVyIGN1cnJlbnQgYnJvd3NlciBlbmNvZGVzIGEgY2hhciBpbnNpZGUgYXR0cmlidXRlIHZhbHVlc1xudmFyIGRpdjtcbmZ1bmN0aW9uIGdldFNob3VsZERlY29kZSAoaHJlZikge1xuICBkaXYgPSBkaXYgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gIGRpdi5pbm5lckhUTUwgPSBocmVmID8gXCI8YSBocmVmPVxcXCJcXG5cXFwiLz5cIiA6IFwiPGRpdiBhPVxcXCJcXG5cXFwiLz5cIjtcbiAgcmV0dXJuIGRpdi5pbm5lckhUTUwuaW5kZXhPZignJiMxMDsnKSA+IDBcbn1cblxuLy8gIzM2NjM6IElFIGVuY29kZXMgbmV3bGluZXMgaW5zaWRlIGF0dHJpYnV0ZSB2YWx1ZXMgd2hpbGUgb3RoZXIgYnJvd3NlcnMgZG9uJ3RcbnZhciBzaG91bGREZWNvZGVOZXdsaW5lcyA9IGluQnJvd3NlciA/IGdldFNob3VsZERlY29kZShmYWxzZSkgOiBmYWxzZTtcbi8vICM2ODI4OiBjaHJvbWUgZW5jb2RlcyBjb250ZW50IGluIGFbaHJlZl1cbnZhciBzaG91bGREZWNvZGVOZXdsaW5lc0ZvckhyZWYgPSBpbkJyb3dzZXIgPyBnZXRTaG91bGREZWNvZGUodHJ1ZSkgOiBmYWxzZTtcblxuLyogICovXG5cbnZhciBpZFRvVGVtcGxhdGUgPSBjYWNoZWQoZnVuY3Rpb24gKGlkKSB7XG4gIHZhciBlbCA9IHF1ZXJ5KGlkKTtcbiAgcmV0dXJuIGVsICYmIGVsLmlubmVySFRNTFxufSk7XG5cbnZhciBtb3VudCA9IFZ1ZS5wcm90b3R5cGUuJG1vdW50O1xuVnVlLnByb3RvdHlwZS4kbW91bnQgPSBmdW5jdGlvbiAoXG4gIGVsLFxuICBoeWRyYXRpbmdcbikge1xuICBlbCA9IGVsICYmIHF1ZXJ5KGVsKTtcblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKGVsID09PSBkb2N1bWVudC5ib2R5IHx8IGVsID09PSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIHtcbiAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4oXG4gICAgICBcIkRvIG5vdCBtb3VudCBWdWUgdG8gPGh0bWw+IG9yIDxib2R5PiAtIG1vdW50IHRvIG5vcm1hbCBlbGVtZW50cyBpbnN0ZWFkLlwiXG4gICAgKTtcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgdmFyIG9wdGlvbnMgPSB0aGlzLiRvcHRpb25zO1xuICAvLyByZXNvbHZlIHRlbXBsYXRlL2VsIGFuZCBjb252ZXJ0IHRvIHJlbmRlciBmdW5jdGlvblxuICBpZiAoIW9wdGlvbnMucmVuZGVyKSB7XG4gICAgdmFyIHRlbXBsYXRlID0gb3B0aW9ucy50ZW1wbGF0ZTtcbiAgICBpZiAodGVtcGxhdGUpIHtcbiAgICAgIGlmICh0eXBlb2YgdGVtcGxhdGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGlmICh0ZW1wbGF0ZS5jaGFyQXQoMCkgPT09ICcjJykge1xuICAgICAgICAgIHRlbXBsYXRlID0gaWRUb1RlbXBsYXRlKHRlbXBsYXRlKTtcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAhdGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHdhcm4oXG4gICAgICAgICAgICAgIChcIlRlbXBsYXRlIGVsZW1lbnQgbm90IGZvdW5kIG9yIGlzIGVtcHR5OiBcIiArIChvcHRpb25zLnRlbXBsYXRlKSksXG4gICAgICAgICAgICAgIHRoaXNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHRlbXBsYXRlLm5vZGVUeXBlKSB7XG4gICAgICAgIHRlbXBsYXRlID0gdGVtcGxhdGUuaW5uZXJIVE1MO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICB3YXJuKCdpbnZhbGlkIHRlbXBsYXRlIG9wdGlvbjonICsgdGVtcGxhdGUsIHRoaXMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChlbCkge1xuICAgICAgdGVtcGxhdGUgPSBnZXRPdXRlckhUTUwoZWwpO1xuICAgIH1cbiAgICBpZiAodGVtcGxhdGUpIHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgY29uZmlnLnBlcmZvcm1hbmNlICYmIG1hcmspIHtcbiAgICAgICAgbWFyaygnY29tcGlsZScpO1xuICAgICAgfVxuXG4gICAgICB2YXIgcmVmID0gY29tcGlsZVRvRnVuY3Rpb25zKHRlbXBsYXRlLCB7XG4gICAgICAgIG91dHB1dFNvdXJjZVJhbmdlOiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nLFxuICAgICAgICBzaG91bGREZWNvZGVOZXdsaW5lczogc2hvdWxkRGVjb2RlTmV3bGluZXMsXG4gICAgICAgIHNob3VsZERlY29kZU5ld2xpbmVzRm9ySHJlZjogc2hvdWxkRGVjb2RlTmV3bGluZXNGb3JIcmVmLFxuICAgICAgICBkZWxpbWl0ZXJzOiBvcHRpb25zLmRlbGltaXRlcnMsXG4gICAgICAgIGNvbW1lbnRzOiBvcHRpb25zLmNvbW1lbnRzXG4gICAgICB9LCB0aGlzKTtcbiAgICAgIHZhciByZW5kZXIgPSByZWYucmVuZGVyO1xuICAgICAgdmFyIHN0YXRpY1JlbmRlckZucyA9IHJlZi5zdGF0aWNSZW5kZXJGbnM7XG4gICAgICBvcHRpb25zLnJlbmRlciA9IHJlbmRlcjtcbiAgICAgIG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGNvbmZpZy5wZXJmb3JtYW5jZSAmJiBtYXJrKSB7XG4gICAgICAgIG1hcmsoJ2NvbXBpbGUgZW5kJyk7XG4gICAgICAgIG1lYXN1cmUoKFwidnVlIFwiICsgKHRoaXMuX25hbWUpICsgXCIgY29tcGlsZVwiKSwgJ2NvbXBpbGUnLCAnY29tcGlsZSBlbmQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIG1vdW50LmNhbGwodGhpcywgZWwsIGh5ZHJhdGluZylcbn07XG5cbi8qKlxuICogR2V0IG91dGVySFRNTCBvZiBlbGVtZW50cywgdGFraW5nIGNhcmVcbiAqIG9mIFNWRyBlbGVtZW50cyBpbiBJRSBhcyB3ZWxsLlxuICovXG5mdW5jdGlvbiBnZXRPdXRlckhUTUwgKGVsKSB7XG4gIGlmIChlbC5vdXRlckhUTUwpIHtcbiAgICByZXR1cm4gZWwub3V0ZXJIVE1MXG4gIH0gZWxzZSB7XG4gICAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChlbC5jbG9uZU5vZGUodHJ1ZSkpO1xuICAgIHJldHVybiBjb250YWluZXIuaW5uZXJIVE1MXG4gIH1cbn1cblxuVnVlLmNvbXBpbGUgPSBjb21waWxlVG9GdW5jdGlvbnM7XG5cbmV4cG9ydCBkZWZhdWx0IFZ1ZTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWVAMi42LjEwQHZ1ZS9kaXN0L3Z1ZS5lc20uanNcbi8vIG1vZHVsZSBpZCA9IDYyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///62\n");
472
473/***/ }),
474/* 63 */
475/***/ (function(module, exports) {
476
477eval("\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiI2My5qcyIsInNvdXJjZXNDb250ZW50IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///63\n");
478
479/***/ }),
480/* 64 */
481/***/ (function(module, exports) {
482
483eval("module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FuLWluc3RhbmNlLmpzPzI3MzMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIIiwiZmlsZSI6IjY0LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIENvbnN0cnVjdG9yLCBuYW1lLCBmb3JiaWRkZW5GaWVsZCkge1xuICBpZiAoIShpdCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSB8fCAoZm9yYmlkZGVuRmllbGQgIT09IHVuZGVmaW5lZCAmJiBmb3JiaWRkZW5GaWVsZCBpbiBpdCkpIHtcbiAgICB0aHJvdyBUeXBlRXJyb3IobmFtZSArICc6IGluY29ycmVjdCBpbnZvY2F0aW9uIScpO1xuICB9IHJldHVybiBpdDtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fYW4taW5zdGFuY2UuanNcbi8vIG1vZHVsZSBpZCA9IDY0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///64\n");
484
485/***/ }),
486/* 65 */
487/***/ (function(module, exports, __webpack_require__) {
488
489"use strict";
490eval("\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = __webpack_require__(31);\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX25ldy1wcm9taXNlLWNhcGFiaWxpdHkuanM/OThhOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0EsZ0JBQWdCLG1CQUFPLENBQUMsRUFBZTs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG4vLyAyNS40LjEuNSBOZXdQcm9taXNlQ2FwYWJpbGl0eShDKVxudmFyIGFGdW5jdGlvbiA9IHJlcXVpcmUoJy4vX2EtZnVuY3Rpb24nKTtcblxuZnVuY3Rpb24gUHJvbWlzZUNhcGFiaWxpdHkoQykge1xuICB2YXIgcmVzb2x2ZSwgcmVqZWN0O1xuICB0aGlzLnByb21pc2UgPSBuZXcgQyhmdW5jdGlvbiAoJCRyZXNvbHZlLCAkJHJlamVjdCkge1xuICAgIGlmIChyZXNvbHZlICE9PSB1bmRlZmluZWQgfHwgcmVqZWN0ICE9PSB1bmRlZmluZWQpIHRocm93IFR5cGVFcnJvcignQmFkIFByb21pc2UgY29uc3RydWN0b3InKTtcbiAgICByZXNvbHZlID0gJCRyZXNvbHZlO1xuICAgIHJlamVjdCA9ICQkcmVqZWN0O1xuICB9KTtcbiAgdGhpcy5yZXNvbHZlID0gYUZ1bmN0aW9uKHJlc29sdmUpO1xuICB0aGlzLnJlamVjdCA9IGFGdW5jdGlvbihyZWplY3QpO1xufVxuXG5tb2R1bGUuZXhwb3J0cy5mID0gZnVuY3Rpb24gKEMpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlQ2FwYWJpbGl0eShDKTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fbmV3LXByb21pc2UtY2FwYWJpbGl0eS5qc1xuLy8gbW9kdWxlIGlkID0gNjVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///65\n");
491
492/***/ }),
493/* 66 */
494/***/ (function(module, exports, __webpack_require__) {
495
496eval("var hide = __webpack_require__(22);\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3JlZGVmaW5lLWFsbC5qcz8wNzFiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFdBQVcsbUJBQU8sQ0FBQyxFQUFTO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIIiwiZmlsZSI6IjY2LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGhpZGUgPSByZXF1aXJlKCcuL19oaWRlJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICh0YXJnZXQsIHNyYywgc2FmZSkge1xuICBmb3IgKHZhciBrZXkgaW4gc3JjKSB7XG4gICAgaWYgKHNhZmUgJiYgdGFyZ2V0W2tleV0pIHRhcmdldFtrZXldID0gc3JjW2tleV07XG4gICAgZWxzZSBoaWRlKHRhcmdldCwga2V5LCBzcmNba2V5XSk7XG4gIH0gcmV0dXJuIHRhcmdldDtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fcmVkZWZpbmUtYWxsLmpzXG4vLyBtb2R1bGUgaWQgPSA2NlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///66\n");
497
498/***/ }),
499/* 67 */
500/***/ (function(module, __webpack_exports__, __webpack_require__) {
501
502"use strict";
503eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(106);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_dd1eda2e_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(337);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(334)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_dd1eda2e_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-inputSelect/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-dd1eda2e\", Component.options)\n } else {\n hotAPI.reload(\"data-v-dd1eda2e\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWlucHV0U2VsZWN0L2luZGV4LnZ1ZT9lMmIwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBZ1Y7QUFDMVY7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUFxRjtBQUN0SDtBQUNxSTtBQUNhO0FBQ2xKO0FBQzhTO0FBQzlTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxrUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjY3LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZGQxZWRhMmVcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LWRkMWVkYTJlXFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWlucHV0U2VsZWN0L2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi1kZDFlZGEyZVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LWRkMWVkYTJlXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1pbnB1dFNlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDY3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///67\n");
504
505/***/ }),
506/* 68 */
507/***/ (function(module, __webpack_exports__, __webpack_require__) {
508
509"use strict";
510eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(120);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_e5939afc_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(400);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(397)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_e5939afc_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-dynamic/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-e5939afc\", Component.options)\n } else {\n hotAPI.reload(\"data-v-e5939afc\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWR5bmFtaWMvaW5kZXgudnVlPzYxOWQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFnVjtBQUMxVjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDOFM7QUFDOVM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGtRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNjguanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1lNTkzOWFmY1xcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZTU5MzlhZmNcXFwiLFxcXCJoYXNTY29wZWRcXFwiOmZhbHNlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtZHluYW1pYy9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtZTU5MzlhZmNcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi1lNTkzOWFmY1wiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtZHluYW1pYy9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDY4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///68\n");
511
512/***/ }),
513/* 69 */
514/***/ (function(module, exports, __webpack_require__) {
515
516eval("var isObject = __webpack_require__(15);\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3ZhbGlkYXRlLWNvbGxlY3Rpb24uanM/Zjg4YSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlLG1CQUFPLENBQUMsRUFBYztBQUNyQztBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI2OS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIFRZUEUpIHtcbiAgaWYgKCFpc09iamVjdChpdCkgfHwgaXQuX3QgIT09IFRZUEUpIHRocm93IFR5cGVFcnJvcignSW5jb21wYXRpYmxlIHJlY2VpdmVyLCAnICsgVFlQRSArICcgcmVxdWlyZWQhJyk7XG4gIHJldHVybiBpdDtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdmFsaWRhdGUtY29sbGVjdGlvbi5qc1xuLy8gbW9kdWxlIGlkID0gNjlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///69\n");
517
518/***/ }),
519/* 70 */
520/***/ (function(module, exports, __webpack_require__) {
521
522"use strict";
523eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _stringify = __webpack_require__(24);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nvar _getIterator2 = __webpack_require__(46);\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nvar _slicedToArray2 = __webpack_require__(76);\n\nvar _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\nvar _create = __webpack_require__(77);\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _toConsumableArray2 = __webpack_require__(18);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _index = __webpack_require__(240);\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _service = __webpack_require__(34);\n\nvar _components = __webpack_require__(587);\n\nvar _components2 = _interopRequireDefault(_components);\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nvar _mixUtil = __webpack_require__(156);\n\nvar _mixUtil2 = _interopRequireDefault(_mixUtil);\n\nvar _toolService = __webpack_require__(14);\n\nvar _toolService2 = _interopRequireDefault(_toolService);\n\nvar _httpLoading = __webpack_require__(43);\n\nvar _httpLoading2 = _interopRequireDefault(_httpLoading);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar pluginsBelongKeys = _service.SVC.pluginsBelongKeys;\nvar sortedPlugins = _service.SVC.sortedPlugins;\nexports.default = {\n mixins: [_mixUtil2.default],\n data: function data() {\n return {\n styles: {\n height: '100%',\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n top: \"0px\"\n },\n isRerver: false,\n jsonObj: {\n page: {},\n elements: []\n }\n };\n },\n\n methods: {\n updateHeight: function updateHeight(topHeight) {\n this.styles.top = topHeight;\n },\n getComponents: function getComponents() {\n var builtInPlugins = [];\n var context = __webpack_require__(160);\n\n context.keys().forEach(function (item) {\n var myItem = context(item).default;\n\n if (myItem.name == \"gaea-box\" || myItem.name == \"gaea-btns-oprator\" || myItem.name == \"gaea-container\" || myItem.name == \"gaea-steps\" || myItem.name == \"gaea-title\" || myItem.name == \"gaea-button\") {\n builtInPlugins.push(myItem);\n } else if (localStorage.itemStep == \"1\") {\n if (myItem.name == \"gaea-form\" || myItem.name == \"gaea-form-table\" || myItem.name == \"gaea-form-radio\" || myItem.name == \"gaea-identity-check\" || myItem.name == \"gaea-date-picker\" || myItem.name == \"gaea-input\" || myItem.name == \"gaea-input-number\" || myItem.name == \"gaea-radio\" || myItem.name == \"gaea-select\" || myItem.name == \"gaea-table-daterange\" || myItem.name == \"gaea-table-input\" || myItem.name == \"gaea-address-select\" || myItem.name == \"gaea-radio\" || myItem.name == \"gaea-select\" || myItem.name == \"gaea-table-input\") {\n builtInPlugins.push(myItem);\n }\n } else {\n if (myItem.name == \"gaea-form\" || myItem.name == \"gaea-form-table\" || myItem.name == \"gaea-form-radio\" || myItem.name == \"gaea-identity-check\" || myItem.name == \"gaea-date-picker\" || myItem.name == \"gaea-input\" || myItem.name == \"gaea-input-number\" || myItem.name == \"gaea-radio\" || myItem.name == \"gaea-select\" || myItem.name == \"gaea-table-daterange\" || myItem.name == \"gaea-table-input\" || myItem.name == \"gaea-address-select\" || myItem.name == \"gaea-radio\" || myItem.name == \"gaea-select\" || myItem.name == \"gaea-table-input\") {} else {\n builtInPlugins.push(myItem);\n }\n }\n });\n return builtInPlugins;\n },\n exportLocalData: function exportLocalData() {\n var stateaArr = this.$store.state.viewport.instances;\n var localInstances = [].concat((0, _toConsumableArray3.default)(stateaArr));\n localInstances.splice(0, 1);\n for (var key = 0; key < localInstances.length; key++) {\n delete localInstances[key][1].vm;\n }\n console.log(localInstances);\n return localInstances;\n },\n showTemplateType: function showTemplateType(obj) {\n _eventbus2.default.$emit(\"showTemplateType\", obj);\n },\n exportData: function exportData(marker) {\n this.$store.commit('viewport/deleteDataArr', {});\n debugger;\n console.log(this.componentTree);\n\n configPageIde.page.fullModel.templateCache.validators = [];\n this.jsonObj.page = configPageIde.page;\n this.jsonObj.elements = [];\n this.componentTreeFactory(this.componentTree, this.jsonObj.elements);\n var allJson = {\n previewJson: {},\n localJson: {} };\n var exportJson = this.jsonObj;\n\n var jsonArr2 = [];\n var propArr = [];\n var targetArr = [];\n debugger;\n for (var i = 0; i < exportJson.elements.length; i++) {\n for (var j = 0; j < exportJson.elements[i].data.length; j++) {\n if (exportJson.elements[i].data[j].type == \"form\") {\n var jsonArr = exportJson.elements[i].data[j].data.items;\n for (var m = 0; m < jsonArr.length; m++) {\n if (jsonArr[m].type == \"checkboxMultiple\") {\n exportJson.page.fullModel[jsonArr[m].prop] = [];\n } else {\n exportJson.page.fullModel[jsonArr[m].prop] = \"\";\n }\n delete jsonArr[m].rules;\n }\n }\n }\n }\n console.log(propArr);\n allJson.previewJson = exportJson;\n if (marker == 1) {\n allJson.localJson = this.exportLocalData();\n } else {}\n return allJson;\n }\n },\n components: {\n Page: _index2.default\n },\n computed: {\n viewportInstances: function viewportInstances() {\n var viewprotInstances = this.$store.state.viewport.instances;\n var obj = (0, _create2.default)(null);\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = (0, _getIterator3.default)(viewprotInstances), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _ref = _step.value;\n\n var _ref2 = (0, _slicedToArray3.default)(_ref, 2);\n\n var k = _ref2[0];\n var v = _ref2[1];\n\n obj[k] = v;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return obj;\n },\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n componentTree: function componentTree() {\n debugger;\n\n var _root = this.digui(this.viewportState.rootInstanceKey);\n return [_root][0].children;\n },\n instances: function instances() {\n return this.$store.state.viewport.instances;\n },\n formValidatorRules: function formValidatorRules() {\n debugger;\n var result = _.pickBy(this.viewportInstances, function (value) {\n if (value.data.validateArr && value.data.validateArr.length > 0) {\n value.data.validateArr.forEach(function (v, k) {\n console.log(v);\n if (v.requireKeyValues && v.requireKeyValues.length > 0) {\n v.requireKeyValues.forEach(function (v1, k) {\n console.log(v1);\n if (v1.values.indexOf(\",\") == -1) {} else {\n v1.values = v1.values.split(\",\");\n }\n });\n }\n });\n }\n return value.data.validateArr && value.data.validateArr.length > 0;\n });\n result = _.mapKeys(result, function (value) {\n return value.data.property.prop;\n });\n result = _.mapValues(result, function (value) {\n var validateArr = value.data.validateArr.map(function (value) {\n return _.pickBy(value, function (value) {\n return value;\n });\n });\n if (!validateArr[0].required) {\n validateArr.splice(0, 1);\n }\n return validateArr;\n });\n return result;\n }\n },\n props: {\n componentClasses: {\n default: function _default() {\n return [];\n }\n }\n },\n created: function created() {\n var _this = this;\n\n console.log((0, _stringify2.default)(_components2.default));\n\n this.$store.commit('application/loadBuiltInPlugins', { pluginsBelongKeys: pluginsBelongKeys, sortedPlugins: sortedPlugins });\n\n this.componentClasses.concat(_components2.default).forEach(function (item) {\n _this.$store.commit('application/addComponentClass', item);\n });\n },\n mounted: function mounted() {}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2luZGV4LnZ1ZT9mMmZiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9BOztBQUVBOzs7O0FBQ0E7Ozs7QUFHQTs7OztBQUdBOzs7O0FBQ0E7Ozs7OztBQU5BO0FBQ0E7a0JBTUE7QUFDQSwrQkFEQTtBQUVBLFFBRkEsa0JBRUE7QUFDQTtBQUNBO0FBQ0EsOEJBREE7QUFFQSxvQ0FGQTtBQUdBLHlCQUhBO0FBSUEsdUJBSkE7QUFLQSx3QkFMQTtBQU1BO0FBTkEsYUFEQTtBQVNBLDJCQVRBO0FBVUE7QUFDQSx3QkFEQTtBQUVBO0FBRkE7QUFWQTtBQWVBLEtBbEJBOztBQW1CQTtBQUNBLG9CQURBLHdCQUNBLFNBREEsRUFDQTtBQUNBO0FBQ0EsU0FIQTtBQUlBLHFCQUpBLDJCQUlBO0FBQ0E7QUFDQTs7QUFNQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpQkFGQSxNQUlBO0FBQ0EsK01BQ0EsMkJBREEsSUFDQSxrQ0FEQSxJQUNBLDJCQURBLElBQ0EsNEJBREEsSUFDQSxxQ0FEQSxJQUVBLGlDQUZBLElBRUEsb0NBRkEsSUFFQSwyQkFGQSxJQUVBLDRCQUZBLElBRUEsaUNBRkEsRUFFQTtBQUNBO0FBQ0E7QUFDQSxxQkFOQSxNQU1BO0FBQ0EsK01BQ0EsMkJBREEsSUFDQSxrQ0FEQSxJQUNBLDJCQURBLElBQ0EsNEJBREEsSUFDQSxxQ0FEQSxJQUVBLGlDQUZBLElBRUEsb0NBRkEsSUFFQSwyQkFGQSxJQUVBLDRCQUZBLElBRUEsaUNBRkEsRUFFQSxDQUNBLENBSEEsTUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLGFBdEJBO0FBdUJBO0FBQ0EsU0FwQ0E7QUFxQ0EsdUJBckNBLDZCQXFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQSxTQWhEQTtBQWlEQSx3QkFqREEsNEJBaURBLEdBakRBLEVBaURBO0FBQ0E7QUFDQSxTQW5EQTtBQW9EQSxrQkFwREEsc0JBb0RBLE1BcERBLEVBb0RBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFEQTtBQUVBLDZCQUZBO0FBSUE7O0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUZBLE1BRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0EsYUFIQSxNQUdBLENBRUE7QUFDQTtBQUNBO0FBdEdBLEtBbkJBO0FBMkhBO0FBQ0E7QUFEQSxLQTNIQTtBQThIQTtBQUNBLHlCQURBLCtCQUNBO0FBRUE7QUFDQTtBQUhBO0FBQUE7QUFBQTs7QUFBQTtBQUlBO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTs7QUFDQTtBQUNBO0FBTkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFPQTtBQUNBLFNBVEE7QUFVQSx3QkFWQSw4QkFVQTtBQUNBO0FBQ0EsU0FaQTtBQWFBLHFCQWJBLDJCQWFBO0FBQ0E7QUFDQSxTQWZBO0FBZ0JBLHFCQWhCQSwyQkFnQkE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FyQkE7QUFzQkEsaUJBdEJBLHVCQXNCQTtBQUNBO0FBQ0EsU0F4QkE7QUF5QkEsMEJBekJBLGdDQXlCQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQSxtRUFFQSxDQUZBLE1BRUE7QUFDQTtBQUNBO0FBRUEsNkJBUkE7QUFTQTtBQUNBLHFCQWRBO0FBZUE7QUFDQTtBQUNBLGFBbkJBO0FBb0JBO0FBQ0E7QUFDQSxhQUZBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFGQTtBQUdBLGlCQUpBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQVZBO0FBV0E7QUFDQTtBQS9EQSxLQTlIQTtBQStMQTtBQUNBO0FBQ0EsbUJBREEsc0JBQ0E7QUFDQTtBQUNBO0FBSEE7QUFEQSxLQS9MQTtBQXNNQSxXQXRNQSxxQkFzTUE7QUFBQTs7QUFLQTs7QUFFQTs7QUFJQTtBQUNBO0FBQ0EsU0FGQTtBQUdBLEtBcE5BO0FBcU5BLFdBck5BLHFCQXFOQSxDQUVBO0FBdk5BLEMiLCJmaWxlIjoiNzAuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgPHBhZ2UgIDpzdHlsZT1cInN0eWxlc1wiIDpjb21wb25lbnRDbGFzc2VzPVwiY29tcG9uZW50Q2xhc3Nlc1wiPjwvcGFnZT5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCBQYWdlIGZyb20gJy4vcGFnZS9pbmRleC9pbmRleC52dWUnO1xyXG4vLyDliqDovb3lhoXnva7mj5Lku7blj4rmr4/kuKrljLrlnZflr7nlupTnmoRrZXlcclxuaW1wb3J0IHtTVkN9IGZyb20gJy4vc2VydmljZSc7XHJcbi8vIOWKoOi9vee7hOS7tuW6k1xyXG5pbXBvcnQgZGVmYXVsdENvbXBvbmVudENsYXNzIGZyb20gJy4vY29tcG9uZW50cyc7XHJcbmltcG9ydCBldmVudGJ1cyBmcm9tICcuL3NlcnZpY2UvZXZlbnRidXMnO1xyXG5jb25zdCBwbHVnaW5zQmVsb25nS2V5cyA9IFNWQy5wbHVnaW5zQmVsb25nS2V5cztcclxuY29uc3Qgc29ydGVkUGx1Z2lucyA9IFNWQy5zb3J0ZWRQbHVnaW5zO1xyXG5pbXBvcnQgbWl4VXRpbCBmcm9tICcuL3BsdWdpbnMvc2F2ZS9taXhVdGlsJ1xyXG5cclxuXHJcbmltcG9ydCBTZXJ2aWNlIGZyb20gXCIuL3NlcnZpY2UvdG9vbC1zZXJ2aWNlXCI7XHJcbmltcG9ydCBodHRwTG9hZGluZyBmcm9tIFwiLi91dGlscy9odHRwTG9hZGluZ1wiO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICBtaXhpbnM6W21peFV0aWxdLFxyXG4gICAgZGF0YSAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgc3R5bGVzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOlwiMHB4XCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaXNSZXJ2ZXI6ZmFsc2UsLy9ub3RlIOWIpOaWreaYr+WQpuiiq+i9rOaNouS6hlxyXG4gICAgICAgICAgICBqc29uT2JqOntcclxuICAgICAgICAgICAgICAgIHBhZ2U6e30sXHJcbiAgICAgICAgICAgICAgICBlbGVtZW50czpbXVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH07XHJcbiAgICB9LFxyXG4gICAgbWV0aG9kczp7XHJcbiAgICAgICAgdXBkYXRlSGVpZ2h0KHRvcEhlaWdodCl7XHJcbiAgICAgICAgICAgIHRoaXMuc3R5bGVzLnRvcD10b3BIZWlnaHQ7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBnZXRDb21wb25lbnRzKCl7XHJcbiAgICAgICAgICAgbGV0IGJ1aWx0SW5QbHVnaW5zID0gW107XHJcbiAgICAgICAgICAgY29uc3QgY29udGV4dCA9IHJlcXVpcmUuY29udGV4dChcclxuICAgICAgICAgICAgICAgJy4vY29tcG9uZW50cycsXHJcbiAgICAgICAgICAgICAgIHRydWUsXHJcbiAgICAgICAgICAgICAgIC9pbmRleFxcLih2dWUpJC9cclxuICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICBjb250ZXh0LmtleXMoKS5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgICAgICBsZXQgbXlJdGVtPWNvbnRleHQoaXRlbSkuZGVmYXVsdDtcclxuICAgICAgICAgICAgICAgLy9ub3RlIOWFrOWFsee7hOS7tuWFqOmDqOmihOe9rlxyXG4gICAgICAgICAgICAgICBpZihteUl0ZW0ubmFtZT09XCJnYWVhLWJveFwifHxteUl0ZW0ubmFtZT09XCJnYWVhLWJ0bnMtb3ByYXRvclwifHxteUl0ZW0ubmFtZT09XCJnYWVhLWNvbnRhaW5lclwifHxteUl0ZW0ubmFtZT09XCJnYWVhLXN0ZXBzXCJ8fG15SXRlbS5uYW1lPT1cImdhZWEtdGl0bGVcInx8bXlJdGVtLm5hbWU9PVwiZ2FlYS1idXR0b25cIil7XHJcbiAgICAgICAgICAgICAgICAgICBidWlsdEluUGx1Z2lucy5wdXNoKG15SXRlbSk7XHJcbiAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgLy9ub3RlIOWIpOaWreavj+S4gOatpeaJgOmcgOimgeeahOe7hOS7tlxyXG4gICAgICAgICAgICAgICBlbHNlIGlmKGxvY2FsU3RvcmFnZS5pdGVtU3RlcD09XCIxXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgaWYobXlJdGVtLm5hbWU9PVwiZ2FlYS1mb3JtXCJ8fG15SXRlbS5uYW1lPT1cImdhZWEtZm9ybS10YWJsZVwifHxteUl0ZW0ubmFtZT09XCJnYWVhLWZvcm0tcmFkaW9cInx8bXlJdGVtLm5hbWU9PVwiZ2FlYS1pZGVudGl0eS1jaGVja1wifHxteUl0ZW0ubmFtZT09XCJnYWVhLWRhdGUtcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICB8fG15SXRlbS5uYW1lPT1cImdhZWEtaW5wdXRcInx8bXlJdGVtLm5hbWU9PVwiZ2FlYS1pbnB1dC1udW1iZXJcInx8bXlJdGVtLm5hbWU9PVwiZ2FlYS1yYWRpb1wifHxteUl0ZW0ubmFtZT09XCJnYWVhLXNlbGVjdFwifHxteUl0ZW0ubmFtZT09XCJnYWVhLXRhYmxlLWRhdGVyYW5nZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgfHxteUl0ZW0ubmFtZT09XCJnYWVhLXRhYmxlLWlucHV0XCJ8fG15SXRlbS5uYW1lPT1cImdhZWEtYWRkcmVzcy1zZWxlY3RcInx8bXlJdGVtLm5hbWU9PVwiZ2FlYS1yYWRpb1wifHxteUl0ZW0ubmFtZT09XCJnYWVhLXNlbGVjdFwifHxteUl0ZW0ubmFtZT09XCJnYWVhLXRhYmxlLWlucHV0XCIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgIGJ1aWx0SW5QbHVnaW5zLnB1c2gobXlJdGVtKTtcclxuICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICBpZihteUl0ZW0ubmFtZT09XCJnYWVhLWZvcm1cInx8bXlJdGVtLm5hbWU9PVwiZ2FlYS1mb3JtLXRhYmxlXCJ8fG15SXRlbS5uYW1lPT1cImdhZWEtZm9ybS1yYWRpb1wifHxteUl0ZW0ubmFtZT09XCJnYWVhLWlkZW50aXR5LWNoZWNrXCJ8fG15SXRlbS5uYW1lPT1cImdhZWEtZGF0ZS1waWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIHx8bXlJdGVtLm5hbWU9PVwiZ2FlYS1pbnB1dFwifHxteUl0ZW0ubmFtZT09XCJnYWVhLWlucHV0LW51bWJlclwifHxteUl0ZW0ubmFtZT09XCJnYWVhLXJhZGlvXCJ8fG15SXRlbS5uYW1lPT1cImdhZWEtc2VsZWN0XCJ8fG15SXRlbS5uYW1lPT1cImdhZWEtdGFibGUtZGF0ZXJhbmdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICB8fG15SXRlbS5uYW1lPT1cImdhZWEtdGFibGUtaW5wdXRcInx8bXlJdGVtLm5hbWU9PVwiZ2FlYS1hZGRyZXNzLXNlbGVjdFwifHxteUl0ZW0ubmFtZT09XCJnYWVhLXJhZGlvXCJ8fG15SXRlbS5uYW1lPT1cImdhZWEtc2VsZWN0XCJ8fG15SXRlbS5uYW1lPT1cImdhZWEtdGFibGUtaW5wdXRcIil7XHJcbiAgICAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICBidWlsdEluUGx1Z2lucy5wdXNoKG15SXRlbSk7XHJcbiAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgcmV0dXJuIGJ1aWx0SW5QbHVnaW5zO1xyXG4gICAgICAgfSxcclxuICAgICAgICBleHBvcnRMb2NhbERhdGEoKXtcclxuICAgICAgICAgICAgbGV0IHN0YXRlYUFycj0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzO1xyXG4gICAgICAgICAgICBsZXQgbG9jYWxJbnN0YW5jZXM9IFsuLi5zdGF0ZWFBcnJdO1xyXG4gICAgICAgICAgICBsb2NhbEluc3RhbmNlcy5zcGxpY2UoMCwxKTtcclxuICAgICAgICAgICAgZm9yKGxldCBrZXk9MDtrZXk8bG9jYWxJbnN0YW5jZXMubGVuZ3RoO2tleSsrKXtcclxuICAgICAgICAgICAgICAgIGRlbGV0ZSBsb2NhbEluc3RhbmNlc1trZXldWzFdLnZtO1xyXG4gICAgICAgICAgICAgICAgLy8gdmFsLmRhdGEucHJvcGVydHkudmFsdWU9dmFsLmRhdGEucHJvcGVydHkubGFiZWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc29sZS5sb2cobG9jYWxJbnN0YW5jZXMpOyAvLyBbIDEsIDIsIDMgXSAgb3Blbk1vZGFsVGl0bGVcclxuICAgICAgICAgICAgcmV0dXJuIGxvY2FsSW5zdGFuY2VzO1xyXG4gICAgICAgICAgICAvL2xldCB0ZW1wbGF0ZUpTT049SlNPTi5zdHJpbmdpZnkobG9jYWxJbnN0YW5jZXMpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc2hvd1RlbXBsYXRlVHlwZShvYmope1xyXG4gICAgICAgICAgICBldmVudGJ1cy4kZW1pdChcInNob3dUZW1wbGF0ZVR5cGVcIixvYmopO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXhwb3J0RGF0YShtYXJrZXIpe1xyXG4gICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L2RlbGV0ZURhdGFBcnInLCB7fSk7XHJcbiAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmNvbXBvbmVudFRyZWUpO1xyXG4gICAgICAgICAgICAvLyBsZXQgcGFnZU9iaj0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInBhZ2VcIikpO1xyXG4gICAgICAgICAgICBjb25maWdQYWdlSWRlLnBhZ2UuZnVsbE1vZGVsLnRlbXBsYXRlQ2FjaGUudmFsaWRhdG9ycz1bXTtcclxuICAgICAgICAgICAgdGhpcy5qc29uT2JqLnBhZ2UgPSBjb25maWdQYWdlSWRlLnBhZ2U7XHJcbiAgICAgICAgICAgIHRoaXMuanNvbk9iai5lbGVtZW50cyA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFRyZWVGYWN0b3J5KHRoaXMuY29tcG9uZW50VHJlZSx0aGlzLmpzb25PYmouZWxlbWVudHMpO1xyXG4gICAgICAgICAgICBsZXQgYWxsSnNvbj17XHJcbiAgICAgICAgICAgICAgICBwcmV2aWV3SnNvbjp7fSwvL+mihOiniOeahGpzb25cclxuICAgICAgICAgICAgICAgIGxvY2FsSnNvbjp7fS8v5a2Y5YKo55qEanNvblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBleHBvcnRKc29uID0gIHRoaXMuanNvbk9iajtcclxuICAgICAgICAgIC8qICBsZXQgY29weU9iaj17XHJcbiAgICAgICAgICAgICAgICBkYXRhOnRoaXMuanNvbk9ialxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oZXhwb3J0SnNvbiwgY29weU9iaik7Ki9cclxuXHJcbiAgICAgICAgICAgIC8vbm90ZSDkv53lrZjmqKHmnb/lkoxqc29uXHJcbiAgICAgICAgICAgIC8vbm90ZSDov5nph4zpnaLopoHlgZrkuIDkuKrkv67mlLnvvIznu5nmr4/kuIDkuKpmb3JtIOmHjOmdoua3u+WKoOWtl+auteWxnuaAp++8jOeEtuWQjuaKiuWtl+auteeahOWxnuaAp+aUvuWIsOagoemqjOmHjOmdouWOu1xyXG4gICAgICAgICAgICBsZXQganNvbkFycjI9W107XHJcbiAgICAgICAgICAgIGxldCBwcm9wQXJyPVtdO1xyXG4gICAgICAgICAgICBsZXQgdGFyZ2V0QXJyPVtdO1xyXG4gICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT0wO2k8ZXhwb3J0SnNvbi5lbGVtZW50cy5sZW5ndGg7aSsrKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGV4cG9ydEpzb24uZWxlbWVudHNbaV0uZGF0YS5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICAgICAgICAgIC8v5Yik5pat5re75Yqg55qE5pWw57uE5piv5ZCm5Li656m65LqGXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV4cG9ydEpzb24uZWxlbWVudHNbaV0uZGF0YVtqXS50eXBlID09IFwiZm9ybVwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBqc29uQXJyID0gZXhwb3J0SnNvbi5lbGVtZW50c1tpXS5kYXRhW2pdLmRhdGEuaXRlbXM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IG0gPSAwOyBtIDwganNvbkFyci5sZW5ndGg7IG0rKykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoanNvbkFyclttXS50eXBlPT1cImNoZWNrYm94TXVsdGlwbGVcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwb3J0SnNvbi5wYWdlLmZ1bGxNb2RlbFtqc29uQXJyW21dLnByb3BdPVtdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwb3J0SnNvbi5wYWdlLmZ1bGxNb2RlbFtqc29uQXJyW21dLnByb3BdPVwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUganNvbkFyclttXS5ydWxlcztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhwcm9wQXJyKTtcclxuICAgICAgICAgICAgYWxsSnNvbi5wcmV2aWV3SnNvbj1leHBvcnRKc29uO1xyXG4gICAgICAgICAgICBpZihtYXJrZXI9PTEpe1xyXG4gICAgICAgICAgICAgICAgLy9ub3RlIOS/neWtmCAgZXhwb3J0SnNvblxyXG4gICAgICAgICAgICAgICAgIGFsbEpzb24ubG9jYWxKc29uPXRoaXMuZXhwb3J0TG9jYWxEYXRhKCk7XHJcbiAgICAgICAgICAgIH1lbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vbm90ZSDpooTop4ggMlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBhbGxKc29uO1xyXG4gICAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAgY29tcG9uZW50czoge1xyXG4gICAgICAgIFBhZ2VcclxuICAgIH0sXHJcbiAgICBjb21wdXRlZDoge1xyXG4gICAgICAgIHZpZXdwb3J0SW5zdGFuY2VzICgpIHtcclxuICAgICAgICAgICAgLy9ub3RlIOiOt+WPluaLluaLvee7hOS7tueahOWxnuaAp1xyXG4gICAgICAgICAgICBsZXQgdmlld3Byb3RJbnN0YW5jZXMgPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXM7XHJcbiAgICAgICAgICAgIGxldCBvYmogPSBPYmplY3QuY3JlYXRlKG51bGwpO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBbayx2XSBvZiB2aWV3cHJvdEluc3RhbmNlcykge1xyXG4gICAgICAgICAgICAgICAgb2JqW2tdID0gdjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gb2JqO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgYXBwbGljYXRpb25TdGF0ZSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5hcHBsaWNhdGlvbjtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHZpZXdwb3J0U3RhdGUgKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQ7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wb25lbnRUcmVlICgpIHtcclxuICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgIC8vbm90ZSDojrflj5bnu4Tku7bmoJHlsYLnuqdcclxuICAgICAgICAgICAgbGV0IF9yb290ID0gdGhpcy5kaWd1aSh0aGlzLnZpZXdwb3J0U3RhdGUucm9vdEluc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgcmV0dXJuIFtfcm9vdF1bMF0uY2hpbGRyZW47XHJcbiAgICAgICAgfSxcclxuICAgICAgICBpbnN0YW5jZXMgKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZm9ybVZhbGlkYXRvclJ1bGVzKCl7XHJcbiAgICAgICAgICAgIC8vbm90ZSBydWxlc+agoemqjOinhOWImXJ1bGVz55qE5oq95Y+WXHJcbiAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gXy5waWNrQnkodGhpcy52aWV3cG9ydEluc3RhbmNlcywodmFsdWUpPT57XHJcbiAgICAgICAgICAgICAgICBpZih2YWx1ZS5kYXRhLnZhbGlkYXRlQXJyJiZ2YWx1ZS5kYXRhLnZhbGlkYXRlQXJyLmxlbmd0aD4wKXtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZS5kYXRhLnZhbGlkYXRlQXJyLmZvckVhY2goZnVuY3Rpb24odixrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHYpOyAvL+i/meagt+WwseS8muWIhuWIq+Wwhm5hbWXpgY3ljoblh7rmnaUs5Yik5pat5pyJ5rKh5pyJ5qCh6aqM6IGU5YqoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHYucmVxdWlyZUtleVZhbHVlcyYmdi5yZXF1aXJlS2V5VmFsdWVzLmxlbmd0aD4wKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2LnJlcXVpcmVLZXlWYWx1ZXMuZm9yRWFjaChmdW5jdGlvbih2MSxrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2codjEpOyAvL+i/meagt+WwseS8muWIhuWIq+Wwhm5hbWXpgY3ljoblh7rmnaUs5Yik5pat5pyJ5rKh5pyJ5qCh6aqM6IGU5YqoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodjEudmFsdWVzLmluZGV4T2YoXCIsXCIpPT0tMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDmsqHmib7liLBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjEudmFsdWVzPXYxLnZhbHVlcy5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUuZGF0YS52YWxpZGF0ZUFyciYmdmFsdWUuZGF0YS52YWxpZGF0ZUFyci5sZW5ndGg+MDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IF8ubWFwS2V5cyhyZXN1bHQsKHZhbHVlKT0+e1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmRhdGEucHJvcGVydHkucHJvcDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IF8ubWFwVmFsdWVzKHJlc3VsdCwodmFsdWUpPT57XHJcbiAgICAgICAgICAgICAgICBsZXQgdmFsaWRhdGVBcnIgPSB2YWx1ZS5kYXRhLnZhbGlkYXRlQXJyLm1hcCgodmFsdWUpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF8ucGlja0J5KHZhbHVlLCh2YWx1ZSk9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGlmKCF2YWxpZGF0ZUFyclswXS5yZXF1aXJlZCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGVBcnIuc3BsaWNlKDAsMSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiB2YWxpZGF0ZUFycjtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIHByb3BzOiB7XHJcbiAgICAgICAgY29tcG9uZW50Q2xhc3Nlczoge1xyXG4gICAgICAgICAgICBkZWZhdWx0ICgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBjcmVhdGVkICgpIHtcclxuICAgICAgICAvKmlmKGxvY2FsU3RvcmFnZS5pc1JlZnJlc2gmJmxvY2FsU3RvcmFnZS5pc1JlZnJlc2g9PVwiMVwiKXtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLmlzUmVmcmVzaD1cIjBcIjtcclxuICAgICAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAgICAgfSovXHJcbiAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoZGVmYXVsdENvbXBvbmVudENsYXNzKSk7XHJcbiAgICAgICAgLy90aGlzLmNvbXBvbmVudENsYXNzZXM9dGhpcy5nZXRDb21wb25lbnRzKCk7XHJcbiAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCdhcHBsaWNhdGlvbi9sb2FkQnVpbHRJblBsdWdpbnMnLCB7cGx1Z2luc0JlbG9uZ0tleXMsIHNvcnRlZFBsdWdpbnN9KTtcclxuICAgICAgICAvKnRoaXMuY29tcG9uZW50Q2xhc3Nlcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ2FwcGxpY2F0aW9uL2FkZENvbXBvbmVudENsYXNzJywgaXRlbSk7XHJcbiAgICAgICAgfSk7Ki9cclxuICAgICAgICB0aGlzLmNvbXBvbmVudENsYXNzZXMuY29uY2F0KGRlZmF1bHRDb21wb25lbnRDbGFzcykuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCdhcHBsaWNhdGlvbi9hZGRDb21wb25lbnRDbGFzcycsIGl0ZW0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSxcclxuICAgIG1vdW50ZWQoKXtcclxuXHJcbiAgICB9XHJcblxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuICBodG1sLGJvZHl7aGVpZ2h0OjEwMCV9XHJcbiAgLmZvcm1EaXZ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcbiAgLmZvcm1UYWJsZURpdntcclxuICAgIHdpZHRoOiAyNCU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///70\n");
524
525/***/ }),
526/* 71 */
527/***/ (function(module, exports) {
528
529eval("module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2l0ZXItc3RlcC5qcz85NTk0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsVUFBVTtBQUNWIiwiZmlsZSI6IjcxLmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoZG9uZSwgdmFsdWUpIHtcbiAgcmV0dXJuIHsgdmFsdWU6IHZhbHVlLCBkb25lOiAhIWRvbmUgfTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faXRlci1zdGVwLmpzXG4vLyBtb2R1bGUgaWQgPSA3MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///71\n");
530
531/***/ }),
532/* 72 */
533/***/ (function(module, exports, __webpack_require__) {
534
535eval("var dP = __webpack_require__(17);\nvar anObject = __webpack_require__(20);\nvar getKeys = __webpack_require__(55);\n\nmodule.exports = __webpack_require__(16) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1kcHMuanM/NTZjZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTLG1CQUFPLENBQUMsRUFBYztBQUMvQixlQUFlLG1CQUFPLENBQUMsRUFBYztBQUNyQyxjQUFjLG1CQUFPLENBQUMsRUFBZ0I7O0FBRXRDLGlCQUFpQixtQkFBTyxDQUFDLEVBQWdCO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNzIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZFAgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIGdldEtleXMgPSByZXF1aXJlKCcuL19vYmplY3Qta2V5cycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgPyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyA6IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXMoTywgUHJvcGVydGllcykge1xuICBhbk9iamVjdChPKTtcbiAgdmFyIGtleXMgPSBnZXRLZXlzKFByb3BlcnRpZXMpO1xuICB2YXIgbGVuZ3RoID0ga2V5cy5sZW5ndGg7XG4gIHZhciBpID0gMDtcbiAgdmFyIFA7XG4gIHdoaWxlIChsZW5ndGggPiBpKSBkUC5mKE8sIFAgPSBrZXlzW2krK10sIFByb3BlcnRpZXNbUF0pO1xuICByZXR1cm4gTztcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWRwcy5qc1xuLy8gbW9kdWxlIGlkID0gNzJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///72\n");
536
537/***/ }),
538/* 73 */
539/***/ (function(module, exports, __webpack_require__) {
540
541eval("var core = __webpack_require__(9);\nvar global = __webpack_require__(11);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __webpack_require__(51) ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NoYXJlZC5qcz83MWEwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFdBQVcsbUJBQU8sQ0FBQyxDQUFTO0FBQzVCLGFBQWEsbUJBQU8sQ0FBQyxFQUFXO0FBQ2hDO0FBQ0Esa0RBQWtEOztBQUVsRDtBQUNBLHFFQUFxRTtBQUNyRSxDQUFDO0FBQ0Q7QUFDQSxRQUFRLG1CQUFPLENBQUMsRUFBWTtBQUM1QjtBQUNBLENBQUMiLCJmaWxlIjoiNzMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgY29yZSA9IHJlcXVpcmUoJy4vX2NvcmUnKTtcbnZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBTSEFSRUQgPSAnX19jb3JlLWpzX3NoYXJlZF9fJztcbnZhciBzdG9yZSA9IGdsb2JhbFtTSEFSRURdIHx8IChnbG9iYWxbU0hBUkVEXSA9IHt9KTtcblxuKG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGtleSwgdmFsdWUpIHtcbiAgcmV0dXJuIHN0b3JlW2tleV0gfHwgKHN0b3JlW2tleV0gPSB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiB7fSk7XG59KSgndmVyc2lvbnMnLCBbXSkucHVzaCh7XG4gIHZlcnNpb246IGNvcmUudmVyc2lvbixcbiAgbW9kZTogcmVxdWlyZSgnLi9fbGlicmFyeScpID8gJ3B1cmUnIDogJ2dsb2JhbCcsXG4gIGNvcHlyaWdodDogJ8KpIDIwMTkgRGVuaXMgUHVzaGthcmV2ICh6bG9pcm9jay5ydSknXG59KTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19zaGFyZWQuanNcbi8vIG1vZHVsZSBpZCA9IDczXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///73\n");
542
543/***/ }),
544/* 74 */
545/***/ (function(module, exports) {
546
547eval("// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2VudW0tYnVnLWtleXMuanM/ODZjMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI3NC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIElFIDgtIGRvbid0IGVudW0gYnVnIGtleXNcbm1vZHVsZS5leHBvcnRzID0gKFxuICAnY29uc3RydWN0b3IsaGFzT3duUHJvcGVydHksaXNQcm90b3R5cGVPZixwcm9wZXJ0eUlzRW51bWVyYWJsZSx0b0xvY2FsZVN0cmluZyx0b1N0cmluZyx2YWx1ZU9mJ1xuKS5zcGxpdCgnLCcpO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2VudW0tYnVnLWtleXMuanNcbi8vIG1vZHVsZSBpZCA9IDc0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///74\n");
548
549/***/ }),
550/* 75 */
551/***/ (function(module, exports, __webpack_require__) {
552
553eval("var document = __webpack_require__(11).document;\nmodule.exports = document && document.documentElement;\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2h0bWwuanM/ZDJmYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlLG1CQUFPLENBQUMsRUFBVztBQUNsQyIsImZpbGUiOiI3NS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkb2N1bWVudCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpLmRvY3VtZW50O1xubW9kdWxlLmV4cG9ydHMgPSBkb2N1bWVudCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faHRtbC5qc1xuLy8gbW9kdWxlIGlkID0gNzVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///75\n");
554
555/***/ }),
556/* 76 */
557/***/ (function(module, exports, __webpack_require__) {
558
559"use strict";
560eval("\n\nexports.__esModule = true;\n\nvar _isIterable2 = __webpack_require__(232);\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = __webpack_require__(46);\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if ((0, _isIterable3.default)(Object(arr))) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvaGVscGVycy9zbGljZWRUb0FycmF5LmpzPzI4N2UiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7O0FBRUEsbUJBQW1CLG1CQUFPLENBQUMsR0FBd0I7O0FBRW5EOztBQUVBLG9CQUFvQixtQkFBTyxDQUFDLEVBQXlCOztBQUVyRDs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esd0RBQXdELCtCQUErQjtBQUN2Rjs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiI3Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuXG52YXIgX2lzSXRlcmFibGUyID0gcmVxdWlyZShcIi4uL2NvcmUtanMvaXMtaXRlcmFibGVcIik7XG5cbnZhciBfaXNJdGVyYWJsZTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pc0l0ZXJhYmxlMik7XG5cbnZhciBfZ2V0SXRlcmF0b3IyID0gcmVxdWlyZShcIi4uL2NvcmUtanMvZ2V0LWl0ZXJhdG9yXCIpO1xuXG52YXIgX2dldEl0ZXJhdG9yMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2dldEl0ZXJhdG9yMik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IGZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gc2xpY2VJdGVyYXRvcihhcnIsIGkpIHtcbiAgICB2YXIgX2FyciA9IFtdO1xuICAgIHZhciBfbiA9IHRydWU7XG4gICAgdmFyIF9kID0gZmFsc2U7XG4gICAgdmFyIF9lID0gdW5kZWZpbmVkO1xuXG4gICAgdHJ5IHtcbiAgICAgIGZvciAodmFyIF9pID0gKDAsIF9nZXRJdGVyYXRvcjMuZGVmYXVsdCkoYXJyKSwgX3M7ICEoX24gPSAoX3MgPSBfaS5uZXh0KCkpLmRvbmUpOyBfbiA9IHRydWUpIHtcbiAgICAgICAgX2Fyci5wdXNoKF9zLnZhbHVlKTtcblxuICAgICAgICBpZiAoaSAmJiBfYXJyLmxlbmd0aCA9PT0gaSkgYnJlYWs7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBfZCA9IHRydWU7XG4gICAgICBfZSA9IGVycjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKCFfbiAmJiBfaVtcInJldHVyblwiXSkgX2lbXCJyZXR1cm5cIl0oKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIGlmIChfZCkgdGhyb3cgX2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIF9hcnI7XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24gKGFyciwgaSkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGFycikpIHtcbiAgICAgIHJldHVybiBhcnI7XG4gICAgfSBlbHNlIGlmICgoMCwgX2lzSXRlcmFibGUzLmRlZmF1bHQpKE9iamVjdChhcnIpKSkge1xuICAgICAgcmV0dXJuIHNsaWNlSXRlcmF0b3IoYXJyLCBpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2VcIik7XG4gICAgfVxuICB9O1xufSgpO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19iYWJlbC1ydW50aW1lQDYuMjYuMEBiYWJlbC1ydW50aW1lL2hlbHBlcnMvc2xpY2VkVG9BcnJheS5qc1xuLy8gbW9kdWxlIGlkID0gNzZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///76\n");
561
562/***/ }),
563/* 77 */
564/***/ (function(module, exports, __webpack_require__) {
565
566eval("module.exports = { \"default\": __webpack_require__(235), __esModule: true };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvY29yZS1qcy9vYmplY3QvY3JlYXRlLmpzPzIxODkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQWtCLFlBQVksbUJBQU8sQ0FBQyxHQUFrQyIsImZpbGUiOiI3Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0geyBcImRlZmF1bHRcIjogcmVxdWlyZShcImNvcmUtanMvbGlicmFyeS9mbi9vYmplY3QvY3JlYXRlXCIpLCBfX2VzTW9kdWxlOiB0cnVlIH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvY29yZS1qcy9vYmplY3QvY3JlYXRlLmpzXG4vLyBtb2R1bGUgaWQgPSA3N1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///77\n");
567
568/***/ }),
569/* 78 */
570/***/ (function(module, exports, __webpack_require__) {
571
572eval("// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(20);\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2l0ZXItY2FsbC5qcz8wNjE3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsZUFBZSxtQkFBTyxDQUFDLEVBQWM7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI3OC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGNhbGwgc29tZXRoaW5nIG9uIGl0ZXJhdG9yIHN0ZXAgd2l0aCBzYWZlIGNsb3Npbmcgb24gZXJyb3JcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXRlcmF0b3IsIGZuLCB2YWx1ZSwgZW50cmllcykge1xuICB0cnkge1xuICAgIHJldHVybiBlbnRyaWVzID8gZm4oYW5PYmplY3QodmFsdWUpWzBdLCB2YWx1ZVsxXSkgOiBmbih2YWx1ZSk7XG4gIC8vIDcuNC42IEl0ZXJhdG9yQ2xvc2UoaXRlcmF0b3IsIGNvbXBsZXRpb24pXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB2YXIgcmV0ID0gaXRlcmF0b3JbJ3JldHVybiddO1xuICAgIGlmIChyZXQgIT09IHVuZGVmaW5lZCkgYW5PYmplY3QocmV0LmNhbGwoaXRlcmF0b3IpKTtcbiAgICB0aHJvdyBlO1xuICB9XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2l0ZXItY2FsbC5qc1xuLy8gbW9kdWxlIGlkID0gNzhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///78\n");
573
574/***/ }),
575/* 79 */
576/***/ (function(module, exports, __webpack_require__) {
577
578eval("// check on default Array iterator\nvar Iterators = __webpack_require__(25);\nvar ITERATOR = __webpack_require__(12)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lzLWFycmF5LWl0ZXIuanM/OTE2MCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLGdCQUFnQixtQkFBTyxDQUFDLEVBQWM7QUFDdEMsZUFBZSxtQkFBTyxDQUFDLEVBQVE7QUFDL0I7O0FBRUE7QUFDQTtBQUNBIiwiZmlsZSI6Ijc5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gY2hlY2sgb24gZGVmYXVsdCBBcnJheSBpdGVyYXRvclxudmFyIEl0ZXJhdG9ycyA9IHJlcXVpcmUoJy4vX2l0ZXJhdG9ycycpO1xudmFyIElURVJBVE9SID0gcmVxdWlyZSgnLi9fd2tzJykoJ2l0ZXJhdG9yJyk7XG52YXIgQXJyYXlQcm90byA9IEFycmF5LnByb3RvdHlwZTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGl0ICE9PSB1bmRlZmluZWQgJiYgKEl0ZXJhdG9ycy5BcnJheSA9PT0gaXQgfHwgQXJyYXlQcm90b1tJVEVSQVRPUl0gPT09IGl0KTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faXMtYXJyYXktaXRlci5qc1xuLy8gbW9kdWxlIGlkID0gNzlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///79\n");
579
580/***/ }),
581/* 80 */
582/***/ (function(module, exports, __webpack_require__) {
583
584eval("var ITERATOR = __webpack_require__(12)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2l0ZXItZGV0ZWN0LmpzPzdhOTkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZSxtQkFBTyxDQUFDLEVBQVE7QUFDL0I7O0FBRUE7QUFDQTtBQUNBLGlDQUFpQyxxQkFBcUI7QUFDdEQ7QUFDQSxpQ0FBaUMsU0FBUyxFQUFFO0FBQzVDLENBQUMsWUFBWTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsU0FBUyxxQkFBcUI7QUFDM0QsaUNBQWlDLGFBQWE7QUFDOUM7QUFDQSxHQUFHLFlBQVk7QUFDZjtBQUNBIiwiZmlsZSI6IjgwLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIElURVJBVE9SID0gcmVxdWlyZSgnLi9fd2tzJykoJ2l0ZXJhdG9yJyk7XG52YXIgU0FGRV9DTE9TSU5HID0gZmFsc2U7XG5cbnRyeSB7XG4gIHZhciByaXRlciA9IFs3XVtJVEVSQVRPUl0oKTtcbiAgcml0ZXJbJ3JldHVybiddID0gZnVuY3Rpb24gKCkgeyBTQUZFX0NMT1NJTkcgPSB0cnVlOyB9O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdGhyb3ctbGl0ZXJhbFxuICBBcnJheS5mcm9tKHJpdGVyLCBmdW5jdGlvbiAoKSB7IHRocm93IDI7IH0pO1xufSBjYXRjaCAoZSkgeyAvKiBlbXB0eSAqLyB9XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGV4ZWMsIHNraXBDbG9zaW5nKSB7XG4gIGlmICghc2tpcENsb3NpbmcgJiYgIVNBRkVfQ0xPU0lORykgcmV0dXJuIGZhbHNlO1xuICB2YXIgc2FmZSA9IGZhbHNlO1xuICB0cnkge1xuICAgIHZhciBhcnIgPSBbN107XG4gICAgdmFyIGl0ZXIgPSBhcnJbSVRFUkFUT1JdKCk7XG4gICAgaXRlci5uZXh0ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4geyBkb25lOiBzYWZlID0gdHJ1ZSB9OyB9O1xuICAgIGFycltJVEVSQVRPUl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiBpdGVyOyB9O1xuICAgIGV4ZWMoYXJyKTtcbiAgfSBjYXRjaCAoZSkgeyAvKiBlbXB0eSAqLyB9XG4gIHJldHVybiBzYWZlO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19pdGVyLWRldGVjdC5qc1xuLy8gbW9kdWxlIGlkID0gODBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///80\n");
585
586/***/ }),
587/* 81 */
588/***/ (function(module, exports, __webpack_require__) {
589
590"use strict";
591eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _stringify = __webpack_require__(24);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _index = __webpack_require__(248);\n\nvar components = _interopRequireWildcard(_index);\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nvar _vue = __webpack_require__(62);\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _service = __webpack_require__(34);\n\nvar _viewport = __webpack_require__(576);\n\nvar _viewport2 = _interopRequireDefault(_viewport);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({\n Viewport: _viewport2.default\n }, components),\n props: {\n componentClasses: {\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n isShowLeft: true,\n localInstances: \"\",\n subTitle: \"\",\n modalTitle: \"\",\n modalContent: \"\",\n modal1: false,\n pluginsBelongKeys: _service.SVC.pluginsBelongKeys\n };\n },\n\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n }\n },\n methods: {\n myOk: function myOk() {\n\n var obj = {\n title: this.subTitle,\n data: this.localInstances\n };\n var str = (0, _stringify2.default)(obj);\n },\n cancel: function cancel() {}\n },\n created: function created() {\n this.$store.commit('viewport/initViewport');\n },\n mounted: function mounted() {\n var _this2 = this;\n\n _eventbus2.default.$on(\"openModal\", function (data) {\n _this2.modal1 = true;\n _this2.modalTitle = data.title;\n _this2.modalContent = data.content;\n var child = _vue2.default.extend({ template: '<p>' + _this2.modalContent + '</p>' });\n _this2.$Modal.confirm({\n render: function render(h) {\n return h(child, {\n ref: 'myModal'\n });\n },\n onOk: function onOk() {}\n });\n });\n _eventbus2.default.$on(\"openModalTitle\", function (instances) {\n var localInstances = instances;\n var _this = _this2;\n _this2.$Modal.confirm({\n render: function render(h) {\n return h('Input', {\n props: {\n value: _this2.subTitle,\n autofocus: true,\n placeholder: '请输入模板名称...'\n },\n on: {\n input: function input(val) {\n _this.subTitle = val;\n }\n }\n });\n },\n onOk: function onOk() {\n\n var obj = {\n title: _this.subTitle,\n data: localInstances\n };\n var str = (0, _stringify2.default)(obj);\n console.log(str);\n\n _this2.$http.get('/static/data/page-ide/template-table.json').then(function (response) {});\n }\n });\n });\n },\n beforeDestroy: function beforeDestroy() {\n _eventbus2.default.$off(\"openModal\");\n _eventbus2.default.$off(\"openModalTitle\");\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BhZ2UvaW5kZXgvaW5kZXgudnVlP2RlYzAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztJQXFEQSxVOztBQUNBOzs7O0FBQ0E7Ozs7QUFFQTs7QUFHQTs7Ozs7Ozs7a0JBQ0E7QUFDQTtBQUNBO0FBREEsT0FFQSxVQUZBLENBREE7QUFNQTtBQUNBO0FBQ0EsbUJBREEsc0JBQ0E7QUFDQTtBQUNBO0FBSEE7QUFEQSxLQU5BO0FBYUEsUUFiQSxrQkFhQTtBQUNBO0FBQ0EsNEJBREE7QUFFQSw4QkFGQTtBQUdBLHdCQUhBO0FBSUEsMEJBSkE7QUFLQSw0QkFMQTtBQU1BLHlCQU5BO0FBT0E7QUFQQTtBQVNBLEtBdkJBOztBQXdCQTtBQUNBLHdCQURBLDhCQUNBO0FBQ0E7QUFDQTtBQUhBLEtBeEJBO0FBNkJBO0FBQ0EsWUFEQSxrQkFDQTs7QUFHQTtBQUNBLG9DQURBO0FBRUE7QUFGQTtBQUlBO0FBR0EsU0FYQTtBQVlBLGNBWkEsb0JBWUEsQ0FFQTtBQWRBLEtBN0JBO0FBNkNBLFdBN0NBLHFCQTZDQTtBQUVBO0FBQ0EsS0FoREE7QUFpREEsV0FqREEscUJBaURBO0FBQUE7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFHQSxpQkFMQTtBQU1BLHVDQUdBO0FBVEE7QUFZQSxTQWpCQTtBQWtCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQURBO0FBRUEsMkNBRkE7QUFHQTtBQUhBLHlCQURBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQU5BO0FBWUEsaUJBZEE7QUFlQTs7QUFFQTtBQUNBLDZDQURBO0FBRUE7QUFGQTtBQUlBO0FBQ0E7O0FBRUEsNEdBRUEsQ0FGQTtBQUdBO0FBM0JBO0FBNkJBLFNBaENBO0FBaUNBLEtBckdBO0FBcUdBLGlCQXJHQSwyQkFxR0E7QUFDQTtBQUNBO0FBQ0E7QUF4R0EsQyIsImZpbGUiOiI4MS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgICA8ZGl2ICBpZD1cImdhZWEtZWRpdG9yLXZ1ZVwiPlxyXG4gICAgICAgICAgPENvbnRhaW5lcj5cclxuICAgICAgICAgICAgPExlZnRDb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8TmF2YmFyQ29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxOYXZiYXJDb250YWluZXJMZWZ0IDpzdHlsZT1cIntoZWlnaHQ6YCR7YXBwbGljYXRpb25TdGF0ZS5uYXZiYXJIZWlnaHR9cHhgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y29tcG9uZW50IDppcz1cIml0ZW1cIiB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBwbHVnaW5zQmVsb25nS2V5c1snbmF2YmFyTGVmdCddXCIgOmtleT1cImluZGV4XCI+PC9jb21wb25lbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9OYXZiYXJDb250YWluZXJMZWZ0PlxyXG4gICAgICAgICAgICAgICAgICAgIDxOYXZiYXJDb250YWluZXJSaWdodD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvbXBvbmVudCA6aXM9XCJpdGVtXCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gcGx1Z2luc0JlbG9uZ0tleXNbJ25hdmJhclJpZ2h0J11cIiA6a2V5PVwiaW5kZXhcIj48L2NvbXBvbmVudD5cclxuICAgICAgICAgICAgICAgICAgICA8L05hdmJhckNvbnRhaW5lclJpZ2h0PlxyXG4gICAgICAgICAgICAgICAgPC9OYXZiYXJDb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8Vmlld3BvcnRDb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRlbXBsYXRlIHYtaWY9XCJpc1Nob3dMZWZ0PT10cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxWaWV3cG9ydENvbnRhaW5lckxlZnQgOnRoZW1lPVwie2hpZGRlbjphcHBsaWNhdGlvblN0YXRlLmlzUHJldmlld31cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWaWV3cG9ydENvbnRhaW5lckxlZnRUb3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbXBvbmVudCA6aXM9XCJpdGVtXCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gcGx1Z2luc0JlbG9uZ0tleXNbJ2xlZnRCYXJUb3AnXVwiIDprZXk9XCJpbmRleFwiPjwvY29tcG9uZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9WaWV3cG9ydENvbnRhaW5lckxlZnRUb3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Vmlld3BvcnRDb250YWluZXJMZWZ0Qm90dG9tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgOmlzPVwiaXRlbVwiIHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIHBsdWdpbnNCZWxvbmdLZXlzWydsZWZ0QmFyQm90dG9tJ11cIiA6a2V5PVwiaW5kZXhcIj48L2NvbXBvbmVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVmlld3BvcnRDb250YWluZXJMZWZ0Qm90dG9tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L1ZpZXdwb3J0Q29udGFpbmVyTGVmdD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxWaWV3cG9ydENvbnRhaW5lclJpZ2h0IDp0aGVtZT1cIntzaG93TGVmdDphcHBsaWNhdGlvblN0YXRlLmxlZnRUb29sfVwiIDpzdHlsZT1cImFwcGxpY2F0aW9uU3RhdGUudmlld3BvcnRDb250YWluZXJTdHlsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8VG9vbHNDb250YWluZXIgOnRoZW1lPVwie2Z1bGxTY3JlZW46YXBwbGljYXRpb25TdGF0ZS5yaWdodFRvb2x9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFRvb2xzQ29udGFpbmVyTGVmdCA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29tcG9uZW50IDppcz1cIml0ZW1cIiB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBwbHVnaW5zQmVsb25nS2V5c1tgdG9vbENvbnRhaW5lckxlZnQke2FwcGxpY2F0aW9uU3RhdGUubGVmdFRvb2x9YF1cIiA6a2V5PVwiaW5kZXhcIj48L2NvbXBvbmVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1Rvb2xzQ29udGFpbmVyTGVmdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8VG9vbHNDb250YWluZXJSaWdodCA6dGhlbWU9XCJ7c2hvdzphcHBsaWNhdGlvblN0YXRlLnJpZ2h0VG9vbH1cIiAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvVG9vbHNDb250YWluZXJSaWdodD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9Ub29sc0NvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPFZpZXdwb3J0Q29udGFpbmVyQm94IDp0aGVtZT1cIntoaWRkZW46YXBwbGljYXRpb25TdGF0ZS5yaWdodFRvb2x9XCIgOnN0eWxlPVwiYXBwbGljYXRpb25TdGF0ZS52aWV3cG9ydFN0eWxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Vmlld3BvcnQgIHN0eWxlPVwid2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtcIj48L1ZpZXdwb3J0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbXBvbmVudCA6aXM9XCJpdGVtXCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gcGx1Z2luc0JlbG9uZ0tleXNbJ3ZpZXdwb3J0J11cIiA6a2V5PVwiaW5kZXhcIj48L2NvbXBvbmVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9WaWV3cG9ydENvbnRhaW5lckJveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPFByZXZpZXdDb250YWluZXIgdi1pZj1cImFwcGxpY2F0aW9uU3RhdGUuaXNQcmV2aWV3XCIgIDp0aGVtZT1cIntoaWRkZW46YXBwbGljYXRpb25TdGF0ZS5yaWdodFRvb2x9XCIgOnN0eWxlPVwiYXBwbGljYXRpb25TdGF0ZS52aWV3cG9ydFN0eWxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29tcG9uZW50IDppcz1cIml0ZW1cIiB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBwbHVnaW5zQmVsb25nS2V5c1sncHJldmlldyddXCIgOmtleT1cImluZGV4XCI+PC9jb21wb25lbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvUHJldmlld0NvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L1ZpZXdwb3J0Q29udGFpbmVyUmlnaHQ+XHJcbiAgICAgICAgICAgICAgICA8L1ZpZXdwb3J0Q29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICA8IS0tIDxGb290ZXJDb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNvbXBvbmVudCA6aXM9XCJpdGVtXCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gcGx1Z2luc0JlbG9uZ0tleXNbJ2JvdHRvbUJhciddXCIgOmtleT1cImluZGV4XCI+PC9jb21wb25lbnQ+XHJcbiAgICAgICAgICAgICAgICA8L0Zvb3RlckNvbnRhaW5lcj4tLT5cclxuICAgICAgICAgICAgPC9MZWZ0Q29udGFpbmVyPlxyXG4gICAgICAgICAgICA8UmlnaHRDb250YWluZXIgOnRoZW1lPVwie2hpZGRlbjphcHBsaWNhdGlvblN0YXRlLmlzUHJldmlld31cIiA+XHJcbiAgICAgICAgICAgICAgICA8Y29tcG9uZW50IDppcz1cIml0ZW1cIiB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBwbHVnaW5zQmVsb25nS2V5c1snbWFpblRvb2wnXVwiIDprZXk9XCJpbmRleFwiPjwvY29tcG9uZW50PlxyXG4gICAgICAgICAgICA8L1JpZ2h0Q29udGFpbmVyPlxyXG4gICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuLy8g5Yqg6L295Z+65pys5biD5bGA57uE5Lu2XHJcbmltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9pbmRleC5zdHlsZSc7XHJcbmltcG9ydCBldmVudGJ1cyBmcm9tICcuLi8uLi9zZXJ2aWNlL2V2ZW50YnVzJztcclxuaW1wb3J0IFZ1ZSBmcm9tICd2dWUnO1xyXG4vLyDliqDovb3lhoXnva7mj5Lku7blj4rmr4/kuKrljLrlnZflr7nlupTnmoRrZXlcclxuaW1wb3J0IHtTVkN9IGZyb20gJy4uLy4uL3NlcnZpY2UnO1xyXG4vLyDliqDovb3nu4Tku7blupNcclxuLy8g5Yqg6L29dmlld3BvcnRcclxuaW1wb3J0IFZpZXdwb3J0IGZyb20gJy4uL3ZpZXdwb3J0JztcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgY29tcG9uZW50czoge1xyXG4gICAgICAgIFZpZXdwb3J0LFxyXG4gICAgICAgIC4uLmNvbXBvbmVudHNcclxuICAgICAgICAvLyAuLi5zb3J0ZWRQbHVnaW5zXHJcbiAgICB9LFxyXG4gICAgcHJvcHM6IHtcclxuICAgICAgICBjb21wb25lbnRDbGFzc2VzOiB7XHJcbiAgICAgICAgICAgIGRlZmF1bHQgKCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlzU2hvd0xlZnQ6dHJ1ZSxcclxuICAgICAgICAgICAgbG9jYWxJbnN0YW5jZXM6XCJcIixcclxuICAgICAgICAgICAgc3ViVGl0bGU6XCJcIixcclxuICAgICAgICAgICAgbW9kYWxUaXRsZTpcIlwiLFxyXG4gICAgICAgICAgICBtb2RhbENvbnRlbnQ6XCJcIixcclxuICAgICAgICAgICAgbW9kYWwxOiBmYWxzZSxcclxuICAgICAgICAgICAgcGx1Z2luc0JlbG9uZ0tleXM6IFNWQy5wbHVnaW5zQmVsb25nS2V5c1xyXG4gICAgICAgIH07XHJcbiAgICB9LFxyXG4gICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICBhcHBsaWNhdGlvblN0YXRlICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtZXRob2RzOntcclxuICAgICAgICBteU9rKCkge1xyXG4gICAgICAgICAgICAvLyB0aGlzLiRNZXNzYWdlLmluZm8oJ0NsaWNrZWQgb2snKTtcclxuXHJcbiAgICAgICAgICAgIGxldCBvYmo9e1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6dGhpcy5zdWJUaXRsZSxcclxuICAgICAgICAgICAgICAgIGRhdGE6dGhpcy5sb2NhbEluc3RhbmNlc1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBzdHI9SlNPTi5zdHJpbmdpZnkob2JqKTtcclxuXHJcbiAgICAgICAgICAgIC8vbm90ZSDor7fmsYLlkI7lj7BhamF4XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjYW5jZWwgKCkge1xyXG4gICAgICAgICAgICAvLyB0aGlzLiRNZXNzYWdlLmluZm8oJ0NsaWNrZWQgY2FuY2VsJyk7XHJcbiAgICAgICAgfSxcclxuICAgIH0sXHJcbiAgICBjcmVhdGVkICgpIHtcclxuICAgICAgICAvLyDliJ3lp4vljJbluIPlsYDnu4Tku7ZcclxuICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L2luaXRWaWV3cG9ydCcpO1xyXG4gICAgfSxcclxuICAgIG1vdW50ZWQgKCkge1xyXG4gICAgICAgIGV2ZW50YnVzLiRvbihcIm9wZW5Nb2RhbFwiLCAoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGFsMSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubW9kYWxUaXRsZT1kYXRhLnRpdGxlO1xyXG4gICAgICAgICAgICB0aGlzLm1vZGFsQ29udGVudD1kYXRhLmNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGxldCAgIGNoaWxkPSBWdWUuZXh0ZW5kKHt0ZW1wbGF0ZTonPHA+Jyt0aGlzLm1vZGFsQ29udGVudCsnPC9wPid9KTtcclxuICAgICAgICAgICAgdGhpcy4kTW9kYWwuY29uZmlybSh7XHJcbiAgICAgICAgICAgICAgICByZW5kZXI6IChoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGgoY2hpbGQsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmOiAnbXlNb2RhbCdcclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIG9uT2s6ICgpPT57XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vbm90ZSDor7fmsYLlkI7lj7BhamF4XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcblxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGV2ZW50YnVzLiRvbihcIm9wZW5Nb2RhbFRpdGxlXCIsIChpbnN0YW5jZXMpID0+IHtcclxuICAgICAgICAgICAgbGV0IGxvY2FsSW5zdGFuY2VzPWluc3RhbmNlcztcclxuICAgICAgICAgICAgbGV0ICBfdGhpcz10aGlzO1xyXG4gICAgICAgICAgICB0aGlzLiRNb2RhbC5jb25maXJtKHtcclxuICAgICAgICAgICAgICAgIHJlbmRlcjogKGgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaCgnSW5wdXQnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5zdWJUaXRsZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9mb2N1czogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAn6K+36L6T5YWl5qih5p2/5ZCN56ewLi4uJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvbjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQ6ICh2YWwpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5zdWJUaXRsZSA9IHZhbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgb25PazogKCk9PntcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IG9iaj17XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOl90aGlzLnN1YlRpdGxlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOmxvY2FsSW5zdGFuY2VzXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBzdHI9SlNPTi5zdHJpbmdpZnkob2JqKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhzdHIpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vbm90ZSDor7fmsYLlkI7lj7BhamF4XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kaHR0cC5nZXQoJy9zdGF0aWMvZGF0YS9wYWdlLWlkZS90ZW1wbGF0ZS10YWJsZS5qc29uJykudGhlbigocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy90aGlzLmRhdGE1PXJlc3BvbnNlLmRhdGE7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfSk7XHJcbiAgICB9LGJlZm9yZURlc3Ryb3koKXtcclxuICAgICAgICBldmVudGJ1cy4kb2ZmKFwib3Blbk1vZGFsXCIpO1xyXG4gICAgICAgIGV2ZW50YnVzLiRvZmYoXCJvcGVuTW9kYWxUaXRsZVwiKTtcclxuICAgIH1cclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgc2NvcGVkIGxhbmc9XCJsZXNzXCI+XHJcbiAgIC5oaWRlQm90dG9te1xyXG4gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgfVxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BhZ2UvaW5kZXgvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///81\n");
592
593/***/ }),
594/* 82 */
595/***/ (function(module, exports, __webpack_require__) {
596
597eval("// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(9);\nvar fails = __webpack_require__(26);\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1zYXAuanM/YjUzYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxFQUFXO0FBQ2pDLFdBQVcsbUJBQU8sQ0FBQyxDQUFTO0FBQzVCLFlBQVksbUJBQU8sQ0FBQyxFQUFVO0FBQzlCO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQSxxREFBcUQsT0FBTyxFQUFFO0FBQzlEIiwiZmlsZSI6IjgyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gbW9zdCBPYmplY3QgbWV0aG9kcyBieSBFUzYgc2hvdWxkIGFjY2VwdCBwcmltaXRpdmVzXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIGNvcmUgPSByZXF1aXJlKCcuL19jb3JlJyk7XG52YXIgZmFpbHMgPSByZXF1aXJlKCcuL19mYWlscycpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoS0VZLCBleGVjKSB7XG4gIHZhciBmbiA9IChjb3JlLk9iamVjdCB8fCB7fSlbS0VZXSB8fCBPYmplY3RbS0VZXTtcbiAgdmFyIGV4cCA9IHt9O1xuICBleHBbS0VZXSA9IGV4ZWMoZm4pO1xuICAkZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqIGZhaWxzKGZ1bmN0aW9uICgpIHsgZm4oMSk7IH0pLCAnT2JqZWN0JywgZXhwKTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LXNhcC5qc1xuLy8gbW9kdWxlIGlkID0gODJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///82\n");
598
599/***/ }),
600/* 83 */
601/***/ (function(module, exports) {
602
603eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX3Byb2Nlc3NAMC4xMS4xMEBwcm9jZXNzL2Jyb3dzZXIuanM/NTc0MSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLHNCQUFzQjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUNBQXFDOztBQUVyQztBQUNBO0FBQ0E7O0FBRUEsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixVQUFVIiwiZmlsZSI6IjgzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc2hpbSBmb3IgdXNpbmcgcHJvY2VzcyBpbiBicm93c2VyXG52YXIgcHJvY2VzcyA9IG1vZHVsZS5leHBvcnRzID0ge307XG5cbi8vIGNhY2hlZCBmcm9tIHdoYXRldmVyIGdsb2JhbCBpcyBwcmVzZW50IHNvIHRoYXQgdGVzdCBydW5uZXJzIHRoYXQgc3R1YiBpdFxuLy8gZG9uJ3QgYnJlYWsgdGhpbmdzLiAgQnV0IHdlIG5lZWQgdG8gd3JhcCBpdCBpbiBhIHRyeSBjYXRjaCBpbiBjYXNlIGl0IGlzXG4vLyB3cmFwcGVkIGluIHN0cmljdCBtb2RlIGNvZGUgd2hpY2ggZG9lc24ndCBkZWZpbmUgYW55IGdsb2JhbHMuICBJdCdzIGluc2lkZSBhXG4vLyBmdW5jdGlvbiBiZWNhdXNlIHRyeS9jYXRjaGVzIGRlb3B0aW1pemUgaW4gY2VydGFpbiBlbmdpbmVzLlxuXG52YXIgY2FjaGVkU2V0VGltZW91dDtcbnZhciBjYWNoZWRDbGVhclRpbWVvdXQ7XG5cbmZ1bmN0aW9uIGRlZmF1bHRTZXRUaW1vdXQoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdzZXRUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkJyk7XG59XG5mdW5jdGlvbiBkZWZhdWx0Q2xlYXJUaW1lb3V0ICgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2NsZWFyVGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCcpO1xufVxuKGZ1bmN0aW9uICgpIHtcbiAgICB0cnkge1xuICAgICAgICBpZiAodHlwZW9mIHNldFRpbWVvdXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBzZXRUaW1lb3V0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IGRlZmF1bHRTZXRUaW1vdXQ7XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBkZWZhdWx0U2V0VGltb3V0O1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICBpZiAodHlwZW9mIGNsZWFyVGltZW91dCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gY2xlYXJUaW1lb3V0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gZGVmYXVsdENsZWFyVGltZW91dDtcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gZGVmYXVsdENsZWFyVGltZW91dDtcbiAgICB9XG59ICgpKVxuZnVuY3Rpb24gcnVuVGltZW91dChmdW4pIHtcbiAgICBpZiAoY2FjaGVkU2V0VGltZW91dCA9PT0gc2V0VGltZW91dCkge1xuICAgICAgICAvL25vcm1hbCBlbnZpcm9tZW50cyBpbiBzYW5lIHNpdHVhdGlvbnNcbiAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQoZnVuLCAwKTtcbiAgICB9XG4gICAgLy8gaWYgc2V0VGltZW91dCB3YXNuJ3QgYXZhaWxhYmxlIGJ1dCB3YXMgbGF0dGVyIGRlZmluZWRcbiAgICBpZiAoKGNhY2hlZFNldFRpbWVvdXQgPT09IGRlZmF1bHRTZXRUaW1vdXQgfHwgIWNhY2hlZFNldFRpbWVvdXQpICYmIHNldFRpbWVvdXQpIHtcbiAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IHNldFRpbWVvdXQ7XG4gICAgICAgIHJldHVybiBzZXRUaW1lb3V0KGZ1biwgMCk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIC8vIHdoZW4gd2hlbiBzb21lYm9keSBoYXMgc2NyZXdlZCB3aXRoIHNldFRpbWVvdXQgYnV0IG5vIEkuRS4gbWFkZG5lc3NcbiAgICAgICAgcmV0dXJuIGNhY2hlZFNldFRpbWVvdXQoZnVuLCAwKTtcbiAgICB9IGNhdGNoKGUpe1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gV2hlbiB3ZSBhcmUgaW4gSS5FLiBidXQgdGhlIHNjcmlwdCBoYXMgYmVlbiBldmFsZWQgc28gSS5FLiBkb2Vzbid0IHRydXN0IHRoZSBnbG9iYWwgb2JqZWN0IHdoZW4gY2FsbGVkIG5vcm1hbGx5XG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkU2V0VGltZW91dC5jYWxsKG51bGwsIGZ1biwgMCk7XG4gICAgICAgIH0gY2F0Y2goZSl7XG4gICAgICAgICAgICAvLyBzYW1lIGFzIGFib3ZlIGJ1dCB3aGVuIGl0J3MgYSB2ZXJzaW9uIG9mIEkuRS4gdGhhdCBtdXN0IGhhdmUgdGhlIGdsb2JhbCBvYmplY3QgZm9yICd0aGlzJywgaG9wZnVsbHkgb3VyIGNvbnRleHQgY29ycmVjdCBvdGhlcndpc2UgaXQgd2lsbCB0aHJvdyBhIGdsb2JhbCBlcnJvclxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZFNldFRpbWVvdXQuY2FsbCh0aGlzLCBmdW4sIDApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbn1cbmZ1bmN0aW9uIHJ1bkNsZWFyVGltZW91dChtYXJrZXIpIHtcbiAgICBpZiAoY2FjaGVkQ2xlYXJUaW1lb3V0ID09PSBjbGVhclRpbWVvdXQpIHtcbiAgICAgICAgLy9ub3JtYWwgZW52aXJvbWVudHMgaW4gc2FuZSBzaXR1YXRpb25zXG4gICAgICAgIHJldHVybiBjbGVhclRpbWVvdXQobWFya2VyKTtcbiAgICB9XG4gICAgLy8gaWYgY2xlYXJUaW1lb3V0IHdhc24ndCBhdmFpbGFibGUgYnV0IHdhcyBsYXR0ZXIgZGVmaW5lZFxuICAgIGlmICgoY2FjaGVkQ2xlYXJUaW1lb3V0ID09PSBkZWZhdWx0Q2xlYXJUaW1lb3V0IHx8ICFjYWNoZWRDbGVhclRpbWVvdXQpICYmIGNsZWFyVGltZW91dCkge1xuICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBjbGVhclRpbWVvdXQ7XG4gICAgICAgIHJldHVybiBjbGVhclRpbWVvdXQobWFya2VyKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gd2hlbiB3aGVuIHNvbWVib2R5IGhhcyBzY3Jld2VkIHdpdGggc2V0VGltZW91dCBidXQgbm8gSS5FLiBtYWRkbmVzc1xuICAgICAgICByZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0KG1hcmtlcik7XG4gICAgfSBjYXRjaCAoZSl7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBXaGVuIHdlIGFyZSBpbiBJLkUuIGJ1dCB0aGUgc2NyaXB0IGhhcyBiZWVuIGV2YWxlZCBzbyBJLkUuIGRvZXNuJ3QgIHRydXN0IHRoZSBnbG9iYWwgb2JqZWN0IHdoZW4gY2FsbGVkIG5vcm1hbGx5XG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0LmNhbGwobnVsbCwgbWFya2VyKTtcbiAgICAgICAgfSBjYXRjaCAoZSl7XG4gICAgICAgICAgICAvLyBzYW1lIGFzIGFib3ZlIGJ1dCB3aGVuIGl0J3MgYSB2ZXJzaW9uIG9mIEkuRS4gdGhhdCBtdXN0IGhhdmUgdGhlIGdsb2JhbCBvYmplY3QgZm9yICd0aGlzJywgaG9wZnVsbHkgb3VyIGNvbnRleHQgY29ycmVjdCBvdGhlcndpc2UgaXQgd2lsbCB0aHJvdyBhIGdsb2JhbCBlcnJvci5cbiAgICAgICAgICAgIC8vIFNvbWUgdmVyc2lvbnMgb2YgSS5FLiBoYXZlIGRpZmZlcmVudCBydWxlcyBmb3IgY2xlYXJUaW1lb3V0IHZzIHNldFRpbWVvdXRcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQuY2FsbCh0aGlzLCBtYXJrZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG5cblxufVxudmFyIHF1ZXVlID0gW107XG52YXIgZHJhaW5pbmcgPSBmYWxzZTtcbnZhciBjdXJyZW50UXVldWU7XG52YXIgcXVldWVJbmRleCA9IC0xO1xuXG5mdW5jdGlvbiBjbGVhblVwTmV4dFRpY2soKSB7XG4gICAgaWYgKCFkcmFpbmluZyB8fCAhY3VycmVudFF1ZXVlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZHJhaW5pbmcgPSBmYWxzZTtcbiAgICBpZiAoY3VycmVudFF1ZXVlLmxlbmd0aCkge1xuICAgICAgICBxdWV1ZSA9IGN1cnJlbnRRdWV1ZS5jb25jYXQocXVldWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHF1ZXVlSW5kZXggPSAtMTtcbiAgICB9XG4gICAgaWYgKHF1ZXVlLmxlbmd0aCkge1xuICAgICAgICBkcmFpblF1ZXVlKCk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBkcmFpblF1ZXVlKCkge1xuICAgIGlmIChkcmFpbmluZykge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciB0aW1lb3V0ID0gcnVuVGltZW91dChjbGVhblVwTmV4dFRpY2spO1xuICAgIGRyYWluaW5nID0gdHJ1ZTtcblxuICAgIHZhciBsZW4gPSBxdWV1ZS5sZW5ndGg7XG4gICAgd2hpbGUobGVuKSB7XG4gICAgICAgIGN1cnJlbnRRdWV1ZSA9IHF1ZXVlO1xuICAgICAgICBxdWV1ZSA9IFtdO1xuICAgICAgICB3aGlsZSAoKytxdWV1ZUluZGV4IDwgbGVuKSB7XG4gICAgICAgICAgICBpZiAoY3VycmVudFF1ZXVlKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudFF1ZXVlW3F1ZXVlSW5kZXhdLnJ1bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHF1ZXVlSW5kZXggPSAtMTtcbiAgICAgICAgbGVuID0gcXVldWUubGVuZ3RoO1xuICAgIH1cbiAgICBjdXJyZW50UXVldWUgPSBudWxsO1xuICAgIGRyYWluaW5nID0gZmFsc2U7XG4gICAgcnVuQ2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xufVxuXG5wcm9jZXNzLm5leHRUaWNrID0gZnVuY3Rpb24gKGZ1bikge1xuICAgIHZhciBhcmdzID0gbmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGggLSAxKTtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGFyZ3NbaSAtIDFdID0gYXJndW1lbnRzW2ldO1xuICAgICAgICB9XG4gICAgfVxuICAgIHF1ZXVlLnB1c2gobmV3IEl0ZW0oZnVuLCBhcmdzKSk7XG4gICAgaWYgKHF1ZXVlLmxlbmd0aCA9PT0gMSAmJiAhZHJhaW5pbmcpIHtcbiAgICAgICAgcnVuVGltZW91dChkcmFpblF1ZXVlKTtcbiAgICB9XG59O1xuXG4vLyB2OCBsaWtlcyBwcmVkaWN0aWJsZSBvYmplY3RzXG5mdW5jdGlvbiBJdGVtKGZ1biwgYXJyYXkpIHtcbiAgICB0aGlzLmZ1biA9IGZ1bjtcbiAgICB0aGlzLmFycmF5ID0gYXJyYXk7XG59XG5JdGVtLnByb3RvdHlwZS5ydW4gPSBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5mdW4uYXBwbHkobnVsbCwgdGhpcy5hcnJheSk7XG59O1xucHJvY2Vzcy50aXRsZSA9ICdicm93c2VyJztcbnByb2Nlc3MuYnJvd3NlciA9IHRydWU7XG5wcm9jZXNzLmVudiA9IHt9O1xucHJvY2Vzcy5hcmd2ID0gW107XG5wcm9jZXNzLnZlcnNpb24gPSAnJzsgLy8gZW1wdHkgc3RyaW5nIHRvIGF2b2lkIHJlZ2V4cCBpc3N1ZXNcbnByb2Nlc3MudmVyc2lvbnMgPSB7fTtcblxuZnVuY3Rpb24gbm9vcCgpIHt9XG5cbnByb2Nlc3Mub24gPSBub29wO1xucHJvY2Vzcy5hZGRMaXN0ZW5lciA9IG5vb3A7XG5wcm9jZXNzLm9uY2UgPSBub29wO1xucHJvY2Vzcy5vZmYgPSBub29wO1xucHJvY2Vzcy5yZW1vdmVMaXN0ZW5lciA9IG5vb3A7XG5wcm9jZXNzLnJlbW92ZUFsbExpc3RlbmVycyA9IG5vb3A7XG5wcm9jZXNzLmVtaXQgPSBub29wO1xucHJvY2Vzcy5wcmVwZW5kTGlzdGVuZXIgPSBub29wO1xucHJvY2Vzcy5wcmVwZW5kT25jZUxpc3RlbmVyID0gbm9vcDtcblxucHJvY2Vzcy5saXN0ZW5lcnMgPSBmdW5jdGlvbiAobmFtZSkgeyByZXR1cm4gW10gfVxuXG5wcm9jZXNzLmJpbmRpbmcgPSBmdW5jdGlvbiAobmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcigncHJvY2Vzcy5iaW5kaW5nIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbn07XG5cbnByb2Nlc3MuY3dkID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gJy8nIH07XG5wcm9jZXNzLmNoZGlyID0gZnVuY3Rpb24gKGRpcikge1xuICAgIHRocm93IG5ldyBFcnJvcigncHJvY2Vzcy5jaGRpciBpcyBub3Qgc3VwcG9ydGVkJyk7XG59O1xucHJvY2Vzcy51bWFzayA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gMDsgfTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19wcm9jZXNzQDAuMTEuMTBAcHJvY2Vzcy9icm93c2VyLmpzXG4vLyBtb2R1bGUgaWQgPSA4M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///83\n");
604
605/***/ }),
606/* 84 */
607/***/ (function(module, exports, __webpack_require__) {
608
609"use strict";
610eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _style = __webpack_require__(263);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nexports.default = {\n components: components,\n position: 'bottomBar',\n name: 'crumbs',\n computed: {\n finderPath: function finderPath() {\n var finderPath = [this.$store.state.viewport.currentEditInstanceKey];\n if (this.$store.state.viewport.currentEditInstanceKey === null) {\n return [];\n }\n var instance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n if (!instance) {\n return [this.$store.state.viewport.rootInstanceKey];\n }\n\n if (instance.parentInstanceKey === null) {\n return [this.$store.state.viewport.rootInstanceKey];\n }\n\n while (this.$store.state.viewport.instances.get(instance.parentInstanceKey).parentInstanceKey !== null) {\n finderPath.unshift(instance.parentInstanceKey);\n instance = this.$store.state.viewport.instances.get(instance.parentInstanceKey);\n }\n finderPath.unshift(this.$store.state.viewport.rootInstanceKey);\n\n return finderPath;\n }\n },\n data: function data() {\n return {\n keys: null\n };\n },\n\n methods: {\n handlerHover: function handlerHover(instanceKey) {\n this.$store.commit('viewport/setCurrentHoverInstanceKey', instanceKey);\n _eventbus2.default.$emit(this.$store.state.viewport.mouseHoveringCrumbItem);\n },\n handlerMouseLeave: function handlerMouseLeave(e) {\n this.$store.commit('viewport/setCurrentHoverInstanceKey', null);\n _eventbus2.default.$emit(this.$store.state.viewport.mouseLeaveCrumbItem);\n }\n },\n mounted: function mounted() {}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvY3J1bWJzL2luZGV4LnZ1ZT8yOGE3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0lBaUJBLFU7O0FBQ0E7Ozs7Ozs7O2tCQUVBO0FBQ0EsMEJBREE7QUFFQSx5QkFGQTtBQUdBLGtCQUhBO0FBSUE7QUFDQSxrQkFEQSx3QkFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUF2QkEsS0FKQTtBQTZCQSxRQTdCQSxrQkE2QkE7QUFDQTtBQUNBO0FBREE7QUFHQSxLQWpDQTs7QUFrQ0E7QUFDQSxvQkFEQSx3QkFDQSxXQURBLEVBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FKQTtBQUtBLHlCQUxBLDZCQUtBLENBTEEsRUFLQTtBQUNBO0FBQ0E7QUFDQTtBQVJBLEtBbENBO0FBNENBLFdBNUNBLHFCQTRDQSxDQUNBO0FBN0NBLEMiLCJmaWxlIjoiODQuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2PlxyXG4gICAgICAgIDxDb250YWluZXI+XHJcbiAgICAgICAgICAgIDxBdXRvV2lkdGhDb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8Rm9vdGVySXRlbSB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBmaW5kZXJQYXRoXCIgOmtleT1cImluZGV4XCIgQG1vdXNlb3Zlci5uYXRpdmU9XCJoYW5kbGVySG92ZXIoaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1vdXNlbGVhdmUubmF0aXZlPVwiaGFuZGxlck1vdXNlTGVhdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e2l0ZW19fVxyXG4gICAgICAgICAgICAgICAgICAgIDxyaWdodEljb25Db250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxyaWdodEljb24vPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvcmlnaHRJY29uQ29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9Gb290ZXJJdGVtPlxyXG4gICAgICAgICAgICA8L0F1dG9XaWR0aENvbnRhaW5lcj5cclxuICAgICAgICA8L0NvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIGltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbiAgICBpbXBvcnQgZXZlbnRidXMgZnJvbSAnLi4vLi4vc2VydmljZS9ldmVudGJ1cyc7XHJcblxyXG4gICAgZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgICAgIGNvbXBvbmVudHMsXHJcbiAgICAgICAgcG9zaXRpb246ICdib3R0b21CYXInLFxyXG4gICAgICAgIG5hbWU6ICdjcnVtYnMnLFxyXG4gICAgICAgIGNvbXB1dGVkOiB7XHJcbiAgICAgICAgICAgIGZpbmRlclBhdGgoKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmaW5kZXJQYXRoID0gW3RoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXldO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW107XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgaW5zdGFuY2UgPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgLy/kuI3lrZjlnKjku6Pooajlt7Lnu4/liKDpmaRcclxuICAgICAgICAgICAgICAgIGlmICghaW5zdGFuY2UpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW3RoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LnJvb3RJbnN0YW5jZUtleV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyDlpoLmnpzlt7Lnu4/mmK/moLnlhYPntKAsIOebtOaOpei/lOWbnuepuuaVsOe7hFxyXG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnBhcmVudEluc3RhbmNlS2V5ID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFt0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5yb290SW5zdGFuY2VLZXldO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8g55u05Yiw54i257qn5piv5qC55YWD57Sg5Li65q2iXHJcbiAgICAgICAgICAgICAgICB3aGlsZSAodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzLmdldChpbnN0YW5jZS5wYXJlbnRJbnN0YW5jZUtleSkucGFyZW50SW5zdGFuY2VLZXkgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICBmaW5kZXJQYXRoLnVuc2hpZnQoaW5zdGFuY2UucGFyZW50SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlID0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzLmdldChpbnN0YW5jZS5wYXJlbnRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBmaW5kZXJQYXRoLnVuc2hpZnQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQucm9vdEluc3RhbmNlS2V5KTtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmluZGVyUGF0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGF0YSgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGtleXM6IG51bGxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG1ldGhvZHM6IHtcclxuICAgICAgICAgICAgaGFuZGxlckhvdmVyKGluc3RhbmNlS2V5KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L3NldEN1cnJlbnRIb3Zlckluc3RhbmNlS2V5JywgaW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgZXZlbnRidXMuJGVtaXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQubW91c2VIb3ZlcmluZ0NydW1iSXRlbSk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGhhbmRsZXJNb3VzZUxlYXZlKGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvc2V0Q3VycmVudEhvdmVySW5zdGFuY2VLZXknLCBudWxsKTtcclxuICAgICAgICAgICAgICAgIGV2ZW50YnVzLiRlbWl0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lm1vdXNlTGVhdmVDcnVtYkl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtb3VudGVkKCkge1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL2NydW1icy9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///84\n");
611
612/***/ }),
613/* 85 */
614/***/ (function(module, exports, __webpack_require__) {
615
616"use strict";
617eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _style = __webpack_require__(270);\n\nvar components = _interopRequireWildcard(_style);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nexports.default = {\n components: components,\n position: 'leftBarTop',\n name: 'drage-menu-button',\n data: function data() {\n return {\n isActive: false\n };\n },\n\n computed: {\n leftTool: function leftTool() {\n return this.$store.state.application.leftTool;\n }\n },\n methods: {\n triggerClick: function triggerClick() {\n if (!this.leftTool) {\n this.$store.commit('application/setLeftTool', 'DragMenu');\n } else {\n this.$store.commit('application/setLeftTool', null);\n }\n this.$store.commit('application/setRightTool', null);\n }\n },\n mounted: function mounted() {\n this.$store.commit('application/setLeftTool', 'DragMenu');\n this.$store.commit('application/setRightTool', null);\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvZHJhZy1tZW51LWJ1dHRvbi9pbmRleC52dWU/NzJhMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztJQWVBLFU7Ozs7a0JBQ0E7QUFDQSwwQkFEQTtBQUVBLDBCQUZBO0FBR0EsNkJBSEE7QUFJQSxRQUpBLGtCQUlBO0FBQ0E7QUFDQTtBQURBO0FBR0EsS0FSQTs7QUFTQTtBQUNBLGdCQURBLHNCQUNBO0FBQ0E7QUFDQTtBQUhBLEtBVEE7QUFjQTtBQUNBLG9CQURBLDBCQUNBO0FBQ0E7QUFDQTtBQUNBLGFBRkEsTUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUkEsS0FkQTtBQXdCQSxXQXhCQSxxQkF3QkE7QUFDQTtBQUNBO0FBQ0E7QUEzQkEsQyIsImZpbGUiOiI4NS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgIDxkaXY+XHJcbiAgICAgICAgPENvbnRhaW5lciAgOnRoZW1lPVwie2FjdGl2ZTpsZWZ0VG9vbH1cIiA+XHJcbiAgICAgICAgICA8VG9vbHRpcCBjb250ZW50PVwi6YCJ5oup5o6n5Lu2XCIgcGxhY2VtZW50PVwicmlnaHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uZm9udCBpY29uLWppYW5cIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxJY29uQ29udGFpbmVyIEBjbGljay5uYXRpdmU9XCJ0cmlnZ2VyQ2xpY2tcIj5cclxuICAgICAgICAgICAgICAgICA8IS0tIDxJY29uIHR5cGU9XCJtZC1hcHBzXCI+PC9JY29uPi0tPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbmZvbnQgaWNvbi1qaWFuXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvSWNvbkNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvVG9vbHRpcD5cclxuICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQgKiBhcyBjb21wb25lbnRzIGZyb20gJy4vc3R5bGUnO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICBjb21wb25lbnRzLFxyXG4gICAgcG9zaXRpb246ICdsZWZ0QmFyVG9wJyxcclxuICAgIG5hbWU6ICdkcmFnZS1tZW51LWJ1dHRvbicsXHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpc0FjdGl2ZTogZmFsc2VcclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIGNvbXB1dGVkOiB7XHJcbiAgICAgICAgbGVmdFRvb2wgKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUuYXBwbGljYXRpb24ubGVmdFRvb2w7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIG1ldGhvZHM6IHtcclxuICAgICAgICB0cmlnZ2VyQ2xpY2sgKCkge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMubGVmdFRvb2wpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgnYXBwbGljYXRpb24vc2V0TGVmdFRvb2wnLCAnRHJhZ01lbnUnKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgnYXBwbGljYXRpb24vc2V0TGVmdFRvb2wnLCBudWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ2FwcGxpY2F0aW9uL3NldFJpZ2h0VG9vbCcsIG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgbW91bnRlZCgpe1xyXG4gICAgdGhpcy4kc3RvcmUuY29tbWl0KCdhcHBsaWNhdGlvbi9zZXRMZWZ0VG9vbCcsICdEcmFnTWVudScpO1xyXG4gICAgdGhpcy4kc3RvcmUuY29tbWl0KCdhcHBsaWNhdGlvbi9zZXRSaWdodFRvb2wnLCBudWxsKTtcclxuICB9XHJcbn07XHJcbjwvc2NyaXB0PlxyXG48c3R5bGUgc2NvcGVkPlxyXG48L3N0eWxlPlxyXG48c3R5bGU+XHJcblxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvZHJhZy1tZW51LWJ1dHRvbi9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///85\n");
618
619/***/ }),
620/* 86 */
621/***/ (function(module, exports, __webpack_require__) {
622
623"use strict";
624eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _from = __webpack_require__(60);\n\nvar _from2 = _interopRequireDefault(_from);\n\nvar _style = __webpack_require__(275);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: components,\n position: 'toolContainerLeftDragMenu',\n name: 'drage-menu',\n computed: {\n componentClasses: function componentClasses() {\n return (0, _from2.default)(this.$store.state.application.componentClasses);\n }\n },\n methods: {\n handleCloseLeftBar: function handleCloseLeftBar() {\n this.$store.commit('application/setLeftTool', null);\n this.$store.commit('application/setRightTool', null);\n }\n },\n data: function data() {\n return {\n hackReset: true\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n _eventbus2.default.$on(\"hackReset\", function (data) {\n\n _this.hackReset = false;\n _this.$nextTick(function () {\n _this.hackReset = true;\n });\n });\n this.$store.commit('viewport/registerOuterDrag', this.$refs.listContainer.$el);\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvZHJhZy1tZW51L2luZGV4LnZ1ZT8wOWU1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQWlDQSxVOztBQUVBOzs7Ozs7OztrQkFDQTtBQUNBLDBCQURBO0FBRUEseUNBRkE7QUFHQSxzQkFIQTtBQUlBO0FBQ0Esd0JBREEsOEJBQ0E7QUFFQTtBQUNBO0FBSkEsS0FKQTtBQVVBO0FBQ0EsMEJBREEsZ0NBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQSxLQVZBO0FBZ0JBLFFBaEJBLGtCQWdCQTtBQUNBO0FBQ0E7QUFEQTtBQUdBLEtBcEJBO0FBcUJBLFdBckJBLHFCQXFCQTtBQUFBOztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBRkE7QUFHQSxTQU5BO0FBT0E7QUFDQTtBQTlCQSxDIiwiZmlsZSI6Ijg2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gICAgPGRpdj5cclxuICAgICAgICA8Q29udGFpbmVyPlxyXG4gICAgICAgICAgICA8ZGl2IHYtaWY9XCJoYWNrUmVzZXRcIj5cclxuICAgICAgICAgICAgICAgIDxUaXRsZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2Pue7hOS7tuW6kzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8IS0tICA8Q2xvc2VDb250YWluZXIgQGNsaWNrLm5hdGl2ZT1cImhhbmRsZUNsb3NlTGVmdEJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8SWNvbiB0eXBlPVwibWQtY2xvc2VcIj48L0ljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9DbG9zZUNvbnRhaW5lcj4tLT5cclxuICAgICAgICAgICAgICAgIDwvVGl0bGU+XHJcblxyXG4gICAgICAgICAgICAgICAgPExpc3RDb250YWluZXIgcmVmPVwibGlzdENvbnRhaW5lclwiIGNsYXNzPVwiaWRlLXNjcm9sbENsYXNzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAgPGRpdiBjbGFzcz1cImNvbGxhcHNlLWhlYWRlclwiPuWuueWZqDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxHYWVhQ29tcG9uZW50IHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIGNvbXBvbmVudENsYXNzZXNcIiA6a2V5PVwiaW5kZXhcIiB2LWlmPVwiaXRlbVsxXS5sZXZlbD09MVwiIDpkYXRhLWdhZWEtS2V5PVwiaXRlbVsxXS5lZGl0U2V0dGluZy5rZXlcIiA+e3tpdGVtWzFdLmVkaXRTZXR0aW5nLm5hbWV9fTwvR2FlYUNvbXBvbmVudD5cclxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbGxhcHNlLWhlYWRlclwiPue7hOS7tjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICA8R2FlYUNvbXBvbmVudCB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBjb21wb25lbnRDbGFzc2VzXCIgOmtleT1cImluZGV4XCIgdi1pZj1cIml0ZW1bMV0ubGV2ZWw9PTJcIiA6ZGF0YS1nYWVhLUtleT1cIml0ZW1bMV0uZWRpdFNldHRpbmcua2V5XCIgPnt7aXRlbVsxXS5lZGl0U2V0dGluZy5uYW1lfX08L0dhZWFDb21wb25lbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xsYXBzZS1oZWFkZXJcIj7mjqfku7Y8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgPEdhZWFDb21wb25lbnQgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gY29tcG9uZW50Q2xhc3Nlc1wiICA6a2V5PVwiaW5kZXhcIiAgdi1pZj1cIml0ZW1bMV0ubGV2ZWw9PTNcIiA6ZGF0YS1nYWVhLUtleT1cIml0ZW1bMV0uZWRpdFNldHRpbmcua2V5XCIgPnt7aXRlbVsxXS5lZGl0U2V0dGluZy5uYW1lfX08L0dhZWFDb21wb25lbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sbGFwc2UtaGVhZGVyXCI+5q2j5byP546v5aKD5bCG5Lya6ZqQ6JePPC9kaXY+LS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPEdhZWFDb21wb25lbnQgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gY29tcG9uZW50Q2xhc3Nlc1wiIDprZXk9XCJpbmRleFwiIHYtaWY9XCJpdGVtWzFdLmxldmVsPT00XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ZGF0YS1nYWVhLUtleT1cIml0ZW1bMV0uZWRpdFNldHRpbmcua2V5XCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlkZS1tZW51SXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2l0ZW1bMV0uZWRpdFNldHRpbmcubmFtZX19XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uZm9udCBpY29uLXJlY2EtaWNvbl9yb3VuZHJlZHVjZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L0dhZWFDb21wb25lbnQ+XHJcbiAgICAgICAgICAgICAgICA8L0xpc3RDb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG4gICAgaW1wb3J0ICogYXMgY29tcG9uZW50cyBmcm9tICcuL3N0eWxlJztcclxuXHJcbiAgICBpbXBvcnQgZXZlbnRidXMgZnJvbSAnLi4vLi4vLi4vbGliL3NlcnZpY2UvZXZlbnRidXMnO1xyXG4gICAgZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgICAgIGNvbXBvbmVudHMsXHJcbiAgICAgICAgcG9zaXRpb246ICd0b29sQ29udGFpbmVyTGVmdERyYWdNZW51JyxcclxuICAgICAgICBuYW1lOiAnZHJhZ2UtbWVudScsXHJcbiAgICAgICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICAgICAgY29tcG9uZW50Q2xhc3NlcyAoKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXAg6L2sIEFycmF5XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLiRzdG9yZS5zdGF0ZS5hcHBsaWNhdGlvbi5jb21wb25lbnRDbGFzc2VzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWV0aG9kczoge1xyXG4gICAgICAgICAgICBoYW5kbGVDbG9zZUxlZnRCYXIgKCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCdhcHBsaWNhdGlvbi9zZXRMZWZ0VG9vbCcsIG51bGwpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCdhcHBsaWNhdGlvbi9zZXRSaWdodFRvb2wnLCBudWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGF0YSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBoYWNrUmVzZXQ6dHJ1ZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbW91bnRlZCAoKSB7XHJcbiAgICAgICAgICAgIGV2ZW50YnVzLiRvbihcImhhY2tSZXNldFwiLCAoZGF0YSkgPT4ge1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuaGFja1Jlc2V0ID0gZmFsc2VcclxuICAgICAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhY2tSZXNldCA9IHRydWVcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9yZWdpc3Rlck91dGVyRHJhZycsIHRoaXMuJHJlZnMubGlzdENvbnRhaW5lci4kZWwpO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIHNjb3BlZCBsYW5nPVwibGVzc1wiPlxyXG5cclxuICAgIC5pZGUtc2Nyb2xsQ2xhc3N7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgbWluLWhlaWdodDogNDUwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNDBweDtcclxuICAgICAgICBsZWZ0OiAxM3B4O1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gICAgLmxldmVsM3tcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgICAuY29sbGFwc2UtaGVhZGVyIHtcclxuICAgICAgICBoZWlnaHQ6IDM4cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xyXG4gICAgICAgIGNvbG9yOiAjNjY2O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICB9XHJcbiAgICAuaHdFaGpsIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2Q5ZDlkOTtcclxuICAgICAgICBjdXJzb3I6IG1vdmU7XHJcbiAgICB9XHJcbiAgICAuaWRlLW1lbnVJdGVtIHtcclxuICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgIGNvbG9yOiAjMTkxZjI1O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIH1cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL2RyYWctbWVudS9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///86\n");
625
626/***/ }),
627/* 87 */
628/***/ (function(module, exports, __webpack_require__) {
629
630"use strict";
631eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(23);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _stringify = __webpack_require__(24);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nvar _toConsumableArray2 = __webpack_require__(18);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _style = __webpack_require__(282);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nvar _mount = __webpack_require__(42);\n\nvar _toolService = __webpack_require__(14);\n\nvar _toolService2 = _interopRequireDefault(_toolService);\n\nvar _httpLoading = __webpack_require__(43);\n\nvar _httpLoading2 = _interopRequireDefault(_httpLoading);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: components,\n data: function data() {\n return {\n isLoadedDate: false,\n stepList: [{\n value: '1',\n label: '第一步'\n }, {\n value: '2',\n label: '第二步'\n }, {\n value: '3',\n label: '第三步'\n }, {\n value: '4',\n label: '第四步'\n }, {\n value: '5',\n label: '第五步'\n }],\n showServerForm: true,\n showBaseInfoForm: false,\n modalTitle: \"模板数据配置\",\n showModal: false,\n currentStep: \"1\",\n localInstance: []\n };\n },\n\n position: 'navbarLeft',\n name: 'globalSettings',\n methods: {\n isIE: function isIE() {\n if (!!window.ActiveXObject || \"ActiveXObject\" in window) {\n return true;\n } else {\n return false;\n }\n },\n setMyCurrentStep: function setMyCurrentStep(item) {\n var _this2 = this;\n\n console.log(item);\n debugger;\n var currentStep = localStorage.itemStep;\n var _this = this;\n\n if (currentStep == item) {} else if (currentStep != \"\" && parseInt(currentStep) > parseInt(item)) {\n localStorage.itemStep = item;\n _this.$store.commit('viewport/deleteLevel1Data', {});\n this.isLoadedDate = false;\n } else if (currentStep != \"\" && parseInt(item) < parseInt(currentStep) || parseInt(currentStep) + 1 == parseInt(item)) {\n console.log(111);\n\n var params = {\n itemNo: localStorage.itemNo,\n itemStep: currentStep,\n jsonType: 1\n };\n _toolService2.default.selectTemplateInfo(params).then(function (res) {\n if (typeof res != \"undefined\") {\n _this2.$Modal.confirm({\n title: '友情提示!',\n content: '切换完成将会清空数据,是否继续?',\n onOk: function onOk() {\n localStorage.itemStep = item;\n _this.$store.commit('viewport/deleteLevel1Data', {});\n },\n onCancel: function onCancel() {\n _this.currentStep = localStorage.itemStep;\n }\n });\n } else {\n _this2.$Modal.success({\n title: \"友情提示\",\n content: \"当前步骤为未完成,请按步骤创建。\",\n onOk: function onOk() {\n debugger;\n _this.currentStep = localStorage.itemStep;\n },\n onCancel: function onCancel() {}\n });\n }\n });\n } else {\n this.$Modal.success({\n title: \"友情提示\",\n content: \"请按步骤创建\",\n onOk: function onOk() {\n _this.currentStep = localStorage.itemStep;\n debugger;\n },\n onCancel: function onCancel() {}\n });\n }\n debugger;\n },\n showData: function showData() {\n var localInstance = this.$store.state.viewport.localInstances;\n this.$store.commit('viewport/updateData', localInstance);\n },\n saveInstance: function saveInstance() {\n this.$store.commit('viewport/saveLocalInstances', {});\n this.$Modal.success({\n title: \"友情提示\",\n content: \"保存成功\"\n });\n },\n initTemplateInstance: function initTemplateInstance() {\n var instances = this.$store.state.viewport.instances;\n instances = [].concat((0, _toConsumableArray3.default)(instances));\n var localInstance = this.$store.state.viewport.localInstances;\n var str = (0, _stringify2.default)(localInstance);\n localInstance = [].concat((0, _toConsumableArray3.default)(instances), (0, _toConsumableArray3.default)(localInstance));\n this.localInstance = localInstance;\n this.delayExcute(1);\n },\n getRandomAlphaNum: function getRandomAlphaNum() {\n var len = 10;\n var rdmString = \"\";\n for (; rdmString.length < len; rdmString += Math.random().toString(36).substr(2)) {}\n return rdmString.substr(0, len);\n },\n getStep: function getStep(parentInstanceKey, steps) {\n var currentStep = parseInt(localStorage.itemStep) - 1;\n var step = [\"gaea_instance_1s0luul6qrk\", {\n \"gaeaKey\": \"gaea-steps\",\n \"data\": {\n \"__setting__\": null,\n \"__crrtInstanceInfo__\": null,\n \"text\": \"steps\",\n \"styles\": {},\n \"type\": \"steps\",\n \"level\": 2,\n \"steps\": steps,\n \"property\": {\n \"current\": currentStep\n }\n },\n \"slots\": {},\n \"parentInstanceKey\": parentInstanceKey\n }];\n return step;\n },\n getTimeLine: function getTimeLine(parentInstanceKey) {\n var timeLine = [\"gaea_instance_1emizh3mg86\", {\n \"gaeaKey\": \"gaea-time-line\",\n \"data\": {\n \"__setting__\": null,\n \"__crrtInstanceInfo__\": null,\n \"level\": 2,\n \"property\": {\n \"model\": \"timeLineData\",\n \"qrCodeShow\": false,\n \"pending\": false\n }\n },\n \"slots\": {},\n \"parentInstanceKey\": parentInstanceKey\n }];\n return timeLine;\n },\n getInfoAttachment: function getInfoAttachment(parentInstanceKey) {\n var infoAttachment = [\"gaea_instance_1i64x6vclsu\", {\n \"gaeaKey\": \"gaea-info-attachment\",\n \"data\": {\n \"__setting__\": null,\n \"__crrtInstanceInfo__\": null,\n \"styles\": {},\n \"level\": 2,\n \"property\": {\n \"model\": \"infoAttachment\",\n \"headerTitle\": \"\",\n \"showHeader\": false\n }\n\n },\n \"slots\": {\n \"default\": []\n },\n \"parentInstanceKey\": parentInstanceKey,\n \"preGaeaKey\": null\n }];\n return infoAttachment;\n },\n getCell: function getCell(headerTitle) {\n var cellProp = [\"gaea_instance_1qcchw5jfue\", {\n \"gaeaKey\": \"gaea-cell\",\n \"data\": {\n \"__setting__\": null,\n \"__crrtInstanceInfo__\": null,\n \"styles\": {\n \"minWidth\": \"100px\",\n \"minHeight\": \"200px\",\n \"width\": \"100%\",\n \"backgroundColor\": \"#fff\"\n },\n \"level\": 2,\n \"property\": {\n \"col\": 4,\n \"showHeader\": true,\n \"showFooter\": false,\n \"headerTitle\": headerTitle || \"\"\n },\n \"extend\": {}\n },\n \"slots\": {\n \"default\": []\n },\n \"parentInstanceKey\": \"gaea_instance_ujeodln8fx\",\n \"preGaeaKey\": null\n }];\n return cellProp;\n },\n getInfoBase: function getInfoBase(boxTitle) {\n var infoBaseProp = [\"gaea_instance_ujeodln8fx\", {\n \"gaeaKey\": \"gaea-info-base\",\n \"data\": {\n \"__setting__\": null,\n \"__crrtInstanceInfo__\": null,\n \"styles\": {\n \"minWidth\": \"100px\",\n \"width\": \"95%\",\n \"minHeight\": \"380px\",\n \"backgroundColor\": \"#fff\"\n },\n \"level\": 2,\n \"property\": {\n \"arrow\": true,\n \"footer\": false,\n \"col\": 4,\n \"showHeader\": true,\n \"showFooter\": false\n },\n \"extend\": {}\n },\n \"slots\": {\n \"default\": []\n },\n \"parentInstanceKey\": boxTitle,\n \"preGaeaKey\": null\n }];\n return infoBaseProp;\n },\n getTitle: function getTitle(boxName, name) {\n var titleProp = [\"gaea_instance_22qza4w0c3n\", {\n \"gaeaKey\": \"gaea-title\",\n \"data\": {\n \"__setting__\": null,\n \"__crrtInstanceInfo__\": null,\n \"styles\": {\n \"display\": \"inline-block\",\n \"width\": \"100px\",\n \"height\": \"30px\",\n \"lineHeight\": \"30px\",\n \"textAlign\": \"center\",\n \"margin\": \"10px\",\n \"backgroundColor\": \"#fff\",\n \"fontSize\": \"15px\"\n },\n \"level\": 2,\n \"property\": {\n \"title\": name\n },\n \"extend\": {\n \"span\": 17,\n \"labelWidth\": 222\n }\n },\n \"slots\": {\n \"default\": []\n },\n \"parentInstanceKey\": boxName,\n \"preGaeaKey\": null\n }];\n return titleProp;\n },\n getBox: function getBox() {\n var boxProp = [\"gaea_instance_box_\" + this.randomWord(12, 4, 4), {\n \"gaeaKey\": \"gaea-box\",\n \"data\": {\n \"__setting__\": null,\n \"__crrtInstanceInfo__\": null,\n \"styles\": {\n \"width\": \"100%\",\n \"border\": \"0px\",\n \"backgroundColor\": \"#fff\"\n },\n \"level\": 1,\n \"property\": {\n \"validator\": false,\n \"model\": \"\",\n \"minRows\": 2,\n \"disableDelRows\": 2,\n \"btnMsg\": \"\"\n },\n \"extend\": {\n \"span\": 17,\n \"labelWidth\": 222\n }\n },\n \"slots\": {\n \"default\": []\n },\n \"parentInstanceKey\": \"gaea_instance_1\",\n \"preGaeaKey\": null\n }];\n return boxProp;\n },\n getButtonOprator: function getButtonOprator(buttons) {\n if (buttons.length == 0) {\n buttons = [{\n \"label\": \"办事指南\",\n \"type\": \"success\",\n \"click\": \"guideClick\"\n }, {\n \"label\": \"下一步\",\n \"type\": \"error\",\n \"click\": \"nextStepClick\"\n }, {\n \"label\": \"保存\",\n \"type\": \"warning\",\n \"click\": \"saveClick\"\n }];\n }\n var opraterProp = [];\n var buttonOpraoter = \"gaea_instance_btn_\" + this.randomWord(12, 4, 4);\n var boxProp = [buttonOpraoter, {\n \"gaeaKey\": \"gaea-btns-oprator\",\n \"data\": {\n \"__setting__\": null,\n \"__crrtInstanceInfo__\": null,\n \"styles\": {\n \"marginTop\": \"20px\",\n \"minWidth\": \"100px\",\n \"width\": \"95%\",\n \"minHeight\": \"100px\",\n \"border\": \"1px solid #ccc\",\n \"backgroundColor\": \"#FDF8F5\",\n \"paddingBottom\": \"20px\"\n },\n \"level\": 1,\n \"property\": {\n \"validator\": false,\n \"model\": \"\",\n \"minRows\": 2,\n \"disableDelRows\": 2,\n \"padding\": \"0px 217px 0px 423px\",\n \"btnMsg\": \"\"\n },\n \"extend\": {\n \"span\": 17,\n \"labelWidth\": 222\n }\n },\n \"slots\": {\n \"default\": []\n },\n \"parentInstanceKey\": \"gaea_instance_1\",\n \"preGaeaKey\": null\n }];\n opraterProp.push(boxProp);\n for (var i = 0; i < buttons.length; i++) {\n var _data;\n\n var gaeaBtn = \"gaea_instance_btn_child_\" + this.randomWord(12, 4, 4);\n var propObj = buttons[i];\n var oprateButton = [gaeaBtn, {\n \"gaeaKey\": \"gaea-button\",\n \"data\": (_data = {\n \"__setting__\": null,\n \"__crrtInstanceInfo__\": null,\n \"text\": \"input\",\n \"styles\": {\n \"height\": \"40px\",\n \"width\": \"100px\",\n \"margin\": \"10px\"\n },\n \"property\": propObj\n }, (0, _defineProperty3.default)(_data, 'text', \"办事指南\"), (0, _defineProperty3.default)(_data, \"type\", \"success\"), (0, _defineProperty3.default)(_data, \"level\", 3), (0, _defineProperty3.default)(_data, \"extend\", {}), _data),\n \"slots\": {},\n \"parentInstanceKey\": buttonOpraoter\n }];\n opraterProp.push(oprateButton);\n }\n return opraterProp;\n },\n getForm: function getForm(boxName) {\n var fromProp = [\"gaea_instance_2pvzgbsfhf4\", {\n \"gaeaKey\": \"gaea-form\",\n \"data\": {\n \"__setting__\": null,\n \"__crrtInstanceInfo__\": null,\n \"styles\": {\n \"width\": \"100%\",\n \"border\": \"0px\",\n \"backgroundColor\": \"#fff\"\n },\n \"type\": \"form\",\n \"title\": \"Form\",\n \"level\": 2,\n \"property\": {\n \"validator\": true\n },\n \"extend\": {\n \"span\": 17,\n \"labelWidth\": 222,\n \"itemWidth\": 320,\n \"placeholder\": \"\",\n \"maxlength\": \"220\",\n \"eventType\": \"\",\n \"rows\": 0\n }\n },\n \"slots\": {\n \"default\": []\n },\n \"parentInstanceKey\": boxName\n }];\n return fromProp;\n },\n loadBaseInfoForm: function loadBaseInfoForm() {\n var _this3 = this;\n\n if (this.isLoadedDate) {\n this.$Notice.warning({\n title: '加载数据',\n desc: '当前已经创建数据,不能继续创建'\n });\n return;\n }\n\n var countFormTableInstance = 1000;\n var countFormInstance = 100;\n var _this = this;\n var arr1 = [];\n var params = {\n itemNo: localStorage.itemNo,\n itemStep: \"1\" };\n _httpLoading2.default.showLoading(\"正在加载数据...\");\n _toolService2.default.selectFormProp(params).then(function (res) {\n var formInstanceName = \"gaea_instance_1qcchw5jfue\";\n var formPropArr = [];\n var stepBox = _this.getBox();\n stepBox[0] = \"gaea_instance_\" + _this.randomWord(12, 4, 4);\n formPropArr.push(stepBox);\n formPropArr.push(_this.getStep(stepBox[0], res.steps || [{ \"title\": \"填写资料\" }, { \"title\": \"上传附件\" }, { \"title\": \"提交审核\" }, { \"title\": \"已办结\" }]));\n formPropArr.push(_this.getTimeLine(stepBox[0]));\n var box = _this.getBox();\n formPropArr.push(box);\n formPropArr.push(_this.getInfoBase(box[0]));\n _this3.isLoadedDate = true;\n _httpLoading2.default.closeLoading();\n for (var propObj in res.prop) {\n var formArr = res.prop[propObj];\n\n var myCell = _this.getCell(propObj);\n myCell[0] = \"gaea_instance_cell_\" + _this.randomWord(12, 4, 4);\n formPropArr.push(myCell);\n for (var j = 0; j < formArr.length; j++) {\n var fromProp = [];\n\n var myPropObj = {};\n\n var myRadioArr = [];\n\n var myGaeaKey = \"\";\n\n var myType = \"\";\n if (formArr[j].busiType == \"List\") {\n var resArr = eval('(' + formArr[j].busiExplain + ')');\n for (var prop in resArr) {\n console.log(prop);\n _this.initFormTableKey(prop);\n console.log(resArr[prop]);\n var response = resArr[prop];\n\n var myFromTableRadioArr = [];\n\n var myFromTableGaeaKey = \"\";\n\n var myFromTableType = \"\";\n var myFromTablePropObj = {\n \"title\": formArr[j].busiDesc,\n \"prop\": prop,\n \"label\": \"table\",\n \"span\": 24,\n \"width\": 1000\n };\n var _myGaeaKey = \"gaea-cell-table\";\n var formTableProp = [\"gaea_instance_celltable_\" + countFormTableInstance + j, {\n \"gaeaKey\": _myGaeaKey,\n \"data\": {\n \"__setting__\": null,\n \"__crrtInstanceInfo__\": null,\n \"text\": \"input\",\n \"styles\": {\n \"border\": \"1px solid #ccc\",\n \"backgroundColor\": \"#fcfcfc\"\n },\n \"title\": \"cell-table\",\n \"type\": \"cell-table\",\n \"level\": 2,\n \"validate\": {\n \"required\": false,\n \"message\": \"\",\n \"type\": \"\",\n \"trigger\": \"\"\n },\n \"extend\": {\n \"eventType\": \"\"\n },\n \"property\": myFromTablePropObj\n },\n \"slots\": {},\n \"parentInstanceKey\": myCell[0]\n }];\n formPropArr.push(formTableProp);\n\n for (var i = 0; i < response.length; i++) {\n var _myPropObj = {};\n\n var _myRadioArr = [];\n\n var myFormTableGaeaKey = \"\";\n\n var myFormTablePropType = \"\";\n\n var radioFormTableArr = [];\n if (response[i].busiTypeName == \"radio\") {\n console.log(response[i].busiExplain);\n var radioArrProp = eval('(' + response[i].busiExplain + ')');\n for (var _prop in radioArrProp) {\n var _propObj = {};\n _propObj.label = _prop;\n _propObj.value = radioArrProp[_prop];\n var obj = {\n \"size\": \"\",\n \"disabled\": false\n };\n _propObj.extend = obj;\n radioFormTableArr.push(_propObj);\n }\n _myPropObj = {\n \"key\": response[i].busiName,\n \"title\": response[i].busiDesc,\n \"label\": \"\",\n \"busiId\": \"\",\n \"itemsProp\": \"\",\n \"type\": \"select\"\n };\n myFormTableGaeaKey = \"gaea-table-select\";\n myFormTablePropType = \"select\";\n } else if (response[i].busiTypeName == \"singleDate\") {\n _myPropObj = {\n \"key\": response[i].busiName,\n \"title\": response[i].busiDesc,\n \"align\": \"center\",\n \"type\": \"singleDate\",\n \"placeholder\": \"\"\n };\n myFormTableGaeaKey = \"gaea-table-single-date\";\n myFormTablePropType = \"table-date-picker\";\n } else if (response[i].busiTypeName == \"dataRange\") {\n _myPropObj = {\n \"key\": response[i].busiName,\n \"title\": response[i].busiDesc,\n \"align\": \"center\",\n \"type\": \"dataRange\",\n \"placeholder\": \"\"\n };\n myFormTableGaeaKey = \"gaea-table-single-date\";\n myFormTablePropType = \"table-date-picker\";\n } else {\n _myPropObj = {\n \"key\": response[i].busiName,\n \"title\": response[i].busiDesc,\n \"align\": \"center\",\n \"type\": \"input\",\n \"placeholder\": \"\"\n };\n myFormTableGaeaKey = \"gaea-table-input\";\n myFormTablePropType = \"input\";\n }\n var fromTableChildProp = [\"gaea_instance_table\" + countFormInstance + j + i, {\n \"gaeaKey\": myFormTableGaeaKey,\n \"data\": {\n \"__setting__\": null,\n \"__crrtInstanceInfo__\": null,\n \"text\": \"input\",\n \"styles\": {\n \"height\": \"40px\",\n \"width\": 100,\n \"margin\": \"10px\"\n },\n \"type\": myFormTablePropType,\n \"level\": 3,\n \"validateArr\": [],\n \"itemsProp\": radioFormTableArr,\n \"radioArr\": radioFormTableArr,\n \"property\": _myPropObj,\n \"extend\": {\n \"itemWidth\": 320,\n \"placeholder\": \"\",\n \"eventType\": \"\"\n }\n },\n \"slots\": {},\n \"parentInstanceKey\": \"gaea_instance_celltable_\" + countFormTableInstance + j\n }];\n formPropArr.push(fromTableChildProp);\n }\n }\n } else if (formArr[j].busiType == \"hide\") {} else {\n if (formArr[j].busiType == \"select\" || formArr[j].busiType == \"selectLabel\" || formArr[j].busiType == \"selectLink\") {\n console.log(formArr[j].busiExplain);\n var radioArr = [];\n if (formArr[j].busiExplain != \"\") {\n var _radioArrProp = eval('(' + formArr[j].busiExplain + ')');\n for (var _prop2 in _radioArrProp) {\n var _propObj2 = {};\n _propObj2.label = _prop2;\n _propObj2.value = _radioArrProp[_prop2];\n var _obj = {\n \"size\": \"\",\n \"disabled\": false\n };\n _propObj2.extend = _obj;\n radioArr.push(_propObj2);\n }\n }\n myPropObj = {\n \"label\": \"select\",\n \"title\": formArr[j].busiDesc,\n \"busiId\": formArr[j].busiId,\n \"prop\": formArr[j].busiId\n };\n myRadioArr = radioArr;\n } else if (formArr[j].busiType == \"radio\") {\n var _radioArr = [];\n if (formArr[j].busiExplain && formArr[j].busiExplain != \"\") {\n console.log(formArr[j].busiExplain);\n var _radioArrProp2 = eval('(' + formArr[j].busiExplain + ')');\n if (formArr[j].busiExplain != \"\") {\n for (var _prop3 in _radioArrProp2) {\n var _propObj3 = {};\n _propObj3.label = _prop3;\n _propObj3.value = _radioArrProp2[_prop3];\n var _obj2 = {\n \"size\": \"\",\n \"disabled\": false\n };\n _propObj3.extend = _obj2;\n _radioArr.push(_propObj3);\n }\n }\n }\n myPropObj = {\n \"label\": \"select\",\n \"title\": formArr[j].busiDesc,\n \"busiId\": formArr[j].busiId,\n \"prop\": formArr[j].busiId\n };\n myRadioArr = _radioArr;\n } else if (formArr[j].busiType == \"checkboxMultiple\") {\n var _radioArr2 = [];\n if (formArr[j].busiExplain && formArr[j].busiExplain != \"\") {\n console.log(formArr[j].busiExplain);\n var _radioArrProp3 = eval('(' + formArr[j].busiExplain + ')');\n if (formArr[j].busiExplain != \"\") {\n for (var _prop4 in _radioArrProp3) {\n var _propObj4 = {};\n _propObj4.label = _prop4;\n _propObj4.value = _radioArrProp3[_prop4];\n var _obj3 = {\n \"size\": \"\",\n \"disabled\": false\n };\n _propObj4.extend = _obj3;\n _radioArr2.push(_propObj4);\n }\n }\n }\n myPropObj = {\n \"label\": \"checkboxMultiple\",\n \"title\": formArr[j].busiDesc,\n \"busiId\": formArr[j].busiId,\n \"prop\": formArr[j].busiId\n };\n myRadioArr = _radioArr2;\n } else if (formArr[j].busiType == \"checkboxMultipleRadio\") {\n var _radioArr3 = [];\n if (formArr[j].busiExplain && formArr[j].busiExplain != \"\") {\n console.log(formArr[j].busiExplain);\n var _radioArrProp4 = eval('(' + formArr[j].busiExplain + ')');\n if (formArr[j].busiExplain != \"\") {\n for (var _prop5 in _radioArrProp4) {\n var _propObj5 = {};\n _propObj5.label = _prop5;\n _propObj5.value = _radioArrProp4[_prop5];\n var _obj4 = {\n \"size\": \"\",\n \"disabled\": false\n };\n _propObj5.extend = _obj4;\n _radioArr3.push(_propObj5);\n }\n }\n }\n myPropObj = {\n \"label\": \"checkboxMultipleRadio\",\n \"title\": formArr[j].busiDesc,\n \"busiId\": formArr[j].busiId,\n \"prop\": formArr[j].busiId\n };\n myRadioArr = _radioArr3;\n } else if (formArr[j].busiType == \"date-picker-daterange\") {\n myPropObj = {\n \"label\": \"date\",\n \"title\": formArr[j].busiDesc,\n \"busiId\": formArr[j].busiId\n };\n } else if (formArr[j].busiType == \"endDateChoose\" || formArr[j].busiType == \"plate-input\" || formArr[j].busiType == \"select-input\" || formArr[j].busiType == \"budongchan\") {\n myPropObj = {\n \"busiId\": formArr[j].busiId,\n \"title\": formArr[j].busiDesc,\n \"prop\": formArr[j].busiId\n };\n myGaeaKey = \"gaea-\" + formArr[j].busiType;\n myType = formArr[j].busiType;\n } else if (formArr[j].busiType == \"date-picker\") {\n myPropObj = {\n \"title\": formArr[j].busiDesc,\n \"prop\": formArr[j].busiId,\n \"busiId\": formArr[j].busiId\n };\n } else {\n myPropObj = {\n \"title\": formArr[j].busiDesc,\n \"prop\": formArr[j].busiId,\n \"busiId\": formArr[j].busiId\n };\n }\n var formProp = [\"gaea_instance_cell-child_\" + countFormInstance + \"001\" + j, {\n \"gaeaKey\": \"gaea-cell-child\",\n \"data\": {\n \"__setting__\": null,\n \"__crrtInstanceInfo__\": null,\n \"text\": \"input\",\n \"styles\": {\n \"height\": \"40px\",\n \"width\": \"100px\",\n \"margin\": \"10px\"\n },\n \"type\": \"label\",\n \"model1\": \"\",\n \"level\": 3,\n \"validateArr\": [],\n \"radioArr\": myRadioArr,\n \"property\": myPropObj,\n \"width\": 320,\n \"extend\": {\n \"itemWidth\": 320,\n \"placeholder\": \"\",\n \"maxlength\": \"220\",\n \"eventType\": \"\",\n \"rows\": 0\n }\n },\n \"slots\": {},\n \"parentInstanceKey\": myCell[0]\n }];\n formPropArr.push(formProp);\n }\n }\n }\n var bottomBox = _this.getBox();\n bottomBox[0] = \"gaea_instance_\" + _this3.randomWord(12, 4, 4);\n formPropArr.push(bottomBox);\n formPropArr.push(_this.getInfoAttachment(bottomBox[0]));\n formPropArr = [].concat((0, _toConsumableArray3.default)(formPropArr), (0, _toConsumableArray3.default)(_this.getButtonOprator(res.buttons != \"\" || [])));\n debugger;\n _this.localInstance = formPropArr;\n _this.delayExcute(0);\n });\n },\n initFormTableKey: function initFormTableKey(formTableKey) {\n var arr = [];\n if (localStorage.formTableKey && localStorage.formTableKey != null) {\n arr = eval('(' + localStorage.formTableKey + ')');\n }\n arr.push(formTableKey);\n localStorage.formTableKey = (0, _stringify2.default)(arr);\n },\n loadUploadFile: function loadUploadFile() {\n var _this4 = this;\n\n var countFormTableInstance = 1000;\n var countFormInstance = 1111;\n var arr1 = [];\n var _this = this;\n var params = {\n itemStep: localStorage.itemStep,\n itemNo: localStorage.itemNo\n };\n if (this.isLoadedDate) {\n this.$Notice.warning({\n title: '加载数据',\n desc: '当前已经创建数据,不能继续创建'\n });\n return;\n }\n _httpLoading2.default.showLoading(\"正在加载数据...\");\n _toolService2.default.selectFormProp(params).then(function (res) {\n debugger;\n var formPropArr = [];\n var box = _this.getBox();\n formPropArr.push(box);\n formPropArr.push(_this.getStep(box[0], res.steps || []));\n formPropArr.push(_this.getTitle(box[0], \"上传附件\"));\n formPropArr.push(_this.getUploadFile(box[0]));\n formPropArr = [].concat((0, _toConsumableArray3.default)(formPropArr), (0, _toConsumableArray3.default)(_this.getButtonOprator(res.buttons || [])));\n _this.localInstance = formPropArr;\n _this.delayExcute(0);\n _httpLoading2.default.closeLoading();\n _this4.isLoadedDate = true;\n });\n },\n getUploadFile: function getUploadFile(parentKey) {\n var myPropObj = {\n \"type\": \"noAction\"\n };\n var uploadFile = [\"gaea_instance_241275vax4i\", {\n \"gaeaKey\": \"gaea-table-attach-file\",\n \"data\": {\n \"__setting__\": null,\n \"__crrtInstanceInfo__\": null,\n \"level\": 2,\n \"property\": myPropObj\n },\n \"slots\": {},\n \"parentInstanceKey\": parentKey\n }];\n return uploadFile;\n },\n randomWord: function randomWord(randomFlag, min, max) {\n var str = \"\",\n pos = 0,\n range = min,\n arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];\n\n if (randomFlag) {\n range = Math.round(Math.random() * (max - min)) + min;\n }\n for (var i = 0; i < range; i++) {\n pos = Math.round(Math.random() * (arr.length - 1));\n str += arr[pos];\n }\n return str;\n },\n initFormLayout: function initFormLayout(data) {\n console.log(configPageIde);\n var countFormTableInstance = 1000;\n var countFormInstance = 1111;\n var arr1 = [];\n var _this = this;\n\n\n if (localStorage.getItem(\"viewType\") != null) {\n localStorage.removeItem(\"viewType\");\n } else {}\n debugger;\n var formPropArr = [[\"gaea_instance_box_IImV\", { \"gaeaKey\": \"gaea-box\", \"data\": { \"__setting__\": null, \"__crrtInstanceInfo__\": null, \"styles\": { \"width\": \"100%\", \"height\": \"100%\", \"border\": \"0px\", \"backgroundColor\": \"#FFFFFF\", \"margin\": \"0px\" }, \"level\": 1, \"property\": { \"validator\": false, \"model\": \"\", \"minRows\": 2, \"disableDelRows\": 2, \"btnMsg\": \"\" }, \"extend\": { \"span\": 17, \"labelWidth\": 222 } }, \"slots\": { \"default\": [\"gaea_instance_form_53Io\"] }, \"parentInstanceKey\": \"gaea_instance_1\", \"preGaeaKey\": null }], [\"gaea_instance_form_53Io\", { \"gaeaKey\": \"gaea-form\", \"data\": { \"__setting__\": null, \"__crrtInstanceInfo__\": null, \"styles\": { \"width\": \"100%\", \"height\": \"100%\", \"border\": \"0px\", \"backgroundColor\": \"#fff\" }, \"type\": \"form\", \"title\": \"Form\", \"level\": 2, \"property\": { \"validator\": true, \"busiId\": \"\" }, \"extend\": { \"span\": 17, \"labelWidth\": 222, \"itemWidth\": 320, \"placeholder\": \"\", \"maxlength\": \"220\", \"eventType\": \"\", \"rows\": 0, \"maxLength\": 100 } }, \"slots\": { \"default\": [\"gaea_instance_1nl3oltonaj\", \"gaea_instance_13aw5o5b9c3\", \"gaea_instance_rl2n7u7ilw\", \"gaea_instance_2e9ptf3knhw\", \"gaea_instance_fo5ww3hpwb\", \"gaea_instance_28urawo5lyh\", \"gaea_instance_vthuhnycgh\", \"gaea_instance_6bf0wzs2vx\", \"gaea_instance_2bt3l06er55\", \"gaea_instance_25svevg5g37\"] }, \"parentInstanceKey\": \"gaea_instance_box_IImV\", \"preGaeaKey\": null }], [\"gaea_instance_1nl3oltonaj\", { \"gaeaKey\": \"gaea-input\", \"data\": { \"__setting__\": null, \"__crrtInstanceInfo__\": null, \"property\": { \"label\": \"工单主题\", \"title\": \"\", \"prop\": \"orderTheme\", \"busiId\": \"\", \"type\": \"input\", \"extend\": { \"placeholder\": \"请输入工单主题\", \"itemWidth\": 320, \"maxLength\": 100 }, \"rules\": [{ \"required\": true, \"message\": \"不能为空\", \"type\": \"\", \"trigger\": \"\", \"dot\": \"\", \"range\": 0, \"unit\": \"\" }, { \"message\": \"不能为空\", \"maxLength\": 100, \"type\": \"inputLength\", \"trigger\": \"blur\", \"dot\": \"\", \"range\": 0, \"unit\": \"\" }] }, \"extend\": { \"placeholder\": \"请输入工单主题\", \"itemWidth\": 320, \"maxLength\": 100 }, \"text\": \"input\", \"type\": \"input\", \"level\": 4, \"validateArr\": [{ \"required\": true, \"message\": \"不能为空\", \"type\": \"\", \"trigger\": \"\", \"dot\": \"\", \"range\": 0, \"unit\": \"\" }, { \"message\": \"不能为空\", \"maxLength\": 100, \"type\": \"inputLength\", \"trigger\": \"blur\", \"dot\": \"\", \"range\": 0, \"unit\": \"\" }] }, \"slots\": {}, \"parentInstanceKey\": \"gaea_instance_form_53Io\" }], [\"gaea_instance_13aw5o5b9c3\", { \"gaeaKey\": \"gaea-label\", \"data\": { \"__setting__\": null, \"__crrtInstanceInfo__\": null, \"property\": { \"label\": \"工单类型\", \"title\": \"\", \"prop\": \"orderType\", \"busiId\": \"\", \"type\": \"label\" }, \"text\": \"label\", \"styles\": { \"display\": \"inline-block\", \"width\": \"40%\", \"height\": \"60px\", \"lineHeight\": \"60px\", \"textAlign\": \"right\", \"fontSize\": \"15px\" }, \"type\": \"label\", \"level\": 4, \"validateArr\": [{ \"required\": true, \"message\": \"不能为空\", \"type\": \"\", \"trigger\": \"\", \"dot\": \"\", \"range\": 0, \"unit\": \"\" }], \"extend\": { \"itemWidth\": 320 } }, \"slots\": {}, \"parentInstanceKey\": \"gaea_instance_form_53Io\" }], [\"gaea_instance_rl2n7u7ilw\", { \"gaeaKey\": \"gaea-select\", \"data\": { \"__setting__\": null, \"__crrtInstanceInfo__\": null, \"property\": { \"label\": \"紧急程度\", \"title\": \"\", \"prop\": \"urgencyDegree\", \"busiId\": \"\", \"type\": \"select\", \"extend\": { \"itemWidth\": 320 }, \"items\": [] }, \"text\": \"input\", \"styles\": { \"height\": \"40px\", \"width\": \"70px\", \"margin\": \"10px\" }, \"type\": \"input\", \"single\": true, \"level\": 4, \"isLevel\": true, \"radioArr\": [], \"validateArr\": [{ \"required\": true, \"message\": \"不能为空\", \"type\": \"\", \"trigger\": \"\", \"dot\": \"\", \"range\": 0, \"unit\": \"\" }], \"extend\": { \"itemWidth\": 320 } }, \"slots\": {}, \"parentInstanceKey\": \"gaea_instance_form_53Io\" }], [\"gaea_instance_2e9ptf3knhw\", { \"gaeaKey\": \"gaea-label\", \"data\": { \"__setting__\": null, \"__crrtInstanceInfo__\": null, \"property\": { \"label\": \"申请单位\", \"title\": \"\", \"prop\": \"applicantUnit\", \"busiId\": \"\", \"type\": \"label\" }, \"text\": \"label\", \"styles\": { \"display\": \"inline-block\", \"width\": \"40%\", \"height\": \"60px\", \"lineHeight\": \"60px\", \"textAlign\": \"right\", \"fontSize\": \"15px\" }, \"type\": \"label\", \"level\": 4, \"validateArr\": [{ \"required\": true, \"message\": \"不能为空\", \"type\": \"\", \"trigger\": \"\", \"dot\": \"\", \"range\": 0, \"unit\": \"\" }], \"extend\": { \"itemWidth\": 320 } }, \"slots\": {}, \"parentInstanceKey\": \"gaea_instance_form_53Io\" }], [\"gaea_instance_fo5ww3hpwb\", { \"gaeaKey\": \"gaea-label\", \"data\": { \"__setting__\": null, \"__crrtInstanceInfo__\": null, \"property\": { \"label\": \"申请人\", \"title\": \"\", \"prop\": \"applicant\", \"busiId\": \"\", \"type\": \"label\" }, \"text\": \"label\", \"styles\": { \"display\": \"inline-block\", \"width\": \"40%\", \"height\": \"60px\", \"lineHeight\": \"60px\", \"textAlign\": \"right\", \"fontSize\": \"15px\" }, \"type\": \"label\", \"level\": 4, \"validateArr\": [{ \"required\": true, \"message\": \"不能为空\", \"type\": \"\", \"trigger\": \"\", \"dot\": \"\", \"range\": 0, \"unit\": \"\" }], \"extend\": { \"itemWidth\": 320 } }, \"slots\": {}, \"parentInstanceKey\": \"gaea_instance_form_53Io\" }], [\"gaea_instance_28urawo5lyh\", { \"gaeaKey\": \"gaea-label\", \"data\": { \"__setting__\": null, \"__crrtInstanceInfo__\": null, \"property\": { \"label\": \"申请时间\", \"title\": \"\", \"prop\": \"applicantTime\", \"busiId\": \"\", \"type\": \"label\" }, \"text\": \"label\", \"styles\": { \"display\": \"inline-block\", \"width\": \"40%\", \"height\": \"60px\", \"lineHeight\": \"60px\", \"textAlign\": \"right\", \"fontSize\": \"15px\" }, \"type\": \"label\", \"level\": 4, \"validateArr\": [{ \"required\": true, \"message\": \"不能为空\", \"type\": \"\", \"trigger\": \"\", \"dot\": \"\", \"range\": 0, \"unit\": \"\" }], \"extend\": { \"itemWidth\": 320 } }, \"slots\": {}, \"parentInstanceKey\": \"gaea_instance_form_53Io\" }], [\"gaea_instance_vthuhnycgh\", { \"gaeaKey\": \"gaea-date-picker\", \"data\": { \"__setting__\": null, \"__crrtInstanceInfo__\": null, \"property\": { \"label\": \"期望完成时间\", \"title\": \"\", \"prop\": \"expectedTime\", \"busiId\": \"\", \"type\": \"date-picker\", \"extend\": { \"placeholder\": \"\", \"itemWidth\": 320 } }, \"extend\": { \"placeholder\": \"\", \"itemWidth\": 320 }, \"text\": \"input\", \"styles\": {}, \"type\": \"date-picker\", \"level\": 4, \"validateArr\": [{ \"required\": true, \"message\": \"不能为空\", \"type\": \"\", \"trigger\": \"\", \"dot\": \"\", \"range\": 0, \"unit\": \"\" }] }, \"slots\": {}, \"parentInstanceKey\": \"gaea_instance_form_53Io\" }], [\"gaea_instance_6bf0wzs2vx\", { \"gaeaKey\": \"gaea-textarea\", \"data\": { \"__setting__\": null, \"__crrtInstanceInfo__\": null, \"property\": { \"label\": \"工单描述\", \"title\": \"\", \"prop\": \"descrip\", \"busiId\": \"\", \"type\": \"textarea\", \"extend\": { \"placeholder\": \"请输入工单描述\", \"itemWidth\": 320, \"maxLength\": 500 }, \"rules\": [{ \"required\": true, \"message\": \"不能为空\", \"type\": \"\", \"trigger\": \"\", \"dot\": \"\", \"range\": 0, \"unit\": \"\" }, { \"message\": \"不能为空\", \"maxLength\": 500, \"type\": \"inputLength\", \"trigger\": \"blur\", \"dot\": \"\", \"range\": 0, \"unit\": \"\" }] }, \"extend\": { \"placeholder\": \"请输入工单描述\", \"itemWidth\": 320, \"maxLength\": 500 }, \"myRow\": 4, \"text\": \"input\", \"type\": \"input\", \"level\": 4, \"validateArr\": [{ \"required\": true, \"message\": \"不能为空\", \"type\": \"\", \"trigger\": \"\", \"dot\": \"\", \"range\": 0, \"unit\": \"\" }, { \"message\": \"不能为空\", \"maxLength\": 500, \"type\": \"inputLength\", \"trigger\": \"blur\", \"dot\": \"\", \"range\": 0, \"unit\": \"\" }] }, \"slots\": {}, \"parentInstanceKey\": \"gaea_instance_form_53Io\" }], [\"gaea_instance_2bt3l06er55\", { \"gaeaKey\": \"gaea-upload\", \"data\": { \"__setting__\": null, \"__crrtInstanceInfo__\": null, \"property\": { \"label\": \"附件\", \"title\": \"\", \"prop\": \"fileList\", \"busiId\": \"\", \"type\": \"upload\", \"extend\": { \"placeholder\": \"\" } }, \"extend\": { \"placeholder\": \"\" }, \"text\": \"input\", \"type\": \"input\", \"level\": 4, \"validateArr\": [{ \"required\": false, \"message\": \"不能为空\", \"type\": \"\", \"trigger\": \"\", \"dot\": \"\", \"range\": 0, \"unit\": \"\" }] }, \"slots\": {}, \"parentInstanceKey\": \"gaea_instance_form_53Io\" }], [\"gaea_instance_25svevg5g37\", { \"gaeaKey\": \"gaea-textarea\", \"data\": { \"__setting__\": null, \"__crrtInstanceInfo__\": null, \"property\": { \"label\": \"备注\", \"title\": \"\", \"prop\": \"remark\", \"busiId\": \"\", \"type\": \"textarea\", \"extend\": { \"placeholder\": \"\", \"itemWidth\": 320, \"maxLength\": 250 }, \"rules\": [{ \"required\": false, \"message\": \"不能为空\", \"type\": \"\", \"trigger\": \"\", \"dot\": \"\", \"range\": 0, \"unit\": \"\" }, { \"message\": \"不能为空\", \"maxLength\": 250, \"type\": \"inputLength\", \"trigger\": \"blur\", \"dot\": \"\", \"range\": 0, \"unit\": \"\" }] }, \"extend\": { \"placeholder\": \"\", \"itemWidth\": 320, \"maxLength\": 250 }, \"myRow\": 4, \"text\": \"input\", \"type\": \"input\", \"level\": 4, \"validateArr\": [{ \"required\": false, \"message\": \"不能为空\", \"type\": \"\", \"trigger\": \"\", \"dot\": \"\", \"range\": 0, \"unit\": \"\" }, { \"message\": \"不能为空\", \"maxLength\": 250, \"type\": \"inputLength\", \"trigger\": \"blur\", \"dot\": \"\", \"range\": 0, \"unit\": \"\" }] }, \"slots\": {}, \"parentInstanceKey\": \"gaea_instance_form_53Io\" }]];\n this.$store.commit('viewport/updateView', {\n type: data.type\n });\n if (data.type == \"add\") {\n localStorage.setItem(\"viewType\", \"1\");\n } else if (data.type == \"view\") {\n\n formPropArr = eval('(' + data.content + ')');\n localStorage.setItem(\"viewType\", \"2\");\n } else {\n formPropArr = eval('(' + data.content + ')');\n localStorage.setItem(\"viewType\", \"1\");\n }\n _this.localInstance = formPropArr;\n if (this.isIE()) {\n setTimeout(function () {\n _this.delayExcute(0);\n }, 1000);\n } else {\n _this.delayExcute(0);\n }\n },\n loadServerFormTable: function loadServerFormTable() {\n var _this5 = this;\n\n console.log(configPageIde);\n var countFormTableInstance = 1000;\n var countFormInstance = 1111;\n var arr1 = [];\n var _this = this;\n var params = {\n itemStep: localStorage.itemStep == \"\" ? \"1\" : localStorage.itemStep,\n itemNo: localStorage.itemNo\n };\n if (this.isLoadedDate) {\n this.$Notice.warning({\n title: '加载数据',\n desc: '当前已经创建数据,不能继续创建'\n });\n return;\n }\n _httpLoading2.default.showLoading(\"正在加载数据...\");\n _toolService2.default.selectFormProp(params).then(function (res) {\n console.log(res);\n _httpLoading2.default.closeLoading();\n if (!res) {\n _this5.isLoadedDate = false;\n return;\n }\n _this5.isLoadedDate = true;\n var box = _this.getBox();\n\n var boxInstanceName = box[0];\n var formPropArr = [];\n formPropArr.push(box);\n formPropArr.push(_this.getStep(boxInstanceName, res.steps || [{ \"title\": \"填写资料\" }, { \"title\": \"上传附件\" }, { \"title\": \"提交审核\" }, { \"title\": \"已办结\" }]));\n var formInstanceName = \"gaea_instance_2pvzgbsfhf4\";\n\n var _loop = function _loop(propObj) {\n var myTitle = _this.getTitle(boxInstanceName, propObj);\n myTitle[0] = \"gaea_instance_22qza4w0c3n\" + _this.randomWord(12, 4, 4);\n formPropArr.push(myTitle);\n var formArr = res.prop[propObj];\n var currentObjStr = (0, _stringify2.default)(res.prop[propObj]);\n var listLength = currentObjStr.split('List').length - 1;\n var myForm = {};\n if (formArr.length != listLength) {\n myForm = _this.getForm(boxInstanceName);\n myForm[0] = \"gaea_instance_form_\" + _this.randomWord(12, 4, 4);\n formPropArr.push(myForm);\n }\n\n var _loop2 = function _loop2(j) {\n var fromProp = [];\n\n var myPropObj = {};\n\n var myRadioArr = [];\n\n var validateArr = [];\n\n var myGaeaKey = \"\";\n\n var myType = \"\";\n if (formArr[j].busiType == \"List\") {\n var resArr = eval('(' + formArr[j].busiExplain + ')');\n\n var _loop3 = function _loop3(prop) {\n console.log(prop);\n _this.initFormTableKey(prop);\n console.log(resArr[prop]);\n var response = resArr[prop];\n\n var myFromTableRadioArr = [];\n\n var myFromTableGaeaKey = \"\";\n\n var myFromTableType = \"\";\n var myFromTablePropObj = {\n \"model\": prop,\n \"validator\": true,\n \"minRows\": 1,\n \"width\": 1000,\n \"disableDelRows\": 1,\n \"btnMsg\": \"\",\n \"placeholder\": \"\",\n \"busiId\": \"\",\n \"title\": \"\",\n \"padding\": \"0\",\n \"align\": \"center\",\n \"type\": \"select\"\n };\n var myGaeaKey = \"gaea-form-table\";\n var myFormTableInstance = \"gaea_instance_\" + _this.randomWord(12, 4, 4) + countFormTableInstance + j;\n var formTableProp = [myFormTableInstance, {\n \"gaeaKey\": myGaeaKey,\n \"data\": {\n \"__setting__\": null,\n \"__crrtInstanceInfo__\": null,\n \"text\": \"input\",\n \"styles\": {\n \"height\": \"40px\",\n\n \"width\": \"100px\",\n \"margin\": \"10px\"\n },\n \"type\": \"form-table\",\n \"model1\": \"\",\n \"level\": 2,\n \"property\": myFromTablePropObj,\n \"extend\": {\n \"itemWidth\": 320,\n \"placeholder\": \"\",\n \"eventType\": \"\"\n }\n },\n \"slots\": {},\n \"parentInstanceKey\": boxInstanceName\n }];\n formPropArr.push(formTableProp);\n\n var _loop4 = function _loop4(i) {\n var myPropObj = {};\n\n var myRadioArr = [];\n\n var myFormTableGaeaKey = \"\";\n\n var myFormTablePropType = \"\";\n\n var radioFormTableArr = [];\n if (response[i].busiTypeName == \"select\") {\n console.log(response[i].busiExplain);\n var radioArrProp = eval('(' + response[i].busiExplain + ')');\n for (var _prop6 in radioArrProp) {\n var _propObj6 = {};\n _propObj6.label = _prop6;\n _propObj6.value = radioArrProp[_prop6];\n var obj = {\n \"size\": \"\",\n \"disabled\": false\n };\n _propObj6.extend = obj;\n radioFormTableArr.push(_propObj6);\n }\n myPropObj = {\n \"key\": response[i].busiName,\n \"title\": response[i].busiDesc,\n \"label\": \"\",\n \"busiId\": \"\",\n \"itemsProp\": \"\",\n \"type\": \"select\"\n };\n myFormTableGaeaKey = \"gaea-table-select\";\n myFormTablePropType = \"select\";\n } else if (response[i].busiTypeName == \"radio\") {\n console.log(response[i].busiExplain);\n var _radioArrProp5 = eval('(' + response[i].busiExplain + ')');\n for (var _prop7 in _radioArrProp5) {\n var _propObj7 = {};\n _propObj7.label = _prop7;\n _propObj7.value = _radioArrProp5[_prop7];\n var _obj5 = {\n \"size\": \"\",\n \"disabled\": false\n };\n _propObj7.extend = _obj5;\n radioFormTableArr.push(_propObj7);\n }\n myPropObj = {\n \"key\": response[i].busiName,\n \"title\": response[i].busiDesc,\n \"label\": \"\",\n \"busiId\": \"\",\n \"itemsProp\": \"\",\n \"type\": \"select\"\n };\n myFormTableGaeaKey = \"gaea-table-select\";\n myFormTablePropType = \"select\";\n } else if (response[i].busiTypeName == \"singleMonth\") {\n myPropObj = {\n \"key\": response[i].busiName,\n \"title\": response[i].busiDesc,\n \"align\": \"center\",\n \"type\": \"singleMonth\",\n \"placeholder\": \"\"\n };\n myFormTableGaeaKey = \"gaea-table-single-month\";\n myFormTablePropType = \"table-single-month\";\n } else if (response[i].busiTypeName == \"singleDate\") {\n myPropObj = {\n \"key\": response[i].busiName,\n \"title\": response[i].busiDesc,\n \"align\": \"center\",\n \"type\": \"singleDate\",\n \"placeholder\": \"\"\n };\n myFormTableGaeaKey = \"gaea-table-single-date\";\n myFormTablePropType = \"table-date-picker\";\n } else if (response[i].busiTypeName == \"dataRange\") {\n myPropObj = {\n \"key\": response[i].busiName,\n \"title\": response[i].busiDesc,\n \"align\": \"center\",\n \"type\": \"dataRange\",\n \"placeholder\": \"\"\n };\n myFormTableGaeaKey = \"gaea-table-single-date\";\n myFormTablePropType = \"table-date-picker\";\n } else {\n myPropObj = {\n \"key\": response[i].busiName,\n \"title\": response[i].busiDesc,\n \"align\": \"center\",\n \"type\": \"input\",\n \"placeholder\": \"\"\n };\n myFormTableGaeaKey = \"gaea-table-input\";\n myFormTablePropType = \"table-input\";\n }\n var validateArr = [];\n debugger;\n if (response[i].rows) {\n var triggerType = \"\";\n\n if (response[i].busiTypeName == \"select\") {\n triggerType = \"change\";\n }\n\n response[i].rows.forEach(function (value, i) {\n console.log('forEach遍历:' + i + '--' + value);\n var validateObj = {};\n if (value.ruleName == \"require\") {\n validateObj = {\n \"required\": true,\n \"message\": response[i].busiDesc + \"不能为空\",\n \"type\": \"\",\n \"trigger\": triggerType,\n \"dot\": \"\",\n \"range\": 0,\n \"unit\": \"\"\n };\n } else {\n validateObj = {\n \"message\": \"\",\n \"type\": value.ruleName,\n \"trigger\": triggerType,\n \"dot\": \"\",\n \"range\": 0,\n \"unit\": \"\"\n };\n }\n\n validateArr.push(validateObj);\n });\n }\n\n var fromTableChildProp = [\"gaea_instance_table\" + _this.randomWord(12, 4, 4), {\n \"gaeaKey\": myFormTableGaeaKey,\n \"data\": {\n \"__setting__\": null,\n \"__crrtInstanceInfo__\": null,\n \"text\": \"input\",\n \"styles\": {\n \"height\": \"40px\",\n \"width\": 100,\n \"margin\": \"10px\"\n },\n \"type\": myFormTablePropType,\n \"level\": 3,\n \"rules\": validateArr,\n \"itemsProp\": radioFormTableArr,\n \"radioArr\": radioFormTableArr,\n \"property\": myPropObj,\n \"extend\": {\n \"itemWidth\": 320,\n \"placeholder\": \"\",\n \"eventType\": \"\"\n }\n },\n \"slots\": {},\n \"parentInstanceKey\": myFormTableInstance\n }];\n formPropArr.push(fromTableChildProp);\n };\n\n for (var i = 0; i < response.length; i++) {\n _loop4(i);\n }\n };\n\n for (var prop in resArr) {\n _loop3(prop);\n }\n } else if (formArr[j].busiType == \"hide\") {} else {\n var extentdObj = {};\n\n if (formArr[j].busiType == \"select\" || formArr[j].busiType == \"selectLabel\" || formArr[j].busiType == \"selectLink\") {\n console.log(formArr[j].busiExplain);\n var radioArr = [];\n if (formArr[j].busiExplain && formArr[j].busiExplain != \"\") {\n var radioArrProp = eval('(' + formArr[j].busiExplain + ')');\n\n for (var prop in radioArrProp) {\n var _propObj8 = {};\n _propObj8.label = prop;\n _propObj8.value = radioArrProp[prop];\n var obj = {\n \"size\": \"\",\n \"disabled\": false\n };\n _propObj8.extend = obj;\n radioArr.push(_propObj8);\n }\n }\n\n myPropObj = {\n \"label\": formArr[j].busiDesc,\n \"busiId\": formArr[j].busiId,\n \"prop\": formArr[j].busiId,\n \"itemsProp\": \"\"\n };\n if (formArr[j].busiUrl && formArr[j].busiUrl != \"\") {\n myPropObj.dynamic.url = formArr[j].busiUrl;\n myPropObj.dynamic.params = JSON.parse(formArr[j].busiParams);\n }\n myRadioArr = radioArr;\n myGaeaKey = \"gaea-\" + formArr[j].busiType;\n myType = formArr[j].busiType;\n } else if (formArr[j].busiType == \"checkboxMultiple\") {\n var _radioArr4 = [];\n if (formArr[j].busiExplain && formArr[j].busiExplain != \"\") {\n console.log(formArr[j].busiExplain);\n var _radioArrProp6 = eval('(' + formArr[j].busiExplain + ')');\n for (var _prop8 in _radioArrProp6) {\n var _propObj9 = {};\n _propObj9.label = _prop8;\n _propObj9.value = _radioArrProp6[_prop8];\n var _obj6 = {\n \"size\": \"\",\n \"disabled\": false\n };\n _propObj9.extend = _obj6;\n _radioArr4.push(_propObj9);\n }\n }\n myPropObj = {\n \"label\": formArr[j].busiDesc,\n \"busiId\": formArr[j].busiId,\n \"prop\": formArr[j].busiId\n };\n myRadioArr = _radioArr4;\n myGaeaKey = \"gaea-checkboxMultiple\";\n myType = \"checkboxMultiple\";\n } else if (formArr[j].busiType == \"checkboxMultipleRadio\") {\n var _radioArr5 = [];\n if (formArr[j].busiExplain && formArr[j].busiExplain != \"\") {\n console.log(formArr[j].busiExplain);\n var _radioArrProp7 = eval('(' + formArr[j].busiExplain + ')');\n for (var _prop9 in _radioArrProp7) {\n var _propObj10 = {};\n _propObj10.label = _prop9;\n _propObj10.value = _radioArrProp7[_prop9];\n var _obj7 = {\n \"size\": \"\",\n \"disabled\": false\n };\n _propObj10.extend = _obj7;\n _radioArr5.push(_propObj10);\n }\n }\n myPropObj = {\n \"label\": formArr[j].busiDesc,\n \"busiId\": formArr[j].busiId,\n \"prop\": formArr[j].busiId\n };\n myRadioArr = _radioArr5;\n myGaeaKey = \"gaea-checkboxMultipleRadio\";\n myType = \"checkboxMultipleRadio\";\n } else if (formArr[j].busiType == \"radio\") {\n var _radioArr6 = [];\n if (formArr[j].busiExplain && formArr[j].busiExplain != \"\") {\n console.log(formArr[j].busiExplain);\n var _radioArrProp8 = eval('(' + formArr[j].busiExplain + ')');\n for (var _prop10 in _radioArrProp8) {\n var _propObj11 = {};\n _propObj11.label = _prop10;\n _propObj11.value = _radioArrProp8[_prop10];\n var _obj8 = {\n \"size\": \"\",\n \"disabled\": false\n };\n _propObj11.extend = _obj8;\n _radioArr6.push(_propObj11);\n }\n }\n myPropObj = {\n \"label\": formArr[j].busiDesc,\n \"busiId\": formArr[j].busiId,\n \"prop\": formArr[j].busiId\n };\n myRadioArr = _radioArr6;\n myGaeaKey = \"gaea-radio\";\n myType = \"radio\";\n } else if (formArr[j].busiType == \"label\" || formArr[j].busiType == \"timeLabel\") {\n myPropObj = {\n \"label\": formArr[j].busiDesc,\n \"busiId\": formArr[j].busiId,\n \"prop\": formArr[j].busiId\n };\n myGaeaKey = \"gaea-\" + formArr[j].busiType;\n myType = formArr[j].busiType;\n } else if (formArr[j].busiType == \"date-picker-daterange\") {\n myPropObj = {\n \"label\": formArr[j].busiDesc,\n \"busiId\": formArr[j].busiId,\n \"prop\": formArr[j].busiId\n };\n myGaeaKey = \"gaea-date-picker-daterange\";\n myType = \"date-picker-daterange\";\n } else if (formArr[j].busiType == \"endDateChoose\" || formArr[j].busiType == \"plate-input\" || formArr[j].busiType == \"select-input\" || formArr[j].busiType == \"budongchan\") {\n myPropObj = {\n \"label\": formArr[j].busiDesc,\n \"busiId\": formArr[j].busiId,\n \"prop\": formArr[j].busiId\n };\n myGaeaKey = \"gaea-\" + formArr[j].busiType;\n myType = formArr[j].busiType;\n } else if (formArr[j].busiType == \"inputIDCard\") {\n myPropObj = {\n \"label\": formArr[j].busiDesc,\n \"busiId\": formArr[j].busiId,\n \"prop\": formArr[j].busiId\n };\n extentdObj = {\n \"birthdayKey\": formArr[j].busiId\n };\n myGaeaKey = \"gaea-\" + formArr[j].busiType;\n myType = formArr[j].busiType;\n } else if (formArr[j].busiType == \"date-picker\") {\n myPropObj = {\n \"label\": formArr[j].busiDesc,\n \"busiId\": formArr[j].busiId,\n \"prop\": formArr[j].busiId\n };\n myGaeaKey = \"gaea-date-picker\";\n myType = \"date-picker\";\n extentdObj = {\n\n \"itemWidth\": 320,\n \"options\": {\n \"disabledDate\": \"beforeToday\"\n }\n };\n } else {\n myPropObj = {\n \"label\": formArr[j].busiDesc,\n \"busiId\": formArr[j].busiId,\n \"prop\": formArr[j].busiId\n };\n myGaeaKey = \"gaea-input\";\n myType = \"input\";\n }\n\n var _validateArr = [];\n if (formArr[j].rows) {\n var triggerType = \"\";\n\n if (formArr[j].busiType == \"select\") {\n triggerType = \"change\";\n }\n\n formArr[j].rows.forEach(function (value, i) {\n console.log('forEach遍历:' + i + '--' + value);\n var validateObj = {};\n if (value.ruleName == \"require\") {\n validateObj = {\n \"required\": true,\n \"message\": formArr[j].busiDesc + \"不能为空\",\n \"type\": \"\",\n \"trigger\": triggerType,\n \"dot\": \"\",\n \"range\": 0,\n \"unit\": \"\"\n };\n } else {\n validateObj = {\n \"message\": \"\",\n \"type\": value.ruleName,\n \"trigger\": triggerType,\n \"dot\": \"\",\n \"range\": 0,\n \"unit\": \"\"\n };\n }\n\n _validateArr.push(validateObj);\n });\n }\n\n if (myGaeaKey && myGaeaKey != \"\") {\n var formProp = [\"gaea_instance_\" + _this.randomWord(12, 4, 4), {\n \"gaeaKey\": myGaeaKey,\n \"data\": {\n \"__setting__\": null,\n \"__crrtInstanceInfo__\": null,\n \"text\": \"input\",\n \"styles\": {\n \"height\": \"40px\",\n \"width\": \"100px\",\n \"margin\": \"10px\"\n },\n \"type\": myType,\n \"model1\": \"\",\n \"level\": 3,\n \"validateArr\": _validateArr,\n \"radioArr\": myRadioArr,\n \"property\": myPropObj,\n \"width\": 200,\n \"extend\": extentdObj\n },\n \"slots\": {},\n \"parentInstanceKey\": myForm[0]\n }];\n formPropArr.push(formProp);\n }\n }\n };\n\n for (var j = 0; j < formArr.length; j++) {\n _loop2(j);\n }\n };\n\n for (var propObj in res.prop) {\n _loop(propObj);\n }\n\n formPropArr = [].concat((0, _toConsumableArray3.default)(formPropArr), (0, _toConsumableArray3.default)(_this.getButtonOprator(res.buttons || [])));\n debugger;\n _this.localInstance = formPropArr;\n _this.delayExcute(0);\n });\n },\n initLocalInstance: function initLocalInstance() {\n this.showModal = true;\n this.modalTitle = \"选择模板\";\n this.$router.push({ path: '/selectTemplate' });\n },\n delayExcute: function delayExcute(i) {\n var _this6 = this;\n\n if (this.isIE()) {\n setTimeout(function () {\n _this6.updateInstance(i);\n }, 200);\n } else {\n setTimeout(function () {\n _this6.updateInstance(i);\n }, 2);\n }\n },\n updateInstance: function updateInstance(j) {\n var _this = this;\n if (j == this.localInstance.length) {\n this.showData();\n }\n for (var key = 0; key < this.localInstance.length; key++) {\n if (key == j) {\n var val = this.localInstance[key][1];\n\n j++;\n var info = {\n newInstanceKey: this.localInstance[key][0],\n gaeaKey: val.gaeaKey,\n parentInstanceKey: val.parentInstanceKey,\n\n preGaeaKey: null,\n slotName: \"default\",\n data: val.data\n };\n _this.commitAddInstance(info);\n _this.delayExcute(j);\n break;\n }\n }\n },\n commitAddInstance: function commitAddInstance(newInfo) {\n var _this7 = this;\n\n this.$store.commit('viewport/addInstance', {\n newInstanceKey: newInfo.newInstanceKey,\n gaeaKey: newInfo.gaeaKey,\n data: newInfo.data,\n parentInstanceKey: newInfo.parentInstanceKey,\n indexPosition: 0,\n preGaeaKey: newInfo.preGaeaKey,\n slotName: newInfo.slotName,\n cb: function cb(newInstanceKey) {\n if (_this7.__handleDragAdd__) {\n _this7.__handleDragAdd__.call(_this7, null, newInfo.data, newInfo.parentInstanceKey, newInfo.gaeaKey, newInstanceKey, newInfo.slotName);\n }\n }\n });\n },\n __handleDragAdd__: function __handleDragAdd__(e, data, parentInstanceKey, gaeaKey, instanceKey, slotName) {\n\n var _parentInstance = this.$store.state.viewport.instances.get(parentInstanceKey);\n var componentClass = this.$store.state.application.componentClasses.get(gaeaKey);\n var crrtInstance = this.$store.state.viewport.instances.get(instanceKey);\n crrtInstance.vm = this;\n (0, _mount.mountSlot)(_parentInstance.vm, function () {\n return data;\n }, componentClass, 'default', instanceKey, this.$store, { isInsert: false });\n },\n gotoConfig: function gotoConfig() {\n this.showModal = true;\n this.$router.push({ path: '/globalSetting' });\n },\n deleteCache: function deleteCache() {\n debugger;\n\n if (localStorage.itemStep != \"5\") {\n var itemStep = parseInt(localStorage.itemStep) + 1;\n localStorage.itemStep = itemStep;\n this.currentStep = itemStep + \"\";\n this.$store.commit('viewport/deleteLevel1Data', {});\n } else {\n this.$router.push({ name: 'selectTemplate', params: {} });\n }\n },\n gotoHelp: function gotoHelp() {\n window.open(\"http://39.107.55.84:8080/rules/procceds-ide/\");\n },\n initUI: function initUI(itemStep) {\n var _this8 = this;\n\n debugger;\n var _this = this;\n debugger;\n\n var formPropParams = {\n itemStep: itemStep,\n itemNo: localStorage.itemNo\n };\n _toolService2.default.selectFormProp(formPropParams).then(function (res) {\n localStorage.propInfo = (0, _stringify2.default)(res);\n });\n console.log(localStorage.itemNo);\n\n if (itemStep != \"1\") {\n this.showServerForm = false;\n this.showBaseInfoForm = true;\n } else {\n this.showServerForm = true;\n this.showBaseInfoForm = false;\n }\n console.log(localStorage.status);\n\n\n if (localStorage.status == \"1\") {\n var params = {\n itemNo: localStorage.itemNo,\n itemStep: localStorage.itemStep,\n jsonType: 1\n };\n _toolService2.default.selectTemplateInfo(params).then(function (res) {\n debugger;\n if (typeof res == \"undefined\") {\n return;\n }\n var instances = _this8.$store.state.viewport.instances;\n instances = [].concat((0, _toConsumableArray3.default)(instances));\n var localInstance = eval('(' + res.jsonStr + ')');\n var str = (0, _stringify2.default)(localInstance);\n\n localInstance = [].concat((0, _toConsumableArray3.default)(instances), (0, _toConsumableArray3.default)(localInstance));\n _this8.localInstance = localInstance;\n _this8.delayExcute(1);\n });\n var paramsJson = {\n itemNo: localStorage.itemNo,\n itemStep: itemStep,\n jsonType: 2\n };\n _toolService2.default.selectTemplateInfo(paramsJson).then(function (res) {\n if (typeof res == \"undefined\") {\n _this8.isLoadedDate = false;\n return;\n }\n _this8.isLoadedDate = true;\n\n var localInstance = eval('(' + res.jsonStr + ')');\n if (localInstance.data.page.fullModel.templateCache) {\n localStorage.setItem(\"page\", (0, _stringify2.default)(localInstance.data.page));\n var templateCache = localInstance.data.page.fullModel.templateCache;\n if (templateCache.tableArr) {\n var tableArr = (0, _stringify2.default)(templateCache.tableArr);\n localStorage.setItem(\"tableArr\", tableArr);\n }\n if (templateCache.selectArr) {\n var selectArr = (0, _stringify2.default)(templateCache.selectArr);\n localStorage.setItem(\"selectArr\", selectArr);\n }\n }\n\n _this.currentStep = localStorage.itemStep;\n });\n } else {\n localStorage.setItem(\"tableArr\", \"[]\");\n }\n }\n },\n mounted: function mounted() {},\n created: function created() {\n var _this9 = this;\n\n var _this = this;\n debugger;\n\n _eventbus2.default.$on(\"openSuccDialog\", function () {\n _this9.$Modal.success({\n title: \"友情提示\",\n content: \"保存模板和事项JSON成功\",\n onOk: function onOk() {\n _this.deleteCache();\n }\n });\n });\n Bus.$on(\"closeConfig\", function () {\n debugger;\n _this9.showModal = false;\n });\n _eventbus2.default.$on(\"addMoveInstance\", function (data) {\n\n var val = data;\n var info = {\n newInstanceKey: val.key,\n gaeaKey: val.gaeaKey,\n parentInstanceKey: val.parentInstanceKey,\n indexPosition: 0,\n preGaeaKey: null,\n slotName: \"default\",\n data: val.data\n };\n _this.commitAddInstance(info);\n });\n _eventbus2.default.$on(\"initTemplateInstance\", function (data) {\n if (localStorage.itemStep == \"\") {\n _this9.initUI(\"1\");\n } else {\n _this9.initUI(localStorage.itemStep);\n }\n });\n _eventbus2.default.$on(\"showTemplateType\", function (data) {\n _this9.initFormLayout(data);\n });\n },\n destroyed: function destroyed() {\n debugger;\n _eventbus2.default.$off('showTemplateType');\n _eventbus2.default.$off('closeConfig');\n _eventbus2.default.$off('initTemplateInstance');\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvZ2xvYmFsLXNldHRpbmdzL2luZGV4LnZ1ZT80YTkxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBc0NBLFU7O0FBQ0E7Ozs7QUFDQTs7QUFDQTs7OztBQUNBOzs7Ozs7OztrQkFDQTtBQUNBLDBCQURBO0FBRUEsUUFGQSxrQkFFQTtBQUNBO0FBQ0EsK0JBREE7QUFFQTtBQUNBLDBCQURBO0FBRUE7QUFGQSxlQUdBO0FBQ0EsMEJBREE7QUFFQTtBQUZBLGFBSEEsRUFNQTtBQUNBLDBCQURBO0FBRUE7QUFGQSxhQU5BLEVBU0E7QUFDQSwwQkFEQTtBQUVBO0FBRkEsYUFUQSxFQVlBO0FBQ0EsMEJBREE7QUFFQTtBQUZBLGFBWkEsQ0FGQTtBQWtCQSxnQ0FsQkE7QUFtQkEsbUNBbkJBO0FBb0JBLGdDQXBCQTtBQXFCQSw0QkFyQkE7QUFzQkEsNEJBdEJBO0FBdUJBO0FBdkJBO0FBeUJBLEtBNUJBOztBQTZCQSwwQkE3QkE7QUE4QkEsMEJBOUJBO0FBK0JBO0FBQ0EsWUFEQSxrQkFDQTtBQUNBLHFFQUNBO0FBQUE7QUFBQSxhQURBLE1BR0E7QUFBQTtBQUFBO0FBQ0EsU0FOQTtBQVFBLHdCQVJBLDRCQVFBLElBUkEsRUFRQTtBQUFBOztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHNDQUVBLENBRkEsTUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBTEEsTUFLQTtBQUVBOztBQUVBO0FBQ0EsK0NBREE7QUFFQSx5Q0FGQTtBQUdBO0FBSEE7QUFLQTtBQUNBO0FBQ0E7QUFDQSwwQ0FEQTtBQUVBLHVEQUZBO0FBR0EsZ0NBSEEsa0JBR0E7QUFDQTtBQUNBO0FBQ0EsNkJBTkE7QUFPQSxvQ0FQQSxzQkFPQTtBQUNBO0FBQ0E7QUFUQTtBQVdBLHFCQVpBLE1BWUE7QUFDQTtBQUNBLHlDQURBO0FBRUEsdURBRkE7QUFHQSxnQ0FIQSxrQkFHQTtBQUNBO0FB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SUEsZ0NBSkE7QUFLQSxnQ0FMQTtBQU1BLG1DQU5BO0FBT0E7QUFQQTtBQVNBO0FBQ0EsU0FiQTtBQWNBO0FBR0E7QUFDQTtBQUNBLGFBRkEsTUFFQTtBQUNBO0FBQ0E7QUFHQSxTQVZBO0FBV0E7QUFDQTtBQUtBLFNBTkE7QUFPQSxLQTcwREE7QUE4MERBLGFBOTBEQSx1QkE4MERBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQW4xREEsQyIsImZpbGUiOiI4Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgIDxkaXY+XHJcbiAgICAgICA8IS0tIDxDb250YWluZXIgQGNsaWNrPVwiZ290b0NvbmZpZygpXCIgIGNsYXNzPVwiaW5kZXhEaXZzXCI+XHJcbiAgICAgICAgICAgIOWFqOWxgOiuvue9rlxyXG4gICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgICAgIDxDb250YWluZXIgQGNsaWNrPVwiZGVsZXRlQ2FjaGUoKVwiIGNsYXNzPVwiaW5kZXhEaXZzXCI+XHJcbiAgICAgICAgICAgIOa4heepuue8k+WtmFxyXG4gICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgICAgICZsdDshJm5kYXNoOyA8Q29udGFpbmVyIEBjbGljaz1cInNhdmVJbnN0YW5jZSgpXCIgY2xhc3M9XCJpbmRleERpdnNcIj5cclxuICAgICAgICAgICAgIOS/neWtmOWunuS+i1xyXG4gICAgICAgICA8L0NvbnRhaW5lcj4mbmRhc2g7Jmd0O1xyXG4gICAgICAgICZsdDshJm5kYXNoOzxDb250YWluZXIgQGNsaWNrPVwibG9hZFNlcnZlckZvcm0oKVwiIGlkPVwibG9hZFNlcnZlckZvcm1cIiBjbGFzcz1cImluZGV4RGl2c1wiICAgdi1pZj1cInNob3dTZXJ2ZXJGb3JtXCI+XHJcbiAgICAgICAgICAgIOWKoOi9veacjeWKoeWZqOihqOWNleaVsOaNrlxyXG4gICAgICAgIDwvQ29udGFpbmVyPiZuZGFzaDsmZ3Q7XHJcbiAgICAgICAgPENvbnRhaW5lciBAY2xpY2s9XCJsb2FkQmFzZUluZm9Gb3JtKClcIiBpZD1cImxvYWRCYXNlSW5mb0Zvcm1cIiBjbGFzcz1cImluZGV4RGl2c1wiIHYtaWY9XCJzaG93QmFzZUluZm9Gb3JtXCIgPlxyXG4gICAgICAgICAgICDliqDovb3ln7rmnKzkv6Hmga/ooajljZXmlbDmja5cclxuICAgICAgICA8L0NvbnRhaW5lcj5cclxuICAgICAgICA8Q29udGFpbmVyIEBjbGljaz1cImxvYWRVcGxvYWRGaWxlKClcIiBpZD1cImxvYWRVcGxvYWRGaWxlXCIgY2xhc3M9XCJpbmRleERpdnNcIiB2LWlmPVwic2hvd0Jhc2VJbmZvRm9ybVwiID5cclxuICAgICAgICAgICAg5Yqg6L295LiK5Lyg6ZmE5Lu2XHJcbiAgICAgICAgPC9Db250YWluZXI+XHJcbiAgICAgICAgPENvbnRhaW5lciBAY2xpY2s9XCJsb2FkU2VydmVyRm9ybVRhYmxlKClcIiBpZD1cImxvYWRTZXJ2ZXJGb3JtVGFibGVcIiBjbGFzcz1cImluZGV4RGl2c1wiIHYtaWY9XCJzaG93U2VydmVyRm9ybVwiID5cclxuICAgICAgICAgICAg5Yqg6L295pyN5Yqh5Zmo6KGo5qC85pWw5o2uXHJcbiAgICAgICAgPC9Db250YWluZXI+XHJcbiAgICAgICAgPENvbnRhaW5lciBAY2xpY2s9XCJnb3RvSGVscCgpXCIgY2xhc3M9XCJpbmRleERpdnNcIj5cclxuICAgICAgICAgICAg5pON5L2c5omL5YaMXHJcbiAgICAgICAgPC9Db250YWluZXI+XHJcbiAgICAgICAgPENvbnRhaW5lciAgY2xhc3M9XCJpbmRleERpdnNcIj5cclxuICAgICAgICAgICAg5b2T5YmN5q2l6aqkOiA8U2VsZWN0IHYtbW9kZWw9XCJjdXJyZW50U3RlcFwiIEBvbi1jaGFuZ2U9XCJzZXRNeUN1cnJlbnRTdGVwXCIgc3R5bGU9XCJ3aWR0aDo4MHB4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxPcHRpb24gdi1mb3I9XCJpdGVtIGluIHN0ZXBMaXN0XCIgOnZhbHVlPVwiaXRlbS52YWx1ZVwiIDprZXk9XCJpdGVtLnZhbHVlXCI+e3sgaXRlbS5sYWJlbCB9fTwvT3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgICAgIDxNb2RhbCB2LW1vZGVsPVwic2hvd01vZGFsXCIgIGZvb3Rlci1oaWRlIGZ1bGxzY3JlZW4gOnRpdGxlPVwibW9kYWxUaXRsZVwiPlxyXG4gICAgICAgICAgICA8cm91dGVyLXZpZXcvPlxyXG4gICAgICAgIDwvTW9kYWw+LS0+XHJcbiAgICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbiAgICBpbXBvcnQgKiBhcyBjb21wb25lbnRzIGZyb20gJy4vc3R5bGUnO1xyXG4gICAgaW1wb3J0IGV2ZW50YnVzIGZyb20gJy4uLy4uL3NlcnZpY2UvZXZlbnRidXMnO1xyXG4gICAgaW1wb3J0IHttb3VudFNsb3R9IGZyb20gJy4uLy4uL3NlcnZpY2UvbW91bnQnO1xyXG4gICAgaW1wb3J0IFNlcnZpY2UgZnJvbSBcIi4uLy4uL3NlcnZpY2UvdG9vbC1zZXJ2aWNlXCI7XHJcbiAgICBpbXBvcnQgaHR0cExvYWRpbmcgZnJvbSBcIi4uLy4uL3V0aWxzL2h0dHBMb2FkaW5nXCI7XHJcbiAgICBleHBvcnQgZGVmYXVsdCB7XHJcbiAgICAgICAgY29tcG9uZW50cyxcclxuICAgICAgICBkYXRhICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGlzTG9hZGVkRGF0ZTpmYWxzZSwvL25vdGUg5a2Y5pS+5piv5LiN5piv5bey57uP5Yqg6L295LqG5pWw5o2uIHRydWUg5piv5bey57uP5Yqg6L2977yMLGZhbHNl5rKh5pyJ5Yqg6L29XHJcbiAgICAgICAgICAgICAgICBzdGVwTGlzdDpbIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJzEnLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiAn56ys5LiA5q2lJ1xyXG4gICAgICAgICAgICAgICAgfSwge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnMicsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICfnrKzkuozmraUnXHJcbiAgICAgICAgICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICczJyxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ+esrOS4ieatpSdcclxuICAgICAgICAgICAgICAgIH0sIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJzQnLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiAn56ys5Zub5q2lJ1xyXG4gICAgICAgICAgICAgICAgfSwge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnNScsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICfnrKzkupTmraUnXHJcbiAgICAgICAgICAgICAgICB9XSxcclxuICAgICAgICAgICAgICAgIHNob3dTZXJ2ZXJGb3JtOnRydWUsXHJcbiAgICAgICAgICAgICAgICBzaG93QmFzZUluZm9Gb3JtOmZhbHNlLFxyXG4gICAgICAgICAgICAgICAgbW9kYWxUaXRsZTpcIuaooeadv+aVsOaNrumFjee9rlwiLFxyXG4gICAgICAgICAgICAgICAgc2hvd01vZGFsOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRTdGVwOlwiMVwiLFxyXG4gICAgICAgICAgICAgICAgbG9jYWxJbnN0YW5jZTpbXVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBwb3NpdGlvbjogJ25hdmJhckxlZnQnLFxyXG4gICAgICAgIG5hbWU6ICdnbG9iYWxTZXR0aW5ncycsXHJcbiAgICAgICAgbWV0aG9kczp7XHJcbiAgICAgICAgICAgIGlzSUUoKSB7IC8vaWU/XHJcbiAgICAgICAgICAgICAgICBpZiAoISF3aW5kb3cuQWN0aXZlWE9iamVjdCB8fCBcIkFjdGl2ZVhPYmplY3RcIiBpbiB3aW5kb3cpXHJcbiAgICAgICAgICAgICAgICB7IHJldHVybiB0cnVlOyB9XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICB7IHJldHVybiBmYWxzZTsgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAvL25vdGUg6K6+572u5b2T5YmN5q2l6aqkXHJcbiAgICAgICAgICAgIHNldE15Q3VycmVudFN0ZXAoaXRlbSl7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhpdGVtKTtcclxuICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRTdGVwPWxvY2FsU3RvcmFnZS5pdGVtU3RlcDtcclxuICAgICAgICAgICAgICAgIGxldCBfdGhpcz10aGlzO1xyXG4gICAgICAgICAgICAgICAgLy9ub3RlIOWmguaenOaYr+W9k+WJjeeahOatpemqpO+8jOS4jeWBmuS7u+S9leWPmOWKqFxyXG4gICAgICAgICAgICAgICAgaWYoY3VycmVudFN0ZXA9PWl0ZW0pe1xyXG4gICAgICAgICAgICAgICAgICAgIC8vbm90ZSDmn6Xor6JcclxuICAgICAgICAgICAgICAgIH1lbHNlIGlmKGN1cnJlbnRTdGVwIT1cIlwiJiZwYXJzZUludChjdXJyZW50U3RlcCk+cGFyc2VJbnQoaXRlbSkpe1xyXG4gICAgICAgICAgICAgICAgICAgIC8vbm90ZSDmn6Xor6LkuYvliY3nmoTnm7TmjqXmuIXpmaTvvIznhLblkI7mn6Xor6JcclxuICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UuaXRlbVN0ZXA9aXRlbTtcclxuICAgICAgICAgICAgICAgICAgICBfdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9kZWxldGVMZXZlbDFEYXRhJyx7fSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZERhdGU9ZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9ZWxzZSBpZihjdXJyZW50U3RlcCE9XCJcIiYmcGFyc2VJbnQoaXRlbSk8cGFyc2VJbnQoY3VycmVudFN0ZXApfHwocGFyc2VJbnQoY3VycmVudFN0ZXApKzEpPT1wYXJzZUludChpdGVtKSl7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOivtOaYjuaYr+afpeivouS5i+WJjeeahO+8jOaIluiAheW+gOWQjuS4gOS4quatpemqpOeahFxyXG4gICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coMTExKTtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDliKTmlq3lvZPliY3mmK/lkKbmmK/kv53lrZjnirbmgIHvvIzlpoLmnpzmmK/vvIzliJnlj6/ku6Xov5vooYzkuIvkuIDmraXvvIzlkKbliJnvvIzkuI3lhYHorrjov5vooYxcclxuICAgICAgICAgICAgICAgICAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtTm86bG9jYWxTdG9yYWdlLml0ZW1ObyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVN0ZXA6Y3VycmVudFN0ZXAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGpzb25UeXBlOjFcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgIFNlcnZpY2Uuc2VsZWN0VGVtcGxhdGVJbmZvKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBpZih0eXBlb2YocmVzKSAhPSBcInVuZGVmaW5lZFwiKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRNb2RhbC5jb25maXJtKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICflj4vmg4Xmj5DnpLohJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDon5YiH5o2i5a6M5oiQ5bCG5Lya5riF56m65pWw5o2u77yM5piv5ZCm57un57ut77yfJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Paygpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLml0ZW1TdGVwPWl0ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9kZWxldGVMZXZlbDFEYXRhJyx7fSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2FuY2VsKCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5jdXJyZW50U3RlcD1sb2NhbFN0b3JhZ2UuaXRlbVN0ZXA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kTW9kYWwuc3VjY2Vzcyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuWPi+aDheaPkOekulwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIuW9k+WJjeatpemqpOS4uuacquWujOaIkCzor7fmjInmraXpqqTliJvlu7rjgIJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Paygpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5jdXJyZW50U3RlcD1sb2NhbFN0b3JhZ2UuaXRlbVN0ZXA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2FuY2VsKCl7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgIC8vICB0aGlzLmluaXRVSShpdGVtKTtcclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIC8vbm90ZSDot6jmraXpqqTnmoTkuI3lh4blgZrku7vkvZXlj5jliqhcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLiRNb2RhbC5zdWNjZXNzKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5Y+L5oOF5o+Q56S6XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwi6K+35oyJ5q2l6aqk5Yib5bu6XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uT2soKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzLmN1cnJlbnRTdGVwPWxvY2FsU3RvcmFnZS5pdGVtU3RlcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNhbmNlbCgpe1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNob3dEYXRhKCl7XHJcbiAgICAgICAgICAgICAgICBsZXQgbG9jYWxJbnN0YW5jZT0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQubG9jYWxJbnN0YW5jZXM7XHJcbiAgICAgICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L3VwZGF0ZURhdGEnLGxvY2FsSW5zdGFuY2UpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBzYXZlSW5zdGFuY2UoKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvc2F2ZUxvY2FsSW5zdGFuY2VzJywge1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLiRNb2RhbC5zdWNjZXNzKHtcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLlj4vmg4Xmj5DnpLpcIixcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIuS/neWtmOaIkOWKn1wiXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaW5pdFRlbXBsYXRlSW5zdGFuY2UoKXtcclxuICAgICAgICAgICAgICAgIGxldCBpbnN0YW5jZXM9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcztcclxuICAgICAgICAgICAgICAgIGluc3RhbmNlcz0gWy4uLmluc3RhbmNlc107XHJcbiAgICAgICAgICAgICAgICBsZXQgbG9jYWxJbnN0YW5jZT0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQubG9jYWxJbnN0YW5jZXM7XHJcbiAgICAgICAgICAgICAgICBsZXQgc3RyPUpTT04uc3RyaW5naWZ5KGxvY2FsSW5zdGFuY2UpO1xyXG4gICAgICAgICAgICAgICAgbG9jYWxJbnN0YW5jZT0gWy4uLmluc3RhbmNlcywuLi5sb2NhbEluc3RhbmNlXTtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxJbnN0YW5jZT1sb2NhbEluc3RhbmNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kZWxheUV4Y3V0ZSgxKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLy9ub3RlIOiOt+WPlumaj+acuuaVsOWtl+Wtl+espuS4slxyXG4gICAgICAgICAgICBnZXRSYW5kb21BbHBoYU51bSgpe1xyXG4gICAgICAgICAgICAgICAgbGV0IGxlbj0xMDtcclxuICAgICAgICAgICAgICAgIHZhciByZG1TdHJpbmcgPSBcIlwiO1xyXG4gICAgICAgICAgICAgICAgZm9yICg7IHJkbVN0cmluZy5sZW5ndGggPCBsZW47IHJkbVN0cmluZyArPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMikpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJkbVN0cmluZy5zdWJzdHIoMCwgbGVuKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLy9ub3RlIOWIm+W7uuatpemqpOadoVxyXG4gICAgICAgICAgICBnZXRTdGVwKHBhcmVudEluc3RhbmNlS2V5LHN0ZXBzKXtcclxuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50U3RlcD1wYXJzZUludChsb2NhbFN0b3JhZ2UuaXRlbVN0ZXApLTE7XHJcbiAgICAgICAgICAgICAgICBsZXQgc3RlcD1bIFwiZ2FlYV9pbnN0YW5jZV8xczBsdXVsNnFya1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJnYWVhS2V5XCI6IFwiZ2FlYS1zdGVwc1wiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImRhdGFcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJfX3NldHRpbmdfX1wiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJfX2NycnRJbnN0YW5jZUluZm9fX1wiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0ZXh0XCI6IFwic3RlcHNcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic3R5bGVzXCI6IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RlcHNcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGV2ZWxcIjogMixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic3RlcHNcIjogc3RlcHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInByb3BlcnR5XCI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImN1cnJlbnRcIjogY3VycmVudFN0ZXBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzbG90c1wiOiB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInBhcmVudEluc3RhbmNlS2V5XCI6IHBhcmVudEluc3RhbmNlS2V5XHJcbiAgICAgICAgICAgICAgICAgICAgfV07XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gc3RlcDtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLy9ub3RlIOWIm+W7uuaXtumXtOe6v1xyXG4gICAgICAgICAgICBnZXRUaW1lTGluZShwYXJlbnRJbnN0YW5jZUtleSl7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGltZUxpbmU9W1xyXG4gICAgICAgICAgICAgICAgICAgIFwiZ2FlYV9pbnN0YW5jZV8xZW1pemgzbWc4NlwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJnYWVhS2V5XCI6IFwiZ2FlYS10aW1lLWxpbmVcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkYXRhXCI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiX19zZXR0aW5nX19cIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiX19jcnJ0SW5zdGFuY2VJbmZvX19cIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGV2ZWxcIjogMixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicHJvcGVydHlcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibW9kZWxcIjpcInRpbWVMaW5lRGF0YVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicXJDb2RlU2hvd1wiOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInBlbmRpbmdcIjogZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzbG90c1wiOiB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInBhcmVudEluc3RhbmNlS2V5XCI6IHBhcmVudEluc3RhbmNlS2V5XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aW1lTGluZTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLy9ub3RlIOWIm+W7uuS4i+i9veivgeeFp+mZhOS7tlxyXG4gICAgICAgICAgICBnZXRJbmZvQXR0YWNobWVudChwYXJlbnRJbnN0YW5jZUtleSl7XHJcbiAgICAgICAgICAgICAgICBsZXQgIGluZm9BdHRhY2htZW50PSBbXHJcbiAgICAgICAgICAgICAgICAgICAgXCJnYWVhX2luc3RhbmNlXzFpNjR4NnZjbHN1XCIsXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdhZWFLZXlcIjogXCJnYWVhLWluZm8tYXR0YWNobWVudFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImRhdGFcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJfX3NldHRpbmdfX1wiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJfX2NycnRJbnN0YW5jZUluZm9fX1wiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzdHlsZXNcIjoge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxldmVsXCI6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInByb3BlcnR5XCI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1vZGVsXCI6IFwiaW5mb0F0dGFjaG1lbnRcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImhlYWRlclRpdGxlXCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzaG93SGVhZGVyXCI6IGZhbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInNsb3RzXCI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGVmYXVsdFwiOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicGFyZW50SW5zdGFuY2VLZXlcIjpwYXJlbnRJbnN0YW5jZUtleSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJwcmVHYWVhS2V5XCI6IG51bGxcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGluZm9BdHRhY2htZW50O1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAvL25vdGUg5Yib5bu6aW5mb2Jhc2Ug5ZKMQ2VsbFxyXG4gICAgICAgICAgICBnZXRDZWxsKGhlYWRlclRpdGxlKXtcclxuICAgICAgICAgICAgICAgIGxldCAgY2VsbFByb3A9IFtcclxuICAgICAgICAgICAgICAgICAgICBcImdhZWFfaW5zdGFuY2VfMXFjY2h3NWpmdWVcIixcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZ2FlYUtleVwiOiBcImdhZWEtY2VsbFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImRhdGFcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJfX3NldHRpbmdfX1wiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJfX2NycnRJbnN0YW5jZUluZm9fX1wiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzdHlsZXNcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWluV2lkdGhcIjogXCIxMDBweFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWluSGVpZ2h0XCI6IFwiMjAwcHhcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIndpZHRoXCI6IFwiMTAwJVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYmFja2dyb3VuZENvbG9yXCI6IFwiI2ZmZlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsZXZlbFwiOiAyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJwcm9wZXJ0eVwiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb2xcIjogNCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInNob3dIZWFkZXJcIjogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInNob3dGb290ZXJcIjogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJoZWFkZXJUaXRsZVwiOiBoZWFkZXJUaXRsZXx8XCJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZXh0ZW5kXCI6IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwic2xvdHNcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkZWZhdWx0XCI6IFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJwYXJlbnRJbnN0YW5jZUtleVwiOiBcImdhZWFfaW5zdGFuY2VfdWplb2RsbjhmeFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInByZUdhZWFLZXlcIjogbnVsbFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbFByb3A7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGdldEluZm9CYXNlKGJveFRpdGxlKXtcclxuICAgICAgICAgICAgICAgIGxldCAgaW5mb0Jhc2VQcm9wPSBbXHJcbiAgICAgICAgICAgICAgICAgICAgXCJnYWVhX2luc3RhbmNlX3VqZW9kbG44ZnhcIixcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZ2FlYUtleVwiOiBcImdhZWEtaW5mby1iYXNlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZGF0YVwiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIl9fc2V0dGluZ19fXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIl9fY3JydEluc3RhbmNlSW5mb19fXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInN0eWxlc1wiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtaW5XaWR0aFwiOiBcIjEwMHB4XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ3aWR0aFwiOiBcIjk1JVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWluSGVpZ2h0XCI6IFwiMzgwcHhcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJhY2tncm91bmRDb2xvclwiOiBcIiNmZmZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGV2ZWxcIjogMixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicHJvcGVydHlcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYXJyb3dcIjogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvb3RlclwiOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbFwiOiA0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic2hvd0hlYWRlclwiOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic2hvd0Zvb3RlclwiOiBmYWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZXh0ZW5kXCI6IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwic2xvdHNcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkZWZhdWx0XCI6IFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJwYXJlbnRJbnN0YW5jZUtleVwiOiBib3hUaXRsZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJwcmVHYWVhS2V5XCI6IG51bGxcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGluZm9CYXNlUHJvcDtcclxuICAgICAgICAgICAgfSxcclxuXHJcbiAgICAgICAgICAgIC8vbm90ZSDliJvlu7pib3ggZm9ybVxyXG4gICAgICAgICAgICBnZXRUaXRsZShib3hOYW1lLG5hbWUpe1xyXG4gICAgICAgICAgICAgICAgbGV0ICB0aXRsZVByb3A9IFtcclxuICAgICAgICAgICAgICAgICAgICBcImdhZWFfaW5zdGFuY2VfMjJxemE0dzBjM25cIixcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZ2FlYUtleVwiOiBcImdhZWEtdGl0bGVcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkYXRhXCI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiX19zZXR0aW5nX19cIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiX19jcnJ0SW5zdGFuY2VJbmZvX19cIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic3R5bGVzXCI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpc3BsYXlcIjogXCJpbmxpbmUtYmxvY2tcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIndpZHRoXCI6IFwiMTAwcHhcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImhlaWdodFwiOiBcIjMwcHhcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxpbmVIZWlnaHRcIjogXCIzMHB4XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0ZXh0QWxpZ25cIjogXCJjZW50ZXJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1hcmdpblwiOiBcIjEwcHhcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJhY2tncm91bmRDb2xvclwiOiBcIiNmZmZcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvbnRTaXplXCI6IFwiMTVweFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsZXZlbFwiOiAyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJwcm9wZXJ0eVwiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0aXRsZVwiOiBuYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJleHRlbmRcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic3BhblwiOiAxNyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsV2lkdGhcIjogMjIyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwic2xvdHNcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkZWZhdWx0XCI6IFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJwYXJlbnRJbnN0YW5jZUtleVwiOiBib3hOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInByZUdhZWFLZXlcIjogbnVsbFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGl0bGVQcm9wO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAvL25vdGUg5Yib5bu6Ym94IGZvcm1cclxuICAgICAgICAgICAgZ2V0Qm94KCl7XHJcbiAgICAgICAgICAgICAgICBsZXQgIGJveFByb3A9IFtcclxuICAgICAgICAgICAgICAgICAgICBcImdhZWFfaW5zdGFuY2VfYm94X1wiK3RoaXMucmFuZG9tV29yZCgxMiw0LDQpLFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJnYWVhS2V5XCI6IFwiZ2FlYS1ib3hcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkYXRhXCI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiX19zZXR0aW5nX19cIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiX19jcnJ0SW5zdGFuY2VJbmZvX19cIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic3R5bGVzXCI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIndpZHRoXCI6IFwiMTAwJVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYm9yZGVyXCI6IFwiMHB4XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJiYWNrZ3JvdW5kQ29sb3JcIjogXCIjZmZmXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsZXZlbFwiOiAxLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJwcm9wZXJ0eVwiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWxpZGF0b3JcIjogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtb2RlbFwiOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWluUm93c1wiOiAyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGlzYWJsZURlbFJvd3NcIjogMixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJ0bk1zZ1wiOiBcIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJleHRlbmRcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic3BhblwiOiAxNyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsV2lkdGhcIjogMjIyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwic2xvdHNcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkZWZhdWx0XCI6IFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJwYXJlbnRJbnN0YW5jZUtleVwiOiBcImdhZWFfaW5zdGFuY2VfMVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInByZUdhZWFLZXlcIjogbnVsbFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYm94UHJvcDtcclxuXHJcblxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBnZXRCdXR0b25PcHJhdG9yKGJ1dHRvbnMpe1xyXG4gICAgICAgICAgICAgICAgaWYoYnV0dG9ucy5sZW5ndGg9PTApe1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbnM9WyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjogXCLlip7kuovmjIfljZdcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3VjY2Vzc1wiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImNsaWNrXCI6IFwiZ3VpZGVDbGlja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOiBcIuS4i+S4gOatpVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwiZXJyb3JcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY2xpY2tcIjogXCJuZXh0U3RlcENsaWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOiBcIuS/neWtmFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwid2FybmluZ1wiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjbGlja1wiOiBcInNhdmVDbGlja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1dO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbGV0IG9wcmF0ZXJQcm9wPVtdO1xyXG4gICAgICAgICAgICAgICAgbGV0IGJ1dHRvbk9wcmFvdGVyPVwiZ2FlYV9pbnN0YW5jZV9idG5fXCIrdGhpcy5yYW5kb21Xb3JkKDEyLDQsNCk7XHJcbiAgICAgICAgICAgICAgICBsZXQgIGJveFByb3A9IFtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b25PcHJhb3RlciAsXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdhZWFLZXlcIjogXCJnYWVhLWJ0bnMtb3ByYXRvclwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImRhdGFcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJfX3NldHRpbmdfX1wiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJfX2NycnRJbnN0YW5jZUluZm9fX1wiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzdHlsZXNcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWFyZ2luVG9wXCI6IFwiMjBweFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWluV2lkdGhcIjogXCIxMDBweFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwid2lkdGhcIjogXCI5NSVcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1pbkhlaWdodFwiOiBcIjEwMHB4XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJib3JkZXJcIjogXCIxcHggc29saWQgI2NjY1wiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYmFja2dyb3VuZENvbG9yXCI6IFwiI0ZERjhGNVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicGFkZGluZ0JvdHRvbVwiOiBcIjIwcHhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGV2ZWxcIjogMSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicHJvcGVydHlcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsaWRhdG9yXCI6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibW9kZWxcIjogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1pblJvd3NcIjogMixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpc2FibGVEZWxSb3dzXCI6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJwYWRkaW5nXCI6IFwiMHB4IDIxN3B4IDBweCA0MjNweFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYnRuTXNnXCI6IFwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImV4dGVuZFwiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzcGFuXCI6IDE3LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxXaWR0aFwiOiAyMjJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzbG90c1wiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRlZmF1bHRcIjogW1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJwYXJlbnRJbnN0YW5jZUtleVwiOiBcImdhZWFfaW5zdGFuY2VfMVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInByZUdhZWFLZXlcIjogbnVsbFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgICAgICBvcHJhdGVyUHJvcC5wdXNoKGJveFByb3ApO1xyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBpPTA7aTxidXR0b25zLmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBnYWVhQnRuPVwiZ2FlYV9pbnN0YW5jZV9idG5fY2hpbGRfXCIrdGhpcy5yYW5kb21Xb3JkKDEyLDQsNCk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHByb3BPYmo9YnV0dG9uc1tpXTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgb3ByYXRlQnV0dG9uPSBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdhZWFCdG4sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZ2FlYUtleVwiOiBcImdhZWEtYnV0dG9uXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRhdGFcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiX19zZXR0aW5nX19cIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIl9fY3JydEluc3RhbmNlSW5mb19fXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0ZXh0XCI6IFwiaW5wdXRcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInN0eWxlc1wiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaGVpZ2h0XCI6IFwiNDBweFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIndpZHRoXCI6IFwiMTAwcHhcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtYXJnaW5cIjogXCIxMHB4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicHJvcGVydHlcIjogcHJvcE9iaixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInRleHRcIjogXCLlip7kuovmjIfljZdcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJzdWNjZXNzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsZXZlbFwiOiAzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZXh0ZW5kXCI6IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic2xvdHNcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicGFyZW50SW5zdGFuY2VLZXlcIjogYnV0dG9uT3ByYW90ZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgICAgICAgICAgb3ByYXRlclByb3AucHVzaChvcHJhdGVCdXR0b24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9wcmF0ZXJQcm9wO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBnZXRGb3JtKGJveE5hbWUpe1xyXG4gICAgICAgICAgICAgICAgbGV0ICBmcm9tUHJvcD0gW1xyXG4gICAgICAgICAgICAgICAgICAgIFwiZ2FlYV9pbnN0YW5jZV8ycHZ6Z2JzZmhmNFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJnYWVhS2V5XCI6IFwiZ2FlYS1mb3JtXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZGF0YVwiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIl9fc2V0dGluZ19fXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIl9fY3JydEluc3RhbmNlSW5mb19fXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInN0eWxlc1wiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ3aWR0aFwiOiBcIjEwMCVcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJvcmRlclwiOiBcIjBweFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYmFja2dyb3VuZENvbG9yXCI6IFwiI2ZmZlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwiZm9ybVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0aXRsZVwiOiBcIkZvcm1cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGV2ZWxcIjogMixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicHJvcGVydHlcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsaWRhdG9yXCI6IHRydWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImV4dGVuZFwiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzcGFuXCI6IDE3LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxXaWR0aFwiOiAyMjIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpdGVtV2lkdGhcIjogMzIwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicGxhY2Vob2xkZXJcIjogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1heGxlbmd0aFwiOiBcIjIyMFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZXZlbnRUeXBlXCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJyb3dzXCI6IDBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzbG90c1wiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRlZmF1bHRcIjogW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInBhcmVudEluc3RhbmNlS2V5XCI6IGJveE5hbWVcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZyb21Qcm9wO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAvL25vdGUg5Yqg6L295pyN5Yqh5Zmo6KGo5Y2V5pWw5o2uXHJcbiAgICAgICAgICAgIGxvYWRCYXNlSW5mb0Zvcm0oKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuaXNMb2FkZWREYXRlKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLiROb3RpY2Uud2FybmluZyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn5Yqg6L295pWw5o2uJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGVzYzogICflvZPliY3lt7Lnu4/liJvlu7rmlbDmja7vvIzkuI3og73nu6fnu63liJvlu7onXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGxldCBjb3VudEZvcm1UYWJsZUluc3RhbmNlPTEwMDA7XHJcbiAgICAgICAgICAgICAgICBsZXQgY291bnRGb3JtSW5zdGFuY2U9MTAwO1xyXG4gICAgICAgICAgICAgICAgbGV0IF90aGlzPXRoaXM7XHJcbiAgICAgICAgICAgICAgICBsZXQgYXJyMT1bXTtcclxuICAgICAgICAgICAgICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbU5vOmxvY2FsU3RvcmFnZS5pdGVtTm8sXHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0ZXA6XCIxXCIvL2xvY2FsU3RvcmFnZS5pdGVtU3RlcFxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIGh0dHBMb2FkaW5nLnNob3dMb2FkaW5nKFwi5q2j5Zyo5Yqg6L295pWw5o2uLi4uXCIpXHJcbiAgICAgICAgICAgICAgICBTZXJ2aWNlLnNlbGVjdEZvcm1Qcm9wKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOmmluWFiOWPluWIsGZvcm3nmoTlrp7kvovlkI3np7BcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZm9ybUluc3RhbmNlTmFtZT1cImdhZWFfaW5zdGFuY2VfMXFjY2h3NWpmdWVcIjtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZm9ybVByb3BBcnI9W107XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHN0ZXBCb3g9X3RoaXMuZ2V0Qm94KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgc3RlcEJveFswXT1cImdhZWFfaW5zdGFuY2VfXCIrX3RoaXMucmFuZG9tV29yZCgxMiw0LDQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyLnB1c2goc3RlcEJveCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybVByb3BBcnIucHVzaChfdGhpcy5nZXRTdGVwKHN0ZXBCb3hbMF0scmVzLnN0ZXBzfHxbe1widGl0bGVcIjpcIuWhq+WGmei1hOaWmVwifSx7XCJ0aXRsZVwiOlwi5LiK5Lyg6ZmE5Lu2XCJ9LHtcInRpdGxlXCI6XCLmj5DkuqTlrqHmoLhcIn0se1widGl0bGVcIjpcIuW3suWKnue7k1wifV0pKTtcclxuICAgICAgICAgICAgICAgICAgICBmb3JtUHJvcEFyci5wdXNoKF90aGlzLmdldFRpbWVMaW5lKHN0ZXBCb3hbMF0pKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgYm94PV90aGlzLmdldEJveCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyLnB1c2goYm94KTtcclxuICAgICAgICAgICAgICAgICAgICBmb3JtUHJvcEFyci5wdXNoKF90aGlzLmdldEluZm9CYXNlKGJveFswXSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWREYXRlPXRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgaHR0cExvYWRpbmcuY2xvc2VMb2FkaW5nKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBwcm9wT2JqIGluIHJlcy5wcm9wKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmb3JtQXJyPXJlcy5wcm9wW3Byb3BPYmpdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBsZXQgY3VycmVudE9ialN0cj1KU09OLnN0cmluZ2lmeShyZXMucHJvcFtwcm9wT2JqXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxldCBsaXN0TGVuZ3RoPSAoY3VycmVudE9ialN0ci5zcGxpdCgnTGlzdCcpKS5sZW5ndGgtMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG15Q2VsbD1fdGhpcy5nZXRDZWxsKHByb3BPYmopO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBteUNlbGxbMF09XCJnYWVhX2luc3RhbmNlX2NlbGxfXCIrX3RoaXMucmFuZG9tV29yZCgxMiw0LDQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtUHJvcEFyci5wdXNoKG15Q2VsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgZm9ybUFyci5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZyb21Qcm9wID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5bGe5oCn5a+56LGhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlQcm9wT2JqID0ge31cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDkuIvmi4nmoYbmiJbogIXljZXpgInmoYbmlbDnu4RcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteVJhZGlvQXJyID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5bel5YW357uE5Lu257G75Z6LXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlHYWVhS2V5ID0gXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDns7vnu5/nu4Tku7bnsbvlnotcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteVR5cGUgPSBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZvcm1BcnJbal0uYnVzaVR5cGUgPT0gXCJMaXN0XCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzQXJyID0gZXZhbCgnKCcgKyBmb3JtQXJyW2pdLmJ1c2lFeHBsYWluICsgJyknKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBwcm9wIGluIHJlc0Fycikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhwcm9wKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMuaW5pdEZvcm1UYWJsZUtleShwcm9wKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzQXJyW3Byb3BdKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3BvbnNlID0gcmVzQXJyW3Byb3BdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5LiL5ouJ5qGG5oiW6ICF5Y2V6YCJ5qGG5pWw57uEXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteUZyb21UYWJsZVJhZGlvQXJyID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDlt6Xlhbfnu4Tku7bnsbvlnotcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG15RnJvbVRhYmxlR2FlYUtleSA9IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDns7vnu5/nu4Tku7bnsbvlnotcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG15RnJvbVRhYmxlVHlwZSA9IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteUZyb21UYWJsZVByb3BPYmogPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInRpdGxlXCI6IGZvcm1BcnJbal0uYnVzaURlc2MsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInByb3BcIjogcHJvcCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjogXCJ0YWJsZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzcGFuXCI6IDI0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ3aWR0aFwiOiAxMDAwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG15R2FlYUtleSA9IFwiZ2FlYS1jZWxsLXRhYmxlXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmb3JtVGFibGVQcm9wID0gW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJnYWVhX2luc3RhbmNlX2NlbGx0YWJsZV9cIiArIGNvdW50Rm9ybVRhYmxlSW5zdGFuY2UgKyBqLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZ2FlYUtleVwiOiBteUdhZWFLZXksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkYXRhXCI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJfX3NldHRpbmdfX1wiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIl9fY3JydEluc3RhbmNlSW5mb19fXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidGV4dFwiOiBcImlucHV0XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic3R5bGVzXCI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYm9yZGVyXCI6IFwiMXB4IHNvbGlkICNjY2NcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYmFja2dyb3VuZENvbG9yXCI6IFwiI2ZjZmNmY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidGl0bGVcIjogXCJjZWxsLXRhYmxlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcImNlbGwtdGFibGVcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsZXZlbFwiOiAyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInZhbGlkYXRlXCI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicmVxdWlyZWRcIjogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1lc3NhZ2VcIjogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0cmlnZ2VyXCI6IFwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJleHRlbmRcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJldmVudFR5cGVcIjogXCJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInByb3BlcnR5XCI6IG15RnJvbVRhYmxlUHJvcE9iaixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic2xvdHNcIjoge30sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJwYXJlbnRJbnN0YW5jZUtleVwiOiBteUNlbGxbMF1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybVByb3BBcnIucHVzaChmb3JtVGFibGVQcm9wKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOWGjeWKoOi9vWZvcm0tdGFibGUg6YeM6Z2i55qE5bGe5oCnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzcG9uc2UubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDlsZ7mgKflr7nosaFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteVByb3BPYmogPSB7fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOS4i+aLieahhuaIluiAheWNlemAieahhuaVsOe7hFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG15UmFkaW9BcnIgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDlt6Xlhbfnu4Tku7bnsbvlnotcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteUZvcm1UYWJsZUdhZWFLZXkgPSBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOezu+e7n+e7hOS7tuexu+Wei1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG15Rm9ybVRhYmxlUHJvcFR5cGUgPSBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOWumuS5ieaVsOe7hOexu+Wei1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJhZGlvRm9ybVRhYmxlQXJyID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2VbaV0uYnVzaVR5cGVOYW1lID09IFwicmFkaW9cIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSBzZWxlY3RcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZVtpXS5idXNpRXhwbGFpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJhZGlvQXJyUHJvcCA9IGV2YWwoJygnICsgcmVzcG9uc2VbaV0uYnVzaUV4cGxhaW4gKyAnKScpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IHByb3AgaW4gcmFkaW9BcnJQcm9wKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwcm9wT2JqID0ge307XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmoubGFiZWwgPSBwcm9wO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wT2JqLnZhbHVlID0gcmFkaW9BcnJQcm9wW3Byb3BdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgb2JqID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzaXplXCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpc2FibGVkXCI6IGZhbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmouZXh0ZW5kID0gb2JqO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWRpb0Zvcm1UYWJsZUFyci5wdXNoKHByb3BPYmopO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmogPVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImtleVwiOiByZXNwb25zZVtpXS5idXNpTmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidGl0bGVcIjogcmVzcG9uc2VbaV0uYnVzaURlc2MsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsXCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJ1c2lJZFwiOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpdGVtc1Byb3BcIjogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcInNlbGVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUZvcm1UYWJsZUdhZWFLZXkgPSBcImdhZWEtdGFibGUtc2VsZWN0XCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlGb3JtVGFibGVQcm9wVHlwZSA9IFwic2VsZWN0XCI7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXNwb25zZVtpXS5idXNpVHlwZU5hbWUgPT0gXCJzaW5nbGVEYXRlXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmogPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwia2V5XCI6IHJlc3BvbnNlW2ldLmJ1c2lOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInRpdGxlXCI6IHJlc3BvbnNlW2ldLmJ1c2lEZXNjLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImFsaWduXCI6IFwiY2VudGVyXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcInNpbmdsZURhdGVcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJwbGFjZWhvbGRlclwiOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUZvcm1UYWJsZUdhZWFLZXkgPSBcImdhZWEtdGFibGUtc2luZ2xlLWRhdGVcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUZvcm1UYWJsZVByb3BUeXBlID0gXCJ0YWJsZS1kYXRlLXBpY2tlclwiO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2VbaV0uYnVzaVR5cGVOYW1lID09IFwiZGF0YVJhbmdlXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmogPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwia2V5XCI6IHJlc3BvbnNlW2ldLmJ1c2lOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInRpdGxlXCI6IHJlc3BvbnNlW2ldLmJ1c2lEZXNjLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImFsaWduXCI6IFwiY2VudGVyXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcImRhdGFSYW5nZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInBsYWNlaG9sZGVyXCI6IFwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlGb3JtVGFibGVHYWVhS2V5ID0gXCJnYWVhLXRhYmxlLXNpbmdsZS1kYXRlXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlGb3JtVGFibGVQcm9wVHlwZSA9IFwidGFibGUtZGF0ZS1waWNrZXJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlQcm9wT2JqID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImtleVwiOiByZXNwb25zZVtpXS5idXNpTmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0aXRsZVwiOiByZXNwb25zZVtpXS5idXNpRGVzYyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhbGlnblwiOiBcImNlbnRlclwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJpbnB1dFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInBsYWNlaG9sZGVyXCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15Rm9ybVRhYmxlR2FlYUtleSA9IFwiZ2FlYS10YWJsZS1pbnB1dFwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15Rm9ybVRhYmxlUHJvcFR5cGUgPSBcImlucHV0XCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZnJvbVRhYmxlQ2hpbGRQcm9wID0gW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZ2FlYV9pbnN0YW5jZV90YWJsZVwiICsgY291bnRGb3JtSW5zdGFuY2UgKyBqICsgaSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZ2FlYUtleVwiOiBteUZvcm1UYWJsZUdhZWFLZXksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGF0YVwiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIl9fc2V0dGluZ19fXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIl9fY3JydEluc3RhbmNlSW5mb19fXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInRleHRcIjogXCJpbnB1dFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzdHlsZXNcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaGVpZ2h0XCI6IFwiNDBweFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwid2lkdGhcIjogMTAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWFyZ2luXCI6IFwiMTBweFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IG15Rm9ybVRhYmxlUHJvcFR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxldmVsXCI6IDMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInZhbGlkYXRlQXJyXCI6IFtdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpdGVtc1Byb3BcIjogcmFkaW9Gb3JtVGFibGVBcnIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInJhZGlvQXJyXCI6IHJhZGlvRm9ybVRhYmxlQXJyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJwcm9wZXJ0eVwiOiBteVByb3BPYmosXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImV4dGVuZFwiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpdGVtV2lkdGhcIjogMzIwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicGxhY2Vob2xkZXJcIjogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImV2ZW50VHlwZVwiOiBcIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic2xvdHNcIjoge30sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicGFyZW50SW5zdGFuY2VLZXlcIjogXCJnYWVhX2luc3RhbmNlX2NlbGx0YWJsZV9cIiArIGNvdW50Rm9ybVRhYmxlSW5zdGFuY2UgKyBqXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyLnB1c2goZnJvbVRhYmxlQ2hpbGRQcm9wKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZvcm1BcnJbal0uYnVzaVR5cGUgPT0gXCJoaWRlXCIpIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZvcm1BcnJbal0uYnVzaVR5cGUgPT0gXCJzZWxlY3RcInx8Zm9ybUFycltqXS5idXNpVHlwZSA9PSBcInNlbGVjdExhYmVsXCJ8fGZvcm1BcnJbal0uYnVzaVR5cGUgPT0gXCJzZWxlY3RMaW5rXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZm9ybUFycltqXS5idXNpRXhwbGFpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByYWRpb0FyciA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihmb3JtQXJyW2pdLmJ1c2lFeHBsYWluIT1cIlwiKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByYWRpb0FyclByb3AgPSBldmFsKCcoJyArIGZvcm1BcnJbal0uYnVzaUV4cGxhaW4gKyAnKScpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgcHJvcCBpbiByYWRpb0FyclByb3ApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcHJvcE9iaiA9IHt9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmoubGFiZWwgPSBwcm9wO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmoudmFsdWUgPSByYWRpb0FyclByb3BbcHJvcF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG9iaiA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzaXplXCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGlzYWJsZWRcIjogZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmouZXh0ZW5kID0gb2JqO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhZGlvQXJyLnB1c2gocHJvcE9iaik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlQcm9wT2JqID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOiBcInNlbGVjdFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0aXRsZVwiOiBmb3JtQXJyW2pdLmJ1c2lEZXNjLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJidXNpSWRcIjogZm9ybUFycltqXS5idXNpSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInByb3BcIjogZm9ybUFycltqXS5idXNpSWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVJhZGlvQXJyID0gcmFkaW9BcnI7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZm9ybUFycltqXS5idXNpVHlwZSA9PSBcInJhZGlvXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJhZGlvQXJyID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGZvcm1BcnJbal0uYnVzaUV4cGxhaW4mJmZvcm1BcnJbal0uYnVzaUV4cGxhaW4hPVwiXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZm9ybUFycltqXS5idXNpRXhwbGFpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmFkaW9BcnJQcm9wID0gZXZhbCgnKCcgKyBmb3JtQXJyW2pdLmJ1c2lFeHBsYWluICsgJyknKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGZvcm1BcnJbal0uYnVzaUV4cGxhaW4hPVwiXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IHByb3AgaW4gcmFkaW9BcnJQcm9wKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwcm9wT2JqID0ge307XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmoubGFiZWwgPSBwcm9wO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wT2JqLnZhbHVlID0gcmFkaW9BcnJQcm9wW3Byb3BdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgb2JqID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzaXplXCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpc2FibGVkXCI6IGZhbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmouZXh0ZW5kID0gb2JqO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWRpb0Fyci5wdXNoKHByb3BPYmopO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmogPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsXCI6IFwic2VsZWN0XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInRpdGxlXCI6IGZvcm1BcnJbal0uYnVzaURlc2MsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJ1c2lJZFwiOiBmb3JtQXJyW2pdLmJ1c2lJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicHJvcFwiOiBmb3JtQXJyW2pdLmJ1c2lJZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UmFkaW9BcnIgPSByYWRpb0FycjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZSBpZiAoZm9ybUFycltqXS5idXNpVHlwZSA9PSBcImNoZWNrYm94TXVsdGlwbGVcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmFkaW9BcnIgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoZm9ybUFycltqXS5idXNpRXhwbGFpbiYmZm9ybUFycltqXS5idXNpRXhwbGFpbiE9XCJcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhmb3JtQXJyW2pdLmJ1c2lFeHBsYWluKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByYWRpb0FyclByb3AgPSBldmFsKCcoJyArIGZvcm1BcnJbal0uYnVzaUV4cGxhaW4gKyAnKScpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoZm9ybUFycltqXS5idXNpRXhwbGFpbiE9XCJcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgcHJvcCBpbiByYWRpb0FyclByb3ApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHByb3BPYmogPSB7fTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai5sYWJlbCA9IHByb3A7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmoudmFsdWUgPSByYWRpb0FyclByb3BbcHJvcF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBvYmogPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInNpemVcIjogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGlzYWJsZWRcIjogZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai5leHRlbmQgPSBvYmo7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhZGlvQXJyLnB1c2gocHJvcE9iaik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UHJvcE9iaiA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjogXCJjaGVja2JveE11bHRpcGxlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInRpdGxlXCI6IGZvcm1BcnJbal0uYnVzaURlc2MsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJ1c2lJZFwiOiBmb3JtQXJyW2pdLmJ1c2lJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicHJvcFwiOiBmb3JtQXJyW2pdLmJ1c2lJZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UmFkaW9BcnIgPSByYWRpb0FycjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGZvcm1BcnJbal0uYnVzaVR5cGUgPT0gXCJjaGVja2JveE11bHRpcGxlUmFkaW9cIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmFkaW9BcnIgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoZm9ybUFycltqXS5idXNpRXhwbGFpbiYmZm9ybUFycltqXS5idXNpRXhwbGFpbiE9XCJcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhmb3JtQXJyW2pdLmJ1c2lFeHBsYWluKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByYWRpb0FyclByb3AgPSBldmFsKCcoJyArIGZvcm1BcnJbal0uYnVzaUV4cGxhaW4gKyAnKScpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoZm9ybUFycltqXS5idXNpRXhwbGFpbiE9XCJcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgcHJvcCBpbiByYWRpb0FyclByb3ApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHByb3BPYmogPSB7fTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai5sYWJlbCA9IHByb3A7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmoudmFsdWUgPSByYWRpb0FyclByb3BbcHJvcF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBvYmogPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInNpemVcIjogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGlzYWJsZWRcIjogZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai5leHRlbmQgPSBvYmo7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhZGlvQXJyLnB1c2gocHJvcE9iaik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UHJvcE9iaiA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjogXCJjaGVja2JveE11bHRpcGxlUmFkaW9cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidGl0bGVcIjogZm9ybUFycltqXS5idXNpRGVzYyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYnVzaUlkXCI6IGZvcm1BcnJbal0uYnVzaUlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJwcm9wXCI6IGZvcm1BcnJbal0uYnVzaUlkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlSYWRpb0FyciA9IHJhZGlvQXJyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gIGVsc2UgaWYgKGZvcm1BcnJbal0uYnVzaVR5cGUgPT0gXCJkYXRlLXBpY2tlci1kYXRlcmFuZ2VcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmogPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsXCI6IFwiZGF0ZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0aXRsZVwiOiBmb3JtQXJyW2pdLmJ1c2lEZXNjLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJidXNpSWRcIjogZm9ybUFycltqXS5idXNpSWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlIGlmKGZvcm1BcnJbal0uYnVzaVR5cGU9PVwiZW5kRGF0ZUNob29zZVwifHxmb3JtQXJyW2pdLmJ1c2lUeXBlPT1cInBsYXRlLWlucHV0XCJ8fGZvcm1BcnJbal0uYnVzaVR5cGU9PVwic2VsZWN0LWlucHV0XCJ8fGZvcm1BcnJbal0uYnVzaVR5cGU9PVwiYnVkb25nY2hhblwiKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlQcm9wT2JqPXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYnVzaUlkXCI6Zm9ybUFycltqXS5idXNpSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInRpdGxlXCI6IGZvcm1BcnJbal0uYnVzaURlc2MsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInByb3BcIjogZm9ybUFycltqXS5idXNpSWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUdhZWFLZXk9XCJnYWVhLVwiK2Zvcm1BcnJbal0uYnVzaVR5cGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15VHlwZT1mb3JtQXJyW2pdLmJ1c2lUeXBlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChmb3JtQXJyW2pdLmJ1c2lUeXBlID09IFwiZGF0ZS1waWNrZXJcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmogPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInRpdGxlXCI6IGZvcm1BcnJbal0uYnVzaURlc2MsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInByb3BcIjogZm9ybUFycltqXS5idXNpSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJ1c2lJZFwiOiBmb3JtQXJyW2pdLmJ1c2lJZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UHJvcE9iaiA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidGl0bGVcIjogZm9ybUFycltqXS5idXNpRGVzYyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicHJvcFwiOiBmb3JtQXJyW2pdLmJ1c2lJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYnVzaUlkXCI6IGZvcm1BcnJbal0uYnVzaUlkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZvcm1Qcm9wID0gW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImdhZWFfaW5zdGFuY2VfY2VsbC1jaGlsZF9cIiArIGNvdW50Rm9ybUluc3RhbmNlICsgXCIwMDFcIiArIGosXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZ2FlYUtleVwiOiBcImdhZWEtY2VsbC1jaGlsZFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkYXRhXCI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIl9fc2V0dGluZ19fXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJfX2NycnRJbnN0YW5jZUluZm9fX1wiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidGV4dFwiOiBcImlucHV0XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzdHlsZXNcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImhlaWdodFwiOiBcIjQwcHhcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ3aWR0aFwiOiBcIjEwMHB4XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWFyZ2luXCI6IFwiMTBweFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJsYWJlbFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibW9kZWwxXCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsZXZlbFwiOiAzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsaWRhdGVBcnJcIjogW10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJyYWRpb0FyclwiOiBteVJhZGlvQXJyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicHJvcGVydHlcIjogbXlQcm9wT2JqLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwid2lkdGhcIjogMzIwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZXh0ZW5kXCI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpdGVtV2lkdGhcIjogMzIwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInBsYWNlaG9sZGVyXCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWF4bGVuZ3RoXCI6IFwiMjIwXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZXZlbnRUeXBlXCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicm93c1wiOiAwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic2xvdHNcIjoge30sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInBhcmVudEluc3RhbmNlS2V5XCI6IG15Q2VsbFswXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtUHJvcEFyci5wdXNoKGZvcm1Qcm9wKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL25vdGVcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGJvdHRvbUJveD1fdGhpcy5nZXRCb3goKTtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b21Cb3hbMF09XCJnYWVhX2luc3RhbmNlX1wiK3RoaXMucmFuZG9tV29yZCgxMiw0LDQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyLnB1c2goYm90dG9tQm94KTtcclxuICAgICAgICAgICAgICAgICAgICBmb3JtUHJvcEFyci5wdXNoKF90aGlzLmdldEluZm9BdHRhY2htZW50KGJvdHRvbUJveFswXSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyPVsuLi5mb3JtUHJvcEFyciwuLi5fdGhpcy5nZXRCdXR0b25PcHJhdG9yKHJlcy5idXR0b25zIT1cIlwifHxbXSldO1xyXG4gICAgICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgICAgIF90aGlzLmxvY2FsSW5zdGFuY2U9Zm9ybVByb3BBcnI7XHJcbiAgICAgICAgICAgICAgICAgICAgX3RoaXMuZGVsYXlFeGN1dGUoMCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIC8qKi9cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLy9ub3RlIOWKoOi9veacjeWKoeWZqOihqOWNleaVsOaNrlxyXG5cclxuICAgICAgICAgICAgLy9ub3RlIOWIneWni+WMlmZvcm10YWJsZSBrZXlcclxuICAgICAgICAgICAgaW5pdEZvcm1UYWJsZUtleShmb3JtVGFibGVLZXkpe1xyXG4gICAgICAgICAgICAgICAgLy9ub3RlIOWmguaenOS4uuepuuaIluiAheS4jeWtmOWcqO+8jOiuvue9ruS4gOS4qlxyXG4gICAgICAgICAgICAgICAgbGV0IGFycj1bXTtcclxuICAgICAgICAgICAgICAgIGlmKGxvY2FsU3RvcmFnZS5mb3JtVGFibGVLZXkmJmxvY2FsU3RvcmFnZS5mb3JtVGFibGVLZXkhPW51bGwpe1xyXG4gICAgICAgICAgICAgICAgICAgIGFycj1ldmFsKCcoJytsb2NhbFN0b3JhZ2UuZm9ybVRhYmxlS2V5KycpJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhcnIucHVzaChmb3JtVGFibGVLZXkpXHJcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UuZm9ybVRhYmxlS2V5PUpTT04uc3RyaW5naWZ5KGFycik7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGxvYWRVcGxvYWRGaWxlKCl7XHJcbiAgICAgICAgICAgICAgICBsZXQgY291bnRGb3JtVGFibGVJbnN0YW5jZT0xMDAwO1xyXG4gICAgICAgICAgICAgICAgbGV0IGNvdW50Rm9ybUluc3RhbmNlPTExMTE7XHJcbiAgICAgICAgICAgICAgICBsZXQgYXJyMT1bXTtcclxuICAgICAgICAgICAgICAgIGxldCBfdGhpcz10aGlzO1xyXG4gICAgICAgICAgICAgICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtU3RlcDpsb2NhbFN0b3JhZ2UuaXRlbVN0ZXAsXHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbU5vOmxvY2FsU3RvcmFnZS5pdGVtTm9cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmlzTG9hZGVkRGF0ZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kTm90aWNlLndhcm5pbmcoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+WKoOi9veaVsOaNricsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2M6ICAn5b2T5YmN5bey57uP5Yib5bu65pWw5o2u77yM5LiN6IO957un57ut5Yib5bu6J1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGh0dHBMb2FkaW5nLnNob3dMb2FkaW5nKFwi5q2j5Zyo5Yqg6L295pWw5o2uLi4uXCIpXHJcbiAgICAgICAgICAgICAgICBTZXJ2aWNlLnNlbGVjdEZvcm1Qcm9wKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZvcm1Qcm9wQXJyPVtdO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBib3g9X3RoaXMuZ2V0Qm94KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybVByb3BBcnIucHVzaChib3gpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyLnB1c2goX3RoaXMuZ2V0U3RlcChib3hbMF0scmVzLnN0ZXBzfHxbXSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyLnB1c2goX3RoaXMuZ2V0VGl0bGUoYm94WzBdLFwi5LiK5Lyg6ZmE5Lu2XCIpKTtcclxuICAgICAgICAgICAgICAgICAgICBmb3JtUHJvcEFyci5wdXNoKF90aGlzLmdldFVwbG9hZEZpbGUoYm94WzBdKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybVByb3BBcnI9Wy4uLmZvcm1Qcm9wQXJyLC4uLl90aGlzLmdldEJ1dHRvbk9wcmF0b3IocmVzLmJ1dHRvbnN8fFtdKV07XHJcbiAgICAgICAgICAgICAgICAgICAgX3RoaXMubG9jYWxJbnN0YW5jZT1mb3JtUHJvcEFycjtcclxuICAgICAgICAgICAgICAgICAgICBfdGhpcy5kZWxheUV4Y3V0ZSgwKTtcclxuICAgICAgICAgICAgICAgICAgICBodHRwTG9hZGluZy5jbG9zZUxvYWRpbmcoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGVkRGF0ZT10cnVlO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGdldFVwbG9hZEZpbGUocGFyZW50S2V5KXtcclxuICAgICAgICAgICAgICAgIGxldCAgbXlQcm9wT2JqPXtcclxuICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJub0FjdGlvblwiXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgIHVwbG9hZEZpbGU9IFtcclxuICAgICAgICAgICAgICAgICAgICBcImdhZWFfaW5zdGFuY2VfMjQxMjc1dmF4NGlcIixcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZ2FlYUtleVwiOiBcImdhZWEtdGFibGUtYXR0YWNoLWZpbGVcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkYXRhXCI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiX19zZXR0aW5nX19cIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiX19jcnJ0SW5zdGFuY2VJbmZvX19cIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGV2ZWxcIjogMixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicHJvcGVydHlcIjogbXlQcm9wT2JqLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInNsb3RzXCI6IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicGFyZW50SW5zdGFuY2VLZXlcIjogcGFyZW50S2V5XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB1cGxvYWRGaWxlO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAvL25vdGUg6I635Y+W6ZqP5py65a2X56ym5LiyXHJcbiAgICAgICAgICAgIHJhbmRvbVdvcmQocmFuZG9tRmxhZywgbWluLCBtYXgpe1xyXG4gICAgICAgICAgICAgICAgbGV0IHN0ciA9IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgcG9zPTAsXHJcbiAgICAgICAgICAgICAgICAgICAgcmFuZ2UgPSBtaW4sXHJcbiAgICAgICAgICAgICAgICAgICAgYXJyID0gWycwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5JywgJ2EnLCAnYicsICdjJywgJ2QnLCAnZScsICdmJywgJ2cnLCAnaCcsICdpJywgJ2onLCAnaycsICdsJywgJ20nLCAnbicsICdvJywgJ3AnLCAncScsICdyJywgJ3MnLCAndCcsICd1JywgJ3YnLCAndycsICd4JywgJ3knLCAneicsICdBJywgJ0InLCAnQycsICdEJywgJ0UnLCAnRicsICdHJywgJ0gnLCAnSScsICdKJywgJ0snLCAnTCcsICdNJywgJ04nLCAnTycsICdQJywgJ1EnLCAnUicsICdTJywgJ1QnLCAnVScsICdWJywgJ1cnLCAnWCcsICdZJywgJ1onXTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyDpmo/mnLrkuqfnlJ9cclxuICAgICAgICAgICAgICAgIGlmKHJhbmRvbUZsYWcpe1xyXG4gICAgICAgICAgICAgICAgICAgIHJhbmdlID0gTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogKG1heC1taW4pKSArIG1pbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZvcihsZXQgaT0wOyBpPHJhbmdlOyBpKyspe1xyXG4gICAgICAgICAgICAgICAgICAgIHBvcyA9IE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIChhcnIubGVuZ3RoLTEpKTtcclxuICAgICAgICAgICAgICAgICAgICBzdHIgKz0gYXJyW3Bvc107XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gc3RyO1xyXG4gICAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgICAgaW5pdEZvcm1MYXlvdXQoZGF0YSl7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhjb25maWdQYWdlSWRlKTtcclxuICAgICAgICAgICAgICAgIGxldCBjb3VudEZvcm1UYWJsZUluc3RhbmNlPTEwMDA7XHJcbiAgICAgICAgICAgICAgICBsZXQgY291bnRGb3JtSW5zdGFuY2U9MTExMTtcclxuICAgICAgICAgICAgICAgIGxldCBhcnIxPVtdO1xyXG4gICAgICAgICAgICAgICAgbGV0IF90aGlzPXRoaXM7XHJcbiAgICAgICAgICAgICAgICAvKiAgICBsZXQgYm94PV90aGlzLmdldEJveCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vbm90ZSDpppblhYjlj5bliLBib3jnmoTlrp7kvovlkI3np7BcclxuICAgICAgICAgICAgICAgICAgICBsZXQgYm94SW5zdGFuY2VOYW1lPWJveFswXTsvL190aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50Qm94SW5zdGFuY2VLZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZvcm1Qcm9wQXJyPVtdO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyLnB1c2goYm94KTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZm9ybUluc3RhbmNlTmFtZT1cImdhZWFfaW5zdGFuY2VfMnB2emdic2ZoZjRcIjtcclxuICAgICAgICAgICAgICAgICAgICAvL25vdGUg6L+Z5Liq5pyJ54K554m55q6K77yM6KaB5YWI5Yib5bu6Zm9ybXRhYmxlIOWGjeWIm+W7umZvcm10YWJsZemHjOmdoueahOWxnuaAp1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBteUZvcm09e307XHJcbiAgICAgICAgICAgICAgICAgICAgbXlGb3JtPV90aGlzLmdldEZvcm0oYm94SW5zdGFuY2VOYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICBteUZvcm1bMF09XCJnYWVhX2luc3RhbmNlX2Zvcm1fXCIrX3RoaXMucmFuZG9tV29yZCgxMiw0LDQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyLnB1c2gobXlGb3JtKTtcclxuICAgICAgICAgICAgICAgICAgICAvL25vdGUgIOa3u+WKoOaMiemSrlxyXG4gICAgICAgICAgICAgICAgICAgZm9ybVByb3BBcnI9Wy4uLmZvcm1Qcm9wQXJyLC4uLl90aGlzLmdldEJ1dHRvbk9wcmF0b3IoW10pXTsqL1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ2aWV3VHlwZVwiKSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8v6Ieq5a6a5LmJ5Luj56CBXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwidmlld1R5cGVcIilcclxuICAgICAgICAgICAgICAgICAgICB9ZWxzZXtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBmb3JtUHJvcEFycj1bW1wiZ2FlYV9pbnN0YW5jZV9ib3hfSUltVlwiLHtcImdhZWFLZXlcIjpcImdhZWEtYm94XCIsXCJkYXRhXCI6e1wiX19zZXR0aW5nX19cIjpudWxsLFwiX19jcnJ0SW5zdGFuY2VJbmZvX19cIjpudWxsLFwic3R5bGVzXCI6e1wid2lkdGhcIjpcIjEwMCVcIixcImhlaWdodFwiOlwiMTAwJVwiLFwiYm9yZGVyXCI6XCIwcHhcIixcImJhY2tncm91bmRDb2xvclwiOlwiI0ZGRkZGRlwiLFwibWFyZ2luXCI6XCIwcHhcIn0sXCJsZXZlbFwiOjEsXCJwcm9wZXJ0eVwiOntcInZhbGlkYXRvclwiOmZhbHNlLFwibW9kZWxcIjpcIlwiLFwibWluUm93c1wiOjIsXCJkaXNhYmxlRGVsUm93c1wiOjIsXCJidG5Nc2dcIjpcIlwifSxcImV4dGVuZFwiOntcInNwYW5cIjoxNyxcImxhYmVsV2lkdGhcIjoyMjJ9fSxcInNsb3RzXCI6e1wiZGVmYXVsdFwiOltcImdhZWFfaW5zdGFuY2VfZm9ybV81M0lvXCJdfSxcInBhcmVudEluc3RhbmNlS2V5XCI6XCJnYWVhX2luc3RhbmNlXzFcIixcInByZUdhZWFLZXlcIjpudWxsfV0sW1wiZ2FlYV9pbnN0YW5jZV9mb3JtXzUzSW9cIix7XCJnYWVhS2V5XCI6XCJnYWVhLWZvcm1cIixcImRhdGFcIjp7XCJfX3NldHRpbmdfX1wiOm51bGwsXCJfX2NycnRJbnN0YW5jZUluZm9fX1wiOm51bGwsXCJzdHlsZXNcIjp7XCJ3aWR0aFwiOlwiMTAwJVwiLFwiaGVpZ2h0XCI6XCIxMDAlXCIsXCJib3JkZXJcIjpcIjBweFwiLFwiYmFja2dyb3VuZENvbG9yXCI6XCIjZmZmXCJ9LFwidHlwZVwiOlwiZm9ybVwiLFwidGl0bGVcIjpcIkZvcm1cIixcImxldmVsXCI6MixcInByb3BlcnR5XCI6e1widmFsaWRhdG9yXCI6dHJ1ZSxcImJ1c2lJZFwiOlwiXCJ9LFwiZXh0ZW5kXCI6e1wic3BhblwiOjE3LFwibGFiZWxXaWR0aFwiOjIyMixcIml0ZW1XaWR0aFwiOjMyMCxcInBsYWNlaG9sZGVyXCI6XCJcIixcIm1heGxlbmd0aFwiOlwiMjIwXCIsXCJldmVudFR5cGVcIjpcIlwiLFwicm93c1wiOjAsXCJtYXhMZW5ndGhcIjoxMDB9fSxcInNsb3RzXCI6e1wiZGVmYXVsdFwiOltcImdhZWFfaW5zdGFuY2VfMW5sM29sdG9uYWpcIixcImdhZWFfaW5zdGFuY2VfMTNhdzVvNWI5YzNcIixcImdhZWFfaW5zdGFuY2Vfcmwybjd1N2lsd1wiLFwiZ2FlYV9pbnN0YW5jZV8yZTlwdGYza25od1wiLFwiZ2FlYV9pbnN0YW5jZV9mbzV3dzNocHdiXCIsXCJnYWVhX2luc3RhbmNlXzI4dXJhd281bHloXCIsXCJnYWVhX2luc3RhbmNlX3Z0aHVobnljZ2hcIixcImdhZWFfaW5zdGFuY2VfNmJmMHd6czJ2eFwiLFwiZ2FlYV9pbnN0YW5jZV8yYnQzbDA2ZXI1NVwiLFwiZ2FlYV9pbnN0YW5jZV8yNXN2ZXZnNWczN1wiXX0sXCJwYXJlbnRJbnN0YW5jZUtleVwiOlwiZ2FlYV9pbnN0YW5jZV9ib3hfSUltVlwiLFwicHJlR2FlYUtleVwiOm51bGx9XSxbXCJnYWVhX2luc3RhbmNlXzFubDNvbHRvbmFqXCIse1wiZ2FlYUtleVwiOlwiZ2FlYS1pbnB1dFwiLFwiZGF0YVwiOntcIl9fc2V0dGluZ19fXCI6bnVsbCxcIl9fY3JydEluc3RhbmNlSW5mb19fXCI6bnVsbCxcInByb3BlcnR5XCI6e1wibGFiZWxcIjpcIuW3peWNleS4u+mimFwiLFwidGl0bGVcIjpcIlwiLFwicHJvcFwiOlwib3JkZXJUaGVtZVwiLFwiYnVzaUlkXCI6XCJcIixcInR5cGVcIjpcImlucHV0XCIsXCJleHRlbmRcIjp7XCJwbGFjZWhvbGRlclwiOlwi6K+36L6T5YWl5bel5Y2V5Li76aKYXCIsXCJpdGVtV2lkdGhcIjozMjAsXCJtYXhMZW5ndGhcIjoxMDB9LFwicnVsZXNcIjpbe1wicmVxdWlyZWRcIjp0cnVlLFwibWVzc2FnZVwiOlwi5LiN6IO95Li656m6XCIsXCJ0eXBlXCI6XCJcIixcInRyaWdnZXJcIjpcIlwiLFwiZG90XCI6XCJcIixcInJhbmdlXCI6MCxcInVuaXRcIjpcIlwifSx7XCJtZXNzYWdlXCI6XCLkuI3og73kuLrnqbpcIixcIm1heExlbmd0aFwiOjEwMCxcInR5cGVcIjpcImlucHV0TGVuZ3RoXCIsXCJ0cmlnZ2VyXCI6XCJibHVyXCIsXCJkb3RcIjpcIlwiLFwicmFuZ2VcIjowLFwidW5pdFwiOlwiXCJ9XX0sXCJleHRlbmRcIjp7XCJwbGFjZWhvbGRlclwiOlwi6K+36L6T5YWl5bel5Y2V5Li76aKYXCIsXCJpdGVtV2lkdGhcIjozMjAsXCJtYXhMZW5ndGhcIjoxMDB9LFwidGV4dFwiOlwiaW5wdXRcIixcInR5cGVcIjpcImlucHV0XCIsXCJsZXZlbFwiOjQsXCJ2YWxpZGF0ZUFyclwiOlt7XCJyZXF1aXJlZFwiOnRydWUsXCJtZXNzYWdlXCI6XCLkuI3og73kuLrnqbpcIixcInR5cGVcIjpcIlwiLFwidHJpZ2dlclwiOlwiXCIsXCJkb3RcIjpcIlwiLFwicmFuZ2VcIjowLFwidW5pdFwiOlwiXCJ9LHtcIm1lc3NhZ2VcIjpcIuS4jeiDveS4uuepulwiLFwibWF4TGVuZ3RoXCI6MTAwLFwidHlwZVwiOlwiaW5wdXRMZW5ndGhcIixcInRyaWdnZXJcIjpcImJsdXJcIixcImRvdFwiOlwiXCIsXCJyYW5nZVwiOjAsXCJ1bml0XCI6XCJcIn1dfSxcInNsb3RzXCI6e30sXCJwYXJlbnRJbnN0YW5jZUtleVwiOlwiZ2FlYV9pbnN0YW5jZV9mb3JtXzUzSW9cIn1dLFtcImdhZWFfaW5zdGFuY2VfMTNhdzVvNWI5YzNcIix7XCJnYWVhS2V5XCI6XCJnYWVhLWxhYmVsXCIsXCJkYXRhXCI6e1wiX19zZXR0aW5nX19cIjpudWxsLFwiX19jcnJ0SW5zdGFuY2VJbmZvX19cIjpudWxsLFwicHJvcGVydHlcIjp7XCJsYWJlbFwiOlwi5bel5Y2V57G75Z6LXCIsXCJ0aXRsZVwiOlwiXCIsXCJwcm9wXCI6XCJvcmRlclR5cGVcIixcImJ1c2lJZFwiOlwiXCIsXCJ0eXBlXCI6XCJsYWJlbFwifSxcInRleHRcIjpcImxhYmVsXCIsXCJzdHlsZXNcIjp7XCJkaXNwbGF5XCI6XCJpbmxpbmUtYmxvY2tcIixcIndpZHRoXCI6XCI0MCVcIixcImhlaWdodFwiOlwiNjBweFwiLFwibGluZUhlaWdodFwiOlwiNjBweFwiLFwidGV4dEFsaWduXCI6XCJyaWdodFwiLFwiZm9udFNpemVcIjpcIjE1cHhcIn0sXCJ0eXBlXCI6XCJsYWJlbFwiLFwibGV2ZWxcIjo0LFwidmFsaWRhdGVBcnJcIjpbe1wicmVxdWlyZWRcIjp0cnVlLFwibWVzc2FnZVwiOlwi5LiN6IO95Li656m6XCIsXCJ0eXBlXCI6XCJcIixcInRyaWdnZXJcIjpcIlwiLFwiZG90XCI6XCJcIixcInJhbmdlXCI6MCxcInVuaXRcIjpcIlwifV0sXCJleHRlbmRcIjp7XCJpdGVtV2lkdGhcIjozMjB9fSxcInNsb3RzXCI6e30sXCJwYXJlbnRJbnN0YW5jZUtleVwiOlwiZ2FlYV9pbnN0YW5jZV9mb3JtXzUzSW9cIn1dLFtcImdhZWFfaW5zdGFuY2Vfcmwybjd1N2lsd1wiLHtcImdhZWFLZXlcIjpcImdhZWEtc2VsZWN0XCIsXCJkYXRhXCI6e1wiX19zZXR0aW5nX19cIjpudWxsLFwiX19jcnJ0SW5zdGFuY2VJbmZvX19cIjpudWxsLFwicHJvcGVydHlcIjp7XCJsYWJlbFwiOlwi57Sn5oCl56iL5bqmXCIsXCJ0aXRsZVwiOlwiXCIsXCJwcm9wXCI6XCJ1cmdlbmN5RGVncmVlXCIsXCJidXNpSWRcIjpcIlwiLFwidHlwZVwiOlwic2VsZWN0XCIsXCJleHRlbmRcIjp7XCJpdGVtV2lkdGhcIjozMjB9LFwiaXRlbXNcIjpbXX0sXCJ0ZXh0XCI6XCJpbnB1dFwiLFwic3R5bGVzXCI6e1wiaGVpZ2h0XCI6XCI0MHB4XCIsXCJ3aWR0aFwiOlwiNzBweFwiLFwibWFyZ2luXCI6XCIxMHB4XCJ9LFwidHlwZVwiOlwiaW5wdXRcIixcInNpbmdsZVwiOnRydWUsXCJsZXZlbFwiOjQsXCJpc0xldmVsXCI6dHJ1ZSxcInJhZGlvQXJyXCI6W10sXCJ2YWxpZGF0ZUFyclwiOlt7XCJyZXF1aXJlZFwiOnRydWUsXCJtZXNzYWdlXCI6XCLkuI3og73kuLrnqbpcIixcInR5cGVcIjpcIlwiLFwidHJpZ2dlclwiOlwiXCIsXCJkb3RcIjpcIlwiLFwicmFuZ2VcIjowLFwidW5pdFwiOlwiXCJ9XSxcImV4dGVuZFwiOntcIml0ZW1XaWR0aFwiOjMyMH19LFwic2xvdHNcIjp7fSxcInBhcmVudEluc3RhbmNlS2V5XCI6XCJnYWVhX2luc3RhbmNlX2Zvcm1fNTNJb1wifV0sW1wiZ2FlYV9pbnN0YW5jZV8yZTlwdGYza25od1wiLHtcImdhZWFLZXlcIjpcImdhZWEtbGFiZWxcIixcImRhdGFcIjp7XCJfX3NldHRpbmdfX1wiOm51bGwsXCJfX2NycnRJbnN0YW5jZUluZm9fX1wiOm51bGwsXCJwcm9wZXJ0eVwiOntcImxhYmVsXCI6XCLnlLPor7fljZXkvY1cIixcInRpdGxlXCI6XCJcIixcInByb3BcIjpcImFwcGxpY2FudFVuaXRcIixcImJ1c2lJZFwiOlwiXCIsXCJ0eXBlXCI6XCJsYWJlbFwifSxcInRleHRcIjpcImxhYmVsXCIsXCJzdHlsZXNcIjp7XCJkaXNwbGF5XCI6XCJpbmxpbmUtYmxvY2tcIixcIndpZHRoXCI6XCI0MCVcIixcImhlaWdodFwiOlwiNjBweFwiLFwibGluZUhlaWdodFwiOlwiNjBweFwiLFwidGV4dEFsaWduXCI6XCJyaWdodFwiLFwiZm9udFNpemVcIjpcIjE1cHhcIn0sXCJ0eXBlXCI6XCJsYWJlbFwiLFwibGV2ZWxcIjo0LFwidmFsaWRhdGVBcnJcIjpbe1wicmVxdWlyZWRcIjp0cnVlLFwibWVzc2FnZVwiOlwi5LiN6IO95Li656m6XCIsXCJ0eXBlXCI6XCJcIixcInRyaWdnZXJcIjpcIlwiLFwiZG90XCI6XCJcIixcInJhbmdlXCI6MCxcInVuaXRcIjpcIlwifV0sXCJleHRlbmRcIjp7XCJpdGVtV2lkdGhcIjozMjB9fSxcInNsb3RzXCI6e30sXCJwYXJlbnRJbnN0YW5jZUtleVwiOlwiZ2FlYV9pbnN0YW5jZV9mb3JtXzUzSW9cIn1dLFtcImdhZWFfaW5zdGFuY2VfZm81d3czaHB3YlwiLHtcImdhZWFLZXlcIjpcImdhZWEtbGFiZWxcIixcImRhdGFcIjp7XCJfX3NldHRpbmdfX1wiOm51bGwsXCJfX2NycnRJbnN0YW5jZUluZm9fX1wiOm51bGwsXCJwcm9wZXJ0eVwiOntcImxhYmVsXCI6XCLnlLPor7fkurpcIixcInRpdGxlXCI6XCJcIixcInByb3BcIjpcImFwcGxpY2FudFwiLFwiYnVzaUlkXCI6XCJcIixcInR5cGVcIjpcImxhYmVsXCJ9LFwidGV4dFwiOlwibGFiZWxcIixcInN0eWxlc1wiOntcImRpc3BsYXlcIjpcImlubGluZS1ibG9ja1wiLFwid2lkdGhcIjpcIjQwJVwiLFwiaGVpZ2h0XCI6XCI2MHB4XCIsXCJsaW5lSGVpZ2h0XCI6XCI2MHB4XCIsXCJ0ZXh0QWxpZ25cIjpcInJpZ2h0XCIsXCJmb250U2l6ZVwiOlwiMTVweFwifSxcInR5cGVcIjpcImxhYmVsXCIsXCJsZXZlbFwiOjQsXCJ2YWxpZGF0ZUFyclwiOlt7XCJyZXF1aXJlZFwiOnRydWUsXCJtZXNzYWdlXCI6XCLkuI3og73kuLrnqbpcIixcInR5cGVcIjpcIlwiLFwidHJpZ2dlclwiOlwiXCIsXCJkb3RcIjpcIlwiLFwicmFuZ2VcIjowLFwidW5pdFwiOlwiXCJ9XSxcImV4dGVuZFwiOntcIml0ZW1XaWR0aFwiOjMyMH19LFwic2xvdHNcIjp7fSxcInBhcmVudEluc3RhbmNlS2V5XCI6XCJnYWVhX2luc3RhbmNlX2Zvcm1fNTNJb1wifV0sW1wiZ2FlYV9pbnN0YW5jZV8yOHVyYXdvNWx5aFwiLHtcImdhZWFLZXlcIjpcImdhZWEtbGFiZWxcIixcImRhdGFcIjp7XCJfX3NldHRpbmdfX1wiOm51bGwsXCJfX2NycnRJbnN0YW5jZUluZm9fX1wiOm51bGwsXCJwcm9wZXJ0eVwiOntcImxhYmVsXCI6XCLnlLPor7fml7bpl7RcIixcInRpdGxlXCI6XCJcIixcInByb3BcIjpcImFwcGxpY2FudFRpbWVcIixcImJ1c2lJZFwiOlwiXCIsXCJ0eXBlXCI6XCJsYWJlbFwifSxcInRleHRcIjpcImxhYmVsXCIsXCJzdHlsZXNcIjp7XCJkaXNwbGF5XCI6XCJpbmxpbmUtYmxvY2tcIixcIndpZHRoXCI6XCI0MCVcIixcImhlaWdodFwiOlwiNjBweFwiLFwibGluZUhlaWdodFwiOlwiNjBweFwiLFwidGV4dEFsaWduXCI6XCJyaWdodFwiLFwiZm9udFNpemVcIjpcIjE1cHhcIn0sXCJ0eXBlXCI6XCJsYWJlbFwiLFwibGV2ZWxcIjo0LFwidmFsaWRhdGVBcnJcIjpbe1wicmVxdWlyZWRcIjp0cnVlLFwibWVzc2FnZVwiOlwi5LiN6IO95Li656m6XCIsXCJ0eXBlXCI6XCJcIixcInRyaWdnZXJcIjpcIlwiLFwiZG90XCI6XCJcIixcInJhbmdlXCI6MCxcInVuaXRcIjpcIlwifV0sXCJleHRlbmRcIjp7XCJpdGVtV2lkdGhcIjozMjB9fSxcInNsb3RzXCI6e30sXCJwYXJlbnRJbnN0YW5jZUtleVwiOlwiZ2FlYV9pbnN0YW5jZV9mb3JtXzUzSW9cIn1dLFtcImdhZWFfaW5zdGFuY2VfdnRodWhueWNnaFwiLHtcImdhZWFLZXlcIjpcImdhZWEtZGF0ZS1waWNrZXJcIixcImRhdGFcIjp7XCJfX3NldHRpbmdfX1wiOm51bGwsXCJfX2NycnRJbnN0YW5jZUluZm9fX1wiOm51bGwsXCJwcm9wZXJ0eVwiOntcImxhYmVsXCI6XCLmnJ/mnJvlrozmiJDml7bpl7RcIixcInRpdGxlXCI6XCJcIixcInByb3BcIjpcImV4cGVjdGVkVGltZVwiLFwiYnVzaUlkXCI6XCJcIixcInR5cGVcIjpcImRhdGUtcGlja2VyXCIsXCJleHRlbmRcIjp7XCJwbGFjZWhvbGRlclwiOlwiXCIsXCJpdGVtV2lkdGhcIjozMjB9fSxcImV4dGVuZFwiOntcInBsYWNlaG9sZGVyXCI6XCJcIixcIml0ZW1XaWR0aFwiOjMyMH0sXCJ0ZXh0XCI6XCJpbnB1dFwiLFwic3R5bGVzXCI6e30sXCJ0eXBlXCI6XCJkYXRlLXBpY2tlclwiLFwibGV2ZWxcIjo0LFwidmFsaWRhdGVBcnJcIjpbe1wicmVxdWlyZWRcIjp0cnVlLFwibWVzc2FnZVwiOlwi5LiN6IO95Li656m6XCIsXCJ0eXBlXCI6XCJcIixcInRyaWdnZXJcIjpcIlwiLFwiZG90XCI6XCJcIixcInJhbmdlXCI6MCxcInVuaXRcIjpcIlwifV19LFwic2xvdHNcIjp7fSxcInBhcmVudEluc3RhbmNlS2V5XCI6XCJnYWVhX2luc3RhbmNlX2Zvcm1fNTNJb1wifV0sW1wiZ2FlYV9pbnN0YW5jZV82YmYwd3pzMnZ4XCIse1wiZ2FlYUtleVwiOlwiZ2FlYS10ZXh0YXJlYVwiLFwiZGF0YVwiOntcIl9fc2V0dGluZ19fXCI6bnVsbCxcIl9fY3JydEluc3RhbmNlSW5mb19fXCI6bnVsbCxcInByb3BlcnR5XCI6e1wibGFiZWxcIjpcIuW3peWNleaPj+i/sFwiLFwidGl0bGVcIjpcIlwiLFwicHJvcFwiOlwiZGVzY3JpcFwiLFwiYnVzaUlkXCI6XCJcIixcInR5cGVcIjpcInRleHRhcmVhXCIsXCJleHRlbmRcIjp7XCJwbGFjZWhvbGRlclwiOlwi6K+36L6T5YWl5bel5Y2V5o+P6L+wXCIsXCJpdGVtV2lkdGhcIjozMjAsXCJtYXhMZW5ndGhcIjo1MDB9LFwicnVsZXNcIjpbe1wicmVxdWlyZWRcIjp0cnVlLFwibWVzc2FnZVwiOlwi5LiN6IO95Li656m6XCIsXCJ0eXBlXCI6XCJcIixcInRyaWdnZXJcIjpcIlwiLFwiZG90XCI6XCJcIixcInJhbmdlXCI6MCxcInVuaXRcIjpcIlwifSx7XCJtZXNzYWdlXCI6XCLkuI3og73kuLrnqbpcIixcIm1heExlbmd0aFwiOjUwMCxcInR5cGVcIjpcImlucHV0TGVuZ3RoXCIsXCJ0cmlnZ2VyXCI6XCJibHVyXCIsXCJkb3RcIjpcIlwiLFwicmFuZ2VcIjowLFwidW5pdFwiOlwiXCJ9XX0sXCJleHRlbmRcIjp7XCJwbGFjZWhvbGRlclwiOlwi6K+36L6T5YWl5bel5Y2V5o+P6L+wXCIsXCJpdGVtV2lkdGhcIjozMjAsXCJtYXhMZW5ndGhcIjo1MDB9LFwibXlSb3dcIjo0LFwidGV4dFwiOlwiaW5wdXRcIixcInR5cGVcIjpcImlucHV0XCIsXCJsZXZlbFwiOjQsXCJ2YWxpZGF0ZUFyclwiOlt7XCJyZXF1aXJlZFwiOnRydWUsXCJtZXNzYWdlXCI6XCLkuI3og73kuLrnqbpcIixcInR5cGVcIjpcIlwiLFwidHJpZ2dlclwiOlwiXCIsXCJkb3RcIjpcIlwiLFwicmFuZ2VcIjowLFwidW5pdFwiOlwiXCJ9LHtcIm1lc3NhZ2VcIjpcIuS4jeiDveS4uuepulwiLFwibWF4TGVuZ3RoXCI6NTAwLFwidHlwZVwiOlwiaW5wdXRMZW5ndGhcIixcInRyaWdnZXJcIjpcImJsdXJcIixcImRvdFwiOlwiXCIsXCJyYW5nZVwiOjAsXCJ1bml0XCI6XCJcIn1dfSxcInNsb3RzXCI6e30sXCJwYXJlbnRJbnN0YW5jZUtleVwiOlwiZ2FlYV9pbnN0YW5jZV9mb3JtXzUzSW9cIn1dLFtcImdhZWFfaW5zdGFuY2VfMmJ0M2wwNmVyNTVcIix7XCJnYWVhS2V5XCI6XCJnYWVhLXVwbG9hZFwiLFwiZGF0YVwiOntcIl9fc2V0dGluZ19fXCI6bnVsbCxcIl9fY3JydEluc3RhbmNlSW5mb19fXCI6bnVsbCxcInByb3BlcnR5XCI6e1wibGFiZWxcIjpcIumZhOS7tlwiLFwidGl0bGVcIjpcIlwiLFwicHJvcFwiOlwiZmlsZUxpc3RcIixcImJ1c2lJZFwiOlwiXCIsXCJ0eXBlXCI6XCJ1cGxvYWRcIixcImV4dGVuZFwiOntcInBsYWNlaG9sZGVyXCI6XCJcIn19LFwiZXh0ZW5kXCI6e1wicGxhY2Vob2xkZXJcIjpcIlwifSxcInRleHRcIjpcImlucHV0XCIsXCJ0eXBlXCI6XCJpbnB1dFwiLFwibGV2ZWxcIjo0LFwidmFsaWRhdGVBcnJcIjpbe1wicmVxdWlyZWRcIjpmYWxzZSxcIm1lc3NhZ2VcIjpcIuS4jeiDveS4uuepulwiLFwidHlwZVwiOlwiXCIsXCJ0cmlnZ2VyXCI6XCJcIixcImRvdFwiOlwiXCIsXCJyYW5nZVwiOjAsXCJ1bml0XCI6XCJcIn1dfSxcInNsb3RzXCI6e30sXCJwYXJlbnRJbnN0YW5jZUtleVwiOlwiZ2FlYV9pbnN0YW5jZV9mb3JtXzUzSW9cIn1dLFtcImdhZWFfaW5zdGFuY2VfMjVzdmV2ZzVnMzdcIix7XCJnYWVhS2V5XCI6XCJnYWVhLXRleHRhcmVhXCIsXCJkYXRhXCI6e1wiX19zZXR0aW5nX19cIjpudWxsLFwiX19jcnJ0SW5zdGFuY2VJbmZvX19cIjpudWxsLFwicHJvcGVydHlcIjp7XCJsYWJlbFwiOlwi5aSH5rOoXCIsXCJ0aXRsZVwiOlwiXCIsXCJwcm9wXCI6XCJyZW1hcmtcIixcImJ1c2lJZFwiOlwiXCIsXCJ0eXBlXCI6XCJ0ZXh0YXJlYVwiLFwiZXh0ZW5kXCI6e1wicGxhY2Vob2xkZXJcIjpcIlwiLFwiaXRlbVdpZHRoXCI6MzIwLFwibWF4TGVuZ3RoXCI6MjUwfSxcInJ1bGVzXCI6W3tcInJlcXVpcmVkXCI6ZmFsc2UsXCJtZXNzYWdlXCI6XCLkuI3og73kuLrnqbpcIixcInR5cGVcIjpcIlwiLFwidHJpZ2dlclwiOlwiXCIsXCJkb3RcIjpcIlwiLFwicmFuZ2VcIjowLFwidW5pdFwiOlwiXCJ9LHtcIm1lc3NhZ2VcIjpcIuS4jeiDveS4uuepulwiLFwibWF4TGVuZ3RoXCI6MjUwLFwidHlwZVwiOlwiaW5wdXRMZW5ndGhcIixcInRyaWdnZXJcIjpcImJsdXJcIixcImRvdFwiOlwiXCIsXCJyYW5nZVwiOjAsXCJ1bml0XCI6XCJcIn1dfSxcImV4dGVuZFwiOntcInBsYWNlaG9sZGVyXCI6XCJcIixcIml0ZW1XaWR0aFwiOjMyMCxcIm1heExlbmd0aFwiOjI1MH0sXCJteVJvd1wiOjQsXCJ0ZXh0XCI6XCJpbnB1dFwiLFwidHlwZVwiOlwiaW5wdXRcIixcImxldmVsXCI6NCxcInZhbGlkYXRlQXJyXCI6W3tcInJlcXVpcmVkXCI6ZmFsc2UsXCJtZXNzYWdlXCI6XCLkuI3og73kuLrnqbpcIixcInR5cGVcIjpcIlwiLFwidHJpZ2dlclwiOlwiXCIsXCJkb3RcIjpcIlwiLFwicmFuZ2VcIjowLFwidW5pdFwiOlwiXCJ9LHtcIm1lc3NhZ2VcIjpcIuS4jeiDveS4uuepulwiLFwibWF4TGVuZ3RoXCI6MjUwLFwidHlwZVwiOlwiaW5wdXRMZW5ndGhcIixcInRyaWdnZXJcIjpcImJsdXJcIixcImRvdFwiOlwiXCIsXCJyYW5nZVwiOjAsXCJ1bml0XCI6XCJcIn1dfSxcInNsb3RzXCI6e30sXCJwYXJlbnRJbnN0YW5jZUtleVwiOlwiZ2FlYV9pbnN0YW5jZV9mb3JtXzUzSW9cIn1dXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC91cGRhdGVWaWV3Jywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOmRhdGEudHlwZVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGRhdGEudHlwZT09XCJhZGRcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwidmlld1R5cGVcIixcIjFcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgfWVsc2UgaWYoZGF0YS50eXBlPT1cInZpZXdcIil7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtUHJvcEFycj1ldmFsKCcoJytkYXRhLmNvbnRlbnQrJyknKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJ2aWV3VHlwZVwiLFwiMlwiKTtcclxuICAgICAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybVByb3BBcnI9ZXZhbCgnKCcrZGF0YS5jb250ZW50KycpJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwidmlld1R5cGVcIixcIjFcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgX3RoaXMubG9jYWxJbnN0YW5jZT1mb3JtUHJvcEFycjtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmlzSUUoKSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCk9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzLmRlbGF5RXhjdXRlKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LDEwMDApXHJcbiAgICAgICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzLmRlbGF5RXhjdXRlKDApO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH0sXHJcblxyXG5cclxuICAgICAgICAgICAgbG9hZFNlcnZlckZvcm1UYWJsZSgpe1xyXG4gICAgICAgICAgICAgICAgLy9ub3RlXHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhjb25maWdQYWdlSWRlKTtcclxuICAgICAgICAgICAgICAgIGxldCBjb3VudEZvcm1UYWJsZUluc3RhbmNlPTEwMDA7XHJcbiAgICAgICAgICAgICAgICBsZXQgY291bnRGb3JtSW5zdGFuY2U9MTExMTtcclxuICAgICAgICAgICAgICAgIGxldCBhcnIxPVtdO1xyXG4gICAgICAgICAgICAgICAgbGV0IF90aGlzPXRoaXM7XHJcbiAgICAgICAgICAgICAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1TdGVwOmxvY2FsU3RvcmFnZS5pdGVtU3RlcD09XCJcIj9cIjFcIjpsb2NhbFN0b3JhZ2UuaXRlbVN0ZXAsXHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbU5vOmxvY2FsU3RvcmFnZS5pdGVtTm9cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmlzTG9hZGVkRGF0ZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kTm90aWNlLndhcm5pbmcoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+WKoOi9veaVsOaNricsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2M6ICAn5b2T5YmN5bey57uP5Yib5bu65pWw5o2u77yM5LiN6IO957un57ut5Yib5bu6J1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGh0dHBMb2FkaW5nLnNob3dMb2FkaW5nKFwi5q2j5Zyo5Yqg6L295pWw5o2uLi4uXCIpXHJcbiAgICAgICAgICAgICAgICAgU2VydmljZS5zZWxlY3RGb3JtUHJvcChwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgIGh0dHBMb2FkaW5nLmNsb3NlTG9hZGluZygpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKCFyZXMpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGVkRGF0ZT1mYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZERhdGU9dHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgYm94PV90aGlzLmdldEJveCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vbm90ZSDpppblhYjlj5bliLBib3jnmoTlrp7kvovlkI3np7BcclxuICAgICAgICAgICAgICAgICAgICBsZXQgYm94SW5zdGFuY2VOYW1lPWJveFswXTsvL190aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50Qm94SW5zdGFuY2VLZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZvcm1Qcm9wQXJyPVtdO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyLnB1c2goYm94KTtcclxuICAgICAgICAgICAgICAgICAgICBmb3JtUHJvcEFyci5wdXNoKF90aGlzLmdldFN0ZXAoYm94SW5zdGFuY2VOYW1lLHJlcy5zdGVwc3x8W3tcInRpdGxlXCI6XCLloavlhpnotYTmlplcIn0se1widGl0bGVcIjpcIuS4iuS8oOmZhOS7tlwifSx7XCJ0aXRsZVwiOlwi5o+Q5Lqk5a6h5qC4XCJ9LHtcInRpdGxlXCI6XCLlt7Llip7nu5NcIn1dKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZvcm1JbnN0YW5jZU5hbWU9XCJnYWVhX2luc3RhbmNlXzJwdnpnYnNmaGY0XCI7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOi/meS4quacieeCueeJueauiu+8jOimgeWFiOWIm+W7umZvcm10YWJsZSDlho3liJvlu7pmb3JtdGFibGXph4zpnaLnmoTlsZ7mgKdcclxuICAgICAgICAgICAgICAgICAgICAvL25vdGUg6L+Z6YeM5piv5Yib5bu6Zm9ybXRhYmxl5LiL6Z2i55qE5YiXXHJcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBwcm9wT2JqIGluIHJlcy5wcm9wKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG15VGl0bGU9X3RoaXMuZ2V0VGl0bGUoYm94SW5zdGFuY2VOYW1lLHByb3BPYmopO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBteVRpdGxlWzBdPVwiZ2FlYV9pbnN0YW5jZV8yMnF6YTR3MGMzblwiK190aGlzLnJhbmRvbVdvcmQoMTIsNCw0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybVByb3BBcnIucHVzaChteVRpdGxlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZvcm1BcnI9cmVzLnByb3BbcHJvcE9ial07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBjdXJyZW50T2JqU3RyPUpTT04uc3RyaW5naWZ5KHJlcy5wcm9wW3Byb3BPYmpdKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxpc3RMZW5ndGg9IChjdXJyZW50T2JqU3RyLnNwbGl0KCdMaXN0JykpLmxlbmd0aC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlGb3JtPXt9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihmb3JtQXJyLmxlbmd0aCE9bGlzdExlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUZvcm09X3RoaXMuZ2V0Rm9ybShib3hJbnN0YW5jZU5hbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlGb3JtWzBdPVwiZ2FlYV9pbnN0YW5jZV9mb3JtX1wiK190aGlzLnJhbmRvbVdvcmQoMTIsNCw0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyLnB1c2gobXlGb3JtKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IobGV0IGo9MDtqPGZvcm1BcnIubGVuZ3RoO2orKykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZyb21Qcm9wPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDlsZ7mgKflr7nosaFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteVByb3BPYmo9e1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDkuIvmi4nmoYbmiJbogIXljZXpgInmoYbmlbDnu4RcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteVJhZGlvQXJyPVtdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOihqOWNleagoemqjOaVsOe7hFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHZhbGlkYXRlQXJyPVtdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOW3peWFt+e7hOS7tuexu+Wei1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG15R2FlYUtleT1cIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOezu+e7n+e7hOS7tuexu+Wei1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG15VHlwZT1cIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZvcm1BcnJbal0uYnVzaVR5cGUgPT0gXCJMaXN0XCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzQXJyPWV2YWwoJygnICtmb3JtQXJyW2pdLmJ1c2lFeHBsYWluKyAnKScpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcihsZXQgcHJvcCBpbiByZXNBcnIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhwcm9wKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMuaW5pdEZvcm1UYWJsZUtleShwcm9wKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzQXJyW3Byb3BdKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3BvbnNlPXJlc0Fycltwcm9wXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOS4i+aLieahhuaIluiAheWNlemAieahhuaVsOe7hFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlGcm9tVGFibGVSYWRpb0FyciA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5bel5YW357uE5Lu257G75Z6LXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteUZyb21UYWJsZUdhZWFLZXkgPSBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg57O757uf57uE5Lu257G75Z6LXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteUZyb21UYWJsZVR5cGUgPSBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlGcm9tVGFibGVQcm9wT2JqID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtb2RlbFwiOiBwcm9wLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWxpZGF0b3JcIjogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWluUm93c1wiOiAxLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ3aWR0aFwiOjEwMDAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpc2FibGVEZWxSb3dzXCI6IDEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJ0bk1zZ1wiOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJwbGFjZWhvbGRlclwiOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJidXNpSWRcIjogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidGl0bGVcIjogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicGFkZGluZ1wiOlwiMFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhbGlnblwiOiBcImNlbnRlclwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwic2VsZWN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgICBteUdhZWFLZXkgPSBcImdhZWEtZm9ybS10YWJsZVwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlGb3JtVGFibGVJbnN0YW5jZT0gXCJnYWVhX2luc3RhbmNlX1wiICtfdGhpcy5yYW5kb21Xb3JkKDEyLDQsNCkrIGNvdW50Rm9ybVRhYmxlSW5zdGFuY2UgKyBqO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgIGZvcm1UYWJsZVByb3AgPSBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUZvcm1UYWJsZUluc3RhbmNlICxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImdhZWFLZXlcIjogbXlHYWVhS2V5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGF0YVwiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiX19zZXR0aW5nX19cIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJfX2NycnRJbnN0YW5jZUluZm9fX1wiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInRleHRcIjogXCJpbnB1dFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInN0eWxlc1wiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImhlaWdodFwiOiBcIjQwcHhcIixcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIndpZHRoXCI6IFwiMTAwcHhcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWFyZ2luXCI6IFwiMTBweFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcImZvcm0tdGFibGVcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtb2RlbDFcIjogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsZXZlbFwiOiAyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInByb3BlcnR5XCI6IG15RnJvbVRhYmxlUHJvcE9iaixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJleHRlbmRcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpdGVtV2lkdGhcIjogMzIwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJwbGFjZWhvbGRlclwiOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJldmVudFR5cGVcIjogXCJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInNsb3RzXCI6IHt9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicGFyZW50SW5zdGFuY2VLZXlcIjogYm94SW5zdGFuY2VOYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyLnB1c2goZm9ybVRhYmxlUHJvcCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDlho3liqDovb1mb3JtLXRhYmxlIOmHjOmdoueahOWxnuaAp1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlc3BvbnNlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5bGe5oCn5a+56LGhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlQcm9wT2JqID0ge31cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDkuIvmi4nmoYbmiJbogIXljZXpgInmoYbmlbDnu4RcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteVJhZGlvQXJyID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5bel5YW357uE5Lu257G75Z6LXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlGb3JtVGFibGVHYWVhS2V5ID0gXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDns7vnu5/nu4Tku7bnsbvlnotcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteUZvcm1UYWJsZVByb3BUeXBlID0gXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDlrprkuYnmlbDnu4TnsbvlnotcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByYWRpb0Zvcm1UYWJsZUFycj1bXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZVtpXS5idXNpVHlwZU5hbWUgPT0gXCJzZWxlY3RcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSBzZWxlY3RcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZVtpXS5idXNpRXhwbGFpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJhZGlvQXJyUHJvcD1ldmFsKCcoJyArIHJlc3BvbnNlW2ldLmJ1c2lFeHBsYWluICsgJyknKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IobGV0IHByb3AgaW4gcmFkaW9BcnJQcm9wKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHByb3BPYmo9e307XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmoubGFiZWw9cHJvcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai52YWx1ZT1yYWRpb0FyclByb3BbcHJvcF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBvYmo9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic2l6ZVwiOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXNhYmxlZFwiOiBmYWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wT2JqLmV4dGVuZD1vYmo7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhZGlvRm9ybVRhYmxlQXJyLnB1c2gocHJvcE9iaik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UHJvcE9iaiA9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwia2V5XCI6cmVzcG9uc2VbaV0uYnVzaU5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInRpdGxlXCI6IHJlc3BvbnNlW2ldLmJ1c2lEZXNjLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJidXNpSWRcIjogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaXRlbXNQcm9wXCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJzZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlGb3JtVGFibGVHYWVhS2V5ID0gXCJnYWVhLXRhYmxlLXNlbGVjdFwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15Rm9ybVRhYmxlUHJvcFR5cGUgPSBcInNlbGVjdFwiO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2VbaV0uYnVzaVR5cGVOYW1lID09IFwicmFkaW9cIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSBzZWxlY3RcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZVtpXS5idXNpRXhwbGFpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJhZGlvQXJyUHJvcD1ldmFsKCcoJyArIHJlc3BvbnNlW2ldLmJ1c2lFeHBsYWluICsgJyknKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IobGV0IHByb3AgaW4gcmFkaW9BcnJQcm9wKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHByb3BPYmo9e307XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmoubGFiZWw9cHJvcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai52YWx1ZT1yYWRpb0FyclByb3BbcHJvcF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBvYmo9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic2l6ZVwiOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXNhYmxlZFwiOiBmYWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wT2JqLmV4dGVuZD1vYmo7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhZGlvRm9ybVRhYmxlQXJyLnB1c2gocHJvcE9iaik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UHJvcE9iaiA9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwia2V5XCI6cmVzcG9uc2VbaV0uYnVzaU5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInRpdGxlXCI6IHJlc3BvbnNlW2ldLmJ1c2lEZXNjLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJidXNpSWRcIjogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaXRlbXNQcm9wXCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJzZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlGb3JtVGFibGVHYWVhS2V5ID0gXCJnYWVhLXRhYmxlLXNlbGVjdFwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15Rm9ybVRhYmxlUHJvcFR5cGUgPSBcInNlbGVjdFwiO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2VbaV0uYnVzaVR5cGVOYW1lID09IFwic2luZ2xlTW9udGhcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UHJvcE9iaiA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJrZXlcIjpyZXNwb25zZVtpXS5idXNpTmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0aXRsZVwiOiByZXNwb25zZVtpXS5idXNpRGVzYyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhbGlnblwiOiBcImNlbnRlclwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJzaW5nbGVNb250aFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInBsYWNlaG9sZGVyXCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15Rm9ybVRhYmxlR2FlYUtleSA9IFwiZ2FlYS10YWJsZS1zaW5nbGUtbW9udGhcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUZvcm1UYWJsZVByb3BUeXBlID0gXCJ0YWJsZS1zaW5nbGUtbW9udGhcIjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ICBlbHNlIGlmIChyZXNwb25zZVtpXS5idXNpVHlwZU5hbWUgPT0gXCJzaW5nbGVEYXRlXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmogPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwia2V5XCI6cmVzcG9uc2VbaV0uYnVzaU5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidGl0bGVcIjogcmVzcG9uc2VbaV0uYnVzaURlc2MsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYWxpZ25cIjogXCJjZW50ZXJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwic2luZ2xlRGF0ZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInBsYWNlaG9sZGVyXCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15Rm9ybVRhYmxlR2FlYUtleSA9IFwiZ2FlYS10YWJsZS1zaW5nbGUtZGF0ZVwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15Rm9ybVRhYmxlUHJvcFR5cGUgPSBcInRhYmxlLWRhdGUtcGlja2VyXCI7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXNwb25zZVtpXS5idXNpVHlwZU5hbWUgPT0gXCJkYXRhUmFuZ2VcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UHJvcE9iaiA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJrZXlcIjpyZXNwb25zZVtpXS5idXNpTmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0aXRsZVwiOiByZXNwb25zZVtpXS5idXNpRGVzYyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhbGlnblwiOiBcImNlbnRlclwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJkYXRhUmFuZ2VcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJwbGFjZWhvbGRlclwiOiBcIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15Rm9ybVRhYmxlR2FlYUtleSA9IFwiZ2FlYS10YWJsZS1zaW5nbGUtZGF0ZVwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15Rm9ybVRhYmxlUHJvcFR5cGUgPSBcInRhYmxlLWRhdGUtcGlja2VyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlQcm9wT2JqID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImtleVwiOnJlc3BvbnNlW2ldLmJ1c2lOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInRpdGxlXCI6IHJlc3BvbnNlW2ldLmJ1c2lEZXNjLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImFsaWduXCI6IFwiY2VudGVyXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcImlucHV0XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicGxhY2Vob2xkZXJcIjogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlGb3JtVGFibGVHYWVhS2V5ID0gXCJnYWVhLXRhYmxlLWlucHV0XCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlGb3JtVGFibGVQcm9wVHlwZSA9IFwidGFibGUtaW5wdXRcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2YWxpZGF0ZUFycj1bXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzcG9uc2VbaV0ucm93cyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRyaWdnZXJUeXBlPVwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOWIpOaWreaYr+S4jeaYr+S4uuS4i+aLieahhu+8jOWmguaenOS4uuS4i+aLieahhu+8jOinpuWPkeaWueW8j+imgeS4umNoYW5nZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZVtpXS5idXNpVHlwZU5hbWUgPT0gXCJzZWxlY3RcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyVHlwZT1cImNoYW5nZVwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5aaC5p6c6L+U5Zue55qE5pyJ5qCh6aqM57G75Z6L77yM5b6X57uE6KOF5Yiw5oiR5Lus57O757uf6YeMXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VbaV0ucm93cy5mb3JFYWNoKGZ1bmN0aW9uKHZhbHVlLGkpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnZm9yRWFjaOmBjeWOhjonK2krJy0tJyt2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2YWxpZGF0ZU9iaj17fTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodmFsdWUucnVsZU5hbWU9PVwicmVxdWlyZVwiKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDmoKHpqozmmK/lkKbkuLrnqbpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRlT2JqPXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtZXNzYWdlXCI6IHJlc3BvbnNlW2ldLmJ1c2lEZXNjK1wi5LiN6IO95Li656m6XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0cmlnZ2VyXCI6IHRyaWdnZXJUeXBlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZG90XCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJyYW5nZVwiOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidW5pdFwiOiBcIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDljLnphY3lhbbku5bnmoTmoLzlvI9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRlT2JqPXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1lc3NhZ2VcIjpcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiB2YWx1ZS5ydWxlTmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInRyaWdnZXJcIjogdHJpZ2dlclR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkb3RcIjogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInJhbmdlXCI6IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ1bml0XCI6IFwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRlQXJyLnB1c2godmFsaWRhdGVPYmopO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0ICBmcm9tVGFibGVDaGlsZFByb3AgPSBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJnYWVhX2luc3RhbmNlX3RhYmxlXCIgK190aGlzLnJhbmRvbVdvcmQoMTIsNCw0KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZ2FlYUtleVwiOiBteUZvcm1UYWJsZUdhZWFLZXksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGF0YVwiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIl9fc2V0dGluZ19fXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIl9fY3JydEluc3RhbmNlSW5mb19fXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInRleHRcIjogXCJpbnB1dFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzdHlsZXNcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaGVpZ2h0XCI6IFwiNDBweFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwid2lkdGhcIjogMTAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWFyZ2luXCI6IFwiMTBweFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IG15Rm9ybVRhYmxlUHJvcFR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxldmVsXCI6IDMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInJ1bGVzXCI6IHZhbGlkYXRlQXJyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpdGVtc1Byb3BcIjpyYWRpb0Zvcm1UYWJsZUFycixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicmFkaW9BcnJcIjogcmFkaW9Gb3JtVGFibGVBcnIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInByb3BlcnR5XCI6IG15UHJvcE9iaixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZXh0ZW5kXCI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIml0ZW1XaWR0aFwiOiAzMjAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJwbGFjZWhvbGRlclwiOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZXZlbnRUeXBlXCI6IFwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzbG90c1wiOiB7fSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJwYXJlbnRJbnN0YW5jZUtleVwiOiBteUZvcm1UYWJsZUluc3RhbmNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyLnB1c2goZnJvbVRhYmxlQ2hpbGRQcm9wKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZvcm1BcnJbal0uYnVzaVR5cGUgPT0gXCJoaWRlXCIpIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDmianlsZXlsZ7mgKdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZXh0ZW50ZE9iaj17XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGZvcm1BcnJbal0uYnVzaVR5cGU9PVwic2VsZWN0XCJ8fGZvcm1BcnJbal0uYnVzaVR5cGUgPT0gXCJzZWxlY3RMYWJlbFwifHxmb3JtQXJyW2pdLmJ1c2lUeXBlID09IFwic2VsZWN0TGlua1wiKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZm9ybUFycltqXS5idXNpRXhwbGFpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByYWRpb0Fycj1bXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoZm9ybUFycltqXS5idXNpRXhwbGFpbiYmZm9ybUFycltqXS5idXNpRXhwbGFpbiE9XCJcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmFkaW9BcnJQcm9wPWV2YWwoJygnICsgZm9ybUFycltqXS5idXNpRXhwbGFpbiArICcpJyk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBwcm9wIGluIHJhZGlvQXJyUHJvcCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHByb3BPYmo9e307XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai5sYWJlbD1wcm9wO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmoudmFsdWU9cmFkaW9BcnJQcm9wW3Byb3BdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBvYmo9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzaXplXCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGlzYWJsZWRcIjogZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmouZXh0ZW5kPW9iajtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWRpb0Fyci5wdXNoKHByb3BPYmopO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmo9e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOiBmb3JtQXJyW2pdLmJ1c2lEZXNjLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJidXNpSWRcIjpmb3JtQXJyW2pdLmJ1c2lJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicHJvcFwiOiBmb3JtQXJyW2pdLmJ1c2lJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaXRlbXNQcm9wXCI6IFwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihmb3JtQXJyW2pdLmJ1c2lVcmwmJmZvcm1BcnJbal0uYnVzaVVybCE9XCJcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5Yik5pat5piv5ZCm5pyJ5aSW6ZO+5Zyw5Z2AXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmouZHluYW1pYy51cmw9Zm9ybUFycltqXS5idXNpVXJsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlQcm9wT2JqLmR5bmFtaWMucGFyYW1zPUpTT04ucGFyc2UoZm9ybUFycltqXS5idXNpUGFyYW1zKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVJhZGlvQXJyPXJhZGlvQXJyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUdhZWFLZXk9XCJnYWVhLVwiK2Zvcm1BcnJbal0uYnVzaVR5cGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15VHlwZT1mb3JtQXJyW2pdLmJ1c2lUeXBlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlIGlmKGZvcm1BcnJbal0uYnVzaVR5cGU9PVwiY2hlY2tib3hNdWx0aXBsZVwiKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJhZGlvQXJyPVtdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihmb3JtQXJyW2pdLmJ1c2lFeHBsYWluJiZmb3JtQXJyW2pdLmJ1c2lFeHBsYWluIT1cIlwiKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGZvcm1BcnJbal0uYnVzaUV4cGxhaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJhZGlvQXJyUHJvcD1ldmFsKCcoJyArIGZvcm1BcnJbal0uYnVzaUV4cGxhaW4gKyAnKScpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBwcm9wIGluIHJhZGlvQXJyUHJvcCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHByb3BPYmo9e307XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai5sYWJlbD1wcm9wO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmoudmFsdWU9cmFkaW9BcnJQcm9wW3Byb3BdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBvYmo9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzaXplXCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGlzYWJsZWRcIjogZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmouZXh0ZW5kPW9iajtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWRpb0Fyci5wdXNoKHByb3BPYmopO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UHJvcE9iaj17XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsXCI6IGZvcm1BcnJbal0uYnVzaURlc2MsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJ1c2lJZFwiOmZvcm1BcnJbal0uYnVzaUlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJwcm9wXCI6IGZvcm1BcnJbal0uYnVzaUlkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlSYWRpb0Fycj1yYWRpb0FycjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlHYWVhS2V5PVwiZ2FlYS1jaGVja2JveE11bHRpcGxlXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15VHlwZT1cImNoZWNrYm94TXVsdGlwbGVcIjsgICAvL2xhYmVsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfWVsc2UgaWYoZm9ybUFycltqXS5idXNpVHlwZT09XCJjaGVja2JveE11bHRpcGxlUmFkaW9cIil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByYWRpb0Fycj1bXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoZm9ybUFycltqXS5idXNpRXhwbGFpbiYmZm9ybUFycltqXS5idXNpRXhwbGFpbiE9XCJcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhmb3JtQXJyW2pdLmJ1c2lFeHBsYWluKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByYWRpb0FyclByb3A9ZXZhbCgnKCcgKyBmb3JtQXJyW2pdLmJ1c2lFeHBsYWluICsgJyknKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcihsZXQgcHJvcCBpbiByYWRpb0FyclByb3Ape1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwcm9wT2JqPXt9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmoubGFiZWw9cHJvcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wT2JqLnZhbHVlPXJhZGlvQXJyUHJvcFtwcm9wXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgb2JqPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic2l6ZVwiOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpc2FibGVkXCI6IGZhbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wT2JqLmV4dGVuZD1vYmo7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFkaW9BcnIucHVzaChwcm9wT2JqKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmo9e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOiBmb3JtQXJyW2pdLmJ1c2lEZXNjLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJidXNpSWRcIjpmb3JtQXJyW2pdLmJ1c2lJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicHJvcFwiOiBmb3JtQXJyW2pdLmJ1c2lJZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UmFkaW9BcnI9cmFkaW9BcnI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15R2FlYUtleT1cImdhZWEtY2hlY2tib3hNdWx0aXBsZVJhZGlvXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15VHlwZT1cImNoZWNrYm94TXVsdGlwbGVSYWRpb1wiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2xhYmVsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfWVsc2UgaWYoZm9ybUFycltqXS5idXNpVHlwZT09XCJyYWRpb1wiKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJhZGlvQXJyPVtdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihmb3JtQXJyW2pdLmJ1c2lFeHBsYWluJiZmb3JtQXJyW2pdLmJ1c2lFeHBsYWluIT1cIlwiKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGZvcm1BcnJbal0uYnVzaUV4cGxhaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJhZGlvQXJyUHJvcD1ldmFsKCcoJyArIGZvcm1BcnJbal0uYnVzaUV4cGxhaW4gKyAnKScpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBwcm9wIGluIHJhZGlvQXJyUHJvcCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHByb3BPYmo9e307XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai5sYWJlbD1wcm9wO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmoudmFsdWU9cmFkaW9BcnJQcm9wW3Byb3BdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBvYmo9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzaXplXCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGlzYWJsZWRcIjogZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmouZXh0ZW5kPW9iajtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWRpb0Fyci5wdXNoKHByb3BPYmopO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UHJvcE9iaj17XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsXCI6IGZvcm1BcnJbal0uYnVzaURlc2MsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJ1c2lJZFwiOmZvcm1BcnJbal0uYnVzaUlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJwcm9wXCI6IGZvcm1BcnJbal0uYnVzaUlkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlSYWRpb0Fycj1yYWRpb0FycjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlHYWVhS2V5PVwiZ2FlYS1yYWRpb1wiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVR5cGU9XCJyYWRpb1wiOyAgIC8vbGFiZWxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZSBpZihmb3JtQXJyW2pdLmJ1c2lUeXBlPT1cImxhYmVsXCJ8fGZvcm1BcnJbal0uYnVzaVR5cGU9PVwidGltZUxhYmVsXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmo9e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOiBmb3JtQXJyW2pdLmJ1c2lEZXNjLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJidXNpSWRcIjpmb3JtQXJyW2pdLmJ1c2lJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicHJvcFwiOiBmb3JtQXJyW2pdLmJ1c2lJZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15R2FlYUtleT1cImdhZWEtXCIrZm9ybUFycltqXS5idXNpVHlwZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlUeXBlPWZvcm1BcnJbal0uYnVzaVR5cGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfWVsc2UgaWYoZm9ybUFycltqXS5idXNpVHlwZT09XCJkYXRlLXBpY2tlci1kYXRlcmFuZ2VcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UHJvcE9iaj17XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsXCI6IGZvcm1BcnJbal0uYnVzaURlc2MsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJ1c2lJZFwiOmZvcm1BcnJbal0uYnVzaUlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJwcm9wXCI6IGZvcm1BcnJbal0uYnVzaUlkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlHYWVhS2V5PVwiZ2FlYS1kYXRlLXBpY2tlci1kYXRlcmFuZ2VcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlUeXBlPVwiZGF0ZS1waWNrZXItZGF0ZXJhbmdlXCI7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlIGlmKGZvcm1BcnJbal0uYnVzaVR5cGU9PVwiZW5kRGF0ZUNob29zZVwifHxmb3JtQXJyW2pdLmJ1c2lUeXBlPT1cInBsYXRlLWlucHV0XCJ8fGZvcm1BcnJbal0uYnVzaVR5cGU9PVwic2VsZWN0LWlucHV0XCJ8fGZvcm1BcnJbal0uYnVzaVR5cGU9PVwiYnVkb25nY2hhblwiKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlQcm9wT2JqPXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjogZm9ybUFycltqXS5idXNpRGVzYyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYnVzaUlkXCI6Zm9ybUFycltqXS5idXNpSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInByb3BcIjogZm9ybUFycltqXS5idXNpSWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUdhZWFLZXk9XCJnYWVhLVwiK2Zvcm1BcnJbal0uYnVzaVR5cGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15VHlwZT1mb3JtQXJyW2pdLmJ1c2lUeXBlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlIGlmKGZvcm1BcnJbal0uYnVzaVR5cGU9PVwiaW5wdXRJRENhcmRcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UHJvcE9iaj17XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsXCI6IGZvcm1BcnJbal0uYnVzaURlc2MsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJ1c2lJZFwiOmZvcm1BcnJbal0uYnVzaUlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJwcm9wXCI6IGZvcm1BcnJbal0uYnVzaUlkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZW50ZE9iaj17XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJpcnRoZGF5S2V5XCI6Zm9ybUFycltqXS5idXNpSWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlHYWVhS2V5PVwiZ2FlYS1cIitmb3JtQXJyW2pdLmJ1c2lUeXBlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVR5cGU9Zm9ybUFycltqXS5idXNpVHlwZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZSBpZihmb3JtQXJyW2pdLmJ1c2lUeXBlPT1cImRhdGUtcGlja2VyXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmo9e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOiBmb3JtQXJyW2pdLmJ1c2lEZXNjLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJidXNpSWRcIjpmb3JtQXJyW2pdLmJ1c2lJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicHJvcFwiOiBmb3JtQXJyW2pdLmJ1c2lJZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15R2FlYUtleT1cImdhZWEtZGF0ZS1waWNrZXJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlUeXBlPVwiZGF0ZS1waWNrZXJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZW50ZE9iaj17XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpdGVtV2lkdGhcIjogMzIwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJvcHRpb25zXCI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpc2FibGVkRGF0ZVwiOiBcImJlZm9yZVRvZGF5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlQcm9wT2JqPXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjogZm9ybUFycltqXS5idXNpRGVzYyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYnVzaUlkXCI6Zm9ybUFycltqXS5idXNpSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInByb3BcIjogZm9ybUFycltqXS5idXNpSWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUdhZWFLZXk9XCJnYWVhLWlucHV0XCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15VHlwZT1cImlucHV0XCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2YWxpZGF0ZUFycj1bXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihmb3JtQXJyW2pdLnJvd3Mpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdHJpZ2dlclR5cGU9XCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOWIpOaWreaYr+S4jeaYr+S4uuS4i+aLieahhu+8jOWmguaenOS4uuS4i+aLieahhu+8jOinpuWPkeaWueW8j+imgeS4umNoYW5nZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZm9ybUFycltqXS5idXNpVHlwZSA9PSBcInNlbGVjdFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyVHlwZT1cImNoYW5nZVwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDlpoLmnpzov5Tlm57nmoTmnInmoKHpqoznsbvlnovvvIzlvpfnu4Too4XliLDmiJHku6zns7vnu5/ph4xcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUFycltqXS5yb3dzLmZvckVhY2goZnVuY3Rpb24odmFsdWUsaSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnZm9yRWFjaOmBjeWOhjonK2krJy0tJyt2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdmFsaWRhdGVPYmo9e307XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih2YWx1ZS5ydWxlTmFtZT09XCJyZXF1aXJlXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDmoKHpqozmmK/lkKbkuLrnqbpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0ZU9iaj17XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtZXNzYWdlXCI6IGZvcm1BcnJbal0uYnVzaURlc2MrXCLkuI3og73kuLrnqbpcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidHJpZ2dlclwiOiB0cmlnZ2VyVHlwZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkb3RcIjogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJyYW5nZVwiOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInVuaXRcIjogXCJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5Yy56YWN5YW25LuW55qE5qC85byPXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGVPYmo9e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1lc3NhZ2VcIjpcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogdmFsdWUucnVsZU5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidHJpZ2dlclwiOiB0cmlnZ2VyVHlwZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkb3RcIjogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJyYW5nZVwiOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInVuaXRcIjogXCJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGVBcnIucHVzaCh2YWxpZGF0ZU9iaik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogIGlmKGZvcm1BcnJbal0ucnVsZVR5cGU9PVwiMlwiKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIDPmmK/moKHpqowgMuS4jeagoemqjFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0ZUFycj1be1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtZXNzYWdlXCI6IGZvcm1BcnJbal0uYnVzaURlc2MrXCLkuI3og73kuLrnqbpcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0cmlnZ2VyXCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRvdFwiOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJyYW5nZVwiOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ1bml0XCI6IFwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfV1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZSBpZihmb3JtQXJyW2pdLnJ1bGVUeXBlPT1cIjNcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSAz5piv5qCh6aqMIOWQpuWImeS4jeagoemqjFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0ZUFycj1be1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtZXNzYWdlXCI6IGZvcm1BcnJbal0uYnVzaURlc2MrXCLkuI3og73kuLrnqbpcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0cmlnZ2VyXCI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRvdFwiOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJyYW5nZVwiOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ1bml0XCI6IFwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfV1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKG15R2FlYUtleSYmbXlHYWVhS2V5IT1cIlwiKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCAgZm9ybVByb3A9IFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImdhZWFfaW5zdGFuY2VfXCIrX3RoaXMucmFuZG9tV29yZCgxMiw0LDQpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJnYWVhS2V5XCI6IG15R2FlYUtleSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkYXRhXCI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiX19zZXR0aW5nX19cIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiX19jcnJ0SW5zdGFuY2VJbmZvX19cIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidGV4dFwiOiBcImlucHV0XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInN0eWxlc1wiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJoZWlnaHRcIjogXCI0MHB4XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ3aWR0aFwiOiBcIjEwMHB4XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtYXJnaW5cIjogXCIxMHB4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogbXlUeXBlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtb2RlbDFcIjogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGV2ZWxcIjogMyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsaWRhdGVBcnJcIjogdmFsaWRhdGVBcnIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInJhZGlvQXJyXCI6IG15UmFkaW9BcnIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInByb3BlcnR5XCI6IG15UHJvcE9iaixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwid2lkdGhcIjoyMDAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImV4dGVuZFwiOiBleHRlbnRkT2JqXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic2xvdHNcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInBhcmVudEluc3RhbmNlS2V5XCI6IG15Rm9ybVswXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtUHJvcEFyci5wdXNoKGZvcm1Qcm9wKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLy9ub3RlICDmt7vliqDmjInpkq5cclxuICAgICAgICAgICAgICAgICAgICBmb3JtUHJvcEFycj1bLi4uZm9ybVByb3BBcnIsLi4uX3RoaXMuZ2V0QnV0dG9uT3ByYXRvcihyZXMuYnV0dG9uc3x8W10pXTtcclxuICAgICAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgICAgICAgICBfdGhpcy5sb2NhbEluc3RhbmNlPWZvcm1Qcm9wQXJyO1xyXG4gICAgICAgICAgICAgICAgICAgIF90aGlzLmRlbGF5RXhjdXRlKDApO1xyXG5cclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIC8qKi9cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaW5pdExvY2FsSW5zdGFuY2UoKXtcclxuICAgICAgICAgICAgICAgIC8vbm90ZSDlvLnlh7rkuIDkuKrlsYLvvIzmiorljoblj7LmqKHmnb/mnInkuIDkuKrooajmoLzvvIzlkozmkJzntKJcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd01vZGFsID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMubW9kYWxUaXRsZT1cIumAieaLqeaooeadv1wiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goe3BhdGg6ICcvc2VsZWN0VGVtcGxhdGUnfSlcclxuICAgICAgICAgICAgICAgIC8qIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvZGVsZXRlTGV2ZWwxRGF0YScsIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgfSk7Ki9cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZGVsYXlFeGN1dGUoaSl7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5pc0lFKCkpe1xyXG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCk9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVJbnN0YW5jZShpKTtcclxuICAgICAgICAgICAgICAgICAgICB9LDIwMCk7XHJcbiAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlSW5zdGFuY2UoaSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSwyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHVwZGF0ZUluc3RhbmNlKGope1xyXG4gICAgICAgICAgICAgICAgbGV0IF90aGlzPXRoaXM7XHJcbiAgICAgICAgICAgICAgICBpZihqPT10aGlzLmxvY2FsSW5zdGFuY2UubGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgICAgICAvL25vdGUg5pyA5ZCO5LiA5Liq77yM6ZyA6KaB5pi+56S65pWw5o2uXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93RGF0YSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBrZXk9MDtrZXk8dGhpcy5sb2NhbEluc3RhbmNlLmxlbmd0aDtrZXkrKyl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoa2V5PT1qKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHZhbD10aGlzLmxvY2FsSW5zdGFuY2Vba2V5XVsxXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmFsLmRhdGEucHJvcGVydHkudmFsdWU9dmFsLmRhdGEucHJvcGVydHkubGFiZWw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGorKztcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGluZm89e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3SW5zdGFuY2VLZXk6dGhpcy5sb2NhbEluc3RhbmNlW2tleV1bMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYWVhS2V5OnZhbC5nYWVhS2V5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SW5zdGFuY2VLZXk6dmFsLnBhcmVudEluc3RhbmNlS2V5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaW5kZXhQb3NpdGlvbjogMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZUdhZWFLZXk6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbG90TmFtZTpcImRlZmF1bHRcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6dmFsLmRhdGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMuY29tbWl0QWRkSW5zdGFuY2UoaW5mbyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzLmRlbGF5RXhjdXRlKGopO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBjb21taXRBZGRJbnN0YW5jZShuZXdJbmZvKXtcclxuICAgICAgICAgICAgICAgIC8vY3JlYXRlSW5zdGFuY2VFbGVcclxuICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvYWRkSW5zdGFuY2UnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3SW5zdGFuY2VLZXk6bmV3SW5mby5uZXdJbnN0YW5jZUtleSxcclxuICAgICAgICAgICAgICAgICAgICBnYWVhS2V5OiBuZXdJbmZvLmdhZWFLZXksXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YTpuZXdJbmZvLmRhdGEsXHJcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50SW5zdGFuY2VLZXk6bmV3SW5mby5wYXJlbnRJbnN0YW5jZUtleSxcclxuICAgICAgICAgICAgICAgICAgICBpbmRleFBvc2l0aW9uOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgIHByZUdhZWFLZXk6IG5ld0luZm8ucHJlR2FlYUtleSxcclxuICAgICAgICAgICAgICAgICAgICBzbG90TmFtZTpuZXdJbmZvLnNsb3ROYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIGNiOiBuZXdJbnN0YW5jZUtleSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9faGFuZGxlRHJhZ0FkZF9fKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlIC0tZXZlbnQgcGFyZW50SW5zdGFuY2VLZXkgIC0t54i2aW5zdGFuY2VLZXkgZ2FlYUtleSAgLS0+Y29tcG9uZW50IHR5cGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5ld0luc3RhbmNlS2V5ICAtPiBuZXcgaW5zdGFjZSBLZXlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX19oYW5kbGVEcmFnQWRkX18uY2FsbCh0aGlzLCBudWxsLG5ld0luZm8uZGF0YSwgbmV3SW5mby5wYXJlbnRJbnN0YW5jZUtleSwgbmV3SW5mby5nYWVhS2V5LCBuZXdJbnN0YW5jZUtleSwgbmV3SW5mby5zbG90TmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgX19oYW5kbGVEcmFnQWRkX18gKGUsIGRhdGEscGFyZW50SW5zdGFuY2VLZXksIGdhZWFLZXksIGluc3RhbmNlS2V5LCBzbG90TmFtZSkge1xyXG5cclxuICAgICAgICAgICAgICAgIGxldCBfcGFyZW50SW5zdGFuY2UgPSB0aGlzXHJcbiAgICAgICAgICAgICAgICAgICAgLiRzdG9yZVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgIC52aWV3cG9ydFxyXG4gICAgICAgICAgICAgICAgICAgIC5pbnN0YW5jZXNcclxuICAgICAgICAgICAgICAgICAgICAuZ2V0KHBhcmVudEluc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgICAgIGxldCBjb21wb25lbnRDbGFzcyA9IHRoaXNcclxuICAgICAgICAgICAgICAgICAgICAuJHN0b3JlXHJcbiAgICAgICAgICAgICAgICAgICAgLnN0YXRlXHJcbiAgICAgICAgICAgICAgICAgICAgLmFwcGxpY2F0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgLmNvbXBvbmVudENsYXNzZXNcclxuICAgICAgICAgICAgICAgICAgICAuZ2V0KGdhZWFLZXkpO1xyXG4gICAgICAgICAgICAgICAgbGV0IGNycnRJbnN0YW5jZSA9IHRoaXNcclxuICAgICAgICAgICAgICAgICAgICAuJHN0b3JlXHJcbiAgICAgICAgICAgICAgICAgICAgLnN0YXRlXHJcbiAgICAgICAgICAgICAgICAgICAgLnZpZXdwb3J0XHJcbiAgICAgICAgICAgICAgICAgICAgLmluc3RhbmNlc1xyXG4gICAgICAgICAgICAgICAgICAgIC5nZXQoaW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgY3JydEluc3RhbmNlLnZtID0gdGhpcztcclxuICAgICAgICAgICAgICAgIG1vdW50U2xvdChfcGFyZW50SW5zdGFuY2Uudm0sZnVuY3Rpb24oKXtyZXR1cm4gZGF0YX0sIGNvbXBvbmVudENsYXNzLCAnZGVmYXVsdCcsIGluc3RhbmNlS2V5LCB0aGlzLiRzdG9yZSx7aXNJbnNlcnQ6ZmFsc2V9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZ290b0NvbmZpZygpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93TW9kYWwgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goe3BhdGg6ICcvZ2xvYmFsU2V0dGluZyd9KVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBkZWxldGVDYWNoZSgpe1xyXG4gICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICAvL2xvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdmb3JtVGFibGVLZXknKTsgIGxvY2FsU3RvcmFnZS50YWJsZVByb3BcclxuICAgICAgICAgICAgICAgIC8vbm90ZSDkv53lrZjmiJDlip/kuYvlkI7opoHmuIXnqbrnvJPlrZgg5bm26K6+572u5Yiw5LiL5LiA5q2lXHJcbiAgICAgICAgICAgICAgICBpZihsb2NhbFN0b3JhZ2UuaXRlbVN0ZXAhPVwiNVwiKXtcclxuICAgICAgICAgICAgICAgICAgICAvL25vdGUg5Luj6KGo5LiN5piv5pyA5ZCO5LiA5q2lXHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1TdGVwPXBhcnNlSW50KGxvY2FsU3RvcmFnZS5pdGVtU3RlcCkrMTtcclxuICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UuaXRlbVN0ZXA9aXRlbVN0ZXA7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50U3RlcD1pdGVtU3RlcCtcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvZGVsZXRlTGV2ZWwxRGF0YScse30pO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goe25hbWU6ICdzZWxlY3RUZW1wbGF0ZScscGFyYW1zOnsgfX0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBnb3RvSGVscCgpe1xyXG4gICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oXCJodHRwOi8vMzkuMTA3LjU1Ljg0OjgwODAvcnVsZXMvcHJvY2NlZHMtaWRlL1wiKVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBpbml0VUkoaXRlbVN0ZXApe1xyXG4gICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICBsZXQgX3RoaXM9dGhpcztcclxuICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgICAgIC8qbG9jYWxTdG9yYWdlLnN0YXR1cz1cIjFcIjtcclxuICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5pdGVtU3RlcD1cIjJcIjsqL1xyXG4gICAgICAgICAgICAgICAgLyogaWYobG9jYWxTdG9yYWdlLnN0YXR1cyE9XCIxXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAvL25vdGUg6KGo56S65piv5paw5aKe77yM6L+Y5rKh5pyJ5Lu75L2V5pON5L2cLOWQpuWImeWwseaYr+e8lui+keeKtuaAgVxyXG4gICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRTdGVwPVwiMVwiO1xyXG4gICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRTdGVwPWl0ZW1TdGVwO1xyXG4gICAgICAgICAgICAgICAgIH0qL1xyXG4gICAgICAgICAgICAgICAgbGV0IGZvcm1Qcm9wUGFyYW1zID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1TdGVwOml0ZW1TdGVwLFxyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1Obzpsb2NhbFN0b3JhZ2UuaXRlbU5vXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgU2VydmljZS5zZWxlY3RGb3JtUHJvcChmb3JtUHJvcFBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnByb3BJbmZvPUpTT04uc3RyaW5naWZ5KHJlcyk7Ly9ub3RlIOWtmOWCqOWQjuWPsOi/lOWbnueahOihqOWNleWtl+autVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhsb2NhbFN0b3JhZ2UuaXRlbU5vKTtcclxuICAgICAgICAgICAgICAgIC8vbm90ZSDlj6rmnInnrKzkuIDmraXmiY3or7fmsYLvvIzlkKbliJnnm7TmjqXot7Pov4dcclxuICAgICAgICAgICAgICAgIGlmKGl0ZW1TdGVwIT1cIjFcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93U2VydmVyRm9ybT1mYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dCYXNlSW5mb0Zvcm09dHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd1NlcnZlckZvcm09dHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dCYXNlSW5mb0Zvcm09ZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhsb2NhbFN0b3JhZ2Uuc3RhdHVzKTtcclxuICAgICAgICAgICAgICAgIC8vbm90ZSDlpoLmnpznirbmgIHkuLoxIOS7o+ihqOW3sue7j+WIm+W7uu+8jOivt+axguWQjuWPsOaVsOaNruaKiuihqOWNleaVsOaNruWKoOi9ve+8jOWQpuWImeS4uuayoeacieWIm+W7ulxyXG5cclxuICAgICAgICAgICAgICAgIGlmKGxvY2FsU3RvcmFnZS5zdGF0dXM9PVwiMVwiKXtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtTm86bG9jYWxTdG9yYWdlLml0ZW1ObyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVN0ZXA6bG9jYWxTdG9yYWdlLml0ZW1TdGVwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBqc29uVHlwZToxXHJcbiAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICBTZXJ2aWNlLnNlbGVjdFRlbXBsYXRlSW5mbyhwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBub3RlIOiwg+eUqOWIoOmZpOaWueazlSjkvYbmmK/ku47liJfooajot7Povazov4fmnaXnmoTvvIzlsLHkuI3pnIDopoHliKDpmaTvvIznm7TmjqXliJvlu7op77yM5riF56m66aG16Z2i77yM5oqK5p+l6K+i5Yiw55qE5qih5p2/5YaF5a656LWL5YC85Yiw6aG16Z2iXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZih0eXBlb2YgKHJlcyk9PVwidW5kZWZpbmVkXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpbnN0YW5jZXM9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcztcclxuICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2VzPSBbLi4uaW5zdGFuY2VzXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxvY2FsSW5zdGFuY2U9ICBldmFsKCcoJyArIHJlcy5qc29uU3RyICsgJyknKTsvL3RoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmxvY2FsSW5zdGFuY2VzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgc3RyPUpTT04uc3RyaW5naWZ5KGxvY2FsSW5zdGFuY2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBsb2NhbEluc3RhbmNlPXN0cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxJbnN0YW5jZT0gWy4uLmluc3RhbmNlcywuLi5sb2NhbEluc3RhbmNlXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2NhbEluc3RhbmNlPWxvY2FsSW5zdGFuY2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVsYXlFeGN1dGUoMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHBhcmFtc0pzb24gPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1Obzpsb2NhbFN0b3JhZ2UuaXRlbU5vLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtU3RlcDppdGVtU3RlcCxcclxuICAgICAgICAgICAgICAgICAgICAgICAganNvblR5cGU6MlxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgU2VydmljZS5zZWxlY3RUZW1wbGF0ZUluZm8ocGFyYW1zSnNvbikudGhlbigocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHR5cGVvZiAocmVzKT09XCJ1bmRlZmluZWRcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGVkRGF0ZT1mYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGVkRGF0ZT10cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBub3RlIOiwg+eUqOWIoOmZpOaWueazlSjkvYbmmK/ku47liJfooajot7Povazov4fmnaXnmoTvvIzlsLHkuI3pnIDopoHliKDpmaTvvIznm7TmjqXliJvlu7op77yM5riF56m66aG16Z2i77yM5oqK5p+l6K+i5Yiw55qE5qih5p2/5YaF5a656LWL5YC85Yiw6aG16Z2iXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBsb2NhbEluc3RhbmNlPSAgZXZhbCgnKCcgKyByZXMuanNvblN0ciArICcpJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvY2FsSW5zdGFuY2UuZGF0YS5wYWdlLmZ1bGxNb2RlbC50ZW1wbGF0ZUNhY2hlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwicGFnZVwiLEpTT04uc3RyaW5naWZ5KGxvY2FsSW5zdGFuY2UuZGF0YS5wYWdlKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdGVtcGxhdGVDYWNoZT1sb2NhbEluc3RhbmNlLmRhdGEucGFnZS5mdWxsTW9kZWwudGVtcGxhdGVDYWNoZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHRlbXBsYXRlQ2FjaGUudGFibGVBcnIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0YWJsZUFycj1KU09OLnN0cmluZ2lmeSh0ZW1wbGF0ZUNhY2hlLnRhYmxlQXJyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInRhYmxlQXJyXCIsdGFibGVBcnIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodGVtcGxhdGVDYWNoZS5zZWxlY3RBcnIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzZWxlY3RBcnI9SlNPTi5zdHJpbmdpZnkodGVtcGxhdGVDYWNoZS5zZWxlY3RBcnIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwic2VsZWN0QXJyXCIsc2VsZWN0QXJyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5Yqg6L295a6M5pWw5o2uIOWwhuatpemqpOmHjeaWsOi1i+WAvFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5jdXJyZW50U3RlcD1sb2NhbFN0b3JhZ2UuaXRlbVN0ZXA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qICBsZXQgZm9ybUlubGluZT1KU09OLnN0cmluZ2lmeSh0aGlzLmZvcm1JbmxpbmUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiZm9ybUlubGluZVwiLGZvcm1JbmxpbmUpOyovXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInRhYmxlQXJyXCIsXCJbXVwiKTtcclxuICAgICAgICAgICAgICAgICAgICAvL2xvY2FsU3RvcmFnZS5zZXRJdGVtKFwic2VsZWN0QXJyXCIsXCJbXVwiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9LFxyXG4gICAgICAgIG1vdW50ZWQoKXtcclxuXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjcmVhdGVkKCl7XHJcbiAgICAgICAgICAgIGxldCBfdGhpcz10aGlzO1xyXG4gICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgLy9hbGVydCh0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydCk7XHJcbiAgICAgICAgICAgIGV2ZW50YnVzLiRvbihcIm9wZW5TdWNjRGlhbG9nXCIsICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuJE1vZGFsLnN1Y2Nlc3Moe1xyXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuWPi+aDheaPkOekulwiLFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwi5L+d5a2Y5qih5p2/5ZKM5LqL6aG5SlNPTuaIkOWKn1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIG9uT2soKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOS/neWtmOaIkOWKn+aXtuWAmeimgea4heepuuWFqOWxgOiuvue9rueahOaNouaIkFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5kZWxldGVDYWNoZSgpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIC8vICBfdGhpcy4kcm91dGVyLnB1c2goe25hbWU6ICdzZWxlY3RUZW1wbGF0ZScscGFyYW1zOnsgfX0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgQnVzLiRvbihcImNsb3NlQ29uZmlnXCIsICgpID0+IHtcclxuICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93TW9kYWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGV2ZW50YnVzLiRvbihcImFkZE1vdmVJbnN0YW5jZVwiLCAoZGF0YSkgPT4ge1xyXG5cclxuICAgICAgICAgICAgICAgIGxldCB2YWw9ZGF0YTtcclxuICAgICAgICAgICAgICAgIGxldCBpbmZvPXtcclxuICAgICAgICAgICAgICAgICAgICBuZXdJbnN0YW5jZUtleTp2YWwua2V5LFxyXG4gICAgICAgICAgICAgICAgICAgIGdhZWFLZXk6dmFsLmdhZWFLZXksXHJcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50SW5zdGFuY2VLZXk6dmFsLnBhcmVudEluc3RhbmNlS2V5LFxyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4UG9zaXRpb246IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgcHJlR2FlYUtleTogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBzbG90TmFtZTpcImRlZmF1bHRcIixcclxuICAgICAgICAgICAgICAgICAgICBkYXRhOnZhbC5kYXRhXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgX3RoaXMuY29tbWl0QWRkSW5zdGFuY2UoaW5mbyk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBldmVudGJ1cy4kb24oXCJpbml0VGVtcGxhdGVJbnN0YW5jZVwiLCAoZGF0YSkgPT4ge1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIHNldFRpbWVvdXQoKCk9PntcclxuICAgICAgICAgICAgICAgIGlmKGxvY2FsU3RvcmFnZS5pdGVtU3RlcD09XCJcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0VUkoXCIxXCIpO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0VUkobG9jYWxTdG9yYWdlLml0ZW1TdGVwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vICAgfSwzMDAwKTtcclxuICAgICAgICAgICAgICAgIC8vX3RoaXMuaW5pdFRlbXBsYXRlSW5zdGFuY2UoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGV2ZW50YnVzLiRvbihcInNob3dUZW1wbGF0ZVR5cGVcIiwgKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdEZvcm1MYXlvdXQoZGF0YSk7XHJcbiAgICAgICAgICAgICAgICAvLyBzZXRUaW1lb3V0KCgpPT57XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gICB9LDMwMDApO1xyXG4gICAgICAgICAgICAgICAgLy9fdGhpcy5pbml0VGVtcGxhdGVJbnN0YW5jZSgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRlc3Ryb3llZCgpIHtcclxuICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgIGV2ZW50YnVzLiRvZmYoJ3Nob3dUZW1wbGF0ZVR5cGUnKTtcclxuICAgICAgICAgICAgZXZlbnRidXMuJG9mZignY2xvc2VDb25maWcnKTtcclxuICAgICAgICAgICAgZXZlbnRidXMuJG9mZignaW5pdFRlbXBsYXRlSW5zdGFuY2UnKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSA+XHJcbiAgICAuaXZ1LW1vZGFsLWZ1bGxzY3JlZW4ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIH1cclxuICAgIC5pdnUtbW9kYWwtZnVsbHNjcmVlbiAuaXZ1LW1vZGFsLWNvbnRlbnQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICAuaXZ1LW1vZGFsLWZ1bGxzY3JlZW4gLml2dS1tb2RhbC1mb290ZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICAuaW5kZXhEaXZze1xyXG4gICAgICAgIHBhZGRpbmc6MHB4IDRweDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICB9XHJcbiAgICAuaW5kZXhEaXZzOmhvdmVye1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgfVxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvZ2xvYmFsLXNldHRpbmdzL2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///87\n");
632
633/***/ }),
634/* 88 */
635/***/ (function(module, exports, __webpack_require__) {
636
637eval("module.exports = { \"default\": __webpack_require__(280), __esModule: true };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvY29yZS1qcy9vYmplY3QvZGVmaW5lLXByb3BlcnR5LmpzPzk2MjIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQWtCLFlBQVksbUJBQU8sQ0FBQyxHQUEyQyIsImZpbGUiOiI4OC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0geyBcImRlZmF1bHRcIjogcmVxdWlyZShcImNvcmUtanMvbGlicmFyeS9mbi9vYmplY3QvZGVmaW5lLXByb3BlcnR5XCIpLCBfX2VzTW9kdWxlOiB0cnVlIH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvY29yZS1qcy9vYmplY3QvZGVmaW5lLXByb3BlcnR5LmpzXG4vLyBtb2R1bGUgaWQgPSA4OFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///88\n");
638
639/***/ }),
640/* 89 */
641/***/ (function(module, exports, __webpack_require__) {
642
643eval("module.exports = { \"default\": __webpack_require__(283), __esModule: true };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvY29yZS1qcy9wcm9taXNlLmpzP2FkNWIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQWtCLFlBQVksbUJBQU8sQ0FBQyxHQUE0QiIsImZpbGUiOiI4OS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0geyBcImRlZmF1bHRcIjogcmVxdWlyZShcImNvcmUtanMvbGlicmFyeS9mbi9wcm9taXNlXCIpLCBfX2VzTW9kdWxlOiB0cnVlIH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvY29yZS1qcy9wcm9taXNlLmpzXG4vLyBtb2R1bGUgaWQgPSA4OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///89\n");
644
645/***/ }),
646/* 90 */
647/***/ (function(module, exports, __webpack_require__) {
648
649eval("// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = __webpack_require__(20);\nvar aFunction = __webpack_require__(31);\nvar SPECIES = __webpack_require__(12)('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NwZWNpZXMtY29uc3RydWN0b3IuanM/MjAyMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLGVBQWUsbUJBQU8sQ0FBQyxFQUFjO0FBQ3JDLGdCQUFnQixtQkFBTyxDQUFDLEVBQWU7QUFDdkMsY0FBYyxtQkFBTyxDQUFDLEVBQVE7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI5MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIDcuMy4yMCBTcGVjaWVzQ29uc3RydWN0b3IoTywgZGVmYXVsdENvbnN0cnVjdG9yKVxudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgYUZ1bmN0aW9uID0gcmVxdWlyZSgnLi9fYS1mdW5jdGlvbicpO1xudmFyIFNQRUNJRVMgPSByZXF1aXJlKCcuL193a3MnKSgnc3BlY2llcycpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoTywgRCkge1xuICB2YXIgQyA9IGFuT2JqZWN0KE8pLmNvbnN0cnVjdG9yO1xuICB2YXIgUztcbiAgcmV0dXJuIEMgPT09IHVuZGVmaW5lZCB8fCAoUyA9IGFuT2JqZWN0KEMpW1NQRUNJRVNdKSA9PSB1bmRlZmluZWQgPyBEIDogYUZ1bmN0aW9uKFMpO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19zcGVjaWVzLWNvbnN0cnVjdG9yLmpzXG4vLyBtb2R1bGUgaWQgPSA5MFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///90\n");
650
651/***/ }),
652/* 91 */
653/***/ (function(module, exports, __webpack_require__) {
654
655eval("var ctx = __webpack_require__(19);\nvar invoke = __webpack_require__(285);\nvar html = __webpack_require__(75);\nvar cel = __webpack_require__(52);\nvar global = __webpack_require__(11);\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (__webpack_require__(30)(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3Rhc2suanM/NDI2YSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVLG1CQUFPLENBQUMsRUFBUTtBQUMxQixhQUFhLG1CQUFPLENBQUMsR0FBVztBQUNoQyxXQUFXLG1CQUFPLENBQUMsRUFBUztBQUM1QixVQUFVLG1CQUFPLENBQUMsRUFBZTtBQUNqQyxhQUFhLG1CQUFPLENBQUMsRUFBVztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxtQkFBTyxDQUFDLEVBQVE7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjkxLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGN0eCA9IHJlcXVpcmUoJy4vX2N0eCcpO1xudmFyIGludm9rZSA9IHJlcXVpcmUoJy4vX2ludm9rZScpO1xudmFyIGh0bWwgPSByZXF1aXJlKCcuL19odG1sJyk7XG52YXIgY2VsID0gcmVxdWlyZSgnLi9fZG9tLWNyZWF0ZScpO1xudmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIHByb2Nlc3MgPSBnbG9iYWwucHJvY2VzcztcbnZhciBzZXRUYXNrID0gZ2xvYmFsLnNldEltbWVkaWF0ZTtcbnZhciBjbGVhclRhc2sgPSBnbG9iYWwuY2xlYXJJbW1lZGlhdGU7XG52YXIgTWVzc2FnZUNoYW5uZWwgPSBnbG9iYWwuTWVzc2FnZUNoYW5uZWw7XG52YXIgRGlzcGF0Y2ggPSBnbG9iYWwuRGlzcGF0Y2g7XG52YXIgY291bnRlciA9IDA7XG52YXIgcXVldWUgPSB7fTtcbnZhciBPTlJFQURZU1RBVEVDSEFOR0UgPSAnb25yZWFkeXN0YXRlY2hhbmdlJztcbnZhciBkZWZlciwgY2hhbm5lbCwgcG9ydDtcbnZhciBydW4gPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBpZCA9ICt0aGlzO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXG4gIGlmIChxdWV1ZS5oYXNPd25Qcm9wZXJ0eShpZCkpIHtcbiAgICB2YXIgZm4gPSBxdWV1ZVtpZF07XG4gICAgZGVsZXRlIHF1ZXVlW2lkXTtcbiAgICBmbigpO1xuICB9XG59O1xudmFyIGxpc3RlbmVyID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gIHJ1bi5jYWxsKGV2ZW50LmRhdGEpO1xufTtcbi8vIE5vZGUuanMgMC45KyAmIElFMTArIGhhcyBzZXRJbW1lZGlhdGUsIG90aGVyd2lzZTpcbmlmICghc2V0VGFzayB8fCAhY2xlYXJUYXNrKSB7XG4gIHNldFRhc2sgPSBmdW5jdGlvbiBzZXRJbW1lZGlhdGUoZm4pIHtcbiAgICB2YXIgYXJncyA9IFtdO1xuICAgIHZhciBpID0gMTtcbiAgICB3aGlsZSAoYXJndW1lbnRzLmxlbmd0aCA+IGkpIGFyZ3MucHVzaChhcmd1bWVudHNbaSsrXSk7XG4gICAgcXVldWVbKytjb3VudGVyXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1uZXctZnVuY1xuICAgICAgaW52b2tlKHR5cGVvZiBmbiA9PSAnZnVuY3Rpb24nID8gZm4gOiBGdW5jdGlvbihmbiksIGFyZ3MpO1xuICAgIH07XG4gICAgZGVmZXIoY291bnRlcik7XG4gICAgcmV0dXJuIGNvdW50ZXI7XG4gIH07XG4gIGNsZWFyVGFzayA9IGZ1bmN0aW9uIGNsZWFySW1tZWRpYXRlKGlkKSB7XG4gICAgZGVsZXRlIHF1ZXVlW2lkXTtcbiAgfTtcbiAgLy8gTm9kZS5qcyAwLjgtXG4gIGlmIChyZXF1aXJlKCcuL19jb2YnKShwcm9jZXNzKSA9PSAncHJvY2VzcycpIHtcbiAgICBkZWZlciA9IGZ1bmN0aW9uIChpZCkge1xuICAgICAgcHJvY2Vzcy5uZXh0VGljayhjdHgocnVuLCBpZCwgMSkpO1xuICAgIH07XG4gIC8vIFNwaGVyZSAoSlMgZ2FtZSBlbmdpbmUpIERpc3BhdGNoIEFQSVxuICB9IGVsc2UgaWYgKERpc3BhdGNoICYmIERpc3BhdGNoLm5vdykge1xuICAgIGRlZmVyID0gZnVuY3Rpb24gKGlkKSB7XG4gICAgICBEaXNwYXRjaC5ub3coY3R4KHJ1biwgaWQsIDEpKTtcbiAgICB9O1xuICAvLyBCcm93c2VycyB3aXRoIE1lc3NhZ2VDaGFubmVsLCBpbmNsdWRlcyBXZWJXb3JrZXJzXG4gIH0gZWxzZSBpZiAoTWVzc2FnZUNoYW5uZWwpIHtcbiAgICBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7XG4gICAgcG9ydCA9IGNoYW5uZWwucG9ydDI7XG4gICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSBsaXN0ZW5lcjtcbiAgICBkZWZlciA9IGN0eChwb3J0LnBvc3RNZXNzYWdlLCBwb3J0LCAxKTtcbiAgLy8gQnJvd3NlcnMgd2l0aCBwb3N0TWVzc2FnZSwgc2tpcCBXZWJXb3JrZXJzXG4gIC8vIElFOCBoYXMgcG9zdE1lc3NhZ2UsIGJ1dCBpdCdzIHN5bmMgJiB0eXBlb2YgaXRzIHBvc3RNZXNzYWdlIGlzICdvYmplY3QnXG4gIH0gZWxzZSBpZiAoZ2xvYmFsLmFkZEV2ZW50TGlzdGVuZXIgJiYgdHlwZW9mIHBvc3RNZXNzYWdlID09ICdmdW5jdGlvbicgJiYgIWdsb2JhbC5pbXBvcnRTY3JpcHRzKSB7XG4gICAgZGVmZXIgPSBmdW5jdGlvbiAoaWQpIHtcbiAgICAgIGdsb2JhbC5wb3N0TWVzc2FnZShpZCArICcnLCAnKicpO1xuICAgIH07XG4gICAgZ2xvYmFsLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBsaXN0ZW5lciwgZmFsc2UpO1xuICAvLyBJRTgtXG4gIH0gZWxzZSBpZiAoT05SRUFEWVNUQVRFQ0hBTkdFIGluIGNlbCgnc2NyaXB0JykpIHtcbiAgICBkZWZlciA9IGZ1bmN0aW9uIChpZCkge1xuICAgICAgaHRtbC5hcHBlbmRDaGlsZChjZWwoJ3NjcmlwdCcpKVtPTlJFQURZU1RBVEVDSEFOR0VdID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBodG1sLnJlbW92ZUNoaWxkKHRoaXMpO1xuICAgICAgICBydW4uY2FsbChpZCk7XG4gICAgICB9O1xuICAgIH07XG4gIC8vIFJlc3Qgb2xkIGJyb3dzZXJzXG4gIH0gZWxzZSB7XG4gICAgZGVmZXIgPSBmdW5jdGlvbiAoaWQpIHtcbiAgICAgIHNldFRpbWVvdXQoY3R4KHJ1biwgaWQsIDEpLCAwKTtcbiAgICB9O1xuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgc2V0OiBzZXRUYXNrLFxuICBjbGVhcjogY2xlYXJUYXNrXG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3Rhc2suanNcbi8vIG1vZHVsZSBpZCA9IDkxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///91\n");
656
657/***/ }),
658/* 92 */
659/***/ (function(module, exports) {
660
661eval("module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3BlcmZvcm0uanM/ZjZiNyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0EsWUFBWTtBQUNaLEdBQUc7QUFDSCxZQUFZO0FBQ1o7QUFDQSIsImZpbGUiOiI5Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGV4ZWMpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4geyBlOiBmYWxzZSwgdjogZXhlYygpIH07XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4geyBlOiB0cnVlLCB2OiBlIH07XG4gIH1cbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fcGVyZm9ybS5qc1xuLy8gbW9kdWxlIGlkID0gOTJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///92\n");
662
663/***/ }),
664/* 93 */
665/***/ (function(module, exports, __webpack_require__) {
666
667eval("var anObject = __webpack_require__(20);\nvar isObject = __webpack_require__(15);\nvar newPromiseCapability = __webpack_require__(65);\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3Byb21pc2UtcmVzb2x2ZS5qcz8wNmU0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQWUsbUJBQU8sQ0FBQyxFQUFjO0FBQ3JDLGVBQWUsbUJBQU8sQ0FBQyxFQUFjO0FBQ3JDLDJCQUEyQixtQkFBTyxDQUFDLEVBQTJCOztBQUU5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjkzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBuZXdQcm9taXNlQ2FwYWJpbGl0eSA9IHJlcXVpcmUoJy4vX25ldy1wcm9taXNlLWNhcGFiaWxpdHknKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoQywgeCkge1xuICBhbk9iamVjdChDKTtcbiAgaWYgKGlzT2JqZWN0KHgpICYmIHguY29uc3RydWN0b3IgPT09IEMpIHJldHVybiB4O1xuICB2YXIgcHJvbWlzZUNhcGFiaWxpdHkgPSBuZXdQcm9taXNlQ2FwYWJpbGl0eS5mKEMpO1xuICB2YXIgcmVzb2x2ZSA9IHByb21pc2VDYXBhYmlsaXR5LnJlc29sdmU7XG4gIHJlc29sdmUoeCk7XG4gIHJldHVybiBwcm9taXNlQ2FwYWJpbGl0eS5wcm9taXNlO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19wcm9taXNlLXJlc29sdmUuanNcbi8vIG1vZHVsZSBpZCA9IDkzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///93\n");
668
669/***/ }),
670/* 94 */
671/***/ (function(module, exports, __webpack_require__) {
672
673"use strict";
674eval("\nvar global = __webpack_require__(11);\nvar core = __webpack_require__(9);\nvar dP = __webpack_require__(17);\nvar DESCRIPTORS = __webpack_require__(16);\nvar SPECIES = __webpack_require__(12)('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NldC1zcGVjaWVzLmpzP2YyYjUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7QUFDYixhQUFhLG1CQUFPLENBQUMsRUFBVztBQUNoQyxXQUFXLG1CQUFPLENBQUMsQ0FBUztBQUM1QixTQUFTLG1CQUFPLENBQUMsRUFBYztBQUMvQixrQkFBa0IsbUJBQU8sQ0FBQyxFQUFnQjtBQUMxQyxjQUFjLG1CQUFPLENBQUMsRUFBUTs7QUFFOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsYUFBYTtBQUNuQyxHQUFHO0FBQ0giLCJmaWxlIjoiOTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG52YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgY29yZSA9IHJlcXVpcmUoJy4vX2NvcmUnKTtcbnZhciBkUCA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpO1xudmFyIERFU0NSSVBUT1JTID0gcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKTtcbnZhciBTUEVDSUVTID0gcmVxdWlyZSgnLi9fd2tzJykoJ3NwZWNpZXMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoS0VZKSB7XG4gIHZhciBDID0gdHlwZW9mIGNvcmVbS0VZXSA9PSAnZnVuY3Rpb24nID8gY29yZVtLRVldIDogZ2xvYmFsW0tFWV07XG4gIGlmIChERVNDUklQVE9SUyAmJiBDICYmICFDW1NQRUNJRVNdKSBkUC5mKEMsIFNQRUNJRVMsIHtcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9XG4gIH0pO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19zZXQtc3BlY2llcy5qc1xuLy8gbW9kdWxlIGlkID0gOTRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///94\n");
675
676/***/ }),
677/* 95 */
678/***/ (function(module, exports, __webpack_require__) {
679
680"use strict";
681eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.hasClass = hasClass;\nexports.removeClass = removeClass;\nexports.addClass = addClass;\nexports.getStyle = getStyle;\nfunction hasClass(obj, cls) {\n return obj.className.match(new RegExp('(\\\\s|^)' + cls + '(\\\\s|$)'));\n}\n\nfunction removeClass(obj, cls) {\n if (hasClass(obj, cls)) {\n var reg = new RegExp('(\\\\s|^)' + cls + '(\\\\s|$)');\n obj.className = obj.className.replace(reg, ' ');\n }\n}\n\nfunction addClass(obj, cls) {\n if (!hasClass(obj, cls)) {\n obj.className === '' ? obj.className = '' + cls : obj.className += ' ' + cls;\n }\n}\n\nfunction getStyle(obj, oStyle) {\n if (obj.currentStyle) {\n return obj.currentStyle[oStyle];\n } else {\n return getComputedStyle(obj, null)[oStyle];\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvc2VydmljZS9kb20uanM/NDRkMCJdLCJuYW1lcyI6WyJoYXNDbGFzcyIsInJlbW92ZUNsYXNzIiwiYWRkQ2xhc3MiLCJnZXRTdHlsZSIsIm9iaiIsImNscyIsImNsYXNzTmFtZSIsIm1hdGNoIiwiUmVnRXhwIiwicmVnIiwicmVwbGFjZSIsIm9TdHlsZSIsImN1cnJlbnRTdHlsZSIsImdldENvbXB1dGVkU3R5bGUiXSwibWFwcGluZ3MiOiI7Ozs7O1FBQWdCQSxRLEdBQUFBLFE7UUFJQUMsVyxHQUFBQSxXO1FBT0FDLFEsR0FBQUEsUTtRQU1BQyxRLEdBQUFBLFE7QUFqQlQsU0FBU0gsUUFBVCxDQUFtQkksR0FBbkIsRUFBd0JDLEdBQXhCLEVBQTZCO0FBQ2hDLFdBQU9ELElBQUlFLFNBQUosQ0FBY0MsS0FBZCxDQUFvQixJQUFJQyxNQUFKLENBQVcsWUFBWUgsR0FBWixHQUFrQixTQUE3QixDQUFwQixDQUFQO0FBQ0g7O0FBRU0sU0FBU0osV0FBVCxDQUFzQkcsR0FBdEIsRUFBMkJDLEdBQTNCLEVBQWdDO0FBQ25DLFFBQUlMLFNBQVNJLEdBQVQsRUFBY0MsR0FBZCxDQUFKLEVBQXdCO0FBQ3BCLFlBQU1JLE1BQU0sSUFBSUQsTUFBSixDQUFXLFlBQVlILEdBQVosR0FBa0IsU0FBN0IsQ0FBWjtBQUNBRCxZQUFJRSxTQUFKLEdBQWdCRixJQUFJRSxTQUFKLENBQWNJLE9BQWQsQ0FBc0JELEdBQXRCLEVBQTJCLEdBQTNCLENBQWhCO0FBQ0g7QUFDSjs7QUFFTSxTQUFTUCxRQUFULENBQW1CRSxHQUFuQixFQUF3QkMsR0FBeEIsRUFBNkI7QUFDaEMsUUFBSSxDQUFDTCxTQUFTSSxHQUFULEVBQWNDLEdBQWQsQ0FBTCxFQUF5QjtBQUNyQkQsWUFBSUUsU0FBSixLQUFrQixFQUFsQixHQUF1QkYsSUFBSUUsU0FBSixRQUFtQkQsR0FBMUMsR0FBa0RELElBQUlFLFNBQUosVUFBcUJELEdBQXZFO0FBQ0g7QUFDSjs7QUFFTSxTQUFTRixRQUFULENBQW1CQyxHQUFuQixFQUF3Qk8sTUFBeEIsRUFBZ0M7QUFDbkMsUUFBSVAsSUFBSVEsWUFBUixFQUFzQjtBQUNsQixlQUFPUixJQUFJUSxZQUFKLENBQWlCRCxNQUFqQixDQUFQO0FBQ0gsS0FGRCxNQUVPO0FBQ0gsZUFBT0UsaUJBQWlCVCxHQUFqQixFQUFzQixJQUF0QixFQUE0Qk8sTUFBNUIsQ0FBUDtBQUNIO0FBQ0oiLCJmaWxlIjoiOTUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaGFzQ2xhc3MgKG9iaiwgY2xzKSB7XHJcbiAgICByZXR1cm4gb2JqLmNsYXNzTmFtZS5tYXRjaChuZXcgUmVnRXhwKCcoXFxcXHN8XiknICsgY2xzICsgJyhcXFxcc3wkKScpKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUNsYXNzIChvYmosIGNscykge1xyXG4gICAgaWYgKGhhc0NsYXNzKG9iaiwgY2xzKSkge1xyXG4gICAgICAgIGNvbnN0IHJlZyA9IG5ldyBSZWdFeHAoJyhcXFxcc3xeKScgKyBjbHMgKyAnKFxcXFxzfCQpJyk7XHJcbiAgICAgICAgb2JqLmNsYXNzTmFtZSA9IG9iai5jbGFzc05hbWUucmVwbGFjZShyZWcsICcgJyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBhZGRDbGFzcyAob2JqLCBjbHMpIHtcclxuICAgIGlmICghaGFzQ2xhc3Mob2JqLCBjbHMpKSB7XHJcbiAgICAgICAgb2JqLmNsYXNzTmFtZSA9PT0gJycgPyBvYmouY2xhc3NOYW1lID0gYCR7Y2xzfWAgOiBvYmouY2xhc3NOYW1lICs9IGAgJHtjbHN9YDtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFN0eWxlIChvYmosIG9TdHlsZSkgeyAvLyDojrflj5blhYPntKDnmoTmoLflvI9cclxuICAgIGlmIChvYmouY3VycmVudFN0eWxlKSB7XHJcbiAgICAgICAgcmV0dXJuIG9iai5jdXJyZW50U3R5bGVbb1N0eWxlXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUob2JqLCBudWxsKVtvU3R5bGVdO1xyXG4gICAgfVxyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvc2VydmljZS9kb20uanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///95\n");
682
683/***/ }),
684/* 96 */
685/***/ (function(module, exports, __webpack_require__) {
686
687eval("module.exports = __webpack_require__(291);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvcmVnZW5lcmF0b3IvaW5kZXguanM/OTQyZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUIsbUJBQU8sQ0FBQyxHQUFxQiIsImZpbGUiOiI5Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcInJlZ2VuZXJhdG9yLXJ1bnRpbWVcIik7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fYmFiZWwtcnVudGltZUA2LjI2LjBAYmFiZWwtcnVudGltZS9yZWdlbmVyYXRvci9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gOTZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///96\n");
688
689/***/ }),
690/* 97 */
691/***/ (function(module, exports, __webpack_require__) {
692
693"use strict";
694eval("\n\nexports.__esModule = true;\n\nvar _promise = __webpack_require__(89);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (fn) {\n return function () {\n var gen = fn.apply(this, arguments);\n return new _promise2.default(function (resolve, reject) {\n function step(key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n return _promise2.default.resolve(value).then(function (value) {\n step(\"next\", value);\n }, function (err) {\n step(\"throw\", err);\n });\n }\n }\n\n return step(\"next\");\n });\n };\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvaGVscGVycy9hc3luY1RvR2VuZXJhdG9yLmpzPzI3NDMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7O0FBRUEsZUFBZSxtQkFBTyxDQUFDLEVBQW9COztBQUUzQzs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0EsV0FBVztBQUNYO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsImZpbGUiOiI5Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuXG52YXIgX3Byb21pc2UgPSByZXF1aXJlKFwiLi4vY29yZS1qcy9wcm9taXNlXCIpO1xuXG52YXIgX3Byb21pc2UyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcHJvbWlzZSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IGZ1bmN0aW9uIChmbikge1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIHZhciBnZW4gPSBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIHJldHVybiBuZXcgX3Byb21pc2UyLmRlZmF1bHQoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgZnVuY3Rpb24gc3RlcChrZXksIGFyZykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHZhciBpbmZvID0gZ2VuW2tleV0oYXJnKTtcbiAgICAgICAgICB2YXIgdmFsdWUgPSBpbmZvLnZhbHVlO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGluZm8uZG9uZSkge1xuICAgICAgICAgIHJlc29sdmUodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBfcHJvbWlzZTIuZGVmYXVsdC5yZXNvbHZlKHZhbHVlKS50aGVuKGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgc3RlcChcIm5leHRcIiwgdmFsdWUpO1xuICAgICAgICAgIH0sIGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgICAgIHN0ZXAoXCJ0aHJvd1wiLCBlcnIpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdGVwKFwibmV4dFwiKTtcbiAgICB9KTtcbiAgfTtcbn07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvaGVscGVycy9hc3luY1RvR2VuZXJhdG9yLmpzXG4vLyBtb2R1bGUgaWQgPSA5N1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///97\n");
695
696/***/ }),
697/* 98 */
698/***/ (function(module, exports, __webpack_require__) {
699
700"use strict";
701eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(300);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _service = __webpack_require__(34);\n\nvar _lodash = __webpack_require__(36);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n position: 'mainToolEditorManager',\n name: 'main-tool-editor-manager',\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n currentEditInstanceKey: function currentEditInstanceKey() {\n var _this = this;\n\n this.hackReset = false;\n this.$nextTick(function () {\n _this.hackReset = true;\n });\n return this.$store.state.viewport.currentEditInstanceKey;\n },\n editors: function editors() {\n\n var instanceKey = this.currentEditInstanceKey;\n if (!this.viewportState.instances.has(instanceKey)) {\n return null;\n }\n\n this.instanceInfo = this.viewportState.instances.get(instanceKey);\n return this.applicationState.componentSetting.get(this.instanceInfo.gaeaKey).editors;\n }\n },\n data: function data() {\n return {\n instanceInfo: null,\n pluginsBelongKeys: _service.SVC.pluginsBelongKeys,\n hackReset: true,\n hideField: \"\"\n };\n },\n\n methods: {\n upperFirst: _.upperFirst,\n camelCase: _.camelCase,\n vShow: function vShow(data) {\n if (data.isShow === \"hide\" || data.field === this.hideField) {\n return false;\n } else {\n return true;\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n _eventbus2.default.$on(\"computIsShow\", function (data) {\n _this2.hideField = data.com;\n });\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci1tYW5hZ2VyL2luZGV4LnZ1ZT8xMTczIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQTZCQSxVOztBQUNBOztBQUNBOztJQUFBLEM7O0FBQ0E7Ozs7Ozs7O2tCQUVBO0FBQ0EsMkNBQ0EsVUFEQSxDQURBO0FBSUEscUNBSkE7QUFLQSxvQ0FMQTtBQU1BO0FBQ0Esd0JBREEsOEJBQ0E7QUFDQTtBQUNBLFNBSEE7QUFJQSxxQkFKQSwyQkFJQTtBQUNBO0FBQ0EsU0FOQTtBQU9BLDhCQVBBLG9DQU9BO0FBQUE7O0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFGQTtBQUdBO0FBQ0EsU0FiQTtBQWNBLGVBZEEscUJBY0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4REFDQSx5QkFEQSxFQUVBLE9BRkE7QUFHQTtBQXpCQSxLQU5BO0FBaUNBLFFBakNBLGtCQWlDQTtBQUNBO0FBQ0EsOEJBREE7QUFFQSw2REFGQTtBQUdBLDJCQUhBO0FBSUE7QUFKQTtBQU1BLEtBeENBOztBQXlDQTtBQUNBLGdDQURBO0FBRUEsOEJBRkE7QUFHQSxhQUhBLGlCQUdBLElBSEEsRUFHQTtBQUNBO0FBQ0E7QUFDQSxhQUZBLE1BRUE7QUFDQTtBQUNBO0FBQ0E7QUFUQSxLQXpDQTtBQW9EQSxXQXBEQSxxQkFvREE7QUFBQTs7QUFHQTtBQUNBO0FBQ0EsU0FGQTtBQUlBO0FBM0RBLEMiLCJmaWxlIjoiOTguanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHYtaWY9XCJoYWNrUmVzZXRcIiBzdHlsZT1cIndpZHRoOiAxMDAlXCI+XHJcbiAgICAgICAgPEVkaXRvckNvbnRhaW5lciA6dGhlbWU9XCJ7fVwiIHYtaWY9XCJ0eXBlb2YgZWRpdG9ycyA9PT0gJ3N0cmluZydcIj5cclxuICAgICAgICAgICAgPGNvbXBvbmVudCA6aXM9XCJpdGVtXCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gcGx1Z2luc0JlbG9uZ0tleXNbYG1haW5Ub29sRWRpdG9yVHlwZSR7ZWRpdG9yc31gXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgOmtleT1cImluZGV4XCI+PC9jb21wb25lbnQ+XHJcbiAgICAgICAgPC9FZGl0b3JDb250YWluZXI+XHJcbiAgICAgICAgPGRpdiB2LWVsc2U+XHJcbiAgICAgICAgICAgIDx0ZW1wbGF0ZSB2LWZvcj1cIihlZGl0b3IsaW5kZXgpIGluIGVkaXRvcnNcIj5cclxuICAgICAgICAgICAgICAgIDxUYWJUaXRsZSB2LWlmPVwidHlwZW9mIGVkaXRvciA9PT0nc3RyaW5nJ1wiIDprZXk9XCJpbmRleFwiPnt7ZWRpdG9yfX08L1RhYlRpdGxlPlxyXG4gICAgICAgICAgICAgICAgPEVkaXRvckNvbnRhaW5lciB2LWVsc2UgOmtleT1cImluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnRoZW1lPVwie2lzT2JqZWN0VHlwZTplZGl0b3IudHlwZT09PSdhcnJheSd8fGVkaXRvci50eXBlPT09J29iamVjdCd9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdi1zaG93PVwidlNob3coZWRpdG9yKVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxFZGl0b3JCb3hDb250YWluZXIgc3R5bGU9XCJ3aWR0aDogMTAwJTt0ZXh0LWFsaWduOiBsZWZ0O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29tcG9uZW50IDppbnN0YW5jZUluZm89XCJpbnN0YW5jZUluZm9cIiA6ZWRpdG9yPVwiZWRpdG9yXCIgOmlzPVwiaW5uZXJJdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdi1mb3I9XCIoaW5uZXJJdGVtLGlubmVySW5kZXgpIGluIHBsdWdpbnNCZWxvbmdLZXlzW2BtYWluVG9vbEVkaXRvclR5cGUke3VwcGVyRmlyc3QoY2FtZWxDYXNlKGVkaXRvci50eXBlKSl9YF1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6a2V5PVwiaW5uZXJJbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvbXBvbmVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L0VkaXRvckJveENvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvRWRpdG9yQ29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L3RlbXBsYXRlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG4gICAgaW1wb3J0ICogYXMgY29tcG9uZW50cyBmcm9tICcuL3N0eWxlJztcclxuICAgIGltcG9ydCB7U1ZDfSBmcm9tICcuLi8uLi9zZXJ2aWNlJztcclxuICAgIGltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcclxuICAgIGltcG9ydCBldmVudGJ1cyBmcm9tICcuLi8uLi9zZXJ2aWNlL2V2ZW50YnVzJztcclxuXHJcbiAgICBleHBvcnQgZGVmYXVsdCB7XHJcbiAgICAgICAgY29tcG9uZW50czoge1xyXG4gICAgICAgICAgICAuLi5jb21wb25lbnRzXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yTWFuYWdlcicsXHJcbiAgICAgICAgbmFtZTogJ21haW4tdG9vbC1lZGl0b3ItbWFuYWdlcicsXHJcbiAgICAgICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICAgICAgYXBwbGljYXRpb25TdGF0ZSgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5hcHBsaWNhdGlvbjtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdmlld3BvcnRTdGF0ZSgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgY3VycmVudEVkaXRJbnN0YW5jZUtleSgpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGFja1Jlc2V0ID0gZmFsc2VcclxuICAgICAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhY2tSZXNldCA9IHRydWVcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVkaXRvcnMoKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgaW5zdGFuY2VLZXkgPSB0aGlzLmN1cnJlbnRFZGl0SW5zdGFuY2VLZXk7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMudmlld3BvcnRTdGF0ZS5pbnN0YW5jZXMuaGFzKGluc3RhbmNlS2V5KSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2VJbmZvID0gdGhpcy52aWV3cG9ydFN0YXRlLmluc3RhbmNlcy5nZXQoaW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXBwbGljYXRpb25TdGF0ZS5jb21wb25lbnRTZXR0aW5nLmdldChcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmluc3RhbmNlSW5mby5nYWVhS2V5XHJcbiAgICAgICAgICAgICAgICApLmVkaXRvcnM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGRhdGEoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBpbnN0YW5jZUluZm86IG51bGwsXHJcbiAgICAgICAgICAgICAgICBwbHVnaW5zQmVsb25nS2V5czogU1ZDLnBsdWdpbnNCZWxvbmdLZXlzLFxyXG4gICAgICAgICAgICAgICAgaGFja1Jlc2V0OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgaGlkZUZpZWxkOiBcIlwiXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtZXRob2RzOiB7XHJcbiAgICAgICAgICAgIHVwcGVyRmlyc3Q6IF8udXBwZXJGaXJzdCxcclxuICAgICAgICAgICAgY2FtZWxDYXNlOiBfLmNhbWVsQ2FzZSxcclxuICAgICAgICAgICAgdlNob3coZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGRhdGEuaXNTaG93ID09PSBcImhpZGVcIiB8fCBkYXRhLmZpZWxkID09PSB0aGlzLmhpZGVGaWVsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGNyZWF0ZWQoKSB7XHJcblxyXG5cclxuICAgICAgICAgICAgZXZlbnRidXMuJG9uKFwiY29tcHV0SXNTaG93XCIsIChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGVGaWVsZCA9IGRhdGEuY29tOy8v5aaC5p6c5riy5p+T55qE57uE5Lu25Li65Lyg6L+H5p2l55qE57uE5Lu25YiZ6ZqQ6JePXHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBzY29wZWQ+XHJcbiAgICAuaGpCaHhue1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgLmVmdHVmUyB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDBweDtcclxuICAgIH1cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItbWFuYWdlci9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///98\n");
702
703/***/ }),
704/* 99 */
705/***/ (function(module, exports, __webpack_require__) {
706
707"use strict";
708eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(306);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeAddressReqSelect',\n name: 'main-tool-editor-type-addressReqSelect',\n data: function data() {\n return {\n propArr: []\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n var _data = this.propArr || [];\n return _data;\n }\n },\n methods: {\n handleChange: function handleChange() {}\n },\n mounted: function mounted() {\n\n var _this = this;\n this.$http.get('/static/data/page-ide/addressReq.json').then(function (response) {\n _this.propArr = response.propArr;\n _this.initCurrtField();\n });\n },\n\n watch: {\n value: function value(n, o) {\n\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1hZGRyZXNzUmVxU2VsZWN0L2luZGV4LnZ1ZT9mM2FlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQVdBLFU7O0FBQ0E7Ozs7OztrQkFDQTtBQUNBLDJDQUNBLFVBREEsQ0FEQTtBQUlBLG9EQUpBO0FBS0Esa0RBTEE7QUFNQSxrREFOQTtBQU9BLFFBUEEsa0JBT0E7QUFDQTtBQUNBO0FBREE7QUFHQSxLQVhBOztBQVlBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLEtBWkE7QUFnQkE7QUFDQSx3QkFEQSw4QkFDQTtBQUNBO0FBQ0EsU0FIQTtBQUlBLHFCQUpBLDJCQUlBO0FBQ0E7QUFDQSxTQU5BO0FBT0EsbUJBUEEseUJBT0E7QUFDQTtBQUNBO0FBQ0E7QUFWQSxLQWhCQTtBQTRCQTtBQU9BLG9CQVBBLDBCQU9BLENBRUE7QUFUQSxLQTVCQTtBQXVDQSxXQXZDQSxxQkF1Q0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUhBO0FBSUEsS0E5Q0E7O0FBK0NBO0FBQ0EsYUFEQSxpQkFDQSxDQURBLEVBQ0EsQ0FEQSxFQUNBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFSQTtBQS9DQSxDIiwiZmlsZSI6Ijk5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gICAgPGRpdiBzdHlsZT1cIndpZHRoOiAxMDAlXCI+XHJcbiAgICAgICAgPENvbnRhaW5lcj5cclxuICAgICAgICAgICAgPFNlbGVjdCB2LW1vZGVsPVwidmFsdWVcIiBzdHlsZT1cIndpZHRoOjk2LjUlO1wiIGNsZWFyYWJsZT5cclxuICAgICAgICAgICAgICAgIDxPcHRpb24gdi1mb3I9XCJpdGVtIGluIG9wdGlvbnNEYXRhXCIgOnZhbHVlPVwiaXRlbS52YWx1ZXx8JydcIiA6a2V5PVwiaXRlbS52YWx1ZVwiPnt7IGl0ZW0ua2V5IH19PC9PcHRpb24+XHJcbiAgICAgICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQgKiBhcyBjb21wb25lbnRzIGZyb20gJy4vc3R5bGUnO1xyXG5pbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgY29tcG9uZW50czoge1xyXG4gICAgICAgIC4uLmNvbXBvbmVudHNcclxuICAgIH0sXHJcbiAgICBtaXhpbnM6IFtQcm9wZXJ0eU1peGluXSxcclxuICAgIHBvc2l0aW9uOiAnbWFpblRvb2xFZGl0b3JUeXBlQWRkcmVzc1JlcVNlbGVjdCcsXHJcbiAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLWFkZHJlc3NSZXFTZWxlY3QnLFxyXG4gICAgZGF0YSAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgcHJvcEFycjpbXVxyXG4gICAgICAgIH07XHJcbiAgICB9LFxyXG4gICAgcHJvcHM6IHtcclxuICAgICAgICBpbnN0YW5jZUluZm86IE9iamVjdCxcclxuICAgICAgICBlZGl0b3I6IE9iamVjdFxyXG4gICAgfSxcclxuICAgIGNvbXB1dGVkOiB7XHJcbiAgICAgICAgYXBwbGljYXRpb25TdGF0ZSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5hcHBsaWNhdGlvbjtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHZpZXdwb3J0U3RhdGUgKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQ7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBvcHRpb25zRGF0YSAoKSB7XHJcbiAgICAgICAgICAgIGxldCBfZGF0YSA9IHRoaXMucHJvcEFyciB8fCBbXTtcclxuICAgICAgICAgICAgcmV0dXJuIF9kYXRhO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtZXRob2RzOiB7XHJcbiAgICAgICAgLy8gY2hhbmdlX3N0YXR1cyh2YWwpeyAgLy8g562b6YCJ54q25oCBXHJcbiAgICAgICAgLy9cclxuICAgICAgICAvLyAgICAgY29uc29sZS5sb2codGhpcy52YWwpO1xyXG4gICAgICAgIC8vICAgICB0aGlzLnZhbD12YWw7XHJcbiAgICAgICAgLy8gICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyh0aGlzLnZhbCk7XHJcbiAgICAgICAgLy8gfSxcclxuICAgICAgICBoYW5kbGVDaGFuZ2UgKCkge1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgbW91bnRlZCgpe1xyXG5cclxuICAgICAgICBsZXQgX3RoaXM9dGhpcztcclxuICAgICAgICB0aGlzLiRodHRwLmdldCgnL3N0YXRpYy9kYXRhL3BhZ2UtaWRlL2FkZHJlc3NSZXEuanNvbicpLnRoZW4oKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIF90aGlzLnByb3BBcnI9cmVzcG9uc2UucHJvcEFycjtcclxuICAgICAgICAgICAgX3RoaXMuaW5pdEN1cnJ0RmllbGQoKTtcclxuICAgICAgICB9KTtcclxuICAgIH0sXHJcbiAgICB3YXRjaDoge1xyXG4gICAgICAgIHZhbHVlIChuLCBvKSB7XHJcblxyXG5cclxuICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWFkZHJlc3NSZXFTZWxlY3QvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///99\n");
709
710/***/ }),
711/* 100 */
712/***/ (function(module, exports, __webpack_require__) {
713
714"use strict";
715eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(311);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeAttachFileTypeSelect',\n name: 'main-tool-editor-type-attachFileTypeSelect',\n data: function data() {\n return {\n propArr: []\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n var _data = this.propArr || [];\n return _data;\n }\n },\n methods: {\n handleChange: function handleChange() {}\n },\n mounted: function mounted() {\n\n var _this = this;\n this.propArr = configPageIde.attachFileType;\n this.initCurrtField();\n },\n\n watch: {\n value: function value(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1hdHRhY2hGaWxsVHlwZVNlbGVjdC9pbmRleC52dWU/MDhjMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFXQSxVOztBQUNBOzs7Ozs7a0JBQ0E7QUFDQSwyQ0FDQSxVQURBLENBREE7QUFJQSxvREFKQTtBQUtBLHNEQUxBO0FBTUEsc0RBTkE7QUFPQSxRQVBBLGtCQU9BO0FBQ0E7QUFDQTtBQURBO0FBR0EsS0FYQTs7QUFZQTtBQUNBLDRCQURBO0FBRUE7QUFGQSxLQVpBO0FBZ0JBO0FBQ0Esd0JBREEsOEJBQ0E7QUFDQTtBQUNBLFNBSEE7QUFJQSxxQkFKQSwyQkFJQTtBQUNBO0FBQ0EsU0FOQTtBQU9BLG1CQVBBLHlCQU9BO0FBQ0E7QUFDQTtBQUNBO0FBVkEsS0FoQkE7QUE0QkE7QUFPQSxvQkFQQSwwQkFPQSxDQUVBO0FBVEEsS0E1QkE7QUF1Q0EsV0F2Q0EscUJBdUNBOztBQUVBO0FBQ0E7QUFDQTtBQUtBLEtBaERBOztBQWlEQTtBQUNBLGFBREEsaUJBQ0EsQ0FEQSxFQUNBLENBREEsRUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQWpEQSxDIiwiZmlsZSI6IjEwMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxyXG4gICAgICAgIDxDb250YWluZXI+XHJcbiAgICAgICAgPFNlbGVjdCB2LW1vZGVsPVwidmFsdWVcIiBzdHlsZT1cIndpZHRoOjk2LjUlO1wiIGNsZWFyYWJsZT5cclxuICAgICAgICAgICAgPE9wdGlvbiB2LWZvcj1cIml0ZW0gaW4gb3B0aW9uc0RhdGFcIiA6dmFsdWU9XCJpdGVtLnZhbHVlfHwnJ1wiIDprZXk9XCJpdGVtLnZhbHVlXCI+e3sgaXRlbS5rZXkgfX08L09wdGlvbj5cclxuICAgICAgICA8L1NlbGVjdD5cclxuICAgIDwvQ29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQgKiBhcyBjb21wb25lbnRzIGZyb20gJy4vc3R5bGUnO1xyXG5pbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgY29tcG9uZW50czoge1xyXG4gICAgICAgIC4uLmNvbXBvbmVudHNcclxuICAgIH0sXHJcbiAgICBtaXhpbnM6IFtQcm9wZXJ0eU1peGluXSxcclxuICAgIHBvc2l0aW9uOiAnbWFpblRvb2xFZGl0b3JUeXBlQXR0YWNoRmlsZVR5cGVTZWxlY3QnLFxyXG4gICAgbmFtZTogJ21haW4tdG9vbC1lZGl0b3ItdHlwZS1hdHRhY2hGaWxlVHlwZVNlbGVjdCcsXHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBwcm9wQXJyOltdXHJcbiAgICAgICAgfTtcclxuICAgIH0sXHJcbiAgICBwcm9wczoge1xyXG4gICAgICAgIGluc3RhbmNlSW5mbzogT2JqZWN0LFxyXG4gICAgICAgIGVkaXRvcjogT2JqZWN0XHJcbiAgICB9LFxyXG4gICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICBhcHBsaWNhdGlvblN0YXRlICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdmlld3BvcnRTdGF0ZSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG9wdGlvbnNEYXRhICgpIHtcclxuICAgICAgICAgICAgbGV0IF9kYXRhID0gdGhpcy5wcm9wQXJyIHx8IFtdO1xyXG4gICAgICAgICAgICByZXR1cm4gX2RhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIG1ldGhvZHM6IHtcclxuICAgICAgICAvLyBjaGFuZ2Vfc3RhdHVzKHZhbCl7ICAvLyDnrZvpgInnirbmgIFcclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vICAgICBjb25zb2xlLmxvZyh0aGlzLnZhbCk7XHJcbiAgICAgICAgLy8gICAgIHRoaXMudmFsPXZhbDtcclxuICAgICAgICAvLyAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKHRoaXMudmFsKTtcclxuICAgICAgICAvLyB9LFxyXG4gICAgICAgIGhhbmRsZUNoYW5nZSAoKSB7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtb3VudGVkKCl7XHJcblxyXG4gICAgICAgIGxldCBfdGhpcz10aGlzO1xyXG4gICAgICAgICB0aGlzLnByb3BBcnI9Y29uZmlnUGFnZUlkZS5hdHRhY2hGaWxlVHlwZTtcclxuICAgICAgICB0aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICAgIC8qICB0aGlzLiRodHRwLmdldCgnL3N0YXRpYy9kYXRhL3BhZ2UtaWRlL2F0dGFjaEZpbGVUeXBlLmpzb24nKS50aGVuKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICBfdGhpcy5wcm9wQXJyPXJlc3BvbnNlLnByb3BBcnI7XHJcbiAgICAgICAgICAgIF90aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICAgICAgfSk7Ki9cclxuICAgIH0sXHJcbiAgICB3YXRjaDoge1xyXG4gICAgICAgIHZhbHVlIChuLCBvKSB7XHJcbiAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1hdHRhY2hGaWxsVHlwZVNlbGVjdC9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///100\n");
716
717/***/ }),
718/* 101 */
719/***/ (function(module, exports, __webpack_require__) {
720
721"use strict";
722eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(316);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeBoolean',\n name: 'main-tool-editor-type-boolean',\n data: function data() {\n return {\n value: this.editor.value || false\n };\n },\n mounted: function mounted() {\n this.initCurrtField();\n this.setInstanceProps(this.value);\n },\n\n computed: {\n applicationState: function applicationState() {\n\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n }\n },\n methods: {\n handleChange: function handleChange() {}\n },\n watch: {\n value: function value(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1ib29sZWFuL2luZGV4LnZ1ZT81ZWMwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQVdBLFU7O0FBQ0E7Ozs7OztrQkFDQTtBQUNBLDJDQUNBLFVBREEsQ0FEQTtBQUlBLG9EQUpBO0FBS0EseUNBTEE7QUFNQSx5Q0FOQTtBQU9BLFFBUEEsa0JBT0E7QUFDQTtBQUNBO0FBREE7QUFHQSxLQVhBO0FBWUEsV0FaQSxxQkFZQTtBQUNBO0FBQ0E7QUFDQSxLQWZBOztBQWdCQTtBQUNBLHdCQURBLDhCQUNBOztBQUVBO0FBQ0EsU0FKQTtBQUtBLHFCQUxBLDJCQUtBO0FBQ0E7QUFDQTtBQVBBLEtBaEJBO0FBeUJBO0FBQ0Esb0JBREEsMEJBQ0EsQ0FFQTtBQUhBLEtBekJBO0FBOEJBO0FBQ0EsYUFEQSxpQkFDQSxDQURBLEVBQ0EsQ0FEQSxFQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBOUJBLEMiLCJmaWxlIjoiMTAxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gICAgPGRpdiBzdHlsZT1cIndpZHRoOiAxMDAlXCI+XHJcblxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBibG9jazt3aWR0aDogOTUlO1wiPlxyXG4gICAgICAgICAgICA8aS1zd2l0Y2ggICB2LW1vZGVsPVwidmFsdWVcIj48L2ktc3dpdGNoPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0ICogYXMgY29tcG9uZW50cyBmcm9tICcuL3N0eWxlJztcclxuaW1wb3J0IHtQcm9wZXJ0eU1peGlufSBmcm9tICcuLi8uLi9zZXJ2aWNlL21haW4tdG9vbC1lZGl0b3ItdHlwZS1taXhpbic7XHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICAgIGNvbXBvbmVudHM6IHtcclxuICAgICAgICAuLi5jb21wb25lbnRzXHJcbiAgICB9LFxyXG4gICAgbWl4aW5zOiBbUHJvcGVydHlNaXhpbl0sXHJcbiAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yVHlwZUJvb2xlYW4nLFxyXG4gICAgbmFtZTogJ21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib29sZWFuJyxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLmVkaXRvci52YWx1ZXx8ZmFsc2VcclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIG1vdW50ZWQgKCkge1xyXG4gICAgICAgIHRoaXMuaW5pdEN1cnJ0RmllbGQoKTtcclxuICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHModGhpcy52YWx1ZSk7XHJcbiAgICB9LFxyXG4gICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICBhcHBsaWNhdGlvblN0YXRlICgpIHtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5hcHBsaWNhdGlvbjtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHZpZXdwb3J0U3RhdGUgKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIG1ldGhvZHM6IHtcclxuICAgICAgICBoYW5kbGVDaGFuZ2UgKCkge1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgd2F0Y2g6IHtcclxuICAgICAgICB2YWx1ZSAobiwgbykge1xyXG4gICAgICAgICAgICBpZiAobiA9PT0gbykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIHNjb3BlZD5cclxuICAgIC5kTWxXZG0ge1xyXG4gICAgICAgIC8qd2lkdGg6IDQ1cHg7Ki9cclxuICAgICAgICAvKmZsb2F0OiBsZWZ0OyovXHJcbiAgICAgICAgLyp0ZXh0LWFsaWduOiBsZWZ0OyovXHJcbiAgICAgICAgLypwYWRkaW5nOiA1cHggMjQ1cHggNXB4IDA7Ki9cclxuICAgIH1cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtYm9vbGVhbi9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///101\n");
723
724/***/ }),
725/* 102 */
726/***/ (function(module, exports, __webpack_require__) {
727
728"use strict";
729eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(321);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nvar _mainToolEditorTypeShowFlag = __webpack_require__(44);\n\nvar _mainToolEditorTypeShowFlag2 = _interopRequireDefault(_mainToolEditorTypeShowFlag);\n\nvar _mainToolEditorTypeBoxValidateArr = __webpack_require__(21);\n\nvar _mainToolEditorTypeBoxValidateArr2 = _interopRequireDefault(_mainToolEditorTypeBoxValidateArr);\n\nvar _mainToolEditorTypeBoxLinkageChangeValue = __webpack_require__(45);\n\nvar _mainToolEditorTypeBoxLinkageChangeValue2 = _interopRequireDefault(_mainToolEditorTypeBoxLinkageChangeValue);\n\nvar _mainToolEditorTypeBoxInputSelect = __webpack_require__(67);\n\nvar _mainToolEditorTypeBoxInputSelect2 = _interopRequireDefault(_mainToolEditorTypeBoxInputSelect);\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components, {\n validateArr: _mainToolEditorTypeBoxValidateArr2.default,\n linkageChangeValue: _mainToolEditorTypeBoxLinkageChangeValue2.default\n }),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeBudongchanHeightLevel',\n name: 'main-tool-editor-type-budongchanHeightLevel',\n data: function data() {\n return {\n value: this.editor.value || false,\n isTextarea: false\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n this.initCurrtField();\n this.setInstanceProps(this.value);\n _eventbus2.default.$off(\"computIsShow\");\n _eventbus2.default.$on(\"computIsShow\", function (data) {\n if (data.com != \"\") {\n _this.isTextarea = false;\n } else {\n _this.isTextarea = true;\n }\n });\n },\n\n computed: {\n getLineNums: function getLineNums() {\n debugger;\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n if (!currentInstance.data.extend.rows) {\n currentInstance.data.extend.rows = 1;\n }\n return currentInstance.data.extend.rows;\n },\n applicationState: function applicationState() {\n\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n }\n },\n methods: {\n handleChange: function handleChange() {}\n },\n watch: {\n value: function value(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1idWRvbmdjaGFuSGVpZ2h0TGV2ZWwvaW5kZXgudnVlPzYwOTEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBa0JBLFU7O0FBQ0E7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7Ozs7a0JBQ0E7QUFDQSwyQ0FDQSxVQURBO0FBRUEsK0RBRkE7QUFHQTtBQUhBLE1BREE7QUFNQSxvREFOQTtBQU9BLHVEQVBBO0FBUUEsdURBUkE7QUFTQSxRQVRBLGtCQVNBO0FBQ0E7QUFDQSw2Q0FEQTtBQUVBO0FBRkE7QUFJQSxLQWRBO0FBZUEsV0FmQSxxQkFlQTtBQUFBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBRkEsTUFFQTtBQUNBO0FBQ0E7QUFDQSxTQU5BO0FBT0EsS0ExQkE7O0FBMkJBO0FBQ0EsbUJBREEseUJBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FUQTtBQVVBLHdCQVZBLDhCQVVBOztBQUVBO0FBQ0EsU0FiQTtBQWNBLHFCQWRBLDJCQWNBO0FBQ0E7QUFDQTtBQWhCQSxLQTNCQTtBQTZDQTtBQUNBLG9CQURBLDBCQUNBLENBRUE7QUFIQSxLQTdDQTtBQWtEQTtBQUNBLGFBREEsaUJBQ0EsQ0FEQSxFQUNBLENBREEsRUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQWxEQSxDIiwiZmlsZSI6IjEwMi5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDoxMDAlO1wiPlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXN0eWxlXCI+XHJcbiAgICAgICAgICAgICAgICA8aS1zd2l0Y2ggdi1tb2RlbD1cInZhbHVlXCI+PC9pLXN3aXRjaD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiB2LXNob3c9XCJ2YWx1ZVwiPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlLXN0eWxlXCI+5qCh6aqMPC9kaXY+XHJcbiAgICAgICAgICAgIDx2YWxpZGF0ZUFycj48L3ZhbGlkYXRlQXJyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGUtc3R5bGVcIj7ogZTliqg8L2Rpdj5cclxuICAgICAgICAgICAgPGxpbmthZ2VDaGFuZ2VWYWx1ZT48L2xpbmthZ2VDaGFuZ2VWYWx1ZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIGltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbiAgICBpbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuICAgIGltcG9ydCBzaG93RmxhZyBmcm9tICcuLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtc2hvd0ZsYWcnO1xyXG4gICAgaW1wb3J0IHZhbGlkYXRlQXJyIGZyb20gJy4uL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtdmFsaWRhdGVBcnInO1xyXG4gICAgaW1wb3J0IGxpbmthZ2VDaGFuZ2VWYWx1ZSBmcm9tICcuLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxpbmthZ2VDaGFuZ2VWYWx1ZSc7XHJcbiAgICBpbXBvcnQgaW5wdXRTZWxlY3QgZnJvbSAnLi4vbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1pbnB1dFNlbGVjdCc7XHJcbiAgICBpbXBvcnQgZXZlbnRidXMgZnJvbSAnLi4vLi4vc2VydmljZS9ldmVudGJ1cyc7XHJcbiAgICBleHBvcnQgZGVmYXVsdCB7XHJcbiAgICAgICAgY29tcG9uZW50czoge1xyXG4gICAgICAgICAgICAuLi5jb21wb25lbnRzLFxyXG4gICAgICAgICAgICB2YWxpZGF0ZUFycixcclxuICAgICAgICAgICAgbGlua2FnZUNoYW5nZVZhbHVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWl4aW5zOiBbUHJvcGVydHlNaXhpbl0sXHJcbiAgICAgICAgcG9zaXRpb246ICdtYWluVG9vbEVkaXRvclR5cGVCdWRvbmdjaGFuSGVpZ2h0TGV2ZWwnLFxyXG4gICAgICAgIG5hbWU6ICdtYWluLXRvb2wtZWRpdG9yLXR5cGUtYnVkb25nY2hhbkhlaWdodExldmVsJyxcclxuICAgICAgICBkYXRhKCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuZWRpdG9yLnZhbHVlIHx8IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgaXNUZXh0YXJlYTpmYWxzZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbW91bnRlZCgpIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0Q3VycnRGaWVsZCgpO1xyXG4gICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHModGhpcy52YWx1ZSk7XHJcbiAgICAgICAgICAgIGV2ZW50YnVzLiRvZmYoXCJjb21wdXRJc1Nob3dcIik7XHJcbiAgICAgICAgICAgIGV2ZW50YnVzLiRvbihcImNvbXB1dElzU2hvd1wiLCAoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgICBpZihkYXRhLmNvbSE9XCJcIil7XHJcbiAgICAgICAgICAgICAgICAgICB0aGlzLmlzVGV4dGFyZWE9ZmFsc2U7XHJcbiAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgdGhpcy5pc1RleHRhcmVhPXRydWU7XHJcbiAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wdXRlZDoge1xyXG4gICAgICAgICAgICBnZXRMaW5lTnVtcygpIHtcclxuICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZSA9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcy5nZXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgICAgICAvL25vdGUg5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4dGVuZC5yb3dzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEuZXh0ZW5kLnJvd3MgPSAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4dGVuZC5yb3dzIDtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYXBwbGljYXRpb25TdGF0ZSgpIHtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUuYXBwbGljYXRpb247XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHZpZXdwb3J0U3RhdGUoKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIG1ldGhvZHM6IHtcclxuICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKCkge1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgd2F0Y2g6IHtcclxuICAgICAgICAgICAgdmFsdWUobiwgbykge1xyXG4gICAgICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBzY29wZWQ+XHJcblxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1idWRvbmdjaGFuSGVpZ2h0TGV2ZWwvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///102\n");
730
731/***/ }),
732/* 103 */
733/***/ (function(module, exports, __webpack_require__) {
734
735"use strict";
736eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(18);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(324);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nvar _toolService = __webpack_require__(14);\n\nvar _toolService2 = _interopRequireDefault(_toolService);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeShowFlag',\n name: 'main-tool-editor-type-showFlag',\n data: function data() {\n return {\n val: false,\n propList: [],\n arrList: []\n };\n },\n mounted: function mounted() {\n this.initCurrtField();\n },\n\n computed: {\n getPropList: function getPropList() {},\n getArrList: function getArrList() {\n debugger;\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n if (!currentInstance.data.extend.showFlag) {\n currentInstance.data.extend.showFlag = [];\n }\n return currentInstance.data.extend.showFlag;\n },\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n }\n },\n methods: {\n typeChange: function typeChange(val) {\n debugger;\n this.into = false;\n this.isShow = false;\n switch (val) {\n case \"out\":\n {}break;\n case \"into\":\n {\n this.into = true;\n }break;\n case \"isShow\":\n {\n this.isShow = true;\n }break;\n\n }\n },\n delArr: function delArr(index) {\n this.$store.commit('viewport/delShowFlagEventArr', { index: index });\n },\n addArr: function addArr() {\n this.$store.commit('viewport/addShowFlagEventArr', {});\n },\n initPropList: function initPropList() {\n if (localStorage.propInfo && localStorage.propInfo != \"undefined\") {\n var res = JSON.parse(localStorage.propInfo);\n var propArr = [];\n var targetArr = [];\n for (var propObj in res.prop) {\n propArr = [].concat((0, _toConsumableArray3.default)(propArr), (0, _toConsumableArray3.default)(res.prop[propObj]));\n }\n var mockData = [];\n if (localStorage.selectProp && localStorage.selectProp != \"undefined\") {\n var pageObj = eval('(' + localStorage.selectProp + ')');\n console.log(pageObj);\n\n propArr = [].concat((0, _toConsumableArray3.default)(propArr), (0, _toConsumableArray3.default)(pageObj));\n }\n this.propList = propArr;\n }\n },\n handleChange: function handleChange() {}\n },\n watch: {\n val: function val(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input1: function input1(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input2: function input2(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n },\n created: function created() {\n this.initPropList();\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLXNob3dGbGFnL2luZGV4LnZ1ZT8wYjkyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7SUE0QkEsVTs7QUFDQTs7QUFDQTs7Ozs7Ozs7a0JBRUE7QUFDQSwyQ0FDQSxVQURBLENBREE7QUFJQSxvREFKQTtBQUtBLDBDQUxBO0FBTUEsMENBTkE7QUFPQSxRQVBBLGtCQU9BO0FBQ0E7QUFDQSxzQkFEQTtBQUVBLHdCQUZBO0FBR0E7QUFIQTtBQUtBLEtBYkE7QUFjQSxXQWRBLHFCQWNBO0FBQ0E7QUFDQSxLQWhCQTs7QUFpQkE7QUFhQSxtQkFiQSx5QkFhQSxDQUVBLENBZkE7QUFnQkEsa0JBaEJBLHdCQWdCQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQXhCQTtBQXlCQSx3QkF6QkEsOEJBeUJBO0FBQ0E7QUFDQSxTQTNCQTtBQTRCQSxxQkE1QkEsMkJBNEJBO0FBQ0E7QUFDQTtBQTlCQSxLQWpCQTtBQWlEQTtBQUNBLGtCQURBLHNCQUNBLEdBREEsRUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQSxxQkFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBVEE7QUFZQSxTQWpCQTtBQWtCQSxjQWxCQSxrQkFrQkEsS0FsQkEsRUFrQkE7QUFDQTtBQUNBLFNBcEJBO0FBcUJBLGNBckJBLG9CQXFCQTtBQUNBO0FBQ0EsU0F2QkE7QUF5QkEsb0JBekJBLDBCQXlCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFFQSxTQTVDQTtBQTZDQSxvQkE3Q0EsMEJBNkNBLENBRUE7QUEvQ0EsS0FqREE7QUFrR0E7QUFDQSxXQURBLGVBQ0EsQ0FEQSxFQUNBLENBREEsRUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FOQTtBQU9BLGNBUEEsa0JBT0EsQ0FQQSxFQU9BLENBUEEsRUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FaQTtBQWFBLGNBYkEsa0JBYUEsQ0FiQSxFQWFBLENBYkEsRUFhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFsQkEsS0FsR0E7QUFzSEEsV0F0SEEscUJBc0hBO0FBQ0E7QUFDQTtBQXhIQSxDIiwiZmlsZSI6IjEwMy5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJtYWluLVN0eWxlXCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiA+XHJcbiAgICAgICAgPENvbnRhaW5lcj5cclxuICAgICAgICAgICAgPEJ1dHRvbiBAY2xpY2s9XCJhZGRBcnIoKVwiIHR5cGU9XCJzdWNjZXNzXCI+5re75YqgPC9CdXR0b24+XHJcbiAgICAgICAgPC9Db250YWluZXI+XHJcbiAgICAgICAgPHVsIGNsYXNzPVwibWFpbi11bFwiPlxyXG4gICAgICAgICAgICA8bGkgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gZ2V0QXJyTGlzdFwiIGNsYXNzPVwibWFpbi1saVwiID5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWRpdlwiID5cclxuICAgICAgICAgICAgICAgICAgICA8TGFiZWwgY2xhc3M9XCJtYWluLWxpLWxhYmVsXCIgPuWFs+iBlOWxnuaApzwvTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPFNlbGVjdCB2LW1vZGVsPVwiaXRlbS5rZXlcIiBjbGFzcz1cIm1haW4tbGktaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8T3B0aW9uIHYtZm9yPVwiaXRlbSBpbiBwcm9wTGlzdFwiIDp2YWx1ZT1cIml0ZW0uYnVzaU5hbWVcIiA6a2V5PVwiaXRlbS5idXNpTmFtZVwiPnt7IGl0ZW0uYnVzaURlc2MgfX08L09wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdD48IS0tPElucHV0IHYtbW9kZWw9XCJpdGVtLmNoYW5nZUtleVwiIC8+LS0+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgIGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8TGFiZWwgY2xhc3M9XCJtYWluLWxpLWxhYmVsXCI+5YC8PC9MYWJlbD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxJbnB1dCBjbGFzcz1cIm1haW4tbGktaXRlbVwiIGNsZWFyYWJsZSB2LW1vZGVsPVwiaXRlbS52YWx1ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWJ0blwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b24gIEBjbGljaz1cImRlbEFycihpbmRleClcIiB0eXBlPVwiZXJyb3JcIj7liKDpmaTlvZPliY3mlbDnu4Q8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbmltcG9ydCB7UHJvcGVydHlNaXhpbn0gZnJvbSAnLi4vLi4vc2VydmljZS9tYWluLXRvb2wtZWRpdG9yLXR5cGUtbWl4aW4nO1xyXG5pbXBvcnQgU2VydmljZSBmcm9tIFwiLi4vLi4vc2VydmljZS90b29sLXNlcnZpY2VcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICAgIGNvbXBvbmVudHM6IHtcclxuICAgICAgICAuLi5jb21wb25lbnRzXHJcbiAgICB9LFxyXG4gICAgbWl4aW5zOiBbUHJvcGVydHlNaXhpbl0sXHJcbiAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yVHlwZVNob3dGbGFnJyxcclxuICAgIG5hbWU6ICdtYWluLXRvb2wtZWRpdG9yLXR5cGUtc2hvd0ZsYWcnLFxyXG4gICAgZGF0YSAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdmFsOiBmYWxzZSxcclxuICAgICAgICAgICAgcHJvcExpc3Q6W10sXHJcbiAgICAgICAgICAgIGFyckxpc3Q6W11cclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIG1vdW50ZWQgKCkge1xyXG4gICAgICAgIHRoaXMuaW5pdEN1cnJ0RmllbGQoKTtcclxuICAgIH0sXHJcbiAgICBjb21wdXRlZDoge1xyXG4gICAgICAgIC8qZ2V0Q2hpbGRMaXN0KCl7XHJcblxyXG4gICAgICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAvLyDkuLrkuovku7bmlrDlop7kuIDpoblcclxuICAgICAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5saW5rYWdlQ2hhbmdlVmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmxpbmthZ2VDaGFuZ2VWYWx1ZSA9IFtdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEubGlua2FnZUNoYW5nZVZhbHVlLnZhbHVlcykge1xyXG4gICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEubGlua2FnZUNoYW5nZVZhbHVlLnZhbHVlcyA9IFtdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50SW5zdGFuY2UuZGF0YS5saW5rYWdlQ2hhbmdlVmFsdWUudmFsdWVzO1xyXG4gICAgICAgIH0sKi9cclxuICAgICAgICBnZXRQcm9wTGlzdCgpe1xyXG5cclxuICAgICAgICB9LFxyXG4gICAgICAgIGdldEFyckxpc3QoKXtcclxuICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcy5nZXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4dGVuZC5zaG93RmxhZykge1xyXG4gICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEuZXh0ZW5kLnNob3dGbGFnID0gW107XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4dGVuZC5zaG93RmxhZztcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFwcGxpY2F0aW9uU3RhdGUgKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUuYXBwbGljYXRpb247XHJcbiAgICAgICAgfSxcclxuICAgICAgICB2aWV3cG9ydFN0YXRlICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0O1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtZXRob2RzOiB7XHJcbiAgICAgICAgdHlwZUNoYW5nZSh2YWwpe1xyXG4gICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgdGhpcy5pbnRvPWZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmlzU2hvdz1mYWxzZTtcclxuICAgICAgICAgICAgc3dpdGNoICh2YWwpe1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcIm91dFwiOntcclxuXHJcbiAgICAgICAgICAgICAgICB9YnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwiaW50b1wiOntcclxuICAgICAgICAgICAgICAgICAgdGhpcy5pbnRvPXRydWU7XHJcbiAgICAgICAgICAgICAgICB9YnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwiaXNTaG93XCI6e1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTaG93PXRydWU7XHJcbiAgICAgICAgICAgICAgICB9YnJlYWs7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBkZWxBcnIoaW5kZXgpe1xyXG4gICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L2RlbFNob3dGbGFnRXZlbnRBcnInLHtpbmRleDppbmRleH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgYWRkQXJyKCl7XHJcbiAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvYWRkU2hvd0ZsYWdFdmVudEFycicse30pO1xyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIGluaXRQcm9wTGlzdCgpe1xyXG4gICAgICAgICAgICBpZihsb2NhbFN0b3JhZ2UucHJvcEluZm8mJmxvY2FsU3RvcmFnZS5wcm9wSW5mbyE9XCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICAgICAgbGV0IHJlcyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLnByb3BJbmZvKTtcclxuICAgICAgICAgICAgICAgIGxldCBwcm9wQXJyID0gW107XHJcbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0QXJyID0gW107XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBwcm9wT2JqIGluIHJlcy5wcm9wKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvcEFyciA9IFsuLi5wcm9wQXJyLCAuLi5yZXMucHJvcFtwcm9wT2JqXV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgbW9ja0RhdGEgPSBbXTtcclxuICAgICAgICAgICAgICAgIGlmKGxvY2FsU3RvcmFnZS5zZWxlY3RQcm9wJiZsb2NhbFN0b3JhZ2Uuc2VsZWN0UHJvcCE9XCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBwYWdlT2JqID0gZXZhbCgnKCcgKyBsb2NhbFN0b3JhZ2Uuc2VsZWN0UHJvcCArICcpJyk7Ly9KU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwicGFnZVwiKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cocGFnZU9iaik7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gIHRpdGxlOlwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgcHJvcEFyciA9IFsuLi5wcm9wQXJyLCAuLi5wYWdlT2JqXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMucHJvcExpc3QgPSBwcm9wQXJyO1xyXG4gICAgICAgICAgICAgICAgLy99KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgIC8vIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaGFuZGxlQ2hhbmdlICgpIHtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIHdhdGNoOiB7XHJcbiAgICAgICAgdmFsIChuLCBvKSB7XHJcbiAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaW5wdXQxIChuLCBvKSB7XHJcbiAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaW5wdXQyIChuLCBvKSB7XHJcbiAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBjcmVhdGVkKCkge1xyXG4gICAgICAgIHRoaXMuaW5pdFByb3BMaXN0KCk7XHJcbiAgICB9XHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJsZXNzXCIgc2NvcGVkPlxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLXNob3dGbGFnL2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///103\n");
737
738/***/ }),
739/* 104 */
740/***/ (function(module, exports, __webpack_require__) {
741
742"use strict";
743eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(18);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(328);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nvar _toolService = __webpack_require__(14);\n\nvar _toolService2 = _interopRequireDefault(_toolService);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeValidateArr',\n name: 'main-tool-editor-type-validateArr',\n data: function data() {\n return {\n validateCustomeAllType: configPageIde.validateCustomeAllType,\n validateType: configPageIde.validateType,\n propList: [],\n triggerType: configPageIde.validateClick,\n custom: false,\n val: false,\n arrList: []\n };\n },\n mounted: function mounted() {\n this.initCurrtField();\n },\n\n computed: {\n getArrList: function getArrList() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n if (!currentInstance.data.validateArr) {\n currentInstance.data.validateArr = [];\n }\n return currentInstance.data.validateArr;\n },\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n }\n },\n methods: {\n typeChange: function typeChange(val) {\n debugger;\n this.custom = false;\n switch (val) {\n case \"custom\":\n {\n this.custom = true;\n }\n break;\n }\n },\n delArr: function delArr(index) {\n this.$store.commit('viewport/delValidateEventArr', { index: index });\n },\n addArr: function addArr() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n if (currentInstance.gaeaKey == \"gaea-input\") {\n if (currentInstance.data.extend.disabled == true) {\n this.$Notice.warning({\n title: '',\n desc: '当前文本框禁用,不能添加校验'\n });\n return \"\";\n }\n }\n this.$store.commit('viewport/addValidateEventArr', {});\n },\n addChildArr: function addChildArr(index) {\n\n this.$store.commit('viewport/addValidateEventChildArr', { index: index });\n },\n delChildArr: function delChildArr(parentIndex, index) {\n\n this.$store.commit('viewport/delValidateEventChildArr', { parentIndex: parentIndex, index: index });\n },\n handleChange: function handleChange() {},\n initPropList: function initPropList() {\n if (localStorage.propInfo && localStorage.propInfo != \"undefined\") {\n var res = JSON.parse(localStorage.propInfo);\n var propArr = [];\n var targetArr = [];\n for (var propObj in res.prop) {\n propArr = [].concat((0, _toConsumableArray3.default)(propArr), (0, _toConsumableArray3.default)(res.prop[propObj]));\n }\n var mockData = [];\n if (localStorage.selectProp && localStorage.selectProp != \"undefined\") {\n var pageObj = eval('(' + localStorage.selectProp + ')');\n propArr = [].concat((0, _toConsumableArray3.default)(propArr), (0, _toConsumableArray3.default)(pageObj));\n }\n this.propList = propArr;\n }\n }\n },\n watch: {\n val: function val(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input1: function input1(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input2: function input2(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n },\n created: function created() {\n this.initPropList();\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC12YWxpZGF0ZUFyci9pbmRleC52dWU/ZTA0ZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0lBa0hBLFU7O0FBQ0E7O0FBQ0E7Ozs7Ozs7O2tCQUVBO0FBQ0EsMkNBQ0EsVUFEQSxDQURBO0FBSUEsb0RBSkE7QUFLQSw2Q0FMQTtBQU1BLDZDQU5BO0FBT0EsUUFQQSxrQkFPQTtBQUNBO0FBQ0Esd0VBREE7QUFFQSxvREFGQTtBQUdBLHdCQUhBO0FBSUEsb0RBSkE7QUFLQSx5QkFMQTtBQU1BLHNCQU5BO0FBT0E7QUFQQTtBQVNBLEtBakJBO0FBa0JBLFdBbEJBLHFCQWtCQTtBQUNBO0FBQ0EsS0FwQkE7O0FBcUJBO0FBYUEsa0JBYkEsd0JBYUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBcEJBO0FBcUJBLHdCQXJCQSw4QkFxQkE7QUFDQTtBQUNBLFNBdkJBO0FBd0JBLHFCQXhCQSwyQkF3QkE7QUFDQTtBQUNBO0FBMUJBLEtBckJBO0FBaURBO0FBQ0Esa0JBREEsc0JBQ0EsR0FEQSxFQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBTUEsU0FWQTtBQVdBLGNBWEEsa0JBV0EsS0FYQSxFQVdBO0FBQ0E7QUFDQSxTQWJBO0FBY0EsY0FkQSxvQkFjQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBREE7QUFFQTtBQUZBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQTFCQTtBQTJCQSxtQkEzQkEsdUJBMkJBLEtBM0JBLEVBMkJBOztBQUVBO0FBS0EsU0FsQ0E7QUFtQ0EsbUJBbkNBLHVCQW1DQSxXQW5DQSxFQW1DQSxLQW5DQSxFQW1DQTs7QUFFQTtBQUtBLFNBMUNBO0FBMkNBLG9CQTNDQSwwQkEyQ0EsQ0FFQSxDQTdDQTtBQThDQSxvQkE5Q0EsMEJBOENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBL0RBLEtBakRBO0FBa0hBO0FBQ0EsV0FEQSxlQUNBLENBREEsRUFDQSxDQURBLEVBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBTkE7QUFPQSxjQVBBLGtCQU9BLENBUEEsRUFPQSxDQVBBLEVBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBWkE7QUFhQSxjQWJBLGtCQWFBLENBYkEsRUFhQSxDQWJBLEVBYUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBbEJBLEtBbEhBO0FBc0lBLFdBdElBLHFCQXNJQTtBQUNBO0FBQ0E7QUF4SUEsQyIsImZpbGUiOiIxMDQuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgPlxyXG4gICAgICAgIDxDb250YWluZXI+XHJcbiAgICAgICAgICAgIDxCdXR0b24gQGNsaWNrPVwiYWRkQXJyKClcIiB0eXBlPVwic3VjY2Vzc1wiPua3u+WKoDwvQnV0dG9uPlxyXG4gICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgICAgIDx1bCBjbGFzcz1cIm1haW4tdWxcIj5cclxuXHJcbiAgICAgICAgICAgIDxsaSB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBnZXRBcnJMaXN0XCIgY2xhc3M9XCJtYWluLWxpXCI+XHJcbiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgdi1pZj1cImluZGV4PT0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBjbGFzcz1cIm1haW4tbGktbGFiZWxcIj7mmK/lkKblv4Xloas8L0xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aS1zd2l0Y2ggIGNsYXNzPVwibWFpbi1saS1pdGVtLXN3aXRjaFwiIHYtbW9kZWw9XCJpdGVtLnJlcXVpcmVkXCIgPjwvaS1zd2l0Y2g+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBjbGFzcz1cIm1haW4tbGktbGFiZWxcIj7mj5DnpLrkv6Hmga88L0xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXQgY2xhc3M9XCJtYWluLWxpLWl0ZW1cIiBjbGVhcmFibGUgdi1tb2RlbD1cIml0ZW0ubWVzc2FnZVwiICAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSB2LWVsc2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBjbGFzcz1cIm1haW4tbGktbGFiZWxcIj7mj5DnpLrkv6Hmga88L0xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXQgY2xhc3M9XCJtYWluLWxpLWl0ZW1cIiBjbGVhcmFibGUgdi1tb2RlbD1cIml0ZW0ubWVzc2FnZVwiICAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8TGFiZWwgY2xhc3M9XCJtYWluLWxpLWxhYmVsXCI+5qCh6aqM57G75Z6LPC9MYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdCBjbGFzcz1cIm1haW4tbGktaXRlbVwiIHYtbW9kZWw9XCJpdGVtLnR5cGVcIiAgQG9uLWNoYW5nZT1cInR5cGVDaGFuZ2UoaXRlbS50eXBlKVwiIGNsZWFyYWJsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxPcHRpb24gdi1mb3I9XCJpdGVtMSBpbiB2YWxpZGF0ZVR5cGVcIiA6dmFsdWU9XCJpdGVtMS52YWx1ZVwiIDprZXk9XCJpdGVtMS52YWx1ZVwiIGNsYXNzPVwibWFpbi1saS1pdGVtLW9wdGlvblwiPnt7IGl0ZW0xLmtleSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9PcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgdi1pZj1cImN1c3RvbVwiIGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGNsYXNzPVwibWFpbi1saS1sYWJlbFwiPua7oei2s+WFqOmDqOWFs+iBlOadoeS7tjwvTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiB2LWlmPVwiY3VzdG9tXCIgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0IGNsYXNzPVwibWFpbi1saS1pdGVtXCIgdi1tb2RlbD1cIml0ZW0uY3VzdG9tVHlwZVwiIGNsZWFyYWJsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxPcHRpb24gdi1mb3I9XCJpdGVtMSBpbiB2YWxpZGF0ZUN1c3RvbWVBbGxUeXBlXCIgOnZhbHVlPVwiaXRlbTEudmFsdWVcIiA6a2V5PVwiaXRlbTEudmFsdWVcIj57e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0xLmtleSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9PcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgdi1pZj1cImN1c3RvbVwiICBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBjbGFzcz1cIm1haW4tbGktbGFiZWxcIj7oh6rlrprkuYnmoKHpqoznsbvlnos8L0xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgdi1pZj1cImN1c3RvbVwiICBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3QgY2xhc3M9XCJtYWluLWxpLWl0ZW1cIiB2LW1vZGVsPVwiaXRlbS52YWxpZGF0ZVR5cGVcIiBjbGVhcmFibGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8T3B0aW9uIHYtZm9yPVwiaXRlbTEgaW4gdmFsaWRhdGVUeXBlXCIgOnZhbHVlPVwiaXRlbTEudmFsdWVcIiA6a2V5PVwiaXRlbTEudmFsdWVcIiAgY2xhc3M9XCJtYWluLWxpLWl0ZW0tb3B0aW9uXCI+e3sgaXRlbTEua2V5IH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L09wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBjbGFzcz1cIm1haW4tbGktbGFiZWxcIj7op6blj5HmlrnlvI88L0xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0IGNsYXNzPVwibWFpbi1saS1pdGVtXCIgdi1tb2RlbD1cIml0ZW0udHJpZ2dlclwiIGNsZWFyYWJsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxPcHRpb24gdi1mb3I9XCJpdGVtMSBpbiB0cmlnZ2VyVHlwZVwiIDp2YWx1ZT1cIml0ZW0xLnZhbHVlXCIgOmtleT1cIml0ZW0xLnZhbHVlXCI+e3sgaXRlbTEua2V5IH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L09wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgPCEtLSAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8TGFiZWwgY2xhc3M9XCJtYWluLWxpLWxhYmVsXCI+5LiN6IO96LaF6L+H55qE5bm05oiW5aSp5pWwPC9MYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0TnVtYmVyIGNsYXNzPVwibWFpbi1saS1pdGVtLWlucHV0TnVtYmVyXCIgY2xlYXJhYmxlIHYtbW9kZWw9XCJpdGVtLnJhbmdlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGNsYXNzPVwibWFpbi1saS1sYWJlbFwiPui2hei/h1wi5bm0XCLmiJZcIuWkqVwiPC9MYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0IGNsYXNzPVwibWFpbi1saS1pdGVtXCIgY2xlYXJhYmxlIHYtbW9kZWw9XCJpdGVtLnVuaXRcIiAgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4tLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1saS1idG5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBAY2xpY2s9XCJkZWxBcnIoaW5kZXgpXCIgdHlwZT1cImVycm9yXCI+5Yig6Zmk5b2T5YmN5qCh6aqMPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktYnRuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gQGNsaWNrPVwiYWRkQ2hpbGRBcnIoaW5kZXgpXCIgdHlwZT1cInN1Y2Nlc3NcIj7mt7vliqDogZTliqjmoKHpqow8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJtYWluLXVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSB2LWZvcj1cIihpdGVtMSxpbmRleDEpIGluIGl0ZW0ucmVxdWlyZUtleVZhbHVlc1wiIGNsYXNzPVwibWFpbi1saVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBjbGFzcz1cIm1haW4tbGktbGFiZWxcIj7lhbPogZTlsZ7mgKc8L0xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0IHYtbW9kZWw9XCJpdGVtMS5rZXlcIiBjbGFzcz1cIm1haW4tbGktaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8T3B0aW9uIHYtZm9yPVwiaXRlbSBpbiBwcm9wTGlzdFwiIDp2YWx1ZT1cIml0ZW0uYnVzaU5hbWVcIiA6a2V5PVwiaXRlbS5idXNpTmFtZVwiPnt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmJ1c2lEZXNjIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvT3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0PjwhLS0gPElucHV0IHYtbW9kZWw9XCJpdGVtMS5jaGFuZ2VQYXJhbVwiIC8+LS0+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGFiZWwgY2xhc3M9XCJtYWluLWxpLWxhYmVsXCI+5YC8PC9MYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0IGNsYXNzPVwibWFpbi1saS1pdGVtXCIgY2xlYXJhYmxlIHYtbW9kZWw9XCJpdGVtMS52YWx1ZXNcIiBwbGFjZWhvbGRlcj1cIua3u+WKoOWGheWuue+8jOWmguaenOaYr+aVsOe7hO+8jOS7pemAl+WPt+WIhuW8gFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktYnRuLWNoaWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBAY2xpY2s9XCJkZWxDaGlsZEFycihpbmRleCxpbmRleDEpXCIgdHlwZT1cImVycm9yXCI+5Yig6Zmk6IGU5Yqo5qCh6aqMPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgPC91bD5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIGltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbiAgICBpbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuICAgIGltcG9ydCBTZXJ2aWNlIGZyb20gXCIuLi8uLi9zZXJ2aWNlL3Rvb2wtc2VydmljZVwiO1xyXG5cclxuICAgIGV4cG9ydCBkZWZhdWx0IHtcclxuICAgICAgICBjb21wb25lbnRzOiB7XHJcbiAgICAgICAgICAgIC4uLmNvbXBvbmVudHMsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBtaXhpbnM6IFtQcm9wZXJ0eU1peGluXSxcclxuICAgICAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yVHlwZVZhbGlkYXRlQXJyJyxcclxuICAgICAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLXZhbGlkYXRlQXJyJyxcclxuICAgICAgICBkYXRhKCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgdmFsaWRhdGVDdXN0b21lQWxsVHlwZTogY29uZmlnUGFnZUlkZS52YWxpZGF0ZUN1c3RvbWVBbGxUeXBlLFxyXG4gICAgICAgICAgICAgICAgdmFsaWRhdGVUeXBlOiBjb25maWdQYWdlSWRlLnZhbGlkYXRlVHlwZSxcclxuICAgICAgICAgICAgICAgIHByb3BMaXN0OiBbXSxcclxuICAgICAgICAgICAgICAgIHRyaWdnZXJUeXBlOiBjb25maWdQYWdlSWRlLnZhbGlkYXRlQ2xpY2ssXHJcbiAgICAgICAgICAgICAgICBjdXN0b206IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgdmFsOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGFyckxpc3Q6IFtdXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtb3VudGVkKCkge1xyXG4gICAgICAgICAgICB0aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wdXRlZDoge1xyXG4gICAgICAgICAgICAvKmdldENoaWxkTGlzdCgpe1xyXG5cclxuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcy5nZXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgICAgICAvLyDkuLrkuovku7bmlrDlop7kuIDpoblcclxuICAgICAgICAgICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEubGlua2FnZUNoYW5nZVZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEubGlua2FnZUNoYW5nZVZhbHVlID0gW107XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLmxpbmthZ2VDaGFuZ2VWYWx1ZS52YWx1ZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5saW5rYWdlQ2hhbmdlVmFsdWUudmFsdWVzID0gW107XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudEluc3RhbmNlLmRhdGEubGlua2FnZUNoYW5nZVZhbHVlLnZhbHVlcztcclxuICAgICAgICAgICAgfSwqL1xyXG4gICAgICAgICAgICBnZXRBcnJMaXN0KCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZSA9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcy5nZXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgICAgICAvLyDkuLrkuovku7bmlrDlop7kuIDpoblcclxuICAgICAgICAgICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEudmFsaWRhdGVBcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS52YWxpZGF0ZUFyciA9IFtdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnZhbGlkYXRlQXJyO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBhcHBsaWNhdGlvblN0YXRlKCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB2aWV3cG9ydFN0YXRlKCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtZXRob2RzOiB7XHJcbiAgICAgICAgICAgIHR5cGVDaGFuZ2UodmFsKSB7XHJcbiAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHZhbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgXCJjdXN0b21cIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmN1c3RvbSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZGVsQXJyKGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L2RlbFZhbGlkYXRlRXZlbnRBcnInLCB7aW5kZXg6IGluZGV4fSk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGFkZEFycigpIHtcclxuICAgICAgICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlID0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzLmdldCh0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgICBpZihjdXJyZW50SW5zdGFuY2UuZ2FlYUtleT09XCJnYWVhLWlucHV0XCIpe1xyXG4gICAgICAgICAgICAgICAgaWYoY3VycmVudEluc3RhbmNlLmRhdGEuZXh0ZW5kLmRpc2FibGVkPT10cnVlKXtcclxuICAgICAgICAgICAgICAgICAgdGhpcy4kTm90aWNlLndhcm5pbmcoe1xyXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnJyxcclxuICAgICAgICAgICAgICAgICAgICBkZXNjOiAn5b2T5YmN5paH5pys5qGG56aB55SoLOS4jeiDvea3u+WKoOagoemqjCdcclxuICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L2FkZFZhbGlkYXRlRXZlbnRBcnInLCB7fSk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGFkZENoaWxkQXJyKGluZGV4KSB7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9hZGRWYWxpZGF0ZUV2ZW50Q2hpbGRBcnInLCB7aW5kZXg6IGluZGV4fSk7XHJcbiAgICAgICAgICAgICAgICAvKiAgdGhpcy5hcnJMaXN0LnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6IFwiaW5wdXQxXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246IFwiaW5wdXQyXCJcclxuICAgICAgICAgICAgICAgICAgIH0pKi9cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZGVsQ2hpbGRBcnIocGFyZW50SW5kZXgsIGluZGV4KSB7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9kZWxWYWxpZGF0ZUV2ZW50Q2hpbGRBcnInLCB7cGFyZW50SW5kZXg6IHBhcmVudEluZGV4LCBpbmRleDogaW5kZXh9KTtcclxuICAgICAgICAgICAgICAgIC8qICB0aGlzLmFyckxpc3QucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogXCJpbnB1dDFcIixcclxuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogXCJpbnB1dDJcIlxyXG4gICAgICAgICAgICAgICAgICAgfSkqL1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBoYW5kbGVDaGFuZ2UoKSB7XHJcblxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBpbml0UHJvcExpc3QoKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobG9jYWxTdG9yYWdlLnByb3BJbmZvICYmIGxvY2FsU3RvcmFnZS5wcm9wSW5mbyAhPSBcInVuZGVmaW5lZFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHJlcyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLnByb3BJbmZvKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgcHJvcEFyciA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB0YXJnZXRBcnIgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBwcm9wT2JqIGluIHJlcy5wcm9wKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BBcnIgPSBbLi4ucHJvcEFyciwgLi4ucmVzLnByb3BbcHJvcE9ial1dO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBsZXQgbW9ja0RhdGEgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAobG9jYWxTdG9yYWdlLnNlbGVjdFByb3AgJiYgbG9jYWxTdG9yYWdlLnNlbGVjdFByb3AgIT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgcGFnZU9iaiA9IGV2YWwoJygnICsgbG9jYWxTdG9yYWdlLnNlbGVjdFByb3AgKyAnKScpOy8vSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInBhZ2VcIikpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAgdGl0bGU6XCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcEFyciA9IFsuLi5wcm9wQXJyLCAuLi5wYWdlT2JqXTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wTGlzdCA9IHByb3BBcnI7XHJcbiAgICAgICAgICAgICAgICAgICAgLy99KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHdhdGNoOiB7XHJcbiAgICAgICAgICAgIHZhbChuLCBvKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobiA9PT0gbykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaW5wdXQxKG4sIG8pIHtcclxuICAgICAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBpbnB1dDIobiwgbykge1xyXG4gICAgICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGNyZWF0ZWQoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdFByb3BMaXN0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgbGFuZz1cImxlc3NcIiBzY29wZWQ+XHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXZhbGlkYXRlQXJyL2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///104\n");
744
745/***/ }),
746/* 105 */
747/***/ (function(module, exports, __webpack_require__) {
748
749"use strict";
750eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(18);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(332);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nvar _toolService = __webpack_require__(14);\n\nvar _toolService2 = _interopRequireDefault(_toolService);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeLinkageChangeValue',\n name: 'main-tool-editor-type-linkageChangeValue',\n data: function data() {\n return {\n val: false,\n propList: [],\n typeList: [{\n value: 'out',\n label: '外部 out'\n }, {\n value: 'into',\n label: '内部 into'\n }, {\n value: 'isShow',\n label: '是否显示 isShow'\n }],\n isShow: false,\n out: true,\n into: false,\n arrList: []\n };\n },\n mounted: function mounted() {\n this.initCurrtField();\n },\n\n computed: {\n getPropList: function getPropList() {},\n getArrList: function getArrList() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n if (!currentInstance.data.extend.linkageChangeValue) {\n currentInstance.data.extend.linkageChangeValue = [];\n }\n return currentInstance.data.extend.linkageChangeValue;\n },\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n }\n },\n methods: {\n typeChange: function typeChange(val) {\n debugger;\n this.into = false;\n this.isShow = false;\n switch (val) {\n case \"out\":\n {}\n break;\n case \"into\":\n {\n this.into = true;\n }\n break;\n case \"isShow\":\n {\n this.isShow = true;\n }\n break;\n\n }\n },\n delArr: function delArr(index) {\n this.$store.commit('viewport/delLinkEventArr', { index: index });\n },\n delChildArr: function delChildArr(parentIndex, index) {\n\n this.$store.commit('viewport/delLinkEventChildArr', { parentIndex: parentIndex, index: index });\n },\n addArr: function addArr() {\n this.$store.commit('viewport/addLinkEventArr', {});\n },\n addChildArr: function addChildArr(index) {\n\n this.$store.commit('viewport/addLinkEventChildArr', { index: index });\n },\n initPropList: function initPropList() {\n if (localStorage.propInfo && localStorage.propInfo != \"undefined\") {\n var res = JSON.parse(localStorage.propInfo);\n var propArr = [];\n var targetArr = [];\n for (var propObj in res.prop) {\n propArr = [].concat((0, _toConsumableArray3.default)(propArr), (0, _toConsumableArray3.default)(res.prop[propObj]));\n }\n var mockData = [];\n if (localStorage.selectProp && localStorage.selectProp != \"undefined\") {\n var pageObj = eval('(' + localStorage.selectProp + ')');\n propArr = [].concat((0, _toConsumableArray3.default)(propArr), (0, _toConsumableArray3.default)(pageObj));\n }\n this.propList = propArr;\n }\n },\n handleChange: function handleChange() {}\n },\n watch: {\n val: function val(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input1: function input1(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input2: function input2(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n },\n created: function created() {\n this.initPropList();\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1saW5rYWdlQ2hhbmdlVmFsdWUvaW5kZXgudnVlP2JlZWQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztJQXFGQSxVOztBQUNBOztBQUNBOzs7Ozs7OztrQkFFQTtBQUNBLDJDQUNBLFVBREEsQ0FEQTtBQUlBLG9EQUpBO0FBS0Esb0RBTEE7QUFNQSxvREFOQTtBQU9BLFFBUEEsa0JBT0E7QUFDQTtBQUNBLHNCQURBO0FBRUEsd0JBRkE7QUFHQTtBQUNBLDRCQURBO0FBRUE7QUFGQSxlQUlBO0FBQ0EsNkJBREE7QUFFQTtBQUZBLGFBSkEsRUFRQTtBQUNBLCtCQURBO0FBRUE7QUFGQSxhQVJBLENBSEE7QUFlQSx5QkFmQTtBQWdCQSxxQkFoQkE7QUFpQkEsdUJBakJBO0FBa0JBO0FBbEJBO0FBb0JBLEtBNUJBO0FBNkJBLFdBN0JBLHFCQTZCQTtBQUNBO0FBQ0EsS0EvQkE7O0FBZ0NBO0FBYUEsbUJBYkEseUJBYUEsQ0FFQSxDQWZBO0FBZ0JBLGtCQWhCQSx3QkFnQkE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBdkJBO0FBd0JBLHdCQXhCQSw4QkF3QkE7QUFDQTtBQUNBLFNBMUJBO0FBMkJBLHFCQTNCQSwyQkEyQkE7QUFDQTtBQUNBO0FBN0JBLEtBaENBO0FBK0RBO0FBQ0Esa0JBREEsc0JBQ0EsR0FEQSxFQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBLHFCQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7QUFaQTtBQWVBLFNBcEJBO0FBcUJBLGNBckJBLGtCQXFCQSxLQXJCQSxFQXFCQTtBQUNBO0FBS0EsU0EzQkE7QUE0QkEsbUJBNUJBLHVCQTRCQSxXQTVCQSxFQTRCQSxLQTVCQSxFQTRCQTs7QUFFQTtBQUtBLFNBbkNBO0FBb0NBLGNBcENBLG9CQW9DQTtBQUNBO0FBS0EsU0ExQ0E7QUEyQ0EsbUJBM0NBLHVCQTJDQSxLQTNDQSxFQTJDQTs7QUFFQTtBQUtBLFNBbERBO0FBbURBLG9CQW5EQSwwQkFtREE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0EsU0FyRUE7QUFzRUEsb0JBdEVBLDBCQXNFQSxDQUVBO0FBeEVBLEtBL0RBO0FBeUlBO0FBQ0EsV0FEQSxlQUNBLENBREEsRUFDQSxDQURBLEVBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBTkE7QUFPQSxjQVBBLGtCQU9BLENBUEEsRUFPQSxDQVBBLEVBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBWkE7QUFhQSxjQWJBLGtCQWFBLENBYkEsRUFhQSxDQWJBLEVBYUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBbEJBLEtBeklBO0FBNkpBLFdBN0pBLHFCQTZKQTtBQUNBO0FBQ0E7QUEvSkEsQyIsImZpbGUiOiIxMDUuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCU7XCI+XHJcbiAgICAgICAgPENvbnRhaW5lcj5cclxuICAgICAgICAgICAgPEJ1dHRvbiBAY2xpY2s9XCJhZGRBcnIoKVwiIHR5cGU9XCJzdWNjZXNzXCI+5re75YqgPC9CdXR0b24+XHJcbiAgICAgICAgPC9Db250YWluZXI+XHJcbiAgICAgICAgPHVsIGNsYXNzPVwibWFpbi11bFwiPlxyXG4gICAgICAgICAgICA8bGkgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gZ2V0QXJyTGlzdFwiIGNsYXNzPVwibWFpbi1saVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPExhYmVsIGNsYXNzPVwibWFpbi1saS1sYWJlbFwiPuexu+WeizwvTGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxTZWxlY3QgY2xhc3M9XCJtYWluLWxpLWl0ZW1cIiB2LW1vZGVsPVwiaXRlbS50eXBlXCIgY2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG9uLWNoYW5nZT1cInR5cGVDaGFuZ2UoaXRlbS50eXBlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8T3B0aW9uIHYtZm9yPVwiaXRlbSBpbiB0eXBlTGlzdFwiIDp2YWx1ZT1cIml0ZW0udmFsdWVcIiA6a2V5PVwiaXRlbS52YWx1ZVwiPnt7IGl0ZW0ubGFiZWwgfX08L09wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPExhYmVsIGNsYXNzPVwibWFpbi1saS1sYWJlbFwiPumcgOimgeaUueWPmOeahOWAvDwvTGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxTZWxlY3QgY2xhc3M9XCJtYWluLWxpLWl0ZW1cIiB2LW1vZGVsPVwiaXRlbS5jaGFuZ2VLZXlcIiBjbGVhcmFibGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxPcHRpb24gdi1mb3I9XCJpdGVtIGluIHByb3BMaXN0XCIgOnZhbHVlPVwiaXRlbS5idXNpTmFtZVwiIDprZXk9XCJpdGVtLmJ1c2lOYW1lXCI+e3sgaXRlbS5idXNpRGVzYyB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L09wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiB2LWlmPVwiaXNTaG93XCIgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxMYWJlbCBjbGFzcz1cIm1haW4tbGktbGFiZWxcIj7ljLnphY3nmoTlgLw8L0xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IHYtaWY9XCJpc1Nob3dcIiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPElucHV0IGNsYXNzPVwibWFpbi1saS1pdGVtXCIgY2xlYXJhYmxlIHYtbW9kZWw9XCJpdGVtLnNob3dWYWx1ZVwiLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktYnRuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBAY2xpY2s9XCJkZWxBcnIoaW5kZXgpXCIgdHlwZT1cImVycm9yXCI+5Yig6Zmk5b2T5YmN5pWw57uEPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWJ0blwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b24gQGNsaWNrPVwiYWRkQ2hpbGRBcnIoaW5kZXgpXCIgdHlwZT1cInN1Y2Nlc3NcIj7mt7vliqDlrZDpm4bmlbDnu4Q8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwibWFpbi11bFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSB2LWZvcj1cIihpdGVtMSxpbmRleDEpIGluIGl0ZW0udmFsdWVzXCIgY2xhc3M9XCJtYWluLWxpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGNsYXNzPVwibWFpbi1saS1sYWJlbFwiPuWOn+Wni+WxnuaAp+WAvDwvTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3QgY2xhc3M9XCJtYWluLWxpLWl0ZW1cIiB2LW1vZGVsPVwiaXRlbTEuY2hhbmdlUGFyYW1cIiBjbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBvbi1jaGFuZ2U9XCJ0eXBlQ2hhbmdlKGl0ZW0udHlwZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8T3B0aW9uIHYtZm9yPVwiaXRlbSBpbiBwcm9wTGlzdFwiIDp2YWx1ZT1cIml0ZW0uYnVzaU5hbWVcIiA6a2V5PVwiaXRlbS5idXNpTmFtZVwiPnt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uYnVzaURlc2MgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L09wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiB2LWlmPVwiaW50b1wiIGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBjbGFzcz1cIm1haW4tbGktbGFiZWxcIj7kvp3otZbnmoTlgLw8L0xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiB2LWlmPVwiaW50b1wiIGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dCBjbGFzcz1cIm1haW4tbGktaXRlbVwiIGNsZWFyYWJsZSB2LW1vZGVsPVwiaXRlbTEuZGVwZW5kVmFsdWVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHYtaWY9XCJpc1Nob3dcIiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGFiZWwgY2xhc3M9XCJtYWluLWxpLWxhYmVsXCI+5pS55Y+Y55qE5YC8PC9MYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgdi1pZj1cImlzU2hvd1wiIGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpLXN3aXRjaCBjbGFzcz1cIm1haW4tbGktaXRlbS1zd2l0Y2hcIiAgdi1tb2RlbD1cIml0ZW0xLmNoYW5nZVZhbHVlXCI+PC9pLXN3aXRjaD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgdi1pZj1cImludG9cIiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGFiZWwgY2xhc3M9XCJtYWluLWxpLWxhYmVsXCI+5piv5ZCm5Y+q6K+7PC9MYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgdi1pZj1cImludG9cIiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aS1zd2l0Y2ggY2xhc3M9XCJtYWluLWxpLWl0ZW0tc3dpdGNoXCIgdi1tb2RlbD1cIml0ZW0xLmNoYW5nZUF0dHJzLnJlYWRvbmx5XCI+PC9pLXN3aXRjaD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgdi1pZj1cImludG9cIiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGFiZWwgY2xhc3M9XCJtYWluLWxpLWxhYmVsXCI+5piv5ZCm5riF6ZmkPC9MYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgdi1pZj1cImludG9cIiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aS1zd2l0Y2ggY2xhc3M9XCJtYWluLWxpLWl0ZW0tc3dpdGNoXCIgdi1tb2RlbD1cIml0ZW0xLmNoYW5nZUF0dHJzLmNsZWFyYWJsZVwiPjwvaS1zd2l0Y2g+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1saS1idG4tY2hpbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gQGNsaWNrPVwiZGVsQ2hpbGRBcnIoaW5kZXgsaW5kZXgxKVwiIHR5cGU9XCJlcnJvclwiPuWIoOmZpOWtkOmbhuaVsOe7hDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICA8L3VsPlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG4gICAgaW1wb3J0ICogYXMgY29tcG9uZW50cyBmcm9tICcuL3N0eWxlJztcclxuICAgIGltcG9ydCB7UHJvcGVydHlNaXhpbn0gZnJvbSAnLi4vLi4vc2VydmljZS9tYWluLXRvb2wtZWRpdG9yLXR5cGUtbWl4aW4nO1xyXG4gICAgaW1wb3J0IFNlcnZpY2UgZnJvbSBcIi4uLy4uL3NlcnZpY2UvdG9vbC1zZXJ2aWNlXCI7XHJcblxyXG4gICAgZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgICAgIGNvbXBvbmVudHM6IHtcclxuICAgICAgICAgICAgLi4uY29tcG9uZW50c1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWl4aW5zOiBbUHJvcGVydHlNaXhpbl0sXHJcbiAgICAgICAgcG9zaXRpb246ICdtYWluVG9vbEVkaXRvclR5cGVMaW5rYWdlQ2hhbmdlVmFsdWUnLFxyXG4gICAgICAgIG5hbWU6ICdtYWluLXRvb2wtZWRpdG9yLXR5cGUtbGlua2FnZUNoYW5nZVZhbHVlJyxcclxuICAgICAgICBkYXRhKCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgdmFsOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIHByb3BMaXN0OiBbXSxcclxuICAgICAgICAgICAgICAgIHR5cGVMaXN0OiBbe1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnb3V0JyxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ+WklumDqCBvdXQnXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdpbnRvJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICflhoXpg6ggaW50bydcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdpc1Nob3cnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ+aYr+WQpuaYvuekuiBpc1Nob3cnXHJcbiAgICAgICAgICAgICAgICAgICAgfV0sXHJcbiAgICAgICAgICAgICAgICBpc1Nob3c6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgb3V0OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgaW50bzogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBhcnJMaXN0OiBbXVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbW91bnRlZCgpIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0Q3VycnRGaWVsZCgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICAgICAgLypnZXRDaGlsZExpc3QoKXtcclxuXHJcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgLy8g5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLmxpbmthZ2VDaGFuZ2VWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmxpbmthZ2VDaGFuZ2VWYWx1ZSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5saW5rYWdlQ2hhbmdlVmFsdWUudmFsdWVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEubGlua2FnZUNoYW5nZVZhbHVlLnZhbHVlcyA9IFtdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmxpbmthZ2VDaGFuZ2VWYWx1ZS52YWx1ZXM7XHJcbiAgICAgICAgICAgIH0sKi9cclxuICAgICAgICAgICAgZ2V0UHJvcExpc3QoKSB7XHJcblxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBnZXRBcnJMaXN0KCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZSA9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcy5nZXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgICAgICAvLyDkuLrkuovku7bmlrDlop7kuIDpoblcclxuICAgICAgICAgICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEuZXh0ZW5kLmxpbmthZ2VDaGFuZ2VWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4dGVuZC5saW5rYWdlQ2hhbmdlVmFsdWUgPSBbXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiBjdXJyZW50SW5zdGFuY2UuZGF0YS5leHRlbmQubGlua2FnZUNoYW5nZVZhbHVlO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBhcHBsaWNhdGlvblN0YXRlKCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB2aWV3cG9ydFN0YXRlKCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtZXRob2RzOiB7XHJcbiAgICAgICAgICAgIHR5cGVDaGFuZ2UodmFsKSB7XHJcbiAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW50byA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc1Nob3cgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHN3aXRjaCAodmFsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcIm91dFwiOiB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcImludG9cIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmludG8gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcImlzU2hvd1wiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTaG93ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZGVsQXJyKGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L2RlbExpbmtFdmVudEFycicsIHtpbmRleDogaW5kZXh9KTtcclxuICAgICAgICAgICAgICAgIC8qICB0aGlzLmFyckxpc3QucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogXCJpbnB1dDFcIixcclxuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogXCJpbnB1dDJcIlxyXG4gICAgICAgICAgICAgICAgICAgfSkqL1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBkZWxDaGlsZEFycihwYXJlbnRJbmRleCwgaW5kZXgpIHtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L2RlbExpbmtFdmVudENoaWxkQXJyJywge3BhcmVudEluZGV4OiBwYXJlbnRJbmRleCwgaW5kZXg6IGluZGV4fSk7XHJcbiAgICAgICAgICAgICAgICAvKiAgdGhpcy5hcnJMaXN0LnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6IFwiaW5wdXQxXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246IFwiaW5wdXQyXCJcclxuICAgICAgICAgICAgICAgICAgIH0pKi9cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYWRkQXJyKCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9hZGRMaW5rRXZlbnRBcnInLCB7fSk7XHJcbiAgICAgICAgICAgICAgICAvKiAgdGhpcy5hcnJMaXN0LnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6IFwiaW5wdXQxXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246IFwiaW5wdXQyXCJcclxuICAgICAgICAgICAgICAgICAgIH0pKi9cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYWRkQ2hpbGRBcnIoaW5kZXgpIHtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L2FkZExpbmtFdmVudENoaWxkQXJyJywge2luZGV4OiBpbmRleH0pO1xyXG4gICAgICAgICAgICAgICAgLyogIHRoaXMuYXJyTGlzdC5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiBcImlucHV0MVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiBcImlucHV0MlwiXHJcbiAgICAgICAgICAgICAgICAgICB9KSovXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGluaXRQcm9wTGlzdCgpIHtcclxuICAgICAgICAgICAgICAgIC8vXHJcbiAgICAgICAgICAgICAgICBpZiAobG9jYWxTdG9yYWdlLnByb3BJbmZvICYmIGxvY2FsU3RvcmFnZS5wcm9wSW5mbyAhPSBcInVuZGVmaW5lZFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHJlcyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLnByb3BJbmZvKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgcHJvcEFyciA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB0YXJnZXRBcnIgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBwcm9wT2JqIGluIHJlcy5wcm9wKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BBcnIgPSBbLi4ucHJvcEFyciwgLi4ucmVzLnByb3BbcHJvcE9ial1dO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBsZXQgbW9ja0RhdGEgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAobG9jYWxTdG9yYWdlLnNlbGVjdFByb3AgJiYgbG9jYWxTdG9yYWdlLnNlbGVjdFByb3AgIT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgcGFnZU9iaiA9IGV2YWwoJygnICsgbG9jYWxTdG9yYWdlLnNlbGVjdFByb3AgKyAnKScpOy8vSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInBhZ2VcIikpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAgdGl0bGU6XCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcEFyciA9IFsuLi5wcm9wQXJyLCAuLi5wYWdlT2JqXTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wTGlzdCA9IHByb3BBcnI7XHJcbiAgICAgICAgICAgICAgICAgICAgLy99KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKCkge1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgd2F0Y2g6IHtcclxuICAgICAgICAgICAgdmFsKG4sIG8pIHtcclxuICAgICAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBpbnB1dDEobiwgbykge1xyXG4gICAgICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGlucHV0MihuLCBvKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobiA9PT0gbykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY3JlYXRlZCgpIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0UHJvcExpc3QoKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBsYW5nPVwibGVzc1wiIHNjb3BlZD5cclxuPC9zdHlsZT5cclxuXHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxpbmthZ2VDaGFuZ2VWYWx1ZS9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///105\n");
751
752/***/ }),
753/* 106 */
754/***/ (function(module, exports, __webpack_require__) {
755
756"use strict";
757eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(336);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeInputSelect',\n name: 'main-tool-editor-type-inputSelect',\n data: function data() {\n return {\n propArr: []\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n var _data = this.propArr || [];\n return _data;\n }\n },\n methods: {\n initSelectValue: function initSelectValue() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n if (currentInstance.data.extend.type) {\n this.value = currentInstance.data.extend.type;\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n _this.propArr = configPageIde.inputType;\n _this.initSelectValue();\n },\n\n watch: {\n value: function value(n, o) {\n debugger;\n if (n === o) {\n return;\n }\n var comVal = '';\n if (n !== \"textarea\") {\n comVal = \"extend.rows\";\n }\n _eventbus2.default.$emit(\"computIsShow\", { com: comVal });\n debugger;\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n currentInstance.data.extend.type = n;\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1pbnB1dFNlbGVjdC9pbmRleC52dWU/NzE5YyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFXQSxVOztBQUNBOztBQUNBOzs7Ozs7OztrQkFDQTtBQUNBLDJDQUNBLFVBREEsQ0FEQTtBQUlBLG9EQUpBO0FBS0EsNkNBTEE7QUFNQSw2Q0FOQTtBQU9BLFFBUEEsa0JBT0E7QUFDQTtBQUNBO0FBREE7QUFHQSxLQVhBOztBQVlBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLEtBWkE7QUFnQkE7QUFDQSx3QkFEQSw4QkFDQTtBQUNBO0FBQ0EsU0FIQTtBQUlBLHFCQUpBLDJCQUlBO0FBQ0E7QUFDQSxTQU5BO0FBT0EsbUJBUEEseUJBT0E7QUFDQTtBQUNBO0FBQ0E7QUFWQSxLQWhCQTtBQTRCQTtBQUNBLHVCQURBLDZCQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFQQSxLQTVCQTtBQXFDQSxXQXJDQSxxQkFxQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQXpDQTs7QUEwQ0E7QUFDQSxhQURBLGlCQUNBLENBREEsRUFDQSxDQURBLEVBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFoQkE7QUExQ0EsQyIsImZpbGUiOiIxMDYuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cclxuICAgICAgICAgPENvbnRhaW5lcj5cclxuICAgICAgICAgICAgPFNlbGVjdCB2LW1vZGVsPVwidmFsdWVcIiBzdHlsZT1cIndpZHRoOjk2LjUlO1wiID5cclxuICAgICAgICAgICAgICAgIDxPcHRpb24gdi1mb3I9XCJpdGVtIGluIG9wdGlvbnNEYXRhXCIgOnZhbHVlPVwiaXRlbS52YWx1ZXx8JydcIiA6a2V5PVwiaXRlbS52YWx1ZVwiPnt7IGl0ZW0ua2V5IH19PC9PcHRpb24+XHJcbiAgICAgICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQgKiBhcyBjb21wb25lbnRzIGZyb20gJy4vc3R5bGUnO1xyXG5pbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuaW1wb3J0IGV2ZW50YnVzIGZyb20gJy4uLy4uL3NlcnZpY2UvZXZlbnRidXMnO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICBjb21wb25lbnRzOiB7XHJcbiAgICAgICAgLi4uY29tcG9uZW50c1xyXG4gICAgfSxcclxuICAgIG1peGluczogW1Byb3BlcnR5TWl4aW5dLFxyXG4gICAgcG9zaXRpb246ICdtYWluVG9vbEVkaXRvclR5cGVJbnB1dFNlbGVjdCcsXHJcbiAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLWlucHV0U2VsZWN0JyxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHByb3BBcnI6W11cclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIHByb3BzOiB7XHJcbiAgICAgICAgaW5zdGFuY2VJbmZvOiBPYmplY3QsXHJcbiAgICAgICAgZWRpdG9yOiBPYmplY3RcclxuICAgIH0sXHJcbiAgICBjb21wdXRlZDoge1xyXG4gICAgICAgIGFwcGxpY2F0aW9uU3RhdGUgKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUuYXBwbGljYXRpb247XHJcbiAgICAgICAgfSxcclxuICAgICAgICB2aWV3cG9ydFN0YXRlICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb3B0aW9uc0RhdGEgKCkge1xyXG4gICAgICAgICAgICBsZXQgX2RhdGEgPSB0aGlzLnByb3BBcnIgfHwgW107XHJcbiAgICAgICAgICAgIHJldHVybiBfZGF0YTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgbWV0aG9kczp7XHJcbiAgICAgICAgaW5pdFNlbGVjdFZhbHVlKCl7XHJcbiAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2UgPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAvL25vdGUg5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgICAgICAgaWYgKGN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4dGVuZC50eXBlKSB7XHJcbiAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZT0gY3VycmVudEluc3RhbmNlLmRhdGEuZXh0ZW5kLnR5cGU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtb3VudGVkKCl7XHJcbiAgICAgICAgbGV0IF90aGlzPXRoaXM7XHJcbiAgICAgICAgICAgIF90aGlzLnByb3BBcnI9Y29uZmlnUGFnZUlkZS5pbnB1dFR5cGU7XHJcbiAgICAgICAgICAgIF90aGlzLmluaXRTZWxlY3RWYWx1ZSgpO1xyXG4gICAgfSxcclxuICAgIHdhdGNoOiB7XHJcbiAgICAgICAgdmFsdWUgKG4sIG8pIHtcclxuICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGNvbVZhbCA9ICcnO1xyXG4gICAgICAgICAgICBpZihuIT09XCJ0ZXh0YXJlYVwiKXtcclxuICAgICAgICAgICAgICAgIGNvbVZhbCA9IFwiZXh0ZW5kLnJvd3NcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBldmVudGJ1cy4kZW1pdChcImNvbXB1dElzU2hvd1wiLHtjb206Y29tVmFsfSk7Ly/nlKjmnaXmjInpnIDpmpDol4/pnIDopoHpmpDol4/nmoTnu4Tku7ZcclxuICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2UgPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAvL25vdGUg5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgICAgIC8vICBpZiAoY3VycmVudEluc3RhbmNlLmRhdGEuZXh0ZW5kLnR5cGUpIHtcclxuICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEuZXh0ZW5kLnR5cGU9bjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtaW5wdXRTZWxlY3QvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///106\n");
758
759/***/ }),
760/* 107 */
761/***/ (function(module, exports, __webpack_require__) {
762
763"use strict";
764eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(342);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeButtonSelect',\n name: 'main-tool-editor-type-buttonSelect',\n data: function data() {\n return {\n propArr: []\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n var _data = this.propArr || [];\n return _data;\n }\n },\n methods: {\n handleChange: function handleChange() {}\n },\n mounted: function mounted() {\n var _this = this;\n\n _this.propArr = configPageIde.buttonType;\n _this.initCurrtField();\n },\n\n watch: {\n value: function value(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1idXR0b25UeXBlU2VsZWN0L2luZGV4LnZ1ZT9lNGZhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQVdBLFU7O0FBQ0E7Ozs7OztrQkFHQTtBQUNBLDJDQUNBLFVBREEsQ0FEQTtBQUlBLG9EQUpBO0FBS0EsOENBTEE7QUFNQSw4Q0FOQTtBQU9BLFFBUEEsa0JBT0E7QUFDQTtBQUNBO0FBREE7QUFHQSxLQVhBOztBQVlBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLEtBWkE7QUFnQkE7QUFDQSx3QkFEQSw4QkFDQTtBQUNBO0FBQ0EsU0FIQTtBQUlBLHFCQUpBLDJCQUlBO0FBQ0E7QUFDQSxTQU5BO0FBT0EsbUJBUEEseUJBT0E7QUFDQTtBQUNBO0FBQ0E7QUFWQSxLQWhCQTtBQTRCQTtBQU9BLG9CQVBBLDBCQU9BLENBRUE7QUFUQSxLQTVCQTtBQXVDQSxXQXZDQSxxQkF1Q0E7QUFFQTs7QUFHQTtBQUNBO0FBRUEsS0EvQ0E7O0FBZ0RBO0FBQ0EsYUFEQSxpQkFDQSxDQURBLEVBQ0EsQ0FEQSxFQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBaERBLEMiLCJmaWxlIjoiMTA3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gICAgPGRpdiBzdHlsZT1cIndpZHRoOiAxMDAlXCI+XHJcbiAgICAgICAgPENvbnRhaW5lcj5cclxuICAgICAgICA8U2VsZWN0IHYtbW9kZWw9XCJ2YWx1ZVwiIHN0eWxlPVwid2lkdGg6OTYuNSU7XCIgY2xlYXJhYmxlPlxyXG4gICAgICAgICAgICA8T3B0aW9uIHYtZm9yPVwiaXRlbSBpbiBvcHRpb25zRGF0YVwiIDp2YWx1ZT1cIml0ZW0udmFsdWV8fCcnXCIgOmtleT1cIml0ZW0udmFsdWVcIj57eyBpdGVtLmtleSB9fTwvT3B0aW9uPlxyXG4gICAgICAgIDwvU2VsZWN0PlxyXG4gICAgPC9Db250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbmltcG9ydCB7UHJvcGVydHlNaXhpbn0gZnJvbSAnLi4vLi4vc2VydmljZS9tYWluLXRvb2wtZWRpdG9yLXR5cGUtbWl4aW4nO1xyXG5cclxuXHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICAgIGNvbXBvbmVudHM6IHtcclxuICAgICAgICAuLi5jb21wb25lbnRzXHJcbiAgICB9LFxyXG4gICAgbWl4aW5zOiBbUHJvcGVydHlNaXhpbl0sXHJcbiAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yVHlwZUJ1dHRvblNlbGVjdCcsXHJcbiAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLWJ1dHRvblNlbGVjdCcsXHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBwcm9wQXJyOltdXHJcbiAgICAgICAgfTtcclxuICAgIH0sXHJcbiAgICBwcm9wczoge1xyXG4gICAgICAgIGluc3RhbmNlSW5mbzogT2JqZWN0LFxyXG4gICAgICAgIGVkaXRvcjogT2JqZWN0XHJcbiAgICB9LFxyXG4gICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICBhcHBsaWNhdGlvblN0YXRlICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdmlld3BvcnRTdGF0ZSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG9wdGlvbnNEYXRhICgpIHtcclxuICAgICAgICAgICAgbGV0IF9kYXRhID0gdGhpcy5wcm9wQXJyIHx8IFtdO1xyXG4gICAgICAgICAgICByZXR1cm4gX2RhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIG1ldGhvZHM6IHtcclxuICAgICAgICAvLyBjaGFuZ2Vfc3RhdHVzKHZhbCl7ICAvLyDnrZvpgInnirbmgIFcclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vICAgICBjb25zb2xlLmxvZyh0aGlzLnZhbCk7XHJcbiAgICAgICAgLy8gICAgIHRoaXMudmFsPXZhbDtcclxuICAgICAgICAvLyAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKHRoaXMudmFsKTtcclxuICAgICAgICAvLyB9LFxyXG4gICAgICAgIGhhbmRsZUNoYW5nZSAoKSB7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtb3VudGVkKCl7XHJcbiAgICAgICAgLy9sZXQgIGNvbmZpZ1BhZ2VJZGUgPXJlcXVpcmUoXCIuLi8uLi8uLi9zdGF0aWMvZGF0YS9wYWdlLWlkZS9jb25maWdQYWdlSWRlLmpzLmpzXCIpO1xyXG4gICAgICAgIGxldCBfdGhpcz10aGlzO1xyXG5cclxuXHJcbiAgICAgICAgICAgIF90aGlzLnByb3BBcnI9Y29uZmlnUGFnZUlkZS5idXR0b25UeXBlO1xyXG4gICAgICAgICAgICBfdGhpcy5pbml0Q3VycnRGaWVsZCgpO1xyXG5cclxuICAgIH0sXHJcbiAgICB3YXRjaDoge1xyXG4gICAgICAgIHZhbHVlIChuLCBvKSB7XHJcbiAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1idXR0b25UeXBlU2VsZWN0L2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///107\n");
765
766/***/ }),
767/* 108 */
768/***/ (function(module, exports, __webpack_require__) {
769
770"use strict";
771eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(347);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeCacheSelect',\n name: 'main-tool-editor-type-cacheSelect',\n data: function data() {\n return {\n propArr: []\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n\n var _data = this.propArr || [];\n return _data;\n }\n },\n methods: {\n handleChange: function handleChange() {}\n },\n mounted: function mounted() {\n\n this.propArr = JSON.parse(localStorage.getItem(\"cacheListener\")) || [];\n },\n\n watch: {\n value: function value(n, o) {\n\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jYWNoZVNlbGVjdC9pbmRleC52dWU/MDViMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFXQSxVOztBQUNBOzs7O0FBQ0E7Ozs7OztrQkFDQTtBQUNBLDJDQUNBLFVBREEsQ0FEQTtBQUlBLG9EQUpBO0FBS0EsNkNBTEE7QUFNQSw2Q0FOQTtBQU9BLFFBUEEsa0JBT0E7QUFDQTtBQUNBO0FBREE7QUFHQSxLQVhBOztBQVlBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLEtBWkE7QUFnQkE7QUFDQSx3QkFEQSw4QkFDQTtBQUNBO0FBQ0EsU0FIQTtBQUlBLHFCQUpBLDJCQUlBO0FBQ0E7QUFDQSxTQU5BO0FBT0EsbUJBUEEseUJBT0E7O0FBRUE7QUFDQTtBQUNBO0FBWEEsS0FoQkE7QUE2QkE7QUFPQSxvQkFQQSwwQkFPQSxDQUVBO0FBVEEsS0E3QkE7QUF3Q0EsV0F4Q0EscUJBd0NBOztBQUVBO0FBRUEsS0E1Q0E7O0FBNkNBO0FBQ0EsYUFEQSxpQkFDQSxDQURBLEVBQ0EsQ0FEQSxFQUNBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFSQTtBQTdDQSxDIiwiZmlsZSI6IjEwOC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxyXG4gICAgICAgIDxDb250YWluZXI+XHJcbiAgICAgICAgICAgIDxTZWxlY3Qgdi1tb2RlbD1cInZhbHVlXCIgc3R5bGU9XCJ3aWR0aDo5Ni41JTtcIiBjbGVhcmFibGU+XHJcbiAgICAgICAgICAgICAgICA8T3B0aW9uIHYtZm9yPVwiaXRlbSBpbiBvcHRpb25zRGF0YVwiIDp2YWx1ZT1cIml0ZW0ua2V5XCIgOmtleT1cIml0ZW0ua2V5XCI+e3sgaXRlbS5rZXkgfX08L09wdGlvbj5cclxuICAgICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICAgPC9Db250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbmltcG9ydCBldmVudGJ1cyBmcm9tICcuLi8uLi9zZXJ2aWNlL2V2ZW50YnVzJztcclxuaW1wb3J0IHtQcm9wZXJ0eU1peGlufSBmcm9tICcuLi8uLi9zZXJ2aWNlL21haW4tdG9vbC1lZGl0b3ItdHlwZS1taXhpbic7XHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICAgIGNvbXBvbmVudHM6IHtcclxuICAgICAgICAuLi5jb21wb25lbnRzXHJcbiAgICB9LFxyXG4gICAgbWl4aW5zOiBbUHJvcGVydHlNaXhpbl0sXHJcbiAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yVHlwZUNhY2hlU2VsZWN0JyxcclxuICAgIG5hbWU6ICdtYWluLXRvb2wtZWRpdG9yLXR5cGUtY2FjaGVTZWxlY3QnLFxyXG4gICAgZGF0YSAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgcHJvcEFycjpbXVxyXG4gICAgICAgIH07XHJcbiAgICB9LFxyXG4gICAgcHJvcHM6IHtcclxuICAgICAgICBpbnN0YW5jZUluZm86IE9iamVjdCxcclxuICAgICAgICBlZGl0b3I6IE9iamVjdFxyXG4gICAgfSxcclxuICAgIGNvbXB1dGVkOiB7XHJcbiAgICAgICAgYXBwbGljYXRpb25TdGF0ZSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5hcHBsaWNhdGlvbjtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHZpZXdwb3J0U3RhdGUgKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQ7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBvcHRpb25zRGF0YSAoKSB7XHJcblxyXG4gICAgICAgICAgICBsZXQgX2RhdGEgPSB0aGlzLnByb3BBcnIgfHwgW107XHJcbiAgICAgICAgICAgIHJldHVybiBfZGF0YTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgbWV0aG9kczoge1xyXG4gICAgICAgIC8vIGNoYW5nZV9zdGF0dXModmFsKXsgIC8vIOetm+mAieeKtuaAgVxyXG4gICAgICAgIC8vXHJcbiAgICAgICAgLy8gICAgIGNvbnNvbGUubG9nKHRoaXMudmFsKTtcclxuICAgICAgICAvLyAgICAgdGhpcy52YWw9dmFsO1xyXG4gICAgICAgIC8vICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHModGhpcy52YWwpO1xyXG4gICAgICAgIC8vIH0sXHJcbiAgICAgICAgaGFuZGxlQ2hhbmdlICgpIHtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIG1vdW50ZWQoKXtcclxuXHJcbiAgICAgICAgIHRoaXMucHJvcEFycj1KU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiY2FjaGVMaXN0ZW5lclwiKSl8fFtdO1xyXG5cclxuICAgIH0sXHJcbiAgICB3YXRjaDoge1xyXG4gICAgICAgIHZhbHVlIChuLCBvKSB7XHJcblxyXG5cclxuICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNhY2hlU2VsZWN0L2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///108\n");
772
773/***/ }),
774/* 109 */
775/***/ (function(module, exports, __webpack_require__) {
776
777"use strict";
778eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(352);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeCellBirth',\n name: 'main-tool-editor-type-cellBirth',\n data: function data() {\n return {\n val: this.editor.val || '',\n tableProp: localStorage.checkProp\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n debugger;\n if (localStorage.birthProp && localStorage.birthProp != null) {} else {\n return;\n }\n var pageObj = eval('(' + localStorage.birthProp + ')');\n console.log(pageObj);\n\n var _data = pageObj || [];\n return _data;\n }\n },\n methods: {\n initCurrtField: function initCurrtField() {\n var props = this.instanceInfo.vm.$data;\n var val = _.get(props, this.field);\n if (val !== undefined) {\n this.val = val;\n }\n },\n handleChange: function handleChange() {}\n },\n mounted: function mounted() {\n debugger;\n this.initCurrtField();\n },\n\n watch: {\n field: function field(n, o) {\n\n if (n === o) {\n return;\n }\n deep: true;\n },\n val: function val(n, o) {\n debugger;\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsQmlydGgvaW5kZXgudnVlPzQ1YzgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBV0EsVTs7QUFDQTs7Ozs7O2tCQUNBO0FBQ0EsMkNBQ0EsVUFEQSxDQURBO0FBSUEsb0RBSkE7QUFLQSwyQ0FMQTtBQU1BLDJDQU5BO0FBT0EsUUFQQSxrQkFPQTtBQUNBO0FBQ0Esc0NBREE7QUFFQTtBQUZBO0FBSUEsS0FaQTs7QUFhQTtBQUNBLDRCQURBO0FBRUE7QUFGQSxLQWJBO0FBaUJBO0FBQ0Esd0JBREEsOEJBQ0E7QUFDQTtBQUNBLFNBSEE7QUFJQSxxQkFKQSwyQkFJQTtBQUNBO0FBQ0EsU0FOQTtBQU9BLG1CQVBBLHlCQU9BO0FBQ0E7QUFDQSwyRUFFQSxDQUZBLE1BRUE7QUFLQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBRUE7QUF4QkEsS0FqQkE7QUEyQ0E7QUFDQSxzQkFEQSw0QkFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQVBBO0FBUUEsb0JBUkEsMEJBUUEsQ0FFQTtBQVZBLEtBM0NBO0FBdURBLFdBdkRBLHFCQXVEQTtBQUNBO0FBQ0E7QUFDQSxLQTFEQTs7QUEyREE7QUFDQSxhQURBLGlCQUNBLENBREEsRUFDQSxDQURBLEVBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQSxTQVRBO0FBVUEsV0FWQSxlQVVBLENBVkEsRUFVQSxDQVZBLEVBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFoQkE7QUEzREEsQyIsImZpbGUiOiIxMDkuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cclxuICAgICAgICA8Q29udGFpbmVyPlxyXG4gICAgICAgIDxTZWxlY3Qgdi1tb2RlbD1cInZhbFwiIHN0eWxlPVwid2lkdGg6OTYuNSU7XCIgY2xlYXJhYmxlPlxyXG4gICAgICAgICAgICA8T3B0aW9uIHYtZm9yPVwiaXRlbSBpbiBvcHRpb25zRGF0YVwiIDp2YWx1ZT1cIml0ZW0ubmFtZXx8JydcIiA6a2V5PVwiaXRlbS5uYW1lXCI+e3sgaXRlbS5uYW1lIH19PC9PcHRpb24+XHJcbiAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICA8L0NvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIGltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbiAgICBpbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuICAgIGV4cG9ydCBkZWZhdWx0IHtcclxuICAgICAgICBjb21wb25lbnRzOiB7XHJcbiAgICAgICAgICAgIC4uLmNvbXBvbmVudHNcclxuICAgICAgICB9LFxyXG4gICAgICAgIG1peGluczogW1Byb3BlcnR5TWl4aW5dLFxyXG4gICAgICAgIHBvc2l0aW9uOiAnbWFpblRvb2xFZGl0b3JUeXBlQ2VsbEJpcnRoJyxcclxuICAgICAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLWNlbGxCaXJ0aCcsXHJcbiAgICAgICAgZGF0YSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICB2YWw6dGhpcy5lZGl0b3IudmFsfHwnJyxcclxuICAgICAgICAgICAgICAgIHRhYmxlUHJvcDpsb2NhbFN0b3JhZ2UuY2hlY2tQcm9wXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSxcclxuICAgICAgICBwcm9wczoge1xyXG4gICAgICAgICAgICBpbnN0YW5jZUluZm86IE9iamVjdCxcclxuICAgICAgICAgICAgZWRpdG9yOiBPYmplY3RcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXB1dGVkOiB7XHJcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uU3RhdGUgKCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB2aWV3cG9ydFN0YXRlICgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgb3B0aW9uc0RhdGEgKCkge1xyXG4gICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICBpZiAobG9jYWxTdG9yYWdlLmJpcnRoUHJvcCAmJiBsb2NhbFN0b3JhZ2UuYmlydGhQcm9wICE9IG51bGwpIHtcclxuXHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC8qdGhpcy4kTW9kYWwuc3VjY2Vzcyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuWPi+aDheaPkOekulwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIuivt+WFiOWFqOWxgOiuvue9ru+8gVwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7Ki9cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgcGFnZU9iaiA9IGV2YWwoJygnICsgbG9jYWxTdG9yYWdlLmJpcnRoUHJvcCArICcpJyk7Ly9KU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwicGFnZVwiKSk7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhwYWdlT2JqKTtcclxuICAgICAgICAgICAgICAgIC8vICB0aXRsZTpcIlwiLFxyXG4gICAgICAgICAgICAgICAgbGV0IF9kYXRhID0gIHBhZ2VPYmp8fFtdO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9kYXRhO1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWV0aG9kczoge1xyXG4gICAgICAgICAgICBpbml0Q3VycnRGaWVsZCAoKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgcHJvcHMgPSB0aGlzLmluc3RhbmNlSW5mby52bS4kZGF0YTtcclxuICAgICAgICAgICAgICAgIGxldCB2YWwgPSBfLmdldChwcm9wcywgdGhpcy5maWVsZCk7XHJcbiAgICAgICAgICAgICAgICBpZiAodmFsICE9PSB1bmRlZmluZWQpIHsvL+aUueS4unVuZGVmaW5lZCzmoKHpqoxib29sZWFu57G75Z6LZmFsc2XplJnor69cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbCA9IHZhbDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaGFuZGxlQ2hhbmdlICgpIHtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIG1vdW50ZWQoKSB7XHJcbiAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICB0aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICB3YXRjaDoge1xyXG4gICAgICAgICAgICBmaWVsZCAobiwgbykge1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZGVlcDp0cnVlLy/lr7nosaHlhoXpg6jnmoTlsZ7mgKfnm5HlkKzvvIzkuZ/lj6vmt7Hluqbnm5HlkKxcclxuXHJcbiAgICAgICAgICAgICAgICAvLyAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB2YWwgKG4sIG8pIHtcclxuICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxCaXJ0aC9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///109\n");
779
780/***/ }),
781/* 110 */
782/***/ (function(module, exports, __webpack_require__) {
783
784"use strict";
785eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(357);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeCellCheck',\n name: 'main-tool-editor-type-cellCheck',\n data: function data() {\n return {\n val: this.editor.val || '',\n tableProp: localStorage.checkProp\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n debugger;\n if (localStorage.checkProp && localStorage.checkProp != null) {} else {\n return;\n }\n var pageObj = eval('(' + localStorage.checkProp + ')');\n console.log(pageObj);\n\n var _data = pageObj || [];\n return _data;\n }\n },\n methods: {\n initCurrtField: function initCurrtField() {\n var props = this.instanceInfo.vm.$data;\n var val = _.get(props, this.field);\n if (val !== undefined) {\n this.val = val;\n }\n },\n handleChange: function handleChange() {}\n },\n mounted: function mounted() {\n debugger;\n this.initCurrtField();\n },\n\n watch: {\n field: function field(n, o) {\n\n if (n === o) {\n return;\n }\n deep: true;\n },\n val: function val(n, o) {\n debugger;\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsQ2hlY2svaW5kZXgudnVlPzJlZjkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBV0EsVTs7QUFDQTs7Ozs7O2tCQUNBO0FBQ0EsMkNBQ0EsVUFEQSxDQURBO0FBSUEsb0RBSkE7QUFLQSwyQ0FMQTtBQU1BLDJDQU5BO0FBT0EsUUFQQSxrQkFPQTtBQUNBO0FBQ0Esc0NBREE7QUFFQTtBQUZBO0FBSUEsS0FaQTs7QUFhQTtBQUNBLDRCQURBO0FBRUE7QUFGQSxLQWJBO0FBaUJBO0FBQ0Esd0JBREEsOEJBQ0E7QUFDQTtBQUNBLFNBSEE7QUFJQSxxQkFKQSwyQkFJQTtBQUNBO0FBQ0EsU0FOQTtBQU9BLG1CQVBBLHlCQU9BO0FBQ0E7QUFDQSwyRUFFQSxDQUZBLE1BRUE7QUFLQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBRUE7QUF4QkEsS0FqQkE7QUEyQ0E7QUFDQSxzQkFEQSw0QkFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQVBBO0FBUUEsb0JBUkEsMEJBUUEsQ0FFQTtBQVZBLEtBM0NBO0FBdURBLFdBdkRBLHFCQXVEQTtBQUNBO0FBQ0E7QUFDQSxLQTFEQTs7QUEyREE7QUFDQSxhQURBLGlCQUNBLENBREEsRUFDQSxDQURBLEVBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQSxTQVRBO0FBVUEsV0FWQSxlQVVBLENBVkEsRUFVQSxDQVZBLEVBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFoQkE7QUEzREEsQyIsImZpbGUiOiIxMTAuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cclxuICAgICAgICA8Q29udGFpbmVyPlxyXG4gICAgICAgIDxTZWxlY3Qgdi1tb2RlbD1cInZhbFwiIHN0eWxlPVwid2lkdGg6OTYuNSU7XCIgY2xlYXJhYmxlPlxyXG4gICAgICAgICAgICA8T3B0aW9uIHYtZm9yPVwiaXRlbSBpbiBvcHRpb25zRGF0YVwiIDp2YWx1ZT1cIml0ZW0ubmFtZXx8JydcIiA6a2V5PVwiaXRlbS5uYW1lXCI+e3sgaXRlbS5uYW1lIH19PC9PcHRpb24+XHJcbiAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICA8L0NvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIGltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbiAgICBpbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuICAgIGV4cG9ydCBkZWZhdWx0IHtcclxuICAgICAgICBjb21wb25lbnRzOiB7XHJcbiAgICAgICAgICAgIC4uLmNvbXBvbmVudHNcclxuICAgICAgICB9LFxyXG4gICAgICAgIG1peGluczogW1Byb3BlcnR5TWl4aW5dLFxyXG4gICAgICAgIHBvc2l0aW9uOiAnbWFpblRvb2xFZGl0b3JUeXBlQ2VsbENoZWNrJyxcclxuICAgICAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLWNlbGxDaGVjaycsXHJcbiAgICAgICAgZGF0YSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICB2YWw6dGhpcy5lZGl0b3IudmFsfHwnJyxcclxuICAgICAgICAgICAgICAgIHRhYmxlUHJvcDpsb2NhbFN0b3JhZ2UuY2hlY2tQcm9wXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSxcclxuICAgICAgICBwcm9wczoge1xyXG4gICAgICAgICAgICBpbnN0YW5jZUluZm86IE9iamVjdCxcclxuICAgICAgICAgICAgZWRpdG9yOiBPYmplY3RcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXB1dGVkOiB7XHJcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uU3RhdGUgKCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB2aWV3cG9ydFN0YXRlICgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgb3B0aW9uc0RhdGEgKCkge1xyXG4gICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICBpZiAobG9jYWxTdG9yYWdlLmNoZWNrUHJvcCAmJiBsb2NhbFN0b3JhZ2UuY2hlY2tQcm9wICE9IG51bGwpIHtcclxuXHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC8qdGhpcy4kTW9kYWwuc3VjY2Vzcyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuWPi+aDheaPkOekulwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIuivt+WFiOWFqOWxgOiuvue9ru+8gVwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7Ki9cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgcGFnZU9iaiA9IGV2YWwoJygnICsgbG9jYWxTdG9yYWdlLmNoZWNrUHJvcCArICcpJyk7Ly9KU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwicGFnZVwiKSk7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhwYWdlT2JqKTtcclxuICAgICAgICAgICAgICAgIC8vICB0aXRsZTpcIlwiLFxyXG4gICAgICAgICAgICAgICAgbGV0IF9kYXRhID0gIHBhZ2VPYmp8fFtdO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9kYXRhO1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWV0aG9kczoge1xyXG4gICAgICAgICAgICBpbml0Q3VycnRGaWVsZCAoKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgcHJvcHMgPSB0aGlzLmluc3RhbmNlSW5mby52bS4kZGF0YTtcclxuICAgICAgICAgICAgICAgIGxldCB2YWwgPSBfLmdldChwcm9wcywgdGhpcy5maWVsZCk7XHJcbiAgICAgICAgICAgICAgICBpZiAodmFsICE9PSB1bmRlZmluZWQpIHsvL+aUueS4unVuZGVmaW5lZCzmoKHpqoxib29sZWFu57G75Z6LZmFsc2XplJnor69cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbCA9IHZhbDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaGFuZGxlQ2hhbmdlICgpIHtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIG1vdW50ZWQoKSB7XHJcbiAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICB0aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICB3YXRjaDoge1xyXG4gICAgICAgICAgICBmaWVsZCAobiwgbykge1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZGVlcDp0cnVlLy/lr7nosaHlhoXpg6jnmoTlsZ7mgKfnm5HlkKzvvIzkuZ/lj6vmt7Hluqbnm5HlkKxcclxuXHJcbiAgICAgICAgICAgICAgICAvLyAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB2YWwgKG4sIG8pIHtcclxuICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxDaGVjay9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///110\n");
786
787/***/ }),
788/* 111 */
789/***/ (function(module, exports, __webpack_require__) {
790
791"use strict";
792eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(362);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nvar _mainToolEditorTypeBoxRadioArr = __webpack_require__(112);\n\nvar _mainToolEditorTypeBoxRadioArr2 = _interopRequireDefault(_mainToolEditorTypeBoxRadioArr);\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components, {\n radioArr: _mainToolEditorTypeBoxRadioArr2.default\n }),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeCellHeightLevel',\n name: 'main-tool-editor-type-cellHeightLevel',\n data: function data() {\n return {\n value: this.editor.value || false\n };\n },\n mounted: function mounted() {\n this.initCurrtField();\n this.setInstanceProps(this.value);\n },\n\n computed: {\n applicationState: function applicationState() {\n\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n }\n },\n methods: {\n handleChange: function handleChange() {}\n },\n watch: {\n value: function value(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsSGVpZ2h0TGV2ZWwvaW5kZXgudnVlP2Y5YzUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBZUEsVTs7QUFDQTs7QUFDQTs7OztBQUVBOzs7Ozs7OztrQkFDQTtBQUNBLDJDQUNBLFVBREE7QUFFQTtBQUZBLE1BREE7QUFLQSxvREFMQTtBQU1BLGlEQU5BO0FBT0EsaURBUEE7QUFRQSxRQVJBLGtCQVFBO0FBQ0E7QUFDQTtBQURBO0FBR0EsS0FaQTtBQWFBLFdBYkEscUJBYUE7QUFDQTtBQUNBO0FBRUEsS0FqQkE7O0FBa0JBO0FBQ0Esd0JBREEsOEJBQ0E7O0FBRUE7QUFDQSxTQUpBO0FBS0EscUJBTEEsMkJBS0E7QUFDQTtBQUNBO0FBUEEsS0FsQkE7QUEyQkE7QUFDQSxvQkFEQSwwQkFDQSxDQUVBO0FBSEEsS0EzQkE7QUFnQ0E7QUFDQSxhQURBLGlCQUNBLENBREEsRUFDQSxDQURBLEVBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFoQ0EsQyIsImZpbGUiOiIxMTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCU7XCI+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tc3R5bGVcIj5cclxuICAgICAgICAgICAgICAgIDxpLXN3aXRjaCB2LW1vZGVsPVwidmFsdWVcIj48L2ktc3dpdGNoPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IHYtc2hvdz1cInZhbHVlXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cIml0ZW0tc3R5bGVcIj7lhoXlrrnlrZDpobk8L2xhYmVsPlxyXG4gICAgICAgICAgICA8cmFkaW9BcnI+PC9yYWRpb0Fycj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIGltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbiAgICBpbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuICAgIGltcG9ydCByYWRpb0FyciBmcm9tICcuLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJhZGlvQXJyJztcclxuXHJcbiAgICBpbXBvcnQgZXZlbnRidXMgZnJvbSAnLi4vLi4vc2VydmljZS9ldmVudGJ1cyc7XHJcbiAgICBleHBvcnQgZGVmYXVsdCB7XHJcbiAgICAgICAgY29tcG9uZW50czoge1xyXG4gICAgICAgICAgICAuLi5jb21wb25lbnRzLFxyXG4gICAgICAgICAgICByYWRpb0FyclxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWl4aW5zOiBbUHJvcGVydHlNaXhpbl0sXHJcbiAgICAgICAgcG9zaXRpb246ICdtYWluVG9vbEVkaXRvclR5cGVDZWxsSGVpZ2h0TGV2ZWwnLFxyXG4gICAgICAgIG5hbWU6ICdtYWluLXRvb2wtZWRpdG9yLXR5cGUtY2VsbEhlaWdodExldmVsJyxcclxuICAgICAgICBkYXRhKCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuZWRpdG9yLnZhbHVlIHx8IGZhbHNlXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtb3VudGVkKCkge1xyXG4gICAgICAgICAgICB0aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyh0aGlzLnZhbHVlKTtcclxuXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wdXRlZDoge1xyXG4gICAgICAgICAgICBhcHBsaWNhdGlvblN0YXRlKCkge1xyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5hcHBsaWNhdGlvbjtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdmlld3BvcnRTdGF0ZSgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWV0aG9kczoge1xyXG4gICAgICAgICAgICBoYW5kbGVDaGFuZ2UoKSB7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICB3YXRjaDoge1xyXG4gICAgICAgICAgICB2YWx1ZShuLCBvKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobiA9PT0gbykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIHNjb3BlZD5cclxuXHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxIZWlnaHRMZXZlbC9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///111\n");
793
794/***/ }),
795/* 112 */
796/***/ (function(module, __webpack_exports__, __webpack_require__) {
797
798"use strict";
799eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(113);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_9a83d1ce_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(366);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(363)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-9a83d1ce\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_9a83d1ce_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-radioArr/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-9a83d1ce\", Component.options)\n } else {\n hotAPI.reload(\"data-v-9a83d1ce\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJhZGlvQXJyL2luZGV4LnZ1ZT9iZTYyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBMlY7QUFDclc7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUFxRjtBQUN0SDtBQUNxSTtBQUNhO0FBQ2xKO0FBQzZTO0FBQzdTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxpUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjExMi5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTlhODNkMWNlXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSFsZXNzLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTlhODNkMWNlXFxcIixcXFwiaGFzU2NvcGVkXFxcIjp0cnVlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IFwiZGF0YS12LTlhODNkMWNlXCJcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtcmFkaW9BcnIvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTlhODNkMWNlXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtOWE4M2QxY2VcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJhZGlvQXJyL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMTEyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///112\n");
800
801/***/ }),
802/* 113 */
803/***/ (function(module, exports, __webpack_require__) {
804
805"use strict";
806eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(365);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeRadioArr',\n name: 'main-tool-editor-type-radioArr',\n data: function data() {\n return {\n val: false,\n arrList: [],\n modalShow: false,\n textArea: \"\",\n ArrListItem: []\n };\n },\n mounted: function mounted() {\n this.initCurrtField();\n },\n\n computed: {\n getArrList: {\n get: function get() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n if (!currentInstance.data.radioArr) {\n currentInstance.data.radioArr = [{\n label: \"选项1\",\n value: \"选项1\"\n }, {\n label: \"选项2\",\n value: \"选项2\"\n }, {\n label: \"选项3\",\n value: \"选项3\"\n }];\n }\n return currentInstance.data.radioArr;\n },\n set: function set(v) {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n currentInstance.data.radioArr = v;\n }\n },\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n }\n },\n methods: {\n setRadioValue: function setRadioValue(item) {\n debugger;\n console.log(item);\n if (item) {\n item.value = item.label;\n }\n },\n delArr: function delArr(index) {\n this.$store.commit('viewport/delRadioEventArr', { index: index });\n },\n addArr: function addArr() {\n this.$store.commit('viewport/addRadioEventArr', {});\n },\n handleChange: function handleChange() {},\n batchEditor: function batchEditor() {\n this.modalShow = true;\n this.ArrListItem = [];\n for (var i = 0; i < this.getArrList.length; i++) {\n this.ArrListItem.push(this.getArrList[i].label);\n }\n this.textArea = this.ArrListItem.join('\\n');\n },\n ok: function ok() {\n this.ArrListItem = [];\n this.ArrListItem = this.textArea.split('\\n');\n this.getArrList = this.ArrListItem.map(function (item) {\n return { label: item, value: item };\n });\n },\n cancel: function cancel() {\n this.modalShow = false;\n }\n },\n watch: {\n val: function val(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input1: function input1(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input2: function input2(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yYWRpb0Fyci9pbmRleC52dWU/NWJmZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUE0QkEsVTs7QUFDQTs7Ozs7O2tCQUNBO0FBQ0EsMkNBQ0EsVUFEQSxDQURBO0FBSUEsb0RBSkE7QUFLQSwwQ0FMQTtBQU1BLDBDQU5BO0FBT0EsUUFQQSxrQkFPQTtBQUNBO0FBQ0Esc0JBREE7QUFFQSx1QkFGQTtBQUdBLDRCQUhBO0FBSUEsd0JBSkE7QUFLQTtBQUxBO0FBT0EsS0FmQTtBQWdCQSxXQWhCQSxxQkFnQkE7QUFDQTtBQUNBLEtBbEJBOztBQW1CQTtBQUNBO0FBQ0EsZUFEQSxpQkFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxvQ0FEQTtBQUVBO0FBRkEsdUJBR0E7QUFDQSxvQ0FEQTtBQUVBO0FBRkEscUJBSEEsRUFNQTtBQUNBLG9DQURBO0FBRUE7QUFGQSxxQkFOQTtBQVVBO0FBQ0E7QUFDQSxhQWpCQTtBQWtCQSxlQWxCQSxlQWtCQSxDQWxCQSxFQWtCQTtBQUNBO0FBQ0E7QUFDQTtBQXJCQSxTQURBO0FBeUJBLHdCQXpCQSw4QkF5QkE7QUFDQTtBQUNBLFNBM0JBO0FBNEJBLHFCQTVCQSwyQkE0QkE7QUFDQTtBQUNBO0FBOUJBLEtBbkJBO0FBbURBO0FBQ0EscUJBREEseUJBQ0EsSUFEQSxFQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBUEE7QUFRQSxjQVJBLGtCQVFBLEtBUkEsRUFRQTtBQUNBO0FBQ0EsU0FWQTtBQVdBLGNBWEEsb0JBV0E7QUFDQTtBQUNBLFNBYkE7QUFjQSxvQkFkQSwwQkFjQSxDQUVBLENBaEJBO0FBa0JBLG1CQWxCQSx5QkFrQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQXpCQTtBQTBCQSxVQTFCQSxnQkEwQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBRkE7QUFHQSxTQWhDQTtBQWlDQSxjQWpDQSxvQkFpQ0E7QUFDQTtBQUNBO0FBbkNBLEtBbkRBO0FBd0ZBO0FBQ0EsV0FEQSxlQUNBLENBREEsRUFDQSxDQURBLEVBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBTkE7QUFPQSxjQVBBLGtCQU9BLENBUEEsRUFPQSxDQVBBLEVBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBWkE7QUFhQSxjQWJBLGtCQWFBLENBYkEsRUFhQSxDQWJBLEVBYUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBbEJBO0FBeEZBLEMiLCJmaWxlIjoiMTEzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cInRvb2wtdHlwZS1yYWRpb0FyclwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJhZGlvQXJyLXRvb2wtdHlwZS1kaXZcIj5cclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJyYWRpb0Fyci1lZGl0b3JUZXh0U3R5bGVcIj5cclxuICAgICAgICAgICAgICAgIOmAiemhuVxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyYWRpb0Fyci1lZGl0b3JNYXhGb250U3R5bGVcIj7mnIDlpJoyMDDpobnvvIzmr4/pobnmnIDlpJo1MOWtlzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwhLS08c3BhbiBjbGFzcz1cImVkaXRvck1heEZvbnRTdHlsZVwiICB2LWlmPVwiZWRpdG9yLm1heEZvbnRcIj7mnIDlpJoyMDDpobnvvIzmr4/pobnmnIDlpJp7e2VkaXRvci5tYXhGb250fX3lrZc8L3NwYW4+LS0+XHJcbiAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgPHVsIGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJcIiB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBnZXRBcnJMaXN0XCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXQgdi1tb2RlbD1cIml0ZW0ubGFiZWxcIiBtYXhsZW5ndGg9XCI1MFwiIGNsZWFyYWJsZSBAb24tY2hhbmdlPVwic2V0UmFkaW9WYWx1ZShpdGVtKVwiICBjbGFzcz1cInJhZGlvQXJyLWVkaXRvcklucHV0XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb25mb250IGljb24tcmVjYS1pY29uX3JvdW5kcmVkdWNlXCIgQGNsaWNrPVwiZGVsQXJyKGluZGV4KVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uZm9udCBpY29uLXJlY2EtaWNvbl9yb3VuZGFkZCBcIiBAY2xpY2s9XCJhZGRBcnIoKVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8YSBAY2xpY2s9XCJiYXRjaEVkaXRvclwiPuaJuemHj+e8lui+kTwvYT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8TW9kYWwgdi1tb2RlbD1cIm1vZGFsU2hvd1wiXHJcbiAgICAgICAgICAgICAgICB0aXRsZT1cIuaJuemHj+e8lui+kVwiXHJcbiAgICAgICAgICAgICAgICBAb24tb2s9XCJva1wiXHJcbiAgICAgICAgICAgICAgICBAb24tY2FuY2VsPVwiY2FuY2VsXCI+XHJcbiAgICAgICAgICAgIDxwIHN0eWxlPVwiZm9udC13ZWlnaHQ6IDcwMDttYXJnaW4tYm90dG9tOiAxMnB4O1wiPuavj+ihjOWvueW6lOS4gOS4qumAiemhuTwvcD5cclxuICAgICAgICAgICAgPElucHV0IHR5cGU9XCJ0ZXh0YXJlYVwiIDpyb3dzPVwiOFwiIHYtbW9kZWw9XCJ0ZXh0QXJlYVwiIC8+XHJcbiAgICAgICAgPC9Nb2RhbD5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0ICogYXMgY29tcG9uZW50cyBmcm9tICcuL3N0eWxlJztcclxuaW1wb3J0IHtQcm9wZXJ0eU1peGlufSBmcm9tICcuLi8uLi9zZXJ2aWNlL21haW4tdG9vbC1lZGl0b3ItdHlwZS1taXhpbic7XHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICAgIGNvbXBvbmVudHM6IHtcclxuICAgICAgICAuLi5jb21wb25lbnRzXHJcbiAgICB9LFxyXG4gICAgbWl4aW5zOiBbUHJvcGVydHlNaXhpbl0sXHJcbiAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yVHlwZVJhZGlvQXJyJyxcclxuICAgIG5hbWU6ICdtYWluLXRvb2wtZWRpdG9yLXR5cGUtcmFkaW9BcnInLFxyXG4gICAgZGF0YSAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdmFsOiBmYWxzZSxcclxuICAgICAgICAgICAgYXJyTGlzdDpbXSxcclxuICAgICAgICAgICAgbW9kYWxTaG93OiBmYWxzZSxcclxuICAgICAgICAgICAgdGV4dEFyZWE6XCJcIixcclxuICAgICAgICAgICAgQXJyTGlzdEl0ZW06IFtdLFxyXG4gICAgICAgIH07XHJcbiAgICB9LFxyXG4gICAgbW91bnRlZCAoKSB7XHJcbiAgICAgICAgdGhpcy5pbml0Q3VycnRGaWVsZCgpO1xyXG4gICAgfSxcclxuICAgIGNvbXB1dGVkOiB7XHJcbiAgICAgICAgZ2V0QXJyTGlzdDp7XHJcbiAgICAgICAgICAgIGdldCgpIHtcclxuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcy5nZXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgICAgICAvLyDkuLrkuovku7bmlrDlop7kuIDpoblcclxuICAgICAgICAgICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEucmFkaW9BcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5yYWRpb0FyciA9IFt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIumAiemhuTFcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwi6YCJ6aG5MVwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSx7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIumAiemhuTJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwi6YCJ6aG5MlwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSx7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIumAiemhuTNcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwi6YCJ6aG5M1wiXHJcbiAgICAgICAgICAgICAgICAgICAgfV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudEluc3RhbmNlLmRhdGEucmFkaW9BcnI7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNldCh2KSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEucmFkaW9BcnIgPSB2XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSxcclxuICAgICAgICBhcHBsaWNhdGlvblN0YXRlICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdmlld3BvcnRTdGF0ZSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgbWV0aG9kczoge1xyXG4gICAgICAgIHNldFJhZGlvVmFsdWUoaXRlbSl7XHJcbiAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhpdGVtKTtcclxuICAgICAgICAgICAgaWYoaXRlbSl7XHJcbiAgICAgICAgICAgICAgICBpdGVtLnZhbHVlPWl0ZW0ubGFiZWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGRlbEFycihpbmRleCl7XHJcbiAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvZGVsUmFkaW9FdmVudEFycicse2luZGV4OmluZGV4fSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBhZGRBcnIoKXtcclxuICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9hZGRSYWRpb0V2ZW50QXJyJyx7fSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBoYW5kbGVDaGFuZ2UgKCkge1xyXG5cclxuICAgICAgICB9LFxyXG4gICAgICAgIC8vbm90ZSDmibnph4/nvJbovpFcclxuICAgICAgICBiYXRjaEVkaXRvcigpIHtcclxuICAgICAgICAgICAgdGhpcy5tb2RhbFNob3cgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLkFyckxpc3RJdGVtID0gW107XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT0wOyBpPHRoaXMuZ2V0QXJyTGlzdC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5BcnJMaXN0SXRlbS5wdXNoKHRoaXMuZ2V0QXJyTGlzdFtpXS5sYWJlbClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnRleHRBcmVhID0gdGhpcy5BcnJMaXN0SXRlbS5qb2luKCdcXG4nKVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb2sgKCkge1xyXG4gICAgICAgICAgICB0aGlzLkFyckxpc3RJdGVtID0gW107XHJcbiAgICAgICAgICAgIHRoaXMuQXJyTGlzdEl0ZW0gPSB0aGlzLnRleHRBcmVhLnNwbGl0KCdcXG4nKTtcclxuICAgICAgICAgICAgdGhpcy5nZXRBcnJMaXN0ID0gdGhpcy5BcnJMaXN0SXRlbS5tYXAoaXRlbT0+e1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICh7bGFiZWw6aXRlbSx2YWx1ZTppdGVtfSlcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjYW5jZWwgKCkge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGFsU2hvdyA9IGZhbHNlXHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIHdhdGNoOiB7XHJcbiAgICAgICAgdmFsIChuLCBvKSB7XHJcbiAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaW5wdXQxIChuLCBvKSB7XHJcbiAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaW5wdXQyIChuLCBvKSB7XHJcbiAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgc2NvcGVkIGxhbmc9XCJsZXNzXCI+XHJcbiAgICAudG9vbC10eXBlLXJhZGlvQXJyIHtcclxuICAgICAgICBtYXJnaW46IDEwcHggOHB4IDA7XHJcbiAgICAgICAgLnJhZGlvQXJyLXRvb2wtdHlwZS1kaXYgIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHggOHB4IDA7XHJcbiAgICAgICAgICAgIC5yYWRpb0Fyci1lZGl0b3JUZXh0U3R5bGUge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjMTkxZjI1O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgICAgICAgICAgICAgLnJhZGlvQXJyLWVkaXRvck1heEZvbnRTdHlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoMjUsMzEsMzcsLjQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5yYWRpb0Fyci1lZGl0b3JNYXhGb250U3R5bGVGYWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmVkO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmFkaW9BcnItZWRpdG9ySW5wdXQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmFkaW9BcnItZWRpdG9ySW5wdXRGYWxzZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCByZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJhZGlvQXJyLWVkaXRvckNvbnRlbnRTdHlsZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDhweCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pdnUtaW5wdXQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLml2dS1pbnB1dCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yYWRpb0Fyci9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///113\n");
807
808/***/ }),
809/* 114 */
810/***/ (function(module, exports, __webpack_require__) {
811
812"use strict";
813eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(371);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeCellIdentityCheck',\n name: 'main-tool-editor-type-cellIdentityCheck',\n data: function data() {\n return {\n val: this.editor.val || '',\n tableProp: localStorage.checkProp\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n if (localStorage.checkProp && localStorage.checkProp != null) {} else {\n return;\n }\n var pageObj = eval('(' + localStorage.checkProp + ')');\n var _data = pageObj || [];\n return _data;\n }\n },\n methods: {\n initCurrtField: function initCurrtField() {\n var props = this.instanceInfo.vm.$data;\n var val = _.get(props, this.field);\n if (val !== undefined) {\n this.val = val;\n }\n },\n handleChange: function handleChange() {}\n },\n mounted: function mounted() {\n debugger;\n this.initCurrtField();\n },\n\n watch: {\n field: function field(n, o) {\n\n if (n === o) {\n return;\n }\n deep: true;\n },\n val: function val(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsSWRlbnRpdHlDaGVjay9pbmRleC52dWU/YTg1NCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFXQSxVOztBQUNBOzs7Ozs7a0JBQ0E7QUFDQSwyQ0FDQSxVQURBLENBREE7QUFJQSxvREFKQTtBQUtBLG1EQUxBO0FBTUEsbURBTkE7QUFPQSxRQVBBLGtCQU9BO0FBQ0E7QUFDQSxzQ0FEQTtBQUVBO0FBRkE7QUFJQSxLQVpBOztBQWFBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLEtBYkE7QUFpQkE7QUFDQSx3QkFEQSw4QkFDQTtBQUNBO0FBQ0EsU0FIQTtBQUlBLHFCQUpBLDJCQUlBO0FBQ0E7QUFDQSxTQU5BO0FBT0EsbUJBUEEseUJBT0E7QUFDQSwyRUFFQSxDQUZBLE1BRUE7QUFLQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUF0QkEsS0FqQkE7QUF5Q0E7QUFDQSxzQkFEQSw0QkFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQVBBO0FBUUEsb0JBUkEsMEJBUUEsQ0FFQTtBQVZBLEtBekNBO0FBcURBLFdBckRBLHFCQXFEQTtBQUNBO0FBQ0E7QUFDQSxLQXhEQTs7QUF5REE7QUFDQSxhQURBLGlCQUNBLENBREEsRUFDQSxDQURBLEVBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQSxTQVRBO0FBVUEsV0FWQSxlQVVBLENBVkEsRUFVQSxDQVZBLEVBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZkE7QUF6REEsQyIsImZpbGUiOiIxMTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cclxuICAgICAgICA8Q29udGFpbmVyPlxyXG4gICAgICAgIDxTZWxlY3Qgdi1tb2RlbD1cInZhbFwiIHN0eWxlPVwid2lkdGg6OTYuNSU7XCIgY2xlYXJhYmxlPlxyXG4gICAgICAgICAgICA8T3B0aW9uIHYtZm9yPVwiaXRlbSBpbiBvcHRpb25zRGF0YVwiIDp2YWx1ZT1cIml0ZW0ubmFtZXx8JydcIiA6a2V5PVwiaXRlbS5uYW1lXCI+e3sgaXRlbS5uYW1lIH19PC9PcHRpb24+XHJcbiAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICA8L0NvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIGltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbiAgICBpbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuICAgIGV4cG9ydCBkZWZhdWx0IHtcclxuICAgICAgICBjb21wb25lbnRzOiB7XHJcbiAgICAgICAgICAgIC4uLmNvbXBvbmVudHNcclxuICAgICAgICB9LFxyXG4gICAgICAgIG1peGluczogW1Byb3BlcnR5TWl4aW5dLFxyXG4gICAgICAgIHBvc2l0aW9uOiAnbWFpblRvb2xFZGl0b3JUeXBlQ2VsbElkZW50aXR5Q2hlY2snLFxyXG4gICAgICAgIG5hbWU6ICdtYWluLXRvb2wtZWRpdG9yLXR5cGUtY2VsbElkZW50aXR5Q2hlY2snLFxyXG4gICAgICAgIGRhdGEgKCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgdmFsOnRoaXMuZWRpdG9yLnZhbHx8JycsXHJcbiAgICAgICAgICAgICAgICB0YWJsZVByb3A6bG9jYWxTdG9yYWdlLmNoZWNrUHJvcFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcHJvcHM6IHtcclxuICAgICAgICAgICAgaW5zdGFuY2VJbmZvOiBPYmplY3QsXHJcbiAgICAgICAgICAgIGVkaXRvcjogT2JqZWN0XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wdXRlZDoge1xyXG4gICAgICAgICAgICBhcHBsaWNhdGlvblN0YXRlICgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5hcHBsaWNhdGlvbjtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdmlld3BvcnRTdGF0ZSAoKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQ7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIG9wdGlvbnNEYXRhICgpIHtcclxuICAgICAgICAgICAgICAgIGlmIChsb2NhbFN0b3JhZ2UuY2hlY2tQcm9wICYmIGxvY2FsU3RvcmFnZS5jaGVja1Byb3AgIT0gbnVsbCkge1xyXG5cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLyp0aGlzLiRNb2RhbC5zdWNjZXNzKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5Y+L5oOF5o+Q56S6XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwi6K+35YWI5YWo5bGA6K6+572u77yBXCJcclxuICAgICAgICAgICAgICAgICAgICB9KTsqL1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxldCBwYWdlT2JqID0gZXZhbCgnKCcgKyBsb2NhbFN0b3JhZ2UuY2hlY2tQcm9wICsgJyknKTsvL0pTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwYWdlXCIpKTtcclxuICAgICAgICAgICAgICAgIC8vICB0aXRsZTpcIlwiLFxyXG4gICAgICAgICAgICAgICAgbGV0IF9kYXRhID0gIHBhZ2VPYmp8fFtdO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9kYXRhO1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWV0aG9kczoge1xyXG4gICAgICAgICAgICBpbml0Q3VycnRGaWVsZCAoKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgcHJvcHMgPSB0aGlzLmluc3RhbmNlSW5mby52bS4kZGF0YTtcclxuICAgICAgICAgICAgICAgIGxldCB2YWwgPSBfLmdldChwcm9wcywgdGhpcy5maWVsZCk7XHJcbiAgICAgICAgICAgICAgICBpZiAodmFsICE9PSB1bmRlZmluZWQpIHsvL+aUueS4unVuZGVmaW5lZCzmoKHpqoxib29sZWFu57G75Z6LZmFsc2XplJnor69cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbCA9IHZhbDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaGFuZGxlQ2hhbmdlICgpIHtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIG1vdW50ZWQoKSB7XHJcbiAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICB0aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICB3YXRjaDoge1xyXG4gICAgICAgICAgICBmaWVsZCAobiwgbykge1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZGVlcDp0cnVlLy/lr7nosaHlhoXpg6jnmoTlsZ7mgKfnm5HlkKzvvIzkuZ/lj6vmt7Hluqbnm5HlkKxcclxuXHJcbiAgICAgICAgICAgICAgICAvLyAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB2YWwgKG4sIG8pIHtcclxuICAgICAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsSWRlbnRpdHlDaGVjay9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///114\n");
814
815/***/ }),
816/* 115 */
817/***/ (function(module, exports, __webpack_require__) {
818
819"use strict";
820eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(376);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeCellSelect',\n name: 'main-tool-editor-type-cellSelect',\n data: function data() {\n return {\n val: this.editor.val || '',\n propArr: []\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n var _data = this.propArr || [];\n return _data;\n }\n },\n methods: {\n initCurrtField: function initCurrtField() {\n var props = this.instanceInfo.vm.$data;\n var val = _.get(props, this.field);\n if (val !== undefined) {\n this.val = val;\n }\n },\n handleChange: function handleChange() {}\n },\n mounted: function mounted() {\n\n var _this = this;\n _this.propArr = configPageIde.cellType;\n _this.initCurrtField();\n },\n\n watch: {\n val: function val(n, o) {\n\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsU2VsZWN0L2luZGV4LnZ1ZT8zOTE1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQVdBLFU7O0FBQ0E7Ozs7OztrQkFDQTtBQUNBLDJDQUNBLFVBREEsQ0FEQTtBQUlBLG9EQUpBO0FBS0EsNENBTEE7QUFNQSw0Q0FOQTtBQU9BLFFBUEEsa0JBT0E7QUFDQTtBQUNBLHNDQURBO0FBRUE7QUFGQTtBQUlBLEtBWkE7O0FBYUE7QUFDQSw0QkFEQTtBQUVBO0FBRkEsS0FiQTtBQWlCQTtBQUNBLHdCQURBLDhCQUNBO0FBQ0E7QUFDQSxTQUhBO0FBSUEscUJBSkEsMkJBSUE7QUFDQTtBQUNBLFNBTkE7QUFPQSxtQkFQQSx5QkFPQTtBQUNBO0FBQ0E7QUFDQTtBQVZBLEtBakJBO0FBNkJBO0FBQ0Esc0JBREEsNEJBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FQQTtBQVFBLG9CQVJBLDBCQVFBLENBRUE7QUFWQSxLQTdCQTtBQXlDQSxXQXpDQSxxQkF5Q0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0E5Q0E7O0FBK0NBO0FBQ0EsV0FEQSxlQUNBLENBREEsRUFDQSxDQURBLEVBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVJBO0FBL0NBLEMiLCJmaWxlIjoiMTE1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gICAgPGRpdiBzdHlsZT1cIndpZHRoOiAxMDAlXCI+XHJcbiAgICAgICAgPENvbnRhaW5lcj5cclxuICAgICAgICAgICAgPFNlbGVjdCB2LW1vZGVsPVwidmFsXCIgc3R5bGU9XCJ3aWR0aDo5Ni41JTtcIiBjbGVhcmFibGU+XHJcbiAgICAgICAgICAgICAgICA8T3B0aW9uIHYtZm9yPVwiaXRlbSBpbiBvcHRpb25zRGF0YVwiIDp2YWx1ZT1cIml0ZW0udmFsdWVcIiA6a2V5PVwiaXRlbS52YWx1ZVwiPnt7IGl0ZW0ua2V5IH19PC9PcHRpb24+XHJcbiAgICAgICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQgKiBhcyBjb21wb25lbnRzIGZyb20gJy4vc3R5bGUnO1xyXG5pbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgY29tcG9uZW50czoge1xyXG4gICAgICAgIC4uLmNvbXBvbmVudHNcclxuICAgIH0sXHJcbiAgICBtaXhpbnM6IFtQcm9wZXJ0eU1peGluXSxcclxuICAgIHBvc2l0aW9uOiAnbWFpblRvb2xFZGl0b3JUeXBlQ2VsbFNlbGVjdCcsXHJcbiAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLWNlbGxTZWxlY3QnLFxyXG4gICAgZGF0YSAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdmFsOnRoaXMuZWRpdG9yLnZhbHx8JycsXHJcbiAgICAgICAgICAgIHByb3BBcnI6W11cclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIHByb3BzOiB7XHJcbiAgICAgICAgaW5zdGFuY2VJbmZvOiBPYmplY3QsXHJcbiAgICAgICAgZWRpdG9yOiBPYmplY3RcclxuICAgIH0sXHJcbiAgICBjb21wdXRlZDoge1xyXG4gICAgICAgIGFwcGxpY2F0aW9uU3RhdGUgKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUuYXBwbGljYXRpb247XHJcbiAgICAgICAgfSxcclxuICAgICAgICB2aWV3cG9ydFN0YXRlICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb3B0aW9uc0RhdGEgKCkge1xyXG4gICAgICAgICAgICBsZXQgX2RhdGEgPSB0aGlzLnByb3BBcnIgfHwgW107XHJcbiAgICAgICAgICAgIHJldHVybiBfZGF0YTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgbWV0aG9kczoge1xyXG4gICAgICAgIGluaXRDdXJydEZpZWxkICgpIHtcclxuICAgICAgICAgICAgbGV0IHByb3BzID0gdGhpcy5pbnN0YW5jZUluZm8udm0uJGRhdGE7XHJcbiAgICAgICAgICAgIGxldCB2YWwgPSBfLmdldChwcm9wcywgdGhpcy5maWVsZCk7XHJcbiAgICAgICAgICAgIGlmICh2YWwgIT09IHVuZGVmaW5lZCkgey8v5pS55Li6dW5kZWZpbmVkLOagoemqjGJvb2xlYW7nsbvlnotmYWxzZemUmeivr1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWwgPSB2YWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGhhbmRsZUNoYW5nZSAoKSB7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtb3VudGVkKCl7XHJcblxyXG4gICAgICAgICAgICBsZXQgX3RoaXM9dGhpcztcclxuICAgICAgICAgICAgX3RoaXMucHJvcEFycj1jb25maWdQYWdlSWRlLmNlbGxUeXBlO1xyXG4gICAgICAgICAgICBfdGhpcy5pbml0Q3VycnRGaWVsZCgpO1xyXG4gICAgfSxcclxuICAgIHdhdGNoOiB7XHJcbiAgICAgICAgdmFsIChuLCBvKSB7XHJcblxyXG5cclxuICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxTZWxlY3QvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///115\n");
821
822/***/ }),
823/* 116 */
824/***/ (function(module, exports, __webpack_require__) {
825
826"use strict";
827eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(381);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeCellTable',\n name: 'main-tool-editor-type-cellTable',\n data: function data() {\n return {\n val: this.editor.val || '',\n tableProp: localStorage.tableProp\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n debugger;\n if (localStorage.tableProp && localStorage.tableProp != null) {} else {\n return;\n }\n var pageObj = eval('(' + localStorage.tableProp + ')');\n console.log(pageObj);\n\n var _data = pageObj || [];\n return _data;\n }\n },\n methods: {\n initCurrtField: function initCurrtField() {\n var props = this.instanceInfo.vm.$data;\n var val = _.get(props, this.field);\n if (val !== undefined) {\n this.val = val;\n }\n },\n handleChange: function handleChange() {}\n },\n mounted: function mounted() {\n debugger;\n this.initCurrtField();\n },\n\n watch: {\n field: function field(n, o) {\n\n if (n === o) {\n return;\n }\n deep: true;\n },\n val: function val(n, o) {\n debugger;\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsVGFibGUvaW5kZXgudnVlPzliZDUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBV0EsVTs7QUFDQTs7Ozs7O2tCQUNBO0FBQ0EsMkNBQ0EsVUFEQSxDQURBO0FBSUEsb0RBSkE7QUFLQSwyQ0FMQTtBQU1BLDJDQU5BO0FBT0EsUUFQQSxrQkFPQTtBQUNBO0FBQ0Esc0NBREE7QUFFQTtBQUZBO0FBSUEsS0FaQTs7QUFhQTtBQUNBLDRCQURBO0FBRUE7QUFGQSxLQWJBO0FBaUJBO0FBQ0Esd0JBREEsOEJBQ0E7QUFDQTtBQUNBLFNBSEE7QUFJQSxxQkFKQSwyQkFJQTtBQUNBO0FBQ0EsU0FOQTtBQU9BLG1CQVBBLHlCQU9BO0FBQ0E7QUFDQSwyRUFFQSxDQUZBLE1BRUE7QUFLQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBRUE7QUF4QkEsS0FqQkE7QUEyQ0E7QUFDQSxzQkFEQSw0QkFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQVBBO0FBUUEsb0JBUkEsMEJBUUEsQ0FFQTtBQVZBLEtBM0NBO0FBdURBLFdBdkRBLHFCQXVEQTtBQUNBO0FBQ0E7QUFDQSxLQTFEQTs7QUEyREE7QUFDQSxhQURBLGlCQUNBLENBREEsRUFDQSxDQURBLEVBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQSxTQVRBO0FBVUEsV0FWQSxlQVVBLENBVkEsRUFVQSxDQVZBLEVBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFoQkE7QUEzREEsQyIsImZpbGUiOiIxMTYuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cclxuICAgICAgICA8Q29udGFpbmVyPlxyXG4gICAgICAgIDxTZWxlY3Qgdi1tb2RlbD1cInZhbFwiIHN0eWxlPVwid2lkdGg6OTYuNSU7XCIgPlxyXG4gICAgICAgICAgICA8T3B0aW9uIHYtZm9yPVwiaXRlbSBpbiBvcHRpb25zRGF0YVwiIDp2YWx1ZT1cIml0ZW0ubmFtZXx8JydcIiA6a2V5PVwiaXRlbS5uYW1lXCI+e3sgaXRlbS5uYW1lIH19PC9PcHRpb24+XHJcbiAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICA8L0NvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIGltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbiAgICBpbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuICAgIGV4cG9ydCBkZWZhdWx0IHtcclxuICAgICAgICBjb21wb25lbnRzOiB7XHJcbiAgICAgICAgICAgIC4uLmNvbXBvbmVudHNcclxuICAgICAgICB9LFxyXG4gICAgICAgIG1peGluczogW1Byb3BlcnR5TWl4aW5dLFxyXG4gICAgICAgIHBvc2l0aW9uOiAnbWFpblRvb2xFZGl0b3JUeXBlQ2VsbFRhYmxlJyxcclxuICAgICAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLWNlbGxUYWJsZScsXHJcbiAgICAgICAgZGF0YSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICB2YWw6dGhpcy5lZGl0b3IudmFsfHwnJyxcclxuICAgICAgICAgICAgICAgIHRhYmxlUHJvcDpsb2NhbFN0b3JhZ2UudGFibGVQcm9wXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSxcclxuICAgICAgICBwcm9wczoge1xyXG4gICAgICAgICAgICBpbnN0YW5jZUluZm86IE9iamVjdCxcclxuICAgICAgICAgICAgZWRpdG9yOiBPYmplY3RcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXB1dGVkOiB7XHJcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uU3RhdGUgKCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB2aWV3cG9ydFN0YXRlICgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgb3B0aW9uc0RhdGEgKCkge1xyXG4gICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICBpZiAobG9jYWxTdG9yYWdlLnRhYmxlUHJvcCAmJiBsb2NhbFN0b3JhZ2UudGFibGVQcm9wICE9IG51bGwpIHtcclxuXHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC8qdGhpcy4kTW9kYWwuc3VjY2Vzcyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuWPi+aDheaPkOekulwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIuivt+WFiOWFqOWxgOiuvue9ru+8gVwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7Ki9cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgcGFnZU9iaiA9IGV2YWwoJygnICsgbG9jYWxTdG9yYWdlLnRhYmxlUHJvcCArICcpJyk7Ly9KU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwicGFnZVwiKSk7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhwYWdlT2JqKTtcclxuICAgICAgICAgICAgICAgIC8vICB0aXRsZTpcIlwiLFxyXG4gICAgICAgICAgICAgICAgbGV0IF9kYXRhID0gIHBhZ2VPYmp8fFtdO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9kYXRhO1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWV0aG9kczoge1xyXG4gICAgICAgICAgICBpbml0Q3VycnRGaWVsZCAoKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgcHJvcHMgPSB0aGlzLmluc3RhbmNlSW5mby52bS4kZGF0YTtcclxuICAgICAgICAgICAgICAgIGxldCB2YWwgPSBfLmdldChwcm9wcywgdGhpcy5maWVsZCk7XHJcbiAgICAgICAgICAgICAgICBpZiAodmFsICE9PSB1bmRlZmluZWQpIHsvL+aUueS4unVuZGVmaW5lZCzmoKHpqoxib29sZWFu57G75Z6LZmFsc2XplJnor69cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbCA9IHZhbDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaGFuZGxlQ2hhbmdlICgpIHtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIG1vdW50ZWQoKSB7XHJcbiAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICB0aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICB3YXRjaDoge1xyXG4gICAgICAgICAgICBmaWVsZCAobiwgbykge1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZGVlcDp0cnVlLy/lr7nosaHlhoXpg6jnmoTlsZ7mgKfnm5HlkKzvvIzkuZ/lj6vmt7Hluqbnm5HlkKxcclxuXHJcbiAgICAgICAgICAgICAgICAvLyAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB2YWwgKG4sIG8pIHtcclxuICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZS9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///116\n");
828
829/***/ }),
830/* 117 */
831/***/ (function(module, exports, __webpack_require__) {
832
833"use strict";
834eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(386);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeCellTableColumn',\n name: 'main-tool-editor-type-cellTableColumn',\n data: function data() {\n return {\n val: this.editor.val || ''\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n if (localStorage.tableArr && localStorage.tableArr != null) {} else {\n return;\n }\n var pageObj = eval('(' + localStorage.tableArr + ')');\n var _data = pageObj || [];\n return _data;\n }\n },\n methods: {\n initCurrtField: function initCurrtField() {\n var props = this.instanceInfo.vm.$data;\n var val = _.get(props, this.field);\n if (val !== undefined) {\n this.val = val;\n }\n },\n handleChange: function handleChange() {}\n },\n mounted: function mounted() {\n this.initCurrtField();\n },\n\n watch: {\n field: function field(n, o) {\n\n if (n === o) {\n return;\n }\n deep: true;\n },\n val: function val(n, o) {\n debugger;\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsVGFibGVDb2x1bW4vaW5kZXgudnVlPzhjYWYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBV0EsVTs7QUFDQTs7Ozs7O2tCQUNBO0FBQ0EsMkNBQ0EsVUFEQSxDQURBO0FBSUEsb0RBSkE7QUFLQSxpREFMQTtBQU1BLGlEQU5BO0FBT0EsUUFQQSxrQkFPQTtBQUNBO0FBQ0E7QUFEQTtBQUdBLEtBWEE7O0FBWUE7QUFDQSw0QkFEQTtBQUVBO0FBRkEsS0FaQTtBQWdCQTtBQUNBLHdCQURBLDhCQUNBO0FBQ0E7QUFDQSxTQUhBO0FBSUEscUJBSkEsMkJBSUE7QUFDQTtBQUNBLFNBTkE7QUFPQSxtQkFQQSx5QkFPQTtBQUNBLHlFQUVBLENBRkEsTUFFQTtBQUtBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQXRCQSxLQWhCQTtBQXdDQTtBQUNBLHNCQURBLDRCQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBUEE7QUFRQSxvQkFSQSwwQkFRQSxDQUVBO0FBVkEsS0F4Q0E7QUFvREEsV0FwREEscUJBb0RBO0FBQ0E7QUFDQSxLQXREQTs7QUF1REE7QUFDQSxhQURBLGlCQUNBLENBREEsRUFDQSxDQURBLEVBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQSxTQVRBO0FBVUEsV0FWQSxlQVVBLENBVkEsRUFVQSxDQVZBLEVBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFoQkE7QUF2REEsQyIsImZpbGUiOiIxMTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cclxuICAgICAgICA8Q29udGFpbmVyPlxyXG4gICAgICAgIDxTZWxlY3Qgdi1tb2RlbD1cInZhbFwiIHN0eWxlPVwid2lkdGg6OTYuNSU7XCIgPlxyXG4gICAgICAgICAgICA8T3B0aW9uIHYtZm9yPVwiaXRlbSBpbiBvcHRpb25zRGF0YVwiIDp2YWx1ZT1cIml0ZW0udGFibGVOYW1lfHwnJ1wiIDprZXk9XCJpdGVtLnRhYmxlTmFtZVwiPnt7IGl0ZW0udGFibGVOYW1lIH19PC9PcHRpb24+XHJcbiAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICA8L0NvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIGltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbiAgICBpbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuICAgIGV4cG9ydCBkZWZhdWx0IHtcclxuICAgICAgICBjb21wb25lbnRzOiB7XHJcbiAgICAgICAgICAgIC4uLmNvbXBvbmVudHNcclxuICAgICAgICB9LFxyXG4gICAgICAgIG1peGluczogW1Byb3BlcnR5TWl4aW5dLFxyXG4gICAgICAgIHBvc2l0aW9uOiAnbWFpblRvb2xFZGl0b3JUeXBlQ2VsbFRhYmxlQ29sdW1uJyxcclxuICAgICAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLWNlbGxUYWJsZUNvbHVtbicsXHJcbiAgICAgICAgZGF0YSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICB2YWw6dGhpcy5lZGl0b3IudmFsfHwnJ1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcHJvcHM6IHtcclxuICAgICAgICAgICAgaW5zdGFuY2VJbmZvOiBPYmplY3QsXHJcbiAgICAgICAgICAgIGVkaXRvcjogT2JqZWN0XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wdXRlZDoge1xyXG4gICAgICAgICAgICBhcHBsaWNhdGlvblN0YXRlICgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5hcHBsaWNhdGlvbjtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdmlld3BvcnRTdGF0ZSAoKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQ7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIG9wdGlvbnNEYXRhICgpIHtcclxuICAgICAgICAgICAgICAgIGlmIChsb2NhbFN0b3JhZ2UudGFibGVBcnIgJiYgbG9jYWxTdG9yYWdlLnRhYmxlQXJyICE9IG51bGwpIHtcclxuXHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC8qdGhpcy4kTW9kYWwuc3VjY2Vzcyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuWPi+aDheaPkOekulwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIuivt+WFiOWFqOWxgOiuvue9ru+8gVwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7Ki9cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgcGFnZU9iaiA9IGV2YWwoJygnICsgbG9jYWxTdG9yYWdlLnRhYmxlQXJyICsgJyknKTsvL0pTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwYWdlXCIpKTtcclxuICAgICAgICAgICAgICAgIC8vICB0aXRsZTpcIlwiLFxyXG4gICAgICAgICAgICAgICAgbGV0IF9kYXRhID0gIHBhZ2VPYmp8fFtdO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9kYXRhO1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWV0aG9kczoge1xyXG4gICAgICAgICAgICBpbml0Q3VycnRGaWVsZCAoKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgcHJvcHMgPSB0aGlzLmluc3RhbmNlSW5mby52bS4kZGF0YTtcclxuICAgICAgICAgICAgICAgIGxldCB2YWwgPSBfLmdldChwcm9wcywgdGhpcy5maWVsZCk7XHJcbiAgICAgICAgICAgICAgICBpZiAodmFsICE9PSB1bmRlZmluZWQpIHsvL+aUueS4unVuZGVmaW5lZCzmoKHpqoxib29sZWFu57G75Z6LZmFsc2XplJnor69cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbCA9IHZhbDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaGFuZGxlQ2hhbmdlICgpIHtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIG1vdW50ZWQoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdEN1cnJ0RmllbGQoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHdhdGNoOiB7XHJcbiAgICAgICAgICAgIGZpZWxkIChuLCBvKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBkZWVwOnRydWUvL+WvueixoeWGhemDqOeahOWxnuaAp+ebkeWQrO+8jOS5n+WPq+a3seW6puebkeWQrFxyXG5cclxuICAgICAgICAgICAgICAgIC8vICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHZhbCAobiwgbykge1xyXG4gICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICBpZiAobiA9PT0gbykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2VsbFRhYmxlQ29sdW1uL2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///117\n");
835
836/***/ }),
837/* 118 */
838/***/ (function(module, exports, __webpack_require__) {
839
840"use strict";
841eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(391);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeCellTableProp',\n name: 'main-tool-editor-type-cellTableProp',\n data: function data() {\n return {\n val: this.editor.val || '',\n propArr: []\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n var _data = this.propArr || [];\n return _data;\n }\n },\n methods: {\n initCurrtField: function initCurrtField() {\n var props = this.instanceInfo.vm.$data;\n var val = _.get(props, this.field);\n if (val !== undefined) {\n this.val = val;\n }\n },\n handleChange: function handleChange() {}\n },\n mounted: function mounted() {\n var _this = this;\n if (localStorage.tableProp && localStorage.tableProp != null) {} else {\n return;\n }\n var pageObj = eval('(' + localStorage.tableProp + ')');\n _this.propArr = pageObj;\n _this.initCurrtField();\n },\n\n watch: {\n val: function val(n, o) {\n\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsVGFibGVQcm9wL2luZGV4LnZ1ZT85N2Q2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQVdBLFU7O0FBQ0E7Ozs7OztrQkFDQTtBQUNBLDJDQUNBLFVBREEsQ0FEQTtBQUlBLG9EQUpBO0FBS0EsK0NBTEE7QUFNQSwrQ0FOQTtBQU9BLFFBUEEsa0JBT0E7QUFDQTtBQUNBLHNDQURBO0FBRUE7QUFGQTtBQUlBLEtBWkE7O0FBYUE7QUFDQSw0QkFEQTtBQUVBO0FBRkEsS0FiQTtBQWlCQTtBQUNBLHdCQURBLDhCQUNBO0FBQ0E7QUFDQSxTQUhBO0FBSUEscUJBSkEsMkJBSUE7QUFDQTtBQUNBLFNBTkE7QUFPQSxtQkFQQSx5QkFPQTtBQUNBO0FBQ0E7QUFDQTtBQVZBLEtBakJBO0FBNkJBO0FBQ0Esc0JBREEsNEJBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FQQTtBQVFBLG9CQVJBLDBCQVFBLENBRUE7QUFWQSxLQTdCQTtBQXlDQSxXQXpDQSxxQkF5Q0E7QUFDQTtBQUNBLHVFQUVBLENBRkEsTUFFQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQXZEQTs7QUF3REE7QUFDQSxXQURBLGVBQ0EsQ0FEQSxFQUNBLENBREEsRUFDQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUkE7QUF4REEsQyIsImZpbGUiOiIxMTguanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cclxuICAgICAgICA8Q29udGFpbmVyPlxyXG4gICAgICAgICAgICA8U2VsZWN0IHYtbW9kZWw9XCJ2YWxcIiBzdHlsZT1cIndpZHRoOjk2LjUlO1wiIGNsZWFyYWJsZT5cclxuICAgICAgICAgICAgICAgIDxPcHRpb24gdi1mb3I9XCJpdGVtIGluIG9wdGlvbnNEYXRhXCIgOnZhbHVlPVwiaXRlbS5uYW1lXCIgOmtleT1cIml0ZW0ubmFtZVwiPnt7IGl0ZW0ubmFtZSB9fTwvT3B0aW9uPlxyXG4gICAgICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgICA8L0NvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0ICogYXMgY29tcG9uZW50cyBmcm9tICcuL3N0eWxlJztcclxuaW1wb3J0IHtQcm9wZXJ0eU1peGlufSBmcm9tICcuLi8uLi9zZXJ2aWNlL21haW4tdG9vbC1lZGl0b3ItdHlwZS1taXhpbic7XHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICAgIGNvbXBvbmVudHM6IHtcclxuICAgICAgICAuLi5jb21wb25lbnRzXHJcbiAgICB9LFxyXG4gICAgbWl4aW5zOiBbUHJvcGVydHlNaXhpbl0sXHJcbiAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yVHlwZUNlbGxUYWJsZVByb3AnLFxyXG4gICAgbmFtZTogJ21haW4tdG9vbC1lZGl0b3ItdHlwZS1jZWxsVGFibGVQcm9wJyxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHZhbDp0aGlzLmVkaXRvci52YWx8fCcnLFxyXG4gICAgICAgICAgICBwcm9wQXJyOltdXHJcbiAgICAgICAgfTtcclxuICAgIH0sXHJcbiAgICBwcm9wczoge1xyXG4gICAgICAgIGluc3RhbmNlSW5mbzogT2JqZWN0LFxyXG4gICAgICAgIGVkaXRvcjogT2JqZWN0XHJcbiAgICB9LFxyXG4gICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICBhcHBsaWNhdGlvblN0YXRlICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdmlld3BvcnRTdGF0ZSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG9wdGlvbnNEYXRhICgpIHtcclxuICAgICAgICAgICAgbGV0IF9kYXRhID0gdGhpcy5wcm9wQXJyIHx8IFtdO1xyXG4gICAgICAgICAgICByZXR1cm4gX2RhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIG1ldGhvZHM6IHtcclxuICAgICAgICBpbml0Q3VycnRGaWVsZCAoKSB7XHJcbiAgICAgICAgICAgIGxldCBwcm9wcyA9IHRoaXMuaW5zdGFuY2VJbmZvLnZtLiRkYXRhO1xyXG4gICAgICAgICAgICBsZXQgdmFsID0gXy5nZXQocHJvcHMsIHRoaXMuZmllbGQpO1xyXG4gICAgICAgICAgICBpZiAodmFsICE9PSB1bmRlZmluZWQpIHsvL+aUueS4unVuZGVmaW5lZCzmoKHpqoxib29sZWFu57G75Z6LZmFsc2XplJnor69cclxuICAgICAgICAgICAgICAgIHRoaXMudmFsID0gdmFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBoYW5kbGVDaGFuZ2UgKCkge1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgbW91bnRlZCgpe1xyXG4gICAgICAgICAgICBsZXQgX3RoaXM9dGhpcztcclxuICAgICAgICAgICAgaWYgKGxvY2FsU3RvcmFnZS50YWJsZVByb3AgJiYgbG9jYWxTdG9yYWdlLnRhYmxlUHJvcCAhPSBudWxsKSB7XHJcblxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIC8qdGhpcy4kTW9kYWwuc3VjY2Vzcyh7XHJcbiAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuWPi+aDheaPkOekulwiLFxyXG4gICAgICAgICAgICAgICAgICBjb250ZW50OiBcIuivt+WFiOWFqOWxgOiuvue9ru+8gVwiXHJcbiAgICAgICAgICAgICAgfSk7Ki9cclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IHBhZ2VPYmogPSBldmFsKCcoJyArIGxvY2FsU3RvcmFnZS50YWJsZVByb3AgKyAnKScpO1xyXG4gICAgICAgICAgICBfdGhpcy5wcm9wQXJyPXBhZ2VPYmo7XHJcbiAgICAgICAgICAgIF90aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICB9LFxyXG4gICAgd2F0Y2g6IHtcclxuICAgICAgICB2YWwgKG4sIG8pIHtcclxuXHJcblxyXG4gICAgICAgICAgICBpZiAobiA9PT0gbykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2VsbFRhYmxlUHJvcC9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///118\n");
842
843/***/ }),
844/* 119 */
845/***/ (function(module, exports, __webpack_require__) {
846
847"use strict";
848eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(396);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nvar _mainToolEditorTypeBoxValidateArr = __webpack_require__(21);\n\nvar _mainToolEditorTypeBoxValidateArr2 = _interopRequireDefault(_mainToolEditorTypeBoxValidateArr);\n\nvar _mainToolEditorTypeBoxDynamic = __webpack_require__(68);\n\nvar _mainToolEditorTypeBoxDynamic2 = _interopRequireDefault(_mainToolEditorTypeBoxDynamic);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components, {\n dynamic: _mainToolEditorTypeBoxDynamic2.default,\n validateArr: _mainToolEditorTypeBoxValidateArr2.default\n }),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeCheckboxHeightLevel',\n name: 'main-tool-editor-type-checkboxHeightLevel',\n data: function data() {\n return {\n value: this.editor.value || false\n };\n },\n mounted: function mounted() {\n this.initCurrtField();\n this.setInstanceProps(this.value);\n },\n\n computed: {\n getRomout: function getRomout() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n if (!currentInstance.data.property.dynamic) {\n currentInstance.data.property.dynamic = {\n label: \"\",\n value: \"\",\n url: \"\",\n paramsList: []\n };\n }\n return currentInstance.data.property.dynamic;\n },\n applicationState: function applicationState() {\n\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n }\n },\n methods: {\n changeVal: function changeVal(el) {\n debugger;\n },\n handleChange: function handleChange() {}\n },\n watch: {\n getRomout: function getRomout(n, o) {},\n value: function value(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jaGVja2JveEhlaWdodExldmVsL2luZGV4LnZ1ZT85YmNkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQStCQSxVOztBQUNBOztBQUNBOzs7O0FBQ0E7Ozs7Ozs7O2tCQUNBO0FBQ0EsMkNBQ0EsVUFEQTtBQUVBLHVEQUZBO0FBR0E7QUFIQSxNQURBO0FBTUEsb0RBTkE7QUFPQSxxREFQQTtBQVFBLHFEQVJBO0FBU0EsUUFUQSxrQkFTQTtBQUNBO0FBQ0E7QUFEQTtBQUdBLEtBYkE7QUFjQSxXQWRBLHFCQWNBO0FBQ0E7QUFDQTtBQUNBLEtBakJBOztBQWtCQTtBQUNBLGlCQURBLHVCQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDZCQURBO0FBRUEsNkJBRkE7QUFHQSwyQkFIQTtBQUlBO0FBSkE7QUFNQTtBQUNBO0FBQ0EsU0FiQTtBQWNBLHdCQWRBLDhCQWNBOztBQUVBO0FBQ0EsU0FqQkE7QUFrQkEscUJBbEJBLDJCQWtCQTtBQUNBO0FBQ0E7QUFwQkEsS0FsQkE7QUF3Q0E7QUFDQSxpQkFEQSxxQkFDQSxFQURBLEVBQ0E7QUFDQTtBQUNBLFNBSEE7QUFJQSxvQkFKQSwwQkFJQSxDQUVBO0FBTkEsS0F4Q0E7QUFnREE7QUFDQSxpQkFEQSxxQkFDQSxDQURBLEVBQ0EsQ0FEQSxFQUNBLENBRUEsQ0FIQTtBQUlBLGFBSkEsaUJBSUEsQ0FKQSxFQUlBLENBSkEsRUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFUQTtBQWhEQSxDIiwiZmlsZSI6IjExOS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDoxMDAlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tc3R5bGVcIj5cclxuICAgICAgICAgICAgPGktc3dpdGNoIHYtbW9kZWw9XCJ2YWx1ZVwiPjwvaS1zd2l0Y2g+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiB2LXNob3c9XCJ2YWx1ZVwiPlxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJpdGVtLXN0eWxlXCI+6ZSu5YC85a+5LWxhYmVsPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8SW5wdXQgc3R5bGU9XCJ3aWR0aDogOTIlO21hcmdpbi1sZWZ0OiAxMHB4O21hcmdpbi1yaWdodDogMTFweDtcIiBjbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgdi1tb2RlbD1cImdldFJvbW91dC5sYWJlbFwiIEBvbi1jaGFuZ2U9XCJjaGFuZ2VWYWwoKVwiLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJpdGVtLXN0eWxlXCI+6ZSu5YC85a+5LXZhbHVlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8SW5wdXQgc3R5bGU9XCJ3aWR0aDogOTIlO21hcmdpbi1sZWZ0OiAxMHB4O21hcmdpbi1yaWdodDogMTFweDtcIiBjbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgdi1tb2RlbD1cImdldFJvbW91dC52YWx1ZVwiIEBvbi1jaGFuZ2U9XCJjaGFuZ2VWYWwoKVwiLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJpdGVtLXN0eWxlXCI+6ZSu5YC85a+5LXVybDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPElucHV0IHN0eWxlPVwid2lkdGg6IDkyJTttYXJnaW4tbGVmdDogMTBweDttYXJnaW4tcmlnaHQ6IDExcHg7XCIgY2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtbW9kZWw9XCJnZXRSb21vdXQudXJsXCIgQG9uLWNoYW5nZT1cImNoYW5nZVZhbCgpXCIvPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZHluYW1pYz48L2R5bmFtaWM+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZS1zdHlsZVwiPuagoemqjDwvZGl2PlxyXG4gICAgICAgICAgICA8dmFsaWRhdGVBcnI+PC92YWxpZGF0ZUFycj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIGltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbiAgICBpbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuICAgIGltcG9ydCB2YWxpZGF0ZUFyciBmcm9tICcuLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXZhbGlkYXRlQXJyJztcclxuICAgIGltcG9ydCBkeW5hbWljIGZyb20gJy4uL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtZHluYW1pYyc7XHJcbiAgICBleHBvcnQgZGVmYXVsdCB7XHJcbiAgICAgICAgY29tcG9uZW50czoge1xyXG4gICAgICAgICAgICAuLi5jb21wb25lbnRzLFxyXG4gICAgICAgICAgICBkeW5hbWljLFxyXG4gICAgICAgICAgICB2YWxpZGF0ZUFyclxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWl4aW5zOiBbUHJvcGVydHlNaXhpbl0sXHJcbiAgICAgICAgcG9zaXRpb246ICdtYWluVG9vbEVkaXRvclR5cGVDaGVja2JveEhlaWdodExldmVsJyxcclxuICAgICAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLWNoZWNrYm94SGVpZ2h0TGV2ZWwnLFxyXG4gICAgICAgIGRhdGEoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5lZGl0b3IudmFsdWUgfHwgZmFsc2VcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG1vdW50ZWQoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdEN1cnJ0RmllbGQoKTtcclxuICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKHRoaXMudmFsdWUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICAgICAgZ2V0Um9tb3V0KCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZSA9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcy5nZXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgICAgICAvL25vdGUg5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmR5bmFtaWMpIHtcclxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5wcm9wZXJ0eS5keW5hbWljID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zTGlzdDogW11cclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmR5bmFtaWM7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uU3RhdGUoKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB2aWV3cG9ydFN0YXRlKCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtZXRob2RzOiB7XHJcbiAgICAgICAgICAgIGNoYW5nZVZhbChlbCkge1xyXG4gICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGhhbmRsZUNoYW5nZSgpIHtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHdhdGNoOiB7XHJcbiAgICAgICAgICAgIGdldFJvbW91dChuLCBvKSB7XHJcblxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB2YWx1ZShuLCBvKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobiA9PT0gbykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIHNjb3BlZD5cclxuXHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNoZWNrYm94SGVpZ2h0TGV2ZWwvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///119\n");
849
850/***/ }),
851/* 120 */
852/***/ (function(module, exports, __webpack_require__) {
853
854"use strict";
855eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(18);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(399);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nvar _toolService = __webpack_require__(14);\n\nvar _toolService2 = _interopRequireDefault(_toolService);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeDynamic',\n name: 'main-tool-editor-type-dynamic',\n data: function data() {\n return {\n val: false,\n propList: [],\n typeList: [{\n value: 'out',\n label: '外部 out'\n }, {\n value: 'into',\n label: '内部 into'\n }, {\n value: 'isShow',\n label: '是否显示 isShow'\n }],\n isShow: false,\n out: true,\n into: false,\n arrList: []\n };\n },\n mounted: function mounted() {\n this.initCurrtField();\n },\n\n computed: {\n getPropList: function getPropList() {},\n getArrList: function getArrList() {\n debugger;\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n if (!currentInstance.data.property.dynamic) {\n currentInstance.data.property.dynamic = {};\n if (!currentInstance.data.property.dynamic.paramsList) {\n currentInstance.data.property.dynamic.paramsList = [];\n }\n }\n return currentInstance.data.property.dynamic.paramsList;\n },\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n }\n },\n methods: {\n changeDynamic: function changeDynamic() {\n debugger;\n this.$store.commit('viewport/updateDynamicArr', {});\n },\n typeChange: function typeChange(val) {\n debugger;\n this.into = false;\n this.isShow = false;\n switch (val) {\n case \"out\":\n {}break;\n case \"into\":\n {\n this.into = true;\n }break;\n case \"isShow\":\n {\n this.isShow = true;\n }break;\n\n }\n },\n delArr: function delArr(index) {\n this.$store.commit('viewport/delDynamEventArr', { index: index });\n },\n delChildArr: function delChildArr(parentIndex, index) {\n\n this.$store.commit('viewport/delLinkEventChildArr', { parentIndex: parentIndex, index: index });\n },\n addArr: function addArr() {\n this.$store.commit('viewport/addDynamicArr', {});\n },\n addChildArr: function addChildArr(index) {\n\n this.$store.commit('viewport/addLinkEventChildArr', { index: index });\n },\n initPropList: function initPropList() {\n if (localStorage.propInfo && localStorage.propInfo != \"undefined\") {\n var res = JSON.parse(localStorage.propInfo);\n var propArr = [];\n var targetArr = [];\n for (var propObj in res.prop) {\n propArr = [].concat((0, _toConsumableArray3.default)(propArr), (0, _toConsumableArray3.default)(res.prop[propObj]));\n }\n var mockData = [];\n for (var _propObj in res.prop) {\n propArr = [].concat((0, _toConsumableArray3.default)(propArr), (0, _toConsumableArray3.default)(res.prop[_propObj]));\n }\n this.propList = propArr;\n }\n },\n handleChange: function handleChange() {}\n },\n watch: {\n val: function val(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input1: function input1(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input2: function input2(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n },\n created: function created() {\n this.initPropList();\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1keW5hbWljL2luZGV4LnZ1ZT80M2MzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7SUE0QkEsVTs7QUFDQTs7QUFDQTs7Ozs7Ozs7a0JBQ0E7QUFDQSwyQ0FDQSxVQURBLENBREE7QUFJQSxvREFKQTtBQUtBLHlDQUxBO0FBTUEseUNBTkE7QUFPQSxRQVBBLGtCQU9BO0FBQ0E7QUFDQSxzQkFEQTtBQUVBLHdCQUZBO0FBR0E7QUFDQSw0QkFEQTtBQUVBO0FBRkEsZUFJQTtBQUNBLDZCQURBO0FBRUE7QUFGQSxhQUpBLEVBUUE7QUFDQSwrQkFEQTtBQUVBO0FBRkEsYUFSQSxDQUhBO0FBZUEseUJBZkE7QUFnQkEscUJBaEJBO0FBaUJBLHVCQWpCQTtBQWtCQTtBQWxCQTtBQW9CQSxLQTVCQTtBQTZCQSxXQTdCQSxxQkE2QkE7QUFDQTtBQUNBLEtBL0JBOztBQWdDQTtBQWFBLG1CQWJBLHlCQWFBLENBRUEsQ0FmQTtBQWdCQSxrQkFoQkEsd0JBZ0JBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBM0JBO0FBNEJBLHdCQTVCQSw4QkE0QkE7QUFDQTtBQUNBLFNBOUJBO0FBK0JBLHFCQS9CQSwyQkErQkE7QUFDQTtBQUNBO0FBakNBLEtBaENBO0FBbUVBO0FBQ0EscUJBREEsMkJBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FKQTtBQUtBLGtCQUxBLHNCQUtBLEdBTEEsRUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQSxxQkFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBVEE7QUFZQSxTQXJCQTtBQXNCQSxjQXRCQSxrQkFzQkEsS0F0QkEsRUFzQkE7QUFDQTtBQUtBLFNBNUJBO0FBNkJBLG1CQTdCQSx1QkE2QkEsV0E3QkEsRUE2QkEsS0E3QkEsRUE2QkE7O0FBRUE7QUFLQSxTQXBDQTtBQXFDQSxjQXJDQSxvQkFxQ0E7QUFDQTtBQUtBLFNBM0NBO0FBNENBLG1CQTVDQSx1QkE0Q0EsS0E1Q0EsRUE0Q0E7O0FBRUE7QUFLQSxTQW5EQTtBQW9EQSxvQkFwREEsMEJBb0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQSxTQW5FQTtBQW9FQSxvQkFwRUEsMEJBb0VBLENBRUE7QUF0RUEsS0FuRUE7QUEySUE7QUFDQSxXQURBLGVBQ0EsQ0FEQSxFQUNBLENBREEsRUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FOQTtBQU9BLGNBUEEsa0JBT0EsQ0FQQSxFQU9BLENBUEEsRUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FaQTtBQWFBLGNBYkEsa0JBYUEsQ0FiQSxFQWFBLENBYkEsRUFhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFsQkEsS0EzSUE7QUErSkEsV0EvSkEscUJBK0pBO0FBQ0E7QUFDQTtBQWpLQSxDIiwiZmlsZSI6IjEyMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIj5cclxuICAgICAgICA8Q29udGFpbmVyPlxyXG4gICAgICAgICAgICA8QnV0dG9uIEBjbGljaz1cImFkZEFycigpXCI+5re75YqgPC9CdXR0b24+XHJcbiAgICAgICAgPC9Db250YWluZXI+XHJcbiAgICAgICAgPHVsIGNsYXNzPVwibWFpbi11bFwiPlxyXG4gICAgICAgICAgICA8bGkgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gZ2V0QXJyTGlzdFwiIGNsYXNzPVwibWFpbi1saVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibWFpbi1saS1sYWJlbFwiPuWPguaVsOWQjeensDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxJbnB1dCBjbGFzcz1cIm1haW4tbGktaXRlbVwiIEBvbi1jaGFuZ2U9XCJjaGFuZ2VEeW5hbWljKClcIiBjbGVhcmFibGUgdi1tb2RlbD1cIml0ZW0ubGFiZWxcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpemUrlwiICAvPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJtYWluLWxpLWxhYmVsXCI+5Y+C5pWw5YC8PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPElucHV0IGNsYXNzPVwibWFpbi1saS1pdGVtXCIgQG9uLWNoYW5nZT1cImNoYW5nZUR5bmFtaWMoKVwiIGNsZWFyYWJsZSB2LW1vZGVsPVwiaXRlbS52YWx1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5YC8XCIgIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWJ0blwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b24gIEBjbGljaz1cImRlbEFycihpbmRleClcIiB0eXBlPVwiZXJyb3JcIj7liKDpmaTlvZPliY3mlbDnu4Q8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbmltcG9ydCB7UHJvcGVydHlNaXhpbn0gZnJvbSAnLi4vLi4vc2VydmljZS9tYWluLXRvb2wtZWRpdG9yLXR5cGUtbWl4aW4nO1xyXG5pbXBvcnQgU2VydmljZSBmcm9tIFwiLi4vLi4vc2VydmljZS90b29sLXNlcnZpY2VcIjtcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgY29tcG9uZW50czoge1xyXG4gICAgICAgIC4uLmNvbXBvbmVudHNcclxuICAgIH0sXHJcbiAgICBtaXhpbnM6IFtQcm9wZXJ0eU1peGluXSxcclxuICAgIHBvc2l0aW9uOiAnbWFpblRvb2xFZGl0b3JUeXBlRHluYW1pYycsXHJcbiAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLWR5bmFtaWMnLFxyXG4gICAgZGF0YSAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdmFsOiBmYWxzZSxcclxuICAgICAgICAgICAgcHJvcExpc3Q6W10sXHJcbiAgICAgICAgICAgIHR5cGVMaXN0Olt7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdvdXQnLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiAn5aSW6YOoIG91dCdcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdpbnRvJyxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ+WGhemDqCBpbnRvJ1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ2lzU2hvdycsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICfmmK/lkKbmmL7npLogaXNTaG93J1xyXG4gICAgICAgICAgICAgICAgfV0sXHJcbiAgICAgICAgICAgIGlzU2hvdzpmYWxzZSxcclxuICAgICAgICAgICAgb3V0OnRydWUsXHJcbiAgICAgICAgICAgIGludG86ZmFsc2UsXHJcbiAgICAgICAgICAgIGFyckxpc3Q6W11cclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIG1vdW50ZWQgKCkge1xyXG4gICAgICAgIHRoaXMuaW5pdEN1cnJ0RmllbGQoKTtcclxuICAgIH0sXHJcbiAgICBjb21wdXRlZDoge1xyXG4gICAgICAgIC8qZ2V0Q2hpbGRMaXN0KCl7XHJcblxyXG4gICAgICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAvLyDkuLrkuovku7bmlrDlop7kuIDpoblcclxuICAgICAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5saW5rYWdlQ2hhbmdlVmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmxpbmthZ2VDaGFuZ2VWYWx1ZSA9IFtdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEubGlua2FnZUNoYW5nZVZhbHVlLnZhbHVlcykge1xyXG4gICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEubGlua2FnZUNoYW5nZVZhbHVlLnZhbHVlcyA9IFtdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50SW5zdGFuY2UuZGF0YS5saW5rYWdlQ2hhbmdlVmFsdWUudmFsdWVzO1xyXG4gICAgICAgIH0sKi9cclxuICAgICAgICBnZXRQcm9wTGlzdCgpe1xyXG5cclxuICAgICAgICB9LFxyXG4gICAgICAgIGdldEFyckxpc3QoKXtcclxuICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcy5nZXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmR5bmFtaWMpIHtcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmR5bmFtaWM9e307XHJcbiAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmR5bmFtaWMucGFyYW1zTGlzdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmR5bmFtaWMucGFyYW1zTGlzdCA9IFtdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50SW5zdGFuY2UuZGF0YS5wcm9wZXJ0eS5keW5hbWljLnBhcmFtc0xpc3Q7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBhcHBsaWNhdGlvblN0YXRlICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdmlld3BvcnRTdGF0ZSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgbWV0aG9kczoge1xyXG4gICAgICAgIGNoYW5nZUR5bmFtaWMoKXtcclxuICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC91cGRhdGVEeW5hbWljQXJyJyx7fSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICB0eXBlQ2hhbmdlKHZhbCl7XHJcbiAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICB0aGlzLmludG89ZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuaXNTaG93PWZhbHNlO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKHZhbCl7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwib3V0XCI6e1xyXG5cclxuICAgICAgICAgICAgICAgIH1icmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJpbnRvXCI6e1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmludG89dHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1icmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJpc1Nob3dcIjp7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1Nob3c9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1icmVhaztcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGRlbEFycihpbmRleCl7XHJcbiAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvZGVsRHluYW1FdmVudEFycicse2luZGV4OmluZGV4fSk7XHJcbiAgICAgICAgICAgIC8qICB0aGlzLmFyckxpc3QucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiBcImlucHV0MVwiLFxyXG4gICAgICAgICAgICAgICAgICBhY3Rpb246IFwiaW5wdXQyXCJcclxuICAgICAgICAgICAgICAgfSkqL1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGVsQ2hpbGRBcnIocGFyZW50SW5kZXgsaW5kZXgpe1xyXG5cclxuICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9kZWxMaW5rRXZlbnRDaGlsZEFycicse3BhcmVudEluZGV4OnBhcmVudEluZGV4LGluZGV4OmluZGV4fSk7XHJcbiAgICAgICAgICAgIC8qICB0aGlzLmFyckxpc3QucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiBcImlucHV0MVwiLFxyXG4gICAgICAgICAgICAgICAgICBhY3Rpb246IFwiaW5wdXQyXCJcclxuICAgICAgICAgICAgICAgfSkqL1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgYWRkQXJyKCl7XHJcbiAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvYWRkRHluYW1pY0Fycicse30pO1xyXG4gICAgICAgICAgICAvKiAgdGhpcy5hcnJMaXN0LnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogXCJpbnB1dDFcIixcclxuICAgICAgICAgICAgICAgICAgYWN0aW9uOiBcImlucHV0MlwiXHJcbiAgICAgICAgICAgICAgIH0pKi9cclxuICAgICAgICB9LFxyXG4gICAgICAgIGFkZENoaWxkQXJyKGluZGV4KXtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvYWRkTGlua0V2ZW50Q2hpbGRBcnInLHtpbmRleDppbmRleH0pO1xyXG4gICAgICAgICAgICAvKiAgdGhpcy5hcnJMaXN0LnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogXCJpbnB1dDFcIixcclxuICAgICAgICAgICAgICAgICAgYWN0aW9uOiBcImlucHV0MlwiXHJcbiAgICAgICAgICAgICAgIH0pKi9cclxuICAgICAgICB9LFxyXG4gICAgICAgIGluaXRQcm9wTGlzdCgpe1xyXG4gICAgICAgICAgICBpZihsb2NhbFN0b3JhZ2UucHJvcEluZm8mJmxvY2FsU3RvcmFnZS5wcm9wSW5mbyE9XCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICAgICAgbGV0IHJlcyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLnByb3BJbmZvKTtcclxuICAgICAgICAgICAgICAgIGxldCBwcm9wQXJyID0gW107XHJcbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0QXJyID0gW107XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBwcm9wT2JqIGluIHJlcy5wcm9wKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvcEFyciA9IFsuLi5wcm9wQXJyLCAuLi5yZXMucHJvcFtwcm9wT2JqXV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgbW9ja0RhdGEgPSBbXTtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IHByb3BPYmogaW4gcmVzLnByb3ApIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm9wQXJyID0gWy4uLnByb3BBcnIsIC4uLnJlcy5wcm9wW3Byb3BPYmpdXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMucHJvcExpc3QgPSBwcm9wQXJyO1xyXG4gICAgICAgICAgICAgICAgLy99KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaGFuZGxlQ2hhbmdlICgpIHtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIHdhdGNoOiB7XHJcbiAgICAgICAgdmFsIChuLCBvKSB7XHJcbiAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaW5wdXQxIChuLCBvKSB7XHJcbiAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaW5wdXQyIChuLCBvKSB7XHJcbiAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBjcmVhdGVkKCkge1xyXG4gICAgICAgIHRoaXMuaW5pdFByb3BMaXN0KCk7XHJcbiAgICB9XHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtZHluYW1pYy9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///120\n");
856
857/***/ }),
858/* 121 */
859/***/ (function(module, exports, __webpack_require__) {
860
861"use strict";
862eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(23);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(405);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = (0, _defineProperty3.default)({\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeCheckmultiple',\n name: 'main-tool-editor-type-checkmultiple',\n data: function data() {\n return {\n radioArr: [],\n propArr: [],\n val: false,\n arrList: []\n };\n },\n mounted: function mounted() {\n this.initCurrtField();\n },\n\n computed: {\n getArrList: function getArrList() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n if (!currentInstance.data.mockData) {\n currentInstance.data.mockData = [];\n }\n return currentInstance.data.mockData;\n },\n applicationState: function applicationState() {\n\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n var _data = this.propArr || [];\n return _data;\n },\n radioData: function radioData() {\n var _data = this.radioArr || [];\n return _data;\n }\n },\n methods: {\n delArr: function delArr(index) {\n this.$store.commit('viewport/delCheckEventArr', { index: index });\n },\n delCheckChildArr: function delCheckChildArr(parentIndex, index) {\n\n this.$store.commit('viewport/delCheckChildArr', { parentIndex: parentIndex, index: index });\n },\n delOptionsChildArr: function delOptionsChildArr(parentIndex, index) {\n\n this.$store.commit('viewport/delLinkOptionsEventChildArr', { parentIndex: parentIndex, index: index });\n },\n addArr: function addArr() {\n debugger;\n this.$store.commit('viewport/addCheckEventArr', {});\n },\n addOptionsChildArr: function addOptionsChildArr(index) {\n\n this.$store.commit('viewport/addLinkOptionsEventArr', { index: index });\n },\n addExactChildArr: function addExactChildArr(index) {\n\n this.$store.commit('viewport/addLinkExactEventArr', { index: index });\n },\n addCheckChildArr: function addCheckChildArr(index) {\n\n this.$store.commit('viewport/addCheckChildArr', { index: index });\n },\n handleChange: function handleChange() {}\n },\n watch: {\n val: function val(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input1: function input1(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input2: function input2(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n}, 'mounted', function mounted() {\n\n var _this = this;\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jaGVja211bHRpcGxlL2luZGV4LnZ1ZT8yNTk4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7SUE4REEsVTs7QUFDQTs7Ozs7OztBQUdBLDJDQUNBLFVBREEsQztBQUdBLG9EO0FBQ0EsK0M7QUFDQSwrQztBQUNBLFEsa0JBQUE7QUFDQTtBQUNBLHdCQURBO0FBRUEsdUJBRkE7QUFHQSxzQkFIQTtBQUlBO0FBSkE7QUFNQSxLO0FBQ0EsVyxxQkFBQTtBQUNBO0FBQ0EsSzs7QUFDQTtBQWFBLGtCQWJBLHdCQWFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQXBCQTtBQXFCQSx3QkFyQkEsOEJBcUJBOztBQUVBO0FBQ0EsU0F4QkE7QUF5QkEscUJBekJBLDJCQXlCQTtBQUNBO0FBQ0EsU0EzQkE7QUE0QkEsbUJBNUJBLHlCQTRCQTtBQUNBO0FBQ0E7QUFDQSxTQS9CQTtBQWdDQSxpQkFoQ0EsdUJBZ0NBO0FBQ0E7QUFDQTtBQUNBO0FBbkNBLEs7QUFxQ0E7QUFDQSxjQURBLGtCQUNBLEtBREEsRUFDQTtBQUNBO0FBS0EsU0FQQTtBQVFBLHdCQVJBLDRCQVFBLFdBUkEsRUFRQSxLQVJBLEVBUUE7O0FBRUE7QUFDQSxTQVhBO0FBWUEsMEJBWkEsOEJBWUEsV0FaQSxFQVlBLEtBWkEsRUFZQTs7QUFFQTtBQUNBLFNBZkE7QUFnQkEsY0FoQkEsb0JBZ0JBO0FBQ0E7QUFDQTtBQUtBLFNBdkJBO0FBd0JBLDBCQXhCQSw4QkF3QkEsS0F4QkEsRUF3QkE7O0FBRUE7QUFLQSxTQS9CQTtBQWdDQSx3QkFoQ0EsNEJBZ0NBLEtBaENBLEVBZ0NBOztBQUVBO0FBS0EsU0F2Q0E7QUF3Q0Esd0JBeENBLDRCQXdDQSxLQXhDQSxFQXdDQTs7QUFFQTtBQUtBLFNBL0NBO0FBZ0RBLG9CQWhEQSwwQkFnREEsQ0FFQTtBQWxEQSxLO0FBb0RBO0FBQ0EsV0FEQSxlQUNBLENBREEsRUFDQSxDQURBLEVBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBTkE7QUFPQSxjQVBBLGtCQU9BLENBUEEsRUFPQSxDQVBBLEVBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBWkE7QUFhQSxjQWJBLGtCQWFBLENBYkEsRUFhQSxDQWJBLEVBYUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBbEJBO2lDQW9CQTs7QUFFQTtBQVNBLEMiLCJmaWxlIjoiMTIxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gICAgPGRpdiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiPlxyXG4gICAgICAgIDxDb250YWluZXI+XHJcbiAgICAgICAgICAgIDxCdXR0b24gQGNsaWNrPVwiYWRkQXJyKClcIiB0eXBlPVwic3VjY2Vzc1wiPua3u+WKoDwvQnV0dG9uPlxyXG4gICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgICAgIDx1bCBjbGFzcz1cIm1haW4tdWxcIj5cclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibWFpbi1saVwiIHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIGdldEFyckxpc3RcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWJ0blwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cImVycm9yXCIgQGNsaWNrPVwiZGVsQXJyKGluZGV4KVwiIHNoYXBlPVwiY2lyY2xlXCI+5Yig6ZmkPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxMYWJlbCBjbGFzcz1cIm1haW4tbGktbGFiZWxcIj7moIfnrb48L0xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8SW5wdXQgY2xhc3M9XCJtYWluLWxpLWl0ZW1cIiBjbGVhcmFibGUgdi1tb2RlbD1cIml0ZW0ubGFiZWxcIi8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxMYWJlbCBjbGFzcz1cIm1haW4tbGktbGFiZWxcIj7lgLw8L0xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8SW5wdXQgY2xhc3M9XCJtYWluLWxpLWl0ZW1cIiBjbGVhcmFibGUgdi1tb2RlbD1cIml0ZW0udmFsdWVcIi8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxMYWJlbCBjbGFzcz1cIm1haW4tbGktbGFiZWxcIj7mmK/lkKbmmL7npLo8L0xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aS1zd2l0Y2ggY2xhc3M9XCJtYWluLWxpLWl0ZW0tc3dpdGNoXCIgdi1tb2RlbD1cIml0ZW0uc2hvd1wiPjwvaS1zd2l0Y2g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWJ0blwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cInN1Y2Nlc3NcIiAgQGNsaWNrPVwiYWRkQ2hlY2tDaGlsZEFycihpbmRleClcIj7mt7vliqDlrZDpm4bmlbDnu4Q8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwibWFpbi11bFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1haW4tbGlcIiB2LWZvcj1cIihpdGVtMSxpbmRleDEpIGluIGl0ZW0ucmFkaW9MaXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGNsYXNzPVwibWFpbi1saS1sYWJlbFwiPuWQjeensDwvTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dCBjbGFzcz1cIm1haW4tbGktaXRlbVwiIGNsZWFyYWJsZSB2LW1vZGVsPVwiaXRlbTEubmFtZVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGNsYXNzPVwibWFpbi1saS1sYWJlbFwiPuaYr+WQpumAieS4rTwvTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpLXN3aXRjaCBjbGFzcz1cIm1haW4tbGktaXRlbS1zd2l0Y2hcIiB2LW1vZGVsPVwiaXRlbTEuaXNTZWxlY3RlZFwiPjwvaS1zd2l0Y2g+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBjbGFzcz1cIm1haW4tbGktbGFiZWxcIj7lgLw8L0xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXQgY2xhc3M9XCJtYWluLWxpLWl0ZW1cIiBjbGVhcmFibGUgdi1tb2RlbD1cIml0ZW0xLnZhbHVlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktYnRuLWNoaWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHR5cGU9XCJlcnJvclwiIEBjbGljaz1cImRlbENoZWNrQ2hpbGRBcnIoaW5kZXgsaW5kZXgxKVwiPuWIoOmZpOWtkOmbhuaVsOe7hDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICA8L3VsPlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG4gICAgaW1wb3J0ICogYXMgY29tcG9uZW50cyBmcm9tICcuL3N0eWxlJztcclxuICAgIGltcG9ydCB7UHJvcGVydHlNaXhpbn0gZnJvbSAnLi4vLi4vc2VydmljZS9tYWluLXRvb2wtZWRpdG9yLXR5cGUtbWl4aW4nO1xyXG5cclxuICAgIGV4cG9ydCBkZWZhdWx0IHtcclxuICAgICAgICBjb21wb25lbnRzOiB7XHJcbiAgICAgICAgICAgIC4uLmNvbXBvbmVudHNcclxuICAgICAgICB9LFxyXG4gICAgICAgIG1peGluczogW1Byb3BlcnR5TWl4aW5dLFxyXG4gICAgICAgIHBvc2l0aW9uOiAnbWFpblRvb2xFZGl0b3JUeXBlQ2hlY2ttdWx0aXBsZScsXHJcbiAgICAgICAgbmFtZTogJ21haW4tdG9vbC1lZGl0b3ItdHlwZS1jaGVja211bHRpcGxlJyxcclxuICAgICAgICBkYXRhKCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgcmFkaW9BcnI6IFtdLFxyXG4gICAgICAgICAgICAgICAgcHJvcEFycjogW10sXHJcbiAgICAgICAgICAgICAgICB2YWw6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgYXJyTGlzdDogW11cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG1vdW50ZWQoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdEN1cnJ0RmllbGQoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXB1dGVkOiB7XHJcbiAgICAgICAgICAgIC8qZ2V0Q2hpbGRMaXN0KCl7XHJcblxyXG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZT0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzLmdldCh0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgICAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5saW5rYWdlQ2hhbmdlVmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5saW5rYWdlQ2hhbmdlVmFsdWUgPSBbXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEubGlua2FnZUNoYW5nZVZhbHVlLnZhbHVlcykge1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmxpbmthZ2VDaGFuZ2VWYWx1ZS52YWx1ZXMgPSBbXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiBjdXJyZW50SW5zdGFuY2UuZGF0YS5saW5rYWdlQ2hhbmdlVmFsdWUudmFsdWVzO1xyXG4gICAgICAgICAgICB9LCovXHJcbiAgICAgICAgICAgIGdldEFyckxpc3QoKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlID0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzLmdldCh0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgICAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5tb2NrRGF0YSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLm1vY2tEYXRhID0gW107XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudEluc3RhbmNlLmRhdGEubW9ja0RhdGE7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uU3RhdGUoKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB2aWV3cG9ydFN0YXRlKCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0O1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBvcHRpb25zRGF0YSgpIHtcclxuICAgICAgICAgICAgICAgIGxldCBfZGF0YSA9IHRoaXMucHJvcEFyciB8fCBbXTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBfZGF0YTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgcmFkaW9EYXRhKCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IF9kYXRhID0gdGhpcy5yYWRpb0FyciB8fCBbXTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBfZGF0YTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWV0aG9kczoge1xyXG4gICAgICAgICAgICBkZWxBcnIoaW5kZXgpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvZGVsQ2hlY2tFdmVudEFycicsIHtpbmRleDogaW5kZXh9KTtcclxuICAgICAgICAgICAgICAgIC8qICB0aGlzLmFyckxpc3QucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogXCJpbnB1dDFcIixcclxuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogXCJpbnB1dDJcIlxyXG4gICAgICAgICAgICAgICAgICAgfSkqL1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBkZWxDaGVja0NoaWxkQXJyKHBhcmVudEluZGV4LCBpbmRleCkge1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvZGVsQ2hlY2tDaGlsZEFycicsIHtwYXJlbnRJbmRleDogcGFyZW50SW5kZXgsIGluZGV4OiBpbmRleH0pO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBkZWxPcHRpb25zQ2hpbGRBcnIocGFyZW50SW5kZXgsIGluZGV4KSB7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9kZWxMaW5rT3B0aW9uc0V2ZW50Q2hpbGRBcnInLCB7cGFyZW50SW5kZXg6IHBhcmVudEluZGV4LCBpbmRleDogaW5kZXh9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYWRkQXJyKCkge1xyXG4gICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L2FkZENoZWNrRXZlbnRBcnInLCB7fSk7XHJcbiAgICAgICAgICAgICAgICAvKiAgdGhpcy5hcnJMaXN0LnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6IFwiaW5wdXQxXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246IFwiaW5wdXQyXCJcclxuICAgICAgICAgICAgICAgICAgIH0pKi9cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYWRkT3B0aW9uc0NoaWxkQXJyKGluZGV4KSB7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9hZGRMaW5rT3B0aW9uc0V2ZW50QXJyJywge2luZGV4OiBpbmRleH0pO1xyXG4gICAgICAgICAgICAgICAgLyogIHRoaXMuYXJyTGlzdC5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiBcImlucHV0MVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiBcImlucHV0MlwiXHJcbiAgICAgICAgICAgICAgICAgICB9KSovXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGFkZEV4YWN0Q2hpbGRBcnIoaW5kZXgpIHtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L2FkZExpbmtFeGFjdEV2ZW50QXJyJywge2luZGV4OiBpbmRleH0pO1xyXG4gICAgICAgICAgICAgICAgLyogIHRoaXMuYXJyTGlzdC5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiBcImlucHV0MVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiBcImlucHV0MlwiXHJcbiAgICAgICAgICAgICAgICAgICB9KSovXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGFkZENoZWNrQ2hpbGRBcnIoaW5kZXgpIHtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L2FkZENoZWNrQ2hpbGRBcnInLCB7aW5kZXg6IGluZGV4fSk7XHJcbiAgICAgICAgICAgICAgICAvKiAgdGhpcy5hcnJMaXN0LnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6IFwiaW5wdXQxXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246IFwiaW5wdXQyXCJcclxuICAgICAgICAgICAgICAgICAgIH0pKi9cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKCkge1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgd2F0Y2g6IHtcclxuICAgICAgICAgICAgdmFsKG4sIG8pIHtcclxuICAgICAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBpbnB1dDEobiwgbykge1xyXG4gICAgICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGlucHV0MihuLCBvKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobiA9PT0gbykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbW91bnRlZCgpIHtcclxuXHJcbiAgICAgICAgICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICAgICAgICAgIC8qIHRoaXMuJGh0dHAuZ2V0KCcvc3RhdGljL2RhdGEvcGFnZS1pZGUvMjAyLTEuanNvbicpLnRoZW4oKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgX3RoaXMucHJvcEFycj1yZXNwb25zZS5wcm9wQXJyO1xyXG4gICAgICAgICAgICAgICAgIF90aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICAgICAgICAgICB9KTsqL1xyXG4gICAgICAgICAgIC8qIHRoaXMuJGh0dHAuZ2V0KCcvc3RhdGljL2RhdGEvcGFnZS1pZGUvcmFkaW9UeXBlLmpzb24nKS50aGVuKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgX3RoaXMucmFkaW9BcnIgPSByZXNwb25zZS5wcm9wQXJyO1xyXG4gICAgICAgICAgICAgICAgX3RoaXMuaW5pdEN1cnJ0RmllbGQoKTtcclxuICAgICAgICAgICAgfSk7Ki9cclxuICAgICAgICB9LFxyXG4gICAgfTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNoZWNrbXVsdGlwbGUvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///121\n");
863
864/***/ }),
865/* 122 */
866/***/ (function(module, exports, __webpack_require__) {
867
868"use strict";
869eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(410);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeClickTypeSelect',\n name: 'main-tool-editor-type-clickTypeSelect',\n data: function data() {\n return {\n propArr: []\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n var _data = this.propArr || [];\n return _data;\n }\n },\n methods: {\n handleChange: function handleChange() {}\n },\n mounted: function mounted() {\n var _this = this;\n _this.propArr = configPageIde.clickType;\n _this.initCurrtField();\n },\n\n watch: {\n value: function value(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jbGlja1R5cGVTZWxlY3QvaW5kZXgudnVlPzBkYjEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBV0EsVTs7QUFDQTs7Ozs7O2tCQUNBO0FBQ0EsMkNBQ0EsVUFEQSxDQURBO0FBSUEsb0RBSkE7QUFLQSxpREFMQTtBQU1BLGlEQU5BO0FBT0EsUUFQQSxrQkFPQTtBQUNBO0FBQ0E7QUFEQTtBQUdBLEtBWEE7O0FBWUE7QUFDQSw0QkFEQTtBQUVBO0FBRkEsS0FaQTtBQWdCQTtBQUNBLHdCQURBLDhCQUNBO0FBQ0E7QUFDQSxTQUhBO0FBSUEscUJBSkEsMkJBSUE7QUFDQTtBQUNBLFNBTkE7QUFPQSxtQkFQQSx5QkFPQTtBQUNBO0FBQ0E7QUFDQTtBQVZBLEtBaEJBO0FBNEJBO0FBT0Esb0JBUEEsMEJBT0EsQ0FFQTtBQVRBLEtBNUJBO0FBdUNBLFdBdkNBLHFCQXVDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBM0NBOztBQTRDQTtBQUNBLGFBREEsaUJBQ0EsQ0FEQSxFQUNBLENBREEsRUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQTVDQSxDIiwiZmlsZSI6IjEyMi5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxyXG4gICAgICA8Q29udGFpbmVyPlxyXG4gICAgICAgIDxTZWxlY3Qgdi1tb2RlbD1cInZhbHVlXCIgc3R5bGU9XCJ3aWR0aDo5Ni41JTtcIiA+XHJcbiAgICAgICAgICAgIDxPcHRpb24gdi1mb3I9XCJpdGVtIGluIG9wdGlvbnNEYXRhXCIgOnZhbHVlPVwiaXRlbS52YWx1ZXx8JydcIiA6a2V5PVwiaXRlbS52YWx1ZVwiPnt7IGl0ZW0ua2V5IH19PC9PcHRpb24+XHJcbiAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICA8L0NvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0ICogYXMgY29tcG9uZW50cyBmcm9tICcuL3N0eWxlJztcclxuaW1wb3J0IHtQcm9wZXJ0eU1peGlufSBmcm9tICcuLi8uLi9zZXJ2aWNlL21haW4tdG9vbC1lZGl0b3ItdHlwZS1taXhpbic7XHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICAgIGNvbXBvbmVudHM6IHtcclxuICAgICAgICAuLi5jb21wb25lbnRzXHJcbiAgICB9LFxyXG4gICAgbWl4aW5zOiBbUHJvcGVydHlNaXhpbl0sXHJcbiAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yVHlwZUNsaWNrVHlwZVNlbGVjdCcsXHJcbiAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLWNsaWNrVHlwZVNlbGVjdCcsXHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBwcm9wQXJyOltdXHJcbiAgICAgICAgfTtcclxuICAgIH0sXHJcbiAgICBwcm9wczoge1xyXG4gICAgICAgIGluc3RhbmNlSW5mbzogT2JqZWN0LFxyXG4gICAgICAgIGVkaXRvcjogT2JqZWN0XHJcbiAgICB9LFxyXG4gICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICBhcHBsaWNhdGlvblN0YXRlICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdmlld3BvcnRTdGF0ZSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG9wdGlvbnNEYXRhICgpIHtcclxuICAgICAgICAgICAgbGV0IF9kYXRhID0gdGhpcy5wcm9wQXJyIHx8IFtdO1xyXG4gICAgICAgICAgICByZXR1cm4gX2RhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIG1ldGhvZHM6IHtcclxuICAgICAgICAvLyBjaGFuZ2Vfc3RhdHVzKHZhbCl7ICAvLyDnrZvpgInnirbmgIFcclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vICAgICBjb25zb2xlLmxvZyh0aGlzLnZhbCk7XHJcbiAgICAgICAgLy8gICAgIHRoaXMudmFsPXZhbDtcclxuICAgICAgICAvLyAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKHRoaXMudmFsKTtcclxuICAgICAgICAvLyB9LFxyXG4gICAgICAgIGhhbmRsZUNoYW5nZSAoKSB7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtb3VudGVkKCl7XHJcbiAgICAgICAgbGV0IF90aGlzPXRoaXM7XHJcbiAgICAgICAgICAgIF90aGlzLnByb3BBcnI9Y29uZmlnUGFnZUlkZS5jbGlja1R5cGU7XHJcbiAgICAgICAgICAgIF90aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICB9LFxyXG4gICAgd2F0Y2g6IHtcclxuICAgICAgICB2YWx1ZSAobiwgbykge1xyXG4gICAgICAgICAgICBpZiAobiA9PT0gbykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2xpY2tUeXBlU2VsZWN0L2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///122\n");
870
871/***/ }),
872/* 123 */
873/***/ (function(module, exports, __webpack_require__) {
874
875"use strict";
876eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _lodash = __webpack_require__(36);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _style = __webpack_require__(415);\n\nvar components = _interopRequireWildcard(_style);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n props: {\n instanceInfo: Object,\n editor: Object\n },\n data: function data() {\n return {\n color: '#ffffff',\n field: null\n };\n },\n\n position: 'mainToolEditorTypeColor',\n name: 'main-tool-editor-type-color',\n computed: {\n currentEditInstanceKey: function currentEditInstanceKey() {\n var currentEditInstanceKey = this.$store.state.viewport.currentEditInstanceKey;\n return currentEditInstanceKey;\n }\n },\n watch: {\n currentEditInstanceKey: function currentEditInstanceKey(n, o) {\n this.initCurrtField();\n },\n color: function color(n, o) {\n this.$store.commit('viewport/setInstanceProps', {\n vm: this.instanceInfo.vm,\n key: this.field,\n value: n\n });\n }\n },\n mounted: function mounted() {\n if (this.editor.field) {\n this.field = this.editor.field;\n this.initCurrtField();\n }\n },\n\n methods: {\n initCurrtField: function initCurrtField() {\n var props = this.instanceInfo.vm.$data;\n var val = _.get(props, this.field);\n if (val) {\n this.color = val;\n }\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jb2xvci9pbmRleC52dWU/YjRkMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFZQSxDOztBQUNBOztJQUFBLFU7Ozs7OztrQkFDQTtBQUNBLDJDQUNBLFVBREEsQ0FEQTtBQUlBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLEtBSkE7QUFRQSxRQVJBLGtCQVFBO0FBQ0E7QUFDQSw0QkFEQTtBQUVBO0FBRkE7QUFJQSxLQWJBOztBQWNBLHVDQWRBO0FBZUEsdUNBZkE7QUFnQkE7QUFDQSw4QkFEQSxvQ0FDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBLEtBaEJBO0FBc0JBO0FBQ0EsOEJBREEsa0NBQ0EsQ0FEQSxFQUNBLENBREEsRUFDQTtBQUVBO0FBQ0EsU0FKQTtBQUtBLGFBTEEsaUJBS0EsQ0FMQSxFQUtBLENBTEEsRUFLQTtBQUNBO0FBQ0Esd0NBREE7QUFFQSwrQkFGQTtBQUdBO0FBSEE7QUFLQTtBQVhBLEtBdEJBO0FBbUNBLFdBbkNBLHFCQW1DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0F4Q0E7O0FBeUNBO0FBQ0Esc0JBREEsNEJBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFQQTtBQXpDQSxDIiwiZmlsZSI6IjEyMy5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxyXG4gICAgICAgIDxDb250YWluZXI+XHJcbiAgICAgICAgPENvbG9yQ29udGFpbmVyPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNvbG9yXCIgY2xlYXJhYmxlIHYtbW9kZWw9XCJjb2xvclwiPlxyXG4gICAgICAgIDwvQ29sb3JDb250YWluZXI+XHJcbiAgICAgICAgPElucHV0IHN0eWxlPVwid2lkdGg6ODAlXCIgdi1tb2RlbD1cImNvbG9yXCIgdHlwZT1cInRleHRcIiA+PC9JbnB1dD5cclxuICAgIDwvQ29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICAgIGNvbXBvbmVudHM6IHtcclxuICAgICAgICAuLi5jb21wb25lbnRzXHJcbiAgICB9LFxyXG4gICAgcHJvcHM6IHtcclxuICAgICAgICBpbnN0YW5jZUluZm86IE9iamVjdCxcclxuICAgICAgICBlZGl0b3I6IE9iamVjdFxyXG4gICAgfSxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAnI2ZmZmZmZicsXHJcbiAgICAgICAgICAgIGZpZWxkOiBudWxsXHJcbiAgICAgICAgfTtcclxuICAgIH0sXHJcbiAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yVHlwZUNvbG9yJyxcclxuICAgIG5hbWU6ICdtYWluLXRvb2wtZWRpdG9yLXR5cGUtY29sb3InLFxyXG4gICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICBjdXJyZW50RWRpdEluc3RhbmNlS2V5ICgpIHtcclxuICAgICAgICAgICAgbGV0IGN1cnJlbnRFZGl0SW5zdGFuY2VLZXkgPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50RWRpdEluc3RhbmNlS2V5O1xyXG4gICAgICAgICAgICByZXR1cm4gY3VycmVudEVkaXRJbnN0YW5jZUtleTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgd2F0Y2g6IHtcclxuICAgICAgICBjdXJyZW50RWRpdEluc3RhbmNlS2V5IChuLCBvKSB7XHJcbiAgICAgICAgICAgIC8vIGluaXRcclxuICAgICAgICAgICAgdGhpcy5pbml0Q3VycnRGaWVsZCgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29sb3IgKG4sIG8pIHtcclxuICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9zZXRJbnN0YW5jZVByb3BzJywge1xyXG4gICAgICAgICAgICAgICAgdm06IHRoaXMuaW5zdGFuY2VJbmZvLnZtLFxyXG4gICAgICAgICAgICAgICAga2V5OiB0aGlzLmZpZWxkLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IG5cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIG1vdW50ZWQgKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmVkaXRvci5maWVsZCkge1xyXG4gICAgICAgICAgICB0aGlzLmZpZWxkID0gdGhpcy5lZGl0b3IuZmllbGQ7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdEN1cnJ0RmllbGQoKTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgbWV0aG9kczoge1xyXG4gICAgICAgIGluaXRDdXJydEZpZWxkICgpIHtcclxuICAgICAgICAgICAgbGV0IHByb3BzID0gdGhpcy5pbnN0YW5jZUluZm8udm0uJGRhdGE7XHJcbiAgICAgICAgICAgIGxldCB2YWwgPSBfLmdldChwcm9wcywgdGhpcy5maWVsZCk7XHJcbiAgICAgICAgICAgIGlmICh2YWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29sb3IgPSB2YWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY29sb3IvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///123\n");
877
878/***/ }),
879/* 124 */
880/***/ (function(module, exports, __webpack_require__) {
881
882"use strict";
883eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(420);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeDatePicker',\n name: 'main-tool-editor-type-datePicker',\n data: function data() {\n return {\n propArr: [{\n \"label\": \"选择日期\",\n \"value\": \"date\"\n }, {\n \"label\": \"选择日期范围\",\n \"value\": \"daterange\"\n }, {\n \"label\": \"选择年\",\n \"value\": \"year\"\n }, {\n \"label\": \"选择月\",\n \"value\": \"month\"\n }]\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n var _data = this.propArr || [];\n return _data;\n }\n },\n methods: {\n handleChange: function handleChange() {}\n },\n mounted: function mounted() {\n\n var _this = this;\n\n _this.initCurrtField();\n },\n\n watch: {\n value: function value(n, o) {\n\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1kYXRlUGlja2VyL2luZGV4LnZ1ZT81NTdmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQVdBLFU7O0FBQ0E7Ozs7OztrQkFDQTtBQUNBLDJDQUNBLFVBREEsQ0FEQTtBQUlBLG9EQUpBO0FBS0EsNENBTEE7QUFNQSw0Q0FOQTtBQU9BLFFBUEEsa0JBT0E7QUFDQTtBQUNBO0FBQ0EsK0JBREE7QUFFQTtBQUZBLGVBR0E7QUFDQSxpQ0FEQTtBQUVBO0FBRkEsYUFIQSxFQU1BO0FBQ0EsOEJBREE7QUFFQTtBQUZBLGFBTkEsRUFTQTtBQUNBLDhCQURBO0FBRUE7QUFGQSxhQVRBO0FBREE7QUFlQSxLQXZCQTs7QUF3QkE7QUFDQSw0QkFEQTtBQUVBO0FBRkEsS0F4QkE7QUE0QkE7QUFDQSx3QkFEQSw4QkFDQTtBQUNBO0FBQ0EsU0FIQTtBQUlBLHFCQUpBLDJCQUlBO0FBQ0E7QUFDQSxTQU5BO0FBT0EsbUJBUEEseUJBT0E7QUFDQTtBQUNBO0FBQ0E7QUFWQSxLQTVCQTtBQXdDQTtBQU9BLG9CQVBBLDBCQU9BLENBRUE7QUFUQSxLQXhDQTtBQW1EQSxXQW5EQSxxQkFtREE7O0FBRUE7O0FBR0E7QUFFQSxLQTFEQTs7QUEyREE7QUFDQSxhQURBLGlCQUNBLENBREEsRUFDQSxDQURBLEVBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVJBO0FBM0RBLEMiLCJmaWxlIjoiMTI0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gICAgPGRpdiBzdHlsZT1cIndpZHRoOiAxMDAlXCI+XHJcbiAgICAgICAgPENvbnRhaW5lcj5cclxuICAgICAgICAgICAgPFNlbGVjdCB2LW1vZGVsPVwidmFsdWVcIiBzdHlsZT1cIndpZHRoOjk2LjUlO1wiID5cclxuICAgICAgICAgICAgICAgIDxPcHRpb24gdi1mb3I9XCJpdGVtIGluIG9wdGlvbnNEYXRhXCIgOnZhbHVlPVwiaXRlbS52YWx1ZXx8JydcIiA6a2V5PVwiaXRlbS52YWx1ZVwiPnt7IGl0ZW0ubGFiZWwgfX08L09wdGlvbj5cclxuICAgICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICAgPC9Db250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbmltcG9ydCB7UHJvcGVydHlNaXhpbn0gZnJvbSAnLi4vLi4vc2VydmljZS9tYWluLXRvb2wtZWRpdG9yLXR5cGUtbWl4aW4nO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICBjb21wb25lbnRzOiB7XHJcbiAgICAgICAgLi4uY29tcG9uZW50c1xyXG4gICAgfSxcclxuICAgIG1peGluczogW1Byb3BlcnR5TWl4aW5dLFxyXG4gICAgcG9zaXRpb246ICdtYWluVG9vbEVkaXRvclR5cGVEYXRlUGlja2VyJyxcclxuICAgIG5hbWU6ICdtYWluLXRvb2wtZWRpdG9yLXR5cGUtZGF0ZVBpY2tlcicsXHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBwcm9wQXJyOlt7XHJcbiAgICAgICAgICAgICAgICBcImxhYmVsXCI6XCLpgInmi6nml6XmnJ9cIixcclxuICAgICAgICAgICAgICAgIFwidmFsdWVcIjpcImRhdGVcIlxyXG4gICAgICAgICAgICB9LHtcclxuICAgICAgICAgICAgICAgIFwibGFiZWxcIjpcIumAieaLqeaXpeacn+iMg+WbtFwiLFxyXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOlwiZGF0ZXJhbmdlXCJcclxuICAgICAgICAgICAgfSx7XHJcbiAgICAgICAgICAgICAgICBcImxhYmVsXCI6XCLpgInmi6nlubRcIixcclxuICAgICAgICAgICAgICAgIFwidmFsdWVcIjpcInllYXJcIlxyXG4gICAgICAgICAgICB9LHtcclxuICAgICAgICAgICAgICAgIFwibGFiZWxcIjpcIumAieaLqeaciFwiLFxyXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOlwibW9udGhcIlxyXG4gICAgICAgICAgICB9XVxyXG4gICAgICAgIH07XHJcbiAgICB9LFxyXG4gICAgcHJvcHM6IHtcclxuICAgICAgICBpbnN0YW5jZUluZm86IE9iamVjdCxcclxuICAgICAgICBlZGl0b3I6IE9iamVjdFxyXG4gICAgfSxcclxuICAgIGNvbXB1dGVkOiB7XHJcbiAgICAgICAgYXBwbGljYXRpb25TdGF0ZSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5hcHBsaWNhdGlvbjtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHZpZXdwb3J0U3RhdGUgKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQ7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBvcHRpb25zRGF0YSAoKSB7XHJcbiAgICAgICAgICAgIGxldCBfZGF0YSA9IHRoaXMucHJvcEFyciB8fCBbXTtcclxuICAgICAgICAgICAgcmV0dXJuIF9kYXRhO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtZXRob2RzOiB7XHJcbiAgICAgICAgLy8gY2hhbmdlX3N0YXR1cyh2YWwpeyAgLy8g562b6YCJ54q25oCBXHJcbiAgICAgICAgLy9cclxuICAgICAgICAvLyAgICAgY29uc29sZS5sb2codGhpcy52YWwpO1xyXG4gICAgICAgIC8vICAgICB0aGlzLnZhbD12YWw7XHJcbiAgICAgICAgLy8gICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyh0aGlzLnZhbCk7XHJcbiAgICAgICAgLy8gfSxcclxuICAgICAgICBoYW5kbGVDaGFuZ2UgKCkge1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgbW91bnRlZCgpe1xyXG5cclxuICAgICAgICBsZXQgX3RoaXM9dGhpcztcclxuICAgICAgLy8gIHRoaXMuJGh0dHAuZ2V0KCcvc3RhdGljL2RhdGEvcGFnZS1pZGUvYWRkcmVzc1JlcS5qc29uJykudGhlbigocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgLy9fdGhpcy5wcm9wQXJyPXJlc3BvbnNlLnByb3BBcnI7XHJcbiAgICAgICAgICAgIF90aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICAgICAgLy99KTtcclxuICAgIH0sXHJcbiAgICB3YXRjaDoge1xyXG4gICAgICAgIHZhbHVlIChuLCBvKSB7XHJcblxyXG5cclxuICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRhdGVQaWNrZXIvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///124\n");
884
885/***/ }),
886/* 125 */
887/***/ (function(module, exports, __webpack_require__) {
888
889"use strict";
890eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(425);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeDateSelect',\n name: 'main-tool-editor-type-dateSelect',\n data: function data() {\n return {\n val: this.editor.val || '',\n propArr: []\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n var _data = this.propArr || [];\n return _data;\n }\n },\n methods: {\n initCurrtField: function initCurrtField() {\n var props = this.instanceInfo.vm.$data;\n var val = _.get(props, this.field);\n if (val !== undefined) {\n this.val = val;\n }\n },\n handleChange: function handleChange() {}\n },\n mounted: function mounted() {\n var _this = this;\n _this.propArr = configPageIde.dateType;\n _this.initCurrtField();\n },\n\n watch: {\n val: function val(n, o) {\n\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1kYXRlU2VsZWN0L2luZGV4LnZ1ZT9kYTU4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQVdBLFU7O0FBQ0E7Ozs7OztrQkFDQTtBQUNBLDJDQUNBLFVBREEsQ0FEQTtBQUlBLG9EQUpBO0FBS0EsNENBTEE7QUFNQSw0Q0FOQTtBQU9BLFFBUEEsa0JBT0E7QUFDQTtBQUNBLHNDQURBO0FBRUE7QUFGQTtBQUlBLEtBWkE7O0FBYUE7QUFDQSw0QkFEQTtBQUVBO0FBRkEsS0FiQTtBQWlCQTtBQUNBLHdCQURBLDhCQUNBO0FBQ0E7QUFDQSxTQUhBO0FBSUEscUJBSkEsMkJBSUE7QUFDQTtBQUNBLFNBTkE7QUFPQSxtQkFQQSx5QkFPQTtBQUNBO0FBQ0E7QUFDQTtBQVZBLEtBakJBO0FBNkJBO0FBQ0Esc0JBREEsNEJBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FQQTtBQVFBLG9CQVJBLDBCQVFBLENBRUE7QUFWQSxLQTdCQTtBQXlDQSxXQXpDQSxxQkF5Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQTdDQTs7QUE4Q0E7QUFDQSxXQURBLGVBQ0EsQ0FEQSxFQUNBLENBREEsRUFDQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUkE7QUE5Q0EsQyIsImZpbGUiOiIxMjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cclxuICAgICAgICA8Q29udGFpbmVyPlxyXG4gICAgICAgICAgICA8U2VsZWN0IGNsYXNzPVwiZGF0ZVNlbGVjdCBtYWluLWxpLWl0ZW1cIiB2LW1vZGVsPVwidmFsXCIgc3R5bGU9XCJ3aWR0aDo5Ni41JTtcIiBjbGVhcmFibGU+XHJcbiAgICAgICAgICAgICAgICA8T3B0aW9uIGNsYXNzPVwibWFpbi1saS1pdGVtLW9wdGlvblwiIHYtZm9yPVwiaXRlbSBpbiBvcHRpb25zRGF0YVwiIDp2YWx1ZT1cIml0ZW0udmFsdWVcIiA6a2V5PVwiaXRlbS52YWx1ZVwiPnt7IGl0ZW0ua2V5IH19PC9PcHRpb24+XHJcbiAgICAgICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQgKiBhcyBjb21wb25lbnRzIGZyb20gJy4vc3R5bGUnO1xyXG5pbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgY29tcG9uZW50czoge1xyXG4gICAgICAgIC4uLmNvbXBvbmVudHNcclxuICAgIH0sXHJcbiAgICBtaXhpbnM6IFtQcm9wZXJ0eU1peGluXSxcclxuICAgIHBvc2l0aW9uOiAnbWFpblRvb2xFZGl0b3JUeXBlRGF0ZVNlbGVjdCcsXHJcbiAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLWRhdGVTZWxlY3QnLFxyXG4gICAgZGF0YSAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdmFsOnRoaXMuZWRpdG9yLnZhbHx8JycsXHJcbiAgICAgICAgICAgIHByb3BBcnI6W11cclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIHByb3BzOiB7XHJcbiAgICAgICAgaW5zdGFuY2VJbmZvOiBPYmplY3QsXHJcbiAgICAgICAgZWRpdG9yOiBPYmplY3RcclxuICAgIH0sXHJcbiAgICBjb21wdXRlZDoge1xyXG4gICAgICAgIGFwcGxpY2F0aW9uU3RhdGUgKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUuYXBwbGljYXRpb247XHJcbiAgICAgICAgfSxcclxuICAgICAgICB2aWV3cG9ydFN0YXRlICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb3B0aW9uc0RhdGEgKCkge1xyXG4gICAgICAgICAgICBsZXQgX2RhdGEgPSB0aGlzLnByb3BBcnIgfHwgW107XHJcbiAgICAgICAgICAgIHJldHVybiBfZGF0YTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgbWV0aG9kczoge1xyXG4gICAgICAgIGluaXRDdXJydEZpZWxkICgpIHtcclxuICAgICAgICAgICAgbGV0IHByb3BzID0gdGhpcy5pbnN0YW5jZUluZm8udm0uJGRhdGE7XHJcbiAgICAgICAgICAgIGxldCB2YWwgPSBfLmdldChwcm9wcywgdGhpcy5maWVsZCk7XHJcbiAgICAgICAgICAgIGlmICh2YWwgIT09IHVuZGVmaW5lZCkgey8v5pS55Li6dW5kZWZpbmVkLOagoemqjGJvb2xlYW7nsbvlnotmYWxzZemUmeivr1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWwgPSB2YWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGhhbmRsZUNoYW5nZSAoKSB7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtb3VudGVkKCl7XHJcbiAgICAgICAgICAgIGxldCBfdGhpcz10aGlzO1xyXG4gICAgICAgICAgICBfdGhpcy5wcm9wQXJyPWNvbmZpZ1BhZ2VJZGUuZGF0ZVR5cGU7XHJcbiAgICAgICAgICAgIF90aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICB9LFxyXG4gICAgd2F0Y2g6IHtcclxuICAgICAgICB2YWwgKG4sIG8pIHtcclxuXHJcblxyXG4gICAgICAgICAgICBpZiAobiA9PT0gbykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIHNjb3BlZCBsYW5nPVwibGVzc1wiID5cclxuXHJcbiAgICAubWFpbi1saS1pdGVtIHtcclxuICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwcHggOHB4IDEycHggOHB4O1xyXG4gICAgICAgIC5tYWluLWxpLWl0ZW0tb3B0aW9uIHtcclxuICAgICAgICAgICAgd2lkdGg6MjE5cHg7XHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRhdGVTZWxlY3R7XHJcbiAgICAgICAgLml2dS1zZWxlY3QtZHJvcGRvd257XHJcbiAgICAgICAgICAgIGxlZnQ6MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC5pdnUtc2VsZWN0LWRyb3Bkb3duLWxpc3Qge1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjYycHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1kYXRlU2VsZWN0L2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///125\n");
891
892/***/ }),
893/* 126 */
894/***/ (function(module, exports, __webpack_require__) {
895
896"use strict";
897eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(430);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeDoubleSelect',\n name: 'main-tool-editor-type-doubleSelect',\n data: function data() {\n return {\n isChild: false,\n parentIndex: 0,\n val: false,\n isLevel: false,\n arrList: []\n };\n },\n mounted: function mounted() {\n debugger;\n console.log(this.editor.isLevel);\n this.initCurrtField();\n },\n\n computed: {\n getArrList: function getArrList() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n this.isLevel = currentInstance.data.isLevel;\n if (this.isLevel) {\n if (!currentInstance.data.radioArr) {\n currentInstance.data.radioArr = [];\n }\n } else {\n if (!currentInstance.data.radioArr) {\n currentInstance.data.radioArr = [{\n label: \"选项1\",\n value: \"选项1\"\n }, {\n label: \"选项2\",\n value: \"选项2\"\n }, {\n label: \"选项3\",\n value: \"选项3\"\n }];\n }\n }\n\n return currentInstance.data.radioArr;\n },\n getChildList: function getChildList() {\n debugger;\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n return currentInstance.data.radioArr[this.parentIndex].children;\n },\n applicationState: function applicationState() {\n\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n }\n },\n methods: {\n backul: function backul() {\n this.isChild = false;\n },\n setRadioValue: function setRadioValue(item) {\n debugger;\n console.log(item);\n if (item) {\n item.value = item.label;\n }\n },\n delChildArr: function delChildArr(index) {\n this.$store.commit('viewport/delChildArr', { index: this.parentIndex, childIndex: index });\n },\n delArr: function delArr(index) {\n this.$store.commit('viewport/delRadioEventArr', { index: index });\n },\n addArr: function addArr(index) {\n\n this.$store.commit('viewport/addDoubleEventArr', { index: index });\n this.parentIndex = index;\n this.isChild = true;\n },\n addli: function addli(index) {\n if (!this.isChild) {\n this.$store.commit('viewport/addRadioEventArr', { index: index });\n } else {\n this.$store.commit('viewport/addDoubleEventArr', { index: this.parentIndex });\n }\n },\n handleChange: function handleChange() {}\n },\n watch: {\n val: function val(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input1: function input1(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input2: function input2(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1kb3VibGVTZWxlY3QvaW5kZXgudnVlP2ZjZmIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBMENBLFU7O0FBQ0E7Ozs7OztrQkFDQTtBQUNBLDJDQUNBLFVBREEsQ0FEQTtBQUlBLG9EQUpBO0FBS0EsOENBTEE7QUFNQSw4Q0FOQTtBQU9BLFFBUEEsa0JBT0E7QUFDQTtBQUNBLDBCQURBO0FBRUEsMEJBRkE7QUFHQSxzQkFIQTtBQUlBLDBCQUpBO0FBS0E7QUFMQTtBQU9BLEtBZkE7QUFnQkEsV0FoQkEscUJBZ0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FwQkE7O0FBcUJBO0FBRUEsa0JBRkEsd0JBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQSxhQUxBLE1BS0E7QUFFQTtBQUNBO0FBQ0Esb0NBREE7QUFFQTtBQUZBLHVCQUdBO0FBQ0Esb0NBREE7QUFFQTtBQUZBLHFCQUhBLEVBTUE7QUFDQSxvQ0FEQTtBQUVBO0FBRkEscUJBTkE7QUFVQTtBQUNBOztBQUVBO0FBQ0EsU0EzQkE7QUE0QkEsb0JBNUJBLDBCQTRCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBaENBO0FBaUNBLHdCQWpDQSw4QkFpQ0E7O0FBRUE7QUFDQSxTQXBDQTtBQXFDQSxxQkFyQ0EsMkJBcUNBO0FBQ0E7QUFDQTtBQXZDQSxLQXJCQTtBQThEQTtBQUNBLGNBREEsb0JBQ0E7QUFDQTtBQUNBLFNBSEE7QUFJQSxxQkFKQSx5QkFJQSxJQUpBLEVBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FWQTtBQVdBLG1CQVhBLHVCQVdBLEtBWEEsRUFXQTtBQUNBO0FBQ0EsU0FiQTtBQWNBLGNBZEEsa0JBY0EsS0FkQSxFQWNBO0FBQ0E7QUFDQSxTQWhCQTtBQWlCQSxjQWpCQSxrQkFpQkEsS0FqQkEsRUFpQkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0F0QkE7QUF1QkEsYUF2QkEsaUJBdUJBLEtBdkJBLEVBdUJBO0FBQ0E7QUFDQTtBQUNBLGFBRkEsTUFFQTtBQUNBO0FBQ0E7QUFFQSxTQTlCQTtBQStCQSxvQkEvQkEsMEJBK0JBLENBRUE7QUFqQ0EsS0E5REE7QUFpR0E7QUFDQSxXQURBLGVBQ0EsQ0FEQSxFQUNBLENBREEsRUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FOQTtBQU9BLGNBUEEsa0JBT0EsQ0FQQSxFQU9BLENBUEEsRUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FaQTtBQWFBLGNBYkEsa0JBYUEsQ0FiQSxFQWFBLENBYkEsRUFhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFsQkE7QUFqR0EsQyIsImZpbGUiOiIxMjYuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwidG9vbC10eXBlLXJhZGlvQXJyXCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmFkaW9BcnItdG9vbC10eXBlLWRpdlwiPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cInJhZGlvQXJyLWVkaXRvclRleHRTdHlsZVwiPlxyXG4gICAgICAgICAgICAgICAg6YCJ6aG5XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJhZGlvQXJyLWVkaXRvck1heEZvbnRTdHlsZVwiPuacgOWkmjIwMOmhue+8jOavj+mhueacgOWkmjUw5a2XPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgIDwhLS08c3BhbiBjbGFzcz1cImVkaXRvck1heEZvbnRTdHlsZVwiICB2LWlmPVwiZWRpdG9yLm1heEZvbnRcIj7mnIDlpJoyMDDpobnvvIzmr4/pobnmnIDlpJp7e2VkaXRvci5tYXhGb250fX3lrZc8L3NwYW4+LS0+XHJcbiAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgPHVsIGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgdi1pZj1cImlzTGV2ZWw9PXRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWw+5pWw5o2u6YCa6L+H5ZCO5Y+w5o6l5Y+j6I635Y+WPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgdi1lbHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cInByaW1hcnlcIiBzaXplPVwic21hbGxcIiBpY29uPVwiaW9zLWFkZFwiIEBjbGljaz1cImFkZGxpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID7lop7liqA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiB0eXBlPVwicHJpbWFyeVwiIHNpemU9XCJzbWFsbFwiIHYtaWY9XCJpc0NoaWxkPT10cnVlXCIgaWNvbj1cImlvcy1hZGRcIiBAY2xpY2s9XCJiYWNrdWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPui/lOWbnjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiXCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gZ2V0QXJyTGlzdFwiICB2LWlmPVwiaXNDaGlsZD09ZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXQgdi1tb2RlbD1cIml0ZW0ubGFiZWxcIiBtYXhsZW5ndGg9XCI1MFwiIGNsZWFyYWJsZSBAb24tY2hhbmdlPVwic2V0UmFkaW9WYWx1ZShpdGVtKVwiICBjbGFzcz1cInJhZGlvQXJyLWVkaXRvcklucHV0XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbmZvbnQgaWNvbi1yZWNhLWljb25fcm91bmRyZWR1Y2VcIiBAY2xpY2s9XCJkZWxBcnIoaW5kZXgpXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbmZvbnQgaWNvbi1yZWNhLWljb25fcm91bmRhZGQgXCIgQGNsaWNrPVwiYWRkQXJyKGluZGV4KVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08dWwgc3R5bGU9XCJtYXJnaW4tbGVmdDogMjBweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJcIiB2LWZvcj1cIihlbCxpKSBpbiBpdGVtLmNoaWxkcmVuXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXQgdi1tb2RlbD1cIml0ZW0ubGFiZWxcIiBjbGVhcmFibGUgQG9uLWNoYW5nZT1cInNldFJhZGlvVmFsdWUoaXRlbSlcIiAgY2xhc3M9XCJyYWRpb0Fyci1lZGl0b3JJbnB1dFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uZm9udCBpY29uLXJlY2EtaWNvbl9yb3VuZHJlZHVjZVwiIEBjbGljaz1cImRlbENoaWxkQXJyKGluZGV4LGkpXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPi0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIlwiIHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIGdldENoaWxkTGlzdFwiICB2LWlmPVwiaXNDaGlsZD09dHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dCB2LW1vZGVsPVwiaXRlbS5sYWJlbFwiIGNsZWFyYWJsZSAgbWF4bGVuZ3RoPVwiNTBcIiBAb24tY2hhbmdlPVwic2V0UmFkaW9WYWx1ZShpdGVtKVwiICBjbGFzcz1cInJhZGlvQXJyLWVkaXRvcklucHV0XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbmZvbnQgaWNvbi1yZWNhLWljb25fcm91bmRyZWR1Y2VcIiBAY2xpY2s9XCJkZWxDaGlsZEFycihpbmRleClcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbiAgICBpbXBvcnQgKiBhcyBjb21wb25lbnRzIGZyb20gJy4vc3R5bGUnO1xyXG4gICAgaW1wb3J0IHtQcm9wZXJ0eU1peGlufSBmcm9tICcuLi8uLi9zZXJ2aWNlL21haW4tdG9vbC1lZGl0b3ItdHlwZS1taXhpbic7XHJcbiAgICBleHBvcnQgZGVmYXVsdCB7XHJcbiAgICAgICAgY29tcG9uZW50czoge1xyXG4gICAgICAgICAgICAuLi5jb21wb25lbnRzXHJcbiAgICAgICAgfSxcclxuICAgICAgICBtaXhpbnM6IFtQcm9wZXJ0eU1peGluXSxcclxuICAgICAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yVHlwZURvdWJsZVNlbGVjdCcsXHJcbiAgICAgICAgbmFtZTogJ21haW4tdG9vbC1lZGl0b3ItdHlwZS1kb3VibGVTZWxlY3QnLFxyXG4gICAgICAgIGRhdGEgKCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgaXNDaGlsZDpmYWxzZSxcclxuICAgICAgICAgICAgICAgIHBhcmVudEluZGV4OjAsXHJcbiAgICAgICAgICAgICAgICB2YWw6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgaXNMZXZlbDpmYWxzZSxcclxuICAgICAgICAgICAgICAgIGFyckxpc3Q6W11cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG1vdW50ZWQgKCkge1xyXG4gICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5lZGl0b3IuaXNMZXZlbCk7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdEN1cnJ0RmllbGQoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXB1dGVkOiB7XHJcblxyXG4gICAgICAgICAgICBnZXRBcnJMaXN0KCl7XHJcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc0xldmVsPWN1cnJlbnRJbnN0YW5jZS5kYXRhLmlzTGV2ZWw7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmlzTGV2ZWwpe1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEucmFkaW9BcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEucmFkaW9BcnIgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8g5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5yYWRpb0Fycikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5yYWRpb0FyciA9IFt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCLpgInpobkxXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCLpgInpobkxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSx7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCLpgInpobkyXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCLpgInpobkyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSx7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCLpgInpobkzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCLpgInpobkzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgfV07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudEluc3RhbmNlLmRhdGEucmFkaW9BcnI7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGdldENoaWxkTGlzdCgpe1xyXG4gICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnJhZGlvQXJyW3RoaXMucGFyZW50SW5kZXhdLmNoaWxkcmVuO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBhcHBsaWNhdGlvblN0YXRlICgpIHtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUuYXBwbGljYXRpb247XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHZpZXdwb3J0U3RhdGUgKCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtZXRob2RzOiB7XHJcbiAgICAgICAgICAgIGJhY2t1bCgpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc0NoaWxkPWZhbHNlO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBzZXRSYWRpb1ZhbHVlKGl0ZW0pe1xyXG4gICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhpdGVtKTtcclxuICAgICAgICAgICAgICAgIGlmKGl0ZW0pe1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0udmFsdWU9aXRlbS5sYWJlbDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZGVsQ2hpbGRBcnIoaW5kZXgpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9kZWxDaGlsZEFycicse2luZGV4OnRoaXMucGFyZW50SW5kZXgsY2hpbGRJbmRleDppbmRleH0pO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBkZWxBcnIoaW5kZXgpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9kZWxSYWRpb0V2ZW50QXJyJyx7aW5kZXg6aW5kZXh9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYWRkQXJyKGluZGV4KXtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L2FkZERvdWJsZUV2ZW50QXJyJyx7aW5kZXg6aW5kZXh9KTtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFyZW50SW5kZXg9aW5kZXg7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzQ2hpbGQ9dHJ1ZTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYWRkbGkoaW5kZXgpe1xyXG4gICAgICAgICAgICAgICAgaWYoIXRoaXMuaXNDaGlsZCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9hZGRSYWRpb0V2ZW50QXJyJyx7aW5kZXg6aW5kZXh9KTtcclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvYWRkRG91YmxlRXZlbnRBcnInLHtpbmRleDp0aGlzLnBhcmVudEluZGV4fSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBoYW5kbGVDaGFuZ2UgKCkge1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgd2F0Y2g6IHtcclxuICAgICAgICAgICAgdmFsIChuLCBvKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobiA9PT0gbykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaW5wdXQxIChuLCBvKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobiA9PT0gbykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaW5wdXQyIChuLCBvKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobiA9PT0gbykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIHNjb3BlZCBsYW5nPVwibGVzc1wiPlxyXG4gICAgLnRvb2wtdHlwZS1yYWRpb0FyciB7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDhweCAwO1xyXG4gICAgICAgIC5yYWRpb0Fyci10b29sLXR5cGUtZGl2ICB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDhweCAwO1xyXG4gICAgICAgICAgICAucmFkaW9BcnItZWRpdG9yVGV4dFN0eWxlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzE5MWYyNTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICAgICAgICAgICAgICAgIC5yYWRpb0Fyci1lZGl0b3JNYXhGb250U3R5bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1LDMxLDM3LC40KTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAucmFkaW9BcnItZWRpdG9yTWF4Rm9udFN0eWxlRmFsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJlZDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJhZGlvQXJyLWVkaXRvcklucHV0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJhZGlvQXJyLWVkaXRvcklucHV0RmFsc2Uge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgcmVkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yYWRpb0Fyci1lZGl0b3JDb250ZW50U3R5bGUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiA4cHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaXZ1LWlucHV0LXdyYXBwZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogODAlO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pdnUtaW5wdXQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtZG91YmxlU2VsZWN0L2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///126\n");
898
899/***/ }),
900/* 127 */
901/***/ (function(module, __webpack_exports__, __webpack_require__) {
902
903"use strict";
904eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(128);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(432)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\nvar __vue_template__ = null\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-editor/box-editor/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-7cdfe158\", Component.options)\n } else {\n hotAPI.reload(\"data-v-7cdfe158\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWVkaXRvci9ib3gtZWRpdG9yL2luZGV4LnZ1ZT9jZjVhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQXNWO0FBQ2hXO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBd0Y7QUFDekg7QUFDd0k7QUFDYTtBQUNySjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiIxMjcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi03Y2RmZTE1OFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG52YXIgX192dWVfdGVtcGxhdGVfXyA9IG51bGxcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtZWRpdG9yL2JveC1lZGl0b3IvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTdjZGZlMTU4XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtN2NkZmUxNThcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWVkaXRvci9ib3gtZWRpdG9yL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMTI3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///127\n");
905
906/***/ }),
907/* 128 */
908/***/ (function(module, exports, __webpack_require__) {
909
910"use strict";
911eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(434);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n props: {\n paddingLeft: Number,\n paddingTop: Number,\n paddingRight: Number,\n paddingBottom: Number,\n marginLeft: Number,\n marginTop: Number,\n marginRight: Number,\n marginBottom: Number\n },\n mounted: function mounted() {\n document.addEventListener('mousemove', this.handleMouseMove);\n document.addEventListener('mouseup', this.handleMouseUp);\n },\n destroyed: function destroyed() {\n document.removeEventListener('mousemove', this.handleMouseMove);\n document.removeEventListener('mouseup', this.handleMouseUp);\n },\n data: function data() {\n return {\n size: 200,\n\n lastX: null,\n lastY: null,\n\n currentHolding: '',\n\n hasMouseDown: false,\n\n paddingLeft_: this.paddingLeft,\n paddingTop_: this.paddingTop,\n paddingRight_: this.paddingRight,\n paddingBottom_: this.paddingBottom,\n marginLeft_: this.marginLeft,\n marginTop_: this.marginTop,\n marginRight_: this.marginRight,\n marginBottom_: this.marginBottom\n };\n },\n render: function render(h) {\n var normalBorderWidth = this.size / 4;\n var specialBorderWidth = this.size / 7;\n\n var containerStyle = {\n width: this.size + 'px',\n height: this.size - this.size / 5 + 'px'\n };\n\n var leftStyle = {\n left: specialBorderWidth + 'px',\n top: this.size / 2 - normalBorderWidth - this.size / 10 + 'px'\n };\n\n var topStyle = {\n top: specialBorderWidth + 'px',\n left: this.size / 2 - normalBorderWidth + 'px'\n };\n\n var rightStyle = {\n right: specialBorderWidth + 'px',\n top: this.size / 2 - normalBorderWidth - this.size / 10 + 'px'\n };\n\n var bottomStyle = {\n bottom: specialBorderWidth + 'px',\n left: this.size / 2 - normalBorderWidth + 'px'\n };\n\n var numberOuterLeftStyle = {\n width: specialBorderWidth + 'px',\n height: specialBorderWidth + 'px',\n left: 0,\n top: this.size / 2 - specialBorderWidth / 2 - this.size / 10 + 'px'\n };\n\n var numberOuterTopStyle = {\n width: specialBorderWidth + 'px',\n height: specialBorderWidth + 'px',\n top: 0,\n left: this.size / 2 - specialBorderWidth / 2 + 'px'\n };\n\n var numberOuterRightStyle = {\n width: specialBorderWidth + 'px',\n height: specialBorderWidth + 'px',\n right: 0,\n top: this.size / 2 - specialBorderWidth / 2 - this.size / 10 + 'px'\n };\n\n var numberOuterBottomStyle = {\n width: specialBorderWidth + 'px',\n height: specialBorderWidth + 'px',\n bottom: 0,\n left: this.size / 2 - specialBorderWidth / 2 + 'px'\n };\n\n var numberInnerLeftStyle = {\n width: specialBorderWidth + 'px',\n height: specialBorderWidth + 'px',\n left: this.size / 3 - specialBorderWidth / 2 + 'px',\n top: this.size / 2 - specialBorderWidth / 2 - this.size / 10 + 'px'\n };\n\n var numberInnerTopStyle = {\n width: specialBorderWidth + 'px',\n height: specialBorderWidth + 'px',\n top: this.size / 3 - specialBorderWidth / 2 + 'px',\n left: this.size / 2 - specialBorderWidth / 2 + 'px'\n };\n\n var numberInnerRightStyle = {\n width: specialBorderWidth + 'px',\n height: specialBorderWidth + 'px',\n right: this.size / 3 - specialBorderWidth / 2 + 'px',\n top: this.size / 2 - specialBorderWidth / 2 - this.size / 10 + 'px'\n };\n\n var numberInnerBottomStyle = {\n width: specialBorderWidth + 'px',\n height: specialBorderWidth + 'px',\n bottom: this.size / 3 - specialBorderWidth / 2 + 'px',\n left: this.size / 2 - specialBorderWidth / 2 + 'px'\n };\n\n return h('Container', {\n style: {\n containerStyle: containerStyle\n }\n }, [h('Left', { style: {\n leftStyle: leftStyle\n } }, this.renderTriangle('right', 'marginLeft'), this.renderTriangle('right', 'paddingLeft', { marginLeft: 5 + 'px' })), h('Right', { style: {\n rightStyle: rightStyle\n } }, this.renderTriangle('left', 'paddingRight'), this.renderTriangle('left', 'marginRight', { marginLeft: 5 + 'px' })), h('Top', { style: {\n topStyle: topStyle\n } }, this.renderTriangle('bottom', 'marginTop'), this.renderTriangle('bottom', 'paddingTop', { marginLeft: 5 + 'px' })), h('Bottom', { style: {\n bottomStyle: bottomStyle\n } }, this.renderTriangle('top', 'paddingBottom'), this.renderTriangle('top', 'marginBottom', { marginLeft: 5 + 'px' })), h('NumberBox', { style: {\n numberOuterLeftStyle: numberOuterLeftStyle\n } }, this.renderTriangle('top', 'paddingBottom'), this.renderTriangle('top', 'marginBottom', { marginLeft: 5 + 'px' }), h('Input', {\n ref: \"marginLeftInput\",\n on: {\n nativeOnMouseenter: this.handleInputEnter.bind(this, 'marginLeft'),\n nativeOnMouseleave: this.handleInputLeave.bind(this, 'marginLeft'),\n nativeOnChange: this.handleChange.bind(this, 'marginLeft') }\n }, this.marginLeft_.toString())), h('NumberBox', { style: {\n numberOuterTopStyle: numberOuterTopStyle\n } }, this.renderTriangle('top', 'paddingBottom'), this.renderTriangle('top', 'marginBottom', { marginLeft: 5 + 'px' }), h('Input', {\n ref: \"marginTopInput\",\n on: {\n nativeOnMouseenter: this.handleInputEnter.bind(this, 'marginLeft'),\n nativeOnMouseleave: this.handleInputLeave.bind(this, 'marginLeft'),\n nativeOnChange: this.handleChange.bind(this, 'marginLeft') }\n }, this.marginTop_.toString())), h('NumberBox', { style: {\n numberOuterRightStyle: numberOuterRightStyle\n } }, this.renderTriangle('top', 'paddingBottom'), this.renderTriangle('top', 'marginBottom', { marginLeft: 5 + 'px' }), h('Input', {\n ref: \"marginRightInput\",\n on: {\n nativeOnMouseenter: this.handleInputEnter.bind(this, 'marginLeft'),\n nativeOnMouseleave: this.handleInputLeave.bind(this, 'marginLeft'),\n nativeOnChange: this.handleChange.bind(this, 'marginLeft') }\n }, this.marginRight_.toString())), h('NumberBox', { style: {\n numberOuterBottomStyle: numberOuterBottomStyle\n } }, this.renderTriangle('top', 'paddingBottom'), this.renderTriangle('top', 'marginBottom', { marginLeft: 5 + 'px' }), h('Input', {\n ref: \"marginBottomInput\",\n on: {\n nativeOnMouseenter: this.handleInputEnter.bind(this, 'marginLeft'),\n nativeOnMouseleave: this.handleInputLeave.bind(this, 'marginLeft'),\n nativeOnChange: this.handleChange.bind(this, 'marginLeft') }\n }, this.marginBottom_.toString())), h('NumberBox', { style: {\n numberOuterBottomStyle: numberOuterBottomStyle\n } }, this.renderTriangle('top', 'paddingBottom'), this.renderTriangle('top', 'marginBottom', { marginLeft: 5 + 'px' }), h('Input', {\n ref: \"marginBottomInput\",\n on: {\n nativeOnMouseenter: this.handleInputEnter.bind(this, 'marginLeft'),\n nativeOnMouseleave: this.handleInputLeave.bind(this, 'marginLeft'),\n nativeOnChange: this.handleChange.bind(this, 'marginLeft') }\n }, this.marginBottom_.toString()))]);\n },\n\n methods: {\n handleInputEnter: function handleInputEnter(name, event) {\n if (this.currentHolding !== '') {\n return;\n }\n var inputElement = event.target;\n inputElement.focus();\n inputElement.select();\n },\n handleInputLeave: function handleInputLeave(name, event) {\n if (this.currentHolding !== '') {\n return;\n }\n var inputElement = event.target;\n inputElement.blur();\n },\n handleChange: function handleChange(name, event) {\n this[name + '_'] = parseInt(event.target.value) || 0;\n this.$emit('change', name, this[name + '_']);\n this.$emit('finalChange', name, this[name + '_']);\n },\n handleMouseDown: function handleMouseDown(name, event) {\n this.lastX = event.clientX;\n this.lastY = event.clientY;\n this.currentHolding = name;\n this.hasMouseDown = true;\n this.$emit('start');\n },\n handleMouseMove: function handleMouseMove(event) {\n var diffX = event.clientX - this.lastX;\n var diffY = event.clientY - this.lastY;\n switch (this.currentHolding) {\n case 'marginLeft':\n\n this.marginLeft_ = this.marginLeft_ -= diffX;\n\n this.$emit('change', this.currentHolding, this.marginLeft_);\n break;\n case 'paddingLeft':\n\n this.paddingLeft_ = this.paddingLeft_ -= diffX;\n\n this.$emit('change', this.currentHolding, this.paddingLeft_);\n break;\n case 'marginRight':\n\n this.marginRight_ = this.marginRight_ += diffX;\n\n this.$emit('change', this.currentHolding, this.marginRight_);\n break;\n case 'paddingRight':\n\n this.paddingRight_ = this.paddingRight_ += diffX;\n\n this.$emit('change', this.currentHolding, this.paddingRight_);\n break;\n case 'marginTop':\n\n this.marginTop_ = this.marginTop_ -= diffY;\n\n this.$emit('change', this.currentHolding, this.marginTop_);\n break;\n case 'paddingTop':\n\n this.paddingTop_ = this.paddingTop_ -= diffY;\n\n this.$emit('change', this.currentHolding, this.paddingTop_);\n break;\n case 'marginBottom':\n\n this.marginBottom_ = this.marginBottom_ += diffY;\n\n this.$emit('change', this.currentHolding, this.marginBottom_);\n break;\n case 'paddingBottom':\n\n this.paddingBottom_ = this.paddingBottom_ += diffY;\n\n this.$emit('change', this.currentHolding, this.paddingBottom_);\n break;\n }\n this.lastX = event.clientX;\n this.lastY = event.clientY;\n },\n handleMouseUp: function handleMouseUp() {\n if (!this.hasMouseDown) {\n return;\n }\n this.hasMouseDown = false;\n\n this.$emit('finalChange', this.currentHolding, this[this.currentHolding + '_']);\n this.currentHolding = '';\n },\n renderTriangle: function renderTriangle(position, name, extendStyle) {\n var style = (0, _extends3.default)({}, extendStyle, {\n width: 0,\n height: 0\n });\n var outerStyle = {};\n\n var normalBorderWidth = this.size / 4;\n var specialBorderWidth = this.size / 5;\n var outerWidth = this.size / 20;\n var outerSpace = this.size / 40;\n\n switch (position) {\n case 'left':\n style.borderTop = normalBorderWidth + 'px solid transparent';\n style.borderBottom = normalBorderWidth + 'px solid transparent';\n style.borderRightStyle = 'solid';\n style.borderRightWidth = specialBorderWidth + 'px';\n outerStyle.width = outerWidth + 'px';\n break;\n case 'top':\n style.borderLeft = normalBorderWidth + 'px solid transparent';\n style.borderRight = normalBorderWidth + 'px solid transparent';\n style.borderBottomStyle = 'solid';\n style.borderBottomWidth = specialBorderWidth + 'px';\n outerStyle.height = outerWidth + 'px';\n break;\n case 'right':\n style.borderTop = normalBorderWidth + 'px solid transparent';\n style.borderBottom = normalBorderWidth + 'px solid transparent';\n style.borderLeftStyle = 'solid';\n style.borderLeftWidth = specialBorderWidth + 'px';\n outerStyle.width = outerWidth + 'px';\n break;\n case 'bottom':\n style.borderLeft = normalBorderWidth + 'px solid transparent';\n style.borderRight = normalBorderWidth + 'px solid transparent';\n style.borderTopStyle = 'solid';\n style.borderTopWidth = specialBorderWidth + 'px';\n outerStyle.height = outerWidth + 'px';\n break;\n }\n\n switch (name) {\n case 'marginLeft':\n style.marginLeft = 0;\n break;\n case 'paddingLeft':\n style.marginLeft = -outerWidth + 'px';\n outerStyle.marginLeft = outerSpace + 'px';\n break;\n case 'marginTop':\n style.marginTop = 0;\n break;\n case 'paddingTop':\n style.marginTop = -outerWidth + 'px';\n outerStyle.marginTop = outerSpace + 'px';\n break;\n case 'marginRight':\n style.marginLeft = -outerWidth * 3 + 'px';\n outerStyle.marginLeft = outerSpace + 'px';\n break;\n case 'paddingRight':\n style.marginLeft = -specialBorderWidth / 2 + 'px';\n break;\n case 'marginBottom':\n style.marginTop = -outerWidth * 3 + 'px';\n outerStyle.marginTop = outerSpace + 'px';\n break;\n case 'paddingBottom':\n style.marginTop = -specialBorderWidth / 2 + 'px';\n break;\n }\n return h('ButtonContainer', {\n style: outerStyle\n }, [h('ButtonTriangle', {\n style: style\n })]);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1lZGl0b3IvYm94LWVkaXRvci9pbmRleC52dWU/ZDc4YyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztrQkFZQTtBQUNBO0FBQ0EsMkJBREE7QUFFQSwwQkFGQTtBQUdBLDRCQUhBO0FBSUEsNkJBSkE7QUFLQSwwQkFMQTtBQU1BLHlCQU5BO0FBT0EsMkJBUEE7QUFRQTtBQVJBLEtBREE7QUFXQSxXQVhBLHFCQVdBO0FBQ0E7QUFDQTtBQUNBLEtBZEE7QUFlQSxhQWZBLHVCQWVBO0FBQ0E7QUFDQTtBQUNBLEtBbEJBO0FBbUJBLFFBbkJBLGtCQW1CQTtBQUNBO0FBQ0EscUJBREE7O0FBR0EsdUJBSEE7QUFJQSx1QkFKQTs7QUFNQSw4QkFOQTs7QUFRQSwrQkFSQTs7QUFVQSwwQ0FWQTtBQVdBLHdDQVhBO0FBWUEsNENBWkE7QUFhQSw4Q0FiQTtBQWNBLHdDQWRBO0FBZUEsc0NBZkE7QUFnQkEsMENBaEJBO0FBaUJBO0FBakJBO0FBbUJBLEtBdkNBO0FBd0NBLFVBeENBLGtCQXdDQSxDQXhDQSxFQXdDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQ0FEQTtBQUVBO0FBRkE7O0FBS0E7QUFDQSwyQ0FEQTtBQUVBO0FBRkE7O0FBS0E7QUFDQSwwQ0FEQTtBQUVBO0FBRkE7O0FBS0E7QUFDQSw0Q0FEQTtBQUVBO0FBRkE7O0FBS0E7QUFDQSw2Q0FEQTtBQUVBO0FBRkE7O0FBS0E7QUFDQSw0Q0FEQTtBQUVBLDZDQUZBO0FBR0EsbUJBSEE7QUFJQTtBQUpBOztBQU9BO0FBQ0EsNENBREE7QUFFQSw2Q0FGQTtBQUdBLGtCQUhBO0FBSUE7QUFKQTs7QUFPQTtBQUNBLDRDQURBO0FBRUEsNkNBRkE7QUFHQSxvQkFIQTtBQUlBO0FBSkE7O0FBT0E7QUFDQSw0Q0FEQTtBQUVBLDZDQUZBO0FBR0EscUJBSEE7QUFJQTtBQUpBOztBQU9BO0FBQ0EsNENBREE7QUFFQSw2Q0FGQTtBQUdBLCtEQUhBO0FBSUE7QUFKQTs7QUFPQTtBQUNBLDRDQURBO0FBRUEsNkNBRkE7QUFHQSw4REFIQTtBQUlBO0FBSkE7O0FBT0E7QUFDQSw0Q0FEQTtBQUVBLDZDQUZBO0FBR0EsZ0VBSEE7QUFJQTtBQUpBOztBQU9BO0FBQ0EsNENBREE7QUFFQSw2Q0FGQTtBQUdBLGlFQUhBO0FBSUE7QUFKQTs7QUFPQTtBQUNBO0FBQ0E7QUFEQTtBQURBLFdBSUE7QUFDQTtBQURBLGlCQUdBLDBDQUhBLEVBR0EscUVBSEEsR0FJQTtBQUNBO0FBREEsaUJBR0EsMkNBSEEsRUFHQSxvRUFIQSxDQUpBLEVBUUE7QUFDQTtBQURBLGlCQUdBLDBDQUhBLEVBR0EscUVBSEEsQ0FSQSxFQVlBO0FBQ0E7QUFEQSxpQkFHQSwyQ0FIQSxFQUdBLG9FQUhBLENBWkEsRUFnQkE7QUFDQTtBQURBLGlCQUdBLDJDQUhBLEVBR0Esb0VBSEEsRUFHQTtBQUNBLGtDQURBO0FBRUE7QUFDQSxrRkFEQTtBQUVBLGtGQUZBO0FBR0EsMEVBSEE7QUFGQSxXQU1BLDJCQU5BLENBSEEsQ0FoQkEsRUEwQkE7QUFDQTtBQURBLGlCQUdBLDJDQUhBLEVBR0Esb0VBSEEsRUFHQTtBQUNBLGlDQURBO0FBRUE7QUFDQSxrRkFEQTtBQUVBLGtGQUZBO0FBR0EsMEVBSEE7QUFGQSxXQU1BLDBCQU5BLENBSEEsQ0ExQkEsRUFvQ0E7QUFDQTtBQURBLGlCQUdBLDJDQUhBLEVBR0Esb0VBSEEsRUFHQTtBQUNBLG1DQURBO0FBRUE7QUFDQSxrRkFEQTtBQUVBLGtGQUZBO0FBR0EsMEVBSEE7QUFGQSxXQU1BLDRCQU5BLENBSEEsQ0FwQ0EsRUE4Q0E7QUFDQTtBQURBLGlCQUdBLDJDQUhBLEVBR0Esb0VBSEEsRUFHQTtBQUNBLG9DQURBO0FBRUE7QUFDQSxrRkFEQTtBQUVBLGtGQUZBO0FBR0EsMEVBSEE7QUFGQSxXQU1BLDZCQU5BLENBSEEsQ0E5Q0EsRUF3REE7QUFDQTtBQURBLGlCQUVBLDJDQUZBLEVBRUEsb0VBRkEsRUFFQTtBQUNBLG9DQURBO0FBRUE7QUFDQSxrRkFEQTtBQUVBLGtGQUZBO0FBR0EsMEVBSEE7QUFGQSxXQU1BLDZCQU5BLENBRkEsQ0F4REEsQ0FKQTtBQWdIQSxLQTdPQTs7QUE4T0E7QUFDQSx3QkFEQSw0QkFDQSxJQURBLEVBQ0EsS0FEQSxFQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FSQTtBQVNBLHdCQVRBLDRCQVNBLElBVEEsRUFTQSxLQVRBLEVBU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FmQTtBQW1CQSxvQkFuQkEsd0JBbUJBLElBbkJBLEVBbUJBLEtBbkJBLEVBbUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0F2QkE7QUEyQkEsdUJBM0JBLDJCQTJCQSxJQTNCQSxFQTJCQSxLQTNCQSxFQTJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQWpDQTtBQXFDQSx1QkFyQ0EsMkJBcUNBLEtBckNBLEVBcUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFoREE7QUFrREE7QUFDQTtBQUNBLFNBNUZBO0FBNkZBLHFCQTdGQSwyQkE2RkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FyR0E7QUFzR0Esc0JBdEdBLDBCQXNHQSxRQXRHQSxFQXNHQSxJQXRHQSxFQXNHQSxXQXRHQSxFQXNHQTtBQUNBLG1EQUNBLFdBREE7QUFFQSx3QkFGQTtBQUdBO0FBSEE7QUFLQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNUJBOztBQStCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNUJBO0FBOEJBO0FBQ0E7QUFEQSxlQUVBO0FBQ0E7QUFEQSxlQUZBO0FBZ0JBO0FBaE1BO0FBOU9BLEMiLCJmaWxlIjoiMTI4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHNjcmlwdD5cclxuaW1wb3J0IHtcclxuICAgIENvbnRhaW5lcixcclxuICAgIExlZnQsXHJcbiAgICBSaWdodCxcclxuICAgIFRvcCxcclxuICAgIEJvdHRvbSxcclxuICAgIE51bWJlckJveCxcclxuICAgIEJ1dHRvbkNvbnRhaW5lcixcclxuICAgIEJ1dHRvblRyaWFuZ2xlLFxyXG4gICAgSW5wdXRcclxufSBmcm9tICcuL3N0eWxlJztcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgcHJvcHM6IHtcclxuICAgICAgICBwYWRkaW5nTGVmdDogTnVtYmVyLFxyXG4gICAgICAgIHBhZGRpbmdUb3A6IE51bWJlcixcclxuICAgICAgICBwYWRkaW5nUmlnaHQ6IE51bWJlcixcclxuICAgICAgICBwYWRkaW5nQm90dG9tOiBOdW1iZXIsXHJcbiAgICAgICAgbWFyZ2luTGVmdDogTnVtYmVyLFxyXG4gICAgICAgIG1hcmdpblRvcDogTnVtYmVyLFxyXG4gICAgICAgIG1hcmdpblJpZ2h0OiBOdW1iZXIsXHJcbiAgICAgICAgbWFyZ2luQm90dG9tOiBOdW1iZXJcclxuICAgIH0sXHJcbiAgICBtb3VudGVkICgpIHtcclxuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLmhhbmRsZU1vdXNlTW92ZSk7XHJcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuaGFuZGxlTW91c2VVcCk7XHJcbiAgICB9LFxyXG4gICAgZGVzdHJveWVkICgpIHtcclxuICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLmhhbmRsZU1vdXNlTW92ZSk7XHJcbiAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuaGFuZGxlTW91c2VVcCk7XHJcbiAgICB9LFxyXG4gICAgZGF0YSAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgc2l6ZTogMjAwLFxyXG4gICAgICAgICAgICAvLyDkuIrkuIDmrKHpvKDmoIcgeCwgeSDkvY3nva5cclxuICAgICAgICAgICAgbGFzdFg6IG51bGwsXHJcbiAgICAgICAgICAgIGxhc3RZOiBudWxsLFxyXG4gICAgICAgICAgICAvLyDlvZPliY3mjInkvY/nmoTnsbvlnotcclxuICAgICAgICAgICAgY3VycmVudEhvbGRpbmc6ICcnLFxyXG4gICAgICAgICAgICAvLyDorrDlvZXpvKDmoIfmmK/lkKbmjInkuIvkuoZcclxuICAgICAgICAgICAgaGFzTW91c2VEb3duOiBmYWxzZSxcclxuXHJcbiAgICAgICAgICAgIHBhZGRpbmdMZWZ0XzogdGhpcy5wYWRkaW5nTGVmdCxcclxuICAgICAgICAgICAgcGFkZGluZ1RvcF86IHRoaXMucGFkZGluZ1RvcCxcclxuICAgICAgICAgICAgcGFkZGluZ1JpZ2h0XzogdGhpcy5wYWRkaW5nUmlnaHQsXHJcbiAgICAgICAgICAgIHBhZGRpbmdCb3R0b21fOiB0aGlzLnBhZGRpbmdCb3R0b20sXHJcbiAgICAgICAgICAgIG1hcmdpbkxlZnRfOiB0aGlzLm1hcmdpbkxlZnQsXHJcbiAgICAgICAgICAgIG1hcmdpblRvcF86IHRoaXMubWFyZ2luVG9wLFxyXG4gICAgICAgICAgICBtYXJnaW5SaWdodF86IHRoaXMubWFyZ2luUmlnaHQsXHJcbiAgICAgICAgICAgIG1hcmdpbkJvdHRvbV86IHRoaXMubWFyZ2luQm90dG9tXHJcbiAgICAgICAgfTtcclxuICAgIH0sXHJcbiAgICByZW5kZXIgKGgpIHtcclxuICAgICAgICBjb25zdCBub3JtYWxCb3JkZXJXaWR0aCA9IHRoaXMuc2l6ZSAvIDQ7XHJcbiAgICAgICAgY29uc3Qgc3BlY2lhbEJvcmRlcldpZHRoID0gdGhpcy5zaXplIC8gNztcclxuXHJcbiAgICAgICAgY29uc3QgY29udGFpbmVyU3R5bGUgPSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLnNpemUgKyAncHgnLFxyXG4gICAgICAgICAgICBoZWlnaHQ6IHRoaXMuc2l6ZSAtIHRoaXMuc2l6ZSAvIDUgKyAncHgnXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgY29uc3QgbGVmdFN0eWxlID0ge1xyXG4gICAgICAgICAgICBsZWZ0OiBzcGVjaWFsQm9yZGVyV2lkdGggKyAncHgnLFxyXG4gICAgICAgICAgICB0b3A6IHRoaXMuc2l6ZSAvIDIgLSBub3JtYWxCb3JkZXJXaWR0aCAtIHRoaXMuc2l6ZSAvIDEwICsgJ3B4J1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGNvbnN0IHRvcFN0eWxlID0ge1xyXG4gICAgICAgICAgICB0b3A6IHNwZWNpYWxCb3JkZXJXaWR0aCArICdweCcsXHJcbiAgICAgICAgICAgIGxlZnQ6IHRoaXMuc2l6ZSAvIDIgLSBub3JtYWxCb3JkZXJXaWR0aCArICdweCdcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBjb25zdCByaWdodFN0eWxlID0ge1xyXG4gICAgICAgICAgICByaWdodDogc3BlY2lhbEJvcmRlcldpZHRoICsgJ3B4JyxcclxuICAgICAgICAgICAgdG9wOiB0aGlzLnNpemUgLyAyIC0gbm9ybWFsQm9yZGVyV2lkdGggLSB0aGlzLnNpemUgLyAxMCArICdweCdcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBjb25zdCBib3R0b21TdHlsZSA9IHtcclxuICAgICAgICAgICAgYm90dG9tOiBzcGVjaWFsQm9yZGVyV2lkdGggKyAncHgnLFxyXG4gICAgICAgICAgICBsZWZ0OiB0aGlzLnNpemUgLyAyIC0gbm9ybWFsQm9yZGVyV2lkdGggKyAncHgnXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgY29uc3QgbnVtYmVyT3V0ZXJMZWZ0U3R5bGUgPSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBzcGVjaWFsQm9yZGVyV2lkdGggKyAncHgnLFxyXG4gICAgICAgICAgICBoZWlnaHQ6IHNwZWNpYWxCb3JkZXJXaWR0aCArICdweCcsXHJcbiAgICAgICAgICAgIGxlZnQ6IDAsXHJcbiAgICAgICAgICAgIHRvcDogdGhpcy5zaXplIC8gMiAtIHNwZWNpYWxCb3JkZXJXaWR0aCAvIDIgLSB0aGlzLnNpemUgLyAxMCArICdweCdcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBjb25zdCBudW1iZXJPdXRlclRvcFN0eWxlID0ge1xyXG4gICAgICAgICAgICB3aWR0aDogc3BlY2lhbEJvcmRlcldpZHRoICsgJ3B4JyxcclxuICAgICAgICAgICAgaGVpZ2h0OiBzcGVjaWFsQm9yZGVyV2lkdGggKyAncHgnLFxyXG4gICAgICAgICAgICB0b3A6IDAsXHJcbiAgICAgICAgICAgIGxlZnQ6IHRoaXMuc2l6ZSAvIDIgLSBzcGVjaWFsQm9yZGVyV2lkdGggLyAyICsgJ3B4J1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGNvbnN0IG51bWJlck91dGVyUmlnaHRTdHlsZSA9IHtcclxuICAgICAgICAgICAgd2lkdGg6IHNwZWNpYWxCb3JkZXJXaWR0aCArICdweCcsXHJcbiAgICAgICAgICAgIGhlaWdodDogc3BlY2lhbEJvcmRlcldpZHRoICsgJ3B4JyxcclxuICAgICAgICAgICAgcmlnaHQ6IDAsXHJcbiAgICAgICAgICAgIHRvcDogdGhpcy5zaXplIC8gMiAtIHNwZWNpYWxCb3JkZXJXaWR0aCAvIDIgLSB0aGlzLnNpemUgLyAxMCArICdweCdcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBjb25zdCBudW1iZXJPdXRlckJvdHRvbVN0eWxlID0ge1xyXG4gICAgICAgICAgICB3aWR0aDogc3BlY2lhbEJvcmRlcldpZHRoICsgJ3B4JyxcclxuICAgICAgICAgICAgaGVpZ2h0OiBzcGVjaWFsQm9yZGVyV2lkdGggKyAncHgnLFxyXG4gICAgICAgICAgICBib3R0b206IDAsXHJcbiAgICAgICAgICAgIGxlZnQ6IHRoaXMuc2l6ZSAvIDIgLSBzcGVjaWFsQm9yZGVyV2lkdGggLyAyICsgJ3B4J1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGNvbnN0IG51bWJlcklubmVyTGVmdFN0eWxlID0ge1xyXG4gICAgICAgICAgICB3aWR0aDogc3BlY2lhbEJvcmRlcldpZHRoICsgJ3B4JyxcclxuICAgICAgICAgICAgaGVpZ2h0OiBzcGVjaWFsQm9yZGVyV2lkdGggKyAncHgnLFxyXG4gICAgICAgICAgICBsZWZ0OiB0aGlzLnNpemUgLyAzIC0gc3BlY2lhbEJvcmRlcldpZHRoIC8gMiArICdweCcsXHJcbiAgICAgICAgICAgIHRvcDogdGhpcy5zaXplIC8gMiAtIHNwZWNpYWxCb3JkZXJXaWR0aCAvIDIgLSB0aGlzLnNpemUgLyAxMCArICdweCdcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBjb25zdCBudW1iZXJJbm5lclRvcFN0eWxlID0ge1xyXG4gICAgICAgICAgICB3aWR0aDogc3BlY2lhbEJvcmRlcldpZHRoICsgJ3B4JyxcclxuICAgICAgICAgICAgaGVpZ2h0OiBzcGVjaWFsQm9yZGVyV2lkdGggKyAncHgnLFxyXG4gICAgICAgICAgICB0b3A6IHRoaXMuc2l6ZSAvIDMgLSBzcGVjaWFsQm9yZGVyV2lkdGggLyAyICsgJ3B4JyxcclxuICAgICAgICAgICAgbGVmdDogdGhpcy5zaXplIC8gMiAtIHNwZWNpYWxCb3JkZXJXaWR0aCAvIDIgKyAncHgnXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgY29uc3QgbnVtYmVySW5uZXJSaWdodFN0eWxlID0ge1xyXG4gICAgICAgICAgICB3aWR0aDogc3BlY2lhbEJvcmRlcldpZHRoICsgJ3B4JyxcclxuICAgICAgICAgICAgaGVpZ2h0OiBzcGVjaWFsQm9yZGVyV2lkdGggKyAncHgnLFxyXG4gICAgICAgICAgICByaWdodDogdGhpcy5zaXplIC8gMyAtIHNwZWNpYWxCb3JkZXJXaWR0aCAvIDIgKyAncHgnLFxyXG4gICAgICAgICAgICB0b3A6IHRoaXMuc2l6ZSAvIDIgLSBzcGVjaWFsQm9yZGVyV2lkdGggLyAyIC0gdGhpcy5zaXplIC8gMTAgKyAncHgnXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgY29uc3QgbnVtYmVySW5uZXJCb3R0b21TdHlsZSA9IHtcclxuICAgICAgICAgICAgd2lkdGg6IHNwZWNpYWxCb3JkZXJXaWR0aCArICdweCcsXHJcbiAgICAgICAgICAgIGhlaWdodDogc3BlY2lhbEJvcmRlcldpZHRoICsgJ3B4JyxcclxuICAgICAgICAgICAgYm90dG9tOiB0aGlzLnNpemUgLyAzIC0gc3BlY2lhbEJvcmRlcldpZHRoIC8gMiArICdweCcsXHJcbiAgICAgICAgICAgIGxlZnQ6IHRoaXMuc2l6ZSAvIDIgLSBzcGVjaWFsQm9yZGVyV2lkdGggLyAyICsgJ3B4J1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHJldHVybiBoKCdDb250YWluZXInLHtcclxuICAgICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgIGNvbnRhaW5lclN0eWxlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxbaCgnTGVmdCcseyBzdHlsZToge1xyXG4gICAgICAgICAgICAgICAgbGVmdFN0eWxlXHJcbiAgICAgICAgICAgIH19LFxyXG4gICAgICAgICAgICB0aGlzLnJlbmRlclRyaWFuZ2xlKCdyaWdodCcsICdtYXJnaW5MZWZ0JyksdGhpcy5yZW5kZXJUcmlhbmdsZSgncmlnaHQnLCAncGFkZGluZ0xlZnQnLCB7IG1hcmdpbkxlZnQ6IDUgKyAncHgnIH0pKSxcclxuICAgICAgICAgICAgaCgnUmlnaHQnLHsgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHRTdHlsZVxyXG4gICAgICAgICAgICAgICAgICAgIH19LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJUcmlhbmdsZSgnbGVmdCcsICdwYWRkaW5nUmlnaHQnKSx0aGlzLnJlbmRlclRyaWFuZ2xlKCdsZWZ0JywgJ21hcmdpblJpZ2h0JywgeyBtYXJnaW5MZWZ0OiA1ICsgJ3B4JyB9KSksXHJcbiAgICAgICAgICAgIGgoJ1RvcCcseyBzdHlsZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3BTdHlsZVxyXG4gICAgICAgICAgICAgICAgICAgIH19LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJUcmlhbmdsZSgnYm90dG9tJywgJ21hcmdpblRvcCcpLHRoaXMucmVuZGVyVHJpYW5nbGUoJ2JvdHRvbScsICdwYWRkaW5nVG9wJywgeyBtYXJnaW5MZWZ0OiA1ICsgJ3B4JyB9KSksXHJcbiAgICAgICAgICAgIGgoJ0JvdHRvbScseyBzdHlsZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b21TdHlsZVxyXG4gICAgICAgICAgICAgICAgICAgIH19LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJUcmlhbmdsZSgndG9wJywgJ3BhZGRpbmdCb3R0b20nKSx0aGlzLnJlbmRlclRyaWFuZ2xlKCd0b3AnLCAnbWFyZ2luQm90dG9tJywgeyBtYXJnaW5MZWZ0OiA1ICsgJ3B4JyB9KSksXHJcbiAgICAgICAgICAgIGgoJ051bWJlckJveCcseyBzdHlsZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBudW1iZXJPdXRlckxlZnRTdHlsZVxyXG4gICAgICAgICAgICAgICAgICAgIH19LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJUcmlhbmdsZSgndG9wJywgJ3BhZGRpbmdCb3R0b20nKSx0aGlzLnJlbmRlclRyaWFuZ2xlKCd0b3AnLCAnbWFyZ2luQm90dG9tJywgeyBtYXJnaW5MZWZ0OiA1ICsgJ3B4JyB9KSxoKCdJbnB1dCcse1xyXG4gICAgICAgICAgICAgICAgICAgIHJlZjpcIm1hcmdpbkxlZnRJbnB1dFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIG9uOntcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmF0aXZlT25Nb3VzZWVudGVyOnRoaXMuaGFuZGxlSW5wdXRFbnRlci5iaW5kKHRoaXMsICdtYXJnaW5MZWZ0JyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hdGl2ZU9uTW91c2VsZWF2ZTp0aGlzLmhhbmRsZUlucHV0TGVhdmUuYmluZCh0aGlzLCAnbWFyZ2luTGVmdCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYXRpdmVPbkNoYW5nZTp0aGlzLmhhbmRsZUNoYW5nZS5iaW5kKHRoaXMsICdtYXJnaW5MZWZ0Jyl9XHJcbiAgICAgICAgICAgICAgICB9LHRoaXMubWFyZ2luTGVmdF8udG9TdHJpbmcoKSkpLFxyXG4gICAgICAgICAgICBoKCdOdW1iZXJCb3gnLHsgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyT3V0ZXJUb3BTdHlsZVxyXG4gICAgICAgICAgICAgICAgICAgIH19LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJUcmlhbmdsZSgndG9wJywgJ3BhZGRpbmdCb3R0b20nKSx0aGlzLnJlbmRlclRyaWFuZ2xlKCd0b3AnLCAnbWFyZ2luQm90dG9tJywgeyBtYXJnaW5MZWZ0OiA1ICsgJ3B4JyB9KSxoKCdJbnB1dCcse1xyXG4gICAgICAgICAgICAgICAgICAgIHJlZjpcIm1hcmdpblRvcElucHV0XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgb246e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYXRpdmVPbk1vdXNlZW50ZXI6dGhpcy5oYW5kbGVJbnB1dEVudGVyLmJpbmQodGhpcywgJ21hcmdpbkxlZnQnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmF0aXZlT25Nb3VzZWxlYXZlOnRoaXMuaGFuZGxlSW5wdXRMZWF2ZS5iaW5kKHRoaXMsICdtYXJnaW5MZWZ0JyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hdGl2ZU9uQ2hhbmdlOnRoaXMuaGFuZGxlQ2hhbmdlLmJpbmQodGhpcywgJ21hcmdpbkxlZnQnKX1cclxuICAgICAgICAgICAgICAgIH0sdGhpcy5tYXJnaW5Ub3BfLnRvU3RyaW5nKCkpKSxcclxuICAgICAgICAgICAgaCgnTnVtYmVyQm94Jyx7IHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlck91dGVyUmlnaHRTdHlsZVxyXG4gICAgICAgICAgICAgICAgICAgIH19LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJUcmlhbmdsZSgndG9wJywgJ3BhZGRpbmdCb3R0b20nKSx0aGlzLnJlbmRlclRyaWFuZ2xlKCd0b3AnLCAnbWFyZ2luQm90dG9tJywgeyBtYXJnaW5MZWZ0OiA1ICsgJ3B4JyB9KSxoKCdJbnB1dCcse1xyXG4gICAgICAgICAgICAgICAgICAgIHJlZjpcIm1hcmdpblJpZ2h0SW5wdXRcIixcclxuICAgICAgICAgICAgICAgICAgICBvbjp7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hdGl2ZU9uTW91c2VlbnRlcjp0aGlzLmhhbmRsZUlucHV0RW50ZXIuYmluZCh0aGlzLCAnbWFyZ2luTGVmdCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYXRpdmVPbk1vdXNlbGVhdmU6dGhpcy5oYW5kbGVJbnB1dExlYXZlLmJpbmQodGhpcywgJ21hcmdpbkxlZnQnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmF0aXZlT25DaGFuZ2U6dGhpcy5oYW5kbGVDaGFuZ2UuYmluZCh0aGlzLCAnbWFyZ2luTGVmdCcpfVxyXG4gICAgICAgICAgICAgICAgfSx0aGlzLm1hcmdpblJpZ2h0Xy50b1N0cmluZygpKSksXHJcbiAgICAgICAgICAgIGgoJ051bWJlckJveCcseyBzdHlsZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBudW1iZXJPdXRlckJvdHRvbVN0eWxlXHJcbiAgICAgICAgICAgICAgICAgICAgfX0sXHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlclRyaWFuZ2xlKCd0b3AnLCAncGFkZGluZ0JvdHRvbScpLHRoaXMucmVuZGVyVHJpYW5nbGUoJ3RvcCcsICdtYXJnaW5Cb3R0b20nLCB7IG1hcmdpbkxlZnQ6IDUgKyAncHgnIH0pLGgoJ0lucHV0Jyx7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVmOlwibWFyZ2luQm90dG9tSW5wdXRcIixcclxuICAgICAgICAgICAgICAgICAgICBvbjp7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hdGl2ZU9uTW91c2VlbnRlcjp0aGlzLmhhbmRsZUlucHV0RW50ZXIuYmluZCh0aGlzLCAnbWFyZ2luTGVmdCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYXRpdmVPbk1vdXNlbGVhdmU6dGhpcy5oYW5kbGVJbnB1dExlYXZlLmJpbmQodGhpcywgJ21hcmdpbkxlZnQnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmF0aXZlT25DaGFuZ2U6dGhpcy5oYW5kbGVDaGFuZ2UuYmluZCh0aGlzLCAnbWFyZ2luTGVmdCcpfVxyXG4gICAgICAgICAgICAgICAgfSx0aGlzLm1hcmdpbkJvdHRvbV8udG9TdHJpbmcoKSkpLFxyXG4gICAgICAgICAgICBoKCdOdW1iZXJCb3gnLHsgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICBudW1iZXJPdXRlckJvdHRvbVN0eWxlXHJcbiAgICAgICAgICAgICAgICB9fSwgIHRoaXMucmVuZGVyVHJpYW5nbGUoJ3RvcCcsICdwYWRkaW5nQm90dG9tJyksdGhpcy5yZW5kZXJUcmlhbmdsZSgndG9wJywgJ21hcmdpbkJvdHRvbScsIHsgbWFyZ2luTGVmdDogNSArICdweCcgfSksaCgnSW5wdXQnLHtcclxuICAgICAgICAgICAgICAgIHJlZjpcIm1hcmdpbkJvdHRvbUlucHV0XCIsXHJcbiAgICAgICAgICAgICAgICBvbjp7XHJcbiAgICAgICAgICAgICAgICAgICAgbmF0aXZlT25Nb3VzZWVudGVyOnRoaXMuaGFuZGxlSW5wdXRFbnRlci5iaW5kKHRoaXMsICdtYXJnaW5MZWZ0JyksXHJcbiAgICAgICAgICAgICAgICAgICAgbmF0aXZlT25Nb3VzZWxlYXZlOnRoaXMuaGFuZGxlSW5wdXRMZWF2ZS5iaW5kKHRoaXMsICdtYXJnaW5MZWZ0JyksXHJcbiAgICAgICAgICAgICAgICAgICAgbmF0aXZlT25DaGFuZ2U6dGhpcy5oYW5kbGVDaGFuZ2UuYmluZCh0aGlzLCAnbWFyZ2luTGVmdCcpfVxyXG4gICAgICAgICAgICB9LHRoaXMubWFyZ2luQm90dG9tXy50b1N0cmluZygpKSlcclxuICAgICAgICBdKTtcclxuICAgICAgICAvKnJldHVybiAoXHJcbiAgICAgICAgICAgIDxDb250YWluZXIgc3R5bGU9e2NvbnRhaW5lclN0eWxlfT5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgPE51bWJlckJveFxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXtudW1iZXJJbm5lckxlZnRTdHlsZX0+XHJcbiAgICAgICAgICAgICAgICAgICAgPElucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZj1cInBhZGRpbmdMZWZ0SW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYXRpdmVPbk1vdXNlZW50ZXI9e3RoaXMuaGFuZGxlSW5wdXRFbnRlci5iaW5kKHRoaXMsICdwYWRkaW5nTGVmdCcpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYXRpdmVPbk1vdXNlbGVhdmU9e3RoaXMuaGFuZGxlSW5wdXRMZWF2ZS5iaW5kKHRoaXMsICdwYWRkaW5nTGVmdCcpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYXRpdmVPbkNoYW5nZT17dGhpcy5oYW5kbGVDaGFuZ2UuYmluZCh0aGlzLCAncGFkZGluZ0xlZnQnKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3RoaXMucGFkZGluZ0xlZnRfLnRvU3RyaW5nKCl9IC8+XHJcbiAgICAgICAgICAgICAgICA8L051bWJlckJveD5cclxuICAgICAgICAgICAgICAgIDxOdW1iZXJCb3hcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17bnVtYmVySW5uZXJUb3BTdHlsZX0+XHJcbiAgICAgICAgICAgICAgICAgICAgPElucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZj1cInBhZGRpbmdUb3BJbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hdGl2ZU9uTW91c2VlbnRlcj17dGhpcy5oYW5kbGVJbnB1dEVudGVyLmJpbmQodGhpcywgJ3BhZGRpbmdUb3AnKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgbmF0aXZlT25Nb3VzZWxlYXZlPXt0aGlzLmhhbmRsZUlucHV0TGVhdmUuYmluZCh0aGlzLCAncGFkZGluZ1RvcCcpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYXRpdmVPbkNoYW5nZT17dGhpcy5oYW5kbGVDaGFuZ2UuYmluZCh0aGlzLCAncGFkZGluZ1RvcCcpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dGhpcy5wYWRkaW5nVG9wXy50b1N0cmluZygpfSAvPlxyXG4gICAgICAgICAgICAgICAgPC9OdW1iZXJCb3g+XHJcbiAgICAgICAgICAgICAgICA8TnVtYmVyQm94XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e251bWJlcklubmVyUmlnaHRTdHlsZX0+XHJcbiAgICAgICAgICAgICAgICAgICAgPElucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZj1cInBhZGRpbmdSaWdodElucHV0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmF0aXZlT25Nb3VzZWVudGVyPXt0aGlzLmhhbmRsZUlucHV0RW50ZXIuYmluZCh0aGlzLCAncGFkZGluZ1JpZ2h0Jyl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hdGl2ZU9uTW91c2VsZWF2ZT17dGhpcy5oYW5kbGVJbnB1dExlYXZlLmJpbmQodGhpcywgJ3BhZGRpbmdSaWdodCcpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYXRpdmVPbkNoYW5nZT17dGhpcy5oYW5kbGVDaGFuZ2UuYmluZCh0aGlzLCAncGFkZGluZ1JpZ2h0Jyl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt0aGlzLnBhZGRpbmdSaWdodF8udG9TdHJpbmcoKX0gLz5cclxuICAgICAgICAgICAgICAgIDwvTnVtYmVyQm94PlxyXG4gICAgICAgICAgICAgICAgPE51bWJlckJveFxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXtudW1iZXJJbm5lckJvdHRvbVN0eWxlfT5cclxuICAgICAgICAgICAgICAgICAgICA8SW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmPVwicGFkZGluZ0JvdHRvbUlucHV0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmF0aXZlT25Nb3VzZWVudGVyPXt0aGlzLmhhbmRsZUlucHV0RW50ZXIuYmluZCh0aGlzLCAncGFkZGluZ0JvdHRvbScpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYXRpdmVPbk1vdXNlbGVhdmU9e3RoaXMuaGFuZGxlSW5wdXRMZWF2ZS5iaW5kKHRoaXMsICdwYWRkaW5nQm90dG9tJyl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hdGl2ZU9uQ2hhbmdlPXt0aGlzLmhhbmRsZUNoYW5nZS5iaW5kKHRoaXMsICdwYWRkaW5nQm90dG9tJyl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt0aGlzLnBhZGRpbmdCb3R0b21fLnRvU3RyaW5nKCl9IC8+XHJcbiAgICAgICAgICAgICAgICA8L051bWJlckJveD5cclxuICAgICAgICAgICAgPC9Db250YWluZXI+XHJcbiAgICAgICAgKTsqL1xyXG4gICAgfSxcclxuICAgIG1ldGhvZHM6IHtcclxuICAgICAgICBoYW5kbGVJbnB1dEVudGVyIChuYW1lLCBldmVudCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50SG9sZGluZyAhPT0gJycpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBldmVudC50YXJnZXQ7XHJcbiAgICAgICAgICAgIGlucHV0RWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgICAgICBpbnB1dEVsZW1lbnQuc2VsZWN0KCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBoYW5kbGVJbnB1dExlYXZlIChuYW1lLCBldmVudCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50SG9sZGluZyAhPT0gJycpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBldmVudC50YXJnZXQ7XHJcbiAgICAgICAgICAgIGlucHV0RWxlbWVudC5ibHVyKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDovpPlhaXmoYbosIPnlKjnmoTkv67mlLlcclxuICAgICAgICAgKi9cclxuICAgICAgICBoYW5kbGVDaGFuZ2UgKG5hbWUsIGV2ZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXNbYCR7bmFtZX1fYF0gPSBwYXJzZUludChldmVudC50YXJnZXQudmFsdWUpIHx8IDA7XHJcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2NoYW5nZScsIG5hbWUsIHRoaXNbYCR7bmFtZX1fYF0pO1xyXG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdmaW5hbENoYW5nZScsIG5hbWUsIHRoaXNbYCR7bmFtZX1fYF0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog6byg5qCH5oyJ5LiLXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgaGFuZGxlTW91c2VEb3duIChuYW1lLCBldmVudCkge1xyXG4gICAgICAgICAgICB0aGlzLmxhc3RYID0gZXZlbnQuY2xpZW50WDtcclxuICAgICAgICAgICAgdGhpcy5sYXN0WSA9IGV2ZW50LmNsaWVudFk7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEhvbGRpbmcgPSBuYW1lO1xyXG4gICAgICAgICAgICB0aGlzLmhhc01vdXNlRG93biA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ3N0YXJ0Jyk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDpvKDmoIfnp7vliqjnm5HlkKzlpITnkIZcclxuICAgICAgICAgKi9cclxuICAgICAgICBoYW5kbGVNb3VzZU1vdmUgKGV2ZW50KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRpZmZYID0gZXZlbnQuY2xpZW50WCAtIHRoaXMubGFzdFg7XHJcbiAgICAgICAgICAgIGNvbnN0IGRpZmZZID0gZXZlbnQuY2xpZW50WSAtIHRoaXMubGFzdFk7XHJcbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy5jdXJyZW50SG9sZGluZykge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnbWFyZ2luTGVmdCc6XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWFyZ2luTGVmdF8gPSB0aGlzLm1hcmdpbkxlZnRfIC09IGRpZmZYO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdjaGFuZ2UnLCB0aGlzLmN1cnJlbnRIb2xkaW5nLCB0aGlzLm1hcmdpbkxlZnRfKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ3BhZGRpbmdMZWZ0JzpcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWRkaW5nTGVmdF8gPSB0aGlzLnBhZGRpbmdMZWZ0XyAtPSBkaWZmWDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywgdGhpcy5jdXJyZW50SG9sZGluZywgdGhpcy5wYWRkaW5nTGVmdF8pO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnbWFyZ2luUmlnaHQnOlxyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1hcmdpblJpZ2h0XyA9IHRoaXMubWFyZ2luUmlnaHRfICs9IGRpZmZYO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdjaGFuZ2UnLCB0aGlzLmN1cnJlbnRIb2xkaW5nLCB0aGlzLm1hcmdpblJpZ2h0Xyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdwYWRkaW5nUmlnaHQnOlxyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZGRpbmdSaWdodF8gPSB0aGlzLnBhZGRpbmdSaWdodF8gKz0gZGlmZlg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2NoYW5nZScsIHRoaXMuY3VycmVudEhvbGRpbmcsIHRoaXMucGFkZGluZ1JpZ2h0Xyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdtYXJnaW5Ub3AnOlxyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1hcmdpblRvcF8gPSB0aGlzLm1hcmdpblRvcF8gLT0gZGlmZlk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2NoYW5nZScsIHRoaXMuY3VycmVudEhvbGRpbmcsIHRoaXMubWFyZ2luVG9wXyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdwYWRkaW5nVG9wJzpcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWRkaW5nVG9wXyA9IHRoaXMucGFkZGluZ1RvcF8gLT0gZGlmZlk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2NoYW5nZScsIHRoaXMuY3VycmVudEhvbGRpbmcsIHRoaXMucGFkZGluZ1RvcF8pO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnbWFyZ2luQm90dG9tJzpcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXJnaW5Cb3R0b21fID0gdGhpcy5tYXJnaW5Cb3R0b21fICs9IGRpZmZZO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdjaGFuZ2UnLCB0aGlzLmN1cnJlbnRIb2xkaW5nLCB0aGlzLm1hcmdpbkJvdHRvbV8pO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAncGFkZGluZ0JvdHRvbSc6XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFkZGluZ0JvdHRvbV8gPSB0aGlzLnBhZGRpbmdCb3R0b21fICs9IGRpZmZZO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdjaGFuZ2UnLCB0aGlzLmN1cnJlbnRIb2xkaW5nLCB0aGlzLnBhZGRpbmdCb3R0b21fKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmxhc3RYID0gZXZlbnQuY2xpZW50WDtcclxuICAgICAgICAgICAgdGhpcy5sYXN0WSA9IGV2ZW50LmNsaWVudFk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBoYW5kbGVNb3VzZVVwICgpIHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLmhhc01vdXNlRG93bikge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuaGFzTW91c2VEb3duID0gZmFsc2U7XHJcbiAgICAgICAgICAgIC8vIOa4heepuuWJje+8jOiwg+eUqOS9jumikeS/ruaUuVxyXG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdmaW5hbENoYW5nZScsIHRoaXMuY3VycmVudEhvbGRpbmcsIHRoaXNbYCR7dGhpcy5jdXJyZW50SG9sZGluZ31fYF0pO1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRIb2xkaW5nID0gJyc7XHJcbiAgICAgICAgfSxcclxuICAgICAgICByZW5kZXJUcmlhbmdsZSAgKHBvc2l0aW9uLCBuYW1lLCBleHRlbmRTdHlsZSkge1xyXG4gICAgICAgICAgICBjb25zdCBzdHlsZSA9IHtcclxuICAgICAgICAgICAgICAgIC4uLmV4dGVuZFN0eWxlLFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDAsXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDBcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgY29uc3Qgb3V0ZXJTdHlsZSA9IHt9O1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgbm9ybWFsQm9yZGVyV2lkdGggPSB0aGlzLnNpemUgLyA0O1xyXG4gICAgICAgICAgICBjb25zdCBzcGVjaWFsQm9yZGVyV2lkdGggPSB0aGlzLnNpemUgLyA1O1xyXG4gICAgICAgICAgICBjb25zdCBvdXRlcldpZHRoID0gdGhpcy5zaXplIC8gMjA7XHJcbiAgICAgICAgICAgIGNvbnN0IG91dGVyU3BhY2UgPSB0aGlzLnNpemUgLyA0MDtcclxuXHJcbiAgICAgICAgICAgIHN3aXRjaCAocG9zaXRpb24pIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgJ2xlZnQnOlxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlLmJvcmRlclRvcCA9IGAke25vcm1hbEJvcmRlcldpZHRofXB4IHNvbGlkIHRyYW5zcGFyZW50YDtcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZS5ib3JkZXJCb3R0b20gPSBgJHtub3JtYWxCb3JkZXJXaWR0aH1weCBzb2xpZCB0cmFuc3BhcmVudGA7XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUuYm9yZGVyUmlnaHRTdHlsZSA9ICdzb2xpZCc7XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUuYm9yZGVyUmlnaHRXaWR0aCA9IHNwZWNpYWxCb3JkZXJXaWR0aCArICdweCc7XHJcbiAgICAgICAgICAgICAgICAgICAgb3V0ZXJTdHlsZS53aWR0aCA9IG91dGVyV2lkdGggKyAncHgnO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAndG9wJzpcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZS5ib3JkZXJMZWZ0ID0gYCR7bm9ybWFsQm9yZGVyV2lkdGh9cHggc29saWQgdHJhbnNwYXJlbnRgO1xyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlLmJvcmRlclJpZ2h0ID0gYCR7bm9ybWFsQm9yZGVyV2lkdGh9cHggc29saWQgdHJhbnNwYXJlbnRgO1xyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlLmJvcmRlckJvdHRvbVN0eWxlID0gJ3NvbGlkJztcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZS5ib3JkZXJCb3R0b21XaWR0aCA9IHNwZWNpYWxCb3JkZXJXaWR0aCArICdweCc7XHJcbiAgICAgICAgICAgICAgICAgICAgb3V0ZXJTdHlsZS5oZWlnaHQgPSBvdXRlcldpZHRoICsgJ3B4JztcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ3JpZ2h0JzpcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZS5ib3JkZXJUb3AgPSBgJHtub3JtYWxCb3JkZXJXaWR0aH1weCBzb2xpZCB0cmFuc3BhcmVudGA7XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUuYm9yZGVyQm90dG9tID0gYCR7bm9ybWFsQm9yZGVyV2lkdGh9cHggc29saWQgdHJhbnNwYXJlbnRgO1xyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlLmJvcmRlckxlZnRTdHlsZSA9ICdzb2xpZCc7XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUuYm9yZGVyTGVmdFdpZHRoID0gc3BlY2lhbEJvcmRlcldpZHRoICsgJ3B4JztcclxuICAgICAgICAgICAgICAgICAgICBvdXRlclN0eWxlLndpZHRoID0gb3V0ZXJXaWR0aCArICdweCc7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdib3R0b20nOlxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlLmJvcmRlckxlZnQgPSBgJHtub3JtYWxCb3JkZXJXaWR0aH1weCBzb2xpZCB0cmFuc3BhcmVudGA7XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUuYm9yZGVyUmlnaHQgPSBgJHtub3JtYWxCb3JkZXJXaWR0aH1weCBzb2xpZCB0cmFuc3BhcmVudGA7XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUuYm9yZGVyVG9wU3R5bGUgPSAnc29saWQnO1xyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlLmJvcmRlclRvcFdpZHRoID0gc3BlY2lhbEJvcmRlcldpZHRoICsgJ3B4JztcclxuICAgICAgICAgICAgICAgICAgICBvdXRlclN0eWxlLmhlaWdodCA9IG91dGVyV2lkdGggKyAncHgnO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzd2l0Y2ggKG5hbWUpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgJ21hcmdpbkxlZnQnOlxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlLm1hcmdpbkxlZnQgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAncGFkZGluZ0xlZnQnOlxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlLm1hcmdpbkxlZnQgPSAtb3V0ZXJXaWR0aCArICdweCc7XHJcbiAgICAgICAgICAgICAgICAgICAgb3V0ZXJTdHlsZS5tYXJnaW5MZWZ0ID0gb3V0ZXJTcGFjZSArICdweCc7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdtYXJnaW5Ub3AnOlxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlLm1hcmdpblRvcCA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdwYWRkaW5nVG9wJzpcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZS5tYXJnaW5Ub3AgPSAtb3V0ZXJXaWR0aCArICdweCc7XHJcbiAgICAgICAgICAgICAgICAgICAgb3V0ZXJTdHlsZS5tYXJnaW5Ub3AgPSBvdXRlclNwYWNlICsgJ3B4JztcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ21hcmdpblJpZ2h0JzpcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZS5tYXJnaW5MZWZ0ID0gLW91dGVyV2lkdGggKiAzICsgJ3B4JztcclxuICAgICAgICAgICAgICAgICAgICBvdXRlclN0eWxlLm1hcmdpbkxlZnQgPSBvdXRlclNwYWNlICsgJ3B4JztcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ3BhZGRpbmdSaWdodCc6XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUubWFyZ2luTGVmdCA9IC1zcGVjaWFsQm9yZGVyV2lkdGggLyAyICsgJ3B4JztcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ21hcmdpbkJvdHRvbSc6XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUubWFyZ2luVG9wID0gLW91dGVyV2lkdGggKiAzICsgJ3B4JztcclxuICAgICAgICAgICAgICAgICAgICBvdXRlclN0eWxlLm1hcmdpblRvcCA9IG91dGVyU3BhY2UgKyAncHgnO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAncGFkZGluZ0JvdHRvbSc6XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUubWFyZ2luVG9wID0gLXNwZWNpYWxCb3JkZXJXaWR0aCAvIDIgKyAncHgnO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBoKCdCdXR0b25Db250YWluZXInLHtcclxuICAgICAgICAgICAgICAgIHN0eWxlOm91dGVyU3R5bGVcclxuICAgICAgICAgICAgfSxbaCgnQnV0dG9uVHJpYW5nbGUnLHtcclxuICAgICAgICAgICAgICAgIHN0eWxlOnN0eWxlXHJcbiAgICAgICAgICAgIH0pXSk7XHJcbiAgICAgICAgICAvKiAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgIDxCdXR0b25Db250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17b3V0ZXJTdHlsZX0+XHJcbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblRyaWFuZ2xlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdnYWJsZT17ZmFsc2V9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hdGl2ZU9uTW91c2Vkb3duPXt0aGlzLmhhbmRsZU1vdXNlRG93bi5iaW5kKHRoaXMsIG5hbWUpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGV9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lcz17eyBwb3NpdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbkNvbnRhaW5lcj5cclxuICAgICAgICAgICAgKTsqL1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1lZGl0b3IvYm94LWVkaXRvci9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///128\n");
912
913/***/ }),
914/* 129 */
915/***/ (function(module, exports, __webpack_require__) {
916
917"use strict";
918eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _keys = __webpack_require__(41);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _lodash = __webpack_require__(36);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _style = __webpack_require__(438);\n\nvar _boxEditor = __webpack_require__(127);\n\nvar _boxEditor2 = _interopRequireDefault(_boxEditor);\n\nvar _dom = __webpack_require__(95);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n props: {\n instanceInfo: Object,\n editor: Object\n },\n data: function data() {\n return {\n crrtStyle: {\n paddingLeft: 0,\n paddingTop: 0,\n paddingRight: 0,\n paddingBottom: 0,\n marginLeft: 0,\n marginTop: 0,\n marginRight: 0,\n marginBottom: 0\n }\n };\n },\n\n position: 'mainToolEditorTypeBoxEditor',\n name: 'main-tool-editor-type-box-editor',\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n currentEditInstanceKey: function currentEditInstanceKey() {\n var currentEditInstanceKey = this.$store.state.viewport.currentEditInstanceKey;\n return currentEditInstanceKey;\n }\n },\n mounted: function mounted() {},\n\n methods: {\n handleStart: function handleStart() {},\n handleFinalChange: function handleFinalChange(field, value) {\n this._setDatCrrtStyle(field, value);\n },\n handleChange: function handleChange(field, value) {\n this._setDatCrrtStyle(field, value);\n },\n _setDatCrrtStyle: function _setDatCrrtStyle(field, value) {\n var _this = this;\n\n this.crrtStyle[field] = value;\n var cpStyle = (0, _keys2.default)(this.crrtStyle).reduce(function (prev, nxt) {\n prev[nxt] = _this.crrtStyle[nxt] + 'px';\n return prev;\n }, {});\n this.$store.commit('viewport/setInstanceProps', {\n vm: this.instanceInfo.vm,\n key: 'styles',\n value: (0, _extends3.default)({}, cpStyle)\n });\n },\n _initPerStyle: function _initPerStyle(field) {\n if (this.instanceInfo.vm.$data.styles && typeof this.instanceInfo.vm.$data.styles[field] !== 'undefined') {\n this.crrtStyle[field] = parseInt(this.instanceInfo.vm.$data.styles[field]);\n } else {\n this.crrtStyle[field] = parseInt((0, _dom.getStyle)(this.instanceInfo.vm.$el, _.kebabCase(field)));\n }\n },\n refresStyles: function refresStyles() {\n this._initPerStyle('paddingLeft');\n this._initPerStyle('paddingTop');\n this._initPerStyle('paddingRight');\n this._initPerStyle('paddingBottom');\n this._initPerStyle('marginLeft');\n this._initPerStyle('marginTop');\n this._initPerStyle('marginRight');\n this._initPerStyle('marginBottom');\n }\n },\n watch: {\n currentEditInstanceKey: function currentEditInstanceKey(n, o) {\n this.refresStyles();\n }\n },\n render: function render(h) {\n return h('Container', ['BoxEdit']);\n },\n created: function created() {\n this.refresStyles();\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1lZGl0b3IvaW5kZXgudnVlPzFkOGYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztJQUNBLEM7O0FBQ0E7O0FBQ0E7Ozs7QUFDQTs7Ozs7O2tCQUNBO0FBQ0E7QUFDQSw0QkFEQTtBQUVBO0FBRkEsS0FEQTtBQUtBLFFBTEEsa0JBS0E7QUFDQTtBQUNBO0FBQ0EsOEJBREE7QUFFQSw2QkFGQTtBQUdBLCtCQUhBO0FBSUEsZ0NBSkE7QUFLQSw2QkFMQTtBQU1BLDRCQU5BO0FBT0EsOEJBUEE7QUFRQTtBQVJBO0FBREE7QUFZQSxLQWxCQTs7QUFtQkEsMkNBbkJBO0FBb0JBLDRDQXBCQTtBQXFCQTtBQUNBLHdCQURBLDhCQUNBO0FBQ0E7QUFDQSxTQUhBO0FBSUEscUJBSkEsMkJBSUE7QUFDQTtBQUNBLFNBTkE7QUFPQSw4QkFQQSxvQ0FPQTtBQUNBO0FBQ0E7QUFDQTtBQVZBLEtBckJBO0FBaUNBLFdBakNBLHFCQWlDQSxDQUVBLENBbkNBOztBQW9DQTtBQUNBLG1CQURBLHlCQUNBLENBRUEsQ0FIQTtBQUlBLHlCQUpBLDZCQUlBLEtBSkEsRUFJQSxLQUpBLEVBSUE7QUFDQTtBQUNBLFNBTkE7QUFPQSxvQkFQQSx3QkFPQSxLQVBBLEVBT0EsS0FQQSxFQU9BO0FBQ0E7QUFDQSxTQVRBO0FBVUEsd0JBVkEsNEJBVUEsS0FWQSxFQVVBLEtBVkEsRUFVQTtBQUFBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFIQSxFQUdBLEVBSEE7QUFJQTtBQUNBLHdDQURBO0FBRUEsNkJBRkE7QUFHQSxrREFDQSxPQURBO0FBSEE7QUFPQSxTQXZCQTtBQXdCQSxxQkF4QkEseUJBd0JBLEtBeEJBLEVBd0JBO0FBQ0E7QUFDQTtBQUNBLGFBRkEsTUFFQTtBQUNBO0FBQ0E7QUFDQSxTQTlCQTtBQStCQSxvQkEvQkEsMEJBK0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBeENBLEtBcENBO0FBOEVBO0FBQ0EsOEJBREEsa0NBQ0EsQ0FEQSxFQUNBLENBREEsRUFDQTtBQUVBO0FBQ0E7QUFKQSxLQTlFQTtBQW9GQSxVQXBGQSxrQkFvRkEsQ0FwRkEsRUFvRkE7QUFDQTtBQWlCQSxLQXRHQTtBQXVHQSxXQXZHQSxxQkF1R0E7QUFFQTtBQUNBO0FBMUdBLEMiLCJmaWxlIjoiMTI5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHNjcmlwdD5cclxuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQge0NvbnRhaW5lcn0gZnJvbSAnLi9zdHlsZSc7XHJcbmltcG9ydCBCb3hFZGl0IGZyb20gJy4vYm94LWVkaXRvcic7XHJcbmltcG9ydCB7Z2V0U3R5bGV9IGZyb20gJy4uLy4uL3NlcnZpY2UvZG9tJztcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgcHJvcHM6IHtcclxuICAgICAgICBpbnN0YW5jZUluZm86IE9iamVjdCxcclxuICAgICAgICBlZGl0b3I6IE9iamVjdFxyXG4gICAgfSxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGNycnRTdHlsZToge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZ0xlZnQ6IDAsXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nVG9wOiAwLFxyXG4gICAgICAgICAgICAgICAgcGFkZGluZ1JpZ2h0OiAwLFxyXG4gICAgICAgICAgICAgICAgcGFkZGluZ0JvdHRvbTogMCxcclxuICAgICAgICAgICAgICAgIG1hcmdpbkxlZnQ6IDAsXHJcbiAgICAgICAgICAgICAgICBtYXJnaW5Ub3A6IDAsXHJcbiAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogMCxcclxuICAgICAgICAgICAgICAgIG1hcmdpbkJvdHRvbTogMFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgIH0sXHJcbiAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yVHlwZUJveEVkaXRvcicsXHJcbiAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1lZGl0b3InLFxyXG4gICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICBhcHBsaWNhdGlvblN0YXRlICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdmlld3BvcnRTdGF0ZSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGN1cnJlbnRFZGl0SW5zdGFuY2VLZXkgKCkge1xyXG4gICAgICAgICAgICBsZXQgY3VycmVudEVkaXRJbnN0YW5jZUtleSA9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXk7XHJcbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50RWRpdEluc3RhbmNlS2V5O1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtb3VudGVkICgpIHtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmluc3RhbmNlSW5mbyk7XHJcbiAgICB9LFxyXG4gICAgbWV0aG9kczoge1xyXG4gICAgICAgIGhhbmRsZVN0YXJ0ICgpIHtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coMTExKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGhhbmRsZUZpbmFsQ2hhbmdlIChmaWVsZCwgdmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fc2V0RGF0Q3JydFN0eWxlKGZpZWxkLCB2YWx1ZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBoYW5kbGVDaGFuZ2UgKGZpZWxkLCB2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9zZXREYXRDcnJ0U3R5bGUoZmllbGQsIHZhbHVlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIF9zZXREYXRDcnJ0U3R5bGUgKGZpZWxkLCB2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNycnRTdHlsZVtmaWVsZF0gPSB2YWx1ZTtcclxuICAgICAgICAgICAgbGV0IGNwU3R5bGUgPSBPYmplY3Qua2V5cyh0aGlzLmNycnRTdHlsZSkucmVkdWNlKChwcmV2LCBueHQpID0+IHtcclxuICAgICAgICAgICAgICAgIHByZXZbbnh0XSA9IHRoaXMuY3JydFN0eWxlW254dF0gKyAncHgnO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHByZXY7XHJcbiAgICAgICAgICAgIH0sIHt9KTtcclxuICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9zZXRJbnN0YW5jZVByb3BzJywge1xyXG4gICAgICAgICAgICAgICAgdm06IHRoaXMuaW5zdGFuY2VJbmZvLnZtLFxyXG4gICAgICAgICAgICAgICAga2V5OiAnc3R5bGVzJyxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgLi4uY3BTdHlsZVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIF9pbml0UGVyU3R5bGUgKGZpZWxkKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmluc3RhbmNlSW5mby52bS4kZGF0YS5zdHlsZXMgJiYgdHlwZW9mIHRoaXMuaW5zdGFuY2VJbmZvLnZtLiRkYXRhLnN0eWxlc1tmaWVsZF0gIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNycnRTdHlsZVtmaWVsZF0gPSBwYXJzZUludCh0aGlzLmluc3RhbmNlSW5mby52bS4kZGF0YS5zdHlsZXNbZmllbGRdKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JydFN0eWxlW2ZpZWxkXSA9IHBhcnNlSW50KGdldFN0eWxlKHRoaXMuaW5zdGFuY2VJbmZvLnZtLiRlbCwgXy5rZWJhYkNhc2UoZmllbGQpKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHJlZnJlc1N0eWxlcyAoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2luaXRQZXJTdHlsZSgncGFkZGluZ0xlZnQnKTtcclxuICAgICAgICAgICAgdGhpcy5faW5pdFBlclN0eWxlKCdwYWRkaW5nVG9wJyk7XHJcbiAgICAgICAgICAgIHRoaXMuX2luaXRQZXJTdHlsZSgncGFkZGluZ1JpZ2h0Jyk7XHJcbiAgICAgICAgICAgIHRoaXMuX2luaXRQZXJTdHlsZSgncGFkZGluZ0JvdHRvbScpO1xyXG4gICAgICAgICAgICB0aGlzLl9pbml0UGVyU3R5bGUoJ21hcmdpbkxlZnQnKTtcclxuICAgICAgICAgICAgdGhpcy5faW5pdFBlclN0eWxlKCdtYXJnaW5Ub3AnKTtcclxuICAgICAgICAgICAgdGhpcy5faW5pdFBlclN0eWxlKCdtYXJnaW5SaWdodCcpO1xyXG4gICAgICAgICAgICB0aGlzLl9pbml0UGVyU3R5bGUoJ21hcmdpbkJvdHRvbScpO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICB3YXRjaDoge1xyXG4gICAgICAgIGN1cnJlbnRFZGl0SW5zdGFuY2VLZXkgKG4sIG8pIHtcclxuICAgICAgICAgICAgLy8gaW5pdFxyXG4gICAgICAgICAgICB0aGlzLnJlZnJlc1N0eWxlcygpO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICByZW5kZXIgKGgpIHtcclxuICAgICAgIHJldHVybiBoKCdDb250YWluZXInLFsnQm94RWRpdCddKTtcclxuICAgICAgLyogIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxDb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8Qm94RWRpdFxyXG4gICAgICAgICAgICAgICAgICAgIG9uU3RhcnQ9e3RoaXMuaGFuZGxlU3RhcnR9XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luTGVmdD17dGhpcy5jcnJ0U3R5bGUubWFyZ2luTGVmdH1cclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW5Ub3A9e3RoaXMuY3JydFN0eWxlLm1hcmdpblRvcH1cclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW5SaWdodD17dGhpcy5jcnJ0U3R5bGUubWFyZ2luUmlnaHR9XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luQm90dG9tPXt0aGlzLmNycnRTdHlsZS5tYXJnaW5Cb3R0b219XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZ0xlZnQ9e3RoaXMuY3JydFN0eWxlLnBhZGRpbmdMZWZ0fVxyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmdUb3A9e3RoaXMuY3JydFN0eWxlLnBhZGRpbmdUb3B9XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZ1JpZ2h0PXt0aGlzLmNycnRTdHlsZS5wYWRkaW5nUmlnaHR9XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZ0JvdHRvbT17dGhpcy5jcnJ0U3R5bGUucGFkZGluZ0JvdHRvbX1cclxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5oYW5kbGVDaGFuZ2V9XHJcbiAgICAgICAgICAgICAgICAgICAgb25GaW5hbENoYW5nZT17dGhpcy5oYW5kbGVGaW5hbENoYW5nZX1cclxuICAgICAgICAgICAgICAgID48L0JveEVkaXQ+XHJcbiAgICAgICAgICAgIDwvQ29udGFpbmVyPik7Ki9cclxuICAgIH0sXHJcbiAgICBjcmVhdGVkICgpIHtcclxuICAgICAgICAvLyBpbml0XHJcbiAgICAgICAgdGhpcy5yZWZyZXNTdHlsZXMoKTtcclxuICAgIH1cclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1lZGl0b3IvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///129\n");
919
920/***/ }),
921/* 130 */
922/***/ (function(module, exports, __webpack_require__) {
923
924"use strict";
925eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(442);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nvar _mainToolEditorTypeBoxValidateArr = __webpack_require__(21);\n\nvar _mainToolEditorTypeBoxValidateArr2 = _interopRequireDefault(_mainToolEditorTypeBoxValidateArr);\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components, {\n validateArr: _mainToolEditorTypeBoxValidateArr2.default\n }),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeEndDateHeightLevel',\n name: 'main-tool-editor-type-endDateHeightLevel',\n data: function data() {\n return {\n value: this.editor.value || false,\n isTextarea: false\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n this.initCurrtField();\n this.setInstanceProps(this.value);\n _eventbus2.default.$off(\"computIsShow\");\n _eventbus2.default.$on(\"computIsShow\", function (data) {\n if (data.com != \"\") {\n _this.isTextarea = false;\n } else {\n _this.isTextarea = true;\n }\n });\n },\n\n computed: {\n getLineNums: function getLineNums() {\n debugger;\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n if (!currentInstance.data.extend.rows) {\n currentInstance.data.extend.rows = 1;\n }\n return currentInstance.data.extend.rows;\n },\n applicationState: function applicationState() {\n\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n }\n },\n methods: {\n handleChange: function handleChange() {}\n },\n watch: {\n value: function value(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1lbmREYXRlSGVpZ2h0TGV2ZWwvaW5kZXgudnVlPzQ4Y2EiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBaUJBLFU7O0FBQ0E7O0FBQ0E7Ozs7QUFDQTs7Ozs7Ozs7a0JBQ0E7QUFDQSwyQ0FDQSxVQURBO0FBRUE7QUFGQSxNQURBO0FBS0Esb0RBTEE7QUFNQSxvREFOQTtBQU9BLG9EQVBBO0FBUUEsUUFSQSxrQkFRQTtBQUNBO0FBQ0EsNkNBREE7QUFFQTtBQUZBO0FBSUEsS0FiQTtBQWNBLFdBZEEscUJBY0E7QUFBQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUZBLE1BRUE7QUFDQTtBQUNBO0FBQ0EsU0FOQTtBQU9BLEtBekJBOztBQTBCQTtBQUNBLG1CQURBLHlCQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBVEE7QUFVQSx3QkFWQSw4QkFVQTs7QUFFQTtBQUNBLFNBYkE7QUFjQSxxQkFkQSwyQkFjQTtBQUNBO0FBQ0E7QUFoQkEsS0ExQkE7QUE0Q0E7QUFDQSxvQkFEQSwwQkFDQSxDQUVBO0FBSEEsS0E1Q0E7QUFpREE7QUFDQSxhQURBLGlCQUNBLENBREEsRUFDQSxDQURBLEVBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFqREEsQyIsImZpbGUiOiIxMzAuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6MTAwJTtcIj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1zdHlsZVwiPlxyXG4gICAgICAgICAgICAgICAgPGktc3dpdGNoIHYtbW9kZWw9XCJ2YWx1ZVwiPjwvaS1zd2l0Y2g+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgdi1zaG93PVwidmFsdWVcIj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZS1zdHlsZVwiPuagoemqjDwvZGl2PlxyXG4gICAgICAgICAgICA8dmFsaWRhdGVBcnI+PC92YWxpZGF0ZUFycj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbiAgICBpbXBvcnQgKiBhcyBjb21wb25lbnRzIGZyb20gJy4vc3R5bGUnO1xyXG4gICAgaW1wb3J0IHtQcm9wZXJ0eU1peGlufSBmcm9tICcuLi8uLi9zZXJ2aWNlL21haW4tdG9vbC1lZGl0b3ItdHlwZS1taXhpbic7XHJcbiAgICBpbXBvcnQgdmFsaWRhdGVBcnIgZnJvbSAnLi4vbWFpbi10b29sLWVkaXRvci10eXBlLWJveC12YWxpZGF0ZUFycic7XHJcbiAgICBpbXBvcnQgZXZlbnRidXMgZnJvbSAnLi4vLi4vc2VydmljZS9ldmVudGJ1cyc7XHJcbiAgICBleHBvcnQgZGVmYXVsdCB7XHJcbiAgICAgICAgY29tcG9uZW50czoge1xyXG4gICAgICAgICAgICAuLi5jb21wb25lbnRzLFxyXG4gICAgICAgICAgICB2YWxpZGF0ZUFyclxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWl4aW5zOiBbUHJvcGVydHlNaXhpbl0sXHJcbiAgICAgICAgcG9zaXRpb246ICdtYWluVG9vbEVkaXRvclR5cGVFbmREYXRlSGVpZ2h0TGV2ZWwnLFxyXG4gICAgICAgIG5hbWU6ICdtYWluLXRvb2wtZWRpdG9yLXR5cGUtZW5kRGF0ZUhlaWdodExldmVsJyxcclxuICAgICAgICBkYXRhKCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuZWRpdG9yLnZhbHVlIHx8IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgaXNUZXh0YXJlYTpmYWxzZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbW91bnRlZCgpIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0Q3VycnRGaWVsZCgpO1xyXG4gICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHModGhpcy52YWx1ZSk7XHJcbiAgICAgICAgICAgIGV2ZW50YnVzLiRvZmYoXCJjb21wdXRJc1Nob3dcIik7XHJcbiAgICAgICAgICAgIGV2ZW50YnVzLiRvbihcImNvbXB1dElzU2hvd1wiLCAoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgICBpZihkYXRhLmNvbSE9XCJcIil7XHJcbiAgICAgICAgICAgICAgICAgICB0aGlzLmlzVGV4dGFyZWE9ZmFsc2U7XHJcbiAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgdGhpcy5pc1RleHRhcmVhPXRydWU7XHJcbiAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wdXRlZDoge1xyXG4gICAgICAgICAgICBnZXRMaW5lTnVtcygpIHtcclxuICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZSA9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcy5nZXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgICAgICAvL25vdGUg5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4dGVuZC5yb3dzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEuZXh0ZW5kLnJvd3MgPSAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4dGVuZC5yb3dzIDtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYXBwbGljYXRpb25TdGF0ZSgpIHtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUuYXBwbGljYXRpb247XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHZpZXdwb3J0U3RhdGUoKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIG1ldGhvZHM6IHtcclxuICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKCkge1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgd2F0Y2g6IHtcclxuICAgICAgICAgICAgdmFsdWUobiwgbykge1xyXG4gICAgICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBzY29wZWQ+XHJcblxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1lbmREYXRlSGVpZ2h0TGV2ZWwvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///130\n");
926
927/***/ }),
928/* 131 */
929/***/ (function(module, exports, __webpack_require__) {
930
931"use strict";
932eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(447);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeIconBtnTypeSelect',\n name: 'main-tool-editor-type-iconBtnTypeSelect',\n data: function data() {\n return {\n propArr: []\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n var _data = this.propArr || [];\n return _data;\n }\n },\n methods: {\n handleChange: function handleChange() {}\n },\n mounted: function mounted() {\n\n var _this = this;\n _this.propArr = configPageIde.iconBtnType;\n _this.initCurrtField();\n },\n\n watch: {\n value: function value(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1pY29uQnRuVHlwZVNlbGVjdC9pbmRleC52dWU/NTEzMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFhQSxVOztBQUNBOzs7Ozs7a0JBQ0E7QUFDQSwyQ0FDQSxVQURBLENBREE7QUFJQSxvREFKQTtBQUtBLG1EQUxBO0FBTUEsbURBTkE7QUFPQSxRQVBBLGtCQU9BO0FBQ0E7QUFDQTtBQURBO0FBR0EsS0FYQTs7QUFZQTtBQUNBLDRCQURBO0FBRUE7QUFGQSxLQVpBO0FBZ0JBO0FBQ0Esd0JBREEsOEJBQ0E7QUFDQTtBQUNBLFNBSEE7QUFJQSxxQkFKQSwyQkFJQTtBQUNBO0FBQ0EsU0FOQTtBQU9BLG1CQVBBLHlCQU9BO0FBQ0E7QUFDQTtBQUNBO0FBVkEsS0FoQkE7QUE0QkE7QUFPQSxvQkFQQSwwQkFPQSxDQUVBO0FBVEEsS0E1QkE7QUF1Q0EsV0F2Q0EscUJBdUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBNUNBOztBQTZDQTtBQUNBLGFBREEsaUJBQ0EsQ0FEQSxFQUNBLENBREEsRUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQTdDQSxDIiwiZmlsZSI6IjEzMS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxyXG4gICAgICAgIDxDb250YWluZXI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8U2VsZWN0IHYtbW9kZWw9XCJ2YWx1ZVwiIHN0eWxlPVwid2lkdGg6OTYuNSU7XCIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxPcHRpb24gdi1mb3I9XCJpdGVtIGluIG9wdGlvbnNEYXRhXCIgOnZhbHVlPVwiaXRlbS52YWx1ZXx8JydcIiA6a2V5PVwiaXRlbS52YWx1ZVwiPnt7IGl0ZW0ua2V5IH19PC9PcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9Db250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbmltcG9ydCB7UHJvcGVydHlNaXhpbn0gZnJvbSAnLi4vLi4vc2VydmljZS9tYWluLXRvb2wtZWRpdG9yLXR5cGUtbWl4aW4nO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICBjb21wb25lbnRzOiB7XHJcbiAgICAgICAgLi4uY29tcG9uZW50c1xyXG4gICAgfSxcclxuICAgIG1peGluczogW1Byb3BlcnR5TWl4aW5dLFxyXG4gICAgcG9zaXRpb246ICdtYWluVG9vbEVkaXRvclR5cGVJY29uQnRuVHlwZVNlbGVjdCcsXHJcbiAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLWljb25CdG5UeXBlU2VsZWN0JyxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHByb3BBcnI6W11cclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIHByb3BzOiB7XHJcbiAgICAgICAgaW5zdGFuY2VJbmZvOiBPYmplY3QsXHJcbiAgICAgICAgZWRpdG9yOiBPYmplY3RcclxuICAgIH0sXHJcbiAgICBjb21wdXRlZDoge1xyXG4gICAgICAgIGFwcGxpY2F0aW9uU3RhdGUgKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUuYXBwbGljYXRpb247XHJcbiAgICAgICAgfSxcclxuICAgICAgICB2aWV3cG9ydFN0YXRlICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb3B0aW9uc0RhdGEgKCkge1xyXG4gICAgICAgICAgICBsZXQgX2RhdGEgPSB0aGlzLnByb3BBcnIgfHwgW107XHJcbiAgICAgICAgICAgIHJldHVybiBfZGF0YTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgbWV0aG9kczoge1xyXG4gICAgICAgIC8vIGNoYW5nZV9zdGF0dXModmFsKXsgIC8vIOetm+mAieeKtuaAgVxyXG4gICAgICAgIC8vXHJcbiAgICAgICAgLy8gICAgIGNvbnNvbGUubG9nKHRoaXMudmFsKTtcclxuICAgICAgICAvLyAgICAgdGhpcy52YWw9dmFsO1xyXG4gICAgICAgIC8vICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHModGhpcy52YWwpO1xyXG4gICAgICAgIC8vIH0sXHJcbiAgICAgICAgaGFuZGxlQ2hhbmdlICgpIHtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIG1vdW50ZWQoKXtcclxuXHJcbiAgICAgICAgbGV0IF90aGlzPXRoaXM7XHJcbiAgICAgICAgICAgIF90aGlzLnByb3BBcnI9Y29uZmlnUGFnZUlkZS5pY29uQnRuVHlwZTtcclxuICAgICAgICAgICAgX3RoaXMuaW5pdEN1cnJ0RmllbGQoKTtcclxuICAgIH0sXHJcbiAgICB3YXRjaDoge1xyXG4gICAgICAgIHZhbHVlIChuLCBvKSB7XHJcbiAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1pY29uQnRuVHlwZVNlbGVjdC9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///131\n");
933
934/***/ }),
935/* 132 */
936/***/ (function(module, exports, __webpack_require__) {
937
938"use strict";
939eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(452);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nvar _mainToolEditorTypeBoxValidateArr = __webpack_require__(21);\n\nvar _mainToolEditorTypeBoxValidateArr2 = _interopRequireDefault(_mainToolEditorTypeBoxValidateArr);\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components, {\n validateArr: _mainToolEditorTypeBoxValidateArr2.default\n\n }),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeIdCardHeightLevel',\n name: 'main-tool-editor-type-idCardHeightLevel',\n data: function data() {\n return {\n value: this.editor.value || false,\n isTextarea: false\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n this.initCurrtField();\n this.setInstanceProps(this.value);\n _eventbus2.default.$off(\"computIsShow\");\n _eventbus2.default.$on(\"computIsShow\", function (data) {\n if (data.com != \"\") {\n _this.isTextarea = false;\n } else {\n _this.isTextarea = true;\n }\n });\n },\n\n computed: {\n getLineNums: function getLineNums() {\n debugger;\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n if (!currentInstance.data.extend.rows) {\n currentInstance.data.extend.rows = 1;\n }\n return currentInstance.data.extend.rows;\n },\n applicationState: function applicationState() {\n\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n }\n },\n methods: {\n handleChange: function handleChange() {}\n },\n watch: {\n value: function value(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1pZENhcmRIZWlnaHRMZXZlbC9pbmRleC52dWU/MzJmNiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFnQkEsVTs7QUFDQTs7QUFDQTs7OztBQUNBOzs7Ozs7OztrQkFDQTtBQUNBLDJDQUNBLFVBREE7QUFFQTs7QUFGQSxNQURBO0FBTUEsb0RBTkE7QUFPQSxtREFQQTtBQVFBLG1EQVJBO0FBU0EsUUFUQSxrQkFTQTtBQUNBO0FBQ0EsNkNBREE7QUFFQTtBQUZBO0FBSUEsS0FkQTtBQWVBLFdBZkEscUJBZUE7QUFBQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUZBLE1BRUE7QUFDQTtBQUNBO0FBQ0EsU0FOQTtBQU9BLEtBMUJBOztBQTJCQTtBQUNBLG1CQURBLHlCQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBVEE7QUFVQSx3QkFWQSw4QkFVQTs7QUFFQTtBQUNBLFNBYkE7QUFjQSxxQkFkQSwyQkFjQTtBQUNBO0FBQ0E7QUFoQkEsS0EzQkE7QUE2Q0E7QUFDQSxvQkFEQSwwQkFDQSxDQUVBO0FBSEEsS0E3Q0E7QUFrREE7QUFDQSxhQURBLGlCQUNBLENBREEsRUFDQSxDQURBLEVBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFsREEsQyIsImZpbGUiOiIxMzIuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6MTAwJTtcIj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1zdHlsZVwiPlxyXG4gICAgICAgICAgICAgICAgPGktc3dpdGNoIHYtbW9kZWw9XCJ2YWx1ZVwiPjwvaS1zd2l0Y2g+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgdi1zaG93PVwidmFsdWVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlLXN0eWxlXCI+5qCh6aqMPC9kaXY+XHJcbiAgICAgICAgICAgIDx2YWxpZGF0ZUFycj48L3ZhbGlkYXRlQXJyPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIGltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbiAgICBpbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuICAgIGltcG9ydCB2YWxpZGF0ZUFyciBmcm9tICcuLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXZhbGlkYXRlQXJyJztcclxuICAgIGltcG9ydCBldmVudGJ1cyBmcm9tICcuLi8uLi9zZXJ2aWNlL2V2ZW50YnVzJztcclxuICAgIGV4cG9ydCBkZWZhdWx0IHtcclxuICAgICAgICBjb21wb25lbnRzOiB7XHJcbiAgICAgICAgICAgIC4uLmNvbXBvbmVudHMsXHJcbiAgICAgICAgICAgIHZhbGlkYXRlQXJyXHJcblxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWl4aW5zOiBbUHJvcGVydHlNaXhpbl0sXHJcbiAgICAgICAgcG9zaXRpb246ICdtYWluVG9vbEVkaXRvclR5cGVJZENhcmRIZWlnaHRMZXZlbCcsXHJcbiAgICAgICAgbmFtZTogJ21haW4tdG9vbC1lZGl0b3ItdHlwZS1pZENhcmRIZWlnaHRMZXZlbCcsXHJcbiAgICAgICAgZGF0YSgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLmVkaXRvci52YWx1ZSB8fCBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGlzVGV4dGFyZWE6ZmFsc2VcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG1vdW50ZWQoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdEN1cnJ0RmllbGQoKTtcclxuICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKHRoaXMudmFsdWUpO1xyXG4gICAgICAgICAgICBldmVudGJ1cy4kb2ZmKFwiY29tcHV0SXNTaG93XCIpO1xyXG4gICAgICAgICAgICBldmVudGJ1cy4kb24oXCJjb21wdXRJc1Nob3dcIiwgKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgICAgaWYoZGF0YS5jb20hPVwiXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgdGhpcy5pc1RleHRhcmVhPWZhbHNlO1xyXG4gICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgIHRoaXMuaXNUZXh0YXJlYT10cnVlO1xyXG4gICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICAgICAgZ2V0TGluZU51bXMoKSB7XHJcbiAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2UgPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgLy9ub3RlIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgICAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5leHRlbmQucm93cykge1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4dGVuZC5yb3dzID0gMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiBjdXJyZW50SW5zdGFuY2UuZGF0YS5leHRlbmQucm93cyA7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uU3RhdGUoKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB2aWV3cG9ydFN0YXRlKCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtZXRob2RzOiB7XHJcbiAgICAgICAgICAgIGhhbmRsZUNoYW5nZSgpIHtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHdhdGNoOiB7XHJcbiAgICAgICAgICAgIHZhbHVlKG4sIG8pIHtcclxuICAgICAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgc2NvcGVkPlxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtaWRDYXJkSGVpZ2h0TGV2ZWwvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///132\n");
940
941/***/ }),
942/* 133 */
943/***/ (function(module, exports, __webpack_require__) {
944
945"use strict";
946eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(457);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nvar _mainToolEditorTypeShowFlag = __webpack_require__(44);\n\nvar _mainToolEditorTypeShowFlag2 = _interopRequireDefault(_mainToolEditorTypeShowFlag);\n\nvar _mainToolEditorTypeBoxValidateArr = __webpack_require__(21);\n\nvar _mainToolEditorTypeBoxValidateArr2 = _interopRequireDefault(_mainToolEditorTypeBoxValidateArr);\n\nvar _mainToolEditorTypeBoxLinkageChangeValue = __webpack_require__(45);\n\nvar _mainToolEditorTypeBoxLinkageChangeValue2 = _interopRequireDefault(_mainToolEditorTypeBoxLinkageChangeValue);\n\nvar _mainToolEditorTypeBoxInputSelect = __webpack_require__(67);\n\nvar _mainToolEditorTypeBoxInputSelect2 = _interopRequireDefault(_mainToolEditorTypeBoxInputSelect);\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components, {\n showFlag: _mainToolEditorTypeShowFlag2.default,\n validateArr: _mainToolEditorTypeBoxValidateArr2.default,\n linkageChangeValue: _mainToolEditorTypeBoxLinkageChangeValue2.default,\n inputSelect: _mainToolEditorTypeBoxInputSelect2.default\n }),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeInputHeightLevel',\n name: 'main-tool-editor-type-inputHeightLevel',\n data: function data() {\n return {\n LineNums: 1,\n value: this.editor.value || false,\n isTextarea: false\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n this.initCurrtField();\n this.initLineRow();\n this.setInstanceProps(this.value);\n _eventbus2.default.$off(\"computIsShow\");\n _eventbus2.default.$on(\"computIsShow\", function (data) {\n if (data.com != \"\") {\n _this.isTextarea = false;\n } else {\n _this.isTextarea = true;\n }\n });\n },\n\n computed: {\n getLineNums: function getLineNums() {\n debugger;\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n if (!currentInstance.data.extend.rows) {\n currentInstance.data.extend.rows = 1;\n }\n return currentInstance.data.extend.rows;\n },\n applicationState: function applicationState() {\n\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n }\n },\n methods: {\n initLineRow: function initLineRow() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n if (currentInstance.data.extend.rows) {\n this.LineNums = currentInstance.data.extend.rows;\n }\n },\n setLineRow: function setLineRow(line) {\n debugger;\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n if (parseInt(line) > 10) {\n this.$Notice.warning({\n title: '友情提示' + '',\n desc: '最大只能輸入行数为10'\n });\n this.LineNums = 10;\n\n currentInstance.data.extend.rows = 10;\n return;\n }\n\n currentInstance.data.extend.rows = line;\n },\n handleChange: function handleChange() {}\n },\n watch: {\n LineNums: function LineNums(n, o) {\n if (n === o) {\n return;\n }\n this.setLineRow(n);\n },\n value: function value(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1pbnB1dEhlaWdodExldmVsL2luZGV4LnZ1ZT82YjkzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQTRCQSxVOztBQUNBOztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7Ozs7O2tCQUNBO0FBQ0EsMkNBQ0EsVUFEQTtBQUVBLHNEQUZBO0FBR0EsK0RBSEE7QUFJQSw2RUFKQTtBQUtBO0FBTEEsTUFEQTtBQVFBLG9EQVJBO0FBU0Esa0RBVEE7QUFVQSxrREFWQTtBQVdBLFFBWEEsa0JBV0E7QUFDQTtBQUNBLHVCQURBO0FBRUEsNkNBRkE7QUFHQTtBQUhBO0FBS0EsS0FqQkE7QUFrQkEsV0FsQkEscUJBa0JBO0FBQUE7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUZBLE1BRUE7QUFDQTtBQUNBO0FBQ0EsU0FOQTtBQU9BLEtBOUJBOztBQStCQTtBQUNBLG1CQURBLHlCQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBVEE7QUFVQSx3QkFWQSw4QkFVQTs7QUFFQTtBQUNBLFNBYkE7QUFjQSxxQkFkQSwyQkFjQTtBQUNBO0FBQ0E7QUFoQkEsS0EvQkE7QUFpREE7QUFDQSxtQkFEQSx5QkFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBUEE7QUFRQSxrQkFSQSxzQkFRQSxJQVJBLEVBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUNBLEVBRkE7QUFHQTtBQUhBO0FBS0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0F4QkE7QUF5QkEsb0JBekJBLDBCQXlCQSxDQUVBO0FBM0JBLEtBakRBO0FBOEVBO0FBQ0EsZ0JBREEsb0JBQ0EsQ0FEQSxFQUNBLENBREEsRUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FOQTtBQU9BLGFBUEEsaUJBT0EsQ0FQQSxFQU9BLENBUEEsRUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFaQTtBQTlFQSxDIiwiZmlsZSI6IjEzMy5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDoxMDAlO1wiPlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXN0eWxlXCI+XHJcbiAgICAgICAgICAgICAgICA8aS1zd2l0Y2ggdi1tb2RlbD1cInZhbHVlXCI+PC9pLXN3aXRjaD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiB2LXNob3c9XCJ2YWx1ZVwiPlxyXG4gICAgICAgICAgICA8ZGl2ID5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cIml0ZW0tc3R5bGVcIj7mlofmnKzmoYbnsbvlnos8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0U2VsZWN0PjwvaW5wdXRTZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IHYtc2hvdz1cImlzVGV4dGFyZWFcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cIml0ZW0tc3R5bGVcIj7ooYzmlbA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPElucHV0IHN0eWxlPVwibWFyZ2luOiAwcHggMTBweCA3cHg7d2lkdGg6IDkyJTtcIiBwbGFjZWhvbGRlcj1cIuWPquiDvei+k+WFpeaVsOWtl++8jOacgOWkp+ihjOaVsOS4ujEwXCIgY2xlYXJhYmxlIHR5cGU9XCJudW1iZXJcIiB2LW1vZGVsPVwiTGluZU51bXNcIi8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlLXN0eWxlXCI+5qCh6aqMPC9kaXY+XHJcbiAgICAgICAgICAgIDx2YWxpZGF0ZUFycj48L3ZhbGlkYXRlQXJyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGUtc3R5bGVcIj7mmK/lkKblsZXnpLo8L2Rpdj5cclxuICAgICAgICAgICAgPHNob3dGbGFnPjwvc2hvd0ZsYWc+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZS1zdHlsZVwiPuiBlOWKqDwvZGl2PlxyXG4gICAgICAgICAgICA8bGlua2FnZUNoYW5nZVZhbHVlPjwvbGlua2FnZUNoYW5nZVZhbHVlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG4gICAgaW1wb3J0ICogYXMgY29tcG9uZW50cyBmcm9tICcuL3N0eWxlJztcclxuICAgIGltcG9ydCB7UHJvcGVydHlNaXhpbn0gZnJvbSAnLi4vLi4vc2VydmljZS9tYWluLXRvb2wtZWRpdG9yLXR5cGUtbWl4aW4nO1xyXG4gICAgaW1wb3J0IHNob3dGbGFnIGZyb20gJy4uL21haW4tdG9vbC1lZGl0b3ItdHlwZS1zaG93RmxhZyc7XHJcbiAgICBpbXBvcnQgdmFsaWRhdGVBcnIgZnJvbSAnLi4vbWFpbi10b29sLWVkaXRvci10eXBlLWJveC12YWxpZGF0ZUFycic7XHJcbiAgICBpbXBvcnQgbGlua2FnZUNoYW5nZVZhbHVlIGZyb20gJy4uL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtbGlua2FnZUNoYW5nZVZhbHVlJztcclxuICAgIGltcG9ydCBpbnB1dFNlbGVjdCBmcm9tICcuLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWlucHV0U2VsZWN0JztcclxuICAgIGltcG9ydCBldmVudGJ1cyBmcm9tICcuLi8uLi9zZXJ2aWNlL2V2ZW50YnVzJztcclxuICAgIGV4cG9ydCBkZWZhdWx0IHtcclxuICAgICAgICBjb21wb25lbnRzOiB7XHJcbiAgICAgICAgICAgIC4uLmNvbXBvbmVudHMsXHJcbiAgICAgICAgICAgIHNob3dGbGFnLFxyXG4gICAgICAgICAgICB2YWxpZGF0ZUFycixcclxuICAgICAgICAgICAgbGlua2FnZUNoYW5nZVZhbHVlLFxyXG4gICAgICAgICAgICBpbnB1dFNlbGVjdFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWl4aW5zOiBbUHJvcGVydHlNaXhpbl0sXHJcbiAgICAgICAgcG9zaXRpb246ICdtYWluVG9vbEVkaXRvclR5cGVJbnB1dEhlaWdodExldmVsJyxcclxuICAgICAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLWlucHV0SGVpZ2h0TGV2ZWwnLFxyXG4gICAgICAgIGRhdGEoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBMaW5lTnVtczoxLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuZWRpdG9yLnZhbHVlIHx8IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgaXNUZXh0YXJlYTpmYWxzZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbW91bnRlZCgpIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0Q3VycnRGaWVsZCgpO1xyXG4gICAgICAgICAgICB0aGlzLmluaXRMaW5lUm93KCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyh0aGlzLnZhbHVlKTtcclxuICAgICAgICAgICAgZXZlbnRidXMuJG9mZihcImNvbXB1dElzU2hvd1wiKTtcclxuICAgICAgICAgICAgZXZlbnRidXMuJG9uKFwiY29tcHV0SXNTaG93XCIsIChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgIGlmKGRhdGEuY29tIT1cIlwiKXtcclxuICAgICAgICAgICAgICAgICAgIHRoaXMuaXNUZXh0YXJlYT1mYWxzZTtcclxuICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICB0aGlzLmlzVGV4dGFyZWE9dHJ1ZTtcclxuICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXB1dGVkOiB7XHJcbiAgICAgICAgICAgIGdldExpbmVOdW1zKCkge1xyXG4gICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlID0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzLmdldCh0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgICAgIC8vbm90ZSDkuLrkuovku7bmlrDlop7kuIDpoblcclxuICAgICAgICAgICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEuZXh0ZW5kLnJvd3MpIHtcclxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5leHRlbmQucm93cyA9IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudEluc3RhbmNlLmRhdGEuZXh0ZW5kLnJvd3MgO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBhcHBsaWNhdGlvblN0YXRlKCkge1xyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5hcHBsaWNhdGlvbjtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdmlld3BvcnRTdGF0ZSgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWV0aG9kczoge1xyXG4gICAgICAgICAgICBpbml0TGluZVJvdygpe1xyXG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZSA9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcy5nZXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgICAgICAvL25vdGUg5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgICAgICAgICBpZihjdXJyZW50SW5zdGFuY2UuZGF0YS5leHRlbmQucm93cyl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5MaW5lTnVtcz1jdXJyZW50SW5zdGFuY2UuZGF0YS5leHRlbmQucm93cztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgc2V0TGluZVJvdyhsaW5lKXtcclxuICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZSA9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcy5nZXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgICAgICBpZihwYXJzZUludChsaW5lKT4xMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kTm90aWNlLndhcm5pbmcoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+WPi+aDheaPkOekuicgK1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAnJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGVzYzogICfmnIDlpKflj6rog73ovLjlhaXooYzmlbDkuLoxMCdcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLkxpbmVOdW1zPTEwO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vbm90ZSDkuLrkuovku7bmlrDlop7kuIDpoblcclxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5leHRlbmQucm93cz0xMDtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvL25vdGUg5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEuZXh0ZW5kLnJvd3M9bGluZTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKCkge1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgd2F0Y2g6IHtcclxuICAgICAgICAgICAgTGluZU51bXMobiwgbykge1xyXG4gICAgICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldExpbmVSb3cobik7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHZhbHVlKG4sIG8pIHtcclxuICAgICAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgc2NvcGVkPlxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtaW5wdXRIZWlnaHRMZXZlbC9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///133\n");
947
948/***/ }),
949/* 134 */
950/***/ (function(module, exports, __webpack_require__) {
951
952"use strict";
953eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(462);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeLabelHeightLevel',\n name: 'main-tool-editor-type-labelHeightLevel',\n data: function data() {\n return {\n val: '',\n value: this.editor.value || false,\n type: \"\",\n dataArr: [{\n \"label\": \"lookup-fee 查看收费标准\",\n \"value\": \"lookup-fee\"\n }, {\n \"label\": \"lookup-map 查看地图\",\n \"value\": \"lookup-map\"\n }, {\n \"label\": \"lookup-number 查看编号\",\n \"value\": \"lookup-number\"\n }, {\n \"label\": \"lookup-query 查看查询\",\n \"value\": \"lookup-query\"\n }, {\n \"label\": \"lookup-project 查看项目\",\n \"value\": \"lookup-project\"\n }, {\n \"label\": \"lookup-sample 查看材料样本\",\n \"value\": \"lookup-sample\"\n }],\n dataTypeArr: [{\n \"label\": \"环评批复文号\",\n \"value\": \"1\"\n }, {\n \"label\": \"身份证号\",\n \"value\": \"2\"\n }, {\n \"label\": \"车牌号\",\n \"value\": \"3\"\n }, {\n \"label\": \"网签合同号\",\n \"value\": \"4\"\n }, {\n \"label\": \"申请号\",\n \"value\": \"5\"\n }, {\n \"label\": \"请求号查询\",\n \"value\": \"6\"\n }, {\n \"label\": \"房屋权属证号\",\n \"value\": \"7\"\n }, {\n \"label\": \"监管协议号\",\n \"value\": \"8\"\n }, {\n \"label\": \"小餐饮查询页面信息\",\n \"value\": \"9\"\n }, {\n \"label\": \"二手房合约备案卖家房屋产权证号\",\n \"value\": \"10\"\n }, {\n \"label\": \"网签合同号:先调合同变更申请方校验接口\",\n \"value\": \"11\"\n }, {\n \"label\": \"买方请求号查询\",\n \"value\": \"12\"\n }, {\n \"label\": \"请求号查询\",\n \"value\": \"13\"\n }, {\n \"label\": \"异地就医网上查询\",\n \"value\": \"14\"\n }, {\n \"label\": \"医保卡个人账户查询\",\n \"value\": \"15\"\n }, {\n \"label\": \"出具医疗(大额)保险费、生育保险费缴费电子发票查询\",\n \"value\": \"16\"\n }, {\n \"label\": \"卫生许可事项\",\n \"value\": \"18\"\n }],\n dataType: \"\",\n btnName: \"\",\n isHidden: false\n\n };\n },\n mounted: function mounted() {\n this.initCurrtField();\n this.setInstanceProps(this.value);\n },\n\n computed: {\n getRomout: function getRomout() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n return currentInstance;\n },\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n }\n },\n methods: {\n updateDataType: function updateDataType(val) {\n var currentInstance = this.getRomout;\n currentInstance.data.excat[0].data.type = val;\n },\n updateType: function updateType(val) {\n debugger;\n var currentInstance = this.getRomout;\n currentInstance.data.excat[0].type = val;\n\n if (val == \"lookup-query\") {\n this.isHidden = true;\n currentInstance.data.excat[0].isHidden = true;\n } else {\n this.isHidden = false;\n currentInstance.data.excat[0].isHidden = false;\n }\n },\n initCurrtField: function initCurrtField() {\n var currentInstance = this.getRomout;\n if (!currentInstance.data.excat) {\n currentInstance.data.excat = [{\n \"type\": \"\",\n \"isHidden\": false,\n \"data\": {\n \"type\": \"\",\n \"btnName\": \"\"\n }\n }];\n } else {\n\n if (!currentInstance.data.data) {\n currentInstance.data.data = {\n heightLevel: false\n };\n }\n this.value = currentInstance.data.data.heightLevel;\n this.type = currentInstance.data.excat[0].type;\n this.isHidden = currentInstance.data.excat[0].isHidden;\n this.dataType = currentInstance.data.excat[0].data.type;\n this.btnName = currentInstance.data.excat[0].data.btnName;\n }\n debugger;\n },\n changeVal: function changeVal(el) {\n debugger;\n },\n handleChange: function handleChange() {}\n },\n watch: {\n btnName: function btnName(n, o) {\n if (n === o) {\n return;\n }\n var currentInstance = this.getRomout;\n currentInstance.data.excat[0].data.btnName = n;\n },\n getRomout: function getRomout(n, o) {},\n value: function value(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1sYWJlbEhlaWdodExldmVsL2luZGV4LnZ1ZT8xZGQxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQTBCQSxVOztBQUNBOzs7Ozs7a0JBR0E7QUFDQSwyQ0FDQSxVQURBLENBREE7QUFNQSxvREFOQTtBQU9BLGtEQVBBO0FBUUEsa0RBUkE7QUFTQSxRQVRBLGtCQVNBO0FBQ0E7QUFDQSxtQkFEQTtBQUVBLDZDQUZBO0FBR0Esb0JBSEE7QUFJQSxzQkFDQTtBQUNBLDRDQURBO0FBRUE7QUFGQSxhQURBLEVBS0E7QUFDQSwwQ0FEQTtBQUVBO0FBRkEsYUFMQSxFQVNBO0FBQ0EsNkNBREE7QUFFQTtBQUZBLGFBVEEsRUFhQTtBQUNBLDZDQURBO0FBRUE7QUFGQSxhQWJBLEVBaUJBO0FBQ0EsOENBREE7QUFFQTtBQUZBLGFBakJBLEVBcUJBO0FBQ0EsK0NBREE7QUFFQTtBQUZBLGFBckJBLENBSkE7QUE4QkEsMEJBQ0E7QUFDQSxpQ0FEQTtBQUVBO0FBRkEsYUFEQSxFQUtBO0FBQ0EsK0JBREE7QUFFQTtBQUZBLGFBTEEsRUFTQTtBQUNBLDhCQURBO0FBRUE7QUFGQSxhQVRBLEVBYUE7QUFDQSxnQ0FEQTtBQUVBO0FBRkEsYUFiQSxFQWlCQTtBQUNBLDhCQURBO0FBRUE7QUFGQSxhQWpCQSxFQXFCQTtBQUNBLGdDQURBO0FBRUE7QUFGQSxhQXJCQSxFQXlCQTtBQUNBLGlDQURBO0FBRUE7QUFGQSxhQXpCQSxFQTZCQTtBQUNBLGdDQURBO0FBRUE7QUFGQSxhQTdCQSxFQWlDQTtBQUNBLG9DQURBO0FBRUE7QUFGQSxhQWpDQSxFQW9DQTtBQUNBLDBDQURBO0FBRUE7QUFGQSxhQXBDQSxFQXdDQTtBQUNBLDhDQURBO0FBRUE7QUFGQSxhQXhDQSxFQTRDQTtBQUNBLGtDQURBO0FBRUE7QUFGQSxhQTVDQSxFQWdEQTtBQUNBLGdDQURBO0FBRUE7QUFGQSxhQWhEQSxFQW9EQTtBQUNBLG1DQURBO0FBRUE7QUFGQSxhQXBEQSxFQXdEQTtBQUNBLG9DQURBO0FBRUE7QUFGQSxhQXhEQSxFQTREQTtBQUNBLG9EQURBO0FBRUE7QUFGQSxhQTVEQSxFQWdFQTtBQUNBLGlDQURBO0FBRUE7QUFGQSxhQWhFQSxDQTlCQTtBQW1HQSx3QkFuR0E7QUFvR0EsdUJBcEdBO0FBcUdBOztBQXJHQTtBQXdHQSxLQWxIQTtBQW1IQSxXQW5IQSxxQkFtSEE7QUFDQTtBQUNBO0FBQ0EsS0F0SEE7O0FBdUhBO0FBQ0EsaUJBREEsdUJBQ0E7QUFDQTs7QUFFQTtBQUNBLFNBTEE7QUFNQSx3QkFOQSw4QkFNQTtBQUNBO0FBQ0EsU0FSQTtBQVNBLHFCQVRBLDJCQVNBO0FBQ0E7QUFDQTtBQVhBLEtBdkhBO0FBb0lBO0FBQ0Esc0JBREEsMEJBQ0EsR0FEQSxFQUNBO0FBQ0E7QUFDQTtBQUNBLFNBSkE7QUFLQSxrQkFMQSxzQkFLQSxHQUxBLEVBS0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsYUFIQSxNQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FsQkE7QUFtQkEsc0JBbkJBLDRCQW1CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQURBO0FBRUEscUNBRkE7QUFHQTtBQUNBLGtDQURBO0FBRUE7QUFGQTtBQUhBO0FBUUEsYUFUQSxNQVNBOztBQUVBO0FBQ0E7QUFDQTtBQURBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBNUNBO0FBNkNBLGlCQTdDQSxxQkE2Q0EsRUE3Q0EsRUE2Q0E7QUFDQTtBQUNBLFNBL0NBO0FBZ0RBLG9CQWhEQSwwQkFnREEsQ0FFQTtBQWxEQSxLQXBJQTtBQXdMQTtBQUNBLGVBREEsbUJBQ0EsQ0FEQSxFQUNBLENBREEsRUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQVBBO0FBUUEsaUJBUkEscUJBUUEsQ0FSQSxFQVFBLENBUkEsRUFRQSxDQUNBLENBVEE7QUFVQSxhQVZBLGlCQVVBLENBVkEsRUFVQSxDQVZBLEVBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZkE7QUF4TEEsQyIsImZpbGUiOiIxMzQuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6MTAwJVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXN0eWxlXCI+XHJcbiAgICAgICAgICAgIDxpLXN3aXRjaCB2LW1vZGVsPVwidmFsdWVcIj48L2ktc3dpdGNoPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgdi1zaG93PVwidmFsdWVcIj5cclxuICAgICAgICAgICAgPFNlbGVjdCB2LW1vZGVsPVwidHlwZVwiIEBvbi1jaGFuZ2U9XCJ1cGRhdGVUeXBlXCIgc3R5bGU9XCJ3aWR0aDo5Ni41JTtcIiA+XHJcbiAgICAgICAgICAgICAgICA8T3B0aW9uIHYtZm9yPVwiaXRlbSBpbiBkYXRhQXJyXCIgOnZhbHVlPVwiaXRlbS52YWx1ZXx8JydcIiA6a2V5PVwiaXRlbS52YWx1ZVwiPnt7IGl0ZW0ubGFiZWwgfX08L09wdGlvbj5cclxuICAgICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICAgICAgIDxkaXYgdi1zaG93PVwiaXNIaWRkZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8TGFiZWwgIGNsYXNzPVwiaXRlbS1zdHlsZVwiPumAiemhueexu+WeizwvTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPENvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdCB2LW1vZGVsPVwiZGF0YVR5cGVcIiAgQG9uLWNoYW5nZT1cInVwZGF0ZURhdGFUeXBlXCIgIHN0eWxlPVwid2lkdGg6OTYuNSU7bWF4LXdpZHRoOiAyNTRweDtcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8T3B0aW9uIHN0eWxlPVwibWF4LXdpZHRoOiAyNTRweDtcIiB2LWZvcj1cIml0ZW0gaW4gZGF0YVR5cGVBcnJcIiA6dmFsdWU9XCJpdGVtLnZhbHVlfHwnJ1wiIDprZXk9XCJpdGVtLnZhbHVlXCI+e3sgaXRlbS5sYWJlbCB9fTwvT3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L0NvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8TGFiZWwgIGNsYXNzPVwiaXRlbS1zdHlsZVwiPuivt+i+k+WFpeaMiemSruWQjeensDwvTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPENvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0IHYtbW9kZWw9XCJidG5OYW1lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXmjInpkq7lkI3np7BcIiBjbGVhcmFibGUgc3R5bGU9XCJ3aWR0aDogMzAwcHhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIGltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbiAgICBpbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuIC8qICAgaW1wb3J0IExvb2tVcCBmcm9tICcuLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxvb2t1cCc7XHJcbiAgICBpbXBvcnQgTG9va1R5cGUgZnJvbSAnLi4vbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1sb29rdHlwZSc7Ki9cclxuICAgIGV4cG9ydCBkZWZhdWx0IHtcclxuICAgICAgICBjb21wb25lbnRzOiB7XHJcbiAgICAgICAgICAgIC4uLmNvbXBvbmVudHMsXHJcbiAgICAgICAvKiAgICAgTG9va1R5cGUsXHJcbiAgICAgICAgICAgIExvb2tVcCovXHJcbiAgICAgICAgfSxcclxuICAgICAgICBtaXhpbnM6IFtQcm9wZXJ0eU1peGluXSxcclxuICAgICAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yVHlwZUxhYmVsSGVpZ2h0TGV2ZWwnLFxyXG4gICAgICAgIG5hbWU6ICdtYWluLXRvb2wtZWRpdG9yLXR5cGUtbGFiZWxIZWlnaHRMZXZlbCcsXHJcbiAgICAgICAgZGF0YSgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHZhbDonJyxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLmVkaXRvci52YWx1ZSB8fCBmYWxzZSxcclxuICAgICAgICAgICAgICAgIHR5cGU6XCJcIixcclxuICAgICAgICAgICAgICAgIGRhdGFBcnI6W1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOlwibG9va3VwLWZlZSDmn6XnnIvmlLbotLnmoIflh4ZcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOlwibG9va3VwLWZlZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjpcImxvb2t1cC1tYXAg5p+l55yL5Zyw5Zu+XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjpcImxvb2t1cC1tYXBcIlxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsXCI6XCJsb29rdXAtbnVtYmVyIOafpeeci+e8luWPt1wiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbHVlXCI6XCJsb29rdXAtbnVtYmVyXCJcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOlwibG9va3VwLXF1ZXJ5ICDmn6XnnIvmn6Xor6JcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOlwibG9va3VwLXF1ZXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOlwibG9va3VwLXByb2plY3Qg5p+l55yL6aG555uuXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjpcImxvb2t1cC1wcm9qZWN0XCJcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOlwibG9va3VwLXNhbXBsZSDmn6XnnIvmnZDmlpnmoLfmnKxcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOlwibG9va3VwLXNhbXBsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIGRhdGFUeXBlQXJyOltcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjpcIueOr+ivhOaJueWkjeaWh+WPt1wiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbHVlXCI6XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOlwi6Lqr5Lu96K+B5Y+3XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjpcIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsXCI6XCLovabniYzlj7dcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOlwiM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjpcIue9keetvuWQiOWQjOWPt1wiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbHVlXCI6XCI0XCJcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOlwi55Sz6K+35Y+3XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjpcIjVcIlxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsXCI6XCLor7fmsYLlj7fmn6Xor6JcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOlwiNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjpcIuaIv+Wxi+adg+WxnuivgeWPt1wiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbHVlXCI6XCI3XCJcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOlwi55uR566h5Y2P6K6u5Y+3XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjpcIjhcIlxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsXCI6XCLlsI/ppJDppa7mn6Xor6LpobXpnaLkv6Hmga9cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOlwiOVwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSx7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjpcIuS6jOaJi+aIv+WQiOe6puWkh+ahiOWNluWutuaIv+Wxi+S6p+adg+ivgeWPt1wiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbHVlXCI6XCIxMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjpcIue9keetvuWQiOWQjOWPt++8muWFiOiwg+WQiOWQjOWPmOabtOeUs+ivt+aWueagoemqjOaOpeWPo1wiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbHVlXCI6XCIxMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjpcIuS5sOaWueivt+axguWPt+afpeivolwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbHVlXCI6XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjpcIuivt+axguWPt+afpeivolwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbHVlXCI6XCIxM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjpcIuW8guWcsOWwseWMu+e9keS4iuafpeivolwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbHVlXCI6XCIxNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjpcIuWMu+S/neWNoeS4quS6uui0puaIt+afpeivolwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbHVlXCI6XCIxNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjpcIuWHuuWFt+WMu+eWl++8iOWkp+mine+8ieS/nemZqei0ueOAgeeUn+iCsuS/nemZqei0uee8tOi0ueeUteWtkOWPkeelqOafpeivolwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbHVlXCI6XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjpcIuWNq+eUn+iuuOWPr+S6i+mhuVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbHVlXCI6XCIxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIGRhdGFUeXBlOlwiXCIsXHJcbiAgICAgICAgICAgICAgICBidG5OYW1lOlwiXCIsXHJcbiAgICAgICAgICAgICAgICBpc0hpZGRlbjpmYWxzZSxcclxuXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtb3VudGVkKCkge1xyXG4gICAgICAgICAgICB0aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyh0aGlzLnZhbHVlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXB1dGVkOiB7XHJcbiAgICAgICAgICAgIGdldFJvbW91dCgpIHtcclxuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2UgPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgLy9ub3RlIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRJbnN0YW5jZTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYXBwbGljYXRpb25TdGF0ZSgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5hcHBsaWNhdGlvbjtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdmlld3BvcnRTdGF0ZSgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWV0aG9kczoge1xyXG4gICAgICAgICAgICB1cGRhdGVEYXRhVHlwZSh2YWwpe1xyXG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZSA9dGhpcy5nZXRSb21vdXQ7XHJcbiAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5leGNhdFswXS5kYXRhLnR5cGU9dmFsO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB1cGRhdGVUeXBlKHZhbCl7XHJcbiAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2UgPXRoaXMuZ2V0Um9tb3V0O1xyXG4gICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEuZXhjYXRbMF0udHlwZT12YWw7XHJcblxyXG4gICAgICAgICAgICAgICAgLy9ub3RlIOWIpOaWreaYr+WQpuaYr+afpeivoizlpoLmnpzmmK/vvIzliJnmmL7npLrlupXpg6jkv6lcclxuICAgICAgICAgICAgICAgIGlmKHZhbD09XCJsb29rdXAtcXVlcnlcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0hpZGRlbj10cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4Y2F0WzBdLmlzSGlkZGVuPXRydWU7XHJcbiAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzSGlkZGVuPWZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4Y2F0WzBdLmlzSGlkZGVuPWZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBpbml0Q3VycnRGaWVsZCAoKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlID10aGlzLmdldFJvbW91dDtcclxuICAgICAgICAgICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEuZXhjYXQpIHtcclxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5leGNhdD1be1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjpcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImlzSGlkZGVuXCI6ZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZGF0YVwiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYnRuTmFtZVwiOlwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1dO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5kYXRhKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEuZGF0YT17XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHRMZXZlbDpmYWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWU9Y3VycmVudEluc3RhbmNlLmRhdGEuZGF0YS5oZWlnaHRMZXZlbDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnR5cGU9IGN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4Y2F0WzBdLnR5cGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0hpZGRlbj0gY3VycmVudEluc3RhbmNlLmRhdGEuZXhjYXRbMF0uaXNIaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhVHlwZT0gY3VycmVudEluc3RhbmNlLmRhdGEuZXhjYXRbMF0uZGF0YS50eXBlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnRuTmFtZT0gY3VycmVudEluc3RhbmNlLmRhdGEuZXhjYXRbMF0uZGF0YS5idG5OYW1lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZGVidWdnZXJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgY2hhbmdlVmFsKGVsKSB7XHJcbiAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKCkge1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgd2F0Y2g6IHtcclxuICAgICAgICAgICAgYnRuTmFtZShuLCBvKXtcclxuICAgICAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZSA9dGhpcy5nZXRSb21vdXQ7XHJcbiAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5leGNhdFswXS5kYXRhLmJ0bk5hbWU9bjtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZ2V0Um9tb3V0KG4sIG8pIHtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdmFsdWUobiwgbykge1xyXG4gICAgICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBzY29wZWQ+XHJcblxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1sYWJlbEhlaWdodExldmVsL2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///134\n");
954
955/***/ }),
956/* 135 */
957/***/ (function(module, exports, __webpack_require__) {
958
959"use strict";
960eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(23);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(467);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = (0, _defineProperty3.default)({\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeLinkItems',\n name: 'main-tool-editor-type-linkItems',\n data: function data() {\n return {\n radioArr: [],\n propArr: [],\n val: false,\n arrList: []\n };\n },\n mounted: function mounted() {\n this.initCurrtField();\n },\n\n computed: {\n getArrList: function getArrList() {\n\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n if (!currentInstance.data.items) {\n currentInstance.data.items = [];\n }\n return currentInstance.data.items;\n },\n applicationState: function applicationState() {\n\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n var _data = this.propArr || [];\n return _data;\n },\n radioData: function radioData() {\n var _data = this.radioArr || [];\n return _data;\n }\n },\n methods: {\n delArr: function delArr(index) {\n this.$store.commit('viewport/delLinkItemsEventArr', { index: index });\n },\n delExactChildArr: function delExactChildArr(parentIndex, index) {\n\n this.$store.commit('viewport/delLinkExactEventChildArr', { parentIndex: parentIndex, index: index });\n },\n delOptionsChildArr: function delOptionsChildArr(parentIndex, index) {\n\n this.$store.commit('viewport/delLinkOptionsEventChildArr', { parentIndex: parentIndex, index: index });\n },\n addArr: function addArr() {\n this.$store.commit('viewport/addLinkItemsEventArr', {});\n },\n addOptionsChildArr: function addOptionsChildArr(index) {\n\n this.$store.commit('viewport/addLinkOptionsEventArr', { index: index });\n },\n addExactChildArr: function addExactChildArr(index) {\n\n this.$store.commit('viewport/addLinkExactEventArr', { index: index });\n },\n handleChange: function handleChange() {}\n },\n watch: {\n val: function val(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input1: function input1(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input2: function input2(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n}, 'mounted', function mounted() {\n\n var _this = this;\n\n this.$http.get('/static/data/page-ide/radioType.json').then(function (response) {\n _this.radioArr = response.propArr;\n _this.initCurrtField();\n });\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1saW5rSXRlbXMvaW5kZXgudnVlPzI2ZmUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztJQW9GQSxVOztBQUNBOzs7Ozs7O0FBR0EsMkNBQ0EsVUFEQSxDO0FBR0Esb0Q7QUFDQSwyQztBQUNBLDJDO0FBQ0EsUSxrQkFBQTtBQUNBO0FBQ0Esd0JBREE7QUFFQSx1QkFGQTtBQUdBLHNCQUhBO0FBSUE7QUFKQTtBQU1BLEs7QUFDQSxXLHFCQUFBO0FBQ0E7QUFDQSxLOztBQUNBO0FBYUEsa0JBYkEsd0JBYUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQXJCQTtBQXNCQSx3QkF0QkEsOEJBc0JBOztBQUVBO0FBQ0EsU0F6QkE7QUEwQkEscUJBMUJBLDJCQTBCQTtBQUNBO0FBQ0EsU0E1QkE7QUE2QkEsbUJBN0JBLHlCQTZCQTtBQUNBO0FBQ0E7QUFDQSxTQWhDQTtBQWlDQSxpQkFqQ0EsdUJBaUNBO0FBQ0E7QUFDQTtBQUNBO0FBcENBLEs7QUFzQ0E7QUFDQSxjQURBLGtCQUNBLEtBREEsRUFDQTtBQUNBO0FBS0EsU0FQQTtBQVFBLHdCQVJBLDRCQVFBLFdBUkEsRUFRQSxLQVJBLEVBUUE7O0FBRUE7QUFDQSxTQVhBO0FBWUEsMEJBWkEsOEJBWUEsV0FaQSxFQVlBLEtBWkEsRUFZQTs7QUFFQTtBQUNBLFNBZkE7QUFnQkEsY0FoQkEsb0JBZ0JBO0FBQ0E7QUFLQSxTQXRCQTtBQXVCQSwwQkF2QkEsOEJBdUJBLEtBdkJBLEVBdUJBOztBQUVBO0FBS0EsU0E5QkE7QUErQkEsd0JBL0JBLDRCQStCQSxLQS9CQSxFQStCQTs7QUFFQTtBQUtBLFNBdENBO0FBdUNBLG9CQXZDQSwwQkF1Q0EsQ0FFQTtBQXpDQSxLO0FBMkNBO0FBQ0EsV0FEQSxlQUNBLENBREEsRUFDQSxDQURBLEVBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBTkE7QUFPQSxjQVBBLGtCQU9BLENBUEEsRUFPQSxDQVBBLEVBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBWkE7QUFhQSxjQWJBLGtCQWFBLENBYkEsRUFhQSxDQWJBLEVBYUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBbEJBO2lDQW9CQTs7QUFFQTs7QUFLQTtBQUNBO0FBQ0E7QUFDQSxLQUhBO0FBSUEsQyIsImZpbGUiOiIxMzUuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCU7XCI+XHJcbiAgICAgICAgPENvbnRhaW5lcj5cclxuICAgICAgICAgICAgPEJ1dHRvbiBAY2xpY2s9XCJhZGRBcnIoKVwiIHR5cGU9XCJzdWNjZXNzXCI+5re75YqgPC9CdXR0b24+XHJcbiAgICAgICAgPC9Db250YWluZXI+XHJcbiAgICAgICAgPHVsIGNsYXNzPVwibWFpbi11bFwiPlxyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJtYWluLWxpXCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gZ2V0QXJyTGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktYnRuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiB0eXBlPVwiZXJyb3JcIiBAY2xpY2s9XCJkZWxBcnIoaW5kZXgpXCIgc2hhcGU9XCJjaXJjbGVcIj7liKDpmaQ8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPExhYmVsIGNsYXNzPVwibWFpbi1saS1sYWJlbFwiPuagh+etvjwvTGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxJbnB1dCBjbGFzcz1cIm1haW4tbGktaXRlbVwiIGNsZWFyYWJsZSB2LW1vZGVsPVwiaXRlbS5sYWJlbFwiLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPExhYmVsIGNsYXNzPVwibWFpbi1saS1sYWJlbFwiPuWxnuaAp+WQjeensDwvTGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxTZWxlY3QgY2xhc3M9XCJtYWluLWxpLWl0ZW1cIiAgdi1tb2RlbD1cIml0ZW0ucHJvcFwiIGNsZWFyYWJsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPE9wdGlvbiB2LWZvcj1cIml0ZW0gaW4gb3B0aW9uc0RhdGFcIiA6dmFsdWU9XCJpdGVtLnZhbHVlXCIgOmtleT1cIml0ZW0udmFsdWVcIj57eyBpdGVtLmtleSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L09wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPExhYmVsIGNsYXNzPVwibWFpbi1saS1sYWJlbFwiPuaYr+WQpuaYvuekujwvTGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpLXN3aXRjaCBjbGFzcz1cIm1haW4tbGktaXRlbS1zd2l0Y2hcIiB2LW1vZGVsPVwiaXRlbS5pc1Nob3dcIj48L2ktc3dpdGNoPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1saS1idG5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHR5cGU9XCJzdWNjZXNzXCIgIEBjbGljaz1cImFkZEV4YWN0Q2hpbGRBcnIoaW5kZXgpXCI+5re75YqgZXhhY3TmlbDnu4Q8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwibWFpbi11bFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1haW4tbGlcIiB2LWZvcj1cIihpdGVtMSxpbmRleDEpIGluIGl0ZW0uZXhhY3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGFiZWwgY2xhc3M9XCJtYWluLWxpLWxhYmVsXCI+5bm/5ZGK57G75Z6LPC9MYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0IGNsYXNzPVwibWFpbi1saS1pdGVtXCIgY2xlYXJhYmxlIHYtbW9kZWw9XCJpdGVtMS50eXBlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktYnRuLWNoaWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHR5cGU9XCJlcnJvclwiIEBjbGljaz1cImRlbEV4YWN0Q2hpbGRBcnIoaW5kZXgsaW5kZXgxKVwiPuWIoOmZpOWtkOmbhuaVsOe7hDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWJ0blwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cInN1Y2Nlc3NcIiBAY2xpY2s9XCJhZGRPcHRpb25zQ2hpbGRBcnIoaW5kZXgpXCI+5re75Yqgb3B0aW9uc+aVsOe7hDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJtYWluLXVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibWFpbi1saVwiIHYtZm9yPVwiKGl0ZW0yLGluZGV4MikgaW4gaXRlbS5vcHRpb25zXCIgOmtleT1cImluZGV4MlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBjbGFzcz1cIm1haW4tbGktbGFiZWxcIj7lkI3np7A8L0xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXQgY2xhc3M9XCJtYWluLWxpLWl0ZW1cIiBjbGVhcmFibGUgdi1tb2RlbD1cIml0ZW0yLm5hbWVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBjbGFzcz1cIm1haW4tbGktbGFiZWxcIj7lgLw8L0xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0IGNsYXNzPVwibWFpbi1saS1pdGVtXCIgIHYtbW9kZWw9XCJpdGVtMi52YWx1ZVwiIGNsZWFyYWJsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8T3B0aW9uIHYtZm9yPVwiaXRlbSBpbiByYWRpb0RhdGFcIiA6dmFsdWU9XCJpdGVtLnZhbHVlXCIgOmtleT1cIml0ZW0udmFsdWVcIj57eyBpdGVtLmtleSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9PcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGFiZWwgY2xhc3M9XCJtYWluLWxpLWxhYmVsXCI+5piv5ZCm6KKr6YCJ5LitPC9MYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGktc3dpdGNoIGNsYXNzPVwibWFpbi1saS1pdGVtLXN3aXRjaFwiIHYtbW9kZWw9XCJpdGVtMi5pc1NlbGVjdGVkXCI+PC9pLXN3aXRjaD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxpLWJ0bi1jaGlsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBAY2xpY2s9XCJkZWxPcHRpb25zQ2hpbGRBcnIoaW5kZXgsaW5kZXgyKVwiIHR5cGU9XCJlcnJvclwiPuWIoOmZpOWtkOmbhuaVsOe7hDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICA8L3VsPlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG4gICAgaW1wb3J0ICogYXMgY29tcG9uZW50cyBmcm9tICcuL3N0eWxlJztcclxuICAgIGltcG9ydCB7UHJvcGVydHlNaXhpbn0gZnJvbSAnLi4vLi4vc2VydmljZS9tYWluLXRvb2wtZWRpdG9yLXR5cGUtbWl4aW4nO1xyXG5cclxuICAgIGV4cG9ydCBkZWZhdWx0IHtcclxuICAgICAgICBjb21wb25lbnRzOiB7XHJcbiAgICAgICAgICAgIC4uLmNvbXBvbmVudHNcclxuICAgICAgICB9LFxyXG4gICAgICAgIG1peGluczogW1Byb3BlcnR5TWl4aW5dLFxyXG4gICAgICAgIHBvc2l0aW9uOiAnbWFpblRvb2xFZGl0b3JUeXBlTGlua0l0ZW1zJyxcclxuICAgICAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLWxpbmtJdGVtcycsXHJcbiAgICAgICAgZGF0YSgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHJhZGlvQXJyOiBbXSxcclxuICAgICAgICAgICAgICAgIHByb3BBcnI6IFtdLFxyXG4gICAgICAgICAgICAgICAgdmFsOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGFyckxpc3Q6IFtdXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtb3VudGVkKCkge1xyXG4gICAgICAgICAgICB0aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wdXRlZDoge1xyXG4gICAgICAgICAgICAvKmdldENoaWxkTGlzdCgpe1xyXG5cclxuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcy5nZXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgICAgICAvLyDkuLrkuovku7bmlrDlop7kuIDpoblcclxuICAgICAgICAgICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEubGlua2FnZUNoYW5nZVZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEubGlua2FnZUNoYW5nZVZhbHVlID0gW107XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLmxpbmthZ2VDaGFuZ2VWYWx1ZS52YWx1ZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5saW5rYWdlQ2hhbmdlVmFsdWUudmFsdWVzID0gW107XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudEluc3RhbmNlLmRhdGEubGlua2FnZUNoYW5nZVZhbHVlLnZhbHVlcztcclxuICAgICAgICAgICAgfSwqL1xyXG4gICAgICAgICAgICBnZXRBcnJMaXN0KCkge1xyXG5cclxuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2UgPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgLy8g5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLml0ZW1zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEuaXRlbXMgPSBbXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiBjdXJyZW50SW5zdGFuY2UuZGF0YS5pdGVtcztcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYXBwbGljYXRpb25TdGF0ZSgpIHtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUuYXBwbGljYXRpb247XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHZpZXdwb3J0U3RhdGUoKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQ7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIG9wdGlvbnNEYXRhKCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IF9kYXRhID0gdGhpcy5wcm9wQXJyIHx8IFtdO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9kYXRhO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICByYWRpb0RhdGEoKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgX2RhdGEgPSB0aGlzLnJhZGlvQXJyIHx8IFtdO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9kYXRhO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtZXRob2RzOiB7XHJcbiAgICAgICAgICAgIGRlbEFycihpbmRleCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9kZWxMaW5rSXRlbXNFdmVudEFycicsIHtpbmRleDogaW5kZXh9KTtcclxuICAgICAgICAgICAgICAgIC8qICB0aGlzLmFyckxpc3QucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogXCJpbnB1dDFcIixcclxuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogXCJpbnB1dDJcIlxyXG4gICAgICAgICAgICAgICAgICAgfSkqL1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBkZWxFeGFjdENoaWxkQXJyKHBhcmVudEluZGV4LCBpbmRleCkge1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvZGVsTGlua0V4YWN0RXZlbnRDaGlsZEFycicsIHtwYXJlbnRJbmRleDogcGFyZW50SW5kZXgsIGluZGV4OiBpbmRleH0pO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBkZWxPcHRpb25zQ2hpbGRBcnIocGFyZW50SW5kZXgsIGluZGV4KSB7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9kZWxMaW5rT3B0aW9uc0V2ZW50Q2hpbGRBcnInLCB7cGFyZW50SW5kZXg6IHBhcmVudEluZGV4LCBpbmRleDogaW5kZXh9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYWRkQXJyKCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9hZGRMaW5rSXRlbXNFdmVudEFycicsIHt9KTtcclxuICAgICAgICAgICAgICAgIC8qICB0aGlzLmFyckxpc3QucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogXCJpbnB1dDFcIixcclxuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogXCJpbnB1dDJcIlxyXG4gICAgICAgICAgICAgICAgICAgfSkqL1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBhZGRPcHRpb25zQ2hpbGRBcnIoaW5kZXgpIHtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L2FkZExpbmtPcHRpb25zRXZlbnRBcnInLCB7aW5kZXg6IGluZGV4fSk7XHJcbiAgICAgICAgICAgICAgICAvKiAgdGhpcy5hcnJMaXN0LnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6IFwiaW5wdXQxXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246IFwiaW5wdXQyXCJcclxuICAgICAgICAgICAgICAgICAgIH0pKi9cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYWRkRXhhY3RDaGlsZEFycihpbmRleCkge1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvYWRkTGlua0V4YWN0RXZlbnRBcnInLCB7aW5kZXg6IGluZGV4fSk7XHJcbiAgICAgICAgICAgICAgICAvKiAgdGhpcy5hcnJMaXN0LnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6IFwiaW5wdXQxXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246IFwiaW5wdXQyXCJcclxuICAgICAgICAgICAgICAgICAgIH0pKi9cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKCkge1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgd2F0Y2g6IHtcclxuICAgICAgICAgICAgdmFsKG4sIG8pIHtcclxuICAgICAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBpbnB1dDEobiwgbykge1xyXG4gICAgICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGlucHV0MihuLCBvKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobiA9PT0gbykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbW91bnRlZCgpIHtcclxuXHJcbiAgICAgICAgICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICAgICAgICAgIC8qIHRoaXMuJGh0dHAuZ2V0KCcvc3RhdGljL2RhdGEvcGFnZS1pZGUvMjAyLTEuanNvbicpLnRoZW4oKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgX3RoaXMucHJvcEFycj1yZXNwb25zZS5wcm9wQXJyO1xyXG4gICAgICAgICAgICAgICAgIF90aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICAgICAgICAgICB9KTsqL1xyXG4gICAgICAgICAgICB0aGlzLiRodHRwLmdldCgnL3N0YXRpYy9kYXRhL3BhZ2UtaWRlL3JhZGlvVHlwZS5qc29uJykudGhlbigocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgIF90aGlzLnJhZGlvQXJyID0gcmVzcG9uc2UucHJvcEFycjtcclxuICAgICAgICAgICAgICAgIF90aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICB9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtbGlua0l0ZW1zL2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///135\n");
961
962/***/ }),
963/* 136 */
964/***/ (function(module, exports, __webpack_require__) {
965
966"use strict";
967eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(472);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeLooktype',\n name: 'main-tool-editor-type-looktype',\n data: function data() {\n return {\n val: '',\n value: '',\n dataArr: [{\n \"label\": \"环评批复文号\",\n \"value\": \"1\"\n }, {\n \"label\": \"身份证号\",\n \"value\": \"2\"\n }, {\n \"label\": \"车牌号\",\n \"value\": \"3\"\n }, {\n \"label\": \"网签合同号\",\n \"value\": \"4\"\n }, {\n \"label\": \"申请号\",\n \"value\": \"5\"\n }, {\n \"label\": \"请求号查询\",\n \"value\": \"6\"\n }, {\n \"label\": \"房屋权属证号\",\n \"value\": \"7\"\n }, {\n \"label\": \"监管协议号\",\n \"value\": \"8\"\n }, {\n \"label\": \"小餐饮查询页面信息\",\n \"value\": \"9\"\n }, {\n \"label\": \"二手房合约备案卖家房屋产权证号\",\n \"value\": \"10\"\n }, {\n \"label\": \"网签合同号:先调合同变更申请方校验接口\",\n \"value\": \"11\"\n }, {\n \"label\": \"买方请求号查询\",\n \"value\": \"12\"\n }, {\n \"label\": \"请求号查询\",\n \"value\": \"13\"\n }, {\n \"label\": \"异地就医网上查询\",\n \"value\": \"14\"\n }, {\n \"label\": \"医保卡个人账户查询\",\n \"value\": \"15\"\n }, {\n \"label\": \"出具医疗(大额)保险费、生育保险费缴费电子发票查询\",\n \"value\": \"16\"\n }, {\n \"label\": \"卫生许可事项\",\n \"value\": \"18\"\n }]\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n debugger;\n\n var optionData = this.dataArr || [];\n\n var _data = optionData;\n return _data;\n }\n },\n methods: {\n initCurrtField: function initCurrtField() {\n debugger;\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n if (!currentInstance.excat) {\n currentInstance.excat = [{\n \"type\": \"\",\n \"data\": {\n \"type\": \"\",\n \"btnName\": \"\"\n }\n }];\n } else {\n this.val = currentInstance.excat[0].data.type;\n this.value = currentInstance.excat[0].data.btnName;\n }\n debugger;\n },\n handleChange: function handleChange() {}\n },\n mounted: function mounted() {\n debugger;\n this.initCurrtField();\n },\n\n watch: {}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1sb29rdHlwZS9pbmRleC52dWU/YTMxMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFpQkEsVTs7QUFDQTs7Ozs7O2tCQUNBO0FBQ0EsMkNBQ0EsVUFEQSxDQURBO0FBSUEsb0RBSkE7QUFLQSwwQ0FMQTtBQU1BLDBDQU5BO0FBT0EsUUFQQSxrQkFPQTtBQUNBO0FBQ0EsbUJBREE7QUFFQSxxQkFGQTtBQUdBLHNCQUNBO0FBQ0EsaUNBREE7QUFFQTtBQUZBLGFBREEsRUFLQTtBQUNBLCtCQURBO0FBRUE7QUFGQSxhQUxBLEVBU0E7QUFDQSw4QkFEQTtBQUVBO0FBRkEsYUFUQSxFQWFBO0FBQ0EsZ0NBREE7QUFFQTtBQUZBLGFBYkEsRUFpQkE7QUFDQSw4QkFEQTtBQUVBO0FBRkEsYUFqQkEsRUFxQkE7QUFDQSxnQ0FEQTtBQUVBO0FBRkEsYUFyQkEsRUF5QkE7QUFDQSxpQ0FEQTtBQUVBO0FBRkEsYUF6QkEsRUE2QkE7QUFDQSxnQ0FEQTtBQUVBO0FBRkEsYUE3QkEsRUFpQ0E7QUFDQSxvQ0FEQTtBQUVBO0FBRkEsYUFqQ0EsRUFvQ0E7QUFDQSwwQ0FEQTtBQUVBO0FBRkEsYUFwQ0EsRUF3Q0E7QUFDQSw4Q0FEQTtBQUVBO0FBRkEsYUF4Q0EsRUE0Q0E7QUFDQSxrQ0FEQTtBQUVBO0FBRkEsYUE1Q0EsRUFnREE7QUFDQSxnQ0FEQTtBQUVBO0FBRkEsYUFoREEsRUFvREE7QUFDQSxtQ0FEQTtBQUVBO0FBRkEsYUFwREEsRUF3REE7QUFDQSxvQ0FEQTtBQUVBO0FBRkEsYUF4REEsRUE0REE7QUFDQSxvREFEQTtBQUVBO0FBRkEsYUE1REEsRUFnRUE7QUFDQSxpQ0FEQTtBQUVBO0FBRkEsYUFoRUE7QUFIQTtBQXlFQSxLQWpGQTs7QUFrRkE7QUFDQSw0QkFEQTtBQUVBO0FBRkEsS0FsRkE7QUFzRkE7QUFDQSx3QkFEQSw4QkFDQTtBQUNBO0FBQ0EsU0FIQTtBQUlBLHFCQUpBLDJCQUlBO0FBQ0E7QUFDQSxTQU5BO0FBT0EsbUJBUEEseUJBT0E7QUFDQTs7QUFZQTs7QUFJQTtBQUNBO0FBQ0E7QUExQkEsS0F0RkE7QUFrSEE7QUFDQSxzQkFEQSw0QkFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBREE7QUFFQTtBQUNBLGtDQURBO0FBRUE7QUFGQTtBQUZBO0FBT0EsYUFSQSxNQVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQWpCQTtBQWtCQSxvQkFsQkEsMEJBa0JBLENBRUE7QUFwQkEsS0FsSEE7QUF3SUEsV0F4SUEscUJBd0lBO0FBQ0E7QUFDQTtBQUNBLEtBM0lBOztBQTRJQTtBQTVJQSxDIiwiZmlsZSI6IjEzNi5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxyXG4gICAgICAgIDxMYWJlbD7pgInpobnnsbvlnos8L0xhYmVsPlxyXG4gICAgICAgIDxDb250YWluZXI+XHJcbiAgICAgICAgICAgIDxTZWxlY3Qgdi1tb2RlbD1cInZhbFwiIHN0eWxlPVwid2lkdGg6OTYuNSU7bWF4LXdpZHRoOiAyNTRweDtcIiA+XHJcbiAgICAgICAgICAgICAgICA8T3B0aW9uIHN0eWxlPVwibWF4LXdpZHRoOiAyNTRweDtcIiB2LWZvcj1cIml0ZW0gaW4gb3B0aW9uc0RhdGFcIiA6dmFsdWU9XCJpdGVtLnZhbHVlfHwnJ1wiIDprZXk9XCJpdGVtLnZhbHVlXCI+e3sgaXRlbS5sYWJlbCB9fTwvT3B0aW9uPlxyXG4gICAgICAgICAgICA8L1NlbGVjdD5cclxuXHJcbiAgICAgICAgPC9Db250YWluZXI+XHJcbiAgICAgICAgPExhYmVsPuivt+i+k+WFpeaMiemSruWQjeensDwvTGFiZWw+XHJcbiAgICAgICAgPENvbnRhaW5lcj5cclxuICAgICAgICA8SW5wdXQgdi1tb2RlbD1cInZhbHVlXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXmjInpkq7lkI3np7BcIiBjbGVhcmFibGUgc3R5bGU9XCJ3aWR0aDogMzAwcHhcIiAvPlxyXG4gICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG4gICAgaW1wb3J0ICogYXMgY29tcG9uZW50cyBmcm9tICcuL3N0eWxlJztcclxuICAgIGltcG9ydCB7UHJvcGVydHlNaXhpbn0gZnJvbSAnLi4vLi4vc2VydmljZS9tYWluLXRvb2wtZWRpdG9yLXR5cGUtbWl4aW4nO1xyXG4gICAgZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgICAgIGNvbXBvbmVudHM6IHtcclxuICAgICAgICAgICAgLi4uY29tcG9uZW50c1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWl4aW5zOiBbUHJvcGVydHlNaXhpbl0sXHJcbiAgICAgICAgcG9zaXRpb246ICdtYWluVG9vbEVkaXRvclR5cGVMb29rdHlwZScsXHJcbiAgICAgICAgbmFtZTogJ21haW4tdG9vbC1lZGl0b3ItdHlwZS1sb29rdHlwZScsXHJcbiAgICAgICAgZGF0YSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICB2YWw6JycsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTonJyxcclxuICAgICAgICAgICAgICAgIGRhdGFBcnI6W1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOlwi546v6K+E5om55aSN5paH5Y+3XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjpcIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsXCI6XCLouqvku73or4Hlj7dcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOlwiMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjpcIui9pueJjOWPt1wiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbHVlXCI6XCIzXCJcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOlwi572R562+5ZCI5ZCM5Y+3XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjpcIjRcIlxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsXCI6XCLnlLPor7flj7dcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOlwiNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjpcIuivt+axguWPt+afpeivolwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbHVlXCI6XCI2XCJcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOlwi5oi/5bGL5p2D5bGe6K+B5Y+3XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjpcIjdcIlxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsXCI6XCLnm5HnrqHljY/orq7lj7dcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOlwiOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjpcIuWwj+mkkOmlruafpeivoumhtemdouS/oeaBr1wiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbHVlXCI6XCI5XCJcclxuICAgICAgICAgICAgICAgICAgICB9LHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOlwi5LqM5omL5oi/5ZCI57qm5aSH5qGI5Y2W5a625oi/5bGL5Lqn5p2D6K+B5Y+3XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjpcIjEwXCJcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOlwi572R562+5ZCI5ZCM5Y+377ya5YWI6LCD5ZCI5ZCM5Y+Y5pu055Sz6K+35pa55qCh6aqM5o6l5Y+jXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjpcIjExXCJcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOlwi5Lmw5pa56K+35rGC5Y+35p+l6K+iXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjpcIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOlwi6K+35rGC5Y+35p+l6K+iXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjpcIjEzXCJcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOlwi5byC5Zyw5bCx5Yy7572R5LiK5p+l6K+iXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjpcIjE0XCJcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOlwi5Yy75L+d5Y2h5Liq5Lq66LSm5oi35p+l6K+iXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjpcIjE1XCJcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOlwi5Ye65YW35Yy755aX77yI5aSn6aKd77yJ5L+d6Zmp6LS544CB55Sf6IKy5L+d6Zmp6LS557y06LS555S15a2Q5Y+R56Wo5p+l6K+iXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjpcIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOlwi5Y2r55Sf6K645Y+v5LqL6aG5XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjpcIjE4XCJcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSxcclxuICAgICAgICBwcm9wczoge1xyXG4gICAgICAgICAgICBpbnN0YW5jZUluZm86IE9iamVjdCxcclxuICAgICAgICAgICAgZWRpdG9yOiBPYmplY3RcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXB1dGVkOiB7XHJcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uU3RhdGUgKCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB2aWV3cG9ydFN0YXRlICgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgb3B0aW9uc0RhdGEgKCkge1xyXG4gICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgIC8qIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInBhZ2VcIikgJiYgbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwYWdlXCIpICE9IG51bGwpIHtcclxuXHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC8hKnRoaXMuJE1vZGFsLnN1Y2Nlc3Moe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLlj4vmg4Xmj5DnpLpcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCLor7flhYjlhajlsYDorr7nva7vvIFcIlxyXG4gICAgICAgICAgICAgICAgICAgIH0pOyohL1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxldCBwYWdlT2JqID0gZXZhbCgnKCcgKyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInBhZ2VcIikgKyAnKScpOy8vSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInBhZ2VcIikpO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2cocGFnZU9iaik7Ki9cclxuICAgICAgICAgICAgICAgIGxldCBvcHRpb25EYXRhPSB0aGlzLmRhdGFBcnJ8fFtdO1xyXG4gICAgICAgICAgICAgIC8qICBvcHRpb25EYXRhLmZvckVhY2goZnVuY3Rpb24gKGVsLGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZWwuc2VsZWN0TmFtZT1cInRlbXBsYXRlQ2FjaGUuXCIrZWwubGFiZWw7XHJcbiAgICAgICAgICAgICAgICB9KTsqL1xyXG4gICAgICAgICAgICAgICAgbGV0IF9kYXRhID0gIG9wdGlvbkRhdGE7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gX2RhdGE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIG1ldGhvZHM6IHtcclxuICAgICAgICAgICAgaW5pdEN1cnJ0RmllbGQgKCkge1xyXG4gICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlID0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzLmdldCh0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmV4Y2F0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmV4Y2F0PVt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOlwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZGF0YVwiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYnRuTmFtZVwiOlwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1dO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWw9IGN1cnJlbnRJbnN0YW5jZS5leGNhdFswXS5kYXRhLnR5cGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZT0gY3VycmVudEluc3RhbmNlLmV4Y2F0WzBdLmRhdGEuYnRuTmFtZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGRlYnVnZ2VyXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGhhbmRsZUNoYW5nZSAoKSB7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtb3VudGVkKCkge1xyXG4gICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgdGhpcy5pbml0Q3VycnRGaWVsZCgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgd2F0Y2g6IHtcclxuICAgICAgICAgICAvKiBmaWVsZCAobiwgbykge1xyXG4gICAgICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBkZWVwOnRydWUvL+WvueixoeWGhemDqOeahOWxnuaAp+ebkeWQrO+8jOS5n+WPq+a3seW6puebkeWQrFxyXG4gICAgICAgICAgICAgICAgLy8gIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdmFsIChuLCBvKSB7XHJcbiAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgICAgICB9Ki9cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxvb2t0eXBlL2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///136\n");
968
969/***/ }),
970/* 137 */
971/***/ (function(module, exports, __webpack_require__) {
972
973"use strict";
974eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(477);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeLookup',\n name: 'main-tool-editor-type-lookup',\n data: function data() {\n return {\n val: '',\n dataArr: [{\n \"label\": \"lookup-fee 查看收费标准\",\n \"value\": \"lookup-fee\"\n }, {\n \"label\": \"lookup-map 查看地图\",\n \"value\": \"lookup-map\"\n }, {\n \"label\": \"lookup-number 查看编号\",\n \"value\": \"lookup-number\"\n }, {\n \"label\": \"lookup-project 查看项目\",\n \"value\": \"lookup-project\"\n }, {\n \"label\": \"lookup-sample 查看材料样本\",\n \"value\": \"lookup-sample\"\n }]\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n var optionData = this.dataArr || [];\n\n var _data = optionData;\n return _data;\n }\n },\n methods: {\n updateType: function updateType(val) {\n debugger;\n },\n initCurrtField: function initCurrtField() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n if (!currentInstance.excat) {\n currentInstance.excat = [{\n \"type\": \"\",\n \"data\": {}\n }];\n } else {\n this.val = currentInstance.excat[0].type;\n }\n debugger;\n },\n handleChange: function handleChange() {}\n },\n mounted: function mounted() {\n debugger;\n this.initCurrtField();\n },\n\n watch: {}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1sb29rdXAvaW5kZXgudnVlP2NiYjkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBWUEsVTs7QUFDQTs7Ozs7O2tCQUNBO0FBQ0EsMkNBQ0EsVUFEQSxDQURBO0FBSUEsb0RBSkE7QUFLQSx3Q0FMQTtBQU1BLHdDQU5BO0FBT0EsUUFQQSxrQkFPQTtBQUNBO0FBQ0EsbUJBREE7QUFFQSxzQkFDQTtBQUNBLDRDQURBO0FBRUE7QUFGQSxhQURBLEVBS0E7QUFDQSwwQ0FEQTtBQUVBO0FBRkEsYUFMQSxFQVNBO0FBQ0EsNkNBREE7QUFFQTtBQUZBLGFBVEEsRUFhQTtBQUNBLDhDQURBO0FBRUE7QUFGQSxhQWJBLEVBaUJBO0FBQ0EsK0NBREE7QUFFQTtBQUZBLGFBakJBO0FBRkE7QUF5QkEsS0FqQ0E7O0FBa0NBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLEtBbENBO0FBc0NBO0FBQ0Esd0JBREEsOEJBQ0E7QUFDQTtBQUNBLFNBSEE7QUFJQSxxQkFKQSwyQkFJQTtBQUNBO0FBQ0EsU0FOQTtBQU9BLG1CQVBBLHlCQU9BO0FBWUE7O0FBSUE7QUFDQTtBQUNBO0FBekJBLEtBdENBO0FBaUVBO0FBQ0Esa0JBREEsc0JBQ0EsR0FEQSxFQUNBO0FBQ0E7QUFDQSxTQUhBO0FBSUEsc0JBSkEsNEJBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFEQTtBQUVBO0FBRkE7QUFNQSxhQVBBLE1BT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQWpCQTtBQWtCQSxvQkFsQkEsMEJBa0JBLENBRUE7QUFwQkEsS0FqRUE7QUF1RkEsV0F2RkEscUJBdUZBO0FBQ0E7QUFDQTtBQUNBLEtBMUZBOztBQTJGQTtBQTNGQSxDIiwiZmlsZSI6IjEzNy5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxyXG4gICAgICAgIDxMYWJlbD7mn6XnnIvnsbvlnos8L0xhYmVsPlxyXG4gICAgICAgIDxDb250YWluZXI+XHJcbiAgICAgICAgPFNlbGVjdCB2LW1vZGVsPVwidmFsXCIgQG9uLWNoYW5nZT1cInVwZGF0ZVR5cGVcIiBzdHlsZT1cIndpZHRoOjk2LjUlO1wiID5cclxuICAgICAgICAgICAgPE9wdGlvbiB2LWZvcj1cIml0ZW0gaW4gb3B0aW9uc0RhdGFcIiA6dmFsdWU9XCJpdGVtLnZhbHVlfHwnJ1wiIDprZXk9XCJpdGVtLnZhbHVlXCI+e3sgaXRlbS5sYWJlbCB9fTwvT3B0aW9uPlxyXG4gICAgICAgIDwvU2VsZWN0PlxyXG4gICAgPC9Db250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbiAgICBpbXBvcnQgKiBhcyBjb21wb25lbnRzIGZyb20gJy4vc3R5bGUnO1xyXG4gICAgaW1wb3J0IHtQcm9wZXJ0eU1peGlufSBmcm9tICcuLi8uLi9zZXJ2aWNlL21haW4tdG9vbC1lZGl0b3ItdHlwZS1taXhpbic7XHJcbiAgICBleHBvcnQgZGVmYXVsdCB7XHJcbiAgICAgICAgY29tcG9uZW50czoge1xyXG4gICAgICAgICAgICAuLi5jb21wb25lbnRzXHJcbiAgICAgICAgfSxcclxuICAgICAgICBtaXhpbnM6IFtQcm9wZXJ0eU1peGluXSxcclxuICAgICAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yVHlwZUxvb2t1cCcsXHJcbiAgICAgICAgbmFtZTogJ21haW4tdG9vbC1lZGl0b3ItdHlwZS1sb29rdXAnLFxyXG4gICAgICAgIGRhdGEgKCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgdmFsOicnLFxyXG4gICAgICAgICAgICAgICAgZGF0YUFycjpbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsXCI6XCJsb29rdXAtZmVlIOafpeeci+aUtui0ueagh+WHhlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbHVlXCI6XCJsb29rdXAtZmVlXCJcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOlwibG9va3VwLW1hcCDmn6XnnIvlnLDlm75cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOlwibG9va3VwLW1hcFwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjpcImxvb2t1cC1udW1iZXIg5p+l55yL57yW5Y+3XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjpcImxvb2t1cC1udW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsXCI6XCJsb29rdXAtcHJvamVjdCDmn6XnnIvpobnnm65cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOlwibG9va3VwLXByb2plY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsXCI6XCJsb29rdXAtc2FtcGxlIOafpeeci+adkOaWmeagt+acrFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbHVlXCI6XCJsb29rdXAtc2FtcGxlXCJcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSxcclxuICAgICAgICBwcm9wczoge1xyXG4gICAgICAgICAgICBpbnN0YW5jZUluZm86IE9iamVjdCxcclxuICAgICAgICAgICAgZWRpdG9yOiBPYmplY3RcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXB1dGVkOiB7XHJcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uU3RhdGUgKCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB2aWV3cG9ydFN0YXRlICgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgb3B0aW9uc0RhdGEgKCkge1xyXG4gICAgICAgICAgICAgICAvKiBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwYWdlXCIpICYmIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwicGFnZVwiKSAhPSBudWxsKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAvISp0aGlzLiRNb2RhbC5zdWNjZXNzKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5Y+L5oOF5o+Q56S6XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwi6K+35YWI5YWo5bGA6K6+572u77yBXCJcclxuICAgICAgICAgICAgICAgICAgICB9KTsqIS9cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgcGFnZU9iaiA9IGV2YWwoJygnICsgbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwYWdlXCIpICsgJyknKTsvL0pTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwYWdlXCIpKTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHBhZ2VPYmopOyovXHJcbiAgICAgICAgICAgICAgICBsZXQgb3B0aW9uRGF0YT0gdGhpcy5kYXRhQXJyfHxbXTtcclxuICAgICAgICAgICAgICAvKiAgb3B0aW9uRGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChlbCxpbmRleCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGVsLnNlbGVjdE5hbWU9XCJ0ZW1wbGF0ZUNhY2hlLlwiK2VsLmxhYmVsO1xyXG4gICAgICAgICAgICAgICAgfSk7Ki9cclxuICAgICAgICAgICAgICAgIGxldCBfZGF0YSA9ICBvcHRpb25EYXRhO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9kYXRhO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtZXRob2RzOiB7XHJcbiAgICAgICAgICAgIHVwZGF0ZVR5cGUodmFsKXtcclxuICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBpbml0Q3VycnRGaWVsZCAoKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlID0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzLmdldCh0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmV4Y2F0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmV4Y2F0PVt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOlwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZGF0YVwiOiB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfV07XHJcbiAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbD0gY3VycmVudEluc3RhbmNlLmV4Y2F0WzBdLnR5cGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBkZWJ1Z2dlclxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBoYW5kbGVDaGFuZ2UgKCkge1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbW91bnRlZCgpIHtcclxuICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdEN1cnJ0RmllbGQoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHdhdGNoOiB7XHJcbiAgICAgICAgICAgLyogZmllbGQgKG4sIG8pIHtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAobiA9PT0gbykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGRlZXA6dHJ1ZS8v5a+56LGh5YaF6YOo55qE5bGe5oCn55uR5ZCs77yM5Lmf5Y+r5rex5bqm55uR5ZCsXHJcblxyXG4gICAgICAgICAgICAgICAgLy8gIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdmFsIChuLCBvKSB7XHJcbiAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgICAgICB9Ki9cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxvb2t1cC9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///137\n");
975
976/***/ }),
977/* 138 */
978/***/ (function(module, exports, __webpack_require__) {
979
980"use strict";
981eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(482);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeNumber',\n name: 'main-tool-editor-type-number',\n computed: {\n currentEditInstanceKey: function currentEditInstanceKey() {\n var currentEditInstanceKey = this.$store.state.viewport.currentEditInstanceKey;\n return currentEditInstanceKey;\n }\n },\n methods: {\n listenerMaxFont: function listenerMaxFont(el) {\n if (el > parseInt(this.editor.maxFont)) {\n this.noValidate = false;\n } else {\n this.noValidate = true;\n }\n }\n },\n mounted: function mounted() {\n debugger;\n this.initCurrtField();\n this.setInstanceProps(this.value);\n this.listenerMaxFont(this.value);\n },\n data: function data() {\n return {\n noValidate: true,\n value: this.editor.value || ''\n };\n },\n\n watch: {\n field: function field(n, o) {\n if (n === o) {\n return;\n }\n deep: true;\n },\n value: function value(n, o) {\n if (n === o) {\n return;\n }\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n if (this.editor.field == \"extend.placeholder\") {\n if (currentInstance.data.validateArr[0].required) {\n this.setInstanceProps(n + '(必填)');\n return;\n }\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1udW1iZXIvaW5kZXgudnVlPzUzYWIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBa0JBLFU7O0FBQ0E7Ozs7OztrQkFFQTtBQUNBLDJDQUNBLFVBREEsQ0FEQTtBQUlBLG9EQUpBO0FBS0Esd0NBTEE7QUFNQSx3Q0FOQTtBQU9BO0FBQ0EsOEJBREEsb0NBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQSxLQVBBO0FBYUE7QUFDQSx1QkFEQSwyQkFDQSxFQURBLEVBQ0E7QUFDQTtBQUVBO0FBQ0EsYUFIQSxNQUdBO0FBQ0E7QUFDQTtBQUNBO0FBUkEsS0FiQTtBQXVCQSxXQXZCQSxxQkF1QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBNUJBO0FBNkJBLFFBN0JBLGtCQTZCQTtBQUNBO0FBQ0EsNEJBREE7QUFFQTtBQUZBO0FBSUEsS0FsQ0E7O0FBbUNBO0FBQ0EsYUFEQSxpQkFDQSxDQURBLEVBQ0EsQ0FEQSxFQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxTQVBBO0FBUUEsYUFSQSxpQkFRQSxDQVJBLEVBUUEsQ0FSQSxFQVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBckJBO0FBbkNBLEMiLCJmaWxlIjoiMTM4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cInRvb2wtdHlwZS1zdHJpbmdcIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sLXR5cGUtZGl2XCI+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwiZWRpdG9yVGV4dFN0eWxlXCI+XHJcbiAgICAgICAgICAgICAgICB7e2VkaXRvci50ZXh0fX1cclxuICAgICAgICAgICAgICAgIDxzcGFuIDpjbGFzcz1cIm5vVmFsaWRhdGU/J2VkaXRvck1heEZvbnRTdHlsZSc6J2VkaXRvck1heEZvbnRTdHlsZUZhbHNlJ1wiICB2LWlmPVwiZWRpdG9yLm1heEZvbnRcIj7mnIDlpJp7e2VkaXRvci5tYXhGb250fX3ooYw8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgPHA+XHJcbiAgICAgICAgICAgICAgICA8SW5wdXROdW1iZXIgIDpjbGFzcz1cIm5vVmFsaWRhdGU/J2VkaXRvcklucHV0JzonZWRpdG9ySW5wdXRGYWxzZSdcIiAgdi1tb2RlbD1cInZhbHVlXCIgcGxhY2Vob2xkZXI9XCJcIiBAb24tYmx1cj1cImxpc3RlbmVyTWF4Rm9udCh2YWx1ZSlcIiAgY2xlYXJhYmxlICAvPlxyXG4gICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwiZWRpdG9yQ29udGVudFN0eWxlXCIgdi1pZj1cImVkaXRvci5tYXhJbnB1dEZvbnRcIj5cclxuICAgICAgICAgICAgICAgIOacgOWkmnt7ZWRpdG9yLm1heElucHV0Rm9udH196KGMXHJcbiAgICAgICAgICAgIDwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIGltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbiAgICBpbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuXHJcbiAgICBleHBvcnQgZGVmYXVsdCB7XHJcbiAgICAgICAgY29tcG9uZW50czoge1xyXG4gICAgICAgICAgICAuLi5jb21wb25lbnRzXHJcbiAgICAgICAgfSxcclxuICAgICAgICBtaXhpbnM6IFtQcm9wZXJ0eU1peGluXSxcclxuICAgICAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yVHlwZU51bWJlcicsXHJcbiAgICAgICAgbmFtZTogJ21haW4tdG9vbC1lZGl0b3ItdHlwZS1udW1iZXInLFxyXG4gICAgICAgIGNvbXB1dGVkOiB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRFZGl0SW5zdGFuY2VLZXkoKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudEVkaXRJbnN0YW5jZUtleSA9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudEVkaXRJbnN0YW5jZUtleTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWV0aG9kczoge1xyXG4gICAgICAgICAgICBsaXN0ZW5lck1heEZvbnQoZWwpe1xyXG4gICAgICAgICAgICAgICAgaWYoZWw+cGFyc2VJbnQodGhpcy5lZGl0b3IubWF4Rm9udCkpe1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMudmFsXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub1ZhbGlkYXRlPWZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub1ZhbGlkYXRlPXRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIG1vdW50ZWQoKSB7XHJcbiAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICB0aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyh0aGlzLnZhbHVlKTtcclxuICAgICAgICAgICAgdGhpcy5saXN0ZW5lck1heEZvbnQodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBkYXRhKCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgbm9WYWxpZGF0ZTp0cnVlLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuZWRpdG9yLnZhbHVlIHx8ICcnXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHdhdGNoOiB7XHJcbiAgICAgICAgICAgIGZpZWxkKG4sIG8pIHtcclxuICAgICAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZGVlcDp0cnVlLy/lr7nosaHlhoXpg6jnmoTlsZ7mgKfnm5HlkKzvvIzkuZ/lj6vmt7Hluqbnm5HlkKxcclxuICAgICAgICAgICAgICAgIC8vICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHZhbHVlKG4sIG8pIHtcclxuICAgICAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZSA9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcy5nZXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmVkaXRvci5maWVsZD09XCJleHRlbmQucGxhY2Vob2xkZXJcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOWmguaenOimgeaYr+aWh+acrOaPkOekuuahhiAg5Yik5pat5piv5ZCm5piv5b+F5aGr77yM5bCx5re75Yqg77yI5b+F5aGr77yJXHJcbiAgICAgICAgICAgICAgICAgICAgaWYoY3VycmVudEluc3RhbmNlLmRhdGEudmFsaWRhdGVBcnJbMF0ucmVxdWlyZWQpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobisnKOW/heWhqyknKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIHNjb3BlZCBsYW5nPVwibGVzc1wiPlxyXG4gICAgLnRvb2wtdHlwZS1zdHJpbmcge1xyXG4gICAgICAgIG1hcmdpbjogMTBweCA4cHggMDtcclxuICAgICAgICAudG9vbC10eXBlLWRpdiAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCA4cHggMDtcclxuICAgICAgICAgICAgLmVkaXRvclRleHRTdHlsZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICMxOTFmMjU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICAgICAgICAgICAgICAuZWRpdG9yTWF4Rm9udFN0eWxlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgyNSwzMSwzNywuNCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmVkaXRvck1heEZvbnRTdHlsZUZhbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5lZGl0b3JJbnB1dCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmVkaXRvcklucHV0RmFsc2Uge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCByZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmVkaXRvckNvbnRlbnRTdHlsZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDhweCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pdnUtaW5wdXQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLml2dS1pbnB1dCB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgfVxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtbnVtYmVyL2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///138\n");
982
983/***/ }),
984/* 139 */
985/***/ (function(module, exports, __webpack_require__) {
986
987"use strict";
988eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(487);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nvar _mainToolEditorTypeBoxValidateArr = __webpack_require__(21);\n\nvar _mainToolEditorTypeBoxValidateArr2 = _interopRequireDefault(_mainToolEditorTypeBoxValidateArr);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components, {\n validateArr: _mainToolEditorTypeBoxValidateArr2.default\n }),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeRadioHeightLevel',\n name: 'main-tool-editor-type-radioHeightLevel',\n data: function data() {\n return {\n value: this.editor.value || false\n };\n },\n mounted: function mounted() {\n this.initCurrtField();\n this.setInstanceProps(this.value);\n },\n\n computed: {\n getRomout: function getRomout() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n if (!currentInstance.data.property.dynamic) {\n currentInstance.data.property.dynamic = {\n label: \"\",\n value: \"\",\n url: \"\",\n paramsList: []\n };\n }\n return currentInstance.data.property.dynamic;\n },\n applicationState: function applicationState() {\n\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n }\n },\n methods: {\n changeVal: function changeVal(el) {\n\n debugger;\n },\n handleChange: function handleChange() {}\n },\n watch: {\n getRomout: function getRomout(n, o) {},\n value: function value(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yYWRpb0hlaWdodExldmVsL2luZGV4LnZ1ZT81NzMwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQWFBLFU7O0FBQ0E7O0FBQ0E7Ozs7Ozs7O2tCQUVBO0FBQ0EsMkNBQ0EsVUFEQTtBQUVBO0FBRkEsTUFEQTtBQUtBLG9EQUxBO0FBTUEsa0RBTkE7QUFPQSxrREFQQTtBQVFBLFFBUkEsa0JBUUE7QUFDQTtBQUNBO0FBREE7QUFHQSxLQVpBO0FBYUEsV0FiQSxxQkFhQTtBQUNBO0FBQ0E7QUFDQSxLQWhCQTs7QUFpQkE7QUFDQSxpQkFEQSx1QkFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw2QkFEQTtBQUVBLDZCQUZBO0FBR0EsMkJBSEE7QUFJQTtBQUpBO0FBTUE7QUFDQTtBQUNBLFNBYkE7QUFjQSx3QkFkQSw4QkFjQTs7QUFFQTtBQUNBLFNBakJBO0FBa0JBLHFCQWxCQSwyQkFrQkE7QUFDQTtBQUNBO0FBcEJBLEtBakJBO0FBdUNBO0FBQ0EsaUJBREEscUJBQ0EsRUFEQSxFQUNBOztBQUVBO0FBQ0EsU0FKQTtBQUtBLG9CQUxBLDBCQUtBLENBRUE7QUFQQSxLQXZDQTtBQWdEQTtBQUNBLGlCQURBLHFCQUNBLENBREEsRUFDQSxDQURBLEVBQ0EsQ0FFQSxDQUhBO0FBSUEsYUFKQSxpQkFJQSxDQUpBLEVBSUEsQ0FKQSxFQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVRBO0FBaERBLEMiLCJmaWxlIjoiMTM5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gICAgPGRpdiBzdHlsZT1cIndpZHRoOjEwMCVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1zdHlsZVwiPlxyXG4gICAgICAgICAgICA8aS1zd2l0Y2ggdi1tb2RlbD1cInZhbHVlXCI+PC9pLXN3aXRjaD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IHYtc2hvdz1cInZhbHVlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZS1zdHlsZVwiPuagoemqjDwvZGl2PlxyXG4gICAgICAgICAgICA8dmFsaWRhdGVBcnI+PC92YWxpZGF0ZUFycj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIGltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbiAgICBpbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuICAgIGltcG9ydCB2YWxpZGF0ZUFyciBmcm9tICcuLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXZhbGlkYXRlQXJyJztcclxuXHJcbiAgICBleHBvcnQgZGVmYXVsdCB7XHJcbiAgICAgICAgY29tcG9uZW50czoge1xyXG4gICAgICAgICAgICAuLi5jb21wb25lbnRzLFxyXG4gICAgICAgICAgICB2YWxpZGF0ZUFyclxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWl4aW5zOiBbUHJvcGVydHlNaXhpbl0sXHJcbiAgICAgICAgcG9zaXRpb246ICdtYWluVG9vbEVkaXRvclR5cGVSYWRpb0hlaWdodExldmVsJyxcclxuICAgICAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLXJhZGlvSGVpZ2h0TGV2ZWwnLFxyXG4gICAgICAgIGRhdGEoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5lZGl0b3IudmFsdWUgfHwgZmFsc2VcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG1vdW50ZWQoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdEN1cnJ0RmllbGQoKTtcclxuICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKHRoaXMudmFsdWUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICAgICAgZ2V0Um9tb3V0KCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZSA9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcy5nZXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgICAgICAvL25vdGUg5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmR5bmFtaWMpIHtcclxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5wcm9wZXJ0eS5keW5hbWljID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zTGlzdDogW11cclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmR5bmFtaWM7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uU3RhdGUoKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB2aWV3cG9ydFN0YXRlKCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtZXRob2RzOiB7XHJcbiAgICAgICAgICAgIGNoYW5nZVZhbChlbCkge1xyXG5cclxuICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBoYW5kbGVDaGFuZ2UoKSB7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICB3YXRjaDoge1xyXG4gICAgICAgICAgICBnZXRSb21vdXQobiwgbykge1xyXG5cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdmFsdWUobiwgbykge1xyXG4gICAgICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBzY29wZWQ+XHJcblxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yYWRpb0hlaWdodExldmVsL2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///139\n");
989
990/***/ }),
991/* 140 */
992/***/ (function(module, exports, __webpack_require__) {
993
994"use strict";
995eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(492);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeRadioSelect',\n name: 'main-tool-editor-type-radioSelect',\n data: function data() {\n return {\n val: false,\n isLevel: false,\n arrList: []\n };\n },\n mounted: function mounted() {\n debugger;\n console.log(this.editor.isLevel);\n this.initCurrtField();\n },\n\n computed: {\n getArrList: function getArrList() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n this.isLevel = currentInstance.data.isLevel;\n if (this.isLevel) {\n if (!currentInstance.data.radioArr) {\n currentInstance.data.radioArr = [];\n }\n } else {\n if (!currentInstance.data.radioArr) {\n currentInstance.data.radioArr = [{\n label: \"选项1\",\n value: \"选项1\"\n }, {\n label: \"选项2\",\n value: \"选项2\"\n }, {\n label: \"选项3\",\n value: \"选项3\"\n }];\n }\n }\n\n return currentInstance.data.radioArr;\n },\n applicationState: function applicationState() {\n\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n }\n },\n methods: {\n setRadioValue: function setRadioValue(item) {\n debugger;\n console.log(item);\n if (item) {\n item.value = item.label;\n }\n },\n delArr: function delArr(index) {\n this.$store.commit('viewport/delRadioEventArr', { index: index });\n },\n addArr: function addArr() {\n this.$store.commit('viewport/addRadioEventArr', {});\n },\n handleChange: function handleChange() {}\n },\n watch: {\n val: function val(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input1: function input1(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input2: function input2(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yYWRpb1NlbGVjdC9pbmRleC52dWU/MDg5YyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUF5QkEsVTs7QUFDQTs7Ozs7O2tCQUNBO0FBQ0EsMkNBQ0EsVUFEQSxDQURBO0FBSUEsb0RBSkE7QUFLQSw2Q0FMQTtBQU1BLDZDQU5BO0FBT0EsUUFQQSxrQkFPQTtBQUNBO0FBQ0Esc0JBREE7QUFFQSwwQkFGQTtBQUdBO0FBSEE7QUFLQSxLQWJBO0FBY0EsV0FkQSxxQkFjQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBbEJBOztBQW1CQTtBQUVBLGtCQUZBLHdCQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFMQSxNQUtBO0FBRUE7QUFDQTtBQUNBLG9DQURBO0FBRUE7QUFGQSx1QkFHQTtBQUNBLG9DQURBO0FBRUE7QUFGQSxxQkFIQSxFQU1BO0FBQ0Esb0NBREE7QUFFQTtBQUZBLHFCQU5BO0FBVUE7QUFDQTs7QUFFQTtBQUNBLFNBM0JBO0FBNEJBLHdCQTVCQSw4QkE0QkE7O0FBRUE7QUFDQSxTQS9CQTtBQWdDQSxxQkFoQ0EsMkJBZ0NBO0FBQ0E7QUFDQTtBQWxDQSxLQW5CQTtBQXVEQTtBQUNBLHFCQURBLHlCQUNBLElBREEsRUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQVBBO0FBUUEsY0FSQSxrQkFRQSxLQVJBLEVBUUE7QUFDQTtBQUNBLFNBVkE7QUFXQSxjQVhBLG9CQVdBO0FBQ0E7QUFDQSxTQWJBO0FBY0Esb0JBZEEsMEJBY0EsQ0FFQTtBQWhCQSxLQXZEQTtBQXlFQTtBQUNBLFdBREEsZUFDQSxDQURBLEVBQ0EsQ0FEQSxFQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQU5BO0FBT0EsY0FQQSxrQkFPQSxDQVBBLEVBT0EsQ0FQQSxFQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQVpBO0FBYUEsY0FiQSxrQkFhQSxDQWJBLEVBYUEsQ0FiQSxFQWFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWxCQTtBQXpFQSxDIiwiZmlsZSI6IjE0MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJ0b29sLXR5cGUtcmFkaW9BcnJcIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyYWRpb0Fyci10b29sLXR5cGUtZGl2XCI+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwicmFkaW9BcnItZWRpdG9yVGV4dFN0eWxlXCI+XHJcbiAgICAgICAgICAgICAgICDpgInpoblcclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmFkaW9BcnItZWRpdG9yTWF4Rm9udFN0eWxlXCI+5pyA5aSaMjAw6aG577yM5q+P6aG55pyA5aSaNTDlrZc8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8IS0tPHNwYW4gY2xhc3M9XCJlZGl0b3JNYXhGb250U3R5bGVcIiAgdi1pZj1cImVkaXRvci5tYXhGb250XCI+5pyA5aSaMjAw6aG577yM5q+P6aG55pyA5aSae3tlZGl0b3IubWF4Rm9udH195a2XPC9zcGFuPi0tPlxyXG4gICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPHRlbXBsYXRlIHYtaWY9XCJpc0xldmVsPT10cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPuaVsOaNrumAmui/h+WQjuWPsOaOpeWPo+iOt+WPljwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPHRlbXBsYXRlIHYtZWxzZT5cclxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIlwiIHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIGdldEFyckxpc3RcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dCB2LW1vZGVsPVwiaXRlbS5sYWJlbFwiIG1heGxlbmd0aD1cIjUwXCIgY2xlYXJhYmxlIEBvbi1jaGFuZ2U9XCJzZXRSYWRpb1ZhbHVlKGl0ZW0pXCIgIGNsYXNzPVwicmFkaW9BcnItZWRpdG9ySW5wdXRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbmZvbnQgaWNvbi1yZWNhLWljb25fcm91bmRyZWR1Y2VcIiBAY2xpY2s9XCJkZWxBcnIoaW5kZXgpXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb25mb250IGljb24tcmVjYS1pY29uX3JvdW5kYWRkIFwiIEBjbGljaz1cImFkZEFycigpXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbiAgICBpbXBvcnQgKiBhcyBjb21wb25lbnRzIGZyb20gJy4vc3R5bGUnO1xyXG4gICAgaW1wb3J0IHtQcm9wZXJ0eU1peGlufSBmcm9tICcuLi8uLi9zZXJ2aWNlL21haW4tdG9vbC1lZGl0b3ItdHlwZS1taXhpbic7XHJcbiAgICBleHBvcnQgZGVmYXVsdCB7XHJcbiAgICAgICAgY29tcG9uZW50czoge1xyXG4gICAgICAgICAgICAuLi5jb21wb25lbnRzXHJcbiAgICAgICAgfSxcclxuICAgICAgICBtaXhpbnM6IFtQcm9wZXJ0eU1peGluXSxcclxuICAgICAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yVHlwZVJhZGlvU2VsZWN0JyxcclxuICAgICAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLXJhZGlvU2VsZWN0JyxcclxuICAgICAgICBkYXRhICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHZhbDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBpc0xldmVsOmZhbHNlLFxyXG4gICAgICAgICAgICAgICAgYXJyTGlzdDpbXVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbW91bnRlZCAoKSB7XHJcbiAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmVkaXRvci5pc0xldmVsKTtcclxuICAgICAgICAgICAgdGhpcy5pbml0Q3VycnRGaWVsZCgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcHV0ZWQ6IHtcclxuXHJcbiAgICAgICAgICAgIGdldEFyckxpc3QoKXtcclxuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcy5nZXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzTGV2ZWw9Y3VycmVudEluc3RhbmNlLmRhdGEuaXNMZXZlbDtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuaXNMZXZlbCl7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8g5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5yYWRpb0Fycikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5yYWRpb0FyciA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAvLyDkuLrkuovku7bmlrDlop7kuIDpoblcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLnJhZGlvQXJyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnJhZGlvQXJyID0gW3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIumAiemhuTFcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIumAiemhuTFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIumAiemhuTJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIumAiemhuTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIumAiemhuTNcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIumAiemhuTNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiBjdXJyZW50SW5zdGFuY2UuZGF0YS5yYWRpb0FycjtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYXBwbGljYXRpb25TdGF0ZSAoKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB2aWV3cG9ydFN0YXRlICgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWV0aG9kczoge1xyXG4gICAgICAgICAgICBzZXRSYWRpb1ZhbHVlKGl0ZW0pe1xyXG4gICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhpdGVtKTtcclxuICAgICAgICAgICAgICAgIGlmKGl0ZW0pe1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0udmFsdWU9aXRlbS5sYWJlbDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZGVsQXJyKGluZGV4KXtcclxuICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvZGVsUmFkaW9FdmVudEFycicse2luZGV4OmluZGV4fSk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGFkZEFycigpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9hZGRSYWRpb0V2ZW50QXJyJyx7fSk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGhhbmRsZUNoYW5nZSAoKSB7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICB3YXRjaDoge1xyXG4gICAgICAgICAgICB2YWwgKG4sIG8pIHtcclxuICAgICAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBpbnB1dDEgKG4sIG8pIHtcclxuICAgICAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBpbnB1dDIgKG4sIG8pIHtcclxuICAgICAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgc2NvcGVkIGxhbmc9XCJsZXNzXCI+XHJcbiAgICAudG9vbC10eXBlLXJhZGlvQXJyIHtcclxuICAgICAgICBtYXJnaW46IDEwcHggOHB4IDA7XHJcbiAgICAgICAgLnJhZGlvQXJyLXRvb2wtdHlwZS1kaXYgIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHggOHB4IDA7XHJcbiAgICAgICAgICAgIC5yYWRpb0Fyci1lZGl0b3JUZXh0U3R5bGUge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjMTkxZjI1O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgICAgICAgICAgICAgLnJhZGlvQXJyLWVkaXRvck1heEZvbnRTdHlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoMjUsMzEsMzcsLjQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5yYWRpb0Fyci1lZGl0b3JNYXhGb250U3R5bGVGYWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmVkO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmFkaW9BcnItZWRpdG9ySW5wdXQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmFkaW9BcnItZWRpdG9ySW5wdXRGYWxzZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCByZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJhZGlvQXJyLWVkaXRvckNvbnRlbnRTdHlsZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDhweCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pdnUtaW5wdXQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLml2dS1pbnB1dCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yYWRpb1NlbGVjdC9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///140\n");
996
997/***/ }),
998/* 141 */
999/***/ (function(module, exports, __webpack_require__) {
1000
1001"use strict";
1002eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(497);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nvar _toolService = __webpack_require__(14);\n\nvar _toolService2 = _interopRequireDefault(_toolService);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeReqSelect',\n name: 'main-tool-editor-type-reqSelect',\n data: function data() {\n return {\n propArr: []\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n var _data = this.propArr || [];\n return _data;\n }\n },\n methods: {\n randomProp: function randomProp(len) {\n len = len || 10;\n var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';\n var maxPos = $chars.length;\n var pwd = '';\n for (var i = 0; i < len; i++) {\n pwd += $chars.charAt(Math.floor(Math.random() * maxPos));\n }\n return pwd;\n },\n handleChange: function handleChange() {}\n },\n mounted: function mounted() {\n debugger;\n\n if (!this.getInstanceData.property.prop) {\n this.setInstanceProps(this.randomProp());\n }\n this.initCurrtField();\n },\n\n watch: {\n value: function value(n, o) {\n\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yZXFTZWxlY3QvaW5kZXgudnVlP2E5ZmMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBYUEsVTs7QUFDQTs7QUFDQTs7Ozs7Ozs7a0JBQ0E7QUFDQSwyQ0FDQSxVQURBLENBREE7QUFJQSxvREFKQTtBQUtBLDJDQUxBO0FBTUEsMkNBTkE7QUFPQSxRQVBBLGtCQU9BO0FBQ0E7QUFDQTtBQURBO0FBR0EsS0FYQTs7QUFZQTtBQUNBLDRCQURBO0FBRUE7QUFGQSxLQVpBO0FBZ0JBO0FBQ0Esd0JBREEsOEJBQ0E7QUFDQTtBQUNBLFNBSEE7QUFJQSxxQkFKQSwyQkFJQTtBQUNBO0FBQ0EsU0FOQTtBQU9BLG1CQVBBLHlCQU9BO0FBQ0E7QUFDQTtBQUNBO0FBVkEsS0FoQkE7QUE0QkE7QUFFQSxrQkFGQSxzQkFFQSxHQUZBLEVBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FYQTtBQWtCQSxvQkFsQkEsMEJBa0JBLENBRUE7QUFwQkEsS0E1QkE7QUFrREEsV0FsREEscUJBa0RBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUEyQkEsS0FuRkE7O0FBb0ZBO0FBQ0EsYUFEQSxpQkFDQSxDQURBLEVBQ0EsQ0FEQSxFQUNBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFSQTtBQXBGQSxDIiwiZmlsZSI6IjE0MS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxyXG4gICAgICAgIDxDb250YWluZXI+XHJcbiAgICAgICAgICAgIDwhLS0gPFNlbGVjdCB2LW1vZGVsPVwidmFsdWVcIiBzdHlsZT1cIndpZHRoOjk2LjUlO1wiID5cclxuICAgICAgICAgICAgICAgICA8T3B0aW9uIHYtZm9yPVwiaXRlbSBpbiBvcHRpb25zRGF0YVwiIDp2YWx1ZT1cIml0ZW0ua2V5fHwnJ1wiIDprZXk9XCJpdGVtLmtleVwiPnt7IGl0ZW0ubGFiZWwgfX08L09wdGlvbj5cclxuICAgICAgICAgICAgIDwvU2VsZWN0Pi0tPlxyXG4gICAgICAgICAgICA8c3Bhbj57e3ZhbHVlfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxJbnB1dCB2LW1vZGVsPVwidmFsdWVcIiAvPlxyXG4gICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG4gICAgaW1wb3J0ICogYXMgY29tcG9uZW50cyBmcm9tICcuL3N0eWxlJztcclxuICAgIGltcG9ydCB7UHJvcGVydHlNaXhpbn0gZnJvbSAnLi4vLi4vc2VydmljZS9tYWluLXRvb2wtZWRpdG9yLXR5cGUtbWl4aW4nO1xyXG4gICAgaW1wb3J0IFNlcnZpY2UgZnJvbSBcIi4uLy4uL3NlcnZpY2UvdG9vbC1zZXJ2aWNlXCI7XHJcbiAgICBleHBvcnQgZGVmYXVsdCB7XHJcbiAgICAgICAgY29tcG9uZW50czoge1xyXG4gICAgICAgICAgICAuLi5jb21wb25lbnRzXHJcbiAgICAgICAgfSxcclxuICAgICAgICBtaXhpbnM6IFtQcm9wZXJ0eU1peGluXSxcclxuICAgICAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yVHlwZVJlcVNlbGVjdCcsXHJcbiAgICAgICAgbmFtZTogJ21haW4tdG9vbC1lZGl0b3ItdHlwZS1yZXFTZWxlY3QnLFxyXG4gICAgICAgIGRhdGEgKCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgcHJvcEFycjpbXVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcHJvcHM6IHtcclxuICAgICAgICAgICAgaW5zdGFuY2VJbmZvOiBPYmplY3QsXHJcbiAgICAgICAgICAgIGVkaXRvcjogT2JqZWN0XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wdXRlZDoge1xyXG4gICAgICAgICAgICBhcHBsaWNhdGlvblN0YXRlICgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5hcHBsaWNhdGlvbjtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdmlld3BvcnRTdGF0ZSAoKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQ7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIG9wdGlvbnNEYXRhICgpIHtcclxuICAgICAgICAgICAgICAgIGxldCBfZGF0YSA9IHRoaXMucHJvcEFyciB8fCBbXTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBfZGF0YTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWV0aG9kczoge1xyXG4gICAgICAgICAgICAvL25vdGUg6K6+572u6ZqP5py65bGe5oCn5YC8XHJcbiAgICAgICAgICAgIHJhbmRvbVByb3AobGVuKSB7XHJcbiAgICAgICAgICAgICAgICBsZW4gPSBsZW4gfHwgMTA7XHJcbiAgICAgICAgICAgICAgICB2YXIgJGNoYXJzID0gJ0FCQ0RFRkdISktNTlBRUlNUV1hZWmFiY2RlZmhpamttbnByc3R3eHl6MjM0NTY3OCc7ICAgIC8qKioq6buY6K6k5Y675o6J5LqG5a655piT5re35reG55qE5a2X56ymb09MbCw5Z3EsVnYsVXUsSTEqKioqL1xyXG4gICAgICAgICAgICAgICAgdmFyIG1heFBvcyA9ICRjaGFycy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICB2YXIgcHdkID0gJyc7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHdkICs9ICRjaGFycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbWF4UG9zKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcHdkO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAvLyBjaGFuZ2Vfc3RhdHVzKHZhbCl7ICAvLyDnrZvpgInnirbmgIFcclxuICAgICAgICAgICAgLy9cclxuICAgICAgICAgICAgLy8gICAgIGNvbnNvbGUubG9nKHRoaXMudmFsKTtcclxuICAgICAgICAgICAgLy8gICAgIHRoaXMudmFsPXZhbDtcclxuICAgICAgICAgICAgLy8gICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyh0aGlzLnZhbCk7XHJcbiAgICAgICAgICAgIC8vIH0sXHJcbiAgICAgICAgICAgIGhhbmRsZUNoYW5nZSAoKSB7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtb3VudGVkKCl7XHJcbiAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAvL25vdGUg5Yik5pat5piv5ZCm5a2Y5ZyoXHJcbiAgICAgICAgICAgIGlmKCF0aGlzLmdldEluc3RhbmNlRGF0YS5wcm9wZXJ0eS5wcm9wKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyh0aGlzLnJhbmRvbVByb3AoKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5pbml0Q3VycnRGaWVsZCgpO1xyXG4gICAgICAgICAgICAvKiBsZXQgX3RoaXM9dGhpcztcclxuICAgICAgICAgICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgICAgICAgICAgICAgaXRlbU5vOmxvY2FsU3RvcmFnZS5pdGVtTm9cclxuICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICBpZihsb2NhbFN0b3JhZ2UucHJvcEluZm8mJmxvY2FsU3RvcmFnZS5wcm9wSW5mbyE9XCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICAgICAgICBsZXQgcmVzPUpTT04ucGFyc2UobG9jYWxTdG9yYWdlLnByb3BJbmZvKTtcclxuICAgICAgICAgICAgICAgICAgbGV0IHByb3BBcnI9W107XHJcbiAgICAgICAgICAgICAgICAgIGxldCB0YXJnZXRBcnI9W107XHJcbiAgICAgICAgICAgICAgICAgIGZvcihsZXQgcHJvcE9iaiBpbiByZXMucHJvcCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgcHJvcEFycj1bLi4ucHJvcEFyciwuLi5yZXMucHJvcFtwcm9wT2JqXV07XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgbGV0IG1vY2tEYXRhPVtdO1xyXG4gICAgICAgICAgICAgICAgICBwcm9wQXJyLm1hcChmdW5jdGlvbihpdGVtLGtleSxhcnkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIG1vY2tEYXRhLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogaXRlbS5idXNpTmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogaXRlbS5idXNpRGVzY1xyXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICBfdGhpcy5wcm9wQXJyPW1vY2tEYXRhO1xyXG4gICAgICAgICAgICAgICAgICBfdGhpcy5pbml0Q3VycnRGaWVsZCgpO1xyXG4gICAgICAgICAgICAgIH0qL1xyXG4gICAgICAgICAgICAvL30pO1xyXG4gICAgICAgICAgICAvKnRoaXMuJGh0dHAuZ2V0KCcvc3RhdGljL2RhdGEvcGFnZS1pZGUvMjAyLTEuanNvbicpLnRoZW4oKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBfdGhpcy5wcm9wQXJyPXJlc3BvbnNlLnByb3BBcnI7XHJcbiAgICAgICAgICAgICAgICBfdGhpcy5pbml0Q3VycnRGaWVsZCgpO1xyXG4gICAgICAgICAgICB9KTsqL1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgd2F0Y2g6IHtcclxuICAgICAgICAgICAgdmFsdWUgKG4sIG8pIHtcclxuXHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJlcVNlbGVjdC9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///141\n");
1003
1004/***/ }),
1005/* 142 */
1006/***/ (function(module, exports, __webpack_require__) {
1007
1008"use strict";
1009eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(502);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nvar _toolService = __webpack_require__(14);\n\nvar _toolService2 = _interopRequireDefault(_toolService);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeReqTableSelect',\n name: 'main-tool-editor-type-reqTableSelect',\n data: function data() {\n return {\n propArr: []\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n var _data = this.propArr || [];\n return _data;\n }\n },\n methods: {\n handleChange: function handleChange() {}\n },\n mounted: function mounted() {\n\n var _this = this;\n var params = {\n itemNo: localStorage.itemNo\n };\n var propArr = [];\n\n if (localStorage.getItem(\"selectArr\") && localStorage.getItem(\"selectArr\") != \"undefined\") {\n propArr = JSON.parse(localStorage.getItem(\"selectArr\") || []);\n }\n var mockData = [];\n propArr.map(function (item, key, ary) {\n mockData.push({\n key: \"templateCache.\" + item.selectName,\n label: item.selectName\n });\n });\n _this.propArr = mockData;\n _this.initCurrtField();\n },\n\n watch: {\n value: function value(n, o) {\n\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yZXFUYWJsZVNlbGVjdC9pbmRleC52dWU/ZWRmZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFXQSxVOztBQUNBOztBQUNBOzs7Ozs7OztrQkFDQTtBQUNBLDJDQUNBLFVBREEsQ0FEQTtBQUlBLG9EQUpBO0FBS0EsZ0RBTEE7QUFNQSxnREFOQTtBQU9BLFFBUEEsa0JBT0E7QUFDQTtBQUNBO0FBREE7QUFHQSxLQVhBOztBQVlBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLEtBWkE7QUFnQkE7QUFDQSx3QkFEQSw4QkFDQTtBQUNBO0FBQ0EsU0FIQTtBQUlBLHFCQUpBLDJCQUlBO0FBQ0E7QUFDQSxTQU5BO0FBT0EsbUJBUEEseUJBT0E7QUFDQTtBQUNBO0FBQ0E7QUFWQSxLQWhCQTtBQTRCQTtBQU9BLG9CQVBBLDBCQU9BLENBRUE7QUFUQSxLQTVCQTtBQXVDQSxXQXZDQSxxQkF1Q0E7O0FBRUE7QUFDQTtBQUNBO0FBREE7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFEQTtBQUVBO0FBRkE7QUFJQSxTQUxBO0FBTUE7QUFDQTtBQUdBLEtBN0RBOztBQThEQTtBQUNBLGFBREEsaUJBQ0EsQ0FEQSxFQUNBLENBREEsRUFDQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUkE7QUE5REEsQyIsImZpbGUiOiIxNDIuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cclxuICAgICAgICA8Q29udGFpbmVyPlxyXG4gICAgICAgIDxTZWxlY3Qgdi1tb2RlbD1cInZhbHVlXCIgc3R5bGU9XCJ3aWR0aDo5Ni41JTtcIiA+XHJcbiAgICAgICAgICAgIDxPcHRpb24gdi1mb3I9XCJpdGVtIGluIG9wdGlvbnNEYXRhXCIgOnZhbHVlPVwiaXRlbS5rZXl8fCcnXCIgOmtleT1cIml0ZW0ua2V5XCI+e3sgaXRlbS5sYWJlbCB9fTwvT3B0aW9uPlxyXG4gICAgICAgIDwvU2VsZWN0PlxyXG4gICAgPC9Db250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbmltcG9ydCB7UHJvcGVydHlNaXhpbn0gZnJvbSAnLi4vLi4vc2VydmljZS9tYWluLXRvb2wtZWRpdG9yLXR5cGUtbWl4aW4nO1xyXG5pbXBvcnQgU2VydmljZSBmcm9tIFwiLi4vLi4vc2VydmljZS90b29sLXNlcnZpY2VcIjtcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgY29tcG9uZW50czoge1xyXG4gICAgICAgIC4uLmNvbXBvbmVudHNcclxuICAgIH0sXHJcbiAgICBtaXhpbnM6IFtQcm9wZXJ0eU1peGluXSxcclxuICAgIHBvc2l0aW9uOiAnbWFpblRvb2xFZGl0b3JUeXBlUmVxVGFibGVTZWxlY3QnLFxyXG4gICAgbmFtZTogJ21haW4tdG9vbC1lZGl0b3ItdHlwZS1yZXFUYWJsZVNlbGVjdCcsXHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBwcm9wQXJyOltdXHJcbiAgICAgICAgfTtcclxuICAgIH0sXHJcbiAgICBwcm9wczoge1xyXG4gICAgICAgIGluc3RhbmNlSW5mbzogT2JqZWN0LFxyXG4gICAgICAgIGVkaXRvcjogT2JqZWN0XHJcbiAgICB9LFxyXG4gICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICBhcHBsaWNhdGlvblN0YXRlICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdmlld3BvcnRTdGF0ZSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG9wdGlvbnNEYXRhICgpIHtcclxuICAgICAgICAgICAgbGV0IF9kYXRhID0gdGhpcy5wcm9wQXJyIHx8IFtdO1xyXG4gICAgICAgICAgICByZXR1cm4gX2RhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIG1ldGhvZHM6IHtcclxuICAgICAgICAvLyBjaGFuZ2Vfc3RhdHVzKHZhbCl7ICAvLyDnrZvpgInnirbmgIFcclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vICAgICBjb25zb2xlLmxvZyh0aGlzLnZhbCk7XHJcbiAgICAgICAgLy8gICAgIHRoaXMudmFsPXZhbDtcclxuICAgICAgICAvLyAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKHRoaXMudmFsKTtcclxuICAgICAgICAvLyB9LFxyXG4gICAgICAgIGhhbmRsZUNoYW5nZSAoKSB7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtb3VudGVkKCl7XHJcblxyXG4gICAgICAgIGxldCBfdGhpcz10aGlzO1xyXG4gICAgICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgICAgICAgIGl0ZW1Obzpsb2NhbFN0b3JhZ2UuaXRlbU5vXHJcbiAgICAgICAgfTtcclxuICAgICAgICBsZXQgcHJvcEFycj1bXTtcclxuICAgICAgICAgICAgLy8gdGhpcy4kaHR0cC5nZXQoJy9zdGF0aWMvZGF0YS9wYWdlLWlkZS8yMDItMS5qc29uJykudGhlbigocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgaWYobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJzZWxlY3RBcnJcIikmJmxvY2FsU3RvcmFnZS5nZXRJdGVtKFwic2VsZWN0QXJyXCIpIT1cInVuZGVmaW5lZFwiKXtcclxuICAgICAgICAgICAgICAgIHByb3BBcnI9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJzZWxlY3RBcnJcIil8fFtdKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgbW9ja0RhdGE9W107XHJcbiAgICAgICAgICAgIHByb3BBcnIubWFwKGZ1bmN0aW9uKGl0ZW0sa2V5LGFyeSkge1xyXG4gICAgICAgICAgICAgICAgbW9ja0RhdGEucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAga2V5OiBcInRlbXBsYXRlQ2FjaGUuXCIraXRlbS5zZWxlY3ROYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBpdGVtLnNlbGVjdE5hbWVcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgX3RoaXMucHJvcEFycj1tb2NrRGF0YTtcclxuICAgICAgICAgICAgX3RoaXMuaW5pdEN1cnJ0RmllbGQoKTtcclxuXHJcblxyXG4gICAgfSxcclxuICAgIHdhdGNoOiB7XHJcbiAgICAgICAgdmFsdWUgKG4sIG8pIHtcclxuXHJcblxyXG4gICAgICAgICAgICBpZiAobiA9PT0gbykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtcmVxVGFibGVTZWxlY3QvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///142\n");
1010
1011/***/ }),
1012/* 143 */
1013/***/ (function(module, exports, __webpack_require__) {
1014
1015"use strict";
1016eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(507);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeSelect',\n name: 'main-tool-editor-type-select',\n data: function data() {\n return {\n val: this.editor.val || ''\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n if (localStorage.getItem(\"page\") && localStorage.getItem(\"page\") != null) {} else {\n return;\n }\n var pageObj = eval('(' + localStorage.getItem(\"page\") + ')');\n console.log(pageObj);\n var optionData = pageObj.fullModel.templateCache.selectArr || [];\n optionData.forEach(function (el, index) {\n el.selectName = \"templateCache.\" + el.selectName;\n });\n var _data = optionData;\n return _data;\n }\n },\n methods: {\n initCurrtField: function initCurrtField() {\n var props = this.instanceInfo.vm.$data;\n var val = _.get(props, this.field);\n if (val !== undefined) {\n this.val = val;\n }\n },\n handleChange: function handleChange() {}\n },\n mounted: function mounted() {\n debugger;\n this.initCurrtField();\n },\n\n watch: {\n field: function field(n, o) {\n\n if (n === o) {\n return;\n }\n deep: true;\n },\n val: function val(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1zZWxlY3QvaW5kZXgudnVlP2ExYWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBV0EsVTs7QUFDQTs7Ozs7O2tCQUNBO0FBQ0EsMkNBQ0EsVUFEQSxDQURBO0FBSUEsb0RBSkE7QUFLQSx3Q0FMQTtBQU1BLHdDQU5BO0FBT0EsUUFQQSxrQkFPQTtBQUNBO0FBQ0E7QUFEQTtBQUdBLEtBWEE7O0FBWUE7QUFDQSw0QkFEQTtBQUVBO0FBRkEsS0FaQTtBQWdCQTtBQUNBLHdCQURBLDhCQUNBO0FBQ0E7QUFDQSxTQUhBO0FBSUEscUJBSkEsMkJBSUE7QUFDQTtBQUNBLFNBTkE7QUFPQSxtQkFQQSx5QkFPQTtBQUNBLHVGQUVBLENBRkEsTUFFQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFGQTtBQUdBO0FBQ0E7QUFDQTtBQTNCQSxLQWhCQTtBQTZDQTtBQUNBLHNCQURBLDRCQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBUEE7QUFRQSxvQkFSQSwwQkFRQSxDQUVBO0FBVkEsS0E3Q0E7QUF5REEsV0F6REEscUJBeURBO0FBQ0E7QUFDQTtBQUNBLEtBNURBOztBQTZEQTtBQUNBLGFBREEsaUJBQ0EsQ0FEQSxFQUNBLENBREEsRUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUdBLFNBVEE7QUFVQSxXQVZBLGVBVUEsQ0FWQSxFQVVBLENBVkEsRUFVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFmQTtBQTdEQSxDIiwiZmlsZSI6IjE0My5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxyXG4gICAgICAgIDxDb250YWluZXI+XHJcbiAgICAgICAgPFNlbGVjdCB2LW1vZGVsPVwidmFsXCIgc3R5bGU9XCJ3aWR0aDo5Ni41JTtcIiA+XHJcbiAgICAgICAgICAgIDxPcHRpb24gdi1mb3I9XCJpdGVtIGluIG9wdGlvbnNEYXRhXCIgOnZhbHVlPVwiaXRlbS5zZWxlY3ROYW1lfHwnJ1wiIDprZXk9XCJpdGVtLnNlbGVjdE5hbWVcIj57eyBpdGVtLnNlbGVjdE5hbWUgfX08L09wdGlvbj5cclxuICAgICAgICA8L1NlbGVjdD5cclxuICAgIDwvQ29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG4gICAgaW1wb3J0ICogYXMgY29tcG9uZW50cyBmcm9tICcuL3N0eWxlJztcclxuICAgIGltcG9ydCB7UHJvcGVydHlNaXhpbn0gZnJvbSAnLi4vLi4vc2VydmljZS9tYWluLXRvb2wtZWRpdG9yLXR5cGUtbWl4aW4nO1xyXG4gICAgZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgICAgIGNvbXBvbmVudHM6IHtcclxuICAgICAgICAgICAgLi4uY29tcG9uZW50c1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWl4aW5zOiBbUHJvcGVydHlNaXhpbl0sXHJcbiAgICAgICAgcG9zaXRpb246ICdtYWluVG9vbEVkaXRvclR5cGVTZWxlY3QnLFxyXG4gICAgICAgIG5hbWU6ICdtYWluLXRvb2wtZWRpdG9yLXR5cGUtc2VsZWN0JyxcclxuICAgICAgICBkYXRhICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHZhbDp0aGlzLmVkaXRvci52YWx8fCcnXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSxcclxuICAgICAgICBwcm9wczoge1xyXG4gICAgICAgICAgICBpbnN0YW5jZUluZm86IE9iamVjdCxcclxuICAgICAgICAgICAgZWRpdG9yOiBPYmplY3RcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXB1dGVkOiB7XHJcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uU3RhdGUgKCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB2aWV3cG9ydFN0YXRlICgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgb3B0aW9uc0RhdGEgKCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwicGFnZVwiKSAmJiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInBhZ2VcIikgIT0gbnVsbCkge1xyXG5cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLiRNb2RhbC5zdWNjZXNzKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5Y+L5oOF5o+Q56S6XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwi6K+35YWI5YWo5bGA6K6+572u77yBXCJcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxldCBwYWdlT2JqID0gZXZhbCgnKCcgKyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInBhZ2VcIikgKyAnKScpOy8vSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInBhZ2VcIikpO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2cocGFnZU9iaik7XHJcbiAgICAgICAgICAgICAgICBsZXQgb3B0aW9uRGF0YT0gcGFnZU9iai5mdWxsTW9kZWwudGVtcGxhdGVDYWNoZS5zZWxlY3RBcnJ8fFtdO1xyXG4gICAgICAgICAgICAgICAgb3B0aW9uRGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChlbCxpbmRleCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGVsLnNlbGVjdE5hbWU9XCJ0ZW1wbGF0ZUNhY2hlLlwiK2VsLnNlbGVjdE5hbWU7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGxldCBfZGF0YSA9ICBvcHRpb25EYXRhO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9kYXRhO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtZXRob2RzOiB7XHJcbiAgICAgICAgICAgIGluaXRDdXJydEZpZWxkICgpIHtcclxuICAgICAgICAgICAgICAgIGxldCBwcm9wcyA9IHRoaXMuaW5zdGFuY2VJbmZvLnZtLiRkYXRhO1xyXG4gICAgICAgICAgICAgICAgbGV0IHZhbCA9IF8uZ2V0KHByb3BzLCB0aGlzLmZpZWxkKTtcclxuICAgICAgICAgICAgICAgIGlmICh2YWwgIT09IHVuZGVmaW5lZCkgey8v5pS55Li6dW5kZWZpbmVkLOagoemqjGJvb2xlYW7nsbvlnotmYWxzZemUmeivr1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsID0gdmFsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBoYW5kbGVDaGFuZ2UgKCkge1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbW91bnRlZCgpIHtcclxuICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdEN1cnJ0RmllbGQoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHdhdGNoOiB7XHJcbiAgICAgICAgICAgIGZpZWxkIChuLCBvKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBkZWVwOnRydWUvL+WvueixoeWGhemDqOeahOWxnuaAp+ebkeWQrO+8jOS5n+WPq+a3seW6puebkeWQrFxyXG5cclxuICAgICAgICAgICAgICAgIC8vICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHZhbCAobiwgbykge1xyXG4gICAgICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXNlbGVjdC9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///143\n");
1017
1018/***/ }),
1019/* 144 */
1020/***/ (function(module, exports, __webpack_require__) {
1021
1022"use strict";
1023eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(512);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nvar _mainToolEditorTypeBoxValidateArr = __webpack_require__(21);\n\nvar _mainToolEditorTypeBoxValidateArr2 = _interopRequireDefault(_mainToolEditorTypeBoxValidateArr);\n\nvar _mainToolEditorTypeShowFlag = __webpack_require__(44);\n\nvar _mainToolEditorTypeShowFlag2 = _interopRequireDefault(_mainToolEditorTypeShowFlag);\n\nvar _mainToolEditorTypeBoxLinkageChangeValue = __webpack_require__(45);\n\nvar _mainToolEditorTypeBoxLinkageChangeValue2 = _interopRequireDefault(_mainToolEditorTypeBoxLinkageChangeValue);\n\nvar _mainToolEditorTypeBoxDynamic = __webpack_require__(68);\n\nvar _mainToolEditorTypeBoxDynamic2 = _interopRequireDefault(_mainToolEditorTypeBoxDynamic);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components, {\n dynamic: _mainToolEditorTypeBoxDynamic2.default,\n showFlag: _mainToolEditorTypeShowFlag2.default,\n validateArr: _mainToolEditorTypeBoxValidateArr2.default,\n linkageChangeValue: _mainToolEditorTypeBoxLinkageChangeValue2.default\n }),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeSelectHeightLevel',\n name: 'main-tool-editor-type-selectHeightLevel',\n data: function data() {\n return {\n value: this.editor.value || false\n };\n },\n mounted: function mounted() {\n this.initCurrtField();\n this.setInstanceProps(this.value);\n },\n\n computed: {\n getRomout: function getRomout() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n if (!currentInstance.data.property.dynamic) {\n currentInstance.data.property.dynamic = {\n label: \"\",\n value: \"\",\n url: \"\",\n paramsList: []\n };\n }\n return currentInstance.data.property.dynamic;\n },\n applicationState: function applicationState() {\n\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n }\n },\n methods: {\n changeVal: function changeVal(el) {\n\n debugger;\n },\n handleChange: function handleChange() {}\n },\n watch: {\n getRomout: function getRomout(n, o) {},\n value: function value(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1zZWxlY3RIZWlnaHRMZXZlbC9pbmRleC52dWU/MzZkNyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFxQ0EsVTs7QUFDQTs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7Ozs7a0JBRUE7QUFDQSwyQ0FDQSxVQURBO0FBRUEsdURBRkE7QUFHQSxzREFIQTtBQUlBLCtEQUpBO0FBS0E7QUFMQSxNQURBO0FBUUEsb0RBUkE7QUFTQSxtREFUQTtBQVVBLG1EQVZBO0FBV0EsUUFYQSxrQkFXQTtBQUNBO0FBQ0E7QUFEQTtBQUdBLEtBZkE7QUFnQkEsV0FoQkEscUJBZ0JBO0FBQ0E7QUFDQTtBQUNBLEtBbkJBOztBQW9CQTtBQUNBLGlCQURBLHVCQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDZCQURBO0FBRUEsNkJBRkE7QUFHQSwyQkFIQTtBQUlBO0FBSkE7QUFNQTtBQUNBO0FBQ0EsU0FiQTtBQWNBLHdCQWRBLDhCQWNBOztBQUVBO0FBQ0EsU0FqQkE7QUFrQkEscUJBbEJBLDJCQWtCQTtBQUNBO0FBQ0E7QUFwQkEsS0FwQkE7QUEwQ0E7QUFDQSxpQkFEQSxxQkFDQSxFQURBLEVBQ0E7O0FBRUE7QUFDQSxTQUpBO0FBS0Esb0JBTEEsMEJBS0EsQ0FFQTtBQVBBLEtBMUNBO0FBbURBO0FBQ0EsaUJBREEscUJBQ0EsQ0FEQSxFQUNBLENBREEsRUFDQSxDQUVBLENBSEE7QUFJQSxhQUpBLGlCQUlBLENBSkEsRUFJQSxDQUpBLEVBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVEE7QUFuREEsQyIsImZpbGUiOiIxNDQuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6MTAwJVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXN0eWxlXCI+XHJcbiAgICAgICAgICAgIDxpLXN3aXRjaCB2LW1vZGVsPVwidmFsdWVcIj48L2ktc3dpdGNoPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgdi1zaG93PVwidmFsdWVcIj5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiaXRlbS1zdHlsZVwiPumUruWAvOWvuS1sYWJlbDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPElucHV0IHN0eWxlPVwid2lkdGg6IDkyJTttYXJnaW4tbGVmdDogMTBweDttYXJnaW4tcmlnaHQ6IDExcHg7XCIgY2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtbW9kZWw9XCJnZXRSb21vdXQubGFiZWxcIiBAb24tY2hhbmdlPVwiY2hhbmdlVmFsKClcIi8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiaXRlbS1zdHlsZVwiPumUruWAvOWvuS12YWx1ZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPElucHV0IHN0eWxlPVwid2lkdGg6IDkyJTttYXJnaW4tbGVmdDogMTBweDttYXJnaW4tcmlnaHQ6IDExcHg7XCIgY2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtbW9kZWw9XCJnZXRSb21vdXQudmFsdWVcIiBAb24tY2hhbmdlPVwiY2hhbmdlVmFsKClcIi8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiaXRlbS1zdHlsZVwiPumUruWAvOWvuS11cmw8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxJbnB1dCBzdHlsZT1cIndpZHRoOiA5MiU7bWFyZ2luLWxlZnQ6IDEwcHg7bWFyZ2luLXJpZ2h0OiAxMXB4O1wiIGNsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICB2LW1vZGVsPVwiZ2V0Um9tb3V0LnVybFwiIEBvbi1jaGFuZ2U9XCJjaGFuZ2VWYWwoKVwiLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGR5bmFtaWM+PC9keW5hbWljPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGUtc3R5bGVcIj7mmK/lkKblsZXnpLo8L2Rpdj5cclxuICAgICAgICAgICAgPHNob3dGbGFnPjwvc2hvd0ZsYWc+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZS1zdHlsZVwiPuagoemqjDwvZGl2PlxyXG4gICAgICAgICAgICA8dmFsaWRhdGVBcnI+PC92YWxpZGF0ZUFycj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlLXN0eWxlXCI+6IGU5YqoPC9kaXY+XHJcbiAgICAgICAgICAgIDxsaW5rYWdlQ2hhbmdlVmFsdWU+PC9saW5rYWdlQ2hhbmdlVmFsdWU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcblxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIGltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbiAgICBpbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuICAgIGltcG9ydCB2YWxpZGF0ZUFyciBmcm9tICcuLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXZhbGlkYXRlQXJyJztcclxuICAgIGltcG9ydCBzaG93RmxhZyBmcm9tICcuLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtc2hvd0ZsYWcnO1xyXG4gICAgaW1wb3J0IGxpbmthZ2VDaGFuZ2VWYWx1ZSBmcm9tICcuLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxpbmthZ2VDaGFuZ2VWYWx1ZSc7XHJcbiAgICBpbXBvcnQgZHluYW1pYyBmcm9tICcuLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWR5bmFtaWMnO1xyXG5cclxuICAgIGV4cG9ydCBkZWZhdWx0IHtcclxuICAgICAgICBjb21wb25lbnRzOiB7XHJcbiAgICAgICAgICAgIC4uLmNvbXBvbmVudHMsXHJcbiAgICAgICAgICAgIGR5bmFtaWMsXHJcbiAgICAgICAgICAgIHNob3dGbGFnLFxyXG4gICAgICAgICAgICB2YWxpZGF0ZUFycixcclxuICAgICAgICAgICAgbGlua2FnZUNoYW5nZVZhbHVlXHJcbiAgICAgICAgfSxcclxuICAgICAgICBtaXhpbnM6IFtQcm9wZXJ0eU1peGluXSxcclxuICAgICAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yVHlwZVNlbGVjdEhlaWdodExldmVsJyxcclxuICAgICAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLXNlbGVjdEhlaWdodExldmVsJyxcclxuICAgICAgICBkYXRhKCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuZWRpdG9yLnZhbHVlIHx8IGZhbHNlXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtb3VudGVkKCkge1xyXG4gICAgICAgICAgICB0aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyh0aGlzLnZhbHVlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXB1dGVkOiB7XHJcbiAgICAgICAgICAgIGdldFJvbW91dCgpIHtcclxuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2UgPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgLy9ub3RlIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgICAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5wcm9wZXJ0eS5keW5hbWljKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEucHJvcGVydHkuZHluYW1pYyA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc0xpc3Q6IFtdXHJcbiAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiBjdXJyZW50SW5zdGFuY2UuZGF0YS5wcm9wZXJ0eS5keW5hbWljO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBhcHBsaWNhdGlvblN0YXRlKCkge1xyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5hcHBsaWNhdGlvbjtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdmlld3BvcnRTdGF0ZSgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWV0aG9kczoge1xyXG4gICAgICAgICAgICBjaGFuZ2VWYWwoZWwpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKCkge1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgd2F0Y2g6IHtcclxuICAgICAgICAgICAgZ2V0Um9tb3V0KG4sIG8pIHtcclxuXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHZhbHVlKG4sIG8pIHtcclxuICAgICAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgc2NvcGVkPlxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtc2VsZWN0SGVpZ2h0TGV2ZWwvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///144\n");
1024
1025/***/ }),
1026/* 145 */
1027/***/ (function(module, exports, __webpack_require__) {
1028
1029"use strict";
1030eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(517);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeSteps',\n name: 'main-tool-editor-type-steps',\n data: function data() {\n return {\n propArr: [],\n val: false,\n arrList: []\n };\n },\n mounted: function mounted() {\n var _this = this;\n _this.propArr = configPageIde.stepSelect;\n _this.initCurrtField();\n },\n\n computed: {\n optionsData: function optionsData() {\n var _data = this.propArr || [];\n return _data;\n },\n getArrList: function getArrList() {\n\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n if (!currentInstance.data.steps) {\n currentInstance.data.steps = [];\n }\n return currentInstance.data.steps;\n },\n applicationState: function applicationState() {\n\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n }\n },\n methods: {\n delArr: function delArr(index) {\n this.$store.commit('viewport/delStepsEventArr', { index: index });\n },\n addArr: function addArr() {\n this.$store.commit('viewport/addStepsEventArr', {});\n },\n handleChange: function handleChange() {}\n },\n watch: {\n val: function val(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input1: function input1(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input2: function input2(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1zdGVwcy9pbmRleC52dWU/ZmQzZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUF3QkEsVTs7QUFDQTs7Ozs7O2tCQUNBO0FBQ0EsMkNBQ0EsVUFEQSxDQURBO0FBSUEsb0RBSkE7QUFLQSx1Q0FMQTtBQU1BLHVDQU5BO0FBT0EsUUFQQSxrQkFPQTtBQUNBO0FBQ0EsdUJBREE7QUFFQSxzQkFGQTtBQUdBO0FBSEE7QUFLQSxLQWJBO0FBY0EsV0FkQSxxQkFjQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBbEJBOztBQW1CQTtBQUNBLG1CQURBLHlCQUNBO0FBQ0E7QUFDQTtBQUNBLFNBSkE7QUFnQkEsa0JBaEJBLHdCQWdCQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBeEJBO0FBeUJBLHdCQXpCQSw4QkF5QkE7O0FBRUE7QUFDQSxTQTVCQTtBQTZCQSxxQkE3QkEsMkJBNkJBO0FBQ0E7QUFDQTtBQS9CQSxLQW5CQTtBQW9EQTtBQUNBLGNBREEsa0JBQ0EsS0FEQSxFQUNBO0FBQ0E7QUFLQSxTQVBBO0FBU0EsY0FUQSxvQkFTQTtBQUNBO0FBS0EsU0FmQTtBQWlCQSxvQkFqQkEsMEJBaUJBLENBRUE7QUFuQkEsS0FwREE7QUF5RUE7QUFDQSxXQURBLGVBQ0EsQ0FEQSxFQUNBLENBREEsRUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FOQTtBQU9BLGNBUEEsa0JBT0EsQ0FQQSxFQU9BLENBUEEsRUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FaQTtBQWFBLGNBYkEsa0JBYUEsQ0FiQSxFQWFBLENBYkEsRUFhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFsQkE7QUF6RUEsQyIsImZpbGUiOiIxNDUuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCU7XCI+XHJcbiAgICAgICAgPENvbnRhaW5lcj5cclxuICAgICAgICAgICAgPEJ1dHRvbiBAY2xpY2s9XCJhZGRBcnIoKVwiIHR5cGU9XCJzdWNjZXNzXCI+5re75Yqg5q2l6aqk5ZCN56ewPC9CdXR0b24+XHJcbiAgICAgICAgPC9Db250YWluZXI+XHJcbiAgICAgICAgPHVsIGNsYXNzPVwibWFpbi11bFwiPlxyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJtYWluLWxpXCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gZ2V0QXJyTGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPExhYmVsIGNsYXNzPVwibWFpbi1saS1sYWJlbFwiPuagh+mimDo8L0xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1saS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8U2VsZWN0IHYtbW9kZWw9XCJpdGVtLnRpdGxlXCIgY2xhc3M9XCJtYWluLWxpLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPE9wdGlvbiB2LWZvcj1cIml0ZW0gaW4gb3B0aW9uc0RhdGFcIiA6dmFsdWU9XCJpdGVtLnZhbHVlfHwnJ1wiIDprZXk9XCJpdGVtLnZhbHVlXCI+e3sgaXRlbS5rZXkgfX08L09wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktYnRuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBAY2xpY2s9XCJkZWxBcnIoaW5kZXgpXCIgdHlwZT1cImVycm9yXCI+5Yig6ZmkPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICA8L3VsPlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQgKiBhcyBjb21wb25lbnRzIGZyb20gJy4vc3R5bGUnO1xyXG5pbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgY29tcG9uZW50czoge1xyXG4gICAgICAgIC4uLmNvbXBvbmVudHNcclxuICAgIH0sXHJcbiAgICBtaXhpbnM6IFtQcm9wZXJ0eU1peGluXSxcclxuICAgIHBvc2l0aW9uOiAnbWFpblRvb2xFZGl0b3JUeXBlU3RlcHMnLFxyXG4gICAgbmFtZTogJ21haW4tdG9vbC1lZGl0b3ItdHlwZS1zdGVwcycsXHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBwcm9wQXJyOltdLFxyXG4gICAgICAgICAgICB2YWw6IGZhbHNlLFxyXG4gICAgICAgICAgICBhcnJMaXN0OltdXHJcbiAgICAgICAgfTtcclxuICAgIH0sXHJcbiAgICBtb3VudGVkICgpIHtcclxuICAgICAgICBsZXQgX3RoaXM9dGhpcztcclxuICAgICAgICAgICAgX3RoaXMucHJvcEFycj1jb25maWdQYWdlSWRlLnN0ZXBTZWxlY3Q7XHJcbiAgICAgICAgICAgIF90aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICB9LFxyXG4gICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICBvcHRpb25zRGF0YSAoKSB7XHJcbiAgICAgICAgICAgIGxldCBfZGF0YSA9IHRoaXMucHJvcEFyciB8fCBbXTtcclxuICAgICAgICAgICAgcmV0dXJuIF9kYXRhO1xyXG4gICAgICAgIH0sLypnZXRDaGlsZExpc3QoKXtcclxuXHJcbiAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcy5nZXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLmxpbmthZ2VDaGFuZ2VWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEubGlua2FnZUNoYW5nZVZhbHVlID0gW107XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5saW5rYWdlQ2hhbmdlVmFsdWUudmFsdWVzKSB7XHJcbiAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5saW5rYWdlQ2hhbmdlVmFsdWUudmFsdWVzID0gW107XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmxpbmthZ2VDaGFuZ2VWYWx1ZS52YWx1ZXM7XHJcbiAgICAgICAgfSwqL1xyXG4gICAgICAgIGdldEFyckxpc3QoKXtcclxuXHJcbiAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcy5nZXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLnN0ZXBzKSB7XHJcbiAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5zdGVwcyA9IFtdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50SW5zdGFuY2UuZGF0YS5zdGVwcztcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFwcGxpY2F0aW9uU3RhdGUgKCkge1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdmlld3BvcnRTdGF0ZSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgbWV0aG9kczoge1xyXG4gICAgICAgIGRlbEFycihpbmRleCl7XHJcbiAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvZGVsU3RlcHNFdmVudEFycicse2luZGV4OmluZGV4fSk7XHJcbiAgICAgICAgICAgIC8qICB0aGlzLmFyckxpc3QucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiBcImlucHV0MVwiLFxyXG4gICAgICAgICAgICAgICAgICBhY3Rpb246IFwiaW5wdXQyXCJcclxuICAgICAgICAgICAgICAgfSkqL1xyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIGFkZEFycigpe1xyXG4gICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L2FkZFN0ZXBzRXZlbnRBcnInLHt9KTtcclxuICAgICAgICAgICAgLyogIHRoaXMuYXJyTGlzdC5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6IFwiaW5wdXQxXCIsXHJcbiAgICAgICAgICAgICAgICAgIGFjdGlvbjogXCJpbnB1dDJcIlxyXG4gICAgICAgICAgICAgICB9KSovXHJcbiAgICAgICAgfSxcclxuXHJcbiAgICAgICAgaGFuZGxlQ2hhbmdlICgpIHtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIHdhdGNoOiB7XHJcbiAgICAgICAgdmFsIChuLCBvKSB7XHJcbiAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaW5wdXQxIChuLCBvKSB7XHJcbiAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaW5wdXQyIChuLCBvKSB7XHJcbiAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1zdGVwcy9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///145\n");
1031
1032/***/ }),
1033/* 146 */
1034/***/ (function(module, exports, __webpack_require__) {
1035
1036"use strict";
1037eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(522);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeString',\n name: 'main-tool-editor-type-string',\n computed: {\n currentEditInstanceKey: function currentEditInstanceKey() {\n var currentEditInstanceKey = this.$store.state.viewport.currentEditInstanceKey;\n return currentEditInstanceKey;\n }\n },\n methods: {\n listenerMaxFont: function listenerMaxFont(el) {\n debugger;\n if (el.length > parseInt(this.editor.maxFont)) {\n this.noValidate = false;\n } else {\n this.noValidate = true;\n }\n }\n },\n mounted: function mounted() {\n debugger;\n this.initCurrtField();\n this.setInstanceProps(this.value);\n this.listenerMaxFont(this.value);\n },\n data: function data() {\n return {\n noValidate: true,\n value: this.editor.value || ''\n };\n },\n\n watch: {\n field: function field(n, o) {\n if (n === o) {\n return;\n }\n deep: true;\n },\n value: function value(n, o) {\n if (n === o) {\n return;\n }\n debugger;\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n if (this.editor.field == \"extend.placeholder\") {\n if (currentInstance.data.validateArr[0].required) {\n if (n || n.indexOf(\"必填\") != -1) {\n this.setInstanceProps(n);\n } else {\n this.setInstanceProps(n + '(必填)');\n }\n return;\n }\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1zdHJpbmcvaW5kZXgudnVlPzBjOWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBa0JBLFU7O0FBQ0E7Ozs7OztrQkFFQTtBQUNBLDJDQUNBLFVBREEsQ0FEQTtBQUlBLG9EQUpBO0FBS0Esd0NBTEE7QUFNQSx3Q0FOQTtBQU9BO0FBQ0EsOEJBREEsb0NBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQSxLQVBBO0FBYUE7QUFDQSx1QkFEQSwyQkFDQSxFQURBLEVBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQSxhQUhBLE1BR0E7QUFDQTtBQUNBO0FBQ0E7QUFUQSxLQWJBO0FBd0JBLFdBeEJBLHFCQXdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0E3QkE7QUE4QkEsUUE5QkEsa0JBOEJBO0FBQ0E7QUFDQSw0QkFEQTtBQUVBO0FBRkE7QUFJQSxLQW5DQTs7QUFvQ0E7QUFDQSxhQURBLGlCQUNBLENBREEsRUFDQSxDQURBLEVBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLFNBUEE7QUFRQSxhQVJBLGlCQVFBLENBUkEsRUFRQSxDQVJBLEVBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQSxxQkFGQSxNQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUExQkE7QUFwQ0EsQyIsImZpbGUiOiIxNDYuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwidG9vbC10eXBlLXN0cmluZ1wiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbC10eXBlLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZWRpdG9yVGV4dFN0eWxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAge3tlZGl0b3IudGV4dH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIDpjbGFzcz1cIm5vVmFsaWRhdGU/J2VkaXRvck1heEZvbnRTdHlsZSc6J2VkaXRvck1heEZvbnRTdHlsZUZhbHNlJ1wiICB2LWlmPVwiZWRpdG9yLm1heEZvbnRcIj7mnIDlpJp7e2VkaXRvci5tYXhGb250fX3lrZc8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXQgIDpjbGFzcz1cIm5vVmFsaWRhdGU/J2VkaXRvcklucHV0JzonZWRpdG9ySW5wdXRGYWxzZSdcIiA6bWF4bGVuZ3RoPVwiZWRpdG9yLm1heEZvbnRcIiB2LW1vZGVsPVwidmFsdWVcIiBwbGFjZWhvbGRlcj1cIlwiIEBvbi1ibHVyPVwibGlzdGVuZXJNYXhGb250KHZhbHVlKVwiICBjbGVhcmFibGUgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImVkaXRvckNvbnRlbnRTdHlsZVwiIHYtaWY9XCJlZGl0b3IubWF4SW5wdXRGb250XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICDlhoXlrrnmnIDlpJrlj6/loavlhpl7e2VkaXRvci5tYXhJbnB1dEZvbnR9feS4quWtl1xyXG4gICAgICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIGltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbiAgICBpbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuXHJcbiAgICBleHBvcnQgZGVmYXVsdCB7XHJcbiAgICAgICAgY29tcG9uZW50czoge1xyXG4gICAgICAgICAgICAuLi5jb21wb25lbnRzXHJcbiAgICAgICAgfSxcclxuICAgICAgICBtaXhpbnM6IFtQcm9wZXJ0eU1peGluXSxcclxuICAgICAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yVHlwZVN0cmluZycsXHJcbiAgICAgICAgbmFtZTogJ21haW4tdG9vbC1lZGl0b3ItdHlwZS1zdHJpbmcnLFxyXG4gICAgICAgIGNvbXB1dGVkOiB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRFZGl0SW5zdGFuY2VLZXkoKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudEVkaXRJbnN0YW5jZUtleSA9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudEVkaXRJbnN0YW5jZUtleTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWV0aG9kczoge1xyXG4gICAgICAgICAgICBsaXN0ZW5lck1heEZvbnQoZWwpe1xyXG4gICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICBpZihlbC5sZW5ndGg+cGFyc2VJbnQodGhpcy5lZGl0b3IubWF4Rm9udCkpe1xyXG4gICAgICAgICAgICAgICAgICAgLy8gdGhpcy52YWxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5vVmFsaWRhdGU9ZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5vVmFsaWRhdGU9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbW91bnRlZCgpIHtcclxuICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdEN1cnJ0RmllbGQoKTtcclxuICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKHRoaXMudmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLmxpc3RlbmVyTWF4Rm9udCh0aGlzLnZhbHVlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRhdGEoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBub1ZhbGlkYXRlOnRydWUsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5lZGl0b3IudmFsdWUgfHwgJydcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgd2F0Y2g6IHtcclxuICAgICAgICAgICAgZmllbGQobiwgbykge1xyXG4gICAgICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBkZWVwOnRydWUvL+WvueixoeWGhemDqOeahOWxnuaAp+ebkeWQrO+8jOS5n+WPq+a3seW6puebkeWQrFxyXG4gICAgICAgICAgICAgICAgLy8gIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdmFsdWUobiwgbykge1xyXG4gICAgICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2UgPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5lZGl0b3IuZmllbGQ9PVwiZXh0ZW5kLnBsYWNlaG9sZGVyXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOWmguaenOimgeaYr+aWh+acrOaPkOekuuahhiAg5Yik5pat5piv5ZCm5piv5b+F5aGr77yM5bCx5re75Yqg77yI5b+F5aGr77yJXHJcbiAgICAgICAgICAgICAgICAgICAgIGlmKGN1cnJlbnRJbnN0YW5jZS5kYXRhLnZhbGlkYXRlQXJyWzBdLnJlcXVpcmVkKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgIGlmKG58fG4uaW5kZXhPZihcIuW/heWhq1wiKSE9LTEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKyco5b+F5aGrKScpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBzY29wZWQgbGFuZz1cImxlc3NcIj5cclxuICAgIC50b29sLXR5cGUtc3RyaW5nIHtcclxuICAgICAgICBtYXJnaW46IDEwcHggOHB4IDA7XHJcbiAgICAgICAgLnRvb2wtdHlwZS1kaXYgIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHggOHB4IDA7XHJcbiAgICAgICAgICAgIC5lZGl0b3JUZXh0U3R5bGUge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjMTkxZjI1O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgICAgICAgICAgICAgLmVkaXRvck1heEZvbnRTdHlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoMjUsMzEsMzcsLjQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5lZGl0b3JNYXhGb250U3R5bGVGYWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmVkO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZWRpdG9ySW5wdXQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZWRpdG9ySW5wdXRGYWxzZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCByZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmVkaXRvckNvbnRlbnRTdHlsZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDhweCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pdnUtaW5wdXQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLml2dS1pbnB1dCB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgfVxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtc3RyaW5nL2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///146\n");
1038
1039/***/ }),
1040/* 147 */
1041/***/ (function(module, exports, __webpack_require__) {
1042
1043"use strict";
1044eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(18);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(527);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nvar _toolService = __webpack_require__(14);\n\nvar _toolService2 = _interopRequireDefault(_toolService);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeTableDynamic',\n name: 'main-tool-editor-type-tableDynamic',\n data: function data() {\n return {\n val: false,\n propList: [],\n typeList: [{\n value: 'out',\n label: '外部 out'\n }, {\n value: 'into',\n label: '内部 into'\n }, {\n value: 'isShow',\n label: '是否显示 isShow'\n }],\n isShow: false,\n out: true,\n into: false,\n arrList: []\n };\n },\n mounted: function mounted() {\n this.initCurrtField();\n },\n\n computed: {\n getPropList: function getPropList() {},\n getArrList: function getArrList() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n if (!currentInstance.data.property.data) {\n currentInstance.data.property.data = {};\n if (!currentInstance.data.property.data.paramsList) {\n currentInstance.data.property.data.paramsList = [];\n }\n }\n return currentInstance.data.property.data.paramsList;\n },\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n }\n },\n methods: {\n changeDynamic: function changeDynamic() {\n debugger;\n this.$store.commit('viewport/updateTableDynamicArr', {});\n },\n typeChange: function typeChange(val) {\n this.into = false;\n this.isShow = false;\n switch (val) {\n case \"out\":\n {}break;\n case \"into\":\n {\n this.into = true;\n }break;\n case \"isShow\":\n {\n this.isShow = true;\n }break;\n\n }\n },\n delArr: function delArr(index) {\n this.$store.commit('viewport/delLinkEventArr', { index: index });\n },\n delChildArr: function delChildArr(parentIndex, index) {\n\n this.$store.commit('viewport/delLinkEventChildArr', { parentIndex: parentIndex, index: index });\n },\n addArr: function addArr() {\n this.$store.commit('viewport/addTableDynamicArr', {});\n },\n addChildArr: function addChildArr(index) {\n\n this.$store.commit('viewport/addLinkEventChildArr', { index: index });\n },\n initPropList: function initPropList() {\n if (localStorage.propInfo && localStorage.propInfo != \"undefined\") {\n var res = JSON.parse(localStorage.propInfo);\n var propArr = [];\n var targetArr = [];\n for (var propObj in res.prop) {\n propArr = [].concat((0, _toConsumableArray3.default)(propArr), (0, _toConsumableArray3.default)(res.prop[propObj]));\n }\n var mockData = [];\n for (var _propObj in res.prop) {\n propArr = [].concat((0, _toConsumableArray3.default)(propArr), (0, _toConsumableArray3.default)(res.prop[_propObj]));\n }\n this.propList = propArr;\n }\n },\n handleChange: function handleChange() {}\n },\n watch: {\n val: function val(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input1: function input1(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input2: function input2(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n },\n created: function created() {\n this.initPropList();\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC10YWJsZUR5bmFtaWMvaW5kZXgudnVlP2MzN2IiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztJQXlCQSxVOztBQUNBOztBQUNBOzs7Ozs7OztrQkFDQTtBQUNBLDJDQUNBLFVBREEsQ0FEQTtBQUlBLG9EQUpBO0FBS0EsOENBTEE7QUFNQSw4Q0FOQTtBQU9BLFFBUEEsa0JBT0E7QUFDQTtBQUNBLHNCQURBO0FBRUEsd0JBRkE7QUFHQTtBQUNBLDRCQURBO0FBRUE7QUFGQSxlQUlBO0FBQ0EsNkJBREE7QUFFQTtBQUZBLGFBSkEsRUFRQTtBQUNBLCtCQURBO0FBRUE7QUFGQSxhQVJBLENBSEE7QUFlQSx5QkFmQTtBQWdCQSxxQkFoQkE7QUFpQkEsdUJBakJBO0FBa0JBO0FBbEJBO0FBb0JBLEtBNUJBO0FBNkJBLFdBN0JBLHFCQTZCQTtBQUNBO0FBQ0EsS0EvQkE7O0FBZ0NBO0FBYUEsbUJBYkEseUJBYUEsQ0FFQSxDQWZBO0FBZ0JBLGtCQWhCQSx3QkFnQkE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBMUJBO0FBMkJBLHdCQTNCQSw4QkEyQkE7QUFDQTtBQUNBLFNBN0JBO0FBOEJBLHFCQTlCQSwyQkE4QkE7QUFDQTtBQUNBO0FBaENBLEtBaENBO0FBa0VBO0FBQ0EscUJBREEsMkJBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FKQTtBQUtBLGtCQUxBLHNCQUtBLEdBTEEsRUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUEscUJBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBOztBQVRBO0FBWUEsU0FwQkE7QUFxQkEsY0FyQkEsa0JBcUJBLEtBckJBLEVBcUJBO0FBQ0E7QUFLQSxTQTNCQTtBQTRCQSxtQkE1QkEsdUJBNEJBLFdBNUJBLEVBNEJBLEtBNUJBLEVBNEJBOztBQUVBO0FBS0EsU0FuQ0E7QUFvQ0EsY0FwQ0Esb0JBb0NBO0FBQ0E7QUFLQSxTQTFDQTtBQTJDQSxtQkEzQ0EsdUJBMkNBLEtBM0NBLEVBMkNBOztBQUVBO0FBS0EsU0FsREE7QUFtREEsb0JBbkRBLDBCQW1EQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0EsU0FsRUE7QUFtRUEsb0JBbkVBLDBCQW1FQSxDQUVBO0FBckVBLEtBbEVBO0FBeUlBO0FBQ0EsV0FEQSxlQUNBLENBREEsRUFDQSxDQURBLEVBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBTkE7QUFPQSxjQVBBLGtCQU9BLENBUEEsRUFPQSxDQVBBLEVBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBWkE7QUFhQSxjQWJBLGtCQWFBLENBYkEsRUFhQSxDQWJBLEVBYUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBbEJBLEtBeklBO0FBNkpBLFdBN0pBLHFCQTZKQTtBQUNBO0FBQ0E7QUEvSkEsQyIsImZpbGUiOiIxNDcuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCU7XCI+XHJcbiAgICAgICAgPENvbnRhaW5lcj5cclxuICAgICAgICAgICAgPEJ1dHRvbiBAY2xpY2s9XCJhZGRBcnIoKVwiIHR5cGU9XCJzdWNjZXNzXCI+5re75YqgPC9CdXR0b24+XHJcbiAgICAgICAgPC9Db250YWluZXI+XHJcbiAgICAgICAgPHVsIGNsYXNzPVwibWFpbi11bFwiPlxyXG4gICAgICAgICAgICA8bGkgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gZ2V0QXJyTGlzdFwiIGNsYXNzPVwibWFpbi1saVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibWFpbi1saS1sYWJlbFwiPmxhYmVsPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPElucHV0IGNsYXNzPVwibWFpbi1saS1pdGVtXCIgY2xlYXJhYmxlIEBvbi1jaGFuZ2U9XCJjaGFuZ2VEeW5hbWljKClcIiB2LW1vZGVsPVwiaXRlbS5sYWJlbFwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl6ZSuXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibWFpbi1saS1sYWJlbFwiPnZhbHVlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbGktZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPElucHV0IGNsYXNzPVwibWFpbi1saS1pdGVtXCIgY2xlYXJhYmxlIEBvbi1jaGFuZ2U9XCJjaGFuZ2VEeW5hbWljKClcIiB2LW1vZGVsPVwiaXRlbS52YWx1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5YC8XCIgLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbmltcG9ydCB7UHJvcGVydHlNaXhpbn0gZnJvbSAnLi4vLi4vc2VydmljZS9tYWluLXRvb2wtZWRpdG9yLXR5cGUtbWl4aW4nO1xyXG5pbXBvcnQgU2VydmljZSBmcm9tIFwiLi4vLi4vc2VydmljZS90b29sLXNlcnZpY2VcIjtcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgY29tcG9uZW50czoge1xyXG4gICAgICAgIC4uLmNvbXBvbmVudHNcclxuICAgIH0sXHJcbiAgICBtaXhpbnM6IFtQcm9wZXJ0eU1peGluXSxcclxuICAgIHBvc2l0aW9uOiAnbWFpblRvb2xFZGl0b3JUeXBlVGFibGVEeW5hbWljJyxcclxuICAgIG5hbWU6ICdtYWluLXRvb2wtZWRpdG9yLXR5cGUtdGFibGVEeW5hbWljJyxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHZhbDogZmFsc2UsXHJcbiAgICAgICAgICAgIHByb3BMaXN0OltdLFxyXG4gICAgICAgICAgICB0eXBlTGlzdDpbe1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnb3V0JyxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ+WklumDqCBvdXQnXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnaW50bycsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICflhoXpg6ggaW50bydcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdpc1Nob3cnLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiAn5piv5ZCm5pi+56S6IGlzU2hvdydcclxuICAgICAgICAgICAgICAgIH1dLFxyXG4gICAgICAgICAgICBpc1Nob3c6ZmFsc2UsXHJcbiAgICAgICAgICAgIG91dDp0cnVlLFxyXG4gICAgICAgICAgICBpbnRvOmZhbHNlLFxyXG4gICAgICAgICAgICBhcnJMaXN0OltdXHJcbiAgICAgICAgfTtcclxuICAgIH0sXHJcbiAgICBtb3VudGVkICgpIHtcclxuICAgICAgICB0aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICB9LFxyXG4gICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICAvKmdldENoaWxkTGlzdCgpe1xyXG5cclxuICAgICAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZT0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzLmdldCh0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgLy8g5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEubGlua2FnZUNoYW5nZVZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5saW5rYWdlQ2hhbmdlVmFsdWUgPSBbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLmxpbmthZ2VDaGFuZ2VWYWx1ZS52YWx1ZXMpIHtcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmxpbmthZ2VDaGFuZ2VWYWx1ZS52YWx1ZXMgPSBbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gY3VycmVudEluc3RhbmNlLmRhdGEubGlua2FnZUNoYW5nZVZhbHVlLnZhbHVlcztcclxuICAgICAgICB9LCovXHJcbiAgICAgICAgZ2V0UHJvcExpc3QoKXtcclxuXHJcbiAgICAgICAgfSxcclxuICAgICAgICBnZXRBcnJMaXN0KCl7XHJcbiAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcy5nZXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmRhdGEpIHtcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmRhdGE9e307XHJcbiAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmRhdGEucGFyYW1zTGlzdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmRhdGEucGFyYW1zTGlzdCA9IFtdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50SW5zdGFuY2UuZGF0YS5wcm9wZXJ0eS5kYXRhLnBhcmFtc0xpc3Q7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBhcHBsaWNhdGlvblN0YXRlICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdmlld3BvcnRTdGF0ZSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgbWV0aG9kczoge1xyXG4gICAgICAgIGNoYW5nZUR5bmFtaWMoKXtcclxuICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC91cGRhdGVUYWJsZUR5bmFtaWNBcnInLHt9KTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHR5cGVDaGFuZ2UodmFsKXtcclxuICAgICAgICAgICAgdGhpcy5pbnRvPWZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmlzU2hvdz1mYWxzZTtcclxuICAgICAgICAgICAgc3dpdGNoICh2YWwpe1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcIm91dFwiOntcclxuXHJcbiAgICAgICAgICAgICAgICB9YnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwiaW50b1wiOntcclxuICAgICAgICAgICAgICAgICAgdGhpcy5pbnRvPXRydWU7XHJcbiAgICAgICAgICAgICAgICB9YnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwiaXNTaG93XCI6e1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTaG93PXRydWU7XHJcbiAgICAgICAgICAgICAgICB9YnJlYWs7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBkZWxBcnIoaW5kZXgpe1xyXG4gICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L2RlbExpbmtFdmVudEFycicse2luZGV4OmluZGV4fSk7XHJcbiAgICAgICAgICAgIC8qICB0aGlzLmFyckxpc3QucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiBcImlucHV0MVwiLFxyXG4gICAgICAgICAgICAgICAgICBhY3Rpb246IFwiaW5wdXQyXCJcclxuICAgICAgICAgICAgICAgfSkqL1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGVsQ2hpbGRBcnIocGFyZW50SW5kZXgsaW5kZXgpe1xyXG5cclxuICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9kZWxMaW5rRXZlbnRDaGlsZEFycicse3BhcmVudEluZGV4OnBhcmVudEluZGV4LGluZGV4OmluZGV4fSk7XHJcbiAgICAgICAgICAgIC8qICB0aGlzLmFyckxpc3QucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiBcImlucHV0MVwiLFxyXG4gICAgICAgICAgICAgICAgICBhY3Rpb246IFwiaW5wdXQyXCJcclxuICAgICAgICAgICAgICAgfSkqL1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgYWRkQXJyKCl7XHJcbiAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvYWRkVGFibGVEeW5hbWljQXJyJyx7fSk7XHJcbiAgICAgICAgICAgIC8qICB0aGlzLmFyckxpc3QucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiBcImlucHV0MVwiLFxyXG4gICAgICAgICAgICAgICAgICBhY3Rpb246IFwiaW5wdXQyXCJcclxuICAgICAgICAgICAgICAgfSkqL1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgYWRkQ2hpbGRBcnIoaW5kZXgpe1xyXG5cclxuICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9hZGRMaW5rRXZlbnRDaGlsZEFycicse2luZGV4OmluZGV4fSk7XHJcbiAgICAgICAgICAgIC8qICB0aGlzLmFyckxpc3QucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiBcImlucHV0MVwiLFxyXG4gICAgICAgICAgICAgICAgICBhY3Rpb246IFwiaW5wdXQyXCJcclxuICAgICAgICAgICAgICAgfSkqL1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaW5pdFByb3BMaXN0KCl7XHJcbiAgICAgICAgICAgIGlmKGxvY2FsU3RvcmFnZS5wcm9wSW5mbyYmbG9jYWxTdG9yYWdlLnByb3BJbmZvIT1cInVuZGVmaW5lZFwiKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgcmVzID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UucHJvcEluZm8pO1xyXG4gICAgICAgICAgICAgICAgbGV0IHByb3BBcnIgPSBbXTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXRBcnIgPSBbXTtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IHByb3BPYmogaW4gcmVzLnByb3ApIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm9wQXJyID0gWy4uLnByb3BBcnIsIC4uLnJlcy5wcm9wW3Byb3BPYmpdXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxldCBtb2NrRGF0YSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgcHJvcE9iaiBpbiByZXMucHJvcCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3BBcnIgPSBbLi4ucHJvcEFyciwgLi4ucmVzLnByb3BbcHJvcE9ial1dO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wTGlzdCA9IHByb3BBcnI7XHJcbiAgICAgICAgICAgICAgICAvL30pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBoYW5kbGVDaGFuZ2UgKCkge1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgd2F0Y2g6IHtcclxuICAgICAgICB2YWwgKG4sIG8pIHtcclxuICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBpbnB1dDEgKG4sIG8pIHtcclxuICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBpbnB1dDIgKG4sIG8pIHtcclxuICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIGNyZWF0ZWQoKSB7XHJcbiAgICAgICAgdGhpcy5pbml0UHJvcExpc3QoKTtcclxuICAgIH1cclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC10YWJsZUR5bmFtaWMvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///147\n");
1045
1046/***/ }),
1047/* 148 */
1048/***/ (function(module, exports, __webpack_require__) {
1049
1050"use strict";
1051eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(532);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeTemplateTableSelect',\n name: 'main-tool-editor-type-templateTableSelect',\n data: function data() {\n return {\n val: this.editor.val || ''\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n if (localStorage.getItem(\"page\") && localStorage.getItem(\"page\") != null) {} else {\n return;\n }\n var pageObj = eval('(' + localStorage.getItem(\"page\") + ')');\n var optionData = pageObj.fullModel.templateCache.selectArr || [];\n var _data = optionData;\n return _data;\n }\n },\n\n methods: {\n initCurrtField: function initCurrtField() {\n var props = this.instanceInfo.vm.$data;\n var val = _.get(props, this.field);\n if (val !== undefined) {\n this.val = val;\n }\n },\n handleChange: function handleChange() {}\n },\n mounted: function mounted() {\n debugger;\n this.initCurrtField();\n },\n\n watch: {\n field: function field(n, o) {\n\n if (n === o) {\n return;\n }\n deep: true;\n },\n val: function val(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC10ZW1wbGF0ZVRhYmxlU2VsZWN0L2luZGV4LnZ1ZT80NDNiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQVdBLFU7O0FBQ0E7Ozs7OztrQkFDQTtBQUNBLDJDQUNBLFVBREEsQ0FEQTtBQUlBLG9EQUpBO0FBS0EscURBTEE7QUFNQSxxREFOQTtBQU9BLFFBUEEsa0JBT0E7QUFDQTtBQUNBO0FBREE7QUFHQSxLQVhBOztBQVlBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLEtBWkE7QUFnQkE7QUFDQSx3QkFEQSw4QkFDQTtBQUNBO0FBQ0EsU0FIQTtBQUlBLHFCQUpBLDJCQUlBO0FBQ0E7QUFDQSxTQU5BO0FBT0EsbUJBUEEseUJBT0E7QUFDQSx1RkFFQSxDQUZBLE1BRUE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXJCQSxLQWhCQTs7QUF3Q0E7QUFDQSxzQkFEQSw0QkFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQVBBO0FBUUEsb0JBUkEsMEJBUUEsQ0FFQTtBQVZBLEtBeENBO0FBb0RBLFdBcERBLHFCQW9EQTtBQUNBO0FBQ0E7QUFDQSxLQXZEQTs7QUF3REE7QUFDQSxhQURBLGlCQUNBLENBREEsRUFDQSxDQURBLEVBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQSxTQVRBO0FBVUEsV0FWQSxlQVVBLENBVkEsRUFVQSxDQVZBLEVBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZkE7QUF4REEsQyIsImZpbGUiOiIxNDguanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cclxuICAgICAgICA8Q29udGFpbmVyPlxyXG4gICAgICAgICAgICA8U2VsZWN0IHYtbW9kZWw9XCJ2YWxcIiBzdHlsZT1cIndpZHRoOiA5Ni41JTtcIiA+XHJcbiAgICAgICAgICAgICAgICA8T3B0aW9uIHYtZm9yPVwiaXRlbSBpbiBvcHRpb25zRGF0YVwiIDp2YWx1ZT1cIml0ZW0uc2VsZWN0TmFtZXx8JydcIiA6a2V5PVwiaXRlbS5zZWxlY3ROYW1lXCI+e3sgaXRlbS5zZWxlY3ROYW1lIH19PC9PcHRpb24+XHJcbiAgICAgICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQgKiBhcyBjb21wb25lbnRzIGZyb20gJy4vc3R5bGUnO1xyXG5pbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgY29tcG9uZW50czoge1xyXG4gICAgICAgIC4uLmNvbXBvbmVudHNcclxuICAgIH0sXHJcbiAgICBtaXhpbnM6IFtQcm9wZXJ0eU1peGluXSxcclxuICAgIHBvc2l0aW9uOiAnbWFpblRvb2xFZGl0b3JUeXBlVGVtcGxhdGVUYWJsZVNlbGVjdCcsXHJcbiAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLXRlbXBsYXRlVGFibGVTZWxlY3QnLFxyXG4gICAgZGF0YSAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdmFsOnRoaXMuZWRpdG9yLnZhbHx8JydcclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIHByb3BzOiB7XHJcbiAgICAgICAgaW5zdGFuY2VJbmZvOiBPYmplY3QsXHJcbiAgICAgICAgZWRpdG9yOiBPYmplY3RcclxuICAgIH0sXHJcbiAgICBjb21wdXRlZDoge1xyXG4gICAgICAgIGFwcGxpY2F0aW9uU3RhdGUgKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUuYXBwbGljYXRpb247XHJcbiAgICAgICAgfSxcclxuICAgICAgICB2aWV3cG9ydFN0YXRlICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb3B0aW9uc0RhdGEgKCkge1xyXG4gICAgICAgICAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwYWdlXCIpICYmIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwicGFnZVwiKSAhPSBudWxsKSB7XHJcblxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLyp0aGlzLiRNb2RhbC5zdWNjZXNzKHtcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLlj4vmg4Xmj5DnpLpcIixcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIuivt+WFiOWFqOWxgOiuvue9ru+8gVwiXHJcbiAgICAgICAgICAgICAgICB9KTsqL1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBwYWdlT2JqID0gZXZhbCgnKCcgKyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInBhZ2VcIikgKyAnKScpOy8vSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInBhZ2VcIikpO1xyXG4gICAgICAgICAgICBsZXQgb3B0aW9uRGF0YT0gcGFnZU9iai5mdWxsTW9kZWwudGVtcGxhdGVDYWNoZS5zZWxlY3RBcnJ8fFtdO1xyXG4gICAgICAgICAgICBsZXQgX2RhdGEgPSAgb3B0aW9uRGF0YTtcclxuICAgICAgICAgICAgcmV0dXJuIF9kYXRhO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgbWV0aG9kczoge1xyXG4gICAgICAgIGluaXRDdXJydEZpZWxkICgpIHtcclxuICAgICAgICAgICAgbGV0IHByb3BzID0gdGhpcy5pbnN0YW5jZUluZm8udm0uJGRhdGE7XHJcbiAgICAgICAgICAgIGxldCB2YWwgPSBfLmdldChwcm9wcywgdGhpcy5maWVsZCk7XHJcbiAgICAgICAgICAgIGlmICh2YWwgIT09IHVuZGVmaW5lZCkgey8v5pS55Li6dW5kZWZpbmVkLOagoemqjGJvb2xlYW7nsbvlnotmYWxzZemUmeivr1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWwgPSB2YWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGhhbmRsZUNoYW5nZSAoKSB7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtb3VudGVkKCkge1xyXG4gICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgIHRoaXMuaW5pdEN1cnJ0RmllbGQoKTtcclxuICAgIH0sXHJcbiAgICB3YXRjaDoge1xyXG4gICAgICAgIGZpZWxkIChuLCBvKSB7XHJcblxyXG4gICAgICAgICAgICBpZiAobiA9PT0gbykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGRlZXA6dHJ1ZS8v5a+56LGh5YaF6YOo55qE5bGe5oCn55uR5ZCs77yM5Lmf5Y+r5rex5bqm55uR5ZCsXHJcblxyXG4gICAgICAgICAgICAvLyAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdmFsIChuLCBvKSB7XHJcbiAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC10ZW1wbGF0ZVRhYmxlU2VsZWN0L2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///148\n");
1052
1053/***/ }),
1054/* 149 */
1055/***/ (function(module, exports, __webpack_require__) {
1056
1057"use strict";
1058eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(537);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeTimeSelect',\n name: 'main-tool-editor-type-timeSelect',\n data: function data() {\n return {\n propArr: []\n };\n },\n\n props: {\n instanceInfo: Object,\n editor: Object\n },\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n optionsData: function optionsData() {\n var _data = this.propArr || [];\n return _data;\n }\n },\n methods: {\n initSelectValue: function initSelectValue() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n if (currentInstance.data.extend.type) {\n this.value = currentInstance.data.extend.type;\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n _this.propArr = configPageIde.timeType;\n _this.initSelectValue();\n },\n\n watch: {\n value: function value(n, o) {\n if (n === o) {\n return;\n }\n var comVal = '';\n if (n !== \"textarea\") {\n comVal = \"extend.rows\";\n }\n _eventbus2.default.$emit(\"computIsShow\", { com: comVal });\n debugger;\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n currentInstance.data.extend.type = n;\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC10aW1lU2VsZWN0L2luZGV4LnZ1ZT83NzAyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQWVBLFU7O0FBQ0E7O0FBQ0E7Ozs7Ozs7O2tCQUNBO0FBQ0EsMkNBQ0EsVUFEQSxDQURBO0FBSUEsb0RBSkE7QUFLQSw0Q0FMQTtBQU1BLDRDQU5BO0FBT0EsUUFQQSxrQkFPQTtBQUNBO0FBQ0E7QUFEQTtBQUdBLEtBWEE7O0FBWUE7QUFDQSw0QkFEQTtBQUVBO0FBRkEsS0FaQTtBQWdCQTtBQUNBLHdCQURBLDhCQUNBO0FBQ0E7QUFDQSxTQUhBO0FBSUEscUJBSkEsMkJBSUE7QUFDQTtBQUNBLFNBTkE7QUFPQSxtQkFQQSx5QkFPQTtBQUNBO0FBQ0E7QUFDQTtBQVZBLEtBaEJBO0FBNEJBO0FBQ0EsdUJBREEsNkJBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQVBBLEtBNUJBO0FBcUNBLFdBckNBLHFCQXFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBekNBOztBQTBDQTtBQUNBLGFBREEsaUJBQ0EsQ0FEQSxFQUNBLENBREEsRUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFmQTtBQTFDQSxDIiwiZmlsZSI6IjE0OS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJ0b29sLXR5cGUtdGltZVNlbGVjdFwiIHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cclxuICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2wtdHlwZS1kaXZcIj5cclxuICAgICAgICAgICAgIDxwIGNsYXNzPVwiZWRpdG9yVGV4dFN0eWxlXCI+XHJcbiAgICAgICAgICAgICAgICAge3tlZGl0b3IudGV4dH19XHJcbiAgICAgICAgICAgICAgICAgPHNwYW4gOmNsYXNzPVwibm9WYWxpZGF0ZT8nZWRpdG9yTWF4Rm9udFN0eWxlJzonZWRpdG9yTWF4Rm9udFN0eWxlRmFsc2UnXCIgIHYtaWY9XCJlZGl0b3IubWF4Rm9udFwiPuacgOWkmnt7ZWRpdG9yLm1heEZvbnR9feWtlzwvc3Bhbj5cclxuICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgPFNlbGVjdCB2LW1vZGVsPVwidmFsdWVcIiBzdHlsZT1cIndpZHRoOjk2LjUlO1wiID5cclxuICAgICAgICAgICAgICAgIDxPcHRpb24gdi1mb3I9XCJpdGVtIGluIG9wdGlvbnNEYXRhXCIgOnZhbHVlPVwiaXRlbS52YWx1ZXx8JydcIiA6a2V5PVwiaXRlbS52YWx1ZVwiPnt7IGl0ZW0ua2V5IH19PC9PcHRpb24+XHJcbiAgICAgICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQgKiBhcyBjb21wb25lbnRzIGZyb20gJy4vc3R5bGUnO1xyXG5pbXBvcnQge1Byb3BlcnR5TWl4aW59IGZyb20gJy4uLy4uL3NlcnZpY2UvbWFpbi10b29sLWVkaXRvci10eXBlLW1peGluJztcclxuaW1wb3J0IGV2ZW50YnVzIGZyb20gJy4uLy4uL3NlcnZpY2UvZXZlbnRidXMnO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICBjb21wb25lbnRzOiB7XHJcbiAgICAgICAgLi4uY29tcG9uZW50c1xyXG4gICAgfSxcclxuICAgIG1peGluczogW1Byb3BlcnR5TWl4aW5dLFxyXG4gICAgcG9zaXRpb246ICdtYWluVG9vbEVkaXRvclR5cGVUaW1lU2VsZWN0JyxcclxuICAgIG5hbWU6ICdtYWluLXRvb2wtZWRpdG9yLXR5cGUtdGltZVNlbGVjdCcsXHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBwcm9wQXJyOltdXHJcbiAgICAgICAgfTtcclxuICAgIH0sXHJcbiAgICBwcm9wczoge1xyXG4gICAgICAgIGluc3RhbmNlSW5mbzogT2JqZWN0LFxyXG4gICAgICAgIGVkaXRvcjogT2JqZWN0XHJcbiAgICB9LFxyXG4gICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICBhcHBsaWNhdGlvblN0YXRlICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdmlld3BvcnRTdGF0ZSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG9wdGlvbnNEYXRhICgpIHtcclxuICAgICAgICAgICAgbGV0IF9kYXRhID0gdGhpcy5wcm9wQXJyIHx8IFtdO1xyXG4gICAgICAgICAgICByZXR1cm4gX2RhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIG1ldGhvZHM6e1xyXG4gICAgICAgIGluaXRTZWxlY3RWYWx1ZSgpe1xyXG4gICAgICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlID0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzLmdldCh0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgLy9ub3RlIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgICAgICAgIGlmIChjdXJyZW50SW5zdGFuY2UuZGF0YS5leHRlbmQudHlwZSkge1xyXG4gICAgICAgICAgICAgICAgIHRoaXMudmFsdWU9IGN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4dGVuZC50eXBlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgbW91bnRlZCgpe1xyXG4gICAgICAgIGxldCBfdGhpcz10aGlzO1xyXG4gICAgICAgICAgICBfdGhpcy5wcm9wQXJyPWNvbmZpZ1BhZ2VJZGUudGltZVR5cGU7XHJcbiAgICAgICAgICAgIF90aGlzLmluaXRTZWxlY3RWYWx1ZSgpO1xyXG4gICAgfSxcclxuICAgIHdhdGNoOiB7XHJcbiAgICAgICAgdmFsdWUgKG4sIG8pIHtcclxuICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgY29tVmFsID0gJyc7XHJcbiAgICAgICAgICAgIGlmKG4hPT1cInRleHRhcmVhXCIpe1xyXG4gICAgICAgICAgICAgICAgY29tVmFsID0gXCJleHRlbmQucm93c1wiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGV2ZW50YnVzLiRlbWl0KFwiY29tcHV0SXNTaG93XCIse2NvbTpjb21WYWx9KTsvL+eUqOadpeaMiemcgOmakOiXj+mcgOimgemakOiXj+eahOe7hOS7tlxyXG4gICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZSA9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcy5nZXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgIC8vbm90ZSDkuLrkuovku7bmlrDlop7kuIDpoblcclxuICAgICAgICAgICAgLy8gIGlmIChjdXJyZW50SW5zdGFuY2UuZGF0YS5leHRlbmQudHlwZSkge1xyXG4gICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5leHRlbmQudHlwZT1uO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgbGFuZz1cImxlc3NcIj5cclxuLnRvb2wtdHlwZS10aW1lU2VsZWN0e1xyXG4gICAgIG1hcmdpbjogMTBweCA4cHggMDtcclxuICAgIC50b29sLXR5cGUtZGl2IHtcclxuICAgICAgICBtYXJnaW46IDVweCA4cHggMDtcclxuICAgICAgICAuZWRpdG9yVGV4dFN0eWxlIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogIzE5MWYyNTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgICAgICAgICAuZWRpdG9yTWF4Rm9udFN0eWxlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1LCAzMSwgMzcsIC40KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZWRpdG9yTWF4Rm9udFN0eWxlRmFsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHJlZDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtdGltZVNlbGVjdC9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///149\n");
1059
1060/***/ }),
1061/* 150 */
1062/***/ (function(module, exports, __webpack_require__) {
1063
1064"use strict";
1065eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(542);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeTitle',\n name: 'main-tool-editor-type-title',\n computed: {\n currentEditInstanceKey: function currentEditInstanceKey() {\n var currentEditInstanceKey = this.$store.state.viewport.currentEditInstanceKey;\n return currentEditInstanceKey;\n }\n },\n mounted: function mounted() {\n\n this.initCurrtField();\n this.setInstanceProps(this.value);\n },\n data: function data() {\n return {\n value: this.editor.value || ''\n };\n },\n\n watch: {}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC10aXRsZS9pbmRleC52dWU/NTY0MSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFPQSxVOztBQUNBOzs7Ozs7a0JBQ0E7QUFDQSwyQ0FDQSxVQURBLENBREE7QUFJQSxvREFKQTtBQUtBLHVDQUxBO0FBTUEsdUNBTkE7QUFPQTtBQUNBLDhCQURBLG9DQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkEsS0FQQTtBQWFBLFdBYkEscUJBYUE7O0FBRUE7QUFDQTtBQUNBLEtBakJBO0FBa0JBLFFBbEJBLGtCQWtCQTtBQUNBO0FBQ0E7QUFEQTtBQUdBLEtBdEJBOztBQXVCQTtBQXZCQSxDIiwiZmlsZSI6IjE1MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgIDxkaXYgIGNsYXNzPVwidGl0bGVQcm9wXCI+XHJcbiAgICAgICAgICAgIDxkaXY+e3tlZGl0b3IudGV4dH19PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbiAgICBpbXBvcnQgKiBhcyBjb21wb25lbnRzIGZyb20gJy4vc3R5bGUnO1xyXG4gICAgaW1wb3J0IHtQcm9wZXJ0eU1peGlufSBmcm9tICcuLi8uLi9zZXJ2aWNlL21haW4tdG9vbC1lZGl0b3ItdHlwZS1taXhpbic7XHJcbiAgICBleHBvcnQgZGVmYXVsdCB7XHJcbiAgICAgICAgY29tcG9uZW50czoge1xyXG4gICAgICAgICAgICAuLi5jb21wb25lbnRzXHJcbiAgICAgICAgfSxcclxuICAgICAgICBtaXhpbnM6IFtQcm9wZXJ0eU1peGluXSxcclxuICAgICAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yVHlwZVRpdGxlJyxcclxuICAgICAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLXRpdGxlJyxcclxuICAgICAgICBjb21wdXRlZDoge1xyXG4gICAgICAgICAgICBjdXJyZW50RWRpdEluc3RhbmNlS2V5KCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRFZGl0SW5zdGFuY2VLZXkgPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50RWRpdEluc3RhbmNlS2V5O1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRFZGl0SW5zdGFuY2VLZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIG1vdW50ZWQoKSB7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmluaXRDdXJydEZpZWxkKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyh0aGlzLnZhbHVlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRhdGEoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5lZGl0b3IudmFsdWUgfHwgJydcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgd2F0Y2g6IHtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgc2NvcGVkIGxhbmc9XCJsZXNzXCI+XHJcbiAgIC50aXRsZVByb3B7XHJcbiAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICAgICBib3gtc2hhZG93OiBpbnNldCAwcHggLTFweCAwcHggMHB4IHJnYmEoMCwwLDAsMC4wOSk7XHJcbiAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICBjb2xvcjogIzE5MWYyNTtcclxuICAgICAgIGxpbmUtaGVpZ2h0OiA0NnB4O1xyXG4gICAgICAgcGFkZGluZzogMCAxNnB4O1xyXG4gIH1cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtdGl0bGUvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///150\n");
1066
1067/***/ }),
1068/* 151 */
1069/***/ (function(module, exports, __webpack_require__) {
1070
1071"use strict";
1072eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(18);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(547);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _mainToolEditorTypeMixin = __webpack_require__(6);\n\nvar _toolService = __webpack_require__(14);\n\nvar _toolService2 = _interopRequireDefault(_toolService);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n mixins: [_mainToolEditorTypeMixin.PropertyMixin],\n position: 'mainToolEditorTypeValidateInput',\n name: 'main-tool-editor-type-validateInput',\n data: function data() {\n return {\n validateCustomeAllType: configPageIde.validateCustomeAllType,\n validateType: configPageIde.validateType,\n propList: [],\n triggerType: configPageIde.validateClick,\n custom: false,\n val: false,\n arrList: []\n };\n },\n mounted: function mounted() {\n this.addArr();\n this.initCurrtField();\n },\n\n computed: {\n getArrList: function getArrList() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n\n if (!currentInstance.data.validateArr) {\n currentInstance.data.validateArr = [];\n }\n return currentInstance.data.validateArr;\n },\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n }\n },\n methods: {\n updateMaxLength: function updateMaxLength(val) {\n debugger;\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n if (currentInstance.gaeaKey == \"gaea-input\" || currentInstance.gaeaKey == \"gaea-textarea\") {\n this.$store.commit('viewport/setInstanceProps', {\n vm: currentInstance.vm,\n key: \"extend\",\n value: {\n maxLength: val\n }\n });\n } else {}\n },\n updatePlaceholder: function updatePlaceholder(val) {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n },\n typeChange: function typeChange(val) {\n debugger;\n this.custom = false;\n switch (val) {\n case \"custom\":\n {\n this.custom = true;\n }\n break;\n }\n },\n delArr: function delArr(index) {\n this.$store.commit('viewport/delValidateEventArr', { index: index });\n },\n addArr: function addArr() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n if (currentInstance.data.validateArr.length > 0) {\n return \"\";\n }\n this.$store.commit('viewport/addValidateEventArr', {});\n },\n addChildArr: function addChildArr(index) {\n\n this.$store.commit('viewport/addValidateEventChildArr', { index: index });\n },\n delChildArr: function delChildArr(parentIndex, index) {\n\n this.$store.commit('viewport/delValidateEventChildArr', { parentIndex: parentIndex, index: index });\n },\n handleChange: function handleChange() {},\n initPropList: function initPropList() {\n if (localStorage.propInfo && localStorage.propInfo != \"undefined\") {\n var res = JSON.parse(localStorage.propInfo);\n var propArr = [];\n var targetArr = [];\n for (var propObj in res.prop) {\n propArr = [].concat((0, _toConsumableArray3.default)(propArr), (0, _toConsumableArray3.default)(res.prop[propObj]));\n }\n var mockData = [];\n if (localStorage.selectProp && localStorage.selectProp != \"undefined\") {\n var pageObj = eval('(' + localStorage.selectProp + ')');\n propArr = [].concat((0, _toConsumableArray3.default)(propArr), (0, _toConsumableArray3.default)(pageObj));\n }\n this.propList = propArr;\n }\n }\n },\n watch: {\n val: function val(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input1: function input1(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n },\n input2: function input2(n, o) {\n if (n === o) {\n return;\n }\n this.setInstanceProps(n);\n }\n },\n created: function created() {\n this.initPropList();\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC12YWxpZGF0ZUlucHV0L2luZGV4LnZ1ZT85NWU1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7SUFpQ0EsVTs7QUFDQTs7QUFDQTs7Ozs7Ozs7a0JBRUE7QUFDQSwyQ0FDQSxVQURBLENBREE7QUFJQSxvREFKQTtBQUtBLCtDQUxBO0FBTUEsK0NBTkE7QUFPQSxRQVBBLGtCQU9BO0FBQ0E7QUFDQSx3RUFEQTtBQUVBLG9EQUZBO0FBR0Esd0JBSEE7QUFJQSxvREFKQTtBQUtBLHlCQUxBO0FBTUEsc0JBTkE7QUFPQTtBQVBBO0FBU0EsS0FqQkE7QUFrQkEsV0FsQkEscUJBa0JBO0FBQ0E7QUFDQTtBQUNBLEtBckJBOztBQXNCQTtBQWFBLGtCQWJBLHdCQWFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQXBCQTtBQXFCQSx3QkFyQkEsOEJBcUJBO0FBQ0E7QUFDQSxTQXZCQTtBQXdCQSxxQkF4QkEsMkJBd0JBO0FBQ0E7QUFDQTtBQTFCQSxLQXRCQTtBQWtEQTtBQUNBLHVCQURBLDJCQUNBLEdBREEsRUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0EsMENBREE7QUFFQSxpQ0FGQTtBQUdBO0FBQ0E7QUFEQTtBQUhBO0FBT0EsYUFUQSxNQVNBLENBQ0E7QUFDQSxTQWZBO0FBZ0JBLHlCQWhCQSw2QkFnQkEsR0FoQkEsRUFnQkE7QUFDQTtBQVVBLFNBM0JBO0FBNEJBLGtCQTVCQSxzQkE0QkEsR0E1QkEsRUE0QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFNQSxTQXJDQTtBQXNDQSxjQXRDQSxrQkFzQ0EsS0F0Q0EsRUFzQ0E7QUFDQTtBQUNBLFNBeENBO0FBeUNBLGNBekNBLG9CQXlDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQSxTQWhEQTtBQWlEQSxtQkFqREEsdUJBaURBLEtBakRBLEVBaURBOztBQUVBO0FBS0EsU0F4REE7QUF5REEsbUJBekRBLHVCQXlEQSxXQXpEQSxFQXlEQSxLQXpEQSxFQXlEQTs7QUFFQTtBQUtBLFNBaEVBO0FBaUVBLG9CQWpFQSwwQkFpRUEsQ0FFQSxDQW5FQTtBQW9FQSxvQkFwRUEsMEJBb0VBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBckZBLEtBbERBO0FBeUlBO0FBQ0EsV0FEQSxlQUNBLENBREEsRUFDQSxDQURBLEVBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBTkE7QUFPQSxjQVBBLGtCQU9BLENBUEEsRUFPQSxDQVBBLEVBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBWkE7QUFhQSxjQWJBLGtCQWFBLENBYkEsRUFhQSxDQWJBLEVBYUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBbEJBLEtBeklBO0FBNkpBLFdBN0pBLHFCQTZKQTtBQUNBO0FBQ0E7QUEvSkEsQyIsImZpbGUiOiIxNTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwidG9vbC10eXBlLXZhbGlkYXRlSW5wdXRcIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiID5cclxuICAgICAgICA8dWwgY2xhc3M9XCJ0b29sLXR5cGUtdWxcIj5cclxuICAgICAgICAgICAgPGxpIHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIGdldEFyckxpc3RcIj5cclxuICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSB2LWlmPVwiaW5kZXg9PTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZWRpdG9yVGV4dFN0eWxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsPuW/heWhqzwvTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXRjaC1zdHlsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aS1zd2l0Y2ggIGNsYXNzPVwiXCIgdi1tb2RlbD1cIml0ZW0ucmVxdWlyZWRcIiBAb24tY2hhbmdlPVwidXBkYXRlUGxhY2Vob2xkZXIoaXRlbS5yZXF1aXJlZClcIiA+PC9pLXN3aXRjaD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZWRpdG9yVGV4dFN0eWxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbD7mj5DnpLrkv6Hmga88L0xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0IGNsYXNzPVwiZWRpdG9ySW5wdXRcIiBwbGFjZWhvbGRlcj1cIuS4jeiDveS4uuepulwiIGNsZWFyYWJsZSB2LW1vZGVsPVwiaXRlbS5tZXNzYWdlXCIgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPHRlbXBsYXRlIHYtZWxzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZWRpdG9yVGV4dFN0eWxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbD7mnIDlpJrlj6/ovpPlhaXmlofmnKzplb/luqYo5LiqKTwvTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXROdW1iZXIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiBjbGFzcz1cImVkaXRvcklucHV0XCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXmnIDlpKfmlofmnKzplb/luqZcIiBAb24tY2hhbmdlPVwidXBkYXRlTWF4TGVuZ3RoKGl0ZW0ubWF4TGVuZ3RoKVwiICAgdi1tb2RlbD1cIml0ZW0ubWF4TGVuZ3RoXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbiAgICBpbXBvcnQgKiBhcyBjb21wb25lbnRzIGZyb20gJy4vc3R5bGUnO1xyXG4gICAgaW1wb3J0IHtQcm9wZXJ0eU1peGlufSBmcm9tICcuLi8uLi9zZXJ2aWNlL21haW4tdG9vbC1lZGl0b3ItdHlwZS1taXhpbic7XHJcbiAgICBpbXBvcnQgU2VydmljZSBmcm9tIFwiLi4vLi4vc2VydmljZS90b29sLXNlcnZpY2VcIjtcclxuXHJcbiAgICBleHBvcnQgZGVmYXVsdCB7XHJcbiAgICAgICAgY29tcG9uZW50czoge1xyXG4gICAgICAgICAgICAuLi5jb21wb25lbnRzLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWl4aW5zOiBbUHJvcGVydHlNaXhpbl0sXHJcbiAgICAgICAgcG9zaXRpb246ICdtYWluVG9vbEVkaXRvclR5cGVWYWxpZGF0ZUlucHV0JyxcclxuICAgICAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLXZhbGlkYXRlSW5wdXQnLFxyXG4gICAgICAgIGRhdGEoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICB2YWxpZGF0ZUN1c3RvbWVBbGxUeXBlOiBjb25maWdQYWdlSWRlLnZhbGlkYXRlQ3VzdG9tZUFsbFR5cGUsXHJcbiAgICAgICAgICAgICAgICB2YWxpZGF0ZVR5cGU6IGNvbmZpZ1BhZ2VJZGUudmFsaWRhdGVUeXBlLFxyXG4gICAgICAgICAgICAgICAgcHJvcExpc3Q6IFtdLFxyXG4gICAgICAgICAgICAgICAgdHJpZ2dlclR5cGU6IGNvbmZpZ1BhZ2VJZGUudmFsaWRhdGVDbGljayxcclxuICAgICAgICAgICAgICAgIGN1c3RvbTogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICB2YWw6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgYXJyTGlzdDogW11cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG1vdW50ZWQoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWRkQXJyKCk7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdEN1cnJ0RmllbGQoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXB1dGVkOiB7XHJcbiAgICAgICAgICAgIC8qZ2V0Q2hpbGRMaXN0KCl7XHJcblxyXG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZT0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzLmdldCh0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgICAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5saW5rYWdlQ2hhbmdlVmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5saW5rYWdlQ2hhbmdlVmFsdWUgPSBbXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEubGlua2FnZUNoYW5nZVZhbHVlLnZhbHVlcykge1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmxpbmthZ2VDaGFuZ2VWYWx1ZS52YWx1ZXMgPSBbXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiBjdXJyZW50SW5zdGFuY2UuZGF0YS5saW5rYWdlQ2hhbmdlVmFsdWUudmFsdWVzO1xyXG4gICAgICAgICAgICB9LCovXHJcbiAgICAgICAgICAgIGdldEFyckxpc3QoKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlID0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzLmdldCh0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgICAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS52YWxpZGF0ZUFycikge1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnZhbGlkYXRlQXJyID0gW107XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudEluc3RhbmNlLmRhdGEudmFsaWRhdGVBcnI7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uU3RhdGUoKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUuYXBwbGljYXRpb247XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHZpZXdwb3J0U3RhdGUoKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIG1ldGhvZHM6IHtcclxuICAgICAgICAgICAgdXBkYXRlTWF4TGVuZ3RoKHZhbCl7XHJcbiAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2UgPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgaWYoY3VycmVudEluc3RhbmNlLmdhZWFLZXk9PVwiZ2FlYS1pbnB1dFwifHxjdXJyZW50SW5zdGFuY2UuZ2FlYUtleT09XCJnYWVhLXRleHRhcmVhXCIpe1xyXG4gICAgICAgICAgICAgICAgICAvLyAgY3VycmVudEluc3RhbmNlLmRhdGEuZXh0ZW5kLm1heExlbmd0aD12YWw7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9zZXRJbnN0YW5jZVByb3BzJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2bTogY3VycmVudEluc3RhbmNlLnZtLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IFwiZXh0ZW5kXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IHZhbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdXBkYXRlUGxhY2Vob2xkZXIodmFsKXtcclxuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2UgPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgLyppZighY3VycmVudEluc3RhbmNlLmRhdGEuZXh0ZW5kLnBsYWNlaG9sZGVyKXtcclxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5leHRlbmQucGxhY2Vob2xkZXI9XCLor7fpgInmi6lcIlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYodmFsKXtcclxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5leHRlbmQucGxhY2Vob2xkZXI9Y3VycmVudEluc3RhbmNlLmRhdGEuZXh0ZW5kLnBsYWNlaG9sZGVyK1wiKOW/heWhqylcIjtcclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4dGVuZC5wbGFjZWhvbGRlcj0gY3VycmVudEluc3RhbmNlLmRhdGEuZXh0ZW5kLnBsYWNlaG9sZGVyLnN1YnN0cmluZygwLGN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4dGVuZC5wbGFjZWhvbGRlci5sZW5ndGgtNClcclxuICAgICAgICAgICAgICAgIH0qL1xyXG5cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdHlwZUNoYW5nZSh2YWwpIHtcclxuICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jdXN0b20gPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHN3aXRjaCAodmFsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcImN1c3RvbVwiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBkZWxBcnIoaW5kZXgpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvZGVsVmFsaWRhdGVFdmVudEFycicsIHtpbmRleDogaW5kZXh9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYWRkQXJyKCkge1xyXG4gICAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2UgPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgIGlmKGN1cnJlbnRJbnN0YW5jZS5kYXRhLnZhbGlkYXRlQXJyLmxlbmd0aD4wKXtcclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgIC8vbm90ZSDlpoLmnpzmnInlgLzvvIzlsIbkuI3kvJrlho3ov5vooYzmk43kvZzvvIzlkKbliJnlsIbkvJrmlrDlop7kuIDkuKpcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9hZGRWYWxpZGF0ZUV2ZW50QXJyJywge30pO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBhZGRDaGlsZEFycihpbmRleCkge1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvYWRkVmFsaWRhdGVFdmVudENoaWxkQXJyJywge2luZGV4OiBpbmRleH0pO1xyXG4gICAgICAgICAgICAgICAgLyogIHRoaXMuYXJyTGlzdC5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiBcImlucHV0MVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiBcImlucHV0MlwiXHJcbiAgICAgICAgICAgICAgICAgICB9KSovXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGRlbENoaWxkQXJyKHBhcmVudEluZGV4LCBpbmRleCkge1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvZGVsVmFsaWRhdGVFdmVudENoaWxkQXJyJywge3BhcmVudEluZGV4OiBwYXJlbnRJbmRleCwgaW5kZXg6IGluZGV4fSk7XHJcbiAgICAgICAgICAgICAgICAvKiAgdGhpcy5hcnJMaXN0LnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6IFwiaW5wdXQxXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246IFwiaW5wdXQyXCJcclxuICAgICAgICAgICAgICAgICAgIH0pKi9cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKCkge1xyXG5cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaW5pdFByb3BMaXN0KCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGxvY2FsU3RvcmFnZS5wcm9wSW5mbyAmJiBsb2NhbFN0b3JhZ2UucHJvcEluZm8gIT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCByZXMgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5wcm9wSW5mbyk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHByb3BBcnIgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0QXJyID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgcHJvcE9iaiBpbiByZXMucHJvcCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wQXJyID0gWy4uLnByb3BBcnIsIC4uLnJlcy5wcm9wW3Byb3BPYmpdXTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1vY2tEYXRhID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxvY2FsU3RvcmFnZS5zZWxlY3RQcm9wICYmIGxvY2FsU3RvcmFnZS5zZWxlY3RQcm9wICE9IFwidW5kZWZpbmVkXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBhZ2VPYmogPSBldmFsKCcoJyArIGxvY2FsU3RvcmFnZS5zZWxlY3RQcm9wICsgJyknKTsvL0pTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwYWdlXCIpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gIHRpdGxlOlwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BBcnIgPSBbLi4ucHJvcEFyciwgLi4ucGFnZU9ial07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcExpc3QgPSBwcm9wQXJyO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICB3YXRjaDoge1xyXG4gICAgICAgICAgICB2YWwobiwgbykge1xyXG4gICAgICAgICAgICAgICAgaWYgKG4gPT09IG8pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHMobik7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGlucHV0MShuLCBvKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobiA9PT0gbykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaW5wdXQyKG4sIG8pIHtcclxuICAgICAgICAgICAgICAgIGlmIChuID09PSBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnN0YW5jZVByb3BzKG4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjcmVhdGVkKCkge1xyXG4gICAgICAgICAgICB0aGlzLmluaXRQcm9wTGlzdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJsZXNzXCIgc2NvcGVkPlxyXG4gICAgLnRvb2wtdHlwZS12YWxpZGF0ZUlucHV0IHtcclxuICAgICAgICBtYXJnaW46IDEwcHggOHB4IDA7XHJcbiAgICAgICAgLnRvb2wtdHlwZS11bCAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCA4cHggMDtcclxuICAgICAgICAgICAgLmVkaXRvclRleHRTdHlsZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICMxOTFmMjU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmVkaXRvcklucHV0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnN3aXRjaC1zdHlsZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pdnUtaW5wdXQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC12YWxpZGF0ZUlucHV0L2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///151\n");
1073
1074/***/ }),
1075/* 152 */
1076/***/ (function(module, exports, __webpack_require__) {
1077
1078"use strict";
1079eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(552);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _service = __webpack_require__(34);\n\nvar _mainToolEditorTypeStyle = __webpack_require__(553);\n\nvar _mainToolEditorTypeStyle2 = _interopRequireDefault(_mainToolEditorTypeStyle);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n position: 'mainToolEditor',\n name: 'main-tool-editor',\n data: function data() {\n return {\n pluginsBelongKeys: _service.SVC.pluginsBelongKeys\n };\n },\n\n computed: {\n currentEditInstanceKey: function currentEditInstanceKey() {\n return this.$store.state.viewport.currentEditInstanceKey;\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci9pbmRleC52dWU/MWNlOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFtQkEsVTs7QUFDQTs7QUFDQTs7Ozs7Ozs7a0JBQ0E7QUFDQSwyQ0FDQSxVQURBLENBREE7QUFJQSw4QkFKQTtBQUtBLDRCQUxBO0FBTUEsUUFOQSxrQkFNQTtBQUNBO0FBQ0E7QUFEQTtBQUdBLEtBVkE7O0FBV0E7QUFPQSw4QkFQQSxvQ0FPQTtBQUNBO0FBQ0E7QUFUQTtBQVhBLEMiLCJmaWxlIjoiMTUyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gICAgPGRpdiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiPlxyXG4gICAgICAgIDxFbXB0eUNvbnRhaW5lciB2LWlmPVwiIWN1cnJlbnRFZGl0SW5zdGFuY2VLZXlcIj5cclxuICAgICAgICAgICAgPEVtcHR5VGl0bGU+XHJcbiAgICAgICAgICAgICAgICDml6DnvJbovpHkv6Hmga9cclxuICAgICAgICAgICAgPC9FbXB0eVRpdGxlPlxyXG4gICAgICAgICAgICA8RW1wdHlEZXNjcmlwdGlvbj5cclxuICAgICAgICAgICAgICAgIOivpee7hOS7tui/mOacqua3u+WKoOe8lui+keS/oeaBr+OAglxyXG4gICAgICAgICAgICA8L0VtcHR5RGVzY3JpcHRpb24+XHJcbiAgICAgICAgPC9FbXB0eUNvbnRhaW5lcj5cclxuICAgICAgICA8Q29udGFpbmVyIHYtZWxzZSA+XHJcbiAgICAgICAgICAgIDxjb21wb25lbnQgOmlzPVwiaXRlbVwiIHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIHBsdWdpbnNCZWxvbmdLZXlzWydtYWluVG9vbEVkaXRvck1hbmFnZXInXVwiIDprZXk9XCJpbmRleFwiPjwvY29tcG9uZW50PlxyXG4gICAgICAgICAgICA8Y29tcG9uZW50IDppcz1cIml0ZW1cIiB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBwbHVnaW5zQmVsb25nS2V5c1snbWFpblRvb2xFZGl0b3JFdmVudCddXCIgOmtleT1cImluZGV4XCI+PC9jb21wb25lbnQ+XHJcbiAgICAgICAgICAgIDxjb21wb25lbnQgOmlzPVwiaXRlbVwiIHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIHBsdWdpbnNCZWxvbmdLZXlzWydtYWluVG9vbEVkaXRvckFkZG9uJ11cIiA6a2V5PVwiaW5kZXhcIj48L2NvbXBvbmVudD5cclxuICAgICAgICA8L0NvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0ICogYXMgY29tcG9uZW50cyBmcm9tICcuL3N0eWxlJztcclxuaW1wb3J0IHtTVkN9IGZyb20gJy4uLy4uL3NlcnZpY2UnO1xyXG5pbXBvcnQgbWFpblRvb2xFZGl0b3JUeXBlU3R5bGUgZnJvbSAnLi4vLi4vcGx1Z2lucy1tYWluLXRvb2wtZWRpdG9yLXR5cGUtc3R5bGUvbWFpbi10b29sLWVkaXRvci10eXBlLXN0eWxlLmxlc3MnO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICBjb21wb25lbnRzOiB7XHJcbiAgICAgICAgLi4uY29tcG9uZW50c1xyXG4gICAgfSxcclxuICAgIHBvc2l0aW9uOiAnbWFpblRvb2xFZGl0b3InLFxyXG4gICAgbmFtZTogJ21haW4tdG9vbC1lZGl0b3InLFxyXG4gICAgZGF0YSAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgcGx1Z2luc0JlbG9uZ0tleXM6IFNWQy5wbHVnaW5zQmVsb25nS2V5c1xyXG4gICAgICAgIH07XHJcbiAgICB9LFxyXG4gICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICAvLyBhcHBsaWNhdGlvblN0YXRlICgpIHtcclxuICAgICAgICAvLyAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgIC8vIH0sXHJcbiAgICAgICAgLy8gdmlld3BvcnRTdGF0ZSAoKSB7XHJcbiAgICAgICAgLy8gICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgY3VycmVudEVkaXRJbnN0YW5jZUtleSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50RWRpdEluc3RhbmNlS2V5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcbiNnYWVhLWVkaXRvci12dWUgLml2dS10YWJzIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4jZ2FlYS1lZGl0b3ItdnVlIC5pdnUtdGFicy1uYXYgLml2dS10YWJzLXRhYiB7XHJcbiAgcGFkZGluZzogMTBweCAxNnB4O1xyXG59XHJcbi5oa2d5U1kge1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG59XHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yL2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///152\n");
1080
1081/***/ }),
1082/* 153 */
1083/***/ (function(module, exports, __webpack_require__) {
1084
1085"use strict";
1086eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _keys = __webpack_require__(41);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(559);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n position: 'mainToolTree',\n name: 'main-tool-tree',\n computed: {\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n componentTree: function componentTree() {\n var _root = this.digui(this.viewportState.rootInstanceKey);\n return [_root];\n },\n instances: function instances() {\n return this.$store.state.viewport.instances;\n }\n },\n methods: {\n digui: function digui(instanceKey) {\n var _this = this;\n\n var instanceInfo = this.instances.get(instanceKey);\n var crrtComponent = this.applicationState.componentClasses.get(instanceInfo.gaeaKey);\n var childs = (0, _keys2.default)(instanceInfo.slots).reduce(function (prev, nxt) {\n return prev.concat(instanceInfo.slots[nxt]);\n }, []);\n var result = {\n title: crrtComponent.editSetting.name,\n type: instanceInfo.gaeaKey,\n id: instanceKey\n };\n if (childs.length) {\n result.expand = true;\n result.children = childs.map(function (item) {\n return _this.digui(item);\n });\n }\n return result;\n },\n renderContent: function renderContent(h, _ref) {\n var root = _ref.root,\n node = _ref.node,\n data = _ref.data;\n\n var _Icon = h('Icon', {\n props: {\n type: 'ios-paper-outline'\n },\n style: {\n marginRight: '8px'\n }\n });\n return h('span', {\n 'class': {\n 'main-tool-tree-node': true\n },\n style: {\n display: 'inline-block', width: '100%', cursor: 'pointer'\n },\n on: {\n click: this.handlerNodeClick.bind(this, data.id),\n mouseover: this.handlerMouseOver,\n mouseleave: this.handlerMouseLeave\n }\n }, [_Icon, h('span', data.title, [h('b', data.id)])]);\n },\n handlerMouseOver: function handlerMouseOver(event) {\n event.stopPropagation();\n var instanceKey = event.target.dataset['instanceKey'];\n if (instanceKey) {\n this.$store.commit('viewport/setCurrentHoverInstanceKey', instanceKey);\n _eventbus2.default.$emit(this.$store.state.viewport.mouseHoveringCrumbItem);\n }\n },\n handlerMouseLeave: function handlerMouseLeave(event) {\n event.stopPropagation();\n this.$store.commit('viewport/setCurrentHoverInstanceKey', null);\n _eventbus2.default.$emit(this.$store.state.viewport.mouseLeaveCrumbItem);\n },\n handlerNodeClick: function handlerNodeClick(instanceKey) {\n this.$store.commit('viewport/setCurrentEditInstanceKey', instanceKey);\n }\n },\n mounted: function mounted() {}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLXRyZWUvaW5kZXgudnVlPzI0YzkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztJQVdBLFU7O0FBQ0E7Ozs7Ozs7O2tCQUNBO0FBQ0EsMkNBQ0EsVUFEQSxDQURBO0FBSUEsNEJBSkE7QUFLQSwwQkFMQTtBQU1BO0FBQ0Esd0JBREEsOEJBQ0E7QUFDQTtBQUNBLFNBSEE7QUFJQSxxQkFKQSwyQkFJQTtBQUNBO0FBQ0EsU0FOQTtBQU9BLHFCQVBBLDJCQU9BO0FBQ0E7QUFDQTtBQUNBLFNBVkE7QUFXQSxpQkFYQSx1QkFXQTtBQUNBO0FBQ0E7QUFiQSxLQU5BO0FBcUJBO0FBQ0EsYUFEQSxpQkFDQSxXQURBLEVBQ0E7QUFBQTs7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBRkEsRUFFQSxFQUZBO0FBR0E7QUFDQSxxREFEQTtBQUVBLDBDQUZBO0FBR0E7QUFIQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBRkE7QUFHQTtBQUNBO0FBQ0EsU0ExQkE7QUEyQkEscUJBM0JBLHlCQTJCQSxDQTNCQSxRQTJCQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTtBQUNBO0FBQ0E7QUFEQSxpQkFEQTtBQUlBO0FBQ0E7QUFEQTtBQUpBO0FBUUE7QUFDQTtBQUNBO0FBREEsaUJBREE7QUFJQTtBQUNBLDJDQURBLEVBQ0EsYUFEQSxFQUNBO0FBREEsaUJBSkE7QUFPQTtBQUNBLG9FQURBO0FBRUEsb0RBRkE7QUFHQTtBQUhBO0FBUEEsZUFZQSxpREFaQTtBQXdCQSxTQTVEQTtBQTZEQSx3QkE3REEsNEJBNkRBLEtBN0RBLEVBNkRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FwRUE7QUFxRUEseUJBckVBLDZCQXFFQSxLQXJFQSxFQXFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBekVBO0FBMEVBLHdCQTFFQSw0QkEwRUEsV0ExRUEsRUEwRUE7QUFDQTtBQUNBO0FBNUVBLEtBckJBO0FBbUdBLFdBbkdBLHFCQW1HQSxDQUNBO0FBcEdBLEMiLCJmaWxlIjoiMTUzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gICAgPGRpdiAgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIj5cclxuICAgICAgICA8Q29udGFpbmVyPlxyXG4gICAgICAgICAgICA8VHJlZUNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxUcmVlIDpkYXRhPVwiY29tcG9uZW50VHJlZVwiIDpyZW5kZXI9XCJyZW5kZXJDb250ZW50XCIgPjwvVHJlZT5cclxuICAgICAgICAgICA8L1RyZWVDb250YWluZXI+XHJcbiAgICAgICAgPC9Db250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbmltcG9ydCBldmVudGJ1cyBmcm9tICcuLi8uLi9zZXJ2aWNlL2V2ZW50YnVzJztcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgY29tcG9uZW50czoge1xyXG4gICAgICAgIC4uLmNvbXBvbmVudHNcclxuICAgIH0sXHJcbiAgICBwb3NpdGlvbjogJ21haW5Ub29sVHJlZScsXHJcbiAgICBuYW1lOiAnbWFpbi10b29sLXRyZWUnLFxyXG4gICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICBhcHBsaWNhdGlvblN0YXRlICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdmlld3BvcnRTdGF0ZSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBvbmVudFRyZWUgKCkge1xyXG4gICAgICAgICAgICBsZXQgX3Jvb3QgPSB0aGlzLmRpZ3VpKHRoaXMudmlld3BvcnRTdGF0ZS5yb290SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICByZXR1cm4gW19yb290XTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGluc3RhbmNlcyAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXM7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIG1ldGhvZHM6IHtcclxuICAgICAgICBkaWd1aSAoaW5zdGFuY2VLZXkpIHtcclxuICAgICAgICAgICAgLyoqXHJcbiAgICAgICAgICAgICAqIHtcclxuICAgICAgICAgICAgICogdGl0bGU6XCJcIixcclxuICAgICAgICAgICAgICogY2hpbGRyZW46W10sXHJcbiAgICAgICAgICAgICAqIGV4cGFuZDp0cnVlXHJcbiAgICAgICAgICAgICAqIH1cclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIGxldCBpbnN0YW5jZUluZm8gPSB0aGlzLmluc3RhbmNlcy5nZXQoaW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICBsZXQgY3JydENvbXBvbmVudCA9IHRoaXMuYXBwbGljYXRpb25TdGF0ZS5jb21wb25lbnRDbGFzc2VzLmdldChpbnN0YW5jZUluZm8uZ2FlYUtleSk7XHJcbiAgICAgICAgICAgIGxldCBjaGlsZHMgPSBPYmplY3Qua2V5cyhpbnN0YW5jZUluZm8uc2xvdHMpLnJlZHVjZSgocHJldiwgbnh0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJldi5jb25jYXQoaW5zdGFuY2VJbmZvLnNsb3RzW254dF0pO1xyXG4gICAgICAgICAgICB9LCBbXSk7XHJcbiAgICAgICAgICAgIGxldCByZXN1bHQgPSB7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogY3JydENvbXBvbmVudC5lZGl0U2V0dGluZy5uYW1lLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogaW5zdGFuY2VJbmZvLmdhZWFLZXksXHJcbiAgICAgICAgICAgICAgICBpZDogaW5zdGFuY2VLZXlcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgaWYgKGNoaWxkcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5leHBhbmQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0LmNoaWxkcmVuID0gY2hpbGRzLm1hcChpdGVtID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kaWd1aShpdGVtKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfSxcclxuICAgICAgICByZW5kZXJDb250ZW50IChoLCB7IHJvb3QsIG5vZGUsIGRhdGEgfSkge1xyXG4gICAgICAgICAgICBsZXQgX0ljb24gPSBoKCdJY29uJywge1xyXG4gICAgICAgICAgICAgICAgcHJvcHM6IHtcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW9zLXBhcGVyLW91dGxpbmUnXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogJzhweCdcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHJldHVybiBoKCdzcGFuJyx7XHJcbiAgICAgICAgICAgICAgICAnY2xhc3MnOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJ21haW4tdG9vbC10cmVlLW5vZGUnOiB0cnVlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgc3R5bGU6e1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLCB3aWR0aDogJzEwMCUnLCBjdXJzb3I6ICdwb2ludGVyJ1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIG9uOntcclxuICAgICAgICAgICAgICAgICAgICBjbGljazp0aGlzLmhhbmRsZXJOb2RlQ2xpY2suYmluZCh0aGlzLCBkYXRhLmlkKSxcclxuICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXI6dGhpcy5oYW5kbGVyTW91c2VPdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgIG1vdXNlbGVhdmU6dGhpcy5oYW5kbGVyTW91c2VMZWF2ZVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFtfSWNvbixoKCdzcGFuJyxkYXRhLnRpdGxlLFtoKCdiJyxkYXRhLmlkKV0pXSk7XHJcbiAgICAgICAgICAvKiAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLCB3aWR0aDogJzEwMCUnLCBjdXJzb3I6ICdwb2ludGVyJyB9fVxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtaW5zdGFuY2UtS2V5PXtkYXRhLmlkfVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWFpbi10b29sLXRyZWUtbm9kZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZW92ZXI9e3RoaXMuaGFuZGxlck1vdXNlT3Zlcn1cclxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlbGVhdmU9e3RoaXMuaGFuZGxlck1vdXNlTGVhdmV9XHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5oYW5kbGVyTm9kZUNsaWNrLmJpbmQodGhpcywgZGF0YS5pZCl9PlxyXG4gICAgICAgICAgICAgICAgICAgIHtfSWNvbn1cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57ZGF0YS50aXRsZX08Yj57ZGF0YS5pZH08L2I+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICApOyovXHJcbiAgICAgICAgfSxcclxuICAgICAgICBoYW5kbGVyTW91c2VPdmVyIChldmVudCkge1xyXG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgbGV0IGluc3RhbmNlS2V5ID0gZXZlbnQudGFyZ2V0LmRhdGFzZXRbJ2luc3RhbmNlS2V5J107XHJcbiAgICAgICAgICAgIGlmIChpbnN0YW5jZUtleSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9zZXRDdXJyZW50SG92ZXJJbnN0YW5jZUtleScsIGluc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgICAgIGV2ZW50YnVzLiRlbWl0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lm1vdXNlSG92ZXJpbmdDcnVtYkl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBoYW5kbGVyTW91c2VMZWF2ZSAoZXZlbnQpIHtcclxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvc2V0Q3VycmVudEhvdmVySW5zdGFuY2VLZXknLCBudWxsKTtcclxuICAgICAgICAgICAgZXZlbnRidXMuJGVtaXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQubW91c2VMZWF2ZUNydW1iSXRlbSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBoYW5kbGVyTm9kZUNsaWNrIChpbnN0YW5jZUtleSkge1xyXG4gICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L3NldEN1cnJlbnRFZGl0SW5zdGFuY2VLZXknLCBpbnN0YW5jZUtleSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIG1vdW50ZWQgKCkge1xyXG4gICAgfVxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBsYW5nPVwibGVzc1wiPlxyXG4jZ2FlYS1lZGl0b3ItdnVlIC5pdnUtdGFicyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuI2dhZWEtZWRpdG9yLXZ1ZSAuaXZ1LXRhYnMtbmF2IC5pdnUtdGFicy10YWIge1xyXG4gIHBhZGRpbmc6IDEwcHggMTZweDtcclxufVxyXG4jZ2FlYS1lZGl0b3ItdnVlIC5pdnUtdGFicy1iYXJ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcbiNnYWVhLWVkaXRvci12dWUgLm1haW4tdG9vbC10cmVlLW5vZGV7XHJcbiAgICBzcGFue1xyXG4gICAgICAgIGJ7XHJcbiAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgIGNvbG9yOiAjY2NjO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmIDpob3ZlcntcclxuICAgICAgICAgICAgY29sb3I6I2Q1ZThmY1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC10cmVlL2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///153\n");
1087
1088/***/ }),
1089/* 154 */
1090/***/ (function(module, exports, __webpack_require__) {
1091
1092"use strict";
1093eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(564);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components),\n position: 'mainTool',\n name: 'main-tool',\n data: function data() {\n return {\n isActive: false,\n myData: configPageIde.instances\n };\n },\n\n computed: {\n applicationState: function applicationState() {\n console.log(\"-------------------->\");\n console.log(this.$store.state.application);\n return this.$store.state.application;\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n _eventbus2.default.$on(\"clickCurrentKey\", function (clickCurrentKey) {\n debugger;\n var viewType = localStorage.getItem(\"viewType\");\n if (viewType == \"2\") {\n _this.isActive = true;\n } else {\n var isContain = configPageIde.instances.indexOf(clickCurrentKey);\n if (isContain == -1) {\n _this.isActive = false;\n } else {\n _this.isActive = true;\n }\n }\n });\n },\n beforeDestroy: function beforeDestroy() {\n _eventbus2.default.$off(\"clickCurrentKey\");\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sL2luZGV4LnZ1ZT9hZTM3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQXNCQSxVOztBQUNBOzs7Ozs7OztrQkFDQTtBQUNBLDJDQUNBLFVBREEsQ0FEQTtBQUlBLHdCQUpBO0FBS0EscUJBTEE7QUFNQSxRQU5BLGtCQU1BO0FBQ0E7QUFDQSwyQkFEQTtBQUVBO0FBRkE7QUFJQSxLQVhBOztBQVlBO0FBQ0Esd0JBREEsOEJBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBLEtBWkE7QUFtQkEsV0FuQkEscUJBbUJBO0FBQUE7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBRkEsTUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBLGlCQUhBLE1BR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxTQWZBO0FBZ0JBLEtBcENBO0FBcUNBLGlCQXJDQSwyQkFxQ0E7QUFDQTtBQUNBO0FBdkNBLEMiLCJmaWxlIjoiMTU0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gICAgPGRpdiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiPlxyXG4gICAgICAgIDxDb250YWluZXI+XHJcbiAgICAgICAgICAgIDxUYWJzPlxyXG4gICAgICAgICAgICAgICAgPFRhYlBhbmUgbGFiZWw9XCLlsZ7mgKdcIiBuYW1lPVwicHJvcGVydHlcIiBzdHlsZT1cIndpZHRoOiAxMDAlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNvbXBvbmVudCA6aXM9XCJpdGVtXCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gYXBwbGljYXRpb25TdGF0ZS5wbHVnaW5zQmVsb25nS2V5c1snbWFpblRvb2xFZGl0b3InXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6a2V5PVwiaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlzYWJsZWRDbGFzc1wiIHYtaWY9XCJpc0FjdGl2ZVwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvVGFiUGFuZT5cclxuICAgICAgICAgICAgICAgPCEtLSA8VGFiUGFuZSBsYWJlbD1cIue7hOS7tuagkVwiIG5hbWU9XCJjb21wb25lbnRUcmVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNvbXBvbmVudCA6aXM9XCJpdGVtXCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gYXBwbGljYXRpb25TdGF0ZS5wbHVnaW5zQmVsb25nS2V5c1snbWFpblRvb2xUcmVlJ11cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmtleT1cImluZGV4XCI+PC9jb21wb25lbnQ+XHJcbiAgICAgICAgICAgICAgICA8L1RhYlBhbmU+LS0+XHJcbiAgICAgICAgICAgIDwvVGFicz5cclxuICAgICAgICA8L0NvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIGltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XHJcbiAgICBpbXBvcnQgZXZlbnRidXMgZnJvbSAnLi4vLi4vc2VydmljZS9ldmVudGJ1cyc7XHJcbiAgICBleHBvcnQgZGVmYXVsdCB7XHJcbiAgICAgICAgY29tcG9uZW50czoge1xyXG4gICAgICAgICAgICAuLi5jb21wb25lbnRzXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwb3NpdGlvbjogJ21haW5Ub29sJyxcclxuICAgICAgICBuYW1lOiAnbWFpbi10b29sJyxcclxuICAgICAgICBkYXRhKCl7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgIGlzQWN0aXZlOmZhbHNlLFxyXG4gICAgICAgICAgICAgbXlEYXRhOmNvbmZpZ1BhZ2VJZGUuaW5zdGFuY2VzLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICAgICAgYXBwbGljYXRpb25TdGF0ZSgpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiLS0tLS0tLS0tLS0tLS0tLS0tLS0+XCIpO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy4kc3RvcmUuc3RhdGUuYXBwbGljYXRpb24pO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLmFwcGxpY2F0aW9uO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtb3VudGVkKCkge1xyXG4gICAgICAgICAgICBldmVudGJ1cy4kb24oXCJjbGlja0N1cnJlbnRLZXlcIiwoY2xpY2tDdXJyZW50S2V5KT0+e1xyXG4gICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICBsZXQgdmlld1R5cGU9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidmlld1R5cGVcIik7XHJcbiAgICAgICAgICAgICAgICBpZih2aWV3VHlwZT09XCIyXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNBY3RpdmU9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpc0NvbnRhaW4gPSBjb25maWdQYWdlSWRlLmluc3RhbmNlcy5pbmRleE9mKGNsaWNrQ3VycmVudEtleSk7IC8vIDJcclxuICAgICAgICAgICAgICAgICAgICBpZihpc0NvbnRhaW49PS0xKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOivtOaYjuaYr+WQjuaLlui/m+adpeeahFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQWN0aXZlPWZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQWN0aXZlPXRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBiZWZvcmVEZXN0cm95KCl7XHJcbiAgICAgICAgICAgIGV2ZW50YnVzLiRvZmYoXCJjbGlja0N1cnJlbnRLZXlcIik7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcbiAgICAuZGlzYWJsZWRDbGFzc3tcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOjBweDtcclxuICAgICAgICBsZWZ0OiAwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGdyYXk7XHJcbiAgICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgfVxyXG4gICAgI2dhZWEtZWRpdG9yLXZ1ZSAuaXZ1LXRhYnMge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgI2dhZWEtZWRpdG9yLXZ1ZSAuaXZ1LXRhYnMtbmF2IC5pdnUtdGFicy10YWIge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTZweDtcclxuICAgIH1cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///154\n");
1094
1095/***/ }),
1096/* 155 */
1097/***/ (function(module, exports, __webpack_require__) {
1098
1099"use strict";
1100eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assign = __webpack_require__(40);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _regenerator = __webpack_require__(96);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _stringify = __webpack_require__(24);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nvar _asyncToGenerator2 = __webpack_require__(97);\n\nvar _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);\n\nvar _getIterator2 = __webpack_require__(46);\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nvar _slicedToArray2 = __webpack_require__(76);\n\nvar _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\nvar _create = __webpack_require__(77);\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _style = __webpack_require__(569);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nvar _fileSaver = __webpack_require__(570);\n\nvar _fileSaver2 = _interopRequireDefault(_fileSaver);\n\nvar _toolService = __webpack_require__(14);\n\nvar _toolService2 = _interopRequireDefault(_toolService);\n\nvar _httpLoading = __webpack_require__(43);\n\nvar _httpLoading2 = _interopRequireDefault(_httpLoading);\n\nvar _mixUtil = __webpack_require__(156);\n\nvar _mixUtil2 = _interopRequireDefault(_mixUtil);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: components,\n position: 'navbarRight',\n mixins: [_mixUtil2.default],\n name: 'save',\n data: function data() {\n return {\n isRerver: false,\n jsonObj: {\n page: {},\n elements: []\n },\n modalpreview: false,\n isShowModal: false\n };\n },\n\n computed: {\n viewportInstances: function viewportInstances() {\n var viewprotInstances = this.$store.state.viewport.instances;\n var obj = (0, _create2.default)(null);\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = (0, _getIterator3.default)(viewprotInstances), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _ref = _step.value;\n\n var _ref2 = (0, _slicedToArray3.default)(_ref, 2);\n\n var k = _ref2[0];\n var v = _ref2[1];\n\n obj[k] = v;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return obj;\n },\n applicationState: function applicationState() {\n return this.$store.state.application;\n },\n viewportState: function viewportState() {\n return this.$store.state.viewport;\n },\n componentTree: function componentTree() {\n debugger;\n\n var _root = this.digui(this.viewportState.rootInstanceKey);\n return [_root][0].children;\n },\n instances: function instances() {\n return this.$store.state.viewport.instances;\n },\n formValidatorRules: function formValidatorRules() {\n debugger;\n var result = _.pickBy(this.viewportInstances, function (value) {\n if (value.data.validateArr && value.data.validateArr.length > 0) {\n value.data.validateArr.forEach(function (v, k) {\n console.log(v);\n if (v.requireKeyValues && v.requireKeyValues.length > 0) {\n v.requireKeyValues.forEach(function (v1, k) {\n console.log(v1);\n if (v1.values.indexOf(\",\") == -1) {} else {\n v1.values = v1.values.split(\",\");\n }\n });\n }\n });\n }\n return value.data.validateArr && value.data.validateArr.length > 0;\n });\n result = _.mapKeys(result, function (value) {\n return value.data.property.prop;\n });\n result = _.mapValues(result, function (value) {\n var validateArr = value.data.validateArr.map(function (value) {\n return _.pickBy(value, function (value) {\n return value;\n });\n });\n return validateArr;\n });\n return result;\n }\n },\n methods: {\n randomString: function randomString(len) {\n len = len || 10;\n var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';\n var maxPos = $chars.length;\n var pwd = '';\n for (i = 0; i < len; i++) {\n pwd += $chars.charAt(Math.floor(Math.random() * maxPos));\n }\n return pwd;\n },\n gobackList: function gobackList() {\n this.$router.push({ name: 'selectTemplate' });\n },\n previewData: function () {\n var _ref3 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() {\n var pageObj, fullModelData, _fullModelData, strJson;\n\n return _regenerator2.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(localStorage.getItem(\"page\") && localStorage.getItem(\"page\") != null)) {\n _context.next = 3;\n break;\n }\n\n _context.next = 5;\n break;\n\n case 3:\n this.$Modal.success({\n title: \"友情提示\",\n content: \"请先全局设置!\"\n });\n return _context.abrupt('return');\n\n case 5:\n debugger;\n this.isShowModal = true;\n console.log(this.viewportInstances);\n console.log(this.componentTree);\n pageObj = eval('(' + localStorage.getItem(\"page\") + ')');\n\n console.log(pageObj);\n\n if (!(pageObj.title == \"上传附件\")) {\n _context.next = 18;\n break;\n }\n\n _context.next = 14;\n return this.getbusinessData(\"2-business\");\n\n case 14:\n fullModelData = _context.sent;\n\n pageObj.fullModel = fullModelData.data;\n _context.next = 24;\n break;\n\n case 18:\n if (!(pageObj.title == \"提交审核\" || pageObj.title == \"已办结\")) {\n _context.next = 24;\n break;\n }\n\n _context.next = 21;\n return this.getbusinessData(\"3-business\");\n\n case 21:\n _fullModelData = _context.sent;\n\n pageObj.fullModel.infoAttachment = _fullModelData.data.infoAttachment;\n pageObj.fullModel.timeLineData = _fullModelData.data.timeLineData;\n\n case 24:\n this.jsonObj.page = pageObj;\n this.jsonObj.elements = [];\n\n\n console.log(this.componentTree);\n\n this.componentTreeFactory(this.componentTree, this.jsonObj.elements);\n\n console.log(this.jsonObj);\n console.log((0, _stringify2.default)(this.jsonObj));\n if (this.isShowModal) {\n this.modalpreview = true;\n strJson = (0, _stringify2.default)(this.jsonObj);\n\n console.log(\"strJson:\" + strJson);\n debugger;\n this.$store.commit('viewport/setPagePriviewData', this.jsonObj);\n this.$router.push({ name: 'pagePreview' });\n }\n\n case 31:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function previewData() {\n return _ref3.apply(this, arguments);\n }\n\n return previewData;\n }(),\n saveData: function saveData() {\n var pageObj = JSON.parse(localStorage.getItem(\"page\"));\n this.jsonObj.page = pageObj;\n this.jsonObj.elements = [];\n this.componentTreeFactory(this.componentTree, this.jsonObj.elements);\n console.log(this.jsonObj);\n console.log((0, _stringify2.default)(this.jsonObj));\n },\n sendBusSaveAllInfo: function sendBusSaveAllInfo() {\n _eventbus2.default.$emit(\"saveAllInfo\", {});\n },\n exportData: function exportData(marker) {\n var _this = this;\n\n debugger;\n alert(111);\n\n debugger;\n console.log(this.componentTree);\n\n configPageIde.page.fullModel.templateCache.validators = [];\n this.jsonObj.page = configPageIde.page;\n this.jsonObj.elements = [];\n this.componentTreeFactory(this.componentTree, this.jsonObj.elements);\n var exportJson = {\n code: 0,\n message: \"\",\n data: {}\n };\n var copyObj = {\n data: this.jsonObj\n };\n (0, _assign2.default)(exportJson, copyObj);\n var data1 = (0, _stringify2.default)(exportJson);\n console.log(data1);\n\n var params = {\n itemNo: localStorage.itemNo,\n itemStep: localStorage.itemStep\n };\n _httpLoading2.default.showLoading(\"正在提交...\");\n\n var jsonArr2 = [];\n var propArr = [];\n var targetArr = [];\n for (var _i = 0; _i < exportJson.data.elements.length; _i++) {\n for (var j = 0; j < exportJson.data.elements[_i].data.length; j++) {\n if (exportJson.data.elements[_i].data[j].type == \"form\") {\n var jsonArr = exportJson.data.elements[_i].data[j].data.items;\n var ruleArr = exportJson.data.elements[_i].data[j].data.rules;\n for (var k = 0; k < propArr.length; k++) {\n for (var m = 0; m < jsonArr.length; m++) {\n if (propArr[k][\"busiId\"] === jsonArr[m][\"busiId\"]) {\n jsonArr[m][\"prop\"] = propArr[k][\"busiName\"];\n delete jsonArr[m][\"rules\"];\n }\n }\n for (var n in ruleArr) {\n if (propArr[k][\"busiId\"] == n) {\n ruleArr[propArr[k][\"busiName\"]] = ruleArr[n];\n delete ruleArr[n];\n }\n }\n }\n }\n }\n }\n if (marker == 1) {\n var data = (0, _stringify2.default)(exportJson);\n var myStr = (0, _stringify2.default)(data);\n console.log(\"-->\" + myStr);\n var toServerParams = {\n itemNo: localStorage.itemNo,\n itemStep: localStorage.itemStep,\n jsonType: 2,\n jsonStr: data\n };\n _toolService2.default.saveTemplateOrJsonToServer(toServerParams).then(function (res) {\n _this.$store.commit('viewport/saveLocalInstances', {});\n });\n } else {\n this.$store.commit('viewport/saveLocalInstances', {});\n\n _httpLoading2.default.closeLoading();\n\n this.isShowModal = true;\n this.modalpreview = true;\n\n var strJson = (0, _stringify2.default)(this.jsonObj);\n console.log(\"strJson:\" + strJson);\n this.$store.commit('viewport/setPagePriviewData', this.jsonObj);\n this.$router.push({ name: 'pagePreview' });\n }\n },\n getbusinessData: function getbusinessData(fileName) {\n return this.$http.get('/static/data/page-ide/' + fileName + '.json');\n },\n deleteData: function deleteData() {\n var state = this.$store.state;\n\n this.$store.commit('viewport/deleteData', state.viewport.currentEditInstanceKey);\n }\n },\n create: function create() {\n var _this2 = this;\n\n _eventbus2.default.$on(\"exportData\", function (num) {\n alert(num);\n _this2.exportData(num);\n });\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvc2F2ZS9pbmRleC52dWU/ZTc0MyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUF3QkEsVTs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7Ozs7OztrQkFDQTtBQUNBLDBCQURBO0FBRUEsMkJBRkE7QUFHQSwrQkFIQTtBQUlBLGdCQUpBO0FBS0EsUUFMQSxrQkFLQTtBQUNBO0FBQ0EsMkJBREE7QUFFQTtBQUNBLHdCQURBO0FBRUE7QUFGQSxhQUZBO0FBTUEsK0JBTkE7QUFPQTtBQVBBO0FBU0EsS0FmQTs7QUFnQkE7QUFDQSx5QkFEQSwrQkFDQTtBQUVBO0FBQ0E7QUFIQTtBQUFBO0FBQUE7O0FBQUE7QUFJQTtBQUFBOztBQUFBOztBQUFBO0FBQUE7O0FBQ0E7QUFDQTtBQU5BO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBT0E7QUFDQSxTQVRBO0FBVUEsd0JBVkEsOEJBVUE7QUFDQTtBQUNBLFNBWkE7QUFhQSxxQkFiQSwyQkFhQTtBQUNBO0FBQ0EsU0FmQTtBQWdCQSxxQkFoQkEsMkJBZ0JBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBckJBO0FBc0JBLGlCQXRCQSx1QkFzQkE7QUFDQTtBQUNBLFNBeEJBO0FBeUJBLDBCQXpCQSxnQ0F5QkE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0EsbUVBRUEsQ0FGQSxNQUVBO0FBQ0E7QUFDQTtBQUVBLDZCQVJBO0FBU0E7QUFDQSxxQkFkQTtBQWVBO0FBQ0E7QUFDQSxhQW5CQTtBQW9CQTtBQUNBO0FBQ0EsYUFGQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBRkE7QUFHQSxpQkFKQTtBQUtBO0FBQ0EsYUFQQTtBQVFBO0FBQ0E7QUE1REEsS0FoQkE7QUE4RUE7QUFDQSxvQkFEQSx3QkFDQSxHQURBLEVBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FWQTtBQVdBLGtCQVhBLHdCQVdBO0FBQ0E7QUFDQSxTQWJBO0FBY0EsbUJBZEE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsc0NBZUEsb0VBZkE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTs7QUFBQTtBQWtCQTtBQUNBLGlEQURBO0FBRUE7QUFGQTtBQWxCQTs7QUFBQTtBQXdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQTVCQSxHQTRCQSw4Q0E1QkE7O0FBNkJBOztBQTdCQSxzQ0ErQkEsdUJBL0JBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUEsdUNBZ0NBLGtDQWhDQTs7QUFBQTtBQWdDQSw2Q0FoQ0E7O0FBaUNBO0FBakNBO0FBQUE7O0FBQUE7QUFBQSxzQ0FrQ0EsaURBbENBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUEsdUNBbUNBLGtDQW5DQTs7QUFBQTtBQW1DQSw4Q0FuQ0E7O0FBb0NBO0FBQ0E7O0FBckNBO0FBdUNBO0FBQ0E7OztBQXNDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLDJDQUhBLEdBR0Esc0NBSEE7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUE1RkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUE4RkEsZ0JBOUZBLHNCQThGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBckdBO0FBdUdBLDBCQXZHQSxnQ0F1R0E7QUFDQTtBQUNBLFNBekdBO0FBMEdBLGtCQTFHQSxzQkEwR0EsTUExR0EsRUEwR0E7QUFBQTs7QUFDQTtBQUNBOztBQVVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQURBO0FBRUEsMkJBRkE7QUFHQTtBQUhBO0FBT0E7QUFDQTtBQURBO0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsMkNBREE7QUFFQTtBQUZBO0FBSUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0NBREE7QUFFQSxtREFGQTtBQUdBLCtCQUhBO0FBSUE7QUFKQTtBQU1BO0FBRUE7QUFFQSxpQkFKQTtBQUtBLGFBaEJBLE1BZ0JBO0FBQ0E7O0FBR0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0EsU0E3TUE7QUE4TUEsdUJBOU1BLDJCQThNQSxRQTlNQSxFQThNQTtBQUNBO0FBQ0EsU0FoTkE7QUFpTkEsa0JBak5BLHdCQWlOQTtBQUNBOztBQUVBO0FBQ0E7QUFyTkEsS0E5RUE7QUFxU0EsVUFyU0Esb0JBcVNBO0FBQUE7O0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FIQTtBQUlBO0FBMVNBLEMiLCJmaWxlIjoiMTU1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gICAgPGRpdj5cclxuICAgICAgPCEtLSAgPENvbnRhaW5lciBAY2xpY2s9XCJleHBvcnREYXRhKDEpXCIgY2xhc3M9XCJzYXZlRGl2c1wiPlxyXG4gICAgICAgICAgICDkv53lrZjmqKHmnb/lkoxKU09OXHJcbiAgICAgICAgPC9Db250YWluZXI+XHJcbiAgICAgICAgJmx0OyEmbmRhc2g7PENvbnRhaW5lciBAY2xpY2s9XCJzYXZlRGF0YSgpXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6MzBweDtcIj5cclxuICAgICAgICAgICAg5L+d5a2YXHJcbiAgICAgICAgPC9Db250YWluZXI+Jm5kYXNoOyZndDtcclxuICAgICAgICA8Q29udGFpbmVyIEBjbGljaz1cImV4cG9ydERhdGEoMilcIiBjbGFzcz1cInNhdmVEaXZzXCI+XHJcbiAgICAgICAgICAgIOmihOiniFxyXG4gICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgICAgIDxDb250YWluZXIgQGNsaWNrPVwiZGVsZXRlRGF0YSgpXCIgY2xhc3M9XCJzYXZlRGl2c1wiPlxyXG4gICAgICAgICAgICDliKDpmaRcclxuICAgICAgICA8L0NvbnRhaW5lcj5cclxuICAgICAgICA8Q29udGFpbmVyIEBjbGljaz1cImdvYmFja0xpc3QoKVwiIGNsYXNzPVwic2F2ZURpdnNcIj5cclxuICAgICAgICAgICAg6L+U5Zue5YiX6KGoXHJcbiAgICAgICAgPC9Db250YWluZXI+XHJcbiAgICAgICAgPE1vZGFsIHYtbW9kZWw9XCJtb2RhbHByZXZpZXdcIiBmdWxsc2NyZWVuIGZvb3Rlci1oaWRlIHRpdGxlPVwi6aG16Z2i6aKE6KeIXCIgOnN0eWxlcz1cIntiYWNrZ3JvdW5kQ29sb3I6JyNGNUY3RjknfVwiPlxyXG4gICAgICAgICAgICA8cm91dGVyLXZpZXcvPlxyXG4gICAgICAgIDwvTW9kYWw+LS0+XHJcbiAgICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbiAgICBpbXBvcnQgKiBhcyBjb21wb25lbnRzIGZyb20gJy4vc3R5bGUnO1xyXG4gICAgaW1wb3J0IGV2ZW50YnVzIGZyb20gJy4uLy4uL3NlcnZpY2UvZXZlbnRidXMnO1xyXG4gICAgaW1wb3J0IEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcclxuICAgIGltcG9ydCBTZXJ2aWNlIGZyb20gXCIuLi8uLi9zZXJ2aWNlL3Rvb2wtc2VydmljZVwiO1xyXG4gICAgaW1wb3J0IGh0dHBMb2FkaW5nIGZyb20gXCIuLi8uLi91dGlscy9odHRwTG9hZGluZ1wiO1xyXG4gICAgaW1wb3J0IG1peFV0aWwgZnJvbSAnLi9taXhVdGlsJ1xyXG4gICAgZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgICAgIGNvbXBvbmVudHMsXHJcbiAgICAgICAgcG9zaXRpb246ICduYXZiYXJSaWdodCcsXHJcbiAgICAgICAgbWl4aW5zOlttaXhVdGlsXSxcclxuICAgICAgICBuYW1lOiAnc2F2ZScsXHJcbiAgICAgICAgZGF0YSgpe1xyXG4gICAgICAgICAgICByZXR1cm57XHJcbiAgICAgICAgICAgICAgICBpc1JlcnZlcjpmYWxzZSwvL25vdGUg5Yik5pat5piv5ZCm6KKr6L2s5o2i5LqGXHJcbiAgICAgICAgICAgICAgICBqc29uT2JqOntcclxuICAgICAgICAgICAgICAgICAgICBwYWdlOnt9LFxyXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnRzOltdXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgbW9kYWxwcmV2aWV3OmZhbHNlLFxyXG4gICAgICAgICAgICAgICAgaXNTaG93TW9kYWw6ZmFsc2VcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICAgICAgdmlld3BvcnRJbnN0YW5jZXMgKCkge1xyXG4gICAgICAgICAgICAgICAgLy9ub3RlIOiOt+WPluaLluaLvee7hOS7tueahOWxnuaAp1xyXG4gICAgICAgICAgICAgICAgbGV0IHZpZXdwcm90SW5zdGFuY2VzID0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzO1xyXG4gICAgICAgICAgICAgICAgbGV0IG9iaiA9IE9iamVjdC5jcmVhdGUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBbayx2XSBvZiB2aWV3cHJvdEluc3RhbmNlcykge1xyXG4gICAgICAgICAgICAgICAgICAgIG9ialtrXSA9IHY7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBhcHBsaWNhdGlvblN0YXRlICgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5hcHBsaWNhdGlvbjtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdmlld3BvcnRTdGF0ZSAoKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQ7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGNvbXBvbmVudFRyZWUgKCkge1xyXG4gICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICAvL25vdGUg6I635Y+W57uE5Lu25qCR5bGC57qnXHJcbiAgICAgICAgICAgICAgICBsZXQgX3Jvb3QgPSB0aGlzLmRpZ3VpKHRoaXMudmlld3BvcnRTdGF0ZS5yb290SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFtfcm9vdF1bMF0uY2hpbGRyZW47XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGluc3RhbmNlcyAoKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBmb3JtVmFsaWRhdG9yUnVsZXMoKXtcclxuICAgICAgICAgICAgICAgIC8vbm90ZSBydWxlc+agoemqjOinhOWImXJ1bGVz55qE5oq95Y+WXHJcbiAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBfLnBpY2tCeSh0aGlzLnZpZXdwb3J0SW5zdGFuY2VzLCh2YWx1ZSk9PntcclxuICAgICAgICAgICAgICAgICAgICBpZih2YWx1ZS5kYXRhLnZhbGlkYXRlQXJyJiZ2YWx1ZS5kYXRhLnZhbGlkYXRlQXJyLmxlbmd0aD4wKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUuZGF0YS52YWxpZGF0ZUFyci5mb3JFYWNoKGZ1bmN0aW9uKHYsaykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2codik7IC8v6L+Z5qC35bCx5Lya5YiG5Yir5bCGbmFtZemBjeWOhuWHuuadpSzliKTmlq3mnInmsqHmnInmoKHpqozogZTliqhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHYucmVxdWlyZUtleVZhbHVlcyYmdi5yZXF1aXJlS2V5VmFsdWVzLmxlbmd0aD4wKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2LnJlcXVpcmVLZXlWYWx1ZXMuZm9yRWFjaChmdW5jdGlvbih2MSxrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHYxKTsgLy/ov5nmoLflsLHkvJrliIbliKvlsIZuYW1l6YGN5Y6G5Ye65p2lLOWIpOaWreacieayoeacieagoemqjOiBlOWKqFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih2MS52YWx1ZXMuaW5kZXhPZihcIixcIik9PS0xKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDmsqHmib7liLBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2MS52YWx1ZXM9djEudmFsdWVzLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZS5kYXRhLnZhbGlkYXRlQXJyJiZ2YWx1ZS5kYXRhLnZhbGlkYXRlQXJyLmxlbmd0aD4wO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQgPSBfLm1hcEtleXMocmVzdWx0LCh2YWx1ZSk9PntcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUuZGF0YS5wcm9wZXJ0eS5wcm9wO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQgPSBfLm1hcFZhbHVlcyhyZXN1bHQsKHZhbHVlKT0+e1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWxpZGF0ZUFyciA9IHZhbHVlLmRhdGEudmFsaWRhdGVBcnIubWFwKCh2YWx1ZSk9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF8ucGlja0J5KHZhbHVlLCh2YWx1ZSk9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsaWRhdGVBcnI7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIG1ldGhvZHM6IHtcclxuICAgICAgICAgICAgcmFuZG9tU3RyaW5nKGxlbikge1xyXG4gICAgICAgICAgICAgICAgbGVuID0gbGVuIHx8IDEwO1xyXG4gICAgICAgICAgICAgICAgdmFyICRjaGFycyA9ICdBQkNERUZHSEpLTU5QUVJTVFdYWVphYmNkZWZoaWprbW5wcnN0d3h5ejIzNDU2NzgnOyAgICAvKioqKum7mOiupOWOu+aOieS6huWuueaYk+a3t+a3hueahOWtl+espm9PTGwsOWdxLFZ2LFV1LEkxKioqKi9cclxuICAgICAgICAgICAgICAgIHZhciBtYXhQb3MgPSAkY2hhcnMubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgdmFyIHB3ZCA9ICcnO1xyXG4gICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHdkICs9ICRjaGFycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbWF4UG9zKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcHdkO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBnb2JhY2tMaXN0KCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCh7bmFtZTogJ3NlbGVjdFRlbXBsYXRlJ30pXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGFzeW5jIHByZXZpZXdEYXRhICgpIHtcclxuICAgICAgICAgICAgICAgIGlmKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwicGFnZVwiKSYmbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwYWdlXCIpIT1udWxsKXtcclxuXHJcbiAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLiRNb2RhbC5zdWNjZXNzKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5Y+L5oOF5o+Q56S6XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwi6K+35YWI5YWo5bGA6K6+572u77yBXCJcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNTaG93TW9kYWwgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy52aWV3cG9ydEluc3RhbmNlcyk7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmNvbXBvbmVudFRyZWUpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHBhZ2VPYmo9IGV2YWwoJygnICsgbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwYWdlXCIpICsgJyknKTsvL0pTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwYWdlXCIpKTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHBhZ2VPYmopO1xyXG4gICAgICAgICAgICAgICAvLyBpZighcGFnZU9iai50aXRsZSlyZXR1cm47XHJcbiAgICAgICAgICAgICAgICBpZihwYWdlT2JqLnRpdGxlPT1cIuS4iuS8oOmZhOS7tlwiKXtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZnVsbE1vZGVsRGF0YSA9IGF3YWl0IHRoaXMuZ2V0YnVzaW5lc3NEYXRhKFwiMi1idXNpbmVzc1wiKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWdlT2JqLmZ1bGxNb2RlbCA9IGZ1bGxNb2RlbERhdGEuZGF0YTtcclxuICAgICAgICAgICAgICAgIH1lbHNlIGlmKHBhZ2VPYmoudGl0bGU9PVwi5o+Q5Lqk5a6h5qC4XCJ8fHBhZ2VPYmoudGl0bGU9PVwi5bey5Yqe57uTXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBmdWxsTW9kZWxEYXRhID0gYXdhaXQgdGhpcy5nZXRidXNpbmVzc0RhdGEoXCIzLWJ1c2luZXNzXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZ2VPYmouZnVsbE1vZGVsLmluZm9BdHRhY2htZW50ID0gZnVsbE1vZGVsRGF0YS5kYXRhLmluZm9BdHRhY2htZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZ2VPYmouZnVsbE1vZGVsLnRpbWVMaW5lRGF0YSA9IGZ1bGxNb2RlbERhdGEuZGF0YS50aW1lTGluZURhdGE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLmpzb25PYmoucGFnZSA9IHBhZ2VPYmo7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmpzb25PYmouZWxlbWVudHMgPSBbXTtcclxuICAgICAgICAgICAgICAgLyogaWYodGhpcy5pc1JlcnZlcil7XHJcblxyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRUcmVlLmZvckVhY2goKGl0ZW0xKT0+e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihpdGVtMS5jaGlsZHJlbil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5aaC5p6c5a2Y5Zyo77yM57un57ut6YGN5Y6GIOacgOWkmjXnuqdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0xLmNoaWxkcmVuLmZvckVhY2goKGl0ZW0yKT0+e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGl0ZW0yLmNoaWxkcmVuKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOWmguaenOWtmOWcqO+8jOe7p+e7remBjeWOhiDmnIDlpJo157qnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0yLmNoaWxkcmVuLmZvckVhY2goKGl0ZW0zKT0+e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoaXRlbTMuY2hpbGRyZW4pe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDlpoLmnpzlrZjlnKjvvIznu6fnu63pgY3ljoYg5pyA5aSaNee6p1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0zLmNoaWxkcmVuLmZvckVhY2goKGl0ZW00KT0+e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihpdGVtNC5jaGlsZHJlbil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5aaC5p6c5a2Y5Zyo77yM57un57ut6YGN5Y6GIOacgOWkmjXnuqdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW00LmNoaWxkcmVuLmZvckVhY2goKGl0ZW01KT0+e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGl0ZW01LmNoaWxkcmVuKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOWmguaenOWtmOWcqO+8jOe7p+e7remBjeWOhiDmnIDlpJo157qnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW01LmNoaWxkcmVuLnJldmVyc2UoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW00LmNoaWxkcmVuLnJldmVyc2UoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0zLmNoaWxkcmVuLnJldmVyc2UoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0yLmNoaWxkcmVuLnJldmVyc2UoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0xLmNoaWxkcmVuLnJldmVyc2UoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50VHJlZS5yZXZlcnNlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1JlcnZlcj10cnVlO1xyXG4gICAgICAgICAgICAgICAgfSovXHJcblxyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5jb21wb25lbnRUcmVlKTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFRyZWVGYWN0b3J5KHRoaXMuY29tcG9uZW50VHJlZSx0aGlzLmpzb25PYmouZWxlbWVudHMpO1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMuanNvbk9iaik7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeSh0aGlzLmpzb25PYmopKTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuaXNTaG93TW9kYWwpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW9kYWxwcmV2aWV3ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgLy8gIHRoaXMuanNvbk9iaj17XCJwYWdlXCI6e1wiZnVsbE1vZGVsXCI6e1widGVtcGxhdGVDYWNoZVwiOntcInZhbGlkYXRvcnNcIjpbXSxcInRhYmxlQXJyXCI6W10sXCJzZWxlY3RBcnJcIjpbXSxcInRhcmdldERhdGFcIjpbXCJhcHBseU5hbWVcIixcImFwcGx5TmFtZVwiLFwic2V4XCIsXCJzZXhcIixcIm5hdGlvbmFsRGVzY1wiLFwibmF0aW9uYWxEZXNjXCIsXCJ0ZWxQaG9uZVwiLFwidGVsUGhvbmVcIixcImdyYWR1YXRlZFNjaG9vbFwiLFwiZ3JhZHVhdGVkU2Nob29sXCIsXCJlZHVjYXRpb25cIixcImVkdWNhdGlvblwiLFwicHJvZmVzc2lvbmFsTmFtZVwiLFwicHJvZmVzc2lvbmFsTmFtZVwiLFwibWFycmlhZ2VBbmRDaGlsZGJlYXJpbmdTdGF0dXNcIixcIm1hcnJpYWdlQW5kQ2hpbGRiZWFyaW5nU3RhdHVzXCIsXCJ3b3JrVW5pdFwiLFwid29ya1VuaXRcIixcImZpbGVSZWNlaXZpbmdVbml0XCIsXCJmaWxlUmVjZWl2aW5nVW5pdFwiLFwicmVnaXN0cmF0aW9uVGltZVwiLFwicmVnaXN0cmF0aW9uVGltZVwiLFwiYXBwbHlDYXJkTnVtYmVyXCIsXCJhcHBseUNhcmROdW1iZXJcIl19LFwiYXBwbHlOYW1lXCI6XCJcIixcInNleFwiOlwiXCIsXCJuYXRpb25hbERlc2NcIjpcIlwiLFwidGVsUGhvbmVcIjpcIlwiLFwiZ3JhZHVhdGVkU2Nob29sXCI6XCJcIixcImVkdWNhdGlvblwiOlwiXCIsXCJwcm9mZXNzaW9uYWxOYW1lXCI6XCJcIixcIm1hcnJpYWdlQW5kQ2hpbGRiZWFyaW5nU3RhdHVzXCI6XCJcIixcIndvcmtVbml0XCI6XCJcIixcImZpbGVSZWNlaXZpbmdVbml0XCI6XCJcIixcInJlZ2lzdHJhdGlvblRpbWVcIjpcIlwiLFwiYXBwbHlDYXJkTnVtYmVyXCI6XCJcIixcInRpbWVMaW5lRGF0YVwiOltdLFwibGVhZGVyTXNnXCI6W10sXCJpbmZvQXR0YWNobWVudFwiOltdLFwic3RhdGVcIjpcIlwiLFwiaXNPdXRcIjowLFwiZGF0ZXRpbWVcIjpbXSxcImFkZHJlc3NcIjpcIlwiLFwicmVtYXJrXCI6XCJcIixcImFjY2Vzc29yeUdyb3VwSWRcIjpcIlwiLFwibGVnYWxNYW5cIjpcIlwiLFwibGVnYWxNYW5UZWxQaG9uZVwiOlwiXCIsXCJjb250YWN0TWFuXCI6XCJcIixcInNldEFkZHJlc3NcIjpcIlwiLFwic2V0Q29udGVudFwiOlwiXCIsXCJtYXRlcmlhbFwiOlwiXCJ9LFwidGl0bGVcIjpcIm51bGxcIixcIm1heFN0ZXBzXCI6bnVsbH0sXCJlbGVtZW50c1wiOlt7XCJ0eXBlXCI6XCJidG5zLW9wcmF0b3JcIixcImRhdGFcIjp7XCJidXR0b25zXCI6W3tcInR5cGVcIjpcInByaW1hcnlcIixcImxhYmVsXCI6XCLkuIvkuIDmraVcIixcImNsaWNrXCI6XCJuZXh0U3RlcENsaWNrXCJ9LHtcInR5cGVcIjpcInN1Y2Nlc3NcIixcImxhYmVsXCI6XCLlip7kuovmjIfljZdcIixcImNsaWNrXCI6XCJndWlkZUNsaWNrXCJ9XX19LHtcInR5cGVcIjpcImJveFwiLFwiZGF0YVwiOlt7XCJ0eXBlXCI6XCJmb3JtLXRhYmxlXCIsXCJkYXRhXCI6e1wibW9kZWxcIjpcImxlYWRlck1zZ1wiLFwidmFsaWRhdG9yXCI6ZmFsc2UsXCJtaW5Sb3dzXCI6MSxcIndpZHRoXCI6MTAwMCxcImRpc2FibGVEZWxSb3dzXCI6MSxcImJ0bk1zZ1wiOlwiXCIsXCJwbGFjZWhvbGRlclwiOlwiXCIsXCJidXNpSWRcIjpcIlwiLFwidGl0bGVcIjpcIlwiLFwiYWxpZ25cIjpcImNlbnRlclwiLFwidHlwZVwiOlwic2VsZWN0XCIsXCJjb2x1bW5zXCI6W3tcInR5cGVcIjpcInNlbGVjdFwiLFwidGl0bGVcIjpcIuS4k+iBjC/lhbzogYxcIixcImxhYmVsXCI6XCJcIixcImJ1c2lJZFwiOlwiXCIsXCJpdGVtc1Byb3BcIjpcIlwiLFwid2lkdGhcIjoyMDAsXCJleHRlbmRcIjp7XCJpdGVtV2lkdGhcIjozMjAsXCJwbGFjZWhvbGRlclwiOlwiXCIsXCJldmVudFR5cGVcIjpcIlwifSxcIml0ZW1PcHRpb25zXCI6W3tcImxhYmVsXCI6XCLlhbzogYxcIixcInZhbHVlXCI6XCIxXCIsXCJleHRlbmRcIjp7XCJzaXplXCI6XCJcIixcImRpc2FibGVkXCI6ZmFsc2V9fSx7XCJsYWJlbFwiOlwi5LiT6IGMXCIsXCJ2YWx1ZVwiOlwiMlwiLFwiZXh0ZW5kXCI6e1wic2l6ZVwiOlwiXCIsXCJkaXNhYmxlZFwiOmZhbHNlfX1dfSx7XCJ0eXBlXCI6XCJpbnB1dFwiLFwidGl0bGVcIjpcIui1hOagvOivgeS5pue8luWPt1wiLFwiYWxpZ25cIjpcImNlbnRlclwiLFwicGxhY2Vob2xkZXJcIjpcIlwiLFwiYnVzaUlkXCI6XCJcIixcIndpZHRoXCI6MjAwLFwicnVsZXNcIjp7XCJyZXF1aXJlZFwiOmZhbHNlLFwibWVzc2FnZVwiOlwiXCIsXCJ0eXBlXCI6XCJcIixcInRyaWdnZXJcIjpcIlwifX0se1widHlwZVwiOlwiaW5wdXRcIixcInRpdGxlXCI6XCLouqvku73or4HnvJblj7dcIixcImFsaWduXCI6XCJjZW50ZXJcIixcInBsYWNlaG9sZGVyXCI6XCJcIixcImJ1c2lJZFwiOlwiXCIsXCJ3aWR0aFwiOjIwMCxcInJ1bGVzXCI6e1wicmVxdWlyZWRcIjpmYWxzZSxcIm1lc3NhZ2VcIjpcIlwiLFwidHlwZVwiOlwiXCIsXCJ0cmlnZ2VyXCI6XCJcIn19LHtcInR5cGVcIjpcImlucHV0XCIsXCJ0aXRsZVwiOlwi5LuO5LqL54eD5rCU5LiT5Lia5bel5L2c5bm06ZmQKOW5tClcIixcImFsaWduXCI6XCJjZW50ZXJcIixcInBsYWNlaG9sZGVyXCI6XCJcIixcImJ1c2lJZFwiOlwiXCIsXCJ3aWR0aFwiOjIwMCxcInJ1bGVzXCI6e1wicmVxdWlyZWRcIjpmYWxzZSxcIm1lc3NhZ2VcIjpcIlwiLFwidHlwZVwiOlwiXCIsXCJ0cmlnZ2VyXCI6XCJcIn19LHtcInR5cGVcIjpcImlucHV0XCIsXCJ0aXRsZVwiOlwi6IGM5Yqh5Y+K5bKX5L2NXCIsXCJhbGlnblwiOlwiY2VudGVyXCIsXCJwbGFjZWhvbGRlclwiOlwiXCIsXCJidXNpSWRcIjpcIlwiLFwid2lkdGhcIjoyMDAsXCJydWxlc1wiOntcInJlcXVpcmVkXCI6ZmFsc2UsXCJtZXNzYWdlXCI6XCJcIixcInR5cGVcIjpcIlwiLFwidHJpZ2dlclwiOlwiXCJ9fSx7XCJ0eXBlXCI6XCJzZWxlY3RcIixcInRpdGxlXCI6XCLmlofljJbnqIvluqZcIixcImxhYmVsXCI6XCJcIixcImJ1c2lJZFwiOlwiXCIsXCJpdGVtc1Byb3BcIjpcIlwiLFwid2lkdGhcIjoyMDAsXCJleHRlbmRcIjp7XCJpdGVtV2lkdGhcIjozMjAsXCJwbGFjZWhvbGRlclwiOlwiXCIsXCJldmVudFR5cGVcIjpcIlwifSxcIml0ZW1PcHRpb25zXCI6W3tcImxhYmVsXCI6XCLnoJTnqbbnlJ/lj4rku6XkuIpcIixcInZhbHVlXCI6XCIxXCIsXCJleHRlbmRcIjp7XCJzaXplXCI6XCJcIixcImRpc2FibGVkXCI6ZmFsc2V9fSx7XCJsYWJlbFwiOlwi5aSn5a2m5pys56eRXCIsXCJ2YWx1ZVwiOlwiMlwiLFwiZXh0ZW5kXCI6e1wic2l6ZVwiOlwiXCIsXCJkaXNhYmxlZFwiOmZhbHNlfX0se1wibGFiZWxcIjpcIuWkp+WtpuS4k+enkVwiLFwidmFsdWVcIjpcIjNcIixcImV4dGVuZFwiOntcInNpemVcIjpcIlwiLFwiZGlzYWJsZWRcIjpmYWxzZX19LHtcImxhYmVsXCI6XCLkuK3kuJNcIixcInZhbHVlXCI6XCI0XCIsXCJleHRlbmRcIjp7XCJzaXplXCI6XCJcIixcImRpc2FibGVkXCI6ZmFsc2V9fSx7XCJsYWJlbFwiOlwi6auY5LitXCIsXCJ2YWx1ZVwiOlwiNVwiLFwiZXh0ZW5kXCI6e1wic2l6ZVwiOlwiXCIsXCJkaXNhYmxlZFwiOmZhbHNlfX0se1wibGFiZWxcIjpcIuWIneS4rVwiLFwidmFsdWVcIjpcIjZcIixcImV4dGVuZFwiOntcInNpemVcIjpcIlwiLFwiZGlzYWJsZWRcIjpmYWxzZX19LHtcImxhYmVsXCI6XCLlsI/lraZcIixcInZhbHVlXCI6XCI3XCIsXCJleHRlbmRcIjp7XCJzaXplXCI6XCJcIixcImRpc2FibGVkXCI6ZmFsc2V9fSx7XCJsYWJlbFwiOlwi5YW25LuWXCIsXCJ2YWx1ZVwiOlwiOFwiLFwiZXh0ZW5kXCI6e1wic2l6ZVwiOlwiXCIsXCJkaXNhYmxlZFwiOmZhbHNlfX1dfSx7XCJ0eXBlXCI6XCJzZWxlY3RcIixcInRpdGxlXCI6XCLmgKfliKtcIixcImxhYmVsXCI6XCJcIixcImJ1c2lJZFwiOlwiXCIsXCJpdGVtc1Byb3BcIjpcIlwiLFwid2lkdGhcIjoyMDAsXCJleHRlbmRcIjp7XCJpdGVtV2lkdGhcIjozMjAsXCJwbGFjZWhvbGRlclwiOlwiXCIsXCJldmVudFR5cGVcIjpcIlwifSxcIml0ZW1PcHRpb25zXCI6W3tcImxhYmVsXCI6XCLnlLdcIixcInZhbHVlXCI6XCIxXCIsXCJleHRlbmRcIjp7XCJzaXplXCI6XCJcIixcImRpc2FibGVkXCI6ZmFsc2V9fSx7XCJsYWJlbFwiOlwi5aWzXCIsXCJ2YWx1ZVwiOlwiMlwiLFwiZXh0ZW5kXCI6e1wic2l6ZVwiOlwiXCIsXCJkaXNhYmxlZFwiOmZhbHNlfX1dfSx7XCJ0eXBlXCI6XCJpbnB1dFwiLFwidGl0bGVcIjpcIuWnk+WQjVwiLFwiYWxpZ25cIjpcImNlbnRlclwiLFwicGxhY2Vob2xkZXJcIjpcIlwiLFwiYnVzaUlkXCI6XCJcIixcIndpZHRoXCI6MjAwLFwicnVsZXNcIjp7XCJyZXF1aXJlZFwiOmZhbHNlLFwibWVzc2FnZVwiOlwiXCIsXCJ0eXBlXCI6XCJcIixcInRyaWdnZXJcIjpcIlwifX1dfX0se1widHlwZVwiOlwiZm9ybVwiLFwiZGF0YVwiOntcInZhbGlkYXRvclwiOmZhbHNlLFwicnVsZXNcIjp7fSxcImV4dGVuZFwiOntcInNwYW5cIjoxNyxcImxhYmVsV2lkdGhcIjoyMjIsXCJpdGVtV2lkdGhcIjozMjAsXCJwbGFjZWhvbGRlclwiOlwiXCIsXCJtYXhsZW5ndGhcIjpcIjIyMFwiLFwiZXZlbnRUeXBlXCI6XCJcIixcInJvd3NcIjowfSxcIml0ZW1zXCI6W3tcInR5cGVcIjpcImlucHV0XCIsXCJsYWJlbFwiOlwi6IGU57O755S16K+dL+eUs+ivt+S6uuaJi+aculwiLFwiYnVzaUlkXCI6OSxcImV4dGVuZFwiOntcIml0ZW1XaWR0aFwiOjMyMCxcInBsYWNlaG9sZGVyXCI6XCJcIixcImV2ZW50VHlwZVwiOlwiXCIsXCJtYXhsZW5ndGhcIjpcIjIyMFwifX0se1widHlwZVwiOlwiaW5wdXRcIixcImxhYmVsXCI6XCLogZTns7vkurpcIixcImJ1c2lJZFwiOjE4LFwiZXh0ZW5kXCI6e1wiaXRlbVdpZHRoXCI6MzIwLFwicGxhY2Vob2xkZXJcIjpcIlwiLFwiZXZlbnRUeXBlXCI6XCJcIixcIm1heGxlbmd0aFwiOlwiMjIwXCJ9fSx7XCJ0eXBlXCI6XCJpbnB1dFwiLFwibGFiZWxcIjpcIuivgeS7tuWPt+eggVwiLFwiYnVzaUlkXCI6MTcsXCJleHRlbmRcIjp7XCJpdGVtV2lkdGhcIjozMjAsXCJwbGFjZWhvbGRlclwiOlwiXCIsXCJldmVudFR5cGVcIjpcIlwiLFwibWF4bGVuZ3RoXCI6XCIyMjBcIn19LHtcInR5cGVcIjpcImlucHV0XCIsXCJsYWJlbFwiOlwi6K+B5Lu257G75Z6L5Lit5paH5o+P6L+wXCIsXCJidXNpSWRcIjozMyxcImV4dGVuZFwiOntcIml0ZW1XaWR0aFwiOjMyMCxcInBsYWNlaG9sZGVyXCI6XCJcIixcImV2ZW50VHlwZVwiOlwiXCIsXCJtYXhsZW5ndGhcIjpcIjIyMFwifX0se1widHlwZVwiOlwiaW5wdXRcIixcImxhYmVsXCI6XCLor4Hku7bnsbvlnotcIixcImJ1c2lJZFwiOjI1LFwiZXh0ZW5kXCI6e1wiaXRlbVdpZHRoXCI6MzIwLFwicGxhY2Vob2xkZXJcIjpcIlwiLFwiZXZlbnRUeXBlXCI6XCJcIixcIm1heGxlbmd0aFwiOlwiMjIwXCJ9fSx7XCJ0eXBlXCI6XCJpbnB1dFwiLFwibGFiZWxcIjpcIuWnk+WQjS/kvIHkuJrlkI3np7BcIixcImJ1c2lJZFwiOjYsXCJleHRlbmRcIjp7XCJpdGVtV2lkdGhcIjozMjAsXCJwbGFjZWhvbGRlclwiOlwiXCIsXCJldmVudFR5cGVcIjpcIlwiLFwibWF4bGVuZ3RoXCI6XCIyMjBcIn19XX19XX1dfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHN0ckpzb249SlNPTi5zdHJpbmdpZnkodGhpcy5qc29uT2JqKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcInN0ckpzb246XCIrc3RySnNvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9zZXRQYWdlUHJpdmlld0RhdGEnLCB0aGlzLmpzb25PYmopO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHtuYW1lOiAncGFnZVByZXZpZXcnfSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgc2F2ZURhdGEoKXtcclxuICAgICAgICAgICAgICAgIGxldCBwYWdlT2JqPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwicGFnZVwiKSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmpzb25PYmoucGFnZSA9IHBhZ2VPYmo7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmpzb25PYmouZWxlbWVudHMgPSBbXTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50VHJlZUZhY3RvcnkodGhpcy5jb21wb25lbnRUcmVlLHRoaXMuanNvbk9iai5lbGVtZW50cyk7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmpzb25PYmopO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkodGhpcy5qc29uT2JqKSk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIC8vbm90ZSDmj5DnpLrkv53lrZjlhajlsYDorr7nva5cclxuICAgICAgICAgICAgc2VuZEJ1c1NhdmVBbGxJbmZvKCl7XHJcbiAgICAgICAgICAgICAgICBldmVudGJ1cy4kZW1pdChcInNhdmVBbGxJbmZvXCIse30pO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBleHBvcnREYXRhKG1hcmtlcil7XHJcbiAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgICAgYWxlcnQoMTExKTtcclxuICAgICAgICAgICAvKiAgICBpZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInBhZ2VcIikmJmxvY2FsU3RvcmFnZS5nZXRJdGVtKFwicGFnZVwiKSE9bnVsbCl7XHJcblxyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kTW9kYWwuc3VjY2Vzcyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuWPi+aDheaPkOekulwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIuivt+WFiOWFqOWxgOiuvue9ru+8gVwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfSovXHJcbiAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMuY29tcG9uZW50VHJlZSk7XHJcbiAgICAgICAgICAgICAgIC8vIGxldCBwYWdlT2JqPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwicGFnZVwiKSk7XHJcbiAgICAgICAgICAgICAgICBjb25maWdQYWdlSWRlLnBhZ2UuZnVsbE1vZGVsLnRlbXBsYXRlQ2FjaGUudmFsaWRhdG9ycz1bXTtcclxuICAgICAgICAgICAgICAgIHRoaXMuanNvbk9iai5wYWdlID0gY29uZmlnUGFnZUlkZS5wYWdlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5qc29uT2JqLmVsZW1lbnRzID0gW107XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFRyZWVGYWN0b3J5KHRoaXMuY29tcG9uZW50VHJlZSx0aGlzLmpzb25PYmouZWxlbWVudHMpO1xyXG4gICAgICAgICAgICAgICAgbGV0IGV4cG9ydEpzb24gPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29kZTowLFxyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6XCJcIixcclxuICAgICAgICAgICAgICAgICAgICBkYXRhOntcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIGxldCBjb3B5T2JqPXtcclxuICAgICAgICAgICAgICAgICAgICBkYXRhOnRoaXMuanNvbk9ialxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihleHBvcnRKc29uLCBjb3B5T2JqKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGExID0gSlNPTi5zdHJpbmdpZnkoZXhwb3J0SnNvbik7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhkYXRhMSk7XHJcbiAgICAgICAgICAgICAgICAvL25vdGUg5L+d5a2Y5qih5p2/5ZKManNvblxyXG4gICAgICAgICAgICAgICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtTm86bG9jYWxTdG9yYWdlLml0ZW1ObyxcclxuICAgICAgICAgICAgICAgICAgICBpdGVtU3RlcDpsb2NhbFN0b3JhZ2UuaXRlbVN0ZXBcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICBodHRwTG9hZGluZy5zaG93TG9hZGluZyhcIuato+WcqOaPkOS6pC4uLlwiKTtcclxuICAgICAgICAgICAgICAgIC8vbm90ZSDov5nph4zpnaLopoHlgZrkuIDkuKrkv67mlLnvvIznu5nmr4/kuIDkuKpmb3JtIOmHjOmdoua3u+WKoOWtl+auteWxnuaAp++8jOeEtuWQjuaKiuWtl+auteeahOWxnuaAp+aUvuWIsOagoemqjOmHjOmdouWOu1xyXG4gICAgICAgICAgICAgICAgbGV0IGpzb25BcnIyPVtdO1xyXG4gICAgICAgICAgICAgICAgbGV0IHByb3BBcnI9W107XHJcbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0QXJyPVtdO1xyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBpPTA7aTxleHBvcnRKc29uLmRhdGEuZWxlbWVudHMubGVuZ3RoO2krKykge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgZXhwb3J0SnNvbi5kYXRhLmVsZW1lbnRzW2ldLmRhdGEubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy/liKTmlq3mt7vliqDnmoTmlbDnu4TmmK/lkKbkuLrnqbrkuoZcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV4cG9ydEpzb24uZGF0YS5lbGVtZW50c1tpXS5kYXRhW2pdLnR5cGUgPT0gXCJmb3JtXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBqc29uQXJyID0gZXhwb3J0SnNvbi5kYXRhLmVsZW1lbnRzW2ldLmRhdGFbal0uZGF0YS5pdGVtcztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBydWxlQXJyID0gZXhwb3J0SnNvbi5kYXRhLmVsZW1lbnRzW2ldLmRhdGFbal0uZGF0YS5ydWxlcztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGsgPSAwOyBrIDwgcHJvcEFyci5sZW5ndGg7IGsrKykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IG0gPSAwOyBtIDwganNvbkFyci5sZW5ndGg7IG0rKykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+WIpOaWrea3u+WKoOeahOaVsOe7hOaYr+WQpuS4uuepuuS6hlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJvcEFycltrXVtcImJ1c2lJZFwiXSA9PT0ganNvbkFyclttXVtcImJ1c2lJZFwiXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganNvbkFyclttXVtcInByb3BcIl0gPSBwcm9wQXJyW2tdW1wiYnVzaU5hbWVcIl07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUganNvbkFyclttXVtcInJ1bGVzXCJdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IG4gaW4gcnVsZUFycikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5bCG5qCh6aqM6YeM6Z2i55qEaWTmm7/mjaLmiJDlsZ7mgKdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByb3BBcnJba11bXCJidXNpSWRcIl0gPT0gbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZUFycltwcm9wQXJyW2tdW1wiYnVzaU5hbWVcIl1dID0gcnVsZUFycltuXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBydWxlQXJyW25dO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYobWFya2VyPT0xKXtcclxuICAgICAgICAgICAgICAgICAgICAvL25vdGUg5L+d5a2YXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IEpTT04uc3RyaW5naWZ5KGV4cG9ydEpzb24pO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG15U3RyID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCItLT5cIitteVN0cik7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHRvU2VydmVyUGFyYW1zID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtTm86bG9jYWxTdG9yYWdlLml0ZW1ObyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVN0ZXA6bG9jYWxTdG9yYWdlLml0ZW1TdGVwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBqc29uVHlwZToyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBqc29uU3RyOmRhdGFcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgIFNlcnZpY2Uuc2F2ZVRlbXBsYXRlT3JKc29uVG9TZXJ2ZXIodG9TZXJ2ZXJQYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5Yia5omN5L+d5a2Y5a6M5LqGanNvbu+8jOeOsOWcqOimgeS/neaMgeaooeadv1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L3NhdmVMb2NhbEluc3RhbmNlcycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIH1lbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L3NhdmVMb2NhbEluc3RhbmNlcycsIHtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaHR0cExvYWRpbmcuY2xvc2VMb2FkaW5nKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOmihOiniFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTaG93TW9kYWwgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW9kYWxwcmV2aWV3ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAvLyAgdGhpcy5qc29uT2JqPXtcInBhZ2VcIjp7XCJmdWxsTW9kZWxcIjp7XCJ0ZW1wbGF0ZUNhY2hlXCI6e1widmFsaWRhdG9yc1wiOltdLFwidGFibGVBcnJcIjpbXSxcInNlbGVjdEFyclwiOltdLFwidGFyZ2V0RGF0YVwiOltcImFwcGx5TmFtZVwiLFwiYXBwbHlOYW1lXCIsXCJzZXhcIixcInNleFwiLFwibmF0aW9uYWxEZXNjXCIsXCJuYXRpb25hbERlc2NcIixcInRlbFBob25lXCIsXCJ0ZWxQaG9uZVwiLFwiZ3JhZHVhdGVkU2Nob29sXCIsXCJncmFkdWF0ZWRTY2hvb2xcIixcImVkdWNhdGlvblwiLFwiZWR1Y2F0aW9uXCIsXCJwcm9mZXNzaW9uYWxOYW1lXCIsXCJwcm9mZXNzaW9uYWxOYW1lXCIsXCJtYXJyaWFnZUFuZENoaWxkYmVhcmluZ1N0YXR1c1wiLFwibWFycmlhZ2VBbmRDaGlsZGJlYXJpbmdTdGF0dXNcIixcIndvcmtVbml0XCIsXCJ3b3JrVW5pdFwiLFwiZmlsZVJlY2VpdmluZ1VuaXRcIixcImZpbGVSZWNlaXZpbmdVbml0XCIsXCJyZWdpc3RyYXRpb25UaW1lXCIsXCJyZWdpc3RyYXRpb25UaW1lXCIsXCJhcHBseUNhcmROdW1iZXJcIixcImFwcGx5Q2FyZE51bWJlclwiXX0sXCJhcHBseU5hbWVcIjpcIlwiLFwic2V4XCI6XCJcIixcIm5hdGlvbmFsRGVzY1wiOlwiXCIsXCJ0ZWxQaG9uZVwiOlwiXCIsXCJncmFkdWF0ZWRTY2hvb2xcIjpcIlwiLFwiZWR1Y2F0aW9uXCI6XCJcIixcInByb2Zlc3Npb25hbE5hbWVcIjpcIlwiLFwibWFycmlhZ2VBbmRDaGlsZGJlYXJpbmdTdGF0dXNcIjpcIlwiLFwid29ya1VuaXRcIjpcIlwiLFwiZmlsZVJlY2VpdmluZ1VuaXRcIjpcIlwiLFwicmVnaXN0cmF0aW9uVGltZVwiOlwiXCIsXCJhcHBseUNhcmROdW1iZXJcIjpcIlwiLFwidGltZUxpbmVEYXRhXCI6W10sXCJsZWFkZXJNc2dcIjpbXSxcImluZm9BdHRhY2htZW50XCI6W10sXCJzdGF0ZVwiOlwiXCIsXCJpc091dFwiOjAsXCJkYXRldGltZVwiOltdLFwiYWRkcmVzc1wiOlwiXCIsXCJyZW1hcmtcIjpcIlwiLFwiYWNjZXNzb3J5R3JvdXBJZFwiOlwiXCIsXCJsZWdhbE1hblwiOlwiXCIsXCJsZWdhbE1hblRlbFBob25lXCI6XCJcIixcImNvbnRhY3RNYW5cIjpcIlwiLFwic2V0QWRkcmVzc1wiOlwiXCIsXCJzZXRDb250ZW50XCI6XCJcIixcIm1hdGVyaWFsXCI6XCJcIn0sXCJ0aXRsZVwiOlwibnVsbFwiLFwibWF4U3RlcHNcIjpudWxsfSxcImVsZW1lbnRzXCI6W3tcInR5cGVcIjpcImJ0bnMtb3ByYXRvclwiLFwiZGF0YVwiOntcImJ1dHRvbnNcIjpbe1widHlwZVwiOlwicHJpbWFyeVwiLFwibGFiZWxcIjpcIuS4i+S4gOatpVwiLFwiY2xpY2tcIjpcIm5leHRTdGVwQ2xpY2tcIn0se1widHlwZVwiOlwic3VjY2Vzc1wiLFwibGFiZWxcIjpcIuWKnuS6i+aMh+WNl1wiLFwiY2xpY2tcIjpcImd1aWRlQ2xpY2tcIn1dfX0se1widHlwZVwiOlwiYm94XCIsXCJkYXRhXCI6W3tcInR5cGVcIjpcImZvcm0tdGFibGVcIixcImRhdGFcIjp7XCJtb2RlbFwiOlwibGVhZGVyTXNnXCIsXCJ2YWxpZGF0b3JcIjpmYWxzZSxcIm1pblJvd3NcIjoxLFwid2lkdGhcIjoxMDAwLFwiZGlzYWJsZURlbFJvd3NcIjoxLFwiYnRuTXNnXCI6XCJcIixcInBsYWNlaG9sZGVyXCI6XCJcIixcImJ1c2lJZFwiOlwiXCIsXCJ0aXRsZVwiOlwiXCIsXCJhbGlnblwiOlwiY2VudGVyXCIsXCJ0eXBlXCI6XCJzZWxlY3RcIixcImNvbHVtbnNcIjpbe1widHlwZVwiOlwic2VsZWN0XCIsXCJ0aXRsZVwiOlwi5LiT6IGML+WFvOiBjFwiLFwibGFiZWxcIjpcIlwiLFwiYnVzaUlkXCI6XCJcIixcIml0ZW1zUHJvcFwiOlwiXCIsXCJ3aWR0aFwiOjIwMCxcImV4dGVuZFwiOntcIml0ZW1XaWR0aFwiOjMyMCxcInBsYWNlaG9sZGVyXCI6XCJcIixcImV2ZW50VHlwZVwiOlwiXCJ9LFwiaXRlbU9wdGlvbnNcIjpbe1wibGFiZWxcIjpcIuWFvOiBjFwiLFwidmFsdWVcIjpcIjFcIixcImV4dGVuZFwiOntcInNpemVcIjpcIlwiLFwiZGlzYWJsZWRcIjpmYWxzZX19LHtcImxhYmVsXCI6XCLkuJPogYxcIixcInZhbHVlXCI6XCIyXCIsXCJleHRlbmRcIjp7XCJzaXplXCI6XCJcIixcImRpc2FibGVkXCI6ZmFsc2V9fV19LHtcInR5cGVcIjpcImlucHV0XCIsXCJ0aXRsZVwiOlwi6LWE5qC86K+B5Lmm57yW5Y+3XCIsXCJhbGlnblwiOlwiY2VudGVyXCIsXCJwbGFjZWhvbGRlclwiOlwiXCIsXCJidXNpSWRcIjpcIlwiLFwid2lkdGhcIjoyMDAsXCJydWxlc1wiOntcInJlcXVpcmVkXCI6ZmFsc2UsXCJtZXNzYWdlXCI6XCJcIixcInR5cGVcIjpcIlwiLFwidHJpZ2dlclwiOlwiXCJ9fSx7XCJ0eXBlXCI6XCJpbnB1dFwiLFwidGl0bGVcIjpcIui6q+S7veivgee8luWPt1wiLFwiYWxpZ25cIjpcImNlbnRlclwiLFwicGxhY2Vob2xkZXJcIjpcIlwiLFwiYnVzaUlkXCI6XCJcIixcIndpZHRoXCI6MjAwLFwicnVsZXNcIjp7XCJyZXF1aXJlZFwiOmZhbHNlLFwibWVzc2FnZVwiOlwiXCIsXCJ0eXBlXCI6XCJcIixcInRyaWdnZXJcIjpcIlwifX0se1widHlwZVwiOlwiaW5wdXRcIixcInRpdGxlXCI6XCLku47kuovnh4PmsJTkuJPkuJrlt6XkvZzlubTpmZAo5bm0KVwiLFwiYWxpZ25cIjpcImNlbnRlclwiLFwicGxhY2Vob2xkZXJcIjpcIlwiLFwiYnVzaUlkXCI6XCJcIixcIndpZHRoXCI6MjAwLFwicnVsZXNcIjp7XCJyZXF1aXJlZFwiOmZhbHNlLFwibWVzc2FnZVwiOlwiXCIsXCJ0eXBlXCI6XCJcIixcInRyaWdnZXJcIjpcIlwifX0se1widHlwZVwiOlwiaW5wdXRcIixcInRpdGxlXCI6XCLogYzliqHlj4rlspfkvY1cIixcImFsaWduXCI6XCJjZW50ZXJcIixcInBsYWNlaG9sZGVyXCI6XCJcIixcImJ1c2lJZFwiOlwiXCIsXCJ3aWR0aFwiOjIwMCxcInJ1bGVzXCI6e1wicmVxdWlyZWRcIjpmYWxzZSxcIm1lc3NhZ2VcIjpcIlwiLFwidHlwZVwiOlwiXCIsXCJ0cmlnZ2VyXCI6XCJcIn19LHtcInR5cGVcIjpcInNlbGVjdFwiLFwidGl0bGVcIjpcIuaWh+WMlueoi+W6plwiLFwibGFiZWxcIjpcIlwiLFwiYnVzaUlkXCI6XCJcIixcIml0ZW1zUHJvcFwiOlwiXCIsXCJ3aWR0aFwiOjIwMCxcImV4dGVuZFwiOntcIml0ZW1XaWR0aFwiOjMyMCxcInBsYWNlaG9sZGVyXCI6XCJcIixcImV2ZW50VHlwZVwiOlwiXCJ9LFwiaXRlbU9wdGlvbnNcIjpbe1wibGFiZWxcIjpcIueglOeptueUn+WPiuS7peS4ilwiLFwidmFsdWVcIjpcIjFcIixcImV4dGVuZFwiOntcInNpemVcIjpcIlwiLFwiZGlzYWJsZWRcIjpmYWxzZX19LHtcImxhYmVsXCI6XCLlpKflrabmnKznp5FcIixcInZhbHVlXCI6XCIyXCIsXCJleHRlbmRcIjp7XCJzaXplXCI6XCJcIixcImRpc2FibGVkXCI6ZmFsc2V9fSx7XCJsYWJlbFwiOlwi5aSn5a2m5LiT56eRXCIsXCJ2YWx1ZVwiOlwiM1wiLFwiZXh0ZW5kXCI6e1wic2l6ZVwiOlwiXCIsXCJkaXNhYmxlZFwiOmZhbHNlfX0se1wibGFiZWxcIjpcIuS4reS4k1wiLFwidmFsdWVcIjpcIjRcIixcImV4dGVuZFwiOntcInNpemVcIjpcIlwiLFwiZGlzYWJsZWRcIjpmYWxzZX19LHtcImxhYmVsXCI6XCLpq5jkuK1cIixcInZhbHVlXCI6XCI1XCIsXCJleHRlbmRcIjp7XCJzaXplXCI6XCJcIixcImRpc2FibGVkXCI6ZmFsc2V9fSx7XCJsYWJlbFwiOlwi5Yid5LitXCIsXCJ2YWx1ZVwiOlwiNlwiLFwiZXh0ZW5kXCI6e1wic2l6ZVwiOlwiXCIsXCJkaXNhYmxlZFwiOmZhbHNlfX0se1wibGFiZWxcIjpcIuWwj+WtplwiLFwidmFsdWVcIjpcIjdcIixcImV4dGVuZFwiOntcInNpemVcIjpcIlwiLFwiZGlzYWJsZWRcIjpmYWxzZX19LHtcImxhYmVsXCI6XCLlhbbku5ZcIixcInZhbHVlXCI6XCI4XCIsXCJleHRlbmRcIjp7XCJzaXplXCI6XCJcIixcImRpc2FibGVkXCI6ZmFsc2V9fV19LHtcInR5cGVcIjpcInNlbGVjdFwiLFwidGl0bGVcIjpcIuaAp+WIq1wiLFwibGFiZWxcIjpcIlwiLFwiYnVzaUlkXCI6XCJcIixcIml0ZW1zUHJvcFwiOlwiXCIsXCJ3aWR0aFwiOjIwMCxcImV4dGVuZFwiOntcIml0ZW1XaWR0aFwiOjMyMCxcInBsYWNlaG9sZGVyXCI6XCJcIixcImV2ZW50VHlwZVwiOlwiXCJ9LFwiaXRlbU9wdGlvbnNcIjpbe1wibGFiZWxcIjpcIueUt1wiLFwidmFsdWVcIjpcIjFcIixcImV4dGVuZFwiOntcInNpemVcIjpcIlwiLFwiZGlzYWJsZWRcIjpmYWxzZX19LHtcImxhYmVsXCI6XCLlpbNcIixcInZhbHVlXCI6XCIyXCIsXCJleHRlbmRcIjp7XCJzaXplXCI6XCJcIixcImRpc2FibGVkXCI6ZmFsc2V9fV19LHtcInR5cGVcIjpcImlucHV0XCIsXCJ0aXRsZVwiOlwi5aeT5ZCNXCIsXCJhbGlnblwiOlwiY2VudGVyXCIsXCJwbGFjZWhvbGRlclwiOlwiXCIsXCJidXNpSWRcIjpcIlwiLFwid2lkdGhcIjoyMDAsXCJydWxlc1wiOntcInJlcXVpcmVkXCI6ZmFsc2UsXCJtZXNzYWdlXCI6XCJcIixcInR5cGVcIjpcIlwiLFwidHJpZ2dlclwiOlwiXCJ9fV19fSx7XCJ0eXBlXCI6XCJmb3JtXCIsXCJkYXRhXCI6e1widmFsaWRhdG9yXCI6ZmFsc2UsXCJydWxlc1wiOnt9LFwiZXh0ZW5kXCI6e1wic3BhblwiOjE3LFwibGFiZWxXaWR0aFwiOjIyMixcIml0ZW1XaWR0aFwiOjMyMCxcInBsYWNlaG9sZGVyXCI6XCJcIixcIm1heGxlbmd0aFwiOlwiMjIwXCIsXCJldmVudFR5cGVcIjpcIlwiLFwicm93c1wiOjB9LFwiaXRlbXNcIjpbe1widHlwZVwiOlwiaW5wdXRcIixcImxhYmVsXCI6XCLogZTns7vnlLXor50v55Sz6K+35Lq65omL5py6XCIsXCJidXNpSWRcIjo5LFwiZXh0ZW5kXCI6e1wiaXRlbVdpZHRoXCI6MzIwLFwicGxhY2Vob2xkZXJcIjpcIlwiLFwiZXZlbnRUeXBlXCI6XCJcIixcIm1heGxlbmd0aFwiOlwiMjIwXCJ9fSx7XCJ0eXBlXCI6XCJpbnB1dFwiLFwibGFiZWxcIjpcIuiBlOezu+S6ulwiLFwiYnVzaUlkXCI6MTgsXCJleHRlbmRcIjp7XCJpdGVtV2lkdGhcIjozMjAsXCJwbGFjZWhvbGRlclwiOlwiXCIsXCJldmVudFR5cGVcIjpcIlwiLFwibWF4bGVuZ3RoXCI6XCIyMjBcIn19LHtcInR5cGVcIjpcImlucHV0XCIsXCJsYWJlbFwiOlwi6K+B5Lu25Y+356CBXCIsXCJidXNpSWRcIjoxNyxcImV4dGVuZFwiOntcIml0ZW1XaWR0aFwiOjMyMCxcInBsYWNlaG9sZGVyXCI6XCJcIixcImV2ZW50VHlwZVwiOlwiXCIsXCJtYXhsZW5ndGhcIjpcIjIyMFwifX0se1widHlwZVwiOlwiaW5wdXRcIixcImxhYmVsXCI6XCLor4Hku7bnsbvlnovkuK3mlofmj4/ov7BcIixcImJ1c2lJZFwiOjMzLFwiZXh0ZW5kXCI6e1wiaXRlbVdpZHRoXCI6MzIwLFwicGxhY2Vob2xkZXJcIjpcIlwiLFwiZXZlbnRUeXBlXCI6XCJcIixcIm1heGxlbmd0aFwiOlwiMjIwXCJ9fSx7XCJ0eXBlXCI6XCJpbnB1dFwiLFwibGFiZWxcIjpcIuivgeS7tuexu+Wei1wiLFwiYnVzaUlkXCI6MjUsXCJleHRlbmRcIjp7XCJpdGVtV2lkdGhcIjozMjAsXCJwbGFjZWhvbGRlclwiOlwiXCIsXCJldmVudFR5cGVcIjpcIlwiLFwibWF4bGVuZ3RoXCI6XCIyMjBcIn19LHtcInR5cGVcIjpcImlucHV0XCIsXCJsYWJlbFwiOlwi5aeT5ZCNL+S8geS4muWQjeensFwiLFwiYnVzaUlkXCI6NixcImV4dGVuZFwiOntcIml0ZW1XaWR0aFwiOjMyMCxcInBsYWNlaG9sZGVyXCI6XCJcIixcImV2ZW50VHlwZVwiOlwiXCIsXCJtYXhsZW5ndGhcIjpcIjIyMFwifX1dfX1dfV19O1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBzdHJKc29uPUpTT04uc3RyaW5naWZ5KHRoaXMuanNvbk9iaik7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJzdHJKc29uOlwiK3N0ckpzb24pO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvc2V0UGFnZVByaXZpZXdEYXRhJywgdGhpcy5qc29uT2JqKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCh7bmFtZTogJ3BhZ2VQcmV2aWV3J30pXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZ2V0YnVzaW5lc3NEYXRhKGZpbGVOYW1lKXtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRodHRwLmdldCgnL3N0YXRpYy9kYXRhL3BhZ2UtaWRlLycrZmlsZU5hbWUrJy5qc29uJyk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGRlbGV0ZURhdGEoKXtcclxuICAgICAgICAgICAgICAgIGxldCBzdGF0ZT10aGlzLiRzdG9yZS5zdGF0ZTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L2RlbGV0ZURhdGEnLHN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjcmVhdGUoKXtcclxuICAgICAgICAgICAgZXZlbnRidXMuJG9uKFwiZXhwb3J0RGF0YVwiLChudW0pPT57XHJcbiAgICAgICAgICAgICAgICBhbGVydChudW0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5leHBvcnREYXRhKG51bSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG4gICAgLnNhdmVEaXZze1xyXG4gICAgICAgIHBhZGRpbmc6MHB4IDEwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIG1pbi13aWR0aDo1NnB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5zYXZlRGl2czpob3ZlcntcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBjb2xvcjogIzMzMztcclxuICAgIH1cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL3NhdmUvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///155\n");
1101
1102/***/ }),
1103/* 156 */
1104/***/ (function(module, exports, __webpack_require__) {
1105
1106"use strict";
1107eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _keys = __webpack_require__(41);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _assign = __webpack_require__(40);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n methods: {\n componentTreeFactory: function componentTreeFactory(fromComponentTree, toComponentTree) {\n var _this = this;\n\n if (!fromComponentTree) {\n return;\n }\n fromComponentTree.forEach(function (item) {\n var comTitle = _.trimStart(item.type, 'gaea-');\n toComponentTree.push(_this.componentFactory({ type: item.type, comId: item.id, comChildren: item.children, comTitle: comTitle }));\n });\n },\n componentFactory: function componentFactory(params) {\n var _this2 = this;\n\n var conponentData = {};\n var viewportInstancesData = this.viewportInstances[params.comId].data;\n\n if (params.type == \"gaea-container\" || params.type == \"gaea-box\") {\n conponentData = { type: params.comTitle, data: [] };\n this.componentTreeFactory(params.comChildren, conponentData.data);\n }\n if (params.type == \"gaea-btns-oprator\") {\n conponentData = { type: params.comTitle, data: { buttons: [] } };\n this.componentTreeFactory(params.comChildren, conponentData.data.buttons);\n }\n if (params.type == \"gaea-tip-alert\") {\n debugger;\n conponentData = { type: params.comTitle, extend: { buttons: [], content: viewportInstancesData.extend.content } };\n this.componentTreeFactory(params.comChildren, conponentData.data);\n }\n\n if (params.type == \"gaea-form\") {\n this.tipMessage2(viewportInstancesData.property, params.comTitle, function () {\n conponentData = { type: params.comTitle, data: { validator: viewportInstancesData.property.validator, rules: _this2.formValidatorRules, extend: viewportInstancesData.extend, items: [] } };\n _this2.componentTreeFactory(params.comChildren, conponentData.data.items);\n });\n }\n if (params.type == \"gaea-title\") {\n var newObj = (0, _assign2.default)(viewportInstancesData.property, {});\n conponentData = { type: params.comTitle, data: newObj };\n }\n if (params.type == \"gaea-steps\") {\n var stepsArr = [];\n this.tipMessage2(viewportInstancesData.steps, params.comTitle, function () {\n viewportInstancesData.steps.forEach(function (item) {\n stepsArr.push(item);\n });\n viewportInstancesData.property.current = parseInt(localStorage.itemStep) - 1;\n var newObj = (0, _assign2.default)(viewportInstancesData.property, { steps: stepsArr });\n conponentData = { type: params.comTitle, data: newObj };\n });\n }\n if (params.type == \"gaea-form-radio\") {\n this.tipMessage2(viewportInstancesData.extend && viewportInstancesData.items, params.comTitle, function () {\n var newObj = (0, _assign2.default)({ type: params.comTitle }, viewportInstancesData.property, { data: { extend: viewportInstancesData.extend, items: viewportInstancesData.items } });\n conponentData = newObj;\n });\n }\n if (params.type == \"gaea-info-base\") {\n this.tipMessage2(viewportInstancesData.property, params.comTitle, function () {\n var newObj = (0, _assign2.default)(viewportInstancesData.property, { basicInfo: { cells: [] } });\n conponentData = { type: params.comTitle, data: newObj };\n _this2.componentTreeFactory(params.comChildren, conponentData.data.basicInfo.cells);\n });\n }\n if (params.type == \"gaea-cell\") {\n this.tipMessage2(viewportInstancesData.property, params.comTitle, function () {\n var newObj = (0, _assign2.default)(viewportInstancesData.property, { data: [] });\n\n conponentData = newObj;\n _this2.componentTreeFactory(params.comChildren, conponentData.data);\n });\n }\n if (params.type == \"gaea-form-table\") {\n this.tipMessage2(viewportInstancesData.property, params.comTitle, function () {\n var newObj = (0, _assign2.default)(viewportInstancesData.property, { columns: [], model: viewportInstancesData.property.prop });\n conponentData = { type: params.comTitle, prop: viewportInstancesData.property.prop, data: newObj };\n delete conponentData.data.prop;\n _this2.componentTreeFactory(params.comChildren, conponentData.data.columns);\n });\n }\n if (params.type == \"gaea-cell-table\") {\n this.tipMessage2(viewportInstancesData.property, params.comTitle, function () {\n var newObj = (0, _assign2.default)(viewportInstancesData.property, { itemPropList: [] });\n conponentData = newObj;\n\n _this2.componentTreeFactory(params.comChildren, conponentData.itemPropList);\n });\n }\n if (params.type == \"gaea-table-attach-file\") {\n this.tipMessage2(viewportInstancesData.property, params.comTitle, function () {\n var newObj = (0, _assign2.default)(viewportInstancesData.property, {});\n\n conponentData = { type: params.comTitle, data: newObj };\n });\n }\n if (params.type == \"gaea-info-attachment\") {\n this.tipMessage2(viewportInstancesData.property, params.comTitle, function () {\n var newObj = (0, _assign2.default)(viewportInstancesData.property, {});\n\n conponentData = { type: params.comTitle, data: newObj };\n });\n }\n if (params.type == \"gaea-time-line\") {\n this.tipMessage2(viewportInstancesData.property, params.comTitle, function () {\n var newObj = (0, _assign2.default)(viewportInstancesData.property, {});\n\n conponentData = { type: params.comTitle, data: newObj };\n });\n }\n if (params.type == \"gaea-address-select\") {\n var _newObj = (0, _assign2.default)(viewportInstancesData.property, { extend: viewportInstancesData.extend });\n\n conponentData = { type: params.comTitle, data: _newObj };\n }\n if (params.type == \"gaea-identity-check\") {\n conponentData = { type: params.comTitle, data: viewportInstancesData.property };\n }\n if (params.type == \"gaea-pap-download-scan\") {\n conponentData = { type: params.comTitle, data: viewportInstancesData.property };\n }\n\n if (params.type == \"gaea-button\") {\n var _newObj2 = (0, _assign2.default)({ type: params.comTitle }, viewportInstancesData.property);\n\n conponentData = _newObj2;\n }\n if (params.type == \"gaea-textarea\" || params.type == \"gaea-input\" || params.type == \"gaea-budongchan\" || params.type == \"gaea-inputIDCard\" || params.type == \"gaea-select-input\") {\n if (viewportInstancesData.extend.showFlag && viewportInstancesData.extend.showFlag.length == 0) {\n delete viewportInstancesData.extend.showFlag;\n }\n this.tipMessage2(viewportInstancesData.extend, params.comTitle, function () {\n if (viewportInstancesData.extend.type !== 'textarea') {\n delete viewportInstancesData.extend.rows;\n } else {}\n var newObj = (0, _assign2.default)(viewportInstancesData.property, { type: params.comTitle }, { extend: viewportInstancesData.extend }, { rules: viewportInstancesData.validateArr });\n conponentData = newObj;\n });\n }\n if (params.type == \"gaea-input-number\") {\n this.tipMessage2(viewportInstancesData.property && viewportInstancesData.extend, params.comTitle, function () {\n var newObj = (0, _assign2.default)(viewportInstancesData.property, { type: params.comTitle }, { extend: viewportInstancesData.extend });\n\n conponentData = newObj;\n });\n }\n if (params.type == \"gaea-upload\") {\n this.tipMessage2(viewportInstancesData.property && viewportInstancesData.extend, params.comTitle, function () {\n var newObj = (0, _assign2.default)(viewportInstancesData.property, { type: params.comTitle }, { extend: viewportInstancesData.extend });\n\n conponentData = newObj;\n });\n }\n if (params.type == \"gaea-label\" || params.type == \"gaea-timeLabel\") {\n var _newObj3 = (0, _assign2.default)(viewportInstancesData.property, { type: params.comTitle }, { excat: viewportInstancesData.excat });\n\n conponentData = _newObj3;\n }\n if (params.type == \"gaea-radio\") {\n this.tipMessage2(viewportInstancesData.property, params.comTitle, function () {\n var newObj = (0, _assign2.default)(viewportInstancesData.property, { type: params.comTitle }, { items: viewportInstancesData.radioArr });\n\n conponentData = newObj;\n });\n }\n if (params.type == \"gaea-checkboxMultiple\" || params.type == \"gaea-checkboxMultipleRadio\") {\n this.tipMessage2(viewportInstancesData.property, params.comTitle, function () {\n var mockExt = {\n extend: viewportInstancesData.extend || {}\n };\n mockExt.extend.mockData = viewportInstancesData.radioArr;\n var newObj = (0, _assign2.default)(viewportInstancesData.property, { type: params.comTitle }, { extend: mockExt.extend });\n conponentData = newObj;\n });\n }\n if (params.type == \"gaea-date-picker\") {\n this.tipMessage2(viewportInstancesData.extend, params.comTitle, function () {\n var newObj = (0, _assign2.default)(viewportInstancesData.property, { type: params.comTitle }, { extend: viewportInstancesData.extend });\n\n conponentData = newObj;\n });\n }\n if (params.type == \"gaea-date-time\") {\n this.tipMessage2(viewportInstancesData.extend, params.comTitle, function () {\n debugger;\n delete viewportInstancesData.extend.type;\n var newObj = (0, _assign2.default)(viewportInstancesData.property, { type: \"time-picker\" }, { extend: viewportInstancesData.extend });\n conponentData = newObj;\n });\n }\n if (params.type == \"gaea-endDateChoose\") {\n this.tipMessage2(viewportInstancesData.extend, \"endDateChoose\", function () {\n var newObj = (0, _assign2.default)(viewportInstancesData.property, { type: \"endDateChoose\" }, { extend: viewportInstancesData.extend });\n\n conponentData = newObj;\n });\n }\n if (params.type == \"gaea-date-picker-daterange\") {\n this.tipMessage2(viewportInstancesData.extend, params.comTitle, function () {\n var newObj = (0, _assign2.default)(viewportInstancesData.property, { type: \"date-picker\" }, { extend: viewportInstancesData.extend });\n\n conponentData = newObj;\n });\n }\n if (params.type == \"gaea-date-time-timerange\") {\n this.tipMessage2(viewportInstancesData.extend, params.comTitle, function () {\n debugger;\n viewportInstancesData.extend.type = \"timerange\";\n var newObj = (0, _assign2.default)(viewportInstancesData.property, { type: \"time-picker\" }, { extend: viewportInstancesData.extend });\n\n conponentData = newObj;\n });\n }\n if (params.type == \"gaea-icon-button\") {\n this.tipMessage2(viewportInstancesData.property, params.comTitle, function () {\n var newObj = (0, _assign2.default)(viewportInstancesData.property, {});\n\n conponentData = newObj;\n });\n }\n if (params.type == \"gaea-table-input\" || params.type == \"gaea-table-daterange\" || params.type == \"gaea-table-single-date\" || params.type == \"gaea-table-single-month\") {\n this.tipMessage2(viewportInstancesData.property, params.comTitle, function () {\n var newObj = (0, _assign2.default)({ type: params.comTitle }, viewportInstancesData.property, { rules: viewportInstancesData.rules });\n\n conponentData = newObj;\n });\n }\n if (params.type == \"gaea-cascader\" || params.type == \"gaea-select\" || params.type == \"gaea-selectLabel\" || params.type == \"gaea-selectLink\") {\n if (viewportInstancesData.property.dynamic && viewportInstancesData.property.dynamic.url == \"\") {\n delete viewportInstancesData.property.dynamic;\n }\n if (viewportInstancesData.property.itemsProp && viewportInstancesData.property.itemsProp == \"\") {\n delete viewportInstancesData.property.itemsProp;\n }\n this.tipMessage2(viewportInstancesData.property && viewportInstancesData.extend, params.comTitle, function () {\n var newObj = (0, _assign2.default)(viewportInstancesData.property, { type: params.comTitle }, { extend: viewportInstancesData.extend }, { items: viewportInstancesData.radioArr });\n\n conponentData = newObj;\n });\n }\n if (params.type == \"gaea-table-select\") {\n this.tipMessage2(viewportInstancesData.property && viewportInstancesData.extend, params.comTitle, function () {\n var newObj = (0, _assign2.default)({ type: \"select\" }, viewportInstancesData.property, { rules: viewportInstancesData.rules }, { extend: viewportInstancesData.extend }, { itemOptions: viewportInstancesData.radioArr });\n\n conponentData = newObj;\n });\n }\n if (params.type == \"gaea-cell-child\") {\n this.tipMessage2(viewportInstancesData.property, params.comTitle, function () {\n var newObj = (0, _assign2.default)(viewportInstancesData.property, { itemPropList: viewportInstancesData.radioArr });\n\n conponentData = newObj;\n });\n }\n return conponentData;\n },\n tipMessage2: function tipMessage2(item, title, callback) {\n if (item) {\n callback();\n } else {\n this.$Modal.info({\n title: '提示信息',\n content: '请填写' + title + '组件信息'\n });\n this.isShowModal = false;\n }\n },\n digui: function digui(instanceKey) {\n var _this3 = this;\n\n var instanceInfo = this.instances.get(instanceKey);\n var crrtComponent = this.applicationState.componentClasses.get(instanceInfo.gaeaKey);\n var childs = (0, _keys2.default)(instanceInfo.slots).reduce(function (prev, nxt) {\n return prev.concat(instanceInfo.slots[nxt]);\n }, []);\n var result = {\n title: crrtComponent.editSetting.name,\n type: instanceInfo.gaeaKey,\n id: instanceKey\n };\n if (childs.length) {\n result.expand = true;\n result.children = childs.map(function (item) {\n return _this3.digui(item);\n });\n }\n return result;\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9zYXZlL21peFV0aWwuanM/N2U1ZiJdLCJuYW1lcyI6WyJtZXRob2RzIiwiY29tcG9uZW50VHJlZUZhY3RvcnkiLCJmcm9tQ29tcG9uZW50VHJlZSIsInRvQ29tcG9uZW50VHJlZSIsImZvckVhY2giLCJpdGVtIiwiY29tVGl0bGUiLCJfIiwidHJpbVN0YXJ0IiwidHlwZSIsInB1c2giLCJjb21wb25lbnRGYWN0b3J5IiwiY29tSWQiLCJpZCIsImNvbUNoaWxkcmVuIiwiY2hpbGRyZW4iLCJwYXJhbXMiLCJjb25wb25lbnREYXRhIiwidmlld3BvcnRJbnN0YW5jZXNEYXRhIiwidmlld3BvcnRJbnN0YW5jZXMiLCJkYXRhIiwiYnV0dG9ucyIsImV4dGVuZCIsImNvbnRlbnQiLCJ0aXBNZXNzYWdlMiIsInByb3BlcnR5IiwidmFsaWRhdG9yIiwicnVsZXMiLCJmb3JtVmFsaWRhdG9yUnVsZXMiLCJpdGVtcyIsIm5ld09iaiIsInN0ZXBzQXJyIiwic3RlcHMiLCJjdXJyZW50IiwicGFyc2VJbnQiLCJsb2NhbFN0b3JhZ2UiLCJpdGVtU3RlcCIsImJhc2ljSW5mbyIsImNlbGxzIiwiY29sdW1ucyIsIm1vZGVsIiwicHJvcCIsIml0ZW1Qcm9wTGlzdCIsInNob3dGbGFnIiwibGVuZ3RoIiwicm93cyIsInZhbGlkYXRlQXJyIiwiZXhjYXQiLCJyYWRpb0FyciIsIm1vY2tFeHQiLCJtb2NrRGF0YSIsImR5bmFtaWMiLCJ1cmwiLCJpdGVtc1Byb3AiLCJpdGVtT3B0aW9ucyIsInRpdGxlIiwiY2FsbGJhY2siLCIkTW9kYWwiLCJpbmZvIiwiaXNTaG93TW9kYWwiLCJkaWd1aSIsImluc3RhbmNlS2V5IiwiaW5zdGFuY2VJbmZvIiwiaW5zdGFuY2VzIiwiZ2V0IiwiY3JydENvbXBvbmVudCIsImFwcGxpY2F0aW9uU3RhdGUiLCJjb21wb25lbnRDbGFzc2VzIiwiZ2FlYUtleSIsImNoaWxkcyIsInNsb3RzIiwicmVkdWNlIiwicHJldiIsIm54dCIsImNvbmNhdCIsInJlc3VsdCIsImVkaXRTZXR0aW5nIiwibmFtZSIsImV4cGFuZCIsIm1hcCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztrQkFNZTtBQUNYQSxhQUFRO0FBQ0pDLDRCQURJLGdDQUNpQkMsaUJBRGpCLEVBQ21DQyxlQURuQyxFQUNtRDtBQUFBOztBQUVuRCxnQkFBRyxDQUFDRCxpQkFBSixFQUFzQjtBQUNsQjtBQUNIO0FBQ0RBLDhCQUFrQkUsT0FBbEIsQ0FBMEIsVUFBQ0MsSUFBRCxFQUFRO0FBQzlCLG9CQUFJQyxXQUFXQyxFQUFFQyxTQUFGLENBQVlILEtBQUtJLElBQWpCLEVBQXNCLE9BQXRCLENBQWY7QUFDQU4sZ0NBQWdCTyxJQUFoQixDQUFxQixNQUFLQyxnQkFBTCxDQUFzQixFQUFDRixNQUFLSixLQUFLSSxJQUFYLEVBQWdCRyxPQUFNUCxLQUFLUSxFQUEzQixFQUE4QkMsYUFBWVQsS0FBS1UsUUFBL0MsRUFBd0RULFVBQVNBLFFBQWpFLEVBQXRCLENBQXJCO0FBQ0gsYUFIRDtBQUlILFNBVkc7QUFXSkssd0JBWEksNEJBV2FLLE1BWGIsRUFXb0I7QUFBQTs7QUFFcEIsZ0JBQUlDLGdCQUFnQixFQUFwQjtBQUNBLGdCQUFJQyx3QkFBd0IsS0FBS0MsaUJBQUwsQ0FBdUJILE9BQU9KLEtBQTlCLEVBQXFDUSxJQUFqRTs7QUFFQSxnQkFBR0osT0FBT1AsSUFBUCxJQUFhLGdCQUFiLElBQStCTyxPQUFPUCxJQUFQLElBQWEsVUFBL0MsRUFBMEQ7QUFDdERRLGdDQUFnQixFQUFDUixNQUFLTyxPQUFPVixRQUFiLEVBQXNCYyxNQUFLLEVBQTNCLEVBQWhCO0FBQ0EscUJBQUtuQixvQkFBTCxDQUEwQmUsT0FBT0YsV0FBakMsRUFBNkNHLGNBQWNHLElBQTNEO0FBQ0g7QUFDRCxnQkFBR0osT0FBT1AsSUFBUCxJQUFhLG1CQUFoQixFQUFvQztBQUNoQ1EsZ0NBQWdCLEVBQUNSLE1BQUtPLE9BQU9WLFFBQWIsRUFBc0JjLE1BQUssRUFBQ0MsU0FBUSxFQUFULEVBQTNCLEVBQWhCO0FBQ0EscUJBQUtwQixvQkFBTCxDQUEwQmUsT0FBT0YsV0FBakMsRUFBNkNHLGNBQWNHLElBQWQsQ0FBbUJDLE9BQWhFO0FBQ0g7QUFDRCxnQkFBR0wsT0FBT1AsSUFBUCxJQUFhLGdCQUFoQixFQUFpQztBQUM3QjtBQUNBUSxnQ0FBZ0IsRUFBQ1IsTUFBS08sT0FBT1YsUUFBYixFQUFzQmdCLFFBQU8sRUFBQ0QsU0FBUSxFQUFULEVBQVlFLFNBQVFMLHNCQUFzQkksTUFBdEIsQ0FBNkJDLE9BQWpELEVBQTdCLEVBQWhCO0FBQ0EscUJBQUt0QixvQkFBTCxDQUEwQmUsT0FBT0YsV0FBakMsRUFBNkNHLGNBQWNHLElBQTNEO0FBQ0g7O0FBRUQsZ0JBQUdKLE9BQU9QLElBQVAsSUFBYSxXQUFoQixFQUE0QjtBQUN4QixxQkFBS2UsV0FBTCxDQUFpQk4sc0JBQXNCTyxRQUF2QyxFQUFnRFQsT0FBT1YsUUFBdkQsRUFBZ0UsWUFBSTtBQUNoRVcsb0NBQWdCLEVBQUNSLE1BQUtPLE9BQU9WLFFBQWIsRUFBc0JjLE1BQUssRUFBQ00sV0FBVVIsc0JBQXNCTyxRQUF0QixDQUErQkMsU0FBMUMsRUFBb0RDLE9BQU0sT0FBS0Msa0JBQS9ELEVBQWtGTixRQUFPSixzQkFBc0JJLE1BQS9HLEVBQXNITyxPQUFNLEVBQTVILEVBQTNCLEVBQWhCO0FBQ0EsMkJBQUs1QixvQkFBTCxDQUEwQmUsT0FBT0YsV0FBakMsRUFBNkNHLGNBQWNHLElBQWQsQ0FBbUJTLEtBQWhFO0FBQ0gsaUJBSEQ7QUFJSDtBQUNELGdCQUFHYixPQUFPUCxJQUFQLElBQWEsWUFBaEIsRUFBNkI7QUFDekIsb0JBQUlxQixTQUFPLHNCQUFjWixzQkFBc0JPLFFBQXBDLEVBQTZDLEVBQTdDLENBQVg7QUFDQVIsZ0NBQWdCLEVBQUNSLE1BQUtPLE9BQU9WLFFBQWIsRUFBc0JjLE1BQUtVLE1BQTNCLEVBQWhCO0FBQ0g7QUFDRCxnQkFBR2QsT0FBT1AsSUFBUCxJQUFhLFlBQWhCLEVBQTZCO0FBQ3pCLG9CQUFJc0IsV0FBVyxFQUFmO0FBQ0EscUJBQUtQLFdBQUwsQ0FBaUJOLHNCQUFzQmMsS0FBdkMsRUFBNkNoQixPQUFPVixRQUFwRCxFQUE2RCxZQUFJO0FBQzdEWSwwQ0FBc0JjLEtBQXRCLENBQTRCNUIsT0FBNUIsQ0FBb0MsVUFBQ0MsSUFBRCxFQUFRO0FBQ3hDMEIsaUNBQVNyQixJQUFULENBQWNMLElBQWQ7QUFDSCxxQkFGRDtBQUdBYSwwQ0FBc0JPLFFBQXRCLENBQStCUSxPQUEvQixHQUF1Q0MsU0FBU0MsYUFBYUMsUUFBdEIsSUFBZ0MsQ0FBdkU7QUFDQSx3QkFBSU4sU0FBTyxzQkFBY1osc0JBQXNCTyxRQUFwQyxFQUE2QyxFQUFDTyxPQUFNRCxRQUFQLEVBQTdDLENBQVg7QUFDQWQsb0NBQWdCLEVBQUNSLE1BQUtPLE9BQU9WLFFBQWIsRUFBc0JjLE1BQUtVLE1BQTNCLEVBQWhCO0FBQ0gsaUJBUEQ7QUFRSDtBQUNELGdCQUFHZCxPQUFPUCxJQUFQLElBQWEsaUJBQWhCLEVBQWtDO0FBQzlCLHFCQUFLZSxXQUFMLENBQWlCTixzQkFBc0JJLE1BQXRCLElBQThCSixzQkFBc0JXLEtBQXJFLEVBQTJFYixPQUFPVixRQUFsRixFQUEyRixZQUFJO0FBQzNGLHdCQUFJd0IsU0FBTyxzQkFBYyxFQUFDckIsTUFBS08sT0FBT1YsUUFBYixFQUFkLEVBQXFDWSxzQkFBc0JPLFFBQTNELEVBQW9FLEVBQUNMLE1BQUssRUFBQ0UsUUFBT0osc0JBQXNCSSxNQUE5QixFQUFxQ08sT0FBTVgsc0JBQXNCVyxLQUFqRSxFQUFOLEVBQXBFLENBQVg7QUFDQVosb0NBQWVhLE1BQWY7QUFDSCxpQkFIRDtBQUlIO0FBQ0QsZ0JBQUdkLE9BQU9QLElBQVAsSUFBYSxnQkFBaEIsRUFBaUM7QUFDN0IscUJBQUtlLFdBQUwsQ0FBaUJOLHNCQUFzQk8sUUFBdkMsRUFBZ0RULE9BQU9WLFFBQXZELEVBQWdFLFlBQUk7QUFDaEUsd0JBQUl3QixTQUFPLHNCQUFjWixzQkFBc0JPLFFBQXBDLEVBQTZDLEVBQUNZLFdBQVUsRUFBQ0MsT0FBTSxFQUFQLEVBQVgsRUFBN0MsQ0FBWDtBQUNBckIsb0NBQWdCLEVBQUNSLE1BQUtPLE9BQU9WLFFBQWIsRUFBc0JjLE1BQUtVLE1BQTNCLEVBQWhCO0FBQ0EsMkJBQUs3QixvQkFBTCxDQUEwQmUsT0FBT0YsV0FBakMsRUFBNkNHLGNBQWNHLElBQWQsQ0FBbUJpQixTQUFuQixDQUE2QkMsS0FBMUU7QUFDSCxpQkFKRDtBQUtIO0FBQ0QsZ0JBQUd0QixPQUFPUCxJQUFQLElBQWEsV0FBaEIsRUFBNEI7QUFDeEIscUJBQUtlLFdBQUwsQ0FBaUJOLHNCQUFzQk8sUUFBdkMsRUFBZ0RULE9BQU9WLFFBQXZELEVBQWdFLFlBQUk7QUFDaEUsd0JBQUl3QixTQUFPLHNCQUFjWixzQkFBc0JPLFFBQXBDLEVBQTZDLEVBQUNMLE1BQUssRUFBTixFQUE3QyxDQUFYOztBQUVBSCxvQ0FBZWEsTUFBZjtBQUNBLDJCQUFLN0Isb0JBQUwsQ0FBMEJlLE9BQU9GLFdBQWpDLEVBQTZDRyxjQUFjRyxJQUEzRDtBQUNILGlCQUxEO0FBTUg7QUFDRCxnQkFBR0osT0FBT1AsSUFBUCxJQUFhLGlCQUFoQixFQUFrQztBQUM5QixxQkFBS2UsV0FBTCxDQUFpQk4sc0JBQXNCTyxRQUF2QyxFQUFnRFQsT0FBT1YsUUFBdkQsRUFBZ0UsWUFBSTtBQU1qRSx3QkFBSXdCLFNBQU8sc0JBQWNaLHNCQUFzQk8sUUFBcEMsRUFBNkMsRUFBQ2MsU0FBUSxFQUFULEVBQVlDLE9BQU10QixzQkFBc0JPLFFBQXRCLENBQStCZ0IsSUFBakQsRUFBN0MsQ0FBWDtBQUNEeEIsb0NBQWdCLEVBQUNSLE1BQUtPLE9BQU9WLFFBQWIsRUFBc0JtQyxNQUFLdkIsc0JBQXNCTyxRQUF0QixDQUErQmdCLElBQTFELEVBQStEckIsTUFBS1UsTUFBcEUsRUFBaEI7QUFDRSwyQkFBT2IsY0FBY0csSUFBZCxDQUFtQnFCLElBQTFCO0FBQ0EsMkJBQUt4QyxvQkFBTCxDQUEwQmUsT0FBT0YsV0FBakMsRUFBNkNHLGNBQWNHLElBQWQsQ0FBbUJtQixPQUFoRTtBQUNILGlCQVZEO0FBV0g7QUFDRCxnQkFBR3ZCLE9BQU9QLElBQVAsSUFBYSxpQkFBaEIsRUFBa0M7QUFDOUIscUJBQUtlLFdBQUwsQ0FBaUJOLHNCQUFzQk8sUUFBdkMsRUFBZ0RULE9BQU9WLFFBQXZELEVBQWdFLFlBQUk7QUFDaEUsd0JBQUl3QixTQUFPLHNCQUFjWixzQkFBc0JPLFFBQXBDLEVBQTZDLEVBQUNpQixjQUFhLEVBQWQsRUFBN0MsQ0FBWDtBQUNBekIsb0NBQWVhLE1BQWY7O0FBRUEsMkJBQUs3QixvQkFBTCxDQUEwQmUsT0FBT0YsV0FBakMsRUFBNkNHLGNBQWN5QixZQUEzRDtBQUNILGlCQUxEO0FBTUg7QUFDRCxnQkFBRzFCLE9BQU9QLElBQVAsSUFBYSx3QkFBaEIsRUFBeUM7QUFDckMscUJBQUtlLFdBQUwsQ0FBaUJOLHNCQUFzQk8sUUFBdkMsRUFBZ0RULE9BQU9WLFFBQXZELEVBQWdFLFlBQUk7QUFDaEUsd0JBQUl3QixTQUFPLHNCQUFjWixzQkFBc0JPLFFBQXBDLEVBQTZDLEVBQTdDLENBQVg7O0FBRUFSLG9DQUFnQixFQUFDUixNQUFLTyxPQUFPVixRQUFiLEVBQXNCYyxNQUFLVSxNQUEzQixFQUFoQjtBQUNILGlCQUpEO0FBS0g7QUFDRCxnQkFBR2QsT0FBT1AsSUFBUCxJQUFhLHNCQUFoQixFQUF1QztBQUNuQyxxQkFBS2UsV0FBTCxDQUFpQk4sc0JBQXNCTyxRQUF2QyxFQUFnRFQsT0FBT1YsUUFBdkQsRUFBZ0UsWUFBSTtBQUNoRSx3QkFBSXdCLFNBQU8sc0JBQWNaLHNCQUFzQk8sUUFBcEMsRUFBNkMsRUFBN0MsQ0FBWDs7QUFFQVIsb0NBQWdCLEVBQUNSLE1BQUtPLE9BQU9WLFFBQWIsRUFBc0JjLE1BQUtVLE1BQTNCLEVBQWhCO0FBQ0gsaUJBSkQ7QUFLSDtBQUNELGdCQUFHZCxPQUFPUCxJQUFQLElBQWEsZ0JBQWhCLEVBQWlDO0FBQzdCLHFCQUFLZSxXQUFMLENBQWlCTixzQkFBc0JPLFFBQXZDLEVBQWdEVCxPQUFPVixRQUF2RCxFQUFnRSxZQUFJO0FBQ2hFLHdCQUFJd0IsU0FBTyxzQkFBY1osc0JBQXNCTyxRQUFwQyxFQUE2QyxFQUE3QyxDQUFYOztBQUVBUixvQ0FBZ0IsRUFBQ1IsTUFBS08sT0FBT1YsUUFBYixFQUFzQmMsTUFBS1UsTUFBM0IsRUFBaEI7QUFDSCxpQkFKRDtBQUtIO0FBQ0QsZ0JBQUdkLE9BQU9QLElBQVAsSUFBYSxxQkFBaEIsRUFBc0M7QUFDbEMsb0JBQUlxQixVQUFPLHNCQUFjWixzQkFBc0JPLFFBQXBDLEVBQTZDLEVBQUNILFFBQU9KLHNCQUFzQkksTUFBOUIsRUFBN0MsQ0FBWDs7QUFFQUwsZ0NBQWdCLEVBQUNSLE1BQUtPLE9BQU9WLFFBQWIsRUFBc0JjLE1BQUtVLE9BQTNCLEVBQWhCO0FBQ0g7QUFDRCxnQkFBR2QsT0FBT1AsSUFBUCxJQUFhLHFCQUFoQixFQUFzQztBQUNsQ1EsZ0NBQWdCLEVBQUNSLE1BQUtPLE9BQU9WLFFBQWIsRUFBc0JjLE1BQUtGLHNCQUFzQk8sUUFBakQsRUFBaEI7QUFDSDtBQUNELGdCQUFHVCxPQUFPUCxJQUFQLElBQWEsd0JBQWhCLEVBQXlDO0FBQ3JDUSxnQ0FBZ0IsRUFBQ1IsTUFBS08sT0FBT1YsUUFBYixFQUFzQmMsTUFBS0Ysc0JBQXNCTyxRQUFqRCxFQUFoQjtBQUNIOztBQUVELGdCQUFHVCxPQUFPUCxJQUFQLElBQWEsYUFBaEIsRUFBOEI7QUFDMUIsb0JBQUlxQixXQUFPLHNCQUFjLEVBQUNyQixNQUFLTyxPQUFPVixRQUFiLEVBQWQsRUFBcUNZLHNCQUFzQk8sUUFBM0QsQ0FBWDs7QUFFQVIsZ0NBQWdCYSxRQUFoQjtBQUNIO0FBQ0QsZ0JBQUdkLE9BQU9QLElBQVAsSUFBYSxlQUFiLElBQThCTyxPQUFPUCxJQUFQLElBQWEsWUFBM0MsSUFBeURPLE9BQU9QLElBQVAsSUFBYSxpQkFBdEUsSUFBeUZPLE9BQU9QLElBQVAsSUFBYSxrQkFBdEcsSUFBMEhPLE9BQU9QLElBQVAsSUFBYSxtQkFBMUksRUFBOEo7QUFJMUosb0JBQUdTLHNCQUFzQkksTUFBdEIsQ0FBNkJxQixRQUE3QixJQUF1Q3pCLHNCQUFzQkksTUFBdEIsQ0FBNkJxQixRQUE3QixDQUFzQ0MsTUFBdEMsSUFBOEMsQ0FBeEYsRUFBMEY7QUFDdkYsMkJBQU8xQixzQkFBc0JJLE1BQXRCLENBQTZCcUIsUUFBcEM7QUFDRjtBQUNELHFCQUFLbkIsV0FBTCxDQUFpQk4sc0JBQXNCSSxNQUF2QyxFQUE4Q04sT0FBT1YsUUFBckQsRUFBOEQsWUFBSTtBQUM5RCx3QkFBR1ksc0JBQXNCSSxNQUF0QixDQUE2QmIsSUFBN0IsS0FBb0MsVUFBdkMsRUFBa0Q7QUFDOUMsK0JBQU9TLHNCQUFzQkksTUFBdEIsQ0FBNkJ1QixJQUFwQztBQUNILHFCQUZELE1BRUssQ0FFSjtBQUNELHdCQUFJZixTQUFPLHNCQUFjWixzQkFBc0JPLFFBQXBDLEVBQTZDLEVBQUNoQixNQUFLTyxPQUFPVixRQUFiLEVBQTdDLEVBQW9FLEVBQUNnQixRQUFPSixzQkFBc0JJLE1BQTlCLEVBQXBFLEVBQTBHLEVBQUNLLE9BQU1ULHNCQUFzQjRCLFdBQTdCLEVBQTFHLENBQVg7QUFDQTdCLG9DQUFnQmEsTUFBaEI7QUFDSCxpQkFSRDtBQVNIO0FBQ0QsZ0JBQUdkLE9BQU9QLElBQVAsSUFBYSxtQkFBaEIsRUFBb0M7QUFDaEMscUJBQUtlLFdBQUwsQ0FBaUJOLHNCQUFzQk8sUUFBdEIsSUFBZ0NQLHNCQUFzQkksTUFBdkUsRUFBOEVOLE9BQU9WLFFBQXJGLEVBQThGLFlBQUk7QUFDOUYsd0JBQUl3QixTQUFPLHNCQUFjWixzQkFBc0JPLFFBQXBDLEVBQTZDLEVBQUNoQixNQUFLTyxPQUFPVixRQUFiLEVBQTdDLEVBQW9FLEVBQUNnQixRQUFPSixzQkFBc0JJLE1BQTlCLEVBQXBFLENBQVg7O0FBRUFMLG9DQUFnQmEsTUFBaEI7QUFDSCxpQkFKRDtBQUtIO0FBQ0QsZ0JBQUdkLE9BQU9QLElBQVAsSUFBYSxhQUFoQixFQUE4QjtBQUMxQixxQkFBS2UsV0FBTCxDQUFpQk4sc0JBQXNCTyxRQUF0QixJQUFnQ1Asc0JBQXNCSSxNQUF2RSxFQUE4RU4sT0FBT1YsUUFBckYsRUFBOEYsWUFBSTtBQUM5Rix3QkFBSXdCLFNBQU8sc0JBQWNaLHNCQUFzQk8sUUFBcEMsRUFBNkMsRUFBQ2hCLE1BQUtPLE9BQU9WLFFBQWIsRUFBN0MsRUFBb0UsRUFBQ2dCLFFBQU9KLHNCQUFzQkksTUFBOUIsRUFBcEUsQ0FBWDs7QUFFQUwsb0NBQWdCYSxNQUFoQjtBQUNILGlCQUpEO0FBS0g7QUFDRCxnQkFBR2QsT0FBT1AsSUFBUCxJQUFhLFlBQWIsSUFBMkJPLE9BQU9QLElBQVAsSUFBYSxnQkFBM0MsRUFBNEQ7QUFDeEQsb0JBQUlxQixXQUFPLHNCQUFjWixzQkFBc0JPLFFBQXBDLEVBQTZDLEVBQUNoQixNQUFLTyxPQUFPVixRQUFiLEVBQTdDLEVBQW9FLEVBQUN5QyxPQUFNN0Isc0JBQXNCNkIsS0FBN0IsRUFBcEUsQ0FBWDs7QUFFQTlCLGdDQUFnQmEsUUFBaEI7QUFDSDtBQUNELGdCQUFHZCxPQUFPUCxJQUFQLElBQWEsWUFBaEIsRUFBNkI7QUFDekIscUJBQUtlLFdBQUwsQ0FBaUJOLHNCQUFzQk8sUUFBdkMsRUFBZ0RULE9BQU9WLFFBQXZELEVBQWdFLFlBQUk7QUFDaEUsd0JBQUl3QixTQUFPLHNCQUFjWixzQkFBc0JPLFFBQXBDLEVBQTZDLEVBQUNoQixNQUFLTyxPQUFPVixRQUFiLEVBQTdDLEVBQW9FLEVBQUN1QixPQUFNWCxzQkFBc0I4QixRQUE3QixFQUFwRSxDQUFYOztBQUVBL0Isb0NBQWdCYSxNQUFoQjtBQUNILGlCQUpEO0FBS0g7QUFDRCxnQkFBR2QsT0FBT1AsSUFBUCxJQUFhLHVCQUFiLElBQXNDTyxPQUFPUCxJQUFQLElBQWEsNEJBQXRELEVBQW1GO0FBQy9FLHFCQUFLZSxXQUFMLENBQWlCTixzQkFBc0JPLFFBQXZDLEVBQWdEVCxPQUFPVixRQUF2RCxFQUFnRSxZQUFJO0FBRWhFLHdCQUFJMkMsVUFBUTtBQUNSM0IsZ0NBQU9KLHNCQUFzQkksTUFBdEIsSUFBOEI7QUFEN0IscUJBQVo7QUFHQTJCLDRCQUFRM0IsTUFBUixDQUFlNEIsUUFBZixHQUF3QmhDLHNCQUFzQjhCLFFBQTlDO0FBQ0Esd0JBQUlsQixTQUFPLHNCQUFjWixzQkFBc0JPLFFBQXBDLEVBQTZDLEVBQUNoQixNQUFLTyxPQUFPVixRQUFiLEVBQTdDLEVBQW9FLEVBQUNnQixRQUFPMkIsUUFBUTNCLE1BQWhCLEVBQXBFLENBQVg7QUFDQUwsb0NBQWdCYSxNQUFoQjtBQUNILGlCQVJEO0FBU0g7QUFDRCxnQkFBR2QsT0FBT1AsSUFBUCxJQUFhLGtCQUFoQixFQUFtQztBQUMvQixxQkFBS2UsV0FBTCxDQUFpQk4sc0JBQXNCSSxNQUF2QyxFQUE4Q04sT0FBT1YsUUFBckQsRUFBOEQsWUFBSTtBQUM5RCx3QkFBSXdCLFNBQU8sc0JBQWNaLHNCQUFzQk8sUUFBcEMsRUFBNkMsRUFBQ2hCLE1BQUtPLE9BQU9WLFFBQWIsRUFBN0MsRUFBb0UsRUFBQ2dCLFFBQU9KLHNCQUFzQkksTUFBOUIsRUFBcEUsQ0FBWDs7QUFFQUwsb0NBQWdCYSxNQUFoQjtBQUNILGlCQUpEO0FBS0g7QUFDRCxnQkFBR2QsT0FBT1AsSUFBUCxJQUFhLGdCQUFoQixFQUFpQztBQUM3QixxQkFBS2UsV0FBTCxDQUFpQk4sc0JBQXNCSSxNQUF2QyxFQUE4Q04sT0FBT1YsUUFBckQsRUFBOEQsWUFBSTtBQUM5RDtBQUNBLDJCQUFPWSxzQkFBc0JJLE1BQXRCLENBQTZCYixJQUFwQztBQUNBLHdCQUFJcUIsU0FBTyxzQkFBY1osc0JBQXNCTyxRQUFwQyxFQUE2QyxFQUFDaEIsTUFBSyxhQUFOLEVBQTdDLEVBQWtFLEVBQUNhLFFBQU9KLHNCQUFzQkksTUFBOUIsRUFBbEUsQ0FBWDtBQUNBTCxvQ0FBZ0JhLE1BQWhCO0FBQ0gsaUJBTEQ7QUFNSDtBQUNELGdCQUFHZCxPQUFPUCxJQUFQLElBQWEsb0JBQWhCLEVBQXFDO0FBQ2pDLHFCQUFLZSxXQUFMLENBQWlCTixzQkFBc0JJLE1BQXZDLEVBQThDLGVBQTlDLEVBQThELFlBQUk7QUFDOUQsd0JBQUlRLFNBQU8sc0JBQWNaLHNCQUFzQk8sUUFBcEMsRUFBNkMsRUFBQ2hCLE1BQUssZUFBTixFQUE3QyxFQUFvRSxFQUFDYSxRQUFPSixzQkFBc0JJLE1BQTlCLEVBQXBFLENBQVg7O0FBRUFMLG9DQUFnQmEsTUFBaEI7QUFDSCxpQkFKRDtBQUtIO0FBQ0QsZ0JBQUdkLE9BQU9QLElBQVAsSUFBYSw0QkFBaEIsRUFBNkM7QUFDekMscUJBQUtlLFdBQUwsQ0FBaUJOLHNCQUFzQkksTUFBdkMsRUFBOENOLE9BQU9WLFFBQXJELEVBQThELFlBQUk7QUFDOUQsd0JBQUl3QixTQUFPLHNCQUFjWixzQkFBc0JPLFFBQXBDLEVBQTZDLEVBQUNoQixNQUFLLGFBQU4sRUFBN0MsRUFBa0UsRUFBQ2EsUUFBT0osc0JBQXNCSSxNQUE5QixFQUFsRSxDQUFYOztBQUVBTCxvQ0FBZWEsTUFBZjtBQUNILGlCQUpEO0FBS0g7QUFDRCxnQkFBR2QsT0FBT1AsSUFBUCxJQUFhLDBCQUFoQixFQUEyQztBQUN2QyxxQkFBS2UsV0FBTCxDQUFpQk4sc0JBQXNCSSxNQUF2QyxFQUE4Q04sT0FBT1YsUUFBckQsRUFBOEQsWUFBSTtBQUM5RDtBQUNBWSwwQ0FBc0JJLE1BQXRCLENBQTZCYixJQUE3QixHQUFrQyxXQUFsQztBQUNBLHdCQUFJcUIsU0FBTyxzQkFBY1osc0JBQXNCTyxRQUFwQyxFQUE2QyxFQUFDaEIsTUFBSyxhQUFOLEVBQTdDLEVBQWtFLEVBQUNhLFFBQU9KLHNCQUFzQkksTUFBOUIsRUFBbEUsQ0FBWDs7QUFFQUwsb0NBQWVhLE1BQWY7QUFDSCxpQkFORDtBQU9IO0FBQ0QsZ0JBQUdkLE9BQU9QLElBQVAsSUFBYSxrQkFBaEIsRUFBbUM7QUFDL0IscUJBQUtlLFdBQUwsQ0FBaUJOLHNCQUFzQk8sUUFBdkMsRUFBZ0RULE9BQU9WLFFBQXZELEVBQWdFLFlBQUk7QUFDaEUsd0JBQUl3QixTQUFPLHNCQUFjWixzQkFBc0JPLFFBQXBDLEVBQTZDLEVBQTdDLENBQVg7O0FBRUFSLG9DQUFnQmEsTUFBaEI7QUFDSCxpQkFKRDtBQUtIO0FBQ0QsZ0JBQUdkLE9BQU9QLElBQVAsSUFBYSxrQkFBYixJQUFpQ08sT0FBT1AsSUFBUCxJQUFhLHNCQUE5QyxJQUFzRU8sT0FBT1AsSUFBUCxJQUFhLHdCQUFuRixJQUE2R08sT0FBT1AsSUFBUCxJQUFhLHlCQUE3SCxFQUF1SjtBQUNuSixxQkFBS2UsV0FBTCxDQUFpQk4sc0JBQXNCTyxRQUF2QyxFQUFnRFQsT0FBT1YsUUFBdkQsRUFBZ0UsWUFBSTtBQUNoRSx3QkFBSXdCLFNBQU8sc0JBQWMsRUFBQ3JCLE1BQUtPLE9BQU9WLFFBQWIsRUFBZCxFQUFxQ1ksc0JBQXNCTyxRQUEzRCxFQUFvRSxFQUFDRSxPQUFNVCxzQkFBc0JTLEtBQTdCLEVBQXBFLENBQVg7O0FBRUFWLG9DQUFlYSxNQUFmO0FBQ0gsaUJBSkQ7QUFLSDtBQUNELGdCQUFHZCxPQUFPUCxJQUFQLElBQWEsZUFBYixJQUE4Qk8sT0FBT1AsSUFBUCxJQUFhLGFBQTNDLElBQTBETyxPQUFPUCxJQUFQLElBQWEsa0JBQXZFLElBQTJGTyxPQUFPUCxJQUFQLElBQWEsaUJBQTNHLEVBQTZIO0FBQ3hILG9CQUFHUyxzQkFBc0JPLFFBQXRCLENBQStCMEIsT0FBL0IsSUFBd0NqQyxzQkFBc0JPLFFBQXRCLENBQStCMEIsT0FBL0IsQ0FBdUNDLEdBQXZDLElBQTRDLEVBQXZGLEVBQTBGO0FBQ3RGLDJCQUFPbEMsc0JBQXNCTyxRQUF0QixDQUErQjBCLE9BQXRDO0FBQ0g7QUFDRixvQkFBR2pDLHNCQUFzQk8sUUFBdEIsQ0FBK0I0QixTQUEvQixJQUEwQ25DLHNCQUFzQk8sUUFBdEIsQ0FBK0I0QixTQUEvQixJQUEwQyxFQUF2RixFQUEwRjtBQUN0RiwyQkFBT25DLHNCQUFzQk8sUUFBdEIsQ0FBK0I0QixTQUF0QztBQUNIO0FBQ0QscUJBQUs3QixXQUFMLENBQWlCTixzQkFBc0JPLFFBQXRCLElBQWdDUCxzQkFBc0JJLE1BQXZFLEVBQThFTixPQUFPVixRQUFyRixFQUE4RixZQUFJO0FBQzlGLHdCQUFJd0IsU0FBTyxzQkFBY1osc0JBQXNCTyxRQUFwQyxFQUE2QyxFQUFDaEIsTUFBS08sT0FBT1YsUUFBYixFQUE3QyxFQUFvRSxFQUFDZ0IsUUFBT0osc0JBQXNCSSxNQUE5QixFQUFwRSxFQUEwRyxFQUFDTyxPQUFNWCxzQkFBc0I4QixRQUE3QixFQUExRyxDQUFYOztBQUVBL0Isb0NBQWVhLE1BQWY7QUFDSCxpQkFKRDtBQUtIO0FBQ0QsZ0JBQUdkLE9BQU9QLElBQVAsSUFBYSxtQkFBaEIsRUFBb0M7QUFDaEMscUJBQUtlLFdBQUwsQ0FBaUJOLHNCQUFzQk8sUUFBdEIsSUFBZ0NQLHNCQUFzQkksTUFBdkUsRUFBOEVOLE9BQU9WLFFBQXJGLEVBQThGLFlBQUk7QUFDOUYsd0JBQUl3QixTQUFPLHNCQUFjLEVBQUNyQixNQUFLLFFBQU4sRUFBZCxFQUE4QlMsc0JBQXNCTyxRQUFwRCxFQUE2RCxFQUFDRSxPQUFNVCxzQkFBc0JTLEtBQTdCLEVBQTdELEVBQWlHLEVBQUNMLFFBQU9KLHNCQUFzQkksTUFBOUIsRUFBakcsRUFBdUksRUFBQ2dDLGFBQVlwQyxzQkFBc0I4QixRQUFuQyxFQUF2SSxDQUFYOztBQUVBL0Isb0NBQWdCYSxNQUFoQjtBQUNILGlCQUpEO0FBS0g7QUFDRCxnQkFBR2QsT0FBT1AsSUFBUCxJQUFhLGlCQUFoQixFQUFrQztBQUM5QixxQkFBS2UsV0FBTCxDQUFpQk4sc0JBQXNCTyxRQUF2QyxFQUFnRFQsT0FBT1YsUUFBdkQsRUFBZ0UsWUFBSTtBQUNoRSx3QkFBSXdCLFNBQU8sc0JBQWNaLHNCQUFzQk8sUUFBcEMsRUFBNkMsRUFBQ2lCLGNBQWF4QixzQkFBc0I4QixRQUFwQyxFQUE3QyxDQUFYOztBQUVBL0Isb0NBQWdCYSxNQUFoQjtBQUNILGlCQUpEO0FBS0g7QUFDRCxtQkFBT2IsYUFBUDtBQUNILFNBelFHO0FBMFFKTyxtQkExUUksdUJBMFFRbkIsSUExUVIsRUEwUWFrRCxLQTFRYixFQTBRbUJDLFFBMVFuQixFQTBRNEI7QUFDNUIsZ0JBQUduRCxJQUFILEVBQVE7QUFDSm1EO0FBQ0gsYUFGRCxNQUVLO0FBQ0QscUJBQUtDLE1BQUwsQ0FBWUMsSUFBWixDQUFpQjtBQUNiSCwyQkFBTyxNQURNO0FBRWJoQyw2QkFBUyxRQUFNZ0MsS0FBTixHQUFZO0FBRlIsaUJBQWpCO0FBSUEscUJBQUtJLFdBQUwsR0FBbUIsS0FBbkI7QUFDSDtBQUNKLFNBcFJHO0FBcVJKQyxhQXJSSSxpQkFxUkdDLFdBclJILEVBcVJnQjtBQUFBOztBQUVoQixnQkFBSUMsZUFBZSxLQUFLQyxTQUFMLENBQWVDLEdBQWYsQ0FBbUJILFdBQW5CLENBQW5CO0FBQ0EsZ0JBQUlJLGdCQUFnQixLQUFLQyxnQkFBTCxDQUFzQkMsZ0JBQXRCLENBQXVDSCxHQUF2QyxDQUEyQ0YsYUFBYU0sT0FBeEQsQ0FBcEI7QUFDQSxnQkFBSUMsU0FBUyxvQkFBWVAsYUFBYVEsS0FBekIsRUFBZ0NDLE1BQWhDLENBQXVDLFVBQUNDLElBQUQsRUFBT0MsR0FBUCxFQUFlO0FBQy9ELHVCQUFPRCxLQUFLRSxNQUFMLENBQVlaLGFBQWFRLEtBQWIsQ0FBbUJHLEdBQW5CLENBQVosQ0FBUDtBQUNILGFBRlksRUFFVixFQUZVLENBQWI7QUFHQSxnQkFBSUUsU0FBUztBQUNUcEIsdUJBQU9VLGNBQWNXLFdBQWQsQ0FBMEJDLElBRHhCO0FBRVRwRSxzQkFBTXFELGFBQWFNLE9BRlY7QUFHVHZELG9CQUFJZ0Q7QUFISyxhQUFiO0FBS0EsZ0JBQUlRLE9BQU96QixNQUFYLEVBQW1CO0FBQ2YrQix1QkFBT0csTUFBUCxHQUFnQixJQUFoQjtBQUNBSCx1QkFBTzVELFFBQVAsR0FBa0JzRCxPQUFPVSxHQUFQLENBQVcsZ0JBQVE7QUFDakMsMkJBQU8sT0FBS25CLEtBQUwsQ0FBV3ZELElBQVgsQ0FBUDtBQUNILGlCQUZpQixDQUFsQjtBQUdIO0FBQ0QsbUJBQU9zRSxNQUFQO0FBQ0g7QUF4U0c7QUFERyxDIiwiZmlsZSI6IjE1Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKkBhdXRob3IgICAgICAgICAgIGxpamllXHJcbiAqQGRhdGUgICAgICAgICAgICAgMjAxOS8xLzkgMTg6MjhcclxuICpAQ29weXJpZ2h0ICAgICAgIOWkqea6kOi/quenkeS/oeaBr+aKgOacr+iCoeS7veaciemZkOWFrOWPuFxyXG4gKkBEZXNjcmlwdGlvblxyXG4gKi9cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgbWV0aG9kczp7XHJcbiAgICAgICAgY29tcG9uZW50VHJlZUZhY3RvcnkoZnJvbUNvbXBvbmVudFRyZWUsdG9Db21wb25lbnRUcmVlKXtcclxuICAgICAgICAgICAgLy9ub3RlIOe7hOS7tuagkeWHveaVsCznlKjmnaXnlJ/miJDnu4Tku7bmoJFmXHJcbiAgICAgICAgICAgIGlmKCFmcm9tQ29tcG9uZW50VHJlZSl7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZnJvbUNvbXBvbmVudFRyZWUuZm9yRWFjaCgoaXRlbSk9PntcclxuICAgICAgICAgICAgICAgIGxldCBjb21UaXRsZSA9IF8udHJpbVN0YXJ0KGl0ZW0udHlwZSwnZ2FlYS0nKTtcclxuICAgICAgICAgICAgICAgIHRvQ29tcG9uZW50VHJlZS5wdXNoKHRoaXMuY29tcG9uZW50RmFjdG9yeSh7dHlwZTppdGVtLnR5cGUsY29tSWQ6aXRlbS5pZCxjb21DaGlsZHJlbjppdGVtLmNoaWxkcmVuLGNvbVRpdGxlOmNvbVRpdGxlfSkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBvbmVudEZhY3RvcnkocGFyYW1zKXtcclxuICAgICAgICAgICAgLy9ub3RlIOe7hOS7tuWHveaVsC7nlKjmnaXnlJ/miJDnu4Tku7ZcclxuICAgICAgICAgICAgbGV0IGNvbnBvbmVudERhdGEgPSB7fTtcclxuICAgICAgICAgICAgbGV0IHZpZXdwb3J0SW5zdGFuY2VzRGF0YSA9IHRoaXMudmlld3BvcnRJbnN0YW5jZXNbcGFyYW1zLmNvbUlkXS5kYXRhO1xyXG4gICAgICAgICAgICAvL25vdGUgbGV2ZWwxXHJcbiAgICAgICAgICAgIGlmKHBhcmFtcy50eXBlPT1cImdhZWEtY29udGFpbmVyXCJ8fHBhcmFtcy50eXBlPT1cImdhZWEtYm94XCIpe1xyXG4gICAgICAgICAgICAgICAgY29ucG9uZW50RGF0YSA9IHt0eXBlOnBhcmFtcy5jb21UaXRsZSxkYXRhOltdfTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50VHJlZUZhY3RvcnkocGFyYW1zLmNvbUNoaWxkcmVuLGNvbnBvbmVudERhdGEuZGF0YSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYocGFyYW1zLnR5cGU9PVwiZ2FlYS1idG5zLW9wcmF0b3JcIil7XHJcbiAgICAgICAgICAgICAgICBjb25wb25lbnREYXRhID0ge3R5cGU6cGFyYW1zLmNvbVRpdGxlLGRhdGE6e2J1dHRvbnM6W119fTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50VHJlZUZhY3RvcnkocGFyYW1zLmNvbUNoaWxkcmVuLGNvbnBvbmVudERhdGEuZGF0YS5idXR0b25zKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihwYXJhbXMudHlwZT09XCJnYWVhLXRpcC1hbGVydFwiKXtcclxuICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgY29ucG9uZW50RGF0YSA9IHt0eXBlOnBhcmFtcy5jb21UaXRsZSxleHRlbmQ6e2J1dHRvbnM6W10sY29udGVudDp2aWV3cG9ydEluc3RhbmNlc0RhdGEuZXh0ZW5kLmNvbnRlbnR9fTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50VHJlZUZhY3RvcnkocGFyYW1zLmNvbUNoaWxkcmVuLGNvbnBvbmVudERhdGEuZGF0YSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9ub3RlIGxldmVsMlxyXG4gICAgICAgICAgICBpZihwYXJhbXMudHlwZT09XCJnYWVhLWZvcm1cIil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRpcE1lc3NhZ2UyKHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5wcm9wZXJ0eSxwYXJhbXMuY29tVGl0bGUsKCk9PntcclxuICAgICAgICAgICAgICAgICAgICBjb25wb25lbnREYXRhID0ge3R5cGU6cGFyYW1zLmNvbVRpdGxlLGRhdGE6e3ZhbGlkYXRvcjp2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHkudmFsaWRhdG9yLHJ1bGVzOnRoaXMuZm9ybVZhbGlkYXRvclJ1bGVzLGV4dGVuZDp2aWV3cG9ydEluc3RhbmNlc0RhdGEuZXh0ZW5kLGl0ZW1zOltdfX07XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRUcmVlRmFjdG9yeShwYXJhbXMuY29tQ2hpbGRyZW4sY29ucG9uZW50RGF0YS5kYXRhLml0ZW1zKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYocGFyYW1zLnR5cGU9PVwiZ2FlYS10aXRsZVwiKXtcclxuICAgICAgICAgICAgICAgIGxldCBuZXdPYmo9T2JqZWN0LmFzc2lnbih2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHkse30pO1xyXG4gICAgICAgICAgICAgICAgY29ucG9uZW50RGF0YSA9IHt0eXBlOnBhcmFtcy5jb21UaXRsZSxkYXRhOm5ld09ian1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihwYXJhbXMudHlwZT09XCJnYWVhLXN0ZXBzXCIpe1xyXG4gICAgICAgICAgICAgICAgbGV0IHN0ZXBzQXJyID0gW107XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRpcE1lc3NhZ2UyKHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5zdGVwcyxwYXJhbXMuY29tVGl0bGUsKCk9PntcclxuICAgICAgICAgICAgICAgICAgICB2aWV3cG9ydEluc3RhbmNlc0RhdGEuc3RlcHMuZm9yRWFjaCgoaXRlbSk9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RlcHNBcnIucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHkuY3VycmVudD1wYXJzZUludChsb2NhbFN0b3JhZ2UuaXRlbVN0ZXApLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld09iaj1PYmplY3QuYXNzaWduKHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5wcm9wZXJ0eSx7c3RlcHM6c3RlcHNBcnJ9KTtcclxuICAgICAgICAgICAgICAgICAgICBjb25wb25lbnREYXRhID0ge3R5cGU6cGFyYW1zLmNvbVRpdGxlLGRhdGE6bmV3T2JqfTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYocGFyYW1zLnR5cGU9PVwiZ2FlYS1mb3JtLXJhZGlvXCIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy50aXBNZXNzYWdlMih2aWV3cG9ydEluc3RhbmNlc0RhdGEuZXh0ZW5kJiZ2aWV3cG9ydEluc3RhbmNlc0RhdGEuaXRlbXMscGFyYW1zLmNvbVRpdGxlLCgpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld09iaj1PYmplY3QuYXNzaWduKHt0eXBlOnBhcmFtcy5jb21UaXRsZX0sdmlld3BvcnRJbnN0YW5jZXNEYXRhLnByb3BlcnR5LHtkYXRhOntleHRlbmQ6dmlld3BvcnRJbnN0YW5jZXNEYXRhLmV4dGVuZCxpdGVtczp2aWV3cG9ydEluc3RhbmNlc0RhdGEuaXRlbXN9fSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29ucG9uZW50RGF0YSA9bmV3T2JqO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYocGFyYW1zLnR5cGU9PVwiZ2FlYS1pbmZvLWJhc2VcIil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRpcE1lc3NhZ2UyKHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5wcm9wZXJ0eSxwYXJhbXMuY29tVGl0bGUsKCk9PntcclxuICAgICAgICAgICAgICAgICAgICBsZXQgbmV3T2JqPU9iamVjdC5hc3NpZ24odmlld3BvcnRJbnN0YW5jZXNEYXRhLnByb3BlcnR5LHtiYXNpY0luZm86e2NlbGxzOltdfX0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnBvbmVudERhdGEgPSB7dHlwZTpwYXJhbXMuY29tVGl0bGUsZGF0YTpuZXdPYmp9O1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50VHJlZUZhY3RvcnkocGFyYW1zLmNvbUNoaWxkcmVuLGNvbnBvbmVudERhdGEuZGF0YS5iYXNpY0luZm8uY2VsbHMpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYocGFyYW1zLnR5cGU9PVwiZ2FlYS1jZWxsXCIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy50aXBNZXNzYWdlMih2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHkscGFyYW1zLmNvbVRpdGxlLCgpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld09iaj1PYmplY3QuYXNzaWduKHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5wcm9wZXJ0eSx7ZGF0YTpbXX0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb25wb25lbnREYXRhID1uZXdPYmo7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRUcmVlRmFjdG9yeShwYXJhbXMuY29tQ2hpbGRyZW4sY29ucG9uZW50RGF0YS5kYXRhKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYocGFyYW1zLnR5cGU9PVwiZ2FlYS1mb3JtLXRhYmxlXCIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy50aXBNZXNzYWdlMih2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHkscGFyYW1zLmNvbVRpdGxlLCgpPT57XHJcbiAgICAgICAgICAgICAgICAgICAvKiBsZXQgbmV3T2JqPU9iamVjdC5hc3NpZ24odmlld3BvcnRJbnN0YW5jZXNEYXRhLnByb3BlcnR5LHtjb2x1bW5zOltdfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnBvbmVudERhdGEgPSB7dHlwZTpwYXJhbXMuY29tVGl0bGUscHJvcDp2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHkucHJvcCxkYXRhOm5ld09ian07XHJcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGNvbnBvbmVudERhdGEuZGF0YS5wcm9wO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50VHJlZUZhY3RvcnkocGFyYW1zLmNvbUNoaWxkcmVuLGNvbnBvbmVudERhdGEuZGF0YS5jb2x1bW5zKTsqL1xyXG4gICAgICAgICAgICAgICAgICAgbGV0IG5ld09iaj1PYmplY3QuYXNzaWduKHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5wcm9wZXJ0eSx7Y29sdW1uczpbXSxtb2RlbDp2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHkucHJvcH0pO1xyXG4gICAgICAgICAgICAgICAgICBjb25wb25lbnREYXRhID0ge3R5cGU6cGFyYW1zLmNvbVRpdGxlLHByb3A6dmlld3BvcnRJbnN0YW5jZXNEYXRhLnByb3BlcnR5LnByb3AsZGF0YTpuZXdPYmp9O1xyXG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBjb25wb25lbnREYXRhLmRhdGEucHJvcDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFRyZWVGYWN0b3J5KHBhcmFtcy5jb21DaGlsZHJlbixjb25wb25lbnREYXRhLmRhdGEuY29sdW1ucyk7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKHBhcmFtcy50eXBlPT1cImdhZWEtY2VsbC10YWJsZVwiKXtcclxuICAgICAgICAgICAgICAgIHRoaXMudGlwTWVzc2FnZTIodmlld3BvcnRJbnN0YW5jZXNEYXRhLnByb3BlcnR5LHBhcmFtcy5jb21UaXRsZSwoKT0+e1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBuZXdPYmo9T2JqZWN0LmFzc2lnbih2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHkse2l0ZW1Qcm9wTGlzdDpbXX0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnBvbmVudERhdGEgPW5ld09iajtcclxuICAgICAgICAgICAgICAgICAgICAvLyBkZWxldGUgY29ucG9uZW50RGF0YS5kYXRhLnByb3A7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRUcmVlRmFjdG9yeShwYXJhbXMuY29tQ2hpbGRyZW4sY29ucG9uZW50RGF0YS5pdGVtUHJvcExpc3QpO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihwYXJhbXMudHlwZT09XCJnYWVhLXRhYmxlLWF0dGFjaC1maWxlXCIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy50aXBNZXNzYWdlMih2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHkscGFyYW1zLmNvbVRpdGxlLCgpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld09iaj1PYmplY3QuYXNzaWduKHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5wcm9wZXJ0eSx7fSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnBvbmVudERhdGEgPSB7dHlwZTpwYXJhbXMuY29tVGl0bGUsZGF0YTpuZXdPYmp9O1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihwYXJhbXMudHlwZT09XCJnYWVhLWluZm8tYXR0YWNobWVudFwiKXtcclxuICAgICAgICAgICAgICAgIHRoaXMudGlwTWVzc2FnZTIodmlld3BvcnRJbnN0YW5jZXNEYXRhLnByb3BlcnR5LHBhcmFtcy5jb21UaXRsZSwoKT0+e1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBuZXdPYmo9T2JqZWN0LmFzc2lnbih2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHkse30pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb25wb25lbnREYXRhID0ge3R5cGU6cGFyYW1zLmNvbVRpdGxlLGRhdGE6bmV3T2JqfTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYocGFyYW1zLnR5cGU9PVwiZ2FlYS10aW1lLWxpbmVcIil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRpcE1lc3NhZ2UyKHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5wcm9wZXJ0eSxwYXJhbXMuY29tVGl0bGUsKCk9PntcclxuICAgICAgICAgICAgICAgICAgICBsZXQgbmV3T2JqPU9iamVjdC5hc3NpZ24odmlld3BvcnRJbnN0YW5jZXNEYXRhLnByb3BlcnR5LHt9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29ucG9uZW50RGF0YSA9IHt0eXBlOnBhcmFtcy5jb21UaXRsZSxkYXRhOm5ld09ian07XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKHBhcmFtcy50eXBlPT1cImdhZWEtYWRkcmVzcy1zZWxlY3RcIil7XHJcbiAgICAgICAgICAgICAgICBsZXQgbmV3T2JqPU9iamVjdC5hc3NpZ24odmlld3BvcnRJbnN0YW5jZXNEYXRhLnByb3BlcnR5LHtleHRlbmQ6dmlld3BvcnRJbnN0YW5jZXNEYXRhLmV4dGVuZH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbnBvbmVudERhdGEgPSB7dHlwZTpwYXJhbXMuY29tVGl0bGUsZGF0YTpuZXdPYmp9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYocGFyYW1zLnR5cGU9PVwiZ2FlYS1pZGVudGl0eS1jaGVja1wiKXtcclxuICAgICAgICAgICAgICAgIGNvbnBvbmVudERhdGEgPSB7dHlwZTpwYXJhbXMuY29tVGl0bGUsZGF0YTp2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHl9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYocGFyYW1zLnR5cGU9PVwiZ2FlYS1wYXAtZG93bmxvYWQtc2NhblwiKXtcclxuICAgICAgICAgICAgICAgIGNvbnBvbmVudERhdGEgPSB7dHlwZTpwYXJhbXMuY29tVGl0bGUsZGF0YTp2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHl9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9ub3RlIGxldmVsM1xyXG4gICAgICAgICAgICBpZihwYXJhbXMudHlwZT09XCJnYWVhLWJ1dHRvblwiKXtcclxuICAgICAgICAgICAgICAgIGxldCBuZXdPYmo9T2JqZWN0LmFzc2lnbih7dHlwZTpwYXJhbXMuY29tVGl0bGV9LHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5wcm9wZXJ0eSk7XHJcblxyXG4gICAgICAgICAgICAgICAgY29ucG9uZW50RGF0YSA9IG5ld09iajtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihwYXJhbXMudHlwZT09XCJnYWVhLXRleHRhcmVhXCJ8fHBhcmFtcy50eXBlPT1cImdhZWEtaW5wdXRcInx8cGFyYW1zLnR5cGU9PVwiZ2FlYS1idWRvbmdjaGFuXCJ8fHBhcmFtcy50eXBlPT1cImdhZWEtaW5wdXRJRENhcmRcInx8cGFyYW1zLnR5cGU9PVwiZ2FlYS1zZWxlY3QtaW5wdXRcIil7XHJcbiAgICAgICAgICAgICAgICAvLyBpZih2aWV3cG9ydEluc3RhbmNlc0RhdGEubGlua2FnZUNoYW5nZVZhbHVlLmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgdmlld3BvcnRJbnN0YW5jZXNEYXRhLmV4dGVuZC5saW5rYWdlQ2hhbmdlVmFsdWUgPSB2aWV3cG9ydEluc3RhbmNlc0RhdGEubGlua2FnZUNoYW5nZVZhbHVlO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgaWYodmlld3BvcnRJbnN0YW5jZXNEYXRhLmV4dGVuZC5zaG93RmxhZyYmdmlld3BvcnRJbnN0YW5jZXNEYXRhLmV4dGVuZC5zaG93RmxhZy5sZW5ndGg9PTApe1xyXG4gICAgICAgICAgICAgICAgICAgZGVsZXRlIHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5leHRlbmQuc2hvd0ZsYWc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRpcE1lc3NhZ2UyKHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5leHRlbmQscGFyYW1zLmNvbVRpdGxlLCgpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodmlld3BvcnRJbnN0YW5jZXNEYXRhLmV4dGVuZC50eXBlIT09J3RleHRhcmVhJyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB2aWV3cG9ydEluc3RhbmNlc0RhdGEuZXh0ZW5kLnJvd3M7XHJcbiAgICAgICAgICAgICAgICAgICAgfWVsc2V7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBsZXQgbmV3T2JqPU9iamVjdC5hc3NpZ24odmlld3BvcnRJbnN0YW5jZXNEYXRhLnByb3BlcnR5LHt0eXBlOnBhcmFtcy5jb21UaXRsZX0se2V4dGVuZDp2aWV3cG9ydEluc3RhbmNlc0RhdGEuZXh0ZW5kfSx7cnVsZXM6dmlld3BvcnRJbnN0YW5jZXNEYXRhLnZhbGlkYXRlQXJyfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29ucG9uZW50RGF0YSA9IG5ld09iajtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYocGFyYW1zLnR5cGU9PVwiZ2FlYS1pbnB1dC1udW1iZXJcIil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRpcE1lc3NhZ2UyKHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5wcm9wZXJ0eSYmdmlld3BvcnRJbnN0YW5jZXNEYXRhLmV4dGVuZCxwYXJhbXMuY29tVGl0bGUsKCk9PntcclxuICAgICAgICAgICAgICAgICAgICBsZXQgbmV3T2JqPU9iamVjdC5hc3NpZ24odmlld3BvcnRJbnN0YW5jZXNEYXRhLnByb3BlcnR5LHt0eXBlOnBhcmFtcy5jb21UaXRsZX0se2V4dGVuZDp2aWV3cG9ydEluc3RhbmNlc0RhdGEuZXh0ZW5kfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnBvbmVudERhdGEgPSBuZXdPYmo7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKHBhcmFtcy50eXBlPT1cImdhZWEtdXBsb2FkXCIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy50aXBNZXNzYWdlMih2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHkmJnZpZXdwb3J0SW5zdGFuY2VzRGF0YS5leHRlbmQscGFyYW1zLmNvbVRpdGxlLCgpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld09iaj1PYmplY3QuYXNzaWduKHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5wcm9wZXJ0eSx7dHlwZTpwYXJhbXMuY29tVGl0bGV9LHtleHRlbmQ6dmlld3BvcnRJbnN0YW5jZXNEYXRhLmV4dGVuZH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb25wb25lbnREYXRhID0gbmV3T2JqO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihwYXJhbXMudHlwZT09XCJnYWVhLWxhYmVsXCJ8fHBhcmFtcy50eXBlPT1cImdhZWEtdGltZUxhYmVsXCIpe1xyXG4gICAgICAgICAgICAgICAgbGV0IG5ld09iaj1PYmplY3QuYXNzaWduKHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5wcm9wZXJ0eSx7dHlwZTpwYXJhbXMuY29tVGl0bGV9LHtleGNhdDp2aWV3cG9ydEluc3RhbmNlc0RhdGEuZXhjYXR9KTtcclxuXHJcbiAgICAgICAgICAgICAgICBjb25wb25lbnREYXRhID0gbmV3T2JqO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKHBhcmFtcy50eXBlPT1cImdhZWEtcmFkaW9cIil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRpcE1lc3NhZ2UyKHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5wcm9wZXJ0eSxwYXJhbXMuY29tVGl0bGUsKCk9PntcclxuICAgICAgICAgICAgICAgICAgICBsZXQgbmV3T2JqPU9iamVjdC5hc3NpZ24odmlld3BvcnRJbnN0YW5jZXNEYXRhLnByb3BlcnR5LHt0eXBlOnBhcmFtcy5jb21UaXRsZX0se2l0ZW1zOnZpZXdwb3J0SW5zdGFuY2VzRGF0YS5yYWRpb0Fycn0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb25wb25lbnREYXRhID0gbmV3T2JqO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihwYXJhbXMudHlwZT09XCJnYWVhLWNoZWNrYm94TXVsdGlwbGVcInx8cGFyYW1zLnR5cGU9PVwiZ2FlYS1jaGVja2JveE11bHRpcGxlUmFkaW9cIil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRpcE1lc3NhZ2UyKHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5wcm9wZXJ0eSxwYXJhbXMuY29tVGl0bGUsKCk9PntcclxuICAgICAgICAgICAgICAgICAgIC8vIGxldCBtb2NrT2JqPU9iamVjdC5hc3NpZ24oe2V4dGVuZDp7bW9ja0RhdGE6dmlld3BvcnRJbnN0YW5jZXNEYXRhLnJhZGlvQXJyfX0se2V4dGVuZDp2aWV3cG9ydEluc3RhbmNlc0RhdGEuZXh0ZW5kfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1vY2tFeHQ9e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBleHRlbmQ6dmlld3BvcnRJbnN0YW5jZXNEYXRhLmV4dGVuZHx8e31cclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgIG1vY2tFeHQuZXh0ZW5kLm1vY2tEYXRhPXZpZXdwb3J0SW5zdGFuY2VzRGF0YS5yYWRpb0FycjtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgbmV3T2JqPU9iamVjdC5hc3NpZ24odmlld3BvcnRJbnN0YW5jZXNEYXRhLnByb3BlcnR5LHt0eXBlOnBhcmFtcy5jb21UaXRsZX0se2V4dGVuZDptb2NrRXh0LmV4dGVuZH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnBvbmVudERhdGEgPSBuZXdPYmo7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKHBhcmFtcy50eXBlPT1cImdhZWEtZGF0ZS1waWNrZXJcIil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRpcE1lc3NhZ2UyKHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5leHRlbmQscGFyYW1zLmNvbVRpdGxlLCgpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld09iaj1PYmplY3QuYXNzaWduKHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5wcm9wZXJ0eSx7dHlwZTpwYXJhbXMuY29tVGl0bGV9LHtleHRlbmQ6dmlld3BvcnRJbnN0YW5jZXNEYXRhLmV4dGVuZH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb25wb25lbnREYXRhID0gbmV3T2JqO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihwYXJhbXMudHlwZT09XCJnYWVhLWRhdGUtdGltZVwiKXtcclxuICAgICAgICAgICAgICAgIHRoaXMudGlwTWVzc2FnZTIodmlld3BvcnRJbnN0YW5jZXNEYXRhLmV4dGVuZCxwYXJhbXMuY29tVGl0bGUsKCk9PntcclxuICAgICAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgICAgICAgICBkZWxldGUgdmlld3BvcnRJbnN0YW5jZXNEYXRhLmV4dGVuZC50eXBlO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBuZXdPYmo9T2JqZWN0LmFzc2lnbih2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHkse3R5cGU6XCJ0aW1lLXBpY2tlclwifSx7ZXh0ZW5kOnZpZXdwb3J0SW5zdGFuY2VzRGF0YS5leHRlbmR9KTtcclxuICAgICAgICAgICAgICAgICAgICBjb25wb25lbnREYXRhID0gbmV3T2JqO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihwYXJhbXMudHlwZT09XCJnYWVhLWVuZERhdGVDaG9vc2VcIil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRpcE1lc3NhZ2UyKHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5leHRlbmQsXCJlbmREYXRlQ2hvb3NlXCIsKCk9PntcclxuICAgICAgICAgICAgICAgICAgICBsZXQgbmV3T2JqPU9iamVjdC5hc3NpZ24odmlld3BvcnRJbnN0YW5jZXNEYXRhLnByb3BlcnR5LHt0eXBlOlwiZW5kRGF0ZUNob29zZVwifSx7ZXh0ZW5kOnZpZXdwb3J0SW5zdGFuY2VzRGF0YS5leHRlbmR9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29ucG9uZW50RGF0YSA9IG5ld09iajtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYocGFyYW1zLnR5cGU9PVwiZ2FlYS1kYXRlLXBpY2tlci1kYXRlcmFuZ2VcIil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRpcE1lc3NhZ2UyKHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5leHRlbmQscGFyYW1zLmNvbVRpdGxlLCgpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld09iaj1PYmplY3QuYXNzaWduKHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5wcm9wZXJ0eSx7dHlwZTpcImRhdGUtcGlja2VyXCJ9LHtleHRlbmQ6dmlld3BvcnRJbnN0YW5jZXNEYXRhLmV4dGVuZH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb25wb25lbnREYXRhID1uZXdPYmo7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKHBhcmFtcy50eXBlPT1cImdhZWEtZGF0ZS10aW1lLXRpbWVyYW5nZVwiKXtcclxuICAgICAgICAgICAgICAgIHRoaXMudGlwTWVzc2FnZTIodmlld3BvcnRJbnN0YW5jZXNEYXRhLmV4dGVuZCxwYXJhbXMuY29tVGl0bGUsKCk9PntcclxuICAgICAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgICAgICAgICB2aWV3cG9ydEluc3RhbmNlc0RhdGEuZXh0ZW5kLnR5cGU9XCJ0aW1lcmFuZ2VcIjtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgbmV3T2JqPU9iamVjdC5hc3NpZ24odmlld3BvcnRJbnN0YW5jZXNEYXRhLnByb3BlcnR5LHt0eXBlOlwidGltZS1waWNrZXJcIn0se2V4dGVuZDp2aWV3cG9ydEluc3RhbmNlc0RhdGEuZXh0ZW5kfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnBvbmVudERhdGEgPW5ld09iajtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYocGFyYW1zLnR5cGU9PVwiZ2FlYS1pY29uLWJ1dHRvblwiKXtcclxuICAgICAgICAgICAgICAgIHRoaXMudGlwTWVzc2FnZTIodmlld3BvcnRJbnN0YW5jZXNEYXRhLnByb3BlcnR5LHBhcmFtcy5jb21UaXRsZSwoKT0+e1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBuZXdPYmo9T2JqZWN0LmFzc2lnbih2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHkse30pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb25wb25lbnREYXRhID0gbmV3T2JqO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihwYXJhbXMudHlwZT09XCJnYWVhLXRhYmxlLWlucHV0XCJ8fHBhcmFtcy50eXBlPT1cImdhZWEtdGFibGUtZGF0ZXJhbmdlXCJ8fHBhcmFtcy50eXBlPT1cImdhZWEtdGFibGUtc2luZ2xlLWRhdGVcInx8cGFyYW1zLnR5cGU9PVwiZ2FlYS10YWJsZS1zaW5nbGUtbW9udGhcIil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRpcE1lc3NhZ2UyKHZpZXdwb3J0SW5zdGFuY2VzRGF0YS5wcm9wZXJ0eSxwYXJhbXMuY29tVGl0bGUsKCk9PntcclxuICAgICAgICAgICAgICAgICAgICBsZXQgbmV3T2JqPU9iamVjdC5hc3NpZ24oe3R5cGU6cGFyYW1zLmNvbVRpdGxlfSx2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHkse3J1bGVzOnZpZXdwb3J0SW5zdGFuY2VzRGF0YS5ydWxlc30pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb25wb25lbnREYXRhID1uZXdPYmo7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKHBhcmFtcy50eXBlPT1cImdhZWEtY2FzY2FkZXJcInx8cGFyYW1zLnR5cGU9PVwiZ2FlYS1zZWxlY3RcInx8cGFyYW1zLnR5cGU9PVwiZ2FlYS1zZWxlY3RMYWJlbFwifHxwYXJhbXMudHlwZT09XCJnYWVhLXNlbGVjdExpbmtcIil7XHJcbiAgICAgICAgICAgICAgICAgaWYodmlld3BvcnRJbnN0YW5jZXNEYXRhLnByb3BlcnR5LmR5bmFtaWMmJnZpZXdwb3J0SW5zdGFuY2VzRGF0YS5wcm9wZXJ0eS5keW5hbWljLnVybD09XCJcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHkuZHluYW1pYztcclxuICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZih2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHkuaXRlbXNQcm9wJiZ2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHkuaXRlbXNQcm9wPT1cIlwiKXtcclxuICAgICAgICAgICAgICAgICAgICBkZWxldGUgdmlld3BvcnRJbnN0YW5jZXNEYXRhLnByb3BlcnR5Lml0ZW1zUHJvcDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMudGlwTWVzc2FnZTIodmlld3BvcnRJbnN0YW5jZXNEYXRhLnByb3BlcnR5JiZ2aWV3cG9ydEluc3RhbmNlc0RhdGEuZXh0ZW5kLHBhcmFtcy5jb21UaXRsZSwoKT0+e1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBuZXdPYmo9T2JqZWN0LmFzc2lnbih2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHkse3R5cGU6cGFyYW1zLmNvbVRpdGxlfSx7ZXh0ZW5kOnZpZXdwb3J0SW5zdGFuY2VzRGF0YS5leHRlbmR9LHtpdGVtczp2aWV3cG9ydEluc3RhbmNlc0RhdGEucmFkaW9BcnJ9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29ucG9uZW50RGF0YSA9bmV3T2JqO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihwYXJhbXMudHlwZT09XCJnYWVhLXRhYmxlLXNlbGVjdFwiKXtcclxuICAgICAgICAgICAgICAgIHRoaXMudGlwTWVzc2FnZTIodmlld3BvcnRJbnN0YW5jZXNEYXRhLnByb3BlcnR5JiZ2aWV3cG9ydEluc3RhbmNlc0RhdGEuZXh0ZW5kLHBhcmFtcy5jb21UaXRsZSwoKT0+e1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBuZXdPYmo9T2JqZWN0LmFzc2lnbih7dHlwZTpcInNlbGVjdFwifSx2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHkse3J1bGVzOnZpZXdwb3J0SW5zdGFuY2VzRGF0YS5ydWxlc30se2V4dGVuZDp2aWV3cG9ydEluc3RhbmNlc0RhdGEuZXh0ZW5kfSx7aXRlbU9wdGlvbnM6dmlld3BvcnRJbnN0YW5jZXNEYXRhLnJhZGlvQXJyfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnBvbmVudERhdGEgPSBuZXdPYmo7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKHBhcmFtcy50eXBlPT1cImdhZWEtY2VsbC1jaGlsZFwiKXtcclxuICAgICAgICAgICAgICAgIHRoaXMudGlwTWVzc2FnZTIodmlld3BvcnRJbnN0YW5jZXNEYXRhLnByb3BlcnR5LHBhcmFtcy5jb21UaXRsZSwoKT0+e1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBuZXdPYmo9T2JqZWN0LmFzc2lnbih2aWV3cG9ydEluc3RhbmNlc0RhdGEucHJvcGVydHkse2l0ZW1Qcm9wTGlzdDp2aWV3cG9ydEluc3RhbmNlc0RhdGEucmFkaW9BcnJ9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29ucG9uZW50RGF0YSA9IG5ld09iajtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGNvbnBvbmVudERhdGE7XHJcbiAgICAgICAgfSxcclxuICAgICAgICB0aXBNZXNzYWdlMihpdGVtLHRpdGxlLGNhbGxiYWNrKXtcclxuICAgICAgICAgICAgaWYoaXRlbSl7XHJcbiAgICAgICAgICAgICAgICBjYWxsYmFjaygpO1xyXG4gICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgIHRoaXMuJE1vZGFsLmluZm8oe1xyXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn5o+Q56S65L+h5oGvJyxcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAn6K+35aGr5YaZJyt0aXRsZSsn57uE5Lu25L+h5oGvJ1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzU2hvd01vZGFsID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGRpZ3VpIChpbnN0YW5jZUtleSkge1xyXG5cclxuICAgICAgICAgICAgbGV0IGluc3RhbmNlSW5mbyA9IHRoaXMuaW5zdGFuY2VzLmdldChpbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgIGxldCBjcnJ0Q29tcG9uZW50ID0gdGhpcy5hcHBsaWNhdGlvblN0YXRlLmNvbXBvbmVudENsYXNzZXMuZ2V0KGluc3RhbmNlSW5mby5nYWVhS2V5KTtcclxuICAgICAgICAgICAgbGV0IGNoaWxkcyA9IE9iamVjdC5rZXlzKGluc3RhbmNlSW5mby5zbG90cykucmVkdWNlKChwcmV2LCBueHQpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBwcmV2LmNvbmNhdChpbnN0YW5jZUluZm8uc2xvdHNbbnh0XSk7XHJcbiAgICAgICAgICAgIH0sIFtdKTtcclxuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHtcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBjcnJ0Q29tcG9uZW50LmVkaXRTZXR0aW5nLm5hbWUsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiBpbnN0YW5jZUluZm8uZ2FlYUtleSxcclxuICAgICAgICAgICAgICAgIGlkOiBpbnN0YW5jZUtleVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBpZiAoY2hpbGRzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0LmV4cGFuZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQuY2hpbGRyZW4gPSBjaGlsZHMubWFwKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRpZ3VpKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvc2F2ZS9taXhVdGlsLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///156\n");
1108
1109/***/ }),
1110/* 157 */
1111/***/ (function(module, exports, __webpack_require__) {
1112
1113"use strict";
1114eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n position: 'viewport',\n name: 'viewport-guideline',\n\n methods: {\n calc: function calc() {\n if (this.$store.state.viewport.currentDragInfo !== null) {\n this.isShow = false;\n } else {\n this.isShow = true;\n }\n\n if (this.$store.state.viewport.currentHoverInstanceKey === null) {\n this.isShow = false;\n return;\n }\n\n var targetBoundingClientRect = this.$store.state.viewport.instanceDoms.get(this.$store.state.viewport.currentHoverInstanceKey).getBoundingClientRect();\n var viewportBoundingClientRect = this.$store.state.viewport.viewportDOM.getBoundingClientRect();\n this.dymStyle = {\n width: targetBoundingClientRect.width - 1 + 'px',\n height: targetBoundingClientRect.height - 1 + 'px',\n top: targetBoundingClientRect.top - viewportBoundingClientRect.top + 'px',\n left: targetBoundingClientRect.left - viewportBoundingClientRect.left + 'px'\n };\n }\n },\n data: function data() {\n return {\n timeOut: null,\n dymStyle: null,\n isShow: false\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n _eventbus2.default.$on(this.$store.state.viewport.mouseHoveringComponent, function () {\n _this.calc();\n });\n _eventbus2.default.$on(this.$store.state.viewport.mouseHoveringCrumbItem, function () {\n _this.calc();\n });\n _eventbus2.default.$on(this.$store.state.viewport.mouseLeaveViewport, function () {\n _this.isShow = false;\n });\n _eventbus2.default.$on(this.$store.state.viewport.mouseLeaveCrumbItem, function () {\n _this.isShow = false;\n });\n },\n destroyed: function destroyed() {\n clearTimeout(this.timeOut);\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvdmlld3BvcnQtZ3VpZGVsaW5lL2luZGV4LnZ1ZT8xNDNiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztrQkFNQTtBQUNBLHdCQURBO0FBRUEsOEJBRkE7O0FBSUE7QUFvQkEsWUFwQkEsa0JBb0JBO0FBRUE7QUFDQTtBQUNBLGFBRkEsTUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZ0VBREE7QUFFQSxrRUFGQTtBQUdBLHlGQUhBO0FBSUE7QUFKQTtBQU1BO0FBekNBLEtBSkE7QUErQ0EsUUEvQ0Esa0JBK0NBO0FBQ0E7QUFDQSx5QkFEQTtBQUVBLDBCQUZBO0FBR0E7QUFIQTtBQUtBLEtBckRBO0FBc0RBLFdBdERBLHFCQXNEQTtBQUFBOztBQUVBO0FBQ0E7QUFDQSxTQUZBO0FBR0E7QUFDQTtBQUNBLFNBRkE7QUFHQTtBQUNBO0FBQ0EsU0FGQTtBQUdBO0FBQ0E7QUFDQSxTQUZBO0FBR0EsS0FwRUE7QUFxRUEsYUFyRUEsdUJBcUVBO0FBQ0E7QUFDQTtBQXZFQSxDIiwiZmlsZSI6IjE1Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIDpzdHlsZT1cImR5bVN0eWxlXCIgdi1zaG93PVwiaXNTaG93XCIgPjwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0IGV2ZW50YnVzIGZyb20gJy4uLy4uL3NlcnZpY2UvZXZlbnRidXMnO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICBwb3NpdGlvbjogJ3ZpZXdwb3J0JyxcclxuICAgIG5hbWU6ICd2aWV3cG9ydC1ndWlkZWxpbmUnLFxyXG5cclxuICAgIG1ldGhvZHM6IHtcclxuICAgICAgICAvLyB1cGRhdGVUaW1lb3V0ICgpIHtcclxuICAgICAgICAvLyAgICAgaWYgKHRoaXMudGltZU91dCkge1xyXG4gICAgICAgIC8vICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZU91dCk7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyAgICAgdGhpcy50aW1lT3V0ID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgIC8vICAgICAgICAgaWYgKHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnREcmFnSW5mbyAhPT0gbnVsbCkge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIHRoaXMuaXNTaG93ID0gZmFsc2U7XHJcbiAgICAgICAgLy8gICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIHRoaXMuaXNTaG93ID0gdHJ1ZTtcclxuICAgICAgICAvLyAgICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gICAgICAgICAvLyDmsqHmnIkgaG92ZXIg5YWD57Sg5LiN5pi+56S6XHJcbiAgICAgICAgLy8gICAgICAgICBpZiAodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEhvdmVySW5zdGFuY2VLZXkgPT09IG51bGwpIHtcclxuICAgICAgICAvLyAgICAgICAgICAgICB0aGlzLmlzU2hvdyA9IGZhbHNlO1xyXG4gICAgICAgIC8vICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyAgICAgICAgICAgICB0aGlzLmlzU2hvdyA9IHRydWU7XHJcbiAgICAgICAgLy8gICAgICAgICB9XHJcbiAgICAgICAgLy8gICAgIH0sIDIwMCk7XHJcbiAgICAgICAgLy8gfSxcclxuICAgICAgICBjYWxjICgpIHtcclxuICAgICAgICAgICAgLy8g5q2j5Zyo5ouW5ou95Lit5LiN5pi+56S6XHJcbiAgICAgICAgICAgIGlmICh0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50RHJhZ0luZm8gIT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNTaG93ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzU2hvdyA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8g5rKh5pyJIGhvdmVyIOWFg+e0oOS4jeaYvuekulxyXG4gICAgICAgICAgICBpZiAodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEhvdmVySW5zdGFuY2VLZXkgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNTaG93ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8g6K6+572uICBzdHlsZVxyXG4gICAgICAgICAgICBjb25zdCB0YXJnZXRCb3VuZGluZ0NsaWVudFJlY3QgPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZURvbXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRIb3Zlckluc3RhbmNlS2V5KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICAgICAgY29uc3Qgdmlld3BvcnRCb3VuZGluZ0NsaWVudFJlY3QgPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC52aWV3cG9ydERPTS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICAgICAgdGhpcy5keW1TdHlsZSA9IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBgJHt0YXJnZXRCb3VuZGluZ0NsaWVudFJlY3Qud2lkdGggLSAxfXB4YCxcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYCR7dGFyZ2V0Qm91bmRpbmdDbGllbnRSZWN0LmhlaWdodCAtIDF9cHhgLFxyXG4gICAgICAgICAgICAgICAgdG9wOiBgJHt0YXJnZXRCb3VuZGluZ0NsaWVudFJlY3QudG9wIC0gdmlld3BvcnRCb3VuZGluZ0NsaWVudFJlY3QudG9wfXB4YCxcclxuICAgICAgICAgICAgICAgIGxlZnQ6IGAke3RhcmdldEJvdW5kaW5nQ2xpZW50UmVjdC5sZWZ0IC0gdmlld3BvcnRCb3VuZGluZ0NsaWVudFJlY3QubGVmdH1weGBcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgZGF0YSAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdGltZU91dDogbnVsbCxcclxuICAgICAgICAgICAgZHltU3R5bGU6IG51bGwsXHJcbiAgICAgICAgICAgIGlzU2hvdzogZmFsc2VcclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIG1vdW50ZWQgKCkge1xyXG4gICAgICAgIC8vIHRoaXMuY2FsYygpO1xyXG4gICAgICAgIGV2ZW50YnVzLiRvbih0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5tb3VzZUhvdmVyaW5nQ29tcG9uZW50LCAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FsYygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGV2ZW50YnVzLiRvbih0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5tb3VzZUhvdmVyaW5nQ3J1bWJJdGVtLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FsYygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGV2ZW50YnVzLiRvbih0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5tb3VzZUxlYXZlVmlld3BvcnQsICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc1Nob3cgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBldmVudGJ1cy4kb24odGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQubW91c2VMZWF2ZUNydW1iSXRlbSwgKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmlzU2hvdyA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSxcclxuICAgIGRlc3Ryb3llZCAoKSB7XHJcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZU91dCk7XHJcbiAgICB9XHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJsZXNzXCIgc2NvcGVkPlxyXG4gLmNvbnRhaW5lcntcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgYm9yZGVyOiAwcHggc29saWQgIzIzYjdlNTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMDdzO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiB9XHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy92aWV3cG9ydC1ndWlkZWxpbmUvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///157\n");
1115
1116/***/ }),
1117/* 158 */
1118/***/ (function(module, exports, __webpack_require__) {
1119
1120"use strict";
1121eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(5);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _style = __webpack_require__(579);\n\nvar components = _interopRequireWildcard(_style);\n\nvar _editHelper = __webpack_require__(580);\n\nvar _editHelper2 = _interopRequireDefault(_editHelper);\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: (0, _extends3.default)({}, components, {\n EditHelper: _editHelper2.default\n }),\n computed: {\n viewportStore: function viewportStore() {\n return this.$store.state.viewport;\n }\n },\n methods: {\n handleMouseLeave: function handleMouseLeave(event) {\n event.stopPropagation();\n _eventbus2.default.$emit(this.$store.state.viewport.mouseLeaveViewport);\n this.$store.commit('viewport/setCurrentHoverInstanceKey', null);\n }\n },\n mounted: function mounted() {\n this.$store.commit('viewport/setViewportDOM', this.$refs.container.$el);\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BhZ2Uvdmlld3BvcnQvaW5kZXgudnVlP2QzMTEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBUUEsVTs7QUFDQTs7OztBQUNBOzs7Ozs7OztrQkFDQTtBQUNBLDJDQUNBLFVBREE7QUFFQTtBQUZBLE1BREE7QUFLQTtBQUNBLHFCQURBLDJCQUNBO0FBQ0E7QUFDQTtBQUhBLEtBTEE7QUFVQTtBQUNBLHdCQURBLDRCQUNBLEtBREEsRUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEEsS0FWQTtBQWlCQSxXQWpCQSxxQkFpQkE7QUFDQTtBQUVBO0FBcEJBLEMiLCJmaWxlIjoiMTU4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gICAgPGRpdj5cclxuICAgICAgICA8Q29udGFpbmVyIHJlZj1cImNvbnRhaW5lclwiIEBtb3VzZWxlYXZlLm5hdGl2ZT1cImhhbmRsZU1vdXNlTGVhdmVcIiA+XHJcbiAgICAgICAgICAgIDxFZGl0SGVscGVyIDppbnN0YW5jZUtleT1cInZpZXdwb3J0U3RvcmUucm9vdEluc3RhbmNlS2V5XCIgPjwvRWRpdEhlbHBlcj5cclxuICAgICAgICA8L0NvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG48c2NyaXB0PlxyXG5pbXBvcnQgKiBhcyBjb21wb25lbnRzIGZyb20gJy4vc3R5bGUnO1xyXG5pbXBvcnQgRWRpdEhlbHBlciBmcm9tICcuL2VkaXQtaGVscGVyJztcclxuaW1wb3J0IGV2ZW50YnVzIGZyb20gJy4uLy4uL3NlcnZpY2UvZXZlbnRidXMnO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICBjb21wb25lbnRzOiB7XHJcbiAgICAgICAgLi4uY29tcG9uZW50cyxcclxuICAgICAgICBFZGl0SGVscGVyXHJcbiAgICB9LFxyXG4gICAgY29tcHV0ZWQ6IHtcclxuICAgICAgICB2aWV3cG9ydFN0b3JlICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0O1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtZXRob2RzOiB7XHJcbiAgICAgICAgaGFuZGxlTW91c2VMZWF2ZSAoZXZlbnQpIHtcclxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgIGV2ZW50YnVzLiRlbWl0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lm1vdXNlTGVhdmVWaWV3cG9ydCk7XHJcbiAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvc2V0Q3VycmVudEhvdmVySW5zdGFuY2VLZXknLCBudWxsKTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgbW91bnRlZCAoKSB7XHJcbiAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9zZXRWaWV3cG9ydERPTScsIHRoaXMuJHJlZnMuY29udGFpbmVyLiRlbCk7XHJcblxyXG4gICAgfVxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS92aWV3cG9ydC9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///158\n");
1122
1123/***/ }),
1124/* 159 */
1125/***/ (function(module, exports, __webpack_require__) {
1126
1127"use strict";
1128eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _style = __webpack_require__(583);\n\nvar Styled = _interopRequireWildcard(_style);\n\nvar _mount = __webpack_require__(42);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nStyled.injectGlob();\n\nexports.default = {\n props: {\n instanceKey: String\n },\n computed: {\n viewportStore: function viewportStore() {\n return this.$store.state.viewport;\n }\n },\n data: function data() {\n return {};\n },\n\n methods: {\n mountRoot: function mountRoot() {\n var _this = this;\n\n this.instanceInfo = this.viewportStore.instances.get(this.instanceKey);\n this.componentClass = this.$store.state.application.componentClasses.get(this.instanceInfo.gaeaKey);\n (0, _mount.mount)(this.wrappedInstance, this.componentClass, false, this.instanceKey, this.$store).then(function (vm) {\n _this.$store.commit('viewport/setInstanceProps', {\n vm: vm,\n key: 'styles',\n value: {\n display: 'block',\n flexGrow: 1\n }\n });\n });\n }\n },\n mounted: function mounted() {\n this.wrappedInstance = this.$refs['gaea-preview'];\n\n this.mountRoot();\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BhZ2Uvdmlld3BvcnQvZWRpdC1oZWxwZXIvaW5kZXgudnVlPzI1MWYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7SUFNQSxNOztBQUNBOzs7O0FBR0E7O2tCQUVBO0FBQ0E7QUFDQTtBQURBLEtBREE7QUFJQTtBQUNBLHFCQURBLDJCQUNBO0FBQ0E7QUFDQTtBQUhBLEtBSkE7QUFTQSxRQVRBLGtCQVNBO0FBQ0E7QUFTQSxLQW5CQTs7QUFvQkE7QUFDQSxpQkFEQSx1QkFDQTtBQUFBOztBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0EsMEJBREE7QUFFQSxpQ0FGQTtBQUdBO0FBQ0Esd0NBREE7QUFFQTtBQUZBO0FBSEE7QUFTQSxhQWRBO0FBZUE7QUFuQkEsS0FwQkE7QUF5Q0EsV0F6Q0EscUJBeUNBO0FBQ0E7O0FBSUE7QUFDQTtBQS9DQSxDIiwiZmlsZSI6IjE1OS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHJcbiAgICA8ZGl2IHJlZj1cImdhZWEtcHJldmlld1wiPjwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0ICogYXMgU3R5bGVkIGZyb20gJy4vc3R5bGUnO1xyXG5pbXBvcnQgeyBtb3VudCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvbW91bnQnO1xyXG4vLyBpbXBvcnQgeyBhZGRDbGFzcyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZG9tJztcclxuXHJcblN0eWxlZC5pbmplY3RHbG9iKCk7XHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICBwcm9wczoge1xyXG4gICAgICAgIGluc3RhbmNlS2V5OiBTdHJpbmdcclxuICAgIH0sXHJcbiAgICBjb21wdXRlZDoge1xyXG4gICAgICAgIHZpZXdwb3J0U3RvcmUgKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC8vIGluc3RhbmNlSW5mbzogbnVsbCxcclxuICAgICAgICAgICAgLy8gY29tcG9uZW50Q2xhc3M6IG51bGxcclxuICAgICAgICAgICAgLy8gc2V0dGluZzogbnVsbCxcclxuICAgICAgICAgICAgLy8gZGVmYXVsdFByb3BzOiBudWxsLFxyXG4gICAgICAgICAgICAvLyB3cmFwcGVkSW5zdGFuY2U6IG51bGwsXHJcbiAgICAgICAgICAgIC8vIGRvbUluc3RhbmNlOiBudWxsLFxyXG4gICAgICAgICAgICAvLyBjcnJ0SW5zdGFuY2VLZXk6IG51bGxcclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIG1ldGhvZHM6IHtcclxuICAgICAgICBtb3VudFJvb3QgKCkge1xyXG4gICAgICAgICAgICB0aGlzLmluc3RhbmNlSW5mbyA9IHRoaXMudmlld3BvcnRTdG9yZS5pbnN0YW5jZXMuZ2V0KHRoaXMuaW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudENsYXNzID0gdGhpcy4kc3RvcmUuc3RhdGUuYXBwbGljYXRpb24uY29tcG9uZW50Q2xhc3Nlcy5nZXQodGhpcy5pbnN0YW5jZUluZm8uZ2FlYUtleSk7XHJcbiAgICAgICAgICAgIG1vdW50KHRoaXMud3JhcHBlZEluc3RhbmNlLCB0aGlzLmNvbXBvbmVudENsYXNzLCBmYWxzZSwgdGhpcy5pbnN0YW5jZUtleSwgdGhpcy4kc3RvcmUpLnRoZW4odm0gPT4ge1xyXG4gICAgICAgICAgICAgICAgLy8g6K6+572u5b2T5YmNZG9tXHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmluc3RhbmNlSW5mby52bSA9IHZtO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5kb21JbnN0YW5jZSA9IHZtLiRlbDtcclxuICAgICAgICAgICAgICAgIC8vIOabtOaWsOWxnuaAp1xyXG4gICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9zZXRJbnN0YW5jZVByb3BzJywge1xyXG4gICAgICAgICAgICAgICAgICAgIHZtLFxyXG4gICAgICAgICAgICAgICAgICAgIGtleTogJ3N0eWxlcycsXHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2Jsb2NrJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleEdyb3c6IDFcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIC8vIHRoaXMuX3JlZnJlc2goKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIG1vdW50ZWQgKCkge1xyXG4gICAgICAgIHRoaXMud3JhcHBlZEluc3RhbmNlID0gdGhpcy4kcmVmc1snZ2FlYS1wcmV2aWV3J107XHJcbiAgICAgICAgLy8g5pu05pawIOW9k+WJjeWxnuaAp+S/oeaBr1xyXG4gICAgICAgIC8vIHRoaXMuX3NldENycnRJbmZvKHRoaXMuaW5zdGFuY2VLZXkpO1xyXG4gICAgICAgIC8vIOaMgui9veaguVxyXG4gICAgICAgIHRoaXMubW91bnRSb290KCk7XHJcbiAgICB9XHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wYWdlL3ZpZXdwb3J0L2VkaXQtaGVscGVyL2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///159\n");
1129
1130/***/ }),
1131/* 160 */
1132/***/ (function(module, exports, __webpack_require__) {
1133
1134eval("var map = {\n\t\"./levelOne/box/index.vue\": 588,\n\t\"./levelOne/btnProp/index.vue\": 593,\n\t\"./levelOne/container/index.vue\": 598,\n\t\"./levelThree/budongchan/index.vue\": 603,\n\t\"./levelThree/button/index.vue\": 609,\n\t\"./levelThree/cellChild/index.vue\": 614,\n\t\"./levelThree/checkbox/index.vue\": 619,\n\t\"./levelThree/checkboxRadioSelection/index.vue\": 627,\n\t\"./levelThree/datepicker/index.vue\": 632,\n\t\"./levelThree/datepickerRange/index.vue\": 637,\n\t\"./levelThree/endDateChoose/index.vue\": 642,\n\t\"./levelThree/iconButton/index.vue\": 647,\n\t\"./levelThree/input/index.vue\": 652,\n\t\"./levelThree/inputIDCard/index.vue\": 657,\n\t\"./levelThree/inputNumber/index.vue\": 662,\n\t\"./levelThree/label/index.vue\": 667,\n\t\"./levelThree/plant-input/index.vue\": 672,\n\t\"./levelThree/radio/index.vue\": 677,\n\t\"./levelThree/select-input/index.vue\": 682,\n\t\"./levelThree/select/index.vue\": 687,\n\t\"./levelThree/selectDouble/index.vue\": 692,\n\t\"./levelThree/selectLabel/index.vue\": 697,\n\t\"./levelThree/selectLink/index.vue\": 702,\n\t\"./levelThree/textarea/index.vue\": 707,\n\t\"./levelThree/time/index.vue\": 712,\n\t\"./levelThree/timeLabel/index.vue\": 717,\n\t\"./levelThree/timeRange/index.vue\": 722,\n\t\"./levelThree/tip-alert/index.vue\": 727,\n\t\"./levelThree/upload/index.vue\": 732,\n\t\"./levelTwo/address-select/index.vue\": 737,\n\t\"./levelTwo/agree-check/index.vue\": 742,\n\t\"./levelTwo/cell/index.vue\": 747,\n\t\"./levelTwo/cellTable/index.vue\": 752,\n\t\"./levelTwo/form/index.vue\": 757,\n\t\"./levelTwo/formRadio/index.vue\": 762,\n\t\"./levelTwo/formTable/index.vue\": 767,\n\t\"./levelTwo/identity-check/index.vue\": 772,\n\t\"./levelTwo/info-attachment/index.vue\": 777,\n\t\"./levelTwo/info-base/index.vue\": 783,\n\t\"./levelTwo/pap-download-scan/index.vue\": 788,\n\t\"./levelTwo/steps/index.vue\": 793,\n\t\"./levelTwo/table-attach-file/index.vue\": 798,\n\t\"./levelTwo/time-line/index.vue\": 804,\n\t\"./levelTwo/title/index.vue\": 810\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 160;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cyBpbmRleFxcLih2dWUpJD83NmQzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjE2MC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBtYXAgPSB7XG5cdFwiLi9sZXZlbE9uZS9ib3gvaW5kZXgudnVlXCI6IDU4OCxcblx0XCIuL2xldmVsT25lL2J0blByb3AvaW5kZXgudnVlXCI6IDU5Myxcblx0XCIuL2xldmVsT25lL2NvbnRhaW5lci9pbmRleC52dWVcIjogNTk4LFxuXHRcIi4vbGV2ZWxUaHJlZS9idWRvbmdjaGFuL2luZGV4LnZ1ZVwiOiA2MDMsXG5cdFwiLi9sZXZlbFRocmVlL2J1dHRvbi9pbmRleC52dWVcIjogNjA5LFxuXHRcIi4vbGV2ZWxUaHJlZS9jZWxsQ2hpbGQvaW5kZXgudnVlXCI6IDYxNCxcblx0XCIuL2xldmVsVGhyZWUvY2hlY2tib3gvaW5kZXgudnVlXCI6IDYxOSxcblx0XCIuL2xldmVsVGhyZWUvY2hlY2tib3hSYWRpb1NlbGVjdGlvbi9pbmRleC52dWVcIjogNjI3LFxuXHRcIi4vbGV2ZWxUaHJlZS9kYXRlcGlja2VyL2luZGV4LnZ1ZVwiOiA2MzIsXG5cdFwiLi9sZXZlbFRocmVlL2RhdGVwaWNrZXJSYW5nZS9pbmRleC52dWVcIjogNjM3LFxuXHRcIi4vbGV2ZWxUaHJlZS9lbmREYXRlQ2hvb3NlL2luZGV4LnZ1ZVwiOiA2NDIsXG5cdFwiLi9sZXZlbFRocmVlL2ljb25CdXR0b24vaW5kZXgudnVlXCI6IDY0Nyxcblx0XCIuL2xldmVsVGhyZWUvaW5wdXQvaW5kZXgudnVlXCI6IDY1Mixcblx0XCIuL2xldmVsVGhyZWUvaW5wdXRJRENhcmQvaW5kZXgudnVlXCI6IDY1Nyxcblx0XCIuL2xldmVsVGhyZWUvaW5wdXROdW1iZXIvaW5kZXgudnVlXCI6IDY2Mixcblx0XCIuL2xldmVsVGhyZWUvbGFiZWwvaW5kZXgudnVlXCI6IDY2Nyxcblx0XCIuL2xldmVsVGhyZWUvcGxhbnQtaW5wdXQvaW5kZXgudnVlXCI6IDY3Mixcblx0XCIuL2xldmVsVGhyZWUvcmFkaW8vaW5kZXgudnVlXCI6IDY3Nyxcblx0XCIuL2xldmVsVGhyZWUvc2VsZWN0LWlucHV0L2luZGV4LnZ1ZVwiOiA2ODIsXG5cdFwiLi9sZXZlbFRocmVlL3NlbGVjdC9pbmRleC52dWVcIjogNjg3LFxuXHRcIi4vbGV2ZWxUaHJlZS9zZWxlY3REb3VibGUvaW5kZXgudnVlXCI6IDY5Mixcblx0XCIuL2xldmVsVGhyZWUvc2VsZWN0TGFiZWwvaW5kZXgudnVlXCI6IDY5Nyxcblx0XCIuL2xldmVsVGhyZWUvc2VsZWN0TGluay9pbmRleC52dWVcIjogNzAyLFxuXHRcIi4vbGV2ZWxUaHJlZS90ZXh0YXJlYS9pbmRleC52dWVcIjogNzA3LFxuXHRcIi4vbGV2ZWxUaHJlZS90aW1lL2luZGV4LnZ1ZVwiOiA3MTIsXG5cdFwiLi9sZXZlbFRocmVlL3RpbWVMYWJlbC9pbmRleC52dWVcIjogNzE3LFxuXHRcIi4vbGV2ZWxUaHJlZS90aW1lUmFuZ2UvaW5kZXgudnVlXCI6IDcyMixcblx0XCIuL2xldmVsVGhyZWUvdGlwLWFsZXJ0L2luZGV4LnZ1ZVwiOiA3MjcsXG5cdFwiLi9sZXZlbFRocmVlL3VwbG9hZC9pbmRleC52dWVcIjogNzMyLFxuXHRcIi4vbGV2ZWxUd28vYWRkcmVzcy1zZWxlY3QvaW5kZXgudnVlXCI6IDczNyxcblx0XCIuL2xldmVsVHdvL2FncmVlLWNoZWNrL2luZGV4LnZ1ZVwiOiA3NDIsXG5cdFwiLi9sZXZlbFR3by9jZWxsL2luZGV4LnZ1ZVwiOiA3NDcsXG5cdFwiLi9sZXZlbFR3by9jZWxsVGFibGUvaW5kZXgudnVlXCI6IDc1Mixcblx0XCIuL2xldmVsVHdvL2Zvcm0vaW5kZXgudnVlXCI6IDc1Nyxcblx0XCIuL2xldmVsVHdvL2Zvcm1SYWRpby9pbmRleC52dWVcIjogNzYyLFxuXHRcIi4vbGV2ZWxUd28vZm9ybVRhYmxlL2luZGV4LnZ1ZVwiOiA3NjcsXG5cdFwiLi9sZXZlbFR3by9pZGVudGl0eS1jaGVjay9pbmRleC52dWVcIjogNzcyLFxuXHRcIi4vbGV2ZWxUd28vaW5mby1hdHRhY2htZW50L2luZGV4LnZ1ZVwiOiA3NzcsXG5cdFwiLi9sZXZlbFR3by9pbmZvLWJhc2UvaW5kZXgudnVlXCI6IDc4Myxcblx0XCIuL2xldmVsVHdvL3BhcC1kb3dubG9hZC1zY2FuL2luZGV4LnZ1ZVwiOiA3ODgsXG5cdFwiLi9sZXZlbFR3by9zdGVwcy9pbmRleC52dWVcIjogNzkzLFxuXHRcIi4vbGV2ZWxUd28vdGFibGUtYXR0YWNoLWZpbGUvaW5kZXgudnVlXCI6IDc5OCxcblx0XCIuL2xldmVsVHdvL3RpbWUtbGluZS9pbmRleC52dWVcIjogODA0LFxuXHRcIi4vbGV2ZWxUd28vdGl0bGUvaW5kZXgudnVlXCI6IDgxMFxufTtcbmZ1bmN0aW9uIHdlYnBhY2tDb250ZXh0KHJlcSkge1xuXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyh3ZWJwYWNrQ29udGV4dFJlc29sdmUocmVxKSk7XG59O1xuZnVuY3Rpb24gd2VicGFja0NvbnRleHRSZXNvbHZlKHJlcSkge1xuXHR2YXIgaWQgPSBtYXBbcmVxXTtcblx0aWYoIShpZCArIDEpKSAvLyBjaGVjayBmb3IgbnVtYmVyIG9yIHN0cmluZ1xuXHRcdHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIgKyByZXEgKyBcIicuXCIpO1xuXHRyZXR1cm4gaWQ7XG59O1xud2VicGFja0NvbnRleHQua2V5cyA9IGZ1bmN0aW9uIHdlYnBhY2tDb250ZXh0S2V5cygpIHtcblx0cmV0dXJuIE9iamVjdC5rZXlzKG1hcCk7XG59O1xud2VicGFja0NvbnRleHQucmVzb2x2ZSA9IHdlYnBhY2tDb250ZXh0UmVzb2x2ZTtcbm1vZHVsZS5leHBvcnRzID0gd2VicGFja0NvbnRleHQ7XG53ZWJwYWNrQ29udGV4dC5pZCA9IDE2MDtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzIGluZGV4XFwuKHZ1ZSkkXG4vLyBtb2R1bGUgaWQgPSAxNjBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///160\n");
1135
1136/***/ }),
1137/* 161 */
1138/***/ (function(module, exports, __webpack_require__) {
1139
1140"use strict";
1141eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(591);\n\nexports.default = {\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level,\n data: function data() {\n return {\n styles: {\n width: '100%',\n border: '0px',\n backgroundColor: '#fff',\n margin: '0px'\n },\n level: _property.editSetting.level\n };\n },\n mounted: function mounted() {}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxPbmUvYm94L2luZGV4LnZ1ZT9hMWU2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O2tCQVFBO0FBQ0Esc0NBREE7QUFFQSxtQ0FGQTtBQUdBLHNDQUhBO0FBSUEsUUFKQSxrQkFJQTtBQUNBO0FBQ0E7QUFDQSw2QkFEQTtBQUVBLDZCQUZBO0FBR0EsdUNBSEE7QUFJQTtBQUpBLGFBREE7QUFPQTtBQVBBO0FBU0EsS0FkQTtBQWVBLFdBZkEscUJBZUEsQ0FDQTtBQWhCQSxDIiwiZmlsZSI6IjE2MS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICA8ZGl2IDpzdHlsZT1cInN0eWxlc1wiICBjbGFzcz1cImdhZWEtc2xvdFwiIGRhdGEtc2xvdC1uYW1lPSdkZWZhdWx0JyA+XHJcbiAgICA8c2xvdD48L3Nsb3Q+XHJcbiAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQgeyBlZGl0U2V0dGluZyB9IGZyb20gJy4vcHJvcGVydHknO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICBlZGl0U2V0dGluZyxcclxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcclxuICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHN0eWxlczoge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6JzEwMCUnLFxyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAnMHB4JyxcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjonI2ZmZicsXHJcbiAgICAgICAgICAgICAgICBtYXJnaW46JzBweCcsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIG1vdW50ZWQgKCkge1xyXG4gICAgfVxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9ib3gvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///161\n");
1142
1143/***/ }),
1144/* 162 */
1145/***/ (function(module, exports, __webpack_require__) {
1146
1147"use strict";
1148eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(596);\n\nexports.default = {\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level,\n data: function data() {\n return {\n styles: {\n marginTop: '20px',\n minWidth: '100px',\n width: '95%',\n minHeight: '100px',\n border: '1px solid #ccc',\n backgroundColor: '#FDF8F5',\n paddingBottom: '10px',\n paddingTop: '10px',\n marginLeft: 'auto',\n marginRight: 'auto',\n marginBottom: '10px',\n textAlign: 'center'\n },\n level: _property.editSetting.level\n };\n },\n mounted: function mounted() {}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxPbmUvYnRuUHJvcC9pbmRleC52dWU/OThkMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztrQkFRQTtBQUNBLHNDQURBO0FBRUEsbUNBRkE7QUFHQSxzQ0FIQTtBQUlBLFFBSkEsa0JBSUE7QUFDQTtBQUNBO0FBQ0EsaUNBREE7QUFFQSxpQ0FGQTtBQUdBLDRCQUhBO0FBSUEsa0NBSkE7QUFLQSx3Q0FMQTtBQU1BLDBDQU5BO0FBT0EscUNBUEE7QUFRQSxrQ0FSQTtBQVNBLGtDQVRBO0FBVUEsbUNBVkE7QUFXQSxvQ0FYQTtBQVlBO0FBWkEsYUFEQTtBQWVBO0FBZkE7QUFpQkEsS0F0QkE7QUF1QkEsV0F2QkEscUJBdUJBLENBQ0E7QUF4QkEsQyIsImZpbGUiOiIxNjIuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgPGRpdiA6c3R5bGU9XCJzdHlsZXNcIiAgY2xhc3M9XCJnYWVhLXNsb3RcIiBkYXRhLXNsb3QtbmFtZT0nZGVmYXVsdCcgPlxyXG4gICAgPHNsb3Q+PC9zbG90PlxyXG4gIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0IHsgZWRpdFNldHRpbmcgfSBmcm9tICcuL3Byb3BlcnR5JztcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgZWRpdFNldHRpbmcsXHJcbiAgICBuYW1lOiBlZGl0U2V0dGluZy5rZXksXHJcbiAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBzdHlsZXM6IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpblRvcDonMjBweCcsXHJcbiAgICAgICAgICAgICAgICBtaW5XaWR0aDogJzEwMHB4JyxcclxuICAgICAgICAgICAgICAgIHdpZHRoOic5NSUnLFxyXG4gICAgICAgICAgICAgICAgbWluSGVpZ2h0OiAnMTAwcHgnLFxyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkICNjY2MnLFxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOicjRkRGOEY1JyxcclxuICAgICAgICAgICAgICAgIHBhZGRpbmdCb3R0b206JzEwcHgnLFxyXG4gICAgICAgICAgICAgICAgcGFkZGluZ1RvcDogJzEwcHgnLFxyXG4gICAgICAgICAgICAgICAgbWFyZ2luTGVmdDogJ2F1dG8nLFxyXG4gICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6ICdhdXRvJyxcclxuICAgICAgICAgICAgICAgIG1hcmdpbkJvdHRvbTogJzEwcHgnLFxyXG4gICAgICAgICAgICAgICAgdGV4dEFsaWduOiAnY2VudGVyJ1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWxcclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIG1vdW50ZWQgKCkge1xyXG4gICAgfVxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9idG5Qcm9wL2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///162\n");
1149
1150/***/ }),
1151/* 163 */
1152/***/ (function(module, exports, __webpack_require__) {
1153
1154"use strict";
1155eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(601);\n\nexports.default = {\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level,\n data: function data() {\n return {\n styles: {\n Width: '100%',\n border: '0px',\n backgroundColor: '#FFF'\n },\n level: _property.editSetting.level\n };\n },\n mounted: function mounted() {}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxPbmUvY29udGFpbmVyL2luZGV4LnZ1ZT8yYzVhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O2tCQVFBO0FBQ0Esc0NBREE7QUFFQSxtQ0FGQTtBQUdBLHNDQUhBO0FBSUEsUUFKQSxrQkFJQTtBQUNBO0FBQ0E7QUFDQSw2QkFEQTtBQUVBLDZCQUZBO0FBR0E7QUFIQSxhQURBO0FBTUE7QUFOQTtBQVFBLEtBYkE7QUFjQSxXQWRBLHFCQWNBLENBQ0E7QUFmQSxDIiwiZmlsZSI6IjE2My5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICA8ZGl2IDpzdHlsZT1cInN0eWxlc1wiICBjbGFzcz1cImdhZWEtc2xvdFwiIGRhdGEtc2xvdC1uYW1lPSdkZWZhdWx0JyA+XHJcbiAgICA8c2xvdD48L3Nsb3Q+XHJcbiAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQgeyBlZGl0U2V0dGluZyB9IGZyb20gJy4vcHJvcGVydHknO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICBlZGl0U2V0dGluZyxcclxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcclxuICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHN0eWxlczoge1xyXG4gICAgICAgICAgICAgICAgV2lkdGg6ICcxMDAlJyxcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogJzBweCcsXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6JyNGRkYnXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIG1vdW50ZWQgKCkge1xyXG4gICAgfVxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9jb250YWluZXIvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///163\n");
1156
1157/***/ }),
1158/* 164 */
1159/***/ (function(module, exports, __webpack_require__) {
1160
1161"use strict";
1162eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(606);\n\nexports.default = {\n computed: {\n getLabel: function getLabel() {\n return this.property.label;\n }\n },\n\n data: function data() {\n return {\n property: {\n label: '标签'\n },\n text: 'input',\n type: 'input',\n level: _property.editSetting.level\n };\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9idWRvbmdjaGFuL2luZGV4LnZ1ZT9jYmExIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O2tCQWFBO0FBU0E7QUFDQSxnQkFEQSxzQkFDQTtBQUNBO0FBQ0E7QUFIQSxLQVRBOztBQWVBLFFBZkEsa0JBZUE7QUFDQTtBQUNBO0FBQ0E7QUFEQSxhQURBO0FBSUEseUJBSkE7QUFLQSx5QkFMQTtBQU1BO0FBTkE7QUFRQSxLQXhCQTs7QUF5QkEsc0NBekJBO0FBMEJBLG1DQTFCQTtBQTJCQTtBQTNCQSxDIiwiZmlsZSI6IjE2NC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICA8ZGl2IGNsYXNzPVwiZm9ybURpdiBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtRGl2LWxlZnRcIj5cclxuICAgICAgPExhYmVsIDpzdHlsZT1cInttYXJnaW5MZWZ0Oic1cHgnfVwiPnt7Z2V0TGFiZWx9fTwvTGFiZWw+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtRGl2LXJpZ2h0XCI+XHJcbiAgICAgIDxpbWcgc3JjPVwiLi8xMS5wbmdcIiAgc3R5bGU9XCJmbG9hdDpsZWZ0OyBtYXJnaW4tdG9wOiAxMy41cHg7bWFyZ2luLWJvdHRvbTogMTMuNXB4O1wiLz5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICAgIC8vIHByb3BzOiB7XHJcbiAgICAvLyAgICAgdGV4dDoge1xyXG4gICAgLy8gICAgICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAvLyAgICAgICAgIGRlZmF1bHQ6ICdCdXR0b24gVGV4dCdcclxuICAgIC8vICAgICB9LFxyXG4gICAgLy8gICAgIHR5cGU6IFN0cmluZyxcclxuICAgIC8vICAgICBzdHlsZXM6IE9iamVjdFxyXG4gICAgLy8gfSxcclxuICAgIGNvbXB1dGVkOntcclxuICAgICAgIGdldExhYmVsKCl7XHJcbiAgICAgICAgIHJldHVybiB0aGlzLnByb3BlcnR5LmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgZGF0YSAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgcHJvcGVydHk6e1xyXG4gICAgICAgICAgICAgICAgbGFiZWwgOiAn5qCH562+JyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdGV4dDogJ2lucHV0JyxcclxuICAgICAgICAgICAgdHlwZTogJ2lucHV0JyxcclxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXHJcbiAgICAgICAgfTtcclxuICAgIH0sXHJcbiAgICBlZGl0U2V0dGluZyxcclxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcclxuICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBzY29wZWQ+XHJcbiAgLmZvcm1EaXZ7XHJcbiAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIH1cclxuICAuZm9ybURpdi1sZWZ0IHtcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDM1JTtcclxuICAgIHRleHQtYWxpZ246cmlnaHQ7XHJcbiAgICBmb250LXNpemU6MTVweDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgfVxyXG4gIC5mb3JtRGl2LXJpZ2h0IHtcclxuICAgIHdpZHRoOiA2MCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG4gIH1cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvYnVkb25nY2hhbi9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///164\n");
1163
1164/***/ }),
1165/* 165 */
1166/***/ (function(module, exports, __webpack_require__) {
1167
1168"use strict";
1169eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(612);\n\nexports.default = {\n data: function data() {\n return {\n property: {\n label: '按钮'\n },\n text: '按钮',\n type: 'success',\n level: _property.editSetting.level\n };\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9idXR0b24vaW5kZXgudnVlPzI2ZTAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7a0JBUUE7QUFTQSxRQVRBLGtCQVNBO0FBQ0E7QUFDQTtBQUNBO0FBREEsYUFEQTtBQUlBLHNCQUpBO0FBS0EsMkJBTEE7QUFNQTtBQU5BO0FBUUEsS0FsQkE7O0FBbUJBLHNDQW5CQTtBQW9CQSxtQ0FwQkE7QUFxQkE7QUFyQkEsQyIsImZpbGUiOiIxNjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGlubGluZS1ibG9jaztcIj5cclxuICAgIDxCdXR0b24gOnR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJidXR0b25TdHlsZVwiPnt7cHJvcGVydHkubGFiZWx9fTwvQnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICAgIC8vIHByb3BzOiB7XHJcbiAgICAvLyAgICAgdGV4dDoge1xyXG4gICAgLy8gICAgICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAvLyAgICAgICAgIGRlZmF1bHQ6ICdCdXR0b24gVGV4dCdcclxuICAgIC8vICAgICB9LFxyXG4gICAgLy8gICAgIHR5cGU6IFN0cmluZyxcclxuICAgIC8vICAgICBzdHlsZXM6IE9iamVjdFxyXG4gICAgLy8gfSxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHByb3BlcnR5OntcclxuICAgICAgICAgICAgICAgIGxhYmVsIDogJ+aMiemSricsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHRleHQ6ICfmjInpkq4nLFxyXG4gICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycsXHJcbiAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIGVkaXRTZXR0aW5nLFxyXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxyXG4gICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIHNjb3BlZD5cclxuICAgIC5idXR0b25TdHlsZXtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6MTBweDtcclxuICAgIH1cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvYnV0dG9uL2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///165\n");
1170
1171/***/ }),
1172/* 166 */
1173/***/ (function(module, exports, __webpack_require__) {
1174
1175"use strict";
1176eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(617);\n\nexports.default = {\n data: function data() {\n return {\n property: {\n title: ''\n },\n text: 'label',\n\n type: 'label',\n level: _property.editSetting.level\n };\n },\n\n computed: {\n getLabel: function getLabel() {\n return this.property.title;\n }\n },\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9jZWxsQ2hpbGQvaW5kZXgudnVlPzdhZmQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7a0JBVUE7QUFTQSxRQVRBLGtCQVNBO0FBQ0E7QUFDQTtBQUNBO0FBREEsYUFEQTtBQUlBLHlCQUpBOztBQWVBLHlCQWZBO0FBZ0JBO0FBaEJBO0FBa0JBLEtBNUJBOztBQTZCQTtBQUNBLGdCQURBLHNCQUNBO0FBQ0E7QUFDQTtBQUhBLEtBN0JBO0FBa0NBLHNDQWxDQTtBQW1DQSxtQ0FuQ0E7QUFvQ0E7QUFwQ0EsQyIsImZpbGUiOiIxNjYuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgPGRpdiBjbGFzcz1cImNlbGxEZXRhaWxcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwiY2VsbERldGFpbFRpdGxlXCI+XHJcbiAgICAgIDxMYWJlbCA6c3R5bGU9XCJ7bWFyZ2luTGVmdDonNXB4J31cIiA+e3tnZXRMYWJlbH19PC9MYWJlbD5cclxuICAgIDwvc3Bhbj5cclxuICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCB7ZWRpdFNldHRpbmd9IGZyb20gJy4vcHJvcGVydHknO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICAvLyBwcm9wczoge1xyXG4gICAgLy8gICAgIHRleHQ6IHtcclxuICAgIC8vICAgICAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgLy8gICAgICAgICBkZWZhdWx0OiAnQnV0dG9uIFRleHQnXHJcbiAgICAvLyAgICAgfSxcclxuICAgIC8vICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAvLyAgICAgc3R5bGVzOiBPYmplY3RcclxuICAgIC8vIH0sXHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBwcm9wZXJ0eTp7XHJcbiAgICAgICAgICAgICAgICB0aXRsZSA6ICcnLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0ZXh0OiAnbGFiZWwnLFxyXG4gICAgICAgICAgICAvLyBzdHlsZXM6IHtcclxuICAgICAgICAgICAgICAgIC8vIGRpc3BsYXk6J2lubGluZS1ibG9jaycsXHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDonMTAwcHgnLFxyXG4gICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiczMHB4JyxcclxuICAgICAgICAgICAgICAgIC8vIGxpbmVIZWlnaHQ6JzMwcHgnLFxyXG4gICAgICAgICAgICAgICAgLy8gdGV4dEFsaWduOidjZW50ZXInLFxyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luOicxMHB4JyxcclxuICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmRDb2xvcjonI2ZmZicsXHJcbiAgICAgICAgICAgICAgICAvLyBmb250U2l6ZTonMTVweCdcclxuICAgICAgICAgICAgLy8gfSxcclxuICAgICAgICAgICAgdHlwZTogJ2xhYmVsJyxcclxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxyXG4gICAgICAgIH07XHJcbiAgICB9LFxyXG4gICAgY29tcHV0ZWQ6e1xyXG4gICAgICAgIGdldExhYmVsKCl7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnByb3BlcnR5LnRpdGxlO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBlZGl0U2V0dGluZyxcclxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcclxuICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBzY29wZWQ+XHJcbiAgLmNlbGxEZXRhaWx7XHJcbiAgICB3aWR0aDogMjQlO1xyXG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjOGU3ZDdkNmI7XHJcbiAgfVxyXG4gIC5jZWxsRGV0YWlsVGl0bGUge1xyXG4gICAgY29sb3I6ICMwMDAhaW1wb3J0YW50O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzRhODlkYztcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgfVxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9jZWxsQ2hpbGQvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///166\n");
1177
1178/***/ }),
1179/* 167 */
1180/***/ (function(module, exports, __webpack_require__) {
1181
1182"use strict";
1183eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(622);\n\nvar _commomHoverModal = __webpack_require__(13);\n\nvar _commomHoverModal2 = _interopRequireDefault(_commomHoverModal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: {\n commomHoverModal: _commomHoverModal2.default\n },\n data: function data() {\n return {\n property: {\n label: '多选框'\n },\n text: 'input',\n styles: { height: '40px', width: '70px', margin: '10px' },\n type: 'input',\n single: true,\n level: _property.editSetting.level,\n radioArr: []\n };\n },\n\n computed: {\n getLabel: function getLabel() {\n return this.property.label;\n }\n },\n methods: {\n show: function show() {\n this.$refs.commomHoverModal.handleMouseEnter();\n },\n hide: function hide() {\n this.$refs.commomHoverModal.handleMouseLeave();\n },\n initTableArr: function initTableArr() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n this.radioArr = currentInstance.data.radioArr;\n }\n },\n mounted: function mounted() {\n this.initTableArr();\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9jaGVja2JveC9pbmRleC52dWU/NmU1MSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQWdCQTs7Ozs7O2tCQUVBO0FBU0E7QUFDQTtBQURBLEtBVEE7QUFZQSxRQVpBLGtCQVlBO0FBQ0E7QUFDQTtBQUNBO0FBREEsYUFEQTtBQUlBLHlCQUpBO0FBS0EscUVBTEE7QUFNQSx5QkFOQTtBQU9BLHdCQVBBO0FBUUEsOENBUkE7QUFTQTtBQVRBO0FBV0EsS0F4QkE7O0FBeUJBO0FBQ0EsZ0JBREEsc0JBQ0E7QUFDQTtBQUNBO0FBSEEsS0F6QkE7QUE4QkE7QUFDQSxZQURBLGtCQUNBO0FBQ0E7QUFDQSxTQUhBO0FBSUEsWUFKQSxrQkFJQTtBQUNBO0FBQ0EsU0FOQTtBQU9BLG9CQVBBLDBCQU9BO0FBQ0E7QUFDQTtBQUNBO0FBVkEsS0E5QkE7QUEwQ0EsV0ExQ0EscUJBMENBO0FBQ0E7QUFDQSxLQTVDQTs7QUE2Q0Esc0NBN0NBO0FBOENBLG1DQTlDQTtBQStDQTtBQS9DQSxDIiwiZmlsZSI6IjE2Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICA8ZGl2IGNsYXNzPVwiZm9ybURpdlwiIEBtb3VzZWVudGVyPVwic2hvd1wiIEBtb3VzZWxlYXZlPVwiaGlkZVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybURpdi1sZWZ0XCI+XHJcbiAgICAgICAgICA8TGFiZWwgOnN0eWxlPVwie21hcmdpbkxlZnQ6JzVweCd9XCI+e3twcm9wZXJ0eS5sYWJlbH19PC9MYWJlbD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtRGl2LXJpZ2h0IHJhZGlvQ2hlY2tib3hTdHlsZVwiPlxyXG4gICAgICAgICAgPENoZWNrYm94IHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIHJhZGlvQXJyXCIgOmtleT1cImluZGV4XCIgOmxhYmVsPVwiaXRlbS52YWx1ZVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuPnt7aXRlbS5sYWJlbH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9DaGVja2JveD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxjb21tb21Ib3Zlck1vZGFsIHJlZj1cImNvbW1vbUhvdmVyTW9kYWxcIiA+PC9jb21tb21Ib3Zlck1vZGFsPlxyXG4gIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XHJcbmltcG9ydCBjb21tb21Ib3Zlck1vZGFsIGZyb20gJy4uLy4uL2NvbW1vbi9jb21tb21Ib3Zlck1vZGFsJ1xyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgLy8gcHJvcHM6IHtcclxuICAgIC8vICAgICB0ZXh0OiB7XHJcbiAgICAvLyAgICAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgIC8vICAgICAgICAgZGVmYXVsdDogJ0J1dHRvbiBUZXh0J1xyXG4gICAgLy8gICAgIH0sXHJcbiAgICAvLyAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgLy8gICAgIHN0eWxlczogT2JqZWN0XHJcbiAgICAvLyB9LFxyXG4gICAgY29tcG9uZW50czp7XHJcbiAgICAgICAgY29tbW9tSG92ZXJNb2RhbFxyXG4gICAgfSxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHByb3BlcnR5OntcclxuICAgICAgICAgICAgICAgIGxhYmVsIDogJ+WkmumAieahhicsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHRleHQ6ICdpbnB1dCcsXHJcbiAgICAgICAgICAgIHN0eWxlczoge2hlaWdodDonNDBweCcsd2lkdGg6JzcwcHgnLG1hcmdpbjonMTBweCd9LFxyXG4gICAgICAgICAgICB0eXBlOiAnaW5wdXQnLFxyXG4gICAgICAgICAgICBzaW5nbGU6IHRydWUsXHJcbiAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcclxuICAgICAgICAgICAgcmFkaW9BcnI6W11cclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIGNvbXB1dGVkOntcclxuICAgICAgICBnZXRMYWJlbCgpe1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0eS5sYWJlbDtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgbWV0aG9kczp7XHJcbiAgICAgICAgc2hvdygpe1xyXG4gICAgICAgICAgICB0aGlzLiRyZWZzLmNvbW1vbUhvdmVyTW9kYWwuaGFuZGxlTW91c2VFbnRlcigpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaGlkZSgpe1xyXG4gICAgICAgICAgICB0aGlzLiRyZWZzLmNvbW1vbUhvdmVyTW9kYWwuaGFuZGxlTW91c2VMZWF2ZSgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaW5pdFRhYmxlQXJyKCl7XHJcbiAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcy5nZXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgIHRoaXMucmFkaW9BcnI9Y3VycmVudEluc3RhbmNlLmRhdGEucmFkaW9BcnI7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIG1vdW50ZWQoKXtcclxuICAgICAgICB0aGlzLmluaXRUYWJsZUFycigpO1xyXG4gICAgfSxcclxuICAgIGVkaXRTZXR0aW5nLFxyXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxyXG4gICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIHNjb3BlZD5cclxuICAgIC5mb3JtRGl2e1xyXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgICAucmFkaW9DaGVja2JveFN0eWxlIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgLmZvcm1EaXYtbGVmdCB7XHJcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDM1JTtcclxuICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZToxNXB4O1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmZvcm1EaXYtcmlnaHQge1xyXG4gICAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgIH1cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvY2hlY2tib3gvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///167\n");
1184
1185/***/ }),
1186/* 168 */
1187/***/ (function(module, exports, __webpack_require__) {
1188
1189"use strict";
1190eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"commomHoverModal\",\n data: function data() {\n return {\n hoverBorder: 'hoverBorder',\n noclass: 'noclass',\n modal2: false,\n isActive: false,\n deleteIcon: 'deleteIcon',\n hideIcon: 'hideIcon',\n property: {\n label: '标签'\n },\n text: 'label',\n styles: {\n display: 'inline-block',\n width: '40%',\n height: '60px',\n lineHeight: '60px',\n textAlign: 'right',\n fontSize: '15px'\n },\n type: 'label'\n };\n },\n\n methods: {\n deleteInstance: function deleteInstance() {\n\n this.modal2 = true;\n },\n del: function del() {\n this.$store.commit('viewport/deleteData', this.$store.state.viewport.currentEditInstanceKey);\n this.modal2 = false;\n },\n cancle: function cancle() {\n this.modal2 = false;\n },\n handleMouseEnter: function handleMouseEnter() {\n var currentInstance = this.$store.state.viewport.currentHoverInstanceKey;\n if (this.$store.state.viewport.isView) {\n return;\n }\n console.log(\"currentHoverInstanceKey--->\" + currentInstance);\n console.log(configPageIde.instances);\n var isContain = configPageIde.instances.indexOf(currentInstance);\n if (isContain == -1) {\n this.isActive = true;\n }\n },\n handleMouseLeave: function handleMouseLeave() {\n this.isActive = false;\n }\n },\n created: function created() {}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvY29tbW9uL2NvbW1vbUhvdmVyTW9kYWwudnVlPzU2NGYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7a0JBb0NBO0FBQ0EsNEJBREE7QUFFQSxRQUZBLGtCQUVBO0FBQ0E7QUFDQSxzQ0FEQTtBQUVBLDhCQUZBO0FBR0EseUJBSEE7QUFJQSwyQkFKQTtBQUtBLG9DQUxBO0FBTUEsZ0NBTkE7QUFPQTtBQUNBO0FBREEsYUFQQTtBQVVBLHlCQVZBO0FBV0E7QUFDQSx1Q0FEQTtBQUVBLDRCQUZBO0FBR0EsOEJBSEE7QUFJQSxrQ0FKQTtBQUtBLGtDQUxBO0FBTUE7QUFOQSxhQVhBO0FBbUJBO0FBbkJBO0FBcUJBLEtBeEJBOztBQXlCQTtBQUNBLHNCQURBLDRCQUNBOztBQUVBO0FBQ0EsU0FKQTtBQUtBLFdBTEEsaUJBS0E7QUFDQTtBQUNBO0FBQ0EsU0FSQTtBQVNBLGNBVEEsb0JBU0E7QUFDQTtBQUNBLFNBWEE7QUFZQSx3QkFaQSw4QkFZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0EsU0F4QkE7QUF5QkEsd0JBekJBLDhCQXlCQTtBQUNBO0FBQ0E7QUEzQkEsS0F6QkE7QUFzREEsV0F0REEscUJBc0RBLENBRUE7QUF4REEsQyIsImZpbGUiOiIxNjguanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2PlxyXG4gICAgICAgIDxkaXYgICBjbGFzcz1cImJvcmRlckNsYXNzXCIgIDpjbGFzcz1cImlzQWN0aXZlP2hvdmVyQm9yZGVyOm5vY2xhc3NcIiA+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgPlxyXG4gICAgICAgICAgICA8dGVtcGxhdGUgdi1pZj1cImlzQWN0aXZlPT10cnVlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICAgOmNsYXNzPVwiaXNBY3RpdmU/ZGVsZXRlSWNvbjpoaWRlSWNvblwiIEBjbGljaz1cImRlbGV0ZUluc3RhbmNlKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb25mb250IGljb24tcmVjYS1zaGFuY2h1IFwiIEBjbGljaz1cImRlbGV0ZUluc3RhbmNlKClcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC90ZW1wbGF0ZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8TW9kYWwgdi1tb2RlbD1cIm1vZGFsMlwiIHdpZHRoPVwiMzYwXCI+XHJcbiAgICAgICAgICAgIDxwIHNsb3Q9XCJoZWFkZXJcIiBzdHlsZT1cImNvbG9yOiNmNjA7dGV4dC1hbGlnbjpjZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxJY29uIHR5cGU9XCJpb3MtaW5mb3JtYXRpb24tY2lyY2xlXCI+PC9JY29uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+5Yig6Zmk56Gu6K6kPC9zcGFuPlxyXG4gICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOmNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHA+5piv5ZCm5Yig6Zmk5Yia5ouW5Yqo6L+b5p2l55qE57uE5Lu277yfPC9wPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBzbG90PVwiZm9vdGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uIHR5cGU9XCJkZWZhdWx0XCIgICBAY2xpY2s9XCJjYW5jbGVcIj7lj5bmtog8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cImVycm9yXCIgIEBjbGljaz1cImRlbFwiPuehruWumjwvQnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L01vZGFsPlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG4gICAgLyoqXHJcbiAgICAgKkBhdXRob3IgICAgICAg5Y+256ug5rWpXHJcbiAgICAgKkBkYXRlICAgICAgICAgMjAxOS8xMC8xNCAxODozOFxyXG4gICAgICpAQ29weXJpZ2h0ICAgIOWkqea6kOi/quenkeS/oeaBr+aKgOacr+iCoeS7veaciemZkOWFrOWPuFxyXG4gICAgICpARGVzY3JpcHRpb25cclxuICAgICAqL1xyXG5cclxuICAgIGV4cG9ydCBkZWZhdWx0IHtcclxuICAgICAgICBuYW1lOiBcImNvbW1vbUhvdmVyTW9kYWxcIixcclxuICAgICAgICBkYXRhICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGhvdmVyQm9yZGVyOidob3ZlckJvcmRlcicsXHJcbiAgICAgICAgICAgICAgICBub2NsYXNzOidub2NsYXNzJyxcclxuICAgICAgICAgICAgICAgIG1vZGFsMjpmYWxzZSxcclxuICAgICAgICAgICAgICAgIGlzQWN0aXZlOmZhbHNlLFxyXG4gICAgICAgICAgICAgICAgZGVsZXRlSWNvbjonZGVsZXRlSWNvbicsXHJcbiAgICAgICAgICAgICAgICBoaWRlSWNvbjonaGlkZUljb24nLFxyXG4gICAgICAgICAgICAgICAgcHJvcGVydHk6e1xyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIDogJ+agh+etvicsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgdGV4dDogJ2xhYmVsJyxcclxuICAgICAgICAgICAgICAgIHN0eWxlczoge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6J2lubGluZS1ibG9jaycsXHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6JzQwJScsXHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0Oic2MHB4JyxcclxuICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0Oic2MHB4JyxcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246J3JpZ2h0JyxcclxuICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTonMTVweCdcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnbGFiZWwnXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtZXRob2RzOntcclxuICAgICAgICAgICAgZGVsZXRlSW5zdGFuY2UoKXtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGFsMiA9IHRydWU7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGRlbCAoKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L2RlbGV0ZURhdGEnLCAgdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGFsMiA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBjYW5jbGUoKXtcclxuICAgICAgICAgICAgICAgIHRoaXMubW9kYWwyID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGhhbmRsZU1vdXNlRW50ZXIoKXtcclxuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRIb3Zlckluc3RhbmNlS2V5O1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaXNWaWV3KXtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImN1cnJlbnRIb3Zlckluc3RhbmNlS2V5LS0tPlwiK2N1cnJlbnRJbnN0YW5jZSk7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhjb25maWdQYWdlSWRlLmluc3RhbmNlcyk7XHJcbiAgICAgICAgICAgICAgICBsZXQgaXNDb250YWluID0gY29uZmlnUGFnZUlkZS5pbnN0YW5jZXMuaW5kZXhPZihjdXJyZW50SW5zdGFuY2UpOyAvLyAyXHJcbiAgICAgICAgICAgICAgICBpZihpc0NvbnRhaW49PS0xKXtcclxuICAgICAgICAgICAgICAgICAgICAvL25vdGUg6K+05piO5piv5ZCO5ouW6L+b5p2l55qEXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0FjdGl2ZT10cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBoYW5kbGVNb3VzZUxlYXZlKCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzQWN0aXZlPWZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjcmVhdGVkKCl7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgc2NvcGVkPlxyXG4gICAgLmhvdmVyQm9yZGVye1xyXG4gICAgICAgIGJvcmRlcjoxcHggc29saWQgcmVkO1xyXG4gICAgfVxyXG4gICAuYm9yZGVyQ2xhc3N7XHJcbiAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICB0b3A6MHB4O1xyXG4gICAgICAgbGVmdDowcHg7XHJcbiAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgIGJvdHRvbTowO1xyXG4gICB9XHJcbiAgICAubm9jbGFzc3tcclxuXHJcbiAgICB9XHJcbiAgICAuaG92ZXJCb3JkZXJ7XHJcbiAgICAgICAgYm9yZGVyOjFweCBzb2xpZCByZWQ7XHJcbiAgICB9XHJcbiAgICAuaGlkZUljb257XHJcbiAgICAgICAgaGVpZ2h0OiAwcHg7XHJcbiAgICB9XHJcbiAgICAuZGVsZXRlSWNvbntcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOjBweDtcclxuICAgICAgICBoZWlnaHQ6MzBweCA7XHJcbiAgICAgICAgcmlnaHQ6IDBweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBjb2xvcjogcmVkO1xyXG4gICAgfVxyXG48L3N0eWxlPlxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9jb21tb24vY29tbW9tSG92ZXJNb2RhbC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///168\n");
1191
1192/***/ }),
1193/* 169 */
1194/***/ (function(module, exports, __webpack_require__) {
1195
1196"use strict";
1197eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(23);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _property = __webpack_require__(630);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n data: function data() {\n var _ref;\n\n return _ref = {\n single: false,\n property: {\n label: '单选框'\n },\n text: 'input',\n styles: { height: '40px', width: '70px', margin: '10px' },\n type: 'input'\n }, (0, _defineProperty3.default)(_ref, 'single', true), (0, _defineProperty3.default)(_ref, 'level', _property.editSetting.level), _ref;\n },\n\n computed: {\n getLabel: function getLabel() {\n return this.property.label;\n }\n },\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9jaGVja2JveFJhZGlvU2VsZWN0aW9uL2luZGV4LnZ1ZT9mYmU0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O2tCQVlBO0FBU0EsUUFUQSxrQkFTQTtBQUFBOztBQUNBO0FBQ0EseUJBREE7QUFFQTtBQUNBO0FBREEsYUFGQTtBQUtBLHlCQUxBO0FBTUEscUVBTkE7QUFPQTtBQVBBLHlEQVFBLElBUkEsZ0RBU0EsMkJBVEE7QUFXQSxLQXJCQTs7QUFzQkE7QUFDQSxnQkFEQSxzQkFDQTtBQUNBO0FBQ0E7QUFIQSxLQXRCQTtBQTJCQSxzQ0EzQkE7QUE0QkEsbUNBNUJBO0FBNkJBO0FBN0JBLEMiLCJmaWxlIjoiMTY5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm1EaXZcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybURpdi1sZWZ0XCI+XHJcbiAgICAgICAgICAgIDxMYWJlbCA+XHJcbiAgICAgICAgICAgICAgICA8Q2hlY2tib3ggdi1tb2RlbD1cInNpbmdsZVwiPnt7cHJvcGVydHkubGFiZWx9fTwvQ2hlY2tib3g+XHJcbiAgICAgICAgICAgIDwvTGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCB7ZWRpdFNldHRpbmd9IGZyb20gJy4vcHJvcGVydHknO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICAvLyBwcm9wczoge1xyXG4gICAgLy8gICAgIHRleHQ6IHtcclxuICAgIC8vICAgICAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgLy8gICAgICAgICBkZWZhdWx0OiAnQnV0dG9uIFRleHQnXHJcbiAgICAvLyAgICAgfSxcclxuICAgIC8vICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAvLyAgICAgc3R5bGVzOiBPYmplY3RcclxuICAgIC8vIH0sXHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBzaW5nbGU6IGZhbHNlLFxyXG4gICAgICAgICAgICBwcm9wZXJ0eTp7XHJcbiAgICAgICAgICAgICAgICBsYWJlbCA6ICfljZXpgInmoYYnLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0ZXh0OiAnaW5wdXQnLFxyXG4gICAgICAgICAgICBzdHlsZXM6IHtoZWlnaHQ6JzQwcHgnLHdpZHRoOic3MHB4JyxtYXJnaW46JzEwcHgnfSxcclxuICAgICAgICAgICAgdHlwZTogJ2lucHV0JyxcclxuICAgICAgICAgICAgc2luZ2xlOiB0cnVlLFxyXG4gICAgICAgICAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXHJcbiAgICAgICAgfTtcclxuICAgIH0sXHJcbiAgICBjb21wdXRlZDp7XHJcbiAgICAgICAgZ2V0TGFiZWwoKXtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydHkubGFiZWw7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIGVkaXRTZXR0aW5nLFxyXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxyXG4gICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIHNjb3BlZD5cclxuICAuZm9ybURpdntcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICBsaW5lLWhlaWdodDogNjBweDtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2NoZWNrYm94UmFkaW9TZWxlY3Rpb24vaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///169\n");
1198
1199/***/ }),
1200/* 170 */
1201/***/ (function(module, exports, __webpack_require__) {
1202
1203"use strict";
1204eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _commomHoverModal = __webpack_require__(13);\n\nvar _commomHoverModal2 = _interopRequireDefault(_commomHoverModal);\n\nvar _property = __webpack_require__(635);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n data: function data() {\n return {\n property: {\n label: '日期'\n },\n extend: {\n placeholder: \"\"\n },\n text: 'input',\n styles: {},\n type: 'date-picker',\n level: _property.editSetting.level\n };\n },\n\n components: {\n commomHoverModal: _commomHoverModal2.default\n },\n methods: {\n show: function show() {\n this.$refs.commomHoverModal.handleMouseEnter();\n },\n hide: function hide() {\n this.$refs.commomHoverModal.handleMouseLeave();\n }\n },\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9kYXRlcGlja2VyL2luZGV4LnZ1ZT9lZWJkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFxQkE7Ozs7a0JBQ0E7QUFDQSxRQURBLGtCQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREEsYUFEQTtBQUlBO0FBQ0E7QUFEQSxhQUpBO0FBT0EseUJBUEE7QUFRQSxzQkFSQTtBQVNBLCtCQVRBO0FBVUE7QUFWQTtBQVlBLEtBZEE7O0FBZUE7QUFDQTtBQURBLEtBZkE7QUFrQkE7QUFDQSxZQURBLGtCQUNBO0FBQ0E7QUFDQSxTQUhBO0FBSUEsWUFKQSxrQkFJQTtBQUNBO0FBQ0E7QUFOQSxLQWxCQTtBQTBCQSxzQ0ExQkE7QUEyQkEsbUNBM0JBO0FBNEJBO0FBNUJBLEMiLCJmaWxlIjoiMTcwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gPGRpdiBjbGFzcz1cImZvcm1EaXZcIiAgQG1vdXNlZW50ZXI9XCJzaG93XCIgQG1vdXNlbGVhdmU9XCJoaWRlXCI+XHJcbiAgICAgPGRpdiBjbGFzcz1cImZvcm1EaXYtbGVmdFwiPlxyXG4gICAgICAgPExhYmVsIDpzdHlsZT1cInttYXJnaW5MZWZ0Oic1cHgnfVwiPnt7cHJvcGVydHkubGFiZWx9fTwvTGFiZWw+XHJcbiAgICAgPC9kaXY+XHJcbiAgICAgPGRpdiBjbGFzcz1cImZvcm1EaXYtcmlnaHRcIj5cclxuICAgICAgIDxEYXRlUGlja2VyXHJcbiAgICAgICAgICAgICAgIHNwbGl0LXBhbmVsc1xyXG4gICAgICAgICAgICAgICA6ZWRpdGFibGU9XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgIDpwbGFjZWhvbGRlcj1leHRlbmQucGxhY2Vob2xkZXJcclxuICAgICAgICAgICAgICAgY2xhc3M9XCJkYXRlcGlja2VyU3R5bGVcIlxyXG4gICAgICAgPlxyXG4gICAgICAgPC9EYXRlUGlja2VyPlxyXG4gICAgIDwvZGl2PlxyXG4gICAgIDxjb21tb21Ib3Zlck1vZGFsIHJlZj1cImNvbW1vbUhvdmVyTW9kYWxcIiA+PC9jb21tb21Ib3Zlck1vZGFsPlxyXG4gPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG4gICAgaW1wb3J0IGNvbW1vbUhvdmVyTW9kYWwgZnJvbSAnLi4vLi4vY29tbW9uL2NvbW1vbUhvdmVyTW9kYWwnXHJcblxyXG4gICAgaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHByb3BlcnR5OntcclxuICAgICAgICAgICAgICAgIGxhYmVsIDogJ+aXpeacnycsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGV4dGVuZDp7XHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjpcIlwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHRleHQ6ICdpbnB1dCcsXHJcbiAgICAgICAgICAgIHN0eWxlczoge30sXHJcbiAgICAgICAgICAgIHR5cGU6ICdkYXRlLXBpY2tlcicsXHJcbiAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIGNvbXBvbmVudHM6e1xyXG4gICAgICAgIGNvbW1vbUhvdmVyTW9kYWxcclxuICAgIH0sXHJcbiAgICBtZXRob2RzOntcclxuICAgICAgICBzaG93KCl7XHJcbiAgICAgICAgICAgIHRoaXMuJHJlZnMuY29tbW9tSG92ZXJNb2RhbC5oYW5kbGVNb3VzZUVudGVyKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBoaWRlKCl7XHJcbiAgICAgICAgICAgIHRoaXMuJHJlZnMuY29tbW9tSG92ZXJNb2RhbC5oYW5kbGVNb3VzZUxlYXZlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIGVkaXRTZXR0aW5nLFxyXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxyXG4gICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIHNjb3BlZD5cclxuICAuZm9ybURpdntcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBsaW5lLWhlaWdodDogNjBweDtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcbiAgLmRhdGVwaWNrZXJTdHlsZXtcclxuICAgICAgd2lkdGg6NTAlO1xyXG4gIH1cclxuICAuZm9ybURpdi1sZWZ0IHtcclxuICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAzNSU7XHJcbiAgICAgIHRleHQtYWxpZ246cmlnaHQ7XHJcbiAgICAgIGZvbnQtc2l6ZToxNXB4O1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgfVxyXG4gIC5mb3JtRGl2LXJpZ2h0IHtcclxuICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gIH1cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvZGF0ZXBpY2tlci9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///170\n");
1205
1206/***/ }),
1207/* 171 */
1208/***/ (function(module, exports, __webpack_require__) {
1209
1210"use strict";
1211eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(640);\n\nvar _commomHoverModal = __webpack_require__(13);\n\nvar _commomHoverModal2 = _interopRequireDefault(_commomHoverModal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n data: function data() {\n return {\n extend: {\n placeholder: \"\"\n },\n property: {\n label: '日期区间'\n },\n text: 'input',\n styles: {},\n type: 'date-picker-daterange',\n level: _property.editSetting.level\n };\n },\n\n components: {\n commomHoverModal: _commomHoverModal2.default\n },\n methods: {\n show: function show() {\n this.$refs.commomHoverModal.handleMouseEnter();\n },\n hide: function hide() {\n this.$refs.commomHoverModal.handleMouseLeave();\n }\n },\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9kYXRlcGlja2VyUmFuZ2UvaW5kZXgudnVlPzFmZjkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFzQkE7Ozs7OztrQkFFQTtBQUNBLFFBREEsa0JBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFEQSxhQURBO0FBSUE7QUFDQTtBQURBLGFBSkE7QUFPQSx5QkFQQTtBQVFBLHNCQVJBO0FBU0EseUNBVEE7QUFVQTtBQVZBO0FBWUEsS0FkQTs7QUFlQTtBQUNBO0FBREEsS0FmQTtBQWtCQTtBQUNBLFlBREEsa0JBQ0E7QUFDQTtBQUNBLFNBSEE7QUFJQSxZQUpBLGtCQUlBO0FBQ0E7QUFDQTtBQU5BLEtBbEJBO0FBMEJBLHNDQTFCQTtBQTJCQSxtQ0EzQkE7QUE0QkE7QUE1QkEsQyIsImZpbGUiOiIxNzEuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiA8ZGl2IGNsYXNzPVwiZm9ybURpdlwiICAgQG1vdXNlZW50ZXI9XCJzaG93XCIgQG1vdXNlbGVhdmU9XCJoaWRlXCI+XHJcbiAgICAgPGRpdiBjbGFzcz1cImZvcm1EaXYtbGVmdFwiPlxyXG4gICAgICAgICA8TGFiZWwgOnN0eWxlPVwie21hcmdpbkxlZnQ6JzVweCd9XCI+e3twcm9wZXJ0eS5sYWJlbH19PC9MYWJlbD5cclxuICAgICA8L2Rpdj5cclxuICAgICA8ZGl2IGNsYXNzPVwiZm9ybURpdi1yaWdodFwiPlxyXG4gICAgICAgPERhdGVQaWNrZXJcclxuICAgICAgICAgICAgICAgdHlwZT1cImRhdGVyYW5nZVwiXHJcbiAgICAgICAgICAgICAgIHNwbGl0LXBhbmVsc1xyXG4gICAgICAgICAgICAgICA6cGxhY2Vob2xkZXI9ZXh0ZW5kLnBsYWNlaG9sZGVyXHJcbiAgICAgICAgICAgICAgIDplZGl0YWJsZT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogNTAlO1wiXHJcbiAgICAgICA+XHJcbiAgICAgICA8L0RhdGVQaWNrZXI+XHJcbiAgICAgPC9kaXY+XHJcbiAgICAgPGNvbW1vbUhvdmVyTW9kYWwgcmVmPVwiY29tbW9tSG92ZXJNb2RhbFwiID48L2NvbW1vbUhvdmVyTW9kYWw+XHJcblxyXG4gPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcclxuaW1wb3J0IGNvbW1vbUhvdmVyTW9kYWwgZnJvbSAnLi4vLi4vY29tbW9uL2NvbW1vbUhvdmVyTW9kYWwnXHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBleHRlbmQ6e1xyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6XCJcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBwcm9wZXJ0eTp7XHJcbiAgICAgICAgICAgICAgICBsYWJlbCA6ICfml6XmnJ/ljLrpl7QnLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0ZXh0OiAnaW5wdXQnLFxyXG4gICAgICAgICAgICBzdHlsZXM6IHt9LFxyXG4gICAgICAgICAgICB0eXBlOiAnZGF0ZS1waWNrZXItZGF0ZXJhbmdlJyxcclxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxyXG4gICAgICAgIH07XHJcbiAgICB9LFxyXG4gICAgY29tcG9uZW50czp7XHJcbiAgICAgICAgY29tbW9tSG92ZXJNb2RhbFxyXG4gICAgfSxcclxuICAgIG1ldGhvZHM6e1xyXG4gICAgICAgIHNob3coKXtcclxuICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlRW50ZXIoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGhpZGUoKXtcclxuICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlTGVhdmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgZWRpdFNldHRpbmcsXHJcbiAgICBuYW1lOiBlZGl0U2V0dGluZy5rZXksXHJcbiAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWxcclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcbiAgLmZvcm1EaXZ7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgfVxyXG4gIC5mb3JtRGl2LWxlZnQge1xyXG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgd2lkdGg6IDM1JTtcclxuICAgICAgdGV4dC1hbGlnbjpyaWdodDtcclxuICAgICAgZm9udC1zaXplOjE1cHg7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICBtYXJnaW46IDAgMTBweDtcclxuICB9XHJcbiAgLmZvcm1EaXYtcmlnaHQge1xyXG4gICAgICB3aWR0aDogNjAlO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgfVxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9kYXRlcGlja2VyUmFuZ2UvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///171\n");
1212
1213/***/ }),
1214/* 172 */
1215/***/ (function(module, exports, __webpack_require__) {
1216
1217"use strict";
1218eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(645);\n\nexports.default = {\n data: function data() {\n return {\n property: {\n label: '标签'\n },\n text: 'label',\n styles: {\n display: 'inline-block',\n width: '40%',\n height: '60px',\n lineHeight: '60px',\n textAlign: 'right',\n fontSize: '15px'\n },\n type: 'label',\n level: _property.editSetting.level\n };\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9lbmREYXRlQ2hvb3NlL2luZGV4LnZ1ZT9iN2JjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O2tCQW1CQTtBQVNBLFFBVEEsa0JBU0E7QUFDQTtBQUNBO0FBQ0E7QUFEQSxhQURBO0FBSUEseUJBSkE7QUFLQTtBQUNBLHVDQURBO0FBRUEsNEJBRkE7QUFHQSw4QkFIQTtBQUlBLGtDQUpBO0FBS0Esa0NBTEE7QUFNQTtBQU5BLGFBTEE7QUFhQSx5QkFiQTtBQWNBO0FBZEE7QUFnQkEsS0ExQkE7O0FBMkJBLHNDQTNCQTtBQTRCQSxtQ0E1QkE7QUE2QkE7QUE3QkEsQyIsImZpbGUiOiIxNzIuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgPGRpdiBjbGFzcz1cImZvcm1EaXZcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtRGl2LWxlZnRcIj5cclxuICAgICAgPExhYmVsIDpzdHlsZT1cInttYXJnaW5MZWZ0Oic1cHgnfVwiPnt7cHJvcGVydHkubGFiZWx9fTwvTGFiZWw+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtRGl2LXJpZ2h0XCIgPlxyXG4gICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrO3RleHQtYWxpZ246IGxlZnQ7XCI+XHJcbiAgICAgICAgPERhdGVQaWNrZXIgdHlwZT1cImRhdGVcIiAgcGxhY2Vob2xkZXI9XCLor7fpgInmi6ks5pyJ5pWI5pyf5Li65LiA5bm0XCI+PC9EYXRlUGlja2VyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOjElO2Rpc3BsYXk6IGlubGluZS1ibG9jazt0ZXh0LWFsaWduOiBsZWZ0O1wiPi08L2Rpdj5cclxuICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOiAzOCU7ZGlzcGxheTogaW5saW5lLWJsb2NrO3RleHQtYWxpZ246IGxlZnQ7XCI+XHJcbiAgICAgICAgICA8SW5wdXQgIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogI2ZmZlwiIGRpc2FibGVkIGNsZWFyYWJsZS8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgLy8gcHJvcHM6IHtcclxuICAgIC8vICAgICB0ZXh0OiB7XHJcbiAgICAvLyAgICAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgIC8vICAgICAgICAgZGVmYXVsdDogJ0J1dHRvbiBUZXh0J1xyXG4gICAgLy8gICAgIH0sXHJcbiAgICAvLyAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgLy8gICAgIHN0eWxlczogT2JqZWN0XHJcbiAgICAvLyB9LFxyXG4gICAgZGF0YSAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgcHJvcGVydHk6e1xyXG4gICAgICAgICAgICAgICAgbGFiZWwgOiAn5qCH562+JyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdGV4dDogJ2xhYmVsJyxcclxuICAgICAgICAgICAgc3R5bGVzOiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OidpbmxpbmUtYmxvY2snLFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6JzQwJScsXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6JzYwcHgnLFxyXG4gICAgICAgICAgICAgICAgbGluZUhlaWdodDonNjBweCcsXHJcbiAgICAgICAgICAgICAgICB0ZXh0QWxpZ246J3JpZ2h0JyxcclxuICAgICAgICAgICAgICAgIGZvbnRTaXplOicxNXB4J1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0eXBlOiAnbGFiZWwnLFxyXG4gICAgICAgICAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXHJcbiAgICAgICAgfTtcclxuICAgIH0sXHJcbiAgICBlZGl0U2V0dGluZyxcclxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcclxuICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBzY29wZWQ+XHJcbiAgLmZvcm1EaXZ7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG4gIH1cclxuICAuZm9ybURpdi1sZWZ0IHtcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDM1JTtcclxuICAgIHRleHQtYWxpZ246cmlnaHQ7XHJcbiAgICBmb250LXNpemU6MTVweDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgfVxyXG4gIC5mb3JtRGl2LXJpZ2h0IHtcclxuICAgIHdpZHRoOiA2MCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgIGZsb2F0OiByaWdodDtcclxuICB9XHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2VuZERhdGVDaG9vc2UvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///172\n");
1219
1220/***/ }),
1221/* 173 */
1222/***/ (function(module, exports, __webpack_require__) {
1223
1224"use strict";
1225eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(650);\n\nexports.default = {\n data: function data() {\n return {\n property: {\n title: '按钮名称'\n },\n text: 'label',\n styles: {\n fontSize: '25px',\n margin: '10px'\n },\n type: 'default',\n level: _property.editSetting.level\n };\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9pY29uQnV0dG9uL2luZGV4LnZ1ZT85OTgxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O2tCQVNBO0FBU0EsUUFUQSxrQkFTQTtBQUNBO0FBQ0E7QUFDQTtBQURBLGFBREE7QUFJQSx5QkFKQTtBQUtBO0FBQ0EsZ0NBREE7QUFFQTtBQUZBLGFBTEE7QUFTQSwyQkFUQTtBQVVBO0FBVkE7QUFZQSxLQXRCQTs7QUF1QkEsc0NBdkJBO0FBd0JBLG1DQXhCQTtBQXlCQTtBQXpCQSxDIiwiZmlsZSI6IjE3My5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICA8ZGl2IGNsYXNzPVwiZm9ybURpdlwiPlxyXG4gICAgICA8c3Bhbj48SWNvbiB0eXBlPVwiaW9zLXRyYXNoLW91dGxpbmVcIiA6c3R5bGU9XCJzdHlsZXNcIi8+e3twcm9wZXJ0eS50aXRsZX19PC9zcGFuPlxyXG4gICAgICAgIDwhLS08aSBjbGFzcz1cIml2dS1pY29uIGl2dS1pY29uLWlvcy1jaGVja21hcmsgXCIgOnN0eWxlPVwic3R5bGVzXCI+e3twcm9wZXJ0eS50aXRsZX19PC9pPi0tPlxyXG4gIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICAgIC8vIHByb3BzOiB7XHJcbiAgICAvLyAgICAgdGV4dDoge1xyXG4gICAgLy8gICAgICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAvLyAgICAgICAgIGRlZmF1bHQ6ICdCdXR0b24gVGV4dCdcclxuICAgIC8vICAgICB9LFxyXG4gICAgLy8gICAgIHR5cGU6IFN0cmluZyxcclxuICAgIC8vICAgICBzdHlsZXM6IE9iamVjdFxyXG4gICAgLy8gfSxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHByb3BlcnR5OntcclxuICAgICAgICAgICAgICAgIHRpdGxlIDogJ+aMiemSruWQjeensCcsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHRleHQ6ICdsYWJlbCcsXHJcbiAgICAgICAgICAgIHN0eWxlczoge1xyXG4gICAgICAgICAgICAgICAgZm9udFNpemU6JzI1cHgnLFxyXG4gICAgICAgICAgICAgICAgbWFyZ2luOicxMHB4J1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0eXBlOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIGVkaXRTZXR0aW5nLFxyXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxyXG4gICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvaWNvbkJ1dHRvbi9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///173\n");
1226
1227/***/ }),
1228/* 174 */
1229/***/ (function(module, exports, __webpack_require__) {
1230
1231"use strict";
1232eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(655);\n\nvar _commomHoverModal = __webpack_require__(13);\n\nvar _commomHoverModal2 = _interopRequireDefault(_commomHoverModal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: {\n commomHoverModal: _commomHoverModal2.default\n },\n data: function data() {\n return {\n isValidate: false,\n property: {\n label: '单行输入框'\n },\n extend: {\n placeholder: \"\"\n },\n text: 'input',\n type: 'input',\n level: _property.editSetting.level\n };\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level,\n methods: {\n show: function show() {\n this.$refs.commomHoverModal.handleMouseEnter();\n },\n hide: function hide() {\n this.$refs.commomHoverModal.handleMouseLeave();\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n debugger;\n this.$nextTick(function () {\n var currentInstance = _this.$store.state.viewport.instances.get(_this.$store.state.viewport.currentEditInstanceKey);\n if (currentInstance.data.property.validate) {\n _this.isValidate = true;\n }\n });\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9pbnB1dC9pbmRleC52dWU/MDJjYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQW9CQTs7Ozs7O2tCQUVBO0FBU0E7QUFDQTtBQURBLEtBVEE7QUFZQSxRQVpBLGtCQVlBO0FBQ0E7QUFDQSw2QkFEQTtBQUVBO0FBQ0E7QUFEQSxhQUZBO0FBS0E7QUFDQTtBQURBLGFBTEE7QUFRQSx5QkFSQTtBQVNBLHlCQVRBO0FBVUE7QUFWQTtBQVlBLEtBekJBOztBQTBCQSxzQ0ExQkE7QUEyQkEsbUNBM0JBO0FBNEJBLHNDQTVCQTtBQTZCQTtBQUNBLFlBREEsa0JBQ0E7QUFDQTtBQUNBLFNBSEE7QUFJQSxZQUpBLGtCQUlBO0FBQ0E7QUFDQTtBQU5BLEtBN0JBO0FBcUNBLFdBckNBLHFCQXFDQTtBQUFBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBLFNBTkE7QUFRQTtBQS9DQSxDIiwiZmlsZSI6IjE3NC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICA8ZGl2IGNsYXNzPVwiZm9ybURpdlwiICAgQG1vdXNlZW50ZXI9XCJzaG93XCIgQG1vdXNlbGVhdmU9XCJoaWRlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybURpdi1sZWZ0XCI+XHJcbiAgICAgIDxzcGFuIHYtaWY9XCJpc1ZhbGlkYXRlXCIgc3R5bGU9XCJjb2xvcjogcmVkO1wiPio8L3NwYW4+IDxMYWJlbCA+IHt7cHJvcGVydHkubGFiZWx9fTwvTGFiZWw+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtRGl2LXJpZ2h0XCIgPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaXZ1LWNvbCBpdnUtY29sLXNwYW4tMjBcIj5cclxuICAgICAgICA8SW5wdXQgY2xhc3M9XCJpbnB1dFN0eWxlXCIgY2xlYXJhYmxlIDpwbGFjZWhvbGRlcj1leHRlbmQucGxhY2Vob2xkZXIgLz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjLXBvc2l0aW9uIGl2dS1jb2wgaXZ1LWNvbC1zcGFuLTRcIj5cclxuICAgICAgICA8c3BhbiA+MC97e2V4dGVuZC5tYXhMZW5ndGh9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxjb21tb21Ib3Zlck1vZGFsIHJlZj1cImNvbW1vbUhvdmVyTW9kYWxcIiA+PC9jb21tb21Ib3Zlck1vZGFsPlxyXG5cclxuICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCB7ZWRpdFNldHRpbmd9IGZyb20gJy4vcHJvcGVydHknO1xyXG5pbXBvcnQgY29tbW9tSG92ZXJNb2RhbCBmcm9tICcuLi8uLi9jb21tb24vY29tbW9tSG92ZXJNb2RhbCdcclxuXHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICAgIC8vIHByb3BzOiB7XHJcbiAgICAvLyAgICAgdGV4dDoge1xyXG4gICAgLy8gICAgICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAvLyAgICAgICAgIGRlZmF1bHQ6ICdCdXR0b24gVGV4dCdcclxuICAgIC8vICAgICB9LFxyXG4gICAgLy8gICAgIHR5cGU6IFN0cmluZyxcclxuICAgIC8vICAgICBzdHlsZXM6IE9iamVjdFxyXG4gICAgLy8gfSxcclxuICAgIGNvbXBvbmVudHM6e1xyXG4gICAgICAgIGNvbW1vbUhvdmVyTW9kYWxcclxuICAgIH0sXHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpc1ZhbGlkYXRlOmZhbHNlLFxyXG4gICAgICAgICAgICBwcm9wZXJ0eTp7XHJcbiAgICAgICAgICAgICAgICBsYWJlbCA6ICfljZXooYzovpPlhaXmoYYnXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGV4dGVuZDp7XHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjpcIlwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHRleHQ6ICdpbnB1dCcsXHJcbiAgICAgICAgICAgIHR5cGU6ICdpbnB1dCcsXHJcbiAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxyXG4gICAgICAgIH07XHJcbiAgICB9LFxyXG4gICAgZWRpdFNldHRpbmcsXHJcbiAgICBuYW1lOiBlZGl0U2V0dGluZy5rZXksXHJcbiAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXHJcbiAgICBtZXRob2RzOntcclxuICAgICAgICBzaG93KCl7XHJcbiAgICAgICAgICAgIHRoaXMuJHJlZnMuY29tbW9tSG92ZXJNb2RhbC5oYW5kbGVNb3VzZUVudGVyKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBoaWRlKCl7XHJcbiAgICAgICAgICAgIHRoaXMuJHJlZnMuY29tbW9tSG92ZXJNb2RhbC5oYW5kbGVNb3VzZUxlYXZlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIG1vdW50ZWQoKXtcclxuICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICB0aGlzLiRuZXh0VGljaygoKT0+e1xyXG4gICAgICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlID0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzLmdldCh0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgaWYoY3VycmVudEluc3RhbmNlLmRhdGEucHJvcGVydHkudmFsaWRhdGUpe1xyXG4gICAgICAgICAgICAgICAgLy9ub3RlIOWmguaenOagoemqjOS4uuecn1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc1ZhbGlkYXRlPXRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG5cclxuICAgIH1cclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgbGFuZz1cImxlc3NcIiBzY29wZWQ+XHJcbiAgLmZvcm1EaXZ7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIC5pbnB1dFN0eWxle1xyXG4gICAgICAvKndpZHRoOjUwJTsqL1xyXG4gICAgfVxyXG4gICAgLmZvcm1EaXYtbGVmdCB7XHJcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICB3aWR0aDogMzUlO1xyXG4gICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xyXG4gICAgICBmb250LXNpemU6MTVweDtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmZvcm1EaXYtcmlnaHQge1xyXG4gICAgICB3aWR0aDogNjAlO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgIC5jLXBvc2l0aW9uIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAxMnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xyXG4gICAgICB9XHJcbiAgICAgIC5pdnUtY29sLXNwYW4tMjAge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgIH1cclxuICAgICAgLml2dS1jb2wtc3Bhbi00IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0L2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///174\n");
1233
1234/***/ }),
1235/* 175 */
1236/***/ (function(module, exports, __webpack_require__) {
1237
1238"use strict";
1239eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(660);\n\nexports.default = {\n computed: {\n getLabel: function getLabel() {\n return this.property.label;\n }\n },\n data: function data() {\n return {\n property: {\n label: '标签'\n },\n text: 'input',\n type: 'input',\n level: _property.editSetting.level\n };\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9pbnB1dElEQ2FyZC9pbmRleC52dWU/ZjU4MiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztrQkFhQTtBQVNBO0FBQ0EsZ0JBREEsc0JBQ0E7QUFDQTtBQUNBO0FBSEEsS0FUQTtBQWNBLFFBZEEsa0JBY0E7QUFDQTtBQUNBO0FBQ0E7QUFEQSxhQURBO0FBSUEseUJBSkE7QUFLQSx5QkFMQTtBQU1BO0FBTkE7QUFRQSxLQXZCQTs7QUF3QkEsc0NBeEJBO0FBeUJBLG1DQXpCQTtBQTBCQTtBQTFCQSxDIiwiZmlsZSI6IjE3NS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICA8ZGl2IGNsYXNzPVwiZm9ybURpdlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm1EaXYtbGVmdFwiPlxyXG4gICAgICA8TGFiZWwgOnN0eWxlPVwie21hcmdpbkxlZnQ6JzVweCd9XCI+e3tnZXRMYWJlbH19PC9MYWJlbD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm1EaXYtcmlnaHRcIj5cclxuICAgICAgPElucHV0ICBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpei6q+S7veivgeWPt+eggVwiIGNsZWFyYWJsZSBjbGFzcz1cImlucHV0U3R5bGVcIiAvPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgLy8gcHJvcHM6IHtcclxuICAgIC8vICAgICB0ZXh0OiB7XHJcbiAgICAvLyAgICAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgIC8vICAgICAgICAgZGVmYXVsdDogJ0J1dHRvbiBUZXh0J1xyXG4gICAgLy8gICAgIH0sXHJcbiAgICAvLyAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgLy8gICAgIHN0eWxlczogT2JqZWN0XHJcbiAgICAvLyB9LFxyXG4gICAgY29tcHV0ZWQ6e1xyXG4gICAgICAgZ2V0TGFiZWwoKXtcclxuICAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydHkubGFiZWw7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHByb3BlcnR5OntcclxuICAgICAgICAgICAgICAgIGxhYmVsIDogJ+agh+etvicsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHRleHQ6ICdpbnB1dCcsXHJcbiAgICAgICAgICAgIHR5cGU6ICdpbnB1dCcsXHJcbiAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxyXG4gICAgICAgIH07XHJcbiAgICB9LFxyXG4gICAgZWRpdFNldHRpbmcsXHJcbiAgICBuYW1lOiBlZGl0U2V0dGluZy5rZXksXHJcbiAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWxcclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgc2NvcGVkPlxyXG4gIC5mb3JtRGl2e1xyXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICBsaW5lLWhlaWdodDogNjBweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgfVxyXG4gIC5pbnB1dFN0eWxle1xyXG4gICAgICB3aWR0aDo1MCU7XHJcbiAgfVxyXG4gIC5mb3JtRGl2LWxlZnQge1xyXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogMzUlO1xyXG4gICAgaGVpZ2h0OjQwcHg7XHJcbiAgICB0ZXh0LWFsaWduOnJpZ2h0O1xyXG4gICAgZm9udC1zaXplOjE1cHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gIH1cclxuICAuZm9ybURpdi1yaWdodCB7XHJcbiAgICB3aWR0aDogNjAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgfVxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9pbnB1dElEQ2FyZC9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///175\n");
1240
1241/***/ }),
1242/* 176 */
1243/***/ (function(module, exports, __webpack_require__) {
1244
1245"use strict";
1246eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(665);\n\nexports.default = {\n data: function data() {\n return {\n property: {\n label: '数字输入框'\n },\n extend: {\n placeholder: \"\"\n },\n text: 'input',\n styles: { minWidth: '100px', height: '40px', width: '100px', margin: '10px' },\n type: 'input',\n level: _property.editSetting.level\n };\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9pbnB1dE51bWJlci9pbmRleC52dWU/ZTA3NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztrQkFhQTtBQVNBLFFBVEEsa0JBU0E7QUFDQTtBQUNBO0FBQ0E7QUFEQSxhQURBO0FBSUE7QUFDQTtBQURBLGFBSkE7QUFPQSx5QkFQQTtBQVFBLHlGQVJBO0FBU0EseUJBVEE7QUFVQTtBQVZBO0FBWUEsS0F0QkE7O0FBdUJBLHNDQXZCQTtBQXdCQSxtQ0F4QkE7QUF5QkE7QUF6QkEsQyIsImZpbGUiOiIxNzYuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgPGRpdiBjbGFzcz1cImZvcm1EaXZcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtRGl2LWxlZnRcIj5cclxuICAgICAgPExhYmVsIDpzdHlsZT1cInttYXJnaW5MZWZ0Oic1cHgnfVwiPnt7cHJvcGVydHkubGFiZWx9fTwvTGFiZWw+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtRGl2LXJpZ2h0XCIgPlxyXG4gICAgICA8SW5wdXROdW1iZXIgY2xhc3M9XCJpbnB1dFN0eWxlXCIgIDpwbGFjZWhvbGRlcj1leHRlbmQucGxhY2Vob2xkZXIgPjwvSW5wdXROdW1iZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCB7ZWRpdFNldHRpbmd9IGZyb20gJy4vcHJvcGVydHknO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICAvLyBwcm9wczoge1xyXG4gICAgLy8gICAgIHRleHQ6IHtcclxuICAgIC8vICAgICAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgLy8gICAgICAgICBkZWZhdWx0OiAnQnV0dG9uIFRleHQnXHJcbiAgICAvLyAgICAgfSxcclxuICAgIC8vICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAvLyAgICAgc3R5bGVzOiBPYmplY3RcclxuICAgIC8vIH0sXHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBwcm9wZXJ0eTp7XHJcbiAgICAgICAgICAgICAgICBsYWJlbCA6ICfmlbDlrZfovpPlhaXmoYYnLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBleHRlbmQ6e1xyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6XCJcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0ZXh0OiAnaW5wdXQnLFxyXG4gICAgICAgICAgICBzdHlsZXM6IHttaW5XaWR0aDogJzEwMHB4JyxoZWlnaHQ6JzQwcHgnLHdpZHRoOicxMDBweCcsbWFyZ2luOicxMHB4J30sXHJcbiAgICAgICAgICAgIHR5cGU6ICdpbnB1dCcsXHJcbiAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIGVkaXRTZXR0aW5nLFxyXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxyXG4gICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIHNjb3BlZD5cclxuICAuZm9ybURpdntcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIH1cclxuICAuaW5wdXRTdHlsZXtcclxuICAgIHdpZHRoOjUwJTtcclxuICB9XHJcbiAgLmZvcm1EaXYtbGVmdCB7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAzNSU7XHJcbiAgICB0ZXh0LWFsaWduOnJpZ2h0O1xyXG4gICAgZm9udC1zaXplOjE1cHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gIH1cclxuICAuZm9ybURpdi1yaWdodCB7XHJcbiAgICB3aWR0aDogNjAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgfVxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9pbnB1dE51bWJlci9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///176\n");
1247
1248/***/ }),
1249/* 177 */
1250/***/ (function(module, exports, __webpack_require__) {
1251
1252"use strict";
1253eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(670);\n\nvar _commomHoverModal = __webpack_require__(13);\n\nvar _commomHoverModal2 = _interopRequireDefault(_commomHoverModal);\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: {\n commomHoverModal: _commomHoverModal2.default\n },\n data: function data() {\n return {\n property: {\n label: '标签'\n },\n text: 'label',\n styles: {\n display: 'inline-block',\n width: '40%',\n height: '60px',\n lineHeight: '60px',\n textAlign: 'right',\n fontSize: '15px'\n },\n type: 'label',\n level: _property.editSetting.level\n };\n },\n\n editSetting: _property.editSetting,\n methods: {\n show: function show() {\n this.$refs.commomHoverModal.handleMouseEnter();\n },\n hide: function hide() {\n this.$refs.commomHoverModal.handleMouseLeave();\n }\n },\n mounted: function mounted() {},\n\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9sYWJlbC9pbmRleC52dWU/N2IwMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQWdCQTs7OztBQUNBOzs7Ozs7a0JBQ0E7QUFTQTtBQUNBO0FBREEsS0FUQTtBQVlBLFFBWkEsa0JBWUE7QUFDQTtBQUNBO0FBQ0E7QUFEQSxhQURBO0FBSUEseUJBSkE7QUFLQTtBQUNBLHVDQURBO0FBRUEsNEJBRkE7QUFHQSw4QkFIQTtBQUlBLGtDQUpBO0FBS0Esa0NBTEE7QUFNQTtBQU5BLGFBTEE7QUFhQSx5QkFiQTtBQWNBO0FBZEE7QUFnQkEsS0E3QkE7O0FBOEJBLHNDQTlCQTtBQStCQTtBQUNBLFlBREEsa0JBQ0E7QUFDQTtBQUNBLFNBSEE7QUFJQSxZQUpBLGtCQUlBO0FBQ0E7QUFDQTtBQU5BLEtBL0JBO0FBdUNBLFdBdkNBLHFCQXVDQSxDQVFBLENBL0NBOztBQWdEQSxtQ0FoREE7QUFpREE7QUFqREEsQyIsImZpbGUiOiIxNzcuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybURpdlwiICAgQG1vdXNlZW50ZXI9XCJzaG93XCIgQG1vdXNlbGVhdmU9XCJoaWRlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm1EaXYtbGVmdFwiPlxyXG4gICAgICAgICAgICA8TGFiZWwgdi1pZj1cInR5cGU9PT0nbGFiZWwnXCI+XHJcbiAgICAgICAgICAgICAgICB7e3Byb3BlcnR5LmxhYmVsfX1cclxuICAgICAgICAgICAgPC9MYWJlbD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybURpdi1yaWdodFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsU3R5bGVcIj7ns7vnu5/oh6rliqjluKblh7rvvIzkuI3pnIDopoHmiYvliqjloavlhpk8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgIDxjb21tb21Ib3Zlck1vZGFsIHJlZj1cImNvbW1vbUhvdmVyTW9kYWxcIiA+PC9jb21tb21Ib3Zlck1vZGFsPlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG4gICAgaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XHJcbiAgICBpbXBvcnQgY29tbW9tSG92ZXJNb2RhbCBmcm9tICcuLi8uLi9jb21tb24vY29tbW9tSG92ZXJNb2RhbCdcclxuICAgIGltcG9ydCBldmVudGJ1cyBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2V2ZW50YnVzJztcclxuICAgIGV4cG9ydCBkZWZhdWx0IHtcclxuICAgICAgICAvLyBwcm9wczoge1xyXG4gICAgICAgIC8vICAgICB0ZXh0OiB7XHJcbiAgICAgICAgLy8gICAgICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAgICAgLy8gICAgICAgICBkZWZhdWx0OiAnQnV0dG9uIFRleHQnXHJcbiAgICAgICAgLy8gICAgIH0sXHJcbiAgICAgICAgLy8gICAgIHR5cGU6IFN0cmluZyxcclxuICAgICAgICAvLyAgICAgc3R5bGVzOiBPYmplY3RcclxuICAgICAgICAvLyB9LFxyXG4gICAgICAgIGNvbXBvbmVudHM6e1xyXG4gICAgICAgICAgICAgICBjb21tb21Ib3Zlck1vZGFsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBkYXRhICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHByb3BlcnR5OntcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbCA6ICfmoIfnrb4nLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHRleHQ6ICdsYWJlbCcsXHJcbiAgICAgICAgICAgICAgICBzdHlsZXM6IHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OidpbmxpbmUtYmxvY2snLFxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOic0MCUnLFxyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDonNjBweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDonNjBweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOidyaWdodCcsXHJcbiAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6JzE1cHgnXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgdHlwZTogJ2xhYmVsJyxcclxuICAgICAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVkaXRTZXR0aW5nLFxyXG4gICAgICAgIG1ldGhvZHM6e1xyXG4gICAgICAgICAgICBzaG93KCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmNvbW1vbUhvdmVyTW9kYWwuaGFuZGxlTW91c2VFbnRlcigpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBoaWRlKCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmNvbW1vbUhvdmVyTW9kYWwuaGFuZGxlTW91c2VMZWF2ZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtb3VudGVkKCl7XHJcbiAgICAgICAgICAvKiAgZXZlbnRidXMuJG9uKHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lm1vdXNlTGVhdmVDb21wb25lbnQsICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMuY29tbW9tSG92ZXJNb2RhbC5oYW5kbGVNb3VzZUxlYXZlKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBldmVudGJ1cy4kb24odGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQubW91c2VIb3ZlcmluZ0NvbXBvbmVudCwgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmNvbW1vbUhvdmVyTW9kYWwuaGFuZGxlTW91c2VFbnRlcigpO1xyXG4gICAgICAgICAgICB9KTsqL1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxyXG4gICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxyXG4gICAgfTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgc2NvcGVkPlxyXG5cclxuXHJcbiAgICAuZm9ybURpdntcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuICAgIC5mb3JtRGl2LWxlZnQge1xyXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAzNSU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjpyaWdodDtcclxuICAgICAgICBmb250LXNpemU6MTVweDtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgIH1cclxuICAgIC5mb3JtRGl2LXJpZ2h0IHtcclxuICAgICAgICB3aWR0aDogNjAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB9XHJcbiAgICAubGFiZWxTdHlsZSB7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoMjUsIDMxLCAzNywgMC40KTtcclxuICAgIH1cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvbGFiZWwvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///177\n");
1254
1255/***/ }),
1256/* 178 */
1257/***/ (function(module, exports, __webpack_require__) {
1258
1259"use strict";
1260eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(675);\n\nexports.default = {\n computed: {\n getLabel: function getLabel() {\n return this.property.label;\n }\n },\n\n data: function data() {\n return {\n property: {\n label: '标签'\n },\n text: 'input',\n type: 'input',\n level: _property.editSetting.level\n };\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9wbGFudC1pbnB1dC9pbmRleC52dWU/MjZiMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztrQkFhQTtBQVNBO0FBQ0EsZ0JBREEsc0JBQ0E7QUFDQTtBQUNBO0FBSEEsS0FUQTs7QUFlQSxRQWZBLGtCQWVBO0FBQ0E7QUFDQTtBQUNBO0FBREEsYUFEQTtBQUlBLHlCQUpBO0FBS0EseUJBTEE7QUFNQTtBQU5BO0FBUUEsS0F4QkE7O0FBeUJBLHNDQXpCQTtBQTBCQSxtQ0ExQkE7QUEyQkE7QUEzQkEsQyIsImZpbGUiOiIxNzguanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgPGRpdiBjbGFzcz1cImZvcm1EaXZcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtRGl2LWxlZnRcIj5cclxuICAgICAgPExhYmVsIDpzdHlsZT1cInttYXJnaW5MZWZ0Oic1cHgnfVwiPnt7Z2V0TGFiZWx9fTwvTGFiZWw+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtRGl2LXJpZ2h0XCI+XHJcbiAgICAgIDxJbnB1dCBjbGFzcz1cImlucHV0U3R5bGVcIiBjbGVhcmFibGUgLz5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICAgIC8vIHByb3BzOiB7XHJcbiAgICAvLyAgICAgdGV4dDoge1xyXG4gICAgLy8gICAgICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAvLyAgICAgICAgIGRlZmF1bHQ6ICdCdXR0b24gVGV4dCdcclxuICAgIC8vICAgICB9LFxyXG4gICAgLy8gICAgIHR5cGU6IFN0cmluZyxcclxuICAgIC8vICAgICBzdHlsZXM6IE9iamVjdFxyXG4gICAgLy8gfSxcclxuICAgIGNvbXB1dGVkOntcclxuICAgICAgIGdldExhYmVsKCl7XHJcbiAgICAgICAgIHJldHVybiB0aGlzLnByb3BlcnR5LmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgZGF0YSAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgcHJvcGVydHk6e1xyXG4gICAgICAgICAgICAgICAgbGFiZWwgOiAn5qCH562+JyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdGV4dDogJ2lucHV0JyxcclxuICAgICAgICAgICAgdHlwZTogJ2lucHV0JyxcclxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXHJcbiAgICAgICAgfTtcclxuICAgIH0sXHJcbiAgICBlZGl0U2V0dGluZyxcclxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcclxuICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBzY29wZWQ+XHJcbiAgLmZvcm1EaXZ7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG4gIH1cclxuICAuaW5wdXRTdHlsZXtcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgfVxyXG4gIC5mb3JtRGl2LWxlZnQge1xyXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogMzUlO1xyXG4gICAgdGV4dC1hbGlnbjpyaWdodDtcclxuICAgIGZvbnQtc2l6ZToxNXB4O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtYXJnaW46IDAgMTBweDtcclxuICB9XHJcbiAgLmZvcm1EaXYtcmlnaHQge1xyXG4gICAgd2lkdGg6IDYwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gIH1cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvcGxhbnQtaW5wdXQvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///178\n");
1261
1262/***/ }),
1263/* 179 */
1264/***/ (function(module, exports, __webpack_require__) {
1265
1266"use strict";
1267eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(680);\n\nvar _commomHoverModal = __webpack_require__(13);\n\nvar _commomHoverModal2 = _interopRequireDefault(_commomHoverModal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: {\n commomHoverModal: _commomHoverModal2.default\n },\n data: function data() {\n return {\n property: {\n label: '单选框'\n },\n text: 'input',\n styles: { height: '40px', width: '70px', margin: '10px' },\n type: 'input',\n single: true,\n level: _property.editSetting.level,\n radioArr: []\n };\n },\n\n computed: {\n getLabel: function getLabel() {\n return this.property.label;\n }\n },\n\n methods: {\n show: function show() {\n this.$refs.commomHoverModal.handleMouseEnter();\n },\n hide: function hide() {\n this.$refs.commomHoverModal.handleMouseLeave();\n },\n initTableArr: function initTableArr() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n this.radioArr = currentInstance.data.radioArr;\n }\n },\n mounted: function mounted() {\n this.initTableArr();\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9yYWRpby9pbmRleC52dWU/MjYzNiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQW9CQTs7Ozs7O2tCQUVBO0FBU0E7QUFDQTtBQURBLEtBVEE7QUFZQSxRQVpBLGtCQVlBO0FBQ0E7QUFDQTtBQUNBO0FBREEsYUFEQTtBQUlBLHlCQUpBO0FBS0EscUVBTEE7QUFNQSx5QkFOQTtBQU9BLHdCQVBBO0FBUUEsOENBUkE7QUFTQTtBQVRBO0FBV0EsS0F4QkE7O0FBeUJBO0FBQ0EsZ0JBREEsc0JBQ0E7QUFDQTtBQUNBO0FBSEEsS0F6QkE7O0FBK0JBO0FBQ0EsWUFEQSxrQkFDQTtBQUNBO0FBQ0EsU0FIQTtBQUlBLFlBSkEsa0JBSUE7QUFDQTtBQUNBLFNBTkE7QUFPQSxvQkFQQSwwQkFPQTtBQUNBO0FBQ0E7QUFDQTtBQVZBLEtBL0JBO0FBMkNBLFdBM0NBLHFCQTJDQTtBQUNBO0FBQ0EsS0E3Q0E7O0FBOENBLHNDQTlDQTtBQStDQSxtQ0EvQ0E7QUFnREE7QUFoREEsQyIsImZpbGUiOiIxNzkuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgPGRpdiBjbGFzcz1cImZvcm1EaXZcIiAgQG1vdXNlZW50ZXI9XCJzaG93XCIgQG1vdXNlbGVhdmU9XCJoaWRlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtRGl2LWxlZnRcIj5cclxuICAgICAgICAgIDxMYWJlbCA6c3R5bGU9XCJ7bWFyZ2luTGVmdDonNXB4J31cIiBjbGFzcz1cInNob3dMYWVsXCI+e3twcm9wZXJ0eS5sYWJlbH19PC9MYWJlbD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtRGl2LXJpZ2h0IHJhZGlvQ2hlY2tib3hTdHlsZVwiPlxyXG4gICAgICAgICAgPFJhZGlvIHYtZm9yPVwiaXRlbSxrZXkgaW4gcmFkaW9BcnJcIlxyXG4gICAgICAgICAgICAgICAgIDprZXk9XCJrZXlcIlxyXG4gICAgICAgICAgICAgICAgIDpsYWJlbD1cIml0ZW0udmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgIHYtYmluZD1cIml0ZW0uZXh0ZW5kfHx7fVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2hvd0xhYmVsXCI+e3tpdGVtLmxhYmVsfX08L3NwYW4+XHJcbiAgICAgICAgICA8L1JhZGlvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGNvbW1vbUhvdmVyTW9kYWwgcmVmPVwiY29tbW9tSG92ZXJNb2RhbFwiID48L2NvbW1vbUhvdmVyTW9kYWw+XHJcblxyXG4gIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XHJcbmltcG9ydCBjb21tb21Ib3Zlck1vZGFsIGZyb20gJy4uLy4uL2NvbW1vbi9jb21tb21Ib3Zlck1vZGFsJ1xyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgLy8gcHJvcHM6IHtcclxuICAgIC8vICAgICB0ZXh0OiB7XHJcbiAgICAvLyAgICAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgIC8vICAgICAgICAgZGVmYXVsdDogJ0J1dHRvbiBUZXh0J1xyXG4gICAgLy8gICAgIH0sXHJcbiAgICAvLyAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgLy8gICAgIHN0eWxlczogT2JqZWN0XHJcbiAgICAvLyB9LFxyXG4gICAgY29tcG9uZW50czp7XHJcbiAgICAgICAgY29tbW9tSG92ZXJNb2RhbFxyXG4gICAgfSxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHByb3BlcnR5OntcclxuICAgICAgICAgICAgICAgIGxhYmVsIDogJ+WNlemAieahhicsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHRleHQ6ICdpbnB1dCcsXHJcbiAgICAgICAgICAgIHN0eWxlczoge2hlaWdodDonNDBweCcsd2lkdGg6JzcwcHgnLG1hcmdpbjonMTBweCd9LFxyXG4gICAgICAgICAgICB0eXBlOiAnaW5wdXQnLFxyXG4gICAgICAgICAgICBzaW5nbGU6IHRydWUsXHJcbiAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcclxuICAgICAgICAgICAgcmFkaW9BcnI6W11cclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIGNvbXB1dGVkOntcclxuICAgICAgICBnZXRMYWJlbCgpe1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0eS5sYWJlbDtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIG1ldGhvZHM6e1xyXG4gICAgICAgIHNob3coKXtcclxuICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlRW50ZXIoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGhpZGUoKXtcclxuICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlTGVhdmUoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGluaXRUYWJsZUFycigpe1xyXG4gICAgICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICB0aGlzLnJhZGlvQXJyPWN1cnJlbnRJbnN0YW5jZS5kYXRhLnJhZGlvQXJyO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtb3VudGVkKCl7XHJcbiAgICAgICAgdGhpcy5pbml0VGFibGVBcnIoKTtcclxuICAgIH0sXHJcbiAgICBlZGl0U2V0dGluZyxcclxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcclxuICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBzY29wZWQ+XHJcbi5zaG93TGFiZWx7XHJcbiAgICB3aGl0ZS1zcGFjZTpub3JtYWw7XHJcbiAgICB3b3JkLWJyZWFrOmJyZWFrLWFsbDtcclxuICAgIHdvcmQtd3JhcDpicmVhay13b3JkO1xyXG59XHJcbiAgICAuZm9ybURpdntcclxuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgLnJhZGlvQ2hlY2tib3hTdHlsZSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuICAgIC5mb3JtRGl2LWxlZnQge1xyXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAzNSU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjpyaWdodDtcclxuICAgICAgICBmb250LXNpemU6MTVweDtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgIH1cclxuICAgIC5mb3JtRGl2LXJpZ2h0IHtcclxuICAgICAgICB3aWR0aDogNjAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB9XHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3JhZGlvL2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///179\n");
1268
1269/***/ }),
1270/* 180 */
1271/***/ (function(module, exports, __webpack_require__) {
1272
1273"use strict";
1274eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(685);\n\nexports.default = {\n computed: {\n getLabel: function getLabel() {\n return this.property.label;\n }\n },\n\n data: function data() {\n return {\n selectData: [{\n value: '高新区',\n label: \"高新区\"\n }, {\n value: '碑林区',\n label: \"碑林区\"\n }, {\n value: '经开区',\n label: \"经开区\"\n }, {\n value: '莲湖区',\n label: \"莲湖区\"\n }, {\n value: '曲江新区',\n label: \"曲江新区\"\n }, {\n value: '雁塔区',\n label: \"雁塔区\"\n }, {\n value: '浐灞生态区',\n label: \"浐灞生态区\"\n }, {\n value: '灞桥区',\n label: \"灞桥区\"\n }, {\n value: '航空基地',\n label: \"航空基地\"\n }, {\n value: '未央区',\n label: \"未央区\"\n }, {\n value: '航天基地',\n label: \"航天基地\"\n }, {\n value: '阎良区',\n label: \"阎良区\"\n }, {\n value: '国际港务区',\n label: \"国际港务区\"\n }, {\n value: '临潼区',\n label: \"临潼区\"\n }, {\n value: '长安区',\n label: \"长安区\"\n }, {\n value: '高陵区',\n label: \"高陵区\"\n }, {\n value: '鄠邑区',\n label: \"鄠邑区\"\n }, {\n value: '蓝田县',\n label: \"蓝田县\"\n }, {\n value: '周至县',\n label: \"周至县\"\n }, {\n value: '西安市本级',\n label: \"西安市本级\"\n }],\n property: {\n label: '标签'\n },\n text: 'input',\n type: 'input',\n level: _property.editSetting.level\n };\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9zZWxlY3QtaW5wdXQvaW5kZXgudnVlPzFkNWIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7a0JBc0JBO0FBU0E7QUFDQSxnQkFEQSxzQkFDQTtBQUNBO0FBQ0E7QUFIQSxLQVRBOztBQWVBLFFBZkEsa0JBZUE7QUFDQTtBQUNBLHlCQUNBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLGFBREEsRUFLQTtBQUNBLDRCQURBO0FBRUE7QUFGQSxhQUxBLEVBU0E7QUFDQSw0QkFEQTtBQUVBO0FBRkEsYUFUQSxFQWFBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLGFBYkEsRUFpQkE7QUFDQSw2QkFEQTtBQUVBO0FBRkEsYUFqQkEsRUFxQkE7QUFDQSw0QkFEQTtBQUVBO0FBRkEsYUFyQkEsRUF5QkE7QUFDQSw4QkFEQTtBQUVBO0FBRkEsYUF6QkEsRUE2QkE7QUFDQSw0QkFEQTtBQUVBO0FBRkEsYUE3QkEsRUFpQ0E7QUFDQSw2QkFEQTtBQUVBO0FBRkEsYUFqQ0EsRUFxQ0E7QUFDQSw0QkFEQTtBQUVBO0FBRkEsYUFyQ0EsRUF5Q0E7QUFDQSw2QkFEQTtBQUVBO0FBRkEsYUF6Q0EsRUE2Q0E7QUFDQSw0QkFEQTtBQUVBO0FBRkEsYUE3Q0EsRUFpREE7QUFDQSw4QkFEQTtBQUVBO0FBRkEsYUFqREEsRUFxREE7QUFDQSw0QkFEQTtBQUVBO0FBRkEsYUFyREEsRUF5REE7QUFDQSw0QkFEQTtBQUVBO0FBRkEsYUF6REEsRUE2REE7QUFDQSw0QkFEQTtBQUVBO0FBRkEsYUE3REEsRUFpRUE7QUFDQSw0QkFEQTtBQUVBO0FBRkEsYUFqRUEsRUFxRUE7QUFDQSw0QkFEQTtBQUVBO0FBRkEsYUFyRUEsRUF5RUE7QUFDQSw0QkFEQTtBQUVBO0FBRkEsYUF6RUEsRUE2RUE7QUFDQSw4QkFEQTtBQUVBO0FBRkEsYUE3RUEsQ0FEQTtBQW1GQTtBQUNBO0FBREEsYUFuRkE7QUFzRkEseUJBdEZBO0FBdUZBLHlCQXZGQTtBQXdGQTtBQXhGQTtBQTBGQSxLQTFHQTs7QUEyR0Esc0NBM0dBO0FBNEdBLG1DQTVHQTtBQTZHQTtBQTdHQSxDIiwiZmlsZSI6IjE4MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICA8ZGl2IGNsYXNzPVwiZm9ybURpdlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm1EaXYtbGVmdFwiPlxyXG4gICAgICA8TGFiZWwgOnN0eWxlPVwie21hcmdpbkxlZnQ6JzVweCd9XCI+e3tnZXRMYWJlbH19PC9MYWJlbD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm1EaXYtcmlnaHRcIj5cclxuICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOjU4JTtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7dGV4dC1hbGlnbjogbGVmdDtcIj5cclxuICAgICAgICA8U2VsZWN0IGNsZWFyYWJsZT5cclxuICAgICAgICAgIDxPcHRpb24gdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gc2VsZWN0RGF0YVwiIDprZXk9XCJpbmRleFwiIDp2YWx1ZT1cIml0ZW0udmFsdWVcIj5cclxuICAgICAgICAgICAge3tpdGVtLmxhYmVsfX1cclxuICAgICAgICAgIDwvT3B0aW9uPlxyXG4gICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOiA0MCU7ZGlzcGxheTogaW5saW5lLWJsb2NrO3RleHQtYWxpZ246IGxlZnQ7XCI+XHJcbiAgICAgICAgPElucHV0IC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgLy8gcHJvcHM6IHtcclxuICAgIC8vICAgICB0ZXh0OiB7XHJcbiAgICAvLyAgICAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgIC8vICAgICAgICAgZGVmYXVsdDogJ0J1dHRvbiBUZXh0J1xyXG4gICAgLy8gICAgIH0sXHJcbiAgICAvLyAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgLy8gICAgIHN0eWxlczogT2JqZWN0XHJcbiAgICAvLyB9LFxyXG4gICAgY29tcHV0ZWQ6e1xyXG4gICAgICAgZ2V0TGFiZWwoKXtcclxuICAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydHkubGFiZWw7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBzZWxlY3REYXRhOiBbXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfpq5jmlrDljLonLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIumrmOaWsOWMulwiXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn56KR5p6X5Yy6JyxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCLnopHmnpfljLpcIlxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+e7j+W8gOWMuicsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwi57uP5byA5Yy6XCJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfojrLmuZbljLonLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIuiOsua5luWMulwiXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn5puy5rGf5paw5Yy6JyxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCLmm7LmsZ/mlrDljLpcIlxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+mbgeWhlOWMuicsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwi6ZuB5aGU5Yy6XCJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfmtZDngZ7nlJ/mgIHljLonLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIua1kOeBnueUn+aAgeWMulwiXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn54Ge5qGl5Yy6JyxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCLngZ7moaXljLpcIlxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+iIquepuuWfuuWcsCcsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwi6Iiq56m65Z+65ZywXCJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfmnKrlpK7ljLonLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIuacquWkruWMulwiXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn6Iiq5aSp5Z+65ZywJyxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCLoiKrlpKnln7rlnLBcIlxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+mYjuiJr+WMuicsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwi6ZiO6Imv5Yy6XCJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICflm73pmYXmuK/liqHljLonLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIuWbvemZhea4r+WKoeWMulwiXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn5Li05r285Yy6JyxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCLkuLTmvbzljLpcIlxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+mVv+WuieWMuicsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwi6ZW/5a6J5Yy6XCJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfpq5jpmbXljLonLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIumrmOmZteWMulwiXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn6YSg6YKR5Yy6JyxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCLphKDpgpHljLpcIlxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+iTneeUsOWOvycsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwi6JOd55Sw5Y6/XCJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICflkajoh7Pljr8nLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIuWRqOiHs+WOv1wiXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn6KW/5a6J5biC5pys57qnJyxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCLopb/lronluILmnKznuqdcIlxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgcHJvcGVydHk6e1xyXG4gICAgICAgICAgICAgICAgbGFiZWwgOiAn5qCH562+JyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdGV4dDogJ2lucHV0JyxcclxuICAgICAgICAgICAgdHlwZTogJ2lucHV0JyxcclxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXHJcbiAgICAgICAgfTtcclxuICAgIH0sXHJcbiAgICBlZGl0U2V0dGluZyxcclxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcclxuICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBzY29wZWQ+XHJcbiAgLmZvcm1EaXZ7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcbiAgLmZvcm1EaXYtbGVmdCB7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAzNSU7XHJcbiAgICB0ZXh0LWFsaWduOnJpZ2h0O1xyXG4gICAgZm9udC1zaXplOjE1cHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gIH1cclxuICAuZm9ybURpdi1yaWdodCB7XHJcbiAgICB3aWR0aDogNjAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgfVxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9zZWxlY3QtaW5wdXQvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///180\n");
1275
1276/***/ }),
1277/* 181 */
1278/***/ (function(module, exports, __webpack_require__) {
1279
1280"use strict";
1281eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(690);\n\nvar _commomHoverModal = __webpack_require__(13);\n\nvar _commomHoverModal2 = _interopRequireDefault(_commomHoverModal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: {\n commomHoverModal: _commomHoverModal2.default\n },\n data: function data() {\n return {\n property: {\n label: '下拉选择'\n },\n text: 'input',\n styles: { height: '40px', width: '70px', margin: '10px' },\n type: 'input',\n single: true,\n level: _property.editSetting.level,\n radioArr: []\n };\n },\n\n computed: {\n getLabel: function getLabel() {\n return this.property.label;\n }\n },\n methods: {\n show: function show() {\n this.$refs.commomHoverModal.handleMouseEnter();\n },\n hide: function hide() {\n this.$refs.commomHoverModal.handleMouseLeave();\n },\n initTableArr: function initTableArr() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n this.radioArr = currentInstance.data.radioArr;\n }\n },\n mounted: function mounted() {\n this.initTableArr();\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9zZWxlY3QvaW5kZXgudnVlPzYxNjciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFpQkE7Ozs7OztrQkFFQTtBQVNBO0FBQ0E7QUFEQSxLQVRBO0FBWUEsUUFaQSxrQkFZQTtBQUNBO0FBQ0E7QUFDQTtBQURBLGFBREE7QUFJQSx5QkFKQTtBQUtBLHFFQUxBO0FBTUEseUJBTkE7QUFPQSx3QkFQQTtBQVFBLDhDQVJBO0FBU0E7QUFUQTtBQVdBLEtBeEJBOztBQXlCQTtBQUNBLGdCQURBLHNCQUNBO0FBQ0E7QUFDQTtBQUhBLEtBekJBO0FBOEJBO0FBQ0EsWUFEQSxrQkFDQTtBQUNBO0FBQ0EsU0FIQTtBQUlBLFlBSkEsa0JBSUE7QUFDQTtBQUNBLFNBTkE7QUFPQSxvQkFQQSwwQkFPQTtBQUNBO0FBQ0E7QUFDQTtBQVZBLEtBOUJBO0FBMENBLFdBMUNBLHFCQTBDQTtBQUNBO0FBQ0EsS0E1Q0E7O0FBNkNBLHNDQTdDQTtBQThDQSxtQ0E5Q0E7QUErQ0E7QUEvQ0EsQyIsImZpbGUiOiIxODEuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgPGRpdiBjbGFzcz1cImZvcm1EaXZcIiAgQG1vdXNlZW50ZXI9XCJzaG93XCIgQG1vdXNlbGVhdmU9XCJoaWRlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtRGl2LWxlZnRcIj5cclxuICAgICAgICAgIDxMYWJlbCA6c3R5bGU9XCJ7bWFyZ2luTGVmdDonNXB4J31cIj57e3Byb3BlcnR5LmxhYmVsfX08L0xhYmVsPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm1EaXYtcmlnaHQgcmFkaW9DaGVja2JveFN0eWxlXCI+XHJcbiAgICAgICAgICA8U2VsZWN0ICBzdHlsZT1cIndpZHRoOjUwJTtcIiA+XHJcbiAgICAgICAgICAgICAgPE9wdGlvbiB2LWZvcj1cIml0ZW0gaW4gcmFkaW9BcnJcIiA6dmFsdWU9XCJpdGVtLnZhbHVlfHwnJ1wiIDprZXk9XCJpdGVtLnZhbHVlXCI+e3sgaXRlbS5sYWJlbCB9fTwvT3B0aW9uPlxyXG4gICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8Y29tbW9tSG92ZXJNb2RhbCByZWY9XCJjb21tb21Ib3Zlck1vZGFsXCIgPjwvY29tbW9tSG92ZXJNb2RhbD5cclxuXHJcbiAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcclxuaW1wb3J0IGNvbW1vbUhvdmVyTW9kYWwgZnJvbSAnLi4vLi4vY29tbW9uL2NvbW1vbUhvdmVyTW9kYWwnXHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICAvLyBwcm9wczoge1xyXG4gICAgLy8gICAgIHRleHQ6IHtcclxuICAgIC8vICAgICAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgLy8gICAgICAgICBkZWZhdWx0OiAnQnV0dG9uIFRleHQnXHJcbiAgICAvLyAgICAgfSxcclxuICAgIC8vICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAvLyAgICAgc3R5bGVzOiBPYmplY3RcclxuICAgIC8vIH0sXHJcbiAgICBjb21wb25lbnRzOntcclxuICAgICAgICBjb21tb21Ib3Zlck1vZGFsXHJcbiAgICB9LFxyXG4gICAgZGF0YSAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgcHJvcGVydHk6e1xyXG4gICAgICAgICAgICAgICAgbGFiZWwgOiAn5LiL5ouJ6YCJ5oupJyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdGV4dDogJ2lucHV0JyxcclxuICAgICAgICAgICAgc3R5bGVzOiB7aGVpZ2h0Oic0MHB4Jyx3aWR0aDonNzBweCcsbWFyZ2luOicxMHB4J30sXHJcbiAgICAgICAgICAgIHR5cGU6ICdpbnB1dCcsXHJcbiAgICAgICAgICAgIHNpbmdsZTogdHJ1ZSxcclxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxyXG4gICAgICAgICAgICByYWRpb0FycjpbXVxyXG4gICAgICAgIH07XHJcbiAgICB9LFxyXG4gICAgY29tcHV0ZWQ6e1xyXG4gICAgICAgIGdldExhYmVsKCl7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnByb3BlcnR5LmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtZXRob2RzOntcclxuICAgICAgICBzaG93KCl7XHJcbiAgICAgICAgICAgIHRoaXMuJHJlZnMuY29tbW9tSG92ZXJNb2RhbC5oYW5kbGVNb3VzZUVudGVyKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBoaWRlKCl7XHJcbiAgICAgICAgICAgIHRoaXMuJHJlZnMuY29tbW9tSG92ZXJNb2RhbC5oYW5kbGVNb3VzZUxlYXZlKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBpbml0VGFibGVBcnIoKXtcclxuICAgICAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZT0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzLmdldCh0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgdGhpcy5yYWRpb0Fycj1jdXJyZW50SW5zdGFuY2UuZGF0YS5yYWRpb0FycjtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgbW91bnRlZCgpe1xyXG4gICAgICAgIHRoaXMuaW5pdFRhYmxlQXJyKCk7XHJcbiAgICB9LFxyXG4gICAgZWRpdFNldHRpbmcsXHJcbiAgICBuYW1lOiBlZGl0U2V0dGluZy5rZXksXHJcbiAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWxcclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgc2NvcGVkPlxyXG4gICAgLmZvcm1EaXZ7XHJcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuICAgIC5yYWRpb0NoZWNrYm94U3R5bGUge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgICAuZm9ybURpdi1sZWZ0IHtcclxuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICB3aWR0aDogMzUlO1xyXG4gICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOjE1cHg7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICB9XHJcbiAgICAuZm9ybURpdi1yaWdodCB7XHJcbiAgICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgfVxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9zZWxlY3QvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///181\n");
1282
1283/***/ }),
1284/* 182 */
1285/***/ (function(module, exports, __webpack_require__) {
1286
1287"use strict";
1288eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(695);\n\nvar _commomHoverModal = __webpack_require__(13);\n\nvar _commomHoverModal2 = _interopRequireDefault(_commomHoverModal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: {\n commomHoverModal: _commomHoverModal2.default\n },\n data: function data() {\n return {\n property: {\n label: '级联下拉框'\n },\n data: [{\n value: 'beijing',\n label: '北京',\n children: [{\n value: 'gugong',\n label: '故宫'\n }, {\n value: 'tiantan',\n label: '天坛'\n }, {\n value: 'wangfujing',\n label: '王府井'\n }]\n }, {\n value: 'tianjin',\n label: '天津',\n children: [{\n value: 'gugong',\n label: '故宫'\n }, {\n value: 'tiantan',\n label: '天坛'\n }, {\n value: 'wangfujing',\n label: '王府井'\n }]\n }],\n text: 'input',\n styles: { height: '40px', width: '70px', margin: '10px' },\n type: 'input',\n single: true,\n level: _property.editSetting.level,\n radioArr: []\n };\n },\n\n computed: {\n getLabel: function getLabel() {\n return this.property.label;\n }\n },\n methods: {\n show: function show() {\n this.$refs.commomHoverModal.handleMouseEnter();\n },\n hide: function hide() {\n this.$refs.commomHoverModal.handleMouseLeave();\n },\n initTableArr: function initTableArr() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n this.radioArr = currentInstance.data.radioArr;\n }\n },\n mounted: function mounted() {\n this.initTableArr();\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9zZWxlY3REb3VibGUvaW5kZXgudnVlPzQ3NTgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFlQTs7Ozs7O2tCQUVBO0FBU0E7QUFDQTtBQURBLEtBVEE7QUFZQSxRQVpBLGtCQVlBO0FBQ0E7QUFDQTtBQUNBO0FBREEsYUFEQTtBQUlBO0FBQ0EsZ0NBREE7QUFFQSwyQkFGQTtBQUdBLDJCQUNBO0FBQ0EsbUNBREE7QUFFQTtBQUZBLGlCQURBLEVBS0E7QUFDQSxvQ0FEQTtBQUVBO0FBRkEsaUJBTEEsRUFTQTtBQUNBLHVDQURBO0FBRUE7QUFGQSxpQkFUQTtBQUhBLGVBaUJBO0FBQ0EsZ0NBREE7QUFFQSwyQkFGQTtBQUdBLDJCQUNBO0FBQ0EsbUNBREE7QUFFQTtBQUZBLGlCQURBLEVBS0E7QUFDQSxvQ0FEQTtBQUVBO0FBRkEsaUJBTEEsRUFTQTtBQUNBLHVDQURBO0FBRUE7QUFGQSxpQkFUQTtBQUhBLGFBakJBLENBSkE7QUF1Q0EseUJBdkNBO0FBd0NBLHFFQXhDQTtBQXlDQSx5QkF6Q0E7QUEwQ0Esd0JBMUNBO0FBMkNBLDhDQTNDQTtBQTRDQTtBQTVDQTtBQThDQSxLQTNEQTs7QUE0REE7QUFDQSxnQkFEQSxzQkFDQTtBQUNBO0FBQ0E7QUFIQSxLQTVEQTtBQWlFQTtBQUNBLFlBREEsa0JBQ0E7QUFDQTtBQUNBLFNBSEE7QUFJQSxZQUpBLGtCQUlBO0FBQ0E7QUFDQSxTQU5BO0FBT0Esb0JBUEEsMEJBT0E7QUFDQTtBQUNBO0FBQ0E7QUFWQSxLQWpFQTtBQTZFQSxXQTdFQSxxQkE2RUE7QUFDQTtBQUNBLEtBL0VBOztBQWdGQSxzQ0FoRkE7QUFpRkEsbUNBakZBO0FBa0ZBO0FBbEZBLEMiLCJmaWxlIjoiMTgyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gIDxkaXYgY2xhc3M9XCJmb3JtRGl2XCIgICBAbW91c2VlbnRlcj1cInNob3dcIiBAbW91c2VsZWF2ZT1cImhpZGVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm1EaXYtbGVmdFwiPlxyXG4gICAgICAgICAgPExhYmVsIDpzdHlsZT1cInttYXJnaW5MZWZ0Oic1cHgnfVwiPnt7cHJvcGVydHkubGFiZWx9fTwvTGFiZWw+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybURpdi1yaWdodCByYWRpb0NoZWNrYm94U3R5bGVcIiA+XHJcbiAgICAgICAgICA8Q2FzY2FkZXIgIGNsYXNzPVwiaW5wdXRTdHlsZVwiIDpkYXRhPVwiZGF0YVwiID48L0Nhc2NhZGVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGNvbW1vbUhvdmVyTW9kYWwgcmVmPVwiY29tbW9tSG92ZXJNb2RhbFwiID48L2NvbW1vbUhvdmVyTW9kYWw+XHJcblxyXG4gIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XHJcbmltcG9ydCBjb21tb21Ib3Zlck1vZGFsIGZyb20gJy4uLy4uL2NvbW1vbi9jb21tb21Ib3Zlck1vZGFsJ1xyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgLy8gcHJvcHM6IHtcclxuICAgIC8vICAgICB0ZXh0OiB7XHJcbiAgICAvLyAgICAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgIC8vICAgICAgICAgZGVmYXVsdDogJ0J1dHRvbiBUZXh0J1xyXG4gICAgLy8gICAgIH0sXHJcbiAgICAvLyAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgLy8gICAgIHN0eWxlczogT2JqZWN0XHJcbiAgICAvLyB9LFxyXG4gICAgY29tcG9uZW50czp7XHJcbiAgICAgICAgY29tbW9tSG92ZXJNb2RhbFxyXG4gICAgfSxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHByb3BlcnR5OntcclxuICAgICAgICAgICAgICAgIGxhYmVsIDogJ+e6p+iBlOS4i+aLieahhicsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGRhdGE6IFt7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ2JlaWppbmcnLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICfljJfkuqwnLFxyXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnZ3Vnb25nJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICfmlYXlrqsnXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAndGlhbnRhbicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAn5aSp5Z2bJ1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ3dhbmdmdWppbmcnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ+eOi+W6nOS6lSdcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgIH0se1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6ICd0aWFuamluJyxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiAn5aSp5rSlJyxcclxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ2d1Z29uZycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAn5pWF5a6rJ1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ3RpYW50YW4nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ+WkqeWdmydcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICd3YW5nZnVqaW5nJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICfnjovlupzkupUnXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXVxyXG4gICAgICAgICAgICB9XSxcclxuICAgICAgICAgICAgdGV4dDogJ2lucHV0JyxcclxuICAgICAgICAgICAgc3R5bGVzOiB7aGVpZ2h0Oic0MHB4Jyx3aWR0aDonNzBweCcsbWFyZ2luOicxMHB4J30sXHJcbiAgICAgICAgICAgIHR5cGU6ICdpbnB1dCcsXHJcbiAgICAgICAgICAgIHNpbmdsZTogdHJ1ZSxcclxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxyXG4gICAgICAgICAgICByYWRpb0FycjpbXVxyXG4gICAgICAgIH07XHJcbiAgICB9LFxyXG4gICAgY29tcHV0ZWQ6e1xyXG4gICAgICAgIGdldExhYmVsKCl7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnByb3BlcnR5LmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtZXRob2RzOntcclxuICAgICAgICBzaG93KCl7XHJcbiAgICAgICAgICAgIHRoaXMuJHJlZnMuY29tbW9tSG92ZXJNb2RhbC5oYW5kbGVNb3VzZUVudGVyKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBoaWRlKCl7XHJcbiAgICAgICAgICAgIHRoaXMuJHJlZnMuY29tbW9tSG92ZXJNb2RhbC5oYW5kbGVNb3VzZUxlYXZlKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBpbml0VGFibGVBcnIoKXtcclxuICAgICAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZT0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzLmdldCh0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgdGhpcy5yYWRpb0Fycj1jdXJyZW50SW5zdGFuY2UuZGF0YS5yYWRpb0FycjtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgbW91bnRlZCgpe1xyXG4gICAgICAgIHRoaXMuaW5pdFRhYmxlQXJyKCk7XHJcbiAgICB9LFxyXG4gICAgZWRpdFNldHRpbmcsXHJcbiAgICBuYW1lOiBlZGl0U2V0dGluZy5rZXksXHJcbiAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWxcclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgc2NvcGVkPlxyXG4gICAgLmlucHV0U3R5bGV7XHJcbiAgICAgICAgd2lkdGg6NTAlO1xyXG4gICAgfVxyXG4gICAgLmZvcm1EaXZ7XHJcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuICAgIC5yYWRpb0NoZWNrYm94U3R5bGUge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgICAuZm9ybURpdi1sZWZ0IHtcclxuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICB3aWR0aDogMzUlO1xyXG4gICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOjE1cHg7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICB9XHJcbiAgICAuZm9ybURpdi1yaWdodCB7XHJcbiAgICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIG1hcmdpbjogMTRweCAwcHg7XHJcbiAgICB9XHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdERvdWJsZS9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///182\n");
1289
1290/***/ }),
1291/* 183 */
1292/***/ (function(module, exports, __webpack_require__) {
1293
1294"use strict";
1295eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(700);\n\nexports.default = {\n data: function data() {\n return {\n property: {\n label: '下拉框'\n },\n text: 'input',\n styles: { height: '40px', width: '100px', margin: '10px' },\n type: 'input',\n model1: '',\n level: _property.editSetting.level\n };\n },\n\n computed: {\n getLabel: function getLabel() {\n return this.property.label;\n }\n },\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9zZWxlY3RMYWJlbC9pbmRleC52dWU/ZmRiMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztrQkFlQTtBQVNBLFFBVEEsa0JBU0E7QUFDQTtBQUNBO0FBQ0E7QUFEQSxhQURBO0FBSUEseUJBSkE7QUFLQSxzRUFMQTtBQU1BLHlCQU5BO0FBT0Esc0JBUEE7QUFRQTtBQVJBO0FBVUEsS0FwQkE7O0FBcUJBO0FBQ0EsZ0JBREEsc0JBQ0E7QUFDQTtBQUNBO0FBSEEsS0FyQkE7QUEwQkEsc0NBMUJBO0FBMkJBLG1DQTNCQTtBQTRCQTtBQTVCQSxDIiwiZmlsZSI6IjE4My5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICA8ZGl2IGNsYXNzPVwiZm9ybURpdlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm1EaXYtbGVmdFwiPlxyXG4gICAgICA8TGFiZWwgOnN0eWxlPVwie21hcmdpbkxlZnQ6JzVweCd9XCI+e3tnZXRMYWJlbH19PC9MYWJlbD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm1EaXYtcmlnaHRcIj5cclxuICAgICAgPFNlbGVjdCB2LW1vZGVsPVwibW9kZWwxXCIgY2xhc3M9XCJzZWxlY3RTdHlsZVwiPlxyXG4gICAgICA8IS0tPE9wdGlvbj48L09wdGlvbj4tLT5cclxuICAgICAgPC9TZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCB7ZWRpdFNldHRpbmd9IGZyb20gJy4vcHJvcGVydHknO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICAvLyBwcm9wczoge1xyXG4gICAgLy8gICAgIHRleHQ6IHtcclxuICAgIC8vICAgICAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgLy8gICAgICAgICBkZWZhdWx0OiAnQnV0dG9uIFRleHQnXHJcbiAgICAvLyAgICAgfSxcclxuICAgIC8vICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAvLyAgICAgc3R5bGVzOiBPYmplY3RcclxuICAgIC8vIH0sXHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBwcm9wZXJ0eTp7XHJcbiAgICAgICAgICAgICAgICBsYWJlbCA6ICfkuIvmi4nmoYYnLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0ZXh0OiAnaW5wdXQnLFxyXG4gICAgICAgICAgICBzdHlsZXM6IHtoZWlnaHQ6JzQwcHgnLHdpZHRoOicxMDBweCcsbWFyZ2luOicxMHB4J30sXHJcbiAgICAgICAgICAgIHR5cGU6ICdpbnB1dCcsXHJcbiAgICAgICAgICAgIG1vZGVsMTonJyxcclxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxyXG4gICAgICAgIH07XHJcbiAgICB9LFxyXG4gICAgY29tcHV0ZWQ6e1xyXG4gICAgICAgIGdldExhYmVsKCl7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnByb3BlcnR5LmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBlZGl0U2V0dGluZyxcclxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcclxuICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBzY29wZWQ+XHJcbiAgIC5mb3JtRGl2e1xyXG4gICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICBsaW5lLWhlaWdodDogNjBweDtcclxuICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICB9XHJcbiAgIC5zZWxlY3RTdHlsZXtcclxuICAgICB3aWR0aDo1MCU7XHJcbiAgIH1cclxuICAgLmZvcm1EaXYtbGVmdCB7XHJcbiAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgd2lkdGg6IDM1JTtcclxuICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xyXG4gICAgIGZvbnQtc2l6ZToxNXB4O1xyXG4gICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICB9XHJcbiAgIC5mb3JtRGl2LXJpZ2h0IHtcclxuICAgICB3aWR0aDogNjAlO1xyXG4gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgIH1cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvc2VsZWN0TGFiZWwvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///183\n");
1296
1297/***/ }),
1298/* 184 */
1299/***/ (function(module, exports, __webpack_require__) {
1300
1301"use strict";
1302eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(705);\n\nexports.default = {\n computed: {\n getLabel: function getLabel() {\n return this.property.label;\n }\n },\n\n data: function data() {\n return {\n selectData: [{\n value: '高新区',\n label: \"高新区\"\n }, {\n value: '碑林区',\n label: \"碑林区\"\n }, {\n value: '经开区',\n label: \"经开区\"\n }, {\n value: '莲湖区',\n label: \"莲湖区\"\n }, {\n value: '曲江新区',\n label: \"曲江新区\"\n }, {\n value: '雁塔区',\n label: \"雁塔区\"\n }, {\n value: '浐灞生态区',\n label: \"浐灞生态区\"\n }, {\n value: '灞桥区',\n label: \"灞桥区\"\n }, {\n value: '航空基地',\n label: \"航空基地\"\n }, {\n value: '未央区',\n label: \"未央区\"\n }, {\n value: '航天基地',\n label: \"航天基地\"\n }, {\n value: '阎良区',\n label: \"阎良区\"\n }, {\n value: '国际港务区',\n label: \"国际港务区\"\n }, {\n value: '临潼区',\n label: \"临潼区\"\n }, {\n value: '长安区',\n label: \"长安区\"\n }, {\n value: '高陵区',\n label: \"高陵区\"\n }, {\n value: '鄠邑区',\n label: \"鄠邑区\"\n }, {\n value: '蓝田县',\n label: \"蓝田县\"\n }, {\n value: '周至县',\n label: \"周至县\"\n }, {\n value: '西安市本级',\n label: \"西安市本级\"\n }],\n property: {\n label: '标签'\n },\n text: 'input',\n type: 'input',\n level: _property.editSetting.level\n };\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9zZWxlY3RMaW5rL2luZGV4LnZ1ZT80NGFhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O2tCQWlCQTtBQVNBO0FBQ0EsZ0JBREEsc0JBQ0E7QUFDQTtBQUNBO0FBSEEsS0FUQTs7QUFlQSxRQWZBLGtCQWVBO0FBQ0E7QUFDQSx5QkFDQTtBQUNBLDRCQURBO0FBRUE7QUFGQSxhQURBLEVBS0E7QUFDQSw0QkFEQTtBQUVBO0FBRkEsYUFMQSxFQVNBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLGFBVEEsRUFhQTtBQUNBLDRCQURBO0FBRUE7QUFGQSxhQWJBLEVBaUJBO0FBQ0EsNkJBREE7QUFFQTtBQUZBLGFBakJBLEVBcUJBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLGFBckJBLEVBeUJBO0FBQ0EsOEJBREE7QUFFQTtBQUZBLGFBekJBLEVBNkJBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLGFBN0JBLEVBaUNBO0FBQ0EsNkJBREE7QUFFQTtBQUZBLGFBakNBLEVBcUNBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLGFBckNBLEVBeUNBO0FBQ0EsNkJBREE7QUFFQTtBQUZBLGFBekNBLEVBNkNBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLGFBN0NBLEVBaURBO0FBQ0EsOEJBREE7QUFFQTtBQUZBLGFBakRBLEVBcURBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLGFBckRBLEVBeURBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLGFBekRBLEVBNkRBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLGFBN0RBLEVBaUVBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLGFBakVBLEVBcUVBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLGFBckVBLEVBeUVBO0FBQ0EsNEJBREE7QUFFQTtBQUZBLGFBekVBLEVBNkVBO0FBQ0EsOEJBREE7QUFFQTtBQUZBLGFBN0VBLENBREE7QUFtRkE7QUFDQTtBQURBLGFBbkZBO0FBc0ZBLHlCQXRGQTtBQXVGQSx5QkF2RkE7QUF3RkE7QUF4RkE7QUEwRkEsS0ExR0E7O0FBMkdBLHNDQTNHQTtBQTRHQSxtQ0E1R0E7QUE2R0E7QUE3R0EsQyIsImZpbGUiOiIxODQuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgPGRpdiBjbGFzcz1cImZvcm1EaXZcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtRGl2LWxlZnRcIj5cclxuICAgICAgPExhYmVsIDpzdHlsZT1cInttYXJnaW5MZWZ0Oic1cHgnfVwiPnt7Z2V0TGFiZWx9fTwvTGFiZWw+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtRGl2LXJpZ2h0XCI+XHJcbiAgICAgIDxTZWxlY3QgY2xhc3M9XCJzZWxlY3RTdHlsZVwiIGNsZWFyYWJsZT5cclxuICAgICAgICA8T3B0aW9uIHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIHNlbGVjdERhdGFcIiBjbGVhcmFibGUgOmtleT1cImluZGV4XCIgOnZhbHVlPVwiaXRlbS52YWx1ZVwiPlxyXG4gICAgICAgICAge3tpdGVtLmxhYmVsfX1cclxuICAgICAgICA8L09wdGlvbj5cclxuICAgICAgPC9TZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCB7ZWRpdFNldHRpbmd9IGZyb20gJy4vcHJvcGVydHknO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICAvLyBwcm9wczoge1xyXG4gICAgLy8gICAgIHRleHQ6IHtcclxuICAgIC8vICAgICAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgLy8gICAgICAgICBkZWZhdWx0OiAnQnV0dG9uIFRleHQnXHJcbiAgICAvLyAgICAgfSxcclxuICAgIC8vICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAvLyAgICAgc3R5bGVzOiBPYmplY3RcclxuICAgIC8vIH0sXHJcbiAgICBjb21wdXRlZDp7XHJcbiAgICAgICBnZXRMYWJlbCgpe1xyXG4gICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0eS5sYWJlbDtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHNlbGVjdERhdGE6IFtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+mrmOaWsOWMuicsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwi6auY5paw5Yy6XCJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfnopHmnpfljLonLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIueikeael+WMulwiXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn57uP5byA5Yy6JyxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCLnu4/lvIDljLpcIlxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+iOsua5luWMuicsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwi6I6y5rmW5Yy6XCJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfmm7LmsZ/mlrDljLonLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIuabsuaxn+aWsOWMulwiXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn6ZuB5aGU5Yy6JyxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCLpm4HloZTljLpcIlxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+a1kOeBnueUn+aAgeWMuicsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwi5rWQ54Ge55Sf5oCB5Yy6XCJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfngZ7moaXljLonLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIueBnuahpeWMulwiXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn6Iiq56m65Z+65ZywJyxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCLoiKrnqbrln7rlnLBcIlxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+acquWkruWMuicsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwi5pyq5aSu5Yy6XCJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfoiKrlpKnln7rlnLAnLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIuiIquWkqeWfuuWcsFwiXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn6ZiO6Imv5Yy6JyxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCLpmI7oia/ljLpcIlxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+WbvemZhea4r+WKoeWMuicsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwi5Zu96ZmF5riv5Yqh5Yy6XCJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfkuLTmvbzljLonLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIuS4tOa9vOWMulwiXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn6ZW/5a6J5Yy6JyxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCLplb/lronljLpcIlxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+mrmOmZteWMuicsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwi6auY6Zm15Yy6XCJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfphKDpgpHljLonLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIumEoOmCkeWMulwiXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn6JOd55Sw5Y6/JyxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCLok53nlLDljr9cIlxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+WRqOiHs+WOvycsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwi5ZGo6Iez5Y6/XCJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfopb/lronluILmnKznuqcnLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIuilv+WuieW4guacrOe6p1wiXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICBwcm9wZXJ0eTp7XHJcbiAgICAgICAgICAgICAgICBsYWJlbCA6ICfmoIfnrb4nLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0ZXh0OiAnaW5wdXQnLFxyXG4gICAgICAgICAgICB0eXBlOiAnaW5wdXQnLFxyXG4gICAgICAgICAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWxcclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIGVkaXRTZXR0aW5nLFxyXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxyXG4gICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIHNjb3BlZD5cclxuICAuZm9ybURpdntcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIH1cclxuICAuc2VsZWN0U3R5bGV7XHJcbiAgICB3aWR0aDo1MCU7XHJcbiAgfVxyXG4gIC5mb3JtRGl2LWxlZnQge1xyXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogMzUlO1xyXG4gICAgdGV4dC1hbGlnbjpyaWdodDtcclxuICAgIGZvbnQtc2l6ZToxNXB4O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtYXJnaW46IDAgMTBweDtcclxuICB9XHJcbiAgLmZvcm1EaXYtcmlnaHQge1xyXG4gICAgd2lkdGg6IDYwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gIH1cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvc2VsZWN0TGluay9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///184\n");
1303
1304/***/ }),
1305/* 185 */
1306/***/ (function(module, exports, __webpack_require__) {
1307
1308"use strict";
1309eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _commomHoverModal = __webpack_require__(13);\n\nvar _commomHoverModal2 = _interopRequireDefault(_commomHoverModal);\n\nvar _property = __webpack_require__(710);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: {\n commomHoverModal: _commomHoverModal2.default\n },\n data: function data() {\n return {\n property: {\n label: '多行输入框'\n },\n extend: {\n rows: 4,\n placeholder: \"\"\n },\n myRow: 4,\n text: 'input',\n type: 'input',\n level: _property.editSetting.level\n };\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level,\n methods: {\n show: function show() {\n this.$refs.commomHoverModal.handleMouseEnter();\n },\n hide: function hide() {\n this.$refs.commomHoverModal.handleMouseLeave();\n }\n },\n mounted: function mounted() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n if (currentInstance.data.validateArr.length > 0) {\n return \"\";\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS90ZXh0YXJlYS9pbmRleC52dWU/MjRhMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBcUJBOzs7O2tCQUNBO0FBU0E7QUFDQTtBQURBLEtBVEE7QUFZQSxRQVpBLGtCQVlBO0FBQ0E7QUFDQTtBQUNBO0FBREEsYUFEQTtBQUlBO0FBQ0EsdUJBREE7QUFFQTtBQUZBLGFBSkE7QUFRQSxvQkFSQTtBQVNBLHlCQVRBO0FBVUEseUJBVkE7QUFXQTtBQVhBO0FBYUEsS0ExQkE7O0FBMkJBLHNDQTNCQTtBQTRCQSxtQ0E1QkE7QUE2QkEsc0NBN0JBO0FBOEJBO0FBQ0EsWUFEQSxrQkFDQTtBQUNBO0FBQ0EsU0FIQTtBQUlBLFlBSkEsa0JBSUE7QUFDQTtBQUNBO0FBTkEsS0E5QkE7QUFzQ0EsV0F0Q0EscUJBc0NBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQTVDQSxDIiwiZmlsZSI6IjE4NS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICA8ZGl2IGNsYXNzPVwiZm9ybURpdlwiICBAbW91c2VlbnRlcj1cInNob3dcIiBAbW91c2VsZWF2ZT1cImhpZGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtRGl2LWxlZnRcIj5cclxuICAgICAgPExhYmVsID4ge3twcm9wZXJ0eS5sYWJlbH19PC9MYWJlbD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm1EaXYtcmlnaHRcIiA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpdnUtY29sIGl2dS1jb2wtc3Bhbi0yMFwiPlxyXG4gICAgICAgIDxJbnB1dCAgY2xhc3M9XCJpbnB1dFN0eWxlXCIgIHR5cGU9XCJ0ZXh0YXJlYVwiIGNsZWFyYWJsZSAgOnJvd3M9XCJleHRlbmQucm93c1wiIDpwbGFjZWhvbGRlcj1leHRlbmQucGxhY2Vob2xkZXIgLz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjLXBvc2l0aW9uIGl2dS1jb2wgaXZ1LWNvbC1zcGFuLTRcIj5cclxuICAgICAgICA8c3BhbiA+MC97e2V4dGVuZC5tYXhMZW5ndGh9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxjb21tb21Ib3Zlck1vZGFsIHJlZj1cImNvbW1vbUhvdmVyTW9kYWxcIiA+PC9jb21tb21Ib3Zlck1vZGFsPlxyXG5cclxuICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbiAgICBpbXBvcnQgY29tbW9tSG92ZXJNb2RhbCBmcm9tICcuLi8uLi9jb21tb24vY29tbW9tSG92ZXJNb2RhbCdcclxuXHJcbiAgICBpbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgLy8gcHJvcHM6IHtcclxuICAgIC8vICAgICB0ZXh0OiB7XHJcbiAgICAvLyAgICAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgIC8vICAgICAgICAgZGVmYXVsdDogJ0J1dHRvbiBUZXh0J1xyXG4gICAgLy8gICAgIH0sXHJcbiAgICAvLyAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgLy8gICAgIHN0eWxlczogT2JqZWN0XHJcbiAgICAvLyB9LFxyXG4gICAgY29tcG9uZW50czp7XHJcbiAgICAgICAgY29tbW9tSG92ZXJNb2RhbFxyXG4gICAgfSxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHByb3BlcnR5OntcclxuICAgICAgICAgICAgICAgIGxhYmVsIDogJ+WkmuihjOi+k+WFpeahhidcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZXh0ZW5kOntcclxuICAgICAgICAgICAgICAgIHJvd3M6NCxcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOlwiXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgbXlSb3c6NCxcclxuICAgICAgICAgICAgdGV4dDogJ2lucHV0JyxcclxuICAgICAgICAgICAgdHlwZTogJ2lucHV0JyxcclxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXHJcbiAgICAgICAgfTtcclxuICAgIH0sXHJcbiAgICBlZGl0U2V0dGluZyxcclxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcclxuICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcclxuICAgIG1ldGhvZHM6e1xyXG4gICAgICAgIHNob3coKXtcclxuICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlRW50ZXIoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGhpZGUoKXtcclxuICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlTGVhdmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgbW91bnRlZCgpe1xyXG4gICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2UgPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgIGlmKGN1cnJlbnRJbnN0YW5jZS5kYXRhLnZhbGlkYXRlQXJyLmxlbmd0aD4wKXtcclxuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICAgICAgICAgIC8vbm90ZSDlpoLmnpzmnInlgLzvvIzlsIbkuI3kvJrlho3ov5vooYzmk43kvZzvvIzlkKbliJnlsIbkvJrmlrDlop7kuIDkuKpcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJsZXNzXCIgc2NvcGVkPlxyXG4gIC5mb3JtRGl2e1xyXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAvKmxpbmUtaGVpZ2h0OiA2MHB4OyovXHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgLmZvcm1EaXYtbGVmdCB7XHJcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICBsaW5lLWhlaWdodDogNjBweDtcclxuICAgICAgd2lkdGg6IDM1JTtcclxuICAgICAgdGV4dC1hbGlnbjpyaWdodDtcclxuICAgICAgZm9udC1zaXplOjE1cHg7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgIH1cclxuICAgIC5mb3JtRGl2LXJpZ2h0IHtcclxuICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgIC8qbWFyZ2luOiAxNHB4IDBweCAxNHB4IDMzcHg7Ki9cclxuICAgICAgbWFyZ2luOiAxNHB4IDBweCA7XHJcblxyXG4gICAgICAuaW5wdXRTdHlsZXtcclxuICAgICAgICAvKndpZHRoOjUwJTsqL1xyXG4gICAgICB9XHJcbiAgICAgIC5jLXBvc2l0aW9uIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xyXG4gICAgICB9XHJcbiAgICAgIC5pdnUtY29sLXNwYW4tMjAge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgIH1cclxuICAgICAgLml2dS1jb2wtc3Bhbi00IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS90ZXh0YXJlYS9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///185\n");
1310
1311/***/ }),
1312/* 186 */
1313/***/ (function(module, exports, __webpack_require__) {
1314
1315"use strict";
1316eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(23);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _name$data$methods$co;\n\nvar _commomHoverModal = __webpack_require__(13);\n\nvar _commomHoverModal2 = _interopRequireDefault(_commomHoverModal);\n\nvar _property = __webpack_require__(715);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = (_name$data$methods$co = {\n name: \"time\",\n data: function data() {\n return {\n property: {\n label: '时间'\n },\n extend: {\n placeholder: \"\",\n type: \"HH:mm:ss\"\n },\n text: 'input',\n styles: {},\n type: 'time',\n level: _property.editSetting.level\n };\n },\n\n methods: {\n show: function show() {\n this.$refs.commomHoverModal.handleMouseEnter();\n },\n hide: function hide() {\n this.$refs.commomHoverModal.handleMouseLeave();\n }\n },\n components: {\n commomHoverModal: _commomHoverModal2.default\n },\n editSetting: _property.editSetting\n}, (0, _defineProperty3.default)(_name$data$methods$co, 'name', _property.editSetting.key), (0, _defineProperty3.default)(_name$data$methods$co, 'level', _property.editSetting.level), _name$data$methods$co);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS90aW1lL2luZGV4LnZ1ZT8yYmQ4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUE0QkE7Ozs7O0FBRUEsZ0I7QUFDQSxRLGtCQUFBO0FBQ0E7QUFDQTtBQUNBO0FBREEsYUFEQTtBQUlBO0FBQ0EsK0JBREE7QUFFQTtBQUZBLGFBSkE7QUFRQSx5QkFSQTtBQVNBLHNCQVRBO0FBVUEsd0JBVkE7QUFXQTtBQVhBO0FBYUEsSzs7QUFDQTtBQUNBLFlBREEsa0JBQ0E7QUFDQTtBQUNBLFNBSEE7QUFJQSxZQUpBLGtCQUlBO0FBQ0E7QUFDQTtBQU5BLEs7QUFRQTtBQUNBO0FBREEsSztBQUdBO2dFQUNBLHlCLGlFQUNBLDJCIiwiZmlsZSI6IjE4Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtRGl2XCIgICBAbW91c2VlbnRlcj1cInNob3dcIiBAbW91c2VsZWF2ZT1cImhpZGVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybURpdi1sZWZ0XCI+XHJcbiAgICAgICAgICAgIDxMYWJlbCA6c3R5bGU9XCJ7bWFyZ2luTGVmdDonNXB4J31cIj57e3Byb3BlcnR5LmxhYmVsfX08L0xhYmVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtRGl2LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxUaW1lUGlja2VyXHJcbiAgICAgICAgICAgICAgICAgICAgOmVkaXRhYmxlPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIDpwbGFjZWhvbGRlcj1leHRlbmQucGxhY2Vob2xkZXJcclxuICAgICAgICAgICAgICAgICAgICA6Zm9ybWF0PVwiZXh0ZW5kLnR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGltZVN0eWxlXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L1RpbWVQaWNrZXIgPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxjb21tb21Ib3Zlck1vZGFsIHJlZj1cImNvbW1vbUhvdmVyTW9kYWxcIiA+PC9jb21tb21Ib3Zlck1vZGFsPlxyXG5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIC8qKlxyXG4gICAgICpAYXV0aG9yICAgICDpu4TkvbNcclxuICAgICAqQGRhdGUgICAgICAgMjAxOS85LzI2ICAxNDo0NVxyXG4gICAgICpAQ29weXJpZ2h0IOWkqea6kOi/quenkeS/oeaBr+aKgOacr+iCoeS7veaciemZkOWFrOWPuFxyXG4gICAgICpARGVzY3JpcHRpb25cclxuICAgICAqL1xyXG4gICAgaW1wb3J0IGNvbW1vbUhvdmVyTW9kYWwgZnJvbSAnLi4vLi4vY29tbW9uL2NvbW1vbUhvdmVyTW9kYWwnXHJcblxyXG4gICAgaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XHJcbiAgICBleHBvcnQgZGVmYXVsdCB7XHJcbiAgICAgICAgbmFtZTogXCJ0aW1lXCIsXHJcbiAgICAgICAgZGF0YSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBwcm9wZXJ0eTp7XHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWwgOiAn5pe26Ze0JyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBleHRlbmQ6e1xyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOlwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTpcIkhIOm1tOnNzXCIsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgdGV4dDogJ2lucHV0JyxcclxuICAgICAgICAgICAgICAgIHN0eWxlczoge30sXHJcbiAgICAgICAgICAgICAgICB0eXBlOiAndGltZScsXHJcbiAgICAgICAgICAgICAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtZXRob2RzOntcclxuICAgICAgICAgICAgc2hvdygpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlRW50ZXIoKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaGlkZSgpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlTGVhdmUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcG9uZW50czp7XHJcbiAgICAgICAgICAgIGNvbW1vbUhvdmVyTW9kYWxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVkaXRTZXR0aW5nLFxyXG4gICAgICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcclxuICAgICAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWxcclxuICAgIH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgc2NvcGVkPlxyXG4gICAgLmZvcm1EaXZ7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgICAuZm9ybURpdi1sZWZ0IHtcclxuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICB3aWR0aDogMzUlO1xyXG4gICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOjE1cHg7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICB9XHJcbiAgICAudGltZVN0eWxlIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG4gICAgLmZvcm1EaXYtcmlnaHQge1xyXG4gICAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgIH1cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdGltZS9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///186\n");
1317
1318/***/ }),
1319/* 187 */
1320/***/ (function(module, exports, __webpack_require__) {
1321
1322"use strict";
1323eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(720);\n\nexports.default = {\n data: function data() {\n return {\n property: {\n label: 'Label'\n },\n text: 'label',\n styles: {\n display: 'inline-block',\n width: '40%',\n height: '60px',\n lineHeight: '60px',\n textAlign: 'right',\n fontSize: '15px'\n },\n type: 'label',\n level: _property.editSetting.level\n };\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS90aW1lTGFiZWwvaW5kZXgudnVlPzc1OTEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7a0JBWUE7QUFTQSxRQVRBLGtCQVNBO0FBQ0E7QUFDQTtBQUNBO0FBREEsYUFEQTtBQUlBLHlCQUpBO0FBS0E7QUFDQSx1Q0FEQTtBQUVBLDRCQUZBO0FBR0EsOEJBSEE7QUFJQSxrQ0FKQTtBQUtBLGtDQUxBO0FBTUE7QUFOQSxhQUxBO0FBYUEseUJBYkE7QUFjQTtBQWRBO0FBZ0JBLEtBMUJBOztBQTJCQSxzQ0EzQkE7QUE0QkEsbUNBNUJBO0FBNkJBO0FBN0JBLEMiLCJmaWxlIjoiMTg3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gIDxkaXYgY2xhc3M9XCJmb3JtRGl2XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybURpdi1sZWZ0XCI+XHJcbiAgICAgIDxMYWJlbCB2LWlmPVwidHlwZT09PSdsYWJlbCdcIj5cclxuICAgICAgICB7e3Byb3BlcnR5LmxhYmVsfX1cclxuICAgICAgPC9MYWJlbD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICAgIC8vIHByb3BzOiB7XHJcbiAgICAvLyAgICAgdGV4dDoge1xyXG4gICAgLy8gICAgICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAvLyAgICAgICAgIGRlZmF1bHQ6ICdCdXR0b24gVGV4dCdcclxuICAgIC8vICAgICB9LFxyXG4gICAgLy8gICAgIHR5cGU6IFN0cmluZyxcclxuICAgIC8vICAgICBzdHlsZXM6IE9iamVjdFxyXG4gICAgLy8gfSxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHByb3BlcnR5OntcclxuICAgICAgICAgICAgICAgIGxhYmVsIDogJ0xhYmVsJyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdGV4dDogJ2xhYmVsJyxcclxuICAgICAgICAgICAgc3R5bGVzOiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OidpbmxpbmUtYmxvY2snLFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6JzQwJScsXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6JzYwcHgnLFxyXG4gICAgICAgICAgICAgICAgbGluZUhlaWdodDonNjBweCcsXHJcbiAgICAgICAgICAgICAgICB0ZXh0QWxpZ246J3JpZ2h0JyxcclxuICAgICAgICAgICAgICAgIGZvbnRTaXplOicxNXB4J1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0eXBlOiAnbGFiZWwnLFxyXG4gICAgICAgICAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXHJcbiAgICAgICAgfTtcclxuICAgIH0sXHJcbiAgICBlZGl0U2V0dGluZyxcclxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcclxuICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBzY29wZWQ+XHJcbiAgLmZvcm1EaXZ7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG4gIH1cclxuICAuZm9ybURpdi1sZWZ0IHtcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDM1JTtcclxuICAgIGxpbmUtaGVpZ2h0OjYwcHg7XHJcbiAgICB0ZXh0LWFsaWduOnJpZ2h0O1xyXG4gICAgZm9udC1zaXplOjE1cHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gIH1cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdGltZUxhYmVsL2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///187\n");
1324
1325/***/ }),
1326/* 188 */
1327/***/ (function(module, exports, __webpack_require__) {
1328
1329"use strict";
1330eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(23);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _name$data$components;\n\nvar _commomHoverModal = __webpack_require__(13);\n\nvar _commomHoverModal2 = _interopRequireDefault(_commomHoverModal);\n\nvar _property = __webpack_require__(725);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = (_name$data$components = {\n name: \"timeRange\",\n data: function data() {\n return {\n property: {\n label: '时间区间'\n },\n extend: {\n placeholder: \"\",\n type: \"HH:mm:ss\"\n },\n text: 'input',\n styles: {},\n type: 'time-timerange',\n level: _property.editSetting.level\n };\n },\n\n components: {\n commomHoverModal: _commomHoverModal2.default\n },\n methods: {\n show: function show() {\n this.$refs.commomHoverModal.handleMouseEnter();\n },\n hide: function hide() {\n this.$refs.commomHoverModal.handleMouseLeave();\n }\n },\n editSetting: _property.editSetting\n}, (0, _defineProperty3.default)(_name$data$components, 'name', _property.editSetting.key), (0, _defineProperty3.default)(_name$data$components, 'level', _property.editSetting.level), _name$data$components);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS90aW1lUmFuZ2UvaW5kZXgudnVlPzFmZDEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQTZCQTs7Ozs7QUFFQSxxQjtBQUNBLFEsa0JBQUE7QUFDQTtBQUNBO0FBQ0E7QUFEQSxhQURBO0FBSUE7QUFDQSwrQkFEQTtBQUVBO0FBRkEsYUFKQTtBQVFBLHlCQVJBO0FBU0Esc0JBVEE7QUFVQSxrQ0FWQTtBQVdBO0FBWEE7QUFhQSxLOztBQUNBO0FBQ0E7QUFEQSxLO0FBR0E7QUFDQSxZQURBLGtCQUNBO0FBQ0E7QUFDQSxTQUhBO0FBSUEsWUFKQSxrQkFJQTtBQUNBO0FBQ0E7QUFOQSxLO0FBUUE7Z0VBQ0EseUIsaUVBQ0EsMkIiLCJmaWxlIjoiMTg4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm1EaXZcIiAgIEBtb3VzZWVudGVyPVwic2hvd1wiIEBtb3VzZWxlYXZlPVwiaGlkZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtRGl2LWxlZnRcIj5cclxuICAgICAgICAgICAgPExhYmVsIDpzdHlsZT1cInttYXJnaW5MZWZ0Oic1cHgnfVwiPnt7cHJvcGVydHkubGFiZWx9fTwvTGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm1EaXYtcmlnaHRcIj5cclxuICAgICAgICAgICAgPFRpbWVQaWNrZXJcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGltZXJhbmdlXCJcclxuICAgICAgICAgICAgICAgICAgICA6ZWRpdGFibGU9XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgOmZvcm1hdD1cImV4dGVuZC50eXBlXCJcclxuICAgICAgICAgICAgICAgICAgICA6cGxhY2Vob2xkZXI9ZXh0ZW5kLnBsYWNlaG9sZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1lU3R5bGVcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvVGltZVBpY2tlciA+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGNvbW1vbUhvdmVyTW9kYWwgcmVmPVwiY29tbW9tSG92ZXJNb2RhbFwiID48L2NvbW1vbUhvdmVyTW9kYWw+XHJcblxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG4gICAgLyoqXHJcbiAgICAgKkBhdXRob3IgICAgIOm7hOS9s1xyXG4gICAgICpAZGF0ZSAgICAgICAyMDE5LzkvMjYgIDE0OjQ1XHJcbiAgICAgKkBDb3B5cmlnaHQg5aSp5rqQ6L+q56eR5L+h5oGv5oqA5pyv6IKh5Lu95pyJ6ZmQ5YWs5Y+4XHJcbiAgICAgKkBEZXNjcmlwdGlvblxyXG4gICAgICovXHJcbiAgICBpbXBvcnQgY29tbW9tSG92ZXJNb2RhbCBmcm9tICcuLi8uLi9jb21tb24vY29tbW9tSG92ZXJNb2RhbCdcclxuXHJcbiAgICBpbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcclxuICAgIGV4cG9ydCBkZWZhdWx0IHtcclxuICAgICAgICBuYW1lOiBcInRpbWVSYW5nZVwiLFxyXG4gICAgICAgIGRhdGEgKCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgcHJvcGVydHk6e1xyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIDogJ+aXtumXtOWMuumXtCcsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgZXh0ZW5kOntcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjpcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6XCJISDptbTpzc1wiLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHRleHQ6ICdpbnB1dCcsXHJcbiAgICAgICAgICAgICAgICBzdHlsZXM6IHt9LFxyXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RpbWUtdGltZXJhbmdlJyxcclxuICAgICAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBvbmVudHM6e1xyXG4gICAgICAgICAgICBjb21tb21Ib3Zlck1vZGFsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBtZXRob2RzOntcclxuICAgICAgICAgICAgc2hvdygpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlRW50ZXIoKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaGlkZSgpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlTGVhdmUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZWRpdFNldHRpbmcsXHJcbiAgICAgICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxyXG4gICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxyXG4gICAgfVxyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBzY29wZWQ+XHJcbiAgICAuZm9ybURpdntcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuICAgIC5mb3JtRGl2LWxlZnQge1xyXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAzNSU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjpyaWdodDtcclxuICAgICAgICBmb250LXNpemU6MTVweDtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgIH1cclxuICAgIC50aW1lU3R5bGUge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcbiAgICAuZm9ybURpdi1yaWdodCB7XHJcbiAgICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgfVxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS90aW1lUmFuZ2UvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///188\n");
1331
1332/***/ }),
1333/* 189 */
1334/***/ (function(module, exports, __webpack_require__) {
1335
1336"use strict";
1337eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(730);\n\nvar _commomHoverModal = __webpack_require__(13);\n\nvar _commomHoverModal2 = _interopRequireDefault(_commomHoverModal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: {\n commomHoverModal: _commomHoverModal2.default\n },\n methods: {\n show: function show() {\n this.$refs.commomHoverModal.handleMouseEnter();\n },\n hide: function hide() {\n this.$refs.commomHoverModal.handleMouseLeave();\n }\n },\n data: function data() {\n return {\n extend: {\n content: '无'\n },\n text: 'label',\n styles: {\n display: 'inline-block',\n width: '40%',\n height: '60px',\n lineHeight: '60px',\n textAlign: 'right',\n fontSize: '15px'\n },\n type: 'label',\n level: _property.editSetting.level\n };\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS90aXAtYWxlcnQvaW5kZXgudnVlPzMwNmIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFvQkE7Ozs7OztrQkFFQTtBQVNBO0FBQ0E7QUFEQSxLQVRBO0FBWUE7QUFDQSxZQURBLGtCQUNBO0FBQ0E7QUFDQSxTQUhBO0FBSUEsWUFKQSxrQkFJQTtBQUNBO0FBQ0E7QUFOQSxLQVpBO0FBb0JBLFFBcEJBLGtCQW9CQTtBQUNBO0FBQ0E7QUFDQTtBQURBLGFBREE7QUFJQSx5QkFKQTtBQUtBO0FBQ0EsdUNBREE7QUFFQSw0QkFGQTtBQUdBLDhCQUhBO0FBSUEsa0NBSkE7QUFLQSxrQ0FMQTtBQU1BO0FBTkEsYUFMQTtBQWFBLHlCQWJBO0FBY0E7QUFkQTtBQWdCQSxLQXJDQTs7QUFzQ0Esc0NBdENBO0FBdUNBLG1DQXZDQTtBQXdDQTtBQXhDQSxDIiwiZmlsZSI6IjE4OS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICA8ZGl2IGNsYXNzPVwiZm9ybURpdlwiICAgQG1vdXNlZW50ZXI9XCJzaG93XCIgQG1vdXNlbGVhdmU9XCJoaWRlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybURpdi1sZWZ0XCI+XHJcbiAgICAgIDxMYWJlbCA6c3R5bGU9XCJ7bWFyZ2luTGVmdDonNXB4J31cIj48L0xhYmVsPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybURpdi1yaWdodFwiPlxyXG4gICAgICA8QWxlcnQgIGNsYXNzPVwidGlwQWxlcnRcIiBzaG93LWljb24gPlxyXG4gICAgICAgIDxkaXYgdi1odG1sPVwiZXh0ZW5kLmNvbnRlbnRcIlxyXG4gICAgICAgICAgICAgOnBsYWNlaG9sZGVyPWV4dGVuZC5wbGFjZWhvbGRlclxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvQWxlcnQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxjb21tb21Ib3Zlck1vZGFsIHJlZj1cImNvbW1vbUhvdmVyTW9kYWxcIiA+PC9jb21tb21Ib3Zlck1vZGFsPlxyXG5cclxuICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCB7ZWRpdFNldHRpbmd9IGZyb20gJy4vcHJvcGVydHknO1xyXG5cclxuaW1wb3J0IGNvbW1vbUhvdmVyTW9kYWwgZnJvbSAnLi4vLi4vY29tbW9uL2NvbW1vbUhvdmVyTW9kYWwnXHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICAvLyBwcm9wczoge1xyXG4gICAgLy8gICAgIHRleHQ6IHtcclxuICAgIC8vICAgICAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgLy8gICAgICAgICBkZWZhdWx0OiAnQnV0dG9uIFRleHQnXHJcbiAgICAvLyAgICAgfSxcclxuICAgIC8vICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAvLyAgICAgc3R5bGVzOiBPYmplY3RcclxuICAgIC8vIH0sXHJcbiAgICBjb21wb25lbnRzOntcclxuICAgICAgICBjb21tb21Ib3Zlck1vZGFsXHJcbiAgICB9LFxyXG4gICAgbWV0aG9kczp7XHJcbiAgICAgICAgc2hvdygpe1xyXG4gICAgICAgICAgICB0aGlzLiRyZWZzLmNvbW1vbUhvdmVyTW9kYWwuaGFuZGxlTW91c2VFbnRlcigpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaGlkZSgpe1xyXG4gICAgICAgICAgICB0aGlzLiRyZWZzLmNvbW1vbUhvdmVyTW9kYWwuaGFuZGxlTW91c2VMZWF2ZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBleHRlbmQ6e1xyXG4gICAgICAgICAgICAgICAgY29udGVudCA6ICfml6AnLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0ZXh0OiAnbGFiZWwnLFxyXG4gICAgICAgICAgICBzdHlsZXM6IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6J2lubGluZS1ibG9jaycsXHJcbiAgICAgICAgICAgICAgICB3aWR0aDonNDAlJyxcclxuICAgICAgICAgICAgICAgIGhlaWdodDonNjBweCcsXHJcbiAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0Oic2MHB4JyxcclxuICAgICAgICAgICAgICAgIHRleHRBbGlnbjoncmlnaHQnLFxyXG4gICAgICAgICAgICAgICAgZm9udFNpemU6JzE1cHgnXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHR5cGU6ICdsYWJlbCcsXHJcbiAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIGVkaXRTZXR0aW5nLFxyXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxyXG4gICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIHNjb3BlZD5cclxuICAuZm9ybURpdntcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcbiAgLmZvcm1EaXYtbGVmdCB7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAzNSU7XHJcbiAgICBoZWlnaHQ6NjBweDtcclxuICAgIHRleHQtYWxpZ246cmlnaHQ7XHJcbiAgICBmb250LXNpemU6MTVweDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgfVxyXG4gIC5mb3JtRGl2LXJpZ2h0IHtcclxuICAgIHdpZHRoOiA2MCU7XHJcbiAgICBsaW5lLWhlaWdodDogNjBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgbWFyZ2luOiAxNHB4IDBweCAwcHg7XHJcbiAgfVxyXG4gIC50aXBBbGVydHtcclxuICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgIHdvcmQtd3JhcDpicmVhay13b3JkO1xyXG4gIH1cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdGlwLWFsZXJ0L2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///189\n");
1338
1339/***/ }),
1340/* 190 */
1341/***/ (function(module, exports, __webpack_require__) {
1342
1343"use strict";
1344eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _commomHoverModal = __webpack_require__(13);\n\nvar _commomHoverModal2 = _interopRequireDefault(_commomHoverModal);\n\nvar _property = __webpack_require__(735);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n data: function data() {\n return {\n property: {\n label: '附件'\n },\n extend: {\n placeholder: \"\"\n },\n text: 'input',\n type: 'input',\n level: _property.editSetting.level\n };\n },\n\n components: {\n commomHoverModal: _commomHoverModal2.default\n },\n methods: {\n show: function show() {\n this.$refs.commomHoverModal.handleMouseEnter();\n },\n hide: function hide() {\n this.$refs.commomHoverModal.handleMouseLeave();\n }\n },\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level,\n mounted: function mounted() {\n var currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\n if (currentInstance.data.validateArr.length > 0) {\n return \"\";\n }\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS91cGxvYWQvaW5kZXgudnVlPzBmZGIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQTBCQTs7OztrQkFDQTtBQVNBLFFBVEEsa0JBU0E7QUFDQTtBQUNBO0FBQ0E7QUFEQSxhQURBO0FBSUE7QUFDQTtBQURBLGFBSkE7QUFPQSx5QkFQQTtBQVFBLHlCQVJBO0FBU0E7QUFUQTtBQVdBLEtBckJBOztBQXNCQTtBQUNBO0FBREEsS0F0QkE7QUF5QkE7QUFDQSxZQURBLGtCQUNBO0FBQ0E7QUFDQSxTQUhBO0FBSUEsWUFKQSxrQkFJQTtBQUNBO0FBQ0E7QUFOQSxLQXpCQTtBQWlDQSxzQ0FqQ0E7QUFrQ0EsbUNBbENBO0FBbUNBLHNDQW5DQTtBQW9DQSxXQXBDQSxxQkFvQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBMUNBLEMiLCJmaWxlIjoiMTkwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gIDxkaXYgY2xhc3M9XCJmb3JtRGl2XCIgIEBtb3VzZWVudGVyPVwic2hvd1wiIEBtb3VzZWxlYXZlPVwiaGlkZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm1EaXYtbGVmdFwiPlxyXG4gICAgICA8TGFiZWwgPiB7e3Byb3BlcnR5LmxhYmVsfX08L0xhYmVsPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybURpdi1yaWdodFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaXZ1LXVwbG9hZFwiID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaXZ1LXVwbG9hZCBpdnUtdXBsb2FkLWRyYWdcIiA+XHJcbiAgICAgICAgICA8ZGl2IHN0eWxlPVwibGluZS1oZWlnaHQ6IDIwcHg7Ym9yZGVyOiAwcHg7XCI+XHJcbiAgICAgICAgICAgIDwhLS0gPGltZyBjbGFzcz1cImRlZmF1bHRQaWNcIiBzcmM9XCIuLi8uLi8uLi9pbWFnZXMvdTg4Mi5zdmdcIiBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT1cInBhZGRpbmctdG9wOiAzMHB4O3dpZHRoOiAyNHB4O1wiPlxyXG4gICAgICAgICAgICAgPGltZyBjbGFzcz1cIm1vdXNlSG92ZXJQaWNcIiBzcmM9XCIuLi8uLi8uLi9pbWFnZXMvdTg4Ml9tb3VzZU92ZXIuc3ZnXCIgYWx0PVwiXCJcclxuICAgICAgICAgICAgICAgICAgc3R5bGU9XCJwYWRkaW5nLXRvcDogMzBweDt3aWR0aDogMjRweDtcIj4tLT5cclxuICAgICAgICAgICAgPEJ1dHRvbiB0eXBlPVwicHJpbWFyeVwiIHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrO2JvcmRlci1yYWRpdXM6IDNweDtcIj7mnKzlnLDkuIrkvKA8L0J1dHRvbj5cclxuICAgICAgICAgICAgPHAgc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHB4O2Rpc3BsYXk6IGlubGluZS1ibG9jaztcIiB0aXRsZT1cIuivtOaYjjrmr4/kuKrpmYTku7bpmZDliLblpKflsI81ME0s5pyA5aSa5LiK5LygMTDkuKrpmYTku7bjgIJcIj7or7TmmI465q+P5Liq6ZmE5Lu26ZmQ5Yi25aSn5bCPNTBNLOacgOWkmuS4iuS8oDEw5Liq6ZmE5Lu244CCPC9wPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvbW1vbUhvdmVyTW9kYWwgcmVmPVwiY29tbW9tSG92ZXJNb2RhbFwiID48L2NvbW1vbUhvdmVyTW9kYWw+XHJcblxyXG4gIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIGltcG9ydCBjb21tb21Ib3Zlck1vZGFsIGZyb20gJy4uLy4uL2NvbW1vbi9jb21tb21Ib3Zlck1vZGFsJ1xyXG5cclxuICAgIGltcG9ydCB7ZWRpdFNldHRpbmd9IGZyb20gJy4vcHJvcGVydHknO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICAvLyBwcm9wczoge1xyXG4gICAgLy8gICAgIHRleHQ6IHtcclxuICAgIC8vICAgICAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgLy8gICAgICAgICBkZWZhdWx0OiAnQnV0dG9uIFRleHQnXHJcbiAgICAvLyAgICAgfSxcclxuICAgIC8vICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAvLyAgICAgc3R5bGVzOiBPYmplY3RcclxuICAgIC8vIH0sXHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBwcm9wZXJ0eTp7XHJcbiAgICAgICAgICAgICAgICBsYWJlbCA6ICfpmYTku7YnXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGV4dGVuZDp7XHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjpcIlwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHRleHQ6ICdpbnB1dCcsXHJcbiAgICAgICAgICAgIHR5cGU6ICdpbnB1dCcsXHJcbiAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxyXG4gICAgICAgIH07XHJcbiAgICB9LFxyXG4gICAgY29tcG9uZW50czp7XHJcbiAgICAgICAgY29tbW9tSG92ZXJNb2RhbFxyXG4gICAgfSxcclxuICAgIG1ldGhvZHM6e1xyXG4gICAgICAgIHNob3coKXtcclxuICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlRW50ZXIoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGhpZGUoKXtcclxuICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlTGVhdmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgZWRpdFNldHRpbmcsXHJcbiAgICBuYW1lOiBlZGl0U2V0dGluZy5rZXksXHJcbiAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXHJcbiAgICBtb3VudGVkKCl7XHJcbiAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZSA9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcy5nZXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgaWYoY3VycmVudEluc3RhbmNlLmRhdGEudmFsaWRhdGVBcnIubGVuZ3RoPjApe1xyXG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcclxuICAgICAgICAgICAgLy9ub3RlIOWmguaenOacieWAvO+8jOWwhuS4jeS8muWGjei/m+ihjOaTjeS9nO+8jOWQpuWImeWwhuS8muaWsOWinuS4gOS4qlxyXG4gICAgICAgIH1cclxuICAgIH1cclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgc2NvcGVkPlxyXG4gIC5pdnUtdXBsb2Fke1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGJvcmRlcjogMHB4O1xyXG4gIH1cclxuICAuZm9ybURpdntcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIH1cclxuICAuZm9ybURpdi1sZWZ0IHtcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDM1JTtcclxuICAgIGhlaWdodDo0MHB4O1xyXG4gICAgdGV4dC1hbGlnbjpyaWdodDtcclxuICAgIGZvbnQtc2l6ZToxNXB4O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtYXJnaW46IDAgMTBweDtcclxuICB9XHJcbiAgLmZvcm1EaXYtcmlnaHQge1xyXG4gICAgd2lkdGg6IDYwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgbWFyZ2luOiAxMS41cHggMHB4O1xyXG4gIH1cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdXBsb2FkL2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///190\n");
1345
1346/***/ }),
1347/* 191 */
1348/***/ (function(module, exports, __webpack_require__) {
1349
1350"use strict";
1351eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(740);\n\nexports.default = {\n data: function data() {\n return {\n text: 'form-radio',\n styles: {\n height: '102px',\n width: '566px',\n margin: '10px'\n },\n type: 'form-radio',\n imgUrl: '/lib/static/img/address-select.png',\n level: _property.editSetting.level\n };\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vYWRkcmVzcy1zZWxlY3QvaW5kZXgudnVlPzY5MDAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7a0JBUUE7QUFTQSxRQVRBLGtCQVNBO0FBQ0E7QUFDQSw4QkFEQTtBQUVBO0FBQ0EsK0JBREE7QUFFQSw4QkFGQTtBQUdBO0FBSEEsYUFGQTtBQU9BLDhCQVBBO0FBUUEsd0RBUkE7QUFTQTtBQVRBO0FBV0EsS0FyQkE7O0FBc0JBLHNDQXRCQTtBQXVCQSxtQ0F2QkE7QUF3QkE7QUF4QkEsQyIsImZpbGUiOiIxOTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgPGRpdj5cclxuICAgIDxpbWcgOnNyYz1cImltZ1VybFwiIGFsdD1cIlwiIDpzdHlsZT1cInN0eWxlc1wiPlxyXG4gIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIGltcG9ydCB7ZWRpdFNldHRpbmd9IGZyb20gJy4vcHJvcGVydHknO1xyXG4gICAgZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgICAgIC8vIHByb3BzOiB7XHJcbiAgICAgICAgLy8gICAgIHRleHQ6IHtcclxuICAgICAgICAvLyAgICAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgICAgICAvLyAgICAgICAgIGRlZmF1bHQ6ICdCdXR0b24gVGV4dCdcclxuICAgICAgICAvLyAgICAgfSxcclxuICAgICAgICAvLyAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgICAgIC8vICAgICBzdHlsZXM6IE9iamVjdFxyXG4gICAgICAgIC8vIH0sXHJcbiAgICAgICAgZGF0YSAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0OiAnZm9ybS1yYWRpbycsXHJcbiAgICAgICAgICAgICAgICBzdHlsZXM6IHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6JzEwMnB4JyxcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDonNTY2cHgnLFxyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjonMTBweCdcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnZm9ybS1yYWRpbycsXHJcbiAgICAgICAgICAgICAgICBpbWdVcmw6Jy9saWIvc3RhdGljL2ltZy9hZGRyZXNzLXNlbGVjdC5wbmcnLFxyXG4gICAgICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZWRpdFNldHRpbmcsXHJcbiAgICAgICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxyXG4gICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcclxuICAgIH07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2FkZHJlc3Mtc2VsZWN0L2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///191\n");
1352
1353/***/ }),
1354/* 192 */
1355/***/ (function(module, exports, __webpack_require__) {
1356
1357"use strict";
1358eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(745);\n\nexports.default = {\n computed: {\n getLabel: function getLabel() {\n return this.property.book;\n }\n },\n\n data: function data() {\n return {\n property: {\n title: '标题'\n },\n text: 'input',\n type: 'input',\n level: _property.editSetting.level\n };\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vYWdyZWUtY2hlY2svaW5kZXgudnVlPzk2MDQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7a0JBU0E7QUFTQTtBQUNBLGdCQURBLHNCQUNBO0FBQ0E7QUFDQTtBQUhBLEtBVEE7O0FBZUEsUUFmQSxrQkFlQTtBQUNBO0FBQ0E7QUFDQTtBQURBLGFBREE7QUFJQSx5QkFKQTtBQUtBLHlCQUxBO0FBTUE7QUFOQTtBQVFBLEtBeEJBOztBQXlCQSxzQ0F6QkE7QUEwQkEsbUNBMUJBO0FBMkJBO0FBM0JBLEMiLCJmaWxlIjoiMTkyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiZm9ybVRpdGxlXCIgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7XCI+XHJcbiAgICB7e2dldExhYmVsfX1cclxuICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbiAgICBpbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcclxuICAgIGV4cG9ydCBkZWZhdWx0IHtcclxuICAgICAgICAvLyBwcm9wczoge1xyXG4gICAgICAgIC8vICAgICB0ZXh0OiB7XHJcbiAgICAgICAgLy8gICAgICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAgICAgLy8gICAgICAgICBkZWZhdWx0OiAnQnV0dG9uIFRleHQnXHJcbiAgICAgICAgLy8gICAgIH0sXHJcbiAgICAgICAgLy8gICAgIHR5cGU6IFN0cmluZyxcclxuICAgICAgICAvLyAgICAgc3R5bGVzOiBPYmplY3RcclxuICAgICAgICAvLyB9LFxyXG4gICAgICAgIGNvbXB1dGVkOntcclxuICAgICAgICAgICAgZ2V0TGFiZWwoKXtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb3BlcnR5LmJvb2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG5cclxuICAgICAgICBkYXRhICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHByb3BlcnR5OntcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZSA6ICfmoIfpopgnLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHRleHQ6ICdpbnB1dCcsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW5wdXQnLFxyXG4gICAgICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlZGl0U2V0dGluZyxcclxuICAgICAgICBuYW1lOiBlZGl0U2V0dGluZy5rZXksXHJcbiAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXHJcbiAgICB9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBzY29wZWQ+XHJcbiAgLmZvcm1EaXZ7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHJcbiAgfVxyXG4gIC5pbnB1dFN0eWxle1xyXG4gICAgaGVpZ2h0OjQwcHg7XHJcbiAgICB3aWR0aDoyMDBweDtcclxuICAgIG1hcmdpbjoxMHB4O1xyXG4gIH1cclxuXHJcbiAgLmZvcm1UaXRsZSB7XHJcbiAgICBmb250LWZhbWlseTogJ0FyaWFsTVQnLCAnQXJpYWwnO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzRBODlEQztcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBjb2xvcjogIzRBODlEQztcclxuICB9XHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9hZ3JlZS1jaGVjay9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///192\n");
1359
1360/***/ }),
1361/* 193 */
1362/***/ (function(module, exports, __webpack_require__) {
1363
1364"use strict";
1365eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(750);\n\nexports.default = {\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level,\n computed: {\n getLabel: function getLabel() {\n return this.property.headerTitle;\n }\n },\n data: function data() {\n return {\n property: {\n headerTitle: '标题'\n },\n styles: {\n minWidth: '100px',\n minHeight: '200px',\n width: '90%',\n marginRight: '50px',\n border: '1px solid #ccc',\n margin: '10px auto',\n padding: 'auto'\n },\n level: _property.editSetting.level\n };\n },\n mounted: function mounted() {}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vY2VsbC9pbmRleC52dWU/YmM1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztrQkFXQTtBQUNBLHNDQURBO0FBRUEsbUNBRkE7QUFHQSxzQ0FIQTtBQUlBO0FBQ0EsZ0JBREEsc0JBQ0E7QUFDQTtBQUNBO0FBSEEsS0FKQTtBQVNBLFFBVEEsa0JBU0E7QUFDQTtBQUNBO0FBQ0E7QUFEQSxhQURBO0FBSUE7QUFDQSxpQ0FEQTtBQUVBLGtDQUZBO0FBR0EsNEJBSEE7QUFJQSxtQ0FKQTtBQUtBLHdDQUxBO0FBTUEsbUNBTkE7QUFPQTtBQVBBLGFBSkE7QUFhQTtBQWJBO0FBZUEsS0F6QkE7QUEwQkEsV0ExQkEscUJBMEJBLENBQ0E7QUEzQkEsQyIsImZpbGUiOiIxOTMuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgPGRpdiA6c3R5bGU9XCJzdHlsZXNcIiAgIGRhdGEtc2xvdC1uYW1lPSdkZWZhdWx0JyA+XHJcbiAgICA8cCBjbGFzcz1cImJhc2VJbmZvLVBcIj5cclxuICAgICAge3tnZXRMYWJlbH19XHJcbiAgICAgIDwhLS0tLT48L3A+XHJcbiAgICA8c2xvdD48L3Nsb3Q+XHJcbiAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQgeyBlZGl0U2V0dGluZyB9IGZyb20gJy4vcHJvcGVydHknO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICBlZGl0U2V0dGluZyxcclxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcclxuICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcclxuICAgIGNvbXB1dGVkOntcclxuICAgICAgICBnZXRMYWJlbCgpe1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0eS5oZWFkZXJUaXRsZTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgZGF0YSAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgcHJvcGVydHk6e1xyXG4gICAgICAgICAgICAgICAgaGVhZGVyVGl0bGUgOiAn5qCH6aKYJyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgc3R5bGVzOiB7XHJcbiAgICAgICAgICAgICAgICBtaW5XaWR0aDogJzEwMHB4JyxcclxuICAgICAgICAgICAgICAgIG1pbkhlaWdodDogJzIwMHB4JyxcclxuICAgICAgICAgICAgICAgIHdpZHRoOic5MCUnLFxyXG4gICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6ICc1MHB4JyxcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogJzFweCBzb2xpZCAjY2NjJyxcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogJzEwcHggYXV0bycsXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAnYXV0bydcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxyXG4gICAgICAgIH07XHJcbiAgICB9LFxyXG4gICAgbW91bnRlZCAoKSB7XHJcbiAgICB9XHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIHNjb3BlZD5cclxuICAuYmFzZUluZm8tUCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICBjb2xvcjogIzRBODlEQztcclxuICAgIGJhY2tncm91bmQ6ICNlY2VjZWM7XHJcbiAgfVxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vY2VsbC9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///193\n");
1366
1367/***/ }),
1368/* 194 */
1369/***/ (function(module, exports, __webpack_require__) {
1370
1371"use strict";
1372eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(755);\n\nexports.default = {\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level,\n data: function data() {\n return {\n styles: {\n minWidth: '90%',\n minHeight: '200px',\n border: '1px solid #ccc',\n backgroundColor: '#fcfcfc'\n },\n title: 'cell-table',\n type: 'cell-table',\n level: _property.editSetting.level\n };\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vY2VsbFRhYmxlL2luZGV4LnZ1ZT9lNzYwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O2tCQVVBO0FBQ0Esc0NBREE7QUFFQSxtQ0FGQTtBQUdBLHNDQUhBO0FBSUEsUUFKQSxrQkFJQTtBQUNBO0FBQ0E7QUFDQSwrQkFEQTtBQUVBLGtDQUZBO0FBR0Esd0NBSEE7QUFJQTtBQUpBLGFBREE7QUFPQSwrQkFQQTtBQVFBLDhCQVJBO0FBU0E7QUFUQTtBQVdBO0FBaEJBLEMiLCJmaWxlIjoiMTk0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gICAgPGRpdiBzdHlsZT1cIndpZHRoOiA5OCU7bWFyZ2luOiAxMHB4IGF1dG87XCI+XHJcbiAgICAgICAgPEZvcm0gY2xhc3M9XCJ0eS1jb250ZW50LWVsZW1lbnQtZm9ybSBnYWVhLXNsb3RcIiA6c3R5bGU9XCJzdHlsZXNcIiAgIGRhdGEtc2xvdC1uYW1lPSdkZWZhdWx0JyA+XHJcbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cclxuICAgICAgICA8L0Zvcm0+XHJcbiAgICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCB7ZWRpdFNldHRpbmd9IGZyb20gJy4vcHJvcGVydHknO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICBlZGl0U2V0dGluZyxcclxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcclxuICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHN0eWxlczoge1xyXG4gICAgICAgICAgICAgICAgbWluV2lkdGg6ICc5MCUnLFxyXG4gICAgICAgICAgICAgICAgbWluSGVpZ2h0OiAnMjAwcHgnLFxyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkICNjY2MnLFxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOicjZmNmY2ZjJ1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0aXRsZTogJ2NlbGwtdGFibGUnLFxyXG4gICAgICAgICAgICB0eXBlOidjZWxsLXRhYmxlJyxcclxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2NlbGxUYWJsZS9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///194\n");
1373
1374/***/ }),
1375/* 195 */
1376/***/ (function(module, exports, __webpack_require__) {
1377
1378"use strict";
1379eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(760);\n\nexports.default = {\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level,\n data: function data() {\n return {\n styles: {\n width: '100%',\n backgroundColor: '#fff',\n border: '0px'\n },\n type: 'form',\n title: 'Form',\n level: _property.editSetting.level\n };\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vZm9ybS9pbmRleC52dWU/MDM5ZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztrQkFPQTtBQUNBLHNDQURBO0FBRUEsbUNBRkE7QUFHQSxzQ0FIQTtBQUlBLFFBSkEsa0JBSUE7QUFDQTtBQUNBO0FBQ0EsNkJBREE7QUFFQSx1Q0FGQTtBQUdBO0FBSEEsYUFEQTtBQU1BLHdCQU5BO0FBT0EseUJBUEE7QUFRQTtBQVJBO0FBVUE7QUFmQSxDIiwiZmlsZSI6IjE5NS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICAgICAgICA8Rm9ybSBjbGFzcz1cInR5LWNvbnRlbnQtZWxlbWVudC1mb3JtIGdhZWEtc2xvdFwiIDpzdHlsZT1cInN0eWxlc1wiIHN0eWxlPVwiYm9yZGVyOiAwcHg7XCIgIGRhdGEtc2xvdC1uYW1lPSdkZWZhdWx0JyA+XHJcbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cclxuICAgICAgICA8L0Zvcm0+XHJcbjwvdGVtcGxhdGU+XHJcbjxzY3JpcHQ+XHJcbmltcG9ydCB7ZWRpdFNldHRpbmd9IGZyb20gJy4vcHJvcGVydHknO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICBlZGl0U2V0dGluZyxcclxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcclxuICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHN0eWxlczoge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6JzEwMCUnLFxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOicjZmZmJyxcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogJzBweCdcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdHlwZTonZm9ybScsXHJcbiAgICAgICAgICAgIHRpdGxlOiAnRm9ybScsXHJcbiAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2Zvcm0vaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///195\n");
1380
1381/***/ }),
1382/* 196 */
1383/***/ (function(module, exports, __webpack_require__) {
1384
1385"use strict";
1386eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(765);\n\nexports.default = {\n data: function data() {\n return {\n text: 'form-radio',\n styles: {\n height: '102px',\n width: '566px',\n margin: '10px'\n },\n type: 'form-radio',\n imgUrl: '/lib/static/img/form-radio.png',\n level: _property.editSetting.level\n };\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vZm9ybVJhZGlvL2luZGV4LnZ1ZT85NTM4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O2tCQVFBO0FBU0EsUUFUQSxrQkFTQTtBQUNBO0FBQ0EsOEJBREE7QUFFQTtBQUNBLCtCQURBO0FBRUEsOEJBRkE7QUFHQTtBQUhBLGFBRkE7QUFPQSw4QkFQQTtBQVFBLG9EQVJBO0FBU0E7QUFUQTtBQVdBLEtBckJBOztBQXNCQSxzQ0F0QkE7QUF1QkEsbUNBdkJBO0FBd0JBO0FBeEJBLEMiLCJmaWxlIjoiMTk2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gIDxkaXY+XHJcbiAgICA8aW1nIDpzcmM9XCJpbWdVcmxcIiBhbHQ9XCJcIiA6c3R5bGU9XCJzdHlsZXNcIj5cclxuICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCB7ZWRpdFNldHRpbmd9IGZyb20gJy4vcHJvcGVydHknO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICAvLyBwcm9wczoge1xyXG4gICAgLy8gICAgIHRleHQ6IHtcclxuICAgIC8vICAgICAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgLy8gICAgICAgICBkZWZhdWx0OiAnQnV0dG9uIFRleHQnXHJcbiAgICAvLyAgICAgfSxcclxuICAgIC8vICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAvLyAgICAgc3R5bGVzOiBPYmplY3RcclxuICAgIC8vIH0sXHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB0ZXh0OiAnZm9ybS1yYWRpbycsXHJcbiAgICAgICAgICAgIHN0eWxlczoge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OicxMDJweCcsXHJcbiAgICAgICAgICAgICAgICB3aWR0aDonNTY2cHgnLFxyXG4gICAgICAgICAgICAgICAgbWFyZ2luOicxMHB4J1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0eXBlOiAnZm9ybS1yYWRpbycsXHJcbiAgICAgICAgICAgIGltZ1VybDonL2xpYi9zdGF0aWMvaW1nL2Zvcm0tcmFkaW8ucG5nJyxcclxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxyXG4gICAgICAgIH07XHJcbiAgICB9LFxyXG4gICAgZWRpdFNldHRpbmcsXHJcbiAgICBuYW1lOiBlZGl0U2V0dGluZy5rZXksXHJcbiAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2Zvcm1SYWRpby9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///196\n");
1387
1388/***/ }),
1389/* 197 */
1390/***/ (function(module, exports, __webpack_require__) {
1391
1392"use strict";
1393eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(770);\n\nexports.default = {\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level,\n data: function data() {\n return {\n styles: {\n margin: '10px auto',\n width: '95%',\n minHeight: '200px',\n border: '1px solid #ccc',\n backgroundColor: '#fcfcfc'\n },\n title: 'form-table',\n type: 'form-table',\n level: _property.editSetting.level\n };\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vZm9ybVRhYmxlL2luZGV4LnZ1ZT80N2I4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O2tCQVFBO0FBQ0Esc0NBREE7QUFFQSxtQ0FGQTtBQUdBLHNDQUhBO0FBSUEsUUFKQSxrQkFJQTtBQUNBO0FBQ0E7QUFDQSxtQ0FEQTtBQUVBLDRCQUZBO0FBR0Esa0NBSEE7QUFJQSx3Q0FKQTtBQUtBO0FBTEEsYUFEQTtBQVFBLCtCQVJBO0FBU0EsOEJBVEE7QUFVQTtBQVZBO0FBWUE7QUFqQkEsQyIsImZpbGUiOiIxOTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICAgICAgPEZvcm0gY2xhc3M9XCJ0eS1jb250ZW50LWVsZW1lbnQtZm9ybSBnYWVhLXNsb3RcIiA6c3R5bGU9XCJzdHlsZXNcIiAgIGRhdGEtc2xvdC1uYW1lPSdkZWZhdWx0JyA+XHJcbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cclxuICAgICAgICA8L0Zvcm0+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgZWRpdFNldHRpbmcsXHJcbiAgICBuYW1lOiBlZGl0U2V0dGluZy5rZXksXHJcbiAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBzdHlsZXM6IHtcclxuICAgICAgICAgICAgICBtYXJnaW46ICcxMHB4IGF1dG8nLFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICc5NSUnLFxyXG4gICAgICAgICAgICAgICAgbWluSGVpZ2h0OiAnMjAwcHgnLFxyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkICNjY2MnLFxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOicjZmNmY2ZjJ1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0aXRsZTogJ2Zvcm0tdGFibGUnLFxyXG4gICAgICAgICAgICB0eXBlOidmb3JtLXRhYmxlJyxcclxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2Zvcm1UYWJsZS9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///197\n");
1394
1395/***/ }),
1396/* 198 */
1397/***/ (function(module, exports, __webpack_require__) {
1398
1399"use strict";
1400eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(775);\n\nexports.default = {\n data: function data() {\n return {\n text: 'form-radio',\n styles: {\n height: '102px',\n width: '566px',\n margin: '10px'\n },\n type: 'form-radio',\n imgUrl: '/lib/static/img/address-select.png',\n level: _property.editSetting.level\n };\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vaWRlbnRpdHktY2hlY2svaW5kZXgudnVlP2RjOTEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7a0JBUUE7QUFTQSxRQVRBLGtCQVNBO0FBQ0E7QUFDQSw4QkFEQTtBQUVBO0FBQ0EsK0JBREE7QUFFQSw4QkFGQTtBQUdBO0FBSEEsYUFGQTtBQU9BLDhCQVBBO0FBUUEsd0RBUkE7QUFTQTtBQVRBO0FBV0EsS0FyQkE7O0FBc0JBLHNDQXRCQTtBQXVCQSxtQ0F2QkE7QUF3QkE7QUF4QkEsQyIsImZpbGUiOiIxOTguanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDk1JTttYXJnaW46IDEwcHggYXV0bztcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImlkZW50aXR5LWNoZWNrXCI+5p+l6K+i5q2k55So5oi35piv5ZCm5Yqe55CG5LqG56S+5L+dPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG4gICAgaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XHJcbiAgICBleHBvcnQgZGVmYXVsdCB7XHJcbiAgICAgICAgLy8gcHJvcHM6IHtcclxuICAgICAgICAvLyAgICAgdGV4dDoge1xyXG4gICAgICAgIC8vICAgICAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgICAgIC8vICAgICAgICAgZGVmYXVsdDogJ0J1dHRvbiBUZXh0J1xyXG4gICAgICAgIC8vICAgICB9LFxyXG4gICAgICAgIC8vICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAgICAgLy8gICAgIHN0eWxlczogT2JqZWN0XHJcbiAgICAgICAgLy8gfSxcclxuICAgICAgICBkYXRhICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHRleHQ6ICdmb3JtLXJhZGlvJyxcclxuICAgICAgICAgICAgICAgIHN0eWxlczoge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDonMTAycHgnLFxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOic1NjZweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOicxMHB4J1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdmb3JtLXJhZGlvJyxcclxuICAgICAgICAgICAgICAgIGltZ1VybDonL2xpYi9zdGF0aWMvaW1nL2FkZHJlc3Mtc2VsZWN0LnBuZycsXHJcbiAgICAgICAgICAgICAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlZGl0U2V0dGluZyxcclxuICAgICAgICBuYW1lOiBlZGl0U2V0dGluZy5rZXksXHJcbiAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxyXG4gICAgfTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcbiAgIC5pZGVudGl0eS1jaGVja3tcclxuICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgYmFja2dyb3VuZDogb3JhbmdlO1xyXG4gICAgIGJvcmRlcjogMXB4IHNvbGlkICNlY2VjZWM7XHJcbiAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICBtYXJnaW46IDVweDtcclxuICAgfVxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vaWRlbnRpdHktY2hlY2svaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///198\n");
1401
1402/***/ }),
1403/* 199 */
1404/***/ (function(module, exports, __webpack_require__) {
1405
1406"use strict";
1407eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(780);\n\nexports.default = {\n data: function data() {\n return {\n level: _property.editSetting.level\n };\n },\n\n level: _property.editSetting.level,\n editSetting: _property.editSetting,\n name: _property.editSetting.key\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vaW5mby1hdHRhY2htZW50L2luZGV4LnZ1ZT82YzUzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O2tCQVFBO0FBQ0EsUUFEQSxrQkFDQTtBQUNBO0FBQ0E7QUFEQTtBQUdBLEtBTEE7O0FBTUEsc0NBTkE7QUFPQSxzQ0FQQTtBQVFBO0FBUkEsQyIsImZpbGUiOiIxOTkuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgPGRpdiBjbGFzcz1cImluZm9BdHRhY2htZW50XCI+XHJcbiAgICA8aW1nIHNyYz1cIi4vZG93bmxvYWRGSi5wbmdcIiBzdHlsZT1cIndpZHRoOiA5NSVcIj5cclxuICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCB7ZWRpdFNldHRpbmd9IGZyb20gJy4vcHJvcGVydHknO1xyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXHJcbiAgICAgICAgfTtcclxuICAgIH0sXHJcbiAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXHJcbiAgICBlZGl0U2V0dGluZyxcclxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgc2NvcGVkPlxyXG4gIC5pbmZvQXR0YWNobWVudHtcclxuICAgIHdpZHRoOiA5OCU7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICB9XHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pbmZvLWF0dGFjaG1lbnQvaW5kZXgudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///199\n");
1408
1409/***/ }),
1410/* 200 */
1411/***/ (function(module, exports, __webpack_require__) {
1412
1413"use strict";
1414eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(786);\n\nexports.default = {\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level,\n data: function data() {\n return {\n styles: {\n minWidth: '100px',\n width: '98%',\n minHeight: '380px',\n marginTop: '15px',\n marginLeft: 'auto',\n marginRight: 'auto',\n border: '1px solid #ccc'\n },\n level: _property.editSetting.level\n };\n },\n mounted: function mounted() {}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vaW5mby1iYXNlL2luZGV4LnZ1ZT9iY2Q5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O2tCQVFBO0FBQ0Esc0NBREE7QUFFQSxtQ0FGQTtBQUdBLHNDQUhBO0FBSUEsUUFKQSxrQkFJQTtBQUNBO0FBQ0E7QUFDQSxpQ0FEQTtBQUVBLDRCQUZBO0FBR0Esa0NBSEE7QUFJQSxpQ0FKQTtBQUtBLGtDQUxBO0FBTUEsbUNBTkE7QUFPQTtBQVBBLGFBREE7QUFVQTtBQVZBO0FBWUEsS0FqQkE7QUFrQkEsV0FsQkEscUJBa0JBLENBQ0E7QUFuQkEsQyIsImZpbGUiOiIyMDAuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgPGRpdiA6c3R5bGU9XCJzdHlsZXNcIiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDEwMHB4O1wiICBkYXRhLXNsb3QtbmFtZT0nZGVmYXVsdCcgPlxyXG4gICAgPHNsb3Q+PC9zbG90PlxyXG4gIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0IHsgZWRpdFNldHRpbmcgfSBmcm9tICcuL3Byb3BlcnR5JztcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgZWRpdFNldHRpbmcsXHJcbiAgICBuYW1lOiBlZGl0U2V0dGluZy5rZXksXHJcbiAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBzdHlsZXM6IHtcclxuICAgICAgICAgICAgICAgIG1pbldpZHRoOiAnMTAwcHgnLFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6Jzk4JScsXHJcbiAgICAgICAgICAgICAgICBtaW5IZWlnaHQ6ICczODBweCcsXHJcbiAgICAgICAgICAgICAgICBtYXJnaW5Ub3A6ICcxNXB4JyxcclxuICAgICAgICAgICAgICAgIG1hcmdpbkxlZnQ6ICdhdXRvJyxcclxuICAgICAgICAgICAgICAgIG1hcmdpblJpZ2h0OiAnYXV0bycsXHJcbiAgICAgICAgICAgICAgICBib3JkZXI6ICcxcHggc29saWQgI2NjYydcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxyXG4gICAgICAgIH07XHJcbiAgICB9LFxyXG4gICAgbW91bnRlZCAoKSB7XHJcbiAgICB9XHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2luZm8tYmFzZS9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///200\n");
1415
1416/***/ }),
1417/* 201 */
1418/***/ (function(module, exports, __webpack_require__) {
1419
1420"use strict";
1421eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(791);\n\nexports.default = {\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level,\n data: function data() {\n return {\n styles: {\n minWidth: '90%',\n width: '95%',\n border: '1px solid #ccc',\n backgroundColor: '#fcfcfc'\n },\n type: 'pap-download-scan',\n title: 'pap-download-scan',\n level: _property.editSetting.level\n };\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vcGFwLWRvd25sb2FkLXNjYW4vaW5kZXgudnVlPzlmN2YiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7a0JBUUE7QUFDQSxzQ0FEQTtBQUVBLG1DQUZBO0FBR0Esc0NBSEE7QUFJQSxRQUpBLGtCQUlBO0FBQ0E7QUFDQTtBQUNBLCtCQURBO0FBRUEsNEJBRkE7QUFHQSx3Q0FIQTtBQUlBO0FBSkEsYUFEQTtBQU9BLHFDQVBBO0FBUUEsc0NBUkE7QUFTQTtBQVRBO0FBV0E7QUFoQkEsQyIsImZpbGUiOiIyMDEuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDk1JTttYXJnaW46IDEwcHggYXV0bztcIj5cclxuICAgICAgICA8aW1nIHNyYz1cIi9saWIvc3RhdGljL2ltZy9wYXAtZG93bmxvYWQtc2Nhbi5wbmdcIj5cclxuICAgIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICAgIGVkaXRTZXR0aW5nLFxyXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxyXG4gICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxyXG4gICAgZGF0YSAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgc3R5bGVzOiB7XHJcbiAgICAgICAgICAgICAgICBtaW5XaWR0aDogJzkwJScsXHJcbiAgICAgICAgICAgICAgICB3aWR0aDonOTUlJyxcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogJzFweCBzb2xpZCAjY2NjJyxcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjonI2ZjZmNmYydcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdHlwZToncGFwLWRvd25sb2FkLXNjYW4nLFxyXG4gICAgICAgICAgICB0aXRsZTogJ3BhcC1kb3dubG9hZC1zY2FuJyxcclxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cclxuPC9zdHlsZT5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIG15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL3BhcC1kb3dubG9hZC1zY2FuL2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///201\n");
1422
1423/***/ }),
1424/* 202 */
1425/***/ (function(module, exports, __webpack_require__) {
1426
1427"use strict";
1428eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(796);\n\nexports.default = {\n props: {\n current: \"2\",\n stepsData: {\n type: Array,\n default: function _default() {\n return [{\n \"title\": \"填写资料\"\n }, {\n \"title\": \"上传附件\"\n }, {\n \"title\": \"提交审核\"\n }, {\n \"title\": \"支付缴费\"\n }, {\n \"title\": \"已办结\"\n }];\n }\n }\n },\n computed: {\n getCurrent: function getCurrent() {\n return this.property.current;\n }\n },\n data: function data() {\n return {\n property: {\n current: \"0\",\n steps: []\n },\n text: 'steps',\n styles: {},\n type: 'steps',\n level: _property.editSetting.level\n };\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vc3RlcHMvaW5kZXgudnVlPzRiY2YiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7a0JBVUE7QUFTQTtBQUNBLG9CQURBO0FBRUE7QUFDQSx1QkFEQTtBQUVBLG1CQUZBLHNCQUVBO0FBQ0E7QUFDQTtBQURBLG1CQUdBO0FBQ0E7QUFEQSxpQkFIQSxFQU1BO0FBQ0E7QUFEQSxpQkFOQSxFQVNBO0FBQ0E7QUFEQSxpQkFUQSxFQVlBO0FBQ0E7QUFEQSxpQkFaQTtBQWVBO0FBbEJBO0FBRkEsS0FUQTtBQWdDQTtBQUNBLGtCQURBLHdCQUNBO0FBQ0E7QUFDQTtBQUhBLEtBaENBO0FBcUNBLFFBckNBLGtCQXFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFEQTtBQUVBO0FBRkEsYUFEQTtBQUtBLHlCQUxBO0FBTUEsc0JBTkE7QUFPQSx5QkFQQTtBQVFBO0FBUkE7QUFVQSxLQWhEQTs7QUFpREEsc0NBakRBO0FBa0RBLG1DQWxEQTtBQW1EQTtBQW5EQSxDIiwiZmlsZSI6IjIwMi5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICA8ZGl2IGNsYXNzPVwidHktc3RlcHMgXCIgOnN0eWxlPVwic3R5bGVzXCI+XHJcbiAgICA8U3RlcHMgIDpjdXJyZW50PVwiZ2V0Q3VycmVudFwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMjBweDtcIj5cclxuICAgICAgPFN0ZXAgdi1mb3I9XCJzdGVwLGluZGV4IGluIHN0ZXBzXCIgdi1iaW5kPVwic3RlcFwiIDprZXk9XCJpbmRleFwiLz5cclxuICAgIDwvU3RlcHM+XHJcbiAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgLy8gcHJvcHM6IHtcclxuICAgIC8vICAgICB0ZXh0OiB7XHJcbiAgICAvLyAgICAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgIC8vICAgICAgICAgZGVmYXVsdDogJ0J1dHRvbiBUZXh0J1xyXG4gICAgLy8gICAgIH0sXHJcbiAgICAvLyAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgLy8gICAgIHN0eWxlczogT2JqZWN0XHJcbiAgICAvLyB9LFxyXG4gICAgcHJvcHM6e1xyXG4gICAgICAgIGN1cnJlbnQ6XCIyXCIsXHJcbiAgICAgICAgc3RlcHNEYXRhOntcclxuICAgICAgICAgICAgdHlwZTpBcnJheSxcclxuICAgICAgICAgICAgZGVmYXVsdCgpe1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFt7XHJcbiAgICAgICAgICAgICAgICAgICAgXCJ0aXRsZVwiOiBcIuWhq+WGmei1hOaWmVwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidGl0bGVcIjogXCLkuIrkvKDpmYTku7ZcIlxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInRpdGxlXCI6IFwi5o+Q5Lqk5a6h5qC4XCJcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ0aXRsZVwiOiBcIuaUr+S7mOe8tOi0uVwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidGl0bGVcIjogXCLlt7Llip7nu5NcIlxyXG4gICAgICAgICAgICAgICAgICAgIH1dO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIGNvbXB1dGVkOntcclxuICAgICAgICBnZXRDdXJyZW50KCl7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnByb3BlcnR5LmN1cnJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIGRhdGEgKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHByb3BlcnR5OntcclxuICAgICAgICAgICAgICAgIGN1cnJlbnQgOiBcIjBcIixcclxuICAgICAgICAgICAgICAgIHN0ZXBzOltdXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHRleHQ6ICdzdGVwcycsXHJcbiAgICAgICAgICAgIHN0eWxlczoge30sXHJcbiAgICAgICAgICAgIHR5cGU6ICdzdGVwcycsXHJcbiAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcclxuICAgICAgICB9O1xyXG4gICAgfSxcclxuICAgIGVkaXRTZXR0aW5nLFxyXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxyXG4gICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9zdGVwcy9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///202\n");
1429
1430/***/ }),
1431/* 203 */
1432/***/ (function(module, exports, __webpack_require__) {
1433
1434"use strict";
1435eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(801);\n\nexports.default = {\n data: function data() {\n return {\n level: _property.editSetting.level\n };\n },\n\n level: _property.editSetting.level,\n editSetting: _property.editSetting,\n name: _property.editSetting.key\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vdGFibGUtYXR0YWNoLWZpbGUvaW5kZXgudnVlPzNmNGMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7a0JBUUE7QUFDQSxRQURBLGtCQUNBO0FBQ0E7QUFDQTtBQURBO0FBR0EsS0FMQTs7QUFNQSxzQ0FOQTtBQU9BLHNDQVBBO0FBUUE7QUFSQSxDIiwiZmlsZSI6IjIwMy5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICA8ZGl2IGNsYXNzPVwidGFibGVBdHRhY2hGaWxlXCI+XHJcbiAgICA8aW1nIHNyYz1cIi4vZmp1cGxvYWQucG5nXCIgc3R5bGU9XCJ3aWR0aDogOTUlXCI+XHJcbiAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgZGF0YSAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxyXG4gICAgICAgIH07XHJcbiAgICB9LFxyXG4gICAgbGV2ZWw6ZWRpdFNldHRpbmcubGV2ZWwsXHJcbiAgICBlZGl0U2V0dGluZyxcclxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleVxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBzY29wZWQ+XHJcbiAgLnRhYmxlQXR0YWNoRmlsZXtcclxuICAgIHdpZHRoOiA5NSU7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICB9XHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90YWJsZS1hdHRhY2gtZmlsZS9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///203\n");
1436
1437/***/ }),
1438/* 204 */
1439/***/ (function(module, exports, __webpack_require__) {
1440
1441"use strict";
1442eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(23);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _property = __webpack_require__(807);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = (0, _defineProperty3.default)({\n data: function data() {\n return {\n columns1: [{\n title: 'Name',\n key: 'name'\n }, {\n title: 'Age',\n key: 'age'\n }],\n data1: [{\n name: 'John Brown',\n age: 18,\n address: 'New York No. 1 Lake Park',\n date: '2016-10-03'\n }],\n level: _property.editSetting.level\n };\n },\n\n level: _property.editSetting.level,\n editSetting: _property.editSetting,\n name: _property.editSetting.key\n}, 'level', _property.editSetting.level);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vdGltZS1saW5lL2luZGV4LnZ1ZT8zZjcwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQVNBLFEsa0JBQUE7QUFDQTtBQUNBLHVCQUNBO0FBQ0EsNkJBREE7QUFFQTtBQUZBLGFBREEsRUFLQTtBQUNBLDRCQURBO0FBRUE7QUFGQSxhQUxBLENBREE7QUFXQSxvQkFDQTtBQUNBLGtDQURBO0FBRUEsdUJBRkE7QUFHQSxtREFIQTtBQUlBO0FBSkEsYUFEQSxDQVhBO0FBb0JBO0FBcEJBO0FBc0JBLEs7O0FBQ0Esc0M7QUFDQSxzQztBQUNBO1lBQ0EsMkIiLCJmaWxlIjoiMjA0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gIDxkaXYgY2xhc3M9XCJ0aW1lTGluZVwiPlxyXG4gICAgPGltZyBzcmM9XCIuL3Rqc2gucG5nXCIgc3R5bGU9XCJ3aWR0aDogOTUlXCI+XHJcbiAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgZGF0YSAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgY29sdW1uczE6IFtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ05hbWUnLFxyXG4gICAgICAgICAgICAgICAgICAgIGtleTogJ25hbWUnXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQWdlJyxcclxuICAgICAgICAgICAgICAgICAgICBrZXk6ICdhZ2UnXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIGRhdGExOiBbXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0pvaG4gQnJvd24nLFxyXG4gICAgICAgICAgICAgICAgICAgIGFnZTogMTgsXHJcbiAgICAgICAgICAgICAgICAgICAgYWRkcmVzczogJ05ldyBZb3JrIE5vLiAxIExha2UgUGFyaycsXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0ZTogJzIwMTYtMTAtMDMnXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXHJcbiAgICAgICAgfTtcclxuICAgIH0sXHJcbiAgICBsZXZlbDplZGl0U2V0dGluZy5sZXZlbCxcclxuICAgIGVkaXRTZXR0aW5nLFxyXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxyXG4gICAgbGV2ZWw6ZWRpdFNldHRpbmcubGV2ZWwsXHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIHNjb3BlZD5cclxuICAudGltZUxpbmV7XHJcbiAgICB3aWR0aDogOTUlO1xyXG4gICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgfVxyXG48L3N0eWxlPlxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vdGltZS1saW5lL2luZGV4LnZ1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///204\n");
1443
1444/***/ }),
1445/* 205 */
1446/***/ (function(module, exports, __webpack_require__) {
1447
1448"use strict";
1449eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _property = __webpack_require__(813);\n\nexports.default = {\n computed: {\n getLabel: function getLabel() {\n return this.property.title;\n }\n },\n\n data: function data() {\n return {\n property: {\n title: '标题'\n },\n text: 'input',\n type: 'input',\n level: _property.editSetting.level\n };\n },\n\n editSetting: _property.editSetting,\n name: _property.editSetting.key,\n level: _property.editSetting.level\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vdGl0bGUvaW5kZXgudnVlP2I1N2IiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7a0JBUUE7QUFTQTtBQUNBLGdCQURBLHNCQUNBO0FBQ0E7QUFDQTtBQUhBLEtBVEE7O0FBZUEsUUFmQSxrQkFlQTtBQUNBO0FBQ0E7QUFDQTtBQURBLGFBREE7QUFJQSx5QkFKQTtBQUtBLHlCQUxBO0FBTUE7QUFOQTtBQVFBLEtBeEJBOztBQXlCQSxzQ0F6QkE7QUEwQkEsbUNBMUJBO0FBMkJBO0FBM0JBLEMiLCJmaWxlIjoiMjA1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gIDxkaXYgY2xhc3M9XCJmb3JtVGl0bGVcIiBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTtcIj5cclxuICAgIHt7Z2V0TGFiZWx9fVxyXG4gIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIGltcG9ydCB7ZWRpdFNldHRpbmd9IGZyb20gJy4vcHJvcGVydHknO1xyXG4gICAgZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgICAgIC8vIHByb3BzOiB7XHJcbiAgICAgICAgLy8gICAgIHRleHQ6IHtcclxuICAgICAgICAvLyAgICAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgICAgICAvLyAgICAgICAgIGRlZmF1bHQ6ICdCdXR0b24gVGV4dCdcclxuICAgICAgICAvLyAgICAgfSxcclxuICAgICAgICAvLyAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgICAgIC8vICAgICBzdHlsZXM6IE9iamVjdFxyXG4gICAgICAgIC8vIH0sXHJcbiAgICAgICAgY29tcHV0ZWQ6e1xyXG4gICAgICAgICAgICBnZXRMYWJlbCgpe1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydHkudGl0bGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG5cclxuICAgICAgICBkYXRhICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHByb3BlcnR5OntcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZSA6ICfmoIfpopgnLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHRleHQ6ICdpbnB1dCcsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW5wdXQnLFxyXG4gICAgICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlZGl0U2V0dGluZyxcclxuICAgICAgICBuYW1lOiBlZGl0U2V0dGluZy5rZXksXHJcbiAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXHJcbiAgICB9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBzY29wZWQ+XHJcbiAgLmZvcm1UaXRsZSB7XHJcbiAgICBmb250LWZhbWlseTogJ0FyaWFsTVQnLCAnQXJpYWwnO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzRBODlEQztcclxuICAgIGNvbG9yOiAjNEE4OURDO1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweCBhdXRvO1xyXG4gICAgd2lkdGg6IDk1JTtcclxuICB9XHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90aXRsZS9pbmRleC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///205\n");
1450
1451/***/ }),
1452/* 206 */
1453/***/ (function(module, exports, __webpack_require__) {
1454
1455eval("module.exports = { \"default\": __webpack_require__(817), __esModule: true };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvY29yZS1qcy9tYXAuanM/NzE0OSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrQkFBa0IsWUFBWSxtQkFBTyxDQUFDLEdBQXdCIiwiZmlsZSI6IjIwNi5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0geyBcImRlZmF1bHRcIjogcmVxdWlyZShcImNvcmUtanMvbGlicmFyeS9mbi9tYXBcIiksIF9fZXNNb2R1bGU6IHRydWUgfTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fYmFiZWwtcnVudGltZUA2LjI2LjBAYmFiZWwtcnVudGltZS9jb3JlLWpzL21hcC5qc1xuLy8gbW9kdWxlIGlkID0gMjA2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///206\n");
1456
1457/***/ }),
1458/* 207 */
1459/***/ (function(module, exports, __webpack_require__) {
1460
1461"use strict";
1462eval("\nvar dP = __webpack_require__(17).f;\nvar create = __webpack_require__(54);\nvar redefineAll = __webpack_require__(66);\nvar ctx = __webpack_require__(19);\nvar anInstance = __webpack_require__(64);\nvar forOf = __webpack_require__(35);\nvar $iterDefine = __webpack_require__(50);\nvar step = __webpack_require__(71);\nvar setSpecies = __webpack_require__(94);\nvar DESCRIPTORS = __webpack_require__(16);\nvar fastKey = __webpack_require__(61).fastKey;\nvar validate = __webpack_require__(69);\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2NvbGxlY3Rpb24tc3Ryb25nLmpzPzBhYTEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7QUFDYixTQUFTLG1CQUFPLENBQUMsRUFBYztBQUMvQixhQUFhLG1CQUFPLENBQUMsRUFBa0I7QUFDdkMsa0JBQWtCLG1CQUFPLENBQUMsRUFBaUI7QUFDM0MsVUFBVSxtQkFBTyxDQUFDLEVBQVE7QUFDMUIsaUJBQWlCLG1CQUFPLENBQUMsRUFBZ0I7QUFDekMsWUFBWSxtQkFBTyxDQUFDLEVBQVc7QUFDL0Isa0JBQWtCLG1CQUFPLENBQUMsRUFBZ0I7QUFDMUMsV0FBVyxtQkFBTyxDQUFDLEVBQWM7QUFDakMsaUJBQWlCLG1CQUFPLENBQUMsRUFBZ0I7QUFDekMsa0JBQWtCLG1CQUFPLENBQUMsRUFBZ0I7QUFDMUMsY0FBYyxtQkFBTyxDQUFDLEVBQVM7QUFDL0IsZUFBZSxtQkFBTyxDQUFDLEVBQXdCO0FBQy9DOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixPQUFPO0FBQzlCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQiw2QkFBNkI7QUFDN0IsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQixxQkFBcUI7QUFDckI7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4RUFBOEUsT0FBTztBQUNyRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUM7QUFDekMscUJBQXFCO0FBQ3JCLDBCQUEwQjtBQUMxQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIyMDcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG52YXIgZFAgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKS5mO1xudmFyIGNyZWF0ZSA9IHJlcXVpcmUoJy4vX29iamVjdC1jcmVhdGUnKTtcbnZhciByZWRlZmluZUFsbCA9IHJlcXVpcmUoJy4vX3JlZGVmaW5lLWFsbCcpO1xudmFyIGN0eCA9IHJlcXVpcmUoJy4vX2N0eCcpO1xudmFyIGFuSW5zdGFuY2UgPSByZXF1aXJlKCcuL19hbi1pbnN0YW5jZScpO1xudmFyIGZvck9mID0gcmVxdWlyZSgnLi9fZm9yLW9mJyk7XG52YXIgJGl0ZXJEZWZpbmUgPSByZXF1aXJlKCcuL19pdGVyLWRlZmluZScpO1xudmFyIHN0ZXAgPSByZXF1aXJlKCcuL19pdGVyLXN0ZXAnKTtcbnZhciBzZXRTcGVjaWVzID0gcmVxdWlyZSgnLi9fc2V0LXNwZWNpZXMnKTtcbnZhciBERVNDUklQVE9SUyA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJyk7XG52YXIgZmFzdEtleSA9IHJlcXVpcmUoJy4vX21ldGEnKS5mYXN0S2V5O1xudmFyIHZhbGlkYXRlID0gcmVxdWlyZSgnLi9fdmFsaWRhdGUtY29sbGVjdGlvbicpO1xudmFyIFNJWkUgPSBERVNDUklQVE9SUyA/ICdfcycgOiAnc2l6ZSc7XG5cbnZhciBnZXRFbnRyeSA9IGZ1bmN0aW9uICh0aGF0LCBrZXkpIHtcbiAgLy8gZmFzdCBjYXNlXG4gIHZhciBpbmRleCA9IGZhc3RLZXkoa2V5KTtcbiAgdmFyIGVudHJ5O1xuICBpZiAoaW5kZXggIT09ICdGJykgcmV0dXJuIHRoYXQuX2lbaW5kZXhdO1xuICAvLyBmcm96ZW4gb2JqZWN0IGNhc2VcbiAgZm9yIChlbnRyeSA9IHRoYXQuX2Y7IGVudHJ5OyBlbnRyeSA9IGVudHJ5Lm4pIHtcbiAgICBpZiAoZW50cnkuayA9PSBrZXkpIHJldHVybiBlbnRyeTtcbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGdldENvbnN0cnVjdG9yOiBmdW5jdGlvbiAod3JhcHBlciwgTkFNRSwgSVNfTUFQLCBBRERFUikge1xuICAgIHZhciBDID0gd3JhcHBlcihmdW5jdGlvbiAodGhhdCwgaXRlcmFibGUpIHtcbiAgICAgIGFuSW5zdGFuY2UodGhhdCwgQywgTkFNRSwgJ19pJyk7XG4gICAgICB0aGF0Ll90ID0gTkFNRTsgICAgICAgICAvLyBjb2xsZWN0aW9uIHR5cGVcbiAgICAgIHRoYXQuX2kgPSBjcmVhdGUobnVsbCk7IC8vIGluZGV4XG4gICAgICB0aGF0Ll9mID0gdW5kZWZpbmVkOyAgICAvLyBmaXJzdCBlbnRyeVxuICAgICAgdGhhdC5fbCA9IHVuZGVmaW5lZDsgICAgLy8gbGFzdCBlbnRyeVxuICAgICAgdGhhdFtTSVpFXSA9IDA7ICAgICAgICAgLy8gc2l6ZVxuICAgICAgaWYgKGl0ZXJhYmxlICE9IHVuZGVmaW5lZCkgZm9yT2YoaXRlcmFibGUsIElTX01BUCwgdGhhdFtBRERFUl0sIHRoYXQpO1xuICAgIH0pO1xuICAgIHJlZGVmaW5lQWxsKEMucHJvdG90eXBlLCB7XG4gICAgICAvLyAyMy4xLjMuMSBNYXAucHJvdG90eXBlLmNsZWFyKClcbiAgICAgIC8vIDIzLjIuMy4yIFNldC5wcm90b3R5cGUuY2xlYXIoKVxuICAgICAgY2xlYXI6IGZ1bmN0aW9uIGNsZWFyKCkge1xuICAgICAgICBmb3IgKHZhciB0aGF0ID0gdmFsaWRhdGUodGhpcywgTkFNRSksIGRhdGEgPSB0aGF0Ll9pLCBlbnRyeSA9IHRoYXQuX2Y7IGVudHJ5OyBlbnRyeSA9IGVudHJ5Lm4pIHtcbiAgICAgICAgICBlbnRyeS5yID0gdHJ1ZTtcbiAgICAgICAgICBpZiAoZW50cnkucCkgZW50cnkucCA9IGVudHJ5LnAubiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICBkZWxldGUgZGF0YVtlbnRyeS5pXTtcbiAgICAgICAgfVxuICAgICAgICB0aGF0Ll9mID0gdGhhdC5fbCA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhhdFtTSVpFXSA9IDA7XG4gICAgICB9LFxuICAgICAgLy8gMjMuMS4zLjMgTWFwLnByb3RvdHlwZS5kZWxldGUoa2V5KVxuICAgICAgLy8gMjMuMi4zLjQgU2V0LnByb3RvdHlwZS5kZWxldGUodmFsdWUpXG4gICAgICAnZGVsZXRlJzogZnVuY3Rpb24gKGtleSkge1xuICAgICAgICB2YXIgdGhhdCA9IHZhbGlkYXRlKHRoaXMsIE5BTUUpO1xuICAgICAgICB2YXIgZW50cnkgPSBnZXRFbnRyeSh0aGF0LCBrZXkpO1xuICAgICAgICBpZiAoZW50cnkpIHtcbiAgICAgICAgICB2YXIgbmV4dCA9IGVudHJ5Lm47XG4gICAgICAgICAgdmFyIHByZXYgPSBlbnRyeS5wO1xuICAgICAgICAgIGRlbGV0ZSB0aGF0Ll9pW2VudHJ5LmldO1xuICAgICAgICAgIGVudHJ5LnIgPSB0cnVlO1xuICAgICAgICAgIGlmIChwcmV2KSBwcmV2Lm4gPSBuZXh0O1xuICAgICAgICAgIGlmIChuZXh0KSBuZXh0LnAgPSBwcmV2O1xuICAgICAgICAgIGlmICh0aGF0Ll9mID09IGVudHJ5KSB0aGF0Ll9mID0gbmV4dDtcbiAgICAgICAgICBpZiAodGhhdC5fbCA9PSBlbnRyeSkgdGhhdC5fbCA9IHByZXY7XG4gICAgICAgICAgdGhhdFtTSVpFXS0tO1xuICAgICAgICB9IHJldHVybiAhIWVudHJ5O1xuICAgICAgfSxcbiAgICAgIC8vIDIzLjIuMy42IFNldC5wcm90b3R5cGUuZm9yRWFjaChjYWxsYmFja2ZuLCB0aGlzQXJnID0gdW5kZWZpbmVkKVxuICAgICAgLy8gMjMuMS4zLjUgTWFwLnByb3RvdHlwZS5mb3JFYWNoKGNhbGxiYWNrZm4sIHRoaXNBcmcgPSB1bmRlZmluZWQpXG4gICAgICBmb3JFYWNoOiBmdW5jdGlvbiBmb3JFYWNoKGNhbGxiYWNrZm4gLyogLCB0aGF0ID0gdW5kZWZpbmVkICovKSB7XG4gICAgICAgIHZhbGlkYXRlKHRoaXMsIE5BTUUpO1xuICAgICAgICB2YXIgZiA9IGN0eChjYWxsYmFja2ZuLCBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZCwgMyk7XG4gICAgICAgIHZhciBlbnRyeTtcbiAgICAgICAgd2hpbGUgKGVudHJ5ID0gZW50cnkgPyBlbnRyeS5uIDogdGhpcy5fZikge1xuICAgICAgICAgIGYoZW50cnkudiwgZW50cnkuaywgdGhpcyk7XG4gICAgICAgICAgLy8gcmV2ZXJ0IHRvIHRoZSBsYXN0IGV4aXN0aW5nIGVudHJ5XG4gICAgICAgICAgd2hpbGUgKGVudHJ5ICYmIGVudHJ5LnIpIGVudHJ5ID0gZW50cnkucDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIC8vIDIzLjEuMy43IE1hcC5wcm90b3R5cGUuaGFzKGtleSlcbiAgICAgIC8vIDIzLjIuMy43IFNldC5wcm90b3R5cGUuaGFzKHZhbHVlKVxuICAgICAgaGFzOiBmdW5jdGlvbiBoYXMoa2V5KSB7XG4gICAgICAgIHJldHVybiAhIWdldEVudHJ5KHZhbGlkYXRlKHRoaXMsIE5BTUUpLCBrZXkpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChERVNDUklQVE9SUykgZFAoQy5wcm90b3R5cGUsICdzaXplJywge1xuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB2YWxpZGF0ZSh0aGlzLCBOQU1FKVtTSVpFXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gQztcbiAgfSxcbiAgZGVmOiBmdW5jdGlvbiAodGhhdCwga2V5LCB2YWx1ZSkge1xuICAgIHZhciBlbnRyeSA9IGdldEVudHJ5KHRoYXQsIGtleSk7XG4gICAgdmFyIHByZXYsIGluZGV4O1xuICAgIC8vIGNoYW5nZSBleGlzdGluZyBlbnRyeVxuICAgIGlmIChlbnRyeSkge1xuICAgICAgZW50cnkudiA9IHZhbHVlO1xuICAgIC8vIGNyZWF0ZSBuZXcgZW50cnlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhhdC5fbCA9IGVudHJ5ID0ge1xuICAgICAgICBpOiBpbmRleCA9IGZhc3RLZXkoa2V5LCB0cnVlKSwgLy8gPC0gaW5kZXhcbiAgICAgICAgazoga2V5LCAgICAgICAgICAgICAgICAgICAgICAgIC8vIDwtIGtleVxuICAgICAgICB2OiB2YWx1ZSwgICAgICAgICAgICAgICAgICAgICAgLy8gPC0gdmFsdWVcbiAgICAgICAgcDogcHJldiA9IHRoYXQuX2wsICAgICAgICAgICAgIC8vIDwtIHByZXZpb3VzIGVudHJ5XG4gICAgICAgIG46IHVuZGVmaW5lZCwgICAgICAgICAgICAgICAgICAvLyA8LSBuZXh0IGVudHJ5XG4gICAgICAgIHI6IGZhbHNlICAgICAgICAgICAgICAgICAgICAgICAvLyA8LSByZW1vdmVkXG4gICAgICB9O1xuICAgICAgaWYgKCF0aGF0Ll9mKSB0aGF0Ll9mID0gZW50cnk7XG4gICAgICBpZiAocHJldikgcHJldi5uID0gZW50cnk7XG4gICAgICB0aGF0W1NJWkVdKys7XG4gICAgICAvLyBhZGQgdG8gaW5kZXhcbiAgICAgIGlmIChpbmRleCAhPT0gJ0YnKSB0aGF0Ll9pW2luZGV4XSA9IGVudHJ5O1xuICAgIH0gcmV0dXJuIHRoYXQ7XG4gIH0sXG4gIGdldEVudHJ5OiBnZXRFbnRyeSxcbiAgc2V0U3Ryb25nOiBmdW5jdGlvbiAoQywgTkFNRSwgSVNfTUFQKSB7XG4gICAgLy8gYWRkIC5rZXlzLCAudmFsdWVzLCAuZW50cmllcywgW0BAaXRlcmF0b3JdXG4gICAgLy8gMjMuMS4zLjQsIDIzLjEuMy44LCAyMy4xLjMuMTEsIDIzLjEuMy4xMiwgMjMuMi4zLjUsIDIzLjIuMy44LCAyMy4yLjMuMTAsIDIzLjIuMy4xMVxuICAgICRpdGVyRGVmaW5lKEMsIE5BTUUsIGZ1bmN0aW9uIChpdGVyYXRlZCwga2luZCkge1xuICAgICAgdGhpcy5fdCA9IHZhbGlkYXRlKGl0ZXJhdGVkLCBOQU1FKTsgLy8gdGFyZ2V0XG4gICAgICB0aGlzLl9rID0ga2luZDsgICAgICAgICAgICAgICAgICAgICAvLyBraW5kXG4gICAgICB0aGlzLl9sID0gdW5kZWZpbmVkOyAgICAgICAgICAgICAgICAvLyBwcmV2aW91c1xuICAgIH0sIGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciB0aGF0ID0gdGhpcztcbiAgICAgIHZhciBraW5kID0gdGhhdC5faztcbiAgICAgIHZhciBlbnRyeSA9IHRoYXQuX2w7XG4gICAgICAvLyByZXZlcnQgdG8gdGhlIGxhc3QgZXhpc3RpbmcgZW50cnlcbiAgICAgIHdoaWxlIChlbnRyeSAmJiBlbnRyeS5yKSBlbnRyeSA9IGVudHJ5LnA7XG4gICAgICAvLyBnZXQgbmV4dCBlbnRyeVxuICAgICAgaWYgKCF0aGF0Ll90IHx8ICEodGhhdC5fbCA9IGVudHJ5ID0gZW50cnkgPyBlbnRyeS5uIDogdGhhdC5fdC5fZikpIHtcbiAgICAgICAgLy8gb3IgZmluaXNoIHRoZSBpdGVyYXRpb25cbiAgICAgICAgdGhhdC5fdCA9IHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHN0ZXAoMSk7XG4gICAgICB9XG4gICAgICAvLyByZXR1cm4gc3RlcCBieSBraW5kXG4gICAgICBpZiAoa2luZCA9PSAna2V5cycpIHJldHVybiBzdGVwKDAsIGVudHJ5LmspO1xuICAgICAgaWYgKGtpbmQgPT0gJ3ZhbHVlcycpIHJldHVybiBzdGVwKDAsIGVudHJ5LnYpO1xuICAgICAgcmV0dXJuIHN0ZXAoMCwgW2VudHJ5LmssIGVudHJ5LnZdKTtcbiAgICB9LCBJU19NQVAgPyAnZW50cmllcycgOiAndmFsdWVzJywgIUlTX01BUCwgdHJ1ZSk7XG5cbiAgICAvLyBhZGQgW0BAc3BlY2llc10sIDIzLjEuMi4yLCAyMy4yLjIuMlxuICAgIHNldFNwZWNpZXMoTkFNRSk7XG4gIH1cbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fY29sbGVjdGlvbi1zdHJvbmcuanNcbi8vIG1vZHVsZSBpZCA9IDIwN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///207\n");
1463
1464/***/ }),
1465/* 208 */
1466/***/ (function(module, exports, __webpack_require__) {
1467
1468"use strict";
1469eval("\nvar global = __webpack_require__(11);\nvar $export = __webpack_require__(10);\nvar meta = __webpack_require__(61);\nvar fails = __webpack_require__(26);\nvar hide = __webpack_require__(22);\nvar redefineAll = __webpack_require__(66);\nvar forOf = __webpack_require__(35);\nvar anInstance = __webpack_require__(64);\nvar isObject = __webpack_require__(15);\nvar setToStringTag = __webpack_require__(38);\nvar dP = __webpack_require__(17).f;\nvar each = __webpack_require__(819)(0);\nvar DESCRIPTORS = __webpack_require__(16);\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME, '_c');\n target._c = new Base();\n if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);\n });\n each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {\n var IS_ADDER = KEY == 'add' || KEY == 'set';\n if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {\n anInstance(this, C, KEY);\n if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;\n var result = this._c[KEY](a === 0 ? 0 : a, b);\n return IS_ADDER ? this : result;\n });\n });\n IS_WEAK || dP(C.prototype, 'size', {\n get: function () {\n return this._c.size;\n }\n });\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F, O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2NvbGxlY3Rpb24uanM/ZTU3NyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTtBQUNiLGFBQWEsbUJBQU8sQ0FBQyxFQUFXO0FBQ2hDLGNBQWMsbUJBQU8sQ0FBQyxFQUFXO0FBQ2pDLFdBQVcsbUJBQU8sQ0FBQyxFQUFTO0FBQzVCLFlBQVksbUJBQU8sQ0FBQyxFQUFVO0FBQzlCLFdBQVcsbUJBQU8sQ0FBQyxFQUFTO0FBQzVCLGtCQUFrQixtQkFBTyxDQUFDLEVBQWlCO0FBQzNDLFlBQVksbUJBQU8sQ0FBQyxFQUFXO0FBQy9CLGlCQUFpQixtQkFBTyxDQUFDLEVBQWdCO0FBQ3pDLGVBQWUsbUJBQU8sQ0FBQyxFQUFjO0FBQ3JDLHFCQUFxQixtQkFBTyxDQUFDLEVBQXNCO0FBQ25ELFNBQVMsbUJBQU8sQ0FBQyxFQUFjO0FBQy9CLFdBQVcsbUJBQU8sQ0FBQyxHQUFrQjtBQUNyQyxrQkFBa0IsbUJBQU8sQ0FBQyxFQUFnQjs7QUFFMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBIiwiZmlsZSI6IjIwOC5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcbnZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgbWV0YSA9IHJlcXVpcmUoJy4vX21ldGEnKTtcbnZhciBmYWlscyA9IHJlcXVpcmUoJy4vX2ZhaWxzJyk7XG52YXIgaGlkZSA9IHJlcXVpcmUoJy4vX2hpZGUnKTtcbnZhciByZWRlZmluZUFsbCA9IHJlcXVpcmUoJy4vX3JlZGVmaW5lLWFsbCcpO1xudmFyIGZvck9mID0gcmVxdWlyZSgnLi9fZm9yLW9mJyk7XG52YXIgYW5JbnN0YW5jZSA9IHJlcXVpcmUoJy4vX2FuLWluc3RhbmNlJyk7XG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBzZXRUb1N0cmluZ1RhZyA9IHJlcXVpcmUoJy4vX3NldC10by1zdHJpbmctdGFnJyk7XG52YXIgZFAgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKS5mO1xudmFyIGVhY2ggPSByZXF1aXJlKCcuL19hcnJheS1tZXRob2RzJykoMCk7XG52YXIgREVTQ1JJUFRPUlMgPSByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChOQU1FLCB3cmFwcGVyLCBtZXRob2RzLCBjb21tb24sIElTX01BUCwgSVNfV0VBSykge1xuICB2YXIgQmFzZSA9IGdsb2JhbFtOQU1FXTtcbiAgdmFyIEMgPSBCYXNlO1xuICB2YXIgQURERVIgPSBJU19NQVAgPyAnc2V0JyA6ICdhZGQnO1xuICB2YXIgcHJvdG8gPSBDICYmIEMucHJvdG90eXBlO1xuICB2YXIgTyA9IHt9O1xuICBpZiAoIURFU0NSSVBUT1JTIHx8IHR5cGVvZiBDICE9ICdmdW5jdGlvbicgfHwgIShJU19XRUFLIHx8IHByb3RvLmZvckVhY2ggJiYgIWZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgICBuZXcgQygpLmVudHJpZXMoKS5uZXh0KCk7XG4gIH0pKSkge1xuICAgIC8vIGNyZWF0ZSBjb2xsZWN0aW9uIGNvbnN0cnVjdG9yXG4gICAgQyA9IGNvbW1vbi5nZXRDb25zdHJ1Y3Rvcih3cmFwcGVyLCBOQU1FLCBJU19NQVAsIEFEREVSKTtcbiAgICByZWRlZmluZUFsbChDLnByb3RvdHlwZSwgbWV0aG9kcyk7XG4gICAgbWV0YS5ORUVEID0gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICBDID0gd3JhcHBlcihmdW5jdGlvbiAodGFyZ2V0LCBpdGVyYWJsZSkge1xuICAgICAgYW5JbnN0YW5jZSh0YXJnZXQsIEMsIE5BTUUsICdfYycpO1xuICAgICAgdGFyZ2V0Ll9jID0gbmV3IEJhc2UoKTtcbiAgICAgIGlmIChpdGVyYWJsZSAhPSB1bmRlZmluZWQpIGZvck9mKGl0ZXJhYmxlLCBJU19NQVAsIHRhcmdldFtBRERFUl0sIHRhcmdldCk7XG4gICAgfSk7XG4gICAgZWFjaCgnYWRkLGNsZWFyLGRlbGV0ZSxmb3JFYWNoLGdldCxoYXMsc2V0LGtleXMsdmFsdWVzLGVudHJpZXMsdG9KU09OJy5zcGxpdCgnLCcpLCBmdW5jdGlvbiAoS0VZKSB7XG4gICAgICB2YXIgSVNfQURERVIgPSBLRVkgPT0gJ2FkZCcgfHwgS0VZID09ICdzZXQnO1xuICAgICAgaWYgKEtFWSBpbiBwcm90byAmJiAhKElTX1dFQUsgJiYgS0VZID09ICdjbGVhcicpKSBoaWRlKEMucHJvdG90eXBlLCBLRVksIGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICAgIGFuSW5zdGFuY2UodGhpcywgQywgS0VZKTtcbiAgICAgICAgaWYgKCFJU19BRERFUiAmJiBJU19XRUFLICYmICFpc09iamVjdChhKSkgcmV0dXJuIEtFWSA9PSAnZ2V0JyA/IHVuZGVmaW5lZCA6IGZhbHNlO1xuICAgICAgICB2YXIgcmVzdWx0ID0gdGhpcy5fY1tLRVldKGEgPT09IDAgPyAwIDogYSwgYik7XG4gICAgICAgIHJldHVybiBJU19BRERFUiA/IHRoaXMgOiByZXN1bHQ7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBJU19XRUFLIHx8IGRQKEMucHJvdG90eXBlLCAnc2l6ZScsIHtcbiAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYy5zaXplO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2V0VG9TdHJpbmdUYWcoQywgTkFNRSk7XG5cbiAgT1tOQU1FXSA9IEM7XG4gICRleHBvcnQoJGV4cG9ydC5HICsgJGV4cG9ydC5XICsgJGV4cG9ydC5GLCBPKTtcblxuICBpZiAoIUlTX1dFQUspIGNvbW1vbi5zZXRTdHJvbmcoQywgTkFNRSwgSVNfTUFQKTtcblxuICByZXR1cm4gQztcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fY29sbGVjdGlvbi5qc1xuLy8gbW9kdWxlIGlkID0gMjA4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///208\n");
1470
1471/***/ }),
1472/* 209 */
1473/***/ (function(module, exports, __webpack_require__) {
1474
1475eval("// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = __webpack_require__(39);\nvar from = __webpack_require__(824);\nmodule.exports = function (NAME) {\n return function toJSON() {\n if (classof(this) != NAME) throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2NvbGxlY3Rpb24tdG8tanNvbi5qcz9mOTRlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEVBQVk7QUFDbEMsV0FBVyxtQkFBTyxDQUFDLEdBQXdCO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIyMDkuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vRGF2aWRCcnVhbnQvTWFwLVNldC5wcm90b3R5cGUudG9KU09OXG52YXIgY2xhc3NvZiA9IHJlcXVpcmUoJy4vX2NsYXNzb2YnKTtcbnZhciBmcm9tID0gcmVxdWlyZSgnLi9fYXJyYXktZnJvbS1pdGVyYWJsZScpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoTkFNRSkge1xuICByZXR1cm4gZnVuY3Rpb24gdG9KU09OKCkge1xuICAgIGlmIChjbGFzc29mKHRoaXMpICE9IE5BTUUpIHRocm93IFR5cGVFcnJvcihOQU1FICsgXCIjdG9KU09OIGlzbid0IGdlbmVyaWNcIik7XG4gICAgcmV0dXJuIGZyb20odGhpcyk7XG4gIH07XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2NvbGxlY3Rpb24tdG8tanNvbi5qc1xuLy8gbW9kdWxlIGlkID0gMjA5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///209\n");
1476
1477/***/ }),
1478/* 210 */
1479/***/ (function(module, exports, __webpack_require__) {
1480
1481"use strict";
1482eval("\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = __webpack_require__(10);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) A[length] = arguments[length];\n return new this(A);\n } });\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NldC1jb2xsZWN0aW9uLW9mLmpzP2JkMGEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxFQUFXOztBQUVqQztBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsRUFBRTtBQUNMIiwiZmlsZSI6IjIxMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0Jztcbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vcHJvcG9zYWwtc2V0bWFwLW9mZnJvbS9cbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKENPTExFQ1RJT04pIHtcbiAgJGV4cG9ydCgkZXhwb3J0LlMsIENPTExFQ1RJT04sIHsgb2Y6IGZ1bmN0aW9uIG9mKCkge1xuICAgIHZhciBsZW5ndGggPSBhcmd1bWVudHMubGVuZ3RoO1xuICAgIHZhciBBID0gbmV3IEFycmF5KGxlbmd0aCk7XG4gICAgd2hpbGUgKGxlbmd0aC0tKSBBW2xlbmd0aF0gPSBhcmd1bWVudHNbbGVuZ3RoXTtcbiAgICByZXR1cm4gbmV3IHRoaXMoQSk7XG4gIH0gfSk7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NldC1jb2xsZWN0aW9uLW9mLmpzXG4vLyBtb2R1bGUgaWQgPSAyMTBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///210\n");
1483
1484/***/ }),
1485/* 211 */
1486/***/ (function(module, exports, __webpack_require__) {
1487
1488"use strict";
1489eval("\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = __webpack_require__(10);\nvar aFunction = __webpack_require__(31);\nvar ctx = __webpack_require__(19);\nvar forOf = __webpack_require__(35);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n return new this(A);\n } });\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NldC1jb2xsZWN0aW9uLWZyb20uanM/NjY2OSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEVBQVc7QUFDakMsZ0JBQWdCLG1CQUFPLENBQUMsRUFBZTtBQUN2QyxVQUFVLG1CQUFPLENBQUMsRUFBUTtBQUMxQixZQUFZLG1CQUFPLENBQUMsRUFBVzs7QUFFL0I7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxHQUFHLEVBQUU7QUFDTCIsImZpbGUiOiIyMTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG4vLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL3Byb3Bvc2FsLXNldG1hcC1vZmZyb20vXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIGFGdW5jdGlvbiA9IHJlcXVpcmUoJy4vX2EtZnVuY3Rpb24nKTtcbnZhciBjdHggPSByZXF1aXJlKCcuL19jdHgnKTtcbnZhciBmb3JPZiA9IHJlcXVpcmUoJy4vX2Zvci1vZicpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChDT0xMRUNUSU9OKSB7XG4gICRleHBvcnQoJGV4cG9ydC5TLCBDT0xMRUNUSU9OLCB7IGZyb206IGZ1bmN0aW9uIGZyb20oc291cmNlIC8qICwgbWFwRm4sIHRoaXNBcmcgKi8pIHtcbiAgICB2YXIgbWFwRm4gPSBhcmd1bWVudHNbMV07XG4gICAgdmFyIG1hcHBpbmcsIEEsIG4sIGNiO1xuICAgIGFGdW5jdGlvbih0aGlzKTtcbiAgICBtYXBwaW5nID0gbWFwRm4gIT09IHVuZGVmaW5lZDtcbiAgICBpZiAobWFwcGluZykgYUZ1bmN0aW9uKG1hcEZuKTtcbiAgICBpZiAoc291cmNlID09IHVuZGVmaW5lZCkgcmV0dXJuIG5ldyB0aGlzKCk7XG4gICAgQSA9IFtdO1xuICAgIGlmIChtYXBwaW5nKSB7XG4gICAgICBuID0gMDtcbiAgICAgIGNiID0gY3R4KG1hcEZuLCBhcmd1bWVudHNbMl0sIDIpO1xuICAgICAgZm9yT2Yoc291cmNlLCBmYWxzZSwgZnVuY3Rpb24gKG5leHRJdGVtKSB7XG4gICAgICAgIEEucHVzaChjYihuZXh0SXRlbSwgbisrKSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9yT2Yoc291cmNlLCBmYWxzZSwgQS5wdXNoLCBBKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyB0aGlzKEEpO1xuICB9IH0pO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19zZXQtY29sbGVjdGlvbi1mcm9tLmpzXG4vLyBtb2R1bGUgaWQgPSAyMTFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///211\n");
1490
1491/***/ }),
1492/* 212 */
1493/***/ (function(module, exports, __webpack_require__) {
1494
1495"use strict";
1496eval("\n\nmodule.exports = __webpack_require__(213);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9pbmRleC5qcz9jYzNmIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJyZXF1aXJlIl0sIm1hcHBpbmdzIjoiOztBQU1BQSxPQUFPQyxPQUFQLEdBQWlCQyxtQkFBT0EsQ0FBQyxHQUFSLENBQWpCIiwiZmlsZSI6IjIxMi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKkBhdXRob3IgICAgICAg5Y+256ug5rWpXHJcbiAqQGRhdGUgICAgICAgICAgMTE6NTVcclxuICpAQ29weXJpZ2h0ICAgIOWkqea6kOi/quenkeS/oeaBr+aKgOacr+iCoeS7veaciemZkOWFrOWPuFxyXG4gKkBEZXNjcmlwdGlvblxyXG4gKi9cclxubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2xpYicpXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvaW5kZXguanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///212\n");
1497
1498/***/ }),
1499/* 213 */
1500/***/ (function(module, exports, __webpack_require__) {
1501
1502"use strict";
1503eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _index = __webpack_require__(214);\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _application = __webpack_require__(816);\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _viewport = __webpack_require__(827);\n\nvar _viewport2 = _interopRequireDefault(_viewport);\n\nvar _service = __webpack_require__(34);\n\nvar _service2 = _interopRequireDefault(_service);\n\nvar _configPageIde = __webpack_require__(834);\n\nvar _configPageIde2 = _interopRequireDefault(_configPageIde);\n\nvar _mount = __webpack_require__(42);\n\nvar _mount2 = _interopRequireDefault(_mount);\n\nvar _sortablejs = __webpack_require__(835);\n\nvar Sortable = _interopRequireWildcard(_sortablejs);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nwindow.configPageIde = _configPageIde2.default;\n\nwindow.Sortable = Sortable;\nvar GaeaEditor = {\n install: function install(Vue, options) {\n var store = options.store;\n if (!store) {\n console.error('gaea editor 需要 vuex');\n return;\n }\n\n if (!store.state.application) {\n store.registerModule('application', _application2.default);\n }\n if (!store.state.viewport) {\n store.registerModule('viewport', _viewport2.default);\n }\n\n Vue.component('gaea-editor', _index2.default);\n (0, _service2.default)(Vue);\n (0, _mount2.default)(Vue);\n }\n};\nexports.default = GaeaEditor;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvaW5kZXguanM/NDNiNSJdLCJuYW1lcyI6WyJTb3J0YWJsZSIsIndpbmRvdyIsImNvbmZpZ1BhZ2VJZGUiLCJHYWVhRWRpdG9yIiwiaW5zdGFsbCIsIlZ1ZSIsIm9wdGlvbnMiLCJzdG9yZSIsImNvbnNvbGUiLCJlcnJvciIsInN0YXRlIiwiYXBwbGljYXRpb24iLCJyZWdpc3Rlck1vZHVsZSIsInZpZXdwb3J0IiwiY29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFFQTs7OztBQUNBOzs7O0FBRUE7Ozs7QUFDQTs7SUFBWUEsUTs7Ozs7O0FBRlpDLE9BQU9DLGFBQVAsR0FBcUJBLHVCQUFyQjs7QUFHQUQsT0FBT0QsUUFBUCxHQUFnQkEsUUFBaEI7QUFDQSxJQUFJRyxhQUFhO0FBQ2JDLFdBRGEsbUJBQ0pDLEdBREksRUFDQ0MsT0FERCxFQUNVO0FBQ25CLFlBQUlDLFFBQVFELFFBQVFDLEtBQXBCO0FBQ0EsWUFBSSxDQUFDQSxLQUFMLEVBQVk7QUFDUkMsb0JBQVFDLEtBQVIsQ0FBYyxxQkFBZDtBQUNBO0FBQ0g7O0FBRUQsWUFBSSxDQUFDRixNQUFNRyxLQUFOLENBQVlDLFdBQWpCLEVBQThCO0FBQzFCSixrQkFBTUssY0FBTixDQUFxQixhQUFyQixFQUFvQ0QscUJBQXBDO0FBQ0g7QUFDRCxZQUFJLENBQUNKLE1BQU1HLEtBQU4sQ0FBWUcsUUFBakIsRUFBMkI7QUFDdkJOLGtCQUFNSyxjQUFOLENBQXFCLFVBQXJCLEVBQWlDQyxrQkFBakM7QUFDSDs7QUFFRFIsWUFBSVMsU0FBSixDQUFjLGFBQWQsRUFBNkJBLGVBQTdCO0FBQ0EsK0JBQVFULEdBQVI7QUFDQSw2QkFBT0EsR0FBUDtBQUNIO0FBbEJZLENBQWpCO2tCQW9CZUYsVSIsImZpbGUiOiIyMTMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY29tcG9uZW50IGZyb20gJy4vaW5kZXgudnVlJztcclxuaW1wb3J0IGFwcGxpY2F0aW9uIGZyb20gJy4vc3RvcmUvZWRpdG9yL2FwcGxpY2F0aW9uJztcclxuaW1wb3J0IHZpZXdwb3J0IGZyb20gJy4vc3RvcmUvZWRpdG9yL3ZpZXdwb3J0JztcclxuXHJcbmltcG9ydCBQbHVnaW5zIGZyb20gJy4vc2VydmljZSc7XHJcbmltcG9ydCBjb25maWdQYWdlSWRlIGZyb20gJy4vc3RhdGljL2RhdGEvY29uZmlnUGFnZUlkZSdcclxud2luZG93LmNvbmZpZ1BhZ2VJZGU9Y29uZmlnUGFnZUlkZTtcclxuaW1wb3J0IE1peGlucyBmcm9tICcuL3NlcnZpY2UvbW91bnQnO1xyXG5pbXBvcnQgKiBhcyBTb3J0YWJsZSBmcm9tICdzb3J0YWJsZWpzJztcclxud2luZG93LlNvcnRhYmxlPVNvcnRhYmxlO1xyXG5sZXQgR2FlYUVkaXRvciA9IHtcclxuICAgIGluc3RhbGwgKFZ1ZSwgb3B0aW9ucykge1xyXG4gICAgICAgIGxldCBzdG9yZSA9IG9wdGlvbnMuc3RvcmU7XHJcbiAgICAgICAgaWYgKCFzdG9yZSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdnYWVhIGVkaXRvciDpnIDopoEgdnVleCcpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOazqOWGjHN0b3JlIOaooeWdl1xyXG4gICAgICAgIGlmICghc3RvcmUuc3RhdGUuYXBwbGljYXRpb24pIHtcclxuICAgICAgICAgICAgc3RvcmUucmVnaXN0ZXJNb2R1bGUoJ2FwcGxpY2F0aW9uJywgYXBwbGljYXRpb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXN0b3JlLnN0YXRlLnZpZXdwb3J0KSB7XHJcbiAgICAgICAgICAgIHN0b3JlLnJlZ2lzdGVyTW9kdWxlKCd2aWV3cG9ydCcsIHZpZXdwb3J0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8g5rOo5YaM57uE5Lu2XHJcbiAgICAgICAgVnVlLmNvbXBvbmVudCgnZ2FlYS1lZGl0b3InLCBjb21wb25lbnQpO1xyXG4gICAgICAgIFBsdWdpbnMoVnVlKTtcclxuICAgICAgICBNaXhpbnMoVnVlKTtcclxuICAgIH1cclxufTtcclxuZXhwb3J0IGRlZmF1bHQgR2FlYUVkaXRvcjtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2luZGV4LmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///213\n");
1504
1505/***/ }),
1506/* 214 */
1507/***/ (function(module, __webpack_exports__, __webpack_require__) {
1508
1509"use strict";
1510eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(70);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_3cf35e57_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(815);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(215)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_3cf35e57_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-3cf35e57\", Component.options)\n } else {\n hotAPI.reload(\"data-v-3cf35e57\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvaW5kZXgudnVlPzBmZGEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFvVTtBQUM5VTtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQStFO0FBQ2hIO0FBQytIO0FBQ2E7QUFDNUk7QUFDa1M7QUFDbFM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGtRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiMjE0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtM2NmMzVlNTdcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTNjZjM1ZTU3XFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTNjZjM1ZTU3XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtM2NmMzVlNTdcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAyMTRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///214\n");
1511
1512/***/ }),
1513/* 215 */
1514/***/ (function(module, exports, __webpack_require__) {
1515
1516eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(216);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"15dbf7aa\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3cf35e57\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3cf35e57\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvaW5kZXgudnVlPzg2ZWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBb1Y7QUFDMVcsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUF3RixnQ0FBZ0M7QUFDN0k7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsaUxBQWlMLG1GQUFtRjtBQUNwUSwwTEFBMEwsbUZBQW1GO0FBQzdRO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiMjE1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTNjZjM1ZTU3XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCIxNWRiZjdhYVwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtM2NmMzVlNTdcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtM2NmMzVlNTdcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtM2NmMzVlNTdcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMjE1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///215\n");
1517
1518/***/ }),
1519/* 216 */
1520/***/ (function(module, exports, __webpack_require__) {
1521
1522eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\nhtml,body{height:100%\\n}\\n.formDiv{\\n width: 100%;\\n text-align: center;\\n position: relative;\\n}\\n.formTableDiv{\\n width: 24%;\\n text-align: center;\\n}\\n\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/myPlugin/page-ide/lib/index.vue\"],\"names\":[],\"mappings\":\";AA+OA,UAAA,WAAA;CAAA;AACA;EACA,YAAA;EACA,mBAAA;EACA,mBAAA;CACA;AACA;EACA,WAAA;EACA,mBAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <page :style=\\\"styles\\\" :componentClasses=\\\"componentClasses\\\"></page>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport Page from './page/index/index.vue';\\r\\n// 加载内置插件及每个区块对应的key\\r\\nimport {SVC} from './service';\\r\\n// 加载组件库\\r\\nimport defaultComponentClass from './components';\\r\\nimport eventbus from './service/eventbus';\\r\\nconst pluginsBelongKeys = SVC.pluginsBelongKeys;\\r\\nconst sortedPlugins = SVC.sortedPlugins;\\r\\nimport mixUtil from './plugins/save/mixUtil'\\r\\n\\r\\n\\r\\nimport Service from \\\"./service/tool-service\\\";\\r\\nimport httpLoading from \\\"./utils/httpLoading\\\";\\r\\nexport default {\\r\\n mixins:[mixUtil],\\r\\n data () {\\r\\n return {\\r\\n styles: {\\r\\n height: '100%',\\r\\n position: 'absolute',\\r\\n bottom: 0,\\r\\n left: 0,\\r\\n right: 0,\\r\\n top:\\\"0px\\\"\\r\\n },\\r\\n isRerver:false,//note 判断是否被转换了\\r\\n jsonObj:{\\r\\n page:{},\\r\\n elements:[]\\r\\n },\\r\\n };\\r\\n },\\r\\n methods:{\\r\\n updateHeight(topHeight){\\r\\n this.styles.top=topHeight;\\r\\n },\\r\\n getComponents(){\\r\\n let builtInPlugins = [];\\r\\n const context = require.context(\\r\\n './components',\\r\\n true,\\r\\n /index\\\\.(vue)$/\\r\\n );\\r\\n\\r\\n context.keys().forEach(item => {\\r\\n let myItem=context(item).default;\\r\\n //note 公共组件全部预置\\r\\n if(myItem.name==\\\"gaea-box\\\"||myItem.name==\\\"gaea-btns-oprator\\\"||myItem.name==\\\"gaea-container\\\"||myItem.name==\\\"gaea-steps\\\"||myItem.name==\\\"gaea-title\\\"||myItem.name==\\\"gaea-button\\\"){\\r\\n builtInPlugins.push(myItem);\\r\\n }\\r\\n //note 判断每一步所需要的组件\\r\\n else if(localStorage.itemStep==\\\"1\\\"){\\r\\n if(myItem.name==\\\"gaea-form\\\"||myItem.name==\\\"gaea-form-table\\\"||myItem.name==\\\"gaea-form-radio\\\"||myItem.name==\\\"gaea-identity-check\\\"||myItem.name==\\\"gaea-date-picker\\\"\\r\\n ||myItem.name==\\\"gaea-input\\\"||myItem.name==\\\"gaea-input-number\\\"||myItem.name==\\\"gaea-radio\\\"||myItem.name==\\\"gaea-select\\\"||myItem.name==\\\"gaea-table-daterange\\\"\\r\\n ||myItem.name==\\\"gaea-table-input\\\"||myItem.name==\\\"gaea-address-select\\\"||myItem.name==\\\"gaea-radio\\\"||myItem.name==\\\"gaea-select\\\"||myItem.name==\\\"gaea-table-input\\\"){\\r\\n builtInPlugins.push(myItem);\\r\\n }\\r\\n }else{\\r\\n if(myItem.name==\\\"gaea-form\\\"||myItem.name==\\\"gaea-form-table\\\"||myItem.name==\\\"gaea-form-radio\\\"||myItem.name==\\\"gaea-identity-check\\\"||myItem.name==\\\"gaea-date-picker\\\"\\r\\n ||myItem.name==\\\"gaea-input\\\"||myItem.name==\\\"gaea-input-number\\\"||myItem.name==\\\"gaea-radio\\\"||myItem.name==\\\"gaea-select\\\"||myItem.name==\\\"gaea-table-daterange\\\"\\r\\n ||myItem.name==\\\"gaea-table-input\\\"||myItem.name==\\\"gaea-address-select\\\"||myItem.name==\\\"gaea-radio\\\"||myItem.name==\\\"gaea-select\\\"||myItem.name==\\\"gaea-table-input\\\"){\\r\\n }else{\\r\\n builtInPlugins.push(myItem);\\r\\n }\\r\\n }\\r\\n\\r\\n });\\r\\n return builtInPlugins;\\r\\n },\\r\\n exportLocalData(){\\r\\n let stateaArr= this.$store.state.viewport.instances;\\r\\n let localInstances= [...stateaArr];\\r\\n localInstances.splice(0,1);\\r\\n for(let key=0;key<localInstances.length;key++){\\r\\n delete localInstances[key][1].vm;\\r\\n // val.data.property.value=val.data.property.label;\\r\\n }\\r\\n console.log(localInstances); // [ 1, 2, 3 ] openModalTitle\\r\\n return localInstances;\\r\\n //let templateJSON=JSON.stringify(localInstances);\\r\\n },\\r\\n showTemplateType(obj){\\r\\n eventbus.$emit(\\\"showTemplateType\\\",obj);\\r\\n },\\r\\n exportData(marker){\\r\\n this.$store.commit('viewport/deleteDataArr', {});\\r\\n debugger;\\r\\n console.log(this.componentTree);\\r\\n // let pageObj= JSON.parse(localStorage.getItem(\\\"page\\\"));\\r\\n configPageIde.page.fullModel.templateCache.validators=[];\\r\\n this.jsonObj.page = configPageIde.page;\\r\\n this.jsonObj.elements = [];\\r\\n this.componentTreeFactory(this.componentTree,this.jsonObj.elements);\\r\\n let allJson={\\r\\n previewJson:{},//预览的json\\r\\n localJson:{}//存储的json\\r\\n }\\r\\n let exportJson = this.jsonObj;\\r\\n /* let copyObj={\\r\\n data:this.jsonObj\\r\\n }\\r\\n Object.assign(exportJson, copyObj);*/\\r\\n\\r\\n //note 保存模板和json\\r\\n //note 这里面要做一个修改,给每一个form 里面添加字段属性,然后把字段的属性放到校验里面去\\r\\n let jsonArr2=[];\\r\\n let propArr=[];\\r\\n let targetArr=[];\\r\\n debugger;\\r\\n for(let i=0;i<exportJson.elements.length;i++) {\\r\\n for (var j = 0; j < exportJson.elements[i].data.length; j++) {\\r\\n //判断添加的数组是否为空了\\r\\n if (exportJson.elements[i].data[j].type == \\\"form\\\") {\\r\\n let jsonArr = exportJson.elements[i].data[j].data.items;\\r\\n for (let m = 0; m < jsonArr.length; m++) {\\r\\n if(jsonArr[m].type==\\\"checkboxMultiple\\\"){\\r\\n exportJson.page.fullModel[jsonArr[m].prop]=[];\\r\\n }else{\\r\\n exportJson.page.fullModel[jsonArr[m].prop]=\\\"\\\";\\r\\n }\\r\\n delete jsonArr[m].rules;\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n console.log(propArr);\\r\\n allJson.previewJson=exportJson;\\r\\n if(marker==1){\\r\\n //note 保存 exportJson\\r\\n allJson.localJson=this.exportLocalData();\\r\\n }else {\\r\\n //note 预览 2\\r\\n }\\r\\n return allJson;\\r\\n },\\r\\n },\\r\\n components: {\\r\\n Page\\r\\n },\\r\\n computed: {\\r\\n viewportInstances () {\\r\\n //note 获取拖拽组件的属性\\r\\n let viewprotInstances = this.$store.state.viewport.instances;\\r\\n let obj = Object.create(null);\\r\\n for (let [k,v] of viewprotInstances) {\\r\\n obj[k] = v;\\r\\n }\\r\\n return obj;\\r\\n },\\r\\n applicationState () {\\r\\n return this.$store.state.application;\\r\\n },\\r\\n viewportState () {\\r\\n return this.$store.state.viewport;\\r\\n },\\r\\n componentTree () {\\r\\n debugger;\\r\\n //note 获取组件树层级\\r\\n let _root = this.digui(this.viewportState.rootInstanceKey);\\r\\n return [_root][0].children;\\r\\n },\\r\\n instances () {\\r\\n return this.$store.state.viewport.instances;\\r\\n },\\r\\n formValidatorRules(){\\r\\n //note rules校验规则rules的抽取\\r\\n debugger;\\r\\n let result = _.pickBy(this.viewportInstances,(value)=>{\\r\\n if(value.data.validateArr&&value.data.validateArr.length>0){\\r\\n value.data.validateArr.forEach(function(v,k) {\\r\\n console.log(v); //这样就会分别将name遍历出来,判断有没有校验联动\\r\\n if(v.requireKeyValues&&v.requireKeyValues.length>0){\\r\\n //\\r\\n v.requireKeyValues.forEach(function(v1,k) {\\r\\n console.log(v1); //这样就会分别将name遍历出来,判断有没有校验联动\\r\\n if(v1.values.indexOf(\\\",\\\")==-1){\\r\\n //note 没找到\\r\\n }else{\\r\\n v1.values=v1.values.split(\\\",\\\");\\r\\n }\\r\\n\\r\\n });\\r\\n }\\r\\n });\\r\\n }\\r\\n return value.data.validateArr&&value.data.validateArr.length>0;\\r\\n });\\r\\n result = _.mapKeys(result,(value)=>{\\r\\n return value.data.property.prop;\\r\\n });\\r\\n result = _.mapValues(result,(value)=>{\\r\\n let validateArr = value.data.validateArr.map((value)=>{\\r\\n return _.pickBy(value,(value)=>{\\r\\n return value;\\r\\n })\\r\\n });\\r\\n if(!validateArr[0].required){\\r\\n validateArr.splice(0,1)\\r\\n }\\r\\n return validateArr;\\r\\n });\\r\\n return result;\\r\\n }\\r\\n },\\r\\n props: {\\r\\n componentClasses: {\\r\\n default () {\\r\\n return [];\\r\\n }\\r\\n }\\r\\n },\\r\\n created () {\\r\\n /*if(localStorage.isRefresh&&localStorage.isRefresh==\\\"1\\\"){\\r\\n localStorage.isRefresh=\\\"0\\\";\\r\\n location.reload();\\r\\n }*/\\r\\n console.log(JSON.stringify(defaultComponentClass));\\r\\n //this.componentClasses=this.getComponents();\\r\\n this.$store.commit('application/loadBuiltInPlugins', {pluginsBelongKeys, sortedPlugins});\\r\\n /*this.componentClasses.forEach(item => {\\r\\n this.$store.commit('application/addComponentClass', item);\\r\\n });*/\\r\\n this.componentClasses.concat(defaultComponentClass).forEach(item => {\\r\\n this.$store.commit('application/addComponentClass', item);\\r\\n });\\r\\n },\\r\\n mounted(){\\r\\n\\r\\n }\\r\\n\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style>\\r\\n html,body{height:100%}\\r\\n .formDiv{\\r\\n width: 100%;\\r\\n text-align: center;\\r\\n position: relative;\\r\\n }\\r\\n .formTableDiv{\\r\\n width: 24%;\\r\\n text-align: center;\\r\\n }\\r\\n\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvaW5kZXgudnVlP2Q2NmEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBc0U7QUFDekc7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLGVBQWUsY0FBYyxXQUFXLGdCQUFnQix1QkFBdUIsdUJBQXVCLEdBQUcsZ0JBQWdCLGVBQWUsdUJBQXVCLEdBQUcsWUFBWSxpSUFBaUksZ0JBQWdCLEtBQUssS0FBSyxVQUFVLFdBQVcsV0FBVyxLQUFLLEtBQUssVUFBVSxXQUFXLGdOQUFnTixvQ0FBb0MsSUFBSSxrQkFBa0IsaUVBQWlFLDhDQUE4QyxvREFBb0QsNENBQTRDLDJHQUEyRyxvREFBb0Qsb0JBQW9CLDBDQUEwQyxvQkFBb0IseUJBQXlCLG1RQUFtUSx3RUFBd0UsMkJBQTJCLGlEQUFpRCxlQUFlLFNBQVMsa0JBQWtCLG9DQUFvQywwQ0FBMEMsYUFBYSw2QkFBNkIsdUNBQXVDLDZKQUE2SixtREFBbUQsb0RBQW9ELGdQQUFnUCxtREFBbUQsb0JBQW9CLDhGQUE4Rixta0JBQW1rQix1REFBdUQsd0JBQXdCLG9CQUFvQixLQUFLLG1rQkFBbWtCLHdCQUF3QixLQUFLLHVEQUF1RCx3QkFBd0Isb0JBQW9CLG9CQUFvQixFQUFFLHFDQUFxQyxZQUFZLCtCQUErQixvRUFBb0UsbURBQW1ELDJDQUEyQyw4QkFBOEIsMEJBQTBCLE9BQU8scURBQXFELHVFQUF1RSxpQkFBaUIsNENBQTRDLHFFQUFxRSxrRUFBa0UsYUFBYSxtQ0FBbUMseURBQXlELGFBQWEsZ0NBQWdDLCtEQUErRCxFQUFFLHlCQUF5QixnREFBZ0QsMkVBQTJFLHlFQUF5RSx1REFBdUQsMkNBQTJDLG9GQUFvRiw2QkFBNkIsa0NBQWtDLDBDQUEwQywwQkFBMEIsK0NBQStDLCtCQUErQixzREFBc0QsbURBQW1ELHdJQUF3SSwrQkFBK0IsaUNBQWlDLDBCQUEwQiw0QkFBNEIsNkJBQTZCLE1BQU0sbUNBQW1DLHdDQUF3QyxPQUFPLG9IQUFvSCxvRkFBb0YsMkNBQTJDLG9CQUFvQixPQUFPLDBFQUEwRSxrRkFBa0YsaUNBQWlDLEtBQUssb0ZBQW9GLGlDQUFpQyx3REFBd0QsNkJBQTZCLHlCQUF5QixxQkFBcUIsaUJBQWlCLHFDQUFxQywrQ0FBK0MsOEJBQThCLHVHQUF1RyxpQkFBaUIsTUFBTSxnREFBZ0QsK0JBQStCLGFBQWEsVUFBVSxzQkFBc0IseUJBQXlCLG9CQUFvQixrQ0FBa0MsNkdBQTZHLDhDQUE4QyxzREFBc0QsK0JBQStCLGlCQUFpQiwyQkFBMkIsYUFBYSxrQ0FBa0MscURBQXFELGFBQWEsK0JBQStCLGtEQUFrRCxhQUFhLCtCQUErQix5QkFBeUIseUdBQXlHLDJDQUEyQyxhQUFhLDJCQUEyQiw0REFBNEQsYUFBYSxrQ0FBa0MsaUVBQWlFLHVFQUF1RSxnRkFBZ0Ysc0VBQXNFLDJDQUEyQyw0R0FBNEcsNkdBQTZHLG9EQUFvRCxpR0FBaUcsdUZBQXVGLEtBQUsseUVBQXlFLHFDQUFxQyxxQ0FBcUMsRUFBRSw2QkFBNkIseUJBQXlCLEVBQUUscUJBQXFCLG1GQUFtRixpQkFBaUIsRUFBRSxvREFBb0Qsb0RBQW9ELGlCQUFpQixFQUFFLHNEQUFzRCwyRUFBMkUsd0RBQXdELHlDQUF5Qyx5QkFBeUIsc0JBQXNCLEVBQUUsaURBQWlELG9FQUFvRSx1Q0FBdUMsaUJBQWlCLEVBQUUsOEJBQThCLGFBQWEsU0FBUyxpQkFBaUIsK0JBQStCLDRCQUE0Qiw4QkFBOEIsaUJBQWlCLGFBQWEsU0FBUyxxQkFBcUIsd0VBQXdFLDZDQUE2QyxrQ0FBa0MsYUFBYSxpRUFBaUUseURBQXlELGtFQUFrRSxpQ0FBaUMsRUFBRSxxREFBcUQsMEVBQTBFLGFBQWEsRUFBRSxtRkFBbUYsMEVBQTBFLGFBQWEsRUFBRSxTQUFTLG1CQUFtQixhQUFhLFVBQVUsNENBQTRDLFlBQVksZUFBZSxvQkFBb0IsMkJBQTJCLDJCQUEyQixPQUFPLG9CQUFvQixtQkFBbUIsMkJBQTJCLE9BQU8sdUNBQXVDOztBQUUvOFUiLCJmaWxlIjoiMjE2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuaHRtbCxib2R5e2hlaWdodDoxMDAlXFxufVxcbi5mb3JtRGl2e1xcbiAgd2lkdGg6IDEwMCU7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5mb3JtVGFibGVEaXZ7XFxuICB3aWR0aDogMjQlO1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbn1cXG5cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wiRTovcHJvamVjdC9wYWdlLWlkZS14aWFuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9teVBsdWdpbi9wYWdlLWlkZS9saWIvaW5kZXgudnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUErT0EsVUFBQSxXQUFBO0NBQUE7QUFDQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0NBQ0E7QUFDQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTtDQUNBXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZXNDb250ZW50XCI6W1wiPHRlbXBsYXRlPlxcclxcbiAgPHBhZ2UgIDpzdHlsZT1cXFwic3R5bGVzXFxcIiA6Y29tcG9uZW50Q2xhc3Nlcz1cXFwiY29tcG9uZW50Q2xhc3Nlc1xcXCI+PC9wYWdlPlxcclxcbjwvdGVtcGxhdGU+XFxyXFxuXFxyXFxuPHNjcmlwdD5cXHJcXG5pbXBvcnQgUGFnZSBmcm9tICcuL3BhZ2UvaW5kZXgvaW5kZXgudnVlJztcXHJcXG4vLyDliqDovb3lhoXnva7mj5Lku7blj4rmr4/kuKrljLrlnZflr7nlupTnmoRrZXlcXHJcXG5pbXBvcnQge1NWQ30gZnJvbSAnLi9zZXJ2aWNlJztcXHJcXG4vLyDliqDovb3nu4Tku7blupNcXHJcXG5pbXBvcnQgZGVmYXVsdENvbXBvbmVudENsYXNzIGZyb20gJy4vY29tcG9uZW50cyc7XFxyXFxuaW1wb3J0IGV2ZW50YnVzIGZyb20gJy4vc2VydmljZS9ldmVudGJ1cyc7XFxyXFxuY29uc3QgcGx1Z2luc0JlbG9uZ0tleXMgPSBTVkMucGx1Z2luc0JlbG9uZ0tleXM7XFxyXFxuY29uc3Qgc29ydGVkUGx1Z2lucyA9IFNWQy5zb3J0ZWRQbHVnaW5zO1xcclxcbmltcG9ydCBtaXhVdGlsIGZyb20gJy4vcGx1Z2lucy9zYXZlL21peFV0aWwnXFxyXFxuXFxyXFxuXFxyXFxuaW1wb3J0IFNlcnZpY2UgZnJvbSBcXFwiLi9zZXJ2aWNlL3Rvb2wtc2VydmljZVxcXCI7XFxyXFxuaW1wb3J0IGh0dHBMb2FkaW5nIGZyb20gXFxcIi4vdXRpbHMvaHR0cExvYWRpbmdcXFwiO1xcclxcbmV4cG9ydCBkZWZhdWx0IHtcXHJcXG4gICAgbWl4aW5zOlttaXhVdGlsXSxcXHJcXG4gICAgZGF0YSAoKSB7XFxyXFxuICAgICAgICByZXR1cm4ge1xcclxcbiAgICAgICAgICAgIHN0eWxlczoge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDpcXFwiMHB4XFxcIlxcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgaXNSZXJ2ZXI6ZmFsc2UsLy9ub3RlIOWIpOaWreaYr+WQpuiiq+i9rOaNouS6hlxcclxcbiAgICAgICAgICAgIGpzb25PYmo6e1xcclxcbiAgICAgICAgICAgICAgICBwYWdlOnt9LFxcclxcbiAgICAgICAgICAgICAgICBlbGVtZW50czpbXVxcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICB9O1xcclxcbiAgICB9LFxcclxcbiAgICBtZXRob2RzOntcXHJcXG4gICAgICAgIHVwZGF0ZUhlaWdodCh0b3BIZWlnaHQpe1xcclxcbiAgICAgICAgICAgIHRoaXMuc3R5bGVzLnRvcD10b3BIZWlnaHQ7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZ2V0Q29tcG9uZW50cygpe1xcclxcbiAgICAgICAgICAgbGV0IGJ1aWx0SW5QbHVnaW5zID0gW107XFxyXFxuICAgICAgICAgICBjb25zdCBjb250ZXh0ID0gcmVxdWlyZS5jb250ZXh0KFxcclxcbiAgICAgICAgICAgICAgICcuL2NvbXBvbmVudHMnLFxcclxcbiAgICAgICAgICAgICAgIHRydWUsXFxyXFxuICAgICAgICAgICAgICAgL2luZGV4XFxcXC4odnVlKSQvXFxyXFxuICAgICAgICAgICApO1xcclxcblxcclxcbiAgICAgICAgICAgY29udGV4dC5rZXlzKCkuZm9yRWFjaChpdGVtID0+IHtcXHJcXG4gICAgICAgICAgICAgICBsZXQgbXlJdGVtPWNvbnRleHQoaXRlbSkuZGVmYXVsdDtcXHJcXG4gICAgICAgICAgICAgICAvL25vdGUg5YWs5YWx57uE5Lu25YWo6YOo6aKE572uXFxyXFxuICAgICAgICAgICAgICAgaWYobXlJdGVtLm5hbWU9PVxcXCJnYWVhLWJveFxcXCJ8fG15SXRlbS5uYW1lPT1cXFwiZ2FlYS1idG5zLW9wcmF0b3JcXFwifHxteUl0ZW0ubmFtZT09XFxcImdhZWEtY29udGFpbmVyXFxcInx8bXlJdGVtLm5hbWU9PVxcXCJnYWVhLXN0ZXBzXFxcInx8bXlJdGVtLm5hbWU9PVxcXCJnYWVhLXRpdGxlXFxcInx8bXlJdGVtLm5hbWU9PVxcXCJnYWVhLWJ1dHRvblxcXCIpe1xcclxcbiAgICAgICAgICAgICAgICAgICBidWlsdEluUGx1Z2lucy5wdXNoKG15SXRlbSk7XFxyXFxuICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgIC8vbm90ZSDliKTmlq3mr4/kuIDmraXmiYDpnIDopoHnmoTnu4Tku7ZcXHJcXG4gICAgICAgICAgICAgICBlbHNlIGlmKGxvY2FsU3RvcmFnZS5pdGVtU3RlcD09XFxcIjFcXFwiKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgaWYobXlJdGVtLm5hbWU9PVxcXCJnYWVhLWZvcm1cXFwifHxteUl0ZW0ubmFtZT09XFxcImdhZWEtZm9ybS10YWJsZVxcXCJ8fG15SXRlbS5uYW1lPT1cXFwiZ2FlYS1mb3JtLXJhZGlvXFxcInx8bXlJdGVtLm5hbWU9PVxcXCJnYWVhLWlkZW50aXR5LWNoZWNrXFxcInx8bXlJdGVtLm5hbWU9PVxcXCJnYWVhLWRhdGUtcGlja2VyXFxcIlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgfHxteUl0ZW0ubmFtZT09XFxcImdhZWEtaW5wdXRcXFwifHxteUl0ZW0ubmFtZT09XFxcImdhZWEtaW5wdXQtbnVtYmVyXFxcInx8bXlJdGVtLm5hbWU9PVxcXCJnYWVhLXJhZGlvXFxcInx8bXlJdGVtLm5hbWU9PVxcXCJnYWVhLXNlbGVjdFxcXCJ8fG15SXRlbS5uYW1lPT1cXFwiZ2FlYS10YWJsZS1kYXRlcmFuZ2VcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICB8fG15SXRlbS5uYW1lPT1cXFwiZ2FlYS10YWJsZS1pbnB1dFxcXCJ8fG15SXRlbS5uYW1lPT1cXFwiZ2FlYS1hZGRyZXNzLXNlbGVjdFxcXCJ8fG15SXRlbS5uYW1lPT1cXFwiZ2FlYS1yYWRpb1xcXCJ8fG15SXRlbS5uYW1lPT1cXFwiZ2FlYS1zZWxlY3RcXFwifHxteUl0ZW0ubmFtZT09XFxcImdhZWEtdGFibGUtaW5wdXRcXFwiKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgIGJ1aWx0SW5QbHVnaW5zLnB1c2gobXlJdGVtKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgIH1lbHNle1xcclxcbiAgICAgICAgICAgICAgICAgICBpZihteUl0ZW0ubmFtZT09XFxcImdhZWEtZm9ybVxcXCJ8fG15SXRlbS5uYW1lPT1cXFwiZ2FlYS1mb3JtLXRhYmxlXFxcInx8bXlJdGVtLm5hbWU9PVxcXCJnYWVhLWZvcm0tcmFkaW9cXFwifHxteUl0ZW0ubmFtZT09XFxcImdhZWEtaWRlbnRpdHktY2hlY2tcXFwifHxteUl0ZW0ubmFtZT09XFxcImdhZWEtZGF0ZS1waWNrZXJcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICB8fG15SXRlbS5uYW1lPT1cXFwiZ2FlYS1pbnB1dFxcXCJ8fG15SXRlbS5uYW1lPT1cXFwiZ2FlYS1pbnB1dC1udW1iZXJcXFwifHxteUl0ZW0ubmFtZT09XFxcImdhZWEtcmFkaW9cXFwifHxteUl0ZW0ubmFtZT09XFxcImdhZWEtc2VsZWN0XFxcInx8bXlJdGVtLm5hbWU9PVxcXCJnYWVhLXRhYmxlLWRhdGVyYW5nZVxcXCJcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgIHx8bXlJdGVtLm5hbWU9PVxcXCJnYWVhLXRhYmxlLWlucHV0XFxcInx8bXlJdGVtLm5hbWU9PVxcXCJnYWVhLWFkZHJlc3Mtc2VsZWN0XFxcInx8bXlJdGVtLm5hbWU9PVxcXCJnYWVhLXJhZGlvXFxcInx8bXlJdGVtLm5hbWU9PVxcXCJnYWVhLXNlbGVjdFxcXCJ8fG15SXRlbS5uYW1lPT1cXFwiZ2FlYS10YWJsZS1pbnB1dFxcXCIpe1xcclxcbiAgICAgICAgICAgICAgICAgICB9ZWxzZXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgIGJ1aWx0SW5QbHVnaW5zLnB1c2gobXlJdGVtKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgIH1cXHJcXG5cXHJcXG4gICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgICAgcmV0dXJuIGJ1aWx0SW5QbHVnaW5zO1xcclxcbiAgICAgICB9LFxcclxcbiAgICAgICAgZXhwb3J0TG9jYWxEYXRhKCl7XFxyXFxuICAgICAgICAgICAgbGV0IHN0YXRlYUFycj0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzO1xcclxcbiAgICAgICAgICAgIGxldCBsb2NhbEluc3RhbmNlcz0gWy4uLnN0YXRlYUFycl07XFxyXFxuICAgICAgICAgICAgbG9jYWxJbnN0YW5jZXMuc3BsaWNlKDAsMSk7XFxyXFxuICAgICAgICAgICAgZm9yKGxldCBrZXk9MDtrZXk8bG9jYWxJbnN0YW5jZXMubGVuZ3RoO2tleSsrKXtcXHJcXG4gICAgICAgICAgICAgICAgZGVsZXRlIGxvY2FsSW5zdGFuY2VzW2tleV1bMV0udm07XFxyXFxuICAgICAgICAgICAgICAgIC8vIHZhbC5kYXRhLnByb3BlcnR5LnZhbHVlPXZhbC5kYXRhLnByb3BlcnR5LmxhYmVsO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhsb2NhbEluc3RhbmNlcyk7IC8vIFsgMSwgMiwgMyBdICBvcGVuTW9kYWxUaXRsZVxcclxcbiAgICAgICAgICAgIHJldHVybiBsb2NhbEluc3RhbmNlcztcXHJcXG4gICAgICAgICAgICAvL2xldCB0ZW1wbGF0ZUpTT049SlNPTi5zdHJpbmdpZnkobG9jYWxJbnN0YW5jZXMpO1xcclxcbiAgICAgICAgfSxcXHJcXG4gICAgICAgIHNob3dUZW1wbGF0ZVR5cGUob2JqKXtcXHJcXG4gICAgICAgICAgICBldmVudGJ1cy4kZW1pdChcXFwic2hvd1RlbXBsYXRlVHlwZVxcXCIsb2JqKTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBleHBvcnREYXRhKG1hcmtlcil7XFxyXFxuICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9kZWxldGVEYXRhQXJyJywge30pO1xcclxcbiAgICAgICAgICAgIGRlYnVnZ2VyO1xcclxcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMuY29tcG9uZW50VHJlZSk7XFxyXFxuICAgICAgICAgICAgLy8gbGV0IHBhZ2VPYmo9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXFxcInBhZ2VcXFwiKSk7XFxyXFxuICAgICAgICAgICAgY29uZmlnUGFnZUlkZS5wYWdlLmZ1bGxNb2RlbC50ZW1wbGF0ZUNhY2hlLnZhbGlkYXRvcnM9W107XFxyXFxuICAgICAgICAgICAgdGhpcy5qc29uT2JqLnBhZ2UgPSBjb25maWdQYWdlSWRlLnBhZ2U7XFxyXFxuICAgICAgICAgICAgdGhpcy5qc29uT2JqLmVsZW1lbnRzID0gW107XFxyXFxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRUcmVlRmFjdG9yeSh0aGlzLmNvbXBvbmVudFRyZWUsdGhpcy5qc29uT2JqLmVsZW1lbnRzKTtcXHJcXG4gICAgICAgICAgICBsZXQgYWxsSnNvbj17XFxyXFxuICAgICAgICAgICAgICAgIHByZXZpZXdKc29uOnt9LC8v6aKE6KeI55qEanNvblxcclxcbiAgICAgICAgICAgICAgICBsb2NhbEpzb246e30vL+WtmOWCqOeahGpzb25cXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgbGV0IGV4cG9ydEpzb24gPSAgdGhpcy5qc29uT2JqO1xcclxcbiAgICAgICAgICAvKiAgbGV0IGNvcHlPYmo9e1xcclxcbiAgICAgICAgICAgICAgICBkYXRhOnRoaXMuanNvbk9ialxcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKGV4cG9ydEpzb24sIGNvcHlPYmopOyovXFxyXFxuXFxyXFxuICAgICAgICAgICAgLy9ub3RlIOS/neWtmOaooeadv+WSjGpzb25cXHJcXG4gICAgICAgICAgICAvL25vdGUg6L+Z6YeM6Z2i6KaB5YGa5LiA5Liq5L+u5pS577yM57uZ5q+P5LiA5LiqZm9ybSDph4zpnaLmt7vliqDlrZfmrrXlsZ7mgKfvvIznhLblkI7miorlrZfmrrXnmoTlsZ7mgKfmlL7liLDmoKHpqozph4zpnaLljrtcXHJcXG4gICAgICAgICAgICBsZXQganNvbkFycjI9W107XFxyXFxuICAgICAgICAgICAgbGV0IHByb3BBcnI9W107XFxyXFxuICAgICAgICAgICAgbGV0IHRhcmdldEFycj1bXTtcXHJcXG4gICAgICAgICAgICAgZGVidWdnZXI7XFxyXFxuICAgICAgICAgICAgZm9yKGxldCBpPTA7aTxleHBvcnRKc29uLmVsZW1lbnRzLmxlbmd0aDtpKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBleHBvcnRKc29uLmVsZW1lbnRzW2ldLmRhdGEubGVuZ3RoOyBqKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIC8v5Yik5pat5re75Yqg55qE5pWw57uE5piv5ZCm5Li656m65LqGXFxyXFxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhwb3J0SnNvbi5lbGVtZW50c1tpXS5kYXRhW2pdLnR5cGUgPT0gXFxcImZvcm1cXFwiKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGpzb25BcnIgPSBleHBvcnRKc29uLmVsZW1lbnRzW2ldLmRhdGFbal0uZGF0YS5pdGVtcztcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBtID0gMDsgbSA8IGpzb25BcnIubGVuZ3RoOyBtKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoanNvbkFyclttXS50eXBlPT1cXFwiY2hlY2tib3hNdWx0aXBsZVxcXCIpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwb3J0SnNvbi5wYWdlLmZ1bGxNb2RlbFtqc29uQXJyW21dLnByb3BdPVtdO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cG9ydEpzb24ucGFnZS5mdWxsTW9kZWxbanNvbkFyclttXS5wcm9wXT1cXFwiXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUganNvbkFyclttXS5ydWxlcztcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgY29uc29sZS5sb2cocHJvcEFycik7XFxyXFxuICAgICAgICAgICAgYWxsSnNvbi5wcmV2aWV3SnNvbj1leHBvcnRKc29uO1xcclxcbiAgICAgICAgICAgIGlmKG1hcmtlcj09MSl7XFxyXFxuICAgICAgICAgICAgICAgIC8vbm90ZSDkv53lrZggIGV4cG9ydEpzb25cXHJcXG4gICAgICAgICAgICAgICAgIGFsbEpzb24ubG9jYWxKc29uPXRoaXMuZXhwb3J0TG9jYWxEYXRhKCk7XFxyXFxuICAgICAgICAgICAgfWVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICAvL25vdGUg6aKE6KeIIDJcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgcmV0dXJuIGFsbEpzb247XFxyXFxuICAgICAgICB9LFxcclxcbiAgICB9LFxcclxcbiAgICBjb21wb25lbnRzOiB7XFxyXFxuICAgICAgICBQYWdlXFxyXFxuICAgIH0sXFxyXFxuICAgIGNvbXB1dGVkOiB7XFxyXFxuICAgICAgICB2aWV3cG9ydEluc3RhbmNlcyAoKSB7XFxyXFxuICAgICAgICAgICAgLy9ub3RlIOiOt+WPluaLluaLvee7hOS7tueahOWxnuaAp1xcclxcbiAgICAgICAgICAgIGxldCB2aWV3cHJvdEluc3RhbmNlcyA9IHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcztcXHJcXG4gICAgICAgICAgICBsZXQgb2JqID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcXHJcXG4gICAgICAgICAgICBmb3IgKGxldCBbayx2XSBvZiB2aWV3cHJvdEluc3RhbmNlcykge1xcclxcbiAgICAgICAgICAgICAgICBvYmpba10gPSB2O1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICByZXR1cm4gb2JqO1xcclxcbiAgICAgICAgfSxcXHJcXG4gICAgICAgIGFwcGxpY2F0aW9uU3RhdGUgKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5hcHBsaWNhdGlvbjtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICB2aWV3cG9ydFN0YXRlICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQ7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgY29tcG9uZW50VHJlZSAoKSB7XFxyXFxuICAgICAgICAgICAgZGVidWdnZXI7XFxyXFxuICAgICAgICAgICAgLy9ub3RlIOiOt+WPlue7hOS7tuagkeWxgue6p1xcclxcbiAgICAgICAgICAgIGxldCBfcm9vdCA9IHRoaXMuZGlndWkodGhpcy52aWV3cG9ydFN0YXRlLnJvb3RJbnN0YW5jZUtleSk7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIFtfcm9vdF1bMF0uY2hpbGRyZW47XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgaW5zdGFuY2VzICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzO1xcclxcbiAgICAgICAgfSxcXHJcXG4gICAgICAgIGZvcm1WYWxpZGF0b3JSdWxlcygpe1xcclxcbiAgICAgICAgICAgIC8vbm90ZSBydWxlc+agoemqjOinhOWImXJ1bGVz55qE5oq95Y+WXFxyXFxuICAgICAgICAgICAgZGVidWdnZXI7XFxyXFxuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IF8ucGlja0J5KHRoaXMudmlld3BvcnRJbnN0YW5jZXMsKHZhbHVlKT0+e1xcclxcbiAgICAgICAgICAgICAgICBpZih2YWx1ZS5kYXRhLnZhbGlkYXRlQXJyJiZ2YWx1ZS5kYXRhLnZhbGlkYXRlQXJyLmxlbmd0aD4wKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLmRhdGEudmFsaWRhdGVBcnIuZm9yRWFjaChmdW5jdGlvbih2LGspIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh2KTsgLy/ov5nmoLflsLHkvJrliIbliKvlsIZuYW1l6YGN5Y6G5Ye65p2lLOWIpOaWreacieayoeacieagoemqjOiBlOWKqFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHYucmVxdWlyZUtleVZhbHVlcyYmdi5yZXF1aXJlS2V5VmFsdWVzLmxlbmd0aD4wKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdi5yZXF1aXJlS2V5VmFsdWVzLmZvckVhY2goZnVuY3Rpb24odjEsaykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2codjEpOyAvL+i/meagt+WwseS8muWIhuWIq+Wwhm5hbWXpgY3ljoblh7rmnaUs5Yik5pat5pyJ5rKh5pyJ5qCh6aqM6IGU5YqoXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih2MS52YWx1ZXMuaW5kZXhPZihcXFwiLFxcXCIpPT0tMSl7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOayoeaJvuWIsFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfWVsc2V7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjEudmFsdWVzPXYxLnZhbHVlcy5zcGxpdChcXFwiLFxcXCIpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcblxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUuZGF0YS52YWxpZGF0ZUFyciYmdmFsdWUuZGF0YS52YWxpZGF0ZUFyci5sZW5ndGg+MDtcXHJcXG4gICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgICAgICByZXN1bHQgPSBfLm1hcEtleXMocmVzdWx0LCh2YWx1ZSk9PntcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmRhdGEucHJvcGVydHkucHJvcDtcXHJcXG4gICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgICAgICByZXN1bHQgPSBfLm1hcFZhbHVlcyhyZXN1bHQsKHZhbHVlKT0+e1xcclxcbiAgICAgICAgICAgICAgICBsZXQgdmFsaWRhdGVBcnIgPSB2YWx1ZS5kYXRhLnZhbGlkYXRlQXJyLm1hcCgodmFsdWUpPT57XFxyXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXy5waWNrQnkodmFsdWUsKHZhbHVlKT0+e1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgICAgICAgICBpZighdmFsaWRhdGVBcnJbMF0ucmVxdWlyZWQpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGVBcnIuc3BsaWNlKDAsMSlcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsaWRhdGVBcnI7XFxyXFxuICAgICAgICAgICAgfSk7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfSxcXHJcXG4gICAgcHJvcHM6IHtcXHJcXG4gICAgICAgIGNvbXBvbmVudENsYXNzZXM6IHtcXHJcXG4gICAgICAgICAgICBkZWZhdWx0ICgpIHtcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfSxcXHJcXG4gICAgY3JlYXRlZCAoKSB7XFxyXFxuICAgICAgICAvKmlmKGxvY2FsU3RvcmFnZS5pc1JlZnJlc2gmJmxvY2FsU3RvcmFnZS5pc1JlZnJlc2g9PVxcXCIxXFxcIil7XFxyXFxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLmlzUmVmcmVzaD1cXFwiMFxcXCI7XFxyXFxuICAgICAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7XFxyXFxuICAgICAgICB9Ki9cXHJcXG4gICAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGRlZmF1bHRDb21wb25lbnRDbGFzcykpO1xcclxcbiAgICAgICAgLy90aGlzLmNvbXBvbmVudENsYXNzZXM9dGhpcy5nZXRDb21wb25lbnRzKCk7XFxyXFxuICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ2FwcGxpY2F0aW9uL2xvYWRCdWlsdEluUGx1Z2lucycsIHtwbHVnaW5zQmVsb25nS2V5cywgc29ydGVkUGx1Z2luc30pO1xcclxcbiAgICAgICAgLyp0aGlzLmNvbXBvbmVudENsYXNzZXMuZm9yRWFjaChpdGVtID0+IHtcXHJcXG4gICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ2FwcGxpY2F0aW9uL2FkZENvbXBvbmVudENsYXNzJywgaXRlbSk7XFxyXFxuICAgICAgICB9KTsqL1xcclxcbiAgICAgICAgdGhpcy5jb21wb25lbnRDbGFzc2VzLmNvbmNhdChkZWZhdWx0Q29tcG9uZW50Q2xhc3MpLmZvckVhY2goaXRlbSA9PiB7XFxyXFxuICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCdhcHBsaWNhdGlvbi9hZGRDb21wb25lbnRDbGFzcycsIGl0ZW0pO1xcclxcbiAgICAgICAgfSk7XFxyXFxuICAgIH0sXFxyXFxuICAgIG1vdW50ZWQoKXtcXHJcXG5cXHJcXG4gICAgfVxcclxcblxcclxcbn07XFxyXFxuPC9zY3JpcHQ+XFxyXFxuXFxyXFxuPHN0eWxlPlxcclxcbiAgaHRtbCxib2R5e2hlaWdodDoxMDAlfVxcclxcbiAgLmZvcm1EaXZ7XFxyXFxuICAgIHdpZHRoOiAxMDAlO1xcclxcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxyXFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXHJcXG4gIH1cXHJcXG4gIC5mb3JtVGFibGVEaXZ7XFxyXFxuICAgIHdpZHRoOiAyNCU7XFxyXFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcXHJcXG4gIH1cXHJcXG5cXHJcXG48L3N0eWxlPlxcclxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0zY2YzNWU1N1wiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAyMTZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///216\n");
1523
1524/***/ }),
1525/* 217 */
1526/***/ (function(module, exports) {
1527
1528eval("/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nmodule.exports = function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvbGlzdFRvU3R5bGVzLmpzP2U2OWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsaUJBQWlCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQyx3QkFBd0I7QUFDM0QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMjE3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUcmFuc2xhdGVzIHRoZSBsaXN0IGZvcm1hdCBwcm9kdWNlZCBieSBjc3MtbG9hZGVyIGludG8gc29tZXRoaW5nXG4gKiBlYXNpZXIgdG8gbWFuaXB1bGF0ZS5cbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBsaXN0VG9TdHlsZXMgKHBhcmVudElkLCBsaXN0KSB7XG4gIHZhciBzdHlsZXMgPSBbXVxuICB2YXIgbmV3U3R5bGVzID0ge31cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGl0ZW0gPSBsaXN0W2ldXG4gICAgdmFyIGlkID0gaXRlbVswXVxuICAgIHZhciBjc3MgPSBpdGVtWzFdXG4gICAgdmFyIG1lZGlhID0gaXRlbVsyXVxuICAgIHZhciBzb3VyY2VNYXAgPSBpdGVtWzNdXG4gICAgdmFyIHBhcnQgPSB7XG4gICAgICBpZDogcGFyZW50SWQgKyAnOicgKyBpLFxuICAgICAgY3NzOiBjc3MsXG4gICAgICBtZWRpYTogbWVkaWEsXG4gICAgICBzb3VyY2VNYXA6IHNvdXJjZU1hcFxuICAgIH1cbiAgICBpZiAoIW5ld1N0eWxlc1tpZF0pIHtcbiAgICAgIHN0eWxlcy5wdXNoKG5ld1N0eWxlc1tpZF0gPSB7IGlkOiBpZCwgcGFydHM6IFtwYXJ0XSB9KVxuICAgIH0gZWxzZSB7XG4gICAgICBuZXdTdHlsZXNbaWRdLnBhcnRzLnB1c2gocGFydClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHN0eWxlc1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvbGlzdFRvU3R5bGVzLmpzXG4vLyBtb2R1bGUgaWQgPSAyMTdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///217\n");
1529
1530/***/ }),
1531/* 218 */
1532/***/ (function(module, exports, __webpack_require__) {
1533
1534eval("var core = __webpack_require__(9);\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L2ZuL2pzb24vc3RyaW5naWZ5LmpzP2FiNTYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsV0FBVyxtQkFBTyxDQUFDLENBQXFCO0FBQ3hDLHVDQUF1Qyw0QkFBNEI7QUFDbkUseUNBQXlDO0FBQ3pDO0FBQ0EiLCJmaWxlIjoiMjE4LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGNvcmUgPSByZXF1aXJlKCcuLi8uLi9tb2R1bGVzL19jb3JlJyk7XG52YXIgJEpTT04gPSBjb3JlLkpTT04gfHwgKGNvcmUuSlNPTiA9IHsgc3RyaW5naWZ5OiBKU09OLnN0cmluZ2lmeSB9KTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gc3RyaW5naWZ5KGl0KSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgcmV0dXJuICRKU09OLnN0cmluZ2lmeS5hcHBseSgkSlNPTiwgYXJndW1lbnRzKTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvZm4vanNvbi9zdHJpbmdpZnkuanNcbi8vIG1vZHVsZSBpZCA9IDIxOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///218\n");
1535
1536/***/ }),
1537/* 219 */
1538/***/ (function(module, exports, __webpack_require__) {
1539
1540eval("__webpack_require__(29);\n__webpack_require__(27);\nmodule.exports = __webpack_require__(231);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L2ZuL2dldC1pdGVyYXRvci5qcz85N2UyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUFPLENBQUMsRUFBNkI7QUFDckMsbUJBQU8sQ0FBQyxFQUFnQztBQUN4QyxpQkFBaUIsbUJBQU8sQ0FBQyxHQUE4QiIsImZpbGUiOiIyMTkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJyZXF1aXJlKCcuLi9tb2R1bGVzL3dlYi5kb20uaXRlcmFibGUnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnN0cmluZy5pdGVyYXRvcicpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi9tb2R1bGVzL2NvcmUuZ2V0LWl0ZXJhdG9yJyk7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvZm4vZ2V0LWl0ZXJhdG9yLmpzXG4vLyBtb2R1bGUgaWQgPSAyMTlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///219\n");
1541
1542/***/ }),
1543/* 220 */
1544/***/ (function(module, exports, __webpack_require__) {
1545
1546"use strict";
1547eval("\nvar addToUnscopables = __webpack_require__(221);\nvar step = __webpack_require__(71);\nvar Iterators = __webpack_require__(25);\nvar toIObject = __webpack_require__(47);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(50)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2LmFycmF5Lml0ZXJhdG9yLmpzPzVjYTQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7QUFDYix1QkFBdUIsbUJBQU8sQ0FBQyxHQUF1QjtBQUN0RCxXQUFXLG1CQUFPLENBQUMsRUFBYztBQUNqQyxnQkFBZ0IsbUJBQU8sQ0FBQyxFQUFjO0FBQ3RDLGdCQUFnQixtQkFBTyxDQUFDLEVBQWU7O0FBRXZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLG1CQUFPLENBQUMsRUFBZ0I7QUFDekMsZ0NBQWdDO0FBQ2hDLGNBQWM7QUFDZCxpQkFBaUI7QUFDakI7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBIiwiZmlsZSI6IjIyMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcbnZhciBhZGRUb1Vuc2NvcGFibGVzID0gcmVxdWlyZSgnLi9fYWRkLXRvLXVuc2NvcGFibGVzJyk7XG52YXIgc3RlcCA9IHJlcXVpcmUoJy4vX2l0ZXItc3RlcCcpO1xudmFyIEl0ZXJhdG9ycyA9IHJlcXVpcmUoJy4vX2l0ZXJhdG9ycycpO1xudmFyIHRvSU9iamVjdCA9IHJlcXVpcmUoJy4vX3RvLWlvYmplY3QnKTtcblxuLy8gMjIuMS4zLjQgQXJyYXkucHJvdG90eXBlLmVudHJpZXMoKVxuLy8gMjIuMS4zLjEzIEFycmF5LnByb3RvdHlwZS5rZXlzKClcbi8vIDIyLjEuMy4yOSBBcnJheS5wcm90b3R5cGUudmFsdWVzKClcbi8vIDIyLjEuMy4zMCBBcnJheS5wcm90b3R5cGVbQEBpdGVyYXRvcl0oKVxubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL19pdGVyLWRlZmluZScpKEFycmF5LCAnQXJyYXknLCBmdW5jdGlvbiAoaXRlcmF0ZWQsIGtpbmQpIHtcbiAgdGhpcy5fdCA9IHRvSU9iamVjdChpdGVyYXRlZCk7IC8vIHRhcmdldFxuICB0aGlzLl9pID0gMDsgICAgICAgICAgICAgICAgICAgLy8gbmV4dCBpbmRleFxuICB0aGlzLl9rID0ga2luZDsgICAgICAgICAgICAgICAgLy8ga2luZFxuLy8gMjIuMS41LjIuMSAlQXJyYXlJdGVyYXRvclByb3RvdHlwZSUubmV4dCgpXG59LCBmdW5jdGlvbiAoKSB7XG4gIHZhciBPID0gdGhpcy5fdDtcbiAgdmFyIGtpbmQgPSB0aGlzLl9rO1xuICB2YXIgaW5kZXggPSB0aGlzLl9pKys7XG4gIGlmICghTyB8fCBpbmRleCA+PSBPLmxlbmd0aCkge1xuICAgIHRoaXMuX3QgPSB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHN0ZXAoMSk7XG4gIH1cbiAgaWYgKGtpbmQgPT0gJ2tleXMnKSByZXR1cm4gc3RlcCgwLCBpbmRleCk7XG4gIGlmIChraW5kID09ICd2YWx1ZXMnKSByZXR1cm4gc3RlcCgwLCBPW2luZGV4XSk7XG4gIHJldHVybiBzdGVwKDAsIFtpbmRleCwgT1tpbmRleF1dKTtcbn0sICd2YWx1ZXMnKTtcblxuLy8gYXJndW1lbnRzTGlzdFtAQGl0ZXJhdG9yXSBpcyAlQXJyYXlQcm90b192YWx1ZXMlICg5LjQuNC42LCA5LjQuNC43KVxuSXRlcmF0b3JzLkFyZ3VtZW50cyA9IEl0ZXJhdG9ycy5BcnJheTtcblxuYWRkVG9VbnNjb3BhYmxlcygna2V5cycpO1xuYWRkVG9VbnNjb3BhYmxlcygndmFsdWVzJyk7XG5hZGRUb1Vuc2NvcGFibGVzKCdlbnRyaWVzJyk7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9lczYuYXJyYXkuaXRlcmF0b3IuanNcbi8vIG1vZHVsZSBpZCA9IDIyMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///220\n");
1548
1549/***/ }),
1550/* 221 */
1551/***/ (function(module, exports) {
1552
1553eval("module.exports = function () { /* empty */ };\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FkZC10by11bnNjb3BhYmxlcy5qcz81YTQ5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhCQUE4QiIsImZpbGUiOiIyMjEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICgpIHsgLyogZW1wdHkgKi8gfTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19hZGQtdG8tdW5zY29wYWJsZXMuanNcbi8vIG1vZHVsZSBpZCA9IDIyMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///221\n");
1554
1555/***/ }),
1556/* 222 */
1557/***/ (function(module, exports, __webpack_require__) {
1558
1559eval("module.exports = !__webpack_require__(16) && !__webpack_require__(26)(function () {\n return Object.defineProperty(__webpack_require__(52)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2llOC1kb20tZGVmaW5lLmpzPzQ4OTYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQWtCLG1CQUFPLENBQUMsRUFBZ0IsTUFBTSxtQkFBTyxDQUFDLEVBQVU7QUFDbEUsK0JBQStCLG1CQUFPLENBQUMsRUFBZSxnQkFBZ0IsbUJBQW1CLFVBQVUsRUFBRSxFQUFFO0FBQ3ZHLENBQUMiLCJmaWxlIjoiMjIyLmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSAhcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSAmJiAhcmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVxdWlyZSgnLi9fZG9tLWNyZWF0ZScpKCdkaXYnKSwgJ2EnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gNzsgfSB9KS5hICE9IDc7XG59KTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19pZTgtZG9tLWRlZmluZS5qc1xuLy8gbW9kdWxlIGlkID0gMjIyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///222\n");
1560
1561/***/ }),
1562/* 223 */
1563/***/ (function(module, exports, __webpack_require__) {
1564
1565eval("// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(15);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLXByaW1pdGl2ZS5qcz8wNWM1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsZUFBZSxtQkFBTyxDQUFDLEVBQWM7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMjIzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gNy4xLjEgVG9QcmltaXRpdmUoaW5wdXQgWywgUHJlZmVycmVkVHlwZV0pXG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbi8vIGluc3RlYWQgb2YgdGhlIEVTNiBzcGVjIHZlcnNpb24sIHdlIGRpZG4ndCBpbXBsZW1lbnQgQEB0b1ByaW1pdGl2ZSBjYXNlXG4vLyBhbmQgdGhlIHNlY29uZCBhcmd1bWVudCAtIGZsYWcgLSBwcmVmZXJyZWQgdHlwZSBpcyBhIHN0cmluZ1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIFMpIHtcbiAgaWYgKCFpc09iamVjdChpdCkpIHJldHVybiBpdDtcbiAgdmFyIGZuLCB2YWw7XG4gIGlmIChTICYmIHR5cGVvZiAoZm4gPSBpdC50b1N0cmluZykgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpdCkpKSByZXR1cm4gdmFsO1xuICBpZiAodHlwZW9mIChmbiA9IGl0LnZhbHVlT2YpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaXQpKSkgcmV0dXJuIHZhbDtcbiAgaWYgKCFTICYmIHR5cGVvZiAoZm4gPSBpdC50b1N0cmluZykgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpdCkpKSByZXR1cm4gdmFsO1xuICB0aHJvdyBUeXBlRXJyb3IoXCJDYW4ndCBjb252ZXJ0IG9iamVjdCB0byBwcmltaXRpdmUgdmFsdWVcIik7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLXByaW1pdGl2ZS5qc1xuLy8gbW9kdWxlIGlkID0gMjIzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///223\n");
1566
1567/***/ }),
1568/* 224 */
1569/***/ (function(module, exports, __webpack_require__) {
1570
1571eval("module.exports = __webpack_require__(22);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3JlZGVmaW5lLmpzP2JlOGUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCLG1CQUFPLENBQUMsRUFBUyIsImZpbGUiOiIyMjQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2hpZGUnKTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19yZWRlZmluZS5qc1xuLy8gbW9kdWxlIGlkID0gMjI0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///224\n");
1572
1573/***/ }),
1574/* 225 */
1575/***/ (function(module, exports, __webpack_require__) {
1576
1577"use strict";
1578eval("\nvar create = __webpack_require__(54);\nvar descriptor = __webpack_require__(53);\nvar setToStringTag = __webpack_require__(38);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(22)(IteratorPrototype, __webpack_require__(12)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2l0ZXItY3JlYXRlLmpzPzYxODQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7QUFDYixhQUFhLG1CQUFPLENBQUMsRUFBa0I7QUFDdkMsaUJBQWlCLG1CQUFPLENBQUMsRUFBa0I7QUFDM0MscUJBQXFCLG1CQUFPLENBQUMsRUFBc0I7QUFDbkQ7O0FBRUE7QUFDQSxtQkFBTyxDQUFDLEVBQVMscUJBQXFCLG1CQUFPLENBQUMsRUFBUSw0QkFBNEIsYUFBYSxFQUFFOztBQUVqRztBQUNBLHFEQUFxRCw0QkFBNEI7QUFDakY7QUFDQSIsImZpbGUiOiIyMjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG52YXIgY3JlYXRlID0gcmVxdWlyZSgnLi9fb2JqZWN0LWNyZWF0ZScpO1xudmFyIGRlc2NyaXB0b3IgPSByZXF1aXJlKCcuL19wcm9wZXJ0eS1kZXNjJyk7XG52YXIgc2V0VG9TdHJpbmdUYWcgPSByZXF1aXJlKCcuL19zZXQtdG8tc3RyaW5nLXRhZycpO1xudmFyIEl0ZXJhdG9yUHJvdG90eXBlID0ge307XG5cbi8vIDI1LjEuMi4xLjEgJUl0ZXJhdG9yUHJvdG90eXBlJVtAQGl0ZXJhdG9yXSgpXG5yZXF1aXJlKCcuL19oaWRlJykoSXRlcmF0b3JQcm90b3R5cGUsIHJlcXVpcmUoJy4vX3drcycpKCdpdGVyYXRvcicpLCBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9KTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoQ29uc3RydWN0b3IsIE5BTUUsIG5leHQpIHtcbiAgQ29uc3RydWN0b3IucHJvdG90eXBlID0gY3JlYXRlKEl0ZXJhdG9yUHJvdG90eXBlLCB7IG5leHQ6IGRlc2NyaXB0b3IoMSwgbmV4dCkgfSk7XG4gIHNldFRvU3RyaW5nVGFnKENvbnN0cnVjdG9yLCBOQU1FICsgJyBJdGVyYXRvcicpO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19pdGVyLWNyZWF0ZS5qc1xuLy8gbW9kdWxlIGlkID0gMjI1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///225\n");
1579
1580/***/ }),
1581/* 226 */
1582/***/ (function(module, exports, __webpack_require__) {
1583
1584eval("var has = __webpack_require__(32);\nvar toIObject = __webpack_require__(47);\nvar arrayIndexOf = __webpack_require__(227)(false);\nvar IE_PROTO = __webpack_require__(57)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1rZXlzLWludGVybmFsLmpzPzZlNDQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVSxtQkFBTyxDQUFDLEVBQVE7QUFDMUIsZ0JBQWdCLG1CQUFPLENBQUMsRUFBZTtBQUN2QyxtQkFBbUIsbUJBQU8sQ0FBQyxHQUFtQjtBQUM5QyxlQUFlLG1CQUFPLENBQUMsRUFBZTs7QUFFdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjIyNi5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBoYXMgPSByZXF1aXJlKCcuL19oYXMnKTtcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG52YXIgYXJyYXlJbmRleE9mID0gcmVxdWlyZSgnLi9fYXJyYXktaW5jbHVkZXMnKShmYWxzZSk7XG52YXIgSUVfUFJPVE8gPSByZXF1aXJlKCcuL19zaGFyZWQta2V5JykoJ0lFX1BST1RPJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG9iamVjdCwgbmFtZXMpIHtcbiAgdmFyIE8gPSB0b0lPYmplY3Qob2JqZWN0KTtcbiAgdmFyIGkgPSAwO1xuICB2YXIgcmVzdWx0ID0gW107XG4gIHZhciBrZXk7XG4gIGZvciAoa2V5IGluIE8pIGlmIChrZXkgIT0gSUVfUFJPVE8pIGhhcyhPLCBrZXkpICYmIHJlc3VsdC5wdXNoKGtleSk7XG4gIC8vIERvbid0IGVudW0gYnVnICYgaGlkZGVuIGtleXNcbiAgd2hpbGUgKG5hbWVzLmxlbmd0aCA+IGkpIGlmIChoYXMoTywga2V5ID0gbmFtZXNbaSsrXSkpIHtcbiAgICB+YXJyYXlJbmRleE9mKHJlc3VsdCwga2V5KSB8fCByZXN1bHQucHVzaChrZXkpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1rZXlzLWludGVybmFsLmpzXG4vLyBtb2R1bGUgaWQgPSAyMjZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///226\n");
1585
1586/***/ }),
1587/* 227 */
1588/***/ (function(module, exports, __webpack_require__) {
1589
1590eval("// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(47);\nvar toLength = __webpack_require__(37);\nvar toAbsoluteIndex = __webpack_require__(228);\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FycmF5LWluY2x1ZGVzLmpzPzg1ZGMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBLGdCQUFnQixtQkFBTyxDQUFDLEVBQWU7QUFDdkMsZUFBZSxtQkFBTyxDQUFDLEVBQWM7QUFDckMsc0JBQXNCLG1CQUFPLENBQUMsR0FBc0I7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLFlBQVksZUFBZTtBQUNoQztBQUNBLEtBQUs7QUFDTDtBQUNBIiwiZmlsZSI6IjIyNy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGZhbHNlIC0+IEFycmF5I2luZGV4T2Zcbi8vIHRydWUgIC0+IEFycmF5I2luY2x1ZGVzXG52YXIgdG9JT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8taW9iamVjdCcpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgdG9BYnNvbHV0ZUluZGV4ID0gcmVxdWlyZSgnLi9fdG8tYWJzb2x1dGUtaW5kZXgnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKElTX0lOQ0xVREVTKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoJHRoaXMsIGVsLCBmcm9tSW5kZXgpIHtcbiAgICB2YXIgTyA9IHRvSU9iamVjdCgkdGhpcyk7XG4gICAgdmFyIGxlbmd0aCA9IHRvTGVuZ3RoKE8ubGVuZ3RoKTtcbiAgICB2YXIgaW5kZXggPSB0b0Fic29sdXRlSW5kZXgoZnJvbUluZGV4LCBsZW5ndGgpO1xuICAgIHZhciB2YWx1ZTtcbiAgICAvLyBBcnJheSNpbmNsdWRlcyB1c2VzIFNhbWVWYWx1ZVplcm8gZXF1YWxpdHkgYWxnb3JpdGhtXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtY29tcGFyZVxuICAgIGlmIChJU19JTkNMVURFUyAmJiBlbCAhPSBlbCkgd2hpbGUgKGxlbmd0aCA+IGluZGV4KSB7XG4gICAgICB2YWx1ZSA9IE9baW5kZXgrK107XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gICAgICBpZiAodmFsdWUgIT0gdmFsdWUpIHJldHVybiB0cnVlO1xuICAgIC8vIEFycmF5I2luZGV4T2YgaWdub3JlcyBob2xlcywgQXJyYXkjaW5jbHVkZXMgLSBub3RcbiAgICB9IGVsc2UgZm9yICg7bGVuZ3RoID4gaW5kZXg7IGluZGV4KyspIGlmIChJU19JTkNMVURFUyB8fCBpbmRleCBpbiBPKSB7XG4gICAgICBpZiAoT1tpbmRleF0gPT09IGVsKSByZXR1cm4gSVNfSU5DTFVERVMgfHwgaW5kZXggfHwgMDtcbiAgICB9IHJldHVybiAhSVNfSU5DTFVERVMgJiYgLTE7XG4gIH07XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FycmF5LWluY2x1ZGVzLmpzXG4vLyBtb2R1bGUgaWQgPSAyMjdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///227\n");
1591
1592/***/ }),
1593/* 228 */
1594/***/ (function(module, exports, __webpack_require__) {
1595
1596eval("var toInteger = __webpack_require__(56);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWFic29sdXRlLWluZGV4LmpzPzgyMTUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCLG1CQUFPLENBQUMsRUFBZTtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMjI4LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHRvSW50ZWdlciA9IHJlcXVpcmUoJy4vX3RvLWludGVnZXInKTtcbnZhciBtYXggPSBNYXRoLm1heDtcbnZhciBtaW4gPSBNYXRoLm1pbjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGluZGV4LCBsZW5ndGgpIHtcbiAgaW5kZXggPSB0b0ludGVnZXIoaW5kZXgpO1xuICByZXR1cm4gaW5kZXggPCAwID8gbWF4KGluZGV4ICsgbGVuZ3RoLCAwKSA6IG1pbihpbmRleCwgbGVuZ3RoKTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8tYWJzb2x1dGUtaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDIyOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///228\n");
1597
1598/***/ }),
1599/* 229 */
1600/***/ (function(module, exports, __webpack_require__) {
1601
1602eval("// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(32);\nvar toObject = __webpack_require__(33);\nvar IE_PROTO = __webpack_require__(57)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1ncG8uanM/OWVlMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLFVBQVUsbUJBQU8sQ0FBQyxFQUFRO0FBQzFCLGVBQWUsbUJBQU8sQ0FBQyxFQUFjO0FBQ3JDLGVBQWUsbUJBQU8sQ0FBQyxFQUFlO0FBQ3RDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0giLCJmaWxlIjoiMjI5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gMTkuMS4yLjkgLyAxNS4yLjMuMiBPYmplY3QuZ2V0UHJvdG90eXBlT2YoTylcbnZhciBoYXMgPSByZXF1aXJlKCcuL19oYXMnKTtcbnZhciB0b09iamVjdCA9IHJlcXVpcmUoJy4vX3RvLW9iamVjdCcpO1xudmFyIElFX1BST1RPID0gcmVxdWlyZSgnLi9fc2hhcmVkLWtleScpKCdJRV9QUk9UTycpO1xudmFyIE9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxubW9kdWxlLmV4cG9ydHMgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gKE8pIHtcbiAgTyA9IHRvT2JqZWN0KE8pO1xuICBpZiAoaGFzKE8sIElFX1BST1RPKSkgcmV0dXJuIE9bSUVfUFJPVE9dO1xuICBpZiAodHlwZW9mIE8uY29uc3RydWN0b3IgPT0gJ2Z1bmN0aW9uJyAmJiBPIGluc3RhbmNlb2YgTy5jb25zdHJ1Y3Rvcikge1xuICAgIHJldHVybiBPLmNvbnN0cnVjdG9yLnByb3RvdHlwZTtcbiAgfSByZXR1cm4gTyBpbnN0YW5jZW9mIE9iamVjdCA/IE9iamVjdFByb3RvIDogbnVsbDtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWdwby5qc1xuLy8gbW9kdWxlIGlkID0gMjI5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///229\n");
1603
1604/***/ }),
1605/* 230 */
1606/***/ (function(module, exports, __webpack_require__) {
1607
1608eval("var toInteger = __webpack_require__(56);\nvar defined = __webpack_require__(49);\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3N0cmluZy1hdC5qcz9kMGNlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQixtQkFBTyxDQUFDLEVBQWU7QUFDdkMsY0FBYyxtQkFBTyxDQUFDLEVBQVk7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjIzMC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciB0b0ludGVnZXIgPSByZXF1aXJlKCcuL190by1pbnRlZ2VyJyk7XG52YXIgZGVmaW5lZCA9IHJlcXVpcmUoJy4vX2RlZmluZWQnKTtcbi8vIHRydWUgIC0+IFN0cmluZyNhdFxuLy8gZmFsc2UgLT4gU3RyaW5nI2NvZGVQb2ludEF0XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChUT19TVFJJTkcpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICh0aGF0LCBwb3MpIHtcbiAgICB2YXIgcyA9IFN0cmluZyhkZWZpbmVkKHRoYXQpKTtcbiAgICB2YXIgaSA9IHRvSW50ZWdlcihwb3MpO1xuICAgIHZhciBsID0gcy5sZW5ndGg7XG4gICAgdmFyIGEsIGI7XG4gICAgaWYgKGkgPCAwIHx8IGkgPj0gbCkgcmV0dXJuIFRPX1NUUklORyA/ICcnIDogdW5kZWZpbmVkO1xuICAgIGEgPSBzLmNoYXJDb2RlQXQoaSk7XG4gICAgcmV0dXJuIGEgPCAweGQ4MDAgfHwgYSA+IDB4ZGJmZiB8fCBpICsgMSA9PT0gbCB8fCAoYiA9IHMuY2hhckNvZGVBdChpICsgMSkpIDwgMHhkYzAwIHx8IGIgPiAweGRmZmZcbiAgICAgID8gVE9fU1RSSU5HID8gcy5jaGFyQXQoaSkgOiBhXG4gICAgICA6IFRPX1NUUklORyA/IHMuc2xpY2UoaSwgaSArIDIpIDogKGEgLSAweGQ4MDAgPDwgMTApICsgKGIgLSAweGRjMDApICsgMHgxMDAwMDtcbiAgfTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fc3RyaW5nLWF0LmpzXG4vLyBtb2R1bGUgaWQgPSAyMzBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///230\n");
1609
1610/***/ }),
1611/* 231 */
1612/***/ (function(module, exports, __webpack_require__) {
1613
1614eval("var anObject = __webpack_require__(20);\nvar get = __webpack_require__(59);\nmodule.exports = __webpack_require__(9).getIterator = function (it) {\n var iterFn = get(it);\n if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvY29yZS5nZXQtaXRlcmF0b3IuanM/YTNhMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlLG1CQUFPLENBQUMsRUFBYztBQUNyQyxVQUFVLG1CQUFPLENBQUMsRUFBNEI7QUFDOUMsaUJBQWlCLG1CQUFPLENBQUMsQ0FBUztBQUNsQztBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIyMzEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciBnZXQgPSByZXF1aXJlKCcuL2NvcmUuZ2V0LWl0ZXJhdG9yLW1ldGhvZCcpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL19jb3JlJykuZ2V0SXRlcmF0b3IgPSBmdW5jdGlvbiAoaXQpIHtcbiAgdmFyIGl0ZXJGbiA9IGdldChpdCk7XG4gIGlmICh0eXBlb2YgaXRlckZuICE9ICdmdW5jdGlvbicpIHRocm93IFR5cGVFcnJvcihpdCArICcgaXMgbm90IGl0ZXJhYmxlIScpO1xuICByZXR1cm4gYW5PYmplY3QoaXRlckZuLmNhbGwoaXQpKTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9jb3JlLmdldC1pdGVyYXRvci5qc1xuLy8gbW9kdWxlIGlkID0gMjMxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///231\n");
1615
1616/***/ }),
1617/* 232 */
1618/***/ (function(module, exports, __webpack_require__) {
1619
1620eval("module.exports = { \"default\": __webpack_require__(233), __esModule: true };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvY29yZS1qcy9pcy1pdGVyYWJsZS5qcz8zMDY4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtCQUFrQixZQUFZLG1CQUFPLENBQUMsR0FBZ0MiLCJmaWxlIjoiMjMyLmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB7IFwiZGVmYXVsdFwiOiByZXF1aXJlKFwiY29yZS1qcy9saWJyYXJ5L2ZuL2lzLWl0ZXJhYmxlXCIpLCBfX2VzTW9kdWxlOiB0cnVlIH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvY29yZS1qcy9pcy1pdGVyYWJsZS5qc1xuLy8gbW9kdWxlIGlkID0gMjMyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///232\n");
1621
1622/***/ }),
1623/* 233 */
1624/***/ (function(module, exports, __webpack_require__) {
1625
1626eval("__webpack_require__(29);\n__webpack_require__(27);\nmodule.exports = __webpack_require__(234);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L2ZuL2lzLWl0ZXJhYmxlLmpzP2UxYmUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUJBQU8sQ0FBQyxFQUE2QjtBQUNyQyxtQkFBTyxDQUFDLEVBQWdDO0FBQ3hDLGlCQUFpQixtQkFBTyxDQUFDLEdBQTZCIiwiZmlsZSI6IjIzMy5qcyIsInNvdXJjZXNDb250ZW50IjpbInJlcXVpcmUoJy4uL21vZHVsZXMvd2ViLmRvbS5pdGVyYWJsZScpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYuc3RyaW5nLml0ZXJhdG9yJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uL21vZHVsZXMvY29yZS5pcy1pdGVyYWJsZScpO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L2ZuL2lzLWl0ZXJhYmxlLmpzXG4vLyBtb2R1bGUgaWQgPSAyMzNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///233\n");
1627
1628/***/ }),
1629/* 234 */
1630/***/ (function(module, exports, __webpack_require__) {
1631
1632eval("var classof = __webpack_require__(39);\nvar ITERATOR = __webpack_require__(12)('iterator');\nvar Iterators = __webpack_require__(25);\nmodule.exports = __webpack_require__(9).isIterable = function (it) {\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n // eslint-disable-next-line no-prototype-builtins\n || Iterators.hasOwnProperty(classof(O));\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvY29yZS5pcy1pdGVyYWJsZS5qcz9hMjZjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQU8sQ0FBQyxFQUFZO0FBQ2xDLGVBQWUsbUJBQU8sQ0FBQyxFQUFRO0FBQy9CLGdCQUFnQixtQkFBTyxDQUFDLEVBQWM7QUFDdEMsaUJBQWlCLG1CQUFPLENBQUMsQ0FBUztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMjM0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGNsYXNzb2YgPSByZXF1aXJlKCcuL19jbGFzc29mJyk7XG52YXIgSVRFUkFUT1IgPSByZXF1aXJlKCcuL193a3MnKSgnaXRlcmF0b3InKTtcbnZhciBJdGVyYXRvcnMgPSByZXF1aXJlKCcuL19pdGVyYXRvcnMnKTtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9fY29yZScpLmlzSXRlcmFibGUgPSBmdW5jdGlvbiAoaXQpIHtcbiAgdmFyIE8gPSBPYmplY3QoaXQpO1xuICByZXR1cm4gT1tJVEVSQVRPUl0gIT09IHVuZGVmaW5lZFxuICAgIHx8ICdAQGl0ZXJhdG9yJyBpbiBPXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xuICAgIHx8IEl0ZXJhdG9ycy5oYXNPd25Qcm9wZXJ0eShjbGFzc29mKE8pKTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9jb3JlLmlzLWl0ZXJhYmxlLmpzXG4vLyBtb2R1bGUgaWQgPSAyMzRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///234\n");
1633
1634/***/ }),
1635/* 235 */
1636/***/ (function(module, exports, __webpack_require__) {
1637
1638eval("__webpack_require__(236);\nvar $Object = __webpack_require__(9).Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9jcmVhdGUuanM/YmU2ZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtQkFBTyxDQUFDLEdBQWlDO0FBQ3pDLGNBQWMsbUJBQU8sQ0FBQyxDQUFxQjtBQUMzQztBQUNBO0FBQ0EiLCJmaWxlIjoiMjM1LmpzIiwic291cmNlc0NvbnRlbnQiOlsicmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lczYub2JqZWN0LmNyZWF0ZScpO1xudmFyICRPYmplY3QgPSByZXF1aXJlKCcuLi8uLi9tb2R1bGVzL19jb3JlJykuT2JqZWN0O1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjcmVhdGUoUCwgRCkge1xuICByZXR1cm4gJE9iamVjdC5jcmVhdGUoUCwgRCk7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9jcmVhdGUuanNcbi8vIG1vZHVsZSBpZCA9IDIzNVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///235\n");
1639
1640/***/ }),
1641/* 236 */
1642/***/ (function(module, exports, __webpack_require__) {
1643
1644eval("var $export = __webpack_require__(10);\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: __webpack_require__(54) });\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm9iamVjdC5jcmVhdGUuanM/YzQ4ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFPLENBQUMsRUFBVztBQUNqQztBQUNBLDhCQUE4QixTQUFTLG1CQUFPLENBQUMsRUFBa0IsR0FBRyIsImZpbGUiOiIyMzYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuLy8gMTkuMS4yLjIgLyAxNS4yLjMuNSBPYmplY3QuY3JlYXRlKE8gWywgUHJvcGVydGllc10pXG4kZXhwb3J0KCRleHBvcnQuUywgJ09iamVjdCcsIHsgY3JlYXRlOiByZXF1aXJlKCcuL19vYmplY3QtY3JlYXRlJykgfSk7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9lczYub2JqZWN0LmNyZWF0ZS5qc1xuLy8gbW9kdWxlIGlkID0gMjM2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///236\n");
1645
1646/***/ }),
1647/* 237 */
1648/***/ (function(module, exports, __webpack_require__) {
1649
1650eval("__webpack_require__(27);\n__webpack_require__(238);\nmodule.exports = __webpack_require__(9).Array.from;\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L2ZuL2FycmF5L2Zyb20uanM/OTU3ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtQkFBTyxDQUFDLEVBQW1DO0FBQzNDLG1CQUFPLENBQUMsR0FBOEI7QUFDdEMsaUJBQWlCLG1CQUFPLENBQUMsQ0FBcUIiLCJmaWxlIjoiMjM3LmpzIiwic291cmNlc0NvbnRlbnQiOlsicmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lczYuc3RyaW5nLml0ZXJhdG9yJyk7XG5yZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNi5hcnJheS5mcm9tJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX2NvcmUnKS5BcnJheS5mcm9tO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L2ZuL2FycmF5L2Zyb20uanNcbi8vIG1vZHVsZSBpZCA9IDIzN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///237\n");
1651
1652/***/ }),
1653/* 238 */
1654/***/ (function(module, exports, __webpack_require__) {
1655
1656"use strict";
1657eval("\nvar ctx = __webpack_require__(19);\nvar $export = __webpack_require__(10);\nvar toObject = __webpack_require__(33);\nvar call = __webpack_require__(78);\nvar isArrayIter = __webpack_require__(79);\nvar toLength = __webpack_require__(37);\nvar createProperty = __webpack_require__(239);\nvar getIterFn = __webpack_require__(59);\n\n$export($export.S + $export.F * !__webpack_require__(80)(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2LmFycmF5LmZyb20uanM/MmFmMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTtBQUNiLFVBQVUsbUJBQU8sQ0FBQyxFQUFRO0FBQzFCLGNBQWMsbUJBQU8sQ0FBQyxFQUFXO0FBQ2pDLGVBQWUsbUJBQU8sQ0FBQyxFQUFjO0FBQ3JDLFdBQVcsbUJBQU8sQ0FBQyxFQUFjO0FBQ2pDLGtCQUFrQixtQkFBTyxDQUFDLEVBQWtCO0FBQzVDLGVBQWUsbUJBQU8sQ0FBQyxFQUFjO0FBQ3JDLHFCQUFxQixtQkFBTyxDQUFDLEdBQW9CO0FBQ2pELGdCQUFnQixtQkFBTyxDQUFDLEVBQTRCOztBQUVwRCxpQ0FBaUMsbUJBQU8sQ0FBQyxFQUFnQixtQkFBbUIsa0JBQWtCLEVBQUU7QUFDaEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQsZ0NBQWdDO0FBQ3ZGO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxrQ0FBa0MsZ0JBQWdCO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiMjM4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xudmFyIGN0eCA9IHJlcXVpcmUoJy4vX2N0eCcpO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciB0b09iamVjdCA9IHJlcXVpcmUoJy4vX3RvLW9iamVjdCcpO1xudmFyIGNhbGwgPSByZXF1aXJlKCcuL19pdGVyLWNhbGwnKTtcbnZhciBpc0FycmF5SXRlciA9IHJlcXVpcmUoJy4vX2lzLWFycmF5LWl0ZXInKTtcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xudmFyIGNyZWF0ZVByb3BlcnR5ID0gcmVxdWlyZSgnLi9fY3JlYXRlLXByb3BlcnR5Jyk7XG52YXIgZ2V0SXRlckZuID0gcmVxdWlyZSgnLi9jb3JlLmdldC1pdGVyYXRvci1tZXRob2QnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAhcmVxdWlyZSgnLi9faXRlci1kZXRlY3QnKShmdW5jdGlvbiAoaXRlcikgeyBBcnJheS5mcm9tKGl0ZXIpOyB9KSwgJ0FycmF5Jywge1xuICAvLyAyMi4xLjIuMSBBcnJheS5mcm9tKGFycmF5TGlrZSwgbWFwZm4gPSB1bmRlZmluZWQsIHRoaXNBcmcgPSB1bmRlZmluZWQpXG4gIGZyb206IGZ1bmN0aW9uIGZyb20oYXJyYXlMaWtlIC8qICwgbWFwZm4gPSB1bmRlZmluZWQsIHRoaXNBcmcgPSB1bmRlZmluZWQgKi8pIHtcbiAgICB2YXIgTyA9IHRvT2JqZWN0KGFycmF5TGlrZSk7XG4gICAgdmFyIEMgPSB0eXBlb2YgdGhpcyA9PSAnZnVuY3Rpb24nID8gdGhpcyA6IEFycmF5O1xuICAgIHZhciBhTGVuID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgICB2YXIgbWFwZm4gPSBhTGVuID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZDtcbiAgICB2YXIgbWFwcGluZyA9IG1hcGZuICE9PSB1bmRlZmluZWQ7XG4gICAgdmFyIGluZGV4ID0gMDtcbiAgICB2YXIgaXRlckZuID0gZ2V0SXRlckZuKE8pO1xuICAgIHZhciBsZW5ndGgsIHJlc3VsdCwgc3RlcCwgaXRlcmF0b3I7XG4gICAgaWYgKG1hcHBpbmcpIG1hcGZuID0gY3R4KG1hcGZuLCBhTGVuID4gMiA/IGFyZ3VtZW50c1syXSA6IHVuZGVmaW5lZCwgMik7XG4gICAgLy8gaWYgb2JqZWN0IGlzbid0IGl0ZXJhYmxlIG9yIGl0J3MgYXJyYXkgd2l0aCBkZWZhdWx0IGl0ZXJhdG9yIC0gdXNlIHNpbXBsZSBjYXNlXG4gICAgaWYgKGl0ZXJGbiAhPSB1bmRlZmluZWQgJiYgIShDID09IEFycmF5ICYmIGlzQXJyYXlJdGVyKGl0ZXJGbikpKSB7XG4gICAgICBmb3IgKGl0ZXJhdG9yID0gaXRlckZuLmNhbGwoTyksIHJlc3VsdCA9IG5ldyBDKCk7ICEoc3RlcCA9IGl0ZXJhdG9yLm5leHQoKSkuZG9uZTsgaW5kZXgrKykge1xuICAgICAgICBjcmVhdGVQcm9wZXJ0eShyZXN1bHQsIGluZGV4LCBtYXBwaW5nID8gY2FsbChpdGVyYXRvciwgbWFwZm4sIFtzdGVwLnZhbHVlLCBpbmRleF0sIHRydWUpIDogc3RlcC52YWx1ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGxlbmd0aCA9IHRvTGVuZ3RoKE8ubGVuZ3RoKTtcbiAgICAgIGZvciAocmVzdWx0ID0gbmV3IEMobGVuZ3RoKTsgbGVuZ3RoID4gaW5kZXg7IGluZGV4KyspIHtcbiAgICAgICAgY3JlYXRlUHJvcGVydHkocmVzdWx0LCBpbmRleCwgbWFwcGluZyA/IG1hcGZuKE9baW5kZXhdLCBpbmRleCkgOiBPW2luZGV4XSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJlc3VsdC5sZW5ndGggPSBpbmRleDtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59KTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL2VzNi5hcnJheS5mcm9tLmpzXG4vLyBtb2R1bGUgaWQgPSAyMzhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///238\n");
1658
1659/***/ }),
1660/* 239 */
1661/***/ (function(module, exports, __webpack_require__) {
1662
1663"use strict";
1664eval("\nvar $defineProperty = __webpack_require__(17);\nvar createDesc = __webpack_require__(53);\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2NyZWF0ZS1wcm9wZXJ0eS5qcz8xYWMyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhO0FBQ2Isc0JBQXNCLG1CQUFPLENBQUMsRUFBYztBQUM1QyxpQkFBaUIsbUJBQU8sQ0FBQyxFQUFrQjs7QUFFM0M7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMjM5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xudmFyICRkZWZpbmVQcm9wZXJ0eSA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpO1xudmFyIGNyZWF0ZURlc2MgPSByZXF1aXJlKCcuL19wcm9wZXJ0eS1kZXNjJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG9iamVjdCwgaW5kZXgsIHZhbHVlKSB7XG4gIGlmIChpbmRleCBpbiBvYmplY3QpICRkZWZpbmVQcm9wZXJ0eS5mKG9iamVjdCwgaW5kZXgsIGNyZWF0ZURlc2MoMCwgdmFsdWUpKTtcbiAgZWxzZSBvYmplY3RbaW5kZXhdID0gdmFsdWU7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2NyZWF0ZS1wcm9wZXJ0eS5qc1xuLy8gbW9kdWxlIGlkID0gMjM5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///239\n");
1665
1666/***/ }),
1667/* 240 */
1668/***/ (function(module, __webpack_exports__, __webpack_require__) {
1669
1670"use strict";
1671eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(81);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_3894cfe0_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(586);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(241)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-3894cfe0\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_3894cfe0_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/page/index/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-3894cfe0\", Component.options)\n } else {\n hotAPI.reload(\"data-v-3894cfe0\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS9pbmRleC9pbmRleC52dWU/Yzk1MCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQTJWO0FBQ3JXO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDcUk7QUFDYTtBQUNsSjtBQUM2UztBQUM3UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsaVFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiIyNDAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0zODk0Y2ZlMFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hbGVzcy1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi0zODk0Y2ZlMFxcXCIsXFxcImhhc1Njb3BlZFxcXCI6dHJ1ZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBcImRhdGEtdi0zODk0Y2ZlMFwiXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS9pbmRleC9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtMzg5NGNmZTBcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi0zODk0Y2ZlMFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wYWdlL2luZGV4L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMjQwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///240\n");
1672
1673/***/ }),
1674/* 241 */
1675/***/ (function(module, exports, __webpack_require__) {
1676
1677eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(242);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"4e1c00b4\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3894cfe0\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3894cfe0\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS9pbmRleC9pbmRleC52dWU/NGU0MSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUE0YTtBQUNsYyw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsa0ZBQWtGO0FBQy9RLHNNQUFzTSxrRkFBa0Y7QUFDeFI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiIyNDEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMzg5NGNmZTBcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCI0ZTFjMDBiNFwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMzg5NGNmZTBcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTM4OTRjZmUwXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0zODk0Y2ZlMFwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS9pbmRleC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDI0MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///241\n");
1678
1679/***/ }),
1680/* 242 */
1681/***/ (function(module, exports, __webpack_require__) {
1682
1683eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.hideBottom[data-v-3894cfe0] {\\n position: relative;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/page/index/index.vue\"],\"names\":[],\"mappings\":\";AAAA;EACE,mBAAmB;CACpB\",\"file\":\"index.vue\",\"sourcesContent\":[\".hideBottom {\\n position: relative;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS9pbmRleC9pbmRleC52dWU/YzVjOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsbUNBQW1DLHVCQUF1QixHQUFHLFVBQVUsc0hBQXNILEtBQUssWUFBWSwwREFBMEQsdUJBQXVCLEdBQUcscUJBQXFCOztBQUU5VSIsImZpbGUiOiIyNDIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG4uaGlkZUJvdHRvbVtkYXRhLXYtMzg5NGNmZTBdIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIkU6L3Byb2plY3QvcGFnZS1pZGUteGlhbi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS9pbmRleC9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQUFBO0VBQ0UsbUJBQW1CO0NBQ3BCXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZXNDb250ZW50XCI6W1wiLmhpZGVCb3R0b20ge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtMzg5NGNmZTBcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BhZ2UvaW5kZXgvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAyNDJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///242\n");
1684
1685/***/ }),
1686/* 243 */
1687/***/ (function(module, exports, __webpack_require__) {
1688
1689eval("__webpack_require__(244);\nmodule.exports = __webpack_require__(9).Object.assign;\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9hc3NpZ24uanM/ZDhiNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtQkFBTyxDQUFDLEdBQWlDO0FBQ3pDLGlCQUFpQixtQkFBTyxDQUFDLENBQXFCIiwiZmlsZSI6IjI0My5qcyIsInNvdXJjZXNDb250ZW50IjpbInJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM2Lm9iamVjdC5hc3NpZ24nKTtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9fY29yZScpLk9iamVjdC5hc3NpZ247XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvZm4vb2JqZWN0L2Fzc2lnbi5qc1xuLy8gbW9kdWxlIGlkID0gMjQzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///243\n");
1690
1691/***/ }),
1692/* 244 */
1693/***/ (function(module, exports, __webpack_require__) {
1694
1695eval("// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(10);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(245) });\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm9iamVjdC5hc3NpZ24uanM/YzQ4NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxFQUFXOztBQUVqQywwQ0FBMEMsU0FBUyxtQkFBTyxDQUFDLEdBQWtCLEdBQUciLCJmaWxlIjoiMjQ0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gMTkuMS4zLjEgT2JqZWN0LmFzc2lnbih0YXJnZXQsIHNvdXJjZSlcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GLCAnT2JqZWN0JywgeyBhc3NpZ246IHJlcXVpcmUoJy4vX29iamVjdC1hc3NpZ24nKSB9KTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL2VzNi5vYmplY3QuYXNzaWduLmpzXG4vLyBtb2R1bGUgaWQgPSAyNDRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///244\n");
1696
1697/***/ }),
1698/* 245 */
1699/***/ (function(module, exports, __webpack_require__) {
1700
1701"use strict";
1702eval("\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = __webpack_require__(16);\nvar getKeys = __webpack_require__(55);\nvar gOPS = __webpack_require__(246);\nvar pIE = __webpack_require__(247);\nvar toObject = __webpack_require__(33);\nvar IObject = __webpack_require__(48);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(26)(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1hc3NpZ24uanM/OTcyZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0Esa0JBQWtCLG1CQUFPLENBQUMsRUFBZ0I7QUFDMUMsY0FBYyxtQkFBTyxDQUFDLEVBQWdCO0FBQ3RDLFdBQVcsbUJBQU8sQ0FBQyxHQUFnQjtBQUNuQyxVQUFVLG1CQUFPLENBQUMsR0FBZTtBQUNqQyxlQUFlLG1CQUFPLENBQUMsRUFBYztBQUNyQyxjQUFjLG1CQUFPLENBQUMsRUFBWTtBQUNsQzs7QUFFQTtBQUNBLDZCQUE2QixtQkFBTyxDQUFDLEVBQVU7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLFVBQVUsRUFBRTtBQUNoRCxtQkFBbUIsc0NBQXNDO0FBQ3pELENBQUMscUNBQXFDO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDIiwiZmlsZSI6IjI0NS5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0Jztcbi8vIDE5LjEuMi4xIE9iamVjdC5hc3NpZ24odGFyZ2V0LCBzb3VyY2UsIC4uLilcbnZhciBERVNDUklQVE9SUyA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJyk7XG52YXIgZ2V0S2V5cyA9IHJlcXVpcmUoJy4vX29iamVjdC1rZXlzJyk7XG52YXIgZ09QUyA9IHJlcXVpcmUoJy4vX29iamVjdC1nb3BzJyk7XG52YXIgcElFID0gcmVxdWlyZSgnLi9fb2JqZWN0LXBpZScpO1xudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8tb2JqZWN0Jyk7XG52YXIgSU9iamVjdCA9IHJlcXVpcmUoJy4vX2lvYmplY3QnKTtcbnZhciAkYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxuLy8gc2hvdWxkIHdvcmsgd2l0aCBzeW1ib2xzIGFuZCBzaG91bGQgaGF2ZSBkZXRlcm1pbmlzdGljIHByb3BlcnR5IG9yZGVyIChWOCBidWcpXG5tb2R1bGUuZXhwb3J0cyA9ICEkYXNzaWduIHx8IHJlcXVpcmUoJy4vX2ZhaWxzJykoZnVuY3Rpb24gKCkge1xuICB2YXIgQSA9IHt9O1xuICB2YXIgQiA9IHt9O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcbiAgdmFyIFMgPSBTeW1ib2woKTtcbiAgdmFyIEsgPSAnYWJjZGVmZ2hpamtsbW5vcHFyc3QnO1xuICBBW1NdID0gNztcbiAgSy5zcGxpdCgnJykuZm9yRWFjaChmdW5jdGlvbiAoaykgeyBCW2tdID0gazsgfSk7XG4gIHJldHVybiAkYXNzaWduKHt9LCBBKVtTXSAhPSA3IHx8IE9iamVjdC5rZXlzKCRhc3NpZ24oe30sIEIpKS5qb2luKCcnKSAhPSBLO1xufSkgPyBmdW5jdGlvbiBhc3NpZ24odGFyZ2V0LCBzb3VyY2UpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICB2YXIgVCA9IHRvT2JqZWN0KHRhcmdldCk7XG4gIHZhciBhTGVuID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgdmFyIGluZGV4ID0gMTtcbiAgdmFyIGdldFN5bWJvbHMgPSBnT1BTLmY7XG4gIHZhciBpc0VudW0gPSBwSUUuZjtcbiAgd2hpbGUgKGFMZW4gPiBpbmRleCkge1xuICAgIHZhciBTID0gSU9iamVjdChhcmd1bWVudHNbaW5kZXgrK10pO1xuICAgIHZhciBrZXlzID0gZ2V0U3ltYm9scyA/IGdldEtleXMoUykuY29uY2F0KGdldFN5bWJvbHMoUykpIDogZ2V0S2V5cyhTKTtcbiAgICB2YXIgbGVuZ3RoID0ga2V5cy5sZW5ndGg7XG4gICAgdmFyIGogPSAwO1xuICAgIHZhciBrZXk7XG4gICAgd2hpbGUgKGxlbmd0aCA+IGopIHtcbiAgICAgIGtleSA9IGtleXNbaisrXTtcbiAgICAgIGlmICghREVTQ1JJUFRPUlMgfHwgaXNFbnVtLmNhbGwoUywga2V5KSkgVFtrZXldID0gU1trZXldO1xuICAgIH1cbiAgfSByZXR1cm4gVDtcbn0gOiAkYXNzaWduO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1hc3NpZ24uanNcbi8vIG1vZHVsZSBpZCA9IDI0NVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///245\n");
1703
1704/***/ }),
1705/* 246 */
1706/***/ (function(module, exports) {
1707
1708eval("exports.f = Object.getOwnPropertySymbols;\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1nb3BzLmpzP2NmYTgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEiLCJmaWxlIjoiMjQ2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cy5mID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtZ29wcy5qc1xuLy8gbW9kdWxlIGlkID0gMjQ2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///246\n");
1709
1710/***/ }),
1711/* 247 */
1712/***/ (function(module, exports) {
1713
1714eval("exports.f = {}.propertyIsEnumerable;\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1waWUuanM/NDJjOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjIiwiZmlsZSI6IjI0Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMuZiA9IHt9LnByb3BlcnR5SXNFbnVtZXJhYmxlO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1waWUuanNcbi8vIG1vZHVsZSBpZCA9IDI0N1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///247\n");
1715
1716/***/ }),
1717/* 248 */
1718/***/ (function(module, exports, __webpack_require__) {
1719
1720"use strict";
1721eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ModalTitleClose = exports.ModalTitle = exports.ModalTitleContainer = exports.PreviewContainer = exports.ViewportContainerBox = exports.ToolsContainerRight = exports.ToolsContainerLeft = exports.ToolsContainer = exports.FooterContainer = exports.ViewportContainerRight = exports.ViewportContainerLeftBottom = exports.ViewportContainerLeftTop = exports.ViewportContainerLeft = exports.ViewportContainer = exports.NavbarContainerRight = exports.NavbarContainerLeft = exports.NavbarContainer = exports.RightContainer = exports.LeftContainer = exports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n & > div:not(.no-style) {\\n display: flex;\\n float:left;\\n justify-content: center;\\n align-items: center;\\n padding: 0 10px;\\n font-size: 14px;\\n cursor: pointer;\\n user-select: none;\\n color: #666;\\n }\\n'], ['\\n & > div:not(.no-style) {\\n display: flex;\\n float:left;\\n justify-content: center;\\n align-items: center;\\n padding: 0 10px;\\n font-size: 14px;\\n cursor: pointer;\\n user-select: none;\\n color: #666;\\n }\\n']),\n _templateObject2 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n float:left;\\n position: relative;\\n flex-basis: 0%;\\n flex-grow: 1;\\n ', '\\n'], ['\\n display: flex;\\n float:left;\\n position: relative;\\n flex-basis: 0%;\\n flex-grow: 1;\\n ', '\\n']),\n _templateObject3 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n width: 100%;\\n float:left;\\n height: 100%;\\n overflow: hidden;\\n'], ['\\n display: flex;\\n width: 100%;\\n float:left;\\n height: 100%;\\n overflow: hidden;\\n']),\n _templateObject4 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n flex-direction: column;\\n float:left;\\n flex-grow: 1;\\n width: 0;\\n'], ['\\n display: flex;\\n flex-direction: column;\\n float:left;\\n flex-grow: 1;\\n width: 0;\\n']),\n _templateObject5 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n float:left;\\n width: 300px;\\n z-index: 2;\\n background-color: white;\\n overflow: auto;\\n border-left: 1px solid #ddd;\\n\\n ', '\\n'], ['\\n display: flex;\\n float:left;\\n width: 300px;\\n z-index: 2;\\n background-color: white;\\n overflow: auto;\\n border-left: 1px solid #ddd;\\n\\n ', '\\n']),\n _templateObject6 = (0, _taggedTemplateLiteral3.default)(['\\n display: none;\\n float:left;\\n justify-content: space-between;\\n background-color: whitesmoke;\\n border-bottom: 1px solid #ddd;\\n'], ['\\n display: none;\\n float:left;\\n justify-content: space-between;\\n background-color: whitesmoke;\\n border-bottom: 1px solid #ddd;\\n']),\n _templateObject7 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n float:left;\\n & > div:not(.no-style) {\\n border-right: 1px solid #ddd;\\n }\\n ', '\\n'], ['\\n display: flex;\\n float:left;\\n & > div:not(.no-style) {\\n border-right: 1px solid #ddd;\\n }\\n ', '\\n']),\n _templateObject8 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n float:left;\\n justify-content: flex-end;\\n & > div:not(.no-style) {\\n border-left: 1px solid #ddd;\\n }\\n ', '\\n'], ['\\n display: flex;\\n float:left;\\n justify-content: flex-end;\\n & > div:not(.no-style) {\\n border-left: 1px solid #ddd;\\n }\\n ', '\\n']),\n _templateObject9 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n float:left;\\n flex-grow: 1;\\n height: 0;\\n'], ['\\n display: flex;\\n float:left;\\n flex-grow: 1;\\n height: 0;\\n']),\n _templateObject10 = (0, _taggedTemplateLiteral3.default)(['\\n display: none;\\n flex-direction: column;\\n justify-content: space-between;\\n width: 40px;\\n \\n background-color: white;\\n z-index: 1;\\n background-color: whitesmoke;\\n border-right: 1px solid #ddd;\\n ', '\\n'], ['\\n display: none;\\n flex-direction: column;\\n justify-content: space-between;\\n width: 40px;\\n \\n background-color: white;\\n z-index: 1;\\n background-color: whitesmoke;\\n border-right: 1px solid #ddd;\\n ', '\\n']),\n _templateObject11 = (0, _taggedTemplateLiteral3.default)(['\\n width: 100%;\\n display:none;\\n & > div {\\n display: flex;\\n float:left;\\n justify-content: center;\\n align-items: center;\\n font-size: 14px;\\n height: 40px;\\n fill: #666;\\n cursor: pointer;\\n user-select: none;\\n border-bottom: 1px solid #ddd;\\n &:hover {\\n background-color: white;\\n }\\n }\\n'], ['\\n width: 100%;\\n display:none;\\n & > div {\\n display: flex;\\n float:left;\\n justify-content: center;\\n align-items: center;\\n font-size: 14px;\\n height: 40px;\\n fill: #666;\\n cursor: pointer;\\n user-select: none;\\n border-bottom: 1px solid #ddd;\\n &:hover {\\n background-color: white;\\n }\\n }\\n']),\n _templateObject12 = (0, _taggedTemplateLiteral3.default)(['\\n width: 100%;\\n display:none;\\n & > div {\\n display: flex;\\n float:left;\\n justify-content: center;\\n align-items: center;\\n font-size: 14px;\\n height: 30px;\\n cursor: pointer;\\n user-select: none;\\n &:hover {\\n background-color: #eaeaea;\\n }\\n }\\n'], ['\\n width: 100%;\\n display:none;\\n & > div {\\n display: flex;\\n float:left;\\n justify-content: center;\\n align-items: center;\\n font-size: 14px;\\n height: 30px;\\n cursor: pointer;\\n user-select: none;\\n &:hover {\\n background-color: #eaeaea;\\n }\\n }\\n']),\n _templateObject13 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n margin-left: -300px;\\n float:left;\\n flex-grow: 1;\\n width: 0;\\n transition: all .15s;\\n ', '\\n ', '\\n'], ['\\n display: flex;\\n margin-left: -300px;\\n float:left;\\n flex-grow: 1;\\n width: 0;\\n transition: all .15s;\\n ', '\\n ', '\\n']),\n _templateObject14 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n height: 30px;\\n float:left;\\n border-top: 1px solid #ddd;\\n background-color: whitesmoke;\\n'], ['\\n display: flex;\\n height: 30px;\\n float:left;\\n border-top: 1px solid #ddd;\\n background-color: whitesmoke;\\n']),\n _templateObject15 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n flex-direction: row;\\n float:left;\\n background-color: #fff;\\n position: relative;\\n width: 300px;\\n ', '\\n'], ['\\n display: flex;\\n flex-direction: row;\\n float:left;\\n background-color: #fff;\\n position: relative;\\n width: 300px;\\n ', '\\n']),\n _templateObject16 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n flex-direction: column;\\n width: 300px;\\n position:relative;\\n overflow: hidden;\\n border-right: 1px solid #ddd;\\n'], ['\\n display: flex;\\n flex-direction: column;\\n width: 300px;\\n position:relative;\\n overflow: hidden;\\n border-right: 1px solid #ddd;\\n']),\n _templateObject17 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n flex-direction: column;\\n float:left;\\n display: none;\\n flex-grow: 1;\\n flex-basis: 0%;\\n ', '\\n'], ['\\n display: flex;\\n flex-direction: column;\\n float:left;\\n display: none;\\n flex-grow: 1;\\n flex-basis: 0%;\\n ', '\\n']),\n _templateObject18 = (0, _taggedTemplateLiteral3.default)(['\\n ', '\\n overflow-x: auto;\\n overflow-y: hidden;\\n'], ['\\n ', '\\n overflow-x: auto;\\n overflow-y: hidden;\\n']),\n _templateObject19 = (0, _taggedTemplateLiteral3.default)(['\\n ', '\\n overflow-y: auto;\\n'], ['\\n ', '\\n overflow-y: auto;\\n']),\n _templateObject20 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n float:left;\\n flex-direction: row;\\n justify-content: space-between;\\n height: 45px;\\n padding: 0 15px;\\n border-bottom: 1px solid #ddd;\\n'], ['\\n display: flex;\\n float:left;\\n flex-direction: row;\\n justify-content: space-between;\\n height: 45px;\\n padding: 0 15px;\\n border-bottom: 1px solid #ddd;\\n']),\n _templateObject21 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n align-items: center;\\n float:left;\\n font-size: 18px;\\n color: #666;\\n font-weight: bold;\\n'], ['\\n display: flex;\\n align-items: center;\\n float:left;\\n font-size: 18px;\\n color: #666;\\n font-weight: bold;\\n']),\n _templateObject22 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n float:left;\\n align-items: center;\\n fill: #999;\\n cursor: pointer;\\n &:hover {\\n fill: #333;\\n }\\n'], ['\\n display: flex;\\n float:left;\\n align-items: center;\\n fill: #999;\\n cursor: pointer;\\n &:hover {\\n fill: #333;\\n }\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar NavbarContainerLeftAndNavbarContainerRight = (0, _vueStyledComponents.css)(_templateObject);\n\nvar ViewportContainerBoxAndPreviewContainer = (0, _vueStyledComponents.css)(_templateObject2, function (props) {\n return props.theme.hidden && '\\n display: none;\\n ';\n});\n\nvar Container = exports.Container = (0, _vueStyledComponents2.default)('div', { componentId: 'Container' })(_templateObject3);\n\nvar LeftContainer = exports.LeftContainer = (0, _vueStyledComponents2.default)('div', { componentId: 'LeftContainer' })(_templateObject4);\n\nvar RightContainer = exports.RightContainer = (0, _vueStyledComponents2.default)('div', { componentId: 'RightContainer', theme: Object })(_templateObject5, function (props) {\n return props.theme.hidden && '\\n display: none;\\n ';\n});\n\nvar NavbarContainer = exports.NavbarContainer = _vueStyledComponents2.default.div(_templateObject6);\n\nvar NavbarContainerLeft = exports.NavbarContainerLeft = _vueStyledComponents2.default.div(_templateObject7, NavbarContainerLeftAndNavbarContainerRight);\n\nvar NavbarContainerRight = exports.NavbarContainerRight = _vueStyledComponents2.default.div(_templateObject8, NavbarContainerLeftAndNavbarContainerRight);\n\nvar ViewportContainer = exports.ViewportContainer = _vueStyledComponents2.default.div(_templateObject9);\n\nvar ViewportContainerLeft = exports.ViewportContainerLeft = (0, _vueStyledComponents2.default)('div', { theme: Object })(_templateObject10, function (props) {\n return props.theme.hidden && '\\n display: none;\\n ';\n});\n\nvar ViewportContainerLeftTop = exports.ViewportContainerLeftTop = _vueStyledComponents2.default.div(_templateObject11);\n\nvar ViewportContainerLeftBottom = exports.ViewportContainerLeftBottom = _vueStyledComponents2.default.div(_templateObject12);\n\nvar ViewportContainerRight = exports.ViewportContainerRight = (0, _vueStyledComponents2.default)('div', { theme: Object })(_templateObject13, function (props) {\n return props.theme.transparent && '\\n //background-image: url(\\'../images/transparent.png\\');\\n ';\n}, function (props) {\n return props.theme.showLeft && '\\n margin-left: 0;\\n ';\n});\n\nvar FooterContainer = exports.FooterContainer = _vueStyledComponents2.default.div(_templateObject14);\n\nvar ToolsContainer = exports.ToolsContainer = (0, _vueStyledComponents2.default)('div', { theme: Object })(_templateObject15, function (props) {\n return props.theme.fullScreen && '\\n width: 100%;\\n ';\n});\n\nvar ToolsContainerLeft = exports.ToolsContainerLeft = _vueStyledComponents2.default.div(_templateObject16);\n\nvar ToolsContainerRight = exports.ToolsContainerRight = (0, _vueStyledComponents2.default)('div', { theme: Object })(_templateObject17, function (props) {\n return props.theme.show && '\\n display: block;\\n ';\n});\n\nvar ViewportContainerBox = exports.ViewportContainerBox = (0, _vueStyledComponents2.default)('div', { theme: Object })(_templateObject18, ViewportContainerBoxAndPreviewContainer);\n\nvar PreviewContainer = exports.PreviewContainer = (0, _vueStyledComponents2.default)('div', { theme: Object })(_templateObject19, ViewportContainerBoxAndPreviewContainer);\n\nvar ModalTitleContainer = exports.ModalTitleContainer = _vueStyledComponents2.default.div(_templateObject20);\n\nvar ModalTitle = exports.ModalTitle = _vueStyledComponents2.default.div(_templateObject21);\n\nvar ModalTitleClose = exports.ModalTitleClose = _vueStyledComponents2.default.div(_templateObject22);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS9pbmRleC9pbmRleC5zdHlsZS5qcz80MmFmIl0sIm5hbWVzIjpbIk5hdmJhckNvbnRhaW5lckxlZnRBbmROYXZiYXJDb250YWluZXJSaWdodCIsImNzcyIsIlZpZXdwb3J0Q29udGFpbmVyQm94QW5kUHJldmlld0NvbnRhaW5lciIsInByb3BzIiwidGhlbWUiLCJoaWRkZW4iLCJDb250YWluZXIiLCJjb21wb25lbnRJZCIsIkxlZnRDb250YWluZXIiLCJSaWdodENvbnRhaW5lciIsIk9iamVjdCIsIk5hdmJhckNvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIk5hdmJhckNvbnRhaW5lckxlZnQiLCJOYXZiYXJDb250YWluZXJSaWdodCIsIlZpZXdwb3J0Q29udGFpbmVyIiwiVmlld3BvcnRDb250YWluZXJMZWZ0IiwiVmlld3BvcnRDb250YWluZXJMZWZ0VG9wIiwiVmlld3BvcnRDb250YWluZXJMZWZ0Qm90dG9tIiwiVmlld3BvcnRDb250YWluZXJSaWdodCIsInRyYW5zcGFyZW50Iiwic2hvd0xlZnQiLCJGb290ZXJDb250YWluZXIiLCJUb29sc0NvbnRhaW5lciIsImZ1bGxTY3JlZW4iLCJUb29sc0NvbnRhaW5lckxlZnQiLCJUb29sc0NvbnRhaW5lclJpZ2h0Iiwic2hvdyIsIlZpZXdwb3J0Q29udGFpbmVyQm94IiwiUHJldmlld0NvbnRhaW5lciIsIk1vZGFsVGl0bGVDb250YWluZXIiLCJNb2RhbFRpdGxlIiwiTW9kYWxUaXRsZUNsb3NlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUVBLElBQU1BLGlEQUE2Q0Msd0JBQTdDLGtCQUFOOztBQWNBLElBQU1DLDhDQUEwQ0Qsd0JBQTFDLG9CQU1BLFVBQUNFLEtBQUQ7QUFBQSxXQUFXQSxNQUFNQyxLQUFOLENBQVlDLE1BQVosb0NBQVg7QUFBQSxDQU5BLENBQU47O0FBV08sSUFBTUMsZ0NBQVksbUNBQU8sS0FBUCxFQUFjLEVBQUVDLGFBQWEsV0FBZixFQUFkLENBQVosa0JBQU47O0FBUUEsSUFBTUMsd0NBQWdCLG1DQUFPLEtBQVAsRUFBYyxFQUFFRCxhQUFhLGVBQWYsRUFBZCxDQUFoQixrQkFBTjs7QUFRQSxJQUFNRSwwQ0FBaUIsbUNBQU8sS0FBUCxFQUFjLEVBQUVGLGFBQWEsZ0JBQWYsRUFBaUNILE9BQU9NLE1BQXhDLEVBQWQsQ0FBakIsbUJBU1AsVUFBQ1AsS0FBRDtBQUFBLFdBQVdBLE1BQU1DLEtBQU4sQ0FBWUMsTUFBWixvQ0FBWDtBQUFBLENBVE8sQ0FBTjs7QUFjQSxJQUFNTSw0Q0FBa0JDLDhCQUFPQyxHQUF6QixrQkFBTjs7QUFRQSxJQUFNQyxvREFBc0JGLDhCQUFPQyxHQUE3QixtQkFNUGIsMENBTk8sQ0FBTjs7QUFTQSxJQUFNZSxzREFBdUJILDhCQUFPQyxHQUE5QixtQkFPUGIsMENBUE8sQ0FBTjs7QUFVQSxJQUFNZ0IsZ0RBQW9CSiw4QkFBT0MsR0FBM0Isa0JBQU47O0FBT0EsSUFBTUksd0RBQXdCLG1DQUFPLEtBQVAsRUFBYyxFQUFDYixPQUFPTSxNQUFSLEVBQWQsQ0FBeEIsb0JBVVAsVUFBQ1AsS0FBRDtBQUFBLFdBQVdBLE1BQU1DLEtBQU4sQ0FBWUMsTUFBWixvQ0FBWDtBQUFBLENBVk8sQ0FBTjs7QUFlQSxJQUFNYSw4REFBMkJOLDhCQUFPQyxHQUFsQyxtQkFBTjs7QUFvQkEsSUFBTU0sb0VBQThCUCw4QkFBT0MsR0FBckMsbUJBQU47O0FBa0JBLElBQU1PLDBEQUF5QixtQ0FBTyxLQUFQLEVBQWMsRUFBQ2hCLE9BQU9NLE1BQVIsRUFBZCxDQUF6QixvQkFPUCxVQUFDUCxLQUFEO0FBQUEsV0FBV0EsTUFBTUMsS0FBTixDQUFZaUIsV0FBWiw2RUFBWDtBQUFBLENBUE8sRUFVUCxVQUFDbEIsS0FBRDtBQUFBLFdBQVdBLE1BQU1DLEtBQU4sQ0FBWWtCLFFBQVoscUNBQVg7QUFBQSxDQVZPLENBQU47O0FBZUEsSUFBTUMsNENBQWtCWCw4QkFBT0MsR0FBekIsbUJBQU47O0FBUUEsSUFBTVcsMENBQWlCLG1DQUFPLEtBQVAsRUFBYyxFQUFDcEIsT0FBT00sTUFBUixFQUFkLENBQWpCLG9CQU9QLFVBQUNQLEtBQUQ7QUFBQSxXQUFXQSxNQUFNQyxLQUFOLENBQVlxQixVQUFaLGlDQUFYO0FBQUEsQ0FQTyxDQUFOOztBQVlBLElBQU1DLGtEQUFxQmQsOEJBQU9DLEdBQTVCLG1CQUFOOztBQVNBLElBQU1jLG9EQUFzQixtQ0FBTyxLQUFQLEVBQWMsRUFBQ3ZCLE9BQU9NLE1BQVIsRUFBZCxDQUF0QixvQkFPUCxVQUFDUCxLQUFEO0FBQUEsV0FBV0EsTUFBTUMsS0FBTixDQUFZd0IsSUFBWixvQ0FBWDtBQUFBLENBUE8sQ0FBTjs7QUFZQSxJQUFNQyxzREFBdUIsbUNBQU8sS0FBUCxFQUFjLEVBQUN6QixPQUFPTSxNQUFSLEVBQWQsQ0FBdkIsb0JBQ1BSLHVDQURPLENBQU47O0FBTUEsSUFBTTRCLDhDQUFtQixtQ0FBTyxLQUFQLEVBQWMsRUFBQzFCLE9BQU9NLE1BQVIsRUFBZCxDQUFuQixvQkFDUFIsdUNBRE8sQ0FBTjs7QUFLQSxJQUFNNkIsb0RBQXNCbkIsOEJBQU9DLEdBQTdCLG1CQUFOOztBQVVBLElBQU1tQixrQ0FBYXBCLDhCQUFPQyxHQUFwQixtQkFBTjs7QUFTQSxJQUFNb0IsNENBQWtCckIsOEJBQU9DLEdBQXpCLG1CQUFOIiwiZmlsZSI6IjI0OC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSAndnVlLXN0eWxlZC1jb21wb25lbnRzJztcclxuXHJcbmNvbnN0IE5hdmJhckNvbnRhaW5lckxlZnRBbmROYXZiYXJDb250YWluZXJSaWdodCA9IGNzc2BcclxuICAgICYgPiBkaXY6bm90KC5uby1zdHlsZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAjNjY2O1xyXG4gICAgfVxyXG5gO1xyXG5cclxuY29uc3QgVmlld3BvcnRDb250YWluZXJCb3hBbmRQcmV2aWV3Q29udGFpbmVyID0gY3NzYFxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZmxleC1iYXNpczogMCU7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaGlkZGVuICYmIGBcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgYH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQoJ2RpdicsIHsgY29tcG9uZW50SWQ6ICdDb250YWluZXInIH0pYFxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgIGZsb2F0OmxlZnQ7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IExlZnRDb250YWluZXIgPSBzdHlsZWQoJ2RpdicsIHsgY29tcG9uZW50SWQ6ICdMZWZ0Q29udGFpbmVyJyB9KWBcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgIGZsb2F0OmxlZnQ7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB3aWR0aDogMDtcclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBSaWdodENvbnRhaW5lciA9IHN0eWxlZCgnZGl2JywgeyBjb21wb25lbnRJZDogJ1JpZ2h0Q29udGFpbmVyJywgdGhlbWU6IE9iamVjdCB9KWBcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgZmxvYXQ6bGVmdDtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkO1xyXG5cclxuICAgICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5oaWRkZW4gJiYgYFxyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IE5hdmJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgIGZsb2F0OmxlZnQ7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZXNtb2tlO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgTmF2YmFyQ29udGFpbmVyTGVmdCA9IHN0eWxlZC5kaXZgXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgIGZsb2F0OmxlZnQ7XHJcbiAgICAmID4gZGl2Om5vdCgubm8tc3R5bGUpIHtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgfVxyXG4gICAgJHtOYXZiYXJDb250YWluZXJMZWZ0QW5kTmF2YmFyQ29udGFpbmVyUmlnaHR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgTmF2YmFyQ29udGFpbmVyUmlnaHQgPSBzdHlsZWQuZGl2YFxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgICBmbG9hdDpsZWZ0O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICYgPiBkaXY6bm90KC5uby1zdHlsZSkge1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDtcclxuICAgIH1cclxuICAgICR7TmF2YmFyQ29udGFpbmVyTGVmdEFuZE5hdmJhckNvbnRhaW5lclJpZ2h0fVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFZpZXdwb3J0Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgZmxvYXQ6bGVmdDtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIGhlaWdodDogMDtcclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBWaWV3cG9ydENvbnRhaW5lckxlZnQgPSBzdHlsZWQoJ2RpdicsIHt0aGVtZTogT2JqZWN0fSlgXHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZXNtb2tlO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RkZDtcclxuICAgICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5oaWRkZW4gJiYgYFxyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFZpZXdwb3J0Q29udGFpbmVyTGVmdFRvcCA9IHN0eWxlZC5kaXZgXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6bm9uZTtcclxuICAgICYgPiBkaXYge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgIGZsb2F0OmxlZnQ7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIGZpbGw6ICM2NjY7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVmlld3BvcnRDb250YWluZXJMZWZ0Qm90dG9tID0gc3R5bGVkLmRpdmBcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgIGRpc3BsYXk6bm9uZTtcclxuICAgICYgPiBkaXYge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgIGZsb2F0OmxlZnQ7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVmlld3BvcnRDb250YWluZXJSaWdodCA9IHN0eWxlZCgnZGl2Jywge3RoZW1lOiBPYmplY3R9KWBcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW4tbGVmdDogLTMwMHB4O1xyXG4gICAgIGZsb2F0OmxlZnQ7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMTVzO1xyXG4gICAgJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnRyYW5zcGFyZW50ICYmIGBcclxuICAgICAgICAvL2JhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3RyYW5zcGFyZW50LnBuZycpO1xyXG4gICAgYH1cclxuICAgICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5zaG93TGVmdCAmJiBgXHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICBgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEZvb3RlckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgIGZsb2F0OmxlZnQ7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlc21va2U7XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVG9vbHNDb250YWluZXIgPSBzdHlsZWQoJ2RpdicsIHt0aGVtZTogT2JqZWN0fSlgXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mdWxsU2NyZWVuICYmIGBcclxuICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBUb29sc0NvbnRhaW5lckxlZnQgPSBzdHlsZWQuZGl2YFxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB3aWR0aDogMzAwcHg7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZGQ7XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVG9vbHNDb250YWluZXJSaWdodCA9IHN0eWxlZCgnZGl2Jywge3RoZW1lOiBPYmplY3R9KWBcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgIGZsb2F0OmxlZnQ7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgZmxleC1iYXNpczogMCU7XHJcbiAgICAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuc2hvdyAmJiBgXHJcbiAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVmlld3BvcnRDb250YWluZXJCb3ggPSBzdHlsZWQoJ2RpdicsIHt0aGVtZTogT2JqZWN0fSlgXHJcbiAgICAke1ZpZXdwb3J0Q29udGFpbmVyQm94QW5kUHJldmlld0NvbnRhaW5lcn1cclxuICAgIG92ZXJmbG93LXg6IGF1dG87XHJcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgUHJldmlld0NvbnRhaW5lciA9IHN0eWxlZCgnZGl2Jywge3RoZW1lOiBPYmplY3R9KWBcclxuICAgICR7Vmlld3BvcnRDb250YWluZXJCb3hBbmRQcmV2aWV3Q29udGFpbmVyfVxyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBNb2RhbFRpdGxlQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgZmxvYXQ6bGVmdDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBNb2RhbFRpdGxlID0gc3R5bGVkLmRpdmBcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgIGZsb2F0OmxlZnQ7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBjb2xvcjogIzY2NjtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IE1vZGFsVGl0bGVDbG9zZSA9IHN0eWxlZC5kaXZgXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgIGZsb2F0OmxlZnQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZmlsbDogIzk5OTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGZpbGw6ICMzMzM7XHJcbiAgICB9XHJcbmA7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wYWdlL2luZGV4L2luZGV4LnN0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///248\n");
1722
1723/***/ }),
1724/* 249 */
1725/***/ (function(module, exports, __webpack_require__) {
1726
1727eval("module.exports = { \"default\": __webpack_require__(250), __esModule: true };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvY29yZS1qcy9vYmplY3QvZGVmaW5lLXByb3BlcnRpZXMuanM/ZjMzOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrQkFBa0IsWUFBWSxtQkFBTyxDQUFDLEdBQTZDIiwiZmlsZSI6IjI0OS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0geyBcImRlZmF1bHRcIjogcmVxdWlyZShcImNvcmUtanMvbGlicmFyeS9mbi9vYmplY3QvZGVmaW5lLXByb3BlcnRpZXNcIiksIF9fZXNNb2R1bGU6IHRydWUgfTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fYmFiZWwtcnVudGltZUA2LjI2LjBAYmFiZWwtcnVudGltZS9jb3JlLWpzL29iamVjdC9kZWZpbmUtcHJvcGVydGllcy5qc1xuLy8gbW9kdWxlIGlkID0gMjQ5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///249\n");
1728
1729/***/ }),
1730/* 250 */
1731/***/ (function(module, exports, __webpack_require__) {
1732
1733eval("__webpack_require__(251);\nvar $Object = __webpack_require__(9).Object;\nmodule.exports = function defineProperties(T, D) {\n return $Object.defineProperties(T, D);\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9kZWZpbmUtcHJvcGVydGllcy5qcz81NDg4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUFPLENBQUMsR0FBNEM7QUFDcEQsY0FBYyxtQkFBTyxDQUFDLENBQXFCO0FBQzNDO0FBQ0E7QUFDQSIsImZpbGUiOiIyNTAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNi5vYmplY3QuZGVmaW5lLXByb3BlcnRpZXMnKTtcbnZhciAkT2JqZWN0ID0gcmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9fY29yZScpLk9iamVjdDtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyhULCBEKSB7XG4gIHJldHVybiAkT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoVCwgRCk7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9kZWZpbmUtcHJvcGVydGllcy5qc1xuLy8gbW9kdWxlIGlkID0gMjUwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///250\n");
1734
1735/***/ }),
1736/* 251 */
1737/***/ (function(module, exports, __webpack_require__) {
1738
1739eval("var $export = __webpack_require__(10);\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !__webpack_require__(16), 'Object', { defineProperties: __webpack_require__(72) });\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm9iamVjdC5kZWZpbmUtcHJvcGVydGllcy5qcz8yMjg2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQU8sQ0FBQyxFQUFXO0FBQ2pDO0FBQ0EsaUNBQWlDLG1CQUFPLENBQUMsRUFBZ0IsY0FBYyxtQkFBbUIsbUJBQU8sQ0FBQyxFQUFlLEdBQUciLCJmaWxlIjoiMjUxLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbi8vIDE5LjEuMi4zIC8gMTUuMi4zLjcgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoTywgUHJvcGVydGllcylcbiRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogIXJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJyksICdPYmplY3QnLCB7IGRlZmluZVByb3BlcnRpZXM6IHJlcXVpcmUoJy4vX29iamVjdC1kcHMnKSB9KTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL2VzNi5vYmplY3QuZGVmaW5lLXByb3BlcnRpZXMuanNcbi8vIG1vZHVsZSBpZCA9IDI1MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///251\n");
1740
1741/***/ }),
1742/* 252 */
1743/***/ (function(module, exports, __webpack_require__) {
1744
1745eval("module.exports = { \"default\": __webpack_require__(253), __esModule: true };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvY29yZS1qcy9vYmplY3QvZnJlZXplLmpzPzI3MDkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQWtCLFlBQVksbUJBQU8sQ0FBQyxHQUFrQyIsImZpbGUiOiIyNTIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHsgXCJkZWZhdWx0XCI6IHJlcXVpcmUoXCJjb3JlLWpzL2xpYnJhcnkvZm4vb2JqZWN0L2ZyZWV6ZVwiKSwgX19lc01vZHVsZTogdHJ1ZSB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19iYWJlbC1ydW50aW1lQDYuMjYuMEBiYWJlbC1ydW50aW1lL2NvcmUtanMvb2JqZWN0L2ZyZWV6ZS5qc1xuLy8gbW9kdWxlIGlkID0gMjUyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///252\n");
1746
1747/***/ }),
1748/* 253 */
1749/***/ (function(module, exports, __webpack_require__) {
1750
1751eval("__webpack_require__(254);\nmodule.exports = __webpack_require__(9).Object.freeze;\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9mcmVlemUuanM/NGM4NCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtQkFBTyxDQUFDLEdBQWlDO0FBQ3pDLGlCQUFpQixtQkFBTyxDQUFDLENBQXFCIiwiZmlsZSI6IjI1My5qcyIsInNvdXJjZXNDb250ZW50IjpbInJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM2Lm9iamVjdC5mcmVlemUnKTtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9fY29yZScpLk9iamVjdC5mcmVlemU7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvZm4vb2JqZWN0L2ZyZWV6ZS5qc1xuLy8gbW9kdWxlIGlkID0gMjUzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///253\n");
1752
1753/***/ }),
1754/* 254 */
1755/***/ (function(module, exports, __webpack_require__) {
1756
1757eval("// 19.1.2.5 Object.freeze(O)\nvar isObject = __webpack_require__(15);\nvar meta = __webpack_require__(61).onFreeze;\n\n__webpack_require__(82)('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm9iamVjdC5mcmVlemUuanM/NTdlNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLGVBQWUsbUJBQU8sQ0FBQyxFQUFjO0FBQ3JDLFdBQVcsbUJBQU8sQ0FBQyxFQUFTOztBQUU1QixtQkFBTyxDQUFDLEVBQWU7QUFDdkI7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIyNTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAxOS4xLjIuNSBPYmplY3QuZnJlZXplKE8pXG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBtZXRhID0gcmVxdWlyZSgnLi9fbWV0YScpLm9uRnJlZXplO1xuXG5yZXF1aXJlKCcuL19vYmplY3Qtc2FwJykoJ2ZyZWV6ZScsIGZ1bmN0aW9uICgkZnJlZXplKSB7XG4gIHJldHVybiBmdW5jdGlvbiBmcmVlemUoaXQpIHtcbiAgICByZXR1cm4gJGZyZWV6ZSAmJiBpc09iamVjdChpdCkgPyAkZnJlZXplKG1ldGEoaXQpKSA6IGl0O1xuICB9O1xufSk7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9lczYub2JqZWN0LmZyZWV6ZS5qc1xuLy8gbW9kdWxlIGlkID0gMjU0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///254\n");
1758
1759/***/ }),
1760/* 255 */
1761/***/ (function(module, exports, __webpack_require__) {
1762
1763eval("/* WEBPACK VAR INJECTION */(function(global) {var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\n__webpack_require__(256);\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(28)))\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX3RpbWVycy1icm93c2VyaWZ5QDIuMC4xMUB0aW1lcnMtYnJvd3NlcmlmeS9tYWluLmpzP2VjMDciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBLG1CQUFPLENBQUMsR0FBYztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMjU1LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHNjb3BlID0gKHR5cGVvZiBnbG9iYWwgIT09IFwidW5kZWZpbmVkXCIgJiYgZ2xvYmFsKSB8fFxuICAgICAgICAgICAgKHR5cGVvZiBzZWxmICE9PSBcInVuZGVmaW5lZFwiICYmIHNlbGYpIHx8XG4gICAgICAgICAgICB3aW5kb3c7XG52YXIgYXBwbHkgPSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHk7XG5cbi8vIERPTSBBUElzLCBmb3IgY29tcGxldGVuZXNzXG5cbmV4cG9ydHMuc2V0VGltZW91dCA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gbmV3IFRpbWVvdXQoYXBwbHkuY2FsbChzZXRUaW1lb3V0LCBzY29wZSwgYXJndW1lbnRzKSwgY2xlYXJUaW1lb3V0KTtcbn07XG5leHBvcnRzLnNldEludGVydmFsID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiBuZXcgVGltZW91dChhcHBseS5jYWxsKHNldEludGVydmFsLCBzY29wZSwgYXJndW1lbnRzKSwgY2xlYXJJbnRlcnZhbCk7XG59O1xuZXhwb3J0cy5jbGVhclRpbWVvdXQgPVxuZXhwb3J0cy5jbGVhckludGVydmFsID0gZnVuY3Rpb24odGltZW91dCkge1xuICBpZiAodGltZW91dCkge1xuICAgIHRpbWVvdXQuY2xvc2UoKTtcbiAgfVxufTtcblxuZnVuY3Rpb24gVGltZW91dChpZCwgY2xlYXJGbikge1xuICB0aGlzLl9pZCA9IGlkO1xuICB0aGlzLl9jbGVhckZuID0gY2xlYXJGbjtcbn1cblRpbWVvdXQucHJvdG90eXBlLnVucmVmID0gVGltZW91dC5wcm90b3R5cGUucmVmID0gZnVuY3Rpb24oKSB7fTtcblRpbWVvdXQucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24oKSB7XG4gIHRoaXMuX2NsZWFyRm4uY2FsbChzY29wZSwgdGhpcy5faWQpO1xufTtcblxuLy8gRG9lcyBub3Qgc3RhcnQgdGhlIHRpbWUsIGp1c3Qgc2V0cyB1cCB0aGUgbWVtYmVycyBuZWVkZWQuXG5leHBvcnRzLmVucm9sbCA9IGZ1bmN0aW9uKGl0ZW0sIG1zZWNzKSB7XG4gIGNsZWFyVGltZW91dChpdGVtLl9pZGxlVGltZW91dElkKTtcbiAgaXRlbS5faWRsZVRpbWVvdXQgPSBtc2Vjcztcbn07XG5cbmV4cG9ydHMudW5lbnJvbGwgPSBmdW5jdGlvbihpdGVtKSB7XG4gIGNsZWFyVGltZW91dChpdGVtLl9pZGxlVGltZW91dElkKTtcbiAgaXRlbS5faWRsZVRpbWVvdXQgPSAtMTtcbn07XG5cbmV4cG9ydHMuX3VucmVmQWN0aXZlID0gZXhwb3J0cy5hY3RpdmUgPSBmdW5jdGlvbihpdGVtKSB7XG4gIGNsZWFyVGltZW91dChpdGVtLl9pZGxlVGltZW91dElkKTtcblxuICB2YXIgbXNlY3MgPSBpdGVtLl9pZGxlVGltZW91dDtcbiAgaWYgKG1zZWNzID49IDApIHtcbiAgICBpdGVtLl9pZGxlVGltZW91dElkID0gc2V0VGltZW91dChmdW5jdGlvbiBvblRpbWVvdXQoKSB7XG4gICAgICBpZiAoaXRlbS5fb25UaW1lb3V0KVxuICAgICAgICBpdGVtLl9vblRpbWVvdXQoKTtcbiAgICB9LCBtc2Vjcyk7XG4gIH1cbn07XG5cbi8vIHNldGltbWVkaWF0ZSBhdHRhY2hlcyBpdHNlbGYgdG8gdGhlIGdsb2JhbCBvYmplY3RcbnJlcXVpcmUoXCJzZXRpbW1lZGlhdGVcIik7XG4vLyBPbiBzb21lIGV4b3RpYyBlbnZpcm9ubWVudHMsIGl0J3Mgbm90IGNsZWFyIHdoaWNoIG9iamVjdCBgc2V0aW1tZWRpYXRlYCB3YXNcbi8vIGFibGUgdG8gaW5zdGFsbCBvbnRvLiAgU2VhcmNoIGVhY2ggcG9zc2liaWxpdHkgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlXG4vLyBgc2V0aW1tZWRpYXRlYCBsaWJyYXJ5LlxuZXhwb3J0cy5zZXRJbW1lZGlhdGUgPSAodHlwZW9mIHNlbGYgIT09IFwidW5kZWZpbmVkXCIgJiYgc2VsZi5zZXRJbW1lZGlhdGUpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICh0eXBlb2YgZ2xvYmFsICE9PSBcInVuZGVmaW5lZFwiICYmIGdsb2JhbC5zZXRJbW1lZGlhdGUpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICh0aGlzICYmIHRoaXMuc2V0SW1tZWRpYXRlKTtcbmV4cG9ydHMuY2xlYXJJbW1lZGlhdGUgPSAodHlwZW9mIHNlbGYgIT09IFwidW5kZWZpbmVkXCIgJiYgc2VsZi5jbGVhckltbWVkaWF0ZSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAodHlwZW9mIGdsb2JhbCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBnbG9iYWwuY2xlYXJJbW1lZGlhdGUpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMgJiYgdGhpcy5jbGVhckltbWVkaWF0ZSk7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdGltZXJzLWJyb3dzZXJpZnlAMi4wLjExQHRpbWVycy1icm93c2VyaWZ5L21haW4uanNcbi8vIG1vZHVsZSBpZCA9IDI1NVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///255\n");
1764
1765/***/ }),
1766/* 256 */
1767/***/ (function(module, exports, __webpack_require__) {
1768
1769eval("/* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(28), __webpack_require__(83)))\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX3NldGltbWVkaWF0ZUAxLjAuNUBzZXRpbW1lZGlhdGUvc2V0SW1tZWRpYXRlLmpzPzAxOGIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLGlCQUFpQjtBQUN0QztBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMENBQTBDLHNCQUFzQixFQUFFO0FBQ2xFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EseUNBQXlDO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6IjI1Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiAoZ2xvYmFsLCB1bmRlZmluZWQpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIGlmIChnbG9iYWwuc2V0SW1tZWRpYXRlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgbmV4dEhhbmRsZSA9IDE7IC8vIFNwZWMgc2F5cyBncmVhdGVyIHRoYW4gemVyb1xuICAgIHZhciB0YXNrc0J5SGFuZGxlID0ge307XG4gICAgdmFyIGN1cnJlbnRseVJ1bm5pbmdBVGFzayA9IGZhbHNlO1xuICAgIHZhciBkb2MgPSBnbG9iYWwuZG9jdW1lbnQ7XG4gICAgdmFyIHJlZ2lzdGVySW1tZWRpYXRlO1xuXG4gICAgZnVuY3Rpb24gc2V0SW1tZWRpYXRlKGNhbGxiYWNrKSB7XG4gICAgICAvLyBDYWxsYmFjayBjYW4gZWl0aGVyIGJlIGEgZnVuY3Rpb24gb3IgYSBzdHJpbmdcbiAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBjYWxsYmFjayA9IG5ldyBGdW5jdGlvbihcIlwiICsgY2FsbGJhY2spO1xuICAgICAgfVxuICAgICAgLy8gQ29weSBmdW5jdGlvbiBhcmd1bWVudHNcbiAgICAgIHZhciBhcmdzID0gbmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGggLSAxKTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGFyZ3NbaV0gPSBhcmd1bWVudHNbaSArIDFdO1xuICAgICAgfVxuICAgICAgLy8gU3RvcmUgYW5kIHJlZ2lzdGVyIHRoZSB0YXNrXG4gICAgICB2YXIgdGFzayA9IHsgY2FsbGJhY2s6IGNhbGxiYWNrLCBhcmdzOiBhcmdzIH07XG4gICAgICB0YXNrc0J5SGFuZGxlW25leHRIYW5kbGVdID0gdGFzaztcbiAgICAgIHJlZ2lzdGVySW1tZWRpYXRlKG5leHRIYW5kbGUpO1xuICAgICAgcmV0dXJuIG5leHRIYW5kbGUrKztcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjbGVhckltbWVkaWF0ZShoYW5kbGUpIHtcbiAgICAgICAgZGVsZXRlIHRhc2tzQnlIYW5kbGVbaGFuZGxlXTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBydW4odGFzaykge1xuICAgICAgICB2YXIgY2FsbGJhY2sgPSB0YXNrLmNhbGxiYWNrO1xuICAgICAgICB2YXIgYXJncyA9IHRhc2suYXJncztcbiAgICAgICAgc3dpdGNoIChhcmdzLmxlbmd0aCkge1xuICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICBjYWxsYmFjaygpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgIGNhbGxiYWNrKGFyZ3NbMF0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgIGNhbGxiYWNrKGFyZ3NbMF0sIGFyZ3NbMV0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgIGNhbGxiYWNrKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBjYWxsYmFjay5hcHBseSh1bmRlZmluZWQsIGFyZ3MpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBydW5JZlByZXNlbnQoaGFuZGxlKSB7XG4gICAgICAgIC8vIEZyb20gdGhlIHNwZWM6IFwiV2FpdCB1bnRpbCBhbnkgaW52b2NhdGlvbnMgb2YgdGhpcyBhbGdvcml0aG0gc3RhcnRlZCBiZWZvcmUgdGhpcyBvbmUgaGF2ZSBjb21wbGV0ZWQuXCJcbiAgICAgICAgLy8gU28gaWYgd2UncmUgY3VycmVudGx5IHJ1bm5pbmcgYSB0YXNrLCB3ZSdsbCBuZWVkIHRvIGRlbGF5IHRoaXMgaW52b2NhdGlvbi5cbiAgICAgICAgaWYgKGN1cnJlbnRseVJ1bm5pbmdBVGFzaykge1xuICAgICAgICAgICAgLy8gRGVsYXkgYnkgZG9pbmcgYSBzZXRUaW1lb3V0LiBzZXRJbW1lZGlhdGUgd2FzIHRyaWVkIGluc3RlYWQsIGJ1dCBpbiBGaXJlZm94IDcgaXQgZ2VuZXJhdGVkIGFcbiAgICAgICAgICAgIC8vIFwidG9vIG11Y2ggcmVjdXJzaW9uXCIgZXJyb3IuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KHJ1bklmUHJlc2VudCwgMCwgaGFuZGxlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciB0YXNrID0gdGFza3NCeUhhbmRsZVtoYW5kbGVdO1xuICAgICAgICAgICAgaWYgKHRhc2spIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50bHlSdW5uaW5nQVRhc2sgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHJ1bih0YXNrKTtcbiAgICAgICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICAgICAgICBjbGVhckltbWVkaWF0ZShoYW5kbGUpO1xuICAgICAgICAgICAgICAgICAgICBjdXJyZW50bHlSdW5uaW5nQVRhc2sgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpbnN0YWxsTmV4dFRpY2tJbXBsZW1lbnRhdGlvbigpIHtcbiAgICAgICAgcmVnaXN0ZXJJbW1lZGlhdGUgPSBmdW5jdGlvbihoYW5kbGUpIHtcbiAgICAgICAgICAgIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24gKCkgeyBydW5JZlByZXNlbnQoaGFuZGxlKTsgfSk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY2FuVXNlUG9zdE1lc3NhZ2UoKSB7XG4gICAgICAgIC8vIFRoZSB0ZXN0IGFnYWluc3QgYGltcG9ydFNjcmlwdHNgIHByZXZlbnRzIHRoaXMgaW1wbGVtZW50YXRpb24gZnJvbSBiZWluZyBpbnN0YWxsZWQgaW5zaWRlIGEgd2ViIHdvcmtlcixcbiAgICAgICAgLy8gd2hlcmUgYGdsb2JhbC5wb3N0TWVzc2FnZWAgbWVhbnMgc29tZXRoaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50IGFuZCBjYW4ndCBiZSB1c2VkIGZvciB0aGlzIHB1cnBvc2UuXG4gICAgICAgIGlmIChnbG9iYWwucG9zdE1lc3NhZ2UgJiYgIWdsb2JhbC5pbXBvcnRTY3JpcHRzKSB7XG4gICAgICAgICAgICB2YXIgcG9zdE1lc3NhZ2VJc0FzeW5jaHJvbm91cyA9IHRydWU7XG4gICAgICAgICAgICB2YXIgb2xkT25NZXNzYWdlID0gZ2xvYmFsLm9ubWVzc2FnZTtcbiAgICAgICAgICAgIGdsb2JhbC5vbm1lc3NhZ2UgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICBwb3N0TWVzc2FnZUlzQXN5bmNocm9ub3VzID0gZmFsc2U7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgZ2xvYmFsLnBvc3RNZXNzYWdlKFwiXCIsIFwiKlwiKTtcbiAgICAgICAgICAgIGdsb2JhbC5vbm1lc3NhZ2UgPSBvbGRPbk1lc3NhZ2U7XG4gICAgICAgICAgICByZXR1cm4gcG9zdE1lc3NhZ2VJc0FzeW5jaHJvbm91cztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGluc3RhbGxQb3N0TWVzc2FnZUltcGxlbWVudGF0aW9uKCkge1xuICAgICAgICAvLyBJbnN0YWxscyBhbiBldmVudCBoYW5kbGVyIG9uIGBnbG9iYWxgIGZvciB0aGUgYG1lc3NhZ2VgIGV2ZW50OiBzZWVcbiAgICAgICAgLy8gKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi9ET00vd2luZG93LnBvc3RNZXNzYWdlXG4gICAgICAgIC8vICogaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvY29tbXMuaHRtbCNjcm9zc0RvY3VtZW50TWVzc2FnZXNcblxuICAgICAgICB2YXIgbWVzc2FnZVByZWZpeCA9IFwic2V0SW1tZWRpYXRlJFwiICsgTWF0aC5yYW5kb20oKSArIFwiJFwiO1xuICAgICAgICB2YXIgb25HbG9iYWxNZXNzYWdlID0gZnVuY3Rpb24oZXZlbnQpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5zb3VyY2UgPT09IGdsb2JhbCAmJlxuICAgICAgICAgICAgICAgIHR5cGVvZiBldmVudC5kYXRhID09PSBcInN0cmluZ1wiICYmXG4gICAgICAgICAgICAgICAgZXZlbnQuZGF0YS5pbmRleE9mKG1lc3NhZ2VQcmVmaXgpID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcnVuSWZQcmVzZW50KCtldmVudC5kYXRhLnNsaWNlKG1lc3NhZ2VQcmVmaXgubGVuZ3RoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKGdsb2JhbC5hZGRFdmVudExpc3RlbmVyKSB7XG4gICAgICAgICAgICBnbG9iYWwuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgb25HbG9iYWxNZXNzYWdlLCBmYWxzZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBnbG9iYWwuYXR0YWNoRXZlbnQoXCJvbm1lc3NhZ2VcIiwgb25HbG9iYWxNZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlZ2lzdGVySW1tZWRpYXRlID0gZnVuY3Rpb24oaGFuZGxlKSB7XG4gICAgICAgICAgICBnbG9iYWwucG9zdE1lc3NhZ2UobWVzc2FnZVByZWZpeCArIGhhbmRsZSwgXCIqXCIpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGluc3RhbGxNZXNzYWdlQ2hhbm5lbEltcGxlbWVudGF0aW9uKCkge1xuICAgICAgICB2YXIgY2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpO1xuICAgICAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2ZW50KSB7XG4gICAgICAgICAgICB2YXIgaGFuZGxlID0gZXZlbnQuZGF0YTtcbiAgICAgICAgICAgIHJ1bklmUHJlc2VudChoYW5kbGUpO1xuICAgICAgICB9O1xuXG4gICAgICAgIHJlZ2lzdGVySW1tZWRpYXRlID0gZnVuY3Rpb24oaGFuZGxlKSB7XG4gICAgICAgICAgICBjaGFubmVsLnBvcnQyLnBvc3RNZXNzYWdlKGhhbmRsZSk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaW5zdGFsbFJlYWR5U3RhdGVDaGFuZ2VJbXBsZW1lbnRhdGlvbigpIHtcbiAgICAgICAgdmFyIGh0bWwgPSBkb2MuZG9jdW1lbnRFbGVtZW50O1xuICAgICAgICByZWdpc3RlckltbWVkaWF0ZSA9IGZ1bmN0aW9uKGhhbmRsZSkge1xuICAgICAgICAgICAgLy8gQ3JlYXRlIGEgPHNjcmlwdD4gZWxlbWVudDsgaXRzIHJlYWR5c3RhdGVjaGFuZ2UgZXZlbnQgd2lsbCBiZSBmaXJlZCBhc3luY2hyb25vdXNseSBvbmNlIGl0IGlzIGluc2VydGVkXG4gICAgICAgICAgICAvLyBpbnRvIHRoZSBkb2N1bWVudC4gRG8gc28sIHRodXMgcXVldWluZyB1cCB0aGUgdGFzay4gUmVtZW1iZXIgdG8gY2xlYW4gdXAgb25jZSBpdCdzIGJlZW4gY2FsbGVkLlxuICAgICAgICAgICAgdmFyIHNjcmlwdCA9IGRvYy5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpO1xuICAgICAgICAgICAgc2NyaXB0Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICBydW5JZlByZXNlbnQoaGFuZGxlKTtcbiAgICAgICAgICAgICAgICBzY3JpcHQub25yZWFkeXN0YXRlY2hhbmdlID0gbnVsbDtcbiAgICAgICAgICAgICAgICBodG1sLnJlbW92ZUNoaWxkKHNjcmlwdCk7XG4gICAgICAgICAgICAgICAgc2NyaXB0ID0gbnVsbDtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBodG1sLmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaW5zdGFsbFNldFRpbWVvdXRJbXBsZW1lbnRhdGlvbigpIHtcbiAgICAgICAgcmVnaXN0ZXJJbW1lZGlhdGUgPSBmdW5jdGlvbihoYW5kbGUpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQocnVuSWZQcmVzZW50LCAwLCBoYW5kbGUpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8vIElmIHN1cHBvcnRlZCwgd2Ugc2hvdWxkIGF0dGFjaCB0byB0aGUgcHJvdG90eXBlIG9mIGdsb2JhbCwgc2luY2UgdGhhdCBpcyB3aGVyZSBzZXRUaW1lb3V0IGV0IGFsLiBsaXZlLlxuICAgIHZhciBhdHRhY2hUbyA9IE9iamVjdC5nZXRQcm90b3R5cGVPZiAmJiBPYmplY3QuZ2V0UHJvdG90eXBlT2YoZ2xvYmFsKTtcbiAgICBhdHRhY2hUbyA9IGF0dGFjaFRvICYmIGF0dGFjaFRvLnNldFRpbWVvdXQgPyBhdHRhY2hUbyA6IGdsb2JhbDtcblxuICAgIC8vIERvbid0IGdldCBmb29sZWQgYnkgZS5nLiBicm93c2VyaWZ5IGVudmlyb25tZW50cy5cbiAgICBpZiAoe30udG9TdHJpbmcuY2FsbChnbG9iYWwucHJvY2VzcykgPT09IFwiW29iamVjdCBwcm9jZXNzXVwiKSB7XG4gICAgICAgIC8vIEZvciBOb2RlLmpzIGJlZm9yZSAwLjlcbiAgICAgICAgaW5zdGFsbE5leHRUaWNrSW1wbGVtZW50YXRpb24oKTtcblxuICAgIH0gZWxzZSBpZiAoY2FuVXNlUG9zdE1lc3NhZ2UoKSkge1xuICAgICAgICAvLyBGb3Igbm9uLUlFMTAgbW9kZXJuIGJyb3dzZXJzXG4gICAgICAgIGluc3RhbGxQb3N0TWVzc2FnZUltcGxlbWVudGF0aW9uKCk7XG5cbiAgICB9IGVsc2UgaWYgKGdsb2JhbC5NZXNzYWdlQ2hhbm5lbCkge1xuICAgICAgICAvLyBGb3Igd2ViIHdvcmtlcnMsIHdoZXJlIHN1cHBvcnRlZFxuICAgICAgICBpbnN0YWxsTWVzc2FnZUNoYW5uZWxJbXBsZW1lbnRhdGlvbigpO1xuXG4gICAgfSBlbHNlIGlmIChkb2MgJiYgXCJvbnJlYWR5c3RhdGVjaGFuZ2VcIiBpbiBkb2MuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKSkge1xuICAgICAgICAvLyBGb3IgSUUgNuKAkzhcbiAgICAgICAgaW5zdGFsbFJlYWR5U3RhdGVDaGFuZ2VJbXBsZW1lbnRhdGlvbigpO1xuXG4gICAgfSBlbHNlIHtcbiAgICAgICAgLy8gRm9yIG9sZGVyIGJyb3dzZXJzXG4gICAgICAgIGluc3RhbGxTZXRUaW1lb3V0SW1wbGVtZW50YXRpb24oKTtcbiAgICB9XG5cbiAgICBhdHRhY2hUby5zZXRJbW1lZGlhdGUgPSBzZXRJbW1lZGlhdGU7XG4gICAgYXR0YWNoVG8uY2xlYXJJbW1lZGlhdGUgPSBjbGVhckltbWVkaWF0ZTtcbn0odHlwZW9mIHNlbGYgPT09IFwidW5kZWZpbmVkXCIgPyB0eXBlb2YgZ2xvYmFsID09PSBcInVuZGVmaW5lZFwiID8gdGhpcyA6IGdsb2JhbCA6IHNlbGYpKTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19zZXRpbW1lZGlhdGVAMS4wLjVAc2V0aW1tZWRpYXRlL3NldEltbWVkaWF0ZS5qc1xuLy8gbW9kdWxlIGlkID0gMjU2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///256\n");
1770
1771/***/ }),
1772/* 257 */
1773/***/ (function(module, exports, __webpack_require__) {
1774
1775eval("__webpack_require__(258);\nmodule.exports = __webpack_require__(9).Object.keys;\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9rZXlzLmpzPzAwZWIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUJBQU8sQ0FBQyxHQUErQjtBQUN2QyxpQkFBaUIsbUJBQU8sQ0FBQyxDQUFxQiIsImZpbGUiOiIyNTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNi5vYmplY3Qua2V5cycpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9tb2R1bGVzL19jb3JlJykuT2JqZWN0LmtleXM7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvZm4vb2JqZWN0L2tleXMuanNcbi8vIG1vZHVsZSBpZCA9IDI1N1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///257\n");
1776
1777/***/ }),
1778/* 258 */
1779/***/ (function(module, exports, __webpack_require__) {
1780
1781eval("// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(33);\nvar $keys = __webpack_require__(55);\n\n__webpack_require__(82)('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm9iamVjdC5rZXlzLmpzPzFmNzgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxlQUFlLG1CQUFPLENBQUMsRUFBYztBQUNyQyxZQUFZLG1CQUFPLENBQUMsRUFBZ0I7O0FBRXBDLG1CQUFPLENBQUMsRUFBZTtBQUN2QjtBQUNBO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6IjI1OC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIDE5LjEuMi4xNCBPYmplY3Qua2V5cyhPKVxudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8tb2JqZWN0Jyk7XG52YXIgJGtleXMgPSByZXF1aXJlKCcuL19vYmplY3Qta2V5cycpO1xuXG5yZXF1aXJlKCcuL19vYmplY3Qtc2FwJykoJ2tleXMnLCBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBmdW5jdGlvbiBrZXlzKGl0KSB7XG4gICAgcmV0dXJuICRrZXlzKHRvT2JqZWN0KGl0KSk7XG4gIH07XG59KTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL2VzNi5vYmplY3Qua2V5cy5qc1xuLy8gbW9kdWxlIGlkID0gMjU4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///258\n");
1782
1783/***/ }),
1784/* 259 */
1785/***/ (function(module, exports, __webpack_require__) {
1786
1787eval("var map = {\n\t\"./crumbs/index.vue\": 260,\n\t\"./drag-menu-button/index.vue\": 265,\n\t\"./drag-menu/index.vue\": 272,\n\t\"./global-settings/index.vue\": 277,\n\t\"./main-tool-editor-manager/index.vue\": 297,\n\t\"./main-tool-editor-type-box-addressReqSelect/index.vue\": 303,\n\t\"./main-tool-editor-type-box-attachFillTypeSelect/index.vue\": 308,\n\t\"./main-tool-editor-type-box-boolean/index.vue\": 313,\n\t\"./main-tool-editor-type-box-budongchanHeightLevel/index.vue\": 318,\n\t\"./main-tool-editor-type-box-buttonTypeSelect/index.vue\": 339,\n\t\"./main-tool-editor-type-box-cacheSelect/index.vue\": 344,\n\t\"./main-tool-editor-type-box-cellBirth/index.vue\": 349,\n\t\"./main-tool-editor-type-box-cellCheck/index.vue\": 354,\n\t\"./main-tool-editor-type-box-cellHeightLevel/index.vue\": 359,\n\t\"./main-tool-editor-type-box-cellIdentityCheck/index.vue\": 368,\n\t\"./main-tool-editor-type-box-cellSelect/index.vue\": 373,\n\t\"./main-tool-editor-type-box-cellTable/index.vue\": 378,\n\t\"./main-tool-editor-type-box-cellTableColumn/index.vue\": 383,\n\t\"./main-tool-editor-type-box-cellTableProp/index.vue\": 388,\n\t\"./main-tool-editor-type-box-checkboxHeightLevel/index.vue\": 393,\n\t\"./main-tool-editor-type-box-checkmultiple/index.vue\": 402,\n\t\"./main-tool-editor-type-box-clickTypeSelect/index.vue\": 407,\n\t\"./main-tool-editor-type-box-color/index.vue\": 412,\n\t\"./main-tool-editor-type-box-datePicker/index.vue\": 417,\n\t\"./main-tool-editor-type-box-dateSelect/index.vue\": 422,\n\t\"./main-tool-editor-type-box-doubleSelect/index.vue\": 427,\n\t\"./main-tool-editor-type-box-dynamic/index.vue\": 68,\n\t\"./main-tool-editor-type-box-editor/box-editor/index.vue\": 127,\n\t\"./main-tool-editor-type-box-editor/index.vue\": 435,\n\t\"./main-tool-editor-type-box-endDateHeightLevel/index.vue\": 439,\n\t\"./main-tool-editor-type-box-iconBtnTypeSelect/index.vue\": 444,\n\t\"./main-tool-editor-type-box-idCardHeightLevel/index.vue\": 449,\n\t\"./main-tool-editor-type-box-inputHeightLevel/index.vue\": 454,\n\t\"./main-tool-editor-type-box-inputSelect/index.vue\": 67,\n\t\"./main-tool-editor-type-box-labelHeightLevel/index.vue\": 459,\n\t\"./main-tool-editor-type-box-linkItems/index.vue\": 464,\n\t\"./main-tool-editor-type-box-linkageChangeValue/index.vue\": 45,\n\t\"./main-tool-editor-type-box-looktype/index.vue\": 469,\n\t\"./main-tool-editor-type-box-lookup/index.vue\": 474,\n\t\"./main-tool-editor-type-box-number/index.vue\": 479,\n\t\"./main-tool-editor-type-box-radioArr/index.vue\": 112,\n\t\"./main-tool-editor-type-box-radioHeightLevel/index.vue\": 484,\n\t\"./main-tool-editor-type-box-radioSelect/index.vue\": 489,\n\t\"./main-tool-editor-type-box-reqSelect/index.vue\": 494,\n\t\"./main-tool-editor-type-box-reqTableSelect/index.vue\": 499,\n\t\"./main-tool-editor-type-box-select/index.vue\": 504,\n\t\"./main-tool-editor-type-box-selectHeightLevel/index.vue\": 509,\n\t\"./main-tool-editor-type-box-steps/index.vue\": 514,\n\t\"./main-tool-editor-type-box-string/index.vue\": 519,\n\t\"./main-tool-editor-type-box-tableDynamic/index.vue\": 524,\n\t\"./main-tool-editor-type-box-templateTableSelect/index.vue\": 529,\n\t\"./main-tool-editor-type-box-timeSelect/index.vue\": 534,\n\t\"./main-tool-editor-type-box-title/index.vue\": 539,\n\t\"./main-tool-editor-type-box-validateArr/index.vue\": 21,\n\t\"./main-tool-editor-type-box-validateInput/index.vue\": 544,\n\t\"./main-tool-editor-type-showFlag/index.vue\": 44,\n\t\"./main-tool-editor/index.vue\": 549,\n\t\"./main-tool-tree/index.vue\": 556,\n\t\"./main-tool/index.vue\": 561,\n\t\"./save/index.vue\": 566,\n\t\"./viewport-guideline/index.vue\": 572\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 259;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucyBpbmRleFxcLih2dWUpJD8zNmZiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIyNTkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgbWFwID0ge1xuXHRcIi4vY3J1bWJzL2luZGV4LnZ1ZVwiOiAyNjAsXG5cdFwiLi9kcmFnLW1lbnUtYnV0dG9uL2luZGV4LnZ1ZVwiOiAyNjUsXG5cdFwiLi9kcmFnLW1lbnUvaW5kZXgudnVlXCI6IDI3Mixcblx0XCIuL2dsb2JhbC1zZXR0aW5ncy9pbmRleC52dWVcIjogMjc3LFxuXHRcIi4vbWFpbi10b29sLWVkaXRvci1tYW5hZ2VyL2luZGV4LnZ1ZVwiOiAyOTcsXG5cdFwiLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWFkZHJlc3NSZXFTZWxlY3QvaW5kZXgudnVlXCI6IDMwMyxcblx0XCIuL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtYXR0YWNoRmlsbFR5cGVTZWxlY3QvaW5kZXgudnVlXCI6IDMwOCxcblx0XCIuL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtYm9vbGVhbi9pbmRleC52dWVcIjogMzEzLFxuXHRcIi4vbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1idWRvbmdjaGFuSGVpZ2h0TGV2ZWwvaW5kZXgudnVlXCI6IDMxOCxcblx0XCIuL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtYnV0dG9uVHlwZVNlbGVjdC9pbmRleC52dWVcIjogMzM5LFxuXHRcIi4vbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jYWNoZVNlbGVjdC9pbmRleC52dWVcIjogMzQ0LFxuXHRcIi4vbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsQmlydGgvaW5kZXgudnVlXCI6IDM0OSxcblx0XCIuL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2VsbENoZWNrL2luZGV4LnZ1ZVwiOiAzNTQsXG5cdFwiLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxIZWlnaHRMZXZlbC9pbmRleC52dWVcIjogMzU5LFxuXHRcIi4vbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsSWRlbnRpdHlDaGVjay9pbmRleC52dWVcIjogMzY4LFxuXHRcIi4vbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsU2VsZWN0L2luZGV4LnZ1ZVwiOiAzNzMsXG5cdFwiLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZS9pbmRleC52dWVcIjogMzc4LFxuXHRcIi4vbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsVGFibGVDb2x1bW4vaW5kZXgudnVlXCI6IDM4Myxcblx0XCIuL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2VsbFRhYmxlUHJvcC9pbmRleC52dWVcIjogMzg4LFxuXHRcIi4vbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jaGVja2JveEhlaWdodExldmVsL2luZGV4LnZ1ZVwiOiAzOTMsXG5cdFwiLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNoZWNrbXVsdGlwbGUvaW5kZXgudnVlXCI6IDQwMixcblx0XCIuL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2xpY2tUeXBlU2VsZWN0L2luZGV4LnZ1ZVwiOiA0MDcsXG5cdFwiLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNvbG9yL2luZGV4LnZ1ZVwiOiA0MTIsXG5cdFwiLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRhdGVQaWNrZXIvaW5kZXgudnVlXCI6IDQxNyxcblx0XCIuL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtZGF0ZVNlbGVjdC9pbmRleC52dWVcIjogNDIyLFxuXHRcIi4vbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1kb3VibGVTZWxlY3QvaW5kZXgudnVlXCI6IDQyNyxcblx0XCIuL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtZHluYW1pYy9pbmRleC52dWVcIjogNjgsXG5cdFwiLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWVkaXRvci9ib3gtZWRpdG9yL2luZGV4LnZ1ZVwiOiAxMjcsXG5cdFwiLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWVkaXRvci9pbmRleC52dWVcIjogNDM1LFxuXHRcIi4vbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1lbmREYXRlSGVpZ2h0TGV2ZWwvaW5kZXgudnVlXCI6IDQzOSxcblx0XCIuL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtaWNvbkJ0blR5cGVTZWxlY3QvaW5kZXgudnVlXCI6IDQ0NCxcblx0XCIuL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtaWRDYXJkSGVpZ2h0TGV2ZWwvaW5kZXgudnVlXCI6IDQ0OSxcblx0XCIuL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtaW5wdXRIZWlnaHRMZXZlbC9pbmRleC52dWVcIjogNDU0LFxuXHRcIi4vbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1pbnB1dFNlbGVjdC9pbmRleC52dWVcIjogNjcsXG5cdFwiLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxhYmVsSGVpZ2h0TGV2ZWwvaW5kZXgudnVlXCI6IDQ1OSxcblx0XCIuL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtbGlua0l0ZW1zL2luZGV4LnZ1ZVwiOiA0NjQsXG5cdFwiLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxpbmthZ2VDaGFuZ2VWYWx1ZS9pbmRleC52dWVcIjogNDUsXG5cdFwiLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxvb2t0eXBlL2luZGV4LnZ1ZVwiOiA0NjksXG5cdFwiLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxvb2t1cC9pbmRleC52dWVcIjogNDc0LFxuXHRcIi4vbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1udW1iZXIvaW5kZXgudnVlXCI6IDQ3OSxcblx0XCIuL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtcmFkaW9BcnIvaW5kZXgudnVlXCI6IDExMixcblx0XCIuL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtcmFkaW9IZWlnaHRMZXZlbC9pbmRleC52dWVcIjogNDg0LFxuXHRcIi4vbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yYWRpb1NlbGVjdC9pbmRleC52dWVcIjogNDg5LFxuXHRcIi4vbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yZXFTZWxlY3QvaW5kZXgudnVlXCI6IDQ5NCxcblx0XCIuL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtcmVxVGFibGVTZWxlY3QvaW5kZXgudnVlXCI6IDQ5OSxcblx0XCIuL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtc2VsZWN0L2luZGV4LnZ1ZVwiOiA1MDQsXG5cdFwiLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXNlbGVjdEhlaWdodExldmVsL2luZGV4LnZ1ZVwiOiA1MDksXG5cdFwiLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXN0ZXBzL2luZGV4LnZ1ZVwiOiA1MTQsXG5cdFwiLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXN0cmluZy9pbmRleC52dWVcIjogNTE5LFxuXHRcIi4vbWFpbi10b29sLWVkaXRvci10eXBlLWJveC10YWJsZUR5bmFtaWMvaW5kZXgudnVlXCI6IDUyNCxcblx0XCIuL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtdGVtcGxhdGVUYWJsZVNlbGVjdC9pbmRleC52dWVcIjogNTI5LFxuXHRcIi4vbWFpbi10b29sLWVkaXRvci10eXBlLWJveC10aW1lU2VsZWN0L2luZGV4LnZ1ZVwiOiA1MzQsXG5cdFwiLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRpdGxlL2luZGV4LnZ1ZVwiOiA1MzksXG5cdFwiLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXZhbGlkYXRlQXJyL2luZGV4LnZ1ZVwiOiAyMSxcblx0XCIuL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtdmFsaWRhdGVJbnB1dC9pbmRleC52dWVcIjogNTQ0LFxuXHRcIi4vbWFpbi10b29sLWVkaXRvci10eXBlLXNob3dGbGFnL2luZGV4LnZ1ZVwiOiA0NCxcblx0XCIuL21haW4tdG9vbC1lZGl0b3IvaW5kZXgudnVlXCI6IDU0OSxcblx0XCIuL21haW4tdG9vbC10cmVlL2luZGV4LnZ1ZVwiOiA1NTYsXG5cdFwiLi9tYWluLXRvb2wvaW5kZXgudnVlXCI6IDU2MSxcblx0XCIuL3NhdmUvaW5kZXgudnVlXCI6IDU2Nixcblx0XCIuL3ZpZXdwb3J0LWd1aWRlbGluZS9pbmRleC52dWVcIjogNTcyXG59O1xuZnVuY3Rpb24gd2VicGFja0NvbnRleHQocmVxKSB7XG5cdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKHdlYnBhY2tDb250ZXh0UmVzb2x2ZShyZXEpKTtcbn07XG5mdW5jdGlvbiB3ZWJwYWNrQ29udGV4dFJlc29sdmUocmVxKSB7XG5cdHZhciBpZCA9IG1hcFtyZXFdO1xuXHRpZighKGlkICsgMSkpIC8vIGNoZWNrIGZvciBudW1iZXIgb3Igc3RyaW5nXG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIiArIHJlcSArIFwiJy5cIik7XG5cdHJldHVybiBpZDtcbn07XG53ZWJwYWNrQ29udGV4dC5rZXlzID0gZnVuY3Rpb24gd2VicGFja0NvbnRleHRLZXlzKCkge1xuXHRyZXR1cm4gT2JqZWN0LmtleXMobWFwKTtcbn07XG53ZWJwYWNrQ29udGV4dC5yZXNvbHZlID0gd2VicGFja0NvbnRleHRSZXNvbHZlO1xubW9kdWxlLmV4cG9ydHMgPSB3ZWJwYWNrQ29udGV4dDtcbndlYnBhY2tDb250ZXh0LmlkID0gMjU5O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMgaW5kZXhcXC4odnVlKSRcbi8vIG1vZHVsZSBpZCA9IDI1OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///259\n");
1788
1789/***/ }),
1790/* 260 */
1791/***/ (function(module, __webpack_exports__, __webpack_require__) {
1792
1793"use strict";
1794eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(84);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_7125d5f5_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(264);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(261)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_7125d5f5_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/crumbs/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-7125d5f5\", Component.options)\n } else {\n hotAPI.reload(\"data-v-7125d5f5\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9jcnVtYnMvaW5kZXgudnVlP2ZmN2EiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFnVjtBQUMxVjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDOFM7QUFDOVM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGtRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiMjYwLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNzEyNWQ1ZjVcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTcxMjVkNWY1XFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9jcnVtYnMvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTcxMjVkNWY1XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtNzEyNWQ1ZjVcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9jcnVtYnMvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAyNjBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///260\n");
1795
1796/***/ }),
1797/* 261 */
1798/***/ (function(module, exports, __webpack_require__) {
1799
1800eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(262);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"23c6c7b3\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7125d5f5\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7125d5f5\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9jcnVtYnMvaW5kZXgudnVlP2VjYzYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBc1c7QUFDNVgsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLG1GQUFtRjtBQUNoUixzTUFBc00sbUZBQW1GO0FBQ3pSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiMjYxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTcxMjVkNWY1XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCIyM2M2YzdiM1wiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNzEyNWQ1ZjVcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNzEyNWQ1ZjVcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNzEyNWQ1ZjVcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvY3J1bWJzL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMjYxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///261\n");
1801
1802/***/ }),
1803/* 262 */
1804/***/ (function(module, exports, __webpack_require__) {
1805
1806eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9jcnVtYnMvaW5kZXgudnVlPzE0ZGQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLHlKQUF5SixxRkFBcUY7O0FBRXJRIiwiZmlsZSI6IjI2Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi03MTI1ZDVmNVwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9jcnVtYnMvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAyNjJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///262\n");
1807
1808/***/ }),
1809/* 263 */
1810/***/ (function(module, exports, __webpack_require__) {
1811
1812"use strict";
1813eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.rightIcon = exports.rightIconContainer = exports.FooterItem = exports.AutoWidthContainer = exports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n align-items: stretch;\\n flex-grow: 1;\\n background-color: whitesmoke;\\n'], ['\\n display: flex;\\n align-items: stretch;\\n flex-grow: 1;\\n background-color: whitesmoke;\\n']),\n _templateObject2 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n align-items: stretch;\\n'], ['\\n display: flex;\\n align-items: stretch;\\n']),\n _templateObject3 = (0, _taggedTemplateLiteral3.default)(['\\n position: relative;\\n display: flex;\\n align-items: center;\\n padding-left: 8px;\\n color: #666;\\n font-size: 13px;\\n &:hover {\\n cursor: pointer;\\n color: #146f8c;\\n transition: color 0.2s;\\n }\\n &:last-child {\\n color: #146f8c;\\n }\\n'], ['\\n position: relative;\\n display: flex;\\n align-items: center;\\n padding-left: 8px;\\n color: #666;\\n font-size: 13px;\\n &:hover {\\n cursor: pointer;\\n color: #146f8c;\\n transition: color 0.2s;\\n }\\n &:last-child {\\n color: #146f8c;\\n }\\n']),\n _templateObject4 = (0, _taggedTemplateLiteral3.default)(['\\n overflow: hidden;\\n position: relative;\\n width: 20px;\\n height: 25px;\\n margin-left: 5px;\\n'], ['\\n overflow: hidden;\\n position: relative;\\n width: 20px;\\n height: 25px;\\n margin-left: 5px;\\n']),\n _templateObject5 = (0, _taggedTemplateLiteral3.default)(['\\n position: absolute;\\n width: 25px;\\n height: 25px;\\n transform: rotate(45deg);\\n right: 7px;\\n border: 1px solid #ddd;\\n'], ['\\n position: absolute;\\n width: 25px;\\n height: 25px;\\n transform: rotate(45deg);\\n right: 7px;\\n border: 1px solid #ddd;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n\nvar AutoWidthContainer = exports.AutoWidthContainer = _vueStyledComponents2.default.div(_templateObject2);\n\nvar FooterItem = exports.FooterItem = _vueStyledComponents2.default.div(_templateObject3);\n\nvar rightIconContainer = exports.rightIconContainer = _vueStyledComponents2.default.div(_templateObject4);\n\nvar rightIcon = exports.rightIcon = _vueStyledComponents2.default.div(_templateObject5);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9jcnVtYnMvc3R5bGUuanM/ZDA2NyJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJBdXRvV2lkdGhDb250YWluZXIiLCJGb290ZXJJdGVtIiwicmlnaHRJY29uQ29udGFpbmVyIiwicmlnaHRJY29uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFFTyxJQUFNQSxnQ0FBWUMsOEJBQU9DLEdBQW5CLGlCQUFOOztBQU9BLElBQU1DLGtEQUFxQkYsOEJBQU9DLEdBQTVCLGtCQUFOOztBQUtBLElBQU1FLGtDQUFhSCw4QkFBT0MsR0FBcEIsa0JBQU47O0FBaUJBLElBQU1HLGtEQUFxQkosOEJBQU9DLEdBQTVCLGtCQUFOOztBQVFBLElBQU1JLGdDQUFZTCw4QkFBT0MsR0FBbkIsa0JBQU4iLCJmaWxlIjoiMjYzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICd2dWUtc3R5bGVkLWNvbXBvbmVudHMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICBmbGV4LWdyb3c6IDE7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGVzbW9rZTtcclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBBdXRvV2lkdGhDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgRm9vdGVySXRlbSA9IHN0eWxlZC5kaXZgXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBwYWRkaW5nLWxlZnQ6IDhweDtcclxuICBjb2xvcjogIzY2NjtcclxuICBmb250LXNpemU6IDEzcHg7XHJcbiAgJjpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBjb2xvcjogIzE0NmY4YztcclxuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XHJcbiAgfVxyXG4gICY6bGFzdC1jaGlsZCB7XHJcbiAgICBjb2xvcjogIzE0NmY4YztcclxuICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgcmlnaHRJY29uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMjBweDtcclxuICBoZWlnaHQ6IDI1cHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDVweDtcclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCByaWdodEljb24gPSBzdHlsZWQuZGl2YFxyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMjVweDtcclxuICBoZWlnaHQ6IDI1cHg7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gIHJpZ2h0OiA3cHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvY3J1bWJzL3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///263\n");
1814
1815/***/ }),
1816/* 264 */
1817/***/ (function(module, __webpack_exports__, __webpack_require__) {
1818
1819"use strict";
1820eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\n \"Container\",\n [\n _c(\n \"AutoWidthContainer\",\n _vm._l(_vm.finderPath, function(item, index) {\n return _c(\n \"FooterItem\",\n {\n key: index,\n nativeOn: {\n mouseover: function($event) {\n return _vm.handlerHover(item)\n },\n mouseleave: function($event) {\n return _vm.handlerMouseLeave($event)\n }\n }\n },\n [\n _vm._v(\n \"\\n \" + _vm._s(item) + \"\\n \"\n ),\n _c(\"rightIconContainer\", [_c(\"rightIcon\")], 1)\n ],\n 1\n )\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-7125d5f5\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9jcnVtYnMvaW5kZXgudnVlPzg0ZjQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjI2NC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJDb250YWluZXJcIixcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJBdXRvV2lkdGhDb250YWluZXJcIixcbiAgICAgICAgICAgIF92bS5fbChfdm0uZmluZGVyUGF0aCwgZnVuY3Rpb24oaXRlbSwgaW5kZXgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIF9jKFxuICAgICAgICAgICAgICAgIFwiRm9vdGVySXRlbVwiLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGtleTogaW5kZXgsXG4gICAgICAgICAgICAgICAgICBuYXRpdmVPbjoge1xuICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXI6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uaGFuZGxlckhvdmVyKGl0ZW0pXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG1vdXNlbGVhdmU6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uaGFuZGxlck1vdXNlTGVhdmUoJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAgICAgIFwiICsgX3ZtLl9zKGl0ZW0pICsgXCJcXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICBfYyhcInJpZ2h0SWNvbkNvbnRhaW5lclwiLCBbX2MoXCJyaWdodEljb25cIildLCAxKVxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgIClcbiAgICBdLFxuICAgIDFcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtNzEyNWQ1ZjVcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtNzEyNWQ1ZjVcIixcImhhc1Njb3BlZFwiOmZhbHNlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvY3J1bWJzL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMjY0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///264\n");
1821
1822/***/ }),
1823/* 265 */
1824/***/ (function(module, __webpack_exports__, __webpack_require__) {
1825
1826"use strict";
1827eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(85);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_143fff24_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(271);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(266)\n __webpack_require__(268)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-143fff24\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_143fff24_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/drag-menu-button/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-143fff24\", Component.options)\n } else {\n hotAPI.reload(\"data-v-143fff24\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9kcmFnLW1lbnUtYnV0dG9uL2luZGV4LnZ1ZT8zOTkxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBK1U7QUFDelYsRUFBRSxtQkFBTyxDQUFDLEdBQWdWO0FBQzFWO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDcUk7QUFDYTtBQUNsSjtBQUM2UztBQUM3UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsaVFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiIyNjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xNDNmZmYyNFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMTQzZmZmMjRcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTEhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTE0M2ZmZjI0XFxcIixcXFwiaGFzU2NvcGVkXFxcIjp0cnVlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IFwiZGF0YS12LTE0M2ZmZjI0XCJcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL2RyYWctbWVudS1idXR0b24vaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTE0M2ZmZjI0XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtMTQzZmZmMjRcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9kcmFnLW1lbnUtYnV0dG9uL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMjY1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///265\n");
1828
1829/***/ }),
1830/* 266 */
1831/***/ (function(module, exports, __webpack_require__) {
1832
1833eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(267);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"372c93c4\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-143fff24\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-143fff24\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9kcmFnLW1lbnUtYnV0dG9uL2luZGV4LnZ1ZT82MTUxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQXFXO0FBQzNYLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBOEYsZ0NBQWdDO0FBQ25KO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLDZMQUE2TCxrRkFBa0Y7QUFDL1Esc01BQXNNLGtGQUFrRjtBQUN4UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjI2Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xNDNmZmYyNFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCIzNzJjOTNjNFwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMTQzZmZmMjRcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xNDNmZmYyNFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTE0M2ZmZjI0XCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvZHJhZy1tZW51LWJ1dHRvbi9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDI2NlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///266\n");
1834
1835/***/ }),
1836/* 267 */
1837/***/ (function(module, exports, __webpack_require__) {
1838
1839eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9kcmFnLW1lbnUtYnV0dG9uL2luZGV4LnZ1ZT9lOGFmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQTRFO0FBQy9HOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyx5R0FBeUcscUZBQXFGOztBQUVyTiIsImZpbGUiOiIyNjcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W10sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtMTQzZmZmMjRcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9kcmFnLW1lbnUtYnV0dG9uL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMjY3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///267\n");
1840
1841/***/ }),
1842/* 268 */
1843/***/ (function(module, exports, __webpack_require__) {
1844
1845eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(269);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"1b0e3ae6\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-143fff24\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=1!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-143fff24\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=1!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9kcmFnLW1lbnUtYnV0dG9uL2luZGV4LnZ1ZT9mNmRhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQXNXO0FBQzVYLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBOEYsZ0NBQWdDO0FBQ25KO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLDZMQUE2TCxtRkFBbUY7QUFDaFIsc01BQXNNLG1GQUFtRjtBQUN6UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjI2OC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xNDNmZmYyNFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MSEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiMWIwZTNhZTZcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTE0M2ZmZjI0XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0xIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTE0M2ZmZjI0XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0xIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTE0M2ZmZjI0XCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MSEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL2RyYWctbWVudS1idXR0b24vaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAyNjhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///268\n");
1846
1847/***/ }),
1848/* 269 */
1849/***/ (function(module, exports, __webpack_require__) {
1850
1851eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9kcmFnLW1lbnUtYnV0dG9uL2luZGV4LnZ1ZT80ZTNmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQTRFO0FBQy9HOzs7QUFHQTtBQUNBLGNBQWMsUUFBUywrR0FBK0cscUZBQXFGOztBQUUzTiIsImZpbGUiOiIyNjkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W10sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtMTQzZmZmMjRcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0xIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvZHJhZy1tZW51LWJ1dHRvbi9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDI2OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///269\n");
1852
1853/***/ }),
1854/* 270 */
1855/***/ (function(module, exports, __webpack_require__) {
1856
1857"use strict";
1858eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.IconContainer = exports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n ', '\\n'], ['\\n ', '\\n']),\n _templateObject2 = (0, _taggedTemplateLiteral3.default)(['\\n display:flex;\\n height:40px;\\n width:40px;\\n align-items:center;\\n justify-content:center;\\n'], ['\\n display:flex;\\n height:40px;\\n width:40px;\\n align-items:center;\\n justify-content:center;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = (0, _vueStyledComponents2.default)('div', {\n theme: Object\n})(_templateObject, function (props) {\n return props.theme.active && '\\n background-color: white;\\n box-shadow: inset 0 0 10px #cacaca;\\n &:hover {\\n background-color: white;\\n }\\n ';\n});\n\nvar IconContainer = exports.IconContainer = (0, _vueStyledComponents2.default)('div')(_templateObject2);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9kcmFnLW1lbnUtYnV0dG9uL3N0eWxlLmpzPzQ3OGEiXSwibmFtZXMiOlsiQ29udGFpbmVyIiwidGhlbWUiLCJPYmplY3QiLCJwcm9wcyIsImFjdGl2ZSIsIkljb25Db250YWluZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUVPLElBQU1BLGdDQUFZLG1DQUFPLEtBQVAsRUFBYztBQUNuQ0MsU0FBT0M7QUFENEIsQ0FBZCxDQUFaLGtCQUdULFVBQUNDLEtBQUQ7QUFBQSxTQUFXQSxNQUFNRixLQUFOLENBQVlHLE1BQVosdUlBQVg7QUFBQSxDQUhTLENBQU47O0FBWUEsSUFBTUMsd0NBQWdCLG1DQUFPLEtBQVAsQ0FBaEIsa0JBQU4iLCJmaWxlIjoiMjcwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICd2dWUtc3R5bGVkLWNvbXBvbmVudHMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZCgnZGl2Jywge1xyXG4gICAgdGhlbWU6IE9iamVjdFxyXG59KWBcclxuICAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYWN0aXZlICYmIGBcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDEwcHggI2NhY2FjYTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIH1cclxuICBgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEljb25Db250YWluZXIgPSBzdHlsZWQoJ2RpdicpYFxyXG4gICAgZGlzcGxheTpmbGV4O1xyXG4gICAgaGVpZ2h0OjQwcHg7XHJcbiAgICB3aWR0aDo0MHB4O1xyXG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OmNlbnRlcjtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvZHJhZy1tZW51LWJ1dHRvbi9zdHlsZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///270\n");
1859
1860/***/ }),
1861/* 271 */
1862/***/ (function(module, __webpack_exports__, __webpack_require__) {
1863
1864"use strict";
1865eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\n \"Container\",\n { attrs: { theme: { active: _vm.leftTool } } },\n [\n _c(\n \"Tooltip\",\n { attrs: { content: \"选择控件\", placement: \"right-start\" } },\n [\n _c(\"span\", { staticClass: \"iconfont icon-jian\" }),\n _vm._v(\" \"),\n _c(\n \"IconContainer\",\n {\n nativeOn: {\n click: function($event) {\n return _vm.triggerClick($event)\n }\n }\n },\n [_c(\"span\", { staticClass: \"iconfont icon-jian\" })]\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-143fff24\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9kcmFnLW1lbnUtYnV0dG9uL2luZGV4LnZ1ZT84YzBiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsU0FBUyxTQUFTLHVCQUF1QixFQUFFLEVBQUU7QUFDdEQ7QUFDQTtBQUNBO0FBQ0EsYUFBYSxTQUFTLDRDQUE0QyxFQUFFO0FBQ3BFO0FBQ0EsMEJBQTBCLG9DQUFvQztBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIsNkJBQTZCLG9DQUFvQztBQUNqRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMjcxLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcIkNvbnRhaW5lclwiLFxuICAgICAgICB7IGF0dHJzOiB7IHRoZW1lOiB7IGFjdGl2ZTogX3ZtLmxlZnRUb29sIH0gfSB9LFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcIlRvb2x0aXBcIixcbiAgICAgICAgICAgIHsgYXR0cnM6IHsgY29udGVudDogXCLpgInmi6nmjqfku7ZcIiwgcGxhY2VtZW50OiBcInJpZ2h0LXN0YXJ0XCIgfSB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcInNwYW5cIiwgeyBzdGF0aWNDbGFzczogXCJpY29uZm9udCBpY29uLWppYW5cIiB9KSxcbiAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgXCJJY29uQ29udGFpbmVyXCIsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmF0aXZlT246IHtcbiAgICAgICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0udHJpZ2dlckNsaWNrKCRldmVudClcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgW19jKFwic3BhblwiLCB7IHN0YXRpY0NsYXNzOiBcImljb25mb250IGljb24tamlhblwiIH0pXVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgMVxuICAgICAgICAgIClcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi0xNDNmZmYyNFwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi0xNDNmZmYyNFwiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL2RyYWctbWVudS1idXR0b24vaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAyNzFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///271\n");
1866
1867/***/ }),
1868/* 272 */
1869/***/ (function(module, __webpack_exports__, __webpack_require__) {
1870
1871"use strict";
1872eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(86);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_93327d9e_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(276);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(273)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-93327d9e\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_93327d9e_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/drag-menu/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-93327d9e\", Component.options)\n } else {\n hotAPI.reload(\"data-v-93327d9e\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9kcmFnLW1lbnUvaW5kZXgudnVlPzM1N2UiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUEyVjtBQUNyVztBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDNlM7QUFDN1M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGlRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiMjcyLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtOTMzMjdkOWVcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IWxlc3MtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtOTMzMjdkOWVcXFwiLFxcXCJoYXNTY29wZWRcXFwiOnRydWUsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gXCJkYXRhLXYtOTMzMjdkOWVcIlxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvZHJhZy1tZW51L2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi05MzMyN2Q5ZVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTkzMzI3ZDllXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvZHJhZy1tZW51L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMjcyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///272\n");
1873
1874/***/ }),
1875/* 273 */
1876/***/ (function(module, exports, __webpack_require__) {
1877
1878eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(274);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"b3d942a6\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-93327d9e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-93327d9e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9kcmFnLW1lbnUvaW5kZXgudnVlPzlkNWEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBNGE7QUFDbGMsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLGtGQUFrRjtBQUMvUSxzTUFBc00sa0ZBQWtGO0FBQ3hSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiMjczLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTkzMzI3ZDllXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiYjNkOTQyYTZcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTkzMzI3ZDllXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi05MzMyN2Q5ZVxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtOTMzMjdkOWVcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvZHJhZy1tZW51L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMjczXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///273\n");
1879
1880/***/ }),
1881/* 274 */
1882/***/ (function(module, exports, __webpack_require__) {
1883
1884eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.ide-scrollClass[data-v-93327d9e] {\\n height: 100%;\\n overflow-y: auto;\\n min-height: 450px;\\n position: absolute;\\n top: 40px;\\n left: 13px;\\n background-color: #fff;\\n}\\n.level3[data-v-93327d9e] {\\n visibility: hidden;\\n}\\n.collapse-header[data-v-93327d9e] {\\n height: 38px;\\n line-height: 38px;\\n padding-left: 32px;\\n color: #666;\\n font-weight: 900;\\n}\\n.hwEhjl[data-v-93327d9e] {\\n border-radius: 4px;\\n border: 1px solid #d9d9d9;\\n cursor: move;\\n}\\n.ide-menuItem[data-v-93327d9e] {\\n width: 90%;\\n color: #191f25;\\n font-size: 12px;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/plugins/drag-menu/index.vue\"],\"names\":[],\"mappings\":\";AAAA;EACE,aAAa;EACb,iBAAiB;EACjB,kBAAkB;EAClB,mBAAmB;EACnB,UAAU;EACV,WAAW;EACX,uBAAuB;CACxB;AACD;EACE,mBAAmB;CACpB;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,mBAAmB;EACnB,YAAY;EACZ,iBAAiB;CAClB;AACD;EACE,mBAAmB;EACnB,0BAA0B;EAC1B,aAAa;CACd;AACD;EACE,WAAW;EACX,eAAe;EACf,gBAAgB;CACjB\",\"file\":\"index.vue\",\"sourcesContent\":[\".ide-scrollClass {\\n height: 100%;\\n overflow-y: auto;\\n min-height: 450px;\\n position: absolute;\\n top: 40px;\\n left: 13px;\\n background-color: #fff;\\n}\\n.level3 {\\n visibility: hidden;\\n}\\n.collapse-header {\\n height: 38px;\\n line-height: 38px;\\n padding-left: 32px;\\n color: #666;\\n font-weight: 900;\\n}\\n.hwEhjl {\\n border-radius: 4px;\\n border: 1px solid #d9d9d9;\\n cursor: move;\\n}\\n.ide-menuItem {\\n width: 90%;\\n color: #191f25;\\n font-size: 12px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9kcmFnLW1lbnUvaW5kZXgudnVlPzlhZTQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLHdDQUF3QyxpQkFBaUIscUJBQXFCLHNCQUFzQix1QkFBdUIsY0FBYyxlQUFlLDJCQUEyQixHQUFHLDRCQUE0Qix1QkFBdUIsR0FBRyxxQ0FBcUMsaUJBQWlCLHNCQUFzQix1QkFBdUIsZ0JBQWdCLHFCQUFxQixHQUFHLDRCQUE0Qix1QkFBdUIsOEJBQThCLGlCQUFpQixHQUFHLGtDQUFrQyxlQUFlLG1CQUFtQixvQkFBb0IsR0FBRyxVQUFVLDZIQUE2SCxLQUFLLFVBQVUsWUFBWSxhQUFhLGFBQWEsV0FBVyxVQUFVLFlBQVksTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxNQUFNLEtBQUssWUFBWSxhQUFhLFdBQVcsS0FBSyxLQUFLLFVBQVUsVUFBVSxZQUFZLCtEQUErRCxpQkFBaUIscUJBQXFCLHNCQUFzQix1QkFBdUIsY0FBYyxlQUFlLDJCQUEyQixHQUFHLFdBQVcsdUJBQXVCLEdBQUcsb0JBQW9CLGlCQUFpQixzQkFBc0IsdUJBQXVCLGdCQUFnQixxQkFBcUIsR0FBRyxXQUFXLHVCQUF1Qiw4QkFBOEIsaUJBQWlCLEdBQUcsaUJBQWlCLGVBQWUsbUJBQW1CLG9CQUFvQixHQUFHLHFCQUFxQjs7QUFFLy9DIiwiZmlsZSI6IjI3NC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcbi5pZGUtc2Nyb2xsQ2xhc3NbZGF0YS12LTkzMzI3ZDllXSB7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBvdmVyZmxvdy15OiBhdXRvO1xcbiAgbWluLWhlaWdodDogNDUwcHg7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDQwcHg7XFxuICBsZWZ0OiAxM3B4O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG59XFxuLmxldmVsM1tkYXRhLXYtOTMzMjdkOWVdIHtcXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcXG59XFxuLmNvbGxhcHNlLWhlYWRlcltkYXRhLXYtOTMzMjdkOWVdIHtcXG4gIGhlaWdodDogMzhweDtcXG4gIGxpbmUtaGVpZ2h0OiAzOHB4O1xcbiAgcGFkZGluZy1sZWZ0OiAzMnB4O1xcbiAgY29sb3I6ICM2NjY7XFxuICBmb250LXdlaWdodDogOTAwO1xcbn1cXG4uaHdFaGpsW2RhdGEtdi05MzMyN2Q5ZV0ge1xcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q5ZDlkOTtcXG4gIGN1cnNvcjogbW92ZTtcXG59XFxuLmlkZS1tZW51SXRlbVtkYXRhLXYtOTMzMjdkOWVdIHtcXG4gIHdpZHRoOiA5MCU7XFxuICBjb2xvcjogIzE5MWYyNTtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG59XFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIkU6L3Byb2plY3QvcGFnZS1pZGUteGlhbi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9kcmFnLW1lbnUvaW5kZXgudnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUFBQTtFQUNFLGFBQWE7RUFDYixpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixVQUFVO0VBQ1YsV0FBVztFQUNYLHVCQUF1QjtDQUN4QjtBQUNEO0VBQ0UsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxhQUFhO0VBQ2Isa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osaUJBQWlCO0NBQ2xCO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsMEJBQTBCO0VBQzFCLGFBQWE7Q0FDZDtBQUNEO0VBQ0UsV0FBVztFQUNYLGVBQWU7RUFDZixnQkFBZ0I7Q0FDakJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIuaWRlLXNjcm9sbENsYXNzIHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIG92ZXJmbG93LXk6IGF1dG87XFxuICBtaW4taGVpZ2h0OiA0NTBweDtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogNDBweDtcXG4gIGxlZnQ6IDEzcHg7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbn1cXG4ubGV2ZWwzIHtcXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcXG59XFxuLmNvbGxhcHNlLWhlYWRlciB7XFxuICBoZWlnaHQ6IDM4cHg7XFxuICBsaW5lLWhlaWdodDogMzhweDtcXG4gIHBhZGRpbmctbGVmdDogMzJweDtcXG4gIGNvbG9yOiAjNjY2O1xcbiAgZm9udC13ZWlnaHQ6IDkwMDtcXG59XFxuLmh3RWhqbCB7XFxuICBib3JkZXItcmFkaXVzOiA0cHg7XFxuICBib3JkZXI6IDFweCBzb2xpZCAjZDlkOWQ5O1xcbiAgY3Vyc29yOiBtb3ZlO1xcbn1cXG4uaWRlLW1lbnVJdGVtIHtcXG4gIHdpZHRoOiA5MCU7XFxuICBjb2xvcjogIzE5MWYyNTtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG59XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTkzMzI3ZDllXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL2RyYWctbWVudS9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDI3NFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///274\n");
1885
1886/***/ }),
1887/* 275 */
1888/***/ (function(module, exports, __webpack_require__) {
1889
1890"use strict";
1891eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ListContainer = exports.SearchInput = exports.CloseContainer = exports.Title = exports.Container = exports.GaeaComponent = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n display: -webkit-box;\\n display: -webkit-flex;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-align-items: center;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n height: 30px;\\n padding: 0 10px;\\n float: left;\\n margin: 10px 10px 0px 0px;\\n border: 1px solid gray;\\n width: 46%;\\n cursor: pointer;\\n font-size: 14px;\\n color: #666;\\n /* background-color: #eee; */\\n \\n transition: background-color .3s;\\n &:hover {\\n background-color: white;\\n }\\n'], ['\\n display: -webkit-box;\\n display: -webkit-flex;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-align-items: center;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n height: 30px;\\n padding: 0 10px;\\n float: left;\\n margin: 10px 10px 0px 0px;\\n border: 1px solid gray;\\n width: 46%;\\n cursor: pointer;\\n font-size: 14px;\\n color: #666;\\n /* background-color: #eee; */\\n \\n transition: background-color .3s;\\n &:hover {\\n background-color: white;\\n }\\n']),\n _templateObject2 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n flex-direction: column;\\n background-color: whitesmoke;\\n flex-grow: 1;\\n'], ['\\n display: flex;\\n flex-direction: column;\\n background-color: whitesmoke;\\n flex-grow: 1;\\n']),\n _templateObject3 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n justify-content: space-between;\\n padding: 0 10px;\\n height: 40px;\\n background: white;\\n font-size: 16px;\\n align-items: center;\\n color: #777;\\n font-weight: bold;\\n border-bottom: 1px solid #ddd;\\n'], ['\\n display: flex;\\n justify-content: space-between;\\n padding: 0 10px;\\n height: 40px;\\n background: white;\\n font-size: 16px;\\n align-items: center;\\n color: #777;\\n font-weight: bold;\\n border-bottom: 1px solid #ddd;\\n']),\n _templateObject4 = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px;\\n cursor: pointer;\\n fill: #999;\\n align-items: center;\\n &:hover {\\n fill: #333;\\n }\\n'], ['\\n padding: 5px;\\n cursor: pointer;\\n fill: #999;\\n align-items: center;\\n &:hover {\\n fill: #333;\\n }\\n']),\n _templateObject5 = (0, _taggedTemplateLiteral3.default)(['\\n outline: none;\\n padding: 5px 10px;\\n font-size: 14px;\\n color: #666;\\n border-right: none;\\n border-left: none;\\n border-top: none;\\n border-bottom: 1px solid #ddd;\\n background-color: #fbfbfb;\\n &:focus{\\n background-color: white;\\n color: #333;\\n }\\n &::-webkit-input-placeholder{\\n color: #999;\\n }\\n'], ['\\n outline: none;\\n padding: 5px 10px;\\n font-size: 14px;\\n color: #666;\\n border-right: none;\\n border-left: none;\\n border-top: none;\\n border-bottom: 1px solid #ddd;\\n background-color: #fbfbfb;\\n &:focus{\\n background-color: white;\\n color: #333;\\n }\\n &::-webkit-input-placeholder{\\n color: #999;\\n }\\n']),\n _templateObject6 = (0, _taggedTemplateLiteral3.default)(['\\n overflow-y: auto;\\n flex-grow: 1;\\n flex-basis: 0;\\n'], ['\\n overflow-y: auto;\\n flex-grow: 1;\\n flex-basis: 0;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar GaeaComponent = exports.GaeaComponent = _vueStyledComponents2.default.div(_templateObject);\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject2);\n\nvar Title = exports.Title = _vueStyledComponents2.default.div(_templateObject3);\n\nvar CloseContainer = exports.CloseContainer = _vueStyledComponents2.default.div(_templateObject4);\n\nvar SearchInput = exports.SearchInput = _vueStyledComponents2.default.input(_templateObject5);\n\nvar ListContainer = exports.ListContainer = _vueStyledComponents2.default.div(_templateObject6);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9kcmFnLW1lbnUvc3R5bGUuanM/NGJmOSJdLCJuYW1lcyI6WyJHYWVhQ29tcG9uZW50Iiwic3R5bGVkIiwiZGl2IiwiQ29udGFpbmVyIiwiVGl0bGUiLCJDbG9zZUNvbnRhaW5lciIsIlNlYXJjaElucHV0IiwiaW5wdXQiLCJMaXN0Q29udGFpbmVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBQ08sSUFBTUEsd0NBQWdCQyw4QkFBT0MsR0FBdkIsaUJBQU47O0FBMEJBLElBQU1DLGdDQUFZRiw4QkFBT0MsR0FBbkIsa0JBQU47O0FBT0EsSUFBTUUsd0JBQVFILDhCQUFPQyxHQUFmLGtCQUFOOztBQWFBLElBQU1HLDBDQUFpQkosOEJBQU9DLEdBQXhCLGtCQUFOOztBQVVBLElBQU1JLG9DQUFjTCw4QkFBT00sS0FBckIsa0JBQU47O0FBbUJBLElBQU1DLHdDQUFnQlAsOEJBQU9DLEdBQXZCLGtCQUFOIiwiZmlsZSI6IjI3NS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAndnVlLXN0eWxlZC1jb21wb25lbnRzJztcclxuZXhwb3J0IGNvbnN0IEdhZWFDb21wb25lbnQgPSBzdHlsZWQuZGl2YFxyXG4gZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xyXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbjogMTBweCAxMHB4IDBweCAwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBncmF5O1xyXG4gICAgd2lkdGg6IDQ2JTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGNvbG9yOiAjNjY2O1xyXG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgKi9cclxuIFxyXG4gICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzO1xyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlc21va2U7XHJcbiAgZmxleC1ncm93OiAxO1xyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFRpdGxlID0gc3R5bGVkLmRpdmBcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgaGVpZ2h0OiA0MHB4O1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGNvbG9yOiAjNzc3O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENsb3NlQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICBwYWRkaW5nOiA1cHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGZpbGw6ICM5OTk7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAmOmhvdmVyIHtcclxuICAgIGZpbGw6ICMzMzM7XHJcbiAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNlYXJjaElucHV0ID0gc3R5bGVkLmlucHV0YFxyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGNvbG9yOiAjNjY2O1xyXG4gIGJvcmRlci1yaWdodDogbm9uZTtcclxuICBib3JkZXItbGVmdDogbm9uZTtcclxuICBib3JkZXItdG9wOiBub25lO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmYmZiZmI7XHJcbiAgJjpmb2N1c3tcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgfVxyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXJ7XHJcbiAgICBjb2xvcjogIzk5OTtcclxuICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgTGlzdENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICBmbGV4LWdyb3c6IDE7XHJcbiAgZmxleC1iYXNpczogMDtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvZHJhZy1tZW51L3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///275\n");
1892
1893/***/ }),
1894/* 276 */
1895/***/ (function(module, __webpack_exports__, __webpack_require__) {
1896
1897"use strict";
1898eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\"Container\", [\n _vm.hackReset\n ? _c(\n \"div\",\n [\n _c(\"Title\", [_c(\"div\", [_vm._v(\"组件库\")])]),\n _vm._v(\" \"),\n _c(\n \"ListContainer\",\n { ref: \"listContainer\", staticClass: \"ide-scrollClass\" },\n _vm._l(_vm.componentClasses, function(item, index) {\n return item[1].level == 4\n ? _c(\n \"GaeaComponent\",\n {\n key: index,\n attrs: { \"data-gaea-Key\": item[1].editSetting.key }\n },\n [\n _c(\"span\", { staticClass: \"ide-menuItem\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(item[1].editSetting.name) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"iconfont icon-reca-icon_roundreduce\"\n })\n ]\n )\n : _vm._e()\n }),\n 1\n )\n ],\n 1\n )\n : _vm._e()\n ])\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-93327d9e\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9kcmFnLW1lbnUvaW5kZXgudnVlPzkzMTEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsdURBQXVEO0FBQzFFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0I7QUFDQSx3Q0FBd0MsOEJBQThCO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjI3Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICBbXG4gICAgICBfYyhcIkNvbnRhaW5lclwiLCBbXG4gICAgICAgIF92bS5oYWNrUmVzZXRcbiAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgX2MoXCJUaXRsZVwiLCBbX2MoXCJkaXZcIiwgW192bS5fdihcIue7hOS7tuW6k1wiKV0pXSksXG4gICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgIFwiTGlzdENvbnRhaW5lclwiLFxuICAgICAgICAgICAgICAgICAgeyByZWY6IFwibGlzdENvbnRhaW5lclwiLCBzdGF0aWNDbGFzczogXCJpZGUtc2Nyb2xsQ2xhc3NcIiB9LFxuICAgICAgICAgICAgICAgICAgX3ZtLl9sKF92bS5jb21wb25lbnRDbGFzc2VzLCBmdW5jdGlvbihpdGVtLCBpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbVsxXS5sZXZlbCA9PSA0XG4gICAgICAgICAgICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJHYWVhQ29tcG9uZW50XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IGluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IFwiZGF0YS1nYWVhLUtleVwiOiBpdGVtWzFdLmVkaXRTZXR0aW5nLmtleSB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwgeyBzdGF0aWNDbGFzczogXCJpZGUtbWVudUl0ZW1cIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAgICAgICAgICBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKGl0ZW1bMV0uZWRpdFNldHRpbmcubmFtZSkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJzcGFuXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImljb25mb250IGljb24tcmVjYS1pY29uX3JvdW5kcmVkdWNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgOiBfdm0uX2UoKVxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApXG4gICAgICAgICAgOiBfdm0uX2UoKVxuICAgICAgXSlcbiAgICBdLFxuICAgIDFcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtOTMzMjdkOWVcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtOTMzMjdkOWVcIixcImhhc1Njb3BlZFwiOnRydWUsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9kcmFnLW1lbnUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAyNzZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///276\n");
1899
1900/***/ }),
1901/* 277 */
1902/***/ (function(module, __webpack_exports__, __webpack_require__) {
1903
1904"use strict";
1905eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(87);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_4e2a55b4_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(296);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(278)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_4e2a55b4_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/global-settings/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-4e2a55b4\", Component.options)\n } else {\n hotAPI.reload(\"data-v-4e2a55b4\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9nbG9iYWwtc2V0dGluZ3MvaW5kZXgudnVlP2JhN2QiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFnVjtBQUMxVjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDOFM7QUFDOVM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGtRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiMjc3LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNGUyYTU1YjRcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTRlMmE1NWI0XFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9nbG9iYWwtc2V0dGluZ3MvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTRlMmE1NWI0XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtNGUyYTU1YjRcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9nbG9iYWwtc2V0dGluZ3MvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAyNzdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///277\n");
1906
1907/***/ }),
1908/* 278 */
1909/***/ (function(module, exports, __webpack_require__) {
1910
1911eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(279);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"b5e7347a\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4e2a55b4\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4e2a55b4\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9nbG9iYWwtc2V0dGluZ3MvaW5kZXgudnVlP2ZlMzYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBc1c7QUFDNVgsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLG1GQUFtRjtBQUNoUixzTUFBc00sbUZBQW1GO0FBQ3pSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiMjc4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTRlMmE1NWI0XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCJiNWU3MzQ3YVwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNGUyYTU1YjRcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNGUyYTU1YjRcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNGUyYTU1YjRcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvZ2xvYmFsLXNldHRpbmdzL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMjc4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///278\n");
1912
1913/***/ }),
1914/* 279 */
1915/***/ (function(module, exports, __webpack_require__) {
1916
1917eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.ivu-modal-fullscreen {\\n width: 100%!important;\\n top: 0;\\n bottom: 0;\\n position: absolute;\\n}\\n.ivu-modal-fullscreen .ivu-modal-content {\\n width: 100%;\\n border-radius: 0;\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n}\\n.ivu-modal-fullscreen .ivu-modal-footer {\\n position: absolute;\\n width: 100%;\\n bottom: 0;\\n}\\n.indexDivs{\\n padding:0px 4px;\\n height: 100%;\\n line-height: 40px;\\n}\\n.indexDivs:hover{\\n background-color: white;\\n color: #333;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/plugins/global-settings/myPlugin/page-ide/lib/plugins/global-settings/index.vue\"],\"names\":[],\"mappings\":\";AAm4DA;IACA,sBAAA;IACA,OAAA;IACA,UAAA;IACA,mBAAA;CACA;AACA;IACA,YAAA;IACA,iBAAA;IACA,mBAAA;IACA,OAAA;IACA,UAAA;CACA;AACA;IACA,mBAAA;IACA,YAAA;IACA,UAAA;CACA;AACA;IACA,gBAAA;IACA,aAAA;IACA,kBAAA;CACA;AACA;IACA,wBAAA;IACA,YAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div>\\r\\n <!-- <Container @click=\\\"gotoConfig()\\\" class=\\\"indexDivs\\\">\\r\\n 全局设置\\r\\n </Container>\\r\\n <Container @click=\\\"deleteCache()\\\" class=\\\"indexDivs\\\">\\r\\n 清空缓存\\r\\n </Container>\\r\\n &lt;!&ndash; <Container @click=\\\"saveInstance()\\\" class=\\\"indexDivs\\\">\\r\\n 保存实例\\r\\n </Container>&ndash;&gt;\\r\\n &lt;!&ndash;<Container @click=\\\"loadServerForm()\\\" id=\\\"loadServerForm\\\" class=\\\"indexDivs\\\" v-if=\\\"showServerForm\\\">\\r\\n 加载服务器表单数据\\r\\n </Container>&ndash;&gt;\\r\\n <Container @click=\\\"loadBaseInfoForm()\\\" id=\\\"loadBaseInfoForm\\\" class=\\\"indexDivs\\\" v-if=\\\"showBaseInfoForm\\\" >\\r\\n 加载基本信息表单数据\\r\\n </Container>\\r\\n <Container @click=\\\"loadUploadFile()\\\" id=\\\"loadUploadFile\\\" class=\\\"indexDivs\\\" v-if=\\\"showBaseInfoForm\\\" >\\r\\n 加载上传附件\\r\\n </Container>\\r\\n <Container @click=\\\"loadServerFormTable()\\\" id=\\\"loadServerFormTable\\\" class=\\\"indexDivs\\\" v-if=\\\"showServerForm\\\" >\\r\\n 加载服务器表格数据\\r\\n </Container>\\r\\n <Container @click=\\\"gotoHelp()\\\" class=\\\"indexDivs\\\">\\r\\n 操作手册\\r\\n </Container>\\r\\n <Container class=\\\"indexDivs\\\">\\r\\n 当前步骤: <Select v-model=\\\"currentStep\\\" @on-change=\\\"setMyCurrentStep\\\" style=\\\"width:80px\\\">\\r\\n <Option v-for=\\\"item in stepList\\\" :value=\\\"item.value\\\" :key=\\\"item.value\\\">{{ item.label }}</Option>\\r\\n </Select>\\r\\n </Container>\\r\\n <Modal v-model=\\\"showModal\\\" footer-hide fullscreen :title=\\\"modalTitle\\\">\\r\\n <router-view/>\\r\\n </Modal>-->\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\n import * as components from './style';\\r\\n import eventbus from '../../service/eventbus';\\r\\n import {mountSlot} from '../../service/mount';\\r\\n import Service from \\\"../../service/tool-service\\\";\\r\\n import httpLoading from \\\"../../utils/httpLoading\\\";\\r\\n export default {\\r\\n components,\\r\\n data () {\\r\\n return {\\r\\n isLoadedDate:false,//note 存放是不是已经加载了数据 true 是已经加载,,false没有加载\\r\\n stepList:[ {\\r\\n value: '1',\\r\\n label: '第一步'\\r\\n }, {\\r\\n value: '2',\\r\\n label: '第二步'\\r\\n }, {\\r\\n value: '3',\\r\\n label: '第三步'\\r\\n }, {\\r\\n value: '4',\\r\\n label: '第四步'\\r\\n }, {\\r\\n value: '5',\\r\\n label: '第五步'\\r\\n }],\\r\\n showServerForm:true,\\r\\n showBaseInfoForm:false,\\r\\n modalTitle:\\\"模板数据配置\\\",\\r\\n showModal: false,\\r\\n currentStep:\\\"1\\\",\\r\\n localInstance:[]\\r\\n }\\r\\n },\\r\\n position: 'navbarLeft',\\r\\n name: 'globalSettings',\\r\\n methods:{\\r\\n isIE() { //ie?\\r\\n if (!!window.ActiveXObject || \\\"ActiveXObject\\\" in window)\\r\\n { return true; }\\r\\n else\\r\\n { return false; }\\r\\n },\\r\\n //note 设置当前步骤\\r\\n setMyCurrentStep(item){\\r\\n console.log(item);\\r\\n debugger;\\r\\n let currentStep=localStorage.itemStep;\\r\\n let _this=this;\\r\\n //note 如果是当前的步骤,不做任何变动\\r\\n if(currentStep==item){\\r\\n //note 查询\\r\\n }else if(currentStep!=\\\"\\\"&&parseInt(currentStep)>parseInt(item)){\\r\\n //note 查询之前的直接清除,然后查询\\r\\n localStorage.itemStep=item;\\r\\n _this.$store.commit('viewport/deleteLevel1Data',{});\\r\\n this.isLoadedDate=false;\\r\\n }else if(currentStep!=\\\"\\\"&&parseInt(item)<parseInt(currentStep)||(parseInt(currentStep)+1)==parseInt(item)){\\r\\n //note 说明是查询之前的,或者往后一个步骤的\\r\\n console.log(111);\\r\\n //note 判断当前是否是保存状态,如果是,则可以进行下一步,否则,不允许进行\\r\\n let params = {\\r\\n itemNo:localStorage.itemNo,\\r\\n itemStep:currentStep,\\r\\n jsonType:1\\r\\n };\\r\\n Service.selectTemplateInfo(params).then((res) => {\\r\\n if(typeof(res) != \\\"undefined\\\"){\\r\\n this.$Modal.confirm({\\r\\n title: '友情提示!',\\r\\n content:'切换完成将会清空数据,是否继续?',\\r\\n onOk(){\\r\\n localStorage.itemStep=item;\\r\\n _this.$store.commit('viewport/deleteLevel1Data',{});\\r\\n },\\r\\n onCancel(){\\r\\n _this.currentStep=localStorage.itemStep;\\r\\n }\\r\\n })\\r\\n }else{\\r\\n this.$Modal.success({\\r\\n title: \\\"友情提示\\\",\\r\\n content: \\\"当前步骤为未完成,请按步骤创建。\\\",\\r\\n onOk(){\\r\\n debugger;\\r\\n _this.currentStep=localStorage.itemStep;\\r\\n },\\r\\n onCancel(){\\r\\n\\r\\n }\\r\\n });\\r\\n }\\r\\n });\\r\\n // this.initUI(item);\\r\\n }else{\\r\\n //note 跨步骤的不准做任何变动\\r\\n this.$Modal.success({\\r\\n title: \\\"友情提示\\\",\\r\\n content: \\\"请按步骤创建\\\",\\r\\n onOk(){\\r\\n _this.currentStep=localStorage.itemStep;\\r\\n debugger;\\r\\n },\\r\\n onCancel(){\\r\\n\\r\\n }\\r\\n });\\r\\n }\\r\\n debugger;\\r\\n },\\r\\n showData(){\\r\\n let localInstance= this.$store.state.viewport.localInstances;\\r\\n this.$store.commit('viewport/updateData',localInstance);\\r\\n },\\r\\n saveInstance(){\\r\\n this.$store.commit('viewport/saveLocalInstances', {\\r\\n });\\r\\n this.$Modal.success({\\r\\n title: \\\"友情提示\\\",\\r\\n content: \\\"保存成功\\\"\\r\\n });\\r\\n },\\r\\n initTemplateInstance(){\\r\\n let instances= this.$store.state.viewport.instances;\\r\\n instances= [...instances];\\r\\n let localInstance= this.$store.state.viewport.localInstances;\\r\\n let str=JSON.stringify(localInstance);\\r\\n localInstance= [...instances,...localInstance];\\r\\n this.localInstance=localInstance;\\r\\n this.delayExcute(1);\\r\\n },\\r\\n //note 获取随机数字字符串\\r\\n getRandomAlphaNum(){\\r\\n let len=10;\\r\\n var rdmString = \\\"\\\";\\r\\n for (; rdmString.length < len; rdmString += Math.random().toString(36).substr(2));\\r\\n return rdmString.substr(0, len);\\r\\n },\\r\\n //note 创建步骤条\\r\\n getStep(parentInstanceKey,steps){\\r\\n let currentStep=parseInt(localStorage.itemStep)-1;\\r\\n let step=[ \\\"gaea_instance_1s0luul6qrk\\\",\\r\\n {\\r\\n \\\"gaeaKey\\\": \\\"gaea-steps\\\",\\r\\n \\\"data\\\": {\\r\\n \\\"__setting__\\\": null,\\r\\n \\\"__crrtInstanceInfo__\\\": null,\\r\\n \\\"text\\\": \\\"steps\\\",\\r\\n \\\"styles\\\": {\\r\\n\\r\\n },\\r\\n \\\"type\\\": \\\"steps\\\",\\r\\n \\\"level\\\": 2,\\r\\n \\\"steps\\\": steps,\\r\\n \\\"property\\\": {\\r\\n \\\"current\\\": currentStep\\r\\n }\\r\\n },\\r\\n \\\"slots\\\": {\\r\\n\\r\\n },\\r\\n \\\"parentInstanceKey\\\": parentInstanceKey\\r\\n }];\\r\\n return step;\\r\\n },\\r\\n //note 创建时间线\\r\\n getTimeLine(parentInstanceKey){\\r\\n let timeLine=[\\r\\n \\\"gaea_instance_1emizh3mg86\\\",\\r\\n {\\r\\n \\\"gaeaKey\\\": \\\"gaea-time-line\\\",\\r\\n \\\"data\\\": {\\r\\n \\\"__setting__\\\": null,\\r\\n \\\"__crrtInstanceInfo__\\\": null,\\r\\n \\\"level\\\": 2,\\r\\n \\\"property\\\": {\\r\\n \\\"model\\\":\\\"timeLineData\\\",\\r\\n \\\"qrCodeShow\\\": false,\\r\\n \\\"pending\\\": false\\r\\n }\\r\\n },\\r\\n \\\"slots\\\": {\\r\\n\\r\\n },\\r\\n \\\"parentInstanceKey\\\": parentInstanceKey\\r\\n }\\r\\n ];\\r\\n return timeLine;\\r\\n },\\r\\n //note 创建下载证照附件\\r\\n getInfoAttachment(parentInstanceKey){\\r\\n let infoAttachment= [\\r\\n \\\"gaea_instance_1i64x6vclsu\\\",\\r\\n {\\r\\n \\\"gaeaKey\\\": \\\"gaea-info-attachment\\\",\\r\\n \\\"data\\\": {\\r\\n \\\"__setting__\\\": null,\\r\\n \\\"__crrtInstanceInfo__\\\": null,\\r\\n \\\"styles\\\": {\\r\\n\\r\\n },\\r\\n \\\"level\\\": 2,\\r\\n \\\"property\\\": {\\r\\n \\\"model\\\": \\\"infoAttachment\\\",\\r\\n \\\"headerTitle\\\": \\\"\\\",\\r\\n \\\"showHeader\\\": false\\r\\n }\\r\\n\\r\\n },\\r\\n \\\"slots\\\": {\\r\\n \\\"default\\\": [\\r\\n ]\\r\\n },\\r\\n \\\"parentInstanceKey\\\":parentInstanceKey,\\r\\n \\\"preGaeaKey\\\": null\\r\\n }\\r\\n ];\\r\\n return infoAttachment;\\r\\n },\\r\\n //note 创建infobase 和Cell\\r\\n getCell(headerTitle){\\r\\n let cellProp= [\\r\\n \\\"gaea_instance_1qcchw5jfue\\\",\\r\\n {\\r\\n \\\"gaeaKey\\\": \\\"gaea-cell\\\",\\r\\n \\\"data\\\": {\\r\\n \\\"__setting__\\\": null,\\r\\n \\\"__crrtInstanceInfo__\\\": null,\\r\\n \\\"styles\\\": {\\r\\n \\\"minWidth\\\": \\\"100px\\\",\\r\\n \\\"minHeight\\\": \\\"200px\\\",\\r\\n \\\"width\\\": \\\"100%\\\",\\r\\n \\\"backgroundColor\\\": \\\"#fff\\\"\\r\\n },\\r\\n \\\"level\\\": 2,\\r\\n \\\"property\\\": {\\r\\n \\\"col\\\": 4,\\r\\n \\\"showHeader\\\": true,\\r\\n \\\"showFooter\\\": false,\\r\\n \\\"headerTitle\\\": headerTitle||\\\"\\\"\\r\\n },\\r\\n \\\"extend\\\": {\\r\\n\\r\\n }\\r\\n },\\r\\n \\\"slots\\\": {\\r\\n \\\"default\\\": [\\r\\n ]\\r\\n },\\r\\n \\\"parentInstanceKey\\\": \\\"gaea_instance_ujeodln8fx\\\",\\r\\n \\\"preGaeaKey\\\": null\\r\\n }\\r\\n ];\\r\\n return cellProp;\\r\\n },\\r\\n getInfoBase(boxTitle){\\r\\n let infoBaseProp= [\\r\\n \\\"gaea_instance_ujeodln8fx\\\",\\r\\n {\\r\\n \\\"gaeaKey\\\": \\\"gaea-info-base\\\",\\r\\n \\\"data\\\": {\\r\\n \\\"__setting__\\\": null,\\r\\n \\\"__crrtInstanceInfo__\\\": null,\\r\\n \\\"styles\\\": {\\r\\n \\\"minWidth\\\": \\\"100px\\\",\\r\\n \\\"width\\\": \\\"95%\\\",\\r\\n \\\"minHeight\\\": \\\"380px\\\",\\r\\n \\\"backgroundColor\\\": \\\"#fff\\\"\\r\\n },\\r\\n \\\"level\\\": 2,\\r\\n \\\"property\\\": {\\r\\n \\\"arrow\\\": true,\\r\\n \\\"footer\\\": false,\\r\\n \\\"col\\\": 4,\\r\\n \\\"showHeader\\\": true,\\r\\n \\\"showFooter\\\": false\\r\\n },\\r\\n \\\"extend\\\": {\\r\\n\\r\\n }\\r\\n },\\r\\n \\\"slots\\\": {\\r\\n \\\"default\\\": [\\r\\n ]\\r\\n },\\r\\n \\\"parentInstanceKey\\\": boxTitle,\\r\\n \\\"preGaeaKey\\\": null\\r\\n }\\r\\n ];\\r\\n return infoBaseProp;\\r\\n },\\r\\n\\r\\n //note 创建box form\\r\\n getTitle(boxName,name){\\r\\n let titleProp= [\\r\\n \\\"gaea_instance_22qza4w0c3n\\\",\\r\\n {\\r\\n \\\"gaeaKey\\\": \\\"gaea-title\\\",\\r\\n \\\"data\\\": {\\r\\n \\\"__setting__\\\": null,\\r\\n \\\"__crrtInstanceInfo__\\\": null,\\r\\n \\\"styles\\\": {\\r\\n \\\"display\\\": \\\"inline-block\\\",\\r\\n \\\"width\\\": \\\"100px\\\",\\r\\n \\\"height\\\": \\\"30px\\\",\\r\\n \\\"lineHeight\\\": \\\"30px\\\",\\r\\n \\\"textAlign\\\": \\\"center\\\",\\r\\n \\\"margin\\\": \\\"10px\\\",\\r\\n \\\"backgroundColor\\\": \\\"#fff\\\",\\r\\n \\\"fontSize\\\": \\\"15px\\\"\\r\\n },\\r\\n \\\"level\\\": 2,\\r\\n \\\"property\\\": {\\r\\n \\\"title\\\": name\\r\\n },\\r\\n \\\"extend\\\": {\\r\\n \\\"span\\\": 17,\\r\\n \\\"labelWidth\\\": 222\\r\\n }\\r\\n },\\r\\n \\\"slots\\\": {\\r\\n \\\"default\\\": [\\r\\n ]\\r\\n },\\r\\n \\\"parentInstanceKey\\\": boxName,\\r\\n \\\"preGaeaKey\\\": null\\r\\n }\\r\\n ];\\r\\n return titleProp;\\r\\n },\\r\\n //note 创建box form\\r\\n getBox(){\\r\\n let boxProp= [\\r\\n \\\"gaea_instance_box_\\\"+this.randomWord(12,4,4),\\r\\n {\\r\\n \\\"gaeaKey\\\": \\\"gaea-box\\\",\\r\\n \\\"data\\\": {\\r\\n \\\"__setting__\\\": null,\\r\\n \\\"__crrtInstanceInfo__\\\": null,\\r\\n \\\"styles\\\": {\\r\\n \\\"width\\\": \\\"100%\\\",\\r\\n \\\"border\\\": \\\"0px\\\",\\r\\n \\\"backgroundColor\\\": \\\"#fff\\\",\\r\\n },\\r\\n \\\"level\\\": 1,\\r\\n \\\"property\\\": {\\r\\n \\\"validator\\\": false,\\r\\n \\\"model\\\": \\\"\\\",\\r\\n \\\"minRows\\\": 2,\\r\\n \\\"disableDelRows\\\": 2,\\r\\n \\\"btnMsg\\\": \\\"\\\"\\r\\n },\\r\\n \\\"extend\\\": {\\r\\n \\\"span\\\": 17,\\r\\n \\\"labelWidth\\\": 222\\r\\n }\\r\\n },\\r\\n \\\"slots\\\": {\\r\\n \\\"default\\\": [\\r\\n ]\\r\\n },\\r\\n \\\"parentInstanceKey\\\": \\\"gaea_instance_1\\\",\\r\\n \\\"preGaeaKey\\\": null\\r\\n }\\r\\n ];\\r\\n return boxProp;\\r\\n\\r\\n\\r\\n },\\r\\n getButtonOprator(buttons){\\r\\n if(buttons.length==0){\\r\\n buttons=[ {\\r\\n \\\"label\\\": \\\"办事指南\\\",\\r\\n \\\"type\\\": \\\"success\\\",\\r\\n \\\"click\\\": \\\"guideClick\\\"\\r\\n },\\r\\n {\\r\\n \\\"label\\\": \\\"下一步\\\",\\r\\n \\\"type\\\": \\\"error\\\",\\r\\n \\\"click\\\": \\\"nextStepClick\\\"\\r\\n },\\r\\n {\\r\\n \\\"label\\\": \\\"保存\\\",\\r\\n \\\"type\\\": \\\"warning\\\",\\r\\n \\\"click\\\": \\\"saveClick\\\"\\r\\n }];\\r\\n }\\r\\n let opraterProp=[];\\r\\n let buttonOpraoter=\\\"gaea_instance_btn_\\\"+this.randomWord(12,4,4);\\r\\n let boxProp= [\\r\\n buttonOpraoter ,\\r\\n {\\r\\n \\\"gaeaKey\\\": \\\"gaea-btns-oprator\\\",\\r\\n \\\"data\\\": {\\r\\n \\\"__setting__\\\": null,\\r\\n \\\"__crrtInstanceInfo__\\\": null,\\r\\n \\\"styles\\\": {\\r\\n \\\"marginTop\\\": \\\"20px\\\",\\r\\n \\\"minWidth\\\": \\\"100px\\\",\\r\\n \\\"width\\\": \\\"95%\\\",\\r\\n \\\"minHeight\\\": \\\"100px\\\",\\r\\n \\\"border\\\": \\\"1px solid #ccc\\\",\\r\\n \\\"backgroundColor\\\": \\\"#FDF8F5\\\",\\r\\n \\\"paddingBottom\\\": \\\"20px\\\"\\r\\n },\\r\\n \\\"level\\\": 1,\\r\\n \\\"property\\\": {\\r\\n \\\"validator\\\": false,\\r\\n \\\"model\\\": \\\"\\\",\\r\\n \\\"minRows\\\": 2,\\r\\n \\\"disableDelRows\\\": 2,\\r\\n \\\"padding\\\": \\\"0px 217px 0px 423px\\\",\\r\\n \\\"btnMsg\\\": \\\"\\\"\\r\\n },\\r\\n \\\"extend\\\": {\\r\\n \\\"span\\\": 17,\\r\\n \\\"labelWidth\\\": 222\\r\\n }\\r\\n },\\r\\n \\\"slots\\\": {\\r\\n \\\"default\\\": [\\r\\n\\r\\n ]\\r\\n },\\r\\n \\\"parentInstanceKey\\\": \\\"gaea_instance_1\\\",\\r\\n \\\"preGaeaKey\\\": null\\r\\n }\\r\\n ];\\r\\n opraterProp.push(boxProp);\\r\\n for(let i=0;i<buttons.length;i++){\\r\\n let gaeaBtn=\\\"gaea_instance_btn_child_\\\"+this.randomWord(12,4,4);\\r\\n let propObj=buttons[i];\\r\\n let oprateButton= [\\r\\n gaeaBtn,\\r\\n {\\r\\n \\\"gaeaKey\\\": \\\"gaea-button\\\",\\r\\n \\\"data\\\": {\\r\\n \\\"__setting__\\\": null,\\r\\n \\\"__crrtInstanceInfo__\\\": null,\\r\\n \\\"text\\\": \\\"input\\\",\\r\\n \\\"styles\\\": {\\r\\n \\\"height\\\": \\\"40px\\\",\\r\\n \\\"width\\\": \\\"100px\\\",\\r\\n \\\"margin\\\": \\\"10px\\\"\\r\\n },\\r\\n \\\"property\\\": propObj,\\r\\n \\\"text\\\": \\\"办事指南\\\",\\r\\n \\\"type\\\": \\\"success\\\",\\r\\n \\\"level\\\": 3,\\r\\n \\\"extend\\\": {\\r\\n\\r\\n }\\r\\n },\\r\\n \\\"slots\\\": {\\r\\n },\\r\\n \\\"parentInstanceKey\\\": buttonOpraoter\\r\\n }\\r\\n ];\\r\\n opraterProp.push(oprateButton);\\r\\n }\\r\\n return opraterProp;\\r\\n },\\r\\n getForm(boxName){\\r\\n let fromProp= [\\r\\n \\\"gaea_instance_2pvzgbsfhf4\\\",\\r\\n {\\r\\n \\\"gaeaKey\\\": \\\"gaea-form\\\",\\r\\n \\\"data\\\": {\\r\\n \\\"__setting__\\\": null,\\r\\n \\\"__crrtInstanceInfo__\\\": null,\\r\\n \\\"styles\\\": {\\r\\n \\\"width\\\": \\\"100%\\\",\\r\\n \\\"border\\\": \\\"0px\\\",\\r\\n \\\"backgroundColor\\\": \\\"#fff\\\"\\r\\n },\\r\\n \\\"type\\\": \\\"form\\\",\\r\\n \\\"title\\\": \\\"Form\\\",\\r\\n \\\"level\\\": 2,\\r\\n \\\"property\\\": {\\r\\n \\\"validator\\\": true\\r\\n },\\r\\n \\\"extend\\\": {\\r\\n \\\"span\\\": 17,\\r\\n \\\"labelWidth\\\": 222,\\r\\n \\\"itemWidth\\\": 320,\\r\\n \\\"placeholder\\\": \\\"\\\",\\r\\n \\\"maxlength\\\": \\\"220\\\",\\r\\n \\\"eventType\\\": \\\"\\\",\\r\\n \\\"rows\\\": 0\\r\\n }\\r\\n },\\r\\n \\\"slots\\\": {\\r\\n \\\"default\\\": [\\r\\n ]\\r\\n },\\r\\n \\\"parentInstanceKey\\\": boxName\\r\\n }\\r\\n ];\\r\\n return fromProp;\\r\\n },\\r\\n //note 加载服务器表单数据\\r\\n loadBaseInfoForm(){\\r\\n if(this.isLoadedDate){\\r\\n this.$Notice.warning({\\r\\n title: '加载数据',\\r\\n desc: '当前已经创建数据,不能继续创建'\\r\\n });\\r\\n return;\\r\\n }\\r\\n\\r\\n let countFormTableInstance=1000;\\r\\n let countFormInstance=100;\\r\\n let _this=this;\\r\\n let arr1=[];\\r\\n let params = {\\r\\n itemNo:localStorage.itemNo,\\r\\n itemStep:\\\"1\\\"//localStorage.itemStep\\r\\n };\\r\\n httpLoading.showLoading(\\\"正在加载数据...\\\")\\r\\n Service.selectFormProp(params).then((res) => {\\r\\n //note 首先取到form的实例名称\\r\\n let formInstanceName=\\\"gaea_instance_1qcchw5jfue\\\";\\r\\n let formPropArr=[];\\r\\n let stepBox=_this.getBox();\\r\\n stepBox[0]=\\\"gaea_instance_\\\"+_this.randomWord(12,4,4);\\r\\n formPropArr.push(stepBox);\\r\\n formPropArr.push(_this.getStep(stepBox[0],res.steps||[{\\\"title\\\":\\\"填写资料\\\"},{\\\"title\\\":\\\"上传附件\\\"},{\\\"title\\\":\\\"提交审核\\\"},{\\\"title\\\":\\\"已办结\\\"}]));\\r\\n formPropArr.push(_this.getTimeLine(stepBox[0]));\\r\\n let box=_this.getBox();\\r\\n formPropArr.push(box);\\r\\n formPropArr.push(_this.getInfoBase(box[0]));\\r\\n this.isLoadedDate=true;\\r\\n httpLoading.closeLoading();\\r\\n for(let propObj in res.prop) {\\r\\n let formArr=res.prop[propObj];\\r\\n // let currentObjStr=JSON.stringify(res.prop[propObj]);\\r\\n // let listLength= (currentObjStr.split('List')).length-1;\\r\\n let myCell=_this.getCell(propObj);\\r\\n myCell[0]=\\\"gaea_instance_cell_\\\"+_this.randomWord(12,4,4);\\r\\n formPropArr.push(myCell);\\r\\n for (let j = 0; j < formArr.length; j++) {\\r\\n let fromProp = [];\\r\\n //note 属性对象\\r\\n let myPropObj = {}\\r\\n //note 下拉框或者单选框数组\\r\\n let myRadioArr = [];\\r\\n //note 工具组件类型\\r\\n let myGaeaKey = \\\"\\\";\\r\\n //note 系统组件类型\\r\\n let myType = \\\"\\\";\\r\\n if (formArr[j].busiType == \\\"List\\\") {\\r\\n let resArr = eval('(' + formArr[j].busiExplain + ')');\\r\\n for (let prop in resArr) {\\r\\n console.log(prop);\\r\\n _this.initFormTableKey(prop);\\r\\n console.log(resArr[prop]);\\r\\n let response = resArr[prop];\\r\\n //note 下拉框或者单选框数组\\r\\n let myFromTableRadioArr = [];\\r\\n //note 工具组件类型\\r\\n let myFromTableGaeaKey = \\\"\\\";\\r\\n //note 系统组件类型\\r\\n let myFromTableType = \\\"\\\";\\r\\n let myFromTablePropObj = {\\r\\n \\\"title\\\": formArr[j].busiDesc,\\r\\n \\\"prop\\\": prop,\\r\\n \\\"label\\\": \\\"table\\\",\\r\\n \\\"span\\\": 24,\\r\\n \\\"width\\\": 1000\\r\\n }\\r\\n let myGaeaKey = \\\"gaea-cell-table\\\";\\r\\n let formTableProp = [\\r\\n \\\"gaea_instance_celltable_\\\" + countFormTableInstance + j,\\r\\n {\\r\\n \\\"gaeaKey\\\": myGaeaKey,\\r\\n \\\"data\\\": {\\r\\n \\\"__setting__\\\": null,\\r\\n \\\"__crrtInstanceInfo__\\\": null,\\r\\n \\\"text\\\": \\\"input\\\",\\r\\n \\\"styles\\\": {\\r\\n \\\"border\\\": \\\"1px solid #ccc\\\",\\r\\n \\\"backgroundColor\\\": \\\"#fcfcfc\\\"\\r\\n },\\r\\n \\\"title\\\": \\\"cell-table\\\",\\r\\n \\\"type\\\": \\\"cell-table\\\",\\r\\n \\\"level\\\": 2,\\r\\n \\\"validate\\\": {\\r\\n \\\"required\\\": false,\\r\\n \\\"message\\\": \\\"\\\",\\r\\n \\\"type\\\": \\\"\\\",\\r\\n \\\"trigger\\\": \\\"\\\"\\r\\n },\\r\\n \\\"extend\\\": {\\r\\n \\\"eventType\\\": \\\"\\\"\\r\\n },\\r\\n \\\"property\\\": myFromTablePropObj,\\r\\n },\\r\\n \\\"slots\\\": {},\\r\\n \\\"parentInstanceKey\\\": myCell[0]\\r\\n }\\r\\n ];\\r\\n formPropArr.push(formTableProp);\\r\\n //note 再加载form-table 里面的属性\\r\\n for (let i = 0; i < response.length; i++) {\\r\\n //note 属性对象\\r\\n let myPropObj = {}\\r\\n //note 下拉框或者单选框数组\\r\\n let myRadioArr = [];\\r\\n //note 工具组件类型\\r\\n let myFormTableGaeaKey = \\\"\\\";\\r\\n //note 系统组件类型\\r\\n let myFormTablePropType = \\\"\\\";\\r\\n //note 定义数组类型\\r\\n let radioFormTableArr = [];\\r\\n if (response[i].busiTypeName == \\\"radio\\\") {\\r\\n //note select\\r\\n console.log(response[i].busiExplain);\\r\\n let radioArrProp = eval('(' + response[i].busiExplain + ')');\\r\\n for (let prop in radioArrProp) {\\r\\n let propObj = {};\\r\\n propObj.label = prop;\\r\\n propObj.value = radioArrProp[prop];\\r\\n let obj = {\\r\\n \\\"size\\\": \\\"\\\",\\r\\n \\\"disabled\\\": false\\r\\n };\\r\\n propObj.extend = obj;\\r\\n radioFormTableArr.push(propObj);\\r\\n }\\r\\n myPropObj =\\r\\n {\\r\\n \\\"key\\\": response[i].busiName,\\r\\n \\\"title\\\": response[i].busiDesc,\\r\\n \\\"label\\\": \\\"\\\",\\r\\n \\\"busiId\\\": \\\"\\\",\\r\\n \\\"itemsProp\\\": \\\"\\\",\\r\\n \\\"type\\\": \\\"select\\\"\\r\\n }\\r\\n myFormTableGaeaKey = \\\"gaea-table-select\\\";\\r\\n myFormTablePropType = \\\"select\\\";\\r\\n\\r\\n } else if (response[i].busiTypeName == \\\"singleDate\\\") {\\r\\n myPropObj = {\\r\\n \\\"key\\\": response[i].busiName,\\r\\n \\\"title\\\": response[i].busiDesc,\\r\\n \\\"align\\\": \\\"center\\\",\\r\\n \\\"type\\\": \\\"singleDate\\\",\\r\\n \\\"placeholder\\\": \\\"\\\",\\r\\n }\\r\\n myFormTableGaeaKey = \\\"gaea-table-single-date\\\";\\r\\n myFormTablePropType = \\\"table-date-picker\\\";\\r\\n\\r\\n } else if (response[i].busiTypeName == \\\"dataRange\\\") {\\r\\n myPropObj = {\\r\\n \\\"key\\\": response[i].busiName,\\r\\n \\\"title\\\": response[i].busiDesc,\\r\\n \\\"align\\\": \\\"center\\\",\\r\\n \\\"type\\\": \\\"dataRange\\\",\\r\\n \\\"placeholder\\\": \\\"\\\"\\r\\n }\\r\\n myFormTableGaeaKey = \\\"gaea-table-single-date\\\";\\r\\n myFormTablePropType = \\\"table-date-picker\\\";\\r\\n } else {\\r\\n myPropObj = {\\r\\n \\\"key\\\": response[i].busiName,\\r\\n \\\"title\\\": response[i].busiDesc,\\r\\n \\\"align\\\": \\\"center\\\",\\r\\n \\\"type\\\": \\\"input\\\",\\r\\n \\\"placeholder\\\": \\\"\\\",\\r\\n }\\r\\n myFormTableGaeaKey = \\\"gaea-table-input\\\";\\r\\n myFormTablePropType = \\\"input\\\";\\r\\n }\\r\\n let fromTableChildProp = [\\r\\n \\\"gaea_instance_table\\\" + countFormInstance + j + i,\\r\\n {\\r\\n \\\"gaeaKey\\\": myFormTableGaeaKey,\\r\\n \\\"data\\\": {\\r\\n \\\"__setting__\\\": null,\\r\\n \\\"__crrtInstanceInfo__\\\": null,\\r\\n \\\"text\\\": \\\"input\\\",\\r\\n \\\"styles\\\": {\\r\\n \\\"height\\\": \\\"40px\\\",\\r\\n \\\"width\\\": 100,\\r\\n \\\"margin\\\": \\\"10px\\\"\\r\\n },\\r\\n \\\"type\\\": myFormTablePropType,\\r\\n \\\"level\\\": 3,\\r\\n \\\"validateArr\\\": [],\\r\\n \\\"itemsProp\\\": radioFormTableArr,\\r\\n \\\"radioArr\\\": radioFormTableArr,\\r\\n \\\"property\\\": myPropObj,\\r\\n \\\"extend\\\": {\\r\\n \\\"itemWidth\\\": 320,\\r\\n \\\"placeholder\\\": \\\"\\\",\\r\\n \\\"eventType\\\": \\\"\\\"\\r\\n }\\r\\n },\\r\\n \\\"slots\\\": {},\\r\\n \\\"parentInstanceKey\\\": \\\"gaea_instance_celltable_\\\" + countFormTableInstance + j\\r\\n }\\r\\n ];\\r\\n formPropArr.push(fromTableChildProp);\\r\\n }\\r\\n }\\r\\n }\\r\\n else if (formArr[j].busiType == \\\"hide\\\") {\\r\\n\\r\\n } else {\\r\\n if (formArr[j].busiType == \\\"select\\\"||formArr[j].busiType == \\\"selectLabel\\\"||formArr[j].busiType == \\\"selectLink\\\") {\\r\\n console.log(formArr[j].busiExplain);\\r\\n let radioArr = [];\\r\\n if(formArr[j].busiExplain!=\\\"\\\"){\\r\\n let radioArrProp = eval('(' + formArr[j].busiExplain + ')');\\r\\n for (let prop in radioArrProp) {\\r\\n let propObj = {};\\r\\n propObj.label = prop;\\r\\n propObj.value = radioArrProp[prop];\\r\\n let obj = {\\r\\n \\\"size\\\": \\\"\\\",\\r\\n \\\"disabled\\\": false\\r\\n };\\r\\n propObj.extend = obj;\\r\\n radioArr.push(propObj);\\r\\n }\\r\\n }\\r\\n myPropObj = {\\r\\n \\\"label\\\": \\\"select\\\",\\r\\n \\\"title\\\": formArr[j].busiDesc,\\r\\n \\\"busiId\\\": formArr[j].busiId,\\r\\n \\\"prop\\\": formArr[j].busiId\\r\\n }\\r\\n myRadioArr = radioArr;\\r\\n\\r\\n } else if (formArr[j].busiType == \\\"radio\\\") {\\r\\n let radioArr = [];\\r\\n if(formArr[j].busiExplain&&formArr[j].busiExplain!=\\\"\\\"){\\r\\n console.log(formArr[j].busiExplain);\\r\\n let radioArrProp = eval('(' + formArr[j].busiExplain + ')');\\r\\n if(formArr[j].busiExplain!=\\\"\\\"){\\r\\n for (let prop in radioArrProp) {\\r\\n let propObj = {};\\r\\n propObj.label = prop;\\r\\n propObj.value = radioArrProp[prop];\\r\\n let obj = {\\r\\n \\\"size\\\": \\\"\\\",\\r\\n \\\"disabled\\\": false\\r\\n };\\r\\n propObj.extend = obj;\\r\\n radioArr.push(propObj);\\r\\n }\\r\\n }\\r\\n }\\r\\n myPropObj = {\\r\\n \\\"label\\\": \\\"select\\\",\\r\\n \\\"title\\\": formArr[j].busiDesc,\\r\\n \\\"busiId\\\": formArr[j].busiId,\\r\\n \\\"prop\\\": formArr[j].busiId\\r\\n }\\r\\n myRadioArr = radioArr;\\r\\n }else if (formArr[j].busiType == \\\"checkboxMultiple\\\") {\\r\\n let radioArr = [];\\r\\n if(formArr[j].busiExplain&&formArr[j].busiExplain!=\\\"\\\"){\\r\\n console.log(formArr[j].busiExplain);\\r\\n let radioArrProp = eval('(' + formArr[j].busiExplain + ')');\\r\\n if(formArr[j].busiExplain!=\\\"\\\"){\\r\\n for (let prop in radioArrProp) {\\r\\n let propObj = {};\\r\\n propObj.label = prop;\\r\\n propObj.value = radioArrProp[prop];\\r\\n let obj = {\\r\\n \\\"size\\\": \\\"\\\",\\r\\n \\\"disabled\\\": false\\r\\n };\\r\\n propObj.extend = obj;\\r\\n radioArr.push(propObj);\\r\\n }\\r\\n }\\r\\n }\\r\\n myPropObj = {\\r\\n \\\"label\\\": \\\"checkboxMultiple\\\",\\r\\n \\\"title\\\": formArr[j].busiDesc,\\r\\n \\\"busiId\\\": formArr[j].busiId,\\r\\n \\\"prop\\\": formArr[j].busiId\\r\\n }\\r\\n myRadioArr = radioArr;\\r\\n } else if (formArr[j].busiType == \\\"checkboxMultipleRadio\\\") {\\r\\n let radioArr = [];\\r\\n if(formArr[j].busiExplain&&formArr[j].busiExplain!=\\\"\\\"){\\r\\n console.log(formArr[j].busiExplain);\\r\\n let radioArrProp = eval('(' + formArr[j].busiExplain + ')');\\r\\n if(formArr[j].busiExplain!=\\\"\\\"){\\r\\n for (let prop in radioArrProp) {\\r\\n let propObj = {};\\r\\n propObj.label = prop;\\r\\n propObj.value = radioArrProp[prop];\\r\\n let obj = {\\r\\n \\\"size\\\": \\\"\\\",\\r\\n \\\"disabled\\\": false\\r\\n };\\r\\n propObj.extend = obj;\\r\\n radioArr.push(propObj);\\r\\n }\\r\\n }\\r\\n }\\r\\n myPropObj = {\\r\\n \\\"label\\\": \\\"checkboxMultipleRadio\\\",\\r\\n \\\"title\\\": formArr[j].busiDesc,\\r\\n \\\"busiId\\\": formArr[j].busiId,\\r\\n \\\"prop\\\": formArr[j].busiId\\r\\n }\\r\\n myRadioArr = radioArr;\\r\\n } else if (formArr[j].busiType == \\\"date-picker-daterange\\\") {\\r\\n myPropObj = {\\r\\n \\\"label\\\": \\\"date\\\",\\r\\n \\\"title\\\": formArr[j].busiDesc,\\r\\n \\\"busiId\\\": formArr[j].busiId\\r\\n }\\r\\n }else if(formArr[j].busiType==\\\"endDateChoose\\\"||formArr[j].busiType==\\\"plate-input\\\"||formArr[j].busiType==\\\"select-input\\\"||formArr[j].busiType==\\\"budongchan\\\"){\\r\\n myPropObj={\\r\\n \\\"busiId\\\":formArr[j].busiId,\\r\\n \\\"title\\\": formArr[j].busiDesc,\\r\\n \\\"prop\\\": formArr[j].busiId\\r\\n }\\r\\n myGaeaKey=\\\"gaea-\\\"+formArr[j].busiType;\\r\\n myType=formArr[j].busiType;\\r\\n }\\r\\n else if (formArr[j].busiType == \\\"date-picker\\\") {\\r\\n myPropObj = {\\r\\n \\\"title\\\": formArr[j].busiDesc,\\r\\n \\\"prop\\\": formArr[j].busiId,\\r\\n \\\"busiId\\\": formArr[j].busiId\\r\\n }\\r\\n } else {\\r\\n myPropObj = {\\r\\n \\\"title\\\": formArr[j].busiDesc,\\r\\n \\\"prop\\\": formArr[j].busiId,\\r\\n \\\"busiId\\\": formArr[j].busiId\\r\\n }\\r\\n }\\r\\n let formProp = [\\r\\n \\\"gaea_instance_cell-child_\\\" + countFormInstance + \\\"001\\\" + j,\\r\\n {\\r\\n \\\"gaeaKey\\\": \\\"gaea-cell-child\\\",\\r\\n \\\"data\\\": {\\r\\n \\\"__setting__\\\": null,\\r\\n \\\"__crrtInstanceInfo__\\\": null,\\r\\n \\\"text\\\": \\\"input\\\",\\r\\n \\\"styles\\\": {\\r\\n \\\"height\\\": \\\"40px\\\",\\r\\n \\\"width\\\": \\\"100px\\\",\\r\\n \\\"margin\\\": \\\"10px\\\"\\r\\n },\\r\\n \\\"type\\\": \\\"label\\\",\\r\\n \\\"model1\\\": \\\"\\\",\\r\\n \\\"level\\\": 3,\\r\\n \\\"validateArr\\\": [],\\r\\n \\\"radioArr\\\": myRadioArr,\\r\\n \\\"property\\\": myPropObj,\\r\\n \\\"width\\\": 320,\\r\\n \\\"extend\\\": {\\r\\n \\\"itemWidth\\\": 320,\\r\\n \\\"placeholder\\\": \\\"\\\",\\r\\n \\\"maxlength\\\": \\\"220\\\",\\r\\n \\\"eventType\\\": \\\"\\\",\\r\\n \\\"rows\\\": 0\\r\\n }\\r\\n },\\r\\n \\\"slots\\\": {},\\r\\n \\\"parentInstanceKey\\\": myCell[0]\\r\\n }\\r\\n ];\\r\\n formPropArr.push(formProp);\\r\\n }\\r\\n }\\r\\n //note\\r\\n }\\r\\n let bottomBox=_this.getBox();\\r\\n bottomBox[0]=\\\"gaea_instance_\\\"+this.randomWord(12,4,4);\\r\\n formPropArr.push(bottomBox);\\r\\n formPropArr.push(_this.getInfoAttachment(bottomBox[0]));\\r\\n formPropArr=[...formPropArr,..._this.getButtonOprator(res.buttons!=\\\"\\\"||[])];\\r\\n debugger;\\r\\n _this.localInstance=formPropArr;\\r\\n _this.delayExcute(0);\\r\\n });\\r\\n /**/\\r\\n },\\r\\n //note 加载服务器表单数据\\r\\n\\r\\n //note 初始化formtable key\\r\\n initFormTableKey(formTableKey){\\r\\n //note 如果为空或者不存在,设置一个\\r\\n let arr=[];\\r\\n if(localStorage.formTableKey&&localStorage.formTableKey!=null){\\r\\n arr=eval('('+localStorage.formTableKey+')');\\r\\n }\\r\\n arr.push(formTableKey)\\r\\n localStorage.formTableKey=JSON.stringify(arr);\\r\\n },\\r\\n loadUploadFile(){\\r\\n let countFormTableInstance=1000;\\r\\n let countFormInstance=1111;\\r\\n let arr1=[];\\r\\n let _this=this;\\r\\n let params = {\\r\\n itemStep:localStorage.itemStep,\\r\\n itemNo:localStorage.itemNo\\r\\n };\\r\\n if(this.isLoadedDate){\\r\\n this.$Notice.warning({\\r\\n title: '加载数据',\\r\\n desc: '当前已经创建数据,不能继续创建'\\r\\n });\\r\\n return;\\r\\n }\\r\\n httpLoading.showLoading(\\\"正在加载数据...\\\")\\r\\n Service.selectFormProp(params).then((res) => {\\r\\n debugger;\\r\\n let formPropArr=[];\\r\\n let box=_this.getBox();\\r\\n formPropArr.push(box);\\r\\n formPropArr.push(_this.getStep(box[0],res.steps||[]));\\r\\n formPropArr.push(_this.getTitle(box[0],\\\"上传附件\\\"));\\r\\n formPropArr.push(_this.getUploadFile(box[0]));\\r\\n formPropArr=[...formPropArr,..._this.getButtonOprator(res.buttons||[])];\\r\\n _this.localInstance=formPropArr;\\r\\n _this.delayExcute(0);\\r\\n httpLoading.closeLoading();\\r\\n this.isLoadedDate=true;\\r\\n });\\r\\n },\\r\\n getUploadFile(parentKey){\\r\\n let myPropObj={\\r\\n \\\"type\\\": \\\"noAction\\\"\\r\\n }\\r\\n let uploadFile= [\\r\\n \\\"gaea_instance_241275vax4i\\\",\\r\\n {\\r\\n \\\"gaeaKey\\\": \\\"gaea-table-attach-file\\\",\\r\\n \\\"data\\\": {\\r\\n \\\"__setting__\\\": null,\\r\\n \\\"__crrtInstanceInfo__\\\": null,\\r\\n \\\"level\\\": 2,\\r\\n \\\"property\\\": myPropObj,\\r\\n },\\r\\n \\\"slots\\\": {\\r\\n\\r\\n },\\r\\n \\\"parentInstanceKey\\\": parentKey\\r\\n }\\r\\n ];\\r\\n return uploadFile;\\r\\n },\\r\\n //note 获取随机字符串\\r\\n randomWord(randomFlag, min, max){\\r\\n let str = \\\"\\\",\\r\\n pos=0,\\r\\n range = min,\\r\\n arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];\\r\\n\\r\\n // 随机产生\\r\\n if(randomFlag){\\r\\n range = Math.round(Math.random() * (max-min)) + min;\\r\\n }\\r\\n for(let i=0; i<range; i++){\\r\\n pos = Math.round(Math.random() * (arr.length-1));\\r\\n str += arr[pos];\\r\\n }\\r\\n return str;\\r\\n },\\r\\n\\r\\n initFormLayout(data){\\r\\n console.log(configPageIde);\\r\\n let countFormTableInstance=1000;\\r\\n let countFormInstance=1111;\\r\\n let arr1=[];\\r\\n let _this=this;\\r\\n /* let box=_this.getBox();\\r\\n //note 首先取到box的实例名称\\r\\n let boxInstanceName=box[0];//_this.$store.state.viewport.currentBoxInstanceKey;\\r\\n let formPropArr=[];\\r\\n formPropArr.push(box);\\r\\n let formInstanceName=\\\"gaea_instance_2pvzgbsfhf4\\\";\\r\\n //note 这个有点特殊,要先创建formtable 再创建formtable里面的属性\\r\\n let myForm={};\\r\\n myForm=_this.getForm(boxInstanceName);\\r\\n myForm[0]=\\\"gaea_instance_form_\\\"+_this.randomWord(12,4,4);\\r\\n formPropArr.push(myForm);\\r\\n //note 添加按钮\\r\\n formPropArr=[...formPropArr,..._this.getButtonOprator([])];*/\\r\\n\\r\\n if (localStorage.getItem(\\\"viewType\\\") != null) {\\r\\n //自定义代码\\r\\n localStorage.removeItem(\\\"viewType\\\")\\r\\n }else{\\r\\n\\r\\n }\\r\\n debugger;\\r\\n let formPropArr=[[\\\"gaea_instance_box_IImV\\\",{\\\"gaeaKey\\\":\\\"gaea-box\\\",\\\"data\\\":{\\\"__setting__\\\":null,\\\"__crrtInstanceInfo__\\\":null,\\\"styles\\\":{\\\"width\\\":\\\"100%\\\",\\\"height\\\":\\\"100%\\\",\\\"border\\\":\\\"0px\\\",\\\"backgroundColor\\\":\\\"#FFFFFF\\\",\\\"margin\\\":\\\"0px\\\"},\\\"level\\\":1,\\\"property\\\":{\\\"validator\\\":false,\\\"model\\\":\\\"\\\",\\\"minRows\\\":2,\\\"disableDelRows\\\":2,\\\"btnMsg\\\":\\\"\\\"},\\\"extend\\\":{\\\"span\\\":17,\\\"labelWidth\\\":222}},\\\"slots\\\":{\\\"default\\\":[\\\"gaea_instance_form_53Io\\\"]},\\\"parentInstanceKey\\\":\\\"gaea_instance_1\\\",\\\"preGaeaKey\\\":null}],[\\\"gaea_instance_form_53Io\\\",{\\\"gaeaKey\\\":\\\"gaea-form\\\",\\\"data\\\":{\\\"__setting__\\\":null,\\\"__crrtInstanceInfo__\\\":null,\\\"styles\\\":{\\\"width\\\":\\\"100%\\\",\\\"height\\\":\\\"100%\\\",\\\"border\\\":\\\"0px\\\",\\\"backgroundColor\\\":\\\"#fff\\\"},\\\"type\\\":\\\"form\\\",\\\"title\\\":\\\"Form\\\",\\\"level\\\":2,\\\"property\\\":{\\\"validator\\\":true,\\\"busiId\\\":\\\"\\\"},\\\"extend\\\":{\\\"span\\\":17,\\\"labelWidth\\\":222,\\\"itemWidth\\\":320,\\\"placeholder\\\":\\\"\\\",\\\"maxlength\\\":\\\"220\\\",\\\"eventType\\\":\\\"\\\",\\\"rows\\\":0,\\\"maxLength\\\":100}},\\\"slots\\\":{\\\"default\\\":[\\\"gaea_instance_1nl3oltonaj\\\",\\\"gaea_instance_13aw5o5b9c3\\\",\\\"gaea_instance_rl2n7u7ilw\\\",\\\"gaea_instance_2e9ptf3knhw\\\",\\\"gaea_instance_fo5ww3hpwb\\\",\\\"gaea_instance_28urawo5lyh\\\",\\\"gaea_instance_vthuhnycgh\\\",\\\"gaea_instance_6bf0wzs2vx\\\",\\\"gaea_instance_2bt3l06er55\\\",\\\"gaea_instance_25svevg5g37\\\"]},\\\"parentInstanceKey\\\":\\\"gaea_instance_box_IImV\\\",\\\"preGaeaKey\\\":null}],[\\\"gaea_instance_1nl3oltonaj\\\",{\\\"gaeaKey\\\":\\\"gaea-input\\\",\\\"data\\\":{\\\"__setting__\\\":null,\\\"__crrtInstanceInfo__\\\":null,\\\"property\\\":{\\\"label\\\":\\\"工单主题\\\",\\\"title\\\":\\\"\\\",\\\"prop\\\":\\\"orderTheme\\\",\\\"busiId\\\":\\\"\\\",\\\"type\\\":\\\"input\\\",\\\"extend\\\":{\\\"placeholder\\\":\\\"请输入工单主题\\\",\\\"itemWidth\\\":320,\\\"maxLength\\\":100},\\\"rules\\\":[{\\\"required\\\":true,\\\"message\\\":\\\"不能为空\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\",\\\"dot\\\":\\\"\\\",\\\"range\\\":0,\\\"unit\\\":\\\"\\\"},{\\\"message\\\":\\\"不能为空\\\",\\\"maxLength\\\":100,\\\"type\\\":\\\"inputLength\\\",\\\"trigger\\\":\\\"blur\\\",\\\"dot\\\":\\\"\\\",\\\"range\\\":0,\\\"unit\\\":\\\"\\\"}]},\\\"extend\\\":{\\\"placeholder\\\":\\\"请输入工单主题\\\",\\\"itemWidth\\\":320,\\\"maxLength\\\":100},\\\"text\\\":\\\"input\\\",\\\"type\\\":\\\"input\\\",\\\"level\\\":4,\\\"validateArr\\\":[{\\\"required\\\":true,\\\"message\\\":\\\"不能为空\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\",\\\"dot\\\":\\\"\\\",\\\"range\\\":0,\\\"unit\\\":\\\"\\\"},{\\\"message\\\":\\\"不能为空\\\",\\\"maxLength\\\":100,\\\"type\\\":\\\"inputLength\\\",\\\"trigger\\\":\\\"blur\\\",\\\"dot\\\":\\\"\\\",\\\"range\\\":0,\\\"unit\\\":\\\"\\\"}]},\\\"slots\\\":{},\\\"parentInstanceKey\\\":\\\"gaea_instance_form_53Io\\\"}],[\\\"gaea_instance_13aw5o5b9c3\\\",{\\\"gaeaKey\\\":\\\"gaea-label\\\",\\\"data\\\":{\\\"__setting__\\\":null,\\\"__crrtInstanceInfo__\\\":null,\\\"property\\\":{\\\"label\\\":\\\"工单类型\\\",\\\"title\\\":\\\"\\\",\\\"prop\\\":\\\"orderType\\\",\\\"busiId\\\":\\\"\\\",\\\"type\\\":\\\"label\\\"},\\\"text\\\":\\\"label\\\",\\\"styles\\\":{\\\"display\\\":\\\"inline-block\\\",\\\"width\\\":\\\"40%\\\",\\\"height\\\":\\\"60px\\\",\\\"lineHeight\\\":\\\"60px\\\",\\\"textAlign\\\":\\\"right\\\",\\\"fontSize\\\":\\\"15px\\\"},\\\"type\\\":\\\"label\\\",\\\"level\\\":4,\\\"validateArr\\\":[{\\\"required\\\":true,\\\"message\\\":\\\"不能为空\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\",\\\"dot\\\":\\\"\\\",\\\"range\\\":0,\\\"unit\\\":\\\"\\\"}],\\\"extend\\\":{\\\"itemWidth\\\":320}},\\\"slots\\\":{},\\\"parentInstanceKey\\\":\\\"gaea_instance_form_53Io\\\"}],[\\\"gaea_instance_rl2n7u7ilw\\\",{\\\"gaeaKey\\\":\\\"gaea-select\\\",\\\"data\\\":{\\\"__setting__\\\":null,\\\"__crrtInstanceInfo__\\\":null,\\\"property\\\":{\\\"label\\\":\\\"紧急程度\\\",\\\"title\\\":\\\"\\\",\\\"prop\\\":\\\"urgencyDegree\\\",\\\"busiId\\\":\\\"\\\",\\\"type\\\":\\\"select\\\",\\\"extend\\\":{\\\"itemWidth\\\":320},\\\"items\\\":[]},\\\"text\\\":\\\"input\\\",\\\"styles\\\":{\\\"height\\\":\\\"40px\\\",\\\"width\\\":\\\"70px\\\",\\\"margin\\\":\\\"10px\\\"},\\\"type\\\":\\\"input\\\",\\\"single\\\":true,\\\"level\\\":4,\\\"isLevel\\\":true,\\\"radioArr\\\":[],\\\"validateArr\\\":[{\\\"required\\\":true,\\\"message\\\":\\\"不能为空\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\",\\\"dot\\\":\\\"\\\",\\\"range\\\":0,\\\"unit\\\":\\\"\\\"}],\\\"extend\\\":{\\\"itemWidth\\\":320}},\\\"slots\\\":{},\\\"parentInstanceKey\\\":\\\"gaea_instance_form_53Io\\\"}],[\\\"gaea_instance_2e9ptf3knhw\\\",{\\\"gaeaKey\\\":\\\"gaea-label\\\",\\\"data\\\":{\\\"__setting__\\\":null,\\\"__crrtInstanceInfo__\\\":null,\\\"property\\\":{\\\"label\\\":\\\"申请单位\\\",\\\"title\\\":\\\"\\\",\\\"prop\\\":\\\"applicantUnit\\\",\\\"busiId\\\":\\\"\\\",\\\"type\\\":\\\"label\\\"},\\\"text\\\":\\\"label\\\",\\\"styles\\\":{\\\"display\\\":\\\"inline-block\\\",\\\"width\\\":\\\"40%\\\",\\\"height\\\":\\\"60px\\\",\\\"lineHeight\\\":\\\"60px\\\",\\\"textAlign\\\":\\\"right\\\",\\\"fontSize\\\":\\\"15px\\\"},\\\"type\\\":\\\"label\\\",\\\"level\\\":4,\\\"validateArr\\\":[{\\\"required\\\":true,\\\"message\\\":\\\"不能为空\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\",\\\"dot\\\":\\\"\\\",\\\"range\\\":0,\\\"unit\\\":\\\"\\\"}],\\\"extend\\\":{\\\"itemWidth\\\":320}},\\\"slots\\\":{},\\\"parentInstanceKey\\\":\\\"gaea_instance_form_53Io\\\"}],[\\\"gaea_instance_fo5ww3hpwb\\\",{\\\"gaeaKey\\\":\\\"gaea-label\\\",\\\"data\\\":{\\\"__setting__\\\":null,\\\"__crrtInstanceInfo__\\\":null,\\\"property\\\":{\\\"label\\\":\\\"申请人\\\",\\\"title\\\":\\\"\\\",\\\"prop\\\":\\\"applicant\\\",\\\"busiId\\\":\\\"\\\",\\\"type\\\":\\\"label\\\"},\\\"text\\\":\\\"label\\\",\\\"styles\\\":{\\\"display\\\":\\\"inline-block\\\",\\\"width\\\":\\\"40%\\\",\\\"height\\\":\\\"60px\\\",\\\"lineHeight\\\":\\\"60px\\\",\\\"textAlign\\\":\\\"right\\\",\\\"fontSize\\\":\\\"15px\\\"},\\\"type\\\":\\\"label\\\",\\\"level\\\":4,\\\"validateArr\\\":[{\\\"required\\\":true,\\\"message\\\":\\\"不能为空\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\",\\\"dot\\\":\\\"\\\",\\\"range\\\":0,\\\"unit\\\":\\\"\\\"}],\\\"extend\\\":{\\\"itemWidth\\\":320}},\\\"slots\\\":{},\\\"parentInstanceKey\\\":\\\"gaea_instance_form_53Io\\\"}],[\\\"gaea_instance_28urawo5lyh\\\",{\\\"gaeaKey\\\":\\\"gaea-label\\\",\\\"data\\\":{\\\"__setting__\\\":null,\\\"__crrtInstanceInfo__\\\":null,\\\"property\\\":{\\\"label\\\":\\\"申请时间\\\",\\\"title\\\":\\\"\\\",\\\"prop\\\":\\\"applicantTime\\\",\\\"busiId\\\":\\\"\\\",\\\"type\\\":\\\"label\\\"},\\\"text\\\":\\\"label\\\",\\\"styles\\\":{\\\"display\\\":\\\"inline-block\\\",\\\"width\\\":\\\"40%\\\",\\\"height\\\":\\\"60px\\\",\\\"lineHeight\\\":\\\"60px\\\",\\\"textAlign\\\":\\\"right\\\",\\\"fontSize\\\":\\\"15px\\\"},\\\"type\\\":\\\"label\\\",\\\"level\\\":4,\\\"validateArr\\\":[{\\\"required\\\":true,\\\"message\\\":\\\"不能为空\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\",\\\"dot\\\":\\\"\\\",\\\"range\\\":0,\\\"unit\\\":\\\"\\\"}],\\\"extend\\\":{\\\"itemWidth\\\":320}},\\\"slots\\\":{},\\\"parentInstanceKey\\\":\\\"gaea_instance_form_53Io\\\"}],[\\\"gaea_instance_vthuhnycgh\\\",{\\\"gaeaKey\\\":\\\"gaea-date-picker\\\",\\\"data\\\":{\\\"__setting__\\\":null,\\\"__crrtInstanceInfo__\\\":null,\\\"property\\\":{\\\"label\\\":\\\"期望完成时间\\\",\\\"title\\\":\\\"\\\",\\\"prop\\\":\\\"expectedTime\\\",\\\"busiId\\\":\\\"\\\",\\\"type\\\":\\\"date-picker\\\",\\\"extend\\\":{\\\"placeholder\\\":\\\"\\\",\\\"itemWidth\\\":320}},\\\"extend\\\":{\\\"placeholder\\\":\\\"\\\",\\\"itemWidth\\\":320},\\\"text\\\":\\\"input\\\",\\\"styles\\\":{},\\\"type\\\":\\\"date-picker\\\",\\\"level\\\":4,\\\"validateArr\\\":[{\\\"required\\\":true,\\\"message\\\":\\\"不能为空\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\",\\\"dot\\\":\\\"\\\",\\\"range\\\":0,\\\"unit\\\":\\\"\\\"}]},\\\"slots\\\":{},\\\"parentInstanceKey\\\":\\\"gaea_instance_form_53Io\\\"}],[\\\"gaea_instance_6bf0wzs2vx\\\",{\\\"gaeaKey\\\":\\\"gaea-textarea\\\",\\\"data\\\":{\\\"__setting__\\\":null,\\\"__crrtInstanceInfo__\\\":null,\\\"property\\\":{\\\"label\\\":\\\"工单描述\\\",\\\"title\\\":\\\"\\\",\\\"prop\\\":\\\"descrip\\\",\\\"busiId\\\":\\\"\\\",\\\"type\\\":\\\"textarea\\\",\\\"extend\\\":{\\\"placeholder\\\":\\\"请输入工单描述\\\",\\\"itemWidth\\\":320,\\\"maxLength\\\":500},\\\"rules\\\":[{\\\"required\\\":true,\\\"message\\\":\\\"不能为空\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\",\\\"dot\\\":\\\"\\\",\\\"range\\\":0,\\\"unit\\\":\\\"\\\"},{\\\"message\\\":\\\"不能为空\\\",\\\"maxLength\\\":500,\\\"type\\\":\\\"inputLength\\\",\\\"trigger\\\":\\\"blur\\\",\\\"dot\\\":\\\"\\\",\\\"range\\\":0,\\\"unit\\\":\\\"\\\"}]},\\\"extend\\\":{\\\"placeholder\\\":\\\"请输入工单描述\\\",\\\"itemWidth\\\":320,\\\"maxLength\\\":500},\\\"myRow\\\":4,\\\"text\\\":\\\"input\\\",\\\"type\\\":\\\"input\\\",\\\"level\\\":4,\\\"validateArr\\\":[{\\\"required\\\":true,\\\"message\\\":\\\"不能为空\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\",\\\"dot\\\":\\\"\\\",\\\"range\\\":0,\\\"unit\\\":\\\"\\\"},{\\\"message\\\":\\\"不能为空\\\",\\\"maxLength\\\":500,\\\"type\\\":\\\"inputLength\\\",\\\"trigger\\\":\\\"blur\\\",\\\"dot\\\":\\\"\\\",\\\"range\\\":0,\\\"unit\\\":\\\"\\\"}]},\\\"slots\\\":{},\\\"parentInstanceKey\\\":\\\"gaea_instance_form_53Io\\\"}],[\\\"gaea_instance_2bt3l06er55\\\",{\\\"gaeaKey\\\":\\\"gaea-upload\\\",\\\"data\\\":{\\\"__setting__\\\":null,\\\"__crrtInstanceInfo__\\\":null,\\\"property\\\":{\\\"label\\\":\\\"附件\\\",\\\"title\\\":\\\"\\\",\\\"prop\\\":\\\"fileList\\\",\\\"busiId\\\":\\\"\\\",\\\"type\\\":\\\"upload\\\",\\\"extend\\\":{\\\"placeholder\\\":\\\"\\\"}},\\\"extend\\\":{\\\"placeholder\\\":\\\"\\\"},\\\"text\\\":\\\"input\\\",\\\"type\\\":\\\"input\\\",\\\"level\\\":4,\\\"validateArr\\\":[{\\\"required\\\":false,\\\"message\\\":\\\"不能为空\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\",\\\"dot\\\":\\\"\\\",\\\"range\\\":0,\\\"unit\\\":\\\"\\\"}]},\\\"slots\\\":{},\\\"parentInstanceKey\\\":\\\"gaea_instance_form_53Io\\\"}],[\\\"gaea_instance_25svevg5g37\\\",{\\\"gaeaKey\\\":\\\"gaea-textarea\\\",\\\"data\\\":{\\\"__setting__\\\":null,\\\"__crrtInstanceInfo__\\\":null,\\\"property\\\":{\\\"label\\\":\\\"备注\\\",\\\"title\\\":\\\"\\\",\\\"prop\\\":\\\"remark\\\",\\\"busiId\\\":\\\"\\\",\\\"type\\\":\\\"textarea\\\",\\\"extend\\\":{\\\"placeholder\\\":\\\"\\\",\\\"itemWidth\\\":320,\\\"maxLength\\\":250},\\\"rules\\\":[{\\\"required\\\":false,\\\"message\\\":\\\"不能为空\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\",\\\"dot\\\":\\\"\\\",\\\"range\\\":0,\\\"unit\\\":\\\"\\\"},{\\\"message\\\":\\\"不能为空\\\",\\\"maxLength\\\":250,\\\"type\\\":\\\"inputLength\\\",\\\"trigger\\\":\\\"blur\\\",\\\"dot\\\":\\\"\\\",\\\"range\\\":0,\\\"unit\\\":\\\"\\\"}]},\\\"extend\\\":{\\\"placeholder\\\":\\\"\\\",\\\"itemWidth\\\":320,\\\"maxLength\\\":250},\\\"myRow\\\":4,\\\"text\\\":\\\"input\\\",\\\"type\\\":\\\"input\\\",\\\"level\\\":4,\\\"validateArr\\\":[{\\\"required\\\":false,\\\"message\\\":\\\"不能为空\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\",\\\"dot\\\":\\\"\\\",\\\"range\\\":0,\\\"unit\\\":\\\"\\\"},{\\\"message\\\":\\\"不能为空\\\",\\\"maxLength\\\":250,\\\"type\\\":\\\"inputLength\\\",\\\"trigger\\\":\\\"blur\\\",\\\"dot\\\":\\\"\\\",\\\"range\\\":0,\\\"unit\\\":\\\"\\\"}]},\\\"slots\\\":{},\\\"parentInstanceKey\\\":\\\"gaea_instance_form_53Io\\\"}]];\\r\\n this.$store.commit('viewport/updateView', {\\r\\n type:data.type\\r\\n });\\r\\n if(data.type==\\\"add\\\"){\\r\\n localStorage.setItem(\\\"viewType\\\",\\\"1\\\");\\r\\n }else if(data.type==\\\"view\\\"){\\r\\n\\r\\n formPropArr=eval('('+data.content+')');\\r\\n localStorage.setItem(\\\"viewType\\\",\\\"2\\\");\\r\\n }else{\\r\\n formPropArr=eval('('+data.content+')');\\r\\n localStorage.setItem(\\\"viewType\\\",\\\"1\\\");\\r\\n }\\r\\n _this.localInstance=formPropArr;\\r\\n if(this.isIE()){\\r\\n setTimeout(()=>{\\r\\n _this.delayExcute(0);\\r\\n },1000)\\r\\n }else{\\r\\n _this.delayExcute(0);\\r\\n }\\r\\n\\r\\n },\\r\\n\\r\\n\\r\\n loadServerFormTable(){\\r\\n //note\\r\\n\\r\\n\\r\\n\\r\\n console.log(configPageIde);\\r\\n let countFormTableInstance=1000;\\r\\n let countFormInstance=1111;\\r\\n let arr1=[];\\r\\n let _this=this;\\r\\n let params = {\\r\\n itemStep:localStorage.itemStep==\\\"\\\"?\\\"1\\\":localStorage.itemStep,\\r\\n itemNo:localStorage.itemNo\\r\\n };\\r\\n if(this.isLoadedDate){\\r\\n this.$Notice.warning({\\r\\n title: '加载数据',\\r\\n desc: '当前已经创建数据,不能继续创建'\\r\\n });\\r\\n return;\\r\\n }\\r\\n httpLoading.showLoading(\\\"正在加载数据...\\\")\\r\\n Service.selectFormProp(params).then((res) => {\\r\\n console.log(res);\\r\\n httpLoading.closeLoading();\\r\\n if(!res){\\r\\n this.isLoadedDate=false;\\r\\n return;\\r\\n }\\r\\n this.isLoadedDate=true;\\r\\n let box=_this.getBox();\\r\\n //note 首先取到box的实例名称\\r\\n let boxInstanceName=box[0];//_this.$store.state.viewport.currentBoxInstanceKey;\\r\\n let formPropArr=[];\\r\\n formPropArr.push(box);\\r\\n formPropArr.push(_this.getStep(boxInstanceName,res.steps||[{\\\"title\\\":\\\"填写资料\\\"},{\\\"title\\\":\\\"上传附件\\\"},{\\\"title\\\":\\\"提交审核\\\"},{\\\"title\\\":\\\"已办结\\\"}]));\\r\\n let formInstanceName=\\\"gaea_instance_2pvzgbsfhf4\\\";\\r\\n //note 这个有点特殊,要先创建formtable 再创建formtable里面的属性\\r\\n //note 这里是创建formtable下面的列\\r\\n for(let propObj in res.prop){\\r\\n let myTitle=_this.getTitle(boxInstanceName,propObj);\\r\\n myTitle[0]=\\\"gaea_instance_22qza4w0c3n\\\"+_this.randomWord(12,4,4);\\r\\n formPropArr.push(myTitle);\\r\\n let formArr=res.prop[propObj];\\r\\n let currentObjStr=JSON.stringify(res.prop[propObj]);\\r\\n let listLength= (currentObjStr.split('List')).length-1;\\r\\n let myForm={};\\r\\n if(formArr.length!=listLength){\\r\\n myForm=_this.getForm(boxInstanceName);\\r\\n myForm[0]=\\\"gaea_instance_form_\\\"+_this.randomWord(12,4,4);\\r\\n formPropArr.push(myForm);\\r\\n }\\r\\n for(let j=0;j<formArr.length;j++) {\\r\\n let fromProp= [];\\r\\n //note 属性对象\\r\\n let myPropObj={\\r\\n\\r\\n }\\r\\n //note 下拉框或者单选框数组\\r\\n let myRadioArr=[];\\r\\n //note 表单校验数组\\r\\n let validateArr=[];\\r\\n //note 工具组件类型\\r\\n let myGaeaKey=\\\"\\\";\\r\\n //note 系统组件类型\\r\\n let myType=\\\"\\\";\\r\\n if (formArr[j].busiType == \\\"List\\\") {\\r\\n let resArr=eval('(' +formArr[j].busiExplain+ ')');\\r\\n for(let prop in resArr){\\r\\n console.log(prop);\\r\\n _this.initFormTableKey(prop);\\r\\n console.log(resArr[prop]);\\r\\n let response=resArr[prop];\\r\\n //note 下拉框或者单选框数组\\r\\n let myFromTableRadioArr = [];\\r\\n //note 工具组件类型\\r\\n let myFromTableGaeaKey = \\\"\\\";\\r\\n //note 系统组件类型\\r\\n let myFromTableType = \\\"\\\";\\r\\n let myFromTablePropObj = {\\r\\n \\\"model\\\": prop,\\r\\n \\\"validator\\\": true,\\r\\n \\\"minRows\\\": 1,\\r\\n \\\"width\\\":1000,\\r\\n \\\"disableDelRows\\\": 1,\\r\\n \\\"btnMsg\\\": \\\"\\\",\\r\\n \\\"placeholder\\\": \\\"\\\",\\r\\n \\\"busiId\\\": \\\"\\\",\\r\\n \\\"title\\\": \\\"\\\",\\r\\n \\\"padding\\\":\\\"0\\\",\\r\\n \\\"align\\\": \\\"center\\\",\\r\\n \\\"type\\\": \\\"select\\\"\\r\\n }\\r\\n let myGaeaKey = \\\"gaea-form-table\\\";\\r\\n let myFormTableInstance= \\\"gaea_instance_\\\" +_this.randomWord(12,4,4)+ countFormTableInstance + j;\\r\\n let formTableProp = [\\r\\n myFormTableInstance ,\\r\\n {\\r\\n \\\"gaeaKey\\\": myGaeaKey,\\r\\n \\\"data\\\": {\\r\\n \\\"__setting__\\\": null,\\r\\n \\\"__crrtInstanceInfo__\\\": null,\\r\\n \\\"text\\\": \\\"input\\\",\\r\\n \\\"styles\\\": {\\r\\n \\\"height\\\": \\\"40px\\\",\\r\\n\\r\\n \\\"width\\\": \\\"100px\\\",\\r\\n \\\"margin\\\": \\\"10px\\\"\\r\\n },\\r\\n \\\"type\\\": \\\"form-table\\\",\\r\\n \\\"model1\\\": \\\"\\\",\\r\\n \\\"level\\\": 2,\\r\\n \\\"property\\\": myFromTablePropObj,\\r\\n \\\"extend\\\": {\\r\\n \\\"itemWidth\\\": 320,\\r\\n \\\"placeholder\\\": \\\"\\\",\\r\\n \\\"eventType\\\": \\\"\\\"\\r\\n }\\r\\n },\\r\\n \\\"slots\\\": {},\\r\\n \\\"parentInstanceKey\\\": boxInstanceName\\r\\n }\\r\\n ];\\r\\n formPropArr.push(formTableProp);\\r\\n //note 再加载form-table 里面的属性\\r\\n for (let i = 0; i < response.length; i++) {\\r\\n //note 属性对象\\r\\n let myPropObj = {}\\r\\n //note 下拉框或者单选框数组\\r\\n let myRadioArr = [];\\r\\n //note 工具组件类型\\r\\n let myFormTableGaeaKey = \\\"\\\";\\r\\n //note 系统组件类型\\r\\n let myFormTablePropType = \\\"\\\";\\r\\n //note 定义数组类型\\r\\n let radioFormTableArr=[];\\r\\n if (response[i].busiTypeName == \\\"select\\\") {\\r\\n //note select\\r\\n console.log(response[i].busiExplain);\\r\\n let radioArrProp=eval('(' + response[i].busiExplain + ')');\\r\\n for(let prop in radioArrProp){\\r\\n let propObj={};\\r\\n propObj.label=prop;\\r\\n propObj.value=radioArrProp[prop];\\r\\n let obj= {\\r\\n \\\"size\\\": \\\"\\\",\\r\\n \\\"disabled\\\": false\\r\\n };\\r\\n propObj.extend=obj;\\r\\n radioFormTableArr.push(propObj);\\r\\n }\\r\\n myPropObj =\\r\\n {\\r\\n \\\"key\\\":response[i].busiName,\\r\\n \\\"title\\\": response[i].busiDesc,\\r\\n \\\"label\\\": \\\"\\\",\\r\\n \\\"busiId\\\": \\\"\\\",\\r\\n \\\"itemsProp\\\": \\\"\\\",\\r\\n \\\"type\\\": \\\"select\\\"\\r\\n }\\r\\n myFormTableGaeaKey = \\\"gaea-table-select\\\";\\r\\n myFormTablePropType = \\\"select\\\";\\r\\n\\r\\n } else if (response[i].busiTypeName == \\\"radio\\\") {\\r\\n //note select\\r\\n console.log(response[i].busiExplain);\\r\\n let radioArrProp=eval('(' + response[i].busiExplain + ')');\\r\\n for(let prop in radioArrProp){\\r\\n let propObj={};\\r\\n propObj.label=prop;\\r\\n propObj.value=radioArrProp[prop];\\r\\n let obj= {\\r\\n \\\"size\\\": \\\"\\\",\\r\\n \\\"disabled\\\": false\\r\\n };\\r\\n propObj.extend=obj;\\r\\n radioFormTableArr.push(propObj);\\r\\n }\\r\\n myPropObj =\\r\\n {\\r\\n \\\"key\\\":response[i].busiName,\\r\\n \\\"title\\\": response[i].busiDesc,\\r\\n \\\"label\\\": \\\"\\\",\\r\\n \\\"busiId\\\": \\\"\\\",\\r\\n \\\"itemsProp\\\": \\\"\\\",\\r\\n \\\"type\\\": \\\"select\\\"\\r\\n }\\r\\n myFormTableGaeaKey = \\\"gaea-table-select\\\";\\r\\n myFormTablePropType = \\\"select\\\";\\r\\n\\r\\n } else if (response[i].busiTypeName == \\\"singleMonth\\\") {\\r\\n myPropObj = {\\r\\n \\\"key\\\":response[i].busiName,\\r\\n \\\"title\\\": response[i].busiDesc,\\r\\n \\\"align\\\": \\\"center\\\",\\r\\n \\\"type\\\": \\\"singleMonth\\\",\\r\\n \\\"placeholder\\\": \\\"\\\",\\r\\n }\\r\\n myFormTableGaeaKey = \\\"gaea-table-single-month\\\";\\r\\n myFormTablePropType = \\\"table-single-month\\\";\\r\\n\\r\\n } else if (response[i].busiTypeName == \\\"singleDate\\\") {\\r\\n myPropObj = {\\r\\n \\\"key\\\":response[i].busiName,\\r\\n \\\"title\\\": response[i].busiDesc,\\r\\n \\\"align\\\": \\\"center\\\",\\r\\n \\\"type\\\": \\\"singleDate\\\",\\r\\n \\\"placeholder\\\": \\\"\\\",\\r\\n }\\r\\n myFormTableGaeaKey = \\\"gaea-table-single-date\\\";\\r\\n myFormTablePropType = \\\"table-date-picker\\\";\\r\\n\\r\\n } else if (response[i].busiTypeName == \\\"dataRange\\\") {\\r\\n myPropObj = {\\r\\n \\\"key\\\":response[i].busiName,\\r\\n \\\"title\\\": response[i].busiDesc,\\r\\n \\\"align\\\": \\\"center\\\",\\r\\n \\\"type\\\": \\\"dataRange\\\",\\r\\n \\\"placeholder\\\": \\\"\\\"\\r\\n }\\r\\n myFormTableGaeaKey = \\\"gaea-table-single-date\\\";\\r\\n myFormTablePropType = \\\"table-date-picker\\\";\\r\\n } else {\\r\\n myPropObj = {\\r\\n \\\"key\\\":response[i].busiName,\\r\\n \\\"title\\\": response[i].busiDesc,\\r\\n \\\"align\\\": \\\"center\\\",\\r\\n \\\"type\\\": \\\"input\\\",\\r\\n \\\"placeholder\\\": \\\"\\\",\\r\\n }\\r\\n myFormTableGaeaKey = \\\"gaea-table-input\\\";\\r\\n myFormTablePropType = \\\"table-input\\\";\\r\\n }\\r\\n let validateArr=[];\\r\\n debugger;\\r\\n if(response[i].rows){\\r\\n let triggerType=\\\"\\\";\\r\\n //note 判断是不是为下拉框,如果为下拉框,触发方式要为change\\r\\n if (response[i].busiTypeName == \\\"select\\\") {\\r\\n triggerType=\\\"change\\\";\\r\\n }\\r\\n //note 如果返回的有校验类型,得组装到我们系统里\\r\\n response[i].rows.forEach(function(value,i){\\r\\n console.log('forEach遍历:'+i+'--'+value);\\r\\n let validateObj={};\\r\\n if(value.ruleName==\\\"require\\\"){\\r\\n //note 校验是否为空\\r\\n validateObj={\\r\\n \\\"required\\\": true,\\r\\n \\\"message\\\": response[i].busiDesc+\\\"不能为空\\\",\\r\\n \\\"type\\\": \\\"\\\",\\r\\n \\\"trigger\\\": triggerType,\\r\\n \\\"dot\\\": \\\"\\\",\\r\\n \\\"range\\\": 0,\\r\\n \\\"unit\\\": \\\"\\\"\\r\\n };\\r\\n }else{\\r\\n //note 匹配其他的格式\\r\\n validateObj={\\r\\n \\\"message\\\":\\\"\\\",\\r\\n \\\"type\\\": value.ruleName,\\r\\n \\\"trigger\\\": triggerType,\\r\\n \\\"dot\\\": \\\"\\\",\\r\\n \\\"range\\\": 0,\\r\\n \\\"unit\\\": \\\"\\\"\\r\\n };\\r\\n }\\r\\n\\r\\n validateArr.push(validateObj);\\r\\n })\\r\\n }\\r\\n\\r\\n let fromTableChildProp = [\\r\\n \\\"gaea_instance_table\\\" +_this.randomWord(12,4,4),\\r\\n {\\r\\n \\\"gaeaKey\\\": myFormTableGaeaKey,\\r\\n \\\"data\\\": {\\r\\n \\\"__setting__\\\": null,\\r\\n \\\"__crrtInstanceInfo__\\\": null,\\r\\n \\\"text\\\": \\\"input\\\",\\r\\n \\\"styles\\\": {\\r\\n \\\"height\\\": \\\"40px\\\",\\r\\n \\\"width\\\": 100,\\r\\n \\\"margin\\\": \\\"10px\\\"\\r\\n },\\r\\n \\\"type\\\": myFormTablePropType,\\r\\n \\\"level\\\": 3,\\r\\n \\\"rules\\\": validateArr,\\r\\n \\\"itemsProp\\\":radioFormTableArr,\\r\\n \\\"radioArr\\\": radioFormTableArr,\\r\\n \\\"property\\\": myPropObj,\\r\\n \\\"extend\\\": {\\r\\n \\\"itemWidth\\\": 320,\\r\\n \\\"placeholder\\\": \\\"\\\",\\r\\n \\\"eventType\\\": \\\"\\\"\\r\\n }\\r\\n },\\r\\n \\\"slots\\\": {},\\r\\n \\\"parentInstanceKey\\\": myFormTableInstance\\r\\n }\\r\\n ];\\r\\n formPropArr.push(fromTableChildProp);\\r\\n }\\r\\n }\\r\\n }\\r\\n else if (formArr[j].busiType == \\\"hide\\\") {\\r\\n\\r\\n } else {\\r\\n //note 扩展属性\\r\\n let extentdObj={\\r\\n\\r\\n };\\r\\n\\r\\n if(formArr[j].busiType==\\\"select\\\"||formArr[j].busiType == \\\"selectLabel\\\"||formArr[j].busiType == \\\"selectLink\\\"){\\r\\n console.log(formArr[j].busiExplain);\\r\\n let radioArr=[];\\r\\n if(formArr[j].busiExplain&&formArr[j].busiExplain!=\\\"\\\"){\\r\\n let radioArrProp=eval('(' + formArr[j].busiExplain + ')');\\r\\n\\r\\n for(let prop in radioArrProp){\\r\\n let propObj={};\\r\\n propObj.label=prop;\\r\\n propObj.value=radioArrProp[prop];\\r\\n let obj= {\\r\\n \\\"size\\\": \\\"\\\",\\r\\n \\\"disabled\\\": false\\r\\n };\\r\\n propObj.extend=obj;\\r\\n radioArr.push(propObj);\\r\\n }\\r\\n }\\r\\n\\r\\n myPropObj={\\r\\n \\\"label\\\": formArr[j].busiDesc,\\r\\n \\\"busiId\\\":formArr[j].busiId,\\r\\n \\\"prop\\\": formArr[j].busiId,\\r\\n \\\"itemsProp\\\": \\\"\\\"\\r\\n }\\r\\n if(formArr[j].busiUrl&&formArr[j].busiUrl!=\\\"\\\"){\\r\\n //note 判断是否有外链地址\\r\\n myPropObj.dynamic.url=formArr[j].busiUrl;\\r\\n myPropObj.dynamic.params=JSON.parse(formArr[j].busiParams);\\r\\n }\\r\\n myRadioArr=radioArr;\\r\\n myGaeaKey=\\\"gaea-\\\"+formArr[j].busiType;\\r\\n myType=formArr[j].busiType;\\r\\n //\\r\\n }else if(formArr[j].busiType==\\\"checkboxMultiple\\\"){\\r\\n let radioArr=[];\\r\\n if(formArr[j].busiExplain&&formArr[j].busiExplain!=\\\"\\\"){\\r\\n console.log(formArr[j].busiExplain);\\r\\n let radioArrProp=eval('(' + formArr[j].busiExplain + ')');\\r\\n for(let prop in radioArrProp){\\r\\n let propObj={};\\r\\n propObj.label=prop;\\r\\n propObj.value=radioArrProp[prop];\\r\\n let obj= {\\r\\n \\\"size\\\": \\\"\\\",\\r\\n \\\"disabled\\\": false\\r\\n };\\r\\n propObj.extend=obj;\\r\\n radioArr.push(propObj);\\r\\n }\\r\\n }\\r\\n myPropObj={\\r\\n \\\"label\\\": formArr[j].busiDesc,\\r\\n \\\"busiId\\\":formArr[j].busiId,\\r\\n \\\"prop\\\": formArr[j].busiId\\r\\n }\\r\\n myRadioArr=radioArr;\\r\\n myGaeaKey=\\\"gaea-checkboxMultiple\\\";\\r\\n myType=\\\"checkboxMultiple\\\"; //label\\r\\n }else if(formArr[j].busiType==\\\"checkboxMultipleRadio\\\"){\\r\\n let radioArr=[];\\r\\n if(formArr[j].busiExplain&&formArr[j].busiExplain!=\\\"\\\"){\\r\\n console.log(formArr[j].busiExplain);\\r\\n let radioArrProp=eval('(' + formArr[j].busiExplain + ')');\\r\\n for(let prop in radioArrProp){\\r\\n let propObj={};\\r\\n propObj.label=prop;\\r\\n propObj.value=radioArrProp[prop];\\r\\n let obj= {\\r\\n \\\"size\\\": \\\"\\\",\\r\\n \\\"disabled\\\": false\\r\\n };\\r\\n propObj.extend=obj;\\r\\n radioArr.push(propObj);\\r\\n }\\r\\n }\\r\\n myPropObj={\\r\\n \\\"label\\\": formArr[j].busiDesc,\\r\\n \\\"busiId\\\":formArr[j].busiId,\\r\\n \\\"prop\\\": formArr[j].busiId\\r\\n }\\r\\n myRadioArr=radioArr;\\r\\n myGaeaKey=\\\"gaea-checkboxMultipleRadio\\\";\\r\\n myType=\\\"checkboxMultipleRadio\\\";\\r\\n //label\\r\\n }else if(formArr[j].busiType==\\\"radio\\\"){\\r\\n let radioArr=[];\\r\\n if(formArr[j].busiExplain&&formArr[j].busiExplain!=\\\"\\\"){\\r\\n console.log(formArr[j].busiExplain);\\r\\n let radioArrProp=eval('(' + formArr[j].busiExplain + ')');\\r\\n for(let prop in radioArrProp){\\r\\n let propObj={};\\r\\n propObj.label=prop;\\r\\n propObj.value=radioArrProp[prop];\\r\\n let obj= {\\r\\n \\\"size\\\": \\\"\\\",\\r\\n \\\"disabled\\\": false\\r\\n };\\r\\n propObj.extend=obj;\\r\\n radioArr.push(propObj);\\r\\n }\\r\\n }\\r\\n myPropObj={\\r\\n \\\"label\\\": formArr[j].busiDesc,\\r\\n \\\"busiId\\\":formArr[j].busiId,\\r\\n \\\"prop\\\": formArr[j].busiId\\r\\n }\\r\\n myRadioArr=radioArr;\\r\\n myGaeaKey=\\\"gaea-radio\\\";\\r\\n myType=\\\"radio\\\"; //label\\r\\n }else if(formArr[j].busiType==\\\"label\\\"||formArr[j].busiType==\\\"timeLabel\\\"){\\r\\n myPropObj={\\r\\n \\\"label\\\": formArr[j].busiDesc,\\r\\n \\\"busiId\\\":formArr[j].busiId,\\r\\n \\\"prop\\\": formArr[j].busiId\\r\\n }\\r\\n myGaeaKey=\\\"gaea-\\\"+formArr[j].busiType;\\r\\n myType=formArr[j].busiType;\\r\\n }else if(formArr[j].busiType==\\\"date-picker-daterange\\\"){\\r\\n myPropObj={\\r\\n \\\"label\\\": formArr[j].busiDesc,\\r\\n \\\"busiId\\\":formArr[j].busiId,\\r\\n \\\"prop\\\": formArr[j].busiId\\r\\n }\\r\\n myGaeaKey=\\\"gaea-date-picker-daterange\\\";\\r\\n myType=\\\"date-picker-daterange\\\";\\r\\n\\r\\n }else if(formArr[j].busiType==\\\"endDateChoose\\\"||formArr[j].busiType==\\\"plate-input\\\"||formArr[j].busiType==\\\"select-input\\\"||formArr[j].busiType==\\\"budongchan\\\"){\\r\\n myPropObj={\\r\\n \\\"label\\\": formArr[j].busiDesc,\\r\\n \\\"busiId\\\":formArr[j].busiId,\\r\\n \\\"prop\\\": formArr[j].busiId\\r\\n }\\r\\n myGaeaKey=\\\"gaea-\\\"+formArr[j].busiType;\\r\\n myType=formArr[j].busiType;\\r\\n }else if(formArr[j].busiType==\\\"inputIDCard\\\"){\\r\\n myPropObj={\\r\\n \\\"label\\\": formArr[j].busiDesc,\\r\\n \\\"busiId\\\":formArr[j].busiId,\\r\\n \\\"prop\\\": formArr[j].busiId\\r\\n }\\r\\n extentdObj={\\r\\n \\\"birthdayKey\\\":formArr[j].busiId\\r\\n };\\r\\n myGaeaKey=\\\"gaea-\\\"+formArr[j].busiType;\\r\\n myType=formArr[j].busiType;\\r\\n }else if(formArr[j].busiType==\\\"date-picker\\\"){\\r\\n myPropObj={\\r\\n \\\"label\\\": formArr[j].busiDesc,\\r\\n \\\"busiId\\\":formArr[j].busiId,\\r\\n \\\"prop\\\": formArr[j].busiId\\r\\n }\\r\\n myGaeaKey=\\\"gaea-date-picker\\\";\\r\\n myType=\\\"date-picker\\\";\\r\\n extentdObj={\\r\\n\\r\\n \\\"itemWidth\\\": 320,\\r\\n \\\"options\\\": {\\r\\n \\\"disabledDate\\\": \\\"beforeToday\\\"\\r\\n }\\r\\n };\\r\\n }else{\\r\\n myPropObj={\\r\\n \\\"label\\\": formArr[j].busiDesc,\\r\\n \\\"busiId\\\":formArr[j].busiId,\\r\\n \\\"prop\\\": formArr[j].busiId\\r\\n }\\r\\n myGaeaKey=\\\"gaea-input\\\";\\r\\n myType=\\\"input\\\";\\r\\n }\\r\\n\\r\\n\\r\\n\\r\\n let validateArr=[];\\r\\n if(formArr[j].rows){\\r\\n let triggerType=\\\"\\\";\\r\\n //note 判断是不是为下拉框,如果为下拉框,触发方式要为change\\r\\n if (formArr[j].busiType == \\\"select\\\") {\\r\\n triggerType=\\\"change\\\";\\r\\n }\\r\\n //note 如果返回的有校验类型,得组装到我们系统里\\r\\n formArr[j].rows.forEach(function(value,i){\\r\\n console.log('forEach遍历:'+i+'--'+value);\\r\\n let validateObj={};\\r\\n if(value.ruleName==\\\"require\\\"){\\r\\n //note 校验是否为空\\r\\n validateObj={\\r\\n \\\"required\\\": true,\\r\\n \\\"message\\\": formArr[j].busiDesc+\\\"不能为空\\\",\\r\\n \\\"type\\\": \\\"\\\",\\r\\n \\\"trigger\\\": triggerType,\\r\\n \\\"dot\\\": \\\"\\\",\\r\\n \\\"range\\\": 0,\\r\\n \\\"unit\\\": \\\"\\\"\\r\\n };\\r\\n }else{\\r\\n //note 匹配其他的格式\\r\\n validateObj={\\r\\n \\\"message\\\":\\\"\\\",\\r\\n \\\"type\\\": value.ruleName,\\r\\n \\\"trigger\\\": triggerType,\\r\\n \\\"dot\\\": \\\"\\\",\\r\\n \\\"range\\\": 0,\\r\\n \\\"unit\\\": \\\"\\\"\\r\\n };\\r\\n }\\r\\n\\r\\n validateArr.push(validateObj);\\r\\n })\\r\\n }\\r\\n\\r\\n /* if(formArr[j].ruleType==\\\"2\\\"){\\r\\n //note 3是校验 2不校验\\r\\n validateArr=[{\\r\\n \\\"required\\\": true,\\r\\n \\\"message\\\": formArr[j].busiDesc+\\\"不能为空\\\",\\r\\n \\\"type\\\": \\\"\\\",\\r\\n \\\"trigger\\\": \\\"\\\",\\r\\n \\\"dot\\\": \\\"\\\",\\r\\n \\\"range\\\": 0,\\r\\n \\\"unit\\\": \\\"\\\"\\r\\n }]\\r\\n }else if(formArr[j].ruleType==\\\"3\\\"){\\r\\n //note 3是校验 否则不校验\\r\\n validateArr=[{\\r\\n \\\"required\\\": true,\\r\\n \\\"message\\\": formArr[j].busiDesc+\\\"不能为空\\\",\\r\\n \\\"type\\\": \\\"\\\",\\r\\n \\\"trigger\\\": \\\"\\\",\\r\\n \\\"dot\\\": \\\"\\\",\\r\\n \\\"range\\\": 0,\\r\\n \\\"unit\\\": \\\"\\\"\\r\\n }]\\r\\n }\\r\\n*/\\r\\n if(myGaeaKey&&myGaeaKey!=\\\"\\\"){\\r\\n let formProp= [\\r\\n \\\"gaea_instance_\\\"+_this.randomWord(12,4,4),\\r\\n {\\r\\n \\\"gaeaKey\\\": myGaeaKey,\\r\\n \\\"data\\\": {\\r\\n \\\"__setting__\\\": null,\\r\\n \\\"__crrtInstanceInfo__\\\": null,\\r\\n \\\"text\\\": \\\"input\\\",\\r\\n \\\"styles\\\": {\\r\\n \\\"height\\\": \\\"40px\\\",\\r\\n \\\"width\\\": \\\"100px\\\",\\r\\n \\\"margin\\\": \\\"10px\\\"\\r\\n },\\r\\n \\\"type\\\": myType,\\r\\n \\\"model1\\\": \\\"\\\",\\r\\n \\\"level\\\": 3,\\r\\n \\\"validateArr\\\": validateArr,\\r\\n \\\"radioArr\\\": myRadioArr,\\r\\n \\\"property\\\": myPropObj,\\r\\n \\\"width\\\":200,\\r\\n \\\"extend\\\": extentdObj\\r\\n },\\r\\n \\\"slots\\\": {\\r\\n },\\r\\n \\\"parentInstanceKey\\\": myForm[0]\\r\\n }\\r\\n ];\\r\\n formPropArr.push(formProp);\\r\\n }\\r\\n\\r\\n }\\r\\n }\\r\\n }\\r\\n\\r\\n //note 添加按钮\\r\\n formPropArr=[...formPropArr,..._this.getButtonOprator(res.buttons||[])];\\r\\n debugger;\\r\\n _this.localInstance=formPropArr;\\r\\n _this.delayExcute(0);\\r\\n\\r\\n });\\r\\n\\r\\n /**/\\r\\n },\\r\\n initLocalInstance(){\\r\\n //note 弹出一个层,把历史模板有一个表格,和搜索\\r\\n this.showModal = true;\\r\\n this.modalTitle=\\\"选择模板\\\";\\r\\n this.$router.push({path: '/selectTemplate'})\\r\\n /* this.$store.commit('viewport/deleteLevel1Data', {\\r\\n\\r\\n });*/\\r\\n },\\r\\n delayExcute(i){\\r\\n\\r\\n if(this.isIE()){\\r\\n setTimeout(()=>{\\r\\n this.updateInstance(i);\\r\\n },200);\\r\\n }else{\\r\\n setTimeout(()=>{\\r\\n this.updateInstance(i);\\r\\n },2);\\r\\n }\\r\\n\\r\\n },\\r\\n updateInstance(j){\\r\\n let _this=this;\\r\\n if(j==this.localInstance.length){\\r\\n //note 最后一个,需要显示数据\\r\\n this.showData();\\r\\n }\\r\\n for(let key=0;key<this.localInstance.length;key++){\\r\\n if(key==j){\\r\\n let val=this.localInstance[key][1];\\r\\n // val.data.property.value=val.data.property.label;\\r\\n j++;\\r\\n let info={\\r\\n newInstanceKey:this.localInstance[key][0],\\r\\n gaeaKey:val.gaeaKey,\\r\\n parentInstanceKey:val.parentInstanceKey,\\r\\n // indexPosition: 0,\\r\\n preGaeaKey: null,\\r\\n slotName:\\\"default\\\",\\r\\n data:val.data\\r\\n };\\r\\n _this.commitAddInstance(info);\\r\\n _this.delayExcute(j);\\r\\n break;\\r\\n }\\r\\n }\\r\\n\\r\\n },\\r\\n commitAddInstance(newInfo){\\r\\n //createInstanceEle\\r\\n this.$store.commit('viewport/addInstance', {\\r\\n newInstanceKey:newInfo.newInstanceKey,\\r\\n gaeaKey: newInfo.gaeaKey,\\r\\n data:newInfo.data,\\r\\n parentInstanceKey:newInfo.parentInstanceKey,\\r\\n indexPosition: 0,\\r\\n preGaeaKey: newInfo.preGaeaKey,\\r\\n slotName:newInfo.slotName,\\r\\n cb: newInstanceKey => {\\r\\n if (this.__handleDragAdd__) {\\r\\n // e --event parentInstanceKey --父instanceKey gaeaKey -->component type\\r\\n // newInstanceKey -> new instace Key\\r\\n this.__handleDragAdd__.call(this, null,newInfo.data, newInfo.parentInstanceKey, newInfo.gaeaKey, newInstanceKey, newInfo.slotName);\\r\\n }\\r\\n }\\r\\n });\\r\\n },\\r\\n __handleDragAdd__ (e, data,parentInstanceKey, gaeaKey, instanceKey, slotName) {\\r\\n\\r\\n let _parentInstance = this\\r\\n .$store\\r\\n .state\\r\\n .viewport\\r\\n .instances\\r\\n .get(parentInstanceKey);\\r\\n let componentClass = this\\r\\n .$store\\r\\n .state\\r\\n .application\\r\\n .componentClasses\\r\\n .get(gaeaKey);\\r\\n let crrtInstance = this\\r\\n .$store\\r\\n .state\\r\\n .viewport\\r\\n .instances\\r\\n .get(instanceKey);\\r\\n crrtInstance.vm = this;\\r\\n mountSlot(_parentInstance.vm,function(){return data}, componentClass, 'default', instanceKey, this.$store,{isInsert:false});\\r\\n },\\r\\n gotoConfig(){\\r\\n this.showModal = true;\\r\\n this.$router.push({path: '/globalSetting'})\\r\\n },\\r\\n deleteCache(){\\r\\n debugger;\\r\\n //localStorage.removeItem('formTableKey'); localStorage.tableProp\\r\\n //note 保存成功之后要清空缓存 并设置到下一步\\r\\n if(localStorage.itemStep!=\\\"5\\\"){\\r\\n //note 代表不是最后一步\\r\\n let itemStep=parseInt(localStorage.itemStep)+1;\\r\\n localStorage.itemStep=itemStep;\\r\\n this.currentStep=itemStep+\\\"\\\";\\r\\n this.$store.commit('viewport/deleteLevel1Data',{});\\r\\n }else{\\r\\n this.$router.push({name: 'selectTemplate',params:{ }});\\r\\n }\\r\\n },\\r\\n gotoHelp(){\\r\\n window.open(\\\"http://39.107.55.84:8080/rules/procceds-ide/\\\")\\r\\n },\\r\\n initUI(itemStep){\\r\\n debugger;\\r\\n let _this=this;\\r\\n debugger;\\r\\n /*localStorage.status=\\\"1\\\";\\r\\n localStorage.itemStep=\\\"2\\\";*/\\r\\n /* if(localStorage.status!=\\\"1\\\"){\\r\\n //note 表示是新增,还没有任何操作,否则就是编辑状态\\r\\n this.currentStep=\\\"1\\\";\\r\\n }else{\\r\\n this.currentStep=itemStep;\\r\\n }*/\\r\\n let formPropParams = {\\r\\n itemStep:itemStep,\\r\\n itemNo:localStorage.itemNo\\r\\n };\\r\\n Service.selectFormProp(formPropParams).then((res) => {\\r\\n localStorage.propInfo=JSON.stringify(res);//note 存储后台返回的表单字段\\r\\n });\\r\\n console.log(localStorage.itemNo);\\r\\n //note 只有第一步才请求,否则直接跳过\\r\\n if(itemStep!=\\\"1\\\"){\\r\\n this.showServerForm=false;\\r\\n this.showBaseInfoForm=true;\\r\\n }else{\\r\\n this.showServerForm=true;\\r\\n this.showBaseInfoForm=false;\\r\\n }\\r\\n console.log(localStorage.status);\\r\\n //note 如果状态为1 代表已经创建,请求后台数据把表单数据加载,否则为没有创建\\r\\n\\r\\n if(localStorage.status==\\\"1\\\"){\\r\\n let params = {\\r\\n itemNo:localStorage.itemNo,\\r\\n itemStep:localStorage.itemStep,\\r\\n jsonType:1\\r\\n };\\r\\n Service.selectTemplateInfo(params).then((res) => {\\r\\n // note 调用删除方法(但是从列表跳转过来的,就不需要删除,直接创建),清空页面,把查询到的模板内容赋值到页面\\r\\n debugger;\\r\\n if(typeof (res)==\\\"undefined\\\"){\\r\\n return;\\r\\n }\\r\\n let instances= this.$store.state.viewport.instances;\\r\\n instances= [...instances];\\r\\n let localInstance= eval('(' + res.jsonStr + ')');//this.$store.state.viewport.localInstances;\\r\\n let str=JSON.stringify(localInstance);\\r\\n // localInstance=str;\\r\\n localInstance= [...instances,...localInstance];\\r\\n this.localInstance=localInstance;\\r\\n this.delayExcute(1);\\r\\n });\\r\\n let paramsJson = {\\r\\n itemNo:localStorage.itemNo,\\r\\n itemStep:itemStep,\\r\\n jsonType:2\\r\\n };\\r\\n Service.selectTemplateInfo(paramsJson).then((res) => {\\r\\n if(typeof (res)==\\\"undefined\\\"){\\r\\n this.isLoadedDate=false;\\r\\n return;\\r\\n }\\r\\n this.isLoadedDate=true;\\r\\n // note 调用删除方法(但是从列表跳转过来的,就不需要删除,直接创建),清空页面,把查询到的模板内容赋值到页面\\r\\n let localInstance= eval('(' + res.jsonStr + ')');\\r\\n if(localInstance.data.page.fullModel.templateCache){\\r\\n localStorage.setItem(\\\"page\\\",JSON.stringify(localInstance.data.page));\\r\\n let templateCache=localInstance.data.page.fullModel.templateCache;\\r\\n if(templateCache.tableArr){\\r\\n let tableArr=JSON.stringify(templateCache.tableArr);\\r\\n localStorage.setItem(\\\"tableArr\\\",tableArr);\\r\\n }\\r\\n if(templateCache.selectArr){\\r\\n let selectArr=JSON.stringify(templateCache.selectArr);\\r\\n localStorage.setItem(\\\"selectArr\\\",selectArr);\\r\\n }\\r\\n }\\r\\n //note 加载完数据 将步骤重新赋值\\r\\n _this.currentStep=localStorage.itemStep;\\r\\n /* let formInline=JSON.stringify(this.formInline);\\r\\n localStorage.setItem(\\\"formInline\\\",formInline);*/\\r\\n });\\r\\n }else{\\r\\n localStorage.setItem(\\\"tableArr\\\",\\\"[]\\\");\\r\\n //localStorage.setItem(\\\"selectArr\\\",\\\"[]\\\");\\r\\n }\\r\\n }\\r\\n\\r\\n },\\r\\n mounted(){\\r\\n\\r\\n },\\r\\n created(){\\r\\n let _this=this;\\r\\n debugger;\\r\\n //alert(this.$store.state.viewport);\\r\\n eventbus.$on(\\\"openSuccDialog\\\", () => {\\r\\n this.$Modal.success({\\r\\n title: \\\"友情提示\\\",\\r\\n content: \\\"保存模板和事项JSON成功\\\",\\r\\n onOk(){\\r\\n //note 保存成功时候要清空全局设置的换成\\r\\n _this.deleteCache();\\r\\n\\r\\n // _this.$router.push({name: 'selectTemplate',params:{ }});\\r\\n }\\r\\n });\\r\\n });\\r\\n Bus.$on(\\\"closeConfig\\\", () => {\\r\\n debugger;\\r\\n this.showModal = false;\\r\\n });\\r\\n eventbus.$on(\\\"addMoveInstance\\\", (data) => {\\r\\n\\r\\n let val=data;\\r\\n let info={\\r\\n newInstanceKey:val.key,\\r\\n gaeaKey:val.gaeaKey,\\r\\n parentInstanceKey:val.parentInstanceKey,\\r\\n indexPosition: 0,\\r\\n preGaeaKey: null,\\r\\n slotName:\\\"default\\\",\\r\\n data:val.data\\r\\n };\\r\\n _this.commitAddInstance(info);\\r\\n });\\r\\n eventbus.$on(\\\"initTemplateInstance\\\", (data) => {\\r\\n\\r\\n // setTimeout(()=>{\\r\\n if(localStorage.itemStep==\\\"\\\"){\\r\\n this.initUI(\\\"1\\\");\\r\\n }else{\\r\\n this.initUI(localStorage.itemStep);\\r\\n }\\r\\n // },3000);\\r\\n //_this.initTemplateInstance();\\r\\n });\\r\\n eventbus.$on(\\\"showTemplateType\\\", (data) => {\\r\\n this.initFormLayout(data);\\r\\n // setTimeout(()=>{\\r\\n\\r\\n // },3000);\\r\\n //_this.initTemplateInstance();\\r\\n });\\r\\n },\\r\\n destroyed() {\\r\\n debugger;\\r\\n eventbus.$off('showTemplateType');\\r\\n eventbus.$off('closeConfig');\\r\\n eventbus.$off('initTemplateInstance');\\r\\n }\\r\\n };\\r\\n</script>\\r\\n\\r\\n<style >\\r\\n .ivu-modal-fullscreen {\\r\\n width: 100%!important;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n position: absolute;\\r\\n }\\r\\n .ivu-modal-fullscreen .ivu-modal-content {\\r\\n width: 100%;\\r\\n border-radius: 0;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n }\\r\\n .ivu-modal-fullscreen .ivu-modal-footer {\\r\\n position: absolute;\\r\\n width: 100%;\\r\\n bottom: 0;\\r\\n }\\r\\n .indexDivs{\\r\\n padding:0px 4px;\\r\\n height: 100%;\\r\\n line-height: 40px;\\r\\n }\\r\\n .indexDivs:hover{\\r\\n background-color: white;\\r\\n color: #333;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9nbG9iYWwtc2V0dGluZ3MvaW5kZXgudnVlP2ZkNTEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLDRCQUE0Qiw0QkFBNEIsYUFBYSxnQkFBZ0IseUJBQXlCLEdBQUcsNENBQTRDLGtCQUFrQix1QkFBdUIseUJBQXlCLGFBQWEsZ0JBQWdCLEdBQUcsMkNBQTJDLHlCQUF5QixrQkFBa0IsZ0JBQWdCLEdBQUcsYUFBYSxzQkFBc0IsbUJBQW1CLHdCQUF3QixHQUFHLG1CQUFtQiw4QkFBOEIsa0JBQWtCLEdBQUcsVUFBVSxpTEFBaUwsT0FBTyxXQUFXLFVBQVUsVUFBVSxXQUFXLEtBQUssS0FBSyxVQUFVLFdBQVcsV0FBVyxVQUFVLFVBQVUsS0FBSyxLQUFLLFdBQVcsVUFBVSxVQUFVLEtBQUssS0FBSyxXQUFXLFVBQVUsV0FBVyxLQUFLLEtBQUssV0FBVyxVQUFVLHVUQUF1VCxRQUFRLCtHQUErRyxJQUFJLGdCQUFnQixRQUFRLG1LQUFtSyxJQUFJLG8zQkFBbzNCLGNBQWMseVNBQXlTLHNEQUFzRCxnQkFBZ0IsVUFBVSw0QkFBNEIsMkRBQTJELDREQUE0RCx3QkFBd0IsNENBQTRDLHdCQUF3QixnSEFBZ0gsNEZBQTRGLEdBQUcsNEZBQTRGLEdBQUcsNEZBQTRGLEdBQUcsNEZBQTRGLEdBQUcsNEZBQTRGLCtQQUErUCxhQUFhLDRGQUE0Rix3QkFBd0IseUdBQXlHLGFBQWEsRUFBRSw2Q0FBNkMsY0FBYyxFQUFFLGlCQUFpQixxRUFBcUUsc0NBQXNDLDZCQUE2QiwwREFBMEQsbUNBQW1DLG9GQUFvRixzREFBc0QsaUVBQWlFLGdHQUFnRywwRUFBMEUsRUFBRSxnREFBZ0QscUJBQXFCLDRHQUE0Ryw0RkFBNEYsd0dBQXdHLHdLQUF3SywwRUFBMEUsOERBQThELHNEQUFzRCxnS0FBZ0ssb0VBQW9FLDJGQUEyRixFQUFFLHNDQUFzQyxpREFBaUQsaUZBQWlGLHNDQUFzQyxrQ0FBa0MsK0JBQStCLEtBQUssc0RBQXNELG9LQUFvSyxrREFBa0QsaUZBQWlGLHNDQUFzQyxpREFBaUQsMENBQTBDLGtDQUFrQyxFQUFFLDhCQUE4Qix5QkFBeUIsRUFBRSw0Q0FBNEMscUJBQXFCLEtBQUssdUZBQXVGLCtIQUErSCx3RUFBd0UseUNBQXlDLDZCQUE2Qix3Q0FBd0MsaUNBQWlDLHlCQUF5QixFQUFFLHFCQUFxQixnQ0FBZ0MsaUJBQWlCLDRCQUE0QixpRkFBaUYsNEVBQTRFLGlCQUFpQixnQ0FBZ0MsdUVBQXVFLHFCQUFxQixFQUFFLHlDQUF5QyxzR0FBc0csRUFBRSxpQkFBaUIsd0NBQXdDLHdFQUF3RSw4Q0FBOEMsaUZBQWlGLDBEQUEwRCxtRUFBbUUscURBQXFELHdDQUF3QyxpQkFBaUIscUVBQXFFLCtCQUErQix5Q0FBeUMsMEJBQTBCLHdCQUF3QixvREFBb0Qsb0RBQW9ELGlCQUFpQiw4RUFBOEUsc0VBQXNFLHNGQUFzRiwrRkFBK0Ysc05BQXNOLHFDQUFxQyxrTUFBa00sNkZBQTZGLDZCQUE2Qix5Q0FBeUMsaUNBQWlDLDhGQUE4RixFQUFFLGdDQUFnQyxpQkFBaUIsNEVBQTRFLGlIQUFpSCxtR0FBbUcsaU5BQWlOLGdOQUFnTiw2QkFBNkIseUNBQXlDLGlDQUFpQyw4RkFBOEYsc0JBQXNCLG9DQUFvQyxpQkFBaUIscUZBQXFGLHlIQUF5SCx5R0FBeUcsa0tBQWtLLHFDQUFxQyw2RkFBNkYsc05BQXNOLGlDQUFpQyx5Q0FBeUMsNEdBQTRHLDhJQUE4SSxzQkFBc0IsMENBQTBDLGlCQUFpQiw2RUFBNkUsbUhBQW1ILDhGQUE4RixrS0FBa0ssbVJBQW1SLDZGQUE2Rix5UUFBeVEsOENBQThDLHFDQUFxQyw2QkFBNkIseUNBQXlDLDRHQUE0RywwSkFBMEosc0JBQXNCLG9DQUFvQyxpQkFBaUIsdUNBQXVDLHNIQUFzSCxtR0FBbUcsa0tBQWtLLGtSQUFrUiw2RkFBNkYsNFNBQTRTLDhDQUE4QyxxQ0FBcUMsNkJBQTZCLHlDQUF5Qyw0R0FBNEcsc0lBQXNJLHNCQUFzQix3Q0FBd0MsaUJBQWlCLDZFQUE2RSxvSEFBb0gsK0ZBQStGLGtLQUFrSyxxZ0JBQXFnQiw2RkFBNkYsb0ZBQW9GLDhDQUE4Qyx5SUFBeUksNkJBQTZCLHlDQUF5Qyw0R0FBNEcscUlBQXFJLHNCQUFzQixxQ0FBcUMsaUJBQWlCLDJEQUEyRCxtSUFBbUksNkZBQTZGLGtLQUFrSyxtTkFBbU4sNkZBQTZGLCtTQUErUyw4Q0FBOEMseUlBQXlJLDZCQUE2Qix5Q0FBeUMsNEdBQTRHLGlKQUFpSixzQkFBc0IsbUNBQW1DLHlCQUF5QiwyQ0FBMkMsMENBQTBDLG1DQUFtQyxnTEFBZ0wsOEJBQThCLGdNQUFnTSw4QkFBOEIsNkxBQTZMLEVBQUUscUJBQXFCLHVDQUF1QyxzRkFBc0Ysb0dBQW9HLHNHQUFzRyxrS0FBa0ssb2RBQW9kLDZGQUE2Rix3WEFBd1gsOENBQThDLHlJQUF5SSw2QkFBNkIseUNBQXlDLGdIQUFnSCxpSkFBaUosc0JBQXNCLDhDQUE4QyxnQ0FBZ0MsaUJBQWlCLEtBQUsseUZBQXlGLCtDQUErQyw0R0FBNEcsd0dBQXdHLHNPQUFzTywyTkFBMk4sOFFBQThRLHlDQUF5QyxpQ0FBaUMsNkNBQTZDLGlDQUFpQyxtR0FBbUcsMEJBQTBCLHVEQUF1RCxxQkFBcUIsdUNBQXVDLGlCQUFpQixrQ0FBa0MsbUhBQW1ILDhGQUE4RixrS0FBa0ssa05BQWtOLG9NQUFvTSx3RkFBd0YsOENBQThDLDZaQUE2Wiw2QkFBNkIseUNBQXlDLDRHQUE0RyxvRkFBb0Ysc0JBQXNCLG9DQUFvQyxpQkFBaUIsb0VBQW9FLDBDQUEwQyw4Q0FBOEMsdUhBQXVILEVBQUUsK0JBQStCLHFCQUFxQix3REFBd0QsOENBQThDLG1DQUFtQyxnQ0FBZ0Msa0NBQWtDLHNJQUFzSSw0SEFBNEgsdUhBQXVILDJDQUEyQyxtREFBbUQsK0VBQStFLGtEQUFrRCwrRUFBK0UsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLElBQUksd0VBQXdFLCtDQUErQyw4Q0FBOEMsb0VBQW9FLCtDQUErQyxtREFBbUQsc0RBQXNELDBEQUEwRCxtRkFBbUYsc0ZBQXNGLDhEQUE4RCx1RkFBdUYscURBQXFELDJDQUEyQyxvQkFBb0IsT0FBTyxrREFBa0QsNkZBQTZGLHFHQUFxRyxrR0FBa0csK0ZBQStGLHNFQUFzRSwwRkFBMEYsOERBQThELDBEQUEwRCxxRUFBcUUsa0VBQWtFLG9FQUFvRSw4SEFBOEgsMkhBQTJILHdIQUF3SCxrRUFBa0Usb1dBQW9XLDRFQUE0RSxnTkFBZ04sa0lBQWtJLHNTQUFzUyxvT0FBb08sZ1NBQWdTLDJWQUEyVixrRUFBa0UsZ0lBQWdJLHVJQUF1SSw4REFBOEQsOEhBQThILDBDQUEwQyx3RUFBd0UseUhBQXlILHFCQUFxQixPQUFPLHFIQUFxSCw2SEFBNkgsbUlBQW1JLG9JQUFvSSxnSUFBZ0ksd0ZBQXdGLGtKQUFrSiw2R0FBNkcsZ0ZBQWdGLHFFQUFxRSx5RUFBeUUsdUZBQXVGLCtEQUErRCx3TUFBd00seUVBQXlFLG9GQUFvRixpREFBaUQsZ0hBQWdILDRnQkFBNGdCLDJGQUEyRixpRkFBaUYsaURBQWlELHVEQUF1RCw2REFBNkQsd2JBQXdiLGdHQUFnRyw0RkFBNEYsaURBQWlELHNEQUFzRCw2REFBNkQsc2JBQXNiLGdHQUFnRyw0RkFBNEYsNkNBQTZDLE9BQU8sNkRBQTZELG1iQUFtYiwwRkFBMEYsZ0ZBQWdGLDZDQUE2QywyTkFBMk4sbUpBQW1KLHNUQUFzVCxxU0FBcVMsOGlCQUE4aUIseVNBQXlTLHFEQUFxRCxrRUFBa0Usc0xBQXNMLDhDQUE4QyxpRkFBaUYseUNBQXlDLHFDQUFxQyxpQ0FBaUMsMkVBQTJFLHFDQUFxQyxZQUFZLDJKQUEySiw0RUFBNEUsMERBQTBELHlFQUF5RSx3R0FBd0csNEVBQTRFLGlFQUFpRSxxRUFBcUUsbUZBQW1GLDJEQUEyRCw0TEFBNEwscUVBQXFFLHVFQUF1RSw2Q0FBNkMseUNBQXlDLHFEQUFxRCx1VUFBdVUsOERBQThELHlDQUF5Qyw2Q0FBNkMsMERBQTBELGlHQUFpRyxnRkFBZ0Ysd0dBQXdHLDZFQUE2RSxnRkFBZ0YscUVBQXFFLHlFQUF5RSx1RkFBdUYsK0RBQStELHdNQUF3TSx5RUFBeUUsMkVBQTJFLGlEQUFpRCw2Q0FBNkMseUNBQXlDLHFEQUFxRCx1VUFBdVUsOERBQThELHFDQUFxQyx1REFBdUQsMERBQTBELGlHQUFpRyxnRkFBZ0Ysd0dBQXdHLDZFQUE2RSxnRkFBZ0YscUVBQXFFLHlFQUF5RSx1RkFBdUYsK0RBQStELHdNQUF3TSx5RUFBeUUsMkVBQTJFLGlEQUFpRCw2Q0FBNkMseUNBQXlDLHFEQUFxRCxpVkFBaVYsOERBQThELHFDQUFxQyw2REFBNkQsMERBQTBELGlHQUFpRyxnRkFBZ0Ysd0dBQXdHLDZFQUE2RSxnRkFBZ0YscUVBQXFFLHlFQUF5RSx1RkFBdUYsK0RBQStELHdNQUF3TSx5RUFBeUUsMkVBQTJFLGlEQUFpRCw2Q0FBNkMseUNBQXlDLHFEQUFxRCxzVkFBc1YsOERBQThELHFDQUFxQyw4REFBOEQscURBQXFELDZQQUE2UCxxQ0FBcUMsa0tBQWtLLG1EQUFtRCxvUUFBb1EsZ0ZBQWdGLG1FQUFtRSxxQ0FBcUMsc0ZBQXNGLHFEQUFxRCxxUUFBcVEscUNBQXFDLFFBQVEscURBQXFELHFRQUFxUSxxQ0FBcUMscU1BQXFNLG9JQUFvSSxzUkFBc1IsMlFBQTJRLG9oQkFBb2hCLG9aQUFvWiw2Q0FBNkMsMERBQTBELHNIQUFzSCxzQ0FBc0MsK0RBQStELGlDQUFpQyw2QkFBNkIsMkRBQTJELHFEQUFxRCxnRkFBZ0Ysb0RBQW9ELGdGQUFnRixzR0FBc0csaUNBQWlDLHdEQUF3RCw2Q0FBNkMscUJBQXFCLEVBQUUseUNBQXlDLDJIQUEySCx3RUFBd0UsbUZBQW1GLG9FQUFvRSxxQkFBcUIsNEdBQTRHLGlCQUFpQixrQ0FBa0Msb0RBQW9ELCtDQUErQyxnQ0FBZ0MsbUNBQW1DLGtDQUFrQywrSEFBK0gsMENBQTBDLDhDQUE4Qyx1SEFBdUgsRUFBRSwrQkFBK0IscUJBQXFCLDRIQUE0SCxpQ0FBaUMsMkNBQTJDLCtDQUErQyw4Q0FBOEMsOEVBQThFLDBFQUEwRSxzRUFBc0UsZ0dBQWdHLHdEQUF3RCw2Q0FBNkMsbURBQW1ELCtDQUErQyxxQkFBcUIsRUFBRSxpQkFBaUIsMENBQTBDLG9DQUFvQyxtRUFBbUUscUhBQXFILDJHQUEyRyx1UEFBdVAseUNBQXlDLGlDQUFpQyxzRkFBc0Ysc0JBQXNCLHNDQUFzQyxpQkFBaUIsZ0ZBQWdGLDBiQUEwYixrRUFBa0UsNEVBQTRFLHFCQUFxQixnQ0FBZ0MsU0FBUyxNQUFNLHlFQUF5RSx3Q0FBd0MscUJBQXFCLCtCQUErQixpQkFBaUIsMENBQTBDLCtDQUErQyxvREFBb0QsK0NBQStDLGdDQUFnQyxtQ0FBbUMsaURBQWlELDhGQUE4RixvREFBb0QsMkNBQTJDLDhDQUE4QywyRUFBMkUsMkdBQTJHLDhEQUE4RCxtRkFBbUYsaURBQWlELHNIQUFzSCwrRUFBK0UsNkhBQTZILEtBQUssNkJBQTZCLGlDQUFpQyxzRUFBc0UsbUNBQW1DLCtEQUErRCw2R0FBNkcsMkJBQTJCLHNGQUFzRixhQUFhLGdDQUFnQyxZQUFZLDBDQUEwQywrREFBK0QsZ0NBQWdDLG9DQUFvQywrREFBK0QsdUZBQXVGLGdFQUFnRSxtQ0FBbUMsYUFBYSw2SUFBNkksWUFBWSxzVEFBc1Qsc0VBQXNFLGtDQUFrQyxxQ0FBcUMsaUVBQWlFLHlHQUF5RyxnRUFBZ0UsYUFBYSw2R0FBNkcsRUFBRSw0SEFBNEgsRUFBRSxhQUFhLGdFQUFnRSxxRUFBcUUsNkdBQTZHLEVBQUUsNEhBQTRILEVBQUUsYUFBYSxtREFBbUQsa0NBQWtDLHFDQUFxQyxpRUFBaUUsNEZBQTRGLGdDQUFnQyx5SUFBeUksa0RBQWtELDZHQUE2RyxjQUFjLG1CQUFtQixhQUFhLG1EQUFtRCxpQ0FBaUMsc0NBQXNDLGlFQUFpRSw2R0FBNkcsa0JBQWtCLGNBQWMsZ0NBQWdDLDJEQUEyRCxtR0FBbUcsNkdBQTZHLGNBQWMsbUJBQW1CLGFBQWEsbURBQW1ELGtDQUFrQyxxQ0FBcUMsaUVBQWlFLGdHQUFnRyxnQ0FBZ0MseUlBQXlJLGtEQUFrRCw2R0FBNkcsY0FBYyxtQkFBbUIsYUFBYSxtREFBbUQsaUNBQWlDLHFDQUFxQyxpRUFBaUUsMkZBQTJGLGdDQUFnQyx5SUFBeUksa0RBQWtELDZHQUE2RyxjQUFjLG1CQUFtQixhQUFhLG1EQUFtRCxrQ0FBa0MscUNBQXFDLGlFQUFpRSxnR0FBZ0csZ0NBQWdDLHlJQUF5SSxrREFBa0QsNkdBQTZHLGNBQWMsbUJBQW1CLGFBQWEsbURBQW1ELGlDQUFpQywyQ0FBMkMsaUVBQWlFLG1IQUFtSCx3Q0FBd0MsYUFBYSx1Q0FBdUMsaUNBQWlDLHdEQUF3RCw2R0FBNkcsRUFBRSxhQUFhLG1EQUFtRCxpQ0FBaUMsd0NBQXdDLGlFQUFpRSx5R0FBeUcsZ0VBQWdFLGFBQWEsNkdBQTZHLEVBQUUsNEhBQTRILEVBQUUsYUFBYSxnRUFBZ0UsaUZBQWlGLDZHQUE2RyxFQUFFLDRIQUE0SCxFQUFFLGFBQWEsbURBQW1ELGtDQUFrQyxzQ0FBc0MsaUVBQWlFLHNHQUFzRyxzQkFBc0IsYUFBYSxxQkFBcUIscUVBQXFFLDhHQUE4RyxFQUFFLGFBQWEsbURBQW1ELGtDQUFrQyx3Q0FBd0MsaUVBQWlFLHNHQUFzRyx5REFBeUQsYUFBYSw4R0FBOEcsRUFBRSw0SEFBNEgsRUFBRSxhQUFhLHlEQUF5RCxpRkFBaUYsOEdBQThHLEVBQUUsNEhBQTRILEVBQUUsYUFBYSxtREFBbUQsR0FBRyx1RUFBdUUsbUVBQW1FLEVBQUUsK0NBQStDLHFFQUFxRSx5QkFBeUIsNkJBQTZCLHVFQUF1RSxxRUFBcUUseUJBQXlCLEtBQUssbUVBQW1FLHFFQUFxRSx5QkFBeUIsdURBQXVELHdDQUF3Qyw0Q0FBNEMscURBQXFELDZCQUE2QiwrQkFBK0IsS0FBSyxpREFBaUQseUJBQXlCLHFCQUFxQiwrQ0FBK0MscUZBQXFGLG9EQUFvRCwrQ0FBK0MsZ0NBQWdDLG1DQUFtQyxrQ0FBa0MsaUtBQWlLLDBDQUEwQyw4Q0FBOEMsdUhBQXVILEVBQUUsK0JBQStCLHFCQUFxQiw2SEFBNkgseUNBQXlDLG9EQUFvRCxpQ0FBaUMsb0RBQW9ELG1DQUFtQyx5QkFBeUIsZ0RBQWdELCtDQUErQyw4RkFBOEYsb0RBQW9ELDJDQUEyQyw4Q0FBOEMsb0ZBQW9GLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixJQUFJLDJFQUEyRSwyS0FBMkssZ0ZBQWdGLDhGQUE4RixzREFBc0QsMERBQTBELGdGQUFnRixtRkFBbUYsMENBQTBDLDJEQUEyRCxzRUFBc0UsMkZBQTJGLHlEQUF5RCw2QkFBNkIsd0NBQXdDLGlCQUFpQixNQUFNLGlEQUFpRCwwRkFBMEYscUNBQXFDLG1HQUFtRyxnR0FBZ0csZ0dBQWdHLDZGQUE2RixzRUFBc0Usc0ZBQXNGLDREQUE0RCwwREFBMEQscUVBQXFFLGtFQUFrRSxrRUFBa0UsOEhBQThILDJIQUEySCx3SEFBd0gsa0VBQWtFLHF4QkFBcXhCLDhFQUE4RSwwSUFBMEksNEtBQTRLLGtJQUFrSSxzU0FBc1MsK1JBQStSLDBXQUEwVyx5UkFBeVIsaURBQWlELDhEQUE4RCxvSUFBb0ksMENBQTBDLHdFQUF3RSx5SEFBeUgscUJBQXFCLE9BQU8scUhBQXFILDZIQUE2SCxtSUFBbUksb0lBQW9JLDhIQUE4SCx5RkFBeUYsa0pBQWtKLDJHQUEyRyw4RUFBOEUsbUVBQW1FLHVFQUF1RSxxRkFBcUYsOERBQThELHdNQUF3TSx1RUFBdUUsb0ZBQW9GLGlEQUFpRCxnSEFBZ0gsMmdCQUEyZ0IsMkZBQTJGLGlGQUFpRixpREFBaUQsa0RBQWtELGtKQUFrSiwyR0FBMkcsOEVBQThFLG1FQUFtRSx1RUFBdUUscUZBQXFGLDhEQUE4RCx3TUFBd00sdUVBQXVFLG9GQUFvRixpREFBaUQsZ0hBQWdILDJnQkFBMmdCLDJGQUEyRixpRkFBaUYsaURBQWlELHdEQUF3RCw2REFBNkQsd2JBQXdiLGlHQUFpRyw2RkFBNkYsaURBQWlELHdEQUF3RCw2REFBNkQsdWJBQXViLGdHQUFnRyw0RkFBNEYsaURBQWlELHNEQUFzRCw2REFBNkQscWJBQXFiLGdHQUFnRyw0RkFBNEYsNkNBQTZDLFNBQVMsNkRBQTZELGtiQUFrYiwwRkFBMEYsc0ZBQXNGLDZDQUE2QywrREFBK0QscURBQXFELGlFQUFpRSxxRUFBcUUsaUxBQWlMLDJFQUEyRSxpREFBaUQsc0tBQXNLLDJGQUEyRix1RUFBdUUsb0ZBQW9GLDBJQUEwSSw2bUJBQTZtQixxREFBcUQsS0FBSywySUFBMkksOGdCQUE4Z0IscURBQXFELHNGQUFzRixpREFBaUQsOENBQThDLDhOQUE4TixtSkFBbUosc1RBQXNULHFTQUFxUyxnakJBQWdqQix5U0FBeVMscURBQXFELGtFQUFrRSxnSkFBZ0osOENBQThDLGlGQUFpRix5Q0FBeUMscUNBQXFDLGlDQUFpQywyRUFBMkUscUNBQXFDLE9BQU8sbUdBQW1HLDBDQUEwQywySkFBMkosNEVBQTRFLHdEQUF3RCxpR0FBaUcsc0dBQXNHLDhFQUE4RSwrREFBK0QsbUVBQW1FLGlGQUFpRiwwREFBMEQsNExBQTRMLG1FQUFtRSx1RUFBdUUsNkNBQTZDLHlDQUF5Qyx1REFBdUQsb1VBQW9VLHlGQUF5RixpSkFBaUosdUdBQXVHLHlDQUF5Qyw0REFBNEQsZ0ZBQWdGLG1FQUFtRSwrRUFBK0UsbURBQW1ELHdEQUF3RCxpR0FBaUcsZ0ZBQWdGLHNHQUFzRywwRUFBMEUsK0RBQStELG1FQUFtRSxpRkFBaUYsMERBQTBELDRMQUE0TCxtRUFBbUUsdUVBQXVFLDZDQUE2Qyx5Q0FBeUMsbURBQW1ELG9RQUFvUSw0REFBNEQsNEVBQTRFLG9FQUFvRSwrQ0FBK0Msd0RBQXdELHdEQUF3RCxpR0FBaUcsZ0ZBQWdGLHNHQUFzRywwRUFBMEUsK0RBQStELG1FQUFtRSxpRkFBaUYsMERBQTBELDRMQUE0TCxtRUFBbUUsdUVBQXVFLDZDQUE2Qyx5Q0FBeUMsbURBQW1ELG9RQUFvUSw0REFBNEQsaUZBQWlGLHlFQUF5RSxvRkFBb0Ysd0NBQXdDLHdEQUF3RCxpR0FBaUcsZ0ZBQWdGLHNHQUFzRywwRUFBMEUsK0RBQStELG1FQUFtRSxpRkFBaUYsMERBQTBELDRMQUE0TCxtRUFBbUUsdUVBQXVFLDZDQUE2Qyx5Q0FBeUMsbURBQW1ELG9RQUFvUSw0REFBNEQsaUVBQWlFLHlEQUF5RCwrQ0FBK0MsNEVBQTRFLG1EQUFtRCxvUUFBb1EsZ0ZBQWdGLG1FQUFtRSxxQ0FBcUMsd0RBQXdELG1EQUFtRCxvUUFBb1EsaUZBQWlGLHlFQUF5RSx5Q0FBeUMsa0tBQWtLLG1EQUFtRCxvUUFBb1EsZ0ZBQWdGLG1FQUFtRSxxQ0FBcUMsOENBQThDLG1EQUFtRCxvUUFBb1Esb0RBQW9ELHVIQUF1SCxnRkFBZ0YsbUVBQW1FLHFDQUFxQyw4Q0FBOEMsbURBQW1ELG9RQUFvUSx1RUFBdUUsK0RBQStELG9EQUFvRCw2SEFBNkgsOEhBQThILDBDQUEwQyxxQ0FBcUMsS0FBSyxtREFBbUQsb1FBQW9RLGlFQUFpRSx5REFBeUQscUNBQXFDLG1FQUFtRSx3REFBd0QsNkRBQTZELDRKQUE0SixtRUFBbUUseUNBQXlDLHFKQUFxSixtRkFBbUYsK0RBQStELDRFQUE0RSwwSEFBMEgsNGlCQUE0aUIsNkNBQTZDLEtBQUssMkhBQTJILHNkQUFzZCw2Q0FBNkMsOEVBQThFLHlDQUF5QyxzQ0FBc0MseUVBQXlFLDhHQUE4RyxvZUFBb2Usc0NBQXNDLG9DQUFvQywrR0FBK0csb2VBQW9lLHNDQUFzQyx1RUFBdUUsdUxBQXVMLDhIQUE4SCw4UkFBOFIsbVJBQW1SLGltQkFBaW1CLDJEQUEyRCwrQ0FBK0MsMEhBQTBILHdDQUF3QyxpRUFBaUUsbUNBQW1DLHFDQUFxQyw2QkFBNkIseUJBQXlCLHdJQUF3SSxpQ0FBaUMsd0RBQXdELDZDQUE2Qyx5QkFBeUIsRUFBRSw2Q0FBNkMscUNBQXFDLHlGQUF5Riw2Q0FBNkMsdUNBQXVDLHdCQUF3Qix5RUFBeUUsMEJBQTBCLEVBQUUsbUJBQW1CLGdDQUFnQyx3Q0FBd0Msd0NBQXdDLG1EQUFtRCx5QkFBeUIsTUFBTSxxQkFBcUIsS0FBSyx3Q0FBd0MsbURBQW1ELHlCQUF5QixJQUFJLHFCQUFxQixxQkFBcUIsbUNBQW1DLG1DQUFtQyxxREFBcUQsa0ZBQWtGLHFCQUFxQixrQ0FBa0MsOEJBQThCLE9BQU8sbUNBQW1DLCtEQUErRCwrRUFBK0UsZ0NBQWdDLHNDQUFzQywyYUFBMmEsMERBQTBELGlEQUFpRCxrQ0FBa0MseUJBQXlCLHFCQUFxQixxQkFBcUIsNENBQTRDLHVHQUF1Ryw4WkFBOFoseURBQXlELGlWQUFpViw2QkFBNkIseUJBQXlCLHFCQUFxQixFQUFFLGlCQUFpQixnR0FBZ0csa09BQWtPLDZOQUE2TixxTkFBcU4sMkNBQTJDLDREQUE0RCxZQUFZLHVEQUF1RCxlQUFlLEVBQUUsaUJBQWlCLDhCQUE4QiwwQ0FBMEMsdUNBQXVDLHVCQUF1QixrQkFBa0IsK0JBQStCLDZCQUE2Qiw4REFBOEQsMkhBQTJILDhHQUE4Ryx1REFBdUQsdURBQXVELHlFQUF5RSxFQUFFLHFCQUFxQixLQUFLLDJDQUEyQywrQkFBK0IsR0FBRyxFQUFFLHFCQUFxQixpQkFBaUIsNEJBQTRCLGtHQUFrRyxrQ0FBa0MsNkJBQTZCLG1DQUFtQyxvQ0FBb0MsZ0RBQWdELGdEQUFnRCx3REFBd0Qsc0dBQXNHLHNCQUFzQixLQUFLLG1EQUFtRCxzQkFBc0IsNENBQTRDLGtIQUFrSCwwRUFBMEUsa0VBQWtFLHVDQUF1QyxFQUFFLHFEQUFxRCxrRkFBa0Ysa0RBQWtELG1EQUFtRCxxQkFBcUIsS0FBSyxpREFBaUQsb0RBQW9ELHFCQUFxQixxREFBcUQscUhBQXFILHNDQUFzQyxrTEFBa0wsMEVBQTBFLDJIQUEySCw0REFBNEQsdUNBQXVDLDZCQUE2QixnRkFBZ0Ysc0RBQXNELDhFQUE4RSw0Q0FBNEMsa0VBQWtFLGlEQUFpRCwyRUFBMkUsNkRBQTZELGdEQUFnRCx5QkFBeUIsRUFBRSwwQ0FBMEMscUtBQXFLLDhFQUE4RSw0REFBNEQsd0RBQXdELHVDQUF1Qyw2QkFBNkIsbURBQW1ELG9LQUFvSyxnRkFBZ0YsdUdBQXVHLGtHQUFrRywyREFBMkQsd0ZBQXdGLGdGQUFnRixpQ0FBaUMsNERBQTRELDBGQUEwRixrRkFBa0YsaUNBQWlDLDZCQUE2QixvSEFBb0gsK0VBQStFLDhFQUE4RSwyQkFBMkIsRUFBRSxxQkFBcUIsS0FBSyxrRUFBa0UscUVBQXFFLHFCQUFxQixpQkFBaUIsaUJBQWlCLHVCQUF1QixpQkFBaUIsdUJBQXVCLCtCQUErQix5QkFBeUIsb0RBQW9ELHdEQUF3RCx5Q0FBeUMsMEhBQTBILG1HQUFtRyxzREFBc0QsK0JBQStCLEdBQUcsRUFBRSx5QkFBeUIscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsZ0RBQWdELDZCQUE2QiwyQ0FBMkMsaUJBQWlCLEVBQUUsNkRBQTZELHFDQUFxQyw4QkFBOEIscVZBQXFWLGtEQUFrRCxpQkFBaUIsRUFBRSxrRUFBa0UsMkNBQTJDLG9EQUFvRCwyQ0FBMkMscUJBQXFCLEtBQUssMkRBQTJELHFCQUFxQiwwQkFBMEIsT0FBTyxtREFBbUQsaUJBQWlCLEVBQUUsOERBQThELDhDQUE4Qyx1Q0FBdUMsOEJBQThCLE9BQU8sbURBQW1ELGlCQUFpQixFQUFFLGFBQWEsMEJBQTBCLHlCQUF5QixrREFBa0QsNkNBQTZDLHNEQUFzRCxhQUFhLFVBQVUsNERBQTRELGtDQUFrQyxtQkFBbUIsc0JBQXNCLCtCQUErQixTQUFTLGtEQUFrRCx3QkFBd0IsNkJBQTZCLCtCQUErQixtQkFBbUIsc0JBQXNCLFNBQVMsaURBQWlELCtCQUErQix3QkFBd0Isc0JBQXNCLFNBQVMsbUJBQW1CLDRCQUE0Qix5QkFBeUIsOEJBQThCLFNBQVMseUJBQXlCLG9DQUFvQyx3QkFBd0IsU0FBUyxtQ0FBbUM7O0FBRWg4L0ciLCJmaWxlIjoiMjc5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLml2dS1tb2RhbC1mdWxsc2NyZWVuIHtcXG4gICAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xcbiAgICB0b3A6IDA7XFxuICAgIGJvdHRvbTogMDtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbn1cXG4uaXZ1LW1vZGFsLWZ1bGxzY3JlZW4gLml2dS1tb2RhbC1jb250ZW50IHtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOiAwO1xcbiAgICBib3R0b206IDA7XFxufVxcbi5pdnUtbW9kYWwtZnVsbHNjcmVlbiAuaXZ1LW1vZGFsLWZvb3RlciB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGJvdHRvbTogMDtcXG59XFxuLmluZGV4RGl2c3tcXG4gICAgcGFkZGluZzowcHggNHB4O1xcbiAgICBoZWlnaHQ6IDEwMCU7XFxuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xcbn1cXG4uaW5kZXhEaXZzOmhvdmVye1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgY29sb3I6ICMzMzM7XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJFOi9wcm9qZWN0L3BhZ2UtaWRlLXhpYW4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvZ2xvYmFsLXNldHRpbmdzL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL2dsb2JhbC1zZXR0aW5ncy9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQW00REE7SUFDQSxzQkFBQTtJQUNBLE9BQUE7SUFDQSxVQUFBO0lBQ0EsbUJBQUE7Q0FDQTtBQUNBO0lBQ0EsWUFBQTtJQUNBLGlCQUFBO0lBQ0EsbUJBQUE7SUFDQSxPQUFBO0lBQ0EsVUFBQTtDQUNBO0FBQ0E7SUFDQSxtQkFBQTtJQUNBLFlBQUE7SUFDQSxVQUFBO0NBQ0E7QUFDQTtJQUNBLGdCQUFBO0lBQ0EsYUFBQTtJQUNBLGtCQUFBO0NBQ0E7QUFDQTtJQUNBLHdCQUFBO0lBQ0EsWUFBQTtDQUNBXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZXNDb250ZW50XCI6W1wiPHRlbXBsYXRlPlxcclxcbiAgICA8ZGl2PlxcclxcbiAgICAgICA8IS0tIDxDb250YWluZXIgQGNsaWNrPVxcXCJnb3RvQ29uZmlnKClcXFwiICBjbGFzcz1cXFwiaW5kZXhEaXZzXFxcIj5cXHJcXG4gICAgICAgICAgICDlhajlsYDorr7nva5cXHJcXG4gICAgICAgIDwvQ29udGFpbmVyPlxcclxcbiAgICAgICAgPENvbnRhaW5lciBAY2xpY2s9XFxcImRlbGV0ZUNhY2hlKClcXFwiIGNsYXNzPVxcXCJpbmRleERpdnNcXFwiPlxcclxcbiAgICAgICAgICAgIOa4heepuue8k+WtmFxcclxcbiAgICAgICAgPC9Db250YWluZXI+XFxyXFxuICAgICAgICAmbHQ7ISZuZGFzaDsgPENvbnRhaW5lciBAY2xpY2s9XFxcInNhdmVJbnN0YW5jZSgpXFxcIiBjbGFzcz1cXFwiaW5kZXhEaXZzXFxcIj5cXHJcXG4gICAgICAgICAgICAg5L+d5a2Y5a6e5L6LXFxyXFxuICAgICAgICAgPC9Db250YWluZXI+Jm5kYXNoOyZndDtcXHJcXG4gICAgICAgICZsdDshJm5kYXNoOzxDb250YWluZXIgQGNsaWNrPVxcXCJsb2FkU2VydmVyRm9ybSgpXFxcIiBpZD1cXFwibG9hZFNlcnZlckZvcm1cXFwiIGNsYXNzPVxcXCJpbmRleERpdnNcXFwiICAgdi1pZj1cXFwic2hvd1NlcnZlckZvcm1cXFwiPlxcclxcbiAgICAgICAgICAgIOWKoOi9veacjeWKoeWZqOihqOWNleaVsOaNrlxcclxcbiAgICAgICAgPC9Db250YWluZXI+Jm5kYXNoOyZndDtcXHJcXG4gICAgICAgIDxDb250YWluZXIgQGNsaWNrPVxcXCJsb2FkQmFzZUluZm9Gb3JtKClcXFwiIGlkPVxcXCJsb2FkQmFzZUluZm9Gb3JtXFxcIiBjbGFzcz1cXFwiaW5kZXhEaXZzXFxcIiB2LWlmPVxcXCJzaG93QmFzZUluZm9Gb3JtXFxcIiA+XFxyXFxuICAgICAgICAgICAg5Yqg6L295Z+65pys5L+h5oGv6KGo5Y2V5pWw5o2uXFxyXFxuICAgICAgICA8L0NvbnRhaW5lcj5cXHJcXG4gICAgICAgIDxDb250YWluZXIgQGNsaWNrPVxcXCJsb2FkVXBsb2FkRmlsZSgpXFxcIiBpZD1cXFwibG9hZFVwbG9hZEZpbGVcXFwiIGNsYXNzPVxcXCJpbmRleERpdnNcXFwiIHYtaWY9XFxcInNob3dCYXNlSW5mb0Zvcm1cXFwiID5cXHJcXG4gICAgICAgICAgICDliqDovb3kuIrkvKDpmYTku7ZcXHJcXG4gICAgICAgIDwvQ29udGFpbmVyPlxcclxcbiAgICAgICAgPENvbnRhaW5lciBAY2xpY2s9XFxcImxvYWRTZXJ2ZXJGb3JtVGFibGUoKVxcXCIgaWQ9XFxcImxvYWRTZXJ2ZXJGb3JtVGFibGVcXFwiIGNsYXNzPVxcXCJpbmRleERpdnNcXFwiIHYtaWY9XFxcInNob3dTZXJ2ZXJGb3JtXFxcIiA+XFxyXFxuICAgICAgICAgICAg5Yqg6L295pyN5Yqh5Zmo6KGo5qC85pWw5o2uXFxyXFxuICAgICAgICA8L0NvbnRhaW5lcj5cXHJcXG4gICAgICAgIDxDb250YWluZXIgQGNsaWNrPVxcXCJnb3RvSGVscCgpXFxcIiBjbGFzcz1cXFwiaW5kZXhEaXZzXFxcIj5cXHJcXG4gICAgICAgICAgICDmk43kvZzmiYvlhoxcXHJcXG4gICAgICAgIDwvQ29udGFpbmVyPlxcclxcbiAgICAgICAgPENvbnRhaW5lciAgY2xhc3M9XFxcImluZGV4RGl2c1xcXCI+XFxyXFxuICAgICAgICAgICAg5b2T5YmN5q2l6aqkOiA8U2VsZWN0IHYtbW9kZWw9XFxcImN1cnJlbnRTdGVwXFxcIiBAb24tY2hhbmdlPVxcXCJzZXRNeUN1cnJlbnRTdGVwXFxcIiBzdHlsZT1cXFwid2lkdGg6ODBweFxcXCI+XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgPE9wdGlvbiB2LWZvcj1cXFwiaXRlbSBpbiBzdGVwTGlzdFxcXCIgOnZhbHVlPVxcXCJpdGVtLnZhbHVlXFxcIiA6a2V5PVxcXCJpdGVtLnZhbHVlXFxcIj57eyBpdGVtLmxhYmVsIH19PC9PcHRpb24+XFxyXFxuICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdD5cXHJcXG4gICAgICAgIDwvQ29udGFpbmVyPlxcclxcbiAgICAgICAgPE1vZGFsIHYtbW9kZWw9XFxcInNob3dNb2RhbFxcXCIgIGZvb3Rlci1oaWRlIGZ1bGxzY3JlZW4gOnRpdGxlPVxcXCJtb2RhbFRpdGxlXFxcIj5cXHJcXG4gICAgICAgICAgICA8cm91dGVyLXZpZXcvPlxcclxcbiAgICAgICAgPC9Nb2RhbD4tLT5cXHJcXG4gICAgPC9kaXY+XFxyXFxuPC90ZW1wbGF0ZT5cXHJcXG5cXHJcXG48c2NyaXB0PlxcclxcbiAgICBpbXBvcnQgKiBhcyBjb21wb25lbnRzIGZyb20gJy4vc3R5bGUnO1xcclxcbiAgICBpbXBvcnQgZXZlbnRidXMgZnJvbSAnLi4vLi4vc2VydmljZS9ldmVudGJ1cyc7XFxyXFxuICAgIGltcG9ydCB7bW91bnRTbG90fSBmcm9tICcuLi8uLi9zZXJ2aWNlL21vdW50JztcXHJcXG4gICAgaW1wb3J0IFNlcnZpY2UgZnJvbSBcXFwiLi4vLi4vc2VydmljZS90b29sLXNlcnZpY2VcXFwiO1xcclxcbiAgICBpbXBvcnQgaHR0cExvYWRpbmcgZnJvbSBcXFwiLi4vLi4vdXRpbHMvaHR0cExvYWRpbmdcXFwiO1xcclxcbiAgICBleHBvcnQgZGVmYXVsdCB7XFxyXFxuICAgICAgICBjb21wb25lbnRzLFxcclxcbiAgICAgICAgZGF0YSAoKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIHtcXHJcXG4gICAgICAgICAgICAgICAgaXNMb2FkZWREYXRlOmZhbHNlLC8vbm90ZSDlrZjmlL7mmK/kuI3mmK/lt7Lnu4/liqDovb3kuobmlbDmja4gdHJ1ZSDmmK/lt7Lnu4/liqDovb3vvIwsZmFsc2XmsqHmnInliqDovb1cXHJcXG4gICAgICAgICAgICAgICAgc3RlcExpc3Q6WyB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJzEnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICfnrKzkuIDmraUnXFxyXFxuICAgICAgICAgICAgICAgIH0sIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnMicsXFxyXFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ+esrOS6jOatpSdcXHJcXG4gICAgICAgICAgICAgICAgfSwge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICczJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiAn56ys5LiJ5q2lJ1xcclxcbiAgICAgICAgICAgICAgICB9LCB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJzQnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICfnrKzlm5vmraUnXFxyXFxuICAgICAgICAgICAgICAgIH0sIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnNScsXFxyXFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ+esrOS6lOatpSdcXHJcXG4gICAgICAgICAgICAgICAgfV0sXFxyXFxuICAgICAgICAgICAgICAgIHNob3dTZXJ2ZXJGb3JtOnRydWUsXFxyXFxuICAgICAgICAgICAgICAgIHNob3dCYXNlSW5mb0Zvcm06ZmFsc2UsXFxyXFxuICAgICAgICAgICAgICAgIG1vZGFsVGl0bGU6XFxcIuaooeadv+aVsOaNrumFjee9rlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgIHNob3dNb2RhbDogZmFsc2UsXFxyXFxuICAgICAgICAgICAgICAgIGN1cnJlbnRTdGVwOlxcXCIxXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgbG9jYWxJbnN0YW5jZTpbXVxcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBwb3NpdGlvbjogJ25hdmJhckxlZnQnLFxcclxcbiAgICAgICAgbmFtZTogJ2dsb2JhbFNldHRpbmdzJyxcXHJcXG4gICAgICAgIG1ldGhvZHM6e1xcclxcbiAgICAgICAgICAgIGlzSUUoKSB7IC8vaWU/XFxyXFxuICAgICAgICAgICAgICAgIGlmICghIXdpbmRvdy5BY3RpdmVYT2JqZWN0IHx8IFxcXCJBY3RpdmVYT2JqZWN0XFxcIiBpbiB3aW5kb3cpXFxyXFxuICAgICAgICAgICAgICAgIHsgcmV0dXJuIHRydWU7IH1cXHJcXG4gICAgICAgICAgICAgICAgZWxzZVxcclxcbiAgICAgICAgICAgICAgICB7IHJldHVybiBmYWxzZTsgfVxcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgLy9ub3RlIOiuvue9ruW9k+WJjeatpemqpFxcclxcbiAgICAgICAgICAgIHNldE15Q3VycmVudFN0ZXAoaXRlbSl7XFxyXFxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGl0ZW0pO1xcclxcbiAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRTdGVwPWxvY2FsU3RvcmFnZS5pdGVtU3RlcDtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IF90aGlzPXRoaXM7XFxyXFxuICAgICAgICAgICAgICAgIC8vbm90ZSDlpoLmnpzmmK/lvZPliY3nmoTmraXpqqTvvIzkuI3lgZrku7vkvZXlj5jliqhcXHJcXG4gICAgICAgICAgICAgICAgaWYoY3VycmVudFN0ZXA9PWl0ZW0pe1xcclxcbiAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOafpeivolxcclxcbiAgICAgICAgICAgICAgICB9ZWxzZSBpZihjdXJyZW50U3RlcCE9XFxcIlxcXCImJnBhcnNlSW50KGN1cnJlbnRTdGVwKT5wYXJzZUludChpdGVtKSl7XFxyXFxuICAgICAgICAgICAgICAgICAgICAvL25vdGUg5p+l6K+i5LmL5YmN55qE55u05o6l5riF6Zmk77yM54S25ZCO5p+l6K+iXFxyXFxuICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UuaXRlbVN0ZXA9aXRlbTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIF90aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L2RlbGV0ZUxldmVsMURhdGEnLHt9KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWREYXRlPWZhbHNlO1xcclxcbiAgICAgICAgICAgICAgICB9ZWxzZSBpZihjdXJyZW50U3RlcCE9XFxcIlxcXCImJnBhcnNlSW50KGl0ZW0pPHBhcnNlSW50KGN1cnJlbnRTdGVwKXx8KHBhcnNlSW50KGN1cnJlbnRTdGVwKSsxKT09cGFyc2VJbnQoaXRlbSkpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOivtOaYjuaYr+afpeivouS5i+WJjeeahO+8jOaIluiAheW+gOWQjuS4gOS4quatpemqpOeahFxcclxcbiAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygxMTEpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5Yik5pat5b2T5YmN5piv5ZCm5piv5L+d5a2Y54q25oCB77yM5aaC5p6c5piv77yM5YiZ5Y+v5Lul6L+b6KGM5LiL5LiA5q2l77yM5ZCm5YiZ77yM5LiN5YWB6K646L+b6KGMXFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgcGFyYW1zID0ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1Obzpsb2NhbFN0b3JhZ2UuaXRlbU5vLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1TdGVwOmN1cnJlbnRTdGVwLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGpzb25UeXBlOjFcXHJcXG4gICAgICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICAgICAgICAgICAgICBTZXJ2aWNlLnNlbGVjdFRlbXBsYXRlSW5mbyhwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICBpZih0eXBlb2YocmVzKSAhPSBcXFwidW5kZWZpbmVkXFxcIil7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRNb2RhbC5jb25maXJtKHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+WPi+aDheaPkOekuiEnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6J+WIh+aNouWujOaIkOWwhuS8mua4heepuuaVsOaNru+8jOaYr+WQpue7p+e7re+8nycsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Paygpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UuaXRlbVN0ZXA9aXRlbTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvZGVsZXRlTGV2ZWwxRGF0YScse30pO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DYW5jZWwoKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMuY3VycmVudFN0ZXA9bG9jYWxTdG9yYWdlLml0ZW1TdGVwO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNle1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kTW9kYWwuc3VjY2Vzcyh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFxcXCLlj4vmg4Xmj5DnpLpcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFxcXCLlvZPliY3mraXpqqTkuLrmnKrlrozmiJAs6K+35oyJ5q2l6aqk5Yib5bu644CCXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk9rKCl7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5jdXJyZW50U3RlcD1sb2NhbFN0b3JhZ2UuaXRlbVN0ZXA7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNhbmNlbCgpe1xcclxcblxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgICAgICAgICAgICAvLyAgdGhpcy5pbml0VUkoaXRlbSk7XFxyXFxuICAgICAgICAgICAgICAgIH1lbHNle1xcclxcbiAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOi3qOatpemqpOeahOS4jeWHhuWBmuS7u+S9leWPmOWKqFxcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kTW9kYWwuc3VjY2Vzcyh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFxcXCLlj4vmg4Xmj5DnpLpcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFxcXCLor7fmjInmraXpqqTliJvlu7pcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uT2soKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMuY3VycmVudFN0ZXA9bG9jYWxTdG9yYWdlLml0ZW1TdGVwO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2FuY2VsKCl7XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgfSk7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgZGVidWdnZXI7XFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICBzaG93RGF0YSgpe1xcclxcbiAgICAgICAgICAgICAgICBsZXQgbG9jYWxJbnN0YW5jZT0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQubG9jYWxJbnN0YW5jZXM7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvdXBkYXRlRGF0YScsbG9jYWxJbnN0YW5jZSk7XFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICBzYXZlSW5zdGFuY2UoKXtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9zYXZlTG9jYWxJbnN0YW5jZXMnLCB7XFxyXFxuICAgICAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLiRNb2RhbC5zdWNjZXNzKHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcXFwi5Y+L5oOF5o+Q56S6XFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFxcXCLkv53lrZjmiJDlip9cXFwiXFxyXFxuICAgICAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgaW5pdFRlbXBsYXRlSW5zdGFuY2UoKXtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IGluc3RhbmNlcz0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzO1xcclxcbiAgICAgICAgICAgICAgICBpbnN0YW5jZXM9IFsuLi5pbnN0YW5jZXNdO1xcclxcbiAgICAgICAgICAgICAgICBsZXQgbG9jYWxJbnN0YW5jZT0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQubG9jYWxJbnN0YW5jZXM7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBzdHI9SlNPTi5zdHJpbmdpZnkobG9jYWxJbnN0YW5jZSk7XFxyXFxuICAgICAgICAgICAgICAgIGxvY2FsSW5zdGFuY2U9IFsuLi5pbnN0YW5jZXMsLi4ubG9jYWxJbnN0YW5jZV07XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxJbnN0YW5jZT1sb2NhbEluc3RhbmNlO1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLmRlbGF5RXhjdXRlKDEpO1xcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgLy9ub3RlIOiOt+WPlumaj+acuuaVsOWtl+Wtl+espuS4slxcclxcbiAgICAgICAgICAgIGdldFJhbmRvbUFscGhhTnVtKCl7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBsZW49MTA7XFxyXFxuICAgICAgICAgICAgICAgIHZhciByZG1TdHJpbmcgPSBcXFwiXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgZm9yICg7IHJkbVN0cmluZy5sZW5ndGggPCBsZW47IHJkbVN0cmluZyArPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMikpO1xcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gcmRtU3RyaW5nLnN1YnN0cigwLCBsZW4pO1xcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgLy9ub3RlIOWIm+W7uuatpemqpOadoVxcclxcbiAgICAgICAgICAgIGdldFN0ZXAocGFyZW50SW5zdGFuY2VLZXksc3RlcHMpe1xcclxcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudFN0ZXA9cGFyc2VJbnQobG9jYWxTdG9yYWdlLml0ZW1TdGVwKS0xO1xcclxcbiAgICAgICAgICAgICAgICBsZXQgc3RlcD1bIFxcXCJnYWVhX2luc3RhbmNlXzFzMGx1dWw2cXJrXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwiZ2FlYUtleVxcXCI6IFxcXCJnYWVhLXN0ZXBzXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwiZGF0YVxcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIl9fc2V0dGluZ19fXFxcIjogbnVsbCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIl9fY3JydEluc3RhbmNlSW5mb19fXFxcIjogbnVsbCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInRleHRcXFwiOiBcXFwic3RlcHNcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwic3R5bGVzXFxcIjoge1xcclxcblxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidHlwZVxcXCI6IFxcXCJzdGVwc1xcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJsZXZlbFxcXCI6IDIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJzdGVwc1xcXCI6IHN0ZXBzLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicHJvcGVydHlcXFwiOiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiY3VycmVudFxcXCI6IGN1cnJlbnRTdGVwXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJzbG90c1xcXCI6IHtcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwYXJlbnRJbnN0YW5jZUtleVxcXCI6IHBhcmVudEluc3RhbmNlS2V5XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XTtcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIHN0ZXA7XFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAvL25vdGUg5Yib5bu65pe26Ze057q/XFxyXFxuICAgICAgICAgICAgZ2V0VGltZUxpbmUocGFyZW50SW5zdGFuY2VLZXkpe1xcclxcbiAgICAgICAgICAgICAgICBsZXQgdGltZUxpbmU9W1xcclxcbiAgICAgICAgICAgICAgICAgICAgXFxcImdhZWFfaW5zdGFuY2VfMWVtaXpoM21nODZcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJnYWVhS2V5XFxcIjogXFxcImdhZWEtdGltZS1saW5lXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwiZGF0YVxcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIl9fc2V0dGluZ19fXFxcIjogbnVsbCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIl9fY3JydEluc3RhbmNlSW5mb19fXFxcIjogbnVsbCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImxldmVsXFxcIjogMixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInByb3BlcnR5XFxcIjoge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIm1vZGVsXFxcIjpcXFwidGltZUxpbmVEYXRhXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJxckNvZGVTaG93XFxcIjogZmFsc2UsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicGVuZGluZ1xcXCI6IGZhbHNlXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJzbG90c1xcXCI6IHtcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwYXJlbnRJbnN0YW5jZUtleVxcXCI6IHBhcmVudEluc3RhbmNlS2V5XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIF07XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiB0aW1lTGluZTtcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIC8vbm90ZSDliJvlu7rkuIvovb3or4HnhafpmYTku7ZcXHJcXG4gICAgICAgICAgICBnZXRJbmZvQXR0YWNobWVudChwYXJlbnRJbnN0YW5jZUtleSl7XFxyXFxuICAgICAgICAgICAgICAgIGxldCAgaW5mb0F0dGFjaG1lbnQ9IFtcXHJcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJnYWVhX2luc3RhbmNlXzFpNjR4NnZjbHN1XFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwiZ2FlYUtleVxcXCI6IFxcXCJnYWVhLWluZm8tYXR0YWNobWVudFxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcImRhdGFcXFwiOiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJfX3NldHRpbmdfX1xcXCI6IG51bGwsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJfX2NycnRJbnN0YW5jZUluZm9fX1xcXCI6IG51bGwsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJzdHlsZXNcXFwiOiB7XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJsZXZlbFxcXCI6IDIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwcm9wZXJ0eVxcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJtb2RlbFxcXCI6IFxcXCJpbmZvQXR0YWNobWVudFxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiaGVhZGVyVGl0bGVcXFwiOiBcXFwiXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJzaG93SGVhZGVyXFxcIjogZmFsc2VcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcblxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcInNsb3RzXFxcIjoge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZGVmYXVsdFxcXCI6IFtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcInBhcmVudEluc3RhbmNlS2V5XFxcIjpwYXJlbnRJbnN0YW5jZUtleSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwicHJlR2FlYUtleVxcXCI6IG51bGxcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIGluZm9BdHRhY2htZW50O1xcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgLy9ub3RlIOWIm+W7umluZm9iYXNlIOWSjENlbGxcXHJcXG4gICAgICAgICAgICBnZXRDZWxsKGhlYWRlclRpdGxlKXtcXHJcXG4gICAgICAgICAgICAgICAgbGV0ICBjZWxsUHJvcD0gW1xcclxcbiAgICAgICAgICAgICAgICAgICAgXFxcImdhZWFfaW5zdGFuY2VfMXFjY2h3NWpmdWVcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJnYWVhS2V5XFxcIjogXFxcImdhZWEtY2VsbFxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcImRhdGFcXFwiOiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJfX3NldHRpbmdfX1xcXCI6IG51bGwsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJfX2NycnRJbnN0YW5jZUluZm9fX1xcXCI6IG51bGwsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJzdHlsZXNcXFwiOiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibWluV2lkdGhcXFwiOiBcXFwiMTAwcHhcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIm1pbkhlaWdodFxcXCI6IFxcXCIyMDBweFxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwid2lkdGhcXFwiOiBcXFwiMTAwJVxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiYmFja2dyb3VuZENvbG9yXFxcIjogXFxcIiNmZmZcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJsZXZlbFxcXCI6IDIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwcm9wZXJ0eVxcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJjb2xcXFwiOiA0LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInNob3dIZWFkZXJcXFwiOiB0cnVlLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInNob3dGb290ZXJcXFwiOiBmYWxzZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJoZWFkZXJUaXRsZVxcXCI6IGhlYWRlclRpdGxlfHxcXFwiXFxcIlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZXh0ZW5kXFxcIjoge1xcclxcblxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwic2xvdHNcXFwiOiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJkZWZhdWx0XFxcIjogW1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwicGFyZW50SW5zdGFuY2VLZXlcXFwiOiBcXFwiZ2FlYV9pbnN0YW5jZV91amVvZGxuOGZ4XFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwicHJlR2FlYUtleVxcXCI6IG51bGxcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNlbGxQcm9wO1xcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgZ2V0SW5mb0Jhc2UoYm94VGl0bGUpe1xcclxcbiAgICAgICAgICAgICAgICBsZXQgIGluZm9CYXNlUHJvcD0gW1xcclxcbiAgICAgICAgICAgICAgICAgICAgXFxcImdhZWFfaW5zdGFuY2VfdWplb2RsbjhmeFxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcImdhZWFLZXlcXFwiOiBcXFwiZ2FlYS1pbmZvLWJhc2VcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJkYXRhXFxcIjoge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiX19zZXR0aW5nX19cXFwiOiBudWxsLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiX19jcnJ0SW5zdGFuY2VJbmZvX19cXFwiOiBudWxsLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwic3R5bGVzXFxcIjoge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIm1pbldpZHRoXFxcIjogXFxcIjEwMHB4XFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ3aWR0aFxcXCI6IFxcXCI5NSVcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIm1pbkhlaWdodFxcXCI6IFxcXCIzODBweFxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiYmFja2dyb3VuZENvbG9yXFxcIjogXFxcIiNmZmZcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJsZXZlbFxcXCI6IDIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwcm9wZXJ0eVxcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJhcnJvd1xcXCI6IHRydWUsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZm9vdGVyXFxcIjogZmFsc2UsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiY29sXFxcIjogNCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJzaG93SGVhZGVyXFxcIjogdHJ1ZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJzaG93Rm9vdGVyXFxcIjogZmFsc2VcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImV4dGVuZFxcXCI6IHtcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcInNsb3RzXFxcIjoge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZGVmYXVsdFxcXCI6IFtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcInBhcmVudEluc3RhbmNlS2V5XFxcIjogYm94VGl0bGUsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcInByZUdhZWFLZXlcXFwiOiBudWxsXFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIF07XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiBpbmZvQmFzZVByb3A7XFxyXFxuICAgICAgICAgICAgfSxcXHJcXG5cXHJcXG4gICAgICAgICAgICAvL25vdGUg5Yib5bu6Ym94IGZvcm1cXHJcXG4gICAgICAgICAgICBnZXRUaXRsZShib3hOYW1lLG5hbWUpe1xcclxcbiAgICAgICAgICAgICAgICBsZXQgIHRpdGxlUHJvcD0gW1xcclxcbiAgICAgICAgICAgICAgICAgICAgXFxcImdhZWFfaW5zdGFuY2VfMjJxemE0dzBjM25cXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJnYWVhS2V5XFxcIjogXFxcImdhZWEtdGl0bGVcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJkYXRhXFxcIjoge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiX19zZXR0aW5nX19cXFwiOiBudWxsLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiX19jcnJ0SW5zdGFuY2VJbmZvX19cXFwiOiBudWxsLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwic3R5bGVzXFxcIjoge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImRpc3BsYXlcXFwiOiBcXFwiaW5saW5lLWJsb2NrXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ3aWR0aFxcXCI6IFxcXCIxMDBweFxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiaGVpZ2h0XFxcIjogXFxcIjMwcHhcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImxpbmVIZWlnaHRcXFwiOiBcXFwiMzBweFxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidGV4dEFsaWduXFxcIjogXFxcImNlbnRlclxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibWFyZ2luXFxcIjogXFxcIjEwcHhcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImJhY2tncm91bmRDb2xvclxcXCI6IFxcXCIjZmZmXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJmb250U2l6ZVxcXCI6IFxcXCIxNXB4XFxcIlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibGV2ZWxcXFwiOiAyLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicHJvcGVydHlcXFwiOiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBuYW1lXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJleHRlbmRcXFwiOiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwic3BhblxcXCI6IDE3LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImxhYmVsV2lkdGhcXFwiOiAyMjJcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcInNsb3RzXFxcIjoge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZGVmYXVsdFxcXCI6IFtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcInBhcmVudEluc3RhbmNlS2V5XFxcIjogYm94TmFtZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwicHJlR2FlYUtleVxcXCI6IG51bGxcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRpdGxlUHJvcDtcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIC8vbm90ZSDliJvlu7pib3ggZm9ybVxcclxcbiAgICAgICAgICAgIGdldEJveCgpe1xcclxcbiAgICAgICAgICAgICAgICBsZXQgIGJveFByb3A9IFtcXHJcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJnYWVhX2luc3RhbmNlX2JveF9cXFwiK3RoaXMucmFuZG9tV29yZCgxMiw0LDQpLFxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJnYWVhS2V5XFxcIjogXFxcImdhZWEtYm94XFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwiZGF0YVxcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIl9fc2V0dGluZ19fXFxcIjogbnVsbCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIl9fY3JydEluc3RhbmNlSW5mb19fXFxcIjogbnVsbCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInN0eWxlc1xcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ3aWR0aFxcXCI6IFxcXCIxMDAlXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJib3JkZXJcXFwiOiBcXFwiMHB4XFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJiYWNrZ3JvdW5kQ29sb3JcXFwiOiBcXFwiI2ZmZlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJsZXZlbFxcXCI6IDEsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwcm9wZXJ0eVxcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ2YWxpZGF0b3JcXFwiOiBmYWxzZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJtb2RlbFxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIm1pblJvd3NcXFwiOiAyLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImRpc2FibGVEZWxSb3dzXFxcIjogMixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJidG5Nc2dcXFwiOiBcXFwiXFxcIlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZXh0ZW5kXFxcIjoge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInNwYW5cXFwiOiAxNyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJsYWJlbFdpZHRoXFxcIjogMjIyXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJzbG90c1xcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImRlZmF1bHRcXFwiOiBbXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwYXJlbnRJbnN0YW5jZUtleVxcXCI6IFxcXCJnYWVhX2luc3RhbmNlXzFcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwcmVHYWVhS2V5XFxcIjogbnVsbFxcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICBdO1xcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gYm94UHJvcDtcXHJcXG5cXHJcXG5cXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIGdldEJ1dHRvbk9wcmF0b3IoYnV0dG9ucyl7XFxyXFxuICAgICAgICAgICAgICAgIGlmKGJ1dHRvbnMubGVuZ3RoPT0wKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbnM9WyB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcImxhYmVsXFxcIjogXFxcIuWKnuS6i+aMh+WNl1xcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcInR5cGVcXFwiOiBcXFwic3VjY2Vzc1xcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcImNsaWNrXFxcIjogXFxcImd1aWRlQ2xpY2tcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImxhYmVsXFxcIjogXFxcIuS4i+S4gOatpVxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ0eXBlXFxcIjogXFxcImVycm9yXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImNsaWNrXFxcIjogXFxcIm5leHRTdGVwQ2xpY2tcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJsYWJlbFxcXCI6IFxcXCLkv53lrZhcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidHlwZVxcXCI6IFxcXCJ3YXJuaW5nXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImNsaWNrXFxcIjogXFxcInNhdmVDbGlja1xcXCJcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICBsZXQgb3ByYXRlclByb3A9W107XFxyXFxuICAgICAgICAgICAgICAgIGxldCBidXR0b25PcHJhb3Rlcj1cXFwiZ2FlYV9pbnN0YW5jZV9idG5fXFxcIit0aGlzLnJhbmRvbVdvcmQoMTIsNCw0KTtcXHJcXG4gICAgICAgICAgICAgICAgbGV0ICBib3hQcm9wPSBbXFxyXFxuICAgICAgICAgICAgICAgICAgICBidXR0b25PcHJhb3RlciAsXFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcImdhZWFLZXlcXFwiOiBcXFwiZ2FlYS1idG5zLW9wcmF0b3JcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJkYXRhXFxcIjoge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiX19zZXR0aW5nX19cXFwiOiBudWxsLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiX19jcnJ0SW5zdGFuY2VJbmZvX19cXFwiOiBudWxsLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwic3R5bGVzXFxcIjoge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIm1hcmdpblRvcFxcXCI6IFxcXCIyMHB4XFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJtaW5XaWR0aFxcXCI6IFxcXCIxMDBweFxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwid2lkdGhcXFwiOiBcXFwiOTUlXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJtaW5IZWlnaHRcXFwiOiBcXFwiMTAwcHhcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImJvcmRlclxcXCI6IFxcXCIxcHggc29saWQgI2NjY1xcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiYmFja2dyb3VuZENvbG9yXFxcIjogXFxcIiNGREY4RjVcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInBhZGRpbmdCb3R0b21cXFwiOiBcXFwiMjBweFxcXCJcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImxldmVsXFxcIjogMSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInByb3BlcnR5XFxcIjoge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInZhbGlkYXRvclxcXCI6IGZhbHNlLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIm1vZGVsXFxcIjogXFxcIlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibWluUm93c1xcXCI6IDIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZGlzYWJsZURlbFJvd3NcXFwiOiAyLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInBhZGRpbmdcXFwiOiBcXFwiMHB4IDIxN3B4IDBweCA0MjNweFxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiYnRuTXNnXFxcIjogXFxcIlxcXCJcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImV4dGVuZFxcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJzcGFuXFxcIjogMTcsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibGFiZWxXaWR0aFxcXCI6IDIyMlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwic2xvdHNcXFwiOiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJkZWZhdWx0XFxcIjogW1xcclxcblxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwicGFyZW50SW5zdGFuY2VLZXlcXFwiOiBcXFwiZ2FlYV9pbnN0YW5jZV8xXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwicHJlR2FlYUtleVxcXCI6IG51bGxcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgICAgICAgICAgb3ByYXRlclByb3AucHVzaChib3hQcm9wKTtcXHJcXG4gICAgICAgICAgICAgICAgZm9yKGxldCBpPTA7aTxidXR0b25zLmxlbmd0aDtpKyspe1xcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IGdhZWFCdG49XFxcImdhZWFfaW5zdGFuY2VfYnRuX2NoaWxkX1xcXCIrdGhpcy5yYW5kb21Xb3JkKDEyLDQsNCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgcHJvcE9iaj1idXR0b25zW2ldO1xcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IG9wcmF0ZUJ1dHRvbj0gW1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGdhZWFCdG4sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZ2FlYUtleVxcXCI6IFxcXCJnYWVhLWJ1dHRvblxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJkYXRhXFxcIjoge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIl9fc2V0dGluZ19fXFxcIjogbnVsbCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJfX2NycnRJbnN0YW5jZUluZm9fX1xcXCI6IG51bGwsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidGV4dFxcXCI6IFxcXCJpbnB1dFxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwic3R5bGVzXFxcIjoge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJoZWlnaHRcXFwiOiBcXFwiNDBweFxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIndpZHRoXFxcIjogXFxcIjEwMHB4XFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibWFyZ2luXFxcIjogXFxcIjEwcHhcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInByb3BlcnR5XFxcIjogcHJvcE9iaixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ0ZXh0XFxcIjogXFxcIuWKnuS6i+aMh+WNl1xcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidHlwZVxcXCI6IFxcXCJzdWNjZXNzXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJsZXZlbFxcXCI6IDMsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZXh0ZW5kXFxcIjoge1xcclxcblxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwic2xvdHNcXFwiOiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwYXJlbnRJbnN0YW5jZUtleVxcXCI6IGJ1dHRvbk9wcmFvdGVyXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIG9wcmF0ZXJQcm9wLnB1c2gob3ByYXRlQnV0dG9uKTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gb3ByYXRlclByb3A7XFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICBnZXRGb3JtKGJveE5hbWUpe1xcclxcbiAgICAgICAgICAgICAgICBsZXQgIGZyb21Qcm9wPSBbXFxyXFxuICAgICAgICAgICAgICAgICAgICBcXFwiZ2FlYV9pbnN0YW5jZV8ycHZ6Z2JzZmhmNFxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcImdhZWFLZXlcXFwiOiBcXFwiZ2FlYS1mb3JtXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwiZGF0YVxcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIl9fc2V0dGluZ19fXFxcIjogbnVsbCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIl9fY3JydEluc3RhbmNlSW5mb19fXFxcIjogbnVsbCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInN0eWxlc1xcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ3aWR0aFxcXCI6IFxcXCIxMDAlXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJib3JkZXJcXFwiOiBcXFwiMHB4XFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJiYWNrZ3JvdW5kQ29sb3JcXFwiOiBcXFwiI2ZmZlxcXCJcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInR5cGVcXFwiOiBcXFwiZm9ybVxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCJGb3JtXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImxldmVsXFxcIjogMixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInByb3BlcnR5XFxcIjoge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInZhbGlkYXRvclxcXCI6IHRydWVcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImV4dGVuZFxcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJzcGFuXFxcIjogMTcsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibGFiZWxXaWR0aFxcXCI6IDIyMixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJpdGVtV2lkdGhcXFwiOiAzMjAsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicGxhY2Vob2xkZXJcXFwiOiBcXFwiXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJtYXhsZW5ndGhcXFwiOiBcXFwiMjIwXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJldmVudFR5cGVcXFwiOiBcXFwiXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJyb3dzXFxcIjogMFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwic2xvdHNcXFwiOiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJkZWZhdWx0XFxcIjogW1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwicGFyZW50SW5zdGFuY2VLZXlcXFwiOiBib3hOYW1lXFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIF07XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiBmcm9tUHJvcDtcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIC8vbm90ZSDliqDovb3mnI3liqHlmajooajljZXmlbDmja5cXHJcXG4gICAgICAgICAgICBsb2FkQmFzZUluZm9Gb3JtKCl7XFxyXFxuICAgICAgICAgICAgICAgIGlmKHRoaXMuaXNMb2FkZWREYXRlKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuJE5vdGljZS53YXJuaW5nKHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+WKoOi9veaVsOaNricsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVzYzogICflvZPliY3lt7Lnu4/liJvlu7rmlbDmja7vvIzkuI3og73nu6fnu63liJvlu7onXFxyXFxuICAgICAgICAgICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcblxcclxcbiAgICAgICAgICAgICAgICBsZXQgY291bnRGb3JtVGFibGVJbnN0YW5jZT0xMDAwO1xcclxcbiAgICAgICAgICAgICAgICBsZXQgY291bnRGb3JtSW5zdGFuY2U9MTAwO1xcclxcbiAgICAgICAgICAgICAgICBsZXQgX3RoaXM9dGhpcztcXHJcXG4gICAgICAgICAgICAgICAgbGV0IGFycjE9W107XFxyXFxuICAgICAgICAgICAgICAgIGxldCBwYXJhbXMgPSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBpdGVtTm86bG9jYWxTdG9yYWdlLml0ZW1ObyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1TdGVwOlxcXCIxXFxcIi8vbG9jYWxTdG9yYWdlLml0ZW1TdGVwXFxyXFxuICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICAgICAgICAgIGh0dHBMb2FkaW5nLnNob3dMb2FkaW5nKFxcXCLmraPlnKjliqDovb3mlbDmja4uLi5cXFwiKVxcclxcbiAgICAgICAgICAgICAgICBTZXJ2aWNlLnNlbGVjdEZvcm1Qcm9wKHBhcmFtcykudGhlbigocmVzKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAvL25vdGUg6aaW5YWI5Y+W5YiwZm9ybeeahOWunuS+i+WQjeensFxcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZvcm1JbnN0YW5jZU5hbWU9XFxcImdhZWFfaW5zdGFuY2VfMXFjY2h3NWpmdWVcXFwiO1xcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZvcm1Qcm9wQXJyPVtdO1xcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IHN0ZXBCb3g9X3RoaXMuZ2V0Qm94KCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBzdGVwQm94WzBdPVxcXCJnYWVhX2luc3RhbmNlX1xcXCIrX3RoaXMucmFuZG9tV29yZCgxMiw0LDQpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgZm9ybVByb3BBcnIucHVzaChzdGVwQm94KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyLnB1c2goX3RoaXMuZ2V0U3RlcChzdGVwQm94WzBdLHJlcy5zdGVwc3x8W3tcXFwidGl0bGVcXFwiOlxcXCLloavlhpnotYTmlplcXFwifSx7XFxcInRpdGxlXFxcIjpcXFwi5LiK5Lyg6ZmE5Lu2XFxcIn0se1xcXCJ0aXRsZVxcXCI6XFxcIuaPkOS6pOWuoeaguFxcXCJ9LHtcXFwidGl0bGVcXFwiOlxcXCLlt7Llip7nu5NcXFwifV0pKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyLnB1c2goX3RoaXMuZ2V0VGltZUxpbmUoc3RlcEJveFswXSkpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IGJveD1fdGhpcy5nZXRCb3goKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyLnB1c2goYm94KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyLnB1c2goX3RoaXMuZ2V0SW5mb0Jhc2UoYm94WzBdKSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGVkRGF0ZT10cnVlO1xcclxcbiAgICAgICAgICAgICAgICAgICAgaHR0cExvYWRpbmcuY2xvc2VMb2FkaW5nKCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBmb3IobGV0IHByb3BPYmogaW4gcmVzLnByb3ApIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZm9ybUFycj1yZXMucHJvcFtwcm9wT2JqXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBsZXQgY3VycmVudE9ialN0cj1KU09OLnN0cmluZ2lmeShyZXMucHJvcFtwcm9wT2JqXSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGV0IGxpc3RMZW5ndGg9IChjdXJyZW50T2JqU3RyLnNwbGl0KCdMaXN0JykpLmxlbmd0aC0xO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteUNlbGw9X3RoaXMuZ2V0Q2VsbChwcm9wT2JqKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBteUNlbGxbMF09XFxcImdhZWFfaW5zdGFuY2VfY2VsbF9cXFwiK190aGlzLnJhbmRvbVdvcmQoMTIsNCw0KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtUHJvcEFyci5wdXNoKG15Q2VsbCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBmb3JtQXJyLmxlbmd0aDsgaisrKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmcm9tUHJvcCA9IFtdO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5bGe5oCn5a+56LGhXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteVByb3BPYmogPSB7fVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5LiL5ouJ5qGG5oiW6ICF5Y2V6YCJ5qGG5pWw57uEXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteVJhZGlvQXJyID0gW107XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDlt6Xlhbfnu4Tku7bnsbvlnotcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG15R2FlYUtleSA9IFxcXCJcXFwiO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg57O757uf57uE5Lu257G75Z6LXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteVR5cGUgPSBcXFwiXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZvcm1BcnJbal0uYnVzaVR5cGUgPT0gXFxcIkxpc3RcXFwiKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzQXJyID0gZXZhbCgnKCcgKyBmb3JtQXJyW2pdLmJ1c2lFeHBsYWluICsgJyknKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IHByb3AgaW4gcmVzQXJyKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cocHJvcCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMuaW5pdEZvcm1UYWJsZUtleShwcm9wKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNBcnJbcHJvcF0pO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByZXNwb25zZSA9IHJlc0Fycltwcm9wXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5LiL5ouJ5qGG5oiW6ICF5Y2V6YCJ5qGG5pWw57uEXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG15RnJvbVRhYmxlUmFkaW9BcnIgPSBbXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5bel5YW357uE5Lu257G75Z6LXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG15RnJvbVRhYmxlR2FlYUtleSA9IFxcXCJcXFwiO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDns7vnu5/nu4Tku7bnsbvlnotcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlGcm9tVGFibGVUeXBlID0gXFxcIlxcXCI7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG15RnJvbVRhYmxlUHJvcE9iaiA9IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogZm9ybUFycltqXS5idXNpRGVzYyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInByb3BcXFwiOiBwcm9wLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibGFiZWxcXFwiOiBcXFwidGFibGVcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwic3BhblxcXCI6IDI0LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwid2lkdGhcXFwiOiAxMDAwXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteUdhZWFLZXkgPSBcXFwiZ2FlYS1jZWxsLXRhYmxlXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZm9ybVRhYmxlUHJvcCA9IFtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImdhZWFfaW5zdGFuY2VfY2VsbHRhYmxlX1xcXCIgKyBjb3VudEZvcm1UYWJsZUluc3RhbmNlICsgaixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImdhZWFLZXlcXFwiOiBteUdhZWFLZXksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZGF0YVxcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiX19zZXR0aW5nX19cXFwiOiBudWxsLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJfX2NycnRJbnN0YW5jZUluZm9fX1xcXCI6IG51bGwsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInRleHRcXFwiOiBcXFwiaW5wdXRcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJzdHlsZXNcXFwiOiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJib3JkZXJcXFwiOiBcXFwiMXB4IHNvbGlkICNjY2NcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiYmFja2dyb3VuZENvbG9yXFxcIjogXFxcIiNmY2ZjZmNcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwiY2VsbC10YWJsZVxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInR5cGVcXFwiOiBcXFwiY2VsbC10YWJsZVxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImxldmVsXFxcIjogMixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidmFsaWRhdGVcXFwiOiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJyZXF1aXJlZFxcXCI6IGZhbHNlLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibWVzc2FnZVxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidHlwZVxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidHJpZ2dlclxcXCI6IFxcXCJcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZXh0ZW5kXFxcIjoge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZXZlbnRUeXBlXFxcIjogXFxcIlxcXCJcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwcm9wZXJ0eVxcXCI6IG15RnJvbVRhYmxlUHJvcE9iaixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwic2xvdHNcXFwiOiB7fSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwYXJlbnRJbnN0YW5jZUtleVxcXCI6IG15Q2VsbFswXVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtUHJvcEFyci5wdXNoKGZvcm1UYWJsZVByb3ApO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDlho3liqDovb1mb3JtLXRhYmxlIOmHjOmdoueahOWxnuaAp1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzcG9uc2UubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOWxnuaAp+WvueixoVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlQcm9wT2JqID0ge31cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOS4i+aLieahhuaIluiAheWNlemAieahhuaVsOe7hFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlSYWRpb0FyciA9IFtdO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5bel5YW357uE5Lu257G75Z6LXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteUZvcm1UYWJsZUdhZWFLZXkgPSBcXFwiXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOezu+e7n+e7hOS7tuexu+Wei1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlGb3JtVGFibGVQcm9wVHlwZSA9IFxcXCJcXFwiO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5a6a5LmJ5pWw57uE57G75Z6LXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByYWRpb0Zvcm1UYWJsZUFyciA9IFtdO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2VbaV0uYnVzaVR5cGVOYW1lID09IFxcXCJyYWRpb1xcXCIpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSBzZWxlY3RcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlW2ldLmJ1c2lFeHBsYWluKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByYWRpb0FyclByb3AgPSBldmFsKCcoJyArIHJlc3BvbnNlW2ldLmJ1c2lFeHBsYWluICsgJyknKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IHByb3AgaW4gcmFkaW9BcnJQcm9wKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHByb3BPYmogPSB7fTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wT2JqLmxhYmVsID0gcHJvcDtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wT2JqLnZhbHVlID0gcmFkaW9BcnJQcm9wW3Byb3BdO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBvYmogPSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJzaXplXFxcIjogXFxcIlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJkaXNhYmxlZFxcXCI6IGZhbHNlXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wT2JqLmV4dGVuZCA9IG9iajtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWRpb0Zvcm1UYWJsZUFyci5wdXNoKHByb3BPYmopO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlQcm9wT2JqID1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJrZXlcXFwiOiByZXNwb25zZVtpXS5idXNpTmFtZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogcmVzcG9uc2VbaV0uYnVzaURlc2MsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJsYWJlbFxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiYnVzaUlkXFxcIjogXFxcIlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJpdGVtc1Byb3BcXFwiOiBcXFwiXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInR5cGVcXFwiOiBcXFwic2VsZWN0XFxcIlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15Rm9ybVRhYmxlR2FlYUtleSA9IFxcXCJnYWVhLXRhYmxlLXNlbGVjdFxcXCI7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUZvcm1UYWJsZVByb3BUeXBlID0gXFxcInNlbGVjdFxcXCI7XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2VbaV0uYnVzaVR5cGVOYW1lID09IFxcXCJzaW5nbGVEYXRlXFxcIikge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlQcm9wT2JqID0ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJrZXlcXFwiOiByZXNwb25zZVtpXS5idXNpTmFtZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiByZXNwb25zZVtpXS5idXNpRGVzYyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiYWxpZ25cXFwiOiBcXFwiY2VudGVyXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidHlwZVxcXCI6IFxcXCJzaW5nbGVEYXRlXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicGxhY2Vob2xkZXJcXFwiOiBcXFwiXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15Rm9ybVRhYmxlR2FlYUtleSA9IFxcXCJnYWVhLXRhYmxlLXNpbmdsZS1kYXRlXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15Rm9ybVRhYmxlUHJvcFR5cGUgPSBcXFwidGFibGUtZGF0ZS1waWNrZXJcXFwiO1xcclxcblxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlW2ldLmJ1c2lUeXBlTmFtZSA9PSBcXFwiZGF0YVJhbmdlXFxcIikge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlQcm9wT2JqID0ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJrZXlcXFwiOiByZXNwb25zZVtpXS5idXNpTmFtZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiByZXNwb25zZVtpXS5idXNpRGVzYyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiYWxpZ25cXFwiOiBcXFwiY2VudGVyXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidHlwZVxcXCI6IFxcXCJkYXRhUmFuZ2VcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwbGFjZWhvbGRlclxcXCI6IFxcXCJcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUZvcm1UYWJsZUdhZWFLZXkgPSBcXFwiZ2FlYS10YWJsZS1zaW5nbGUtZGF0ZVxcXCI7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUZvcm1UYWJsZVByb3BUeXBlID0gXFxcInRhYmxlLWRhdGUtcGlja2VyXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UHJvcE9iaiA9IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwia2V5XFxcIjogcmVzcG9uc2VbaV0uYnVzaU5hbWUsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogcmVzcG9uc2VbaV0uYnVzaURlc2MsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImFsaWduXFxcIjogXFxcImNlbnRlclxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInR5cGVcXFwiOiBcXFwiaW5wdXRcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwbGFjZWhvbGRlclxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlGb3JtVGFibGVHYWVhS2V5ID0gXFxcImdhZWEtdGFibGUtaW5wdXRcXFwiO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlGb3JtVGFibGVQcm9wVHlwZSA9IFxcXCJpbnB1dFxcXCI7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZyb21UYWJsZUNoaWxkUHJvcCA9IFtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJnYWVhX2luc3RhbmNlX3RhYmxlXFxcIiArIGNvdW50Rm9ybUluc3RhbmNlICsgaiArIGksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImdhZWFLZXlcXFwiOiBteUZvcm1UYWJsZUdhZWFLZXksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImRhdGFcXFwiOiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJfX3NldHRpbmdfX1xcXCI6IG51bGwsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJfX2NycnRJbnN0YW5jZUluZm9fX1xcXCI6IG51bGwsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ0ZXh0XFxcIjogXFxcImlucHV0XFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInN0eWxlc1xcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJoZWlnaHRcXFwiOiBcXFwiNDBweFxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwid2lkdGhcXFwiOiAxMDAsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibWFyZ2luXFxcIjogXFxcIjEwcHhcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ0eXBlXFxcIjogbXlGb3JtVGFibGVQcm9wVHlwZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImxldmVsXFxcIjogMyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInZhbGlkYXRlQXJyXFxcIjogW10sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJpdGVtc1Byb3BcXFwiOiByYWRpb0Zvcm1UYWJsZUFycixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInJhZGlvQXJyXFxcIjogcmFkaW9Gb3JtVGFibGVBcnIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwcm9wZXJ0eVxcXCI6IG15UHJvcE9iaixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImV4dGVuZFxcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJpdGVtV2lkdGhcXFwiOiAzMjAsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicGxhY2Vob2xkZXJcXFwiOiBcXFwiXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJldmVudFR5cGVcXFwiOiBcXFwiXFxcIlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwic2xvdHNcXFwiOiB7fSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicGFyZW50SW5zdGFuY2VLZXlcXFwiOiBcXFwiZ2FlYV9pbnN0YW5jZV9jZWxsdGFibGVfXFxcIiArIGNvdW50Rm9ybVRhYmxlSW5zdGFuY2UgKyBqXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF07XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyLnB1c2goZnJvbVRhYmxlQ2hpbGRQcm9wKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZm9ybUFycltqXS5idXNpVHlwZSA9PSBcXFwiaGlkZVxcXCIpIHtcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZvcm1BcnJbal0uYnVzaVR5cGUgPT0gXFxcInNlbGVjdFxcXCJ8fGZvcm1BcnJbal0uYnVzaVR5cGUgPT0gXFxcInNlbGVjdExhYmVsXFxcInx8Zm9ybUFycltqXS5idXNpVHlwZSA9PSBcXFwic2VsZWN0TGlua1xcXCIpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhmb3JtQXJyW2pdLmJ1c2lFeHBsYWluKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmFkaW9BcnIgPSBbXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihmb3JtQXJyW2pdLmJ1c2lFeHBsYWluIT1cXFwiXFxcIil7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByYWRpb0FyclByb3AgPSBldmFsKCcoJyArIGZvcm1BcnJbal0uYnVzaUV4cGxhaW4gKyAnKScpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBwcm9wIGluIHJhZGlvQXJyUHJvcCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHByb3BPYmogPSB7fTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmoubGFiZWwgPSBwcm9wO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai52YWx1ZSA9IHJhZGlvQXJyUHJvcFtwcm9wXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBvYmogPSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInNpemVcXFwiOiBcXFwiXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZGlzYWJsZWRcXFwiOiBmYWxzZVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmouZXh0ZW5kID0gb2JqO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFkaW9BcnIucHVzaChwcm9wT2JqKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmogPSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJsYWJlbFxcXCI6IFxcXCJzZWxlY3RcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBmb3JtQXJyW2pdLmJ1c2lEZXNjLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiYnVzaUlkXFxcIjogZm9ybUFycltqXS5idXNpSWQsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwcm9wXFxcIjogZm9ybUFycltqXS5idXNpSWRcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlSYWRpb0FyciA9IHJhZGlvQXJyO1xcclxcblxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChmb3JtQXJyW2pdLmJ1c2lUeXBlID09IFxcXCJyYWRpb1xcXCIpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmFkaW9BcnIgPSBbXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihmb3JtQXJyW2pdLmJ1c2lFeHBsYWluJiZmb3JtQXJyW2pdLmJ1c2lFeHBsYWluIT1cXFwiXFxcIil7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGZvcm1BcnJbal0uYnVzaUV4cGxhaW4pO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmFkaW9BcnJQcm9wID0gZXZhbCgnKCcgKyBmb3JtQXJyW2pdLmJ1c2lFeHBsYWluICsgJyknKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoZm9ybUFycltqXS5idXNpRXhwbGFpbiE9XFxcIlxcXCIpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgcHJvcCBpbiByYWRpb0FyclByb3ApIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcHJvcE9iaiA9IHt9O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmoubGFiZWwgPSBwcm9wO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmoudmFsdWUgPSByYWRpb0FyclByb3BbcHJvcF07XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG9iaiA9IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInNpemVcXFwiOiBcXFwiXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImRpc2FibGVkXFxcIjogZmFsc2VcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmouZXh0ZW5kID0gb2JqO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhZGlvQXJyLnB1c2gocHJvcE9iaik7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlQcm9wT2JqID0ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibGFiZWxcXFwiOiBcXFwic2VsZWN0XFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogZm9ybUFycltqXS5idXNpRGVzYyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImJ1c2lJZFxcXCI6IGZvcm1BcnJbal0uYnVzaUlkLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicHJvcFxcXCI6IGZvcm1BcnJbal0uYnVzaUlkXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UmFkaW9BcnIgPSByYWRpb0FycjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlIGlmIChmb3JtQXJyW2pdLmJ1c2lUeXBlID09IFxcXCJjaGVja2JveE11bHRpcGxlXFxcIikge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByYWRpb0FyciA9IFtdO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGZvcm1BcnJbal0uYnVzaUV4cGxhaW4mJmZvcm1BcnJbal0uYnVzaUV4cGxhaW4hPVxcXCJcXFwiKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZm9ybUFycltqXS5idXNpRXhwbGFpbik7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByYWRpb0FyclByb3AgPSBldmFsKCcoJyArIGZvcm1BcnJbal0uYnVzaUV4cGxhaW4gKyAnKScpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihmb3JtQXJyW2pdLmJ1c2lFeHBsYWluIT1cXFwiXFxcIil7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBwcm9wIGluIHJhZGlvQXJyUHJvcCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwcm9wT2JqID0ge307XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai5sYWJlbCA9IHByb3A7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai52YWx1ZSA9IHJhZGlvQXJyUHJvcFtwcm9wXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgb2JqID0ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwic2l6ZVxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZGlzYWJsZWRcXFwiOiBmYWxzZVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai5leHRlbmQgPSBvYmo7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFkaW9BcnIucHVzaChwcm9wT2JqKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmogPSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJsYWJlbFxcXCI6IFxcXCJjaGVja2JveE11bHRpcGxlXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogZm9ybUFycltqXS5idXNpRGVzYyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImJ1c2lJZFxcXCI6IGZvcm1BcnJbal0uYnVzaUlkLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicHJvcFxcXCI6IGZvcm1BcnJbal0uYnVzaUlkXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UmFkaW9BcnIgPSByYWRpb0FycjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZm9ybUFycltqXS5idXNpVHlwZSA9PSBcXFwiY2hlY2tib3hNdWx0aXBsZVJhZGlvXFxcIikge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByYWRpb0FyciA9IFtdO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGZvcm1BcnJbal0uYnVzaUV4cGxhaW4mJmZvcm1BcnJbal0uYnVzaUV4cGxhaW4hPVxcXCJcXFwiKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZm9ybUFycltqXS5idXNpRXhwbGFpbik7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByYWRpb0FyclByb3AgPSBldmFsKCcoJyArIGZvcm1BcnJbal0uYnVzaUV4cGxhaW4gKyAnKScpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihmb3JtQXJyW2pdLmJ1c2lFeHBsYWluIT1cXFwiXFxcIil7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBwcm9wIGluIHJhZGlvQXJyUHJvcCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwcm9wT2JqID0ge307XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai5sYWJlbCA9IHByb3A7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai52YWx1ZSA9IHJhZGlvQXJyUHJvcFtwcm9wXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgb2JqID0ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwic2l6ZVxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZGlzYWJsZWRcXFwiOiBmYWxzZVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai5leHRlbmQgPSBvYmo7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFkaW9BcnIucHVzaChwcm9wT2JqKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmogPSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJsYWJlbFxcXCI6IFxcXCJjaGVja2JveE11bHRpcGxlUmFkaW9cXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBmb3JtQXJyW2pdLmJ1c2lEZXNjLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiYnVzaUlkXFxcIjogZm9ybUFycltqXS5idXNpSWQsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwcm9wXFxcIjogZm9ybUFycltqXS5idXNpSWRcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlSYWRpb0FyciA9IHJhZGlvQXJyO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAgZWxzZSBpZiAoZm9ybUFycltqXS5idXNpVHlwZSA9PSBcXFwiZGF0ZS1waWNrZXItZGF0ZXJhbmdlXFxcIikge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UHJvcE9iaiA9IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImxhYmVsXFxcIjogXFxcImRhdGVcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBmb3JtQXJyW2pdLmJ1c2lEZXNjLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiYnVzaUlkXFxcIjogZm9ybUFycltqXS5idXNpSWRcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZSBpZihmb3JtQXJyW2pdLmJ1c2lUeXBlPT1cXFwiZW5kRGF0ZUNob29zZVxcXCJ8fGZvcm1BcnJbal0uYnVzaVR5cGU9PVxcXCJwbGF0ZS1pbnB1dFxcXCJ8fGZvcm1BcnJbal0uYnVzaVR5cGU9PVxcXCJzZWxlY3QtaW5wdXRcXFwifHxmb3JtQXJyW2pdLmJ1c2lUeXBlPT1cXFwiYnVkb25nY2hhblxcXCIpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UHJvcE9iaj17XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJidXNpSWRcXFwiOmZvcm1BcnJbal0uYnVzaUlkLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBmb3JtQXJyW2pdLmJ1c2lEZXNjLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicHJvcFxcXCI6IGZvcm1BcnJbal0uYnVzaUlkXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15R2FlYUtleT1cXFwiZ2FlYS1cXFwiK2Zvcm1BcnJbal0uYnVzaVR5cGU7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlUeXBlPWZvcm1BcnJbal0uYnVzaVR5cGU7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChmb3JtQXJyW2pdLmJ1c2lUeXBlID09IFxcXCJkYXRlLXBpY2tlclxcXCIpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmogPSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IGZvcm1BcnJbal0uYnVzaURlc2MsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwcm9wXFxcIjogZm9ybUFycltqXS5idXNpSWQsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJidXNpSWRcXFwiOiBmb3JtQXJyW2pdLmJ1c2lJZFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gIGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UHJvcE9iaiA9IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogZm9ybUFycltqXS5idXNpRGVzYyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInByb3BcXFwiOiBmb3JtQXJyW2pdLmJ1c2lJZCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImJ1c2lJZFxcXCI6IGZvcm1BcnJbal0uYnVzaUlkXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZvcm1Qcm9wID0gW1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJnYWVhX2luc3RhbmNlX2NlbGwtY2hpbGRfXFxcIiArIGNvdW50Rm9ybUluc3RhbmNlICsgXFxcIjAwMVxcXCIgKyBqLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImdhZWFLZXlcXFwiOiBcXFwiZ2FlYS1jZWxsLWNoaWxkXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImRhdGFcXFwiOiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiX19zZXR0aW5nX19cXFwiOiBudWxsLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIl9fY3JydEluc3RhbmNlSW5mb19fXFxcIjogbnVsbCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ0ZXh0XFxcIjogXFxcImlucHV0XFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJzdHlsZXNcXFwiOiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImhlaWdodFxcXCI6IFxcXCI0MHB4XFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwid2lkdGhcXFwiOiBcXFwiMTAwcHhcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJtYXJnaW5cXFwiOiBcXFwiMTBweFxcXCJcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidHlwZVxcXCI6IFxcXCJsYWJlbFxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibW9kZWwxXFxcIjogXFxcIlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibGV2ZWxcXFwiOiAzLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInZhbGlkYXRlQXJyXFxcIjogW10sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicmFkaW9BcnJcXFwiOiBteVJhZGlvQXJyLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInByb3BlcnR5XFxcIjogbXlQcm9wT2JqLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIndpZHRoXFxcIjogMzIwLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImV4dGVuZFxcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiaXRlbVdpZHRoXFxcIjogMzIwLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwbGFjZWhvbGRlclxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJtYXhsZW5ndGhcXFwiOiBcXFwiMjIwXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZXZlbnRUeXBlXFxcIjogXFxcIlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInJvd3NcXFwiOiAwXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJzbG90c1xcXCI6IHt9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicGFyZW50SW5zdGFuY2VLZXlcXFwiOiBteUNlbGxbMF1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybVByb3BBcnIucHVzaChmb3JtUHJvcCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlXFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgYm90dG9tQm94PV90aGlzLmdldEJveCgpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tQm94WzBdPVxcXCJnYWVhX2luc3RhbmNlX1xcXCIrdGhpcy5yYW5kb21Xb3JkKDEyLDQsNCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBmb3JtUHJvcEFyci5wdXNoKGJvdHRvbUJveCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBmb3JtUHJvcEFyci5wdXNoKF90aGlzLmdldEluZm9BdHRhY2htZW50KGJvdHRvbUJveFswXSkpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgZm9ybVByb3BBcnI9Wy4uLmZvcm1Qcm9wQXJyLC4uLl90aGlzLmdldEJ1dHRvbk9wcmF0b3IocmVzLmJ1dHRvbnMhPVxcXCJcXFwifHxbXSldO1xcclxcbiAgICAgICAgICAgICAgICAgICAgZGVidWdnZXI7XFxyXFxuICAgICAgICAgICAgICAgICAgICBfdGhpcy5sb2NhbEluc3RhbmNlPWZvcm1Qcm9wQXJyO1xcclxcbiAgICAgICAgICAgICAgICAgICAgX3RoaXMuZGVsYXlFeGN1dGUoMCk7XFxyXFxuICAgICAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgICAgICAgICAvKiovXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAvL25vdGUg5Yqg6L295pyN5Yqh5Zmo6KGo5Y2V5pWw5o2uXFxyXFxuXFxyXFxuICAgICAgICAgICAgLy9ub3RlIOWIneWni+WMlmZvcm10YWJsZSBrZXlcXHJcXG4gICAgICAgICAgICBpbml0Rm9ybVRhYmxlS2V5KGZvcm1UYWJsZUtleSl7XFxyXFxuICAgICAgICAgICAgICAgIC8vbm90ZSDlpoLmnpzkuLrnqbrmiJbogIXkuI3lrZjlnKjvvIzorr7nva7kuIDkuKpcXHJcXG4gICAgICAgICAgICAgICAgbGV0IGFycj1bXTtcXHJcXG4gICAgICAgICAgICAgICAgaWYobG9jYWxTdG9yYWdlLmZvcm1UYWJsZUtleSYmbG9jYWxTdG9yYWdlLmZvcm1UYWJsZUtleSE9bnVsbCl7XFxyXFxuICAgICAgICAgICAgICAgICAgICBhcnI9ZXZhbCgnKCcrbG9jYWxTdG9yYWdlLmZvcm1UYWJsZUtleSsnKScpO1xcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIGFyci5wdXNoKGZvcm1UYWJsZUtleSlcXHJcXG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLmZvcm1UYWJsZUtleT1KU09OLnN0cmluZ2lmeShhcnIpO1xcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgbG9hZFVwbG9hZEZpbGUoKXtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IGNvdW50Rm9ybVRhYmxlSW5zdGFuY2U9MTAwMDtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IGNvdW50Rm9ybUluc3RhbmNlPTExMTE7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBhcnIxPVtdO1xcclxcbiAgICAgICAgICAgICAgICBsZXQgX3RoaXM9dGhpcztcXHJcXG4gICAgICAgICAgICAgICAgbGV0IHBhcmFtcyA9IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1TdGVwOmxvY2FsU3RvcmFnZS5pdGVtU3RlcCxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1Obzpsb2NhbFN0b3JhZ2UuaXRlbU5vXFxyXFxuICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICAgICAgICAgIGlmKHRoaXMuaXNMb2FkZWREYXRlKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuJE5vdGljZS53YXJuaW5nKHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+WKoOi9veaVsOaNricsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVzYzogICflvZPliY3lt7Lnu4/liJvlu7rmlbDmja7vvIzkuI3og73nu6fnu63liJvlu7onXFxyXFxuICAgICAgICAgICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICBodHRwTG9hZGluZy5zaG93TG9hZGluZyhcXFwi5q2j5Zyo5Yqg6L295pWw5o2uLi4uXFxcIilcXHJcXG4gICAgICAgICAgICAgICAgU2VydmljZS5zZWxlY3RGb3JtUHJvcChwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgZGVidWdnZXI7XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgZm9ybVByb3BBcnI9W107XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgYm94PV90aGlzLmdldEJveCgpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgZm9ybVByb3BBcnIucHVzaChib3gpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgZm9ybVByb3BBcnIucHVzaChfdGhpcy5nZXRTdGVwKGJveFswXSxyZXMuc3RlcHN8fFtdKSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBmb3JtUHJvcEFyci5wdXNoKF90aGlzLmdldFRpdGxlKGJveFswXSxcXFwi5LiK5Lyg6ZmE5Lu2XFxcIikpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgZm9ybVByb3BBcnIucHVzaChfdGhpcy5nZXRVcGxvYWRGaWxlKGJveFswXSkpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgZm9ybVByb3BBcnI9Wy4uLmZvcm1Qcm9wQXJyLC4uLl90aGlzLmdldEJ1dHRvbk9wcmF0b3IocmVzLmJ1dHRvbnN8fFtdKV07XFxyXFxuICAgICAgICAgICAgICAgICAgICBfdGhpcy5sb2NhbEluc3RhbmNlPWZvcm1Qcm9wQXJyO1xcclxcbiAgICAgICAgICAgICAgICAgICAgX3RoaXMuZGVsYXlFeGN1dGUoMCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBodHRwTG9hZGluZy5jbG9zZUxvYWRpbmcoKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWREYXRlPXRydWU7XFxyXFxuICAgICAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgZ2V0VXBsb2FkRmlsZShwYXJlbnRLZXkpe1xcclxcbiAgICAgICAgICAgICAgICBsZXQgIG15UHJvcE9iaj17XFxyXFxuICAgICAgICAgICAgICAgICAgICBcXFwidHlwZVxcXCI6IFxcXCJub0FjdGlvblxcXCJcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICBsZXQgIHVwbG9hZEZpbGU9IFtcXHJcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJnYWVhX2luc3RhbmNlXzI0MTI3NXZheDRpXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwiZ2FlYUtleVxcXCI6IFxcXCJnYWVhLXRhYmxlLWF0dGFjaC1maWxlXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwiZGF0YVxcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIl9fc2V0dGluZ19fXFxcIjogbnVsbCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIl9fY3JydEluc3RhbmNlSW5mb19fXFxcIjogbnVsbCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImxldmVsXFxcIjogMixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInByb3BlcnR5XFxcIjogbXlQcm9wT2JqLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcInNsb3RzXFxcIjoge1xcclxcblxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcInBhcmVudEluc3RhbmNlS2V5XFxcIjogcGFyZW50S2V5XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIF07XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiB1cGxvYWRGaWxlO1xcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgLy9ub3RlIOiOt+WPlumaj+acuuWtl+espuS4slxcclxcbiAgICAgICAgICAgIHJhbmRvbVdvcmQocmFuZG9tRmxhZywgbWluLCBtYXgpe1xcclxcbiAgICAgICAgICAgICAgICBsZXQgc3RyID0gXFxcIlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICBwb3M9MCxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJhbmdlID0gbWluLFxcclxcbiAgICAgICAgICAgICAgICAgICAgYXJyID0gWycwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5JywgJ2EnLCAnYicsICdjJywgJ2QnLCAnZScsICdmJywgJ2cnLCAnaCcsICdpJywgJ2onLCAnaycsICdsJywgJ20nLCAnbicsICdvJywgJ3AnLCAncScsICdyJywgJ3MnLCAndCcsICd1JywgJ3YnLCAndycsICd4JywgJ3knLCAneicsICdBJywgJ0InLCAnQycsICdEJywgJ0UnLCAnRicsICdHJywgJ0gnLCAnSScsICdKJywgJ0snLCAnTCcsICdNJywgJ04nLCAnTycsICdQJywgJ1EnLCAnUicsICdTJywgJ1QnLCAnVScsICdWJywgJ1cnLCAnWCcsICdZJywgJ1onXTtcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgLy8g6ZqP5py65Lqn55SfXFxyXFxuICAgICAgICAgICAgICAgIGlmKHJhbmRvbUZsYWcpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgcmFuZ2UgPSBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAobWF4LW1pbikpICsgbWluO1xcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIGZvcihsZXQgaT0wOyBpPHJhbmdlOyBpKyspe1xcclxcbiAgICAgICAgICAgICAgICAgICAgcG9zID0gTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogKGFyci5sZW5ndGgtMSkpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgc3RyICs9IGFycltwb3NdO1xcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiBzdHI7XFxyXFxuICAgICAgICAgICAgfSxcXHJcXG5cXHJcXG4gICAgICAgICAgICBpbml0Rm9ybUxheW91dChkYXRhKXtcXHJcXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coY29uZmlnUGFnZUlkZSk7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBjb3VudEZvcm1UYWJsZUluc3RhbmNlPTEwMDA7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBjb3VudEZvcm1JbnN0YW5jZT0xMTExO1xcclxcbiAgICAgICAgICAgICAgICBsZXQgYXJyMT1bXTtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IF90aGlzPXRoaXM7XFxyXFxuICAgICAgICAgICAgICAgIC8qICAgIGxldCBib3g9X3RoaXMuZ2V0Qm94KCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAvL25vdGUg6aaW5YWI5Y+W5YiwYm9455qE5a6e5L6L5ZCN56ewXFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgYm94SW5zdGFuY2VOYW1lPWJveFswXTsvL190aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50Qm94SW5zdGFuY2VLZXk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgZm9ybVByb3BBcnI9W107XFxyXFxuICAgICAgICAgICAgICAgICAgICBmb3JtUHJvcEFyci5wdXNoKGJveCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgZm9ybUluc3RhbmNlTmFtZT1cXFwiZ2FlYV9pbnN0YW5jZV8ycHZ6Z2JzZmhmNFxcXCI7XFxyXFxuICAgICAgICAgICAgICAgICAgICAvL25vdGUg6L+Z5Liq5pyJ54K554m55q6K77yM6KaB5YWI5Yib5bu6Zm9ybXRhYmxlIOWGjeWIm+W7umZvcm10YWJsZemHjOmdoueahOWxnuaAp1xcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IG15Rm9ybT17fTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIG15Rm9ybT1fdGhpcy5nZXRGb3JtKGJveEluc3RhbmNlTmFtZSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBteUZvcm1bMF09XFxcImdhZWFfaW5zdGFuY2VfZm9ybV9cXFwiK190aGlzLnJhbmRvbVdvcmQoMTIsNCw0KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyLnB1c2gobXlGb3JtKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIC8vbm90ZSAg5re75Yqg5oyJ6ZKuXFxyXFxuICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyPVsuLi5mb3JtUHJvcEFyciwuLi5fdGhpcy5nZXRCdXR0b25PcHJhdG9yKFtdKV07Ki9cXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcXFwidmlld1R5cGVcXFwiKSAhPSBudWxsKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgLy/oh6rlrprkuYnku6PnoIFcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcXFwidmlld1R5cGVcXFwiKVxcclxcbiAgICAgICAgICAgICAgICAgICAgfWVsc2V7XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxldCBmb3JtUHJvcEFycj1bW1xcXCJnYWVhX2luc3RhbmNlX2JveF9JSW1WXFxcIix7XFxcImdhZWFLZXlcXFwiOlxcXCJnYWVhLWJveFxcXCIsXFxcImRhdGFcXFwiOntcXFwiX19zZXR0aW5nX19cXFwiOm51bGwsXFxcIl9fY3JydEluc3RhbmNlSW5mb19fXFxcIjpudWxsLFxcXCJzdHlsZXNcXFwiOntcXFwid2lkdGhcXFwiOlxcXCIxMDAlXFxcIixcXFwiaGVpZ2h0XFxcIjpcXFwiMTAwJVxcXCIsXFxcImJvcmRlclxcXCI6XFxcIjBweFxcXCIsXFxcImJhY2tncm91bmRDb2xvclxcXCI6XFxcIiNGRkZGRkZcXFwiLFxcXCJtYXJnaW5cXFwiOlxcXCIwcHhcXFwifSxcXFwibGV2ZWxcXFwiOjEsXFxcInByb3BlcnR5XFxcIjp7XFxcInZhbGlkYXRvclxcXCI6ZmFsc2UsXFxcIm1vZGVsXFxcIjpcXFwiXFxcIixcXFwibWluUm93c1xcXCI6MixcXFwiZGlzYWJsZURlbFJvd3NcXFwiOjIsXFxcImJ0bk1zZ1xcXCI6XFxcIlxcXCJ9LFxcXCJleHRlbmRcXFwiOntcXFwic3BhblxcXCI6MTcsXFxcImxhYmVsV2lkdGhcXFwiOjIyMn19LFxcXCJzbG90c1xcXCI6e1xcXCJkZWZhdWx0XFxcIjpbXFxcImdhZWFfaW5zdGFuY2VfZm9ybV81M0lvXFxcIl19LFxcXCJwYXJlbnRJbnN0YW5jZUtleVxcXCI6XFxcImdhZWFfaW5zdGFuY2VfMVxcXCIsXFxcInByZUdhZWFLZXlcXFwiOm51bGx9XSxbXFxcImdhZWFfaW5zdGFuY2VfZm9ybV81M0lvXFxcIix7XFxcImdhZWFLZXlcXFwiOlxcXCJnYWVhLWZvcm1cXFwiLFxcXCJkYXRhXFxcIjp7XFxcIl9fc2V0dGluZ19fXFxcIjpudWxsLFxcXCJfX2NycnRJbnN0YW5jZUluZm9fX1xcXCI6bnVsbCxcXFwic3R5bGVzXFxcIjp7XFxcIndpZHRoXFxcIjpcXFwiMTAwJVxcXCIsXFxcImhlaWdodFxcXCI6XFxcIjEwMCVcXFwiLFxcXCJib3JkZXJcXFwiOlxcXCIwcHhcXFwiLFxcXCJiYWNrZ3JvdW5kQ29sb3JcXFwiOlxcXCIjZmZmXFxcIn0sXFxcInR5cGVcXFwiOlxcXCJmb3JtXFxcIixcXFwidGl0bGVcXFwiOlxcXCJGb3JtXFxcIixcXFwibGV2ZWxcXFwiOjIsXFxcInByb3BlcnR5XFxcIjp7XFxcInZhbGlkYXRvclxcXCI6dHJ1ZSxcXFwiYnVzaUlkXFxcIjpcXFwiXFxcIn0sXFxcImV4dGVuZFxcXCI6e1xcXCJzcGFuXFxcIjoxNyxcXFwibGFiZWxXaWR0aFxcXCI6MjIyLFxcXCJpdGVtV2lkdGhcXFwiOjMyMCxcXFwicGxhY2Vob2xkZXJcXFwiOlxcXCJcXFwiLFxcXCJtYXhsZW5ndGhcXFwiOlxcXCIyMjBcXFwiLFxcXCJldmVudFR5cGVcXFwiOlxcXCJcXFwiLFxcXCJyb3dzXFxcIjowLFxcXCJtYXhMZW5ndGhcXFwiOjEwMH19LFxcXCJzbG90c1xcXCI6e1xcXCJkZWZhdWx0XFxcIjpbXFxcImdhZWFfaW5zdGFuY2VfMW5sM29sdG9uYWpcXFwiLFxcXCJnYWVhX2luc3RhbmNlXzEzYXc1bzViOWMzXFxcIixcXFwiZ2FlYV9pbnN0YW5jZV9ybDJuN3U3aWx3XFxcIixcXFwiZ2FlYV9pbnN0YW5jZV8yZTlwdGYza25od1xcXCIsXFxcImdhZWFfaW5zdGFuY2VfZm81d3czaHB3YlxcXCIsXFxcImdhZWFfaW5zdGFuY2VfMjh1cmF3bzVseWhcXFwiLFxcXCJnYWVhX2luc3RhbmNlX3Z0aHVobnljZ2hcXFwiLFxcXCJnYWVhX2luc3RhbmNlXzZiZjB3enMydnhcXFwiLFxcXCJnYWVhX2luc3RhbmNlXzJidDNsMDZlcjU1XFxcIixcXFwiZ2FlYV9pbnN0YW5jZV8yNXN2ZXZnNWczN1xcXCJdfSxcXFwicGFyZW50SW5zdGFuY2VLZXlcXFwiOlxcXCJnYWVhX2luc3RhbmNlX2JveF9JSW1WXFxcIixcXFwicHJlR2FlYUtleVxcXCI6bnVsbH1dLFtcXFwiZ2FlYV9pbnN0YW5jZV8xbmwzb2x0b25halxcXCIse1xcXCJnYWVhS2V5XFxcIjpcXFwiZ2FlYS1pbnB1dFxcXCIsXFxcImRhdGFcXFwiOntcXFwiX19zZXR0aW5nX19cXFwiOm51bGwsXFxcIl9fY3JydEluc3RhbmNlSW5mb19fXFxcIjpudWxsLFxcXCJwcm9wZXJ0eVxcXCI6e1xcXCJsYWJlbFxcXCI6XFxcIuW3peWNleS4u+mimFxcXCIsXFxcInRpdGxlXFxcIjpcXFwiXFxcIixcXFwicHJvcFxcXCI6XFxcIm9yZGVyVGhlbWVcXFwiLFxcXCJidXNpSWRcXFwiOlxcXCJcXFwiLFxcXCJ0eXBlXFxcIjpcXFwiaW5wdXRcXFwiLFxcXCJleHRlbmRcXFwiOntcXFwicGxhY2Vob2xkZXJcXFwiOlxcXCLor7fovpPlhaXlt6XljZXkuLvpophcXFwiLFxcXCJpdGVtV2lkdGhcXFwiOjMyMCxcXFwibWF4TGVuZ3RoXFxcIjoxMDB9LFxcXCJydWxlc1xcXCI6W3tcXFwicmVxdWlyZWRcXFwiOnRydWUsXFxcIm1lc3NhZ2VcXFwiOlxcXCLkuI3og73kuLrnqbpcXFwiLFxcXCJ0eXBlXFxcIjpcXFwiXFxcIixcXFwidHJpZ2dlclxcXCI6XFxcIlxcXCIsXFxcImRvdFxcXCI6XFxcIlxcXCIsXFxcInJhbmdlXFxcIjowLFxcXCJ1bml0XFxcIjpcXFwiXFxcIn0se1xcXCJtZXNzYWdlXFxcIjpcXFwi5LiN6IO95Li656m6XFxcIixcXFwibWF4TGVuZ3RoXFxcIjoxMDAsXFxcInR5cGVcXFwiOlxcXCJpbnB1dExlbmd0aFxcXCIsXFxcInRyaWdnZXJcXFwiOlxcXCJibHVyXFxcIixcXFwiZG90XFxcIjpcXFwiXFxcIixcXFwicmFuZ2VcXFwiOjAsXFxcInVuaXRcXFwiOlxcXCJcXFwifV19LFxcXCJleHRlbmRcXFwiOntcXFwicGxhY2Vob2xkZXJcXFwiOlxcXCLor7fovpPlhaXlt6XljZXkuLvpophcXFwiLFxcXCJpdGVtV2lkdGhcXFwiOjMyMCxcXFwibWF4TGVuZ3RoXFxcIjoxMDB9LFxcXCJ0ZXh0XFxcIjpcXFwiaW5wdXRcXFwiLFxcXCJ0eXBlXFxcIjpcXFwiaW5wdXRcXFwiLFxcXCJsZXZlbFxcXCI6NCxcXFwidmFsaWRhdGVBcnJcXFwiOlt7XFxcInJlcXVpcmVkXFxcIjp0cnVlLFxcXCJtZXNzYWdlXFxcIjpcXFwi5LiN6IO95Li656m6XFxcIixcXFwidHlwZVxcXCI6XFxcIlxcXCIsXFxcInRyaWdnZXJcXFwiOlxcXCJcXFwiLFxcXCJkb3RcXFwiOlxcXCJcXFwiLFxcXCJyYW5nZVxcXCI6MCxcXFwidW5pdFxcXCI6XFxcIlxcXCJ9LHtcXFwibWVzc2FnZVxcXCI6XFxcIuS4jeiDveS4uuepulxcXCIsXFxcIm1heExlbmd0aFxcXCI6MTAwLFxcXCJ0eXBlXFxcIjpcXFwiaW5wdXRMZW5ndGhcXFwiLFxcXCJ0cmlnZ2VyXFxcIjpcXFwiYmx1clxcXCIsXFxcImRvdFxcXCI6XFxcIlxcXCIsXFxcInJhbmdlXFxcIjowLFxcXCJ1bml0XFxcIjpcXFwiXFxcIn1dfSxcXFwic2xvdHNcXFwiOnt9LFxcXCJwYXJlbnRJbnN0YW5jZUtleVxcXCI6XFxcImdhZWFfaW5zdGFuY2VfZm9ybV81M0lvXFxcIn1dLFtcXFwiZ2FlYV9pbnN0YW5jZV8xM2F3NW81YjljM1xcXCIse1xcXCJnYWVhS2V5XFxcIjpcXFwiZ2FlYS1sYWJlbFxcXCIsXFxcImRhdGFcXFwiOntcXFwiX19zZXR0aW5nX19cXFwiOm51bGwsXFxcIl9fY3JydEluc3RhbmNlSW5mb19fXFxcIjpudWxsLFxcXCJwcm9wZXJ0eVxcXCI6e1xcXCJsYWJlbFxcXCI6XFxcIuW3peWNleexu+Wei1xcXCIsXFxcInRpdGxlXFxcIjpcXFwiXFxcIixcXFwicHJvcFxcXCI6XFxcIm9yZGVyVHlwZVxcXCIsXFxcImJ1c2lJZFxcXCI6XFxcIlxcXCIsXFxcInR5cGVcXFwiOlxcXCJsYWJlbFxcXCJ9LFxcXCJ0ZXh0XFxcIjpcXFwibGFiZWxcXFwiLFxcXCJzdHlsZXNcXFwiOntcXFwiZGlzcGxheVxcXCI6XFxcImlubGluZS1ibG9ja1xcXCIsXFxcIndpZHRoXFxcIjpcXFwiNDAlXFxcIixcXFwiaGVpZ2h0XFxcIjpcXFwiNjBweFxcXCIsXFxcImxpbmVIZWlnaHRcXFwiOlxcXCI2MHB4XFxcIixcXFwidGV4dEFsaWduXFxcIjpcXFwicmlnaHRcXFwiLFxcXCJmb250U2l6ZVxcXCI6XFxcIjE1cHhcXFwifSxcXFwidHlwZVxcXCI6XFxcImxhYmVsXFxcIixcXFwibGV2ZWxcXFwiOjQsXFxcInZhbGlkYXRlQXJyXFxcIjpbe1xcXCJyZXF1aXJlZFxcXCI6dHJ1ZSxcXFwibWVzc2FnZVxcXCI6XFxcIuS4jeiDveS4uuepulxcXCIsXFxcInR5cGVcXFwiOlxcXCJcXFwiLFxcXCJ0cmlnZ2VyXFxcIjpcXFwiXFxcIixcXFwiZG90XFxcIjpcXFwiXFxcIixcXFwicmFuZ2VcXFwiOjAsXFxcInVuaXRcXFwiOlxcXCJcXFwifV0sXFxcImV4dGVuZFxcXCI6e1xcXCJpdGVtV2lkdGhcXFwiOjMyMH19LFxcXCJzbG90c1xcXCI6e30sXFxcInBhcmVudEluc3RhbmNlS2V5XFxcIjpcXFwiZ2FlYV9pbnN0YW5jZV9mb3JtXzUzSW9cXFwifV0sW1xcXCJnYWVhX2luc3RhbmNlX3JsMm43dTdpbHdcXFwiLHtcXFwiZ2FlYUtleVxcXCI6XFxcImdhZWEtc2VsZWN0XFxcIixcXFwiZGF0YVxcXCI6e1xcXCJfX3NldHRpbmdfX1xcXCI6bnVsbCxcXFwiX19jcnJ0SW5zdGFuY2VJbmZvX19cXFwiOm51bGwsXFxcInByb3BlcnR5XFxcIjp7XFxcImxhYmVsXFxcIjpcXFwi57Sn5oCl56iL5bqmXFxcIixcXFwidGl0bGVcXFwiOlxcXCJcXFwiLFxcXCJwcm9wXFxcIjpcXFwidXJnZW5jeURlZ3JlZVxcXCIsXFxcImJ1c2lJZFxcXCI6XFxcIlxcXCIsXFxcInR5cGVcXFwiOlxcXCJzZWxlY3RcXFwiLFxcXCJleHRlbmRcXFwiOntcXFwiaXRlbVdpZHRoXFxcIjozMjB9LFxcXCJpdGVtc1xcXCI6W119LFxcXCJ0ZXh0XFxcIjpcXFwiaW5wdXRcXFwiLFxcXCJzdHlsZXNcXFwiOntcXFwiaGVpZ2h0XFxcIjpcXFwiNDBweFxcXCIsXFxcIndpZHRoXFxcIjpcXFwiNzBweFxcXCIsXFxcIm1hcmdpblxcXCI6XFxcIjEwcHhcXFwifSxcXFwidHlwZVxcXCI6XFxcImlucHV0XFxcIixcXFwic2luZ2xlXFxcIjp0cnVlLFxcXCJsZXZlbFxcXCI6NCxcXFwiaXNMZXZlbFxcXCI6dHJ1ZSxcXFwicmFkaW9BcnJcXFwiOltdLFxcXCJ2YWxpZGF0ZUFyclxcXCI6W3tcXFwicmVxdWlyZWRcXFwiOnRydWUsXFxcIm1lc3NhZ2VcXFwiOlxcXCLkuI3og73kuLrnqbpcXFwiLFxcXCJ0eXBlXFxcIjpcXFwiXFxcIixcXFwidHJpZ2dlclxcXCI6XFxcIlxcXCIsXFxcImRvdFxcXCI6XFxcIlxcXCIsXFxcInJhbmdlXFxcIjowLFxcXCJ1bml0XFxcIjpcXFwiXFxcIn1dLFxcXCJleHRlbmRcXFwiOntcXFwiaXRlbVdpZHRoXFxcIjozMjB9fSxcXFwic2xvdHNcXFwiOnt9LFxcXCJwYXJlbnRJbnN0YW5jZUtleVxcXCI6XFxcImdhZWFfaW5zdGFuY2VfZm9ybV81M0lvXFxcIn1dLFtcXFwiZ2FlYV9pbnN0YW5jZV8yZTlwdGYza25od1xcXCIse1xcXCJnYWVhS2V5XFxcIjpcXFwiZ2FlYS1sYWJlbFxcXCIsXFxcImRhdGFcXFwiOntcXFwiX19zZXR0aW5nX19cXFwiOm51bGwsXFxcIl9fY3JydEluc3RhbmNlSW5mb19fXFxcIjpudWxsLFxcXCJwcm9wZXJ0eVxcXCI6e1xcXCJsYWJlbFxcXCI6XFxcIueUs+ivt+WNleS9jVxcXCIsXFxcInRpdGxlXFxcIjpcXFwiXFxcIixcXFwicHJvcFxcXCI6XFxcImFwcGxpY2FudFVuaXRcXFwiLFxcXCJidXNpSWRcXFwiOlxcXCJcXFwiLFxcXCJ0eXBlXFxcIjpcXFwibGFiZWxcXFwifSxcXFwidGV4dFxcXCI6XFxcImxhYmVsXFxcIixcXFwic3R5bGVzXFxcIjp7XFxcImRpc3BsYXlcXFwiOlxcXCJpbmxpbmUtYmxvY2tcXFwiLFxcXCJ3aWR0aFxcXCI6XFxcIjQwJVxcXCIsXFxcImhlaWdodFxcXCI6XFxcIjYwcHhcXFwiLFxcXCJsaW5lSGVpZ2h0XFxcIjpcXFwiNjBweFxcXCIsXFxcInRleHRBbGlnblxcXCI6XFxcInJpZ2h0XFxcIixcXFwiZm9udFNpemVcXFwiOlxcXCIxNXB4XFxcIn0sXFxcInR5cGVcXFwiOlxcXCJsYWJlbFxcXCIsXFxcImxldmVsXFxcIjo0LFxcXCJ2YWxpZGF0ZUFyclxcXCI6W3tcXFwicmVxdWlyZWRcXFwiOnRydWUsXFxcIm1lc3NhZ2VcXFwiOlxcXCLkuI3og73kuLrnqbpcXFwiLFxcXCJ0eXBlXFxcIjpcXFwiXFxcIixcXFwidHJpZ2dlclxcXCI6XFxcIlxcXCIsXFxcImRvdFxcXCI6XFxcIlxcXCIsXFxcInJhbmdlXFxcIjowLFxcXCJ1bml0XFxcIjpcXFwiXFxcIn1dLFxcXCJleHRlbmRcXFwiOntcXFwiaXRlbVdpZHRoXFxcIjozMjB9fSxcXFwic2xvdHNcXFwiOnt9LFxcXCJwYXJlbnRJbnN0YW5jZUtleVxcXCI6XFxcImdhZWFfaW5zdGFuY2VfZm9ybV81M0lvXFxcIn1dLFtcXFwiZ2FlYV9pbnN0YW5jZV9mbzV3dzNocHdiXFxcIix7XFxcImdhZWFLZXlcXFwiOlxcXCJnYWVhLWxhYmVsXFxcIixcXFwiZGF0YVxcXCI6e1xcXCJfX3NldHRpbmdfX1xcXCI6bnVsbCxcXFwiX19jcnJ0SW5zdGFuY2VJbmZvX19cXFwiOm51bGwsXFxcInByb3BlcnR5XFxcIjp7XFxcImxhYmVsXFxcIjpcXFwi55Sz6K+35Lq6XFxcIixcXFwidGl0bGVcXFwiOlxcXCJcXFwiLFxcXCJwcm9wXFxcIjpcXFwiYXBwbGljYW50XFxcIixcXFwiYnVzaUlkXFxcIjpcXFwiXFxcIixcXFwidHlwZVxcXCI6XFxcImxhYmVsXFxcIn0sXFxcInRleHRcXFwiOlxcXCJsYWJlbFxcXCIsXFxcInN0eWxlc1xcXCI6e1xcXCJkaXNwbGF5XFxcIjpcXFwiaW5saW5lLWJsb2NrXFxcIixcXFwid2lkdGhcXFwiOlxcXCI0MCVcXFwiLFxcXCJoZWlnaHRcXFwiOlxcXCI2MHB4XFxcIixcXFwibGluZUhlaWdodFxcXCI6XFxcIjYwcHhcXFwiLFxcXCJ0ZXh0QWxpZ25cXFwiOlxcXCJyaWdodFxcXCIsXFxcImZvbnRTaXplXFxcIjpcXFwiMTVweFxcXCJ9LFxcXCJ0eXBlXFxcIjpcXFwibGFiZWxcXFwiLFxcXCJsZXZlbFxcXCI6NCxcXFwidmFsaWRhdGVBcnJcXFwiOlt7XFxcInJlcXVpcmVkXFxcIjp0cnVlLFxcXCJtZXNzYWdlXFxcIjpcXFwi5LiN6IO95Li656m6XFxcIixcXFwidHlwZVxcXCI6XFxcIlxcXCIsXFxcInRyaWdnZXJcXFwiOlxcXCJcXFwiLFxcXCJkb3RcXFwiOlxcXCJcXFwiLFxcXCJyYW5nZVxcXCI6MCxcXFwidW5pdFxcXCI6XFxcIlxcXCJ9XSxcXFwiZXh0ZW5kXFxcIjp7XFxcIml0ZW1XaWR0aFxcXCI6MzIwfX0sXFxcInNsb3RzXFxcIjp7fSxcXFwicGFyZW50SW5zdGFuY2VLZXlcXFwiOlxcXCJnYWVhX2luc3RhbmNlX2Zvcm1fNTNJb1xcXCJ9XSxbXFxcImdhZWFfaW5zdGFuY2VfMjh1cmF3bzVseWhcXFwiLHtcXFwiZ2FlYUtleVxcXCI6XFxcImdhZWEtbGFiZWxcXFwiLFxcXCJkYXRhXFxcIjp7XFxcIl9fc2V0dGluZ19fXFxcIjpudWxsLFxcXCJfX2NycnRJbnN0YW5jZUluZm9fX1xcXCI6bnVsbCxcXFwicHJvcGVydHlcXFwiOntcXFwibGFiZWxcXFwiOlxcXCLnlLPor7fml7bpl7RcXFwiLFxcXCJ0aXRsZVxcXCI6XFxcIlxcXCIsXFxcInByb3BcXFwiOlxcXCJhcHBsaWNhbnRUaW1lXFxcIixcXFwiYnVzaUlkXFxcIjpcXFwiXFxcIixcXFwidHlwZVxcXCI6XFxcImxhYmVsXFxcIn0sXFxcInRleHRcXFwiOlxcXCJsYWJlbFxcXCIsXFxcInN0eWxlc1xcXCI6e1xcXCJkaXNwbGF5XFxcIjpcXFwiaW5saW5lLWJsb2NrXFxcIixcXFwid2lkdGhcXFwiOlxcXCI0MCVcXFwiLFxcXCJoZWlnaHRcXFwiOlxcXCI2MHB4XFxcIixcXFwibGluZUhlaWdodFxcXCI6XFxcIjYwcHhcXFwiLFxcXCJ0ZXh0QWxpZ25cXFwiOlxcXCJyaWdodFxcXCIsXFxcImZvbnRTaXplXFxcIjpcXFwiMTVweFxcXCJ9LFxcXCJ0eXBlXFxcIjpcXFwibGFiZWxcXFwiLFxcXCJsZXZlbFxcXCI6NCxcXFwidmFsaWRhdGVBcnJcXFwiOlt7XFxcInJlcXVpcmVkXFxcIjp0cnVlLFxcXCJtZXNzYWdlXFxcIjpcXFwi5LiN6IO95Li656m6XFxcIixcXFwidHlwZVxcXCI6XFxcIlxcXCIsXFxcInRyaWdnZXJcXFwiOlxcXCJcXFwiLFxcXCJkb3RcXFwiOlxcXCJcXFwiLFxcXCJyYW5nZVxcXCI6MCxcXFwidW5pdFxcXCI6XFxcIlxcXCJ9XSxcXFwiZXh0ZW5kXFxcIjp7XFxcIml0ZW1XaWR0aFxcXCI6MzIwfX0sXFxcInNsb3RzXFxcIjp7fSxcXFwicGFyZW50SW5zdGFuY2VLZXlcXFwiOlxcXCJnYWVhX2luc3RhbmNlX2Zvcm1fNTNJb1xcXCJ9XSxbXFxcImdhZWFfaW5zdGFuY2VfdnRodWhueWNnaFxcXCIse1xcXCJnYWVhS2V5XFxcIjpcXFwiZ2FlYS1kYXRlLXBpY2tlclxcXCIsXFxcImRhdGFcXFwiOntcXFwiX19zZXR0aW5nX19cXFwiOm51bGwsXFxcIl9fY3JydEluc3RhbmNlSW5mb19fXFxcIjpudWxsLFxcXCJwcm9wZXJ0eVxcXCI6e1xcXCJsYWJlbFxcXCI6XFxcIuacn+acm+WujOaIkOaXtumXtFxcXCIsXFxcInRpdGxlXFxcIjpcXFwiXFxcIixcXFwicHJvcFxcXCI6XFxcImV4cGVjdGVkVGltZVxcXCIsXFxcImJ1c2lJZFxcXCI6XFxcIlxcXCIsXFxcInR5cGVcXFwiOlxcXCJkYXRlLXBpY2tlclxcXCIsXFxcImV4dGVuZFxcXCI6e1xcXCJwbGFjZWhvbGRlclxcXCI6XFxcIlxcXCIsXFxcIml0ZW1XaWR0aFxcXCI6MzIwfX0sXFxcImV4dGVuZFxcXCI6e1xcXCJwbGFjZWhvbGRlclxcXCI6XFxcIlxcXCIsXFxcIml0ZW1XaWR0aFxcXCI6MzIwfSxcXFwidGV4dFxcXCI6XFxcImlucHV0XFxcIixcXFwic3R5bGVzXFxcIjp7fSxcXFwidHlwZVxcXCI6XFxcImRhdGUtcGlja2VyXFxcIixcXFwibGV2ZWxcXFwiOjQsXFxcInZhbGlkYXRlQXJyXFxcIjpbe1xcXCJyZXF1aXJlZFxcXCI6dHJ1ZSxcXFwibWVzc2FnZVxcXCI6XFxcIuS4jeiDveS4uuepulxcXCIsXFxcInR5cGVcXFwiOlxcXCJcXFwiLFxcXCJ0cmlnZ2VyXFxcIjpcXFwiXFxcIixcXFwiZG90XFxcIjpcXFwiXFxcIixcXFwicmFuZ2VcXFwiOjAsXFxcInVuaXRcXFwiOlxcXCJcXFwifV19LFxcXCJzbG90c1xcXCI6e30sXFxcInBhcmVudEluc3RhbmNlS2V5XFxcIjpcXFwiZ2FlYV9pbnN0YW5jZV9mb3JtXzUzSW9cXFwifV0sW1xcXCJnYWVhX2luc3RhbmNlXzZiZjB3enMydnhcXFwiLHtcXFwiZ2FlYUtleVxcXCI6XFxcImdhZWEtdGV4dGFyZWFcXFwiLFxcXCJkYXRhXFxcIjp7XFxcIl9fc2V0dGluZ19fXFxcIjpudWxsLFxcXCJfX2NycnRJbnN0YW5jZUluZm9fX1xcXCI6bnVsbCxcXFwicHJvcGVydHlcXFwiOntcXFwibGFiZWxcXFwiOlxcXCLlt6XljZXmj4/ov7BcXFwiLFxcXCJ0aXRsZVxcXCI6XFxcIlxcXCIsXFxcInByb3BcXFwiOlxcXCJkZXNjcmlwXFxcIixcXFwiYnVzaUlkXFxcIjpcXFwiXFxcIixcXFwidHlwZVxcXCI6XFxcInRleHRhcmVhXFxcIixcXFwiZXh0ZW5kXFxcIjp7XFxcInBsYWNlaG9sZGVyXFxcIjpcXFwi6K+36L6T5YWl5bel5Y2V5o+P6L+wXFxcIixcXFwiaXRlbVdpZHRoXFxcIjozMjAsXFxcIm1heExlbmd0aFxcXCI6NTAwfSxcXFwicnVsZXNcXFwiOlt7XFxcInJlcXVpcmVkXFxcIjp0cnVlLFxcXCJtZXNzYWdlXFxcIjpcXFwi5LiN6IO95Li656m6XFxcIixcXFwidHlwZVxcXCI6XFxcIlxcXCIsXFxcInRyaWdnZXJcXFwiOlxcXCJcXFwiLFxcXCJkb3RcXFwiOlxcXCJcXFwiLFxcXCJyYW5nZVxcXCI6MCxcXFwidW5pdFxcXCI6XFxcIlxcXCJ9LHtcXFwibWVzc2FnZVxcXCI6XFxcIuS4jeiDveS4uuepulxcXCIsXFxcIm1heExlbmd0aFxcXCI6NTAwLFxcXCJ0eXBlXFxcIjpcXFwiaW5wdXRMZW5ndGhcXFwiLFxcXCJ0cmlnZ2VyXFxcIjpcXFwiYmx1clxcXCIsXFxcImRvdFxcXCI6XFxcIlxcXCIsXFxcInJhbmdlXFxcIjowLFxcXCJ1bml0XFxcIjpcXFwiXFxcIn1dfSxcXFwiZXh0ZW5kXFxcIjp7XFxcInBsYWNlaG9sZGVyXFxcIjpcXFwi6K+36L6T5YWl5bel5Y2V5o+P6L+wXFxcIixcXFwiaXRlbVdpZHRoXFxcIjozMjAsXFxcIm1heExlbmd0aFxcXCI6NTAwfSxcXFwibXlSb3dcXFwiOjQsXFxcInRleHRcXFwiOlxcXCJpbnB1dFxcXCIsXFxcInR5cGVcXFwiOlxcXCJpbnB1dFxcXCIsXFxcImxldmVsXFxcIjo0LFxcXCJ2YWxpZGF0ZUFyclxcXCI6W3tcXFwicmVxdWlyZWRcXFwiOnRydWUsXFxcIm1lc3NhZ2VcXFwiOlxcXCLkuI3og73kuLrnqbpcXFwiLFxcXCJ0eXBlXFxcIjpcXFwiXFxcIixcXFwidHJpZ2dlclxcXCI6XFxcIlxcXCIsXFxcImRvdFxcXCI6XFxcIlxcXCIsXFxcInJhbmdlXFxcIjowLFxcXCJ1bml0XFxcIjpcXFwiXFxcIn0se1xcXCJtZXNzYWdlXFxcIjpcXFwi5LiN6IO95Li656m6XFxcIixcXFwibWF4TGVuZ3RoXFxcIjo1MDAsXFxcInR5cGVcXFwiOlxcXCJpbnB1dExlbmd0aFxcXCIsXFxcInRyaWdnZXJcXFwiOlxcXCJibHVyXFxcIixcXFwiZG90XFxcIjpcXFwiXFxcIixcXFwicmFuZ2VcXFwiOjAsXFxcInVuaXRcXFwiOlxcXCJcXFwifV19LFxcXCJzbG90c1xcXCI6e30sXFxcInBhcmVudEluc3RhbmNlS2V5XFxcIjpcXFwiZ2FlYV9pbnN0YW5jZV9mb3JtXzUzSW9cXFwifV0sW1xcXCJnYWVhX2luc3RhbmNlXzJidDNsMDZlcjU1XFxcIix7XFxcImdhZWFLZXlcXFwiOlxcXCJnYWVhLXVwbG9hZFxcXCIsXFxcImRhdGFcXFwiOntcXFwiX19zZXR0aW5nX19cXFwiOm51bGwsXFxcIl9fY3JydEluc3RhbmNlSW5mb19fXFxcIjpudWxsLFxcXCJwcm9wZXJ0eVxcXCI6e1xcXCJsYWJlbFxcXCI6XFxcIumZhOS7tlxcXCIsXFxcInRpdGxlXFxcIjpcXFwiXFxcIixcXFwicHJvcFxcXCI6XFxcImZpbGVMaXN0XFxcIixcXFwiYnVzaUlkXFxcIjpcXFwiXFxcIixcXFwidHlwZVxcXCI6XFxcInVwbG9hZFxcXCIsXFxcImV4dGVuZFxcXCI6e1xcXCJwbGFjZWhvbGRlclxcXCI6XFxcIlxcXCJ9fSxcXFwiZXh0ZW5kXFxcIjp7XFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIn0sXFxcInRleHRcXFwiOlxcXCJpbnB1dFxcXCIsXFxcInR5cGVcXFwiOlxcXCJpbnB1dFxcXCIsXFxcImxldmVsXFxcIjo0LFxcXCJ2YWxpZGF0ZUFyclxcXCI6W3tcXFwicmVxdWlyZWRcXFwiOmZhbHNlLFxcXCJtZXNzYWdlXFxcIjpcXFwi5LiN6IO95Li656m6XFxcIixcXFwidHlwZVxcXCI6XFxcIlxcXCIsXFxcInRyaWdnZXJcXFwiOlxcXCJcXFwiLFxcXCJkb3RcXFwiOlxcXCJcXFwiLFxcXCJyYW5nZVxcXCI6MCxcXFwidW5pdFxcXCI6XFxcIlxcXCJ9XX0sXFxcInNsb3RzXFxcIjp7fSxcXFwicGFyZW50SW5zdGFuY2VLZXlcXFwiOlxcXCJnYWVhX2luc3RhbmNlX2Zvcm1fNTNJb1xcXCJ9XSxbXFxcImdhZWFfaW5zdGFuY2VfMjVzdmV2ZzVnMzdcXFwiLHtcXFwiZ2FlYUtleVxcXCI6XFxcImdhZWEtdGV4dGFyZWFcXFwiLFxcXCJkYXRhXFxcIjp7XFxcIl9fc2V0dGluZ19fXFxcIjpudWxsLFxcXCJfX2NycnRJbnN0YW5jZUluZm9fX1xcXCI6bnVsbCxcXFwicHJvcGVydHlcXFwiOntcXFwibGFiZWxcXFwiOlxcXCLlpIfms6hcXFwiLFxcXCJ0aXRsZVxcXCI6XFxcIlxcXCIsXFxcInByb3BcXFwiOlxcXCJyZW1hcmtcXFwiLFxcXCJidXNpSWRcXFwiOlxcXCJcXFwiLFxcXCJ0eXBlXFxcIjpcXFwidGV4dGFyZWFcXFwiLFxcXCJleHRlbmRcXFwiOntcXFwicGxhY2Vob2xkZXJcXFwiOlxcXCJcXFwiLFxcXCJpdGVtV2lkdGhcXFwiOjMyMCxcXFwibWF4TGVuZ3RoXFxcIjoyNTB9LFxcXCJydWxlc1xcXCI6W3tcXFwicmVxdWlyZWRcXFwiOmZhbHNlLFxcXCJtZXNzYWdlXFxcIjpcXFwi5LiN6IO95Li656m6XFxcIixcXFwidHlwZVxcXCI6XFxcIlxcXCIsXFxcInRyaWdnZXJcXFwiOlxcXCJcXFwiLFxcXCJkb3RcXFwiOlxcXCJcXFwiLFxcXCJyYW5nZVxcXCI6MCxcXFwidW5pdFxcXCI6XFxcIlxcXCJ9LHtcXFwibWVzc2FnZVxcXCI6XFxcIuS4jeiDveS4uuepulxcXCIsXFxcIm1heExlbmd0aFxcXCI6MjUwLFxcXCJ0eXBlXFxcIjpcXFwiaW5wdXRMZW5ndGhcXFwiLFxcXCJ0cmlnZ2VyXFxcIjpcXFwiYmx1clxcXCIsXFxcImRvdFxcXCI6XFxcIlxcXCIsXFxcInJhbmdlXFxcIjowLFxcXCJ1bml0XFxcIjpcXFwiXFxcIn1dfSxcXFwiZXh0ZW5kXFxcIjp7XFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiaXRlbVdpZHRoXFxcIjozMjAsXFxcIm1heExlbmd0aFxcXCI6MjUwfSxcXFwibXlSb3dcXFwiOjQsXFxcInRleHRcXFwiOlxcXCJpbnB1dFxcXCIsXFxcInR5cGVcXFwiOlxcXCJpbnB1dFxcXCIsXFxcImxldmVsXFxcIjo0LFxcXCJ2YWxpZGF0ZUFyclxcXCI6W3tcXFwicmVxdWlyZWRcXFwiOmZhbHNlLFxcXCJtZXNzYWdlXFxcIjpcXFwi5LiN6IO95Li656m6XFxcIixcXFwidHlwZVxcXCI6XFxcIlxcXCIsXFxcInRyaWdnZXJcXFwiOlxcXCJcXFwiLFxcXCJkb3RcXFwiOlxcXCJcXFwiLFxcXCJyYW5nZVxcXCI6MCxcXFwidW5pdFxcXCI6XFxcIlxcXCJ9LHtcXFwibWVzc2FnZVxcXCI6XFxcIuS4jeiDveS4uuepulxcXCIsXFxcIm1heExlbmd0aFxcXCI6MjUwLFxcXCJ0eXBlXFxcIjpcXFwiaW5wdXRMZW5ndGhcXFwiLFxcXCJ0cmlnZ2VyXFxcIjpcXFwiYmx1clxcXCIsXFxcImRvdFxcXCI6XFxcIlxcXCIsXFxcInJhbmdlXFxcIjowLFxcXCJ1bml0XFxcIjpcXFwiXFxcIn1dfSxcXFwic2xvdHNcXFwiOnt9LFxcXCJwYXJlbnRJbnN0YW5jZUtleVxcXCI6XFxcImdhZWFfaW5zdGFuY2VfZm9ybV81M0lvXFxcIn1dXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L3VwZGF0ZVZpZXcnLCB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTpkYXRhLnR5cGVcXHJcXG4gICAgICAgICAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgICAgICAgICAgICAgaWYoZGF0YS50eXBlPT1cXFwiYWRkXFxcIil7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXFxcInZpZXdUeXBlXFxcIixcXFwiMVxcXCIpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfWVsc2UgaWYoZGF0YS50eXBlPT1cXFwidmlld1xcXCIpe1xcclxcblxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyPWV2YWwoJygnK2RhdGEuY29udGVudCsnKScpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxcXCJ2aWV3VHlwZVxcXCIsXFxcIjJcXFwiKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1lbHNle1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyPWV2YWwoJygnK2RhdGEuY29udGVudCsnKScpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxcXCJ2aWV3VHlwZVxcXCIsXFxcIjFcXFwiKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgX3RoaXMubG9jYWxJbnN0YW5jZT1mb3JtUHJvcEFycjtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuaXNJRSgpKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpPT57XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzLmRlbGF5RXhjdXRlKDApO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sMTAwMClcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1lbHNle1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzLmRlbGF5RXhjdXRlKDApO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcblxcclxcbiAgICAgICAgICAgIH0sXFxyXFxuXFxyXFxuXFxyXFxuICAgICAgICAgICAgbG9hZFNlcnZlckZvcm1UYWJsZSgpe1xcclxcbiAgICAgICAgICAgICAgICAvL25vdGVcXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coY29uZmlnUGFnZUlkZSk7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBjb3VudEZvcm1UYWJsZUluc3RhbmNlPTEwMDA7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBjb3VudEZvcm1JbnN0YW5jZT0xMTExO1xcclxcbiAgICAgICAgICAgICAgICBsZXQgYXJyMT1bXTtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IF90aGlzPXRoaXM7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBwYXJhbXMgPSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBpdGVtU3RlcDpsb2NhbFN0b3JhZ2UuaXRlbVN0ZXA9PVxcXCJcXFwiP1xcXCIxXFxcIjpsb2NhbFN0b3JhZ2UuaXRlbVN0ZXAsXFxyXFxuICAgICAgICAgICAgICAgICAgICBpdGVtTm86bG9jYWxTdG9yYWdlLml0ZW1Ob1xcclxcbiAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgICAgICBpZih0aGlzLmlzTG9hZGVkRGF0ZSl7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0aGlzLiROb3RpY2Uud2FybmluZyh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfliqDovb3mlbDmja4nLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2M6ICAn5b2T5YmN5bey57uP5Yib5bu65pWw5o2u77yM5LiN6IO957un57ut5Yib5bu6J1xcclxcbiAgICAgICAgICAgICAgICAgICAgfSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgaHR0cExvYWRpbmcuc2hvd0xvYWRpbmcoXFxcIuato+WcqOWKoOi9veaVsOaNri4uLlxcXCIpXFxyXFxuICAgICAgICAgICAgICAgICBTZXJ2aWNlLnNlbGVjdEZvcm1Qcm9wKHBhcmFtcykudGhlbigocmVzKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXMpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgIGh0dHBMb2FkaW5nLmNsb3NlTG9hZGluZygpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgaWYoIXJlcyl7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZERhdGU9ZmFsc2U7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWREYXRlPXRydWU7XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgYm94PV90aGlzLmdldEJveCgpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOmmluWFiOWPluWIsGJveOeahOWunuS+i+WQjeensFxcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IGJveEluc3RhbmNlTmFtZT1ib3hbMF07Ly9fdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEJveEluc3RhbmNlS2V5O1xcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZvcm1Qcm9wQXJyPVtdO1xcclxcbiAgICAgICAgICAgICAgICAgICAgZm9ybVByb3BBcnIucHVzaChib3gpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgZm9ybVByb3BBcnIucHVzaChfdGhpcy5nZXRTdGVwKGJveEluc3RhbmNlTmFtZSxyZXMuc3RlcHN8fFt7XFxcInRpdGxlXFxcIjpcXFwi5aGr5YaZ6LWE5paZXFxcIn0se1xcXCJ0aXRsZVxcXCI6XFxcIuS4iuS8oOmZhOS7tlxcXCJ9LHtcXFwidGl0bGVcXFwiOlxcXCLmj5DkuqTlrqHmoLhcXFwifSx7XFxcInRpdGxlXFxcIjpcXFwi5bey5Yqe57uTXFxcIn1dKSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgZm9ybUluc3RhbmNlTmFtZT1cXFwiZ2FlYV9pbnN0YW5jZV8ycHZ6Z2JzZmhmNFxcXCI7XFxyXFxuICAgICAgICAgICAgICAgICAgICAvL25vdGUg6L+Z5Liq5pyJ54K554m55q6K77yM6KaB5YWI5Yib5bu6Zm9ybXRhYmxlIOWGjeWIm+W7umZvcm10YWJsZemHjOmdoueahOWxnuaAp1xcclxcbiAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOi/memHjOaYr+WIm+W7umZvcm10YWJsZeS4i+mdoueahOWIl1xcclxcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBwcm9wT2JqIGluIHJlcy5wcm9wKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlUaXRsZT1fdGhpcy5nZXRUaXRsZShib3hJbnN0YW5jZU5hbWUscHJvcE9iaik7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbXlUaXRsZVswXT1cXFwiZ2FlYV9pbnN0YW5jZV8yMnF6YTR3MGMzblxcXCIrX3RoaXMucmFuZG9tV29yZCgxMiw0LDQpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyLnB1c2gobXlUaXRsZSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZvcm1BcnI9cmVzLnByb3BbcHJvcE9ial07XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRPYmpTdHI9SlNPTi5zdHJpbmdpZnkocmVzLnByb3BbcHJvcE9ial0pO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBsaXN0TGVuZ3RoPSAoY3VycmVudE9ialN0ci5zcGxpdCgnTGlzdCcpKS5sZW5ndGgtMTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlGb3JtPXt9O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGZvcm1BcnIubGVuZ3RoIT1saXN0TGVuZ3RoKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlGb3JtPV90aGlzLmdldEZvcm0oYm94SW5zdGFuY2VOYW1lKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlGb3JtWzBdPVxcXCJnYWVhX2luc3RhbmNlX2Zvcm1fXFxcIitfdGhpcy5yYW5kb21Xb3JkKDEyLDQsNCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Qcm9wQXJyLnB1c2gobXlGb3JtKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBqPTA7ajxmb3JtQXJyLmxlbmd0aDtqKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZyb21Qcm9wPSBbXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOWxnuaAp+WvueixoVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlQcm9wT2JqPXtcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5LiL5ouJ5qGG5oiW6ICF5Y2V6YCJ5qGG5pWw57uEXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteVJhZGlvQXJyPVtdO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg6KGo5Y2V5qCh6aqM5pWw57uEXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2YWxpZGF0ZUFycj1bXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOW3peWFt+e7hOS7tuexu+Wei1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlHYWVhS2V5PVxcXCJcXFwiO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg57O757uf57uE5Lu257G75Z6LXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteVR5cGU9XFxcIlxcXCI7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmb3JtQXJyW2pdLmJ1c2lUeXBlID09IFxcXCJMaXN0XFxcIikge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlc0Fycj1ldmFsKCcoJyArZm9ybUFycltqXS5idXNpRXhwbGFpbisgJyknKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcihsZXQgcHJvcCBpbiByZXNBcnIpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHByb3ApO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzLmluaXRGb3JtVGFibGVLZXkocHJvcCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzQXJyW3Byb3BdKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzcG9uc2U9cmVzQXJyW3Byb3BdO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDkuIvmi4nmoYbmiJbogIXljZXpgInmoYbmlbDnu4RcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlGcm9tVGFibGVSYWRpb0FyciA9IFtdO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDlt6Xlhbfnu4Tku7bnsbvlnotcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlGcm9tVGFibGVHYWVhS2V5ID0gXFxcIlxcXCI7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOezu+e7n+e7hOS7tuexu+Wei1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteUZyb21UYWJsZVR5cGUgPSBcXFwiXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlGcm9tVGFibGVQcm9wT2JqID0ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibW9kZWxcXFwiOiBwcm9wLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidmFsaWRhdG9yXFxcIjogdHJ1ZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIm1pblJvd3NcXFwiOiAxLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwid2lkdGhcXFwiOjEwMDAsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJkaXNhYmxlRGVsUm93c1xcXCI6IDEsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJidG5Nc2dcXFwiOiBcXFwiXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInBsYWNlaG9sZGVyXFxcIjogXFxcIlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJidXNpSWRcXFwiOiBcXFwiXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwYWRkaW5nXFxcIjpcXFwiMFxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJhbGlnblxcXCI6IFxcXCJjZW50ZXJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidHlwZVxcXCI6IFxcXCJzZWxlY3RcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCAgIG15R2FlYUtleSA9IFxcXCJnYWVhLWZvcm0tdGFibGVcXFwiO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteUZvcm1UYWJsZUluc3RhbmNlPSBcXFwiZ2FlYV9pbnN0YW5jZV9cXFwiICtfdGhpcy5yYW5kb21Xb3JkKDEyLDQsNCkrIGNvdW50Rm9ybVRhYmxlSW5zdGFuY2UgKyBqO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCAgZm9ybVRhYmxlUHJvcCA9IFtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlGb3JtVGFibGVJbnN0YW5jZSAsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJnYWVhS2V5XFxcIjogbXlHYWVhS2V5LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImRhdGFcXFwiOiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIl9fc2V0dGluZ19fXFxcIjogbnVsbCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiX19jcnJ0SW5zdGFuY2VJbmZvX19cXFwiOiBudWxsLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ0ZXh0XFxcIjogXFxcImlucHV0XFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwic3R5bGVzXFxcIjoge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiaGVpZ2h0XFxcIjogXFxcIjQwcHhcXFwiLFxcclxcblxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwid2lkdGhcXFwiOiBcXFwiMTAwcHhcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibWFyZ2luXFxcIjogXFxcIjEwcHhcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidHlwZVxcXCI6IFxcXCJmb3JtLXRhYmxlXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibW9kZWwxXFxcIjogXFxcIlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImxldmVsXFxcIjogMixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicHJvcGVydHlcXFwiOiBteUZyb21UYWJsZVByb3BPYmosXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImV4dGVuZFxcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIml0ZW1XaWR0aFxcXCI6IDMyMCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInBsYWNlaG9sZGVyXFxcIjogXFxcIlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJldmVudFR5cGVcXFwiOiBcXFwiXFxcIlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwic2xvdHNcXFwiOiB7fSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwYXJlbnRJbnN0YW5jZUtleVxcXCI6IGJveEluc3RhbmNlTmFtZVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtUHJvcEFyci5wdXNoKGZvcm1UYWJsZVByb3ApO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDlho3liqDovb1mb3JtLXRhYmxlIOmHjOmdoueahOWxnuaAp1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzcG9uc2UubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOWxnuaAp+WvueixoVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlQcm9wT2JqID0ge31cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOS4i+aLieahhuaIluiAheWNlemAieahhuaVsOe7hFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlSYWRpb0FyciA9IFtdO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5bel5YW357uE5Lu257G75Z6LXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBteUZvcm1UYWJsZUdhZWFLZXkgPSBcXFwiXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOezu+e7n+e7hOS7tuexu+Wei1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXlGb3JtVGFibGVQcm9wVHlwZSA9IFxcXCJcXFwiO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5a6a5LmJ5pWw57uE57G75Z6LXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByYWRpb0Zvcm1UYWJsZUFycj1bXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlW2ldLmJ1c2lUeXBlTmFtZSA9PSBcXFwic2VsZWN0XFxcIikge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIHNlbGVjdFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2VbaV0uYnVzaUV4cGxhaW4pO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJhZGlvQXJyUHJvcD1ldmFsKCcoJyArIHJlc3BvbnNlW2ldLmJ1c2lFeHBsYWluICsgJyknKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcihsZXQgcHJvcCBpbiByYWRpb0FyclByb3Ape1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwcm9wT2JqPXt9O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmoubGFiZWw9cHJvcDtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wT2JqLnZhbHVlPXJhZGlvQXJyUHJvcFtwcm9wXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgb2JqPSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJzaXplXFxcIjogXFxcIlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJkaXNhYmxlZFxcXCI6IGZhbHNlXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wT2JqLmV4dGVuZD1vYmo7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFkaW9Gb3JtVGFibGVBcnIucHVzaChwcm9wT2JqKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UHJvcE9iaiA9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwia2V5XFxcIjpyZXNwb25zZVtpXS5idXNpTmFtZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogcmVzcG9uc2VbaV0uYnVzaURlc2MsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJsYWJlbFxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiYnVzaUlkXFxcIjogXFxcIlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJpdGVtc1Byb3BcXFwiOiBcXFwiXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInR5cGVcXFwiOiBcXFwic2VsZWN0XFxcIlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15Rm9ybVRhYmxlR2FlYUtleSA9IFxcXCJnYWVhLXRhYmxlLXNlbGVjdFxcXCI7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUZvcm1UYWJsZVByb3BUeXBlID0gXFxcInNlbGVjdFxcXCI7XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2VbaV0uYnVzaVR5cGVOYW1lID09IFxcXCJyYWRpb1xcXCIpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSBzZWxlY3RcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlW2ldLmJ1c2lFeHBsYWluKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByYWRpb0FyclByb3A9ZXZhbCgnKCcgKyByZXNwb25zZVtpXS5idXNpRXhwbGFpbiArICcpJyk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IobGV0IHByb3AgaW4gcmFkaW9BcnJQcm9wKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcHJvcE9iaj17fTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wT2JqLmxhYmVsPXByb3A7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai52YWx1ZT1yYWRpb0FyclByb3BbcHJvcF07XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG9iaj0ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwic2l6ZVxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZGlzYWJsZWRcXFwiOiBmYWxzZVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai5leHRlbmQ9b2JqO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhZGlvRm9ybVRhYmxlQXJyLnB1c2gocHJvcE9iaik7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmogPVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImtleVxcXCI6cmVzcG9uc2VbaV0uYnVzaU5hbWUsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IHJlc3BvbnNlW2ldLmJ1c2lEZXNjLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibGFiZWxcXFwiOiBcXFwiXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImJ1c2lJZFxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiaXRlbXNQcm9wXFxcIjogXFxcIlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ0eXBlXFxcIjogXFxcInNlbGVjdFxcXCJcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUZvcm1UYWJsZUdhZWFLZXkgPSBcXFwiZ2FlYS10YWJsZS1zZWxlY3RcXFwiO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlGb3JtVGFibGVQcm9wVHlwZSA9IFxcXCJzZWxlY3RcXFwiO1xcclxcblxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlW2ldLmJ1c2lUeXBlTmFtZSA9PSBcXFwic2luZ2xlTW9udGhcXFwiKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmogPSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImtleVxcXCI6cmVzcG9uc2VbaV0uYnVzaU5hbWUsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogcmVzcG9uc2VbaV0uYnVzaURlc2MsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImFsaWduXFxcIjogXFxcImNlbnRlclxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInR5cGVcXFwiOiBcXFwic2luZ2xlTW9udGhcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwbGFjZWhvbGRlclxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlGb3JtVGFibGVHYWVhS2V5ID0gXFxcImdhZWEtdGFibGUtc2luZ2xlLW1vbnRoXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15Rm9ybVRhYmxlUHJvcFR5cGUgPSBcXFwidGFibGUtc2luZ2xlLW1vbnRoXFxcIjtcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAgZWxzZSBpZiAocmVzcG9uc2VbaV0uYnVzaVR5cGVOYW1lID09IFxcXCJzaW5nbGVEYXRlXFxcIikge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlQcm9wT2JqID0ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJrZXlcXFwiOnJlc3BvbnNlW2ldLmJ1c2lOYW1lLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IHJlc3BvbnNlW2ldLmJ1c2lEZXNjLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJhbGlnblxcXCI6IFxcXCJjZW50ZXJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ0eXBlXFxcIjogXFxcInNpbmdsZURhdGVcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwbGFjZWhvbGRlclxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlGb3JtVGFibGVHYWVhS2V5ID0gXFxcImdhZWEtdGFibGUtc2luZ2xlLWRhdGVcXFwiO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlGb3JtVGFibGVQcm9wVHlwZSA9IFxcXCJ0YWJsZS1kYXRlLXBpY2tlclxcXCI7XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2VbaV0uYnVzaVR5cGVOYW1lID09IFxcXCJkYXRhUmFuZ2VcXFwiKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmogPSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImtleVxcXCI6cmVzcG9uc2VbaV0uYnVzaU5hbWUsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogcmVzcG9uc2VbaV0uYnVzaURlc2MsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImFsaWduXFxcIjogXFxcImNlbnRlclxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInR5cGVcXFwiOiBcXFwiZGF0YVJhbmdlXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicGxhY2Vob2xkZXJcXFwiOiBcXFwiXFxcIlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlGb3JtVGFibGVHYWVhS2V5ID0gXFxcImdhZWEtdGFibGUtc2luZ2xlLWRhdGVcXFwiO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlGb3JtVGFibGVQcm9wVHlwZSA9IFxcXCJ0YWJsZS1kYXRlLXBpY2tlclxcXCI7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UHJvcE9iaiA9IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwia2V5XFxcIjpyZXNwb25zZVtpXS5idXNpTmFtZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiByZXNwb25zZVtpXS5idXNpRGVzYyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiYWxpZ25cXFwiOiBcXFwiY2VudGVyXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidHlwZVxcXCI6IFxcXCJpbnB1dFxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInBsYWNlaG9sZGVyXFxcIjogXFxcIlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUZvcm1UYWJsZUdhZWFLZXkgPSBcXFwiZ2FlYS10YWJsZS1pbnB1dFxcXCI7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUZvcm1UYWJsZVByb3BUeXBlID0gXFxcInRhYmxlLWlucHV0XFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdmFsaWRhdGVBcnI9W107XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihyZXNwb25zZVtpXS5yb3dzKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0cmlnZ2VyVHlwZT1cXFwiXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDliKTmlq3mmK/kuI3mmK/kuLrkuIvmi4nmoYbvvIzlpoLmnpzkuLrkuIvmi4nmoYbvvIzop6blj5HmlrnlvI/opoHkuLpjaGFuZ2VcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZVtpXS5idXNpVHlwZU5hbWUgPT0gXFxcInNlbGVjdFxcXCIpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyVHlwZT1cXFwiY2hhbmdlXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDlpoLmnpzov5Tlm57nmoTmnInmoKHpqoznsbvlnovvvIzlvpfnu4Too4XliLDmiJHku6zns7vnu5/ph4xcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlW2ldLnJvd3MuZm9yRWFjaChmdW5jdGlvbih2YWx1ZSxpKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnZm9yRWFjaOmBjeWOhjonK2krJy0tJyt2YWx1ZSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHZhbGlkYXRlT2JqPXt9O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHZhbHVlLnJ1bGVOYW1lPT1cXFwicmVxdWlyZVxcXCIpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5qCh6aqM5piv5ZCm5Li656m6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRlT2JqPXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJyZXF1aXJlZFxcXCI6IHRydWUsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibWVzc2FnZVxcXCI6IHJlc3BvbnNlW2ldLmJ1c2lEZXNjK1xcXCLkuI3og73kuLrnqbpcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInR5cGVcXFwiOiBcXFwiXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ0cmlnZ2VyXFxcIjogdHJpZ2dlclR5cGUsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZG90XFxcIjogXFxcIlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicmFuZ2VcXFwiOiAwLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInVuaXRcXFwiOiBcXFwiXFxcIlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNle1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5Yy56YWN5YW25LuW55qE5qC85byPXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRlT2JqPXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJtZXNzYWdlXFxcIjpcXFwiXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ0eXBlXFxcIjogdmFsdWUucnVsZU5hbWUsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidHJpZ2dlclxcXCI6IHRyaWdnZXJUeXBlLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImRvdFxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInJhbmdlXFxcIjogMCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ1bml0XFxcIjogXFxcIlxcXCJcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGVBcnIucHVzaCh2YWxpZGF0ZU9iaik7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCAgZnJvbVRhYmxlQ2hpbGRQcm9wID0gW1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImdhZWFfaW5zdGFuY2VfdGFibGVcXFwiICtfdGhpcy5yYW5kb21Xb3JkKDEyLDQsNCksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImdhZWFLZXlcXFwiOiBteUZvcm1UYWJsZUdhZWFLZXksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImRhdGFcXFwiOiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJfX3NldHRpbmdfX1xcXCI6IG51bGwsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJfX2NycnRJbnN0YW5jZUluZm9fX1xcXCI6IG51bGwsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ0ZXh0XFxcIjogXFxcImlucHV0XFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInN0eWxlc1xcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJoZWlnaHRcXFwiOiBcXFwiNDBweFxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwid2lkdGhcXFwiOiAxMDAsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibWFyZ2luXFxcIjogXFxcIjEwcHhcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ0eXBlXFxcIjogbXlGb3JtVGFibGVQcm9wVHlwZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImxldmVsXFxcIjogMyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInJ1bGVzXFxcIjogdmFsaWRhdGVBcnIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJpdGVtc1Byb3BcXFwiOnJhZGlvRm9ybVRhYmxlQXJyLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicmFkaW9BcnJcXFwiOiByYWRpb0Zvcm1UYWJsZUFycixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInByb3BlcnR5XFxcIjogbXlQcm9wT2JqLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZXh0ZW5kXFxcIjoge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIml0ZW1XaWR0aFxcXCI6IDMyMCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwbGFjZWhvbGRlclxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImV2ZW50VHlwZVxcXCI6IFxcXCJcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJzbG90c1xcXCI6IHt9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwYXJlbnRJbnN0YW5jZUtleVxcXCI6IG15Rm9ybVRhYmxlSW5zdGFuY2VcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybVByb3BBcnIucHVzaChmcm9tVGFibGVDaGlsZFByb3ApO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChmb3JtQXJyW2pdLmJ1c2lUeXBlID09IFxcXCJoaWRlXFxcIikge1xcclxcblxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOaJqeWxleWxnuaAp1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGV4dGVudGRPYmo9e1xcclxcblxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGZvcm1BcnJbal0uYnVzaVR5cGU9PVxcXCJzZWxlY3RcXFwifHxmb3JtQXJyW2pdLmJ1c2lUeXBlID09IFxcXCJzZWxlY3RMYWJlbFxcXCJ8fGZvcm1BcnJbal0uYnVzaVR5cGUgPT0gXFxcInNlbGVjdExpbmtcXFwiKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhmb3JtQXJyW2pdLmJ1c2lFeHBsYWluKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmFkaW9BcnI9W107XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoZm9ybUFycltqXS5idXNpRXhwbGFpbiYmZm9ybUFycltqXS5idXNpRXhwbGFpbiE9XFxcIlxcXCIpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmFkaW9BcnJQcm9wPWV2YWwoJygnICsgZm9ybUFycltqXS5idXNpRXhwbGFpbiArICcpJyk7XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcihsZXQgcHJvcCBpbiByYWRpb0FyclByb3Ape1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHByb3BPYmo9e307XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wT2JqLmxhYmVsPXByb3A7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wT2JqLnZhbHVlPXJhZGlvQXJyUHJvcFtwcm9wXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBvYmo9IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwic2l6ZVxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJkaXNhYmxlZFxcXCI6IGZhbHNlXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai5leHRlbmQ9b2JqO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFkaW9BcnIucHVzaChwcm9wT2JqKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmo9e1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibGFiZWxcXFwiOiBmb3JtQXJyW2pdLmJ1c2lEZXNjLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiYnVzaUlkXFxcIjpmb3JtQXJyW2pdLmJ1c2lJZCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInByb3BcXFwiOiBmb3JtQXJyW2pdLmJ1c2lJZCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIml0ZW1zUHJvcFxcXCI6IFxcXCJcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGZvcm1BcnJbal0uYnVzaVVybCYmZm9ybUFycltqXS5idXNpVXJsIT1cXFwiXFxcIil7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDliKTmlq3mmK/lkKbmnInlpJbpk77lnLDlnYBcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlQcm9wT2JqLmR5bmFtaWMudXJsPWZvcm1BcnJbal0uYnVzaVVybDtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlQcm9wT2JqLmR5bmFtaWMucGFyYW1zPUpTT04ucGFyc2UoZm9ybUFycltqXS5idXNpUGFyYW1zKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlSYWRpb0Fycj1yYWRpb0FycjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUdhZWFLZXk9XFxcImdhZWEtXFxcIitmb3JtQXJyW2pdLmJ1c2lUeXBlO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15VHlwZT1mb3JtQXJyW2pdLmJ1c2lUeXBlO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZSBpZihmb3JtQXJyW2pdLmJ1c2lUeXBlPT1cXFwiY2hlY2tib3hNdWx0aXBsZVxcXCIpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByYWRpb0Fycj1bXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihmb3JtQXJyW2pdLmJ1c2lFeHBsYWluJiZmb3JtQXJyW2pdLmJ1c2lFeHBsYWluIT1cXFwiXFxcIil7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGZvcm1BcnJbal0uYnVzaUV4cGxhaW4pO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmFkaW9BcnJQcm9wPWV2YWwoJygnICsgZm9ybUFycltqXS5idXNpRXhwbGFpbiArICcpJyk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcihsZXQgcHJvcCBpbiByYWRpb0FyclByb3Ape1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHByb3BPYmo9e307XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wT2JqLmxhYmVsPXByb3A7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wT2JqLnZhbHVlPXJhZGlvQXJyUHJvcFtwcm9wXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBvYmo9IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwic2l6ZVxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJkaXNhYmxlZFxcXCI6IGZhbHNlXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai5leHRlbmQ9b2JqO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFkaW9BcnIucHVzaChwcm9wT2JqKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmo9e1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibGFiZWxcXFwiOiBmb3JtQXJyW2pdLmJ1c2lEZXNjLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiYnVzaUlkXFxcIjpmb3JtQXJyW2pdLmJ1c2lJZCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInByb3BcXFwiOiBmb3JtQXJyW2pdLmJ1c2lJZFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVJhZGlvQXJyPXJhZGlvQXJyO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15R2FlYUtleT1cXFwiZ2FlYS1jaGVja2JveE11bHRpcGxlXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVR5cGU9XFxcImNoZWNrYm94TXVsdGlwbGVcXFwiOyAgIC8vbGFiZWxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlIGlmKGZvcm1BcnJbal0uYnVzaVR5cGU9PVxcXCJjaGVja2JveE11bHRpcGxlUmFkaW9cXFwiKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmFkaW9BcnI9W107XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoZm9ybUFycltqXS5idXNpRXhwbGFpbiYmZm9ybUFycltqXS5idXNpRXhwbGFpbiE9XFxcIlxcXCIpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhmb3JtQXJyW2pdLmJ1c2lFeHBsYWluKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJhZGlvQXJyUHJvcD1ldmFsKCcoJyArIGZvcm1BcnJbal0uYnVzaUV4cGxhaW4gKyAnKScpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IobGV0IHByb3AgaW4gcmFkaW9BcnJQcm9wKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwcm9wT2JqPXt9O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai5sYWJlbD1wcm9wO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcE9iai52YWx1ZT1yYWRpb0FyclByb3BbcHJvcF07XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgb2JqPSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInNpemVcXFwiOiBcXFwiXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZGlzYWJsZWRcXFwiOiBmYWxzZVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmouZXh0ZW5kPW9iajtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhZGlvQXJyLnB1c2gocHJvcE9iaik7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlQcm9wT2JqPXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImxhYmVsXFxcIjogZm9ybUFycltqXS5idXNpRGVzYyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImJ1c2lJZFxcXCI6Zm9ybUFycltqXS5idXNpSWQsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwcm9wXFxcIjogZm9ybUFycltqXS5idXNpSWRcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlSYWRpb0Fycj1yYWRpb0FycjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUdhZWFLZXk9XFxcImdhZWEtY2hlY2tib3hNdWx0aXBsZVJhZGlvXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVR5cGU9XFxcImNoZWNrYm94TXVsdGlwbGVSYWRpb1xcXCI7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9sYWJlbFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfWVsc2UgaWYoZm9ybUFycltqXS5idXNpVHlwZT09XFxcInJhZGlvXFxcIil7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJhZGlvQXJyPVtdO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGZvcm1BcnJbal0uYnVzaUV4cGxhaW4mJmZvcm1BcnJbal0uYnVzaUV4cGxhaW4hPVxcXCJcXFwiKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZm9ybUFycltqXS5idXNpRXhwbGFpbik7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByYWRpb0FyclByb3A9ZXZhbCgnKCcgKyBmb3JtQXJyW2pdLmJ1c2lFeHBsYWluICsgJyknKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBwcm9wIGluIHJhZGlvQXJyUHJvcCl7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcHJvcE9iaj17fTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmoubGFiZWw9cHJvcDtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BPYmoudmFsdWU9cmFkaW9BcnJQcm9wW3Byb3BdO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG9iaj0ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJzaXplXFxcIjogXFxcIlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImRpc2FibGVkXFxcIjogZmFsc2VcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wT2JqLmV4dGVuZD1vYmo7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWRpb0Fyci5wdXNoKHByb3BPYmopO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UHJvcE9iaj17XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJsYWJlbFxcXCI6IGZvcm1BcnJbal0uYnVzaURlc2MsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJidXNpSWRcXFwiOmZvcm1BcnJbal0uYnVzaUlkLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicHJvcFxcXCI6IGZvcm1BcnJbal0uYnVzaUlkXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UmFkaW9BcnI9cmFkaW9BcnI7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlHYWVhS2V5PVxcXCJnYWVhLXJhZGlvXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVR5cGU9XFxcInJhZGlvXFxcIjsgICAvL2xhYmVsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZSBpZihmb3JtQXJyW2pdLmJ1c2lUeXBlPT1cXFwibGFiZWxcXFwifHxmb3JtQXJyW2pdLmJ1c2lUeXBlPT1cXFwidGltZUxhYmVsXFxcIil7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlQcm9wT2JqPXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImxhYmVsXFxcIjogZm9ybUFycltqXS5idXNpRGVzYyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImJ1c2lJZFxcXCI6Zm9ybUFycltqXS5idXNpSWQsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwcm9wXFxcIjogZm9ybUFycltqXS5idXNpSWRcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlHYWVhS2V5PVxcXCJnYWVhLVxcXCIrZm9ybUFycltqXS5idXNpVHlwZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVR5cGU9Zm9ybUFycltqXS5idXNpVHlwZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlIGlmKGZvcm1BcnJbal0uYnVzaVR5cGU9PVxcXCJkYXRlLXBpY2tlci1kYXRlcmFuZ2VcXFwiKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmo9e1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibGFiZWxcXFwiOiBmb3JtQXJyW2pdLmJ1c2lEZXNjLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiYnVzaUlkXFxcIjpmb3JtQXJyW2pdLmJ1c2lJZCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInByb3BcXFwiOiBmb3JtQXJyW2pdLmJ1c2lJZFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUdhZWFLZXk9XFxcImdhZWEtZGF0ZS1waWNrZXItZGF0ZXJhbmdlXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVR5cGU9XFxcImRhdGUtcGlja2VyLWRhdGVyYW5nZVxcXCI7XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZSBpZihmb3JtQXJyW2pdLmJ1c2lUeXBlPT1cXFwiZW5kRGF0ZUNob29zZVxcXCJ8fGZvcm1BcnJbal0uYnVzaVR5cGU9PVxcXCJwbGF0ZS1pbnB1dFxcXCJ8fGZvcm1BcnJbal0uYnVzaVR5cGU9PVxcXCJzZWxlY3QtaW5wdXRcXFwifHxmb3JtQXJyW2pdLmJ1c2lUeXBlPT1cXFwiYnVkb25nY2hhblxcXCIpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UHJvcE9iaj17XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJsYWJlbFxcXCI6IGZvcm1BcnJbal0uYnVzaURlc2MsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJidXNpSWRcXFwiOmZvcm1BcnJbal0uYnVzaUlkLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicHJvcFxcXCI6IGZvcm1BcnJbal0uYnVzaUlkXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15R2FlYUtleT1cXFwiZ2FlYS1cXFwiK2Zvcm1BcnJbal0uYnVzaVR5cGU7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlUeXBlPWZvcm1BcnJbal0uYnVzaVR5cGU7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZSBpZihmb3JtQXJyW2pdLmJ1c2lUeXBlPT1cXFwiaW5wdXRJRENhcmRcXFwiKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmo9e1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibGFiZWxcXFwiOiBmb3JtQXJyW2pdLmJ1c2lEZXNjLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiYnVzaUlkXFxcIjpmb3JtQXJyW2pdLmJ1c2lJZCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInByb3BcXFwiOiBmb3JtQXJyW2pdLmJ1c2lJZFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRlbnRkT2JqPXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImJpcnRoZGF5S2V5XFxcIjpmb3JtQXJyW2pdLmJ1c2lJZFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlHYWVhS2V5PVxcXCJnYWVhLVxcXCIrZm9ybUFycltqXS5idXNpVHlwZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVR5cGU9Zm9ybUFycltqXS5idXNpVHlwZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlIGlmKGZvcm1BcnJbal0uYnVzaVR5cGU9PVxcXCJkYXRlLXBpY2tlclxcXCIpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UHJvcE9iaj17XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJsYWJlbFxcXCI6IGZvcm1BcnJbal0uYnVzaURlc2MsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJidXNpSWRcXFwiOmZvcm1BcnJbal0uYnVzaUlkLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicHJvcFxcXCI6IGZvcm1BcnJbal0uYnVzaUlkXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15R2FlYUtleT1cXFwiZ2FlYS1kYXRlLXBpY2tlclxcXCI7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlUeXBlPVxcXCJkYXRlLXBpY2tlclxcXCI7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZW50ZE9iaj17XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJpdGVtV2lkdGhcXFwiOiAzMjAsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJvcHRpb25zXFxcIjoge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImRpc2FibGVkRGF0ZVxcXCI6IFxcXCJiZWZvcmVUb2RheVxcXCJcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVByb3BPYmo9e1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibGFiZWxcXFwiOiBmb3JtQXJyW2pdLmJ1c2lEZXNjLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiYnVzaUlkXFxcIjpmb3JtQXJyW2pdLmJ1c2lJZCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInByb3BcXFwiOiBmb3JtQXJyW2pdLmJ1c2lJZFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUdhZWFLZXk9XFxcImdhZWEtaW5wdXRcXFwiO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15VHlwZT1cXFwiaW5wdXRcXFwiO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcblxcclxcblxcclxcblxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHZhbGlkYXRlQXJyPVtdO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoZm9ybUFycltqXS5yb3dzKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdHJpZ2dlclR5cGU9XFxcIlxcXCI7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOWIpOaWreaYr+S4jeaYr+S4uuS4i+aLieahhu+8jOWmguaenOS4uuS4i+aLieahhu+8jOinpuWPkeaWueW8j+imgeS4umNoYW5nZVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmb3JtQXJyW2pdLmJ1c2lUeXBlID09IFxcXCJzZWxlY3RcXFwiKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXJUeXBlPVxcXCJjaGFuZ2VcXFwiO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5aaC5p6c6L+U5Zue55qE5pyJ5qCh6aqM57G75Z6L77yM5b6X57uE6KOF5Yiw5oiR5Lus57O757uf6YeMXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUFycltqXS5yb3dzLmZvckVhY2goZnVuY3Rpb24odmFsdWUsaSl7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdmb3JFYWNo6YGN5Y6GOicraSsnLS0nK3ZhbHVlKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHZhbGlkYXRlT2JqPXt9O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih2YWx1ZS5ydWxlTmFtZT09XFxcInJlcXVpcmVcXFwiKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDmoKHpqozmmK/lkKbkuLrnqbpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRlT2JqPXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicmVxdWlyZWRcXFwiOiB0cnVlLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJtZXNzYWdlXFxcIjogZm9ybUFycltqXS5idXNpRGVzYytcXFwi5LiN6IO95Li656m6XFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidHlwZVxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ0cmlnZ2VyXFxcIjogdHJpZ2dlclR5cGUsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImRvdFxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJyYW5nZVxcXCI6IDAsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInVuaXRcXFwiOiBcXFwiXFxcIlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfWVsc2V7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5Yy56YWN5YW25LuW55qE5qC85byPXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0ZU9iaj17XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIm1lc3NhZ2VcXFwiOlxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ0eXBlXFxcIjogdmFsdWUucnVsZU5hbWUsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInRyaWdnZXJcXFwiOiB0cmlnZ2VyVHlwZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZG90XFxcIjogXFxcIlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInJhbmdlXFxcIjogMCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidW5pdFxcXCI6IFxcXCJcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRlQXJyLnB1c2godmFsaWRhdGVPYmopO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogIGlmKGZvcm1BcnJbal0ucnVsZVR5cGU9PVxcXCIyXFxcIil7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIDPmmK/moKHpqowgMuS4jeagoemqjFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRlQXJyPVt7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJyZXF1aXJlZFxcXCI6IHRydWUsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJtZXNzYWdlXFxcIjogZm9ybUFycltqXS5idXNpRGVzYytcXFwi5LiN6IO95Li656m6XFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInR5cGVcXFwiOiBcXFwiXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInRyaWdnZXJcXFwiOiBcXFwiXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImRvdFxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicmFuZ2VcXFwiOiAwLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidW5pdFxcXCI6IFxcXCJcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfV1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlIGlmKGZvcm1BcnJbal0ucnVsZVR5cGU9PVxcXCIzXFxcIil7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIDPmmK/moKHpqowg5ZCm5YiZ5LiN5qCh6aqMXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGVBcnI9W3tcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInJlcXVpcmVkXFxcIjogdHJ1ZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIm1lc3NhZ2VcXFwiOiBmb3JtQXJyW2pdLmJ1c2lEZXNjK1xcXCLkuI3og73kuLrnqbpcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidHlwZVxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidHJpZ2dlclxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiZG90XFxcIjogXFxcIlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJyYW5nZVxcXCI6IDAsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ1bml0XFxcIjogXFxcIlxcXCJcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiovXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYobXlHYWVhS2V5JiZteUdhZWFLZXkhPVxcXCJcXFwiKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0ICBmb3JtUHJvcD0gW1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImdhZWFfaW5zdGFuY2VfXFxcIitfdGhpcy5yYW5kb21Xb3JkKDEyLDQsNCksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImdhZWFLZXlcXFwiOiBteUdhZWFLZXksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImRhdGFcXFwiOiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJfX3NldHRpbmdfX1xcXCI6IG51bGwsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJfX2NycnRJbnN0YW5jZUluZm9fX1xcXCI6IG51bGwsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJ0ZXh0XFxcIjogXFxcImlucHV0XFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInN0eWxlc1xcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJoZWlnaHRcXFwiOiBcXFwiNDBweFxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwid2lkdGhcXFwiOiBcXFwiMTAwcHhcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIm1hcmdpblxcXCI6IFxcXCIxMHB4XFxcIlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidHlwZVxcXCI6IG15VHlwZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIm1vZGVsMVxcXCI6IFxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwibGV2ZWxcXFwiOiAzLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwidmFsaWRhdGVBcnJcXFwiOiB2YWxpZGF0ZUFycixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInJhZGlvQXJyXFxcIjogbXlSYWRpb0FycixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInByb3BlcnR5XFxcIjogbXlQcm9wT2JqLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwid2lkdGhcXFwiOjIwMCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImV4dGVuZFxcXCI6IGV4dGVudGRPYmpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJzbG90c1xcXCI6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJwYXJlbnRJbnN0YW5jZUtleVxcXCI6IG15Rm9ybVswXVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtUHJvcEFyci5wdXNoKGZvcm1Qcm9wKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgICAgICAvL25vdGUgIOa3u+WKoOaMiemSrlxcclxcbiAgICAgICAgICAgICAgICAgICAgZm9ybVByb3BBcnI9Wy4uLmZvcm1Qcm9wQXJyLC4uLl90aGlzLmdldEJ1dHRvbk9wcmF0b3IocmVzLmJ1dHRvbnN8fFtdKV07XFxyXFxuICAgICAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcXHJcXG4gICAgICAgICAgICAgICAgICAgIF90aGlzLmxvY2FsSW5zdGFuY2U9Zm9ybVByb3BBcnI7XFxyXFxuICAgICAgICAgICAgICAgICAgICBfdGhpcy5kZWxheUV4Y3V0ZSgwKTtcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgfSk7XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgIC8qKi9cXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIGluaXRMb2NhbEluc3RhbmNlKCl7XFxyXFxuICAgICAgICAgICAgICAgIC8vbm90ZSDlvLnlh7rkuIDkuKrlsYLvvIzmiorljoblj7LmqKHmnb/mnInkuIDkuKrooajmoLzvvIzlkozmkJzntKJcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93TW9kYWwgPSB0cnVlO1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGFsVGl0bGU9XFxcIumAieaLqeaooeadv1xcXCI7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHtwYXRoOiAnL3NlbGVjdFRlbXBsYXRlJ30pXFxyXFxuICAgICAgICAgICAgICAgIC8qIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvZGVsZXRlTGV2ZWwxRGF0YScsIHtcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgIH0pOyovXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICBkZWxheUV4Y3V0ZShpKXtcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgaWYodGhpcy5pc0lFKCkpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKT0+e1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlSW5zdGFuY2UoaSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9LDIwMCk7XFxyXFxuICAgICAgICAgICAgICAgIH1lbHNle1xcclxcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKT0+e1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlSW5zdGFuY2UoaSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9LDIpO1xcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICB1cGRhdGVJbnN0YW5jZShqKXtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IF90aGlzPXRoaXM7XFxyXFxuICAgICAgICAgICAgICAgIGlmKGo9PXRoaXMubG9jYWxJbnN0YW5jZS5sZW5ndGgpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOacgOWQjuS4gOS4qu+8jOmcgOimgeaYvuekuuaVsOaNrlxcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93RGF0YSgpO1xcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIGZvcihsZXQga2V5PTA7a2V5PHRoaXMubG9jYWxJbnN0YW5jZS5sZW5ndGg7a2V5Kyspe1xcclxcbiAgICAgICAgICAgICAgICAgICAgaWYoa2V5PT1qKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgdmFsPXRoaXMubG9jYWxJbnN0YW5jZVtrZXldWzFdO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZhbC5kYXRhLnByb3BlcnR5LnZhbHVlPXZhbC5kYXRhLnByb3BlcnR5LmxhYmVsO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGorKztcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgaW5mbz17XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld0luc3RhbmNlS2V5OnRoaXMubG9jYWxJbnN0YW5jZVtrZXldWzBdLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYWVhS2V5OnZhbC5nYWVhS2V5LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJbnN0YW5jZUtleTp2YWwucGFyZW50SW5zdGFuY2VLZXksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGluZGV4UG9zaXRpb246IDAsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZUdhZWFLZXk6IG51bGwsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsb3ROYW1lOlxcXCJkZWZhdWx0XFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTp2YWwuZGF0YVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMuY29tbWl0QWRkSW5zdGFuY2UoaW5mbyk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMuZGVsYXlFeGN1dGUoaik7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG5cXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIGNvbW1pdEFkZEluc3RhbmNlKG5ld0luZm8pe1xcclxcbiAgICAgICAgICAgICAgICAvL2NyZWF0ZUluc3RhbmNlRWxlXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvYWRkSW5zdGFuY2UnLCB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBuZXdJbnN0YW5jZUtleTpuZXdJbmZvLm5ld0luc3RhbmNlS2V5LFxcclxcbiAgICAgICAgICAgICAgICAgICAgZ2FlYUtleTogbmV3SW5mby5nYWVhS2V5LFxcclxcbiAgICAgICAgICAgICAgICAgICAgZGF0YTpuZXdJbmZvLmRhdGEsXFxyXFxuICAgICAgICAgICAgICAgICAgICBwYXJlbnRJbnN0YW5jZUtleTpuZXdJbmZvLnBhcmVudEluc3RhbmNlS2V5LFxcclxcbiAgICAgICAgICAgICAgICAgICAgaW5kZXhQb3NpdGlvbjogMCxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHByZUdhZWFLZXk6IG5ld0luZm8ucHJlR2FlYUtleSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHNsb3ROYW1lOm5ld0luZm8uc2xvdE5hbWUsXFxyXFxuICAgICAgICAgICAgICAgICAgICBjYjogbmV3SW5zdGFuY2VLZXkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9faGFuZGxlRHJhZ0FkZF9fKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGUgLS1ldmVudCBwYXJlbnRJbnN0YW5jZUtleSAgLS3niLZpbnN0YW5jZUtleSBnYWVhS2V5ICAtLT5jb21wb25lbnQgdHlwZVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBuZXdJbnN0YW5jZUtleSAgLT4gbmV3IGluc3RhY2UgS2V5XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX19oYW5kbGVEcmFnQWRkX18uY2FsbCh0aGlzLCBudWxsLG5ld0luZm8uZGF0YSwgbmV3SW5mby5wYXJlbnRJbnN0YW5jZUtleSwgbmV3SW5mby5nYWVhS2V5LCBuZXdJbnN0YW5jZUtleSwgbmV3SW5mby5zbG90TmFtZSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIF9faGFuZGxlRHJhZ0FkZF9fIChlLCBkYXRhLHBhcmVudEluc3RhbmNlS2V5LCBnYWVhS2V5LCBpbnN0YW5jZUtleSwgc2xvdE5hbWUpIHtcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgbGV0IF9wYXJlbnRJbnN0YW5jZSA9IHRoaXNcXHJcXG4gICAgICAgICAgICAgICAgICAgIC4kc3RvcmVcXHJcXG4gICAgICAgICAgICAgICAgICAgIC5zdGF0ZVxcclxcbiAgICAgICAgICAgICAgICAgICAgLnZpZXdwb3J0XFxyXFxuICAgICAgICAgICAgICAgICAgICAuaW5zdGFuY2VzXFxyXFxuICAgICAgICAgICAgICAgICAgICAuZ2V0KHBhcmVudEluc3RhbmNlS2V5KTtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IGNvbXBvbmVudENsYXNzID0gdGhpc1xcclxcbiAgICAgICAgICAgICAgICAgICAgLiRzdG9yZVxcclxcbiAgICAgICAgICAgICAgICAgICAgLnN0YXRlXFxyXFxuICAgICAgICAgICAgICAgICAgICAuYXBwbGljYXRpb25cXHJcXG4gICAgICAgICAgICAgICAgICAgIC5jb21wb25lbnRDbGFzc2VzXFxyXFxuICAgICAgICAgICAgICAgICAgICAuZ2V0KGdhZWFLZXkpO1xcclxcbiAgICAgICAgICAgICAgICBsZXQgY3JydEluc3RhbmNlID0gdGhpc1xcclxcbiAgICAgICAgICAgICAgICAgICAgLiRzdG9yZVxcclxcbiAgICAgICAgICAgICAgICAgICAgLnN0YXRlXFxyXFxuICAgICAgICAgICAgICAgICAgICAudmlld3BvcnRcXHJcXG4gICAgICAgICAgICAgICAgICAgIC5pbnN0YW5jZXNcXHJcXG4gICAgICAgICAgICAgICAgICAgIC5nZXQoaW5zdGFuY2VLZXkpO1xcclxcbiAgICAgICAgICAgICAgICBjcnJ0SW5zdGFuY2Uudm0gPSB0aGlzO1xcclxcbiAgICAgICAgICAgICAgICBtb3VudFNsb3QoX3BhcmVudEluc3RhbmNlLnZtLGZ1bmN0aW9uKCl7cmV0dXJuIGRhdGF9LCBjb21wb25lbnRDbGFzcywgJ2RlZmF1bHQnLCBpbnN0YW5jZUtleSwgdGhpcy4kc3RvcmUse2lzSW5zZXJ0OmZhbHNlfSk7XFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICBnb3RvQ29uZmlnKCl7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd01vZGFsID0gdHJ1ZTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goe3BhdGg6ICcvZ2xvYmFsU2V0dGluZyd9KVxcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgZGVsZXRlQ2FjaGUoKXtcXHJcXG4gICAgICAgICAgICAgICAgZGVidWdnZXI7XFxyXFxuICAgICAgICAgICAgICAgIC8vbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ2Zvcm1UYWJsZUtleScpOyAgbG9jYWxTdG9yYWdlLnRhYmxlUHJvcFxcclxcbiAgICAgICAgICAgICAgICAvL25vdGUg5L+d5a2Y5oiQ5Yqf5LmL5ZCO6KaB5riF56m657yT5a2YIOW5tuiuvue9ruWIsOS4i+S4gOatpVxcclxcbiAgICAgICAgICAgICAgICBpZihsb2NhbFN0b3JhZ2UuaXRlbVN0ZXAhPVxcXCI1XFxcIil7XFxyXFxuICAgICAgICAgICAgICAgICAgICAvL25vdGUg5Luj6KGo5LiN5piv5pyA5ZCO5LiA5q2lXFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbVN0ZXA9cGFyc2VJbnQobG9jYWxTdG9yYWdlLml0ZW1TdGVwKSsxO1xcclxcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLml0ZW1TdGVwPWl0ZW1TdGVwO1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50U3RlcD1pdGVtU3RlcCtcXFwiXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvZGVsZXRlTGV2ZWwxRGF0YScse30pO1xcclxcbiAgICAgICAgICAgICAgICB9ZWxzZXtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHtuYW1lOiAnc2VsZWN0VGVtcGxhdGUnLHBhcmFtczp7IH19KTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgZ290b0hlbHAoKXtcXHJcXG4gICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oXFxcImh0dHA6Ly8zOS4xMDcuNTUuODQ6ODA4MC9ydWxlcy9wcm9jY2Vkcy1pZGUvXFxcIilcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIGluaXRVSShpdGVtU3RlcCl7XFxyXFxuICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xcclxcbiAgICAgICAgICAgICAgICBsZXQgX3RoaXM9dGhpcztcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xcclxcbiAgICAgICAgICAgICAgICAvKmxvY2FsU3RvcmFnZS5zdGF0dXM9XFxcIjFcXFwiO1xcclxcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UuaXRlbVN0ZXA9XFxcIjJcXFwiOyovXFxyXFxuICAgICAgICAgICAgICAgIC8qIGlmKGxvY2FsU3RvcmFnZS5zdGF0dXMhPVxcXCIxXFxcIil7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOihqOekuuaYr+aWsOWinu+8jOi/mOayoeacieS7u+S9leaTjeS9nCzlkKbliJnlsLHmmK/nvJbovpHnirbmgIFcXHJcXG4gICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRTdGVwPVxcXCIxXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgIH1lbHNle1xcclxcbiAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFN0ZXA9aXRlbVN0ZXA7XFxyXFxuICAgICAgICAgICAgICAgICB9Ki9cXHJcXG4gICAgICAgICAgICAgICAgbGV0IGZvcm1Qcm9wUGFyYW1zID0ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0ZXA6aXRlbVN0ZXAsXFxyXFxuICAgICAgICAgICAgICAgICAgICBpdGVtTm86bG9jYWxTdG9yYWdlLml0ZW1Ob1xcclxcbiAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgICAgICBTZXJ2aWNlLnNlbGVjdEZvcm1Qcm9wKGZvcm1Qcm9wUGFyYW1zKS50aGVuKChyZXMpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5wcm9wSW5mbz1KU09OLnN0cmluZ2lmeShyZXMpOy8vbm90ZSDlrZjlgqjlkI7lj7Dov5Tlm57nmoTooajljZXlrZfmrrVcXHJcXG4gICAgICAgICAgICAgICAgfSk7XFxyXFxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGxvY2FsU3RvcmFnZS5pdGVtTm8pO1xcclxcbiAgICAgICAgICAgICAgICAvL25vdGUg5Y+q5pyJ56ys5LiA5q2l5omN6K+35rGC77yM5ZCm5YiZ55u05o6l6Lez6L+HXFxyXFxuICAgICAgICAgICAgICAgIGlmKGl0ZW1TdGVwIT1cXFwiMVxcXCIpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93U2VydmVyRm9ybT1mYWxzZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0Jhc2VJbmZvRm9ybT10cnVlO1xcclxcbiAgICAgICAgICAgICAgICB9ZWxzZXtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd1NlcnZlckZvcm09dHJ1ZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0Jhc2VJbmZvRm9ybT1mYWxzZTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhsb2NhbFN0b3JhZ2Uuc3RhdHVzKTtcXHJcXG4gICAgICAgICAgICAgICAgLy9ub3RlIOWmguaenOeKtuaAgeS4ujEg5Luj6KGo5bey57uP5Yib5bu677yM6K+35rGC5ZCO5Y+w5pWw5o2u5oqK6KGo5Y2V5pWw5o2u5Yqg6L2977yM5ZCm5YiZ5Li65rKh5pyJ5Yib5bu6XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgIGlmKGxvY2FsU3RvcmFnZS5zdGF0dXM9PVxcXCIxXFxcIil7XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgcGFyYW1zID0ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1Obzpsb2NhbFN0b3JhZ2UuaXRlbU5vLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1TdGVwOmxvY2FsU3RvcmFnZS5pdGVtU3RlcCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBqc29uVHlwZToxXFxyXFxuICAgICAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgICAgICAgICAgU2VydmljZS5zZWxlY3RUZW1wbGF0ZUluZm8ocGFyYW1zKS50aGVuKChyZXMpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBub3RlIOiwg+eUqOWIoOmZpOaWueazlSjkvYbmmK/ku47liJfooajot7Povazov4fmnaXnmoTvvIzlsLHkuI3pnIDopoHliKDpmaTvvIznm7TmjqXliJvlu7op77yM5riF56m66aG16Z2i77yM5oqK5p+l6K+i5Yiw55qE5qih5p2/5YaF5a656LWL5YC85Yiw6aG16Z2iXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVidWdnZXI7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYodHlwZW9mIChyZXMpPT1cXFwidW5kZWZpbmVkXFxcIil7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGluc3RhbmNlcz0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlcz0gWy4uLmluc3RhbmNlc107XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxvY2FsSW5zdGFuY2U9ICBldmFsKCcoJyArIHJlcy5qc29uU3RyICsgJyknKTsvL3RoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmxvY2FsSW5zdGFuY2VzO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzdHI9SlNPTi5zdHJpbmdpZnkobG9jYWxJbnN0YW5jZSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbG9jYWxJbnN0YW5jZT1zdHI7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxJbnN0YW5jZT0gWy4uLmluc3RhbmNlcywuLi5sb2NhbEluc3RhbmNlXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvY2FsSW5zdGFuY2U9bG9jYWxJbnN0YW5jZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlbGF5RXhjdXRlKDEpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgcGFyYW1zSnNvbiA9IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtTm86bG9jYWxTdG9yYWdlLml0ZW1ObyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtU3RlcDppdGVtU3RlcCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBqc29uVHlwZToyXFxyXFxuICAgICAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgICAgICAgICAgU2VydmljZS5zZWxlY3RUZW1wbGF0ZUluZm8ocGFyYW1zSnNvbikudGhlbigocmVzKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYodHlwZW9mIChyZXMpPT1cXFwidW5kZWZpbmVkXFxcIil7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWREYXRlPWZhbHNlO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWREYXRlPXRydWU7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbm90ZSDosIPnlKjliKDpmaTmlrnms5Uo5L2G5piv5LuO5YiX6KGo6Lez6L2s6L+H5p2l55qE77yM5bCx5LiN6ZyA6KaB5Yig6Zmk77yM55u05o6l5Yib5bu6Ke+8jOa4heepuumhtemdou+8jOaKiuafpeivouWIsOeahOaooeadv+WGheWuuei1i+WAvOWIsOmhtemdolxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBsb2NhbEluc3RhbmNlPSAgZXZhbCgnKCcgKyByZXMuanNvblN0ciArICcpJyk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYobG9jYWxJbnN0YW5jZS5kYXRhLnBhZ2UuZnVsbE1vZGVsLnRlbXBsYXRlQ2FjaGUpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcXFwicGFnZVxcXCIsSlNPTi5zdHJpbmdpZnkobG9jYWxJbnN0YW5jZS5kYXRhLnBhZ2UpKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRlbXBsYXRlQ2FjaGU9bG9jYWxJbnN0YW5jZS5kYXRhLnBhZ2UuZnVsbE1vZGVsLnRlbXBsYXRlQ2FjaGU7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHRlbXBsYXRlQ2FjaGUudGFibGVBcnIpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRhYmxlQXJyPUpTT04uc3RyaW5naWZ5KHRlbXBsYXRlQ2FjaGUudGFibGVBcnIpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXFxcInRhYmxlQXJyXFxcIix0YWJsZUFycik7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodGVtcGxhdGVDYWNoZS5zZWxlY3RBcnIpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNlbGVjdEFycj1KU09OLnN0cmluZ2lmeSh0ZW1wbGF0ZUNhY2hlLnNlbGVjdEFycik7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcXFwic2VsZWN0QXJyXFxcIixzZWxlY3RBcnIpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDliqDovb3lrozmlbDmja4g5bCG5q2l6aqk6YeN5paw6LWL5YC8XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMuY3VycmVudFN0ZXA9bG9jYWxTdG9yYWdlLml0ZW1TdGVwO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qICBsZXQgZm9ybUlubGluZT1KU09OLnN0cmluZ2lmeSh0aGlzLmZvcm1JbmxpbmUpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXFxcImZvcm1JbmxpbmVcXFwiLGZvcm1JbmxpbmUpOyovXFxyXFxuICAgICAgICAgICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgICAgICAgICAgfWVsc2V7XFxyXFxuICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcXFwidGFibGVBcnJcXFwiLFxcXCJbXVxcXCIpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgLy9sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcXFwic2VsZWN0QXJyXFxcIixcXFwiW11cXFwiKTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIH1cXHJcXG5cXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBtb3VudGVkKCl7XFxyXFxuXFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgY3JlYXRlZCgpe1xcclxcbiAgICAgICAgICAgIGxldCBfdGhpcz10aGlzO1xcclxcbiAgICAgICAgICAgIGRlYnVnZ2VyO1xcclxcbiAgICAgICAgICAgIC8vYWxlcnQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQpO1xcclxcbiAgICAgICAgICAgIGV2ZW50YnVzLiRvbihcXFwib3BlblN1Y2NEaWFsb2dcXFwiLCAoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuJE1vZGFsLnN1Y2Nlc3Moe1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFxcXCLlj4vmg4Xmj5DnpLpcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXFxcIuS/neWtmOaooeadv+WSjOS6i+mhuUpTT07miJDlip9cXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgb25Paygpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDkv53lrZjmiJDlip/ml7blgJnopoHmuIXnqbrlhajlsYDorr7nva7nmoTmjaLmiJBcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5kZWxldGVDYWNoZSgpO1xcclxcblxcclxcbiAgICAgICAgICAgICAgICAgICAgICAvLyAgX3RoaXMuJHJvdXRlci5wdXNoKHtuYW1lOiAnc2VsZWN0VGVtcGxhdGUnLHBhcmFtczp7IH19KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgfSk7XFxyXFxuICAgICAgICAgICAgfSk7XFxyXFxuICAgICAgICAgICAgQnVzLiRvbihcXFwiY2xvc2VDb25maWdcXFwiLCAoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dNb2RhbCA9IGZhbHNlO1xcclxcbiAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgICAgIGV2ZW50YnVzLiRvbihcXFwiYWRkTW92ZUluc3RhbmNlXFxcIiwgKGRhdGEpID0+IHtcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgbGV0IHZhbD1kYXRhO1xcclxcbiAgICAgICAgICAgICAgICBsZXQgaW5mbz17XFxyXFxuICAgICAgICAgICAgICAgICAgICBuZXdJbnN0YW5jZUtleTp2YWwua2V5LFxcclxcbiAgICAgICAgICAgICAgICAgICAgZ2FlYUtleTp2YWwuZ2FlYUtleSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudEluc3RhbmNlS2V5OnZhbC5wYXJlbnRJbnN0YW5jZUtleSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGluZGV4UG9zaXRpb246IDAsXFxyXFxuICAgICAgICAgICAgICAgICAgICBwcmVHYWVhS2V5OiBudWxsLFxcclxcbiAgICAgICAgICAgICAgICAgICAgc2xvdE5hbWU6XFxcImRlZmF1bHRcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgZGF0YTp2YWwuZGF0YVxcclxcbiAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgICAgICBfdGhpcy5jb21taXRBZGRJbnN0YW5jZShpbmZvKTtcXHJcXG4gICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgICAgICBldmVudGJ1cy4kb24oXFxcImluaXRUZW1wbGF0ZUluc3RhbmNlXFxcIiwgKGRhdGEpID0+IHtcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgLy8gc2V0VGltZW91dCgoKT0+e1xcclxcbiAgICAgICAgICAgICAgICBpZihsb2NhbFN0b3JhZ2UuaXRlbVN0ZXA9PVxcXCJcXFwiKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdFVJKFxcXCIxXFxcIik7XFxyXFxuICAgICAgICAgICAgICAgIH1lbHNle1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0VUkobG9jYWxTdG9yYWdlLml0ZW1TdGVwKTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAvLyAgIH0sMzAwMCk7XFxyXFxuICAgICAgICAgICAgICAgIC8vX3RoaXMuaW5pdFRlbXBsYXRlSW5zdGFuY2UoKTtcXHJcXG4gICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgICAgICBldmVudGJ1cy4kb24oXFxcInNob3dUZW1wbGF0ZVR5cGVcXFwiLCAoZGF0YSkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRGb3JtTGF5b3V0KGRhdGEpO1xcclxcbiAgICAgICAgICAgICAgICAvLyBzZXRUaW1lb3V0KCgpPT57XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgfSwzMDAwKTtcXHJcXG4gICAgICAgICAgICAgICAgLy9fdGhpcy5pbml0VGVtcGxhdGVJbnN0YW5jZSgpO1xcclxcbiAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgfSxcXHJcXG4gICAgICAgIGRlc3Ryb3llZCgpIHtcXHJcXG4gICAgICAgICAgICBkZWJ1Z2dlcjtcXHJcXG4gICAgICAgICAgICBldmVudGJ1cy4kb2ZmKCdzaG93VGVtcGxhdGVUeXBlJyk7XFxyXFxuICAgICAgICAgICAgZXZlbnRidXMuJG9mZignY2xvc2VDb25maWcnKTtcXHJcXG4gICAgICAgICAgICBldmVudGJ1cy4kb2ZmKCdpbml0VGVtcGxhdGVJbnN0YW5jZScpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9O1xcclxcbjwvc2NyaXB0PlxcclxcblxcclxcbjxzdHlsZSA+XFxyXFxuICAgIC5pdnUtbW9kYWwtZnVsbHNjcmVlbiB7XFxyXFxuICAgICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XFxyXFxuICAgICAgICB0b3A6IDA7XFxyXFxuICAgICAgICBib3R0b206IDA7XFxyXFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxyXFxuICAgIH1cXHJcXG4gICAgLml2dS1tb2RhbC1mdWxsc2NyZWVuIC5pdnUtbW9kYWwtY29udGVudCB7XFxyXFxuICAgICAgICB3aWR0aDogMTAwJTtcXHJcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XFxyXFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxyXFxuICAgICAgICB0b3A6IDA7XFxyXFxuICAgICAgICBib3R0b206IDA7XFxyXFxuICAgIH1cXHJcXG4gICAgLml2dS1tb2RhbC1mdWxsc2NyZWVuIC5pdnUtbW9kYWwtZm9vdGVyIHtcXHJcXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXHJcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcclxcbiAgICAgICAgYm90dG9tOiAwO1xcclxcbiAgICB9XFxyXFxuICAgIC5pbmRleERpdnN7XFxyXFxuICAgICAgICBwYWRkaW5nOjBweCA0cHg7XFxyXFxuICAgICAgICBoZWlnaHQ6IDEwMCU7XFxyXFxuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcXHJcXG4gICAgfVxcclxcbiAgICAuaW5kZXhEaXZzOmhvdmVye1xcclxcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxyXFxuICAgICAgICBjb2xvcjogIzMzMztcXHJcXG4gICAgfVxcclxcbjwvc3R5bGU+XFxyXFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTRlMmE1NWI0XCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL2dsb2JhbC1zZXR0aW5ncy9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDI3OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///279\n");
1918
1919/***/ }),
1920/* 280 */
1921/***/ (function(module, exports, __webpack_require__) {
1922
1923eval("__webpack_require__(281);\nvar $Object = __webpack_require__(9).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9kZWZpbmUtcHJvcGVydHkuanM/OTViYiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtQkFBTyxDQUFDLEdBQTBDO0FBQ2xELGNBQWMsbUJBQU8sQ0FBQyxDQUFxQjtBQUMzQztBQUNBO0FBQ0EiLCJmaWxlIjoiMjgwLmpzIiwic291cmNlc0NvbnRlbnQiOlsicmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lczYub2JqZWN0LmRlZmluZS1wcm9wZXJ0eScpO1xudmFyICRPYmplY3QgPSByZXF1aXJlKCcuLi8uLi9tb2R1bGVzL19jb3JlJykuT2JqZWN0O1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0eShpdCwga2V5LCBkZXNjKSB7XG4gIHJldHVybiAkT2JqZWN0LmRlZmluZVByb3BlcnR5KGl0LCBrZXksIGRlc2MpO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9mbi9vYmplY3QvZGVmaW5lLXByb3BlcnR5LmpzXG4vLyBtb2R1bGUgaWQgPSAyODBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///280\n");
1924
1925/***/ }),
1926/* 281 */
1927/***/ (function(module, exports, __webpack_require__) {
1928
1929eval("var $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(16), 'Object', { defineProperty: __webpack_require__(17).f });\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm9iamVjdC5kZWZpbmUtcHJvcGVydHkuanM/OWUwOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFPLENBQUMsRUFBVztBQUNqQztBQUNBLGlDQUFpQyxtQkFBTyxDQUFDLEVBQWdCLGNBQWMsaUJBQWlCLG1CQUFPLENBQUMsRUFBYyxLQUFLIiwiZmlsZSI6IjI4MS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG4vLyAxOS4xLjIuNCAvIDE1LjIuMy42IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPLCBQLCBBdHRyaWJ1dGVzKVxuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAhcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSwgJ09iamVjdCcsIHsgZGVmaW5lUHJvcGVydHk6IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpLmYgfSk7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9lczYub2JqZWN0LmRlZmluZS1wcm9wZXJ0eS5qc1xuLy8gbW9kdWxlIGlkID0gMjgxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///281\n");
1930
1931/***/ }),
1932/* 282 */
1933/***/ (function(module, exports, __webpack_require__) {
1934
1935"use strict";
1936eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n '], ['\\n ']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9nbG9iYWwtc2V0dGluZ3Mvc3R5bGUuanM/MzQyMiJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBRU8sSUFBTUEsZ0NBQVlDLDhCQUFPQyxHQUFuQixpQkFBTiIsImZpbGUiOiIyODIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcblxyXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICAgIGA7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL2dsb2JhbC1zZXR0aW5ncy9zdHlsZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///282\n");
1937
1938/***/ }),
1939/* 283 */
1940/***/ (function(module, exports, __webpack_require__) {
1941
1942eval("__webpack_require__(63);\n__webpack_require__(27);\n__webpack_require__(29);\n__webpack_require__(284);\n__webpack_require__(288);\n__webpack_require__(289);\nmodule.exports = __webpack_require__(9).Promise;\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L2ZuL3Byb21pc2UuanM/MTM5NCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtQkFBTyxDQUFDLEVBQWlDO0FBQ3pDLG1CQUFPLENBQUMsRUFBZ0M7QUFDeEMsbUJBQU8sQ0FBQyxFQUE2QjtBQUNyQyxtQkFBTyxDQUFDLEdBQXdCO0FBQ2hDLG1CQUFPLENBQUMsR0FBZ0M7QUFDeEMsbUJBQU8sQ0FBQyxHQUE0QjtBQUNwQyxpQkFBaUIsbUJBQU8sQ0FBQyxDQUFrQiIsImZpbGUiOiIyODMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJyZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5vYmplY3QudG8tc3RyaW5nJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5zdHJpbmcuaXRlcmF0b3InKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvd2ViLmRvbS5pdGVyYWJsZScpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYucHJvbWlzZScpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczcucHJvbWlzZS5maW5hbGx5Jyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNy5wcm9taXNlLnRyeScpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi9tb2R1bGVzL19jb3JlJykuUHJvbWlzZTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9mbi9wcm9taXNlLmpzXG4vLyBtb2R1bGUgaWQgPSAyODNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///283\n");
1943
1944/***/ }),
1945/* 284 */
1946/***/ (function(module, exports, __webpack_require__) {
1947
1948"use strict";
1949eval("\nvar LIBRARY = __webpack_require__(51);\nvar global = __webpack_require__(11);\nvar ctx = __webpack_require__(19);\nvar classof = __webpack_require__(39);\nvar $export = __webpack_require__(10);\nvar isObject = __webpack_require__(15);\nvar aFunction = __webpack_require__(31);\nvar anInstance = __webpack_require__(64);\nvar forOf = __webpack_require__(35);\nvar speciesConstructor = __webpack_require__(90);\nvar task = __webpack_require__(91).set;\nvar microtask = __webpack_require__(286)();\nvar newPromiseCapabilityModule = __webpack_require__(65);\nvar perform = __webpack_require__(92);\nvar userAgent = __webpack_require__(287);\nvar promiseResolve = __webpack_require__(93);\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[__webpack_require__(12)('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = __webpack_require__(66)($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n__webpack_require__(38)($Promise, PROMISE);\n__webpack_require__(94)(PROMISE);\nWrapper = __webpack_require__(9)[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(80)(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2LnByb21pc2UuanM/MzQ4MSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTtBQUNiLGNBQWMsbUJBQU8sQ0FBQyxFQUFZO0FBQ2xDLGFBQWEsbUJBQU8sQ0FBQyxFQUFXO0FBQ2hDLFVBQVUsbUJBQU8sQ0FBQyxFQUFRO0FBQzFCLGNBQWMsbUJBQU8sQ0FBQyxFQUFZO0FBQ2xDLGNBQWMsbUJBQU8sQ0FBQyxFQUFXO0FBQ2pDLGVBQWUsbUJBQU8sQ0FBQyxFQUFjO0FBQ3JDLGdCQUFnQixtQkFBTyxDQUFDLEVBQWU7QUFDdkMsaUJBQWlCLG1CQUFPLENBQUMsRUFBZ0I7QUFDekMsWUFBWSxtQkFBTyxDQUFDLEVBQVc7QUFDL0IseUJBQXlCLG1CQUFPLENBQUMsRUFBd0I7QUFDekQsV0FBVyxtQkFBTyxDQUFDLEVBQVM7QUFDNUIsZ0JBQWdCLG1CQUFPLENBQUMsR0FBYztBQUN0QyxpQ0FBaUMsbUJBQU8sQ0FBQyxFQUEyQjtBQUNwRSxjQUFjLG1CQUFPLENBQUMsRUFBWTtBQUNsQyxnQkFBZ0IsbUJBQU8sQ0FBQyxHQUFlO0FBQ3ZDLHFCQUFxQixtQkFBTyxDQUFDLEVBQW9CO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0MsRUFBRSxtQkFBTyxDQUFDLEVBQVE7QUFDakU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHLFlBQVk7QUFDZixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0EsV0FBVztBQUNYLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULG1CQUFtQixrQ0FBa0M7QUFDckQsU0FBUztBQUNUO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsZUFBZSx1Q0FBdUM7QUFDdEQ7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QiwwQkFBMEI7QUFDakQ7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxrQkFBa0IseUJBQXlCLEtBQUs7QUFDaEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQix3QkFBd0I7QUFDeEIsZ0JBQWdCO0FBQ2hCLG9CQUFvQjtBQUNwQix3QkFBd0I7QUFDeEIsZ0JBQWdCO0FBQ2hCLG9CQUFvQjtBQUNwQjtBQUNBLHVCQUF1QixtQkFBTyxDQUFDLEVBQWlCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwwREFBMEQsb0JBQW9CO0FBQzlFLG1CQUFPLENBQUMsRUFBc0I7QUFDOUIsbUJBQU8sQ0FBQyxFQUFnQjtBQUN4QixVQUFVLG1CQUFPLENBQUMsQ0FBUzs7QUFFM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsZ0RBQWdELG1CQUFPLENBQUMsRUFBZ0I7QUFDeEU7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6IjI4NC5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcbnZhciBMSUJSQVJZID0gcmVxdWlyZSgnLi9fbGlicmFyeScpO1xudmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIGN0eCA9IHJlcXVpcmUoJy4vX2N0eCcpO1xudmFyIGNsYXNzb2YgPSByZXF1aXJlKCcuL19jbGFzc29mJyk7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgYUZ1bmN0aW9uID0gcmVxdWlyZSgnLi9fYS1mdW5jdGlvbicpO1xudmFyIGFuSW5zdGFuY2UgPSByZXF1aXJlKCcuL19hbi1pbnN0YW5jZScpO1xudmFyIGZvck9mID0gcmVxdWlyZSgnLi9fZm9yLW9mJyk7XG52YXIgc3BlY2llc0NvbnN0cnVjdG9yID0gcmVxdWlyZSgnLi9fc3BlY2llcy1jb25zdHJ1Y3RvcicpO1xudmFyIHRhc2sgPSByZXF1aXJlKCcuL190YXNrJykuc2V0O1xudmFyIG1pY3JvdGFzayA9IHJlcXVpcmUoJy4vX21pY3JvdGFzaycpKCk7XG52YXIgbmV3UHJvbWlzZUNhcGFiaWxpdHlNb2R1bGUgPSByZXF1aXJlKCcuL19uZXctcHJvbWlzZS1jYXBhYmlsaXR5Jyk7XG52YXIgcGVyZm9ybSA9IHJlcXVpcmUoJy4vX3BlcmZvcm0nKTtcbnZhciB1c2VyQWdlbnQgPSByZXF1aXJlKCcuL191c2VyLWFnZW50Jyk7XG52YXIgcHJvbWlzZVJlc29sdmUgPSByZXF1aXJlKCcuL19wcm9taXNlLXJlc29sdmUnKTtcbnZhciBQUk9NSVNFID0gJ1Byb21pc2UnO1xudmFyIFR5cGVFcnJvciA9IGdsb2JhbC5UeXBlRXJyb3I7XG52YXIgcHJvY2VzcyA9IGdsb2JhbC5wcm9jZXNzO1xudmFyIHZlcnNpb25zID0gcHJvY2VzcyAmJiBwcm9jZXNzLnZlcnNpb25zO1xudmFyIHY4ID0gdmVyc2lvbnMgJiYgdmVyc2lvbnMudjggfHwgJyc7XG52YXIgJFByb21pc2UgPSBnbG9iYWxbUFJPTUlTRV07XG52YXIgaXNOb2RlID0gY2xhc3NvZihwcm9jZXNzKSA9PSAncHJvY2Vzcyc7XG52YXIgZW1wdHkgPSBmdW5jdGlvbiAoKSB7IC8qIGVtcHR5ICovIH07XG52YXIgSW50ZXJuYWwsIG5ld0dlbmVyaWNQcm9taXNlQ2FwYWJpbGl0eSwgT3duUHJvbWlzZUNhcGFiaWxpdHksIFdyYXBwZXI7XG52YXIgbmV3UHJvbWlzZUNhcGFiaWxpdHkgPSBuZXdHZW5lcmljUHJvbWlzZUNhcGFiaWxpdHkgPSBuZXdQcm9taXNlQ2FwYWJpbGl0eU1vZHVsZS5mO1xuXG52YXIgVVNFX05BVElWRSA9ICEhZnVuY3Rpb24gKCkge1xuICB0cnkge1xuICAgIC8vIGNvcnJlY3Qgc3ViY2xhc3Npbmcgd2l0aCBAQHNwZWNpZXMgc3VwcG9ydFxuICAgIHZhciBwcm9taXNlID0gJFByb21pc2UucmVzb2x2ZSgxKTtcbiAgICB2YXIgRmFrZVByb21pc2UgPSAocHJvbWlzZS5jb25zdHJ1Y3RvciA9IHt9KVtyZXF1aXJlKCcuL193a3MnKSgnc3BlY2llcycpXSA9IGZ1bmN0aW9uIChleGVjKSB7XG4gICAgICBleGVjKGVtcHR5LCBlbXB0eSk7XG4gICAgfTtcbiAgICAvLyB1bmhhbmRsZWQgcmVqZWN0aW9ucyB0cmFja2luZyBzdXBwb3J0LCBOb2RlSlMgUHJvbWlzZSB3aXRob3V0IGl0IGZhaWxzIEBAc3BlY2llcyB0ZXN0XG4gICAgcmV0dXJuIChpc05vZGUgfHwgdHlwZW9mIFByb21pc2VSZWplY3Rpb25FdmVudCA9PSAnZnVuY3Rpb24nKVxuICAgICAgJiYgcHJvbWlzZS50aGVuKGVtcHR5KSBpbnN0YW5jZW9mIEZha2VQcm9taXNlXG4gICAgICAvLyB2OCA2LjYgKE5vZGUgMTAgYW5kIENocm9tZSA2NikgaGF2ZSBhIGJ1ZyB3aXRoIHJlc29sdmluZyBjdXN0b20gdGhlbmFibGVzXG4gICAgICAvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD04MzA1NjVcbiAgICAgIC8vIHdlIGNhbid0IGRldGVjdCBpdCBzeW5jaHJvbm91c2x5LCBzbyBqdXN0IGNoZWNrIHZlcnNpb25zXG4gICAgICAmJiB2OC5pbmRleE9mKCc2LjYnKSAhPT0gMFxuICAgICAgJiYgdXNlckFnZW50LmluZGV4T2YoJ0Nocm9tZS82NicpID09PSAtMTtcbiAgfSBjYXRjaCAoZSkgeyAvKiBlbXB0eSAqLyB9XG59KCk7XG5cbi8vIGhlbHBlcnNcbnZhciBpc1RoZW5hYmxlID0gZnVuY3Rpb24gKGl0KSB7XG4gIHZhciB0aGVuO1xuICByZXR1cm4gaXNPYmplY3QoaXQpICYmIHR5cGVvZiAodGhlbiA9IGl0LnRoZW4pID09ICdmdW5jdGlvbicgPyB0aGVuIDogZmFsc2U7XG59O1xudmFyIG5vdGlmeSA9IGZ1bmN0aW9uIChwcm9taXNlLCBpc1JlamVjdCkge1xuICBpZiAocHJvbWlzZS5fbikgcmV0dXJuO1xuICBwcm9taXNlLl9uID0gdHJ1ZTtcbiAgdmFyIGNoYWluID0gcHJvbWlzZS5fYztcbiAgbWljcm90YXNrKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgdmFsdWUgPSBwcm9taXNlLl92O1xuICAgIHZhciBvayA9IHByb21pc2UuX3MgPT0gMTtcbiAgICB2YXIgaSA9IDA7XG4gICAgdmFyIHJ1biA9IGZ1bmN0aW9uIChyZWFjdGlvbikge1xuICAgICAgdmFyIGhhbmRsZXIgPSBvayA/IHJlYWN0aW9uLm9rIDogcmVhY3Rpb24uZmFpbDtcbiAgICAgIHZhciByZXNvbHZlID0gcmVhY3Rpb24ucmVzb2x2ZTtcbiAgICAgIHZhciByZWplY3QgPSByZWFjdGlvbi5yZWplY3Q7XG4gICAgICB2YXIgZG9tYWluID0gcmVhY3Rpb24uZG9tYWluO1xuICAgICAgdmFyIHJlc3VsdCwgdGhlbiwgZXhpdGVkO1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKGhhbmRsZXIpIHtcbiAgICAgICAgICBpZiAoIW9rKSB7XG4gICAgICAgICAgICBpZiAocHJvbWlzZS5faCA9PSAyKSBvbkhhbmRsZVVuaGFuZGxlZChwcm9taXNlKTtcbiAgICAgICAgICAgIHByb21pc2UuX2ggPSAxO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaGFuZGxlciA9PT0gdHJ1ZSkgcmVzdWx0ID0gdmFsdWU7XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAoZG9tYWluKSBkb21haW4uZW50ZXIoKTtcbiAgICAgICAgICAgIHJlc3VsdCA9IGhhbmRsZXIodmFsdWUpOyAvLyBtYXkgdGhyb3dcbiAgICAgICAgICAgIGlmIChkb21haW4pIHtcbiAgICAgICAgICAgICAgZG9tYWluLmV4aXQoKTtcbiAgICAgICAgICAgICAgZXhpdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHJlc3VsdCA9PT0gcmVhY3Rpb24ucHJvbWlzZSkge1xuICAgICAgICAgICAgcmVqZWN0KFR5cGVFcnJvcignUHJvbWlzZS1jaGFpbiBjeWNsZScpKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoZW4gPSBpc1RoZW5hYmxlKHJlc3VsdCkpIHtcbiAgICAgICAgICAgIHRoZW4uY2FsbChyZXN1bHQsIHJlc29sdmUsIHJlamVjdCk7XG4gICAgICAgICAgfSBlbHNlIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgfSBlbHNlIHJlamVjdCh2YWx1ZSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGlmIChkb21haW4gJiYgIWV4aXRlZCkgZG9tYWluLmV4aXQoKTtcbiAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgfVxuICAgIH07XG4gICAgd2hpbGUgKGNoYWluLmxlbmd0aCA+IGkpIHJ1bihjaGFpbltpKytdKTsgLy8gdmFyaWFibGUgbGVuZ3RoIC0gY2FuJ3QgdXNlIGZvckVhY2hcbiAgICBwcm9taXNlLl9jID0gW107XG4gICAgcHJvbWlzZS5fbiA9IGZhbHNlO1xuICAgIGlmIChpc1JlamVjdCAmJiAhcHJvbWlzZS5faCkgb25VbmhhbmRsZWQocHJvbWlzZSk7XG4gIH0pO1xufTtcbnZhciBvblVuaGFuZGxlZCA9IGZ1bmN0aW9uIChwcm9taXNlKSB7XG4gIHRhc2suY2FsbChnbG9iYWwsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgdmFsdWUgPSBwcm9taXNlLl92O1xuICAgIHZhciB1bmhhbmRsZWQgPSBpc1VuaGFuZGxlZChwcm9taXNlKTtcbiAgICB2YXIgcmVzdWx0LCBoYW5kbGVyLCBjb25zb2xlO1xuICAgIGlmICh1bmhhbmRsZWQpIHtcbiAgICAgIHJlc3VsdCA9IHBlcmZvcm0oZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoaXNOb2RlKSB7XG4gICAgICAgICAgcHJvY2Vzcy5lbWl0KCd1bmhhbmRsZWRSZWplY3Rpb24nLCB2YWx1ZSwgcHJvbWlzZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoaGFuZGxlciA9IGdsb2JhbC5vbnVuaGFuZGxlZHJlamVjdGlvbikge1xuICAgICAgICAgIGhhbmRsZXIoeyBwcm9taXNlOiBwcm9taXNlLCByZWFzb246IHZhbHVlIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKChjb25zb2xlID0gZ2xvYmFsLmNvbnNvbGUpICYmIGNvbnNvbGUuZXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdVbmhhbmRsZWQgcHJvbWlzZSByZWplY3Rpb24nLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgLy8gQnJvd3NlcnMgc2hvdWxkIG5vdCB0cmlnZ2VyIGByZWplY3Rpb25IYW5kbGVkYCBldmVudCBpZiBpdCB3YXMgaGFuZGxlZCBoZXJlLCBOb2RlSlMgLSBzaG91bGRcbiAgICAgIHByb21pc2UuX2ggPSBpc05vZGUgfHwgaXNVbmhhbmRsZWQocHJvbWlzZSkgPyAyIDogMTtcbiAgICB9IHByb21pc2UuX2EgPSB1bmRlZmluZWQ7XG4gICAgaWYgKHVuaGFuZGxlZCAmJiByZXN1bHQuZSkgdGhyb3cgcmVzdWx0LnY7XG4gIH0pO1xufTtcbnZhciBpc1VuaGFuZGxlZCA9IGZ1bmN0aW9uIChwcm9taXNlKSB7XG4gIHJldHVybiBwcm9taXNlLl9oICE9PSAxICYmIChwcm9taXNlLl9hIHx8IHByb21pc2UuX2MpLmxlbmd0aCA9PT0gMDtcbn07XG52YXIgb25IYW5kbGVVbmhhbmRsZWQgPSBmdW5jdGlvbiAocHJvbWlzZSkge1xuICB0YXNrLmNhbGwoZ2xvYmFsLCBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGhhbmRsZXI7XG4gICAgaWYgKGlzTm9kZSkge1xuICAgICAgcHJvY2Vzcy5lbWl0KCdyZWplY3Rpb25IYW5kbGVkJywgcHJvbWlzZSk7XG4gICAgfSBlbHNlIGlmIChoYW5kbGVyID0gZ2xvYmFsLm9ucmVqZWN0aW9uaGFuZGxlZCkge1xuICAgICAgaGFuZGxlcih7IHByb21pc2U6IHByb21pc2UsIHJlYXNvbjogcHJvbWlzZS5fdiB9KTtcbiAgICB9XG4gIH0pO1xufTtcbnZhciAkcmVqZWN0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gIHZhciBwcm9taXNlID0gdGhpcztcbiAgaWYgKHByb21pc2UuX2QpIHJldHVybjtcbiAgcHJvbWlzZS5fZCA9IHRydWU7XG4gIHByb21pc2UgPSBwcm9taXNlLl93IHx8IHByb21pc2U7IC8vIHVud3JhcFxuICBwcm9taXNlLl92ID0gdmFsdWU7XG4gIHByb21pc2UuX3MgPSAyO1xuICBpZiAoIXByb21pc2UuX2EpIHByb21pc2UuX2EgPSBwcm9taXNlLl9jLnNsaWNlKCk7XG4gIG5vdGlmeShwcm9taXNlLCB0cnVlKTtcbn07XG52YXIgJHJlc29sdmUgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgdmFyIHByb21pc2UgPSB0aGlzO1xuICB2YXIgdGhlbjtcbiAgaWYgKHByb21pc2UuX2QpIHJldHVybjtcbiAgcHJvbWlzZS5fZCA9IHRydWU7XG4gIHByb21pc2UgPSBwcm9taXNlLl93IHx8IHByb21pc2U7IC8vIHVud3JhcFxuICB0cnkge1xuICAgIGlmIChwcm9taXNlID09PSB2YWx1ZSkgdGhyb3cgVHlwZUVycm9yKFwiUHJvbWlzZSBjYW4ndCBiZSByZXNvbHZlZCBpdHNlbGZcIik7XG4gICAgaWYgKHRoZW4gPSBpc1RoZW5hYmxlKHZhbHVlKSkge1xuICAgICAgbWljcm90YXNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHdyYXBwZXIgPSB7IF93OiBwcm9taXNlLCBfZDogZmFsc2UgfTsgLy8gd3JhcFxuICAgICAgICB0cnkge1xuICAgICAgICAgIHRoZW4uY2FsbCh2YWx1ZSwgY3R4KCRyZXNvbHZlLCB3cmFwcGVyLCAxKSwgY3R4KCRyZWplY3QsIHdyYXBwZXIsIDEpKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICRyZWplY3QuY2FsbCh3cmFwcGVyLCBlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHByb21pc2UuX3YgPSB2YWx1ZTtcbiAgICAgIHByb21pc2UuX3MgPSAxO1xuICAgICAgbm90aWZ5KHByb21pc2UsIGZhbHNlKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAkcmVqZWN0LmNhbGwoeyBfdzogcHJvbWlzZSwgX2Q6IGZhbHNlIH0sIGUpOyAvLyB3cmFwXG4gIH1cbn07XG5cbi8vIGNvbnN0cnVjdG9yIHBvbHlmaWxsXG5pZiAoIVVTRV9OQVRJVkUpIHtcbiAgLy8gMjUuNC4zLjEgUHJvbWlzZShleGVjdXRvcilcbiAgJFByb21pc2UgPSBmdW5jdGlvbiBQcm9taXNlKGV4ZWN1dG9yKSB7XG4gICAgYW5JbnN0YW5jZSh0aGlzLCAkUHJvbWlzZSwgUFJPTUlTRSwgJ19oJyk7XG4gICAgYUZ1bmN0aW9uKGV4ZWN1dG9yKTtcbiAgICBJbnRlcm5hbC5jYWxsKHRoaXMpO1xuICAgIHRyeSB7XG4gICAgICBleGVjdXRvcihjdHgoJHJlc29sdmUsIHRoaXMsIDEpLCBjdHgoJHJlamVjdCwgdGhpcywgMSkpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgJHJlamVjdC5jYWxsKHRoaXMsIGVycik7XG4gICAgfVxuICB9O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgSW50ZXJuYWwgPSBmdW5jdGlvbiBQcm9taXNlKGV4ZWN1dG9yKSB7XG4gICAgdGhpcy5fYyA9IFtdOyAgICAgICAgICAgICAvLyA8LSBhd2FpdGluZyByZWFjdGlvbnNcbiAgICB0aGlzLl9hID0gdW5kZWZpbmVkOyAgICAgIC8vIDwtIGNoZWNrZWQgaW4gaXNVbmhhbmRsZWQgcmVhY3Rpb25zXG4gICAgdGhpcy5fcyA9IDA7ICAgICAgICAgICAgICAvLyA8LSBzdGF0ZVxuICAgIHRoaXMuX2QgPSBmYWxzZTsgICAgICAgICAgLy8gPC0gZG9uZVxuICAgIHRoaXMuX3YgPSB1bmRlZmluZWQ7ICAgICAgLy8gPC0gdmFsdWVcbiAgICB0aGlzLl9oID0gMDsgICAgICAgICAgICAgIC8vIDwtIHJlamVjdGlvbiBzdGF0ZSwgMCAtIGRlZmF1bHQsIDEgLSBoYW5kbGVkLCAyIC0gdW5oYW5kbGVkXG4gICAgdGhpcy5fbiA9IGZhbHNlOyAgICAgICAgICAvLyA8LSBub3RpZnlcbiAgfTtcbiAgSW50ZXJuYWwucHJvdG90eXBlID0gcmVxdWlyZSgnLi9fcmVkZWZpbmUtYWxsJykoJFByb21pc2UucHJvdG90eXBlLCB7XG4gICAgLy8gMjUuNC41LjMgUHJvbWlzZS5wcm90b3R5cGUudGhlbihvbkZ1bGZpbGxlZCwgb25SZWplY3RlZClcbiAgICB0aGVuOiBmdW5jdGlvbiB0aGVuKG9uRnVsZmlsbGVkLCBvblJlamVjdGVkKSB7XG4gICAgICB2YXIgcmVhY3Rpb24gPSBuZXdQcm9taXNlQ2FwYWJpbGl0eShzcGVjaWVzQ29uc3RydWN0b3IodGhpcywgJFByb21pc2UpKTtcbiAgICAgIHJlYWN0aW9uLm9rID0gdHlwZW9mIG9uRnVsZmlsbGVkID09ICdmdW5jdGlvbicgPyBvbkZ1bGZpbGxlZCA6IHRydWU7XG4gICAgICByZWFjdGlvbi5mYWlsID0gdHlwZW9mIG9uUmVqZWN0ZWQgPT0gJ2Z1bmN0aW9uJyAmJiBvblJlamVjdGVkO1xuICAgICAgcmVhY3Rpb24uZG9tYWluID0gaXNOb2RlID8gcHJvY2Vzcy5kb21haW4gOiB1bmRlZmluZWQ7XG4gICAgICB0aGlzLl9jLnB1c2gocmVhY3Rpb24pO1xuICAgICAgaWYgKHRoaXMuX2EpIHRoaXMuX2EucHVzaChyZWFjdGlvbik7XG4gICAgICBpZiAodGhpcy5fcykgbm90aWZ5KHRoaXMsIGZhbHNlKTtcbiAgICAgIHJldHVybiByZWFjdGlvbi5wcm9taXNlO1xuICAgIH0sXG4gICAgLy8gMjUuNC41LjEgUHJvbWlzZS5wcm90b3R5cGUuY2F0Y2gob25SZWplY3RlZClcbiAgICAnY2F0Y2gnOiBmdW5jdGlvbiAob25SZWplY3RlZCkge1xuICAgICAgcmV0dXJuIHRoaXMudGhlbih1bmRlZmluZWQsIG9uUmVqZWN0ZWQpO1xuICAgIH1cbiAgfSk7XG4gIE93blByb21pc2VDYXBhYmlsaXR5ID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBwcm9taXNlID0gbmV3IEludGVybmFsKCk7XG4gICAgdGhpcy5wcm9taXNlID0gcHJvbWlzZTtcbiAgICB0aGlzLnJlc29sdmUgPSBjdHgoJHJlc29sdmUsIHByb21pc2UsIDEpO1xuICAgIHRoaXMucmVqZWN0ID0gY3R4KCRyZWplY3QsIHByb21pc2UsIDEpO1xuICB9O1xuICBuZXdQcm9taXNlQ2FwYWJpbGl0eU1vZHVsZS5mID0gbmV3UHJvbWlzZUNhcGFiaWxpdHkgPSBmdW5jdGlvbiAoQykge1xuICAgIHJldHVybiBDID09PSAkUHJvbWlzZSB8fCBDID09PSBXcmFwcGVyXG4gICAgICA/IG5ldyBPd25Qcm9taXNlQ2FwYWJpbGl0eShDKVxuICAgICAgOiBuZXdHZW5lcmljUHJvbWlzZUNhcGFiaWxpdHkoQyk7XG4gIH07XG59XG5cbiRleHBvcnQoJGV4cG9ydC5HICsgJGV4cG9ydC5XICsgJGV4cG9ydC5GICogIVVTRV9OQVRJVkUsIHsgUHJvbWlzZTogJFByb21pc2UgfSk7XG5yZXF1aXJlKCcuL19zZXQtdG8tc3RyaW5nLXRhZycpKCRQcm9taXNlLCBQUk9NSVNFKTtcbnJlcXVpcmUoJy4vX3NldC1zcGVjaWVzJykoUFJPTUlTRSk7XG5XcmFwcGVyID0gcmVxdWlyZSgnLi9fY29yZScpW1BST01JU0VdO1xuXG4vLyBzdGF0aWNzXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqICFVU0VfTkFUSVZFLCBQUk9NSVNFLCB7XG4gIC8vIDI1LjQuNC41IFByb21pc2UucmVqZWN0KHIpXG4gIHJlamVjdDogZnVuY3Rpb24gcmVqZWN0KHIpIHtcbiAgICB2YXIgY2FwYWJpbGl0eSA9IG5ld1Byb21pc2VDYXBhYmlsaXR5KHRoaXMpO1xuICAgIHZhciAkJHJlamVjdCA9IGNhcGFiaWxpdHkucmVqZWN0O1xuICAgICQkcmVqZWN0KHIpO1xuICAgIHJldHVybiBjYXBhYmlsaXR5LnByb21pc2U7XG4gIH1cbn0pO1xuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAoTElCUkFSWSB8fCAhVVNFX05BVElWRSksIFBST01JU0UsIHtcbiAgLy8gMjUuNC40LjYgUHJvbWlzZS5yZXNvbHZlKHgpXG4gIHJlc29sdmU6IGZ1bmN0aW9uIHJlc29sdmUoeCkge1xuICAgIHJldHVybiBwcm9taXNlUmVzb2x2ZShMSUJSQVJZICYmIHRoaXMgPT09IFdyYXBwZXIgPyAkUHJvbWlzZSA6IHRoaXMsIHgpO1xuICB9XG59KTtcbiRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogIShVU0VfTkFUSVZFICYmIHJlcXVpcmUoJy4vX2l0ZXItZGV0ZWN0JykoZnVuY3Rpb24gKGl0ZXIpIHtcbiAgJFByb21pc2UuYWxsKGl0ZXIpWydjYXRjaCddKGVtcHR5KTtcbn0pKSwgUFJPTUlTRSwge1xuICAvLyAyNS40LjQuMSBQcm9taXNlLmFsbChpdGVyYWJsZSlcbiAgYWxsOiBmdW5jdGlvbiBhbGwoaXRlcmFibGUpIHtcbiAgICB2YXIgQyA9IHRoaXM7XG4gICAgdmFyIGNhcGFiaWxpdHkgPSBuZXdQcm9taXNlQ2FwYWJpbGl0eShDKTtcbiAgICB2YXIgcmVzb2x2ZSA9IGNhcGFiaWxpdHkucmVzb2x2ZTtcbiAgICB2YXIgcmVqZWN0ID0gY2FwYWJpbGl0eS5yZWplY3Q7XG4gICAgdmFyIHJlc3VsdCA9IHBlcmZvcm0oZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIHZhbHVlcyA9IFtdO1xuICAgICAgdmFyIGluZGV4ID0gMDtcbiAgICAgIHZhciByZW1haW5pbmcgPSAxO1xuICAgICAgZm9yT2YoaXRlcmFibGUsIGZhbHNlLCBmdW5jdGlvbiAocHJvbWlzZSkge1xuICAgICAgICB2YXIgJGluZGV4ID0gaW5kZXgrKztcbiAgICAgICAgdmFyIGFscmVhZHlDYWxsZWQgPSBmYWxzZTtcbiAgICAgICAgdmFsdWVzLnB1c2godW5kZWZpbmVkKTtcbiAgICAgICAgcmVtYWluaW5nKys7XG4gICAgICAgIEMucmVzb2x2ZShwcm9taXNlKS50aGVuKGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgIGlmIChhbHJlYWR5Q2FsbGVkKSByZXR1cm47XG4gICAgICAgICAgYWxyZWFkeUNhbGxlZCA9IHRydWU7XG4gICAgICAgICAgdmFsdWVzWyRpbmRleF0gPSB2YWx1ZTtcbiAgICAgICAgICAtLXJlbWFpbmluZyB8fCByZXNvbHZlKHZhbHVlcyk7XG4gICAgICAgIH0sIHJlamVjdCk7XG4gICAgICB9KTtcbiAgICAgIC0tcmVtYWluaW5nIHx8IHJlc29sdmUodmFsdWVzKTtcbiAgICB9KTtcbiAgICBpZiAocmVzdWx0LmUpIHJlamVjdChyZXN1bHQudik7XG4gICAgcmV0dXJuIGNhcGFiaWxpdHkucHJvbWlzZTtcbiAgfSxcbiAgLy8gMjUuNC40LjQgUHJvbWlzZS5yYWNlKGl0ZXJhYmxlKVxuICByYWNlOiBmdW5jdGlvbiByYWNlKGl0ZXJhYmxlKSB7XG4gICAgdmFyIEMgPSB0aGlzO1xuICAgIHZhciBjYXBhYmlsaXR5ID0gbmV3UHJvbWlzZUNhcGFiaWxpdHkoQyk7XG4gICAgdmFyIHJlamVjdCA9IGNhcGFiaWxpdHkucmVqZWN0O1xuICAgIHZhciByZXN1bHQgPSBwZXJmb3JtKGZ1bmN0aW9uICgpIHtcbiAgICAgIGZvck9mKGl0ZXJhYmxlLCBmYWxzZSwgZnVuY3Rpb24gKHByb21pc2UpIHtcbiAgICAgICAgQy5yZXNvbHZlKHByb21pc2UpLnRoZW4oY2FwYWJpbGl0eS5yZXNvbHZlLCByZWplY3QpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgaWYgKHJlc3VsdC5lKSByZWplY3QocmVzdWx0LnYpO1xuICAgIHJldHVybiBjYXBhYmlsaXR5LnByb21pc2U7XG4gIH1cbn0pO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2LnByb21pc2UuanNcbi8vIG1vZHVsZSBpZCA9IDI4NFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///284\n");
1950
1951/***/ }),
1952/* 285 */
1953/***/ (function(module, exports) {
1954
1955eval("// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2ludm9rZS5qcz8wNTljIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0giLCJmaWxlIjoiMjg1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZmFzdCBhcHBseSwgaHR0cDovL2pzcGVyZi5sbmtpdC5jb20vZmFzdC1hcHBseS81XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChmbiwgYXJncywgdGhhdCkge1xuICB2YXIgdW4gPSB0aGF0ID09PSB1bmRlZmluZWQ7XG4gIHN3aXRjaCAoYXJncy5sZW5ndGgpIHtcbiAgICBjYXNlIDA6IHJldHVybiB1biA/IGZuKClcbiAgICAgICAgICAgICAgICAgICAgICA6IGZuLmNhbGwodGhhdCk7XG4gICAgY2FzZSAxOiByZXR1cm4gdW4gPyBmbihhcmdzWzBdKVxuICAgICAgICAgICAgICAgICAgICAgIDogZm4uY2FsbCh0aGF0LCBhcmdzWzBdKTtcbiAgICBjYXNlIDI6IHJldHVybiB1biA/IGZuKGFyZ3NbMF0sIGFyZ3NbMV0pXG4gICAgICAgICAgICAgICAgICAgICAgOiBmbi5jYWxsKHRoYXQsIGFyZ3NbMF0sIGFyZ3NbMV0pO1xuICAgIGNhc2UgMzogcmV0dXJuIHVuID8gZm4oYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSlcbiAgICAgICAgICAgICAgICAgICAgICA6IGZuLmNhbGwodGhhdCwgYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSk7XG4gICAgY2FzZSA0OiByZXR1cm4gdW4gPyBmbihhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdLCBhcmdzWzNdKVxuICAgICAgICAgICAgICAgICAgICAgIDogZm4uY2FsbCh0aGF0LCBhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdLCBhcmdzWzNdKTtcbiAgfSByZXR1cm4gZm4uYXBwbHkodGhhdCwgYXJncyk7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2ludm9rZS5qc1xuLy8gbW9kdWxlIGlkID0gMjg1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///285\n");
1956
1957/***/ }),
1958/* 286 */
1959/***/ (function(module, exports, __webpack_require__) {
1960
1961eval("var global = __webpack_require__(11);\nvar macrotask = __webpack_require__(91).set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __webpack_require__(30)(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX21pY3JvdGFzay5qcz9lZmFjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGFBQWEsbUJBQU8sQ0FBQyxFQUFXO0FBQ2hDLGdCQUFnQixtQkFBTyxDQUFDLEVBQVM7QUFDakM7QUFDQTtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLEVBQVE7O0FBRTdCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsdUNBQXVDLHNCQUFzQixFQUFFO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBIiwiZmlsZSI6IjI4Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBtYWNyb3Rhc2sgPSByZXF1aXJlKCcuL190YXNrJykuc2V0O1xudmFyIE9ic2VydmVyID0gZ2xvYmFsLk11dGF0aW9uT2JzZXJ2ZXIgfHwgZ2xvYmFsLldlYktpdE11dGF0aW9uT2JzZXJ2ZXI7XG52YXIgcHJvY2VzcyA9IGdsb2JhbC5wcm9jZXNzO1xudmFyIFByb21pc2UgPSBnbG9iYWwuUHJvbWlzZTtcbnZhciBpc05vZGUgPSByZXF1aXJlKCcuL19jb2YnKShwcm9jZXNzKSA9PSAncHJvY2Vzcyc7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKCkge1xuICB2YXIgaGVhZCwgbGFzdCwgbm90aWZ5O1xuXG4gIHZhciBmbHVzaCA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgcGFyZW50LCBmbjtcbiAgICBpZiAoaXNOb2RlICYmIChwYXJlbnQgPSBwcm9jZXNzLmRvbWFpbikpIHBhcmVudC5leGl0KCk7XG4gICAgd2hpbGUgKGhlYWQpIHtcbiAgICAgIGZuID0gaGVhZC5mbjtcbiAgICAgIGhlYWQgPSBoZWFkLm5leHQ7XG4gICAgICB0cnkge1xuICAgICAgICBmbigpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBpZiAoaGVhZCkgbm90aWZ5KCk7XG4gICAgICAgIGVsc2UgbGFzdCA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9IGxhc3QgPSB1bmRlZmluZWQ7XG4gICAgaWYgKHBhcmVudCkgcGFyZW50LmVudGVyKCk7XG4gIH07XG5cbiAgLy8gTm9kZS5qc1xuICBpZiAoaXNOb2RlKSB7XG4gICAgbm90aWZ5ID0gZnVuY3Rpb24gKCkge1xuICAgICAgcHJvY2Vzcy5uZXh0VGljayhmbHVzaCk7XG4gICAgfTtcbiAgLy8gYnJvd3NlcnMgd2l0aCBNdXRhdGlvbk9ic2VydmVyLCBleGNlcHQgaU9TIFNhZmFyaSAtIGh0dHBzOi8vZ2l0aHViLmNvbS96bG9pcm9jay9jb3JlLWpzL2lzc3Vlcy8zMzlcbiAgfSBlbHNlIGlmIChPYnNlcnZlciAmJiAhKGdsb2JhbC5uYXZpZ2F0b3IgJiYgZ2xvYmFsLm5hdmlnYXRvci5zdGFuZGFsb25lKSkge1xuICAgIHZhciB0b2dnbGUgPSB0cnVlO1xuICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJycpO1xuICAgIG5ldyBPYnNlcnZlcihmbHVzaCkub2JzZXJ2ZShub2RlLCB7IGNoYXJhY3RlckRhdGE6IHRydWUgfSk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tbmV3XG4gICAgbm90aWZ5ID0gZnVuY3Rpb24gKCkge1xuICAgICAgbm9kZS5kYXRhID0gdG9nZ2xlID0gIXRvZ2dsZTtcbiAgICB9O1xuICAvLyBlbnZpcm9ubWVudHMgd2l0aCBtYXliZSBub24tY29tcGxldGVseSBjb3JyZWN0LCBidXQgZXhpc3RlbnQgUHJvbWlzZVxuICB9IGVsc2UgaWYgKFByb21pc2UgJiYgUHJvbWlzZS5yZXNvbHZlKSB7XG4gICAgLy8gUHJvbWlzZS5yZXNvbHZlIHdpdGhvdXQgYW4gYXJndW1lbnQgdGhyb3dzIGFuIGVycm9yIGluIExHIFdlYk9TIDJcbiAgICB2YXIgcHJvbWlzZSA9IFByb21pc2UucmVzb2x2ZSh1bmRlZmluZWQpO1xuICAgIG5vdGlmeSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHByb21pc2UudGhlbihmbHVzaCk7XG4gICAgfTtcbiAgLy8gZm9yIG90aGVyIGVudmlyb25tZW50cyAtIG1hY3JvdGFzayBiYXNlZCBvbjpcbiAgLy8gLSBzZXRJbW1lZGlhdGVcbiAgLy8gLSBNZXNzYWdlQ2hhbm5lbFxuICAvLyAtIHdpbmRvdy5wb3N0TWVzc2FnXG4gIC8vIC0gb25yZWFkeXN0YXRlY2hhbmdlXG4gIC8vIC0gc2V0VGltZW91dFxuICB9IGVsc2Uge1xuICAgIG5vdGlmeSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIHN0cmFuZ2UgSUUgKyB3ZWJwYWNrIGRldiBzZXJ2ZXIgYnVnIC0gdXNlIC5jYWxsKGdsb2JhbClcbiAgICAgIG1hY3JvdGFzay5jYWxsKGdsb2JhbCwgZmx1c2gpO1xuICAgIH07XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24gKGZuKSB7XG4gICAgdmFyIHRhc2sgPSB7IGZuOiBmbiwgbmV4dDogdW5kZWZpbmVkIH07XG4gICAgaWYgKGxhc3QpIGxhc3QubmV4dCA9IHRhc2s7XG4gICAgaWYgKCFoZWFkKSB7XG4gICAgICBoZWFkID0gdGFzaztcbiAgICAgIG5vdGlmeSgpO1xuICAgIH0gbGFzdCA9IHRhc2s7XG4gIH07XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX21pY3JvdGFzay5qc1xuLy8gbW9kdWxlIGlkID0gMjg2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///286\n");
1962
1963/***/ }),
1964/* 287 */
1965/***/ (function(module, exports, __webpack_require__) {
1966
1967eval("var global = __webpack_require__(11);\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3VzZXItYWdlbnQuanM/Zjc5ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxhQUFhLG1CQUFPLENBQUMsRUFBVztBQUNoQzs7QUFFQSIsImZpbGUiOiIyODcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgbmF2aWdhdG9yID0gZ2xvYmFsLm5hdmlnYXRvcjtcblxubW9kdWxlLmV4cG9ydHMgPSBuYXZpZ2F0b3IgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudCB8fCAnJztcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL191c2VyLWFnZW50LmpzXG4vLyBtb2R1bGUgaWQgPSAyODdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///287\n");
1968
1969/***/ }),
1970/* 288 */
1971/***/ (function(module, exports, __webpack_require__) {
1972
1973"use strict";
1974eval("// https://github.com/tc39/proposal-promise-finally\n\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(9);\nvar global = __webpack_require__(11);\nvar speciesConstructor = __webpack_require__(90);\nvar promiseResolve = __webpack_require__(93);\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3LnByb21pc2UuZmluYWxseS5qcz9kMmEyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ2E7QUFDYixjQUFjLG1CQUFPLENBQUMsRUFBVztBQUNqQyxXQUFXLG1CQUFPLENBQUMsQ0FBUztBQUM1QixhQUFhLG1CQUFPLENBQUMsRUFBVztBQUNoQyx5QkFBeUIsbUJBQU8sQ0FBQyxFQUF3QjtBQUN6RCxxQkFBcUIsbUJBQU8sQ0FBQyxFQUFvQjs7QUFFakQsMkNBQTJDO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOERBQThELFVBQVUsRUFBRTtBQUMxRSxLQUFLO0FBQ0w7QUFDQSw4REFBOEQsU0FBUyxFQUFFO0FBQ3pFLEtBQUs7QUFDTDtBQUNBLENBQUMsRUFBRSIsImZpbGUiOiIyODguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vdGMzOS9wcm9wb3NhbC1wcm9taXNlLWZpbmFsbHlcbid1c2Ugc3RyaWN0JztcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgY29yZSA9IHJlcXVpcmUoJy4vX2NvcmUnKTtcbnZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBzcGVjaWVzQ29uc3RydWN0b3IgPSByZXF1aXJlKCcuL19zcGVjaWVzLWNvbnN0cnVjdG9yJyk7XG52YXIgcHJvbWlzZVJlc29sdmUgPSByZXF1aXJlKCcuL19wcm9taXNlLXJlc29sdmUnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LlIsICdQcm9taXNlJywgeyAnZmluYWxseSc6IGZ1bmN0aW9uIChvbkZpbmFsbHkpIHtcbiAgdmFyIEMgPSBzcGVjaWVzQ29uc3RydWN0b3IodGhpcywgY29yZS5Qcm9taXNlIHx8IGdsb2JhbC5Qcm9taXNlKTtcbiAgdmFyIGlzRnVuY3Rpb24gPSB0eXBlb2Ygb25GaW5hbGx5ID09ICdmdW5jdGlvbic7XG4gIHJldHVybiB0aGlzLnRoZW4oXG4gICAgaXNGdW5jdGlvbiA/IGZ1bmN0aW9uICh4KSB7XG4gICAgICByZXR1cm4gcHJvbWlzZVJlc29sdmUoQywgb25GaW5hbGx5KCkpLnRoZW4oZnVuY3Rpb24gKCkgeyByZXR1cm4geDsgfSk7XG4gICAgfSA6IG9uRmluYWxseSxcbiAgICBpc0Z1bmN0aW9uID8gZnVuY3Rpb24gKGUpIHtcbiAgICAgIHJldHVybiBwcm9taXNlUmVzb2x2ZShDLCBvbkZpbmFsbHkoKSkudGhlbihmdW5jdGlvbiAoKSB7IHRocm93IGU7IH0pO1xuICAgIH0gOiBvbkZpbmFsbHlcbiAgKTtcbn0gfSk7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9lczcucHJvbWlzZS5maW5hbGx5LmpzXG4vLyBtb2R1bGUgaWQgPSAyODhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///288\n");
1975
1976/***/ }),
1977/* 289 */
1978/***/ (function(module, exports, __webpack_require__) {
1979
1980"use strict";
1981eval("\n// https://github.com/tc39/proposal-promise-try\nvar $export = __webpack_require__(10);\nvar newPromiseCapability = __webpack_require__(65);\nvar perform = __webpack_require__(92);\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3LnByb21pc2UudHJ5LmpzP2RiMzIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxFQUFXO0FBQ2pDLDJCQUEyQixtQkFBTyxDQUFDLEVBQTJCO0FBQzlELGNBQWMsbUJBQU8sQ0FBQyxFQUFZOztBQUVsQywrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUUiLCJmaWxlIjoiMjg5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtcHJvbWlzZS10cnlcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgbmV3UHJvbWlzZUNhcGFiaWxpdHkgPSByZXF1aXJlKCcuL19uZXctcHJvbWlzZS1jYXBhYmlsaXR5Jyk7XG52YXIgcGVyZm9ybSA9IHJlcXVpcmUoJy4vX3BlcmZvcm0nKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdQcm9taXNlJywgeyAndHJ5JzogZnVuY3Rpb24gKGNhbGxiYWNrZm4pIHtcbiAgdmFyIHByb21pc2VDYXBhYmlsaXR5ID0gbmV3UHJvbWlzZUNhcGFiaWxpdHkuZih0aGlzKTtcbiAgdmFyIHJlc3VsdCA9IHBlcmZvcm0oY2FsbGJhY2tmbik7XG4gIChyZXN1bHQuZSA/IHByb21pc2VDYXBhYmlsaXR5LnJlamVjdCA6IHByb21pc2VDYXBhYmlsaXR5LnJlc29sdmUpKHJlc3VsdC52KTtcbiAgcmV0dXJuIHByb21pc2VDYXBhYmlsaXR5LnByb21pc2U7XG59IH0pO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3LnByb21pc2UudHJ5LmpzXG4vLyBtb2R1bGUgaWQgPSAyODlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///289\n");
1982
1983/***/ }),
1984/* 290 */
1985/***/ (function(module, exports, __webpack_require__) {
1986
1987"use strict";
1988eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.HelperClass = undefined;\n\nvar _dom = __webpack_require__(95);\n\nvar _mount = __webpack_require__(42);\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar HelperClass = exports.HelperClass = {\n data: function data() {\n return { __setting__: null, __crrtInstanceInfo__: null };\n },\n\n methods: {\n handleMouseOver: function handleMouseOver(event) {\n event.stopPropagation();\n this.$store.commit('viewport/setCurrentHoverInstanceKey', this.__crrtInstanceKey__);\n _eventbus2.default.$emit(this.$store.state.viewport.mouseHoveringComponent, {\n instanceKey: this.__crrtInstanceKey__,\n type: 'instance'\n });\n },\n handleMouseLeave: function handleMouseLeave(event) {\n event.stopPropagation();\n\n _eventbus2.default.$emit(this.$store.state.viewport.mouseLeaveComponent, {\n instanceKey: this.__crrtInstanceKey__,\n type: 'instance'\n });\n },\n handleClick: function handleClick(event) {\n event.stopPropagation();\n this.$store.commit('viewport/setCurrentEditInstanceKey', this.__crrtInstanceKey__);\n },\n registerEvent: function registerEvent() {\n this.$el.removeEventListener('mouseover', this.handleMouseOver);\n this.$el.removeEventListener('mouseleave', this.handleMouseLeave);\n this.$el.removeEventListener('click', this.handleClick);\n this.$el.addEventListener('mouseover', this.handleMouseOver);\n this.$el.addEventListener('mouseleave', this.handleMouseLeave);\n this.$el.addEventListener('click', this.handleClick);\n },\n __refresh__: function __refresh__(instanceKey, instanceDom, setting, instance) {\n var _this = this;\n\n this.$store.commit('viewport/setDomInstance', {\n key: instanceKey,\n instance: instanceDom\n });\n\n (0, _dom.addClass)(instanceDom, 'gaea-draggable');\n this.__setLayoutClassIfCanDragIn__(setting, instance, instanceDom);\n var slotsDom = instanceDom.querySelectorAll('.gaea-slot');\n\n if (this.__setting__.isContainer) {\n this.$store.commit('viewport/registerInnerDrag', {\n parentInstanceKey: instanceKey,\n dragParentDom: instanceDom,\n params: {\n draggable: '.gaea-draggable'\n },\n\n onDragAdd: this.__handleDragAdd__,\n onDragUpdate: this.__handleDragUpdate__,\n onDragRemove: this.__handleDragRemove__\n });\n } else if (slotsDom.length) {\n slotsDom.forEach(function (dom) {\n _this.$store.commit('viewport/registerInnerDrag', {\n parentInstanceKey: instanceKey,\n dragParentDom: dom,\n params: {\n draggable: '.gaea-draggable'\n },\n\n onDragAdd: _this.__handleDragAdd__,\n onDragUpdate: _this.__handleDragUpdate__,\n onDragRemove: _this.__handleDragRemove__\n });\n });\n }\n },\n __handleDragUpdate__: function __handleDragUpdate__(event) {},\n __handleDragAdd__: function __handleDragAdd__(e, data, parentInstanceKey, gaeaKey, instanceKey, slotName, domObj) {\n\n var _parentInstance = this.$store.state.viewport.instances.get(parentInstanceKey);\n var componentClass = this.$store.state.application.componentClasses.get(gaeaKey);\n var crrtInstance = this.$store.state.viewport.instances.get(instanceKey);\n crrtInstance.vm = this;\n (0, _mount.mountSlot)(_parentInstance.vm, data, componentClass, 'default', instanceKey, this.$store, domObj);\n },\n __handleDragRemove__: function __handleDragRemove__(event) {},\n __setLayoutClassIfCanDragIn__: function __setLayoutClassIfCanDragIn__(setting, instance, instanceDom) {\n if (setting.isContainer && instance.parentInstanceKey !== null) {\n (0, _dom.addClass)(instanceDom, 'gaea-container');\n }\n }\n },\n mounted: function mounted() {\n if (!this.__crrtInstanceKey__) {\n return;\n }\n\n this.registerEvent();\n this.__crrtInstanceInfo__ = this.$store.state.viewport.instances.get(this.__crrtInstanceKey__);\n\n this.__crrtInstanceInfo__.vm = this;\n\n this.__crrtInstanceInfo__.data = this.$data;\n this.__setting__ = this.$store.state.application.componentSetting.get(this.__crrtInstanceInfo__.gaeaKey);\n\n this.__refresh__(this.__crrtInstanceKey__, this.$el, this.__setting__, this.__crrtInstanceInfo__);\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvc2VydmljZS9tb3VudC1taXhpbi5qcz84ZjBlIl0sIm5hbWVzIjpbIkhlbHBlckNsYXNzIiwiZGF0YSIsIl9fc2V0dGluZ19fIiwiX19jcnJ0SW5zdGFuY2VJbmZvX18iLCJtZXRob2RzIiwiaGFuZGxlTW91c2VPdmVyIiwiZXZlbnQiLCJzdG9wUHJvcGFnYXRpb24iLCIkc3RvcmUiLCJjb21taXQiLCJfX2NycnRJbnN0YW5jZUtleV9fIiwiZXZlbnRidXMiLCIkZW1pdCIsInN0YXRlIiwidmlld3BvcnQiLCJtb3VzZUhvdmVyaW5nQ29tcG9uZW50IiwiaW5zdGFuY2VLZXkiLCJ0eXBlIiwiaGFuZGxlTW91c2VMZWF2ZSIsIm1vdXNlTGVhdmVDb21wb25lbnQiLCJoYW5kbGVDbGljayIsInJlZ2lzdGVyRXZlbnQiLCIkZWwiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiYWRkRXZlbnRMaXN0ZW5lciIsIl9fcmVmcmVzaF9fIiwiaW5zdGFuY2VEb20iLCJzZXR0aW5nIiwiaW5zdGFuY2UiLCJrZXkiLCJfX3NldExheW91dENsYXNzSWZDYW5EcmFnSW5fXyIsInNsb3RzRG9tIiwicXVlcnlTZWxlY3RvckFsbCIsImlzQ29udGFpbmVyIiwicGFyZW50SW5zdGFuY2VLZXkiLCJkcmFnUGFyZW50RG9tIiwicGFyYW1zIiwiZHJhZ2dhYmxlIiwib25EcmFnQWRkIiwiX19oYW5kbGVEcmFnQWRkX18iLCJvbkRyYWdVcGRhdGUiLCJfX2hhbmRsZURyYWdVcGRhdGVfXyIsIm9uRHJhZ1JlbW92ZSIsIl9faGFuZGxlRHJhZ1JlbW92ZV9fIiwibGVuZ3RoIiwiZm9yRWFjaCIsImRvbSIsImUiLCJnYWVhS2V5Iiwic2xvdE5hbWUiLCJkb21PYmoiLCJfcGFyZW50SW5zdGFuY2UiLCJpbnN0YW5jZXMiLCJnZXQiLCJjb21wb25lbnRDbGFzcyIsImFwcGxpY2F0aW9uIiwiY29tcG9uZW50Q2xhc3NlcyIsImNycnRJ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a0h3QixDQUFFLENBbEgxQjtBQW1ITHdCLHFDQW5ISyx5Q0FtSDBCSCxPQW5IMUIsRUFtSG1DQyxRQW5IbkMsRUFtSDZDRixXQW5IN0MsRUFtSDBEO0FBQzNELGdCQUFJQyxRQUFRTSxXQUFSLElBQXVCTCxTQUFTTSxpQkFBVCxLQUErQixJQUExRCxFQUFnRTtBQUM1RCxtQ0FBU1IsV0FBVCxFQUFzQixnQkFBdEI7QUFDSDtBQUNKO0FBdkhJLEtBSmM7QUE2SHZCaUMsV0E3SHVCLHFCQTZIWjtBQUNQLFlBQUksQ0FBQyxLQUFLakQsbUJBQVYsRUFBK0I7QUFDM0I7QUFDSDs7QUFFRCxhQUFLVyxhQUFMO0FBQ0EsYUFBS2xCLG9CQUFMLEdBQTRCLEtBQ3ZCSyxNQUR1QixDQUV2QkssS0FGdUIsQ0FHdkJDLFFBSHVCLENBSXZCc0MsU0FKdUIsQ0FLdkJDLEdBTHVCLENBS25CLEtBQUszQyxtQkFMYyxDQUE1Qjs7QUFPQSxhQUFLUCxvQkFBTCxDQUEwQnVELEVBQTFCLEdBQStCLElBQS9COztBQUVBLGFBQUt2RCxvQkFBTCxDQUEwQkYsSUFBMUIsR0FBaUMsS0FBSzJELEtBQXRDO0FBQ0EsYUFBSzFELFdBQUwsR0FBbUIsS0FDZE0sTUFEYyxDQUVkSyxLQUZjLENBR2QwQyxXQUhjLENBSWRNLGdCQUpjLENBS2RSLEdBTGMsQ0FLVixLQUFLbEQsb0JBQUwsQ0FBMEI2QyxPQUxoQixDQUFuQjs7QUFPQSxhQUFLdkIsV0FBTCxDQUFpQixLQUFLZixtQkFBdEIsRUFBMkMsS0FBS1ksR0FBaEQsRUFBcUQsS0FBS3BCLFdBQTFELEVBQXVFLEtBQUtDLG9CQUE1RTtBQUNIO0FBckpzQixDQUFwQiIsImZpbGUiOiIyOTAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2FkZENsYXNzfSBmcm9tICcuL2RvbSc7XHJcbmltcG9ydCB7bW91bnRTbG90fSBmcm9tICcuL21vdW50JztcclxuaW1wb3J0IGV2ZW50YnVzIGZyb20gJy4vZXZlbnRidXMnO1xyXG5leHBvcnQgY29uc3QgSGVscGVyQ2xhc3MgPSB7XHJcbiAgICBkYXRhICgpIHtcclxuICAgICAgICByZXR1cm4ge19fc2V0dGluZ19fOiBudWxsLCBfX2NycnRJbnN0YW5jZUluZm9fXzogbnVsbH07XHJcbiAgICB9LFxyXG4gICAgbWV0aG9kczoge1xyXG4gICAgICAgIGhhbmRsZU1vdXNlT3ZlciAoZXZlbnQpIHtcclxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgIHRoaXNcclxuICAgICAgICAgICAgICAgIC4kc3RvcmVcclxuICAgICAgICAgICAgICAgIC5jb21taXQoJ3ZpZXdwb3J0L3NldEN1cnJlbnRIb3Zlckluc3RhbmNlS2V5JywgdGhpcy5fX2NycnRJbnN0YW5jZUtleV9fKTtcclxuICAgICAgICAgICAgZXZlbnRidXMuJGVtaXQodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQubW91c2VIb3ZlcmluZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICAgICAgaW5zdGFuY2VLZXk6IHRoaXMuX19jcnJ0SW5zdGFuY2VLZXlfXyxcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdpbnN0YW5jZSdcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBoYW5kbGVNb3VzZUxlYXZlIChldmVudCkge1xyXG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICAgICAgICAgIGV2ZW50YnVzLiRlbWl0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lm1vdXNlTGVhdmVDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgICAgIGluc3RhbmNlS2V5OiB0aGlzLl9fY3JydEluc3RhbmNlS2V5X18sXHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW5zdGFuY2UnXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaGFuZGxlQ2xpY2sgKGV2ZW50KSB7XHJcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICB0aGlzXHJcbiAgICAgICAgICAgICAgICAuJHN0b3JlXHJcbiAgICAgICAgICAgICAgICAuY29tbWl0KCd2aWV3cG9ydC9zZXRDdXJyZW50RWRpdEluc3RhbmNlS2V5JywgdGhpcy5fX2NycnRJbnN0YW5jZUtleV9fKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHJlZ2lzdGVyRXZlbnQgKCkge1xyXG4gICAgICAgICAgICB0aGlzXHJcbiAgICAgICAgICAgICAgICAuJGVsXHJcbiAgICAgICAgICAgICAgICAucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VvdmVyJywgdGhpcy5oYW5kbGVNb3VzZU92ZXIpO1xyXG4gICAgICAgICAgICB0aGlzXHJcbiAgICAgICAgICAgICAgICAuJGVsXHJcbiAgICAgICAgICAgICAgICAucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIHRoaXMuaGFuZGxlTW91c2VMZWF2ZSk7XHJcbiAgICAgICAgICAgIHRoaXNcclxuICAgICAgICAgICAgICAgIC4kZWxcclxuICAgICAgICAgICAgICAgIC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuaGFuZGxlQ2xpY2spO1xyXG4gICAgICAgICAgICB0aGlzXHJcbiAgICAgICAgICAgICAgICAuJGVsXHJcbiAgICAgICAgICAgICAgICAuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdmVyJywgdGhpcy5oYW5kbGVNb3VzZU92ZXIpO1xyXG4gICAgICAgICAgICB0aGlzXHJcbiAgICAgICAgICAgICAgICAuJGVsXHJcbiAgICAgICAgICAgICAgICAuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIHRoaXMuaGFuZGxlTW91c2VMZWF2ZSk7XHJcbiAgICAgICAgICAgIHRoaXNcclxuICAgICAgICAgICAgICAgIC4kZWxcclxuICAgICAgICAgICAgICAgIC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuaGFuZGxlQ2xpY2spO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgX19yZWZyZXNoX18gKGluc3RhbmNlS2V5LCBpbnN0YW5jZURvbSwgc2V0dGluZywgaW5zdGFuY2UpIHtcclxuICAgICAgICAgICAgdGhpc1xyXG4gICAgICAgICAgICAgICAgLiRzdG9yZVxyXG4gICAgICAgICAgICAgICAgLmNvbW1pdCgndmlld3BvcnQvc2V0RG9tSW5zdGFuY2UnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAga2V5OiBpbnN0YW5jZUtleSxcclxuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZTogaW5zdGFuY2VEb21cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAvLyDorr7nva7lj6/mi5bmi73nsbvmoLflvI9cclxuICAgICAgICAgICAgYWRkQ2xhc3MoaW5zdGFuY2VEb20sICdnYWVhLWRyYWdnYWJsZScpO1xyXG4gICAgICAgICAgICB0aGlzLl9fc2V0TGF5b3V0Q2xhc3NJZkNhbkRyYWdJbl9fKHNldHRpbmcsIGluc3RhbmNlLCBpbnN0YW5jZURvbSk7XHJcbiAgICAgICAgICAgIGxldCBzbG90c0RvbSA9IGluc3RhbmNlRG9tLnF1ZXJ5U2VsZWN0b3JBbGwoJy5nYWVhLXNsb3QnKTtcclxuICAgICAgICAgICAgLy8gc29ydGFibGVcclxuICAgICAgICAgICAgaWYgKHRoaXMuX19zZXR0aW5nX18uaXNDb250YWluZXIpIHtcclxuICAgICAgICAgICAgICAgIHRoaXNcclxuICAgICAgICAgICAgICAgICAgICAuJHN0b3JlXHJcbiAgICAgICAgICAgICAgICAgICAgLmNvbW1pdCgndmlld3BvcnQvcmVnaXN0ZXJJbm5lckRyYWcnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudEluc3RhbmNlS2V5OiBpbnN0YW5jZUtleSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZHJhZ1BhcmVudERvbTogaW5zdGFuY2VEb20sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhZ2dhYmxlOiAnLmdhZWEtZHJhZ2dhYmxlJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyDms6jlhozmlrDlop7nu4Tku7blm57osINcclxuICAgICAgICAgICAgICAgICAgICAgICAgb25EcmFnQWRkOiB0aGlzLl9faGFuZGxlRHJhZ0FkZF9fLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkRyYWdVcGRhdGU6IHRoaXMuX19oYW5kbGVEcmFnVXBkYXRlX18sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uRHJhZ1JlbW92ZTogdGhpcy5fX2hhbmRsZURyYWdSZW1vdmVfX1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHNsb3RzRG9tLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgc2xvdHNEb20uZm9yRWFjaChkb20gPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgLiRzdG9yZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuY29tbWl0KCd2aWV3cG9ydC9yZWdpc3RlcklubmVyRHJhZycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudEluc3RhbmNlS2V5OiBpbnN0YW5jZUtleSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdQYXJlbnREb206IGRvbSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdnYWJsZTogJy5nYWVhLWRyYWdnYWJsZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDms6jlhozmlrDlop7nu4Tku7blm57osINcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRHJhZ0FkZDogdGhpcy5fX2hhbmRsZURyYWdBZGRfXyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRHJhZ1VwZGF0ZTogdGhpcy5fX2hhbmRsZURyYWdVcGRhdGVfXyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRHJhZ1JlbW92ZTogdGhpcy5fX2hhbmRsZURyYWdSZW1vdmVfX1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBfX2hhbmRsZURyYWdVcGRhdGVfXyAoZXZlbnQpIHt9LFxyXG4gICAgICAgIC8vIOaWsOWinue7hOS7tlxyXG4gICAgICAgIF9faGFuZGxlRHJhZ0FkZF9fIChlLGRhdGEsIHBhcmVudEluc3RhbmNlS2V5LCBnYWVhS2V5LCBpbnN0YW5jZUtleSwgc2xvdE5hbWUsZG9tT2JqKSB7XHJcblxyXG4gICAgICAgICAgICBsZXQgX3BhcmVudEluc3RhbmNlID0gdGhpc1xyXG4gICAgICAgICAgICAgICAgLiRzdG9yZVxyXG4gICAgICAgICAgICAgICAgLnN0YXRlXHJcbiAgICAgICAgICAgICAgICAudmlld3BvcnRcclxuICAgICAgICAgICAgICAgIC5pbnN0YW5jZXNcclxuICAgICAgICAgICAgICAgIC5nZXQocGFyZW50SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICBsZXQgY29tcG9uZW50Q2xhc3MgPSB0aGlzXHJcbiAgICAgICAgICAgICAgICAuJHN0b3JlXHJcbiAgICAgICAgICAgICAgICAuc3RhdGVcclxuICAgICAgICAgICAgICAgIC5hcHBsaWNhdGlvblxyXG4gICAgICAgICAgICAgICAgLmNvbXBvbmVudENsYXNzZXNcclxuICAgICAgICAgICAgICAgIC5nZXQoZ2FlYUtleSk7XHJcbiAgICAgICAgICAgIGxldCBjcnJ0SW5zdGFuY2UgPSB0aGlzXHJcbiAgICAgICAgICAgICAgICAuJHN0b3JlXHJcbiAgICAgICAgICAgICAgICAuc3RhdGVcclxuICAgICAgICAgICAgICAgIC52aWV3cG9ydFxyXG4gICAgICAgICAgICAgICAgLmluc3RhbmNlc1xyXG4gICAgICAgICAgICAgICAgLmdldChpbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgIGNycnRJbnN0YW5jZS52bSA9IHRoaXM7XHJcbiAgICAgICAgICAgIG1vdW50U2xvdChfcGFyZW50SW5zdGFuY2Uudm0sZGF0YSwgY29tcG9uZW50Q2xhc3MsICdkZWZhdWx0JywgaW5zdGFuY2VLZXksIHRoaXMuJHN0b3JlLGRvbU9iaik7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBfX2hhbmRsZURyYWdSZW1vdmVfXyAoZXZlbnQpIHt9LFxyXG4gICAgICAgIF9fc2V0TGF5b3V0Q2xhc3NJZkNhbkRyYWdJbl9fIChzZXR0aW5nLCBpbnN0YW5jZSwgaW5zdGFuY2VEb20pIHtcclxuICAgICAgICAgICAgaWYgKHNldHRpbmcuaXNDb250YWluZXIgJiYgaW5zdGFuY2UucGFyZW50SW5zdGFuY2VLZXkgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIGFkZENsYXNzKGluc3RhbmNlRG9tLCAnZ2FlYS1jb250YWluZXInKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtb3VudGVkICgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuX19jcnJ0SW5zdGFuY2VLZXlfXykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOazqOWGjCDlvZPliY1kb20g5LqL5Lu2XHJcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50KCk7XHJcbiAgICAgICAgdGhpcy5fX2NycnRJbnN0YW5jZUluZm9fXyA9IHRoaXNcclxuICAgICAgICAgICAgLiRzdG9yZVxyXG4gICAgICAgICAgICAuc3RhdGVcclxuICAgICAgICAgICAgLnZpZXdwb3J0XHJcbiAgICAgICAgICAgIC5pbnN0YW5jZXNcclxuICAgICAgICAgICAgLmdldCh0aGlzLl9fY3JydEluc3RhbmNlS2V5X18pO1xyXG4gICAgICAgIC8vIOiuvue9ruW9k+WJjeWunuS+i3Zt5a+56LGh5piv6Ieq5bexXHJcbiAgICAgICAgdGhpcy5fX2NycnRJbnN0YW5jZUluZm9fXy52bSA9IHRoaXM7XHJcbiAgICAgICAgLy8g5ZCM5q2laW5zdGFuY2XnmoTlsZ7mgKcgJGRhdGFcclxuICAgICAgICB0aGlzLl9fY3JydEluc3RhbmNlSW5mb19fLmRhdGEgPSB0aGlzLiRkYXRhO1xyXG4gICAgICAgIHRoaXMuX19zZXR0aW5nX18gPSB0aGlzXHJcbiAgICAgICAgICAgIC4kc3RvcmVcclxuICAgICAgICAgICAgLnN0YXRlXHJcbiAgICAgICAgICAgIC5hcHBsaWNhdGlvblxyXG4gICAgICAgICAgICAuY29tcG9uZW50U2V0dGluZ1xyXG4gICAgICAgICAgICAuZ2V0KHRoaXMuX19jcnJ0SW5zdGFuY2VJbmZvX18uZ2FlYUtleSk7XHJcbiAgICAgICAgLy8g57uR5a6aIOWtkOWPr+aLluaLvSDorr7nva4gc3RhdGUgIGtleS0kZWwgTWFw5a+56LGhXHJcbiAgICAgICAgdGhpcy5fX3JlZnJlc2hfXyh0aGlzLl9fY3JydEluc3RhbmNlS2V5X18sIHRoaXMuJGVsLCB0aGlzLl9fc2V0dGluZ19fLCB0aGlzLl9fY3JydEluc3RhbmNlSW5mb19fKTtcclxuICAgIH1cclxufTtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3NlcnZpY2UvbW91bnQtbWl4aW4uanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///290\n");
1989
1990/***/ }),
1991/* 291 */
1992/***/ (function(module, exports, __webpack_require__) {
1993
1994eval("/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() { return this })() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = __webpack_require__(292);\n\nif (hadRuntime) {\n // Restore the original runtime.\n g.regeneratorRuntime = oldRuntime;\n} else {\n // Remove the global property added by runtime.js.\n try {\n delete g.regeneratorRuntime;\n } catch(e) {\n g.regeneratorRuntime = undefined;\n }\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX3JlZ2VuZXJhdG9yLXJ1bnRpbWVAMC4xMS4xQHJlZ2VuZXJhdG9yLXJ1bnRpbWUvcnVudGltZS1tb2R1bGUuanM/NWVhNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHFCQUFxQixjQUFjOztBQUVuQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaUJBQWlCLG1CQUFPLENBQUMsR0FBVzs7QUFFcEM7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EiLCJmaWxlIjoiMjkxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTQtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4vLyBUaGlzIG1ldGhvZCBvZiBvYnRhaW5pbmcgYSByZWZlcmVuY2UgdG8gdGhlIGdsb2JhbCBvYmplY3QgbmVlZHMgdG8gYmVcbi8vIGtlcHQgaWRlbnRpY2FsIHRvIHRoZSB3YXkgaXQgaXMgb2J0YWluZWQgaW4gcnVudGltZS5qc1xudmFyIGcgPSAoZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzIH0pKCkgfHwgRnVuY3Rpb24oXCJyZXR1cm4gdGhpc1wiKSgpO1xuXG4vLyBVc2UgYGdldE93blByb3BlcnR5TmFtZXNgIGJlY2F1c2Ugbm90IGFsbCBicm93c2VycyBzdXBwb3J0IGNhbGxpbmdcbi8vIGBoYXNPd25Qcm9wZXJ0eWAgb24gdGhlIGdsb2JhbCBgc2VsZmAgb2JqZWN0IGluIGEgd29ya2VyLiBTZWUgIzE4My5cbnZhciBoYWRSdW50aW1lID0gZy5yZWdlbmVyYXRvclJ1bnRpbWUgJiZcbiAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZykuaW5kZXhPZihcInJlZ2VuZXJhdG9yUnVudGltZVwiKSA+PSAwO1xuXG4vLyBTYXZlIHRoZSBvbGQgcmVnZW5lcmF0b3JSdW50aW1lIGluIGNhc2UgaXQgbmVlZHMgdG8gYmUgcmVzdG9yZWQgbGF0ZXIuXG52YXIgb2xkUnVudGltZSA9IGhhZFJ1bnRpbWUgJiYgZy5yZWdlbmVyYXRvclJ1bnRpbWU7XG5cbi8vIEZvcmNlIHJlZXZhbHV0YXRpb24gb2YgcnVudGltZS5qcy5cbmcucmVnZW5lcmF0b3JSdW50aW1lID0gdW5kZWZpbmVkO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuL3J1bnRpbWVcIik7XG5cbmlmIChoYWRSdW50aW1lKSB7XG4gIC8vIFJlc3RvcmUgdGhlIG9yaWdpbmFsIHJ1bnRpbWUuXG4gIGcucmVnZW5lcmF0b3JSdW50aW1lID0gb2xkUnVudGltZTtcbn0gZWxzZSB7XG4gIC8vIFJlbW92ZSB0aGUgZ2xvYmFsIHByb3BlcnR5IGFkZGVkIGJ5IHJ1bnRpbWUuanMuXG4gIHRyeSB7XG4gICAgZGVsZXRlIGcucmVnZW5lcmF0b3JSdW50aW1lO1xuICB9IGNhdGNoKGUpIHtcbiAgICBnLnJlZ2VuZXJhdG9yUnVudGltZSA9IHVuZGVmaW5lZDtcbiAgfVxufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3JlZ2VuZXJhdG9yLXJ1bnRpbWVAMC4xMS4xQHJlZ2VuZXJhdG9yLXJ1bnRpbWUvcnVudGltZS1tb2R1bGUuanNcbi8vIG1vZHVsZSBpZCA9IDI5MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///291\n");
1995
1996/***/ }),
1997/* 292 */
1998/***/ (function(module, exports) {
1999
2000eval("/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() { return this })() || Function(\"return this\")()\n);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX3JlZ2VuZXJhdG9yLXJ1bnRpbWVAMC4xMS4xQHJlZ2VuZXJhdG9yLXJ1bnRpbWUvcnVudGltZS5qcz85M2RhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkLEtBQUs7QUFDTCxjQUFjO0FBQ2Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5REFBeUQ7QUFDekQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0EsV0FBVztBQUNYOztBQUVBO0FBQ0E7QUFDQSx3Q0FBd0MsV0FBVztBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG9DQUFvQyxjQUFjO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQ0FBaUMsa0JBQWtCO0FBQ25EO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxpQkFBaUI7O0FBRWpCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixpQkFBaUI7QUFDekM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLDhDQUE4QyxRQUFRO0FBQ3REO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTs7QUFFQSxXQUFXO0FBQ1g7QUFDQTtBQUNBOztBQUVBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7O0FBRUEsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBLDhDQUE4QyxRQUFRO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQSxLQUFLOztBQUVMO0FBQ0EsOENBQThDLFFBQVE7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0EsOENBQThDLFFBQVE7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0EsZUFBZSxjQUFjO0FBQzdCIiwiZmlsZSI6IjI5Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE0LXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuIShmdW5jdGlvbihnbG9iYWwpIHtcbiAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgdmFyIE9wID0gT2JqZWN0LnByb3RvdHlwZTtcbiAgdmFyIGhhc093biA9IE9wLmhhc093blByb3BlcnR5O1xuICB2YXIgdW5kZWZpbmVkOyAvLyBNb3JlIGNvbXByZXNzaWJsZSB0aGFuIHZvaWQgMC5cbiAgdmFyICRTeW1ib2wgPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgPyBTeW1ib2wgOiB7fTtcbiAgdmFyIGl0ZXJhdG9yU3ltYm9sID0gJFN5bWJvbC5pdGVyYXRvciB8fCBcIkBAaXRlcmF0b3JcIjtcbiAgdmFyIGFzeW5jSXRlcmF0b3JTeW1ib2wgPSAkU3ltYm9sLmFzeW5jSXRlcmF0b3IgfHwgXCJAQGFzeW5jSXRlcmF0b3JcIjtcbiAgdmFyIHRvU3RyaW5nVGFnU3ltYm9sID0gJFN5bWJvbC50b1N0cmluZ1RhZyB8fCBcIkBAdG9TdHJpbmdUYWdcIjtcblxuICB2YXIgaW5Nb2R1bGUgPSB0eXBlb2YgbW9kdWxlID09PSBcIm9iamVjdFwiO1xuICB2YXIgcnVudGltZSA9IGdsb2JhbC5yZWdlbmVyYXRvclJ1bnRpbWU7XG4gIGlmIChydW50aW1lKSB7XG4gICAgaWYgKGluTW9kdWxlKSB7XG4gICAgICAvLyBJZiByZWdlbmVyYXRvclJ1bnRpbWUgaXMgZGVmaW5lZCBnbG9iYWxseSBhbmQgd2UncmUgaW4gYSBtb2R1bGUsXG4gICAgICAvLyBtYWtlIHRoZSBleHBvcnRzIG9iamVjdCBpZGVudGljYWwgdG8gcmVnZW5lcmF0b3JSdW50aW1lLlxuICAgICAgbW9kdWxlLmV4cG9ydHMgPSBydW50aW1lO1xuICAgIH1cbiAgICAvLyBEb24ndCBib3RoZXIgZXZhbHVhdGluZyB0aGUgcmVzdCBvZiB0aGlzIGZpbGUgaWYgdGhlIHJ1bnRpbWUgd2FzXG4gICAgLy8gYWxyZWFkeSBkZWZpbmVkIGdsb2JhbGx5LlxuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIERlZmluZSB0aGUgcnVudGltZSBnbG9iYWxseSAoYXMgZXhwZWN0ZWQgYnkgZ2VuZXJhdGVkIGNvZGUpIGFzIGVpdGhlclxuICAvLyBtb2R1bGUuZXhwb3J0cyAoaWYgd2UncmUgaW4gYSBtb2R1bGUpIG9yIGEgbmV3LCBlbXB0eSBvYmplY3QuXG4gIHJ1bnRpbWUgPSBnbG9iYWwucmVnZW5lcmF0b3JSdW50aW1lID0gaW5Nb2R1bGUgPyBtb2R1bGUuZXhwb3J0cyA6IHt9O1xuXG4gIGZ1bmN0aW9uIHdyYXAoaW5uZXJGbiwgb3V0ZXJGbiwgc2VsZiwgdHJ5TG9jc0xpc3QpIHtcbiAgICAvLyBJZiBvdXRlckZuIHByb3ZpZGVkIGFuZCBvdXRlckZuLnByb3RvdHlwZSBpcyBhIEdlbmVyYXRvciwgdGhlbiBvdXRlckZuLnByb3RvdHlwZSBpbnN0YW5jZW9mIEdlbmVyYXRvci5cbiAgICB2YXIgcHJvdG9HZW5lcmF0b3IgPSBvdXRlckZuICYmIG91dGVyRm4ucHJvdG90eXBlIGluc3RhbmNlb2YgR2VuZXJhdG9yID8gb3V0ZXJGbiA6IEdlbmVyYXRvcjtcbiAgICB2YXIgZ2VuZXJhdG9yID0gT2JqZWN0LmNyZWF0ZShwcm90b0dlbmVyYXRvci5wcm90b3R5cGUpO1xuICAgIHZhciBjb250ZXh0ID0gbmV3IENvbnRleHQodHJ5TG9jc0xpc3QgfHwgW10pO1xuXG4gICAgLy8gVGhlIC5faW52b2tlIG1ldGhvZCB1bmlmaWVzIHRoZSBpbXBsZW1lbnRhdGlvbnMgb2YgdGhlIC5uZXh0LFxuICAgIC8vIC50aHJvdywgYW5kIC5yZXR1cm4gbWV0aG9kcy5cbiAgICBnZW5lcmF0b3IuX2ludm9rZSA9IG1ha2VJbnZva2VNZXRob2QoaW5uZXJGbiwgc2VsZiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gZ2VuZXJhdG9yO1xuICB9XG4gIHJ1bnRpbWUud3JhcCA9IHdyYXA7XG5cbiAgLy8gVHJ5L2NhdGNoIGhlbHBlciB0byBtaW5pbWl6ZSBkZW9wdGltaXphdGlvbnMuIFJldHVybnMgYSBjb21wbGV0aW9uXG4gIC8vIHJlY29yZCBsaWtlIGNvbnRleHQudHJ5RW50cmllc1tpXS5jb21wbGV0aW9uLiBUaGlzIGludGVyZmFjZSBjb3VsZFxuICAvLyBoYXZlIGJlZW4gKGFuZCB3YXMgcHJldmlvdXNseSkgZGVzaWduZWQgdG8gdGFrZSBhIGNsb3N1cmUgdG8gYmVcbiAgLy8gaW52b2tlZCB3aXRob3V0IGFyZ3VtZW50cywgYnV0IGluIGFsbCB0aGUgY2FzZXMgd2UgY2FyZSBhYm91dCB3ZVxuICAvLyBhbHJlYWR5IGhhdmUgYW4gZXhpc3RpbmcgbWV0aG9kIHdlIHdhbnQgdG8gY2FsbCwgc28gdGhlcmUncyBubyBuZWVkXG4gIC8vIHRvIGNyZWF0ZSBhIG5ldyBmdW5jdGlvbiBvYmplY3QuIFdlIGNhbiBldmVuIGdldCBhd2F5IHdpdGggYXNzdW1pbmdcbiAgLy8gdGhlIG1ldGhvZCB0YWtlcyBleGFjdGx5IG9uZSBhcmd1bWVudCwgc2luY2UgdGhhdCBoYXBwZW5zIHRvIGJlIHRydWVcbiAgLy8gaW4gZXZlcnkgY2FzZSwgc28gd2UgZG9uJ3QgaGF2ZSB0byB0b3VjaCB0aGUgYXJndW1lbnRzIG9iamVjdC4gVGhlXG4gIC8vIG9ubHkgYWRkaXRpb25hbCBhbGxvY2F0aW9uIHJlcXVpcmVkIGlzIHRoZSBjb21wbGV0aW9uIHJlY29yZCwgd2hpY2hcbiAgLy8gaGFzIGEgc3RhYmxlIHNoYXBlIGFuZCBzbyBob3BlZnVsbHkgc2hvdWxkIGJlIGNoZWFwIHRvIGFsbG9jYXRlLlxuICBmdW5jdGlvbiB0cnlDYXRjaChmbiwgb2JqLCBhcmcpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHsgdHlwZTogXCJub3JtYWxcIiwgYXJnOiBmbi5jYWxsKG9iaiwgYXJnKSB9O1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgcmV0dXJuIHsgdHlwZTogXCJ0aHJvd1wiLCBhcmc6IGVyciB9O1xuICAgIH1cbiAgfVxuXG4gIHZhciBHZW5TdGF0ZVN1c3BlbmRlZFN0YXJ0ID0gXCJzdXNwZW5kZWRTdGFydFwiO1xuICB2YXIgR2VuU3RhdGVTdXNwZW5kZWRZaWVsZCA9IFwic3VzcGVuZGVkWWllbGRcIjtcbiAgdmFyIEdlblN0YXRlRXhlY3V0aW5nID0gXCJleGVjdXRpbmdcIjtcbiAgdmFyIEdlblN0YXRlQ29tcGxldGVkID0gXCJjb21wbGV0ZWRcIjtcblxuICAvLyBSZXR1cm5pbmcgdGhpcyBvYmplY3QgZnJvbSB0aGUgaW5uZXJGbiBoYXMgdGhlIHNhbWUgZWZmZWN0IGFzXG4gIC8vIGJyZWFraW5nIG91dCBvZiB0aGUgZGlzcGF0Y2ggc3dpdGNoIHN0YXRlbWVudC5cbiAgdmFyIENvbnRpbnVlU2VudGluZWwgPSB7fTtcblxuICAvLyBEdW1teSBjb25zdHJ1Y3RvciBmdW5jdGlvbnMgdGhhdCB3ZSB1c2UgYXMgdGhlIC5jb25zdHJ1Y3RvciBhbmRcbiAgLy8gLmNvbnN0cnVjdG9yLnByb3RvdHlwZSBwcm9wZXJ0aWVzIGZvciBmdW5jdGlvbnMgdGhhdCByZXR1cm4gR2VuZXJhdG9yXG4gIC8vIG9iamVjdHMuIEZvciBmdWxsIHNwZWMgY29tcGxpYW5jZSwgeW91IG1heSB3aXNoIHRvIGNvbmZpZ3VyZSB5b3VyXG4gIC8vIG1pbmlmaWVyIG5vdCB0byBtYW5nbGUgdGhlIG5hbWVzIG9mIHRoZXNlIHR3byBmdW5jdGlvbnMuXG4gIGZ1bmN0aW9uIEdlbmVyYXRvcigpIHt9XG4gIGZ1bmN0aW9uIEdlbmVyYXRvckZ1bmN0aW9uKCkge31cbiAgZnVuY3Rpb24gR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUoKSB7fVxuXG4gIC8vIFRoaXMgaXMgYSBwb2x5ZmlsbCBmb3IgJUl0ZXJhdG9yUHJvdG90eXBlJSBmb3IgZW52aXJvbm1lbnRzIHRoYXRcbiAgLy8gZG9uJ3QgbmF0aXZlbHkgc3VwcG9ydCBpdC5cbiAgdmFyIEl0ZXJhdG9yUHJvdG90eXBlID0ge307XG4gIEl0ZXJhdG9yUHJvdG90eXBlW2l0ZXJhdG9yU3ltYm9sXSA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICB2YXIgZ2V0UHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Y7XG4gIHZhciBOYXRpdmVJdGVyYXRvclByb3RvdHlwZSA9IGdldFByb3RvICYmIGdldFByb3RvKGdldFByb3RvKHZhbHVlcyhbXSkpKTtcbiAgaWYgKE5hdGl2ZUl0ZXJhdG9yUHJvdG90eXBlICYmXG4gICAgICBOYXRpdmVJdGVyYXRvclByb3RvdHlwZSAhPT0gT3AgJiZcbiAgICAgIGhhc093bi5jYWxsKE5hdGl2ZUl0ZXJhdG9yUHJvdG90eXBlLCBpdGVyYXRvclN5bWJvbCkpIHtcbiAgICAvLyBUaGlzIGVudmlyb25tZW50IGhhcyBhIG5hdGl2ZSAlSXRlcmF0b3JQcm90b3R5cGUlOyB1c2UgaXQgaW5zdGVhZFxuICAgIC8vIG9mIHRoZSBwb2x5ZmlsbC5cbiAgICBJdGVyYXRvclByb3RvdHlwZSA9IE5hdGl2ZUl0ZXJhdG9yUHJvdG90eXBlO1xuICB9XG5cbiAgdmFyIEdwID0gR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUucHJvdG90eXBlID1cbiAgICBHZW5lcmF0b3IucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShJdGVyYXRvclByb3RvdHlwZSk7XG4gIEdlbmVyYXRvckZ1bmN0aW9uLnByb3RvdHlwZSA9IEdwLmNvbnN0cnVjdG9yID0gR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGU7XG4gIEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlLmNvbnN0cnVjdG9yID0gR2VuZXJhdG9yRnVuY3Rpb247XG4gIEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlW3RvU3RyaW5nVGFnU3ltYm9sXSA9XG4gICAgR2VuZXJhdG9yRnVuY3Rpb24uZGlzcGxheU5hbWUgPSBcIkdlbmVyYXRvckZ1bmN0aW9uXCI7XG5cbiAgLy8gSGVscGVyIGZvciBkZWZpbmluZyB0aGUgLm5leHQsIC50aHJvdywgYW5kIC5yZXR1cm4gbWV0aG9kcyBvZiB0aGVcbiAgLy8gSXRlcmF0b3IgaW50ZXJmYWNlIGluIHRlcm1zIG9mIGEgc2luZ2xlIC5faW52b2tlIG1ldGhvZC5cbiAgZnVuY3Rpb24gZGVmaW5lSXRlcmF0b3JNZXRob2RzKHByb3RvdHlwZSkge1xuICAgIFtcIm5leHRcIiwgXCJ0aHJvd1wiLCBcInJldHVyblwiXS5mb3JFYWNoKGZ1bmN0aW9uKG1ldGhvZCkge1xuICAgICAgcHJvdG90eXBlW21ldGhvZF0gPSBmdW5jdGlvbihhcmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ludm9rZShtZXRob2QsIGFyZyk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgcnVudGltZS5pc0dlbmVyYXRvckZ1bmN0aW9uID0gZnVuY3Rpb24oZ2VuRnVuKSB7XG4gICAgdmFyIGN0b3IgPSB0eXBlb2YgZ2VuRnVuID09PSBcImZ1bmN0aW9uXCIgJiYgZ2VuRnVuLmNvbnN0cnVjdG9yO1xuICAgIHJldHVybiBjdG9yXG4gICAgICA/IGN0b3IgPT09IEdlbmVyYXRvckZ1bmN0aW9uIHx8XG4gICAgICAgIC8vIEZvciB0aGUgbmF0aXZlIEdlbmVyYXRvckZ1bmN0aW9uIGNvbnN0cnVjdG9yLCB0aGUgYmVzdCB3ZSBjYW5cbiAgICAgICAgLy8gZG8gaXMgdG8gY2hlY2sgaXRzIC5uYW1lIHByb3BlcnR5LlxuICAgICAgICAoY3Rvci5kaXNwbGF5TmFtZSB8fCBjdG9yLm5hbWUpID09PSBcIkdlbmVyYXRvckZ1bmN0aW9uXCJcbiAgICAgIDogZmFsc2U7XG4gIH07XG5cbiAgcnVudGltZS5tYXJrID0gZnVuY3Rpb24oZ2VuRnVuKSB7XG4gICAgaWYgKE9iamVjdC5zZXRQcm90b3R5cGVPZikge1xuICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKGdlbkZ1biwgR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBnZW5GdW4uX19wcm90b19fID0gR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGU7XG4gICAgICBpZiAoISh0b1N0cmluZ1RhZ1N5bWJvbCBpbiBnZW5GdW4pKSB7XG4gICAgICAgIGdlbkZ1blt0b1N0cmluZ1RhZ1N5bWJvbF0gPSBcIkdlbmVyYXRvckZ1bmN0aW9uXCI7XG4gICAgICB9XG4gICAgfVxuICAgIGdlbkZ1bi5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEdwKTtcbiAgICByZXR1cm4gZ2VuRnVuO1xuICB9O1xuXG4gIC8vIFdpdGhpbiB0aGUgYm9keSBvZiBhbnkgYXN5bmMgZnVuY3Rpb24sIGBhd2FpdCB4YCBpcyB0cmFuc2Zvcm1lZCB0b1xuICAvLyBgeWllbGQgcmVnZW5lcmF0b3JSdW50aW1lLmF3cmFwKHgpYCwgc28gdGhhdCB0aGUgcnVudGltZSBjYW4gdGVzdFxuICAvLyBgaGFzT3duLmNhbGwodmFsdWUsIFwiX19hd2FpdFwiKWAgdG8gZGV0ZXJtaW5lIGlmIHRoZSB5aWVsZGVkIHZhbHVlIGlzXG4gIC8vIG1lYW50IHRvIGJlIGF3YWl0ZWQuXG4gIHJ1bnRpbWUuYXdyYXAgPSBmdW5jdGlvbihhcmcpIHtcbiAgICByZXR1cm4geyBfX2F3YWl0OiBhcmcgfTtcbiAgfTtcblxuICBmdW5jdGlvbiBBc3luY0l0ZXJhdG9yKGdlbmVyYXRvcikge1xuICAgIGZ1bmN0aW9uIGludm9rZShtZXRob2QsIGFyZywgcmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICB2YXIgcmVjb3JkID0gdHJ5Q2F0Y2goZ2VuZXJhdG9yW21ldGhvZF0sIGdlbmVyYXRvciwgYXJnKTtcbiAgICAgIGlmIChyZWNvcmQudHlwZSA9PT0gXCJ0aHJvd1wiKSB7XG4gICAgICAgIHJlamVjdChyZWNvcmQuYXJnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciByZXN1bHQgPSByZWNvcmQuYXJnO1xuICAgICAgICB2YXIgdmFsdWUgPSByZXN1bHQudmFsdWU7XG4gICAgICAgIGlmICh2YWx1ZSAmJlxuICAgICAgICAgICAgdHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiICYmXG4gICAgICAgICAgICBoYXNPd24uY2FsbCh2YWx1ZSwgXCJfX2F3YWl0XCIpKSB7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh2YWx1ZS5fX2F3YWl0KS50aGVuKGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICAgICAgICBpbnZva2UoXCJuZXh0XCIsIHZhbHVlLCByZXNvbHZlLCByZWplY3QpO1xuICAgICAgICAgIH0sIGZ1bmN0aW9uKGVycikge1xuICAgICAgICAgICAgaW52b2tlKFwidGhyb3dcIiwgZXJyLCByZXNvbHZlLCByZWplY3QpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh2YWx1ZSkudGhlbihmdW5jdGlvbih1bndyYXBwZWQpIHtcbiAgICAgICAgICAvLyBXaGVuIGEgeWllbGRlZCBQcm9taXNlIGlzIHJlc29sdmVkLCBpdHMgZmluYWwgdmFsdWUgYmVjb21lc1xuICAgICAgICAgIC8vIHRoZSAudmFsdWUgb2YgdGhlIFByb21pc2U8e3ZhbHVlLGRvbmV9PiByZXN1bHQgZm9yIHRoZVxuICAgICAgICAgIC8vIGN1cnJlbnQgaXRlcmF0aW9uLiBJZiB0aGUgUHJvbWlzZSBpcyByZWplY3RlZCwgaG93ZXZlciwgdGhlXG4gICAgICAgICAgLy8gcmVzdWx0IGZvciB0aGlzIGl0ZXJhdGlvbiB3aWxsIGJlIHJlamVjdGVkIHdpdGggdGhlIHNhbWVcbiAgICAgICAgICAvLyByZWFzb24uIE5vdGUgdGhhdCByZWplY3Rpb25zIG9mIHlpZWxkZWQgUHJvbWlzZXMgYXJlIG5vdFxuICAgICAgICAgIC8vIHRocm93biBiYWNrIGludG8gdGhlIGdlbmVyYXRvciBmdW5jdGlvbiwgYXMgaXMgdGhlIGNhc2VcbiAgICAgICAgICAvLyB3aGVuIGFuIGF3YWl0ZWQgUHJvbWlzZSBpcyByZWplY3RlZC4gVGhpcyBkaWZmZXJlbmNlIGluXG4gICAgICAgICAgLy8gYmVoYXZpb3IgYmV0d2VlbiB5aWVsZCBhbmQgYXdhaXQgaXMgaW1wb3J0YW50LCBiZWNhdXNlIGl0XG4gICAgICAgICAgLy8gYWxsb3dzIHRoZSBjb25zdW1lciB0byBkZWNpZGUgd2hhdCB0byBkbyB3aXRoIHRoZSB5aWVsZGVkXG4gICAgICAgICAgLy8gcmVqZWN0aW9uIChzd2FsbG93IGl0IGFuZCBjb250aW51ZSwgbWFudWFsbHkgLnRocm93IGl0IGJhY2tcbiAgICAgICAgICAvLyBpbnRvIHRoZSBnZW5lcmF0b3IsIGFiYW5kb24gaXRlcmF0aW9uLCB3aGF0ZXZlcikuIFdpdGhcbiAgICAgICAgICAvLyBhd2FpdCwgYnkgY29udHJhc3QsIHRoZXJlIGlzIG5vIG9wcG9ydHVuaXR5IHRvIGV4YW1pbmUgdGhlXG4gICAgICAgICAgLy8gcmVqZWN0aW9uIHJlYXNvbiBvdXRzaWRlIHRoZSBnZW5lcmF0b3IgZnVuY3Rpb24sIHNvIHRoZVxuICAgICAgICAgIC8vIG9ubHkgb3B0aW9uIGlzIHRvIHRocm93IGl0IGZyb20gdGhlIGF3YWl0IGV4cHJlc3Npb24sIGFuZFxuICAgICAgICAgIC8vIGxldCB0aGUgZ2VuZXJhdG9yIGZ1bmN0aW9uIGhhbmRsZSB0aGUgZXhjZXB0aW9uLlxuICAgICAgICAgIHJlc3VsdC52YWx1ZSA9IHVud3JhcHBlZDtcbiAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgIH0sIHJlamVjdCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHByZXZpb3VzUHJvbWlzZTtcblxuICAgIGZ1bmN0aW9uIGVucXVldWUobWV0aG9kLCBhcmcpIHtcbiAgICAgIGZ1bmN0aW9uIGNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnKCkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgaW52b2tlKG1ldGhvZCwgYXJnLCByZXNvbHZlLCByZWplY3QpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHByZXZpb3VzUHJvbWlzZSA9XG4gICAgICAgIC8vIElmIGVucXVldWUgaGFzIGJlZW4gY2FsbGVkIGJlZm9yZSwgdGhlbiB3ZSB3YW50IHRvIHdhaXQgdW50aWxcbiAgICAgICAgLy8gYWxsIHByZXZpb3VzIFByb21pc2VzIGhhdmUgYmVlbiByZXNvbHZlZCBiZWZvcmUgY2FsbGluZyBpbnZva2UsXG4gICAgICAgIC8vIHNvIHRoYXQgcmVzdWx0cyBhcmUgYWx3YXlzIGRlbGl2ZXJlZCBpbiB0aGUgY29ycmVjdCBvcmRlci4gSWZcbiAgICAgICAgLy8gZW5xdWV1ZSBoYXMgbm90IGJlZW4gY2FsbGVkIGJlZm9yZSwgdGhlbiBpdCBpcyBpbXBvcnRhbnQgdG9cbiAgICAgICAgLy8gY2FsbCBpbnZva2UgaW1tZWRpYXRlbHksIHdpdGhvdXQgd2FpdGluZyBvbiBhIGNhbGxiYWNrIHRvIGZpcmUsXG4gICAgICAgIC8vIHNvIHRoYXQgdGhlIGFzeW5jIGdlbmVyYXRvciBmdW5jdGlvbiBoYXMgdGhlIG9wcG9ydHVuaXR5IHRvIGRvXG4gICAgICAgIC8vIGFueSBuZWNlc3Nhcnkgc2V0dXAgaW4gYSBwcmVkaWN0YWJsZSB3YXkuIFRoaXMgcHJlZGljdGFiaWxpdHlcbiAgICAgICAgLy8gaXMgd2h5IHRoZSBQcm9taXNlIGNvbnN0cnVjdG9yIHN5bmNocm9ub3VzbHkgaW52b2tlcyBpdHNcbiAgICAgICAgLy8gZXhlY3V0b3IgY2FsbGJhY2ssIGFuZCB3aHkgYXN5bmMgZnVuY3Rpb25zIHN5bmNocm9ub3VzbHlcbiAgICAgICAgLy8gZXhlY3V0ZSBjb2RlIGJlZm9yZSB0aGUgZmlyc3QgYXdhaXQuIFNpbmNlIHdlIGltcGxlbWVudCBzaW1wbGVcbiAgICAgICAgLy8gYXN5bmMgZnVuY3Rpb25zIGluIHRlcm1zIG9mIGFzeW5jIGdlbmVyYXRvcnMsIGl0IGlzIGVzcGVjaWFsbHlcbiAgICAgICAgLy8gaW1wb3J0YW50IHRvIGdldCB0aGlzIHJpZ2h0LCBldmVuIHRob3VnaCBpdCByZXF1aXJlcyBjYXJlLlxuICAgICAgICBwcmV2aW91c1Byb21pc2UgPyBwcmV2aW91c1Byb21pc2UudGhlbihcbiAgICAgICAgICBjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZyxcbiAgICAgICAgICAvLyBBdm9pZCBwcm9wYWdhdGluZyBmYWlsdXJlcyB0byBQcm9taXNlcyByZXR1cm5lZCBieSBsYXRlclxuICAgICAgICAgIC8vIGludm9jYXRpb25zIG9mIHRoZSBpdGVyYXRvci5cbiAgICAgICAgICBjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZ1xuICAgICAgICApIDogY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmcoKTtcbiAgICB9XG5cbiAgICAvLyBEZWZpbmUgdGhlIHVuaWZpZWQgaGVscGVyIG1ldGhvZCB0aGF0IGlzIHVzZWQgdG8gaW1wbGVtZW50IC5uZXh0LFxuICAgIC8vIC50aHJvdywgYW5kIC5yZXR1cm4gKHNlZSBkZWZpbmVJdGVyYXRvck1ldGhvZHMpLlxuICAgIHRoaXMuX2ludm9rZSA9IGVucXVldWU7XG4gIH1cblxuICBkZWZpbmVJdGVyYXRvck1ldGhvZHMoQXN5bmNJdGVyYXRvci5wcm90b3R5cGUpO1xuICBBc3luY0l0ZXJhdG9yLnByb3RvdHlwZVthc3luY0l0ZXJhdG9yU3ltYm9sXSA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfTtcbiAgcnVudGltZS5Bc3luY0l0ZXJhdG9yID0gQXN5bmNJdGVyYXRvcjtcblxuICAvLyBOb3RlIHRoYXQgc2ltcGxlIGFzeW5jIGZ1bmN0aW9ucyBhcmUgaW1wbGVtZW50ZWQgb24gdG9wIG9mXG4gIC8vIEFzeW5jSXRlcmF0b3Igb2JqZWN0czsgdGhleSBqdXN0IHJldHVybiBhIFByb21pc2UgZm9yIHRoZSB2YWx1ZSBvZlxuICAvLyB0aGUgZmluYWwgcmVzdWx0IHByb2R1Y2VkIGJ5IHRoZSBpdGVyYXRvci5cbiAgcnVudGltZS5hc3luYyA9IGZ1bmN0aW9uKGlubmVyRm4sIG91dGVyRm4sIHNlbGYsIHRyeUxvY3NMaXN0KSB7XG4gICAgdmFyIGl0ZXIgPSBuZXcgQXN5bmNJdGVyYXRvcihcbiAgICAgIHdyYXAoaW5uZXJGbiwgb3V0ZXJGbiwgc2VsZiwgdHJ5TG9jc0xpc3QpXG4gICAgKTtcblxuICAgIHJldHVybiBydW50aW1lLmlzR2VuZXJhdG9yRnVuY3Rpb24ob3V0ZXJGbilcbiAgICAgID8gaXRlciAvLyBJZiBvdXRlckZuIGlzIGEgZ2VuZXJhdG9yLCByZXR1cm4gdGhlIGZ1bGwgaXRlcmF0b3IuXG4gICAgICA6IGl0ZXIubmV4dCgpLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdC5kb25lID8gcmVzdWx0LnZhbHVlIDogaXRlci5uZXh0KCk7XG4gICAgICAgIH0pO1xuICB9O1xuXG4gIGZ1bmN0aW9uIG1ha2VJbnZva2VNZXRob2QoaW5uZXJGbiwgc2VsZiwgY29udGV4dCkge1xuICAgIHZhciBzdGF0ZSA9IEdlblN0YXRlU3VzcGVuZGVkU3RhcnQ7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gaW52b2tlKG1ldGhvZCwgYXJnKSB7XG4gICAgICBpZiAoc3RhdGUgPT09IEdlblN0YXRlRXhlY3V0aW5nKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IHJ1bm5pbmdcIik7XG4gICAgICB9XG5cbiAgICAgIGlmIChzdGF0ZSA9PT0gR2VuU3RhdGVDb21wbGV0ZWQpIHtcbiAgICAgICAgaWYgKG1ldGhvZCA9PT0gXCJ0aHJvd1wiKSB7XG4gICAgICAgICAgdGhyb3cgYXJnO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQmUgZm9yZ2l2aW5nLCBwZXIgMjUuMy4zLjMuMyBvZiB0aGUgc3BlYzpcbiAgICAgICAgLy8gaHR0cHM6Ly9wZW9wbGUubW96aWxsYS5vcmcvfmpvcmVuZG9yZmYvZXM2LWRyYWZ0Lmh0bWwjc2VjLWdlbmVyYXRvcnJlc3VtZVxuICAgICAgICByZXR1cm4gZG9uZVJlc3VsdCgpO1xuICAgICAgfVxuXG4gICAgICBjb250ZXh0Lm1ldGhvZCA9IG1ldGhvZDtcbiAgICAgIGNvbnRleHQuYXJnID0gYXJnO1xuXG4gICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICB2YXIgZGVsZWdhdGUgPSBjb250ZXh0LmRlbGVnYXRlO1xuICAgICAgICBpZiAoZGVsZWdhdGUpIHtcbiAgICAgICAgICB2YXIgZGVsZWdhdGVSZXN1bHQgPSBtYXliZUludm9rZURlbGVnYXRlKGRlbGVnYXRlLCBjb250ZXh0KTtcbiAgICAgICAgICBpZiAoZGVsZWdhdGVSZXN1bHQpIHtcbiAgICAgICAgICAgIGlmIChkZWxlZ2F0ZVJlc3VsdCA9PT0gQ29udGludWVTZW50aW5lbCkgY29udGludWU7XG4gICAgICAgICAgICByZXR1cm4gZGVsZWdhdGVSZXN1bHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbnRleHQubWV0aG9kID09PSBcIm5leHRcIikge1xuICAgICAgICAgIC8vIFNldHRpbmcgY29udGV4dC5fc2VudCBmb3IgbGVnYWN5IHN1cHBvcnQgb2YgQmFiZWwnc1xuICAgICAgICAgIC8vIGZ1bmN0aW9uLnNlbnQgaW1wbGVtZW50YXRpb24uXG4gICAgICAgICAgY29udGV4dC5zZW50ID0gY29udGV4dC5fc2VudCA9IGNvbnRleHQuYXJnO1xuXG4gICAgICAgIH0gZWxzZSBpZiAoY29udGV4dC5tZXRob2QgPT09IFwidGhyb3dcIikge1xuICAgICAgICAgIGlmIChzdGF0ZSA9PT0gR2VuU3RhdGVTdXNwZW5kZWRTdGFydCkge1xuICAgICAgICAgICAgc3RhdGUgPSBHZW5TdGF0ZUNvbXBsZXRlZDtcbiAgICAgICAgICAgIHRocm93IGNvbnRleHQuYXJnO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnRleHQuZGlzcGF0Y2hFeGNlcHRpb24oY29udGV4dC5hcmcpO1xuXG4gICAgICAgIH0gZWxzZSBpZiAoY29udGV4dC5tZXRob2QgPT09IFwicmV0dXJuXCIpIHtcbiAgICAgICAgICBjb250ZXh0LmFicnVwdChcInJldHVyblwiLCBjb250ZXh0LmFyZyk7XG4gICAgICAgIH1cblxuICAgICAgICBzdGF0ZSA9IEdlblN0YXRlRXhlY3V0aW5nO1xuXG4gICAgICAgIHZhciByZWNvcmQgPSB0cnlDYXRjaChpbm5lckZuLCBzZWxmLCBjb250ZXh0KTtcbiAgICAgICAgaWYgKHJlY29yZC50eXBlID09PSBcIm5vcm1hbFwiKSB7XG4gICAgICAgICAgLy8gSWYgYW4gZXhjZXB0aW9uIGlzIHRocm93biBmcm9tIGlubmVyRm4sIHdlIGxlYXZlIHN0YXRlID09PVxuICAgICAgICAgIC8vIEdlblN0YXRlRXhlY3V0aW5nIGFuZCBsb29wIGJhY2sgZm9yIGFub3RoZXIgaW52b2NhdGlvbi5cbiAgICAgICAgICBzdGF0ZSA9IGNvbnRleHQuZG9uZVxuICAgICAgICAgICAgPyBHZW5TdGF0ZUNvbXBsZXRlZFxuICAgICAgICAgICAgOiBHZW5TdGF0ZVN1c3BlbmRlZFlpZWxkO1xuXG4gICAgICAgICAgaWYgKHJlY29yZC5hcmcgPT09IENvbnRpbnVlU2VudGluZWwpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB2YWx1ZTogcmVjb3JkLmFyZyxcbiAgICAgICAgICAgIGRvbmU6IGNvbnRleHQuZG9uZVxuICAgICAgICAgIH07XG5cbiAgICAgICAgfSBlbHNlIGlmIChyZWNvcmQudHlwZSA9PT0gXCJ0aHJvd1wiKSB7XG4gICAgICAgICAgc3RhdGUgPSBHZW5TdGF0ZUNvbXBsZXRlZDtcbiAgICAgICAgICAvLyBEaXNwYXRjaCB0aGUgZXhjZXB0aW9uIGJ5IGxvb3BpbmcgYmFjayBhcm91bmQgdG8gdGhlXG4gICAgICAgICAgLy8gY29udGV4dC5kaXNwYXRjaEV4Y2VwdGlvbihjb250ZXh0LmFyZykgY2FsbCBhYm92ZS5cbiAgICAgICAgICBjb250ZXh0Lm1ldGhvZCA9IFwidGhyb3dcIjtcbiAgICAgICAgICBjb250ZXh0LmFyZyA9IHJlY29yZC5hcmc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgLy8gQ2FsbCBkZWxlZ2F0ZS5pdGVyYXRvcltjb250ZXh0Lm1ldGhvZF0oY29udGV4dC5hcmcpIGFuZCBoYW5kbGUgdGhlXG4gIC8vIHJlc3VsdCwgZWl0aGVyIGJ5IHJldHVybmluZyBhIHsgdmFsdWUsIGRvbmUgfSByZXN1bHQgZnJvbSB0aGVcbiAgLy8gZGVsZWdhdGUgaXRlcmF0b3IsIG9yIGJ5IG1vZGlmeWluZyBjb250ZXh0Lm1ldGhvZCBhbmQgY29udGV4dC5hcmcsXG4gIC8vIHNldHRpbmcgY29udGV4dC5kZWxlZ2F0ZSB0byBudWxsLCBhbmQgcmV0dXJuaW5nIHRoZSBDb250aW51ZVNlbnRpbmVsLlxuICBmdW5jdGlvbiBtYXliZUludm9rZURlbGVnYXRlKGRlbGVnYXRlLCBjb250ZXh0KSB7XG4gICAgdmFyIG1ldGhvZCA9IGRlbGVnYXRlLml0ZXJhdG9yW2NvbnRleHQubWV0aG9kXTtcbiAgICBpZiAobWV0aG9kID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIEEgLnRocm93IG9yIC5yZXR1cm4gd2hlbiB0aGUgZGVsZWdhdGUgaXRlcmF0b3IgaGFzIG5vIC50aHJvd1xuICAgICAgLy8gbWV0aG9kIGFsd2F5cyB0ZXJtaW5hdGVzIHRoZSB5aWVsZCogbG9vcC5cbiAgICAgIGNvbnRleHQuZGVsZWdhdGUgPSBudWxsO1xuXG4gICAgICBpZiAoY29udGV4dC5tZXRob2QgPT09IFwidGhyb3dcIikge1xuICAgICAgICBpZiAoZGVsZWdhdGUuaXRlcmF0b3IucmV0dXJuKSB7XG4gICAgICAgICAgLy8gSWYgdGhlIGRlbGVnYXRlIGl0ZXJhdG9yIGhhcyBhIHJldHVybiBtZXRob2QsIGdpdmUgaXQgYVxuICAgICAgICAgIC8vIGNoYW5jZSB0byBjbGVhbiB1cC5cbiAgICAgICAgICBjb250ZXh0Lm1ldGhvZCA9IFwicmV0dXJuXCI7XG4gICAgICAgICAgY29udGV4dC5hcmcgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgbWF5YmVJbnZva2VEZWxlZ2F0ZShkZWxlZ2F0ZSwgY29udGV4dCk7XG5cbiAgICAgICAgICBpZiAoY29udGV4dC5tZXRob2QgPT09IFwidGhyb3dcIikge1xuICAgICAgICAgICAgLy8gSWYgbWF5YmVJbnZva2VEZWxlZ2F0ZShjb250ZXh0KSBjaGFuZ2VkIGNvbnRleHQubWV0aG9kIGZyb21cbiAgICAgICAgICAgIC8vIFwicmV0dXJuXCIgdG8gXCJ0aHJvd1wiLCBsZXQgdGhhdCBvdmVycmlkZSB0aGUgVHlwZUVycm9yIGJlbG93LlxuICAgICAgICAgICAgcmV0dXJuIENvbnRpbnVlU2VudGluZWw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29udGV4dC5tZXRob2QgPSBcInRocm93XCI7XG4gICAgICAgIGNvbnRleHQuYXJnID0gbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICBcIlRoZSBpdGVyYXRvciBkb2VzIG5vdCBwcm92aWRlIGEgJ3Rocm93JyBtZXRob2RcIik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBDb250aW51ZVNlbnRpbmVsO1xuICAgIH1cblxuICAgIHZhciByZWNvcmQgPSB0cnlDYXRjaChtZXRob2QsIGRlbGVnYXRlLml0ZXJhdG9yLCBjb250ZXh0LmFyZyk7XG5cbiAgICBpZiAocmVjb3JkLnR5cGUgPT09IFwidGhyb3dcIikge1xuICAgICAgY29udGV4dC5tZXRob2QgPSBcInRocm93XCI7XG4gICAgICBjb250ZXh0LmFyZyA9IHJlY29yZC5hcmc7XG4gICAgICBjb250ZXh0LmRlbGVnYXRlID0gbnVsbDtcbiAgICAgIHJldHVybiBDb250aW51ZVNlbnRpbmVsO1xuICAgIH1cblxuICAgIHZhciBpbmZvID0gcmVjb3JkLmFyZztcblxuICAgIGlmICghIGluZm8pIHtcbiAgICAgIGNvbnRleHQubWV0aG9kID0gXCJ0aHJvd1wiO1xuICAgICAgY29udGV4dC5hcmcgPSBuZXcgVHlwZUVycm9yKFwiaXRlcmF0b3IgcmVzdWx0IGlzIG5vdCBhbiBvYmplY3RcIik7XG4gICAgICBjb250ZXh0LmRlbGVnYXRlID0gbnVsbDtcbiAgICAgIHJldHVybiBDb250aW51ZVNlbnRpbmVsO1xuICAgIH1cblxuICAgIGlmIChpbmZvLmRvbmUpIHtcbiAgICAgIC8vIEFzc2lnbiB0aGUgcmVzdWx0IG9mIHRoZSBmaW5pc2hlZCBkZWxlZ2F0ZSB0byB0aGUgdGVtcG9yYXJ5XG4gICAgICAvLyB2YXJpYWJsZSBzcGVjaWZpZWQgYnkgZGVsZWdhdGUucmVzdWx0TmFtZSAoc2VlIGRlbGVnYXRlWWllbGQpLlxuICAgICAgY29udGV4dFtkZWxlZ2F0ZS5yZXN1bHROYW1lXSA9IGluZm8udmFsdWU7XG5cbiAgICAgIC8vIFJlc3VtZSBleGVjdXRpb24gYXQgdGhlIGRlc2lyZWQgbG9jYXRpb24gKHNlZSBkZWxlZ2F0ZVlpZWxkKS5cbiAgICAgIGNvbnRleHQubmV4dCA9IGRlbGVnYXRlLm5leHRMb2M7XG5cbiAgICAgIC8vIElmIGNvbnRleHQubWV0aG9kIHdhcyBcInRocm93XCIgYnV0IHRoZSBkZWxlZ2F0ZSBoYW5kbGVkIHRoZVxuICAgICAgLy8gZXhjZXB0aW9uLCBsZXQgdGhlIG91dGVyIGdlbmVyYXRvciBwcm9jZWVkIG5vcm1hbGx5LiBJZlxuICAgICAgLy8gY29udGV4dC5tZXRob2Qgd2FzIFwibmV4dFwiLCBmb3JnZXQgY29udGV4dC5hcmcgc2luY2UgaXQgaGFzIGJlZW5cbiAgICAgIC8vIFwiY29uc3VtZWRcIiBieSB0aGUgZGVsZWdhdGUgaXRlcmF0b3IuIElmIGNvbnRleHQubWV0aG9kIHdhc1xuICAgICAgLy8gXCJyZXR1cm5cIiwgYWxsb3cgdGhlIG9yaWdpbmFsIC5yZXR1cm4gY2FsbCB0byBjb250aW51ZSBpbiB0aGVcbiAgICAgIC8vIG91dGVyIGdlbmVyYXRvci5cbiAgICAgIGlmIChjb250ZXh0Lm1ldGhvZCAhPT0gXCJyZXR1cm5cIikge1xuICAgICAgICBjb250ZXh0Lm1ldGhvZCA9IFwibmV4dFwiO1xuICAgICAgICBjb250ZXh0LmFyZyA9IHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBSZS15aWVsZCB0aGUgcmVzdWx0IHJldHVybmVkIGJ5IHRoZSBkZWxlZ2F0ZSBtZXRob2QuXG4gICAgICByZXR1cm4gaW5mbztcbiAgICB9XG5cbiAgICAvLyBUaGUgZGVsZWdhdGUgaXRlcmF0b3IgaXMgZmluaXNoZWQsIHNvIGZvcmdldCBpdCBhbmQgY29udGludWUgd2l0aFxuICAgIC8vIHRoZSBvdXRlciBnZW5lcmF0b3IuXG4gICAgY29udGV4dC5kZWxlZ2F0ZSA9IG51bGw7XG4gICAgcmV0dXJuIENvbnRpbnVlU2VudGluZWw7XG4gIH1cblxuICAvLyBEZWZpbmUgR2VuZXJhdG9yLnByb3RvdHlwZS57bmV4dCx0aHJvdyxyZXR1cm59IGluIHRlcm1zIG9mIHRoZVxuICAvLyB1bmlmaWVkIC5faW52b2tlIGhlbHBlciBtZXRob2QuXG4gIGRlZmluZUl0ZXJhdG9yTWV0aG9kcyhHcCk7XG5cbiAgR3BbdG9TdHJpbmdUYWdTeW1ib2xdID0gXCJHZW5lcmF0b3JcIjtcblxuICAvLyBBIEdlbmVyYXRvciBzaG91bGQgYWx3YXlzIHJldHVybiBpdHNlbGYgYXMgdGhlIGl0ZXJhdG9yIG9iamVjdCB3aGVuIHRoZVxuICAvLyBAQGl0ZXJhdG9yIGZ1bmN0aW9uIGlzIGNhbGxlZCBvbiBpdC4gU29tZSBicm93c2VycycgaW1wbGVtZW50YXRpb25zIG9mIHRoZVxuICAvLyBpdGVyYXRvciBwcm90b3R5cGUgY2hhaW4gaW5jb3JyZWN0bHkgaW1wbGVtZW50IHRoaXMsIGNhdXNpbmcgdGhlIEdlbmVyYXRvclxuICAvLyBvYmplY3QgdG8gbm90IGJlIHJldHVybmVkIGZyb20gdGhpcyBjYWxsLiBUaGlzIGVuc3VyZXMgdGhhdCBkb2Vzbid0IGhhcHBlbi5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWdlbmVyYXRvci9pc3N1ZXMvMjc0IGZvciBtb3JlIGRldGFpbHMuXG4gIEdwW2l0ZXJhdG9yU3ltYm9sXSA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzO1xuICB9O1xuXG4gIEdwLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIFwiW29iamVjdCBHZW5lcmF0b3JdXCI7XG4gIH07XG5cbiAgZnVuY3Rpb24gcHVzaFRyeUVudHJ5KGxvY3MpIHtcbiAgICB2YXIgZW50cnkgPSB7IHRyeUxvYzogbG9jc1swXSB9O1xuXG4gICAgaWYgKDEgaW4gbG9jcykge1xuICAgICAgZW50cnkuY2F0Y2hMb2MgPSBsb2NzWzFdO1xuICAgIH1cblxuICAgIGlmICgyIGluIGxvY3MpIHtcbiAgICAgIGVudHJ5LmZpbmFsbHlMb2MgPSBsb2NzWzJdO1xuICAgICAgZW50cnkuYWZ0ZXJMb2MgPSBsb2NzWzNdO1xuICAgIH1cblxuICAgIHRoaXMudHJ5RW50cmllcy5wdXNoKGVudHJ5KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlc2V0VHJ5RW50cnkoZW50cnkpIHtcbiAgICB2YXIgcmVjb3JkID0gZW50cnkuY29tcGxldGlvbiB8fCB7fTtcbiAgICByZWNvcmQudHlwZSA9IFwibm9ybWFsXCI7XG4gICAgZGVsZXRlIHJlY29yZC5hcmc7XG4gICAgZW50cnkuY29tcGxldGlvbiA9IHJlY29yZDtcbiAgfVxuXG4gIGZ1bmN0aW9uIENvbnRleHQodHJ5TG9jc0xpc3QpIHtcbiAgICAvLyBUaGUgcm9vdCBlbnRyeSBvYmplY3QgKGVmZmVjdGl2ZWx5IGEgdHJ5IHN0YXRlbWVudCB3aXRob3V0IGEgY2F0Y2hcbiAgICAvLyBvciBhIGZpbmFsbHkgYmxvY2spIGdpdmVzIHVzIGEgcGxhY2UgdG8gc3RvcmUgdmFsdWVzIHRocm93biBmcm9tXG4gICAgLy8gbG9jYXRpb25zIHdoZXJlIHRoZXJlIGlzIG5vIGVuY2xvc2luZyB0cnkgc3RhdGVtZW50LlxuICAgIHRoaXMudHJ5RW50cmllcyA9IFt7IHRyeUxvYzogXCJyb290XCIgfV07XG4gICAgdHJ5TG9jc0xpc3QuZm9yRWFjaChwdXNoVHJ5RW50cnksIHRoaXMpO1xuICAgIHRoaXMucmVzZXQodHJ1ZSk7XG4gIH1cblxuICBydW50aW1lLmtleXMgPSBmdW5jdGlvbihvYmplY3QpIHtcbiAgICB2YXIga2V5cyA9IFtdO1xuICAgIGZvciAodmFyIGtleSBpbiBvYmplY3QpIHtcbiAgICAgIGtleXMucHVzaChrZXkpO1xuICAgIH1cbiAgICBrZXlzLnJldmVyc2UoKTtcblxuICAgIC8vIFJhdGhlciB0aGFuIHJldHVybmluZyBhbiBvYmplY3Qgd2l0aCBhIG5leHQgbWV0aG9kLCB3ZSBrZWVwXG4gICAgLy8gdGhpbmdzIHNpbXBsZSBhbmQgcmV0dXJuIHRoZSBuZXh0IGZ1bmN0aW9uIGl0c2VsZi5cbiAgICByZXR1cm4gZnVuY3Rpb24gbmV4dCgpIHtcbiAgICAgIHdoaWxlIChrZXlzLmxlbmd0aCkge1xuICAgICAgICB2YXIga2V5ID0ga2V5cy5wb3AoKTtcbiAgICAgICAgaWYgKGtleSBpbiBvYmplY3QpIHtcbiAgICAgICAgICBuZXh0LnZhbHVlID0ga2V5O1xuICAgICAgICAgIG5leHQuZG9uZSA9IGZhbHNlO1xuICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFRvIGF2b2lkIGNyZWF0aW5nIGFuIGFkZGl0aW9uYWwgb2JqZWN0LCB3ZSBqdXN0IGhhbmcgdGhlIC52YWx1ZVxuICAgICAgLy8gYW5kIC5kb25lIHByb3BlcnRpZXMgb2ZmIHRoZSBuZXh0IGZ1bmN0aW9uIG9iamVjdCBpdHNlbGYuIFRoaXNcbiAgICAgIC8vIGFsc28gZW5zdXJlcyB0aGF0IHRoZSBtaW5pZmllciB3aWxsIG5vdCBhbm9ueW1pemUgdGhlIGZ1bmN0aW9uLlxuICAgICAgbmV4dC5kb25lID0gdHJ1ZTtcbiAgICAgIHJldHVybiBuZXh0O1xuICAgIH07XG4gIH07XG5cbiAgZnVuY3Rpb24gdmFsdWVzKGl0ZXJhYmxlKSB7XG4gICAgaWYgKGl0ZXJhYmxlKSB7XG4gICAgICB2YXIgaXRlcmF0b3JNZXRob2QgPSBpdGVyYWJsZVtpdGVyYXRvclN5bWJvbF07XG4gICAgICBpZiAoaXRlcmF0b3JNZXRob2QpIHtcbiAgICAgICAgcmV0dXJuIGl0ZXJhdG9yTWV0aG9kLmNhbGwoaXRlcmFibGUpO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIGl0ZXJhYmxlLm5leHQgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICByZXR1cm4gaXRlcmFibGU7XG4gICAgICB9XG5cbiAgICAgIGlmICghaXNOYU4oaXRlcmFibGUubGVuZ3RoKSkge1xuICAgICAgICB2YXIgaSA9IC0xLCBuZXh0ID0gZnVuY3Rpb24gbmV4dCgpIHtcbiAgICAgICAgICB3aGlsZSAoKytpIDwgaXRlcmFibGUubGVuZ3RoKSB7XG4gICAgICAgICAgICBpZiAoaGFzT3duLmNhbGwoaXRlcmFibGUsIGkpKSB7XG4gICAgICAgICAgICAgIG5leHQudmFsdWUgPSBpdGVyYWJsZVtpXTtcbiAgICAgICAgICAgICAgbmV4dC5kb25lID0gZmFsc2U7XG4gICAgICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIG5leHQudmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgbmV4dC5kb25lID0gdHJ1ZTtcblxuICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBuZXh0Lm5leHQgPSBuZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJldHVybiBhbiBpdGVyYXRvciB3aXRoIG5vIHZhbHVlcy5cbiAgICByZXR1cm4geyBuZXh0OiBkb25lUmVzdWx0IH07XG4gIH1cbiAgcnVudGltZS52YWx1ZXMgPSB2YWx1ZXM7XG5cbiAgZnVuY3Rpb24gZG9uZVJlc3VsdCgpIHtcbiAgICByZXR1cm4geyB2YWx1ZTogdW5kZWZpbmVkLCBkb25lOiB0cnVlIH07XG4gIH1cblxuICBDb250ZXh0LnByb3RvdHlwZSA9IHtcbiAgICBjb25zdHJ1Y3RvcjogQ29udGV4dCxcblxuICAgIHJlc2V0OiBmdW5jdGlvbihza2lwVGVtcFJlc2V0KSB7XG4gICAgICB0aGlzLnByZXYgPSAwO1xuICAgICAgdGhpcy5uZXh0ID0gMDtcbiAgICAgIC8vIFJlc2V0dGluZyBjb250ZXh0Ll9zZW50IGZvciBsZWdhY3kgc3VwcG9ydCBvZiBCYWJlbCdzXG4gICAgICAvLyBmdW5jdGlvbi5zZW50IGltcGxlbWVudGF0aW9uLlxuICAgICAgdGhpcy5zZW50ID0gdGhpcy5fc2VudCA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuZG9uZSA9IGZhbHNlO1xuICAgICAgdGhpcy5kZWxlZ2F0ZSA9IG51bGw7XG5cbiAgICAgIHRoaXMubWV0aG9kID0gXCJuZXh0XCI7XG4gICAgICB0aGlzLmFyZyA9IHVuZGVmaW5lZDtcblxuICAgICAgdGhpcy50cnlFbnRyaWVzLmZvckVhY2gocmVzZXRUcnlFbnRyeSk7XG5cbiAgICAgIGlmICghc2tpcFRlbXBSZXNldCkge1xuICAgICAgICBmb3IgKHZhciBuYW1lIGluIHRoaXMpIHtcbiAgICAgICAgICAvLyBOb3Qgc3VyZSBhYm91dCB0aGUgb3B0aW1hbCBvcmRlciBvZiB0aGVzZSBjb25kaXRpb25zOlxuICAgICAgICAgIGlmIChuYW1lLmNoYXJBdCgwKSA9PT0gXCJ0XCIgJiZcbiAgICAgICAgICAgICAgaGFzT3duLmNhbGwodGhpcywgbmFtZSkgJiZcbiAgICAgICAgICAgICAgIWlzTmFOKCtuYW1lLnNsaWNlKDEpKSkge1xuICAgICAgICAgICAgdGhpc1tuYW1lXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuXG4gICAgc3RvcDogZnVuY3Rpb24oKSB7XG4gICAgICB0aGlzLmRvbmUgPSB0cnVlO1xuXG4gICAgICB2YXIgcm9vdEVudHJ5ID0gdGhpcy50cnlFbnRyaWVzWzBdO1xuICAgICAgdmFyIHJvb3RSZWNvcmQgPSByb290RW50cnkuY29tcGxldGlvbjtcbiAgICAgIGlmIChyb290UmVjb3JkLnR5cGUgPT09IFwidGhyb3dcIikge1xuICAgICAgICB0aHJvdyByb290UmVjb3JkLmFyZztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMucnZhbDtcbiAgICB9LFxuXG4gICAgZGlzcGF0Y2hFeGNlcHRpb246IGZ1bmN0aW9uKGV4Y2VwdGlvbikge1xuICAgICAgaWYgKHRoaXMuZG9uZSkge1xuICAgICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgICB9XG5cbiAgICAgIHZhciBjb250ZXh0ID0gdGhpcztcbiAgICAgIGZ1bmN0aW9uIGhhbmRsZShsb2MsIGNhdWdodCkge1xuICAgICAgICByZWNvcmQudHlwZSA9IFwidGhyb3dcIjtcbiAgICAgICAgcmVjb3JkLmFyZyA9IGV4Y2VwdGlvbjtcbiAgICAgICAgY29udGV4dC5uZXh0ID0gbG9jO1xuXG4gICAgICAgIGlmIChjYXVnaHQpIHtcbiAgICAgICAgICAvLyBJZiB0aGUgZGlzcGF0Y2hlZCBleGNlcHRpb24gd2FzIGNhdWdodCBieSBhIGNhdGNoIGJsb2NrLFxuICAgICAgICAgIC8vIHRoZW4gbGV0IHRoYXQgY2F0Y2ggYmxvY2sgaGFuZGxlIHRoZSBleGNlcHRpb24gbm9ybWFsbHkuXG4gICAgICAgICAgY29udGV4dC5tZXRob2QgPSBcIm5leHRcIjtcbiAgICAgICAgICBjb250ZXh0LmFyZyA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAhISBjYXVnaHQ7XG4gICAgICB9XG5cbiAgICAgIGZvciAodmFyIGkgPSB0aGlzLnRyeUVudHJpZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHtcbiAgICAgICAgdmFyIGVudHJ5ID0gdGhpcy50cnlFbnRyaWVzW2ldO1xuICAgICAgICB2YXIgcmVjb3JkID0gZW50cnkuY29tcGxldGlvbjtcblxuICAgICAgICBpZiAoZW50cnkudHJ5TG9jID09PSBcInJvb3RcIikge1xuICAgICAgICAgIC8vIEV4Y2VwdGlvbiB0aHJvd24gb3V0c2lkZSBvZiBhbnkgdHJ5IGJsb2NrIHRoYXQgY291bGQgaGFuZGxlXG4gICAgICAgICAgLy8gaXQsIHNvIHNldCB0aGUgY29tcGxldGlvbiB2YWx1ZSBvZiB0aGUgZW50aXJlIGZ1bmN0aW9uIHRvXG4gICAgICAgICAgLy8gdGhyb3cgdGhlIGV4Y2VwdGlvbi5cbiAgICAgICAgICByZXR1cm4gaGFuZGxlKFwiZW5kXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVudHJ5LnRyeUxvYyA8PSB0aGlzLnByZXYpIHtcbiAgICAgICAgICB2YXIgaGFzQ2F0Y2ggPSBoYXNPd24uY2FsbChlbnRyeSwgXCJjYXRjaExvY1wiKTtcbiAgICAgICAgICB2YXIgaGFzRmluYWxseSA9IGhhc093bi5jYWxsKGVudHJ5LCBcImZpbmFsbHlMb2NcIik7XG5cbiAgICAgICAgICBpZiAoaGFzQ2F0Y2ggJiYgaGFzRmluYWxseSkge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJldiA8IGVudHJ5LmNhdGNoTG9jKSB7XG4gICAgICAgICAgICAgIHJldHVybiBoYW5kbGUoZW50cnkuY2F0Y2hMb2MsIHRydWUpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnByZXYgPCBlbnRyeS5maW5hbGx5TG9jKSB7XG4gICAgICAgICAgICAgIHJldHVybiBoYW5kbGUoZW50cnkuZmluYWxseUxvYyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9IGVsc2UgaWYgKGhhc0NhdGNoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcmV2IDwgZW50cnkuY2F0Y2hMb2MpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGhhbmRsZShlbnRyeS5jYXRjaExvYywgdHJ1ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9IGVsc2UgaWYgKGhhc0ZpbmFsbHkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnByZXYgPCBlbnRyeS5maW5hbGx5TG9jKSB7XG4gICAgICAgICAgICAgIHJldHVybiBoYW5kbGUoZW50cnkuZmluYWxseUxvYyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidHJ5IHN0YXRlbWVudCB3aXRob3V0IGNhdGNoIG9yIGZpbmFsbHlcIik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcblxuICAgIGFicnVwdDogZnVuY3Rpb24odHlwZSwgYXJnKSB7XG4gICAgICBmb3IgKHZhciBpID0gdGhpcy50cnlFbnRyaWVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgLS1pKSB7XG4gICAgICAgIHZhciBlbnRyeSA9IHRoaXMudHJ5RW50cmllc1tpXTtcbiAgICAgICAgaWYgKGVudHJ5LnRyeUxvYyA8PSB0aGlzLnByZXYgJiZcbiAgICAgICAgICAgIGhhc093bi5jYWxsKGVudHJ5LCBcImZpbmFsbHlMb2NcIikgJiZcbiAgICAgICAgICAgIHRoaXMucHJldiA8IGVudHJ5LmZpbmFsbHlMb2MpIHtcbiAgICAgICAgICB2YXIgZmluYWxseUVudHJ5ID0gZW50cnk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGZpbmFsbHlFbnRyeSAmJlxuICAgICAgICAgICh0eXBlID09PSBcImJyZWFrXCIgfHxcbiAgICAgICAgICAgdHlwZSA9PT0gXCJjb250aW51ZVwiKSAmJlxuICAgICAgICAgIGZpbmFsbHlFbnRyeS50cnlMb2MgPD0gYXJnICYmXG4gICAgICAgICAgYXJnIDw9IGZpbmFsbHlFbnRyeS5maW5hbGx5TG9jKSB7XG4gICAgICAgIC8vIElnbm9yZSB0aGUgZmluYWxseSBlbnRyeSBpZiBjb250cm9sIGlzIG5vdCBqdW1waW5nIHRvIGFcbiAgICAgICAgLy8gbG9jYXRpb24gb3V0c2lkZSB0aGUgdHJ5L2NhdGNoIGJsb2NrLlxuICAgICAgICBmaW5hbGx5RW50cnkgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICB2YXIgcmVjb3JkID0gZmluYWxseUVudHJ5ID8gZmluYWxseUVudHJ5LmNvbXBsZXRpb24gOiB7fTtcbiAgICAgIHJlY29yZC50eXBlID0gdHlwZTtcbiAgICAgIHJlY29yZC5hcmcgPSBhcmc7XG5cbiAgICAgIGlmIChmaW5hbGx5RW50cnkpIHtcbiAgICAgICAgdGhpcy5tZXRob2QgPSBcIm5leHRcIjtcbiAgICAgICAgdGhpcy5uZXh0ID0gZmluYWxseUVudHJ5LmZpbmFsbHlMb2M7XG4gICAgICAgIHJldHVybiBDb250aW51ZVNlbnRpbmVsO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5jb21wbGV0ZShyZWNvcmQpO1xuICAgIH0sXG5cbiAgICBjb21wbGV0ZTogZnVuY3Rpb24ocmVjb3JkLCBhZnRlckxvYykge1xuICAgICAgaWYgKHJlY29yZC50eXBlID09PSBcInRocm93XCIpIHtcbiAgICAgICAgdGhyb3cgcmVjb3JkLmFyZztcbiAgICAgIH1cblxuICAgICAgaWYgKHJlY29yZC50eXBlID09PSBcImJyZWFrXCIgfHxcbiAgICAgICAgICByZWNvcmQudHlwZSA9PT0gXCJjb250aW51ZVwiKSB7XG4gICAgICAgIHRoaXMubmV4dCA9IHJlY29yZC5hcmc7XG4gICAgICB9IGVsc2UgaWYgKHJlY29yZC50eXBlID09PSBcInJldHVyblwiKSB7XG4gICAgICAgIHRoaXMucnZhbCA9IHRoaXMuYXJnID0gcmVjb3JkLmFyZztcbiAgICAgICAgdGhpcy5tZXRob2QgPSBcInJldHVyblwiO1xuICAgICAgICB0aGlzLm5leHQgPSBcImVuZFwiO1xuICAgICAgfSBlbHNlIGlmIChyZWNvcmQudHlwZSA9PT0gXCJub3JtYWxcIiAmJiBhZnRlckxvYykge1xuICAgICAgICB0aGlzLm5leHQgPSBhZnRlckxvYztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIENvbnRpbnVlU2VudGluZWw7XG4gICAgfSxcblxuICAgIGZpbmlzaDogZnVuY3Rpb24oZmluYWxseUxvYykge1xuICAgICAgZm9yICh2YXIgaSA9IHRoaXMudHJ5RW50cmllcy5sZW5ndGggLSAxOyBpID49IDA7IC0taSkge1xuICAgICAgICB2YXIgZW50cnkgPSB0aGlzLnRyeUVudHJpZXNbaV07XG4gICAgICAgIGlmIChlbnRyeS5maW5hbGx5TG9jID09PSBmaW5hbGx5TG9jKSB7XG4gICAgICAgICAgdGhpcy5jb21wbGV0ZShlbnRyeS5jb21wbGV0aW9uLCBlbnRyeS5hZnRlckxvYyk7XG4gICAgICAgICAgcmVzZXRUcnlFbnRyeShlbnRyeSk7XG4gICAgICAgICAgcmV0dXJuIENvbnRpbnVlU2VudGluZWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuXG4gICAgXCJjYXRjaFwiOiBmdW5jdGlvbih0cnlMb2MpIHtcbiAgICAgIGZvciAodmFyIGkgPSB0aGlzLnRyeUVudHJpZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHtcbiAgICAgICAgdmFyIGVudHJ5ID0gdGhpcy50cnlFbnRyaWVzW2ldO1xuICAgICAgICBpZiAoZW50cnkudHJ5TG9jID09PSB0cnlMb2MpIHtcbiAgICAgICAgICB2YXIgcmVjb3JkID0gZW50cnkuY29tcGxldGlvbjtcbiAgICAgICAgICBpZiAocmVjb3JkLnR5cGUgPT09IFwidGhyb3dcIikge1xuICAgICAgICAgICAgdmFyIHRocm93biA9IHJlY29yZC5hcmc7XG4gICAgICAgICAgICByZXNldFRyeUVudHJ5KGVudHJ5KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRocm93bjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUaGUgY29udGV4dC5jYXRjaCBtZXRob2QgbXVzdCBvbmx5IGJlIGNhbGxlZCB3aXRoIGEgbG9jYXRpb25cbiAgICAgIC8vIGFyZ3VtZW50IHRoYXQgY29ycmVzcG9uZHMgdG8gYSBrbm93biBjYXRjaCBibG9jay5cbiAgICAgIHRocm93IG5ldyBFcnJvcihcImlsbGVnYWwgY2F0Y2ggYXR0ZW1wdFwiKTtcbiAgICB9LFxuXG4gICAgZGVsZWdhdGVZaWVsZDogZnVuY3Rpb24oaXRlcmFibGUsIHJlc3VsdE5hbWUsIG5leHRMb2MpIHtcbiAgICAgIHRoaXMuZGVsZWdhdGUgPSB7XG4gICAgICAgIGl0ZXJhdG9yOiB2YWx1ZXMoaXRlcmFibGUpLFxuICAgICAgICByZXN1bHROYW1lOiByZXN1bHROYW1lLFxuICAgICAgICBuZXh0TG9jOiBuZXh0TG9jXG4gICAgICB9O1xuXG4gICAgICBpZiAodGhpcy5tZXRob2QgPT09IFwibmV4dFwiKSB7XG4gICAgICAgIC8vIERlbGliZXJhdGVseSBmb3JnZXQgdGhlIGxhc3Qgc2VudCB2YWx1ZSBzbyB0aGF0IHdlIGRvbid0XG4gICAgICAgIC8vIGFjY2lkZW50YWxseSBwYXNzIGl0IG9uIHRvIHRoZSBkZWxlZ2F0ZS5cbiAgICAgICAgdGhpcy5hcmcgPSB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBDb250aW51ZVNlbnRpbmVsO1xuICAgIH1cbiAgfTtcbn0pKFxuICAvLyBJbiBzbG9wcHkgbW9kZSwgdW5ib3VuZCBgdGhpc2AgcmVmZXJzIHRvIHRoZSBnbG9iYWwgb2JqZWN0LCBmYWxsYmFjayB0b1xuICAvLyBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpZiB3ZSdyZSBpbiBnbG9iYWwgc3RyaWN0IG1vZGUuIFRoYXQgaXMgc2FkbHkgYSBmb3JtXG4gIC8vIG9mIGluZGlyZWN0IGV2YWwgd2hpY2ggdmlvbGF0ZXMgQ29udGVudCBTZWN1cml0eSBQb2xpY3kuXG4gIChmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMgfSkoKSB8fCBGdW5jdGlvbihcInJldHVybiB0aGlzXCIpKClcbik7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fcmVnZW5lcmF0b3ItcnVudGltZUAwLjExLjFAcmVnZW5lcmF0b3ItcnVudGltZS9ydW50aW1lLmpzXG4vLyBtb2R1bGUgaWQgPSAyOTJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///292\n");
2001
2002/***/ }),
2003/* 293 */
2004/***/ (function(module, exports, __webpack_require__) {
2005
2006"use strict";
2007eval("\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvaGVscGVycy9jbGFzc0NhbGxDaGVjay5qcz8wMDBkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMjkzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IGZ1bmN0aW9uIChpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHtcbiAgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpO1xuICB9XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19iYWJlbC1ydW50aW1lQDYuMjYuMEBiYWJlbC1ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2suanNcbi8vIG1vZHVsZSBpZCA9IDI5M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///293\n");
2008
2009/***/ }),
2010/* 294 */
2011/***/ (function(module, exports, __webpack_require__) {
2012
2013"use strict";
2014eval("\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(88);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzcy5qcz9jNTJiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViOztBQUVBLHNCQUFzQixtQkFBTyxDQUFDLEVBQW1DOztBQUVqRTs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBLG1CQUFtQixrQkFBa0I7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiMjk0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkgPSByZXF1aXJlKFwiLi4vY29yZS1qcy9vYmplY3QvZGVmaW5lLXByb3BlcnR5XCIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5KTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0gZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldO1xuICAgICAgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlO1xuICAgICAgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlO1xuICAgICAgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTtcbiAgICAgICgwLCBfZGVmaW5lUHJvcGVydHkyLmRlZmF1bHQpKHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmdW5jdGlvbiAoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7XG4gICAgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTtcbiAgICBpZiAoc3RhdGljUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTtcbiAgICByZXR1cm4gQ29uc3RydWN0b3I7XG4gIH07XG59KCk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzcy5qc1xuLy8gbW9kdWxlIGlkID0gMjk0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///294\n");
2015
2016/***/ }),
2017/* 295 */
2018/***/ (function(module, exports, __webpack_require__) {
2019
2020eval("(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory(__webpack_require__(62));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"iview\", [\"vue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"iview\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"iview\"] = factory(root[\"Vue\"]);\n})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_15__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 248);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = normalizeComponent;\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n scriptExports = scriptExports || {}\n\n // ES6 modules interop\n var type = typeof scriptExports.default\n if (type === 'object' || type === 'function') {\n scriptExports = scriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nexports.default = function (innerThis, boundThis) {\n if (innerThis !== boundThis) {\n throw new TypeError(\"Cannot instantiate an arrow function\");\n }\n};\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(258);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n if (key in obj) {\n (0, _defineProperty2.default)(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sharpMatcherRegx = exports.dimensionMap = exports.findComponentUpward = exports.deepCopy = exports.firstUpperCase = exports.MutationObserver = undefined;\n\nvar _getIterator2 = __webpack_require__(44);\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nexports.oneOf = oneOf;\nexports.camelcaseToHyphen = camelcaseToHyphen;\nexports.getScrollBarSize = getScrollBarSize;\nexports.getStyle = getStyle;\nexports.warnProp = warnProp;\nexports.scrollTop = scrollTop;\nexports.findComponentDownward = findComponentDownward;\nexports.findComponentsDownward = findComponentsDownward;\nexports.findComponentsUpward = findComponentsUpward;\nexports.findBrothersComponents = findBrothersComponents;\nexports.hasClass = hasClass;\nexports.addClass = addClass;\nexports.removeClass = removeClass;\nexports.setMatchMedia = setMatchMedia;\n\nvar _vue = __webpack_require__(15);\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isServer = _vue2.default.prototype.$isServer;\nfunction oneOf(value, validList) {\n for (var i = 0; i < validList.length; i++) {\n if (value === validList[i]) {\n return true;\n }\n }\n return false;\n}\n\nfunction camelcaseToHyphen(str) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nvar cached = void 0;\nfunction getScrollBarSize(fresh) {\n if (isServer) return 0;\n if (fresh || cached === undefined) {\n var inner = document.createElement('div');\n inner.style.width = '100%';\n inner.style.height = '200px';\n\n var outer = document.createElement('div');\n var outerStyle = outer.style;\n\n outerStyle.position = 'absolute';\n outerStyle.top = 0;\n outerStyle.left = 0;\n outerStyle.pointerEvents = 'none';\n outerStyle.visibility = 'hidden';\n outerStyle.width = '200px';\n outerStyle.height = '150px';\n outerStyle.overflow = 'hidden';\n\n outer.appendChild(inner);\n\n document.body.appendChild(outer);\n\n var widthContained = inner.offsetWidth;\n outer.style.overflow = 'scroll';\n var widthScroll = inner.offsetWidth;\n\n if (widthContained === widthScroll) {\n widthScroll = outer.clientWidth;\n }\n\n document.body.removeChild(outer);\n\n cached = widthContained - widthScroll;\n }\n return cached;\n}\n\nvar MutationObserver = exports.MutationObserver = isServer ? false : window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver || false;\n\nvar SPECIAL_CHARS_REGEXP = /([\\:\\-\\_]+(.))/g;\nvar MOZ_HACK_REGEXP = /^moz([A-Z])/;\n\nfunction camelCase(name) {\n return name.replace(SPECIAL_CHARS_REGEXP, function (_, separator, letter, offset) {\n return offset ? letter.toUpperCase() : letter;\n }).replace(MOZ_HACK_REGEXP, 'Moz$1');\n}\nfunction getStyle(element, styleName) {\n if (!element || !styleName) return null;\n styleName = camelCase(styleName);\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n try {\n var computed = document.defaultView.getComputedStyle(element, '');\n return element.style[styleName] || computed ? computed[styleName] : null;\n } catch (e) {\n return element.style[styleName];\n }\n}\n\nfunction firstUpperCase(str) {\n return str.toString()[0].toUpperCase() + str.toString().slice(1);\n}\nexports.firstUpperCase = firstUpperCase;\nfunction warnProp(component, prop, correctType, wrongType) {\n correctType = firstUpperCase(correctType);\n wrongType = firstUpperCase(wrongType);\n console.error('[iView warn]: Invalid prop: type check failed for prop ' + String(prop) + '. Expected ' + String(correctType) + ', got ' + String(wrongType) + '. (found in component: ' + String(component) + ')');\n}\n\nfunction typeOf(obj) {\n var toString = Object.prototype.toString;\n var map = {\n '[object Boolean]': 'boolean',\n '[object Number]': 'number',\n '[object String]': 'string',\n '[object Function]': 'function',\n '[object Array]': 'array',\n '[object Date]': 'date',\n '[object RegExp]': 'regExp',\n '[object Undefined]': 'undefined',\n '[object Null]': 'null',\n '[object Object]': 'object'\n };\n return map[toString.call(obj)];\n}\n\nfunction deepCopy(data) {\n var t = typeOf(data);\n var o = void 0;\n\n if (t === 'array') {\n o = [];\n } else if (t === 'object') {\n o = {};\n } else {\n return data;\n }\n\n if (t === 'array') {\n for (var i = 0; i < data.length; i++) {\n o.push(deepCopy(data[i]));\n }\n } else if (t === 'object') {\n for (var _i in data) {\n o[_i] = deepCopy(data[_i]);\n }\n }\n return o;\n}\n\nexports.deepCopy = deepCopy;\nfunction scrollTop(el) {\n var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var to = arguments[2];\n var duration = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 500;\n var endCallback = arguments[4];\n\n if (!window.requestAnimationFrame) {\n window.requestAnimationFrame = window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n return window.setTimeout(callback, 1000 / 60);\n };\n }\n var difference = Math.abs(from - to);\n var step = Math.ceil(difference / duration * 50);\n\n function scroll(start, end, step) {\n var _this = this;\n\n if (start === end) {\n endCallback && endCallback();\n return;\n }\n\n var d = start + step > end ? end : start + step;\n if (start > end) {\n d = start - step < end ? end : start - step;\n }\n\n if (el === window) {\n window.scrollTo(d, d);\n } else {\n el.scrollTop = d;\n }\n window.requestAnimationFrame(function () {\n (0, _newArrowCheck3.default)(this, _this);\n return scroll(d, end, step);\n }.bind(this));\n }\n scroll(from, to, step);\n}\n\nfunction findComponentUpward(context, componentName, componentNames) {\n if (typeof componentName === 'string') {\n componentNames = [componentName];\n } else {\n componentNames = componentName;\n }\n\n var parent = context.$parent;\n var name = parent.$options.name;\n while (parent && (!name || componentNames.indexOf(name) < 0)) {\n parent = parent.$parent;\n if (parent) name = parent.$options.name;\n }\n return parent;\n}\nexports.findComponentUpward = findComponentUpward;\nfunction findComponentDownward(context, componentName) {\n var childrens = context.$children;\n var children = null;\n\n if (childrens.length) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = (0, _getIterator3.default)(childrens), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var child = _step.value;\n\n var name = child.$options.name;\n if (name === componentName) {\n children = child;\n break;\n } else {\n children = findComponentDownward(child, componentName);\n if (children) break;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n return children;\n}\n\nfunction findComponentsDownward(context, componentName) {\n var _this2 = this;\n\n var ignoreComponentNames = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n\n if (!Array.isArray(ignoreComponentNames)) {\n ignoreComponentNames = [ignoreComponentNames];\n }\n return context.$children.reduce(function (components, child) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n if (child.$options.name === componentName) components.push(child);\n if (ignoreComponentNames.indexOf(child.$options.name) < 0) {\n var foundChilds = findComponentsDownward(child, componentName);\n return components.concat(foundChilds);\n } else {\n return components;\n }\n }.bind(this), []);\n}\n\nfunction findComponentsUpward(context, componentName) {\n var parents = [];\n var parent = context.$parent;\n if (parent) {\n if (parent.$options.name === componentName) parents.push(parent);\n return parents.concat(findComponentsUpward(parent, componentName));\n } else {\n return [];\n }\n}\n\nfunction findBrothersComponents(context, componentName) {\n var _this3 = this;\n\n var exceptMe = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var res = context.$parent.$children.filter(function (item) {\n (0, _newArrowCheck3.default)(this, _this3);\n\n return item.$options.name === componentName;\n }.bind(this));\n var index = res.findIndex(function (item) {\n (0, _newArrowCheck3.default)(this, _this3);\n return item._uid === context._uid;\n }.bind(this));\n if (exceptMe) res.splice(index, 1);\n return res;\n}\n\nvar trim = function trim(string) {\n return (string || '').replace(/^[\\s\\uFEFF]+|[\\s\\uFEFF]+$/g, '');\n};\n\nfunction hasClass(el, cls) {\n if (!el || !cls) return false;\n if (cls.indexOf(' ') !== -1) throw new Error('className should not contain space.');\n if (el.classList) {\n return el.classList.contains(cls);\n } else {\n return (' ' + el.className + ' ').indexOf(' ' + cls + ' ') > -1;\n }\n}\n\nfunction addClass(el, cls) {\n if (!el) return;\n var curClass = el.className;\n var classes = (cls || '').split(' ');\n\n for (var i = 0, j = classes.length; i < j; i++) {\n var clsName = classes[i];\n if (!clsName) continue;\n\n if (el.classList) {\n el.classList.add(clsName);\n } else {\n if (!hasClass(el, clsName)) {\n curClass += ' ' + clsName;\n }\n }\n }\n if (!el.classList) {\n el.className = curClass;\n }\n}\n\nfunction removeClass(el, cls) {\n if (!el || !cls) return;\n var classes = cls.split(' ');\n var curClass = ' ' + el.className + ' ';\n\n for (var i = 0, j = classes.length; i < j; i++) {\n var clsName = classes[i];\n if (!clsName) continue;\n\n if (el.classList) {\n el.classList.remove(clsName);\n } else {\n if (hasClass(el, clsName)) {\n curClass = curClass.replace(' ' + clsName + ' ', ' ');\n }\n }\n }\n if (!el.classList) {\n el.className = trim(curClass);\n }\n}\n\nvar dimensionMap = exports.dimensionMap = {\n xs: '480px',\n sm: '576px',\n md: '768px',\n lg: '992px',\n xl: '1200px',\n xxl: '1600px'\n};\n\nfunction setMatchMedia() {\n var _this4 = this;\n\n if (typeof window !== 'undefined') {\n var matchMediaPolyfill = function (mediaQuery) {\n (0, _newArrowCheck3.default)(this, _this4);\n\n return {\n media: mediaQuery,\n matches: false,\n on: function on() {},\n off: function off() {}\n };\n }.bind(this);\n window.matchMedia = window.matchMedia || matchMediaPolyfill;\n }\n}\n\nvar sharpMatcherRegx = exports.sharpMatcherRegx = /#([^#]+)$/;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _broadcast(componentName, eventName, params) {\n var _this = this;\n\n this.$children.forEach(function (child) {\n (0, _newArrowCheck3.default)(this, _this);\n\n var name = child.$options.name;\n\n if (name === componentName) {\n child.$emit.apply(child, [eventName].concat(params));\n } else {\n _broadcast.apply(child, [componentName, eventName].concat([params]));\n }\n }.bind(this));\n}\nexports.default = {\n methods: {\n dispatch: function dispatch(componentName, eventName, params) {\n var parent = this.$parent || this.$root;\n var name = parent.$options.name;\n\n while (parent && (!name || name !== componentName)) {\n parent = parent.$parent;\n\n if (parent) {\n name = parent.$options.name;\n }\n }\n if (parent) {\n parent.$emit.apply(parent, [eventName].concat(params));\n }\n },\n broadcast: function broadcast(componentName, eventName, params) {\n _broadcast.call(this, componentName, eventName, params);\n }\n }\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _locale = __webpack_require__(108);\n\nexports.default = {\n methods: {\n t: function t() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _locale.t.apply(this, args);\n }\n }\n};\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.convertFieldsError = convertFieldsError;\nexports.format = format;\nexports.isEmptyValue = isEmptyValue;\nexports.isEmptyObject = isEmptyObject;\nexports.asyncMap = asyncMap;\nexports.complementError = complementError;\nexports.deepMerge = deepMerge;\n/* eslint no-console:0 */\n\nvar formatRegExp = /%[sdj%]/g;\n\nvar warning = exports.warning = function warning() {};\n\n// don't print warning message when in production env or node runtime\nif (false) {\n exports.warning = warning = function warning(type, errors) {\n if (typeof console !== 'undefined' && console.warn) {\n if (errors.every(function (e) {\n return typeof e === 'string';\n })) {\n console.warn(type, errors);\n }\n }\n };\n}\n\nfunction convertFieldsError(errors) {\n if (!errors || !errors.length) return null;\n var fields = {};\n errors.forEach(function (error) {\n var field = error.field;\n fields[field] = fields[field] || [];\n fields[field].push(error);\n });\n return fields;\n}\n\nfunction format() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var i = 1;\n var f = args[0];\n var len = args.length;\n if (typeof f === 'function') {\n return f.apply(null, args.slice(1));\n }\n if (typeof f === 'string') {\n var str = String(f).replace(formatRegExp, function (x) {\n if (x === '%%') {\n return '%';\n }\n if (i >= len) {\n return x;\n }\n switch (x) {\n case '%s':\n return String(args[i++]);\n case '%d':\n return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n break;\n default:\n return x;\n }\n });\n for (var arg = args[i]; i < len; arg = args[++i]) {\n str += ' ' + arg;\n }\n return str;\n }\n return f;\n}\n\nfunction isNativeStringType(type) {\n return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'pattern';\n}\n\nfunction isEmptyValue(value, type) {\n if (value === undefined || value === null) {\n return true;\n }\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n return false;\n}\n\nfunction isEmptyObject(obj) {\n return Object.keys(obj).length === 0;\n}\n\nfunction asyncParallelArray(arr, func, callback) {\n var results = [];\n var total = 0;\n var arrLength = arr.length;\n\n function count(errors) {\n results.push.apply(results, errors);\n total++;\n if (total === arrLength) {\n callback(results);\n }\n }\n\n arr.forEach(function (a) {\n func(a, count);\n });\n}\n\nfunction asyncSerialArray(arr, func, callback) {\n var index = 0;\n var arrLength = arr.length;\n\n function next(errors) {\n if (errors && errors.length) {\n callback(errors);\n return;\n }\n var original = index;\n index = index + 1;\n if (original < arrLength) {\n func(arr[original], next);\n } else {\n callback([]);\n }\n }\n\n next([]);\n}\n\nfunction flattenObjArr(objArr) {\n var ret = [];\n Object.keys(objArr).forEach(function (k) {\n ret.push.apply(ret, objArr[k]);\n });\n return ret;\n}\n\nfunction asyncMap(objArr, option, func, callback) {\n if (option.first) {\n var flattenArr = flattenObjArr(objArr);\n return asyncSerialArray(flattenArr, func, callback);\n }\n var firstFields = option.firstFields || [];\n if (firstFields === true) {\n firstFields = Object.keys(objArr);\n }\n var objArrKeys = Object.keys(objArr);\n var objArrLength = objArrKeys.length;\n var total = 0;\n var results = [];\n var pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n results.push.apply(results, errors);\n total++;\n if (total === objArrLength) {\n callback(results);\n return results.length ? reject({ errors: results, fields: convertFieldsError(results) }) : resolve();\n }\n };\n objArrKeys.forEach(function (key) {\n var arr = objArr[key];\n if (firstFields.indexOf(key) !== -1) {\n asyncSerialArray(arr, func, next);\n } else {\n asyncParallelArray(arr, func, next);\n }\n });\n });\n pending['catch'](function (e) {\n return e;\n });\n return pending;\n}\n\nfunction complementError(rule) {\n return function (oe) {\n if (oe && oe.message) {\n oe.field = oe.field || rule.fullField;\n return oe;\n }\n return {\n message: typeof oe === 'function' ? oe() : oe,\n field: oe.field || rule.fullField\n };\n };\n}\n\nfunction deepMerge(target, source) {\n if (source) {\n for (var s in source) {\n if (source.hasOwnProperty(s)) {\n var value = source[s];\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && _typeof(target[s]) === 'object') {\n target[s] = _extends({}, target[s], value);\n } else {\n target[s] = value;\n }\n }\n }\n }\n return target;\n}\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_icon_vue__ = __webpack_require__(91);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_icon_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_icon_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_icon_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_icon_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_8ab195dc_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_icon_vue__ = __webpack_require__(264);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_8ab195dc_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_icon_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_8ab195dc_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_icon_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_icon_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_8ab195dc_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_icon_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_8ab195dc_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_icon_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(9);\nvar core = __webpack_require__(6);\nvar ctx = __webpack_require__(42);\nvar hide = __webpack_require__(27);\nvar has = __webpack_require__(26);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(63)('wks');\nvar uid = __webpack_require__(48);\nvar Symbol = __webpack_require__(9).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _required = __webpack_require__(181);\n\nvar _required2 = _interopRequireDefault(_required);\n\nvar _whitespace = __webpack_require__(444);\n\nvar _whitespace2 = _interopRequireDefault(_whitespace);\n\nvar _type = __webpack_require__(445);\n\nvar _type2 = _interopRequireDefault(_type);\n\nvar _range = __webpack_require__(446);\n\nvar _range2 = _interopRequireDefault(_range);\n\nvar _enum = __webpack_require__(447);\n\nvar _enum2 = _interopRequireDefault(_enum);\n\nvar _pattern = __webpack_require__(448);\n\nvar _pattern2 = _interopRequireDefault(_pattern);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = {\n required: _required2['default'],\n whitespace: _whitespace2['default'],\n type: _type2['default'],\n range: _range2['default'],\n 'enum': _enum2['default'],\n pattern: _pattern2['default']\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.off = exports.on = undefined;\n\nvar _vue = __webpack_require__(15);\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isServer = _vue2.default.prototype.$isServer;\n\nvar on = exports.on = function () {\n if (!isServer && document.addEventListener) {\n return function (element, event, handler) {\n if (element && event && handler) {\n element.addEventListener(event, handler, false);\n }\n };\n } else {\n return function (element, event, handler) {\n if (element && event && handler) {\n element.attachEvent('on' + event, handler);\n }\n };\n }\n}();\n\nvar off = exports.off = function () {\n if (!isServer && document.removeEventListener) {\n return function (element, event, handler) {\n if (element && event) {\n element.removeEventListener(event, handler, false);\n }\n };\n } else {\n return function (element, event, handler) {\n if (element && event) {\n element.detachEvent('on' + event, handler);\n }\n };\n }\n}();\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(253), __esModule: true };\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_15__;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _from = __webpack_require__(101);\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return (0, _from2.default)(arr);\n }\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TYPE_VALUE_RESOLVER_MAP = exports.DEFAULT_FORMATS = exports.formatDateLabels = exports.initTimeDate = exports.nextMonth = exports.prevMonth = exports.siblingMonth = exports.getFirstDayOfMonth = exports.getDayCountOfMonth = exports.parseDate = exports.formatDate = exports.isInRange = exports.clearHours = exports.toDate = undefined;\n\nvar _slicedToArray2 = __webpack_require__(23);\n\nvar _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _toConsumableArray2 = __webpack_require__(16);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _date2 = __webpack_require__(394);\n\nvar _date3 = _interopRequireDefault(_date2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar toDate = exports.toDate = function toDate(date) {\n var _date = new Date(date);\n\n if (isNaN(_date.getTime()) && typeof date === 'string') {\n _date = date.split('-').map(Number);\n _date[1] += 1;\n _date = new (Function.prototype.bind.apply(Date, [null].concat((0, _toConsumableArray3.default)(_date))))();\n }\n\n\n if (isNaN(_date.getTime())) return null;\n return _date;\n};\n\nvar clearHours = exports.clearHours = function clearHours(time) {\n var cloneDate = new Date(time);\n cloneDate.setHours(0, 0, 0, 0);\n return cloneDate.getTime();\n};\n\nvar isInRange = exports.isInRange = function (time, a, b) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n if (!a || !b) return false;\n\n var _sort = [a, b].sort(),\n _sort2 = (0, _slicedToArray3.default)(_sort, 2),\n start = _sort2[0],\n end = _sort2[1];\n\n return time >= start && time <= end;\n}.bind(undefined);\n\nvar formatDate = exports.formatDate = function formatDate(date, format) {\n date = toDate(date);\n if (!date) return '';\n return _date3.default.format(date, format || 'yyyy-MM-dd');\n};\n\nvar parseDate = exports.parseDate = function parseDate(string, format) {\n return _date3.default.parse(string, format || 'yyyy-MM-dd');\n};\n\nvar getDayCountOfMonth = exports.getDayCountOfMonth = function getDayCountOfMonth(year, month) {\n return new Date(year, month + 1, 0).getDate();\n};\n\nvar getFirstDayOfMonth = exports.getFirstDayOfMonth = function getFirstDayOfMonth(date) {\n var temp = new Date(date.getTime());\n temp.setDate(1);\n return temp.getDay();\n};\n\nvar siblingMonth = exports.siblingMonth = function siblingMonth(src, diff) {\n var temp = new Date(src);\n var newMonth = temp.getMonth() + diff;\n var newMonthDayCount = getDayCountOfMonth(temp.getFullYear(), newMonth);\n if (newMonthDayCount < temp.getDate()) {\n temp.setDate(newMonthDayCount);\n }\n temp.setMonth(newMonth);\n\n return temp;\n};\n\nvar prevMonth = exports.prevMonth = function prevMonth(src) {\n return siblingMonth(src, -1);\n};\n\nvar nextMonth = exports.nextMonth = function nextMonth(src) {\n return siblingMonth(src, 1);\n};\n\nvar initTimeDate = exports.initTimeDate = function initTimeDate() {\n var date = new Date();\n date.setHours(0);\n date.setMinutes(0);\n date.setSeconds(0);\n return date;\n};\n\nvar formatDateLabels = exports.formatDateLabels = function () {\n var _this = this;\n\n var formats = {\n yyyy: function yyyy(date) {\n (0, _newArrowCheck3.default)(this, _this);\n return date.getFullYear();\n }.bind(this),\n m: function m(date) {\n (0, _newArrowCheck3.default)(this, _this);\n return date.getMonth() + 1;\n }.bind(this),\n mm: function mm(date) {\n (0, _newArrowCheck3.default)(this, _this);\n return ('0' + (date.getMonth() + 1)).slice(-2);\n }.bind(this),\n mmm: function mmm(date, locale) {\n (0, _newArrowCheck3.default)(this, _this);\n\n var monthName = date.toLocaleDateString(locale, {\n month: 'long'\n });\n return monthName.slice(0, 3);\n }.bind(this),\n Mmm: function Mmm(date, locale) {\n (0, _newArrowCheck3.default)(this, _this);\n\n var monthName = date.toLocaleDateString(locale, {\n month: 'long'\n });\n return (monthName[0].toUpperCase() + monthName.slice(1).toLowerCase()).slice(0, 3);\n }.bind(this),\n mmmm: function mmmm(date, locale) {\n (0, _newArrowCheck3.default)(this, _this);\n return date.toLocaleDateString(locale, {\n month: 'long'\n });\n }.bind(this),\n Mmmm: function Mmmm(date, locale) {\n (0, _newArrowCheck3.default)(this, _this);\n\n var monthName = date.toLocaleDateString(locale, {\n month: 'long'\n });\n return monthName[0].toUpperCase() + monthName.slice(1).toLowerCase();\n }.bind(this)\n };\n var formatRegex = new RegExp(['yyyy', 'Mmmm', 'mmmm', 'Mmm', 'mmm', 'mm', 'm'].join('|'), 'g');\n\n return function (locale, format, date) {\n var _this2 = this;\n\n var componetsRegex = /(\\[[^\\]]+\\])([^\\[\\]]+)(\\[[^\\]]+\\])/;\n var components = format.match(componetsRegex).slice(1);\n var separator = components[1];\n var labels = [components[0], components[2]].map(function (component) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n var label = component.replace(/\\[[^\\]]+\\]/, function (str) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n return str.slice(1, -1).replace(formatRegex, function (match) {\n (0, _newArrowCheck3.default)(this, _this2);\n return formats[match](date, locale);\n }.bind(this));\n }.bind(this));\n return {\n label: label,\n type: component.indexOf('yy') != -1 ? 'year' : 'month'\n };\n }.bind(this));\n return {\n separator: separator,\n labels: labels\n };\n };\n}();\n\nvar DEFAULT_FORMATS = exports.DEFAULT_FORMATS = {\n date: 'yyyy-MM-dd',\n month: 'yyyy-MM',\n year: 'yyyy',\n datetime: 'yyyy-MM-dd HH:mm:ss',\n time: 'HH:mm:ss',\n timerange: 'HH:mm:ss',\n daterange: 'yyyy-MM-dd',\n datetimerange: 'yyyy-MM-dd HH:mm:ss'\n};\n\nvar DATE_FORMATTER = function DATE_FORMATTER(value, format) {\n return formatDate(value, format);\n};\nvar DATE_PARSER = function DATE_PARSER(text, format) {\n return parseDate(text, format);\n};\nvar RANGE_FORMATTER = function RANGE_FORMATTER(value, format, RANGE_SEPARATOR) {\n if (Array.isArray(value) && value.length === 2) {\n var start = value[0];\n var end = value[1];\n\n if (start && end) {\n return formatDate(start, format) + RANGE_SEPARATOR + formatDate(end, format);\n }\n } else if (!Array.isArray(value) && value instanceof Date) {\n return formatDate(value, format);\n }\n return '';\n};\nvar RANGE_PARSER = function RANGE_PARSER(text, format, RANGE_SEPARATOR) {\n var array = Array.isArray(text) ? text : text.split(RANGE_SEPARATOR);\n if (array.length === 2) {\n var range1 = array[0];\n var range2 = array[1];\n\n return [range1 instanceof Date ? range1 : parseDate(range1, format), range2 instanceof Date ? range2 : parseDate(range2, format)];\n }\n return [];\n};\n\nvar TYPE_VALUE_RESOLVER_MAP = exports.TYPE_VALUE_RESOLVER_MAP = {\n default: {\n formatter: function formatter(value) {\n if (!value) return '';\n return '' + value;\n },\n parser: function parser(text) {\n if (text === undefined || text === '') return null;\n return text;\n }\n },\n date: {\n formatter: DATE_FORMATTER,\n parser: DATE_PARSER\n },\n datetime: {\n formatter: DATE_FORMATTER,\n parser: DATE_PARSER\n },\n daterange: {\n formatter: RANGE_FORMATTER,\n parser: RANGE_PARSER\n },\n datetimerange: {\n formatter: RANGE_FORMATTER,\n parser: RANGE_PARSER\n },\n timerange: {\n formatter: RANGE_FORMATTER,\n parser: RANGE_PARSER\n },\n time: {\n formatter: DATE_FORMATTER,\n parser: DATE_PARSER\n },\n month: {\n formatter: DATE_FORMATTER,\n parser: DATE_PARSER\n },\n year: {\n formatter: DATE_FORMATTER,\n parser: DATE_PARSER\n },\n multiple: {\n formatter: function formatter(value, format) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n return value.filter(Boolean).map(function (date) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return formatDate(date, format);\n }.bind(undefined)).join(',');\n }.bind(undefined),\n parser: function parser(value, format) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var values = typeof value === 'string' ? value.split(',') : value;\n return values.map(function (value) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n if (value instanceof Date) return value;\n if (typeof value === 'string') value = value.trim();else if (typeof value !== 'number' && !value) value = '';\n return parseDate(value, format);\n }.bind(undefined));\n }.bind(undefined)\n },\n number: {\n formatter: function formatter(value) {\n if (!value) return '';\n return '' + value;\n },\n parser: function parser(text) {\n var result = Number(text);\n\n if (!isNaN(text)) {\n return result;\n } else {\n return null;\n }\n }\n }\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(19);\nvar IE8_DOM_DEFINE = __webpack_require__(88);\nvar toPrimitive = __webpack_require__(66);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(22) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(28);\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _icon = __webpack_require__(8);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _icon2.default;\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assign = __webpack_require__(14);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getTarget(node) {\n if (node === void 0) {\n node = document.body;\n }\n if (node === true) {\n return document.body;\n }\n return node instanceof window.Node ? node : document.querySelector(node);\n}\n\nvar directive = {\n inserted: function inserted(el, _ref, vnode) {\n var value = _ref.value;\n\n if (el.dataset && el.dataset.transfer !== 'true') return false;\n el.className = el.className ? el.className + ' v-transfer-dom' : 'v-transfer-dom';\n var parentNode = el.parentNode;\n if (!parentNode) return;\n var home = document.createComment('');\n var hasMovedOut = false;\n\n if (value !== false) {\n parentNode.replaceChild(home, el);\n getTarget(value).appendChild(el);\n hasMovedOut = true;\n }\n if (!el.__transferDomData) {\n el.__transferDomData = {\n parentNode: parentNode,\n home: home,\n target: getTarget(value),\n hasMovedOut: hasMovedOut\n };\n }\n },\n componentUpdated: function componentUpdated(el, _ref2) {\n var value = _ref2.value;\n\n if (el.dataset && el.dataset.transfer !== 'true') return false;\n\n var ref$1 = el.__transferDomData;\n if (!ref$1) return;\n\n var parentNode = ref$1.parentNode;\n var home = ref$1.home;\n var hasMovedOut = ref$1.hasMovedOut;\n\n if (!hasMovedOut && value) {\n parentNode.replaceChild(home, el);\n\n getTarget(value).appendChild(el);\n el.__transferDomData = (0, _assign2.default)({}, el.__transferDomData, { hasMovedOut: true, target: getTarget(value) });\n } else if (hasMovedOut && value === false) {\n parentNode.replaceChild(el, home);\n el.__transferDomData = (0, _assign2.default)({}, el.__transferDomData, { hasMovedOut: false, target: getTarget(value) });\n } else if (value) {\n getTarget(value).appendChild(el);\n }\n },\n unbind: function unbind(el) {\n if (el.dataset && el.dataset.transfer !== 'true') return false;\n el.className = el.className.replace('v-transfer-dom', '');\n var ref$1 = el.__transferDomData;\n if (!ref$1) return;\n if (el.__transferDomData.hasMovedOut === true) {\n el.__transferDomData.parentNode && el.__transferDomData.parentNode.appendChild(el);\n }\n el.__transferDomData = null;\n }\n};\n\nexports.default = directive;\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(30)(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _isIterable2 = __webpack_require__(282);\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = __webpack_require__(44);\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if ((0, _isIterable3.default)(Object(arr))) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n/***/ }),\n/* 24 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_button_vue__ = __webpack_require__(121);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_button_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_button_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_button_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_button_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_53cf61aa_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_button_vue__ = __webpack_require__(343);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_53cf61aa_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_button_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_53cf61aa_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_button_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_button_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_53cf61aa_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_button_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_53cf61aa_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_button_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(249), __esModule: true };\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(18);\nvar createDesc = __webpack_require__(43);\nmodule.exports = __webpack_require__(22) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(86);\nvar defined = __webpack_require__(59);\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _assign = __webpack_require__(14);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_vue__ = __webpack_require__(105);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_067117a8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dropdown_vue__ = __webpack_require__(291);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_067117a8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dropdown_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_067117a8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dropdown_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_067117a8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dropdown_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_067117a8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dropdown_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar transferIndex = 0;\n\nfunction transferIncrease() {\n exports.transferIndex = transferIndex += 1;\n}\n\nexports.transferIndex = transferIndex;\nexports.transferIncrease = transferIncrease;\n\n/***/ }),\n/* 35 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"directive\", function() { return directive; });\n/* harmony export (immutable) */ __webpack_exports__[\"install\"] = install;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__package_json__ = __webpack_require__(292);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__package_json___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__package_json__);\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n/**\n * @typedef {import(\"../types/index.d.ts\")} VClickOutsidePlugin\n */\n\nvar CLICK = 'click';\nvar captureInstances = Object.create(null);\nvar nonCaptureInstances = Object.create(null);\nvar captureEventHandlers = Object.create(null);\nvar nonCaptureEventHandlers = Object.create(null);\nvar instancesList = [captureInstances, nonCaptureInstances];\n/**\n * The common event handler for bot capture and non-capture events.\n *\n * @param {!object} context - The event context.\n * @param {!object} instances - The capture or non-capture registered instances.\n * @param {Event} event - The event object.\n * @param {string} arg - The event type.\n * @returns {undefined} Default.\n */\n\nvar commonHandler = function onCommonEvent(context, instances, event, arg) {\n var target = event.target;\n\n var itemIteratee = function itemIteratee(item) {\n var el = item.el;\n\n if (el !== target && !el.contains(target)) {\n var binding = item.binding;\n\n if (binding.modifiers.stop) {\n event.stopPropagation();\n }\n\n if (binding.modifiers.prevent) {\n event.preventDefault();\n }\n\n binding.value.call(context, event);\n }\n };\n\n instances[arg].forEach(itemIteratee);\n};\n/**\n * Get the correct event handler: Capture or non-capture.\n *\n * @param {boolean} useCapture - Indicate which handler to use; 'true' to use\n * capture handler or 'false' for non-capture.\n * @param {string} arg - The event type.\n * @returns {Function} - The event handler.\n */\n\n\nvar getEventHandler = function getEventHandler(useCapture, arg) {\n if (useCapture) {\n if (captureEventHandlers[arg]) {\n return captureEventHandlers[arg];\n }\n /**\n * Event handler for capture events.\n *\n * @param {Event} event - The event object.\n */\n\n\n captureEventHandlers[arg] = function onCaptureEvent(event) {\n commonHandler(this, captureInstances, event, arg);\n };\n\n return captureEventHandlers[arg];\n }\n\n if (nonCaptureEventHandlers[arg]) {\n return nonCaptureEventHandlers[arg];\n }\n /**\n * Event handler for non-capture events.\n *\n * @param {Event} event - The event object.\n */\n\n\n nonCaptureEventHandlers[arg] = function onNonCaptureEvent(event) {\n commonHandler(this, nonCaptureInstances, event, arg);\n };\n\n return nonCaptureEventHandlers[arg];\n};\n/**\n * The directive definition.\n * {@link https://vuejs.org/v2/guide/custom-directive.html|Custom directive}.\n *\n * @type {VClickOutsidePlugin.directive}\n * @property {!object} $captureInstances - Registered capture instances.\n * @property {!object} $nonCaptureInstances - Registered non-capture instances.\n * @property {Function} $_onCaptureEvent - Event handler for capture events.\n * @property {Function} $_onNonCaptureEvent - Event handler for non-capture events.\n * @property {Function} bind - Called only once, when the directive is first\n * bound to the element.\n * @property {Function} unbind - Called only once, when the directive is unbound\n * from the element.\n * @property {string} version - The version number of this release.\n */\n\n\nvar directive = Object.defineProperties({}, {\n $captureInstances: {\n value: captureInstances\n },\n $nonCaptureInstances: {\n value: nonCaptureInstances\n },\n $captureEventHandlers: {\n value: captureEventHandlers\n },\n $nonCaptureEventHandlers: {\n value: nonCaptureEventHandlers\n },\n bind: {\n value: function bind(el, binding) {\n if (typeof binding.value !== 'function') {\n throw new TypeError('Binding value must be a function.');\n }\n\n var arg = binding.arg || CLICK;\n\n var normalisedBinding = _objectSpread({}, binding, {}, {\n arg: arg,\n modifiers: _objectSpread({}, {\n capture: false,\n prevent: false,\n stop: false\n }, {}, binding.modifiers)\n });\n\n var useCapture = normalisedBinding.modifiers.capture;\n var instances = useCapture ? captureInstances : nonCaptureInstances;\n\n if (!Array.isArray(instances[arg])) {\n instances[arg] = [];\n }\n\n if (instances[arg].push({\n el: el,\n binding: normalisedBinding\n }) === 1) {\n /* istanbul ignore next */\n if ((typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object' && document) {\n document.addEventListener(arg, getEventHandler(useCapture, arg), useCapture);\n }\n }\n }\n },\n unbind: {\n value: function unbind(el) {\n var compareElements = function compareElements(item) {\n return item.el !== el;\n };\n\n var instancesIteratee = function instancesIteratee(instances) {\n var instanceKeys = Object.keys(instances);\n\n if (instanceKeys.length) {\n var useCapture = instances === captureInstances;\n\n var keysIteratee = function keysIteratee(eventName) {\n var newInstance = instances[eventName].filter(compareElements);\n\n if (newInstance.length) {\n instances[eventName] = newInstance;\n } else {\n /* istanbul ignore next */\n if ((typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object' && document) {\n document.removeEventListener(eventName, getEventHandler(useCapture, eventName), useCapture);\n }\n\n delete instances[eventName];\n }\n };\n\n instanceKeys.forEach(keysIteratee);\n }\n };\n\n instancesList.forEach(instancesIteratee);\n }\n },\n\n /* Note: This needs to be manually updated to match package.json. */\n version: {\n enumerable: true,\n value: __WEBPACK_IMPORTED_MODULE_0__package_json__[\"version\"]\n }\n});\n/**\n * A Vue.js plugin should expose an install method. The method will be called\n * with the Vue constructor as the first argument, along with possible options.\n * {@link https://vuejs.org/v2/guide/plugins.html#Writing-a-Plugin|Writing a plugin}.\n *\n * @type {VClickOutsidePlugin.install}\n * @param {import(\"vue\")} Vue - The Vue constructor.\n */\n\nfunction install(Vue) {\n Vue.directive('click-outside', directive);\n}\n\n//# sourceMappingURL=v-click-outside-x.esm.js.map\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(300);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(302);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 37 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_input_vue__ = __webpack_require__(114);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_input_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_input_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_input_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_input_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_676402f8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_input_vue__ = __webpack_require__(327);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_676402f8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_input_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_676402f8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_input_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_input_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_676402f8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_input_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_676402f8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_input_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _isFinite = __webpack_require__(71);\n\nvar _isFinite2 = _interopRequireDefault(_isFinite);\n\nexports.changeColor = changeColor;\nexports.clamp = clamp;\nexports.getIncrement = getIncrement;\nexports.getTouches = getTouches;\nexports.toRGBAString = toRGBAString;\nexports.isValidHex = isValidHex;\nexports.simpleCheckForValidColor = simpleCheckForValidColor;\n\nvar _tinycolor = __webpack_require__(139);\n\nvar _tinycolor2 = _interopRequireDefault(_tinycolor);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction setAlpha(data, alpha) {\n var color = (0, _tinycolor2.default)(data);\n var _a = color._a;\n\n\n if (_a === undefined || _a === null) {\n color.setAlpha(alpha || 1);\n }\n\n return color;\n}\n\nfunction getColor(data, colorData) {\n var alpha = colorData && colorData.a;\n\n if (colorData) {\n if (colorData.hsl) {\n return setAlpha(colorData.hsl, alpha);\n }\n\n if (colorData.hex && colorData.hex.length > 0) {\n return setAlpha(colorData.hex, alpha);\n }\n }\n\n return setAlpha(colorData, alpha);\n}\n\nfunction changeColor(data, oldHue) {\n var colorData = data === '' ? '#2d8cf0' : data;\n var color = getColor(data, colorData);\n var hsl = color.toHsl();\n var hsv = color.toHsv();\n\n if (hsl.s === 0) {\n hsl.h = colorData.h || colorData.hsl && colorData.hsl.h || oldHue || 0;\n hsv.h = hsl.h;\n }\n\n if (hsv.v < 0.0164) {\n hsv.h = colorData.h || colorData.hsv && colorData.hsv.h || 0;\n hsv.s = colorData.s || colorData.hsv && colorData.hsv.s || 0;\n }\n\n if (hsl.l < 0.01) {\n hsl.h = colorData.h || colorData.hsl && colorData.hsl.h || 0;\n hsl.s = colorData.s || colorData.hsl && colorData.hsl.s || 0;\n }\n\n return {\n hsl: hsl,\n hex: color.toHexString().toUpperCase(),\n rgba: color.toRgb(),\n hsv: hsv,\n oldHue: colorData.h || oldHue || hsl.h,\n source: colorData.source,\n a: colorData.a || color.getAlpha()\n };\n}\n\nfunction clamp(value, min, max) {\n if (value < min) {\n return min;\n }\n\n if (value > max) {\n return max;\n }\n\n return value;\n}\n\nfunction getIncrement(key, keys, increment) {\n return (0, _assist.oneOf)(key, keys) ? increment : 0;\n}\n\nfunction getTouches(e, prop) {\n return e.touches ? e.touches[0][prop] : 0;\n}\n\nfunction toRGBAString(rgba) {\n var r = rgba.r,\n g = rgba.g,\n b = rgba.b,\n a = rgba.a;\n\n\n return 'rgba(' + String([r, g, b, a].join(',')) + ')';\n}\n\nfunction isValidHex(hex) {\n return (0, _tinycolor2.default)(hex).isValid();\n}\n\nfunction checkIteratee(data, counts, letter) {\n var checked = counts.checked,\n passed = counts.passed;\n\n var value = data[letter];\n\n if (value) {\n checked += 1;\n\n if ((0, _isFinite2.default)(value)) {\n passed += 1;\n }\n }\n\n return { checked: checked, passed: passed };\n}\n\nvar keysToCheck = ['r', 'g', 'b', 'a', 'h', 's', 'l', 'v'];\n\nfunction simpleCheckForValidColor(data) {\n var results = keysToCheck.reduce(checkIteratee.bind(null, data), { checked: 0, passed: 0 });\n\n return results.checked === results.passed ? data : undefined;\n}\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(59);\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(85);\nvar enumBugKeys = __webpack_require__(64);\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(49);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(265), __esModule: true };\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(271)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(92)(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_checkbox_vue__ = __webpack_require__(132);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_checkbox_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_checkbox_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_checkbox_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_checkbox_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0a95b282_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_checkbox_vue__ = __webpack_require__(369);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0a95b282_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_checkbox_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0a95b282_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_checkbox_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_checkbox_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0a95b282_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_checkbox_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0a95b282_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_checkbox_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n data: function data() {\n return {\n prefixCls: 'ivu-color-picker',\n inputPrefixCls: 'ivu-input',\n iconPrefixCls: 'ivu-icon',\n transferPrefixCls: 'ivu-transfer'\n };\n }\n};\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(266);\nvar global = __webpack_require__(9);\nvar hide = __webpack_require__(27);\nvar Iterators = __webpack_require__(32);\nvar TO_STRING_TAG = __webpack_require__(11)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(18).f;\nvar has = __webpack_require__(26);\nvar TAG = __webpack_require__(11)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(287), __esModule: true };\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof2 = __webpack_require__(36);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n props: {\n to: {\n type: [Object, String]\n },\n replace: {\n type: Boolean,\n default: false\n },\n target: {\n type: String,\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['_blank', '_self', '_parent', '_top']);\n },\n\n default: '_self'\n },\n append: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n computed: {\n linkUrl: function linkUrl() {\n var type = (0, _typeof3.default)(this.to);\n if (type !== 'string') {\n return null;\n }\n if (this.to.includes('//')) {\n return this.to;\n }\n var router = this.$router;\n if (router) {\n var current = this.$route;\n var route = router.resolve(this.to, current, this.append);\n return route ? route.href : this.to;\n }\n return this.to;\n }\n },\n methods: {\n handleClick: function handleClick() {\n var new_window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var router = this.$router;\n\n if (new_window) {\n var to = this.to;\n if (router) {\n var current = this.$route;\n var route = router.resolve(this.to, current, this.append);\n to = route ? route.href : this.to;\n }\n window.open(to);\n } else {\n if (router) {\n this.replace ? this.$router.replace(this.to) : this.$router.push(this.to);\n } else {\n window.location.href = this.to;\n }\n }\n },\n handleCheckClick: function handleCheckClick(event) {\n var new_window = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this.to) {\n if (this.target === '_blank') {\n return false;\n } else {\n event.preventDefault();\n this.handleClick(new_window);\n }\n }\n }\n }\n};\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n props: {\n disabledHours: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n disabledMinutes: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n disabledSeconds: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n hideDisabledOptions: {\n type: Boolean,\n default: false\n }\n }\n};\n\n/***/ }),\n/* 57 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_confirm_vue__ = __webpack_require__(160);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_confirm_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_confirm_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_confirm_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_confirm_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_26b6f28e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_confirm_vue__ = __webpack_require__(405);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_26b6f28e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_confirm_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_26b6f28e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_confirm_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_confirm_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_26b6f28e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_confirm_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_26b6f28e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_confirm_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-picker-panel';\nvar datePrefixCls = 'ivu-date-picker';\n\nexports.default = {\n props: {\n confirm: {\n type: Boolean,\n default: false\n }\n },\n methods: {\n iconBtnCls: function iconBtnCls(direction) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n return [prefixCls + '-icon-btn', datePrefixCls + '-' + String(direction) + '-btn', datePrefixCls + '-' + String(direction) + '-btn-arrow' + String(type)];\n },\n handleShortcutClick: function handleShortcutClick(shortcut) {\n if (shortcut.value) this.$emit('on-pick', shortcut.value());\n if (shortcut.onClick) shortcut.onClick(this);\n },\n handlePickClear: function handlePickClear() {\n this.resetView();\n this.$emit('on-pick-clear');\n },\n handlePickSuccess: function handlePickSuccess() {\n this.resetView();\n this.$emit('on-pick-success');\n },\n handlePickClick: function handlePickClick() {\n this.$emit('on-pick-click');\n },\n resetView: function resetView() {\n var _this = this;\n\n setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this);\n return this.currentView = this.selectionMode;\n }.bind(this), 500);\n },\n handleClear: function handleClear() {\n var _this2 = this;\n\n this.dates = this.dates.map(function () {\n (0, _newArrowCheck3.default)(this, _this2);\n return null;\n }.bind(this));\n this.rangeState = {};\n this.$emit('on-pick', this.dates);\n this.handleConfirm();\n },\n handleConfirm: function handleConfirm(visible, type) {\n this.$emit('on-pick', this.dates, visible, type || this.type);\n },\n onToggleVisibility: function onToggleVisibility(open) {\n var _$refs = this.$refs,\n timeSpinner = _$refs.timeSpinner,\n timeSpinnerEnd = _$refs.timeSpinnerEnd;\n\n if (open && timeSpinner) timeSpinner.updateScroll();\n if (open && timeSpinnerEnd) timeSpinnerEnd.updateScroll();\n }\n }\n};\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(61);\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(63)('keys');\nvar uid = __webpack_require__(48);\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(9);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(28);\nvar document = __webpack_require__(9).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(28);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(69);\nvar ITERATOR = __webpack_require__(11)('iterator');\nvar Iterators = __webpack_require__(32);\nmodule.exports = __webpack_require__(6).getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(41);\nvar TAG = __webpack_require__(11)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 70 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_select_vue__ = __webpack_require__(100);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_select_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_select_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_select_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_select_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4123873c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_select_vue__ = __webpack_require__(315);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4123873c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_select_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4123873c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_select_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_select_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4123873c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_select_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4123873c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_select_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(285), __esModule: true };\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(11);\n\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(9);\nvar core = __webpack_require__(6);\nvar LIBRARY = __webpack_require__(52);\nvar wksExt = __webpack_require__(72);\nvar defineProperty = __webpack_require__(18).f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_option_vue__ = __webpack_require__(113);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_option_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_option_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_option_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_option_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_00b01aec_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_option_vue__ = __webpack_require__(316);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_00b01aec_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_option_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_00b01aec_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_option_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_option_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_00b01aec_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_option_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_00b01aec_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_option_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assist = __webpack_require__(3);\n\nvar Transition = {\n beforeEnter: function beforeEnter(el) {\n (0, _assist.addClass)(el, 'collapse-transition');\n if (!el.dataset) el.dataset = {};\n\n el.dataset.oldPaddingTop = el.style.paddingTop;\n el.dataset.oldPaddingBottom = el.style.paddingBottom;\n\n el.style.height = '0';\n el.style.paddingTop = 0;\n el.style.paddingBottom = 0;\n },\n enter: function enter(el) {\n el.dataset.oldOverflow = el.style.overflow;\n if (el.scrollHeight !== 0) {\n el.style.height = el.scrollHeight + 'px';\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n } else {\n el.style.height = '';\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n }\n\n el.style.overflow = 'hidden';\n },\n afterEnter: function afterEnter(el) {\n (0, _assist.removeClass)(el, 'collapse-transition');\n el.style.height = '';\n el.style.overflow = el.dataset.oldOverflow;\n },\n beforeLeave: function beforeLeave(el) {\n if (!el.dataset) el.dataset = {};\n el.dataset.oldPaddingTop = el.style.paddingTop;\n el.dataset.oldPaddingBottom = el.style.paddingBottom;\n el.dataset.oldOverflow = el.style.overflow;\n\n el.style.height = el.scrollHeight + 'px';\n el.style.overflow = 'hidden';\n },\n leave: function leave(el) {\n if (el.scrollHeight !== 0) {\n (0, _assist.addClass)(el, 'collapse-transition');\n el.style.height = 0;\n el.style.paddingTop = 0;\n el.style.paddingBottom = 0;\n }\n },\n afterLeave: function afterLeave(el) {\n (0, _assist.removeClass)(el, 'collapse-transition');\n el.style.height = '';\n el.style.overflow = el.dataset.oldOverflow;\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n }\n};\n\nexports.default = {\n name: 'CollapseTransition',\n functional: true,\n props: {\n appear: Boolean\n },\n render: function render(h, _ref) {\n var children = _ref.children,\n props = _ref.props;\n\n var data = {\n on: Transition,\n props: {\n appear: props.appear\n }\n };\n\n return h('transition', data, children);\n }\n};\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _handleEscapeMixin = __webpack_require__(141);\n\nvar _handleEscapeMixin2 = _interopRequireDefault(_handleEscapeMixin);\n\nvar _utils = __webpack_require__(38);\n\nvar _dom = __webpack_require__(13);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n mixins: [_emitter2.default, _handleEscapeMixin2.default],\n\n props: {\n focused: {\n type: Boolean,\n default: false\n },\n value: {\n type: Object,\n default: undefined\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n this.unbindEventListeners();\n },\n created: function created() {\n var _this = this;\n\n if (this.focused) {\n setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this);\n return this.$el.focus();\n }.bind(this), 1);\n }\n },\n\n\n methods: {\n handleLeft: function handleLeft(e) {\n this.handleSlide(e, this.left, 'left');\n },\n handleRight: function handleRight(e) {\n this.handleSlide(e, this.right, 'right');\n },\n handleUp: function handleUp(e) {\n this.handleSlide(e, this.up, 'up');\n },\n handleDown: function handleDown(e) {\n this.handleSlide(e, this.down, 'down');\n },\n handleMouseDown: function handleMouseDown(e) {\n this.dispatch('ColorPicker', 'on-dragging', true);\n this.handleChange(e, true);\n\n (0, _dom.on)(window, 'mousemove', this.handleChange);\n (0, _dom.on)(window, 'mouseup', this.handleMouseUp);\n },\n handleMouseUp: function handleMouseUp() {\n this.unbindEventListeners();\n },\n unbindEventListeners: function unbindEventListeners() {\n var _this2 = this;\n\n (0, _dom.off)(window, 'mousemove', this.handleChange);\n (0, _dom.off)(window, 'mouseup', this.handleMouseUp);\n\n setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this2);\n return this.dispatch('ColorPicker', 'on-dragging', false);\n }.bind(this), 1);\n },\n getLeft: function getLeft(e) {\n var container = this.$refs.container;\n\n var xOffset = container.getBoundingClientRect().left + window.pageXOffset;\n var pageX = e.pageX || (0, _utils.getTouches)(e, 'PageX');\n\n return pageX - xOffset;\n },\n getTop: function getTop(e) {\n var container = this.$refs.container;\n\n var yOffset = container.getBoundingClientRect().top + window.pageYOffset;\n var pageY = e.pageY || (0, _utils.getTouches)(e, 'PageY');\n\n return pageY - yOffset;\n }\n }\n};\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _util = __webpack_require__(17);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'PanelTable',\n props: {\n tableDate: {\n type: Date,\n required: true\n },\n disabledDate: {\n type: Function\n },\n selectionMode: {\n type: String,\n required: true\n },\n value: {\n type: Array,\n required: true\n },\n rangeState: {\n type: Object,\n default: function _default() {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return {\n from: null,\n to: null,\n selecting: false\n };\n }.bind(undefined)\n },\n focusedDate: {\n type: Date,\n required: true\n }\n },\n computed: {\n dates: function dates() {\n var selectionMode = this.selectionMode,\n value = this.value,\n rangeState = this.rangeState;\n\n var rangeSelecting = selectionMode === 'range' && rangeState.selecting;\n return rangeSelecting ? [rangeState.from] : value;\n }\n },\n methods: {\n handleClick: function handleClick(cell) {\n if (cell.disabled || cell.type === 'weekLabel') return;\n var newDate = new Date((0, _util.clearHours)(cell.date));\n\n this.$emit('on-pick', newDate);\n this.$emit('on-pick-click');\n },\n handleMouseMove: function handleMouseMove(cell) {\n if (!this.rangeState.selecting) return;\n if (cell.disabled) return;\n var newDate = cell.date;\n this.$emit('on-change-range', newDate);\n }\n }\n};\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = 'ivu-date-picker-cells';\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _from = __webpack_require__(101);\n\nvar _from2 = _interopRequireDefault(_from);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n methods: {\n checkScrollBar: function checkScrollBar() {\n var fullWindowWidth = window.innerWidth;\n if (!fullWindowWidth) {\n var documentElementRect = document.documentElement.getBoundingClientRect();\n fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left);\n }\n this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth;\n if (this.bodyIsOverflowing) {\n this.scrollBarWidth = (0, _assist.getScrollBarSize)();\n }\n },\n checkMaskInVisible: function checkMaskInVisible() {\n var _this = this;\n\n var masks = document.getElementsByClassName('ivu-modal-mask') || [];\n return (0, _from2.default)(masks).every(function (m) {\n (0, _newArrowCheck3.default)(this, _this);\n return m.style.display === 'none' || m.classList.contains('fade-leave-to');\n }.bind(this));\n },\n setScrollBar: function setScrollBar() {\n if (this.bodyIsOverflowing && this.scrollBarWidth !== undefined) {\n document.body.style.paddingRight = String(this.scrollBarWidth) + 'px';\n }\n },\n resetScrollBar: function resetScrollBar() {\n document.body.style.paddingRight = '';\n },\n addScrollEffect: function addScrollEffect() {\n this.checkScrollBar();\n this.setScrollBar();\n document.body.style.overflow = 'hidden';\n },\n removeScrollEffect: function removeScrollEffect() {\n if (this.checkMaskInVisible()) {\n document.body.style.overflow = '';\n this.resetScrollBar();\n }\n }\n }\n};\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = __webpack_require__(49);\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_spin_vue__ = __webpack_require__(188);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_spin_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_spin_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_spin_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_spin_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_38ac6ee9_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_spin_vue__ = __webpack_require__(477);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_38ac6ee9_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_spin_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_38ac6ee9_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_spin_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_spin_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_38ac6ee9_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_spin_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_38ac6ee9_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_spin_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assist = __webpack_require__(3);\n\nexports.default = {\n data: function data() {\n return {\n menu: (0, _assist.findComponentUpward)(this, 'Menu')\n };\n },\n\n computed: {\n hasParentSubmenu: function hasParentSubmenu() {\n return !!(0, _assist.findComponentUpward)(this, 'Submenu');\n },\n parentSubmenuNum: function parentSubmenuNum() {\n return (0, _assist.findComponentsUpward)(this, 'Submenu').length;\n },\n mode: function mode() {\n return this.menu.mode;\n }\n }\n};\n\n/***/ }),\n/* 83 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tooltip_vue__ = __webpack_require__(218);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tooltip_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tooltip_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tooltip_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tooltip_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_c40d5ff2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_tooltip_vue__ = __webpack_require__(539);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_c40d5ff2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_tooltip_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_c40d5ff2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_tooltip_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tooltip_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_c40d5ff2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_tooltip_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_c40d5ff2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_tooltip_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar forEach = __webpack_require__(219).forEach;\nvar elementUtilsMaker = __webpack_require__(540);\nvar listenerHandlerMaker = __webpack_require__(541);\nvar idGeneratorMaker = __webpack_require__(542);\nvar idHandlerMaker = __webpack_require__(543);\nvar reporterMaker = __webpack_require__(544);\nvar browserDetector = __webpack_require__(220);\nvar batchProcessorMaker = __webpack_require__(545);\nvar stateHandler = __webpack_require__(547);\n\n//Detection strategies.\nvar objectStrategyMaker = __webpack_require__(548);\nvar scrollStrategyMaker = __webpack_require__(549);\n\nfunction isCollection(obj) {\n return Array.isArray(obj) || obj.length !== undefined;\n}\n\nfunction toArray(collection) {\n if (!Array.isArray(collection)) {\n var array = [];\n forEach(collection, function (obj) {\n array.push(obj);\n });\n return array;\n } else {\n return collection;\n }\n}\n\nfunction isElement(obj) {\n return obj && obj.nodeType === 1;\n}\n\n/**\n * @typedef idHandler\n * @type {object}\n * @property {function} get Gets the resize detector id of the element.\n * @property {function} set Generate and sets the resize detector id of the element.\n */\n\n/**\n * @typedef Options\n * @type {object}\n * @property {boolean} callOnAdd Determines if listeners should be called when they are getting added.\n Default is true. If true, the listener is guaranteed to be called when it has been added.\n If false, the listener will not be guarenteed to be called when it has been added (does not prevent it from being called).\n * @property {idHandler} idHandler A custom id handler that is responsible for generating, setting and retrieving id's for elements.\n If not provided, a default id handler will be used.\n * @property {reporter} reporter A custom reporter that handles reporting logs, warnings and errors.\n If not provided, a default id handler will be used.\n If set to false, then nothing will be reported.\n * @property {boolean} debug If set to true, the the system will report debug messages as default for the listenTo method.\n */\n\n/**\n * Creates an element resize detector instance.\n * @public\n * @param {Options?} options Optional global options object that will decide how this instance will work.\n */\nmodule.exports = function(options) {\n options = options || {};\n\n //idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var idHandler;\n\n if (options.idHandler) {\n // To maintain compatability with idHandler.get(element, readonly), make sure to wrap the given idHandler\n // so that readonly flag always is true when it's used here. This may be removed next major version bump.\n idHandler = {\n get: function (element) { return options.idHandler.get(element, true); },\n set: options.idHandler.set\n };\n } else {\n var idGenerator = idGeneratorMaker();\n var defaultIdHandler = idHandlerMaker({\n idGenerator: idGenerator,\n stateHandler: stateHandler\n });\n idHandler = defaultIdHandler;\n }\n\n //reporter is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var reporter = options.reporter;\n\n if(!reporter) {\n //If options.reporter is false, then the reporter should be quiet.\n var quiet = reporter === false;\n reporter = reporterMaker(quiet);\n }\n\n //batchProcessor is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var batchProcessor = getOption(options, \"batchProcessor\", batchProcessorMaker({ reporter: reporter }));\n\n //Options to be used as default for the listenTo function.\n var globalOptions = {};\n globalOptions.callOnAdd = !!getOption(options, \"callOnAdd\", true);\n globalOptions.debug = !!getOption(options, \"debug\", false);\n\n var eventListenerHandler = listenerHandlerMaker(idHandler);\n var elementUtils = elementUtilsMaker({\n stateHandler: stateHandler\n });\n\n //The detection strategy to be used.\n var detectionStrategy;\n var desiredStrategy = getOption(options, \"strategy\", \"object\");\n var importantCssRules = getOption(options, \"important\", false);\n var strategyOptions = {\n reporter: reporter,\n batchProcessor: batchProcessor,\n stateHandler: stateHandler,\n idHandler: idHandler,\n important: importantCssRules\n };\n\n if(desiredStrategy === \"scroll\") {\n if (browserDetector.isLegacyOpera()) {\n reporter.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\");\n desiredStrategy = \"object\";\n } else if (browserDetector.isIE(9)) {\n reporter.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\");\n desiredStrategy = \"object\";\n }\n }\n\n if(desiredStrategy === \"scroll\") {\n detectionStrategy = scrollStrategyMaker(strategyOptions);\n } else if(desiredStrategy === \"object\") {\n detectionStrategy = objectStrategyMaker(strategyOptions);\n } else {\n throw new Error(\"Invalid strategy name: \" + desiredStrategy);\n }\n\n //Calls can be made to listenTo with elements that are still being installed.\n //Also, same elements can occur in the elements list in the listenTo function.\n //With this map, the ready callbacks can be synchronized between the calls\n //so that the ready callback can always be called when an element is ready - even if\n //it wasn't installed from the function itself.\n var onReadyCallbacks = {};\n\n /**\n * Makes the given elements resize-detectable and starts listening to resize events on the elements. Calls the event callback for each event for each element.\n * @public\n * @param {Options?} options Optional options object. These options will override the global options. Some options may not be overriden, such as idHandler.\n * @param {element[]|element} elements The given array of elements to detect resize events of. Single element is also valid.\n * @param {function} listener The callback to be executed for each resize event for each element.\n */\n function listenTo(options, elements, listener) {\n function onResizeCallback(element) {\n var listeners = eventListenerHandler.get(element);\n forEach(listeners, function callListenerProxy(listener) {\n listener(element);\n });\n }\n\n function addListener(callOnAdd, element, listener) {\n eventListenerHandler.add(element, listener);\n\n if(callOnAdd) {\n listener(element);\n }\n }\n\n //Options object may be omitted.\n if(!listener) {\n listener = elements;\n elements = options;\n options = {};\n }\n\n if(!elements) {\n throw new Error(\"At least one element required.\");\n }\n\n if(!listener) {\n throw new Error(\"Listener required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n var elementsReady = 0;\n\n var callOnAdd = getOption(options, \"callOnAdd\", globalOptions.callOnAdd);\n var onReadyCallback = getOption(options, \"onReady\", function noop() {});\n var debug = getOption(options, \"debug\", globalOptions.debug);\n\n forEach(elements, function attachListenerToElement(element) {\n if (!stateHandler.getState(element)) {\n stateHandler.initState(element);\n idHandler.set(element);\n }\n\n var id = idHandler.get(element);\n\n debug && reporter.log(\"Attaching listener to element\", id, element);\n\n if(!elementUtils.isDetectable(element)) {\n debug && reporter.log(id, \"Not detectable.\");\n if(elementUtils.isBusy(element)) {\n debug && reporter.log(id, \"System busy making it detectable\");\n\n //The element is being prepared to be detectable. Do not make it detectable.\n //Just add the listener, because the element will soon be detectable.\n addListener(callOnAdd, element, listener);\n onReadyCallbacks[id] = onReadyCallbacks[id] || [];\n onReadyCallbacks[id].push(function onReady() {\n elementsReady++;\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n return;\n }\n\n debug && reporter.log(id, \"Making detectable...\");\n //The element is not prepared to be detectable, so do prepare it and add a listener to it.\n elementUtils.markBusy(element, true);\n return detectionStrategy.makeDetectable({ debug: debug, important: importantCssRules }, element, function onElementDetectable(element) {\n debug && reporter.log(id, \"onElementDetectable\");\n\n if (stateHandler.getState(element)) {\n elementUtils.markAsDetectable(element);\n elementUtils.markBusy(element, false);\n detectionStrategy.addListener(element, onResizeCallback);\n addListener(callOnAdd, element, listener);\n\n // Since the element size might have changed since the call to \"listenTo\", we need to check for this change,\n // so that a resize event may be emitted.\n // Having the startSize object is optional (since it does not make sense in some cases such as unrendered elements), so check for its existance before.\n // Also, check the state existance before since the element may have been uninstalled in the installation process.\n var state = stateHandler.getState(element);\n if (state && state.startSize) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (state.startSize.width !== width || state.startSize.height !== height) {\n onResizeCallback(element);\n }\n }\n\n if(onReadyCallbacks[id]) {\n forEach(onReadyCallbacks[id], function(callback) {\n callback();\n });\n }\n } else {\n // The element has been unisntalled before being detectable.\n debug && reporter.log(id, \"Element uninstalled before being detectable.\");\n }\n\n delete onReadyCallbacks[id];\n\n elementsReady++;\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n }\n\n debug && reporter.log(id, \"Already detecable, adding listener.\");\n\n //The element has been prepared to be detectable and is ready to be listened to.\n addListener(callOnAdd, element, listener);\n elementsReady++;\n });\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n }\n\n function uninstall(elements) {\n if(!elements) {\n return reporter.error(\"At least one element is required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n forEach(elements, function (element) {\n eventListenerHandler.removeAllListeners(element);\n detectionStrategy.uninstall(element);\n stateHandler.cleanState(element);\n });\n }\n\n function initDocument(targetDocument) {\n detectionStrategy.initDocument && detectionStrategy.initDocument(targetDocument);\n }\n\n return {\n listenTo: listenTo,\n removeListener: eventListenerHandler.removeListener,\n removeAllListeners: eventListenerHandler.removeAllListeners,\n uninstall: uninstall,\n initDocument: initDocument\n };\n};\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(26);\nvar toIObject = __webpack_require__(29);\nvar arrayIndexOf = __webpack_require__(251)(false);\nvar IE_PROTO = __webpack_require__(62)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(41);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(6);\nvar fails = __webpack_require__(30);\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(22) && !__webpack_require__(30)(function () {\n return Object.defineProperty(__webpack_require__(65)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _dom = __webpack_require__(13);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-affix';\n\nfunction getScroll(target, top) {\n var prop = top ? 'pageYOffset' : 'pageXOffset';\n var method = top ? 'scrollTop' : 'scrollLeft';\n\n var ret = target[prop];\n\n if (typeof ret !== 'number') {\n ret = window.document.documentElement[method];\n }\n\n return ret;\n}\n\nfunction getOffset(element) {\n var rect = element.getBoundingClientRect();\n\n var scrollTop = getScroll(window, true);\n var scrollLeft = getScroll(window);\n\n var docEl = window.document.body;\n var clientTop = docEl.clientTop || 0;\n var clientLeft = docEl.clientLeft || 0;\n\n return {\n top: rect.top + scrollTop - clientTop,\n left: rect.left + scrollLeft - clientLeft\n };\n}\n\nexports.default = {\n name: 'Affix',\n props: {\n offsetTop: {\n type: Number,\n default: 0\n },\n offsetBottom: {\n type: Number\n }\n },\n data: function data() {\n return {\n affix: false,\n styles: {},\n slot: false,\n slotStyle: {}\n };\n },\n\n computed: {\n offsetType: function offsetType() {\n var type = 'top';\n if (this.offsetBottom >= 0) {\n type = 'bottom';\n }\n\n return type;\n },\n classes: function classes() {\n return [(0, _defineProperty3.default)({}, '' + prefixCls, this.affix)];\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n (0, _dom.on)(window, 'scroll', this.handleScroll);\n (0, _dom.on)(window, 'resize', this.handleScroll);\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.handleScroll();\n }.bind(this));\n },\n beforeDestroy: function beforeDestroy() {\n (0, _dom.off)(window, 'scroll', this.handleScroll);\n (0, _dom.off)(window, 'resize', this.handleScroll);\n },\n\n methods: {\n handleScroll: function handleScroll() {\n var affix = this.affix;\n var scrollTop = getScroll(window, true);\n var elOffset = getOffset(this.$el);\n var windowHeight = window.innerHeight;\n var elHeight = this.$el.getElementsByTagName('div')[0].offsetHeight;\n\n if (elOffset.top - this.offsetTop < scrollTop && this.offsetType == 'top' && !affix) {\n this.affix = true;\n this.slotStyle = {\n width: this.$refs.point.clientWidth + 'px',\n height: this.$refs.point.clientHeight + 'px'\n };\n this.slot = true;\n this.styles = {\n top: String(this.offsetTop) + 'px',\n left: String(elOffset.left) + 'px',\n width: String(this.$el.offsetWidth) + 'px'\n };\n\n this.$emit('on-change', true);\n } else if (elOffset.top - this.offsetTop > scrollTop && this.offsetType == 'top' && affix) {\n this.slot = false;\n this.slotStyle = {};\n this.affix = false;\n this.styles = null;\n\n this.$emit('on-change', false);\n }\n\n if (elOffset.top + this.offsetBottom + elHeight > scrollTop + windowHeight && this.offsetType == 'bottom' && !affix) {\n this.affix = true;\n this.styles = {\n bottom: String(this.offsetBottom) + 'px',\n left: String(elOffset.left) + 'px',\n width: String(this.$el.offsetWidth) + 'px'\n };\n\n this.$emit('on-change', true);\n } else if (elOffset.top + this.offsetBottom + elHeight < scrollTop + windowHeight && this.offsetType == 'bottom' && affix) {\n this.affix = false;\n this.styles = null;\n\n this.$emit('on-change', false);\n }\n }\n }\n};\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _icon = __webpack_require__(20);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-alert';\n\nexports.default = {\n name: 'Alert',\n components: { Icon: _icon2.default },\n props: {\n type: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['success', 'info', 'warning', 'error']);\n },\n\n default: 'info'\n },\n closable: {\n type: Boolean,\n default: false\n },\n showIcon: {\n type: Boolean,\n default: false\n },\n banner: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n closed: false,\n desc: false\n };\n },\n\n computed: {\n wrapClasses: function wrapClasses() {\n var _ref;\n\n return ['' + prefixCls, prefixCls + '-' + String(this.type), (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-with-icon', this.showIcon), (0, _defineProperty3.default)(_ref, prefixCls + '-with-desc', this.desc), (0, _defineProperty3.default)(_ref, prefixCls + '-with-banner', this.banner), _ref)];\n },\n messageClasses: function messageClasses() {\n return prefixCls + '-message';\n },\n descClasses: function descClasses() {\n return prefixCls + '-desc';\n },\n closeClasses: function closeClasses() {\n return prefixCls + '-close';\n },\n iconClasses: function iconClasses() {\n return prefixCls + '-icon';\n },\n iconType: function iconType() {\n var type = '';\n\n switch (this.type) {\n case 'success':\n type = 'ios-checkmark-circle';\n break;\n case 'info':\n type = 'ios-information-circle';\n break;\n case 'warning':\n type = 'ios-alert';\n break;\n case 'error':\n type = 'ios-close-circle';\n break;\n }\n\n if (this.desc) type += '-outline';\n return type;\n }\n },\n methods: {\n close: function close(e) {\n this.closed = true;\n this.$emit('on-close', e);\n }\n },\n mounted: function mounted() {\n this.desc = this.$slots.desc !== undefined;\n }\n};\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-icon';\n\nexports.default = {\n name: 'Icon',\n props: {\n type: {\n type: String,\n default: ''\n },\n size: [Number, String],\n color: String,\n custom: {\n type: String,\n default: ''\n }\n },\n computed: {\n classes: function classes() {\n var _ref;\n\n return ['' + prefixCls, (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-' + String(this.type), this.type !== ''), (0, _defineProperty3.default)(_ref, '' + String(this.custom), this.custom !== ''), _ref)];\n },\n styles: function styles() {\n var style = {};\n\n if (this.size) {\n style['font-size'] = String(this.size) + 'px';\n }\n\n if (this.color) {\n style.color = this.color;\n }\n\n return style;\n }\n },\n methods: {\n handleClick: function handleClick(event) {\n this.$emit('click', event);\n }\n }\n};\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(52);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(93);\nvar hide = __webpack_require__(27);\nvar Iterators = __webpack_require__(32);\nvar $iterCreate = __webpack_require__(269);\nvar setToStringTag = __webpack_require__(53);\nvar getPrototypeOf = __webpack_require__(96);\nvar ITERATOR = __webpack_require__(11)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(27);\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(19);\nvar dPs = __webpack_require__(270);\nvar enumBugKeys = __webpack_require__(64);\nvar IE_PROTO = __webpack_require__(62)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = __webpack_require__(65)('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __webpack_require__(95).appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(9).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(26);\nvar toObject = __webpack_require__(39);\nvar IE_PROTO = __webpack_require__(62)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _assist = __webpack_require__(3);\n\nvar _dom = __webpack_require__(13);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'Anchor',\n provide: function provide() {\n return {\n anchorCom: this\n };\n },\n data: function data() {\n return {\n prefix: 'ivu-anchor',\n isAffixed: false,\n inkTop: 0,\n animating: false,\n currentLink: '',\n currentId: '',\n scrollContainer: null,\n scrollElement: null,\n titlesOffsetArr: [],\n wrapperTop: 0,\n upperFirstTitle: true\n };\n },\n\n props: {\n affix: {\n type: Boolean,\n default: true\n },\n offsetTop: {\n type: Number,\n default: 0\n },\n offsetBottom: Number,\n bounds: {\n type: Number,\n default: 5\n },\n\n container: null,\n showInk: {\n type: Boolean,\n default: false\n },\n scrollOffset: {\n type: Number,\n default: 0\n }\n },\n computed: {\n wrapperComponent: function wrapperComponent() {\n return this.affix ? 'Affix' : 'div';\n },\n wrapperStyle: function wrapperStyle() {\n return {\n maxHeight: this.offsetTop ? 'calc(100vh - ' + String(this.offsetTop) + 'px)' : '100vh'\n };\n },\n containerIsWindow: function containerIsWindow() {\n return this.scrollContainer === window;\n }\n },\n methods: {\n handleAffixStateChange: function handleAffixStateChange(state) {\n this.isAffixed = this.affix && state;\n },\n handleScroll: function handleScroll(e) {\n this.upperFirstTitle = e.target.scrollTop < this.titlesOffsetArr[0].offset;\n if (this.animating) return;\n this.updateTitleOffset();\n var scrollTop = document.documentElement.scrollTop || document.body.scrollTop || e.target.scrollTop;\n this.getCurrentScrollAtTitleId(scrollTop);\n },\n handleHashChange: function handleHashChange() {\n var url = window.location.href;\n var sharpLinkMatch = _assist.sharpMatcherRegx.exec(url);\n if (!sharpLinkMatch) return;\n this.currentLink = sharpLinkMatch[0];\n this.currentId = sharpLinkMatch[1];\n },\n handleScrollTo: function handleScrollTo() {\n var _this = this;\n\n var anchor = document.getElementById(this.currentId);\n var currentLinkElementA = document.querySelector('a[data-href=\"' + String(this.currentLink) + '\"]');\n var offset = this.scrollOffset;\n if (currentLinkElementA) {\n offset = parseFloat(currentLinkElementA.getAttribute('data-scroll-offset'));\n }\n\n if (!anchor) return;\n var offsetTop = anchor.offsetTop - this.wrapperTop - offset;\n this.animating = true;\n (0, _assist.scrollTop)(this.scrollContainer, this.scrollElement.scrollTop, offsetTop, 600, function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.animating = false;\n }.bind(this));\n this.handleSetInkTop();\n },\n handleSetInkTop: function handleSetInkTop() {\n var currentLinkElementA = document.querySelector('a[data-href=\"' + String(this.currentLink) + '\"]');\n if (!currentLinkElementA) return;\n var elementATop = currentLinkElementA.offsetTop;\n var top = elementATop < 0 ? this.offsetTop : elementATop;\n this.inkTop = top;\n },\n updateTitleOffset: function updateTitleOffset() {\n var _this2 = this;\n\n var links = (0, _assist.findComponentsDownward)(this, 'AnchorLink').map(function (link) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n return link.href;\n }.bind(this));\n var idArr = links.map(function (link) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n return link.split('#')[1];\n }.bind(this));\n var offsetArr = [];\n idArr.forEach(function (id) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n var titleEle = document.getElementById(id);\n if (titleEle) offsetArr.push({\n link: '#' + String(id),\n offset: titleEle.offsetTop - this.scrollElement.offsetTop\n });\n }.bind(this));\n this.titlesOffsetArr = offsetArr;\n },\n getCurrentScrollAtTitleId: function getCurrentScrollAtTitleId(scrollTop) {\n var i = -1;\n var len = this.titlesOffsetArr.length;\n var titleItem = {\n link: '#',\n offset: 0\n };\n scrollTop += this.bounds;\n while (++i < len) {\n var currentEle = this.titlesOffsetArr[i];\n var nextEle = this.titlesOffsetArr[i + 1];\n if (scrollTop >= currentEle.offset && scrollTop < (nextEle && nextEle.offset || Infinity)) {\n titleItem = this.titlesOffsetArr[i];\n break;\n }\n }\n this.currentLink = titleItem.link;\n this.handleSetInkTop();\n },\n getContainer: function getContainer() {\n this.scrollContainer = this.container ? typeof this.container === 'string' ? document.querySelector(this.container) : this.container : window;\n this.scrollElement = this.container ? this.scrollContainer : document.documentElement || document.body;\n },\n removeListener: function removeListener() {\n (0, _dom.off)(this.scrollContainer, 'scroll', this.handleScroll);\n (0, _dom.off)(window, 'hashchange', this.handleHashChange);\n },\n init: function init() {\n var _this3 = this;\n\n this.handleHashChange();\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this3);\n\n this.removeListener();\n this.getContainer();\n this.wrapperTop = this.containerIsWindow ? 0 : this.scrollElement.offsetTop;\n this.handleScrollTo();\n this.handleSetInkTop();\n this.updateTitleOffset();\n if (this.titlesOffsetArr[0]) {\n this.upperFirstTitle = this.scrollElement.scrollTop < this.titlesOffsetArr[0].offset;\n }\n (0, _dom.on)(this.scrollContainer, 'scroll', this.handleScroll);\n (0, _dom.on)(window, 'hashchange', this.handleHashChange);\n }.bind(this));\n }\n },\n watch: {\n '$route': function $route() {\n var _this4 = this;\n\n this.handleHashChange();\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this4);\n\n this.handleScrollTo();\n }.bind(this));\n },\n container: function container() {\n this.init();\n },\n currentLink: function currentLink(newHref, oldHref) {\n this.$emit('on-change', newHref, oldHref);\n }\n },\n mounted: function mounted() {\n this.init();\n },\n beforeDestroy: function beforeDestroy() {\n this.removeListener();\n }\n};\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'AnchorLink',\n inject: ['anchorCom'],\n props: {\n href: String,\n title: String,\n scrollOffset: {\n type: Number,\n default: function _default() {\n return this.anchorCom.scrollOffset;\n }\n }\n },\n data: function data() {\n return {\n prefix: 'ivu-anchor-link'\n };\n },\n\n computed: {\n anchorLinkClasses: function anchorLinkClasses() {\n return [this.prefix, this.anchorCom.currentLink === this.href ? String(this.prefix) + '-active' : ''];\n },\n linkTitleClasses: function linkTitleClasses() {\n return [String(this.prefix) + '-title'];\n }\n },\n methods: {\n goAnchor: function goAnchor() {\n this.currentLink = this.href;\n this.anchorCom.handleHashChange();\n this.anchorCom.handleScrollTo();\n this.anchorCom.$emit('on-select', this.href);\n var isRoute = this.$router;\n if (isRoute) {\n this.$router.push(this.href);\n } else {\n window.location.href = this.href;\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.anchorCom.init();\n }.bind(this));\n }\n};\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _select = __webpack_require__(70);\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _option = __webpack_require__(74);\n\nvar _option2 = _interopRequireDefault(_option);\n\nvar _input = __webpack_require__(37);\n\nvar _input2 = _interopRequireDefault(_input);\n\nvar _assist = __webpack_require__(3);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'AutoComplete',\n mixins: [_emitter2.default],\n components: { iSelect: _select2.default, iOption: _option2.default, iInput: _input2.default },\n props: {\n value: {\n type: [String, Number],\n default: ''\n },\n label: {\n type: [String, Number],\n default: ''\n },\n data: {\n type: Array,\n default: function _default() {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return [];\n }.bind(undefined)\n },\n disabled: {\n type: Boolean,\n default: false\n },\n clearable: {\n type: Boolean,\n default: false\n },\n placeholder: {\n type: String\n },\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small', 'large', 'default']);\n },\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.size === '' ? 'default' : this.$IVIEW.size;\n }\n },\n icon: {\n type: String\n },\n filterMethod: {\n type: [Function, Boolean],\n default: false\n },\n placement: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['top', 'bottom']);\n },\n\n default: 'bottom'\n },\n transfer: {\n type: Boolean,\n default: function _default() {\n return this.$IVIEW.transfer === '' ? false : this.$IVIEW.transfer;\n }\n },\n name: {\n type: String\n },\n elementId: {\n type: String\n }\n },\n data: function data() {\n return {\n currentValue: this.value,\n disableEmitChange: false };\n },\n\n computed: {\n inputIcon: function inputIcon() {\n var icon = '';\n\n if (this.clearable && this.currentValue && !this.disabled) {\n icon = 'ios-close';\n } else if (this.icon) {\n icon = this.icon;\n }\n return icon;\n },\n filteredData: function filteredData() {\n var _this = this;\n\n if (this.filterMethod) {\n return this.data.filter(function (item) {\n (0, _newArrowCheck3.default)(this, _this);\n return this.filterMethod(this.currentValue, item);\n }.bind(this));\n } else {\n return this.data;\n }\n }\n },\n watch: {\n value: function value(val) {\n if (this.currentValue !== val) {\n this.disableEmitChange = true;\n }\n this.currentValue = val;\n },\n currentValue: function currentValue(val) {\n this.$refs.select.setQuery(val);\n this.$emit('input', val);\n if (this.disableEmitChange) {\n this.disableEmitChange = false;\n return;\n }\n this.$emit('on-change', val);\n this.dispatch('FormItem', 'on-form-change', val);\n }\n },\n methods: {\n remoteMethod: function remoteMethod(query) {\n this.$emit('on-search', query);\n },\n handleChange: function handleChange(val) {\n if (val === undefined || val === null) return;\n this.currentValue = val;\n this.$refs.input.blur();\n this.$emit('on-select', val);\n },\n handleFocus: function handleFocus(event) {\n this.$emit('on-focus', event);\n },\n handleBlur: function handleBlur(event) {\n this.$emit('on-blur', event);\n },\n handleClear: function handleClear() {\n if (!this.clearable) return;\n this.currentValue = '';\n this.$refs.select.reset();\n this.$emit('on-clear');\n },\n handleClickOutside: function handleClickOutside() {\n var _this2 = this;\n\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this2);\n\n this.$refs.input.blur();\n }.bind(this));\n }\n }\n};\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray2 = __webpack_require__(23);\n\nvar _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\nvar _isFinite = __webpack_require__(71);\n\nvar _isFinite2 = _interopRequireDefault(_isFinite);\n\nvar _getIterator2 = __webpack_require__(44);\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nvar _stringify = __webpack_require__(54);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _extends3 = __webpack_require__(31);\n\nvar _extends4 = _interopRequireDefault(_extends3);\n\nvar _toConsumableArray2 = __webpack_require__(16);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _dropdown = __webpack_require__(33);\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nvar _vClickOutsideX = __webpack_require__(35);\n\nvar _transferDom = __webpack_require__(21);\n\nvar _transferDom2 = _interopRequireDefault(_transferDom);\n\nvar _assist = __webpack_require__(3);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nvar _selectHead = __webpack_require__(312);\n\nvar _selectHead2 = _interopRequireDefault(_selectHead);\n\nvar _functionalOptions = __webpack_require__(314);\n\nvar _functionalOptions2 = _interopRequireDefault(_functionalOptions);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-select';\nvar optionRegexp = /^i-option$|^Option$/i;\nvar optionGroupRegexp = /option-?group/i;\n\nvar findChild = function (instance, checkFn) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var match = checkFn(instance);\n if (match) return instance;\n for (var i = 0, l = instance.$children.length; i < l; i++) {\n var child = instance.$children[i];\n match = findChild(child, checkFn);\n if (match) return match;\n }\n}.bind(undefined);\n\nvar findOptionsInVNode = function (node) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var opts = node.componentOptions;\n if (opts && opts.tag.match(optionRegexp)) return [node];\n if (!node.children && (!opts || !opts.children)) return [];\n var children = [].concat((0, _toConsumableArray3.default)(node.children || []), (0, _toConsumableArray3.default)(opts && opts.children || []));\n var options = children.reduce(function (arr, el) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return [].concat((0, _toConsumableArray3.default)(arr), (0, _toConsumableArray3.default)(findOptionsInVNode(el)));\n }.bind(undefined), []).filter(Boolean);\n return options.length > 0 ? options : [];\n}.bind(undefined);\n\nvar extractOptions = function (options) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return options.reduce(function (options, slotEntry) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n return options.concat(findOptionsInVNode(slotEntry));\n }.bind(undefined), []);\n}.bind(undefined);\n\nvar applyProp = function (node, propName, value) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n return (0, _extends4.default)({}, node, {\n componentOptions: (0, _extends4.default)({}, node.componentOptions, {\n propsData: (0, _extends4.default)({}, node.componentOptions.propsData, (0, _defineProperty3.default)({}, propName, value))\n })\n });\n}.bind(undefined);\n\nvar getNestedProperty = function (obj, path) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var keys = path.split('.');\n return keys.reduce(function (o, key) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return o && o[key] || null;\n }.bind(undefined), obj);\n}.bind(undefined);\n\nvar getOptionLabel = function (option) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n if (option.componentOptions.propsData.label) return option.componentOptions.propsData.label;\n var textContent = (option.componentOptions.children || []).reduce(function (str, child) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return str + (child.text || '');\n }.bind(undefined), '');\n var innerHTML = getNestedProperty(option, 'data.domProps.innerHTML');\n return textContent || (typeof innerHTML === 'string' ? innerHTML : '');\n}.bind(undefined);\n\nvar checkValuesNotEqual = function (value, publicValue, values) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var strValue = (0, _stringify2.default)(value);\n var strPublic = (0, _stringify2.default)(publicValue);\n var strValues = (0, _stringify2.default)(values.map(function (item) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n return item.value;\n }.bind(undefined)));\n return strValue !== strPublic || strValue !== strValues || strValues !== strPublic;\n}.bind(undefined);\n\nvar ANIMATION_TIMEOUT = 300;\n\nexports.default = {\n name: 'iSelect',\n mixins: [_emitter2.default, _locale2.default],\n components: { FunctionalOptions: _functionalOptions2.default, Drop: _dropdown2.default, SelectHead: _selectHead2.default },\n directives: { clickOutside: _vClickOutsideX.directive, TransferDom: _transferDom2.default },\n props: {\n value: {\n type: [String, Number, Array],\n default: ''\n },\n\n label: {\n type: [String, Number, Array],\n default: ''\n },\n multiple: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n clearable: {\n type: Boolean,\n default: false\n },\n placeholder: {\n type: String\n },\n filterable: {\n type: Boolean,\n default: false\n },\n filterMethod: {\n type: Function\n },\n remoteMethod: {\n type: Function\n },\n loading: {\n type: Boolean,\n default: false\n },\n loadingText: {\n type: String\n },\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small', 'large', 'default']);\n },\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.size === '' ? 'default' : this.$IVIEW.size;\n }\n },\n labelInValue: {\n type: Boolean,\n default: false\n },\n notFoundText: {\n type: String\n },\n placement: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['top', 'bottom', 'top-start', 'bottom-start', 'top-end', 'bottom-end']);\n },\n\n default: 'bottom-start'\n },\n transfer: {\n type: Boolean,\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.transfer === '' ? false : this.$IVIEW.transfer;\n }\n },\n\n autoComplete: {\n type: Boolean,\n default: false\n },\n name: {\n type: String\n },\n elementId: {\n type: String\n },\n transferClassName: {\n type: String\n },\n\n prefix: {\n type: String\n },\n\n maxTagCount: {\n type: Number\n },\n\n maxTagPlaceholder: {\n type: Function\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$on('on-select-selected', this.onOptionClick);\n\n if (!this.remote && this.selectOptions.length > 0) {\n this.values = this.getInitialValue().map(function (value) {\n (0, _newArrowCheck3.default)(this, _this);\n\n if (typeof value !== 'number' && !value) return null;\n return this.getOptionData(value);\n }.bind(this)).filter(Boolean);\n }\n\n this.checkUpdateStatus();\n },\n data: function data() {\n\n return {\n prefixCls: prefixCls,\n values: [],\n dropDownWidth: 0,\n visible: false,\n focusIndex: -1,\n isFocused: false,\n query: '',\n initialLabel: this.label,\n hasMouseHoverHead: false,\n slotOptions: this.$slots.default,\n caretPosition: -1,\n lastRemoteQuery: '',\n unchangedQuery: true,\n hasExpectedValue: false,\n preventRemoteCall: false,\n filterQueryChange: false };\n },\n\n computed: {\n classes: function classes() {\n var _ref;\n\n return ['' + prefixCls, (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-visible', this.visible), (0, _defineProperty3.default)(_ref, prefixCls + '-disabled', this.disabled), (0, _defineProperty3.default)(_ref, prefixCls + '-multiple', this.multiple), (0, _defineProperty3.default)(_ref, prefixCls + '-single', !this.multiple), (0, _defineProperty3.default)(_ref, prefixCls + '-show-clear', this.showCloseIcon), (0, _defineProperty3.default)(_ref, prefixCls + '-' + String(this.size), !!this.size), _ref)];\n },\n dropdownCls: function dropdownCls() {\n var _ref2;\n\n return _ref2 = {}, (0, _defineProperty3.default)(_ref2, prefixCls + '-dropdown-transfer', this.transfer), (0, _defineProperty3.default)(_ref2, prefixCls + '-multiple', this.multiple && this.transfer), (0, _defineProperty3.default)(_ref2, 'ivu-auto-complete', this.autoComplete), (0, _defineProperty3.default)(_ref2, this.transferClassName, this.transferClassName), _ref2;\n },\n selectionCls: function selectionCls() {\n var _ref3;\n\n return _ref3 = {}, (0, _defineProperty3.default)(_ref3, prefixCls + '-selection', !this.autoComplete), (0, _defineProperty3.default)(_ref3, prefixCls + '-selection-focused', this.isFocused), _ref3;\n },\n localeNotFoundText: function localeNotFoundText() {\n if (typeof this.notFoundText === 'undefined') {\n return this.t('i.select.noMatch');\n } else {\n return this.notFoundText;\n }\n },\n localeLoadingText: function localeLoadingText() {\n if (typeof this.loadingText === 'undefined') {\n return this.t('i.select.loading');\n } else {\n return this.loadingText;\n }\n },\n transitionName: function transitionName() {\n return this.placement === 'bottom' ? 'slide-up' : 'slide-down';\n },\n dropVisible: function dropVisible() {\n var status = true;\n var noOptions = !this.selectOptions || this.selectOptions.length === 0;\n if (!this.loading && this.remote && this.query === '' && noOptions) status = false;\n\n if (this.autoComplete && noOptions) status = false;\n\n return this.visible && status;\n },\n showNotFoundLabel: function showNotFoundLabel() {\n var loading = this.loading,\n remote = this.remote,\n selectOptions = this.selectOptions;\n\n return selectOptions && selectOptions.length === 0 && (!remote || remote && !loading);\n },\n publicValue: function publicValue() {\n var _this2 = this;\n\n if (this.labelInValue) {\n return this.multiple ? this.values : this.values[0];\n } else {\n return this.multiple ? this.values.map(function (option) {\n (0, _newArrowCheck3.default)(this, _this2);\n return option.value;\n }.bind(this)) : (this.values[0] || {}).value;\n }\n },\n canBeCleared: function canBeCleared() {\n var uiStateMatch = this.hasMouseHoverHead || this.active;\n var qualifiesForClear = !this.multiple && !this.disabled && this.clearable;\n return uiStateMatch && qualifiesForClear && this.reset;\n },\n selectOptions: function selectOptions() {\n var _this3 = this;\n\n var selectOptions = [];\n var slotOptions = this.slotOptions || [];\n var optionCounter = -1;\n var currentIndex = this.focusIndex;\n var selectedValues = this.values.filter(Boolean).map(function (_ref4) {\n var value = _ref4.value;\n (0, _newArrowCheck3.default)(this, _this3);\n return value;\n }.bind(this));\n if (this.autoComplete) {\n var copyChildren = function (node, fn) {\n (0, _newArrowCheck3.default)(this, _this3);\n\n return (0, _extends4.default)({}, node, {\n children: (node.children || []).map(fn).map(function (child) {\n (0, _newArrowCheck3.default)(this, _this3);\n return copyChildren(child, fn);\n }.bind(this))\n });\n }.bind(this);\n var autoCompleteOptions = extractOptions(slotOptions);\n var selectedSlotOption = autoCompleteOptions[currentIndex];\n\n return slotOptions.map(function (node) {\n (0, _newArrowCheck3.default)(this, _this3);\n\n if (node === selectedSlotOption || getNestedProperty(node, 'componentOptions.propsData.value') === this.value) return applyProp(node, 'isFocused', true);\n return copyChildren(node, function (child) {\n (0, _newArrowCheck3.default)(this, _this3);\n\n if (child !== selectedSlotOption) return child;\n return applyProp(child, 'isFocused', true);\n }.bind(this));\n }.bind(this));\n }\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = (0, _getIterator3.default)(slotOptions), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var option = _step.value;\n\n\n var cOptions = option.componentOptions;\n if (!cOptions) continue;\n if (cOptions.tag.match(optionGroupRegexp)) {\n var children = cOptions.children;\n\n if (this.filterable) {\n children = children.filter(function (_ref5) {\n var componentOptions = _ref5.componentOptions;\n (0, _newArrowCheck3.default)(this, _this3);\n return this.validateOption(componentOptions);\n }.bind(this));\n }\n\n children = children.map(function (opt) {\n (0, _newArrowCheck3.default)(this, _this3);\n\n optionCounter = optionCounter + 1;\n return this.processOption(opt, selectedValues, optionCounter === currentIndex);\n }.bind(this));\n\n if (children.length > 0) selectOptions.push((0, _extends4.default)({}, option, { componentOptions: (0, _extends4.default)({}, cOptions, { children: children }) }));\n } else {\n if (this.filterQueryChange) {\n var optionPassesFilter = this.filterable ? this.validateOption(cOptions) : option;\n if (!optionPassesFilter) continue;\n }\n\n optionCounter = optionCounter + 1;\n selectOptions.push(this.processOption(option, selectedValues, optionCounter === currentIndex));\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return selectOptions;\n },\n flatOptions: function flatOptions() {\n return extractOptions(this.selectOptions);\n },\n selectTabindex: function selectTabindex() {\n return this.disabled || this.filterable ? -1 : 0;\n },\n remote: function remote() {\n return typeof this.remoteMethod === 'function';\n }\n },\n methods: {\n setQuery: function setQuery(query) {\n if (query) {\n this.onQueryChange(query);\n return;\n }\n if (query === null) {\n this.onQueryChange('');\n this.values = [];\n\n this.lastRemoteQuery = '';\n }\n },\n clearSingleSelect: function clearSingleSelect() {\n this.$emit('on-clear');\n this.hideMenu();\n if (this.clearable) this.reset();\n },\n getOptionData: function getOptionData(value) {\n var _this4 = this;\n\n var option = this.flatOptions.find(function (_ref6) {\n var componentOptions = _ref6.componentOptions;\n (0, _newArrowCheck3.default)(this, _this4);\n return componentOptions.propsData.value === value;\n }.bind(this));\n if (!option) return null;\n var label = getOptionLabel(option);\n return {\n value: value,\n label: label\n };\n },\n getInitialValue: function getInitialValue() {\n var _this5 = this;\n\n var multiple = this.multiple,\n remote = this.remote,\n value = this.value;\n\n var initialValue = Array.isArray(value) ? value : [value];\n if (!multiple && (typeof initialValue[0] === 'undefined' || String(initialValue[0]).trim() === '' && !(0, _isFinite2.default)(initialValue[0]))) initialValue = [];\n if (remote && !multiple && value) {\n var data = this.getOptionData(value);\n this.query = data ? data.label : String(value);\n }\n return initialValue.filter(function (item) {\n (0, _newArrowCheck3.default)(this, _this5);\n\n return Boolean(item) || item === 0;\n }.bind(this));\n },\n processOption: function processOption(option, values, isFocused) {\n if (!option.componentOptions) return option;\n var optionValue = option.componentOptions.propsData.value;\n var disabled = option.componentOptions.propsData.disabled;\n var isSelected = values.includes(optionValue);\n\n var propsData = (0, _extends4.default)({}, option.componentOptions.propsData, {\n selected: isSelected,\n isFocused: isFocused,\n disabled: typeof disabled === 'undefined' ? false : disabled !== false\n });\n\n return (0, _extends4.default)({}, option, {\n componentOptions: (0, _extends4.default)({}, option.componentOptions, {\n propsData: propsData\n })\n });\n },\n validateOption: function validateOption(_ref7) {\n var _this6 = this;\n\n var children = _ref7.children,\n elm = _ref7.elm,\n propsData = _ref7.propsData;\n\n var value = propsData.value;\n var label = propsData.label || '';\n var textContent = elm && elm.textContent || (children || []).reduce(function (str, node) {\n (0, _newArrowCheck3.default)(this, _this6);\n\n var nodeText = node.elm ? node.elm.textContent : node.text;\n return String(str) + ' ' + String(nodeText);\n }.bind(this), '') || '';\n var stringValues = (0, _stringify2.default)([value, label, textContent]);\n var query = this.query.toLowerCase().trim();\n return stringValues.toLowerCase().includes(query);\n },\n toggleMenu: function toggleMenu(e, force) {\n if (this.disabled) {\n return false;\n }\n\n this.visible = typeof force !== 'undefined' ? force : !this.visible;\n if (this.visible) {\n this.dropDownWidth = this.$el.getBoundingClientRect().width;\n this.broadcast('Drop', 'on-update-popper');\n }\n },\n hideMenu: function hideMenu() {\n var _this7 = this;\n\n this.toggleMenu(null, false);\n setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this7);\n return this.unchangedQuery = true;\n }.bind(this), ANIMATION_TIMEOUT);\n },\n onClickOutside: function onClickOutside(event) {\n var _this8 = this;\n\n if (this.visible) {\n if (event.type === 'mousedown') {\n event.preventDefault();\n return;\n }\n\n if (this.transfer) {\n var $el = this.$refs.dropdown.$el;\n\n if ($el === event.target || $el.contains(event.target)) {\n return;\n }\n }\n\n if (this.filterable) {\n var input = this.$el.querySelector('input[type=\"text\"]');\n this.caretPosition = input.selectionStart;\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this8);\n\n var caretPosition = this.caretPosition === -1 ? input.value.length : this.caretPosition;\n input.setSelectionRange(caretPosition, caretPosition);\n }.bind(this));\n }\n\n if (!this.autoComplete) event.stopPropagation();\n event.preventDefault();\n this.hideMenu();\n this.isFocused = true;\n this.$emit('on-clickoutside', event);\n } else {\n this.caretPosition = -1;\n this.isFocused = false;\n }\n },\n reset: function reset() {\n this.query = '';\n this.focusIndex = -1;\n this.unchangedQuery = true;\n this.values = [];\n this.filterQueryChange = false;\n },\n handleKeydown: function handleKeydown(e) {\n var key = e.key || e.code;\n if (key === 'Backspace') {\n return;\n }\n\n if (this.visible) {\n e.preventDefault();\n if (key === 'Tab') {\n e.stopPropagation();\n }\n\n if (key === 'Escape') {\n e.stopPropagation();\n this.hideMenu();\n }\n\n if (key === 'ArrowUp') {\n this.navigateOptions(-1);\n }\n\n if (key === 'ArrowDown') {\n this.navigateOptions(1);\n }\n\n if (key === 'Enter') {\n if (this.focusIndex === -1) return this.hideMenu();\n var optionComponent = this.flatOptions[this.focusIndex];\n\n if (optionComponent) {\n var option = this.getOptionData(optionComponent.componentOptions.propsData.value);\n this.onOptionClick(option);\n } else {\n this.hideMenu();\n }\n }\n } else {\n var keysThatCanOpenSelect = ['ArrowUp', 'ArrowDown'];\n if (keysThatCanOpenSelect.includes(e.key)) this.toggleMenu(null, true);\n }\n },\n navigateOptions: function navigateOptions(direction) {\n var optionsLength = this.flatOptions.length - 1;\n\n var index = this.focusIndex + direction;\n if (index < 0) index = optionsLength;\n if (index > optionsLength) index = 0;\n\n if (direction > 0) {\n var nearestActiveOption = -1;\n for (var i = 0; i < this.flatOptions.length; i++) {\n var optionIsActive = !this.flatOptions[i].componentOptions.propsData.disabled;\n if (optionIsActive) nearestActiveOption = i;\n if (nearestActiveOption >= index) break;\n }\n index = nearestActiveOption;\n } else {\n var _nearestActiveOption = this.flatOptions.length;\n for (var _i = optionsLength; _i >= 0; _i--) {\n var _optionIsActive = !this.flatOptions[_i].componentOptions.propsData.disabled;\n if (_optionIsActive) _nearestActiveOption = _i;\n if (_nearestActiveOption <= index) break;\n }\n index = _nearestActiveOption;\n }\n\n this.focusIndex = index;\n },\n onOptionClick: function onOptionClick(option) {\n var _this9 = this;\n\n if (this.multiple) {\n if (this.remote) this.lastRemoteQuery = this.lastRemoteQuery || this.query;else this.lastRemoteQuery = '';\n\n var valueIsSelected = this.values.find(function (_ref8) {\n var value = _ref8.value;\n (0, _newArrowCheck3.default)(this, _this9);\n return value === option.value;\n }.bind(this));\n if (valueIsSelected) {\n this.values = this.values.filter(function (_ref9) {\n var value = _ref9.value;\n (0, _newArrowCheck3.default)(this, _this9);\n return value !== option.value;\n }.bind(this));\n } else {\n this.values = this.values.concat(option);\n }\n\n this.isFocused = true;\n } else {\n this.query = String(option.label).trim();\n this.values = [option];\n this.lastRemoteQuery = '';\n this.hideMenu();\n }\n\n this.focusIndex = this.flatOptions.findIndex(function (opt) {\n (0, _newArrowCheck3.default)(this, _this9);\n\n if (!opt || !opt.componentOptions) return false;\n return opt.componentOptions.propsData.value === option.value;\n }.bind(this));\n\n if (this.filterable) {\n var inputField = this.$el.querySelector('input[type=\"text\"]');\n if (!this.autoComplete) this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this9);\n return inputField.focus();\n }.bind(this));\n }\n this.broadcast('Drop', 'on-update-popper');\n setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this9);\n\n this.filterQueryChange = false;\n }.bind(this), ANIMATION_TIMEOUT);\n },\n onQueryChange: function onQueryChange(query) {\n if (query.length > 0 && query !== this.query) {\n if (this.autoComplete) {\n var isInputFocused = document.hasFocus && document.hasFocus() && document.activeElement === this.$el.querySelector('input');\n this.visible = isInputFocused;\n } else {\n this.visible = true;\n }\n }\n\n this.query = query;\n this.unchangedQuery = this.visible;\n this.filterQueryChange = true;\n },\n toggleHeaderFocus: function toggleHeaderFocus(_ref10) {\n var type = _ref10.type;\n\n if (this.disabled) {\n return;\n }\n this.isFocused = type === 'focus';\n },\n updateSlotOptions: function updateSlotOptions() {\n this.slotOptions = this.$slots.default;\n },\n checkUpdateStatus: function checkUpdateStatus() {\n if (this.getInitialValue().length > 0 && this.selectOptions.length === 0) {\n this.hasExpectedValue = true;\n }\n }\n },\n watch: {\n value: function value(_value) {\n var _this10 = this;\n\n var getInitialValue = this.getInitialValue,\n getOptionData = this.getOptionData,\n publicValue = this.publicValue,\n values = this.values;\n\n\n this.checkUpdateStatus();\n\n if (_value === '') this.values = [];else if (checkValuesNotEqual(_value, publicValue, values)) {\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this10);\n return this.values = getInitialValue().map(getOptionData).filter(Boolean);\n }.bind(this));\n this.dispatch('FormItem', 'on-form-change', this.publicValue);\n }\n },\n values: function values(now, before) {\n var _this11 = this;\n\n var newValue = (0, _stringify2.default)(now);\n var oldValue = (0, _stringify2.default)(before);\n\n var vModelValue = this.publicValue && this.labelInValue ? this.multiple ? this.publicValue.map(function (_ref11) {\n var value = _ref11.value;\n (0, _newArrowCheck3.default)(this, _this11);\n return value;\n }.bind(this)) : this.publicValue.value : this.publicValue;\n var shouldEmitInput = newValue !== oldValue && vModelValue !== this.value;\n if (shouldEmitInput) {\n this.$emit('input', vModelValue);\n this.$emit('on-change', this.publicValue);\n this.dispatch('FormItem', 'on-form-change', this.publicValue);\n }\n },\n query: function query(_query) {\n var _this12 = this;\n\n this.$emit('on-query-change', _query);\n var remoteMethod = this.remoteMethod,\n lastRemoteQuery = this.lastRemoteQuery;\n\n var hasValidQuery = _query !== '' && (_query !== lastRemoteQuery || !lastRemoteQuery);\n var shouldCallRemoteMethod = remoteMethod && hasValidQuery && !this.preventRemoteCall;\n this.preventRemoteCall = false;\n\n if (shouldCallRemoteMethod) {\n this.focusIndex = -1;\n var promise = this.remoteMethod(_query);\n this.initialLabel = '';\n if (promise && promise.then) {\n promise.then(function (options) {\n (0, _newArrowCheck3.default)(this, _this12);\n\n if (options) this.options = options;\n }.bind(this));\n }\n }\n if (_query !== '' && this.remote) this.lastRemoteQuery = _query;\n },\n loading: function loading(state) {\n if (state === false) {\n this.updateSlotOptions();\n }\n },\n isFocused: function isFocused(focused) {\n var el = this.filterable ? this.$el.querySelector('input[type=\"text\"]') : this.$el;\n el[this.isFocused ? 'focus' : 'blur']();\n\n var _values = (0, _slicedToArray3.default)(this.values, 1),\n selectedOption = _values[0];\n\n if (selectedOption && this.filterable && !this.multiple && !focused) {\n var selectedLabel = String(selectedOption.label || selectedOption.value).trim();\n if (selectedLabel && this.query !== selectedLabel) {\n this.preventRemoteCall = true;\n this.query = selectedLabel;\n }\n }\n },\n focusIndex: function focusIndex(index) {\n var _this13 = this;\n\n if (index < 0 || this.autoComplete) return;\n\n var optionValue = this.flatOptions[index].componentOptions.propsData.value;\n var optionInstance = findChild(this, function (_ref12) {\n var $options = _ref12.$options;\n (0, _newArrowCheck3.default)(this, _this13);\n\n return $options.componentName === 'select-item' && $options.propsData.value === optionValue;\n }.bind(this));\n\n var bottomOverflowDistance = optionInstance.$el.getBoundingClientRect().bottom - this.$refs.dropdown.$el.getBoundingClientRect().bottom;\n var topOverflowDistance = optionInstance.$el.getBoundingClientRect().top - this.$refs.dropdown.$el.getBoundingClientRect().top;\n if (bottomOverflowDistance > 0) {\n this.$refs.dropdown.$el.scrollTop += bottomOverflowDistance;\n }\n if (topOverflowDistance < 0) {\n this.$refs.dropdown.$el.scrollTop += topOverflowDistance;\n }\n },\n dropVisible: function dropVisible(open) {\n this.broadcast('Drop', open ? 'on-update-popper' : 'on-destroy-popper');\n },\n selectOptions: function selectOptions() {\n if (this.hasExpectedValue && this.selectOptions.length > 0) {\n if (this.values.length === 0) {\n this.values = this.getInitialValue();\n }\n this.values = this.values.map(this.getOptionData).filter(Boolean);\n this.hasExpectedValue = false;\n }\n\n if (this.slotOptions && this.slotOptions.length === 0) {\n this.query = '';\n }\n\n this.broadcast('Drop', 'on-update-popper');\n },\n visible: function visible(state) {\n this.$emit('on-open-change', state);\n },\n slotOptions: function slotOptions(options, old) {\n if (!this.remote) {\n var values = this.getInitialValue();\n if (this.flatOptions && this.flatOptions.length && values.length && !this.multiple) {\n this.values = values.map(this.getOptionData).filter(Boolean);\n }\n }\n\n if (options && old && options.length !== old.length) {\n this.broadcast('Drop', 'on-update-popper');\n }\n }\n }\n};\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(288), __esModule: true };\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(19);\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(32);\nvar ITERATOR = __webpack_require__(11)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(11)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _vue = __webpack_require__(15);\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _assist = __webpack_require__(3);\n\nvar _transferQueue = __webpack_require__(34);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isServer = _vue2.default.prototype.$isServer;\n\nvar Popper = isServer ? function () {} : __webpack_require__(106);exports.default = {\n name: 'Drop',\n props: {\n placement: {\n type: String,\n default: 'bottom-start'\n },\n className: {\n type: String\n },\n transfer: {\n type: Boolean\n }\n },\n data: function data() {\n return {\n popper: null,\n width: '',\n popperStatus: false,\n tIndex: this.handleGetIndex()\n };\n },\n\n computed: {\n styles: function styles() {\n var style = {};\n if (this.width) style.minWidth = String(this.width) + 'px';\n\n if (this.transfer) style['z-index'] = 1060 + this.tIndex;\n\n return style;\n }\n },\n methods: {\n update: function update() {\n var _this = this;\n\n if (isServer) return;\n if (this.popper) {\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.popper.update();\n this.popperStatus = true;\n }.bind(this));\n } else {\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.popper = new Popper(this.$parent.$refs.reference, this.$el, {\n placement: this.placement,\n modifiers: {\n computeStyle: {\n gpuAcceleration: false\n },\n preventOverflow: {\n boundariesElement: 'window'\n }\n },\n onCreate: function onCreate() {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.resetTransformOrigin();\n this.$nextTick(this.popper.update());\n }.bind(this),\n onUpdate: function onUpdate() {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.resetTransformOrigin();\n }.bind(this)\n });\n }.bind(this));\n }\n\n if (this.$parent.$options.name === 'iSelect') {\n this.width = parseInt((0, _assist.getStyle)(this.$parent.$el, 'width'));\n }\n this.tIndex = this.handleGetIndex();\n },\n destroy: function destroy() {\n var _this2 = this;\n\n if (this.popper) {\n setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this2);\n\n if (this.popper && !this.popperStatus) {\n this.popper.destroy();\n this.popper = null;\n }\n this.popperStatus = false;\n }.bind(this), 300);\n }\n },\n resetTransformOrigin: function resetTransformOrigin() {\n if (!this.popper) return;\n\n var x_placement = this.popper.popper.getAttribute('x-placement');\n var placementStart = x_placement.split('-')[0];\n var placementEnd = x_placement.split('-')[1];\n var leftOrRight = x_placement === 'left' || x_placement === 'right';\n if (!leftOrRight) {\n this.popper.popper.style.transformOrigin = placementStart === 'bottom' || placementStart !== 'top' && placementEnd === 'start' ? 'center top' : 'center bottom';\n }\n },\n handleGetIndex: function handleGetIndex() {\n (0, _transferQueue.transferIncrease)();\n return _transferQueue.transferIndex;\n }\n },\n created: function created() {\n this.$on('on-update-popper', this.update);\n this.$on('on-destroy-popper', this.destroy);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.popper) {\n this.popper.destroy();\n }\n }\n};\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.15.0\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n(function (global, factory) {\n\t true ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.Popper = factory());\n}(this, (function () { 'use strict';\n\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nreturn Popper;\n\n})));\n//# sourceMappingURL=popper.js.map\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(107)))\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.i18n = exports.use = exports.t = undefined;\n\nvar _getPrototypeOf = __webpack_require__(293);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _zhCN = __webpack_require__(296);\n\nvar _zhCN2 = _interopRequireDefault(_zhCN);\n\nvar _vue = __webpack_require__(15);\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _deepmerge = __webpack_require__(298);\n\nvar _deepmerge2 = _interopRequireDefault(_deepmerge);\n\nvar _format = __webpack_require__(299);\n\nvar _format2 = _interopRequireDefault(_format);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar format = (0, _format2.default)(_vue2.default);\nvar lang = _zhCN2.default;\nvar merged = false;\nvar i18nHandler = function i18nHandler() {\n var vuei18n = (0, _getPrototypeOf2.default)(this || _vue2.default).$t;\n if (typeof vuei18n === 'function' && !!_vue2.default.locale) {\n if (!merged) {\n merged = true;\n _vue2.default.locale(_vue2.default.config.lang, (0, _deepmerge2.default)(lang, _vue2.default.locale(_vue2.default.config.lang) || {}, { clone: true }));\n }\n return vuei18n.apply(this, arguments);\n }\n};\n\nvar t = exports.t = function t(path, options) {\n var value = i18nHandler.apply(this, arguments);\n if (value !== null && value !== undefined) return value;\n\n var array = path.split('.');\n var current = lang;\n\n for (var i = 0, j = array.length; i < j; i++) {\n var property = array[i];\n value = current[property];\n if (i === j - 1) return format(value, options);\n if (!value) return '';\n current = value;\n }\n return '';\n};\n\nvar use = exports.use = function use(l) {\n lang = l || lang;\n};\n\nvar i18n = exports.i18n = function i18n(fn) {\n i18nHandler = fn || i18nHandler;\n};\n\nexports.default = { use: use, t: t, i18n: i18n };\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(85);\nvar hiddenKeys = __webpack_require__(64).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray2 = __webpack_require__(23);\n\nvar _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _icon = __webpack_require__(20);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-select';\n\nexports.default = {\n name: 'iSelectHead',\n mixins: [_emitter2.default, _locale2.default],\n components: { Icon: _icon2.default },\n props: {\n disabled: {\n type: Boolean,\n default: false\n },\n filterable: {\n type: Boolean,\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n remote: {\n type: Boolean,\n default: false\n },\n initialLabel: {\n type: [String, Number, Array]\n },\n values: {\n type: Array,\n default: function _default() {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return [];\n }.bind(undefined)\n },\n clearable: {\n type: [Function, Boolean],\n default: false\n },\n inputElementId: {\n type: String\n },\n placeholder: {\n type: String\n },\n queryProp: {\n type: String,\n default: ''\n },\n prefix: {\n type: String\n },\n\n maxTagCount: {\n type: Number\n },\n\n maxTagPlaceholder: {\n type: Function\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n query: '',\n inputLength: 20,\n remoteInitialLabel: this.initialLabel,\n preventRemoteCall: false\n };\n },\n\n computed: {\n singleDisplayClasses: function singleDisplayClasses() {\n var _ref;\n\n var filterable = this.filterable,\n multiple = this.multiple,\n showPlaceholder = this.showPlaceholder;\n\n return [(_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-head-with-prefix', this.$slots.prefix || this.prefix), (0, _defineProperty3.default)(_ref, prefixCls + '-placeholder', showPlaceholder && !filterable), (0, _defineProperty3.default)(_ref, prefixCls + '-selected-value', !showPlaceholder && !multiple && !filterable), _ref)];\n },\n singleDisplayValue: function singleDisplayValue() {\n if (this.multiple && this.values.length > 0 || this.filterable) return '';\n return '' + String(this.selectedSingle) || this.localePlaceholder;\n },\n showPlaceholder: function showPlaceholder() {\n var status = false;\n if (!this.multiple) {\n var value = this.values[0];\n if (typeof value === 'undefined' || String(value).trim() === '') {\n status = !this.remoteInitialLabel;\n }\n } else {\n if (!this.values.length > 0) {\n status = true;\n }\n }\n return status;\n },\n resetSelect: function resetSelect() {\n return !this.showPlaceholder && this.clearable;\n },\n inputStyle: function inputStyle() {\n var style = {};\n\n if (this.multiple) {\n if (this.showPlaceholder) {\n style.width = '100%';\n } else {\n style.width = String(this.inputLength) + 'px';\n }\n }\n\n return style;\n },\n localePlaceholder: function localePlaceholder() {\n if (this.placeholder === undefined) {\n return this.t('i.select.placeholder');\n } else {\n return this.placeholder;\n }\n },\n selectedSingle: function selectedSingle() {\n var selected = this.values[0];\n return selected ? selected.label : this.remoteInitialLabel || '';\n },\n selectedMultiple: function selectedMultiple() {\n return this.multiple ? this.values : [];\n },\n headCls: function headCls() {\n return (0, _defineProperty3.default)({}, prefixCls + '-head-flex', this.filterable && (this.$slots.prefix || this.prefix));\n },\n arrowType: function arrowType() {\n var type = 'ios-arrow-down';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.select.customArrow) {\n type = '';\n } else if (this.$IVIEW.select.arrow) {\n type = this.$IVIEW.select.arrow;\n }\n }\n return type;\n },\n customArrowType: function customArrowType() {\n var type = '';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.select.customArrow) {\n type = this.$IVIEW.select.customArrow;\n }\n }\n return type;\n },\n arrowSize: function arrowSize() {\n var size = '';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.select.arrowSize) {\n size = this.$IVIEW.select.arrowSize;\n }\n }\n return size;\n }\n },\n methods: {\n onInputFocus: function onInputFocus() {\n this.$emit('on-input-focus');\n },\n onInputBlur: function onInputBlur() {\n if (!this.values.length) this.query = '';\n this.$emit('on-input-blur');\n },\n removeTag: function removeTag(value) {\n if (this.disabled) return false;\n this.dispatch('iSelect', 'on-select-selected', value);\n },\n resetInputState: function resetInputState() {\n this.inputLength = this.$refs.input.value.length * 12 + 20;\n this.$emit('on-keydown');\n },\n handleInputDelete: function handleInputDelete(e) {\n var targetValue = e.target.value;\n if (this.multiple && this.selectedMultiple.length && this.query === '' && targetValue === '') {\n this.removeTag(this.selectedMultiple[this.selectedMultiple.length - 1]);\n }\n },\n onHeaderClick: function onHeaderClick(e) {\n if (this.filterable && e.target === this.$el) {\n this.$refs.input.focus();\n }\n },\n onClear: function onClear() {\n this.$emit('on-clear');\n }\n },\n watch: {\n values: function values(_ref3) {\n var _this = this;\n\n var _ref4 = (0, _slicedToArray3.default)(_ref3, 1),\n value = _ref4[0];\n\n if (!this.filterable) return;\n this.preventRemoteCall = true;\n if (this.multiple) {\n this.query = '';\n this.preventRemoteCall = false;\n return;\n }\n\n if (typeof value === 'undefined' || value === '' || value === null) this.query = '';else this.query = value.label;\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this);\n return this.preventRemoteCall = false;\n }.bind(this));\n },\n query: function query(val) {\n if (this.preventRemoteCall) {\n this.preventRemoteCall = false;\n return;\n }\n\n this.$emit('on-query-change', val);\n },\n queryProp: function queryProp(query) {\n if (query !== this.query) this.query = query;\n }\n }\n};\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar returnArrayFn = function () {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return [];\n}.bind(undefined);\n\nexports.default = {\n props: {\n options: {\n type: Array,\n default: returnArrayFn\n },\n slotOptions: {\n type: Array,\n default: returnArrayFn\n },\n slotUpdateHook: {\n type: Function,\n default: function _default() {\n (0, _newArrowCheck3.default)(undefined, undefined);\n }.bind(undefined)\n }\n },\n functional: true,\n render: function render(h, _ref) {\n var props = _ref.props,\n parent = _ref.parent;\n\n if (props.slotOptions !== parent.$slots.default) props.slotUpdateHook();\n return props.options;\n }\n};\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-select-item';\n\nexports.default = {\n name: 'iOption',\n componentName: 'select-item',\n mixins: [_emitter2.default],\n props: {\n value: {\n type: [String, Number],\n required: true\n },\n label: {\n type: [String, Number]\n },\n disabled: {\n type: Boolean,\n default: false\n },\n selected: {\n type: Boolean,\n default: false\n },\n isFocused: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n searchLabel: '',\n autoComplete: false\n };\n },\n\n computed: {\n classes: function classes() {\n var _ref;\n\n return ['' + prefixCls, (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-disabled', this.disabled), (0, _defineProperty3.default)(_ref, prefixCls + '-selected', this.selected && !this.autoComplete), (0, _defineProperty3.default)(_ref, prefixCls + '-focus', this.isFocused), _ref)];\n },\n showLabel: function showLabel() {\n return this.label ? this.label : this.value;\n },\n optionLabel: function optionLabel() {\n return this.label || this.$el && this.$el.textContent;\n }\n },\n methods: {\n select: function select() {\n if (this.disabled) return false;\n\n this.dispatch('iSelect', 'on-select-selected', {\n value: this.value,\n label: this.optionLabel\n });\n this.$emit('on-select-selected', {\n value: this.value,\n label: this.optionLabel\n });\n }\n },\n mounted: function mounted() {\n var Select = (0, _assist.findComponentUpward)(this, 'iSelect');\n if (Select) this.autoComplete = Select.autoComplete;\n }\n};\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _isNan = __webpack_require__(317);\n\nvar _isNan2 = _interopRequireDefault(_isNan);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assist = __webpack_require__(3);\n\nvar _calcTextareaHeight = __webpack_require__(320);\n\nvar _calcTextareaHeight2 = _interopRequireDefault(_calcTextareaHeight);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-input';\n\nexports.default = {\n name: 'Input',\n mixins: [_emitter2.default],\n props: {\n type: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['text', 'textarea', 'password', 'url', 'email', 'date', 'number', 'tel']);\n },\n\n default: 'text'\n },\n value: {\n type: [String, Number],\n default: ''\n },\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small', 'large', 'default']);\n },\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.size === '' ? 'default' : this.$IVIEW.size;\n }\n },\n placeholder: {\n type: String,\n default: ''\n },\n maxlength: {\n type: Number\n },\n disabled: {\n type: Boolean,\n default: false\n },\n icon: String,\n autosize: {\n type: [Boolean, Object],\n default: false\n },\n rows: {\n type: Number,\n default: 2\n },\n readonly: {\n type: Boolean,\n default: false\n },\n name: {\n type: String\n },\n number: {\n type: Boolean,\n default: false\n },\n autofocus: {\n type: Boolean,\n default: false\n },\n spellcheck: {\n type: Boolean,\n default: false\n },\n autocomplete: {\n type: String,\n default: 'off'\n },\n clearable: {\n type: Boolean,\n default: false\n },\n elementId: {\n type: String\n },\n wrap: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['hard', 'soft']);\n },\n\n default: 'soft'\n },\n prefix: {\n type: String,\n default: ''\n },\n suffix: {\n type: String,\n default: ''\n },\n search: {\n type: Boolean,\n default: false\n },\n enterButton: {\n type: [Boolean, String],\n default: false\n }\n },\n data: function data() {\n return {\n currentValue: this.value,\n prefixCls: prefixCls,\n prepend: true,\n append: true,\n slotReady: false,\n textareaStyles: {},\n showPrefix: false,\n showSuffix: false,\n isOnComposition: false\n };\n },\n\n computed: {\n wrapClasses: function wrapClasses() {\n var _ref;\n\n return [prefixCls + '-wrapper', (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-wrapper-' + String(this.size), !!this.size), (0, _defineProperty3.default)(_ref, prefixCls + '-type', this.type), (0, _defineProperty3.default)(_ref, prefixCls + '-group', this.prepend || this.append || this.search && this.enterButton), (0, _defineProperty3.default)(_ref, prefixCls + '-group-' + String(this.size), (this.prepend || this.append || this.search && this.enterButton) && !!this.size), (0, _defineProperty3.default)(_ref, prefixCls + '-group-with-prepend', this.prepend), (0, _defineProperty3.default)(_ref, prefixCls + '-group-with-append', this.append || this.search && this.enterButton), (0, _defineProperty3.default)(_ref, prefixCls + '-hide-icon', this.append), (0, _defineProperty3.default)(_ref, prefixCls + '-with-search', this.search && this.enterButton), _ref)];\n },\n inputClasses: function inputClasses() {\n var _ref2;\n\n return ['' + prefixCls, (_ref2 = {}, (0, _defineProperty3.default)(_ref2, prefixCls + '-' + String(this.size), !!this.size), (0, _defineProperty3.default)(_ref2, prefixCls + '-disabled', this.disabled), (0, _defineProperty3.default)(_ref2, prefixCls + '-with-prefix', this.showPrefix), (0, _defineProperty3.default)(_ref2, prefixCls + '-with-suffix', this.showSuffix || this.search && this.enterButton === false), _ref2)];\n },\n textareaClasses: function textareaClasses() {\n return ['' + prefixCls, (0, _defineProperty3.default)({}, prefixCls + '-disabled', this.disabled)];\n }\n },\n methods: {\n handleEnter: function handleEnter(event) {\n this.$emit('on-enter', event);\n if (this.search) this.$emit('on-search', this.currentValue);\n },\n handleKeydown: function handleKeydown(event) {\n this.$emit('on-keydown', event);\n },\n handleKeypress: function handleKeypress(event) {\n this.$emit('on-keypress', event);\n },\n handleKeyup: function handleKeyup(event) {\n this.$emit('on-keyup', event);\n },\n handleIconClick: function handleIconClick(event) {\n this.$emit('on-click', event);\n },\n handleFocus: function handleFocus(event) {\n this.$emit('on-focus', event);\n },\n handleBlur: function handleBlur(event) {\n this.$emit('on-blur', event);\n if (!(0, _assist.findComponentUpward)(this, ['DatePicker', 'TimePicker', 'Cascader', 'Search'])) {\n this.dispatch('FormItem', 'on-form-blur', this.currentValue);\n }\n },\n handleComposition: function handleComposition(event) {\n if (event.type === 'compositionstart') {\n this.isOnComposition = true;\n }\n if (event.type === 'compositionend') {\n this.isOnComposition = false;\n this.handleInput(event);\n }\n },\n handleInput: function handleInput(event) {\n if (this.isOnComposition) return;\n\n var value = event.target.value;\n if (this.number && value !== '') value = (0, _isNan2.default)(Number(value)) ? value : Number(value);\n this.$emit('input', value);\n this.setCurrentValue(value);\n this.$emit('on-change', event);\n },\n handleChange: function handleChange(event) {\n this.$emit('on-input-change', event);\n },\n setCurrentValue: function setCurrentValue(value) {\n var _this = this;\n\n if (value === this.currentValue) return;\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.resizeTextarea();\n }.bind(this));\n this.currentValue = value;\n if (!(0, _assist.findComponentUpward)(this, ['DatePicker', 'TimePicker', 'Cascader', 'Search'])) {\n this.dispatch('FormItem', 'on-form-change', value);\n }\n },\n resizeTextarea: function resizeTextarea() {\n var autosize = this.autosize;\n if (!autosize || this.type !== 'textarea') {\n return false;\n }\n\n var minRows = autosize.minRows;\n var maxRows = autosize.maxRows;\n\n this.textareaStyles = (0, _calcTextareaHeight2.default)(this.$refs.textarea, minRows, maxRows);\n },\n focus: function focus() {\n if (this.type === 'textarea') {\n this.$refs.textarea.focus();\n } else {\n this.$refs.input.focus();\n }\n },\n blur: function blur() {\n if (this.type === 'textarea') {\n this.$refs.textarea.blur();\n } else {\n this.$refs.input.blur();\n }\n },\n handleClear: function handleClear() {\n var e = { target: { value: '' } };\n this.$emit('input', '');\n this.setCurrentValue('');\n this.$emit('on-change', e);\n this.$emit('on-clear');\n },\n handleSearch: function handleSearch() {\n if (this.disabled) return false;\n this.$refs.input.focus();\n this.$emit('on-search', this.currentValue);\n }\n },\n watch: {\n value: function value(val) {\n this.setCurrentValue(val);\n }\n },\n mounted: function mounted() {\n if (this.type !== 'textarea') {\n this.prepend = this.$slots.prepend !== undefined;\n this.append = this.$slots.append !== undefined;\n this.showPrefix = this.prefix !== '' || this.$slots.prefix !== undefined;\n this.showSuffix = this.suffix !== '' || this.$slots.suffix !== undefined;\n } else {\n this.prepend = false;\n this.append = false;\n }\n this.slotReady = true;\n this.resizeTextarea();\n }\n};\n\n/***/ }),\n/* 115 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_avatar_vue__ = __webpack_require__(116);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_avatar_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_avatar_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_avatar_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_avatar_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_83107f7a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_avatar_vue__ = __webpack_require__(330);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_83107f7a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_avatar_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_83107f7a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_avatar_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_avatar_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_83107f7a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_avatar_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_83107f7a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_avatar_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _icon = __webpack_require__(20);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-avatar';\n\nexports.default = {\n name: 'Avatar',\n components: { Icon: _icon2.default },\n props: {\n shape: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['circle', 'square']);\n },\n\n default: 'circle'\n },\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small', 'large', 'default']);\n },\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.size === '' ? 'default' : this.$IVIEW.size;\n }\n },\n src: {\n type: String\n },\n icon: {\n type: String\n },\n customIcon: {\n type: String,\n default: ''\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n scale: 1,\n childrenWidth: 0,\n isSlotShow: false\n };\n },\n\n computed: {\n classes: function classes() {\n var _ref;\n\n return ['' + prefixCls, prefixCls + '-' + String(this.shape), prefixCls + '-' + String(this.size), (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-image', !!this.src), (0, _defineProperty3.default)(_ref, prefixCls + '-icon', !!this.icon || !!this.customIcon), _ref)];\n },\n childrenStyle: function childrenStyle() {\n var style = {};\n if (this.isSlotShow) {\n style = {\n msTransform: 'scale(' + String(this.scale) + ')',\n WebkitTransform: 'scale(' + String(this.scale) + ')',\n transform: 'scale(' + String(this.scale) + ')',\n position: 'absolute',\n display: 'inline-block',\n left: 'calc(50% - ' + String(Math.round(this.childrenWidth / 2)) + 'px)'\n };\n }\n return style;\n }\n },\n methods: {\n setScale: function setScale() {\n this.isSlotShow = !this.src && !this.icon;\n if (this.$refs.children) {\n this.childrenWidth = this.$refs.children.offsetWidth;\n var avatarWidth = this.$el.getBoundingClientRect().width;\n\n if (avatarWidth - 8 < this.childrenWidth) {\n this.scale = (avatarWidth - 8) / this.childrenWidth;\n } else {\n this.scale = 1;\n }\n }\n },\n handleError: function handleError(e) {\n this.$emit('on-error', e);\n }\n },\n mounted: function mounted() {\n this.setScale();\n },\n updated: function updated() {\n this.setScale();\n }\n};\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assist = __webpack_require__(3);\n\nvar _dom = __webpack_require__(13);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-back-top';\n\nexports.default = {\n props: {\n height: {\n type: Number,\n default: 400\n },\n bottom: {\n type: Number,\n default: 30\n },\n right: {\n type: Number,\n default: 30\n },\n duration: {\n type: Number,\n default: 1000\n }\n },\n data: function data() {\n return {\n backTop: false\n };\n },\n mounted: function mounted() {\n (0, _dom.on)(window, 'scroll', this.handleScroll);\n (0, _dom.on)(window, 'resize', this.handleScroll);\n },\n beforeDestroy: function beforeDestroy() {\n (0, _dom.off)(window, 'scroll', this.handleScroll);\n (0, _dom.off)(window, 'resize', this.handleScroll);\n },\n\n computed: {\n classes: function classes() {\n return ['' + prefixCls, (0, _defineProperty3.default)({}, prefixCls + '-show', this.backTop)];\n },\n styles: function styles() {\n return {\n bottom: String(this.bottom) + 'px',\n right: String(this.right) + 'px'\n };\n },\n innerClasses: function innerClasses() {\n return prefixCls + '-inner';\n }\n },\n methods: {\n handleScroll: function handleScroll() {\n this.backTop = window.pageYOffset >= this.height;\n },\n back: function back() {\n var sTop = document.documentElement.scrollTop || document.body.scrollTop;\n (0, _assist.scrollTop)(window, sTop, 0, this.duration);\n this.$emit('on-click');\n }\n }\n};\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-badge';\n\nexports.default = {\n name: 'Badge',\n props: {\n count: Number,\n dot: {\n type: Boolean,\n default: false\n },\n overflowCount: {\n type: [Number, String],\n default: 99\n },\n className: String,\n showZero: {\n type: Boolean,\n default: false\n },\n text: {\n type: String,\n default: ''\n },\n status: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['success', 'processing', 'default', 'error', 'warning']);\n }\n },\n type: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['success', 'primary', 'normal', 'error', 'warning', 'info']);\n }\n },\n offset: {\n type: Array\n }\n },\n computed: {\n classes: function classes() {\n return '' + prefixCls;\n },\n dotClasses: function dotClasses() {\n return prefixCls + '-dot';\n },\n countClasses: function countClasses() {\n var _ref;\n\n return [prefixCls + '-count', (_ref = {}, (0, _defineProperty3.default)(_ref, '' + String(this.className), !!this.className), (0, _defineProperty3.default)(_ref, prefixCls + '-count-alone', this.alone), (0, _defineProperty3.default)(_ref, prefixCls + '-count-' + String(this.type), !!this.type), _ref)];\n },\n statusClasses: function statusClasses() {\n return [prefixCls + '-status-dot', (0, _defineProperty3.default)({}, prefixCls + '-status-' + String(this.status), !!this.status)];\n },\n styles: function styles() {\n var style = {};\n if (this.offset && this.offset.length === 2) {\n style['margin-top'] = String(this.offset[0]) + 'px';\n style['margin-right'] = String(this.offset[1]) + 'px';\n }\n return style;\n },\n finalCount: function finalCount() {\n if (this.text !== '') return this.text;\n return parseInt(this.count) >= parseInt(this.overflowCount) ? String(this.overflowCount) + '+' : this.count;\n },\n badge: function badge() {\n var status = false;\n\n if (this.count) {\n status = !(parseInt(this.count) === 0);\n }\n\n if (this.dot) {\n status = true;\n if (this.count !== null) {\n if (parseInt(this.count) === 0) {\n status = false;\n }\n }\n }\n\n if (this.text !== '') status = true;\n\n return status || this.showZero;\n },\n hasCount: function hasCount() {\n if (this.count || this.text !== '') return true;\n if (this.showZero && parseInt(this.count) === 0) return true;else return false;\n },\n alone: function alone() {\n return this.$slots.default === undefined;\n }\n }\n};\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-breadcrumb';\n\nexports.default = {\n name: 'Breadcrumb',\n props: {\n separator: {\n type: String,\n default: '/'\n }\n },\n computed: {\n classes: function classes() {\n return '' + prefixCls;\n }\n },\n mounted: function mounted() {\n this.updateChildren();\n },\n updated: function updated() {\n var _this = this;\n\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.updateChildren();\n }.bind(this));\n },\n\n methods: {\n updateChildren: function updateChildren() {\n var _this2 = this;\n\n this.$children.forEach(function (child) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n child.separator = this.separator;\n }.bind(this));\n }\n },\n watch: {\n separator: function separator() {\n this.updateChildren();\n }\n }\n};\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _link = __webpack_require__(55);\n\nvar _link2 = _interopRequireDefault(_link);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-breadcrumb-item';\n\nexports.default = {\n name: 'BreadcrumbItem',\n mixins: [_link2.default],\n props: {},\n data: function data() {\n return {\n separator: '',\n showSeparator: false\n };\n },\n\n computed: {\n linkClasses: function linkClasses() {\n return prefixCls + '-link';\n },\n separatorClasses: function separatorClasses() {\n return prefixCls + '-separator';\n }\n },\n mounted: function mounted() {\n this.showSeparator = this.$slots.separator !== undefined;\n }\n};\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _icon = __webpack_require__(20);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _assist = __webpack_require__(3);\n\nvar _link = __webpack_require__(55);\n\nvar _link2 = _interopRequireDefault(_link);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-btn';\n\nexports.default = {\n name: 'Button',\n mixins: [_link2.default],\n components: { Icon: _icon2.default },\n props: {\n type: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['default', 'primary', 'dashed', 'text', 'info', 'success', 'warning', 'error']);\n },\n\n default: 'default'\n },\n shape: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['circle', 'circle-outline']);\n }\n },\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small', 'large', 'default']);\n },\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.size === '' ? 'default' : this.$IVIEW.size;\n }\n },\n loading: Boolean,\n disabled: Boolean,\n htmlType: {\n default: 'button',\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['button', 'submit', 'reset']);\n }\n },\n icon: {\n type: String,\n default: ''\n },\n customIcon: {\n type: String,\n default: ''\n },\n long: {\n type: Boolean,\n default: false\n },\n ghost: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n showSlot: true\n };\n },\n\n computed: {\n classes: function classes() {\n var _ref;\n\n return ['' + prefixCls, prefixCls + '-' + String(this.type), (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-long', this.long), (0, _defineProperty3.default)(_ref, prefixCls + '-' + String(this.shape), !!this.shape), (0, _defineProperty3.default)(_ref, prefixCls + '-' + String(this.size), this.size !== 'default'), (0, _defineProperty3.default)(_ref, prefixCls + '-loading', this.loading != null && this.loading), (0, _defineProperty3.default)(_ref, prefixCls + '-icon-only', !this.showSlot && (!!this.icon || !!this.customIcon || this.loading)), (0, _defineProperty3.default)(_ref, prefixCls + '-ghost', this.ghost), _ref)];\n },\n isHrefPattern: function isHrefPattern() {\n var to = this.to;\n\n return !!to;\n },\n tagName: function tagName() {\n var isHrefPattern = this.isHrefPattern;\n\n return isHrefPattern ? 'a' : 'button';\n },\n tagProps: function tagProps() {\n var isHrefPattern = this.isHrefPattern;\n\n if (isHrefPattern) {\n var linkUrl = this.linkUrl,\n target = this.target;\n\n return { href: linkUrl, target: target };\n } else {\n var htmlType = this.htmlType;\n\n return { type: htmlType };\n }\n }\n },\n methods: {\n handleClickLink: function handleClickLink(event) {\n this.$emit('click', event);\n var openInNewWindow = event.ctrlKey || event.metaKey;\n\n this.handleCheckClick(event, openInNewWindow);\n }\n },\n mounted: function mounted() {\n this.showSlot = this.$slots.default !== undefined;\n }\n};\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-btn-group';\n\nexports.default = {\n name: 'ButtonGroup',\n props: {\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small', 'large', 'default']);\n },\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.size === '' ? 'default' : this.$IVIEW.size;\n }\n },\n shape: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['circle', 'circle-outline']);\n }\n },\n vertical: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n classes: function classes() {\n var _ref;\n\n return ['' + prefixCls, (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-' + String(this.size), !!this.size), (0, _defineProperty3.default)(_ref, prefixCls + '-' + String(this.shape), !!this.shape), (0, _defineProperty3.default)(_ref, prefixCls + '-vertical', this.vertical), _ref)];\n }\n }\n};\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _icon = __webpack_require__(8);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-card';\nvar defaultPadding = 16;\nexports.default = {\n name: 'Card',\n components: { Icon: _icon2.default },\n props: {\n bordered: {\n type: Boolean,\n default: true\n },\n disHover: {\n type: Boolean,\n default: false\n },\n shadow: {\n type: Boolean,\n default: false\n },\n padding: {\n type: Number,\n default: defaultPadding\n },\n title: {\n type: String\n },\n icon: {\n type: String\n }\n },\n data: function data() {\n return {\n showHead: true,\n showExtra: true\n };\n },\n\n computed: {\n classes: function classes() {\n var _ref;\n\n return ['' + prefixCls, (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-bordered', this.bordered && !this.shadow), (0, _defineProperty3.default)(_ref, prefixCls + '-dis-hover', this.disHover || this.shadow), (0, _defineProperty3.default)(_ref, prefixCls + '-shadow', this.shadow), _ref)];\n },\n headClasses: function headClasses() {\n return prefixCls + '-head';\n },\n extraClasses: function extraClasses() {\n return prefixCls + '-extra';\n },\n bodyClasses: function bodyClasses() {\n return prefixCls + '-body';\n },\n bodyStyles: function bodyStyles() {\n if (this.padding !== defaultPadding) {\n return {\n padding: String(this.padding) + 'px'\n };\n } else {\n return '';\n }\n }\n },\n mounted: function mounted() {\n this.showHead = this.title || this.$slots.title !== undefined;\n this.showExtra = this.$slots.extra !== undefined;\n }\n};\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _icon = __webpack_require__(8);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _assist = __webpack_require__(3);\n\nvar _dom = __webpack_require__(13);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-carousel';\n\nexports.default = {\n name: 'Carousel',\n components: { Icon: _icon2.default },\n props: {\n arrow: {\n type: String,\n default: 'hover',\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['hover', 'always', 'never']);\n }\n },\n autoplay: {\n type: Boolean,\n default: false\n },\n autoplaySpeed: {\n type: Number,\n default: 2000\n },\n loop: {\n type: Boolean,\n default: false\n },\n easing: {\n type: String,\n default: 'ease'\n },\n dots: {\n type: String,\n default: 'inside',\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['inside', 'outside', 'none']);\n }\n },\n radiusDot: {\n type: Boolean,\n default: false\n },\n trigger: {\n type: String,\n default: 'click',\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['click', 'hover']);\n }\n },\n value: {\n type: Number,\n default: 0\n },\n height: {\n type: [String, Number],\n default: 'auto',\n validator: function validator(value) {\n return value === 'auto' || Object.prototype.toString.call(value) === '[object Number]';\n }\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n listWidth: 0,\n trackWidth: 0,\n trackOffset: 0,\n trackCopyOffset: 0,\n showCopyTrack: false,\n slides: [],\n slideInstances: [],\n timer: null,\n ready: false,\n currentIndex: this.value,\n trackIndex: this.value,\n copyTrackIndex: this.value,\n hideTrackPos: -1 };\n },\n\n computed: {\n classes: function classes() {\n return ['' + prefixCls];\n },\n trackStyles: function trackStyles() {\n return {\n width: String(this.trackWidth) + 'px',\n transform: 'translate3d(' + -this.trackOffset + 'px, 0px, 0px)',\n transition: 'transform 500ms ' + String(this.easing)\n };\n },\n copyTrackStyles: function copyTrackStyles() {\n return {\n width: String(this.trackWidth) + 'px',\n transform: 'translate3d(' + -this.trackCopyOffset + 'px, 0px, 0px)',\n transition: 'transform 500ms ' + String(this.easing),\n position: 'absolute',\n top: 0\n };\n },\n arrowClasses: function arrowClasses() {\n return [prefixCls + '-arrow', prefixCls + '-arrow-' + String(this.arrow)];\n },\n dotsClasses: function dotsClasses() {\n return [prefixCls + '-dots', prefixCls + '-dots-' + String(this.dots)];\n }\n },\n methods: {\n findChild: function findChild(cb) {\n var _this2 = this;\n\n var find = function find(child) {\n var _this = this;\n\n var name = child.$options.componentName;\n\n if (name) {\n cb(child);\n } else if (child.$children.length) {\n child.$children.forEach(function (innerChild) {\n (0, _newArrowCheck3.default)(this, _this);\n\n find(innerChild, cb);\n }.bind(this));\n }\n };\n\n if (this.slideInstances.length || !this.$children) {\n this.slideInstances.forEach(function (child) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n find(child);\n }.bind(this));\n } else {\n this.$children.forEach(function (child) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n find(child);\n }.bind(this));\n }\n },\n initCopyTrackDom: function initCopyTrackDom() {\n var _this3 = this;\n\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this3);\n\n this.$refs.copyTrack.innerHTML = this.$refs.originTrack.innerHTML;\n }.bind(this));\n },\n updateSlides: function updateSlides(init) {\n var _this4 = this;\n\n var slides = [];\n var index = 1;\n\n this.findChild(function (child) {\n (0, _newArrowCheck3.default)(this, _this4);\n\n slides.push({\n $el: child.$el\n });\n child.index = index++;\n\n if (init) {\n this.slideInstances.push(child);\n }\n }.bind(this));\n\n this.slides = slides;\n this.updatePos();\n },\n updatePos: function updatePos() {\n var _this5 = this;\n\n this.findChild(function (child) {\n (0, _newArrowCheck3.default)(this, _this5);\n\n child.width = this.listWidth;\n child.height = typeof this.height === 'number' ? String(this.height) + 'px' : this.height;\n }.bind(this));\n\n this.trackWidth = (this.slides.length || 0) * this.listWidth;\n },\n slotChange: function slotChange() {\n var _this6 = this;\n\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this6);\n\n this.slides = [];\n this.slideInstances = [];\n\n this.updateSlides(true, true);\n this.updatePos();\n this.updateOffset();\n }.bind(this));\n },\n handleResize: function handleResize() {\n this.listWidth = parseInt((0, _assist.getStyle)(this.$el, 'width'));\n this.updatePos();\n this.updateOffset();\n },\n updateTrackPos: function updateTrackPos(index) {\n if (this.showCopyTrack) {\n this.trackIndex = index;\n } else {\n this.copyTrackIndex = index;\n }\n },\n updateTrackIndex: function updateTrackIndex(index) {\n if (this.showCopyTrack) {\n this.copyTrackIndex = index;\n } else {\n this.trackIndex = index;\n }\n this.currentIndex = index;\n },\n add: function add(offset) {\n var slidesLen = this.slides.length;\n\n if (this.loop) {\n if (offset > 0) {\n this.hideTrackPos = -1;\n } else {\n this.hideTrackPos = slidesLen;\n }\n this.updateTrackPos(this.hideTrackPos);\n }\n\n var oldIndex = this.showCopyTrack ? this.copyTrackIndex : this.trackIndex;\n var index = oldIndex + offset;\n while (index < 0) {\n index += slidesLen;\n }if ((offset > 0 && index === slidesLen || offset < 0 && index === slidesLen - 1) && this.loop) {\n this.showCopyTrack = !this.showCopyTrack;\n this.trackIndex += offset;\n this.copyTrackIndex += offset;\n } else {\n if (!this.loop) index = index % this.slides.length;\n this.updateTrackIndex(index);\n }\n this.currentIndex = index === this.slides.length ? 0 : index;\n this.$emit('on-change', oldIndex, this.currentIndex);\n this.$emit('input', this.currentIndex);\n },\n arrowEvent: function arrowEvent(offset) {\n this.setAutoplay();\n this.add(offset);\n },\n dotsEvent: function dotsEvent(event, n) {\n var curIndex = this.showCopyTrack ? this.copyTrackIndex : this.trackIndex;\n if (event === this.trigger && curIndex !== n) {\n this.updateTrackIndex(n);\n this.$emit('input', n);\n\n this.setAutoplay();\n }\n },\n setAutoplay: function setAutoplay() {\n var _this7 = this;\n\n window.clearInterval(this.timer);\n if (this.autoplay) {\n this.timer = window.setInterval(function () {\n (0, _newArrowCheck3.default)(this, _this7);\n\n this.add(1);\n }.bind(this), this.autoplaySpeed);\n }\n },\n updateOffset: function updateOffset() {\n var _this8 = this;\n\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this8);\n\n var ofs = this.copyTrackIndex > 0 ? -1 : 1;\n this.trackOffset = this.trackIndex * this.listWidth;\n this.trackCopyOffset = this.copyTrackIndex * this.listWidth + ofs;\n }.bind(this));\n }\n },\n watch: {\n autoplay: function autoplay() {\n this.setAutoplay();\n },\n autoplaySpeed: function autoplaySpeed() {\n this.setAutoplay();\n },\n trackIndex: function trackIndex() {\n this.updateOffset();\n },\n copyTrackIndex: function copyTrackIndex() {\n this.updateOffset();\n },\n height: function height() {\n this.updatePos();\n },\n value: function value(val) {\n this.updateTrackIndex(val);\n this.setAutoplay();\n }\n },\n mounted: function mounted() {\n this.updateSlides(true);\n this.handleResize();\n this.setAutoplay();\n\n (0, _dom.on)(window, 'resize', this.handleResize);\n },\n beforeDestroy: function beforeDestroy() {\n (0, _dom.off)(window, 'resize', this.handleResize);\n }\n};\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-carousel-item';\n\nexports.default = {\n componentName: 'carousel-item',\n name: 'CarouselItem',\n data: function data() {\n return {\n prefixCls: prefixCls,\n width: 0,\n height: 'auto',\n left: 0\n };\n },\n\n computed: {\n styles: function styles() {\n return {\n width: String(this.width) + 'px',\n height: '' + String(this.height),\n left: String(this.left) + 'px'\n };\n }\n },\n mounted: function mounted() {\n this.$parent.slotChange();\n },\n\n watch: {\n width: function width(val) {\n var _this = this;\n\n if (val && this.$parent.loop) {\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.$parent.initCopyTrackDom();\n }.bind(this));\n }\n },\n height: function height(val) {\n var _this2 = this;\n\n if (val && this.$parent.loop) {\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this2);\n\n this.$parent.initCopyTrackDom();\n }.bind(this));\n }\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.$parent.slotChange();\n }\n};\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assign = __webpack_require__(14);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _stringify = __webpack_require__(54);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _toConsumableArray2 = __webpack_require__(16);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _input = __webpack_require__(37);\n\nvar _input2 = _interopRequireDefault(_input);\n\nvar _dropdown = __webpack_require__(33);\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nvar _icon = __webpack_require__(8);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _caspanel = __webpack_require__(356);\n\nvar _caspanel2 = _interopRequireDefault(_caspanel);\n\nvar _vClickOutsideX = __webpack_require__(35);\n\nvar _transferDom = __webpack_require__(21);\n\nvar _transferDom2 = _interopRequireDefault(_transferDom);\n\nvar _assist = __webpack_require__(3);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-cascader';\nvar selectPrefixCls = 'ivu-select';\n\nexports.default = {\n name: 'Cascader',\n mixins: [_emitter2.default, _locale2.default],\n components: { iInput: _input2.default, Drop: _dropdown2.default, Icon: _icon2.default, Caspanel: _caspanel2.default },\n directives: { clickOutside: _vClickOutsideX.directive, TransferDom: _transferDom2.default },\n props: {\n data: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n value: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n disabled: {\n type: Boolean,\n default: false\n },\n clearable: {\n type: Boolean,\n default: true\n },\n placeholder: {\n type: String\n },\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small', 'large', 'default']);\n },\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.size === '' ? 'default' : this.$IVIEW.size;\n }\n },\n trigger: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['click', 'hover']);\n },\n\n default: 'click'\n },\n changeOnSelect: {\n type: Boolean,\n default: false\n },\n renderFormat: {\n type: Function,\n default: function _default(label) {\n return label.join(' / ');\n }\n },\n loadData: {\n type: Function\n },\n filterable: {\n type: Boolean,\n default: false\n },\n notFoundText: {\n type: String\n },\n transfer: {\n type: Boolean,\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.transfer === '' ? false : this.$IVIEW.transfer;\n }\n },\n name: {\n type: String\n },\n elementId: {\n type: String\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n selectPrefixCls: selectPrefixCls,\n visible: false,\n selected: [],\n tmpSelected: [],\n updatingValue: false,\n currentValue: this.value,\n query: '',\n validDataStr: '',\n isLoadedChildren: false };\n },\n\n computed: {\n classes: function classes() {\n var _ref;\n\n return ['' + prefixCls, (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-show-clear', this.showCloseIcon), (0, _defineProperty3.default)(_ref, prefixCls + '-size-' + String(this.size), !!this.size), (0, _defineProperty3.default)(_ref, prefixCls + '-visible', this.visible), (0, _defineProperty3.default)(_ref, prefixCls + '-disabled', this.disabled), (0, _defineProperty3.default)(_ref, prefixCls + '-not-found', this.filterable && this.query !== '' && !this.querySelections.length), _ref)];\n },\n showCloseIcon: function showCloseIcon() {\n return this.currentValue && this.currentValue.length && this.clearable && !this.disabled;\n },\n displayRender: function displayRender() {\n var label = [];\n for (var i = 0; i < this.selected.length; i++) {\n label.push(this.selected[i].label);\n }\n\n return this.renderFormat(label, this.selected);\n },\n displayInputRender: function displayInputRender() {\n return this.filterable ? '' : this.displayRender;\n },\n localePlaceholder: function localePlaceholder() {\n if (this.placeholder === undefined) {\n return this.t('i.select.placeholder');\n } else {\n return this.placeholder;\n }\n },\n inputPlaceholder: function inputPlaceholder() {\n return this.filterable && this.currentValue.length ? null : this.localePlaceholder;\n },\n localeNotFoundText: function localeNotFoundText() {\n if (this.notFoundText === undefined) {\n return this.t('i.select.noMatch');\n } else {\n return this.notFoundText;\n }\n },\n querySelections: function querySelections() {\n var _this = this;\n\n var selections = [];\n function getSelections(arr, label, value) {\n for (var i = 0; i < arr.length; i++) {\n var item = arr[i];\n item.__label = label ? label + ' / ' + item.label : item.label;\n item.__value = value ? [].concat((0, _toConsumableArray3.default)(value), [item.value]) : [item.value];\n\n if (item.children && item.children.length) {\n getSelections(item.children, item.__label, item.__value);\n delete item.__label;\n delete item.__value;\n } else {\n selections.push({\n label: item.__label,\n value: item.__value,\n display: item.__label,\n item: item,\n disabled: !!item.disabled\n });\n }\n }\n }\n getSelections(this.data);\n selections = selections.filter(function (item) {\n (0, _newArrowCheck3.default)(this, _this);\n\n return item.label ? item.label.indexOf(this.query) > -1 : false;\n }.bind(this)).map(function (item) {\n (0, _newArrowCheck3.default)(this, _this);\n\n item.display = item.display.replace(new RegExp(this.query, 'g'), '<span>' + String(this.query) + '</span>');\n return item;\n }.bind(this));\n return selections;\n },\n arrowType: function arrowType() {\n var type = 'ios-arrow-down';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.cascader.customArrow) {\n type = '';\n } else if (this.$IVIEW.cascader.arrow) {\n type = this.$IVIEW.cascader.arrow;\n }\n }\n return type;\n },\n customArrowType: function customArrowType() {\n var type = '';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.cascader.customArrow) {\n type = this.$IVIEW.cascader.customArrow;\n }\n }\n return type;\n },\n arrowSize: function arrowSize() {\n var size = '';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.cascader.arrowSize) {\n size = this.$IVIEW.cascader.arrowSize;\n }\n }\n return size;\n }\n },\n methods: {\n clearSelect: function clearSelect() {\n if (this.disabled) return false;\n var oldVal = (0, _stringify2.default)(this.currentValue);\n this.currentValue = this.selected = this.tmpSelected = [];\n this.handleClose();\n this.emitValue(this.currentValue, oldVal);\n\n this.broadcast('Caspanel', 'on-clear');\n },\n handleClose: function handleClose() {\n this.visible = false;\n },\n toggleOpen: function toggleOpen() {\n if (this.disabled) return false;\n if (this.visible) {\n if (!this.filterable) this.handleClose();\n } else {\n this.onFocus();\n }\n },\n onFocus: function onFocus() {\n this.visible = true;\n if (!this.currentValue.length) {\n this.broadcast('Caspanel', 'on-clear');\n }\n },\n updateResult: function updateResult(result) {\n this.tmpSelected = result;\n },\n updateSelected: function updateSelected() {\n var init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var changeOnSelectDataChange = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!this.changeOnSelect || init || changeOnSelectDataChange) {\n this.broadcast('Caspanel', 'on-find-selected', {\n value: this.currentValue\n });\n }\n },\n emitValue: function emitValue(val, oldVal) {\n var _this2 = this;\n\n if ((0, _stringify2.default)(val) !== oldVal) {\n this.$emit('on-change', this.currentValue, JSON.parse((0, _stringify2.default)(this.selected)));\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this2);\n\n this.dispatch('FormItem', 'on-form-change', {\n value: this.currentValue,\n selected: JSON.parse((0, _stringify2.default)(this.selected))\n });\n }.bind(this));\n }\n },\n handleInput: function handleInput(event) {\n this.query = event.target.value;\n },\n handleSelectItem: function handleSelectItem(index) {\n var _this3 = this;\n\n var item = this.querySelections[index];\n\n if (item.item.disabled) return false;\n this.query = '';\n this.$refs.input.currentValue = '';\n var oldVal = (0, _stringify2.default)(this.currentValue);\n this.currentValue = item.value;\n\n setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this3);\n\n this.emitValue(this.currentValue, oldVal);\n this.handleClose();\n }.bind(this), 0);\n },\n handleFocus: function handleFocus() {\n this.$refs.input.focus();\n },\n getValidData: function getValidData(data) {\n var _this5 = this;\n\n function deleteData(item) {\n var _this4 = this;\n\n var new_item = (0, _assign2.default)({}, item);\n if ('loading' in new_item) {\n delete new_item.loading;\n }\n if ('__value' in new_item) {\n delete new_item.__value;\n }\n if ('__label' in new_item) {\n delete new_item.__label;\n }\n if (Array.isArray(new_item.children) && new_item.children.length) {\n new_item.children = new_item.children.map(function (i) {\n (0, _newArrowCheck3.default)(this, _this4);\n return deleteData(i);\n }.bind(this));\n }\n return new_item;\n }\n\n return data.map(function (item) {\n (0, _newArrowCheck3.default)(this, _this5);\n return deleteData(item);\n }.bind(this));\n }\n },\n created: function created() {\n var _this6 = this;\n\n this.validDataStr = (0, _stringify2.default)(this.getValidData(this.data));\n this.$on('on-result-change', function (params) {\n (0, _newArrowCheck3.default)(this, _this6);\n\n var lastValue = params.lastValue;\n var changeOnSelect = params.changeOnSelect;\n var fromInit = params.fromInit;\n\n if (lastValue || changeOnSelect) {\n var oldVal = (0, _stringify2.default)(this.currentValue);\n this.selected = this.tmpSelected;\n\n var newVal = [];\n this.selected.forEach(function (item) {\n (0, _newArrowCheck3.default)(this, _this6);\n\n newVal.push(item.value);\n }.bind(this));\n\n if (!fromInit) {\n this.updatingValue = true;\n this.currentValue = newVal;\n this.emitValue(this.currentValue, oldVal);\n }\n }\n if (lastValue && !fromInit) {\n this.handleClose();\n }\n }.bind(this));\n },\n mounted: function mounted() {\n this.updateSelected(true);\n },\n\n watch: {\n visible: function visible(val) {\n if (val) {\n if (this.currentValue.length) {\n this.updateSelected();\n }\n if (this.transfer) {\n this.$refs.drop.update();\n }\n this.broadcast('Drop', 'on-update-popper');\n } else {\n if (this.filterable) {\n this.query = '';\n this.$refs.input.currentValue = '';\n }\n if (this.transfer) {\n this.$refs.drop.destroy();\n }\n this.broadcast('Drop', 'on-destroy-popper');\n }\n this.$emit('on-visible-change', val);\n },\n value: function value(val) {\n this.currentValue = val;\n if (!val.length) this.selected = [];\n },\n currentValue: function currentValue() {\n this.$emit('input', this.currentValue);\n if (this.updatingValue) {\n this.updatingValue = false;\n return;\n }\n this.updateSelected(true);\n },\n\n data: {\n deep: true,\n handler: function handler() {\n var _this7 = this;\n\n var validDataStr = (0, _stringify2.default)(this.getValidData(this.data));\n if (validDataStr !== this.validDataStr) {\n this.validDataStr = validDataStr;\n if (!this.isLoadedChildren) {\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this7);\n return this.updateSelected(false, this.changeOnSelect);\n }.bind(this));\n }\n this.isLoadedChildren = false;\n }\n }\n }\n }\n};\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(16);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _assign = __webpack_require__(14);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _casitem = __webpack_require__(357);\n\nvar _casitem2 = _interopRequireDefault(_casitem);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar key = 1;\n\nexports.default = {\n name: 'Caspanel',\n mixins: [_emitter2.default],\n components: { Casitem: _casitem2.default },\n props: {\n data: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n disabled: Boolean,\n changeOnSelect: Boolean,\n trigger: String,\n prefixCls: String\n },\n data: function data() {\n return {\n tmpItem: {},\n result: [],\n sublist: []\n };\n },\n\n watch: {\n data: function data() {\n this.sublist = [];\n }\n },\n methods: {\n handleClickItem: function handleClickItem(item) {\n if (this.trigger !== 'click' && item.children && item.children.length) return;\n this.handleTriggerItem(item, false, true);\n },\n handleHoverItem: function handleHoverItem(item) {\n if (this.trigger !== 'hover' || !item.children || !item.children.length) return;\n this.handleTriggerItem(item, false, true);\n },\n handleTriggerItem: function handleTriggerItem(item) {\n var _this = this;\n\n var fromInit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var fromUser = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (item.disabled) return;\n\n var cascader = (0, _assist.findComponentUpward)(this, 'Cascader');\n if (item.loading !== undefined && !item.children.length) {\n if (cascader && cascader.loadData) {\n cascader.loadData(item, function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n if (fromUser) {\n cascader.isLoadedChildren = true;\n }\n if (item.children.length) {\n this.handleTriggerItem(item);\n }\n }.bind(this));\n return;\n }\n }\n\n var backItem = this.getBaseItem(item);\n\n if (this.changeOnSelect || backItem.label !== this.tmpItem.label || backItem.value !== this.tmpItem.value || backItem.label === this.tmpItem.label && backItem.value === this.tmpItem.value) {\n this.tmpItem = backItem;\n this.emitUpdate([backItem]);\n }\n\n if (item.children && item.children.length) {\n this.sublist = item.children;\n this.dispatch('Cascader', 'on-result-change', {\n lastValue: false,\n changeOnSelect: this.changeOnSelect,\n fromInit: fromInit\n });\n\n if (this.changeOnSelect) {\n var Caspanel = (0, _assist.findComponentDownward)(this, 'Caspanel');\n if (Caspanel) {\n Caspanel.$emit('on-clear', true);\n }\n }\n } else {\n this.sublist = [];\n this.dispatch('Cascader', 'on-result-change', {\n lastValue: true,\n changeOnSelect: this.changeOnSelect,\n fromInit: fromInit\n });\n }\n\n if (cascader) {\n cascader.$refs.drop.update();\n }\n },\n updateResult: function updateResult(item) {\n this.result = [this.tmpItem].concat(item);\n this.emitUpdate(this.result);\n },\n getBaseItem: function getBaseItem(item) {\n var backItem = (0, _assign2.default)({}, item);\n if (backItem.children) {\n delete backItem.children;\n }\n\n return backItem;\n },\n emitUpdate: function emitUpdate(result) {\n if (this.$parent.$options.name === 'Caspanel') {\n this.$parent.updateResult(result);\n } else {\n this.$parent.$parent.updateResult(result);\n }\n },\n getKey: function getKey() {\n return key++;\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.$on('on-find-selected', function (params) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n var val = params.value;\n var value = [].concat((0, _toConsumableArray3.default)(val));\n for (var i = 0; i < value.length; i++) {\n for (var j = 0; j < this.data.length; j++) {\n if (value[i] === this.data[j].value) {\n this.handleTriggerItem(this.data[j], true);\n value.splice(0, 1);\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this2);\n\n this.broadcast('Caspanel', 'on-find-selected', {\n value: value\n });\n }.bind(this));\n return false;\n }\n }\n }\n }.bind(this));\n\n this.$on('on-clear', function () {\n var deep = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n (0, _newArrowCheck3.default)(this, _this2);\n\n this.sublist = [];\n this.tmpItem = {};\n if (deep) {\n var Caspanel = (0, _assist.findComponentDownward)(this, 'Caspanel');\n if (Caspanel) {\n Caspanel.$emit('on-clear', true);\n }\n }\n }.bind(this));\n }\n};\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _icon = __webpack_require__(8);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'Casitem',\n components: { Icon: _icon2.default },\n props: {\n data: Object,\n prefixCls: String,\n tmpItem: Object\n },\n computed: {\n classes: function classes() {\n var _ref;\n\n return [String(this.prefixCls) + '-menu-item', (_ref = {}, (0, _defineProperty3.default)(_ref, String(this.prefixCls) + '-menu-item-active', this.tmpItem.value === this.data.value), (0, _defineProperty3.default)(_ref, String(this.prefixCls) + '-menu-item-disabled', this.data.disabled), _ref)];\n },\n showArrow: function showArrow() {\n return this.data.children && this.data.children.length || 'loading' in this.data && !this.data.loading;\n },\n showLoading: function showLoading() {\n return 'loading' in this.data && this.data.loading;\n },\n arrowType: function arrowType() {\n var type = 'ios-arrow-forward';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.cascader.customItemArrow) {\n type = '';\n } else if (this.$IVIEW.cascader.itemArrow) {\n type = this.$IVIEW.cascader.itemArrow;\n }\n }\n return type;\n },\n customArrowType: function customArrowType() {\n var type = '';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.cascader.customItemArrow) {\n type = this.$IVIEW.cascader.customItemArrow;\n }\n }\n return type;\n },\n arrowSize: function arrowSize() {\n var size = '';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.cascader.itemArrowSize) {\n size = this.$IVIEW.cascader.itemArrowSize;\n }\n }\n return size;\n }\n }\n};\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _cellItem = __webpack_require__(363);\n\nvar _cellItem2 = _interopRequireDefault(_cellItem);\n\nvar _icon = __webpack_require__(8);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _link = __webpack_require__(55);\n\nvar _link2 = _interopRequireDefault(_link);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-cell';\n\nexports.default = {\n name: 'Cell',\n inject: ['cellGroup'],\n mixins: [_link2.default],\n components: { CellItem: _cellItem2.default, Icon: _icon2.default },\n props: {\n name: {\n type: [String, Number]\n },\n title: {\n type: String,\n default: ''\n },\n label: {\n type: String,\n default: ''\n },\n extra: {\n type: String,\n default: ''\n },\n disabled: {\n type: Boolean,\n default: false\n },\n selected: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls\n };\n },\n\n computed: {\n classes: function classes() {\n var _ref;\n\n return ['' + prefixCls, (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-disabled', this.disabled), (0, _defineProperty3.default)(_ref, prefixCls + '-selected', this.selected), (0, _defineProperty3.default)(_ref, prefixCls + '-with-link', this.to), _ref)];\n },\n arrowType: function arrowType() {\n var type = 'ios-arrow-forward';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.cell.customArrow) {\n type = '';\n } else if (this.$IVIEW.cell.arrow) {\n type = this.$IVIEW.cell.arrow;\n }\n }\n return type;\n },\n customArrowType: function customArrowType() {\n var type = '';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.cell.customArrow) {\n type = this.$IVIEW.cell.customArrow;\n }\n }\n return type;\n },\n arrowSize: function arrowSize() {\n var size = '';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.cell.arrowSize) {\n size = this.$IVIEW.cell.arrowSize;\n }\n }\n return size;\n }\n },\n methods: {\n handleClickItem: function handleClickItem(event, new_window) {\n this.cellGroup.handleClick(this.name);\n\n this.handleCheckClick(event, new_window);\n }\n }\n};\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n props: {\n title: {\n type: String,\n default: ''\n },\n label: {\n type: String,\n default: ''\n },\n extra: {\n type: String,\n default: ''\n }\n }\n};\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: 'CellGroup',\n provide: function provide() {\n return {\n cellGroup: this\n };\n },\n\n methods: {\n handleClick: function handleClick(name) {\n this.$emit('on-click', name);\n }\n }\n};\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assist = __webpack_require__(3);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-checkbox';\n\nexports.default = {\n name: 'Checkbox',\n mixins: [_emitter2.default],\n props: {\n disabled: {\n type: Boolean,\n default: false\n },\n value: {\n type: [String, Number, Boolean],\n default: false\n },\n trueValue: {\n type: [String, Number, Boolean],\n default: true\n },\n falseValue: {\n type: [String, Number, Boolean],\n default: false\n },\n label: {\n type: [String, Number, Boolean]\n },\n indeterminate: {\n type: Boolean,\n default: false\n },\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small', 'large', 'default']);\n },\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.size === '' ? 'default' : this.$IVIEW.size;\n }\n },\n name: {\n type: String\n }\n },\n data: function data() {\n return {\n model: [],\n currentValue: this.value,\n group: false,\n showSlot: true,\n parent: (0, _assist.findComponentUpward)(this, 'CheckboxGroup'),\n focusInner: false\n };\n },\n\n computed: {\n wrapClasses: function wrapClasses() {\n var _ref;\n\n return [prefixCls + '-wrapper', (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-group-item', this.group), (0, _defineProperty3.default)(_ref, prefixCls + '-wrapper-checked', this.currentValue), (0, _defineProperty3.default)(_ref, prefixCls + '-wrapper-disabled', this.disabled), (0, _defineProperty3.default)(_ref, prefixCls + '-' + String(this.size), !!this.size), _ref)];\n },\n checkboxClasses: function checkboxClasses() {\n var _ref2;\n\n return ['' + prefixCls, (_ref2 = {}, (0, _defineProperty3.default)(_ref2, prefixCls + '-checked', this.currentValue), (0, _defineProperty3.default)(_ref2, prefixCls + '-disabled', this.disabled), (0, _defineProperty3.default)(_ref2, prefixCls + '-indeterminate', this.indeterminate), _ref2)];\n },\n innerClasses: function innerClasses() {\n return [prefixCls + '-inner', (0, _defineProperty3.default)({}, prefixCls + '-focus', this.focusInner)];\n },\n inputClasses: function inputClasses() {\n return prefixCls + '-input';\n }\n },\n mounted: function mounted() {\n this.parent = (0, _assist.findComponentUpward)(this, 'CheckboxGroup');\n if (this.parent) {\n this.group = true;\n }\n\n if (this.group) {\n this.parent.updateModel(true);\n } else {\n this.updateModel();\n this.showSlot = this.$slots.default !== undefined;\n }\n },\n\n methods: {\n change: function change(event) {\n if (this.disabled) {\n return false;\n }\n\n var checked = event.target.checked;\n this.currentValue = checked;\n\n var value = checked ? this.trueValue : this.falseValue;\n this.$emit('input', value);\n\n if (this.group) {\n this.parent.change(this.model);\n } else {\n this.$emit('on-change', value);\n this.dispatch('FormItem', 'on-form-change', value);\n }\n },\n updateModel: function updateModel() {\n this.currentValue = this.value === this.trueValue;\n },\n onBlur: function onBlur() {\n this.focusInner = false;\n },\n onFocus: function onFocus() {\n this.focusInner = true;\n }\n },\n watch: {\n value: function value(val) {\n if (val === this.trueValue || val === this.falseValue) {\n this.updateModel();\n } else {\n throw 'Value should be trueValue or falseValue.';\n }\n }\n }\n};\n\n/***/ }),\n/* 133 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_checkbox_group_vue__ = __webpack_require__(134);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_checkbox_group_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_checkbox_group_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_checkbox_group_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_checkbox_group_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_21d5b670_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_checkbox_group_vue__ = __webpack_require__(370);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_21d5b670_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_checkbox_group_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_21d5b670_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_checkbox_group_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_checkbox_group_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_21d5b670_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_checkbox_group_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_21d5b670_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_checkbox_group_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assist = __webpack_require__(3);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-checkbox-group';\n\nexports.default = {\n name: 'CheckboxGroup',\n mixins: [_emitter2.default],\n props: {\n value: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small', 'large', 'default']);\n },\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.size === '' ? 'default' : this.$IVIEW.size;\n }\n }\n },\n data: function data() {\n return {\n currentValue: this.value,\n childrens: []\n };\n },\n\n computed: {\n classes: function classes() {\n return ['' + prefixCls, (0, _defineProperty3.default)({}, 'ivu-checkbox-' + String(this.size), !!this.size)];\n }\n },\n mounted: function mounted() {\n this.updateModel(true);\n },\n\n methods: {\n updateModel: function updateModel(update) {\n var _this = this;\n\n this.childrens = (0, _assist.findComponentsDownward)(this, 'Checkbox', 'CheckboxGroup');\n if (this.childrens) {\n var value = this.value;\n\n this.childrens.forEach(function (child) {\n (0, _newArrowCheck3.default)(this, _this);\n\n child.model = value;\n\n if (update) {\n child.currentValue = value.indexOf(child.label) >= 0;\n child.group = true;\n }\n }.bind(this));\n }\n },\n change: function change(data) {\n this.currentValue = data;\n this.$emit('input', data);\n this.$emit('on-change', data);\n this.dispatch('FormItem', 'on-form-change', data);\n }\n },\n watch: {\n value: function value() {\n this.updateModel(true);\n }\n }\n};\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assist = __webpack_require__(3);\n\nvar prefixCls = 'ivu-chart-circle';\n\nexports.default = {\n name: 'iCircle',\n props: {\n percent: {\n type: Number,\n default: 0\n },\n size: {\n type: Number,\n default: 120\n },\n strokeWidth: {\n type: Number,\n default: 6\n },\n strokeColor: {\n type: String,\n default: '#2d8cf0'\n },\n strokeLinecap: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['square', 'round']);\n },\n\n default: 'round'\n },\n trailWidth: {\n type: Number,\n default: 5\n },\n trailColor: {\n type: String,\n default: '#eaeef2'\n },\n dashboard: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n circleSize: function circleSize() {\n return {\n width: String(this.size) + 'px',\n height: String(this.size) + 'px'\n };\n },\n computedStrokeWidth: function computedStrokeWidth() {\n return this.percent === 0 && this.dashboard ? 0 : this.strokeWidth;\n },\n radius: function radius() {\n return 50 - this.strokeWidth / 2;\n },\n pathString: function pathString() {\n if (this.dashboard) {\n return 'M 50,50 m 0,' + String(this.radius) + '\\n a ' + String(this.radius) + ',' + String(this.radius) + ' 0 1 1 0,-' + 2 * this.radius + '\\n a ' + String(this.radius) + ',' + String(this.radius) + ' 0 1 1 0,' + 2 * this.radius;\n } else {\n return 'M 50,50 m 0,-' + String(this.radius) + '\\n a ' + String(this.radius) + ',' + String(this.radius) + ' 0 1 1 0,' + 2 * this.radius + '\\n a ' + String(this.radius) + ',' + String(this.radius) + ' 0 1 1 0,-' + 2 * this.radius;\n }\n },\n len: function len() {\n return Math.PI * 2 * this.radius;\n },\n trailStyle: function trailStyle() {\n var style = {};\n if (this.dashboard) {\n style = {\n 'stroke-dasharray': this.len - 75 + 'px ' + String(this.len) + 'px',\n 'stroke-dashoffset': '-' + 75 / 2 + 'px',\n 'transition': 'stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s'\n };\n }\n return style;\n },\n pathStyle: function pathStyle() {\n var style = {};\n if (this.dashboard) {\n style = {\n 'stroke-dasharray': this.percent / 100 * (this.len - 75) + 'px ' + String(this.len) + 'px',\n 'stroke-dashoffset': '-' + 75 / 2 + 'px',\n 'transition': 'stroke-dashoffset .3s ease 0s, stroke-dasharray .6s ease 0s, stroke .6s, stroke-width .06s ease .6s'\n };\n } else {\n style = {\n 'stroke-dasharray': String(this.len) + 'px ' + String(this.len) + 'px',\n 'stroke-dashoffset': (100 - this.percent) / 100 * this.len + 'px',\n 'transition': 'stroke-dashoffset 0.6s ease 0s, stroke 0.6s ease'\n };\n }\n return style;\n },\n wrapClasses: function wrapClasses() {\n return '' + prefixCls;\n },\n innerClasses: function innerClasses() {\n return prefixCls + '-inner';\n }\n }\n};\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-collapse';\n\nexports.default = {\n name: 'Collapse',\n props: {\n accordion: {\n type: Boolean,\n default: false\n },\n value: {\n type: [Array, String]\n },\n simple: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n currentValue: this.value\n };\n },\n\n computed: {\n classes: function classes() {\n return ['' + prefixCls, (0, _defineProperty3.default)({}, prefixCls + '-simple', this.simple)];\n }\n },\n mounted: function mounted() {\n this.setActive();\n },\n\n methods: {\n setActive: function setActive() {\n var _this = this;\n\n var activeKey = this.getActiveKey();\n\n this.$children.forEach(function (child, index) {\n (0, _newArrowCheck3.default)(this, _this);\n\n var name = child.name || index.toString();\n\n child.isActive = activeKey.indexOf(name) > -1;\n child.index = index;\n }.bind(this));\n },\n getActiveKey: function getActiveKey() {\n var activeKey = this.currentValue || [];\n var accordion = this.accordion;\n\n if (!Array.isArray(activeKey)) {\n activeKey = [activeKey];\n }\n\n if (accordion && activeKey.length > 1) {\n activeKey = [activeKey[0]];\n }\n\n for (var i = 0; i < activeKey.length; i++) {\n activeKey[i] = activeKey[i].toString();\n }\n\n return activeKey;\n },\n toggle: function toggle(data) {\n var name = data.name.toString();\n var newActiveKey = [];\n\n if (this.accordion) {\n if (!data.isActive) {\n newActiveKey.push(name);\n }\n } else {\n var activeKey = this.getActiveKey();\n var nameIndex = activeKey.indexOf(name);\n\n if (data.isActive) {\n if (nameIndex > -1) {\n activeKey.splice(nameIndex, 1);\n }\n } else {\n if (nameIndex < 0) {\n activeKey.push(name);\n }\n }\n\n newActiveKey = activeKey;\n }\n\n this.currentValue = newActiveKey;\n this.$emit('input', newActiveKey);\n this.$emit('on-change', newActiveKey);\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n },\n currentValue: function currentValue() {\n this.setActive();\n }\n }\n};\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _icon = __webpack_require__(8);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _collapseTransition = __webpack_require__(75);\n\nvar _collapseTransition2 = _interopRequireDefault(_collapseTransition);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-collapse';\n\nexports.default = {\n name: 'Panel',\n components: { Icon: _icon2.default, CollapseTransition: _collapseTransition2.default },\n props: {\n name: {\n type: String\n },\n hideArrow: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n index: 0,\n isActive: false,\n mounted: false\n };\n },\n\n computed: {\n itemClasses: function itemClasses() {\n return [prefixCls + '-item', (0, _defineProperty3.default)({}, prefixCls + '-item-active', this.isActive)];\n },\n headerClasses: function headerClasses() {\n return prefixCls + '-header';\n },\n contentClasses: function contentClasses() {\n return prefixCls + '-content';\n },\n boxClasses: function boxClasses() {\n return prefixCls + '-content-box';\n }\n },\n methods: {\n toggle: function toggle() {\n this.$parent.toggle({\n name: this.name || this.index,\n isActive: this.isActive\n });\n }\n },\n mounted: function mounted() {\n this.mounted = true;\n }\n};\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _tinycolor = __webpack_require__(139);\n\nvar _tinycolor2 = _interopRequireDefault(_tinycolor);\n\nvar _vClickOutsideX = __webpack_require__(35);\n\nvar _transferDom = __webpack_require__(21);\n\nvar _transferDom2 = _interopRequireDefault(_transferDom);\n\nvar _dropdown = __webpack_require__(33);\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nvar _recommendColors = __webpack_require__(381);\n\nvar _recommendColors2 = _interopRequireDefault(_recommendColors);\n\nvar _saturation = __webpack_require__(383);\n\nvar _saturation2 = _interopRequireDefault(_saturation);\n\nvar _hue = __webpack_require__(385);\n\nvar _hue2 = _interopRequireDefault(_hue);\n\nvar _alpha = __webpack_require__(387);\n\nvar _alpha2 = _interopRequireDefault(_alpha);\n\nvar _input = __webpack_require__(37);\n\nvar _input2 = _interopRequireDefault(_input);\n\nvar _button = __webpack_require__(24);\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _icon = __webpack_require__(8);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nvar _assist = __webpack_require__(3);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _prefixMixin = __webpack_require__(47);\n\nvar _prefixMixin2 = _interopRequireDefault(_prefixMixin);\n\nvar _utils = __webpack_require__(38);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'ColorPicker',\n\n components: { Drop: _dropdown2.default, RecommendColors: _recommendColors2.default, Saturation: _saturation2.default, Hue: _hue2.default, Alpha: _alpha2.default, iInput: _input2.default, iButton: _button2.default, Icon: _icon2.default },\n\n directives: { clickOutside: _vClickOutsideX.directive, TransferDom: _transferDom2.default },\n\n mixins: [_emitter2.default, _locale2.default, _prefixMixin2.default],\n\n props: {\n value: {\n type: String,\n default: undefined\n },\n hue: {\n type: Boolean,\n default: true\n },\n alpha: {\n type: Boolean,\n default: false\n },\n recommend: {\n type: Boolean,\n default: false\n },\n format: {\n type: String,\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['hsl', 'hsv', 'hex', 'rgb']);\n },\n\n default: undefined\n },\n colors: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n disabled: {\n type: Boolean,\n default: false\n },\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small', 'large', 'default']);\n },\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.size === '' ? 'default' : this.$IVIEW.size;\n }\n },\n hideDropDown: {\n type: Boolean,\n default: false\n },\n placement: {\n type: String,\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end', 'right', 'right-start', 'right-end']);\n },\n\n default: 'bottom'\n },\n transfer: {\n type: Boolean,\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.transfer === '' ? false : this.$IVIEW.transfer;\n }\n },\n name: {\n type: String,\n default: undefined\n },\n editable: {\n type: Boolean,\n default: true\n }\n },\n\n data: function data() {\n return {\n val: (0, _utils.changeColor)(this.value),\n currentValue: this.value,\n dragging: false,\n visible: false,\n recommendedColor: ['#2d8cf0', '#19be6b', '#ff9900', '#ed4014', '#00b5ff', '#19c919', '#f9e31c', '#ea1a1a', '#9b1dea', '#00c2b1', '#ac7a33', '#1d35ea', '#8bc34a', '#f16b62', '#ea4ca3', '#0d94aa', '#febd79', '#5d4037', '#00bcd4', '#f06292', '#cddc39', '#607d8b', '#000000', '#ffffff']\n };\n },\n\n\n computed: {\n arrowClasses: function arrowClasses() {\n return [String(this.inputPrefixCls) + '-icon', String(this.inputPrefixCls) + '-icon-normal'];\n },\n transition: function transition() {\n return (0, _assist.oneOf)(this.placement, ['bottom-start', 'bottom', 'bottom-end']) ? 'slide-up' : 'fade';\n },\n\n saturationColors: {\n get: function get() {\n return this.val;\n },\n set: function set(newVal) {\n this.val = newVal;\n this.$emit('on-active-change', this.formatColor);\n }\n },\n classes: function classes() {\n return ['' + String(this.prefixCls), (0, _defineProperty3.default)({}, String(this.prefixCls) + '-transfer', this.transfer)];\n },\n wrapClasses: function wrapClasses() {\n return [String(this.prefixCls) + '-rel', String(this.prefixCls) + '-' + String(this.size), String(this.inputPrefixCls) + '-wrapper', String(this.inputPrefixCls) + '-wrapper-' + String(this.size), (0, _defineProperty3.default)({}, String(this.prefixCls) + '-disabled', this.disabled)];\n },\n inputClasses: function inputClasses() {\n var _ref3;\n\n return [String(this.prefixCls) + '-input', '' + String(this.inputPrefixCls), String(this.inputPrefixCls) + '-' + String(this.size), (_ref3 = {}, (0, _defineProperty3.default)(_ref3, String(this.prefixCls) + '-focused', this.visible), (0, _defineProperty3.default)(_ref3, String(this.prefixCls) + '-disabled', this.disabled), _ref3)];\n },\n dropClasses: function dropClasses() {\n var _ref4;\n\n return [String(this.transferPrefixCls) + '-no-max-height', (_ref4 = {}, (0, _defineProperty3.default)(_ref4, String(this.prefixCls) + '-transfer', this.transfer), (0, _defineProperty3.default)(_ref4, String(this.prefixCls) + '-hide-drop', this.hideDropDown), _ref4)];\n },\n displayedColorStyle: function displayedColorStyle() {\n return { backgroundColor: (0, _utils.toRGBAString)(this.visible ? this.saturationColors.rgba : (0, _tinycolor2.default)(this.value).toRgb()) };\n },\n formatColor: function formatColor() {\n var format = this.format,\n saturationColors = this.saturationColors;\n\n\n if (format) {\n if (format === 'hsl') {\n return (0, _tinycolor2.default)(saturationColors.hsl).toHslString();\n }\n\n if (format === 'hsv') {\n return (0, _tinycolor2.default)(saturationColors.hsv).toHsvString();\n }\n\n if (format === 'hex') {\n return saturationColors.hex;\n }\n\n if (format === 'rgb') {\n return (0, _utils.toRGBAString)(saturationColors.rgba);\n }\n } else if (this.alpha) {\n return (0, _utils.toRGBAString)(saturationColors.rgba);\n }\n\n return saturationColors.hex;\n },\n confirmColorClasses: function confirmColorClasses() {\n return [String(this.prefixCls) + '-confirm-color', (0, _defineProperty3.default)({}, String(this.prefixCls) + '-confirm-color-editable', this.editable)];\n },\n arrowType: function arrowType() {\n var type = 'ios-arrow-down';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.colorPicker.customArrow) {\n type = '';\n } else if (this.$IVIEW.colorPicker.arrow) {\n type = this.$IVIEW.colorPicker.arrow;\n }\n }\n return type;\n },\n customArrowType: function customArrowType() {\n var type = '';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.colorPicker.customArrow) {\n type = this.$IVIEW.colorPicker.customArrow;\n }\n }\n return type;\n },\n arrowSize: function arrowSize() {\n var size = '';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.colorPicker.arrowSize) {\n size = this.$IVIEW.colorPicker.arrowSize;\n }\n }\n return size;\n }\n },\n\n watch: {\n value: function value(newVal) {\n this.val = (0, _utils.changeColor)(newVal);\n },\n visible: function visible(val) {\n this.val = (0, _utils.changeColor)(this.value);\n this.$refs.drop[val ? 'update' : 'destroy']();\n this.$emit('on-open-change', Boolean(val));\n }\n },\n\n mounted: function mounted() {\n this.$on('on-escape-keydown', this.closer);\n this.$on('on-dragging', this.setDragging);\n },\n\n\n methods: {\n setDragging: function setDragging(value) {\n this.dragging = value;\n },\n handleClose: function handleClose(event) {\n if (this.visible) {\n if (this.dragging || event.type === 'mousedown') {\n event.preventDefault();\n return;\n }\n\n if (this.transfer) {\n var $el = this.$refs.drop.$el;\n\n if ($el === event.target || $el.contains(event.target)) {\n return;\n }\n }\n\n this.closer(event);\n return;\n }\n\n this.visible = false;\n },\n toggleVisible: function toggleVisible() {\n if (this.disabled) {\n return;\n }\n\n this.visible = !this.visible;\n this.$refs.input.focus();\n },\n childChange: function childChange(data) {\n this.colorChange(data);\n },\n colorChange: function colorChange(data, oldHue) {\n this.oldHue = this.saturationColors.hsl.h;\n this.saturationColors = (0, _utils.changeColor)(data, oldHue || this.oldHue);\n },\n closer: function closer(event) {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n this.visible = false;\n this.$refs.input.focus();\n },\n handleButtons: function handleButtons(event, value) {\n this.currentValue = value;\n this.$emit('input', value);\n this.$emit('on-change', value);\n this.dispatch('FormItem', 'on-form-change', value);\n this.closer(event);\n },\n handleSuccess: function handleSuccess(event) {\n this.handleButtons(event, this.formatColor);\n this.$emit('on-pick-success');\n },\n handleClear: function handleClear(event) {\n this.handleButtons(event, '');\n this.$emit('on-pick-clear');\n },\n handleSelectColor: function handleSelectColor(color) {\n this.val = (0, _utils.changeColor)(color);\n this.$emit('on-active-change', this.formatColor);\n },\n handleEditColor: function handleEditColor(event) {\n var value = event.target.value;\n this.handleSelectColor(value);\n },\n handleFirstTab: function handleFirstTab(event) {\n if (event.shiftKey) {\n event.preventDefault();\n event.stopPropagation();\n this.$refs.ok.$el.focus();\n }\n },\n handleLastTab: function handleLastTab(event) {\n if (!event.shiftKey) {\n event.preventDefault();\n event.stopPropagation();\n this.$refs.saturation.$el.focus();\n }\n },\n onTab: function onTab(event) {\n if (this.visible) {\n event.preventDefault();\n }\n },\n onEscape: function onEscape(event) {\n if (this.visible) {\n this.closer(event);\n }\n },\n onArrow: function onArrow(event) {\n if (!this.visible) {\n event.preventDefault();\n event.stopPropagation();\n this.visible = true;\n }\n }\n }\n};\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_RESULT__;// TinyColor v1.4.1\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\n var rgb = inputToRGB(color);\n this._originalInput = color,\n this._r = rgb.r,\n this._g = rgb.g,\n this._b = rgb.b,\n this._a = rgb.a,\n this._roundA = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// <http://www.w3.org/TR/css3-color/>\n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>\n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>\n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)\n\n// `contrast`\n// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)\ntinycolor.readability = function(color1, color2) {\n var c1 = tinycolor(color1);\n var c2 = tinycolor(color2);\n return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05);\n};\n\n// `isReadable`\n// Ensure that foreground and background color combinations meet WCAG2 guidelines.\n// The third argument is an optional Object.\n// the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';\n// the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.\n// If the entire object is absent, isReadable defaults to {level:\"AA\",size:\"small\"}.\n\n// *Example*\n// tinycolor.isReadable(\"#000\", \"#111\") => false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// <http://www.w3.org/TR/css3-color/#svg-color>\nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // <http://www.w3.org/TR/css3-values/#integers>\n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // <http://www.w3.org/TR/css3-values/#number-value>\n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (true) {\n !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {return tinycolor;}).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n}\n// Browser: Expose to window\nelse {\n window.tinycolor = tinycolor;\n}\n\n})(Math);\n\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(31);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _handleEscapeMixin = __webpack_require__(141);\n\nvar _handleEscapeMixin2 = _interopRequireDefault(_handleEscapeMixin);\n\nvar _prefixMixin = __webpack_require__(47);\n\nvar _prefixMixin2 = _interopRequireDefault(_prefixMixin);\n\nvar _utils = __webpack_require__(38);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'RecommendedColors',\n\n mixins: [_emitter2.default, _handleEscapeMixin2.default, _prefixMixin2.default],\n\n props: {\n list: {\n type: Array,\n default: undefined\n }\n },\n\n data: function data() {\n var columns = 12;\n var rows = Math.ceil(this.list.length / columns);\n var normalStep = 1;\n\n return {\n left: -normalStep,\n right: normalStep,\n up: -normalStep,\n down: normalStep,\n powerKey: 'shiftKey',\n grid: { x: 1, y: 1 },\n rows: rows,\n columns: columns\n };\n },\n\n\n computed: {\n hideClass: function hideClass() {\n return String(this.prefixCls) + '-hide';\n },\n linearIndex: function linearIndex() {\n return this.getLinearIndex(this.grid);\n },\n currentCircle: function currentCircle() {\n return this.$refs['color-circle-' + String(this.linearIndex)][0];\n }\n },\n\n methods: {\n getLinearIndex: function getLinearIndex(grid) {\n return this.columns * (grid.y - 1) + grid.x - 1;\n },\n getMaxLimit: function getMaxLimit(axis) {\n return axis === 'x' ? this.columns : this.rows;\n },\n handleArrow: function handleArrow(e, axis, direction) {\n e.preventDefault();\n e.stopPropagation();\n\n this.blurColor();\n\n var grid = (0, _extends3.default)({}, this.grid);\n\n if (e[this.powerKey]) {\n if (direction < 0) {\n grid[axis] = 1;\n } else {\n grid[axis] = this.getMaxLimit(axis);\n }\n } else {\n grid[axis] += direction;\n }\n\n var index = this.getLinearIndex(grid);\n\n if (index >= 0 && index < this.list.length) {\n this.grid[axis] = (0, _utils.clamp)(grid[axis], 1, this.getMaxLimit(axis));\n }\n\n this.focusColor();\n },\n blurColor: function blurColor() {\n this.currentCircle.classList.add(this.hideClass);\n },\n focusColor: function focusColor() {\n this.currentCircle.classList.remove(this.hideClass);\n },\n handleEnter: function handleEnter(e) {\n this.handleClick(e, this.currentCircle);\n },\n handleClick: function handleClick(e, circle) {\n e.preventDefault();\n e.stopPropagation();\n\n this.$refs.reference.focus();\n\n var target = circle || e.target;\n var colorId = target.dataset.colorId || target.parentElement.dataset.colorId;\n\n if (colorId) {\n this.blurColor();\n var id = Number(colorId) + 1;\n this.grid.x = id % this.columns || this.columns;\n this.grid.y = Math.ceil(id / this.columns);\n this.focusColor();\n this.$emit('picker-color', this.list[colorId]);\n this.$emit('change', { hex: this.list[colorId], source: 'hex' });\n }\n },\n lineBreak: function lineBreak(list, index) {\n if (!index) {\n return false;\n }\n\n var nextIndex = index + 1;\n\n return nextIndex < list.length && nextIndex % this.columns === 0;\n }\n }\n};\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n methods: {\n handleEscape: function handleEscape(e) {\n this.dispatch('ColorPicker', 'on-escape-keydown', e);\n }\n }\n};\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _hsaMixin = __webpack_require__(76);\n\nvar _hsaMixin2 = _interopRequireDefault(_hsaMixin);\n\nvar _prefixMixin = __webpack_require__(47);\n\nvar _prefixMixin2 = _interopRequireDefault(_prefixMixin);\n\nvar _utils = __webpack_require__(38);\n\nvar _dom = __webpack_require__(13);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'Saturation',\n\n mixins: [_hsaMixin2.default, _prefixMixin2.default],\n\n data: function data() {\n var normalStep = 0.01;\n\n return {\n left: -normalStep,\n right: normalStep,\n up: normalStep,\n down: -normalStep,\n multiplier: 10,\n powerKey: 'shiftKey'\n };\n },\n\n\n computed: {\n bgColorStyle: function bgColorStyle() {\n return { background: 'hsl(' + String(this.value.hsv.h) + ', 100%, 50%)' };\n },\n pointerStyle: function pointerStyle() {\n return { top: -(this.value.hsv.v * 100) + 1 + 100 + '%', left: this.value.hsv.s * 100 + '%' };\n }\n },\n\n methods: {\n change: function change(h, s, v, a) {\n this.$emit('change', { h: h, s: s, v: v, a: a, source: 'hsva' });\n },\n handleSlide: function handleSlide(e, direction, key) {\n e.preventDefault();\n e.stopPropagation();\n\n var isPowerKey = e[this.powerKey];\n var increment = isPowerKey ? direction * this.multiplier : direction;\n var _value$hsv = this.value.hsv,\n h = _value$hsv.h,\n s = _value$hsv.s,\n v = _value$hsv.v,\n a = _value$hsv.a;\n\n var saturation = (0, _utils.clamp)(s + (0, _utils.getIncrement)(key, ['left', 'right'], increment), 0, 1);\n var bright = (0, _utils.clamp)(v + (0, _utils.getIncrement)(key, ['up', 'down'], increment), 0, 1);\n\n this.change(h, saturation, bright, a);\n },\n handleChange: function handleChange(e) {\n e.preventDefault();\n e.stopPropagation();\n\n var _$refs$container = this.$refs.container,\n clientWidth = _$refs$container.clientWidth,\n clientHeight = _$refs$container.clientHeight;\n\n var left = (0, _utils.clamp)(this.getLeft(e), 0, clientWidth);\n var top = (0, _utils.clamp)(this.getTop(e), 0, clientHeight);\n var saturation = left / clientWidth;\n var bright = (0, _utils.clamp)(1 - top / clientHeight, 0, 1);\n\n this.change(this.value.hsv.h, saturation, bright, this.value.hsv.a);\n },\n handleMouseDown: function handleMouseDown(e) {\n _hsaMixin2.default.methods.handleMouseDown.call(this, e);\n\n (0, _dom.on)(window, 'mouseup', this.handleChange);\n },\n unbindEventListeners: function unbindEventListeners(e) {\n _hsaMixin2.default.methods.unbindEventListeners.call(this, e);\n\n (0, _dom.off)(window, 'mouseup', this.handleChange);\n }\n }\n};\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _hsaMixin = __webpack_require__(76);\n\nvar _hsaMixin2 = _interopRequireDefault(_hsaMixin);\n\nvar _prefixMixin = __webpack_require__(47);\n\nvar _prefixMixin2 = _interopRequireDefault(_prefixMixin);\n\nvar _utils = __webpack_require__(38);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'Hue',\n\n mixins: [_hsaMixin2.default, _prefixMixin2.default],\n\n data: function data() {\n var normalStep = 1 / 360 * 25;\n var jumpStep = 20 * normalStep;\n\n return {\n left: -normalStep,\n right: normalStep,\n up: jumpStep,\n down: -jumpStep,\n powerKey: 'shiftKey',\n percent: (0, _utils.clamp)(this.value.hsl.h * 100 / 360, 0, 100)\n };\n },\n\n\n watch: {\n value: function value() {\n this.percent = (0, _utils.clamp)(this.value.hsl.h * 100 / 360, 0, 100);\n }\n },\n\n methods: {\n change: function change(percent) {\n this.percent = (0, _utils.clamp)(percent, 0, 100);\n\n var _value$hsl = this.value.hsl,\n h = _value$hsl.h,\n s = _value$hsl.s,\n l = _value$hsl.l,\n a = _value$hsl.a;\n\n var newHue = (0, _utils.clamp)(percent / 100 * 360, 0, 360);\n\n if (h !== newHue) {\n this.$emit('change', { h: newHue, s: s, l: l, a: a, source: 'hsl' });\n }\n },\n handleSlide: function handleSlide(e, direction) {\n e.preventDefault();\n e.stopPropagation();\n\n if (e[this.powerKey]) {\n this.change(direction < 0 ? 0 : 100);\n return;\n }\n\n this.change(this.percent + direction);\n },\n handleChange: function handleChange(e) {\n e.preventDefault();\n e.stopPropagation();\n\n var left = this.getLeft(e);\n\n if (left < 0) {\n this.change(0);\n return;\n }\n\n var clientWidth = this.$refs.container.clientWidth;\n\n\n if (left > clientWidth) {\n this.change(100);\n return;\n }\n\n this.change(left * 100 / clientWidth);\n }\n }\n};\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _hsaMixin = __webpack_require__(76);\n\nvar _hsaMixin2 = _interopRequireDefault(_hsaMixin);\n\nvar _prefixMixin = __webpack_require__(47);\n\nvar _prefixMixin2 = _interopRequireDefault(_prefixMixin);\n\nvar _utils = __webpack_require__(38);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'Alpha',\n\n mixins: [_hsaMixin2.default, _prefixMixin2.default],\n\n data: function data() {\n var normalStep = 1;\n var jumpStep = 10;\n\n return {\n left: -normalStep,\n right: normalStep,\n up: jumpStep,\n down: -jumpStep,\n powerKey: 'shiftKey'\n };\n },\n\n\n computed: {\n gradientStyle: function gradientStyle() {\n var _value$rgba = this.value.rgba,\n r = _value$rgba.r,\n g = _value$rgba.g,\n b = _value$rgba.b;\n\n var start = (0, _utils.toRGBAString)({ r: r, g: g, b: b, a: 0 });\n var finish = (0, _utils.toRGBAString)({ r: r, g: g, b: b, a: 1 });\n\n return { background: 'linear-gradient(to right, ' + String(start) + ' 0%, ' + String(finish) + ' 100%)' };\n }\n },\n\n methods: {\n change: function change(newAlpha) {\n var _value$hsl = this.value.hsl,\n h = _value$hsl.h,\n s = _value$hsl.s,\n l = _value$hsl.l;\n var a = this.value.a;\n\n\n if (a !== newAlpha) {\n this.$emit('change', { h: h, s: s, l: l, a: newAlpha, source: 'rgba' });\n }\n },\n handleSlide: function handleSlide(e, direction) {\n e.preventDefault();\n e.stopPropagation();\n\n this.change((0, _utils.clamp)(e[this.powerKey] ? direction : Math.round(this.value.hsl.a * 100 + direction) / 100, 0, 1));\n },\n handleChange: function handleChange(e) {\n e.preventDefault();\n e.stopPropagation();\n\n var left = this.getLeft(e);\n\n if (left < 0) {\n this.change(0);\n return;\n }\n\n var clientWidth = this.$refs.container.clientWidth;\n\n\n if (left > clientWidth) {\n this.change(1);\n return;\n }\n\n this.change(Math.round(left * 100 / clientWidth) / 100);\n }\n }\n};\n\n/***/ }),\n/* 145 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_content_vue__ = __webpack_require__(146);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_content_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_content_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_content_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_content_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_e2768100_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_content_vue__ = __webpack_require__(391);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_e2768100_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_content_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_e2768100_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_content_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_content_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_e2768100_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_content_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_e2768100_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_content_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar prefixCls = 'ivu-layout';\nexports.default = {\n name: 'Content',\n computed: {\n wrapClasses: function wrapClasses() {\n return prefixCls + '-content';\n }\n }\n};\n\n/***/ }),\n/* 147 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_picker_vue__ = __webpack_require__(148);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_picker_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_picker_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_picker_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_picker_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1f055046_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_picker_vue__ = __webpack_require__(395);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1f055046_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_picker_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1f055046_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_picker_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_picker_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1f055046_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_picker_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1f055046_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_picker_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof2 = __webpack_require__(36);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nvar _stringify = __webpack_require__(54);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nvar _slicedToArray2 = __webpack_require__(23);\n\nvar _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\nvar _extends2 = __webpack_require__(31);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _toConsumableArray2 = __webpack_require__(16);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _input = __webpack_require__(37);\n\nvar _input2 = _interopRequireDefault(_input);\n\nvar _dropdown = __webpack_require__(33);\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nvar _icon = __webpack_require__(8);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _vClickOutsideX = __webpack_require__(35);\n\nvar _transferDom = __webpack_require__(21);\n\nvar _transferDom2 = _interopRequireDefault(_transferDom);\n\nvar _assist = __webpack_require__(3);\n\nvar _util = __webpack_require__(17);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-date-picker';\nvar pickerPrefixCls = 'ivu-picker';\n\nvar isEmptyArray = function (val) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return val.reduce(function (isEmpty, str) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return isEmpty && !str || typeof str === 'string' && str.trim() === '';\n }.bind(undefined), true);\n}.bind(undefined);\nvar keyValueMapper = {\n 40: 'up',\n 39: 'right',\n 38: 'down',\n 37: 'left'\n};\n\nvar mapPossibleValues = function (key, horizontal, vertical) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n if (key === 'left') return horizontal * -1;\n if (key === 'right') return horizontal * 1;\n if (key === 'up') return vertical * 1;\n if (key === 'down') return vertical * -1;\n}.bind(undefined);\n\nvar pulseElement = function (el) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var pulseClass = 'ivu-date-picker-btn-pulse';\n el.classList.add(pulseClass);\n setTimeout(function () {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return el.classList.remove(pulseClass);\n }.bind(undefined), 200);\n}.bind(undefined);\n\nvar extractTime = function (date) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n if (!date) return [0, 0, 0];\n return [date.getHours(), date.getMinutes(), date.getSeconds()];\n}.bind(undefined);\n\nexports.default = {\n mixins: [_emitter2.default],\n components: { iInput: _input2.default, Drop: _dropdown2.default, Icon: _icon2.default },\n directives: { clickOutside: _vClickOutsideX.directive, TransferDom: _transferDom2.default },\n props: {\n format: {\n type: String\n },\n readonly: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n editable: {\n type: Boolean,\n default: true\n },\n clearable: {\n type: Boolean,\n default: true\n },\n confirm: {\n type: Boolean,\n default: false\n },\n open: {\n type: Boolean,\n default: null\n },\n multiple: {\n type: Boolean,\n default: false\n },\n timePickerOptions: {\n default: function _default() {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return {};\n }.bind(undefined),\n type: Object\n },\n splitPanels: {\n type: Boolean,\n default: false\n },\n showWeekNumbers: {\n type: Boolean,\n default: false\n },\n startDate: {\n type: Date\n },\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small', 'large', 'default']);\n },\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.size === '' ? 'default' : this.$IVIEW.size;\n }\n },\n placeholder: {\n type: String,\n default: ''\n },\n placement: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end', 'right', 'right-start', 'right-end']);\n },\n\n default: 'bottom-start'\n },\n transfer: {\n type: Boolean,\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.transfer === '' ? false : this.$IVIEW.transfer;\n }\n },\n name: {\n type: String\n },\n elementId: {\n type: String\n },\n steps: {\n type: Array,\n default: function _default() {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return [];\n }.bind(undefined)\n },\n value: {\n type: [Date, String, Array]\n },\n options: {\n type: Object,\n default: function _default() {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return {};\n }.bind(undefined)\n },\n separator: {\n type: String,\n default: ' - '\n }\n },\n data: function data() {\n var isRange = this.type.includes('range');\n var emptyArray = isRange ? [null, null] : [null];\n var initialValue = isEmptyArray((isRange ? this.value : [this.value]) || []) ? emptyArray : this.parseDate(this.value);\n var focusedTime = initialValue.map(extractTime);\n\n return {\n prefixCls: prefixCls,\n showClose: false,\n visible: false,\n internalValue: initialValue,\n disableClickOutSide: false,\n disableCloseUnderTransfer: false,\n selectionMode: this.onSelectionModeChange(this.type),\n forceInputRerender: 1,\n isFocused: false,\n focusedDate: initialValue[0] || this.startDate || new Date(),\n focusedTime: {\n column: 0,\n picker: 0,\n time: focusedTime,\n active: false\n },\n internalFocus: false\n };\n },\n\n computed: {\n wrapperClasses: function wrapperClasses() {\n return [prefixCls, (0, _defineProperty3.default)({}, prefixCls + '-focused', this.isFocused)];\n },\n publicVModelValue: function publicVModelValue() {\n var _this = this;\n\n if (this.multiple) {\n return this.internalValue.slice();\n } else {\n var isRange = this.type.includes('range');\n var val = this.internalValue.map(function (date) {\n (0, _newArrowCheck3.default)(this, _this);\n return date instanceof Date ? new Date(date) : date || '';\n }.bind(this));\n\n if (this.type.match(/^time/)) val = val.map(this.formatDate);\n return isRange || this.multiple ? val : val[0];\n }\n },\n publicStringValue: function publicStringValue() {\n var formatDate = this.formatDate,\n publicVModelValue = this.publicVModelValue,\n type = this.type;\n\n if (type.match(/^time/)) return publicVModelValue;\n if (this.multiple) return formatDate(publicVModelValue);\n return Array.isArray(publicVModelValue) ? publicVModelValue.map(formatDate) : formatDate(publicVModelValue);\n },\n opened: function opened() {\n return this.open === null ? this.visible : this.open;\n },\n transition: function transition() {\n var bottomPlaced = this.placement.match(/^bottom/);\n return bottomPlaced ? 'slide-up' : 'slide-down';\n },\n visualValue: function visualValue() {\n return this.formatDate(this.internalValue);\n },\n isConfirm: function isConfirm() {\n return this.confirm || this.type === 'datetime' || this.type === 'datetimerange' || this.multiple;\n },\n arrowType: function arrowType() {\n var type = '';\n\n if (this.type === 'time' || this.type === 'timerange') {\n type = 'ios-time-outline';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.timePicker.customIcon) {\n type = '';\n } else if (this.$IVIEW.timePicker.icon) {\n type = this.$IVIEW.timePicker.icon;\n }\n }\n } else {\n type = 'ios-calendar-outline';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.datePicker.customIcon) {\n type = '';\n } else if (this.$IVIEW.datePicker.icon) {\n type = this.$IVIEW.datePicker.icon;\n }\n }\n }\n\n if (this.showClose) type = 'ios-close-circle';\n\n return type;\n },\n customArrowType: function customArrowType() {\n var type = '';\n\n if (!this.showClose) {\n if (this.type === 'time' || this.type === 'timerange') {\n if (this.$IVIEW) {\n if (this.$IVIEW.timePicker.customIcon) {\n type = this.$IVIEW.timePicker.customIcon;\n }\n }\n } else {\n if (this.$IVIEW) {\n if (this.$IVIEW.datePicker.customIcon) {\n type = this.$IVIEW.datePicker.customIcon;\n }\n }\n }\n }\n\n return type;\n },\n arrowSize: function arrowSize() {\n var size = '';\n\n if (!this.showClose) {\n if (this.type === 'time' || this.type === 'timerange') {\n if (this.$IVIEW) {\n if (this.$IVIEW.timePicker.iconSize) {\n size = this.$IVIEW.timePicker.iconSize;\n }\n }\n } else {\n if (this.$IVIEW) {\n if (this.$IVIEW.datePicker.iconSize) {\n size = this.$IVIEW.datePicker.iconSize;\n }\n }\n }\n }\n\n return size;\n }\n },\n methods: {\n onSelectionModeChange: function onSelectionModeChange(type) {\n if (type.match(/^date/)) type = 'date';\n this.selectionMode = (0, _assist.oneOf)(type, ['year', 'month', 'date', 'time']) && type;\n return this.selectionMode;\n },\n handleTransferClick: function handleTransferClick() {\n if (this.transfer) this.disableCloseUnderTransfer = true;\n },\n handleClose: function handleClose(e) {\n if (this.disableCloseUnderTransfer) {\n this.disableCloseUnderTransfer = false;\n return false;\n }\n\n if (e && e.type === 'mousedown' && this.visible) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n\n if (this.visible) {\n var pickerPanel = this.$refs.pickerPanel && this.$refs.pickerPanel.$el;\n if (e && pickerPanel && pickerPanel.contains(e.target)) return;\n\n this.visible = false;\n e && e.preventDefault();\n e && e.stopPropagation();\n this.$emit('on-clickoutside', e);\n return;\n }\n\n this.isFocused = false;\n this.disableClickOutSide = false;\n },\n handleFocus: function handleFocus(e) {\n if (this.readonly) return;\n this.isFocused = true;\n if (e && e.type === 'focus') return;\n if (!this.disabled) {\n this.visible = true;\n }\n },\n handleBlur: function handleBlur(e) {\n if (this.internalFocus) {\n this.internalFocus = false;\n return;\n }\n if (this.visible) {\n e.preventDefault();\n return;\n }\n\n this.isFocused = false;\n this.onSelectionModeChange(this.type);\n this.internalValue = this.internalValue.slice();\n this.reset();\n this.$refs.pickerPanel.onToggleVisibility(false);\n },\n handleKeydown: function handleKeydown(e) {\n var _this2 = this;\n\n var keyCode = e.keyCode;\n\n if (keyCode === 9) {\n if (this.visible) {\n e.stopPropagation();\n e.preventDefault();\n\n if (this.isConfirm) {\n var selector = '.' + pickerPrefixCls + '-confirm > *';\n var tabbable = this.$refs.drop.$el.querySelectorAll(selector);\n this.internalFocus = true;\n var element = [].concat((0, _toConsumableArray3.default)(tabbable))[e.shiftKey ? 'pop' : 'shift']();\n element.focus();\n } else {\n this.handleClose();\n }\n } else {\n this.focused = false;\n }\n }\n\n var arrows = [37, 38, 39, 40];\n if (!this.visible && arrows.includes(keyCode)) {\n this.visible = true;\n return;\n }\n\n if (keyCode === 27) {\n if (this.visible) {\n e.stopPropagation();\n this.handleClose();\n }\n }\n\n if (keyCode === 13) {\n var timePickers = (0, _assist.findComponentsDownward)(this, 'TimeSpinner');\n if (timePickers.length > 0) {\n var columnsPerPicker = timePickers[0].showSeconds ? 3 : 2;\n var pickerIndex = Math.floor(this.focusedTime.column / columnsPerPicker);\n var value = this.focusedTime.time[pickerIndex];\n\n timePickers[pickerIndex].chooseValue(value);\n return;\n }\n\n if (this.type.match(/range/)) {\n this.$refs.pickerPanel.handleRangePick(this.focusedDate, 'date');\n } else {\n var panels = (0, _assist.findComponentsDownward)(this, 'PanelTable');\n var compareDate = function (d) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n var sliceIndex = ['year', 'month', 'date'].indexOf(this.type) + 1;\n return [d.getFullYear(), d.getMonth(), d.getDate()].slice(0, sliceIndex).join('-');\n }.bind(this);\n var dateIsValid = panels.find(function (_ref2) {\n var cells = _ref2.cells;\n (0, _newArrowCheck3.default)(this, _this2);\n\n return cells.find(function (_ref3) {\n var date = _ref3.date,\n disabled = _ref3.disabled;\n (0, _newArrowCheck3.default)(this, _this2);\n return compareDate(date) === compareDate(this.focusedDate) && !disabled;\n }.bind(this));\n }.bind(this));\n if (dateIsValid) this.onPick(this.focusedDate, false, 'date');\n }\n }\n\n if (!arrows.includes(keyCode)) return;\n if (this.focusedTime.active) e.preventDefault();\n this.navigateDatePanel(keyValueMapper[keyCode], e.shiftKey);\n },\n reset: function reset() {\n this.$refs.pickerPanel.reset && this.$refs.pickerPanel.reset();\n },\n navigateTimePanel: function navigateTimePanel(direction) {\n var _this3 = this;\n\n this.focusedTime.active = true;\n var horizontal = direction.match(/left|right/);\n var vertical = direction.match(/up|down/);\n var timePickers = (0, _assist.findComponentsDownward)(this, 'TimeSpinner');\n\n var maxNrOfColumns = (timePickers[0].showSeconds ? 3 : 2) * timePickers.length;\n var column = function (currentColumn) {\n (0, _newArrowCheck3.default)(this, _this3);\n\n var incremented = currentColumn + (horizontal ? direction === 'left' ? -1 : 1 : 0);\n return (incremented + maxNrOfColumns) % maxNrOfColumns;\n }.bind(this)(this.focusedTime.column);\n\n var columnsPerPicker = maxNrOfColumns / timePickers.length;\n var pickerIndex = Math.floor(column / columnsPerPicker);\n var col = column % columnsPerPicker;\n\n if (horizontal) {\n var time = this.internalValue.map(extractTime);\n\n this.focusedTime = (0, _extends3.default)({}, this.focusedTime, {\n column: column,\n time: time\n });\n timePickers.forEach(function (instance, i) {\n (0, _newArrowCheck3.default)(this, _this3);\n\n if (i === pickerIndex) instance.updateFocusedTime(col, time[pickerIndex]);else instance.updateFocusedTime(-1, instance.focusedTime);\n }.bind(this));\n }\n\n if (vertical) {\n var increment = direction === 'up' ? 1 : -1;\n var timeParts = ['hours', 'minutes', 'seconds'];\n\n var pickerPossibleValues = timePickers[pickerIndex][String(timeParts[col]) + 'List'];\n var nextIndex = pickerPossibleValues.findIndex(function (_ref4) {\n var text = _ref4.text;\n (0, _newArrowCheck3.default)(this, _this3);\n return this.focusedTime.time[pickerIndex][col] === text;\n }.bind(this)) + increment;\n var nextValue = pickerPossibleValues[nextIndex % pickerPossibleValues.length].text;\n var times = this.focusedTime.time.map(function (time, i) {\n (0, _newArrowCheck3.default)(this, _this3);\n\n if (i !== pickerIndex) return time;\n time[col] = nextValue;\n return time;\n }.bind(this));\n this.focusedTime = (0, _extends3.default)({}, this.focusedTime, {\n time: times\n });\n\n timePickers.forEach(function (instance, i) {\n (0, _newArrowCheck3.default)(this, _this3);\n\n if (i === pickerIndex) instance.updateFocusedTime(col, times[i]);else instance.updateFocusedTime(-1, instance.focusedTime);\n }.bind(this));\n }\n },\n navigateDatePanel: function navigateDatePanel(direction, shift) {\n\n var timePickers = (0, _assist.findComponentsDownward)(this, 'TimeSpinner');\n if (timePickers.length > 0) {\n this.navigateTimePanel(direction, shift, timePickers);\n return;\n }\n\n if (shift) {\n if (this.type === 'year') {\n this.focusedDate = new Date(this.focusedDate.getFullYear() + mapPossibleValues(direction, 0, 10), this.focusedDate.getMonth(), this.focusedDate.getDate());\n } else {\n this.focusedDate = new Date(this.focusedDate.getFullYear() + mapPossibleValues(direction, 0, 1), this.focusedDate.getMonth() + mapPossibleValues(direction, 1, 0), this.focusedDate.getDate());\n }\n\n var position = direction.match(/left|down/) ? 'prev' : 'next';\n var double = direction.match(/up|down/) ? '-double' : '';\n\n var button = this.$refs.drop.$el.querySelector('.ivu-date-picker-' + position + '-btn-arrow' + double);\n if (button) pulseElement(button);\n return;\n }\n\n var initialDate = this.focusedDate || this.internalValue && this.internalValue[0] || new Date();\n var focusedDate = new Date(initialDate);\n\n if (this.type.match(/^date/)) {\n var lastOfMonth = (0, _util.getDayCountOfMonth)(initialDate.getFullYear(), initialDate.getMonth());\n var startDay = initialDate.getDate();\n var nextDay = focusedDate.getDate() + mapPossibleValues(direction, 1, 7);\n\n if (nextDay < 1) {\n if (direction.match(/left|right/)) {\n focusedDate.setMonth(focusedDate.getMonth() + 1);\n focusedDate.setDate(nextDay);\n } else {\n focusedDate.setDate(startDay + Math.floor((lastOfMonth - startDay) / 7) * 7);\n }\n } else if (nextDay > lastOfMonth) {\n if (direction.match(/left|right/)) {\n focusedDate.setMonth(focusedDate.getMonth() - 1);\n focusedDate.setDate(nextDay);\n } else {\n focusedDate.setDate(startDay % 7);\n }\n } else {\n focusedDate.setDate(nextDay);\n }\n }\n\n if (this.type.match(/^month/)) {\n focusedDate.setMonth(focusedDate.getMonth() + mapPossibleValues(direction, 1, 3));\n }\n\n if (this.type.match(/^year/)) {\n focusedDate.setFullYear(focusedDate.getFullYear() + mapPossibleValues(direction, 1, 3));\n }\n\n this.focusedDate = focusedDate;\n },\n handleInputChange: function handleInputChange(event) {\n var _this4 = this;\n\n var isArrayValue = this.type.includes('range') || this.multiple;\n var oldValue = this.visualValue;\n var newValue = event.target.value;\n var newDate = this.parseDate(newValue);\n var disabledDateFn = this.options && typeof this.options.disabledDate === 'function' && this.options.disabledDate;\n var valueToTest = isArrayValue ? newDate : newDate[0];\n var isDisabled = disabledDateFn && disabledDateFn(valueToTest);\n var isValidDate = newDate.reduce(function (valid, date) {\n (0, _newArrowCheck3.default)(this, _this4);\n return valid && date instanceof Date;\n }.bind(this), true);\n\n if (newValue !== oldValue && !isDisabled && isValidDate) {\n this.emitChange(this.type);\n this.internalValue = newDate;\n } else {\n this.forceInputRerender++;\n }\n },\n handleInputMouseenter: function handleInputMouseenter() {\n if (this.readonly || this.disabled) return;\n if (this.visualValue && this.clearable) {\n this.showClose = true;\n }\n },\n handleInputMouseleave: function handleInputMouseleave() {\n this.showClose = false;\n },\n handleIconClick: function handleIconClick(e) {\n if (this.showClose) {\n if (e) e.stopPropagation();\n this.handleClear();\n } else if (!this.disabled) {\n this.handleFocus();\n }\n },\n handleClear: function handleClear() {\n var _this5 = this;\n\n this.visible = false;\n this.internalValue = this.internalValue.map(function () {\n (0, _newArrowCheck3.default)(this, _this5);\n return null;\n }.bind(this));\n this.$emit('on-clear');\n this.dispatch('FormItem', 'on-form-change', '');\n this.emitChange(this.type);\n this.reset();\n\n setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this5);\n return this.onSelectionModeChange(this.type);\n }.bind(this), 500);\n },\n emitChange: function emitChange(type) {\n var _this6 = this;\n\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this6);\n\n this.$emit('on-change', this.publicStringValue, type);\n this.dispatch('FormItem', 'on-form-change', this.publicStringValue);\n }.bind(this));\n },\n parseDate: function parseDate(val) {\n var _this7 = this;\n\n var isRange = this.type.includes('range');\n var type = this.type;\n var parser = (_util.TYPE_VALUE_RESOLVER_MAP[type] || _util.TYPE_VALUE_RESOLVER_MAP['default']).parser;\n var format = this.format || _util.DEFAULT_FORMATS[type];\n var multipleParser = _util.TYPE_VALUE_RESOLVER_MAP['multiple'].parser;\n\n if (val && type === 'time' && !(val instanceof Date)) {\n val = parser(val, format, this.separator);\n } else if (this.multiple && val) {\n val = multipleParser(val, format, this.separator);\n } else if (isRange) {\n if (!val) {\n val = [null, null];\n } else {\n if (typeof val === 'string') {\n val = parser(val, format, this.separator);\n } else if (type === 'timerange') {\n val = parser(val, format, this.separator).map(function (v) {\n (0, _newArrowCheck3.default)(this, _this7);\n return v || '';\n }.bind(this));\n } else {\n var _val = val,\n _val2 = (0, _slicedToArray3.default)(_val, 2),\n start = _val2[0],\n end = _val2[1];\n\n if (start instanceof Date && end instanceof Date) {\n val = val.map(function (date) {\n (0, _newArrowCheck3.default)(this, _this7);\n return new Date(date);\n }.bind(this));\n } else if (typeof start === 'string' && typeof end === 'string') {\n val = parser(val.join(this.separator), format, this.separator);\n } else if (!start || !end) {\n val = [null, null];\n }\n }\n }\n } else if (typeof val === 'string' && type.indexOf('time') !== 0) {\n val = parser(val, format) || null;\n }\n\n return isRange || this.multiple ? val || [] : [val];\n },\n formatDate: function formatDate(value) {\n var format = _util.DEFAULT_FORMATS[this.type];\n\n if (this.multiple) {\n var formatter = _util.TYPE_VALUE_RESOLVER_MAP.multiple.formatter;\n return formatter(value, this.format || format, this.separator);\n } else {\n var _ref5 = _util.TYPE_VALUE_RESOLVER_MAP[this.type] || _util.TYPE_VALUE_RESOLVER_MAP['default'],\n _formatter = _ref5.formatter;\n\n return _formatter(value, this.format || format, this.separator);\n }\n },\n onPick: function onPick(dates) {\n var _this8 = this;\n\n var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var type = arguments[2];\n\n if (this.multiple) {\n var pickedTimeStamp = dates.getTime();\n var indexOfPickedDate = this.internalValue.findIndex(function (date) {\n (0, _newArrowCheck3.default)(this, _this8);\n return date && date.getTime() === pickedTimeStamp;\n }.bind(this));\n var allDates = [].concat((0, _toConsumableArray3.default)(this.internalValue), [dates]).filter(Boolean);\n var timeStamps = allDates.map(function (date) {\n (0, _newArrowCheck3.default)(this, _this8);\n return date.getTime();\n }.bind(this)).filter(function (ts, i, arr) {\n (0, _newArrowCheck3.default)(this, _this8);\n return arr.indexOf(ts) === i && i !== indexOfPickedDate;\n }.bind(this));\n this.internalValue = timeStamps.map(function (ts) {\n (0, _newArrowCheck3.default)(this, _this8);\n return new Date(ts);\n }.bind(this));\n } else {\n dates = this.parseDate(dates);\n this.internalValue = Array.isArray(dates) ? dates : [dates];\n }\n\n if (this.internalValue[0]) this.focusedDate = this.internalValue[0];\n this.focusedTime = (0, _extends3.default)({}, this.focusedTime, {\n time: this.internalValue.map(extractTime)\n });\n\n if (!this.isConfirm) this.onSelectionModeChange(this.type);\n if (!this.isConfirm) this.visible = visible;\n this.emitChange(type);\n },\n onPickSuccess: function onPickSuccess() {\n this.visible = false;\n this.$emit('on-ok');\n this.focus();\n this.reset();\n },\n focus: function focus() {\n this.$refs.input && this.$refs.input.focus();\n },\n updatePopper: function updatePopper() {\n this.$refs.drop.update();\n }\n },\n watch: {\n visible: function visible(state) {\n if (state === false) {\n this.$refs.drop.destroy();\n }\n this.$refs.drop.update();\n this.$emit('on-open-change', state);\n },\n value: function value(val) {\n this.internalValue = this.parseDate(val);\n },\n open: function open(val) {\n this.visible = val === true;\n },\n type: function type(_type) {\n this.onSelectionModeChange(_type);\n },\n publicVModelValue: function publicVModelValue(now, before) {\n var newValue = (0, _stringify2.default)(now);\n var oldValue = (0, _stringify2.default)(before);\n var shouldEmitInput = newValue !== oldValue || (typeof now === 'undefined' ? 'undefined' : (0, _typeof3.default)(now)) !== (typeof before === 'undefined' ? 'undefined' : (0, _typeof3.default)(before));\n if (shouldEmitInput) this.$emit('input', now);\n }\n },\n mounted: function mounted() {\n var _this9 = this;\n\n var initialValue = this.value;\n var parsedValue = this.publicVModelValue;\n if ((typeof initialValue === 'undefined' ? 'undefined' : (0, _typeof3.default)(initialValue)) !== (typeof parsedValue === 'undefined' ? 'undefined' : (0, _typeof3.default)(parsedValue)) || (0, _stringify2.default)(initialValue) !== (0, _stringify2.default)(parsedValue)) {\n this.$emit('input', this.publicVModelValue);\n }\n if (this.open !== null) this.visible = this.open;\n\n this.$on('focus-input', function () {\n (0, _newArrowCheck3.default)(this, _this9);\n return this.focus();\n }.bind(this));\n this.$on('update-popper', function () {\n (0, _newArrowCheck3.default)(this, _this9);\n return this.updatePopper();\n }.bind(this));\n }\n};\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _icon = __webpack_require__(8);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _dateTable = __webpack_require__(150);\n\nvar _dateTable2 = _interopRequireDefault(_dateTable);\n\nvar _yearTable = __webpack_require__(152);\n\nvar _yearTable2 = _interopRequireDefault(_yearTable);\n\nvar _monthTable = __webpack_require__(154);\n\nvar _monthTable2 = _interopRequireDefault(_monthTable);\n\nvar _time = __webpack_require__(156);\n\nvar _time2 = _interopRequireDefault(_time);\n\nvar _confirm = __webpack_require__(57);\n\nvar _confirm2 = _interopRequireDefault(_confirm);\n\nvar _datePanelLabel = __webpack_require__(161);\n\nvar _datePanelLabel2 = _interopRequireDefault(_datePanelLabel);\n\nvar _panelMixin = __webpack_require__(58);\n\nvar _panelMixin2 = _interopRequireDefault(_panelMixin);\n\nvar _datePanelMixin = __webpack_require__(163);\n\nvar _datePanelMixin2 = _interopRequireDefault(_datePanelMixin);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nvar _util = __webpack_require__(17);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-picker-panel';\nvar datePrefixCls = 'ivu-date-picker';\n\nexports.default = {\n name: 'DatePickerPanel',\n mixins: [_panelMixin2.default, _locale2.default, _datePanelMixin2.default],\n components: { Icon: _icon2.default, DateTable: _dateTable2.default, YearTable: _yearTable2.default, MonthTable: _monthTable2.default, TimePicker: _time2.default, Confirm: _confirm2.default, datePanelLabel: _datePanelLabel2.default },\n props: {\n multiple: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n var selectionMode = this.selectionMode,\n value = this.value;\n\n\n var dates = value.slice().sort();\n return {\n prefixCls: prefixCls,\n datePrefixCls: datePrefixCls,\n currentView: selectionMode || 'date',\n pickerTable: this.getTableType(selectionMode),\n dates: dates,\n panelDate: this.startDate || dates[0] || new Date()\n };\n },\n\n computed: {\n classes: function classes() {\n return [prefixCls + '-body-wrapper', (0, _defineProperty3.default)({}, prefixCls + '-with-sidebar', this.shortcuts.length)];\n },\n panelPickerHandlers: function panelPickerHandlers() {\n return this.pickerTable === String(this.currentView) + '-table' ? this.handlePick : this.handlePreSelection;\n },\n datePanelLabel: function datePanelLabel() {\n var _this = this;\n\n var locale = this.t('i.locale');\n var datePanelLabel = this.t('i.datepicker.datePanelLabel');\n var date = this.panelDate;\n\n var _formatDateLabels = (0, _util.formatDateLabels)(locale, datePanelLabel, date),\n labels = _formatDateLabels.labels,\n separator = _formatDateLabels.separator;\n\n var handler = function (type) {\n (0, _newArrowCheck3.default)(this, _this);\n\n return function () {\n (0, _newArrowCheck3.default)(this, _this);\n return this.pickerTable = this.getTableType(type);\n }.bind(this);\n }.bind(this);\n\n return {\n separator: separator,\n labels: labels.map(function (obj) {\n (0, _newArrowCheck3.default)(this, _this);\n return obj.handler = handler(obj.type), obj;\n }.bind(this))\n };\n },\n timeDisabled: function timeDisabled() {\n return !this.dates[0];\n }\n },\n watch: {\n value: function value(newVal) {\n this.dates = newVal;\n var panelDate = this.multiple ? this.dates[this.dates.length - 1] : this.startDate || this.dates[0];\n this.panelDate = panelDate || new Date();\n },\n currentView: function currentView(_currentView) {\n var _this2 = this;\n\n this.$emit('on-selection-mode-change', _currentView);\n\n if (this.currentView === 'time') {\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this2);\n\n var spinner = this.$refs.timePicker.$refs.timeSpinner;\n spinner.updateScroll();\n }.bind(this));\n }\n },\n selectionMode: function selectionMode(type) {\n this.currentView = type;\n this.pickerTable = this.getTableType(type);\n },\n focusedDate: function focusedDate(date) {\n var isDifferentYear = date.getFullYear() !== this.panelDate.getFullYear();\n var isDifferentMonth = isDifferentYear || date.getMonth() !== this.panelDate.getMonth();\n if (isDifferentYear || isDifferentMonth) {\n if (!this.multiple) this.panelDate = date;\n }\n }\n },\n methods: {\n reset: function reset() {\n this.currentView = this.selectionMode;\n this.pickerTable = this.getTableType(this.currentView);\n },\n changeYear: function changeYear(dir) {\n if (this.selectionMode === 'year' || this.pickerTable === 'year-table') {\n this.panelDate = new Date(this.panelDate.getFullYear() + dir * 10, 0, 1);\n } else {\n this.panelDate = (0, _util.siblingMonth)(this.panelDate, dir * 12);\n }\n },\n getTableType: function getTableType(currentView) {\n return currentView.match(/^time/) ? 'time-picker' : String(currentView) + '-table';\n },\n changeMonth: function changeMonth(dir) {\n this.panelDate = (0, _util.siblingMonth)(this.panelDate, dir);\n },\n handlePreSelection: function handlePreSelection(value) {\n this.panelDate = value;\n if (this.pickerTable === 'year-table') this.pickerTable = 'month-table';else this.pickerTable = this.getTableType(this.currentView);\n },\n handlePick: function handlePick(value, type) {\n var selectionMode = this.selectionMode,\n panelDate = this.panelDate;\n\n if (selectionMode === 'year') value = new Date(value.getFullYear(), 0, 1);else if (selectionMode === 'month') value = new Date(panelDate.getFullYear(), value.getMonth(), 1);else value = new Date(value);\n\n this.dates = [value];\n this.$emit('on-pick', value, false, type || selectionMode);\n }\n }\n};\n\n/***/ }),\n/* 150 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_table_vue__ = __webpack_require__(151);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_table_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_table_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_table_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_table_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5061dade_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_date_table_vue__ = __webpack_require__(401);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5061dade_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_date_table_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5061dade_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_date_table_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_table_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5061dade_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_date_table_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5061dade_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_date_table_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(31);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _slicedToArray2 = __webpack_require__(23);\n\nvar _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _util = __webpack_require__(17);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nvar _jsCalendar = __webpack_require__(397);\n\nvar _jsCalendar2 = _interopRequireDefault(_jsCalendar);\n\nvar _mixin = __webpack_require__(77);\n\nvar _mixin2 = _interopRequireDefault(_mixin);\n\nvar _prefixCls = __webpack_require__(78);\n\nvar _prefixCls2 = _interopRequireDefault(_prefixCls);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n mixins: [_locale2.default, _mixin2.default],\n\n props: {\n showWeekNumbers: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n prefixCls: _prefixCls2.default\n };\n },\n\n computed: {\n classes: function classes() {\n return ['' + String(_prefixCls2.default), (0, _defineProperty3.default)({}, String(_prefixCls2.default) + '-show-week-numbers', this.showWeekNumbers)];\n },\n calendar: function calendar() {\n var weekStartDay = Number(this.t('i.datepicker.weekStartDay'));\n return new _jsCalendar2.default.Generator({ onlyDays: !this.showWeekNumbers, weekStart: weekStartDay });\n },\n headerDays: function headerDays() {\n var _this = this;\n\n var weekStartDay = Number(this.t('i.datepicker.weekStartDay'));\n var translatedDays = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'].map(function (item) {\n (0, _newArrowCheck3.default)(this, _this);\n\n return this.t('i.datepicker.weeks.' + item);\n }.bind(this));\n var weekDays = translatedDays.splice(weekStartDay, 7 - weekStartDay).concat(translatedDays.splice(0, weekStartDay));\n return this.showWeekNumbers ? [''].concat(weekDays) : weekDays;\n },\n cells: function cells() {\n var _this2 = this;\n\n var tableYear = this.tableDate.getFullYear();\n var tableMonth = this.tableDate.getMonth();\n var today = (0, _util.clearHours)(new Date());\n var selectedDays = this.dates.filter(Boolean).map(_util.clearHours);\n var _dates$map = this.dates.map(_util.clearHours),\n _dates$map2 = (0, _slicedToArray3.default)(_dates$map, 2),\n minDay = _dates$map2[0],\n maxDay = _dates$map2[1];\n\n var rangeStart = this.rangeState.from && (0, _util.clearHours)(this.rangeState.from);\n var rangeEnd = this.rangeState.to && (0, _util.clearHours)(this.rangeState.to);\n\n var isRange = this.selectionMode === 'range';\n var disabledTestFn = typeof this.disabledDate === 'function' && this.disabledDate;\n\n return this.calendar(tableYear, tableMonth, function (cell) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n if (cell.date instanceof Date) cell.date.setTime(cell.date.getTime() + cell.date.getTimezoneOffset() * 60000);\n\n var time = cell.date && (0, _util.clearHours)(cell.date);\n var dateIsInCurrentMonth = cell.date && tableMonth === cell.date.getMonth();\n return (0, _extends3.default)({}, cell, {\n type: time === today ? 'today' : cell.type,\n selected: dateIsInCurrentMonth && selectedDays.includes(time),\n disabled: cell.date && disabledTestFn && disabledTestFn(new Date(time)),\n range: dateIsInCurrentMonth && isRange && (0, _util.isInRange)(time, rangeStart, rangeEnd),\n start: dateIsInCurrentMonth && isRange && time === minDay,\n end: dateIsInCurrentMonth && isRange && time === maxDay\n });\n }.bind(this)).cells.slice(this.showWeekNumbers ? 8 : 0);\n }\n },\n methods: {\n getCellCls: function getCellCls(cell) {\n var _ref2;\n\n return [String(_prefixCls2.default) + '-cell', (_ref2 = {}, (0, _defineProperty3.default)(_ref2, String(_prefixCls2.default) + '-cell-selected', cell.selected || cell.start || cell.end), (0, _defineProperty3.default)(_ref2, String(_prefixCls2.default) + '-cell-disabled', cell.disabled), (0, _defineProperty3.default)(_ref2, String(_prefixCls2.default) + '-cell-today', cell.type === 'today'), (0, _defineProperty3.default)(_ref2, String(_prefixCls2.default) + '-cell-prev-month', cell.type === 'prevMonth'), (0, _defineProperty3.default)(_ref2, String(_prefixCls2.default) + '-cell-next-month', cell.type === 'nextMonth'), (0, _defineProperty3.default)(_ref2, String(_prefixCls2.default) + '-cell-week-label', cell.type === 'weekLabel'), (0, _defineProperty3.default)(_ref2, String(_prefixCls2.default) + '-cell-range', cell.range && !cell.start && !cell.end), (0, _defineProperty3.default)(_ref2, String(_prefixCls2.default) + '-focused', (0, _util.clearHours)(cell.date) === (0, _util.clearHours)(this.focusedDate)), _ref2)];\n }\n }\n};\n\n/***/ }),\n/* 152 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_year_table_vue__ = __webpack_require__(153);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_year_table_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_year_table_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_year_table_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_year_table_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_24032862_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_year_table_vue__ = __webpack_require__(402);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_24032862_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_year_table_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_24032862_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_year_table_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_year_table_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_24032862_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_year_table_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_24032862_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_year_table_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _util = __webpack_require__(17);\n\nvar _assist = __webpack_require__(3);\n\nvar _mixin = __webpack_require__(77);\n\nvar _mixin2 = _interopRequireDefault(_mixin);\n\nvar _prefixCls = __webpack_require__(78);\n\nvar _prefixCls2 = _interopRequireDefault(_prefixCls);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n mixins: [_mixin2.default],\n\n props: {},\n computed: {\n classes: function classes() {\n return ['' + String(_prefixCls2.default), String(_prefixCls2.default) + '-year'];\n },\n startYear: function startYear() {\n return Math.floor(this.tableDate.getFullYear() / 10) * 10;\n },\n cells: function cells() {\n var _this = this;\n\n var cells = [];\n var cell_tmpl = {\n text: '',\n selected: false,\n disabled: false\n };\n\n var selectedDays = this.dates.filter(Boolean).map(function (date) {\n (0, _newArrowCheck3.default)(this, _this);\n return (0, _util.clearHours)(new Date(date.getFullYear(), 0, 1));\n }.bind(this));\n var focusedDate = (0, _util.clearHours)(new Date(this.focusedDate.getFullYear(), 0, 1));\n\n for (var i = 0; i < 10; i++) {\n var cell = (0, _assist.deepCopy)(cell_tmpl);\n cell.date = new Date(this.startYear + i, 0, 1);\n cell.disabled = typeof this.disabledDate === 'function' && this.disabledDate(cell.date) && this.selectionMode === 'year';\n var day = (0, _util.clearHours)(cell.date);\n cell.selected = selectedDays.includes(day);\n cell.focused = day === focusedDate;\n cells.push(cell);\n }\n\n return cells;\n }\n },\n methods: {\n getCellCls: function getCellCls(cell) {\n var _ref;\n\n return [String(_prefixCls2.default) + '-cell', (_ref = {}, (0, _defineProperty3.default)(_ref, String(_prefixCls2.default) + '-cell-selected', cell.selected), (0, _defineProperty3.default)(_ref, String(_prefixCls2.default) + '-cell-disabled', cell.disabled), (0, _defineProperty3.default)(_ref, String(_prefixCls2.default) + '-cell-focused', cell.focused), (0, _defineProperty3.default)(_ref, String(_prefixCls2.default) + '-cell-range', cell.range && !cell.start && !cell.end), _ref)];\n }\n }\n};\n\n/***/ }),\n/* 154 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_month_table_vue__ = __webpack_require__(155);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_month_table_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_month_table_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_month_table_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_month_table_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4716c51e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_month_table_vue__ = __webpack_require__(403);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4716c51e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_month_table_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4716c51e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_month_table_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_month_table_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4716c51e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_month_table_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4716c51e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_month_table_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _util = __webpack_require__(17);\n\nvar _assist = __webpack_require__(3);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nvar _mixin = __webpack_require__(77);\n\nvar _mixin2 = _interopRequireDefault(_mixin);\n\nvar _prefixCls = __webpack_require__(78);\n\nvar _prefixCls2 = _interopRequireDefault(_prefixCls);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n mixins: [_locale2.default, _mixin2.default],\n props: {},\n computed: {\n classes: function classes() {\n return ['' + String(_prefixCls2.default), String(_prefixCls2.default) + '-month'];\n },\n cells: function cells() {\n var _this = this;\n\n var cells = [];\n var cell_tmpl = {\n text: '',\n selected: false,\n disabled: false\n };\n\n var tableYear = this.tableDate.getFullYear();\n var selectedDays = this.dates.filter(Boolean).map(function (date) {\n (0, _newArrowCheck3.default)(this, _this);\n return (0, _util.clearHours)(new Date(date.getFullYear(), date.getMonth(), 1));\n }.bind(this));\n var focusedDate = (0, _util.clearHours)(new Date(this.focusedDate.getFullYear(), this.focusedDate.getMonth(), 1));\n\n for (var i = 0; i < 12; i++) {\n var cell = (0, _assist.deepCopy)(cell_tmpl);\n cell.date = new Date(tableYear, i, 1);\n cell.text = this.tCell(i + 1);\n var day = (0, _util.clearHours)(cell.date);\n cell.disabled = typeof this.disabledDate === 'function' && this.disabledDate(cell.date) && this.selectionMode === 'month';\n cell.selected = selectedDays.includes(day);\n cell.focused = day === focusedDate;\n cells.push(cell);\n }\n\n return cells;\n }\n },\n methods: {\n getCellCls: function getCellCls(cell) {\n var _ref;\n\n return [String(_prefixCls2.default) + '-cell', (_ref = {}, (0, _defineProperty3.default)(_ref, String(_prefixCls2.default) + '-cell-selected', cell.selected), (0, _defineProperty3.default)(_ref, String(_prefixCls2.default) + '-cell-disabled', cell.disabled), (0, _defineProperty3.default)(_ref, String(_prefixCls2.default) + '-cell-focused', cell.focused), (0, _defineProperty3.default)(_ref, String(_prefixCls2.default) + '-cell-range', cell.range && !cell.start && !cell.end), _ref)];\n },\n tCell: function tCell(nr) {\n return this.t('i.datepicker.months.m' + String(nr));\n }\n }\n};\n\n/***/ }),\n/* 156 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_vue__ = __webpack_require__(157);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_21d8d808_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_time_vue__ = __webpack_require__(406);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_21d8d808_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_time_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_21d8d808_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_time_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_21d8d808_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_time_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_21d8d808_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_time_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _keys = __webpack_require__(25);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _toConsumableArray2 = __webpack_require__(16);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _timeSpinner = __webpack_require__(158);\n\nvar _timeSpinner2 = _interopRequireDefault(_timeSpinner);\n\nvar _confirm = __webpack_require__(57);\n\nvar _confirm2 = _interopRequireDefault(_confirm);\n\nvar _timeMixins = __webpack_require__(56);\n\nvar _timeMixins2 = _interopRequireDefault(_timeMixins);\n\nvar _panelMixin = __webpack_require__(58);\n\nvar _panelMixin2 = _interopRequireDefault(_panelMixin);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nvar _util = __webpack_require__(17);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-picker-panel';\nvar timePrefixCls = 'ivu-time-picker';\n\nvar capitalize = function (str) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return str[0].toUpperCase() + str.slice(1);\n}.bind(undefined);\nvar mergeDateHMS = function (date, hours, minutes, seconds) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var newDate = new Date(date.getTime());\n newDate.setHours(hours);\n newDate.setMinutes(minutes);\n newDate.setSeconds(seconds);\n return newDate;\n}.bind(undefined);\nvar unique = function (el, i, arr) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return arr.indexOf(el) === i;\n}.bind(undefined);\nvar returnFalse = function () {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return false;\n}.bind(undefined);\n\nexports.default = {\n name: 'TimePickerPanel',\n mixins: [_panelMixin2.default, _locale2.default, _timeMixins2.default],\n components: { TimeSpinner: _timeSpinner2.default, Confirm: _confirm2.default },\n props: {\n disabledDate: {\n type: Function,\n default: returnFalse\n },\n steps: {\n type: Array,\n default: function _default() {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return [];\n }.bind(undefined)\n },\n format: {\n type: String,\n default: 'HH:mm:ss'\n },\n value: {\n type: Array,\n required: true\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n timePrefixCls: timePrefixCls,\n date: this.value[0] || (0, _util.initTimeDate)(),\n showDate: false\n };\n },\n\n computed: {\n showSeconds: function showSeconds() {\n return !(this.format || '').match(/mm$/);\n },\n visibleDate: function visibleDate() {\n var date = this.date;\n var month = date.getMonth() + 1;\n var tYear = this.t('i.datepicker.year');\n var tMonth = this.t('i.datepicker.month' + String(month));\n return '' + String(date.getFullYear()) + String(tYear) + ' ' + String(tMonth);\n },\n timeSlots: function timeSlots() {\n var _this = this;\n\n if (!this.value[0]) return [];\n return ['getHours', 'getMinutes', 'getSeconds'].map(function (slot) {\n (0, _newArrowCheck3.default)(this, _this);\n return this.date[slot]();\n }.bind(this));\n },\n disabledHMS: function disabledHMS() {\n var _this2 = this;\n\n var disabledTypes = ['disabledHours', 'disabledMinutes', 'disabledSeconds'];\n if (this.disabledDate === returnFalse || !this.value[0]) {\n var disabled = disabledTypes.reduce(function (obj, type) {\n (0, _newArrowCheck3.default)(this, _this2);\n return obj[type] = this[type], obj;\n }.bind(this), {});\n return disabled;\n } else {\n var slots = [24, 60, 60];\n var _disabled = ['Hours', 'Minutes', 'Seconds'].map(function (type) {\n (0, _newArrowCheck3.default)(this, _this2);\n return this['disabled' + String(type)];\n }.bind(this));\n var disabledHMS = _disabled.map(function (preDisabled, j) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n var slot = slots[j];\n var toDisable = preDisabled;\n\n var _loop = function _loop(i) {\n var hms = _this2.timeSlots.map(function (slot, x) {\n (0, _newArrowCheck3.default)(this, _this2);\n return x === j ? i : slot;\n }.bind(_this2));\n var testDateTime = mergeDateHMS.apply(undefined, [_this2.date].concat((0, _toConsumableArray3.default)(hms)));\n if (_this2.disabledDate(testDateTime, true)) toDisable.push(i);\n };\n\n for (var i = 0; i < slot; i += this.steps[j] || 1) {\n _loop(i);\n }\n return toDisable.filter(unique);\n }.bind(this));\n return disabledTypes.reduce(function (obj, type, i) {\n (0, _newArrowCheck3.default)(this, _this2);\n return obj[type] = disabledHMS[i], obj;\n }.bind(this), {});\n }\n }\n },\n watch: {\n value: function value(dates) {\n var newVal = dates[0] || (0, _util.initTimeDate)();\n newVal = new Date(newVal);\n this.date = newVal;\n }\n },\n methods: {\n handleChange: function handleChange(date) {\n var _this3 = this;\n\n var emit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n\n var newDate = new Date(this.date);\n (0, _keys2.default)(date).forEach(function (type) {\n (0, _newArrowCheck3.default)(this, _this3);\n return newDate['set' + String(capitalize(type))](date[type]);\n }.bind(this));\n\n if (emit) this.$emit('on-pick', newDate, 'time');\n }\n },\n mounted: function mounted() {\n if (this.$parent && this.$parent.$options.name === 'DatePicker') this.showDate = true;\n }\n};\n\n/***/ }),\n/* 158 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_spinner_vue__ = __webpack_require__(159);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_spinner_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_spinner_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_spinner_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_spinner_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_496899f4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_time_spinner_vue__ = __webpack_require__(404);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_496899f4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_time_spinner_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_496899f4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_time_spinner_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_spinner_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_496899f4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_time_spinner_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_496899f4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_time_spinner_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _keys = __webpack_require__(25);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _extends3 = __webpack_require__(31);\n\nvar _extends4 = _interopRequireDefault(_extends3);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _timeMixins = __webpack_require__(56);\n\nvar _timeMixins2 = _interopRequireDefault(_timeMixins);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-time-picker-cells';\nvar timeParts = ['hours', 'minutes', 'seconds'];\n\nexports.default = {\n name: 'TimeSpinner',\n mixins: [_timeMixins2.default],\n props: {\n hours: {\n type: [Number, String],\n default: NaN\n },\n minutes: {\n type: [Number, String],\n default: NaN\n },\n seconds: {\n type: [Number, String],\n default: NaN\n },\n showSeconds: {\n type: Boolean,\n default: true\n },\n steps: {\n type: Array,\n default: function _default() {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return [];\n }.bind(undefined)\n }\n },\n data: function data() {\n var _this = this;\n\n return {\n spinerSteps: [1, 1, 1].map(function (one, i) {\n (0, _newArrowCheck3.default)(this, _this);\n return Math.abs(this.steps[i]) || one;\n }.bind(this)),\n prefixCls: prefixCls,\n compiled: false,\n focusedColumn: -1,\n focusedTime: [0, 0, 0] };\n },\n\n computed: {\n classes: function classes() {\n return ['' + prefixCls, (0, _defineProperty3.default)({}, prefixCls + '-with-seconds', this.showSeconds)];\n },\n hoursList: function hoursList() {\n var hours = [];\n var step = this.spinerSteps[0];\n var focusedHour = this.focusedColumn === 0 && this.focusedTime[0];\n var hour_tmpl = {\n text: 0,\n selected: false,\n disabled: false,\n hide: false\n };\n\n for (var i = 0; i < 24; i += step) {\n var hour = (0, _assist.deepCopy)(hour_tmpl);\n hour.text = i;\n hour.focused = i === focusedHour;\n\n if (this.disabledHours.length && this.disabledHours.indexOf(i) > -1) {\n hour.disabled = true;\n if (this.hideDisabledOptions) hour.hide = true;\n }\n if (this.hours === i) hour.selected = true;\n hours.push(hour);\n }\n\n return hours;\n },\n minutesList: function minutesList() {\n var minutes = [];\n var step = this.spinerSteps[1];\n var focusedMinute = this.focusedColumn === 1 && this.focusedTime[1];\n var minute_tmpl = {\n text: 0,\n selected: false,\n disabled: false,\n hide: false\n };\n\n for (var i = 0; i < 60; i += step) {\n var minute = (0, _assist.deepCopy)(minute_tmpl);\n minute.text = i;\n minute.focused = i === focusedMinute;\n\n if (this.disabledMinutes.length && this.disabledMinutes.indexOf(i) > -1) {\n minute.disabled = true;\n if (this.hideDisabledOptions) minute.hide = true;\n }\n if (this.minutes === i) minute.selected = true;\n minutes.push(minute);\n }\n return minutes;\n },\n secondsList: function secondsList() {\n var seconds = [];\n var step = this.spinerSteps[2];\n var focusedMinute = this.focusedColumn === 2 && this.focusedTime[2];\n var second_tmpl = {\n text: 0,\n selected: false,\n disabled: false,\n hide: false\n };\n\n for (var i = 0; i < 60; i += step) {\n var second = (0, _assist.deepCopy)(second_tmpl);\n second.text = i;\n second.focused = i === focusedMinute;\n\n if (this.disabledSeconds.length && this.disabledSeconds.indexOf(i) > -1) {\n second.disabled = true;\n if (this.hideDisabledOptions) second.hide = true;\n }\n if (this.seconds === i) second.selected = true;\n seconds.push(second);\n }\n\n return seconds;\n }\n },\n methods: {\n getCellCls: function getCellCls(cell) {\n var _ref2;\n\n return [prefixCls + '-cell', (_ref2 = {}, (0, _defineProperty3.default)(_ref2, prefixCls + '-cell-selected', cell.selected), (0, _defineProperty3.default)(_ref2, prefixCls + '-cell-focused', cell.focused), (0, _defineProperty3.default)(_ref2, prefixCls + '-cell-disabled', cell.disabled), _ref2)];\n },\n chooseValue: function chooseValue(values) {\n var _this2 = this;\n\n var changes = timeParts.reduce(function (obj, part, i) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n var value = values[i];\n if (this[part] === value) return obj;\n return (0, _extends4.default)({}, obj, (0, _defineProperty3.default)({}, part, value));\n }.bind(this), {});\n if ((0, _keys2.default)(changes).length > 0) {\n this.emitChange(changes);\n }\n },\n handleClick: function handleClick(type, cell) {\n if (cell.disabled) return;\n var data = (0, _defineProperty3.default)({}, type, cell.text);\n this.emitChange(data);\n },\n emitChange: function emitChange(changes) {\n this.$emit('on-change', changes);\n this.$emit('on-pick-click');\n },\n scroll: function scroll(type, index) {\n var from = this.$refs[type].scrollTop;\n var to = 24 * this.getScrollIndex(type, index);\n (0, _assist.scrollTop)(this.$refs[type], from, to, 500);\n },\n getScrollIndex: function getScrollIndex(type, index) {\n var _this3 = this;\n\n var Type = (0, _assist.firstUpperCase)(type);\n var disabled = this['disabled' + String(Type)];\n if (disabled.length && this.hideDisabledOptions) {\n var _count = 0;\n disabled.forEach(function (item) {\n (0, _newArrowCheck3.default)(this, _this3);\n return item <= index ? _count++ : '';\n }.bind(this));\n index -= _count;\n }\n return index;\n },\n updateScroll: function updateScroll() {\n var _this4 = this;\n\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this4);\n\n timeParts.forEach(function (type) {\n (0, _newArrowCheck3.default)(this, _this4);\n\n this.$refs[type].scrollTop = 24 * this[String(type) + 'List'].findIndex(function (obj) {\n (0, _newArrowCheck3.default)(this, _this4);\n return obj.text == this[type];\n }.bind(this));\n }.bind(this));\n }.bind(this));\n },\n formatTime: function formatTime(text) {\n return text < 10 ? '0' + text : text;\n },\n updateFocusedTime: function updateFocusedTime(col, time) {\n this.focusedColumn = col;\n this.focusedTime = time.slice();\n }\n },\n watch: {\n hours: function hours(val) {\n var _this5 = this;\n\n if (!this.compiled) return;\n this.scroll('hours', this.hoursList.findIndex(function (obj) {\n (0, _newArrowCheck3.default)(this, _this5);\n return obj.text == val;\n }.bind(this)));\n },\n minutes: function minutes(val) {\n var _this6 = this;\n\n if (!this.compiled) return;\n this.scroll('minutes', this.minutesList.findIndex(function (obj) {\n (0, _newArrowCheck3.default)(this, _this6);\n return obj.text == val;\n }.bind(this)));\n },\n seconds: function seconds(val) {\n var _this7 = this;\n\n if (!this.compiled) return;\n this.scroll('seconds', this.secondsList.findIndex(function (obj) {\n (0, _newArrowCheck3.default)(this, _this7);\n return obj.text == val;\n }.bind(this)));\n },\n focusedTime: function focusedTime(updated, old) {\n var _this8 = this;\n\n timeParts.forEach(function (part, i) {\n (0, _newArrowCheck3.default)(this, _this8);\n\n if (updated[i] === old[i] || typeof updated[i] === 'undefined') return;\n var valueIndex = this[String(part) + 'List'].findIndex(function (obj) {\n (0, _newArrowCheck3.default)(this, _this8);\n return obj.text === updated[i];\n }.bind(this));\n this.scroll(part, valueIndex);\n }.bind(this));\n }\n },\n mounted: function mounted() {\n var _this9 = this;\n\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this9);\n return this.compiled = true;\n }.bind(this));\n }\n};\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(16);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _button = __webpack_require__(24);\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-picker';\n\nexports.default = {\n mixins: [_locale2.default, _emitter2.default],\n components: { iButton: _button2.default },\n props: {\n showTime: false,\n isTime: false,\n timeDisabled: false\n },\n data: function data() {\n return {\n prefixCls: prefixCls\n };\n },\n\n computed: {\n timeClasses: function timeClasses() {\n return prefixCls + '-confirm-time';\n },\n labels: function labels() {\n var _this = this;\n\n var labels = ['time', 'clear', 'ok'];\n var values = [this.isTime ? 'selectDate' : 'selectTime', 'clear', 'ok'];\n return labels.reduce(function (obj, key, i) {\n (0, _newArrowCheck3.default)(this, _this);\n\n obj[key] = this.t('i.datepicker.' + values[i]);\n return obj;\n }.bind(this), {});\n }\n },\n methods: {\n handleClear: function handleClear() {\n this.$emit('on-pick-clear');\n },\n handleSuccess: function handleSuccess() {\n this.$emit('on-pick-success');\n },\n handleToggleTime: function handleToggleTime() {\n if (this.timeDisabled) return;\n this.$emit('on-pick-toggle-time');\n this.dispatch('CalendarPicker', 'focus-input');\n this.dispatch('CalendarPicker', 'update-popper');\n },\n handleTab: function handleTab(e) {\n var tabbables = [].concat((0, _toConsumableArray3.default)(this.$el.children));\n var expectedFocus = tabbables[e.shiftKey ? 'shift' : 'pop']();\n\n if (document.activeElement === expectedFocus) {\n e.preventDefault();\n e.stopPropagation();\n this.dispatch('CalendarPicker', 'focus-input');\n }\n }\n }\n};\n\n/***/ }),\n/* 161 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_panel_label_vue__ = __webpack_require__(162);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_panel_label_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_panel_label_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_panel_label_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_panel_label_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6a6bf5e7_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_date_panel_label_vue__ = __webpack_require__(407);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6a6bf5e7_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_date_panel_label_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6a6bf5e7_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_date_panel_label_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_panel_label_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6a6bf5e7_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_date_panel_label_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6a6bf5e7_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_date_panel_label_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n props: {\n datePanelLabel: Object,\n currentView: String,\n datePrefixCls: String\n }\n};\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _assist = __webpack_require__(3);\n\nvar _util = __webpack_require__(17);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n props: {\n showTime: {\n type: Boolean,\n default: false\n },\n format: {\n type: String,\n default: 'yyyy-MM-dd'\n },\n selectionMode: {\n type: String,\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['year', 'month', 'date', 'time']);\n },\n\n default: 'date'\n },\n shortcuts: {\n type: Array,\n default: function _default() {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return [];\n }.bind(undefined)\n },\n disabledDate: {\n type: Function,\n default: function _default() {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return false;\n }.bind(undefined)\n },\n value: {\n type: Array,\n default: function _default() {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return [(0, _util.initTimeDate)(), (0, _util.initTimeDate)()];\n }.bind(undefined)\n },\n timePickerOptions: {\n default: function _default() {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return {};\n }.bind(undefined),\n type: Object\n },\n showWeekNumbers: {\n type: Boolean,\n default: false\n },\n startDate: {\n type: Date\n },\n pickerType: {\n type: String,\n require: true\n },\n focusedDate: {\n type: Date,\n required: true\n }\n },\n computed: {\n isTime: function isTime() {\n return this.currentView === 'time';\n }\n },\n methods: {\n handleToggleTime: function handleToggleTime() {\n this.currentView = this.currentView === 'time' ? 'date' : 'time';\n }\n }\n};\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _slicedToArray2 = __webpack_require__(23);\n\nvar _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _icon = __webpack_require__(8);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _dateTable = __webpack_require__(150);\n\nvar _dateTable2 = _interopRequireDefault(_dateTable);\n\nvar _yearTable = __webpack_require__(152);\n\nvar _yearTable2 = _interopRequireDefault(_yearTable);\n\nvar _monthTable = __webpack_require__(154);\n\nvar _monthTable2 = _interopRequireDefault(_monthTable);\n\nvar _timeRange = __webpack_require__(165);\n\nvar _timeRange2 = _interopRequireDefault(_timeRange);\n\nvar _confirm = __webpack_require__(57);\n\nvar _confirm2 = _interopRequireDefault(_confirm);\n\nvar _util = __webpack_require__(17);\n\nvar _datePanelLabel = __webpack_require__(161);\n\nvar _datePanelLabel2 = _interopRequireDefault(_datePanelLabel);\n\nvar _panelMixin = __webpack_require__(58);\n\nvar _panelMixin2 = _interopRequireDefault(_panelMixin);\n\nvar _datePanelMixin = __webpack_require__(163);\n\nvar _datePanelMixin2 = _interopRequireDefault(_datePanelMixin);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-picker-panel';\nvar datePrefixCls = 'ivu-date-picker';\n\nvar dateSorter = function (a, b) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n if (!a || !b) return 0;\n return a.getTime() - b.getTime();\n}.bind(undefined);\n\nexports.default = {\n name: 'RangeDatePickerPanel',\n mixins: [_panelMixin2.default, _locale2.default, _datePanelMixin2.default],\n components: { Icon: _icon2.default, DateTable: _dateTable2.default, YearTable: _yearTable2.default, MonthTable: _monthTable2.default, TimePicker: _timeRange2.default, Confirm: _confirm2.default, datePanelLabel: _datePanelLabel2.default },\n props: {\n splitPanels: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n var _this = this;\n\n var _value$map = this.value.map(function (date) {\n (0, _newArrowCheck3.default)(this, _this);\n return date || (0, _util.initTimeDate)();\n }.bind(this)),\n _value$map2 = (0, _slicedToArray3.default)(_value$map, 2),\n minDate = _value$map2[0],\n maxDate = _value$map2[1];\n\n var leftPanelDate = this.startDate ? this.startDate : minDate;\n\n return {\n prefixCls: prefixCls,\n datePrefixCls: datePrefixCls,\n dates: this.value,\n rangeState: { from: this.value[0], to: this.value[1], selecting: minDate && !maxDate },\n currentView: this.selectionMode || 'range',\n leftPickerTable: String(this.selectionMode) + '-table',\n rightPickerTable: String(this.selectionMode) + '-table',\n leftPanelDate: leftPanelDate,\n rightPanelDate: new Date(leftPanelDate.getFullYear(), leftPanelDate.getMonth() + 1, 1)\n };\n },\n\n computed: {\n classes: function classes() {\n var _ref;\n\n return [prefixCls + '-body-wrapper', datePrefixCls + '-with-range', (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-with-sidebar', this.shortcuts.length), (0, _defineProperty3.default)(_ref, datePrefixCls + '-with-week-numbers', this.showWeekNumbers), _ref)];\n },\n panelBodyClasses: function panelBodyClasses() {\n var _ref2;\n\n return [prefixCls + '-body', (_ref2 = {}, (0, _defineProperty3.default)(_ref2, prefixCls + '-body-time', this.showTime), (0, _defineProperty3.default)(_ref2, prefixCls + '-body-date', !this.showTime), _ref2)];\n },\n leftDatePanelLabel: function leftDatePanelLabel() {\n return this.panelLabelConfig('left');\n },\n rightDatePanelLabel: function rightDatePanelLabel() {\n return this.panelLabelConfig('right');\n },\n leftDatePanelView: function leftDatePanelView() {\n return this.leftPickerTable.split('-').shift();\n },\n rightDatePanelView: function rightDatePanelView() {\n return this.rightPickerTable.split('-').shift();\n },\n timeDisabled: function timeDisabled() {\n return !(this.dates[0] && this.dates[1]);\n },\n preSelecting: function preSelecting() {\n var tableType = String(this.currentView) + '-table';\n\n return {\n left: this.leftPickerTable !== tableType,\n right: this.rightPickerTable !== tableType\n };\n },\n panelPickerHandlers: function panelPickerHandlers() {\n return {\n left: this.preSelecting.left ? this.handlePreSelection.bind(this, 'left') : this.handleRangePick,\n right: this.preSelecting.right ? this.handlePreSelection.bind(this, 'right') : this.handleRangePick\n };\n }\n },\n watch: {\n value: function value(newVal) {\n var minDate = newVal[0] ? (0, _util.toDate)(newVal[0]) : null;\n var maxDate = newVal[1] ? (0, _util.toDate)(newVal[1]) : null;\n this.dates = [minDate, maxDate].sort(dateSorter);\n\n this.rangeState = {\n from: this.dates[0],\n to: this.dates[1],\n selecting: false\n };\n\n this.setPanelDates(this.startDate || this.dates[0] || new Date());\n },\n currentView: function currentView(_currentView) {\n var leftMonth = this.leftPanelDate.getMonth();\n var rightMonth = this.rightPanelDate.getMonth();\n var isSameYear = this.leftPanelDate.getFullYear() === this.rightPanelDate.getFullYear();\n\n if (_currentView === 'date' && isSameYear && leftMonth === rightMonth) {\n this.changePanelDate('right', 'Month', 1);\n }\n if (_currentView === 'month' && isSameYear) {\n this.changePanelDate('right', 'FullYear', 1);\n }\n if (_currentView === 'year' && isSameYear) {\n this.changePanelDate('right', 'FullYear', 10);\n }\n },\n selectionMode: function selectionMode(type) {\n this.currentView = type || 'range';\n },\n focusedDate: function focusedDate(date) {\n this.setPanelDates(date || new Date());\n }\n },\n methods: {\n reset: function reset() {\n this.currentView = this.selectionMode;\n this.leftPickerTable = String(this.currentView) + '-table';\n this.rightPickerTable = String(this.currentView) + '-table';\n },\n setPanelDates: function setPanelDates(leftPanelDate) {\n this.leftPanelDate = leftPanelDate;\n var rightPanelDate = new Date(leftPanelDate.getFullYear(), leftPanelDate.getMonth() + 1, 1);\n var splitRightPanelDate = this.dates[1] ? this.dates[1].getTime() : this.dates[1];\n this.rightPanelDate = this.splitPanels ? new Date(Math.max(splitRightPanelDate, rightPanelDate.getTime())) : rightPanelDate;\n },\n panelLabelConfig: function panelLabelConfig(direction) {\n var _this2 = this;\n\n var locale = this.t('i.locale');\n var datePanelLabel = this.t('i.datepicker.datePanelLabel');\n var handler = function (type) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n var fn = type == 'month' ? this.showMonthPicker : this.showYearPicker;\n return function () {\n (0, _newArrowCheck3.default)(this, _this2);\n return fn(direction);\n }.bind(this);\n }.bind(this);\n\n var date = this[String(direction) + 'PanelDate'];\n\n var _formatDateLabels = (0, _util.formatDateLabels)(locale, datePanelLabel, date),\n labels = _formatDateLabels.labels,\n separator = _formatDateLabels.separator;\n\n return {\n separator: separator,\n labels: labels.map(function (obj) {\n (0, _newArrowCheck3.default)(this, _this2);\n return obj.handler = handler(obj.type), obj;\n }.bind(this))\n };\n },\n prevYear: function prevYear(panel) {\n var increment = this.currentView === 'year' ? -10 : -1;\n this.changePanelDate(panel, 'FullYear', increment);\n },\n nextYear: function nextYear(panel) {\n var increment = this.currentView === 'year' ? 10 : 1;\n this.changePanelDate(panel, 'FullYear', increment);\n },\n prevMonth: function prevMonth(panel) {\n this.changePanelDate(panel, 'Month', -1);\n },\n nextMonth: function nextMonth(panel) {\n this.changePanelDate(panel, 'Month', 1);\n },\n changePanelDate: function changePanelDate(panel, type, increment) {\n var updateOtherPanel = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n\n var current = new Date(this[String(panel) + 'PanelDate']);\n current['set' + String(type)](current['get' + String(type)]() + increment);\n this[String(panel) + 'PanelDate'] = current;\n\n if (!updateOtherPanel) return;\n\n if (this.splitPanels) {\n var otherPanel = panel === 'left' ? 'right' : 'left';\n if (panel === 'left' && this.leftPanelDate >= this.rightPanelDate) {\n this.changePanelDate(otherPanel, type, 1);\n }\n if (panel === 'right' && this.rightPanelDate <= this.leftPanelDate) {\n this.changePanelDate(otherPanel, type, -1);\n }\n } else {\n var _otherPanel = panel === 'left' ? 'right' : 'left';\n var currentDate = this[_otherPanel + 'PanelDate'];\n var temp = new Date(currentDate);\n\n if (type === 'Month') {\n var nextMonthLastDate = new Date(temp.getFullYear(), temp.getMonth() + increment + 1, 0).getDate();\n temp.setDate(Math.min(nextMonthLastDate, temp.getDate()));\n }\n\n temp['set' + String(type)](temp['get' + String(type)]() + increment);\n this[_otherPanel + 'PanelDate'] = temp;\n }\n },\n showYearPicker: function showYearPicker(panel) {\n this[String(panel) + 'PickerTable'] = 'year-table';\n },\n showMonthPicker: function showMonthPicker(panel) {\n this[String(panel) + 'PickerTable'] = 'month-table';\n },\n handlePreSelection: function handlePreSelection(panel, value) {\n this[String(panel) + 'PanelDate'] = value;\n var currentViewType = this[String(panel) + 'PickerTable'];\n if (currentViewType === 'year-table') this[String(panel) + 'PickerTable'] = 'month-table';else this[String(panel) + 'PickerTable'] = String(this.currentView) + '-table';\n\n if (!this.splitPanels) {\n var otherPanel = panel === 'left' ? 'right' : 'left';\n this[otherPanel + 'PanelDate'] = value;\n\n var increment = otherPanel === 'left' ? -1 : 1;\n\n this.changePanelDate(otherPanel, 'Month', increment, false);\n }\n },\n handleRangePick: function handleRangePick(val, type) {\n if (this.rangeState.selecting || this.currentView === 'time') {\n if (this.currentView === 'time') {\n this.dates = val;\n } else {\n var _sort = [this.rangeState.from, val].sort(dateSorter),\n _sort2 = (0, _slicedToArray3.default)(_sort, 2),\n minDate = _sort2[0],\n maxDate = _sort2[1];\n\n this.dates = [minDate, maxDate];\n this.rangeState = {\n from: minDate,\n to: maxDate,\n selecting: false\n };\n }\n this.handleConfirm(false, type || 'date');\n } else {\n this.rangeState = {\n from: val,\n to: null,\n selecting: true\n };\n }\n },\n handleChangeRange: function handleChangeRange(val) {\n this.rangeState.to = val;\n }\n }\n};\n\n/***/ }),\n/* 165 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_range_vue__ = __webpack_require__(166);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_range_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_range_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_range_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_range_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_77225c82_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_time_range_vue__ = __webpack_require__(410);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_77225c82_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_time_range_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_77225c82_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_time_range_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_range_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_77225c82_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_time_range_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_77225c82_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_time_range_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _keys = __webpack_require__(25);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _slicedToArray2 = __webpack_require__(23);\n\nvar _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _timeSpinner = __webpack_require__(158);\n\nvar _timeSpinner2 = _interopRequireDefault(_timeSpinner);\n\nvar _confirm = __webpack_require__(57);\n\nvar _confirm2 = _interopRequireDefault(_confirm);\n\nvar _timeMixins = __webpack_require__(56);\n\nvar _timeMixins2 = _interopRequireDefault(_timeMixins);\n\nvar _panelMixin = __webpack_require__(58);\n\nvar _panelMixin2 = _interopRequireDefault(_panelMixin);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nvar _util = __webpack_require__(17);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-picker-panel';\nvar timePrefixCls = 'ivu-time-picker';\n\nvar capitalize = function (str) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return str[0].toUpperCase() + str.slice(1);\n}.bind(undefined);\n\nexports.default = {\n name: 'RangeTimePickerPanel',\n mixins: [_panelMixin2.default, _locale2.default, _timeMixins2.default],\n components: { TimeSpinner: _timeSpinner2.default, Confirm: _confirm2.default },\n props: {\n steps: {\n type: Array,\n default: function _default() {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return [];\n }.bind(undefined)\n },\n format: {\n type: String,\n default: 'HH:mm:ss'\n },\n value: {\n type: Array,\n required: true\n }\n },\n data: function data() {\n var _value$slice = this.value.slice(),\n _value$slice2 = (0, _slicedToArray3.default)(_value$slice, 2),\n dateStart = _value$slice2[0],\n dateEnd = _value$slice2[1];\n\n return {\n prefixCls: prefixCls,\n timePrefixCls: timePrefixCls,\n showDate: false,\n dateStart: dateStart || (0, _util.initTimeDate)(),\n dateEnd: dateEnd || (0, _util.initTimeDate)()\n };\n },\n\n computed: {\n classes: function classes() {\n return [prefixCls + '-body-wrapper', timePrefixCls + '-with-range', (0, _defineProperty3.default)({}, timePrefixCls + '-with-seconds', this.showSeconds)];\n },\n showSeconds: function showSeconds() {\n return !(this.format || '').match(/mm$/);\n },\n leftDatePanelLabel: function leftDatePanelLabel() {\n return this.panelLabelConfig(this.date);\n },\n rightDatePanelLabel: function rightDatePanelLabel() {\n return this.panelLabelConfig(this.dateEnd);\n }\n },\n watch: {\n value: function value(dates) {\n var _dates$slice = dates.slice(),\n _dates$slice2 = (0, _slicedToArray3.default)(_dates$slice, 2),\n dateStart = _dates$slice2[0],\n dateEnd = _dates$slice2[1];\n\n this.dateStart = dateStart || (0, _util.initTimeDate)();\n this.dateEnd = dateEnd || (0, _util.initTimeDate)();\n }\n },\n methods: {\n panelLabelConfig: function panelLabelConfig(date) {\n var locale = this.t('i.locale');\n var datePanelLabel = this.t('i.datepicker.datePanelLabel');\n\n var _formatDateLabels = (0, _util.formatDateLabels)(locale, datePanelLabel, date || (0, _util.initTimeDate)()),\n labels = _formatDateLabels.labels,\n separator = _formatDateLabels.separator;\n\n return [labels[0].label, separator, labels[1].label].join('');\n },\n handleChange: function handleChange(start, end) {\n var _this = this;\n\n var emit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n\n var dateStart = new Date(this.dateStart);\n var dateEnd = new Date(this.dateEnd);\n\n (0, _keys2.default)(start).forEach(function (type) {\n (0, _newArrowCheck3.default)(this, _this);\n\n dateStart['set' + String(capitalize(type))](start[type]);\n }.bind(this));\n\n (0, _keys2.default)(end).forEach(function (type) {\n (0, _newArrowCheck3.default)(this, _this);\n\n dateEnd['set' + String(capitalize(type))](end[type]);\n }.bind(this));\n\n if (dateEnd < dateStart) dateEnd = dateStart;\n\n if (emit) this.$emit('on-pick', [dateStart, dateEnd], 'time');\n },\n handleStartChange: function handleStartChange(date) {\n this.handleChange(date, {});\n },\n handleEndChange: function handleEndChange(date) {\n this.handleChange({}, date);\n },\n updateScroll: function updateScroll() {\n this.$refs.timeSpinner.updateScroll();\n this.$refs.timeSpinnerEnd.updateScroll();\n }\n },\n mounted: function mounted() {\n if (this.$parent && this.$parent.$options.name === 'DatePicker') this.showDate = true;\n }\n};\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-divider';\n\nexports.default = {\n name: 'Divider',\n props: {\n type: {\n type: String,\n default: 'horizontal',\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['horizontal', 'vertical']);\n }\n },\n orientation: {\n type: String,\n default: 'center',\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['left', 'right', 'center']);\n }\n },\n dashed: {\n type: Boolean,\n default: false\n },\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small', 'default']);\n },\n\n default: 'default'\n }\n },\n computed: {\n hasSlot: function hasSlot() {\n return !!this.$slots.default;\n },\n classes: function classes() {\n var _ref;\n\n return ['' + prefixCls, prefixCls + '-' + String(this.type), prefixCls + '-' + String(this.size), (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-with-text', this.hasSlot && this.orientation === 'center'), (0, _defineProperty3.default)(_ref, prefixCls + '-with-text-' + String(this.orientation), this.hasSlot), (0, _defineProperty3.default)(_ref, prefixCls + '-dashed', !!this.dashed), _ref)];\n },\n slotClasses: function slotClasses() {\n return [prefixCls + '-inner-text'];\n }\n }\n};\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _assign = __webpack_require__(14);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _icon = __webpack_require__(20);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _assist = __webpack_require__(3);\n\nvar _transferDom = __webpack_require__(21);\n\nvar _transferDom2 = _interopRequireDefault(_transferDom);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _mixinsScrollbar = __webpack_require__(79);\n\nvar _mixinsScrollbar2 = _interopRequireDefault(_mixinsScrollbar);\n\nvar _dom = __webpack_require__(13);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-drawer';\n\nexports.default = {\n name: 'Drawer',\n mixins: [_emitter2.default, _mixinsScrollbar2.default],\n components: { Icon: _icon2.default },\n directives: { TransferDom: _transferDom2.default },\n props: {\n value: {\n type: Boolean,\n default: false\n },\n title: {\n type: String\n },\n width: {\n type: [Number, String],\n default: 256\n },\n closable: {\n type: Boolean,\n default: true\n },\n maskClosable: {\n type: Boolean,\n default: true\n },\n mask: {\n type: Boolean,\n default: true\n },\n maskStyle: {\n type: Object\n },\n styles: {\n type: Object\n },\n scrollable: {\n type: Boolean,\n default: false\n },\n placement: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['left', 'right']);\n },\n\n default: 'right'\n },\n zIndex: {\n type: Number,\n default: 1000\n },\n transfer: {\n type: Boolean,\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.transfer === '' ? true : this.$IVIEW.transfer;\n }\n },\n className: {\n type: String\n },\n inner: {\n type: Boolean,\n default: false\n },\n\n draggable: {\n type: Boolean,\n default: false\n },\n beforeClose: Function\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n visible: this.value,\n wrapShow: false,\n showHead: true,\n canMove: false,\n dragWidth: this.width,\n wrapperWidth: this.width,\n wrapperLeft: 0,\n minWidth: 256\n };\n },\n\n computed: {\n wrapClasses: function wrapClasses() {\n var _ref;\n\n return [prefixCls + '-wrap', (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-hidden', !this.wrapShow), (0, _defineProperty3.default)(_ref, '' + String(this.className), !!this.className), (0, _defineProperty3.default)(_ref, prefixCls + '-no-mask', !this.mask), (0, _defineProperty3.default)(_ref, prefixCls + '-wrap-inner', this.inner), (0, _defineProperty3.default)(_ref, prefixCls + '-wrap-dragging', this.canMove), _ref)];\n },\n mainStyles: function mainStyles() {\n var style = {};\n\n var width = parseInt(this.dragWidth);\n\n var styleWidth = {\n width: width <= 100 ? String(width) + '%' : String(width) + 'px'\n };\n\n (0, _assign2.default)(style, styleWidth);\n\n return style;\n },\n contentClasses: function contentClasses() {\n return [prefixCls + '-content', (0, _defineProperty3.default)({}, prefixCls + '-content-no-mask', !this.mask)];\n },\n classes: function classes() {\n var _ref3;\n\n return ['' + prefixCls, prefixCls + '-' + String(this.placement), (_ref3 = {}, (0, _defineProperty3.default)(_ref3, prefixCls + '-no-header', !this.showHead), (0, _defineProperty3.default)(_ref3, prefixCls + '-inner', this.inner), _ref3)];\n },\n maskClasses: function maskClasses() {\n return [prefixCls + '-mask', (0, _defineProperty3.default)({}, prefixCls + '-mask-inner', this.inner)];\n }\n },\n methods: {\n close: function close() {\n var _this = this;\n\n if (!this.beforeClose) {\n return this.handleClose();\n }\n\n var before = this.beforeClose();\n\n if (before && before.then) {\n before.then(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.handleClose();\n }.bind(this));\n } else {\n this.handleClose();\n }\n },\n handleClose: function handleClose() {\n this.visible = false;\n this.$emit('input', false);\n this.$emit('on-close');\n },\n handleMask: function handleMask() {\n if (this.maskClosable && this.mask) {\n this.close();\n }\n },\n handleWrapClick: function handleWrapClick(event) {\n var className = event.target.getAttribute('class');\n if (className && className.indexOf(prefixCls + '-wrap') > -1) this.handleMask();\n },\n handleMousemove: function handleMousemove(event) {\n if (!this.canMove || !this.draggable) return;\n\n this.handleSetWrapperWidth();\n var left = event.pageX - this.wrapperLeft;\n\n var width = this.placement === 'right' ? this.wrapperWidth - left : left;\n\n width = Math.max(width, parseFloat(this.minWidth));\n event.atMin = width === parseFloat(this.minWidth);\n\n if (width <= 100) width = width / this.wrapperWidth * 100;\n this.dragWidth = width;\n this.$emit('on-resize-width', parseInt(this.dragWidth));\n },\n handleSetWrapperWidth: function handleSetWrapperWidth() {\n var _$el$getBoundingClien = this.$el.getBoundingClientRect(),\n width = _$el$getBoundingClien.width,\n left = _$el$getBoundingClien.left;\n\n this.wrapperWidth = width;\n this.wrapperLeft = left;\n },\n handleMouseup: function handleMouseup() {\n if (!this.draggable) return;\n this.canMove = false;\n },\n handleTriggerMousedown: function handleTriggerMousedown() {\n this.canMove = true;\n\n window.getSelection().removeAllRanges();\n }\n },\n mounted: function mounted() {\n if (this.visible) {\n this.wrapShow = true;\n }\n\n var showHead = true;\n\n if (this.$slots.header === undefined && !this.title) {\n showHead = false;\n }\n\n this.showHead = showHead;\n\n (0, _dom.on)(document, 'mousemove', this.handleMousemove);\n (0, _dom.on)(document, 'mouseup', this.handleMouseup);\n this.handleSetWrapperWidth();\n },\n beforeDestroy: function beforeDestroy() {\n (0, _dom.off)(document, 'mousemove', this.handleMousemove);\n (0, _dom.off)(document, 'mouseup', this.handleMouseup);\n this.removeScrollEffect();\n },\n\n watch: {\n value: function value(val) {\n this.visible = val;\n },\n visible: function visible(val) {\n var _this2 = this;\n\n if (val === false) {\n this.timer = setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this2);\n\n this.wrapShow = false;\n\n var brotherDrawers = (0, _assist.findBrothersComponents)(this, 'Drawer') || [];\n var parentDrawers = (0, _assist.findComponentsUpward)(this, 'Drawer') || [];\n\n var otherDrawers = [].concat(brotherDrawers).concat(parentDrawers);\n\n var isScrollDrawer = otherDrawers.some(function (item) {\n (0, _newArrowCheck3.default)(this, _this2);\n return item.visible && !item.scrollable;\n }.bind(this));\n\n if (!isScrollDrawer) {\n this.removeScrollEffect();\n }\n }.bind(this), 300);\n } else {\n if (this.timer) clearTimeout(this.timer);\n this.wrapShow = true;\n if (!this.scrollable) {\n this.addScrollEffect();\n }\n }\n this.broadcast('Table', 'on-visible-change', val);\n this.broadcast('Slider', 'on-visible-change', val);\n this.$emit('on-visible-change', val);\n },\n scrollable: function scrollable(val) {\n if (!val) {\n this.addScrollEffect();\n } else {\n this.removeScrollEffect();\n }\n },\n title: function title(val) {\n if (this.$slots.header === undefined) {\n this.showHead = !!val;\n }\n },\n width: function width(val) {\n this.dragWidth = val;\n }\n }\n};\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _dropdown = __webpack_require__(33);\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nvar _vClickOutsideX = __webpack_require__(35);\n\nvar _transferDom = __webpack_require__(21);\n\nvar _transferDom2 = _interopRequireDefault(_transferDom);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-dropdown';\n\nexports.default = {\n name: 'Dropdown',\n directives: { clickOutside: _vClickOutsideX.directive, TransferDom: _transferDom2.default },\n components: { Drop: _dropdown2.default },\n props: {\n trigger: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['click', 'hover', 'custom', 'contextMenu']);\n },\n\n default: 'hover'\n },\n placement: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end', 'right', 'right-start', 'right-end']);\n },\n\n default: 'bottom'\n },\n visible: {\n type: Boolean,\n default: false\n },\n transfer: {\n type: Boolean,\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.transfer === '' ? false : this.$IVIEW.transfer;\n }\n },\n transferClassName: {\n type: String\n },\n stopPropagation: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n transition: function transition() {\n return ['bottom-start', 'bottom', 'bottom-end'].indexOf(this.placement) > -1 ? 'slide-up' : 'fade';\n },\n dropdownCls: function dropdownCls() {\n var _ref;\n\n return _ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-transfer', this.transfer), (0, _defineProperty3.default)(_ref, this.transferClassName, this.transferClassName), _ref;\n },\n relClasses: function relClasses() {\n return [prefixCls + '-rel', (0, _defineProperty3.default)({}, prefixCls + '-rel-user-select-none', this.trigger === 'contextMenu')];\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n currentVisible: this.visible\n };\n },\n\n watch: {\n visible: function visible(val) {\n this.currentVisible = val;\n },\n currentVisible: function currentVisible(val) {\n if (val) {\n this.$refs.drop.update();\n } else {\n this.$refs.drop.destroy();\n }\n this.$emit('on-visible-change', val);\n }\n },\n methods: {\n handleClick: function handleClick() {\n if (this.trigger === 'custom') return false;\n if (this.trigger !== 'click') {\n return false;\n }\n this.currentVisible = !this.currentVisible;\n },\n handleRightClick: function handleRightClick() {\n if (this.trigger === 'custom') return false;\n if (this.trigger !== 'contextMenu') {\n return false;\n }\n this.currentVisible = !this.currentVisible;\n },\n handleMouseenter: function handleMouseenter() {\n var _this = this;\n\n if (this.trigger === 'custom') return false;\n if (this.trigger !== 'hover') {\n return false;\n }\n if (this.timeout) clearTimeout(this.timeout);\n this.timeout = setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.currentVisible = true;\n }.bind(this), 250);\n },\n handleMouseleave: function handleMouseleave() {\n var _this2 = this;\n\n if (this.trigger === 'custom') return false;\n if (this.trigger !== 'hover') {\n return false;\n }\n if (this.timeout) {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this2);\n\n this.currentVisible = false;\n }.bind(this), 150);\n }\n },\n onClickoutside: function onClickoutside(e) {\n this.handleClose();\n this.handleRightClose();\n if (this.currentVisible) this.$emit('on-clickoutside', e);\n },\n handleClose: function handleClose() {\n if (this.trigger === 'custom') return false;\n if (this.trigger !== 'click') {\n return false;\n }\n this.currentVisible = false;\n },\n handleRightClose: function handleRightClose() {\n if (this.trigger === 'custom') return false;\n if (this.trigger !== 'contextMenu') {\n return false;\n }\n this.currentVisible = false;\n },\n hasParent: function hasParent() {\n var $parent = (0, _assist.findComponentUpward)(this, 'Dropdown');\n if ($parent) {\n return $parent;\n } else {\n return false;\n }\n }\n },\n mounted: function mounted() {\n var _this3 = this;\n\n this.$on('on-click', function (key) {\n (0, _newArrowCheck3.default)(this, _this3);\n\n if (this.stopPropagation) return;\n var $parent = this.hasParent();\n if ($parent) $parent.$emit('on-click', key);\n }.bind(this));\n this.$on('on-hover-click', function () {\n (0, _newArrowCheck3.default)(this, _this3);\n\n var $parent = this.hasParent();\n if ($parent) {\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this3);\n\n if (this.trigger === 'custom') return false;\n this.currentVisible = false;\n }.bind(this));\n $parent.$emit('on-hover-click');\n } else {\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this3);\n\n if (this.trigger === 'custom') return false;\n this.currentVisible = false;\n }.bind(this));\n }\n }.bind(this));\n this.$on('on-haschild-click', function () {\n (0, _newArrowCheck3.default)(this, _this3);\n\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this3);\n\n if (this.trigger === 'custom') return false;\n this.currentVisible = true;\n }.bind(this));\n var $parent = this.hasParent();\n if ($parent) $parent.$emit('on-haschild-click');\n }.bind(this));\n }\n};\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: 'DropdownMenu'\n};\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-dropdown-item';\nexports.default = {\n name: 'DropdownItem',\n props: {\n name: {\n type: [String, Number]\n },\n disabled: {\n type: Boolean,\n default: false\n },\n selected: {\n type: Boolean,\n default: false\n },\n divided: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n classes: function classes() {\n var _ref;\n\n return ['' + prefixCls, (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-disabled', this.disabled), (0, _defineProperty3.default)(_ref, prefixCls + '-selected', this.selected), (0, _defineProperty3.default)(_ref, prefixCls + '-divided', this.divided), _ref)];\n }\n },\n methods: {\n handleClick: function handleClick() {\n if (this.disabled) return;\n var $parent = (0, _assist.findComponentUpward)(this, 'Dropdown');\n var hasChildren = this.$parent && this.$parent.$options.name === 'Dropdown';\n if (hasChildren) {\n this.$parent.$emit('on-haschild-click');\n } else {\n if ($parent && $parent.$options.name === 'Dropdown') {\n $parent.$emit('on-hover-click');\n }\n }\n $parent.$emit('on-click', this.name);\n }\n }\n};\n\n/***/ }),\n/* 172 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_footer_vue__ = __webpack_require__(173);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_footer_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_footer_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_footer_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_footer_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_fccdaa0c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_footer_vue__ = __webpack_require__(426);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_fccdaa0c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_footer_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_fccdaa0c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_footer_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_footer_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_fccdaa0c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_footer_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_fccdaa0c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_footer_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar prefixCls = 'ivu-layout';\nexports.default = {\n name: 'Footer',\n computed: {\n wrapClasses: function wrapClasses() {\n return prefixCls + '-footer';\n }\n }\n};\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _promise = __webpack_require__(175);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-form';\n\nexports.default = {\n name: 'iForm',\n props: {\n model: {\n type: Object\n },\n rules: {\n type: Object\n },\n labelWidth: {\n type: Number\n },\n labelPosition: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['left', 'right', 'top']);\n },\n\n default: 'right'\n },\n inline: {\n type: Boolean,\n default: false\n },\n showMessage: {\n type: Boolean,\n default: true\n },\n autocomplete: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['on', 'off']);\n },\n\n default: 'off'\n }\n },\n provide: function provide() {\n return { form: this };\n },\n data: function data() {\n return {\n fields: []\n };\n },\n\n computed: {\n classes: function classes() {\n return ['' + prefixCls, prefixCls + '-label-' + String(this.labelPosition), (0, _defineProperty3.default)({}, prefixCls + '-inline', this.inline)];\n }\n },\n methods: {\n resetFields: function resetFields() {\n var _this = this;\n\n this.fields.forEach(function (field) {\n (0, _newArrowCheck3.default)(this, _this);\n\n field.resetField();\n }.bind(this));\n },\n validate: function validate(callback) {\n var _this2 = this;\n\n return new _promise2.default(function (resolve) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n var valid = true;\n var count = 0;\n this.fields.forEach(function (field) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n field.validate('', function (errors) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n if (errors) {\n valid = false;\n }\n if (++count === this.fields.length) {\n resolve(valid);\n if (typeof callback === 'function') {\n callback(valid);\n }\n }\n }.bind(this));\n }.bind(this));\n }.bind(this));\n },\n validateField: function validateField(prop, cb) {\n var _this3 = this;\n\n var field = this.fields.filter(function (field) {\n (0, _newArrowCheck3.default)(this, _this3);\n return field.prop === prop;\n }.bind(this))[0];\n if (!field) {\n throw new Error('[iView warn]: must call validateField with valid prop string!');\n }\n\n field.validate('', cb);\n }\n },\n watch: {\n rules: function rules() {\n this.validate();\n }\n },\n created: function created() {\n var _this4 = this;\n\n this.$on('on-form-item-add', function (field) {\n (0, _newArrowCheck3.default)(this, _this4);\n\n if (field) this.fields.push(field);\n return false;\n }.bind(this));\n this.$on('on-form-item-remove', function (field) {\n (0, _newArrowCheck3.default)(this, _this4);\n\n if (field.prop) this.fields.splice(this.fields.indexOf(field), 1);\n return false;\n }.bind(this));\n }\n};\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(429), __esModule: true };\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = __webpack_require__(19);\nvar aFunction = __webpack_require__(49);\nvar SPECIES = __webpack_require__(11)('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(42);\nvar invoke = __webpack_require__(433);\nvar html = __webpack_require__(95);\nvar cel = __webpack_require__(65);\nvar global = __webpack_require__(9);\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (__webpack_require__(41)(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(19);\nvar isObject = __webpack_require__(28);\nvar newPromiseCapability = __webpack_require__(80);\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _asyncValidator = __webpack_require__(441);\n\nvar _asyncValidator2 = _interopRequireDefault(_asyncValidator);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-form-item';\n\nfunction getPropByPath(obj, path) {\n var tempObj = obj;\n path = path.replace(/\\[(\\w+)\\]/g, '.$1');\n path = path.replace(/^\\./, '');\n\n var keyArr = path.split('.');\n var i = 0;\n\n for (var len = keyArr.length; i < len - 1; ++i) {\n var key = keyArr[i];\n if (key in tempObj) {\n tempObj = tempObj[key];\n } else {\n throw new Error('[iView warn]: please transfer a valid prop path to form item!');\n }\n }\n return {\n o: tempObj,\n k: keyArr[i],\n v: tempObj[keyArr[i]]\n };\n}\n\nexports.default = {\n name: 'FormItem',\n mixins: [_emitter2.default],\n props: {\n label: {\n type: String,\n default: ''\n },\n labelWidth: {\n type: Number\n },\n prop: {\n type: String\n },\n required: {\n type: Boolean,\n default: false\n },\n rules: {\n type: [Object, Array]\n },\n error: {\n type: String\n },\n validateStatus: {\n type: Boolean\n },\n showMessage: {\n type: Boolean,\n default: true\n },\n labelFor: {\n type: String\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n isRequired: false,\n validateState: '',\n validateMessage: '',\n validateDisabled: false,\n validator: {}\n };\n },\n\n watch: {\n error: {\n handler: function handler(val) {\n this.validateMessage = val;\n this.validateState = val ? 'error' : '';\n },\n\n immediate: true\n },\n validateStatus: function validateStatus(val) {\n this.validateState = val;\n },\n rules: function rules() {\n this.setRules();\n }\n },\n inject: ['form'],\n computed: {\n classes: function classes() {\n var _ref;\n\n return ['' + prefixCls, (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-required', this.required || this.isRequired), (0, _defineProperty3.default)(_ref, prefixCls + '-error', this.validateState === 'error'), (0, _defineProperty3.default)(_ref, prefixCls + '-validating', this.validateState === 'validating'), _ref)];\n },\n fieldValue: function fieldValue() {\n var model = this.form.model;\n if (!model || !this.prop) {\n return;\n }\n\n var path = this.prop;\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/, '.');\n }\n\n return getPropByPath(model, path).v;\n },\n labelStyles: function labelStyles() {\n var style = {};\n var labelWidth = this.labelWidth === 0 || this.labelWidth ? this.labelWidth : this.form.labelWidth;\n\n if (labelWidth || labelWidth === 0) {\n style.width = String(labelWidth) + 'px';\n }\n return style;\n },\n contentStyles: function contentStyles() {\n var style = {};\n var labelWidth = this.labelWidth === 0 || this.labelWidth ? this.labelWidth : this.form.labelWidth;\n\n if (labelWidth || labelWidth === 0) {\n style.marginLeft = String(labelWidth) + 'px';\n }\n return style;\n }\n },\n methods: {\n setRules: function setRules() {\n var _this = this;\n\n var rules = this.getRules();\n if (rules.length && this.required) {\n return;\n } else if (rules.length) {\n rules.every(function (rule) {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.isRequired = rule.required;\n }.bind(this));\n } else if (this.required) {\n this.isRequired = this.required;\n }\n this.$off('on-form-blur', this.onFieldBlur);\n this.$off('on-form-change', this.onFieldChange);\n this.$on('on-form-blur', this.onFieldBlur);\n this.$on('on-form-change', this.onFieldChange);\n },\n getRules: function getRules() {\n var formRules = this.form.rules;\n var selfRules = this.rules;\n\n formRules = formRules ? formRules[this.prop] : [];\n\n return [].concat(selfRules || formRules || []);\n },\n getFilteredRule: function getFilteredRule(trigger) {\n var _this2 = this;\n\n var rules = this.getRules();\n\n return rules.filter(function (rule) {\n (0, _newArrowCheck3.default)(this, _this2);\n return !rule.trigger || rule.trigger.indexOf(trigger) !== -1;\n }.bind(this));\n },\n validate: function validate(trigger) {\n var _this3 = this;\n\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};\n\n var rules = this.getFilteredRule(trigger);\n if (!rules || rules.length === 0) {\n if (!this.required) {\n callback();\n return true;\n } else {\n rules = [{ required: true }];\n }\n }\n\n this.validateState = 'validating';\n\n var descriptor = {};\n descriptor[this.prop] = rules;\n\n var validator = new _asyncValidator2.default(descriptor);\n var model = {};\n\n model[this.prop] = this.fieldValue;\n\n validator.validate(model, { firstFields: true }, function (errors) {\n (0, _newArrowCheck3.default)(this, _this3);\n\n this.validateState = !errors ? 'success' : 'error';\n this.validateMessage = errors ? errors[0].message : '';\n\n callback(this.validateMessage);\n }.bind(this));\n this.validateDisabled = false;\n },\n resetField: function resetField() {\n this.validateState = '';\n this.validateMessage = '';\n\n var model = this.form.model;\n var value = this.fieldValue;\n var path = this.prop;\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/, '.');\n }\n\n var prop = getPropByPath(model, path);\n\n if (Array.isArray(value)) {\n this.validateDisabled = true;\n prop.o[prop.k] = [].concat(this.initialValue);\n } else {\n this.validateDisabled = true;\n prop.o[prop.k] = this.initialValue;\n }\n },\n onFieldBlur: function onFieldBlur() {\n this.validate('blur');\n },\n onFieldChange: function onFieldChange() {\n if (this.validateDisabled) {\n this.validateDisabled = false;\n return;\n }\n\n this.validate('change');\n }\n },\n mounted: function mounted() {\n if (this.prop) {\n this.dispatch('iForm', 'on-form-item-add', this);\n\n Object.defineProperty(this, 'initialValue', {\n value: this.fieldValue\n });\n\n this.setRules();\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.dispatch('iForm', 'on-form-item-remove', this);\n }\n};\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _util = __webpack_require__(7);\n\nvar util = _interopRequireWildcard(_util);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\n/**\n * Rule for validating required fields.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction required(rule, value, source, errors, options, type) {\n if (rule.required && (!source.hasOwnProperty(rule.field) || util.isEmptyValue(value, type || rule.type))) {\n errors.push(util.format(options.messages.required, rule.fullField));\n }\n}\n\nexports['default'] = required;\n\n/***/ }),\n/* 182 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_header_vue__ = __webpack_require__(183);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_header_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_header_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_header_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_header_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_8cd48bf0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_header_vue__ = __webpack_require__(465);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_8cd48bf0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_header_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_8cd48bf0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_header_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_header_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_8cd48bf0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_header_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_8cd48bf0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_header_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar prefixCls = 'ivu-layout';\nexports.default = {\n name: 'Header',\n computed: {\n wrapClasses: function wrapClasses() {\n return prefixCls + '-header';\n }\n }\n};\n\n/***/ }),\n/* 184 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_input_number_vue__ = __webpack_require__(185);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_input_number_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_input_number_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_input_number_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_input_number_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_63d19aa0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_input_number_vue__ = __webpack_require__(468);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_63d19aa0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_input_number_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_63d19aa0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_input_number_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_input_number_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_63d19aa0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_input_number_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_63d19aa0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_input_number_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assist = __webpack_require__(3);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-input-number';\nvar iconPrefixCls = 'ivu-icon';\n\nfunction addNum(num1, num2) {\n var sq1 = void 0,\n sq2 = void 0,\n m = void 0;\n try {\n sq1 = num1.toString().split('.')[1].length;\n } catch (e) {\n sq1 = 0;\n }\n try {\n sq2 = num2.toString().split('.')[1].length;\n } catch (e) {\n sq2 = 0;\n }\n\n m = Math.pow(10, Math.max(sq1, sq2));\n return (Math.round(num1 * m) + Math.round(num2 * m)) / m;\n}\n\nexports.default = {\n name: 'InputNumber',\n mixins: [_emitter2.default],\n props: {\n max: {\n type: Number,\n default: Infinity\n },\n min: {\n type: Number,\n default: -Infinity\n },\n step: {\n type: Number,\n default: 1\n },\n activeChange: {\n type: Boolean,\n default: true\n },\n value: {\n type: Number,\n default: 1\n },\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small', 'large', 'default']);\n },\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.size === '' ? 'default' : this.$IVIEW.size;\n }\n },\n disabled: {\n type: Boolean,\n default: false\n },\n autofocus: {\n type: Boolean,\n default: false\n },\n readonly: {\n type: Boolean,\n default: false\n },\n editable: {\n type: Boolean,\n default: true\n },\n name: {\n type: String\n },\n precision: {\n type: Number\n },\n elementId: {\n type: String\n },\n formatter: {\n type: Function\n },\n parser: {\n type: Function\n },\n placeholder: {\n type: String,\n default: ''\n }\n },\n data: function data() {\n return {\n focused: false,\n upDisabled: false,\n downDisabled: false,\n currentValue: this.value\n };\n },\n\n computed: {\n wrapClasses: function wrapClasses() {\n var _ref;\n\n return ['' + prefixCls, (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-' + String(this.size), !!this.size), (0, _defineProperty3.default)(_ref, prefixCls + '-disabled', this.disabled), (0, _defineProperty3.default)(_ref, prefixCls + '-focused', this.focused), _ref)];\n },\n handlerClasses: function handlerClasses() {\n return prefixCls + '-handler-wrap';\n },\n upClasses: function upClasses() {\n return [prefixCls + '-handler', prefixCls + '-handler-up', (0, _defineProperty3.default)({}, prefixCls + '-handler-up-disabled', this.upDisabled)];\n },\n innerUpClasses: function innerUpClasses() {\n return prefixCls + '-handler-up-inner ' + iconPrefixCls + ' ' + iconPrefixCls + '-ios-arrow-up';\n },\n downClasses: function downClasses() {\n return [prefixCls + '-handler', prefixCls + '-handler-down', (0, _defineProperty3.default)({}, prefixCls + '-handler-down-disabled', this.downDisabled)];\n },\n innerDownClasses: function innerDownClasses() {\n return prefixCls + '-handler-down-inner ' + iconPrefixCls + ' ' + iconPrefixCls + '-ios-arrow-down';\n },\n inputWrapClasses: function inputWrapClasses() {\n return prefixCls + '-input-wrap';\n },\n inputClasses: function inputClasses() {\n return prefixCls + '-input';\n },\n precisionValue: function precisionValue() {\n if (!this.currentValue) return this.currentValue;\n return this.precision ? this.currentValue.toFixed(this.precision) : this.currentValue;\n },\n formatterValue: function formatterValue() {\n if (this.formatter && this.precisionValue !== null) {\n return this.formatter(this.precisionValue);\n } else {\n return this.precisionValue;\n }\n }\n },\n methods: {\n preventDefault: function preventDefault(e) {\n e.preventDefault();\n },\n up: function up(e) {\n var targetVal = Number(e.target.value);\n if (this.upDisabled && isNaN(targetVal)) {\n return false;\n }\n this.changeStep('up', e);\n },\n down: function down(e) {\n var targetVal = Number(e.target.value);\n if (this.downDisabled && isNaN(targetVal)) {\n return false;\n }\n this.changeStep('down', e);\n },\n changeStep: function changeStep(type, e) {\n if (this.disabled || this.readonly) {\n return false;\n }\n var targetVal = Number(e.target.value);\n var val = Number(this.currentValue);\n var step = Number(this.step);\n if (isNaN(val)) {\n return false;\n }\n\n if (!isNaN(targetVal)) {\n if (type === 'up') {\n if (addNum(targetVal, step) <= this.max) {\n val = targetVal;\n } else {\n return false;\n }\n } else if (type === 'down') {\n if (addNum(targetVal, -step) >= this.min) {\n val = targetVal;\n } else {\n return false;\n }\n }\n }\n\n if (type === 'up') {\n val = addNum(val, step);\n } else if (type === 'down') {\n val = addNum(val, -step);\n }\n this.setValue(val);\n },\n setValue: function setValue(val) {\n var _this = this;\n\n if (val && !isNaN(this.precision)) val = Number(Number(val).toFixed(this.precision));\n\n var min = this.min,\n max = this.max;\n\n if (val !== null && !this.activeChange) {\n if (val > max) {\n val = max;\n } else if (val < min) {\n val = min;\n }\n }\n\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.currentValue = val;\n this.$emit('input', val);\n this.$emit('on-change', val);\n this.dispatch('FormItem', 'on-form-change', val);\n }.bind(this));\n },\n focus: function focus(event) {\n this.focused = true;\n this.$emit('on-focus', event);\n },\n blur: function blur() {\n this.focused = false;\n this.$emit('on-blur');\n if (!(0, _assist.findComponentUpward)(this, ['DatePicker', 'TimePicker', 'Cascader', 'Search'])) {\n this.dispatch('FormItem', 'on-form-blur', this.currentValue);\n }\n },\n keyDown: function keyDown(e) {\n if (e.keyCode === 38) {\n e.preventDefault();\n this.up(e);\n } else if (e.keyCode === 40) {\n e.preventDefault();\n this.down(e);\n }\n },\n change: function change(event) {\n if (event.type == 'change' && this.activeChange) return;\n\n if (event.type == 'input' && !this.activeChange) return;\n var val = event.target.value.trim();\n if (this.parser) {\n val = this.parser(val);\n }\n\n var isEmptyString = val.length === 0;\n if (isEmptyString) {\n this.setValue(null);\n return;\n }\n if (event.type == 'input' && val.match(/^\\-?\\.?$|\\.$/g)) return;\n var precision = this.precision;\n var cacheVal = this.currentValue;\n if (precision) {\n var valMatchPointArr = (val + '').match(/\\./g);\n if (valMatchPointArr && valMatchPointArr.length >= 2) {\n cacheVal = this.currentValue + '.';\n }\n }\n\n val = Number(val);\n if (!isNaN(val)) {\n this.currentValue = val;\n this.setValue(val);\n } else {\n event.target.value = cacheVal;\n }\n },\n changeVal: function changeVal(val) {\n val = Number(val);\n if (!isNaN(val)) {\n var step = this.step;\n\n this.upDisabled = val + step > this.max;\n this.downDisabled = val - step < this.min;\n } else {\n this.upDisabled = true;\n this.downDisabled = true;\n }\n }\n },\n mounted: function mounted() {\n this.changeVal(this.currentValue);\n },\n\n watch: {\n value: function value(val) {\n this.currentValue = val;\n },\n currentValue: function currentValue(val) {\n var _this2 = this;\n\n this.changeVal(val);\n\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this2);\n\n if (this.precision) {\n var currentValueLength = (this.currentValue || 0).toString().length;\n var precisionCursor = this.$refs.precisionCursor;\n precisionCursor.selectionStart = precisionCursor.selectionEnd = currentValueLength;\n }\n }.bind(this));\n },\n min: function min() {\n this.changeVal(this.currentValue);\n },\n max: function max() {\n this.changeVal(this.currentValue);\n }\n }\n};\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _sign = __webpack_require__(471);\n\nvar _sign2 = _interopRequireDefault(_sign);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _promise = __webpack_require__(175);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _lodash = __webpack_require__(475);\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _loadingComponent = __webpack_require__(476);\n\nvar _loadingComponent2 = _interopRequireDefault(_loadingComponent);\n\nvar _dom = __webpack_require__(13);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-scroll';\nvar dragConfig = {\n sensitivity: 10,\n minimumStartDragOffset: 5 };\n\nvar noop = function () {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return _promise2.default.resolve();\n}.bind(undefined);\n\nexports.default = {\n name: 'Scroll',\n mixins: [_locale2.default],\n components: { loader: _loadingComponent2.default },\n props: {\n height: {\n type: [Number, String],\n default: 300\n },\n onReachTop: {\n type: Function\n },\n onReachBottom: {\n type: Function\n },\n onReachEdge: {\n type: Function\n },\n loadingText: {\n type: String\n },\n distanceToEdge: [Number, Array]\n },\n data: function data() {\n var _this = this;\n\n var distanceToEdge = this.calculateProximityThreshold();\n return {\n showTopLoader: false,\n showBottomLoader: false,\n showBodyLoader: false,\n lastScroll: 0,\n reachedTopScrollLimit: true,\n reachedBottomScrollLimit: false,\n topRubberPadding: 0,\n bottomRubberPadding: 0,\n rubberRollBackTimeout: false,\n isLoading: false,\n pointerTouchDown: null,\n touchScroll: false,\n handleScroll: function handleScroll() {\n (0, _newArrowCheck3.default)(this, _this);\n }.bind(this),\n pointerUpHandler: function pointerUpHandler() {\n (0, _newArrowCheck3.default)(this, _this);\n }.bind(this),\n pointerMoveHandler: function pointerMoveHandler() {\n (0, _newArrowCheck3.default)(this, _this);\n }.bind(this),\n\n topProximityThreshold: distanceToEdge[0],\n bottomProximityThreshold: distanceToEdge[1]\n };\n },\n\n computed: {\n wrapClasses: function wrapClasses() {\n return prefixCls + '-wrapper';\n },\n scrollContainerClasses: function scrollContainerClasses() {\n return prefixCls + '-container';\n },\n slotContainerClasses: function slotContainerClasses() {\n return [prefixCls + '-content', (0, _defineProperty3.default)({}, prefixCls + '-content-loading', this.showBodyLoader)];\n },\n loaderClasses: function loaderClasses() {\n return prefixCls + '-loader';\n },\n wrapperPadding: function wrapperPadding() {\n return {\n paddingTop: this.topRubberPadding + 'px',\n paddingBottom: this.bottomRubberPadding + 'px'\n };\n },\n localeLoadingText: function localeLoadingText() {\n if (this.loadingText === undefined) {\n return this.t('i.select.loading');\n } else {\n return this.loadingText;\n }\n }\n },\n methods: {\n waitOneSecond: function waitOneSecond() {\n var _this2 = this;\n\n return new _promise2.default(function (resolve) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n setTimeout(resolve, 1000);\n }.bind(this));\n },\n calculateProximityThreshold: function calculateProximityThreshold() {\n var dte = this.distanceToEdge;\n if (typeof dte == 'undefined') return [20, 20];\n return Array.isArray(dte) ? dte : [dte, dte];\n },\n onCallback: function onCallback(dir) {\n var _this3 = this;\n\n this.isLoading = true;\n this.showBodyLoader = true;\n if (dir > 0) {\n this.showTopLoader = true;\n this.topRubberPadding = 20;\n } else {\n (function () {\n _this3.showBottomLoader = true;\n _this3.bottomRubberPadding = 20;\n\n var bottomLoaderHeight = 0;\n var container = _this3.$refs.scrollContainer;\n var initialScrollTop = container.scrollTop;\n for (var i = 0; i < 20; i++) {\n setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this3);\n\n bottomLoaderHeight = Math.max(bottomLoaderHeight, this.$refs.bottomLoader.getBoundingClientRect().height);\n container.scrollTop = initialScrollTop + bottomLoaderHeight;\n }.bind(_this3), i * 50);\n }\n })();\n }\n\n var callbacks = [this.waitOneSecond(), this.onReachEdge ? this.onReachEdge(dir) : noop()];\n callbacks.push(dir > 0 ? this.onReachTop ? this.onReachTop() : noop() : this.onReachBottom ? this.onReachBottom() : noop());\n\n var tooSlow = setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this3);\n\n this.reset();\n }.bind(this), 5000);\n\n _promise2.default.all(callbacks).then(function () {\n (0, _newArrowCheck3.default)(this, _this3);\n\n clearTimeout(tooSlow);\n this.reset();\n }.bind(this));\n },\n reset: function reset() {\n var _this4 = this;\n\n ['showTopLoader', 'showBottomLoader', 'showBodyLoader', 'isLoading', 'reachedTopScrollLimit', 'reachedBottomScrollLimit'].forEach(function (prop) {\n (0, _newArrowCheck3.default)(this, _this4);\n return this[prop] = false;\n }.bind(this));\n\n this.lastScroll = 0;\n this.topRubberPadding = 0;\n this.bottomRubberPadding = 0;\n clearInterval(this.rubberRollBackTimeout);\n\n if (this.touchScroll) {\n setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this4);\n\n (0, _dom.off)(window, 'touchend', this.pointerUpHandler);\n this.$refs.scrollContainer.removeEventListener('touchmove', this.pointerMoveHandler);\n this.touchScroll = false;\n }.bind(this), 500);\n }\n },\n onWheel: function onWheel(event) {\n if (this.isLoading) return;\n\n var wheelDelta = event.wheelDelta ? event.wheelDelta : -(event.detail || event.deltaY);\n this.stretchEdge(wheelDelta);\n },\n stretchEdge: function stretchEdge(direction) {\n var _this5 = this;\n\n clearTimeout(this.rubberRollBackTimeout);\n\n if (!this.onReachEdge) {\n if (direction > 0) {\n if (!this.onReachTop) return;\n } else {\n if (!this.onReachBottom) return;\n }\n }\n\n this.rubberRollBackTimeout = setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this5);\n\n if (!this.isLoading) this.reset();\n }.bind(this), 250);\n\n if (direction > 0 && this.reachedTopScrollLimit) {\n this.topRubberPadding += 5 - this.topRubberPadding / 5;\n if (this.topRubberPadding > this.topProximityThreshold) this.onCallback(1);\n } else if (direction < 0 && this.reachedBottomScrollLimit) {\n this.bottomRubberPadding += 6 - this.bottomRubberPadding / 4;\n if (this.bottomRubberPadding > this.bottomProximityThreshold) this.onCallback(-1);\n } else {\n this.onScroll();\n }\n },\n onScroll: function onScroll() {\n var el = this.$refs.scrollContainer;\n if (this.isLoading || !el) return;\n var scrollDirection = (0, _sign2.default)(this.lastScroll - el.scrollTop);\n var displacement = el.scrollHeight - el.clientHeight - el.scrollTop;\n\n var topNegativeProximity = this.topProximityThreshold < 0 ? this.topProximityThreshold : 0;\n var bottomNegativeProximity = this.bottomProximityThreshold < 0 ? this.bottomProximityThreshold : 0;\n if (scrollDirection == -1 && displacement + bottomNegativeProximity <= dragConfig.sensitivity) {\n this.reachedBottomScrollLimit = true;\n } else if (scrollDirection >= 0 && el.scrollTop + topNegativeProximity <= 0) {\n this.reachedTopScrollLimit = true;\n } else {\n this.reachedTopScrollLimit = false;\n this.reachedBottomScrollLimit = false;\n this.lastScroll = el.scrollTop;\n }\n },\n getTouchCoordinates: function getTouchCoordinates(e) {\n return {\n x: e.touches[0].pageX,\n y: e.touches[0].pageY\n };\n },\n onPointerDown: function onPointerDown(e) {\n var _this6 = this;\n\n if (this.isLoading) return;\n if (e.type == 'touchstart') {\n var container = this.$refs.scrollContainer;\n if (this.reachedTopScrollLimit) container.scrollTop = 5;else if (this.reachedBottomScrollLimit) container.scrollTop -= 5;\n }\n if (e.type == 'touchstart' && this.$refs.scrollContainer.scrollTop == 0) this.$refs.scrollContainer.scrollTop = 5;\n\n this.pointerTouchDown = this.getTouchCoordinates(e);\n (0, _dom.on)(window, 'touchend', this.pointerUpHandler);\n this.$refs.scrollContainer.parentElement.addEventListener('touchmove', function (e) {\n (0, _newArrowCheck3.default)(this, _this6);\n\n e.stopPropagation();\n this.pointerMoveHandler(e);\n }.bind(this), { passive: false, useCapture: true });\n },\n onPointerMove: function onPointerMove(e) {\n if (!this.pointerTouchDown) return;\n if (this.isLoading) return;\n\n var pointerPosition = this.getTouchCoordinates(e);\n var yDiff = pointerPosition.y - this.pointerTouchDown.y;\n\n this.stretchEdge(yDiff);\n\n if (!this.touchScroll) {\n var wasDragged = Math.abs(yDiff) > dragConfig.minimumStartDragOffset;\n if (wasDragged) this.touchScroll = true;\n }\n },\n onPointerUp: function onPointerUp() {\n this.pointerTouchDown = null;\n }\n },\n created: function created() {\n this.handleScroll = (0, _lodash2.default)(this.onScroll, 150, { leading: false });\n this.pointerUpHandler = this.onPointerUp.bind(this);\n this.pointerMoveHandler = (0, _lodash2.default)(this.onPointerMove, 50, { leading: false });\n }\n};\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _spin = __webpack_require__(81);\n\nvar _spin2 = _interopRequireDefault(_spin);\n\nvar _icon = __webpack_require__(8);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-scroll';\n\nexports.default = {\n props: ['text', 'active', 'spinnerHeight'],\n components: { Spin: _spin2.default, Icon: _icon2.default },\n computed: {\n wrapperClasses: function wrapperClasses() {\n return [prefixCls + '-loader-wrapper', (0, _defineProperty3.default)({}, prefixCls + '-loader-wrapper-active', this.active)];\n },\n spinnerClasses: function spinnerClasses() {\n return prefixCls + '-spinner';\n },\n iconClasses: function iconClasses() {\n return prefixCls + '-spinner-icon';\n },\n textClasses: function textClasses() {\n return prefixCls + '-loader-text';\n }\n }\n};\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assist = __webpack_require__(3);\n\nvar _mixinsScrollbar = __webpack_require__(79);\n\nvar _mixinsScrollbar2 = _interopRequireDefault(_mixinsScrollbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-spin';\n\nexports.default = {\n name: 'Spin',\n mixins: [_mixinsScrollbar2.default],\n props: {\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small', 'large', 'default']);\n },\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.size === '' ? 'default' : this.$IVIEW.size;\n }\n },\n fix: {\n type: Boolean,\n default: false\n },\n fullscreen: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n showText: false,\n\n visible: false\n };\n },\n\n computed: {\n classes: function classes() {\n var _ref;\n\n return ['' + prefixCls, (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-' + String(this.size), !!this.size), (0, _defineProperty3.default)(_ref, prefixCls + '-fix', this.fix), (0, _defineProperty3.default)(_ref, prefixCls + '-show-text', this.showText), (0, _defineProperty3.default)(_ref, prefixCls + '-fullscreen', this.fullscreen), _ref)];\n },\n mainClasses: function mainClasses() {\n return prefixCls + '-main';\n },\n dotClasses: function dotClasses() {\n return prefixCls + '-dot';\n },\n textClasses: function textClasses() {\n return prefixCls + '-text';\n },\n fullscreenVisible: function fullscreenVisible() {\n if (this.fullscreen) {\n return this.visible;\n } else {\n return true;\n }\n }\n },\n watch: {\n visible: function visible(val) {\n if (val) {\n this.addScrollEffect();\n } else {\n this.removeScrollEffect();\n }\n }\n },\n mounted: function mounted() {\n this.showText = this.$slots.default !== undefined;\n }\n};\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assist = __webpack_require__(3);\n\nvar _dom = __webpack_require__(13);\n\nvar _trigger = __webpack_require__(482);\n\nvar _trigger2 = _interopRequireDefault(_trigger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'Split',\n components: {\n Trigger: _trigger2.default\n },\n props: {\n value: {\n type: [Number, String],\n default: 0.5\n },\n mode: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['horizontal', 'vertical']);\n },\n\n default: 'horizontal'\n },\n min: {\n type: [Number, String],\n default: '40px'\n },\n max: {\n type: [Number, String],\n default: '40px'\n }\n },\n data: function data() {\n return {\n prefix: 'ivu-split',\n offset: 0,\n oldOffset: 0,\n isMoving: false\n };\n },\n\n computed: {\n wrapperClasses: function wrapperClasses() {\n return [String(this.prefix) + '-wrapper', this.isMoving ? 'no-select' : ''];\n },\n paneClasses: function paneClasses() {\n return [String(this.prefix) + '-pane', (0, _defineProperty3.default)({}, String(this.prefix) + '-pane-moving', this.isMoving)];\n },\n isHorizontal: function isHorizontal() {\n return this.mode === 'horizontal';\n },\n anotherOffset: function anotherOffset() {\n return 100 - this.offset;\n },\n valueIsPx: function valueIsPx() {\n return typeof this.value === 'string';\n },\n offsetSize: function offsetSize() {\n return this.isHorizontal ? 'offsetWidth' : 'offsetHeight';\n },\n computedMin: function computedMin() {\n return this.getComputedThresholdValue('min');\n },\n computedMax: function computedMax() {\n return this.getComputedThresholdValue('max');\n }\n },\n methods: {\n px2percent: function px2percent(numerator, denominator) {\n return parseFloat(numerator) / parseFloat(denominator);\n },\n getComputedThresholdValue: function getComputedThresholdValue(type) {\n var size = this.$refs.outerWrapper[this.offsetSize];\n if (this.valueIsPx) return typeof this[type] === 'string' ? this[type] : size * this[type];else return typeof this[type] === 'string' ? this.px2percent(this[type], size) : this[type];\n },\n getMin: function getMin(value1, value2) {\n if (this.valueIsPx) return String(Math.min(parseFloat(value1), parseFloat(value2))) + 'px';else return Math.min(value1, value2);\n },\n getMax: function getMax(value1, value2) {\n if (this.valueIsPx) return String(Math.max(parseFloat(value1), parseFloat(value2))) + 'px';else return Math.max(value1, value2);\n },\n getAnotherOffset: function getAnotherOffset(value) {\n var res = 0;\n if (this.valueIsPx) res = this.$refs.outerWrapper[this.offsetSize] - parseFloat(value) + 'px';else res = 1 - value;\n return res;\n },\n handleMove: function handleMove(e) {\n var pageOffset = this.isHorizontal ? e.pageX : e.pageY;\n var offset = pageOffset - this.initOffset;\n var outerWidth = this.$refs.outerWrapper[this.offsetSize];\n var value = this.valueIsPx ? String(parseFloat(this.oldOffset) + offset) + 'px' : this.px2percent(outerWidth * this.oldOffset + offset, outerWidth);\n var anotherValue = this.getAnotherOffset(value);\n if (parseFloat(value) <= parseFloat(this.computedMin)) value = this.getMax(value, this.computedMin);\n if (parseFloat(anotherValue) <= parseFloat(this.computedMax)) value = this.getAnotherOffset(this.getMax(anotherValue, this.computedMax));\n e.atMin = this.value === this.computedMin;\n e.atMax = this.valueIsPx ? this.getAnotherOffset(this.value) === this.computedMax : this.getAnotherOffset(this.value).toFixed(5) === this.computedMax.toFixed(5);\n this.$emit('input', value);\n this.$emit('on-moving', e);\n },\n handleUp: function handleUp() {\n this.isMoving = false;\n (0, _dom.off)(document, 'mousemove', this.handleMove);\n (0, _dom.off)(document, 'mouseup', this.handleUp);\n this.$emit('on-move-end');\n },\n handleMousedown: function handleMousedown(e) {\n this.initOffset = this.isHorizontal ? e.pageX : e.pageY;\n this.oldOffset = this.value;\n this.isMoving = true;\n (0, _dom.on)(document, 'mousemove', this.handleMove);\n (0, _dom.on)(document, 'mouseup', this.handleUp);\n this.$emit('on-move-start');\n },\n computeOffset: function computeOffset() {\n this.offset = (this.valueIsPx ? this.px2percent(this.value, this.$refs.outerWrapper[this.offsetSize]) : this.value) * 10000 / 100;\n }\n },\n watch: {\n value: function value() {\n this.computeOffset();\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.computeOffset();\n }.bind(this));\n\n window.addEventListener('resize', function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.computeOffset();\n }.bind(this));\n }\n};\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: 'Trigger',\n props: {\n mode: String\n },\n data: function data() {\n return {\n prefix: 'ivu-split-trigger',\n initOffset: 0\n };\n },\n\n computed: {\n isVertical: function isVertical() {\n return this.mode === 'vertical';\n },\n classes: function classes() {\n return [this.prefix, this.isVertical ? String(this.prefix) + '-vertical' : String(this.prefix) + '-horizontal'];\n },\n barConClasses: function barConClasses() {\n return [String(this.prefix) + '-bar-con', this.isVertical ? 'vertical' : 'horizontal'];\n }\n }\n};\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-layout';\n\nexports.default = {\n name: 'Layout',\n data: function data() {\n return {\n hasSider: false\n };\n },\n\n computed: {\n wrapClasses: function wrapClasses() {\n return ['' + prefixCls, (0, _defineProperty3.default)({}, prefixCls + '-has-sider', this.hasSider)];\n }\n },\n methods: {\n findSider: function findSider() {\n var _this = this;\n\n return this.$children.some(function (child) {\n (0, _newArrowCheck3.default)(this, _this);\n\n return child.$options.name === 'Sider';\n }.bind(this));\n }\n },\n mounted: function mounted() {\n this.hasSider = this.findSider();\n }\n};\n\n/***/ }),\n/* 192 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_sider_vue__ = __webpack_require__(193);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_sider_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_sider_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_sider_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_sider_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3c013752_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_sider_vue__ = __webpack_require__(488);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3c013752_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_sider_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3c013752_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_sider_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_sider_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3c013752_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_sider_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3c013752_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_sider_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _dom = __webpack_require__(13);\n\nvar _assist = __webpack_require__(3);\n\nvar prefixCls = 'ivu-layout-sider';\n(0, _assist.setMatchMedia)();\nexports.default = {\n name: 'Sider',\n props: {\n value: {\n type: Boolean,\n default: false\n },\n width: {\n type: [Number, String],\n default: 200\n },\n collapsedWidth: {\n type: [Number, String],\n default: 64\n },\n hideTrigger: {\n type: Boolean,\n default: false\n },\n breakpoint: {\n type: String,\n validator: function validator(val) {\n return (0, _assist.oneOf)(val, ['xs', 'sm', 'md', 'lg', 'xl', 'xxl']);\n }\n },\n collapsible: {\n type: Boolean,\n default: false\n },\n defaultCollapsed: {\n type: Boolean,\n default: false\n },\n reverseArrow: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n mediaMatched: false\n };\n },\n\n computed: {\n wrapClasses: function wrapClasses() {\n return ['' + prefixCls, this.siderWidth ? '' : prefixCls + '-zero-width', this.value ? prefixCls + '-collapsed' : ''];\n },\n wrapStyles: function wrapStyles() {\n return {\n width: String(this.siderWidth) + 'px',\n minWidth: String(this.siderWidth) + 'px',\n maxWidth: String(this.siderWidth) + 'px',\n flex: '0 0 ' + String(this.siderWidth) + 'px'\n };\n },\n triggerClasses: function triggerClasses() {\n return [prefixCls + '-trigger', this.value ? prefixCls + '-trigger-collapsed' : ''];\n },\n childClasses: function childClasses() {\n return String(this.prefixCls) + '-children';\n },\n zeroWidthTriggerClasses: function zeroWidthTriggerClasses() {\n return [prefixCls + '-zero-width-trigger', this.reverseArrow ? prefixCls + '-zero-width-trigger-left' : ''];\n },\n triggerIconClasses: function triggerIconClasses() {\n return ['ivu-icon', 'ivu-icon-ios-arrow-' + (this.reverseArrow ? 'forward' : 'back'), prefixCls + '-trigger-icon'];\n },\n siderWidth: function siderWidth() {\n return this.collapsible ? this.value ? this.mediaMatched ? 0 : parseInt(this.collapsedWidth) : parseInt(this.width) : this.width;\n },\n showZeroTrigger: function showZeroTrigger() {\n return this.collapsible ? this.mediaMatched && !this.hideTrigger || parseInt(this.collapsedWidth) === 0 && this.value && !this.hideTrigger : false;\n },\n showBottomTrigger: function showBottomTrigger() {\n return this.collapsible ? !this.mediaMatched && !this.hideTrigger : false;\n }\n },\n methods: {\n toggleCollapse: function toggleCollapse() {\n var value = this.collapsible ? !this.value : false;\n this.$emit('input', value);\n },\n matchMedia: function matchMedia() {\n var matchMedia = void 0;\n if (window.matchMedia) {\n matchMedia = window.matchMedia;\n }\n var mediaMatched = this.mediaMatched;\n this.mediaMatched = matchMedia('(max-width: ' + String(_assist.dimensionMap[this.breakpoint]) + ')').matches;\n\n if (this.mediaMatched !== mediaMatched) {\n this.$emit('input', this.mediaMatched);\n }\n },\n onWindowResize: function onWindowResize() {\n this.matchMedia();\n }\n },\n watch: {\n value: function value(stat) {\n this.$emit('on-collapse', stat);\n }\n },\n mounted: function mounted() {\n if (this.defaultCollapsed) {\n this.$emit('input', this.defaultCollapsed);\n }\n if (this.breakpoint !== undefined) {\n (0, _dom.on)(window, 'resize', this.onWindowResize);\n this.matchMedia();\n }\n },\n beforeDestroy: function beforeDestroy() {\n if (this.breakpoint !== undefined) {\n (0, _dom.off)(window, 'resize', this.onWindowResize);\n }\n }\n};\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-list';\n\nexports.default = {\n name: 'List',\n provide: function provide() {\n return {\n ListInstance: this\n };\n },\n\n props: {\n border: {\n type: Boolean,\n default: false\n },\n itemLayout: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['horizontal', 'vertical']);\n },\n\n default: 'horizontal'\n },\n\n header: {\n type: String,\n default: ''\n },\n\n footer: {\n type: String,\n default: ''\n },\n\n loading: {\n type: Boolean,\n default: false\n },\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small', 'large', 'default']);\n },\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.size === '' ? 'default' : this.$IVIEW.size;\n }\n },\n split: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {};\n },\n\n computed: {\n classes: function classes() {\n var _ref;\n\n return ['' + prefixCls, prefixCls + '-' + String(this.size), prefixCls + '-' + String(this.itemLayout), (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-bordered', this.border), (0, _defineProperty3.default)(_ref, prefixCls + '-split', this.split), _ref)];\n }\n },\n methods: {}\n};\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'ListItem',\n inject: ['ListInstance'],\n props: {},\n computed: {\n itemLayout: function itemLayout() {\n return this.ListInstance.itemLayout;\n },\n isItemContainsTextNode: function isItemContainsTextNode() {\n var _this = this;\n\n var result = void 0;\n this.$slots.default.forEach(function (item) {\n (0, _newArrowCheck3.default)(this, _this);\n\n if (typeof item === 'string') {\n result = true;\n }\n }.bind(this));\n return result;\n },\n isFlexMode: function isFlexMode() {\n var extra = this.$slots.extra;\n\n if (this.itemLayout === 'vertical') {\n return !!extra;\n }\n\n return !this.isItemContainsTextNode;\n },\n classes: function classes() {\n return [{\n 'ivu-list-item-no-flex': !this.isFlexMode\n }];\n }\n }\n};\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _avatar = __webpack_require__(115);\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'ListItemMeta',\n components: { Avatar: _avatar2.default },\n props: {\n avatar: {\n type: String,\n default: ''\n },\n title: {\n type: String,\n default: ''\n },\n description: {\n type: String,\n default: ''\n }\n }\n};\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-loading-bar';\n\nexports.default = {\n name: 'LoadingBar',\n props: {\n color: {\n type: String,\n default: 'primary'\n },\n failedColor: {\n type: String,\n default: 'error'\n },\n height: {\n type: Number,\n default: 2\n }\n },\n data: function data() {\n return {\n percent: 0,\n\n status: 'success',\n show: false\n };\n },\n\n computed: {\n classes: function classes() {\n return '' + prefixCls;\n },\n innerClasses: function innerClasses() {\n var _ref;\n\n return [prefixCls + '-inner', (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-inner-color-primary', this.color === 'primary' && this.status === 'success'), (0, _defineProperty3.default)(_ref, prefixCls + '-inner-failed-color-error', this.failedColor === 'error' && this.status === 'error'), _ref)];\n },\n outerStyles: function outerStyles() {\n return {\n height: String(this.height) + 'px'\n };\n },\n styles: function styles() {\n var style = {\n width: String(this.percent) + '%',\n height: String(this.height) + 'px'\n };\n\n if (this.color !== 'primary' && this.status === 'success') {\n style.backgroundColor = this.color;\n }\n\n if (this.failedColor !== 'error' && this.status === 'error') {\n style.backgroundColor = this.failedColor;\n }\n\n return style;\n }\n }\n};\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _toConsumableArray2 = __webpack_require__(16);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assist = __webpack_require__(3);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-menu';\n\nexports.default = {\n name: 'Menu',\n mixins: [_emitter2.default],\n props: {\n mode: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['horizontal', 'vertical']);\n },\n\n default: 'vertical'\n },\n theme: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['light', 'dark', 'primary']);\n },\n\n default: 'light'\n },\n activeName: {\n type: [String, Number]\n },\n openNames: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n accordion: {\n type: Boolean,\n default: false\n },\n width: {\n type: String,\n default: '240px'\n }\n },\n data: function data() {\n return {\n currentActiveName: this.activeName,\n openedNames: []\n };\n },\n\n computed: {\n classes: function classes() {\n var theme = this.theme;\n if (this.mode === 'vertical' && this.theme === 'primary') theme = 'light';\n\n return ['' + prefixCls, prefixCls + '-' + String(theme), (0, _defineProperty3.default)({}, prefixCls + '-' + String(this.mode), this.mode)];\n },\n styles: function styles() {\n var style = {};\n\n if (this.mode === 'vertical') style.width = this.width;\n\n return style;\n }\n },\n methods: {\n updateActiveName: function updateActiveName() {\n if (this.currentActiveName === undefined) {\n this.currentActiveName = -1;\n }\n this.broadcast('Submenu', 'on-update-active-name', false);\n this.broadcast('MenuItem', 'on-update-active-name', this.currentActiveName);\n },\n updateOpenKeys: function updateOpenKeys(name) {\n var _this = this;\n\n var names = [].concat((0, _toConsumableArray3.default)(this.openedNames));\n var index = names.indexOf(name);\n if (this.accordion) (0, _assist.findComponentsDownward)(this, 'Submenu').forEach(function (item) {\n (0, _newArrowCheck3.default)(this, _this);\n\n item.opened = false;\n }.bind(this));\n if (index >= 0) {\n var currentSubmenu = null;\n (0, _assist.findComponentsDownward)(this, 'Submenu').forEach(function (item) {\n (0, _newArrowCheck3.default)(this, _this);\n\n if (item.name === name) {\n currentSubmenu = item;\n item.opened = false;\n }\n }.bind(this));\n (0, _assist.findComponentsUpward)(currentSubmenu, 'Submenu').forEach(function (item) {\n (0, _newArrowCheck3.default)(this, _this);\n\n item.opened = true;\n }.bind(this));\n (0, _assist.findComponentsDownward)(currentSubmenu, 'Submenu').forEach(function (item) {\n (0, _newArrowCheck3.default)(this, _this);\n\n item.opened = false;\n }.bind(this));\n } else {\n if (this.accordion) {\n var _currentSubmenu = null;\n (0, _assist.findComponentsDownward)(this, 'Submenu').forEach(function (item) {\n (0, _newArrowCheck3.default)(this, _this);\n\n if (item.name === name) {\n _currentSubmenu = item;\n item.opened = true;\n }\n }.bind(this));\n (0, _assist.findComponentsUpward)(_currentSubmenu, 'Submenu').forEach(function (item) {\n (0, _newArrowCheck3.default)(this, _this);\n\n item.opened = true;\n }.bind(this));\n } else {\n (0, _assist.findComponentsDownward)(this, 'Submenu').forEach(function (item) {\n (0, _newArrowCheck3.default)(this, _this);\n\n if (item.name === name) item.opened = true;\n }.bind(this));\n }\n }\n var openedNames = (0, _assist.findComponentsDownward)(this, 'Submenu').filter(function (item) {\n (0, _newArrowCheck3.default)(this, _this);\n return item.opened;\n }.bind(this)).map(function (item) {\n (0, _newArrowCheck3.default)(this, _this);\n return item.name;\n }.bind(this));\n this.openedNames = [].concat((0, _toConsumableArray3.default)(openedNames));\n this.$emit('on-open-change', openedNames);\n },\n updateOpened: function updateOpened() {\n var _this2 = this;\n\n var items = (0, _assist.findComponentsDownward)(this, 'Submenu');\n\n if (items.length) {\n items.forEach(function (item) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n if (this.openedNames.indexOf(item.name) > -1) item.opened = true;else item.opened = false;\n }.bind(this));\n }\n },\n handleEmitSelectEvent: function handleEmitSelectEvent(name) {\n this.$emit('on-select', name);\n }\n },\n mounted: function mounted() {\n var _this3 = this;\n\n this.openedNames = [].concat((0, _toConsumableArray3.default)(this.openNames));\n this.updateOpened();\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this3);\n return this.updateActiveName();\n }.bind(this));\n this.$on('on-menu-item-select', function (name) {\n (0, _newArrowCheck3.default)(this, _this3);\n\n this.currentActiveName = name;\n this.$emit('on-select', name);\n }.bind(this));\n },\n\n watch: {\n openNames: function openNames(names) {\n this.openedNames = names;\n },\n activeName: function activeName(val) {\n this.currentActiveName = val;\n },\n currentActiveName: function currentActiveName() {\n this.updateActiveName();\n }\n }\n};\n\n/***/ }),\n/* 199 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _mixin = __webpack_require__(82);\n\nvar _mixin2 = _interopRequireDefault(_mixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-menu';\n\nexports.default = {\n name: 'MenuGroup',\n mixins: [_mixin2.default],\n props: {\n title: {\n type: String,\n default: ''\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls\n };\n },\n\n computed: {\n groupStyle: function groupStyle() {\n return this.hasParentSubmenu && this.mode !== 'horizontal' ? {\n paddingLeft: 43 + (this.parentSubmenuNum - 1) * 28 + 'px'\n } : {};\n }\n }\n};\n\n/***/ }),\n/* 200 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _assist = __webpack_require__(3);\n\nvar _mixin = __webpack_require__(82);\n\nvar _mixin2 = _interopRequireDefault(_mixin);\n\nvar _link = __webpack_require__(55);\n\nvar _link2 = _interopRequireDefault(_link);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-menu';\n\nexports.default = {\n name: 'MenuItem',\n mixins: [_emitter2.default, _mixin2.default, _link2.default],\n props: {\n name: {\n type: [String, Number],\n required: true\n },\n disabled: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n active: false\n };\n },\n\n computed: {\n classes: function classes() {\n var _ref;\n\n return [prefixCls + '-item', (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-item-active', this.active), (0, _defineProperty3.default)(_ref, prefixCls + '-item-selected', this.active), (0, _defineProperty3.default)(_ref, prefixCls + '-item-disabled', this.disabled), _ref)];\n },\n itemStyle: function itemStyle() {\n return this.hasParentSubmenu && this.mode !== 'horizontal' ? {\n paddingLeft: 43 + (this.parentSubmenuNum - 1) * 24 + 'px'\n } : {};\n }\n },\n methods: {\n handleClickItem: function handleClickItem(event) {\n var new_window = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this.disabled) return;\n\n if (new_window || this.target === '_blank') {\n this.handleCheckClick(event, new_window);\n var parentMenu = (0, _assist.findComponentUpward)(this, 'Menu');\n if (parentMenu) parentMenu.handleEmitSelectEvent(this.name);\n } else {\n var parent = (0, _assist.findComponentUpward)(this, 'Submenu');\n\n if (parent) {\n this.dispatch('Submenu', 'on-menu-item-select', this.name);\n } else {\n this.dispatch('Menu', 'on-menu-item-select', this.name);\n }\n\n this.handleCheckClick(event, new_window);\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$on('on-update-active-name', function (name) {\n (0, _newArrowCheck3.default)(this, _this);\n\n if (this.name === name) {\n this.active = true;\n this.dispatch('Submenu', 'on-update-active-name', name);\n } else {\n this.active = false;\n }\n }.bind(this));\n }\n};\n\n/***/ }),\n/* 201 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _dropdown = __webpack_require__(33);\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nvar _icon = __webpack_require__(8);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _collapseTransition = __webpack_require__(75);\n\nvar _collapseTransition2 = _interopRequireDefault(_collapseTransition);\n\nvar _assist = __webpack_require__(3);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _mixin = __webpack_require__(82);\n\nvar _mixin2 = _interopRequireDefault(_mixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-menu';\n\nexports.default = {\n name: 'Submenu',\n mixins: [_emitter2.default, _mixin2.default],\n components: { Icon: _icon2.default, Drop: _dropdown2.default, CollapseTransition: _collapseTransition2.default },\n props: {\n name: {\n type: [String, Number],\n required: true\n },\n disabled: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n active: false,\n opened: false,\n dropWidth: parseFloat((0, _assist.getStyle)(this.$el, 'width'))\n };\n },\n\n computed: {\n classes: function classes() {\n var _ref;\n\n return [prefixCls + '-submenu', (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-item-active', this.active && !this.hasParentSubmenu), (0, _defineProperty3.default)(_ref, prefixCls + '-opened', this.opened), (0, _defineProperty3.default)(_ref, prefixCls + '-submenu-disabled', this.disabled), (0, _defineProperty3.default)(_ref, prefixCls + '-submenu-has-parent-submenu', this.hasParentSubmenu), (0, _defineProperty3.default)(_ref, prefixCls + '-child-item-active', this.active), _ref)];\n },\n accordion: function accordion() {\n return this.menu.accordion;\n },\n dropStyle: function dropStyle() {\n var style = {};\n\n if (this.dropWidth) style.minWidth = String(this.dropWidth) + 'px';\n return style;\n },\n titleStyle: function titleStyle() {\n return this.hasParentSubmenu && this.mode !== 'horizontal' ? {\n paddingLeft: 43 + (this.parentSubmenuNum - 1) * 24 + 'px'\n } : {};\n },\n arrowType: function arrowType() {\n var type = 'ios-arrow-down';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.menu.customArrow) {\n type = '';\n } else if (this.$IVIEW.menu.arrow) {\n type = this.$IVIEW.menu.arrow;\n }\n }\n return type;\n },\n customArrowType: function customArrowType() {\n var type = '';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.menu.customArrow) {\n type = this.$IVIEW.menu.customArrow;\n }\n }\n return type;\n },\n arrowSize: function arrowSize() {\n var size = '';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.menu.arrowSize) {\n size = this.$IVIEW.menu.arrowSize;\n }\n }\n return size;\n }\n },\n methods: {\n handleMouseenter: function handleMouseenter() {\n var _this = this;\n\n if (this.disabled) return;\n if (this.mode === 'vertical') return;\n\n clearTimeout(this.timeout);\n this.timeout = setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.menu.updateOpenKeys(this.name);\n this.opened = true;\n }.bind(this), 250);\n },\n handleMouseleave: function handleMouseleave() {\n var _this2 = this;\n\n if (this.disabled) return;\n if (this.mode === 'vertical') return;\n\n clearTimeout(this.timeout);\n this.timeout = setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this2);\n\n this.menu.updateOpenKeys(this.name);\n this.opened = false;\n }.bind(this), 150);\n },\n handleClick: function handleClick() {\n var _this3 = this;\n\n if (this.disabled) return;\n if (this.mode === 'horizontal') return;\n var opened = this.opened;\n if (this.accordion) {\n this.$parent.$children.forEach(function (item) {\n (0, _newArrowCheck3.default)(this, _this3);\n\n if (item.$options.name === 'Submenu') item.opened = false;\n }.bind(this));\n }\n this.opened = !opened;\n this.menu.updateOpenKeys(this.name);\n }\n },\n watch: {\n mode: function mode(val) {\n if (val === 'horizontal') {\n this.$refs.drop.update();\n }\n },\n opened: function opened(val) {\n if (this.mode === 'vertical') return;\n if (val) {\n this.dropWidth = parseFloat((0, _assist.getStyle)(this.$el, 'width'));\n this.$refs.drop.update();\n } else {\n this.$refs.drop.destroy();\n }\n }\n },\n mounted: function mounted() {\n var _this4 = this;\n\n this.$on('on-menu-item-select', function (name) {\n (0, _newArrowCheck3.default)(this, _this4);\n\n if (this.mode === 'horizontal') this.opened = false;\n this.dispatch('Menu', 'on-menu-item-select', name);\n return true;\n }.bind(this));\n this.$on('on-update-active-name', function (status) {\n (0, _newArrowCheck3.default)(this, _this4);\n\n if ((0, _assist.findComponentUpward)(this, 'Submenu')) this.dispatch('Submenu', 'on-update-active-name', status);\n if ((0, _assist.findComponentsDownward)(this, 'Submenu')) (0, _assist.findComponentsDownward)(this, 'Submenu').forEach(function (item) {\n (0, _newArrowCheck3.default)(this, _this4);\n\n item.active = false;\n }.bind(this));\n this.active = status;\n }.bind(this));\n }\n};\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _notification = __webpack_require__(510);\n\nvar _notification2 = _interopRequireDefault(_notification);\n\nvar _vue = __webpack_require__(15);\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_notification2.default.newInstance = function (properties) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var _props = properties || {};\n\n var Instance = new _vue2.default({\n render: function render(h) {\n return h(_notification2.default, {\n props: _props\n });\n }\n });\n\n var component = Instance.$mount();\n document.body.appendChild(component.$el);\n var notification = Instance.$children[0];\n\n return {\n notice: function notice(noticeProps) {\n notification.add(noticeProps);\n },\n remove: function remove(name) {\n notification.close(name);\n },\n\n component: notification,\n destroy: function destroy(element) {\n notification.closeAll();\n setTimeout(function () {\n document.body.removeChild(document.getElementsByClassName(element)[0]);\n }, 500);\n }\n };\n}.bind(undefined);\n\nexports.default = _notification2.default;\n\n/***/ }),\n/* 203 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assign = __webpack_require__(14);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _notice2 = __webpack_require__(511);\n\nvar _notice3 = _interopRequireDefault(_notice2);\n\nvar _transferQueue = __webpack_require__(34);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-notification';\nvar seed = 0;\nvar now = Date.now();\n\nfunction getUuid() {\n return 'ivuNotification_' + now + '_' + seed++;\n}\n\nexports.default = {\n components: { Notice: _notice3.default },\n props: {\n prefixCls: {\n type: String,\n default: prefixCls\n },\n styles: {\n type: Object,\n default: function _default() {\n return {\n top: '65px',\n left: '50%'\n };\n }\n },\n content: {\n type: String\n },\n className: {\n type: String\n }\n },\n data: function data() {\n return {\n notices: [],\n tIndex: this.handleGetIndex()\n };\n },\n\n computed: {\n classes: function classes() {\n return ['' + String(this.prefixCls), (0, _defineProperty3.default)({}, '' + String(this.className), !!this.className)];\n },\n wrapStyles: function wrapStyles() {\n var styles = (0, _assign2.default)({}, this.styles);\n styles['z-index'] = 1010 + this.tIndex;\n\n return styles;\n }\n },\n methods: {\n add: function add(notice) {\n var name = notice.name || getUuid();\n\n var _notice = (0, _assign2.default)({\n styles: {\n right: '50%'\n },\n content: '',\n duration: 1.5,\n closable: false,\n name: name\n }, notice);\n\n this.notices.push(_notice);\n this.tIndex = this.handleGetIndex();\n },\n close: function close(name) {\n var notices = this.notices;\n for (var i = 0; i < notices.length; i++) {\n if (notices[i].name === name) {\n this.notices.splice(i, 1);\n break;\n }\n }\n },\n closeAll: function closeAll() {\n this.notices = [];\n },\n handleGetIndex: function handleGetIndex() {\n (0, _transferQueue.transferIncrease)();\n return _transferQueue.transferIndex;\n }\n }\n};\n\n/***/ }),\n/* 204 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _render = __webpack_require__(205);\n\nvar _render2 = _interopRequireDefault(_render);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n components: {\n RenderCell: _render2.default\n },\n props: {\n prefixCls: {\n type: String,\n default: ''\n },\n duration: {\n type: Number,\n default: 1.5\n },\n type: {\n type: String\n },\n content: {\n type: String,\n default: ''\n },\n withIcon: Boolean,\n render: {\n type: Function\n },\n hasTitle: Boolean,\n styles: {\n type: Object,\n default: function _default() {\n return {\n right: '50%'\n };\n }\n },\n closable: {\n type: Boolean,\n default: false\n },\n className: {\n type: String\n },\n name: {\n type: String,\n required: true\n },\n onClose: {\n type: Function\n },\n transitionName: {\n type: String\n }\n },\n data: function data() {\n return {\n withDesc: false\n };\n },\n\n computed: {\n baseClass: function baseClass() {\n return String(this.prefixCls) + '-notice';\n },\n renderFunc: function renderFunc() {\n return this.render || function () {};\n },\n classes: function classes() {\n var _ref;\n\n return [this.baseClass, (_ref = {}, (0, _defineProperty3.default)(_ref, '' + String(this.className), !!this.className), (0, _defineProperty3.default)(_ref, String(this.baseClass) + '-closable', this.closable), (0, _defineProperty3.default)(_ref, String(this.baseClass) + '-with-desc', this.withDesc), _ref)];\n },\n contentClasses: function contentClasses() {\n return [String(this.baseClass) + '-content', this.render !== undefined ? String(this.baseClass) + '-content-with-render' : ''];\n },\n contentWithIcon: function contentWithIcon() {\n return [this.withIcon ? String(this.prefixCls) + '-content-with-icon' : '', !this.hasTitle && this.withIcon ? String(this.prefixCls) + '-content-with-render-notitle' : ''];\n },\n messageClasses: function messageClasses() {\n return [String(this.baseClass) + '-content', this.render !== undefined ? String(this.baseClass) + '-content-with-render' : ''];\n }\n },\n methods: {\n clearCloseTimer: function clearCloseTimer() {\n if (this.closeTimer) {\n clearTimeout(this.closeTimer);\n this.closeTimer = null;\n }\n },\n close: function close() {\n this.clearCloseTimer();\n this.onClose();\n this.$parent.close(this.name);\n },\n handleEnter: function handleEnter(el) {\n if (this.type === 'message') {\n el.style.height = el.scrollHeight + 'px';\n }\n },\n handleLeave: function handleLeave(el) {\n if (this.type === 'message') {\n if (document.getElementsByClassName('ivu-message-notice').length !== 1) {\n el.style.height = 0;\n el.style.paddingTop = 0;\n el.style.paddingBottom = 0;\n }\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.clearCloseTimer();\n\n if (this.duration !== 0) {\n this.closeTimer = setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.close();\n }.bind(this), this.duration * 1000);\n }\n\n if (this.prefixCls === 'ivu-notice') {\n var desc = this.$refs.content.querySelectorAll('.' + String(this.prefixCls) + '-desc')[0];\n this.withDesc = this.render ? true : desc ? desc.innerHTML !== '' : false;\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.clearCloseTimer();\n }\n};\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'RenderCell',\n functional: true,\n props: {\n render: Function\n },\n render: function render(h, ctx) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n return ctx.props.render(h);\n }.bind(undefined)\n};\n\n/***/ }),\n/* 206 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _assign = __webpack_require__(14);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _icon = __webpack_require__(20);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _button = __webpack_require__(24);\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _transferDom = __webpack_require__(21);\n\nvar _transferDom2 = _interopRequireDefault(_transferDom);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _mixinsScrollbar = __webpack_require__(79);\n\nvar _mixinsScrollbar2 = _interopRequireDefault(_mixinsScrollbar);\n\nvar _dom = __webpack_require__(13);\n\nvar _assist = __webpack_require__(3);\n\nvar _transferQueue = __webpack_require__(34);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-modal';\n\nexports.default = {\n name: 'Modal',\n mixins: [_locale2.default, _emitter2.default, _mixinsScrollbar2.default],\n components: { Icon: _icon2.default, iButton: _button2.default },\n directives: { TransferDom: _transferDom2.default },\n props: {\n value: {\n type: Boolean,\n default: false\n },\n closable: {\n type: Boolean,\n default: true\n },\n maskClosable: {\n type: Boolean,\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.modal.maskClosable === '' ? true : this.$IVIEW.modal.maskClosable;\n }\n },\n title: {\n type: String\n },\n width: {\n type: [Number, String],\n default: 520\n },\n okText: {\n type: String\n },\n cancelText: {\n type: String\n },\n loading: {\n type: Boolean,\n default: false\n },\n styles: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n className: {\n type: String\n },\n\n footerHide: {\n type: Boolean,\n default: false\n },\n scrollable: {\n type: Boolean,\n default: false\n },\n transitionNames: {\n type: Array,\n default: function _default() {\n return ['ease', 'fade'];\n }\n },\n transfer: {\n type: Boolean,\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.transfer === '' ? true : this.$IVIEW.transfer;\n }\n },\n fullscreen: {\n type: Boolean,\n default: false\n },\n mask: {\n type: Boolean,\n default: true\n },\n draggable: {\n type: Boolean,\n default: false\n },\n zIndex: {\n type: Number,\n default: 1000\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n wrapShow: false,\n showHead: true,\n buttonLoading: false,\n visible: this.value,\n dragData: {\n x: null,\n y: null,\n dragX: null,\n dragY: null,\n dragging: false\n },\n modalIndex: this.handleGetModalIndex(),\n isMouseTriggerIn: false };\n },\n\n computed: {\n wrapClasses: function wrapClasses() {\n var _ref;\n\n return [prefixCls + '-wrap', (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-hidden', !this.wrapShow), (0, _defineProperty3.default)(_ref, '' + String(this.className), !!this.className), (0, _defineProperty3.default)(_ref, prefixCls + '-no-mask', !this.showMask), _ref)];\n },\n wrapStyles: function wrapStyles() {\n return {\n zIndex: this.modalIndex + this.zIndex\n };\n },\n maskClasses: function maskClasses() {\n return prefixCls + '-mask';\n },\n classes: function classes() {\n var _ref2;\n\n return ['' + prefixCls, (_ref2 = {}, (0, _defineProperty3.default)(_ref2, prefixCls + '-fullscreen', this.fullscreen), (0, _defineProperty3.default)(_ref2, prefixCls + '-fullscreen-no-header', this.fullscreen && !this.showHead), (0, _defineProperty3.default)(_ref2, prefixCls + '-fullscreen-no-footer', this.fullscreen && this.footerHide), _ref2)];\n },\n contentClasses: function contentClasses() {\n var _ref3;\n\n return [prefixCls + '-content', (_ref3 = {}, (0, _defineProperty3.default)(_ref3, prefixCls + '-content-no-mask', !this.showMask), (0, _defineProperty3.default)(_ref3, prefixCls + '-content-drag', this.draggable), (0, _defineProperty3.default)(_ref3, prefixCls + '-content-dragging', this.draggable && this.dragData.dragging), _ref3)];\n },\n mainStyles: function mainStyles() {\n var style = {};\n\n var width = parseInt(this.width);\n var styleWidth = this.dragData.x !== null ? {\n top: 0\n } : {\n width: width <= 100 ? String(width) + '%' : String(width) + 'px'\n };\n\n var customStyle = this.styles ? this.styles : {};\n\n (0, _assign2.default)(style, styleWidth, customStyle);\n\n return style;\n },\n contentStyles: function contentStyles() {\n var style = {};\n\n if (this.draggable) {\n var customTop = this.styles.top ? parseFloat(this.styles.top) : 0;\n var customLeft = this.styles.left ? parseFloat(this.styles.left) : 0;\n if (this.dragData.x !== null) style.left = this.dragData.x - customLeft + 'px';\n if (this.dragData.y !== null) style.top = this.dragData.y - customTop + 'px';\n var width = parseInt(this.width);\n var styleWidth = {\n width: width <= 100 ? String(width) + '%' : String(width) + 'px'\n };\n\n (0, _assign2.default)(style, styleWidth);\n }\n\n return style;\n },\n localeOkText: function localeOkText() {\n if (this.okText === undefined) {\n return this.t('i.modal.okText');\n } else {\n return this.okText;\n }\n },\n localeCancelText: function localeCancelText() {\n if (this.cancelText === undefined) {\n return this.t('i.modal.cancelText');\n } else {\n return this.cancelText;\n }\n },\n showMask: function showMask() {\n return this.draggable ? false : this.mask;\n }\n },\n methods: {\n close: function close() {\n this.visible = false;\n this.$emit('input', false);\n this.$emit('on-cancel');\n },\n handleMask: function handleMask() {\n if (this.maskClosable && this.showMask) {\n this.close();\n }\n },\n handleWrapClick: function handleWrapClick(event) {\n if (this.isMouseTriggerIn) {\n this.isMouseTriggerIn = false;\n return;\n }\n\n var className = event.target.getAttribute('class');\n if (className && className.indexOf(prefixCls + '-wrap') > -1) this.handleMask();\n },\n handleMousedown: function handleMousedown() {\n this.isMouseTriggerIn = true;\n },\n cancel: function cancel() {\n this.close();\n },\n ok: function ok() {\n if (this.loading) {\n this.buttonLoading = true;\n } else {\n this.visible = false;\n this.$emit('input', false);\n }\n this.$emit('on-ok');\n },\n EscClose: function EscClose(e) {\n var _this = this;\n\n if (this.visible && this.closable) {\n if (e.keyCode === 27) {\n var $Modals = (0, _assist.findComponentsDownward)(this.$root, 'Modal').filter(function (item) {\n (0, _newArrowCheck3.default)(this, _this);\n return item.$data.visible && item.$props.closable;\n }.bind(this));\n\n var $TopModal = $Modals.sort(function (a, b) {\n (0, _newArrowCheck3.default)(this, _this);\n\n return a.$data.modalIndex < b.$data.modalIndex ? 1 : -1;\n }.bind(this))[0];\n\n setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n $TopModal.close();\n }.bind(this), 0);\n }\n }\n },\n animationFinish: function animationFinish() {\n this.$emit('on-hidden');\n },\n handleMoveStart: function handleMoveStart(event) {\n if (!this.draggable) return false;\n\n var $content = this.$refs.content;\n var rect = $content.getBoundingClientRect();\n this.dragData.x = rect.x || rect.left;\n this.dragData.y = rect.y || rect.top;\n\n var distance = {\n x: event.clientX,\n y: event.clientY\n };\n\n this.dragData.dragX = distance.x;\n this.dragData.dragY = distance.y;\n\n this.dragData.dragging = true;\n\n (0, _dom.on)(window, 'mousemove', this.handleMoveMove);\n (0, _dom.on)(window, 'mouseup', this.handleMoveEnd);\n },\n handleMoveMove: function handleMoveMove(event) {\n if (!this.dragData.dragging) return false;\n\n var distance = {\n x: event.clientX,\n y: event.clientY\n };\n\n var diff_distance = {\n x: distance.x - this.dragData.dragX,\n y: distance.y - this.dragData.dragY\n };\n\n this.dragData.x += diff_distance.x;\n this.dragData.y += diff_distance.y;\n\n this.dragData.dragX = distance.x;\n this.dragData.dragY = distance.y;\n },\n handleMoveEnd: function handleMoveEnd() {\n this.dragData.dragging = false;\n (0, _dom.off)(window, 'mousemove', this.handleMoveMove);\n (0, _dom.off)(window, 'mouseup', this.handleMoveEnd);\n },\n handleGetModalIndex: function handleGetModalIndex() {\n (0, _transferQueue.transferIncrease)();\n return _transferQueue.transferIndex;\n },\n handleClickModal: function handleClickModal() {\n if (this.draggable) {\n this.modalIndex = this.handleGetModalIndex();\n }\n }\n },\n mounted: function mounted() {\n if (this.visible) {\n this.wrapShow = true;\n }\n\n var showHead = true;\n\n if (this.$slots.header === undefined && !this.title) {\n showHead = false;\n }\n\n this.showHead = showHead;\n\n document.addEventListener('keydown', this.EscClose);\n },\n beforeDestroy: function beforeDestroy() {\n document.removeEventListener('keydown', this.EscClose);\n this.removeScrollEffect();\n },\n\n watch: {\n value: function value(val) {\n this.visible = val;\n },\n visible: function visible(val) {\n var _this2 = this;\n\n if (val === false) {\n this.buttonLoading = false;\n this.timer = setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this2);\n\n this.wrapShow = false;\n this.removeScrollEffect();\n }.bind(this), 300);\n } else {\n this.modalIndex = this.handleGetModalIndex();\n\n if (this.timer) clearTimeout(this.timer);\n this.wrapShow = true;\n if (!this.scrollable) {\n this.addScrollEffect();\n }\n }\n this.broadcast('Table', 'on-visible-change', val);\n this.broadcast('Slider', 'on-visible-change', val);\n this.$emit('on-visible-change', val);\n },\n loading: function loading(val) {\n if (!val) {\n this.buttonLoading = false;\n }\n },\n scrollable: function scrollable(val) {\n if (!val) {\n this.addScrollEffect();\n } else {\n this.removeScrollEffect();\n }\n },\n title: function title(val) {\n if (this.$slots.header === undefined) {\n this.showHead = !!val;\n }\n }\n }\n};\n\n/***/ }),\n/* 207 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assist = __webpack_require__(3);\n\nvar _options = __webpack_require__(521);\n\nvar _options2 = _interopRequireDefault(_options);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-page';\n\nexports.default = {\n name: 'Page',\n mixins: [_locale2.default],\n components: { Options: _options2.default },\n props: {\n current: {\n type: Number,\n default: 1\n },\n total: {\n type: Number,\n default: 0\n },\n pageSize: {\n type: Number,\n default: 10\n },\n pageSizeOpts: {\n type: Array,\n default: function _default() {\n return [10, 20, 30, 40];\n }\n },\n placement: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['top', 'bottom']);\n },\n\n default: 'bottom'\n },\n transfer: {\n type: Boolean,\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.transfer === '' ? false : this.$IVIEW.transfer;\n }\n },\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small']);\n }\n },\n simple: {\n type: Boolean,\n default: false\n },\n showTotal: {\n type: Boolean,\n default: false\n },\n showElevator: {\n type: Boolean,\n default: false\n },\n showSizer: {\n type: Boolean,\n default: false\n },\n className: {\n type: String\n },\n styles: {\n type: Object\n },\n prevText: {\n type: String,\n default: ''\n },\n nextText: {\n type: String,\n default: ''\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n currentPage: this.current,\n currentPageSize: this.pageSize\n };\n },\n\n watch: {\n total: function total(val) {\n var maxPage = Math.ceil(val / this.currentPageSize);\n if (maxPage < this.currentPage) {\n this.currentPage = maxPage === 0 ? 1 : maxPage;\n }\n },\n current: function current(val) {\n this.currentPage = val;\n },\n pageSize: function pageSize(val) {\n this.currentPageSize = val;\n }\n },\n computed: {\n isSmall: function isSmall() {\n return !!this.size;\n },\n allPages: function allPages() {\n var allPage = Math.ceil(this.total / this.currentPageSize);\n return allPage === 0 ? 1 : allPage;\n },\n simpleWrapClasses: function simpleWrapClasses() {\n return ['' + prefixCls, prefixCls + '-simple', (0, _defineProperty3.default)({}, '' + String(this.className), !!this.className)];\n },\n simplePagerClasses: function simplePagerClasses() {\n return prefixCls + '-simple-pager';\n },\n wrapClasses: function wrapClasses() {\n var _ref2;\n\n return ['' + prefixCls, (_ref2 = {}, (0, _defineProperty3.default)(_ref2, '' + String(this.className), !!this.className), (0, _defineProperty3.default)(_ref2, 'mini', !!this.size), _ref2)];\n },\n prevClasses: function prevClasses() {\n var _ref3;\n\n return [prefixCls + '-prev', (_ref3 = {}, (0, _defineProperty3.default)(_ref3, prefixCls + '-disabled', this.currentPage === 1), (0, _defineProperty3.default)(_ref3, prefixCls + '-custom-text', this.prevText !== ''), _ref3)];\n },\n nextClasses: function nextClasses() {\n var _ref4;\n\n return [prefixCls + '-next', (_ref4 = {}, (0, _defineProperty3.default)(_ref4, prefixCls + '-disabled', this.currentPage === this.allPages), (0, _defineProperty3.default)(_ref4, prefixCls + '-custom-text', this.nextText !== ''), _ref4)];\n },\n firstPageClasses: function firstPageClasses() {\n return [prefixCls + '-item', (0, _defineProperty3.default)({}, prefixCls + '-item-active', this.currentPage === 1)];\n },\n lastPageClasses: function lastPageClasses() {\n return [prefixCls + '-item', (0, _defineProperty3.default)({}, prefixCls + '-item-active', this.currentPage === this.allPages)];\n }\n },\n methods: {\n changePage: function changePage(page) {\n if (this.currentPage != page) {\n this.currentPage = page;\n this.$emit('update:current', page);\n this.$emit('on-change', page);\n }\n },\n prev: function prev() {\n var current = this.currentPage;\n if (current <= 1) {\n return false;\n }\n this.changePage(current - 1);\n },\n next: function next() {\n var current = this.currentPage;\n if (current >= this.allPages) {\n return false;\n }\n this.changePage(current + 1);\n },\n fastPrev: function fastPrev() {\n var page = this.currentPage - 5;\n if (page > 0) {\n this.changePage(page);\n } else {\n this.changePage(1);\n }\n },\n fastNext: function fastNext() {\n var page = this.currentPage + 5;\n if (page > this.allPages) {\n this.changePage(this.allPages);\n } else {\n this.changePage(page);\n }\n },\n onSize: function onSize(pageSize) {\n this.currentPageSize = pageSize;\n this.$emit('on-page-size-change', pageSize);\n this.changePage(1);\n },\n onPage: function onPage(page) {\n this.changePage(page);\n },\n keyDown: function keyDown(e) {\n var key = e.keyCode;\n var condition = key >= 48 && key <= 57 || key >= 96 && key <= 105 || key === 8 || key === 37 || key === 39;\n\n if (!condition) {\n e.preventDefault();\n }\n },\n keyUp: function keyUp(e) {\n var key = e.keyCode;\n var val = parseInt(e.target.value);\n\n if (key === 38) {\n this.prev();\n } else if (key === 40) {\n this.next();\n } else if (key === 13) {\n var page = 1;\n\n if (val > this.allPages) {\n page = this.allPages;\n } else if (val <= 0 || !val) {\n page = 1;\n } else {\n page = val;\n }\n\n e.target.value = page;\n this.changePage(page);\n }\n }\n }\n};\n\n/***/ }),\n/* 208 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _select = __webpack_require__(70);\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _option = __webpack_require__(74);\n\nvar _option2 = _interopRequireDefault(_option);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-page';\n\nfunction isValueNumber(value) {\n return (/^[1-9][0-9]*$/.test(value + '')\n );\n}\n\nexports.default = {\n name: 'PageOption',\n mixins: [_locale2.default],\n components: { iSelect: _select2.default, iOption: _option2.default },\n props: {\n pageSizeOpts: Array,\n showSizer: Boolean,\n showElevator: Boolean,\n current: Number,\n _current: Number,\n pageSize: Number,\n allPages: Number,\n isSmall: Boolean,\n placement: String,\n transfer: Boolean\n },\n data: function data() {\n return {\n currentPageSize: this.pageSize\n };\n },\n\n watch: {\n pageSize: function pageSize(val) {\n this.currentPageSize = val;\n }\n },\n computed: {\n size: function size() {\n return this.isSmall ? 'small' : 'default';\n },\n optsClasses: function optsClasses() {\n return [prefixCls + '-options'];\n },\n sizerClasses: function sizerClasses() {\n return [prefixCls + '-options-sizer'];\n },\n ElevatorClasses: function ElevatorClasses() {\n return [prefixCls + '-options-elevator'];\n }\n },\n methods: {\n changeSize: function changeSize() {\n this.$emit('on-size', this.currentPageSize);\n },\n changePage: function changePage(event) {\n var val = event.target.value.trim();\n var page = 0;\n\n if (isValueNumber(val)) {\n val = Number(val);\n if (val != this.current) {\n var allPages = this.allPages;\n\n if (val > allPages) {\n page = allPages;\n } else {\n page = val;\n }\n }\n } else {\n page = 1;\n }\n\n if (page) {\n this.$emit('on-page', page);\n event.target.value = page;\n }\n }\n }\n};\n\n/***/ }),\n/* 209 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_poptip_vue__ = __webpack_require__(210);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_poptip_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_poptip_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_poptip_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_poptip_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4275efe0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_poptip_vue__ = __webpack_require__(525);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4275efe0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_poptip_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4275efe0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_poptip_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_poptip_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4275efe0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_poptip_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4275efe0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_poptip_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 210 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _popper = __webpack_require__(211);\n\nvar _popper2 = _interopRequireDefault(_popper);\n\nvar _button = __webpack_require__(24);\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _vClickOutsideX = __webpack_require__(35);\n\nvar _transferDom = __webpack_require__(21);\n\nvar _transferDom2 = _interopRequireDefault(_transferDom);\n\nvar _assist = __webpack_require__(3);\n\nvar _transferQueue = __webpack_require__(34);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-poptip';\n\nexports.default = {\n name: 'Poptip',\n mixins: [_popper2.default, _locale2.default],\n directives: { clickOutside: _vClickOutsideX.directive, TransferDom: _transferDom2.default },\n components: { iButton: _button2.default },\n props: {\n trigger: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['click', 'focus', 'hover']);\n },\n\n default: 'click'\n },\n placement: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end', 'right', 'right-start', 'right-end']);\n },\n\n default: 'top'\n },\n title: {\n type: [String, Number]\n },\n content: {\n type: [String, Number],\n default: ''\n },\n width: {\n type: [String, Number]\n },\n confirm: {\n type: Boolean,\n default: false\n },\n okText: {\n type: String\n },\n cancelText: {\n type: String\n },\n transfer: {\n type: Boolean,\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.transfer === '' ? false : this.$IVIEW.transfer;\n }\n },\n popperClass: {\n type: String\n },\n wordWrap: {\n type: Boolean,\n default: false\n },\n\n padding: {\n type: String\n },\n\n disabled: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n showTitle: true,\n isInput: false,\n disableCloseUnderTransfer: false,\n tIndex: this.handleGetIndex()\n };\n },\n\n computed: {\n classes: function classes() {\n return ['' + prefixCls, (0, _defineProperty3.default)({}, prefixCls + '-confirm', this.confirm)];\n },\n popperClasses: function popperClasses() {\n var _ref2;\n\n return [prefixCls + '-popper', (_ref2 = {}, (0, _defineProperty3.default)(_ref2, prefixCls + '-confirm', this.transfer && this.confirm), (0, _defineProperty3.default)(_ref2, '' + String(this.popperClass), !!this.popperClass), _ref2)];\n },\n styles: function styles() {\n var style = {};\n\n if (this.width) {\n style.width = String(this.width) + 'px';\n }\n\n if (this.transfer) style['z-index'] = 1060 + this.tIndex;\n\n return style;\n },\n localeOkText: function localeOkText() {\n if (this.okText === undefined) {\n return this.t('i.poptip.okText');\n } else {\n return this.okText;\n }\n },\n localeCancelText: function localeCancelText() {\n if (this.cancelText === undefined) {\n return this.t('i.poptip.cancelText');\n } else {\n return this.cancelText;\n }\n },\n contentClasses: function contentClasses() {\n return [prefixCls + '-body-content', (0, _defineProperty3.default)({}, prefixCls + '-body-content-word-wrap', this.wordWrap)];\n },\n contentPaddingStyle: function contentPaddingStyle() {\n var styles = {};\n if (this.padding !== '') styles['padding'] = this.padding;\n return styles;\n }\n },\n methods: {\n handleClick: function handleClick() {\n if (this.disabled) return;\n\n if (this.confirm) {\n this.visible = !this.visible;\n return true;\n }\n if (this.trigger !== 'click') {\n return false;\n }\n this.visible = !this.visible;\n },\n handleTransferClick: function handleTransferClick() {\n if (this.transfer) this.disableCloseUnderTransfer = true;\n },\n handleClose: function handleClose() {\n if (this.disableCloseUnderTransfer) {\n this.disableCloseUnderTransfer = false;\n return false;\n }\n if (this.confirm) {\n this.visible = false;\n return true;\n }\n if (this.trigger !== 'click') {\n return false;\n }\n this.visible = false;\n },\n handleFocus: function handleFocus() {\n var fromInput = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (this.disabled) return;\n\n if (this.trigger !== 'focus' || this.confirm || this.isInput && !fromInput) {\n return false;\n }\n this.visible = true;\n },\n handleBlur: function handleBlur() {\n var fromInput = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (this.trigger !== 'focus' || this.confirm || this.isInput && !fromInput) {\n return false;\n }\n this.visible = false;\n },\n handleMouseenter: function handleMouseenter() {\n var _this = this;\n\n if (this.disabled) return;\n\n if (this.trigger !== 'hover' || this.confirm) {\n return false;\n }\n if (this.enterTimer) clearTimeout(this.enterTimer);\n this.enterTimer = setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.visible = true;\n }.bind(this), 100);\n },\n handleMouseleave: function handleMouseleave() {\n var _this2 = this;\n\n if (this.trigger !== 'hover' || this.confirm) {\n return false;\n }\n if (this.enterTimer) {\n clearTimeout(this.enterTimer);\n this.enterTimer = setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this2);\n\n this.visible = false;\n }.bind(this), 100);\n }\n },\n cancel: function cancel() {\n this.visible = false;\n this.$emit('on-cancel');\n },\n ok: function ok() {\n this.visible = false;\n this.$emit('on-ok');\n },\n getInputChildren: function getInputChildren() {\n var $input = this.$refs.reference.querySelectorAll('input');\n var $textarea = this.$refs.reference.querySelectorAll('textarea');\n var $children = null;\n\n if ($input.length) {\n $children = $input[0];\n } else if ($textarea.length) {\n $children = $textarea[0];\n }\n\n return $children;\n },\n handleGetIndex: function handleGetIndex() {\n (0, _transferQueue.transferIncrease)();\n return _transferQueue.transferIndex;\n },\n handleIndexIncrease: function handleIndexIncrease() {\n this.tIndex = this.handleGetIndex();\n }\n },\n mounted: function mounted() {\n var _this3 = this;\n\n if (!this.confirm) {\n this.showTitle = this.$slots.title !== undefined || this.title;\n }\n\n if (this.trigger === 'focus') {\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this3);\n\n var $children = this.getInputChildren();\n if ($children) {\n this.isInput = true;\n $children.addEventListener('focus', this.handleFocus, false);\n $children.addEventListener('blur', this.handleBlur, false);\n }\n }.bind(this));\n }\n },\n beforeDestroy: function beforeDestroy() {\n var $children = this.getInputChildren();\n if ($children) {\n $children.removeEventListener('focus', this.handleFocus, false);\n $children.removeEventListener('blur', this.handleBlur, false);\n }\n }\n};\n\n/***/ }),\n/* 211 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _vue = __webpack_require__(15);\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isServer = _vue2.default.prototype.$isServer;\nvar Popper = isServer ? function () {} : __webpack_require__(106);exports.default = {\n props: {\n placement: {\n type: String,\n default: 'bottom'\n },\n boundariesPadding: {\n type: Number,\n default: 5\n },\n reference: Object,\n popper: Object,\n offset: {\n default: 0\n },\n value: {\n type: Boolean,\n default: false\n },\n transition: String,\n options: {\n type: Object,\n default: function _default() {\n return {\n modifiers: {\n computeStyle: {\n gpuAcceleration: false\n },\n preventOverflow: {\n boundariesElement: 'window'\n }\n }\n };\n }\n }\n },\n data: function data() {\n return {\n visible: this.value\n };\n },\n\n watch: {\n value: {\n immediate: true,\n handler: function handler(val) {\n this.visible = val;\n this.$emit('input', val);\n }\n },\n visible: function visible(val) {\n if (val) {\n if (this.handleIndexIncrease) this.handleIndexIncrease();\n this.updatePopper();\n this.$emit('on-popper-show');\n } else {\n this.$emit('on-popper-hide');\n }\n this.$emit('input', val);\n }\n },\n methods: {\n createPopper: function createPopper() {\n var _this = this;\n\n if (isServer) return;\n if (!/^(top|bottom|left|right)(-start|-end)?$/g.test(this.placement)) {\n return;\n }\n\n var options = this.options;\n var popper = this.popper || this.$refs.popper;\n var reference = this.reference || this.$refs.reference;\n\n if (!popper || !reference) return;\n\n if (this.popperJS && this.popperJS.hasOwnProperty('destroy')) {\n this.popperJS.destroy();\n }\n\n options.placement = this.placement;\n\n if (!options.modifiers.offset) {\n options.modifiers.offset = {};\n }\n options.modifiers.offset.offset = this.offset;\n options.onCreate = function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.$nextTick(this.updatePopper);\n this.$emit('created', this);\n }.bind(this);\n\n this.popperJS = new Popper(reference, popper, options);\n },\n updatePopper: function updatePopper() {\n if (isServer) return;\n this.popperJS ? this.popperJS.update() : this.createPopper();\n },\n doDestroy: function doDestroy() {\n if (isServer) return;\n if (this.visible) return;\n this.popperJS.destroy();\n this.popperJS = null;\n }\n },\n updated: function updated() {\n var _this2 = this;\n\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this2);\n return this.updatePopper();\n }.bind(this));\n },\n beforeDestroy: function beforeDestroy() {\n if (isServer) return;\n if (this.popperJS) {\n this.popperJS.destroy();\n }\n }\n};\n\n/***/ }),\n/* 212 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_progress_vue__ = __webpack_require__(213);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_progress_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_progress_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_progress_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_progress_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0042d766_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_progress_vue__ = __webpack_require__(527);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0042d766_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_progress_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0042d766_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_progress_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_progress_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0042d766_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_progress_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0042d766_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_progress_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _icon = __webpack_require__(20);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-progress';\n\nexports.default = {\n name: 'Progress',\n components: { Icon: _icon2.default },\n props: {\n percent: {\n type: Number,\n default: 0\n },\n successPercent: {\n type: Number,\n default: 0\n },\n status: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['normal', 'active', 'wrong', 'success']);\n },\n\n default: 'normal'\n },\n hideInfo: {\n type: Boolean,\n default: false\n },\n strokeWidth: {\n type: Number,\n default: 10\n },\n vertical: {\n type: Boolean,\n default: false\n },\n strokeColor: {\n type: [String, Array]\n },\n textInside: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n currentStatus: this.status\n };\n },\n\n computed: {\n isStatus: function isStatus() {\n return this.currentStatus == 'wrong' || this.currentStatus == 'success';\n },\n statusIcon: function statusIcon() {\n var type = '';\n switch (this.currentStatus) {\n case 'wrong':\n type = 'ios-close-circle';\n break;\n case 'success':\n type = 'ios-checkmark-circle';\n break;\n }\n\n return type;\n },\n bgStyle: function bgStyle() {\n var style = this.vertical ? {\n height: String(this.percent) + '%',\n width: String(this.strokeWidth) + 'px'\n } : {\n width: String(this.percent) + '%',\n height: String(this.strokeWidth) + 'px'\n };\n\n if (this.strokeColor) {\n if (typeof this.strokeColor === 'string') {\n style['background-color'] = this.strokeColor;\n } else {\n style['background-image'] = 'linear-gradient(to right, ' + String(this.strokeColor[0]) + ' 0%, ' + String(this.strokeColor[1]) + ' 100%)';\n }\n }\n\n return style;\n },\n successBgStyle: function successBgStyle() {\n return this.vertical ? {\n height: String(this.successPercent) + '%',\n width: String(this.strokeWidth) + 'px'\n } : {\n width: String(this.successPercent) + '%',\n height: String(this.strokeWidth) + 'px'\n };\n },\n wrapClasses: function wrapClasses() {\n var _ref;\n\n return ['' + prefixCls, prefixCls + '-' + String(this.currentStatus), (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-show-info', !this.hideInfo && !this.textInside), (0, _defineProperty3.default)(_ref, prefixCls + '-vertical', this.vertical), _ref)];\n },\n textClasses: function textClasses() {\n return prefixCls + '-text';\n },\n textInnerClasses: function textInnerClasses() {\n return prefixCls + '-text-inner';\n },\n outerClasses: function outerClasses() {\n return prefixCls + '-outer';\n },\n innerClasses: function innerClasses() {\n return prefixCls + '-inner';\n },\n bgClasses: function bgClasses() {\n return prefixCls + '-bg';\n },\n successBgClasses: function successBgClasses() {\n return prefixCls + '-success-bg';\n }\n },\n created: function created() {\n this.handleStatus();\n },\n\n methods: {\n handleStatus: function handleStatus(isDown) {\n if (isDown) {\n this.currentStatus = 'normal';\n this.$emit('on-status-change', 'normal');\n } else {\n if (parseInt(this.percent, 10) == 100) {\n this.currentStatus = 'success';\n this.$emit('on-status-change', 'success');\n }\n }\n }\n },\n watch: {\n percent: function percent(val, oldVal) {\n if (val < oldVal) {\n this.handleStatus(true);\n } else {\n this.handleStatus();\n }\n },\n status: function status(val) {\n this.currentStatus = val;\n }\n }\n};\n\n/***/ }),\n/* 214 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assist = __webpack_require__(3);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-radio';\n\nexports.default = {\n name: 'Radio',\n mixins: [_emitter2.default],\n props: {\n value: {\n type: [String, Number, Boolean],\n default: false\n },\n trueValue: {\n type: [String, Number, Boolean],\n default: true\n },\n falseValue: {\n type: [String, Number, Boolean],\n default: false\n },\n label: {\n type: [String, Number]\n },\n disabled: {\n type: Boolean,\n default: false\n },\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small', 'large', 'default']);\n },\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.size === '' ? 'default' : this.$IVIEW.size;\n }\n },\n name: {\n type: String\n }\n },\n data: function data() {\n return {\n currentValue: this.value,\n group: false,\n groupName: this.name,\n parent: (0, _assist.findComponentUpward)(this, 'RadioGroup'),\n focusWrapper: false,\n focusInner: false\n };\n },\n\n computed: {\n wrapClasses: function wrapClasses() {\n var _ref;\n\n return [prefixCls + '-wrapper', (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-group-item', this.group), (0, _defineProperty3.default)(_ref, prefixCls + '-wrapper-checked', this.currentValue), (0, _defineProperty3.default)(_ref, prefixCls + '-wrapper-disabled', this.disabled), (0, _defineProperty3.default)(_ref, prefixCls + '-' + String(this.size), !!this.size), (0, _defineProperty3.default)(_ref, prefixCls + '-focus', this.focusWrapper), _ref)];\n },\n radioClasses: function radioClasses() {\n var _ref2;\n\n return ['' + prefixCls, (_ref2 = {}, (0, _defineProperty3.default)(_ref2, prefixCls + '-checked', this.currentValue), (0, _defineProperty3.default)(_ref2, prefixCls + '-disabled', this.disabled), _ref2)];\n },\n innerClasses: function innerClasses() {\n return [prefixCls + '-inner', (0, _defineProperty3.default)({}, prefixCls + '-focus', this.focusInner)];\n },\n inputClasses: function inputClasses() {\n return prefixCls + '-input';\n }\n },\n mounted: function mounted() {\n if (this.parent) {\n this.group = true;\n if (this.name && this.name !== this.parent.name) {\n if (console.warn) {\n console.warn('[iview] Name does not match Radio Group name.');\n }\n } else {\n this.groupName = this.parent.name;\n }\n }\n\n if (this.group) {\n this.parent.updateValue();\n } else {\n this.updateValue();\n }\n },\n\n methods: {\n change: function change(event) {\n if (this.disabled) {\n return false;\n }\n\n var checked = event.target.checked;\n this.currentValue = checked;\n\n var value = checked ? this.trueValue : this.falseValue;\n this.$emit('input', value);\n\n if (this.group) {\n if (this.label !== undefined) {\n this.parent.change({\n value: this.label,\n checked: this.value\n });\n }\n } else {\n this.$emit('on-change', value);\n this.dispatch('FormItem', 'on-form-change', value);\n }\n },\n updateValue: function updateValue() {\n this.currentValue = this.value === this.trueValue;\n },\n onBlur: function onBlur() {\n this.focusWrapper = false;\n this.focusInner = false;\n },\n onFocus: function onFocus() {\n if (this.group && this.parent.type === 'button') {\n this.focusWrapper = true;\n } else {\n this.focusInner = true;\n }\n }\n },\n watch: {\n value: function value(val) {\n if (val === this.trueValue || val === this.falseValue) {\n this.updateValue();\n } else {\n throw 'Value should be trueValue or falseValue.';\n }\n }\n }\n};\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _assist = __webpack_require__(3);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-radio-group';\n\nvar seed = 0;\nvar now = Date.now();\nvar getUuid = function () {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return 'ivuRadioGroup_' + String(now) + '_' + seed++;\n}.bind(undefined);\n\nexports.default = {\n name: 'RadioGroup',\n mixins: [_emitter2.default],\n props: {\n value: {\n type: [String, Number],\n default: ''\n },\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small', 'large', 'default']);\n },\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.size === '' ? 'default' : this.$IVIEW.size;\n }\n },\n type: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['button']);\n }\n },\n vertical: {\n type: Boolean,\n default: false\n },\n name: {\n type: String,\n default: getUuid\n }\n },\n data: function data() {\n return {\n currentValue: this.value,\n childrens: []\n };\n },\n\n computed: {\n classes: function classes() {\n var _ref;\n\n return ['' + prefixCls, (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-' + String(this.size), !!this.size), (0, _defineProperty3.default)(_ref, 'ivu-radio-' + String(this.size), !!this.size), (0, _defineProperty3.default)(_ref, prefixCls + '-' + String(this.type), !!this.type), (0, _defineProperty3.default)(_ref, prefixCls + '-vertical', this.vertical), _ref)];\n }\n },\n mounted: function mounted() {\n this.updateValue();\n },\n\n methods: {\n updateValue: function updateValue() {\n var _this = this;\n\n this.childrens = (0, _assist.findComponentsDownward)(this, 'Radio');\n if (this.childrens) {\n this.childrens.forEach(function (child) {\n (0, _newArrowCheck3.default)(this, _this);\n\n child.currentValue = this.currentValue === child.label;\n child.group = true;\n }.bind(this));\n }\n },\n change: function change(data) {\n this.currentValue = data.value;\n this.updateValue();\n this.$emit('input', data.value);\n this.$emit('on-change', data.value);\n this.dispatch('FormItem', 'on-form-change', data.value);\n }\n },\n watch: {\n value: function value() {\n var _this2 = this;\n\n if (this.currentValue !== this.value) {\n this.currentValue = this.value;\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this2);\n\n this.updateValue();\n }.bind(this));\n }\n }\n }\n};\n\n/***/ }),\n/* 216 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _icon = __webpack_require__(8);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-rate';\n\nexports.default = {\n name: 'Rate',\n mixins: [_locale2.default, _emitter2.default],\n components: { Icon: _icon2.default },\n props: {\n count: {\n type: Number,\n default: 5\n },\n value: {\n type: Number,\n default: 0\n },\n allowHalf: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n showText: {\n type: Boolean,\n default: false\n },\n name: {\n type: String\n },\n clearable: {\n type: Boolean,\n default: false\n },\n character: {\n type: String,\n default: ''\n },\n icon: {\n type: String,\n default: ''\n },\n customIcon: {\n type: String,\n default: ''\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n hoverIndex: -1,\n isHover: false,\n isHalf: this.allowHalf && this.value.toString().indexOf('.') >= 0,\n currentValue: this.value\n };\n },\n\n computed: {\n classes: function classes() {\n return ['' + prefixCls, (0, _defineProperty3.default)({}, prefixCls + '-disabled', this.disabled)];\n },\n iconClasses: function iconClasses() {\n var _ref2;\n\n return ['ivu-icon', (_ref2 = {}, (0, _defineProperty3.default)(_ref2, 'ivu-icon-' + String(this.icon), this.icon !== ''), (0, _defineProperty3.default)(_ref2, '' + String(this.customIcon), this.customIcon !== ''), _ref2)];\n },\n showCharacter: function showCharacter() {\n return this.character !== '' || this.icon !== '' || this.customIcon !== '';\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n },\n currentValue: function currentValue(val) {\n this.setHalf(val);\n }\n },\n methods: {\n starCls: function starCls(value) {\n var _ref3;\n\n var hoverIndex = this.hoverIndex;\n var currentIndex = this.isHover ? hoverIndex : this.currentValue;\n\n var full = false;\n var isLast = false;\n\n if (currentIndex >= value) full = true;\n\n if (this.isHover) {\n isLast = currentIndex === value;\n } else {\n isLast = Math.ceil(this.currentValue) === value;\n }\n\n return [(_ref3 = {}, (0, _defineProperty3.default)(_ref3, prefixCls + '-star', !this.showCharacter), (0, _defineProperty3.default)(_ref3, prefixCls + '-star-chart', this.showCharacter), (0, _defineProperty3.default)(_ref3, prefixCls + '-star-full', !isLast && full || isLast && !this.isHalf), (0, _defineProperty3.default)(_ref3, prefixCls + '-star-half', isLast && this.isHalf), (0, _defineProperty3.default)(_ref3, prefixCls + '-star-zero', !full), _ref3)];\n },\n handleMousemove: function handleMousemove(value, event) {\n if (this.disabled) return;\n\n this.isHover = true;\n if (this.allowHalf) {\n var type = event.target.getAttribute('type') || false;\n this.isHalf = type === 'half';\n } else {\n this.isHalf = false;\n }\n this.hoverIndex = value;\n },\n handleMouseleave: function handleMouseleave() {\n if (this.disabled) return;\n\n this.isHover = false;\n this.setHalf(this.currentValue);\n this.hoverIndex = -1;\n },\n setHalf: function setHalf(val) {\n this.isHalf = this.allowHalf && val.toString().indexOf('.') >= 0;\n },\n handleClick: function handleClick(value) {\n if (this.disabled) return;\n\n if (this.isHalf) value -= 0.5;\n\n if (this.clearable && Math.abs(value - this.currentValue) < 0.01) {\n value = 0;\n }\n\n this.currentValue = value;\n this.$emit('input', value);\n this.$emit('on-change', value);\n this.dispatch('FormItem', 'on-form-change', value);\n }\n }\n};\n\n/***/ }),\n/* 217 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _isFinite = __webpack_require__(71);\n\nvar _isFinite2 = _interopRequireDefault(_isFinite);\n\nvar _slicedToArray2 = __webpack_require__(23);\n\nvar _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _toConsumableArray2 = __webpack_require__(16);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _inputNumber = __webpack_require__(184);\n\nvar _inputNumber2 = _interopRequireDefault(_inputNumber);\n\nvar _tooltip = __webpack_require__(83);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nvar _assist = __webpack_require__(3);\n\nvar _dom = __webpack_require__(13);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _elementResizeDetector = __webpack_require__(84);\n\nvar _elementResizeDetector2 = _interopRequireDefault(_elementResizeDetector);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-slider';\n\nexports.default = {\n name: 'Slider',\n mixins: [_emitter2.default],\n components: { InputNumber: _inputNumber2.default, Tooltip: _tooltip2.default },\n props: {\n min: {\n type: Number,\n default: 0\n },\n max: {\n type: Number,\n default: 100\n },\n step: {\n type: Number,\n default: 1\n },\n range: {\n type: Boolean,\n default: false\n },\n value: {\n type: [Number, Array],\n default: 0\n },\n disabled: {\n type: Boolean,\n default: false\n },\n showInput: {\n type: Boolean,\n default: false\n },\n inputSize: {\n type: String,\n default: 'default',\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small', 'large', 'default']);\n }\n },\n showStops: {\n type: Boolean,\n default: false\n },\n tipFormat: {\n type: Function,\n default: function _default(val) {\n return val;\n }\n },\n showTip: {\n type: String,\n default: 'hover',\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['hover', 'always', 'never']);\n }\n },\n name: {\n type: String\n },\n\n activeChange: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n var val = this.checkLimits(Array.isArray(this.value) ? this.value : [this.value]);\n return {\n prefixCls: prefixCls,\n currentValue: val,\n dragging: false,\n pointerDown: '',\n startX: 0,\n currentX: 0,\n startPos: 0,\n oldValue: [].concat((0, _toConsumableArray3.default)(val)),\n valueIndex: {\n min: 0,\n max: 1\n },\n sliderWidth: 0\n };\n },\n\n watch: {\n value: function value(val) {\n val = this.checkLimits(Array.isArray(val) ? val : [val]);\n if (!this.dragging && (val[0] !== this.currentValue[0] || val[1] !== this.currentValue[1])) {\n this.currentValue = val;\n }\n },\n exportValue: function exportValue(values) {\n var _this = this;\n\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.$refs.minTooltip.updatePopper();\n if (this.range) {\n this.$refs.maxTooltip.updatePopper();\n }\n }.bind(this));\n var value = this.range ? values : values[0];\n this.$emit('input', value);\n this.$emit('on-input', value);\n }\n },\n computed: {\n classes: function classes() {\n var _ref;\n\n return ['' + prefixCls, (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-input', this.showInput && !this.range), (0, _defineProperty3.default)(_ref, prefixCls + '-range', this.range), (0, _defineProperty3.default)(_ref, prefixCls + '-disabled', this.disabled), _ref)];\n },\n minButtonClasses: function minButtonClasses() {\n return [prefixCls + '-button', (0, _defineProperty3.default)({}, prefixCls + '-button-dragging', this.pointerDown === 'min')];\n },\n maxButtonClasses: function maxButtonClasses() {\n return [prefixCls + '-button', (0, _defineProperty3.default)({}, prefixCls + '-button-dragging', this.pointerDown === 'max')];\n },\n exportValue: function exportValue() {\n var _this2 = this;\n\n var decimalCases = (String(this.step).split('.')[1] || '').length;\n return this.currentValue.map(function (nr) {\n (0, _newArrowCheck3.default)(this, _this2);\n return Number(nr.toFixed(decimalCases));\n }.bind(this));\n },\n minPosition: function minPosition() {\n var val = this.currentValue;\n return (val[0] - this.min) / this.valueRange * 100;\n },\n\n maxPosition: function maxPosition() {\n var val = this.currentValue;\n\n return (val[1] - this.min) / this.valueRange * 100;\n },\n barStyle: function barStyle() {\n var style = {\n width: (this.currentValue[0] - this.min) / this.valueRange * 100 + '%'\n };\n\n if (this.range) {\n style.left = (this.currentValue[0] - this.min) / this.valueRange * 100 + '%';\n style.width = (this.currentValue[1] - this.currentValue[0]) / this.valueRange * 100 + '%';\n }\n\n return style;\n },\n stops: function stops() {\n var stopCount = this.valueRange / this.step;\n var result = [];\n var stepWidth = 100 * this.step / this.valueRange;\n for (var i = 1; i < stopCount; i++) {\n result.push(i * stepWidth);\n }\n return result;\n },\n tipDisabled: function tipDisabled() {\n return this.tipFormat(this.currentValue[0]) === null || this.showTip === 'never';\n },\n valueRange: function valueRange() {\n return this.max - this.min;\n },\n firstPosition: function firstPosition() {\n return this.currentValue[0];\n },\n secondPosition: function secondPosition() {\n return this.currentValue[1];\n }\n },\n methods: {\n getPointerX: function getPointerX(e) {\n return e.type.indexOf('touch') !== -1 ? e.touches[0].clientX : e.clientX;\n },\n checkLimits: function checkLimits(_ref4) {\n var _ref5 = (0, _slicedToArray3.default)(_ref4, 2),\n min = _ref5[0],\n max = _ref5[1];\n\n min = Math.max(this.min, min);\n min = Math.min(this.max, min);\n\n max = Math.max(this.min, min, max);\n max = Math.min(this.max, max);\n return [min, max];\n },\n getCurrentValue: function getCurrentValue(event, type) {\n if (this.disabled) {\n return;\n }\n\n var index = this.valueIndex[type];\n if (typeof index === 'undefined') {\n return;\n }\n\n return this.currentValue[index];\n },\n onKeyLeft: function onKeyLeft(event, type) {\n var value = this.getCurrentValue(event, type);\n if ((0, _isFinite2.default)(value)) {\n this.changeButtonPosition(value - this.step, type);\n }\n },\n onKeyRight: function onKeyRight(event, type) {\n var value = this.getCurrentValue(event, type);\n if ((0, _isFinite2.default)(value)) {\n this.changeButtonPosition(value + this.step, type);\n }\n },\n onPointerDown: function onPointerDown(event, type) {\n if (this.disabled) return;\n event.preventDefault();\n this.pointerDown = type;\n\n this.onPointerDragStart(event);\n (0, _dom.on)(window, 'mousemove', this.onPointerDrag);\n (0, _dom.on)(window, 'touchmove', this.onPointerDrag);\n (0, _dom.on)(window, 'mouseup', this.onPointerDragEnd);\n (0, _dom.on)(window, 'touchend', this.onPointerDragEnd);\n },\n onPointerDragStart: function onPointerDragStart(event) {\n this.dragging = false;\n this.startX = this.getPointerX(event);\n this.startPos = this[String(this.pointerDown) + 'Position'] * this.valueRange / 100 + this.min;\n },\n onPointerDrag: function onPointerDrag(event) {\n this.dragging = true;\n this.$refs[String(this.pointerDown) + 'Tooltip'].visible = true;\n this.currentX = this.getPointerX(event);\n var diff = (this.currentX - this.startX) / this.sliderWidth * this.valueRange;\n\n this.changeButtonPosition(this.startPos + diff);\n },\n onPointerDragEnd: function onPointerDragEnd() {\n if (this.dragging) {\n this.dragging = false;\n this.$refs[String(this.pointerDown) + 'Tooltip'].visible = false;\n this.emitChange();\n }\n\n this.pointerDown = '';\n (0, _dom.off)(window, 'mousemove', this.onPointerDrag);\n (0, _dom.off)(window, 'touchmove', this.onPointerDrag);\n (0, _dom.off)(window, 'mouseup', this.onPointerDragEnd);\n (0, _dom.off)(window, 'touchend', this.onPointerDragEnd);\n },\n changeButtonPosition: function changeButtonPosition(newPos, forceType) {\n var type = forceType || this.pointerDown;\n var index = type === 'min' ? 0 : 1;\n if (type === 'min') newPos = this.checkLimits([newPos, this.max])[0];else newPos = this.checkLimits([this.min, newPos])[1];\n\n var modulus = this.handleDecimal(newPos, this.step);\n var value = this.currentValue;\n value[index] = newPos - modulus;\n\n if (this.range) {\n if (type === 'min' && value[0] > value[1]) value[1] = value[0];\n if (type === 'max' && value[0] > value[1]) value[0] = value[1];\n }\n\n this.currentValue = [].concat((0, _toConsumableArray3.default)(value));\n\n if (!this.dragging) {\n if (this.currentValue[index] !== this.oldValue[index]) {\n this.emitChange();\n this.oldValue[index] = this.currentValue[index];\n }\n }\n },\n handleDecimal: function handleDecimal(pos, step) {\n if (step < 1) {\n var sl = step.toString(),\n multiple = 1,\n m = void 0;\n try {\n m = sl.split('.')[1].length;\n } catch (e) {\n m = 0;\n }\n multiple = Math.pow(10, m);\n return pos * multiple % (step * multiple) / multiple;\n } else return pos % step;\n },\n emitChange: function emitChange() {\n var value = this.range ? this.exportValue : this.exportValue[0];\n this.$emit('on-change', value);\n this.dispatch('FormItem', 'on-form-change', value);\n },\n sliderClick: function sliderClick(event) {\n if (this.disabled) return;\n var currentX = this.getPointerX(event);\n var sliderOffsetLeft = this.$refs.slider.getBoundingClientRect().left;\n var newPos = (currentX - sliderOffsetLeft) / this.sliderWidth * this.valueRange + this.min;\n var regularNewPos = newPos / this.valueRange * 100;\n\n if (!this.range || regularNewPos <= this.minPosition) this.changeButtonPosition(newPos, 'min');else if (regularNewPos >= this.maxPosition) this.changeButtonPosition(newPos, 'max');else this.changeButtonPosition(newPos, newPos - this.firstPosition <= this.secondPosition - newPos ? 'min' : 'max');\n },\n handleInputChange: function handleInputChange(val) {\n this.currentValue = [val === 0 ? 0 : val || this.min, this.currentValue[1]];\n this.emitChange();\n },\n handleFocus: function handleFocus(type) {\n this.$refs[String(type) + 'Tooltip'].handleShowPopper();\n },\n handleBlur: function handleBlur(type) {\n this.$refs[String(type) + 'Tooltip'].handleClosePopper();\n },\n handleSetSliderWidth: function handleSetSliderWidth() {\n this.sliderWidth = parseInt((0, _assist.getStyle)(this.$refs.slider, 'width'), 10);\n }\n },\n mounted: function mounted() {\n var _this3 = this;\n\n this.$on('on-visible-change', function (val) {\n (0, _newArrowCheck3.default)(this, _this3);\n\n if (val && this.showTip === 'always') {\n this.$refs.minTooltip.doDestroy();\n if (this.range) {\n this.$refs.maxTooltip.doDestroy();\n }\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this3);\n\n this.$refs.minTooltip.updatePopper();\n if (this.range) {\n this.$refs.maxTooltip.updatePopper();\n }\n }.bind(this));\n }\n }.bind(this));\n\n this.observer = (0, _elementResizeDetector2.default)();\n this.observer.listenTo(this.$refs.slider, this.handleSetSliderWidth);\n },\n beforeDestroy: function beforeDestroy() {\n this.observer.removeListener(this.$refs.slider, this.handleSetSliderWidth);\n }\n};\n\n/***/ }),\n/* 218 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _popper = __webpack_require__(211);\n\nvar _popper2 = _interopRequireDefault(_popper);\n\nvar _transferDom = __webpack_require__(21);\n\nvar _transferDom2 = _interopRequireDefault(_transferDom);\n\nvar _assist = __webpack_require__(3);\n\nvar _transferQueue = __webpack_require__(34);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-tooltip';\n\nexports.default = {\n name: 'Tooltip',\n directives: { TransferDom: _transferDom2.default },\n mixins: [_popper2.default],\n props: {\n placement: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end', 'right', 'right-start', 'right-end']);\n },\n\n default: 'bottom'\n },\n content: {\n type: [String, Number],\n default: ''\n },\n delay: {\n type: Number,\n default: 100\n },\n disabled: {\n type: Boolean,\n default: false\n },\n controlled: {\n type: Boolean,\n default: false\n },\n always: {\n type: Boolean,\n default: false\n },\n transfer: {\n type: Boolean,\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.transfer === '' ? false : this.$IVIEW.transfer;\n }\n },\n theme: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['dark', 'light']);\n },\n\n default: 'dark'\n },\n maxWidth: {\n type: [String, Number]\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n tIndex: this.handleGetIndex()\n };\n },\n\n computed: {\n innerStyles: function innerStyles() {\n var styles = {};\n if (this.maxWidth) styles['max-width'] = String(this.maxWidth) + 'px';\n return styles;\n },\n innerClasses: function innerClasses() {\n return [prefixCls + '-inner', (0, _defineProperty3.default)({}, prefixCls + '-inner-with-width', !!this.maxWidth)];\n },\n dropStyles: function dropStyles() {\n var styles = {};\n if (this.transfer) styles['z-index'] = 1060 + this.tIndex;\n\n return styles;\n }\n },\n watch: {\n content: function content() {\n this.updatePopper();\n }\n },\n methods: {\n handleShowPopper: function handleShowPopper() {\n var _this = this;\n\n if (this.timeout) clearTimeout(this.timeout);\n this.timeout = setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.visible = true;\n }.bind(this), this.delay);\n this.tIndex = this.handleGetIndex();\n },\n handleClosePopper: function handleClosePopper() {\n var _this2 = this;\n\n if (this.timeout) {\n clearTimeout(this.timeout);\n if (!this.controlled) {\n this.timeout = setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this2);\n\n this.visible = false;\n }.bind(this), 100);\n }\n }\n },\n handleGetIndex: function handleGetIndex() {\n (0, _transferQueue.transferIncrease)();\n return _transferQueue.transferIndex;\n }\n },\n mounted: function mounted() {\n if (this.always) {\n this.updatePopper();\n }\n }\n};\n\n/***/ }),\n/* 219 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = module.exports = {};\n\n/**\n * Loops through the collection and calls the callback for each element. if the callback returns truthy, the loop is broken and returns the same value.\n * @public\n * @param {*} collection The collection to loop through. Needs to have a length property set and have indices set from 0 to length - 1.\n * @param {function} callback The callback to be called for each element. The element will be given as a parameter to the callback. If this callback returns truthy, the loop is broken and the same value is returned.\n * @returns {*} The value that a callback has returned (if truthy). Otherwise nothing.\n */\nutils.forEach = function(collection, callback) {\n for(var i = 0; i < collection.length; i++) {\n var result = callback(collection[i]);\n if(result) {\n return result;\n }\n }\n};\n\n\n/***/ }),\n/* 220 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar detector = module.exports = {};\n\ndetector.isIE = function(version) {\n function isAnyIeVersion() {\n var agent = navigator.userAgent.toLowerCase();\n return agent.indexOf(\"msie\") !== -1 || agent.indexOf(\"trident\") !== -1 || agent.indexOf(\" edge/\") !== -1;\n }\n\n if(!isAnyIeVersion()) {\n return false;\n }\n\n if(!version) {\n return true;\n }\n\n //Shamelessly stolen from https://gist.github.com/padolsey/527683\n var ieVersion = (function(){\n var undef,\n v = 3,\n div = document.createElement(\"div\"),\n all = div.getElementsByTagName(\"i\");\n\n do {\n div.innerHTML = \"<!--[if gt IE \" + (++v) + \"]><i></i><![endif]-->\";\n }\n while (all[0]);\n\n return v > 4 ? v : undef;\n }());\n\n return version === ieVersion;\n};\n\ndetector.isLegacyOpera = function() {\n return !!window.opera;\n};\n\n\n/***/ }),\n/* 221 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-steps';\n\nfunction debounce(fn) {\n var waiting = void 0;\n return function () {\n if (waiting) return;\n waiting = true;\n var context = this,\n args = arguments;\n var later = function later() {\n waiting = false;\n fn.apply(context, args);\n };\n this.$nextTick(later);\n };\n}\n\nexports.default = {\n name: 'Steps',\n props: {\n current: {\n type: Number,\n default: 0\n },\n status: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['wait', 'process', 'finish', 'error']);\n },\n\n default: 'process'\n },\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small']);\n }\n },\n direction: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['horizontal', 'vertical']);\n },\n\n default: 'horizontal'\n }\n },\n computed: {\n classes: function classes() {\n return ['' + prefixCls, prefixCls + '-' + String(this.direction), (0, _defineProperty3.default)({}, prefixCls + '-' + String(this.size), !!this.size)];\n }\n },\n methods: {\n updateChildProps: function updateChildProps(isInit) {\n var _this = this;\n\n var total = this.$children.length;\n this.$children.forEach(function (child, index) {\n (0, _newArrowCheck3.default)(this, _this);\n\n child.stepNumber = index + 1;\n\n if (this.direction === 'horizontal') {\n child.total = total;\n }\n\n if (!(isInit && child.currentStatus)) {\n if (index == this.current) {\n if (this.status != 'error') {\n child.currentStatus = 'process';\n }\n } else if (index < this.current) {\n child.currentStatus = 'finish';\n } else {\n child.currentStatus = 'wait';\n }\n }\n\n if (child.currentStatus != 'error' && index != 0) {\n this.$children[index - 1].nextError = false;\n }\n }.bind(this));\n },\n setNextError: function setNextError() {\n var _this2 = this;\n\n this.$children.forEach(function (child, index) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n if (child.currentStatus == 'error' && index != 0) {\n this.$children[index - 1].nextError = true;\n }\n }.bind(this));\n },\n updateCurrent: function updateCurrent(isInit) {\n if (this.current < 0 || this.current >= this.$children.length) {\n return;\n }\n if (isInit) {\n var current_status = this.$children[this.current].currentStatus;\n if (!current_status) {\n this.$children[this.current].currentStatus = this.status;\n }\n } else {\n this.$children[this.current].currentStatus = this.status;\n }\n },\n debouncedAppendRemove: function debouncedAppendRemove() {\n return debounce(function () {\n this.updateSteps();\n });\n },\n updateSteps: function updateSteps() {\n this.updateChildProps(true);\n this.setNextError();\n this.updateCurrent(true);\n }\n },\n mounted: function mounted() {\n this.updateSteps();\n this.$on('append', this.debouncedAppendRemove());\n this.$on('remove', this.debouncedAppendRemove());\n },\n\n watch: {\n current: function current() {\n this.updateChildProps();\n },\n status: function status() {\n this.updateCurrent();\n }\n }\n};\n\n/***/ }),\n/* 222 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-steps';\nvar iconPrefixCls = 'ivu-icon';\n\nexports.default = {\n name: 'Step',\n mixins: [_emitter2.default],\n props: {\n status: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['wait', 'process', 'finish', 'error']);\n }\n },\n title: {\n type: String,\n default: ''\n },\n content: {\n type: String\n },\n icon: {\n type: String\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n stepNumber: '',\n nextError: false,\n total: 1,\n currentStatus: ''\n };\n },\n\n computed: {\n wrapClasses: function wrapClasses() {\n var _ref;\n\n return [prefixCls + '-item', prefixCls + '-status-' + String(this.currentStatus), (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-custom', !!this.icon), (0, _defineProperty3.default)(_ref, prefixCls + '-next-error', this.nextError), _ref)];\n },\n iconClasses: function iconClasses() {\n var icon = '';\n\n if (this.icon) {\n icon = this.icon;\n } else {\n if (this.currentStatus == 'finish') {\n icon = 'ios-checkmark';\n } else if (this.currentStatus == 'error') {\n icon = 'ios-close';\n }\n }\n\n return [prefixCls + '-icon', '' + iconPrefixCls, (0, _defineProperty3.default)({}, iconPrefixCls + '-' + String(icon), icon != '')];\n },\n styles: function styles() {\n return {\n width: 1 / this.total * 100 + '%'\n };\n }\n },\n watch: {\n status: function status(val) {\n this.currentStatus = val;\n if (this.currentStatus == 'error') {\n this.$parent.setNextError();\n }\n }\n },\n created: function created() {\n this.currentStatus = this.status;\n },\n mounted: function mounted() {\n this.dispatch('Steps', 'append');\n },\n beforeDestroy: function beforeDestroy() {\n this.dispatch('Steps', 'remove');\n }\n};\n\n/***/ }),\n/* 223 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assist = __webpack_require__(3);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-switch';\nexports.default = {\n name: 'iSwitch',\n mixins: [_emitter2.default],\n props: {\n value: {\n type: [String, Number, Boolean],\n default: false\n },\n trueValue: {\n type: [String, Number, Boolean],\n default: true\n },\n falseValue: {\n type: [String, Number, Boolean],\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['large', 'small', 'default']);\n },\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.size === '' ? 'default' : this.$IVIEW.size;\n }\n },\n name: {\n type: String\n },\n loading: {\n type: Boolean,\n default: false\n },\n trueColor: {\n type: String\n },\n falseColor: {\n type: String\n },\n beforeChange: Function\n },\n data: function data() {\n return {\n currentValue: this.value\n };\n },\n\n computed: {\n wrapClasses: function wrapClasses() {\n var _ref;\n\n return ['' + prefixCls, (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-checked', this.currentValue === this.trueValue), (0, _defineProperty3.default)(_ref, prefixCls + '-disabled', this.disabled), (0, _defineProperty3.default)(_ref, prefixCls + '-' + String(this.size), !!this.size), (0, _defineProperty3.default)(_ref, prefixCls + '-loading', this.loading), _ref)];\n },\n wrapStyles: function wrapStyles() {\n var style = {};\n if (this.trueColor && this.currentValue === this.trueValue) {\n style['border-color'] = this.trueColor;\n style['background-color'] = this.trueColor;\n } else if (this.falseColor && this.currentValue === this.falseValue) {\n style['border-color'] = this.falseColor;\n style['background-color'] = this.falseColor;\n }\n return style;\n },\n innerClasses: function innerClasses() {\n return prefixCls + '-inner';\n }\n },\n methods: {\n handleToggle: function handleToggle() {\n var checked = this.currentValue === this.trueValue ? this.falseValue : this.trueValue;\n this.currentValue = checked;\n this.$emit('input', checked);\n this.$emit('on-change', checked);\n this.dispatch('FormItem', 'on-form-change', checked);\n },\n toggle: function toggle(event) {\n var _this = this;\n\n event.preventDefault();\n if (this.disabled || this.loading) {\n return false;\n }\n if (!this.beforeChange) {\n return this.handleToggle();\n }\n var before = this.beforeChange();\n if (before && before.then) {\n before.then(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.handleToggle();\n }.bind(this));\n } else {\n this.handleToggle();\n }\n }\n },\n watch: {\n value: function value(val) {\n if (val !== this.trueValue && val !== this.falseValue) {\n throw 'Value should be trueValue or falseValue.';\n }\n this.currentValue = val;\n }\n }\n};\n\n/***/ }),\n/* 224 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getIterator2 = __webpack_require__(44);\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nvar _stringify = __webpack_require__(54);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _tableHead = __webpack_require__(563);\n\nvar _tableHead2 = _interopRequireDefault(_tableHead);\n\nvar _tableBody = __webpack_require__(566);\n\nvar _tableBody2 = _interopRequireDefault(_tableBody);\n\nvar _spin = __webpack_require__(81);\n\nvar _spin2 = _interopRequireDefault(_spin);\n\nvar _assist = __webpack_require__(3);\n\nvar _dom = __webpack_require__(13);\n\nvar _csv = __webpack_require__(573);\n\nvar _csv2 = _interopRequireDefault(_csv);\n\nvar _exportCsv = __webpack_require__(574);\n\nvar _exportCsv2 = _interopRequireDefault(_exportCsv);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nvar _elementResizeDetector = __webpack_require__(84);\n\nvar _elementResizeDetector2 = _interopRequireDefault(_elementResizeDetector);\n\nvar _util = __webpack_require__(575);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-table';\n\nvar rowKey = 1;\nvar columnKey = 1;\n\nexports.default = {\n name: 'Table',\n mixins: [_locale2.default],\n components: { tableHead: _tableHead2.default, tableBody: _tableBody2.default, Spin: _spin2.default },\n provide: function provide() {\n return {\n tableRoot: this\n };\n },\n\n props: {\n data: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n columns: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small', 'large', 'default']);\n },\n default: function _default() {\n return !this.$IVIEW || this.$IVIEW.size === '' ? 'default' : this.$IVIEW.size;\n }\n },\n width: {\n type: [Number, String]\n },\n height: {\n type: [Number, String]\n },\n\n maxHeight: {\n type: [Number, String]\n },\n stripe: {\n type: Boolean,\n default: false\n },\n border: {\n type: Boolean,\n default: false\n },\n showHeader: {\n type: Boolean,\n default: true\n },\n highlightRow: {\n type: Boolean,\n default: false\n },\n rowClassName: {\n type: Function,\n default: function _default() {\n return '';\n }\n },\n context: {\n type: Object\n },\n noDataText: {\n type: String\n },\n noFilteredDataText: {\n type: String\n },\n disabledHover: {\n type: Boolean\n },\n loading: {\n type: Boolean,\n default: false\n },\n draggable: {\n type: Boolean,\n default: false\n },\n tooltipTheme: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['dark', 'light']);\n },\n\n default: 'dark'\n },\n\n rowKey: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n var colsWithId = this.makeColumnsId(this.columns);\n return {\n ready: false,\n tableWidth: 0,\n columnsWidth: {},\n prefixCls: prefixCls,\n compiledUids: [],\n objData: this.makeObjData(),\n rebuildData: [],\n cloneColumns: this.makeColumns(colsWithId),\n columnRows: this.makeColumnRows(false, colsWithId),\n leftFixedColumnRows: this.makeColumnRows('left', colsWithId),\n rightFixedColumnRows: this.makeColumnRows('right', colsWithId),\n allColumns: (0, _util.getAllColumns)(colsWithId),\n showSlotHeader: true,\n showSlotFooter: true,\n bodyHeight: 0,\n scrollBarWidth: (0, _assist.getScrollBarSize)(),\n currentContext: this.context,\n cloneData: (0, _assist.deepCopy)(this.data),\n showVerticalScrollBar: false,\n showHorizontalScrollBar: false,\n headerWidth: 0,\n headerHeight: 0\n };\n },\n\n computed: {\n localeNoDataText: function localeNoDataText() {\n if (this.noDataText === undefined) {\n return this.t('i.table.noDataText');\n } else {\n return this.noDataText;\n }\n },\n localeNoFilteredDataText: function localeNoFilteredDataText() {\n if (this.noFilteredDataText === undefined) {\n return this.t('i.table.noFilteredDataText');\n } else {\n return this.noFilteredDataText;\n }\n },\n wrapClasses: function wrapClasses() {\n var _ref;\n\n return [prefixCls + '-wrapper', (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-hide', !this.ready), (0, _defineProperty3.default)(_ref, prefixCls + '-with-header', this.showSlotHeader), (0, _defineProperty3.default)(_ref, prefixCls + '-with-footer', this.showSlotFooter), _ref)];\n },\n classes: function classes() {\n var _ref2;\n\n return ['' + prefixCls, (_ref2 = {}, (0, _defineProperty3.default)(_ref2, prefixCls + '-' + String(this.size), !!this.size), (0, _defineProperty3.default)(_ref2, prefixCls + '-border', this.border), (0, _defineProperty3.default)(_ref2, prefixCls + '-stripe', this.stripe), (0, _defineProperty3.default)(_ref2, prefixCls + '-with-fixed-top', !!this.height), _ref2)];\n },\n fixedHeaderClasses: function fixedHeaderClasses() {\n return [prefixCls + '-fixed-header', (0, _defineProperty3.default)({}, prefixCls + '-fixed-header-with-empty', !this.rebuildData.length)];\n },\n styles: function styles() {\n var style = {};\n if (this.height) {\n var height = parseInt(this.height);\n style.height = String(height) + 'px';\n }\n if (this.maxHeight) {\n var maxHeight = parseInt(this.maxHeight);\n style.maxHeight = String(maxHeight) + 'px';\n }\n if (this.width) style.width = String(this.width) + 'px';\n return style;\n },\n tableStyle: function tableStyle() {\n var style = {};\n if (this.tableWidth !== 0) {\n var width = '';\n if (this.bodyHeight === 0) {\n width = this.tableWidth;\n } else {\n width = this.tableWidth - (this.showVerticalScrollBar ? this.scrollBarWidth : 0);\n }\n\n style.width = String(width) + 'px';\n }\n return style;\n },\n tableHeaderStyle: function tableHeaderStyle() {\n var style = {};\n if (this.tableWidth !== 0) {\n var width = '';\n width = this.tableWidth;\n style.width = String(width) + 'px';\n }\n return style;\n },\n fixedTableStyle: function fixedTableStyle() {\n var _this = this;\n\n var style = {};\n var width = 0;\n this.leftFixedColumns.forEach(function (col) {\n (0, _newArrowCheck3.default)(this, _this);\n\n if (col.fixed && col.fixed === 'left') width += col._width;\n }.bind(this));\n style.width = String(width) + 'px';\n return style;\n },\n fixedRightTableStyle: function fixedRightTableStyle() {\n var _this2 = this;\n\n var style = {};\n var width = 0;\n this.rightFixedColumns.forEach(function (col) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n if (col.fixed && col.fixed === 'right') width += col._width;\n }.bind(this));\n\n style.width = String(width) + 'px';\n style.right = String(this.showVerticalScrollBar ? this.scrollBarWidth : 0) + 'px';\n return style;\n },\n fixedRightHeaderStyle: function fixedRightHeaderStyle() {\n var style = {};\n var width = 0;\n var height = this.headerHeight + 1;\n if (this.showVerticalScrollBar) {\n width = this.scrollBarWidth;\n }\n style.width = String(width) + 'px';\n style.height = String(height) + 'px';\n return style;\n },\n bodyStyle: function bodyStyle() {\n var style = {};\n if (this.bodyHeight !== 0) {\n var height = this.bodyHeight;\n if (this.height) {\n style.height = String(height) + 'px';\n } else if (this.maxHeight) {\n style.maxHeight = String(height) + 'px';\n }\n }\n return style;\n },\n fixedBodyStyle: function fixedBodyStyle() {\n var style = {};\n if (this.bodyHeight !== 0) {\n var height = this.bodyHeight - (this.showHorizontalScrollBar ? this.scrollBarWidth : 0);\n style.height = this.showHorizontalScrollBar ? height + 'px' : height - 1 + 'px';\n }\n return style;\n },\n leftFixedColumns: function leftFixedColumns() {\n return (0, _util.convertColumnOrder)(this.cloneColumns, 'left');\n },\n rightFixedColumns: function rightFixedColumns() {\n return (0, _util.convertColumnOrder)(this.cloneColumns, 'right');\n },\n isLeftFixed: function isLeftFixed() {\n var _this3 = this;\n\n return this.columns.some(function (col) {\n (0, _newArrowCheck3.default)(this, _this3);\n return col.fixed && col.fixed === 'left';\n }.bind(this));\n },\n isRightFixed: function isRightFixed() {\n var _this4 = this;\n\n return this.columns.some(function (col) {\n (0, _newArrowCheck3.default)(this, _this4);\n return col.fixed && col.fixed === 'right';\n }.bind(this));\n }\n },\n methods: {\n rowClsName: function rowClsName(index) {\n return this.rowClassName(this.data[index], index);\n },\n handleResize: function handleResize() {\n var _this5 = this;\n\n var tableWidth = this.$el.offsetWidth - 1;\n var columnsWidth = {};\n var sumMinWidth = 0;\n var hasWidthColumns = [];\n var noWidthColumns = [];\n var maxWidthColumns = [];\n var noMaxWidthColumns = [];\n this.cloneColumns.forEach(function (col) {\n (0, _newArrowCheck3.default)(this, _this5);\n\n if (col.width) {\n hasWidthColumns.push(col);\n } else {\n noWidthColumns.push(col);\n if (col.minWidth) {\n sumMinWidth += col.minWidth;\n }\n if (col.maxWidth) {\n maxWidthColumns.push(col);\n } else {\n noMaxWidthColumns.push(col);\n }\n }\n col._width = null;\n }.bind(this));\n\n var unUsableWidth = hasWidthColumns.map(function (cell) {\n (0, _newArrowCheck3.default)(this, _this5);\n return cell.width;\n }.bind(this)).reduce(function (a, b) {\n (0, _newArrowCheck3.default)(this, _this5);\n return a + b;\n }.bind(this), 0);\n var usableWidth = tableWidth - unUsableWidth - sumMinWidth - (this.showVerticalScrollBar ? this.scrollBarWidth : 0) - 1;\n var usableLength = noWidthColumns.length;\n var columnWidth = 0;\n if (usableWidth > 0 && usableLength > 0) {\n columnWidth = parseInt(usableWidth / usableLength);\n }\n\n for (var i = 0; i < this.cloneColumns.length; i++) {\n var column = this.cloneColumns[i];\n var width = columnWidth + (column.minWidth ? column.minWidth : 0);\n if (column.width) {\n width = column.width;\n } else {\n if (column._width) {\n width = column._width;\n } else {\n if (column.minWidth > width) {\n width = column.minWidth;\n } else if (column.maxWidth < width) {\n width = column.maxWidth;\n }\n\n if (usableWidth > 0) {\n usableWidth -= width - (column.minWidth ? column.minWidth : 0);\n usableLength--;\n if (usableLength > 0) {\n columnWidth = parseInt(usableWidth / usableLength);\n } else {\n columnWidth = 0;\n }\n } else {\n columnWidth = 0;\n }\n }\n }\n\n column._width = width;\n\n columnsWidth[column._index] = {\n width: width\n };\n }\n if (usableWidth > 0) {\n usableLength = noMaxWidthColumns.length;\n columnWidth = parseInt(usableWidth / usableLength);\n for (var _i = 0; _i < noMaxWidthColumns.length; _i++) {\n var _column = noMaxWidthColumns[_i];\n var _width = _column._width + columnWidth;\n if (usableLength > 1) {\n usableLength--;\n usableWidth -= columnWidth;\n columnWidth = parseInt(usableWidth / usableLength);\n } else {\n columnWidth = 0;\n }\n\n _column._width = _width;\n\n columnsWidth[_column._index] = {\n width: _width\n };\n }\n }\n\n this.tableWidth = this.cloneColumns.map(function (cell) {\n (0, _newArrowCheck3.default)(this, _this5);\n return cell._width;\n }.bind(this)).reduce(function (a, b) {\n (0, _newArrowCheck3.default)(this, _this5);\n return a + b;\n }.bind(this), 0) + (this.showVerticalScrollBar ? this.scrollBarWidth : 0) + 1;\n this.columnsWidth = columnsWidth;\n this.fixedHeader();\n },\n handleMouseIn: function handleMouseIn(_index) {\n if (this.disabledHover) return;\n if (this.objData[_index]._isHover) return;\n this.objData[_index]._isHover = true;\n },\n handleMouseOut: function handleMouseOut(_index) {\n if (this.disabledHover) return;\n this.objData[_index]._isHover = false;\n },\n handleCurrentRow: function handleCurrentRow(type, _index) {\n var oldIndex = -1;\n for (var i in this.objData) {\n if (this.objData[i]._isHighlight) {\n oldIndex = parseInt(i);\n this.objData[i]._isHighlight = false;\n }\n }\n if (type === 'highlight') this.objData[_index]._isHighlight = true;\n var oldData = oldIndex < 0 ? null : JSON.parse((0, _stringify2.default)(this.cloneData[oldIndex]));\n var newData = type === 'highlight' ? JSON.parse((0, _stringify2.default)(this.cloneData[_index])) : null;\n this.$emit('on-current-change', newData, oldData);\n },\n highlightCurrentRow: function highlightCurrentRow(_index) {\n if (!this.highlightRow || this.objData[_index]._isHighlight) return;\n this.handleCurrentRow('highlight', _index);\n },\n clearCurrentRow: function clearCurrentRow() {\n if (!this.highlightRow) return;\n this.handleCurrentRow('clear');\n },\n clickCurrentRow: function clickCurrentRow(_index) {\n this.highlightCurrentRow(_index);\n this.$emit('on-row-click', JSON.parse((0, _stringify2.default)(this.cloneData[_index])), _index);\n },\n dblclickCurrentRow: function dblclickCurrentRow(_index) {\n this.highlightCurrentRow(_index);\n this.$emit('on-row-dblclick', JSON.parse((0, _stringify2.default)(this.cloneData[_index])), _index);\n },\n getSelection: function getSelection() {\n var _this6 = this;\n\n var selectionIndexes = [];\n for (var i in this.objData) {\n if (this.objData[i]._isChecked) selectionIndexes.push(parseInt(i));\n }\n return JSON.parse((0, _stringify2.default)(this.data.filter(function (data, index) {\n (0, _newArrowCheck3.default)(this, _this6);\n return selectionIndexes.indexOf(index) > -1;\n }.bind(this))));\n },\n toggleSelect: function toggleSelect(_index) {\n var data = {};\n\n for (var i in this.objData) {\n if (parseInt(i) === _index) {\n data = this.objData[i];\n break;\n }\n }\n var status = !data._isChecked;\n\n this.objData[_index]._isChecked = status;\n\n var selection = this.getSelection();\n this.$emit(status ? 'on-select' : 'on-select-cancel', selection, JSON.parse((0, _stringify2.default)(this.data[_index])));\n this.$emit('on-selection-change', selection);\n },\n toggleExpand: function toggleExpand(_index) {\n var _this7 = this;\n\n var data = {};\n\n for (var i in this.objData) {\n if (parseInt(i) === _index) {\n data = this.objData[i];\n break;\n }\n }\n var status = !data._isExpanded;\n this.objData[_index]._isExpanded = status;\n this.$emit('on-expand', JSON.parse((0, _stringify2.default)(this.cloneData[_index])), status);\n\n if (this.height || this.maxHeight) {\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this7);\n return this.fixedBody();\n }.bind(this));\n }\n },\n selectAll: function selectAll(status) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = (0, _getIterator3.default)(this.rebuildData), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var data = _step.value;\n\n if (this.objData[data._index]._isDisabled) {\n continue;\n } else {\n this.objData[data._index]._isChecked = status;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n var selection = this.getSelection();\n if (status) {\n this.$emit('on-select-all', selection);\n } else {\n this.$emit('on-select-all-cancel', selection);\n }\n this.$emit('on-selection-change', selection);\n },\n fixedHeader: function fixedHeader() {\n var _this8 = this;\n\n if (this.height || this.maxHeight) {\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this8);\n\n var titleHeight = parseInt((0, _assist.getStyle)(this.$refs.title, 'height')) || 0;\n var headerHeight = parseInt((0, _assist.getStyle)(this.$refs.header, 'height')) || 0;\n var footerHeight = parseInt((0, _assist.getStyle)(this.$refs.footer, 'height')) || 0;\n if (this.height) {\n this.bodyHeight = this.height - titleHeight - headerHeight - footerHeight;\n } else if (this.maxHeight) {\n this.bodyHeight = this.maxHeight - titleHeight - headerHeight - footerHeight;\n }\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this8);\n return this.fixedBody();\n }.bind(this));\n }.bind(this));\n } else {\n this.bodyHeight = 0;\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this8);\n return this.fixedBody();\n }.bind(this));\n }\n },\n fixedBody: function fixedBody() {\n if (this.$refs.header) {\n this.headerWidth = this.$refs.header.children[0].offsetWidth;\n this.headerHeight = this.$refs.header.children[0].offsetHeight;\n }\n\n if (!this.$refs.tbody || !this.data || this.data.length === 0) {\n this.showVerticalScrollBar = false;\n } else {\n var bodyContentEl = this.$refs.tbody.$el;\n var bodyEl = bodyContentEl.parentElement;\n var bodyContentHeight = bodyContentEl.offsetHeight;\n var bodyHeight = bodyEl.offsetHeight;\n\n this.showHorizontalScrollBar = bodyEl.offsetWidth < bodyContentEl.offsetWidth + (this.showVerticalScrollBar ? this.scrollBarWidth : 0);\n this.showVerticalScrollBar = this.bodyHeight ? bodyHeight - (this.showHorizontalScrollBar ? this.scrollBarWidth : 0) < bodyContentHeight : false;\n\n if (this.showVerticalScrollBar) {\n bodyEl.classList.add(this.prefixCls + '-overflowY');\n } else {\n bodyEl.classList.remove(this.prefixCls + '-overflowY');\n }\n if (this.showHorizontalScrollBar) {\n bodyEl.classList.add(this.prefixCls + '-overflowX');\n } else {\n bodyEl.classList.remove(this.prefixCls + '-overflowX');\n }\n }\n },\n hideColumnFilter: function hideColumnFilter() {\n var _this9 = this;\n\n this.cloneColumns.forEach(function (col) {\n (0, _newArrowCheck3.default)(this, _this9);\n return col._filterVisible = false;\n }.bind(this));\n },\n handleBodyScroll: function handleBodyScroll(event) {\n if (this.showHeader) this.$refs.header.scrollLeft = event.target.scrollLeft;\n if (this.isLeftFixed) this.$refs.fixedBody.scrollTop = event.target.scrollTop;\n if (this.isRightFixed) this.$refs.fixedRightBody.scrollTop = event.target.scrollTop;\n this.hideColumnFilter();\n },\n handleFixedMousewheel: function handleFixedMousewheel(event) {\n var _this10 = this;\n\n var deltaY = event.deltaY;\n if (!deltaY && event.detail) {\n deltaY = event.detail * 40;\n }\n if (!deltaY && event.wheelDeltaY) {\n deltaY = -event.wheelDeltaY;\n }\n if (!deltaY && event.wheelDelta) {\n deltaY = -event.wheelDelta;\n }\n if (!deltaY) return;\n var body = this.$refs.body;\n var currentScrollTop = body.scrollTop;\n if (deltaY < 0 && currentScrollTop !== 0) {\n event.preventDefault();\n }\n if (deltaY > 0 && body.scrollHeight - body.clientHeight > currentScrollTop) {\n event.preventDefault();\n }\n\n var step = 0;\n var timeId = setInterval(function () {\n (0, _newArrowCheck3.default)(this, _this10);\n\n step += 5;\n if (deltaY > 0) {\n body.scrollTop += 2;\n } else {\n body.scrollTop -= 2;\n }\n if (step >= Math.abs(deltaY)) {\n clearInterval(timeId);\n }\n }.bind(this), 5);\n },\n handleMouseWheel: function handleMouseWheel(event) {\n var deltaX = event.deltaX;\n var $body = this.$refs.body;\n\n if (deltaX > 0) {\n $body.scrollLeft = $body.scrollLeft + 10;\n } else {\n $body.scrollLeft = $body.scrollLeft - 10;\n }\n },\n sortData: function sortData(data, type, index) {\n var _this11 = this;\n\n var key = this.cloneColumns[index].key;\n data.sort(function (a, b) {\n (0, _newArrowCheck3.default)(this, _this11);\n\n if (this.cloneColumns[index].sortMethod) {\n return this.cloneColumns[index].sortMethod(a[key], b[key], type);\n } else {\n if (type === 'asc') {\n return a[key] > b[key] ? 1 : -1;\n } else if (type === 'desc') {\n return a[key] < b[key] ? 1 : -1;\n }\n }\n }.bind(this));\n return data;\n },\n handleSort: function handleSort(_index, type) {\n var _this12 = this;\n\n var index = this.GetOriginalIndex(_index);\n this.cloneColumns.forEach(function (col) {\n (0, _newArrowCheck3.default)(this, _this12);\n return col._sortType = 'normal';\n }.bind(this));\n\n var key = this.cloneColumns[index].key;\n if (this.cloneColumns[index].sortable !== 'custom') {\n if (type === 'normal') {\n this.rebuildData = this.makeDataWithFilter();\n } else {\n this.rebuildData = this.sortData(this.rebuildData, type, index);\n }\n }\n this.cloneColumns[index]._sortType = type;\n\n this.$emit('on-sort-change', {\n column: JSON.parse((0, _stringify2.default)(this.allColumns[this.cloneColumns[index]._index])),\n key: key,\n order: type\n });\n },\n handleFilterHide: function handleFilterHide(index) {\n if (!this.cloneColumns[index]._isFiltered) this.cloneColumns[index]._filterChecked = [];\n },\n filterData: function filterData(data, column) {\n var _this13 = this;\n\n return data.filter(function (row) {\n (0, _newArrowCheck3.default)(this, _this13);\n\n if (typeof column.filterRemote === 'function') return true;\n\n var status = !column._filterChecked.length;\n for (var i = 0; i < column._filterChecked.length; i++) {\n status = column.filterMethod(column._filterChecked[i], row);\n if (status) break;\n }\n return status;\n }.bind(this));\n },\n filterOtherData: function filterOtherData(data, index) {\n var _this14 = this;\n\n var column = this.cloneColumns[index];\n if (typeof column.filterRemote === 'function') {\n column.filterRemote.call(this.$parent, column._filterChecked, column.key, column);\n }\n\n this.cloneColumns.forEach(function (col, colIndex) {\n (0, _newArrowCheck3.default)(this, _this14);\n\n if (colIndex !== index) {\n data = this.filterData(data, col);\n }\n }.bind(this));\n return data;\n },\n handleFilter: function handleFilter(index) {\n var column = this.cloneColumns[index];\n var filterData = this.makeDataWithSort();\n\n filterData = this.filterOtherData(filterData, index);\n this.rebuildData = this.filterData(filterData, column);\n\n this.cloneColumns[index]._isFiltered = true;\n this.cloneColumns[index]._filterVisible = false;\n this.$emit('on-filter-change', column);\n },\n GetOriginalIndex: function GetOriginalIndex(_index) {\n var _this15 = this;\n\n return this.cloneColumns.findIndex(function (item) {\n (0, _newArrowCheck3.default)(this, _this15);\n return item._index === _index;\n }.bind(this));\n },\n handleFilterSelect: function handleFilterSelect(_index, value) {\n var index = this.GetOriginalIndex(_index);\n this.cloneColumns[index]._filterChecked = [value];\n this.handleFilter(index);\n },\n handleFilterReset: function handleFilterReset(_index) {\n var index = this.GetOriginalIndex(_index);\n this.cloneColumns[index]._isFiltered = false;\n this.cloneColumns[index]._filterVisible = false;\n this.cloneColumns[index]._filterChecked = [];\n\n var filterData = this.makeDataWithSort();\n filterData = this.filterOtherData(filterData, index);\n this.rebuildData = filterData;\n this.$emit('on-filter-change', this.cloneColumns[index]);\n },\n makeData: function makeData() {\n var _this16 = this;\n\n var data = (0, _assist.deepCopy)(this.data);\n data.forEach(function (row, index) {\n (0, _newArrowCheck3.default)(this, _this16);\n\n row._index = index;\n row._rowKey = rowKey++;\n }.bind(this));\n return data;\n },\n makeDataWithSort: function makeDataWithSort() {\n var data = this.makeData();\n var sortType = 'normal';\n var sortIndex = -1;\n var isCustom = false;\n\n for (var i = 0; i < this.cloneColumns.length; i++) {\n if (this.cloneColumns[i]._sortType !== 'normal') {\n sortType = this.cloneColumns[i]._sortType;\n sortIndex = i;\n isCustom = this.cloneColumns[i].sortable === 'custom';\n break;\n }\n }\n if (sortType !== 'normal' && !isCustom) data = this.sortData(data, sortType, sortIndex);\n return data;\n },\n makeDataWithFilter: function makeDataWithFilter() {\n var _this17 = this;\n\n var data = this.makeData();\n this.cloneColumns.forEach(function (col) {\n (0, _newArrowCheck3.default)(this, _this17);\n return data = this.filterData(data, col);\n }.bind(this));\n return data;\n },\n makeDataWithSortAndFilter: function makeDataWithSortAndFilter() {\n var _this18 = this;\n\n var data = this.makeDataWithSort();\n this.cloneColumns.forEach(function (col) {\n (0, _newArrowCheck3.default)(this, _this18);\n return data = this.filterData(data, col);\n }.bind(this));\n return data;\n },\n makeObjData: function makeObjData() {\n var _this19 = this;\n\n var data = {};\n this.data.forEach(function (row, index) {\n (0, _newArrowCheck3.default)(this, _this19);\n\n var newRow = (0, _assist.deepCopy)(row);\n newRow._isHover = false;\n if (newRow._disabled) {\n newRow._isDisabled = newRow._disabled;\n } else {\n newRow._isDisabled = false;\n }\n if (newRow._checked) {\n newRow._isChecked = newRow._checked;\n } else {\n newRow._isChecked = false;\n }\n if (newRow._expanded) {\n newRow._isExpanded = newRow._expanded;\n } else {\n newRow._isExpanded = false;\n }\n if (newRow._highlight) {\n newRow._isHighlight = newRow._highlight;\n } else {\n newRow._isHighlight = false;\n }\n data[index] = newRow;\n }.bind(this));\n return data;\n },\n makeColumnsId: function makeColumnsId(columns) {\n var _this20 = this;\n\n return columns.map(function (item) {\n (0, _newArrowCheck3.default)(this, _this20);\n\n if ('children' in item) this.makeColumnsId(item.children);\n item.__id = (0, _util.getRandomStr)(6);\n return item;\n }.bind(this));\n },\n makeColumns: function makeColumns(cols) {\n var _this21 = this;\n\n var columns = (0, _assist.deepCopy)((0, _util.getAllColumns)(cols));\n var left = [];\n var right = [];\n var center = [];\n\n columns.forEach(function (column, index) {\n (0, _newArrowCheck3.default)(this, _this21);\n\n column._index = index;\n column._columnKey = columnKey++;\n column.width = parseInt(column.width);\n column._width = column.width ? column.width : '';\n column._sortType = 'normal';\n column._filterVisible = false;\n column._isFiltered = false;\n column._filterChecked = [];\n\n if ('filterMultiple' in column) {\n column._filterMultiple = column.filterMultiple;\n } else {\n column._filterMultiple = true;\n }\n if ('filteredValue' in column) {\n column._filterChecked = column.filteredValue;\n column._isFiltered = true;\n }\n\n if ('sortType' in column) {\n column._sortType = column.sortType;\n }\n\n if (column.fixed && column.fixed === 'left') {\n left.push(column);\n } else if (column.fixed && column.fixed === 'right') {\n right.push(column);\n } else {\n center.push(column);\n }\n }.bind(this));\n return left.concat(center).concat(right);\n },\n makeColumnRows: function makeColumnRows(fixedType, cols) {\n return (0, _util.convertToRows)(cols, fixedType);\n },\n exportCsv: function exportCsv(params) {\n if (params.filename) {\n if (params.filename.indexOf('.csv') === -1) {\n params.filename += '.csv';\n }\n } else {\n params.filename = 'table.csv';\n }\n\n var columns = [];\n var datas = [];\n if (params.columns && params.data) {\n columns = params.columns;\n datas = params.data;\n } else {\n columns = this.allColumns;\n if (!('original' in params)) params.original = true;\n datas = params.original ? this.data : this.rebuildData;\n }\n\n var noHeader = false;\n if ('noHeader' in params) noHeader = params.noHeader;\n\n var data = (0, _csv2.default)(columns, datas, params, noHeader);\n if (params.callback) params.callback(data);else _exportCsv2.default.download(params.filename, data);\n },\n dragAndDrop: function dragAndDrop(a, b) {\n this.$emit('on-drag-drop', a, b);\n }\n },\n created: function created() {\n if (!this.context) this.currentContext = this.$parent;\n this.showSlotHeader = this.$slots.header !== undefined;\n this.showSlotFooter = this.$slots.footer !== undefined;\n this.rebuildData = this.makeDataWithSortAndFilter();\n },\n mounted: function mounted() {\n var _this22 = this;\n\n this.handleResize();\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this22);\n return this.ready = true;\n }.bind(this));\n\n (0, _dom.on)(window, 'resize', this.handleResize);\n this.observer = (0, _elementResizeDetector2.default)();\n this.observer.listenTo(this.$el, this.handleResize);\n\n this.$on('on-visible-change', function (val) {\n (0, _newArrowCheck3.default)(this, _this22);\n\n if (val) {\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this22);\n\n this.handleResize();\n }.bind(this));\n }\n }.bind(this));\n },\n beforeDestroy: function beforeDestroy() {\n (0, _dom.off)(window, 'resize', this.handleResize);\n this.observer.removeListener(this.$el, this.handleResize);\n },\n\n watch: {\n data: {\n handler: function handler() {\n var _this23 = this;\n\n var oldDataLen = this.rebuildData.length;\n this.objData = this.makeObjData();\n this.rebuildData = this.makeDataWithSortAndFilter();\n this.handleResize();\n if (!oldDataLen) {\n this.fixedHeader();\n }\n\n setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this23);\n\n this.cloneData = (0, _assist.deepCopy)(this.data);\n }.bind(this), 0);\n },\n\n deep: true\n },\n columns: {\n handler: function handler() {\n var colsWithId = this.makeColumnsId(this.columns);\n this.allColumns = (0, _util.getAllColumns)(colsWithId);\n this.cloneColumns = this.makeColumns(colsWithId);\n\n this.columnRows = this.makeColumnRows(false, colsWithId);\n this.leftFixedColumnRows = this.makeColumnRows('left', colsWithId);\n this.rightFixedColumnRows = this.makeColumnRows('right', colsWithId);\n this.rebuildData = this.makeDataWithSortAndFilter();\n this.handleResize();\n },\n\n deep: true\n },\n height: function height() {\n this.handleResize();\n },\n maxHeight: function maxHeight() {\n this.handleResize();\n },\n showHorizontalScrollBar: function showHorizontalScrollBar() {\n this.handleResize();\n },\n showVerticalScrollBar: function showVerticalScrollBar() {\n this.handleResize();\n }\n }\n};\n\n/***/ }),\n/* 225 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _assign = __webpack_require__(14);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _checkboxGroup = __webpack_require__(133);\n\nvar _checkboxGroup2 = _interopRequireDefault(_checkboxGroup);\n\nvar _checkbox = __webpack_require__(46);\n\nvar _checkbox2 = _interopRequireDefault(_checkbox);\n\nvar _poptip = __webpack_require__(209);\n\nvar _poptip2 = _interopRequireDefault(_poptip);\n\nvar _button = __webpack_require__(24);\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _header = __webpack_require__(564);\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _mixin = __webpack_require__(226);\n\nvar _mixin2 = _interopRequireDefault(_mixin);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'TableHead',\n mixins: [_mixin2.default, _locale2.default],\n components: { CheckboxGroup: _checkboxGroup2.default, Checkbox: _checkbox2.default, Poptip: _poptip2.default, iButton: _button2.default, renderHeader: _header2.default },\n props: {\n prefixCls: String,\n styleObject: Object,\n columns: Array,\n objData: Object,\n data: Array,\n columnsWidth: Object,\n fixed: {\n type: [Boolean, String],\n default: false\n },\n columnRows: Array,\n fixedColumnRows: Array\n },\n computed: {\n styles: function styles() {\n var style = (0, _assign2.default)({}, this.styleObject);\n var width = parseInt(this.styleObject.width);\n style.width = String(width) + 'px';\n return style;\n },\n isSelectAll: function isSelectAll() {\n var _this = this;\n\n var isSelectAll = true;\n if (!this.data.length) isSelectAll = false;\n if (!this.data.find(function (item) {\n (0, _newArrowCheck3.default)(this, _this);\n return !item._disabled;\n }.bind(this))) isSelectAll = false;\n for (var i = 0; i < this.data.length; i++) {\n if (!this.objData[this.data[i]._index]._isChecked && !this.objData[this.data[i]._index]._isDisabled) {\n isSelectAll = false;\n break;\n }\n }\n\n return isSelectAll;\n },\n headRows: function headRows() {\n var isGroup = this.columnRows.length > 1;\n if (isGroup) {\n return this.fixed ? this.fixedColumnRows : this.columnRows;\n } else {\n return [this.columns];\n }\n },\n isSelectDisabled: function isSelectDisabled() {\n var _this2 = this;\n\n var isSelectDisabled = false;\n if (!this.data.length) isSelectDisabled = true;\n if (!this.data.find(function (item) {\n (0, _newArrowCheck3.default)(this, _this2);\n return !item._disabled;\n }.bind(this))) isSelectDisabled = true;\n return isSelectDisabled;\n }\n },\n methods: {\n cellClasses: function cellClasses(column) {\n var _ref;\n\n return [String(this.prefixCls) + '-cell', (_ref = {}, (0, _defineProperty3.default)(_ref, String(this.prefixCls) + '-hidden', !this.fixed && column.fixed && (column.fixed === 'left' || column.fixed === 'right')), (0, _defineProperty3.default)(_ref, String(this.prefixCls) + '-cell-with-selection', column.type === 'selection'), _ref)];\n },\n scrollBarCellClass: function scrollBarCellClass() {\n var hasRightFixed = false;\n for (var i in this.headRows) {\n for (var j in this.headRows[i]) {\n if (this.headRows[i][j].fixed === 'right') {\n hasRightFixed = true;\n break;\n }\n if (hasRightFixed) break;\n }\n }\n return [(0, _defineProperty3.default)({}, String(this.prefixCls) + '-hidden', hasRightFixed)];\n },\n itemClasses: function itemClasses(column, item) {\n return [String(this.prefixCls) + '-filter-select-item', (0, _defineProperty3.default)({}, String(this.prefixCls) + '-filter-select-item-selected', column._filterChecked[0] === item.value)];\n },\n itemAllClasses: function itemAllClasses(column) {\n return [String(this.prefixCls) + '-filter-select-item', (0, _defineProperty3.default)({}, String(this.prefixCls) + '-filter-select-item-selected', !column._filterChecked.length)];\n },\n selectAll: function selectAll() {\n var status = !this.isSelectAll;\n this.$parent.selectAll(status);\n },\n handleSort: function handleSort(index, type) {\n var _this3 = this;\n\n var column = this.columns.find(function (item) {\n (0, _newArrowCheck3.default)(this, _this3);\n return item._index === index;\n }.bind(this));\n var _index = column._index;\n\n if (column._sortType === type) {\n type = 'normal';\n }\n this.$parent.handleSort(_index, type);\n },\n handleSortByHead: function handleSortByHead(index) {\n var _this4 = this;\n\n var column = this.columns.find(function (item) {\n (0, _newArrowCheck3.default)(this, _this4);\n return item._index === index;\n }.bind(this));\n if (column.sortable) {\n var type = column._sortType;\n if (type === 'normal') {\n this.handleSort(index, 'asc');\n } else if (type === 'asc') {\n this.handleSort(index, 'desc');\n } else {\n this.handleSort(index, 'normal');\n }\n }\n },\n handleFilter: function handleFilter(index) {\n this.$parent.handleFilter(index);\n },\n handleSelect: function handleSelect(index, value) {\n this.$parent.handleFilterSelect(index, value);\n },\n handleReset: function handleReset(index) {\n this.$parent.handleFilterReset(index);\n },\n handleFilterHide: function handleFilterHide(index) {\n this.$parent.handleFilterHide(index);\n },\n getColumn: function getColumn(rowIndex, index) {\n var _this5 = this;\n\n var isGroup = this.columnRows.length > 1;\n\n if (isGroup) {\n var id = this.headRows[rowIndex][index].__id;\n return this.columns.filter(function (item) {\n (0, _newArrowCheck3.default)(this, _this5);\n return item.__id === id;\n }.bind(this))[0];\n } else {\n return this.headRows[rowIndex][index];\n }\n }\n }\n};\n\n/***/ }),\n/* 226 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n methods: {\n alignCls: function alignCls(column) {\n var _ref;\n\n var row = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var cellClassName = '';\n if (row.cellClassName && column.key && row.cellClassName[column.key]) {\n cellClassName = row.cellClassName[column.key];\n }\n return [(_ref = {}, (0, _defineProperty3.default)(_ref, '' + String(cellClassName), cellClassName), (0, _defineProperty3.default)(_ref, '' + String(column.className), column.className), (0, _defineProperty3.default)(_ref, String(this.prefixCls) + '-column-' + String(column.align), column.align), (0, _defineProperty3.default)(_ref, String(this.prefixCls) + '-hidden', this.fixed === 'left' && column.fixed !== 'left' || this.fixed === 'right' && column.fixed !== 'right' || !this.fixed && column.fixed && (column.fixed === 'left' || column.fixed === 'right')), _ref)];\n },\n isPopperShow: function isPopperShow(column) {\n return column.filters && (!this.fixed && !column.fixed || this.fixed === 'left' && column.fixed === 'left' || this.fixed === 'right' && column.fixed === 'right');\n },\n setCellWidth: function setCellWidth(column) {\n var width = '';\n if (column.width) {\n width = column.width;\n } else if (this.columnsWidth[column._index]) {\n width = this.columnsWidth[column._index].width;\n }\n if (width === '0') width = '';\n return width;\n }\n }\n};\n\n/***/ }),\n/* 227 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _tableTr = __webpack_require__(567);\n\nvar _tableTr2 = _interopRequireDefault(_tableTr);\n\nvar _cell = __webpack_require__(569);\n\nvar _cell2 = _interopRequireDefault(_cell);\n\nvar _expand = __webpack_require__(230);\n\nvar _expand2 = _interopRequireDefault(_expand);\n\nvar _mixin = __webpack_require__(226);\n\nvar _mixin2 = _interopRequireDefault(_mixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'TableBody',\n mixins: [_mixin2.default],\n components: { TableCell: _cell2.default, Expand: _expand2.default, TableTr: _tableTr2.default },\n props: {\n prefixCls: String,\n styleObject: Object,\n columns: Array,\n data: Array,\n objData: Object,\n columnsWidth: Object,\n fixed: {\n type: [Boolean, String],\n default: false\n },\n draggable: {\n type: Boolean,\n default: false\n },\n rowKey: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n expandRender: function expandRender() {\n var render = function render() {\n return '';\n };\n for (var i = 0; i < this.columns.length; i++) {\n var column = this.columns[i];\n if (column.type && column.type === 'expand') {\n if (column.render) render = column.render;\n }\n }\n return render;\n }\n },\n methods: {\n rowChecked: function rowChecked(_index) {\n return this.objData[_index] && this.objData[_index]._isChecked;\n },\n rowDisabled: function rowDisabled(_index) {\n return this.objData[_index] && this.objData[_index]._isDisabled;\n },\n rowExpanded: function rowExpanded(_index) {\n return this.objData[_index] && this.objData[_index]._isExpanded;\n },\n handleMouseIn: function handleMouseIn(_index) {\n this.$parent.handleMouseIn(_index);\n },\n handleMouseOut: function handleMouseOut(_index) {\n this.$parent.handleMouseOut(_index);\n },\n clickCurrentRow: function clickCurrentRow(_index) {\n this.$parent.clickCurrentRow(_index);\n },\n dblclickCurrentRow: function dblclickCurrentRow(_index) {\n this.$parent.dblclickCurrentRow(_index);\n }\n }\n};\n\n/***/ }),\n/* 228 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n props: {\n row: Object,\n prefixCls: String,\n draggable: Boolean\n },\n computed: {\n objData: function objData() {\n return this.$parent.objData;\n }\n },\n methods: {\n onDrag: function onDrag(e, index) {\n e.dataTransfer.setData('index', index);\n },\n onDrop: function onDrop(e, index) {\n var dragIndex = e.dataTransfer.getData('index');\n this.$parent.$parent.dragAndDrop(dragIndex, index);\n e.preventDefault();\n },\n allowDrop: function allowDrop(e) {\n e.preventDefault();\n },\n rowClasses: function rowClasses(_index) {\n var _ref;\n\n return [String(this.prefixCls) + '-row', this.rowClsName(_index), (_ref = {}, (0, _defineProperty3.default)(_ref, String(this.prefixCls) + '-row-highlight', this.objData[_index] && this.objData[_index]._isHighlight), (0, _defineProperty3.default)(_ref, String(this.prefixCls) + '-row-hover', this.objData[_index] && this.objData[_index]._isHover), _ref)];\n },\n rowClsName: function rowClsName(_index) {\n return this.$parent.$parent.rowClassName(this.objData[_index], _index);\n }\n }\n};\n\n/***/ }),\n/* 229 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _expand = __webpack_require__(230);\n\nvar _expand2 = _interopRequireDefault(_expand);\n\nvar _slot = __webpack_require__(570);\n\nvar _slot2 = _interopRequireDefault(_slot);\n\nvar _icon = __webpack_require__(8);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _checkbox = __webpack_require__(46);\n\nvar _checkbox2 = _interopRequireDefault(_checkbox);\n\nvar _tooltip = __webpack_require__(83);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'TableCell',\n components: { Icon: _icon2.default, Checkbox: _checkbox2.default, TableExpand: _expand2.default, TableSlot: _slot2.default, Tooltip: _tooltip2.default },\n inject: ['tableRoot'],\n props: {\n prefixCls: String,\n row: Object,\n column: Object,\n naturalIndex: Number,\n index: Number,\n checked: Boolean,\n disabled: Boolean,\n expanded: Boolean,\n fixed: {\n type: [Boolean, String],\n default: false\n }\n },\n data: function data() {\n return {\n renderType: '',\n uid: -1,\n context: this.$parent.$parent.$parent.currentContext,\n showTooltip: false };\n },\n\n computed: {\n classes: function classes() {\n var _ref;\n\n return [String(this.prefixCls) + '-cell', (_ref = {}, (0, _defineProperty3.default)(_ref, String(this.prefixCls) + '-hidden', !this.fixed && this.column.fixed && (this.column.fixed === 'left' || this.column.fixed === 'right')), (0, _defineProperty3.default)(_ref, String(this.prefixCls) + '-cell-ellipsis', this.column.ellipsis || false), (0, _defineProperty3.default)(_ref, String(this.prefixCls) + '-cell-with-expand', this.renderType === 'expand'), (0, _defineProperty3.default)(_ref, String(this.prefixCls) + '-cell-with-selection', this.renderType === 'selection'), _ref)];\n },\n expandCls: function expandCls() {\n return [String(this.prefixCls) + '-cell-expand', (0, _defineProperty3.default)({}, String(this.prefixCls) + '-cell-expand-expanded', this.expanded)];\n }\n },\n methods: {\n toggleSelect: function toggleSelect() {\n this.$parent.$parent.$parent.toggleSelect(this.index);\n },\n toggleExpand: function toggleExpand() {\n this.$parent.$parent.$parent.toggleExpand(this.index);\n },\n handleClick: function handleClick() {},\n handleTooltipIn: function handleTooltipIn() {\n var $content = this.$refs.content;\n this.showTooltip = $content.scrollWidth > $content.offsetWidth;\n },\n handleTooltipOut: function handleTooltipOut() {\n this.showTooltip = false;\n }\n },\n created: function created() {\n if (this.column.type === 'index') {\n this.renderType = 'index';\n } else if (this.column.type === 'selection') {\n this.renderType = 'selection';\n } else if (this.column.type === 'html') {\n this.renderType = 'html';\n } else if (this.column.type === 'expand') {\n this.renderType = 'expand';\n } else if (this.column.render) {\n this.renderType = 'render';\n } else if (this.column.slot) {\n this.renderType = 'slot';\n } else {\n this.renderType = 'normal';\n }\n }\n};\n\n/***/ }),\n/* 230 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'TableExpand',\n functional: true,\n props: {\n row: Object,\n render: Function,\n index: Number,\n column: {\n type: Object,\n default: null\n }\n },\n render: function render(h, ctx) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var params = {\n row: ctx.props.row,\n index: ctx.props.index\n };\n if (ctx.props.column) params.column = ctx.props.column;\n return ctx.props.render(h, params);\n }.bind(undefined)\n};\n\n/***/ }),\n/* 231 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(16);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _typeof2 = __webpack_require__(36);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _getIterator2 = __webpack_require__(44);\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _icon = __webpack_require__(8);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _render = __webpack_require__(205);\n\nvar _render2 = _interopRequireDefault(_render);\n\nvar _assist = __webpack_require__(3);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _elementResizeDetector = __webpack_require__(84);\n\nvar _elementResizeDetector2 = _interopRequireDefault(_elementResizeDetector);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-tabs';\nvar transitionTime = 300;\n\nvar getNextTab = function (list, activeKey, direction, countDisabledAlso) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var currentIndex = list.findIndex(function (tab) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n return tab.name === activeKey;\n }.bind(undefined));\n var nextIndex = (currentIndex + direction + list.length) % list.length;\n var nextTab = list[nextIndex];\n if (nextTab.disabled) return getNextTab(list, nextTab.name, direction, countDisabledAlso);else return nextTab;\n}.bind(undefined);\n\nvar focusFirst = function (element, root) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n try {\n element.focus();\n } catch (err) {}\n\n if (document.activeElement == element && element !== root) return true;\n\n var candidates = element.children;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = (0, _getIterator3.default)(candidates), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var candidate = _step.value;\n\n if (focusFirst(candidate, root)) return true;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return false;\n}.bind(undefined);\n\nexports.default = {\n name: 'Tabs',\n mixins: [_emitter2.default],\n components: { Icon: _icon2.default, Render: _render2.default },\n provide: function provide() {\n return { TabsInstance: this };\n },\n\n props: {\n value: {\n type: [String, Number]\n },\n type: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['line', 'card']);\n },\n\n default: 'line'\n },\n size: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['small', 'default']);\n },\n\n default: 'default'\n },\n animated: {\n type: Boolean,\n default: true\n },\n captureFocus: {\n type: Boolean,\n default: false\n },\n closable: {\n type: Boolean,\n default: false\n },\n beforeRemove: Function,\n\n name: {\n type: String\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n navList: [],\n barWidth: 0,\n barOffset: 0,\n activeKey: this.value,\n focusedKey: this.value,\n showSlot: false,\n navStyle: {\n transform: ''\n },\n scrollable: false,\n transitioning: false\n };\n },\n\n computed: {\n classes: function classes() {\n var _ref;\n\n return ['' + prefixCls, (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-card', this.type === 'card'), (0, _defineProperty3.default)(_ref, prefixCls + '-mini', this.size === 'small' && this.type === 'line'), (0, _defineProperty3.default)(_ref, prefixCls + '-no-animation', !this.animated), _ref)];\n },\n contentClasses: function contentClasses() {\n return [prefixCls + '-content', (0, _defineProperty3.default)({}, prefixCls + '-content-animated', this.animated)];\n },\n barClasses: function barClasses() {\n return [prefixCls + '-ink-bar', (0, _defineProperty3.default)({}, prefixCls + '-ink-bar-animated', this.animated)];\n },\n contentStyle: function contentStyle() {\n var x = this.getTabIndex(this.activeKey);\n var p = x === 0 ? '0%' : '-' + String(x) + '00%';\n\n var style = {};\n if (x > -1) {\n style = {\n transform: 'translateX(' + p + ') translateZ(0px)'\n };\n }\n return style;\n },\n barStyle: function barStyle() {\n var style = {\n visibility: 'hidden',\n width: String(this.barWidth) + 'px'\n };\n if (this.type === 'line') style.visibility = 'visible';\n if (this.animated) {\n style.transform = 'translate3d(' + String(this.barOffset) + 'px, 0px, 0px)';\n } else {\n style.left = String(this.barOffset) + 'px';\n }\n\n return style;\n },\n arrowType: function arrowType() {\n var type = 'ios-close';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.tabs.customCloseIcon) {\n type = '';\n } else if (this.$IVIEW.tabs.closeIcon) {\n type = this.$IVIEW.tabs.closeIcon;\n }\n }\n return type;\n },\n customArrowType: function customArrowType() {\n var type = '';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.tabs.customCloseIcon) {\n type = this.$IVIEW.tabs.customCloseIcon;\n }\n }\n return type;\n },\n arrowSize: function arrowSize() {\n var size = '';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.tabs.closeIconSize) {\n size = this.$IVIEW.tabs.closeIconSize;\n }\n }\n return size;\n }\n },\n methods: {\n getTabs: function getTabs() {\n var _this = this;\n\n var AllTabPanes = (0, _assist.findComponentsDownward)(this, 'TabPane');\n var TabPanes = [];\n\n AllTabPanes.forEach(function (item) {\n (0, _newArrowCheck3.default)(this, _this);\n\n if (item.tab && this.name) {\n if (item.tab === this.name) {\n TabPanes.push(item);\n }\n } else {\n TabPanes.push(item);\n }\n }.bind(this));\n\n TabPanes.sort(function (a, b) {\n (0, _newArrowCheck3.default)(this, _this);\n\n if (a.index && b.index) {\n return a.index > b.index ? 1 : -1;\n }\n }.bind(this));\n return TabPanes;\n },\n updateNav: function updateNav() {\n var _this2 = this;\n\n this.navList = [];\n this.getTabs().forEach(function (pane, index) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n this.navList.push({\n labelType: (0, _typeof3.default)(pane.label),\n label: pane.label,\n icon: pane.icon || '',\n name: pane.currentName || index,\n disabled: pane.disabled,\n closable: pane.closable\n });\n if (!pane.currentName) pane.currentName = index;\n if (index === 0) {\n if (!this.activeKey) this.activeKey = pane.currentName || index;\n }\n }.bind(this));\n this.updateStatus();\n this.updateBar();\n },\n updateBar: function updateBar() {\n var _this3 = this;\n\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this3);\n\n var index = this.getTabIndex(this.activeKey);\n if (!this.$refs.nav) return;\n var prevTabs = this.$refs.nav.querySelectorAll('.' + prefixCls + '-tab');\n var tab = prevTabs[index];\n this.barWidth = tab ? parseFloat(tab.offsetWidth) : 0;\n\n if (index > 0) {\n var offset = 0;\n var gutter = this.size === 'small' ? 0 : 16;\n for (var i = 0; i < index; i++) {\n offset += parseFloat(prevTabs[i].offsetWidth) + gutter;\n }\n\n this.barOffset = offset;\n } else {\n this.barOffset = 0;\n }\n this.updateNavScroll();\n }.bind(this));\n },\n updateStatus: function updateStatus() {\n var _this4 = this;\n\n var tabs = this.getTabs();\n tabs.forEach(function (tab) {\n (0, _newArrowCheck3.default)(this, _this4);\n return tab.show = tab.currentName === this.activeKey || this.animated;\n }.bind(this));\n },\n tabCls: function tabCls(item) {\n var _ref4;\n\n return [prefixCls + '-tab', (_ref4 = {}, (0, _defineProperty3.default)(_ref4, prefixCls + '-tab-disabled', item.disabled), (0, _defineProperty3.default)(_ref4, prefixCls + '-tab-active', item.name === this.activeKey), (0, _defineProperty3.default)(_ref4, prefixCls + '-tab-focused', item.name === this.focusedKey), _ref4)];\n },\n handleChange: function handleChange(index) {\n var _this5 = this;\n\n if (this.transitioning) return;\n\n this.transitioning = true;\n setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this5);\n return this.transitioning = false;\n }.bind(this), transitionTime);\n\n var nav = this.navList[index];\n if (nav.disabled) return;\n this.activeKey = nav.name;\n this.$emit('input', nav.name);\n this.$emit('on-click', nav.name);\n },\n handleTabKeyNavigation: function handleTabKeyNavigation(e) {\n if (e.keyCode !== 37 && e.keyCode !== 39) return;\n var direction = e.keyCode === 39 ? 1 : -1;\n var nextTab = getNextTab(this.navList, this.focusedKey, direction);\n this.focusedKey = nextTab.name;\n },\n handleTabKeyboardSelect: function handleTabKeyboardSelect() {\n var init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (init) return;\n var focused = this.focusedKey || 0;\n var index = this.getTabIndex(focused);\n this.handleChange(index);\n },\n handleRemove: function handleRemove(index) {\n var _this6 = this;\n\n if (!this.beforeRemove) {\n return this.handleRemoveTab(index);\n }\n\n var before = this.beforeRemove(index);\n\n if (before && before.then) {\n before.then(function () {\n (0, _newArrowCheck3.default)(this, _this6);\n\n this.handleRemoveTab(index);\n }.bind(this));\n } else {\n this.handleRemoveTab(index);\n }\n },\n handleRemoveTab: function handleRemoveTab(index) {\n var _this7 = this;\n\n var tabs = this.getTabs();\n var tab = tabs[index];\n tab.$destroy();\n\n if (tab.currentName === this.activeKey) {\n var newTabs = this.getTabs();\n var activeKey = -1;\n\n if (newTabs.length) {\n var leftNoDisabledTabs = tabs.filter(function (item, itemIndex) {\n (0, _newArrowCheck3.default)(this, _this7);\n return !item.disabled && itemIndex < index;\n }.bind(this));\n var rightNoDisabledTabs = tabs.filter(function (item, itemIndex) {\n (0, _newArrowCheck3.default)(this, _this7);\n return !item.disabled && itemIndex > index;\n }.bind(this));\n\n if (rightNoDisabledTabs.length) {\n activeKey = rightNoDisabledTabs[0].currentName;\n } else if (leftNoDisabledTabs.length) {\n activeKey = leftNoDisabledTabs[leftNoDisabledTabs.length - 1].currentName;\n } else {\n activeKey = newTabs[0].currentName;\n }\n }\n this.activeKey = activeKey;\n this.$emit('input', activeKey);\n }\n this.$emit('on-tab-remove', tab.currentName);\n this.updateNav();\n },\n showClose: function showClose(item) {\n if (this.type === 'card') {\n if (item.closable !== null) {\n return item.closable;\n } else {\n return this.closable;\n }\n } else {\n return false;\n }\n },\n scrollPrev: function scrollPrev() {\n var containerWidth = this.$refs.navScroll.offsetWidth;\n var currentOffset = this.getCurrentScrollOffset();\n\n if (!currentOffset) return;\n\n var newOffset = currentOffset > containerWidth ? currentOffset - containerWidth : 0;\n\n this.setOffset(newOffset);\n },\n scrollNext: function scrollNext() {\n var navWidth = this.$refs.nav.offsetWidth;\n var containerWidth = this.$refs.navScroll.offsetWidth;\n var currentOffset = this.getCurrentScrollOffset();\n if (navWidth - currentOffset <= containerWidth) return;\n\n var newOffset = navWidth - currentOffset > containerWidth * 2 ? currentOffset + containerWidth : navWidth - containerWidth;\n\n this.setOffset(newOffset);\n },\n getCurrentScrollOffset: function getCurrentScrollOffset() {\n var navStyle = this.navStyle;\n\n return navStyle.transform ? Number(navStyle.transform.match(/translateX\\(-(\\d+(\\.\\d+)*)px\\)/)[1]) : 0;\n },\n getTabIndex: function getTabIndex(name) {\n var _this8 = this;\n\n return this.navList.findIndex(function (nav) {\n (0, _newArrowCheck3.default)(this, _this8);\n return nav.name === name;\n }.bind(this));\n },\n setOffset: function setOffset(value) {\n this.navStyle.transform = 'translateX(-' + String(value) + 'px)';\n },\n scrollToActiveTab: function scrollToActiveTab() {\n if (!this.scrollable) return;\n var nav = this.$refs.nav;\n var activeTab = this.$el.querySelector('.' + prefixCls + '-tab-active');\n if (!activeTab) return;\n\n var navScroll = this.$refs.navScroll;\n var activeTabBounding = activeTab.getBoundingClientRect();\n var navScrollBounding = navScroll.getBoundingClientRect();\n var navBounding = nav.getBoundingClientRect();\n var currentOffset = this.getCurrentScrollOffset();\n var newOffset = currentOffset;\n\n if (navBounding.right < navScrollBounding.right) {\n newOffset = nav.offsetWidth - navScrollBounding.width;\n }\n\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset = currentOffset - (navScrollBounding.left - activeTabBounding.left);\n } else if (activeTabBounding.right > navScrollBounding.right) {\n newOffset = currentOffset + activeTabBounding.right - navScrollBounding.right;\n }\n\n if (currentOffset !== newOffset) {\n this.setOffset(Math.max(newOffset, 0));\n }\n },\n updateNavScroll: function updateNavScroll() {\n var navWidth = this.$refs.nav.offsetWidth;\n var containerWidth = this.$refs.navScroll.offsetWidth;\n var currentOffset = this.getCurrentScrollOffset();\n if (containerWidth < navWidth) {\n this.scrollable = true;\n if (navWidth - currentOffset < containerWidth) {\n this.setOffset(navWidth - containerWidth);\n }\n } else {\n this.scrollable = false;\n if (currentOffset > 0) {\n this.setOffset(0);\n }\n }\n },\n handleResize: function handleResize() {\n this.updateNavScroll();\n },\n isInsideHiddenElement: function isInsideHiddenElement() {\n var parentNode = this.$el.parentNode;\n while (parentNode && parentNode !== document.body) {\n if (parentNode.style && parentNode.style.display === 'none') {\n return parentNode;\n }\n parentNode = parentNode.parentNode;\n }\n return false;\n },\n updateVisibility: function updateVisibility(index) {\n var _this9 = this;\n\n [].concat((0, _toConsumableArray3.default)(this.$refs.panes.querySelectorAll('.' + prefixCls + '-tabpane'))).forEach(function (el, i) {\n (0, _newArrowCheck3.default)(this, _this9);\n\n if (index === i) {\n [].concat((0, _toConsumableArray3.default)(el.children)).filter(function (child) {\n (0, _newArrowCheck3.default)(this, _this9);\n return child.classList.contains(prefixCls + '-tabpane');\n }.bind(this)).forEach(function (child) {\n (0, _newArrowCheck3.default)(this, _this9);\n return child.style.visibility = 'visible';\n }.bind(this));\n if (this.captureFocus) setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this9);\n return focusFirst(el, el);\n }.bind(this), transitionTime);\n } else {\n setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this9);\n\n [].concat((0, _toConsumableArray3.default)(el.children)).filter(function (child) {\n (0, _newArrowCheck3.default)(this, _this9);\n return child.classList.contains(prefixCls + '-tabpane');\n }.bind(this)).forEach(function (child) {\n (0, _newArrowCheck3.default)(this, _this9);\n return child.style.visibility = 'hidden';\n }.bind(this));\n }.bind(this), transitionTime);\n }\n }.bind(this));\n }\n },\n watch: {\n value: function value(val) {\n this.activeKey = val;\n this.focusedKey = val;\n },\n activeKey: function activeKey(val) {\n var _this10 = this;\n\n this.focusedKey = val;\n this.updateBar();\n this.updateStatus();\n this.broadcast('Table', 'on-visible-change', true);\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this10);\n\n this.scrollToActiveTab();\n }.bind(this));\n\n var nextIndex = Math.max(this.getTabIndex(this.focusedKey), 0);\n this.updateVisibility(nextIndex);\n }\n },\n mounted: function mounted() {\n var _this11 = this;\n\n this.showSlot = this.$slots.extra !== undefined;\n this.observer = (0, _elementResizeDetector2.default)();\n this.observer.listenTo(this.$refs.navWrap, this.handleResize);\n\n var hiddenParentNode = this.isInsideHiddenElement();\n if (hiddenParentNode) {\n this.mutationObserver = new _assist.MutationObserver(function () {\n (0, _newArrowCheck3.default)(this, _this11);\n\n if (hiddenParentNode.style.display !== 'none') {\n this.updateBar();\n this.mutationObserver.disconnect();\n }\n }.bind(this));\n\n this.mutationObserver.observe(hiddenParentNode, { attributes: true, childList: true, characterData: true, attributeFilter: ['style'] });\n }\n\n this.handleTabKeyboardSelect(true);\n this.updateVisibility(this.getTabIndex(this.activeKey));\n },\n beforeDestroy: function beforeDestroy() {\n this.observer.removeListener(this.$refs.navWrap, this.handleResize);\n if (this.mutationObserver) this.mutationObserver.disconnect();\n }\n};\n\n/***/ }),\n/* 232 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar prefixCls = 'ivu-tabs-tabpane';\n\nexports.default = {\n name: 'TabPane',\n inject: ['TabsInstance'],\n props: {\n name: {\n type: String\n },\n label: {\n type: [String, Function],\n default: ''\n },\n icon: {\n type: String\n },\n disabled: {\n type: Boolean,\n default: false\n },\n closable: {\n type: Boolean,\n default: null\n },\n\n tab: {\n type: String\n },\n\n index: {\n type: Number\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n show: true,\n currentName: this.name\n };\n },\n\n computed: {\n contentStyle: function contentStyle() {\n return {\n visibility: this.TabsInstance.activeKey !== this.currentName ? 'hidden' : 'visible'\n };\n }\n },\n methods: {\n updateNav: function updateNav() {\n this.TabsInstance.updateNav();\n }\n },\n watch: {\n name: function name(val) {\n this.currentName = val;\n this.updateNav();\n },\n label: function label() {\n this.updateNav();\n },\n icon: function icon() {\n this.updateNav();\n },\n disabled: function disabled() {\n this.updateNav();\n }\n },\n mounted: function mounted() {\n this.updateNav();\n },\n destroyed: function destroyed() {\n this.updateNav();\n }\n};\n\n/***/ }),\n/* 233 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _icon = __webpack_require__(20);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-tag';\nvar initColorList = ['default', 'primary', 'success', 'warning', 'error', 'blue', 'green', 'red', 'yellow', 'pink', 'magenta', 'volcano', 'orange', 'gold', 'lime', 'cyan', 'geekblue', 'purple'];\nvar colorList = ['pink', 'magenta', 'volcano', 'orange', 'gold', 'lime', 'cyan', 'geekblue', 'purple'];\n\nexports.default = {\n name: 'Tag',\n components: { Icon: _icon2.default },\n props: {\n closable: {\n type: Boolean,\n default: false\n },\n checkable: {\n type: Boolean,\n default: false\n },\n checked: {\n type: Boolean,\n default: true\n },\n color: {\n type: String,\n default: 'default'\n },\n type: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['border', 'dot']);\n }\n },\n name: {\n type: [String, Number]\n },\n fade: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n isChecked: this.checked\n };\n },\n\n computed: {\n classes: function classes() {\n var _ref;\n\n return ['' + prefixCls, (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-' + String(this.color), !!this.color && (0, _assist.oneOf)(this.color, initColorList)), (0, _defineProperty3.default)(_ref, prefixCls + '-' + String(this.type), !!this.type), (0, _defineProperty3.default)(_ref, prefixCls + '-closable', this.closable), (0, _defineProperty3.default)(_ref, prefixCls + '-checked', this.isChecked), _ref)];\n },\n wraperStyles: function wraperStyles() {\n return (0, _assist.oneOf)(this.color, initColorList) ? {} : { background: this.isChecked ? this.defaultTypeColor : 'transparent', borderWidth: '1px', borderStyle: 'solid', borderColor: this.type !== 'dot' && this.type !== 'border' && this.isChecked ? this.borderColor : this.lineColor, color: this.lineColor };\n },\n textClasses: function textClasses() {\n return [prefixCls + '-text', this.type === 'border' ? (0, _assist.oneOf)(this.color, initColorList) ? prefixCls + '-color-' + String(this.color) : '' : '', this.type !== 'dot' && this.type !== 'border' && this.color !== 'default' ? this.isChecked && colorList.indexOf(this.color) < 0 ? prefixCls + '-color-white' : '' : ''];\n },\n dotClasses: function dotClasses() {\n return prefixCls + '-dot-inner';\n },\n iconClass: function iconClass() {\n if (this.type === 'dot') {\n return '';\n } else if (this.type === 'border') {\n return (0, _assist.oneOf)(this.color, initColorList) ? prefixCls + '-color-' + String(this.color) : '';\n } else {\n return this.color !== undefined ? this.color === 'default' ? '' : 'rgb(255, 255, 255)' : '';\n }\n },\n showDot: function showDot() {\n return !!this.type && this.type === 'dot';\n },\n lineColor: function lineColor() {\n if (this.type === 'dot') {\n return '';\n } else if (this.type === 'border') {\n return this.color !== undefined ? (0, _assist.oneOf)(this.color, initColorList) ? '' : this.color : '';\n } else {\n return this.color !== undefined ? this.color === 'default' ? '' : 'rgb(255, 255, 255)' : '';\n }\n },\n borderColor: function borderColor() {\n return this.color !== undefined ? this.color === 'default' ? '' : this.color : '';\n },\n dotColor: function dotColor() {\n return this.color !== undefined ? (0, _assist.oneOf)(this.color, initColorList) ? '' : this.color : '';\n },\n textColorStyle: function textColorStyle() {\n return (0, _assist.oneOf)(this.color, initColorList) ? {} : this.type !== 'dot' && this.type !== 'border' ? this.isChecked ? { color: this.lineColor } : {} : { color: this.lineColor };\n },\n bgColorStyle: function bgColorStyle() {\n return (0, _assist.oneOf)(this.color, initColorList) ? {} : { background: this.dotColor };\n },\n defaultTypeColor: function defaultTypeColor() {\n return this.type !== 'dot' && this.type !== 'border' ? this.color !== undefined ? (0, _assist.oneOf)(this.color, initColorList) ? '' : this.color : '' : '';\n }\n },\n methods: {\n close: function close(event) {\n if (this.name === undefined) {\n this.$emit('on-close', event);\n } else {\n this.$emit('on-close', event, this.name);\n }\n },\n check: function check() {\n if (!this.checkable) return;\n var checked = !this.isChecked;\n this.isChecked = checked;\n if (this.name === undefined) {\n this.$emit('on-change', checked);\n } else {\n this.$emit('on-change', checked, this.name);\n }\n }\n },\n watch: {\n checked: function checked(val) {\n this.isChecked = val;\n }\n }\n};\n\n/***/ }),\n/* 234 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _typeof2 = __webpack_require__(36);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _vue = __webpack_require__(15);\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _assist = __webpack_require__(3);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nvar _time = __webpack_require__(587);\n\nvar _time2 = _interopRequireDefault(_time);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isServer = _vue2.default.prototype.$isServer;\n\n\nvar prefixCls = 'ivu-time';\n\nexports.default = {\n name: 'Time',\n mixins: [_locale2.default],\n props: {\n time: {\n type: [Number, Date, String],\n required: true\n },\n type: {\n type: String,\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['relative', 'date', 'datetime']);\n },\n\n default: 'relative'\n },\n hash: {\n type: String,\n default: ''\n },\n interval: {\n type: Number,\n default: 60\n }\n },\n data: function data() {\n return {\n date: ''\n };\n },\n\n computed: {\n classes: function classes() {\n return ['' + prefixCls, (0, _defineProperty3.default)({}, prefixCls + '-with-hash', this.hash)];\n }\n },\n methods: {\n handleClick: function handleClick() {\n if (this.hash !== '') window.location.hash = this.hash;\n },\n setTime: function setTime() {\n var type = (0, _typeof3.default)(this.time);\n var time = void 0;\n\n if (type === 'number') {\n var timestamp = this.time.toString().length > 10 ? this.time : this.time * 1000;\n time = new Date(timestamp).getTime();\n } else if (type === 'object') {\n time = this.time.getTime();\n } else if (type === 'string') {\n time = new Date(this.time).getTime();\n }\n\n if (this.type === 'relative') {\n this.date = (0, _time2.default)(time, this.t);\n } else {\n var date = new Date(this.time);\n var year = date.getFullYear();\n var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1;\n var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();\n var hour = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();\n var minute = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();\n var second = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();\n\n if (this.type === 'datetime') {\n this.date = String(year) + '-' + String(month) + '-' + String(day) + ' ' + String(hour) + ':' + String(minute) + ':' + String(second);\n } else if (this.type === 'date') {\n this.date = String(year) + '-' + String(month) + '-' + String(day);\n }\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.setTime();\n if (isServer) return;\n this.timer = setInterval(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.setTime();\n }.bind(this), 1000 * this.interval);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.timer) clearInterval(this.timer);\n }\n};\n\n/***/ }),\n/* 235 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-timeline';\n\nexports.default = {\n name: 'Timeline',\n props: {\n pending: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n classes: function classes() {\n return ['' + prefixCls, (0, _defineProperty3.default)({}, prefixCls + '-pending', this.pending)];\n }\n }\n};\n\n/***/ }),\n/* 236 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-timeline';\n\nexports.default = {\n name: 'TimelineItem',\n props: {\n color: {\n type: String,\n default: 'blue'\n }\n },\n data: function data() {\n return {\n dot: false\n };\n },\n mounted: function mounted() {\n this.dot = this.$refs.dot.innerHTML.length ? true : false;\n },\n\n computed: {\n itemClasses: function itemClasses() {\n return prefixCls + '-item';\n },\n tailClasses: function tailClasses() {\n return prefixCls + '-item-tail';\n },\n headClasses: function headClasses() {\n var _ref;\n\n return [prefixCls + '-item-head', (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-item-head-custom', this.dot), (0, _defineProperty3.default)(_ref, prefixCls + '-item-head-' + String(this.color), this.headColorShow), _ref)];\n },\n headColorShow: function headColorShow() {\n return this.color == 'blue' || this.color == 'red' || this.color == 'green';\n },\n customColor: function customColor() {\n var style = {};\n if (this.color) {\n if (!this.headColorShow) {\n style = {\n 'color': this.color,\n 'border-color': this.color\n };\n }\n }\n\n return style;\n },\n contentClasses: function contentClasses() {\n return prefixCls + '-item-content';\n }\n }\n};\n\n/***/ }),\n/* 237 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(16);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _list = __webpack_require__(599);\n\nvar _list2 = _interopRequireDefault(_list);\n\nvar _operation = __webpack_require__(603);\n\nvar _operation2 = _interopRequireDefault(_operation);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-transfer';\n\nexports.default = {\n name: 'Transfer',\n mixins: [_emitter2.default, _locale2.default],\n render: function render(h) {\n var _this2 = this;\n\n function cloneVNode(vnode) {\n var _this = this;\n\n var clonedChildren = vnode.children && vnode.children.map(function (vnode) {\n (0, _newArrowCheck3.default)(this, _this);\n return cloneVNode(vnode);\n }.bind(this));\n var cloned = h(vnode.tag, vnode.data, clonedChildren);\n cloned.text = vnode.text;\n cloned.isComment = vnode.isComment;\n cloned.componentOptions = vnode.componentOptions;\n cloned.elm = vnode.elm;\n cloned.context = vnode.context;\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n\n return cloned;\n }\n\n var vNodes = this.$slots.default === undefined ? [] : this.$slots.default;\n var clonedVNodes = this.$slots.default === undefined ? [] : vNodes.map(function (vnode) {\n (0, _newArrowCheck3.default)(this, _this2);\n return cloneVNode(vnode);\n }.bind(this));\n\n return h('div', {\n 'class': this.classes\n }, [h(_list2.default, {\n ref: 'left',\n props: {\n prefixCls: this.prefixCls + '-list',\n data: this.leftData,\n renderFormat: this.renderFormat,\n checkedKeys: this.leftCheckedKeys,\n validKeysCount: this.leftValidKeysCount,\n listStyle: this.listStyle,\n title: this.localeTitles[0],\n filterable: this.filterable,\n filterPlaceholder: this.localeFilterPlaceholder,\n filterMethod: this.filterMethod,\n notFoundText: this.localeNotFoundText\n },\n on: {\n 'on-checked-keys-change': this.handleLeftCheckedKeysChange\n }\n }, vNodes), h(_operation2.default, {\n props: {\n prefixCls: this.prefixCls,\n operations: this.operations,\n leftActive: this.leftValidKeysCount > 0,\n rightActive: this.rightValidKeysCount > 0\n }\n }), h(_list2.default, {\n ref: 'right',\n props: {\n prefixCls: this.prefixCls + '-list',\n data: this.rightData,\n renderFormat: this.renderFormat,\n checkedKeys: this.rightCheckedKeys,\n validKeysCount: this.rightValidKeysCount,\n listStyle: this.listStyle,\n title: this.localeTitles[1],\n filterable: this.filterable,\n filterPlaceholder: this.localeFilterPlaceholder,\n filterMethod: this.filterMethod,\n notFoundText: this.localeNotFoundText\n },\n on: {\n 'on-checked-keys-change': this.handleRightCheckedKeysChange\n }\n }, clonedVNodes)]);\n },\n\n props: {\n data: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n renderFormat: {\n type: Function,\n default: function _default(item) {\n return item.label || item.key;\n }\n },\n targetKeys: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n selectedKeys: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n listStyle: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n titles: {\n type: Array\n },\n operations: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n filterable: {\n type: Boolean,\n default: false\n },\n filterPlaceholder: {\n type: String\n },\n filterMethod: {\n type: Function,\n default: function _default(data, query) {\n var type = 'label' in data ? 'label' : 'key';\n return data[type].indexOf(query) > -1;\n }\n },\n notFoundText: {\n type: String\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n leftData: [],\n rightData: [],\n leftCheckedKeys: [],\n rightCheckedKeys: []\n };\n },\n\n computed: {\n classes: function classes() {\n return ['' + prefixCls];\n },\n leftValidKeysCount: function leftValidKeysCount() {\n return this.getValidKeys('left').length;\n },\n rightValidKeysCount: function rightValidKeysCount() {\n return this.getValidKeys('right').length;\n },\n localeFilterPlaceholder: function localeFilterPlaceholder() {\n if (this.filterPlaceholder === undefined) {\n return this.t('i.transfer.filterPlaceholder');\n } else {\n return this.filterPlaceholder;\n }\n },\n localeNotFoundText: function localeNotFoundText() {\n if (this.notFoundText === undefined) {\n return this.t('i.transfer.notFoundText');\n } else {\n return this.notFoundText;\n }\n },\n localeTitles: function localeTitles() {\n if (this.titles === undefined) {\n return [this.t('i.transfer.titles.source'), this.t('i.transfer.titles.target')];\n } else {\n return this.titles;\n }\n }\n },\n methods: {\n getValidKeys: function getValidKeys(direction) {\n var _this3 = this;\n\n return this[String(direction) + 'Data'].filter(function (data) {\n (0, _newArrowCheck3.default)(this, _this3);\n return !data.disabled && this[String(direction) + 'CheckedKeys'].indexOf(data.key) > -1;\n }.bind(this)).map(function (data) {\n (0, _newArrowCheck3.default)(this, _this3);\n return data.key;\n }.bind(this));\n },\n splitData: function splitData() {\n var _this4 = this;\n\n var init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.leftData = [].concat((0, _toConsumableArray3.default)(this.data));\n this.rightData = [];\n if (this.targetKeys.length > 0) {\n this.targetKeys.forEach(function (targetKey) {\n (0, _newArrowCheck3.default)(this, _this4);\n\n var filteredData = this.leftData.filter(function (data, index) {\n (0, _newArrowCheck3.default)(this, _this4);\n\n if (data.key === targetKey) {\n this.leftData.splice(index, 1);\n return true;\n }\n return false;\n }.bind(this));\n if (filteredData && filteredData.length > 0) this.rightData.push(filteredData[0]);\n }.bind(this));\n }\n if (init) {\n this.splitSelectedKey();\n }\n },\n splitSelectedKey: function splitSelectedKey() {\n var _this5 = this;\n\n var selectedKeys = this.selectedKeys;\n if (selectedKeys.length > 0) {\n this.leftCheckedKeys = this.leftData.filter(function (data) {\n (0, _newArrowCheck3.default)(this, _this5);\n return selectedKeys.indexOf(data.key) > -1;\n }.bind(this)).map(function (data) {\n (0, _newArrowCheck3.default)(this, _this5);\n return data.key;\n }.bind(this));\n this.rightCheckedKeys = this.rightData.filter(function (data) {\n (0, _newArrowCheck3.default)(this, _this5);\n return selectedKeys.indexOf(data.key) > -1;\n }.bind(this)).map(function (data) {\n (0, _newArrowCheck3.default)(this, _this5);\n return data.key;\n }.bind(this));\n }\n },\n moveTo: function moveTo(direction) {\n var _this6 = this;\n\n var targetKeys = this.targetKeys;\n var opposite = direction === 'left' ? 'right' : 'left';\n var moveKeys = this.getValidKeys(opposite);\n var newTargetKeys = direction === 'right' ? moveKeys.concat(targetKeys) : targetKeys.filter(function (targetKey) {\n (0, _newArrowCheck3.default)(this, _this6);\n return !moveKeys.some(function (checkedKey) {\n (0, _newArrowCheck3.default)(this, _this6);\n return targetKey === checkedKey;\n }.bind(this));\n }.bind(this));\n\n this.$refs[opposite].toggleSelectAll(false);\n this.$emit('on-change', newTargetKeys, direction, moveKeys);\n this.dispatch('FormItem', 'on-form-change', {\n tarketKeys: newTargetKeys,\n direction: direction,\n moveKeys: moveKeys\n });\n },\n handleLeftCheckedKeysChange: function handleLeftCheckedKeysChange(keys) {\n this.leftCheckedKeys = keys;\n this.handleCheckedKeys();\n },\n handleRightCheckedKeysChange: function handleRightCheckedKeysChange(keys) {\n this.rightCheckedKeys = keys;\n this.handleCheckedKeys();\n },\n handleCheckedKeys: function handleCheckedKeys() {\n var sourceSelectedKeys = this.getValidKeys('left');\n var targetSelectedKeys = this.getValidKeys('right');\n this.$emit('on-selected-change', sourceSelectedKeys, targetSelectedKeys);\n }\n },\n watch: {\n targetKeys: function targetKeys() {\n this.splitData(false);\n },\n data: function data() {\n this.splitData(false);\n }\n },\n mounted: function mounted() {\n this.splitData(true);\n }\n};\n\n/***/ }),\n/* 238 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _search = __webpack_require__(600);\n\nvar _search2 = _interopRequireDefault(_search);\n\nvar _checkbox = __webpack_require__(46);\n\nvar _checkbox2 = _interopRequireDefault(_checkbox);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'TransferList',\n components: { Search: _search2.default, Checkbox: _checkbox2.default },\n props: {\n prefixCls: String,\n data: Array,\n renderFormat: Function,\n checkedKeys: Array,\n listStyle: Object,\n title: [String, Number],\n filterable: Boolean,\n filterPlaceholder: String,\n filterMethod: Function,\n notFoundText: String,\n validKeysCount: Number\n },\n data: function data() {\n return {\n showItems: [],\n query: '',\n showFooter: true\n };\n },\n\n watch: {\n data: function data() {\n this.updateFilteredData();\n }\n },\n computed: {\n classes: function classes() {\n return ['' + String(this.prefixCls), (0, _defineProperty3.default)({}, String(this.prefixCls) + '-with-footer', this.showFooter)];\n },\n bodyClasses: function bodyClasses() {\n var _ref2;\n\n return [String(this.prefixCls) + '-body', (_ref2 = {}, (0, _defineProperty3.default)(_ref2, String(this.prefixCls) + '-body-with-search', this.filterable), (0, _defineProperty3.default)(_ref2, String(this.prefixCls) + '-body-with-footer', this.showFooter), _ref2)];\n },\n count: function count() {\n var validKeysCount = this.validKeysCount;\n return (validKeysCount > 0 ? String(validKeysCount) + '/' : '') + ('' + String(this.data.length));\n },\n checkedAll: function checkedAll() {\n var _this = this;\n\n return this.filterData.filter(function (data) {\n (0, _newArrowCheck3.default)(this, _this);\n return !data.disabled;\n }.bind(this)).length === this.validKeysCount && this.validKeysCount !== 0;\n },\n checkedAllDisabled: function checkedAllDisabled() {\n var _this2 = this;\n\n return this.filterData.filter(function (data) {\n (0, _newArrowCheck3.default)(this, _this2);\n return !data.disabled;\n }.bind(this)).length <= 0;\n },\n filterData: function filterData() {\n var _this3 = this;\n\n return this.showItems.filter(function (item) {\n (0, _newArrowCheck3.default)(this, _this3);\n return this.filterMethod(item, this.query);\n }.bind(this));\n }\n },\n methods: {\n itemClasses: function itemClasses(item) {\n return [String(this.prefixCls) + '-content-item', (0, _defineProperty3.default)({}, String(this.prefixCls) + '-content-item-disabled', item.disabled)];\n },\n showLabel: function showLabel(item) {\n return this.renderFormat(item);\n },\n isCheck: function isCheck(item) {\n var _this4 = this;\n\n return this.checkedKeys.some(function (key) {\n (0, _newArrowCheck3.default)(this, _this4);\n return key === item.key;\n }.bind(this));\n },\n select: function select(item) {\n if (item.disabled) return;\n var index = this.checkedKeys.indexOf(item.key);\n index > -1 ? this.checkedKeys.splice(index, 1) : this.checkedKeys.push(item.key);\n this.$parent.handleCheckedKeys();\n },\n updateFilteredData: function updateFilteredData() {\n this.showItems = this.data;\n },\n toggleSelectAll: function toggleSelectAll(status) {\n var _this5 = this;\n\n var keys = status ? this.filterData.filter(function (data) {\n (0, _newArrowCheck3.default)(this, _this5);\n return !data.disabled || this.checkedKeys.indexOf(data.key) > -1;\n }.bind(this)).map(function (data) {\n (0, _newArrowCheck3.default)(this, _this5);\n return data.key;\n }.bind(this)) : this.filterData.filter(function (data) {\n (0, _newArrowCheck3.default)(this, _this5);\n return data.disabled && this.checkedKeys.indexOf(data.key) > -1;\n }.bind(this)).map(function (data) {\n (0, _newArrowCheck3.default)(this, _this5);\n return data.key;\n }.bind(this));\n this.$emit('on-checked-keys-change', keys);\n },\n handleQueryClear: function handleQueryClear() {\n this.query = '';\n },\n handleQueryChange: function handleQueryChange(val) {\n this.query = val;\n }\n },\n created: function created() {\n this.updateFilteredData();\n },\n mounted: function mounted() {\n this.showFooter = this.$slots.default !== undefined;\n }\n};\n\n/***/ }),\n/* 239 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _input = __webpack_require__(37);\n\nvar _input2 = _interopRequireDefault(_input);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'Search',\n components: { iInput: _input2.default },\n props: {\n prefixCls: String,\n placeholder: String,\n query: String\n },\n data: function data() {\n return {\n currentQuery: this.query\n };\n },\n\n watch: {\n query: function query(val) {\n this.currentQuery = val;\n },\n currentQuery: function currentQuery(val) {\n this.$emit('on-query-change', val);\n }\n },\n computed: {\n icon: function icon() {\n return this.query === '' ? 'ios-search' : 'ios-close-circle';\n }\n },\n methods: {\n handleClick: function handleClick() {\n if (this.currentQuery === '') return;\n this.currentQuery = '';\n this.$emit('on-query-clear');\n }\n }\n};\n\n/***/ }),\n/* 240 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _button = __webpack_require__(24);\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _icon = __webpack_require__(8);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'Operation',\n components: { iButton: _button2.default, Icon: _icon2.default },\n props: {\n prefixCls: String,\n operations: Array,\n leftActive: Boolean,\n rightActive: Boolean\n },\n methods: {\n moveToLeft: function moveToLeft() {\n this.$parent.moveTo('left');\n },\n moveToRight: function moveToRight() {\n this.$parent.moveTo('right');\n }\n }\n};\n\n/***/ }),\n/* 241 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _node = __webpack_require__(607);\n\nvar _node2 = _interopRequireDefault(_node);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-tree';\n\nexports.default = {\n name: 'Tree',\n mixins: [_emitter2.default, _locale2.default],\n components: { TreeNode: _node2.default },\n provide: function provide() {\n return { TreeInstance: this };\n },\n\n props: {\n data: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n multiple: {\n type: Boolean,\n default: false\n },\n showCheckbox: {\n type: Boolean,\n default: false\n },\n checkStrictly: {\n type: Boolean,\n default: false\n },\n\n checkDirectly: {\n type: Boolean,\n default: false\n },\n emptyText: {\n type: String\n },\n childrenKey: {\n type: String,\n default: 'children'\n },\n loadData: {\n type: Function\n },\n render: {\n type: Function\n }\n\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n stateTree: this.data,\n flatState: []\n };\n },\n\n watch: {\n data: {\n deep: true,\n handler: function handler() {\n this.stateTree = this.data;\n this.flatState = this.compileFlatState();\n this.rebuildTree();\n }\n }\n },\n computed: {\n localeEmptyText: function localeEmptyText() {\n if (typeof this.emptyText === 'undefined') {\n return this.t('i.tree.emptyText');\n } else {\n return this.emptyText;\n }\n }\n },\n methods: {\n compileFlatState: function compileFlatState() {\n var _this2 = this;\n\n var keyCounter = 0;\n var childrenKey = this.childrenKey;\n var flatTree = [];\n function flattenChildren(node, parent) {\n var _this = this;\n\n node.nodeKey = keyCounter++;\n flatTree[node.nodeKey] = { node: node, nodeKey: node.nodeKey };\n if (typeof parent != 'undefined') {\n flatTree[node.nodeKey].parent = parent.nodeKey;\n flatTree[parent.nodeKey][childrenKey].push(node.nodeKey);\n }\n\n if (node[childrenKey]) {\n flatTree[node.nodeKey][childrenKey] = [];\n node[childrenKey].forEach(function (child) {\n (0, _newArrowCheck3.default)(this, _this);\n return flattenChildren(child, node);\n }.bind(this));\n }\n }\n this.stateTree.forEach(function (rootNode) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n flattenChildren(rootNode);\n }.bind(this));\n return flatTree;\n },\n updateTreeUp: function updateTreeUp(nodeKey) {\n var _this3 = this;\n\n var parentKey = this.flatState[nodeKey].parent;\n if (typeof parentKey == 'undefined' || this.checkStrictly) return;\n\n var node = this.flatState[nodeKey].node;\n var parent = this.flatState[parentKey].node;\n if (node.checked == parent.checked && node.indeterminate == parent.indeterminate) return;\n\n if (node.checked == true) {\n this.$set(parent, 'checked', parent[this.childrenKey].every(function (node) {\n (0, _newArrowCheck3.default)(this, _this3);\n return node.checked;\n }.bind(this)));\n this.$set(parent, 'indeterminate', !parent.checked);\n } else {\n this.$set(parent, 'checked', false);\n this.$set(parent, 'indeterminate', parent[this.childrenKey].some(function (node) {\n (0, _newArrowCheck3.default)(this, _this3);\n return node.checked || node.indeterminate;\n }.bind(this)));\n }\n this.updateTreeUp(parentKey);\n },\n rebuildTree: function rebuildTree() {\n var _this4 = this;\n\n var checkedNodes = this.getCheckedNodes();\n checkedNodes.forEach(function (node) {\n (0, _newArrowCheck3.default)(this, _this4);\n\n this.updateTreeDown(node, { checked: true });\n\n var parentKey = this.flatState[node.nodeKey].parent;\n if (!parentKey && parentKey !== 0) return;\n var parent = this.flatState[parentKey].node;\n var childHasCheckSetter = typeof node.checked != 'undefined' && node.checked;\n if (childHasCheckSetter && parent.checked != node.checked) {\n this.updateTreeUp(node.nodeKey);\n }\n }.bind(this));\n },\n getSelectedNodes: function getSelectedNodes() {\n var _this5 = this;\n\n return this.flatState.filter(function (obj) {\n (0, _newArrowCheck3.default)(this, _this5);\n return obj.node.selected;\n }.bind(this)).map(function (obj) {\n (0, _newArrowCheck3.default)(this, _this5);\n return obj.node;\n }.bind(this));\n },\n getCheckedNodes: function getCheckedNodes() {\n var _this6 = this;\n\n return this.flatState.filter(function (obj) {\n (0, _newArrowCheck3.default)(this, _this6);\n return obj.node.checked;\n }.bind(this)).map(function (obj) {\n (0, _newArrowCheck3.default)(this, _this6);\n return obj.node;\n }.bind(this));\n },\n getCheckedAndIndeterminateNodes: function getCheckedAndIndeterminateNodes() {\n var _this7 = this;\n\n return this.flatState.filter(function (obj) {\n (0, _newArrowCheck3.default)(this, _this7);\n return obj.node.checked || obj.node.indeterminate;\n }.bind(this)).map(function (obj) {\n (0, _newArrowCheck3.default)(this, _this7);\n return obj.node;\n }.bind(this));\n },\n updateTreeDown: function updateTreeDown(node) {\n var _this8 = this;\n\n var changes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.checkStrictly) return;\n\n for (var key in changes) {\n this.$set(node, key, changes[key]);\n }\n if (node[this.childrenKey]) {\n node[this.childrenKey].forEach(function (child) {\n (0, _newArrowCheck3.default)(this, _this8);\n\n this.updateTreeDown(child, changes);\n }.bind(this));\n }\n },\n handleSelect: function handleSelect(nodeKey) {\n var _this9 = this;\n\n var node = this.flatState[nodeKey].node;\n if (!this.multiple) {\n var currentSelectedKey = this.flatState.findIndex(function (obj) {\n (0, _newArrowCheck3.default)(this, _this9);\n return obj.node.selected;\n }.bind(this));\n if (currentSelectedKey >= 0 && currentSelectedKey !== nodeKey) this.$set(this.flatState[currentSelectedKey].node, 'selected', false);\n }\n this.$set(node, 'selected', !node.selected);\n\n this.$emit('on-select-change', this.getSelectedNodes(), node);\n },\n handleCheck: function handleCheck(_ref) {\n var checked = _ref.checked,\n nodeKey = _ref.nodeKey;\n\n var node = this.flatState[nodeKey].node;\n this.$set(node, 'checked', checked);\n this.$set(node, 'indeterminate', false);\n\n this.updateTreeUp(nodeKey);\n this.updateTreeDown(node, { checked: checked, indeterminate: false });\n\n this.$emit('on-check-change', this.getCheckedNodes(), node);\n }\n },\n created: function created() {\n this.flatState = this.compileFlatState();\n this.rebuildTree();\n },\n mounted: function mounted() {\n var _this10 = this;\n\n this.$on('on-check', this.handleCheck);\n this.$on('on-selected', this.handleSelect);\n this.$on('toggle-expand', function (node) {\n (0, _newArrowCheck3.default)(this, _this10);\n return this.$emit('on-toggle-expand', node);\n }.bind(this));\n }\n};\n\n/***/ }),\n/* 242 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _checkbox = __webpack_require__(46);\n\nvar _checkbox2 = _interopRequireDefault(_checkbox);\n\nvar _icon = __webpack_require__(8);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _render = __webpack_require__(608);\n\nvar _render2 = _interopRequireDefault(_render);\n\nvar _collapseTransition = __webpack_require__(75);\n\nvar _collapseTransition2 = _interopRequireDefault(_collapseTransition);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-tree';\n\nexports.default = {\n name: 'TreeNode',\n mixins: [_emitter2.default],\n inject: ['TreeInstance'],\n components: { Checkbox: _checkbox2.default, Icon: _icon2.default, CollapseTransition: _collapseTransition2.default, Render: _render2.default },\n props: {\n data: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n multiple: {\n type: Boolean,\n default: false\n },\n childrenKey: {\n type: String,\n default: 'children'\n },\n showCheckbox: {\n type: Boolean,\n default: false\n },\n appear: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n appearByClickArrow: false,\n\n loadingChildrenState: true\n };\n },\n\n computed: {\n classes: function classes() {\n return [prefixCls + '-children'];\n },\n selectedCls: function selectedCls() {\n return [(0, _defineProperty3.default)({}, prefixCls + '-node-selected', this.data.selected)];\n },\n arrowClasses: function arrowClasses() {\n var _ref2;\n\n return [prefixCls + '-arrow', (_ref2 = {}, (0, _defineProperty3.default)(_ref2, prefixCls + '-arrow-disabled', this.data.disabled), (0, _defineProperty3.default)(_ref2, prefixCls + '-arrow-open', this.data.expand), _ref2)];\n },\n titleClasses: function titleClasses() {\n return [prefixCls + '-title', (0, _defineProperty3.default)({}, prefixCls + '-title-selected', this.data.selected)];\n },\n showArrow: function showArrow() {\n return this.data[this.childrenKey] && this.data[this.childrenKey].length || 'loading' in this.data && !this.data.loading && this.loadingChildrenState;\n },\n showLoading: function showLoading() {\n return 'loading' in this.data && this.data.loading;\n },\n isParentRender: function isParentRender() {\n var Tree = (0, _assist.findComponentUpward)(this, 'Tree');\n return Tree && Tree.render;\n },\n parentRender: function parentRender() {\n var Tree = (0, _assist.findComponentUpward)(this, 'Tree');\n if (Tree && Tree.render) {\n return Tree.render;\n } else {\n return null;\n }\n },\n node: function node() {\n var _this = this;\n\n var Tree = (0, _assist.findComponentUpward)(this, 'Tree');\n if (Tree) {\n return [Tree.flatState, Tree.flatState.find(function (item) {\n (0, _newArrowCheck3.default)(this, _this);\n return item.nodeKey === this.data.nodeKey;\n }.bind(this))];\n } else {\n return [];\n }\n },\n children: function children() {\n return this.data[this.childrenKey];\n },\n arrowType: function arrowType() {\n var type = 'ios-arrow-forward';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.tree.customArrow) {\n type = '';\n } else if (this.$IVIEW.tree.arrow) {\n type = this.$IVIEW.tree.arrow;\n }\n }\n return type;\n },\n customArrowType: function customArrowType() {\n var type = '';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.tree.customArrow) {\n type = this.$IVIEW.tree.customArrow;\n }\n }\n return type;\n },\n arrowSize: function arrowSize() {\n var size = '';\n\n if (this.$IVIEW) {\n if (this.$IVIEW.tree.arrowSize) {\n size = this.$IVIEW.tree.arrowSize;\n }\n }\n return size;\n }\n },\n methods: {\n handleExpand: function handleExpand() {\n var _this2 = this;\n\n var item = this.data;\n if (item.disabled) return;\n\n this.appearByClickArrow = true;\n\n if (item[this.childrenKey].length === 0) {\n var tree = (0, _assist.findComponentUpward)(this, 'Tree');\n if (tree && tree.loadData) {\n this.$set(this.data, 'loading', true);\n tree.loadData(item, function (children) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n this.$set(this.data, 'loading', false);\n if (children.length) {\n this.$set(this.data, this.childrenKey, children);\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this2);\n return this.handleExpand();\n }.bind(this));\n } else {\n this.loadingChildrenState = false;\n }\n }.bind(this));\n return;\n }\n }\n\n if (item[this.childrenKey] && item[this.childrenKey].length) {\n this.$set(this.data, 'expand', !this.data.expand);\n this.dispatch('Tree', 'toggle-expand', this.data);\n }\n },\n handleSelect: function handleSelect() {\n if (this.data.disabled) return;\n if (this.TreeInstance.showCheckbox && this.TreeInstance.checkDirectly) {\n this.handleCheck();\n } else {\n this.dispatch('Tree', 'on-selected', this.data.nodeKey);\n }\n },\n handleCheck: function handleCheck() {\n if (this.data.disabled) return;\n var changes = {\n checked: !this.data.checked && !this.data.indeterminate,\n nodeKey: this.data.nodeKey\n };\n this.dispatch('Tree', 'on-check', changes);\n }\n }\n};\n\n/***/ }),\n/* 243 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _uploadList = __webpack_require__(613);\n\nvar _uploadList2 = _interopRequireDefault(_uploadList);\n\nvar _ajax = __webpack_require__(615);\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _assist = __webpack_require__(3);\n\nvar _emitter = __webpack_require__(4);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-upload';\n\nexports.default = {\n name: 'Upload',\n mixins: [_emitter2.default],\n components: { UploadList: _uploadList2.default },\n props: {\n action: {\n type: String,\n required: true\n },\n headers: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n multiple: {\n type: Boolean,\n default: false\n },\n data: {\n type: Object\n },\n name: {\n type: String,\n default: 'file'\n },\n withCredentials: {\n type: Boolean,\n default: false\n },\n showUploadList: {\n type: Boolean,\n default: true\n },\n type: {\n type: String,\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['select', 'drag']);\n },\n\n default: 'select'\n },\n format: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n accept: {\n type: String\n },\n maxSize: {\n type: Number\n },\n beforeUpload: Function,\n onProgress: {\n type: Function,\n default: function _default() {\n return {};\n }\n },\n onSuccess: {\n type: Function,\n default: function _default() {\n return {};\n }\n },\n onError: {\n type: Function,\n default: function _default() {\n return {};\n }\n },\n onRemove: {\n type: Function,\n default: function _default() {\n return {};\n }\n },\n onPreview: {\n type: Function,\n default: function _default() {\n return {};\n }\n },\n onExceededSize: {\n type: Function,\n default: function _default() {\n return {};\n }\n },\n onFormatError: {\n type: Function,\n default: function _default() {\n return {};\n }\n },\n defaultFileList: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n paste: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n dragOver: false,\n fileList: [],\n tempIndex: 1\n };\n },\n\n computed: {\n classes: function classes() {\n var _ref;\n\n return ['' + prefixCls, (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-select', this.type === 'select'), (0, _defineProperty3.default)(_ref, prefixCls + '-drag', this.type === 'drag'), (0, _defineProperty3.default)(_ref, prefixCls + '-dragOver', this.type === 'drag' && this.dragOver), _ref)];\n }\n },\n methods: {\n handleClick: function handleClick() {\n if (this.disabled) return;\n this.$refs.input.click();\n },\n handleChange: function handleChange(e) {\n var files = e.target.files;\n\n if (!files) {\n return;\n }\n this.uploadFiles(files);\n this.$refs.input.value = null;\n },\n onDrop: function onDrop(e) {\n this.dragOver = false;\n if (this.disabled) return;\n this.uploadFiles(e.dataTransfer.files);\n },\n handlePaste: function handlePaste(e) {\n if (this.disabled) return;\n if (this.paste) {\n this.uploadFiles(e.clipboardData.files);\n }\n },\n uploadFiles: function uploadFiles(files) {\n var _this = this;\n\n var postFiles = Array.prototype.slice.call(files);\n if (!this.multiple) postFiles = postFiles.slice(0, 1);\n\n if (postFiles.length === 0) return;\n\n postFiles.forEach(function (file) {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.upload(file);\n }.bind(this));\n },\n upload: function upload(file) {\n var _this2 = this;\n\n if (!this.beforeUpload) {\n return this.post(file);\n }\n\n var before = this.beforeUpload(file);\n if (before && before.then) {\n before.then(function (processedFile) {\n (0, _newArrowCheck3.default)(this, _this2);\n\n if (Object.prototype.toString.call(processedFile) === '[object File]') {\n this.post(processedFile);\n } else {\n this.post(file);\n }\n }.bind(this), function () {\n (0, _newArrowCheck3.default)(this, _this2);\n }.bind(this));\n } else if (before !== false) {\n this.post(file);\n } else {}\n },\n post: function post(file) {\n var _this3 = this;\n\n if (this.format.length) {\n var _file_format = file.name.split('.').pop().toLocaleLowerCase();\n var checked = this.format.some(function (item) {\n (0, _newArrowCheck3.default)(this, _this3);\n return item.toLocaleLowerCase() === _file_format;\n }.bind(this));\n if (!checked) {\n this.onFormatError(file, this.fileList);\n return false;\n }\n }\n\n if (this.maxSize) {\n if (file.size > this.maxSize * 1024) {\n this.onExceededSize(file, this.fileList);\n return false;\n }\n }\n\n this.handleStart(file);\n var formData = new FormData();\n formData.append(this.name, file);\n\n (0, _ajax2.default)({\n headers: this.headers,\n withCredentials: this.withCredentials,\n file: file,\n data: this.data,\n filename: this.name,\n action: this.action,\n onProgress: function onProgress(e) {\n (0, _newArrowCheck3.default)(this, _this3);\n\n this.handleProgress(e, file);\n }.bind(this),\n onSuccess: function onSuccess(res) {\n (0, _newArrowCheck3.default)(this, _this3);\n\n this.handleSuccess(res, file);\n }.bind(this),\n onError: function onError(err, response) {\n (0, _newArrowCheck3.default)(this, _this3);\n\n this.handleError(err, response, file);\n }.bind(this)\n });\n },\n handleStart: function handleStart(file) {\n file.uid = Date.now() + this.tempIndex++;\n var _file = {\n status: 'uploading',\n name: file.name,\n size: file.size,\n percentage: 0,\n uid: file.uid,\n showProgress: true\n };\n\n this.fileList.push(_file);\n },\n getFile: function getFile(file) {\n var _this4 = this;\n\n var fileList = this.fileList;\n var target = void 0;\n fileList.every(function (item) {\n (0, _newArrowCheck3.default)(this, _this4);\n\n target = file.uid === item.uid ? item : null;\n return !target;\n }.bind(this));\n return target;\n },\n handleProgress: function handleProgress(e, file) {\n var _file = this.getFile(file);\n this.onProgress(e, _file, this.fileList);\n _file.percentage = e.percent || 0;\n },\n handleSuccess: function handleSuccess(res, file) {\n var _this5 = this;\n\n var _file = this.getFile(file);\n\n if (_file) {\n _file.status = 'finished';\n _file.response = res;\n\n this.onSuccess(res, _file, this.fileList);\n this.dispatch('FormItem', 'on-form-change', _file);\n\n setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this5);\n\n _file.showProgress = false;\n }.bind(this), 1000);\n }\n },\n handleError: function handleError(err, response, file) {\n var _file = this.getFile(file);\n var fileList = this.fileList;\n\n _file.status = 'fail';\n\n fileList.splice(fileList.indexOf(_file), 1);\n\n this.onError(err, response, file);\n },\n handleRemove: function handleRemove(file) {\n var fileList = this.fileList;\n fileList.splice(fileList.indexOf(file), 1);\n this.onRemove(file, fileList);\n },\n handlePreview: function handlePreview(file) {\n if (file.status === 'finished') {\n this.onPreview(file);\n }\n },\n clearFiles: function clearFiles() {\n this.fileList = [];\n }\n },\n watch: {\n defaultFileList: {\n immediate: true,\n handler: function handler(fileList) {\n var _this6 = this;\n\n this.fileList = fileList.map(function (item) {\n (0, _newArrowCheck3.default)(this, _this6);\n\n item.status = 'finished';\n item.percentage = 100;\n item.uid = Date.now() + this.tempIndex++;\n return item;\n }.bind(this));\n }\n }\n }\n};\n\n/***/ }),\n/* 244 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _icon = __webpack_require__(8);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _progress = __webpack_require__(212);\n\nvar _progress2 = _interopRequireDefault(_progress);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-upload';\n\nexports.default = {\n name: 'UploadList',\n components: { Icon: _icon2.default, iProgress: _progress2.default },\n props: {\n files: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls\n };\n },\n\n methods: {\n fileCls: function fileCls(file) {\n return [prefixCls + '-list-file', (0, _defineProperty3.default)({}, prefixCls + '-list-file-finish', file.status === 'finished')];\n },\n handleClick: function handleClick(file) {\n this.$emit('on-file-click', file);\n },\n handlePreview: function handlePreview(file) {\n this.$emit('on-file-preview', file);\n },\n handleRemove: function handleRemove(file) {\n this.$emit('on-file-remove', file);\n },\n format: function format(file) {\n var format = file.name.split('.').pop().toLocaleLowerCase() || '';\n var type = 'ios-document-outline';\n\n if (['gif', 'jpg', 'jpeg', 'png', 'bmp', 'webp'].indexOf(format) > -1) {\n type = 'ios-image';\n }\n if (['mp4', 'm3u8', 'rmvb', 'avi', 'swf', '3gp', 'mkv', 'flv'].indexOf(format) > -1) {\n type = 'ios-film';\n }\n if (['mp3', 'wav', 'wma', 'ogg', 'aac', 'flac'].indexOf(format) > -1) {\n type = 'ios-musical-notes';\n }\n if (['doc', 'txt', 'docx', 'pages', 'epub', 'pdf'].indexOf(format) > -1) {\n type = 'md-document';\n }\n if (['numbers', 'csv', 'xls', 'xlsx'].indexOf(format) > -1) {\n type = 'ios-stats';\n }\n if (['keynote', 'ppt', 'pptx'].indexOf(format) > -1) {\n type = 'ios-videocam';\n }\n\n return type;\n },\n parsePercentage: function parsePercentage(val) {\n return parseInt(val, 10);\n }\n }\n};\n\n/***/ }),\n/* 245 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-row';\n\nexports.default = {\n name: 'Row',\n props: {\n type: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['flex']);\n }\n },\n align: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['top', 'middle', 'bottom']);\n }\n },\n justify: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['start', 'end', 'center', 'space-around', 'space-between']);\n }\n },\n gutter: {\n type: Number,\n default: 0\n },\n className: String\n },\n computed: {\n classes: function classes() {\n var _ref;\n\n return [(_ref = {}, (0, _defineProperty3.default)(_ref, '' + prefixCls, !this.type), (0, _defineProperty3.default)(_ref, prefixCls + '-' + String(this.type), !!this.type), (0, _defineProperty3.default)(_ref, prefixCls + '-' + String(this.type) + '-' + String(this.align), !!this.align), (0, _defineProperty3.default)(_ref, prefixCls + '-' + String(this.type) + '-' + String(this.justify), !!this.justify), (0, _defineProperty3.default)(_ref, '' + String(this.className), !!this.className), _ref)];\n },\n styles: function styles() {\n var style = {};\n if (this.gutter !== 0) {\n style = {\n marginLeft: this.gutter / -2 + 'px',\n marginRight: this.gutter / -2 + 'px'\n };\n }\n\n return style;\n }\n },\n methods: {\n updateGutter: function updateGutter(val) {\n var _this = this;\n\n var Col = (0, _assist.findComponentDownward)(this, 'iCol');\n var Cols = (0, _assist.findBrothersComponents)(Col, 'iCol', false);\n if (Cols.length) {\n Cols.forEach(function (child) {\n (0, _newArrowCheck3.default)(this, _this);\n\n if (val !== 0) {\n child.gutter = val;\n }\n }.bind(this));\n }\n }\n },\n watch: {\n gutter: function gutter(val) {\n this.updateGutter(val);\n }\n }\n};\n\n/***/ }),\n/* 246 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _keys = __webpack_require__(25);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _typeof2 = __webpack_require__(36);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _defineProperty2 = __webpack_require__(2);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-col';\n\nexports.default = {\n name: 'iCol',\n props: {\n span: [Number, String],\n order: [Number, String],\n offset: [Number, String],\n push: [Number, String],\n pull: [Number, String],\n className: String,\n xs: [Number, Object],\n sm: [Number, Object],\n md: [Number, Object],\n lg: [Number, Object],\n xl: [Number, Object],\n xxl: [Number, Object]\n },\n data: function data() {\n return {\n gutter: 0\n };\n },\n\n computed: {\n classes: function classes() {\n var _ref,\n _this = this;\n\n var classList = ['' + prefixCls, (_ref = {}, (0, _defineProperty3.default)(_ref, prefixCls + '-span-' + String(this.span), this.span), (0, _defineProperty3.default)(_ref, prefixCls + '-order-' + String(this.order), this.order), (0, _defineProperty3.default)(_ref, prefixCls + '-offset-' + String(this.offset), this.offset), (0, _defineProperty3.default)(_ref, prefixCls + '-push-' + String(this.push), this.push), (0, _defineProperty3.default)(_ref, prefixCls + '-pull-' + String(this.pull), this.pull), (0, _defineProperty3.default)(_ref, '' + String(this.className), !!this.className), _ref)];\n\n ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].forEach(function (size) {\n (0, _newArrowCheck3.default)(this, _this);\n\n if (typeof this[size] === 'number') {\n classList.push(prefixCls + '-span-' + String(size) + '-' + String(this[size]));\n } else if ((0, _typeof3.default)(this[size]) === 'object') {\n var props = this[size];\n (0, _keys2.default)(props).forEach(function (prop) {\n (0, _newArrowCheck3.default)(this, _this);\n\n classList.push(prop !== 'span' ? prefixCls + '-' + String(size) + '-' + String(prop) + '-' + String(props[prop]) : prefixCls + '-span-' + String(size) + '-' + String(props[prop]));\n }.bind(this));\n }\n }.bind(this));\n\n return classList;\n },\n styles: function styles() {\n var style = {};\n if (this.gutter !== 0) {\n style = {\n paddingLeft: this.gutter / 2 + 'px',\n paddingRight: this.gutter / 2 + 'px'\n };\n }\n\n return style;\n }\n },\n methods: {\n updateGutter: function updateGutter() {\n var Row = (0, _assist.findComponentUpward)(this, 'Row');\n if (Row) {\n Row.updateGutter(Row.gutter);\n }\n }\n },\n mounted: function mounted() {\n this.updateGutter();\n },\n beforeDestroy: function beforeDestroy() {\n this.updateGutter();\n }\n};\n\n/***/ }),\n/* 247 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-select-group';\n\nexports.default = {\n name: 'OptionGroup',\n props: {\n label: {\n type: String,\n default: ''\n }\n },\n data: function data() {\n return {\n prefixCls: prefixCls,\n hidden: false };\n },\n\n methods: {\n queryChange: function queryChange() {\n var _this = this;\n\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n var options = this.$refs.options.querySelectorAll('.ivu-select-item');\n var hasVisibleOption = false;\n for (var i = 0; i < options.length; i++) {\n if (options[i].style.display !== 'none') {\n hasVisibleOption = true;\n break;\n }\n }\n this.hidden = !hasVisibleOption;\n }.bind(this));\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.$on('on-query-change', function () {\n (0, _newArrowCheck3.default)(this, _this2);\n\n this.queryChange();\n return true;\n }.bind(this));\n }\n};\n\n/***/ }),\n/* 248 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _keys = __webpack_require__(25);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _extends2 = __webpack_require__(31);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _affix = __webpack_require__(256);\n\nvar _affix2 = _interopRequireDefault(_affix);\n\nvar _alert = __webpack_require__(262);\n\nvar _alert2 = _interopRequireDefault(_alert);\n\nvar _anchor = __webpack_require__(274);\n\nvar _anchor2 = _interopRequireDefault(_anchor);\n\nvar _anchorLink = __webpack_require__(277);\n\nvar _anchorLink2 = _interopRequireDefault(_anchorLink);\n\nvar _autoComplete = __webpack_require__(280);\n\nvar _autoComplete2 = _interopRequireDefault(_autoComplete);\n\nvar _avatar = __webpack_require__(329);\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _backTop = __webpack_require__(331);\n\nvar _backTop2 = _interopRequireDefault(_backTop);\n\nvar _badge = __webpack_require__(334);\n\nvar _badge2 = _interopRequireDefault(_badge);\n\nvar _breadcrumb = __webpack_require__(337);\n\nvar _breadcrumb2 = _interopRequireDefault(_breadcrumb);\n\nvar _button = __webpack_require__(342);\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _card = __webpack_require__(346);\n\nvar _card2 = _interopRequireDefault(_card);\n\nvar _carousel = __webpack_require__(349);\n\nvar _carousel2 = _interopRequireDefault(_carousel);\n\nvar _cascader = __webpack_require__(354);\n\nvar _cascader2 = _interopRequireDefault(_cascader);\n\nvar _cell = __webpack_require__(361);\n\nvar _cell2 = _interopRequireDefault(_cell);\n\nvar _checkbox = __webpack_require__(368);\n\nvar _checkbox2 = _interopRequireDefault(_checkbox);\n\nvar _circle = __webpack_require__(371);\n\nvar _circle2 = _interopRequireDefault(_circle);\n\nvar _collapse = __webpack_require__(374);\n\nvar _collapse2 = _interopRequireDefault(_collapse);\n\nvar _colorPicker = __webpack_require__(379);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _content = __webpack_require__(390);\n\nvar _content2 = _interopRequireDefault(_content);\n\nvar _datePicker = __webpack_require__(392);\n\nvar _datePicker2 = _interopRequireDefault(_datePicker);\n\nvar _divider = __webpack_require__(412);\n\nvar _divider2 = _interopRequireDefault(_divider);\n\nvar _drawer = __webpack_require__(415);\n\nvar _drawer2 = _interopRequireDefault(_drawer);\n\nvar _dropdown = __webpack_require__(418);\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nvar _footer = __webpack_require__(425);\n\nvar _footer2 = _interopRequireDefault(_footer);\n\nvar _form = __webpack_require__(427);\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _header = __webpack_require__(464);\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _icon = __webpack_require__(20);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _input = __webpack_require__(466);\n\nvar _input2 = _interopRequireDefault(_input);\n\nvar _inputNumber = __webpack_require__(467);\n\nvar _inputNumber2 = _interopRequireDefault(_inputNumber);\n\nvar _scroll = __webpack_require__(469);\n\nvar _scroll2 = _interopRequireDefault(_scroll);\n\nvar _split = __webpack_require__(480);\n\nvar _split2 = _interopRequireDefault(_split);\n\nvar _layout = __webpack_require__(485);\n\nvar _layout2 = _interopRequireDefault(_layout);\n\nvar _list = __webpack_require__(489);\n\nvar _list2 = _interopRequireDefault(_list);\n\nvar _loadingBar = __webpack_require__(496);\n\nvar _loadingBar2 = _interopRequireDefault(_loadingBar);\n\nvar _menu = __webpack_require__(500);\n\nvar _menu2 = _interopRequireDefault(_menu);\n\nvar _message = __webpack_require__(509);\n\nvar _message2 = _interopRequireDefault(_message);\n\nvar _modal = __webpack_require__(514);\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _notice = __webpack_require__(518);\n\nvar _notice2 = _interopRequireDefault(_notice);\n\nvar _page = __webpack_require__(519);\n\nvar _page2 = _interopRequireDefault(_page);\n\nvar _poptip = __webpack_require__(524);\n\nvar _poptip2 = _interopRequireDefault(_poptip);\n\nvar _progress = __webpack_require__(526);\n\nvar _progress2 = _interopRequireDefault(_progress);\n\nvar _radio = __webpack_require__(528);\n\nvar _radio2 = _interopRequireDefault(_radio);\n\nvar _rate = __webpack_require__(533);\n\nvar _rate2 = _interopRequireDefault(_rate);\n\nvar _sider = __webpack_require__(536);\n\nvar _sider2 = _interopRequireDefault(_sider);\n\nvar _slider = __webpack_require__(537);\n\nvar _slider2 = _interopRequireDefault(_slider);\n\nvar _spin = __webpack_require__(551);\n\nvar _spin2 = _interopRequireDefault(_spin);\n\nvar _steps = __webpack_require__(553);\n\nvar _steps2 = _interopRequireDefault(_steps);\n\nvar _switch = __webpack_require__(558);\n\nvar _switch2 = _interopRequireDefault(_switch);\n\nvar _table = __webpack_require__(561);\n\nvar _table2 = _interopRequireDefault(_table);\n\nvar _tabs = __webpack_require__(577);\n\nvar _tabs2 = _interopRequireDefault(_tabs);\n\nvar _tag = __webpack_require__(582);\n\nvar _tag2 = _interopRequireDefault(_tag);\n\nvar _time = __webpack_require__(585);\n\nvar _time2 = _interopRequireDefault(_time);\n\nvar _timeline = __webpack_require__(589);\n\nvar _timeline2 = _interopRequireDefault(_timeline);\n\nvar _timePicker = __webpack_require__(594);\n\nvar _timePicker2 = _interopRequireDefault(_timePicker);\n\nvar _tooltip = __webpack_require__(596);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nvar _transfer = __webpack_require__(597);\n\nvar _transfer2 = _interopRequireDefault(_transfer);\n\nvar _tree = __webpack_require__(605);\n\nvar _tree2 = _interopRequireDefault(_tree);\n\nvar _upload = __webpack_require__(611);\n\nvar _upload2 = _interopRequireDefault(_upload);\n\nvar _grid = __webpack_require__(617);\n\nvar _select = __webpack_require__(622);\n\nvar _index = __webpack_require__(108);\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n Affix: _affix2.default,\n Alert: _alert2.default,\n Anchor: _anchor2.default,\n AnchorLink: _anchorLink2.default,\n AutoComplete: _autoComplete2.default,\n Avatar: _avatar2.default,\n BackTop: _backTop2.default,\n Badge: _badge2.default,\n Breadcrumb: _breadcrumb2.default,\n BreadcrumbItem: _breadcrumb2.default.Item,\n Button: _button2.default,\n ButtonGroup: _button2.default.Group,\n Card: _card2.default,\n Carousel: _carousel2.default,\n CarouselItem: _carousel2.default.Item,\n Cascader: _cascader2.default,\n Cell: _cell2.default,\n CellGroup: _cell2.default.Group,\n Checkbox: _checkbox2.default,\n CheckboxGroup: _checkbox2.default.Group,\n Col: _grid.Col,\n Collapse: _collapse2.default,\n ColorPicker: _colorPicker2.default,\n Content: _content2.default,\n DatePicker: _datePicker2.default,\n Divider: _divider2.default,\n Drawer: _drawer2.default,\n Dropdown: _dropdown2.default,\n DropdownItem: _dropdown2.default.Item,\n DropdownMenu: _dropdown2.default.Menu,\n Footer: _footer2.default,\n Form: _form2.default,\n FormItem: _form2.default.Item,\n Header: _header2.default,\n Icon: _icon2.default,\n Input: _input2.default,\n InputNumber: _inputNumber2.default,\n Scroll: _scroll2.default,\n Sider: _sider2.default,\n Split: _split2.default,\n Submenu: _menu2.default.Sub,\n Layout: _layout2.default,\n List: _list2.default,\n ListItem: _list2.default.Item,\n ListItemMeta: _list2.default.Item.Meta,\n LoadingBar: _loadingBar2.default,\n Menu: _menu2.default,\n MenuGroup: _menu2.default.Group,\n MenuItem: _menu2.default.Item,\n Message: _message2.default,\n Modal: _modal2.default,\n Notice: _notice2.default,\n Option: _select.Option,\n OptionGroup: _select.OptionGroup,\n Page: _page2.default,\n Panel: _collapse2.default.Panel,\n Poptip: _poptip2.default,\n Progress: _progress2.default,\n Radio: _radio2.default,\n RadioGroup: _radio2.default.Group,\n Rate: _rate2.default,\n Row: _grid.Row,\n Select: _select.Select,\n Slider: _slider2.default,\n Spin: _spin2.default,\n Step: _steps2.default.Step,\n Steps: _steps2.default,\n Table: _table2.default,\n Tabs: _tabs2.default,\n TabPane: _tabs2.default.Pane,\n Tag: _tag2.default,\n Time: _time2.default,\n Timeline: _timeline2.default,\n TimelineItem: _timeline2.default.Item,\n TimePicker: _timePicker2.default,\n Tooltip: _tooltip2.default,\n Transfer: _transfer2.default,\n Tree: _tree2.default,\n Upload: _upload2.default\n};\n\nvar iview = (0, _extends3.default)({}, components, {\n iButton: _button2.default,\n iCircle: _circle2.default,\n iCol: _grid.Col,\n iContent: _content2.default,\n iForm: _form2.default,\n iFooter: _footer2.default,\n iHeader: _header2.default,\n iInput: _input2.default,\n iMenu: _menu2.default,\n iOption: _select.Option,\n iProgress: _progress2.default,\n iSelect: _select.Select,\n iSwitch: _switch2.default,\n iTable: _table2.default,\n iTime: _time2.default\n});\n\nvar install = function install(Vue) {\n var _this = this;\n\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (install.installed) return;\n _index2.default.use(opts.locale);\n _index2.default.i18n(opts.i18n);\n\n (0, _keys2.default)(iview).forEach(function (key) {\n (0, _newArrowCheck3.default)(this, _this);\n\n Vue.component(key, iview[key]);\n }.bind(this));\n\n Vue.prototype.$IVIEW = {\n size: opts.size || '',\n transfer: 'transfer' in opts ? opts.transfer : '',\n select: {\n arrow: opts.select ? opts.select.arrow ? opts.select.arrow : '' : '',\n customArrow: opts.select ? opts.select.customArrow ? opts.select.customArrow : '' : '',\n arrowSize: opts.select ? opts.select.arrowSize ? opts.select.arrowSize : '' : ''\n },\n cell: {\n arrow: opts.cell ? opts.cell.arrow ? opts.cell.arrow : '' : '',\n customArrow: opts.cell ? opts.cell.customArrow ? opts.cell.customArrow : '' : '',\n arrowSize: opts.cell ? opts.cell.arrowSize ? opts.cell.arrowSize : '' : ''\n },\n menu: {\n arrow: opts.menu ? opts.menu.arrow ? opts.menu.arrow : '' : '',\n customArrow: opts.menu ? opts.menu.customArrow ? opts.menu.customArrow : '' : '',\n arrowSize: opts.menu ? opts.menu.arrowSize ? opts.menu.arrowSize : '' : ''\n },\n tree: {\n arrow: opts.tree ? opts.tree.arrow ? opts.tree.arrow : '' : '',\n customArrow: opts.tree ? opts.tree.customArrow ? opts.tree.customArrow : '' : '',\n arrowSize: opts.tree ? opts.tree.arrowSize ? opts.tree.arrowSize : '' : ''\n },\n cascader: {\n arrow: opts.cascader ? opts.cascader.arrow ? opts.cascader.arrow : '' : '',\n customArrow: opts.cascader ? opts.cascader.customArrow ? opts.cascader.customArrow : '' : '',\n arrowSize: opts.cascader ? opts.cascader.arrowSize ? opts.cascader.arrowSize : '' : '',\n itemArrow: opts.cascader ? opts.cascader.itemArrow ? opts.cascader.itemArrow : '' : '',\n customItemArrow: opts.cascader ? opts.cascader.customItemArrow ? opts.cascader.customItemArrow : '' : '',\n itemArrowSize: opts.cascader ? opts.cascader.itemArrowSize ? opts.cascader.itemArrowSize : '' : ''\n },\n colorPicker: {\n arrow: opts.colorPicker ? opts.colorPicker.arrow ? opts.colorPicker.arrow : '' : '',\n customArrow: opts.colorPicker ? opts.colorPicker.customArrow ? opts.colorPicker.customArrow : '' : '',\n arrowSize: opts.colorPicker ? opts.colorPicker.arrowSize ? opts.colorPicker.arrowSize : '' : ''\n },\n datePicker: {\n icon: opts.datePicker ? opts.datePicker.icon ? opts.datePicker.icon : '' : '',\n customIcon: opts.datePicker ? opts.datePicker.customIcon ? opts.datePicker.customIcon : '' : '',\n iconSize: opts.datePicker ? opts.datePicker.iconSize ? opts.datePicker.iconSize : '' : ''\n },\n timePicker: {\n icon: opts.timePicker ? opts.timePicker.icon ? opts.timePicker.icon : '' : '',\n customIcon: opts.timePicker ? opts.timePicker.customIcon ? opts.timePicker.customIcon : '' : '',\n iconSize: opts.timePicker ? opts.timePicker.iconSize ? opts.timePicker.iconSize : '' : ''\n },\n tabs: {\n closeIcon: opts.tabs ? opts.tabs.closeIcon ? opts.tabs.closeIcon : '' : '',\n customCloseIcon: opts.tabs ? opts.tabs.customCloseIcon ? opts.tabs.customCloseIcon : '' : '',\n closeIconSize: opts.tabs ? opts.tabs.closeIconSize ? opts.tabs.closeIconSize : '' : ''\n },\n modal: {\n maskClosable: opts.modal ? 'maskClosable' in opts.modal ? opts.modal.maskClosable : '' : ''\n }\n };\n\n Vue.prototype.$Loading = _loadingBar2.default;\n Vue.prototype.$Message = _message2.default;\n Vue.prototype.$Modal = _modal2.default;\n Vue.prototype.$Notice = _notice2.default;\n Vue.prototype.$Spin = _spin2.default;\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n}\n\nvar API = (0, _extends3.default)({\n version: '3.5.1',\n locale: _index2.default.use,\n i18n: _index2.default.i18n,\n install: install,\n Circle: _circle2.default,\n Switch: _switch2.default\n}, components);\n\nAPI.lang = function (code) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var langObject = window['iview/locale'].default;\n if (code === langObject.i.locale) _index2.default.use(langObject);else console.log('The ' + String(code) + ' language pack is not loaded.');\n}.bind(undefined);\n\nmodule.exports.default = module.exports = API;\n\n/***/ }),\n/* 249 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(250);\nmodule.exports = __webpack_require__(6).Object.keys;\n\n\n/***/ }),\n/* 250 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(39);\nvar $keys = __webpack_require__(40);\n\n__webpack_require__(87)('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 251 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(29);\nvar toLength = __webpack_require__(60);\nvar toAbsoluteIndex = __webpack_require__(252);\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/***/ }),\n/* 252 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(61);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 253 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(254);\nmodule.exports = __webpack_require__(6).Object.assign;\n\n\n/***/ }),\n/* 254 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(10);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(255) });\n\n\n/***/ }),\n/* 255 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(40);\nvar gOPS = __webpack_require__(67);\nvar pIE = __webpack_require__(50);\nvar toObject = __webpack_require__(39);\nvar IObject = __webpack_require__(86);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(30)(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n/***/ }),\n/* 256 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _affix = __webpack_require__(257);\n\nvar _affix2 = _interopRequireDefault(_affix);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _affix2.default;\n\n/***/ }),\n/* 257 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_affix_vue__ = __webpack_require__(89);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_affix_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_affix_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_affix_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_affix_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5b204b0c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_affix_vue__ = __webpack_require__(261);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5b204b0c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_affix_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5b204b0c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_affix_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_affix_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5b204b0c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_affix_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5b204b0c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_affix_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 258 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(259), __esModule: true };\n\n/***/ }),\n/* 259 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(260);\nvar $Object = __webpack_require__(6).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 260 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(22), 'Object', { defineProperty: __webpack_require__(18).f });\n\n\n/***/ }),\n/* 261 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', [_c('div', { ref: \"point\", class: _vm.classes, style: _vm.styles }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.slot, expression: \"slot\" }], style: _vm.slotStyle })]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 262 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _alert = __webpack_require__(263);\n\nvar _alert2 = _interopRequireDefault(_alert);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _alert2.default;\n\n/***/ }),\n/* 263 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_alert_vue__ = __webpack_require__(90);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_alert_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_alert_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_alert_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_alert_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7e5295a8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_alert_vue__ = __webpack_require__(273);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7e5295a8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_alert_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7e5295a8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_alert_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_alert_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7e5295a8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_alert_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7e5295a8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_alert_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 264 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('i', { class: _vm.classes, style: _vm.styles, on: { \"click\": _vm.handleClick } });\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 265 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(51);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(272);\n\n\n/***/ }),\n/* 266 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(267);\nvar step = __webpack_require__(268);\nvar Iterators = __webpack_require__(32);\nvar toIObject = __webpack_require__(29);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(92)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 267 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 268 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 269 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(94);\nvar descriptor = __webpack_require__(43);\nvar setToStringTag = __webpack_require__(53);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(27)(IteratorPrototype, __webpack_require__(11)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 270 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(18);\nvar anObject = __webpack_require__(19);\nvar getKeys = __webpack_require__(40);\n\nmodule.exports = __webpack_require__(22) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n/***/ }),\n/* 271 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(61);\nvar defined = __webpack_require__(59);\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/***/ }),\n/* 272 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(19);\nvar get = __webpack_require__(68);\nmodule.exports = __webpack_require__(6).getIterator = function (it) {\n var iterFn = get(it);\n if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n\n\n/***/ }),\n/* 273 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('transition', { attrs: { \"name\": \"fade\" } }, [!_vm.closed ? _c('div', { class: _vm.wrapClasses }, [_vm.showIcon ? _c('span', { class: _vm.iconClasses }, [_vm._t(\"icon\", [_c('Icon', { attrs: { \"type\": _vm.iconType } })])], 2) : _vm._e(), _vm._v(\" \"), _c('span', { class: _vm.messageClasses }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('span', { class: _vm.descClasses }, [_vm._t(\"desc\")], 2), _vm._v(\" \"), _vm.closable ? _c('a', { class: _vm.closeClasses, on: { \"click\": _vm.close } }, [_vm._t(\"close\", [_c('Icon', { attrs: { \"type\": \"ios-close\" } })])], 2) : _vm._e()]) : _vm._e()]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 274 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _anchor = __webpack_require__(275);\n\nvar _anchor2 = _interopRequireDefault(_anchor);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _anchor2.default;\n\n/***/ }),\n/* 275 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_anchor_vue__ = __webpack_require__(97);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_anchor_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_anchor_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_anchor_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_anchor_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_13a5a54e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_anchor_vue__ = __webpack_require__(276);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_13a5a54e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_anchor_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_13a5a54e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_anchor_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_anchor_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_13a5a54e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_anchor_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_13a5a54e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_anchor_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 276 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c(_vm.wrapperComponent, { tag: \"component\", attrs: { \"offset-top\": _vm.offsetTop, \"offset-bottom\": _vm.offsetBottom }, on: { \"on-change\": _vm.handleAffixStateChange } }, [_c('div', { class: _vm.prefix + \"-wrapper\", style: _vm.wrapperStyle }, [_c('div', { class: \"\" + _vm.prefix }, [_c('div', { class: _vm.prefix + \"-ink\" }, [_c('span', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.showInk, expression: \"showInk\" }], class: _vm.prefix + \"-ink-ball\", style: { top: _vm.inkTop + \"px\" } })]), _vm._v(\" \"), _vm._t(\"default\")], 2)])]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 277 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _anchorLink = __webpack_require__(278);\n\nvar _anchorLink2 = _interopRequireDefault(_anchorLink);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _anchorLink2.default;\n\n/***/ }),\n/* 278 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_anchor_link_vue__ = __webpack_require__(98);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_anchor_link_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_anchor_link_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_anchor_link_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_anchor_link_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_b944dec8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_anchor_link_vue__ = __webpack_require__(279);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_b944dec8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_anchor_link_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_b944dec8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_anchor_link_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_anchor_link_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_b944dec8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_anchor_link_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_b944dec8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_anchor_link_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 279 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.anchorLinkClasses }, [_c('a', { class: _vm.linkTitleClasses, attrs: { \"href\": _vm.href, \"data-scroll-offset\": _vm.scrollOffset, \"data-href\": _vm.href, \"title\": _vm.title }, on: { \"click\": function click($event) {\n $event.preventDefault();return _vm.goAnchor($event);\n } } }, [_vm._v(_vm._s(_vm.title))]), _vm._v(\" \"), _vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 280 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _autoComplete = __webpack_require__(281);\n\nvar _autoComplete2 = _interopRequireDefault(_autoComplete);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _autoComplete2.default;\n\n/***/ }),\n/* 281 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_auto_complete_vue__ = __webpack_require__(99);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_auto_complete_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_auto_complete_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_auto_complete_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_auto_complete_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5dc81a00_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_auto_complete_vue__ = __webpack_require__(328);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5dc81a00_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_auto_complete_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5dc81a00_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_auto_complete_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_auto_complete_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5dc81a00_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_auto_complete_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5dc81a00_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_auto_complete_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 282 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(283), __esModule: true };\n\n/***/ }),\n/* 283 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(51);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(284);\n\n\n/***/ }),\n/* 284 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(69);\nvar ITERATOR = __webpack_require__(11)('iterator');\nvar Iterators = __webpack_require__(32);\nmodule.exports = __webpack_require__(6).isIterable = function (it) {\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n // eslint-disable-next-line no-prototype-builtins\n || Iterators.hasOwnProperty(classof(O));\n};\n\n\n/***/ }),\n/* 285 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(286);\nmodule.exports = __webpack_require__(6).Number.isFinite;\n\n\n/***/ }),\n/* 286 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.2 Number.isFinite(number)\nvar $export = __webpack_require__(10);\nvar _isFinite = __webpack_require__(9).isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n\n\n/***/ }),\n/* 287 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(6);\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n\n\n/***/ }),\n/* 288 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(45);\n__webpack_require__(289);\nmodule.exports = __webpack_require__(6).Array.from;\n\n\n/***/ }),\n/* 289 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(42);\nvar $export = __webpack_require__(10);\nvar toObject = __webpack_require__(39);\nvar call = __webpack_require__(102);\nvar isArrayIter = __webpack_require__(103);\nvar toLength = __webpack_require__(60);\nvar createProperty = __webpack_require__(290);\nvar getIterFn = __webpack_require__(68);\n\n$export($export.S + $export.F * !__webpack_require__(104)(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n/***/ }),\n/* 290 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(18);\nvar createDesc = __webpack_require__(43);\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n/***/ }),\n/* 291 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"ivu-select-dropdown\", class: _vm.className, style: _vm.styles }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 292 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\"_from\":\"v-click-outside-x@^4.0.19\",\"_id\":\"v-click-outside-x@4.0.19\",\"_inBundle\":false,\"_integrity\":\"sha512-QY2XhLJWDCypJKJz+FftvpYa1nzq7mzUP756H7ucu89c/8Rx1aog9gOhPEwDK16A+y3LGvPuAYScKr6/7xh18Q==\",\"_location\":\"/v-click-outside-x\",\"_phantomChildren\":{},\"_requested\":{\"type\":\"range\",\"registry\":true,\"raw\":\"v-click-outside-x@^4.0.19\",\"name\":\"v-click-outside-x\",\"escapedName\":\"v-click-outside-x\",\"rawSpec\":\"^4.0.19\",\"saveSpec\":null,\"fetchSpec\":\"^4.0.19\"},\"_requiredBy\":[\"/\"],\"_resolved\":\"https://registry.npmjs.org/v-click-outside-x/-/v-click-outside-x-4.0.19.tgz\",\"_shasum\":\"63fc2e68e99b3486fde4209435ac0ed3b67da3fc\",\"_spec\":\"v-click-outside-x@^4.0.19\",\"_where\":\"/Users/duanmo/talkingData/github/iview\",\"author\":{\"name\":\"Graham Fairweather\",\"email\":\"xotic750@gmail.com\"},\"browserslist\":[\"> 1%\",\"Explorer >= 9\"],\"bugs\":{\"url\":\"https://github.com/Xotic750/v-click-outside-x/issues\"},\"bundleDependencies\":false,\"copyright\":\"Copyright (c) 2018-present\",\"dependencies\":{},\"deprecated\":false,\"description\":\"Vue directive to react on clicks outside an element.\",\"devDependencies\":{\"@babel/cli\":\"^7.5.5\",\"@babel/core\":\"^7.5.5\",\"@babel/node\":\"^7.5.5\",\"@babel/plugin-transform-property-mutators\":\"^7.2.0\",\"@babel/plugin-transform-runtime\":\"^7.5.5\",\"@babel/preset-env\":\"^7.5.5\",\"@babel/runtime\":\"^7.5.5\",\"@types/jest\":\"^24.0.18\",\"@types/node\":\"^12.7.2\",\"@types/webpack\":\"^4.39.1\",\"@typescript-eslint/eslint-plugin\":\"^2.0.0\",\"@typescript-eslint/parser\":\"^2.0.0\",\"@xotic750/eslint-config-recommended\":\"^1.1.8\",\"babel-core\":\"^7.0.0-0\",\"babel-eslint\":\"^10.0.3\",\"babel-loader\":\"^8.0.6\",\"babel-plugin-lodash\":\"^3.3.4\",\"caniuse-lite\":\"^1.0.30000989\",\"coveralls\":\"^3.0.6\",\"cross-env\":\"^5.2.0\",\"eslint\":\"^6.2.2\",\"eslint-friendly-formatter\":\"^4.0.1\",\"eslint-import-resolver-webpack\":\"^0.11.1\",\"eslint-loader\":\"^3.0.0\",\"eslint-plugin-babel\":\"^5.3.0\",\"eslint-plugin-compat\":\"^3.3.0\",\"eslint-plugin-css-modules\":\"^2.11.0\",\"eslint-plugin-eslint-comments\":\"^3.1.2\",\"eslint-plugin-html\":\"^6.0.0\",\"eslint-plugin-import\":\"^2.18.2\",\"eslint-plugin-jest\":\"^22.15.2\",\"eslint-plugin-jsdoc\":\"^15.8.3\",\"eslint-plugin-json\":\"^1.4.0\",\"eslint-plugin-lodash\":\"^6.0.0\",\"eslint-plugin-no-use-extend-native\":\"^0.4.1\",\"eslint-plugin-prefer-object-spread\":\"^1.2.1\",\"eslint-plugin-prettier\":\"^3.1.0\",\"eslint-plugin-promise\":\"^4.2.1\",\"eslint-plugin-sort-class-members\":\"^1.6.0\",\"eslint-plugin-switch-case\":\"^1.1.2\",\"jest\":\"^24.9.0\",\"jest-cli\":\"^24.9.0\",\"jest-file\":\"^1.0.0\",\"lodash\":\"^4.17.15\",\"lodash-webpack-plugin\":\"^0.11.5\",\"mkdirp\":\"^0.5.1\",\"nodemon\":\"^1.19.1\",\"prettier\":\"^1.18.2\",\"rimraf\":\"^3.0.0\",\"source-map-loader\":\"^0.2.4\",\"strip-ansi\":\"^5.2.0\",\"terser-webpack-plugin\":\"^1.4.1\",\"typescript\":\"^3.5.3\",\"webpack\":\"^4.39.3\",\"webpack-bundle-analyzer\":\"^3.4.1\",\"webpack-cli\":\"^3.3.7\",\"webpack-global-object-x\":\"^1.0.0\",\"webpack-merge\":\"^4.2.2\"},\"engines\":{\"node\":\">=8.11.4\",\"npm\":\"6.10.1\"},\"files\":[\"dist\",\"src\"],\"homepage\":\"https://github.com/Xotic750/v-click-outside-x.git\",\"jsdelivr\":\"dist/v-click-outside-x.min.js\",\"keywords\":[\"vue\",\"click\",\"outside\",\"directive\"],\"license\":\"MIT\",\"main\":\"dist/v-click-outside-x.js\",\"module\":\"dist/v-click-outside-x.esm.js\",\"name\":\"v-click-outside-x\",\"repository\":{\"type\":\"git\",\"url\":\"git+https://github.com/Xotic750/v-click-outside-x.git\"},\"scripts\":{\"build\":\"npm run build:esm && cross-env NODE_ENV=production npm run build:base --\",\"build:base\":\"webpack --bail --progress --profile --colors\",\"build:dev\":\"npm run build:base --\",\"build:esm\":\"mkdirp dist && babel -s true --env-name esm src/v-click-outside-x.js -o dist/v-click-outside-x.esm.js\",\"clean\":\"rimraf dist && npm run clean:coverage\",\"clean:coverage\":\"rimraf __tests__/coverage\",\"lint\":\"eslint -f 'node_modules/eslint-friendly-formatter' --ext .js,.json .\",\"lint-fix\":\"npm run lint -- --fix\",\"report\":\"npm run build -- --env.report\",\"report:dev\":\"npm run build:dev -- --env.report\",\"security\":\"npm audit\",\"security-fix\":\"npm run security -- fix\",\"start\":\"nodemon --exec \\\"npm run build\\\" --watch src\",\"test\":\"npm run clean:coverage && jest\",\"test:ci\":\"npm run test -- --ci --maxWorkers=2\",\"test:ci-coveralls\":\"npm run test:ci -- --coverage --coverageReporters=text-lcov | coveralls\",\"test:coverage\":\"npm run test -- --coverage\"},\"typings\":\"types/index.d.ts\",\"version\":\"4.0.19\",\"warnings\":[{\"code\":\"ENOTSUP\",\"required\":{\"node\":\">=8.11.4\",\"npm\":\"6.10.1\"},\"pkgid\":\"v-click-outside-x@4.0.19\"}]}\n\n/***/ }),\n/* 293 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(294), __esModule: true };\n\n/***/ }),\n/* 294 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(295);\nmodule.exports = __webpack_require__(6).Object.getPrototypeOf;\n\n\n/***/ }),\n/* 295 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = __webpack_require__(39);\nvar $getPrototypeOf = __webpack_require__(96);\n\n__webpack_require__(87)('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 296 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _lang = __webpack_require__(297);\n\nvar _lang2 = _interopRequireDefault(_lang);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar lang = {\n i: {\n locale: 'zh-CN',\n select: {\n placeholder: '请选择',\n noMatch: '无匹配数据',\n loading: '加载中'\n },\n table: {\n noDataText: '暂无数据',\n noFilteredDataText: '暂无筛选结果',\n confirmFilter: '筛选',\n resetFilter: '重置',\n clearFilter: '全部'\n },\n datepicker: {\n selectDate: '选择日期',\n selectTime: '选择时间',\n startTime: '开始时间',\n endTime: '结束时间',\n clear: '清空',\n ok: '确定',\n datePanelLabel: '[yyyy年] [m月]',\n month: '月',\n month1: '1 月',\n month2: '2 月',\n month3: '3 月',\n month4: '4 月',\n month5: '5 月',\n month6: '6 月',\n month7: '7 月',\n month8: '8 月',\n month9: '9 月',\n month10: '10 月',\n month11: '11 月',\n month12: '12 月',\n year: '年',\n weekStartDay: '0',\n weeks: {\n sun: '日',\n mon: '一',\n tue: '二',\n wed: '三',\n thu: '四',\n fri: '五',\n sat: '六'\n },\n months: {\n m1: '1月',\n m2: '2月',\n m3: '3月',\n m4: '4月',\n m5: '5月',\n m6: '6月',\n m7: '7月',\n m8: '8月',\n m9: '9月',\n m10: '10月',\n m11: '11月',\n m12: '12月'\n }\n },\n transfer: {\n titles: {\n source: '源列表',\n target: '目的列表'\n },\n filterPlaceholder: '请输入搜索内容',\n notFoundText: '列表为空'\n },\n modal: {\n okText: '确定',\n cancelText: '取消'\n },\n poptip: {\n okText: '确定',\n cancelText: '取消'\n },\n page: {\n prev: '上一页',\n next: '下一页',\n total: '共',\n item: '条',\n items: '条',\n prev5: '向前 5 页',\n next5: '向后 5 页',\n page: '条/页',\n goto: '跳至',\n p: '页'\n },\n rate: {\n star: '星',\n stars: '星'\n },\n time: {\n before: '前',\n after: '后',\n just: '刚刚',\n seconds: '秒',\n minutes: '分钟',\n hours: '小时',\n days: '天'\n },\n tree: {\n emptyText: '暂无数据'\n }\n }\n};\n\n(0, _lang2.default)(lang);\n\nexports.default = lang;\n\n/***/ }),\n/* 297 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (lang) {\n if (!isServer) {\n if (typeof window.iview !== 'undefined') {\n if (!('langs' in iview)) {\n iview.langs = {};\n }\n iview.langs[lang.i.locale] = lang;\n }\n }\n};\n\nvar _vue = __webpack_require__(15);\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isServer = _vue2.default.prototype.$isServer;\n\n;\n\n/***/ }),\n/* 298 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tObject.keys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tObject.keys(source).forEach(function(key) {\n\t\tif (!options.isMergeableObject(source[key]) || !target[key]) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = deepmerge(target[key], source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (deepmerge_1);\n\n\n/***/ }),\n/* 299 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _typeof2 = __webpack_require__(36);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nexports.default = function () {\n function hasOwn(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n }\n\n function template(string) {\n var _this = this;\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (args.length === 1 && (0, _typeof3.default)(args[0]) === 'object') {\n args = args[0];\n }\n\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n\n return string.replace(RE_NARGS, function (match, prefix, i, index) {\n (0, _newArrowCheck3.default)(this, _this);\n\n var result = void 0;\n\n if (string[index - 1] === '{' && string[index + match.length] === '}') {\n return i;\n } else {\n result = hasOwn(args, i) ? args[i] : null;\n if (result === null || result === undefined) {\n return '';\n }\n\n return result;\n }\n }.bind(this));\n }\n\n return template;\n};\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar RE_NARGS = /(%|)\\{([0-9a-zA-Z_]+)\\}/g;\n\n/***/ }),\n/* 300 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(301), __esModule: true };\n\n/***/ }),\n/* 301 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(45);\n__webpack_require__(51);\nmodule.exports = __webpack_require__(72).f('iterator');\n\n\n/***/ }),\n/* 302 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(303), __esModule: true };\n\n/***/ }),\n/* 303 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(304);\n__webpack_require__(110);\n__webpack_require__(310);\n__webpack_require__(311);\nmodule.exports = __webpack_require__(6).Symbol;\n\n\n/***/ }),\n/* 304 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(9);\nvar has = __webpack_require__(26);\nvar DESCRIPTORS = __webpack_require__(22);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(93);\nvar META = __webpack_require__(305).KEY;\nvar $fails = __webpack_require__(30);\nvar shared = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(53);\nvar uid = __webpack_require__(48);\nvar wks = __webpack_require__(11);\nvar wksExt = __webpack_require__(72);\nvar wksDefine = __webpack_require__(73);\nvar enumKeys = __webpack_require__(306);\nvar isArray = __webpack_require__(307);\nvar anObject = __webpack_require__(19);\nvar isObject = __webpack_require__(28);\nvar toIObject = __webpack_require__(29);\nvar toPrimitive = __webpack_require__(66);\nvar createDesc = __webpack_require__(43);\nvar _create = __webpack_require__(94);\nvar gOPNExt = __webpack_require__(308);\nvar $GOPD = __webpack_require__(309);\nvar $DP = __webpack_require__(18);\nvar $keys = __webpack_require__(40);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n __webpack_require__(109).f = gOPNExt.f = $getOwnPropertyNames;\n __webpack_require__(50).f = $propertyIsEnumerable;\n __webpack_require__(67).f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__webpack_require__(52)) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(27)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 305 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(48)('meta');\nvar isObject = __webpack_require__(28);\nvar has = __webpack_require__(26);\nvar setDesc = __webpack_require__(18).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !__webpack_require__(30)(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 306 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(40);\nvar gOPS = __webpack_require__(67);\nvar pIE = __webpack_require__(50);\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n/***/ }),\n/* 307 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(41);\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 308 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(29);\nvar gOPN = __webpack_require__(109).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 309 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(50);\nvar createDesc = __webpack_require__(43);\nvar toIObject = __webpack_require__(29);\nvar toPrimitive = __webpack_require__(66);\nvar has = __webpack_require__(26);\nvar IE8_DOM_DEFINE = __webpack_require__(88);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(22) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 310 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(73)('asyncIterator');\n\n\n/***/ }),\n/* 311 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(73)('observable');\n\n\n/***/ }),\n/* 312 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_select_head_vue__ = __webpack_require__(111);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_select_head_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_select_head_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_select_head_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_select_head_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_70f1be3e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_select_head_vue__ = __webpack_require__(313);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_70f1be3e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_select_head_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_70f1be3e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_select_head_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_select_head_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_70f1be3e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_select_head_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_70f1be3e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_select_head_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 313 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.headCls, on: { \"click\": _vm.onHeaderClick } }, [_vm.$slots.prefix || _vm.prefix ? _c('span', { class: [_vm.prefixCls + '-prefix'] }, [_vm._t(\"prefix\", [_vm.prefix ? _c('Icon', { attrs: { \"type\": _vm.prefix } }) : _vm._e()])], 2) : _vm._e(), _vm._v(\" \"), _vm._l(_vm.selectedMultiple, function (item, index) {\n return _vm.maxTagCount === undefined || index < _vm.maxTagCount ? _c('div', { staticClass: \"ivu-tag ivu-tag-checked\" }, [_c('span', { staticClass: \"ivu-tag-text\" }, [_vm._v(_vm._s(item.label))]), _vm._v(\" \"), _c('Icon', { attrs: { \"type\": \"ios-close\" }, nativeOn: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.removeTag(item);\n } } })], 1) : _vm._e();\n }), _vm.maxTagCount !== undefined && _vm.selectedMultiple.length > _vm.maxTagCount ? _c('div', { staticClass: \"ivu-tag ivu-tag-checked\" }, [_c('span', { staticClass: \"ivu-tag-text ivu-select-max-tag\" }, [_vm.maxTagPlaceholder ? [_vm._v(_vm._s(_vm.maxTagPlaceholder(_vm.selectedMultiple.length - _vm.maxTagCount)))] : [_vm._v(\"+ \" + _vm._s(_vm.selectedMultiple.length - _vm.maxTagCount) + \"...\")]], 2)]) : _vm._e(), _vm._v(\" \"), _c('span', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.singleDisplayValue, expression: \"singleDisplayValue\" }], class: _vm.singleDisplayClasses }, [_vm._v(_vm._s(_vm.singleDisplayValue))]), _vm._v(\" \"), _vm.filterable ? _c('input', { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.query, expression: \"query\" }], ref: \"input\", class: [_vm.prefixCls + '-input'], style: _vm.inputStyle, attrs: { \"id\": _vm.inputElementId, \"type\": \"text\", \"disabled\": _vm.disabled, \"placeholder\": _vm.showPlaceholder ? _vm.localePlaceholder : '', \"autocomplete\": \"off\", \"spellcheck\": \"false\" }, domProps: { \"value\": _vm.query }, on: { \"keydown\": [_vm.resetInputState, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"delete\", [8, 46], $event.key, [\"Backspace\", \"Delete\", \"Del\"])) {\n return null;\n }return _vm.handleInputDelete($event);\n }], \"focus\": _vm.onInputFocus, \"blur\": _vm.onInputBlur, \"input\": function input($event) {\n if ($event.target.composing) {\n return;\n }_vm.query = $event.target.value;\n } } }) : _vm._e(), _vm._v(\" \"), _vm.resetSelect ? _c('Icon', { class: [_vm.prefixCls + '-arrow'], attrs: { \"type\": \"ios-close-circle\" }, nativeOn: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.onClear($event);\n } } }) : _vm._e(), _vm._v(\" \"), !_vm.resetSelect && !_vm.remote ? _c('Icon', { class: [_vm.prefixCls + '-arrow'], attrs: { \"type\": _vm.arrowType, \"custom\": _vm.customArrowType, \"size\": _vm.arrowSize } }) : _vm._e()], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 314 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_functional_options_vue__ = __webpack_require__(112);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_functional_options_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_functional_options_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_functional_options_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_functional_options_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\nvar __vue_render__, __vue_static_render_fns__\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_functional_options_vue___default.a,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 315 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { directives: [{ name: \"click-outside\", rawName: \"v-click-outside.capture\", value: _vm.onClickOutside, expression: \"onClickOutside\", modifiers: { \"capture\": true } }, { name: \"click-outside\", rawName: \"v-click-outside:mousedown.capture\", value: _vm.onClickOutside, expression: \"onClickOutside\", arg: \"mousedown\", modifiers: { \"capture\": true } }, { name: \"click-outside\", rawName: \"v-click-outside:touchstart.capture\", value: _vm.onClickOutside, expression: \"onClickOutside\", arg: \"touchstart\", modifiers: { \"capture\": true } }], class: _vm.classes }, [_c('div', { ref: \"reference\", class: _vm.selectionCls, attrs: { \"tabindex\": _vm.selectTabindex }, on: { \"blur\": _vm.toggleHeaderFocus, \"focus\": _vm.toggleHeaderFocus, \"click\": _vm.toggleMenu, \"keydown\": [function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }return _vm.handleKeydown($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) {\n return null;\n }return _vm.handleKeydown($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"up\", 38, $event.key, [\"Up\", \"ArrowUp\"])) {\n return null;\n }$event.preventDefault();return _vm.handleKeydown($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"down\", 40, $event.key, [\"Down\", \"ArrowDown\"])) {\n return null;\n }$event.preventDefault();return _vm.handleKeydown($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")) {\n return null;\n }return _vm.handleKeydown($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"delete\", [8, 46], $event.key, [\"Backspace\", \"Delete\", \"Del\"])) {\n return null;\n }return _vm.handleKeydown($event);\n }], \"mouseenter\": function mouseenter($event) {\n _vm.hasMouseHoverHead = true;\n }, \"mouseleave\": function mouseleave($event) {\n _vm.hasMouseHoverHead = false;\n } } }, [_vm._t(\"input\", [_c('input', { attrs: { \"type\": \"hidden\", \"name\": _vm.name }, domProps: { \"value\": _vm.publicValue } }), _vm._v(\" \"), _c('select-head', { attrs: { \"filterable\": _vm.filterable, \"multiple\": _vm.multiple, \"values\": _vm.values, \"clearable\": _vm.canBeCleared, \"prefix\": _vm.prefix, \"disabled\": _vm.disabled, \"remote\": _vm.remote, \"input-element-id\": _vm.elementId, \"initial-label\": _vm.initialLabel, \"placeholder\": _vm.placeholder, \"query-prop\": _vm.query, \"max-tag-count\": _vm.maxTagCount, \"max-tag-placeholder\": _vm.maxTagPlaceholder }, on: { \"on-query-change\": _vm.onQueryChange, \"on-input-focus\": function onInputFocus($event) {\n _vm.isFocused = true;\n }, \"on-input-blur\": function onInputBlur($event) {\n _vm.isFocused = false;\n }, \"on-clear\": _vm.clearSingleSelect } }, [_vm._t(\"prefix\", null, { \"slot\": \"prefix\" })], 2)])], 2), _vm._v(\" \"), _c('transition', { attrs: { \"name\": \"transition-drop\" } }, [_c('Drop', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.dropVisible, expression: \"dropVisible\" }, { name: \"transfer-dom\", rawName: \"v-transfer-dom\" }], ref: \"dropdown\", class: _vm.dropdownCls, attrs: { \"placement\": _vm.placement, \"data-transfer\": _vm.transfer, \"transfer\": _vm.transfer } }, [_c('ul', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.showNotFoundLabel, expression: \"showNotFoundLabel\" }], class: [_vm.prefixCls + '-not-found'] }, [_c('li', [_vm._v(_vm._s(_vm.localeNotFoundText))])]), _vm._v(\" \"), _c('ul', { class: _vm.prefixCls + '-dropdown-list' }, [!_vm.remote || _vm.remote && !_vm.loading ? _c('functional-options', { attrs: { \"options\": _vm.selectOptions, \"slot-update-hook\": _vm.updateSlotOptions, \"slot-options\": _vm.slotOptions } }) : _vm._e()], 1), _vm._v(\" \"), _c('ul', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.loading, expression: \"loading\" }], class: [_vm.prefixCls + '-loading'] }, [_vm._v(_vm._s(_vm.localeLoadingText))])])], 1)], 1);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 316 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('li', { class: _vm.classes, on: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.select($event);\n }, \"mousedown\": function mousedown($event) {\n $event.preventDefault();\n } } }, [_vm._t(\"default\", [_vm._v(_vm._s(_vm.showLabel))])], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 317 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(318), __esModule: true };\n\n/***/ }),\n/* 318 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(319);\nmodule.exports = __webpack_require__(6).Number.isNaN;\n\n\n/***/ }),\n/* 319 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.4 Number.isNaN(number)\nvar $export = __webpack_require__(10);\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n\n\n/***/ }),\n/* 320 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _maxSafeInteger = __webpack_require__(321);\n\nvar _maxSafeInteger2 = _interopRequireDefault(_maxSafeInteger);\n\nvar _minSafeInteger = __webpack_require__(324);\n\nvar _minSafeInteger2 = _interopRequireDefault(_minSafeInteger);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nexports.default = calcTextareaHeight;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar HIDDEN_TEXTAREA_STYLE = '\\n min-height:0 !important;\\n max-height:none !important;\\n height:0 !important;\\n visibility:hidden !important;\\n overflow:hidden !important;\\n position:absolute !important;\\n z-index:-1000 !important;\\n top:0 !important;\\n right:0 !important\\n';\n\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'padding-top', 'padding-bottom', 'font-family', 'font-weight', 'font-size', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-left', 'padding-right', 'border-width', 'box-sizing'];\n\nvar computedStyleCache = {};\nvar hiddenTextarea = void 0;\n\nfunction calculateNodeStyling(node) {\n var _this = this;\n\n var useCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var nodeRef = node.getAttribute('id') || node.getAttribute('data-reactid') || node.getAttribute('name');\n\n if (useCache && computedStyleCache[nodeRef]) {\n return computedStyleCache[nodeRef];\n }\n\n var style = window.getComputedStyle(node);\n\n var boxSizing = style.getPropertyValue('box-sizing') || style.getPropertyValue('-moz-box-sizing') || style.getPropertyValue('-webkit-box-sizing');\n\n var paddingSize = parseFloat(style.getPropertyValue('padding-bottom')) + parseFloat(style.getPropertyValue('padding-top'));\n\n var borderSize = parseFloat(style.getPropertyValue('border-bottom-width')) + parseFloat(style.getPropertyValue('border-top-width'));\n\n var sizingStyle = SIZING_STYLE.map(function (name) {\n (0, _newArrowCheck3.default)(this, _this);\n return String(name) + ':' + String(style.getPropertyValue(name));\n }.bind(this)).join(';');\n\n var nodeInfo = {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize,\n boxSizing: boxSizing\n };\n\n if (useCache && nodeRef) {\n computedStyleCache[nodeRef] = nodeInfo;\n }\n\n return nodeInfo;\n}\n\nfunction calcTextareaHeight(uiTextNode) {\n var minRows = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var maxRows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var useCache = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n document.body.appendChild(hiddenTextarea);\n }\n\n if (uiTextNode.getAttribute('wrap')) {\n hiddenTextarea.setAttribute('wrap', uiTextNode.getAttribute('wrap'));\n } else {\n hiddenTextarea.removeAttribute('wrap');\n }\n\n var _calculateNodeStyling = calculateNodeStyling(uiTextNode, useCache),\n paddingSize = _calculateNodeStyling.paddingSize,\n borderSize = _calculateNodeStyling.borderSize,\n boxSizing = _calculateNodeStyling.boxSizing,\n sizingStyle = _calculateNodeStyling.sizingStyle;\n\n hiddenTextarea.setAttribute('style', String(sizingStyle) + ';' + HIDDEN_TEXTAREA_STYLE);\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || '';\n\n var minHeight = _minSafeInteger2.default;\n var maxHeight = _maxSafeInteger2.default;\n var height = hiddenTextarea.scrollHeight;\n var overflowY = void 0;\n\n if (boxSizing === 'border-box') {\n height = height + borderSize;\n } else if (boxSizing === 'content-box') {\n height = height - paddingSize;\n }\n\n if (minRows !== null || maxRows !== null) {\n hiddenTextarea.value = ' ';\n var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n overflowY = height > maxHeight ? '' : 'hidden';\n height = Math.min(maxHeight, height);\n }\n }\n\n if (!maxRows) {\n overflowY = 'hidden';\n }\n\n return {\n height: String(height) + 'px',\n minHeight: String(minHeight) + 'px',\n maxHeight: String(maxHeight) + 'px',\n overflowY: overflowY\n };\n}\n\n/***/ }),\n/* 321 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(322), __esModule: true };\n\n/***/ }),\n/* 322 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(323);\nmodule.exports = 0x1fffffffffffff;\n\n\n/***/ }),\n/* 323 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = __webpack_require__(10);\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n\n\n/***/ }),\n/* 324 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(325), __esModule: true };\n\n/***/ }),\n/* 325 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(326);\nmodule.exports = -0x1fffffffffffff;\n\n\n/***/ }),\n/* 326 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = __webpack_require__(10);\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n\n\n/***/ }),\n/* 327 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.wrapClasses }, [_vm.type !== 'textarea' ? [_vm.prepend ? _c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.slotReady, expression: \"slotReady\" }], class: [_vm.prefixCls + '-group-prepend'] }, [_vm._t(\"prepend\")], 2) : _vm._e(), _vm._v(\" \"), _vm.clearable && _vm.currentValue && !_vm.disabled ? _c('i', { staticClass: \"ivu-icon\", class: ['ivu-icon-ios-close-circle', _vm.prefixCls + '-icon', _vm.prefixCls + '-icon-clear', _vm.prefixCls + '-icon-normal'], on: { \"click\": _vm.handleClear } }) : _vm.icon ? _c('i', { staticClass: \"ivu-icon\", class: ['ivu-icon-' + _vm.icon, _vm.prefixCls + '-icon', _vm.prefixCls + '-icon-normal'], on: { \"click\": _vm.handleIconClick } }) : _vm.search && _vm.enterButton === false ? _c('i', { staticClass: \"ivu-icon ivu-icon-ios-search\", class: [_vm.prefixCls + '-icon', _vm.prefixCls + '-icon-normal', _vm.prefixCls + '-search-icon'], on: { \"click\": _vm.handleSearch } }) : _vm.showSuffix ? _c('span', { staticClass: \"ivu-input-suffix\" }, [_vm._t(\"suffix\", [_vm.suffix ? _c('i', { staticClass: \"ivu-icon\", class: ['ivu-icon-' + _vm.suffix] }) : _vm._e()])], 2) : _vm._e(), _vm._v(\" \"), _c('transition', { attrs: { \"name\": \"fade\" } }, [!_vm.icon ? _c('i', { staticClass: \"ivu-icon ivu-icon-ios-loading ivu-load-loop\", class: [_vm.prefixCls + '-icon', _vm.prefixCls + '-icon-validate'] }) : _vm._e()]), _vm._v(\" \"), _c('input', { ref: \"input\", class: _vm.inputClasses, attrs: { \"id\": _vm.elementId, \"autocomplete\": _vm.autocomplete, \"spellcheck\": _vm.spellcheck, \"type\": _vm.type, \"placeholder\": _vm.placeholder, \"disabled\": _vm.disabled, \"maxlength\": _vm.maxlength, \"readonly\": _vm.readonly, \"name\": _vm.name, \"number\": _vm.number, \"autofocus\": _vm.autofocus }, domProps: { \"value\": _vm.currentValue }, on: { \"keyup\": [function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) {\n return null;\n }return _vm.handleEnter($event);\n }, _vm.handleKeyup], \"keypress\": _vm.handleKeypress, \"keydown\": _vm.handleKeydown, \"focus\": _vm.handleFocus, \"blur\": _vm.handleBlur, \"compositionstart\": _vm.handleComposition, \"compositionupdate\": _vm.handleComposition, \"compositionend\": _vm.handleComposition, \"input\": _vm.handleInput, \"change\": _vm.handleChange } }), _vm._v(\" \"), _vm.append ? _c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.slotReady, expression: \"slotReady\" }], class: [_vm.prefixCls + '-group-append'] }, [_vm._t(\"append\")], 2) : _vm.search && _vm.enterButton ? _c('div', { class: [_vm.prefixCls + '-group-append', _vm.prefixCls + '-search'], on: { \"click\": _vm.handleSearch } }, [_vm.enterButton === true ? _c('i', { staticClass: \"ivu-icon ivu-icon-ios-search\" }) : [_vm._v(_vm._s(_vm.enterButton))]], 2) : _vm.showPrefix ? _c('span', { staticClass: \"ivu-input-prefix\" }, [_vm._t(\"prefix\", [_vm.prefix ? _c('i', { staticClass: \"ivu-icon\", class: ['ivu-icon-' + _vm.prefix] }) : _vm._e()])], 2) : _vm._e()] : _c('textarea', { ref: \"textarea\", class: _vm.textareaClasses, style: _vm.textareaStyles, attrs: { \"id\": _vm.elementId, \"wrap\": _vm.wrap, \"autocomplete\": _vm.autocomplete, \"spellcheck\": _vm.spellcheck, \"placeholder\": _vm.placeholder, \"disabled\": _vm.disabled, \"rows\": _vm.rows, \"maxlength\": _vm.maxlength, \"readonly\": _vm.readonly, \"name\": _vm.name, \"autofocus\": _vm.autofocus }, domProps: { \"value\": _vm.currentValue }, on: { \"keyup\": [function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) {\n return null;\n }return _vm.handleEnter($event);\n }, _vm.handleKeyup], \"keypress\": _vm.handleKeypress, \"keydown\": _vm.handleKeydown, \"focus\": _vm.handleFocus, \"blur\": _vm.handleBlur, \"compositionstart\": _vm.handleComposition, \"compositionupdate\": _vm.handleComposition, \"compositionend\": _vm.handleComposition, \"input\": _vm.handleInput } })], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 328 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('i-select', { ref: \"select\", staticClass: \"ivu-auto-complete\", attrs: { \"label\": _vm.label, \"disabled\": _vm.disabled, \"clearable\": _vm.clearable, \"placeholder\": _vm.placeholder, \"size\": _vm.size, \"placement\": _vm.placement, \"value\": _vm.currentValue, \"filterable\": \"\", \"remote\": \"\", \"auto-complete\": \"\", \"remote-method\": _vm.remoteMethod, \"transfer\": _vm.transfer }, on: { \"on-change\": _vm.handleChange, \"on-clickoutside\": _vm.handleClickOutside } }, [_vm._t(\"input\", [_c('i-input', { ref: \"input\", attrs: { \"slot\": \"input\", \"element-id\": _vm.elementId, \"name\": _vm.name, \"placeholder\": _vm.placeholder, \"disabled\": _vm.disabled, \"size\": _vm.size, \"icon\": _vm.inputIcon }, on: { \"on-click\": _vm.handleClear, \"on-focus\": _vm.handleFocus, \"on-blur\": _vm.handleBlur }, slot: \"input\", model: { value: _vm.currentValue, callback: function callback($$v) {\n _vm.currentValue = $$v;\n }, expression: \"currentValue\" } })]), _vm._v(\" \"), _vm._t(\"default\", _vm._l(_vm.filteredData, function (item) {\n return _c('i-option', { key: item, attrs: { \"value\": item } }, [_vm._v(_vm._s(item))]);\n }))], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 329 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _avatar = __webpack_require__(115);\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _avatar2.default;\n\n/***/ }),\n/* 330 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('span', { class: _vm.classes }, [_vm.src ? _c('img', { attrs: { \"src\": _vm.src }, on: { \"error\": _vm.handleError } }) : _vm.icon || _vm.customIcon ? _c('Icon', { attrs: { \"type\": _vm.icon, \"custom\": _vm.customIcon } }) : _c('span', { ref: \"children\", class: [_vm.prefixCls + '-string'], style: _vm.childrenStyle }, [_vm._t(\"default\")], 2)], 1);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 331 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _backTop = __webpack_require__(332);\n\nvar _backTop2 = _interopRequireDefault(_backTop);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _backTop2.default;\n\n/***/ }),\n/* 332 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_back_top_vue__ = __webpack_require__(117);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_back_top_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_back_top_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_back_top_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_back_top_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_30ee77ed_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_back_top_vue__ = __webpack_require__(333);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_30ee77ed_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_back_top_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_30ee77ed_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_back_top_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_back_top_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_30ee77ed_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_back_top_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_30ee77ed_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_back_top_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 333 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes, style: _vm.styles, on: { \"click\": _vm.back } }, [_vm._t(\"default\", [_c('div', { class: _vm.innerClasses }, [_c('i', { staticClass: \"ivu-icon ivu-icon-ios-arrow-up\" })])])], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 334 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _badge = __webpack_require__(335);\n\nvar _badge2 = _interopRequireDefault(_badge);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _badge2.default;\n\n/***/ }),\n/* 335 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_badge_vue__ = __webpack_require__(118);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_badge_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_badge_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_badge_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_badge_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1cffd7e3_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_badge_vue__ = __webpack_require__(336);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1cffd7e3_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_badge_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1cffd7e3_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_badge_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_badge_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1cffd7e3_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_badge_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1cffd7e3_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_badge_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 336 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _vm.dot ? _c('span', { ref: \"badge\", class: _vm.classes }, [_vm._t(\"default\"), _vm._v(\" \"), _c('sup', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.badge, expression: \"badge\" }], class: _vm.dotClasses, style: _vm.styles })], 2) : _vm.status ? _c('span', { ref: \"badge\", staticClass: \"ivu-badge-status\", class: _vm.classes }, [_c('span', { class: _vm.statusClasses }), _vm._v(\" \"), _c('span', { staticClass: \"ivu-badge-status-text\" }, [_vm._v(_vm._s(_vm.text))])]) : _c('span', { ref: \"badge\", class: _vm.classes }, [_vm._t(\"default\"), _vm._v(\" \"), _vm.hasCount ? _c('sup', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.badge, expression: \"badge\" }], class: _vm.countClasses, style: _vm.styles }, [_vm._v(_vm._s(_vm.finalCount))]) : _vm._e()], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 337 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _breadcrumb = __webpack_require__(338);\n\nvar _breadcrumb2 = _interopRequireDefault(_breadcrumb);\n\nvar _breadcrumbItem = __webpack_require__(340);\n\nvar _breadcrumbItem2 = _interopRequireDefault(_breadcrumbItem);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_breadcrumb2.default.Item = _breadcrumbItem2.default;\nexports.default = _breadcrumb2.default;\n\n/***/ }),\n/* 338 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_breadcrumb_vue__ = __webpack_require__(119);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_breadcrumb_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_breadcrumb_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_breadcrumb_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_breadcrumb_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_53b534b8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_breadcrumb_vue__ = __webpack_require__(339);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_53b534b8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_breadcrumb_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_53b534b8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_breadcrumb_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_breadcrumb_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_53b534b8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_breadcrumb_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_53b534b8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_breadcrumb_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 339 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 340 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_breadcrumb_item_vue__ = __webpack_require__(120);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_breadcrumb_item_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_breadcrumb_item_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_breadcrumb_item_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_breadcrumb_item_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_70d61118_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_breadcrumb_item_vue__ = __webpack_require__(341);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_70d61118_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_breadcrumb_item_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_70d61118_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_breadcrumb_item_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_breadcrumb_item_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_70d61118_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_breadcrumb_item_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_70d61118_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_breadcrumb_item_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 341 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('span', [_vm.to ? _c('a', { class: _vm.linkClasses, attrs: { \"href\": _vm.linkUrl, \"target\": _vm.target }, on: { \"click\": [function ($event) {\n if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) {\n return null;\n }return _vm.handleCheckClick($event, false);\n }, function ($event) {\n if (!$event.ctrlKey) {\n return null;\n }return _vm.handleCheckClick($event, true);\n }, function ($event) {\n if (!$event.metaKey) {\n return null;\n }return _vm.handleCheckClick($event, true);\n }] } }, [_vm._t(\"default\")], 2) : _c('span', { class: _vm.linkClasses }, [_vm._t(\"default\")], 2), _vm._v(\" \"), !_vm.showSeparator ? _c('span', { class: _vm.separatorClasses, domProps: { \"innerHTML\": _vm._s(_vm.separator) } }) : _c('span', { class: _vm.separatorClasses }, [_vm._t(\"separator\")], 2)]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 342 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _button = __webpack_require__(24);\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _buttonGroup = __webpack_require__(344);\n\nvar _buttonGroup2 = _interopRequireDefault(_buttonGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_button2.default.Group = _buttonGroup2.default;\nexports.default = _button2.default;\n\n/***/ }),\n/* 343 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c(_vm.tagName, _vm._b({ tag: \"component\", class: _vm.classes, attrs: { \"disabled\": _vm.disabled }, on: { \"click\": _vm.handleClickLink } }, 'component', _vm.tagProps, false), [_vm.loading ? _c('Icon', { staticClass: \"ivu-load-loop\", attrs: { \"type\": \"ios-loading\" } }) : _vm._e(), _vm._v(\" \"), (_vm.icon || _vm.customIcon) && !_vm.loading ? _c('Icon', { attrs: { \"type\": _vm.icon, \"custom\": _vm.customIcon } }) : _vm._e(), _vm._v(\" \"), _vm.showSlot ? _c('span', { ref: \"slot\" }, [_vm._t(\"default\")], 2) : _vm._e()], 1);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 344 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_button_group_vue__ = __webpack_require__(122);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_button_group_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_button_group_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_button_group_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_button_group_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_592f1b56_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_button_group_vue__ = __webpack_require__(345);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_592f1b56_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_button_group_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_592f1b56_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_button_group_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_button_group_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_592f1b56_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_button_group_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_592f1b56_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_button_group_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 345 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 346 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _card = __webpack_require__(347);\n\nvar _card2 = _interopRequireDefault(_card);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _card2.default;\n\n/***/ }),\n/* 347 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_card_vue__ = __webpack_require__(123);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_card_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_card_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_card_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_card_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7f464e06_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_card_vue__ = __webpack_require__(348);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7f464e06_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_card_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7f464e06_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_card_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_card_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7f464e06_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_card_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7f464e06_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_card_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 348 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes }, [_vm.showHead ? _c('div', { class: _vm.headClasses }, [_vm._t(\"title\", [_vm.title ? _c('p', [_vm.icon ? _c('Icon', { attrs: { \"type\": _vm.icon } }) : _vm._e(), _vm._v(\" \"), _c('span', [_vm._v(_vm._s(_vm.title))])], 1) : _vm._e()])], 2) : _vm._e(), _vm._v(\" \"), _vm.showExtra ? _c('div', { class: _vm.extraClasses }, [_vm._t(\"extra\")], 2) : _vm._e(), _vm._v(\" \"), _c('div', { class: _vm.bodyClasses, style: _vm.bodyStyles }, [_vm._t(\"default\")], 2)]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 349 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _carousel = __webpack_require__(350);\n\nvar _carousel2 = _interopRequireDefault(_carousel);\n\nvar _carouselItem = __webpack_require__(352);\n\nvar _carouselItem2 = _interopRequireDefault(_carouselItem);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_carousel2.default.Item = _carouselItem2.default;\nexports.default = _carousel2.default;\n\n/***/ }),\n/* 350 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_carousel_vue__ = __webpack_require__(124);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_carousel_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_carousel_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_carousel_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_carousel_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_d2202538_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_carousel_vue__ = __webpack_require__(351);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_d2202538_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_carousel_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_d2202538_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_carousel_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_carousel_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_d2202538_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_carousel_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_d2202538_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_carousel_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 351 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes }, [_c('button', { staticClass: \"left\", class: _vm.arrowClasses, attrs: { \"type\": \"button\" }, on: { \"click\": function click($event) {\n return _vm.arrowEvent(-1);\n } } }, [_c('Icon', { attrs: { \"type\": \"ios-arrow-back\" } })], 1), _vm._v(\" \"), _c('div', { class: [_vm.prefixCls + '-list'] }, [_c('div', { ref: \"originTrack\", class: [_vm.prefixCls + '-track', _vm.showCopyTrack ? '' : 'higher'], style: _vm.trackStyles }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _vm.loop ? _c('div', { ref: \"copyTrack\", class: [_vm.prefixCls + '-track', _vm.showCopyTrack ? 'higher' : ''], style: _vm.copyTrackStyles }) : _vm._e()]), _vm._v(\" \"), _c('button', { staticClass: \"right\", class: _vm.arrowClasses, attrs: { \"type\": \"button\" }, on: { \"click\": function click($event) {\n return _vm.arrowEvent(1);\n } } }, [_c('Icon', { attrs: { \"type\": \"ios-arrow-forward\" } })], 1), _vm._v(\" \"), _c('ul', { class: _vm.dotsClasses }, [_vm._l(_vm.slides.length, function (n) {\n return [_c('li', { class: [n - 1 === _vm.currentIndex ? _vm.prefixCls + '-active' : ''], on: { \"click\": function click($event) {\n return _vm.dotsEvent('click', n - 1);\n }, \"mouseover\": function mouseover($event) {\n return _vm.dotsEvent('hover', n - 1);\n } } }, [_c('button', { class: [_vm.radiusDot ? 'radius' : ''], attrs: { \"type\": \"button\" } })])];\n })], 2)]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 352 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_carousel_item_vue__ = __webpack_require__(125);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_carousel_item_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_carousel_item_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_carousel_item_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_carousel_item_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5d35b7f7_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_carousel_item_vue__ = __webpack_require__(353);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5d35b7f7_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_carousel_item_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5d35b7f7_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_carousel_item_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_carousel_item_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5d35b7f7_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_carousel_item_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5d35b7f7_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_carousel_item_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 353 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.prefixCls, style: _vm.styles }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 354 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _cascader = __webpack_require__(355);\n\nvar _cascader2 = _interopRequireDefault(_cascader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _cascader2.default;\n\n/***/ }),\n/* 355 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cascader_vue__ = __webpack_require__(126);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cascader_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cascader_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cascader_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cascader_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_33db03d3_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cascader_vue__ = __webpack_require__(360);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_33db03d3_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cascader_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_33db03d3_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cascader_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cascader_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_33db03d3_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cascader_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_33db03d3_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cascader_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 356 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_caspanel_vue__ = __webpack_require__(127);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_caspanel_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_caspanel_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_caspanel_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_caspanel_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3367b349_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_caspanel_vue__ = __webpack_require__(359);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3367b349_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_caspanel_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3367b349_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_caspanel_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_caspanel_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3367b349_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_caspanel_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3367b349_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_caspanel_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 357 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_casitem_vue__ = __webpack_require__(128);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_casitem_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_casitem_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_casitem_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_casitem_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6ca89d2a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_casitem_vue__ = __webpack_require__(358);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6ca89d2a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_casitem_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6ca89d2a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_casitem_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_casitem_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6ca89d2a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_casitem_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6ca89d2a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_casitem_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 358 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('li', { class: _vm.classes }, [_vm._v(\"\\n \" + _vm._s(_vm.data.label) + \"\\n \"), _vm.showArrow ? _c('Icon', { attrs: { \"type\": _vm.arrowType, \"custom\": _vm.customArrowType, \"size\": _vm.arrowSize } }) : _vm._e(), _vm._v(\" \"), _vm.showLoading ? _c('i', { staticClass: \"ivu-icon ivu-icon-ios-loading ivu-load-loop ivu-cascader-menu-item-loading\" }) : _vm._e()], 1);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 359 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('span', [_vm.data && _vm.data.length ? _c('ul', { class: [_vm.prefixCls + '-menu'] }, _vm._l(_vm.data, function (item) {\n return _c('Casitem', { key: _vm.getKey(), attrs: { \"prefix-cls\": _vm.prefixCls, \"data\": item, \"tmp-item\": _vm.tmpItem }, nativeOn: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.handleClickItem(item);\n }, \"mouseenter\": function mouseenter($event) {\n $event.stopPropagation();return _vm.handleHoverItem(item);\n } } });\n }), 1) : _vm._e(), _vm.sublist && _vm.sublist.length ? _c('Caspanel', { attrs: { \"prefix-cls\": _vm.prefixCls, \"data\": _vm.sublist, \"disabled\": _vm.disabled, \"trigger\": _vm.trigger, \"change-on-select\": _vm.changeOnSelect } }) : _vm._e()], 1);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 360 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { directives: [{ name: \"click-outside\", rawName: \"v-click-outside\", value: _vm.handleClose, expression: \"handleClose\" }], class: _vm.classes }, [_c('div', { ref: \"reference\", class: [_vm.prefixCls + '-rel'], on: { \"click\": _vm.toggleOpen } }, [_c('input', { attrs: { \"type\": \"hidden\", \"name\": _vm.name }, domProps: { \"value\": _vm.currentValue } }), _vm._v(\" \"), _vm._t(\"default\", [_c('i-input', { ref: \"input\", attrs: { \"element-id\": _vm.elementId, \"readonly\": !_vm.filterable, \"disabled\": _vm.disabled, \"value\": _vm.displayInputRender, \"size\": _vm.size, \"placeholder\": _vm.inputPlaceholder }, on: { \"on-change\": _vm.handleInput } }), _vm._v(\" \"), _c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.filterable && _vm.query === '', expression: \"filterable && query === ''\" }], class: [_vm.prefixCls + '-label'], on: { \"click\": _vm.handleFocus } }, [_vm._v(_vm._s(_vm.displayRender))]), _vm._v(\" \"), _c('Icon', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.showCloseIcon, expression: \"showCloseIcon\" }], class: [_vm.prefixCls + '-arrow'], attrs: { \"type\": \"ios-close-circle\" }, nativeOn: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.clearSelect($event);\n } } }), _vm._v(\" \"), _c('Icon', { class: [_vm.prefixCls + '-arrow'], attrs: { \"type\": _vm.arrowType, \"custom\": _vm.customArrowType, \"size\": _vm.arrowSize } })])], 2), _vm._v(\" \"), _c('transition', { attrs: { \"name\": \"transition-drop\" } }, [_c('Drop', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.visible, expression: \"visible\" }, { name: \"transfer-dom\", rawName: \"v-transfer-dom\" }], ref: \"drop\", class: (_obj = {}, _obj[_vm.prefixCls + '-transfer'] = _vm.transfer, _obj), attrs: { \"data-transfer\": _vm.transfer, \"transfer\": _vm.transfer } }, [_c('div', [_c('Caspanel', { directives: [{ name: \"show\", rawName: \"v-show\", value: !_vm.filterable || _vm.filterable && _vm.query === '', expression: \"!filterable || (filterable && query === '')\" }], ref: \"caspanel\", attrs: { \"prefix-cls\": _vm.prefixCls, \"data\": _vm.data, \"disabled\": _vm.disabled, \"change-on-select\": _vm.changeOnSelect, \"trigger\": _vm.trigger } }), _vm._v(\" \"), _c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.filterable && _vm.query !== '' && _vm.querySelections.length, expression: \"filterable && query !== '' && querySelections.length\" }], class: [_vm.prefixCls + '-dropdown'] }, [_c('ul', { class: [_vm.selectPrefixCls + '-dropdown-list'] }, _vm._l(_vm.querySelections, function (item, index) {\n return _c('li', { class: [_vm.selectPrefixCls + '-item', (_obj = {}, _obj[_vm.selectPrefixCls + '-item-disabled'] = item.disabled, _obj)], domProps: { \"innerHTML\": _vm._s(item.display) }, on: { \"click\": function click($event) {\n return _vm.handleSelectItem(index);\n } } });\n var _obj;\n }), 0)]), _vm._v(\" \"), _c('ul', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.filterable && _vm.query !== '' && !_vm.querySelections.length || !_vm.data.length, expression: \"(filterable && query !== '' && !querySelections.length) || !data.length\" }], class: [_vm.prefixCls + '-not-found-tip'] }, [_c('li', [_vm._v(_vm._s(_vm.localeNotFoundText))])])], 1)])], 1)], 1);\n var _obj;\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 361 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _cell = __webpack_require__(362);\n\nvar _cell2 = _interopRequireDefault(_cell);\n\nvar _cellGroup = __webpack_require__(366);\n\nvar _cellGroup2 = _interopRequireDefault(_cellGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_cell2.default.Group = _cellGroup2.default;\nexports.default = _cell2.default;\n\n/***/ }),\n/* 362 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_vue__ = __webpack_require__(129);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_45b2aeb6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cell_vue__ = __webpack_require__(365);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_45b2aeb6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cell_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_45b2aeb6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cell_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_45b2aeb6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cell_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_45b2aeb6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cell_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 363 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_item_vue__ = __webpack_require__(130);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_item_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_item_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_item_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_item_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7f3078d4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cell_item_vue__ = __webpack_require__(364);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7f3078d4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cell_item_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7f3078d4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cell_item_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_item_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7f3078d4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cell_item_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7f3078d4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cell_item_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 364 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"ivu-cell-item\" }, [_c('div', { staticClass: \"ivu-cell-icon\" }, [_vm._t(\"icon\")], 2), _vm._v(\" \"), _c('div', { staticClass: \"ivu-cell-main\" }, [_c('div', { staticClass: \"ivu-cell-title\" }, [_vm._t(\"default\", [_vm._v(_vm._s(_vm.title))])], 2), _vm._v(\" \"), _c('div', { staticClass: \"ivu-cell-label\" }, [_vm._t(\"label\", [_vm._v(_vm._s(_vm.label))])], 2)]), _vm._v(\" \"), _c('div', { staticClass: \"ivu-cell-footer\" }, [_c('span', { staticClass: \"ivu-cell-extra\" }, [_vm._t(\"extra\", [_vm._v(_vm._s(_vm.extra))])], 2)])]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 365 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes }, [_vm.to ? _c('a', { staticClass: \"ivu-cell-link\", attrs: { \"href\": _vm.linkUrl, \"target\": _vm.target }, on: { \"click\": [function ($event) {\n if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) {\n return null;\n }return _vm.handleClickItem($event, false);\n }, function ($event) {\n if (!$event.ctrlKey) {\n return null;\n }return _vm.handleClickItem($event, true);\n }, function ($event) {\n if (!$event.metaKey) {\n return null;\n }return _vm.handleClickItem($event, true);\n }] } }, [_c('CellItem', { attrs: { \"title\": _vm.title, \"label\": _vm.label, \"extra\": _vm.extra } }, [_vm._t(\"icon\", null, { \"slot\": \"icon\" }), _vm._v(\" \"), _vm._t(\"default\", null, { \"slot\": \"default\" }), _vm._v(\" \"), _vm._t(\"extra\", null, { \"slot\": \"extra\" }), _vm._v(\" \"), _vm._t(\"label\", null, { \"slot\": \"label\" })], 2)], 1) : _c('div', { staticClass: \"ivu-cell-link\", on: { \"click\": _vm.handleClickItem } }, [_c('CellItem', { attrs: { \"title\": _vm.title, \"label\": _vm.label, \"extra\": _vm.extra } }, [_vm._t(\"icon\", null, { \"slot\": \"icon\" }), _vm._v(\" \"), _vm._t(\"default\", null, { \"slot\": \"default\" }), _vm._v(\" \"), _vm._t(\"extra\", null, { \"slot\": \"extra\" }), _vm._v(\" \"), _vm._t(\"label\", null, { \"slot\": \"label\" })], 2)], 1), _vm._v(\" \"), _vm.to ? _c('div', { staticClass: \"ivu-cell-arrow\" }, [_vm._t(\"arrow\", [_c('Icon', { attrs: { \"type\": _vm.arrowType, \"custom\": _vm.customArrowType, \"size\": _vm.arrowSize } })])], 2) : _vm._e()]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 366 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_group_vue__ = __webpack_require__(131);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_group_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_group_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_group_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_group_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4dc556d9_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cell_group_vue__ = __webpack_require__(367);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4dc556d9_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cell_group_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4dc556d9_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cell_group_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_group_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4dc556d9_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cell_group_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4dc556d9_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cell_group_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 367 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"ivu-cell-group\" }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 368 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _checkbox = __webpack_require__(46);\n\nvar _checkbox2 = _interopRequireDefault(_checkbox);\n\nvar _checkboxGroup = __webpack_require__(133);\n\nvar _checkboxGroup2 = _interopRequireDefault(_checkboxGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_checkbox2.default.Group = _checkboxGroup2.default;\nexports.default = _checkbox2.default;\n\n/***/ }),\n/* 369 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('label', { class: _vm.wrapClasses }, [_c('span', { class: _vm.checkboxClasses }, [_c('span', { class: _vm.innerClasses }), _vm._v(\" \"), _vm.group ? _c('input', { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.model, expression: \"model\" }], class: _vm.inputClasses, attrs: { \"type\": \"checkbox\", \"disabled\": _vm.disabled, \"name\": _vm.name }, domProps: { \"value\": _vm.label, \"checked\": Array.isArray(_vm.model) ? _vm._i(_vm.model, _vm.label) > -1 : _vm.model }, on: { \"change\": [function ($event) {\n var $$a = _vm.model,\n $$el = $event.target,\n $$c = $$el.checked ? true : false;if (Array.isArray($$a)) {\n var $$v = _vm.label,\n $$i = _vm._i($$a, $$v);if ($$el.checked) {\n $$i < 0 && (_vm.model = $$a.concat([$$v]));\n } else {\n $$i > -1 && (_vm.model = $$a.slice(0, $$i).concat($$a.slice($$i + 1)));\n }\n } else {\n _vm.model = $$c;\n }\n }, _vm.change], \"focus\": _vm.onFocus, \"blur\": _vm.onBlur } }) : _c('input', { class: _vm.inputClasses, attrs: { \"type\": \"checkbox\", \"disabled\": _vm.disabled, \"name\": _vm.name }, domProps: { \"checked\": _vm.currentValue }, on: { \"change\": _vm.change, \"focus\": _vm.onFocus, \"blur\": _vm.onBlur } })]), _vm._v(\" \"), _vm._t(\"default\", [_vm.showSlot ? _c('span', [_vm._v(_vm._s(_vm.label))]) : _vm._e()])], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 370 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 371 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _circle = __webpack_require__(372);\n\nvar _circle2 = _interopRequireDefault(_circle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _circle2.default;\n\n/***/ }),\n/* 372 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_circle_vue__ = __webpack_require__(135);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_circle_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_circle_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_circle_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_circle_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2c5e18f6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_circle_vue__ = __webpack_require__(373);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2c5e18f6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_circle_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2c5e18f6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_circle_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_circle_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2c5e18f6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_circle_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2c5e18f6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_circle_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 373 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.wrapClasses, style: _vm.circleSize }, [_c('svg', { attrs: { \"viewBox\": \"0 0 100 100\" } }, [_c('path', { style: _vm.trailStyle, attrs: { \"d\": _vm.pathString, \"stroke\": _vm.trailColor, \"stroke-width\": _vm.trailWidth, \"fill-opacity\": 0 } }), _vm._v(\" \"), _c('path', { style: _vm.pathStyle, attrs: { \"d\": _vm.pathString, \"stroke-linecap\": _vm.strokeLinecap, \"stroke\": _vm.strokeColor, \"stroke-width\": _vm.computedStrokeWidth, \"fill-opacity\": \"0\" } })]), _vm._v(\" \"), _c('div', { class: _vm.innerClasses }, [_vm._t(\"default\")], 2)]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 374 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _collapse = __webpack_require__(375);\n\nvar _collapse2 = _interopRequireDefault(_collapse);\n\nvar _panel = __webpack_require__(377);\n\nvar _panel2 = _interopRequireDefault(_panel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_collapse2.default.Panel = _panel2.default;\nexports.default = _collapse2.default;\n\n/***/ }),\n/* 375 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_collapse_vue__ = __webpack_require__(136);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_collapse_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_collapse_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_collapse_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_collapse_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_63c3031f_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_collapse_vue__ = __webpack_require__(376);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_63c3031f_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_collapse_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_63c3031f_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_collapse_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_collapse_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_63c3031f_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_collapse_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_63c3031f_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_collapse_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 376 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 377 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_panel_vue__ = __webpack_require__(137);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_panel_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_panel_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_panel_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_panel_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_dfbfd012_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_panel_vue__ = __webpack_require__(378);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_dfbfd012_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_panel_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_dfbfd012_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_panel_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_panel_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_dfbfd012_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_panel_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_dfbfd012_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_panel_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 378 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.itemClasses }, [_c('div', { class: _vm.headerClasses, on: { \"click\": _vm.toggle } }, [!_vm.hideArrow ? _c('Icon', { attrs: { \"type\": \"ios-arrow-forward\" } }) : _vm._e(), _vm._v(\" \"), _vm._t(\"default\")], 2), _vm._v(\" \"), _vm.mounted ? _c('collapse-transition', [_c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.isActive, expression: \"isActive\" }], class: _vm.contentClasses }, [_c('div', { class: _vm.boxClasses }, [_vm._t(\"content\")], 2)])]) : _vm._e()], 1);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 379 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _colorPicker = __webpack_require__(380);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _colorPicker2.default;\n\n/***/ }),\n/* 380 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_color_picker_vue__ = __webpack_require__(138);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_color_picker_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_color_picker_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_color_picker_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_color_picker_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_656bafa7_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_color_picker_vue__ = __webpack_require__(389);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_656bafa7_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_color_picker_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_656bafa7_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_color_picker_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_color_picker_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_656bafa7_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_color_picker_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_656bafa7_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_color_picker_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 381 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_recommend_colors_vue__ = __webpack_require__(140);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_recommend_colors_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_recommend_colors_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_recommend_colors_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_recommend_colors_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0ac3e803_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_recommend_colors_vue__ = __webpack_require__(382);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0ac3e803_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_recommend_colors_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0ac3e803_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_recommend_colors_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_recommend_colors_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0ac3e803_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_recommend_colors_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0ac3e803_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_recommend_colors_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 382 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { ref: \"reference\", attrs: { \"tabindex\": \"0\" }, on: { \"click\": _vm.handleClick, \"keydown\": [function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }return _vm.handleEscape($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) {\n return null;\n }return _vm.handleEnter($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"left\", 37, $event.key, [\"Left\", \"ArrowLeft\"])) {\n return null;\n }if ('button' in $event && $event.button !== 0) {\n return null;\n }return _vm.handleArrow($event, 'x', _vm.left);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"right\", 39, $event.key, [\"Right\", \"ArrowRight\"])) {\n return null;\n }if ('button' in $event && $event.button !== 2) {\n return null;\n }return _vm.handleArrow($event, 'x', _vm.right);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"up\", 38, $event.key, [\"Up\", \"ArrowUp\"])) {\n return null;\n }return _vm.handleArrow($event, 'y', _vm.up);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"down\", 40, $event.key, [\"Down\", \"ArrowDown\"])) {\n return null;\n }return _vm.handleArrow($event, 'y', _vm.down);\n }], \"blur\": _vm.blurColor, \"focus\": _vm.focusColor } }, [_vm._l(_vm.list, function (item, index) {\n return [_c('div', { key: item + ':' + index, class: [_vm.prefixCls + '-picker-colors-wrapper'] }, [_c('div', { attrs: { \"data-color-id\": index } }, [_c('div', { class: [_vm.prefixCls + '-picker-colors-wrapper-color'], style: { background: item } }), _vm._v(\" \"), _c('div', { ref: 'color-circle-' + index, refInFor: true, class: [_vm.prefixCls + '-picker-colors-wrapper-circle', _vm.hideClass] })])]), _vm._v(\" \"), _vm.lineBreak(_vm.list, index) ? _c('br') : _vm._e()];\n })], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 383 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_saturation_vue__ = __webpack_require__(142);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_saturation_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_saturation_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_saturation_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_saturation_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0757ab84_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_saturation_vue__ = __webpack_require__(384);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0757ab84_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_saturation_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0757ab84_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_saturation_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_saturation_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0757ab84_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_saturation_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0757ab84_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_saturation_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 384 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: [_vm.prefixCls + '-saturation-wrapper'], attrs: { \"tabindex\": \"0\" }, on: { \"keydown\": [function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }return _vm.handleEscape($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"left\", 37, $event.key, [\"Left\", \"ArrowLeft\"])) {\n return null;\n }if ('button' in $event && $event.button !== 0) {\n return null;\n }return _vm.handleLeft($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"right\", 39, $event.key, [\"Right\", \"ArrowRight\"])) {\n return null;\n }if ('button' in $event && $event.button !== 2) {\n return null;\n }return _vm.handleRight($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"up\", 38, $event.key, [\"Up\", \"ArrowUp\"])) {\n return null;\n }return _vm.handleUp($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"down\", 40, $event.key, [\"Down\", \"ArrowDown\"])) {\n return null;\n }return _vm.handleDown($event);\n }], \"click\": function click($event) {\n return _vm.$el.focus();\n } } }, [_c('div', { ref: \"container\", class: [_vm.prefixCls + '-saturation'], style: _vm.bgColorStyle, on: { \"mousedown\": _vm.handleMouseDown } }, [_c('div', { class: [_vm.prefixCls + '-saturation--white'] }), _vm._v(\" \"), _c('div', { class: [_vm.prefixCls + '-saturation--black'] }), _vm._v(\" \"), _c('div', { class: [_vm.prefixCls + '-saturation-pointer'], style: _vm.pointerStyle }, [_c('div', { class: [_vm.prefixCls + '-saturation-circle'] })])])]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 385 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_hue_vue__ = __webpack_require__(143);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_hue_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_hue_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_hue_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_hue_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4a42dff6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_hue_vue__ = __webpack_require__(386);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4a42dff6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_hue_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4a42dff6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_hue_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_hue_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4a42dff6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_hue_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4a42dff6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_hue_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 386 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: [_vm.prefixCls + '-hue'], attrs: { \"tabindex\": \"0\" }, on: { \"click\": function click($event) {\n return _vm.$el.focus();\n }, \"keydown\": [function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }return _vm.handleEscape($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"left\", 37, $event.key, [\"Left\", \"ArrowLeft\"])) {\n return null;\n }if ('button' in $event && $event.button !== 0) {\n return null;\n }return _vm.handleLeft($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"right\", 39, $event.key, [\"Right\", \"ArrowRight\"])) {\n return null;\n }if ('button' in $event && $event.button !== 2) {\n return null;\n }return _vm.handleRight($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"up\", 38, $event.key, [\"Up\", \"ArrowUp\"])) {\n return null;\n }return _vm.handleUp($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"down\", 40, $event.key, [\"Down\", \"ArrowDown\"])) {\n return null;\n }return _vm.handleDown($event);\n }] } }, [_c('div', { ref: \"container\", class: [_vm.prefixCls + '-hue-container'], on: { \"mousedown\": _vm.handleMouseDown, \"touchmove\": _vm.handleChange, \"touchstart\": _vm.handleChange } }, [_c('div', { class: [_vm.prefixCls + '-hue-pointer'], style: { top: 0, left: _vm.percent + \"%\" } }, [_c('div', { class: [_vm.prefixCls + '-hue-picker'] })])])]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 387 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_alpha_vue__ = __webpack_require__(144);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_alpha_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_alpha_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_alpha_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_alpha_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_be7eaa8a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_alpha_vue__ = __webpack_require__(388);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_be7eaa8a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_alpha_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_be7eaa8a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_alpha_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_alpha_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_be7eaa8a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_alpha_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_be7eaa8a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_alpha_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 388 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: [_vm.prefixCls + '-alpha'], attrs: { \"tabindex\": \"0\" }, on: { \"click\": function click($event) {\n return _vm.$el.focus();\n }, \"keydown\": [function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }return _vm.handleEscape($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"left\", 37, $event.key, [\"Left\", \"ArrowLeft\"])) {\n return null;\n }if ('button' in $event && $event.button !== 0) {\n return null;\n }return _vm.handleLeft($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"right\", 39, $event.key, [\"Right\", \"ArrowRight\"])) {\n return null;\n }if ('button' in $event && $event.button !== 2) {\n return null;\n }return _vm.handleRight($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"up\", 38, $event.key, [\"Up\", \"ArrowUp\"])) {\n return null;\n }return _vm.handleUp($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"down\", 40, $event.key, [\"Down\", \"ArrowDown\"])) {\n return null;\n }return _vm.handleDown($event);\n }] } }, [_c('div', { class: [_vm.prefixCls + '-alpha-checkboard-wrap'] }, [_c('div', { class: [_vm.prefixCls + '-alpha-checkerboard'] })]), _vm._v(\" \"), _c('div', { class: [_vm.prefixCls + '-alpha-gradient'], style: _vm.gradientStyle }), _vm._v(\" \"), _c('div', { ref: \"container\", class: [_vm.prefixCls + '-alpha-container'], on: { \"mousedown\": _vm.handleMouseDown, \"touchmove\": _vm.handleChange, \"touchstart\": _vm.handleChange } }, [_c('div', { class: [_vm.prefixCls + '-alpha-pointer'], style: { top: 0, left: _vm.value.a * 100 + \"%\" } }, [_c('div', { class: [_vm.prefixCls + '-alpha-picker'] })])])]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 389 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { directives: [{ name: \"click-outside\", rawName: \"v-click-outside\", value: _vm.handleClose, expression: \"handleClose\" }], class: _vm.classes }, [_c('div', { ref: \"reference\", class: _vm.wrapClasses, on: { \"click\": _vm.toggleVisible } }, [_c('input', { attrs: { \"name\": _vm.name, \"type\": \"hidden\" }, domProps: { \"value\": _vm.currentValue } }), _vm._v(\" \"), _c('Icon', { class: _vm.arrowClasses, attrs: { \"type\": _vm.arrowType, \"custom\": _vm.customArrowType, \"size\": _vm.arrowSize } }), _vm._v(\" \"), _c('div', { ref: \"input\", class: _vm.inputClasses, attrs: { \"tabindex\": _vm.disabled ? undefined : 0 }, on: { \"keydown\": [function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")) {\n return null;\n }return _vm.onTab($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }return _vm.onEscape($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"up\", 38, $event.key, [\"Up\", \"ArrowUp\"])) {\n return null;\n }return _vm.onArrow($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"down\", 40, $event.key, [\"Down\", \"ArrowDown\"])) {\n return null;\n }return _vm.onArrow($event);\n }] } }, [_c('div', { class: [_vm.prefixCls + '-color'] }, [_c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.value === '' && !_vm.visible, expression: \"value === '' && !visible\" }], class: [_vm.prefixCls + '-color-empty'] }, [_c('i', { class: [_vm.iconPrefixCls, _vm.iconPrefixCls + '-ios-close'] })]), _vm._v(\" \"), _c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.value || _vm.visible, expression: \"value || visible\" }], style: _vm.displayedColorStyle })])])], 1), _vm._v(\" \"), _c('transition', { attrs: { \"name\": \"transition-drop\" } }, [_c('Drop', { directives: [{ name: \"transfer-dom\", rawName: \"v-transfer-dom\" }, { name: \"show\", rawName: \"v-show\", value: _vm.visible, expression: \"visible\" }], ref: \"drop\", class: _vm.dropClasses, attrs: { \"placement\": _vm.placement, \"data-transfer\": _vm.transfer, \"transfer\": _vm.transfer } }, [_c('transition', { attrs: { \"name\": \"fade\" } }, [_vm.visible ? _c('div', { class: [_vm.prefixCls + '-picker'] }, [_c('div', { class: [_vm.prefixCls + '-picker-wrapper'] }, [_c('div', { class: [_vm.prefixCls + '-picker-panel'] }, [_c('Saturation', { ref: \"saturation\", attrs: { \"focused\": _vm.visible }, on: { \"change\": _vm.childChange }, nativeOn: { \"keydown\": function keydown($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")) {\n return null;\n }return _vm.handleFirstTab($event);\n } }, model: { value: _vm.saturationColors, callback: function callback($$v) {\n _vm.saturationColors = $$v;\n }, expression: \"saturationColors\" } })], 1), _vm._v(\" \"), _vm.hue ? _c('div', { class: [_vm.prefixCls + '-picker-hue-slider'] }, [_c('Hue', { on: { \"change\": _vm.childChange }, model: { value: _vm.saturationColors, callback: function callback($$v) {\n _vm.saturationColors = $$v;\n }, expression: \"saturationColors\" } })], 1) : _vm._e(), _vm._v(\" \"), _vm.alpha ? _c('div', { class: [_vm.prefixCls + '-picker-alpha-slider'] }, [_c('Alpha', { on: { \"change\": _vm.childChange }, model: { value: _vm.saturationColors, callback: function callback($$v) {\n _vm.saturationColors = $$v;\n }, expression: \"saturationColors\" } })], 1) : _vm._e(), _vm._v(\" \"), _vm.colors.length ? _c('recommend-colors', { class: [_vm.prefixCls + '-picker-colors'], attrs: { \"list\": _vm.colors }, on: { \"picker-color\": _vm.handleSelectColor } }) : _vm._e(), _vm._v(\" \"), !_vm.colors.length && _vm.recommend ? _c('recommend-colors', { class: [_vm.prefixCls + '-picker-colors'], attrs: { \"list\": _vm.recommendedColor }, on: { \"picker-color\": _vm.handleSelectColor } }) : _vm._e()], 1), _vm._v(\" \"), _c('div', { class: [_vm.prefixCls + '-confirm'] }, [_c('span', { class: _vm.confirmColorClasses }, [_vm.editable ? [_c('i-input', { attrs: { \"value\": _vm.formatColor, \"size\": \"small\" }, on: { \"on-enter\": _vm.handleEditColor, \"on-blur\": _vm.handleEditColor } })] : [_vm._v(_vm._s(_vm.formatColor))]], 2), _vm._v(\" \"), _c('i-button', { ref: \"clear\", attrs: { \"tabindex\": 0, \"size\": \"small\" }, on: { \"keydown\": function keydown($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) {\n return null;\n }return _vm.handleClear($event);\n } }, nativeOn: { \"click\": function click($event) {\n return _vm.handleClear($event);\n }, \"keydown\": function keydown($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }return _vm.closer($event);\n } } }, [_vm._v(_vm._s(_vm.t('i.datepicker.clear')))]), _vm._v(\" \"), _c('i-button', { ref: \"ok\", attrs: { \"tabindex\": 0, \"size\": \"small\", \"type\": \"primary\" }, on: { \"keydown\": function keydown($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) {\n return null;\n }return _vm.handleSuccess($event);\n } }, nativeOn: { \"click\": function click($event) {\n return _vm.handleSuccess($event);\n }, \"keydown\": [function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")) {\n return null;\n }return _vm.handleLastTab($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }return _vm.closer($event);\n }] } }, [_vm._v(_vm._s(_vm.t('i.datepicker.ok')))])], 1)]) : _vm._e()])], 1)], 1)], 1);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 390 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _content = __webpack_require__(145);\n\nvar _content2 = _interopRequireDefault(_content);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _content2.default;\n\n/***/ }),\n/* 391 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.wrapClasses }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 392 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _datePicker = __webpack_require__(393);\n\nvar _datePicker2 = _interopRequireDefault(_datePicker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _datePicker2.default;\n\n/***/ }),\n/* 393 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _picker = __webpack_require__(147);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _date = __webpack_require__(396);\n\nvar _date2 = _interopRequireDefault(_date);\n\nvar _dateRange = __webpack_require__(409);\n\nvar _dateRange2 = _interopRequireDefault(_dateRange);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'CalendarPicker',\n mixins: [_picker2.default],\n props: {\n type: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['year', 'month', 'date', 'daterange', 'datetime', 'datetimerange']);\n },\n\n default: 'date'\n }\n },\n components: { DatePickerPanel: _date2.default, RangeDatePickerPanel: _dateRange2.default },\n computed: {\n panel: function panel() {\n var isRange = this.type === 'daterange' || this.type === 'datetimerange';\n return isRange ? 'RangeDatePickerPanel' : 'DatePickerPanel';\n },\n ownPickerProps: function ownPickerProps() {\n return this.options;\n }\n }\n};\n\n/***/ }),\n/* 394 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_RESULT__;\n\n(function (main) {\n 'use strict';\n\n var fecha = {};\n var token = /d{1,4}|M{1,4}|yy(?:yy)?|S{1,3}|Do|ZZ|([HhMsDm])\\1?|[aA]|\"[^\"]*\"|'[^']*'/g;\n var twoDigits = /\\d\\d?/;\n var threeDigits = /\\d{3}/;\n var fourDigits = /\\d{4}/;\n var word = /[0-9]*['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+|[\\u0600-\\u06FF\\/]+(\\s*?[\\u0600-\\u06FF]+){1,2}/i;\n var noop = function noop() {};\n\n function shorten(arr, sLen) {\n var newArr = [];\n for (var i = 0, len = arr.length; i < len; i++) {\n newArr.push(arr[i].substr(0, sLen));\n }\n return newArr;\n }\n\n function monthUpdate(arrName) {\n return function (d, v, i18n) {\n var index = i18n[arrName].indexOf(v.charAt(0).toUpperCase() + v.substr(1).toLowerCase());\n if (~index) {\n d.month = index;\n }\n };\n }\n\n function pad(val, len) {\n val = String(val);\n len = len || 2;\n while (val.length < len) {\n val = '0' + val;\n }\n return val;\n }\n\n var dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n var monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n var monthNamesShort = shorten(monthNames, 3);\n var dayNamesShort = shorten(dayNames, 3);\n fecha.i18n = {\n dayNamesShort: dayNamesShort,\n dayNames: dayNames,\n monthNamesShort: monthNamesShort,\n monthNames: monthNames,\n amPm: ['am', 'pm'],\n DoFn: function DoFn(D) {\n return D + ['th', 'st', 'nd', 'rd'][D % 10 > 3 ? 0 : (D - D % 10 !== 10) * D % 10];\n }\n };\n\n var formatFlags = {\n D: function D(dateObj) {\n return dateObj.getDay();\n },\n DD: function DD(dateObj) {\n return pad(dateObj.getDay());\n },\n Do: function Do(dateObj, i18n) {\n return i18n.DoFn(dateObj.getDate());\n },\n d: function d(dateObj) {\n return dateObj.getDate();\n },\n dd: function dd(dateObj) {\n return pad(dateObj.getDate());\n },\n ddd: function ddd(dateObj, i18n) {\n return i18n.dayNamesShort[dateObj.getDay()];\n },\n dddd: function dddd(dateObj, i18n) {\n return i18n.dayNames[dateObj.getDay()];\n },\n M: function M(dateObj) {\n return dateObj.getMonth() + 1;\n },\n MM: function MM(dateObj) {\n return pad(dateObj.getMonth() + 1);\n },\n MMM: function MMM(dateObj, i18n) {\n return i18n.monthNamesShort[dateObj.getMonth()];\n },\n MMMM: function MMMM(dateObj, i18n) {\n return i18n.monthNames[dateObj.getMonth()];\n },\n yy: function yy(dateObj) {\n return String(dateObj.getFullYear()).substr(2);\n },\n yyyy: function yyyy(dateObj) {\n return dateObj.getFullYear();\n },\n h: function h(dateObj) {\n return dateObj.getHours() % 12 || 12;\n },\n hh: function hh(dateObj) {\n return pad(dateObj.getHours() % 12 || 12);\n },\n H: function H(dateObj) {\n return dateObj.getHours();\n },\n HH: function HH(dateObj) {\n return pad(dateObj.getHours());\n },\n m: function m(dateObj) {\n return dateObj.getMinutes();\n },\n mm: function mm(dateObj) {\n return pad(dateObj.getMinutes());\n },\n s: function s(dateObj) {\n return dateObj.getSeconds();\n },\n ss: function ss(dateObj) {\n return pad(dateObj.getSeconds());\n },\n S: function S(dateObj) {\n return Math.round(dateObj.getMilliseconds() / 100);\n },\n SS: function SS(dateObj) {\n return pad(Math.round(dateObj.getMilliseconds() / 10), 2);\n },\n SSS: function SSS(dateObj) {\n return pad(dateObj.getMilliseconds(), 3);\n },\n a: function a(dateObj, i18n) {\n return dateObj.getHours() < 12 ? i18n.amPm[0] : i18n.amPm[1];\n },\n A: function A(dateObj, i18n) {\n return dateObj.getHours() < 12 ? i18n.amPm[0].toUpperCase() : i18n.amPm[1].toUpperCase();\n },\n ZZ: function ZZ(dateObj) {\n var o = dateObj.getTimezoneOffset();\n return (o > 0 ? '-' : '+') + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4);\n }\n };\n\n var parseFlags = {\n d: [twoDigits, function (d, v) {\n d.day = v;\n }],\n M: [twoDigits, function (d, v) {\n d.month = v - 1;\n }],\n yy: [twoDigits, function (d, v) {\n var da = new Date(),\n cent = +('' + da.getFullYear()).substr(0, 2);\n d.year = '' + (v > 68 ? cent - 1 : cent) + v;\n }],\n h: [twoDigits, function (d, v) {\n d.hour = v;\n }],\n m: [twoDigits, function (d, v) {\n d.minute = v;\n }],\n s: [twoDigits, function (d, v) {\n d.second = v;\n }],\n yyyy: [fourDigits, function (d, v) {\n d.year = v;\n }],\n S: [/\\d/, function (d, v) {\n d.millisecond = v * 100;\n }],\n SS: [/\\d{2}/, function (d, v) {\n d.millisecond = v * 10;\n }],\n SSS: [threeDigits, function (d, v) {\n d.millisecond = v;\n }],\n D: [twoDigits, noop],\n ddd: [word, noop],\n MMM: [word, monthUpdate('monthNamesShort')],\n MMMM: [word, monthUpdate('monthNames')],\n a: [word, function (d, v, i18n) {\n var val = v.toLowerCase();\n if (val === i18n.amPm[0]) {\n d.isPm = false;\n } else if (val === i18n.amPm[1]) {\n d.isPm = true;\n }\n }],\n ZZ: [/[\\+\\-]\\d\\d:?\\d\\d/, function (d, v) {\n var parts = (v + '').match(/([\\+\\-]|\\d\\d)/gi),\n minutes;\n\n if (parts) {\n minutes = +(parts[1] * 60) + parseInt(parts[2], 10);\n d.timezoneOffset = parts[0] === '+' ? minutes : -minutes;\n }\n }]\n };\n parseFlags.DD = parseFlags.DD;\n parseFlags.dddd = parseFlags.ddd;\n parseFlags.Do = parseFlags.dd = parseFlags.d;\n parseFlags.mm = parseFlags.m;\n parseFlags.hh = parseFlags.H = parseFlags.HH = parseFlags.h;\n parseFlags.MM = parseFlags.M;\n parseFlags.ss = parseFlags.s;\n parseFlags.A = parseFlags.a;\n\n fecha.masks = {\n 'default': 'ddd MMM dd yyyy HH:mm:ss',\n shortDate: 'M/D/yy',\n mediumDate: 'MMM d, yyyy',\n longDate: 'MMMM d, yyyy',\n fullDate: 'dddd, MMMM d, yyyy',\n shortTime: 'HH:mm',\n mediumTime: 'HH:mm:ss',\n longTime: 'HH:mm:ss.SSS'\n };\n\n fecha.format = function (dateObj, mask, i18nSettings) {\n var i18n = i18nSettings || fecha.i18n;\n\n if (typeof dateObj === 'number') {\n dateObj = new Date(dateObj);\n }\n\n if (Object.prototype.toString.call(dateObj) !== '[object Date]' || isNaN(dateObj.getTime())) {\n throw new Error('Invalid Date in fecha.format');\n }\n\n mask = fecha.masks[mask] || mask || fecha.masks['default'];\n\n return mask.replace(token, function ($0) {\n return $0 in formatFlags ? formatFlags[$0](dateObj, i18n) : $0.slice(1, $0.length - 1);\n });\n };\n\n fecha.parse = function (dateStr, format, i18nSettings) {\n var i18n = i18nSettings || fecha.i18n;\n\n if (typeof format !== 'string') {\n throw new Error('Invalid format in fecha.parse');\n }\n\n format = fecha.masks[format] || format;\n\n if (dateStr.length > 1000) {\n return false;\n }\n\n var isValid = true;\n var dateInfo = {};\n format.replace(token, function ($0) {\n if (parseFlags[$0]) {\n var info = parseFlags[$0];\n var index = dateStr.search(info[0]);\n if (!~index) {\n isValid = false;\n } else {\n dateStr.replace(info[0], function (result) {\n info[1](dateInfo, result, i18n);\n dateStr = dateStr.substr(index + result.length);\n return result;\n });\n }\n }\n\n return parseFlags[$0] ? '' : $0.slice(1, $0.length - 1);\n });\n\n if (!isValid) {\n return false;\n }\n\n var today = new Date();\n if (dateInfo.isPm === true && dateInfo.hour != null && +dateInfo.hour !== 12) {\n dateInfo.hour = +dateInfo.hour + 12;\n } else if (dateInfo.isPm === false && +dateInfo.hour === 12) {\n dateInfo.hour = 0;\n }\n\n var date;\n if (dateInfo.timezoneOffset != null) {\n dateInfo.minute = +(dateInfo.minute || 0) - +dateInfo.timezoneOffset;\n date = new Date(Date.UTC(dateInfo.year || today.getFullYear(), dateInfo.month || 0, dateInfo.day || 1, dateInfo.hour || 0, dateInfo.minute || 0, dateInfo.second || 0, dateInfo.millisecond || 0));\n } else {\n date = new Date(dateInfo.year || today.getFullYear(), dateInfo.month || 0, dateInfo.day || 1, dateInfo.hour || 0, dateInfo.minute || 0, dateInfo.second || 0, dateInfo.millisecond || 0);\n }\n return date;\n };\n\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = fecha;\n } else if (true) {\n !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n return fecha;\n }).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {\n main.fecha = fecha;\n }\n})(undefined);\n\n/***/ }),\n/* 395 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { directives: [{ name: \"click-outside\", rawName: \"v-click-outside:mousedown.capture\", value: _vm.handleClose, expression: \"handleClose\", arg: \"mousedown\", modifiers: { \"capture\": true } }, { name: \"click-outside\", rawName: \"v-click-outside:touchstart.capture\", value: _vm.handleClose, expression: \"handleClose\", arg: \"touchstart\", modifiers: { \"capture\": true } }, { name: \"click-outside\", rawName: \"v-click-outside.capture\", value: _vm.handleClose, expression: \"handleClose\", modifiers: { \"capture\": true } }], class: _vm.wrapperClasses }, [_c('div', { ref: \"reference\", class: [_vm.prefixCls + '-rel'] }, [_vm._t(\"default\", [_c('i-input', { key: _vm.forceInputRerender, ref: \"input\", class: [_vm.prefixCls + '-editor'], attrs: { \"element-id\": _vm.elementId, \"readonly\": !_vm.editable || _vm.readonly, \"disabled\": _vm.disabled, \"size\": _vm.size, \"placeholder\": _vm.placeholder, \"value\": _vm.visualValue, \"name\": _vm.name }, on: { \"on-input-change\": _vm.handleInputChange, \"on-focus\": _vm.handleFocus, \"on-blur\": _vm.handleBlur }, nativeOn: { \"click\": function click($event) {\n return _vm.handleFocus($event);\n }, \"keydown\": function keydown($event) {\n return _vm.handleKeydown($event);\n }, \"mouseenter\": function mouseenter($event) {\n return _vm.handleInputMouseenter($event);\n }, \"mouseleave\": function mouseleave($event) {\n return _vm.handleInputMouseleave($event);\n } } }, [_c('Icon', { attrs: { \"slot\": \"suffix\", \"type\": _vm.arrowType, \"custom\": _vm.customArrowType, \"size\": _vm.arrowSize }, on: { \"click\": _vm.handleIconClick }, slot: \"suffix\" })], 1)])], 2), _vm._v(\" \"), _c('transition', { attrs: { \"name\": \"transition-drop\" } }, [_c('Drop', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.opened, expression: \"opened\" }, { name: \"transfer-dom\", rawName: \"v-transfer-dom\" }], ref: \"drop\", class: (_obj = {}, _obj[_vm.prefixCls + '-transfer'] = _vm.transfer, _obj), attrs: { \"placement\": _vm.placement, \"data-transfer\": _vm.transfer, \"transfer\": _vm.transfer }, nativeOn: { \"click\": function click($event) {\n return _vm.handleTransferClick($event);\n } } }, [_c('div', [_c(_vm.panel, _vm._b({ ref: \"pickerPanel\", tag: \"component\", attrs: { \"visible\": _vm.visible, \"showTime\": _vm.type === 'datetime' || _vm.type === 'datetimerange', \"confirm\": _vm.isConfirm, \"selectionMode\": _vm.selectionMode, \"steps\": _vm.steps, \"format\": _vm.format, \"value\": _vm.internalValue, \"start-date\": _vm.startDate, \"split-panels\": _vm.splitPanels, \"show-week-numbers\": _vm.showWeekNumbers, \"picker-type\": _vm.type, \"multiple\": _vm.multiple, \"focused-date\": _vm.focusedDate, \"time-picker-options\": _vm.timePickerOptions }, on: { \"on-pick\": _vm.onPick, \"on-pick-clear\": _vm.handleClear, \"on-pick-success\": _vm.onPickSuccess, \"on-pick-click\": function onPickClick($event) {\n _vm.disableClickOutSide = true;\n }, \"on-selection-mode-change\": _vm.onSelectionModeChange } }, 'component', _vm.ownPickerProps, false))], 1)])], 1)], 1);\n var _obj;\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 396 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_vue__ = __webpack_require__(149);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6c43856e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_date_vue__ = __webpack_require__(408);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6c43856e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_date_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6c43856e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_date_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6c43856e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_date_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6c43856e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_date_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 397 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nmodule.exports = {\n\tGenerator: __webpack_require__(398),\n\taddLabels: __webpack_require__(399)\n}\n\n\n/***/ }),\n/* 398 */\n/***/ (function(module, exports) {\n\n// calendar with 8 column x 7 rows\n\nvar oneDay = 1000 * 60 * 60 * 24;\n\nfunction daysInMonth(year, month) {\n return new Date(year, month + 1, 0).getDate();\n}\n\nfunction getYear(year, month, weekNr){\n\tif (month === 0 && weekNr > 50) return year - 1;\n\telse if(month === 11 && weekNr < 10) return year + 1;\n\telse return year;\n}\n\nfunction getDateInfo(y, m, d, iso) {\n\tif (m > 11){\n\t\tm = 0;\n\t\ty++;\n\t}\n var currentDay = new Date(y, m, d);\n if (iso) currentDay.setDate(currentDay.getDate() + 4 - (currentDay.getDay() || 7));\n var year = iso ? currentDay.getFullYear() : y;\n var firstOfJanuary = new Date(year, 0, 1);\n var numberOfDays = 1 + Math.round((currentDay - firstOfJanuary) / oneDay);\n\n if (!iso) numberOfDays += firstOfJanuary.getDay();\n\tvar w = Math.ceil(numberOfDays / 7);\n if (!iso) {\n\t\tvar initialDay = new Date(y, m, d);\n var beginOfNextYear = new Date(y + 1, 0, 1);\n var startDayOfNextYear = beginOfNextYear.getDay();\n if (initialDay.getTime() >= beginOfNextYear.getTime() - (oneDay * startDayOfNextYear)) w = 1;\n }\n\treturn w;\n}\n\nfunction getMonthCalender(year, month, iteratorFns){\n\n\t// config passed by binding\n\tvar lang = this.lang || 'en';\n\tvar onlyDays = this.onlyDays;\n\tvar weekStart = typeof this.weekStart === 'undefined' ? 1 : this.weekStart;\n\tvar iso = weekStart === 1;\n\tvar cells = [];\n\tvar monthStartDate = new Date(year, month, 1);\t// make a date object\n\tvar dayOfWeek = monthStartDate.getDay() || (iso ? 7 : 0);\t// month week day for day 1\n\tvar currentDay = weekStart - dayOfWeek; \t\t// starting position of first day in the week\n\tvar weekNr = getDateInfo(year, month, 1, iso);\t// get week number of month start\n\tvar maxDays = daysInMonth(year, month);\t\t\t// total days in current month\n\tvar lastMonthMaxDays = daysInMonth(year, month - 1);\n\tvar currentMonth, day, dayBefore;\n\tvar currentYear = getYear(year, month, weekNr);\n\n\tvar returnObject = {\n\t\tmonth: month,\n\t\tyear: year,\n\t\tdaysInMonth: maxDays\n\t};\n\n\tfor (var i = 0; i < 7; i++){\t\t\t\t\t// 7 rows in the calendar\n\t\tdayBefore = currentDay;\n\t\tfor (var j = 0; j < 8; j++){\t\t\t\t// 8 columns: week nr + 7 days p/ week\n\t\t\tif (i > 0 && j > 0) currentDay++;\t\t// not first row, not week nr column\n\n\t\t\tif (currentDay > maxDays || currentDay < 1){ // day belongs to sibling month\n\t\t\t\t// calculate day in sibling month\n\t\t\t\tday = currentDay > maxDays ? currentDay - maxDays : lastMonthMaxDays + currentDay;\n\t\t\t\tcurrentMonth = currentDay > maxDays ? month + 1 : month - 1;\n\t\t\t} else {\n\t\t\t\tday = currentDay;\n\t\t\t\tcurrentMonth = month;\n\t\t\t}\n\n\t\t\tvar type = (function(){\n\t\t\t\tif (j === 0) return 'weekLabel';\n\t\t\t\telse if (i === 0) return 'dayLabel';\n\t\t\t\telse if (currentDay < 1) return 'prevMonth';\n\t\t\t\telse if (currentDay > maxDays) return 'nextMonth';\n\t\t\t\telse return 'monthDay';\n\t\t\t})();\n\t\t\tvar isDay = dayBefore !== currentDay && i > 0;\n\n\t\t\tvar dayData = {\n\t\t\t\tdesc: isDay ? day : weekNr,\n\t\t\t\tweek: weekNr,\n\t\t\t\ttype: type,\n\t\t\t\tformat: iso ? 'ISO 8601' : 'US',\n\t\t\t\tdate: isDay ? new Date(Date.UTC(year, currentMonth, day)) : false,\n\t\t\t\tyear: currentYear,\n\t\t\t\tindex: cells.length\n\t\t\t};\n\n\t\t\tif (iteratorFns){\n\t\t\t\tif (typeof iteratorFns === \"function\") dayData = iteratorFns.call(returnObject, dayData, lang);\n\t\t\t\telse iteratorFns.forEach(function(fn){\n\t\t\t\t\tdayData = fn.call(returnObject, dayData, lang);\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (onlyDays && isDay) cells.push(dayData);\t// add only days\n\t\t\telse if (!onlyDays) cells.push(dayData);\t// add also week numbers and labels\n\t\t}\n\t\tif (i > 0) weekNr = getDateInfo(year, currentMonth, day + 1, iso);\n\t\tcurrentYear = getYear(year, month, weekNr);\n\t}\n\n\treturnObject.cells = cells;\n\treturn returnObject;\n}\n\nmodule.exports = function (config){\n\treturn getMonthCalender.bind(config);\n}\n\n\n/***/ }),\n/* 399 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// calendar with 8 column x 7 rows\n\nvar labels = __webpack_require__(400);\n\nfunction isIterable(variable){\n\tif (variable == null) return false;\n\tif (variable.constructor === Array) return true;\n\tif (variable.constructor === Object) return true;\n\treturn false;\n}\n\nfunction merge(_new, _old){\n for (var prop in _new){\n if (!_old[prop]) _old[prop] = _new[prop];\n else if (isIterable(_new[prop])) merge(_new[prop], _old[prop]);\n }\n}\n\nfunction addLabels(dayObject, lang){\n\tvar cssClass = [labels.classes[dayObject.type]];\n\n\tif (dayObject.class) dayObject.class = (typeof dayObject.class == 'string' ? [dayObject.class] : dayObject.class).concat(cssClass);\n\telse dayObject.class = cssClass;\n\n\tif (dayObject.type.indexOf('Label') > 0){\n\t\tif (dayObject.index == 0 && labels.weekPlaceholder) dayObject.desc = labels.weekPlaceholder;\n\t\telse if (dayObject.index < 8) dayObject.desc = labels.columnNames[lang][dayObject.index];\n\t\telse if (dayObject.index % 8 == 0) dayObject.desc = dayObject.week;\n\t}\n\n\tif (dayObject.date) dayObject.monthName = labels.monthNames[lang][dayObject.date.getMonth()];\n\tif (!this.monthName) this.monthName = labels.monthNames[lang][this.month];\n\tif (!this.labels) this.labels = {\n\t\tmonthNames: labels.monthNames[lang],\n\t\tcolumnNames: labels.columnNames[lang],\n\t\tclasses: labels.classes\n\t}\n\n\treturn dayObject;\n}\naddLabels.setLabels = function(newOptions){\n\tmerge(newOptions, labels);\n};\n\nmodule.exports = addLabels;\n\n\n/***/ }),\n/* 400 */\n/***/ (function(module, exports) {\n\n\nmodule.exports = {\n\tweekPlaceholder: '',\n\tcolumnNames: {\n\t\ten: {\n\t\t\t0: 'w',\n\t\t\t1: 'monday',\n\t\t\t2: 'tuesday',\n\t\t\t3: 'wednesday',\n\t\t\t4: 'thursday',\n\t\t\t5: 'friday',\n\t\t\t6: 'saturday',\n\t\t\t7: 'sunday'\n\t\t},\n\t\tsv: {\n\t\t\t0: 'v',\n\t\t\t1: 'måndag',\n\t\t\t2: 'tisdag',\n\t\t\t3: 'onsdag',\n\t\t\t4: 'torsdag',\n\t\t\t5: 'fredag',\n\t\t\t6: 'lördag',\n\t\t\t7: 'söndag'\n\t\t},\n\t\tpt: {\n\t\t\t0: 's',\n\t\t\t1: 'segunda',\n\t\t\t2: 'terça',\n\t\t\t3: 'quarta',\n\t\t\t4: 'quinta',\n\t\t\t5: 'sexta',\n\t\t\t6: 'sábado',\n\t\t\t7: 'domingo'\n\t\t}\n\t},\n\tmonthNames: {\n\t\ten: [\n\t\t\t\"January\",\n\t\t\t\"February\",\n\t\t\t\"March\",\n\t\t\t\"April\",\n\t\t\t\"May\",\n\t\t\t\"June\",\n\t\t\t\"July\",\n\t\t\t\"August\",\n\t\t\t\"September\",\n\t\t\t\"October\",\n\t\t\t\"November\",\n\t\t\t\"December\"\n\t\t],\n\t\tsv: [\n\t\t\t\"januari\",\n\t\t\t\"februari\",\n\t\t\t\"mars\",\n\t\t\t\"april\",\n\t\t\t\"maj\",\n\t\t\t\"juni\",\n\t\t\t\"juli\",\n\t\t\t\"augusti\",\n\t\t\t\"september\",\n\t\t\t\"oktober\",\n\t\t\t\"november\",\n\t\t\t\"december\"\n\t\t],\n\t\tpt: [\n\t\t\t\"Janeiro\",\n\t\t\t\"Fevereiro\",\n\t\t\t\"Março\",\n\t\t\t\"Abril\",\n\t\t\t\"Maio\",\n\t\t\t\"Junho\",\n\t\t\t\"Julho\",\n\t\t\t\"Agosto\",\n\t\t\t\"Setembro\",\n\t\t\t\"Outubro\",\n\t\t\t\"Novembro\",\n\t\t\t\"Dezembro\"\n\t\t]\n\t},\n\tclasses: {\n\t\tdayLabel: 'day-of-week',\n\t\tweekLabel: 'week-number',\n\t\tprevMonth: 'inactive',\n\t\tnextMonth: 'inactive',\n\t\tmonthDay: 'day-in-month'\n\t}\n};\n\n\n/***/ }),\n/* 401 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes }, [_c('div', { class: [_vm.prefixCls + '-header'] }, _vm._l(_vm.headerDays, function (day) {\n return _c('span', { key: day }, [_vm._v(\"\\n \" + _vm._s(day) + \"\\n \")]);\n }), 0), _vm._v(\" \"), _vm._l(_vm.cells, function (cell, i) {\n return _c('span', { key: String(cell.date) + i, class: _vm.getCellCls(cell), on: { \"click\": function click($event) {\n return _vm.handleClick(cell, $event);\n }, \"mouseenter\": function mouseenter($event) {\n return _vm.handleMouseMove(cell);\n } } }, [_c('em', [_vm._v(_vm._s(cell.desc))])]);\n })], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 402 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes }, _vm._l(_vm.cells, function (cell) {\n return _c('span', { class: _vm.getCellCls(cell), on: { \"click\": function click($event) {\n return _vm.handleClick(cell);\n }, \"mouseenter\": function mouseenter($event) {\n return _vm.handleMouseMove(cell);\n } } }, [_c('em', [_vm._v(_vm._s(cell.date.getFullYear()))])]);\n }), 0);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 403 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes }, _vm._l(_vm.cells, function (cell) {\n return _c('span', { class: _vm.getCellCls(cell), on: { \"click\": function click($event) {\n return _vm.handleClick(cell);\n }, \"mouseenter\": function mouseenter($event) {\n return _vm.handleMouseMove(cell);\n } } }, [_c('em', [_vm._v(_vm._s(cell.text))])]);\n }), 0);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 404 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes }, [_c('div', { ref: \"hours\", class: [_vm.prefixCls + '-list'] }, [_c('ul', { class: [_vm.prefixCls + '-ul'] }, _vm._l(_vm.hoursList, function (item) {\n return _c('li', { directives: [{ name: \"show\", rawName: \"v-show\", value: !item.hide, expression: \"!item.hide\" }], class: _vm.getCellCls(item), on: { \"click\": function click($event) {\n return _vm.handleClick('hours', item);\n } } }, [_vm._v(_vm._s(_vm.formatTime(item.text)))]);\n }), 0)]), _vm._v(\" \"), _c('div', { ref: \"minutes\", class: [_vm.prefixCls + '-list'] }, [_c('ul', { class: [_vm.prefixCls + '-ul'] }, _vm._l(_vm.minutesList, function (item) {\n return _c('li', { directives: [{ name: \"show\", rawName: \"v-show\", value: !item.hide, expression: \"!item.hide\" }], class: _vm.getCellCls(item), on: { \"click\": function click($event) {\n return _vm.handleClick('minutes', item);\n } } }, [_vm._v(_vm._s(_vm.formatTime(item.text)))]);\n }), 0)]), _vm._v(\" \"), _c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.showSeconds, expression: \"showSeconds\" }], ref: \"seconds\", class: [_vm.prefixCls + '-list'] }, [_c('ul', { class: [_vm.prefixCls + '-ul'] }, _vm._l(_vm.secondsList, function (item) {\n return _c('li', { directives: [{ name: \"show\", rawName: \"v-show\", value: !item.hide, expression: \"!item.hide\" }], class: _vm.getCellCls(item), on: { \"click\": function click($event) {\n return _vm.handleClick('seconds', item);\n } } }, [_vm._v(_vm._s(_vm.formatTime(item.text)))]);\n }), 0)])]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 405 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: [_vm.prefixCls + '-confirm'], on: { \"!keydown\": function keydown($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")) {\n return null;\n }return _vm.handleTab($event);\n } } }, [_vm.showTime ? _c('i-button', { class: _vm.timeClasses, attrs: { \"size\": \"small\", \"type\": \"text\", \"disabled\": _vm.timeDisabled }, on: { \"click\": _vm.handleToggleTime } }, [_vm._v(\"\\n \" + _vm._s(_vm.labels.time) + \"\\n \")]) : _vm._e(), _vm._v(\" \"), _c('i-button', { attrs: { \"size\": \"small\" }, nativeOn: { \"click\": function click($event) {\n return _vm.handleClear($event);\n }, \"keydown\": function keydown($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) {\n return null;\n }return _vm.handleClear($event);\n } } }, [_vm._v(\"\\n \" + _vm._s(_vm.labels.clear) + \"\\n \")]), _vm._v(\" \"), _c('i-button', { attrs: { \"size\": \"small\", \"type\": \"primary\" }, nativeOn: { \"click\": function click($event) {\n return _vm.handleSuccess($event);\n }, \"keydown\": function keydown($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) {\n return null;\n }return _vm.handleSuccess($event);\n } } }, [_vm._v(\"\\n \" + _vm._s(_vm.labels.ok) + \"\\n \")])], 1);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 406 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: [_vm.prefixCls + '-body-wrapper'], on: { \"mousedown\": function mousedown($event) {\n $event.preventDefault();\n } } }, [_c('div', { class: [_vm.prefixCls + '-body'] }, [_vm.showDate ? _c('div', { class: [_vm.timePrefixCls + '-header'] }, [_vm._v(_vm._s(_vm.visibleDate))]) : _vm._e(), _vm._v(\" \"), _c('div', { class: [_vm.prefixCls + '-content'] }, [_c('time-spinner', { ref: \"timeSpinner\", attrs: { \"show-seconds\": _vm.showSeconds, \"steps\": _vm.steps, \"hours\": _vm.timeSlots[0], \"minutes\": _vm.timeSlots[1], \"seconds\": _vm.timeSlots[2], \"disabled-hours\": _vm.disabledHMS.disabledHours, \"disabled-minutes\": _vm.disabledHMS.disabledMinutes, \"disabled-seconds\": _vm.disabledHMS.disabledSeconds, \"hide-disabled-options\": _vm.hideDisabledOptions }, on: { \"on-change\": _vm.handleChange, \"on-pick-click\": _vm.handlePickClick } })], 1), _vm._v(\" \"), _vm.confirm ? _c('Confirm', { on: { \"on-pick-clear\": _vm.handlePickClear, \"on-pick-success\": _vm.handlePickSuccess } }) : _vm._e()], 1)]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 407 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('span', [_vm.datePanelLabel ? _c('span', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.datePanelLabel.labels[0].type === 'year' || _vm.currentView === 'date', expression: \"datePanelLabel.labels[0].type === 'year' || currentView === 'date'\" }], class: [_vm.datePrefixCls + '-header-label'], on: { \"click\": _vm.datePanelLabel.labels[0].handler } }, [_vm._v(_vm._s(_vm.datePanelLabel.labels[0].label))]) : _vm._e(), _vm._v(\" \"), _vm.datePanelLabel && _vm.currentView === 'date' ? [_vm._v(_vm._s(_vm.datePanelLabel.separator))] : _vm._e(), _vm._v(\" \"), _vm.datePanelLabel ? _c('span', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.datePanelLabel.labels[1].type === 'year' || _vm.currentView === 'date', expression: \"datePanelLabel.labels[1].type === 'year' || currentView === 'date'\" }], class: [_vm.datePrefixCls + '-header-label'], on: { \"click\": _vm.datePanelLabel.labels[1].handler } }, [_vm._v(_vm._s(_vm.datePanelLabel.labels[1].label))]) : _vm._e()], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 408 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes, on: { \"mousedown\": function mousedown($event) {\n $event.preventDefault();\n } } }, [_vm.shortcuts.length ? _c('div', { class: [_vm.prefixCls + '-sidebar'] }, _vm._l(_vm.shortcuts, function (shortcut) {\n return _c('div', { class: [_vm.prefixCls + '-shortcut'], on: { \"click\": function click($event) {\n return _vm.handleShortcutClick(shortcut);\n } } }, [_vm._v(_vm._s(shortcut.text))]);\n }), 0) : _vm._e(), _vm._v(\" \"), _c('div', { class: [_vm.prefixCls + '-body'] }, [_c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.currentView !== 'time', expression: \"currentView !== 'time'\" }], class: [_vm.datePrefixCls + '-header'] }, [_c('span', { class: _vm.iconBtnCls('prev', '-double'), on: { \"click\": function click($event) {\n return _vm.changeYear(-1);\n } } }, [_c('Icon', { attrs: { \"type\": \"ios-arrow-back\" } })], 1), _vm._v(\" \"), _vm.pickerTable === 'date-table' ? _c('span', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.currentView === 'date', expression: \"currentView === 'date'\" }], class: _vm.iconBtnCls('prev'), on: { \"click\": function click($event) {\n return _vm.changeMonth(-1);\n } } }, [_c('Icon', { attrs: { \"type\": \"ios-arrow-back\" } })], 1) : _vm._e(), _vm._v(\" \"), _c('date-panel-label', { attrs: { \"date-panel-label\": _vm.datePanelLabel, \"current-view\": _vm.pickerTable.split('-').shift(), \"date-prefix-cls\": _vm.datePrefixCls } }), _vm._v(\" \"), _c('span', { class: _vm.iconBtnCls('next', '-double'), on: { \"click\": function click($event) {\n return _vm.changeYear(+1);\n } } }, [_c('Icon', { attrs: { \"type\": \"ios-arrow-forward\" } })], 1), _vm._v(\" \"), _vm.pickerTable === 'date-table' ? _c('span', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.currentView === 'date', expression: \"currentView === 'date'\" }], class: _vm.iconBtnCls('next'), on: { \"click\": function click($event) {\n return _vm.changeMonth(+1);\n } } }, [_c('Icon', { attrs: { \"type\": \"ios-arrow-forward\" } })], 1) : _vm._e()], 1), _vm._v(\" \"), _c('div', { class: [_vm.prefixCls + '-content'] }, [_vm.currentView !== 'time' ? _c(_vm.pickerTable, { ref: \"pickerTable\", tag: \"component\", attrs: { \"table-date\": _vm.panelDate, \"show-week-numbers\": _vm.showWeekNumbers, \"value\": _vm.dates, \"selection-mode\": _vm.selectionMode, \"disabled-date\": _vm.disabledDate, \"focused-date\": _vm.focusedDate }, on: { \"on-pick\": _vm.panelPickerHandlers, \"on-pick-click\": _vm.handlePickClick } }) : _vm._e()], 1), _vm._v(\" \"), _c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.isTime, expression: \"isTime\" }], class: [_vm.prefixCls + '-content'] }, [_vm.currentView === 'time' ? _c('time-picker', _vm._b({ ref: \"timePicker\", attrs: { \"value\": _vm.dates, \"format\": _vm.format, \"time-disabled\": _vm.timeDisabled, \"disabled-date\": _vm.disabledDate, \"focused-date\": _vm.focusedDate }, on: { \"on-pick\": _vm.handlePick, \"on-pick-click\": _vm.handlePickClick, \"on-pick-clear\": _vm.handlePickClear, \"on-pick-success\": _vm.handlePickSuccess, \"on-pick-toggle-time\": _vm.handleToggleTime } }, 'time-picker', _vm.timePickerOptions, false)) : _vm._e()], 1), _vm._v(\" \"), _vm.confirm ? _c('Confirm', { attrs: { \"show-time\": _vm.showTime, \"is-time\": _vm.isTime }, on: { \"on-pick-toggle-time\": _vm.handleToggleTime, \"on-pick-clear\": _vm.handlePickClear, \"on-pick-success\": _vm.handlePickSuccess } }) : _vm._e()], 1)]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 409 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_range_vue__ = __webpack_require__(164);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_range_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_range_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_range_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_range_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1a215f1a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_date_range_vue__ = __webpack_require__(411);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1a215f1a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_date_range_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1a215f1a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_date_range_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_date_range_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1a215f1a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_date_range_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1a215f1a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_date_range_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 410 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes, on: { \"mousedown\": function mousedown($event) {\n $event.preventDefault();\n } } }, [_c('div', { class: [_vm.prefixCls + '-body'] }, [_c('div', { class: [_vm.prefixCls + '-content', _vm.prefixCls + '-content-left'] }, [_c('div', { class: [_vm.timePrefixCls + '-header'] }, [_vm.showDate ? [_vm._v(_vm._s(_vm.leftDatePanelLabel))] : [_vm._v(_vm._s(_vm.t('i.datepicker.startTime')))]], 2), _vm._v(\" \"), _c('time-spinner', { ref: \"timeSpinner\", attrs: { \"steps\": _vm.steps, \"show-seconds\": _vm.showSeconds, \"hours\": _vm.value[0] && _vm.dateStart.getHours(), \"minutes\": _vm.value[0] && _vm.dateStart.getMinutes(), \"seconds\": _vm.value[0] && _vm.dateStart.getSeconds(), \"disabled-hours\": _vm.disabledHours, \"disabled-minutes\": _vm.disabledMinutes, \"disabled-seconds\": _vm.disabledSeconds, \"hide-disabled-options\": _vm.hideDisabledOptions }, on: { \"on-change\": _vm.handleStartChange, \"on-pick-click\": _vm.handlePickClick } })], 1), _vm._v(\" \"), _c('div', { class: [_vm.prefixCls + '-content', _vm.prefixCls + '-content-right'] }, [_c('div', { class: [_vm.timePrefixCls + '-header'] }, [_vm.showDate ? [_vm._v(_vm._s(_vm.rightDatePanelLabel))] : [_vm._v(_vm._s(_vm.t('i.datepicker.endTime')))]], 2), _vm._v(\" \"), _c('time-spinner', { ref: \"timeSpinnerEnd\", attrs: { \"steps\": _vm.steps, \"show-seconds\": _vm.showSeconds, \"hours\": _vm.value[1] && _vm.dateEnd.getHours(), \"minutes\": _vm.value[1] && _vm.dateEnd.getMinutes(), \"seconds\": _vm.value[1] && _vm.dateEnd.getSeconds(), \"disabled-hours\": _vm.disabledHours, \"disabled-minutes\": _vm.disabledMinutes, \"disabled-seconds\": _vm.disabledSeconds, \"hide-disabled-options\": _vm.hideDisabledOptions }, on: { \"on-change\": _vm.handleEndChange, \"on-pick-click\": _vm.handlePickClick } })], 1), _vm._v(\" \"), _vm.confirm ? _c('Confirm', { on: { \"on-pick-clear\": _vm.handlePickClear, \"on-pick-success\": _vm.handlePickSuccess } }) : _vm._e()], 1)]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 411 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes, on: { \"mousedown\": function mousedown($event) {\n $event.preventDefault();\n } } }, [_vm.shortcuts.length ? _c('div', { class: [_vm.prefixCls + '-sidebar'] }, _vm._l(_vm.shortcuts, function (shortcut) {\n return _c('div', { class: [_vm.prefixCls + '-shortcut'], on: { \"click\": function click($event) {\n return _vm.handleShortcutClick(shortcut);\n } } }, [_vm._v(_vm._s(shortcut.text))]);\n }), 0) : _vm._e(), _vm._v(\" \"), _c('div', { class: _vm.panelBodyClasses }, [_c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: !_vm.isTime, expression: \"!isTime\" }], class: [_vm.prefixCls + '-content', _vm.prefixCls + '-content-left'] }, [_c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.currentView !== 'time', expression: \"currentView !== 'time'\" }], class: [_vm.datePrefixCls + '-header'] }, [_c('span', { class: _vm.iconBtnCls('prev', '-double'), on: { \"click\": function click($event) {\n return _vm.prevYear('left');\n } } }, [_c('Icon', { attrs: { \"type\": \"ios-arrow-back\" } })], 1), _vm._v(\" \"), _vm.leftPickerTable === 'date-table' ? _c('span', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.currentView === 'date', expression: \"currentView === 'date'\" }], class: _vm.iconBtnCls('prev'), on: { \"click\": function click($event) {\n return _vm.prevMonth('left');\n } } }, [_c('Icon', { attrs: { \"type\": \"ios-arrow-back\" } })], 1) : _vm._e(), _vm._v(\" \"), _c('date-panel-label', { attrs: { \"date-panel-label\": _vm.leftDatePanelLabel, \"current-view\": _vm.leftDatePanelView, \"date-prefix-cls\": _vm.datePrefixCls } }), _vm._v(\" \"), _vm.splitPanels || _vm.leftPickerTable !== 'date-table' ? _c('span', { class: _vm.iconBtnCls('next', '-double'), on: { \"click\": function click($event) {\n return _vm.nextYear('left');\n } } }, [_c('Icon', { attrs: { \"type\": \"ios-arrow-forward\" } })], 1) : _vm._e(), _vm._v(\" \"), _vm.splitPanels && _vm.leftPickerTable === 'date-table' ? _c('span', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.currentView === 'date', expression: \"currentView === 'date'\" }], class: _vm.iconBtnCls('next'), on: { \"click\": function click($event) {\n return _vm.nextMonth('left');\n } } }, [_c('Icon', { attrs: { \"type\": \"ios-arrow-forward\" } })], 1) : _vm._e()], 1), _vm._v(\" \"), _vm.currentView !== 'time' ? _c(_vm.leftPickerTable, { ref: \"leftYearTable\", tag: \"component\", attrs: { \"table-date\": _vm.leftPanelDate, \"selection-mode\": \"range\", \"disabled-date\": _vm.disabledDate, \"range-state\": _vm.rangeState, \"show-week-numbers\": _vm.showWeekNumbers, \"value\": _vm.preSelecting.left ? [_vm.dates[0]] : _vm.dates, \"focused-date\": _vm.focusedDate }, on: { \"on-change-range\": _vm.handleChangeRange, \"on-pick\": _vm.panelPickerHandlers.left, \"on-pick-click\": _vm.handlePickClick } }) : _vm._e()], 1), _vm._v(\" \"), _c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: !_vm.isTime, expression: \"!isTime\" }], class: [_vm.prefixCls + '-content', _vm.prefixCls + '-content-right'] }, [_c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.currentView !== 'time', expression: \"currentView !== 'time'\" }], class: [_vm.datePrefixCls + '-header'] }, [_vm.splitPanels || _vm.rightPickerTable !== 'date-table' ? _c('span', { class: _vm.iconBtnCls('prev', '-double'), on: { \"click\": function click($event) {\n return _vm.prevYear('right');\n } } }, [_c('Icon', { attrs: { \"type\": \"ios-arrow-back\" } })], 1) : _vm._e(), _vm._v(\" \"), _vm.splitPanels && _vm.rightPickerTable === 'date-table' ? _c('span', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.currentView === 'date', expression: \"currentView === 'date'\" }], class: _vm.iconBtnCls('prev'), on: { \"click\": function click($event) {\n return _vm.prevMonth('right');\n } } }, [_c('Icon', { attrs: { \"type\": \"ios-arrow-back\" } })], 1) : _vm._e(), _vm._v(\" \"), _c('date-panel-label', { attrs: { \"date-panel-label\": _vm.rightDatePanelLabel, \"current-view\": _vm.rightDatePanelView, \"date-prefix-cls\": _vm.datePrefixCls } }), _vm._v(\" \"), _c('span', { class: _vm.iconBtnCls('next', '-double'), on: { \"click\": function click($event) {\n return _vm.nextYear('right');\n } } }, [_c('Icon', { attrs: { \"type\": \"ios-arrow-forward\" } })], 1), _vm._v(\" \"), _vm.rightPickerTable === 'date-table' ? _c('span', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.currentView === 'date', expression: \"currentView === 'date'\" }], class: _vm.iconBtnCls('next'), on: { \"click\": function click($event) {\n return _vm.nextMonth('right');\n } } }, [_c('Icon', { attrs: { \"type\": \"ios-arrow-forward\" } })], 1) : _vm._e()], 1), _vm._v(\" \"), _vm.currentView !== 'time' ? _c(_vm.rightPickerTable, { ref: \"rightYearTable\", tag: \"component\", attrs: { \"table-date\": _vm.rightPanelDate, \"selection-mode\": \"range\", \"range-state\": _vm.rangeState, \"disabled-date\": _vm.disabledDate, \"show-week-numbers\": _vm.showWeekNumbers, \"value\": _vm.preSelecting.right ? [_vm.dates[_vm.dates.length - 1]] : _vm.dates, \"focused-date\": _vm.focusedDate }, on: { \"on-change-range\": _vm.handleChangeRange, \"on-pick\": _vm.panelPickerHandlers.right, \"on-pick-click\": _vm.handlePickClick } }) : _vm._e()], 1), _vm._v(\" \"), _c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.isTime, expression: \"isTime\" }], class: [_vm.prefixCls + '-content'] }, [_vm.currentView === 'time' ? _c('time-picker', _vm._b({ ref: \"timePicker\", attrs: { \"value\": _vm.dates, \"format\": _vm.format, \"time-disabled\": _vm.timeDisabled }, on: { \"on-pick\": _vm.handleRangePick, \"on-pick-click\": _vm.handlePickClick, \"on-pick-clear\": _vm.handlePickClear, \"on-pick-success\": _vm.handlePickSuccess, \"on-pick-toggle-time\": _vm.handleToggleTime } }, 'time-picker', _vm.timePickerOptions, false)) : _vm._e()], 1), _vm._v(\" \"), _vm.confirm ? _c('Confirm', { attrs: { \"show-time\": _vm.showTime, \"is-time\": _vm.isTime, \"time-disabled\": _vm.timeDisabled }, on: { \"on-pick-toggle-time\": _vm.handleToggleTime, \"on-pick-clear\": _vm.handlePickClear, \"on-pick-success\": _vm.handlePickSuccess } }) : _vm._e()], 1)]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 412 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _divider = __webpack_require__(413);\n\nvar _divider2 = _interopRequireDefault(_divider);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _divider2.default;\n\n/***/ }),\n/* 413 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_divider_vue__ = __webpack_require__(167);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_divider_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_divider_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_divider_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_divider_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2c43cd56_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_divider_vue__ = __webpack_require__(414);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2c43cd56_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_divider_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2c43cd56_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_divider_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_divider_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2c43cd56_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_divider_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2c43cd56_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_divider_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 414 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes }, [_vm.hasSlot ? _c('span', { class: _vm.slotClasses }, [_vm._t(\"default\")], 2) : _vm._e()]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 415 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _drawer = __webpack_require__(416);\n\nvar _drawer2 = _interopRequireDefault(_drawer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _drawer2.default;\n\n/***/ }),\n/* 416 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_drawer_vue__ = __webpack_require__(168);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_drawer_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_drawer_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_drawer_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_drawer_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_709e561a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_drawer_vue__ = __webpack_require__(417);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_709e561a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_drawer_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_709e561a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_drawer_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_drawer_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_709e561a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_drawer_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_709e561a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_drawer_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 417 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { directives: [{ name: \"transfer-dom\", rawName: \"v-transfer-dom\" }], attrs: { \"data-transfer\": _vm.transfer } }, [_c('transition', { attrs: { \"name\": \"fade\" } }, [_vm.mask ? _c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.visible, expression: \"visible\" }], class: _vm.maskClasses, style: _vm.maskStyle, on: { \"click\": _vm.handleMask } }) : _vm._e()]), _vm._v(\" \"), _c('div', { class: _vm.wrapClasses, on: { \"click\": _vm.handleWrapClick } }, [_c('transition', { attrs: { \"name\": 'move-' + _vm.placement } }, [_c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.visible, expression: \"visible\" }], class: _vm.classes, style: _vm.mainStyles }, [_c('div', { ref: \"content\", class: _vm.contentClasses }, [_vm.closable ? _c('a', { staticClass: \"ivu-drawer-close\", on: { \"click\": _vm.close } }, [_vm._t(\"close\", [_c('Icon', { attrs: { \"type\": \"ios-close\" } })])], 2) : _vm._e(), _vm._v(\" \"), _vm.showHead ? _c('div', { class: [_vm.prefixCls + '-header'] }, [_vm._t(\"header\", [_c('div', { class: [_vm.prefixCls + '-header-inner'] }, [_vm._v(_vm._s(_vm.title))])])], 2) : _vm._e(), _vm._v(\" \"), _c('div', { class: [_vm.prefixCls + '-body'], style: _vm.styles }, [_vm._t(\"default\")], 2)]), _vm._v(\" \"), _vm.draggable ? _c('div', { staticClass: \"ivu-drawer-drag\", class: { 'ivu-drawer-drag-left': _vm.placement === 'left' }, on: { \"mousedown\": _vm.handleTriggerMousedown } }, [_vm._t(\"trigger\", [_c('div', { staticClass: \"ivu-drawer-drag-move-trigger\" }, [_c('div', { staticClass: \"ivu-drawer-drag-move-trigger-point\" }, [_c('i'), _c('i'), _c('i'), _c('i'), _c('i')])])])], 2) : _vm._e()])])], 1)], 1);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 418 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _dropdown = __webpack_require__(419);\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nvar _dropdownMenu = __webpack_require__(421);\n\nvar _dropdownMenu2 = _interopRequireDefault(_dropdownMenu);\n\nvar _dropdownItem = __webpack_require__(423);\n\nvar _dropdownItem2 = _interopRequireDefault(_dropdownItem);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_dropdown2.default.Menu = _dropdownMenu2.default;\n_dropdown2.default.Item = _dropdownItem2.default;\nexports.default = _dropdown2.default;\n\n/***/ }),\n/* 419 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_vue__ = __webpack_require__(169);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2c441ed4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dropdown_vue__ = __webpack_require__(420);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2c441ed4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dropdown_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2c441ed4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dropdown_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2c441ed4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dropdown_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2c441ed4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dropdown_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 420 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { directives: [{ name: \"click-outside\", rawName: \"v-click-outside\", value: _vm.onClickoutside, expression: \"onClickoutside\" }], class: [_vm.prefixCls], on: { \"mouseenter\": _vm.handleMouseenter, \"mouseleave\": _vm.handleMouseleave } }, [_c('div', { ref: \"reference\", class: _vm.relClasses, on: { \"click\": _vm.handleClick, \"contextmenu\": function contextmenu($event) {\n $event.preventDefault();return _vm.handleRightClick($event);\n } } }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('transition', { attrs: { \"name\": \"transition-drop\" } }, [_c('Drop', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.currentVisible, expression: \"currentVisible\" }, { name: \"transfer-dom\", rawName: \"v-transfer-dom\" }], ref: \"drop\", class: _vm.dropdownCls, attrs: { \"placement\": _vm.placement, \"data-transfer\": _vm.transfer, \"transfer\": _vm.transfer }, nativeOn: { \"mouseenter\": function mouseenter($event) {\n return _vm.handleMouseenter($event);\n }, \"mouseleave\": function mouseleave($event) {\n return _vm.handleMouseleave($event);\n } } }, [_vm._t(\"list\")], 2)], 1)], 1);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 421 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_menu_vue__ = __webpack_require__(170);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_menu_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_menu_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_menu_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_menu_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_b48d9576_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dropdown_menu_vue__ = __webpack_require__(422);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_b48d9576_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dropdown_menu_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_b48d9576_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dropdown_menu_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_menu_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_b48d9576_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dropdown_menu_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_b48d9576_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dropdown_menu_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 422 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('ul', { staticClass: \"ivu-dropdown-menu\" }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 423 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_item_vue__ = __webpack_require__(171);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_item_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_item_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_item_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_item_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_567cc1ec_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dropdown_item_vue__ = __webpack_require__(424);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_567cc1ec_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dropdown_item_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_567cc1ec_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dropdown_item_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_dropdown_item_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_567cc1ec_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dropdown_item_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_567cc1ec_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dropdown_item_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 424 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('li', { class: _vm.classes, on: { \"click\": _vm.handleClick } }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 425 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _footer = __webpack_require__(172);\n\nvar _footer2 = _interopRequireDefault(_footer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _footer2.default;\n\n/***/ }),\n/* 426 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.wrapClasses }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 427 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _form = __webpack_require__(428);\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formItem = __webpack_require__(440);\n\nvar _formItem2 = _interopRequireDefault(_formItem);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_form2.default.Item = _formItem2.default;\nexports.default = _form2.default;\n\n/***/ }),\n/* 428 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_form_vue__ = __webpack_require__(174);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_form_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_form_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_form_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_form_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_c7206b72_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_form_vue__ = __webpack_require__(439);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_c7206b72_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_form_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_c7206b72_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_form_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_form_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_c7206b72_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_form_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_c7206b72_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_form_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 429 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(110);\n__webpack_require__(45);\n__webpack_require__(51);\n__webpack_require__(430);\n__webpack_require__(437);\n__webpack_require__(438);\nmodule.exports = __webpack_require__(6).Promise;\n\n\n/***/ }),\n/* 430 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(52);\nvar global = __webpack_require__(9);\nvar ctx = __webpack_require__(42);\nvar classof = __webpack_require__(69);\nvar $export = __webpack_require__(10);\nvar isObject = __webpack_require__(28);\nvar aFunction = __webpack_require__(49);\nvar anInstance = __webpack_require__(431);\nvar forOf = __webpack_require__(432);\nvar speciesConstructor = __webpack_require__(176);\nvar task = __webpack_require__(177).set;\nvar microtask = __webpack_require__(434)();\nvar newPromiseCapabilityModule = __webpack_require__(80);\nvar perform = __webpack_require__(178);\nvar promiseResolve = __webpack_require__(179);\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[__webpack_require__(11)('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = __webpack_require__(435)($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n__webpack_require__(53)($Promise, PROMISE);\n__webpack_require__(436)(PROMISE);\nWrapper = __webpack_require__(6)[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(104)(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n/***/ }),\n/* 431 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n/***/ }),\n/* 432 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(42);\nvar call = __webpack_require__(102);\nvar isArrayIter = __webpack_require__(103);\nvar anObject = __webpack_require__(19);\nvar toLength = __webpack_require__(60);\nvar getIterFn = __webpack_require__(68);\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n/***/ }),\n/* 433 */\n/***/ (function(module, exports) {\n\n// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n/***/ }),\n/* 434 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(9);\nvar macrotask = __webpack_require__(177).set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __webpack_require__(41)(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve();\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n/***/ }),\n/* 435 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar hide = __webpack_require__(27);\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n\n\n/***/ }),\n/* 436 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(9);\nvar core = __webpack_require__(6);\nvar dP = __webpack_require__(18);\nvar DESCRIPTORS = __webpack_require__(22);\nvar SPECIES = __webpack_require__(11)('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n/***/ }),\n/* 437 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// https://github.com/tc39/proposal-promise-finally\n\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(6);\nvar global = __webpack_require__(9);\nvar speciesConstructor = __webpack_require__(176);\nvar promiseResolve = __webpack_require__(179);\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n\n\n/***/ }),\n/* 438 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-promise-try\nvar $export = __webpack_require__(10);\nvar newPromiseCapability = __webpack_require__(80);\nvar perform = __webpack_require__(178);\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n\n\n/***/ }),\n/* 439 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('form', { class: _vm.classes, attrs: { \"autocomplete\": _vm.autocomplete } }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 440 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_form_item_vue__ = __webpack_require__(180);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_form_item_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_form_item_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_form_item_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_form_item_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_213c8f3a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_form_item_vue__ = __webpack_require__(463);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_213c8f3a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_form_item_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_213c8f3a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_form_item_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_form_item_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_213c8f3a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_form_item_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_213c8f3a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_form_item_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 441 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _util = __webpack_require__(7);\n\nvar _validator = __webpack_require__(442);\n\nvar _validator2 = _interopRequireDefault(_validator);\n\nvar _messages2 = __webpack_require__(462);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\nfunction Schema(descriptor) {\n this.rules = null;\n this._messages = _messages2.messages;\n this.define(descriptor);\n}\n\nSchema.prototype = {\n messages: function messages(_messages) {\n if (_messages) {\n this._messages = (0, _util.deepMerge)((0, _messages2.newMessages)(), _messages);\n }\n return this._messages;\n },\n define: function define(rules) {\n if (!rules) {\n throw new Error('Cannot configure a schema with no rules');\n }\n if ((typeof rules === 'undefined' ? 'undefined' : _typeof(rules)) !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n this.rules = {};\n var z = void 0;\n var item = void 0;\n for (z in rules) {\n if (rules.hasOwnProperty(z)) {\n item = rules[z];\n this.rules[z] = Array.isArray(item) ? item : [item];\n }\n }\n },\n validate: function validate(source_) {\n var _this = this;\n\n var o = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var oc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};\n\n var source = source_;\n var options = o;\n var callback = oc;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!this.rules || Object.keys(this.rules).length === 0) {\n if (callback) {\n callback();\n }\n return Promise.resolve();\n }\n\n function complete(results) {\n var i = void 0;\n var errors = [];\n var fields = {};\n\n function add(e) {\n if (Array.isArray(e)) {\n var _errors;\n\n errors = (_errors = errors).concat.apply(_errors, e);\n } else {\n errors.push(e);\n }\n }\n\n for (i = 0; i < results.length; i++) {\n add(results[i]);\n }\n if (!errors.length) {\n errors = null;\n fields = null;\n } else {\n fields = (0, _util.convertFieldsError)(errors);\n }\n callback(errors, fields);\n }\n\n if (options.messages) {\n var messages = this.messages();\n if (messages === _messages2.messages) {\n messages = (0, _messages2.newMessages)();\n }\n (0, _util.deepMerge)(messages, options.messages);\n options.messages = messages;\n } else {\n options.messages = this.messages();\n }\n var arr = void 0;\n var value = void 0;\n var series = {};\n var keys = options.keys || Object.keys(this.rules);\n keys.forEach(function (z) {\n arr = _this.rules[z];\n value = source[z];\n arr.forEach(function (r) {\n var rule = r;\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = _extends({}, source);\n }\n value = source[z] = rule.transform(value);\n }\n if (typeof rule === 'function') {\n rule = {\n validator: rule\n };\n } else {\n rule = _extends({}, rule);\n }\n rule.validator = _this.getValidationMethod(rule);\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = _this.getType(rule);\n if (!rule.validator) {\n return;\n }\n series[z] = series[z] || [];\n series[z].push({\n rule: rule,\n value: value,\n source: source,\n field: z\n });\n });\n });\n var errorFields = {};\n return (0, _util.asyncMap)(series, options, function (data, doIt) {\n var rule = data.rule;\n var deep = (rule.type === 'object' || rule.type === 'array') && (_typeof(rule.fields) === 'object' || _typeof(rule.defaultField) === 'object');\n deep = deep && (rule.required || !rule.required && data.value);\n rule.field = data.field;\n\n function addFullfield(key, schema) {\n return _extends({}, schema, {\n fullField: rule.fullField + '.' + key\n });\n }\n\n function cb() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var errors = e;\n if (!Array.isArray(errors)) {\n errors = [errors];\n }\n if (!options.suppressWarning && errors.length) {\n Schema.warning('async-validator:', errors);\n }\n if (errors.length && rule.message) {\n errors = [].concat(rule.message);\n }\n\n errors = errors.map((0, _util.complementError)(rule));\n\n if (options.first && errors.length) {\n errorFields[rule.field] = 1;\n return doIt(errors);\n }\n if (!deep) {\n doIt(errors);\n } else {\n // if rule is required but the target object\n // does not exist fail at the rule level and don't\n // go deeper\n if (rule.required && !data.value) {\n if (rule.message) {\n errors = [].concat(rule.message).map((0, _util.complementError)(rule));\n } else if (options.error) {\n errors = [options.error(rule, (0, _util.format)(options.messages.required, rule.field))];\n } else {\n errors = [];\n }\n return doIt(errors);\n }\n\n var fieldsSchema = {};\n if (rule.defaultField) {\n for (var k in data.value) {\n if (data.value.hasOwnProperty(k)) {\n fieldsSchema[k] = rule.defaultField;\n }\n }\n }\n fieldsSchema = _extends({}, fieldsSchema, data.rule.fields);\n for (var f in fieldsSchema) {\n if (fieldsSchema.hasOwnProperty(f)) {\n var fieldSchema = Array.isArray(fieldsSchema[f]) ? fieldsSchema[f] : [fieldsSchema[f]];\n fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));\n }\n }\n var schema = new Schema(fieldsSchema);\n schema.messages(options.messages);\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n schema.validate(data.value, data.rule.options || options, function (errs) {\n var finalErrors = [];\n if (errors && errors.length) {\n finalErrors.push.apply(finalErrors, errors);\n }\n if (errs && errs.length) {\n finalErrors.push.apply(finalErrors, errs);\n }\n doIt(finalErrors.length ? finalErrors : null);\n });\n }\n }\n\n var res = void 0;\n if (rule.asyncValidator) {\n res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n } else if (rule.validator) {\n res = rule.validator(rule, data.value, cb, data.source, options);\n if (res === true) {\n cb();\n } else if (res === false) {\n cb(rule.message || rule.field + ' fails');\n } else if (res instanceof Array) {\n cb(res);\n } else if (res instanceof Error) {\n cb(res.message);\n }\n }\n if (res && res.then) {\n res.then(function () {\n return cb();\n }, function (e) {\n return cb(e);\n });\n }\n }, function (results) {\n complete(results);\n });\n },\n getType: function getType(rule) {\n if (rule.type === undefined && rule.pattern instanceof RegExp) {\n rule.type = 'pattern';\n }\n if (typeof rule.validator !== 'function' && rule.type && !_validator2['default'].hasOwnProperty(rule.type)) {\n throw new Error((0, _util.format)('Unknown rule type %s', rule.type));\n }\n return rule.type || 'string';\n },\n getValidationMethod: function getValidationMethod(rule) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n var keys = Object.keys(rule);\n var messageIndex = keys.indexOf('message');\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n if (keys.length === 1 && keys[0] === 'required') {\n return _validator2['default'].required;\n }\n return _validator2['default'][this.getType(rule)] || false;\n }\n};\n\nSchema.register = function register(type, validator) {\n if (typeof validator !== 'function') {\n throw new Error('Cannot register a validator by type, validator is not a function');\n }\n _validator2['default'][type] = validator;\n};\n\nSchema.warning = _util.warning;\n\nSchema.messages = _messages2.messages;\n\nexports['default'] = Schema;\n\n/***/ }),\n/* 442 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _string = __webpack_require__(443);\n\nvar _string2 = _interopRequireDefault(_string);\n\nvar _method = __webpack_require__(449);\n\nvar _method2 = _interopRequireDefault(_method);\n\nvar _number = __webpack_require__(450);\n\nvar _number2 = _interopRequireDefault(_number);\n\nvar _boolean = __webpack_require__(451);\n\nvar _boolean2 = _interopRequireDefault(_boolean);\n\nvar _regexp = __webpack_require__(452);\n\nvar _regexp2 = _interopRequireDefault(_regexp);\n\nvar _integer = __webpack_require__(453);\n\nvar _integer2 = _interopRequireDefault(_integer);\n\nvar _float = __webpack_require__(454);\n\nvar _float2 = _interopRequireDefault(_float);\n\nvar _array = __webpack_require__(455);\n\nvar _array2 = _interopRequireDefault(_array);\n\nvar _object = __webpack_require__(456);\n\nvar _object2 = _interopRequireDefault(_object);\n\nvar _enum = __webpack_require__(457);\n\nvar _enum2 = _interopRequireDefault(_enum);\n\nvar _pattern = __webpack_require__(458);\n\nvar _pattern2 = _interopRequireDefault(_pattern);\n\nvar _date = __webpack_require__(459);\n\nvar _date2 = _interopRequireDefault(_date);\n\nvar _required = __webpack_require__(460);\n\nvar _required2 = _interopRequireDefault(_required);\n\nvar _type = __webpack_require__(461);\n\nvar _type2 = _interopRequireDefault(_type);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = {\n string: _string2['default'],\n method: _method2['default'],\n number: _number2['default'],\n boolean: _boolean2['default'],\n regexp: _regexp2['default'],\n integer: _integer2['default'],\n float: _float2['default'],\n array: _array2['default'],\n object: _object2['default'],\n 'enum': _enum2['default'],\n pattern: _pattern2['default'],\n date: _date2['default'],\n url: _type2['default'],\n hex: _type2['default'],\n email: _type2['default'],\n required: _required2['default']\n};\n\n/***/ }),\n/* 443 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = __webpack_require__(12);\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = __webpack_require__(7);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Performs validation for string types.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction string(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value, 'string') && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options, 'string');\n if (!(0, _util.isEmptyValue)(value, 'string')) {\n _rule2['default'].type(rule, value, source, errors, options);\n _rule2['default'].range(rule, value, source, errors, options);\n _rule2['default'].pattern(rule, value, source, errors, options);\n if (rule.whitespace === true) {\n _rule2['default'].whitespace(rule, value, source, errors, options);\n }\n }\n }\n callback(errors);\n}\n\nexports['default'] = string;\n\n/***/ }),\n/* 444 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _util = __webpack_require__(7);\n\nvar util = _interopRequireWildcard(_util);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction whitespace(rule, value, source, errors, options) {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(util.format(options.messages.whitespace, rule.fullField));\n }\n}\n\nexports['default'] = whitespace;\n\n/***/ }),\n/* 445 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _util = __webpack_require__(7);\n\nvar util = _interopRequireWildcard(_util);\n\nvar _required = __webpack_require__(181);\n\nvar _required2 = _interopRequireDefault(_required);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\n/* eslint max-len:0 */\n\nvar pattern = {\n // http://emailregex.com/\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n url: new RegExp('^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-?)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-?)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$', 'i'),\n hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i\n};\n\nvar types = {\n integer: function integer(value) {\n return types.number(value) && parseInt(value, 10) === value;\n },\n float: function float(value) {\n return types.number(value) && !types.integer(value);\n },\n array: function array(value) {\n return Array.isArray(value);\n },\n regexp: function regexp(value) {\n if (value instanceof RegExp) {\n return true;\n }\n try {\n return !!new RegExp(value);\n } catch (e) {\n return false;\n }\n },\n date: function date(value) {\n return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function';\n },\n number: function number(value) {\n if (isNaN(value)) {\n return false;\n }\n return typeof value === 'number';\n },\n object: function object(value) {\n return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && !types.array(value);\n },\n method: function method(value) {\n return typeof value === 'function';\n },\n email: function email(value) {\n return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;\n },\n url: function url(value) {\n return typeof value === 'string' && !!value.match(pattern.url);\n },\n hex: function hex(value) {\n return typeof value === 'string' && !!value.match(pattern.hex);\n }\n};\n\n/**\n * Rule for validating the type of a value.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction type(rule, value, source, errors, options) {\n if (rule.required && value === undefined) {\n (0, _required2['default'])(rule, value, source, errors, options);\n return;\n }\n var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];\n var ruleType = rule.type;\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(util.format(options.messages.types[ruleType], rule.fullField, rule.type));\n }\n // straight typeof check\n } else if (ruleType && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== rule.type) {\n errors.push(util.format(options.messages.types[ruleType], rule.fullField, rule.type));\n }\n}\n\nexports['default'] = type;\n\n/***/ }),\n/* 446 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _util = __webpack_require__(7);\n\nvar util = _interopRequireWildcard(_util);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\n/**\n * Rule for validating minimum and maximum allowed values.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction range(rule, value, source, errors, options) {\n var len = typeof rule.len === 'number';\n var min = typeof rule.min === 'number';\n var max = typeof rule.max === 'number';\n // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n var spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n var val = value;\n var key = null;\n var num = typeof value === 'number';\n var str = typeof value === 'string';\n var arr = Array.isArray(value);\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\n }\n // if the value is not of a supported type for range validation\n // the validation rule rule should use the\n // type property to also test for a particular type\n if (!key) {\n return false;\n }\n if (arr) {\n val = value.length;\n }\n if (str) {\n // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n val = value.replace(spRegexp, '_').length;\n }\n if (len) {\n if (val !== rule.len) {\n errors.push(util.format(options.messages[key].len, rule.fullField, rule.len));\n }\n } else if (min && !max && val < rule.min) {\n errors.push(util.format(options.messages[key].min, rule.fullField, rule.min));\n } else if (max && !min && val > rule.max) {\n errors.push(util.format(options.messages[key].max, rule.fullField, rule.max));\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(util.format(options.messages[key].range, rule.fullField, rule.min, rule.max));\n }\n}\n\nexports['default'] = range;\n\n/***/ }),\n/* 447 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _util = __webpack_require__(7);\n\nvar util = _interopRequireWildcard(_util);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nvar ENUM = 'enum';\n\n/**\n * Rule for validating a value exists in an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction enumerable(rule, value, source, errors, options) {\n rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n if (rule[ENUM].indexOf(value) === -1) {\n errors.push(util.format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')));\n }\n}\n\nexports['default'] = enumerable;\n\n/***/ }),\n/* 448 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _util = __webpack_require__(7);\n\nvar util = _interopRequireWildcard(_util);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\n/**\n * Rule for validating a regular expression pattern.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction pattern(rule, value, source, errors, options) {\n if (rule.pattern) {\n if (rule.pattern instanceof RegExp) {\n // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n // flag is accidentally set to `true`, which in a validation scenario\n // is not necessary and the result might be misleading\n rule.pattern.lastIndex = 0;\n if (!rule.pattern.test(value)) {\n errors.push(util.format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n } else if (typeof rule.pattern === 'string') {\n var _pattern = new RegExp(rule.pattern);\n if (!_pattern.test(value)) {\n errors.push(util.format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n }\n }\n}\n\nexports['default'] = pattern;\n\n/***/ }),\n/* 449 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = __webpack_require__(12);\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = __webpack_require__(7);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates a function.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction method(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (value !== undefined) {\n _rule2['default'].type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = method;\n\n/***/ }),\n/* 450 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = __webpack_require__(12);\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = __webpack_require__(7);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates a number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction number(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (value === '') {\n value = undefined;\n }\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (value !== undefined) {\n _rule2['default'].type(rule, value, source, errors, options);\n _rule2['default'].range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = number;\n\n/***/ }),\n/* 451 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _util = __webpack_require__(7);\n\nvar _rule = __webpack_require__(12);\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates a boolean.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction boolean(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (value !== undefined) {\n _rule2['default'].type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = boolean;\n\n/***/ }),\n/* 452 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = __webpack_require__(12);\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = __webpack_require__(7);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates the regular expression type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction regexp(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (!(0, _util.isEmptyValue)(value)) {\n _rule2['default'].type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = regexp;\n\n/***/ }),\n/* 453 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = __webpack_require__(12);\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = __webpack_require__(7);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates a number is an integer.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction integer(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (value !== undefined) {\n _rule2['default'].type(rule, value, source, errors, options);\n _rule2['default'].range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = integer;\n\n/***/ }),\n/* 454 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = __webpack_require__(12);\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = __webpack_require__(7);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates a number is a floating point number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction floatFn(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (value !== undefined) {\n _rule2['default'].type(rule, value, source, errors, options);\n _rule2['default'].range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = floatFn;\n\n/***/ }),\n/* 455 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = __webpack_require__(12);\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = __webpack_require__(7);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates an array.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction array(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value, 'array') && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options, 'array');\n if (!(0, _util.isEmptyValue)(value, 'array')) {\n _rule2['default'].type(rule, value, source, errors, options);\n _rule2['default'].range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = array;\n\n/***/ }),\n/* 456 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = __webpack_require__(12);\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = __webpack_require__(7);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates an object.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction object(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (value !== undefined) {\n _rule2['default'].type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = object;\n\n/***/ }),\n/* 457 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = __webpack_require__(12);\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = __webpack_require__(7);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar ENUM = 'enum';\n\n/**\n * Validates an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction enumerable(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (value) {\n _rule2['default'][ENUM](rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = enumerable;\n\n/***/ }),\n/* 458 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = __webpack_require__(12);\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = __webpack_require__(7);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates a regular expression pattern.\n *\n * Performs validation when a rule only contains\n * a pattern property but is not declared as a string type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction pattern(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value, 'string') && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (!(0, _util.isEmptyValue)(value, 'string')) {\n _rule2['default'].pattern(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = pattern;\n\n/***/ }),\n/* 459 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = __webpack_require__(12);\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = __webpack_require__(7);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction date(rule, value, callback, source, options) {\n // console.log('integer rule called %j', rule);\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n // console.log('validate on %s value', value);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (!(0, _util.isEmptyValue)(value)) {\n var dateObject = void 0;\n\n if (typeof value === 'number') {\n dateObject = new Date(value);\n } else {\n dateObject = value;\n }\n\n _rule2['default'].type(rule, dateObject, source, errors, options);\n if (dateObject) {\n _rule2['default'].range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n callback(errors);\n}\n\nexports['default'] = date;\n\n/***/ }),\n/* 460 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _rule = __webpack_require__(12);\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction required(rule, value, callback, source, options) {\n var errors = [];\n var type = Array.isArray(value) ? 'array' : typeof value === 'undefined' ? 'undefined' : _typeof(value);\n _rule2['default'].required(rule, value, source, errors, options, type);\n callback(errors);\n}\n\nexports['default'] = required;\n\n/***/ }),\n/* 461 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = __webpack_require__(12);\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = __webpack_require__(7);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction type(rule, value, callback, source, options) {\n var ruleType = rule.type;\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value, ruleType) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options, ruleType);\n if (!(0, _util.isEmptyValue)(value, ruleType)) {\n _rule2['default'].type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = type;\n\n/***/ }),\n/* 462 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.newMessages = newMessages;\nfunction newMessages() {\n return {\n 'default': 'Validation error on field %s',\n required: '%s is required',\n 'enum': '%s must be one of %s',\n whitespace: '%s cannot be empty',\n date: {\n format: '%s date %s is invalid for format %s',\n parse: '%s date could not be parsed, %s is invalid ',\n invalid: '%s date %s is invalid'\n },\n types: {\n string: '%s is not a %s',\n method: '%s is not a %s (function)',\n array: '%s is not an %s',\n object: '%s is not an %s',\n number: '%s is not a %s',\n date: '%s is not a %s',\n boolean: '%s is not a %s',\n integer: '%s is not an %s',\n float: '%s is not a %s',\n regexp: '%s is not a valid %s',\n email: '%s is not a valid %s',\n url: '%s is not a valid %s',\n hex: '%s is not a valid %s'\n },\n string: {\n len: '%s must be exactly %s characters',\n min: '%s must be at least %s characters',\n max: '%s cannot be longer than %s characters',\n range: '%s must be between %s and %s characters'\n },\n number: {\n len: '%s must equal %s',\n min: '%s cannot be less than %s',\n max: '%s cannot be greater than %s',\n range: '%s must be between %s and %s'\n },\n array: {\n len: '%s must be exactly %s in length',\n min: '%s cannot be less than %s in length',\n max: '%s cannot be greater than %s in length',\n range: '%s must be between %s and %s in length'\n },\n pattern: {\n mismatch: '%s value %s does not match pattern %s'\n },\n clone: function clone() {\n var cloned = JSON.parse(JSON.stringify(this));\n cloned.clone = this.clone;\n return cloned;\n }\n };\n}\n\nvar messages = exports.messages = newMessages();\n\n/***/ }),\n/* 463 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes }, [_vm.label || _vm.$slots.label ? _c('label', { class: [_vm.prefixCls + '-label'], style: _vm.labelStyles, attrs: { \"for\": _vm.labelFor } }, [_vm._t(\"label\", [_vm._v(_vm._s(_vm.label))])], 2) : _vm._e(), _vm._v(\" \"), _c('div', { class: [_vm.prefixCls + '-content'], style: _vm.contentStyles }, [_vm._t(\"default\"), _vm._v(\" \"), _c('transition', { attrs: { \"name\": \"fade\" } }, [_vm.validateState === 'error' && _vm.showMessage && _vm.form.showMessage ? _c('div', { class: [_vm.prefixCls + '-error-tip'] }, [_vm._v(_vm._s(_vm.validateMessage))]) : _vm._e()])], 2)]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 464 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _header = __webpack_require__(182);\n\nvar _header2 = _interopRequireDefault(_header);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _header2.default;\n\n/***/ }),\n/* 465 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.wrapClasses }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 466 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _input = __webpack_require__(37);\n\nvar _input2 = _interopRequireDefault(_input);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _input2.default;\n\n/***/ }),\n/* 467 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inputNumber = __webpack_require__(184);\n\nvar _inputNumber2 = _interopRequireDefault(_inputNumber);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _inputNumber2.default;\n\n/***/ }),\n/* 468 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.wrapClasses }, [_c('div', { class: _vm.handlerClasses }, [_c('a', { class: _vm.upClasses, on: { \"click\": _vm.up } }, [_c('span', { class: _vm.innerUpClasses, on: { \"click\": _vm.preventDefault } })]), _vm._v(\" \"), _c('a', { class: _vm.downClasses, on: { \"click\": _vm.down } }, [_c('span', { class: _vm.innerDownClasses, on: { \"click\": _vm.preventDefault } })])]), _vm._v(\" \"), _c('div', { class: _vm.inputWrapClasses }, [_c('input', { ref: \"precisionCursor\", class: _vm.inputClasses, attrs: { \"id\": _vm.elementId, \"disabled\": _vm.disabled, \"autocomplete\": \"off\", \"spellcheck\": \"false\", \"autofocus\": _vm.autofocus, \"readonly\": _vm.readonly || !_vm.editable, \"name\": _vm.name, \"placeholder\": _vm.placeholder }, domProps: { \"value\": _vm.formatterValue }, on: { \"focus\": _vm.focus, \"blur\": _vm.blur, \"keydown\": function keydown($event) {\n $event.stopPropagation();return _vm.keyDown($event);\n }, \"input\": _vm.change, \"mouseup\": _vm.preventDefault, \"change\": _vm.change } })])]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 469 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _scroll = __webpack_require__(470);\n\nvar _scroll2 = _interopRequireDefault(_scroll);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _scroll2.default;\n\n/***/ }),\n/* 470 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_scroll_vue__ = __webpack_require__(186);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_scroll_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_scroll_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_scroll_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_scroll_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2fa43128_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_scroll_vue__ = __webpack_require__(479);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2fa43128_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_scroll_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2fa43128_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_scroll_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_scroll_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2fa43128_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_scroll_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2fa43128_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_scroll_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 471 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(472), __esModule: true };\n\n/***/ }),\n/* 472 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(473);\nmodule.exports = __webpack_require__(6).Math.sign;\n\n\n/***/ }),\n/* 473 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.28 Math.sign(x)\nvar $export = __webpack_require__(10);\n\n$export($export.S, 'Math', { sign: __webpack_require__(474) });\n\n\n/***/ }),\n/* 474 */\n/***/ (function(module, exports) {\n\n// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n\n\n/***/ }),\n/* 475 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(107)))\n\n/***/ }),\n/* 476 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_loading_component_vue__ = __webpack_require__(187);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_loading_component_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_loading_component_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_loading_component_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_loading_component_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4cec29bd_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_loading_component_vue__ = __webpack_require__(478);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4cec29bd_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_loading_component_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4cec29bd_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_loading_component_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_loading_component_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4cec29bd_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_loading_component_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4cec29bd_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_loading_component_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 477 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('transition', { attrs: { \"name\": \"fade\" } }, [_vm.fullscreenVisible ? _c('div', { class: _vm.classes }, [_c('div', { class: _vm.mainClasses }, [_c('span', { class: _vm.dotClasses }), _vm._v(\" \"), _c('div', { class: _vm.textClasses }, [_vm._t(\"default\")], 2)])]) : _vm._e()]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 478 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.wrapperClasses }, [_c('div', { class: _vm.spinnerClasses }, [_c('Spin', { attrs: { \"fix\": \"\" } }, [_c('Icon', { class: _vm.iconClasses, attrs: { \"type\": \"ios-loading\", \"size\": \"18\" } }), _vm._v(\" \"), _vm.text ? _c('div', { class: _vm.textClasses }, [_vm._v(_vm._s(_vm.text))]) : _vm._e()], 1)], 1)]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 479 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.wrapClasses, staticStyle: { \"touch-action\": \"none\" } }, [_c('div', { ref: \"scrollContainer\", class: _vm.scrollContainerClasses, style: { height: _vm.height + 'px' }, on: { \"scroll\": _vm.handleScroll, \"wheel\": _vm.onWheel, \"touchstart\": _vm.onPointerDown } }, [_c('div', { ref: \"toploader\", class: _vm.loaderClasses, style: { paddingTop: _vm.wrapperPadding.paddingTop } }, [_c('loader', { attrs: { \"text\": _vm.localeLoadingText, \"active\": _vm.showTopLoader } })], 1), _vm._v(\" \"), _c('div', { ref: \"scrollContent\", class: _vm.slotContainerClasses }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', { ref: \"bottomLoader\", class: _vm.loaderClasses, style: { paddingBottom: _vm.wrapperPadding.paddingBottom } }, [_c('loader', { attrs: { \"text\": _vm.localeLoadingText, \"active\": _vm.showBottomLoader } })], 1)])]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 480 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _split = __webpack_require__(481);\n\nvar _split2 = _interopRequireDefault(_split);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _split2.default;\n\n/***/ }),\n/* 481 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_split_vue__ = __webpack_require__(189);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_split_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_split_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_split_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_split_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7c202332_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_split_vue__ = __webpack_require__(484);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7c202332_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_split_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7c202332_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_split_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_split_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7c202332_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_split_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7c202332_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_split_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 482 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_trigger_vue__ = __webpack_require__(190);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_trigger_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_trigger_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_trigger_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_trigger_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0291c3a0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_trigger_vue__ = __webpack_require__(483);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0291c3a0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_trigger_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0291c3a0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_trigger_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_trigger_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0291c3a0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_trigger_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0291c3a0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_trigger_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 483 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes }, [_c('div', { class: _vm.barConClasses }, _vm._m(0), 0)]);\n};\nvar staticRenderFns = [function () {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _vm._l(8, function (i) {\n return _c('i', { key: \"trigger-\" + i, class: _vm.prefix + \"-bar\" });\n });\n}];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 484 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { ref: \"outerWrapper\", class: _vm.wrapperClasses }, [_vm.isHorizontal ? _c('div', { class: _vm.prefix + \"-horizontal\" }, [_c('div', { staticClass: \"left-pane\", class: _vm.paneClasses, style: { right: _vm.anotherOffset + \"%\" } }, [_vm._t(\"left\")], 2), _vm._v(\" \"), _c('div', { class: _vm.prefix + \"-trigger-con\", style: { left: _vm.offset + \"%\" }, on: { \"mousedown\": _vm.handleMousedown } }, [_vm._t(\"trigger\", [_c('trigger', { attrs: { \"mode\": \"vertical\" } })])], 2), _vm._v(\" \"), _c('div', { staticClass: \"right-pane\", class: _vm.paneClasses, style: { left: _vm.offset + \"%\" } }, [_vm._t(\"right\")], 2)]) : _c('div', { class: _vm.prefix + \"-vertical\" }, [_c('div', { staticClass: \"top-pane\", class: _vm.paneClasses, style: { bottom: _vm.anotherOffset + \"%\" } }, [_vm._t(\"top\")], 2), _vm._v(\" \"), _c('div', { class: _vm.prefix + \"-trigger-con\", style: { top: _vm.offset + \"%\" }, on: { \"mousedown\": _vm.handleMousedown } }, [_vm._t(\"trigger\", [_c('trigger', { attrs: { \"mode\": \"horizontal\" } })])], 2), _vm._v(\" \"), _c('div', { staticClass: \"bottom-pane\", class: _vm.paneClasses, style: { top: _vm.offset + \"%\" } }, [_vm._t(\"bottom\")], 2)])]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 485 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _layout = __webpack_require__(486);\n\nvar _layout2 = _interopRequireDefault(_layout);\n\nvar _header = __webpack_require__(182);\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _sider = __webpack_require__(192);\n\nvar _sider2 = _interopRequireDefault(_sider);\n\nvar _content = __webpack_require__(145);\n\nvar _content2 = _interopRequireDefault(_content);\n\nvar _footer = __webpack_require__(172);\n\nvar _footer2 = _interopRequireDefault(_footer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_layout2.default.Header = _header2.default;\n_layout2.default.Sider = _sider2.default;\n_layout2.default.Content = _content2.default;\n_layout2.default.Footer = _footer2.default;\n\nexports.default = _layout2.default;\n\n/***/ }),\n/* 486 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_layout_vue__ = __webpack_require__(191);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_layout_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_layout_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_layout_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_layout_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_56315e54_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_layout_vue__ = __webpack_require__(487);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_56315e54_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_layout_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_56315e54_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_layout_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_layout_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_56315e54_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_layout_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_56315e54_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_layout_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 487 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.wrapClasses }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 488 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.wrapClasses, style: _vm.wrapStyles }, [_c('span', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.showZeroTrigger, expression: \"showZeroTrigger\" }], class: _vm.zeroWidthTriggerClasses, on: { \"click\": _vm.toggleCollapse } }, [_c('i', { staticClass: \"ivu-icon ivu-icon-ios-menu\" })]), _vm._v(\" \"), _c('div', { class: _vm.childClasses }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _vm._t(\"trigger\", [_c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.showBottomTrigger, expression: \"showBottomTrigger\" }], class: _vm.triggerClasses, style: { width: _vm.siderWidth + 'px' }, on: { \"click\": _vm.toggleCollapse } }, [_c('i', { class: _vm.triggerIconClasses })])])], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 489 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _list = __webpack_require__(490);\n\nvar _list2 = _interopRequireDefault(_list);\n\nvar _listItem = __webpack_require__(492);\n\nvar _listItem2 = _interopRequireDefault(_listItem);\n\nvar _listItemMeta = __webpack_require__(494);\n\nvar _listItemMeta2 = _interopRequireDefault(_listItemMeta);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_list2.default.Item = _listItem2.default;\n_list2.default.Item.Meta = _listItemMeta2.default;\n\nexports.default = _list2.default;\n\n/***/ }),\n/* 490 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_vue__ = __webpack_require__(194);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3c78b22c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_list_vue__ = __webpack_require__(491);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3c78b22c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_list_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3c78b22c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_list_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3c78b22c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_list_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3c78b22c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_list_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 491 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes }, [_vm.header || _vm.$slots.header ? _c('div', { staticClass: \"ivu-list-header\" }, [_vm._t(\"header\", [_vm._v(_vm._s(_vm.header))])], 2) : _vm._e(), _vm._v(\" \"), _c('div', { staticClass: \"ivu-list-container\" }, [_c('ul', { staticClass: \"ivu-list-items\" }, [_vm._t(\"default\")], 2)]), _vm._v(\" \"), _vm.loading ? _c('Spin', { attrs: { \"fix\": \"\", \"size\": \"large\" } }, [_vm._t(\"spin\")], 2) : _vm._e(), _vm._v(\" \"), _vm.footer || _vm.$slots.footer ? _c('div', { staticClass: \"ivu-list-footer\" }, [_vm._t(\"footer\", [_vm._v(_vm._s(_vm.footer))])], 2) : _vm._e()], 1);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 492 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_item_vue__ = __webpack_require__(195);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_item_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_item_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_item_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_item_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3e180205_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_list_item_vue__ = __webpack_require__(493);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3e180205_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_list_item_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3e180205_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_list_item_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_item_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3e180205_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_list_item_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3e180205_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_list_item_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 493 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('li', { staticClass: \"ivu-list-item\", class: _vm.classes }, [_vm.itemLayout === 'vertical' && _vm.$slots.extra ? [_c('div', { staticClass: \"ivu-list-item-main\" }, [_vm._t(\"default\"), _vm._v(\" \"), _vm.$slots.action ? _c('ul', { staticClass: \"ivu-list-item-action\" }, [_vm._t(\"action\")], 2) : _vm._e()], 2), _vm._v(\" \"), _c('div', { staticClass: \"ivu-list-item-extra\" }, [_vm._t(\"extra\")], 2)] : [_vm._t(\"default\"), _vm._v(\" \"), _vm.$slots.action ? _c('ul', { staticClass: \"ivu-list-item-action\" }, [_vm._t(\"action\")], 2) : _vm._e(), _vm._v(\" \"), _c('div', { staticClass: \"ivu-list-item-extra\" }, [_vm._t(\"extra\")], 2)]], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 494 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_item_meta_vue__ = __webpack_require__(196);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_item_meta_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_item_meta_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_item_meta_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_item_meta_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_52a75980_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_list_item_meta_vue__ = __webpack_require__(495);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_52a75980_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_list_item_meta_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_52a75980_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_list_item_meta_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_item_meta_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_52a75980_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_list_item_meta_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_52a75980_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_list_item_meta_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 495 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"ivu-list-item-meta\" }, [_vm.avatar || _vm.$slots.avatar ? _c('div', { staticClass: \"ivu-list-item-meta-avatar\" }, [_vm._t(\"avatar\", [_c('Avatar', { attrs: { \"src\": _vm.avatar } })])], 2) : _vm._e(), _vm._v(\" \"), _c('div', { staticClass: \"ivu-list-item-meta-content\" }, [_vm.title || _vm.$slots.title ? _c('div', { staticClass: \"ivu-list-item-meta-title\" }, [_vm._t(\"title\", [_vm._v(_vm._s(_vm.title))])], 2) : _vm._e(), _vm._v(\" \"), _vm.description || _vm.$slots.description ? _c('div', { staticClass: \"ivu-list-item-meta-description\" }, [_vm._t(\"description\", [_vm._v(_vm._s(_vm.description))])], 2) : _vm._e()])]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 496 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _loadingBar = __webpack_require__(497);\n\nvar _loadingBar2 = _interopRequireDefault(_loadingBar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar loadingBarInstance = void 0;\nvar color = 'primary';\nvar duration = 800;\nvar failedColor = 'error';\nvar height = 2;\nvar timer = void 0;\n\nfunction getLoadingBarInstance() {\n loadingBarInstance = loadingBarInstance || _loadingBar2.default.newInstance({\n color: color,\n failedColor: failedColor,\n height: height\n });\n\n return loadingBarInstance;\n}\n\nfunction _update(options) {\n var instance = getLoadingBarInstance();\n\n instance.update(options);\n}\n\nfunction hide() {\n var _this = this;\n\n setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n _update({\n show: false\n });\n setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n _update({\n percent: 0\n });\n }.bind(this), 200);\n }.bind(this), duration);\n}\n\nfunction clearTimer() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n}\n\nexports.default = {\n start: function start() {\n var _this2 = this;\n\n if (timer) return;\n\n var percent = 0;\n\n _update({\n percent: percent,\n status: 'success',\n show: true\n });\n\n timer = setInterval(function () {\n (0, _newArrowCheck3.default)(this, _this2);\n\n percent += Math.floor(Math.random() * 3 + 1);\n if (percent > 95) {\n clearTimer();\n }\n _update({\n percent: percent,\n status: 'success',\n show: true\n });\n }.bind(this), 200);\n },\n update: function update(percent) {\n clearTimer();\n _update({\n percent: percent,\n status: 'success',\n show: true\n });\n },\n finish: function finish() {\n clearTimer();\n _update({\n percent: 100,\n status: 'success',\n show: true\n });\n hide();\n },\n error: function error() {\n clearTimer();\n _update({\n percent: 100,\n status: 'error',\n show: true\n });\n hide();\n },\n config: function config(options) {\n if (options.color) {\n color = options.color;\n }\n if (options.duration) {\n duration = options.duration;\n }\n if (options.failedColor) {\n failedColor = options.failedColor;\n }\n if (options.height) {\n height = options.height;\n }\n },\n destroy: function destroy() {\n clearTimer();\n var instance = getLoadingBarInstance();\n loadingBarInstance = null;\n instance.destroy();\n }\n};\n\n/***/ }),\n/* 497 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _loadingBar = __webpack_require__(498);\n\nvar _loadingBar2 = _interopRequireDefault(_loadingBar);\n\nvar _vue = __webpack_require__(15);\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_loadingBar2.default.newInstance = function (properties) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var _props = properties || {};\n\n var Instance = new _vue2.default({\n data: _props,\n render: function render(h) {\n return h(_loadingBar2.default, {\n props: _props\n });\n }\n });\n\n var component = Instance.$mount();\n document.body.appendChild(component.$el);\n var loading_bar = Instance.$children[0];\n\n return {\n update: function update(options) {\n if ('percent' in options) {\n loading_bar.percent = options.percent;\n }\n if (options.status) {\n loading_bar.status = options.status;\n }\n if ('show' in options) {\n loading_bar.show = options.show;\n }\n },\n\n component: loading_bar,\n destroy: function destroy() {\n document.body.removeChild(document.getElementsByClassName('ivu-loading-bar')[0]);\n }\n };\n}.bind(undefined);\n\nexports.default = _loadingBar2.default;\n\n/***/ }),\n/* 498 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_loading_bar_vue__ = __webpack_require__(197);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_loading_bar_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_loading_bar_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_loading_bar_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_loading_bar_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_538863ac_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_loading_bar_vue__ = __webpack_require__(499);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_538863ac_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_loading_bar_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_538863ac_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_loading_bar_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_loading_bar_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_538863ac_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_loading_bar_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_538863ac_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_loading_bar_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 499 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('transition', { attrs: { \"name\": \"fade\" } }, [_c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.show, expression: \"show\" }], class: _vm.classes, style: _vm.outerStyles }, [_c('div', { class: _vm.innerClasses, style: _vm.styles })])]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 500 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _menu = __webpack_require__(501);\n\nvar _menu2 = _interopRequireDefault(_menu);\n\nvar _menuGroup = __webpack_require__(503);\n\nvar _menuGroup2 = _interopRequireDefault(_menuGroup);\n\nvar _menuItem = __webpack_require__(505);\n\nvar _menuItem2 = _interopRequireDefault(_menuItem);\n\nvar _submenu = __webpack_require__(507);\n\nvar _submenu2 = _interopRequireDefault(_submenu);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_menu2.default.Group = _menuGroup2.default;\n_menu2.default.Item = _menuItem2.default;\n_menu2.default.Sub = _submenu2.default;\n\nexports.default = _menu2.default;\n\n/***/ }),\n/* 501 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_vue__ = __webpack_require__(198);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_16a703f2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_menu_vue__ = __webpack_require__(502);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_16a703f2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_menu_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_16a703f2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_menu_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_16a703f2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_menu_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_16a703f2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_menu_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 502 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('ul', { class: _vm.classes, style: _vm.styles }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 503 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_group_vue__ = __webpack_require__(199);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_group_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_group_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_group_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_group_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6f7e247e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_menu_group_vue__ = __webpack_require__(504);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6f7e247e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_menu_group_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6f7e247e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_menu_group_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_group_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6f7e247e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_menu_group_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6f7e247e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_menu_group_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 504 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('li', { class: [_vm.prefixCls + '-item-group'] }, [_c('div', { class: [_vm.prefixCls + '-item-group-title'], style: _vm.groupStyle }, [_vm._v(_vm._s(_vm.title))]), _vm._v(\" \"), _c('ul', [_vm._t(\"default\")], 2)]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 505 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_item_vue__ = __webpack_require__(200);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_item_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_item_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_item_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_item_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1709792e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_menu_item_vue__ = __webpack_require__(506);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1709792e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_menu_item_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1709792e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_menu_item_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_item_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1709792e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_menu_item_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1709792e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_menu_item_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 506 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _vm.to ? _c('a', { class: _vm.classes, style: _vm.itemStyle, attrs: { \"href\": _vm.linkUrl, \"target\": _vm.target }, on: { \"click\": [function ($event) {\n if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) {\n return null;\n }return _vm.handleClickItem($event, false);\n }, function ($event) {\n if (!$event.ctrlKey) {\n return null;\n }return _vm.handleClickItem($event, true);\n }, function ($event) {\n if (!$event.metaKey) {\n return null;\n }return _vm.handleClickItem($event, true);\n }] } }, [_vm._t(\"default\")], 2) : _c('li', { class: _vm.classes, style: _vm.itemStyle, on: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.handleClickItem($event);\n } } }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 507 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_submenu_vue__ = __webpack_require__(201);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_submenu_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_submenu_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_submenu_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_submenu_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_a1f8bd1a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_submenu_vue__ = __webpack_require__(508);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_a1f8bd1a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_submenu_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_a1f8bd1a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_submenu_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_submenu_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_a1f8bd1a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_submenu_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_a1f8bd1a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_submenu_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 508 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('li', { class: _vm.classes, on: { \"mouseenter\": _vm.handleMouseenter, \"mouseleave\": _vm.handleMouseleave } }, [_c('div', { ref: \"reference\", class: [_vm.prefixCls + '-submenu-title'], style: _vm.titleStyle, on: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.handleClick($event);\n } } }, [_vm._t(\"title\"), _vm._v(\" \"), _c('Icon', { class: [_vm.prefixCls + '-submenu-title-icon'], attrs: { \"type\": _vm.arrowType, \"custom\": _vm.customArrowType, \"size\": _vm.arrowSize } })], 2), _vm._v(\" \"), _vm.mode === 'vertical' ? _c('collapse-transition', [_c('ul', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.opened, expression: \"opened\" }], class: [_vm.prefixCls] }, [_vm._t(\"default\")], 2)]) : _c('transition', { attrs: { \"name\": \"slide-up\" } }, [_c('Drop', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.opened, expression: \"opened\" }], ref: \"drop\", style: _vm.dropStyle, attrs: { \"placement\": \"bottom\" } }, [_c('ul', { class: [_vm.prefixCls + '-drop-list'] }, [_vm._t(\"default\")], 2)])], 1)], 1);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 509 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _notification = __webpack_require__(202);\n\nvar _notification2 = _interopRequireDefault(_notification);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-message';\nvar iconPrefixCls = 'ivu-icon';\nvar prefixKey = 'ivu_message_key_';\n\nvar defaults = {\n top: 24,\n duration: 1.5\n};\n\nvar messageInstance = void 0;\nvar name = 1;\n\nvar iconTypes = {\n 'info': 'ios-information-circle',\n 'success': 'ios-checkmark-circle',\n 'warning': 'ios-alert',\n 'error': 'ios-close-circle',\n 'loading': 'ios-loading'\n};\n\nfunction getMessageInstance() {\n messageInstance = messageInstance || _notification2.default.newInstance({\n prefixCls: prefixCls,\n styles: {\n top: String(defaults.top) + 'px'\n }\n });\n\n return messageInstance;\n}\n\nfunction notice() {\n var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaults.duration;\n var type = arguments[2];\n var onClose = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {};\n var closable = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var render = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : function () {};\n\n var iconType = iconTypes[type];\n\n var loadCls = type === 'loading' ? ' ivu-load-loop' : '';\n\n var instance = getMessageInstance();\n\n instance.notice({\n name: '' + prefixKey + name,\n duration: duration,\n styles: {},\n transitionName: 'move-up',\n content: '\\n <div class=\"' + prefixCls + '-custom-content ' + prefixCls + '-' + String(type) + '\">\\n <i class=\"' + iconPrefixCls + ' ' + iconPrefixCls + '-' + String(iconType) + ' ' + loadCls + '\"></i>\\n <span>' + String(content) + '</span>\\n </div>\\n ',\n render: render,\n onClose: onClose,\n closable: closable,\n type: 'message'\n });\n\n return function () {\n var target = name++;\n\n return function () {\n instance.remove('' + prefixKey + target);\n };\n }();\n}\n\nexports.default = {\n name: 'Message',\n\n info: function info(options) {\n return this.message('info', options);\n },\n success: function success(options) {\n return this.message('success', options);\n },\n warning: function warning(options) {\n return this.message('warning', options);\n },\n error: function error(options) {\n return this.message('error', options);\n },\n loading: function loading(options) {\n return this.message('loading', options);\n },\n message: function message(type, options) {\n if (typeof options === 'string') {\n options = {\n content: options\n };\n }\n return notice(options.content, options.duration, type, options.onClose, options.closable, options.render);\n },\n config: function config(options) {\n if (options.top || options.top === 0) {\n defaults.top = options.top;\n }\n if (options.duration || options.duration === 0) {\n defaults.duration = options.duration;\n }\n },\n destroy: function destroy() {\n var instance = getMessageInstance();\n messageInstance = null;\n instance.destroy('ivu-message');\n }\n};\n\n/***/ }),\n/* 510 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_notification_vue__ = __webpack_require__(203);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_notification_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_notification_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_notification_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_notification_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6259722e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_notification_vue__ = __webpack_require__(513);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6259722e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_notification_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6259722e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_notification_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_notification_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6259722e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_notification_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6259722e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_notification_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 511 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_notice_vue__ = __webpack_require__(204);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_notice_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_notice_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_notice_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_notice_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_e1345a4c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_notice_vue__ = __webpack_require__(512);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_e1345a4c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_notice_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_e1345a4c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_notice_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_notice_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_e1345a4c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_notice_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_e1345a4c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_notice_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 512 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('transition', { attrs: { \"name\": _vm.transitionName, \"appear\": \"\" }, on: { \"enter\": _vm.handleEnter, \"leave\": _vm.handleLeave } }, [_c('div', { class: _vm.classes, style: _vm.styles }, [_vm.type === 'notice' ? [_c('div', { ref: \"content\", class: _vm.contentClasses, domProps: { \"innerHTML\": _vm._s(_vm.content) } }), _vm._v(\" \"), _c('div', { class: _vm.contentWithIcon }, [_c('render-cell', { attrs: { \"render\": _vm.renderFunc } })], 1), _vm._v(\" \"), _vm.closable ? _c('a', { class: [_vm.baseClass + '-close'], on: { \"click\": _vm.close } }, [_c('i', { staticClass: \"ivu-icon ivu-icon-ios-close\" })]) : _vm._e()] : _vm._e(), _vm._v(\" \"), _vm.type === 'message' ? [_c('div', { ref: \"content\", class: [_vm.baseClass + '-content'] }, [_c('div', { class: [_vm.baseClass + '-content-text'], domProps: { \"innerHTML\": _vm._s(_vm.content) } }), _vm._v(\" \"), _c('div', { class: [_vm.baseClass + '-content-text'] }, [_c('render-cell', { attrs: { \"render\": _vm.renderFunc } })], 1), _vm._v(\" \"), _vm.closable ? _c('a', { class: [_vm.baseClass + '-close'], on: { \"click\": _vm.close } }, [_c('i', { staticClass: \"ivu-icon ivu-icon-ios-close\" })]) : _vm._e()])] : _vm._e()], 2)]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 513 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes, style: _vm.wrapStyles }, _vm._l(_vm.notices, function (notice) {\n return _c('Notice', { key: notice.name, attrs: { \"prefix-cls\": _vm.prefixCls, \"styles\": notice.styles, \"type\": notice.type, \"content\": notice.content, \"duration\": notice.duration, \"render\": notice.render, \"has-title\": notice.hasTitle, \"withIcon\": notice.withIcon, \"closable\": notice.closable, \"name\": notice.name, \"transition-name\": notice.transitionName, \"on-close\": notice.onClose } });\n }), 1);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 514 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _confirm = __webpack_require__(515);\n\nvar _confirm2 = _interopRequireDefault(_confirm);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar modalInstance = void 0;\n\nfunction getModalInstance() {\n var render = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n modalInstance = modalInstance || _confirm2.default.newInstance({\n closable: false,\n maskClosable: false,\n footerHide: true,\n render: render\n });\n\n return modalInstance;\n}\n\nfunction confirm(options) {\n var render = 'render' in options ? options.render : undefined;\n var instance = getModalInstance(render);\n\n options.onRemove = function () {\n modalInstance = null;\n };\n\n instance.show(options);\n}\n\n_confirm2.default.info = function () {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n props.icon = 'info';\n props.showCancel = false;\n return confirm(props);\n};\n\n_confirm2.default.success = function () {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n props.icon = 'success';\n props.showCancel = false;\n return confirm(props);\n};\n\n_confirm2.default.warning = function () {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n props.icon = 'warning';\n props.showCancel = false;\n return confirm(props);\n};\n\n_confirm2.default.error = function () {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n props.icon = 'error';\n props.showCancel = false;\n return confirm(props);\n};\n\n_confirm2.default.confirm = function () {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n props.icon = 'confirm';\n props.showCancel = true;\n return confirm(props);\n};\n\n_confirm2.default.remove = function () {\n if (!modalInstance) {\n return false;\n }\n\n var instance = getModalInstance();\n\n instance.remove();\n};\n\nexports.default = _confirm2.default;\n\n/***/ }),\n/* 515 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assign = __webpack_require__(14);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _vue = __webpack_require__(15);\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _modal = __webpack_require__(516);\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _button = __webpack_require__(24);\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _locale = __webpack_require__(5);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-modal-confirm';\n\n_modal2.default.newInstance = function (properties) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var _props = properties || {};\n\n var Instance = new _vue2.default({\n mixins: [_locale2.default],\n data: (0, _assign2.default)({}, _props, {\n visible: false,\n width: 416,\n title: '',\n body: '',\n iconType: '',\n iconName: '',\n okText: undefined,\n cancelText: undefined,\n showCancel: false,\n loading: false,\n buttonLoading: false,\n scrollable: false,\n closable: false,\n closing: false }),\n render: function render(h) {\n var _this = this;\n\n var footerVNodes = [];\n if (this.showCancel) {\n footerVNodes.push(h(_button2.default, {\n props: {\n type: 'text',\n size: 'large'\n },\n on: {\n click: this.cancel\n }\n }, this.localeCancelText));\n }\n footerVNodes.push(h(_button2.default, {\n props: {\n type: 'primary',\n size: 'large',\n loading: this.buttonLoading\n },\n on: {\n click: this.ok\n }\n }, this.localeOkText));\n\n var body_render = void 0;\n if (this.render) {\n body_render = h('div', {\n attrs: {\n class: prefixCls + '-body ' + prefixCls + '-body-render'\n }\n }, [this.render(h)]);\n } else {\n body_render = h('div', {\n attrs: {\n class: prefixCls + '-body'\n }\n }, [h('div', {\n domProps: {\n innerHTML: this.body\n }\n })]);\n }\n\n var head_render = void 0;\n if (this.title) {\n head_render = h('div', {\n attrs: {\n class: prefixCls + '-head'\n }\n }, [h('div', {\n class: this.iconTypeCls\n }, [h('i', {\n class: this.iconNameCls\n })]), h('div', {\n attrs: {\n class: prefixCls + '-head-title'\n },\n domProps: {\n innerHTML: this.title\n }\n })]);\n }\n\n return h(_modal2.default, {\n props: (0, _assign2.default)({}, _props, {\n width: this.width,\n scrollable: this.scrollable,\n closable: this.closable\n }),\n domProps: {\n value: this.visible\n },\n on: {\n input: function input(status) {\n (0, _newArrowCheck3.default)(this, _this);\n\n this.visible = status;\n }.bind(this),\n 'on-cancel': this.cancel\n }\n }, [h('div', {\n attrs: {\n class: prefixCls\n }\n }, [head_render, body_render, h('div', {\n attrs: {\n class: prefixCls + '-footer'\n }\n }, footerVNodes)])]);\n },\n\n computed: {\n iconTypeCls: function iconTypeCls() {\n return [prefixCls + '-head-icon', prefixCls + '-head-icon-' + String(this.iconType)];\n },\n iconNameCls: function iconNameCls() {\n return ['ivu-icon', 'ivu-icon-' + String(this.iconName)];\n },\n localeOkText: function localeOkText() {\n if (this.okText) {\n return this.okText;\n } else {\n return this.t('i.modal.okText');\n }\n },\n localeCancelText: function localeCancelText() {\n if (this.cancelText) {\n return this.cancelText;\n } else {\n return this.t('i.modal.cancelText');\n }\n }\n },\n methods: {\n cancel: function cancel() {\n if (this.closing) return;\n this.$children[0].visible = false;\n this.buttonLoading = false;\n this.onCancel();\n this.remove();\n },\n ok: function ok() {\n if (this.closing) return;\n if (this.loading) {\n this.buttonLoading = true;\n } else {\n this.$children[0].visible = false;\n this.remove();\n }\n this.onOk();\n },\n remove: function remove() {\n var _this2 = this;\n\n this.closing = true;\n setTimeout(function () {\n (0, _newArrowCheck3.default)(this, _this2);\n\n this.closing = false;\n this.destroy();\n }.bind(this), 300);\n },\n destroy: function destroy() {\n this.$destroy();\n document.body.removeChild(this.$el);\n this.onRemove();\n },\n onOk: function onOk() {},\n onCancel: function onCancel() {},\n onRemove: function onRemove() {}\n }\n });\n\n var component = Instance.$mount();\n document.body.appendChild(component.$el);\n var modal = Instance.$children[0];\n\n return {\n show: function show(props) {\n modal.$parent.showCancel = props.showCancel;\n modal.$parent.iconType = props.icon;\n\n switch (props.icon) {\n case 'info':\n modal.$parent.iconName = 'ios-information-circle';\n break;\n case 'success':\n modal.$parent.iconName = 'ios-checkmark-circle';\n break;\n case 'warning':\n modal.$parent.iconName = 'ios-alert';\n break;\n case 'error':\n modal.$parent.iconName = 'ios-close-circle';\n break;\n case 'confirm':\n modal.$parent.iconName = 'ios-help-circle';\n break;\n }\n\n if ('width' in props) {\n modal.$parent.width = props.width;\n }\n\n if ('closable' in props) {\n modal.$parent.closable = props.closable;\n }\n\n if ('title' in props) {\n modal.$parent.title = props.title;\n }\n\n if ('content' in props) {\n modal.$parent.body = props.content;\n }\n\n if ('okText' in props) {\n modal.$parent.okText = props.okText;\n }\n\n if ('cancelText' in props) {\n modal.$parent.cancelText = props.cancelText;\n }\n\n if ('onCancel' in props) {\n modal.$parent.onCancel = props.onCancel;\n }\n\n if ('onOk' in props) {\n modal.$parent.onOk = props.onOk;\n }\n\n if ('loading' in props) {\n modal.$parent.loading = props.loading;\n }\n\n if ('scrollable' in props) {\n modal.$parent.scrollable = props.scrollable;\n }\n\n modal.$parent.onRemove = props.onRemove;\n\n modal.visible = true;\n },\n remove: function remove() {\n modal.visible = false;\n modal.$parent.buttonLoading = false;\n modal.$parent.remove();\n },\n\n component: modal\n };\n}.bind(undefined);\n\nexports.default = _modal2.default;\n\n/***/ }),\n/* 516 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_modal_vue__ = __webpack_require__(206);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_modal_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_modal_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_modal_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_modal_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3ea249a0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_modal_vue__ = __webpack_require__(517);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3ea249a0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_modal_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3ea249a0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_modal_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_modal_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3ea249a0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_modal_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3ea249a0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_modal_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 517 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { directives: [{ name: \"transfer-dom\", rawName: \"v-transfer-dom\" }], attrs: { \"data-transfer\": _vm.transfer } }, [_c('transition', { attrs: { \"name\": _vm.transitionNames[1] } }, [_vm.showMask ? _c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.visible, expression: \"visible\" }], class: _vm.maskClasses, style: _vm.wrapStyles, on: { \"click\": _vm.handleMask } }) : _vm._e()]), _vm._v(\" \"), _c('div', { class: _vm.wrapClasses, style: _vm.wrapStyles, on: { \"click\": _vm.handleWrapClick } }, [_c('transition', { attrs: { \"name\": _vm.transitionNames[0] }, on: { \"after-leave\": _vm.animationFinish } }, [_c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.visible, expression: \"visible\" }], class: _vm.classes, style: _vm.mainStyles, on: { \"mousedown\": _vm.handleMousedown } }, [_c('div', { ref: \"content\", class: _vm.contentClasses, style: _vm.contentStyles, on: { \"click\": _vm.handleClickModal } }, [_vm.closable ? _c('a', { class: [_vm.prefixCls + '-close'], on: { \"click\": _vm.close } }, [_vm._t(\"close\", [_c('Icon', { attrs: { \"type\": \"ios-close\" } })])], 2) : _vm._e(), _vm._v(\" \"), _vm.showHead ? _c('div', { class: [_vm.prefixCls + '-header'], on: { \"mousedown\": _vm.handleMoveStart } }, [_vm._t(\"header\", [_c('div', { class: [_vm.prefixCls + '-header-inner'] }, [_vm._v(_vm._s(_vm.title))])])], 2) : _vm._e(), _vm._v(\" \"), _c('div', { class: [_vm.prefixCls + '-body'] }, [_vm._t(\"default\")], 2), _vm._v(\" \"), !_vm.footerHide ? _c('div', { class: [_vm.prefixCls + '-footer'] }, [_vm._t(\"footer\", [_c('i-button', { attrs: { \"type\": \"text\", \"size\": \"large\" }, nativeOn: { \"click\": function click($event) {\n return _vm.cancel($event);\n } } }, [_vm._v(_vm._s(_vm.localeCancelText))]), _vm._v(\" \"), _c('i-button', { attrs: { \"type\": \"primary\", \"size\": \"large\", \"loading\": _vm.buttonLoading }, nativeOn: { \"click\": function click($event) {\n return _vm.ok($event);\n } } }, [_vm._v(_vm._s(_vm.localeOkText))])])], 2) : _vm._e()])])])], 1)], 1);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 518 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _notification = __webpack_require__(202);\n\nvar _notification2 = _interopRequireDefault(_notification);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixCls = 'ivu-notice';\nvar iconPrefixCls = 'ivu-icon';\nvar prefixKey = 'ivu_notice_key_';\n\nvar top = 24;\nvar defaultDuration = 4.5;\nvar noticeInstance = void 0;\nvar name = 1;\n\nvar iconTypes = {\n 'info': 'ios-information-circle',\n 'success': 'ios-checkmark-circle',\n 'warning': 'ios-alert',\n 'error': 'ios-close-circle'\n};\n\nfunction getNoticeInstance() {\n noticeInstance = noticeInstance || _notification2.default.newInstance({\n prefixCls: prefixCls,\n styles: {\n top: top + 'px',\n right: 0\n }\n });\n\n return noticeInstance;\n}\n\nfunction notice(type, options) {\n var title = options.title || '';\n var desc = options.desc || '';\n var noticeKey = options.name || '' + prefixKey + name;\n var onClose = options.onClose || function () {};\n var render = options.render;\n\n var duration = options.duration === 0 ? 0 : options.duration || defaultDuration;\n\n name++;\n\n var instance = getNoticeInstance();\n\n var content = void 0;\n\n var withIcon = void 0;\n\n var with_desc = options.render && !title ? '' : desc || options.render ? ' ' + prefixCls + '-with-desc' : '';\n\n if (type == 'normal') {\n withIcon = false;\n content = '\\n <div class=\"' + prefixCls + '-custom-content ' + prefixCls + '-with-normal ' + with_desc + '\">\\n <div class=\"' + prefixCls + '-title\">' + String(title) + '</div>\\n <div class=\"' + prefixCls + '-desc\">' + String(desc) + '</div>\\n </div>\\n ';\n } else {\n var iconType = iconTypes[type];\n var outlineIcon = with_desc === '' ? '' : '-outline';\n withIcon = true;\n content = '\\n <div class=\"' + prefixCls + '-custom-content ' + prefixCls + '-with-icon ' + prefixCls + '-with-' + String(type) + ' ' + with_desc + '\">\\n <span class=\"' + prefixCls + '-icon ' + prefixCls + '-icon-' + String(type) + '\">\\n <i class=\"' + iconPrefixCls + ' ' + iconPrefixCls + '-' + String(iconType) + outlineIcon + '\"></i>\\n </span>\\n <div class=\"' + prefixCls + '-title\">' + String(title) + '</div>\\n <div class=\"' + prefixCls + '-desc\">' + String(desc) + '</div>\\n </div>\\n ';\n }\n instance.notice({\n name: noticeKey.toString(),\n duration: duration,\n styles: {},\n transitionName: 'move-notice',\n content: content,\n withIcon: withIcon,\n render: render,\n hasTitle: !!title,\n onClose: onClose,\n closable: true,\n type: 'notice'\n });\n}\n\nexports.default = {\n open: function open(options) {\n return notice('normal', options);\n },\n info: function info(options) {\n return notice('info', options);\n },\n success: function success(options) {\n return notice('success', options);\n },\n warning: function warning(options) {\n return notice('warning', options);\n },\n error: function error(options) {\n return notice('error', options);\n },\n config: function config(options) {\n if (options.top) {\n top = options.top;\n }\n if (options.duration || options.duration === 0) {\n defaultDuration = options.duration;\n }\n },\n close: function close(name) {\n if (name) {\n name = name.toString();\n if (noticeInstance) {\n noticeInstance.remove(name);\n }\n } else {\n return false;\n }\n },\n destroy: function destroy() {\n var instance = getNoticeInstance();\n noticeInstance = null;\n instance.destroy('ivu-notice');\n }\n};\n\n/***/ }),\n/* 519 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _page = __webpack_require__(520);\n\nvar _page2 = _interopRequireDefault(_page);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _page2.default;\n\n/***/ }),\n/* 520 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_page_vue__ = __webpack_require__(207);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_page_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_page_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_page_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_page_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_d5ff41bc_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_page_vue__ = __webpack_require__(523);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_d5ff41bc_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_page_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_d5ff41bc_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_page_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_page_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_d5ff41bc_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_page_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_d5ff41bc_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_page_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 521 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_options_vue__ = __webpack_require__(208);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_options_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_options_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_options_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_options_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_250dbbea_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_options_vue__ = __webpack_require__(522);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_250dbbea_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_options_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_250dbbea_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_options_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_options_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_250dbbea_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_options_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_250dbbea_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_options_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 522 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _vm.showSizer || _vm.showElevator ? _c('div', { class: _vm.optsClasses }, [_vm.showSizer ? _c('div', { class: _vm.sizerClasses }, [_c('i-select', { attrs: { \"size\": _vm.size, \"placement\": _vm.placement, \"transfer\": _vm.transfer }, on: { \"on-change\": _vm.changeSize }, model: { value: _vm.currentPageSize, callback: function callback($$v) {\n _vm.currentPageSize = $$v;\n }, expression: \"currentPageSize\" } }, _vm._l(_vm.pageSizeOpts, function (item) {\n return _c('i-option', { key: item, staticStyle: { \"text-align\": \"center\" }, attrs: { \"value\": item } }, [_vm._v(_vm._s(item) + \" \" + _vm._s(_vm.t('i.page.page')))]);\n }), 1)], 1) : _vm._e(), _vm._v(\" \"), _vm.showElevator ? _c('div', { class: _vm.ElevatorClasses }, [_vm._v(\"\\n \" + _vm._s(_vm.t('i.page.goto')) + \"\\n \"), _c('input', { attrs: { \"type\": \"text\", \"autocomplete\": \"off\", \"spellcheck\": \"false\" }, domProps: { \"value\": _vm._current }, on: { \"keyup\": function keyup($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) {\n return null;\n }return _vm.changePage($event);\n } } }), _vm._v(\"\\n \" + _vm._s(_vm.t('i.page.p')) + \"\\n \")]) : _vm._e()]) : _vm._e();\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 523 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _vm.simple ? _c('ul', { class: _vm.simpleWrapClasses, style: _vm.styles }, [_c('li', { class: _vm.prevClasses, attrs: { \"title\": _vm.t('i.page.prev') }, on: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.prev($event);\n } } }, [_vm._m(0)]), _vm._v(\" \"), _c('div', { class: _vm.simplePagerClasses, attrs: { \"title\": _vm.currentPage + '/' + _vm.allPages } }, [_c('input', { attrs: { \"type\": \"text\", \"autocomplete\": \"off\", \"spellcheck\": \"false\" }, domProps: { \"value\": _vm.currentPage }, on: { \"keydown\": _vm.keyDown, \"keyup\": _vm.keyUp, \"change\": _vm.keyUp } }), _vm._v(\" \"), _c('span', [_vm._v(\"/\")]), _vm._v(\"\\n \" + _vm._s(_vm.allPages) + \"\\n \")]), _vm._v(\" \"), _c('li', { class: _vm.nextClasses, attrs: { \"title\": _vm.t('i.page.next') }, on: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.next($event);\n } } }, [_vm._m(1)])]) : _c('ul', { class: _vm.wrapClasses, style: _vm.styles }, [_vm.showTotal ? _c('span', { class: [_vm.prefixCls + '-total'] }, [_vm._t(\"default\", [_vm._v(_vm._s(_vm.t('i.page.total')) + \" \" + _vm._s(_vm.total) + \" \"), _vm.total <= 1 ? [_vm._v(_vm._s(_vm.t('i.page.item')))] : [_vm._v(_vm._s(_vm.t('i.page.items')))]])], 2) : _vm._e(), _vm._v(\" \"), _c('li', { class: _vm.prevClasses, attrs: { \"title\": _vm.t('i.page.prev') }, on: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.prev($event);\n } } }, [_c('a', [_vm.prevText !== '' ? [_vm._v(_vm._s(_vm.prevText))] : _c('i', { staticClass: \"ivu-icon ivu-icon-ios-arrow-back\" })], 2)]), _vm._v(\" \"), _c('li', { class: _vm.firstPageClasses, attrs: { \"title\": \"1\" }, on: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.changePage(1);\n } } }, [_c('a', [_vm._v(\"1\")])]), _vm._v(\" \"), _vm.currentPage > 5 ? _c('li', { class: [_vm.prefixCls + '-item-jump-prev'], attrs: { \"title\": _vm.t('i.page.prev5') }, on: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.fastPrev($event);\n } } }, [_vm._m(2)]) : _vm._e(), _vm._v(\" \"), _vm.currentPage === 5 ? _c('li', { class: [_vm.prefixCls + '-item'], attrs: { \"title\": _vm.currentPage - 3 }, on: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.changePage(_vm.currentPage - 3);\n } } }, [_c('a', [_vm._v(_vm._s(_vm.currentPage - 3))])]) : _vm._e(), _vm._v(\" \"), _vm.currentPage - 2 > 1 ? _c('li', { class: [_vm.prefixCls + '-item'], attrs: { \"title\": _vm.currentPage - 2 }, on: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.changePage(_vm.currentPage - 2);\n } } }, [_c('a', [_vm._v(_vm._s(_vm.currentPage - 2))])]) : _vm._e(), _vm._v(\" \"), _vm.currentPage - 1 > 1 ? _c('li', { class: [_vm.prefixCls + '-item'], attrs: { \"title\": _vm.currentPage - 1 }, on: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.changePage(_vm.currentPage - 1);\n } } }, [_c('a', [_vm._v(_vm._s(_vm.currentPage - 1))])]) : _vm._e(), _vm._v(\" \"), _vm.currentPage != 1 && _vm.currentPage != _vm.allPages ? _c('li', { class: [_vm.prefixCls + '-item', _vm.prefixCls + '-item-active'], attrs: { \"title\": _vm.currentPage } }, [_c('a', [_vm._v(_vm._s(_vm.currentPage))])]) : _vm._e(), _vm._v(\" \"), _vm.currentPage + 1 < _vm.allPages ? _c('li', { class: [_vm.prefixCls + '-item'], attrs: { \"title\": _vm.currentPage + 1 }, on: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.changePage(_vm.currentPage + 1);\n } } }, [_c('a', [_vm._v(_vm._s(_vm.currentPage + 1))])]) : _vm._e(), _vm._v(\" \"), _vm.currentPage + 2 < _vm.allPages ? _c('li', { class: [_vm.prefixCls + '-item'], attrs: { \"title\": _vm.currentPage + 2 }, on: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.changePage(_vm.currentPage + 2);\n } } }, [_c('a', [_vm._v(_vm._s(_vm.currentPage + 2))])]) : _vm._e(), _vm._v(\" \"), _vm.allPages - _vm.currentPage === 4 ? _c('li', { class: [_vm.prefixCls + '-item'], attrs: { \"title\": _vm.currentPage + 3 }, on: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.changePage(_vm.currentPage + 3);\n } } }, [_c('a', [_vm._v(_vm._s(_vm.currentPage + 3))])]) : _vm._e(), _vm._v(\" \"), _vm.allPages - _vm.currentPage >= 5 ? _c('li', { class: [_vm.prefixCls + '-item-jump-next'], attrs: { \"title\": _vm.t('i.page.next5') }, on: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.fastNext($event);\n } } }, [_vm._m(3)]) : _vm._e(), _vm._v(\" \"), _vm.allPages > 1 ? _c('li', { class: _vm.lastPageClasses, attrs: { \"title\": _vm.allPages }, on: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.changePage(_vm.allPages);\n } } }, [_c('a', [_vm._v(_vm._s(_vm.allPages))])]) : _vm._e(), _vm._v(\" \"), _c('li', { class: _vm.nextClasses, attrs: { \"title\": _vm.t('i.page.next') }, on: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.next($event);\n } } }, [_c('a', [_vm.nextText !== '' ? [_vm._v(_vm._s(_vm.nextText))] : _c('i', { staticClass: \"ivu-icon ivu-icon-ios-arrow-forward\" })], 2)]), _vm._v(\" \"), _c('Options', { attrs: { \"show-sizer\": _vm.showSizer, \"page-size\": _vm.currentPageSize, \"page-size-opts\": _vm.pageSizeOpts, \"placement\": _vm.placement, \"transfer\": _vm.transfer, \"show-elevator\": _vm.showElevator, \"_current\": _vm.currentPage, \"current\": _vm.currentPage, \"all-pages\": _vm.allPages, \"is-small\": _vm.isSmall }, on: { \"on-size\": _vm.onSize, \"on-page\": _vm.onPage } })], 1);\n};\nvar staticRenderFns = [function () {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('a', [_c('i', { staticClass: \"ivu-icon ivu-icon-ios-arrow-back\" })]);\n}, function () {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('a', [_c('i', { staticClass: \"ivu-icon ivu-icon-ios-arrow-forward\" })]);\n}, function () {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('a', [_c('i', { staticClass: \"ivu-icon ivu-icon-ios-arrow-back\" })]);\n}, function () {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('a', [_c('i', { staticClass: \"ivu-icon ivu-icon-ios-arrow-forward\" })]);\n}];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 524 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _poptip = __webpack_require__(209);\n\nvar _poptip2 = _interopRequireDefault(_poptip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _poptip2.default;\n\n/***/ }),\n/* 525 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { directives: [{ name: \"click-outside\", rawName: \"v-click-outside\", value: _vm.handleClose, expression: \"handleClose\" }], class: _vm.classes, on: { \"mouseenter\": _vm.handleMouseenter, \"mouseleave\": _vm.handleMouseleave } }, [_c('div', { ref: \"reference\", class: [_vm.prefixCls + '-rel'], on: { \"click\": _vm.handleClick, \"mousedown\": function mousedown($event) {\n return _vm.handleFocus(false);\n }, \"mouseup\": function mouseup($event) {\n return _vm.handleBlur(false);\n } } }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('transition', { attrs: { \"name\": \"fade\" } }, [_c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.visible, expression: \"visible\" }, { name: \"transfer-dom\", rawName: \"v-transfer-dom\" }], ref: \"popper\", class: _vm.popperClasses, style: _vm.styles, attrs: { \"data-transfer\": _vm.transfer }, on: { \"click\": _vm.handleTransferClick, \"mouseenter\": _vm.handleMouseenter, \"mouseleave\": _vm.handleMouseleave } }, [_c('div', { class: [_vm.prefixCls + '-content'] }, [_c('div', { class: [_vm.prefixCls + '-arrow'] }), _vm._v(\" \"), _vm.confirm ? _c('div', { class: [_vm.prefixCls + '-inner'] }, [_c('div', { class: [_vm.prefixCls + '-body'] }, [_c('i', { staticClass: \"ivu-icon ivu-icon-ios-help-circle\" }), _vm._v(\" \"), _c('div', { class: [_vm.prefixCls + '-body-message'] }, [_vm._t(\"title\", [_vm._v(_vm._s(_vm.title))])], 2)]), _vm._v(\" \"), _c('div', { class: [_vm.prefixCls + '-footer'] }, [_c('i-button', { attrs: { \"type\": \"text\", \"size\": \"small\" }, nativeOn: { \"click\": function click($event) {\n return _vm.cancel($event);\n } } }, [_vm._v(_vm._s(_vm.localeCancelText))]), _vm._v(\" \"), _c('i-button', { attrs: { \"type\": \"primary\", \"size\": \"small\" }, nativeOn: { \"click\": function click($event) {\n return _vm.ok($event);\n } } }, [_vm._v(_vm._s(_vm.localeOkText))])], 1)]) : _vm._e(), _vm._v(\" \"), !_vm.confirm ? _c('div', { class: [_vm.prefixCls + '-inner'] }, [_vm.showTitle ? _c('div', { ref: \"title\", class: [_vm.prefixCls + '-title'], style: _vm.contentPaddingStyle }, [_vm._t(\"title\", [_c('div', { class: [_vm.prefixCls + '-title-inner'] }, [_vm._v(_vm._s(_vm.title))])])], 2) : _vm._e(), _vm._v(\" \"), _c('div', { class: [_vm.prefixCls + '-body'], style: _vm.contentPaddingStyle }, [_c('div', { class: _vm.contentClasses }, [_vm._t(\"content\", [_c('div', { class: [_vm.prefixCls + '-body-content-inner'] }, [_vm._v(_vm._s(_vm.content))])])], 2)])]) : _vm._e()])])])], 1);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 526 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _progress = __webpack_require__(212);\n\nvar _progress2 = _interopRequireDefault(_progress);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _progress2.default;\n\n/***/ }),\n/* 527 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.wrapClasses }, [_c('div', { class: _vm.outerClasses }, [_c('div', { class: _vm.innerClasses }, [_c('div', { class: _vm.bgClasses, style: _vm.bgStyle }, [_vm.textInside ? _c('div', { staticClass: \"ivu-progress-inner-text\" }, [_vm._v(_vm._s(_vm.percent) + \"%\")]) : _vm._e()]), _c('div', { class: _vm.successBgClasses, style: _vm.successBgStyle })])]), _vm._v(\" \"), !_vm.hideInfo ? _c('span', { class: _vm.textClasses }, [_vm._t(\"default\", [_vm.isStatus ? _c('span', { class: _vm.textInnerClasses }, [_c('Icon', { attrs: { \"type\": _vm.statusIcon } })], 1) : _c('span', { class: _vm.textInnerClasses }, [_vm._v(\"\\n \" + _vm._s(_vm.percent) + \"%\\n \")])])], 2) : _vm._e()]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 528 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _radio = __webpack_require__(529);\n\nvar _radio2 = _interopRequireDefault(_radio);\n\nvar _radioGroup = __webpack_require__(531);\n\nvar _radioGroup2 = _interopRequireDefault(_radioGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_radio2.default.Group = _radioGroup2.default;\nexports.default = _radio2.default;\n\n/***/ }),\n/* 529 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_radio_vue__ = __webpack_require__(214);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_radio_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_radio_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_radio_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_radio_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7e06396a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_radio_vue__ = __webpack_require__(530);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7e06396a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_radio_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7e06396a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_radio_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_radio_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7e06396a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_radio_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7e06396a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_radio_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 530 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('label', { class: _vm.wrapClasses }, [_c('span', { class: _vm.radioClasses }, [_c('span', { class: _vm.innerClasses }), _vm._v(\" \"), _c('input', { class: _vm.inputClasses, attrs: { \"type\": \"radio\", \"disabled\": _vm.disabled, \"name\": _vm.groupName }, domProps: { \"checked\": _vm.currentValue }, on: { \"change\": _vm.change, \"focus\": _vm.onFocus, \"blur\": _vm.onBlur } })]), _vm._t(\"default\", [_vm._v(_vm._s(_vm.label))])], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 531 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_radio_group_vue__ = __webpack_require__(215);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_radio_group_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_radio_group_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_radio_group_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_radio_group_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3208029a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_radio_group_vue__ = __webpack_require__(532);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3208029a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_radio_group_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3208029a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_radio_group_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_radio_group_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3208029a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_radio_group_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3208029a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_radio_group_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 532 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes, attrs: { \"name\": _vm.name } }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 533 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rate = __webpack_require__(534);\n\nvar _rate2 = _interopRequireDefault(_rate);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _rate2.default;\n\n/***/ }),\n/* 534 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_rate_vue__ = __webpack_require__(216);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_rate_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_rate_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_rate_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_rate_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_be9d96d4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_rate_vue__ = __webpack_require__(535);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_be9d96d4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_rate_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_be9d96d4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_rate_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_rate_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_be9d96d4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_rate_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_be9d96d4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_rate_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 535 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes, on: { \"mouseleave\": _vm.handleMouseleave } }, [_c('input', { attrs: { \"type\": \"hidden\", \"name\": _vm.name }, domProps: { \"value\": _vm.currentValue } }), _vm._v(\" \"), _vm._l(_vm.count, function (item) {\n return _c('div', { key: item, class: _vm.starCls(item), on: { \"mousemove\": function mousemove($event) {\n return _vm.handleMousemove(item, $event);\n }, \"click\": function click($event) {\n return _vm.handleClick(item);\n } } }, [!_vm.showCharacter ? [_c('span', { class: [_vm.prefixCls + '-star-content'], attrs: { \"type\": \"half\" } })] : [_c('span', { class: [_vm.prefixCls + '-star-first'], attrs: { \"type\": \"half\" } }, [_vm.character !== '' ? [_vm._v(_vm._s(_vm.character))] : _c('i', { class: _vm.iconClasses, attrs: { \"type\": \"half\" } })], 2), _vm._v(\" \"), _c('span', { class: [_vm.prefixCls + '-star-second'] }, [_vm.character !== '' ? [_vm._v(_vm._s(_vm.character))] : _c('i', { class: _vm.iconClasses })], 2)]], 2);\n }), _vm._v(\" \"), _vm.showText ? _c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.currentValue > 0, expression: \"currentValue > 0\" }], class: [_vm.prefixCls + '-text'] }, [_vm._t(\"default\", [_c('span', [_vm._v(_vm._s(_vm.currentValue))]), _vm._v(\" \"), _vm.currentValue <= 1 ? _c('span', [_vm._v(_vm._s(_vm.t('i.rate.star')))]) : _c('span', [_vm._v(_vm._s(_vm.t('i.rate.stars')))])])], 2) : _vm._e()], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 536 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _sider = __webpack_require__(192);\n\nvar _sider2 = _interopRequireDefault(_sider);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _sider2.default;\n\n/***/ }),\n/* 537 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slider = __webpack_require__(538);\n\nvar _slider2 = _interopRequireDefault(_slider);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _slider2.default;\n\n/***/ }),\n/* 538 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_slider_vue__ = __webpack_require__(217);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_slider_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_slider_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_slider_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_slider_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1bf3d429_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_slider_vue__ = __webpack_require__(550);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1bf3d429_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_slider_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1bf3d429_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_slider_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_slider_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1bf3d429_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_slider_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1bf3d429_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_slider_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 539 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: [_vm.prefixCls], on: { \"mouseenter\": _vm.handleShowPopper, \"mouseleave\": _vm.handleClosePopper } }, [_c('div', { ref: \"reference\", class: [_vm.prefixCls + '-rel'] }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('transition', { attrs: { \"name\": \"fade\" } }, [_c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: !_vm.disabled && (_vm.visible || _vm.always), expression: \"!disabled && (visible || always)\" }, { name: \"transfer-dom\", rawName: \"v-transfer-dom\" }], ref: \"popper\", class: [_vm.prefixCls + '-popper', _vm.prefixCls + '-' + _vm.theme], style: _vm.dropStyles, attrs: { \"data-transfer\": _vm.transfer }, on: { \"mouseenter\": _vm.handleShowPopper, \"mouseleave\": _vm.handleClosePopper } }, [_c('div', { class: [_vm.prefixCls + '-content'] }, [_c('div', { class: [_vm.prefixCls + '-arrow'] }), _vm._v(\" \"), _c('div', { class: _vm.innerClasses, style: _vm.innerStyles }, [_vm._t(\"content\", [_vm._v(_vm._s(_vm.content))])], 2)])])])], 1);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 540 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function(options) {\n var getState = options.stateHandler.getState;\n\n /**\n * Tells if the element has been made detectable and ready to be listened for resize events.\n * @public\n * @param {element} The element to check.\n * @returns {boolean} True or false depending on if the element is detectable or not.\n */\n function isDetectable(element) {\n var state = getState(element);\n return state && !!state.isDetectable;\n }\n\n /**\n * Marks the element that it has been made detectable and ready to be listened for resize events.\n * @public\n * @param {element} The element to mark.\n */\n function markAsDetectable(element) {\n getState(element).isDetectable = true;\n }\n\n /**\n * Tells if the element is busy or not.\n * @public\n * @param {element} The element to check.\n * @returns {boolean} True or false depending on if the element is busy or not.\n */\n function isBusy(element) {\n return !!getState(element).busy;\n }\n\n /**\n * Marks the object is busy and should not be made detectable.\n * @public\n * @param {element} element The element to mark.\n * @param {boolean} busy If the element is busy or not.\n */\n function markBusy(element, busy) {\n getState(element).busy = !!busy;\n }\n\n return {\n isDetectable: isDetectable,\n markAsDetectable: markAsDetectable,\n isBusy: isBusy,\n markBusy: markBusy\n };\n};\n\n\n/***/ }),\n/* 541 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function(idHandler) {\n var eventListeners = {};\n\n /**\n * Gets all listeners for the given element.\n * @public\n * @param {element} element The element to get all listeners for.\n * @returns All listeners for the given element.\n */\n function getListeners(element) {\n var id = idHandler.get(element);\n\n if (id === undefined) {\n return [];\n }\n\n return eventListeners[id] || [];\n }\n\n /**\n * Stores the given listener for the given element. Will not actually add the listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The callback that the element has added.\n */\n function addListener(element, listener) {\n var id = idHandler.get(element);\n\n if(!eventListeners[id]) {\n eventListeners[id] = [];\n }\n\n eventListeners[id].push(listener);\n }\n\n function removeListener(element, listener) {\n var listeners = getListeners(element);\n for (var i = 0, len = listeners.length; i < len; ++i) {\n if (listeners[i] === listener) {\n listeners.splice(i, 1);\n break;\n }\n }\n }\n\n function removeAllListeners(element) {\n var listeners = getListeners(element);\n if (!listeners) { return; }\n listeners.length = 0;\n }\n\n return {\n get: getListeners,\n add: addListener,\n removeListener: removeListener,\n removeAllListeners: removeAllListeners\n };\n};\n\n\n/***/ }),\n/* 542 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function() {\n var idCount = 1;\n\n /**\n * Generates a new unique id in the context.\n * @public\n * @returns {number} A unique id in the context.\n */\n function generate() {\n return idCount++;\n }\n\n return {\n generate: generate\n };\n};\n\n\n/***/ }),\n/* 543 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function(options) {\n var idGenerator = options.idGenerator;\n var getState = options.stateHandler.getState;\n\n /**\n * Gets the resize detector id of the element.\n * @public\n * @param {element} element The target element to get the id of.\n * @returns {string|number|null} The id of the element. Null if it has no id.\n */\n function getId(element) {\n var state = getState(element);\n\n if (state && state.id !== undefined) {\n return state.id;\n }\n\n return null;\n }\n\n /**\n * Sets the resize detector id of the element. Requires the element to have a resize detector state initialized.\n * @public\n * @param {element} element The target element to set the id of.\n * @returns {string|number|null} The id of the element.\n */\n function setId(element) {\n var state = getState(element);\n\n if (!state) {\n throw new Error(\"setId required the element to have a resize detection state.\");\n }\n\n var id = idGenerator.generate();\n\n state.id = id;\n\n return id;\n }\n\n return {\n get: getId,\n set: setId\n };\n};\n\n\n/***/ }),\n/* 544 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/* global console: false */\n\n/**\n * Reporter that handles the reporting of logs, warnings and errors.\n * @public\n * @param {boolean} quiet Tells if the reporter should be quiet or not.\n */\nmodule.exports = function(quiet) {\n function noop() {\n //Does nothing.\n }\n\n var reporter = {\n log: noop,\n warn: noop,\n error: noop\n };\n\n if(!quiet && window.console) {\n var attachFunction = function(reporter, name) {\n //The proxy is needed to be able to call the method with the console context,\n //since we cannot use bind.\n reporter[name] = function reporterProxy() {\n var f = console[name];\n if (f.apply) { //IE9 does not support console.log.apply :)\n f.apply(console, arguments);\n } else {\n for (var i = 0; i < arguments.length; i++) {\n f(arguments[i]);\n }\n }\n };\n };\n\n attachFunction(reporter, \"log\");\n attachFunction(reporter, \"warn\");\n attachFunction(reporter, \"error\");\n }\n\n return reporter;\n};\n\n/***/ }),\n/* 545 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(546);\n\nmodule.exports = function batchProcessorMaker(options) {\n options = options || {};\n var reporter = options.reporter;\n var asyncProcess = utils.getOption(options, \"async\", true);\n var autoProcess = utils.getOption(options, \"auto\", true);\n\n if(autoProcess && !asyncProcess) {\n reporter && reporter.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\");\n asyncProcess = true;\n }\n\n var batch = Batch();\n var asyncFrameHandler;\n var isProcessing = false;\n\n function addFunction(level, fn) {\n if(!isProcessing && autoProcess && asyncProcess && batch.size() === 0) {\n // Since this is async, it is guaranteed to be executed after that the fn is added to the batch.\n // This needs to be done before, since we're checking the size of the batch to be 0.\n processBatchAsync();\n }\n\n batch.add(level, fn);\n }\n\n function processBatch() {\n // Save the current batch, and create a new batch so that incoming functions are not added into the currently processing batch.\n // Continue processing until the top-level batch is empty (functions may be added to the new batch while processing, and so on).\n isProcessing = true;\n while (batch.size()) {\n var processingBatch = batch;\n batch = Batch();\n processingBatch.process();\n }\n isProcessing = false;\n }\n\n function forceProcessBatch(localAsyncProcess) {\n if (isProcessing) {\n return;\n }\n\n if(localAsyncProcess === undefined) {\n localAsyncProcess = asyncProcess;\n }\n\n if(asyncFrameHandler) {\n cancelFrame(asyncFrameHandler);\n asyncFrameHandler = null;\n }\n\n if(localAsyncProcess) {\n processBatchAsync();\n } else {\n processBatch();\n }\n }\n\n function processBatchAsync() {\n asyncFrameHandler = requestFrame(processBatch);\n }\n\n function clearBatch() {\n batch = {};\n batchSize = 0;\n topLevel = 0;\n bottomLevel = 0;\n }\n\n function cancelFrame(listener) {\n // var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n var cancel = clearTimeout;\n return cancel(listener);\n }\n\n function requestFrame(callback) {\n // var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) { return window.setTimeout(fn, 20); };\n var raf = function(fn) { return setTimeout(fn, 0); };\n return raf(callback);\n }\n\n return {\n add: addFunction,\n force: forceProcessBatch\n };\n};\n\nfunction Batch() {\n var batch = {};\n var size = 0;\n var topLevel = 0;\n var bottomLevel = 0;\n\n function add(level, fn) {\n if(!fn) {\n fn = level;\n level = 0;\n }\n\n if(level > topLevel) {\n topLevel = level;\n } else if(level < bottomLevel) {\n bottomLevel = level;\n }\n\n if(!batch[level]) {\n batch[level] = [];\n }\n\n batch[level].push(fn);\n size++;\n }\n\n function process() {\n for(var level = bottomLevel; level <= topLevel; level++) {\n var fns = batch[level];\n\n for(var i = 0; i < fns.length; i++) {\n var fn = fns[i];\n fn();\n }\n }\n }\n\n function getSize() {\n return size;\n }\n\n return {\n add: add,\n process: process,\n size: getSize\n };\n}\n\n\n/***/ }),\n/* 546 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = module.exports = {};\n\nutils.getOption = getOption;\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n\n\n/***/ }),\n/* 547 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar prop = \"_erd\";\n\nfunction initState(element) {\n element[prop] = {};\n return getState(element);\n}\n\nfunction getState(element) {\n return element[prop];\n}\n\nfunction cleanState(element) {\n delete element[prop];\n}\n\nmodule.exports = {\n initState: initState,\n getState: getState,\n cleanState: cleanState\n};\n\n\n/***/ }),\n/* 548 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Resize detection strategy that injects objects to elements in order to detect resize events.\n * Heavily inspired by: http://www.backalleycoder.com/2013/03/18/cross-browser-event-based-element-resize-detection/\n */\n\n\n\nvar browserDetector = __webpack_require__(220);\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n\n if(!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n function listenerProxy() {\n listener(element);\n }\n\n if(browserDetector.isIE(8)) {\n //IE 8 does not support object, but supports the resize event directly on elements.\n getState(element).object = {\n proxy: listenerProxy\n };\n element.attachEvent(\"onresize\", listenerProxy);\n } else {\n var object = getObject(element);\n\n if(!object) {\n throw new Error(\"Element is not detectable by this strategy.\");\n }\n\n object.contentDocument.defaultView.addEventListener(\"resize\", listenerProxy);\n }\n }\n\n function buildCssTextString(rules) {\n var seperator = options.important ? \" !important; \" : \"; \";\n\n return (rules.join(seperator) + seperator).trim();\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n var debug = options.debug;\n\n function injectObject(element, callback) {\n var OBJECT_STYLE = buildCssTextString([\"display: block\", \"position: absolute\", \"top: 0\", \"left: 0\", \"width: 100%\", \"height: 100%\", \"border: none\", \"padding: 0\", \"margin: 0\", \"opacity: 0\", \"z-index: -1000\", \"pointer-events: none\"]);\n\n //The target element needs to be positioned (everything except static) so the absolute positioned object will be positioned relative to the target element.\n\n // Position altering may be performed directly or on object load, depending on if style resolution is possible directly or not.\n var positionCheckPerformed = false;\n\n // The element may not yet be attached to the DOM, and therefore the style object may be empty in some browsers.\n // Since the style object is a reference, it will be updated as soon as the element is attached to the DOM.\n var style = window.getComputedStyle(element);\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n getState(element).startSize = {\n width: width,\n height: height\n };\n\n function mutateDom() {\n function alterPositionStyles() {\n if(style.position === \"static\") {\n element.style.setProperty(\"position\", \"relative\", options.important ? \"important\" : \"\");\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style.setProperty(property, \"0\", options.important ? \"important\" : \"\");\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function onObjectLoad() {\n // The object has been loaded, which means that the element now is guaranteed to be attached to the DOM.\n if (!positionCheckPerformed) {\n alterPositionStyles();\n }\n\n /*jshint validthis: true */\n\n function getDocument(element, callback) {\n //Opera 12 seem to call the object.onload before the actual document has been created.\n //So if it is not present, poll it with an timeout until it is present.\n //TODO: Could maybe be handled better with object.onreadystatechange or similar.\n if(!element.contentDocument) {\n setTimeout(function checkForObjectDocument() {\n getDocument(element, callback);\n }, 100);\n\n return;\n }\n\n callback(element.contentDocument);\n }\n\n //Mutating the object element here seems to fire another load event.\n //Mutating the inner document of the object element is fine though.\n var objectElement = this;\n\n //Create the style element to be added to the object.\n getDocument(objectElement, function onObjectDocumentReady(objectDocument) {\n //Notify that the element is ready to be listened to.\n callback(element);\n });\n }\n\n // The element may be detached from the DOM, and some browsers does not support style resolving of detached elements.\n // The alterPositionStyles needs to be delayed until we know the element has been attached to the DOM (which we are sure of when the onObjectLoad has been fired), if style resolution is not possible.\n if (style.position !== \"\") {\n alterPositionStyles(style);\n positionCheckPerformed = true;\n }\n\n //Add an object element as a child to the target element that will be listened to for resize events.\n var object = document.createElement(\"object\");\n object.style.cssText = OBJECT_STYLE;\n object.tabIndex = -1;\n object.type = \"text/html\";\n object.onload = onObjectLoad;\n\n //Safari: This must occur before adding the object to the DOM.\n //IE: Does not like that this happens before, even if it is also added after.\n if(!browserDetector.isIE()) {\n object.data = \"about:blank\";\n }\n\n if (!getState(element)) {\n // The element has been uninstalled before the actual loading happened.\n return;\n }\n\n element.appendChild(object);\n getState(element).object = object;\n\n //IE: This must occur after adding the object to the DOM.\n if(browserDetector.isIE()) {\n object.data = \"about:blank\";\n }\n }\n\n if(batchProcessor) {\n batchProcessor.add(mutateDom);\n } else {\n mutateDom();\n }\n }\n\n if(browserDetector.isIE(8)) {\n //IE 8 does not support objects properly. Luckily they do support the resize event.\n //So do not inject the object and notify that the element is already ready to be listened to.\n //The event handler for the resize event is attached in the utils.addListener instead.\n callback(element);\n } else {\n injectObject(element, callback);\n }\n }\n\n /**\n * Returns the child object of the target element.\n * @private\n * @param {element} element The target element.\n * @returns The object element of the target.\n */\n function getObject(element) {\n return getState(element).object;\n }\n\n function uninstall(element) {\n if (!getState(element)) {\n return;\n }\n\n var object = getObject(element);\n\n if (!object) {\n return;\n }\n\n if (browserDetector.isIE(8)) {\n element.detachEvent(\"onresize\", object.proxy);\n } else {\n element.removeChild(object);\n }\n delete getState(element).object;\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall\n };\n};\n\n\n/***/ }),\n/* 549 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Resize detection strategy that injects divs to elements in order to detect resize events on scroll events.\n * Heavily inspired by: https://github.com/marcj/css-element-queries/blob/master/src/ResizeSensor.js\n */\n\n\n\nvar forEach = __webpack_require__(219).forEach;\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n var hasState = options.stateHandler.hasState;\n var idHandler = options.idHandler;\n\n if (!batchProcessor) {\n throw new Error(\"Missing required dependency: batchProcessor\");\n }\n\n if (!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n //TODO: Could this perhaps be done at installation time?\n var scrollbarSizes = getScrollbarSizes();\n\n var styleId = \"erd_scroll_detection_scrollbar_style\";\n var detectionContainerClass = \"erd_scroll_detection_container\";\n\n function initDocument(targetDocument) {\n // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome.\n // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements).\n injectScrollStyle(targetDocument, styleId, detectionContainerClass);\n }\n\n initDocument(window.document);\n\n function buildCssTextString(rules) {\n var seperator = options.important ? \" !important; \" : \"; \";\n\n return (rules.join(seperator) + seperator).trim();\n }\n\n function getScrollbarSizes() {\n var width = 500;\n var height = 500;\n\n var child = document.createElement(\"div\");\n child.style.cssText = buildCssTextString([\"position: absolute\", \"width: \" + width*2 + \"px\", \"height: \" + height*2 + \"px\", \"visibility: hidden\", \"margin: 0\", \"padding: 0\"]);\n\n var container = document.createElement(\"div\");\n container.style.cssText = buildCssTextString([\"position: absolute\", \"width: \" + width + \"px\", \"height: \" + height + \"px\", \"overflow: scroll\", \"visibility: none\", \"top: \" + -width*3 + \"px\", \"left: \" + -height*3 + \"px\", \"visibility: hidden\", \"margin: 0\", \"padding: 0\"]);\n\n container.appendChild(child);\n\n document.body.insertBefore(container, document.body.firstChild);\n\n var widthSize = width - container.clientWidth;\n var heightSize = height - container.clientHeight;\n\n document.body.removeChild(container);\n\n return {\n width: widthSize,\n height: heightSize\n };\n }\n\n function injectScrollStyle(targetDocument, styleId, containerClass) {\n function injectStyle(style, method) {\n method = method || function (element) {\n targetDocument.head.appendChild(element);\n };\n\n var styleElement = targetDocument.createElement(\"style\");\n styleElement.innerHTML = style;\n styleElement.id = styleId;\n method(styleElement);\n return styleElement;\n }\n\n if (!targetDocument.getElementById(styleId)) {\n var containerAnimationClass = containerClass + \"_animation\";\n var containerAnimationActiveClass = containerClass + \"_animation_active\";\n var style = \"/* Created by the element-resize-detector library. */\\n\";\n style += \".\" + containerClass + \" > div::-webkit-scrollbar { \" + buildCssTextString([\"display: none\"]) + \" }\\n\\n\";\n style += \".\" + containerAnimationActiveClass + \" { \" + buildCssTextString([\"-webkit-animation-duration: 0.1s\", \"animation-duration: 0.1s\", \"-webkit-animation-name: \" + containerAnimationClass, \"animation-name: \" + containerAnimationClass]) + \" }\\n\";\n style += \"@-webkit-keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\";\n style += \"@keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\";\n injectStyle(style);\n }\n }\n\n function addAnimationClass(element) {\n element.className += \" \" + detectionContainerClass + \"_animation_active\";\n }\n\n function addEvent(el, name, cb) {\n if (el.addEventListener) {\n el.addEventListener(name, cb);\n } else if(el.attachEvent) {\n el.attachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to add event listeners.\");\n }\n }\n\n function removeEvent(el, name, cb) {\n if (el.removeEventListener) {\n el.removeEventListener(name, cb);\n } else if(el.detachEvent) {\n el.detachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to remove event listeners.\");\n }\n }\n\n function getExpandElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[0];\n }\n\n function getShrinkElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[1];\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n var listeners = getState(element).listeners;\n\n if (!listeners.push) {\n throw new Error(\"Cannot add listener to an element that is not detectable.\");\n }\n\n getState(element).listeners.push(listener);\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n\n function debug() {\n if (options.debug) {\n var args = Array.prototype.slice.call(arguments);\n args.unshift(idHandler.get(element), \"Scroll: \");\n if (reporter.log.apply) {\n reporter.log.apply(null, args);\n } else {\n for (var i = 0; i < args.length; i++) {\n reporter.log(args[i]);\n }\n }\n }\n }\n\n function isDetached(element) {\n function isInDocument(element) {\n return element === element.ownerDocument.body || element.ownerDocument.body.contains(element);\n }\n\n if (!isInDocument(element)) {\n return true;\n }\n\n // FireFox returns null style in hidden iframes. See https://github.com/wnr/element-resize-detector/issues/68 and https://bugzilla.mozilla.org/show_bug.cgi?id=795520\n if (window.getComputedStyle(element) === null) {\n return true;\n }\n\n return false;\n }\n\n function isUnrendered(element) {\n // Check the absolute positioned container since the top level container is display: inline.\n var container = getState(element).container.childNodes[0];\n var style = window.getComputedStyle(container);\n return !style.width || style.width.indexOf(\"px\") === -1; //Can only compute pixel value when rendered.\n }\n\n function getStyle() {\n // Some browsers only force layouts when actually reading the style properties of the style object, so make sure that they are all read here,\n // so that the user of the function can be sure that it will perform the layout here, instead of later (important for batching).\n var elementStyle = window.getComputedStyle(element);\n var style = {};\n style.position = elementStyle.position;\n style.width = element.offsetWidth;\n style.height = element.offsetHeight;\n style.top = elementStyle.top;\n style.right = elementStyle.right;\n style.bottom = elementStyle.bottom;\n style.left = elementStyle.left;\n style.widthCSS = elementStyle.width;\n style.heightCSS = elementStyle.height;\n return style;\n }\n\n function storeStartSize() {\n var style = getStyle();\n getState(element).startSize = {\n width: style.width,\n height: style.height\n };\n debug(\"Element start size\", getState(element).startSize);\n }\n\n function initListeners() {\n getState(element).listeners = [];\n }\n\n function storeStyle() {\n debug(\"storeStyle invoked.\");\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getStyle();\n getState(element).style = style;\n }\n\n function storeCurrentSize(element, width, height) {\n getState(element).lastWidth = width;\n getState(element).lastHeight = height;\n }\n\n function getExpandChildElement(element) {\n return getExpandElement(element).childNodes[0];\n }\n\n function getWidthOffset() {\n return 2 * scrollbarSizes.width + 1;\n }\n\n function getHeightOffset() {\n return 2 * scrollbarSizes.height + 1;\n }\n\n function getExpandWidth(width) {\n return width + 10 + getWidthOffset();\n }\n\n function getExpandHeight(height) {\n return height + 10 + getHeightOffset();\n }\n\n function getShrinkWidth(width) {\n return width * 2 + getWidthOffset();\n }\n\n function getShrinkHeight(height) {\n return height * 2 + getHeightOffset();\n }\n\n function positionScrollbars(element, width, height) {\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n var shrinkWidth = getShrinkWidth(width);\n var shrinkHeight = getShrinkHeight(height);\n expand.scrollLeft = expandWidth;\n expand.scrollTop = expandHeight;\n shrink.scrollLeft = shrinkWidth;\n shrink.scrollTop = shrinkHeight;\n }\n\n function injectContainerElement() {\n var container = getState(element).container;\n\n if (!container) {\n container = document.createElement(\"div\");\n container.className = detectionContainerClass;\n container.style.cssText = buildCssTextString([\"visibility: hidden\", \"display: inline\", \"width: 0px\", \"height: 0px\", \"z-index: -1\", \"overflow: hidden\", \"margin: 0\", \"padding: 0\"]);\n getState(element).container = container;\n addAnimationClass(container);\n element.appendChild(container);\n\n var onAnimationStart = function () {\n getState(element).onRendered && getState(element).onRendered();\n };\n\n addEvent(container, \"animationstart\", onAnimationStart);\n\n // Store the event handler here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onAnimationStart = onAnimationStart;\n }\n\n return container;\n }\n\n function injectScrollElements() {\n function alterPositionStyles() {\n var style = getState(element).style;\n\n if(style.position === \"static\") {\n element.style.setProperty(\"position\", \"relative\",options.important ? \"important\" : \"\");\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style[property] = 0;\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function getLeftTopBottomRightCssText(left, top, bottom, right) {\n left = (!left ? \"0\" : (left + \"px\"));\n top = (!top ? \"0\" : (top + \"px\"));\n bottom = (!bottom ? \"0\" : (bottom + \"px\"));\n right = (!right ? \"0\" : (right + \"px\"));\n\n return [\"left: \" + left, \"top: \" + top, \"right: \" + right, \"bottom: \" + bottom];\n }\n\n debug(\"Injecting elements\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n alterPositionStyles();\n\n var rootContainer = getState(element).container;\n\n if (!rootContainer) {\n rootContainer = injectContainerElement();\n }\n\n // Due to this WebKit bug https://bugs.webkit.org/show_bug.cgi?id=80808 (currently fixed in Blink, but still present in WebKit browsers such as Safari),\n // we need to inject two containers, one that is width/height 100% and another that is left/top -1px so that the final container always is 1x1 pixels bigger than\n // the targeted element.\n // When the bug is resolved, \"containerContainer\" may be removed.\n\n // The outer container can occasionally be less wide than the targeted when inside inline elements element in WebKit (see https://bugs.webkit.org/show_bug.cgi?id=152980).\n // This should be no problem since the inner container either way makes sure the injected scroll elements are at least 1x1 px.\n\n var scrollbarWidth = scrollbarSizes.width;\n var scrollbarHeight = scrollbarSizes.height;\n var containerContainerStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: hidden\", \"z-index: -1\", \"visibility: hidden\", \"width: 100%\", \"height: 100%\", \"left: 0px\", \"top: 0px\"]);\n var containerStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: hidden\", \"z-index: -1\", \"visibility: hidden\"].concat(getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth)));\n var expandStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: scroll\", \"z-index: -1\", \"visibility: hidden\", \"width: 100%\", \"height: 100%\"]);\n var shrinkStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: scroll\", \"z-index: -1\", \"visibility: hidden\", \"width: 100%\", \"height: 100%\"]);\n var expandChildStyle = buildCssTextString([\"position: absolute\", \"left: 0\", \"top: 0\"]);\n var shrinkChildStyle = buildCssTextString([\"position: absolute\", \"width: 200%\", \"height: 200%\"]);\n\n var containerContainer = document.createElement(\"div\");\n var container = document.createElement(\"div\");\n var expand = document.createElement(\"div\");\n var expandChild = document.createElement(\"div\");\n var shrink = document.createElement(\"div\");\n var shrinkChild = document.createElement(\"div\");\n\n // Some browsers choke on the resize system being rtl, so force it to ltr. https://github.com/wnr/element-resize-detector/issues/56\n // However, dir should not be set on the top level container as it alters the dimensions of the target element in some browsers.\n containerContainer.dir = \"ltr\";\n\n containerContainer.style.cssText = containerContainerStyle;\n containerContainer.className = detectionContainerClass;\n container.className = detectionContainerClass;\n container.style.cssText = containerStyle;\n expand.style.cssText = expandStyle;\n expandChild.style.cssText = expandChildStyle;\n shrink.style.cssText = shrinkStyle;\n shrinkChild.style.cssText = shrinkChildStyle;\n\n expand.appendChild(expandChild);\n shrink.appendChild(shrinkChild);\n container.appendChild(expand);\n container.appendChild(shrink);\n containerContainer.appendChild(container);\n rootContainer.appendChild(containerContainer);\n\n function onExpandScroll() {\n getState(element).onExpand && getState(element).onExpand();\n }\n\n function onShrinkScroll() {\n getState(element).onShrink && getState(element).onShrink();\n }\n\n addEvent(expand, \"scroll\", onExpandScroll);\n addEvent(shrink, \"scroll\", onShrinkScroll);\n\n // Store the event handlers here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onExpandScroll = onExpandScroll;\n getState(element).onShrinkScroll = onShrinkScroll;\n }\n\n function registerListenersAndPositionElements() {\n function updateChildSizes(element, width, height) {\n var expandChild = getExpandChildElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n expandChild.style.setProperty(\"width\", expandWidth + \"px\", options.important ? \"important\" : \"\");\n expandChild.style.setProperty(\"height\", expandHeight + \"px\", options.important ? \"important\" : \"\");\n }\n\n function updateDetectorElements(done) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n // Check whether the size has actually changed since last time the algorithm ran. If not, some steps may be skipped.\n var sizeChanged = width !== getState(element).lastWidth || height !== getState(element).lastHeight;\n\n debug(\"Storing current size\", width, height);\n\n // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners.\n // Otherwise the if-check in handleScroll is useless.\n storeCurrentSize(element, width, height);\n\n // Since we delay the processing of the batch, there is a risk that uninstall has been called before the batch gets to execute.\n // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch.\n\n batchProcessor.add(0, function performUpdateChildSizes() {\n if (!sizeChanged) {\n return;\n }\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n if (options.debug) {\n var w = element.offsetWidth;\n var h = element.offsetHeight;\n\n if (w !== width || h !== height) {\n reporter.warn(idHandler.get(element), \"Scroll: Size changed before updating detector elements.\");\n }\n }\n\n updateChildSizes(element, width, height);\n });\n\n batchProcessor.add(1, function updateScrollbars() {\n // This function needs to be invoked event though the size is unchanged. The element could have been resized very quickly and then\n // been restored to the original size, which will have changed the scrollbar positions.\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n positionScrollbars(element, width, height);\n });\n\n if (sizeChanged && done) {\n batchProcessor.add(2, function () {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n done();\n });\n }\n }\n\n function areElementsInjected() {\n return !!getState(element).container;\n }\n\n function notifyListenersIfNeeded() {\n function isFirstNotify() {\n return getState(element).lastNotifiedWidth === undefined;\n }\n\n debug(\"notifyListenersIfNeeded invoked\");\n\n var state = getState(element);\n\n // Don't notify if the current size is the start size, and this is the first notification.\n if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) {\n return debug(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\");\n }\n\n // Don't notify if the size already has been notified.\n if (state.lastWidth === state.lastNotifiedWidth && state.lastHeight === state.lastNotifiedHeight) {\n return debug(\"Not notifying: Size already notified\");\n }\n\n\n debug(\"Current size not notified, notifying...\");\n state.lastNotifiedWidth = state.lastWidth;\n state.lastNotifiedHeight = state.lastHeight;\n forEach(getState(element).listeners, function (listener) {\n listener(element);\n });\n }\n\n function handleRender() {\n debug(\"startanimation triggered.\");\n\n if (isUnrendered(element)) {\n debug(\"Ignoring since element is still unrendered...\");\n return;\n }\n\n debug(\"Element rendered.\");\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n if (expand.scrollLeft === 0 || expand.scrollTop === 0 || shrink.scrollLeft === 0 || shrink.scrollTop === 0) {\n debug(\"Scrollbars out of sync. Updating detector elements...\");\n updateDetectorElements(notifyListenersIfNeeded);\n }\n }\n\n function handleScroll() {\n debug(\"Scroll detected.\");\n\n if (isUnrendered(element)) {\n // Element is still unrendered. Skip this scroll event.\n debug(\"Scroll event fired while unrendered. Ignoring...\");\n return;\n }\n\n updateDetectorElements(notifyListenersIfNeeded);\n }\n\n debug(\"registerListenersAndPositionElements invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n getState(element).onRendered = handleRender;\n getState(element).onExpand = handleScroll;\n getState(element).onShrink = handleScroll;\n\n var style = getState(element).style;\n updateChildSizes(element, style.width, style.height);\n }\n\n function finalizeDomMutation() {\n debug(\"finalizeDomMutation invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getState(element).style;\n storeCurrentSize(element, style.width, style.height);\n positionScrollbars(element, style.width, style.height);\n }\n\n function ready() {\n callback(element);\n }\n\n function install() {\n debug(\"Installing...\");\n initListeners();\n storeStartSize();\n\n batchProcessor.add(0, storeStyle);\n batchProcessor.add(1, injectScrollElements);\n batchProcessor.add(2, registerListenersAndPositionElements);\n batchProcessor.add(3, finalizeDomMutation);\n batchProcessor.add(4, ready);\n }\n\n debug(\"Making detectable...\");\n\n if (isDetached(element)) {\n debug(\"Element is detached\");\n\n injectContainerElement();\n\n debug(\"Waiting until element is attached...\");\n\n getState(element).onRendered = function () {\n debug(\"Element is now attached\");\n install();\n };\n } else {\n install();\n }\n }\n\n function uninstall(element) {\n var state = getState(element);\n\n if (!state) {\n // Uninstall has been called on a non-erd element.\n return;\n }\n\n // Uninstall may have been called in the following scenarios:\n // (1) Right between the sync code and async batch (here state.busy = true, but nothing have been registered or injected).\n // (2) In the ready callback of the last level of the batch by another element (here, state.busy = true, but all the stuff has been injected).\n // (3) After the installation process (here, state.busy = false and all the stuff has been injected).\n // So to be on the safe side, let's check for each thing before removing.\n\n // We need to remove the event listeners, because otherwise the event might fire on an uninstall element which results in an error when trying to get the state of the element.\n state.onExpandScroll && removeEvent(getExpandElement(element), \"scroll\", state.onExpandScroll);\n state.onShrinkScroll && removeEvent(getShrinkElement(element), \"scroll\", state.onShrinkScroll);\n state.onAnimationStart && removeEvent(state.container, \"animationstart\", state.onAnimationStart);\n\n state.container && element.removeChild(state.container);\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall,\n initDocument: initDocument\n };\n};\n\n\n/***/ }),\n/* 550 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes }, [!_vm.range && _vm.showInput ? _c('Input-number', { attrs: { \"min\": _vm.min, \"size\": _vm.inputSize, \"max\": _vm.max, \"step\": _vm.step, \"value\": _vm.exportValue[0], \"disabled\": _vm.disabled, \"active-change\": _vm.activeChange }, on: { \"on-change\": _vm.handleInputChange } }) : _vm._e(), _vm._v(\" \"), _c('div', { ref: \"slider\", class: [_vm.prefixCls + '-wrap'], on: { \"click\": function click($event) {\n if ($event.target !== $event.currentTarget) {\n return null;\n }return _vm.sliderClick($event);\n } } }, [_c('input', { attrs: { \"type\": \"hidden\", \"name\": _vm.name }, domProps: { \"value\": _vm.exportValue } }), _vm._v(\" \"), _vm.showStops ? _vm._l(_vm.stops, function (item) {\n return _c('div', { class: [_vm.prefixCls + '-stop'], style: { 'left': item + '%' }, on: { \"click\": function click($event) {\n if ($event.target !== $event.currentTarget) {\n return null;\n }return _vm.sliderClick($event);\n } } });\n }) : _vm._e(), _vm._v(\" \"), _c('div', { class: [_vm.prefixCls + '-bar'], style: _vm.barStyle, on: { \"click\": function click($event) {\n if ($event.target !== $event.currentTarget) {\n return null;\n }return _vm.sliderClick($event);\n } } }), _vm._v(\" \"), _c('div', { class: [_vm.prefixCls + '-button-wrap'], style: { left: _vm.minPosition + '%' }, on: { \"touchstart\": function touchstart($event) {\n return _vm.onPointerDown($event, 'min');\n }, \"mousedown\": function mousedown($event) {\n return _vm.onPointerDown($event, 'min');\n } } }, [_c('Tooltip', { ref: \"minTooltip\", attrs: { \"controlled\": _vm.pointerDown === 'min', \"placement\": \"top\", \"content\": _vm.tipFormat(_vm.exportValue[0]), \"disabled\": _vm.tipDisabled, \"always\": _vm.showTip === 'always' } }, [_c('div', { class: _vm.minButtonClasses, attrs: { \"tabindex\": \"0\" }, on: { \"focus\": function focus($event) {\n return _vm.handleFocus('min');\n }, \"blur\": function blur($event) {\n return _vm.handleBlur('min');\n }, \"keydown\": [function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"left\", 37, $event.key, [\"Left\", \"ArrowLeft\"])) {\n return null;\n }if ('button' in $event && $event.button !== 0) {\n return null;\n }return _vm.onKeyLeft($event, 'min');\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"down\", 40, $event.key, [\"Down\", \"ArrowDown\"])) {\n return null;\n }return _vm.onKeyLeft($event, 'min');\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"right\", 39, $event.key, [\"Right\", \"ArrowRight\"])) {\n return null;\n }if ('button' in $event && $event.button !== 2) {\n return null;\n }return _vm.onKeyRight($event, 'min');\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"up\", 38, $event.key, [\"Up\", \"ArrowUp\"])) {\n return null;\n }return _vm.onKeyRight($event, 'min');\n }] } })])], 1), _vm._v(\" \"), _vm.range ? _c('div', { class: [_vm.prefixCls + '-button-wrap'], style: { left: _vm.maxPosition + '%' }, on: { \"touchstart\": function touchstart($event) {\n return _vm.onPointerDown($event, 'max');\n }, \"mousedown\": function mousedown($event) {\n return _vm.onPointerDown($event, 'max');\n } } }, [_c('Tooltip', { ref: \"maxTooltip\", attrs: { \"controlled\": _vm.pointerDown === 'max', \"placement\": \"top\", \"content\": _vm.tipFormat(_vm.exportValue[1]), \"disabled\": _vm.tipDisabled, \"always\": _vm.showTip === 'always' } }, [_c('div', { class: _vm.maxButtonClasses, attrs: { \"tabindex\": \"0\" }, on: { \"focus\": function focus($event) {\n return _vm.handleFocus('max');\n }, \"blur\": function blur($event) {\n return _vm.handleBlur('max');\n }, \"keydown\": [function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"left\", 37, $event.key, [\"Left\", \"ArrowLeft\"])) {\n return null;\n }if ('button' in $event && $event.button !== 0) {\n return null;\n }return _vm.onKeyLeft($event, 'max');\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"down\", 40, $event.key, [\"Down\", \"ArrowDown\"])) {\n return null;\n }return _vm.onKeyLeft($event, 'max');\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"right\", 39, $event.key, [\"Right\", \"ArrowRight\"])) {\n return null;\n }if ('button' in $event && $event.button !== 2) {\n return null;\n }return _vm.onKeyRight($event, 'max');\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"up\", 38, $event.key, [\"Up\", \"ArrowUp\"])) {\n return null;\n }return _vm.onKeyRight($event, 'max');\n }] } })])], 1) : _vm._e()], 2)], 1);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 551 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _spin = __webpack_require__(552);\n\nvar _spin2 = _interopRequireDefault(_spin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar spinInstance = void 0;\n\nfunction getSpinInstance() {\n var render = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n spinInstance = spinInstance || _spin2.default.newInstance({\n render: render\n });\n\n return spinInstance;\n}\n\nfunction loading(options) {\n var render = 'render' in options ? options.render : undefined;\n var instance = getSpinInstance(render);\n\n instance.show(options);\n}\n\n_spin2.default.show = function () {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return loading(props);\n};\n_spin2.default.hide = function () {\n var _this = this;\n\n if (!spinInstance) return false;\n\n var instance = getSpinInstance();\n\n instance.remove(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n spinInstance = null;\n }.bind(this));\n};\n\nexports.default = _spin2.default;\n\n/***/ }),\n/* 552 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assign = __webpack_require__(14);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _vue = __webpack_require__(15);\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _spin = __webpack_require__(81);\n\nvar _spin2 = _interopRequireDefault(_spin);\n\nvar _transferQueue = __webpack_require__(34);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction handleGetIndex() {\n (0, _transferQueue.transferIncrease)();\n return _transferQueue.transferIndex;\n}\n\nvar tIndex = handleGetIndex();\n\n_spin2.default.newInstance = function (properties) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var _props = properties || {};\n\n var Instance = new _vue2.default({\n data: (0, _assign2.default)({}, _props, {}),\n render: function render(h) {\n var vnode = '';\n if (this.render) {\n vnode = h(_spin2.default, {\n props: {\n fix: true,\n fullscreen: true\n }\n }, [this.render(h)]);\n } else {\n vnode = h(_spin2.default, {\n props: {\n size: 'large',\n fix: true,\n fullscreen: true\n }\n });\n }\n return h('div', {\n 'class': 'ivu-spin-fullscreen ivu-spin-fullscreen-wrapper',\n 'style': {\n 'z-index': 2010 + tIndex\n }\n }, [vnode]);\n }\n });\n\n var component = Instance.$mount();\n document.body.appendChild(component.$el);\n var spin = Instance.$children[0];\n\n return {\n show: function show() {\n spin.visible = true;\n tIndex = handleGetIndex();\n },\n remove: function remove(cb) {\n spin.visible = false;\n setTimeout(function () {\n spin.$parent.$destroy();\n if (document.getElementsByClassName('ivu-spin-fullscreen')[0] !== undefined) {\n document.body.removeChild(document.getElementsByClassName('ivu-spin-fullscreen')[0]);\n }\n cb();\n }, 500);\n },\n\n component: spin\n };\n}.bind(undefined);\n\nexports.default = _spin2.default;\n\n/***/ }),\n/* 553 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _steps = __webpack_require__(554);\n\nvar _steps2 = _interopRequireDefault(_steps);\n\nvar _step = __webpack_require__(556);\n\nvar _step2 = _interopRequireDefault(_step);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_steps2.default.Step = _step2.default;\nexports.default = _steps2.default;\n\n/***/ }),\n/* 554 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_steps_vue__ = __webpack_require__(221);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_steps_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_steps_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_steps_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_steps_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_349b0d53_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_steps_vue__ = __webpack_require__(555);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_349b0d53_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_steps_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_349b0d53_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_steps_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_steps_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_349b0d53_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_steps_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_349b0d53_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_steps_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 555 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 556 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_step_vue__ = __webpack_require__(222);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_step_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_step_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_step_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_step_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_00f75ad4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_step_vue__ = __webpack_require__(557);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_00f75ad4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_step_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_00f75ad4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_step_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_step_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_00f75ad4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_step_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_00f75ad4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_step_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 557 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.wrapClasses, style: _vm.styles }, [_c('div', { class: [_vm.prefixCls + '-tail'] }, [_c('i')]), _vm._v(\" \"), _c('div', { class: [_vm.prefixCls + '-head'] }, [_c('div', { class: [_vm.prefixCls + '-head-inner'] }, [!_vm.icon && _vm.currentStatus != 'finish' && _vm.currentStatus != 'error' ? _c('span', [_vm._v(_vm._s(_vm.stepNumber))]) : _c('span', { class: _vm.iconClasses })])]), _vm._v(\" \"), _c('div', { class: [_vm.prefixCls + '-main'] }, [_c('div', { class: [_vm.prefixCls + '-title'] }, [_vm._v(_vm._s(_vm.title))]), _vm._v(\" \"), _vm._t(\"default\", [_vm.content ? _c('div', { class: [_vm.prefixCls + '-content'] }, [_vm._v(_vm._s(_vm.content))]) : _vm._e()])], 2)]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 558 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _switch = __webpack_require__(559);\n\nvar _switch2 = _interopRequireDefault(_switch);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _switch2.default;\n\n/***/ }),\n/* 559 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_switch_vue__ = __webpack_require__(223);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_switch_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_switch_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_switch_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_switch_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5b4014e1_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_switch_vue__ = __webpack_require__(560);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5b4014e1_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_switch_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5b4014e1_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_switch_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_switch_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5b4014e1_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_switch_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5b4014e1_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_switch_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 560 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('span', { class: _vm.wrapClasses, style: _vm.wrapStyles, attrs: { \"tabindex\": \"0\" }, on: { \"click\": _vm.toggle, \"keydown\": function keydown($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"space\", 32, $event.key, [\" \", \"Spacebar\"])) {\n return null;\n }return _vm.toggle($event);\n } } }, [_c('input', { attrs: { \"type\": \"hidden\", \"name\": _vm.name }, domProps: { \"value\": _vm.currentValue } }), _vm._v(\" \"), _c('span', { class: _vm.innerClasses }, [_vm.currentValue === _vm.trueValue ? _vm._t(\"open\") : _vm._e(), _vm._v(\" \"), _vm.currentValue === _vm.falseValue ? _vm._t(\"close\") : _vm._e()], 2)]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 561 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _table = __webpack_require__(562);\n\nvar _table2 = _interopRequireDefault(_table);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _table2.default;\n\n/***/ }),\n/* 562 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_vue__ = __webpack_require__(224);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3c6d120e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_table_vue__ = __webpack_require__(576);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3c6d120e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_table_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3c6d120e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_table_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3c6d120e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_table_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3c6d120e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_table_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 563 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_head_vue__ = __webpack_require__(225);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_head_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_head_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_head_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_head_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_43614e5d_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_table_head_vue__ = __webpack_require__(565);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_43614e5d_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_table_head_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_43614e5d_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_table_head_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_head_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_43614e5d_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_table_head_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_43614e5d_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_table_head_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 564 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'TableRenderHeader',\n functional: true,\n props: {\n render: Function,\n column: Object,\n index: Number\n },\n render: function render(h, ctx) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var params = {\n column: ctx.props.column,\n index: ctx.props.index\n };\n return ctx.props.render(h, params);\n }.bind(undefined)\n};\n\n/***/ }),\n/* 565 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('table', { style: _vm.styles, attrs: { \"cellspacing\": \"0\", \"cellpadding\": \"0\", \"border\": \"0\" } }, [_c('colgroup', [_vm._l(_vm.columns, function (column, index) {\n return _c('col', { attrs: { \"width\": _vm.setCellWidth(column) } });\n }), _vm._v(\" \"), _vm.$parent.showVerticalScrollBar ? _c('col', { attrs: { \"width\": _vm.$parent.scrollBarWidth } }) : _vm._e()], 2), _vm._v(\" \"), _c('thead', _vm._l(_vm.headRows, function (cols, rowIndex) {\n return _c('tr', [_vm._l(cols, function (column, index) {\n return _c('th', { class: _vm.alignCls(column), attrs: { \"colspan\": column.colSpan, \"rowspan\": column.rowSpan } }, [_c('div', { class: _vm.cellClasses(column) }, [column.type === 'expand' ? [!column.renderHeader ? _c('span', [_vm._v(_vm._s(column.title || ''))]) : _c('render-header', { attrs: { \"render\": column.renderHeader, \"column\": column, \"index\": index } })] : column.type === 'selection' ? [_c('Checkbox', { attrs: { \"value\": _vm.isSelectAll, \"disabled\": _vm.isSelectDisabled }, on: { \"on-change\": _vm.selectAll } })] : [!column.renderHeader ? _c('span', { class: (_obj = {}, _obj[_vm.prefixCls + '-cell-sort'] = column.sortable, _obj), on: { \"click\": function click($event) {\n _vm.handleSortByHead(_vm.getColumn(rowIndex, index)._index);\n } } }, [_vm._v(_vm._s(column.title || '#'))]) : _c('render-header', { attrs: { \"render\": column.renderHeader, \"column\": column, \"index\": index } }), _vm._v(\" \"), column.sortable ? _c('span', { class: [_vm.prefixCls + '-sort'] }, [_c('i', { staticClass: \"ivu-icon ivu-icon-md-arrow-dropup\", class: { on: _vm.getColumn(rowIndex, index)._sortType === 'asc' }, on: { \"click\": function click($event) {\n _vm.handleSort(_vm.getColumn(rowIndex, index)._index, 'asc');\n } } }), _vm._v(\" \"), _c('i', { staticClass: \"ivu-icon ivu-icon-md-arrow-dropdown\", class: { on: _vm.getColumn(rowIndex, index)._sortType === 'desc' }, on: { \"click\": function click($event) {\n _vm.handleSort(_vm.getColumn(rowIndex, index)._index, 'desc');\n } } })]) : _vm._e(), _vm._v(\" \"), _vm.isPopperShow(column) ? _c('Poptip', { attrs: { \"placement\": \"bottom\", \"popper-class\": \"ivu-table-popper\", \"transfer\": \"\" }, on: { \"on-popper-hide\": function onPopperHide($event) {\n _vm.handleFilterHide(_vm.getColumn(rowIndex, index)._index);\n } }, model: { value: _vm.getColumn(rowIndex, index)._filterVisible, callback: function callback($$v) {\n _vm.$set(_vm.getColumn(rowIndex, index), \"_filterVisible\", $$v);\n }, expression: \"getColumn(rowIndex, index)._filterVisible\" } }, [_c('span', { class: [_vm.prefixCls + '-filter'] }, [_c('i', { staticClass: \"ivu-icon ivu-icon-ios-funnel\", class: { on: _vm.getColumn(rowIndex, index)._isFiltered } })]), _vm._v(\" \"), _vm.getColumn(rowIndex, index)._filterMultiple ? _c('div', { class: [_vm.prefixCls + '-filter-list'], attrs: { \"slot\": \"content\" }, slot: \"content\" }, [_c('div', { class: [_vm.prefixCls + '-filter-list-item'] }, [_c('checkbox-group', { model: { value: _vm.getColumn(rowIndex, index)._filterChecked, callback: function callback($$v) {\n _vm.$set(_vm.getColumn(rowIndex, index), \"_filterChecked\", $$v);\n }, expression: \"getColumn(rowIndex, index)._filterChecked\" } }, _vm._l(column.filters, function (item, index) {\n return _c('checkbox', { key: index, attrs: { \"label\": item.value } }, [_vm._v(_vm._s(item.label))]);\n }), 1)], 1), _vm._v(\" \"), _c('div', { class: [_vm.prefixCls + '-filter-footer'] }, [_c('i-button', { attrs: { \"type\": \"text\", \"size\": \"small\", \"disabled\": !_vm.getColumn(rowIndex, index)._filterChecked.length }, nativeOn: { \"click\": function click($event) {\n _vm.handleFilter(_vm.getColumn(rowIndex, index)._index);\n } } }, [_vm._v(_vm._s(_vm.t('i.table.confirmFilter')))]), _vm._v(\" \"), _c('i-button', { attrs: { \"type\": \"text\", \"size\": \"small\" }, nativeOn: { \"click\": function click($event) {\n _vm.handleReset(_vm.getColumn(rowIndex, index)._index);\n } } }, [_vm._v(_vm._s(_vm.t('i.table.resetFilter')))])], 1)]) : _c('div', { class: [_vm.prefixCls + '-filter-list'], attrs: { \"slot\": \"content\" }, slot: \"content\" }, [_c('ul', { class: [_vm.prefixCls + '-filter-list-single'] }, [_c('li', { class: _vm.itemAllClasses(_vm.getColumn(rowIndex, index)), on: { \"click\": function click($event) {\n _vm.handleReset(_vm.getColumn(rowIndex, index)._index);\n } } }, [_vm._v(_vm._s(_vm.t('i.table.clearFilter')))]), _vm._v(\" \"), _vm._l(column.filters, function (item) {\n return _c('li', { class: _vm.itemClasses(_vm.getColumn(rowIndex, index), item), on: { \"click\": function click($event) {\n _vm.handleSelect(_vm.getColumn(rowIndex, index)._index, item.value);\n } } }, [_vm._v(_vm._s(item.label))]);\n })], 2)])]) : _vm._e()]], 2)]);\n var _obj;\n }), _vm._v(\" \"), _vm.$parent.showVerticalScrollBar && rowIndex === 0 ? _c('th', { class: _vm.scrollBarCellClass(), attrs: { \"rowspan\": _vm.headRows.length } }) : _vm._e()], 2);\n }), 0)]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 566 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_body_vue__ = __webpack_require__(227);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_body_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_body_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_body_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_body_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4f2570a6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_table_body_vue__ = __webpack_require__(572);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4f2570a6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_table_body_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4f2570a6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_table_body_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_body_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4f2570a6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_table_body_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4f2570a6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_table_body_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 567 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_tr_vue__ = __webpack_require__(228);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_tr_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_tr_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_tr_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_tr_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_64c14fc2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_table_tr_vue__ = __webpack_require__(568);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_64c14fc2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_table_tr_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_64c14fc2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_table_tr_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_table_tr_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_64c14fc2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_table_tr_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_64c14fc2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_table_tr_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 568 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _vm.draggable ? _c('tr', { class: _vm.rowClasses(_vm.row._index), attrs: { \"draggable\": _vm.draggable }, on: { \"dragstart\": function dragstart($event) {\n return _vm.onDrag($event, _vm.row._index);\n }, \"drop\": function drop($event) {\n return _vm.onDrop($event, _vm.row._index);\n }, \"dragover\": function dragover($event) {\n return _vm.allowDrop($event);\n } } }, [_vm._t(\"default\")], 2) : _c('tr', { class: _vm.rowClasses(_vm.row._index) }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 569 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_vue__ = __webpack_require__(229);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_618756d2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cell_vue__ = __webpack_require__(571);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_618756d2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cell_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_618756d2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cell_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_cell_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_618756d2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cell_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_618756d2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_cell_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 570 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'TableSlot',\n functional: true,\n inject: ['tableRoot'],\n props: {\n row: Object,\n index: Number,\n column: {\n type: Object,\n default: null\n }\n },\n render: function render(h, ctx) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n return h('div', ctx.injections.tableRoot.$scopedSlots[ctx.props.column.slot]({\n row: ctx.props.row,\n column: ctx.props.column,\n index: ctx.props.index\n }));\n }.bind(undefined)\n};\n\n/***/ }),\n/* 571 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { ref: \"cell\", class: _vm.classes }, [_vm.renderType === 'index' ? [_c('span', [_vm._v(_vm._s(_vm.column.indexMethod ? _vm.column.indexMethod(_vm.row) : _vm.naturalIndex + 1))])] : _vm._e(), _vm._v(\" \"), _vm.renderType === 'selection' ? [_c('Checkbox', { attrs: { \"value\": _vm.checked, \"disabled\": _vm.disabled }, on: { \"on-change\": _vm.toggleSelect }, nativeOn: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.handleClick($event);\n } } })] : _vm._e(), _vm._v(\" \"), _vm.renderType === 'html' ? [_c('span', { domProps: { \"innerHTML\": _vm._s(_vm.row[_vm.column.key]) } })] : _vm._e(), _vm._v(\" \"), _vm.renderType === 'normal' ? [_vm.column.tooltip ? [_c('Tooltip', { staticClass: \"ivu-table-cell-tooltip\", attrs: { \"transfer\": \"\", \"content\": _vm.row[_vm.column.key], \"theme\": _vm.tableRoot.tooltipTheme, \"disabled\": !_vm.showTooltip, \"max-width\": 300 } }, [_c('span', { ref: \"content\", staticClass: \"ivu-table-cell-tooltip-content\", on: { \"mouseenter\": _vm.handleTooltipIn, \"mouseleave\": _vm.handleTooltipOut } }, [_vm._v(_vm._s(_vm.row[_vm.column.key]))])])] : _c('span', [_vm._v(_vm._s(_vm.row[_vm.column.key]))])] : _vm._e(), _vm._v(\" \"), _vm.renderType === 'expand' && !_vm.row._disableExpand ? [_c('div', { class: _vm.expandCls, on: { \"click\": _vm.toggleExpand } }, [_c('Icon', { attrs: { \"type\": \"ios-arrow-forward\" } })], 1)] : _vm._e(), _vm._v(\" \"), _vm.renderType === 'render' ? _c('table-expand', { attrs: { \"row\": _vm.row, \"column\": _vm.column, \"index\": _vm.index, \"render\": _vm.column.render } }) : _vm._e(), _vm._v(\" \"), _vm.renderType === 'slot' ? _c('table-slot', { attrs: { \"row\": _vm.row, \"column\": _vm.column, \"index\": _vm.index } }) : _vm._e()], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 572 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('table', { style: _vm.styleObject, attrs: { \"cellspacing\": \"0\", \"cellpadding\": \"0\", \"border\": \"0\" } }, [_c('colgroup', _vm._l(_vm.columns, function (column, index) {\n return _c('col', { attrs: { \"width\": _vm.setCellWidth(column) } });\n }), 0), _vm._v(\" \"), _c('tbody', { class: [_vm.prefixCls + '-tbody'] }, [_vm._l(_vm.data, function (row, index) {\n return [_c('table-tr', { key: _vm.rowKey ? row._rowKey : index, attrs: { \"draggable\": _vm.draggable, \"row\": row, \"prefix-cls\": _vm.prefixCls }, nativeOn: { \"mouseenter\": function mouseenter($event) {\n $event.stopPropagation();return _vm.handleMouseIn(row._index);\n }, \"mouseleave\": function mouseleave($event) {\n $event.stopPropagation();return _vm.handleMouseOut(row._index);\n }, \"click\": function click($event) {\n return _vm.clickCurrentRow(row._index);\n }, \"dblclick\": function dblclick($event) {\n $event.stopPropagation();return _vm.dblclickCurrentRow(row._index);\n } } }, _vm._l(_vm.columns, function (column) {\n return _c('td', { class: _vm.alignCls(column, row) }, [_c('table-cell', { key: column._columnKey, attrs: { \"fixed\": _vm.fixed, \"prefix-cls\": _vm.prefixCls, \"row\": row, \"column\": column, \"natural-index\": index, \"index\": row._index, \"checked\": _vm.rowChecked(row._index), \"disabled\": _vm.rowDisabled(row._index), \"expanded\": _vm.rowExpanded(row._index) } })], 1);\n }), 0), _vm._v(\" \"), _vm.rowExpanded(row._index) ? _c('tr', { class: (_obj = {}, _obj[_vm.prefixCls + '-expanded-hidden'] = _vm.fixed, _obj) }, [_c('td', { class: _vm.prefixCls + '-expanded-cell', attrs: { \"colspan\": _vm.columns.length } }, [_c('Expand', { key: _vm.rowKey ? row._rowKey : index, attrs: { \"row\": row, \"render\": _vm.expandRender, \"index\": row._index } })], 1)]) : _vm._e()];\n var _obj;\n })], 2)]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 573 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _keys = __webpack_require__(25);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _assign = __webpack_require__(14);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nexports.default = csv;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar newLine = '\\r\\n';\nvar appendLine = function (content, row, _ref) {\n var separator = _ref.separator,\n quoted = _ref.quoted;\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var line = row.map(function (data) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n if (!quoted) return data;\n\n data = typeof data === 'string' ? data.replace(/\"/g, '\"') : data;\n return '\"' + String(data) + '\"';\n }.bind(undefined));\n content.push(line.join(separator));\n}.bind(undefined);\n\nvar defaults = {\n separator: ',',\n quoted: false\n};\n\nfunction csv(columns, datas, options) {\n var _this = this;\n\n var noHeader = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n options = (0, _assign2.default)({}, defaults, options);\n var columnOrder = void 0;\n var content = [];\n var column = [];\n\n if (columns) {\n columnOrder = columns.map(function (v) {\n (0, _newArrowCheck3.default)(this, _this);\n\n if (typeof v === 'string') return v;\n if (!noHeader) {\n column.push(typeof v.title !== 'undefined' ? v.title : v.key);\n }\n return v.key;\n }.bind(this));\n if (column.length > 0) appendLine(content, column, options);\n } else {\n columnOrder = [];\n datas.forEach(function (v) {\n (0, _newArrowCheck3.default)(this, _this);\n\n if (!Array.isArray(v)) {\n columnOrder = columnOrder.concat((0, _keys2.default)(v));\n }\n }.bind(this));\n if (columnOrder.length > 0) {\n columnOrder = columnOrder.filter(function (value, index, self) {\n (0, _newArrowCheck3.default)(this, _this);\n return self.indexOf(value) === index;\n }.bind(this));\n if (!noHeader) appendLine(content, columnOrder, options);\n }\n }\n\n if (Array.isArray(datas)) {\n datas.forEach(function (row) {\n (0, _newArrowCheck3.default)(this, _this);\n\n if (!Array.isArray(row)) {\n row = columnOrder.map(function (k) {\n (0, _newArrowCheck3.default)(this, _this);\n return typeof row[k] !== 'undefined' ? row[k] : '';\n }.bind(this));\n }\n appendLine(content, row, options);\n }.bind(this));\n }\n return content.join(newLine);\n}\n\n/***/ }),\n/* 574 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction has(browser) {\n var ua = navigator.userAgent;\n if (browser === 'ie') {\n var isIE = ua.indexOf('compatible') > -1 && ua.indexOf('MSIE') > -1;\n if (isIE) {\n var reIE = new RegExp('MSIE (\\\\d+\\\\.\\\\d+);');\n reIE.test(ua);\n return parseFloat(RegExp['$1']);\n } else {\n return false;\n }\n } else {\n return ua.indexOf(browser) > -1;\n }\n}\n\nvar csv = {\n _isIE11: function _isIE11() {\n var iev = 0;\n var ieold = /MSIE (\\d+\\.\\d+);/.test(navigator.userAgent);\n var trident = !!navigator.userAgent.match(/Trident\\/7.0/);\n var rv = navigator.userAgent.indexOf('rv:11.0');\n\n if (ieold) {\n iev = Number(RegExp.$1);\n }\n if (navigator.appVersion.indexOf('MSIE 10') !== -1) {\n iev = 10;\n }\n if (trident && rv !== -1) {\n iev = 11;\n }\n\n return iev === 11;\n },\n _isEdge: function _isEdge() {\n return (/Edge/.test(navigator.userAgent)\n );\n },\n _getDownloadUrl: function _getDownloadUrl(text) {\n var BOM = '\\uFEFF';\n\n if (window.Blob && window.URL && window.URL.createObjectURL) {\n var csvData = new Blob([BOM + text], { type: 'text/csv' });\n return URL.createObjectURL(csvData);\n } else {\n return 'data:attachment/csv;charset=utf-8,' + BOM + encodeURIComponent(text);\n }\n },\n download: function download(filename, text) {\n if (has('ie') && has('ie') < 10) {\n var oWin = window.top.open('about:blank', '_blank');\n oWin.document.charset = 'utf-8';\n oWin.document.write(text);\n oWin.document.close();\n oWin.document.execCommand('SaveAs', filename);\n oWin.close();\n } else if (has('ie') === 10 || this._isIE11() || this._isEdge()) {\n var BOM = '\\uFEFF';\n var csvData = new Blob([BOM + text], { type: 'text/csv' });\n navigator.msSaveBlob(csvData, filename);\n } else {\n var link = document.createElement('a');\n link.download = filename;\n link.href = this._getDownloadUrl(text);\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n }\n};\n\nexports.default = csv;\n\n/***/ }),\n/* 575 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRandomStr = exports.convertToRows = exports.getAllColumns = exports.convertColumnOrder = undefined;\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar convertColumnOrder = function (columns, fixedType) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var list = [];\n var other = [];\n columns.forEach(function (col) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n if (col.fixed && col.fixed === fixedType) {\n list.push(col);\n } else {\n other.push(col);\n }\n }.bind(undefined));\n return list.concat(other);\n}.bind(undefined);\n\nexports.convertColumnOrder = convertColumnOrder;\n\nvar getAllColumns = function (cols) {\n var forTableHead = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var columns = (0, _assist.deepCopy)(cols);\n var result = [];\n columns.forEach(function (column) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n if (column.children) {\n if (forTableHead) result.push(column);\n result.push.apply(result, getAllColumns(column.children, forTableHead));\n } else {\n result.push(column);\n }\n }.bind(undefined));\n return result;\n}.bind(undefined);\n\nexports.getAllColumns = getAllColumns;\n\n\nvar convertToRows = function (columns) {\n var fixedType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var originColumns = fixedType ? fixedType === 'left' ? (0, _assist.deepCopy)(convertColumnOrder(columns, 'left')) : (0, _assist.deepCopy)(convertColumnOrder(columns, 'right')) : (0, _assist.deepCopy)(columns);\n var maxLevel = 1;\n var traverse = function (column, parent) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n if (parent) {\n column.level = parent.level + 1;\n if (maxLevel < column.level) {\n maxLevel = column.level;\n }\n }\n if (column.children) {\n var colSpan = 0;\n column.children.forEach(function (subColumn) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n traverse(subColumn, column);\n colSpan += subColumn.colSpan;\n }.bind(undefined));\n column.colSpan = colSpan;\n } else {\n column.colSpan = 1;\n }\n }.bind(undefined);\n\n originColumns.forEach(function (column) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n column.level = 1;\n traverse(column);\n }.bind(undefined));\n\n var rows = [];\n for (var i = 0; i < maxLevel; i++) {\n rows.push([]);\n }\n\n var allColumns = getAllColumns(originColumns, true);\n\n allColumns.forEach(function (column) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n if (!column.children) {\n column.rowSpan = maxLevel - column.level + 1;\n } else {\n column.rowSpan = 1;\n }\n rows[column.level - 1].push(column);\n }.bind(undefined));\n\n return rows;\n}.bind(undefined);\n\nexports.convertToRows = convertToRows;\n\n\nvar getRandomStr = function getRandomStr() {\n var len = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 32;\n\n var $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';\n var maxPos = $chars.length;\n var str = '';\n for (var i = 0; i < len; i++) {\n str += $chars.charAt(Math.floor(Math.random() * maxPos));\n }\n return str;\n};\n\nexports.getRandomStr = getRandomStr;\n\n/***/ }),\n/* 576 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.wrapClasses, style: _vm.styles }, [_c('div', { class: _vm.classes }, [_vm.showSlotHeader ? _c('div', { ref: \"title\", class: [_vm.prefixCls + '-title'] }, [_vm._t(\"header\")], 2) : _vm._e(), _vm._v(\" \"), _vm.showHeader ? _c('div', { ref: \"header\", class: [_vm.prefixCls + '-header'], on: { \"mousewheel\": _vm.handleMouseWheel } }, [_c('table-head', { attrs: { \"prefix-cls\": _vm.prefixCls, \"styleObject\": _vm.tableHeaderStyle, \"columns\": _vm.cloneColumns, \"column-rows\": _vm.columnRows, \"obj-data\": _vm.objData, \"columns-width\": _vm.columnsWidth, \"data\": _vm.rebuildData } })], 1) : _vm._e(), _vm._v(\" \"), _c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: !(!!_vm.localeNoDataText && (!_vm.data || _vm.data.length === 0) || !!_vm.localeNoFilteredDataText && (!_vm.rebuildData || _vm.rebuildData.length === 0)), expression: \"!((!!localeNoDataText && (!data || data.length === 0)) || (!!localeNoFilteredDataText && (!rebuildData || rebuildData.length === 0)))\" }], ref: \"body\", class: [_vm.prefixCls + '-body'], style: _vm.bodyStyle, on: { \"scroll\": _vm.handleBodyScroll } }, [_c('table-body', { ref: \"tbody\", attrs: { \"draggable\": _vm.draggable, \"prefix-cls\": _vm.prefixCls, \"styleObject\": _vm.tableStyle, \"columns\": _vm.cloneColumns, \"data\": _vm.rebuildData, \"row-key\": _vm.rowKey, \"columns-width\": _vm.columnsWidth, \"obj-data\": _vm.objData } })], 1), _vm._v(\" \"), _c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: !!_vm.localeNoDataText && (!_vm.data || _vm.data.length === 0) || !!_vm.localeNoFilteredDataText && (!_vm.rebuildData || _vm.rebuildData.length === 0), expression: \"((!!localeNoDataText && (!data || data.length === 0)) || (!!localeNoFilteredDataText && (!rebuildData || rebuildData.length === 0)))\" }], class: [_vm.prefixCls + '-tip'], style: _vm.bodyStyle, on: { \"scroll\": _vm.handleBodyScroll } }, [_c('table', { attrs: { \"cellspacing\": \"0\", \"cellpadding\": \"0\", \"border\": \"0\" } }, [_c('tbody', [_c('tr', [_c('td', { style: { 'height': _vm.bodyStyle.height, 'width': this.headerWidth + \"px\" } }, [!_vm.data || _vm.data.length === 0 ? _c('span', { domProps: { \"innerHTML\": _vm._s(_vm.localeNoDataText) } }) : _c('span', { domProps: { \"innerHTML\": _vm._s(_vm.localeNoFilteredDataText) } })])])])])]), _vm._v(\" \"), _vm.isLeftFixed ? _c('div', { class: [_vm.prefixCls + '-fixed'], style: _vm.fixedTableStyle }, [_vm.showHeader ? _c('div', { class: _vm.fixedHeaderClasses }, [_c('table-head', { attrs: { \"fixed\": \"left\", \"prefix-cls\": _vm.prefixCls, \"styleObject\": _vm.fixedTableStyle, \"columns\": _vm.leftFixedColumns, \"column-rows\": _vm.columnRows, \"fixed-column-rows\": _vm.leftFixedColumnRows, \"obj-data\": _vm.objData, \"columns-width\": _vm.columnsWidth, \"data\": _vm.rebuildData } })], 1) : _vm._e(), _vm._v(\" \"), _c('div', { ref: \"fixedBody\", class: [_vm.prefixCls + '-fixed-body'], style: _vm.fixedBodyStyle, on: { \"mousewheel\": _vm.handleFixedMousewheel, \"DOMMouseScroll\": _vm.handleFixedMousewheel } }, [_c('table-body', { attrs: { \"fixed\": \"left\", \"draggable\": _vm.draggable, \"prefix-cls\": _vm.prefixCls, \"styleObject\": _vm.fixedTableStyle, \"columns\": _vm.leftFixedColumns, \"data\": _vm.rebuildData, \"row-key\": _vm.rowKey, \"columns-width\": _vm.columnsWidth, \"obj-data\": _vm.objData } })], 1)]) : _vm._e(), _vm._v(\" \"), _vm.isRightFixed ? _c('div', { class: [_vm.prefixCls + '-fixed-right'], style: _vm.fixedRightTableStyle }, [_vm.showHeader ? _c('div', { class: _vm.fixedHeaderClasses }, [_c('table-head', { attrs: { \"fixed\": \"right\", \"prefix-cls\": _vm.prefixCls, \"styleObject\": _vm.fixedRightTableStyle, \"columns\": _vm.rightFixedColumns, \"column-rows\": _vm.columnRows, \"fixed-column-rows\": _vm.rightFixedColumnRows, \"obj-data\": _vm.objData, \"columns-width\": _vm.columnsWidth, \"data\": _vm.rebuildData } })], 1) : _vm._e(), _vm._v(\" \"), _c('div', { ref: \"fixedRightBody\", class: [_vm.prefixCls + '-fixed-body'], style: _vm.fixedBodyStyle, on: { \"mousewheel\": _vm.handleFixedMousewheel, \"DOMMouseScroll\": _vm.handleFixedMousewheel } }, [_c('table-body', { attrs: { \"fixed\": \"right\", \"draggable\": _vm.draggable, \"prefix-cls\": _vm.prefixCls, \"styleObject\": _vm.fixedRightTableStyle, \"columns\": _vm.rightFixedColumns, \"data\": _vm.rebuildData, \"row-key\": _vm.rowKey, \"columns-width\": _vm.columnsWidth, \"obj-data\": _vm.objData } })], 1)]) : _vm._e(), _vm._v(\" \"), _vm.isRightFixed ? _c('div', { class: [_vm.prefixCls + '-fixed-right-header'], style: _vm.fixedRightHeaderStyle }) : _vm._e(), _vm._v(\" \"), _vm.showSlotFooter ? _c('div', { ref: \"footer\", class: [_vm.prefixCls + '-footer'] }, [_vm._t(\"footer\")], 2) : _vm._e()]), _vm._v(\" \"), _vm.loading ? _c('Spin', { attrs: { \"fix\": \"\", \"size\": \"large\" } }, [_vm._t(\"loading\")], 2) : _vm._e()], 1);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 577 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _tabs = __webpack_require__(578);\n\nvar _tabs2 = _interopRequireDefault(_tabs);\n\nvar _pane = __webpack_require__(580);\n\nvar _pane2 = _interopRequireDefault(_pane);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_tabs2.default.Pane = _pane2.default;\nexports.default = _tabs2.default;\n\n/***/ }),\n/* 578 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tabs_vue__ = __webpack_require__(231);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tabs_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tabs_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tabs_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tabs_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6c5264df_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_tabs_vue__ = __webpack_require__(579);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6c5264df_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_tabs_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6c5264df_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_tabs_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tabs_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6c5264df_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_tabs_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6c5264df_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_tabs_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 579 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes }, [_c('div', { class: [_vm.prefixCls + '-bar'] }, [_vm.showSlot ? _c('div', { class: [_vm.prefixCls + '-nav-right'] }, [_vm._t(\"extra\")], 2) : _vm._e(), _vm._v(\" \"), _c('div', { ref: \"navContainer\", class: [_vm.prefixCls + '-nav-container'], attrs: { \"tabindex\": \"0\" }, on: { \"keydown\": [_vm.handleTabKeyNavigation, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"space\", 32, $event.key, [\" \", \"Spacebar\"])) {\n return null;\n }$event.preventDefault();return _vm.handleTabKeyboardSelect(false);\n }] } }, [_c('div', { ref: \"navWrap\", class: [_vm.prefixCls + '-nav-wrap', _vm.scrollable ? _vm.prefixCls + '-nav-scrollable' : ''] }, [_c('span', { class: [_vm.prefixCls + '-nav-prev', _vm.scrollable ? '' : _vm.prefixCls + '-nav-scroll-disabled'], on: { \"click\": _vm.scrollPrev } }, [_c('Icon', { attrs: { \"type\": \"ios-arrow-back\" } })], 1), _vm._v(\" \"), _c('span', { class: [_vm.prefixCls + '-nav-next', _vm.scrollable ? '' : _vm.prefixCls + '-nav-scroll-disabled'], on: { \"click\": _vm.scrollNext } }, [_c('Icon', { attrs: { \"type\": \"ios-arrow-forward\" } })], 1), _vm._v(\" \"), _c('div', { ref: \"navScroll\", class: [_vm.prefixCls + '-nav-scroll'] }, [_c('div', { ref: \"nav\", class: [_vm.prefixCls + '-nav'], style: _vm.navStyle }, [_c('div', { class: _vm.barClasses, style: _vm.barStyle }), _vm._v(\" \"), _vm._l(_vm.navList, function (item, index) {\n return _c('div', { class: _vm.tabCls(item), on: { \"click\": function click($event) {\n return _vm.handleChange(index);\n } } }, [item.icon !== '' ? _c('Icon', { attrs: { \"type\": item.icon } }) : _vm._e(), _vm._v(\" \"), item.labelType === 'function' ? _c('Render', { attrs: { \"render\": item.label } }) : [_vm._v(_vm._s(item.label))], _vm._v(\" \"), _vm.showClose(item) ? _c('Icon', { class: [_vm.prefixCls + '-close'], attrs: { \"type\": _vm.arrowType, \"custom\": _vm.customArrowType, \"size\": _vm.arrowSize }, nativeOn: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.handleRemove(index);\n } } }) : _vm._e()], 2);\n })], 2)])])])]), _vm._v(\" \"), _c('div', { ref: \"panes\", class: _vm.contentClasses, style: _vm.contentStyle }, [_vm._t(\"default\")], 2)]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 580 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_pane_vue__ = __webpack_require__(232);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_pane_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_pane_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_pane_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_pane_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_309ec7f7_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_pane_vue__ = __webpack_require__(581);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_309ec7f7_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_pane_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_309ec7f7_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_pane_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_pane_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_309ec7f7_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_pane_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_309ec7f7_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_pane_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 581 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.show, expression: \"show\" }], class: _vm.prefixCls, style: _vm.contentStyle }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 582 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _tag = __webpack_require__(583);\n\nvar _tag2 = _interopRequireDefault(_tag);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _tag2.default;\n\n/***/ }),\n/* 583 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tag_vue__ = __webpack_require__(233);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tag_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tag_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tag_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tag_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_dcc958c0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_tag_vue__ = __webpack_require__(584);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_dcc958c0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_tag_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_dcc958c0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_tag_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tag_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_dcc958c0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_tag_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_dcc958c0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_tag_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 584 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _vm.fade ? _c('transition', { attrs: { \"name\": \"fade\" } }, [_c('div', { class: _vm.classes, style: _vm.wraperStyles, on: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.check($event);\n } } }, [_vm.showDot ? _c('span', { class: _vm.dotClasses, style: _vm.bgColorStyle }) : _vm._e(), _vm._v(\" \"), _c('span', { class: _vm.textClasses, style: _vm.textColorStyle }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _vm.closable ? _c('Icon', { class: _vm.iconClass, attrs: { \"color\": _vm.lineColor, \"type\": \"ios-close\" }, nativeOn: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.close($event);\n } } }) : _vm._e()], 1)]) : _c('div', { class: _vm.classes, style: _vm.wraperStyles, on: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.check($event);\n } } }, [_vm.showDot ? _c('span', { class: _vm.dotClasses, style: _vm.bgColorStyle }) : _vm._e(), _vm._v(\" \"), _c('span', { class: _vm.textClasses, style: _vm.textColorStyle }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _vm.closable ? _c('Icon', { class: _vm.iconClass, attrs: { \"color\": _vm.lineColor, \"type\": \"ios-close\" }, nativeOn: { \"click\": function click($event) {\n $event.stopPropagation();return _vm.close($event);\n } } }) : _vm._e()], 1);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 585 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _time = __webpack_require__(586);\n\nvar _time2 = _interopRequireDefault(_time);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _time2.default;\n\n/***/ }),\n/* 586 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_vue__ = __webpack_require__(234);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3d577981_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_time_vue__ = __webpack_require__(588);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3d577981_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_time_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3d577981_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_time_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_time_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3d577981_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_time_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3d577981_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_time_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 587 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRelativeTime = undefined;\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nexports.default = function (timestamp, locale) {\n return getRelativeTime(timestamp, locale);\n};\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isEarly = function (timeStamp, currentTime) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n return timeStamp <= currentTime;\n}.bind(undefined);\n\nvar getHandledValue = function (num) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n return num < 10 ? '0' + num : num;\n}.bind(undefined);\n\nvar getDate = function (timeStamp, startType) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var d = new Date(timeStamp);\n var year = d.getFullYear();\n var month = getHandledValue(d.getMonth() + 1);\n var date = getHandledValue(d.getDate());\n var hours = getHandledValue(d.getHours());\n var minutes = getHandledValue(d.getMinutes());\n var second = getHandledValue(d.getSeconds());\n var resStr = '';\n if (startType === 'year') resStr = year + '-' + month + '-' + date + ' ' + hours + ':' + minutes + ':' + second;else resStr = month + '-' + date + ' ' + hours + ':' + minutes;\n return resStr;\n}.bind(undefined);\n\nvar getRelativeTime = exports.getRelativeTime = function (timeStamp, locale) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var currentTime = new Date().getTime();\n\n var IS_EARLY = isEarly(timeStamp, currentTime);\n\n var diff = currentTime - timeStamp;\n\n if (!IS_EARLY) diff = -diff;\n var resStr = '';\n var dirStr = IS_EARLY ? locale('i.time.before') || '前' : locale('i.time.after') || '后';\n\n if (diff < 1000) resStr = locale('i.time.just') || '刚刚';else if (diff < 60000) resStr = parseInt(diff / 1000) + (locale('i.time.seconds') || '秒') + dirStr;else if (diff >= 60000 && diff < 3600000) resStr = Math.floor(diff / 60000) + (locale('i.time.minutes') || '分钟') + dirStr;else if (diff >= 3600000 && diff < 86400000) resStr = Math.floor(diff / 3600000) + (locale('i.time.hours') || '小时') + dirStr;else if (diff >= 86400000 && diff < 2623860000) resStr = Math.floor(diff / 86400000) + (locale('i.time.days') || '天') + dirStr;else if (diff >= 2623860000 && diff <= 31567860000 && IS_EARLY) resStr = getDate(timeStamp);else resStr = getDate(timeStamp, 'year');\n return resStr;\n}.bind(undefined);\n\n/***/ }),\n/* 588 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('span', { class: _vm.classes, on: { \"click\": _vm.handleClick } }, [_vm._v(_vm._s(_vm.date))]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 589 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _timeline = __webpack_require__(590);\n\nvar _timeline2 = _interopRequireDefault(_timeline);\n\nvar _timelineItem = __webpack_require__(592);\n\nvar _timelineItem2 = _interopRequireDefault(_timelineItem);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_timeline2.default.Item = _timelineItem2.default;\nexports.default = _timeline2.default;\n\n/***/ }),\n/* 590 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_timeline_vue__ = __webpack_require__(235);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_timeline_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_timeline_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_timeline_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_timeline_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_af320bf0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_timeline_vue__ = __webpack_require__(591);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_af320bf0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_timeline_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_af320bf0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_timeline_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_timeline_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_af320bf0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_timeline_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_af320bf0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_timeline_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 591 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('ul', { class: _vm.classes }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 592 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_timeline_item_vue__ = __webpack_require__(236);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_timeline_item_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_timeline_item_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_timeline_item_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_timeline_item_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_cf28fc44_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_timeline_item_vue__ = __webpack_require__(593);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_cf28fc44_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_timeline_item_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_cf28fc44_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_timeline_item_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_timeline_item_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_cf28fc44_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_timeline_item_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_cf28fc44_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_timeline_item_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 593 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('li', { class: _vm.itemClasses }, [_c('div', { class: _vm.tailClasses }), _vm._v(\" \"), _c('div', { ref: \"dot\", class: _vm.headClasses, style: _vm.customColor }, [_vm._t(\"dot\")], 2), _vm._v(\" \"), _c('div', { class: _vm.contentClasses }, [_vm._t(\"default\")], 2)]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 594 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _timePicker = __webpack_require__(595);\n\nvar _timePicker2 = _interopRequireDefault(_timePicker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _timePicker2.default;\n\n/***/ }),\n/* 595 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _picker = __webpack_require__(147);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _time = __webpack_require__(156);\n\nvar _time2 = _interopRequireDefault(_time);\n\nvar _timeRange = __webpack_require__(165);\n\nvar _timeRange2 = _interopRequireDefault(_timeRange);\n\nvar _timeMixins = __webpack_require__(56);\n\nvar _timeMixins2 = _interopRequireDefault(_timeMixins);\n\nvar _assist = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n mixins: [_picker2.default, _timeMixins2.default],\n components: { TimePickerPanel: _time2.default, RangeTimePickerPanel: _timeRange2.default },\n props: {\n type: {\n validator: function validator(value) {\n return (0, _assist.oneOf)(value, ['time', 'timerange']);\n },\n\n default: 'time'\n }\n },\n computed: {\n panel: function panel() {\n var isRange = this.type === 'timerange';\n return isRange ? 'RangeTimePickerPanel' : 'TimePickerPanel';\n },\n ownPickerProps: function ownPickerProps() {\n return {\n disabledHours: this.disabledHours,\n disabledMinutes: this.disabledMinutes,\n disabledSeconds: this.disabledSeconds,\n hideDisabledOptions: this.hideDisabledOptions\n };\n }\n },\n watch: {\n visible: function visible(_visible) {\n var _this = this;\n\n if (_visible) {\n this.$nextTick(function () {\n (0, _newArrowCheck3.default)(this, _this);\n\n var spinners = (0, _assist.findComponentsDownward)(this, 'TimeSpinner');\n spinners.forEach(function (instance) {\n (0, _newArrowCheck3.default)(this, _this);\n return instance.updateScroll();\n }.bind(this));\n }.bind(this));\n }\n }\n }\n};\n\n/***/ }),\n/* 596 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _tooltip = __webpack_require__(83);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _tooltip2.default;\n\n/***/ }),\n/* 597 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _transfer = __webpack_require__(598);\n\nvar _transfer2 = _interopRequireDefault(_transfer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _transfer2.default;\n\n/***/ }),\n/* 598 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_transfer_vue__ = __webpack_require__(237);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_transfer_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_transfer_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_transfer_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_transfer_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\nvar __vue_render__, __vue_static_render_fns__\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_transfer_vue___default.a,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 599 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_vue__ = __webpack_require__(238);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_00c5b8d8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_list_vue__ = __webpack_require__(602);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_00c5b8d8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_list_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_00c5b8d8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_list_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_00c5b8d8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_list_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_00c5b8d8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_list_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 600 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_search_vue__ = __webpack_require__(239);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_search_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_search_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_search_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_search_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_a86e25ae_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_search_vue__ = __webpack_require__(601);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_a86e25ae_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_search_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_a86e25ae_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_search_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_search_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_a86e25ae_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_search_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_a86e25ae_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_search_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 601 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.prefixCls }, [_c('i-input', { attrs: { \"size\": \"small\", \"icon\": _vm.icon, \"placeholder\": _vm.placeholder }, on: { \"on-click\": _vm.handleClick }, model: { value: _vm.currentQuery, callback: function callback($$v) {\n _vm.currentQuery = $$v;\n }, expression: \"currentQuery\" } })], 1);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 602 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes, style: _vm.listStyle }, [_c('div', { class: _vm.prefixCls + '-header' }, [_c('Checkbox', { attrs: { \"value\": _vm.checkedAll, \"disabled\": _vm.checkedAllDisabled }, on: { \"on-change\": _vm.toggleSelectAll } }), _vm._v(\" \"), _c('span', { class: _vm.prefixCls + '-header-title', on: { \"click\": function click($event) {\n return _vm.toggleSelectAll(!_vm.checkedAll);\n } } }, [_vm._v(_vm._s(_vm.title))]), _vm._v(\" \"), _c('span', { class: _vm.prefixCls + '-header-count' }, [_vm._v(_vm._s(_vm.count))])], 1), _vm._v(\" \"), _c('div', { class: _vm.bodyClasses }, [_vm.filterable ? _c('div', { class: _vm.prefixCls + '-body-search-wrapper' }, [_c('Search', { attrs: { \"prefix-cls\": _vm.prefixCls + '-search', \"query\": _vm.query, \"placeholder\": _vm.filterPlaceholder }, on: { \"on-query-clear\": _vm.handleQueryClear, \"on-query-change\": _vm.handleQueryChange } })], 1) : _vm._e(), _vm._v(\" \"), _c('ul', { class: _vm.prefixCls + '-content' }, [_vm._l(_vm.filterData, function (item) {\n return _c('li', { class: _vm.itemClasses(item), on: { \"click\": function click($event) {\n $event.preventDefault();return _vm.select(item);\n } } }, [_c('Checkbox', { attrs: { \"value\": _vm.isCheck(item), \"disabled\": item.disabled } }), _vm._v(\" \"), _c('span', { domProps: { \"innerHTML\": _vm._s(_vm.showLabel(item)) } })], 1);\n }), _vm._v(\" \"), _c('li', { class: _vm.prefixCls + '-content-not-found' }, [_vm._v(_vm._s(_vm.notFoundText))])], 2)]), _vm._v(\" \"), _vm.showFooter ? _c('div', { class: _vm.prefixCls + '-footer' }, [_vm._t(\"default\")], 2) : _vm._e()]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 603 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_operation_vue__ = __webpack_require__(240);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_operation_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_operation_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_operation_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_operation_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_b5573704_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_operation_vue__ = __webpack_require__(604);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_b5573704_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_operation_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_b5573704_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_operation_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_operation_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_b5573704_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_operation_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_b5573704_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_operation_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 604 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.prefixCls + '-operation' }, [_c('i-button', { attrs: { \"type\": \"primary\", \"size\": \"small\", \"disabled\": !_vm.rightActive }, nativeOn: { \"click\": function click($event) {\n return _vm.moveToLeft($event);\n } } }, [_c('Icon', { attrs: { \"type\": \"ios-arrow-back\" } }), _vm._v(\" \"), _c('span', [_vm._v(_vm._s(_vm.operations[0]))])], 1), _vm._v(\" \"), _c('i-button', { attrs: { \"type\": \"primary\", \"size\": \"small\", \"disabled\": !_vm.leftActive }, nativeOn: { \"click\": function click($event) {\n return _vm.moveToRight($event);\n } } }, [_c('span', [_vm._v(_vm._s(_vm.operations[1]))]), _vm._v(\" \"), _c('Icon', { attrs: { \"type\": \"ios-arrow-forward\" } })], 1)], 1);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 605 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _tree = __webpack_require__(606);\n\nvar _tree2 = _interopRequireDefault(_tree);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _tree2.default;\n\n/***/ }),\n/* 606 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tree_vue__ = __webpack_require__(241);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tree_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tree_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tree_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tree_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_d155baaa_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_tree_vue__ = __webpack_require__(610);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_d155baaa_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_tree_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_d155baaa_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_tree_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_tree_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_d155baaa_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_tree_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_d155baaa_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_tree_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 607 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_node_vue__ = __webpack_require__(242);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_node_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_node_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_node_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_node_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_051cbdd1_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_node_vue__ = __webpack_require__(609);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_051cbdd1_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_node_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_051cbdd1_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_node_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_node_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_051cbdd1_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_node_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_051cbdd1_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_node_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 608 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'RenderCell',\n functional: true,\n props: {\n render: Function,\n data: Object,\n node: Array\n },\n render: function render(h, ctx) {\n (0, _newArrowCheck3.default)(undefined, undefined);\n\n var params = {\n root: ctx.props.node[0],\n node: ctx.props.node[1],\n data: ctx.props.data\n };\n return ctx.props.render(h, params);\n }.bind(undefined)\n};\n\n/***/ }),\n/* 609 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('collapse-transition', { attrs: { \"appear\": _vm.appear } }, [_c('ul', { class: _vm.classes }, [_c('li', [_c('span', { class: _vm.arrowClasses, on: { \"click\": _vm.handleExpand } }, [_vm.showArrow ? _c('Icon', { attrs: { \"type\": _vm.arrowType, \"custom\": _vm.customArrowType, \"size\": _vm.arrowSize } }) : _vm._e(), _vm._v(\" \"), _vm.showLoading ? _c('Icon', { staticClass: \"ivu-load-loop\", attrs: { \"type\": \"ios-loading\" } }) : _vm._e()], 1), _vm._v(\" \"), _vm.showCheckbox ? _c('Checkbox', { attrs: { \"value\": _vm.data.checked, \"indeterminate\": _vm.data.indeterminate, \"disabled\": _vm.data.disabled || _vm.data.disableCheckbox }, nativeOn: { \"click\": function click($event) {\n $event.preventDefault();return _vm.handleCheck($event);\n } } }) : _vm._e(), _vm._v(\" \"), _vm.data.render ? _c('Render', { attrs: { \"render\": _vm.data.render, \"data\": _vm.data, \"node\": _vm.node } }) : _vm.isParentRender ? _c('Render', { attrs: { \"render\": _vm.parentRender, \"data\": _vm.data, \"node\": _vm.node } }) : _c('span', { class: _vm.titleClasses, on: { \"click\": _vm.handleSelect } }, [_vm._v(_vm._s(_vm.data.title))]), _vm._v(\" \"), _vm._l(_vm.children, function (item, i) {\n return _vm.data.expand ? _c('Tree-node', { key: i, attrs: { \"appear\": _vm.appearByClickArrow, \"data\": item, \"multiple\": _vm.multiple, \"show-checkbox\": _vm.showCheckbox, \"children-key\": _vm.childrenKey } }) : _vm._e();\n })], 2)])]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 610 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.prefixCls }, [_vm._l(_vm.stateTree, function (item, i) {\n return _c('Tree-node', { key: i, attrs: { \"data\": item, \"visible\": \"\", \"multiple\": _vm.multiple, \"show-checkbox\": _vm.showCheckbox, \"children-key\": _vm.childrenKey } });\n }), _vm._v(\" \"), !_vm.stateTree.length ? _c('div', { class: [_vm.prefixCls + '-empty'] }, [_vm._v(_vm._s(_vm.localeEmptyText))]) : _vm._e()], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 611 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _upload = __webpack_require__(612);\n\nvar _upload2 = _interopRequireDefault(_upload);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _upload2.default;\n\n/***/ }),\n/* 612 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_vue__ = __webpack_require__(243);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_783e79bd_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_upload_vue__ = __webpack_require__(616);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_783e79bd_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_upload_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_783e79bd_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_upload_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_783e79bd_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_upload_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_783e79bd_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_upload_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 613 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_list_vue__ = __webpack_require__(244);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_list_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_list_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_list_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_list_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_50571a34_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_upload_list_vue__ = __webpack_require__(614);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_50571a34_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_upload_list_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_50571a34_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_upload_list_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_list_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_50571a34_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_upload_list_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_50571a34_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_upload_list_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 614 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('ul', { class: [_vm.prefixCls + '-list'] }, _vm._l(_vm.files, function (file) {\n return _c('li', { class: _vm.fileCls(file), on: { \"click\": function click($event) {\n return _vm.handleClick(file);\n } } }, [_c('span', { on: { \"click\": function click($event) {\n return _vm.handlePreview(file);\n } } }, [_c('Icon', { attrs: { \"type\": _vm.format(file) } }), _vm._v(\" \" + _vm._s(file.name) + \"\\n \")], 1), _vm._v(\" \"), _c('Icon', { directives: [{ name: \"show\", rawName: \"v-show\", value: file.status === 'finished', expression: \"file.status === 'finished'\" }], class: [_vm.prefixCls + '-list-remove'], attrs: { \"type\": \"ios-close\" }, nativeOn: { \"click\": function click($event) {\n return _vm.handleRemove(file);\n } } }), _vm._v(\" \"), _c('transition', { attrs: { \"name\": \"fade\" } }, [file.showProgress ? _c('i-progress', { attrs: { \"stroke-width\": 2, \"percent\": _vm.parsePercentage(file.percentage), \"status\": file.status === 'finished' && file.showProgress ? 'success' : 'normal' } }) : _vm._e()], 1)], 1);\n }), 0);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 615 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _newArrowCheck2 = __webpack_require__(1);\n\nvar _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);\n\nvar _keys = __webpack_require__(25);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nexports.default = upload;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getError(action, option, xhr) {\n var msg = 'fail to post ' + String(action) + ' ' + String(xhr.status) + '\\'';\n var err = new Error(msg);\n err.status = xhr.status;\n err.method = 'post';\n err.url = action;\n return err;\n}\n\nfunction getBody(xhr) {\n var text = xhr.responseText || xhr.response;\n if (!text) {\n return text;\n }\n\n try {\n return JSON.parse(text);\n } catch (e) {\n return text;\n }\n}\n\nfunction upload(option) {\n var _this = this;\n\n if (typeof XMLHttpRequest === 'undefined') {\n return;\n }\n\n var xhr = new XMLHttpRequest();\n var action = option.action;\n\n if (xhr.upload) {\n xhr.upload.onprogress = function progress(e) {\n if (e.total > 0) {\n e.percent = e.loaded / e.total * 100;\n }\n option.onProgress(e);\n };\n }\n\n var formData = new FormData();\n\n if (option.data) {\n (0, _keys2.default)(option.data).map(function (key) {\n (0, _newArrowCheck3.default)(this, _this);\n\n formData.append(key, option.data[key]);\n }.bind(this));\n }\n\n formData.append(option.filename, option.file);\n\n xhr.onerror = function error(e) {\n option.onError(e);\n };\n\n xhr.onload = function onload() {\n if (xhr.status < 200 || xhr.status >= 300) {\n return option.onError(getError(action, option, xhr), getBody(xhr));\n }\n\n option.onSuccess(getBody(xhr));\n };\n\n xhr.open('post', action, true);\n\n if (option.withCredentials && 'withCredentials' in xhr) {\n xhr.withCredentials = true;\n }\n\n var headers = option.headers || {};\n\n for (var item in headers) {\n if (headers.hasOwnProperty(item) && headers[item] !== null) {\n xhr.setRequestHeader(item, headers[item]);\n }\n }\n xhr.send(formData);\n}\n\n/***/ }),\n/* 616 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: [_vm.prefixCls] }, [_c('div', { class: _vm.classes, on: { \"click\": _vm.handleClick, \"drop\": function drop($event) {\n $event.preventDefault();return _vm.onDrop($event);\n }, \"paste\": _vm.handlePaste, \"dragover\": function dragover($event) {\n $event.preventDefault();_vm.dragOver = true;\n }, \"dragleave\": function dragleave($event) {\n $event.preventDefault();_vm.dragOver = false;\n } } }, [_c('input', { ref: \"input\", class: [_vm.prefixCls + '-input'], attrs: { \"type\": \"file\", \"multiple\": _vm.multiple, \"accept\": _vm.accept }, on: { \"change\": _vm.handleChange } }), _vm._v(\" \"), _vm._t(\"default\")], 2), _vm._v(\" \"), _vm._t(\"tip\"), _vm._v(\" \"), _vm.showUploadList ? _c('upload-list', { attrs: { \"files\": _vm.fileList }, on: { \"on-file-remove\": _vm.handleRemove, \"on-file-preview\": _vm.handlePreview } }) : _vm._e()], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 617 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Col = exports.Row = undefined;\n\nvar _row = __webpack_require__(618);\n\nvar _row2 = _interopRequireDefault(_row);\n\nvar _col = __webpack_require__(620);\n\nvar _col2 = _interopRequireDefault(_col);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.Row = _row2.default;\nexports.Col = _col2.default;\n\n/***/ }),\n/* 618 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_row_vue__ = __webpack_require__(245);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_row_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_row_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_row_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_row_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0e999272_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_row_vue__ = __webpack_require__(619);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0e999272_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_row_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0e999272_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_row_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_row_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0e999272_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_row_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0e999272_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_row_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 619 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes, style: _vm.styles }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 620 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_col_vue__ = __webpack_require__(246);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_col_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_col_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_col_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_col_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3c02e1c6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_col_vue__ = __webpack_require__(621);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3c02e1c6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_col_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3c02e1c6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_col_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_col_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3c02e1c6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_col_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3c02e1c6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_col_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 621 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { class: _vm.classes, style: _vm.styles }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ }),\n/* 622 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OptionGroup = exports.Option = exports.Select = undefined;\n\nvar _select = __webpack_require__(70);\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _option = __webpack_require__(74);\n\nvar _option2 = _interopRequireDefault(_option);\n\nvar _optionGroup = __webpack_require__(623);\n\nvar _optionGroup2 = _interopRequireDefault(_optionGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.Select = _select2.default;\nexports.Option = _option2.default;\nexports.OptionGroup = _optionGroup2.default;\nexports.default = _select2.default;\n\n/***/ }),\n/* 623 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_option_group_vue__ = __webpack_require__(247);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_option_group_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_option_group_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_option_group_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_option_group_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_438ec669_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_option_group_vue__ = __webpack_require__(624);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_438ec669_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_option_group_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_438ec669_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_option_group_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__ = __webpack_require__(0);\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\n\nvar Component = Object(__WEBPACK_IMPORTED_MODULE_2__node_modules_vue_loader_lib_runtime_component_normalizer__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_option_group_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_438ec669_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_option_group_vue__[\"render\"],\n __WEBPACK_IMPORTED_MODULE_1__babel_loader_sourceMap_node_modules_vue_loader_lib_template_compiler_index_id_data_v_438ec669_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_option_group_vue__[\"staticRenderFns\"],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n/* 624 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar render = function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('li', { directives: [{ name: \"show\", rawName: \"v-show\", value: !_vm.hidden, expression: \"!hidden\" }], class: [_vm.prefixCls + '-wrap'] }, [_c('div', { class: [_vm.prefixCls + '-title'] }, [_vm._v(_vm._s(_vm.label))]), _vm._v(\" \"), _c('ul', [_c('li', { ref: \"options\", class: [_vm.prefixCls] }, [_vm._t(\"default\")], 2)])]);\n};\nvar staticRenderFns = [];\nexports.render = render;\nexports.staticRenderFns = staticRenderFns;\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=iview.js.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2l2aWV3QDMuNS4xQGl2aWV3L2Rpc3QvaXZpZXcuanM/NTQzNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLElBQUksSUFBeUQ7QUFDN0QsMkJBQTJCLG1CQUFPLENBQUMsRUFBSztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Qsb0NBQW9DO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLDBCQUEwQixFQUFFO0FBQy9ELHlDQUF5QyxlQUFlO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4REFBOEQsK0RBQStEO0FBQzdIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBLE9BQU87QUFDUDtBQUNBOztBQUVBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE9BQU87QUFDUDtBQUNBOztBQUVBOzs7QUFHQTs7QUFFQTs7QUFFQTs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3RjtBQUNBO0FBQ0EsbUJBQW1CLHNCQUFzQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBLHVCQUF1QixpQkFBaUI7QUFDeEM7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4RUFBOEUsZ0VBQWdFO0FBQzlJOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx1Q0FBdUMsT0FBTztBQUM5QztBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHVDQUF1QyxPQUFPO0FBQzlDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0M7QUFDcEM7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsT0FBTztBQUNQO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3RjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsT0FBTztBQUNQO0FBQ0E7O0FBRUE7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O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0VBQW9FO0FBQ3BFO0FBQ0EsYUFBYTtBQUNiLFNBQVM7QUFDVCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRyxZQUFZ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O0FBQ0EsS0FBSztBQUNMLENBQUM7O0FBRUQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsNkdBQTZHO0FBQzlILGlCQUFpQiw4RUFBOEU7QUFDL0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhOztBQUViO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBOztBQUVBLDhDQUE4QztBQUM5QyxTQUFTO0FBQ1Q7QUFDQTs7QUFFQSw2QkFBNkI7QUFDN0IsU0FBUztBQUNUO0FBQ0E7O0FBRUEsNkJBQTZCO0FBQzdCLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsb0NBQW9DO0FBQ3JEO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7O0FBRUEsb0RBQW9EO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QixxQkFBcUI7QUFDckIsaUJBQWlCO0FBQ2pCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQixpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvRkFBb0YsZ0VBQWdFO0FBQ3BKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHlCQUF5Qjs7QUFFekIsNkZBQTZGLFdBQVcsNENBQTRDLGFBQWEscUJBQXFCLEdBQUc7QUFDekwscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxhQUFhO0FBQ2IsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscURBQXFEO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBLGFBQWE7O0FBRWIsNENBQTRDO0FBQzVDLDJEQUEyRDtBQUMzRDtBQUNBLGlCQUFpQjtBQUNqQixhQUFhO0FBQ2IsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLCtCQUErQiw2QkFBNkI7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLDRDQUE0QyxTQUFTO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0EsMkZBQTJGOztBQUUzRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCLGlCQUFpQjtBQUNqQjtBQUNBOztBQUVBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsYUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsYUFBYTtBQUNiLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQSxnREFBZ0Q7QUFDaEQ7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxhQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQSxrQkFBa0I7O0FBRWxCLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGlDQUFpQyxxQkFBcUI7QUFDdEQ7QUFDQSxpQ0FBaUMsU0FBUyxFQUFFO0FBQzVDLENBQUMsWUFBWTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsU0FBUyxxQkFBcUI7QUFDM0QsaUNBQWlDLGFBQWE7QUFDOUM7QUFDQSxHQUFHLFlBQVk7QUFDZjtBQUNBOzs7QUFHQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGOztBQUVBLHNDQUFzQyw0QkFBNEI7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQixhQUFhO0FBQ2I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBOztBQUVBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTs7QUFFQTtBQUNBLHlCQUF5QjtBQUN6QixxQkFBcUI7QUFDckIsaUJBQWlCO0FBQ2pCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE9BQU87QUFDUDtBQUNBOztBQUVBLDhDQUE4QztBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLHFCQUFxQjs7QUFFdEI7O0FBRUE7QUFDQTtBQUNBLGVBQWUsa0NBQWtDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFNBQVM7QUFDdEIsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLElBQUk7QUFDbEIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsUUFBUTtBQUN0QixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsUUFBUTtBQUN0QixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCLGNBQWMsUUFBUTtBQUN0QixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLFFBQVE7QUFDdEIsY0FBYyxPQUFPO0FBQ3JCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxZQUFZO0FBQ3ZCLFdBQVcsUUFBUTtBQUNuQixZQUFZLE9BQU87QUFDbkI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsb0JBQW9CO0FBQy9CO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFlBQVksT0FBTztBQUNuQjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxtQkFBbUIsa0JBQWtCO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOzs7Ozs7QUFNRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsaUJBQWlCLHNCQUFzQjtBQUN2Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxZQUFZO0FBQ3ZCLFlBQVksT0FBTztBQUNuQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCLGNBQWMsUUFBUTtBQUN0QixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCLGFBQWEsUUFBUTtBQUNyQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxZQUFZO0FBQ3ZCLFdBQVcsWUFBWTtBQUN2QixXQUFXLE9BQU87QUFDbEIsV0FBVyxZQUFZO0FBQ3ZCLFdBQVcsUUFBUTtBQUNuQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBOztBQUVBOztBQUVBLG9CQUFvQjtBQUNwQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLFlBQVk7QUFDdkIsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsTUFBTTtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxNQUFNO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxXQUFXO0FBQ3RCLFdBQVcsTUFBTTtBQUNqQixXQUFXLE9BQU87QUFDbEIsYUFBYTtBQUNiO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaURBQWlEO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYztBQUNkLG1CQUFtQjtBQUNuQixrQkFBa0I7QUFDbEI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQkFBaUIscUJBQXFCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QyxnQkFBZ0I7O0FBRTVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0VBQXNFLGdCQUFnQjs7QUFFdEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLFFBQVE7QUFDdEIsY0FBYyxPQUFPO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCLGNBQWMsT0FBTztBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxZQUFZO0FBQ3ZCLFdBQVcsWUFBWTtBQUN2QixXQUFXLE9BQU87QUFDbEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLHFCQUFxQix5REFBeUQ7O0FBRTlFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsUUFBUTtBQUN0QixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsK0JBQStCO0FBQy9CLDJCQUEyQjtBQUMzQixnQ0FBZ0M7O0FBRWhDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsTUFBTTtBQUNqQixXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGdEQUFnRDs7QUFFaEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1YsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxRQUFRO0FBQ3RCLGFBQWEsTUFBTTtBQUNuQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLHVDQUF1Qzs7QUFFdkM7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixhQUFhLE1BQU07QUFDbkI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsY0FBYztBQUM1QjtBQUNBLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRDtBQUNoRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBOztBQUVBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIsR0FBRzs7QUFFSDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4QkFBOEI7QUFDOUIsNEJBQTRCO0FBQzVCOztBQUVBLHFDQUFxQztBQUNyQzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxXQUFXO0FBQ3pCLGNBQWMsT0FBTztBQUNyQixhQUFhLFdBQVc7QUFDeEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEI7QUFDQSxlQUFlLFFBQVE7QUFDdkI7QUFDQSxlQUFlLFdBQVc7QUFDMUI7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QjtBQUNBLGVBQWUsUUFBUTtBQUN2QjtBQUNBLGVBQWUsV0FBVztBQUMxQjtBQUNBLGVBQWUsY0FBYztBQUM3QjtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QjtBQUNBLGVBQWUsUUFBUTtBQUN2QjtBQUNBLGVBQWUsV0FBVztBQUMxQjtBQUNBO0FBQ0EsY0FBYyxNQUFNO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxtQkFBbUI7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCO0FBQ0EsZUFBZSxRQUFRO0FBQ3ZCO0FBQ0EsZUFBZSxXQUFXO0FBQzFCO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCO0FBQ0EsZUFBZSxRQUFRO0FBQ3ZCO0FBQ0EsZUFBZSxXQUFXO0FBQzFCO0FBQ0EsZUFBZSxtQkFBbUI7QUFDbEM7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QjtBQUNBLGVBQWUsUUFBUTtBQUN2QjtBQUNBLGVBQWUsV0FBVztBQUMxQjtBQUNBO0FBQ0EsY0FBYyxhQUFhO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsbUJBQW1CO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsUUFBUTtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsUUFBUTtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEI7QUFDQSxlQUFlLFFBQVE7QUFDdkI7QUFDQSxlQUFlLFdBQVc7QUFDMUI7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEI7QUFDQSxlQUFlLFFBQVE7QUFDdkI7QUFDQSxlQUFlLFdBQVc7QUFDMUI7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCO0FBQ0EsZUFBZSxRQUFRO0FBQ3ZCO0FBQ0EsZUFBZSxXQUFXO0FBQzFCO0FBQ0E7QUFDQSxjQUFjLFFBQVE7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QjtBQUNBLGVBQWUsUUFBUTtBQUN2QjtBQUNBLGVBQWUsV0FBVztBQUMxQjtBQUNBLGVBQWUsU0FBUztBQUN4QjtBQUNBO0FBQ0E7QUFDQSxjQUFjLFFBQVE7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsY0FBYyxRQUFRO0FBQ3RCLGNBQWMsUUFBUTtBQUN0QixjQUFjLFlBQVk7QUFDMUIsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQSxJQUFJO0FBQ0o7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxrQkFBa0I7QUFDOUI7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0Esa0NBQWtDOztBQUVsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQSxrQ0FBa0M7O0FBRWxDO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFdBQVcsV0FBVztBQUN0Qjs7QUFFQTtBQUNBO0FBQ0EsV0FBVyxXQUFXO0FBQ3RCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsd0JBQXdCO0FBQ3JDLGFBQWEsUUFBUTtBQUNyQixhQUFhLE9BQU87QUFDcEIsY0FBYyxPQUFPO0FBQ3JCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGNBQWM7QUFDZCw4QkFBOEI7O0FBRTlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQixpREFBaUQsdUNBQXVDLGtEQUFrRDtBQUMxSSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxHQUFHO0FBQ0g7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsU0FBUztBQUN2QjtBQUNBLGNBQWMsT0FBTztBQUNyQjtBQUNBLGNBQWMsT0FBTztBQUNyQjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsQ0FBQztBQUNEOztBQUVBLDRCQUE0Qjs7QUFFNUIsT0FBTztBQUNQO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDRDQUE0Qzs7QUFFNUM7OztBQUdBLE9BQU87QUFDUDtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0EsQ0FBQztBQUNEOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBLHNDQUFzQyx1Q0FBdUMs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Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhOztBQUViO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLGFBQWE7O0FBRWI7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTs7QUFFQSxzREFBc0Q7QUFDdEQsU0FBUztBQUNUO0FBQ0E7O0FBRUEsK0NBQStDO0FBQy9DLFNBQVM7QUFDVDtBQUNBLG9FQUFvRTtBQUNwRTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLHFCQUFxQixVQUFVLFlBQVk7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQSwwREFBMEQsY0FBYztBQUN4RTtBQUNBO0FBQ0EsdVBBQXVQLDZEQUE2RCw2SEFBNkgsRUFBRSxHQUFHO0FBQ3RiO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3Rjs7QUFFQTtBQUNBO0FBQ0EsaUJBQWlCLHVCQUF1QjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7O0FBRWI7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTs7QUFFQSx5SEFBeUg7QUFDekgsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE9BQU87QUFDUDtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQSxvRUFBb0U7QUFDcEUsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7O0FBRUE7O0FBRUE7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUEsb0RBQW9EO0FBQ3BELFNBQVM7QUFDVDtBQUNBLCtFQUErRTtBQUMvRSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLHlFQUF5RTtBQUN6RSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7O0FBRUE7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsU0FBUztBQUNULEtBQUs7O0FBRUw7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxhQUFhO0FBQ2I7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE9BQU87QUFDUDtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsT0FBTztBQUNQO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3Rjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsdUJBQXVCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTs7QUFFYjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7O0FBRUEsbUZBQW1GO0FBQ25GLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsd0JBQXdCO0FBQ3hCLGFBQWE7QUFDYjs7QUFFQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE9BQU87QUFDUDtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTs7QUFFQTs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUEsOENBQThDO0FBQzlDO0FBQ0E7QUFDQTs7QUFFQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLHVCQUF1QjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7O0FBRUEsOENBQThDO0FBQzlDLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE9BQU87QUFDUDtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQix1QkFBdUI7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTs7QUFFQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGlCQUFpQjtBQUNqQixhQUFhO0FBQ2I7QUFDQTs7QUFFQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxhQUFhO0FBQ2IsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYTs7QUFFYjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsYUFBYTs7QUFFYjtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxpQkFBaUI7QUFDakI7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFD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RUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBLE9BQU87QUFDUDtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0Esb0VBQW9FO0FBQ3BFO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE9BQU87QUFDUDtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsYUFBYTs7QUFFYjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFD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QUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQSxrQ0FBa0M7QUFDbEM7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLG9CQUFvQjs7QUFFcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsOEJBQThCO0FBQ3BELHNCQUFzQiw4QkFBOEI7QUFDcEQsc0JBQXNCLDhCQUE4Qjs7QUFFcEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsK0JBQStCLG1CQUFtQixPQUFPO0FBQ3pELCtCQUErQixtQkFBbUIsT0FBTztBQUN6RCwrQkFBK0IsbUJBQW1CLE9BQU87QUFDekQ7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsZ0JBQWdCO0FBQ2hCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLGdCQUFnQjtBQUNoQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUEsS0FBSyxrQkFBa0IsWUFBWSxrQkFBa0I7QUFDckQ7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0QkFBNEIsWUFBWTs7QUFFeEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNB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QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhOztBQUViO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0EsK0RBQStEO0FBQy9ELFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7O0FBRWpCO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBOztBQUVB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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTs7QUFFYjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw4Q0FBOEM7QUFDOUMsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTs7QUFFQTtBQUNBLGlCQUFpQjtBQUNqQixhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixTQUFTO0FBQ1Q7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLDhCQUE4QixpQkFBaUI7QUFDL0M7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Q0EsU0FBUztBQUNUO0FBQ0EsNEVBQTRFO0FBQzVFLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGFBQWE7QUFDYixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsUUFBUTtBQUMzQztBQUNBOztBQUVBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQSxpQkFBaUI7QUFDakI7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsYUFBYTs7QUFFYjtBQUNBOztBQUVBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFD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Q0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7O0FBRUE7O0FBRUE7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsYUFBYTs7QUFFYjtBQUNBLFNBQVM7O0FBRVQ7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U0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7O0FBRUEsbURBQW1EO0FBQ25ELFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUEsK0NBQStDO0FBQy9DLFNBQVM7QUFDVDtBQUNBOztBQUVBLHVEQUF1RDtBQUN2RCxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjs7QUFFckI7QUFDQTs7QUFFQTtBQUNBLHFCQUFxQjs7QUFFckI7QUFDQTs7QUFFQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQixhQUFhO0FBQ2I7O0FBRUE7QUFDQTtBQUNB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QTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQSxvRUFBb0U7QUFDcEUsU0FBUztBQUNUO0FBQ0E7O0FBRUEsc0RBQXNEO0FBQ3RELFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLGlGQUFpRjtBQUNqRixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGFBQWE7QUFDYixTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFF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U0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBLDRGQUE0RjtBQUM1RixTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsT0FBTztBQUNQO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3Rjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBOztBQUVBLHNEQUFzRDtBQUN0RCxTQUFTO0FBQ1Q7QUFDQTs7QUFFQSwrQ0FBK0M7QUFDL0MsU0FBUztBQUNUO0FBQ0EsMEVBQTBFO0FBQzFFLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE9BQU87QUFDUDtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBOztBQUVBLDhDQUE4QztBQUM5QztBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsT0FBTztBQUNQO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3Rjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsdUJBQXVCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQSxvRUFBb0U7QUFDcEUsU0FBUztBQUNUO0FBQ0E7O0FBRUEsMkNBQTJDO0FBQzNDLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTs7QUFFQSwrQkFBK0I7QUFDL0IsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsT0FBTztBQUNQO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3Rjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsaUVBQWlFO0FBQ2xGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQSw4Q0FBOEM7QUFDOUMsU0FBUztBQUNUO0FBQ0EsMkVBQTJFO0FBQzNFLFNBQVM7QUFDVDtBQUNBLDJFQUEyRTtBQUMzRSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBOztBQUVBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLGVBQWU7QUFDMUM7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFNBQVM7QUFD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VDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhOztBQUViO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQSxzREFBc0Q7QUFDdEQsU0FBUztBQUNUO0FBQ0E7O0FBRUEsK0NBQStDO0FBQy9DLFNBQVM7QUFDVDtBQUNBLGlGQUFpRjtBQUNqRixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsYUFBYTs7QUFFYjtBQUNBO0FB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QUNBO0FBQ0EsYUFBYTtBQUNiLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsMkJBQTJCLDhCQUE4QjtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHVEQUF1RDtBQUN2RCxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxpQkFBaUI7QUFDakIsYUFBYTs7QUFFYjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhOztBQUViO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsT0FBTztBQUNQO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3RjtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsNEpBQTRKO0FBQzdLO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLGdEQUFnRDtBQUNoRDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiLDJCQUEyQixzQkFBc0I7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQSxnRUFBZ0U7QUFDaEUsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvREFBb0Q7QUFDcEQsU0FBUztBQUNUO0FBQ0Esb0dBQW9HO0FBQ3BHLFNBQVM7QUFDVDtBQUNBLG9HQUFvRztBQUNwRyxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQixhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7O0FBRUE7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE9BQU87QUFDUDtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLGtGQUFrRjtBQUNuRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQix5QkFBeUI7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE9BQU87QUFDUDtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBLHdGQUF3RjtBQUN4RixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGO0FBQ0E7QUFDQSxpQkFBaUIsMklBQTJJO0FBQzVKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7O0FBRUEsZ0VBQWdFO0FBQ2hFLFNBQVM7QUFDVDtBQUNBLDZGQUE2RjtBQUM3RjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVCw4Q0FBOEM7QUFDOUM7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsT0FBTztBQUNQO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBLE9BQU87QUFDUDtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsOEZBQThGO0FBQzlGLENBQUM7O0FBRUQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDJFQUEyRSxnRUFBZ0U7QUFDM0k7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixpREFBaUQ7QUFDbEU7QUFDQSxnQkFBZ0I7QUFDaEIsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsYUFBYTs7QUFFYjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhOztBQUViO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBOztBQUVBLDhDQUE4QztBQUM5QyxTQUFTO0FBQ1Q7QUFDQSw0RUFBNEU7QUFDNUUsU0FBUztBQUNUO0FBQ0EsNEVBQTRFO0FBQzVFLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBOztBQUVBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0EsYUFBYTs7QUFFYjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQyxXQUFXO0FB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QUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtB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QUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7O0FBRUEsOENBQThDO0FBQzlDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsYUFBYTtBQUNiLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQSxpQkFBaUI7QUFDakIsYUFBYTtBQUNiO0FBQ0EsYUFBYTtBQUNiLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBOztBQUVBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7O0FBRUE7QUFDQSxpQkFBaUI7QUFDakIs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QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7O0FBRUE7QUFDQSxzRUFBc0U7QUFDdEUsQ0FBQzs7QUFFRDs7QUFFQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBOzs7QUFHQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOzs7QUFHRCxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLFlBQVksZUFBZTtBQUNoQztBQUNBLEtBQUs7QUFDTDtBQUNBOzs7QUFHQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTs7O0FBR0EsT0FBTztB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QSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNULGlCQUFpQixFQUFFO0FBQ25CO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FB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QUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsU0FBUztBQUNUO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLFNBQVM7QUFDVDtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBLE9BQU87QUFDUDtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQSxzQ0FBc0MsdUNBQXVDLGtCQUFrQjs7QUFFL0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE9BQU87QUFDUDtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTs7QUFFQTs7QUFFQSxzQ0FBc0MsdUNBQXVDLGtCQUFrQjs7QUFFL0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFF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QUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsT0FBTztBQUNQO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBOztBQUVBOztBQUVBLHNDQUFzQyx1Q0FBdUMsa0JBQWtCOztBQUUvRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsT0FBTztBQUNQO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBOztBQUVBOztBQUVBLHNDQUFzQyx1Q0FBdUMsa0JBQWtCOztBQUUvRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsT0FBTztBQUNQO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBOztBQUVBOztBQUVBLHNDQUFzQyx1Q0FBdUMsa0JBQWtCOztBQUUvRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsT0FBTztBQUNQO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBOztBQUVBOztBQUVBLHNDQUFzQyx1Q0FBdUMsa0JBQWtCOztBQUUvRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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QU87QUFDbEIsV0FBVyxPQUFPLFlBQVk7QUFDOUIsV0FBVyxRQUFRO0FBQ25CO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCO0FBQ0EsV0FBVyxRQUFRO0FBQ25CO0FBQ0EsYUFBYSxTQUFTO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsOENBQThDLGtCQUFrQjtBQUNoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsU0FBUztBQUNw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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUJBQWlCOztBQUVqQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FB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QztBQUN2WDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxPQUFPO0FBQ1A7QUFDQSxDQUFDO0FBQ0QiLCJmaWxlIjoiMjk1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIHdlYnBhY2tVbml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeShyZXF1aXJlKFwidnVlXCIpKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFwiaXZpZXdcIiwgW1widnVlXCJdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIml2aWV3XCJdID0gZmFjdG9yeShyZXF1aXJlKFwidnVlXCIpKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJpdmlld1wiXSA9IGZhY3Rvcnkocm9vdFtcIlZ1ZVwiXSk7XG59KSh0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcgPyBzZWxmIDogdGhpcywgZnVuY3Rpb24oX19XRUJQQUNLX0VYVEVSTkFMX01PRFVMRV8xNV9fKSB7XG5yZXR1cm4gLyoqKioqKi8gKGZ1bmN0aW9uKG1vZHVsZXMpIHsgLy8gd2VicGFja0Jvb3RzdHJhcFxuLyoqKioqKi8gXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuLyoqKioqKi8gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuLyoqKioqKi8gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4vKioqKioqLyBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbi8qKioqKiovIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4vKioqKioqLyBcdFx0XHRpOiBtb2R1bGVJZCxcbi8qKioqKiovIFx0XHRcdGw6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0ZXhwb3J0czoge31cbi8qKioqKiovIFx0XHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbi8qKioqKiovIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuLyoqKioqKi8gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbi8qKioqKiovIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4vKioqKioqLyBcdH1cbi8qKioqKiovXG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbi8qKioqKiovIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4vKioqKioqLyBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwge1xuLyoqKioqKi8gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuLyoqKioqKi8gXHRcdFx0XHRnZXQ6IGdldHRlclxuLyoqKioqKi8gXHRcdFx0fSk7XG4vKioqKioqLyBcdFx0fVxuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4vKioqKioqLyBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4vKioqKioqLyBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuLyoqKioqKi8gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbi8qKioqKiovIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4vKioqKioqLyBcdFx0cmV0dXJuIGdldHRlcjtcbi8qKioqKiovIFx0fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIi9kaXN0L1wiO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4vKioqKioqLyBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IDI0OCk7XG4vKioqKioqLyB9KVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKiovIChbXG4vKiAwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuLyogaGFybW9ueSBleHBvcnQgKGltbXV0YWJsZSkgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImFcIl0gPSBub3JtYWxpemVDb21wb25lbnQ7XG4vKiBnbG9iYWxzIF9fVlVFX1NTUl9DT05URVhUX18gKi9cblxuLy8gSU1QT1JUQU5UOiBEbyBOT1QgdXNlIEVTMjAxNSBmZWF0dXJlcyBpbiB0aGlzIGZpbGUgKGV4Y2VwdCBmb3IgbW9kdWxlcykuXG4vLyBUaGlzIG1vZHVsZSBpcyBhIHJ1bnRpbWUgdXRpbGl0eSBmb3IgY2xlYW5lciBjb21wb25lbnQgbW9kdWxlIG91dHB1dCBhbmQgd2lsbFxuLy8gYmUgaW5jbHVkZWQgaW4gdGhlIGZpbmFsIHdlYnBhY2sgdXNlciBidW5kbGUuXG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUNvbXBvbmVudCAoXG4gIHNjcmlwdEV4cG9ydHMsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmdW5jdGlvbmFsVGVtcGxhdGUsXG4gIGluamVjdFN0eWxlcyxcbiAgc2NvcGVJZCxcbiAgbW9kdWxlSWRlbnRpZmllciwgLyogc2VydmVyIG9ubHkgKi9cbiAgc2hhZG93TW9kZSAvKiB2dWUtY2xpIG9ubHkgKi9cbikge1xuICBzY3JpcHRFeHBvcnRzID0gc2NyaXB0RXhwb3J0cyB8fCB7fVxuXG4gIC8vIEVTNiBtb2R1bGVzIGludGVyb3BcbiAgdmFyIHR5cGUgPSB0eXBlb2Ygc2NyaXB0RXhwb3J0cy5kZWZhdWx0XG4gIGlmICh0eXBlID09PSAnb2JqZWN0JyB8fCB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgc2NyaXB0RXhwb3J0cyA9IHNjcmlwdEV4cG9ydHMuZGVmYXVsdFxuICB9XG5cbiAgLy8gVnVlLmV4dGVuZCBjb25zdHJ1Y3RvciBleHBvcnQgaW50ZXJvcFxuICB2YXIgb3B0aW9ucyA9IHR5cGVvZiBzY3JpcHRFeHBvcnRzID09PSAnZnVuY3Rpb24nXG4gICAgPyBzY3JpcHRFeHBvcnRzLm9wdGlvbnNcbiAgICA6IHNjcmlwdEV4cG9ydHNcblxuICAvLyByZW5kZXIgZnVuY3Rpb25zXG4gIGlmIChyZW5kZXIpIHtcbiAgICBvcHRpb25zLnJlbmRlciA9IHJlbmRlclxuICAgIG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zXG4gICAgb3B0aW9ucy5fY29tcGlsZWQgPSB0cnVlXG4gIH1cblxuICAvLyBmdW5jdGlvbmFsIHRlbXBsYXRlXG4gIGlmIChmdW5jdGlvbmFsVGVtcGxhdGUpIHtcbiAgICBvcHRpb25zLmZ1bmN0aW9uYWwgPSB0cnVlXG4gIH1cblxuICAvLyBzY29wZWRJZFxuICBpZiAoc2NvcGVJZCkge1xuICAgIG9wdGlvbnMuX3Njb3BlSWQgPSBzY29wZUlkXG4gIH1cblxuICB2YXIgaG9va1xuICBpZiAobW9kdWxlSWRlbnRpZmllcikgeyAvLyBzZXJ2ZXIgYnVpbGRcbiAgICBob29rID0gZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIC8vIDIuMyBpbmplY3Rpb25cbiAgICAgIGNvbnRleHQgPVxuICAgICAgICBjb250ZXh0IHx8IC8vIGNhY2hlZCBjYWxsXG4gICAgICAgICh0aGlzLiR2bm9kZSAmJiB0aGlzLiR2bm9kZS5zc3JDb250ZXh0KSB8fCAvLyBzdGF0ZWZ1bFxuICAgICAgICAodGhpcy5wYXJlbnQgJiYgdGhpcy5wYXJlbnQuJHZub2RlICYmIHRoaXMucGFyZW50LiR2bm9kZS5zc3JDb250ZXh0KSAvLyBmdW5jdGlvbmFsXG4gICAgICAvLyAyLjIgd2l0aCBydW5Jbk5ld0NvbnRleHQ6IHRydWVcbiAgICAgIGlmICghY29udGV4dCAmJiB0eXBlb2YgX19WVUVfU1NSX0NPTlRFWFRfXyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgY29udGV4dCA9IF9fVlVFX1NTUl9DT05URVhUX19cbiAgICAgIH1cbiAgICAgIC8vIGluamVjdCBjb21wb25lbnQgc3R5bGVzXG4gICAgICBpZiAoaW5qZWN0U3R5bGVzKSB7XG4gICAgICAgIGluamVjdFN0eWxlcy5jYWxsKHRoaXMsIGNvbnRleHQpXG4gICAgICB9XG4gICAgICAvLyByZWdpc3RlciBjb21wb25lbnQgbW9kdWxlIGlkZW50aWZpZXIgZm9yIGFzeW5jIGNodW5rIGluZmVycmVuY2VcbiAgICAgIGlmIChjb250ZXh0ICYmIGNvbnRleHQuX3JlZ2lzdGVyZWRDb21wb25lbnRzKSB7XG4gICAgICAgIGNvbnRleHQuX3JlZ2lzdGVyZWRDb21wb25lbnRzLmFkZChtb2R1bGVJZGVudGlmaWVyKVxuICAgICAgfVxuICAgIH1cbiAgICAvLyB1c2VkIGJ5IHNzciBpbiBjYXNlIGNvbXBvbmVudCBpcyBjYWNoZWQgYW5kIGJlZm9yZUNyZWF0ZVxuICAgIC8vIG5ldmVyIGdldHMgY2FsbGVkXG4gICAgb3B0aW9ucy5fc3NyUmVnaXN0ZXIgPSBob29rXG4gIH0gZWxzZSBpZiAoaW5qZWN0U3R5bGVzKSB7XG4gICAgaG9vayA9IHNoYWRvd01vZGVcbiAgICAgID8gZnVuY3Rpb24gKCkgeyBpbmplY3RTdHlsZXMuY2FsbCh0aGlzLCB0aGlzLiRyb290LiRvcHRpb25zLnNoYWRvd1Jvb3QpIH1cbiAgICAgIDogaW5qZWN0U3R5bGVzXG4gIH1cblxuICBpZiAoaG9vaykge1xuICAgIGlmIChvcHRpb25zLmZ1bmN0aW9uYWwpIHtcbiAgICAgIC8vIGZvciB0ZW1wbGF0ZS1vbmx5IGhvdC1yZWxvYWQgYmVjYXVzZSBpbiB0aGF0IGNhc2UgdGhlIHJlbmRlciBmbiBkb2Vzbid0XG4gICAgICAvLyBnbyB0aHJvdWdoIHRoZSBub3JtYWxpemVyXG4gICAgICBvcHRpb25zLl9pbmplY3RTdHlsZXMgPSBob29rXG4gICAgICAvLyByZWdpc3RlciBmb3IgZnVuY3Rpb2FsIGNvbXBvbmVudCBpbiB2dWUgZmlsZVxuICAgICAgdmFyIG9yaWdpbmFsUmVuZGVyID0gb3B0aW9ucy5yZW5kZXJcbiAgICAgIG9wdGlvbnMucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyV2l0aFN0eWxlSW5qZWN0aW9uIChoLCBjb250ZXh0KSB7XG4gICAgICAgIGhvb2suY2FsbChjb250ZXh0KVxuICAgICAgICByZXR1cm4gb3JpZ2luYWxSZW5kZXIoaCwgY29udGV4dClcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaW5qZWN0IGNvbXBvbmVudCByZWdpc3RyYXRpb24gYXMgYmVmb3JlQ3JlYXRlIGhvb2tcbiAgICAgIHZhciBleGlzdGluZyA9IG9wdGlvbnMuYmVmb3JlQ3JlYXRlXG4gICAgICBvcHRpb25zLmJlZm9yZUNyZWF0ZSA9IGV4aXN0aW5nXG4gICAgICAgID8gW10uY29uY2F0KGV4aXN0aW5nLCBob29rKVxuICAgICAgICA6IFtob29rXVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZXhwb3J0czogc2NyaXB0RXhwb3J0cyxcbiAgICBvcHRpb25zOiBvcHRpb25zXG4gIH1cbn1cblxuXG4vKioqLyB9KSxcbi8qIDEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcblxuZXhwb3J0cy5kZWZhdWx0ID0gZnVuY3Rpb24gKGlubmVyVGhpcywgYm91bmRUaGlzKSB7XG4gIGlmIChpbm5lclRoaXMgIT09IGJvdW5kVGhpcykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgaW5zdGFudGlhdGUgYW4gYXJyb3cgZnVuY3Rpb25cIik7XG4gIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuXG52YXIgX2RlZmluZVByb3BlcnR5ID0gX193ZWJwYWNrX3JlcXVpcmVfXygyNTgpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5KTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0gZnVuY3Rpb24gKG9iaiwga2V5LCB2YWx1ZSkge1xuICBpZiAoa2V5IGluIG9iaikge1xuICAgICgwLCBfZGVmaW5lUHJvcGVydHkyLmRlZmF1bHQpKG9iaiwga2V5LCB7XG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgd3JpdGFibGU6IHRydWVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBvYmpba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn07XG5cbi8qKiovIH0pLFxuLyogMyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLnNoYXJwTWF0Y2hlclJlZ3ggPSBleHBvcnRzLmRpbWVuc2lvbk1hcCA9IGV4cG9ydHMuZmluZENvbXBvbmVudFVwd2FyZCA9IGV4cG9ydHMuZGVlcENvcHkgPSBleHBvcnRzLmZpcnN0VXBwZXJDYXNlID0gZXhwb3J0cy5NdXRhdGlvbk9ic2VydmVyID0gdW5kZWZpbmVkO1xuXG52YXIgX2dldEl0ZXJhdG9yMiA9IF9fd2VicGFja19yZXF1aXJlX18oNDQpO1xuXG52YXIgX2dldEl0ZXJhdG9yMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2dldEl0ZXJhdG9yMik7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG5leHBvcnRzLm9uZU9mID0gb25lT2Y7XG5leHBvcnRzLmNhbWVsY2FzZVRvSHlwaGVuID0gY2FtZWxjYXNlVG9IeXBoZW47XG5leHBvcnRzLmdldFNjcm9sbEJhclNpemUgPSBnZXRTY3JvbGxCYXJTaXplO1xuZXhwb3J0cy5nZXRTdHlsZSA9IGdldFN0eWxlO1xuZXhwb3J0cy53YXJuUHJvcCA9IHdhcm5Qcm9wO1xuZXhwb3J0cy5zY3JvbGxUb3AgPSBzY3JvbGxUb3A7XG5leHBvcnRzLmZpbmRDb21wb25lbnREb3dud2FyZCA9IGZpbmRDb21wb25lbnREb3dud2FyZDtcbmV4cG9ydHMuZmluZENvbXBvbmVudHNEb3dud2FyZCA9IGZpbmRDb21wb25lbnRzRG93bndhcmQ7XG5leHBvcnRzLmZpbmRDb21wb25lbnRzVXB3YXJkID0gZmluZENvbXBvbmVudHNVcHdhcmQ7XG5leHBvcnRzLmZpbmRCcm90aGVyc0NvbXBvbmVudHMgPSBmaW5kQnJvdGhlcnNDb21wb25lbnRzO1xuZXhwb3J0cy5oYXNDbGFzcyA9IGhhc0NsYXNzO1xuZXhwb3J0cy5hZGRDbGFzcyA9IGFkZENsYXNzO1xuZXhwb3J0cy5yZW1vdmVDbGFzcyA9IHJlbW92ZUNsYXNzO1xuZXhwb3J0cy5zZXRNYXRjaE1lZGlhID0gc2V0TWF0Y2hNZWRpYTtcblxudmFyIF92dWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE1KTtcblxudmFyIF92dWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdnVlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIGlzU2VydmVyID0gX3Z1ZTIuZGVmYXVsdC5wcm90b3R5cGUuJGlzU2VydmVyO1xuZnVuY3Rpb24gb25lT2YodmFsdWUsIHZhbGlkTGlzdCkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdmFsaWRMaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdmFsaWRMaXN0W2ldKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGNhbWVsY2FzZVRvSHlwaGVuKHN0cikge1xuICAgIHJldHVybiBzdHIucmVwbGFjZSgvKFthLXpdKShbQS1aXSkvZywgJyQxLSQyJykudG9Mb3dlckNhc2UoKTtcbn1cblxudmFyIGNhY2hlZCA9IHZvaWQgMDtcbmZ1bmN0aW9uIGdldFNjcm9sbEJhclNpemUoZnJlc2gpIHtcbiAgICBpZiAoaXNTZXJ2ZXIpIHJldHVybiAwO1xuICAgIGlmIChmcmVzaCB8fCBjYWNoZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB2YXIgaW5uZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgaW5uZXIuc3R5bGUud2lkdGggPSAnMTAwJSc7XG4gICAgICAgIGlubmVyLnN0eWxlLmhlaWdodCA9ICcyMDBweCc7XG5cbiAgICAgICAgdmFyIG91dGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHZhciBvdXRlclN0eWxlID0gb3V0ZXIuc3R5bGU7XG5cbiAgICAgICAgb3V0ZXJTdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICAgIG91dGVyU3R5bGUudG9wID0gMDtcbiAgICAgICAgb3V0ZXJTdHlsZS5sZWZ0ID0gMDtcbiAgICAgICAgb3V0ZXJTdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnO1xuICAgICAgICBvdXRlclN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcbiAgICAgICAgb3V0ZXJTdHlsZS53aWR0aCA9ICcyMDBweCc7XG4gICAgICAgIG91dGVyU3R5bGUuaGVpZ2h0ID0gJzE1MHB4JztcbiAgICAgICAgb3V0ZXJTdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nO1xuXG4gICAgICAgIG91dGVyLmFwcGVuZENoaWxkKGlubmVyKTtcblxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG91dGVyKTtcblxuICAgICAgICB2YXIgd2lkdGhDb250YWluZWQgPSBpbm5lci5vZmZzZXRXaWR0aDtcbiAgICAgICAgb3V0ZXIuc3R5bGUub3ZlcmZsb3cgPSAnc2Nyb2xsJztcbiAgICAgICAgdmFyIHdpZHRoU2Nyb2xsID0gaW5uZXIub2Zmc2V0V2lkdGg7XG5cbiAgICAgICAgaWYgKHdpZHRoQ29udGFpbmVkID09PSB3aWR0aFNjcm9sbCkge1xuICAgICAgICAgICAgd2lkdGhTY3JvbGwgPSBvdXRlci5jbGllbnRXaWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQob3V0ZXIpO1xuXG4gICAgICAgIGNhY2hlZCA9IHdpZHRoQ29udGFpbmVkIC0gd2lkdGhTY3JvbGw7XG4gICAgfVxuICAgIHJldHVybiBjYWNoZWQ7XG59XG5cbnZhciBNdXRhdGlvbk9ic2VydmVyID0gZXhwb3J0cy5NdXRhdGlvbk9ic2VydmVyID0gaXNTZXJ2ZXIgPyBmYWxzZSA6IHdpbmRvdy5NdXRhdGlvbk9ic2VydmVyIHx8IHdpbmRvdy5XZWJLaXRNdXRhdGlvbk9ic2VydmVyIHx8IHdpbmRvdy5Nb3pNdXRhdGlvbk9ic2VydmVyIHx8IGZhbHNlO1xuXG52YXIgU1BFQ0lBTF9DSEFSU19SRUdFWFAgPSAvKFtcXDpcXC1cXF9dKyguKSkvZztcbnZhciBNT1pfSEFDS19SRUdFWFAgPSAvXm1veihbQS1aXSkvO1xuXG5mdW5jdGlvbiBjYW1lbENhc2UobmFtZSkge1xuICAgIHJldHVybiBuYW1lLnJlcGxhY2UoU1BFQ0lBTF9DSEFSU19SRUdFWFAsIGZ1bmN0aW9uIChfLCBzZXBhcmF0b3IsIGxldHRlciwgb2Zmc2V0KSB7XG4gICAgICAgIHJldHVybiBvZmZzZXQgPyBsZXR0ZXIudG9VcHBlckNhc2UoKSA6IGxldHRlcjtcbiAgICB9KS5yZXBsYWNlKE1PWl9IQUNLX1JFR0VYUCwgJ01veiQxJyk7XG59XG5mdW5jdGlvbiBnZXRTdHlsZShlbGVtZW50LCBzdHlsZU5hbWUpIHtcbiAgICBpZiAoIWVsZW1lbnQgfHwgIXN0eWxlTmFtZSkgcmV0dXJuIG51bGw7XG4gICAgc3R5bGVOYW1lID0gY2FtZWxDYXNlKHN0eWxlTmFtZSk7XG4gICAgaWYgKHN0eWxlTmFtZSA9PT0gJ2Zsb2F0Jykge1xuICAgICAgICBzdHlsZU5hbWUgPSAnY3NzRmxvYXQnO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICB2YXIgY29tcHV0ZWQgPSBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKTtcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQuc3R5bGVbc3R5bGVOYW1lXSB8fCBjb21wdXRlZCA/IGNvbXB1dGVkW3N0eWxlTmFtZV0gOiBudWxsO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQuc3R5bGVbc3R5bGVOYW1lXTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGZpcnN0VXBwZXJDYXNlKHN0cikge1xuICAgIHJldHVybiBzdHIudG9TdHJpbmcoKVswXS50b1VwcGVyQ2FzZSgpICsgc3RyLnRvU3RyaW5nKCkuc2xpY2UoMSk7XG59XG5leHBvcnRzLmZpcnN0VXBwZXJDYXNlID0gZmlyc3RVcHBlckNhc2U7XG5mdW5jdGlvbiB3YXJuUHJvcChjb21wb25lbnQsIHByb3AsIGNvcnJlY3RUeXBlLCB3cm9uZ1R5cGUpIHtcbiAgICBjb3JyZWN0VHlwZSA9IGZpcnN0VXBwZXJDYXNlKGNvcnJlY3RUeXBlKTtcbiAgICB3cm9uZ1R5cGUgPSBmaXJzdFVwcGVyQ2FzZSh3cm9uZ1R5cGUpO1xuICAgIGNvbnNvbGUuZXJyb3IoJ1tpVmlldyB3YXJuXTogSW52YWxpZCBwcm9wOiB0eXBlIGNoZWNrIGZhaWxlZCBmb3IgcHJvcCAnICsgU3RyaW5nKHByb3ApICsgJy4gRXhwZWN0ZWQgJyArIFN0cmluZyhjb3JyZWN0VHlwZSkgKyAnLCBnb3QgJyArIFN0cmluZyh3cm9uZ1R5cGUpICsgJy4gKGZvdW5kIGluIGNvbXBvbmVudDogJyArIFN0cmluZyhjb21wb25lbnQpICsgJyknKTtcbn1cblxuZnVuY3Rpb24gdHlwZU9mKG9iaikge1xuICAgIHZhciB0b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG4gICAgdmFyIG1hcCA9IHtcbiAgICAgICAgJ1tvYmplY3QgQm9vbGVhbl0nOiAnYm9vbGVhbicsXG4gICAgICAgICdbb2JqZWN0IE51bWJlcl0nOiAnbnVtYmVyJyxcbiAgICAgICAgJ1tvYmplY3QgU3RyaW5nXSc6ICdzdHJpbmcnLFxuICAgICAgICAnW29iamVjdCBGdW5jdGlvbl0nOiAnZnVuY3Rpb24nLFxuICAgICAgICAnW29iamVjdCBBcnJheV0nOiAnYXJyYXknLFxuICAgICAgICAnW29iamVjdCBEYXRlXSc6ICdkYXRlJyxcbiAgICAgICAgJ1tvYmplY3QgUmVnRXhwXSc6ICdyZWdFeHAnLFxuICAgICAgICAnW29iamVjdCBVbmRlZmluZWRdJzogJ3VuZGVmaW5lZCcsXG4gICAgICAgICdbb2JqZWN0IE51bGxdJzogJ251bGwnLFxuICAgICAgICAnW29iamVjdCBPYmplY3RdJzogJ29iamVjdCdcbiAgICB9O1xuICAgIHJldHVybiBtYXBbdG9TdHJpbmcuY2FsbChvYmopXTtcbn1cblxuZnVuY3Rpb24gZGVlcENvcHkoZGF0YSkge1xuICAgIHZhciB0ID0gdHlwZU9mKGRhdGEpO1xuICAgIHZhciBvID0gdm9pZCAwO1xuXG4gICAgaWYgKHQgPT09ICdhcnJheScpIHtcbiAgICAgICAgbyA9IFtdO1xuICAgIH0gZWxzZSBpZiAodCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgbyA9IHt9O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cblxuICAgIGlmICh0ID09PSAnYXJyYXknKSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgby5wdXNoKGRlZXBDb3B5KGRhdGFbaV0pKTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSBpZiAodCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgZm9yICh2YXIgX2kgaW4gZGF0YSkge1xuICAgICAgICAgICAgb1tfaV0gPSBkZWVwQ29weShkYXRhW19pXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG87XG59XG5cbmV4cG9ydHMuZGVlcENvcHkgPSBkZWVwQ29weTtcbmZ1bmN0aW9uIHNjcm9sbFRvcChlbCkge1xuICAgIHZhciBmcm9tID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiAwO1xuICAgIHZhciB0byA9IGFyZ3VtZW50c1syXTtcbiAgICB2YXIgZHVyYXRpb24gPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IDUwMDtcbiAgICB2YXIgZW5kQ2FsbGJhY2sgPSBhcmd1bWVudHNbNF07XG5cbiAgICBpZiAoIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpIHtcbiAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSA9IHdpbmRvdy53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwgd2luZG93Lm1velJlcXVlc3RBbmltYXRpb25GcmFtZSB8fCB3aW5kb3cubXNSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwgZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICByZXR1cm4gd2luZG93LnNldFRpbWVvdXQoY2FsbGJhY2ssIDEwMDAgLyA2MCk7XG4gICAgICAgIH07XG4gICAgfVxuICAgIHZhciBkaWZmZXJlbmNlID0gTWF0aC5hYnMoZnJvbSAtIHRvKTtcbiAgICB2YXIgc3RlcCA9IE1hdGguY2VpbChkaWZmZXJlbmNlIC8gZHVyYXRpb24gKiA1MCk7XG5cbiAgICBmdW5jdGlvbiBzY3JvbGwoc3RhcnQsIGVuZCwgc3RlcCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgIGlmIChzdGFydCA9PT0gZW5kKSB7XG4gICAgICAgICAgICBlbmRDYWxsYmFjayAmJiBlbmRDYWxsYmFjaygpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGQgPSBzdGFydCArIHN0ZXAgPiBlbmQgPyBlbmQgOiBzdGFydCArIHN0ZXA7XG4gICAgICAgIGlmIChzdGFydCA+IGVuZCkge1xuICAgICAgICAgICAgZCA9IHN0YXJ0IC0gc3RlcCA8IGVuZCA/IGVuZCA6IHN0YXJ0IC0gc3RlcDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlbCA9PT0gd2luZG93KSB7XG4gICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oZCwgZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlbC5zY3JvbGxUb3AgPSBkO1xuICAgICAgICB9XG4gICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG4gICAgICAgICAgICByZXR1cm4gc2Nyb2xsKGQsIGVuZCwgc3RlcCk7XG4gICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgfVxuICAgIHNjcm9sbChmcm9tLCB0bywgc3RlcCk7XG59XG5cbmZ1bmN0aW9uIGZpbmRDb21wb25lbnRVcHdhcmQoY29udGV4dCwgY29tcG9uZW50TmFtZSwgY29tcG9uZW50TmFtZXMpIHtcbiAgICBpZiAodHlwZW9mIGNvbXBvbmVudE5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbXBvbmVudE5hbWVzID0gW2NvbXBvbmVudE5hbWVdO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbXBvbmVudE5hbWVzID0gY29tcG9uZW50TmFtZTtcbiAgICB9XG5cbiAgICB2YXIgcGFyZW50ID0gY29udGV4dC4kcGFyZW50O1xuICAgIHZhciBuYW1lID0gcGFyZW50LiRvcHRpb25zLm5hbWU7XG4gICAgd2hpbGUgKHBhcmVudCAmJiAoIW5hbWUgfHwgY29tcG9uZW50TmFtZXMuaW5kZXhPZihuYW1lKSA8IDApKSB7XG4gICAgICAgIHBhcmVudCA9IHBhcmVudC4kcGFyZW50O1xuICAgICAgICBpZiAocGFyZW50KSBuYW1lID0gcGFyZW50LiRvcHRpb25zLm5hbWU7XG4gICAgfVxuICAgIHJldHVybiBwYXJlbnQ7XG59XG5leHBvcnRzLmZpbmRDb21wb25lbnRVcHdhcmQgPSBmaW5kQ29tcG9uZW50VXB3YXJkO1xuZnVuY3Rpb24gZmluZENvbXBvbmVudERvd253YXJkKGNvbnRleHQsIGNvbXBvbmVudE5hbWUpIHtcbiAgICB2YXIgY2hpbGRyZW5zID0gY29udGV4dC4kY2hpbGRyZW47XG4gICAgdmFyIGNoaWxkcmVuID0gbnVsbDtcblxuICAgIGlmIChjaGlsZHJlbnMubGVuZ3RoKSB7XG4gICAgICAgIHZhciBfaXRlcmF0b3JOb3JtYWxDb21wbGV0aW9uID0gdHJ1ZTtcbiAgICAgICAgdmFyIF9kaWRJdGVyYXRvckVycm9yID0gZmFsc2U7XG4gICAgICAgIHZhciBfaXRlcmF0b3JFcnJvciA9IHVuZGVmaW5lZDtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgZm9yICh2YXIgX2l0ZXJhdG9yID0gKDAsIF9nZXRJdGVyYXRvcjMuZGVmYXVsdCkoY2hpbGRyZW5zKSwgX3N0ZXA7ICEoX2l0ZXJhdG9yTm9ybWFsQ29tcGxldGlvbiA9IChfc3RlcCA9IF9pdGVyYXRvci5uZXh0KCkpLmRvbmUpOyBfaXRlcmF0b3JOb3JtYWxDb21wbGV0aW9uID0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHZhciBjaGlsZCA9IF9zdGVwLnZhbHVlO1xuXG4gICAgICAgICAgICAgICAgdmFyIG5hbWUgPSBjaGlsZC4kb3B0aW9ucy5uYW1lO1xuICAgICAgICAgICAgICAgIGlmIChuYW1lID09PSBjb21wb25lbnROYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuID0gY2hpbGQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuID0gZmluZENvbXBvbmVudERvd253YXJkKGNoaWxkLCBjb21wb25lbnROYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkcmVuKSBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgX2RpZEl0ZXJhdG9yRXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgX2l0ZXJhdG9yRXJyb3IgPSBlcnI7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGlmICghX2l0ZXJhdG9yTm9ybWFsQ29tcGxldGlvbiAmJiBfaXRlcmF0b3IucmV0dXJuKSB7XG4gICAgICAgICAgICAgICAgICAgIF9pdGVyYXRvci5yZXR1cm4oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICAgIGlmIChfZGlkSXRlcmF0b3JFcnJvcikge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBfaXRlcmF0b3JFcnJvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNoaWxkcmVuO1xufVxuXG5mdW5jdGlvbiBmaW5kQ29tcG9uZW50c0Rvd253YXJkKGNvbnRleHQsIGNvbXBvbmVudE5hbWUpIHtcbiAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgIHZhciBpZ25vcmVDb21wb25lbnROYW1lcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogW107XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoaWdub3JlQ29tcG9uZW50TmFtZXMpKSB7XG4gICAgICAgIGlnbm9yZUNvbXBvbmVudE5hbWVzID0gW2lnbm9yZUNvbXBvbmVudE5hbWVzXTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnRleHQuJGNoaWxkcmVuLnJlZHVjZShmdW5jdGlvbiAoY29tcG9uZW50cywgY2hpbGQpIHtcbiAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczIpO1xuXG4gICAgICAgIGlmIChjaGlsZC4kb3B0aW9ucy5uYW1lID09PSBjb21wb25lbnROYW1lKSBjb21wb25lbnRzLnB1c2goY2hpbGQpO1xuICAgICAgICBpZiAoaWdub3JlQ29tcG9uZW50TmFtZXMuaW5kZXhPZihjaGlsZC4kb3B0aW9ucy5uYW1lKSA8IDApIHtcbiAgICAgICAgICAgIHZhciBmb3VuZENoaWxkcyA9IGZpbmRDb21wb25lbnRzRG93bndhcmQoY2hpbGQsIGNvbXBvbmVudE5hbWUpO1xuICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudHMuY29uY2F0KGZvdW5kQ2hpbGRzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBjb21wb25lbnRzO1xuICAgICAgICB9XG4gICAgfS5iaW5kKHRoaXMpLCBbXSk7XG59XG5cbmZ1bmN0aW9uIGZpbmRDb21wb25lbnRzVXB3YXJkKGNvbnRleHQsIGNvbXBvbmVudE5hbWUpIHtcbiAgICB2YXIgcGFyZW50cyA9IFtdO1xuICAgIHZhciBwYXJlbnQgPSBjb250ZXh0LiRwYXJlbnQ7XG4gICAgaWYgKHBhcmVudCkge1xuICAgICAgICBpZiAocGFyZW50LiRvcHRpb25zLm5hbWUgPT09IGNvbXBvbmVudE5hbWUpIHBhcmVudHMucHVzaChwYXJlbnQpO1xuICAgICAgICByZXR1cm4gcGFyZW50cy5jb25jYXQoZmluZENvbXBvbmVudHNVcHdhcmQocGFyZW50LCBjb21wb25lbnROYW1lKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZmluZEJyb3RoZXJzQ29tcG9uZW50cyhjb250ZXh0LCBjb21wb25lbnROYW1lKSB7XG4gICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICB2YXIgZXhjZXB0TWUgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IHRydWU7XG5cbiAgICB2YXIgcmVzID0gY29udGV4dC4kcGFyZW50LiRjaGlsZHJlbi5maWx0ZXIoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczMpO1xuXG4gICAgICAgIHJldHVybiBpdGVtLiRvcHRpb25zLm5hbWUgPT09IGNvbXBvbmVudE5hbWU7XG4gICAgfS5iaW5kKHRoaXMpKTtcbiAgICB2YXIgaW5kZXggPSByZXMuZmluZEluZGV4KGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMzKTtcbiAgICAgICAgcmV0dXJuIGl0ZW0uX3VpZCA9PT0gY29udGV4dC5fdWlkO1xuICAgIH0uYmluZCh0aGlzKSk7XG4gICAgaWYgKGV4Y2VwdE1lKSByZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICByZXR1cm4gcmVzO1xufVxuXG52YXIgdHJpbSA9IGZ1bmN0aW9uIHRyaW0oc3RyaW5nKSB7XG4gICAgcmV0dXJuIChzdHJpbmcgfHwgJycpLnJlcGxhY2UoL15bXFxzXFx1RkVGRl0rfFtcXHNcXHVGRUZGXSskL2csICcnKTtcbn07XG5cbmZ1bmN0aW9uIGhhc0NsYXNzKGVsLCBjbHMpIHtcbiAgICBpZiAoIWVsIHx8ICFjbHMpIHJldHVybiBmYWxzZTtcbiAgICBpZiAoY2xzLmluZGV4T2YoJyAnKSAhPT0gLTEpIHRocm93IG5ldyBFcnJvcignY2xhc3NOYW1lIHNob3VsZCBub3QgY29udGFpbiBzcGFjZS4nKTtcbiAgICBpZiAoZWwuY2xhc3NMaXN0KSB7XG4gICAgICAgIHJldHVybiBlbC5jbGFzc0xpc3QuY29udGFpbnMoY2xzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gKCcgJyArIGVsLmNsYXNzTmFtZSArICcgJykuaW5kZXhPZignICcgKyBjbHMgKyAnICcpID4gLTE7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBhZGRDbGFzcyhlbCwgY2xzKSB7XG4gICAgaWYgKCFlbCkgcmV0dXJuO1xuICAgIHZhciBjdXJDbGFzcyA9IGVsLmNsYXNzTmFtZTtcbiAgICB2YXIgY2xhc3NlcyA9IChjbHMgfHwgJycpLnNwbGl0KCcgJyk7XG5cbiAgICBmb3IgKHZhciBpID0gMCwgaiA9IGNsYXNzZXMubGVuZ3RoOyBpIDwgajsgaSsrKSB7XG4gICAgICAgIHZhciBjbHNOYW1lID0gY2xhc3Nlc1tpXTtcbiAgICAgICAgaWYgKCFjbHNOYW1lKSBjb250aW51ZTtcblxuICAgICAgICBpZiAoZWwuY2xhc3NMaXN0KSB7XG4gICAgICAgICAgICBlbC5jbGFzc0xpc3QuYWRkKGNsc05hbWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKCFoYXNDbGFzcyhlbCwgY2xzTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBjdXJDbGFzcyArPSAnICcgKyBjbHNOYW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGlmICghZWwuY2xhc3NMaXN0KSB7XG4gICAgICAgIGVsLmNsYXNzTmFtZSA9IGN1ckNsYXNzO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gcmVtb3ZlQ2xhc3MoZWwsIGNscykge1xuICAgIGlmICghZWwgfHwgIWNscykgcmV0dXJuO1xuICAgIHZhciBjbGFzc2VzID0gY2xzLnNwbGl0KCcgJyk7XG4gICAgdmFyIGN1ckNsYXNzID0gJyAnICsgZWwuY2xhc3NOYW1lICsgJyAnO1xuXG4gICAgZm9yICh2YXIgaSA9IDAsIGogPSBjbGFzc2VzLmxlbmd0aDsgaSA8IGo7IGkrKykge1xuICAgICAgICB2YXIgY2xzTmFtZSA9IGNsYXNzZXNbaV07XG4gICAgICAgIGlmICghY2xzTmFtZSkgY29udGludWU7XG5cbiAgICAgICAgaWYgKGVsLmNsYXNzTGlzdCkge1xuICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZShjbHNOYW1lKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChoYXNDbGFzcyhlbCwgY2xzTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBjdXJDbGFzcyA9IGN1ckNsYXNzLnJlcGxhY2UoJyAnICsgY2xzTmFtZSArICcgJywgJyAnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWVsLmNsYXNzTGlzdCkge1xuICAgICAgICBlbC5jbGFzc05hbWUgPSB0cmltKGN1ckNsYXNzKTtcbiAgICB9XG59XG5cbnZhciBkaW1lbnNpb25NYXAgPSBleHBvcnRzLmRpbWVuc2lvbk1hcCA9IHtcbiAgICB4czogJzQ4MHB4JyxcbiAgICBzbTogJzU3NnB4JyxcbiAgICBtZDogJzc2OHB4JyxcbiAgICBsZzogJzk5MnB4JyxcbiAgICB4bDogJzEyMDBweCcsXG4gICAgeHhsOiAnMTYwMHB4J1xufTtcblxuZnVuY3Rpb24gc2V0TWF0Y2hNZWRpYSgpIHtcbiAgICB2YXIgX3RoaXM0ID0gdGhpcztcblxuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICB2YXIgbWF0Y2hNZWRpYVBvbHlmaWxsID0gZnVuY3Rpb24gKG1lZGlhUXVlcnkpIHtcbiAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM0KTtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBtZWRpYTogbWVkaWFRdWVyeSxcbiAgICAgICAgICAgICAgICBtYXRjaGVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBvbjogZnVuY3Rpb24gb24oKSB7fSxcbiAgICAgICAgICAgICAgICBvZmY6IGZ1bmN0aW9uIG9mZigpIHt9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9LmJpbmQodGhpcyk7XG4gICAgICAgIHdpbmRvdy5tYXRjaE1lZGlhID0gd2luZG93Lm1hdGNoTWVkaWEgfHwgbWF0Y2hNZWRpYVBvbHlmaWxsO1xuICAgIH1cbn1cblxudmFyIHNoYXJwTWF0Y2hlclJlZ3ggPSBleHBvcnRzLnNoYXJwTWF0Y2hlclJlZ3ggPSAvIyhbXiNdKykkLztcblxuLyoqKi8gfSksXG4vKiA0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIF9icm9hZGNhc3QoY29tcG9uZW50TmFtZSwgZXZlbnROYW1lLCBwYXJhbXMpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgdGhpcy4kY2hpbGRyZW4uZm9yRWFjaChmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgdmFyIG5hbWUgPSBjaGlsZC4kb3B0aW9ucy5uYW1lO1xuXG4gICAgICAgIGlmIChuYW1lID09PSBjb21wb25lbnROYW1lKSB7XG4gICAgICAgICAgICBjaGlsZC4kZW1pdC5hcHBseShjaGlsZCwgW2V2ZW50TmFtZV0uY29uY2F0KHBhcmFtcykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgX2Jyb2FkY2FzdC5hcHBseShjaGlsZCwgW2NvbXBvbmVudE5hbWUsIGV2ZW50TmFtZV0uY29uY2F0KFtwYXJhbXNdKSk7XG4gICAgICAgIH1cbiAgICB9LmJpbmQodGhpcykpO1xufVxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgZGlzcGF0Y2g6IGZ1bmN0aW9uIGRpc3BhdGNoKGNvbXBvbmVudE5hbWUsIGV2ZW50TmFtZSwgcGFyYW1zKSB7XG4gICAgICAgICAgICB2YXIgcGFyZW50ID0gdGhpcy4kcGFyZW50IHx8IHRoaXMuJHJvb3Q7XG4gICAgICAgICAgICB2YXIgbmFtZSA9IHBhcmVudC4kb3B0aW9ucy5uYW1lO1xuXG4gICAgICAgICAgICB3aGlsZSAocGFyZW50ICYmICghbmFtZSB8fCBuYW1lICE9PSBjb21wb25lbnROYW1lKSkge1xuICAgICAgICAgICAgICAgIHBhcmVudCA9IHBhcmVudC4kcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgaWYgKHBhcmVudCkge1xuICAgICAgICAgICAgICAgICAgICBuYW1lID0gcGFyZW50LiRvcHRpb25zLm5hbWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHBhcmVudCkge1xuICAgICAgICAgICAgICAgIHBhcmVudC4kZW1pdC5hcHBseShwYXJlbnQsIFtldmVudE5hbWVdLmNvbmNhdChwYXJhbXMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgYnJvYWRjYXN0OiBmdW5jdGlvbiBicm9hZGNhc3QoY29tcG9uZW50TmFtZSwgZXZlbnROYW1lLCBwYXJhbXMpIHtcbiAgICAgICAgICAgIF9icm9hZGNhc3QuY2FsbCh0aGlzLCBjb21wb25lbnROYW1lLCBldmVudE5hbWUsIHBhcmFtcyk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2xvY2FsZSA9IF9fd2VicGFja19yZXF1aXJlX18oMTA4KTtcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgdDogZnVuY3Rpb24gdCgpIHtcbiAgICAgICAgICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICAgICAgICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIF9sb2NhbGUudC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogNiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG52YXIgY29yZSA9IG1vZHVsZS5leHBvcnRzID0geyB2ZXJzaW9uOiAnMi41LjUnIH07XG5pZiAodHlwZW9mIF9fZSA9PSAnbnVtYmVyJykgX19lID0gY29yZTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuXG5cbi8qKiovIH0pLFxuLyogNyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTsgZm9yICh2YXIga2V5IGluIHNvdXJjZSkgeyBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkgeyB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldOyB9IH0gfSByZXR1cm4gdGFyZ2V0OyB9O1xuXG52YXIgX3R5cGVvZiA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiID8gZnVuY3Rpb24gKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfSA6IGZ1bmN0aW9uIChvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07XG5cbmV4cG9ydHMuY29udmVydEZpZWxkc0Vycm9yID0gY29udmVydEZpZWxkc0Vycm9yO1xuZXhwb3J0cy5mb3JtYXQgPSBmb3JtYXQ7XG5leHBvcnRzLmlzRW1wdHlWYWx1ZSA9IGlzRW1wdHlWYWx1ZTtcbmV4cG9ydHMuaXNFbXB0eU9iamVjdCA9IGlzRW1wdHlPYmplY3Q7XG5leHBvcnRzLmFzeW5jTWFwID0gYXN5bmNNYXA7XG5leHBvcnRzLmNvbXBsZW1lbnRFcnJvciA9IGNvbXBsZW1lbnRFcnJvcjtcbmV4cG9ydHMuZGVlcE1lcmdlID0gZGVlcE1lcmdlO1xuLyogZXNsaW50IG5vLWNvbnNvbGU6MCAqL1xuXG52YXIgZm9ybWF0UmVnRXhwID0gLyVbc2RqJV0vZztcblxudmFyIHdhcm5pbmcgPSBleHBvcnRzLndhcm5pbmcgPSBmdW5jdGlvbiB3YXJuaW5nKCkge307XG5cbi8vIGRvbid0IHByaW50IHdhcm5pbmcgbWVzc2FnZSB3aGVuIGluIHByb2R1Y3Rpb24gZW52IG9yIG5vZGUgcnVudGltZVxuaWYgKGZhbHNlKSB7XG4gIGV4cG9ydHMud2FybmluZyA9IHdhcm5pbmcgPSBmdW5jdGlvbiB3YXJuaW5nKHR5cGUsIGVycm9ycykge1xuICAgIGlmICh0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcgJiYgY29uc29sZS53YXJuKSB7XG4gICAgICBpZiAoZXJyb3JzLmV2ZXJ5KGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgZSA9PT0gJ3N0cmluZyc7XG4gICAgICB9KSkge1xuICAgICAgICBjb25zb2xlLndhcm4odHlwZSwgZXJyb3JzKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRGaWVsZHNFcnJvcihlcnJvcnMpIHtcbiAgaWYgKCFlcnJvcnMgfHwgIWVycm9ycy5sZW5ndGgpIHJldHVybiBudWxsO1xuICB2YXIgZmllbGRzID0ge307XG4gIGVycm9ycy5mb3JFYWNoKGZ1bmN0aW9uIChlcnJvcikge1xuICAgIHZhciBmaWVsZCA9IGVycm9yLmZpZWxkO1xuICAgIGZpZWxkc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdIHx8IFtdO1xuICAgIGZpZWxkc1tmaWVsZF0ucHVzaChlcnJvcik7XG4gIH0pO1xuICByZXR1cm4gZmllbGRzO1xufVxuXG5mdW5jdGlvbiBmb3JtYXQoKSB7XG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgfVxuXG4gIHZhciBpID0gMTtcbiAgdmFyIGYgPSBhcmdzWzBdO1xuICB2YXIgbGVuID0gYXJncy5sZW5ndGg7XG4gIGlmICh0eXBlb2YgZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBmLmFwcGx5KG51bGwsIGFyZ3Muc2xpY2UoMSkpO1xuICB9XG4gIGlmICh0eXBlb2YgZiA9PT0gJ3N0cmluZycpIHtcbiAgICB2YXIgc3RyID0gU3RyaW5nKGYpLnJlcGxhY2UoZm9ybWF0UmVnRXhwLCBmdW5jdGlvbiAoeCkge1xuICAgICAgaWYgKHggPT09ICclJScpIHtcbiAgICAgICAgcmV0dXJuICclJztcbiAgICAgIH1cbiAgICAgIGlmIChpID49IGxlbikge1xuICAgICAgICByZXR1cm4geDtcbiAgICAgIH1cbiAgICAgIHN3aXRjaCAoeCkge1xuICAgICAgICBjYXNlICclcyc6XG4gICAgICAgICAgcmV0dXJuIFN0cmluZyhhcmdzW2krK10pO1xuICAgICAgICBjYXNlICclZCc6XG4gICAgICAgICAgcmV0dXJuIE51bWJlcihhcmdzW2krK10pO1xuICAgICAgICBjYXNlICclaic6XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShhcmdzW2krK10pO1xuICAgICAgICAgIH0gY2F0Y2ggKF8pIHtcbiAgICAgICAgICAgIHJldHVybiAnW0NpcmN1bGFyXSc7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiB4O1xuICAgICAgfVxuICAgIH0pO1xuICAgIGZvciAodmFyIGFyZyA9IGFyZ3NbaV07IGkgPCBsZW47IGFyZyA9IGFyZ3NbKytpXSkge1xuICAgICAgc3RyICs9ICcgJyArIGFyZztcbiAgICB9XG4gICAgcmV0dXJuIHN0cjtcbiAgfVxuICByZXR1cm4gZjtcbn1cblxuZnVuY3Rpb24gaXNOYXRpdmVTdHJpbmdUeXBlKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUgPT09ICdzdHJpbmcnIHx8IHR5cGUgPT09ICd1cmwnIHx8IHR5cGUgPT09ICdoZXgnIHx8IHR5cGUgPT09ICdlbWFpbCcgfHwgdHlwZSA9PT0gJ3BhdHRlcm4nO1xufVxuXG5mdW5jdGlvbiBpc0VtcHR5VmFsdWUodmFsdWUsIHR5cGUpIHtcbiAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpZiAodHlwZSA9PT0gJ2FycmF5JyAmJiBBcnJheS5pc0FycmF5KHZhbHVlKSAmJiAhdmFsdWUubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgaWYgKGlzTmF0aXZlU3RyaW5nVHlwZSh0eXBlKSAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmICF2YWx1ZSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gaXNFbXB0eU9iamVjdChvYmopIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG9iaikubGVuZ3RoID09PSAwO1xufVxuXG5mdW5jdGlvbiBhc3luY1BhcmFsbGVsQXJyYXkoYXJyLCBmdW5jLCBjYWxsYmFjaykge1xuICB2YXIgcmVzdWx0cyA9IFtdO1xuICB2YXIgdG90YWwgPSAwO1xuICB2YXIgYXJyTGVuZ3RoID0gYXJyLmxlbmd0aDtcblxuICBmdW5jdGlvbiBjb3VudChlcnJvcnMpIHtcbiAgICByZXN1bHRzLnB1c2guYXBwbHkocmVzdWx0cywgZXJyb3JzKTtcbiAgICB0b3RhbCsrO1xuICAgIGlmICh0b3RhbCA9PT0gYXJyTGVuZ3RoKSB7XG4gICAgICBjYWxsYmFjayhyZXN1bHRzKTtcbiAgICB9XG4gIH1cblxuICBhcnIuZm9yRWFjaChmdW5jdGlvbiAoYSkge1xuICAgIGZ1bmMoYSwgY291bnQpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gYXN5bmNTZXJpYWxBcnJheShhcnIsIGZ1bmMsIGNhbGxiYWNrKSB7XG4gIHZhciBpbmRleCA9IDA7XG4gIHZhciBhcnJMZW5ndGggPSBhcnIubGVuZ3RoO1xuXG4gIGZ1bmN0aW9uIG5leHQoZXJyb3JzKSB7XG4gICAgaWYgKGVycm9ycyAmJiBlcnJvcnMubGVuZ3RoKSB7XG4gICAgICBjYWxsYmFjayhlcnJvcnMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgb3JpZ2luYWwgPSBpbmRleDtcbiAgICBpbmRleCA9IGluZGV4ICsgMTtcbiAgICBpZiAob3JpZ2luYWwgPCBhcnJMZW5ndGgpIHtcbiAgICAgIGZ1bmMoYXJyW29yaWdpbmFsXSwgbmV4dCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNhbGxiYWNrKFtdKTtcbiAgICB9XG4gIH1cblxuICBuZXh0KFtdKTtcbn1cblxuZnVuY3Rpb24gZmxhdHRlbk9iakFycihvYmpBcnIpIHtcbiAgdmFyIHJldCA9IFtdO1xuICBPYmplY3Qua2V5cyhvYmpBcnIpLmZvckVhY2goZnVuY3Rpb24gKGspIHtcbiAgICByZXQucHVzaC5hcHBseShyZXQsIG9iakFycltrXSk7XG4gIH0pO1xuICByZXR1cm4gcmV0O1xufVxuXG5mdW5jdGlvbiBhc3luY01hcChvYmpBcnIsIG9wdGlvbiwgZnVuYywgY2FsbGJhY2spIHtcbiAgaWYgKG9wdGlvbi5maXJzdCkge1xuICAgIHZhciBmbGF0dGVuQXJyID0gZmxhdHRlbk9iakFycihvYmpBcnIpO1xuICAgIHJldHVybiBhc3luY1NlcmlhbEFycmF5KGZsYXR0ZW5BcnIsIGZ1bmMsIGNhbGxiYWNrKTtcbiAgfVxuICB2YXIgZmlyc3RGaWVsZHMgPSBvcHRpb24uZmlyc3RGaWVsZHMgfHwgW107XG4gIGlmIChmaXJzdEZpZWxkcyA9PT0gdHJ1ZSkge1xuICAgIGZpcnN0RmllbGRzID0gT2JqZWN0LmtleXMob2JqQXJyKTtcbiAgfVxuICB2YXIgb2JqQXJyS2V5cyA9IE9iamVjdC5rZXlzKG9iakFycik7XG4gIHZhciBvYmpBcnJMZW5ndGggPSBvYmpBcnJLZXlzLmxlbmd0aDtcbiAgdmFyIHRvdGFsID0gMDtcbiAgdmFyIHJlc3VsdHMgPSBbXTtcbiAgdmFyIHBlbmRpbmcgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgdmFyIG5leHQgPSBmdW5jdGlvbiBuZXh0KGVycm9ycykge1xuICAgICAgcmVzdWx0cy5wdXNoLmFwcGx5KHJlc3VsdHMsIGVycm9ycyk7XG4gICAgICB0b3RhbCsrO1xuICAgICAgaWYgKHRvdGFsID09PSBvYmpBcnJMZW5ndGgpIHtcbiAgICAgICAgY2FsbGJhY2socmVzdWx0cyk7XG4gICAgICAgIHJldHVybiByZXN1bHRzLmxlbmd0aCA/IHJlamVjdCh7IGVycm9yczogcmVzdWx0cywgZmllbGRzOiBjb252ZXJ0RmllbGRzRXJyb3IocmVzdWx0cykgfSkgOiByZXNvbHZlKCk7XG4gICAgICB9XG4gICAgfTtcbiAgICBvYmpBcnJLZXlzLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgdmFyIGFyciA9IG9iakFycltrZXldO1xuICAgICAgaWYgKGZpcnN0RmllbGRzLmluZGV4T2Yoa2V5KSAhPT0gLTEpIHtcbiAgICAgICAgYXN5bmNTZXJpYWxBcnJheShhcnIsIGZ1bmMsIG5leHQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXN5bmNQYXJhbGxlbEFycmF5KGFyciwgZnVuYywgbmV4dCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuICBwZW5kaW5nWydjYXRjaCddKGZ1bmN0aW9uIChlKSB7XG4gICAgcmV0dXJuIGU7XG4gIH0pO1xuICByZXR1cm4gcGVuZGluZztcbn1cblxuZnVuY3Rpb24gY29tcGxlbWVudEVycm9yKHJ1bGUpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChvZSkge1xuICAgIGlmIChvZSAmJiBvZS5tZXNzYWdlKSB7XG4gICAgICBvZS5maWVsZCA9IG9lLmZpZWxkIHx8IHJ1bGUuZnVsbEZpZWxkO1xuICAgICAgcmV0dXJuIG9lO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgbWVzc2FnZTogdHlwZW9mIG9lID09PSAnZnVuY3Rpb24nID8gb2UoKSA6IG9lLFxuICAgICAgZmllbGQ6IG9lLmZpZWxkIHx8IHJ1bGUuZnVsbEZpZWxkXG4gICAgfTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gZGVlcE1lcmdlKHRhcmdldCwgc291cmNlKSB7XG4gIGlmIChzb3VyY2UpIHtcbiAgICBmb3IgKHZhciBzIGluIHNvdXJjZSkge1xuICAgICAgaWYgKHNvdXJjZS5oYXNPd25Qcm9wZXJ0eShzKSkge1xuICAgICAgICB2YXIgdmFsdWUgPSBzb3VyY2Vbc107XG4gICAgICAgIGlmICgodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyA/ICd1bmRlZmluZWQnIDogX3R5cGVvZih2YWx1ZSkpID09PSAnb2JqZWN0JyAmJiBfdHlwZW9mKHRhcmdldFtzXSkgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgdGFyZ2V0W3NdID0gX2V4dGVuZHMoe30sIHRhcmdldFtzXSwgdmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhcmdldFtzXSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbi8qKiovIH0pLFxuLyogOCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9pY29uX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg5MSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfaWNvbl92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2ljb25fdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9pY29uX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9pY29uX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzhhYjE5NWRjX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfaWNvbl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjY0KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl84YWIxOTVkY19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2ljb25fdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl84YWIxOTVkY19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2ljb25fdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfaWNvbl92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzhhYjE5NWRjX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfaWNvbl92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfOGFiMTk1ZGNfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9pY29uX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS96bG9pcm9jay9jb3JlLWpzL2lzc3Vlcy84NiNpc3N1ZWNvbW1lbnQtMTE1NzU5MDI4XG52YXIgZ2xvYmFsID0gbW9kdWxlLmV4cG9ydHMgPSB0eXBlb2Ygd2luZG93ICE9ICd1bmRlZmluZWQnICYmIHdpbmRvdy5NYXRoID09IE1hdGhcbiAgPyB3aW5kb3cgOiB0eXBlb2Ygc2VsZiAhPSAndW5kZWZpbmVkJyAmJiBzZWxmLk1hdGggPT0gTWF0aCA/IHNlbGZcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW5ldy1mdW5jXG4gIDogRnVuY3Rpb24oJ3JldHVybiB0aGlzJykoKTtcbmlmICh0eXBlb2YgX19nID09ICdudW1iZXInKSBfX2cgPSBnbG9iYWw7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW5kZWZcblxuXG4vKioqLyB9KSxcbi8qIDEwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbnZhciBnbG9iYWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDkpO1xudmFyIGNvcmUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDYpO1xudmFyIGN0eCA9IF9fd2VicGFja19yZXF1aXJlX18oNDIpO1xudmFyIGhpZGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI3KTtcbnZhciBoYXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI2KTtcbnZhciBQUk9UT1RZUEUgPSAncHJvdG90eXBlJztcblxudmFyICRleHBvcnQgPSBmdW5jdGlvbiAodHlwZSwgbmFtZSwgc291cmNlKSB7XG4gIHZhciBJU19GT1JDRUQgPSB0eXBlICYgJGV4cG9ydC5GO1xuICB2YXIgSVNfR0xPQkFMID0gdHlwZSAmICRleHBvcnQuRztcbiAgdmFyIElTX1NUQVRJQyA9IHR5cGUgJiAkZXhwb3J0LlM7XG4gIHZhciBJU19QUk9UTyA9IHR5cGUgJiAkZXhwb3J0LlA7XG4gIHZhciBJU19CSU5EID0gdHlwZSAmICRleHBvcnQuQjtcbiAgdmFyIElTX1dSQVAgPSB0eXBlICYgJGV4cG9ydC5XO1xuICB2YXIgZXhwb3J0cyA9IElTX0dMT0JBTCA/IGNvcmUgOiBjb3JlW25hbWVdIHx8IChjb3JlW25hbWVdID0ge30pO1xuICB2YXIgZXhwUHJvdG8gPSBleHBvcnRzW1BST1RPVFlQRV07XG4gIHZhciB0YXJnZXQgPSBJU19HTE9CQUwgPyBnbG9iYWwgOiBJU19TVEFUSUMgPyBnbG9iYWxbbmFtZV0gOiAoZ2xvYmFsW25hbWVdIHx8IHt9KVtQUk9UT1RZUEVdO1xuICB2YXIga2V5LCBvd24sIG91dDtcbiAgaWYgKElTX0dMT0JBTCkgc291cmNlID0gbmFtZTtcbiAgZm9yIChrZXkgaW4gc291cmNlKSB7XG4gICAgLy8gY29udGFpbnMgaW4gbmF0aXZlXG4gICAgb3duID0gIUlTX0ZPUkNFRCAmJiB0YXJnZXQgJiYgdGFyZ2V0W2tleV0gIT09IHVuZGVmaW5lZDtcbiAgICBpZiAob3duICYmIGhhcyhleHBvcnRzLCBrZXkpKSBjb250aW51ZTtcbiAgICAvLyBleHBvcnQgbmF0aXZlIG9yIHBhc3NlZFxuICAgIG91dCA9IG93biA/IHRhcmdldFtrZXldIDogc291cmNlW2tleV07XG4gICAgLy8gcHJldmVudCBnbG9iYWwgcG9sbHV0aW9uIGZvciBuYW1lc3BhY2VzXG4gICAgZXhwb3J0c1trZXldID0gSVNfR0xPQkFMICYmIHR5cGVvZiB0YXJnZXRba2V5XSAhPSAnZnVuY3Rpb24nID8gc291cmNlW2tleV1cbiAgICAvLyBiaW5kIHRpbWVycyB0byBnbG9iYWwgZm9yIGNhbGwgZnJvbSBleHBvcnQgY29udGV4dFxuICAgIDogSVNfQklORCAmJiBvd24gPyBjdHgob3V0LCBnbG9iYWwpXG4gICAgLy8gd3JhcCBnbG9iYWwgY29uc3RydWN0b3JzIGZvciBwcmV2ZW50IGNoYW5nZSB0aGVtIGluIGxpYnJhcnlcbiAgICA6IElTX1dSQVAgJiYgdGFyZ2V0W2tleV0gPT0gb3V0ID8gKGZ1bmN0aW9uIChDKSB7XG4gICAgICB2YXIgRiA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7XG4gICAgICAgIGlmICh0aGlzIGluc3RhbmNlb2YgQykge1xuICAgICAgICAgIHN3aXRjaCAoYXJndW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgY2FzZSAwOiByZXR1cm4gbmV3IEMoKTtcbiAgICAgICAgICAgIGNhc2UgMTogcmV0dXJuIG5ldyBDKGEpO1xuICAgICAgICAgICAgY2FzZSAyOiByZXR1cm4gbmV3IEMoYSwgYik7XG4gICAgICAgICAgfSByZXR1cm4gbmV3IEMoYSwgYiwgYyk7XG4gICAgICAgIH0gcmV0dXJuIEMuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgIH07XG4gICAgICBGW1BST1RPVFlQRV0gPSBDW1BST1RPVFlQRV07XG4gICAgICByZXR1cm4gRjtcbiAgICAvLyBtYWtlIHN0YXRpYyB2ZXJzaW9ucyBmb3IgcHJvdG90eXBlIG1ldGhvZHNcbiAgICB9KShvdXQpIDogSVNfUFJPVE8gJiYgdHlwZW9mIG91dCA9PSAnZnVuY3Rpb24nID8gY3R4KEZ1bmN0aW9uLmNhbGwsIG91dCkgOiBvdXQ7XG4gICAgLy8gZXhwb3J0IHByb3RvIG1ldGhvZHMgdG8gY29yZS4lQ09OU1RSVUNUT1IlLm1ldGhvZHMuJU5BTUUlXG4gICAgaWYgKElTX1BST1RPKSB7XG4gICAgICAoZXhwb3J0cy52aXJ0dWFsIHx8IChleHBvcnRzLnZpcnR1YWwgPSB7fSkpW2tleV0gPSBvdXQ7XG4gICAgICAvLyBleHBvcnQgcHJvdG8gbWV0aG9kcyB0byBjb3JlLiVDT05TVFJVQ1RPUiUucHJvdG90eXBlLiVOQU1FJVxuICAgICAgaWYgKHR5cGUgJiAkZXhwb3J0LlIgJiYgZXhwUHJvdG8gJiYgIWV4cFByb3RvW2tleV0pIGhpZGUoZXhwUHJvdG8sIGtleSwgb3V0KTtcbiAgICB9XG4gIH1cbn07XG4vLyB0eXBlIGJpdG1hcFxuJGV4cG9ydC5GID0gMTsgICAvLyBmb3JjZWRcbiRleHBvcnQuRyA9IDI7ICAgLy8gZ2xvYmFsXG4kZXhwb3J0LlMgPSA0OyAgIC8vIHN0YXRpY1xuJGV4cG9ydC5QID0gODsgICAvLyBwcm90b1xuJGV4cG9ydC5CID0gMTY7ICAvLyBiaW5kXG4kZXhwb3J0LlcgPSAzMjsgIC8vIHdyYXBcbiRleHBvcnQuVSA9IDY0OyAgLy8gc2FmZVxuJGV4cG9ydC5SID0gMTI4OyAvLyByZWFsIHByb3RvIG1ldGhvZCBmb3IgYGxpYnJhcnlgXG5tb2R1bGUuZXhwb3J0cyA9ICRleHBvcnQ7XG5cblxuLyoqKi8gfSksXG4vKiAxMSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG52YXIgc3RvcmUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDYzKSgnd2tzJyk7XG52YXIgdWlkID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0OCk7XG52YXIgU3ltYm9sID0gX193ZWJwYWNrX3JlcXVpcmVfXyg5KS5TeW1ib2w7XG52YXIgVVNFX1NZTUJPTCA9IHR5cGVvZiBTeW1ib2wgPT0gJ2Z1bmN0aW9uJztcblxudmFyICRleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAobmFtZSkge1xuICByZXR1cm4gc3RvcmVbbmFtZV0gfHwgKHN0b3JlW25hbWVdID1cbiAgICBVU0VfU1lNQk9MICYmIFN5bWJvbFtuYW1lXSB8fCAoVVNFX1NZTUJPTCA/IFN5bWJvbCA6IHVpZCkoJ1N5bWJvbC4nICsgbmFtZSkpO1xufTtcblxuJGV4cG9ydHMuc3RvcmUgPSBzdG9yZTtcblxuXG4vKioqLyB9KSxcbi8qIDEyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfcmVxdWlyZWQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE4MSk7XG5cbnZhciBfcmVxdWlyZWQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcmVxdWlyZWQpO1xuXG52YXIgX3doaXRlc3BhY2UgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ0NCk7XG5cbnZhciBfd2hpdGVzcGFjZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF93aGl0ZXNwYWNlKTtcblxudmFyIF90eXBlID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0NDUpO1xuXG52YXIgX3R5cGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdHlwZSk7XG5cbnZhciBfcmFuZ2UgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ0Nik7XG5cbnZhciBfcmFuZ2UyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcmFuZ2UpO1xuXG52YXIgX2VudW0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ0Nyk7XG5cbnZhciBfZW51bTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9lbnVtKTtcblxudmFyIF9wYXR0ZXJuID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0NDgpO1xuXG52YXIgX3BhdHRlcm4yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcGF0dGVybik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7ICdkZWZhdWx0Jzogb2JqIH07IH1cblxuZXhwb3J0c1snZGVmYXVsdCddID0ge1xuICByZXF1aXJlZDogX3JlcXVpcmVkMlsnZGVmYXVsdCddLFxuICB3aGl0ZXNwYWNlOiBfd2hpdGVzcGFjZTJbJ2RlZmF1bHQnXSxcbiAgdHlwZTogX3R5cGUyWydkZWZhdWx0J10sXG4gIHJhbmdlOiBfcmFuZ2UyWydkZWZhdWx0J10sXG4gICdlbnVtJzogX2VudW0yWydkZWZhdWx0J10sXG4gIHBhdHRlcm46IF9wYXR0ZXJuMlsnZGVmYXVsdCddXG59O1xuXG4vKioqLyB9KSxcbi8qIDEzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMub2ZmID0gZXhwb3J0cy5vbiA9IHVuZGVmaW5lZDtcblxudmFyIF92dWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE1KTtcblxudmFyIF92dWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdnVlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIGlzU2VydmVyID0gX3Z1ZTIuZGVmYXVsdC5wcm90b3R5cGUuJGlzU2VydmVyO1xuXG52YXIgb24gPSBleHBvcnRzLm9uID0gZnVuY3Rpb24gKCkge1xuICAgIGlmICghaXNTZXJ2ZXIgJiYgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcikge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKGVsZW1lbnQsIGV2ZW50LCBoYW5kbGVyKSB7XG4gICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBldmVudCAmJiBoYW5kbGVyKSB7XG4gICAgICAgICAgICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBoYW5kbGVyLCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChlbGVtZW50LCBldmVudCwgaGFuZGxlcikge1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQgJiYgZXZlbnQgJiYgaGFuZGxlcikge1xuICAgICAgICAgICAgICAgIGVsZW1lbnQuYXR0YWNoRXZlbnQoJ29uJyArIGV2ZW50LCBoYW5kbGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG59KCk7XG5cbnZhciBvZmYgPSBleHBvcnRzLm9mZiA9IGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoIWlzU2VydmVyICYmIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChlbGVtZW50LCBldmVudCwgaGFuZGxlcikge1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQgJiYgZXZlbnQpIHtcbiAgICAgICAgICAgICAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnQsIGhhbmRsZXIsIGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKGVsZW1lbnQsIGV2ZW50LCBoYW5kbGVyKSB7XG4gICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBldmVudCkge1xuICAgICAgICAgICAgICAgIGVsZW1lbnQuZGV0YWNoRXZlbnQoJ29uJyArIGV2ZW50LCBoYW5kbGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG59KCk7XG5cbi8qKiovIH0pLFxuLyogMTQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxubW9kdWxlLmV4cG9ydHMgPSB7IFwiZGVmYXVsdFwiOiBfX3dlYnBhY2tfcmVxdWlyZV9fKDI1MyksIF9fZXNNb2R1bGU6IHRydWUgfTtcblxuLyoqKi8gfSksXG4vKiAxNSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5tb2R1bGUuZXhwb3J0cyA9IF9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfMTVfXztcblxuLyoqKi8gfSksXG4vKiAxNiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuXG52YXIgX2Zyb20gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEwMSk7XG5cbnZhciBfZnJvbTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9mcm9tKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0gZnVuY3Rpb24gKGFycikge1xuICBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSB7XG4gICAgZm9yICh2YXIgaSA9IDAsIGFycjIgPSBBcnJheShhcnIubGVuZ3RoKTsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xuICAgICAgYXJyMltpXSA9IGFycltpXTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXJyMjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gKDAsIF9mcm9tMi5kZWZhdWx0KShhcnIpO1xuICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDE3ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuVFlQRV9WQUxVRV9SRVNPTFZFUl9NQVAgPSBleHBvcnRzLkRFRkFVTFRfRk9STUFUUyA9IGV4cG9ydHMuZm9ybWF0RGF0ZUxhYmVscyA9IGV4cG9ydHMuaW5pdFRpbWVEYXRlID0gZXhwb3J0cy5uZXh0TW9udGggPSBleHBvcnRzLnByZXZNb250aCA9IGV4cG9ydHMuc2libGluZ01vbnRoID0gZXhwb3J0cy5nZXRGaXJzdERheU9mTW9udGggPSBleHBvcnRzLmdldERheUNvdW50T2ZNb250aCA9IGV4cG9ydHMucGFyc2VEYXRlID0gZXhwb3J0cy5mb3JtYXREYXRlID0gZXhwb3J0cy5pc0luUmFuZ2UgPSBleHBvcnRzLmNsZWFySG91cnMgPSBleHBvcnRzLnRvRGF0ZSA9IHVuZGVmaW5lZDtcblxudmFyIF9zbGljZWRUb0FycmF5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMjMpO1xuXG52YXIgX3NsaWNlZFRvQXJyYXkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc2xpY2VkVG9BcnJheTIpO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF90b0NvbnN1bWFibGVBcnJheTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE2KTtcblxudmFyIF90b0NvbnN1bWFibGVBcnJheTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90b0NvbnN1bWFibGVBcnJheTIpO1xuXG52YXIgX2RhdGUyID0gX193ZWJwYWNrX3JlcXVpcmVfXygzOTQpO1xuXG52YXIgX2RhdGUzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGF0ZTIpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgdG9EYXRlID0gZXhwb3J0cy50b0RhdGUgPSBmdW5jdGlvbiB0b0RhdGUoZGF0ZSkge1xuICAgIHZhciBfZGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xuXG4gICAgaWYgKGlzTmFOKF9kYXRlLmdldFRpbWUoKSkgJiYgdHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIF9kYXRlID0gZGF0ZS5zcGxpdCgnLScpLm1hcChOdW1iZXIpO1xuICAgICAgICBfZGF0ZVsxXSArPSAxO1xuICAgICAgICBfZGF0ZSA9IG5ldyAoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuYXBwbHkoRGF0ZSwgW251bGxdLmNvbmNhdCgoMCwgX3RvQ29uc3VtYWJsZUFycmF5My5kZWZhdWx0KShfZGF0ZSkpKSkoKTtcbiAgICB9XG5cblxuICAgIGlmIChpc05hTihfZGF0ZS5nZXRUaW1lKCkpKSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gX2RhdGU7XG59O1xuXG52YXIgY2xlYXJIb3VycyA9IGV4cG9ydHMuY2xlYXJIb3VycyA9IGZ1bmN0aW9uIGNsZWFySG91cnModGltZSkge1xuICAgIHZhciBjbG9uZURhdGUgPSBuZXcgRGF0ZSh0aW1lKTtcbiAgICBjbG9uZURhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gICAgcmV0dXJuIGNsb25lRGF0ZS5nZXRUaW1lKCk7XG59O1xuXG52YXIgaXNJblJhbmdlID0gZXhwb3J0cy5pc0luUmFuZ2UgPSBmdW5jdGlvbiAodGltZSwgYSwgYikge1xuICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuXG4gICAgaWYgKCFhIHx8ICFiKSByZXR1cm4gZmFsc2U7XG5cbiAgICB2YXIgX3NvcnQgPSBbYSwgYl0uc29ydCgpLFxuICAgICAgICBfc29ydDIgPSAoMCwgX3NsaWNlZFRvQXJyYXkzLmRlZmF1bHQpKF9zb3J0LCAyKSxcbiAgICAgICAgc3RhcnQgPSBfc29ydDJbMF0sXG4gICAgICAgIGVuZCA9IF9zb3J0MlsxXTtcblxuICAgIHJldHVybiB0aW1lID49IHN0YXJ0ICYmIHRpbWUgPD0gZW5kO1xufS5iaW5kKHVuZGVmaW5lZCk7XG5cbnZhciBmb3JtYXREYXRlID0gZXhwb3J0cy5mb3JtYXREYXRlID0gZnVuY3Rpb24gZm9ybWF0RGF0ZShkYXRlLCBmb3JtYXQpIHtcbiAgICBkYXRlID0gdG9EYXRlKGRhdGUpO1xuICAgIGlmICghZGF0ZSkgcmV0dXJuICcnO1xuICAgIHJldHVybiBfZGF0ZTMuZGVmYXVsdC5mb3JtYXQoZGF0ZSwgZm9ybWF0IHx8ICd5eXl5LU1NLWRkJyk7XG59O1xuXG52YXIgcGFyc2VEYXRlID0gZXhwb3J0cy5wYXJzZURhdGUgPSBmdW5jdGlvbiBwYXJzZURhdGUoc3RyaW5nLCBmb3JtYXQpIHtcbiAgICByZXR1cm4gX2RhdGUzLmRlZmF1bHQucGFyc2Uoc3RyaW5nLCBmb3JtYXQgfHwgJ3l5eXktTU0tZGQnKTtcbn07XG5cbnZhciBnZXREYXlDb3VudE9mTW9udGggPSBleHBvcnRzLmdldERheUNvdW50T2ZNb250aCA9IGZ1bmN0aW9uIGdldERheUNvdW50T2ZNb250aCh5ZWFyLCBtb250aCkge1xuICAgIHJldHVybiBuZXcgRGF0ZSh5ZWFyLCBtb250aCArIDEsIDApLmdldERhdGUoKTtcbn07XG5cbnZhciBnZXRGaXJzdERheU9mTW9udGggPSBleHBvcnRzLmdldEZpcnN0RGF5T2ZNb250aCA9IGZ1bmN0aW9uIGdldEZpcnN0RGF5T2ZNb250aChkYXRlKSB7XG4gICAgdmFyIHRlbXAgPSBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSk7XG4gICAgdGVtcC5zZXREYXRlKDEpO1xuICAgIHJldHVybiB0ZW1wLmdldERheSgpO1xufTtcblxudmFyIHNpYmxpbmdNb250aCA9IGV4cG9ydHMuc2libGluZ01vbnRoID0gZnVuY3Rpb24gc2libGluZ01vbnRoKHNyYywgZGlmZikge1xuICAgIHZhciB0ZW1wID0gbmV3IERhdGUoc3JjKTtcbiAgICB2YXIgbmV3TW9udGggPSB0ZW1wLmdldE1vbnRoKCkgKyBkaWZmO1xuICAgIHZhciBuZXdNb250aERheUNvdW50ID0gZ2V0RGF5Q291bnRPZk1vbnRoKHRlbXAuZ2V0RnVsbFllYXIoKSwgbmV3TW9udGgpO1xuICAgIGlmIChuZXdNb250aERheUNvdW50IDwgdGVtcC5nZXREYXRlKCkpIHtcbiAgICAgICAgdGVtcC5zZXREYXRlKG5ld01vbnRoRGF5Q291bnQpO1xuICAgIH1cbiAgICB0ZW1wLnNldE1vbnRoKG5ld01vbnRoKTtcblxuICAgIHJldHVybiB0ZW1wO1xufTtcblxudmFyIHByZXZNb250aCA9IGV4cG9ydHMucHJldk1vbnRoID0gZnVuY3Rpb24gcHJldk1vbnRoKHNyYykge1xuICAgIHJldHVybiBzaWJsaW5nTW9udGgoc3JjLCAtMSk7XG59O1xuXG52YXIgbmV4dE1vbnRoID0gZXhwb3J0cy5uZXh0TW9udGggPSBmdW5jdGlvbiBuZXh0TW9udGgoc3JjKSB7XG4gICAgcmV0dXJuIHNpYmxpbmdNb250aChzcmMsIDEpO1xufTtcblxudmFyIGluaXRUaW1lRGF0ZSA9IGV4cG9ydHMuaW5pdFRpbWVEYXRlID0gZnVuY3Rpb24gaW5pdFRpbWVEYXRlKCkge1xuICAgIHZhciBkYXRlID0gbmV3IERhdGUoKTtcbiAgICBkYXRlLnNldEhvdXJzKDApO1xuICAgIGRhdGUuc2V0TWludXRlcygwKTtcbiAgICBkYXRlLnNldFNlY29uZHMoMCk7XG4gICAgcmV0dXJuIGRhdGU7XG59O1xuXG52YXIgZm9ybWF0RGF0ZUxhYmVscyA9IGV4cG9ydHMuZm9ybWF0RGF0ZUxhYmVscyA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgdmFyIGZvcm1hdHMgPSB7XG4gICAgICAgIHl5eXk6IGZ1bmN0aW9uIHl5eXkoZGF0ZSkge1xuICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgICB9LmJpbmQodGhpcyksXG4gICAgICAgIG06IGZ1bmN0aW9uIG0oZGF0ZSkge1xuICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZS5nZXRNb250aCgpICsgMTtcbiAgICAgICAgfS5iaW5kKHRoaXMpLFxuICAgICAgICBtbTogZnVuY3Rpb24gbW0oZGF0ZSkge1xuICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG4gICAgICAgICAgICByZXR1cm4gKCcwJyArIChkYXRlLmdldE1vbnRoKCkgKyAxKSkuc2xpY2UoLTIpO1xuICAgICAgICB9LmJpbmQodGhpcyksXG4gICAgICAgIG1tbTogZnVuY3Rpb24gbW1tKGRhdGUsIGxvY2FsZSkge1xuICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgIHZhciBtb250aE5hbWUgPSBkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZyhsb2NhbGUsIHtcbiAgICAgICAgICAgICAgICBtb250aDogJ2xvbmcnXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBtb250aE5hbWUuc2xpY2UoMCwgMyk7XG4gICAgICAgIH0uYmluZCh0aGlzKSxcbiAgICAgICAgTW1tOiBmdW5jdGlvbiBNbW0oZGF0ZSwgbG9jYWxlKSB7XG4gICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgdmFyIG1vbnRoTmFtZSA9IGRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKGxvY2FsZSwge1xuICAgICAgICAgICAgICAgIG1vbnRoOiAnbG9uZydcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIChtb250aE5hbWVbMF0udG9VcHBlckNhc2UoKSArIG1vbnRoTmFtZS5zbGljZSgxKS50b0xvd2VyQ2FzZSgpKS5zbGljZSgwLCAzKTtcbiAgICAgICAgfS5iaW5kKHRoaXMpLFxuICAgICAgICBtbW1tOiBmdW5jdGlvbiBtbW1tKGRhdGUsIGxvY2FsZSkge1xuICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZS50b0xvY2FsZURhdGVTdHJpbmcobG9jYWxlLCB7XG4gICAgICAgICAgICAgICAgbW9udGg6ICdsb25nJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0uYmluZCh0aGlzKSxcbiAgICAgICAgTW1tbTogZnVuY3Rpb24gTW1tbShkYXRlLCBsb2NhbGUpIHtcbiAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICB2YXIgbW9udGhOYW1lID0gZGF0ZS50b0xvY2FsZURhdGVTdHJpbmcobG9jYWxlLCB7XG4gICAgICAgICAgICAgICAgbW9udGg6ICdsb25nJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gbW9udGhOYW1lWzBdLnRvVXBwZXJDYXNlKCkgKyBtb250aE5hbWUuc2xpY2UoMSkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgfS5iaW5kKHRoaXMpXG4gICAgfTtcbiAgICB2YXIgZm9ybWF0UmVnZXggPSBuZXcgUmVnRXhwKFsneXl5eScsICdNbW1tJywgJ21tbW0nLCAnTW1tJywgJ21tbScsICdtbScsICdtJ10uam9pbignfCcpLCAnZycpO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIChsb2NhbGUsIGZvcm1hdCwgZGF0ZSkge1xuICAgICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgICB2YXIgY29tcG9uZXRzUmVnZXggPSAvKFxcW1teXFxdXStcXF0pKFteXFxbXFxdXSspKFxcW1teXFxdXStcXF0pLztcbiAgICAgICAgdmFyIGNvbXBvbmVudHMgPSBmb3JtYXQubWF0Y2goY29tcG9uZXRzUmVnZXgpLnNsaWNlKDEpO1xuICAgICAgICB2YXIgc2VwYXJhdG9yID0gY29tcG9uZW50c1sxXTtcbiAgICAgICAgdmFyIGxhYmVscyA9IFtjb21wb25lbnRzWzBdLCBjb21wb25lbnRzWzJdXS5tYXAoZnVuY3Rpb24gKGNvbXBvbmVudCkge1xuICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczIpO1xuXG4gICAgICAgICAgICB2YXIgbGFiZWwgPSBjb21wb25lbnQucmVwbGFjZSgvXFxbW15cXF1dK1xcXS8sIGZ1bmN0aW9uIChzdHIpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMik7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gc3RyLnNsaWNlKDEsIC0xKS5yZXBsYWNlKGZvcm1hdFJlZ2V4LCBmdW5jdGlvbiAobWF0Y2gpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczIpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZm9ybWF0c1ttYXRjaF0oZGF0ZSwgbG9jYWxlKTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IGxhYmVsLFxuICAgICAgICAgICAgICAgIHR5cGU6IGNvbXBvbmVudC5pbmRleE9mKCd5eScpICE9IC0xID8gJ3llYXInIDogJ21vbnRoJ1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNlcGFyYXRvcjogc2VwYXJhdG9yLFxuICAgICAgICAgICAgbGFiZWxzOiBsYWJlbHNcbiAgICAgICAgfTtcbiAgICB9O1xufSgpO1xuXG52YXIgREVGQVVMVF9GT1JNQVRTID0gZXhwb3J0cy5ERUZBVUxUX0ZPUk1BVFMgPSB7XG4gICAgZGF0ZTogJ3l5eXktTU0tZGQnLFxuICAgIG1vbnRoOiAneXl5eS1NTScsXG4gICAgeWVhcjogJ3l5eXknLFxuICAgIGRhdGV0aW1lOiAneXl5eS1NTS1kZCBISDptbTpzcycsXG4gICAgdGltZTogJ0hIOm1tOnNzJyxcbiAgICB0aW1lcmFuZ2U6ICdISDptbTpzcycsXG4gICAgZGF0ZXJhbmdlOiAneXl5eS1NTS1kZCcsXG4gICAgZGF0ZXRpbWVyYW5nZTogJ3l5eXktTU0tZGQgSEg6bW06c3MnXG59O1xuXG52YXIgREFURV9GT1JNQVRURVIgPSBmdW5jdGlvbiBEQVRFX0ZPUk1BVFRFUih2YWx1ZSwgZm9ybWF0KSB7XG4gICAgcmV0dXJuIGZvcm1hdERhdGUodmFsdWUsIGZvcm1hdCk7XG59O1xudmFyIERBVEVfUEFSU0VSID0gZnVuY3Rpb24gREFURV9QQVJTRVIodGV4dCwgZm9ybWF0KSB7XG4gICAgcmV0dXJuIHBhcnNlRGF0ZSh0ZXh0LCBmb3JtYXQpO1xufTtcbnZhciBSQU5HRV9GT1JNQVRURVIgPSBmdW5jdGlvbiBSQU5HRV9GT1JNQVRURVIodmFsdWUsIGZvcm1hdCwgUkFOR0VfU0VQQVJBVE9SKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMikge1xuICAgICAgICB2YXIgc3RhcnQgPSB2YWx1ZVswXTtcbiAgICAgICAgdmFyIGVuZCA9IHZhbHVlWzFdO1xuXG4gICAgICAgIGlmIChzdGFydCAmJiBlbmQpIHtcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXREYXRlKHN0YXJ0LCBmb3JtYXQpICsgUkFOR0VfU0VQQVJBVE9SICsgZm9ybWF0RGF0ZShlbmQsIGZvcm1hdCk7XG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdERhdGUodmFsdWUsIGZvcm1hdCk7XG4gICAgfVxuICAgIHJldHVybiAnJztcbn07XG52YXIgUkFOR0VfUEFSU0VSID0gZnVuY3Rpb24gUkFOR0VfUEFSU0VSKHRleHQsIGZvcm1hdCwgUkFOR0VfU0VQQVJBVE9SKSB7XG4gICAgdmFyIGFycmF5ID0gQXJyYXkuaXNBcnJheSh0ZXh0KSA/IHRleHQgOiB0ZXh0LnNwbGl0KFJBTkdFX1NFUEFSQVRPUik7XG4gICAgaWYgKGFycmF5Lmxlbmd0aCA9PT0gMikge1xuICAgICAgICB2YXIgcmFuZ2UxID0gYXJyYXlbMF07XG4gICAgICAgIHZhciByYW5nZTIgPSBhcnJheVsxXTtcblxuICAgICAgICByZXR1cm4gW3JhbmdlMSBpbnN0YW5jZW9mIERhdGUgPyByYW5nZTEgOiBwYXJzZURhdGUocmFuZ2UxLCBmb3JtYXQpLCByYW5nZTIgaW5zdGFuY2VvZiBEYXRlID8gcmFuZ2UyIDogcGFyc2VEYXRlKHJhbmdlMiwgZm9ybWF0KV07XG4gICAgfVxuICAgIHJldHVybiBbXTtcbn07XG5cbnZhciBUWVBFX1ZBTFVFX1JFU09MVkVSX01BUCA9IGV4cG9ydHMuVFlQRV9WQUxVRV9SRVNPTFZFUl9NQVAgPSB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgICBmb3JtYXR0ZXI6IGZ1bmN0aW9uIGZvcm1hdHRlcih2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuICcnO1xuICAgICAgICAgICAgcmV0dXJuICcnICsgdmFsdWU7XG4gICAgICAgIH0sXG4gICAgICAgIHBhcnNlcjogZnVuY3Rpb24gcGFyc2VyKHRleHQpIHtcbiAgICAgICAgICAgIGlmICh0ZXh0ID09PSB1bmRlZmluZWQgfHwgdGV4dCA9PT0gJycpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgcmV0dXJuIHRleHQ7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGU6IHtcbiAgICAgICAgZm9ybWF0dGVyOiBEQVRFX0ZPUk1BVFRFUixcbiAgICAgICAgcGFyc2VyOiBEQVRFX1BBUlNFUlxuICAgIH0sXG4gICAgZGF0ZXRpbWU6IHtcbiAgICAgICAgZm9ybWF0dGVyOiBEQVRFX0ZPUk1BVFRFUixcbiAgICAgICAgcGFyc2VyOiBEQVRFX1BBUlNFUlxuICAgIH0sXG4gICAgZGF0ZXJhbmdlOiB7XG4gICAgICAgIGZvcm1hdHRlcjogUkFOR0VfRk9STUFUVEVSLFxuICAgICAgICBwYXJzZXI6IFJBTkdFX1BBUlNFUlxuICAgIH0sXG4gICAgZGF0ZXRpbWVyYW5nZToge1xuICAgICAgICBmb3JtYXR0ZXI6IFJBTkdFX0ZPUk1BVFRFUixcbiAgICAgICAgcGFyc2VyOiBSQU5HRV9QQVJTRVJcbiAgICB9LFxuICAgIHRpbWVyYW5nZToge1xuICAgICAgICBmb3JtYXR0ZXI6IFJBTkdFX0ZPUk1BVFRFUixcbiAgICAgICAgcGFyc2VyOiBSQU5HRV9QQVJTRVJcbiAgICB9LFxuICAgIHRpbWU6IHtcbiAgICAgICAgZm9ybWF0dGVyOiBEQVRFX0ZPUk1BVFRFUixcbiAgICAgICAgcGFyc2VyOiBEQVRFX1BBUlNFUlxuICAgIH0sXG4gICAgbW9udGg6IHtcbiAgICAgICAgZm9ybWF0dGVyOiBEQVRFX0ZPUk1BVFRFUixcbiAgICAgICAgcGFyc2VyOiBEQVRFX1BBUlNFUlxuICAgIH0sXG4gICAgeWVhcjoge1xuICAgICAgICBmb3JtYXR0ZXI6IERBVEVfRk9STUFUVEVSLFxuICAgICAgICBwYXJzZXI6IERBVEVfUEFSU0VSXG4gICAgfSxcbiAgICBtdWx0aXBsZToge1xuICAgICAgICBmb3JtYXR0ZXI6IGZ1bmN0aW9uIGZvcm1hdHRlcih2YWx1ZSwgZm9ybWF0KSB7XG4gICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcblxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmZpbHRlcihCb29sZWFuKS5tYXAoZnVuY3Rpb24gKGRhdGUpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZm9ybWF0RGF0ZShkYXRlLCBmb3JtYXQpO1xuICAgICAgICAgICAgfS5iaW5kKHVuZGVmaW5lZCkpLmpvaW4oJywnKTtcbiAgICAgICAgfS5iaW5kKHVuZGVmaW5lZCksXG4gICAgICAgIHBhcnNlcjogZnVuY3Rpb24gcGFyc2VyKHZhbHVlLCBmb3JtYXQpIHtcbiAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuXG4gICAgICAgICAgICB2YXIgdmFsdWVzID0gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlLnNwbGl0KCcsJykgOiB2YWx1ZTtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZXMubWFwKGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB2YWx1ZSA9IHZhbHVlLnRyaW0oKTtlbHNlIGlmICh0eXBlb2YgdmFsdWUgIT09ICdudW1iZXInICYmICF2YWx1ZSkgdmFsdWUgPSAnJztcbiAgICAgICAgICAgICAgICByZXR1cm4gcGFyc2VEYXRlKHZhbHVlLCBmb3JtYXQpO1xuICAgICAgICAgICAgfS5iaW5kKHVuZGVmaW5lZCkpO1xuICAgICAgICB9LmJpbmQodW5kZWZpbmVkKVxuICAgIH0sXG4gICAgbnVtYmVyOiB7XG4gICAgICAgIGZvcm1hdHRlcjogZnVuY3Rpb24gZm9ybWF0dGVyKHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAoIXZhbHVlKSByZXR1cm4gJyc7XG4gICAgICAgICAgICByZXR1cm4gJycgKyB2YWx1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgcGFyc2VyOiBmdW5jdGlvbiBwYXJzZXIodGV4dCkge1xuICAgICAgICAgICAgdmFyIHJlc3VsdCA9IE51bWJlcih0ZXh0KTtcblxuICAgICAgICAgICAgaWYgKCFpc05hTih0ZXh0KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxOCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG52YXIgYW5PYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE5KTtcbnZhciBJRThfRE9NX0RFRklORSA9IF9fd2VicGFja19yZXF1aXJlX18oODgpO1xudmFyIHRvUHJpbWl0aXZlID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2Nik7XG52YXIgZFAgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7XG5cbmV4cG9ydHMuZiA9IF9fd2VicGFja19yZXF1aXJlX18oMjIpID8gT2JqZWN0LmRlZmluZVByb3BlcnR5IDogZnVuY3Rpb24gZGVmaW5lUHJvcGVydHkoTywgUCwgQXR0cmlidXRlcykge1xuICBhbk9iamVjdChPKTtcbiAgUCA9IHRvUHJpbWl0aXZlKFAsIHRydWUpO1xuICBhbk9iamVjdChBdHRyaWJ1dGVzKTtcbiAgaWYgKElFOF9ET01fREVGSU5FKSB0cnkge1xuICAgIHJldHVybiBkUChPLCBQLCBBdHRyaWJ1dGVzKTtcbiAgfSBjYXRjaCAoZSkgeyAvKiBlbXB0eSAqLyB9XG4gIGlmICgnZ2V0JyBpbiBBdHRyaWJ1dGVzIHx8ICdzZXQnIGluIEF0dHJpYnV0ZXMpIHRocm93IFR5cGVFcnJvcignQWNjZXNzb3JzIG5vdCBzdXBwb3J0ZWQhJyk7XG4gIGlmICgndmFsdWUnIGluIEF0dHJpYnV0ZXMpIE9bUF0gPSBBdHRyaWJ1dGVzLnZhbHVlO1xuICByZXR1cm4gTztcbn07XG5cblxuLyoqKi8gfSksXG4vKiAxOSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG52YXIgaXNPYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI4KTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmICghaXNPYmplY3QoaXQpKSB0aHJvdyBUeXBlRXJyb3IoaXQgKyAnIGlzIG5vdCBhbiBvYmplY3QhJyk7XG4gIHJldHVybiBpdDtcbn07XG5cblxuLyoqKi8gfSksXG4vKiAyMCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2ljb24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDgpO1xuXG52YXIgX2ljb24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaWNvbik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IF9pY29uMi5kZWZhdWx0O1xuXG4vKioqLyB9KSxcbi8qIDIxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9hc3NpZ24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE0KTtcblxudmFyIF9hc3NpZ24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfYXNzaWduKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZnVuY3Rpb24gZ2V0VGFyZ2V0KG5vZGUpIHtcbiAgICBpZiAobm9kZSA9PT0gdm9pZCAwKSB7XG4gICAgICAgIG5vZGUgPSBkb2N1bWVudC5ib2R5O1xuICAgIH1cbiAgICBpZiAobm9kZSA9PT0gdHJ1ZSkge1xuICAgICAgICByZXR1cm4gZG9jdW1lbnQuYm9keTtcbiAgICB9XG4gICAgcmV0dXJuIG5vZGUgaW5zdGFuY2VvZiB3aW5kb3cuTm9kZSA/IG5vZGUgOiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKG5vZGUpO1xufVxuXG52YXIgZGlyZWN0aXZlID0ge1xuICAgIGluc2VydGVkOiBmdW5jdGlvbiBpbnNlcnRlZChlbCwgX3JlZiwgdm5vZGUpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gX3JlZi52YWx1ZTtcblxuICAgICAgICBpZiAoZWwuZGF0YXNldCAmJiBlbC5kYXRhc2V0LnRyYW5zZmVyICE9PSAndHJ1ZScpIHJldHVybiBmYWxzZTtcbiAgICAgICAgZWwuY2xhc3NOYW1lID0gZWwuY2xhc3NOYW1lID8gZWwuY2xhc3NOYW1lICsgJyB2LXRyYW5zZmVyLWRvbScgOiAndi10cmFuc2Zlci1kb20nO1xuICAgICAgICB2YXIgcGFyZW50Tm9kZSA9IGVsLnBhcmVudE5vZGU7XG4gICAgICAgIGlmICghcGFyZW50Tm9kZSkgcmV0dXJuO1xuICAgICAgICB2YXIgaG9tZSA9IGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQoJycpO1xuICAgICAgICB2YXIgaGFzTW92ZWRPdXQgPSBmYWxzZTtcblxuICAgICAgICBpZiAodmFsdWUgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICBwYXJlbnROb2RlLnJlcGxhY2VDaGlsZChob21lLCBlbCk7XG4gICAgICAgICAgICBnZXRUYXJnZXQodmFsdWUpLmFwcGVuZENoaWxkKGVsKTtcbiAgICAgICAgICAgIGhhc01vdmVkT3V0ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWVsLl9fdHJhbnNmZXJEb21EYXRhKSB7XG4gICAgICAgICAgICBlbC5fX3RyYW5zZmVyRG9tRGF0YSA9IHtcbiAgICAgICAgICAgICAgICBwYXJlbnROb2RlOiBwYXJlbnROb2RlLFxuICAgICAgICAgICAgICAgIGhvbWU6IGhvbWUsXG4gICAgICAgICAgICAgICAgdGFyZ2V0OiBnZXRUYXJnZXQodmFsdWUpLFxuICAgICAgICAgICAgICAgIGhhc01vdmVkT3V0OiBoYXNNb3ZlZE91dFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgY29tcG9uZW50VXBkYXRlZDogZnVuY3Rpb24gY29tcG9uZW50VXBkYXRlZChlbCwgX3JlZjIpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gX3JlZjIudmFsdWU7XG5cbiAgICAgICAgaWYgKGVsLmRhdGFzZXQgJiYgZWwuZGF0YXNldC50cmFuc2ZlciAhPT0gJ3RydWUnKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgdmFyIHJlZiQxID0gZWwuX190cmFuc2ZlckRvbURhdGE7XG4gICAgICAgIGlmICghcmVmJDEpIHJldHVybjtcblxuICAgICAgICB2YXIgcGFyZW50Tm9kZSA9IHJlZiQxLnBhcmVudE5vZGU7XG4gICAgICAgIHZhciBob21lID0gcmVmJDEuaG9tZTtcbiAgICAgICAgdmFyIGhhc01vdmVkT3V0ID0gcmVmJDEuaGFzTW92ZWRPdXQ7XG5cbiAgICAgICAgaWYgKCFoYXNNb3ZlZE91dCAmJiB2YWx1ZSkge1xuICAgICAgICAgICAgcGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQoaG9tZSwgZWwpO1xuXG4gICAgICAgICAgICBnZXRUYXJnZXQodmFsdWUpLmFwcGVuZENoaWxkKGVsKTtcbiAgICAgICAgICAgIGVsLl9fdHJhbnNmZXJEb21EYXRhID0gKDAsIF9hc3NpZ24yLmRlZmF1bHQpKHt9LCBlbC5fX3RyYW5zZmVyRG9tRGF0YSwgeyBoYXNNb3ZlZE91dDogdHJ1ZSwgdGFyZ2V0OiBnZXRUYXJnZXQodmFsdWUpIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKGhhc01vdmVkT3V0ICYmIHZhbHVlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQoZWwsIGhvbWUpO1xuICAgICAgICAgICAgZWwuX190cmFuc2ZlckRvbURhdGEgPSAoMCwgX2Fzc2lnbjIuZGVmYXVsdCkoe30sIGVsLl9fdHJhbnNmZXJEb21EYXRhLCB7IGhhc01vdmVkT3V0OiBmYWxzZSwgdGFyZ2V0OiBnZXRUYXJnZXQodmFsdWUpIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBnZXRUYXJnZXQodmFsdWUpLmFwcGVuZENoaWxkKGVsKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgdW5iaW5kOiBmdW5jdGlvbiB1bmJpbmQoZWwpIHtcbiAgICAgICAgaWYgKGVsLmRhdGFzZXQgJiYgZWwuZGF0YXNldC50cmFuc2ZlciAhPT0gJ3RydWUnKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGVsLmNsYXNzTmFtZSA9IGVsLmNsYXNzTmFtZS5yZXBsYWNlKCd2LXRyYW5zZmVyLWRvbScsICcnKTtcbiAgICAgICAgdmFyIHJlZiQxID0gZWwuX190cmFuc2ZlckRvbURhdGE7XG4gICAgICAgIGlmICghcmVmJDEpIHJldHVybjtcbiAgICAgICAgaWYgKGVsLl9fdHJhbnNmZXJEb21EYXRhLmhhc01vdmVkT3V0ID09PSB0cnVlKSB7XG4gICAgICAgICAgICBlbC5fX3RyYW5zZmVyRG9tRGF0YS5wYXJlbnROb2RlICYmIGVsLl9fdHJhbnNmZXJEb21EYXRhLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoZWwpO1xuICAgICAgICB9XG4gICAgICAgIGVsLl9fdHJhbnNmZXJEb21EYXRhID0gbnVsbDtcbiAgICB9XG59O1xuXG5leHBvcnRzLmRlZmF1bHQgPSBkaXJlY3RpdmU7XG5cbi8qKiovIH0pLFxuLyogMjIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuLy8gVGhhbmsncyBJRTggZm9yIGhpcyBmdW5ueSBkZWZpbmVQcm9wZXJ0eVxubW9kdWxlLmV4cG9ydHMgPSAhX193ZWJwYWNrX3JlcXVpcmVfXygzMCkoZnVuY3Rpb24gKCkge1xuICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAnYScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiA3OyB9IH0pLmEgIT0gNztcbn0pO1xuXG5cbi8qKiovIH0pLFxuLyogMjMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcblxudmFyIF9pc0l0ZXJhYmxlMiA9IF9fd2VicGFja19yZXF1aXJlX18oMjgyKTtcblxudmFyIF9pc0l0ZXJhYmxlMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2lzSXRlcmFibGUyKTtcblxudmFyIF9nZXRJdGVyYXRvcjIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ0KTtcblxudmFyIF9nZXRJdGVyYXRvcjMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9nZXRJdGVyYXRvcjIpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSBmdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIHNsaWNlSXRlcmF0b3IoYXJyLCBpKSB7XG4gICAgdmFyIF9hcnIgPSBbXTtcbiAgICB2YXIgX24gPSB0cnVlO1xuICAgIHZhciBfZCA9IGZhbHNlO1xuICAgIHZhciBfZSA9IHVuZGVmaW5lZDtcblxuICAgIHRyeSB7XG4gICAgICBmb3IgKHZhciBfaSA9ICgwLCBfZ2V0SXRlcmF0b3IzLmRlZmF1bHQpKGFyciksIF9zOyAhKF9uID0gKF9zID0gX2kubmV4dCgpKS5kb25lKTsgX24gPSB0cnVlKSB7XG4gICAgICAgIF9hcnIucHVzaChfcy52YWx1ZSk7XG5cbiAgICAgICAgaWYgKGkgJiYgX2Fyci5sZW5ndGggPT09IGkpIGJyZWFrO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgX2QgPSB0cnVlO1xuICAgICAgX2UgPSBlcnI7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmICghX24gJiYgX2lbXCJyZXR1cm5cIl0pIF9pW1wicmV0dXJuXCJdKCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBpZiAoX2QpIHRocm93IF9lO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBfYXJyO1xuICB9XG5cbiAgcmV0dXJuIGZ1bmN0aW9uIChhcnIsIGkpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSB7XG4gICAgICByZXR1cm4gYXJyO1xuICAgIH0gZWxzZSBpZiAoKDAsIF9pc0l0ZXJhYmxlMy5kZWZhdWx0KShPYmplY3QoYXJyKSkpIHtcbiAgICAgIHJldHVybiBzbGljZUl0ZXJhdG9yKGFyciwgaSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlXCIpO1xuICAgIH1cbiAgfTtcbn0oKTtcblxuLyoqKi8gfSksXG4vKiAyNCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9idXR0b25fdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEyMSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYnV0dG9uX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYnV0dG9uX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYnV0dG9uX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9idXR0b25fdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNTNjZjYxYWFfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9idXR0b25fdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM0Myk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNTNjZjYxYWFfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9idXR0b25fdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81M2NmNjFhYV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2J1dHRvbl92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9idXR0b25fdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81M2NmNjFhYV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2J1dHRvbl92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNTNjZjYxYWFfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9idXR0b25fdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDI1ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbm1vZHVsZS5leHBvcnRzID0geyBcImRlZmF1bHRcIjogX193ZWJwYWNrX3JlcXVpcmVfXygyNDkpLCBfX2VzTW9kdWxlOiB0cnVlIH07XG5cbi8qKiovIH0pLFxuLyogMjYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxudmFyIGhhc093blByb3BlcnR5ID0ge30uaGFzT3duUHJvcGVydHk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCwga2V5KSB7XG4gIHJldHVybiBoYXNPd25Qcm9wZXJ0eS5jYWxsKGl0LCBrZXkpO1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDI3ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbnZhciBkUCA9IF9fd2VicGFja19yZXF1aXJlX18oMTgpO1xudmFyIGNyZWF0ZURlc2MgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQzKTtcbm1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMikgPyBmdW5jdGlvbiAob2JqZWN0LCBrZXksIHZhbHVlKSB7XG4gIHJldHVybiBkUC5mKG9iamVjdCwga2V5LCBjcmVhdGVEZXNjKDEsIHZhbHVlKSk7XG59IDogZnVuY3Rpb24gKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICBvYmplY3Rba2V5XSA9IHZhbHVlO1xuICByZXR1cm4gb2JqZWN0O1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDI4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiB0eXBlb2YgaXQgPT09ICdvYmplY3QnID8gaXQgIT09IG51bGwgOiB0eXBlb2YgaXQgPT09ICdmdW5jdGlvbic7XG59O1xuXG5cbi8qKiovIH0pLFxuLyogMjkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuLy8gdG8gaW5kZXhlZCBvYmplY3QsIHRvT2JqZWN0IHdpdGggZmFsbGJhY2sgZm9yIG5vbi1hcnJheS1saWtlIEVTMyBzdHJpbmdzXG52YXIgSU9iamVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oODYpO1xudmFyIGRlZmluZWQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU5KTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBJT2JqZWN0KGRlZmluZWQoaXQpKTtcbn07XG5cblxuLyoqKi8gfSksXG4vKiAzMCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChleGVjKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuICEhZXhlYygpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn07XG5cblxuLyoqKi8gfSksXG4vKiAzMSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuXG52YXIgX2Fzc2lnbiA9IF9fd2VicGFja19yZXF1aXJlX18oMTQpO1xuXG52YXIgX2Fzc2lnbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hc3NpZ24pO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSBfYXNzaWduMi5kZWZhdWx0IHx8IGZ1bmN0aW9uICh0YXJnZXQpIHtcbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldO1xuXG4gICAgZm9yICh2YXIga2V5IGluIHNvdXJjZSkge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHtcbiAgICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufTtcblxuLyoqKi8gfSksXG4vKiAzMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5tb2R1bGUuZXhwb3J0cyA9IHt9O1xuXG5cbi8qKiovIH0pLFxuLyogMzMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZHJvcGRvd25fdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEwNSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZHJvcGRvd25fdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9kcm9wZG93bl92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Ryb3Bkb3duX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9kcm9wZG93bl92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wNjcxMTdhOF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2Ryb3Bkb3duX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyOTEpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzA2NzExN2E4X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfZHJvcGRvd25fdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wNjcxMTdhOF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2Ryb3Bkb3duX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Ryb3Bkb3duX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMDY3MTE3YThfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9kcm9wZG93bl92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMDY3MTE3YThfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9kcm9wZG93bl92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogMzQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xudmFyIHRyYW5zZmVySW5kZXggPSAwO1xuXG5mdW5jdGlvbiB0cmFuc2ZlckluY3JlYXNlKCkge1xuICAgIGV4cG9ydHMudHJhbnNmZXJJbmRleCA9IHRyYW5zZmVySW5kZXggKz0gMTtcbn1cblxuZXhwb3J0cy50cmFuc2ZlckluZGV4ID0gdHJhbnNmZXJJbmRleDtcbmV4cG9ydHMudHJhbnNmZXJJbmNyZWFzZSA9IHRyYW5zZmVySW5jcmVhc2U7XG5cbi8qKiovIH0pLFxuLyogMzUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiZGlyZWN0aXZlXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gZGlyZWN0aXZlOyB9KTtcbi8qIGhhcm1vbnkgZXhwb3J0IChpbW11dGFibGUpICovIF9fd2VicGFja19leHBvcnRzX19bXCJpbnN0YWxsXCJdID0gaW5zdGFsbDtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX3BhY2thZ2VfanNvbl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyOTIpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fcGFja2FnZV9qc29uX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX3BhY2thZ2VfanNvbl9fKTtcbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbmZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkgeyB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7IGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7IHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpOyBpZiAoZW51bWVyYWJsZU9ubHkpIHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlOyB9KTsga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpOyB9IHJldHVybiBrZXlzOyB9XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyBpZiAoaSAlIDIpIHsgb3duS2V5cyhzb3VyY2UsIHRydWUpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gZWxzZSBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMpIHsgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTsgfSBlbHNlIHsgb3duS2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTsgfSk7IH0gfSByZXR1cm4gdGFyZ2V0OyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cblxuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KFwiLi4vdHlwZXMvaW5kZXguZC50c1wiKX0gVkNsaWNrT3V0c2lkZVBsdWdpblxuICovXG5cbnZhciBDTElDSyA9ICdjbGljayc7XG52YXIgY2FwdHVyZUluc3RhbmNlcyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG52YXIgbm9uQ2FwdHVyZUluc3RhbmNlcyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG52YXIgY2FwdHVyZUV2ZW50SGFuZGxlcnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xudmFyIG5vbkNhcHR1cmVFdmVudEhhbmRsZXJzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbnZhciBpbnN0YW5jZXNMaXN0ID0gW2NhcHR1cmVJbnN0YW5jZXMsIG5vbkNhcHR1cmVJbnN0YW5jZXNdO1xuLyoqXG4gKiBUaGUgY29tbW9uIGV2ZW50IGhhbmRsZXIgZm9yIGJvdCBjYXB0dXJlIGFuZCBub24tY2FwdHVyZSBldmVudHMuXG4gKlxuICogQHBhcmFtIHshb2JqZWN0fSBjb250ZXh0IC0gVGhlIGV2ZW50IGNvbnRleHQuXG4gKiBAcGFyYW0geyFvYmplY3R9IGluc3RhbmNlcyAtIFRoZSBjYXB0dXJlIG9yIG5vbi1jYXB0dXJlIHJlZ2lzdGVyZWQgaW5zdGFuY2VzLlxuICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBUaGUgZXZlbnQgb2JqZWN0LlxuICogQHBhcmFtIHtzdHJpbmd9IGFyZyAtIFRoZSBldmVudCB0eXBlLlxuICogQHJldHVybnMge3VuZGVmaW5lZH0gRGVmYXVsdC5cbiAqL1xuXG52YXIgY29tbW9uSGFuZGxlciA9IGZ1bmN0aW9uIG9uQ29tbW9uRXZlbnQoY29udGV4dCwgaW5zdGFuY2VzLCBldmVudCwgYXJnKSB7XG4gIHZhciB0YXJnZXQgPSBldmVudC50YXJnZXQ7XG5cbiAgdmFyIGl0ZW1JdGVyYXRlZSA9IGZ1bmN0aW9uIGl0ZW1JdGVyYXRlZShpdGVtKSB7XG4gICAgdmFyIGVsID0gaXRlbS5lbDtcblxuICAgIGlmIChlbCAhPT0gdGFyZ2V0ICYmICFlbC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICB2YXIgYmluZGluZyA9IGl0ZW0uYmluZGluZztcblxuICAgICAgaWYgKGJpbmRpbmcubW9kaWZpZXJzLnN0b3ApIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChiaW5kaW5nLm1vZGlmaWVycy5wcmV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG5cbiAgICAgIGJpbmRpbmcudmFsdWUuY2FsbChjb250ZXh0LCBldmVudCk7XG4gICAgfVxuICB9O1xuXG4gIGluc3RhbmNlc1thcmddLmZvckVhY2goaXRlbUl0ZXJhdGVlKTtcbn07XG4vKipcbiAqIEdldCB0aGUgY29ycmVjdCBldmVudCBoYW5kbGVyOiBDYXB0dXJlIG9yIG5vbi1jYXB0dXJlLlxuICpcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gdXNlQ2FwdHVyZSAtIEluZGljYXRlIHdoaWNoIGhhbmRsZXIgdG8gdXNlOyAndHJ1ZScgdG8gdXNlXG4gKiAgY2FwdHVyZSBoYW5kbGVyIG9yICdmYWxzZScgZm9yIG5vbi1jYXB0dXJlLlxuICogQHBhcmFtIHtzdHJpbmd9IGFyZyAtIFRoZSBldmVudCB0eXBlLlxuICogQHJldHVybnMge0Z1bmN0aW9ufSAtIFRoZSBldmVudCBoYW5kbGVyLlxuICovXG5cblxudmFyIGdldEV2ZW50SGFuZGxlciA9IGZ1bmN0aW9uIGdldEV2ZW50SGFuZGxlcih1c2VDYXB0dXJlLCBhcmcpIHtcbiAgaWYgKHVzZUNhcHR1cmUpIHtcbiAgICBpZiAoY2FwdHVyZUV2ZW50SGFuZGxlcnNbYXJnXSkge1xuICAgICAgcmV0dXJuIGNhcHR1cmVFdmVudEhhbmRsZXJzW2FyZ107XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEV2ZW50IGhhbmRsZXIgZm9yIGNhcHR1cmUgZXZlbnRzLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBUaGUgZXZlbnQgb2JqZWN0LlxuICAgICAqL1xuXG5cbiAgICBjYXB0dXJlRXZlbnRIYW5kbGVyc1thcmddID0gZnVuY3Rpb24gb25DYXB0dXJlRXZlbnQoZXZlbnQpIHtcbiAgICAgIGNvbW1vbkhhbmRsZXIodGhpcywgY2FwdHVyZUluc3RhbmNlcywgZXZlbnQsIGFyZyk7XG4gICAgfTtcblxuICAgIHJldHVybiBjYXB0dXJlRXZlbnRIYW5kbGVyc1thcmddO1xuICB9XG5cbiAgaWYgKG5vbkNhcHR1cmVFdmVudEhhbmRsZXJzW2FyZ10pIHtcbiAgICByZXR1cm4gbm9uQ2FwdHVyZUV2ZW50SGFuZGxlcnNbYXJnXTtcbiAgfVxuICAvKipcbiAgICogRXZlbnQgaGFuZGxlciBmb3Igbm9uLWNhcHR1cmUgZXZlbnRzLlxuICAgKlxuICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudCAtIFRoZSBldmVudCBvYmplY3QuXG4gICAqL1xuXG5cbiAgbm9uQ2FwdHVyZUV2ZW50SGFuZGxlcnNbYXJnXSA9IGZ1bmN0aW9uIG9uTm9uQ2FwdHVyZUV2ZW50KGV2ZW50KSB7XG4gICAgY29tbW9uSGFuZGxlcih0aGlzLCBub25DYXB0dXJlSW5zdGFuY2VzLCBldmVudCwgYXJnKTtcbiAgfTtcblxuICByZXR1cm4gbm9uQ2FwdHVyZUV2ZW50SGFuZGxlcnNbYXJnXTtcbn07XG4vKipcbiAqIFRoZSBkaXJlY3RpdmUgZGVmaW5pdGlvbi5cbiAqIHtAbGluayBodHRwczovL3Z1ZWpzLm9yZy92Mi9ndWlkZS9jdXN0b20tZGlyZWN0aXZlLmh0bWx8Q3VzdG9tIGRpcmVjdGl2ZX0uXG4gKlxuICogQHR5cGUge1ZDbGlja091dHNpZGVQbHVnaW4uZGlyZWN0aXZlfVxuICogQHByb3BlcnR5IHshb2JqZWN0fSAkY2FwdHVyZUluc3RhbmNlcyAtIFJlZ2lzdGVyZWQgY2FwdHVyZSBpbnN0YW5jZXMuXG4gKiBAcHJvcGVydHkgeyFvYmplY3R9ICRub25DYXB0dXJlSW5zdGFuY2VzIC0gUmVnaXN0ZXJlZCBub24tY2FwdHVyZSBpbnN0YW5jZXMuXG4gKiBAcHJvcGVydHkge0Z1bmN0aW9ufSAkX29uQ2FwdHVyZUV2ZW50IC0gRXZlbnQgaGFuZGxlciBmb3IgY2FwdHVyZSBldmVudHMuXG4gKiBAcHJvcGVydHkge0Z1bmN0aW9ufSAkX29uTm9uQ2FwdHVyZUV2ZW50IC0gRXZlbnQgaGFuZGxlciBmb3Igbm9uLWNhcHR1cmUgZXZlbnRzLlxuICogQHByb3BlcnR5IHtGdW5jdGlvbn0gYmluZCAtIENhbGxlZCBvbmx5IG9uY2UsIHdoZW4gdGhlIGRpcmVjdGl2ZSBpcyBmaXJzdFxuICogIGJvdW5kIHRvIHRoZSBlbGVtZW50LlxuICogQHByb3BlcnR5IHtGdW5jdGlvbn0gdW5iaW5kIC0gQ2FsbGVkIG9ubHkgb25jZSwgd2hlbiB0aGUgZGlyZWN0aXZlIGlzIHVuYm91bmRcbiAqICBmcm9tIHRoZSBlbGVtZW50LlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHZlcnNpb24gLSBUaGUgdmVyc2lvbiBudW1iZXIgb2YgdGhpcyByZWxlYXNlLlxuICovXG5cblxudmFyIGRpcmVjdGl2ZSA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHt9LCB7XG4gICRjYXB0dXJlSW5zdGFuY2VzOiB7XG4gICAgdmFsdWU6IGNhcHR1cmVJbnN0YW5jZXNcbiAgfSxcbiAgJG5vbkNhcHR1cmVJbnN0YW5jZXM6IHtcbiAgICB2YWx1ZTogbm9uQ2FwdHVyZUluc3RhbmNlc1xuICB9LFxuICAkY2FwdHVyZUV2ZW50SGFuZGxlcnM6IHtcbiAgICB2YWx1ZTogY2FwdHVyZUV2ZW50SGFuZGxlcnNcbiAgfSxcbiAgJG5vbkNhcHR1cmVFdmVudEhhbmRsZXJzOiB7XG4gICAgdmFsdWU6IG5vbkNhcHR1cmVFdmVudEhhbmRsZXJzXG4gIH0sXG4gIGJpbmQ6IHtcbiAgICB2YWx1ZTogZnVuY3Rpb24gYmluZChlbCwgYmluZGluZykge1xuICAgICAgaWYgKHR5cGVvZiBiaW5kaW5nLnZhbHVlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0JpbmRpbmcgdmFsdWUgbXVzdCBiZSBhIGZ1bmN0aW9uLicpO1xuICAgICAgfVxuXG4gICAgICB2YXIgYXJnID0gYmluZGluZy5hcmcgfHwgQ0xJQ0s7XG5cbiAgICAgIHZhciBub3JtYWxpc2VkQmluZGluZyA9IF9vYmplY3RTcHJlYWQoe30sIGJpbmRpbmcsIHt9LCB7XG4gICAgICAgIGFyZzogYXJnLFxuICAgICAgICBtb2RpZmllcnM6IF9vYmplY3RTcHJlYWQoe30sIHtcbiAgICAgICAgICBjYXB0dXJlOiBmYWxzZSxcbiAgICAgICAgICBwcmV2ZW50OiBmYWxzZSxcbiAgICAgICAgICBzdG9wOiBmYWxzZVxuICAgICAgICB9LCB7fSwgYmluZGluZy5tb2RpZmllcnMpXG4gICAgICB9KTtcblxuICAgICAgdmFyIHVzZUNhcHR1cmUgPSBub3JtYWxpc2VkQmluZGluZy5tb2RpZmllcnMuY2FwdHVyZTtcbiAgICAgIHZhciBpbnN0YW5jZXMgPSB1c2VDYXB0dXJlID8gY2FwdHVyZUluc3RhbmNlcyA6IG5vbkNhcHR1cmVJbnN0YW5jZXM7XG5cbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShpbnN0YW5jZXNbYXJnXSkpIHtcbiAgICAgICAgaW5zdGFuY2VzW2FyZ10gPSBbXTtcbiAgICAgIH1cblxuICAgICAgaWYgKGluc3RhbmNlc1thcmddLnB1c2goe1xuICAgICAgICBlbDogZWwsXG4gICAgICAgIGJpbmRpbmc6IG5vcm1hbGlzZWRCaW5kaW5nXG4gICAgICB9KSA9PT0gMSkge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICBpZiAoKHR5cGVvZiBkb2N1bWVudCA9PT0gXCJ1bmRlZmluZWRcIiA/IFwidW5kZWZpbmVkXCIgOiBfdHlwZW9mKGRvY3VtZW50KSkgPT09ICdvYmplY3QnICYmIGRvY3VtZW50KSB7XG4gICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihhcmcsIGdldEV2ZW50SGFuZGxlcih1c2VDYXB0dXJlLCBhcmcpLCB1c2VDYXB0dXJlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgdW5iaW5kOiB7XG4gICAgdmFsdWU6IGZ1bmN0aW9uIHVuYmluZChlbCkge1xuICAgICAgdmFyIGNvbXBhcmVFbGVtZW50cyA9IGZ1bmN0aW9uIGNvbXBhcmVFbGVtZW50cyhpdGVtKSB7XG4gICAgICAgIHJldHVybiBpdGVtLmVsICE9PSBlbDtcbiAgICAgIH07XG5cbiAgICAgIHZhciBpbnN0YW5jZXNJdGVyYXRlZSA9IGZ1bmN0aW9uIGluc3RhbmNlc0l0ZXJhdGVlKGluc3RhbmNlcykge1xuICAgICAgICB2YXIgaW5zdGFuY2VLZXlzID0gT2JqZWN0LmtleXMoaW5zdGFuY2VzKTtcblxuICAgICAgICBpZiAoaW5zdGFuY2VLZXlzLmxlbmd0aCkge1xuICAgICAgICAgIHZhciB1c2VDYXB0dXJlID0gaW5zdGFuY2VzID09PSBjYXB0dXJlSW5zdGFuY2VzO1xuXG4gICAgICAgICAgdmFyIGtleXNJdGVyYXRlZSA9IGZ1bmN0aW9uIGtleXNJdGVyYXRlZShldmVudE5hbWUpIHtcbiAgICAgICAgICAgIHZhciBuZXdJbnN0YW5jZSA9IGluc3RhbmNlc1tldmVudE5hbWVdLmZpbHRlcihjb21wYXJlRWxlbWVudHMpO1xuXG4gICAgICAgICAgICBpZiAobmV3SW5zdGFuY2UubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGluc3RhbmNlc1tldmVudE5hbWVdID0gbmV3SW5zdGFuY2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAgICAgICBpZiAoKHR5cGVvZiBkb2N1bWVudCA9PT0gXCJ1bmRlZmluZWRcIiA/IFwidW5kZWZpbmVkXCIgOiBfdHlwZW9mKGRvY3VtZW50KSkgPT09ICdvYmplY3QnICYmIGRvY3VtZW50KSB7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGdldEV2ZW50SGFuZGxlcih1c2VDYXB0dXJlLCBldmVudE5hbWUpLCB1c2VDYXB0dXJlKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGRlbGV0ZSBpbnN0YW5jZXNbZXZlbnROYW1lXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgaW5zdGFuY2VLZXlzLmZvckVhY2goa2V5c0l0ZXJhdGVlKTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgaW5zdGFuY2VzTGlzdC5mb3JFYWNoKGluc3RhbmNlc0l0ZXJhdGVlKTtcbiAgICB9XG4gIH0sXG5cbiAgLyogTm90ZTogVGhpcyBuZWVkcyB0byBiZSBtYW51YWxseSB1cGRhdGVkIHRvIG1hdGNoIHBhY2thZ2UuanNvbi4gKi9cbiAgdmVyc2lvbjoge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgdmFsdWU6IF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fcGFja2FnZV9qc29uX19bXCJ2ZXJzaW9uXCJdXG4gIH1cbn0pO1xuLyoqXG4gKiBBIFZ1ZS5qcyBwbHVnaW4gc2hvdWxkIGV4cG9zZSBhbiBpbnN0YWxsIG1ldGhvZC4gVGhlIG1ldGhvZCB3aWxsIGJlIGNhbGxlZFxuICogd2l0aCB0aGUgVnVlIGNvbnN0cnVjdG9yIGFzIHRoZSBmaXJzdCBhcmd1bWVudCwgYWxvbmcgd2l0aCBwb3NzaWJsZSBvcHRpb25zLlxuICoge0BsaW5rIGh0dHBzOi8vdnVlanMub3JnL3YyL2d1aWRlL3BsdWdpbnMuaHRtbCNXcml0aW5nLWEtUGx1Z2lufFdyaXRpbmcgYSBwbHVnaW59LlxuICpcbiAqIEB0eXBlIHtWQ2xpY2tPdXRzaWRlUGx1Z2luLmluc3RhbGx9XG4gKiBAcGFyYW0ge2ltcG9ydChcInZ1ZVwiKX0gVnVlIC0gVGhlIFZ1ZSBjb25zdHJ1Y3Rvci5cbiAqL1xuXG5mdW5jdGlvbiBpbnN0YWxsKFZ1ZSkge1xuICBWdWUuZGlyZWN0aXZlKCdjbGljay1vdXRzaWRlJywgZGlyZWN0aXZlKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9di1jbGljay1vdXRzaWRlLXguZXNtLmpzLm1hcFxuXG4vKioqLyB9KSxcbi8qIDM2ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5cbnZhciBfaXRlcmF0b3IgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMwMCk7XG5cbnZhciBfaXRlcmF0b3IyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaXRlcmF0b3IpO1xuXG52YXIgX3N5bWJvbCA9IF9fd2VicGFja19yZXF1aXJlX18oMzAyKTtcblxudmFyIF9zeW1ib2wyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc3ltYm9sKTtcblxudmFyIF90eXBlb2YgPSB0eXBlb2YgX3N5bWJvbDIuZGVmYXVsdCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBfaXRlcmF0b3IyLmRlZmF1bHQgPT09IFwic3ltYm9sXCIgPyBmdW5jdGlvbiAob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9IDogZnVuY3Rpb24gKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBfc3ltYm9sMi5kZWZhdWx0ID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBfc3ltYm9sMi5kZWZhdWx0ICYmIG9iaiAhPT0gX3N5bWJvbDIuZGVmYXVsdC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0gdHlwZW9mIF9zeW1ib2wyLmRlZmF1bHQgPT09IFwiZnVuY3Rpb25cIiAmJiBfdHlwZW9mKF9pdGVyYXRvcjIuZGVmYXVsdCkgPT09IFwic3ltYm9sXCIgPyBmdW5jdGlvbiAob2JqKSB7XG4gIHJldHVybiB0eXBlb2Ygb2JqID09PSBcInVuZGVmaW5lZFwiID8gXCJ1bmRlZmluZWRcIiA6IF90eXBlb2Yob2JqKTtcbn0gOiBmdW5jdGlvbiAob2JqKSB7XG4gIHJldHVybiBvYmogJiYgdHlwZW9mIF9zeW1ib2wyLmRlZmF1bHQgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IF9zeW1ib2wyLmRlZmF1bHQgJiYgb2JqICE9PSBfc3ltYm9sMi5kZWZhdWx0LnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqID09PSBcInVuZGVmaW5lZFwiID8gXCJ1bmRlZmluZWRcIiA6IF90eXBlb2Yob2JqKTtcbn07XG5cbi8qKiovIH0pLFxuLyogMzcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfaW5wdXRfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDExNCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfaW5wdXRfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9pbnB1dF92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2lucHV0X3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9pbnB1dF92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl82NzY0MDJmOF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2lucHV0X3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygzMjcpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzY3NjQwMmY4X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfaW5wdXRfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl82NzY0MDJmOF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2lucHV0X3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2lucHV0X3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNjc2NDAyZjhfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9pbnB1dF92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNjc2NDAyZjhfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9pbnB1dF92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogMzggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2lzRmluaXRlID0gX193ZWJwYWNrX3JlcXVpcmVfXyg3MSk7XG5cbnZhciBfaXNGaW5pdGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaXNGaW5pdGUpO1xuXG5leHBvcnRzLmNoYW5nZUNvbG9yID0gY2hhbmdlQ29sb3I7XG5leHBvcnRzLmNsYW1wID0gY2xhbXA7XG5leHBvcnRzLmdldEluY3JlbWVudCA9IGdldEluY3JlbWVudDtcbmV4cG9ydHMuZ2V0VG91Y2hlcyA9IGdldFRvdWNoZXM7XG5leHBvcnRzLnRvUkdCQVN0cmluZyA9IHRvUkdCQVN0cmluZztcbmV4cG9ydHMuaXNWYWxpZEhleCA9IGlzVmFsaWRIZXg7XG5leHBvcnRzLnNpbXBsZUNoZWNrRm9yVmFsaWRDb2xvciA9IHNpbXBsZUNoZWNrRm9yVmFsaWRDb2xvcjtcblxudmFyIF90aW55Y29sb3IgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEzOSk7XG5cbnZhciBfdGlueWNvbG9yMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3Rpbnljb2xvcik7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZnVuY3Rpb24gc2V0QWxwaGEoZGF0YSwgYWxwaGEpIHtcbiAgICB2YXIgY29sb3IgPSAoMCwgX3Rpbnljb2xvcjIuZGVmYXVsdCkoZGF0YSk7XG4gICAgdmFyIF9hID0gY29sb3IuX2E7XG5cblxuICAgIGlmIChfYSA9PT0gdW5kZWZpbmVkIHx8IF9hID09PSBudWxsKSB7XG4gICAgICAgIGNvbG9yLnNldEFscGhhKGFscGhhIHx8IDEpO1xuICAgIH1cblxuICAgIHJldHVybiBjb2xvcjtcbn1cblxuZnVuY3Rpb24gZ2V0Q29sb3IoZGF0YSwgY29sb3JEYXRhKSB7XG4gICAgdmFyIGFscGhhID0gY29sb3JEYXRhICYmIGNvbG9yRGF0YS5hO1xuXG4gICAgaWYgKGNvbG9yRGF0YSkge1xuICAgICAgICBpZiAoY29sb3JEYXRhLmhzbCkge1xuICAgICAgICAgICAgcmV0dXJuIHNldEFscGhhKGNvbG9yRGF0YS5oc2wsIGFscGhhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb2xvckRhdGEuaGV4ICYmIGNvbG9yRGF0YS5oZXgubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHNldEFscGhhKGNvbG9yRGF0YS5oZXgsIGFscGhhKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzZXRBbHBoYShjb2xvckRhdGEsIGFscGhhKTtcbn1cblxuZnVuY3Rpb24gY2hhbmdlQ29sb3IoZGF0YSwgb2xkSHVlKSB7XG4gICAgdmFyIGNvbG9yRGF0YSA9IGRhdGEgPT09ICcnID8gJyMyZDhjZjAnIDogZGF0YTtcbiAgICB2YXIgY29sb3IgPSBnZXRDb2xvcihkYXRhLCBjb2xvckRhdGEpO1xuICAgIHZhciBoc2wgPSBjb2xvci50b0hzbCgpO1xuICAgIHZhciBoc3YgPSBjb2xvci50b0hzdigpO1xuXG4gICAgaWYgKGhzbC5zID09PSAwKSB7XG4gICAgICAgIGhzbC5oID0gY29sb3JEYXRhLmggfHwgY29sb3JEYXRhLmhzbCAmJiBjb2xvckRhdGEuaHNsLmggfHwgb2xkSHVlIHx8IDA7XG4gICAgICAgIGhzdi5oID0gaHNsLmg7XG4gICAgfVxuXG4gICAgaWYgKGhzdi52IDwgMC4wMTY0KSB7XG4gICAgICAgIGhzdi5oID0gY29sb3JEYXRhLmggfHwgY29sb3JEYXRhLmhzdiAmJiBjb2xvckRhdGEuaHN2LmggfHwgMDtcbiAgICAgICAgaHN2LnMgPSBjb2xvckRhdGEucyB8fCBjb2xvckRhdGEuaHN2ICYmIGNvbG9yRGF0YS5oc3YucyB8fCAwO1xuICAgIH1cblxuICAgIGlmIChoc2wubCA8IDAuMDEpIHtcbiAgICAgICAgaHNsLmggPSBjb2xvckRhdGEuaCB8fCBjb2xvckRhdGEuaHNsICYmIGNvbG9yRGF0YS5oc2wuaCB8fCAwO1xuICAgICAgICBoc2wucyA9IGNvbG9yRGF0YS5zIHx8IGNvbG9yRGF0YS5oc2wgJiYgY29sb3JEYXRhLmhzbC5zIHx8IDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgaHNsOiBoc2wsXG4gICAgICAgIGhleDogY29sb3IudG9IZXhTdHJpbmcoKS50b1VwcGVyQ2FzZSgpLFxuICAgICAgICByZ2JhOiBjb2xvci50b1JnYigpLFxuICAgICAgICBoc3Y6IGhzdixcbiAgICAgICAgb2xkSHVlOiBjb2xvckRhdGEuaCB8fCBvbGRIdWUgfHwgaHNsLmgsXG4gICAgICAgIHNvdXJjZTogY29sb3JEYXRhLnNvdXJjZSxcbiAgICAgICAgYTogY29sb3JEYXRhLmEgfHwgY29sb3IuZ2V0QWxwaGEoKVxuICAgIH07XG59XG5cbmZ1bmN0aW9uIGNsYW1wKHZhbHVlLCBtaW4sIG1heCkge1xuICAgIGlmICh2YWx1ZSA8IG1pbikge1xuICAgICAgICByZXR1cm4gbWluO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSA+IG1heCkge1xuICAgICAgICByZXR1cm4gbWF4O1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gZ2V0SW5jcmVtZW50KGtleSwga2V5cywgaW5jcmVtZW50KSB7XG4gICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKShrZXksIGtleXMpID8gaW5jcmVtZW50IDogMDtcbn1cblxuZnVuY3Rpb24gZ2V0VG91Y2hlcyhlLCBwcm9wKSB7XG4gICAgcmV0dXJuIGUudG91Y2hlcyA/IGUudG91Y2hlc1swXVtwcm9wXSA6IDA7XG59XG5cbmZ1bmN0aW9uIHRvUkdCQVN0cmluZyhyZ2JhKSB7XG4gICAgdmFyIHIgPSByZ2JhLnIsXG4gICAgICAgIGcgPSByZ2JhLmcsXG4gICAgICAgIGIgPSByZ2JhLmIsXG4gICAgICAgIGEgPSByZ2JhLmE7XG5cblxuICAgIHJldHVybiAncmdiYSgnICsgU3RyaW5nKFtyLCBnLCBiLCBhXS5qb2luKCcsJykpICsgJyknO1xufVxuXG5mdW5jdGlvbiBpc1ZhbGlkSGV4KGhleCkge1xuICAgIHJldHVybiAoMCwgX3Rpbnljb2xvcjIuZGVmYXVsdCkoaGV4KS5pc1ZhbGlkKCk7XG59XG5cbmZ1bmN0aW9uIGNoZWNrSXRlcmF0ZWUoZGF0YSwgY291bnRzLCBsZXR0ZXIpIHtcbiAgICB2YXIgY2hlY2tlZCA9IGNvdW50cy5jaGVja2VkLFxuICAgICAgICBwYXNzZWQgPSBjb3VudHMucGFzc2VkO1xuXG4gICAgdmFyIHZhbHVlID0gZGF0YVtsZXR0ZXJdO1xuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIGNoZWNrZWQgKz0gMTtcblxuICAgICAgICBpZiAoKDAsIF9pc0Zpbml0ZTIuZGVmYXVsdCkodmFsdWUpKSB7XG4gICAgICAgICAgICBwYXNzZWQgKz0gMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7IGNoZWNrZWQ6IGNoZWNrZWQsIHBhc3NlZDogcGFzc2VkIH07XG59XG5cbnZhciBrZXlzVG9DaGVjayA9IFsncicsICdnJywgJ2InLCAnYScsICdoJywgJ3MnLCAnbCcsICd2J107XG5cbmZ1bmN0aW9uIHNpbXBsZUNoZWNrRm9yVmFsaWRDb2xvcihkYXRhKSB7XG4gICAgdmFyIHJlc3VsdHMgPSBrZXlzVG9DaGVjay5yZWR1Y2UoY2hlY2tJdGVyYXRlZS5iaW5kKG51bGwsIGRhdGEpLCB7IGNoZWNrZWQ6IDAsIHBhc3NlZDogMCB9KTtcblxuICAgIHJldHVybiByZXN1bHRzLmNoZWNrZWQgPT09IHJlc3VsdHMucGFzc2VkID8gZGF0YSA6IHVuZGVmaW5lZDtcbn1cblxuLyoqKi8gfSksXG4vKiAzOSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG4vLyA3LjEuMTMgVG9PYmplY3QoYXJndW1lbnQpXG52YXIgZGVmaW5lZCA9IF9fd2VicGFja19yZXF1aXJlX18oNTkpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIE9iamVjdChkZWZpbmVkKGl0KSk7XG59O1xuXG5cbi8qKiovIH0pLFxuLyogNDAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuLy8gMTkuMS4yLjE0IC8gMTUuMi4zLjE0IE9iamVjdC5rZXlzKE8pXG52YXIgJGtleXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDg1KTtcbnZhciBlbnVtQnVnS2V5cyA9IF9fd2VicGFja19yZXF1aXJlX18oNjQpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IE9iamVjdC5rZXlzIHx8IGZ1bmN0aW9uIGtleXMoTykge1xuICByZXR1cm4gJGtleXMoTywgZW51bUJ1Z0tleXMpO1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDQxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cbnZhciB0b1N0cmluZyA9IHt9LnRvU3RyaW5nO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gdG9TdHJpbmcuY2FsbChpdCkuc2xpY2UoOCwgLTEpO1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDQyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbi8vIG9wdGlvbmFsIC8gc2ltcGxlIGNvbnRleHQgYmluZGluZ1xudmFyIGFGdW5jdGlvbiA9IF9fd2VicGFja19yZXF1aXJlX18oNDkpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoZm4sIHRoYXQsIGxlbmd0aCkge1xuICBhRnVuY3Rpb24oZm4pO1xuICBpZiAodGhhdCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZm47XG4gIHN3aXRjaCAobGVuZ3RoKSB7XG4gICAgY2FzZSAxOiByZXR1cm4gZnVuY3Rpb24gKGEpIHtcbiAgICAgIHJldHVybiBmbi5jYWxsKHRoYXQsIGEpO1xuICAgIH07XG4gICAgY2FzZSAyOiByZXR1cm4gZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgIHJldHVybiBmbi5jYWxsKHRoYXQsIGEsIGIpO1xuICAgIH07XG4gICAgY2FzZSAzOiByZXR1cm4gZnVuY3Rpb24gKGEsIGIsIGMpIHtcbiAgICAgIHJldHVybiBmbi5jYWxsKHRoYXQsIGEsIGIsIGMpO1xuICAgIH07XG4gIH1cbiAgcmV0dXJuIGZ1bmN0aW9uICgvKiAuLi5hcmdzICovKSB7XG4gICAgcmV0dXJuIGZuLmFwcGx5KHRoYXQsIGFyZ3VtZW50cyk7XG4gIH07XG59O1xuXG5cbi8qKiovIH0pLFxuLyogNDMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoYml0bWFwLCB2YWx1ZSkge1xuICByZXR1cm4ge1xuICAgIGVudW1lcmFibGU6ICEoYml0bWFwICYgMSksXG4gICAgY29uZmlndXJhYmxlOiAhKGJpdG1hcCAmIDIpLFxuICAgIHdyaXRhYmxlOiAhKGJpdG1hcCAmIDQpLFxuICAgIHZhbHVlOiB2YWx1ZVxuICB9O1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDQ0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbm1vZHVsZS5leHBvcnRzID0geyBcImRlZmF1bHRcIjogX193ZWJwYWNrX3JlcXVpcmVfXygyNjUpLCBfX2VzTW9kdWxlOiB0cnVlIH07XG5cbi8qKiovIH0pLFxuLyogNDUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciAkYXQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI3MSkodHJ1ZSk7XG5cbi8vIDIxLjEuMy4yNyBTdHJpbmcucHJvdG90eXBlW0BAaXRlcmF0b3JdKClcbl9fd2VicGFja19yZXF1aXJlX18oOTIpKFN0cmluZywgJ1N0cmluZycsIGZ1bmN0aW9uIChpdGVyYXRlZCkge1xuICB0aGlzLl90ID0gU3RyaW5nKGl0ZXJhdGVkKTsgLy8gdGFyZ2V0XG4gIHRoaXMuX2kgPSAwOyAgICAgICAgICAgICAgICAvLyBuZXh0IGluZGV4XG4vLyAyMS4xLjUuMi4xICVTdHJpbmdJdGVyYXRvclByb3RvdHlwZSUubmV4dCgpXG59LCBmdW5jdGlvbiAoKSB7XG4gIHZhciBPID0gdGhpcy5fdDtcbiAgdmFyIGluZGV4ID0gdGhpcy5faTtcbiAgdmFyIHBvaW50O1xuICBpZiAoaW5kZXggPj0gTy5sZW5ndGgpIHJldHVybiB7IHZhbHVlOiB1bmRlZmluZWQsIGRvbmU6IHRydWUgfTtcbiAgcG9pbnQgPSAkYXQoTywgaW5kZXgpO1xuICB0aGlzLl9pICs9IHBvaW50Lmxlbmd0aDtcbiAgcmV0dXJuIHsgdmFsdWU6IHBvaW50LCBkb25lOiBmYWxzZSB9O1xufSk7XG5cblxuLyoqKi8gfSksXG4vKiA0NiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jaGVja2JveF92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTMyKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jaGVja2JveF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NoZWNrYm94X3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2hlY2tib3hfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NoZWNrYm94X3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzBhOTViMjgyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2hlY2tib3hfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM2OSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMGE5NWIyODJfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jaGVja2JveF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzBhOTViMjgyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2hlY2tib3hfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2hlY2tib3hfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wYTk1YjI4Ml9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NoZWNrYm94X3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wYTk1YjI4Ml9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NoZWNrYm94X3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA0NyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByZWZpeENsczogJ2l2dS1jb2xvci1waWNrZXInLFxuICAgICAgICAgICAgaW5wdXRQcmVmaXhDbHM6ICdpdnUtaW5wdXQnLFxuICAgICAgICAgICAgaWNvblByZWZpeENsczogJ2l2dS1pY29uJyxcbiAgICAgICAgICAgIHRyYW5zZmVyUHJlZml4Q2xzOiAnaXZ1LXRyYW5zZmVyJ1xuICAgICAgICB9O1xuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogNDggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxudmFyIGlkID0gMDtcbnZhciBweCA9IE1hdGgucmFuZG9tKCk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgcmV0dXJuICdTeW1ib2woJy5jb25jYXQoa2V5ID09PSB1bmRlZmluZWQgPyAnJyA6IGtleSwgJylfJywgKCsraWQgKyBweCkudG9TdHJpbmcoMzYpKTtcbn07XG5cblxuLyoqKi8gfSksXG4vKiA0OSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAodHlwZW9mIGl0ICE9ICdmdW5jdGlvbicpIHRocm93IFR5cGVFcnJvcihpdCArICcgaXMgbm90IGEgZnVuY3Rpb24hJyk7XG4gIHJldHVybiBpdDtcbn07XG5cblxuLyoqKi8gfSksXG4vKiA1MCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5leHBvcnRzLmYgPSB7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZTtcblxuXG4vKioqLyB9KSxcbi8qIDUxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbl9fd2VicGFja19yZXF1aXJlX18oMjY2KTtcbnZhciBnbG9iYWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDkpO1xudmFyIGhpZGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI3KTtcbnZhciBJdGVyYXRvcnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMyKTtcbnZhciBUT19TVFJJTkdfVEFHID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMSkoJ3RvU3RyaW5nVGFnJyk7XG5cbnZhciBET01JdGVyYWJsZXMgPSAoJ0NTU1J1bGVMaXN0LENTU1N0eWxlRGVjbGFyYXRpb24sQ1NTVmFsdWVMaXN0LENsaWVudFJlY3RMaXN0LERPTVJlY3RMaXN0LERPTVN0cmluZ0xpc3QsJyArXG4gICdET01Ub2tlbkxpc3QsRGF0YVRyYW5zZmVySXRlbUxpc3QsRmlsZUxpc3QsSFRNTEFsbENvbGxlY3Rpb24sSFRNTENvbGxlY3Rpb24sSFRNTEZvcm1FbGVtZW50LEhUTUxTZWxlY3RFbGVtZW50LCcgK1xuICAnTWVkaWFMaXN0LE1pbWVUeXBlQXJyYXksTmFtZWROb2RlTWFwLE5vZGVMaXN0LFBhaW50UmVxdWVzdExpc3QsUGx1Z2luLFBsdWdpbkFycmF5LFNWR0xlbmd0aExpc3QsU1ZHTnVtYmVyTGlzdCwnICtcbiAgJ1NWR1BhdGhTZWdMaXN0LFNWR1BvaW50TGlzdCxTVkdTdHJpbmdMaXN0LFNWR1RyYW5zZm9ybUxpc3QsU291cmNlQnVmZmVyTGlzdCxTdHlsZVNoZWV0TGlzdCxUZXh0VHJhY2tDdWVMaXN0LCcgK1xuICAnVGV4dFRyYWNrTGlzdCxUb3VjaExpc3QnKS5zcGxpdCgnLCcpO1xuXG5mb3IgKHZhciBpID0gMDsgaSA8IERPTUl0ZXJhYmxlcy5sZW5ndGg7IGkrKykge1xuICB2YXIgTkFNRSA9IERPTUl0ZXJhYmxlc1tpXTtcbiAgdmFyIENvbGxlY3Rpb24gPSBnbG9iYWxbTkFNRV07XG4gIHZhciBwcm90byA9IENvbGxlY3Rpb24gJiYgQ29sbGVjdGlvbi5wcm90b3R5cGU7XG4gIGlmIChwcm90byAmJiAhcHJvdG9bVE9fU1RSSU5HX1RBR10pIGhpZGUocHJvdG8sIFRPX1NUUklOR19UQUcsIE5BTUUpO1xuICBJdGVyYXRvcnNbTkFNRV0gPSBJdGVyYXRvcnMuQXJyYXk7XG59XG5cblxuLyoqKi8gfSksXG4vKiA1MiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5tb2R1bGUuZXhwb3J0cyA9IHRydWU7XG5cblxuLyoqKi8gfSksXG4vKiA1MyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG52YXIgZGVmID0gX193ZWJwYWNrX3JlcXVpcmVfXygxOCkuZjtcbnZhciBoYXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI2KTtcbnZhciBUQUcgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDExKSgndG9TdHJpbmdUYWcnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIHRhZywgc3RhdCkge1xuICBpZiAoaXQgJiYgIWhhcyhpdCA9IHN0YXQgPyBpdCA6IGl0LnByb3RvdHlwZSwgVEFHKSkgZGVmKGl0LCBUQUcsIHsgY29uZmlndXJhYmxlOiB0cnVlLCB2YWx1ZTogdGFnIH0pO1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDU0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbm1vZHVsZS5leHBvcnRzID0geyBcImRlZmF1bHRcIjogX193ZWJwYWNrX3JlcXVpcmVfXygyODcpLCBfX2VzTW9kdWxlOiB0cnVlIH07XG5cbi8qKiovIH0pLFxuLyogNTUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX3R5cGVvZjIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM2KTtcblxudmFyIF90eXBlb2YzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdHlwZW9mMik7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIHByb3BzOiB7XG4gICAgICAgIHRvOiB7XG4gICAgICAgICAgICB0eXBlOiBbT2JqZWN0LCBTdHJpbmddXG4gICAgICAgIH0sXG4gICAgICAgIHJlcGxhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWydfYmxhbmsnLCAnX3NlbGYnLCAnX3BhcmVudCcsICdfdG9wJ10pO1xuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgZGVmYXVsdDogJ19zZWxmJ1xuICAgICAgICB9LFxuICAgICAgICBhcHBlbmQ6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9XG4gICAgfSxcbiAgICBjb21wdXRlZDoge1xuICAgICAgICBsaW5rVXJsOiBmdW5jdGlvbiBsaW5rVXJsKCkge1xuICAgICAgICAgICAgdmFyIHR5cGUgPSAoMCwgX3R5cGVvZjMuZGVmYXVsdCkodGhpcy50byk7XG4gICAgICAgICAgICBpZiAodHlwZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLnRvLmluY2x1ZGVzKCcvLycpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgcm91dGVyID0gdGhpcy4kcm91dGVyO1xuICAgICAgICAgICAgaWYgKHJvdXRlcikge1xuICAgICAgICAgICAgICAgIHZhciBjdXJyZW50ID0gdGhpcy4kcm91dGU7XG4gICAgICAgICAgICAgICAgdmFyIHJvdXRlID0gcm91dGVyLnJlc29sdmUodGhpcy50bywgY3VycmVudCwgdGhpcy5hcHBlbmQpO1xuICAgICAgICAgICAgICAgIHJldHVybiByb3V0ZSA/IHJvdXRlLmhyZWYgOiB0aGlzLnRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudG87XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgaGFuZGxlQ2xpY2s6IGZ1bmN0aW9uIGhhbmRsZUNsaWNrKCkge1xuICAgICAgICAgICAgdmFyIG5ld193aW5kb3cgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IGZhbHNlO1xuXG4gICAgICAgICAgICB2YXIgcm91dGVyID0gdGhpcy4kcm91dGVyO1xuXG4gICAgICAgICAgICBpZiAobmV3X3dpbmRvdykge1xuICAgICAgICAgICAgICAgIHZhciB0byA9IHRoaXMudG87XG4gICAgICAgICAgICAgICAgaWYgKHJvdXRlcikge1xuICAgICAgICAgICAgICAgICAgICB2YXIgY3VycmVudCA9IHRoaXMuJHJvdXRlO1xuICAgICAgICAgICAgICAgICAgICB2YXIgcm91dGUgPSByb3V0ZXIucmVzb2x2ZSh0aGlzLnRvLCBjdXJyZW50LCB0aGlzLmFwcGVuZCk7XG4gICAgICAgICAgICAgICAgICAgIHRvID0gcm91dGUgPyByb3V0ZS5ocmVmIDogdGhpcy50bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgd2luZG93Lm9wZW4odG8pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAocm91dGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVwbGFjZSA/IHRoaXMuJHJvdXRlci5yZXBsYWNlKHRoaXMudG8pIDogdGhpcy4kcm91dGVyLnB1c2godGhpcy50byk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB0aGlzLnRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlQ2hlY2tDbGljazogZnVuY3Rpb24gaGFuZGxlQ2hlY2tDbGljayhldmVudCkge1xuICAgICAgICAgICAgdmFyIG5ld193aW5kb3cgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGZhbHNlO1xuXG4gICAgICAgICAgICBpZiAodGhpcy50bykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRhcmdldCA9PT0gJ19ibGFuaycpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2xpY2sobmV3X3dpbmRvdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiA1NiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgcHJvcHM6IHtcbiAgICAgICAgZGlzYWJsZWRIb3Vyczoge1xuICAgICAgICAgICAgdHlwZTogQXJyYXksXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkTWludXRlczoge1xuICAgICAgICAgICAgdHlwZTogQXJyYXksXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkU2Vjb25kczoge1xuICAgICAgICAgICAgdHlwZTogQXJyYXksXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGhpZGVEaXNhYmxlZE9wdGlvbnM6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiA1NyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jb25maXJtX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNjApO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NvbmZpcm1fdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jb25maXJtX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY29uZmlybV92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY29uZmlybV92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8yNmI2ZjI4ZV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NvbmZpcm1fdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQwNSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMjZiNmYyOGVfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jb25maXJtX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMjZiNmYyOGVfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jb25maXJtX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NvbmZpcm1fdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8yNmI2ZjI4ZV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NvbmZpcm1fdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzI2YjZmMjhlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY29uZmlybV92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogNTggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtcGlja2VyLXBhbmVsJztcbnZhciBkYXRlUHJlZml4Q2xzID0gJ2l2dS1kYXRlLXBpY2tlcic7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBwcm9wczoge1xuICAgICAgICBjb25maXJtOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgICBpY29uQnRuQ2xzOiBmdW5jdGlvbiBpY29uQnRuQ2xzKGRpcmVjdGlvbikge1xuICAgICAgICAgICAgdmFyIHR5cGUgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6ICcnO1xuXG4gICAgICAgICAgICByZXR1cm4gW3ByZWZpeENscyArICctaWNvbi1idG4nLCBkYXRlUHJlZml4Q2xzICsgJy0nICsgU3RyaW5nKGRpcmVjdGlvbikgKyAnLWJ0bicsIGRhdGVQcmVmaXhDbHMgKyAnLScgKyBTdHJpbmcoZGlyZWN0aW9uKSArICctYnRuLWFycm93JyArIFN0cmluZyh0eXBlKV07XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVNob3J0Y3V0Q2xpY2s6IGZ1bmN0aW9uIGhhbmRsZVNob3J0Y3V0Q2xpY2soc2hvcnRjdXQpIHtcbiAgICAgICAgICAgIGlmIChzaG9ydGN1dC52YWx1ZSkgdGhpcy4kZW1pdCgnb24tcGljaycsIHNob3J0Y3V0LnZhbHVlKCkpO1xuICAgICAgICAgICAgaWYgKHNob3J0Y3V0Lm9uQ2xpY2spIHNob3J0Y3V0Lm9uQ2xpY2sodGhpcyk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVBpY2tDbGVhcjogZnVuY3Rpb24gaGFuZGxlUGlja0NsZWFyKCkge1xuICAgICAgICAgICAgdGhpcy5yZXNldFZpZXcoKTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLXBpY2stY2xlYXInKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlUGlja1N1Y2Nlc3M6IGZ1bmN0aW9uIGhhbmRsZVBpY2tTdWNjZXNzKCkge1xuICAgICAgICAgICAgdGhpcy5yZXNldFZpZXcoKTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLXBpY2stc3VjY2VzcycpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVQaWNrQ2xpY2s6IGZ1bmN0aW9uIGhhbmRsZVBpY2tDbGljaygpIHtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLXBpY2stY2xpY2snKTtcbiAgICAgICAgfSxcbiAgICAgICAgcmVzZXRWaWV3OiBmdW5jdGlvbiByZXNldFZpZXcoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50VmlldyA9IHRoaXMuc2VsZWN0aW9uTW9kZTtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSwgNTAwKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlQ2xlYXI6IGZ1bmN0aW9uIGhhbmRsZUNsZWFyKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICAgICAgICAgIHRoaXMuZGF0ZXMgPSB0aGlzLmRhdGVzLm1hcChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczIpO1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIHRoaXMucmFuZ2VTdGF0ZSA9IHt9O1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tcGljaycsIHRoaXMuZGF0ZXMpO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVDb25maXJtKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUNvbmZpcm06IGZ1bmN0aW9uIGhhbmRsZUNvbmZpcm0odmlzaWJsZSwgdHlwZSkge1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tcGljaycsIHRoaXMuZGF0ZXMsIHZpc2libGUsIHR5cGUgfHwgdGhpcy50eXBlKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25Ub2dnbGVWaXNpYmlsaXR5OiBmdW5jdGlvbiBvblRvZ2dsZVZpc2liaWxpdHkob3Blbikge1xuICAgICAgICAgICAgdmFyIF8kcmVmcyA9IHRoaXMuJHJlZnMsXG4gICAgICAgICAgICAgICAgdGltZVNwaW5uZXIgPSBfJHJlZnMudGltZVNwaW5uZXIsXG4gICAgICAgICAgICAgICAgdGltZVNwaW5uZXJFbmQgPSBfJHJlZnMudGltZVNwaW5uZXJFbmQ7XG5cbiAgICAgICAgICAgIGlmIChvcGVuICYmIHRpbWVTcGlubmVyKSB0aW1lU3Bpbm5lci51cGRhdGVTY3JvbGwoKTtcbiAgICAgICAgICAgIGlmIChvcGVuICYmIHRpbWVTcGlubmVyRW5kKSB0aW1lU3Bpbm5lckVuZC51cGRhdGVTY3JvbGwoKTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogNTkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuLy8gNy4yLjEgUmVxdWlyZU9iamVjdENvZXJjaWJsZShhcmd1bWVudClcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmIChpdCA9PSB1bmRlZmluZWQpIHRocm93IFR5cGVFcnJvcihcIkNhbid0IGNhbGwgbWV0aG9kIG9uICBcIiArIGl0KTtcbiAgcmV0dXJuIGl0O1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDYwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbi8vIDcuMS4xNSBUb0xlbmd0aFxudmFyIHRvSW50ZWdlciA9IF9fd2VicGFja19yZXF1aXJlX18oNjEpO1xudmFyIG1pbiA9IE1hdGgubWluO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGl0ID4gMCA/IG1pbih0b0ludGVnZXIoaXQpLCAweDFmZmZmZmZmZmZmZmZmKSA6IDA7IC8vIHBvdygyLCA1MykgLSAxID09IDkwMDcxOTkyNTQ3NDA5OTFcbn07XG5cblxuLyoqKi8gfSksXG4vKiA2MSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG4vLyA3LjEuNCBUb0ludGVnZXJcbnZhciBjZWlsID0gTWF0aC5jZWlsO1xudmFyIGZsb29yID0gTWF0aC5mbG9vcjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBpc05hTihpdCA9ICtpdCkgPyAwIDogKGl0ID4gMCA/IGZsb29yIDogY2VpbCkoaXQpO1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDYyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbnZhciBzaGFyZWQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDYzKSgna2V5cycpO1xudmFyIHVpZCA9IF9fd2VicGFja19yZXF1aXJlX18oNDgpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoa2V5KSB7XG4gIHJldHVybiBzaGFyZWRba2V5XSB8fCAoc2hhcmVkW2tleV0gPSB1aWQoa2V5KSk7XG59O1xuXG5cbi8qKiovIH0pLFxuLyogNjMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxudmFyIGdsb2JhbCA9IF9fd2VicGFja19yZXF1aXJlX18oOSk7XG52YXIgU0hBUkVEID0gJ19fY29yZS1qc19zaGFyZWRfXyc7XG52YXIgc3RvcmUgPSBnbG9iYWxbU0hBUkVEXSB8fCAoZ2xvYmFsW1NIQVJFRF0gPSB7fSk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgcmV0dXJuIHN0b3JlW2tleV0gfHwgKHN0b3JlW2tleV0gPSB7fSk7XG59O1xuXG5cbi8qKiovIH0pLFxuLyogNjQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuLy8gSUUgOC0gZG9uJ3QgZW51bSBidWcga2V5c1xubW9kdWxlLmV4cG9ydHMgPSAoXG4gICdjb25zdHJ1Y3RvcixoYXNPd25Qcm9wZXJ0eSxpc1Byb3RvdHlwZU9mLHByb3BlcnR5SXNFbnVtZXJhYmxlLHRvTG9jYWxlU3RyaW5nLHRvU3RyaW5nLHZhbHVlT2YnXG4pLnNwbGl0KCcsJyk7XG5cblxuLyoqKi8gfSksXG4vKiA2NSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG52YXIgaXNPYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI4KTtcbnZhciBkb2N1bWVudCA9IF9fd2VicGFja19yZXF1aXJlX18oOSkuZG9jdW1lbnQ7XG4vLyB0eXBlb2YgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCBpcyAnb2JqZWN0JyBpbiBvbGQgSUVcbnZhciBpcyA9IGlzT2JqZWN0KGRvY3VtZW50KSAmJiBpc09iamVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50KTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBpcyA/IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoaXQpIDoge307XG59O1xuXG5cbi8qKiovIH0pLFxuLyogNjYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuLy8gNy4xLjEgVG9QcmltaXRpdmUoaW5wdXQgWywgUHJlZmVycmVkVHlwZV0pXG52YXIgaXNPYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI4KTtcbi8vIGluc3RlYWQgb2YgdGhlIEVTNiBzcGVjIHZlcnNpb24sIHdlIGRpZG4ndCBpbXBsZW1lbnQgQEB0b1ByaW1pdGl2ZSBjYXNlXG4vLyBhbmQgdGhlIHNlY29uZCBhcmd1bWVudCAtIGZsYWcgLSBwcmVmZXJyZWQgdHlwZSBpcyBhIHN0cmluZ1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIFMpIHtcbiAgaWYgKCFpc09iamVjdChpdCkpIHJldHVybiBpdDtcbiAgdmFyIGZuLCB2YWw7XG4gIGlmIChTICYmIHR5cGVvZiAoZm4gPSBpdC50b1N0cmluZykgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpdCkpKSByZXR1cm4gdmFsO1xuICBpZiAodHlwZW9mIChmbiA9IGl0LnZhbHVlT2YpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaXQpKSkgcmV0dXJuIHZhbDtcbiAgaWYgKCFTICYmIHR5cGVvZiAoZm4gPSBpdC50b1N0cmluZykgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpdCkpKSByZXR1cm4gdmFsO1xuICB0aHJvdyBUeXBlRXJyb3IoXCJDYW4ndCBjb252ZXJ0IG9iamVjdCB0byBwcmltaXRpdmUgdmFsdWVcIik7XG59O1xuXG5cbi8qKiovIH0pLFxuLyogNjcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXhwb3J0cy5mID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztcblxuXG4vKioqLyB9KSxcbi8qIDY4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbnZhciBjbGFzc29mID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2OSk7XG52YXIgSVRFUkFUT1IgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDExKSgnaXRlcmF0b3InKTtcbnZhciBJdGVyYXRvcnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMyKTtcbm1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2KS5nZXRJdGVyYXRvck1ldGhvZCA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAoaXQgIT0gdW5kZWZpbmVkKSByZXR1cm4gaXRbSVRFUkFUT1JdXG4gICAgfHwgaXRbJ0BAaXRlcmF0b3InXVxuICAgIHx8IEl0ZXJhdG9yc1tjbGFzc29mKGl0KV07XG59O1xuXG5cbi8qKiovIH0pLFxuLyogNjkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuLy8gZ2V0dGluZyB0YWcgZnJvbSAxOS4xLjMuNiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKClcbnZhciBjb2YgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQxKTtcbnZhciBUQUcgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDExKSgndG9TdHJpbmdUYWcnKTtcbi8vIEVTMyB3cm9uZyBoZXJlXG52YXIgQVJHID0gY29mKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSgpKSA9PSAnQXJndW1lbnRzJztcblxuLy8gZmFsbGJhY2sgZm9yIElFMTEgU2NyaXB0IEFjY2VzcyBEZW5pZWQgZXJyb3JcbnZhciB0cnlHZXQgPSBmdW5jdGlvbiAoaXQsIGtleSkge1xuICB0cnkge1xuICAgIHJldHVybiBpdFtrZXldO1xuICB9IGNhdGNoIChlKSB7IC8qIGVtcHR5ICovIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHZhciBPLCBULCBCO1xuICByZXR1cm4gaXQgPT09IHVuZGVmaW5lZCA/ICdVbmRlZmluZWQnIDogaXQgPT09IG51bGwgPyAnTnVsbCdcbiAgICAvLyBAQHRvU3RyaW5nVGFnIGNhc2VcbiAgICA6IHR5cGVvZiAoVCA9IHRyeUdldChPID0gT2JqZWN0KGl0KSwgVEFHKSkgPT0gJ3N0cmluZycgPyBUXG4gICAgLy8gYnVpbHRpblRhZyBjYXNlXG4gICAgOiBBUkcgPyBjb2YoTylcbiAgICAvLyBFUzMgYXJndW1lbnRzIGZhbGxiYWNrXG4gICAgOiAoQiA9IGNvZihPKSkgPT0gJ09iamVjdCcgJiYgdHlwZW9mIE8uY2FsbGVlID09ICdmdW5jdGlvbicgPyAnQXJndW1lbnRzJyA6IEI7XG59O1xuXG5cbi8qKiovIH0pLFxuLyogNzAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc2VsZWN0X3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMDApO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3NlbGVjdF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3NlbGVjdF92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3NlbGVjdF92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc2VsZWN0X3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzQxMjM4NzNjX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfc2VsZWN0X3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygzMTUpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzQxMjM4NzNjX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfc2VsZWN0X3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNDEyMzg3M2NfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9zZWxlY3RfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc2VsZWN0X3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNDEyMzg3M2NfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9zZWxlY3RfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzQxMjM4NzNjX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfc2VsZWN0X3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA3MSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5tb2R1bGUuZXhwb3J0cyA9IHsgXCJkZWZhdWx0XCI6IF9fd2VicGFja19yZXF1aXJlX18oMjg1KSwgX19lc01vZHVsZTogdHJ1ZSB9O1xuXG4vKioqLyB9KSxcbi8qIDcyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV4cG9ydHMuZiA9IF9fd2VicGFja19yZXF1aXJlX18oMTEpO1xuXG5cbi8qKiovIH0pLFxuLyogNzMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxudmFyIGdsb2JhbCA9IF9fd2VicGFja19yZXF1aXJlX18oOSk7XG52YXIgY29yZSA9IF9fd2VicGFja19yZXF1aXJlX18oNik7XG52YXIgTElCUkFSWSA9IF9fd2VicGFja19yZXF1aXJlX18oNTIpO1xudmFyIHdrc0V4dCA9IF9fd2VicGFja19yZXF1aXJlX18oNzIpO1xudmFyIGRlZmluZVByb3BlcnR5ID0gX193ZWJwYWNrX3JlcXVpcmVfXygxOCkuZjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG5hbWUpIHtcbiAgdmFyICRTeW1ib2wgPSBjb3JlLlN5bWJvbCB8fCAoY29yZS5TeW1ib2wgPSBMSUJSQVJZID8ge30gOiBnbG9iYWwuU3ltYm9sIHx8IHt9KTtcbiAgaWYgKG5hbWUuY2hhckF0KDApICE9ICdfJyAmJiAhKG5hbWUgaW4gJFN5bWJvbCkpIGRlZmluZVByb3BlcnR5KCRTeW1ib2wsIG5hbWUsIHsgdmFsdWU6IHdrc0V4dC5mKG5hbWUpIH0pO1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDc0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX29wdGlvbl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTEzKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9vcHRpb25fdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9vcHRpb25fdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9vcHRpb25fdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX29wdGlvbl92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wMGIwMWFlY19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX29wdGlvbl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMzE2KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wMGIwMWFlY19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX29wdGlvbl92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzAwYjAxYWVjX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfb3B0aW9uX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX29wdGlvbl92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzAwYjAxYWVjX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfb3B0aW9uX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wMGIwMWFlY19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX29wdGlvbl92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogNzUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2Fzc2lzdCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbnZhciBUcmFuc2l0aW9uID0ge1xuICAgIGJlZm9yZUVudGVyOiBmdW5jdGlvbiBiZWZvcmVFbnRlcihlbCkge1xuICAgICAgICAoMCwgX2Fzc2lzdC5hZGRDbGFzcykoZWwsICdjb2xsYXBzZS10cmFuc2l0aW9uJyk7XG4gICAgICAgIGlmICghZWwuZGF0YXNldCkgZWwuZGF0YXNldCA9IHt9O1xuXG4gICAgICAgIGVsLmRhdGFzZXQub2xkUGFkZGluZ1RvcCA9IGVsLnN0eWxlLnBhZGRpbmdUb3A7XG4gICAgICAgIGVsLmRhdGFzZXQub2xkUGFkZGluZ0JvdHRvbSA9IGVsLnN0eWxlLnBhZGRpbmdCb3R0b207XG5cbiAgICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gJzAnO1xuICAgICAgICBlbC5zdHlsZS5wYWRkaW5nVG9wID0gMDtcbiAgICAgICAgZWwuc3R5bGUucGFkZGluZ0JvdHRvbSA9IDA7XG4gICAgfSxcbiAgICBlbnRlcjogZnVuY3Rpb24gZW50ZXIoZWwpIHtcbiAgICAgICAgZWwuZGF0YXNldC5vbGRPdmVyZmxvdyA9IGVsLnN0eWxlLm92ZXJmbG93O1xuICAgICAgICBpZiAoZWwuc2Nyb2xsSGVpZ2h0ICE9PSAwKSB7XG4gICAgICAgICAgICBlbC5zdHlsZS5oZWlnaHQgPSBlbC5zY3JvbGxIZWlnaHQgKyAncHgnO1xuICAgICAgICAgICAgZWwuc3R5bGUucGFkZGluZ1RvcCA9IGVsLmRhdGFzZXQub2xkUGFkZGluZ1RvcDtcbiAgICAgICAgICAgIGVsLnN0eWxlLnBhZGRpbmdCb3R0b20gPSBlbC5kYXRhc2V0Lm9sZFBhZGRpbmdCb3R0b207XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlbC5zdHlsZS5oZWlnaHQgPSAnJztcbiAgICAgICAgICAgIGVsLnN0eWxlLnBhZGRpbmdUb3AgPSBlbC5kYXRhc2V0Lm9sZFBhZGRpbmdUb3A7XG4gICAgICAgICAgICBlbC5zdHlsZS5wYWRkaW5nQm90dG9tID0gZWwuZGF0YXNldC5vbGRQYWRkaW5nQm90dG9tO1xuICAgICAgICB9XG5cbiAgICAgICAgZWwuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICB9LFxuICAgIGFmdGVyRW50ZXI6IGZ1bmN0aW9uIGFmdGVyRW50ZXIoZWwpIHtcbiAgICAgICAgKDAsIF9hc3Npc3QucmVtb3ZlQ2xhc3MpKGVsLCAnY29sbGFwc2UtdHJhbnNpdGlvbicpO1xuICAgICAgICBlbC5zdHlsZS5oZWlnaHQgPSAnJztcbiAgICAgICAgZWwuc3R5bGUub3ZlcmZsb3cgPSBlbC5kYXRhc2V0Lm9sZE92ZXJmbG93O1xuICAgIH0sXG4gICAgYmVmb3JlTGVhdmU6IGZ1bmN0aW9uIGJlZm9yZUxlYXZlKGVsKSB7XG4gICAgICAgIGlmICghZWwuZGF0YXNldCkgZWwuZGF0YXNldCA9IHt9O1xuICAgICAgICBlbC5kYXRhc2V0Lm9sZFBhZGRpbmdUb3AgPSBlbC5zdHlsZS5wYWRkaW5nVG9wO1xuICAgICAgICBlbC5kYXRhc2V0Lm9sZFBhZGRpbmdCb3R0b20gPSBlbC5zdHlsZS5wYWRkaW5nQm90dG9tO1xuICAgICAgICBlbC5kYXRhc2V0Lm9sZE92ZXJmbG93ID0gZWwuc3R5bGUub3ZlcmZsb3c7XG5cbiAgICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gZWwuc2Nyb2xsSGVpZ2h0ICsgJ3B4JztcbiAgICAgICAgZWwuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICB9LFxuICAgIGxlYXZlOiBmdW5jdGlvbiBsZWF2ZShlbCkge1xuICAgICAgICBpZiAoZWwuc2Nyb2xsSGVpZ2h0ICE9PSAwKSB7XG4gICAgICAgICAgICAoMCwgX2Fzc2lzdC5hZGRDbGFzcykoZWwsICdjb2xsYXBzZS10cmFuc2l0aW9uJyk7XG4gICAgICAgICAgICBlbC5zdHlsZS5oZWlnaHQgPSAwO1xuICAgICAgICAgICAgZWwuc3R5bGUucGFkZGluZ1RvcCA9IDA7XG4gICAgICAgICAgICBlbC5zdHlsZS5wYWRkaW5nQm90dG9tID0gMDtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgYWZ0ZXJMZWF2ZTogZnVuY3Rpb24gYWZ0ZXJMZWF2ZShlbCkge1xuICAgICAgICAoMCwgX2Fzc2lzdC5yZW1vdmVDbGFzcykoZWwsICdjb2xsYXBzZS10cmFuc2l0aW9uJyk7XG4gICAgICAgIGVsLnN0eWxlLmhlaWdodCA9ICcnO1xuICAgICAgICBlbC5zdHlsZS5vdmVyZmxvdyA9IGVsLmRhdGFzZXQub2xkT3ZlcmZsb3c7XG4gICAgICAgIGVsLnN0eWxlLnBhZGRpbmdUb3AgPSBlbC5kYXRhc2V0Lm9sZFBhZGRpbmdUb3A7XG4gICAgICAgIGVsLnN0eWxlLnBhZGRpbmdCb3R0b20gPSBlbC5kYXRhc2V0Lm9sZFBhZGRpbmdCb3R0b207XG4gICAgfVxufTtcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdDb2xsYXBzZVRyYW5zaXRpb24nLFxuICAgIGZ1bmN0aW9uYWw6IHRydWUsXG4gICAgcHJvcHM6IHtcbiAgICAgICAgYXBwZWFyOiBCb29sZWFuXG4gICAgfSxcbiAgICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoLCBfcmVmKSB7XG4gICAgICAgIHZhciBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW4sXG4gICAgICAgICAgICBwcm9wcyA9IF9yZWYucHJvcHM7XG5cbiAgICAgICAgdmFyIGRhdGEgPSB7XG4gICAgICAgICAgICBvbjogVHJhbnNpdGlvbixcbiAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgYXBwZWFyOiBwcm9wcy5hcHBlYXJcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gaCgndHJhbnNpdGlvbicsIGRhdGEsIGNoaWxkcmVuKTtcbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDc2ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbnZhciBfZW1pdHRlciA9IF9fd2VicGFja19yZXF1aXJlX18oNCk7XG5cbnZhciBfZW1pdHRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9lbWl0dGVyKTtcblxudmFyIF9oYW5kbGVFc2NhcGVNaXhpbiA9IF9fd2VicGFja19yZXF1aXJlX18oMTQxKTtcblxudmFyIF9oYW5kbGVFc2NhcGVNaXhpbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9oYW5kbGVFc2NhcGVNaXhpbik7XG5cbnZhciBfdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM4KTtcblxudmFyIF9kb20gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEzKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG1peGluczogW19lbWl0dGVyMi5kZWZhdWx0LCBfaGFuZGxlRXNjYXBlTWl4aW4yLmRlZmF1bHRdLFxuXG4gICAgcHJvcHM6IHtcbiAgICAgICAgZm9jdXNlZDoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICB0eXBlOiBPYmplY3QsXG4gICAgICAgICAgICBkZWZhdWx0OiB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBiZWZvcmVEZXN0cm95OiBmdW5jdGlvbiBiZWZvcmVEZXN0cm95KCkge1xuICAgICAgICB0aGlzLnVuYmluZEV2ZW50TGlzdGVuZXJzKCk7XG4gICAgfSxcbiAgICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRlbC5mb2N1cygpO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpLCAxKTtcbiAgICAgICAgfVxuICAgIH0sXG5cblxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgaGFuZGxlTGVmdDogZnVuY3Rpb24gaGFuZGxlTGVmdChlKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVNsaWRlKGUsIHRoaXMubGVmdCwgJ2xlZnQnKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlUmlnaHQ6IGZ1bmN0aW9uIGhhbmRsZVJpZ2h0KGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlU2xpZGUoZSwgdGhpcy5yaWdodCwgJ3JpZ2h0Jyk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVVwOiBmdW5jdGlvbiBoYW5kbGVVcChlKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVNsaWRlKGUsIHRoaXMudXAsICd1cCcpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVEb3duOiBmdW5jdGlvbiBoYW5kbGVEb3duKGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlU2xpZGUoZSwgdGhpcy5kb3duLCAnZG93bicpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVNb3VzZURvd246IGZ1bmN0aW9uIGhhbmRsZU1vdXNlRG93bihlKSB7XG4gICAgICAgICAgICB0aGlzLmRpc3BhdGNoKCdDb2xvclBpY2tlcicsICdvbi1kcmFnZ2luZycsIHRydWUpO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVDaGFuZ2UoZSwgdHJ1ZSk7XG5cbiAgICAgICAgICAgICgwLCBfZG9tLm9uKSh3aW5kb3csICdtb3VzZW1vdmUnLCB0aGlzLmhhbmRsZUNoYW5nZSk7XG4gICAgICAgICAgICAoMCwgX2RvbS5vbikod2luZG93LCAnbW91c2V1cCcsIHRoaXMuaGFuZGxlTW91c2VVcCk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZU1vdXNlVXA6IGZ1bmN0aW9uIGhhbmRsZU1vdXNlVXAoKSB7XG4gICAgICAgICAgICB0aGlzLnVuYmluZEV2ZW50TGlzdGVuZXJzKCk7XG4gICAgICAgIH0sXG4gICAgICAgIHVuYmluZEV2ZW50TGlzdGVuZXJzOiBmdW5jdGlvbiB1bmJpbmRFdmVudExpc3RlbmVycygpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAgICAgICAoMCwgX2RvbS5vZmYpKHdpbmRvdywgJ21vdXNlbW92ZScsIHRoaXMuaGFuZGxlQ2hhbmdlKTtcbiAgICAgICAgICAgICgwLCBfZG9tLm9mZikod2luZG93LCAnbW91c2V1cCcsIHRoaXMuaGFuZGxlTW91c2VVcCk7XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kaXNwYXRjaCgnQ29sb3JQaWNrZXInLCAnb24tZHJhZ2dpbmcnLCBmYWxzZSk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcyksIDEpO1xuICAgICAgICB9LFxuICAgICAgICBnZXRMZWZ0OiBmdW5jdGlvbiBnZXRMZWZ0KGUpIHtcbiAgICAgICAgICAgIHZhciBjb250YWluZXIgPSB0aGlzLiRyZWZzLmNvbnRhaW5lcjtcblxuICAgICAgICAgICAgdmFyIHhPZmZzZXQgPSBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCArIHdpbmRvdy5wYWdlWE9mZnNldDtcbiAgICAgICAgICAgIHZhciBwYWdlWCA9IGUucGFnZVggfHwgKDAsIF91dGlscy5nZXRUb3VjaGVzKShlLCAnUGFnZVgnKTtcblxuICAgICAgICAgICAgcmV0dXJuIHBhZ2VYIC0geE9mZnNldDtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0VG9wOiBmdW5jdGlvbiBnZXRUb3AoZSkge1xuICAgICAgICAgICAgdmFyIGNvbnRhaW5lciA9IHRoaXMuJHJlZnMuY29udGFpbmVyO1xuXG4gICAgICAgICAgICB2YXIgeU9mZnNldCA9IGNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB3aW5kb3cucGFnZVlPZmZzZXQ7XG4gICAgICAgICAgICB2YXIgcGFnZVkgPSBlLnBhZ2VZIHx8ICgwLCBfdXRpbHMuZ2V0VG91Y2hlcykoZSwgJ1BhZ2VZJyk7XG5cbiAgICAgICAgICAgIHJldHVybiBwYWdlWSAtIHlPZmZzZXQ7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDc3ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbnZhciBfdXRpbCA9IF9fd2VicGFja19yZXF1aXJlX18oMTcpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ1BhbmVsVGFibGUnLFxuICAgIHByb3BzOiB7XG4gICAgICAgIHRhYmxlRGF0ZToge1xuICAgICAgICAgICAgdHlwZTogRGF0ZSxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkRGF0ZToge1xuICAgICAgICAgICAgdHlwZTogRnVuY3Rpb25cbiAgICAgICAgfSxcbiAgICAgICAgc2VsZWN0aW9uTW9kZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgIHR5cGU6IEFycmF5LFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgcmFuZ2VTdGF0ZToge1xuICAgICAgICAgICAgdHlwZTogT2JqZWN0LFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgZnJvbTogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgdG86IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGluZzogZmFsc2VcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfS5iaW5kKHVuZGVmaW5lZClcbiAgICAgICAgfSxcbiAgICAgICAgZm9jdXNlZERhdGU6IHtcbiAgICAgICAgICAgIHR5cGU6IERhdGUsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgICB9XG4gICAgfSxcbiAgICBjb21wdXRlZDoge1xuICAgICAgICBkYXRlczogZnVuY3Rpb24gZGF0ZXMoKSB7XG4gICAgICAgICAgICB2YXIgc2VsZWN0aW9uTW9kZSA9IHRoaXMuc2VsZWN0aW9uTW9kZSxcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHRoaXMudmFsdWUsXG4gICAgICAgICAgICAgICAgcmFuZ2VTdGF0ZSA9IHRoaXMucmFuZ2VTdGF0ZTtcblxuICAgICAgICAgICAgdmFyIHJhbmdlU2VsZWN0aW5nID0gc2VsZWN0aW9uTW9kZSA9PT0gJ3JhbmdlJyAmJiByYW5nZVN0YXRlLnNlbGVjdGluZztcbiAgICAgICAgICAgIHJldHVybiByYW5nZVNlbGVjdGluZyA/IFtyYW5nZVN0YXRlLmZyb21dIDogdmFsdWU7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgaGFuZGxlQ2xpY2s6IGZ1bmN0aW9uIGhhbmRsZUNsaWNrKGNlbGwpIHtcbiAgICAgICAgICAgIGlmIChjZWxsLmRpc2FibGVkIHx8IGNlbGwudHlwZSA9PT0gJ3dlZWtMYWJlbCcpIHJldHVybjtcbiAgICAgICAgICAgIHZhciBuZXdEYXRlID0gbmV3IERhdGUoKDAsIF91dGlsLmNsZWFySG91cnMpKGNlbGwuZGF0ZSkpO1xuXG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1waWNrJywgbmV3RGF0ZSk7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1waWNrLWNsaWNrJyk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZU1vdXNlTW92ZTogZnVuY3Rpb24gaGFuZGxlTW91c2VNb3ZlKGNlbGwpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5yYW5nZVN0YXRlLnNlbGVjdGluZykgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKGNlbGwuZGlzYWJsZWQpIHJldHVybjtcbiAgICAgICAgICAgIHZhciBuZXdEYXRlID0gY2VsbC5kYXRlO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tY2hhbmdlLXJhbmdlJywgbmV3RGF0ZSk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDc4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSAnaXZ1LWRhdGUtcGlja2VyLWNlbGxzJztcblxuLyoqKi8gfSksXG4vKiA3OSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX2Zyb20gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEwMSk7XG5cbnZhciBfZnJvbTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9mcm9tKTtcblxudmFyIF9hc3Npc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbWV0aG9kczoge1xuICAgICAgICBjaGVja1Njcm9sbEJhcjogZnVuY3Rpb24gY2hlY2tTY3JvbGxCYXIoKSB7XG4gICAgICAgICAgICB2YXIgZnVsbFdpbmRvd1dpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgICAgICAgICBpZiAoIWZ1bGxXaW5kb3dXaWR0aCkge1xuICAgICAgICAgICAgICAgIHZhciBkb2N1bWVudEVsZW1lbnRSZWN0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgIGZ1bGxXaW5kb3dXaWR0aCA9IGRvY3VtZW50RWxlbWVudFJlY3QucmlnaHQgLSBNYXRoLmFicyhkb2N1bWVudEVsZW1lbnRSZWN0LmxlZnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5ib2R5SXNPdmVyZmxvd2luZyA9IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGggPCBmdWxsV2luZG93V2lkdGg7XG4gICAgICAgICAgICBpZiAodGhpcy5ib2R5SXNPdmVyZmxvd2luZykge1xuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsQmFyV2lkdGggPSAoMCwgX2Fzc2lzdC5nZXRTY3JvbGxCYXJTaXplKSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjaGVja01hc2tJblZpc2libGU6IGZ1bmN0aW9uIGNoZWNrTWFza0luVmlzaWJsZSgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgICAgICAgIHZhciBtYXNrcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2l2dS1tb2RhbC1tYXNrJykgfHwgW107XG4gICAgICAgICAgICByZXR1cm4gKDAsIF9mcm9tMi5kZWZhdWx0KShtYXNrcykuZXZlcnkoZnVuY3Rpb24gKG0pIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbS5zdHlsZS5kaXNwbGF5ID09PSAnbm9uZScgfHwgbS5jbGFzc0xpc3QuY29udGFpbnMoJ2ZhZGUtbGVhdmUtdG8nKTtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgIH0sXG4gICAgICAgIHNldFNjcm9sbEJhcjogZnVuY3Rpb24gc2V0U2Nyb2xsQmFyKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuYm9keUlzT3ZlcmZsb3dpbmcgJiYgdGhpcy5zY3JvbGxCYXJXaWR0aCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQgPSBTdHJpbmcodGhpcy5zY3JvbGxCYXJXaWR0aCkgKyAncHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICByZXNldFNjcm9sbEJhcjogZnVuY3Rpb24gcmVzZXRTY3JvbGxCYXIoKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCA9ICcnO1xuICAgICAgICB9LFxuICAgICAgICBhZGRTY3JvbGxFZmZlY3Q6IGZ1bmN0aW9uIGFkZFNjcm9sbEVmZmVjdCgpIHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tTY3JvbGxCYXIoKTtcbiAgICAgICAgICAgIHRoaXMuc2V0U2Nyb2xsQmFyKCk7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7XG4gICAgICAgIH0sXG4gICAgICAgIHJlbW92ZVNjcm9sbEVmZmVjdDogZnVuY3Rpb24gcmVtb3ZlU2Nyb2xsRWZmZWN0KCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuY2hlY2tNYXNrSW5WaXNpYmxlKCkpIHtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJyc7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldFNjcm9sbEJhcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiA4MCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuLy8gMjUuNC4xLjUgTmV3UHJvbWlzZUNhcGFiaWxpdHkoQylcbnZhciBhRnVuY3Rpb24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ5KTtcblxuZnVuY3Rpb24gUHJvbWlzZUNhcGFiaWxpdHkoQykge1xuICB2YXIgcmVzb2x2ZSwgcmVqZWN0O1xuICB0aGlzLnByb21pc2UgPSBuZXcgQyhmdW5jdGlvbiAoJCRyZXNvbHZlLCAkJHJlamVjdCkge1xuICAgIGlmIChyZXNvbHZlICE9PSB1bmRlZmluZWQgfHwgcmVqZWN0ICE9PSB1bmRlZmluZWQpIHRocm93IFR5cGVFcnJvcignQmFkIFByb21pc2UgY29uc3RydWN0b3InKTtcbiAgICByZXNvbHZlID0gJCRyZXNvbHZlO1xuICAgIHJlamVjdCA9ICQkcmVqZWN0O1xuICB9KTtcbiAgdGhpcy5yZXNvbHZlID0gYUZ1bmN0aW9uKHJlc29sdmUpO1xuICB0aGlzLnJlamVjdCA9IGFGdW5jdGlvbihyZWplY3QpO1xufVxuXG5tb2R1bGUuZXhwb3J0cy5mID0gZnVuY3Rpb24gKEMpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlQ2FwYWJpbGl0eShDKTtcbn07XG5cblxuLyoqKi8gfSksXG4vKiA4MSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zcGluX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxODgpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3NwaW5fdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zcGluX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc3Bpbl92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc3Bpbl92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zOGFjNmVlOV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3NwaW5fdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ3Nyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMzhhYzZlZTlfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9zcGluX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMzhhYzZlZTlfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9zcGluX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3NwaW5fdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zOGFjNmVlOV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3NwaW5fdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzM4YWM2ZWU5X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfc3Bpbl92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogODIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2Fzc2lzdCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbWVudTogKDAsIF9hc3Npc3QuZmluZENvbXBvbmVudFVwd2FyZCkodGhpcywgJ01lbnUnKVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICBoYXNQYXJlbnRTdWJtZW51OiBmdW5jdGlvbiBoYXNQYXJlbnRTdWJtZW51KCkge1xuICAgICAgICAgICAgcmV0dXJuICEhKDAsIF9hc3Npc3QuZmluZENvbXBvbmVudFVwd2FyZCkodGhpcywgJ1N1Ym1lbnUnKTtcbiAgICAgICAgfSxcbiAgICAgICAgcGFyZW50U3VibWVudU51bTogZnVuY3Rpb24gcGFyZW50U3VibWVudU51bSgpIHtcbiAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5maW5kQ29tcG9uZW50c1Vwd2FyZCkodGhpcywgJ1N1Ym1lbnUnKS5sZW5ndGg7XG4gICAgICAgIH0sXG4gICAgICAgIG1vZGU6IGZ1bmN0aW9uIG1vZGUoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tZW51Lm1vZGU7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDgzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3Rvb2x0aXBfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIxOCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdG9vbHRpcF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3Rvb2x0aXBfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90b29sdGlwX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90b29sdGlwX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2M0MGQ1ZmYyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdG9vbHRpcF92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNTM5KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9jNDBkNWZmMl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3Rvb2x0aXBfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9jNDBkNWZmMl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3Rvb2x0aXBfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdG9vbHRpcF92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2M0MGQ1ZmYyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdG9vbHRpcF92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfYzQwZDVmZjJfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90b29sdGlwX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA4NCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG52YXIgZm9yRWFjaCAgICAgICAgICAgICAgICAgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIxOSkuZm9yRWFjaDtcbnZhciBlbGVtZW50VXRpbHNNYWtlciAgICAgICA9IF9fd2VicGFja19yZXF1aXJlX18oNTQwKTtcbnZhciBsaXN0ZW5lckhhbmRsZXJNYWtlciAgICA9IF9fd2VicGFja19yZXF1aXJlX18oNTQxKTtcbnZhciBpZEdlbmVyYXRvck1ha2VyICAgICAgICA9IF9fd2VicGFja19yZXF1aXJlX18oNTQyKTtcbnZhciBpZEhhbmRsZXJNYWtlciAgICAgICAgICA9IF9fd2VicGFja19yZXF1aXJlX18oNTQzKTtcbnZhciByZXBvcnRlck1ha2VyICAgICAgICAgICA9IF9fd2VicGFja19yZXF1aXJlX18oNTQ0KTtcbnZhciBicm93c2VyRGV0ZWN0b3IgICAgICAgICA9IF9fd2VicGFja19yZXF1aXJlX18oMjIwKTtcbnZhciBiYXRjaFByb2Nlc3Nvck1ha2VyICAgICA9IF9fd2VicGFja19yZXF1aXJlX18oNTQ1KTtcbnZhciBzdGF0ZUhhbmRsZXIgICAgICAgICAgICA9IF9fd2VicGFja19yZXF1aXJlX18oNTQ3KTtcblxuLy9EZXRlY3Rpb24gc3RyYXRlZ2llcy5cbnZhciBvYmplY3RTdHJhdGVneU1ha2VyICAgICA9IF9fd2VicGFja19yZXF1aXJlX18oNTQ4KTtcbnZhciBzY3JvbGxTdHJhdGVneU1ha2VyICAgICA9IF9fd2VicGFja19yZXF1aXJlX18oNTQ5KTtcblxuZnVuY3Rpb24gaXNDb2xsZWN0aW9uKG9iaikge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KG9iaikgfHwgb2JqLmxlbmd0aCAhPT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiB0b0FycmF5KGNvbGxlY3Rpb24pIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoY29sbGVjdGlvbikpIHtcbiAgICAgICAgdmFyIGFycmF5ID0gW107XG4gICAgICAgIGZvckVhY2goY29sbGVjdGlvbiwgZnVuY3Rpb24gKG9iaikge1xuICAgICAgICAgICAgYXJyYXkucHVzaChvYmopO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGFycmF5O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gaXNFbGVtZW50KG9iaikge1xuICAgIHJldHVybiBvYmogJiYgb2JqLm5vZGVUeXBlID09PSAxO1xufVxuXG4vKipcbiAqIEB0eXBlZGVmIGlkSGFuZGxlclxuICogQHR5cGUge29iamVjdH1cbiAqIEBwcm9wZXJ0eSB7ZnVuY3Rpb259IGdldCBHZXRzIHRoZSByZXNpemUgZGV0ZWN0b3IgaWQgb2YgdGhlIGVsZW1lbnQuXG4gKiBAcHJvcGVydHkge2Z1bmN0aW9ufSBzZXQgR2VuZXJhdGUgYW5kIHNldHMgdGhlIHJlc2l6ZSBkZXRlY3RvciBpZCBvZiB0aGUgZWxlbWVudC5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIE9wdGlvbnNcbiAqIEB0eXBlIHtvYmplY3R9XG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGNhbGxPbkFkZCAgICBEZXRlcm1pbmVzIGlmIGxpc3RlbmVycyBzaG91bGQgYmUgY2FsbGVkIHdoZW4gdGhleSBhcmUgZ2V0dGluZyBhZGRlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHQgaXMgdHJ1ZS4gSWYgdHJ1ZSwgdGhlIGxpc3RlbmVyIGlzIGd1YXJhbnRlZWQgdG8gYmUgY2FsbGVkIHdoZW4gaXQgaGFzIGJlZW4gYWRkZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiBmYWxzZSwgdGhlIGxpc3RlbmVyIHdpbGwgbm90IGJlIGd1YXJlbnRlZWQgdG8gYmUgY2FsbGVkIHdoZW4gaXQgaGFzIGJlZW4gYWRkZWQgKGRvZXMgbm90IHByZXZlbnQgaXQgZnJvbSBiZWluZyBjYWxsZWQpLlxuICogQHByb3BlcnR5IHtpZEhhbmRsZXJ9IGlkSGFuZGxlciAgQSBjdXN0b20gaWQgaGFuZGxlciB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciBnZW5lcmF0aW5nLCBzZXR0aW5nIGFuZCByZXRyaWV2aW5nIGlkJ3MgZm9yIGVsZW1lbnRzLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgbm90IHByb3ZpZGVkLCBhIGRlZmF1bHQgaWQgaGFuZGxlciB3aWxsIGJlIHVzZWQuXG4gKiBAcHJvcGVydHkge3JlcG9ydGVyfSByZXBvcnRlciAgICBBIGN1c3RvbSByZXBvcnRlciB0aGF0IGhhbmRsZXMgcmVwb3J0aW5nIGxvZ3MsIHdhcm5pbmdzIGFuZCBlcnJvcnMuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiBub3QgcHJvdmlkZWQsIGEgZGVmYXVsdCBpZCBoYW5kbGVyIHdpbGwgYmUgdXNlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIHNldCB0byBmYWxzZSwgdGhlbiBub3RoaW5nIHdpbGwgYmUgcmVwb3J0ZWQuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGRlYnVnICAgICAgICBJZiBzZXQgdG8gdHJ1ZSwgdGhlIHRoZSBzeXN0ZW0gd2lsbCByZXBvcnQgZGVidWcgbWVzc2FnZXMgYXMgZGVmYXVsdCBmb3IgdGhlIGxpc3RlblRvIG1ldGhvZC5cbiAqL1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gZWxlbWVudCByZXNpemUgZGV0ZWN0b3IgaW5zdGFuY2UuXG4gKiBAcHVibGljXG4gKiBAcGFyYW0ge09wdGlvbnM/fSBvcHRpb25zIE9wdGlvbmFsIGdsb2JhbCBvcHRpb25zIG9iamVjdCB0aGF0IHdpbGwgZGVjaWRlIGhvdyB0aGlzIGluc3RhbmNlIHdpbGwgd29yay5cbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihvcHRpb25zKSB7XG4gICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG5cbiAgICAvL2lkSGFuZGxlciBpcyBjdXJyZW50bHkgbm90IGFuIG9wdGlvbiB0byB0aGUgbGlzdGVuVG8gZnVuY3Rpb24sIHNvIGl0IHNob3VsZCBub3QgYmUgYWRkZWQgdG8gZ2xvYmFsT3B0aW9ucy5cbiAgICB2YXIgaWRIYW5kbGVyO1xuXG4gICAgaWYgKG9wdGlvbnMuaWRIYW5kbGVyKSB7XG4gICAgICAgIC8vIFRvIG1haW50YWluIGNvbXBhdGFiaWxpdHkgd2l0aCBpZEhhbmRsZXIuZ2V0KGVsZW1lbnQsIHJlYWRvbmx5KSwgbWFrZSBzdXJlIHRvIHdyYXAgdGhlIGdpdmVuIGlkSGFuZGxlclxuICAgICAgICAvLyBzbyB0aGF0IHJlYWRvbmx5IGZsYWcgYWx3YXlzIGlzIHRydWUgd2hlbiBpdCdzIHVzZWQgaGVyZS4gVGhpcyBtYXkgYmUgcmVtb3ZlZCBuZXh0IG1ham9yIHZlcnNpb24gYnVtcC5cbiAgICAgICAgaWRIYW5kbGVyID0ge1xuICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoZWxlbWVudCkgeyByZXR1cm4gb3B0aW9ucy5pZEhhbmRsZXIuZ2V0KGVsZW1lbnQsIHRydWUpOyB9LFxuICAgICAgICAgICAgc2V0OiBvcHRpb25zLmlkSGFuZGxlci5zZXRcbiAgICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgaWRHZW5lcmF0b3IgPSBpZEdlbmVyYXRvck1ha2VyKCk7XG4gICAgICAgIHZhciBkZWZhdWx0SWRIYW5kbGVyID0gaWRIYW5kbGVyTWFrZXIoe1xuICAgICAgICAgICAgaWRHZW5lcmF0b3I6IGlkR2VuZXJhdG9yLFxuICAgICAgICAgICAgc3RhdGVIYW5kbGVyOiBzdGF0ZUhhbmRsZXJcbiAgICAgICAgfSk7XG4gICAgICAgIGlkSGFuZGxlciA9IGRlZmF1bHRJZEhhbmRsZXI7XG4gICAgfVxuXG4gICAgLy9yZXBvcnRlciBpcyBjdXJyZW50bHkgbm90IGFuIG9wdGlvbiB0byB0aGUgbGlzdGVuVG8gZnVuY3Rpb24sIHNvIGl0IHNob3VsZCBub3QgYmUgYWRkZWQgdG8gZ2xvYmFsT3B0aW9ucy5cbiAgICB2YXIgcmVwb3J0ZXIgPSBvcHRpb25zLnJlcG9ydGVyO1xuXG4gICAgaWYoIXJlcG9ydGVyKSB7XG4gICAgICAgIC8vSWYgb3B0aW9ucy5yZXBvcnRlciBpcyBmYWxzZSwgdGhlbiB0aGUgcmVwb3J0ZXIgc2hvdWxkIGJlIHF1aWV0LlxuICAgICAgICB2YXIgcXVpZXQgPSByZXBvcnRlciA9PT0gZmFsc2U7XG4gICAgICAgIHJlcG9ydGVyID0gcmVwb3J0ZXJNYWtlcihxdWlldCk7XG4gICAgfVxuXG4gICAgLy9iYXRjaFByb2Nlc3NvciBpcyBjdXJyZW50bHkgbm90IGFuIG9wdGlvbiB0byB0aGUgbGlzdGVuVG8gZnVuY3Rpb24sIHNvIGl0IHNob3VsZCBub3QgYmUgYWRkZWQgdG8gZ2xvYmFsT3B0aW9ucy5cbiAgICB2YXIgYmF0Y2hQcm9jZXNzb3IgPSBnZXRPcHRpb24ob3B0aW9ucywgXCJiYXRjaFByb2Nlc3NvclwiLCBiYXRjaFByb2Nlc3Nvck1ha2VyKHsgcmVwb3J0ZXI6IHJlcG9ydGVyIH0pKTtcblxuICAgIC8vT3B0aW9ucyB0byBiZSB1c2VkIGFzIGRlZmF1bHQgZm9yIHRoZSBsaXN0ZW5UbyBmdW5jdGlvbi5cbiAgICB2YXIgZ2xvYmFsT3B0aW9ucyA9IHt9O1xuICAgIGdsb2JhbE9wdGlvbnMuY2FsbE9uQWRkICAgICA9ICEhZ2V0T3B0aW9uKG9wdGlvbnMsIFwiY2FsbE9uQWRkXCIsIHRydWUpO1xuICAgIGdsb2JhbE9wdGlvbnMuZGVidWcgICAgICAgICA9ICEhZ2V0T3B0aW9uKG9wdGlvbnMsIFwiZGVidWdcIiwgZmFsc2UpO1xuXG4gICAgdmFyIGV2ZW50TGlzdGVuZXJIYW5kbGVyICAgID0gbGlzdGVuZXJIYW5kbGVyTWFrZXIoaWRIYW5kbGVyKTtcbiAgICB2YXIgZWxlbWVudFV0aWxzICAgICAgICAgICAgPSBlbGVtZW50VXRpbHNNYWtlcih7XG4gICAgICAgIHN0YXRlSGFuZGxlcjogc3RhdGVIYW5kbGVyXG4gICAgfSk7XG5cbiAgICAvL1RoZSBkZXRlY3Rpb24gc3RyYXRlZ3kgdG8gYmUgdXNlZC5cbiAgICB2YXIgZGV0ZWN0aW9uU3RyYXRlZ3k7XG4gICAgdmFyIGRlc2lyZWRTdHJhdGVneSA9IGdldE9wdGlvbihvcHRpb25zLCBcInN0cmF0ZWd5XCIsIFwib2JqZWN0XCIpO1xuICAgIHZhciBpbXBvcnRhbnRDc3NSdWxlcyA9IGdldE9wdGlvbihvcHRpb25zLCBcImltcG9ydGFudFwiLCBmYWxzZSk7XG4gICAgdmFyIHN0cmF0ZWd5T3B0aW9ucyA9IHtcbiAgICAgICAgcmVwb3J0ZXI6IHJlcG9ydGVyLFxuICAgICAgICBiYXRjaFByb2Nlc3NvcjogYmF0Y2hQcm9jZXNzb3IsXG4gICAgICAgIHN0YXRlSGFuZGxlcjogc3RhdGVIYW5kbGVyLFxuICAgICAgICBpZEhhbmRsZXI6IGlkSGFuZGxlcixcbiAgICAgICAgaW1wb3J0YW50OiBpbXBvcnRhbnRDc3NSdWxlc1xuICAgIH07XG5cbiAgICBpZihkZXNpcmVkU3RyYXRlZ3kgPT09IFwic2Nyb2xsXCIpIHtcbiAgICAgICAgaWYgKGJyb3dzZXJEZXRlY3Rvci5pc0xlZ2FjeU9wZXJhKCkpIHtcbiAgICAgICAgICAgIHJlcG9ydGVyLndhcm4oXCJTY3JvbGwgc3RyYXRlZ3kgaXMgbm90IHN1cHBvcnRlZCBvbiBsZWdhY3kgT3BlcmEuIENoYW5naW5nIHRvIG9iamVjdCBzdHJhdGVneS5cIik7XG4gICAgICAgICAgICBkZXNpcmVkU3RyYXRlZ3kgPSBcIm9iamVjdFwiO1xuICAgICAgICB9IGVsc2UgaWYgKGJyb3dzZXJEZXRlY3Rvci5pc0lFKDkpKSB7XG4gICAgICAgICAgICByZXBvcnRlci53YXJuKFwiU2Nyb2xsIHN0cmF0ZWd5IGlzIG5vdCBzdXBwb3J0ZWQgb24gSUU5LiBDaGFuZ2luZyB0byBvYmplY3Qgc3RyYXRlZ3kuXCIpO1xuICAgICAgICAgICAgZGVzaXJlZFN0cmF0ZWd5ID0gXCJvYmplY3RcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlmKGRlc2lyZWRTdHJhdGVneSA9PT0gXCJzY3JvbGxcIikge1xuICAgICAgICBkZXRlY3Rpb25TdHJhdGVneSA9IHNjcm9sbFN0cmF0ZWd5TWFrZXIoc3RyYXRlZ3lPcHRpb25zKTtcbiAgICB9IGVsc2UgaWYoZGVzaXJlZFN0cmF0ZWd5ID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIGRldGVjdGlvblN0cmF0ZWd5ID0gb2JqZWN0U3RyYXRlZ3lNYWtlcihzdHJhdGVneU9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgc3RyYXRlZ3kgbmFtZTogXCIgKyBkZXNpcmVkU3RyYXRlZ3kpO1xuICAgIH1cblxuICAgIC8vQ2FsbHMgY2FuIGJlIG1hZGUgdG8gbGlzdGVuVG8gd2l0aCBlbGVtZW50cyB0aGF0IGFyZSBzdGlsbCBiZWluZyBpbnN0YWxsZWQuXG4gICAgLy9BbHNvLCBzYW1lIGVsZW1lbnRzIGNhbiBvY2N1ciBpbiB0aGUgZWxlbWVudHMgbGlzdCBpbiB0aGUgbGlzdGVuVG8gZnVuY3Rpb24uXG4gICAgLy9XaXRoIHRoaXMgbWFwLCB0aGUgcmVhZHkgY2FsbGJhY2tzIGNhbiBiZSBzeW5jaHJvbml6ZWQgYmV0d2VlbiB0aGUgY2FsbHNcbiAgICAvL3NvIHRoYXQgdGhlIHJlYWR5IGNhbGxiYWNrIGNhbiBhbHdheXMgYmUgY2FsbGVkIHdoZW4gYW4gZWxlbWVudCBpcyByZWFkeSAtIGV2ZW4gaWZcbiAgICAvL2l0IHdhc24ndCBpbnN0YWxsZWQgZnJvbSB0aGUgZnVuY3Rpb24gaXRzZWxmLlxuICAgIHZhciBvblJlYWR5Q2FsbGJhY2tzID0ge307XG5cbiAgICAvKipcbiAgICAgKiBNYWtlcyB0aGUgZ2l2ZW4gZWxlbWVudHMgcmVzaXplLWRldGVjdGFibGUgYW5kIHN0YXJ0cyBsaXN0ZW5pbmcgdG8gcmVzaXplIGV2ZW50cyBvbiB0aGUgZWxlbWVudHMuIENhbGxzIHRoZSBldmVudCBjYWxsYmFjayBmb3IgZWFjaCBldmVudCBmb3IgZWFjaCBlbGVtZW50LlxuICAgICAqIEBwdWJsaWNcbiAgICAgKiBAcGFyYW0ge09wdGlvbnM/fSBvcHRpb25zIE9wdGlvbmFsIG9wdGlvbnMgb2JqZWN0LiBUaGVzZSBvcHRpb25zIHdpbGwgb3ZlcnJpZGUgdGhlIGdsb2JhbCBvcHRpb25zLiBTb21lIG9wdGlvbnMgbWF5IG5vdCBiZSBvdmVycmlkZW4sIHN1Y2ggYXMgaWRIYW5kbGVyLlxuICAgICAqIEBwYXJhbSB7ZWxlbWVudFtdfGVsZW1lbnR9IGVsZW1lbnRzIFRoZSBnaXZlbiBhcnJheSBvZiBlbGVtZW50cyB0byBkZXRlY3QgcmVzaXplIGV2ZW50cyBvZi4gU2luZ2xlIGVsZW1lbnQgaXMgYWxzbyB2YWxpZC5cbiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBsaXN0ZW5lciBUaGUgY2FsbGJhY2sgdG8gYmUgZXhlY3V0ZWQgZm9yIGVhY2ggcmVzaXplIGV2ZW50IGZvciBlYWNoIGVsZW1lbnQuXG4gICAgICovXG4gICAgZnVuY3Rpb24gbGlzdGVuVG8ob3B0aW9ucywgZWxlbWVudHMsIGxpc3RlbmVyKSB7XG4gICAgICAgIGZ1bmN0aW9uIG9uUmVzaXplQ2FsbGJhY2soZWxlbWVudCkge1xuICAgICAgICAgICAgdmFyIGxpc3RlbmVycyA9IGV2ZW50TGlzdGVuZXJIYW5kbGVyLmdldChlbGVtZW50KTtcbiAgICAgICAgICAgIGZvckVhY2gobGlzdGVuZXJzLCBmdW5jdGlvbiBjYWxsTGlzdGVuZXJQcm94eShsaXN0ZW5lcikge1xuICAgICAgICAgICAgICAgIGxpc3RlbmVyKGVsZW1lbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBmdW5jdGlvbiBhZGRMaXN0ZW5lcihjYWxsT25BZGQsIGVsZW1lbnQsIGxpc3RlbmVyKSB7XG4gICAgICAgICAgICBldmVudExpc3RlbmVySGFuZGxlci5hZGQoZWxlbWVudCwgbGlzdGVuZXIpO1xuXG4gICAgICAgICAgICBpZihjYWxsT25BZGQpIHtcbiAgICAgICAgICAgICAgICBsaXN0ZW5lcihlbGVtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vT3B0aW9ucyBvYmplY3QgbWF5IGJlIG9taXR0ZWQuXG4gICAgICAgIGlmKCFsaXN0ZW5lcikge1xuICAgICAgICAgICAgbGlzdGVuZXIgPSBlbGVtZW50cztcbiAgICAgICAgICAgIGVsZW1lbnRzID0gb3B0aW9ucztcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7fTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKCFlbGVtZW50cykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQXQgbGVhc3Qgb25lIGVsZW1lbnQgcmVxdWlyZWQuXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYoIWxpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJMaXN0ZW5lciByZXF1aXJlZC5cIik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNFbGVtZW50KGVsZW1lbnRzKSkge1xuICAgICAgICAgICAgLy8gQSBzaW5nbGUgZWxlbWVudCBoYXMgYmVlbiBwYXNzZWQgaW4uXG4gICAgICAgICAgICBlbGVtZW50cyA9IFtlbGVtZW50c107XG4gICAgICAgIH0gZWxzZSBpZiAoaXNDb2xsZWN0aW9uKGVsZW1lbnRzKSkge1xuICAgICAgICAgICAgLy8gQ29udmVydCBjb2xsZWN0aW9uIHRvIGFycmF5IGZvciBwbHVnaW5zLlxuICAgICAgICAgICAgLy8gVE9ETzogTWF5IHdhbnQgdG8gY2hlY2sgc28gdGhhdCBhbGwgdGhlIGVsZW1lbnRzIGluIHRoZSBjb2xsZWN0aW9uIGFyZSB2YWxpZCBlbGVtZW50cy5cbiAgICAgICAgICAgIGVsZW1lbnRzID0gdG9BcnJheShlbGVtZW50cyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gcmVwb3J0ZXIuZXJyb3IoXCJJbnZhbGlkIGFyZ3VtZW50cy4gTXVzdCBiZSBhIERPTSBlbGVtZW50IG9yIGEgY29sbGVjdGlvbiBvZiBET00gZWxlbWVudHMuXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGVsZW1lbnRzUmVhZHkgPSAwO1xuXG4gICAgICAgIHZhciBjYWxsT25BZGQgPSBnZXRPcHRpb24ob3B0aW9ucywgXCJjYWxsT25BZGRcIiwgZ2xvYmFsT3B0aW9ucy5jYWxsT25BZGQpO1xuICAgICAgICB2YXIgb25SZWFkeUNhbGxiYWNrID0gZ2V0T3B0aW9uKG9wdGlvbnMsIFwib25SZWFkeVwiLCBmdW5jdGlvbiBub29wKCkge30pO1xuICAgICAgICB2YXIgZGVidWcgPSBnZXRPcHRpb24ob3B0aW9ucywgXCJkZWJ1Z1wiLCBnbG9iYWxPcHRpb25zLmRlYnVnKTtcblxuICAgICAgICBmb3JFYWNoKGVsZW1lbnRzLCBmdW5jdGlvbiBhdHRhY2hMaXN0ZW5lclRvRWxlbWVudChlbGVtZW50KSB7XG4gICAgICAgICAgICBpZiAoIXN0YXRlSGFuZGxlci5nZXRTdGF0ZShlbGVtZW50KSkge1xuICAgICAgICAgICAgICAgIHN0YXRlSGFuZGxlci5pbml0U3RhdGUoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgaWRIYW5kbGVyLnNldChlbGVtZW50KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIGlkID0gaWRIYW5kbGVyLmdldChlbGVtZW50KTtcblxuICAgICAgICAgICAgZGVidWcgJiYgcmVwb3J0ZXIubG9nKFwiQXR0YWNoaW5nIGxpc3RlbmVyIHRvIGVsZW1lbnRcIiwgaWQsIGVsZW1lbnQpO1xuXG4gICAgICAgICAgICBpZighZWxlbWVudFV0aWxzLmlzRGV0ZWN0YWJsZShlbGVtZW50KSkge1xuICAgICAgICAgICAgICAgIGRlYnVnICYmIHJlcG9ydGVyLmxvZyhpZCwgXCJOb3QgZGV0ZWN0YWJsZS5cIik7XG4gICAgICAgICAgICAgICAgaWYoZWxlbWVudFV0aWxzLmlzQnVzeShlbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICBkZWJ1ZyAmJiByZXBvcnRlci5sb2coaWQsIFwiU3lzdGVtIGJ1c3kgbWFraW5nIGl0IGRldGVjdGFibGVcIik7XG5cbiAgICAgICAgICAgICAgICAgICAgLy9UaGUgZWxlbWVudCBpcyBiZWluZyBwcmVwYXJlZCB0byBiZSBkZXRlY3RhYmxlLiBEbyBub3QgbWFrZSBpdCBkZXRlY3RhYmxlLlxuICAgICAgICAgICAgICAgICAgICAvL0p1c3QgYWRkIHRoZSBsaXN0ZW5lciwgYmVjYXVzZSB0aGUgZWxlbWVudCB3aWxsIHNvb24gYmUgZGV0ZWN0YWJsZS5cbiAgICAgICAgICAgICAgICAgICAgYWRkTGlzdGVuZXIoY2FsbE9uQWRkLCBlbGVtZW50LCBsaXN0ZW5lcik7XG4gICAgICAgICAgICAgICAgICAgIG9uUmVhZHlDYWxsYmFja3NbaWRdID0gb25SZWFkeUNhbGxiYWNrc1tpZF0gfHwgW107XG4gICAgICAgICAgICAgICAgICAgIG9uUmVhZHlDYWxsYmFja3NbaWRdLnB1c2goZnVuY3Rpb24gb25SZWFkeSgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRzUmVhZHkrKztcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWxlbWVudHNSZWFkeSA9PT0gZWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25SZWFkeUNhbGxiYWNrKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZGVidWcgJiYgcmVwb3J0ZXIubG9nKGlkLCBcIk1ha2luZyBkZXRlY3RhYmxlLi4uXCIpO1xuICAgICAgICAgICAgICAgIC8vVGhlIGVsZW1lbnQgaXMgbm90IHByZXBhcmVkIHRvIGJlIGRldGVjdGFibGUsIHNvIGRvIHByZXBhcmUgaXQgYW5kIGFkZCBhIGxpc3RlbmVyIHRvIGl0LlxuICAgICAgICAgICAgICAgIGVsZW1lbnRVdGlscy5tYXJrQnVzeShlbGVtZW50LCB0cnVlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGV0ZWN0aW9uU3RyYXRlZ3kubWFrZURldGVjdGFibGUoeyBkZWJ1ZzogZGVidWcsIGltcG9ydGFudDogaW1wb3J0YW50Q3NzUnVsZXMgfSwgZWxlbWVudCwgZnVuY3Rpb24gb25FbGVtZW50RGV0ZWN0YWJsZShlbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGRlYnVnICYmIHJlcG9ydGVyLmxvZyhpZCwgXCJvbkVsZW1lbnREZXRlY3RhYmxlXCIpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChzdGF0ZUhhbmRsZXIuZ2V0U3RhdGUoZWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRVdGlscy5tYXJrQXNEZXRlY3RhYmxlKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudFV0aWxzLm1hcmtCdXN5KGVsZW1lbnQsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRldGVjdGlvblN0cmF0ZWd5LmFkZExpc3RlbmVyKGVsZW1lbnQsIG9uUmVzaXplQ2FsbGJhY2spO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWRkTGlzdGVuZXIoY2FsbE9uQWRkLCBlbGVtZW50LCBsaXN0ZW5lcik7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNpbmNlIHRoZSBlbGVtZW50IHNpemUgbWlnaHQgaGF2ZSBjaGFuZ2VkIHNpbmNlIHRoZSBjYWxsIHRvIFwibGlzdGVuVG9cIiwgd2UgbmVlZCB0byBjaGVjayBmb3IgdGhpcyBjaGFuZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBzbyB0aGF0IGEgcmVzaXplIGV2ZW50IG1heSBiZSBlbWl0dGVkLlxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSGF2aW5nIHRoZSBzdGFydFNpemUgb2JqZWN0IGlzIG9wdGlvbmFsIChzaW5jZSBpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIGluIHNvbWUgY2FzZXMgc3VjaCBhcyB1bnJlbmRlcmVkIGVsZW1lbnRzKSwgc28gY2hlY2sgZm9yIGl0cyBleGlzdGFuY2UgYmVmb3JlLlxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQWxzbywgY2hlY2sgdGhlIHN0YXRlIGV4aXN0YW5jZSBiZWZvcmUgc2luY2UgdGhlIGVsZW1lbnQgbWF5IGhhdmUgYmVlbiB1bmluc3RhbGxlZCBpbiB0aGUgaW5zdGFsbGF0aW9uIHByb2Nlc3MuXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgc3RhdGUgPSBzdGF0ZUhhbmRsZXIuZ2V0U3RhdGUoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdGUgJiYgc3RhdGUuc3RhcnRTaXplKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHdpZHRoID0gZWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaGVpZ2h0ID0gZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRlLnN0YXJ0U2l6ZS53aWR0aCAhPT0gd2lkdGggfHwgc3RhdGUuc3RhcnRTaXplLmhlaWdodCAhPT0gaGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uUmVzaXplQ2FsbGJhY2soZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihvblJlYWR5Q2FsbGJhY2tzW2lkXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvckVhY2gob25SZWFkeUNhbGxiYWNrc1tpZF0sIGZ1bmN0aW9uKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgZWxlbWVudCBoYXMgYmVlbiB1bmlzbnRhbGxlZCBiZWZvcmUgYmVpbmcgZGV0ZWN0YWJsZS5cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnICYmIHJlcG9ydGVyLmxvZyhpZCwgXCJFbGVtZW50IHVuaW5zdGFsbGVkIGJlZm9yZSBiZWluZyBkZXRlY3RhYmxlLlwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBvblJlYWR5Q2FsbGJhY2tzW2lkXTtcblxuICAgICAgICAgICAgICAgICAgICBlbGVtZW50c1JlYWR5Kys7XG4gICAgICAgICAgICAgICAgICAgIGlmKGVsZW1lbnRzUmVhZHkgPT09IGVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb25SZWFkeUNhbGxiYWNrKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGVidWcgJiYgcmVwb3J0ZXIubG9nKGlkLCBcIkFscmVhZHkgZGV0ZWNhYmxlLCBhZGRpbmcgbGlzdGVuZXIuXCIpO1xuXG4gICAgICAgICAgICAvL1RoZSBlbGVtZW50IGhhcyBiZWVuIHByZXBhcmVkIHRvIGJlIGRldGVjdGFibGUgYW5kIGlzIHJlYWR5IHRvIGJlIGxpc3RlbmVkIHRvLlxuICAgICAgICAgICAgYWRkTGlzdGVuZXIoY2FsbE9uQWRkLCBlbGVtZW50LCBsaXN0ZW5lcik7XG4gICAgICAgICAgICBlbGVtZW50c1JlYWR5Kys7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmKGVsZW1lbnRzUmVhZHkgPT09IGVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgb25SZWFkeUNhbGxiYWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiB1bmluc3RhbGwoZWxlbWVudHMpIHtcbiAgICAgICAgaWYoIWVsZW1lbnRzKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVwb3J0ZXIuZXJyb3IoXCJBdCBsZWFzdCBvbmUgZWxlbWVudCBpcyByZXF1aXJlZC5cIik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNFbGVtZW50KGVsZW1lbnRzKSkge1xuICAgICAgICAgICAgLy8gQSBzaW5nbGUgZWxlbWVudCBoYXMgYmVlbiBwYXNzZWQgaW4uXG4gICAgICAgICAgICBlbGVtZW50cyA9IFtlbGVtZW50c107XG4gICAgICAgIH0gZWxzZSBpZiAoaXNDb2xsZWN0aW9uKGVsZW1lbnRzKSkge1xuICAgICAgICAgICAgLy8gQ29udmVydCBjb2xsZWN0aW9uIHRvIGFycmF5IGZvciBwbHVnaW5zLlxuICAgICAgICAgICAgLy8gVE9ETzogTWF5IHdhbnQgdG8gY2hlY2sgc28gdGhhdCBhbGwgdGhlIGVsZW1lbnRzIGluIHRoZSBjb2xsZWN0aW9uIGFyZSB2YWxpZCBlbGVtZW50cy5cbiAgICAgICAgICAgIGVsZW1lbnRzID0gdG9BcnJheShlbGVtZW50cyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gcmVwb3J0ZXIuZXJyb3IoXCJJbnZhbGlkIGFyZ3VtZW50cy4gTXVzdCBiZSBhIERPTSBlbGVtZW50IG9yIGEgY29sbGVjdGlvbiBvZiBET00gZWxlbWVudHMuXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yRWFjaChlbGVtZW50cywgZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICAgICAgICAgIGV2ZW50TGlzdGVuZXJIYW5kbGVyLnJlbW92ZUFsbExpc3RlbmVycyhlbGVtZW50KTtcbiAgICAgICAgICAgIGRldGVjdGlvblN0cmF0ZWd5LnVuaW5zdGFsbChlbGVtZW50KTtcbiAgICAgICAgICAgIHN0YXRlSGFuZGxlci5jbGVhblN0YXRlKGVsZW1lbnQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpbml0RG9jdW1lbnQodGFyZ2V0RG9jdW1lbnQpIHtcbiAgICAgICAgZGV0ZWN0aW9uU3RyYXRlZ3kuaW5pdERvY3VtZW50ICYmIGRldGVjdGlvblN0cmF0ZWd5LmluaXREb2N1bWVudCh0YXJnZXREb2N1bWVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgbGlzdGVuVG86IGxpc3RlblRvLFxuICAgICAgICByZW1vdmVMaXN0ZW5lcjogZXZlbnRMaXN0ZW5lckhhbmRsZXIucmVtb3ZlTGlzdGVuZXIsXG4gICAgICAgIHJlbW92ZUFsbExpc3RlbmVyczogZXZlbnRMaXN0ZW5lckhhbmRsZXIucmVtb3ZlQWxsTGlzdGVuZXJzLFxuICAgICAgICB1bmluc3RhbGw6IHVuaW5zdGFsbCxcbiAgICAgICAgaW5pdERvY3VtZW50OiBpbml0RG9jdW1lbnRcbiAgICB9O1xufTtcblxuZnVuY3Rpb24gZ2V0T3B0aW9uKG9wdGlvbnMsIG5hbWUsIGRlZmF1bHRWYWx1ZSkge1xuICAgIHZhciB2YWx1ZSA9IG9wdGlvbnNbbmFtZV07XG5cbiAgICBpZigodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkgJiYgZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG59XG5cblxuLyoqKi8gfSksXG4vKiA4NSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG52YXIgaGFzID0gX193ZWJwYWNrX3JlcXVpcmVfXygyNik7XG52YXIgdG9JT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygyOSk7XG52YXIgYXJyYXlJbmRleE9mID0gX193ZWJwYWNrX3JlcXVpcmVfXygyNTEpKGZhbHNlKTtcbnZhciBJRV9QUk9UTyA9IF9fd2VicGFja19yZXF1aXJlX18oNjIpKCdJRV9QUk9UTycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChvYmplY3QsIG5hbWVzKSB7XG4gIHZhciBPID0gdG9JT2JqZWN0KG9iamVjdCk7XG4gIHZhciBpID0gMDtcbiAgdmFyIHJlc3VsdCA9IFtdO1xuICB2YXIga2V5O1xuICBmb3IgKGtleSBpbiBPKSBpZiAoa2V5ICE9IElFX1BST1RPKSBoYXMoTywga2V5KSAmJiByZXN1bHQucHVzaChrZXkpO1xuICAvLyBEb24ndCBlbnVtIGJ1ZyAmIGhpZGRlbiBrZXlzXG4gIHdoaWxlIChuYW1lcy5sZW5ndGggPiBpKSBpZiAoaGFzKE8sIGtleSA9IG5hbWVzW2krK10pKSB7XG4gICAgfmFycmF5SW5kZXhPZihyZXN1bHQsIGtleSkgfHwgcmVzdWx0LnB1c2goa2V5KTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDg2ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbi8vIGZhbGxiYWNrIGZvciBub24tYXJyYXktbGlrZSBFUzMgYW5kIG5vbi1lbnVtZXJhYmxlIG9sZCBWOCBzdHJpbmdzXG52YXIgY29mID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0MSk7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXG5tb2R1bGUuZXhwb3J0cyA9IE9iamVjdCgneicpLnByb3BlcnR5SXNFbnVtZXJhYmxlKDApID8gT2JqZWN0IDogZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBjb2YoaXQpID09ICdTdHJpbmcnID8gaXQuc3BsaXQoJycpIDogT2JqZWN0KGl0KTtcbn07XG5cblxuLyoqKi8gfSksXG4vKiA4NyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG4vLyBtb3N0IE9iamVjdCBtZXRob2RzIGJ5IEVTNiBzaG91bGQgYWNjZXB0IHByaW1pdGl2ZXNcbnZhciAkZXhwb3J0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMCk7XG52YXIgY29yZSA9IF9fd2VicGFja19yZXF1aXJlX18oNik7XG52YXIgZmFpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMwKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKEtFWSwgZXhlYykge1xuICB2YXIgZm4gPSAoY29yZS5PYmplY3QgfHwge30pW0tFWV0gfHwgT2JqZWN0W0tFWV07XG4gIHZhciBleHAgPSB7fTtcbiAgZXhwW0tFWV0gPSBleGVjKGZuKTtcbiAgJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiBmYWlscyhmdW5jdGlvbiAoKSB7IGZuKDEpOyB9KSwgJ09iamVjdCcsIGV4cCk7XG59O1xuXG5cbi8qKiovIH0pLFxuLyogODggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxubW9kdWxlLmV4cG9ydHMgPSAhX193ZWJwYWNrX3JlcXVpcmVfXygyMikgJiYgIV9fd2VicGFja19yZXF1aXJlX18oMzApKGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfcmVxdWlyZV9fKDY1KSgnZGl2JyksICdhJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDc7IH0gfSkuYSAhPSA3O1xufSk7XG5cblxuLyoqKi8gfSksXG4vKiA4OSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9kb20gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEzKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtYWZmaXgnO1xuXG5mdW5jdGlvbiBnZXRTY3JvbGwodGFyZ2V0LCB0b3ApIHtcbiAgICB2YXIgcHJvcCA9IHRvcCA/ICdwYWdlWU9mZnNldCcgOiAncGFnZVhPZmZzZXQnO1xuICAgIHZhciBtZXRob2QgPSB0b3AgPyAnc2Nyb2xsVG9wJyA6ICdzY3JvbGxMZWZ0JztcblxuICAgIHZhciByZXQgPSB0YXJnZXRbcHJvcF07XG5cbiAgICBpZiAodHlwZW9mIHJldCAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgcmV0ID0gd2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFttZXRob2RdO1xuICAgIH1cblxuICAgIHJldHVybiByZXQ7XG59XG5cbmZ1bmN0aW9uIGdldE9mZnNldChlbGVtZW50KSB7XG4gICAgdmFyIHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgdmFyIHNjcm9sbFRvcCA9IGdldFNjcm9sbCh3aW5kb3csIHRydWUpO1xuICAgIHZhciBzY3JvbGxMZWZ0ID0gZ2V0U2Nyb2xsKHdpbmRvdyk7XG5cbiAgICB2YXIgZG9jRWwgPSB3aW5kb3cuZG9jdW1lbnQuYm9keTtcbiAgICB2YXIgY2xpZW50VG9wID0gZG9jRWwuY2xpZW50VG9wIHx8IDA7XG4gICAgdmFyIGNsaWVudExlZnQgPSBkb2NFbC5jbGllbnRMZWZ0IHx8IDA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICB0b3A6IHJlY3QudG9wICsgc2Nyb2xsVG9wIC0gY2xpZW50VG9wLFxuICAgICAgICBsZWZ0OiByZWN0LmxlZnQgKyBzY3JvbGxMZWZ0IC0gY2xpZW50TGVmdFxuICAgIH07XG59XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnQWZmaXgnLFxuICAgIHByb3BzOiB7XG4gICAgICAgIG9mZnNldFRvcDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgZGVmYXVsdDogMFxuICAgICAgICB9LFxuICAgICAgICBvZmZzZXRCb3R0b206IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlclxuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYWZmaXg6IGZhbHNlLFxuICAgICAgICAgICAgc3R5bGVzOiB7fSxcbiAgICAgICAgICAgIHNsb3Q6IGZhbHNlLFxuICAgICAgICAgICAgc2xvdFN0eWxlOiB7fVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICBvZmZzZXRUeXBlOiBmdW5jdGlvbiBvZmZzZXRUeXBlKCkge1xuICAgICAgICAgICAgdmFyIHR5cGUgPSAndG9wJztcbiAgICAgICAgICAgIGlmICh0aGlzLm9mZnNldEJvdHRvbSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgdHlwZSA9ICdib3R0b20nO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdHlwZTtcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NlczogZnVuY3Rpb24gY2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sICcnICsgcHJlZml4Q2xzLCB0aGlzLmFmZml4KV07XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgICAgKDAsIF9kb20ub24pKHdpbmRvdywgJ3Njcm9sbCcsIHRoaXMuaGFuZGxlU2Nyb2xsKTtcbiAgICAgICAgKDAsIF9kb20ub24pKHdpbmRvdywgJ3Jlc2l6ZScsIHRoaXMuaGFuZGxlU2Nyb2xsKTtcbiAgICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgIHRoaXMuaGFuZGxlU2Nyb2xsKCk7XG4gICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgfSxcbiAgICBiZWZvcmVEZXN0cm95OiBmdW5jdGlvbiBiZWZvcmVEZXN0cm95KCkge1xuICAgICAgICAoMCwgX2RvbS5vZmYpKHdpbmRvdywgJ3Njcm9sbCcsIHRoaXMuaGFuZGxlU2Nyb2xsKTtcbiAgICAgICAgKDAsIF9kb20ub2ZmKSh3aW5kb3csICdyZXNpemUnLCB0aGlzLmhhbmRsZVNjcm9sbCk7XG4gICAgfSxcblxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgaGFuZGxlU2Nyb2xsOiBmdW5jdGlvbiBoYW5kbGVTY3JvbGwoKSB7XG4gICAgICAgICAgICB2YXIgYWZmaXggPSB0aGlzLmFmZml4O1xuICAgICAgICAgICAgdmFyIHNjcm9sbFRvcCA9IGdldFNjcm9sbCh3aW5kb3csIHRydWUpO1xuICAgICAgICAgICAgdmFyIGVsT2Zmc2V0ID0gZ2V0T2Zmc2V0KHRoaXMuJGVsKTtcbiAgICAgICAgICAgIHZhciB3aW5kb3dIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gICAgICAgICAgICB2YXIgZWxIZWlnaHQgPSB0aGlzLiRlbC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnZGl2JylbMF0ub2Zmc2V0SGVpZ2h0O1xuXG4gICAgICAgICAgICBpZiAoZWxPZmZzZXQudG9wIC0gdGhpcy5vZmZzZXRUb3AgPCBzY3JvbGxUb3AgJiYgdGhpcy5vZmZzZXRUeXBlID09ICd0b3AnICYmICFhZmZpeCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWZmaXggPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuc2xvdFN0eWxlID0ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogdGhpcy4kcmVmcy5wb2ludC5jbGllbnRXaWR0aCArICdweCcsXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogdGhpcy4kcmVmcy5wb2ludC5jbGllbnRIZWlnaHQgKyAncHgnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB0aGlzLnNsb3QgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVzID0ge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IFN0cmluZyh0aGlzLm9mZnNldFRvcCkgKyAncHgnLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBTdHJpbmcoZWxPZmZzZXQubGVmdCkgKyAncHgnLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogU3RyaW5nKHRoaXMuJGVsLm9mZnNldFdpZHRoKSArICdweCdcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tY2hhbmdlJywgdHJ1ZSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGVsT2Zmc2V0LnRvcCAtIHRoaXMub2Zmc2V0VG9wID4gc2Nyb2xsVG9wICYmIHRoaXMub2Zmc2V0VHlwZSA9PSAndG9wJyAmJiBhZmZpeCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2xvdCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuc2xvdFN0eWxlID0ge307XG4gICAgICAgICAgICAgICAgdGhpcy5hZmZpeCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVzID0gbnVsbDtcblxuICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWNoYW5nZScsIGZhbHNlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGVsT2Zmc2V0LnRvcCArIHRoaXMub2Zmc2V0Qm90dG9tICsgZWxIZWlnaHQgPiBzY3JvbGxUb3AgKyB3aW5kb3dIZWlnaHQgJiYgdGhpcy5vZmZzZXRUeXBlID09ICdib3R0b20nICYmICFhZmZpeCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWZmaXggPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVzID0ge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IFN0cmluZyh0aGlzLm9mZnNldEJvdHRvbSkgKyAncHgnLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBTdHJpbmcoZWxPZmZzZXQubGVmdCkgKyAncHgnLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogU3RyaW5nKHRoaXMuJGVsLm9mZnNldFdpZHRoKSArICdweCdcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tY2hhbmdlJywgdHJ1ZSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGVsT2Zmc2V0LnRvcCArIHRoaXMub2Zmc2V0Qm90dG9tICsgZWxIZWlnaHQgPCBzY3JvbGxUb3AgKyB3aW5kb3dIZWlnaHQgJiYgdGhpcy5vZmZzZXRUeXBlID09ICdib3R0b20nICYmIGFmZml4KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZmZpeCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVzID0gbnVsbDtcblxuICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWNoYW5nZScsIGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogOTAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9pY29uID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMCk7XG5cbnZhciBfaWNvbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pY29uKTtcblxudmFyIF9hc3Npc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1hbGVydCc7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnQWxlcnQnLFxuICAgIGNvbXBvbmVudHM6IHsgSWNvbjogX2ljb24yLmRlZmF1bHQgfSxcbiAgICBwcm9wczoge1xuICAgICAgICB0eXBlOiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnc3VjY2VzcycsICdpbmZvJywgJ3dhcm5pbmcnLCAnZXJyb3InXSk7XG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICBkZWZhdWx0OiAnaW5mbydcbiAgICAgICAgfSxcbiAgICAgICAgY2xvc2FibGU6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBzaG93SWNvbjoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIGJhbm5lcjoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjbG9zZWQ6IGZhbHNlLFxuICAgICAgICAgICAgZGVzYzogZmFsc2VcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgd3JhcENsYXNzZXM6IGZ1bmN0aW9uIHdyYXBDbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWY7XG5cbiAgICAgICAgICAgIHJldHVybiBbJycgKyBwcmVmaXhDbHMsIHByZWZpeENscyArICctJyArIFN0cmluZyh0aGlzLnR5cGUpLCAoX3JlZiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLXdpdGgtaWNvbicsIHRoaXMuc2hvd0ljb24pLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLXdpdGgtZGVzYycsIHRoaXMuZGVzYyksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctd2l0aC1iYW5uZXInLCB0aGlzLmJhbm5lciksIF9yZWYpXTtcbiAgICAgICAgfSxcbiAgICAgICAgbWVzc2FnZUNsYXNzZXM6IGZ1bmN0aW9uIG1lc3NhZ2VDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIHByZWZpeENscyArICctbWVzc2FnZSc7XG4gICAgICAgIH0sXG4gICAgICAgIGRlc2NDbGFzc2VzOiBmdW5jdGlvbiBkZXNjQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBwcmVmaXhDbHMgKyAnLWRlc2MnO1xuICAgICAgICB9LFxuICAgICAgICBjbG9zZUNsYXNzZXM6IGZ1bmN0aW9uIGNsb3NlQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBwcmVmaXhDbHMgKyAnLWNsb3NlJztcbiAgICAgICAgfSxcbiAgICAgICAgaWNvbkNsYXNzZXM6IGZ1bmN0aW9uIGljb25DbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIHByZWZpeENscyArICctaWNvbic7XG4gICAgICAgIH0sXG4gICAgICAgIGljb25UeXBlOiBmdW5jdGlvbiBpY29uVHlwZSgpIHtcbiAgICAgICAgICAgIHZhciB0eXBlID0gJyc7XG5cbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgICAgICAgICAgICAgIHR5cGUgPSAnaW9zLWNoZWNrbWFyay1jaXJjbGUnO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdpbmZvJzpcbiAgICAgICAgICAgICAgICAgICAgdHlwZSA9ICdpb3MtaW5mb3JtYXRpb24tY2lyY2xlJztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgICAgICAgICAgICAgIHR5cGUgPSAnaW9zLWFsZXJ0JztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICAgICAgICAgICAgICB0eXBlID0gJ2lvcy1jbG9zZS1jaXJjbGUnO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuZGVzYykgdHlwZSArPSAnLW91dGxpbmUnO1xuICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgY2xvc2U6IGZ1bmN0aW9uIGNsb3NlKGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWNsb3NlJywgZSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICAgIHRoaXMuZGVzYyA9IHRoaXMuJHNsb3RzLmRlc2MgIT09IHVuZGVmaW5lZDtcbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDkxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhDbHMgPSAnaXZ1LWljb24nO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ0ljb24nLFxuICAgIHByb3BzOiB7XG4gICAgICAgIHR5cGU6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICcnXG4gICAgICAgIH0sXG4gICAgICAgIHNpemU6IFtOdW1iZXIsIFN0cmluZ10sXG4gICAgICAgIGNvbG9yOiBTdHJpbmcsXG4gICAgICAgIGN1c3RvbToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJydcbiAgICAgICAgfVxuICAgIH0sXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgY2xhc3NlczogZnVuY3Rpb24gY2xhc3NlcygpIHtcbiAgICAgICAgICAgIHZhciBfcmVmO1xuXG4gICAgICAgICAgICByZXR1cm4gWycnICsgcHJlZml4Q2xzLCAoX3JlZiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLScgKyBTdHJpbmcodGhpcy50eXBlKSwgdGhpcy50eXBlICE9PSAnJyksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsICcnICsgU3RyaW5nKHRoaXMuY3VzdG9tKSwgdGhpcy5jdXN0b20gIT09ICcnKSwgX3JlZildO1xuICAgICAgICB9LFxuICAgICAgICBzdHlsZXM6IGZ1bmN0aW9uIHN0eWxlcygpIHtcbiAgICAgICAgICAgIHZhciBzdHlsZSA9IHt9O1xuXG4gICAgICAgICAgICBpZiAodGhpcy5zaXplKSB7XG4gICAgICAgICAgICAgICAgc3R5bGVbJ2ZvbnQtc2l6ZSddID0gU3RyaW5nKHRoaXMuc2l6ZSkgKyAncHgnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5jb2xvcikge1xuICAgICAgICAgICAgICAgIHN0eWxlLmNvbG9yID0gdGhpcy5jb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGhhbmRsZUNsaWNrOiBmdW5jdGlvbiBoYW5kbGVDbGljayhldmVudCkge1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnY2xpY2snLCBldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDkyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG52YXIgTElCUkFSWSA9IF9fd2VicGFja19yZXF1aXJlX18oNTIpO1xudmFyICRleHBvcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEwKTtcbnZhciByZWRlZmluZSA9IF9fd2VicGFja19yZXF1aXJlX18oOTMpO1xudmFyIGhpZGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI3KTtcbnZhciBJdGVyYXRvcnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMyKTtcbnZhciAkaXRlckNyZWF0ZSA9IF9fd2VicGFja19yZXF1aXJlX18oMjY5KTtcbnZhciBzZXRUb1N0cmluZ1RhZyA9IF9fd2VicGFja19yZXF1aXJlX18oNTMpO1xudmFyIGdldFByb3RvdHlwZU9mID0gX193ZWJwYWNrX3JlcXVpcmVfXyg5Nik7XG52YXIgSVRFUkFUT1IgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDExKSgnaXRlcmF0b3InKTtcbnZhciBCVUdHWSA9ICEoW10ua2V5cyAmJiAnbmV4dCcgaW4gW10ua2V5cygpKTsgLy8gU2FmYXJpIGhhcyBidWdneSBpdGVyYXRvcnMgdy9vIGBuZXh0YFxudmFyIEZGX0lURVJBVE9SID0gJ0BAaXRlcmF0b3InO1xudmFyIEtFWVMgPSAna2V5cyc7XG52YXIgVkFMVUVTID0gJ3ZhbHVlcyc7XG5cbnZhciByZXR1cm5UaGlzID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoQmFzZSwgTkFNRSwgQ29uc3RydWN0b3IsIG5leHQsIERFRkFVTFQsIElTX1NFVCwgRk9SQ0VEKSB7XG4gICRpdGVyQ3JlYXRlKENvbnN0cnVjdG9yLCBOQU1FLCBuZXh0KTtcbiAgdmFyIGdldE1ldGhvZCA9IGZ1bmN0aW9uIChraW5kKSB7XG4gICAgaWYgKCFCVUdHWSAmJiBraW5kIGluIHByb3RvKSByZXR1cm4gcHJvdG9ba2luZF07XG4gICAgc3dpdGNoIChraW5kKSB7XG4gICAgICBjYXNlIEtFWVM6IHJldHVybiBmdW5jdGlvbiBrZXlzKCkgeyByZXR1cm4gbmV3IENvbnN0cnVjdG9yKHRoaXMsIGtpbmQpOyB9O1xuICAgICAgY2FzZSBWQUxVRVM6IHJldHVybiBmdW5jdGlvbiB2YWx1ZXMoKSB7IHJldHVybiBuZXcgQ29uc3RydWN0b3IodGhpcywga2luZCk7IH07XG4gICAgfSByZXR1cm4gZnVuY3Rpb24gZW50cmllcygpIHsgcmV0dXJuIG5ldyBDb25zdHJ1Y3Rvcih0aGlzLCBraW5kKTsgfTtcbiAgfTtcbiAgdmFyIFRBRyA9IE5BTUUgKyAnIEl0ZXJhdG9yJztcbiAgdmFyIERFRl9WQUxVRVMgPSBERUZBVUxUID09IFZBTFVFUztcbiAgdmFyIFZBTFVFU19CVUcgPSBmYWxzZTtcbiAgdmFyIHByb3RvID0gQmFzZS5wcm90b3R5cGU7XG4gIHZhciAkbmF0aXZlID0gcHJvdG9bSVRFUkFUT1JdIHx8IHByb3RvW0ZGX0lURVJBVE9SXSB8fCBERUZBVUxUICYmIHByb3RvW0RFRkFVTFRdO1xuICB2YXIgJGRlZmF1bHQgPSAkbmF0aXZlIHx8IGdldE1ldGhvZChERUZBVUxUKTtcbiAgdmFyICRlbnRyaWVzID0gREVGQVVMVCA/ICFERUZfVkFMVUVTID8gJGRlZmF1bHQgOiBnZXRNZXRob2QoJ2VudHJpZXMnKSA6IHVuZGVmaW5lZDtcbiAgdmFyICRhbnlOYXRpdmUgPSBOQU1FID09ICdBcnJheScgPyBwcm90by5lbnRyaWVzIHx8ICRuYXRpdmUgOiAkbmF0aXZlO1xuICB2YXIgbWV0aG9kcywga2V5LCBJdGVyYXRvclByb3RvdHlwZTtcbiAgLy8gRml4IG5hdGl2ZVxuICBpZiAoJGFueU5hdGl2ZSkge1xuICAgIEl0ZXJhdG9yUHJvdG90eXBlID0gZ2V0UHJvdG90eXBlT2YoJGFueU5hdGl2ZS5jYWxsKG5ldyBCYXNlKCkpKTtcbiAgICBpZiAoSXRlcmF0b3JQcm90b3R5cGUgIT09IE9iamVjdC5wcm90b3R5cGUgJiYgSXRlcmF0b3JQcm90b3R5cGUubmV4dCkge1xuICAgICAgLy8gU2V0IEBAdG9TdHJpbmdUYWcgdG8gbmF0aXZlIGl0ZXJhdG9yc1xuICAgICAgc2V0VG9TdHJpbmdUYWcoSXRlcmF0b3JQcm90b3R5cGUsIFRBRywgdHJ1ZSk7XG4gICAgICAvLyBmaXggZm9yIHNvbWUgb2xkIGVuZ2luZXNcbiAgICAgIGlmICghTElCUkFSWSAmJiB0eXBlb2YgSXRlcmF0b3JQcm90b3R5cGVbSVRFUkFUT1JdICE9ICdmdW5jdGlvbicpIGhpZGUoSXRlcmF0b3JQcm90b3R5cGUsIElURVJBVE9SLCByZXR1cm5UaGlzKTtcbiAgICB9XG4gIH1cbiAgLy8gZml4IEFycmF5I3t2YWx1ZXMsIEBAaXRlcmF0b3J9Lm5hbWUgaW4gVjggLyBGRlxuICBpZiAoREVGX1ZBTFVFUyAmJiAkbmF0aXZlICYmICRuYXRpdmUubmFtZSAhPT0gVkFMVUVTKSB7XG4gICAgVkFMVUVTX0JVRyA9IHRydWU7XG4gICAgJGRlZmF1bHQgPSBmdW5jdGlvbiB2YWx1ZXMoKSB7IHJldHVybiAkbmF0aXZlLmNhbGwodGhpcyk7IH07XG4gIH1cbiAgLy8gRGVmaW5lIGl0ZXJhdG9yXG4gIGlmICgoIUxJQlJBUlkgfHwgRk9SQ0VEKSAmJiAoQlVHR1kgfHwgVkFMVUVTX0JVRyB8fCAhcHJvdG9bSVRFUkFUT1JdKSkge1xuICAgIGhpZGUocHJvdG8sIElURVJBVE9SLCAkZGVmYXVsdCk7XG4gIH1cbiAgLy8gUGx1ZyBmb3IgbGlicmFyeVxuICBJdGVyYXRvcnNbTkFNRV0gPSAkZGVmYXVsdDtcbiAgSXRlcmF0b3JzW1RBR10gPSByZXR1cm5UaGlzO1xuICBpZiAoREVGQVVMVCkge1xuICAgIG1ldGhvZHMgPSB7XG4gICAgICB2YWx1ZXM6IERFRl9WQUxVRVMgPyAkZGVmYXVsdCA6IGdldE1ldGhvZChWQUxVRVMpLFxuICAgICAga2V5czogSVNfU0VUID8gJGRlZmF1bHQgOiBnZXRNZXRob2QoS0VZUyksXG4gICAgICBlbnRyaWVzOiAkZW50cmllc1xuICAgIH07XG4gICAgaWYgKEZPUkNFRCkgZm9yIChrZXkgaW4gbWV0aG9kcykge1xuICAgICAgaWYgKCEoa2V5IGluIHByb3RvKSkgcmVkZWZpbmUocHJvdG8sIGtleSwgbWV0aG9kc1trZXldKTtcbiAgICB9IGVsc2UgJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiAoQlVHR1kgfHwgVkFMVUVTX0JVRyksIE5BTUUsIG1ldGhvZHMpO1xuICB9XG4gIHJldHVybiBtZXRob2RzO1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDkzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbm1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygyNyk7XG5cblxuLyoqKi8gfSksXG4vKiA5NCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG4vLyAxOS4xLjIuMiAvIDE1LjIuMy41IE9iamVjdC5jcmVhdGUoTyBbLCBQcm9wZXJ0aWVzXSlcbnZhciBhbk9iamVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oMTkpO1xudmFyIGRQcyA9IF9fd2VicGFja19yZXF1aXJlX18oMjcwKTtcbnZhciBlbnVtQnVnS2V5cyA9IF9fd2VicGFja19yZXF1aXJlX18oNjQpO1xudmFyIElFX1BST1RPID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2MikoJ0lFX1BST1RPJyk7XG52YXIgRW1wdHkgPSBmdW5jdGlvbiAoKSB7IC8qIGVtcHR5ICovIH07XG52YXIgUFJPVE9UWVBFID0gJ3Byb3RvdHlwZSc7XG5cbi8vIENyZWF0ZSBvYmplY3Qgd2l0aCBmYWtlIGBudWxsYCBwcm90b3R5cGU6IHVzZSBpZnJhbWUgT2JqZWN0IHdpdGggY2xlYXJlZCBwcm90b3R5cGVcbnZhciBjcmVhdGVEaWN0ID0gZnVuY3Rpb24gKCkge1xuICAvLyBUaHJhc2gsIHdhc3RlIGFuZCBzb2RvbXk6IElFIEdDIGJ1Z1xuICB2YXIgaWZyYW1lID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2NSkoJ2lmcmFtZScpO1xuICB2YXIgaSA9IGVudW1CdWdLZXlzLmxlbmd0aDtcbiAgdmFyIGx0ID0gJzwnO1xuICB2YXIgZ3QgPSAnPic7XG4gIHZhciBpZnJhbWVEb2N1bWVudDtcbiAgaWZyYW1lLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIF9fd2VicGFja19yZXF1aXJlX18oOTUpLmFwcGVuZENoaWxkKGlmcmFtZSk7XG4gIGlmcmFtZS5zcmMgPSAnamF2YXNjcmlwdDonOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNjcmlwdC11cmxcbiAgLy8gY3JlYXRlRGljdCA9IGlmcmFtZS5jb250ZW50V2luZG93Lk9iamVjdDtcbiAgLy8gaHRtbC5yZW1vdmVDaGlsZChpZnJhbWUpO1xuICBpZnJhbWVEb2N1bWVudCA9IGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50O1xuICBpZnJhbWVEb2N1bWVudC5vcGVuKCk7XG4gIGlmcmFtZURvY3VtZW50LndyaXRlKGx0ICsgJ3NjcmlwdCcgKyBndCArICdkb2N1bWVudC5GPU9iamVjdCcgKyBsdCArICcvc2NyaXB0JyArIGd0KTtcbiAgaWZyYW1lRG9jdW1lbnQuY2xvc2UoKTtcbiAgY3JlYXRlRGljdCA9IGlmcmFtZURvY3VtZW50LkY7XG4gIHdoaWxlIChpLS0pIGRlbGV0ZSBjcmVhdGVEaWN0W1BST1RPVFlQRV1bZW51bUJ1Z0tleXNbaV1dO1xuICByZXR1cm4gY3JlYXRlRGljdCgpO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBPYmplY3QuY3JlYXRlIHx8IGZ1bmN0aW9uIGNyZWF0ZShPLCBQcm9wZXJ0aWVzKSB7XG4gIHZhciByZXN1bHQ7XG4gIGlmIChPICE9PSBudWxsKSB7XG4gICAgRW1wdHlbUFJPVE9UWVBFXSA9IGFuT2JqZWN0KE8pO1xuICAgIHJlc3VsdCA9IG5ldyBFbXB0eSgpO1xuICAgIEVtcHR5W1BST1RPVFlQRV0gPSBudWxsO1xuICAgIC8vIGFkZCBcIl9fcHJvdG9fX1wiIGZvciBPYmplY3QuZ2V0UHJvdG90eXBlT2YgcG9seWZpbGxcbiAgICByZXN1bHRbSUVfUFJPVE9dID0gTztcbiAgfSBlbHNlIHJlc3VsdCA9IGNyZWF0ZURpY3QoKTtcbiAgcmV0dXJuIFByb3BlcnRpZXMgPT09IHVuZGVmaW5lZCA/IHJlc3VsdCA6IGRQcyhyZXN1bHQsIFByb3BlcnRpZXMpO1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDk1ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbnZhciBkb2N1bWVudCA9IF9fd2VicGFja19yZXF1aXJlX18oOSkuZG9jdW1lbnQ7XG5tb2R1bGUuZXhwb3J0cyA9IGRvY3VtZW50ICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcblxuXG4vKioqLyB9KSxcbi8qIDk2ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbi8vIDE5LjEuMi45IC8gMTUuMi4zLjIgT2JqZWN0LmdldFByb3RvdHlwZU9mKE8pXG52YXIgaGFzID0gX193ZWJwYWNrX3JlcXVpcmVfXygyNik7XG52YXIgdG9PYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM5KTtcbnZhciBJRV9QUk9UTyA9IF9fd2VicGFja19yZXF1aXJlX18oNjIpKCdJRV9QUk9UTycpO1xudmFyIE9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxubW9kdWxlLmV4cG9ydHMgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gKE8pIHtcbiAgTyA9IHRvT2JqZWN0KE8pO1xuICBpZiAoaGFzKE8sIElFX1BST1RPKSkgcmV0dXJuIE9bSUVfUFJPVE9dO1xuICBpZiAodHlwZW9mIE8uY29uc3RydWN0b3IgPT0gJ2Z1bmN0aW9uJyAmJiBPIGluc3RhbmNlb2YgTy5jb25zdHJ1Y3Rvcikge1xuICAgIHJldHVybiBPLmNvbnN0cnVjdG9yLnByb3RvdHlwZTtcbiAgfSByZXR1cm4gTyBpbnN0YW5jZW9mIE9iamVjdCA/IE9iamVjdFByb3RvIDogbnVsbDtcbn07XG5cblxuLyoqKi8gfSksXG4vKiA5NyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX2Fzc2lzdCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbnZhciBfZG9tID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMyk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnQW5jaG9yJyxcbiAgICBwcm92aWRlOiBmdW5jdGlvbiBwcm92aWRlKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYW5jaG9yQ29tOiB0aGlzXG4gICAgICAgIH07XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcHJlZml4OiAnaXZ1LWFuY2hvcicsXG4gICAgICAgICAgICBpc0FmZml4ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgaW5rVG9wOiAwLFxuICAgICAgICAgICAgYW5pbWF0aW5nOiBmYWxzZSxcbiAgICAgICAgICAgIGN1cnJlbnRMaW5rOiAnJyxcbiAgICAgICAgICAgIGN1cnJlbnRJZDogJycsXG4gICAgICAgICAgICBzY3JvbGxDb250YWluZXI6IG51bGwsXG4gICAgICAgICAgICBzY3JvbGxFbGVtZW50OiBudWxsLFxuICAgICAgICAgICAgdGl0bGVzT2Zmc2V0QXJyOiBbXSxcbiAgICAgICAgICAgIHdyYXBwZXJUb3A6IDAsXG4gICAgICAgICAgICB1cHBlckZpcnN0VGl0bGU6IHRydWVcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgcHJvcHM6IHtcbiAgICAgICAgYWZmaXg6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIG9mZnNldFRvcDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgZGVmYXVsdDogMFxuICAgICAgICB9LFxuICAgICAgICBvZmZzZXRCb3R0b206IE51bWJlcixcbiAgICAgICAgYm91bmRzOiB7XG4gICAgICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgICAgICBkZWZhdWx0OiA1XG4gICAgICAgIH0sXG5cbiAgICAgICAgY29udGFpbmVyOiBudWxsLFxuICAgICAgICBzaG93SW5rOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgc2Nyb2xsT2Zmc2V0OiB7XG4gICAgICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgICAgICBkZWZhdWx0OiAwXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIHdyYXBwZXJDb21wb25lbnQ6IGZ1bmN0aW9uIHdyYXBwZXJDb21wb25lbnQoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hZmZpeCA/ICdBZmZpeCcgOiAnZGl2JztcbiAgICAgICAgfSxcbiAgICAgICAgd3JhcHBlclN0eWxlOiBmdW5jdGlvbiB3cmFwcGVyU3R5bGUoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG1heEhlaWdodDogdGhpcy5vZmZzZXRUb3AgPyAnY2FsYygxMDB2aCAtICcgKyBTdHJpbmcodGhpcy5vZmZzZXRUb3ApICsgJ3B4KScgOiAnMTAwdmgnXG4gICAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgICBjb250YWluZXJJc1dpbmRvdzogZnVuY3Rpb24gY29udGFpbmVySXNXaW5kb3coKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zY3JvbGxDb250YWluZXIgPT09IHdpbmRvdztcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgICBoYW5kbGVBZmZpeFN0YXRlQ2hhbmdlOiBmdW5jdGlvbiBoYW5kbGVBZmZpeFN0YXRlQ2hhbmdlKHN0YXRlKSB7XG4gICAgICAgICAgICB0aGlzLmlzQWZmaXhlZCA9IHRoaXMuYWZmaXggJiYgc3RhdGU7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVNjcm9sbDogZnVuY3Rpb24gaGFuZGxlU2Nyb2xsKGUpIHtcbiAgICAgICAgICAgIHRoaXMudXBwZXJGaXJzdFRpdGxlID0gZS50YXJnZXQuc2Nyb2xsVG9wIDwgdGhpcy50aXRsZXNPZmZzZXRBcnJbMF0ub2Zmc2V0O1xuICAgICAgICAgICAgaWYgKHRoaXMuYW5pbWF0aW5nKSByZXR1cm47XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVRpdGxlT2Zmc2V0KCk7XG4gICAgICAgICAgICB2YXIgc2Nyb2xsVG9wID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCB8fCBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCB8fCBlLnRhcmdldC5zY3JvbGxUb3A7XG4gICAgICAgICAgICB0aGlzLmdldEN1cnJlbnRTY3JvbGxBdFRpdGxlSWQoc2Nyb2xsVG9wKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlSGFzaENoYW5nZTogZnVuY3Rpb24gaGFuZGxlSGFzaENoYW5nZSgpIHtcbiAgICAgICAgICAgIHZhciB1cmwgPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICAgICAgICAgIHZhciBzaGFycExpbmtNYXRjaCA9IF9hc3Npc3Quc2hhcnBNYXRjaGVyUmVneC5leGVjKHVybCk7XG4gICAgICAgICAgICBpZiAoIXNoYXJwTGlua01hdGNoKSByZXR1cm47XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRMaW5rID0gc2hhcnBMaW5rTWF0Y2hbMF07XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRJZCA9IHNoYXJwTGlua01hdGNoWzFdO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVTY3JvbGxUbzogZnVuY3Rpb24gaGFuZGxlU2Nyb2xsVG8oKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgYW5jaG9yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5jdXJyZW50SWQpO1xuICAgICAgICAgICAgdmFyIGN1cnJlbnRMaW5rRWxlbWVudEEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdhW2RhdGEtaHJlZj1cIicgKyBTdHJpbmcodGhpcy5jdXJyZW50TGluaykgKyAnXCJdJyk7XG4gICAgICAgICAgICB2YXIgb2Zmc2V0ID0gdGhpcy5zY3JvbGxPZmZzZXQ7XG4gICAgICAgICAgICBpZiAoY3VycmVudExpbmtFbGVtZW50QSkge1xuICAgICAgICAgICAgICAgIG9mZnNldCA9IHBhcnNlRmxvYXQoY3VycmVudExpbmtFbGVtZW50QS5nZXRBdHRyaWJ1dGUoJ2RhdGEtc2Nyb2xsLW9mZnNldCcpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFhbmNob3IpIHJldHVybjtcbiAgICAgICAgICAgIHZhciBvZmZzZXRUb3AgPSBhbmNob3Iub2Zmc2V0VG9wIC0gdGhpcy53cmFwcGVyVG9wIC0gb2Zmc2V0O1xuICAgICAgICAgICAgdGhpcy5hbmltYXRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgKDAsIF9hc3Npc3Quc2Nyb2xsVG9wKSh0aGlzLnNjcm9sbENvbnRhaW5lciwgdGhpcy5zY3JvbGxFbGVtZW50LnNjcm9sbFRvcCwgb2Zmc2V0VG9wLCA2MDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuYW5pbWF0aW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTZXRJbmtUb3AoKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlU2V0SW5rVG9wOiBmdW5jdGlvbiBoYW5kbGVTZXRJbmtUb3AoKSB7XG4gICAgICAgICAgICB2YXIgY3VycmVudExpbmtFbGVtZW50QSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2FbZGF0YS1ocmVmPVwiJyArIFN0cmluZyh0aGlzLmN1cnJlbnRMaW5rKSArICdcIl0nKTtcbiAgICAgICAgICAgIGlmICghY3VycmVudExpbmtFbGVtZW50QSkgcmV0dXJuO1xuICAgICAgICAgICAgdmFyIGVsZW1lbnRBVG9wID0gY3VycmVudExpbmtFbGVtZW50QS5vZmZzZXRUb3A7XG4gICAgICAgICAgICB2YXIgdG9wID0gZWxlbWVudEFUb3AgPCAwID8gdGhpcy5vZmZzZXRUb3AgOiBlbGVtZW50QVRvcDtcbiAgICAgICAgICAgIHRoaXMuaW5rVG9wID0gdG9wO1xuICAgICAgICB9LFxuICAgICAgICB1cGRhdGVUaXRsZU9mZnNldDogZnVuY3Rpb24gdXBkYXRlVGl0bGVPZmZzZXQoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIGxpbmtzID0gKDAsIF9hc3Npc3QuZmluZENvbXBvbmVudHNEb3dud2FyZCkodGhpcywgJ0FuY2hvckxpbmsnKS5tYXAoZnVuY3Rpb24gKGxpbmspIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMik7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gbGluay5ocmVmO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIHZhciBpZEFyciA9IGxpbmtzLm1hcChmdW5jdGlvbiAobGluaykge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBsaW5rLnNwbGl0KCcjJylbMV07XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgdmFyIG9mZnNldEFyciA9IFtdO1xuICAgICAgICAgICAgaWRBcnIuZm9yRWFjaChmdW5jdGlvbiAoaWQpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMik7XG5cbiAgICAgICAgICAgICAgICB2YXIgdGl0bGVFbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7XG4gICAgICAgICAgICAgICAgaWYgKHRpdGxlRWxlKSBvZmZzZXRBcnIucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIGxpbms6ICcjJyArIFN0cmluZyhpZCksXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDogdGl0bGVFbGUub2Zmc2V0VG9wIC0gdGhpcy5zY3JvbGxFbGVtZW50Lm9mZnNldFRvcFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIHRoaXMudGl0bGVzT2Zmc2V0QXJyID0gb2Zmc2V0QXJyO1xuICAgICAgICB9LFxuICAgICAgICBnZXRDdXJyZW50U2Nyb2xsQXRUaXRsZUlkOiBmdW5jdGlvbiBnZXRDdXJyZW50U2Nyb2xsQXRUaXRsZUlkKHNjcm9sbFRvcCkge1xuICAgICAgICAgICAgdmFyIGkgPSAtMTtcbiAgICAgICAgICAgIHZhciBsZW4gPSB0aGlzLnRpdGxlc09mZnNldEFyci5sZW5ndGg7XG4gICAgICAgICAgICB2YXIgdGl0bGVJdGVtID0ge1xuICAgICAgICAgICAgICAgIGxpbms6ICcjJyxcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IDBcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBzY3JvbGxUb3AgKz0gdGhpcy5ib3VuZHM7XG4gICAgICAgICAgICB3aGlsZSAoKytpIDwgbGVuKSB7XG4gICAgICAgICAgICAgICAgdmFyIGN1cnJlbnRFbGUgPSB0aGlzLnRpdGxlc09mZnNldEFycltpXTtcbiAgICAgICAgICAgICAgICB2YXIgbmV4dEVsZSA9IHRoaXMudGl0bGVzT2Zmc2V0QXJyW2kgKyAxXTtcbiAgICAgICAgICAgICAgICBpZiAoc2Nyb2xsVG9wID49IGN1cnJlbnRFbGUub2Zmc2V0ICYmIHNjcm9sbFRvcCA8IChuZXh0RWxlICYmIG5leHRFbGUub2Zmc2V0IHx8IEluZmluaXR5KSkge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZUl0ZW0gPSB0aGlzLnRpdGxlc09mZnNldEFycltpXTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jdXJyZW50TGluayA9IHRpdGxlSXRlbS5saW5rO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTZXRJbmtUb3AoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0Q29udGFpbmVyOiBmdW5jdGlvbiBnZXRDb250YWluZXIoKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbENvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyID8gdHlwZW9mIHRoaXMuY29udGFpbmVyID09PSAnc3RyaW5nJyA/IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5jb250YWluZXIpIDogdGhpcy5jb250YWluZXIgOiB3aW5kb3c7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbEVsZW1lbnQgPSB0aGlzLmNvbnRhaW5lciA/IHRoaXMuc2Nyb2xsQ29udGFpbmVyIDogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50IHx8IGRvY3VtZW50LmJvZHk7XG4gICAgICAgIH0sXG4gICAgICAgIHJlbW92ZUxpc3RlbmVyOiBmdW5jdGlvbiByZW1vdmVMaXN0ZW5lcigpIHtcbiAgICAgICAgICAgICgwLCBfZG9tLm9mZikodGhpcy5zY3JvbGxDb250YWluZXIsICdzY3JvbGwnLCB0aGlzLmhhbmRsZVNjcm9sbCk7XG4gICAgICAgICAgICAoMCwgX2RvbS5vZmYpKHdpbmRvdywgJ2hhc2hjaGFuZ2UnLCB0aGlzLmhhbmRsZUhhc2hDaGFuZ2UpO1xuICAgICAgICB9LFxuICAgICAgICBpbml0OiBmdW5jdGlvbiBpbml0KCkge1xuICAgICAgICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICAgICAgICAgIHRoaXMuaGFuZGxlSGFzaENoYW5nZSgpO1xuICAgICAgICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMzKTtcblxuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlTGlzdGVuZXIoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmdldENvbnRhaW5lcigpO1xuICAgICAgICAgICAgICAgIHRoaXMud3JhcHBlclRvcCA9IHRoaXMuY29udGFpbmVySXNXaW5kb3cgPyAwIDogdGhpcy5zY3JvbGxFbGVtZW50Lm9mZnNldFRvcDtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVNjcm9sbFRvKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVTZXRJbmtUb3AoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRpdGxlT2Zmc2V0KCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudGl0bGVzT2Zmc2V0QXJyWzBdKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBwZXJGaXJzdFRpdGxlID0gdGhpcy5zY3JvbGxFbGVtZW50LnNjcm9sbFRvcCA8IHRoaXMudGl0bGVzT2Zmc2V0QXJyWzBdLm9mZnNldDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKDAsIF9kb20ub24pKHRoaXMuc2Nyb2xsQ29udGFpbmVyLCAnc2Nyb2xsJywgdGhpcy5oYW5kbGVTY3JvbGwpO1xuICAgICAgICAgICAgICAgICgwLCBfZG9tLm9uKSh3aW5kb3csICdoYXNoY2hhbmdlJywgdGhpcy5oYW5kbGVIYXNoQ2hhbmdlKTtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHdhdGNoOiB7XG4gICAgICAgICckcm91dGUnOiBmdW5jdGlvbiAkcm91dGUoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXM0ID0gdGhpcztcblxuICAgICAgICAgICAgdGhpcy5oYW5kbGVIYXNoQ2hhbmdlKCk7XG4gICAgICAgICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczQpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVTY3JvbGxUbygpO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfSxcbiAgICAgICAgY29udGFpbmVyOiBmdW5jdGlvbiBjb250YWluZXIoKSB7XG4gICAgICAgICAgICB0aGlzLmluaXQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgY3VycmVudExpbms6IGZ1bmN0aW9uIGN1cnJlbnRMaW5rKG5ld0hyZWYsIG9sZEhyZWYpIHtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWNoYW5nZScsIG5ld0hyZWYsIG9sZEhyZWYpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgICB0aGlzLmluaXQoKTtcbiAgICB9LFxuICAgIGJlZm9yZURlc3Ryb3k6IGZ1bmN0aW9uIGJlZm9yZURlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlTGlzdGVuZXIoKTtcbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDk4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnQW5jaG9yTGluaycsXG4gICAgaW5qZWN0OiBbJ2FuY2hvckNvbSddLFxuICAgIHByb3BzOiB7XG4gICAgICAgIGhyZWY6IFN0cmluZyxcbiAgICAgICAgdGl0bGU6IFN0cmluZyxcbiAgICAgICAgc2Nyb2xsT2Zmc2V0OiB7XG4gICAgICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hbmNob3JDb20uc2Nyb2xsT2Zmc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcHJlZml4OiAnaXZ1LWFuY2hvci1saW5rJ1xuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICBhbmNob3JMaW5rQ2xhc3NlczogZnVuY3Rpb24gYW5jaG9yTGlua0NsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gW3RoaXMucHJlZml4LCB0aGlzLmFuY2hvckNvbS5jdXJyZW50TGluayA9PT0gdGhpcy5ocmVmID8gU3RyaW5nKHRoaXMucHJlZml4KSArICctYWN0aXZlJyA6ICcnXTtcbiAgICAgICAgfSxcbiAgICAgICAgbGlua1RpdGxlQ2xhc3NlczogZnVuY3Rpb24gbGlua1RpdGxlQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbU3RyaW5nKHRoaXMucHJlZml4KSArICctdGl0bGUnXTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgICBnb0FuY2hvcjogZnVuY3Rpb24gZ29BbmNob3IoKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRMaW5rID0gdGhpcy5ocmVmO1xuICAgICAgICAgICAgdGhpcy5hbmNob3JDb20uaGFuZGxlSGFzaENoYW5nZSgpO1xuICAgICAgICAgICAgdGhpcy5hbmNob3JDb20uaGFuZGxlU2Nyb2xsVG8oKTtcbiAgICAgICAgICAgIHRoaXMuYW5jaG9yQ29tLiRlbWl0KCdvbi1zZWxlY3QnLCB0aGlzLmhyZWYpO1xuICAgICAgICAgICAgdmFyIGlzUm91dGUgPSB0aGlzLiRyb3V0ZXI7XG4gICAgICAgICAgICBpZiAoaXNSb3V0ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHRoaXMuaHJlZik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdGhpcy5ocmVmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICB0aGlzLmFuY2hvckNvbS5pbml0KCk7XG4gICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiA5OSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX3NlbGVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oNzApO1xuXG52YXIgX3NlbGVjdDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zZWxlY3QpO1xuXG52YXIgX29wdGlvbiA9IF9fd2VicGFja19yZXF1aXJlX18oNzQpO1xuXG52YXIgX29wdGlvbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9vcHRpb24pO1xuXG52YXIgX2lucHV0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNyk7XG5cbnZhciBfaW5wdXQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaW5wdXQpO1xuXG52YXIgX2Fzc2lzdCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbnZhciBfZW1pdHRlciA9IF9fd2VicGFja19yZXF1aXJlX18oNCk7XG5cbnZhciBfZW1pdHRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9lbWl0dGVyKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdBdXRvQ29tcGxldGUnLFxuICAgIG1peGluczogW19lbWl0dGVyMi5kZWZhdWx0XSxcbiAgICBjb21wb25lbnRzOiB7IGlTZWxlY3Q6IF9zZWxlY3QyLmRlZmF1bHQsIGlPcHRpb246IF9vcHRpb24yLmRlZmF1bHQsIGlJbnB1dDogX2lucHV0Mi5kZWZhdWx0IH0sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgIHR5cGU6IFtTdHJpbmcsIE51bWJlcl0sXG4gICAgICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgICB9LFxuICAgICAgICBsYWJlbDoge1xuICAgICAgICAgICAgdHlwZTogW1N0cmluZywgTnVtYmVyXSxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICcnXG4gICAgICAgIH0sXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIHR5cGU6IEFycmF5LFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgfS5iaW5kKHVuZGVmaW5lZClcbiAgICAgICAgfSxcbiAgICAgICAgZGlzYWJsZWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBjbGVhcmFibGU6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBwbGFjZWhvbGRlcjoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nXG4gICAgICAgIH0sXG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWydzbWFsbCcsICdsYXJnZScsICdkZWZhdWx0J10pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAhdGhpcy4kSVZJRVcgfHwgdGhpcy4kSVZJRVcuc2l6ZSA9PT0gJycgPyAnZGVmYXVsdCcgOiB0aGlzLiRJVklFVy5zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBpY29uOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgZmlsdGVyTWV0aG9kOiB7XG4gICAgICAgICAgICB0eXBlOiBbRnVuY3Rpb24sIEJvb2xlYW5dLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgcGxhY2VtZW50OiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsndG9wJywgJ2JvdHRvbSddKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGRlZmF1bHQ6ICdib3R0b20nXG4gICAgICAgIH0sXG4gICAgICAgIHRyYW5zZmVyOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJElWSUVXLnRyYW5zZmVyID09PSAnJyA/IGZhbHNlIDogdGhpcy4kSVZJRVcudHJhbnNmZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG5hbWU6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZ1xuICAgICAgICB9LFxuICAgICAgICBlbGVtZW50SWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZ1xuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY3VycmVudFZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgZGlzYWJsZUVtaXRDaGFuZ2U6IGZhbHNlIH07XG4gICAgfSxcblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGlucHV0SWNvbjogZnVuY3Rpb24gaW5wdXRJY29uKCkge1xuICAgICAgICAgICAgdmFyIGljb24gPSAnJztcblxuICAgICAgICAgICAgaWYgKHRoaXMuY2xlYXJhYmxlICYmIHRoaXMuY3VycmVudFZhbHVlICYmICF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgaWNvbiA9ICdpb3MtY2xvc2UnO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmljb24pIHtcbiAgICAgICAgICAgICAgICBpY29uID0gdGhpcy5pY29uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGljb247XG4gICAgICAgIH0sXG4gICAgICAgIGZpbHRlcmVkRGF0YTogZnVuY3Rpb24gZmlsdGVyZWREYXRhKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgaWYgKHRoaXMuZmlsdGVyTWV0aG9kKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5maWx0ZXIoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbHRlck1ldGhvZCh0aGlzLmN1cnJlbnRWYWx1ZSwgaXRlbSk7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0YTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgd2F0Y2g6IHtcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIHZhbHVlKHZhbCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudFZhbHVlICE9PSB2YWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVFbWl0Q2hhbmdlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gdmFsO1xuICAgICAgICB9LFxuICAgICAgICBjdXJyZW50VmFsdWU6IGZ1bmN0aW9uIGN1cnJlbnRWYWx1ZSh2YWwpIHtcbiAgICAgICAgICAgIHRoaXMuJHJlZnMuc2VsZWN0LnNldFF1ZXJ5KHZhbCk7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIHZhbCk7XG4gICAgICAgICAgICBpZiAodGhpcy5kaXNhYmxlRW1pdENoYW5nZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZUVtaXRDaGFuZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1jaGFuZ2UnLCB2YWwpO1xuICAgICAgICAgICAgdGhpcy5kaXNwYXRjaCgnRm9ybUl0ZW0nLCAnb24tZm9ybS1jaGFuZ2UnLCB2YWwpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIHJlbW90ZU1ldGhvZDogZnVuY3Rpb24gcmVtb3RlTWV0aG9kKHF1ZXJ5KSB7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1zZWFyY2gnLCBxdWVyeSk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUNoYW5nZTogZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKHZhbCkge1xuICAgICAgICAgICAgaWYgKHZhbCA9PT0gdW5kZWZpbmVkIHx8IHZhbCA9PT0gbnVsbCkgcmV0dXJuO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB2YWw7XG4gICAgICAgICAgICB0aGlzLiRyZWZzLmlucHV0LmJsdXIoKTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLXNlbGVjdCcsIHZhbCk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUZvY3VzOiBmdW5jdGlvbiBoYW5kbGVGb2N1cyhldmVudCkge1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tZm9jdXMnLCBldmVudCk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUJsdXI6IGZ1bmN0aW9uIGhhbmRsZUJsdXIoZXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWJsdXInLCBldmVudCk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUNsZWFyOiBmdW5jdGlvbiBoYW5kbGVDbGVhcigpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5jbGVhcmFibGUpIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gJyc7XG4gICAgICAgICAgICB0aGlzLiRyZWZzLnNlbGVjdC5yZXNldCgpO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tY2xlYXInKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlQ2xpY2tPdXRzaWRlOiBmdW5jdGlvbiBoYW5kbGVDbGlja091dHNpZGUoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMuaW5wdXQuYmx1cigpO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTAwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9zbGljZWRUb0FycmF5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMjMpO1xuXG52YXIgX3NsaWNlZFRvQXJyYXkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc2xpY2VkVG9BcnJheTIpO1xuXG52YXIgX2lzRmluaXRlID0gX193ZWJwYWNrX3JlcXVpcmVfXyg3MSk7XG5cbnZhciBfaXNGaW5pdGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaXNGaW5pdGUpO1xuXG52YXIgX2dldEl0ZXJhdG9yMiA9IF9fd2VicGFja19yZXF1aXJlX18oNDQpO1xuXG52YXIgX2dldEl0ZXJhdG9yMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2dldEl0ZXJhdG9yMik7XG5cbnZhciBfc3RyaW5naWZ5ID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1NCk7XG5cbnZhciBfc3RyaW5naWZ5MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3N0cmluZ2lmeSk7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG52YXIgX2V4dGVuZHMzID0gX193ZWJwYWNrX3JlcXVpcmVfXygzMSk7XG5cbnZhciBfZXh0ZW5kczQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9leHRlbmRzMyk7XG5cbnZhciBfdG9Db25zdW1hYmxlQXJyYXkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNik7XG5cbnZhciBfdG9Db25zdW1hYmxlQXJyYXkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdG9Db25zdW1hYmxlQXJyYXkyKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbnZhciBfZHJvcGRvd24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMzKTtcblxudmFyIF9kcm9wZG93bjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kcm9wZG93bik7XG5cbnZhciBfdkNsaWNrT3V0c2lkZVggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM1KTtcblxudmFyIF90cmFuc2ZlckRvbSA9IF9fd2VicGFja19yZXF1aXJlX18oMjEpO1xuXG52YXIgX3RyYW5zZmVyRG9tMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RyYW5zZmVyRG9tKTtcblxudmFyIF9hc3Npc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXG52YXIgX2VtaXR0ZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQpO1xuXG52YXIgX2VtaXR0ZXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZW1pdHRlcik7XG5cbnZhciBfbG9jYWxlID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1KTtcblxudmFyIF9sb2NhbGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbG9jYWxlKTtcblxudmFyIF9zZWxlY3RIZWFkID0gX193ZWJwYWNrX3JlcXVpcmVfXygzMTIpO1xuXG52YXIgX3NlbGVjdEhlYWQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc2VsZWN0SGVhZCk7XG5cbnZhciBfZnVuY3Rpb25hbE9wdGlvbnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMxNCk7XG5cbnZhciBfZnVuY3Rpb25hbE9wdGlvbnMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZnVuY3Rpb25hbE9wdGlvbnMpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1zZWxlY3QnO1xudmFyIG9wdGlvblJlZ2V4cCA9IC9eaS1vcHRpb24kfF5PcHRpb24kL2k7XG52YXIgb3B0aW9uR3JvdXBSZWdleHAgPSAvb3B0aW9uLT9ncm91cC9pO1xuXG52YXIgZmluZENoaWxkID0gZnVuY3Rpb24gKGluc3RhbmNlLCBjaGVja0ZuKSB7XG4gICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG5cbiAgICB2YXIgbWF0Y2ggPSBjaGVja0ZuKGluc3RhbmNlKTtcbiAgICBpZiAobWF0Y2gpIHJldHVybiBpbnN0YW5jZTtcbiAgICBmb3IgKHZhciBpID0gMCwgbCA9IGluc3RhbmNlLiRjaGlsZHJlbi5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgdmFyIGNoaWxkID0gaW5zdGFuY2UuJGNoaWxkcmVuW2ldO1xuICAgICAgICBtYXRjaCA9IGZpbmRDaGlsZChjaGlsZCwgY2hlY2tGbik7XG4gICAgICAgIGlmIChtYXRjaCkgcmV0dXJuIG1hdGNoO1xuICAgIH1cbn0uYmluZCh1bmRlZmluZWQpO1xuXG52YXIgZmluZE9wdGlvbnNJblZOb2RlID0gZnVuY3Rpb24gKG5vZGUpIHtcbiAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcblxuICAgIHZhciBvcHRzID0gbm9kZS5jb21wb25lbnRPcHRpb25zO1xuICAgIGlmIChvcHRzICYmIG9wdHMudGFnLm1hdGNoKG9wdGlvblJlZ2V4cCkpIHJldHVybiBbbm9kZV07XG4gICAgaWYgKCFub2RlLmNoaWxkcmVuICYmICghb3B0cyB8fCAhb3B0cy5jaGlsZHJlbikpIHJldHVybiBbXTtcbiAgICB2YXIgY2hpbGRyZW4gPSBbXS5jb25jYXQoKDAsIF90b0NvbnN1bWFibGVBcnJheTMuZGVmYXVsdCkobm9kZS5jaGlsZHJlbiB8fCBbXSksICgwLCBfdG9Db25zdW1hYmxlQXJyYXkzLmRlZmF1bHQpKG9wdHMgJiYgb3B0cy5jaGlsZHJlbiB8fCBbXSkpO1xuICAgIHZhciBvcHRpb25zID0gY2hpbGRyZW4ucmVkdWNlKGZ1bmN0aW9uIChhcnIsIGVsKSB7XG4gICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgICAgICByZXR1cm4gW10uY29uY2F0KCgwLCBfdG9Db25zdW1hYmxlQXJyYXkzLmRlZmF1bHQpKGFyciksICgwLCBfdG9Db25zdW1hYmxlQXJyYXkzLmRlZmF1bHQpKGZpbmRPcHRpb25zSW5WTm9kZShlbCkpKTtcbiAgICB9LmJpbmQodW5kZWZpbmVkKSwgW10pLmZpbHRlcihCb29sZWFuKTtcbiAgICByZXR1cm4gb3B0aW9ucy5sZW5ndGggPiAwID8gb3B0aW9ucyA6IFtdO1xufS5iaW5kKHVuZGVmaW5lZCk7XG5cbnZhciBleHRyYWN0T3B0aW9ucyA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XG4gICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gICAgcmV0dXJuIG9wdGlvbnMucmVkdWNlKGZ1bmN0aW9uIChvcHRpb25zLCBzbG90RW50cnkpIHtcbiAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG5cbiAgICAgICAgcmV0dXJuIG9wdGlvbnMuY29uY2F0KGZpbmRPcHRpb25zSW5WTm9kZShzbG90RW50cnkpKTtcbiAgICB9LmJpbmQodW5kZWZpbmVkKSwgW10pO1xufS5iaW5kKHVuZGVmaW5lZCk7XG5cbnZhciBhcHBseVByb3AgPSBmdW5jdGlvbiAobm9kZSwgcHJvcE5hbWUsIHZhbHVlKSB7XG4gICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG5cbiAgICByZXR1cm4gKDAsIF9leHRlbmRzNC5kZWZhdWx0KSh7fSwgbm9kZSwge1xuICAgICAgICBjb21wb25lbnRPcHRpb25zOiAoMCwgX2V4dGVuZHM0LmRlZmF1bHQpKHt9LCBub2RlLmNvbXBvbmVudE9wdGlvbnMsIHtcbiAgICAgICAgICAgIHByb3BzRGF0YTogKDAsIF9leHRlbmRzNC5kZWZhdWx0KSh7fSwgbm9kZS5jb21wb25lbnRPcHRpb25zLnByb3BzRGF0YSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sIHByb3BOYW1lLCB2YWx1ZSkpXG4gICAgICAgIH0pXG4gICAgfSk7XG59LmJpbmQodW5kZWZpbmVkKTtcblxudmFyIGdldE5lc3RlZFByb3BlcnR5ID0gZnVuY3Rpb24gKG9iaiwgcGF0aCkge1xuICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuXG4gICAgdmFyIGtleXMgPSBwYXRoLnNwbGl0KCcuJyk7XG4gICAgcmV0dXJuIGtleXMucmVkdWNlKGZ1bmN0aW9uIChvLCBrZXkpIHtcbiAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gICAgICAgIHJldHVybiBvICYmIG9ba2V5XSB8fCBudWxsO1xuICAgIH0uYmluZCh1bmRlZmluZWQpLCBvYmopO1xufS5iaW5kKHVuZGVmaW5lZCk7XG5cbnZhciBnZXRPcHRpb25MYWJlbCA9IGZ1bmN0aW9uIChvcHRpb24pIHtcbiAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcblxuICAgIGlmIChvcHRpb24uY29tcG9uZW50T3B0aW9ucy5wcm9wc0RhdGEubGFiZWwpIHJldHVybiBvcHRpb24uY29tcG9uZW50T3B0aW9ucy5wcm9wc0RhdGEubGFiZWw7XG4gICAgdmFyIHRleHRDb250ZW50ID0gKG9wdGlvbi5jb21wb25lbnRPcHRpb25zLmNoaWxkcmVuIHx8IFtdKS5yZWR1Y2UoZnVuY3Rpb24gKHN0ciwgY2hpbGQpIHtcbiAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gICAgICAgIHJldHVybiBzdHIgKyAoY2hpbGQudGV4dCB8fCAnJyk7XG4gICAgfS5iaW5kKHVuZGVmaW5lZCksICcnKTtcbiAgICB2YXIgaW5uZXJIVE1MID0gZ2V0TmVzdGVkUHJvcGVydHkob3B0aW9uLCAnZGF0YS5kb21Qcm9wcy5pbm5lckhUTUwnKTtcbiAgICByZXR1cm4gdGV4dENvbnRlbnQgfHwgKHR5cGVvZiBpbm5lckhUTUwgPT09ICdzdHJpbmcnID8gaW5uZXJIVE1MIDogJycpO1xufS5iaW5kKHVuZGVmaW5lZCk7XG5cbnZhciBjaGVja1ZhbHVlc05vdEVxdWFsID0gZnVuY3Rpb24gKHZhbHVlLCBwdWJsaWNWYWx1ZSwgdmFsdWVzKSB7XG4gICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG5cbiAgICB2YXIgc3RyVmFsdWUgPSAoMCwgX3N0cmluZ2lmeTIuZGVmYXVsdCkodmFsdWUpO1xuICAgIHZhciBzdHJQdWJsaWMgPSAoMCwgX3N0cmluZ2lmeTIuZGVmYXVsdCkocHVibGljVmFsdWUpO1xuICAgIHZhciBzdHJWYWx1ZXMgPSAoMCwgX3N0cmluZ2lmeTIuZGVmYXVsdCkodmFsdWVzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcblxuICAgICAgICByZXR1cm4gaXRlbS52YWx1ZTtcbiAgICB9LmJpbmQodW5kZWZpbmVkKSkpO1xuICAgIHJldHVybiBzdHJWYWx1ZSAhPT0gc3RyUHVibGljIHx8IHN0clZhbHVlICE9PSBzdHJWYWx1ZXMgfHwgc3RyVmFsdWVzICE9PSBzdHJQdWJsaWM7XG59LmJpbmQodW5kZWZpbmVkKTtcblxudmFyIEFOSU1BVElPTl9USU1FT1VUID0gMzAwO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ2lTZWxlY3QnLFxuICAgIG1peGluczogW19lbWl0dGVyMi5kZWZhdWx0LCBfbG9jYWxlMi5kZWZhdWx0XSxcbiAgICBjb21wb25lbnRzOiB7IEZ1bmN0aW9uYWxPcHRpb25zOiBfZnVuY3Rpb25hbE9wdGlvbnMyLmRlZmF1bHQsIERyb3A6IF9kcm9wZG93bjIuZGVmYXVsdCwgU2VsZWN0SGVhZDogX3NlbGVjdEhlYWQyLmRlZmF1bHQgfSxcbiAgICBkaXJlY3RpdmVzOiB7IGNsaWNrT3V0c2lkZTogX3ZDbGlja091dHNpZGVYLmRpcmVjdGl2ZSwgVHJhbnNmZXJEb206IF90cmFuc2ZlckRvbTIuZGVmYXVsdCB9LFxuICAgIHByb3BzOiB7XG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICB0eXBlOiBbU3RyaW5nLCBOdW1iZXIsIEFycmF5XSxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICcnXG4gICAgICAgIH0sXG5cbiAgICAgICAgbGFiZWw6IHtcbiAgICAgICAgICAgIHR5cGU6IFtTdHJpbmcsIE51bWJlciwgQXJyYXldLFxuICAgICAgICAgICAgZGVmYXVsdDogJydcbiAgICAgICAgfSxcbiAgICAgICAgbXVsdGlwbGU6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBkaXNhYmxlZDoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIGNsZWFyYWJsZToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHBsYWNlaG9sZGVyOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgZmlsdGVyYWJsZToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIGZpbHRlck1ldGhvZDoge1xuICAgICAgICAgICAgdHlwZTogRnVuY3Rpb25cbiAgICAgICAgfSxcbiAgICAgICAgcmVtb3RlTWV0aG9kOiB7XG4gICAgICAgICAgICB0eXBlOiBGdW5jdGlvblxuICAgICAgICB9LFxuICAgICAgICBsb2FkaW5nOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgbG9hZGluZ1RleHQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZ1xuICAgICAgICB9LFxuICAgICAgICBzaXplOiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnc21hbGwnLCAnbGFyZ2UnLCAnZGVmYXVsdCddKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIXRoaXMuJElWSUVXIHx8IHRoaXMuJElWSUVXLnNpemUgPT09ICcnID8gJ2RlZmF1bHQnIDogdGhpcy4kSVZJRVcuc2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbGFiZWxJblZhbHVlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgbm90Rm91bmRUZXh0OiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgcGxhY2VtZW50OiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsndG9wJywgJ2JvdHRvbScsICd0b3Atc3RhcnQnLCAnYm90dG9tLXN0YXJ0JywgJ3RvcC1lbmQnLCAnYm90dG9tLWVuZCddKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGRlZmF1bHQ6ICdib3R0b20tc3RhcnQnXG4gICAgICAgIH0sXG4gICAgICAgIHRyYW5zZmVyOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICF0aGlzLiRJVklFVyB8fCB0aGlzLiRJVklFVy50cmFuc2ZlciA9PT0gJycgPyBmYWxzZSA6IHRoaXMuJElWSUVXLnRyYW5zZmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuXG4gICAgICAgIGF1dG9Db21wbGV0ZToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIG5hbWU6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZ1xuICAgICAgICB9LFxuICAgICAgICBlbGVtZW50SWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZ1xuICAgICAgICB9LFxuICAgICAgICB0cmFuc2ZlckNsYXNzTmFtZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nXG4gICAgICAgIH0sXG5cbiAgICAgICAgcHJlZml4OiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcblxuICAgICAgICBtYXhUYWdDb3VudDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyXG4gICAgICAgIH0sXG5cbiAgICAgICAgbWF4VGFnUGxhY2Vob2xkZXI6IHtcbiAgICAgICAgICAgIHR5cGU6IEZ1bmN0aW9uXG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgICAgdGhpcy4kb24oJ29uLXNlbGVjdC1zZWxlY3RlZCcsIHRoaXMub25PcHRpb25DbGljayk7XG5cbiAgICAgICAgaWYgKCF0aGlzLnJlbW90ZSAmJiB0aGlzLnNlbGVjdE9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZXMgPSB0aGlzLmdldEluaXRpYWxWYWx1ZSgpLm1hcChmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdudW1iZXInICYmICF2YWx1ZSkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0T3B0aW9uRGF0YSh2YWx1ZSk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpLmZpbHRlcihCb29sZWFuKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hlY2tVcGRhdGVTdGF0dXMoKTtcbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByZWZpeENsczogcHJlZml4Q2xzLFxuICAgICAgICAgICAgdmFsdWVzOiBbXSxcbiAgICAgICAgICAgIGRyb3BEb3duV2lkdGg6IDAsXG4gICAgICAgICAgICB2aXNpYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGZvY3VzSW5kZXg6IC0xLFxuICAgICAgICAgICAgaXNGb2N1c2VkOiBmYWxzZSxcbiAgICAgICAgICAgIHF1ZXJ5OiAnJyxcbiAgICAgICAgICAgIGluaXRpYWxMYWJlbDogdGhpcy5sYWJlbCxcbiAgICAgICAgICAgIGhhc01vdXNlSG92ZXJIZWFkOiBmYWxzZSxcbiAgICAgICAgICAgIHNsb3RPcHRpb25zOiB0aGlzLiRzbG90cy5kZWZhdWx0LFxuICAgICAgICAgICAgY2FyZXRQb3NpdGlvbjogLTEsXG4gICAgICAgICAgICBsYXN0UmVtb3RlUXVlcnk6ICcnLFxuICAgICAgICAgICAgdW5jaGFuZ2VkUXVlcnk6IHRydWUsXG4gICAgICAgICAgICBoYXNFeHBlY3RlZFZhbHVlOiBmYWxzZSxcbiAgICAgICAgICAgIHByZXZlbnRSZW1vdGVDYWxsOiBmYWxzZSxcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5Q2hhbmdlOiBmYWxzZSB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWY7XG5cbiAgICAgICAgICAgIHJldHVybiBbJycgKyBwcmVmaXhDbHMsIChfcmVmID0ge30sICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctdmlzaWJsZScsIHRoaXMudmlzaWJsZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctZGlzYWJsZWQnLCB0aGlzLmRpc2FibGVkKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1tdWx0aXBsZScsIHRoaXMubXVsdGlwbGUpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLXNpbmdsZScsICF0aGlzLm11bHRpcGxlKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1zaG93LWNsZWFyJywgdGhpcy5zaG93Q2xvc2VJY29uKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy0nICsgU3RyaW5nKHRoaXMuc2l6ZSksICEhdGhpcy5zaXplKSwgX3JlZildO1xuICAgICAgICB9LFxuICAgICAgICBkcm9wZG93bkNsczogZnVuY3Rpb24gZHJvcGRvd25DbHMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjI7XG5cbiAgICAgICAgICAgIHJldHVybiBfcmVmMiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmMiwgcHJlZml4Q2xzICsgJy1kcm9wZG93bi10cmFuc2ZlcicsIHRoaXMudHJhbnNmZXIpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmMiwgcHJlZml4Q2xzICsgJy1tdWx0aXBsZScsIHRoaXMubXVsdGlwbGUgJiYgdGhpcy50cmFuc2ZlciksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYyLCAnaXZ1LWF1dG8tY29tcGxldGUnLCB0aGlzLmF1dG9Db21wbGV0ZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYyLCB0aGlzLnRyYW5zZmVyQ2xhc3NOYW1lLCB0aGlzLnRyYW5zZmVyQ2xhc3NOYW1lKSwgX3JlZjI7XG4gICAgICAgIH0sXG4gICAgICAgIHNlbGVjdGlvbkNsczogZnVuY3Rpb24gc2VsZWN0aW9uQ2xzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWYzO1xuXG4gICAgICAgICAgICByZXR1cm4gX3JlZjMgPSB7fSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjMsIHByZWZpeENscyArICctc2VsZWN0aW9uJywgIXRoaXMuYXV0b0NvbXBsZXRlKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjMsIHByZWZpeENscyArICctc2VsZWN0aW9uLWZvY3VzZWQnLCB0aGlzLmlzRm9jdXNlZCksIF9yZWYzO1xuICAgICAgICB9LFxuICAgICAgICBsb2NhbGVOb3RGb3VuZFRleHQ6IGZ1bmN0aW9uIGxvY2FsZU5vdEZvdW5kVGV4dCgpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5ub3RGb3VuZFRleHQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudCgnaS5zZWxlY3Qubm9NYXRjaCcpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5ub3RGb3VuZFRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGxvY2FsZUxvYWRpbmdUZXh0OiBmdW5jdGlvbiBsb2NhbGVMb2FkaW5nVGV4dCgpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5sb2FkaW5nVGV4dCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50KCdpLnNlbGVjdC5sb2FkaW5nJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmxvYWRpbmdUZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB0cmFuc2l0aW9uTmFtZTogZnVuY3Rpb24gdHJhbnNpdGlvbk5hbWUoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wbGFjZW1lbnQgPT09ICdib3R0b20nID8gJ3NsaWRlLXVwJyA6ICdzbGlkZS1kb3duJztcbiAgICAgICAgfSxcbiAgICAgICAgZHJvcFZpc2libGU6IGZ1bmN0aW9uIGRyb3BWaXNpYmxlKCkge1xuICAgICAgICAgICAgdmFyIHN0YXR1cyA9IHRydWU7XG4gICAgICAgICAgICB2YXIgbm9PcHRpb25zID0gIXRoaXMuc2VsZWN0T3B0aW9ucyB8fCB0aGlzLnNlbGVjdE9wdGlvbnMubGVuZ3RoID09PSAwO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmxvYWRpbmcgJiYgdGhpcy5yZW1vdGUgJiYgdGhpcy5xdWVyeSA9PT0gJycgJiYgbm9PcHRpb25zKSBzdGF0dXMgPSBmYWxzZTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuYXV0b0NvbXBsZXRlICYmIG5vT3B0aW9ucykgc3RhdHVzID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZpc2libGUgJiYgc3RhdHVzO1xuICAgICAgICB9LFxuICAgICAgICBzaG93Tm90Rm91bmRMYWJlbDogZnVuY3Rpb24gc2hvd05vdEZvdW5kTGFiZWwoKSB7XG4gICAgICAgICAgICB2YXIgbG9hZGluZyA9IHRoaXMubG9hZGluZyxcbiAgICAgICAgICAgICAgICByZW1vdGUgPSB0aGlzLnJlbW90ZSxcbiAgICAgICAgICAgICAgICBzZWxlY3RPcHRpb25zID0gdGhpcy5zZWxlY3RPcHRpb25zO1xuXG4gICAgICAgICAgICByZXR1cm4gc2VsZWN0T3B0aW9ucyAmJiBzZWxlY3RPcHRpb25zLmxlbmd0aCA9PT0gMCAmJiAoIXJlbW90ZSB8fCByZW1vdGUgJiYgIWxvYWRpbmcpO1xuICAgICAgICB9LFxuICAgICAgICBwdWJsaWNWYWx1ZTogZnVuY3Rpb24gcHVibGljVmFsdWUoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgICAgICAgaWYgKHRoaXMubGFiZWxJblZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubXVsdGlwbGUgPyB0aGlzLnZhbHVlcyA6IHRoaXMudmFsdWVzWzBdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tdWx0aXBsZSA/IHRoaXMudmFsdWVzLm1hcChmdW5jdGlvbiAob3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpIDogKHRoaXMudmFsdWVzWzBdIHx8IHt9KS52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgY2FuQmVDbGVhcmVkOiBmdW5jdGlvbiBjYW5CZUNsZWFyZWQoKSB7XG4gICAgICAgICAgICB2YXIgdWlTdGF0ZU1hdGNoID0gdGhpcy5oYXNNb3VzZUhvdmVySGVhZCB8fCB0aGlzLmFjdGl2ZTtcbiAgICAgICAgICAgIHZhciBxdWFsaWZpZXNGb3JDbGVhciA9ICF0aGlzLm11bHRpcGxlICYmICF0aGlzLmRpc2FibGVkICYmIHRoaXMuY2xlYXJhYmxlO1xuICAgICAgICAgICAgcmV0dXJuIHVpU3RhdGVNYXRjaCAmJiBxdWFsaWZpZXNGb3JDbGVhciAmJiB0aGlzLnJlc2V0O1xuICAgICAgICB9LFxuICAgICAgICBzZWxlY3RPcHRpb25zOiBmdW5jdGlvbiBzZWxlY3RPcHRpb25zKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICAgICAgICAgIHZhciBzZWxlY3RPcHRpb25zID0gW107XG4gICAgICAgICAgICB2YXIgc2xvdE9wdGlvbnMgPSB0aGlzLnNsb3RPcHRpb25zIHx8IFtdO1xuICAgICAgICAgICAgdmFyIG9wdGlvbkNvdW50ZXIgPSAtMTtcbiAgICAgICAgICAgIHZhciBjdXJyZW50SW5kZXggPSB0aGlzLmZvY3VzSW5kZXg7XG4gICAgICAgICAgICB2YXIgc2VsZWN0ZWRWYWx1ZXMgPSB0aGlzLnZhbHVlcy5maWx0ZXIoQm9vbGVhbikubWFwKGZ1bmN0aW9uIChfcmVmNCkge1xuICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9IF9yZWY0LnZhbHVlO1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgaWYgKHRoaXMuYXV0b0NvbXBsZXRlKSB7XG4gICAgICAgICAgICAgICAgdmFyIGNvcHlDaGlsZHJlbiA9IGZ1bmN0aW9uIChub2RlLCBmbikge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMyk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfZXh0ZW5kczQuZGVmYXVsdCkoe30sIG5vZGUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAobm9kZS5jaGlsZHJlbiB8fCBbXSkubWFwKGZuKS5tYXAoZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb3B5Q2hpbGRyZW4oY2hpbGQsIGZuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSlcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpO1xuICAgICAgICAgICAgICAgIHZhciBhdXRvQ29tcGxldGVPcHRpb25zID0gZXh0cmFjdE9wdGlvbnMoc2xvdE9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIHZhciBzZWxlY3RlZFNsb3RPcHRpb24gPSBhdXRvQ29tcGxldGVPcHRpb25zW2N1cnJlbnRJbmRleF07XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gc2xvdE9wdGlvbnMubWFwKGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMzKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAobm9kZSA9PT0gc2VsZWN0ZWRTbG90T3B0aW9uIHx8IGdldE5lc3RlZFByb3BlcnR5KG5vZGUsICdjb21wb25lbnRPcHRpb25zLnByb3BzRGF0YS52YWx1ZScpID09PSB0aGlzLnZhbHVlKSByZXR1cm4gYXBwbHlQcm9wKG5vZGUsICdpc0ZvY3VzZWQnLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvcHlDaGlsZHJlbihub2RlLCBmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkICE9PSBzZWxlY3RlZFNsb3RPcHRpb24pIHJldHVybiBjaGlsZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhcHBseVByb3AoY2hpbGQsICdpc0ZvY3VzZWQnLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIF9pdGVyYXRvck5vcm1hbENvbXBsZXRpb24gPSB0cnVlO1xuICAgICAgICAgICAgdmFyIF9kaWRJdGVyYXRvckVycm9yID0gZmFsc2U7XG4gICAgICAgICAgICB2YXIgX2l0ZXJhdG9yRXJyb3IgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgZm9yICh2YXIgX2l0ZXJhdG9yID0gKDAsIF9nZXRJdGVyYXRvcjMuZGVmYXVsdCkoc2xvdE9wdGlvbnMpLCBfc3RlcDsgIShfaXRlcmF0b3JOb3JtYWxDb21wbGV0aW9uID0gKF9zdGVwID0gX2l0ZXJhdG9yLm5leHQoKSkuZG9uZSk7IF9pdGVyYXRvck5vcm1hbENvbXBsZXRpb24gPSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBvcHRpb24gPSBfc3RlcC52YWx1ZTtcblxuXG4gICAgICAgICAgICAgICAgICAgIHZhciBjT3B0aW9ucyA9IG9wdGlvbi5jb21wb25lbnRPcHRpb25zO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWNPcHRpb25zKSBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNPcHRpb25zLnRhZy5tYXRjaChvcHRpb25Hcm91cFJlZ2V4cCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjaGlsZHJlbiA9IGNPcHRpb25zLmNoaWxkcmVuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5maWx0ZXJhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW4gPSBjaGlsZHJlbi5maWx0ZXIoZnVuY3Rpb24gKF9yZWY1KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjb21wb25lbnRPcHRpb25zID0gX3JlZjUuY29tcG9uZW50T3B0aW9ucztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZU9wdGlvbihjb21wb25lbnRPcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbiA9IGNoaWxkcmVuLm1hcChmdW5jdGlvbiAob3B0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczMpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uQ291bnRlciA9IG9wdGlvbkNvdW50ZXIgKyAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NPcHRpb24ob3B0LCBzZWxlY3RlZFZhbHVlcywgb3B0aW9uQ291bnRlciA9PT0gY3VycmVudEluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPiAwKSBzZWxlY3RPcHRpb25zLnB1c2goKDAsIF9leHRlbmRzNC5kZWZhdWx0KSh7fSwgb3B0aW9uLCB7IGNvbXBvbmVudE9wdGlvbnM6ICgwLCBfZXh0ZW5kczQuZGVmYXVsdCkoe30sIGNPcHRpb25zLCB7IGNoaWxkcmVuOiBjaGlsZHJlbiB9KSB9KSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5maWx0ZXJRdWVyeUNoYW5nZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBvcHRpb25QYXNzZXNGaWx0ZXIgPSB0aGlzLmZpbHRlcmFibGUgPyB0aGlzLnZhbGlkYXRlT3B0aW9uKGNPcHRpb25zKSA6IG9wdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvblBhc3Nlc0ZpbHRlcikgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbkNvdW50ZXIgPSBvcHRpb25Db3VudGVyICsgMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdE9wdGlvbnMucHVzaCh0aGlzLnByb2Nlc3NPcHRpb24ob3B0aW9uLCBzZWxlY3RlZFZhbHVlcywgb3B0aW9uQ291bnRlciA9PT0gY3VycmVudEluZGV4KSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBfZGlkSXRlcmF0b3JFcnJvciA9IHRydWU7XG4gICAgICAgICAgICAgICAgX2l0ZXJhdG9yRXJyb3IgPSBlcnI7XG4gICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghX2l0ZXJhdG9yTm9ybWFsQ29tcGxldGlvbiAmJiBfaXRlcmF0b3IucmV0dXJuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfaXRlcmF0b3IucmV0dXJuKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoX2RpZEl0ZXJhdG9yRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IF9pdGVyYXRvckVycm9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gc2VsZWN0T3B0aW9ucztcbiAgICAgICAgfSxcbiAgICAgICAgZmxhdE9wdGlvbnM6IGZ1bmN0aW9uIGZsYXRPcHRpb25zKCkge1xuICAgICAgICAgICAgcmV0dXJuIGV4dHJhY3RPcHRpb25zKHRoaXMuc2VsZWN0T3B0aW9ucyk7XG4gICAgICAgIH0sXG4gICAgICAgIHNlbGVjdFRhYmluZGV4OiBmdW5jdGlvbiBzZWxlY3RUYWJpbmRleCgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8IHRoaXMuZmlsdGVyYWJsZSA/IC0xIDogMDtcbiAgICAgICAgfSxcbiAgICAgICAgcmVtb3RlOiBmdW5jdGlvbiByZW1vdGUoKSB7XG4gICAgICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXMucmVtb3RlTWV0aG9kID09PSAnZnVuY3Rpb24nO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIHNldFF1ZXJ5OiBmdW5jdGlvbiBzZXRRdWVyeShxdWVyeSkge1xuICAgICAgICAgICAgaWYgKHF1ZXJ5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vblF1ZXJ5Q2hhbmdlKHF1ZXJ5KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocXVlcnkgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uUXVlcnlDaGFuZ2UoJycpO1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzID0gW107XG5cbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RSZW1vdGVRdWVyeSA9ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjbGVhclNpbmdsZVNlbGVjdDogZnVuY3Rpb24gY2xlYXJTaW5nbGVTZWxlY3QoKSB7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1jbGVhcicpO1xuICAgICAgICAgICAgdGhpcy5oaWRlTWVudSgpO1xuICAgICAgICAgICAgaWYgKHRoaXMuY2xlYXJhYmxlKSB0aGlzLnJlc2V0KCk7XG4gICAgICAgIH0sXG4gICAgICAgIGdldE9wdGlvbkRhdGE6IGZ1bmN0aW9uIGdldE9wdGlvbkRhdGEodmFsdWUpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczQgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgb3B0aW9uID0gdGhpcy5mbGF0T3B0aW9ucy5maW5kKGZ1bmN0aW9uIChfcmVmNikge1xuICAgICAgICAgICAgICAgIHZhciBjb21wb25lbnRPcHRpb25zID0gX3JlZjYuY29tcG9uZW50T3B0aW9ucztcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzNCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudE9wdGlvbnMucHJvcHNEYXRhLnZhbHVlID09PSB2YWx1ZTtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICBpZiAoIW9wdGlvbikgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB2YXIgbGFiZWwgPSBnZXRPcHRpb25MYWJlbChvcHRpb24pO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgICAgICAgbGFiZWw6IGxhYmVsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgICBnZXRJbml0aWFsVmFsdWU6IGZ1bmN0aW9uIGdldEluaXRpYWxWYWx1ZSgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczUgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgbXVsdGlwbGUgPSB0aGlzLm11bHRpcGxlLFxuICAgICAgICAgICAgICAgIHJlbW90ZSA9IHRoaXMucmVtb3RlLFxuICAgICAgICAgICAgICAgIHZhbHVlID0gdGhpcy52YWx1ZTtcblxuICAgICAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xuICAgICAgICAgICAgaWYgKCFtdWx0aXBsZSAmJiAodHlwZW9mIGluaXRpYWxWYWx1ZVswXSA9PT0gJ3VuZGVmaW5lZCcgfHwgU3RyaW5nKGluaXRpYWxWYWx1ZVswXSkudHJpbSgpID09PSAnJyAmJiAhKDAsIF9pc0Zpbml0ZTIuZGVmYXVsdCkoaW5pdGlhbFZhbHVlWzBdKSkpIGluaXRpYWxWYWx1ZSA9IFtdO1xuICAgICAgICAgICAgaWYgKHJlbW90ZSAmJiAhbXVsdGlwbGUgJiYgdmFsdWUpIHtcbiAgICAgICAgICAgICAgICB2YXIgZGF0YSA9IHRoaXMuZ2V0T3B0aW9uRGF0YSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5xdWVyeSA9IGRhdGEgPyBkYXRhLmxhYmVsIDogU3RyaW5nKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBpbml0aWFsVmFsdWUuZmlsdGVyKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczUpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIEJvb2xlYW4oaXRlbSkgfHwgaXRlbSA9PT0gMDtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgIH0sXG4gICAgICAgIHByb2Nlc3NPcHRpb246IGZ1bmN0aW9uIHByb2Nlc3NPcHRpb24ob3B0aW9uLCB2YWx1ZXMsIGlzRm9jdXNlZCkge1xuICAgICAgICAgICAgaWYgKCFvcHRpb24uY29tcG9uZW50T3B0aW9ucykgcmV0dXJuIG9wdGlvbjtcbiAgICAgICAgICAgIHZhciBvcHRpb25WYWx1ZSA9IG9wdGlvbi5jb21wb25lbnRPcHRpb25zLnByb3BzRGF0YS52YWx1ZTtcbiAgICAgICAgICAgIHZhciBkaXNhYmxlZCA9IG9wdGlvbi5jb21wb25lbnRPcHRpb25zLnByb3BzRGF0YS5kaXNhYmxlZDtcbiAgICAgICAgICAgIHZhciBpc1NlbGVjdGVkID0gdmFsdWVzLmluY2x1ZGVzKG9wdGlvblZhbHVlKTtcblxuICAgICAgICAgICAgdmFyIHByb3BzRGF0YSA9ICgwLCBfZXh0ZW5kczQuZGVmYXVsdCkoe30sIG9wdGlvbi5jb21wb25lbnRPcHRpb25zLnByb3BzRGF0YSwge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBpc1NlbGVjdGVkLFxuICAgICAgICAgICAgICAgIGlzRm9jdXNlZDogaXNGb2N1c2VkLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiB0eXBlb2YgZGlzYWJsZWQgPT09ICd1bmRlZmluZWQnID8gZmFsc2UgOiBkaXNhYmxlZCAhPT0gZmFsc2VcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gKDAsIF9leHRlbmRzNC5kZWZhdWx0KSh7fSwgb3B0aW9uLCB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50T3B0aW9uczogKDAsIF9leHRlbmRzNC5kZWZhdWx0KSh7fSwgb3B0aW9uLmNvbXBvbmVudE9wdGlvbnMsIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvcHNEYXRhOiBwcm9wc0RhdGFcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRlT3B0aW9uOiBmdW5jdGlvbiB2YWxpZGF0ZU9wdGlvbihfcmVmNykge1xuICAgICAgICAgICAgdmFyIF90aGlzNiA9IHRoaXM7XG5cbiAgICAgICAgICAgIHZhciBjaGlsZHJlbiA9IF9yZWY3LmNoaWxkcmVuLFxuICAgICAgICAgICAgICAgIGVsbSA9IF9yZWY3LmVsbSxcbiAgICAgICAgICAgICAgICBwcm9wc0RhdGEgPSBfcmVmNy5wcm9wc0RhdGE7XG5cbiAgICAgICAgICAgIHZhciB2YWx1ZSA9IHByb3BzRGF0YS52YWx1ZTtcbiAgICAgICAgICAgIHZhciBsYWJlbCA9IHByb3BzRGF0YS5sYWJlbCB8fCAnJztcbiAgICAgICAgICAgIHZhciB0ZXh0Q29udGVudCA9IGVsbSAmJiBlbG0udGV4dENvbnRlbnQgfHwgKGNoaWxkcmVuIHx8IFtdKS5yZWR1Y2UoZnVuY3Rpb24gKHN0ciwgbm9kZSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM2KTtcblxuICAgICAgICAgICAgICAgIHZhciBub2RlVGV4dCA9IG5vZGUuZWxtID8gbm9kZS5lbG0udGV4dENvbnRlbnQgOiBub2RlLnRleHQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFN0cmluZyhzdHIpICsgJyAnICsgU3RyaW5nKG5vZGVUZXh0KTtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSwgJycpIHx8ICcnO1xuICAgICAgICAgICAgdmFyIHN0cmluZ1ZhbHVlcyA9ICgwLCBfc3RyaW5naWZ5Mi5kZWZhdWx0KShbdmFsdWUsIGxhYmVsLCB0ZXh0Q29udGVudF0pO1xuICAgICAgICAgICAgdmFyIHF1ZXJ5ID0gdGhpcy5xdWVyeS50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcbiAgICAgICAgICAgIHJldHVybiBzdHJpbmdWYWx1ZXMudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxdWVyeSk7XG4gICAgICAgIH0sXG4gICAgICAgIHRvZ2dsZU1lbnU6IGZ1bmN0aW9uIHRvZ2dsZU1lbnUoZSwgZm9yY2UpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnZpc2libGUgPSB0eXBlb2YgZm9yY2UgIT09ICd1bmRlZmluZWQnID8gZm9yY2UgOiAhdGhpcy52aXNpYmxlO1xuICAgICAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZHJvcERvd25XaWR0aCA9IHRoaXMuJGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICAgICAgICAgIHRoaXMuYnJvYWRjYXN0KCdEcm9wJywgJ29uLXVwZGF0ZS1wb3BwZXInKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgaGlkZU1lbnU6IGZ1bmN0aW9uIGhpZGVNZW51KCkge1xuICAgICAgICAgICAgdmFyIF90aGlzNyA9IHRoaXM7XG5cbiAgICAgICAgICAgIHRoaXMudG9nZ2xlTWVudShudWxsLCBmYWxzZSk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzNyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudW5jaGFuZ2VkUXVlcnkgPSB0cnVlO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpLCBBTklNQVRJT05fVElNRU9VVCk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ2xpY2tPdXRzaWRlOiBmdW5jdGlvbiBvbkNsaWNrT3V0c2lkZShldmVudCkge1xuICAgICAgICAgICAgdmFyIF90aGlzOCA9IHRoaXM7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnZpc2libGUpIHtcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ21vdXNlZG93bicpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRyYW5zZmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciAkZWwgPSB0aGlzLiRyZWZzLmRyb3Bkb3duLiRlbDtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoJGVsID09PSBldmVudC50YXJnZXQgfHwgJGVsLmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpbHRlcmFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGlucHV0ID0gdGhpcy4kZWwucXVlcnlTZWxlY3RvcignaW5wdXRbdHlwZT1cInRleHRcIl0nKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXJldFBvc2l0aW9uID0gaW5wdXQuc2VsZWN0aW9uU3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM4KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNhcmV0UG9zaXRpb24gPSB0aGlzLmNhcmV0UG9zaXRpb24gPT09IC0xID8gaW5wdXQudmFsdWUubGVuZ3RoIDogdGhpcy5jYXJldFBvc2l0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UoY2FyZXRQb3NpdGlvbiwgY2FyZXRQb3NpdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmF1dG9Db21wbGV0ZSkgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGVNZW51KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0ZvY3VzZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWNsaWNrb3V0c2lkZScsIGV2ZW50KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXJldFBvc2l0aW9uID0gLTE7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgcmVzZXQ6IGZ1bmN0aW9uIHJlc2V0KCkge1xuICAgICAgICAgICAgdGhpcy5xdWVyeSA9ICcnO1xuICAgICAgICAgICAgdGhpcy5mb2N1c0luZGV4ID0gLTE7XG4gICAgICAgICAgICB0aGlzLnVuY2hhbmdlZFF1ZXJ5ID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMudmFsdWVzID0gW107XG4gICAgICAgICAgICB0aGlzLmZpbHRlclF1ZXJ5Q2hhbmdlID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUtleWRvd246IGZ1bmN0aW9uIGhhbmRsZUtleWRvd24oZSkge1xuICAgICAgICAgICAgdmFyIGtleSA9IGUua2V5IHx8IGUuY29kZTtcbiAgICAgICAgICAgIGlmIChrZXkgPT09ICdCYWNrc3BhY2UnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy52aXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09ICdUYWInKSB7XG4gICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlTWVudSgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRlT3B0aW9ucygtMSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZU9wdGlvbnMoMSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5mb2N1c0luZGV4ID09PSAtMSkgcmV0dXJuIHRoaXMuaGlkZU1lbnUoKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG9wdGlvbkNvbXBvbmVudCA9IHRoaXMuZmxhdE9wdGlvbnNbdGhpcy5mb2N1c0luZGV4XTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9uQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgb3B0aW9uID0gdGhpcy5nZXRPcHRpb25EYXRhKG9wdGlvbkNvbXBvbmVudC5jb21wb25lbnRPcHRpb25zLnByb3BzRGF0YS52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uT3B0aW9uQ2xpY2sob3B0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGlkZU1lbnUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFyIGtleXNUaGF0Q2FuT3BlblNlbGVjdCA9IFsnQXJyb3dVcCcsICdBcnJvd0Rvd24nXTtcbiAgICAgICAgICAgICAgICBpZiAoa2V5c1RoYXRDYW5PcGVuU2VsZWN0LmluY2x1ZGVzKGUua2V5KSkgdGhpcy50b2dnbGVNZW51KG51bGwsIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBuYXZpZ2F0ZU9wdGlvbnM6IGZ1bmN0aW9uIG5hdmlnYXRlT3B0aW9ucyhkaXJlY3Rpb24pIHtcbiAgICAgICAgICAgIHZhciBvcHRpb25zTGVuZ3RoID0gdGhpcy5mbGF0T3B0aW9ucy5sZW5ndGggLSAxO1xuXG4gICAgICAgICAgICB2YXIgaW5kZXggPSB0aGlzLmZvY3VzSW5kZXggKyBkaXJlY3Rpb247XG4gICAgICAgICAgICBpZiAoaW5kZXggPCAwKSBpbmRleCA9IG9wdGlvbnNMZW5ndGg7XG4gICAgICAgICAgICBpZiAoaW5kZXggPiBvcHRpb25zTGVuZ3RoKSBpbmRleCA9IDA7XG5cbiAgICAgICAgICAgIGlmIChkaXJlY3Rpb24gPiAwKSB7XG4gICAgICAgICAgICAgICAgdmFyIG5lYXJlc3RBY3RpdmVPcHRpb24gPSAtMTtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuZmxhdE9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG9wdGlvbklzQWN0aXZlID0gIXRoaXMuZmxhdE9wdGlvbnNbaV0uY29tcG9uZW50T3B0aW9ucy5wcm9wc0RhdGEuZGlzYWJsZWQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25Jc0FjdGl2ZSkgbmVhcmVzdEFjdGl2ZU9wdGlvbiA9IGk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChuZWFyZXN0QWN0aXZlT3B0aW9uID49IGluZGV4KSBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW5kZXggPSBuZWFyZXN0QWN0aXZlT3B0aW9uO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YXIgX25lYXJlc3RBY3RpdmVPcHRpb24gPSB0aGlzLmZsYXRPcHRpb25zLmxlbmd0aDtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBfaSA9IG9wdGlvbnNMZW5ndGg7IF9pID49IDA7IF9pLS0pIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9vcHRpb25Jc0FjdGl2ZSA9ICF0aGlzLmZsYXRPcHRpb25zW19pXS5jb21wb25lbnRPcHRpb25zLnByb3BzRGF0YS5kaXNhYmxlZDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKF9vcHRpb25Jc0FjdGl2ZSkgX25lYXJlc3RBY3RpdmVPcHRpb24gPSBfaTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKF9uZWFyZXN0QWN0aXZlT3B0aW9uIDw9IGluZGV4KSBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW5kZXggPSBfbmVhcmVzdEFjdGl2ZU9wdGlvbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5mb2N1c0luZGV4ID0gaW5kZXg7XG4gICAgICAgIH0sXG4gICAgICAgIG9uT3B0aW9uQ2xpY2s6IGZ1bmN0aW9uIG9uT3B0aW9uQ2xpY2sob3B0aW9uKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXM5ID0gdGhpcztcblxuICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5yZW1vdGUpIHRoaXMubGFzdFJlbW90ZVF1ZXJ5ID0gdGhpcy5sYXN0UmVtb3RlUXVlcnkgfHwgdGhpcy5xdWVyeTtlbHNlIHRoaXMubGFzdFJlbW90ZVF1ZXJ5ID0gJyc7XG5cbiAgICAgICAgICAgICAgICB2YXIgdmFsdWVJc1NlbGVjdGVkID0gdGhpcy52YWx1ZXMuZmluZChmdW5jdGlvbiAoX3JlZjgpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHZhbHVlID0gX3JlZjgudmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM5KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlID09PSBvcHRpb24udmFsdWU7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWVJc1NlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzID0gdGhpcy52YWx1ZXMuZmlsdGVyKGZ1bmN0aW9uIChfcmVmOSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbHVlID0gX3JlZjkudmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzOSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgIT09IG9wdGlvbi52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlcyA9IHRoaXMudmFsdWVzLmNvbmNhdChvcHRpb24pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuaXNGb2N1c2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5xdWVyeSA9IFN0cmluZyhvcHRpb24ubGFiZWwpLnRyaW0oKTtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlcyA9IFtvcHRpb25dO1xuICAgICAgICAgICAgICAgIHRoaXMubGFzdFJlbW90ZVF1ZXJ5ID0gJyc7XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlTWVudSgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmZvY3VzSW5kZXggPSB0aGlzLmZsYXRPcHRpb25zLmZpbmRJbmRleChmdW5jdGlvbiAob3B0KSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczkpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFvcHQgfHwgIW9wdC5jb21wb25lbnRPcHRpb25zKSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9wdC5jb21wb25lbnRPcHRpb25zLnByb3BzRGF0YS52YWx1ZSA9PT0gb3B0aW9uLnZhbHVlO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuZmlsdGVyYWJsZSkge1xuICAgICAgICAgICAgICAgIHZhciBpbnB1dEZpZWxkID0gdGhpcy4kZWwucXVlcnlTZWxlY3RvcignaW5wdXRbdHlwZT1cInRleHRcIl0nKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuYXV0b0NvbXBsZXRlKSB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM5KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlucHV0RmllbGQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5icm9hZGNhc3QoJ0Ryb3AnLCAnb24tdXBkYXRlLXBvcHBlcicpO1xuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczkpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJRdWVyeUNoYW5nZSA9IGZhbHNlO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpLCBBTklNQVRJT05fVElNRU9VVCk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uUXVlcnlDaGFuZ2U6IGZ1bmN0aW9uIG9uUXVlcnlDaGFuZ2UocXVlcnkpIHtcbiAgICAgICAgICAgIGlmIChxdWVyeS5sZW5ndGggPiAwICYmIHF1ZXJ5ICE9PSB0aGlzLnF1ZXJ5KSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYXV0b0NvbXBsZXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBpc0lucHV0Rm9jdXNlZCA9IGRvY3VtZW50Lmhhc0ZvY3VzICYmIGRvY3VtZW50Lmhhc0ZvY3VzKCkgJiYgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy4kZWwucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gaXNJbnB1dEZvY3VzZWQ7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMucXVlcnkgPSBxdWVyeTtcbiAgICAgICAgICAgIHRoaXMudW5jaGFuZ2VkUXVlcnkgPSB0aGlzLnZpc2libGU7XG4gICAgICAgICAgICB0aGlzLmZpbHRlclF1ZXJ5Q2hhbmdlID0gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgdG9nZ2xlSGVhZGVyRm9jdXM6IGZ1bmN0aW9uIHRvZ2dsZUhlYWRlckZvY3VzKF9yZWYxMCkge1xuICAgICAgICAgICAgdmFyIHR5cGUgPSBfcmVmMTAudHlwZTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmlzRm9jdXNlZCA9IHR5cGUgPT09ICdmb2N1cyc7XG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZVNsb3RPcHRpb25zOiBmdW5jdGlvbiB1cGRhdGVTbG90T3B0aW9ucygpIHtcbiAgICAgICAgICAgIHRoaXMuc2xvdE9wdGlvbnMgPSB0aGlzLiRzbG90cy5kZWZhdWx0O1xuICAgICAgICB9LFxuICAgICAgICBjaGVja1VwZGF0ZVN0YXR1czogZnVuY3Rpb24gY2hlY2tVcGRhdGVTdGF0dXMoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5nZXRJbml0aWFsVmFsdWUoKS5sZW5ndGggPiAwICYmIHRoaXMuc2VsZWN0T3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhc0V4cGVjdGVkVmFsdWUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICB3YXRjaDoge1xuICAgICAgICB2YWx1ZTogZnVuY3Rpb24gdmFsdWUoX3ZhbHVlKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMxMCA9IHRoaXM7XG5cbiAgICAgICAgICAgIHZhciBnZXRJbml0aWFsVmFsdWUgPSB0aGlzLmdldEluaXRpYWxWYWx1ZSxcbiAgICAgICAgICAgICAgICBnZXRPcHRpb25EYXRhID0gdGhpcy5nZXRPcHRpb25EYXRhLFxuICAgICAgICAgICAgICAgIHB1YmxpY1ZhbHVlID0gdGhpcy5wdWJsaWNWYWx1ZSxcbiAgICAgICAgICAgICAgICB2YWx1ZXMgPSB0aGlzLnZhbHVlcztcblxuXG4gICAgICAgICAgICB0aGlzLmNoZWNrVXBkYXRlU3RhdHVzKCk7XG5cbiAgICAgICAgICAgIGlmIChfdmFsdWUgPT09ICcnKSB0aGlzLnZhbHVlcyA9IFtdO2Vsc2UgaWYgKGNoZWNrVmFsdWVzTm90RXF1YWwoX3ZhbHVlLCBwdWJsaWNWYWx1ZSwgdmFsdWVzKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczEwKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzID0gZ2V0SW5pdGlhbFZhbHVlKCkubWFwKGdldE9wdGlvbkRhdGEpLmZpbHRlcihCb29sZWFuKTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2goJ0Zvcm1JdGVtJywgJ29uLWZvcm0tY2hhbmdlJywgdGhpcy5wdWJsaWNWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHZhbHVlczogZnVuY3Rpb24gdmFsdWVzKG5vdywgYmVmb3JlKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMxMSA9IHRoaXM7XG5cbiAgICAgICAgICAgIHZhciBuZXdWYWx1ZSA9ICgwLCBfc3RyaW5naWZ5Mi5kZWZhdWx0KShub3cpO1xuICAgICAgICAgICAgdmFyIG9sZFZhbHVlID0gKDAsIF9zdHJpbmdpZnkyLmRlZmF1bHQpKGJlZm9yZSk7XG5cbiAgICAgICAgICAgIHZhciB2TW9kZWxWYWx1ZSA9IHRoaXMucHVibGljVmFsdWUgJiYgdGhpcy5sYWJlbEluVmFsdWUgPyB0aGlzLm11bHRpcGxlID8gdGhpcy5wdWJsaWNWYWx1ZS5tYXAoZnVuY3Rpb24gKF9yZWYxMSkge1xuICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9IF9yZWYxMS52YWx1ZTtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMTEpO1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSkgOiB0aGlzLnB1YmxpY1ZhbHVlLnZhbHVlIDogdGhpcy5wdWJsaWNWYWx1ZTtcbiAgICAgICAgICAgIHZhciBzaG91bGRFbWl0SW5wdXQgPSBuZXdWYWx1ZSAhPT0gb2xkVmFsdWUgJiYgdk1vZGVsVmFsdWUgIT09IHRoaXMudmFsdWU7XG4gICAgICAgICAgICBpZiAoc2hvdWxkRW1pdElucHV0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnaW5wdXQnLCB2TW9kZWxWYWx1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tY2hhbmdlJywgdGhpcy5wdWJsaWNWYWx1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwYXRjaCgnRm9ybUl0ZW0nLCAnb24tZm9ybS1jaGFuZ2UnLCB0aGlzLnB1YmxpY1ZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgcXVlcnk6IGZ1bmN0aW9uIHF1ZXJ5KF9xdWVyeSkge1xuICAgICAgICAgICAgdmFyIF90aGlzMTIgPSB0aGlzO1xuXG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1xdWVyeS1jaGFuZ2UnLCBfcXVlcnkpO1xuICAgICAgICAgICAgdmFyIHJlbW90ZU1ldGhvZCA9IHRoaXMucmVtb3RlTWV0aG9kLFxuICAgICAgICAgICAgICAgIGxhc3RSZW1vdGVRdWVyeSA9IHRoaXMubGFzdFJlbW90ZVF1ZXJ5O1xuXG4gICAgICAgICAgICB2YXIgaGFzVmFsaWRRdWVyeSA9IF9xdWVyeSAhPT0gJycgJiYgKF9xdWVyeSAhPT0gbGFzdFJlbW90ZVF1ZXJ5IHx8ICFsYXN0UmVtb3RlUXVlcnkpO1xuICAgICAgICAgICAgdmFyIHNob3VsZENhbGxSZW1vdGVNZXRob2QgPSByZW1vdGVNZXRob2QgJiYgaGFzVmFsaWRRdWVyeSAmJiAhdGhpcy5wcmV2ZW50UmVtb3RlQ2FsbDtcbiAgICAgICAgICAgIHRoaXMucHJldmVudFJlbW90ZUNhbGwgPSBmYWxzZTtcblxuICAgICAgICAgICAgaWYgKHNob3VsZENhbGxSZW1vdGVNZXRob2QpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzSW5kZXggPSAtMTtcbiAgICAgICAgICAgICAgICB2YXIgcHJvbWlzZSA9IHRoaXMucmVtb3RlTWV0aG9kKF9xdWVyeSk7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsTGFiZWwgPSAnJztcbiAgICAgICAgICAgICAgICBpZiAocHJvbWlzZSAmJiBwcm9taXNlLnRoZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uIChvcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMTIpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucykgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoX3F1ZXJ5ICE9PSAnJyAmJiB0aGlzLnJlbW90ZSkgdGhpcy5sYXN0UmVtb3RlUXVlcnkgPSBfcXVlcnk7XG4gICAgICAgIH0sXG4gICAgICAgIGxvYWRpbmc6IGZ1bmN0aW9uIGxvYWRpbmcoc3RhdGUpIHtcbiAgICAgICAgICAgIGlmIChzdGF0ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVNsb3RPcHRpb25zKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGlzRm9jdXNlZDogZnVuY3Rpb24gaXNGb2N1c2VkKGZvY3VzZWQpIHtcbiAgICAgICAgICAgIHZhciBlbCA9IHRoaXMuZmlsdGVyYWJsZSA/IHRoaXMuJGVsLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0W3R5cGU9XCJ0ZXh0XCJdJykgOiB0aGlzLiRlbDtcbiAgICAgICAgICAgIGVsW3RoaXMuaXNGb2N1c2VkID8gJ2ZvY3VzJyA6ICdibHVyJ10oKTtcblxuICAgICAgICAgICAgdmFyIF92YWx1ZXMgPSAoMCwgX3NsaWNlZFRvQXJyYXkzLmRlZmF1bHQpKHRoaXMudmFsdWVzLCAxKSxcbiAgICAgICAgICAgICAgICBzZWxlY3RlZE9wdGlvbiA9IF92YWx1ZXNbMF07XG5cbiAgICAgICAgICAgIGlmIChzZWxlY3RlZE9wdGlvbiAmJiB0aGlzLmZpbHRlcmFibGUgJiYgIXRoaXMubXVsdGlwbGUgJiYgIWZvY3VzZWQpIHtcbiAgICAgICAgICAgICAgICB2YXIgc2VsZWN0ZWRMYWJlbCA9IFN0cmluZyhzZWxlY3RlZE9wdGlvbi5sYWJlbCB8fCBzZWxlY3RlZE9wdGlvbi52YWx1ZSkudHJpbSgpO1xuICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZExhYmVsICYmIHRoaXMucXVlcnkgIT09IHNlbGVjdGVkTGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmV2ZW50UmVtb3RlQ2FsbCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucXVlcnkgPSBzZWxlY3RlZExhYmVsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZm9jdXNJbmRleDogZnVuY3Rpb24gZm9jdXNJbmRleChpbmRleCkge1xuICAgICAgICAgICAgdmFyIF90aGlzMTMgPSB0aGlzO1xuXG4gICAgICAgICAgICBpZiAoaW5kZXggPCAwIHx8IHRoaXMuYXV0b0NvbXBsZXRlKSByZXR1cm47XG5cbiAgICAgICAgICAgIHZhciBvcHRpb25WYWx1ZSA9IHRoaXMuZmxhdE9wdGlvbnNbaW5kZXhdLmNvbXBvbmVudE9wdGlvbnMucHJvcHNEYXRhLnZhbHVlO1xuICAgICAgICAgICAgdmFyIG9wdGlvbkluc3RhbmNlID0gZmluZENoaWxkKHRoaXMsIGZ1bmN0aW9uIChfcmVmMTIpIHtcbiAgICAgICAgICAgICAgICB2YXIgJG9wdGlvbnMgPSBfcmVmMTIuJG9wdGlvbnM7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczEzKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiAkb3B0aW9ucy5jb21wb25lbnROYW1lID09PSAnc2VsZWN0LWl0ZW0nICYmICRvcHRpb25zLnByb3BzRGF0YS52YWx1ZSA9PT0gb3B0aW9uVmFsdWU7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuXG4gICAgICAgICAgICB2YXIgYm90dG9tT3ZlcmZsb3dEaXN0YW5jZSA9IG9wdGlvbkluc3RhbmNlLiRlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b20gLSB0aGlzLiRyZWZzLmRyb3Bkb3duLiRlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b207XG4gICAgICAgICAgICB2YXIgdG9wT3ZlcmZsb3dEaXN0YW5jZSA9IG9wdGlvbkluc3RhbmNlLiRlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgLSB0aGlzLiRyZWZzLmRyb3Bkb3duLiRlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XG4gICAgICAgICAgICBpZiAoYm90dG9tT3ZlcmZsb3dEaXN0YW5jZSA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmRyb3Bkb3duLiRlbC5zY3JvbGxUb3AgKz0gYm90dG9tT3ZlcmZsb3dEaXN0YW5jZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0b3BPdmVyZmxvd0Rpc3RhbmNlIDwgMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMuZHJvcGRvd24uJGVsLnNjcm9sbFRvcCArPSB0b3BPdmVyZmxvd0Rpc3RhbmNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBkcm9wVmlzaWJsZTogZnVuY3Rpb24gZHJvcFZpc2libGUob3Blbikge1xuICAgICAgICAgICAgdGhpcy5icm9hZGNhc3QoJ0Ryb3AnLCBvcGVuID8gJ29uLXVwZGF0ZS1wb3BwZXInIDogJ29uLWRlc3Ryb3ktcG9wcGVyJyk7XG4gICAgICAgIH0sXG4gICAgICAgIHNlbGVjdE9wdGlvbnM6IGZ1bmN0aW9uIHNlbGVjdE9wdGlvbnMoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5oYXNFeHBlY3RlZFZhbHVlICYmIHRoaXMuc2VsZWN0T3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudmFsdWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlcyA9IHRoaXMuZ2V0SW5pdGlhbFZhbHVlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzID0gdGhpcy52YWx1ZXMubWFwKHRoaXMuZ2V0T3B0aW9uRGF0YSkuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzRXhwZWN0ZWRWYWx1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5zbG90T3B0aW9ucyAmJiB0aGlzLnNsb3RPcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMucXVlcnkgPSAnJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5icm9hZGNhc3QoJ0Ryb3AnLCAnb24tdXBkYXRlLXBvcHBlcicpO1xuICAgICAgICB9LFxuICAgICAgICB2aXNpYmxlOiBmdW5jdGlvbiB2aXNpYmxlKHN0YXRlKSB7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1vcGVuLWNoYW5nZScsIHN0YXRlKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2xvdE9wdGlvbnM6IGZ1bmN0aW9uIHNsb3RPcHRpb25zKG9wdGlvbnMsIG9sZCkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnJlbW90ZSkge1xuICAgICAgICAgICAgICAgIHZhciB2YWx1ZXMgPSB0aGlzLmdldEluaXRpYWxWYWx1ZSgpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZsYXRPcHRpb25zICYmIHRoaXMuZmxhdE9wdGlvbnMubGVuZ3RoICYmIHZhbHVlcy5sZW5ndGggJiYgIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZXMgPSB2YWx1ZXMubWFwKHRoaXMuZ2V0T3B0aW9uRGF0YSkuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbnMgJiYgb2xkICYmIG9wdGlvbnMubGVuZ3RoICE9PSBvbGQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5icm9hZGNhc3QoJ0Ryb3AnLCAnb24tdXBkYXRlLXBvcHBlcicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxMDEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxubW9kdWxlLmV4cG9ydHMgPSB7IFwiZGVmYXVsdFwiOiBfX3dlYnBhY2tfcmVxdWlyZV9fKDI4OCksIF9fZXNNb2R1bGU6IHRydWUgfTtcblxuLyoqKi8gfSksXG4vKiAxMDIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuLy8gY2FsbCBzb21ldGhpbmcgb24gaXRlcmF0b3Igc3RlcCB3aXRoIHNhZmUgY2xvc2luZyBvbiBlcnJvclxudmFyIGFuT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygxOSk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdGVyYXRvciwgZm4sIHZhbHVlLCBlbnRyaWVzKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGVudHJpZXMgPyBmbihhbk9iamVjdCh2YWx1ZSlbMF0sIHZhbHVlWzFdKSA6IGZuKHZhbHVlKTtcbiAgLy8gNy40LjYgSXRlcmF0b3JDbG9zZShpdGVyYXRvciwgY29tcGxldGlvbilcbiAgfSBjYXRjaCAoZSkge1xuICAgIHZhciByZXQgPSBpdGVyYXRvclsncmV0dXJuJ107XG4gICAgaWYgKHJldCAhPT0gdW5kZWZpbmVkKSBhbk9iamVjdChyZXQuY2FsbChpdGVyYXRvcikpO1xuICAgIHRocm93IGU7XG4gIH1cbn07XG5cblxuLyoqKi8gfSksXG4vKiAxMDMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuLy8gY2hlY2sgb24gZGVmYXVsdCBBcnJheSBpdGVyYXRvclxudmFyIEl0ZXJhdG9ycyA9IF9fd2VicGFja19yZXF1aXJlX18oMzIpO1xudmFyIElURVJBVE9SID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMSkoJ2l0ZXJhdG9yJyk7XG52YXIgQXJyYXlQcm90byA9IEFycmF5LnByb3RvdHlwZTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGl0ICE9PSB1bmRlZmluZWQgJiYgKEl0ZXJhdG9ycy5BcnJheSA9PT0gaXQgfHwgQXJyYXlQcm90b1tJVEVSQVRPUl0gPT09IGl0KTtcbn07XG5cblxuLyoqKi8gfSksXG4vKiAxMDQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxudmFyIElURVJBVE9SID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMSkoJ2l0ZXJhdG9yJyk7XG52YXIgU0FGRV9DTE9TSU5HID0gZmFsc2U7XG5cbnRyeSB7XG4gIHZhciByaXRlciA9IFs3XVtJVEVSQVRPUl0oKTtcbiAgcml0ZXJbJ3JldHVybiddID0gZnVuY3Rpb24gKCkgeyBTQUZFX0NMT1NJTkcgPSB0cnVlOyB9O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdGhyb3ctbGl0ZXJhbFxuICBBcnJheS5mcm9tKHJpdGVyLCBmdW5jdGlvbiAoKSB7IHRocm93IDI7IH0pO1xufSBjYXRjaCAoZSkgeyAvKiBlbXB0eSAqLyB9XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGV4ZWMsIHNraXBDbG9zaW5nKSB7XG4gIGlmICghc2tpcENsb3NpbmcgJiYgIVNBRkVfQ0xPU0lORykgcmV0dXJuIGZhbHNlO1xuICB2YXIgc2FmZSA9IGZhbHNlO1xuICB0cnkge1xuICAgIHZhciBhcnIgPSBbN107XG4gICAgdmFyIGl0ZXIgPSBhcnJbSVRFUkFUT1JdKCk7XG4gICAgaXRlci5uZXh0ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4geyBkb25lOiBzYWZlID0gdHJ1ZSB9OyB9O1xuICAgIGFycltJVEVSQVRPUl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiBpdGVyOyB9O1xuICAgIGV4ZWMoYXJyKTtcbiAgfSBjYXRjaCAoZSkgeyAvKiBlbXB0eSAqLyB9XG4gIHJldHVybiBzYWZlO1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDEwNSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX3Z1ZSA9IF9fd2VicGFja19yZXF1aXJlX18oMTUpO1xuXG52YXIgX3Z1ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF92dWUpO1xuXG52YXIgX2Fzc2lzdCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbnZhciBfdHJhbnNmZXJRdWV1ZSA9IF9fd2VicGFja19yZXF1aXJlX18oMzQpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgaXNTZXJ2ZXIgPSBfdnVlMi5kZWZhdWx0LnByb3RvdHlwZS4kaXNTZXJ2ZXI7XG5cbnZhciBQb3BwZXIgPSBpc1NlcnZlciA/IGZ1bmN0aW9uICgpIHt9IDogX193ZWJwYWNrX3JlcXVpcmVfXygxMDYpO2V4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnRHJvcCcsXG4gICAgcHJvcHM6IHtcbiAgICAgICAgcGxhY2VtZW50OiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiAnYm90dG9tLXN0YXJ0J1xuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWU6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZ1xuICAgICAgICB9LFxuICAgICAgICB0cmFuc2Zlcjoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhblxuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcG9wcGVyOiBudWxsLFxuICAgICAgICAgICAgd2lkdGg6ICcnLFxuICAgICAgICAgICAgcG9wcGVyU3RhdHVzOiBmYWxzZSxcbiAgICAgICAgICAgIHRJbmRleDogdGhpcy5oYW5kbGVHZXRJbmRleCgpXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIHN0eWxlczogZnVuY3Rpb24gc3R5bGVzKCkge1xuICAgICAgICAgICAgdmFyIHN0eWxlID0ge307XG4gICAgICAgICAgICBpZiAodGhpcy53aWR0aCkgc3R5bGUubWluV2lkdGggPSBTdHJpbmcodGhpcy53aWR0aCkgKyAncHgnO1xuXG4gICAgICAgICAgICBpZiAodGhpcy50cmFuc2Zlcikgc3R5bGVbJ3otaW5kZXgnXSA9IDEwNjAgKyB0aGlzLnRJbmRleDtcblxuICAgICAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIHVwZGF0ZTogZnVuY3Rpb24gdXBkYXRlKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgaWYgKGlzU2VydmVyKSByZXR1cm47XG4gICAgICAgICAgICBpZiAodGhpcy5wb3BwZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucG9wcGVyLnVwZGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcHBlclN0YXR1cyA9IHRydWU7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcHBlciA9IG5ldyBQb3BwZXIodGhpcy4kcGFyZW50LiRyZWZzLnJlZmVyZW5jZSwgdGhpcy4kZWwsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmllcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wdXRlU3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3B1QWNjZWxlcmF0aW9uOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmVudE92ZXJmbG93OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdW5kYXJpZXNFbGVtZW50OiAnd2luZG93J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNyZWF0ZTogZnVuY3Rpb24gb25DcmVhdGUoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc2V0VHJhbnNmb3JtT3JpZ2luKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kbmV4dFRpY2sodGhpcy5wb3BwZXIudXBkYXRlKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgb25VcGRhdGU6IGZ1bmN0aW9uIG9uVXBkYXRlKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNldFRyYW5zZm9ybU9yaWdpbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLiRwYXJlbnQuJG9wdGlvbnMubmFtZSA9PT0gJ2lTZWxlY3QnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy53aWR0aCA9IHBhcnNlSW50KCgwLCBfYXNzaXN0LmdldFN0eWxlKSh0aGlzLiRwYXJlbnQuJGVsLCAnd2lkdGgnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnRJbmRleCA9IHRoaXMuaGFuZGxlR2V0SW5kZXgoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZGVzdHJveTogZnVuY3Rpb24gZGVzdHJveSgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5wb3BwZXIpIHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczIpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnBvcHBlciAmJiAhdGhpcy5wb3BwZXJTdGF0dXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucG9wcGVyLmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucG9wcGVyID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcHBlclN0YXR1cyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSwgMzAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgcmVzZXRUcmFuc2Zvcm1PcmlnaW46IGZ1bmN0aW9uIHJlc2V0VHJhbnNmb3JtT3JpZ2luKCkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnBvcHBlcikgcmV0dXJuO1xuXG4gICAgICAgICAgICB2YXIgeF9wbGFjZW1lbnQgPSB0aGlzLnBvcHBlci5wb3BwZXIuZ2V0QXR0cmlidXRlKCd4LXBsYWNlbWVudCcpO1xuICAgICAgICAgICAgdmFyIHBsYWNlbWVudFN0YXJ0ID0geF9wbGFjZW1lbnQuc3BsaXQoJy0nKVswXTtcbiAgICAgICAgICAgIHZhciBwbGFjZW1lbnRFbmQgPSB4X3BsYWNlbWVudC5zcGxpdCgnLScpWzFdO1xuICAgICAgICAgICAgdmFyIGxlZnRPclJpZ2h0ID0geF9wbGFjZW1lbnQgPT09ICdsZWZ0JyB8fCB4X3BsYWNlbWVudCA9PT0gJ3JpZ2h0JztcbiAgICAgICAgICAgIGlmICghbGVmdE9yUmlnaHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBvcHBlci5wb3BwZXIuc3R5bGUudHJhbnNmb3JtT3JpZ2luID0gcGxhY2VtZW50U3RhcnQgPT09ICdib3R0b20nIHx8IHBsYWNlbWVudFN0YXJ0ICE9PSAndG9wJyAmJiBwbGFjZW1lbnRFbmQgPT09ICdzdGFydCcgPyAnY2VudGVyIHRvcCcgOiAnY2VudGVyIGJvdHRvbSc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUdldEluZGV4OiBmdW5jdGlvbiBoYW5kbGVHZXRJbmRleCgpIHtcbiAgICAgICAgICAgICgwLCBfdHJhbnNmZXJRdWV1ZS50cmFuc2ZlckluY3JlYXNlKSgpO1xuICAgICAgICAgICAgcmV0dXJuIF90cmFuc2ZlclF1ZXVlLnRyYW5zZmVySW5kZXg7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7XG4gICAgICAgIHRoaXMuJG9uKCdvbi11cGRhdGUtcG9wcGVyJywgdGhpcy51cGRhdGUpO1xuICAgICAgICB0aGlzLiRvbignb24tZGVzdHJveS1wb3BwZXInLCB0aGlzLmRlc3Ryb3kpO1xuICAgIH0sXG4gICAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMucG9wcGVyKSB7XG4gICAgICAgICAgICB0aGlzLnBvcHBlci5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDEwNiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24oZ2xvYmFsKSB7LyoqIVxuICogQGZpbGVPdmVydmlldyBLaWNrYXNzIGxpYnJhcnkgdG8gY3JlYXRlIGFuZCBwbGFjZSBwb3BwZXJzIG5lYXIgdGhlaXIgcmVmZXJlbmNlIGVsZW1lbnRzLlxuICogQHZlcnNpb24gMS4xNS4wXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IChjKSAyMDE2IEZlZGVyaWNvIFppdm9sbyBhbmQgY29udHJpYnV0b3JzXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuKGZ1bmN0aW9uIChnbG9iYWwsIGZhY3RvcnkpIHtcblx0IHRydWUgPyBtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKSA6XG5cdHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCA/IGRlZmluZShmYWN0b3J5KSA6XG5cdChnbG9iYWwuUG9wcGVyID0gZmFjdG9yeSgpKTtcbn0odGhpcywgKGZ1bmN0aW9uICgpIHsgJ3VzZSBzdHJpY3QnO1xuXG52YXIgaXNCcm93c2VyID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJztcblxudmFyIGxvbmdlclRpbWVvdXRCcm93c2VycyA9IFsnRWRnZScsICdUcmlkZW50JywgJ0ZpcmVmb3gnXTtcbnZhciB0aW1lb3V0RHVyYXRpb24gPSAwO1xuZm9yICh2YXIgaSA9IDA7IGkgPCBsb25nZXJUaW1lb3V0QnJvd3NlcnMubGVuZ3RoOyBpICs9IDEpIHtcbiAgaWYgKGlzQnJvd3NlciAmJiBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YobG9uZ2VyVGltZW91dEJyb3dzZXJzW2ldKSA+PSAwKSB7XG4gICAgdGltZW91dER1cmF0aW9uID0gMTtcbiAgICBicmVhaztcbiAgfVxufVxuXG5mdW5jdGlvbiBtaWNyb3Rhc2tEZWJvdW5jZShmbikge1xuICB2YXIgY2FsbGVkID0gZmFsc2U7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKGNhbGxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjYWxsZWQgPSB0cnVlO1xuICAgIHdpbmRvdy5Qcm9taXNlLnJlc29sdmUoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgIGNhbGxlZCA9IGZhbHNlO1xuICAgICAgZm4oKTtcbiAgICB9KTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gdGFza0RlYm91bmNlKGZuKSB7XG4gIHZhciBzY2hlZHVsZWQgPSBmYWxzZTtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoIXNjaGVkdWxlZCkge1xuICAgICAgc2NoZWR1bGVkID0gdHJ1ZTtcbiAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICBzY2hlZHVsZWQgPSBmYWxzZTtcbiAgICAgICAgZm4oKTtcbiAgICAgIH0sIHRpbWVvdXREdXJhdGlvbik7XG4gICAgfVxuICB9O1xufVxuXG52YXIgc3VwcG9ydHNNaWNyb1Rhc2tzID0gaXNCcm93c2VyICYmIHdpbmRvdy5Qcm9taXNlO1xuXG4vKipcbiogQ3JlYXRlIGEgZGVib3VuY2VkIHZlcnNpb24gb2YgYSBtZXRob2QsIHRoYXQncyBhc3luY2hyb25vdXNseSBkZWZlcnJlZFxuKiBidXQgY2FsbGVkIGluIHRoZSBtaW5pbXVtIHRpbWUgcG9zc2libGUuXG4qXG4qIEBtZXRob2RcbiogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuKiBAYXJndW1lbnQge0Z1bmN0aW9ufSBmblxuKiBAcmV0dXJucyB7RnVuY3Rpb259XG4qL1xudmFyIGRlYm91bmNlID0gc3VwcG9ydHNNaWNyb1Rhc2tzID8gbWljcm90YXNrRGVib3VuY2UgOiB0YXNrRGVib3VuY2U7XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIGdpdmVuIHZhcmlhYmxlIGlzIGEgZnVuY3Rpb25cbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7QW55fSBmdW5jdGlvblRvQ2hlY2sgLSB2YXJpYWJsZSB0byBjaGVja1xuICogQHJldHVybnMge0Jvb2xlYW59IGFuc3dlciB0bzogaXMgYSBmdW5jdGlvbj9cbiAqL1xuZnVuY3Rpb24gaXNGdW5jdGlvbihmdW5jdGlvblRvQ2hlY2spIHtcbiAgdmFyIGdldFR5cGUgPSB7fTtcbiAgcmV0dXJuIGZ1bmN0aW9uVG9DaGVjayAmJiBnZXRUeXBlLnRvU3RyaW5nLmNhbGwoZnVuY3Rpb25Ub0NoZWNrKSA9PT0gJ1tvYmplY3QgRnVuY3Rpb25dJztcbn1cblxuLyoqXG4gKiBHZXQgQ1NTIGNvbXB1dGVkIHByb3BlcnR5IG9mIHRoZSBnaXZlbiBlbGVtZW50XG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge0VlbWVudH0gZWxlbWVudFxuICogQGFyZ3VtZW50IHtTdHJpbmd9IHByb3BlcnR5XG4gKi9cbmZ1bmN0aW9uIGdldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eShlbGVtZW50LCBwcm9wZXJ0eSkge1xuICBpZiAoZWxlbWVudC5ub2RlVHlwZSAhPT0gMSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICAvLyBOT1RFOiAxIERPTSBhY2Nlc3MgaGVyZVxuICB2YXIgd2luZG93ID0gZWxlbWVudC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O1xuICB2YXIgY3NzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgbnVsbCk7XG4gIHJldHVybiBwcm9wZXJ0eSA/IGNzc1twcm9wZXJ0eV0gOiBjc3M7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgcGFyZW50Tm9kZSBvciB0aGUgaG9zdCBvZiB0aGUgZWxlbWVudFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtFbGVtZW50fSBlbGVtZW50XG4gKiBAcmV0dXJucyB7RWxlbWVudH0gcGFyZW50XG4gKi9cbmZ1bmN0aW9uIGdldFBhcmVudE5vZGUoZWxlbWVudCkge1xuICBpZiAoZWxlbWVudC5ub2RlTmFtZSA9PT0gJ0hUTUwnKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH1cbiAgcmV0dXJuIGVsZW1lbnQucGFyZW50Tm9kZSB8fCBlbGVtZW50Lmhvc3Q7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgc2Nyb2xsaW5nIHBhcmVudCBvZiB0aGUgZ2l2ZW4gZWxlbWVudFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtFbGVtZW50fSBlbGVtZW50XG4gKiBAcmV0dXJucyB7RWxlbWVudH0gc2Nyb2xsIHBhcmVudFxuICovXG5mdW5jdGlvbiBnZXRTY3JvbGxQYXJlbnQoZWxlbWVudCkge1xuICAvLyBSZXR1cm4gYm9keSwgYGdldFNjcm9sbGAgd2lsbCB0YWtlIGNhcmUgdG8gZ2V0IHRoZSBjb3JyZWN0IGBzY3JvbGxUb3BgIGZyb20gaXRcbiAgaWYgKCFlbGVtZW50KSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LmJvZHk7XG4gIH1cblxuICBzd2l0Y2ggKGVsZW1lbnQubm9kZU5hbWUpIHtcbiAgICBjYXNlICdIVE1MJzpcbiAgICBjYXNlICdCT0RZJzpcbiAgICAgIHJldHVybiBlbGVtZW50Lm93bmVyRG9jdW1lbnQuYm9keTtcbiAgICBjYXNlICcjZG9jdW1lbnQnOlxuICAgICAgcmV0dXJuIGVsZW1lbnQuYm9keTtcbiAgfVxuXG4gIC8vIEZpcmVmb3ggd2FudCB1cyB0byBjaGVjayBgLXhgIGFuZCBgLXlgIHZhcmlhdGlvbnMgYXMgd2VsbFxuXG4gIHZhciBfZ2V0U3R5bGVDb21wdXRlZFByb3AgPSBnZXRTdHlsZUNvbXB1dGVkUHJvcGVydHkoZWxlbWVudCksXG4gICAgICBvdmVyZmxvdyA9IF9nZXRTdHlsZUNvbXB1dGVkUHJvcC5vdmVyZmxvdyxcbiAgICAgIG92ZXJmbG93WCA9IF9nZXRTdHlsZUNvbXB1dGVkUHJvcC5vdmVyZmxvd1gsXG4gICAgICBvdmVyZmxvd1kgPSBfZ2V0U3R5bGVDb21wdXRlZFByb3Aub3ZlcmZsb3dZO1xuXG4gIGlmICgvKGF1dG98c2Nyb2xsfG92ZXJsYXkpLy50ZXN0KG92ZXJmbG93ICsgb3ZlcmZsb3dZICsgb3ZlcmZsb3dYKSkge1xuICAgIHJldHVybiBlbGVtZW50O1xuICB9XG5cbiAgcmV0dXJuIGdldFNjcm9sbFBhcmVudChnZXRQYXJlbnROb2RlKGVsZW1lbnQpKTtcbn1cblxudmFyIGlzSUUxMSA9IGlzQnJvd3NlciAmJiAhISh3aW5kb3cuTVNJbnB1dE1ldGhvZENvbnRleHQgJiYgZG9jdW1lbnQuZG9jdW1lbnRNb2RlKTtcbnZhciBpc0lFMTAgPSBpc0Jyb3dzZXIgJiYgL01TSUUgMTAvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbi8qKlxuICogRGV0ZXJtaW5lcyBpZiB0aGUgYnJvd3NlciBpcyBJbnRlcm5ldCBFeHBsb3JlclxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHBhcmFtIHtOdW1iZXJ9IHZlcnNpb24gdG8gY2hlY2tcbiAqIEByZXR1cm5zIHtCb29sZWFufSBpc0lFXG4gKi9cbmZ1bmN0aW9uIGlzSUUodmVyc2lvbikge1xuICBpZiAodmVyc2lvbiA9PT0gMTEpIHtcbiAgICByZXR1cm4gaXNJRTExO1xuICB9XG4gIGlmICh2ZXJzaW9uID09PSAxMCkge1xuICAgIHJldHVybiBpc0lFMTA7XG4gIH1cbiAgcmV0dXJuIGlzSUUxMSB8fCBpc0lFMTA7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgb2Zmc2V0IHBhcmVudCBvZiB0aGUgZ2l2ZW4gZWxlbWVudFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtFbGVtZW50fSBlbGVtZW50XG4gKiBAcmV0dXJucyB7RWxlbWVudH0gb2Zmc2V0IHBhcmVudFxuICovXG5mdW5jdGlvbiBnZXRPZmZzZXRQYXJlbnQoZWxlbWVudCkge1xuICBpZiAoIWVsZW1lbnQpIHtcbiAgICByZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICB9XG5cbiAgdmFyIG5vT2Zmc2V0UGFyZW50ID0gaXNJRSgxMCkgPyBkb2N1bWVudC5ib2R5IDogbnVsbDtcblxuICAvLyBOT1RFOiAxIERPTSBhY2Nlc3MgaGVyZVxuICB2YXIgb2Zmc2V0UGFyZW50ID0gZWxlbWVudC5vZmZzZXRQYXJlbnQgfHwgbnVsbDtcbiAgLy8gU2tpcCBoaWRkZW4gZWxlbWVudHMgd2hpY2ggZG9uJ3QgaGF2ZSBhbiBvZmZzZXRQYXJlbnRcbiAgd2hpbGUgKG9mZnNldFBhcmVudCA9PT0gbm9PZmZzZXRQYXJlbnQgJiYgZWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmcpIHtcbiAgICBvZmZzZXRQYXJlbnQgPSAoZWxlbWVudCA9IGVsZW1lbnQubmV4dEVsZW1lbnRTaWJsaW5nKS5vZmZzZXRQYXJlbnQ7XG4gIH1cblxuICB2YXIgbm9kZU5hbWUgPSBvZmZzZXRQYXJlbnQgJiYgb2Zmc2V0UGFyZW50Lm5vZGVOYW1lO1xuXG4gIGlmICghbm9kZU5hbWUgfHwgbm9kZU5hbWUgPT09ICdCT0RZJyB8fCBub2RlTmFtZSA9PT0gJ0hUTUwnKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQgPyBlbGVtZW50Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50IDogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICB9XG5cbiAgLy8gLm9mZnNldFBhcmVudCB3aWxsIHJldHVybiB0aGUgY2xvc2VzdCBUSCwgVEQgb3IgVEFCTEUgaW4gY2FzZVxuICAvLyBubyBvZmZzZXRQYXJlbnQgaXMgcHJlc2VudCwgSSBoYXRlIHRoaXMgam9iLi4uXG4gIGlmIChbJ1RIJywgJ1REJywgJ1RBQkxFJ10uaW5kZXhPZihvZmZzZXRQYXJlbnQubm9kZU5hbWUpICE9PSAtMSAmJiBnZXRTdHlsZUNvbXB1dGVkUHJvcGVydHkob2Zmc2V0UGFyZW50LCAncG9zaXRpb24nKSA9PT0gJ3N0YXRpYycpIHtcbiAgICByZXR1cm4gZ2V0T2Zmc2V0UGFyZW50KG9mZnNldFBhcmVudCk7XG4gIH1cblxuICByZXR1cm4gb2Zmc2V0UGFyZW50O1xufVxuXG5mdW5jdGlvbiBpc09mZnNldENvbnRhaW5lcihlbGVtZW50KSB7XG4gIHZhciBub2RlTmFtZSA9IGVsZW1lbnQubm9kZU5hbWU7XG5cbiAgaWYgKG5vZGVOYW1lID09PSAnQk9EWScpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIG5vZGVOYW1lID09PSAnSFRNTCcgfHwgZ2V0T2Zmc2V0UGFyZW50KGVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQpID09PSBlbGVtZW50O1xufVxuXG4vKipcbiAqIEZpbmRzIHRoZSByb290IG5vZGUgKGRvY3VtZW50LCBzaGFkb3dET00gcm9vdCkgb2YgdGhlIGdpdmVuIGVsZW1lbnRcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7RWxlbWVudH0gbm9kZVxuICogQHJldHVybnMge0VsZW1lbnR9IHJvb3Qgbm9kZVxuICovXG5mdW5jdGlvbiBnZXRSb290KG5vZGUpIHtcbiAgaWYgKG5vZGUucGFyZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIHJldHVybiBnZXRSb290KG5vZGUucGFyZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gbm9kZTtcbn1cblxuLyoqXG4gKiBGaW5kcyB0aGUgb2Zmc2V0IHBhcmVudCBjb21tb24gdG8gdGhlIHR3byBwcm92aWRlZCBub2Rlc1xuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtFbGVtZW50fSBlbGVtZW50MVxuICogQGFyZ3VtZW50IHtFbGVtZW50fSBlbGVtZW50MlxuICogQHJldHVybnMge0VsZW1lbnR9IGNvbW1vbiBvZmZzZXQgcGFyZW50XG4gKi9cbmZ1bmN0aW9uIGZpbmRDb21tb25PZmZzZXRQYXJlbnQoZWxlbWVudDEsIGVsZW1lbnQyKSB7XG4gIC8vIFRoaXMgY2hlY2sgaXMgbmVlZGVkIHRvIGF2b2lkIGVycm9ycyBpbiBjYXNlIG9uZSBvZiB0aGUgZWxlbWVudHMgaXNuJ3QgZGVmaW5lZCBmb3IgYW55IHJlYXNvblxuICBpZiAoIWVsZW1lbnQxIHx8ICFlbGVtZW50MS5ub2RlVHlwZSB8fCAhZWxlbWVudDIgfHwgIWVsZW1lbnQyLm5vZGVUeXBlKSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgfVxuXG4gIC8vIEhlcmUgd2UgbWFrZSBzdXJlIHRvIGdpdmUgYXMgXCJzdGFydFwiIHRoZSBlbGVtZW50IHRoYXQgY29tZXMgZmlyc3QgaW4gdGhlIERPTVxuICB2YXIgb3JkZXIgPSBlbGVtZW50MS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlbGVtZW50MikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORztcbiAgdmFyIHN0YXJ0ID0gb3JkZXIgPyBlbGVtZW50MSA6IGVsZW1lbnQyO1xuICB2YXIgZW5kID0gb3JkZXIgPyBlbGVtZW50MiA6IGVsZW1lbnQxO1xuXG4gIC8vIEdldCBjb21tb24gYW5jZXN0b3IgY29udGFpbmVyXG4gIHZhciByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG4gIHJhbmdlLnNldFN0YXJ0KHN0YXJ0LCAwKTtcbiAgcmFuZ2Uuc2V0RW5kKGVuZCwgMCk7XG4gIHZhciBjb21tb25BbmNlc3RvckNvbnRhaW5lciA9IHJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyO1xuXG4gIC8vIEJvdGggbm9kZXMgYXJlIGluc2lkZSAjZG9jdW1lbnRcblxuICBpZiAoZWxlbWVudDEgIT09IGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyICYmIGVsZW1lbnQyICE9PSBjb21tb25BbmNlc3RvckNvbnRhaW5lciB8fCBzdGFydC5jb250YWlucyhlbmQpKSB7XG4gICAgaWYgKGlzT2Zmc2V0Q29udGFpbmVyKGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyKSkge1xuICAgICAgcmV0dXJuIGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyO1xuICAgIH1cblxuICAgIHJldHVybiBnZXRPZmZzZXRQYXJlbnQoY29tbW9uQW5jZXN0b3JDb250YWluZXIpO1xuICB9XG5cbiAgLy8gb25lIG9mIHRoZSBub2RlcyBpcyBpbnNpZGUgc2hhZG93RE9NLCBmaW5kIHdoaWNoIG9uZVxuICB2YXIgZWxlbWVudDFyb290ID0gZ2V0Um9vdChlbGVtZW50MSk7XG4gIGlmIChlbGVtZW50MXJvb3QuaG9zdCkge1xuICAgIHJldHVybiBmaW5kQ29tbW9uT2Zmc2V0UGFyZW50KGVsZW1lbnQxcm9vdC5ob3N0LCBlbGVtZW50Mik7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZpbmRDb21tb25PZmZzZXRQYXJlbnQoZWxlbWVudDEsIGdldFJvb3QoZWxlbWVudDIpLmhvc3QpO1xuICB9XG59XG5cbi8qKlxuICogR2V0cyB0aGUgc2Nyb2xsIHZhbHVlIG9mIHRoZSBnaXZlbiBlbGVtZW50IGluIHRoZSBnaXZlbiBzaWRlICh0b3AgYW5kIGxlZnQpXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge0VsZW1lbnR9IGVsZW1lbnRcbiAqIEBhcmd1bWVudCB7U3RyaW5nfSBzaWRlIGB0b3BgIG9yIGBsZWZ0YFxuICogQHJldHVybnMge251bWJlcn0gYW1vdW50IG9mIHNjcm9sbGVkIHBpeGVsc1xuICovXG5mdW5jdGlvbiBnZXRTY3JvbGwoZWxlbWVudCkge1xuICB2YXIgc2lkZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogJ3RvcCc7XG5cbiAgdmFyIHVwcGVyU2lkZSA9IHNpZGUgPT09ICd0b3AnID8gJ3Njcm9sbFRvcCcgOiAnc2Nyb2xsTGVmdCc7XG4gIHZhciBub2RlTmFtZSA9IGVsZW1lbnQubm9kZU5hbWU7XG5cbiAgaWYgKG5vZGVOYW1lID09PSAnQk9EWScgfHwgbm9kZU5hbWUgPT09ICdIVE1MJykge1xuICAgIHZhciBodG1sID0gZWxlbWVudC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICB2YXIgc2Nyb2xsaW5nRWxlbWVudCA9IGVsZW1lbnQub3duZXJEb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50IHx8IGh0bWw7XG4gICAgcmV0dXJuIHNjcm9sbGluZ0VsZW1lbnRbdXBwZXJTaWRlXTtcbiAgfVxuXG4gIHJldHVybiBlbGVtZW50W3VwcGVyU2lkZV07XG59XG5cbi8qXG4gKiBTdW0gb3Igc3VidHJhY3QgdGhlIGVsZW1lbnQgc2Nyb2xsIHZhbHVlcyAobGVmdCBhbmQgdG9wKSBmcm9tIGEgZ2l2ZW4gcmVjdCBvYmplY3RcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBwYXJhbSB7T2JqZWN0fSByZWN0IC0gUmVjdCBvYmplY3QgeW91IHdhbnQgdG8gY2hhbmdlXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbGVtZW50IC0gVGhlIGVsZW1lbnQgZnJvbSB0aGUgZnVuY3Rpb24gcmVhZHMgdGhlIHNjcm9sbCB2YWx1ZXNcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gc3VidHJhY3QgLSBzZXQgdG8gdHJ1ZSBpZiB5b3Ugd2FudCB0byBzdWJ0cmFjdCB0aGUgc2Nyb2xsIHZhbHVlc1xuICogQHJldHVybiB7T2JqZWN0fSByZWN0IC0gVGhlIG1vZGlmaWVyIHJlY3Qgb2JqZWN0XG4gKi9cbmZ1bmN0aW9uIGluY2x1ZGVTY3JvbGwocmVjdCwgZWxlbWVudCkge1xuICB2YXIgc3VidHJhY3QgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IGZhbHNlO1xuXG4gIHZhciBzY3JvbGxUb3AgPSBnZXRTY3JvbGwoZWxlbWVudCwgJ3RvcCcpO1xuICB2YXIgc2Nyb2xsTGVmdCA9IGdldFNjcm9sbChlbGVtZW50LCAnbGVmdCcpO1xuICB2YXIgbW9kaWZpZXIgPSBzdWJ0cmFjdCA/IC0xIDogMTtcbiAgcmVjdC50b3AgKz0gc2Nyb2xsVG9wICogbW9kaWZpZXI7XG4gIHJlY3QuYm90dG9tICs9IHNjcm9sbFRvcCAqIG1vZGlmaWVyO1xuICByZWN0LmxlZnQgKz0gc2Nyb2xsTGVmdCAqIG1vZGlmaWVyO1xuICByZWN0LnJpZ2h0ICs9IHNjcm9sbExlZnQgKiBtb2RpZmllcjtcbiAgcmV0dXJuIHJlY3Q7XG59XG5cbi8qXG4gKiBIZWxwZXIgdG8gZGV0ZWN0IGJvcmRlcnMgb2YgYSBnaXZlbiBlbGVtZW50XG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAcGFyYW0ge0NTU1N0eWxlRGVjbGFyYXRpb259IHN0eWxlc1xuICogUmVzdWx0IG9mIGBnZXRTdHlsZUNvbXB1dGVkUHJvcGVydHlgIG9uIHRoZSBnaXZlbiBlbGVtZW50XG4gKiBAcGFyYW0ge1N0cmluZ30gYXhpcyAtIGB4YCBvciBgeWBcbiAqIEByZXR1cm4ge251bWJlcn0gYm9yZGVycyAtIFRoZSBib3JkZXJzIHNpemUgb2YgdGhlIGdpdmVuIGF4aXNcbiAqL1xuXG5mdW5jdGlvbiBnZXRCb3JkZXJzU2l6ZShzdHlsZXMsIGF4aXMpIHtcbiAgdmFyIHNpZGVBID0gYXhpcyA9PT0gJ3gnID8gJ0xlZnQnIDogJ1RvcCc7XG4gIHZhciBzaWRlQiA9IHNpZGVBID09PSAnTGVmdCcgPyAnUmlnaHQnIDogJ0JvdHRvbSc7XG5cbiAgcmV0dXJuIHBhcnNlRmxvYXQoc3R5bGVzWydib3JkZXInICsgc2lkZUEgKyAnV2lkdGgnXSwgMTApICsgcGFyc2VGbG9hdChzdHlsZXNbJ2JvcmRlcicgKyBzaWRlQiArICdXaWR0aCddLCAxMCk7XG59XG5cbmZ1bmN0aW9uIGdldFNpemUoYXhpcywgYm9keSwgaHRtbCwgY29tcHV0ZWRTdHlsZSkge1xuICByZXR1cm4gTWF0aC5tYXgoYm9keVsnb2Zmc2V0JyArIGF4aXNdLCBib2R5WydzY3JvbGwnICsgYXhpc10sIGh0bWxbJ2NsaWVudCcgKyBheGlzXSwgaHRtbFsnb2Zmc2V0JyArIGF4aXNdLCBodG1sWydzY3JvbGwnICsgYXhpc10sIGlzSUUoMTApID8gcGFyc2VJbnQoaHRtbFsnb2Zmc2V0JyArIGF4aXNdKSArIHBhcnNlSW50KGNvbXB1dGVkU3R5bGVbJ21hcmdpbicgKyAoYXhpcyA9PT0gJ0hlaWdodCcgPyAnVG9wJyA6ICdMZWZ0JyldKSArIHBhcnNlSW50KGNvbXB1dGVkU3R5bGVbJ21hcmdpbicgKyAoYXhpcyA9PT0gJ0hlaWdodCcgPyAnQm90dG9tJyA6ICdSaWdodCcpXSkgOiAwKTtcbn1cblxuZnVuY3Rpb24gZ2V0V2luZG93U2l6ZXMoZG9jdW1lbnQpIHtcbiAgdmFyIGJvZHkgPSBkb2N1bWVudC5ib2R5O1xuICB2YXIgaHRtbCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgdmFyIGNvbXB1dGVkU3R5bGUgPSBpc0lFKDEwKSAmJiBnZXRDb21wdXRlZFN0eWxlKGh0bWwpO1xuXG4gIHJldHVybiB7XG4gICAgaGVpZ2h0OiBnZXRTaXplKCdIZWlnaHQnLCBib2R5LCBodG1sLCBjb21wdXRlZFN0eWxlKSxcbiAgICB3aWR0aDogZ2V0U2l6ZSgnV2lkdGgnLCBib2R5LCBodG1sLCBjb21wdXRlZFN0eWxlKVxuICB9O1xufVxuXG52YXIgY2xhc3NDYWxsQ2hlY2sgPSBmdW5jdGlvbiAoaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7XG4gIGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTtcbiAgfVxufTtcblxudmFyIGNyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldO1xuICAgICAgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlO1xuICAgICAgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlO1xuICAgICAgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykge1xuICAgIGlmIChwcm90b1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7XG4gICAgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7XG4gICAgcmV0dXJuIENvbnN0cnVjdG9yO1xuICB9O1xufSgpO1xuXG5cblxuXG5cbnZhciBkZWZpbmVQcm9wZXJ0eSA9IGZ1bmN0aW9uIChvYmosIGtleSwgdmFsdWUpIHtcbiAgaWYgKGtleSBpbiBvYmopIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHtcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB3cml0YWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIG9ialtrZXldID0gdmFsdWU7XG4gIH1cblxuICByZXR1cm4gb2JqO1xufTtcblxudmFyIF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7XG4gIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTtcblxuICAgIGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7XG4gICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn07XG5cbi8qKlxuICogR2l2ZW4gZWxlbWVudCBvZmZzZXRzLCBnZW5lcmF0ZSBhbiBvdXRwdXQgc2ltaWxhciB0byBnZXRCb3VuZGluZ0NsaWVudFJlY3RcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBvZmZzZXRzXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBDbGllbnRSZWN0IGxpa2Ugb3V0cHV0XG4gKi9cbmZ1bmN0aW9uIGdldENsaWVudFJlY3Qob2Zmc2V0cykge1xuICByZXR1cm4gX2V4dGVuZHMoe30sIG9mZnNldHMsIHtcbiAgICByaWdodDogb2Zmc2V0cy5sZWZ0ICsgb2Zmc2V0cy53aWR0aCxcbiAgICBib3R0b206IG9mZnNldHMudG9wICsgb2Zmc2V0cy5oZWlnaHRcbiAgfSk7XG59XG5cbi8qKlxuICogR2V0IGJvdW5kaW5nIGNsaWVudCByZWN0IG9mIGdpdmVuIGVsZW1lbnRcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnRcbiAqIEByZXR1cm4ge09iamVjdH0gY2xpZW50IHJlY3RcbiAqL1xuZnVuY3Rpb24gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGVsZW1lbnQpIHtcbiAgdmFyIHJlY3QgPSB7fTtcblxuICAvLyBJRTEwIDEwIEZJWDogUGxlYXNlLCBkb24ndCBhc2ssIHRoZSBlbGVtZW50IGlzbid0XG4gIC8vIGNvbnNpZGVyZWQgaW4gRE9NIGluIHNvbWUgY2lyY3Vtc3RhbmNlcy4uLlxuICAvLyBUaGlzIGlzbid0IHJlcHJvZHVjaWJsZSBpbiBJRTEwIGNvbXBhdGliaWxpdHkgbW9kZSBvZiBJRTExXG4gIHRyeSB7XG4gICAgaWYgKGlzSUUoMTApKSB7XG4gICAgICByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHZhciBzY3JvbGxUb3AgPSBnZXRTY3JvbGwoZWxlbWVudCwgJ3RvcCcpO1xuICAgICAgdmFyIHNjcm9sbExlZnQgPSBnZXRTY3JvbGwoZWxlbWVudCwgJ2xlZnQnKTtcbiAgICAgIHJlY3QudG9wICs9IHNjcm9sbFRvcDtcbiAgICAgIHJlY3QubGVmdCArPSBzY3JvbGxMZWZ0O1xuICAgICAgcmVjdC5ib3R0b20gKz0gc2Nyb2xsVG9wO1xuICAgICAgcmVjdC5yaWdodCArPSBzY3JvbGxMZWZ0O1xuICAgIH0gZWxzZSB7XG4gICAgICByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHt9XG5cbiAgdmFyIHJlc3VsdCA9IHtcbiAgICBsZWZ0OiByZWN0LmxlZnQsXG4gICAgdG9wOiByZWN0LnRvcCxcbiAgICB3aWR0aDogcmVjdC5yaWdodCAtIHJlY3QubGVmdCxcbiAgICBoZWlnaHQ6IHJlY3QuYm90dG9tIC0gcmVjdC50b3BcbiAgfTtcblxuICAvLyBzdWJ0cmFjdCBzY3JvbGxiYXIgc2l6ZSBmcm9tIHNpemVzXG4gIHZhciBzaXplcyA9IGVsZW1lbnQubm9kZU5hbWUgPT09ICdIVE1MJyA/IGdldFdpbmRvd1NpemVzKGVsZW1lbnQub3duZXJEb2N1bWVudCkgOiB7fTtcbiAgdmFyIHdpZHRoID0gc2l6ZXMud2lkdGggfHwgZWxlbWVudC5jbGllbnRXaWR0aCB8fCByZXN1bHQucmlnaHQgLSByZXN1bHQubGVmdDtcbiAgdmFyIGhlaWdodCA9IHNpemVzLmhlaWdodCB8fCBlbGVtZW50LmNsaWVudEhlaWdodCB8fCByZXN1bHQuYm90dG9tIC0gcmVzdWx0LnRvcDtcblxuICB2YXIgaG9yaXpTY3JvbGxiYXIgPSBlbGVtZW50Lm9mZnNldFdpZHRoIC0gd2lkdGg7XG4gIHZhciB2ZXJ0U2Nyb2xsYmFyID0gZWxlbWVudC5vZmZzZXRIZWlnaHQgLSBoZWlnaHQ7XG5cbiAgLy8gaWYgYW4gaHlwb3RoZXRpY2FsIHNjcm9sbGJhciBpcyBkZXRlY3RlZCwgd2UgbXVzdCBiZSBzdXJlIGl0J3Mgbm90IGEgYGJvcmRlcmBcbiAgLy8gd2UgbWFrZSB0aGlzIGNoZWNrIGNvbmRpdGlvbmFsIGZvciBwZXJmb3JtYW5jZSByZWFzb25zXG4gIGlmIChob3JpelNjcm9sbGJhciB8fCB2ZXJ0U2Nyb2xsYmFyKSB7XG4gICAgdmFyIHN0eWxlcyA9IGdldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eShlbGVtZW50KTtcbiAgICBob3JpelNjcm9sbGJhciAtPSBnZXRCb3JkZXJzU2l6ZShzdHlsZXMsICd4Jyk7XG4gICAgdmVydFNjcm9sbGJhciAtPSBnZXRCb3JkZXJzU2l6ZShzdHlsZXMsICd5Jyk7XG5cbiAgICByZXN1bHQud2lkdGggLT0gaG9yaXpTY3JvbGxiYXI7XG4gICAgcmVzdWx0LmhlaWdodCAtPSB2ZXJ0U2Nyb2xsYmFyO1xuICB9XG5cbiAgcmV0dXJuIGdldENsaWVudFJlY3QocmVzdWx0KTtcbn1cblxuZnVuY3Rpb24gZ2V0T2Zmc2V0UmVjdFJlbGF0aXZlVG9BcmJpdHJhcnlOb2RlKGNoaWxkcmVuLCBwYXJlbnQpIHtcbiAgdmFyIGZpeGVkUG9zaXRpb24gPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IGZhbHNlO1xuXG4gIHZhciBpc0lFMTAgPSBpc0lFKDEwKTtcbiAgdmFyIGlzSFRNTCA9IHBhcmVudC5ub2RlTmFtZSA9PT0gJ0hUTUwnO1xuICB2YXIgY2hpbGRyZW5SZWN0ID0gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGNoaWxkcmVuKTtcbiAgdmFyIHBhcmVudFJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QocGFyZW50KTtcbiAgdmFyIHNjcm9sbFBhcmVudCA9IGdldFNjcm9sbFBhcmVudChjaGlsZHJlbik7XG5cbiAgdmFyIHN0eWxlcyA9IGdldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eShwYXJlbnQpO1xuICB2YXIgYm9yZGVyVG9wV2lkdGggPSBwYXJzZUZsb2F0KHN0eWxlcy5ib3JkZXJUb3BXaWR0aCwgMTApO1xuICB2YXIgYm9yZGVyTGVmdFdpZHRoID0gcGFyc2VGbG9hdChzdHlsZXMuYm9yZGVyTGVmdFdpZHRoLCAxMCk7XG5cbiAgLy8gSW4gY2FzZXMgd2hlcmUgdGhlIHBhcmVudCBpcyBmaXhlZCwgd2UgbXVzdCBpZ25vcmUgbmVnYXRpdmUgc2Nyb2xsIGluIG9mZnNldCBjYWxjXG4gIGlmIChmaXhlZFBvc2l0aW9uICYmIGlzSFRNTCkge1xuICAgIHBhcmVudFJlY3QudG9wID0gTWF0aC5tYXgocGFyZW50UmVjdC50b3AsIDApO1xuICAgIHBhcmVudFJlY3QubGVmdCA9IE1hdGgubWF4KHBhcmVudFJlY3QubGVmdCwgMCk7XG4gIH1cbiAgdmFyIG9mZnNldHMgPSBnZXRDbGllbnRSZWN0KHtcbiAgICB0b3A6IGNoaWxkcmVuUmVjdC50b3AgLSBwYXJlbnRSZWN0LnRvcCAtIGJvcmRlclRvcFdpZHRoLFxuICAgIGxlZnQ6IGNoaWxkcmVuUmVjdC5sZWZ0IC0gcGFyZW50UmVjdC5sZWZ0IC0gYm9yZGVyTGVmdFdpZHRoLFxuICAgIHdpZHRoOiBjaGlsZHJlblJlY3Qud2lkdGgsXG4gICAgaGVpZ2h0OiBjaGlsZHJlblJlY3QuaGVpZ2h0XG4gIH0pO1xuICBvZmZzZXRzLm1hcmdpblRvcCA9IDA7XG4gIG9mZnNldHMubWFyZ2luTGVmdCA9IDA7XG5cbiAgLy8gU3VidHJhY3QgbWFyZ2lucyBvZiBkb2N1bWVudEVsZW1lbnQgaW4gY2FzZSBpdCdzIGJlaW5nIHVzZWQgYXMgcGFyZW50XG4gIC8vIHdlIGRvIHRoaXMgb25seSBvbiBIVE1MIGJlY2F1c2UgaXQncyB0aGUgb25seSBlbGVtZW50IHRoYXQgYmVoYXZlc1xuICAvLyBkaWZmZXJlbnRseSB3aGVuIG1hcmdpbnMgYXJlIGFwcGxpZWQgdG8gaXQuIFRoZSBtYXJnaW5zIGFyZSBpbmNsdWRlZCBpblxuICAvLyB0aGUgYm94IG9mIHRoZSBkb2N1bWVudEVsZW1lbnQsIGluIHRoZSBvdGhlciBjYXNlcyBub3QuXG4gIGlmICghaXNJRTEwICYmIGlzSFRNTCkge1xuICAgIHZhciBtYXJnaW5Ub3AgPSBwYXJzZUZsb2F0KHN0eWxlcy5tYXJnaW5Ub3AsIDEwKTtcbiAgICB2YXIgbWFyZ2luTGVmdCA9IHBhcnNlRmxvYXQoc3R5bGVzLm1hcmdpbkxlZnQsIDEwKTtcblxuICAgIG9mZnNldHMudG9wIC09IGJvcmRlclRvcFdpZHRoIC0gbWFyZ2luVG9wO1xuICAgIG9mZnNldHMuYm90dG9tIC09IGJvcmRlclRvcFdpZHRoIC0gbWFyZ2luVG9wO1xuICAgIG9mZnNldHMubGVmdCAtPSBib3JkZXJMZWZ0V2lkdGggLSBtYXJnaW5MZWZ0O1xuICAgIG9mZnNldHMucmlnaHQgLT0gYm9yZGVyTGVmdFdpZHRoIC0gbWFyZ2luTGVmdDtcblxuICAgIC8vIEF0dGFjaCBtYXJnaW5Ub3AgYW5kIG1hcmdpbkxlZnQgYmVjYXVzZSBpbiBzb21lIGNpcmN1bXN0YW5jZXMgd2UgbWF5IG5lZWQgdGhlbVxuICAgIG9mZnNldHMubWFyZ2luVG9wID0gbWFyZ2luVG9wO1xuICAgIG9mZnNldHMubWFyZ2luTGVmdCA9IG1hcmdpbkxlZnQ7XG4gIH1cblxuICBpZiAoaXNJRTEwICYmICFmaXhlZFBvc2l0aW9uID8gcGFyZW50LmNvbnRhaW5zKHNjcm9sbFBhcmVudCkgOiBwYXJlbnQgPT09IHNjcm9sbFBhcmVudCAmJiBzY3JvbGxQYXJlbnQubm9kZU5hbWUgIT09ICdCT0RZJykge1xuICAgIG9mZnNldHMgPSBpbmNsdWRlU2Nyb2xsKG9mZnNldHMsIHBhcmVudCk7XG4gIH1cblxuICByZXR1cm4gb2Zmc2V0cztcbn1cblxuZnVuY3Rpb24gZ2V0Vmlld3BvcnRPZmZzZXRSZWN0UmVsYXRpdmVUb0FydGJpdHJhcnlOb2RlKGVsZW1lbnQpIHtcbiAgdmFyIGV4Y2x1ZGVTY3JvbGwgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGZhbHNlO1xuXG4gIHZhciBodG1sID0gZWxlbWVudC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgdmFyIHJlbGF0aXZlT2Zmc2V0ID0gZ2V0T2Zmc2V0UmVjdFJlbGF0aXZlVG9BcmJpdHJhcnlOb2RlKGVsZW1lbnQsIGh0bWwpO1xuICB2YXIgd2lkdGggPSBNYXRoLm1heChodG1sLmNsaWVudFdpZHRoLCB3aW5kb3cuaW5uZXJXaWR0aCB8fCAwKTtcbiAgdmFyIGhlaWdodCA9IE1hdGgubWF4KGh0bWwuY2xpZW50SGVpZ2h0LCB3aW5kb3cuaW5uZXJIZWlnaHQgfHwgMCk7XG5cbiAgdmFyIHNjcm9sbFRvcCA9ICFleGNsdWRlU2Nyb2xsID8gZ2V0U2Nyb2xsKGh0bWwpIDogMDtcbiAgdmFyIHNjcm9sbExlZnQgPSAhZXhjbHVkZVNjcm9sbCA/IGdldFNjcm9sbChodG1sLCAnbGVmdCcpIDogMDtcblxuICB2YXIgb2Zmc2V0ID0ge1xuICAgIHRvcDogc2Nyb2xsVG9wIC0gcmVsYXRpdmVPZmZzZXQudG9wICsgcmVsYXRpdmVPZmZzZXQubWFyZ2luVG9wLFxuICAgIGxlZnQ6IHNjcm9sbExlZnQgLSByZWxhdGl2ZU9mZnNldC5sZWZ0ICsgcmVsYXRpdmVPZmZzZXQubWFyZ2luTGVmdCxcbiAgICB3aWR0aDogd2lkdGgsXG4gICAgaGVpZ2h0OiBoZWlnaHRcbiAgfTtcblxuICByZXR1cm4gZ2V0Q2xpZW50UmVjdChvZmZzZXQpO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBnaXZlbiBlbGVtZW50IGlzIGZpeGVkIG9yIGlzIGluc2lkZSBhIGZpeGVkIHBhcmVudFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtFbGVtZW50fSBlbGVtZW50XG4gKiBAYXJndW1lbnQge0VsZW1lbnR9IGN1c3RvbUNvbnRhaW5lclxuICogQHJldHVybnMge0Jvb2xlYW59IGFuc3dlciB0byBcImlzRml4ZWQ/XCJcbiAqL1xuZnVuY3Rpb24gaXNGaXhlZChlbGVtZW50KSB7XG4gIHZhciBub2RlTmFtZSA9IGVsZW1lbnQubm9kZU5hbWU7XG4gIGlmIChub2RlTmFtZSA9PT0gJ0JPRFknIHx8IG5vZGVOYW1lID09PSAnSFRNTCcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKGdldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eShlbGVtZW50LCAncG9zaXRpb24nKSA9PT0gJ2ZpeGVkJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHZhciBwYXJlbnROb2RlID0gZ2V0UGFyZW50Tm9kZShlbGVtZW50KTtcbiAgaWYgKCFwYXJlbnROb2RlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiBpc0ZpeGVkKHBhcmVudE5vZGUpO1xufVxuXG4vKipcbiAqIEZpbmRzIHRoZSBmaXJzdCBwYXJlbnQgb2YgYW4gZWxlbWVudCB0aGF0IGhhcyBhIHRyYW5zZm9ybWVkIHByb3BlcnR5IGRlZmluZWRcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7RWxlbWVudH0gZWxlbWVudFxuICogQHJldHVybnMge0VsZW1lbnR9IGZpcnN0IHRyYW5zZm9ybWVkIHBhcmVudCBvciBkb2N1bWVudEVsZW1lbnRcbiAqL1xuXG5mdW5jdGlvbiBnZXRGaXhlZFBvc2l0aW9uT2Zmc2V0UGFyZW50KGVsZW1lbnQpIHtcbiAgLy8gVGhpcyBjaGVjayBpcyBuZWVkZWQgdG8gYXZvaWQgZXJyb3JzIGluIGNhc2Ugb25lIG9mIHRoZSBlbGVtZW50cyBpc24ndCBkZWZpbmVkIGZvciBhbnkgcmVhc29uXG4gIGlmICghZWxlbWVudCB8fCAhZWxlbWVudC5wYXJlbnRFbGVtZW50IHx8IGlzSUUoKSkge1xuICAgIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gIH1cbiAgdmFyIGVsID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICB3aGlsZSAoZWwgJiYgZ2V0U3R5bGVDb21wdXRlZFByb3BlcnR5KGVsLCAndHJhbnNmb3JtJykgPT09ICdub25lJykge1xuICAgIGVsID0gZWwucGFyZW50RWxlbWVudDtcbiAgfVxuICByZXR1cm4gZWwgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xufVxuXG4vKipcbiAqIENvbXB1dGVkIHRoZSBib3VuZGFyaWVzIGxpbWl0cyBhbmQgcmV0dXJuIHRoZW1cbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHBvcHBlclxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gcmVmZXJlbmNlXG4gKiBAcGFyYW0ge251bWJlcn0gcGFkZGluZ1xuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gYm91bmRhcmllc0VsZW1lbnQgLSBFbGVtZW50IHVzZWQgdG8gZGVmaW5lIHRoZSBib3VuZGFyaWVzXG4gKiBAcGFyYW0ge0Jvb2xlYW59IGZpeGVkUG9zaXRpb24gLSBJcyBpbiBmaXhlZCBwb3NpdGlvbiBtb2RlXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBDb29yZGluYXRlcyBvZiB0aGUgYm91bmRhcmllc1xuICovXG5mdW5jdGlvbiBnZXRCb3VuZGFyaWVzKHBvcHBlciwgcmVmZXJlbmNlLCBwYWRkaW5nLCBib3VuZGFyaWVzRWxlbWVudCkge1xuICB2YXIgZml4ZWRQb3NpdGlvbiA9IGFyZ3VtZW50cy5sZW5ndGggPiA0ICYmIGFyZ3VtZW50c1s0XSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzRdIDogZmFsc2U7XG5cbiAgLy8gTk9URTogMSBET00gYWNjZXNzIGhlcmVcblxuICB2YXIgYm91bmRhcmllcyA9IHsgdG9wOiAwLCBsZWZ0OiAwIH07XG4gIHZhciBvZmZzZXRQYXJlbnQgPSBmaXhlZFBvc2l0aW9uID8gZ2V0Rml4ZWRQb3NpdGlvbk9mZnNldFBhcmVudChwb3BwZXIpIDogZmluZENvbW1vbk9mZnNldFBhcmVudChwb3BwZXIsIHJlZmVyZW5jZSk7XG5cbiAgLy8gSGFuZGxlIHZpZXdwb3J0IGNhc2VcbiAgaWYgKGJvdW5kYXJpZXNFbGVtZW50ID09PSAndmlld3BvcnQnKSB7XG4gICAgYm91bmRhcmllcyA9IGdldFZpZXdwb3J0T2Zmc2V0UmVjdFJlbGF0aXZlVG9BcnRiaXRyYXJ5Tm9kZShvZmZzZXRQYXJlbnQsIGZpeGVkUG9zaXRpb24pO1xuICB9IGVsc2Uge1xuICAgIC8vIEhhbmRsZSBvdGhlciBjYXNlcyBiYXNlZCBvbiBET00gZWxlbWVudCB1c2VkIGFzIGJvdW5kYXJpZXNcbiAgICB2YXIgYm91bmRhcmllc05vZGUgPSB2b2lkIDA7XG4gICAgaWYgKGJvdW5kYXJpZXNFbGVtZW50ID09PSAnc2Nyb2xsUGFyZW50Jykge1xuICAgICAgYm91bmRhcmllc05vZGUgPSBnZXRTY3JvbGxQYXJlbnQoZ2V0UGFyZW50Tm9kZShyZWZlcmVuY2UpKTtcbiAgICAgIGlmIChib3VuZGFyaWVzTm9kZS5ub2RlTmFtZSA9PT0gJ0JPRFknKSB7XG4gICAgICAgIGJvdW5kYXJpZXNOb2RlID0gcG9wcGVyLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYm91bmRhcmllc0VsZW1lbnQgPT09ICd3aW5kb3cnKSB7XG4gICAgICBib3VuZGFyaWVzTm9kZSA9IHBvcHBlci5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgYm91bmRhcmllc05vZGUgPSBib3VuZGFyaWVzRWxlbWVudDtcbiAgICB9XG5cbiAgICB2YXIgb2Zmc2V0cyA9IGdldE9mZnNldFJlY3RSZWxhdGl2ZVRvQXJiaXRyYXJ5Tm9kZShib3VuZGFyaWVzTm9kZSwgb2Zmc2V0UGFyZW50LCBmaXhlZFBvc2l0aW9uKTtcblxuICAgIC8vIEluIGNhc2Ugb2YgSFRNTCwgd2UgbmVlZCBhIGRpZmZlcmVudCBjb21wdXRhdGlvblxuICAgIGlmIChib3VuZGFyaWVzTm9kZS5ub2RlTmFtZSA9PT0gJ0hUTUwnICYmICFpc0ZpeGVkKG9mZnNldFBhcmVudCkpIHtcbiAgICAgIHZhciBfZ2V0V2luZG93U2l6ZXMgPSBnZXRXaW5kb3dTaXplcyhwb3BwZXIub3duZXJEb2N1bWVudCksXG4gICAgICAgICAgaGVpZ2h0ID0gX2dldFdpbmRvd1NpemVzLmhlaWdodCxcbiAgICAgICAgICB3aWR0aCA9IF9nZXRXaW5kb3dTaXplcy53aWR0aDtcblxuICAgICAgYm91bmRhcmllcy50b3AgKz0gb2Zmc2V0cy50b3AgLSBvZmZzZXRzLm1hcmdpblRvcDtcbiAgICAgIGJvdW5kYXJpZXMuYm90dG9tID0gaGVpZ2h0ICsgb2Zmc2V0cy50b3A7XG4gICAgICBib3VuZGFyaWVzLmxlZnQgKz0gb2Zmc2V0cy5sZWZ0IC0gb2Zmc2V0cy5tYXJnaW5MZWZ0O1xuICAgICAgYm91bmRhcmllcy5yaWdodCA9IHdpZHRoICsgb2Zmc2V0cy5sZWZ0O1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBmb3IgYWxsIHRoZSBvdGhlciBET00gZWxlbWVudHMsIHRoaXMgb25lIGlzIGdvb2RcbiAgICAgIGJvdW5kYXJpZXMgPSBvZmZzZXRzO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFkZCBwYWRkaW5nc1xuICBwYWRkaW5nID0gcGFkZGluZyB8fCAwO1xuICB2YXIgaXNQYWRkaW5nTnVtYmVyID0gdHlwZW9mIHBhZGRpbmcgPT09ICdudW1iZXInO1xuICBib3VuZGFyaWVzLmxlZnQgKz0gaXNQYWRkaW5nTnVtYmVyID8gcGFkZGluZyA6IHBhZGRpbmcubGVmdCB8fCAwO1xuICBib3VuZGFyaWVzLnRvcCArPSBpc1BhZGRpbmdOdW1iZXIgPyBwYWRkaW5nIDogcGFkZGluZy50b3AgfHwgMDtcbiAgYm91bmRhcmllcy5yaWdodCAtPSBpc1BhZGRpbmdOdW1iZXIgPyBwYWRkaW5nIDogcGFkZGluZy5yaWdodCB8fCAwO1xuICBib3VuZGFyaWVzLmJvdHRvbSAtPSBpc1BhZGRpbmdOdW1iZXIgPyBwYWRkaW5nIDogcGFkZGluZy5ib3R0b20gfHwgMDtcblxuICByZXR1cm4gYm91bmRhcmllcztcbn1cblxuZnVuY3Rpb24gZ2V0QXJlYShfcmVmKSB7XG4gIHZhciB3aWR0aCA9IF9yZWYud2lkdGgsXG4gICAgICBoZWlnaHQgPSBfcmVmLmhlaWdodDtcblxuICByZXR1cm4gd2lkdGggKiBoZWlnaHQ7XG59XG5cbi8qKlxuICogVXRpbGl0eSB1c2VkIHRvIHRyYW5zZm9ybSB0aGUgYGF1dG9gIHBsYWNlbWVudCB0byB0aGUgcGxhY2VtZW50IHdpdGggbW9yZVxuICogYXZhaWxhYmxlIHNwYWNlLlxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtPYmplY3R9IGRhdGEgLSBUaGUgZGF0YSBvYmplY3QgZ2VuZXJhdGVkIGJ5IHVwZGF0ZSBtZXRob2RcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBvcHRpb25zIC0gTW9kaWZpZXJzIGNvbmZpZ3VyYXRpb24gYW5kIG9wdGlvbnNcbiAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBkYXRhIG9iamVjdCwgcHJvcGVybHkgbW9kaWZpZWRcbiAqL1xuZnVuY3Rpb24gY29tcHV0ZUF1dG9QbGFjZW1lbnQocGxhY2VtZW50LCByZWZSZWN0LCBwb3BwZXIsIHJlZmVyZW5jZSwgYm91bmRhcmllc0VsZW1lbnQpIHtcbiAgdmFyIHBhZGRpbmcgPSBhcmd1bWVudHMubGVuZ3RoID4gNSAmJiBhcmd1bWVudHNbNV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1s1XSA6IDA7XG5cbiAgaWYgKHBsYWNlbWVudC5pbmRleE9mKCdhdXRvJykgPT09IC0xKSB7XG4gICAgcmV0dXJuIHBsYWNlbWVudDtcbiAgfVxuXG4gIHZhciBib3VuZGFyaWVzID0gZ2V0Qm91bmRhcmllcyhwb3BwZXIsIHJlZmVyZW5jZSwgcGFkZGluZywgYm91bmRhcmllc0VsZW1lbnQpO1xuXG4gIHZhciByZWN0cyA9IHtcbiAgICB0b3A6IHtcbiAgICAgIHdpZHRoOiBib3VuZGFyaWVzLndpZHRoLFxuICAgICAgaGVpZ2h0OiByZWZSZWN0LnRvcCAtIGJvdW5kYXJpZXMudG9wXG4gICAgfSxcbiAgICByaWdodDoge1xuICAgICAgd2lkdGg6IGJvdW5kYXJpZXMucmlnaHQgLSByZWZSZWN0LnJpZ2h0LFxuICAgICAgaGVpZ2h0OiBib3VuZGFyaWVzLmhlaWdodFxuICAgIH0sXG4gICAgYm90dG9tOiB7XG4gICAgICB3aWR0aDogYm91bmRhcmllcy53aWR0aCxcbiAgICAgIGhlaWdodDogYm91bmRhcmllcy5ib3R0b20gLSByZWZSZWN0LmJvdHRvbVxuICAgIH0sXG4gICAgbGVmdDoge1xuICAgICAgd2lkdGg6IHJlZlJlY3QubGVmdCAtIGJvdW5kYXJpZXMubGVmdCxcbiAgICAgIGhlaWdodDogYm91bmRhcmllcy5oZWlnaHRcbiAgICB9XG4gIH07XG5cbiAgdmFyIHNvcnRlZEFyZWFzID0gT2JqZWN0LmtleXMocmVjdHMpLm1hcChmdW5jdGlvbiAoa2V5KSB7XG4gICAgcmV0dXJuIF9leHRlbmRzKHtcbiAgICAgIGtleToga2V5XG4gICAgfSwgcmVjdHNba2V5XSwge1xuICAgICAgYXJlYTogZ2V0QXJlYShyZWN0c1trZXldKVxuICAgIH0pO1xuICB9KS5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgcmV0dXJuIGIuYXJlYSAtIGEuYXJlYTtcbiAgfSk7XG5cbiAgdmFyIGZpbHRlcmVkQXJlYXMgPSBzb3J0ZWRBcmVhcy5maWx0ZXIoZnVuY3Rpb24gKF9yZWYyKSB7XG4gICAgdmFyIHdpZHRoID0gX3JlZjIud2lkdGgsXG4gICAgICAgIGhlaWdodCA9IF9yZWYyLmhlaWdodDtcbiAgICByZXR1cm4gd2lkdGggPj0gcG9wcGVyLmNsaWVudFdpZHRoICYmIGhlaWdodCA+PSBwb3BwZXIuY2xpZW50SGVpZ2h0O1xuICB9KTtcblxuICB2YXIgY29tcHV0ZWRQbGFjZW1lbnQgPSBmaWx0ZXJlZEFyZWFzLmxlbmd0aCA+IDAgPyBmaWx0ZXJlZEFyZWFzWzBdLmtleSA6IHNvcnRlZEFyZWFzWzBdLmtleTtcblxuICB2YXIgdmFyaWF0aW9uID0gcGxhY2VtZW50LnNwbGl0KCctJylbMV07XG5cbiAgcmV0dXJuIGNvbXB1dGVkUGxhY2VtZW50ICsgKHZhcmlhdGlvbiA/ICctJyArIHZhcmlhdGlvbiA6ICcnKTtcbn1cblxuLyoqXG4gKiBHZXQgb2Zmc2V0cyB0byB0aGUgcmVmZXJlbmNlIGVsZW1lbnRcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBwYXJhbSB7T2JqZWN0fSBzdGF0ZVxuICogQHBhcmFtIHtFbGVtZW50fSBwb3BwZXIgLSB0aGUgcG9wcGVyIGVsZW1lbnRcbiAqIEBwYXJhbSB7RWxlbWVudH0gcmVmZXJlbmNlIC0gdGhlIHJlZmVyZW5jZSBlbGVtZW50ICh0aGUgcG9wcGVyIHdpbGwgYmUgcmVsYXRpdmUgdG8gdGhpcylcbiAqIEBwYXJhbSB7RWxlbWVudH0gZml4ZWRQb3NpdGlvbiAtIGlzIGluIGZpeGVkIHBvc2l0aW9uIG1vZGVcbiAqIEByZXR1cm5zIHtPYmplY3R9IEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBvZmZzZXRzIHdoaWNoIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgcG9wcGVyXG4gKi9cbmZ1bmN0aW9uIGdldFJlZmVyZW5jZU9mZnNldHMoc3RhdGUsIHBvcHBlciwgcmVmZXJlbmNlKSB7XG4gIHZhciBmaXhlZFBvc2l0aW9uID0gYXJndW1lbnRzLmxlbmd0aCA+IDMgJiYgYXJndW1lbnRzWzNdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbM10gOiBudWxsO1xuXG4gIHZhciBjb21tb25PZmZzZXRQYXJlbnQgPSBmaXhlZFBvc2l0aW9uID8gZ2V0Rml4ZWRQb3NpdGlvbk9mZnNldFBhcmVudChwb3BwZXIpIDogZmluZENvbW1vbk9mZnNldFBhcmVudChwb3BwZXIsIHJlZmVyZW5jZSk7XG4gIHJldHVybiBnZXRPZmZzZXRSZWN0UmVsYXRpdmVUb0FyYml0cmFyeU5vZGUocmVmZXJlbmNlLCBjb21tb25PZmZzZXRQYXJlbnQsIGZpeGVkUG9zaXRpb24pO1xufVxuXG4vKipcbiAqIEdldCB0aGUgb3V0ZXIgc2l6ZXMgb2YgdGhlIGdpdmVuIGVsZW1lbnQgKG9mZnNldCBzaXplICsgbWFyZ2lucylcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7RWxlbWVudH0gZWxlbWVudFxuICogQHJldHVybnMge09iamVjdH0gb2JqZWN0IGNvbnRhaW5pbmcgd2lkdGggYW5kIGhlaWdodCBwcm9wZXJ0aWVzXG4gKi9cbmZ1bmN0aW9uIGdldE91dGVyU2l6ZXMoZWxlbWVudCkge1xuICB2YXIgd2luZG93ID0gZWxlbWVudC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O1xuICB2YXIgc3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gIHZhciB4ID0gcGFyc2VGbG9hdChzdHlsZXMubWFyZ2luVG9wIHx8IDApICsgcGFyc2VGbG9hdChzdHlsZXMubWFyZ2luQm90dG9tIHx8IDApO1xuICB2YXIgeSA9IHBhcnNlRmxvYXQoc3R5bGVzLm1hcmdpbkxlZnQgfHwgMCkgKyBwYXJzZUZsb2F0KHN0eWxlcy5tYXJnaW5SaWdodCB8fCAwKTtcbiAgdmFyIHJlc3VsdCA9IHtcbiAgICB3aWR0aDogZWxlbWVudC5vZmZzZXRXaWR0aCArIHksXG4gICAgaGVpZ2h0OiBlbGVtZW50Lm9mZnNldEhlaWdodCArIHhcbiAgfTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIG9wcG9zaXRlIHBsYWNlbWVudCBvZiB0aGUgZ2l2ZW4gb25lXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge1N0cmluZ30gcGxhY2VtZW50XG4gKiBAcmV0dXJucyB7U3RyaW5nfSBmbGlwcGVkIHBsYWNlbWVudFxuICovXG5mdW5jdGlvbiBnZXRPcHBvc2l0ZVBsYWNlbWVudChwbGFjZW1lbnQpIHtcbiAgdmFyIGhhc2ggPSB7IGxlZnQ6ICdyaWdodCcsIHJpZ2h0OiAnbGVmdCcsIGJvdHRvbTogJ3RvcCcsIHRvcDogJ2JvdHRvbScgfTtcbiAgcmV0dXJuIHBsYWNlbWVudC5yZXBsYWNlKC9sZWZ0fHJpZ2h0fGJvdHRvbXx0b3AvZywgZnVuY3Rpb24gKG1hdGNoZWQpIHtcbiAgICByZXR1cm4gaGFzaFttYXRjaGVkXTtcbiAgfSk7XG59XG5cbi8qKlxuICogR2V0IG9mZnNldHMgdG8gdGhlIHBvcHBlclxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHBhcmFtIHtPYmplY3R9IHBvc2l0aW9uIC0gQ1NTIHBvc2l0aW9uIHRoZSBQb3BwZXIgd2lsbCBnZXQgYXBwbGllZFxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gcG9wcGVyIC0gdGhlIHBvcHBlciBlbGVtZW50XG4gKiBAcGFyYW0ge09iamVjdH0gcmVmZXJlbmNlT2Zmc2V0cyAtIHRoZSByZWZlcmVuY2Ugb2Zmc2V0cyAodGhlIHBvcHBlciB3aWxsIGJlIHJlbGF0aXZlIHRvIHRoaXMpXG4gKiBAcGFyYW0ge1N0cmluZ30gcGxhY2VtZW50IC0gb25lIG9mIHRoZSB2YWxpZCBwbGFjZW1lbnQgb3B0aW9uc1xuICogQHJldHVybnMge09iamVjdH0gcG9wcGVyT2Zmc2V0cyAtIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBvZmZzZXRzIHdoaWNoIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgcG9wcGVyXG4gKi9cbmZ1bmN0aW9uIGdldFBvcHBlck9mZnNldHMocG9wcGVyLCByZWZlcmVuY2VPZmZzZXRzLCBwbGFjZW1lbnQpIHtcbiAgcGxhY2VtZW50ID0gcGxhY2VtZW50LnNwbGl0KCctJylbMF07XG5cbiAgLy8gR2V0IHBvcHBlciBub2RlIHNpemVzXG4gIHZhciBwb3BwZXJSZWN0ID0gZ2V0T3V0ZXJTaXplcyhwb3BwZXIpO1xuXG4gIC8vIEFkZCBwb3NpdGlvbiwgd2lkdGggYW5kIGhlaWdodCB0byBvdXIgb2Zmc2V0cyBvYmplY3RcbiAgdmFyIHBvcHBlck9mZnNldHMgPSB7XG4gICAgd2lkdGg6IHBvcHBlclJlY3Qud2lkdGgsXG4gICAgaGVpZ2h0OiBwb3BwZXJSZWN0LmhlaWdodFxuICB9O1xuXG4gIC8vIGRlcGVuZGluZyBieSB0aGUgcG9wcGVyIHBsYWNlbWVudCB3ZSBoYXZlIHRvIGNvbXB1dGUgaXRzIG9mZnNldHMgc2xpZ2h0bHkgZGlmZmVyZW50bHlcbiAgdmFyIGlzSG9yaXogPSBbJ3JpZ2h0JywgJ2xlZnQnXS5pbmRleE9mKHBsYWNlbWVudCkgIT09IC0xO1xuICB2YXIgbWFpblNpZGUgPSBpc0hvcml6ID8gJ3RvcCcgOiAnbGVmdCc7XG4gIHZhciBzZWNvbmRhcnlTaWRlID0gaXNIb3JpeiA/ICdsZWZ0JyA6ICd0b3AnO1xuICB2YXIgbWVhc3VyZW1lbnQgPSBpc0hvcml6ID8gJ2hlaWdodCcgOiAnd2lkdGgnO1xuICB2YXIgc2Vjb25kYXJ5TWVhc3VyZW1lbnQgPSAhaXNIb3JpeiA/ICdoZWlnaHQnIDogJ3dpZHRoJztcblxuICBwb3BwZXJPZmZzZXRzW21haW5TaWRlXSA9IHJlZmVyZW5jZU9mZnNldHNbbWFpblNpZGVdICsgcmVmZXJlbmNlT2Zmc2V0c1ttZWFzdXJlbWVudF0gLyAyIC0gcG9wcGVyUmVjdFttZWFzdXJlbWVudF0gLyAyO1xuICBpZiAocGxhY2VtZW50ID09PSBzZWNvbmRhcnlTaWRlKSB7XG4gICAgcG9wcGVyT2Zmc2V0c1tzZWNvbmRhcnlTaWRlXSA9IHJlZmVyZW5jZU9mZnNldHNbc2Vjb25kYXJ5U2lkZV0gLSBwb3BwZXJSZWN0W3NlY29uZGFyeU1lYXN1cmVtZW50XTtcbiAgfSBlbHNlIHtcbiAgICBwb3BwZXJPZmZzZXRzW3NlY29uZGFyeVNpZGVdID0gcmVmZXJlbmNlT2Zmc2V0c1tnZXRPcHBvc2l0ZVBsYWNlbWVudChzZWNvbmRhcnlTaWRlKV07XG4gIH1cblxuICByZXR1cm4gcG9wcGVyT2Zmc2V0cztcbn1cblxuLyoqXG4gKiBNaW1pY3MgdGhlIGBmaW5kYCBtZXRob2Qgb2YgQXJyYXlcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7QXJyYXl9IGFyclxuICogQGFyZ3VtZW50IHByb3BcbiAqIEBhcmd1bWVudCB2YWx1ZVxuICogQHJldHVybnMgaW5kZXggb3IgLTFcbiAqL1xuZnVuY3Rpb24gZmluZChhcnIsIGNoZWNrKSB7XG4gIC8vIHVzZSBuYXRpdmUgZmluZCBpZiBzdXBwb3J0ZWRcbiAgaWYgKEFycmF5LnByb3RvdHlwZS5maW5kKSB7XG4gICAgcmV0dXJuIGFyci5maW5kKGNoZWNrKTtcbiAgfVxuXG4gIC8vIHVzZSBgZmlsdGVyYCB0byBvYnRhaW4gdGhlIHNhbWUgYmVoYXZpb3Igb2YgYGZpbmRgXG4gIHJldHVybiBhcnIuZmlsdGVyKGNoZWNrKVswXTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gdGhlIGluZGV4IG9mIHRoZSBtYXRjaGluZyBvYmplY3RcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7QXJyYXl9IGFyclxuICogQGFyZ3VtZW50IHByb3BcbiAqIEBhcmd1bWVudCB2YWx1ZVxuICogQHJldHVybnMgaW5kZXggb3IgLTFcbiAqL1xuZnVuY3Rpb24gZmluZEluZGV4KGFyciwgcHJvcCwgdmFsdWUpIHtcbiAgLy8gdXNlIG5hdGl2ZSBmaW5kSW5kZXggaWYgc3VwcG9ydGVkXG4gIGlmIChBcnJheS5wcm90b3R5cGUuZmluZEluZGV4KSB7XG4gICAgcmV0dXJuIGFyci5maW5kSW5kZXgoZnVuY3Rpb24gKGN1cikge1xuICAgICAgcmV0dXJuIGN1cltwcm9wXSA9PT0gdmFsdWU7XG4gICAgfSk7XG4gIH1cblxuICAvLyB1c2UgYGZpbmRgICsgYGluZGV4T2ZgIGlmIGBmaW5kSW5kZXhgIGlzbid0IHN1cHBvcnRlZFxuICB2YXIgbWF0Y2ggPSBmaW5kKGFyciwgZnVuY3Rpb24gKG9iaikge1xuICAgIHJldHVybiBvYmpbcHJvcF0gPT09IHZhbHVlO1xuICB9KTtcbiAgcmV0dXJuIGFyci5pbmRleE9mKG1hdGNoKTtcbn1cblxuLyoqXG4gKiBMb29wIHRyb3VnaCB0aGUgbGlzdCBvZiBtb2RpZmllcnMgYW5kIHJ1biB0aGVtIGluIG9yZGVyLFxuICogZWFjaCBvZiB0aGVtIHdpbGwgdGhlbiBlZGl0IHRoZSBkYXRhIG9iamVjdC5cbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBwYXJhbSB7ZGF0YU9iamVjdH0gZGF0YVxuICogQHBhcmFtIHtBcnJheX0gbW9kaWZpZXJzXG4gKiBAcGFyYW0ge1N0cmluZ30gZW5kcyAtIE9wdGlvbmFsIG1vZGlmaWVyIG5hbWUgdXNlZCBhcyBzdG9wcGVyXG4gKiBAcmV0dXJucyB7ZGF0YU9iamVjdH1cbiAqL1xuZnVuY3Rpb24gcnVuTW9kaWZpZXJzKG1vZGlmaWVycywgZGF0YSwgZW5kcykge1xuICB2YXIgbW9kaWZpZXJzVG9SdW4gPSBlbmRzID09PSB1bmRlZmluZWQgPyBtb2RpZmllcnMgOiBtb2RpZmllcnMuc2xpY2UoMCwgZmluZEluZGV4KG1vZGlmaWVycywgJ25hbWUnLCBlbmRzKSk7XG5cbiAgbW9kaWZpZXJzVG9SdW4uZm9yRWFjaChmdW5jdGlvbiAobW9kaWZpZXIpIHtcbiAgICBpZiAobW9kaWZpZXJbJ2Z1bmN0aW9uJ10pIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgZG90LW5vdGF0aW9uXG4gICAgICBjb25zb2xlLndhcm4oJ2Btb2RpZmllci5mdW5jdGlvbmAgaXMgZGVwcmVjYXRlZCwgdXNlIGBtb2RpZmllci5mbmAhJyk7XG4gICAgfVxuICAgIHZhciBmbiA9IG1vZGlmaWVyWydmdW5jdGlvbiddIHx8IG1vZGlmaWVyLmZuOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGRvdC1ub3RhdGlvblxuICAgIGlmIChtb2RpZmllci5lbmFibGVkICYmIGlzRnVuY3Rpb24oZm4pKSB7XG4gICAgICAvLyBBZGQgcHJvcGVydGllcyB0byBvZmZzZXRzIHRvIG1ha2UgdGhlbSBhIGNvbXBsZXRlIGNsaWVudFJlY3Qgb2JqZWN0XG4gICAgICAvLyB3ZSBkbyB0aGlzIGJlZm9yZSBlYWNoIG1vZGlmaWVyIHRvIG1ha2Ugc3VyZSB0aGUgcHJldmlvdXMgb25lIGRvZXNuJ3RcbiAgICAgIC8vIG1lc3Mgd2l0aCB0aGVzZSB2YWx1ZXNcbiAgICAgIGRhdGEub2Zmc2V0cy5wb3BwZXIgPSBnZXRDbGllbnRSZWN0KGRhdGEub2Zmc2V0cy5wb3BwZXIpO1xuICAgICAgZGF0YS5vZmZzZXRzLnJlZmVyZW5jZSA9IGdldENsaWVudFJlY3QoZGF0YS5vZmZzZXRzLnJlZmVyZW5jZSk7XG5cbiAgICAgIGRhdGEgPSBmbihkYXRhLCBtb2RpZmllcik7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gZGF0YTtcbn1cblxuLyoqXG4gKiBVcGRhdGVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgcG9wcGVyLCBjb21wdXRpbmcgdGhlIG5ldyBvZmZzZXRzIGFuZCBhcHBseWluZ1xuICogdGhlIG5ldyBzdHlsZS48YnIgLz5cbiAqIFByZWZlciBgc2NoZWR1bGVVcGRhdGVgIG92ZXIgYHVwZGF0ZWAgYmVjYXVzZSBvZiBwZXJmb3JtYW5jZSByZWFzb25zLlxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlclxuICovXG5mdW5jdGlvbiB1cGRhdGUoKSB7XG4gIC8vIGlmIHBvcHBlciBpcyBkZXN0cm95ZWQsIGRvbid0IHBlcmZvcm0gYW55IGZ1cnRoZXIgdXBkYXRlXG4gIGlmICh0aGlzLnN0YXRlLmlzRGVzdHJveWVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGRhdGEgPSB7XG4gICAgaW5zdGFuY2U6IHRoaXMsXG4gICAgc3R5bGVzOiB7fSxcbiAgICBhcnJvd1N0eWxlczoge30sXG4gICAgYXR0cmlidXRlczoge30sXG4gICAgZmxpcHBlZDogZmFsc2UsXG4gICAgb2Zmc2V0czoge31cbiAgfTtcblxuICAvLyBjb21wdXRlIHJlZmVyZW5jZSBlbGVtZW50IG9mZnNldHNcbiAgZGF0YS5vZmZzZXRzLnJlZmVyZW5jZSA9IGdldFJlZmVyZW5jZU9mZnNldHModGhpcy5zdGF0ZSwgdGhpcy5wb3BwZXIsIHRoaXMucmVmZXJlbmNlLCB0aGlzLm9wdGlvbnMucG9zaXRpb25GaXhlZCk7XG5cbiAgLy8gY29tcHV0ZSBhdXRvIHBsYWNlbWVudCwgc3RvcmUgcGxhY2VtZW50IGluc2lkZSB0aGUgZGF0YSBvYmplY3QsXG4gIC8vIG1vZGlmaWVycyB3aWxsIGJlIGFibGUgdG8gZWRpdCBgcGxhY2VtZW50YCBpZiBuZWVkZWRcbiAgLy8gYW5kIHJlZmVyIHRvIG9yaWdpbmFsUGxhY2VtZW50IHRvIGtub3cgdGhlIG9yaWdpbmFsIHZhbHVlXG4gIGRhdGEucGxhY2VtZW50ID0gY29tcHV0ZUF1dG9QbGFjZW1lbnQodGhpcy5vcHRpb25zLnBsYWNlbWVudCwgZGF0YS5vZmZzZXRzLnJlZmVyZW5jZSwgdGhpcy5wb3BwZXIsIHRoaXMucmVmZXJlbmNlLCB0aGlzLm9wdGlvbnMubW9kaWZpZXJzLmZsaXAuYm91bmRhcmllc0VsZW1lbnQsIHRoaXMub3B0aW9ucy5tb2RpZmllcnMuZmxpcC5wYWRkaW5nKTtcblxuICAvLyBzdG9yZSB0aGUgY29tcHV0ZWQgcGxhY2VtZW50IGluc2lkZSBgb3JpZ2luYWxQbGFjZW1lbnRgXG4gIGRhdGEub3JpZ2luYWxQbGFjZW1lbnQgPSBkYXRhLnBsYWNlbWVudDtcblxuICBkYXRhLnBvc2l0aW9uRml4ZWQgPSB0aGlzLm9wdGlvbnMucG9zaXRpb25GaXhlZDtcblxuICAvLyBjb21wdXRlIHRoZSBwb3BwZXIgb2Zmc2V0c1xuICBkYXRhLm9mZnNldHMucG9wcGVyID0gZ2V0UG9wcGVyT2Zmc2V0cyh0aGlzLnBvcHBlciwgZGF0YS5vZmZzZXRzLnJlZmVyZW5jZSwgZGF0YS5wbGFjZW1lbnQpO1xuXG4gIGRhdGEub2Zmc2V0cy5wb3BwZXIucG9zaXRpb24gPSB0aGlzLm9wdGlvbnMucG9zaXRpb25GaXhlZCA/ICdmaXhlZCcgOiAnYWJzb2x1dGUnO1xuXG4gIC8vIHJ1biB0aGUgbW9kaWZpZXJzXG4gIGRhdGEgPSBydW5Nb2RpZmllcnModGhpcy5tb2RpZmllcnMsIGRhdGEpO1xuXG4gIC8vIHRoZSBmaXJzdCBgdXBkYXRlYCB3aWxsIGNhbGwgYG9uQ3JlYXRlYCBjYWxsYmFja1xuICAvLyB0aGUgb3RoZXIgb25lcyB3aWxsIGNhbGwgYG9uVXBkYXRlYCBjYWxsYmFja1xuICBpZiAoIXRoaXMuc3RhdGUuaXNDcmVhdGVkKSB7XG4gICAgdGhpcy5zdGF0ZS5pc0NyZWF0ZWQgPSB0cnVlO1xuICAgIHRoaXMub3B0aW9ucy5vbkNyZWF0ZShkYXRhKTtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLm9wdGlvbnMub25VcGRhdGUoZGF0YSk7XG4gIH1cbn1cblxuLyoqXG4gKiBIZWxwZXIgdXNlZCB0byBrbm93IGlmIHRoZSBnaXZlbiBtb2RpZmllciBpcyBlbmFibGVkLlxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHJldHVybnMge0Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIGlzTW9kaWZpZXJFbmFibGVkKG1vZGlmaWVycywgbW9kaWZpZXJOYW1lKSB7XG4gIHJldHVybiBtb2RpZmllcnMuc29tZShmdW5jdGlvbiAoX3JlZikge1xuICAgIHZhciBuYW1lID0gX3JlZi5uYW1lLFxuICAgICAgICBlbmFibGVkID0gX3JlZi5lbmFibGVkO1xuICAgIHJldHVybiBlbmFibGVkICYmIG5hbWUgPT09IG1vZGlmaWVyTmFtZTtcbiAgfSk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBwcmVmaXhlZCBzdXBwb3J0ZWQgcHJvcGVydHkgbmFtZVxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtTdHJpbmd9IHByb3BlcnR5IChjYW1lbENhc2UpXG4gKiBAcmV0dXJucyB7U3RyaW5nfSBwcmVmaXhlZCBwcm9wZXJ0eSAoY2FtZWxDYXNlIG9yIFBhc2NhbENhc2UsIGRlcGVuZGluZyBvbiB0aGUgdmVuZG9yIHByZWZpeClcbiAqL1xuZnVuY3Rpb24gZ2V0U3VwcG9ydGVkUHJvcGVydHlOYW1lKHByb3BlcnR5KSB7XG4gIHZhciBwcmVmaXhlcyA9IFtmYWxzZSwgJ21zJywgJ1dlYmtpdCcsICdNb3onLCAnTyddO1xuICB2YXIgdXBwZXJQcm9wID0gcHJvcGVydHkuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBwcm9wZXJ0eS5zbGljZSgxKTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IHByZWZpeGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIHByZWZpeCA9IHByZWZpeGVzW2ldO1xuICAgIHZhciB0b0NoZWNrID0gcHJlZml4ID8gJycgKyBwcmVmaXggKyB1cHBlclByb3AgOiBwcm9wZXJ0eTtcbiAgICBpZiAodHlwZW9mIGRvY3VtZW50LmJvZHkuc3R5bGVbdG9DaGVja10gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gdG9DaGVjaztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogRGVzdHJveXMgdGhlIHBvcHBlci5cbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXJcbiAqL1xuZnVuY3Rpb24gZGVzdHJveSgpIHtcbiAgdGhpcy5zdGF0ZS5pc0Rlc3Ryb3llZCA9IHRydWU7XG5cbiAgLy8gdG91Y2ggRE9NIG9ubHkgaWYgYGFwcGx5U3R5bGVgIG1vZGlmaWVyIGlzIGVuYWJsZWRcbiAgaWYgKGlzTW9kaWZpZXJFbmFibGVkKHRoaXMubW9kaWZpZXJzLCAnYXBwbHlTdHlsZScpKSB7XG4gICAgdGhpcy5wb3BwZXIucmVtb3ZlQXR0cmlidXRlKCd4LXBsYWNlbWVudCcpO1xuICAgIHRoaXMucG9wcGVyLnN0eWxlLnBvc2l0aW9uID0gJyc7XG4gICAgdGhpcy5wb3BwZXIuc3R5bGUudG9wID0gJyc7XG4gICAgdGhpcy5wb3BwZXIuc3R5bGUubGVmdCA9ICcnO1xuICAgIHRoaXMucG9wcGVyLnN0eWxlLnJpZ2h0ID0gJyc7XG4gICAgdGhpcy5wb3BwZXIuc3R5bGUuYm90dG9tID0gJyc7XG4gICAgdGhpcy5wb3BwZXIuc3R5bGUud2lsbENoYW5nZSA9ICcnO1xuICAgIHRoaXMucG9wcGVyLnN0eWxlW2dldFN1cHBvcnRlZFByb3BlcnR5TmFtZSgndHJhbnNmb3JtJyldID0gJyc7XG4gIH1cblxuICB0aGlzLmRpc2FibGVFdmVudExpc3RlbmVycygpO1xuXG4gIC8vIHJlbW92ZSB0aGUgcG9wcGVyIGlmIHVzZXIgZXhwbGljaXR5IGFza2VkIGZvciB0aGUgZGVsZXRpb24gb24gZGVzdHJveVxuICAvLyBkbyBub3QgdXNlIGByZW1vdmVgIGJlY2F1c2UgSUUxMSBkb2Vzbid0IHN1cHBvcnQgaXRcbiAgaWYgKHRoaXMub3B0aW9ucy5yZW1vdmVPbkRlc3Ryb3kpIHtcbiAgICB0aGlzLnBvcHBlci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMucG9wcGVyKTtcbiAgfVxuICByZXR1cm4gdGhpcztcbn1cblxuLyoqXG4gKiBHZXQgdGhlIHdpbmRvdyBhc3NvY2lhdGVkIHdpdGggdGhlIGVsZW1lbnRcbiAqIEBhcmd1bWVudCB7RWxlbWVudH0gZWxlbWVudFxuICogQHJldHVybnMge1dpbmRvd31cbiAqL1xuZnVuY3Rpb24gZ2V0V2luZG93KGVsZW1lbnQpIHtcbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQ7XG4gIHJldHVybiBvd25lckRvY3VtZW50ID8gb3duZXJEb2N1bWVudC5kZWZhdWx0VmlldyA6IHdpbmRvdztcbn1cblxuZnVuY3Rpb24gYXR0YWNoVG9TY3JvbGxQYXJlbnRzKHNjcm9sbFBhcmVudCwgZXZlbnQsIGNhbGxiYWNrLCBzY3JvbGxQYXJlbnRzKSB7XG4gIHZhciBpc0JvZHkgPSBzY3JvbGxQYXJlbnQubm9kZU5hbWUgPT09ICdCT0RZJztcbiAgdmFyIHRhcmdldCA9IGlzQm9keSA/IHNjcm9sbFBhcmVudC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3IDogc2Nyb2xsUGFyZW50O1xuICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgY2FsbGJhY2ssIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcblxuICBpZiAoIWlzQm9keSkge1xuICAgIGF0dGFjaFRvU2Nyb2xsUGFyZW50cyhnZXRTY3JvbGxQYXJlbnQodGFyZ2V0LnBhcmVudE5vZGUpLCBldmVudCwgY2FsbGJhY2ssIHNjcm9sbFBhcmVudHMpO1xuICB9XG4gIHNjcm9sbFBhcmVudHMucHVzaCh0YXJnZXQpO1xufVxuXG4vKipcbiAqIFNldHVwIG5lZWRlZCBldmVudCBsaXN0ZW5lcnMgdXNlZCB0byB1cGRhdGUgdGhlIHBvcHBlciBwb3NpdGlvblxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gc2V0dXBFdmVudExpc3RlbmVycyhyZWZlcmVuY2UsIG9wdGlvbnMsIHN0YXRlLCB1cGRhdGVCb3VuZCkge1xuICAvLyBSZXNpemUgZXZlbnQgbGlzdGVuZXIgb24gd2luZG93XG4gIHN0YXRlLnVwZGF0ZUJvdW5kID0gdXBkYXRlQm91bmQ7XG4gIGdldFdpbmRvdyhyZWZlcmVuY2UpLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHN0YXRlLnVwZGF0ZUJvdW5kLCB7IHBhc3NpdmU6IHRydWUgfSk7XG5cbiAgLy8gU2Nyb2xsIGV2ZW50IGxpc3RlbmVyIG9uIHNjcm9sbCBwYXJlbnRzXG4gIHZhciBzY3JvbGxFbGVtZW50ID0gZ2V0U2Nyb2xsUGFyZW50KHJlZmVyZW5jZSk7XG4gIGF0dGFjaFRvU2Nyb2xsUGFyZW50cyhzY3JvbGxFbGVtZW50LCAnc2Nyb2xsJywgc3RhdGUudXBkYXRlQm91bmQsIHN0YXRlLnNjcm9sbFBhcmVudHMpO1xuICBzdGF0ZS5zY3JvbGxFbGVtZW50ID0gc2Nyb2xsRWxlbWVudDtcbiAgc3RhdGUuZXZlbnRzRW5hYmxlZCA9IHRydWU7XG5cbiAgcmV0dXJuIHN0YXRlO1xufVxuXG4vKipcbiAqIEl0IHdpbGwgYWRkIHJlc2l6ZS9zY3JvbGwgZXZlbnRzIGFuZCBzdGFydCByZWNhbGN1bGF0aW5nXG4gKiBwb3NpdGlvbiBvZiB0aGUgcG9wcGVyIGVsZW1lbnQgd2hlbiB0aGV5IGFyZSB0cmlnZ2VyZWQuXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyXG4gKi9cbmZ1bmN0aW9uIGVuYWJsZUV2ZW50TGlzdGVuZXJzKCkge1xuICBpZiAoIXRoaXMuc3RhdGUuZXZlbnRzRW5hYmxlZCkge1xuICAgIHRoaXMuc3RhdGUgPSBzZXR1cEV2ZW50TGlzdGVuZXJzKHRoaXMucmVmZXJlbmNlLCB0aGlzLm9wdGlvbnMsIHRoaXMuc3RhdGUsIHRoaXMuc2NoZWR1bGVVcGRhdGUpO1xuICB9XG59XG5cbi8qKlxuICogUmVtb3ZlIGV2ZW50IGxpc3RlbmVycyB1c2VkIHRvIHVwZGF0ZSB0aGUgcG9wcGVyIHBvc2l0aW9uXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiByZW1vdmVFdmVudExpc3RlbmVycyhyZWZlcmVuY2UsIHN0YXRlKSB7XG4gIC8vIFJlbW92ZSByZXNpemUgZXZlbnQgbGlzdGVuZXIgb24gd2luZG93XG4gIGdldFdpbmRvdyhyZWZlcmVuY2UpLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHN0YXRlLnVwZGF0ZUJvdW5kKTtcblxuICAvLyBSZW1vdmUgc2Nyb2xsIGV2ZW50IGxpc3RlbmVyIG9uIHNjcm9sbCBwYXJlbnRzXG4gIHN0YXRlLnNjcm9sbFBhcmVudHMuZm9yRWFjaChmdW5jdGlvbiAodGFyZ2V0KSB7XG4gICAgdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHN0YXRlLnVwZGF0ZUJvdW5kKTtcbiAgfSk7XG5cbiAgLy8gUmVzZXQgc3RhdGVcbiAgc3RhdGUudXBkYXRlQm91bmQgPSBudWxsO1xuICBzdGF0ZS5zY3JvbGxQYXJlbnRzID0gW107XG4gIHN0YXRlLnNjcm9sbEVsZW1lbnQgPSBudWxsO1xuICBzdGF0ZS5ldmVudHNFbmFibGVkID0gZmFsc2U7XG4gIHJldHVybiBzdGF0ZTtcbn1cblxuLyoqXG4gKiBJdCB3aWxsIHJlbW92ZSByZXNpemUvc2Nyb2xsIGV2ZW50cyBhbmQgd29uJ3QgcmVjYWxjdWxhdGUgcG9wcGVyIHBvc2l0aW9uXG4gKiB3aGVuIHRoZXkgYXJlIHRyaWdnZXJlZC4gSXQgYWxzbyB3b24ndCB0cmlnZ2VyIGBvblVwZGF0ZWAgY2FsbGJhY2sgYW55bW9yZSxcbiAqIHVubGVzcyB5b3UgY2FsbCBgdXBkYXRlYCBtZXRob2QgbWFudWFsbHkuXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyXG4gKi9cbmZ1bmN0aW9uIGRpc2FibGVFdmVudExpc3RlbmVycygpIHtcbiAgaWYgKHRoaXMuc3RhdGUuZXZlbnRzRW5hYmxlZCkge1xuICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuc2NoZWR1bGVVcGRhdGUpO1xuICAgIHRoaXMuc3RhdGUgPSByZW1vdmVFdmVudExpc3RlbmVycyh0aGlzLnJlZmVyZW5jZSwgdGhpcy5zdGF0ZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBUZWxscyBpZiBhIGdpdmVuIGlucHV0IGlzIGEgbnVtYmVyXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAcGFyYW0geyp9IGlucHV0IHRvIGNoZWNrXG4gKiBAcmV0dXJuIHtCb29sZWFufVxuICovXG5mdW5jdGlvbiBpc051bWVyaWMobikge1xuICByZXR1cm4gbiAhPT0gJycgJiYgIWlzTmFOKHBhcnNlRmxvYXQobikpICYmIGlzRmluaXRlKG4pO1xufVxuXG4vKipcbiAqIFNldCB0aGUgc3R5bGUgdG8gdGhlIGdpdmVuIHBvcHBlclxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtFbGVtZW50fSBlbGVtZW50IC0gRWxlbWVudCB0byBhcHBseSB0aGUgc3R5bGUgdG9cbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBzdHlsZXNcbiAqIE9iamVjdCB3aXRoIGEgbGlzdCBvZiBwcm9wZXJ0aWVzIGFuZCB2YWx1ZXMgd2hpY2ggd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBlbGVtZW50XG4gKi9cbmZ1bmN0aW9uIHNldFN0eWxlcyhlbGVtZW50LCBzdHlsZXMpIHtcbiAgT2JqZWN0LmtleXMoc3R5bGVzKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgdmFyIHVuaXQgPSAnJztcbiAgICAvLyBhZGQgdW5pdCBpZiB0aGUgdmFsdWUgaXMgbnVtZXJpYyBhbmQgaXMgb25lIG9mIHRoZSBmb2xsb3dpbmdcbiAgICBpZiAoWyd3aWR0aCcsICdoZWlnaHQnLCAndG9wJywgJ3JpZ2h0JywgJ2JvdHRvbScsICdsZWZ0J10uaW5kZXhPZihwcm9wKSAhPT0gLTEgJiYgaXNOdW1lcmljKHN0eWxlc1twcm9wXSkpIHtcbiAgICAgIHVuaXQgPSAncHgnO1xuICAgIH1cbiAgICBlbGVtZW50LnN0eWxlW3Byb3BdID0gc3R5bGVzW3Byb3BdICsgdW5pdDtcbiAgfSk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBhdHRyaWJ1dGVzIHRvIHRoZSBnaXZlbiBwb3BwZXJcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7RWxlbWVudH0gZWxlbWVudCAtIEVsZW1lbnQgdG8gYXBwbHkgdGhlIGF0dHJpYnV0ZXMgdG9cbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBzdHlsZXNcbiAqIE9iamVjdCB3aXRoIGEgbGlzdCBvZiBwcm9wZXJ0aWVzIGFuZCB2YWx1ZXMgd2hpY2ggd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBlbGVtZW50XG4gKi9cbmZ1bmN0aW9uIHNldEF0dHJpYnV0ZXMoZWxlbWVudCwgYXR0cmlidXRlcykge1xuICBPYmplY3Qua2V5cyhhdHRyaWJ1dGVzKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgdmFyIHZhbHVlID0gYXR0cmlidXRlc1twcm9wXTtcbiAgICBpZiAodmFsdWUgIT09IGZhbHNlKSB7XG4gICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShwcm9wLCBhdHRyaWJ1dGVzW3Byb3BdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUocHJvcCk7XG4gICAgfVxuICB9KTtcbn1cblxuLyoqXG4gKiBAZnVuY3Rpb25cbiAqIEBtZW1iZXJvZiBNb2RpZmllcnNcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBkYXRhIC0gVGhlIGRhdGEgb2JqZWN0IGdlbmVyYXRlZCBieSBgdXBkYXRlYCBtZXRob2RcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBkYXRhLnN0eWxlcyAtIExpc3Qgb2Ygc3R5bGUgcHJvcGVydGllcyAtIHZhbHVlcyB0byBhcHBseSB0byBwb3BwZXIgZWxlbWVudFxuICogQGFyZ3VtZW50IHtPYmplY3R9IGRhdGEuYXR0cmlidXRlcyAtIExpc3Qgb2YgYXR0cmlidXRlIHByb3BlcnRpZXMgLSB2YWx1ZXMgdG8gYXBwbHkgdG8gcG9wcGVyIGVsZW1lbnRcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBvcHRpb25zIC0gTW9kaWZpZXJzIGNvbmZpZ3VyYXRpb24gYW5kIG9wdGlvbnNcbiAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBzYW1lIGRhdGEgb2JqZWN0XG4gKi9cbmZ1bmN0aW9uIGFwcGx5U3R5bGUoZGF0YSkge1xuICAvLyBhbnkgcHJvcGVydHkgcHJlc2VudCBpbiBgZGF0YS5zdHlsZXNgIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgcG9wcGVyLFxuICAvLyBpbiB0aGlzIHdheSB3ZSBjYW4gbWFrZSB0aGUgM3JkIHBhcnR5IG1vZGlmaWVycyBhZGQgY3VzdG9tIHN0eWxlcyB0byBpdFxuICAvLyBCZSBhd2FyZSwgbW9kaWZpZXJzIGNvdWxkIG92ZXJyaWRlIHRoZSBwcm9wZXJ0aWVzIGRlZmluZWQgaW4gdGhlIHByZXZpb3VzXG4gIC8vIGxpbmVzIG9mIHRoaXMgbW9kaWZpZXIhXG4gIHNldFN0eWxlcyhkYXRhLmluc3RhbmNlLnBvcHBlciwgZGF0YS5zdHlsZXMpO1xuXG4gIC8vIGFueSBwcm9wZXJ0eSBwcmVzZW50IGluIGBkYXRhLmF0dHJpYnV0ZXNgIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgcG9wcGVyLFxuICAvLyB0aGV5IHdpbGwgYmUgc2V0IGFzIEhUTUwgYXR0cmlidXRlcyBvZiB0aGUgZWxlbWVudFxuICBzZXRBdHRyaWJ1dGVzKGRhdGEuaW5zdGFuY2UucG9wcGVyLCBkYXRhLmF0dHJpYnV0ZXMpO1xuXG4gIC8vIGlmIGFycm93RWxlbWVudCBpcyBkZWZpbmVkIGFuZCBhcnJvd1N0eWxlcyBoYXMgc29tZSBwcm9wZXJ0aWVzXG4gIGlmIChkYXRhLmFycm93RWxlbWVudCAmJiBPYmplY3Qua2V5cyhkYXRhLmFycm93U3R5bGVzKS5sZW5ndGgpIHtcbiAgICBzZXRTdHlsZXMoZGF0YS5hcnJvd0VsZW1lbnQsIGRhdGEuYXJyb3dTdHlsZXMpO1xuICB9XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbi8qKlxuICogU2V0IHRoZSB4LXBsYWNlbWVudCBhdHRyaWJ1dGUgYmVmb3JlIGV2ZXJ5dGhpbmcgZWxzZSBiZWNhdXNlIGl0IGNvdWxkIGJlIHVzZWRcbiAqIHRvIGFkZCBtYXJnaW5zIHRvIHRoZSBwb3BwZXIgbWFyZ2lucyBuZWVkcyB0byBiZSBjYWxjdWxhdGVkIHRvIGdldCB0aGVcbiAqIGNvcnJlY3QgcG9wcGVyIG9mZnNldHMuXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLm1vZGlmaWVyc1xuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gcmVmZXJlbmNlIC0gVGhlIHJlZmVyZW5jZSBlbGVtZW50IHVzZWQgdG8gcG9zaXRpb24gdGhlIHBvcHBlclxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gcG9wcGVyIC0gVGhlIEhUTUwgZWxlbWVudCB1c2VkIGFzIHBvcHBlclxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBQb3BwZXIuanMgb3B0aW9uc1xuICovXG5mdW5jdGlvbiBhcHBseVN0eWxlT25Mb2FkKHJlZmVyZW5jZSwgcG9wcGVyLCBvcHRpb25zLCBtb2RpZmllck9wdGlvbnMsIHN0YXRlKSB7XG4gIC8vIGNvbXB1dGUgcmVmZXJlbmNlIGVsZW1lbnQgb2Zmc2V0c1xuICB2YXIgcmVmZXJlbmNlT2Zmc2V0cyA9IGdldFJlZmVyZW5jZU9mZnNldHMoc3RhdGUsIHBvcHBlciwgcmVmZXJlbmNlLCBvcHRpb25zLnBvc2l0aW9uRml4ZWQpO1xuXG4gIC8vIGNvbXB1dGUgYXV0byBwbGFjZW1lbnQsIHN0b3JlIHBsYWNlbWVudCBpbnNpZGUgdGhlIGRhdGEgb2JqZWN0LFxuICAvLyBtb2RpZmllcnMgd2lsbCBiZSBhYmxlIHRvIGVkaXQgYHBsYWNlbWVudGAgaWYgbmVlZGVkXG4gIC8vIGFuZCByZWZlciB0byBvcmlnaW5hbFBsYWNlbWVudCB0byBrbm93IHRoZSBvcmlnaW5hbCB2YWx1ZVxuICB2YXIgcGxhY2VtZW50ID0gY29tcHV0ZUF1dG9QbGFjZW1lbnQob3B0aW9ucy5wbGFjZW1lbnQsIHJlZmVyZW5jZU9mZnNldHMsIHBvcHBlciwgcmVmZXJlbmNlLCBvcHRpb25zLm1vZGlmaWVycy5mbGlwLmJvdW5kYXJpZXNFbGVtZW50LCBvcHRpb25zLm1vZGlmaWVycy5mbGlwLnBhZGRpbmcpO1xuXG4gIHBvcHBlci5zZXRBdHRyaWJ1dGUoJ3gtcGxhY2VtZW50JywgcGxhY2VtZW50KTtcblxuICAvLyBBcHBseSBgcG9zaXRpb25gIHRvIHBvcHBlciBiZWZvcmUgYW55dGhpbmcgZWxzZSBiZWNhdXNlXG4gIC8vIHdpdGhvdXQgdGhlIHBvc2l0aW9uIGFwcGxpZWQgd2UgY2FuJ3QgZ3VhcmFudGVlIGNvcnJlY3QgY29tcHV0YXRpb25zXG4gIHNldFN0eWxlcyhwb3BwZXIsIHsgcG9zaXRpb246IG9wdGlvbnMucG9zaXRpb25GaXhlZCA/ICdmaXhlZCcgOiAnYWJzb2x1dGUnIH0pO1xuXG4gIHJldHVybiBvcHRpb25zO1xufVxuXG4vKipcbiAqIEBmdW5jdGlvblxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtPYmplY3R9IGRhdGEgLSBUaGUgZGF0YSBvYmplY3QgZ2VuZXJhdGVkIGJ5IGB1cGRhdGVgIG1ldGhvZFxuICogQGFyZ3VtZW50IHtCb29sZWFufSBzaG91bGRSb3VuZCAtIElmIHRoZSBvZmZzZXRzIHNob3VsZCBiZSByb3VuZGVkIGF0IGFsbFxuICogQHJldHVybnMge09iamVjdH0gVGhlIHBvcHBlcidzIHBvc2l0aW9uIG9mZnNldHMgcm91bmRlZFxuICpcbiAqIFRoZSB0YWxlIG9mIHBpeGVsLXBlcmZlY3QgcG9zaXRpb25pbmcuIEl0J3Mgc3RpbGwgbm90IDEwMCUgcGVyZmVjdCwgYnV0IGFzXG4gKiBnb29kIGFzIGl0IGNhbiBiZSB3aXRoaW4gcmVhc29uLlxuICogRGlzY3Vzc2lvbiBoZXJlOiBodHRwczovL2dpdGh1Yi5jb20vRmV6VnJhc3RhL3BvcHBlci5qcy9wdWxsLzcxNVxuICpcbiAqIExvdyBEUEkgc2NyZWVucyBjYXVzZSBhIHBvcHBlciB0byBiZSBibHVycnkgaWYgbm90IHVzaW5nIGZ1bGwgcGl4ZWxzIChTYWZhcmlcbiAqIGFzIHdlbGwgb24gSGlnaCBEUEkgc2NyZWVucykuXG4gKlxuICogRmlyZWZveCBwcmVmZXJzIG5vIHJvdW5kaW5nIGZvciBwb3NpdGlvbmluZyBhbmQgZG9lcyBub3QgaGF2ZSBibHVycmluZXNzIG9uXG4gKiBoaWdoIERQSSBzY3JlZW5zLlxuICpcbiAqIE9ubHkgaG9yaXpvbnRhbCBwbGFjZW1lbnQgYW5kIGxlZnQvcmlnaHQgdmFsdWVzIG5lZWQgdG8gYmUgY29uc2lkZXJlZC5cbiAqL1xuZnVuY3Rpb24gZ2V0Um91bmRlZE9mZnNldHMoZGF0YSwgc2hvdWxkUm91bmQpIHtcbiAgdmFyIF9kYXRhJG9mZnNldHMgPSBkYXRhLm9mZnNldHMsXG4gICAgICBwb3BwZXIgPSBfZGF0YSRvZmZzZXRzLnBvcHBlcixcbiAgICAgIHJlZmVyZW5jZSA9IF9kYXRhJG9mZnNldHMucmVmZXJlbmNlO1xuICB2YXIgcm91bmQgPSBNYXRoLnJvdW5kLFxuICAgICAgZmxvb3IgPSBNYXRoLmZsb29yO1xuXG4gIHZhciBub1JvdW5kID0gZnVuY3Rpb24gbm9Sb3VuZCh2KSB7XG4gICAgcmV0dXJuIHY7XG4gIH07XG5cbiAgdmFyIHJlZmVyZW5jZVdpZHRoID0gcm91bmQocmVmZXJlbmNlLndpZHRoKTtcbiAgdmFyIHBvcHBlcldpZHRoID0gcm91bmQocG9wcGVyLndpZHRoKTtcblxuICB2YXIgaXNWZXJ0aWNhbCA9IFsnbGVmdCcsICdyaWdodCddLmluZGV4T2YoZGF0YS5wbGFjZW1lbnQpICE9PSAtMTtcbiAgdmFyIGlzVmFyaWF0aW9uID0gZGF0YS5wbGFjZW1lbnQuaW5kZXhPZignLScpICE9PSAtMTtcbiAgdmFyIHNhbWVXaWR0aFBhcml0eSA9IHJlZmVyZW5jZVdpZHRoICUgMiA9PT0gcG9wcGVyV2lkdGggJSAyO1xuICB2YXIgYm90aE9kZFdpZHRoID0gcmVmZXJlbmNlV2lkdGggJSAyID09PSAxICYmIHBvcHBlcldpZHRoICUgMiA9PT0gMTtcblxuICB2YXIgaG9yaXpvbnRhbFRvSW50ZWdlciA9ICFzaG91bGRSb3VuZCA/IG5vUm91bmQgOiBpc1ZlcnRpY2FsIHx8IGlzVmFyaWF0aW9uIHx8IHNhbWVXaWR0aFBhcml0eSA/IHJvdW5kIDogZmxvb3I7XG4gIHZhciB2ZXJ0aWNhbFRvSW50ZWdlciA9ICFzaG91bGRSb3VuZCA/IG5vUm91bmQgOiByb3VuZDtcblxuICByZXR1cm4ge1xuICAgIGxlZnQ6IGhvcml6b250YWxUb0ludGVnZXIoYm90aE9kZFdpZHRoICYmICFpc1ZhcmlhdGlvbiAmJiBzaG91bGRSb3VuZCA/IHBvcHBlci5sZWZ0IC0gMSA6IHBvcHBlci5sZWZ0KSxcbiAgICB0b3A6IHZlcnRpY2FsVG9JbnRlZ2VyKHBvcHBlci50b3ApLFxuICAgIGJvdHRvbTogdmVydGljYWxUb0ludGVnZXIocG9wcGVyLmJvdHRvbSksXG4gICAgcmlnaHQ6IGhvcml6b250YWxUb0ludGVnZXIocG9wcGVyLnJpZ2h0KVxuICB9O1xufVxuXG52YXIgaXNGaXJlZm94ID0gaXNCcm93c2VyICYmIC9GaXJlZm94L2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcblxuLyoqXG4gKiBAZnVuY3Rpb25cbiAqIEBtZW1iZXJvZiBNb2RpZmllcnNcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBkYXRhIC0gVGhlIGRhdGEgb2JqZWN0IGdlbmVyYXRlZCBieSBgdXBkYXRlYCBtZXRob2RcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBvcHRpb25zIC0gTW9kaWZpZXJzIGNvbmZpZ3VyYXRpb24gYW5kIG9wdGlvbnNcbiAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBkYXRhIG9iamVjdCwgcHJvcGVybHkgbW9kaWZpZWRcbiAqL1xuZnVuY3Rpb24gY29tcHV0ZVN0eWxlKGRhdGEsIG9wdGlvbnMpIHtcbiAgdmFyIHggPSBvcHRpb25zLngsXG4gICAgICB5ID0gb3B0aW9ucy55O1xuICB2YXIgcG9wcGVyID0gZGF0YS5vZmZzZXRzLnBvcHBlcjtcblxuICAvLyBSZW1vdmUgdGhpcyBsZWdhY3kgc3VwcG9ydCBpbiBQb3BwZXIuanMgdjJcblxuICB2YXIgbGVnYWN5R3B1QWNjZWxlcmF0aW9uT3B0aW9uID0gZmluZChkYXRhLmluc3RhbmNlLm1vZGlmaWVycywgZnVuY3Rpb24gKG1vZGlmaWVyKSB7XG4gICAgcmV0dXJuIG1vZGlmaWVyLm5hbWUgPT09ICdhcHBseVN0eWxlJztcbiAgfSkuZ3B1QWNjZWxlcmF0aW9uO1xuICBpZiAobGVnYWN5R3B1QWNjZWxlcmF0aW9uT3B0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICBjb25zb2xlLndhcm4oJ1dBUk5JTkc6IGBncHVBY2NlbGVyYXRpb25gIG9wdGlvbiBtb3ZlZCB0byBgY29tcHV0ZVN0eWxlYCBtb2RpZmllciBhbmQgd2lsbCBub3QgYmUgc3VwcG9ydGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBvZiBQb3BwZXIuanMhJyk7XG4gIH1cbiAgdmFyIGdwdUFjY2VsZXJhdGlvbiA9IGxlZ2FjeUdwdUFjY2VsZXJhdGlvbk9wdGlvbiAhPT0gdW5kZWZpbmVkID8gbGVnYWN5R3B1QWNjZWxlcmF0aW9uT3B0aW9uIDogb3B0aW9ucy5ncHVBY2NlbGVyYXRpb247XG5cbiAgdmFyIG9mZnNldFBhcmVudCA9IGdldE9mZnNldFBhcmVudChkYXRhLmluc3RhbmNlLnBvcHBlcik7XG4gIHZhciBvZmZzZXRQYXJlbnRSZWN0ID0gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KG9mZnNldFBhcmVudCk7XG5cbiAgLy8gU3R5bGVzXG4gIHZhciBzdHlsZXMgPSB7XG4gICAgcG9zaXRpb246IHBvcHBlci5wb3NpdGlvblxuICB9O1xuXG4gIHZhciBvZmZzZXRzID0gZ2V0Um91bmRlZE9mZnNldHMoZGF0YSwgd2luZG93LmRldmljZVBpeGVsUmF0aW8gPCAyIHx8ICFpc0ZpcmVmb3gpO1xuXG4gIHZhciBzaWRlQSA9IHggPT09ICdib3R0b20nID8gJ3RvcCcgOiAnYm90dG9tJztcbiAgdmFyIHNpZGVCID0geSA9PT0gJ3JpZ2h0JyA/ICdsZWZ0JyA6ICdyaWdodCc7XG5cbiAgLy8gaWYgZ3B1QWNjZWxlcmF0aW9uIGlzIHNldCB0byBgdHJ1ZWAgYW5kIHRyYW5zZm9ybSBpcyBzdXBwb3J0ZWQsXG4gIC8vICB3ZSB1c2UgYHRyYW5zbGF0ZTNkYCB0byBhcHBseSB0aGUgcG9zaXRpb24gdG8gdGhlIHBvcHBlciB3ZVxuICAvLyBhdXRvbWF0aWNhbGx5IHVzZSB0aGUgc3VwcG9ydGVkIHByZWZpeGVkIHZlcnNpb24gaWYgbmVlZGVkXG4gIHZhciBwcmVmaXhlZFByb3BlcnR5ID0gZ2V0U3VwcG9ydGVkUHJvcGVydHlOYW1lKCd0cmFuc2Zvcm0nKTtcblxuICAvLyBub3csIGxldCdzIG1ha2UgYSBzdGVwIGJhY2sgYW5kIGxvb2sgYXQgdGhpcyBjb2RlIGNsb3NlbHkgKHd0Zj8pXG4gIC8vIElmIHRoZSBjb250ZW50IG9mIHRoZSBwb3BwZXIgZ3Jvd3Mgb25jZSBpdCdzIGJlZW4gcG9zaXRpb25lZCwgaXRcbiAgLy8gbWF5IGhhcHBlbiB0aGF0IHRoZSBwb3BwZXIgZ2V0cyBtaXNwbGFjZWQgYmVjYXVzZSBvZiB0aGUgbmV3IGNvbnRlbnRcbiAgLy8gb3ZlcmZsb3dpbmcgaXRzIHJlZmVyZW5jZSBlbGVtZW50XG4gIC8vIFRvIGF2b2lkIHRoaXMgcHJvYmxlbSwgd2UgcHJvdmlkZSB0d28gb3B0aW9ucyAoeCBhbmQgeSksIHdoaWNoIGFsbG93XG4gIC8vIHRoZSBjb25zdW1lciB0byBkZWZpbmUgdGhlIG9mZnNldCBvcmlnaW4uXG4gIC8vIElmIHdlIHBvc2l0aW9uIGEgcG9wcGVyIG9uIHRvcCBvZiBhIHJlZmVyZW5jZSBlbGVtZW50LCB3ZSBjYW4gc2V0XG4gIC8vIGB4YCB0byBgdG9wYCB0byBtYWtlIHRoZSBwb3BwZXIgZ3JvdyB0b3dhcmRzIGl0cyB0b3AgaW5zdGVhZCBvZlxuICAvLyBpdHMgYm90dG9tLlxuICB2YXIgbGVmdCA9IHZvaWQgMCxcbiAgICAgIHRvcCA9IHZvaWQgMDtcbiAgaWYgKHNpZGVBID09PSAnYm90dG9tJykge1xuICAgIC8vIHdoZW4gb2Zmc2V0UGFyZW50IGlzIDxodG1sPiB0aGUgcG9zaXRpb25pbmcgaXMgcmVsYXRpdmUgdG8gdGhlIGJvdHRvbSBvZiB0aGUgc2NyZWVuIChleGNsdWRpbmcgdGhlIHNjcm9sbGJhcilcbiAgICAvLyBhbmQgbm90IHRoZSBib3R0b20gb2YgdGhlIGh0bWwgZWxlbWVudFxuICAgIGlmIChvZmZzZXRQYXJlbnQubm9kZU5hbWUgPT09ICdIVE1MJykge1xuICAgICAgdG9wID0gLW9mZnNldFBhcmVudC5jbGllbnRIZWlnaHQgKyBvZmZzZXRzLmJvdHRvbTtcbiAgICB9IGVsc2Uge1xuICAgICAgdG9wID0gLW9mZnNldFBhcmVudFJlY3QuaGVpZ2h0ICsgb2Zmc2V0cy5ib3R0b207XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHRvcCA9IG9mZnNldHMudG9wO1xuICB9XG4gIGlmIChzaWRlQiA9PT0gJ3JpZ2h0Jykge1xuICAgIGlmIChvZmZzZXRQYXJlbnQubm9kZU5hbWUgPT09ICdIVE1MJykge1xuICAgICAgbGVmdCA9IC1vZmZzZXRQYXJlbnQuY2xpZW50V2lkdGggKyBvZmZzZXRzLnJpZ2h0O1xuICAgIH0gZWxzZSB7XG4gICAgICBsZWZ0ID0gLW9mZnNldFBhcmVudFJlY3Qud2lkdGggKyBvZmZzZXRzLnJpZ2h0O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBsZWZ0ID0gb2Zmc2V0cy5sZWZ0O1xuICB9XG4gIGlmIChncHVBY2NlbGVyYXRpb24gJiYgcHJlZml4ZWRQcm9wZXJ0eSkge1xuICAgIHN0eWxlc1twcmVmaXhlZFByb3BlcnR5XSA9ICd0cmFuc2xhdGUzZCgnICsgbGVmdCArICdweCwgJyArIHRvcCArICdweCwgMCknO1xuICAgIHN0eWxlc1tzaWRlQV0gPSAwO1xuICAgIHN0eWxlc1tzaWRlQl0gPSAwO1xuICAgIHN0eWxlcy53aWxsQ2hhbmdlID0gJ3RyYW5zZm9ybSc7XG4gIH0gZWxzZSB7XG4gICAgLy8gb3Rod2VyaXNlLCB3ZSB1c2UgdGhlIHN0YW5kYXJkIGB0b3BgLCBgbGVmdGAsIGBib3R0b21gIGFuZCBgcmlnaHRgIHByb3BlcnRpZXNcbiAgICB2YXIgaW52ZXJ0VG9wID0gc2lkZUEgPT09ICdib3R0b20nID8gLTEgOiAxO1xuICAgIHZhciBpbnZlcnRMZWZ0ID0gc2lkZUIgPT09ICdyaWdodCcgPyAtMSA6IDE7XG4gICAgc3R5bGVzW3NpZGVBXSA9IHRvcCAqIGludmVydFRvcDtcbiAgICBzdHlsZXNbc2lkZUJdID0gbGVmdCAqIGludmVydExlZnQ7XG4gICAgc3R5bGVzLndpbGxDaGFuZ2UgPSBzaWRlQSArICcsICcgKyBzaWRlQjtcbiAgfVxuXG4gIC8vIEF0dHJpYnV0ZXNcbiAgdmFyIGF0dHJpYnV0ZXMgPSB7XG4gICAgJ3gtcGxhY2VtZW50JzogZGF0YS5wbGFjZW1lbnRcbiAgfTtcblxuICAvLyBVcGRhdGUgYGRhdGFgIGF0dHJpYnV0ZXMsIHN0eWxlcyBhbmQgYXJyb3dTdHlsZXNcbiAgZGF0YS5hdHRyaWJ1dGVzID0gX2V4dGVuZHMoe30sIGF0dHJpYnV0ZXMsIGRhdGEuYXR0cmlidXRlcyk7XG4gIGRhdGEuc3R5bGVzID0gX2V4dGVuZHMoe30sIHN0eWxlcywgZGF0YS5zdHlsZXMpO1xuICBkYXRhLmFycm93U3R5bGVzID0gX2V4dGVuZHMoe30sIGRhdGEub2Zmc2V0cy5hcnJvdywgZGF0YS5hcnJvd1N0eWxlcyk7XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbi8qKlxuICogSGVscGVyIHVzZWQgdG8ga25vdyBpZiB0aGUgZ2l2ZW4gbW9kaWZpZXIgZGVwZW5kcyBmcm9tIGFub3RoZXIgb25lLjxiciAvPlxuICogSXQgY2hlY2tzIGlmIHRoZSBuZWVkZWQgbW9kaWZpZXIgaXMgbGlzdGVkIGFuZCBlbmFibGVkLlxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHBhcmFtIHtBcnJheX0gbW9kaWZpZXJzIC0gbGlzdCBvZiBtb2RpZmllcnNcbiAqIEBwYXJhbSB7U3RyaW5nfSByZXF1ZXN0aW5nTmFtZSAtIG5hbWUgb2YgcmVxdWVzdGluZyBtb2RpZmllclxuICogQHBhcmFtIHtTdHJpbmd9IHJlcXVlc3RlZE5hbWUgLSBuYW1lIG9mIHJlcXVlc3RlZCBtb2RpZmllclxuICogQHJldHVybnMge0Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIGlzTW9kaWZpZXJSZXF1aXJlZChtb2RpZmllcnMsIHJlcXVlc3RpbmdOYW1lLCByZXF1ZXN0ZWROYW1lKSB7XG4gIHZhciByZXF1ZXN0aW5nID0gZmluZChtb2RpZmllcnMsIGZ1bmN0aW9uIChfcmVmKSB7XG4gICAgdmFyIG5hbWUgPSBfcmVmLm5hbWU7XG4gICAgcmV0dXJuIG5hbWUgPT09IHJlcXVlc3RpbmdOYW1lO1xuICB9KTtcblxuICB2YXIgaXNSZXF1aXJlZCA9ICEhcmVxdWVzdGluZyAmJiBtb2RpZmllcnMuc29tZShmdW5jdGlvbiAobW9kaWZpZXIpIHtcbiAgICByZXR1cm4gbW9kaWZpZXIubmFtZSA9PT0gcmVxdWVzdGVkTmFtZSAmJiBtb2RpZmllci5lbmFibGVkICYmIG1vZGlmaWVyLm9yZGVyIDwgcmVxdWVzdGluZy5vcmRlcjtcbiAgfSk7XG5cbiAgaWYgKCFpc1JlcXVpcmVkKSB7XG4gICAgdmFyIF9yZXF1ZXN0aW5nID0gJ2AnICsgcmVxdWVzdGluZ05hbWUgKyAnYCc7XG4gICAgdmFyIHJlcXVlc3RlZCA9ICdgJyArIHJlcXVlc3RlZE5hbWUgKyAnYCc7XG4gICAgY29uc29sZS53YXJuKHJlcXVlc3RlZCArICcgbW9kaWZpZXIgaXMgcmVxdWlyZWQgYnkgJyArIF9yZXF1ZXN0aW5nICsgJyBtb2RpZmllciBpbiBvcmRlciB0byB3b3JrLCBiZSBzdXJlIHRvIGluY2x1ZGUgaXQgYmVmb3JlICcgKyBfcmVxdWVzdGluZyArICchJyk7XG4gIH1cbiAgcmV0dXJuIGlzUmVxdWlyZWQ7XG59XG5cbi8qKlxuICogQGZ1bmN0aW9uXG4gKiBAbWVtYmVyb2YgTW9kaWZpZXJzXG4gKiBAYXJndW1lbnQge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBnZW5lcmF0ZWQgYnkgdXBkYXRlIG1ldGhvZFxuICogQGFyZ3VtZW50IHtPYmplY3R9IG9wdGlvbnMgLSBNb2RpZmllcnMgY29uZmlndXJhdGlvbiBhbmQgb3B0aW9uc1xuICogQHJldHVybnMge09iamVjdH0gVGhlIGRhdGEgb2JqZWN0LCBwcm9wZXJseSBtb2RpZmllZFxuICovXG5mdW5jdGlvbiBhcnJvdyhkYXRhLCBvcHRpb25zKSB7XG4gIHZhciBfZGF0YSRvZmZzZXRzJGFycm93O1xuXG4gIC8vIGFycm93IGRlcGVuZHMgb24ga2VlcFRvZ2V0aGVyIGluIG9yZGVyIHRvIHdvcmtcbiAgaWYgKCFpc01vZGlmaWVyUmVxdWlyZWQoZGF0YS5pbnN0YW5jZS5tb2RpZmllcnMsICdhcnJvdycsICdrZWVwVG9nZXRoZXInKSkge1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgdmFyIGFycm93RWxlbWVudCA9IG9wdGlvbnMuZWxlbWVudDtcblxuICAvLyBpZiBhcnJvd0VsZW1lbnQgaXMgYSBzdHJpbmcsIHN1cHBvc2UgaXQncyBhIENTUyBzZWxlY3RvclxuICBpZiAodHlwZW9mIGFycm93RWxlbWVudCA9PT0gJ3N0cmluZycpIHtcbiAgICBhcnJvd0VsZW1lbnQgPSBkYXRhLmluc3RhbmNlLnBvcHBlci5xdWVyeVNlbGVjdG9yKGFycm93RWxlbWVudCk7XG5cbiAgICAvLyBpZiBhcnJvd0VsZW1lbnQgaXMgbm90IGZvdW5kLCBkb24ndCBydW4gdGhlIG1vZGlmaWVyXG4gICAgaWYgKCFhcnJvd0VsZW1lbnQpIHtcbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBpZiB0aGUgYXJyb3dFbGVtZW50IGlzbid0IGEgcXVlcnkgc2VsZWN0b3Igd2UgbXVzdCBjaGVjayB0aGF0IHRoZVxuICAgIC8vIHByb3ZpZGVkIERPTSBub2RlIGlzIGNoaWxkIG9mIGl0cyBwb3BwZXIgbm9kZVxuICAgIGlmICghZGF0YS5pbnN0YW5jZS5wb3BwZXIuY29udGFpbnMoYXJyb3dFbGVtZW50KSkge1xuICAgICAgY29uc29sZS53YXJuKCdXQVJOSU5HOiBgYXJyb3cuZWxlbWVudGAgbXVzdCBiZSBjaGlsZCBvZiBpdHMgcG9wcGVyIGVsZW1lbnQhJyk7XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG4gIH1cblxuICB2YXIgcGxhY2VtZW50ID0gZGF0YS5wbGFjZW1lbnQuc3BsaXQoJy0nKVswXTtcbiAgdmFyIF9kYXRhJG9mZnNldHMgPSBkYXRhLm9mZnNldHMsXG4gICAgICBwb3BwZXIgPSBfZGF0YSRvZmZzZXRzLnBvcHBlcixcbiAgICAgIHJlZmVyZW5jZSA9IF9kYXRhJG9mZnNldHMucmVmZXJlbmNlO1xuXG4gIHZhciBpc1ZlcnRpY2FsID0gWydsZWZ0JywgJ3JpZ2h0J10uaW5kZXhPZihwbGFjZW1lbnQpICE9PSAtMTtcblxuICB2YXIgbGVuID0gaXNWZXJ0aWNhbCA/ICdoZWlnaHQnIDogJ3dpZHRoJztcbiAgdmFyIHNpZGVDYXBpdGFsaXplZCA9IGlzVmVydGljYWwgPyAnVG9wJyA6ICdMZWZ0JztcbiAgdmFyIHNpZGUgPSBzaWRlQ2FwaXRhbGl6ZWQudG9Mb3dlckNhc2UoKTtcbiAgdmFyIGFsdFNpZGUgPSBpc1ZlcnRpY2FsID8gJ2xlZnQnIDogJ3RvcCc7XG4gIHZhciBvcFNpZGUgPSBpc1ZlcnRpY2FsID8gJ2JvdHRvbScgOiAncmlnaHQnO1xuICB2YXIgYXJyb3dFbGVtZW50U2l6ZSA9IGdldE91dGVyU2l6ZXMoYXJyb3dFbGVtZW50KVtsZW5dO1xuXG4gIC8vXG4gIC8vIGV4dGVuZHMga2VlcFRvZ2V0aGVyIGJlaGF2aW9yIG1ha2luZyBzdXJlIHRoZSBwb3BwZXIgYW5kIGl0c1xuICAvLyByZWZlcmVuY2UgaGF2ZSBlbm91Z2ggcGl4ZWxzIGluIGNvbmp1bmN0aW9uXG4gIC8vXG5cbiAgLy8gdG9wL2xlZnQgc2lkZVxuICBpZiAocmVmZXJlbmNlW29wU2lkZV0gLSBhcnJvd0VsZW1lbnRTaXplIDwgcG9wcGVyW3NpZGVdKSB7XG4gICAgZGF0YS5vZmZzZXRzLnBvcHBlcltzaWRlXSAtPSBwb3BwZXJbc2lkZV0gLSAocmVmZXJlbmNlW29wU2lkZV0gLSBhcnJvd0VsZW1lbnRTaXplKTtcbiAgfVxuICAvLyBib3R0b20vcmlnaHQgc2lkZVxuICBpZiAocmVmZXJlbmNlW3NpZGVdICsgYXJyb3dFbGVtZW50U2l6ZSA+IHBvcHBlcltvcFNpZGVdKSB7XG4gICAgZGF0YS5vZmZzZXRzLnBvcHBlcltzaWRlXSArPSByZWZlcmVuY2Vbc2lkZV0gKyBhcnJvd0VsZW1lbnRTaXplIC0gcG9wcGVyW29wU2lkZV07XG4gIH1cbiAgZGF0YS5vZmZzZXRzLnBvcHBlciA9IGdldENsaWVudFJlY3QoZGF0YS5vZmZzZXRzLnBvcHBlcik7XG5cbiAgLy8gY29tcHV0ZSBjZW50ZXIgb2YgdGhlIHBvcHBlclxuICB2YXIgY2VudGVyID0gcmVmZXJlbmNlW3NpZGVdICsgcmVmZXJlbmNlW2xlbl0gLyAyIC0gYXJyb3dFbGVtZW50U2l6ZSAvIDI7XG5cbiAgLy8gQ29tcHV0ZSB0aGUgc2lkZVZhbHVlIHVzaW5nIHRoZSB1cGRhdGVkIHBvcHBlciBvZmZzZXRzXG4gIC8vIHRha2UgcG9wcGVyIG1hcmdpbiBpbiBhY2NvdW50IGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSB0aGlzIGluZm8gYXZhaWxhYmxlXG4gIHZhciBjc3MgPSBnZXRTdHlsZUNvbXB1dGVkUHJvcGVydHkoZGF0YS5pbnN0YW5jZS5wb3BwZXIpO1xuICB2YXIgcG9wcGVyTWFyZ2luU2lkZSA9IHBhcnNlRmxvYXQoY3NzWydtYXJnaW4nICsgc2lkZUNhcGl0YWxpemVkXSwgMTApO1xuICB2YXIgcG9wcGVyQm9yZGVyU2lkZSA9IHBhcnNlRmxvYXQoY3NzWydib3JkZXInICsgc2lkZUNhcGl0YWxpemVkICsgJ1dpZHRoJ10sIDEwKTtcbiAgdmFyIHNpZGVWYWx1ZSA9IGNlbnRlciAtIGRhdGEub2Zmc2V0cy5wb3BwZXJbc2lkZV0gLSBwb3BwZXJNYXJnaW5TaWRlIC0gcG9wcGVyQm9yZGVyU2lkZTtcblxuICAvLyBwcmV2ZW50IGFycm93RWxlbWVudCBmcm9tIGJlaW5nIHBsYWNlZCBub3QgY29udGlndW91c2x5IHRvIGl0cyBwb3BwZXJcbiAgc2lkZVZhbHVlID0gTWF0aC5tYXgoTWF0aC5taW4ocG9wcGVyW2xlbl0gLSBhcnJvd0VsZW1lbnRTaXplLCBzaWRlVmFsdWUpLCAwKTtcblxuICBkYXRhLmFycm93RWxlbWVudCA9IGFycm93RWxlbWVudDtcbiAgZGF0YS5vZmZzZXRzLmFycm93ID0gKF9kYXRhJG9mZnNldHMkYXJyb3cgPSB7fSwgZGVmaW5lUHJvcGVydHkoX2RhdGEkb2Zmc2V0cyRhcnJvdywgc2lkZSwgTWF0aC5yb3VuZChzaWRlVmFsdWUpKSwgZGVmaW5lUHJvcGVydHkoX2RhdGEkb2Zmc2V0cyRhcnJvdywgYWx0U2lkZSwgJycpLCBfZGF0YSRvZmZzZXRzJGFycm93KTtcblxuICByZXR1cm4gZGF0YTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIG9wcG9zaXRlIHBsYWNlbWVudCB2YXJpYXRpb24gb2YgdGhlIGdpdmVuIG9uZVxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtTdHJpbmd9IHBsYWNlbWVudCB2YXJpYXRpb25cbiAqIEByZXR1cm5zIHtTdHJpbmd9IGZsaXBwZWQgcGxhY2VtZW50IHZhcmlhdGlvblxuICovXG5mdW5jdGlvbiBnZXRPcHBvc2l0ZVZhcmlhdGlvbih2YXJpYXRpb24pIHtcbiAgaWYgKHZhcmlhdGlvbiA9PT0gJ2VuZCcpIHtcbiAgICByZXR1cm4gJ3N0YXJ0JztcbiAgfSBlbHNlIGlmICh2YXJpYXRpb24gPT09ICdzdGFydCcpIHtcbiAgICByZXR1cm4gJ2VuZCc7XG4gIH1cbiAgcmV0dXJuIHZhcmlhdGlvbjtcbn1cblxuLyoqXG4gKiBMaXN0IG9mIGFjY2VwdGVkIHBsYWNlbWVudHMgdG8gdXNlIGFzIHZhbHVlcyBvZiB0aGUgYHBsYWNlbWVudGAgb3B0aW9uLjxiciAvPlxuICogVmFsaWQgcGxhY2VtZW50cyBhcmU6XG4gKiAtIGBhdXRvYFxuICogLSBgdG9wYFxuICogLSBgcmlnaHRgXG4gKiAtIGBib3R0b21gXG4gKiAtIGBsZWZ0YFxuICpcbiAqIEVhY2ggcGxhY2VtZW50IGNhbiBoYXZlIGEgdmFyaWF0aW9uIGZyb20gdGhpcyBsaXN0OlxuICogLSBgLXN0YXJ0YFxuICogLSBgLWVuZGBcbiAqXG4gKiBWYXJpYXRpb25zIGFyZSBpbnRlcnByZXRlZCBlYXNpbHkgaWYgeW91IHRoaW5rIG9mIHRoZW0gYXMgdGhlIGxlZnQgdG8gcmlnaHRcbiAqIHdyaXR0ZW4gbGFuZ3VhZ2VzLiBIb3Jpem9udGFsbHkgKGB0b3BgIGFuZCBgYm90dG9tYCksIGBzdGFydGAgaXMgbGVmdCBhbmQgYGVuZGBcbiAqIGlzIHJpZ2h0LjxiciAvPlxuICogVmVydGljYWxseSAoYGxlZnRgIGFuZCBgcmlnaHRgKSwgYHN0YXJ0YCBpcyB0b3AgYW5kIGBlbmRgIGlzIGJvdHRvbS5cbiAqXG4gKiBTb21lIHZhbGlkIGV4YW1wbGVzIGFyZTpcbiAqIC0gYHRvcC1lbmRgIChvbiB0b3Agb2YgcmVmZXJlbmNlLCByaWdodCBhbGlnbmVkKVxuICogLSBgcmlnaHQtc3RhcnRgIChvbiByaWdodCBvZiByZWZlcmVuY2UsIHRvcCBhbGlnbmVkKVxuICogLSBgYm90dG9tYCAob24gYm90dG9tLCBjZW50ZXJlZClcbiAqIC0gYGF1dG8tZW5kYCAob24gdGhlIHNpZGUgd2l0aCBtb3JlIHNwYWNlIGF2YWlsYWJsZSwgYWxpZ25tZW50IGRlcGVuZHMgYnkgcGxhY2VtZW50KVxuICpcbiAqIEBzdGF0aWNcbiAqIEB0eXBlIHtBcnJheX1cbiAqIEBlbnVtIHtTdHJpbmd9XG4gKiBAcmVhZG9ubHlcbiAqIEBtZXRob2QgcGxhY2VtZW50c1xuICogQG1lbWJlcm9mIFBvcHBlclxuICovXG52YXIgcGxhY2VtZW50cyA9IFsnYXV0by1zdGFydCcsICdhdXRvJywgJ2F1dG8tZW5kJywgJ3RvcC1zdGFydCcsICd0b3AnLCAndG9wLWVuZCcsICdyaWdodC1zdGFydCcsICdyaWdodCcsICdyaWdodC1lbmQnLCAnYm90dG9tLWVuZCcsICdib3R0b20nLCAnYm90dG9tLXN0YXJ0JywgJ2xlZnQtZW5kJywgJ2xlZnQnLCAnbGVmdC1zdGFydCddO1xuXG4vLyBHZXQgcmlkIG9mIGBhdXRvYCBgYXV0by1zdGFydGAgYW5kIGBhdXRvLWVuZGBcbnZhciB2YWxpZFBsYWNlbWVudHMgPSBwbGFjZW1lbnRzLnNsaWNlKDMpO1xuXG4vKipcbiAqIEdpdmVuIGFuIGluaXRpYWwgcGxhY2VtZW50LCByZXR1cm5zIGFsbCB0aGUgc3Vic2VxdWVudCBwbGFjZW1lbnRzXG4gKiBjbG9ja3dpc2UgKG9yIGNvdW50ZXItY2xvY2t3aXNlKS5cbiAqXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge1N0cmluZ30gcGxhY2VtZW50IC0gQSB2YWxpZCBwbGFjZW1lbnQgKGl0IGFjY2VwdHMgdmFyaWF0aW9ucylcbiAqIEBhcmd1bWVudCB7Qm9vbGVhbn0gY291bnRlciAtIFNldCB0byB0cnVlIHRvIHdhbGsgdGhlIHBsYWNlbWVudHMgY291bnRlcmNsb2Nrd2lzZVxuICogQHJldHVybnMge0FycmF5fSBwbGFjZW1lbnRzIGluY2x1ZGluZyB0aGVpciB2YXJpYXRpb25zXG4gKi9cbmZ1bmN0aW9uIGNsb2Nrd2lzZShwbGFjZW1lbnQpIHtcbiAgdmFyIGNvdW50ZXIgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGZhbHNlO1xuXG4gIHZhciBpbmRleCA9IHZhbGlkUGxhY2VtZW50cy5pbmRleE9mKHBsYWNlbWVudCk7XG4gIHZhciBhcnIgPSB2YWxpZFBsYWNlbWVudHMuc2xpY2UoaW5kZXggKyAxKS5jb25jYXQodmFsaWRQbGFjZW1lbnRzLnNsaWNlKDAsIGluZGV4KSk7XG4gIHJldHVybiBjb3VudGVyID8gYXJyLnJldmVyc2UoKSA6IGFycjtcbn1cblxudmFyIEJFSEFWSU9SUyA9IHtcbiAgRkxJUDogJ2ZsaXAnLFxuICBDTE9DS1dJU0U6ICdjbG9ja3dpc2UnLFxuICBDT1VOVEVSQ0xPQ0tXSVNFOiAnY291bnRlcmNsb2Nrd2lzZSdcbn07XG5cbi8qKlxuICogQGZ1bmN0aW9uXG4gKiBAbWVtYmVyb2YgTW9kaWZpZXJzXG4gKiBAYXJndW1lbnQge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBnZW5lcmF0ZWQgYnkgdXBkYXRlIG1ldGhvZFxuICogQGFyZ3VtZW50IHtPYmplY3R9IG9wdGlvbnMgLSBNb2RpZmllcnMgY29uZmlndXJhdGlvbiBhbmQgb3B0aW9uc1xuICogQHJldHVybnMge09iamVjdH0gVGhlIGRhdGEgb2JqZWN0LCBwcm9wZXJseSBtb2RpZmllZFxuICovXG5mdW5jdGlvbiBmbGlwKGRhdGEsIG9wdGlvbnMpIHtcbiAgLy8gaWYgYGlubmVyYCBtb2RpZmllciBpcyBlbmFibGVkLCB3ZSBjYW4ndCB1c2UgdGhlIGBmbGlwYCBtb2RpZmllclxuICBpZiAoaXNNb2RpZmllckVuYWJsZWQoZGF0YS5pbnN0YW5jZS5tb2RpZmllcnMsICdpbm5lcicpKSB7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBpZiAoZGF0YS5mbGlwcGVkICYmIGRhdGEucGxhY2VtZW50ID09PSBkYXRhLm9yaWdpbmFsUGxhY2VtZW50KSB7XG4gICAgLy8gc2VlbXMgbGlrZSBmbGlwIGlzIHRyeWluZyB0byBsb29wLCBwcm9iYWJseSB0aGVyZSdzIG5vdCBlbm91Z2ggc3BhY2Ugb24gYW55IG9mIHRoZSBmbGlwcGFibGUgc2lkZXNcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHZhciBib3VuZGFyaWVzID0gZ2V0Qm91bmRhcmllcyhkYXRhLmluc3RhbmNlLnBvcHBlciwgZGF0YS5pbnN0YW5jZS5yZWZlcmVuY2UsIG9wdGlvbnMucGFkZGluZywgb3B0aW9ucy5ib3VuZGFyaWVzRWxlbWVudCwgZGF0YS5wb3NpdGlvbkZpeGVkKTtcblxuICB2YXIgcGxhY2VtZW50ID0gZGF0YS5wbGFjZW1lbnQuc3BsaXQoJy0nKVswXTtcbiAgdmFyIHBsYWNlbWVudE9wcG9zaXRlID0gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQocGxhY2VtZW50KTtcbiAgdmFyIHZhcmlhdGlvbiA9IGRhdGEucGxhY2VtZW50LnNwbGl0KCctJylbMV0gfHwgJyc7XG5cbiAgdmFyIGZsaXBPcmRlciA9IFtdO1xuXG4gIHN3aXRjaCAob3B0aW9ucy5iZWhhdmlvcikge1xuICAgIGNhc2UgQkVIQVZJT1JTLkZMSVA6XG4gICAgICBmbGlwT3JkZXIgPSBbcGxhY2VtZW50LCBwbGFjZW1lbnRPcHBvc2l0ZV07XG4gICAgICBicmVhaztcbiAgICBjYXNlIEJFSEFWSU9SUy5DTE9DS1dJU0U6XG4gICAgICBmbGlwT3JkZXIgPSBjbG9ja3dpc2UocGxhY2VtZW50KTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgQkVIQVZJT1JTLkNPVU5URVJDTE9DS1dJU0U6XG4gICAgICBmbGlwT3JkZXIgPSBjbG9ja3dpc2UocGxhY2VtZW50LCB0cnVlKTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBmbGlwT3JkZXIgPSBvcHRpb25zLmJlaGF2aW9yO1xuICB9XG5cbiAgZmxpcE9yZGVyLmZvckVhY2goZnVuY3Rpb24gKHN0ZXAsIGluZGV4KSB7XG4gICAgaWYgKHBsYWNlbWVudCAhPT0gc3RlcCB8fCBmbGlwT3JkZXIubGVuZ3RoID09PSBpbmRleCArIDEpIHtcbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cblxuICAgIHBsYWNlbWVudCA9IGRhdGEucGxhY2VtZW50LnNwbGl0KCctJylbMF07XG4gICAgcGxhY2VtZW50T3Bwb3NpdGUgPSBnZXRPcHBvc2l0ZVBsYWNlbWVudChwbGFjZW1lbnQpO1xuXG4gICAgdmFyIHBvcHBlck9mZnNldHMgPSBkYXRhLm9mZnNldHMucG9wcGVyO1xuICAgIHZhciByZWZPZmZzZXRzID0gZGF0YS5vZmZzZXRzLnJlZmVyZW5jZTtcblxuICAgIC8vIHVzaW5nIGZsb29yIGJlY2F1c2UgdGhlIHJlZmVyZW5jZSBvZmZzZXRzIG1heSBjb250YWluIGRlY2ltYWxzIHdlIGFyZSBub3QgZ29pbmcgdG8gY29uc2lkZXIgaGVyZVxuICAgIHZhciBmbG9vciA9IE1hdGguZmxvb3I7XG4gICAgdmFyIG92ZXJsYXBzUmVmID0gcGxhY2VtZW50ID09PSAnbGVmdCcgJiYgZmxvb3IocG9wcGVyT2Zmc2V0cy5yaWdodCkgPiBmbG9vcihyZWZPZmZzZXRzLmxlZnQpIHx8IHBsYWNlbWVudCA9PT0gJ3JpZ2h0JyAmJiBmbG9vcihwb3BwZXJPZmZzZXRzLmxlZnQpIDwgZmxvb3IocmVmT2Zmc2V0cy5yaWdodCkgfHwgcGxhY2VtZW50ID09PSAndG9wJyAmJiBmbG9vcihwb3BwZXJPZmZzZXRzLmJvdHRvbSkgPiBmbG9vcihyZWZPZmZzZXRzLnRvcCkgfHwgcGxhY2VtZW50ID09PSAnYm90dG9tJyAmJiBmbG9vcihwb3BwZXJPZmZzZXRzLnRvcCkgPCBmbG9vcihyZWZPZmZzZXRzLmJvdHRvbSk7XG5cbiAgICB2YXIgb3ZlcmZsb3dzTGVmdCA9IGZsb29yKHBvcHBlck9mZnNldHMubGVmdCkgPCBmbG9vcihib3VuZGFyaWVzLmxlZnQpO1xuICAgIHZhciBvdmVyZmxvd3NSaWdodCA9IGZsb29yKHBvcHBlck9mZnNldHMucmlnaHQpID4gZmxvb3IoYm91bmRhcmllcy5yaWdodCk7XG4gICAgdmFyIG92ZXJmbG93c1RvcCA9IGZsb29yKHBvcHBlck9mZnNldHMudG9wKSA8IGZsb29yKGJvdW5kYXJpZXMudG9wKTtcbiAgICB2YXIgb3ZlcmZsb3dzQm90dG9tID0gZmxvb3IocG9wcGVyT2Zmc2V0cy5ib3R0b20pID4gZmxvb3IoYm91bmRhcmllcy5ib3R0b20pO1xuXG4gICAgdmFyIG92ZXJmbG93c0JvdW5kYXJpZXMgPSBwbGFjZW1lbnQgPT09ICdsZWZ0JyAmJiBvdmVyZmxvd3NMZWZ0IHx8IHBsYWNlbWVudCA9PT0gJ3JpZ2h0JyAmJiBvdmVyZmxvd3NSaWdodCB8fCBwbGFjZW1lbnQgPT09ICd0b3AnICYmIG92ZXJmbG93c1RvcCB8fCBwbGFjZW1lbnQgPT09ICdib3R0b20nICYmIG92ZXJmbG93c0JvdHRvbTtcblxuICAgIC8vIGZsaXAgdGhlIHZhcmlhdGlvbiBpZiByZXF1aXJlZFxuICAgIHZhciBpc1ZlcnRpY2FsID0gWyd0b3AnLCAnYm90dG9tJ10uaW5kZXhPZihwbGFjZW1lbnQpICE9PSAtMTtcblxuICAgIC8vIGZsaXBzIHZhcmlhdGlvbiBpZiByZWZlcmVuY2UgZWxlbWVudCBvdmVyZmxvd3MgYm91bmRhcmllc1xuICAgIHZhciBmbGlwcGVkVmFyaWF0aW9uQnlSZWYgPSAhIW9wdGlvbnMuZmxpcFZhcmlhdGlvbnMgJiYgKGlzVmVydGljYWwgJiYgdmFyaWF0aW9uID09PSAnc3RhcnQnICYmIG92ZXJmbG93c0xlZnQgfHwgaXNWZXJ0aWNhbCAmJiB2YXJpYXRpb24gPT09ICdlbmQnICYmIG92ZXJmbG93c1JpZ2h0IHx8ICFpc1ZlcnRpY2FsICYmIHZhcmlhdGlvbiA9PT0gJ3N0YXJ0JyAmJiBvdmVyZmxvd3NUb3AgfHwgIWlzVmVydGljYWwgJiYgdmFyaWF0aW9uID09PSAnZW5kJyAmJiBvdmVyZmxvd3NCb3R0b20pO1xuXG4gICAgLy8gZmxpcHMgdmFyaWF0aW9uIGlmIHBvcHBlciBjb250ZW50IG92ZXJmbG93cyBib3VuZGFyaWVzXG4gICAgdmFyIGZsaXBwZWRWYXJpYXRpb25CeUNvbnRlbnQgPSAhIW9wdGlvbnMuZmxpcFZhcmlhdGlvbnNCeUNvbnRlbnQgJiYgKGlzVmVydGljYWwgJiYgdmFyaWF0aW9uID09PSAnc3RhcnQnICYmIG92ZXJmbG93c1JpZ2h0IHx8IGlzVmVydGljYWwgJiYgdmFyaWF0aW9uID09PSAnZW5kJyAmJiBvdmVyZmxvd3NMZWZ0IHx8ICFpc1ZlcnRpY2FsICYmIHZhcmlhdGlvbiA9PT0gJ3N0YXJ0JyAmJiBvdmVyZmxvd3NCb3R0b20gfHwgIWlzVmVydGljYWwgJiYgdmFyaWF0aW9uID09PSAnZW5kJyAmJiBvdmVyZmxvd3NUb3ApO1xuXG4gICAgdmFyIGZsaXBwZWRWYXJpYXRpb24gPSBmbGlwcGVkVmFyaWF0aW9uQnlSZWYgfHwgZmxpcHBlZFZhcmlhdGlvbkJ5Q29udGVudDtcblxuICAgIGlmIChvdmVybGFwc1JlZiB8fCBvdmVyZmxvd3NCb3VuZGFyaWVzIHx8IGZsaXBwZWRWYXJpYXRpb24pIHtcbiAgICAgIC8vIHRoaXMgYm9vbGVhbiB0byBkZXRlY3QgYW55IGZsaXAgbG9vcFxuICAgICAgZGF0YS5mbGlwcGVkID0gdHJ1ZTtcblxuICAgICAgaWYgKG92ZXJsYXBzUmVmIHx8IG92ZXJmbG93c0JvdW5kYXJpZXMpIHtcbiAgICAgICAgcGxhY2VtZW50ID0gZmxpcE9yZGVyW2luZGV4ICsgMV07XG4gICAgICB9XG5cbiAgICAgIGlmIChmbGlwcGVkVmFyaWF0aW9uKSB7XG4gICAgICAgIHZhcmlhdGlvbiA9IGdldE9wcG9zaXRlVmFyaWF0aW9uKHZhcmlhdGlvbik7XG4gICAgICB9XG5cbiAgICAgIGRhdGEucGxhY2VtZW50ID0gcGxhY2VtZW50ICsgKHZhcmlhdGlvbiA/ICctJyArIHZhcmlhdGlvbiA6ICcnKTtcblxuICAgICAgLy8gdGhpcyBvYmplY3QgY29udGFpbnMgYHBvc2l0aW9uYCwgd2Ugd2FudCB0byBwcmVzZXJ2ZSBpdCBhbG9uZyB3aXRoXG4gICAgICAvLyBhbnkgYWRkaXRpb25hbCBwcm9wZXJ0eSB3ZSBtYXkgYWRkIGluIHRoZSBmdXR1cmVcbiAgICAgIGRhdGEub2Zmc2V0cy5wb3BwZXIgPSBfZXh0ZW5kcyh7fSwgZGF0YS5vZmZzZXRzLnBvcHBlciwgZ2V0UG9wcGVyT2Zmc2V0cyhkYXRhLmluc3RhbmNlLnBvcHBlciwgZGF0YS5vZmZzZXRzLnJlZmVyZW5jZSwgZGF0YS5wbGFjZW1lbnQpKTtcblxuICAgICAgZGF0YSA9IHJ1bk1vZGlmaWVycyhkYXRhLmluc3RhbmNlLm1vZGlmaWVycywgZGF0YSwgJ2ZsaXAnKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gZGF0YTtcbn1cblxuLyoqXG4gKiBAZnVuY3Rpb25cbiAqIEBtZW1iZXJvZiBNb2RpZmllcnNcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBkYXRhIC0gVGhlIGRhdGEgb2JqZWN0IGdlbmVyYXRlZCBieSB1cGRhdGUgbWV0aG9kXG4gKiBAYXJndW1lbnQge09iamVjdH0gb3B0aW9ucyAtIE1vZGlmaWVycyBjb25maWd1cmF0aW9uIGFuZCBvcHRpb25zXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBUaGUgZGF0YSBvYmplY3QsIHByb3Blcmx5IG1vZGlmaWVkXG4gKi9cbmZ1bmN0aW9uIGtlZXBUb2dldGhlcihkYXRhKSB7XG4gIHZhciBfZGF0YSRvZmZzZXRzID0gZGF0YS5vZmZzZXRzLFxuICAgICAgcG9wcGVyID0gX2RhdGEkb2Zmc2V0cy5wb3BwZXIsXG4gICAgICByZWZlcmVuY2UgPSBfZGF0YSRvZmZzZXRzLnJlZmVyZW5jZTtcblxuICB2YXIgcGxhY2VtZW50ID0gZGF0YS5wbGFjZW1lbnQuc3BsaXQoJy0nKVswXTtcbiAgdmFyIGZsb29yID0gTWF0aC5mbG9vcjtcbiAgdmFyIGlzVmVydGljYWwgPSBbJ3RvcCcsICdib3R0b20nXS5pbmRleE9mKHBsYWNlbWVudCkgIT09IC0xO1xuICB2YXIgc2lkZSA9IGlzVmVydGljYWwgPyAncmlnaHQnIDogJ2JvdHRvbSc7XG4gIHZhciBvcFNpZGUgPSBpc1ZlcnRpY2FsID8gJ2xlZnQnIDogJ3RvcCc7XG4gIHZhciBtZWFzdXJlbWVudCA9IGlzVmVydGljYWwgPyAnd2lkdGgnIDogJ2hlaWdodCc7XG5cbiAgaWYgKHBvcHBlcltzaWRlXSA8IGZsb29yKHJlZmVyZW5jZVtvcFNpZGVdKSkge1xuICAgIGRhdGEub2Zmc2V0cy5wb3BwZXJbb3BTaWRlXSA9IGZsb29yKHJlZmVyZW5jZVtvcFNpZGVdKSAtIHBvcHBlclttZWFzdXJlbWVudF07XG4gIH1cbiAgaWYgKHBvcHBlcltvcFNpZGVdID4gZmxvb3IocmVmZXJlbmNlW3NpZGVdKSkge1xuICAgIGRhdGEub2Zmc2V0cy5wb3BwZXJbb3BTaWRlXSA9IGZsb29yKHJlZmVyZW5jZVtzaWRlXSk7XG4gIH1cblxuICByZXR1cm4gZGF0YTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIHN0cmluZyBjb250YWluaW5nIHZhbHVlICsgdW5pdCBpbnRvIGEgcHggdmFsdWUgbnVtYmVyXG4gKiBAZnVuY3Rpb25cbiAqIEBtZW1iZXJvZiB7bW9kaWZpZXJzfm9mZnNldH1cbiAqIEBwcml2YXRlXG4gKiBAYXJndW1lbnQge1N0cmluZ30gc3RyIC0gVmFsdWUgKyB1bml0IHN0cmluZ1xuICogQGFyZ3VtZW50IHtTdHJpbmd9IG1lYXN1cmVtZW50IC0gYGhlaWdodGAgb3IgYHdpZHRoYFxuICogQGFyZ3VtZW50IHtPYmplY3R9IHBvcHBlck9mZnNldHNcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSByZWZlcmVuY2VPZmZzZXRzXG4gKiBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ31cbiAqIFZhbHVlIGluIHBpeGVscywgb3Igb3JpZ2luYWwgc3RyaW5nIGlmIG5vIHZhbHVlcyB3ZXJlIGV4dHJhY3RlZFxuICovXG5mdW5jdGlvbiB0b1ZhbHVlKHN0ciwgbWVhc3VyZW1lbnQsIHBvcHBlck9mZnNldHMsIHJlZmVyZW5jZU9mZnNldHMpIHtcbiAgLy8gc2VwYXJhdGUgdmFsdWUgZnJvbSB1bml0XG4gIHZhciBzcGxpdCA9IHN0ci5tYXRjaCgvKCg/OlxcLXxcXCspP1xcZCpcXC4/XFxkKikoLiopLyk7XG4gIHZhciB2YWx1ZSA9ICtzcGxpdFsxXTtcbiAgdmFyIHVuaXQgPSBzcGxpdFsyXTtcblxuICAvLyBJZiBpdCdzIG5vdCBhIG51bWJlciBpdCdzIGFuIG9wZXJhdG9yLCBJIGd1ZXNzXG4gIGlmICghdmFsdWUpIHtcbiAgICByZXR1cm4gc3RyO1xuICB9XG5cbiAgaWYgKHVuaXQuaW5kZXhPZignJScpID09PSAwKSB7XG4gICAgdmFyIGVsZW1lbnQgPSB2b2lkIDA7XG4gICAgc3dpdGNoICh1bml0KSB7XG4gICAgICBjYXNlICclcCc6XG4gICAgICAgIGVsZW1lbnQgPSBwb3BwZXJPZmZzZXRzO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJyUnOlxuICAgICAgY2FzZSAnJXInOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgZWxlbWVudCA9IHJlZmVyZW5jZU9mZnNldHM7XG4gICAgfVxuXG4gICAgdmFyIHJlY3QgPSBnZXRDbGllbnRSZWN0KGVsZW1lbnQpO1xuICAgIHJldHVybiByZWN0W21lYXN1cmVtZW50XSAvIDEwMCAqIHZhbHVlO1xuICB9IGVsc2UgaWYgKHVuaXQgPT09ICd2aCcgfHwgdW5pdCA9PT0gJ3Z3Jykge1xuICAgIC8vIGlmIGlzIGEgdmggb3IgdncsIHdlIGNhbGN1bGF0ZSB0aGUgc2l6ZSBiYXNlZCBvbiB0aGUgdmlld3BvcnRcbiAgICB2YXIgc2l6ZSA9IHZvaWQgMDtcbiAgICBpZiAodW5pdCA9PT0gJ3ZoJykge1xuICAgICAgc2l6ZSA9IE1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQsIHdpbmRvdy5pbm5lckhlaWdodCB8fCAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2l6ZSA9IE1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCwgd2luZG93LmlubmVyV2lkdGggfHwgMCk7XG4gICAgfVxuICAgIHJldHVybiBzaXplIC8gMTAwICogdmFsdWU7XG4gIH0gZWxzZSB7XG4gICAgLy8gaWYgaXMgYW4gZXhwbGljaXQgcGl4ZWwgdW5pdCwgd2UgZ2V0IHJpZCBvZiB0aGUgdW5pdCBhbmQga2VlcCB0aGUgdmFsdWVcbiAgICAvLyBpZiBpcyBhbiBpbXBsaWNpdCB1bml0LCBpdCdzIHB4LCBhbmQgd2UgcmV0dXJuIGp1c3QgdGhlIHZhbHVlXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59XG5cbi8qKlxuICogUGFyc2UgYW4gYG9mZnNldGAgc3RyaW5nIHRvIGV4dHJhcG9sYXRlIGB4YCBhbmQgYHlgIG51bWVyaWMgb2Zmc2V0cy5cbiAqIEBmdW5jdGlvblxuICogQG1lbWJlcm9mIHttb2RpZmllcnN+b2Zmc2V0fVxuICogQHByaXZhdGVcbiAqIEBhcmd1bWVudCB7U3RyaW5nfSBvZmZzZXRcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBwb3BwZXJPZmZzZXRzXG4gKiBAYXJndW1lbnQge09iamVjdH0gcmVmZXJlbmNlT2Zmc2V0c1xuICogQGFyZ3VtZW50IHtTdHJpbmd9IGJhc2VQbGFjZW1lbnRcbiAqIEByZXR1cm5zIHtBcnJheX0gYSB0d28gY2VsbHMgYXJyYXkgd2l0aCB4IGFuZCB5IG9mZnNldHMgaW4gbnVtYmVyc1xuICovXG5mdW5jdGlvbiBwYXJzZU9mZnNldChvZmZzZXQsIHBvcHBlck9mZnNldHMsIHJlZmVyZW5jZU9mZnNldHMsIGJhc2VQbGFjZW1lbnQpIHtcbiAgdmFyIG9mZnNldHMgPSBbMCwgMF07XG5cbiAgLy8gVXNlIGhlaWdodCBpZiBwbGFjZW1lbnQgaXMgbGVmdCBvciByaWdodCBhbmQgaW5kZXggaXMgMCBvdGhlcndpc2UgdXNlIHdpZHRoXG4gIC8vIGluIHRoaXMgd2F5IHRoZSBmaXJzdCBvZmZzZXQgd2lsbCB1c2UgYW4gYXhpcyBhbmQgdGhlIHNlY29uZCBvbmVcbiAgLy8gd2lsbCB1c2UgdGhlIG90aGVyIG9uZVxuICB2YXIgdXNlSGVpZ2h0ID0gWydyaWdodCcsICdsZWZ0J10uaW5kZXhPZihiYXNlUGxhY2VtZW50KSAhPT0gLTE7XG5cbiAgLy8gU3BsaXQgdGhlIG9mZnNldCBzdHJpbmcgdG8gb2J0YWluIGEgbGlzdCBvZiB2YWx1ZXMgYW5kIG9wZXJhbmRzXG4gIC8vIFRoZSByZWdleCBhZGRyZXNzZXMgdmFsdWVzIHdpdGggdGhlIHBsdXMgb3IgbWludXMgc2lnbiBpbiBmcm9udCAoKzEwLCAtMjAsIGV0YylcbiAgdmFyIGZyYWdtZW50cyA9IG9mZnNldC5zcGxpdCgvKFxcK3xcXC0pLykubWFwKGZ1bmN0aW9uIChmcmFnKSB7XG4gICAgcmV0dXJuIGZyYWcudHJpbSgpO1xuICB9KTtcblxuICAvLyBEZXRlY3QgaWYgdGhlIG9mZnNldCBzdHJpbmcgY29udGFpbnMgYSBwYWlyIG9mIHZhbHVlcyBvciBhIHNpbmdsZSBvbmVcbiAgLy8gdGhleSBjb3VsZCBiZSBzZXBhcmF0ZWQgYnkgY29tbWEgb3Igc3BhY2VcbiAgdmFyIGRpdmlkZXIgPSBmcmFnbWVudHMuaW5kZXhPZihmaW5kKGZyYWdtZW50cywgZnVuY3Rpb24gKGZyYWcpIHtcbiAgICByZXR1cm4gZnJhZy5zZWFyY2goLyx8XFxzLykgIT09IC0xO1xuICB9KSk7XG5cbiAgaWYgKGZyYWdtZW50c1tkaXZpZGVyXSAmJiBmcmFnbWVudHNbZGl2aWRlcl0uaW5kZXhPZignLCcpID09PSAtMSkge1xuICAgIGNvbnNvbGUud2FybignT2Zmc2V0cyBzZXBhcmF0ZWQgYnkgd2hpdGUgc3BhY2UocykgYXJlIGRlcHJlY2F0ZWQsIHVzZSBhIGNvbW1hICgsKSBpbnN0ZWFkLicpO1xuICB9XG5cbiAgLy8gSWYgZGl2aWRlciBpcyBmb3VuZCwgd2UgZGl2aWRlIHRoZSBsaXN0IG9mIHZhbHVlcyBhbmQgb3BlcmFuZHMgdG8gZGl2aWRlXG4gIC8vIHRoZW0gYnkgb2ZzZXQgWCBhbmQgWS5cbiAgdmFyIHNwbGl0UmVnZXggPSAvXFxzKixcXHMqfFxccysvO1xuICB2YXIgb3BzID0gZGl2aWRlciAhPT0gLTEgPyBbZnJhZ21lbnRzLnNsaWNlKDAsIGRpdmlkZXIpLmNvbmNhdChbZnJhZ21lbnRzW2RpdmlkZXJdLnNwbGl0KHNwbGl0UmVnZXgpWzBdXSksIFtmcmFnbWVudHNbZGl2aWRlcl0uc3BsaXQoc3BsaXRSZWdleClbMV1dLmNvbmNhdChmcmFnbWVudHMuc2xpY2UoZGl2aWRlciArIDEpKV0gOiBbZnJhZ21lbnRzXTtcblxuICAvLyBDb252ZXJ0IHRoZSB2YWx1ZXMgd2l0aCB1bml0cyB0byBhYnNvbHV0ZSBwaXhlbHMgdG8gYWxsb3cgb3VyIGNvbXB1dGF0aW9uc1xuICBvcHMgPSBvcHMubWFwKGZ1bmN0aW9uIChvcCwgaW5kZXgpIHtcbiAgICAvLyBNb3N0IG9mIHRoZSB1bml0cyByZWx5IG9uIHRoZSBvcmllbnRhdGlvbiBvZiB0aGUgcG9wcGVyXG4gICAgdmFyIG1lYXN1cmVtZW50ID0gKGluZGV4ID09PSAxID8gIXVzZUhlaWdodCA6IHVzZUhlaWdodCkgPyAnaGVpZ2h0JyA6ICd3aWR0aCc7XG4gICAgdmFyIG1lcmdlV2l0aFByZXZpb3VzID0gZmFsc2U7XG4gICAgcmV0dXJuIG9wXG4gICAgLy8gVGhpcyBhZ2dyZWdhdGVzIGFueSBgK2Agb3IgYC1gIHNpZ24gdGhhdCBhcmVuJ3QgY29uc2lkZXJlZCBvcGVyYXRvcnNcbiAgICAvLyBlLmcuOiAxMCArICs1ID0+IFsxMCwgKywgKzVdXG4gICAgLnJlZHVjZShmdW5jdGlvbiAoYSwgYikge1xuICAgICAgaWYgKGFbYS5sZW5ndGggLSAxXSA9PT0gJycgJiYgWycrJywgJy0nXS5pbmRleE9mKGIpICE9PSAtMSkge1xuICAgICAgICBhW2EubGVuZ3RoIC0gMV0gPSBiO1xuICAgICAgICBtZXJnZVdpdGhQcmV2aW91cyA9IHRydWU7XG4gICAgICAgIHJldHVybiBhO1xuICAgICAgfSBlbHNlIGlmIChtZXJnZVdpdGhQcmV2aW91cykge1xuICAgICAgICBhW2EubGVuZ3RoIC0gMV0gKz0gYjtcbiAgICAgICAgbWVyZ2VXaXRoUHJldmlvdXMgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIGE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gYS5jb25jYXQoYik7XG4gICAgICB9XG4gICAgfSwgW10pXG4gICAgLy8gSGVyZSB3ZSBjb252ZXJ0IHRoZSBzdHJpbmcgdmFsdWVzIGludG8gbnVtYmVyIHZhbHVlcyAoaW4gcHgpXG4gICAgLm1hcChmdW5jdGlvbiAoc3RyKSB7XG4gICAgICByZXR1cm4gdG9WYWx1ZShzdHIsIG1lYXN1cmVtZW50LCBwb3BwZXJPZmZzZXRzLCByZWZlcmVuY2VPZmZzZXRzKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgLy8gTG9vcCB0cm91Z2ggdGhlIG9mZnNldHMgYXJyYXlzIGFuZCBleGVjdXRlIHRoZSBvcGVyYXRpb25zXG4gIG9wcy5mb3JFYWNoKGZ1bmN0aW9uIChvcCwgaW5kZXgpIHtcbiAgICBvcC5mb3JFYWNoKGZ1bmN0aW9uIChmcmFnLCBpbmRleDIpIHtcbiAgICAgIGlmIChpc051bWVyaWMoZnJhZykpIHtcbiAgICAgICAgb2Zmc2V0c1tpbmRleF0gKz0gZnJhZyAqIChvcFtpbmRleDIgLSAxXSA9PT0gJy0nID8gLTEgOiAxKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG4gIHJldHVybiBvZmZzZXRzO1xufVxuXG4vKipcbiAqIEBmdW5jdGlvblxuICogQG1lbWJlcm9mIE1vZGlmaWVyc1xuICogQGFyZ3VtZW50IHtPYmplY3R9IGRhdGEgLSBUaGUgZGF0YSBvYmplY3QgZ2VuZXJhdGVkIGJ5IHVwZGF0ZSBtZXRob2RcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBvcHRpb25zIC0gTW9kaWZpZXJzIGNvbmZpZ3VyYXRpb24gYW5kIG9wdGlvbnNcbiAqIEBhcmd1bWVudCB7TnVtYmVyfFN0cmluZ30gb3B0aW9ucy5vZmZzZXQ9MFxuICogVGhlIG9mZnNldCB2YWx1ZSBhcyBkZXNjcmliZWQgaW4gdGhlIG1vZGlmaWVyIGRlc2NyaXB0aW9uXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBUaGUgZGF0YSBvYmplY3QsIHByb3Blcmx5IG1vZGlmaWVkXG4gKi9cbmZ1bmN0aW9uIG9mZnNldChkYXRhLCBfcmVmKSB7XG4gIHZhciBvZmZzZXQgPSBfcmVmLm9mZnNldDtcbiAgdmFyIHBsYWNlbWVudCA9IGRhdGEucGxhY2VtZW50LFxuICAgICAgX2RhdGEkb2Zmc2V0cyA9IGRhdGEub2Zmc2V0cyxcbiAgICAgIHBvcHBlciA9IF9kYXRhJG9mZnNldHMucG9wcGVyLFxuICAgICAgcmVmZXJlbmNlID0gX2RhdGEkb2Zmc2V0cy5yZWZlcmVuY2U7XG5cbiAgdmFyIGJhc2VQbGFjZW1lbnQgPSBwbGFjZW1lbnQuc3BsaXQoJy0nKVswXTtcblxuICB2YXIgb2Zmc2V0cyA9IHZvaWQgMDtcbiAgaWYgKGlzTnVtZXJpYygrb2Zmc2V0KSkge1xuICAgIG9mZnNldHMgPSBbK29mZnNldCwgMF07XG4gIH0gZWxzZSB7XG4gICAgb2Zmc2V0cyA9IHBhcnNlT2Zmc2V0KG9mZnNldCwgcG9wcGVyLCByZWZlcmVuY2UsIGJhc2VQbGFjZW1lbnQpO1xuICB9XG5cbiAgaWYgKGJhc2VQbGFjZW1lbnQgPT09ICdsZWZ0Jykge1xuICAgIHBvcHBlci50b3AgKz0gb2Zmc2V0c1swXTtcbiAgICBwb3BwZXIubGVmdCAtPSBvZmZzZXRzWzFdO1xuICB9IGVsc2UgaWYgKGJhc2VQbGFjZW1lbnQgPT09ICdyaWdodCcpIHtcbiAgICBwb3BwZXIudG9wICs9IG9mZnNldHNbMF07XG4gICAgcG9wcGVyLmxlZnQgKz0gb2Zmc2V0c1sxXTtcbiAgfSBlbHNlIGlmIChiYXNlUGxhY2VtZW50ID09PSAndG9wJykge1xuICAgIHBvcHBlci5sZWZ0ICs9IG9mZnNldHNbMF07XG4gICAgcG9wcGVyLnRvcCAtPSBvZmZzZXRzWzFdO1xuICB9IGVsc2UgaWYgKGJhc2VQbGFjZW1lbnQgPT09ICdib3R0b20nKSB7XG4gICAgcG9wcGVyLmxlZnQgKz0gb2Zmc2V0c1swXTtcbiAgICBwb3BwZXIudG9wICs9IG9mZnNldHNbMV07XG4gIH1cblxuICBkYXRhLnBvcHBlciA9IHBvcHBlcjtcbiAgcmV0dXJuIGRhdGE7XG59XG5cbi8qKlxuICogQGZ1bmN0aW9uXG4gKiBAbWVtYmVyb2YgTW9kaWZpZXJzXG4gKiBAYXJndW1lbnQge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBnZW5lcmF0ZWQgYnkgYHVwZGF0ZWAgbWV0aG9kXG4gKiBAYXJndW1lbnQge09iamVjdH0gb3B0aW9ucyAtIE1vZGlmaWVycyBjb25maWd1cmF0aW9uIGFuZCBvcHRpb25zXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBUaGUgZGF0YSBvYmplY3QsIHByb3Blcmx5IG1vZGlmaWVkXG4gKi9cbmZ1bmN0aW9uIHByZXZlbnRPdmVyZmxvdyhkYXRhLCBvcHRpb25zKSB7XG4gIHZhciBib3VuZGFyaWVzRWxlbWVudCA9IG9wdGlvbnMuYm91bmRhcmllc0VsZW1lbnQgfHwgZ2V0T2Zmc2V0UGFyZW50KGRhdGEuaW5zdGFuY2UucG9wcGVyKTtcblxuICAvLyBJZiBvZmZzZXRQYXJlbnQgaXMgdGhlIHJlZmVyZW5jZSBlbGVtZW50LCB3ZSByZWFsbHkgd2FudCB0b1xuICAvLyBnbyBvbmUgc3RlcCB1cCBhbmQgdXNlIHRoZSBuZXh0IG9mZnNldFBhcmVudCBhcyByZWZlcmVuY2UgdG9cbiAgLy8gYXZvaWQgdG8gbWFrZSB0aGlzIG1vZGlmaWVyIGNvbXBsZXRlbHkgdXNlbGVzcyBhbmQgbG9vayBsaWtlIGJyb2tlblxuICBpZiAoZGF0YS5pbnN0YW5jZS5yZWZlcmVuY2UgPT09IGJvdW5kYXJpZXNFbGVtZW50KSB7XG4gICAgYm91bmRhcmllc0VsZW1lbnQgPSBnZXRPZmZzZXRQYXJlbnQoYm91bmRhcmllc0VsZW1lbnQpO1xuICB9XG5cbiAgLy8gTk9URTogRE9NIGFjY2VzcyBoZXJlXG4gIC8vIHJlc2V0cyB0aGUgcG9wcGVyJ3MgcG9zaXRpb24gc28gdGhhdCB0aGUgZG9jdW1lbnQgc2l6ZSBjYW4gYmUgY2FsY3VsYXRlZCBleGNsdWRpbmdcbiAgLy8gdGhlIHNpemUgb2YgdGhlIHBvcHBlciBlbGVtZW50IGl0c2VsZlxuICB2YXIgdHJhbnNmb3JtUHJvcCA9IGdldFN1cHBvcnRlZFByb3BlcnR5TmFtZSgndHJhbnNmb3JtJyk7XG4gIHZhciBwb3BwZXJTdHlsZXMgPSBkYXRhLmluc3RhbmNlLnBvcHBlci5zdHlsZTsgLy8gYXNzaWdubWVudCB0byBoZWxwIG1pbmlmaWNhdGlvblxuICB2YXIgdG9wID0gcG9wcGVyU3R5bGVzLnRvcCxcbiAgICAgIGxlZnQgPSBwb3BwZXJTdHlsZXMubGVmdCxcbiAgICAgIHRyYW5zZm9ybSA9IHBvcHBlclN0eWxlc1t0cmFuc2Zvcm1Qcm9wXTtcblxuICBwb3BwZXJTdHlsZXMudG9wID0gJyc7XG4gIHBvcHBlclN0eWxlcy5sZWZ0ID0gJyc7XG4gIHBvcHBlclN0eWxlc1t0cmFuc2Zvcm1Qcm9wXSA9ICcnO1xuXG4gIHZhciBib3VuZGFyaWVzID0gZ2V0Qm91bmRhcmllcyhkYXRhLmluc3RhbmNlLnBvcHBlciwgZGF0YS5pbnN0YW5jZS5yZWZlcmVuY2UsIG9wdGlvbnMucGFkZGluZywgYm91bmRhcmllc0VsZW1lbnQsIGRhdGEucG9zaXRpb25GaXhlZCk7XG5cbiAgLy8gTk9URTogRE9NIGFjY2VzcyBoZXJlXG4gIC8vIHJlc3RvcmVzIHRoZSBvcmlnaW5hbCBzdHlsZSBwcm9wZXJ0aWVzIGFmdGVyIHRoZSBvZmZzZXRzIGhhdmUgYmVlbiBjb21wdXRlZFxuICBwb3BwZXJTdHlsZXMudG9wID0gdG9wO1xuICBwb3BwZXJTdHlsZXMubGVmdCA9IGxlZnQ7XG4gIHBvcHBlclN0eWxlc1t0cmFuc2Zvcm1Qcm9wXSA9IHRyYW5zZm9ybTtcblxuICBvcHRpb25zLmJvdW5kYXJpZXMgPSBib3VuZGFyaWVzO1xuXG4gIHZhciBvcmRlciA9IG9wdGlvbnMucHJpb3JpdHk7XG4gIHZhciBwb3BwZXIgPSBkYXRhLm9mZnNldHMucG9wcGVyO1xuXG4gIHZhciBjaGVjayA9IHtcbiAgICBwcmltYXJ5OiBmdW5jdGlvbiBwcmltYXJ5KHBsYWNlbWVudCkge1xuICAgICAgdmFyIHZhbHVlID0gcG9wcGVyW3BsYWNlbWVudF07XG4gICAgICBpZiAocG9wcGVyW3BsYWNlbWVudF0gPCBib3VuZGFyaWVzW3BsYWNlbWVudF0gJiYgIW9wdGlvbnMuZXNjYXBlV2l0aFJlZmVyZW5jZSkge1xuICAgICAgICB2YWx1ZSA9IE1hdGgubWF4KHBvcHBlcltwbGFjZW1lbnRdLCBib3VuZGFyaWVzW3BsYWNlbWVudF0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGRlZmluZVByb3BlcnR5KHt9LCBwbGFjZW1lbnQsIHZhbHVlKTtcbiAgICB9LFxuICAgIHNlY29uZGFyeTogZnVuY3Rpb24gc2Vjb25kYXJ5KHBsYWNlbWVudCkge1xuICAgICAgdmFyIG1haW5TaWRlID0gcGxhY2VtZW50ID09PSAncmlnaHQnID8gJ2xlZnQnIDogJ3RvcCc7XG4gICAgICB2YXIgdmFsdWUgPSBwb3BwZXJbbWFpblNpZGVdO1xuICAgICAgaWYgKHBvcHBlcltwbGFjZW1lbnRdID4gYm91bmRhcmllc1twbGFjZW1lbnRdICYmICFvcHRpb25zLmVzY2FwZVdpdGhSZWZlcmVuY2UpIHtcbiAgICAgICAgdmFsdWUgPSBNYXRoLm1pbihwb3BwZXJbbWFpblNpZGVdLCBib3VuZGFyaWVzW3BsYWNlbWVudF0gLSAocGxhY2VtZW50ID09PSAncmlnaHQnID8gcG9wcGVyLndpZHRoIDogcG9wcGVyLmhlaWdodCkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGRlZmluZVByb3BlcnR5KHt9LCBtYWluU2lkZSwgdmFsdWUpO1xuICAgIH1cbiAgfTtcblxuICBvcmRlci5mb3JFYWNoKGZ1bmN0aW9uIChwbGFjZW1lbnQpIHtcbiAgICB2YXIgc2lkZSA9IFsnbGVmdCcsICd0b3AnXS5pbmRleE9mKHBsYWNlbWVudCkgIT09IC0xID8gJ3ByaW1hcnknIDogJ3NlY29uZGFyeSc7XG4gICAgcG9wcGVyID0gX2V4dGVuZHMoe30sIHBvcHBlciwgY2hlY2tbc2lkZV0ocGxhY2VtZW50KSk7XG4gIH0pO1xuXG4gIGRhdGEub2Zmc2V0cy5wb3BwZXIgPSBwb3BwZXI7XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbi8qKlxuICogQGZ1bmN0aW9uXG4gKiBAbWVtYmVyb2YgTW9kaWZpZXJzXG4gKiBAYXJndW1lbnQge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBnZW5lcmF0ZWQgYnkgYHVwZGF0ZWAgbWV0aG9kXG4gKiBAYXJndW1lbnQge09iamVjdH0gb3B0aW9ucyAtIE1vZGlmaWVycyBjb25maWd1cmF0aW9uIGFuZCBvcHRpb25zXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBUaGUgZGF0YSBvYmplY3QsIHByb3Blcmx5IG1vZGlmaWVkXG4gKi9cbmZ1bmN0aW9uIHNoaWZ0KGRhdGEpIHtcbiAgdmFyIHBsYWNlbWVudCA9IGRhdGEucGxhY2VtZW50O1xuICB2YXIgYmFzZVBsYWNlbWVudCA9IHBsYWNlbWVudC5zcGxpdCgnLScpWzBdO1xuICB2YXIgc2hpZnR2YXJpYXRpb24gPSBwbGFjZW1lbnQuc3BsaXQoJy0nKVsxXTtcblxuICAvLyBpZiBzaGlmdCBzaGlmdHZhcmlhdGlvbiBpcyBzcGVjaWZpZWQsIHJ1biB0aGUgbW9kaWZpZXJcbiAgaWYgKHNoaWZ0dmFyaWF0aW9uKSB7XG4gICAgdmFyIF9kYXRhJG9mZnNldHMgPSBkYXRhLm9mZnNldHMsXG4gICAgICAgIHJlZmVyZW5jZSA9IF9kYXRhJG9mZnNldHMucmVmZXJlbmNlLFxuICAgICAgICBwb3BwZXIgPSBfZGF0YSRvZmZzZXRzLnBvcHBlcjtcblxuICAgIHZhciBpc1ZlcnRpY2FsID0gWydib3R0b20nLCAndG9wJ10uaW5kZXhPZihiYXNlUGxhY2VtZW50KSAhPT0gLTE7XG4gICAgdmFyIHNpZGUgPSBpc1ZlcnRpY2FsID8gJ2xlZnQnIDogJ3RvcCc7XG4gICAgdmFyIG1lYXN1cmVtZW50ID0gaXNWZXJ0aWNhbCA/ICd3aWR0aCcgOiAnaGVpZ2h0JztcblxuICAgIHZhciBzaGlmdE9mZnNldHMgPSB7XG4gICAgICBzdGFydDogZGVmaW5lUHJvcGVydHkoe30sIHNpZGUsIHJlZmVyZW5jZVtzaWRlXSksXG4gICAgICBlbmQ6IGRlZmluZVByb3BlcnR5KHt9LCBzaWRlLCByZWZlcmVuY2Vbc2lkZV0gKyByZWZlcmVuY2VbbWVhc3VyZW1lbnRdIC0gcG9wcGVyW21lYXN1cmVtZW50XSlcbiAgICB9O1xuXG4gICAgZGF0YS5vZmZzZXRzLnBvcHBlciA9IF9leHRlbmRzKHt9LCBwb3BwZXIsIHNoaWZ0T2Zmc2V0c1tzaGlmdHZhcmlhdGlvbl0pO1xuICB9XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbi8qKlxuICogQGZ1bmN0aW9uXG4gKiBAbWVtYmVyb2YgTW9kaWZpZXJzXG4gKiBAYXJndW1lbnQge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBnZW5lcmF0ZWQgYnkgdXBkYXRlIG1ldGhvZFxuICogQGFyZ3VtZW50IHtPYmplY3R9IG9wdGlvbnMgLSBNb2RpZmllcnMgY29uZmlndXJhdGlvbiBhbmQgb3B0aW9uc1xuICogQHJldHVybnMge09iamVjdH0gVGhlIGRhdGEgb2JqZWN0LCBwcm9wZXJseSBtb2RpZmllZFxuICovXG5mdW5jdGlvbiBoaWRlKGRhdGEpIHtcbiAgaWYgKCFpc01vZGlmaWVyUmVxdWlyZWQoZGF0YS5pbnN0YW5jZS5tb2RpZmllcnMsICdoaWRlJywgJ3ByZXZlbnRPdmVyZmxvdycpKSB7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICB2YXIgcmVmUmVjdCA9IGRhdGEub2Zmc2V0cy5yZWZlcmVuY2U7XG4gIHZhciBib3VuZCA9IGZpbmQoZGF0YS5pbnN0YW5jZS5tb2RpZmllcnMsIGZ1bmN0aW9uIChtb2RpZmllcikge1xuICAgIHJldHVybiBtb2RpZmllci5uYW1lID09PSAncHJldmVudE92ZXJmbG93JztcbiAgfSkuYm91bmRhcmllcztcblxuICBpZiAocmVmUmVjdC5ib3R0b20gPCBib3VuZC50b3AgfHwgcmVmUmVjdC5sZWZ0ID4gYm91bmQucmlnaHQgfHwgcmVmUmVjdC50b3AgPiBib3VuZC5ib3R0b20gfHwgcmVmUmVjdC5yaWdodCA8IGJvdW5kLmxlZnQpIHtcbiAgICAvLyBBdm9pZCB1bm5lY2Vzc2FyeSBET00gYWNjZXNzIGlmIHZpc2liaWxpdHkgaGFzbid0IGNoYW5nZWRcbiAgICBpZiAoZGF0YS5oaWRlID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG5cbiAgICBkYXRhLmhpZGUgPSB0cnVlO1xuICAgIGRhdGEuYXR0cmlidXRlc1sneC1vdXQtb2YtYm91bmRhcmllcyddID0gJyc7XG4gIH0gZWxzZSB7XG4gICAgLy8gQXZvaWQgdW5uZWNlc3NhcnkgRE9NIGFjY2VzcyBpZiB2aXNpYmlsaXR5IGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKGRhdGEuaGlkZSA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cblxuICAgIGRhdGEuaGlkZSA9IGZhbHNlO1xuICAgIGRhdGEuYXR0cmlidXRlc1sneC1vdXQtb2YtYm91bmRhcmllcyddID0gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gZGF0YTtcbn1cblxuLyoqXG4gKiBAZnVuY3Rpb25cbiAqIEBtZW1iZXJvZiBNb2RpZmllcnNcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBkYXRhIC0gVGhlIGRhdGEgb2JqZWN0IGdlbmVyYXRlZCBieSBgdXBkYXRlYCBtZXRob2RcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBvcHRpb25zIC0gTW9kaWZpZXJzIGNvbmZpZ3VyYXRpb24gYW5kIG9wdGlvbnNcbiAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBkYXRhIG9iamVjdCwgcHJvcGVybHkgbW9kaWZpZWRcbiAqL1xuZnVuY3Rpb24gaW5uZXIoZGF0YSkge1xuICB2YXIgcGxhY2VtZW50ID0gZGF0YS5wbGFjZW1lbnQ7XG4gIHZhciBiYXNlUGxhY2VtZW50ID0gcGxhY2VtZW50LnNwbGl0KCctJylbMF07XG4gIHZhciBfZGF0YSRvZmZzZXRzID0gZGF0YS5vZmZzZXRzLFxuICAgICAgcG9wcGVyID0gX2RhdGEkb2Zmc2V0cy5wb3BwZXIsXG4gICAgICByZWZlcmVuY2UgPSBfZGF0YSRvZmZzZXRzLnJlZmVyZW5jZTtcblxuICB2YXIgaXNIb3JpeiA9IFsnbGVmdCcsICdyaWdodCddLmluZGV4T2YoYmFzZVBsYWNlbWVudCkgIT09IC0xO1xuXG4gIHZhciBzdWJ0cmFjdExlbmd0aCA9IFsndG9wJywgJ2xlZnQnXS5pbmRleE9mKGJhc2VQbGFjZW1lbnQpID09PSAtMTtcblxuICBwb3BwZXJbaXNIb3JpeiA/ICdsZWZ0JyA6ICd0b3AnXSA9IHJlZmVyZW5jZVtiYXNlUGxhY2VtZW50XSAtIChzdWJ0cmFjdExlbmd0aCA/IHBvcHBlcltpc0hvcml6ID8gJ3dpZHRoJyA6ICdoZWlnaHQnXSA6IDApO1xuXG4gIGRhdGEucGxhY2VtZW50ID0gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQocGxhY2VtZW50KTtcbiAgZGF0YS5vZmZzZXRzLnBvcHBlciA9IGdldENsaWVudFJlY3QocG9wcGVyKTtcblxuICByZXR1cm4gZGF0YTtcbn1cblxuLyoqXG4gKiBNb2RpZmllciBmdW5jdGlvbiwgZWFjaCBtb2RpZmllciBjYW4gaGF2ZSBhIGZ1bmN0aW9uIG9mIHRoaXMgdHlwZSBhc3NpZ25lZFxuICogdG8gaXRzIGBmbmAgcHJvcGVydHkuPGJyIC8+XG4gKiBUaGVzZSBmdW5jdGlvbnMgd2lsbCBiZSBjYWxsZWQgb24gZWFjaCB1cGRhdGUsIHRoaXMgbWVhbnMgdGhhdCB5b3UgbXVzdFxuICogbWFrZSBzdXJlIHRoZXkgYXJlIHBlcmZvcm1hbnQgZW5vdWdoIHRvIGF2b2lkIHBlcmZvcm1hbmNlIGJvdHRsZW5lY2tzLlxuICpcbiAqIEBmdW5jdGlvbiBNb2RpZmllckZuXG4gKiBAYXJndW1lbnQge2RhdGFPYmplY3R9IGRhdGEgLSBUaGUgZGF0YSBvYmplY3QgZ2VuZXJhdGVkIGJ5IGB1cGRhdGVgIG1ldGhvZFxuICogQGFyZ3VtZW50IHtPYmplY3R9IG9wdGlvbnMgLSBNb2RpZmllcnMgY29uZmlndXJhdGlvbiBhbmQgb3B0aW9uc1xuICogQHJldHVybnMge2RhdGFPYmplY3R9IFRoZSBkYXRhIG9iamVjdCwgcHJvcGVybHkgbW9kaWZpZWRcbiAqL1xuXG4vKipcbiAqIE1vZGlmaWVycyBhcmUgcGx1Z2lucyB1c2VkIHRvIGFsdGVyIHRoZSBiZWhhdmlvciBvZiB5b3VyIHBvcHBlcnMuPGJyIC8+XG4gKiBQb3BwZXIuanMgdXNlcyBhIHNldCBvZiA5IG1vZGlmaWVycyB0byBwcm92aWRlIGFsbCB0aGUgYmFzaWMgZnVuY3Rpb25hbGl0aWVzXG4gKiBuZWVkZWQgYnkgdGhlIGxpYnJhcnkuXG4gKlxuICogVXN1YWxseSB5b3UgZG9uJ3Qgd2FudCB0byBvdmVycmlkZSB0aGUgYG9yZGVyYCwgYGZuYCBhbmQgYG9uTG9hZGAgcHJvcHMuXG4gKiBBbGwgdGhlIG90aGVyIHByb3BlcnRpZXMgYXJlIGNvbmZpZ3VyYXRpb25zIHRoYXQgY291bGQgYmUgdHdlYWtlZC5cbiAqIEBuYW1lc3BhY2UgbW9kaWZpZXJzXG4gKi9cbnZhciBtb2RpZmllcnMgPSB7XG4gIC8qKlxuICAgKiBNb2RpZmllciB1c2VkIHRvIHNoaWZ0IHRoZSBwb3BwZXIgb24gdGhlIHN0YXJ0IG9yIGVuZCBvZiBpdHMgcmVmZXJlbmNlXG4gICAqIGVsZW1lbnQuPGJyIC8+XG4gICAqIEl0IHdpbGwgcmVhZCB0aGUgdmFyaWF0aW9uIG9mIHRoZSBgcGxhY2VtZW50YCBwcm9wZXJ0eS48YnIgLz5cbiAgICogSXQgY2FuIGJlIG9uZSBlaXRoZXIgYC1lbmRgIG9yIGAtc3RhcnRgLlxuICAgKiBAbWVtYmVyb2YgbW9kaWZpZXJzXG4gICAqIEBpbm5lclxuICAgKi9cbiAgc2hpZnQ6IHtcbiAgICAvKiogQHByb3Age251bWJlcn0gb3JkZXI9MTAwIC0gSW5kZXggdXNlZCB0byBkZWZpbmUgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiAqL1xuICAgIG9yZGVyOiAxMDAsXG4gICAgLyoqIEBwcm9wIHtCb29sZWFufSBlbmFibGVkPXRydWUgLSBXaGV0aGVyIHRoZSBtb2RpZmllciBpcyBlbmFibGVkIG9yIG5vdCAqL1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgLyoqIEBwcm9wIHtNb2RpZmllckZufSAqL1xuICAgIGZuOiBzaGlmdFxuICB9LFxuXG4gIC8qKlxuICAgKiBUaGUgYG9mZnNldGAgbW9kaWZpZXIgY2FuIHNoaWZ0IHlvdXIgcG9wcGVyIG9uIGJvdGggaXRzIGF4aXMuXG4gICAqXG4gICAqIEl0IGFjY2VwdHMgdGhlIGZvbGxvd2luZyB1bml0czpcbiAgICogLSBgcHhgIG9yIHVuaXQtbGVzcywgaW50ZXJwcmV0ZWQgYXMgcGl4ZWxzXG4gICAqIC0gYCVgIG9yIGAlcmAsIHBlcmNlbnRhZ2UgcmVsYXRpdmUgdG8gdGhlIGxlbmd0aCBvZiB0aGUgcmVmZXJlbmNlIGVsZW1lbnRcbiAgICogLSBgJXBgLCBwZXJjZW50YWdlIHJlbGF0aXZlIHRvIHRoZSBsZW5ndGggb2YgdGhlIHBvcHBlciBlbGVtZW50XG4gICAqIC0gYHZ3YCwgQ1NTIHZpZXdwb3J0IHdpZHRoIHVuaXRcbiAgICogLSBgdmhgLCBDU1Mgdmlld3BvcnQgaGVpZ2h0IHVuaXRcbiAgICpcbiAgICogRm9yIGxlbmd0aCBpcyBpbnRlbmRlZCB0aGUgbWFpbiBheGlzIHJlbGF0aXZlIHRvIHRoZSBwbGFjZW1lbnQgb2YgdGhlIHBvcHBlci48YnIgLz5cbiAgICogVGhpcyBtZWFucyB0aGF0IGlmIHRoZSBwbGFjZW1lbnQgaXMgYHRvcGAgb3IgYGJvdHRvbWAsIHRoZSBsZW5ndGggd2lsbCBiZSB0aGVcbiAgICogYHdpZHRoYC4gSW4gY2FzZSBvZiBgbGVmdGAgb3IgYHJpZ2h0YCwgaXQgd2lsbCBiZSB0aGUgYGhlaWdodGAuXG4gICAqXG4gICAqIFlvdSBjYW4gcHJvdmlkZSBhIHNpbmdsZSB2YWx1ZSAoYXMgYE51bWJlcmAgb3IgYFN0cmluZ2ApLCBvciBhIHBhaXIgb2YgdmFsdWVzXG4gICAqIGFzIGBTdHJpbmdgIGRpdmlkZWQgYnkgYSBjb21tYSBvciBvbmUgKG9yIG1vcmUpIHdoaXRlIHNwYWNlcy48YnIgLz5cbiAgICogVGhlIGxhdHRlciBpcyBhIGRlcHJlY2F0ZWQgbWV0aG9kIGJlY2F1c2UgaXQgbGVhZHMgdG8gY29uZnVzaW9uIGFuZCB3aWxsIGJlXG4gICAqIHJlbW92ZWQgaW4gdjIuPGJyIC8+XG4gICAqIEFkZGl0aW9uYWxseSwgaXQgYWNjZXB0cyBhZGRpdGlvbnMgYW5kIHN1YnRyYWN0aW9ucyBiZXR3ZWVuIGRpZmZlcmVudCB1bml0cy5cbiAgICogTm90ZSB0aGF0IG11bHRpcGxpY2F0aW9ucyBhbmQgZGl2aXNpb25zIGFyZW4ndCBzdXBwb3J0ZWQuXG4gICAqXG4gICAqIFZhbGlkIGV4YW1wbGVzIGFyZTpcbiAgICogYGBgXG4gICAqIDEwXG4gICAqICcxMCUnXG4gICAqICcxMCwgMTAnXG4gICAqICcxMCUsIDEwJ1xuICAgKiAnMTAgKyAxMCUnXG4gICAqICcxMCAtIDV2aCArIDMlJ1xuICAgKiAnLTEwcHggKyA1dmgsIDVweCAtIDYlJ1xuICAgKiBgYGBcbiAgICogPiAqKk5CKio6IElmIHlvdSBkZXNpcmUgdG8gYXBwbHkgb2Zmc2V0cyB0byB5b3VyIHBvcHBlcnMgaW4gYSB3YXkgdGhhdCBtYXkgbWFrZSB0aGVtIG92ZXJsYXBcbiAgICogPiB3aXRoIHRoZWlyIHJlZmVyZW5jZSBlbGVtZW50LCB1bmZvcnR1bmF0ZWx5LCB5b3Ugd2lsbCBoYXZlIHRvIGRpc2FibGUgdGhlIGBmbGlwYCBtb2RpZmllci5cbiAgICogPiBZb3UgY2FuIHJlYWQgbW9yZSBvbiB0aGlzIGF0IHRoaXMgW2lzc3VlXShodHRwczovL2dpdGh1Yi5jb20vRmV6VnJhc3RhL3BvcHBlci5qcy9pc3N1ZXMvMzczKS5cbiAgICpcbiAgICogQG1lbWJlcm9mIG1vZGlmaWVyc1xuICAgKiBAaW5uZXJcbiAgICovXG4gIG9mZnNldDoge1xuICAgIC8qKiBAcHJvcCB7bnVtYmVyfSBvcmRlcj0yMDAgLSBJbmRleCB1c2VkIHRvIGRlZmluZSB0aGUgb3JkZXIgb2YgZXhlY3V0aW9uICovXG4gICAgb3JkZXI6IDIwMCxcbiAgICAvKiogQHByb3Age0Jvb2xlYW59IGVuYWJsZWQ9dHJ1ZSAtIFdoZXRoZXIgdGhlIG1vZGlmaWVyIGlzIGVuYWJsZWQgb3Igbm90ICovXG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAvKiogQHByb3Age01vZGlmaWVyRm59ICovXG4gICAgZm46IG9mZnNldCxcbiAgICAvKiogQHByb3Age051bWJlcnxTdHJpbmd9IG9mZnNldD0wXG4gICAgICogVGhlIG9mZnNldCB2YWx1ZSBhcyBkZXNjcmliZWQgaW4gdGhlIG1vZGlmaWVyIGRlc2NyaXB0aW9uXG4gICAgICovXG4gICAgb2Zmc2V0OiAwXG4gIH0sXG5cbiAgLyoqXG4gICAqIE1vZGlmaWVyIHVzZWQgdG8gcHJldmVudCB0aGUgcG9wcGVyIGZyb20gYmVpbmcgcG9zaXRpb25lZCBvdXRzaWRlIHRoZSBib3VuZGFyeS5cbiAgICpcbiAgICogQSBzY2VuYXJpbyBleGlzdHMgd2hlcmUgdGhlIHJlZmVyZW5jZSBpdHNlbGYgaXMgbm90IHdpdGhpbiB0aGUgYm91bmRhcmllcy48YnIgLz5cbiAgICogV2UgY2FuIHNheSBpdCBoYXMgXCJlc2NhcGVkIHRoZSBib3VuZGFyaWVzXCIg4oCUIG9yIGp1c3QgXCJlc2NhcGVkXCIuPGJyIC8+XG4gICAqIEluIHRoaXMgY2FzZSB3ZSBuZWVkIHRvIGRlY2lkZSB3aGV0aGVyIHRoZSBwb3BwZXIgc2hvdWxkIGVpdGhlcjpcbiAgICpcbiAgICogLSBkZXRhY2ggZnJvbSB0aGUgcmVmZXJlbmNlIGFuZCByZW1haW4gXCJ0cmFwcGVkXCIgaW4gdGhlIGJvdW5kYXJpZXMsIG9yXG4gICAqIC0gaWYgaXQgc2hvdWxkIGlnbm9yZSB0aGUgYm91bmRhcnkgYW5kIFwiZXNjYXBlIHdpdGggaXRzIHJlZmVyZW5jZVwiXG4gICAqXG4gICAqIFdoZW4gYGVzY2FwZVdpdGhSZWZlcmVuY2VgIGlzIHNldCB0b2B0cnVlYCBhbmQgcmVmZXJlbmNlIGlzIGNvbXBsZXRlbHlcbiAgICogb3V0c2lkZSBpdHMgYm91bmRhcmllcywgdGhlIHBvcHBlciB3aWxsIG92ZXJmbG93IChvciBjb21wbGV0ZWx5IGxlYXZlKVxuICAgKiB0aGUgYm91bmRhcmllcyBpbiBvcmRlciB0byByZW1haW4gYXR0YWNoZWQgdG8gdGhlIGVkZ2Ugb2YgdGhlIHJlZmVyZW5jZS5cbiAgICpcbiAgICogQG1lbWJlcm9mIG1vZGlmaWVyc1xuICAgKiBAaW5uZXJcbiAgICovXG4gIHByZXZlbnRPdmVyZmxvdzoge1xuICAgIC8qKiBAcHJvcCB7bnVtYmVyfSBvcmRlcj0zMDAgLSBJbmRleCB1c2VkIHRvIGRlZmluZSB0aGUgb3JkZXIgb2YgZXhlY3V0aW9uICovXG4gICAgb3JkZXI6IDMwMCxcbiAgICAvKiogQHByb3Age0Jvb2xlYW59IGVuYWJsZWQ9dHJ1ZSAtIFdoZXRoZXIgdGhlIG1vZGlmaWVyIGlzIGVuYWJsZWQgb3Igbm90ICovXG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAvKiogQHByb3Age01vZGlmaWVyRm59ICovXG4gICAgZm46IHByZXZlbnRPdmVyZmxvdyxcbiAgICAvKipcbiAgICAgKiBAcHJvcCB7QXJyYXl9IFtwcmlvcml0eT1bJ2xlZnQnLCdyaWdodCcsJ3RvcCcsJ2JvdHRvbSddXVxuICAgICAqIFBvcHBlciB3aWxsIHRyeSB0byBwcmV2ZW50IG92ZXJmbG93IGZvbGxvd2luZyB0aGVzZSBwcmlvcml0aWVzIGJ5IGRlZmF1bHQsXG4gICAgICogdGhlbiwgaXQgY291bGQgb3ZlcmZsb3cgb24gdGhlIGxlZnQgYW5kIG9uIHRvcCBvZiB0aGUgYGJvdW5kYXJpZXNFbGVtZW50YFxuICAgICAqL1xuICAgIHByaW9yaXR5OiBbJ2xlZnQnLCAncmlnaHQnLCAndG9wJywgJ2JvdHRvbSddLFxuICAgIC8qKlxuICAgICAqIEBwcm9wIHtudW1iZXJ9IHBhZGRpbmc9NVxuICAgICAqIEFtb3VudCBvZiBwaXhlbCB1c2VkIHRvIGRlZmluZSBhIG1pbmltdW0gZGlzdGFuY2UgYmV0d2VlbiB0aGUgYm91bmRhcmllc1xuICAgICAqIGFuZCB0aGUgcG9wcGVyLiBUaGlzIG1ha2VzIHN1cmUgdGhlIHBvcHBlciBhbHdheXMgaGFzIGEgbGl0dGxlIHBhZGRpbmdcbiAgICAgKiBiZXR3ZWVuIHRoZSBlZGdlcyBvZiBpdHMgY29udGFpbmVyXG4gICAgICovXG4gICAgcGFkZGluZzogNSxcbiAgICAvKipcbiAgICAgKiBAcHJvcCB7U3RyaW5nfEhUTUxFbGVtZW50fSBib3VuZGFyaWVzRWxlbWVudD0nc2Nyb2xsUGFyZW50J1xuICAgICAqIEJvdW5kYXJpZXMgdXNlZCBieSB0aGUgbW9kaWZpZXIuIENhbiBiZSBgc2Nyb2xsUGFyZW50YCwgYHdpbmRvd2AsXG4gICAgICogYHZpZXdwb3J0YCBvciBhbnkgRE9NIGVsZW1lbnQuXG4gICAgICovXG4gICAgYm91bmRhcmllc0VsZW1lbnQ6ICdzY3JvbGxQYXJlbnQnXG4gIH0sXG5cbiAgLyoqXG4gICAqIE1vZGlmaWVyIHVzZWQgdG8gbWFrZSBzdXJlIHRoZSByZWZlcmVuY2UgYW5kIGl0cyBwb3BwZXIgc3RheSBuZWFyIGVhY2ggb3RoZXJcbiAgICogd2l0aG91dCBsZWF2aW5nIGFueSBnYXAgYmV0d2VlbiB0aGUgdHdvLiBFc3BlY2lhbGx5IHVzZWZ1bCB3aGVuIHRoZSBhcnJvdyBpc1xuICAgKiBlbmFibGVkIGFuZCB5b3Ugd2FudCB0byBlbnN1cmUgdGhhdCBpdCBwb2ludHMgdG8gaXRzIHJlZmVyZW5jZSBlbGVtZW50LlxuICAgKiBJdCBjYXJlcyBvbmx5IGFib3V0IHRoZSBmaXJzdCBheGlzLiBZb3UgY2FuIHN0aWxsIGhhdmUgcG9wcGVycyB3aXRoIG1hcmdpblxuICAgKiBiZXR3ZWVuIHRoZSBwb3BwZXIgYW5kIGl0cyByZWZlcmVuY2UgZWxlbWVudC5cbiAgICogQG1lbWJlcm9mIG1vZGlmaWVyc1xuICAgKiBAaW5uZXJcbiAgICovXG4gIGtlZXBUb2dldGhlcjoge1xuICAgIC8qKiBAcHJvcCB7bnVtYmVyfSBvcmRlcj00MDAgLSBJbmRleCB1c2VkIHRvIGRlZmluZSB0aGUgb3JkZXIgb2YgZXhlY3V0aW9uICovXG4gICAgb3JkZXI6IDQwMCxcbiAgICAvKiogQHByb3Age0Jvb2xlYW59IGVuYWJsZWQ9dHJ1ZSAtIFdoZXRoZXIgdGhlIG1vZGlmaWVyIGlzIGVuYWJsZWQgb3Igbm90ICovXG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAvKiogQHByb3Age01vZGlmaWVyRm59ICovXG4gICAgZm46IGtlZXBUb2dldGhlclxuICB9LFxuXG4gIC8qKlxuICAgKiBUaGlzIG1vZGlmaWVyIGlzIHVzZWQgdG8gbW92ZSB0aGUgYGFycm93RWxlbWVudGAgb2YgdGhlIHBvcHBlciB0byBtYWtlXG4gICAqIHN1cmUgaXQgaXMgcG9zaXRpb25lZCBiZXR3ZWVuIHRoZSByZWZlcmVuY2UgZWxlbWVudCBhbmQgaXRzIHBvcHBlciBlbGVtZW50LlxuICAgKiBJdCB3aWxsIHJlYWQgdGhlIG91dGVyIHNpemUgb2YgdGhlIGBhcnJvd0VsZW1lbnRgIG5vZGUgdG8gZGV0ZWN0IGhvdyBtYW55XG4gICAqIHBpeGVscyBvZiBjb25qdW5jdGlvbiBhcmUgbmVlZGVkLlxuICAgKlxuICAgKiBJdCBoYXMgbm8gZWZmZWN0IGlmIG5vIGBhcnJvd0VsZW1lbnRgIGlzIHByb3ZpZGVkLlxuICAgKiBAbWVtYmVyb2YgbW9kaWZpZXJzXG4gICAqIEBpbm5lclxuICAgKi9cbiAgYXJyb3c6IHtcbiAgICAvKiogQHByb3Age251bWJlcn0gb3JkZXI9NTAwIC0gSW5kZXggdXNlZCB0byBkZWZpbmUgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiAqL1xuICAgIG9yZGVyOiA1MDAsXG4gICAgLyoqIEBwcm9wIHtCb29sZWFufSBlbmFibGVkPXRydWUgLSBXaGV0aGVyIHRoZSBtb2RpZmllciBpcyBlbmFibGVkIG9yIG5vdCAqL1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgLyoqIEBwcm9wIHtNb2RpZmllckZufSAqL1xuICAgIGZuOiBhcnJvdyxcbiAgICAvKiogQHByb3Age1N0cmluZ3xIVE1MRWxlbWVudH0gZWxlbWVudD0nW3gtYXJyb3ddJyAtIFNlbGVjdG9yIG9yIG5vZGUgdXNlZCBhcyBhcnJvdyAqL1xuICAgIGVsZW1lbnQ6ICdbeC1hcnJvd10nXG4gIH0sXG5cbiAgLyoqXG4gICAqIE1vZGlmaWVyIHVzZWQgdG8gZmxpcCB0aGUgcG9wcGVyJ3MgcGxhY2VtZW50IHdoZW4gaXQgc3RhcnRzIHRvIG92ZXJsYXAgaXRzXG4gICAqIHJlZmVyZW5jZSBlbGVtZW50LlxuICAgKlxuICAgKiBSZXF1aXJlcyB0aGUgYHByZXZlbnRPdmVyZmxvd2AgbW9kaWZpZXIgYmVmb3JlIGl0IGluIG9yZGVyIHRvIHdvcmsuXG4gICAqXG4gICAqICoqTk9URToqKiB0aGlzIG1vZGlmaWVyIHdpbGwgaW50ZXJydXB0IHRoZSBjdXJyZW50IHVwZGF0ZSBjeWNsZSBhbmQgd2lsbFxuICAgKiByZXN0YXJ0IGl0IGlmIGl0IGRldGVjdHMgdGhlIG5lZWQgdG8gZmxpcCB0aGUgcGxhY2VtZW50LlxuICAgKiBAbWVtYmVyb2YgbW9kaWZpZXJzXG4gICAqIEBpbm5lclxuICAgKi9cbiAgZmxpcDoge1xuICAgIC8qKiBAcHJvcCB7bnVtYmVyfSBvcmRlcj02MDAgLSBJbmRleCB1c2VkIHRvIGRlZmluZSB0aGUgb3JkZXIgb2YgZXhlY3V0aW9uICovXG4gICAgb3JkZXI6IDYwMCxcbiAgICAvKiogQHByb3Age0Jvb2xlYW59IGVuYWJsZWQ9dHJ1ZSAtIFdoZXRoZXIgdGhlIG1vZGlmaWVyIGlzIGVuYWJsZWQgb3Igbm90ICovXG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAvKiogQHByb3Age01vZGlmaWVyRm59ICovXG4gICAgZm46IGZsaXAsXG4gICAgLyoqXG4gICAgICogQHByb3Age1N0cmluZ3xBcnJheX0gYmVoYXZpb3I9J2ZsaXAnXG4gICAgICogVGhlIGJlaGF2aW9yIHVzZWQgdG8gY2hhbmdlIHRoZSBwb3BwZXIncyBwbGFjZW1lbnQuIEl0IGNhbiBiZSBvbmUgb2ZcbiAgICAgKiBgZmxpcGAsIGBjbG9ja3dpc2VgLCBgY291bnRlcmNsb2Nrd2lzZWAgb3IgYW4gYXJyYXkgd2l0aCBhIGxpc3Qgb2YgdmFsaWRcbiAgICAgKiBwbGFjZW1lbnRzICh3aXRoIG9wdGlvbmFsIHZhcmlhdGlvbnMpXG4gICAgICovXG4gICAgYmVoYXZpb3I6ICdmbGlwJyxcbiAgICAvKipcbiAgICAgKiBAcHJvcCB7bnVtYmVyfSBwYWRkaW5nPTVcbiAgICAgKiBUaGUgcG9wcGVyIHdpbGwgZmxpcCBpZiBpdCBoaXRzIHRoZSBlZGdlcyBvZiB0aGUgYGJvdW5kYXJpZXNFbGVtZW50YFxuICAgICAqL1xuICAgIHBhZGRpbmc6IDUsXG4gICAgLyoqXG4gICAgICogQHByb3Age1N0cmluZ3xIVE1MRWxlbWVudH0gYm91bmRhcmllc0VsZW1lbnQ9J3ZpZXdwb3J0J1xuICAgICAqIFRoZSBlbGVtZW50IHdoaWNoIHdpbGwgZGVmaW5lIHRoZSBib3VuZGFyaWVzIG9mIHRoZSBwb3BwZXIgcG9zaXRpb24uXG4gICAgICogVGhlIHBvcHBlciB3aWxsIG5ldmVyIGJlIHBsYWNlZCBvdXRzaWRlIG9mIHRoZSBkZWZpbmVkIGJvdW5kYXJpZXNcbiAgICAgKiAoZXhjZXB0IGlmIGBrZWVwVG9nZXRoZXJgIGlzIGVuYWJsZWQpXG4gICAgICovXG4gICAgYm91bmRhcmllc0VsZW1lbnQ6ICd2aWV3cG9ydCcsXG4gICAgLyoqXG4gICAgICogQHByb3Age0Jvb2xlYW59IGZsaXBWYXJpYXRpb25zPWZhbHNlXG4gICAgICogVGhlIHBvcHBlciB3aWxsIHN3aXRjaCBwbGFjZW1lbnQgdmFyaWF0aW9uIGJldHdlZW4gYC1zdGFydGAgYW5kIGAtZW5kYCB3aGVuXG4gICAgICogdGhlIHJlZmVyZW5jZSBlbGVtZW50IG92ZXJsYXBzIGl0cyBib3VuZGFyaWVzLlxuICAgICAqXG4gICAgICogVGhlIG9yaWdpbmFsIHBsYWNlbWVudCBzaG91bGQgaGF2ZSBhIHNldCB2YXJpYXRpb24uXG4gICAgICovXG4gICAgZmxpcFZhcmlhdGlvbnM6IGZhbHNlLFxuICAgIC8qKlxuICAgICAqIEBwcm9wIHtCb29sZWFufSBmbGlwVmFyaWF0aW9uc0J5Q29udGVudD1mYWxzZVxuICAgICAqIFRoZSBwb3BwZXIgd2lsbCBzd2l0Y2ggcGxhY2VtZW50IHZhcmlhdGlvbiBiZXR3ZWVuIGAtc3RhcnRgIGFuZCBgLWVuZGAgd2hlblxuICAgICAqIHRoZSBwb3BwZXIgZWxlbWVudCBvdmVybGFwcyBpdHMgcmVmZXJlbmNlIGJvdW5kYXJpZXMuXG4gICAgICpcbiAgICAgKiBUaGUgb3JpZ2luYWwgcGxhY2VtZW50IHNob3VsZCBoYXZlIGEgc2V0IHZhcmlhdGlvbi5cbiAgICAgKi9cbiAgICBmbGlwVmFyaWF0aW9uc0J5Q29udGVudDogZmFsc2VcbiAgfSxcblxuICAvKipcbiAgICogTW9kaWZpZXIgdXNlZCB0byBtYWtlIHRoZSBwb3BwZXIgZmxvdyB0b3dhcmQgdGhlIGlubmVyIG9mIHRoZSByZWZlcmVuY2UgZWxlbWVudC5cbiAgICogQnkgZGVmYXVsdCwgd2hlbiB0aGlzIG1vZGlmaWVyIGlzIGRpc2FibGVkLCB0aGUgcG9wcGVyIHdpbGwgYmUgcGxhY2VkIG91dHNpZGVcbiAgICogdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICAgKiBAbWVtYmVyb2YgbW9kaWZpZXJzXG4gICAqIEBpbm5lclxuICAgKi9cbiAgaW5uZXI6IHtcbiAgICAvKiogQHByb3Age251bWJlcn0gb3JkZXI9NzAwIC0gSW5kZXggdXNlZCB0byBkZWZpbmUgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiAqL1xuICAgIG9yZGVyOiA3MDAsXG4gICAgLyoqIEBwcm9wIHtCb29sZWFufSBlbmFibGVkPWZhbHNlIC0gV2hldGhlciB0aGUgbW9kaWZpZXIgaXMgZW5hYmxlZCBvciBub3QgKi9cbiAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAvKiogQHByb3Age01vZGlmaWVyRm59ICovXG4gICAgZm46IGlubmVyXG4gIH0sXG5cbiAgLyoqXG4gICAqIE1vZGlmaWVyIHVzZWQgdG8gaGlkZSB0aGUgcG9wcGVyIHdoZW4gaXRzIHJlZmVyZW5jZSBlbGVtZW50IGlzIG91dHNpZGUgb2YgdGhlXG4gICAqIHBvcHBlciBib3VuZGFyaWVzLiBJdCB3aWxsIHNldCBhIGB4LW91dC1vZi1ib3VuZGFyaWVzYCBhdHRyaWJ1dGUgd2hpY2ggY2FuXG4gICAqIGJlIHVzZWQgdG8gaGlkZSB3aXRoIGEgQ1NTIHNlbGVjdG9yIHRoZSBwb3BwZXIgd2hlbiBpdHMgcmVmZXJlbmNlIGlzXG4gICAqIG91dCBvZiBib3VuZGFyaWVzLlxuICAgKlxuICAgKiBSZXF1aXJlcyB0aGUgYHByZXZlbnRPdmVyZmxvd2AgbW9kaWZpZXIgYmVmb3JlIGl0IGluIG9yZGVyIHRvIHdvcmsuXG4gICAqIEBtZW1iZXJvZiBtb2RpZmllcnNcbiAgICogQGlubmVyXG4gICAqL1xuICBoaWRlOiB7XG4gICAgLyoqIEBwcm9wIHtudW1iZXJ9IG9yZGVyPTgwMCAtIEluZGV4IHVzZWQgdG8gZGVmaW5lIHRoZSBvcmRlciBvZiBleGVjdXRpb24gKi9cbiAgICBvcmRlcjogODAwLFxuICAgIC8qKiBAcHJvcCB7Qm9vbGVhbn0gZW5hYmxlZD10cnVlIC0gV2hldGhlciB0aGUgbW9kaWZpZXIgaXMgZW5hYmxlZCBvciBub3QgKi9cbiAgICBlbmFibGVkOiB0cnVlLFxuICAgIC8qKiBAcHJvcCB7TW9kaWZpZXJGbn0gKi9cbiAgICBmbjogaGlkZVxuICB9LFxuXG4gIC8qKlxuICAgKiBDb21wdXRlcyB0aGUgc3R5bGUgdGhhdCB3aWxsIGJlIGFwcGxpZWQgdG8gdGhlIHBvcHBlciBlbGVtZW50IHRvIGdldHNcbiAgICogcHJvcGVybHkgcG9zaXRpb25lZC5cbiAgICpcbiAgICogTm90ZSB0aGF0IHRoaXMgbW9kaWZpZXIgd2lsbCBub3QgdG91Y2ggdGhlIERPTSwgaXQganVzdCBwcmVwYXJlcyB0aGUgc3R5bGVzXG4gICAqIHNvIHRoYXQgYGFwcGx5U3R5bGVgIG1vZGlmaWVyIGNhbiBhcHBseSBpdC4gVGhpcyBzZXBhcmF0aW9uIGlzIHVzZWZ1bFxuICAgKiBpbiBjYXNlIHlvdSBuZWVkIHRvIHJlcGxhY2UgYGFwcGx5U3R5bGVgIHdpdGggYSBjdXN0b20gaW1wbGVtZW50YXRpb24uXG4gICAqXG4gICAqIFRoaXMgbW9kaWZpZXIgaGFzIGA4NTBgIGFzIGBvcmRlcmAgdmFsdWUgdG8gbWFpbnRhaW4gYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICAgKiB3aXRoIHByZXZpb3VzIHZlcnNpb25zIG9mIFBvcHBlci5qcy4gRXhwZWN0IHRoZSBtb2RpZmllcnMgb3JkZXJpbmcgbWV0aG9kXG4gICAqIHRvIGNoYW5nZSBpbiBmdXR1cmUgbWFqb3IgdmVyc2lvbnMgb2YgdGhlIGxpYnJhcnkuXG4gICAqXG4gICAqIEBtZW1iZXJvZiBtb2RpZmllcnNcbiAgICogQGlubmVyXG4gICAqL1xuICBjb21wdXRlU3R5bGU6IHtcbiAgICAvKiogQHByb3Age251bWJlcn0gb3JkZXI9ODUwIC0gSW5kZXggdXNlZCB0byBkZWZpbmUgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiAqL1xuICAgIG9yZGVyOiA4NTAsXG4gICAgLyoqIEBwcm9wIHtCb29sZWFufSBlbmFibGVkPXRydWUgLSBXaGV0aGVyIHRoZSBtb2RpZmllciBpcyBlbmFibGVkIG9yIG5vdCAqL1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgLyoqIEBwcm9wIHtNb2RpZmllckZufSAqL1xuICAgIGZuOiBjb21wdXRlU3R5bGUsXG4gICAgLyoqXG4gICAgICogQHByb3Age0Jvb2xlYW59IGdwdUFjY2VsZXJhdGlvbj10cnVlXG4gICAgICogSWYgdHJ1ZSwgaXQgdXNlcyB0aGUgQ1NTIDNEIHRyYW5zZm9ybWF0aW9uIHRvIHBvc2l0aW9uIHRoZSBwb3BwZXIuXG4gICAgICogT3RoZXJ3aXNlLCBpdCB3aWxsIHVzZSB0aGUgYHRvcGAgYW5kIGBsZWZ0YCBwcm9wZXJ0aWVzXG4gICAgICovXG4gICAgZ3B1QWNjZWxlcmF0aW9uOiB0cnVlLFxuICAgIC8qKlxuICAgICAqIEBwcm9wIHtzdHJpbmd9IFt4PSdib3R0b20nXVxuICAgICAqIFdoZXJlIHRvIGFuY2hvciB0aGUgWCBheGlzIChgYm90dG9tYCBvciBgdG9wYCkuIEFLQSBYIG9mZnNldCBvcmlnaW4uXG4gICAgICogQ2hhbmdlIHRoaXMgaWYgeW91ciBwb3BwZXIgc2hvdWxkIGdyb3cgaW4gYSBkaXJlY3Rpb24gZGlmZmVyZW50IGZyb20gYGJvdHRvbWBcbiAgICAgKi9cbiAgICB4OiAnYm90dG9tJyxcbiAgICAvKipcbiAgICAgKiBAcHJvcCB7c3RyaW5nfSBbeD0nbGVmdCddXG4gICAgICogV2hlcmUgdG8gYW5jaG9yIHRoZSBZIGF4aXMgKGBsZWZ0YCBvciBgcmlnaHRgKS4gQUtBIFkgb2Zmc2V0IG9yaWdpbi5cbiAgICAgKiBDaGFuZ2UgdGhpcyBpZiB5b3VyIHBvcHBlciBzaG91bGQgZ3JvdyBpbiBhIGRpcmVjdGlvbiBkaWZmZXJlbnQgZnJvbSBgcmlnaHRgXG4gICAgICovXG4gICAgeTogJ3JpZ2h0J1xuICB9LFxuXG4gIC8qKlxuICAgKiBBcHBsaWVzIHRoZSBjb21wdXRlZCBzdHlsZXMgdG8gdGhlIHBvcHBlciBlbGVtZW50LlxuICAgKlxuICAgKiBBbGwgdGhlIERPTSBtYW5pcHVsYXRpb25zIGFyZSBsaW1pdGVkIHRvIHRoaXMgbW9kaWZpZXIuIFRoaXMgaXMgdXNlZnVsIGluIGNhc2VcbiAgICogeW91IHdhbnQgdG8gaW50ZWdyYXRlIFBvcHBlci5qcyBpbnNpZGUgYSBmcmFtZXdvcmsgb3IgdmlldyBsaWJyYXJ5IGFuZCB5b3VcbiAgICogd2FudCB0byBkZWxlZ2F0ZSBhbGwgdGhlIERPTSBtYW5pcHVsYXRpb25zIHRvIGl0LlxuICAgKlxuICAgKiBOb3RlIHRoYXQgaWYgeW91IGRpc2FibGUgdGhpcyBtb2RpZmllciwgeW91IG11c3QgbWFrZSBzdXJlIHRoZSBwb3BwZXIgZWxlbWVudFxuICAgKiBoYXMgaXRzIHBvc2l0aW9uIHNldCB0byBgYWJzb2x1dGVgIGJlZm9yZSBQb3BwZXIuanMgY2FuIGRvIGl0cyB3b3JrIVxuICAgKlxuICAgKiBKdXN0IGRpc2FibGUgdGhpcyBtb2RpZmllciBhbmQgZGVmaW5lIHlvdXIgb3duIHRvIGFjaGlldmUgdGhlIGRlc2lyZWQgZWZmZWN0LlxuICAgKlxuICAgKiBAbWVtYmVyb2YgbW9kaWZpZXJzXG4gICAqIEBpbm5lclxuICAgKi9cbiAgYXBwbHlTdHlsZToge1xuICAgIC8qKiBAcHJvcCB7bnVtYmVyfSBvcmRlcj05MDAgLSBJbmRleCB1c2VkIHRvIGRlZmluZSB0aGUgb3JkZXIgb2YgZXhlY3V0aW9uICovXG4gICAgb3JkZXI6IDkwMCxcbiAgICAvKiogQHByb3Age0Jvb2xlYW59IGVuYWJsZWQ9dHJ1ZSAtIFdoZXRoZXIgdGhlIG1vZGlmaWVyIGlzIGVuYWJsZWQgb3Igbm90ICovXG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAvKiogQHByb3Age01vZGlmaWVyRm59ICovXG4gICAgZm46IGFwcGx5U3R5bGUsXG4gICAgLyoqIEBwcm9wIHtGdW5jdGlvbn0gKi9cbiAgICBvbkxvYWQ6IGFwcGx5U3R5bGVPbkxvYWQsXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAxLjEwLjAsIHRoZSBwcm9wZXJ0eSBtb3ZlZCB0byBgY29tcHV0ZVN0eWxlYCBtb2RpZmllclxuICAgICAqIEBwcm9wIHtCb29sZWFufSBncHVBY2NlbGVyYXRpb249dHJ1ZVxuICAgICAqIElmIHRydWUsIGl0IHVzZXMgdGhlIENTUyAzRCB0cmFuc2Zvcm1hdGlvbiB0byBwb3NpdGlvbiB0aGUgcG9wcGVyLlxuICAgICAqIE90aGVyd2lzZSwgaXQgd2lsbCB1c2UgdGhlIGB0b3BgIGFuZCBgbGVmdGAgcHJvcGVydGllc1xuICAgICAqL1xuICAgIGdwdUFjY2VsZXJhdGlvbjogdW5kZWZpbmVkXG4gIH1cbn07XG5cbi8qKlxuICogVGhlIGBkYXRhT2JqZWN0YCBpcyBhbiBvYmplY3QgY29udGFpbmluZyBhbGwgdGhlIGluZm9ybWF0aW9uIHVzZWQgYnkgUG9wcGVyLmpzLlxuICogVGhpcyBvYmplY3QgaXMgcGFzc2VkIHRvIG1vZGlmaWVycyBhbmQgdG8gdGhlIGBvbkNyZWF0ZWAgYW5kIGBvblVwZGF0ZWAgY2FsbGJhY2tzLlxuICogQG5hbWUgZGF0YU9iamVjdFxuICogQHByb3BlcnR5IHtPYmplY3R9IGRhdGEuaW5zdGFuY2UgVGhlIFBvcHBlci5qcyBpbnN0YW5jZVxuICogQHByb3BlcnR5IHtTdHJpbmd9IGRhdGEucGxhY2VtZW50IFBsYWNlbWVudCBhcHBsaWVkIHRvIHBvcHBlclxuICogQHByb3BlcnR5IHtTdHJpbmd9IGRhdGEub3JpZ2luYWxQbGFjZW1lbnQgUGxhY2VtZW50IG9yaWdpbmFsbHkgZGVmaW5lZCBvbiBpbml0XG4gKiBAcHJvcGVydHkge0Jvb2xlYW59IGRhdGEuZmxpcHBlZCBUcnVlIGlmIHBvcHBlciBoYXMgYmVlbiBmbGlwcGVkIGJ5IGZsaXAgbW9kaWZpZXJcbiAqIEBwcm9wZXJ0eSB7Qm9vbGVhbn0gZGF0YS5oaWRlIFRydWUgaWYgdGhlIHJlZmVyZW5jZSBlbGVtZW50IGlzIG91dCBvZiBib3VuZGFyaWVzLCB1c2VmdWwgdG8ga25vdyB3aGVuIHRvIGhpZGUgdGhlIHBvcHBlclxuICogQHByb3BlcnR5IHtIVE1MRWxlbWVudH0gZGF0YS5hcnJvd0VsZW1lbnQgTm9kZSB1c2VkIGFzIGFycm93IGJ5IGFycm93IG1vZGlmaWVyXG4gKiBAcHJvcGVydHkge09iamVjdH0gZGF0YS5zdHlsZXMgQW55IENTUyBwcm9wZXJ0eSBkZWZpbmVkIGhlcmUgd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBwb3BwZXIuIEl0IGV4cGVjdHMgdGhlIEphdmFTY3JpcHQgbm9tZW5jbGF0dXJlIChlZy4gYG1hcmdpbkJvdHRvbWApXG4gKiBAcHJvcGVydHkge09iamVjdH0gZGF0YS5hcnJvd1N0eWxlcyBBbnkgQ1NTIHByb3BlcnR5IGRlZmluZWQgaGVyZSB3aWxsIGJlIGFwcGxpZWQgdG8gdGhlIHBvcHBlciBhcnJvdy4gSXQgZXhwZWN0cyB0aGUgSmF2YVNjcmlwdCBub21lbmNsYXR1cmUgKGVnLiBgbWFyZ2luQm90dG9tYClcbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBkYXRhLmJvdW5kYXJpZXMgT2Zmc2V0cyBvZiB0aGUgcG9wcGVyIGJvdW5kYXJpZXNcbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBkYXRhLm9mZnNldHMgVGhlIG1lYXN1cmVtZW50cyBvZiBwb3BwZXIsIHJlZmVyZW5jZSBhbmQgYXJyb3cgZWxlbWVudHNcbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBkYXRhLm9mZnNldHMucG9wcGVyIGB0b3BgLCBgbGVmdGAsIGB3aWR0aGAsIGBoZWlnaHRgIHZhbHVlc1xuICogQHByb3BlcnR5IHtPYmplY3R9IGRhdGEub2Zmc2V0cy5yZWZlcmVuY2UgYHRvcGAsIGBsZWZ0YCwgYHdpZHRoYCwgYGhlaWdodGAgdmFsdWVzXG4gKiBAcHJvcGVydHkge09iamVjdH0gZGF0YS5vZmZzZXRzLmFycm93XSBgdG9wYCBhbmQgYGxlZnRgIG9mZnNldHMsIG9ubHkgb25lIG9mIHRoZW0gd2lsbCBiZSBkaWZmZXJlbnQgZnJvbSAwXG4gKi9cblxuLyoqXG4gKiBEZWZhdWx0IG9wdGlvbnMgcHJvdmlkZWQgdG8gUG9wcGVyLmpzIGNvbnN0cnVjdG9yLjxiciAvPlxuICogVGhlc2UgY2FuIGJlIG92ZXJyaWRkZW4gdXNpbmcgdGhlIGBvcHRpb25zYCBhcmd1bWVudCBvZiBQb3BwZXIuanMuPGJyIC8+XG4gKiBUbyBvdmVycmlkZSBhbiBvcHRpb24sIHNpbXBseSBwYXNzIGFuIG9iamVjdCB3aXRoIHRoZSBzYW1lXG4gKiBzdHJ1Y3R1cmUgb2YgdGhlIGBvcHRpb25zYCBvYmplY3QsIGFzIHRoZSAzcmQgYXJndW1lbnQuIEZvciBleGFtcGxlOlxuICogYGBgXG4gKiBuZXcgUG9wcGVyKHJlZiwgcG9wLCB7XG4gKiAgIG1vZGlmaWVyczoge1xuICogICAgIHByZXZlbnRPdmVyZmxvdzogeyBlbmFibGVkOiBmYWxzZSB9XG4gKiAgIH1cbiAqIH0pXG4gKiBgYGBcbiAqIEB0eXBlIHtPYmplY3R9XG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyb2YgUG9wcGVyXG4gKi9cbnZhciBEZWZhdWx0cyA9IHtcbiAgLyoqXG4gICAqIFBvcHBlcidzIHBsYWNlbWVudC5cbiAgICogQHByb3Age1BvcHBlci5wbGFjZW1lbnRzfSBwbGFjZW1lbnQ9J2JvdHRvbSdcbiAgICovXG4gIHBsYWNlbWVudDogJ2JvdHRvbScsXG5cbiAgLyoqXG4gICAqIFNldCB0aGlzIHRvIHRydWUgaWYgeW91IHdhbnQgcG9wcGVyIHRvIHBvc2l0aW9uIGl0IHNlbGYgaW4gJ2ZpeGVkJyBtb2RlXG4gICAqIEBwcm9wIHtCb29sZWFufSBwb3NpdGlvbkZpeGVkPWZhbHNlXG4gICAqL1xuICBwb3NpdGlvbkZpeGVkOiBmYWxzZSxcblxuICAvKipcbiAgICogV2hldGhlciBldmVudHMgKHJlc2l6ZSwgc2Nyb2xsKSBhcmUgaW5pdGlhbGx5IGVuYWJsZWQuXG4gICAqIEBwcm9wIHtCb29sZWFufSBldmVudHNFbmFibGVkPXRydWVcbiAgICovXG4gIGV2ZW50c0VuYWJsZWQ6IHRydWUsXG5cbiAgLyoqXG4gICAqIFNldCB0byB0cnVlIGlmIHlvdSB3YW50IHRvIGF1dG9tYXRpY2FsbHkgcmVtb3ZlIHRoZSBwb3BwZXIgd2hlblxuICAgKiB5b3UgY2FsbCB0aGUgYGRlc3Ryb3lgIG1ldGhvZC5cbiAgICogQHByb3Age0Jvb2xlYW59IHJlbW92ZU9uRGVzdHJveT1mYWxzZVxuICAgKi9cbiAgcmVtb3ZlT25EZXN0cm95OiBmYWxzZSxcblxuICAvKipcbiAgICogQ2FsbGJhY2sgY2FsbGVkIHdoZW4gdGhlIHBvcHBlciBpcyBjcmVhdGVkLjxiciAvPlxuICAgKiBCeSBkZWZhdWx0LCBpdCBpcyBzZXQgdG8gbm8tb3AuPGJyIC8+XG4gICAqIEFjY2VzcyBQb3BwZXIuanMgaW5zdGFuY2Ugd2l0aCBgZGF0YS5pbnN0YW5jZWAuXG4gICAqIEBwcm9wIHtvbkNyZWF0ZX1cbiAgICovXG4gIG9uQ3JlYXRlOiBmdW5jdGlvbiBvbkNyZWF0ZSgpIHt9LFxuXG4gIC8qKlxuICAgKiBDYWxsYmFjayBjYWxsZWQgd2hlbiB0aGUgcG9wcGVyIGlzIHVwZGF0ZWQuIFRoaXMgY2FsbGJhY2sgaXMgbm90IGNhbGxlZFxuICAgKiBvbiB0aGUgaW5pdGlhbGl6YXRpb24vY3JlYXRpb24gb2YgdGhlIHBvcHBlciwgYnV0IG9ubHkgb24gc3Vic2VxdWVudFxuICAgKiB1cGRhdGVzLjxiciAvPlxuICAgKiBCeSBkZWZhdWx0LCBpdCBpcyBzZXQgdG8gbm8tb3AuPGJyIC8+XG4gICAqIEFjY2VzcyBQb3BwZXIuanMgaW5zdGFuY2Ugd2l0aCBgZGF0YS5pbnN0YW5jZWAuXG4gICAqIEBwcm9wIHtvblVwZGF0ZX1cbiAgICovXG4gIG9uVXBkYXRlOiBmdW5jdGlvbiBvblVwZGF0ZSgpIHt9LFxuXG4gIC8qKlxuICAgKiBMaXN0IG9mIG1vZGlmaWVycyB1c2VkIHRvIG1vZGlmeSB0aGUgb2Zmc2V0cyBiZWZvcmUgdGhleSBhcmUgYXBwbGllZCB0byB0aGUgcG9wcGVyLlxuICAgKiBUaGV5IHByb3ZpZGUgbW9zdCBvZiB0aGUgZnVuY3Rpb25hbGl0aWVzIG9mIFBvcHBlci5qcy5cbiAgICogQHByb3Age21vZGlmaWVyc31cbiAgICovXG4gIG1vZGlmaWVyczogbW9kaWZpZXJzXG59O1xuXG4vKipcbiAqIEBjYWxsYmFjayBvbkNyZWF0ZVxuICogQHBhcmFtIHtkYXRhT2JqZWN0fSBkYXRhXG4gKi9cblxuLyoqXG4gKiBAY2FsbGJhY2sgb25VcGRhdGVcbiAqIEBwYXJhbSB7ZGF0YU9iamVjdH0gZGF0YVxuICovXG5cbi8vIFV0aWxzXG4vLyBNZXRob2RzXG52YXIgUG9wcGVyID0gZnVuY3Rpb24gKCkge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBQb3BwZXIuanMgaW5zdGFuY2UuXG4gICAqIEBjbGFzcyBQb3BwZXJcbiAgICogQHBhcmFtIHtFbGVtZW50fHJlZmVyZW5jZU9iamVjdH0gcmVmZXJlbmNlIC0gVGhlIHJlZmVyZW5jZSBlbGVtZW50IHVzZWQgdG8gcG9zaXRpb24gdGhlIHBvcHBlclxuICAgKiBAcGFyYW0ge0VsZW1lbnR9IHBvcHBlciAtIFRoZSBIVE1MIC8gWE1MIGVsZW1lbnQgdXNlZCBhcyB0aGUgcG9wcGVyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gWW91ciBjdXN0b20gb3B0aW9ucyB0byBvdmVycmlkZSB0aGUgb25lcyBkZWZpbmVkIGluIFtEZWZhdWx0c10oI2RlZmF1bHRzKVxuICAgKiBAcmV0dXJuIHtPYmplY3R9IGluc3RhbmNlIC0gVGhlIGdlbmVyYXRlZCBQb3BwZXIuanMgaW5zdGFuY2VcbiAgICovXG4gIGZ1bmN0aW9uIFBvcHBlcihyZWZlcmVuY2UsIHBvcHBlcikge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICB2YXIgb3B0aW9ucyA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDoge307XG4gICAgY2xhc3NDYWxsQ2hlY2sodGhpcywgUG9wcGVyKTtcblxuICAgIHRoaXMuc2NoZWR1bGVVcGRhdGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKF90aGlzLnVwZGF0ZSk7XG4gICAgfTtcblxuICAgIC8vIG1ha2UgdXBkYXRlKCkgZGVib3VuY2VkLCBzbyB0aGF0IGl0IG9ubHkgcnVucyBhdCBtb3N0IG9uY2UtcGVyLXRpY2tcbiAgICB0aGlzLnVwZGF0ZSA9IGRlYm91bmNlKHRoaXMudXBkYXRlLmJpbmQodGhpcykpO1xuXG4gICAgLy8gd2l0aCB7fSB3ZSBjcmVhdGUgYSBuZXcgb2JqZWN0IHdpdGggdGhlIG9wdGlvbnMgaW5zaWRlIGl0XG4gICAgdGhpcy5vcHRpb25zID0gX2V4dGVuZHMoe30sIFBvcHBlci5EZWZhdWx0cywgb3B0aW9ucyk7XG5cbiAgICAvLyBpbml0IHN0YXRlXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGlzRGVzdHJveWVkOiBmYWxzZSxcbiAgICAgIGlzQ3JlYXRlZDogZmFsc2UsXG4gICAgICBzY3JvbGxQYXJlbnRzOiBbXVxuICAgIH07XG5cbiAgICAvLyBnZXQgcmVmZXJlbmNlIGFuZCBwb3BwZXIgZWxlbWVudHMgKGFsbG93IGpRdWVyeSB3cmFwcGVycylcbiAgICB0aGlzLnJlZmVyZW5jZSA9IHJlZmVyZW5jZSAmJiByZWZlcmVuY2UuanF1ZXJ5ID8gcmVmZXJlbmNlWzBdIDogcmVmZXJlbmNlO1xuICAgIHRoaXMucG9wcGVyID0gcG9wcGVyICYmIHBvcHBlci5qcXVlcnkgPyBwb3BwZXJbMF0gOiBwb3BwZXI7XG5cbiAgICAvLyBEZWVwIG1lcmdlIG1vZGlmaWVycyBvcHRpb25zXG4gICAgdGhpcy5vcHRpb25zLm1vZGlmaWVycyA9IHt9O1xuICAgIE9iamVjdC5rZXlzKF9leHRlbmRzKHt9LCBQb3BwZXIuRGVmYXVsdHMubW9kaWZpZXJzLCBvcHRpb25zLm1vZGlmaWVycykpLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgIF90aGlzLm9wdGlvbnMubW9kaWZpZXJzW25hbWVdID0gX2V4dGVuZHMoe30sIFBvcHBlci5EZWZhdWx0cy5tb2RpZmllcnNbbmFtZV0gfHwge30sIG9wdGlvbnMubW9kaWZpZXJzID8gb3B0aW9ucy5tb2RpZmllcnNbbmFtZV0gOiB7fSk7XG4gICAgfSk7XG5cbiAgICAvLyBSZWZhY3RvcmluZyBtb2RpZmllcnMnIGxpc3QgKE9iamVjdCA9PiBBcnJheSlcbiAgICB0aGlzLm1vZGlmaWVycyA9IE9iamVjdC5rZXlzKHRoaXMub3B0aW9ucy5tb2RpZmllcnMpLm1hcChmdW5jdGlvbiAobmFtZSkge1xuICAgICAgcmV0dXJuIF9leHRlbmRzKHtcbiAgICAgICAgbmFtZTogbmFtZVxuICAgICAgfSwgX3RoaXMub3B0aW9ucy5tb2RpZmllcnNbbmFtZV0pO1xuICAgIH0pXG4gICAgLy8gc29ydCB0aGUgbW9kaWZpZXJzIGJ5IG9yZGVyXG4gICAgLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgIHJldHVybiBhLm9yZGVyIC0gYi5vcmRlcjtcbiAgICB9KTtcblxuICAgIC8vIG1vZGlmaWVycyBoYXZlIHRoZSBhYmlsaXR5IHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IGNvZGUgd2hlbiBQb3BwZXIuanMgZ2V0IGluaXRlZFxuICAgIC8vIHN1Y2ggY29kZSBpcyBleGVjdXRlZCBpbiB0aGUgc2FtZSBvcmRlciBvZiBpdHMgbW9kaWZpZXJcbiAgICAvLyB0aGV5IGNvdWxkIGFkZCBuZXcgcHJvcGVydGllcyB0byB0aGVpciBvcHRpb25zIGNvbmZpZ3VyYXRpb25cbiAgICAvLyBCRSBBV0FSRTogZG9uJ3QgYWRkIG9wdGlvbnMgdG8gYG9wdGlvbnMubW9kaWZpZXJzLm5hbWVgIGJ1dCB0byBgbW9kaWZpZXJPcHRpb25zYCFcbiAgICB0aGlzLm1vZGlmaWVycy5mb3JFYWNoKGZ1bmN0aW9uIChtb2RpZmllck9wdGlvbnMpIHtcbiAgICAgIGlmIChtb2RpZmllck9wdGlvbnMuZW5hYmxlZCAmJiBpc0Z1bmN0aW9uKG1vZGlmaWVyT3B0aW9ucy5vbkxvYWQpKSB7XG4gICAgICAgIG1vZGlmaWVyT3B0aW9ucy5vbkxvYWQoX3RoaXMucmVmZXJlbmNlLCBfdGhpcy5wb3BwZXIsIF90aGlzLm9wdGlvbnMsIG1vZGlmaWVyT3B0aW9ucywgX3RoaXMuc3RhdGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gZmlyZSB0aGUgZmlyc3QgdXBkYXRlIHRvIHBvc2l0aW9uIHRoZSBwb3BwZXIgaW4gdGhlIHJpZ2h0IHBsYWNlXG4gICAgdGhpcy51cGRhdGUoKTtcblxuICAgIHZhciBldmVudHNFbmFibGVkID0gdGhpcy5vcHRpb25zLmV2ZW50c0VuYWJsZWQ7XG4gICAgaWYgKGV2ZW50c0VuYWJsZWQpIHtcbiAgICAgIC8vIHNldHVwIGV2ZW50IGxpc3RlbmVycywgdGhleSB3aWxsIHRha2UgY2FyZSBvZiB1cGRhdGUgdGhlIHBvc2l0aW9uIGluIHNwZWNpZmljIHNpdHVhdGlvbnNcbiAgICAgIHRoaXMuZW5hYmxlRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlLmV2ZW50c0VuYWJsZWQgPSBldmVudHNFbmFibGVkO1xuICB9XG5cbiAgLy8gV2UgY2FuJ3QgdXNlIGNsYXNzIHByb3BlcnRpZXMgYmVjYXVzZSB0aGV5IGRvbid0IGdldCBsaXN0ZWQgaW4gdGhlXG4gIC8vIGNsYXNzIHByb3RvdHlwZSBhbmQgYnJlYWsgc3R1ZmYgbGlrZSBTaW5vbiBzdHVic1xuXG5cbiAgY3JlYXRlQ2xhc3MoUG9wcGVyLCBbe1xuICAgIGtleTogJ3VwZGF0ZScsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHVwZGF0ZSQkMSgpIHtcbiAgICAgIHJldHVybiB1cGRhdGUuY2FsbCh0aGlzKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdkZXN0cm95JyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gZGVzdHJveSQkMSgpIHtcbiAgICAgIHJldHVybiBkZXN0cm95LmNhbGwodGhpcyk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnZW5hYmxlRXZlbnRMaXN0ZW5lcnMnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBlbmFibGVFdmVudExpc3RlbmVycyQkMSgpIHtcbiAgICAgIHJldHVybiBlbmFibGVFdmVudExpc3RlbmVycy5jYWxsKHRoaXMpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ2Rpc2FibGVFdmVudExpc3RlbmVycycsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGRpc2FibGVFdmVudExpc3RlbmVycyQkMSgpIHtcbiAgICAgIHJldHVybiBkaXNhYmxlRXZlbnRMaXN0ZW5lcnMuY2FsbCh0aGlzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTY2hlZHVsZXMgYW4gdXBkYXRlLiBJdCB3aWxsIHJ1biBvbiB0aGUgbmV4dCBVSSB1cGRhdGUgYXZhaWxhYmxlLlxuICAgICAqIEBtZXRob2Qgc2NoZWR1bGVVcGRhdGVcbiAgICAgKiBAbWVtYmVyb2YgUG9wcGVyXG4gICAgICovXG5cblxuICAgIC8qKlxuICAgICAqIENvbGxlY3Rpb24gb2YgdXRpbGl0aWVzIHVzZWZ1bCB3aGVuIHdyaXRpbmcgY3VzdG9tIG1vZGlmaWVycy5cbiAgICAgKiBTdGFydGluZyBmcm9tIHZlcnNpb24gMS43LCB0aGlzIG1ldGhvZCBpcyBhdmFpbGFibGUgb25seSBpZiB5b3VcbiAgICAgKiBpbmNsdWRlIGBwb3BwZXItdXRpbHMuanNgIGJlZm9yZSBgcG9wcGVyLmpzYC5cbiAgICAgKlxuICAgICAqICoqREVQUkVDQVRJT04qKjogVGhpcyB3YXkgdG8gYWNjZXNzIFBvcHBlclV0aWxzIGlzIGRlcHJlY2F0ZWRcbiAgICAgKiBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHYyISBVc2UgdGhlIFBvcHBlclV0aWxzIG1vZHVsZSBkaXJlY3RseSBpbnN0ZWFkLlxuICAgICAqIER1ZSB0byB0aGUgaGlnaCBpbnN0YWJpbGl0eSBvZiB0aGUgbWV0aG9kcyBjb250YWluZWQgaW4gVXRpbHMsIHdlIGNhbid0XG4gICAgICogZ3VhcmFudGVlIHRoZW0gdG8gZm9sbG93IHNlbXZlci4gVXNlIHRoZW0gYXQgeW91ciBvd24gcmlzayFcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgICAqIEBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMS44XG4gICAgICogQG1lbWJlciBVdGlsc1xuICAgICAqIEBtZW1iZXJvZiBQb3BwZXJcbiAgICAgKi9cblxuICB9XSk7XG4gIHJldHVybiBQb3BwZXI7XG59KCk7XG5cbi8qKlxuICogVGhlIGByZWZlcmVuY2VPYmplY3RgIGlzIGFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIGFuIGludGVyZmFjZSBjb21wYXRpYmxlIHdpdGggUG9wcGVyLmpzXG4gKiBhbmQgbGV0cyB5b3UgdXNlIGl0IGFzIHJlcGxhY2VtZW50IG9mIGEgcmVhbCBET00gbm9kZS48YnIgLz5cbiAqIFlvdSBjYW4gdXNlIHRoaXMgbWV0aG9kIHRvIHBvc2l0aW9uIGEgcG9wcGVyIHJlbGF0aXZlbHkgdG8gYSBzZXQgb2YgY29vcmRpbmF0ZXNcbiAqIGluIGNhc2UgeW91IGRvbid0IGhhdmUgYSBET00gbm9kZSB0byB1c2UgYXMgcmVmZXJlbmNlLlxuICpcbiAqIGBgYFxuICogbmV3IFBvcHBlcihyZWZlcmVuY2VPYmplY3QsIHBvcHBlck5vZGUpO1xuICogYGBgXG4gKlxuICogTkI6IFRoaXMgZmVhdHVyZSBpc24ndCBzdXBwb3J0ZWQgaW4gSW50ZXJuZXQgRXhwbG9yZXIgMTAuXG4gKiBAbmFtZSByZWZlcmVuY2VPYmplY3RcbiAqIEBwcm9wZXJ0eSB7RnVuY3Rpb259IGRhdGEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0XG4gKiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIHNldCBvZiBjb29yZGluYXRlcyBjb21wYXRpYmxlIHdpdGggdGhlIG5hdGl2ZSBgZ2V0Qm91bmRpbmdDbGllbnRSZWN0YCBtZXRob2QuXG4gKiBAcHJvcGVydHkge251bWJlcn0gZGF0YS5jbGllbnRXaWR0aFxuICogQW4gRVM2IGdldHRlciB0aGF0IHdpbGwgcmV0dXJuIHRoZSB3aWR0aCBvZiB0aGUgdmlydHVhbCByZWZlcmVuY2UgZWxlbWVudC5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBkYXRhLmNsaWVudEhlaWdodFxuICogQW4gRVM2IGdldHRlciB0aGF0IHdpbGwgcmV0dXJuIHRoZSBoZWlnaHQgb2YgdGhlIHZpcnR1YWwgcmVmZXJlbmNlIGVsZW1lbnQuXG4gKi9cblxuXG5Qb3BwZXIuVXRpbHMgPSAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cgOiBnbG9iYWwpLlBvcHBlclV0aWxzO1xuUG9wcGVyLnBsYWNlbWVudHMgPSBwbGFjZW1lbnRzO1xuUG9wcGVyLkRlZmF1bHRzID0gRGVmYXVsdHM7XG5cbnJldHVybiBQb3BwZXI7XG5cbn0pKSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wb3BwZXIuanMubWFwXG5cbi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqL30uY2FsbChleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKDEwNykpKVxuXG4vKioqLyB9KSxcbi8qIDEwNyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG52YXIgZztcclxuXHJcbi8vIFRoaXMgd29ya3MgaW4gbm9uLXN0cmljdCBtb2RlXHJcbmcgPSAoZnVuY3Rpb24oKSB7XHJcblx0cmV0dXJuIHRoaXM7XHJcbn0pKCk7XHJcblxyXG50cnkge1xyXG5cdC8vIFRoaXMgd29ya3MgaWYgZXZhbCBpcyBhbGxvd2VkIChzZWUgQ1NQKVxyXG5cdGcgPSBnIHx8IEZ1bmN0aW9uKFwicmV0dXJuIHRoaXNcIikoKSB8fCAoMSxldmFsKShcInRoaXNcIik7XHJcbn0gY2F0Y2goZSkge1xyXG5cdC8vIFRoaXMgd29ya3MgaWYgdGhlIHdpbmRvdyByZWZlcmVuY2UgaXMgYXZhaWxhYmxlXHJcblx0aWYodHlwZW9mIHdpbmRvdyA9PT0gXCJvYmplY3RcIilcclxuXHRcdGcgPSB3aW5kb3c7XHJcbn1cclxuXHJcbi8vIGcgY2FuIHN0aWxsIGJlIHVuZGVmaW5lZCwgYnV0IG5vdGhpbmcgdG8gZG8gYWJvdXQgaXQuLi5cclxuLy8gV2UgcmV0dXJuIHVuZGVmaW5lZCwgaW5zdGVhZCBvZiBub3RoaW5nIGhlcmUsIHNvIGl0J3NcclxuLy8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxyXG5cclxubW9kdWxlLmV4cG9ydHMgPSBnO1xyXG5cblxuLyoqKi8gfSksXG4vKiAxMDggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5pMThuID0gZXhwb3J0cy51c2UgPSBleHBvcnRzLnQgPSB1bmRlZmluZWQ7XG5cbnZhciBfZ2V0UHJvdG90eXBlT2YgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI5Myk7XG5cbnZhciBfZ2V0UHJvdG90eXBlT2YyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZ2V0UHJvdG90eXBlT2YpO1xuXG52YXIgX3poQ04gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI5Nik7XG5cbnZhciBfemhDTjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF96aENOKTtcblxudmFyIF92dWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE1KTtcblxudmFyIF92dWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdnVlKTtcblxudmFyIF9kZWVwbWVyZ2UgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI5OCk7XG5cbnZhciBfZGVlcG1lcmdlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZXBtZXJnZSk7XG5cbnZhciBfZm9ybWF0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygyOTkpO1xuXG52YXIgX2Zvcm1hdDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9mb3JtYXQpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgZm9ybWF0ID0gKDAsIF9mb3JtYXQyLmRlZmF1bHQpKF92dWUyLmRlZmF1bHQpO1xudmFyIGxhbmcgPSBfemhDTjIuZGVmYXVsdDtcbnZhciBtZXJnZWQgPSBmYWxzZTtcbnZhciBpMThuSGFuZGxlciA9IGZ1bmN0aW9uIGkxOG5IYW5kbGVyKCkge1xuICAgIHZhciB2dWVpMThuID0gKDAsIF9nZXRQcm90b3R5cGVPZjIuZGVmYXVsdCkodGhpcyB8fCBfdnVlMi5kZWZhdWx0KS4kdDtcbiAgICBpZiAodHlwZW9mIHZ1ZWkxOG4gPT09ICdmdW5jdGlvbicgJiYgISFfdnVlMi5kZWZhdWx0LmxvY2FsZSkge1xuICAgICAgICBpZiAoIW1lcmdlZCkge1xuICAgICAgICAgICAgbWVyZ2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIF92dWUyLmRlZmF1bHQubG9jYWxlKF92dWUyLmRlZmF1bHQuY29uZmlnLmxhbmcsICgwLCBfZGVlcG1lcmdlMi5kZWZhdWx0KShsYW5nLCBfdnVlMi5kZWZhdWx0LmxvY2FsZShfdnVlMi5kZWZhdWx0LmNvbmZpZy5sYW5nKSB8fCB7fSwgeyBjbG9uZTogdHJ1ZSB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZ1ZWkxOG4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9XG59O1xuXG52YXIgdCA9IGV4cG9ydHMudCA9IGZ1bmN0aW9uIHQocGF0aCwgb3B0aW9ucykge1xuICAgIHZhciB2YWx1ZSA9IGkxOG5IYW5kbGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQpIHJldHVybiB2YWx1ZTtcblxuICAgIHZhciBhcnJheSA9IHBhdGguc3BsaXQoJy4nKTtcbiAgICB2YXIgY3VycmVudCA9IGxhbmc7XG5cbiAgICBmb3IgKHZhciBpID0gMCwgaiA9IGFycmF5Lmxlbmd0aDsgaSA8IGo7IGkrKykge1xuICAgICAgICB2YXIgcHJvcGVydHkgPSBhcnJheVtpXTtcbiAgICAgICAgdmFsdWUgPSBjdXJyZW50W3Byb3BlcnR5XTtcbiAgICAgICAgaWYgKGkgPT09IGogLSAxKSByZXR1cm4gZm9ybWF0KHZhbHVlLCBvcHRpb25zKTtcbiAgICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuICcnO1xuICAgICAgICBjdXJyZW50ID0gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiAnJztcbn07XG5cbnZhciB1c2UgPSBleHBvcnRzLnVzZSA9IGZ1bmN0aW9uIHVzZShsKSB7XG4gICAgbGFuZyA9IGwgfHwgbGFuZztcbn07XG5cbnZhciBpMThuID0gZXhwb3J0cy5pMThuID0gZnVuY3Rpb24gaTE4bihmbikge1xuICAgIGkxOG5IYW5kbGVyID0gZm4gfHwgaTE4bkhhbmRsZXI7XG59O1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7IHVzZTogdXNlLCB0OiB0LCBpMThuOiBpMThuIH07XG5cbi8qKiovIH0pLFxuLyogMTA5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbi8vIDE5LjEuMi43IC8gMTUuMi4zLjQgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoTylcbnZhciAka2V5cyA9IF9fd2VicGFja19yZXF1aXJlX18oODUpO1xudmFyIGhpZGRlbktleXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDY0KS5jb25jYXQoJ2xlbmd0aCcsICdwcm90b3R5cGUnKTtcblxuZXhwb3J0cy5mID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgfHwgZnVuY3Rpb24gZ2V0T3duUHJvcGVydHlOYW1lcyhPKSB7XG4gIHJldHVybiAka2V5cyhPLCBoaWRkZW5LZXlzKTtcbn07XG5cblxuLyoqKi8gfSksXG4vKiAxMTAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuXG5cbi8qKiovIH0pLFxuLyogMTExICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9zbGljZWRUb0FycmF5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMjMpO1xuXG52YXIgX3NsaWNlZFRvQXJyYXkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc2xpY2VkVG9BcnJheTIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbnZhciBfaWNvbiA9IF9fd2VicGFja19yZXF1aXJlX18oMjApO1xuXG52YXIgX2ljb24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaWNvbik7XG5cbnZhciBfZW1pdHRlciA9IF9fd2VicGFja19yZXF1aXJlX18oNCk7XG5cbnZhciBfZW1pdHRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9lbWl0dGVyKTtcblxudmFyIF9sb2NhbGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUpO1xuXG52YXIgX2xvY2FsZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9sb2NhbGUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1zZWxlY3QnO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ2lTZWxlY3RIZWFkJyxcbiAgICBtaXhpbnM6IFtfZW1pdHRlcjIuZGVmYXVsdCwgX2xvY2FsZTIuZGVmYXVsdF0sXG4gICAgY29tcG9uZW50czogeyBJY29uOiBfaWNvbjIuZGVmYXVsdCB9LFxuICAgIHByb3BzOiB7XG4gICAgICAgIGRpc2FibGVkOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgZmlsdGVyYWJsZToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIG11bHRpcGxlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgcmVtb3RlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgaW5pdGlhbExhYmVsOiB7XG4gICAgICAgICAgICB0eXBlOiBbU3RyaW5nLCBOdW1iZXIsIEFycmF5XVxuICAgICAgICB9LFxuICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICAgIHR5cGU6IEFycmF5LFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgfS5iaW5kKHVuZGVmaW5lZClcbiAgICAgICAgfSxcbiAgICAgICAgY2xlYXJhYmxlOiB7XG4gICAgICAgICAgICB0eXBlOiBbRnVuY3Rpb24sIEJvb2xlYW5dLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgaW5wdXRFbGVtZW50SWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZ1xuICAgICAgICB9LFxuICAgICAgICBwbGFjZWhvbGRlcjoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nXG4gICAgICAgIH0sXG4gICAgICAgIHF1ZXJ5UHJvcDoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJydcbiAgICAgICAgfSxcbiAgICAgICAgcHJlZml4OiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcblxuICAgICAgICBtYXhUYWdDb3VudDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyXG4gICAgICAgIH0sXG5cbiAgICAgICAgbWF4VGFnUGxhY2Vob2xkZXI6IHtcbiAgICAgICAgICAgIHR5cGU6IEZ1bmN0aW9uXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVmaXhDbHM6IHByZWZpeENscyxcbiAgICAgICAgICAgIHF1ZXJ5OiAnJyxcbiAgICAgICAgICAgIGlucHV0TGVuZ3RoOiAyMCxcbiAgICAgICAgICAgIHJlbW90ZUluaXRpYWxMYWJlbDogdGhpcy5pbml0aWFsTGFiZWwsXG4gICAgICAgICAgICBwcmV2ZW50UmVtb3RlQ2FsbDogZmFsc2VcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgc2luZ2xlRGlzcGxheUNsYXNzZXM6IGZ1bmN0aW9uIHNpbmdsZURpc3BsYXlDbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWY7XG5cbiAgICAgICAgICAgIHZhciBmaWx0ZXJhYmxlID0gdGhpcy5maWx0ZXJhYmxlLFxuICAgICAgICAgICAgICAgIG11bHRpcGxlID0gdGhpcy5tdWx0aXBsZSxcbiAgICAgICAgICAgICAgICBzaG93UGxhY2Vob2xkZXIgPSB0aGlzLnNob3dQbGFjZWhvbGRlcjtcblxuICAgICAgICAgICAgcmV0dXJuIFsoX3JlZiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLWhlYWQtd2l0aC1wcmVmaXgnLCB0aGlzLiRzbG90cy5wcmVmaXggfHwgdGhpcy5wcmVmaXgpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLXBsYWNlaG9sZGVyJywgc2hvd1BsYWNlaG9sZGVyICYmICFmaWx0ZXJhYmxlKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1zZWxlY3RlZC12YWx1ZScsICFzaG93UGxhY2Vob2xkZXIgJiYgIW11bHRpcGxlICYmICFmaWx0ZXJhYmxlKSwgX3JlZildO1xuICAgICAgICB9LFxuICAgICAgICBzaW5nbGVEaXNwbGF5VmFsdWU6IGZ1bmN0aW9uIHNpbmdsZURpc3BsYXlWYWx1ZSgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlICYmIHRoaXMudmFsdWVzLmxlbmd0aCA+IDAgfHwgdGhpcy5maWx0ZXJhYmxlKSByZXR1cm4gJyc7XG4gICAgICAgICAgICByZXR1cm4gJycgKyBTdHJpbmcodGhpcy5zZWxlY3RlZFNpbmdsZSkgfHwgdGhpcy5sb2NhbGVQbGFjZWhvbGRlcjtcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd1BsYWNlaG9sZGVyOiBmdW5jdGlvbiBzaG93UGxhY2Vob2xkZXIoKSB7XG4gICAgICAgICAgICB2YXIgc3RhdHVzID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSB0aGlzLnZhbHVlc1swXTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyB8fCBTdHJpbmcodmFsdWUpLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzID0gIXRoaXMucmVtb3RlSW5pdGlhbExhYmVsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnZhbHVlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cyA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHN0YXR1cztcbiAgICAgICAgfSxcbiAgICAgICAgcmVzZXRTZWxlY3Q6IGZ1bmN0aW9uIHJlc2V0U2VsZWN0KCkge1xuICAgICAgICAgICAgcmV0dXJuICF0aGlzLnNob3dQbGFjZWhvbGRlciAmJiB0aGlzLmNsZWFyYWJsZTtcbiAgICAgICAgfSxcbiAgICAgICAgaW5wdXRTdHlsZTogZnVuY3Rpb24gaW5wdXRTdHlsZSgpIHtcbiAgICAgICAgICAgIHZhciBzdHlsZSA9IHt9O1xuXG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNob3dQbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgICAgICAgICBzdHlsZS53aWR0aCA9ICcxMDAlJztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBzdHlsZS53aWR0aCA9IFN0cmluZyh0aGlzLmlucHV0TGVuZ3RoKSArICdweCc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH0sXG4gICAgICAgIGxvY2FsZVBsYWNlaG9sZGVyOiBmdW5jdGlvbiBsb2NhbGVQbGFjZWhvbGRlcigpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnBsYWNlaG9sZGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50KCdpLnNlbGVjdC5wbGFjZWhvbGRlcicpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wbGFjZWhvbGRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc2VsZWN0ZWRTaW5nbGU6IGZ1bmN0aW9uIHNlbGVjdGVkU2luZ2xlKCkge1xuICAgICAgICAgICAgdmFyIHNlbGVjdGVkID0gdGhpcy52YWx1ZXNbMF07XG4gICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWQgPyBzZWxlY3RlZC5sYWJlbCA6IHRoaXMucmVtb3RlSW5pdGlhbExhYmVsIHx8ICcnO1xuICAgICAgICB9LFxuICAgICAgICBzZWxlY3RlZE11bHRpcGxlOiBmdW5jdGlvbiBzZWxlY3RlZE11bHRpcGxlKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubXVsdGlwbGUgPyB0aGlzLnZhbHVlcyA6IFtdO1xuICAgICAgICB9LFxuICAgICAgICBoZWFkQ2xzOiBmdW5jdGlvbiBoZWFkQ2xzKCkge1xuICAgICAgICAgICAgcmV0dXJuICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKHt9LCBwcmVmaXhDbHMgKyAnLWhlYWQtZmxleCcsIHRoaXMuZmlsdGVyYWJsZSAmJiAodGhpcy4kc2xvdHMucHJlZml4IHx8IHRoaXMucHJlZml4KSk7XG4gICAgICAgIH0sXG4gICAgICAgIGFycm93VHlwZTogZnVuY3Rpb24gYXJyb3dUeXBlKCkge1xuICAgICAgICAgICAgdmFyIHR5cGUgPSAnaW9zLWFycm93LWRvd24nO1xuXG4gICAgICAgICAgICBpZiAodGhpcy4kSVZJRVcpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy4kSVZJRVcuc2VsZWN0LmN1c3RvbUFycm93KSB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGUgPSAnJztcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuJElWSUVXLnNlbGVjdC5hcnJvdykge1xuICAgICAgICAgICAgICAgICAgICB0eXBlID0gdGhpcy4kSVZJRVcuc2VsZWN0LmFycm93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgICB9LFxuICAgICAgICBjdXN0b21BcnJvd1R5cGU6IGZ1bmN0aW9uIGN1c3RvbUFycm93VHlwZSgpIHtcbiAgICAgICAgICAgIHZhciB0eXBlID0gJyc7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLiRJVklFVykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLiRJVklFVy5zZWxlY3QuY3VzdG9tQXJyb3cpIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZSA9IHRoaXMuJElWSUVXLnNlbGVjdC5jdXN0b21BcnJvdztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHlwZTtcbiAgICAgICAgfSxcbiAgICAgICAgYXJyb3dTaXplOiBmdW5jdGlvbiBhcnJvd1NpemUoKSB7XG4gICAgICAgICAgICB2YXIgc2l6ZSA9ICcnO1xuXG4gICAgICAgICAgICBpZiAodGhpcy4kSVZJRVcpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy4kSVZJRVcuc2VsZWN0LmFycm93U2l6ZSkge1xuICAgICAgICAgICAgICAgICAgICBzaXplID0gdGhpcy4kSVZJRVcuc2VsZWN0LmFycm93U2l6ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc2l6ZTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgICBvbklucHV0Rm9jdXM6IGZ1bmN0aW9uIG9uSW5wdXRGb2N1cygpIHtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWlucHV0LWZvY3VzJyk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uSW5wdXRCbHVyOiBmdW5jdGlvbiBvbklucHV0Qmx1cigpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy52YWx1ZXMubGVuZ3RoKSB0aGlzLnF1ZXJ5ID0gJyc7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1pbnB1dC1ibHVyJyk7XG4gICAgICAgIH0sXG4gICAgICAgIHJlbW92ZVRhZzogZnVuY3Rpb24gcmVtb3ZlVGFnKHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5kaXNwYXRjaCgnaVNlbGVjdCcsICdvbi1zZWxlY3Qtc2VsZWN0ZWQnLCB2YWx1ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIHJlc2V0SW5wdXRTdGF0ZTogZnVuY3Rpb24gcmVzZXRJbnB1dFN0YXRlKCkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dExlbmd0aCA9IHRoaXMuJHJlZnMuaW5wdXQudmFsdWUubGVuZ3RoICogMTIgKyAyMDtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWtleWRvd24nKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlSW5wdXREZWxldGU6IGZ1bmN0aW9uIGhhbmRsZUlucHV0RGVsZXRlKGUpIHtcbiAgICAgICAgICAgIHZhciB0YXJnZXRWYWx1ZSA9IGUudGFyZ2V0LnZhbHVlO1xuICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgdGhpcy5zZWxlY3RlZE11bHRpcGxlLmxlbmd0aCAmJiB0aGlzLnF1ZXJ5ID09PSAnJyAmJiB0YXJnZXRWYWx1ZSA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVRhZyh0aGlzLnNlbGVjdGVkTXVsdGlwbGVbdGhpcy5zZWxlY3RlZE11bHRpcGxlLmxlbmd0aCAtIDFdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb25IZWFkZXJDbGljazogZnVuY3Rpb24gb25IZWFkZXJDbGljayhlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5maWx0ZXJhYmxlICYmIGUudGFyZ2V0ID09PSB0aGlzLiRlbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMuaW5wdXQuZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb25DbGVhcjogZnVuY3Rpb24gb25DbGVhcigpIHtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWNsZWFyJyk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHdhdGNoOiB7XG4gICAgICAgIHZhbHVlczogZnVuY3Rpb24gdmFsdWVzKF9yZWYzKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgX3JlZjQgPSAoMCwgX3NsaWNlZFRvQXJyYXkzLmRlZmF1bHQpKF9yZWYzLCAxKSxcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IF9yZWY0WzBdO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuZmlsdGVyYWJsZSkgcmV0dXJuO1xuICAgICAgICAgICAgdGhpcy5wcmV2ZW50UmVtb3RlQ2FsbCA9IHRydWU7XG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucXVlcnkgPSAnJztcbiAgICAgICAgICAgICAgICB0aGlzLnByZXZlbnRSZW1vdGVDYWxsID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyB8fCB2YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT09IG51bGwpIHRoaXMucXVlcnkgPSAnJztlbHNlIHRoaXMucXVlcnkgPSB2YWx1ZS5sYWJlbDtcbiAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcmV2ZW50UmVtb3RlQ2FsbCA9IGZhbHNlO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfSxcbiAgICAgICAgcXVlcnk6IGZ1bmN0aW9uIHF1ZXJ5KHZhbCkge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJldmVudFJlbW90ZUNhbGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByZXZlbnRSZW1vdGVDYWxsID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1xdWVyeS1jaGFuZ2UnLCB2YWwpO1xuICAgICAgICB9LFxuICAgICAgICBxdWVyeVByb3A6IGZ1bmN0aW9uIHF1ZXJ5UHJvcChxdWVyeSkge1xuICAgICAgICAgICAgaWYgKHF1ZXJ5ICE9PSB0aGlzLnF1ZXJ5KSB0aGlzLnF1ZXJ5ID0gcXVlcnk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDExMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcmV0dXJuQXJyYXlGbiA9IGZ1bmN0aW9uICgpIHtcbiAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgICByZXR1cm4gW107XG59LmJpbmQodW5kZWZpbmVkKTtcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIHByb3BzOiB7XG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIHR5cGU6IEFycmF5LFxuICAgICAgICAgICAgZGVmYXVsdDogcmV0dXJuQXJyYXlGblxuICAgICAgICB9LFxuICAgICAgICBzbG90T3B0aW9uczoge1xuICAgICAgICAgICAgdHlwZTogQXJyYXksXG4gICAgICAgICAgICBkZWZhdWx0OiByZXR1cm5BcnJheUZuXG4gICAgICAgIH0sXG4gICAgICAgIHNsb3RVcGRhdGVIb29rOiB7XG4gICAgICAgICAgICB0eXBlOiBGdW5jdGlvbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgfS5iaW5kKHVuZGVmaW5lZClcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZnVuY3Rpb25hbDogdHJ1ZSxcbiAgICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoLCBfcmVmKSB7XG4gICAgICAgIHZhciBwcm9wcyA9IF9yZWYucHJvcHMsXG4gICAgICAgICAgICBwYXJlbnQgPSBfcmVmLnBhcmVudDtcblxuICAgICAgICBpZiAocHJvcHMuc2xvdE9wdGlvbnMgIT09IHBhcmVudC4kc2xvdHMuZGVmYXVsdCkgcHJvcHMuc2xvdFVwZGF0ZUhvb2soKTtcbiAgICAgICAgcmV0dXJuIHByb3BzLm9wdGlvbnM7XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxMTMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9lbWl0dGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0KTtcblxudmFyIF9lbWl0dGVyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2VtaXR0ZXIpO1xuXG52YXIgX2Fzc2lzdCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhDbHMgPSAnaXZ1LXNlbGVjdC1pdGVtJztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdpT3B0aW9uJyxcbiAgICBjb21wb25lbnROYW1lOiAnc2VsZWN0LWl0ZW0nLFxuICAgIG1peGluczogW19lbWl0dGVyMi5kZWZhdWx0XSxcbiAgICBwcm9wczoge1xuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgdHlwZTogW1N0cmluZywgTnVtYmVyXSxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsOiB7XG4gICAgICAgICAgICB0eXBlOiBbU3RyaW5nLCBOdW1iZXJdXG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgc2VsZWN0ZWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBpc0ZvY3VzZWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc2VhcmNoTGFiZWw6ICcnLFxuICAgICAgICAgICAgYXV0b0NvbXBsZXRlOiBmYWxzZVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWY7XG5cbiAgICAgICAgICAgIHJldHVybiBbJycgKyBwcmVmaXhDbHMsIChfcmVmID0ge30sICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctZGlzYWJsZWQnLCB0aGlzLmRpc2FibGVkKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1zZWxlY3RlZCcsIHRoaXMuc2VsZWN0ZWQgJiYgIXRoaXMuYXV0b0NvbXBsZXRlKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1mb2N1cycsIHRoaXMuaXNGb2N1c2VkKSwgX3JlZildO1xuICAgICAgICB9LFxuICAgICAgICBzaG93TGFiZWw6IGZ1bmN0aW9uIHNob3dMYWJlbCgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxhYmVsID8gdGhpcy5sYWJlbCA6IHRoaXMudmFsdWU7XG4gICAgICAgIH0sXG4gICAgICAgIG9wdGlvbkxhYmVsOiBmdW5jdGlvbiBvcHRpb25MYWJlbCgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxhYmVsIHx8IHRoaXMuJGVsICYmIHRoaXMuJGVsLnRleHRDb250ZW50O1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIHNlbGVjdDogZnVuY3Rpb24gc2VsZWN0KCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybiBmYWxzZTtcblxuICAgICAgICAgICAgdGhpcy5kaXNwYXRjaCgnaVNlbGVjdCcsICdvbi1zZWxlY3Qtc2VsZWN0ZWQnLCB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMub3B0aW9uTGFiZWxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tc2VsZWN0LXNlbGVjdGVkJywge1xuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLm9wdGlvbkxhYmVsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHtcbiAgICAgICAgdmFyIFNlbGVjdCA9ICgwLCBfYXNzaXN0LmZpbmRDb21wb25lbnRVcHdhcmQpKHRoaXMsICdpU2VsZWN0Jyk7XG4gICAgICAgIGlmIChTZWxlY3QpIHRoaXMuYXV0b0NvbXBsZXRlID0gU2VsZWN0LmF1dG9Db21wbGV0ZTtcbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDExNCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX2lzTmFuID0gX193ZWJwYWNrX3JlcXVpcmVfXygzMTcpO1xuXG52YXIgX2lzTmFuMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2lzTmFuKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxudmFyIF9jYWxjVGV4dGFyZWFIZWlnaHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMyMCk7XG5cbnZhciBfY2FsY1RleHRhcmVhSGVpZ2h0MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2NhbGNUZXh0YXJlYUhlaWdodCk7XG5cbnZhciBfZW1pdHRlciA9IF9fd2VicGFja19yZXF1aXJlX18oNCk7XG5cbnZhciBfZW1pdHRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9lbWl0dGVyKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtaW5wdXQnO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ0lucHV0JyxcbiAgICBtaXhpbnM6IFtfZW1pdHRlcjIuZGVmYXVsdF0sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgdHlwZToge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ3RleHQnLCAndGV4dGFyZWEnLCAncGFzc3dvcmQnLCAndXJsJywgJ2VtYWlsJywgJ2RhdGUnLCAnbnVtYmVyJywgJ3RlbCddKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGRlZmF1bHQ6ICd0ZXh0J1xuICAgICAgICB9LFxuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgdHlwZTogW1N0cmluZywgTnVtYmVyXSxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICcnXG4gICAgICAgIH0sXG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWydzbWFsbCcsICdsYXJnZScsICdkZWZhdWx0J10pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAhdGhpcy4kSVZJRVcgfHwgdGhpcy4kSVZJRVcuc2l6ZSA9PT0gJycgPyAnZGVmYXVsdCcgOiB0aGlzLiRJVklFVy5zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBwbGFjZWhvbGRlcjoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJydcbiAgICAgICAgfSxcbiAgICAgICAgbWF4bGVuZ3RoOiB7XG4gICAgICAgICAgICB0eXBlOiBOdW1iZXJcbiAgICAgICAgfSxcbiAgICAgICAgZGlzYWJsZWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBpY29uOiBTdHJpbmcsXG4gICAgICAgIGF1dG9zaXplOiB7XG4gICAgICAgICAgICB0eXBlOiBbQm9vbGVhbiwgT2JqZWN0XSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHJvd3M6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIGRlZmF1bHQ6IDJcbiAgICAgICAgfSxcbiAgICAgICAgcmVhZG9ubHk6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBuYW1lOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgbnVtYmVyOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgYXV0b2ZvY3VzOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgc3BlbGxjaGVjazoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIGF1dG9jb21wbGV0ZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJ29mZidcbiAgICAgICAgfSxcbiAgICAgICAgY2xlYXJhYmxlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgZWxlbWVudElkOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgd3JhcDoge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ2hhcmQnLCAnc29mdCddKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGRlZmF1bHQ6ICdzb2Z0J1xuICAgICAgICB9LFxuICAgICAgICBwcmVmaXg6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICcnXG4gICAgICAgIH0sXG4gICAgICAgIHN1ZmZpeDoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJydcbiAgICAgICAgfSxcbiAgICAgICAgc2VhcmNoOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgZW50ZXJCdXR0b246IHtcbiAgICAgICAgICAgIHR5cGU6IFtCb29sZWFuLCBTdHJpbmddLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGN1cnJlbnRWYWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgICAgICAgIHByZWZpeENsczogcHJlZml4Q2xzLFxuICAgICAgICAgICAgcHJlcGVuZDogdHJ1ZSxcbiAgICAgICAgICAgIGFwcGVuZDogdHJ1ZSxcbiAgICAgICAgICAgIHNsb3RSZWFkeTogZmFsc2UsXG4gICAgICAgICAgICB0ZXh0YXJlYVN0eWxlczoge30sXG4gICAgICAgICAgICBzaG93UHJlZml4OiBmYWxzZSxcbiAgICAgICAgICAgIHNob3dTdWZmaXg6IGZhbHNlLFxuICAgICAgICAgICAgaXNPbkNvbXBvc2l0aW9uOiBmYWxzZVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICB3cmFwQ2xhc3NlczogZnVuY3Rpb24gd3JhcENsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjtcblxuICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXhDbHMgKyAnLXdyYXBwZXInLCAoX3JlZiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLXdyYXBwZXItJyArIFN0cmluZyh0aGlzLnNpemUpLCAhIXRoaXMuc2l6ZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctdHlwZScsIHRoaXMudHlwZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctZ3JvdXAnLCB0aGlzLnByZXBlbmQgfHwgdGhpcy5hcHBlbmQgfHwgdGhpcy5zZWFyY2ggJiYgdGhpcy5lbnRlckJ1dHRvbiksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctZ3JvdXAtJyArIFN0cmluZyh0aGlzLnNpemUpLCAodGhpcy5wcmVwZW5kIHx8IHRoaXMuYXBwZW5kIHx8IHRoaXMuc2VhcmNoICYmIHRoaXMuZW50ZXJCdXR0b24pICYmICEhdGhpcy5zaXplKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1ncm91cC13aXRoLXByZXBlbmQnLCB0aGlzLnByZXBlbmQpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLWdyb3VwLXdpdGgtYXBwZW5kJywgdGhpcy5hcHBlbmQgfHwgdGhpcy5zZWFyY2ggJiYgdGhpcy5lbnRlckJ1dHRvbiksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctaGlkZS1pY29uJywgdGhpcy5hcHBlbmQpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLXdpdGgtc2VhcmNoJywgdGhpcy5zZWFyY2ggJiYgdGhpcy5lbnRlckJ1dHRvbiksIF9yZWYpXTtcbiAgICAgICAgfSxcbiAgICAgICAgaW5wdXRDbGFzc2VzOiBmdW5jdGlvbiBpbnB1dENsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjI7XG5cbiAgICAgICAgICAgIHJldHVybiBbJycgKyBwcmVmaXhDbHMsIChfcmVmMiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmMiwgcHJlZml4Q2xzICsgJy0nICsgU3RyaW5nKHRoaXMuc2l6ZSksICEhdGhpcy5zaXplKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjIsIHByZWZpeENscyArICctZGlzYWJsZWQnLCB0aGlzLmRpc2FibGVkKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjIsIHByZWZpeENscyArICctd2l0aC1wcmVmaXgnLCB0aGlzLnNob3dQcmVmaXgpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmMiwgcHJlZml4Q2xzICsgJy13aXRoLXN1ZmZpeCcsIHRoaXMuc2hvd1N1ZmZpeCB8fCB0aGlzLnNlYXJjaCAmJiB0aGlzLmVudGVyQnV0dG9uID09PSBmYWxzZSksIF9yZWYyKV07XG4gICAgICAgIH0sXG4gICAgICAgIHRleHRhcmVhQ2xhc3NlczogZnVuY3Rpb24gdGV4dGFyZWFDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFsnJyArIHByZWZpeENscywgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sIHByZWZpeENscyArICctZGlzYWJsZWQnLCB0aGlzLmRpc2FibGVkKV07XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgaGFuZGxlRW50ZXI6IGZ1bmN0aW9uIGhhbmRsZUVudGVyKGV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1lbnRlcicsIGV2ZW50KTtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlYXJjaCkgdGhpcy4kZW1pdCgnb24tc2VhcmNoJywgdGhpcy5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVLZXlkb3duOiBmdW5jdGlvbiBoYW5kbGVLZXlkb3duKGV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1rZXlkb3duJywgZXZlbnQpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVLZXlwcmVzczogZnVuY3Rpb24gaGFuZGxlS2V5cHJlc3MoZXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWtleXByZXNzJywgZXZlbnQpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVLZXl1cDogZnVuY3Rpb24gaGFuZGxlS2V5dXAoZXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWtleXVwJywgZXZlbnQpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVJY29uQ2xpY2s6IGZ1bmN0aW9uIGhhbmRsZUljb25DbGljayhldmVudCkge1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tY2xpY2snLCBldmVudCk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUZvY3VzOiBmdW5jdGlvbiBoYW5kbGVGb2N1cyhldmVudCkge1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tZm9jdXMnLCBldmVudCk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUJsdXI6IGZ1bmN0aW9uIGhhbmRsZUJsdXIoZXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWJsdXInLCBldmVudCk7XG4gICAgICAgICAgICBpZiAoISgwLCBfYXNzaXN0LmZpbmRDb21wb25lbnRVcHdhcmQpKHRoaXMsIFsnRGF0ZVBpY2tlcicsICdUaW1lUGlja2VyJywgJ0Nhc2NhZGVyJywgJ1NlYXJjaCddKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2goJ0Zvcm1JdGVtJywgJ29uLWZvcm0tYmx1cicsIHRoaXMuY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlQ29tcG9zaXRpb246IGZ1bmN0aW9uIGhhbmRsZUNvbXBvc2l0aW9uKGV2ZW50KSB7XG4gICAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2NvbXBvc2l0aW9uc3RhcnQnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc09uQ29tcG9zaXRpb24gPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICdjb21wb3NpdGlvbmVuZCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzT25Db21wb3NpdGlvbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlSW5wdXQoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVJbnB1dDogZnVuY3Rpb24gaGFuZGxlSW5wdXQoZXZlbnQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzT25Db21wb3NpdGlvbikgcmV0dXJuO1xuXG4gICAgICAgICAgICB2YXIgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgICAgICBpZiAodGhpcy5udW1iZXIgJiYgdmFsdWUgIT09ICcnKSB2YWx1ZSA9ICgwLCBfaXNOYW4yLmRlZmF1bHQpKE51bWJlcih2YWx1ZSkpID8gdmFsdWUgOiBOdW1iZXIodmFsdWUpO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnaW5wdXQnLCB2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnNldEN1cnJlbnRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1jaGFuZ2UnLCBldmVudCk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUNoYW5nZTogZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1pbnB1dC1jaGFuZ2UnLCBldmVudCk7XG4gICAgICAgIH0sXG4gICAgICAgIHNldEN1cnJlbnRWYWx1ZTogZnVuY3Rpb24gc2V0Q3VycmVudFZhbHVlKHZhbHVlKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuY3VycmVudFZhbHVlKSByZXR1cm47XG4gICAgICAgICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnJlc2l6ZVRleHRhcmVhKCk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIGlmICghKDAsIF9hc3Npc3QuZmluZENvbXBvbmVudFVwd2FyZCkodGhpcywgWydEYXRlUGlja2VyJywgJ1RpbWVQaWNrZXInLCAnQ2FzY2FkZXInLCAnU2VhcmNoJ10pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwYXRjaCgnRm9ybUl0ZW0nLCAnb24tZm9ybS1jaGFuZ2UnLCB2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHJlc2l6ZVRleHRhcmVhOiBmdW5jdGlvbiByZXNpemVUZXh0YXJlYSgpIHtcbiAgICAgICAgICAgIHZhciBhdXRvc2l6ZSA9IHRoaXMuYXV0b3NpemU7XG4gICAgICAgICAgICBpZiAoIWF1dG9zaXplIHx8IHRoaXMudHlwZSAhPT0gJ3RleHRhcmVhJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIG1pblJvd3MgPSBhdXRvc2l6ZS5taW5Sb3dzO1xuICAgICAgICAgICAgdmFyIG1heFJvd3MgPSBhdXRvc2l6ZS5tYXhSb3dzO1xuXG4gICAgICAgICAgICB0aGlzLnRleHRhcmVhU3R5bGVzID0gKDAsIF9jYWxjVGV4dGFyZWFIZWlnaHQyLmRlZmF1bHQpKHRoaXMuJHJlZnMudGV4dGFyZWEsIG1pblJvd3MsIG1heFJvd3MpO1xuICAgICAgICB9LFxuICAgICAgICBmb2N1czogZnVuY3Rpb24gZm9jdXMoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy50eXBlID09PSAndGV4dGFyZWEnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kcmVmcy50ZXh0YXJlYS5mb2N1cygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmlucHV0LmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGJsdXI6IGZ1bmN0aW9uIGJsdXIoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy50eXBlID09PSAndGV4dGFyZWEnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kcmVmcy50ZXh0YXJlYS5ibHVyKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMuaW5wdXQuYmx1cigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVDbGVhcjogZnVuY3Rpb24gaGFuZGxlQ2xlYXIoKSB7XG4gICAgICAgICAgICB2YXIgZSA9IHsgdGFyZ2V0OiB7IHZhbHVlOiAnJyB9IH07XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsICcnKTtcbiAgICAgICAgICAgIHRoaXMuc2V0Q3VycmVudFZhbHVlKCcnKTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWNoYW5nZScsIGUpO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tY2xlYXInKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlU2VhcmNoOiBmdW5jdGlvbiBoYW5kbGVTZWFyY2goKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgdGhpcy4kcmVmcy5pbnB1dC5mb2N1cygpO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tc2VhcmNoJywgdGhpcy5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB3YXRjaDoge1xuICAgICAgICB2YWx1ZTogZnVuY3Rpb24gdmFsdWUodmFsKSB7XG4gICAgICAgICAgICB0aGlzLnNldEN1cnJlbnRWYWx1ZSh2YWwpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgICBpZiAodGhpcy50eXBlICE9PSAndGV4dGFyZWEnKSB7XG4gICAgICAgICAgICB0aGlzLnByZXBlbmQgPSB0aGlzLiRzbG90cy5wcmVwZW5kICE9PSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB0aGlzLmFwcGVuZCA9IHRoaXMuJHNsb3RzLmFwcGVuZCAhPT0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgdGhpcy5zaG93UHJlZml4ID0gdGhpcy5wcmVmaXggIT09ICcnIHx8IHRoaXMuJHNsb3RzLnByZWZpeCAhPT0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgdGhpcy5zaG93U3VmZml4ID0gdGhpcy5zdWZmaXggIT09ICcnIHx8IHRoaXMuJHNsb3RzLnN1ZmZpeCAhPT0gdW5kZWZpbmVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wcmVwZW5kID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmFwcGVuZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2xvdFJlYWR5ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5yZXNpemVUZXh0YXJlYSgpO1xuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTE1ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2F2YXRhcl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTE2KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9hdmF0YXJfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9hdmF0YXJfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9hdmF0YXJfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2F2YXRhcl92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl84MzEwN2Y3YV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2F2YXRhcl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMzMwKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl84MzEwN2Y3YV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2F2YXRhcl92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzgzMTA3ZjdhX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfYXZhdGFyX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2F2YXRhcl92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzgzMTA3ZjdhX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfYXZhdGFyX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl84MzEwN2Y3YV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2F2YXRhcl92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogMTE2ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbnZhciBfaWNvbiA9IF9fd2VicGFja19yZXF1aXJlX18oMjApO1xuXG52YXIgX2ljb24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaWNvbik7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtYXZhdGFyJztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdBdmF0YXInLFxuICAgIGNvbXBvbmVudHM6IHsgSWNvbjogX2ljb24yLmRlZmF1bHQgfSxcbiAgICBwcm9wczoge1xuICAgICAgICBzaGFwZToge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ2NpcmNsZScsICdzcXVhcmUnXSk7XG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICBkZWZhdWx0OiAnY2lyY2xlJ1xuICAgICAgICB9LFxuICAgICAgICBzaXplOiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnc21hbGwnLCAnbGFyZ2UnLCAnZGVmYXVsdCddKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIXRoaXMuJElWSUVXIHx8IHRoaXMuJElWSUVXLnNpemUgPT09ICcnID8gJ2RlZmF1bHQnIDogdGhpcy4kSVZJRVcuc2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc3JjOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgaWNvbjoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nXG4gICAgICAgIH0sXG4gICAgICAgIGN1c3RvbUljb246IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICcnXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVmaXhDbHM6IHByZWZpeENscyxcbiAgICAgICAgICAgIHNjYWxlOiAxLFxuICAgICAgICAgICAgY2hpbGRyZW5XaWR0aDogMCxcbiAgICAgICAgICAgIGlzU2xvdFNob3c6IGZhbHNlXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGNsYXNzZXM6IGZ1bmN0aW9uIGNsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjtcblxuICAgICAgICAgICAgcmV0dXJuIFsnJyArIHByZWZpeENscywgcHJlZml4Q2xzICsgJy0nICsgU3RyaW5nKHRoaXMuc2hhcGUpLCBwcmVmaXhDbHMgKyAnLScgKyBTdHJpbmcodGhpcy5zaXplKSwgKF9yZWYgPSB7fSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1pbWFnZScsICEhdGhpcy5zcmMpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLWljb24nLCAhIXRoaXMuaWNvbiB8fCAhIXRoaXMuY3VzdG9tSWNvbiksIF9yZWYpXTtcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW5TdHlsZTogZnVuY3Rpb24gY2hpbGRyZW5TdHlsZSgpIHtcbiAgICAgICAgICAgIHZhciBzdHlsZSA9IHt9O1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNTbG90U2hvdykge1xuICAgICAgICAgICAgICAgIHN0eWxlID0ge1xuICAgICAgICAgICAgICAgICAgICBtc1RyYW5zZm9ybTogJ3NjYWxlKCcgKyBTdHJpbmcodGhpcy5zY2FsZSkgKyAnKScsXG4gICAgICAgICAgICAgICAgICAgIFdlYmtpdFRyYW5zZm9ybTogJ3NjYWxlKCcgKyBTdHJpbmcodGhpcy5zY2FsZSkgKyAnKScsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3NjYWxlKCcgKyBTdHJpbmcodGhpcy5zY2FsZSkgKyAnKScsXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogJ2NhbGMoNTAlIC0gJyArIFN0cmluZyhNYXRoLnJvdW5kKHRoaXMuY2hpbGRyZW5XaWR0aCAvIDIpKSArICdweCknXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzdHlsZTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgICBzZXRTY2FsZTogZnVuY3Rpb24gc2V0U2NhbGUoKSB7XG4gICAgICAgICAgICB0aGlzLmlzU2xvdFNob3cgPSAhdGhpcy5zcmMgJiYgIXRoaXMuaWNvbjtcbiAgICAgICAgICAgIGlmICh0aGlzLiRyZWZzLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGlsZHJlbldpZHRoID0gdGhpcy4kcmVmcy5jaGlsZHJlbi5vZmZzZXRXaWR0aDtcbiAgICAgICAgICAgICAgICB2YXIgYXZhdGFyV2lkdGggPSB0aGlzLiRlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcblxuICAgICAgICAgICAgICAgIGlmIChhdmF0YXJXaWR0aCAtIDggPCB0aGlzLmNoaWxkcmVuV2lkdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zY2FsZSA9IChhdmF0YXJXaWR0aCAtIDgpIC8gdGhpcy5jaGlsZHJlbldpZHRoO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2NhbGUgPSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlRXJyb3I6IGZ1bmN0aW9uIGhhbmRsZUVycm9yKGUpIHtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWVycm9yJywgZSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICAgIHRoaXMuc2V0U2NhbGUoKTtcbiAgICB9LFxuICAgIHVwZGF0ZWQ6IGZ1bmN0aW9uIHVwZGF0ZWQoKSB7XG4gICAgICAgIHRoaXMuc2V0U2NhbGUoKTtcbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDExNyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG52YXIgX2Fzc2lzdCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbnZhciBfZG9tID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMyk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhDbHMgPSAnaXZ1LWJhY2stdG9wJztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIHByb3BzOiB7XG4gICAgICAgIGhlaWdodDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgZGVmYXVsdDogNDAwXG4gICAgICAgIH0sXG4gICAgICAgIGJvdHRvbToge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgZGVmYXVsdDogMzBcbiAgICAgICAgfSxcbiAgICAgICAgcmlnaHQ6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIGRlZmF1bHQ6IDMwXG4gICAgICAgIH0sXG4gICAgICAgIGR1cmF0aW9uOiB7XG4gICAgICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgICAgICBkZWZhdWx0OiAxMDAwXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBiYWNrVG9wOiBmYWxzZVxuICAgICAgICB9O1xuICAgIH0sXG4gICAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHtcbiAgICAgICAgKDAsIF9kb20ub24pKHdpbmRvdywgJ3Njcm9sbCcsIHRoaXMuaGFuZGxlU2Nyb2xsKTtcbiAgICAgICAgKDAsIF9kb20ub24pKHdpbmRvdywgJ3Jlc2l6ZScsIHRoaXMuaGFuZGxlU2Nyb2xsKTtcbiAgICB9LFxuICAgIGJlZm9yZURlc3Ryb3k6IGZ1bmN0aW9uIGJlZm9yZURlc3Ryb3koKSB7XG4gICAgICAgICgwLCBfZG9tLm9mZikod2luZG93LCAnc2Nyb2xsJywgdGhpcy5oYW5kbGVTY3JvbGwpO1xuICAgICAgICAoMCwgX2RvbS5vZmYpKHdpbmRvdywgJ3Jlc2l6ZScsIHRoaXMuaGFuZGxlU2Nyb2xsKTtcbiAgICB9LFxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgY2xhc3NlczogZnVuY3Rpb24gY2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbJycgKyBwcmVmaXhDbHMsICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKHt9LCBwcmVmaXhDbHMgKyAnLXNob3cnLCB0aGlzLmJhY2tUb3ApXTtcbiAgICAgICAgfSxcbiAgICAgICAgc3R5bGVzOiBmdW5jdGlvbiBzdHlsZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogU3RyaW5nKHRoaXMuYm90dG9tKSArICdweCcsXG4gICAgICAgICAgICAgICAgcmlnaHQ6IFN0cmluZyh0aGlzLnJpZ2h0KSArICdweCdcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sXG4gICAgICAgIGlubmVyQ2xhc3NlczogZnVuY3Rpb24gaW5uZXJDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIHByZWZpeENscyArICctaW5uZXInO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGhhbmRsZVNjcm9sbDogZnVuY3Rpb24gaGFuZGxlU2Nyb2xsKCkge1xuICAgICAgICAgICAgdGhpcy5iYWNrVG9wID0gd2luZG93LnBhZ2VZT2Zmc2V0ID49IHRoaXMuaGVpZ2h0O1xuICAgICAgICB9LFxuICAgICAgICBiYWNrOiBmdW5jdGlvbiBiYWNrKCkge1xuICAgICAgICAgICAgdmFyIHNUb3AgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wO1xuICAgICAgICAgICAgKDAsIF9hc3Npc3Quc2Nyb2xsVG9wKSh3aW5kb3csIHNUb3AsIDAsIHRoaXMuZHVyYXRpb24pO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tY2xpY2snKTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTE4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtYmFkZ2UnO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ0JhZGdlJyxcbiAgICBwcm9wczoge1xuICAgICAgICBjb3VudDogTnVtYmVyLFxuICAgICAgICBkb3Q6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBvdmVyZmxvd0NvdW50OiB7XG4gICAgICAgICAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmddLFxuICAgICAgICAgICAgZGVmYXVsdDogOTlcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lOiBTdHJpbmcsXG4gICAgICAgIHNob3daZXJvOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJydcbiAgICAgICAgfSxcbiAgICAgICAgc3RhdHVzOiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnc3VjY2VzcycsICdwcm9jZXNzaW5nJywgJ2RlZmF1bHQnLCAnZXJyb3InLCAnd2FybmluZyddKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdHlwZToge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ3N1Y2Nlc3MnLCAncHJpbWFyeScsICdub3JtYWwnLCAnZXJyb3InLCAnd2FybmluZycsICdpbmZvJ10pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBvZmZzZXQ6IHtcbiAgICAgICAgICAgIHR5cGU6IEFycmF5XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGNsYXNzZXM6IGZ1bmN0aW9uIGNsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gJycgKyBwcmVmaXhDbHM7XG4gICAgICAgIH0sXG4gICAgICAgIGRvdENsYXNzZXM6IGZ1bmN0aW9uIGRvdENsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJlZml4Q2xzICsgJy1kb3QnO1xuICAgICAgICB9LFxuICAgICAgICBjb3VudENsYXNzZXM6IGZ1bmN0aW9uIGNvdW50Q2xhc3NlcygpIHtcbiAgICAgICAgICAgIHZhciBfcmVmO1xuXG4gICAgICAgICAgICByZXR1cm4gW3ByZWZpeENscyArICctY291bnQnLCAoX3JlZiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCAnJyArIFN0cmluZyh0aGlzLmNsYXNzTmFtZSksICEhdGhpcy5jbGFzc05hbWUpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLWNvdW50LWFsb25lJywgdGhpcy5hbG9uZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctY291bnQtJyArIFN0cmluZyh0aGlzLnR5cGUpLCAhIXRoaXMudHlwZSksIF9yZWYpXTtcbiAgICAgICAgfSxcbiAgICAgICAgc3RhdHVzQ2xhc3NlczogZnVuY3Rpb24gc3RhdHVzQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy1zdGF0dXMtZG90JywgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sIHByZWZpeENscyArICctc3RhdHVzLScgKyBTdHJpbmcodGhpcy5zdGF0dXMpLCAhIXRoaXMuc3RhdHVzKV07XG4gICAgICAgIH0sXG4gICAgICAgIHN0eWxlczogZnVuY3Rpb24gc3R5bGVzKCkge1xuICAgICAgICAgICAgdmFyIHN0eWxlID0ge307XG4gICAgICAgICAgICBpZiAodGhpcy5vZmZzZXQgJiYgdGhpcy5vZmZzZXQubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgICAgc3R5bGVbJ21hcmdpbi10b3AnXSA9IFN0cmluZyh0aGlzLm9mZnNldFswXSkgKyAncHgnO1xuICAgICAgICAgICAgICAgIHN0eWxlWydtYXJnaW4tcmlnaHQnXSA9IFN0cmluZyh0aGlzLm9mZnNldFsxXSkgKyAncHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgICAgICB9LFxuICAgICAgICBmaW5hbENvdW50OiBmdW5jdGlvbiBmaW5hbENvdW50KCkge1xuICAgICAgICAgICAgaWYgKHRoaXMudGV4dCAhPT0gJycpIHJldHVybiB0aGlzLnRleHQ7XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VJbnQodGhpcy5jb3VudCkgPj0gcGFyc2VJbnQodGhpcy5vdmVyZmxvd0NvdW50KSA/IFN0cmluZyh0aGlzLm92ZXJmbG93Q291bnQpICsgJysnIDogdGhpcy5jb3VudDtcbiAgICAgICAgfSxcbiAgICAgICAgYmFkZ2U6IGZ1bmN0aW9uIGJhZGdlKCkge1xuICAgICAgICAgICAgdmFyIHN0YXR1cyA9IGZhbHNlO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5jb3VudCkge1xuICAgICAgICAgICAgICAgIHN0YXR1cyA9ICEocGFyc2VJbnQodGhpcy5jb3VudCkgPT09IDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5kb3QpIHtcbiAgICAgICAgICAgICAgICBzdGF0dXMgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvdW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwYXJzZUludCh0aGlzLmNvdW50KSA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnRleHQgIT09ICcnKSBzdGF0dXMgPSB0cnVlO1xuXG4gICAgICAgICAgICByZXR1cm4gc3RhdHVzIHx8IHRoaXMuc2hvd1plcm87XG4gICAgICAgIH0sXG4gICAgICAgIGhhc0NvdW50OiBmdW5jdGlvbiBoYXNDb3VudCgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvdW50IHx8IHRoaXMudGV4dCAhPT0gJycpIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgaWYgKHRoaXMuc2hvd1plcm8gJiYgcGFyc2VJbnQodGhpcy5jb3VudCkgPT09IDApIHJldHVybiB0cnVlO2Vsc2UgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgICBhbG9uZTogZnVuY3Rpb24gYWxvbmUoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy4kc2xvdHMuZGVmYXVsdCA9PT0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxMTkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtYnJlYWRjcnVtYic7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnQnJlYWRjcnVtYicsXG4gICAgcHJvcHM6IHtcbiAgICAgICAgc2VwYXJhdG9yOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiAnLydcbiAgICAgICAgfVxuICAgIH0sXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgY2xhc3NlczogZnVuY3Rpb24gY2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiAnJyArIHByZWZpeENscztcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVDaGlsZHJlbigpO1xuICAgIH0sXG4gICAgdXBkYXRlZDogZnVuY3Rpb24gdXBkYXRlZCgpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgdGhpcy51cGRhdGVDaGlsZHJlbigpO1xuICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgIH0sXG5cbiAgICBtZXRob2RzOiB7XG4gICAgICAgIHVwZGF0ZUNoaWxkcmVuOiBmdW5jdGlvbiB1cGRhdGVDaGlsZHJlbigpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAgICAgICB0aGlzLiRjaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uIChjaGlsZCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcblxuICAgICAgICAgICAgICAgIGNoaWxkLnNlcGFyYXRvciA9IHRoaXMuc2VwYXJhdG9yO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgd2F0Y2g6IHtcbiAgICAgICAgc2VwYXJhdG9yOiBmdW5jdGlvbiBzZXBhcmF0b3IoKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNoaWxkcmVuKCk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDEyMCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbGluayA9IF9fd2VicGFja19yZXF1aXJlX18oNTUpO1xuXG52YXIgX2xpbmsyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbGluayk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhDbHMgPSAnaXZ1LWJyZWFkY3J1bWItaXRlbSc7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnQnJlYWRjcnVtYkl0ZW0nLFxuICAgIG1peGluczogW19saW5rMi5kZWZhdWx0XSxcbiAgICBwcm9wczoge30sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNlcGFyYXRvcjogJycsXG4gICAgICAgICAgICBzaG93U2VwYXJhdG9yOiBmYWxzZVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICBsaW5rQ2xhc3NlczogZnVuY3Rpb24gbGlua0NsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJlZml4Q2xzICsgJy1saW5rJztcbiAgICAgICAgfSxcbiAgICAgICAgc2VwYXJhdG9yQ2xhc3NlczogZnVuY3Rpb24gc2VwYXJhdG9yQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBwcmVmaXhDbHMgKyAnLXNlcGFyYXRvcic7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICAgIHRoaXMuc2hvd1NlcGFyYXRvciA9IHRoaXMuJHNsb3RzLnNlcGFyYXRvciAhPT0gdW5kZWZpbmVkO1xuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTIxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbnZhciBfaWNvbiA9IF9fd2VicGFja19yZXF1aXJlX18oMjApO1xuXG52YXIgX2ljb24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaWNvbik7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxudmFyIF9saW5rID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1NSk7XG5cbnZhciBfbGluazIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9saW5rKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtYnRuJztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdCdXR0b24nLFxuICAgIG1peGluczogW19saW5rMi5kZWZhdWx0XSxcbiAgICBjb21wb25lbnRzOiB7IEljb246IF9pY29uMi5kZWZhdWx0IH0sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgdHlwZToge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ2RlZmF1bHQnLCAncHJpbWFyeScsICdkYXNoZWQnLCAndGV4dCcsICdpbmZvJywgJ3N1Y2Nlc3MnLCAnd2FybmluZycsICdlcnJvciddKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGRlZmF1bHQ6ICdkZWZhdWx0J1xuICAgICAgICB9LFxuICAgICAgICBzaGFwZToge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ2NpcmNsZScsICdjaXJjbGUtb3V0bGluZSddKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc2l6ZToge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ3NtYWxsJywgJ2xhcmdlJywgJ2RlZmF1bHQnXSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICF0aGlzLiRJVklFVyB8fCB0aGlzLiRJVklFVy5zaXplID09PSAnJyA/ICdkZWZhdWx0JyA6IHRoaXMuJElWSUVXLnNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGxvYWRpbmc6IEJvb2xlYW4sXG4gICAgICAgIGRpc2FibGVkOiBCb29sZWFuLFxuICAgICAgICBodG1sVHlwZToge1xuICAgICAgICAgICAgZGVmYXVsdDogJ2J1dHRvbicsXG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnYnV0dG9uJywgJ3N1Ym1pdCcsICdyZXNldCddKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgaWNvbjoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJydcbiAgICAgICAgfSxcbiAgICAgICAgY3VzdG9tSWNvbjoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJydcbiAgICAgICAgfSxcbiAgICAgICAgbG9uZzoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIGdob3N0OiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNob3dTbG90OiB0cnVlXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGNsYXNzZXM6IGZ1bmN0aW9uIGNsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjtcblxuICAgICAgICAgICAgcmV0dXJuIFsnJyArIHByZWZpeENscywgcHJlZml4Q2xzICsgJy0nICsgU3RyaW5nKHRoaXMudHlwZSksIChfcmVmID0ge30sICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctbG9uZycsIHRoaXMubG9uZyksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctJyArIFN0cmluZyh0aGlzLnNoYXBlKSwgISF0aGlzLnNoYXBlKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy0nICsgU3RyaW5nKHRoaXMuc2l6ZSksIHRoaXMuc2l6ZSAhPT0gJ2RlZmF1bHQnKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1sb2FkaW5nJywgdGhpcy5sb2FkaW5nICE9IG51bGwgJiYgdGhpcy5sb2FkaW5nKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1pY29uLW9ubHknLCAhdGhpcy5zaG93U2xvdCAmJiAoISF0aGlzLmljb24gfHwgISF0aGlzLmN1c3RvbUljb24gfHwgdGhpcy5sb2FkaW5nKSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctZ2hvc3QnLCB0aGlzLmdob3N0KSwgX3JlZildO1xuICAgICAgICB9LFxuICAgICAgICBpc0hyZWZQYXR0ZXJuOiBmdW5jdGlvbiBpc0hyZWZQYXR0ZXJuKCkge1xuICAgICAgICAgICAgdmFyIHRvID0gdGhpcy50bztcblxuICAgICAgICAgICAgcmV0dXJuICEhdG87XG4gICAgICAgIH0sXG4gICAgICAgIHRhZ05hbWU6IGZ1bmN0aW9uIHRhZ05hbWUoKSB7XG4gICAgICAgICAgICB2YXIgaXNIcmVmUGF0dGVybiA9IHRoaXMuaXNIcmVmUGF0dGVybjtcblxuICAgICAgICAgICAgcmV0dXJuIGlzSHJlZlBhdHRlcm4gPyAnYScgOiAnYnV0dG9uJztcbiAgICAgICAgfSxcbiAgICAgICAgdGFnUHJvcHM6IGZ1bmN0aW9uIHRhZ1Byb3BzKCkge1xuICAgICAgICAgICAgdmFyIGlzSHJlZlBhdHRlcm4gPSB0aGlzLmlzSHJlZlBhdHRlcm47XG5cbiAgICAgICAgICAgIGlmIChpc0hyZWZQYXR0ZXJuKSB7XG4gICAgICAgICAgICAgICAgdmFyIGxpbmtVcmwgPSB0aGlzLmxpbmtVcmwsXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldCA9IHRoaXMudGFyZ2V0O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaHJlZjogbGlua1VybCwgdGFyZ2V0OiB0YXJnZXQgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFyIGh0bWxUeXBlID0gdGhpcy5odG1sVHlwZTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB7IHR5cGU6IGh0bWxUeXBlIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgaGFuZGxlQ2xpY2tMaW5rOiBmdW5jdGlvbiBoYW5kbGVDbGlja0xpbmsoZXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2NsaWNrJywgZXZlbnQpO1xuICAgICAgICAgICAgdmFyIG9wZW5Jbk5ld1dpbmRvdyA9IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleTtcblxuICAgICAgICAgICAgdGhpcy5oYW5kbGVDaGVja0NsaWNrKGV2ZW50LCBvcGVuSW5OZXdXaW5kb3cpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgICB0aGlzLnNob3dTbG90ID0gdGhpcy4kc2xvdHMuZGVmYXVsdCAhPT0gdW5kZWZpbmVkO1xuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTIyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtYnRuLWdyb3VwJztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdCdXR0b25Hcm91cCcsXG4gICAgcHJvcHM6IHtcbiAgICAgICAgc2l6ZToge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ3NtYWxsJywgJ2xhcmdlJywgJ2RlZmF1bHQnXSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICF0aGlzLiRJVklFVyB8fCB0aGlzLiRJVklFVy5zaXplID09PSAnJyA/ICdkZWZhdWx0JyA6IHRoaXMuJElWSUVXLnNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHNoYXBlOiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnY2lyY2xlJywgJ2NpcmNsZS1vdXRsaW5lJ10pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB2ZXJ0aWNhbDoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGNsYXNzZXM6IGZ1bmN0aW9uIGNsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjtcblxuICAgICAgICAgICAgcmV0dXJuIFsnJyArIHByZWZpeENscywgKF9yZWYgPSB7fSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy0nICsgU3RyaW5nKHRoaXMuc2l6ZSksICEhdGhpcy5zaXplKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy0nICsgU3RyaW5nKHRoaXMuc2hhcGUpLCAhIXRoaXMuc2hhcGUpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLXZlcnRpY2FsJywgdGhpcy52ZXJ0aWNhbCksIF9yZWYpXTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTIzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbnZhciBfaWNvbiA9IF9fd2VicGFja19yZXF1aXJlX18oOCk7XG5cbnZhciBfaWNvbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pY29uKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtY2FyZCc7XG52YXIgZGVmYXVsdFBhZGRpbmcgPSAxNjtcbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnQ2FyZCcsXG4gICAgY29tcG9uZW50czogeyBJY29uOiBfaWNvbjIuZGVmYXVsdCB9LFxuICAgIHByb3BzOiB7XG4gICAgICAgIGJvcmRlcmVkOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBkaXNIb3Zlcjoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHNoYWRvdzoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGRlZmF1bHRQYWRkaW5nXG4gICAgICAgIH0sXG4gICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgaWNvbjoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzaG93SGVhZDogdHJ1ZSxcbiAgICAgICAgICAgIHNob3dFeHRyYTogdHJ1ZVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWY7XG5cbiAgICAgICAgICAgIHJldHVybiBbJycgKyBwcmVmaXhDbHMsIChfcmVmID0ge30sICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctYm9yZGVyZWQnLCB0aGlzLmJvcmRlcmVkICYmICF0aGlzLnNoYWRvdyksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctZGlzLWhvdmVyJywgdGhpcy5kaXNIb3ZlciB8fCB0aGlzLnNoYWRvdyksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctc2hhZG93JywgdGhpcy5zaGFkb3cpLCBfcmVmKV07XG4gICAgICAgIH0sXG4gICAgICAgIGhlYWRDbGFzc2VzOiBmdW5jdGlvbiBoZWFkQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBwcmVmaXhDbHMgKyAnLWhlYWQnO1xuICAgICAgICB9LFxuICAgICAgICBleHRyYUNsYXNzZXM6IGZ1bmN0aW9uIGV4dHJhQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBwcmVmaXhDbHMgKyAnLWV4dHJhJztcbiAgICAgICAgfSxcbiAgICAgICAgYm9keUNsYXNzZXM6IGZ1bmN0aW9uIGJvZHlDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIHByZWZpeENscyArICctYm9keSc7XG4gICAgICAgIH0sXG4gICAgICAgIGJvZHlTdHlsZXM6IGZ1bmN0aW9uIGJvZHlTdHlsZXMoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5wYWRkaW5nICE9PSBkZWZhdWx0UGFkZGluZykge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IFN0cmluZyh0aGlzLnBhZGRpbmcpICsgJ3B4J1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHtcbiAgICAgICAgdGhpcy5zaG93SGVhZCA9IHRoaXMudGl0bGUgfHwgdGhpcy4kc2xvdHMudGl0bGUgIT09IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5zaG93RXh0cmEgPSB0aGlzLiRzbG90cy5leHRyYSAhPT0gdW5kZWZpbmVkO1xuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTI0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbnZhciBfaWNvbiA9IF9fd2VicGFja19yZXF1aXJlX18oOCk7XG5cbnZhciBfaWNvbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pY29uKTtcblxudmFyIF9hc3Npc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXG52YXIgX2RvbSA9IF9fd2VicGFja19yZXF1aXJlX18oMTMpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1jYXJvdXNlbCc7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnQ2Fyb3VzZWwnLFxuICAgIGNvbXBvbmVudHM6IHsgSWNvbjogX2ljb24yLmRlZmF1bHQgfSxcbiAgICBwcm9wczoge1xuICAgICAgICBhcnJvdzoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJ2hvdmVyJyxcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWydob3ZlcicsICdhbHdheXMnLCAnbmV2ZXInXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGF1dG9wbGF5OiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgYXV0b3BsYXlTcGVlZDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgZGVmYXVsdDogMjAwMFxuICAgICAgICB9LFxuICAgICAgICBsb29wOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgZWFzaW5nOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiAnZWFzZSdcbiAgICAgICAgfSxcbiAgICAgICAgZG90czoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJ2luc2lkZScsXG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnaW5zaWRlJywgJ291dHNpZGUnLCAnbm9uZSddKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgcmFkaXVzRG90OiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgdHJpZ2dlcjoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJ2NsaWNrJyxcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWydjbGljaycsICdob3ZlciddKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIGRlZmF1bHQ6IDBcbiAgICAgICAgfSxcbiAgICAgICAgaGVpZ2h0OiB7XG4gICAgICAgICAgICB0eXBlOiBbU3RyaW5nLCBOdW1iZXJdLFxuICAgICAgICAgICAgZGVmYXVsdDogJ2F1dG8nLFxuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgPT09ICdhdXRvJyB8fCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpID09PSAnW29iamVjdCBOdW1iZXJdJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByZWZpeENsczogcHJlZml4Q2xzLFxuICAgICAgICAgICAgbGlzdFdpZHRoOiAwLFxuICAgICAgICAgICAgdHJhY2tXaWR0aDogMCxcbiAgICAgICAgICAgIHRyYWNrT2Zmc2V0OiAwLFxuICAgICAgICAgICAgdHJhY2tDb3B5T2Zmc2V0OiAwLFxuICAgICAgICAgICAgc2hvd0NvcHlUcmFjazogZmFsc2UsXG4gICAgICAgICAgICBzbGlkZXM6IFtdLFxuICAgICAgICAgICAgc2xpZGVJbnN0YW5jZXM6IFtdLFxuICAgICAgICAgICAgdGltZXI6IG51bGwsXG4gICAgICAgICAgICByZWFkeTogZmFsc2UsXG4gICAgICAgICAgICBjdXJyZW50SW5kZXg6IHRoaXMudmFsdWUsXG4gICAgICAgICAgICB0cmFja0luZGV4OiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgY29weVRyYWNrSW5kZXg6IHRoaXMudmFsdWUsXG4gICAgICAgICAgICBoaWRlVHJhY2tQb3M6IC0xIH07XG4gICAgfSxcblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGNsYXNzZXM6IGZ1bmN0aW9uIGNsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gWycnICsgcHJlZml4Q2xzXTtcbiAgICAgICAgfSxcbiAgICAgICAgdHJhY2tTdHlsZXM6IGZ1bmN0aW9uIHRyYWNrU3R5bGVzKCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogU3RyaW5nKHRoaXMudHJhY2tXaWR0aCkgKyAncHgnLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKCcgKyAtdGhpcy50cmFja09mZnNldCArICdweCwgMHB4LCAwcHgpJyxcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAndHJhbnNmb3JtIDUwMG1zICcgKyBTdHJpbmcodGhpcy5lYXNpbmcpXG4gICAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgICBjb3B5VHJhY2tTdHlsZXM6IGZ1bmN0aW9uIGNvcHlUcmFja1N0eWxlcygpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IFN0cmluZyh0aGlzLnRyYWNrV2lkdGgpICsgJ3B4JyxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUzZCgnICsgLXRoaXMudHJhY2tDb3B5T2Zmc2V0ICsgJ3B4LCAwcHgsIDBweCknLFxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICd0cmFuc2Zvcm0gNTAwbXMgJyArIFN0cmluZyh0aGlzLmVhc2luZyksXG4gICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgdG9wOiAwXG4gICAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgICBhcnJvd0NsYXNzZXM6IGZ1bmN0aW9uIGFycm93Q2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy1hcnJvdycsIHByZWZpeENscyArICctYXJyb3ctJyArIFN0cmluZyh0aGlzLmFycm93KV07XG4gICAgICAgIH0sXG4gICAgICAgIGRvdHNDbGFzc2VzOiBmdW5jdGlvbiBkb3RzQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy1kb3RzJywgcHJlZml4Q2xzICsgJy1kb3RzLScgKyBTdHJpbmcodGhpcy5kb3RzKV07XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgZmluZENoaWxkOiBmdW5jdGlvbiBmaW5kQ2hpbGQoY2IpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgZmluZCA9IGZ1bmN0aW9uIGZpbmQoY2hpbGQpIHtcbiAgICAgICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgICAgICAgICAgdmFyIG5hbWUgPSBjaGlsZC4kb3B0aW9ucy5jb21wb25lbnROYW1lO1xuXG4gICAgICAgICAgICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2IoY2hpbGQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hpbGQuJGNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZC4kY2hpbGRyZW4uZm9yRWFjaChmdW5jdGlvbiAoaW5uZXJDaGlsZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbmQoaW5uZXJDaGlsZCwgY2IpO1xuICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnNsaWRlSW5zdGFuY2VzLmxlbmd0aCB8fCAhdGhpcy4kY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNsaWRlSW5zdGFuY2VzLmZvckVhY2goZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcblxuICAgICAgICAgICAgICAgICAgICBmaW5kKGNoaWxkKTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRjaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uIChjaGlsZCkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMik7XG5cbiAgICAgICAgICAgICAgICAgICAgZmluZChjaGlsZCk7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgaW5pdENvcHlUcmFja0RvbTogZnVuY3Rpb24gaW5pdENvcHlUcmFja0RvbSgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczMgPSB0aGlzO1xuXG4gICAgICAgICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczMpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jb3B5VHJhY2suaW5uZXJIVE1MID0gdGhpcy4kcmVmcy5vcmlnaW5UcmFjay5pbm5lckhUTUw7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB9LFxuICAgICAgICB1cGRhdGVTbGlkZXM6IGZ1bmN0aW9uIHVwZGF0ZVNsaWRlcyhpbml0KSB7XG4gICAgICAgICAgICB2YXIgX3RoaXM0ID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIHNsaWRlcyA9IFtdO1xuICAgICAgICAgICAgdmFyIGluZGV4ID0gMTtcblxuICAgICAgICAgICAgdGhpcy5maW5kQ2hpbGQoZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczQpO1xuXG4gICAgICAgICAgICAgICAgc2xpZGVzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAkZWw6IGNoaWxkLiRlbFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNoaWxkLmluZGV4ID0gaW5kZXgrKztcblxuICAgICAgICAgICAgICAgIGlmIChpbml0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2xpZGVJbnN0YW5jZXMucHVzaChjaGlsZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcblxuICAgICAgICAgICAgdGhpcy5zbGlkZXMgPSBzbGlkZXM7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVBvcygpO1xuICAgICAgICB9LFxuICAgICAgICB1cGRhdGVQb3M6IGZ1bmN0aW9uIHVwZGF0ZVBvcygpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczUgPSB0aGlzO1xuXG4gICAgICAgICAgICB0aGlzLmZpbmRDaGlsZChmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzNSk7XG5cbiAgICAgICAgICAgICAgICBjaGlsZC53aWR0aCA9IHRoaXMubGlzdFdpZHRoO1xuICAgICAgICAgICAgICAgIGNoaWxkLmhlaWdodCA9IHR5cGVvZiB0aGlzLmhlaWdodCA9PT0gJ251bWJlcicgPyBTdHJpbmcodGhpcy5oZWlnaHQpICsgJ3B4JyA6IHRoaXMuaGVpZ2h0O1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcblxuICAgICAgICAgICAgdGhpcy50cmFja1dpZHRoID0gKHRoaXMuc2xpZGVzLmxlbmd0aCB8fCAwKSAqIHRoaXMubGlzdFdpZHRoO1xuICAgICAgICB9LFxuICAgICAgICBzbG90Q2hhbmdlOiBmdW5jdGlvbiBzbG90Q2hhbmdlKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzNiA9IHRoaXM7XG5cbiAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzNik7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnNsaWRlcyA9IFtdO1xuICAgICAgICAgICAgICAgIHRoaXMuc2xpZGVJbnN0YW5jZXMgPSBbXTtcblxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU2xpZGVzKHRydWUsIHRydWUpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlUG9zKCk7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVPZmZzZXQoKTtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVJlc2l6ZTogZnVuY3Rpb24gaGFuZGxlUmVzaXplKCkge1xuICAgICAgICAgICAgdGhpcy5saXN0V2lkdGggPSBwYXJzZUludCgoMCwgX2Fzc2lzdC5nZXRTdHlsZSkodGhpcy4kZWwsICd3aWR0aCcpKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUG9zKCk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU9mZnNldCgpO1xuICAgICAgICB9LFxuICAgICAgICB1cGRhdGVUcmFja1BvczogZnVuY3Rpb24gdXBkYXRlVHJhY2tQb3MoaW5kZXgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNob3dDb3B5VHJhY2spIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRyYWNrSW5kZXggPSBpbmRleDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb3B5VHJhY2tJbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB1cGRhdGVUcmFja0luZGV4OiBmdW5jdGlvbiB1cGRhdGVUcmFja0luZGV4KGluZGV4KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zaG93Q29weVRyYWNrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb3B5VHJhY2tJbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRyYWNrSW5kZXggPSBpbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gaW5kZXg7XG4gICAgICAgIH0sXG4gICAgICAgIGFkZDogZnVuY3Rpb24gYWRkKG9mZnNldCkge1xuICAgICAgICAgICAgdmFyIHNsaWRlc0xlbiA9IHRoaXMuc2xpZGVzLmxlbmd0aDtcblxuICAgICAgICAgICAgaWYgKHRoaXMubG9vcCkge1xuICAgICAgICAgICAgICAgIGlmIChvZmZzZXQgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGlkZVRyYWNrUG9zID0gLTE7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlVHJhY2tQb3MgPSBzbGlkZXNMZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVHJhY2tQb3ModGhpcy5oaWRlVHJhY2tQb3MpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgb2xkSW5kZXggPSB0aGlzLnNob3dDb3B5VHJhY2sgPyB0aGlzLmNvcHlUcmFja0luZGV4IDogdGhpcy50cmFja0luZGV4O1xuICAgICAgICAgICAgdmFyIGluZGV4ID0gb2xkSW5kZXggKyBvZmZzZXQ7XG4gICAgICAgICAgICB3aGlsZSAoaW5kZXggPCAwKSB7XG4gICAgICAgICAgICAgICAgaW5kZXggKz0gc2xpZGVzTGVuO1xuICAgICAgICAgICAgfWlmICgob2Zmc2V0ID4gMCAmJiBpbmRleCA9PT0gc2xpZGVzTGVuIHx8IG9mZnNldCA8IDAgJiYgaW5kZXggPT09IHNsaWRlc0xlbiAtIDEpICYmIHRoaXMubG9vcCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd0NvcHlUcmFjayA9ICF0aGlzLnNob3dDb3B5VHJhY2s7XG4gICAgICAgICAgICAgICAgdGhpcy50cmFja0luZGV4ICs9IG9mZnNldDtcbiAgICAgICAgICAgICAgICB0aGlzLmNvcHlUcmFja0luZGV4ICs9IG9mZnNldDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmxvb3ApIGluZGV4ID0gaW5kZXggJSB0aGlzLnNsaWRlcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVUcmFja0luZGV4KGluZGV4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gaW5kZXggPT09IHRoaXMuc2xpZGVzLmxlbmd0aCA/IDAgOiBpbmRleDtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWNoYW5nZScsIG9sZEluZGV4LCB0aGlzLmN1cnJlbnRJbmRleCk7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIHRoaXMuY3VycmVudEluZGV4KTtcbiAgICAgICAgfSxcbiAgICAgICAgYXJyb3dFdmVudDogZnVuY3Rpb24gYXJyb3dFdmVudChvZmZzZXQpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0QXV0b3BsYXkoKTtcbiAgICAgICAgICAgIHRoaXMuYWRkKG9mZnNldCk7XG4gICAgICAgIH0sXG4gICAgICAgIGRvdHNFdmVudDogZnVuY3Rpb24gZG90c0V2ZW50KGV2ZW50LCBuKSB7XG4gICAgICAgICAgICB2YXIgY3VySW5kZXggPSB0aGlzLnNob3dDb3B5VHJhY2sgPyB0aGlzLmNvcHlUcmFja0luZGV4IDogdGhpcy50cmFja0luZGV4O1xuICAgICAgICAgICAgaWYgKGV2ZW50ID09PSB0aGlzLnRyaWdnZXIgJiYgY3VySW5kZXggIT09IG4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRyYWNrSW5kZXgobik7XG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnaW5wdXQnLCBuKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuc2V0QXV0b3BsYXkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc2V0QXV0b3BsYXk6IGZ1bmN0aW9uIHNldEF1dG9wbGF5KCkge1xuICAgICAgICAgICAgdmFyIF90aGlzNyA9IHRoaXM7XG5cbiAgICAgICAgICAgIHdpbmRvdy5jbGVhckludGVydmFsKHRoaXMudGltZXIpO1xuICAgICAgICAgICAgaWYgKHRoaXMuYXV0b3BsYXkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRpbWVyID0gd2luZG93LnNldEludGVydmFsKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczcpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkKDEpO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSwgdGhpcy5hdXRvcGxheVNwZWVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlT2Zmc2V0OiBmdW5jdGlvbiB1cGRhdGVPZmZzZXQoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXM4ID0gdGhpcztcblxuICAgICAgICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM4KTtcblxuICAgICAgICAgICAgICAgIHZhciBvZnMgPSB0aGlzLmNvcHlUcmFja0luZGV4ID4gMCA/IC0xIDogMTtcbiAgICAgICAgICAgICAgICB0aGlzLnRyYWNrT2Zmc2V0ID0gdGhpcy50cmFja0luZGV4ICogdGhpcy5saXN0V2lkdGg7XG4gICAgICAgICAgICAgICAgdGhpcy50cmFja0NvcHlPZmZzZXQgPSB0aGlzLmNvcHlUcmFja0luZGV4ICogdGhpcy5saXN0V2lkdGggKyBvZnM7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB3YXRjaDoge1xuICAgICAgICBhdXRvcGxheTogZnVuY3Rpb24gYXV0b3BsYXkoKSB7XG4gICAgICAgICAgICB0aGlzLnNldEF1dG9wbGF5KCk7XG4gICAgICAgIH0sXG4gICAgICAgIGF1dG9wbGF5U3BlZWQ6IGZ1bmN0aW9uIGF1dG9wbGF5U3BlZWQoKSB7XG4gICAgICAgICAgICB0aGlzLnNldEF1dG9wbGF5KCk7XG4gICAgICAgIH0sXG4gICAgICAgIHRyYWNrSW5kZXg6IGZ1bmN0aW9uIHRyYWNrSW5kZXgoKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU9mZnNldCgpO1xuICAgICAgICB9LFxuICAgICAgICBjb3B5VHJhY2tJbmRleDogZnVuY3Rpb24gY29weVRyYWNrSW5kZXgoKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU9mZnNldCgpO1xuICAgICAgICB9LFxuICAgICAgICBoZWlnaHQ6IGZ1bmN0aW9uIGhlaWdodCgpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUG9zKCk7XG4gICAgICAgIH0sXG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZSh2YWwpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVHJhY2tJbmRleCh2YWwpO1xuICAgICAgICAgICAgdGhpcy5zZXRBdXRvcGxheSgpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZVNsaWRlcyh0cnVlKTtcbiAgICAgICAgdGhpcy5oYW5kbGVSZXNpemUoKTtcbiAgICAgICAgdGhpcy5zZXRBdXRvcGxheSgpO1xuXG4gICAgICAgICgwLCBfZG9tLm9uKSh3aW5kb3csICdyZXNpemUnLCB0aGlzLmhhbmRsZVJlc2l6ZSk7XG4gICAgfSxcbiAgICBiZWZvcmVEZXN0cm95OiBmdW5jdGlvbiBiZWZvcmVEZXN0cm95KCkge1xuICAgICAgICAoMCwgX2RvbS5vZmYpKHdpbmRvdywgJ3Jlc2l6ZScsIHRoaXMuaGFuZGxlUmVzaXplKTtcbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDEyNSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1jYXJvdXNlbC1pdGVtJztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIGNvbXBvbmVudE5hbWU6ICdjYXJvdXNlbC1pdGVtJyxcbiAgICBuYW1lOiAnQ2Fyb3VzZWxJdGVtJyxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcHJlZml4Q2xzOiBwcmVmaXhDbHMsXG4gICAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgICAgIGhlaWdodDogJ2F1dG8nLFxuICAgICAgICAgICAgbGVmdDogMFxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICBzdHlsZXM6IGZ1bmN0aW9uIHN0eWxlcygpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IFN0cmluZyh0aGlzLndpZHRoKSArICdweCcsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnJyArIFN0cmluZyh0aGlzLmhlaWdodCksXG4gICAgICAgICAgICAgICAgbGVmdDogU3RyaW5nKHRoaXMubGVmdCkgKyAncHgnXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgICB0aGlzLiRwYXJlbnQuc2xvdENoYW5nZSgpO1xuICAgIH0sXG5cbiAgICB3YXRjaDoge1xuICAgICAgICB3aWR0aDogZnVuY3Rpb24gd2lkdGgodmFsKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgICAgICBpZiAodmFsICYmIHRoaXMuJHBhcmVudC5sb29wKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLiRwYXJlbnQuaW5pdENvcHlUcmFja0RvbSgpO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGhlaWdodDogZnVuY3Rpb24gaGVpZ2h0KHZhbCkge1xuICAgICAgICAgICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICAgICAgICAgIGlmICh2YWwgJiYgdGhpcy4kcGFyZW50Lmxvb3ApIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLiRwYXJlbnQuaW5pdENvcHlUcmFja0RvbSgpO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGJlZm9yZURlc3Ryb3k6IGZ1bmN0aW9uIGJlZm9yZURlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuJHBhcmVudC5zbG90Q2hhbmdlKCk7XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxMjYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2Fzc2lnbiA9IF9fd2VicGFja19yZXF1aXJlX18oMTQpO1xuXG52YXIgX2Fzc2lnbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hc3NpZ24pO1xuXG52YXIgX3N0cmluZ2lmeSA9IF9fd2VicGFja19yZXF1aXJlX18oNTQpO1xuXG52YXIgX3N0cmluZ2lmeTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zdHJpbmdpZnkpO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF90b0NvbnN1bWFibGVBcnJheTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE2KTtcblxudmFyIF90b0NvbnN1bWFibGVBcnJheTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90b0NvbnN1bWFibGVBcnJheTIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9pbnB1dCA9IF9fd2VicGFja19yZXF1aXJlX18oMzcpO1xuXG52YXIgX2lucHV0MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2lucHV0KTtcblxudmFyIF9kcm9wZG93biA9IF9fd2VicGFja19yZXF1aXJlX18oMzMpO1xuXG52YXIgX2Ryb3Bkb3duMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2Ryb3Bkb3duKTtcblxudmFyIF9pY29uID0gX193ZWJwYWNrX3JlcXVpcmVfXyg4KTtcblxudmFyIF9pY29uMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2ljb24pO1xuXG52YXIgX2Nhc3BhbmVsID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNTYpO1xuXG52YXIgX2Nhc3BhbmVsMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2Nhc3BhbmVsKTtcblxudmFyIF92Q2xpY2tPdXRzaWRlWCA9IF9fd2VicGFja19yZXF1aXJlX18oMzUpO1xuXG52YXIgX3RyYW5zZmVyRG9tID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMSk7XG5cbnZhciBfdHJhbnNmZXJEb20yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdHJhbnNmZXJEb20pO1xuXG52YXIgX2Fzc2lzdCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbnZhciBfZW1pdHRlciA9IF9fd2VicGFja19yZXF1aXJlX18oNCk7XG5cbnZhciBfZW1pdHRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9lbWl0dGVyKTtcblxudmFyIF9sb2NhbGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUpO1xuXG52YXIgX2xvY2FsZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9sb2NhbGUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1jYXNjYWRlcic7XG52YXIgc2VsZWN0UHJlZml4Q2xzID0gJ2l2dS1zZWxlY3QnO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ0Nhc2NhZGVyJyxcbiAgICBtaXhpbnM6IFtfZW1pdHRlcjIuZGVmYXVsdCwgX2xvY2FsZTIuZGVmYXVsdF0sXG4gICAgY29tcG9uZW50czogeyBpSW5wdXQ6IF9pbnB1dDIuZGVmYXVsdCwgRHJvcDogX2Ryb3Bkb3duMi5kZWZhdWx0LCBJY29uOiBfaWNvbjIuZGVmYXVsdCwgQ2FzcGFuZWw6IF9jYXNwYW5lbDIuZGVmYXVsdCB9LFxuICAgIGRpcmVjdGl2ZXM6IHsgY2xpY2tPdXRzaWRlOiBfdkNsaWNrT3V0c2lkZVguZGlyZWN0aXZlLCBUcmFuc2ZlckRvbTogX3RyYW5zZmVyRG9tMi5kZWZhdWx0IH0sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgdHlwZTogQXJyYXksXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICB0eXBlOiBBcnJheSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZGlzYWJsZWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBjbGVhcmFibGU6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHBsYWNlaG9sZGVyOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgc2l6ZToge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ3NtYWxsJywgJ2xhcmdlJywgJ2RlZmF1bHQnXSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICF0aGlzLiRJVklFVyB8fCB0aGlzLiRJVklFVy5zaXplID09PSAnJyA/ICdkZWZhdWx0JyA6IHRoaXMuJElWSUVXLnNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHRyaWdnZXI6IHtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWydjbGljaycsICdob3ZlciddKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGRlZmF1bHQ6ICdjbGljaydcbiAgICAgICAgfSxcbiAgICAgICAgY2hhbmdlT25TZWxlY3Q6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICByZW5kZXJGb3JtYXQ6IHtcbiAgICAgICAgICAgIHR5cGU6IEZ1bmN0aW9uLFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQobGFiZWwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbGFiZWwuam9pbignIC8gJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGxvYWREYXRhOiB7XG4gICAgICAgICAgICB0eXBlOiBGdW5jdGlvblxuICAgICAgICB9LFxuICAgICAgICBmaWx0ZXJhYmxlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgbm90Rm91bmRUZXh0OiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgdHJhbnNmZXI6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIXRoaXMuJElWSUVXIHx8IHRoaXMuJElWSUVXLnRyYW5zZmVyID09PSAnJyA/IGZhbHNlIDogdGhpcy4kSVZJRVcudHJhbnNmZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG5hbWU6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZ1xuICAgICAgICB9LFxuICAgICAgICBlbGVtZW50SWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZ1xuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcHJlZml4Q2xzOiBwcmVmaXhDbHMsXG4gICAgICAgICAgICBzZWxlY3RQcmVmaXhDbHM6IHNlbGVjdFByZWZpeENscyxcbiAgICAgICAgICAgIHZpc2libGU6IGZhbHNlLFxuICAgICAgICAgICAgc2VsZWN0ZWQ6IFtdLFxuICAgICAgICAgICAgdG1wU2VsZWN0ZWQ6IFtdLFxuICAgICAgICAgICAgdXBkYXRpbmdWYWx1ZTogZmFsc2UsXG4gICAgICAgICAgICBjdXJyZW50VmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICAgICAgICBxdWVyeTogJycsXG4gICAgICAgICAgICB2YWxpZERhdGFTdHI6ICcnLFxuICAgICAgICAgICAgaXNMb2FkZWRDaGlsZHJlbjogZmFsc2UgfTtcbiAgICB9LFxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgY2xhc3NlczogZnVuY3Rpb24gY2xhc3NlcygpIHtcbiAgICAgICAgICAgIHZhciBfcmVmO1xuXG4gICAgICAgICAgICByZXR1cm4gWycnICsgcHJlZml4Q2xzLCAoX3JlZiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLXNob3ctY2xlYXInLCB0aGlzLnNob3dDbG9zZUljb24pLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLXNpemUtJyArIFN0cmluZyh0aGlzLnNpemUpLCAhIXRoaXMuc2l6ZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctdmlzaWJsZScsIHRoaXMudmlzaWJsZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctZGlzYWJsZWQnLCB0aGlzLmRpc2FibGVkKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1ub3QtZm91bmQnLCB0aGlzLmZpbHRlcmFibGUgJiYgdGhpcy5xdWVyeSAhPT0gJycgJiYgIXRoaXMucXVlcnlTZWxlY3Rpb25zLmxlbmd0aCksIF9yZWYpXTtcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd0Nsb3NlSWNvbjogZnVuY3Rpb24gc2hvd0Nsb3NlSWNvbigpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRWYWx1ZSAmJiB0aGlzLmN1cnJlbnRWYWx1ZS5sZW5ndGggJiYgdGhpcy5jbGVhcmFibGUgJiYgIXRoaXMuZGlzYWJsZWQ7XG4gICAgICAgIH0sXG4gICAgICAgIGRpc3BsYXlSZW5kZXI6IGZ1bmN0aW9uIGRpc3BsYXlSZW5kZXIoKSB7XG4gICAgICAgICAgICB2YXIgbGFiZWwgPSBbXTtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5zZWxlY3RlZC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGxhYmVsLnB1c2godGhpcy5zZWxlY3RlZFtpXS5sYWJlbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJlbmRlckZvcm1hdChsYWJlbCwgdGhpcy5zZWxlY3RlZCk7XG4gICAgICAgIH0sXG4gICAgICAgIGRpc3BsYXlJbnB1dFJlbmRlcjogZnVuY3Rpb24gZGlzcGxheUlucHV0UmVuZGVyKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyYWJsZSA/ICcnIDogdGhpcy5kaXNwbGF5UmVuZGVyO1xuICAgICAgICB9LFxuICAgICAgICBsb2NhbGVQbGFjZWhvbGRlcjogZnVuY3Rpb24gbG9jYWxlUGxhY2Vob2xkZXIoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5wbGFjZWhvbGRlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudCgnaS5zZWxlY3QucGxhY2Vob2xkZXInKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucGxhY2Vob2xkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGlucHV0UGxhY2Vob2xkZXI6IGZ1bmN0aW9uIGlucHV0UGxhY2Vob2xkZXIoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJhYmxlICYmIHRoaXMuY3VycmVudFZhbHVlLmxlbmd0aCA/IG51bGwgOiB0aGlzLmxvY2FsZVBsYWNlaG9sZGVyO1xuICAgICAgICB9LFxuICAgICAgICBsb2NhbGVOb3RGb3VuZFRleHQ6IGZ1bmN0aW9uIGxvY2FsZU5vdEZvdW5kVGV4dCgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm5vdEZvdW5kVGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudCgnaS5zZWxlY3Qubm9NYXRjaCcpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5ub3RGb3VuZFRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHF1ZXJ5U2VsZWN0aW9uczogZnVuY3Rpb24gcXVlcnlTZWxlY3Rpb25zKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIHNlbGVjdGlvbnMgPSBbXTtcbiAgICAgICAgICAgIGZ1bmN0aW9uIGdldFNlbGVjdGlvbnMoYXJyLCBsYWJlbCwgdmFsdWUpIHtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgaXRlbSA9IGFycltpXTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5fX2xhYmVsID0gbGFiZWwgPyBsYWJlbCArICcgLyAnICsgaXRlbS5sYWJlbCA6IGl0ZW0ubGFiZWw7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uX192YWx1ZSA9IHZhbHVlID8gW10uY29uY2F0KCgwLCBfdG9Db25zdW1hYmxlQXJyYXkzLmRlZmF1bHQpKHZhbHVlKSwgW2l0ZW0udmFsdWVdKSA6IFtpdGVtLnZhbHVlXTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0U2VsZWN0aW9ucyhpdGVtLmNoaWxkcmVuLCBpdGVtLl9fbGFiZWwsIGl0ZW0uX192YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgaXRlbS5fX2xhYmVsO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGl0ZW0uX192YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGl0ZW0uX19sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5fX3ZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGl0ZW0uX19sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtOiBpdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiAhIWl0ZW0uZGlzYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZ2V0U2VsZWN0aW9ucyh0aGlzLmRhdGEpO1xuICAgICAgICAgICAgc2VsZWN0aW9ucyA9IHNlbGVjdGlvbnMuZmlsdGVyKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5sYWJlbCA/IGl0ZW0ubGFiZWwuaW5kZXhPZih0aGlzLnF1ZXJ5KSA+IC0xIDogZmFsc2U7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgaXRlbS5kaXNwbGF5ID0gaXRlbS5kaXNwbGF5LnJlcGxhY2UobmV3IFJlZ0V4cCh0aGlzLnF1ZXJ5LCAnZycpLCAnPHNwYW4+JyArIFN0cmluZyh0aGlzLnF1ZXJ5KSArICc8L3NwYW4+Jyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGlvbnM7XG4gICAgICAgIH0sXG4gICAgICAgIGFycm93VHlwZTogZnVuY3Rpb24gYXJyb3dUeXBlKCkge1xuICAgICAgICAgICAgdmFyIHR5cGUgPSAnaW9zLWFycm93LWRvd24nO1xuXG4gICAgICAgICAgICBpZiAodGhpcy4kSVZJRVcpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy4kSVZJRVcuY2FzY2FkZXIuY3VzdG9tQXJyb3cpIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZSA9ICcnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy4kSVZJRVcuY2FzY2FkZXIuYXJyb3cpIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZSA9IHRoaXMuJElWSUVXLmNhc2NhZGVyLmFycm93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgICB9LFxuICAgICAgICBjdXN0b21BcnJvd1R5cGU6IGZ1bmN0aW9uIGN1c3RvbUFycm93VHlwZSgpIHtcbiAgICAgICAgICAgIHZhciB0eXBlID0gJyc7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLiRJVklFVykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLiRJVklFVy5jYXNjYWRlci5jdXN0b21BcnJvdykge1xuICAgICAgICAgICAgICAgICAgICB0eXBlID0gdGhpcy4kSVZJRVcuY2FzY2FkZXIuY3VzdG9tQXJyb3c7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG4gICAgICAgIH0sXG4gICAgICAgIGFycm93U2l6ZTogZnVuY3Rpb24gYXJyb3dTaXplKCkge1xuICAgICAgICAgICAgdmFyIHNpemUgPSAnJztcblxuICAgICAgICAgICAgaWYgKHRoaXMuJElWSUVXKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuJElWSUVXLmNhc2NhZGVyLmFycm93U2l6ZSkge1xuICAgICAgICAgICAgICAgICAgICBzaXplID0gdGhpcy4kSVZJRVcuY2FzY2FkZXIuYXJyb3dTaXplO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzaXplO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGNsZWFyU2VsZWN0OiBmdW5jdGlvbiBjbGVhclNlbGVjdCgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB2YXIgb2xkVmFsID0gKDAsIF9zdHJpbmdpZnkyLmRlZmF1bHQpKHRoaXMuY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gdGhpcy5zZWxlY3RlZCA9IHRoaXMudG1wU2VsZWN0ZWQgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2xvc2UoKTtcbiAgICAgICAgICAgIHRoaXMuZW1pdFZhbHVlKHRoaXMuY3VycmVudFZhbHVlLCBvbGRWYWwpO1xuXG4gICAgICAgICAgICB0aGlzLmJyb2FkY2FzdCgnQ2FzcGFuZWwnLCAnb24tY2xlYXInKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlQ2xvc2U6IGZ1bmN0aW9uIGhhbmRsZUNsb3NlKCkge1xuICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgIHRvZ2dsZU9wZW46IGZ1bmN0aW9uIHRvZ2dsZU9wZW4oKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5maWx0ZXJhYmxlKSB0aGlzLmhhbmRsZUNsb3NlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMub25Gb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBvbkZvY3VzOiBmdW5jdGlvbiBvbkZvY3VzKCkge1xuICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmICghdGhpcy5jdXJyZW50VmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5icm9hZGNhc3QoJ0Nhc3BhbmVsJywgJ29uLWNsZWFyJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZVJlc3VsdDogZnVuY3Rpb24gdXBkYXRlUmVzdWx0KHJlc3VsdCkge1xuICAgICAgICAgICAgdGhpcy50bXBTZWxlY3RlZCA9IHJlc3VsdDtcbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlU2VsZWN0ZWQ6IGZ1bmN0aW9uIHVwZGF0ZVNlbGVjdGVkKCkge1xuICAgICAgICAgICAgdmFyIGluaXQgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IGZhbHNlO1xuICAgICAgICAgICAgdmFyIGNoYW5nZU9uU2VsZWN0RGF0YUNoYW5nZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogZmFsc2U7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5jaGFuZ2VPblNlbGVjdCB8fCBpbml0IHx8IGNoYW5nZU9uU2VsZWN0RGF0YUNoYW5nZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYnJvYWRjYXN0KCdDYXNwYW5lbCcsICdvbi1maW5kLXNlbGVjdGVkJywge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5jdXJyZW50VmFsdWVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZW1pdFZhbHVlOiBmdW5jdGlvbiBlbWl0VmFsdWUodmFsLCBvbGRWYWwpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAgICAgICBpZiAoKDAsIF9zdHJpbmdpZnkyLmRlZmF1bHQpKHZhbCkgIT09IG9sZFZhbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWNoYW5nZScsIHRoaXMuY3VycmVudFZhbHVlLCBKU09OLnBhcnNlKCgwLCBfc3RyaW5naWZ5Mi5kZWZhdWx0KSh0aGlzLnNlbGVjdGVkKSkpO1xuICAgICAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczIpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2goJ0Zvcm1JdGVtJywgJ29uLWZvcm0tY2hhbmdlJywge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuY3VycmVudFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IEpTT04ucGFyc2UoKDAsIF9zdHJpbmdpZnkyLmRlZmF1bHQpKHRoaXMuc2VsZWN0ZWQpKVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVJbnB1dDogZnVuY3Rpb24gaGFuZGxlSW5wdXQoZXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMucXVlcnkgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVNlbGVjdEl0ZW06IGZ1bmN0aW9uIGhhbmRsZVNlbGVjdEl0ZW0oaW5kZXgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczMgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgaXRlbSA9IHRoaXMucXVlcnlTZWxlY3Rpb25zW2luZGV4XTtcblxuICAgICAgICAgICAgaWYgKGl0ZW0uaXRlbS5kaXNhYmxlZCkgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5xdWVyeSA9ICcnO1xuICAgICAgICAgICAgdGhpcy4kcmVmcy5pbnB1dC5jdXJyZW50VmFsdWUgPSAnJztcbiAgICAgICAgICAgIHZhciBvbGRWYWwgPSAoMCwgX3N0cmluZ2lmeTIuZGVmYXVsdCkodGhpcy5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBpdGVtLnZhbHVlO1xuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMyk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmVtaXRWYWx1ZSh0aGlzLmN1cnJlbnRWYWx1ZSwgb2xkVmFsKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUNsb3NlKCk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcyksIDApO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVGb2N1czogZnVuY3Rpb24gaGFuZGxlRm9jdXMoKSB7XG4gICAgICAgICAgICB0aGlzLiRyZWZzLmlucHV0LmZvY3VzKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGdldFZhbGlkRGF0YTogZnVuY3Rpb24gZ2V0VmFsaWREYXRhKGRhdGEpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczUgPSB0aGlzO1xuXG4gICAgICAgICAgICBmdW5jdGlvbiBkZWxldGVEYXRhKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICB2YXIgX3RoaXM0ID0gdGhpcztcblxuICAgICAgICAgICAgICAgIHZhciBuZXdfaXRlbSA9ICgwLCBfYXNzaWduMi5kZWZhdWx0KSh7fSwgaXRlbSk7XG4gICAgICAgICAgICAgICAgaWYgKCdsb2FkaW5nJyBpbiBuZXdfaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgbmV3X2l0ZW0ubG9hZGluZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCdfX3ZhbHVlJyBpbiBuZXdfaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgbmV3X2l0ZW0uX192YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCdfX2xhYmVsJyBpbiBuZXdfaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgbmV3X2l0ZW0uX19sYWJlbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobmV3X2l0ZW0uY2hpbGRyZW4pICYmIG5ld19pdGVtLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBuZXdfaXRlbS5jaGlsZHJlbiA9IG5ld19pdGVtLmNoaWxkcmVuLm1hcChmdW5jdGlvbiAoaSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRlbGV0ZURhdGEoaSk7XG4gICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBuZXdfaXRlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGRhdGEubWFwKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczUpO1xuICAgICAgICAgICAgICAgIHJldHVybiBkZWxldGVEYXRhKGl0ZW0pO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHtcbiAgICAgICAgdmFyIF90aGlzNiA9IHRoaXM7XG5cbiAgICAgICAgdGhpcy52YWxpZERhdGFTdHIgPSAoMCwgX3N0cmluZ2lmeTIuZGVmYXVsdCkodGhpcy5nZXRWYWxpZERhdGEodGhpcy5kYXRhKSk7XG4gICAgICAgIHRoaXMuJG9uKCdvbi1yZXN1bHQtY2hhbmdlJywgZnVuY3Rpb24gKHBhcmFtcykge1xuICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczYpO1xuXG4gICAgICAgICAgICB2YXIgbGFzdFZhbHVlID0gcGFyYW1zLmxhc3RWYWx1ZTtcbiAgICAgICAgICAgIHZhciBjaGFuZ2VPblNlbGVjdCA9IHBhcmFtcy5jaGFuZ2VPblNlbGVjdDtcbiAgICAgICAgICAgIHZhciBmcm9tSW5pdCA9IHBhcmFtcy5mcm9tSW5pdDtcblxuICAgICAgICAgICAgaWYgKGxhc3RWYWx1ZSB8fCBjaGFuZ2VPblNlbGVjdCkge1xuICAgICAgICAgICAgICAgIHZhciBvbGRWYWwgPSAoMCwgX3N0cmluZ2lmeTIuZGVmYXVsdCkodGhpcy5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLnRtcFNlbGVjdGVkO1xuXG4gICAgICAgICAgICAgICAgdmFyIG5ld1ZhbCA9IFtdO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzNik7XG5cbiAgICAgICAgICAgICAgICAgICAgbmV3VmFsLnB1c2goaXRlbS52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcblxuICAgICAgICAgICAgICAgIGlmICghZnJvbUluaXQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGluZ1ZhbHVlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBuZXdWYWw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZW1pdFZhbHVlKHRoaXMuY3VycmVudFZhbHVlLCBvbGRWYWwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsYXN0VmFsdWUgJiYgIWZyb21Jbml0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVDbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgIH0sXG4gICAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZCh0cnVlKTtcbiAgICB9LFxuXG4gICAgd2F0Y2g6IHtcbiAgICAgICAgdmlzaWJsZTogZnVuY3Rpb24gdmlzaWJsZSh2YWwpIHtcbiAgICAgICAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50VmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudHJhbnNmZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5kcm9wLnVwZGF0ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmJyb2FkY2FzdCgnRHJvcCcsICdvbi11cGRhdGUtcG9wcGVyJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpbHRlcmFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWVyeSA9ICcnO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmlucHV0LmN1cnJlbnRWYWx1ZSA9ICcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy50cmFuc2Zlcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmRyb3AuZGVzdHJveSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmJyb2FkY2FzdCgnRHJvcCcsICdvbi1kZXN0cm95LXBvcHBlcicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tdmlzaWJsZS1jaGFuZ2UnLCB2YWwpO1xuICAgICAgICB9LFxuICAgICAgICB2YWx1ZTogZnVuY3Rpb24gdmFsdWUodmFsKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHZhbDtcbiAgICAgICAgICAgIGlmICghdmFsLmxlbmd0aCkgdGhpcy5zZWxlY3RlZCA9IFtdO1xuICAgICAgICB9LFxuICAgICAgICBjdXJyZW50VmFsdWU6IGZ1bmN0aW9uIGN1cnJlbnRWYWx1ZSgpIHtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2lucHV0JywgdGhpcy5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgaWYgKHRoaXMudXBkYXRpbmdWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRpbmdWYWx1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWQodHJ1ZSk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgZGVlcDogdHJ1ZSxcbiAgICAgICAgICAgIGhhbmRsZXI6IGZ1bmN0aW9uIGhhbmRsZXIoKSB7XG4gICAgICAgICAgICAgICAgdmFyIF90aGlzNyA9IHRoaXM7XG5cbiAgICAgICAgICAgICAgICB2YXIgdmFsaWREYXRhU3RyID0gKDAsIF9zdHJpbmdpZnkyLmRlZmF1bHQpKHRoaXMuZ2V0VmFsaWREYXRhKHRoaXMuZGF0YSkpO1xuICAgICAgICAgICAgICAgIGlmICh2YWxpZERhdGFTdHIgIT09IHRoaXMudmFsaWREYXRhU3RyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsaWREYXRhU3RyID0gdmFsaWREYXRhU3RyO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNMb2FkZWRDaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVTZWxlY3RlZChmYWxzZSwgdGhpcy5jaGFuZ2VPblNlbGVjdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWRDaGlsZHJlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTI3ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF90b0NvbnN1bWFibGVBcnJheTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE2KTtcblxudmFyIF90b0NvbnN1bWFibGVBcnJheTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90b0NvbnN1bWFibGVBcnJheTIpO1xuXG52YXIgX2Fzc2lnbiA9IF9fd2VicGFja19yZXF1aXJlX18oMTQpO1xuXG52YXIgX2Fzc2lnbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hc3NpZ24pO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF9jYXNpdGVtID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNTcpO1xuXG52YXIgX2Nhc2l0ZW0yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfY2FzaXRlbSk7XG5cbnZhciBfZW1pdHRlciA9IF9fd2VicGFja19yZXF1aXJlX18oNCk7XG5cbnZhciBfZW1pdHRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9lbWl0dGVyKTtcblxudmFyIF9hc3Npc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIga2V5ID0gMTtcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdDYXNwYW5lbCcsXG4gICAgbWl4aW5zOiBbX2VtaXR0ZXIyLmRlZmF1bHRdLFxuICAgIGNvbXBvbmVudHM6IHsgQ2FzaXRlbTogX2Nhc2l0ZW0yLmRlZmF1bHQgfSxcbiAgICBwcm9wczoge1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICB0eXBlOiBBcnJheSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZGlzYWJsZWQ6IEJvb2xlYW4sXG4gICAgICAgIGNoYW5nZU9uU2VsZWN0OiBCb29sZWFuLFxuICAgICAgICB0cmlnZ2VyOiBTdHJpbmcsXG4gICAgICAgIHByZWZpeENsczogU3RyaW5nXG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdG1wSXRlbToge30sXG4gICAgICAgICAgICByZXN1bHQ6IFtdLFxuICAgICAgICAgICAgc3VibGlzdDogW11cbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgd2F0Y2g6IHtcbiAgICAgICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgICAgIHRoaXMuc3VibGlzdCA9IFtdO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGhhbmRsZUNsaWNrSXRlbTogZnVuY3Rpb24gaGFuZGxlQ2xpY2tJdGVtKGl0ZW0pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRyaWdnZXIgIT09ICdjbGljaycgJiYgaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCkgcmV0dXJuO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVUcmlnZ2VySXRlbShpdGVtLCBmYWxzZSwgdHJ1ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUhvdmVySXRlbTogZnVuY3Rpb24gaGFuZGxlSG92ZXJJdGVtKGl0ZW0pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRyaWdnZXIgIT09ICdob3ZlcicgfHwgIWl0ZW0uY2hpbGRyZW4gfHwgIWl0ZW0uY2hpbGRyZW4ubGVuZ3RoKSByZXR1cm47XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVRyaWdnZXJJdGVtKGl0ZW0sIGZhbHNlLCB0cnVlKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlVHJpZ2dlckl0ZW06IGZ1bmN0aW9uIGhhbmRsZVRyaWdnZXJJdGVtKGl0ZW0pIHtcbiAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgICAgICAgIHZhciBmcm9tSW5pdCA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogdHJ1ZTtcbiAgICAgICAgICAgIHZhciBmcm9tVXNlciA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogZmFsc2U7XG5cbiAgICAgICAgICAgIGlmIChpdGVtLmRpc2FibGVkKSByZXR1cm47XG5cbiAgICAgICAgICAgIHZhciBjYXNjYWRlciA9ICgwLCBfYXNzaXN0LmZpbmRDb21wb25lbnRVcHdhcmQpKHRoaXMsICdDYXNjYWRlcicpO1xuICAgICAgICAgICAgaWYgKGl0ZW0ubG9hZGluZyAhPT0gdW5kZWZpbmVkICYmICFpdGVtLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGlmIChjYXNjYWRlciAmJiBjYXNjYWRlci5sb2FkRGF0YSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNjYWRlci5sb2FkRGF0YShpdGVtLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZyb21Vc2VyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzY2FkZXIuaXNMb2FkZWRDaGlsZHJlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVRyaWdnZXJJdGVtKGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgYmFja0l0ZW0gPSB0aGlzLmdldEJhc2VJdGVtKGl0ZW0pO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5jaGFuZ2VPblNlbGVjdCB8fCBiYWNrSXRlbS5sYWJlbCAhPT0gdGhpcy50bXBJdGVtLmxhYmVsIHx8IGJhY2tJdGVtLnZhbHVlICE9PSB0aGlzLnRtcEl0ZW0udmFsdWUgfHwgYmFja0l0ZW0ubGFiZWwgPT09IHRoaXMudG1wSXRlbS5sYWJlbCAmJiBiYWNrSXRlbS52YWx1ZSA9PT0gdGhpcy50bXBJdGVtLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50bXBJdGVtID0gYmFja0l0ZW07XG4gICAgICAgICAgICAgICAgdGhpcy5lbWl0VXBkYXRlKFtiYWNrSXRlbV0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3VibGlzdCA9IGl0ZW0uY2hpbGRyZW47XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwYXRjaCgnQ2FzY2FkZXInLCAnb24tcmVzdWx0LWNoYW5nZScsIHtcbiAgICAgICAgICAgICAgICAgICAgbGFzdFZhbHVlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlT25TZWxlY3Q6IHRoaXMuY2hhbmdlT25TZWxlY3QsXG4gICAgICAgICAgICAgICAgICAgIGZyb21Jbml0OiBmcm9tSW5pdFxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY2hhbmdlT25TZWxlY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIENhc3BhbmVsID0gKDAsIF9hc3Npc3QuZmluZENvbXBvbmVudERvd253YXJkKSh0aGlzLCAnQ2FzcGFuZWwnKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKENhc3BhbmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBDYXNwYW5lbC4kZW1pdCgnb24tY2xlYXInLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJsaXN0ID0gW107XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwYXRjaCgnQ2FzY2FkZXInLCAnb24tcmVzdWx0LWNoYW5nZScsIHtcbiAgICAgICAgICAgICAgICAgICAgbGFzdFZhbHVlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBjaGFuZ2VPblNlbGVjdDogdGhpcy5jaGFuZ2VPblNlbGVjdCxcbiAgICAgICAgICAgICAgICAgICAgZnJvbUluaXQ6IGZyb21Jbml0XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChjYXNjYWRlcikge1xuICAgICAgICAgICAgICAgIGNhc2NhZGVyLiRyZWZzLmRyb3AudXBkYXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZVJlc3VsdDogZnVuY3Rpb24gdXBkYXRlUmVzdWx0KGl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMucmVzdWx0ID0gW3RoaXMudG1wSXRlbV0uY29uY2F0KGl0ZW0pO1xuICAgICAgICAgICAgdGhpcy5lbWl0VXBkYXRlKHRoaXMucmVzdWx0KTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0QmFzZUl0ZW06IGZ1bmN0aW9uIGdldEJhc2VJdGVtKGl0ZW0pIHtcbiAgICAgICAgICAgIHZhciBiYWNrSXRlbSA9ICgwLCBfYXNzaWduMi5kZWZhdWx0KSh7fSwgaXRlbSk7XG4gICAgICAgICAgICBpZiAoYmFja0l0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgYmFja0l0ZW0uY2hpbGRyZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBiYWNrSXRlbTtcbiAgICAgICAgfSxcbiAgICAgICAgZW1pdFVwZGF0ZTogZnVuY3Rpb24gZW1pdFVwZGF0ZShyZXN1bHQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLiRwYXJlbnQuJG9wdGlvbnMubmFtZSA9PT0gJ0Nhc3BhbmVsJykge1xuICAgICAgICAgICAgICAgIHRoaXMuJHBhcmVudC51cGRhdGVSZXN1bHQocmVzdWx0KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kcGFyZW50LiRwYXJlbnQudXBkYXRlUmVzdWx0KHJlc3VsdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGdldEtleTogZnVuY3Rpb24gZ2V0S2V5KCkge1xuICAgICAgICAgICAgcmV0dXJuIGtleSsrO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgICB0aGlzLiRvbignb24tZmluZC1zZWxlY3RlZCcsIGZ1bmN0aW9uIChwYXJhbXMpIHtcbiAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcblxuICAgICAgICAgICAgdmFyIHZhbCA9IHBhcmFtcy52YWx1ZTtcbiAgICAgICAgICAgIHZhciB2YWx1ZSA9IFtdLmNvbmNhdCgoMCwgX3RvQ29uc3VtYWJsZUFycmF5My5kZWZhdWx0KSh2YWwpKTtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHRoaXMuZGF0YS5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWVbaV0gPT09IHRoaXMuZGF0YVtqXS52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVUcmlnZ2VySXRlbSh0aGlzLmRhdGFbal0sIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUuc3BsaWNlKDAsIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYnJvYWRjYXN0KCdDYXNwYW5lbCcsICdvbi1maW5kLXNlbGVjdGVkJywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0uYmluZCh0aGlzKSk7XG5cbiAgICAgICAgdGhpcy4kb24oJ29uLWNsZWFyJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGRlZXAgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IGZhbHNlO1xuICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczIpO1xuXG4gICAgICAgICAgICB0aGlzLnN1Ymxpc3QgPSBbXTtcbiAgICAgICAgICAgIHRoaXMudG1wSXRlbSA9IHt9O1xuICAgICAgICAgICAgaWYgKGRlZXApIHtcbiAgICAgICAgICAgICAgICB2YXIgQ2FzcGFuZWwgPSAoMCwgX2Fzc2lzdC5maW5kQ29tcG9uZW50RG93bndhcmQpKHRoaXMsICdDYXNwYW5lbCcpO1xuICAgICAgICAgICAgICAgIGlmIChDYXNwYW5lbCkge1xuICAgICAgICAgICAgICAgICAgICBDYXNwYW5lbC4kZW1pdCgnb24tY2xlYXInLCB0cnVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxMjggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9pY29uID0gX193ZWJwYWNrX3JlcXVpcmVfXyg4KTtcblxudmFyIF9pY29uMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2ljb24pO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ0Nhc2l0ZW0nLFxuICAgIGNvbXBvbmVudHM6IHsgSWNvbjogX2ljb24yLmRlZmF1bHQgfSxcbiAgICBwcm9wczoge1xuICAgICAgICBkYXRhOiBPYmplY3QsXG4gICAgICAgIHByZWZpeENsczogU3RyaW5nLFxuICAgICAgICB0bXBJdGVtOiBPYmplY3RcbiAgICB9LFxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGNsYXNzZXM6IGZ1bmN0aW9uIGNsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjtcblxuICAgICAgICAgICAgcmV0dXJuIFtTdHJpbmcodGhpcy5wcmVmaXhDbHMpICsgJy1tZW51LWl0ZW0nLCAoX3JlZiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBTdHJpbmcodGhpcy5wcmVmaXhDbHMpICsgJy1tZW51LWl0ZW0tYWN0aXZlJywgdGhpcy50bXBJdGVtLnZhbHVlID09PSB0aGlzLmRhdGEudmFsdWUpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBTdHJpbmcodGhpcy5wcmVmaXhDbHMpICsgJy1tZW51LWl0ZW0tZGlzYWJsZWQnLCB0aGlzLmRhdGEuZGlzYWJsZWQpLCBfcmVmKV07XG4gICAgICAgIH0sXG4gICAgICAgIHNob3dBcnJvdzogZnVuY3Rpb24gc2hvd0Fycm93KCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5jaGlsZHJlbiAmJiB0aGlzLmRhdGEuY2hpbGRyZW4ubGVuZ3RoIHx8ICdsb2FkaW5nJyBpbiB0aGlzLmRhdGEgJiYgIXRoaXMuZGF0YS5sb2FkaW5nO1xuICAgICAgICB9LFxuICAgICAgICBzaG93TG9hZGluZzogZnVuY3Rpb24gc2hvd0xvYWRpbmcoKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2xvYWRpbmcnIGluIHRoaXMuZGF0YSAmJiB0aGlzLmRhdGEubG9hZGluZztcbiAgICAgICAgfSxcbiAgICAgICAgYXJyb3dUeXBlOiBmdW5jdGlvbiBhcnJvd1R5cGUoKSB7XG4gICAgICAgICAgICB2YXIgdHlwZSA9ICdpb3MtYXJyb3ctZm9yd2FyZCc7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLiRJVklFVykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLiRJVklFVy5jYXNjYWRlci5jdXN0b21JdGVtQXJyb3cpIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZSA9ICcnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy4kSVZJRVcuY2FzY2FkZXIuaXRlbUFycm93KSB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGUgPSB0aGlzLiRJVklFVy5jYXNjYWRlci5pdGVtQXJyb3c7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG4gICAgICAgIH0sXG4gICAgICAgIGN1c3RvbUFycm93VHlwZTogZnVuY3Rpb24gY3VzdG9tQXJyb3dUeXBlKCkge1xuICAgICAgICAgICAgdmFyIHR5cGUgPSAnJztcblxuICAgICAgICAgICAgaWYgKHRoaXMuJElWSUVXKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuJElWSUVXLmNhc2NhZGVyLmN1c3RvbUl0ZW1BcnJvdykge1xuICAgICAgICAgICAgICAgICAgICB0eXBlID0gdGhpcy4kSVZJRVcuY2FzY2FkZXIuY3VzdG9tSXRlbUFycm93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgICB9LFxuICAgICAgICBhcnJvd1NpemU6IGZ1bmN0aW9uIGFycm93U2l6ZSgpIHtcbiAgICAgICAgICAgIHZhciBzaXplID0gJyc7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLiRJVklFVykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLiRJVklFVy5jYXNjYWRlci5pdGVtQXJyb3dTaXplKSB7XG4gICAgICAgICAgICAgICAgICAgIHNpemUgPSB0aGlzLiRJVklFVy5jYXNjYWRlci5pdGVtQXJyb3dTaXplO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzaXplO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxMjkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9jZWxsSXRlbSA9IF9fd2VicGFja19yZXF1aXJlX18oMzYzKTtcblxudmFyIF9jZWxsSXRlbTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jZWxsSXRlbSk7XG5cbnZhciBfaWNvbiA9IF9fd2VicGFja19yZXF1aXJlX18oOCk7XG5cbnZhciBfaWNvbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pY29uKTtcblxudmFyIF9saW5rID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1NSk7XG5cbnZhciBfbGluazIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9saW5rKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtY2VsbCc7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnQ2VsbCcsXG4gICAgaW5qZWN0OiBbJ2NlbGxHcm91cCddLFxuICAgIG1peGluczogW19saW5rMi5kZWZhdWx0XSxcbiAgICBjb21wb25lbnRzOiB7IENlbGxJdGVtOiBfY2VsbEl0ZW0yLmRlZmF1bHQsIEljb246IF9pY29uMi5kZWZhdWx0IH0sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgbmFtZToge1xuICAgICAgICAgICAgdHlwZTogW1N0cmluZywgTnVtYmVyXVxuICAgICAgICB9LFxuICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJydcbiAgICAgICAgfSxcbiAgICAgICAgbGFiZWw6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICcnXG4gICAgICAgIH0sXG4gICAgICAgIGV4dHJhOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgICB9LFxuICAgICAgICBkaXNhYmxlZDoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHNlbGVjdGVkOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByZWZpeENsczogcHJlZml4Q2xzXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGNsYXNzZXM6IGZ1bmN0aW9uIGNsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjtcblxuICAgICAgICAgICAgcmV0dXJuIFsnJyArIHByZWZpeENscywgKF9yZWYgPSB7fSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1kaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLXNlbGVjdGVkJywgdGhpcy5zZWxlY3RlZCksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctd2l0aC1saW5rJywgdGhpcy50byksIF9yZWYpXTtcbiAgICAgICAgfSxcbiAgICAgICAgYXJyb3dUeXBlOiBmdW5jdGlvbiBhcnJvd1R5cGUoKSB7XG4gICAgICAgICAgICB2YXIgdHlwZSA9ICdpb3MtYXJyb3ctZm9yd2FyZCc7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLiRJVklFVykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLiRJVklFVy5jZWxsLmN1c3RvbUFycm93KSB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGUgPSAnJztcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuJElWSUVXLmNlbGwuYXJyb3cpIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZSA9IHRoaXMuJElWSUVXLmNlbGwuYXJyb3c7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG4gICAgICAgIH0sXG4gICAgICAgIGN1c3RvbUFycm93VHlwZTogZnVuY3Rpb24gY3VzdG9tQXJyb3dUeXBlKCkge1xuICAgICAgICAgICAgdmFyIHR5cGUgPSAnJztcblxuICAgICAgICAgICAgaWYgKHRoaXMuJElWSUVXKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuJElWSUVXLmNlbGwuY3VzdG9tQXJyb3cpIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZSA9IHRoaXMuJElWSUVXLmNlbGwuY3VzdG9tQXJyb3c7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG4gICAgICAgIH0sXG4gICAgICAgIGFycm93U2l6ZTogZnVuY3Rpb24gYXJyb3dTaXplKCkge1xuICAgICAgICAgICAgdmFyIHNpemUgPSAnJztcblxuICAgICAgICAgICAgaWYgKHRoaXMuJElWSUVXKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuJElWSUVXLmNlbGwuYXJyb3dTaXplKSB7XG4gICAgICAgICAgICAgICAgICAgIHNpemUgPSB0aGlzLiRJVklFVy5jZWxsLmFycm93U2l6ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc2l6ZTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgICBoYW5kbGVDbGlja0l0ZW06IGZ1bmN0aW9uIGhhbmRsZUNsaWNrSXRlbShldmVudCwgbmV3X3dpbmRvdykge1xuICAgICAgICAgICAgdGhpcy5jZWxsR3JvdXAuaGFuZGxlQ2xpY2sodGhpcy5uYW1lKTtcblxuICAgICAgICAgICAgdGhpcy5oYW5kbGVDaGVja0NsaWNrKGV2ZW50LCBuZXdfd2luZG93KTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTMwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBwcm9wczoge1xuICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJydcbiAgICAgICAgfSxcbiAgICAgICAgbGFiZWw6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICcnXG4gICAgICAgIH0sXG4gICAgICAgIGV4dHJhOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxMzEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdDZWxsR3JvdXAnLFxuICAgIHByb3ZpZGU6IGZ1bmN0aW9uIHByb3ZpZGUoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjZWxsR3JvdXA6IHRoaXNcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgbWV0aG9kczoge1xuICAgICAgICBoYW5kbGVDbGljazogZnVuY3Rpb24gaGFuZGxlQ2xpY2sobmFtZSkge1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tY2xpY2snLCBuYW1lKTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTMyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxudmFyIF9lbWl0dGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0KTtcblxudmFyIF9lbWl0dGVyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2VtaXR0ZXIpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1jaGVja2JveCc7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnQ2hlY2tib3gnLFxuICAgIG1peGluczogW19lbWl0dGVyMi5kZWZhdWx0XSxcbiAgICBwcm9wczoge1xuICAgICAgICBkaXNhYmxlZDoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICB0eXBlOiBbU3RyaW5nLCBOdW1iZXIsIEJvb2xlYW5dLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgdHJ1ZVZhbHVlOiB7XG4gICAgICAgICAgICB0eXBlOiBbU3RyaW5nLCBOdW1iZXIsIEJvb2xlYW5dLFxuICAgICAgICAgICAgZGVmYXVsdDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBmYWxzZVZhbHVlOiB7XG4gICAgICAgICAgICB0eXBlOiBbU3RyaW5nLCBOdW1iZXIsIEJvb2xlYW5dLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgbGFiZWw6IHtcbiAgICAgICAgICAgIHR5cGU6IFtTdHJpbmcsIE51bWJlciwgQm9vbGVhbl1cbiAgICAgICAgfSxcbiAgICAgICAgaW5kZXRlcm1pbmF0ZToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWydzbWFsbCcsICdsYXJnZScsICdkZWZhdWx0J10pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAhdGhpcy4kSVZJRVcgfHwgdGhpcy4kSVZJRVcuc2l6ZSA9PT0gJycgPyAnZGVmYXVsdCcgOiB0aGlzLiRJVklFVy5zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBuYW1lOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG1vZGVsOiBbXSxcbiAgICAgICAgICAgIGN1cnJlbnRWYWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgICAgICAgIGdyb3VwOiBmYWxzZSxcbiAgICAgICAgICAgIHNob3dTbG90OiB0cnVlLFxuICAgICAgICAgICAgcGFyZW50OiAoMCwgX2Fzc2lzdC5maW5kQ29tcG9uZW50VXB3YXJkKSh0aGlzLCAnQ2hlY2tib3hHcm91cCcpLFxuICAgICAgICAgICAgZm9jdXNJbm5lcjogZmFsc2VcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgd3JhcENsYXNzZXM6IGZ1bmN0aW9uIHdyYXBDbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWY7XG5cbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy13cmFwcGVyJywgKF9yZWYgPSB7fSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1ncm91cC1pdGVtJywgdGhpcy5ncm91cCksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctd3JhcHBlci1jaGVja2VkJywgdGhpcy5jdXJyZW50VmFsdWUpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLXdyYXBwZXItZGlzYWJsZWQnLCB0aGlzLmRpc2FibGVkKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy0nICsgU3RyaW5nKHRoaXMuc2l6ZSksICEhdGhpcy5zaXplKSwgX3JlZildO1xuICAgICAgICB9LFxuICAgICAgICBjaGVja2JveENsYXNzZXM6IGZ1bmN0aW9uIGNoZWNrYm94Q2xhc3NlcygpIHtcbiAgICAgICAgICAgIHZhciBfcmVmMjtcblxuICAgICAgICAgICAgcmV0dXJuIFsnJyArIHByZWZpeENscywgKF9yZWYyID0ge30sICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYyLCBwcmVmaXhDbHMgKyAnLWNoZWNrZWQnLCB0aGlzLmN1cnJlbnRWYWx1ZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYyLCBwcmVmaXhDbHMgKyAnLWRpc2FibGVkJywgdGhpcy5kaXNhYmxlZCksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYyLCBwcmVmaXhDbHMgKyAnLWluZGV0ZXJtaW5hdGUnLCB0aGlzLmluZGV0ZXJtaW5hdGUpLCBfcmVmMildO1xuICAgICAgICB9LFxuICAgICAgICBpbm5lckNsYXNzZXM6IGZ1bmN0aW9uIGlubmVyQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy1pbm5lcicsICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKHt9LCBwcmVmaXhDbHMgKyAnLWZvY3VzJywgdGhpcy5mb2N1c0lubmVyKV07XG4gICAgICAgIH0sXG4gICAgICAgIGlucHV0Q2xhc3NlczogZnVuY3Rpb24gaW5wdXRDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIHByZWZpeENscyArICctaW5wdXQnO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgICB0aGlzLnBhcmVudCA9ICgwLCBfYXNzaXN0LmZpbmRDb21wb25lbnRVcHdhcmQpKHRoaXMsICdDaGVja2JveEdyb3VwJyk7XG4gICAgICAgIGlmICh0aGlzLnBhcmVudCkge1xuICAgICAgICAgICAgdGhpcy5ncm91cCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5ncm91cCkge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnQudXBkYXRlTW9kZWwodHJ1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU1vZGVsKCk7XG4gICAgICAgICAgICB0aGlzLnNob3dTbG90ID0gdGhpcy4kc2xvdHMuZGVmYXVsdCAhPT0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgY2hhbmdlOiBmdW5jdGlvbiBjaGFuZ2UoZXZlbnQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgY2hlY2tlZCA9IGV2ZW50LnRhcmdldC5jaGVja2VkO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBjaGVja2VkO1xuXG4gICAgICAgICAgICB2YXIgdmFsdWUgPSBjaGVja2VkID8gdGhpcy50cnVlVmFsdWUgOiB0aGlzLmZhbHNlVmFsdWU7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIHZhbHVlKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuZ3JvdXApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhcmVudC5jaGFuZ2UodGhpcy5tb2RlbCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWNoYW5nZScsIHZhbHVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoKCdGb3JtSXRlbScsICdvbi1mb3JtLWNoYW5nZScsIHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlTW9kZWw6IGZ1bmN0aW9uIHVwZGF0ZU1vZGVsKCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB0aGlzLnZhbHVlID09PSB0aGlzLnRydWVWYWx1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgb25CbHVyOiBmdW5jdGlvbiBvbkJsdXIoKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzSW5uZXIgPSBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgb25Gb2N1czogZnVuY3Rpb24gb25Gb2N1cygpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNJbm5lciA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHdhdGNoOiB7XG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZSh2YWwpIHtcbiAgICAgICAgICAgIGlmICh2YWwgPT09IHRoaXMudHJ1ZVZhbHVlIHx8IHZhbCA9PT0gdGhpcy5mYWxzZVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVNb2RlbCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aHJvdyAnVmFsdWUgc2hvdWxkIGJlIHRydWVWYWx1ZSBvciBmYWxzZVZhbHVlLic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDEzMyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jaGVja2JveF9ncm91cF92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTM0KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jaGVja2JveF9ncm91cF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NoZWNrYm94X2dyb3VwX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2hlY2tib3hfZ3JvdXBfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NoZWNrYm94X2dyb3VwX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzIxZDViNjcwX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2hlY2tib3hfZ3JvdXBfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM3MCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMjFkNWI2NzBfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jaGVja2JveF9ncm91cF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzIxZDViNjcwX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2hlY2tib3hfZ3JvdXBfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2hlY2tib3hfZ3JvdXBfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8yMWQ1YjY3MF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NoZWNrYm94X2dyb3VwX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8yMWQ1YjY3MF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NoZWNrYm94X2dyb3VwX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiAxMzQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxudmFyIF9lbWl0dGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0KTtcblxudmFyIF9lbWl0dGVyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2VtaXR0ZXIpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1jaGVja2JveC1ncm91cCc7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnQ2hlY2tib3hHcm91cCcsXG4gICAgbWl4aW5zOiBbX2VtaXR0ZXIyLmRlZmF1bHRdLFxuICAgIHByb3BzOiB7XG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICB0eXBlOiBBcnJheSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc2l6ZToge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ3NtYWxsJywgJ2xhcmdlJywgJ2RlZmF1bHQnXSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICF0aGlzLiRJVklFVyB8fCB0aGlzLiRJVklFVy5zaXplID09PSAnJyA/ICdkZWZhdWx0JyA6IHRoaXMuJElWSUVXLnNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjdXJyZW50VmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICAgICAgICBjaGlsZHJlbnM6IFtdXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGNsYXNzZXM6IGZ1bmN0aW9uIGNsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gWycnICsgcHJlZml4Q2xzLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KSh7fSwgJ2l2dS1jaGVja2JveC0nICsgU3RyaW5nKHRoaXMuc2l6ZSksICEhdGhpcy5zaXplKV07XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlTW9kZWwodHJ1ZSk7XG4gICAgfSxcblxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgdXBkYXRlTW9kZWw6IGZ1bmN0aW9uIHVwZGF0ZU1vZGVsKHVwZGF0ZSkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgdGhpcy5jaGlsZHJlbnMgPSAoMCwgX2Fzc2lzdC5maW5kQ29tcG9uZW50c0Rvd253YXJkKSh0aGlzLCAnQ2hlY2tib3gnLCAnQ2hlY2tib3hHcm91cCcpO1xuICAgICAgICAgICAgaWYgKHRoaXMuY2hpbGRyZW5zKSB7XG4gICAgICAgICAgICAgICAgdmFyIHZhbHVlID0gdGhpcy52YWx1ZTtcblxuICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW5zLmZvckVhY2goZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkLm1vZGVsID0gdmFsdWU7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHVwZGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGQuY3VycmVudFZhbHVlID0gdmFsdWUuaW5kZXhPZihjaGlsZC5sYWJlbCkgPj0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkLmdyb3VwID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNoYW5nZTogZnVuY3Rpb24gY2hhbmdlKGRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gZGF0YTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2lucHV0JywgZGF0YSk7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1jaGFuZ2UnLCBkYXRhKTtcbiAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2goJ0Zvcm1JdGVtJywgJ29uLWZvcm0tY2hhbmdlJywgZGF0YSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHdhdGNoOiB7XG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZSgpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTW9kZWwodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDEzNSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxudmFyIHByZWZpeENscyA9ICdpdnUtY2hhcnQtY2lyY2xlJztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdpQ2lyY2xlJyxcbiAgICBwcm9wczoge1xuICAgICAgICBwZXJjZW50OiB7XG4gICAgICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgICAgICBkZWZhdWx0OiAwXG4gICAgICAgIH0sXG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIGRlZmF1bHQ6IDEyMFxuICAgICAgICB9LFxuICAgICAgICBzdHJva2VXaWR0aDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgZGVmYXVsdDogNlxuICAgICAgICB9LFxuICAgICAgICBzdHJva2VDb2xvcjoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJyMyZDhjZjAnXG4gICAgICAgIH0sXG4gICAgICAgIHN0cm9rZUxpbmVjYXA6IHtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWydzcXVhcmUnLCAncm91bmQnXSk7XG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICBkZWZhdWx0OiAncm91bmQnXG4gICAgICAgIH0sXG4gICAgICAgIHRyYWlsV2lkdGg6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIGRlZmF1bHQ6IDVcbiAgICAgICAgfSxcbiAgICAgICAgdHJhaWxDb2xvcjoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJyNlYWVlZjInXG4gICAgICAgIH0sXG4gICAgICAgIGRhc2hib2FyZDoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGNpcmNsZVNpemU6IGZ1bmN0aW9uIGNpcmNsZVNpemUoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBTdHJpbmcodGhpcy5zaXplKSArICdweCcsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBTdHJpbmcodGhpcy5zaXplKSArICdweCdcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sXG4gICAgICAgIGNvbXB1dGVkU3Ryb2tlV2lkdGg6IGZ1bmN0aW9uIGNvbXB1dGVkU3Ryb2tlV2lkdGgoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wZXJjZW50ID09PSAwICYmIHRoaXMuZGFzaGJvYXJkID8gMCA6IHRoaXMuc3Ryb2tlV2lkdGg7XG4gICAgICAgIH0sXG4gICAgICAgIHJhZGl1czogZnVuY3Rpb24gcmFkaXVzKCkge1xuICAgICAgICAgICAgcmV0dXJuIDUwIC0gdGhpcy5zdHJva2VXaWR0aCAvIDI7XG4gICAgICAgIH0sXG4gICAgICAgIHBhdGhTdHJpbmc6IGZ1bmN0aW9uIHBhdGhTdHJpbmcoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5kYXNoYm9hcmQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ00gNTAsNTAgbSAwLCcgKyBTdHJpbmcodGhpcy5yYWRpdXMpICsgJ1xcbiAgICAgICAgICAgICAgICBhICcgKyBTdHJpbmcodGhpcy5yYWRpdXMpICsgJywnICsgU3RyaW5nKHRoaXMucmFkaXVzKSArICcgMCAxIDEgMCwtJyArIDIgKiB0aGlzLnJhZGl1cyArICdcXG4gICAgICAgICAgICAgICAgYSAnICsgU3RyaW5nKHRoaXMucmFkaXVzKSArICcsJyArIFN0cmluZyh0aGlzLnJhZGl1cykgKyAnIDAgMSAxIDAsJyArIDIgKiB0aGlzLnJhZGl1cztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdNIDUwLDUwIG0gMCwtJyArIFN0cmluZyh0aGlzLnJhZGl1cykgKyAnXFxuICAgICAgICAgICAgICAgIGEgJyArIFN0cmluZyh0aGlzLnJhZGl1cykgKyAnLCcgKyBTdHJpbmcodGhpcy5yYWRpdXMpICsgJyAwIDEgMSAwLCcgKyAyICogdGhpcy5yYWRpdXMgKyAnXFxuICAgICAgICAgICAgICAgIGEgJyArIFN0cmluZyh0aGlzLnJhZGl1cykgKyAnLCcgKyBTdHJpbmcodGhpcy5yYWRpdXMpICsgJyAwIDEgMSAwLC0nICsgMiAqIHRoaXMucmFkaXVzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBsZW46IGZ1bmN0aW9uIGxlbigpIHtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLlBJICogMiAqIHRoaXMucmFkaXVzO1xuICAgICAgICB9LFxuICAgICAgICB0cmFpbFN0eWxlOiBmdW5jdGlvbiB0cmFpbFN0eWxlKCkge1xuICAgICAgICAgICAgdmFyIHN0eWxlID0ge307XG4gICAgICAgICAgICBpZiAodGhpcy5kYXNoYm9hcmQpIHtcbiAgICAgICAgICAgICAgICBzdHlsZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgJ3N0cm9rZS1kYXNoYXJyYXknOiB0aGlzLmxlbiAtIDc1ICsgJ3B4ICcgKyBTdHJpbmcodGhpcy5sZW4pICsgJ3B4JyxcbiAgICAgICAgICAgICAgICAgICAgJ3N0cm9rZS1kYXNob2Zmc2V0JzogJy0nICsgNzUgLyAyICsgJ3B4JyxcbiAgICAgICAgICAgICAgICAgICAgJ3RyYW5zaXRpb24nOiAnc3Ryb2tlLWRhc2hvZmZzZXQgLjNzIGVhc2UgMHMsIHN0cm9rZS1kYXNoYXJyYXkgLjNzIGVhc2UgMHMsIHN0cm9rZSAuM3MnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzdHlsZTtcbiAgICAgICAgfSxcbiAgICAgICAgcGF0aFN0eWxlOiBmdW5jdGlvbiBwYXRoU3R5bGUoKSB7XG4gICAgICAgICAgICB2YXIgc3R5bGUgPSB7fTtcbiAgICAgICAgICAgIGlmICh0aGlzLmRhc2hib2FyZCkge1xuICAgICAgICAgICAgICAgIHN0eWxlID0ge1xuICAgICAgICAgICAgICAgICAgICAnc3Ryb2tlLWRhc2hhcnJheSc6IHRoaXMucGVyY2VudCAvIDEwMCAqICh0aGlzLmxlbiAtIDc1KSArICdweCAnICsgU3RyaW5nKHRoaXMubGVuKSArICdweCcsXG4gICAgICAgICAgICAgICAgICAgICdzdHJva2UtZGFzaG9mZnNldCc6ICctJyArIDc1IC8gMiArICdweCcsXG4gICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ3N0cm9rZS1kYXNob2Zmc2V0IC4zcyBlYXNlIDBzLCBzdHJva2UtZGFzaGFycmF5IC42cyBlYXNlIDBzLCBzdHJva2UgLjZzLCBzdHJva2Utd2lkdGggLjA2cyBlYXNlIC42cydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzdHlsZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgJ3N0cm9rZS1kYXNoYXJyYXknOiBTdHJpbmcodGhpcy5sZW4pICsgJ3B4ICcgKyBTdHJpbmcodGhpcy5sZW4pICsgJ3B4JyxcbiAgICAgICAgICAgICAgICAgICAgJ3N0cm9rZS1kYXNob2Zmc2V0JzogKDEwMCAtIHRoaXMucGVyY2VudCkgLyAxMDAgKiB0aGlzLmxlbiArICdweCcsXG4gICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ3N0cm9rZS1kYXNob2Zmc2V0IDAuNnMgZWFzZSAwcywgc3Ryb2tlIDAuNnMgZWFzZSdcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgICAgICB9LFxuICAgICAgICB3cmFwQ2xhc3NlczogZnVuY3Rpb24gd3JhcENsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gJycgKyBwcmVmaXhDbHM7XG4gICAgICAgIH0sXG4gICAgICAgIGlubmVyQ2xhc3NlczogZnVuY3Rpb24gaW5uZXJDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIHByZWZpeENscyArICctaW5uZXInO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxMzYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhDbHMgPSAnaXZ1LWNvbGxhcHNlJztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdDb2xsYXBzZScsXG4gICAgcHJvcHM6IHtcbiAgICAgICAgYWNjb3JkaW9uOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgIHR5cGU6IFtBcnJheSwgU3RyaW5nXVxuICAgICAgICB9LFxuICAgICAgICBzaW1wbGU6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY3VycmVudFZhbHVlOiB0aGlzLnZhbHVlXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGNsYXNzZXM6IGZ1bmN0aW9uIGNsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gWycnICsgcHJlZml4Q2xzLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KSh7fSwgcHJlZml4Q2xzICsgJy1zaW1wbGUnLCB0aGlzLnNpbXBsZSldO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgICB0aGlzLnNldEFjdGl2ZSgpO1xuICAgIH0sXG5cbiAgICBtZXRob2RzOiB7XG4gICAgICAgIHNldEFjdGl2ZTogZnVuY3Rpb24gc2V0QWN0aXZlKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIGFjdGl2ZUtleSA9IHRoaXMuZ2V0QWN0aXZlS2V5KCk7XG5cbiAgICAgICAgICAgIHRoaXMuJGNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24gKGNoaWxkLCBpbmRleCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgdmFyIG5hbWUgPSBjaGlsZC5uYW1lIHx8IGluZGV4LnRvU3RyaW5nKCk7XG5cbiAgICAgICAgICAgICAgICBjaGlsZC5pc0FjdGl2ZSA9IGFjdGl2ZUtleS5pbmRleE9mKG5hbWUpID4gLTE7XG4gICAgICAgICAgICAgICAgY2hpbGQuaW5kZXggPSBpbmRleDtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgIH0sXG4gICAgICAgIGdldEFjdGl2ZUtleTogZnVuY3Rpb24gZ2V0QWN0aXZlS2V5KCkge1xuICAgICAgICAgICAgdmFyIGFjdGl2ZUtleSA9IHRoaXMuY3VycmVudFZhbHVlIHx8IFtdO1xuICAgICAgICAgICAgdmFyIGFjY29yZGlvbiA9IHRoaXMuYWNjb3JkaW9uO1xuXG4gICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYWN0aXZlS2V5KSkge1xuICAgICAgICAgICAgICAgIGFjdGl2ZUtleSA9IFthY3RpdmVLZXldO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoYWNjb3JkaW9uICYmIGFjdGl2ZUtleS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgYWN0aXZlS2V5ID0gW2FjdGl2ZUtleVswXV07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYWN0aXZlS2V5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgYWN0aXZlS2V5W2ldID0gYWN0aXZlS2V5W2ldLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBhY3RpdmVLZXk7XG4gICAgICAgIH0sXG4gICAgICAgIHRvZ2dsZTogZnVuY3Rpb24gdG9nZ2xlKGRhdGEpIHtcbiAgICAgICAgICAgIHZhciBuYW1lID0gZGF0YS5uYW1lLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB2YXIgbmV3QWN0aXZlS2V5ID0gW107XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmFjY29yZGlvbikge1xuICAgICAgICAgICAgICAgIGlmICghZGF0YS5pc0FjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICBuZXdBY3RpdmVLZXkucHVzaChuYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhciBhY3RpdmVLZXkgPSB0aGlzLmdldEFjdGl2ZUtleSgpO1xuICAgICAgICAgICAgICAgIHZhciBuYW1lSW5kZXggPSBhY3RpdmVLZXkuaW5kZXhPZihuYW1lKTtcblxuICAgICAgICAgICAgICAgIGlmIChkYXRhLmlzQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChuYW1lSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlS2V5LnNwbGljZShuYW1lSW5kZXgsIDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5hbWVJbmRleCA8IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUtleS5wdXNoKG5hbWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbmV3QWN0aXZlS2V5ID0gYWN0aXZlS2V5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IG5ld0FjdGl2ZUtleTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2lucHV0JywgbmV3QWN0aXZlS2V5KTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWNoYW5nZScsIG5ld0FjdGl2ZUtleSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHdhdGNoOiB7XG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZSh2YWwpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gdmFsO1xuICAgICAgICB9LFxuICAgICAgICBjdXJyZW50VmFsdWU6IGZ1bmN0aW9uIGN1cnJlbnRWYWx1ZSgpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0QWN0aXZlKCk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDEzNyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG52YXIgX2ljb24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDgpO1xuXG52YXIgX2ljb24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaWNvbik7XG5cbnZhciBfY29sbGFwc2VUcmFuc2l0aW9uID0gX193ZWJwYWNrX3JlcXVpcmVfXyg3NSk7XG5cbnZhciBfY29sbGFwc2VUcmFuc2l0aW9uMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2NvbGxhcHNlVHJhbnNpdGlvbik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhDbHMgPSAnaXZ1LWNvbGxhcHNlJztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdQYW5lbCcsXG4gICAgY29tcG9uZW50czogeyBJY29uOiBfaWNvbjIuZGVmYXVsdCwgQ29sbGFwc2VUcmFuc2l0aW9uOiBfY29sbGFwc2VUcmFuc2l0aW9uMi5kZWZhdWx0IH0sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgbmFtZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nXG4gICAgICAgIH0sXG4gICAgICAgIGhpZGVBcnJvdzoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpbmRleDogMCxcbiAgICAgICAgICAgIGlzQWN0aXZlOiBmYWxzZSxcbiAgICAgICAgICAgIG1vdW50ZWQ6IGZhbHNlXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGl0ZW1DbGFzc2VzOiBmdW5jdGlvbiBpdGVtQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy1pdGVtJywgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sIHByZWZpeENscyArICctaXRlbS1hY3RpdmUnLCB0aGlzLmlzQWN0aXZlKV07XG4gICAgICAgIH0sXG4gICAgICAgIGhlYWRlckNsYXNzZXM6IGZ1bmN0aW9uIGhlYWRlckNsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJlZml4Q2xzICsgJy1oZWFkZXInO1xuICAgICAgICB9LFxuICAgICAgICBjb250ZW50Q2xhc3NlczogZnVuY3Rpb24gY29udGVudENsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJlZml4Q2xzICsgJy1jb250ZW50JztcbiAgICAgICAgfSxcbiAgICAgICAgYm94Q2xhc3NlczogZnVuY3Rpb24gYm94Q2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBwcmVmaXhDbHMgKyAnLWNvbnRlbnQtYm94JztcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgICB0b2dnbGU6IGZ1bmN0aW9uIHRvZ2dsZSgpIHtcbiAgICAgICAgICAgIHRoaXMuJHBhcmVudC50b2dnbGUoe1xuICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSB8fCB0aGlzLmluZGV4LFxuICAgICAgICAgICAgICAgIGlzQWN0aXZlOiB0aGlzLmlzQWN0aXZlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHtcbiAgICAgICAgdGhpcy5tb3VudGVkID0gdHJ1ZTtcbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDEzOCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG52YXIgX3Rpbnljb2xvciA9IF9fd2VicGFja19yZXF1aXJlX18oMTM5KTtcblxudmFyIF90aW55Y29sb3IyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdGlueWNvbG9yKTtcblxudmFyIF92Q2xpY2tPdXRzaWRlWCA9IF9fd2VicGFja19yZXF1aXJlX18oMzUpO1xuXG52YXIgX3RyYW5zZmVyRG9tID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMSk7XG5cbnZhciBfdHJhbnNmZXJEb20yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdHJhbnNmZXJEb20pO1xuXG52YXIgX2Ryb3Bkb3duID0gX193ZWJwYWNrX3JlcXVpcmVfXygzMyk7XG5cbnZhciBfZHJvcGRvd24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZHJvcGRvd24pO1xuXG52YXIgX3JlY29tbWVuZENvbG9ycyA9IF9fd2VicGFja19yZXF1aXJlX18oMzgxKTtcblxudmFyIF9yZWNvbW1lbmRDb2xvcnMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcmVjb21tZW5kQ29sb3JzKTtcblxudmFyIF9zYXR1cmF0aW9uID0gX193ZWJwYWNrX3JlcXVpcmVfXygzODMpO1xuXG52YXIgX3NhdHVyYXRpb24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc2F0dXJhdGlvbik7XG5cbnZhciBfaHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXygzODUpO1xuXG52YXIgX2h1ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9odWUpO1xuXG52YXIgX2FscGhhID0gX193ZWJwYWNrX3JlcXVpcmVfXygzODcpO1xuXG52YXIgX2FscGhhMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2FscGhhKTtcblxudmFyIF9pbnB1dCA9IF9fd2VicGFja19yZXF1aXJlX18oMzcpO1xuXG52YXIgX2lucHV0MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2lucHV0KTtcblxudmFyIF9idXR0b24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI0KTtcblxudmFyIF9idXR0b24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfYnV0dG9uKTtcblxudmFyIF9pY29uID0gX193ZWJwYWNrX3JlcXVpcmVfXyg4KTtcblxudmFyIF9pY29uMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2ljb24pO1xuXG52YXIgX2xvY2FsZSA9IF9fd2VicGFja19yZXF1aXJlX18oNSk7XG5cbnZhciBfbG9jYWxlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2xvY2FsZSk7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxudmFyIF9lbWl0dGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0KTtcblxudmFyIF9lbWl0dGVyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2VtaXR0ZXIpO1xuXG52YXIgX3ByZWZpeE1peGluID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0Nyk7XG5cbnZhciBfcHJlZml4TWl4aW4yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcHJlZml4TWl4aW4pO1xuXG52YXIgX3V0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygzOCk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnQ29sb3JQaWNrZXInLFxuXG4gICAgY29tcG9uZW50czogeyBEcm9wOiBfZHJvcGRvd24yLmRlZmF1bHQsIFJlY29tbWVuZENvbG9yczogX3JlY29tbWVuZENvbG9yczIuZGVmYXVsdCwgU2F0dXJhdGlvbjogX3NhdHVyYXRpb24yLmRlZmF1bHQsIEh1ZTogX2h1ZTIuZGVmYXVsdCwgQWxwaGE6IF9hbHBoYTIuZGVmYXVsdCwgaUlucHV0OiBfaW5wdXQyLmRlZmF1bHQsIGlCdXR0b246IF9idXR0b24yLmRlZmF1bHQsIEljb246IF9pY29uMi5kZWZhdWx0IH0sXG5cbiAgICBkaXJlY3RpdmVzOiB7IGNsaWNrT3V0c2lkZTogX3ZDbGlja091dHNpZGVYLmRpcmVjdGl2ZSwgVHJhbnNmZXJEb206IF90cmFuc2ZlckRvbTIuZGVmYXVsdCB9LFxuXG4gICAgbWl4aW5zOiBbX2VtaXR0ZXIyLmRlZmF1bHQsIF9sb2NhbGUyLmRlZmF1bHQsIF9wcmVmaXhNaXhpbjIuZGVmYXVsdF0sXG5cbiAgICBwcm9wczoge1xuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogdW5kZWZpbmVkXG4gICAgICAgIH0sXG4gICAgICAgIGh1ZToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgYWxwaGE6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICByZWNvbW1lbmQ6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBmb3JtYXQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWydoc2wnLCAnaHN2JywgJ2hleCcsICdyZ2InXSk7XG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICBkZWZhdWx0OiB1bmRlZmluZWRcbiAgICAgICAgfSxcbiAgICAgICAgY29sb3JzOiB7XG4gICAgICAgICAgICB0eXBlOiBBcnJheSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZGlzYWJsZWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBzaXplOiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnc21hbGwnLCAnbGFyZ2UnLCAnZGVmYXVsdCddKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIXRoaXMuJElWSUVXIHx8IHRoaXMuJElWSUVXLnNpemUgPT09ICcnID8gJ2RlZmF1bHQnIDogdGhpcy4kSVZJRVcuc2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgaGlkZURyb3BEb3duOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgcGxhY2VtZW50OiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsndG9wJywgJ3RvcC1zdGFydCcsICd0b3AtZW5kJywgJ2JvdHRvbScsICdib3R0b20tc3RhcnQnLCAnYm90dG9tLWVuZCcsICdsZWZ0JywgJ2xlZnQtc3RhcnQnLCAnbGVmdC1lbmQnLCAncmlnaHQnLCAncmlnaHQtc3RhcnQnLCAncmlnaHQtZW5kJ10pO1xuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgZGVmYXVsdDogJ2JvdHRvbSdcbiAgICAgICAgfSxcbiAgICAgICAgdHJhbnNmZXI6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIXRoaXMuJElWSUVXIHx8IHRoaXMuJElWSUVXLnRyYW5zZmVyID09PSAnJyA/IGZhbHNlIDogdGhpcy4kSVZJRVcudHJhbnNmZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG5hbWU6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IHVuZGVmaW5lZFxuICAgICAgICB9LFxuICAgICAgICBlZGl0YWJsZToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IHRydWVcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdmFsOiAoMCwgX3V0aWxzLmNoYW5nZUNvbG9yKSh0aGlzLnZhbHVlKSxcbiAgICAgICAgICAgIGN1cnJlbnRWYWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgICAgICAgIGRyYWdnaW5nOiBmYWxzZSxcbiAgICAgICAgICAgIHZpc2libGU6IGZhbHNlLFxuICAgICAgICAgICAgcmVjb21tZW5kZWRDb2xvcjogWycjMmQ4Y2YwJywgJyMxOWJlNmInLCAnI2ZmOTkwMCcsICcjZWQ0MDE0JywgJyMwMGI1ZmYnLCAnIzE5YzkxOScsICcjZjllMzFjJywgJyNlYTFhMWEnLCAnIzliMWRlYScsICcjMDBjMmIxJywgJyNhYzdhMzMnLCAnIzFkMzVlYScsICcjOGJjMzRhJywgJyNmMTZiNjInLCAnI2VhNGNhMycsICcjMGQ5NGFhJywgJyNmZWJkNzknLCAnIzVkNDAzNycsICcjMDBiY2Q0JywgJyNmMDYyOTInLCAnI2NkZGMzOScsICcjNjA3ZDhiJywgJyMwMDAwMDAnLCAnI2ZmZmZmZiddXG4gICAgICAgIH07XG4gICAgfSxcblxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgYXJyb3dDbGFzc2VzOiBmdW5jdGlvbiBhcnJvd0NsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gW1N0cmluZyh0aGlzLmlucHV0UHJlZml4Q2xzKSArICctaWNvbicsIFN0cmluZyh0aGlzLmlucHV0UHJlZml4Q2xzKSArICctaWNvbi1ub3JtYWwnXTtcbiAgICAgICAgfSxcbiAgICAgICAgdHJhbnNpdGlvbjogZnVuY3Rpb24gdHJhbnNpdGlvbigpIHtcbiAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodGhpcy5wbGFjZW1lbnQsIFsnYm90dG9tLXN0YXJ0JywgJ2JvdHRvbScsICdib3R0b20tZW5kJ10pID8gJ3NsaWRlLXVwJyA6ICdmYWRlJztcbiAgICAgICAgfSxcblxuICAgICAgICBzYXR1cmF0aW9uQ29sb3JzOiB7XG4gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy52YWw7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiBzZXQobmV3VmFsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWwgPSBuZXdWYWw7XG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tYWN0aXZlLWNoYW5nZScsIHRoaXMuZm9ybWF0Q29sb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFsnJyArIFN0cmluZyh0aGlzLnByZWZpeENscyksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKHt9LCBTdHJpbmcodGhpcy5wcmVmaXhDbHMpICsgJy10cmFuc2ZlcicsIHRoaXMudHJhbnNmZXIpXTtcbiAgICAgICAgfSxcbiAgICAgICAgd3JhcENsYXNzZXM6IGZ1bmN0aW9uIHdyYXBDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFtTdHJpbmcodGhpcy5wcmVmaXhDbHMpICsgJy1yZWwnLCBTdHJpbmcodGhpcy5wcmVmaXhDbHMpICsgJy0nICsgU3RyaW5nKHRoaXMuc2l6ZSksIFN0cmluZyh0aGlzLmlucHV0UHJlZml4Q2xzKSArICctd3JhcHBlcicsIFN0cmluZyh0aGlzLmlucHV0UHJlZml4Q2xzKSArICctd3JhcHBlci0nICsgU3RyaW5nKHRoaXMuc2l6ZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKHt9LCBTdHJpbmcodGhpcy5wcmVmaXhDbHMpICsgJy1kaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQpXTtcbiAgICAgICAgfSxcbiAgICAgICAgaW5wdXRDbGFzc2VzOiBmdW5jdGlvbiBpbnB1dENsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjM7XG5cbiAgICAgICAgICAgIHJldHVybiBbU3RyaW5nKHRoaXMucHJlZml4Q2xzKSArICctaW5wdXQnLCAnJyArIFN0cmluZyh0aGlzLmlucHV0UHJlZml4Q2xzKSwgU3RyaW5nKHRoaXMuaW5wdXRQcmVmaXhDbHMpICsgJy0nICsgU3RyaW5nKHRoaXMuc2l6ZSksIChfcmVmMyA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmMywgU3RyaW5nKHRoaXMucHJlZml4Q2xzKSArICctZm9jdXNlZCcsIHRoaXMudmlzaWJsZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYzLCBTdHJpbmcodGhpcy5wcmVmaXhDbHMpICsgJy1kaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQpLCBfcmVmMyldO1xuICAgICAgICB9LFxuICAgICAgICBkcm9wQ2xhc3NlczogZnVuY3Rpb24gZHJvcENsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjQ7XG5cbiAgICAgICAgICAgIHJldHVybiBbU3RyaW5nKHRoaXMudHJhbnNmZXJQcmVmaXhDbHMpICsgJy1uby1tYXgtaGVpZ2h0JywgKF9yZWY0ID0ge30sICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWY0LCBTdHJpbmcodGhpcy5wcmVmaXhDbHMpICsgJy10cmFuc2ZlcicsIHRoaXMudHJhbnNmZXIpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmNCwgU3RyaW5nKHRoaXMucHJlZml4Q2xzKSArICctaGlkZS1kcm9wJywgdGhpcy5oaWRlRHJvcERvd24pLCBfcmVmNCldO1xuICAgICAgICB9LFxuICAgICAgICBkaXNwbGF5ZWRDb2xvclN0eWxlOiBmdW5jdGlvbiBkaXNwbGF5ZWRDb2xvclN0eWxlKCkge1xuICAgICAgICAgICAgcmV0dXJuIHsgYmFja2dyb3VuZENvbG9yOiAoMCwgX3V0aWxzLnRvUkdCQVN0cmluZykodGhpcy52aXNpYmxlID8gdGhpcy5zYXR1cmF0aW9uQ29sb3JzLnJnYmEgOiAoMCwgX3Rpbnljb2xvcjIuZGVmYXVsdCkodGhpcy52YWx1ZSkudG9SZ2IoKSkgfTtcbiAgICAgICAgfSxcbiAgICAgICAgZm9ybWF0Q29sb3I6IGZ1bmN0aW9uIGZvcm1hdENvbG9yKCkge1xuICAgICAgICAgICAgdmFyIGZvcm1hdCA9IHRoaXMuZm9ybWF0LFxuICAgICAgICAgICAgICAgIHNhdHVyYXRpb25Db2xvcnMgPSB0aGlzLnNhdHVyYXRpb25Db2xvcnM7XG5cblxuICAgICAgICAgICAgaWYgKGZvcm1hdCkge1xuICAgICAgICAgICAgICAgIGlmIChmb3JtYXQgPT09ICdoc2wnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX3Rpbnljb2xvcjIuZGVmYXVsdCkoc2F0dXJhdGlvbkNvbG9ycy5oc2wpLnRvSHNsU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGZvcm1hdCA9PT0gJ2hzdicpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfdGlueWNvbG9yMi5kZWZhdWx0KShzYXR1cmF0aW9uQ29sb3JzLmhzdikudG9Ic3ZTdHJpbmcoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoZm9ybWF0ID09PSAnaGV4Jykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2F0dXJhdGlvbkNvbG9ycy5oZXg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGZvcm1hdCA9PT0gJ3JnYicpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfdXRpbHMudG9SR0JBU3RyaW5nKShzYXR1cmF0aW9uQ29sb3JzLnJnYmEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5hbHBoYSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX3V0aWxzLnRvUkdCQVN0cmluZykoc2F0dXJhdGlvbkNvbG9ycy5yZ2JhKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHNhdHVyYXRpb25Db2xvcnMuaGV4O1xuICAgICAgICB9LFxuICAgICAgICBjb25maXJtQ29sb3JDbGFzc2VzOiBmdW5jdGlvbiBjb25maXJtQ29sb3JDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFtTdHJpbmcodGhpcy5wcmVmaXhDbHMpICsgJy1jb25maXJtLWNvbG9yJywgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sIFN0cmluZyh0aGlzLnByZWZpeENscykgKyAnLWNvbmZpcm0tY29sb3ItZWRpdGFibGUnLCB0aGlzLmVkaXRhYmxlKV07XG4gICAgICAgIH0sXG4gICAgICAgIGFycm93VHlwZTogZnVuY3Rpb24gYXJyb3dUeXBlKCkge1xuICAgICAgICAgICAgdmFyIHR5cGUgPSAnaW9zLWFycm93LWRvd24nO1xuXG4gICAgICAgICAgICBpZiAodGhpcy4kSVZJRVcpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy4kSVZJRVcuY29sb3JQaWNrZXIuY3VzdG9tQXJyb3cpIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZSA9ICcnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy4kSVZJRVcuY29sb3JQaWNrZXIuYXJyb3cpIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZSA9IHRoaXMuJElWSUVXLmNvbG9yUGlja2VyLmFycm93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgICB9LFxuICAgICAgICBjdXN0b21BcnJvd1R5cGU6IGZ1bmN0aW9uIGN1c3RvbUFycm93VHlwZSgpIHtcbiAgICAgICAgICAgIHZhciB0eXBlID0gJyc7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLiRJVklFVykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLiRJVklFVy5jb2xvclBpY2tlci5jdXN0b21BcnJvdykge1xuICAgICAgICAgICAgICAgICAgICB0eXBlID0gdGhpcy4kSVZJRVcuY29sb3JQaWNrZXIuY3VzdG9tQXJyb3c7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG4gICAgICAgIH0sXG4gICAgICAgIGFycm93U2l6ZTogZnVuY3Rpb24gYXJyb3dTaXplKCkge1xuICAgICAgICAgICAgdmFyIHNpemUgPSAnJztcblxuICAgICAgICAgICAgaWYgKHRoaXMuJElWSUVXKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuJElWSUVXLmNvbG9yUGlja2VyLmFycm93U2l6ZSkge1xuICAgICAgICAgICAgICAgICAgICBzaXplID0gdGhpcy4kSVZJRVcuY29sb3JQaWNrZXIuYXJyb3dTaXplO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzaXplO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIHdhdGNoOiB7XG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZShuZXdWYWwpIHtcbiAgICAgICAgICAgIHRoaXMudmFsID0gKDAsIF91dGlscy5jaGFuZ2VDb2xvcikobmV3VmFsKTtcbiAgICAgICAgfSxcbiAgICAgICAgdmlzaWJsZTogZnVuY3Rpb24gdmlzaWJsZSh2YWwpIHtcbiAgICAgICAgICAgIHRoaXMudmFsID0gKDAsIF91dGlscy5jaGFuZ2VDb2xvcikodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLiRyZWZzLmRyb3BbdmFsID8gJ3VwZGF0ZScgOiAnZGVzdHJveSddKCk7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1vcGVuLWNoYW5nZScsIEJvb2xlYW4odmFsKSk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHtcbiAgICAgICAgdGhpcy4kb24oJ29uLWVzY2FwZS1rZXlkb3duJywgdGhpcy5jbG9zZXIpO1xuICAgICAgICB0aGlzLiRvbignb24tZHJhZ2dpbmcnLCB0aGlzLnNldERyYWdnaW5nKTtcbiAgICB9LFxuXG5cbiAgICBtZXRob2RzOiB7XG4gICAgICAgIHNldERyYWdnaW5nOiBmdW5jdGlvbiBzZXREcmFnZ2luZyh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5kcmFnZ2luZyA9IHZhbHVlO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVDbG9zZTogZnVuY3Rpb24gaGFuZGxlQ2xvc2UoZXZlbnQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnZpc2libGUpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kcmFnZ2luZyB8fCBldmVudC50eXBlID09PSAnbW91c2Vkb3duJykge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudHJhbnNmZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyICRlbCA9IHRoaXMuJHJlZnMuZHJvcC4kZWw7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCRlbCA9PT0gZXZlbnQudGFyZ2V0IHx8ICRlbC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlcihldmVudCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgdG9nZ2xlVmlzaWJsZTogZnVuY3Rpb24gdG9nZ2xlVmlzaWJsZSgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnZpc2libGUgPSAhdGhpcy52aXNpYmxlO1xuICAgICAgICAgICAgdGhpcy4kcmVmcy5pbnB1dC5mb2N1cygpO1xuICAgICAgICB9LFxuICAgICAgICBjaGlsZENoYW5nZTogZnVuY3Rpb24gY2hpbGRDaGFuZ2UoZGF0YSkge1xuICAgICAgICAgICAgdGhpcy5jb2xvckNoYW5nZShkYXRhKTtcbiAgICAgICAgfSxcbiAgICAgICAgY29sb3JDaGFuZ2U6IGZ1bmN0aW9uIGNvbG9yQ2hhbmdlKGRhdGEsIG9sZEh1ZSkge1xuICAgICAgICAgICAgdGhpcy5vbGRIdWUgPSB0aGlzLnNhdHVyYXRpb25Db2xvcnMuaHNsLmg7XG4gICAgICAgICAgICB0aGlzLnNhdHVyYXRpb25Db2xvcnMgPSAoMCwgX3V0aWxzLmNoYW5nZUNvbG9yKShkYXRhLCBvbGRIdWUgfHwgdGhpcy5vbGRIdWUpO1xuICAgICAgICB9LFxuICAgICAgICBjbG9zZXI6IGZ1bmN0aW9uIGNsb3NlcihldmVudCkge1xuICAgICAgICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLiRyZWZzLmlucHV0LmZvY3VzKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUJ1dHRvbnM6IGZ1bmN0aW9uIGhhbmRsZUJ1dHRvbnMoZXZlbnQsIHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnaW5wdXQnLCB2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1jaGFuZ2UnLCB2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLmRpc3BhdGNoKCdGb3JtSXRlbScsICdvbi1mb3JtLWNoYW5nZScsIHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VyKGV2ZW50KTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlU3VjY2VzczogZnVuY3Rpb24gaGFuZGxlU3VjY2VzcyhldmVudCkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVCdXR0b25zKGV2ZW50LCB0aGlzLmZvcm1hdENvbG9yKTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLXBpY2stc3VjY2VzcycpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVDbGVhcjogZnVuY3Rpb24gaGFuZGxlQ2xlYXIoZXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQnV0dG9ucyhldmVudCwgJycpO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tcGljay1jbGVhcicpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVTZWxlY3RDb2xvcjogZnVuY3Rpb24gaGFuZGxlU2VsZWN0Q29sb3IoY29sb3IpIHtcbiAgICAgICAgICAgIHRoaXMudmFsID0gKDAsIF91dGlscy5jaGFuZ2VDb2xvcikoY29sb3IpO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tYWN0aXZlLWNoYW5nZScsIHRoaXMuZm9ybWF0Q29sb3IpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVFZGl0Q29sb3I6IGZ1bmN0aW9uIGhhbmRsZUVkaXRDb2xvcihldmVudCkge1xuICAgICAgICAgICAgdmFyIHZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTZWxlY3RDb2xvcih2YWx1ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUZpcnN0VGFiOiBmdW5jdGlvbiBoYW5kbGVGaXJzdFRhYihldmVudCkge1xuICAgICAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLm9rLiRlbC5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVMYXN0VGFiOiBmdW5jdGlvbiBoYW5kbGVMYXN0VGFiKGV2ZW50KSB7XG4gICAgICAgICAgICBpZiAoIWV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLnNhdHVyYXRpb24uJGVsLmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG9uVGFiOiBmdW5jdGlvbiBvblRhYihldmVudCkge1xuICAgICAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG9uRXNjYXBlOiBmdW5jdGlvbiBvbkVzY2FwZShldmVudCkge1xuICAgICAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VyKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb25BcnJvdzogZnVuY3Rpb24gb25BcnJvdyhldmVudCkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDEzOSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG52YXIgX19XRUJQQUNLX0FNRF9ERUZJTkVfUkVTVUxUX187Ly8gVGlueUNvbG9yIHYxLjQuMVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2Jncmlucy9UaW55Q29sb3Jcbi8vIEJyaWFuIEdyaW5zdGVhZCwgTUlUIExpY2Vuc2VcblxuKGZ1bmN0aW9uKE1hdGgpIHtcblxudmFyIHRyaW1MZWZ0ID0gL15cXHMrLyxcbiAgICB0cmltUmlnaHQgPSAvXFxzKyQvLFxuICAgIHRpbnlDb3VudGVyID0gMCxcbiAgICBtYXRoUm91bmQgPSBNYXRoLnJvdW5kLFxuICAgIG1hdGhNaW4gPSBNYXRoLm1pbixcbiAgICBtYXRoTWF4ID0gTWF0aC5tYXgsXG4gICAgbWF0aFJhbmRvbSA9IE1hdGgucmFuZG9tO1xuXG5mdW5jdGlvbiB0aW55Y29sb3IgKGNvbG9yLCBvcHRzKSB7XG5cbiAgICBjb2xvciA9IChjb2xvcikgPyBjb2xvciA6ICcnO1xuICAgIG9wdHMgPSBvcHRzIHx8IHsgfTtcblxuICAgIC8vIElmIGlucHV0IGlzIGFscmVhZHkgYSB0aW55Y29sb3IsIHJldHVybiBpdHNlbGZcbiAgICBpZiAoY29sb3IgaW5zdGFuY2VvZiB0aW55Y29sb3IpIHtcbiAgICAgICByZXR1cm4gY29sb3I7XG4gICAgfVxuICAgIC8vIElmIHdlIGFyZSBjYWxsZWQgYXMgYSBmdW5jdGlvbiwgY2FsbCB1c2luZyBuZXcgaW5zdGVhZFxuICAgIGlmICghKHRoaXMgaW5zdGFuY2VvZiB0aW55Y29sb3IpKSB7XG4gICAgICAgIHJldHVybiBuZXcgdGlueWNvbG9yKGNvbG9yLCBvcHRzKTtcbiAgICB9XG5cbiAgICB2YXIgcmdiID0gaW5wdXRUb1JHQihjb2xvcik7XG4gICAgdGhpcy5fb3JpZ2luYWxJbnB1dCA9IGNvbG9yLFxuICAgIHRoaXMuX3IgPSByZ2IucixcbiAgICB0aGlzLl9nID0gcmdiLmcsXG4gICAgdGhpcy5fYiA9IHJnYi5iLFxuICAgIHRoaXMuX2EgPSByZ2IuYSxcbiAgICB0aGlzLl9yb3VuZEEgPSBtYXRoUm91bmQoMTAwKnRoaXMuX2EpIC8gMTAwLFxuICAgIHRoaXMuX2Zvcm1hdCA9IG9wdHMuZm9ybWF0IHx8IHJnYi5mb3JtYXQ7XG4gICAgdGhpcy5fZ3JhZGllbnRUeXBlID0gb3B0cy5ncmFkaWVudFR5cGU7XG5cbiAgICAvLyBEb24ndCBsZXQgdGhlIHJhbmdlIG9mIFswLDI1NV0gY29tZSBiYWNrIGluIFswLDFdLlxuICAgIC8vIFBvdGVudGlhbGx5IGxvc2UgYSBsaXR0bGUgYml0IG9mIHByZWNpc2lvbiBoZXJlLCBidXQgd2lsbCBmaXggaXNzdWVzIHdoZXJlXG4gICAgLy8gLjUgZ2V0cyBpbnRlcnByZXRlZCBhcyBoYWxmIG9mIHRoZSB0b3RhbCwgaW5zdGVhZCBvZiBoYWxmIG9mIDFcbiAgICAvLyBJZiBpdCB3YXMgc3VwcG9zZWQgdG8gYmUgMTI4LCB0aGlzIHdhcyBhbHJlYWR5IHRha2VuIGNhcmUgb2YgYnkgYGlucHV0VG9SZ2JgXG4gICAgaWYgKHRoaXMuX3IgPCAxKSB7IHRoaXMuX3IgPSBtYXRoUm91bmQodGhpcy5fcik7IH1cbiAgICBpZiAodGhpcy5fZyA8IDEpIHsgdGhpcy5fZyA9IG1hdGhSb3VuZCh0aGlzLl9nKTsgfVxuICAgIGlmICh0aGlzLl9iIDwgMSkgeyB0aGlzLl9iID0gbWF0aFJvdW5kKHRoaXMuX2IpOyB9XG5cbiAgICB0aGlzLl9vayA9IHJnYi5vaztcbiAgICB0aGlzLl90Y19pZCA9IHRpbnlDb3VudGVyKys7XG59XG5cbnRpbnljb2xvci5wcm90b3R5cGUgPSB7XG4gICAgaXNEYXJrOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QnJpZ2h0bmVzcygpIDwgMTI4O1xuICAgIH0sXG4gICAgaXNMaWdodDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pc0RhcmsoKTtcbiAgICB9LFxuICAgIGlzVmFsaWQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fb2s7XG4gICAgfSxcbiAgICBnZXRPcmlnaW5hbElucHV0OiBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLl9vcmlnaW5hbElucHV0O1xuICAgIH0sXG4gICAgZ2V0Rm9ybWF0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1hdDtcbiAgICB9LFxuICAgIGdldEFscGhhOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2E7XG4gICAgfSxcbiAgICBnZXRCcmlnaHRuZXNzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgLy9odHRwOi8vd3d3LnczLm9yZy9UUi9BRVJUI2NvbG9yLWNvbnRyYXN0XG4gICAgICAgIHZhciByZ2IgPSB0aGlzLnRvUmdiKCk7XG4gICAgICAgIHJldHVybiAocmdiLnIgKiAyOTkgKyByZ2IuZyAqIDU4NyArIHJnYi5iICogMTE0KSAvIDEwMDA7XG4gICAgfSxcbiAgICBnZXRMdW1pbmFuY2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICAvL2h0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgICAgICAgdmFyIHJnYiA9IHRoaXMudG9SZ2IoKTtcbiAgICAgICAgdmFyIFJzUkdCLCBHc1JHQiwgQnNSR0IsIFIsIEcsIEI7XG4gICAgICAgIFJzUkdCID0gcmdiLnIvMjU1O1xuICAgICAgICBHc1JHQiA9IHJnYi5nLzI1NTtcbiAgICAgICAgQnNSR0IgPSByZ2IuYi8yNTU7XG5cbiAgICAgICAgaWYgKFJzUkdCIDw9IDAuMDM5MjgpIHtSID0gUnNSR0IgLyAxMi45Mjt9IGVsc2Uge1IgPSBNYXRoLnBvdygoKFJzUkdCICsgMC4wNTUpIC8gMS4wNTUpLCAyLjQpO31cbiAgICAgICAgaWYgKEdzUkdCIDw9IDAuMDM5MjgpIHtHID0gR3NSR0IgLyAxMi45Mjt9IGVsc2Uge0cgPSBNYXRoLnBvdygoKEdzUkdCICsgMC4wNTUpIC8gMS4wNTUpLCAyLjQpO31cbiAgICAgICAgaWYgKEJzUkdCIDw9IDAuMDM5MjgpIHtCID0gQnNSR0IgLyAxMi45Mjt9IGVsc2Uge0IgPSBNYXRoLnBvdygoKEJzUkdCICsgMC4wNTUpIC8gMS4wNTUpLCAyLjQpO31cbiAgICAgICAgcmV0dXJuICgwLjIxMjYgKiBSKSArICgwLjcxNTIgKiBHKSArICgwLjA3MjIgKiBCKTtcbiAgICB9LFxuICAgIHNldEFscGhhOiBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICB0aGlzLl9hID0gYm91bmRBbHBoYSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuX3JvdW5kQSA9IG1hdGhSb3VuZCgxMDAqdGhpcy5fYSkgLyAxMDA7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH0sXG4gICAgdG9Ic3Y6IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgaHN2ID0gcmdiVG9Ic3YodGhpcy5fciwgdGhpcy5fZywgdGhpcy5fYik7XG4gICAgICAgIHJldHVybiB7IGg6IGhzdi5oICogMzYwLCBzOiBoc3YucywgdjogaHN2LnYsIGE6IHRoaXMuX2EgfTtcbiAgICB9LFxuICAgIHRvSHN2U3RyaW5nOiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGhzdiA9IHJnYlRvSHN2KHRoaXMuX3IsIHRoaXMuX2csIHRoaXMuX2IpO1xuICAgICAgICB2YXIgaCA9IG1hdGhSb3VuZChoc3YuaCAqIDM2MCksIHMgPSBtYXRoUm91bmQoaHN2LnMgKiAxMDApLCB2ID0gbWF0aFJvdW5kKGhzdi52ICogMTAwKTtcbiAgICAgICAgcmV0dXJuICh0aGlzLl9hID09IDEpID9cbiAgICAgICAgICBcImhzdihcIiAgKyBoICsgXCIsIFwiICsgcyArIFwiJSwgXCIgKyB2ICsgXCIlKVwiIDpcbiAgICAgICAgICBcImhzdmEoXCIgKyBoICsgXCIsIFwiICsgcyArIFwiJSwgXCIgKyB2ICsgXCIlLCBcIisgdGhpcy5fcm91bmRBICsgXCIpXCI7XG4gICAgfSxcbiAgICB0b0hzbDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBoc2wgPSByZ2JUb0hzbCh0aGlzLl9yLCB0aGlzLl9nLCB0aGlzLl9iKTtcbiAgICAgICAgcmV0dXJuIHsgaDogaHNsLmggKiAzNjAsIHM6IGhzbC5zLCBsOiBoc2wubCwgYTogdGhpcy5fYSB9O1xuICAgIH0sXG4gICAgdG9Ic2xTdHJpbmc6IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgaHNsID0gcmdiVG9Ic2wodGhpcy5fciwgdGhpcy5fZywgdGhpcy5fYik7XG4gICAgICAgIHZhciBoID0gbWF0aFJvdW5kKGhzbC5oICogMzYwKSwgcyA9IG1hdGhSb3VuZChoc2wucyAqIDEwMCksIGwgPSBtYXRoUm91bmQoaHNsLmwgKiAxMDApO1xuICAgICAgICByZXR1cm4gKHRoaXMuX2EgPT0gMSkgP1xuICAgICAgICAgIFwiaHNsKFwiICArIGggKyBcIiwgXCIgKyBzICsgXCIlLCBcIiArIGwgKyBcIiUpXCIgOlxuICAgICAgICAgIFwiaHNsYShcIiArIGggKyBcIiwgXCIgKyBzICsgXCIlLCBcIiArIGwgKyBcIiUsIFwiKyB0aGlzLl9yb3VuZEEgKyBcIilcIjtcbiAgICB9LFxuICAgIHRvSGV4OiBmdW5jdGlvbihhbGxvdzNDaGFyKSB7XG4gICAgICAgIHJldHVybiByZ2JUb0hleCh0aGlzLl9yLCB0aGlzLl9nLCB0aGlzLl9iLCBhbGxvdzNDaGFyKTtcbiAgICB9LFxuICAgIHRvSGV4U3RyaW5nOiBmdW5jdGlvbihhbGxvdzNDaGFyKSB7XG4gICAgICAgIHJldHVybiAnIycgKyB0aGlzLnRvSGV4KGFsbG93M0NoYXIpO1xuICAgIH0sXG4gICAgdG9IZXg4OiBmdW5jdGlvbihhbGxvdzRDaGFyKSB7XG4gICAgICAgIHJldHVybiByZ2JhVG9IZXgodGhpcy5fciwgdGhpcy5fZywgdGhpcy5fYiwgdGhpcy5fYSwgYWxsb3c0Q2hhcik7XG4gICAgfSxcbiAgICB0b0hleDhTdHJpbmc6IGZ1bmN0aW9uKGFsbG93NENoYXIpIHtcbiAgICAgICAgcmV0dXJuICcjJyArIHRoaXMudG9IZXg4KGFsbG93NENoYXIpO1xuICAgIH0sXG4gICAgdG9SZ2I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4geyByOiBtYXRoUm91bmQodGhpcy5fciksIGc6IG1hdGhSb3VuZCh0aGlzLl9nKSwgYjogbWF0aFJvdW5kKHRoaXMuX2IpLCBhOiB0aGlzLl9hIH07XG4gICAgfSxcbiAgICB0b1JnYlN0cmluZzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiAodGhpcy5fYSA9PSAxKSA/XG4gICAgICAgICAgXCJyZ2IoXCIgICsgbWF0aFJvdW5kKHRoaXMuX3IpICsgXCIsIFwiICsgbWF0aFJvdW5kKHRoaXMuX2cpICsgXCIsIFwiICsgbWF0aFJvdW5kKHRoaXMuX2IpICsgXCIpXCIgOlxuICAgICAgICAgIFwicmdiYShcIiArIG1hdGhSb3VuZCh0aGlzLl9yKSArIFwiLCBcIiArIG1hdGhSb3VuZCh0aGlzLl9nKSArIFwiLCBcIiArIG1hdGhSb3VuZCh0aGlzLl9iKSArIFwiLCBcIiArIHRoaXMuX3JvdW5kQSArIFwiKVwiO1xuICAgIH0sXG4gICAgdG9QZXJjZW50YWdlUmdiOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHsgcjogbWF0aFJvdW5kKGJvdW5kMDEodGhpcy5fciwgMjU1KSAqIDEwMCkgKyBcIiVcIiwgZzogbWF0aFJvdW5kKGJvdW5kMDEodGhpcy5fZywgMjU1KSAqIDEwMCkgKyBcIiVcIiwgYjogbWF0aFJvdW5kKGJvdW5kMDEodGhpcy5fYiwgMjU1KSAqIDEwMCkgKyBcIiVcIiwgYTogdGhpcy5fYSB9O1xuICAgIH0sXG4gICAgdG9QZXJjZW50YWdlUmdiU3RyaW5nOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLl9hID09IDEpID9cbiAgICAgICAgICBcInJnYihcIiAgKyBtYXRoUm91bmQoYm91bmQwMSh0aGlzLl9yLCAyNTUpICogMTAwKSArIFwiJSwgXCIgKyBtYXRoUm91bmQoYm91bmQwMSh0aGlzLl9nLCAyNTUpICogMTAwKSArIFwiJSwgXCIgKyBtYXRoUm91bmQoYm91bmQwMSh0aGlzLl9iLCAyNTUpICogMTAwKSArIFwiJSlcIiA6XG4gICAgICAgICAgXCJyZ2JhKFwiICsgbWF0aFJvdW5kKGJvdW5kMDEodGhpcy5fciwgMjU1KSAqIDEwMCkgKyBcIiUsIFwiICsgbWF0aFJvdW5kKGJvdW5kMDEodGhpcy5fZywgMjU1KSAqIDEwMCkgKyBcIiUsIFwiICsgbWF0aFJvdW5kKGJvdW5kMDEodGhpcy5fYiwgMjU1KSAqIDEwMCkgKyBcIiUsIFwiICsgdGhpcy5fcm91bmRBICsgXCIpXCI7XG4gICAgfSxcbiAgICB0b05hbWU6IGZ1bmN0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5fYSA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIFwidHJhbnNwYXJlbnRcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9hIDwgMSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGhleE5hbWVzW3JnYlRvSGV4KHRoaXMuX3IsIHRoaXMuX2csIHRoaXMuX2IsIHRydWUpXSB8fCBmYWxzZTtcbiAgICB9LFxuICAgIHRvRmlsdGVyOiBmdW5jdGlvbihzZWNvbmRDb2xvcikge1xuICAgICAgICB2YXIgaGV4OFN0cmluZyA9ICcjJyArIHJnYmFUb0FyZ2JIZXgodGhpcy5fciwgdGhpcy5fZywgdGhpcy5fYiwgdGhpcy5fYSk7XG4gICAgICAgIHZhciBzZWNvbmRIZXg4U3RyaW5nID0gaGV4OFN0cmluZztcbiAgICAgICAgdmFyIGdyYWRpZW50VHlwZSA9IHRoaXMuX2dyYWRpZW50VHlwZSA/IFwiR3JhZGllbnRUeXBlID0gMSwgXCIgOiBcIlwiO1xuXG4gICAgICAgIGlmIChzZWNvbmRDb2xvcikge1xuICAgICAgICAgICAgdmFyIHMgPSB0aW55Y29sb3Ioc2Vjb25kQ29sb3IpO1xuICAgICAgICAgICAgc2Vjb25kSGV4OFN0cmluZyA9ICcjJyArIHJnYmFUb0FyZ2JIZXgocy5fciwgcy5fZywgcy5fYiwgcy5fYSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoXCIrZ3JhZGllbnRUeXBlK1wic3RhcnRDb2xvcnN0cj1cIitoZXg4U3RyaW5nK1wiLGVuZENvbG9yc3RyPVwiK3NlY29uZEhleDhTdHJpbmcrXCIpXCI7XG4gICAgfSxcbiAgICB0b1N0cmluZzogZnVuY3Rpb24oZm9ybWF0KSB7XG4gICAgICAgIHZhciBmb3JtYXRTZXQgPSAhIWZvcm1hdDtcbiAgICAgICAgZm9ybWF0ID0gZm9ybWF0IHx8IHRoaXMuX2Zvcm1hdDtcblxuICAgICAgICB2YXIgZm9ybWF0dGVkU3RyaW5nID0gZmFsc2U7XG4gICAgICAgIHZhciBoYXNBbHBoYSA9IHRoaXMuX2EgPCAxICYmIHRoaXMuX2EgPj0gMDtcbiAgICAgICAgdmFyIG5lZWRzQWxwaGFGb3JtYXQgPSAhZm9ybWF0U2V0ICYmIGhhc0FscGhhICYmIChmb3JtYXQgPT09IFwiaGV4XCIgfHwgZm9ybWF0ID09PSBcImhleDZcIiB8fCBmb3JtYXQgPT09IFwiaGV4M1wiIHx8IGZvcm1hdCA9PT0gXCJoZXg0XCIgfHwgZm9ybWF0ID09PSBcImhleDhcIiB8fCBmb3JtYXQgPT09IFwibmFtZVwiKTtcblxuICAgICAgICBpZiAobmVlZHNBbHBoYUZvcm1hdCkge1xuICAgICAgICAgICAgLy8gU3BlY2lhbCBjYXNlIGZvciBcInRyYW5zcGFyZW50XCIsIGFsbCBvdGhlciBub24tYWxwaGEgZm9ybWF0c1xuICAgICAgICAgICAgLy8gd2lsbCByZXR1cm4gcmdiYSB3aGVuIHRoZXJlIGlzIHRyYW5zcGFyZW5jeS5cbiAgICAgICAgICAgIGlmIChmb3JtYXQgPT09IFwibmFtZVwiICYmIHRoaXMuX2EgPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50b05hbWUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRvUmdiU3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZvcm1hdCA9PT0gXCJyZ2JcIikge1xuICAgICAgICAgICAgZm9ybWF0dGVkU3RyaW5nID0gdGhpcy50b1JnYlN0cmluZygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmb3JtYXQgPT09IFwicHJnYlwiKSB7XG4gICAgICAgICAgICBmb3JtYXR0ZWRTdHJpbmcgPSB0aGlzLnRvUGVyY2VudGFnZVJnYlN0cmluZygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmb3JtYXQgPT09IFwiaGV4XCIgfHwgZm9ybWF0ID09PSBcImhleDZcIikge1xuICAgICAgICAgICAgZm9ybWF0dGVkU3RyaW5nID0gdGhpcy50b0hleFN0cmluZygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmb3JtYXQgPT09IFwiaGV4M1wiKSB7XG4gICAgICAgICAgICBmb3JtYXR0ZWRTdHJpbmcgPSB0aGlzLnRvSGV4U3RyaW5nKHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmb3JtYXQgPT09IFwiaGV4NFwiKSB7XG4gICAgICAgICAgICBmb3JtYXR0ZWRTdHJpbmcgPSB0aGlzLnRvSGV4OFN0cmluZyh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZm9ybWF0ID09PSBcImhleDhcIikge1xuICAgICAgICAgICAgZm9ybWF0dGVkU3RyaW5nID0gdGhpcy50b0hleDhTdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZm9ybWF0ID09PSBcIm5hbWVcIikge1xuICAgICAgICAgICAgZm9ybWF0dGVkU3RyaW5nID0gdGhpcy50b05hbWUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZm9ybWF0ID09PSBcImhzbFwiKSB7XG4gICAgICAgICAgICBmb3JtYXR0ZWRTdHJpbmcgPSB0aGlzLnRvSHNsU3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZvcm1hdCA9PT0gXCJoc3ZcIikge1xuICAgICAgICAgICAgZm9ybWF0dGVkU3RyaW5nID0gdGhpcy50b0hzdlN0cmluZygpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZvcm1hdHRlZFN0cmluZyB8fCB0aGlzLnRvSGV4U3RyaW5nKCk7XG4gICAgfSxcbiAgICBjbG9uZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aW55Y29sb3IodGhpcy50b1N0cmluZygpKTtcbiAgICB9LFxuXG4gICAgX2FwcGx5TW9kaWZpY2F0aW9uOiBmdW5jdGlvbihmbiwgYXJncykge1xuICAgICAgICB2YXIgY29sb3IgPSBmbi5hcHBseShudWxsLCBbdGhpc10uY29uY2F0KFtdLnNsaWNlLmNhbGwoYXJncykpKTtcbiAgICAgICAgdGhpcy5fciA9IGNvbG9yLl9yO1xuICAgICAgICB0aGlzLl9nID0gY29sb3IuX2c7XG4gICAgICAgIHRoaXMuX2IgPSBjb2xvci5fYjtcbiAgICAgICAgdGhpcy5zZXRBbHBoYShjb2xvci5fYSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH0sXG4gICAgbGlnaHRlbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcHBseU1vZGlmaWNhdGlvbihsaWdodGVuLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgYnJpZ2h0ZW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBwbHlNb2RpZmljYXRpb24oYnJpZ2h0ZW4sIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICBkYXJrZW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBwbHlNb2RpZmljYXRpb24oZGFya2VuLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgZGVzYXR1cmF0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcHBseU1vZGlmaWNhdGlvbihkZXNhdHVyYXRlLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgc2F0dXJhdGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBwbHlNb2RpZmljYXRpb24oc2F0dXJhdGUsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICBncmV5c2NhbGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBwbHlNb2RpZmljYXRpb24oZ3JleXNjYWxlLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgc3BpbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcHBseU1vZGlmaWNhdGlvbihzcGluLCBhcmd1bWVudHMpO1xuICAgIH0sXG5cbiAgICBfYXBwbHlDb21iaW5hdGlvbjogZnVuY3Rpb24oZm4sIGFyZ3MpIHtcbiAgICAgICAgcmV0dXJuIGZuLmFwcGx5KG51bGwsIFt0aGlzXS5jb25jYXQoW10uc2xpY2UuY2FsbChhcmdzKSkpO1xuICAgIH0sXG4gICAgYW5hbG9nb3VzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwcGx5Q29tYmluYXRpb24oYW5hbG9nb3VzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgY29tcGxlbWVudDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcHBseUNvbWJpbmF0aW9uKGNvbXBsZW1lbnQsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICBtb25vY2hyb21hdGljOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwcGx5Q29tYmluYXRpb24obW9ub2Nocm9tYXRpYywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIHNwbGl0Y29tcGxlbWVudDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcHBseUNvbWJpbmF0aW9uKHNwbGl0Y29tcGxlbWVudCwgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIHRyaWFkOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwcGx5Q29tYmluYXRpb24odHJpYWQsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICB0ZXRyYWQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBwbHlDb21iaW5hdGlvbih0ZXRyYWQsIGFyZ3VtZW50cyk7XG4gICAgfVxufTtcblxuLy8gSWYgaW5wdXQgaXMgYW4gb2JqZWN0LCBmb3JjZSAxIGludG8gXCIxLjBcIiB0byBoYW5kbGUgcmF0aW9zIHByb3Blcmx5XG4vLyBTdHJpbmcgaW5wdXQgcmVxdWlyZXMgXCIxLjBcIiBhcyBpbnB1dCwgc28gMSB3aWxsIGJlIHRyZWF0ZWQgYXMgMVxudGlueWNvbG9yLmZyb21SYXRpbyA9IGZ1bmN0aW9uKGNvbG9yLCBvcHRzKSB7XG4gICAgaWYgKHR5cGVvZiBjb2xvciA9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIHZhciBuZXdDb2xvciA9IHt9O1xuICAgICAgICBmb3IgKHZhciBpIGluIGNvbG9yKSB7XG4gICAgICAgICAgICBpZiAoY29sb3IuaGFzT3duUHJvcGVydHkoaSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoaSA9PT0gXCJhXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3Q29sb3JbaV0gPSBjb2xvcltpXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0NvbG9yW2ldID0gY29udmVydFRvUGVyY2VudGFnZShjb2xvcltpXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbG9yID0gbmV3Q29sb3I7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRpbnljb2xvcihjb2xvciwgb3B0cyk7XG59O1xuXG4vLyBHaXZlbiBhIHN0cmluZyBvciBvYmplY3QsIGNvbnZlcnQgdGhhdCBpbnB1dCB0byBSR0Jcbi8vIFBvc3NpYmxlIHN0cmluZyBpbnB1dHM6XG4vL1xuLy8gICAgIFwicmVkXCJcbi8vICAgICBcIiNmMDBcIiBvciBcImYwMFwiXG4vLyAgICAgXCIjZmYwMDAwXCIgb3IgXCJmZjAwMDBcIlxuLy8gICAgIFwiI2ZmMDAwMDAwXCIgb3IgXCJmZjAwMDAwMFwiXG4vLyAgICAgXCJyZ2IgMjU1IDAgMFwiIG9yIFwicmdiICgyNTUsIDAsIDApXCJcbi8vICAgICBcInJnYiAxLjAgMCAwXCIgb3IgXCJyZ2IgKDEsIDAsIDApXCJcbi8vICAgICBcInJnYmEgKDI1NSwgMCwgMCwgMSlcIiBvciBcInJnYmEgMjU1LCAwLCAwLCAxXCJcbi8vICAgICBcInJnYmEgKDEuMCwgMCwgMCwgMSlcIiBvciBcInJnYmEgMS4wLCAwLCAwLCAxXCJcbi8vICAgICBcImhzbCgwLCAxMDAlLCA1MCUpXCIgb3IgXCJoc2wgMCAxMDAlIDUwJVwiXG4vLyAgICAgXCJoc2xhKDAsIDEwMCUsIDUwJSwgMSlcIiBvciBcImhzbGEgMCAxMDAlIDUwJSwgMVwiXG4vLyAgICAgXCJoc3YoMCwgMTAwJSwgMTAwJSlcIiBvciBcImhzdiAwIDEwMCUgMTAwJVwiXG4vL1xuZnVuY3Rpb24gaW5wdXRUb1JHQihjb2xvcikge1xuXG4gICAgdmFyIHJnYiA9IHsgcjogMCwgZzogMCwgYjogMCB9O1xuICAgIHZhciBhID0gMTtcbiAgICB2YXIgcyA9IG51bGw7XG4gICAgdmFyIHYgPSBudWxsO1xuICAgIHZhciBsID0gbnVsbDtcbiAgICB2YXIgb2sgPSBmYWxzZTtcbiAgICB2YXIgZm9ybWF0ID0gZmFsc2U7XG5cbiAgICBpZiAodHlwZW9mIGNvbG9yID09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgY29sb3IgPSBzdHJpbmdJbnB1dFRvT2JqZWN0KGNvbG9yKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGNvbG9yID09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgaWYgKGlzVmFsaWRDU1NVbml0KGNvbG9yLnIpICYmIGlzVmFsaWRDU1NVbml0KGNvbG9yLmcpICYmIGlzVmFsaWRDU1NVbml0KGNvbG9yLmIpKSB7XG4gICAgICAgICAgICByZ2IgPSByZ2JUb1JnYihjb2xvci5yLCBjb2xvci5nLCBjb2xvci5iKTtcbiAgICAgICAgICAgIG9rID0gdHJ1ZTtcbiAgICAgICAgICAgIGZvcm1hdCA9IFN0cmluZyhjb2xvci5yKS5zdWJzdHIoLTEpID09PSBcIiVcIiA/IFwicHJnYlwiIDogXCJyZ2JcIjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc1ZhbGlkQ1NTVW5pdChjb2xvci5oKSAmJiBpc1ZhbGlkQ1NTVW5pdChjb2xvci5zKSAmJiBpc1ZhbGlkQ1NTVW5pdChjb2xvci52KSkge1xuICAgICAgICAgICAgcyA9IGNvbnZlcnRUb1BlcmNlbnRhZ2UoY29sb3Iucyk7XG4gICAgICAgICAgICB2ID0gY29udmVydFRvUGVyY2VudGFnZShjb2xvci52KTtcbiAgICAgICAgICAgIHJnYiA9IGhzdlRvUmdiKGNvbG9yLmgsIHMsIHYpO1xuICAgICAgICAgICAgb2sgPSB0cnVlO1xuICAgICAgICAgICAgZm9ybWF0ID0gXCJoc3ZcIjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc1ZhbGlkQ1NTVW5pdChjb2xvci5oKSAmJiBpc1ZhbGlkQ1NTVW5pdChjb2xvci5zKSAmJiBpc1ZhbGlkQ1NTVW5pdChjb2xvci5sKSkge1xuICAgICAgICAgICAgcyA9IGNvbnZlcnRUb1BlcmNlbnRhZ2UoY29sb3Iucyk7XG4gICAgICAgICAgICBsID0gY29udmVydFRvUGVyY2VudGFnZShjb2xvci5sKTtcbiAgICAgICAgICAgIHJnYiA9IGhzbFRvUmdiKGNvbG9yLmgsIHMsIGwpO1xuICAgICAgICAgICAgb2sgPSB0cnVlO1xuICAgICAgICAgICAgZm9ybWF0ID0gXCJoc2xcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb2xvci5oYXNPd25Qcm9wZXJ0eShcImFcIikpIHtcbiAgICAgICAgICAgIGEgPSBjb2xvci5hO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSA9IGJvdW5kQWxwaGEoYSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBvazogb2ssXG4gICAgICAgIGZvcm1hdDogY29sb3IuZm9ybWF0IHx8IGZvcm1hdCxcbiAgICAgICAgcjogbWF0aE1pbigyNTUsIG1hdGhNYXgocmdiLnIsIDApKSxcbiAgICAgICAgZzogbWF0aE1pbigyNTUsIG1hdGhNYXgocmdiLmcsIDApKSxcbiAgICAgICAgYjogbWF0aE1pbigyNTUsIG1hdGhNYXgocmdiLmIsIDApKSxcbiAgICAgICAgYTogYVxuICAgIH07XG59XG5cblxuLy8gQ29udmVyc2lvbiBGdW5jdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIGByZ2JUb0hzbGAsIGByZ2JUb0hzdmAsIGBoc2xUb1JnYmAsIGBoc3ZUb1JnYmAgbW9kaWZpZWQgZnJvbTpcbi8vIDxodHRwOi8vbWppamFja3Nvbi5jb20vMjAwOC8wMi9yZ2ItdG8taHNsLWFuZC1yZ2ItdG8taHN2LWNvbG9yLW1vZGVsLWNvbnZlcnNpb24tYWxnb3JpdGhtcy1pbi1qYXZhc2NyaXB0PlxuXG4vLyBgcmdiVG9SZ2JgXG4vLyBIYW5kbGUgYm91bmRzIC8gcGVyY2VudGFnZSBjaGVja2luZyB0byBjb25mb3JtIHRvIENTUyBjb2xvciBzcGVjXG4vLyA8aHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1jb2xvci8+XG4vLyAqQXNzdW1lczoqIHIsIGcsIGIgaW4gWzAsIDI1NV0gb3IgWzAsIDFdXG4vLyAqUmV0dXJuczoqIHsgciwgZywgYiB9IGluIFswLCAyNTVdXG5mdW5jdGlvbiByZ2JUb1JnYihyLCBnLCBiKXtcbiAgICByZXR1cm4ge1xuICAgICAgICByOiBib3VuZDAxKHIsIDI1NSkgKiAyNTUsXG4gICAgICAgIGc6IGJvdW5kMDEoZywgMjU1KSAqIDI1NSxcbiAgICAgICAgYjogYm91bmQwMShiLCAyNTUpICogMjU1XG4gICAgfTtcbn1cblxuLy8gYHJnYlRvSHNsYFxuLy8gQ29udmVydHMgYW4gUkdCIGNvbG9yIHZhbHVlIHRvIEhTTC5cbi8vICpBc3N1bWVzOiogciwgZywgYW5kIGIgYXJlIGNvbnRhaW5lZCBpbiBbMCwgMjU1XSBvciBbMCwgMV1cbi8vICpSZXR1cm5zOiogeyBoLCBzLCBsIH0gaW4gWzAsMV1cbmZ1bmN0aW9uIHJnYlRvSHNsKHIsIGcsIGIpIHtcblxuICAgIHIgPSBib3VuZDAxKHIsIDI1NSk7XG4gICAgZyA9IGJvdW5kMDEoZywgMjU1KTtcbiAgICBiID0gYm91bmQwMShiLCAyNTUpO1xuXG4gICAgdmFyIG1heCA9IG1hdGhNYXgociwgZywgYiksIG1pbiA9IG1hdGhNaW4ociwgZywgYik7XG4gICAgdmFyIGgsIHMsIGwgPSAobWF4ICsgbWluKSAvIDI7XG5cbiAgICBpZihtYXggPT0gbWluKSB7XG4gICAgICAgIGggPSBzID0gMDsgLy8gYWNocm9tYXRpY1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdmFyIGQgPSBtYXggLSBtaW47XG4gICAgICAgIHMgPSBsID4gMC41ID8gZCAvICgyIC0gbWF4IC0gbWluKSA6IGQgLyAobWF4ICsgbWluKTtcbiAgICAgICAgc3dpdGNoKG1heCkge1xuICAgICAgICAgICAgY2FzZSByOiBoID0gKGcgLSBiKSAvIGQgKyAoZyA8IGIgPyA2IDogMCk7IGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBnOiBoID0gKGIgLSByKSAvIGQgKyAyOyBicmVhaztcbiAgICAgICAgICAgIGNhc2UgYjogaCA9IChyIC0gZykgLyBkICsgNDsgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBoIC89IDY7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgaDogaCwgczogcywgbDogbCB9O1xufVxuXG4vLyBgaHNsVG9SZ2JgXG4vLyBDb252ZXJ0cyBhbiBIU0wgY29sb3IgdmFsdWUgdG8gUkdCLlxuLy8gKkFzc3VtZXM6KiBoIGlzIGNvbnRhaW5lZCBpbiBbMCwgMV0gb3IgWzAsIDM2MF0gYW5kIHMgYW5kIGwgYXJlIGNvbnRhaW5lZCBbMCwgMV0gb3IgWzAsIDEwMF1cbi8vICpSZXR1cm5zOiogeyByLCBnLCBiIH0gaW4gdGhlIHNldCBbMCwgMjU1XVxuZnVuY3Rpb24gaHNsVG9SZ2IoaCwgcywgbCkge1xuICAgIHZhciByLCBnLCBiO1xuXG4gICAgaCA9IGJvdW5kMDEoaCwgMzYwKTtcbiAgICBzID0gYm91bmQwMShzLCAxMDApO1xuICAgIGwgPSBib3VuZDAxKGwsIDEwMCk7XG5cbiAgICBmdW5jdGlvbiBodWUycmdiKHAsIHEsIHQpIHtcbiAgICAgICAgaWYodCA8IDApIHQgKz0gMTtcbiAgICAgICAgaWYodCA+IDEpIHQgLT0gMTtcbiAgICAgICAgaWYodCA8IDEvNikgcmV0dXJuIHAgKyAocSAtIHApICogNiAqIHQ7XG4gICAgICAgIGlmKHQgPCAxLzIpIHJldHVybiBxO1xuICAgICAgICBpZih0IDwgMi8zKSByZXR1cm4gcCArIChxIC0gcCkgKiAoMi8zIC0gdCkgKiA2O1xuICAgICAgICByZXR1cm4gcDtcbiAgICB9XG5cbiAgICBpZihzID09PSAwKSB7XG4gICAgICAgIHIgPSBnID0gYiA9IGw7IC8vIGFjaHJvbWF0aWNcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHZhciBxID0gbCA8IDAuNSA/IGwgKiAoMSArIHMpIDogbCArIHMgLSBsICogcztcbiAgICAgICAgdmFyIHAgPSAyICogbCAtIHE7XG4gICAgICAgIHIgPSBodWUycmdiKHAsIHEsIGggKyAxLzMpO1xuICAgICAgICBnID0gaHVlMnJnYihwLCBxLCBoKTtcbiAgICAgICAgYiA9IGh1ZTJyZ2IocCwgcSwgaCAtIDEvMyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgcjogciAqIDI1NSwgZzogZyAqIDI1NSwgYjogYiAqIDI1NSB9O1xufVxuXG4vLyBgcmdiVG9Ic3ZgXG4vLyBDb252ZXJ0cyBhbiBSR0IgY29sb3IgdmFsdWUgdG8gSFNWXG4vLyAqQXNzdW1lczoqIHIsIGcsIGFuZCBiIGFyZSBjb250YWluZWQgaW4gdGhlIHNldCBbMCwgMjU1XSBvciBbMCwgMV1cbi8vICpSZXR1cm5zOiogeyBoLCBzLCB2IH0gaW4gWzAsMV1cbmZ1bmN0aW9uIHJnYlRvSHN2KHIsIGcsIGIpIHtcblxuICAgIHIgPSBib3VuZDAxKHIsIDI1NSk7XG4gICAgZyA9IGJvdW5kMDEoZywgMjU1KTtcbiAgICBiID0gYm91bmQwMShiLCAyNTUpO1xuXG4gICAgdmFyIG1heCA9IG1hdGhNYXgociwgZywgYiksIG1pbiA9IG1hdGhNaW4ociwgZywgYik7XG4gICAgdmFyIGgsIHMsIHYgPSBtYXg7XG5cbiAgICB2YXIgZCA9IG1heCAtIG1pbjtcbiAgICBzID0gbWF4ID09PSAwID8gMCA6IGQgLyBtYXg7XG5cbiAgICBpZihtYXggPT0gbWluKSB7XG4gICAgICAgIGggPSAwOyAvLyBhY2hyb21hdGljXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBzd2l0Y2gobWF4KSB7XG4gICAgICAgICAgICBjYXNlIHI6IGggPSAoZyAtIGIpIC8gZCArIChnIDwgYiA/IDYgOiAwKTsgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIGc6IGggPSAoYiAtIHIpIC8gZCArIDI7IGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBiOiBoID0gKHIgLSBnKSAvIGQgKyA0OyBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBoIC89IDY7XG4gICAgfVxuICAgIHJldHVybiB7IGg6IGgsIHM6IHMsIHY6IHYgfTtcbn1cblxuLy8gYGhzdlRvUmdiYFxuLy8gQ29udmVydHMgYW4gSFNWIGNvbG9yIHZhbHVlIHRvIFJHQi5cbi8vICpBc3N1bWVzOiogaCBpcyBjb250YWluZWQgaW4gWzAsIDFdIG9yIFswLCAzNjBdIGFuZCBzIGFuZCB2IGFyZSBjb250YWluZWQgaW4gWzAsIDFdIG9yIFswLCAxMDBdXG4vLyAqUmV0dXJuczoqIHsgciwgZywgYiB9IGluIHRoZSBzZXQgWzAsIDI1NV1cbiBmdW5jdGlvbiBoc3ZUb1JnYihoLCBzLCB2KSB7XG5cbiAgICBoID0gYm91bmQwMShoLCAzNjApICogNjtcbiAgICBzID0gYm91bmQwMShzLCAxMDApO1xuICAgIHYgPSBib3VuZDAxKHYsIDEwMCk7XG5cbiAgICB2YXIgaSA9IE1hdGguZmxvb3IoaCksXG4gICAgICAgIGYgPSBoIC0gaSxcbiAgICAgICAgcCA9IHYgKiAoMSAtIHMpLFxuICAgICAgICBxID0gdiAqICgxIC0gZiAqIHMpLFxuICAgICAgICB0ID0gdiAqICgxIC0gKDEgLSBmKSAqIHMpLFxuICAgICAgICBtb2QgPSBpICUgNixcbiAgICAgICAgciA9IFt2LCBxLCBwLCBwLCB0LCB2XVttb2RdLFxuICAgICAgICBnID0gW3QsIHYsIHYsIHEsIHAsIHBdW21vZF0sXG4gICAgICAgIGIgPSBbcCwgcCwgdCwgdiwgdiwgcV1bbW9kXTtcblxuICAgIHJldHVybiB7IHI6IHIgKiAyNTUsIGc6IGcgKiAyNTUsIGI6IGIgKiAyNTUgfTtcbn1cblxuLy8gYHJnYlRvSGV4YFxuLy8gQ29udmVydHMgYW4gUkdCIGNvbG9yIHRvIGhleFxuLy8gQXNzdW1lcyByLCBnLCBhbmQgYiBhcmUgY29udGFpbmVkIGluIHRoZSBzZXQgWzAsIDI1NV1cbi8vIFJldHVybnMgYSAzIG9yIDYgY2hhcmFjdGVyIGhleFxuZnVuY3Rpb24gcmdiVG9IZXgociwgZywgYiwgYWxsb3czQ2hhcikge1xuXG4gICAgdmFyIGhleCA9IFtcbiAgICAgICAgcGFkMihtYXRoUm91bmQocikudG9TdHJpbmcoMTYpKSxcbiAgICAgICAgcGFkMihtYXRoUm91bmQoZykudG9TdHJpbmcoMTYpKSxcbiAgICAgICAgcGFkMihtYXRoUm91bmQoYikudG9TdHJpbmcoMTYpKVxuICAgIF07XG5cbiAgICAvLyBSZXR1cm4gYSAzIGNoYXJhY3RlciBoZXggaWYgcG9zc2libGVcbiAgICBpZiAoYWxsb3czQ2hhciAmJiBoZXhbMF0uY2hhckF0KDApID09IGhleFswXS5jaGFyQXQoMSkgJiYgaGV4WzFdLmNoYXJBdCgwKSA9PSBoZXhbMV0uY2hhckF0KDEpICYmIGhleFsyXS5jaGFyQXQoMCkgPT0gaGV4WzJdLmNoYXJBdCgxKSkge1xuICAgICAgICByZXR1cm4gaGV4WzBdLmNoYXJBdCgwKSArIGhleFsxXS5jaGFyQXQoMCkgKyBoZXhbMl0uY2hhckF0KDApO1xuICAgIH1cblxuICAgIHJldHVybiBoZXguam9pbihcIlwiKTtcbn1cblxuLy8gYHJnYmFUb0hleGBcbi8vIENvbnZlcnRzIGFuIFJHQkEgY29sb3IgcGx1cyBhbHBoYSB0cmFuc3BhcmVuY3kgdG8gaGV4XG4vLyBBc3N1bWVzIHIsIGcsIGIgYXJlIGNvbnRhaW5lZCBpbiB0aGUgc2V0IFswLCAyNTVdIGFuZFxuLy8gYSBpbiBbMCwgMV0uIFJldHVybnMgYSA0IG9yIDggY2hhcmFjdGVyIHJnYmEgaGV4XG5mdW5jdGlvbiByZ2JhVG9IZXgociwgZywgYiwgYSwgYWxsb3c0Q2hhcikge1xuXG4gICAgdmFyIGhleCA9IFtcbiAgICAgICAgcGFkMihtYXRoUm91bmQocikudG9TdHJpbmcoMTYpKSxcbiAgICAgICAgcGFkMihtYXRoUm91bmQoZykudG9TdHJpbmcoMTYpKSxcbiAgICAgICAgcGFkMihtYXRoUm91bmQoYikudG9TdHJpbmcoMTYpKSxcbiAgICAgICAgcGFkMihjb252ZXJ0RGVjaW1hbFRvSGV4KGEpKVxuICAgIF07XG5cbiAgICAvLyBSZXR1cm4gYSA0IGNoYXJhY3RlciBoZXggaWYgcG9zc2libGVcbiAgICBpZiAoYWxsb3c0Q2hhciAmJiBoZXhbMF0uY2hhckF0KDApID09IGhleFswXS5jaGFyQXQoMSkgJiYgaGV4WzFdLmNoYXJBdCgwKSA9PSBoZXhbMV0uY2hhckF0KDEpICYmIGhleFsyXS5jaGFyQXQoMCkgPT0gaGV4WzJdLmNoYXJBdCgxKSAmJiBoZXhbM10uY2hhckF0KDApID09IGhleFszXS5jaGFyQXQoMSkpIHtcbiAgICAgICAgcmV0dXJuIGhleFswXS5jaGFyQXQoMCkgKyBoZXhbMV0uY2hhckF0KDApICsgaGV4WzJdLmNoYXJBdCgwKSArIGhleFszXS5jaGFyQXQoMCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGhleC5qb2luKFwiXCIpO1xufVxuXG4vLyBgcmdiYVRvQXJnYkhleGBcbi8vIENvbnZlcnRzIGFuIFJHQkEgY29sb3IgdG8gYW4gQVJHQiBIZXg4IHN0cmluZ1xuLy8gUmFyZWx5IHVzZWQsIGJ1dCByZXF1aXJlZCBmb3IgXCJ0b0ZpbHRlcigpXCJcbmZ1bmN0aW9uIHJnYmFUb0FyZ2JIZXgociwgZywgYiwgYSkge1xuXG4gICAgdmFyIGhleCA9IFtcbiAgICAgICAgcGFkMihjb252ZXJ0RGVjaW1hbFRvSGV4KGEpKSxcbiAgICAgICAgcGFkMihtYXRoUm91bmQocikudG9TdHJpbmcoMTYpKSxcbiAgICAgICAgcGFkMihtYXRoUm91bmQoZykudG9TdHJpbmcoMTYpKSxcbiAgICAgICAgcGFkMihtYXRoUm91bmQoYikudG9TdHJpbmcoMTYpKVxuICAgIF07XG5cbiAgICByZXR1cm4gaGV4LmpvaW4oXCJcIik7XG59XG5cbi8vIGBlcXVhbHNgXG4vLyBDYW4gYmUgY2FsbGVkIHdpdGggYW55IHRpbnljb2xvciBpbnB1dFxudGlueWNvbG9yLmVxdWFscyA9IGZ1bmN0aW9uIChjb2xvcjEsIGNvbG9yMikge1xuICAgIGlmICghY29sb3IxIHx8ICFjb2xvcjIpIHsgcmV0dXJuIGZhbHNlOyB9XG4gICAgcmV0dXJuIHRpbnljb2xvcihjb2xvcjEpLnRvUmdiU3RyaW5nKCkgPT0gdGlueWNvbG9yKGNvbG9yMikudG9SZ2JTdHJpbmcoKTtcbn07XG5cbnRpbnljb2xvci5yYW5kb20gPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gdGlueWNvbG9yLmZyb21SYXRpbyh7XG4gICAgICAgIHI6IG1hdGhSYW5kb20oKSxcbiAgICAgICAgZzogbWF0aFJhbmRvbSgpLFxuICAgICAgICBiOiBtYXRoUmFuZG9tKClcbiAgICB9KTtcbn07XG5cblxuLy8gTW9kaWZpY2F0aW9uIEZ1bmN0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhhbmtzIHRvIGxlc3MuanMgZm9yIHNvbWUgb2YgdGhlIGJhc2ljcyBoZXJlXG4vLyA8aHR0cHM6Ly9naXRodWIuY29tL2Nsb3VkaGVhZC9sZXNzLmpzL2Jsb2IvbWFzdGVyL2xpYi9sZXNzL2Z1bmN0aW9ucy5qcz5cblxuZnVuY3Rpb24gZGVzYXR1cmF0ZShjb2xvciwgYW1vdW50KSB7XG4gICAgYW1vdW50ID0gKGFtb3VudCA9PT0gMCkgPyAwIDogKGFtb3VudCB8fCAxMCk7XG4gICAgdmFyIGhzbCA9IHRpbnljb2xvcihjb2xvcikudG9Ic2woKTtcbiAgICBoc2wucyAtPSBhbW91bnQgLyAxMDA7XG4gICAgaHNsLnMgPSBjbGFtcDAxKGhzbC5zKTtcbiAgICByZXR1cm4gdGlueWNvbG9yKGhzbCk7XG59XG5cbmZ1bmN0aW9uIHNhdHVyYXRlKGNvbG9yLCBhbW91bnQpIHtcbiAgICBhbW91bnQgPSAoYW1vdW50ID09PSAwKSA/IDAgOiAoYW1vdW50IHx8IDEwKTtcbiAgICB2YXIgaHNsID0gdGlueWNvbG9yKGNvbG9yKS50b0hzbCgpO1xuICAgIGhzbC5zICs9IGFtb3VudCAvIDEwMDtcbiAgICBoc2wucyA9IGNsYW1wMDEoaHNsLnMpO1xuICAgIHJldHVybiB0aW55Y29sb3IoaHNsKTtcbn1cblxuZnVuY3Rpb24gZ3JleXNjYWxlKGNvbG9yKSB7XG4gICAgcmV0dXJuIHRpbnljb2xvcihjb2xvcikuZGVzYXR1cmF0ZSgxMDApO1xufVxuXG5mdW5jdGlvbiBsaWdodGVuIChjb2xvciwgYW1vdW50KSB7XG4gICAgYW1vdW50ID0gKGFtb3VudCA9PT0gMCkgPyAwIDogKGFtb3VudCB8fCAxMCk7XG4gICAgdmFyIGhzbCA9IHRpbnljb2xvcihjb2xvcikudG9Ic2woKTtcbiAgICBoc2wubCArPSBhbW91bnQgLyAxMDA7XG4gICAgaHNsLmwgPSBjbGFtcDAxKGhzbC5sKTtcbiAgICByZXR1cm4gdGlueWNvbG9yKGhzbCk7XG59XG5cbmZ1bmN0aW9uIGJyaWdodGVuKGNvbG9yLCBhbW91bnQpIHtcbiAgICBhbW91bnQgPSAoYW1vdW50ID09PSAwKSA/IDAgOiAoYW1vdW50IHx8IDEwKTtcbiAgICB2YXIgcmdiID0gdGlueWNvbG9yKGNvbG9yKS50b1JnYigpO1xuICAgIHJnYi5yID0gbWF0aE1heCgwLCBtYXRoTWluKDI1NSwgcmdiLnIgLSBtYXRoUm91bmQoMjU1ICogLSAoYW1vdW50IC8gMTAwKSkpKTtcbiAgICByZ2IuZyA9IG1hdGhNYXgoMCwgbWF0aE1pbigyNTUsIHJnYi5nIC0gbWF0aFJvdW5kKDI1NSAqIC0gKGFtb3VudCAvIDEwMCkpKSk7XG4gICAgcmdiLmIgPSBtYXRoTWF4KDAsIG1hdGhNaW4oMjU1LCByZ2IuYiAtIG1hdGhSb3VuZCgyNTUgKiAtIChhbW91bnQgLyAxMDApKSkpO1xuICAgIHJldHVybiB0aW55Y29sb3IocmdiKTtcbn1cblxuZnVuY3Rpb24gZGFya2VuIChjb2xvciwgYW1vdW50KSB7XG4gICAgYW1vdW50ID0gKGFtb3VudCA9PT0gMCkgPyAwIDogKGFtb3VudCB8fCAxMCk7XG4gICAgdmFyIGhzbCA9IHRpbnljb2xvcihjb2xvcikudG9Ic2woKTtcbiAgICBoc2wubCAtPSBhbW91bnQgLyAxMDA7XG4gICAgaHNsLmwgPSBjbGFtcDAxKGhzbC5sKTtcbiAgICByZXR1cm4gdGlueWNvbG9yKGhzbCk7XG59XG5cbi8vIFNwaW4gdGFrZXMgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBhbW91bnQgd2l0aGluIFstMzYwLCAzNjBdIGluZGljYXRpbmcgdGhlIGNoYW5nZSBvZiBodWUuXG4vLyBWYWx1ZXMgb3V0c2lkZSBvZiB0aGlzIHJhbmdlIHdpbGwgYmUgd3JhcHBlZCBpbnRvIHRoaXMgcmFuZ2UuXG5mdW5jdGlvbiBzcGluKGNvbG9yLCBhbW91bnQpIHtcbiAgICB2YXIgaHNsID0gdGlueWNvbG9yKGNvbG9yKS50b0hzbCgpO1xuICAgIHZhciBodWUgPSAoaHNsLmggKyBhbW91bnQpICUgMzYwO1xuICAgIGhzbC5oID0gaHVlIDwgMCA/IDM2MCArIGh1ZSA6IGh1ZTtcbiAgICByZXR1cm4gdGlueWNvbG9yKGhzbCk7XG59XG5cbi8vIENvbWJpbmF0aW9uIEZ1bmN0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGFua3MgdG8galF1ZXJ5IHhDb2xvciBmb3Igc29tZSBvZiB0aGUgaWRlYXMgYmVoaW5kIHRoZXNlXG4vLyA8aHR0cHM6Ly9naXRodWIuY29tL2luZnVzaW9uL2pRdWVyeS14Y29sb3IvYmxvYi9tYXN0ZXIvanF1ZXJ5Lnhjb2xvci5qcz5cblxuZnVuY3Rpb24gY29tcGxlbWVudChjb2xvcikge1xuICAgIHZhciBoc2wgPSB0aW55Y29sb3IoY29sb3IpLnRvSHNsKCk7XG4gICAgaHNsLmggPSAoaHNsLmggKyAxODApICUgMzYwO1xuICAgIHJldHVybiB0aW55Y29sb3IoaHNsKTtcbn1cblxuZnVuY3Rpb24gdHJpYWQoY29sb3IpIHtcbiAgICB2YXIgaHNsID0gdGlueWNvbG9yKGNvbG9yKS50b0hzbCgpO1xuICAgIHZhciBoID0gaHNsLmg7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgdGlueWNvbG9yKGNvbG9yKSxcbiAgICAgICAgdGlueWNvbG9yKHsgaDogKGggKyAxMjApICUgMzYwLCBzOiBoc2wucywgbDogaHNsLmwgfSksXG4gICAgICAgIHRpbnljb2xvcih7IGg6IChoICsgMjQwKSAlIDM2MCwgczogaHNsLnMsIGw6IGhzbC5sIH0pXG4gICAgXTtcbn1cblxuZnVuY3Rpb24gdGV0cmFkKGNvbG9yKSB7XG4gICAgdmFyIGhzbCA9IHRpbnljb2xvcihjb2xvcikudG9Ic2woKTtcbiAgICB2YXIgaCA9IGhzbC5oO1xuICAgIHJldHVybiBbXG4gICAgICAgIHRpbnljb2xvcihjb2xvciksXG4gICAgICAgIHRpbnljb2xvcih7IGg6IChoICsgOTApICUgMzYwLCBzOiBoc2wucywgbDogaHNsLmwgfSksXG4gICAgICAgIHRpbnljb2xvcih7IGg6IChoICsgMTgwKSAlIDM2MCwgczogaHNsLnMsIGw6IGhzbC5sIH0pLFxuICAgICAgICB0aW55Y29sb3IoeyBoOiAoaCArIDI3MCkgJSAzNjAsIHM6IGhzbC5zLCBsOiBoc2wubCB9KVxuICAgIF07XG59XG5cbmZ1bmN0aW9uIHNwbGl0Y29tcGxlbWVudChjb2xvcikge1xuICAgIHZhciBoc2wgPSB0aW55Y29sb3IoY29sb3IpLnRvSHNsKCk7XG4gICAgdmFyIGggPSBoc2wuaDtcbiAgICByZXR1cm4gW1xuICAgICAgICB0aW55Y29sb3IoY29sb3IpLFxuICAgICAgICB0aW55Y29sb3IoeyBoOiAoaCArIDcyKSAlIDM2MCwgczogaHNsLnMsIGw6IGhzbC5sfSksXG4gICAgICAgIHRpbnljb2xvcih7IGg6IChoICsgMjE2KSAlIDM2MCwgczogaHNsLnMsIGw6IGhzbC5sfSlcbiAgICBdO1xufVxuXG5mdW5jdGlvbiBhbmFsb2dvdXMoY29sb3IsIHJlc3VsdHMsIHNsaWNlcykge1xuICAgIHJlc3VsdHMgPSByZXN1bHRzIHx8IDY7XG4gICAgc2xpY2VzID0gc2xpY2VzIHx8IDMwO1xuXG4gICAgdmFyIGhzbCA9IHRpbnljb2xvcihjb2xvcikudG9Ic2woKTtcbiAgICB2YXIgcGFydCA9IDM2MCAvIHNsaWNlcztcbiAgICB2YXIgcmV0ID0gW3Rpbnljb2xvcihjb2xvcildO1xuXG4gICAgZm9yIChoc2wuaCA9ICgoaHNsLmggLSAocGFydCAqIHJlc3VsdHMgPj4gMSkpICsgNzIwKSAlIDM2MDsgLS1yZXN1bHRzOyApIHtcbiAgICAgICAgaHNsLmggPSAoaHNsLmggKyBwYXJ0KSAlIDM2MDtcbiAgICAgICAgcmV0LnB1c2godGlueWNvbG9yKGhzbCkpO1xuICAgIH1cbiAgICByZXR1cm4gcmV0O1xufVxuXG5mdW5jdGlvbiBtb25vY2hyb21hdGljKGNvbG9yLCByZXN1bHRzKSB7XG4gICAgcmVzdWx0cyA9IHJlc3VsdHMgfHwgNjtcbiAgICB2YXIgaHN2ID0gdGlueWNvbG9yKGNvbG9yKS50b0hzdigpO1xuICAgIHZhciBoID0gaHN2LmgsIHMgPSBoc3YucywgdiA9IGhzdi52O1xuICAgIHZhciByZXQgPSBbXTtcbiAgICB2YXIgbW9kaWZpY2F0aW9uID0gMSAvIHJlc3VsdHM7XG5cbiAgICB3aGlsZSAocmVzdWx0cy0tKSB7XG4gICAgICAgIHJldC5wdXNoKHRpbnljb2xvcih7IGg6IGgsIHM6IHMsIHY6IHZ9KSk7XG4gICAgICAgIHYgPSAodiArIG1vZGlmaWNhdGlvbikgJSAxO1xuICAgIH1cblxuICAgIHJldHVybiByZXQ7XG59XG5cbi8vIFV0aWxpdHkgRnVuY3Rpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudGlueWNvbG9yLm1peCA9IGZ1bmN0aW9uKGNvbG9yMSwgY29sb3IyLCBhbW91bnQpIHtcbiAgICBhbW91bnQgPSAoYW1vdW50ID09PSAwKSA/IDAgOiAoYW1vdW50IHx8IDUwKTtcblxuICAgIHZhciByZ2IxID0gdGlueWNvbG9yKGNvbG9yMSkudG9SZ2IoKTtcbiAgICB2YXIgcmdiMiA9IHRpbnljb2xvcihjb2xvcjIpLnRvUmdiKCk7XG5cbiAgICB2YXIgcCA9IGFtb3VudCAvIDEwMDtcblxuICAgIHZhciByZ2JhID0ge1xuICAgICAgICByOiAoKHJnYjIuciAtIHJnYjEucikgKiBwKSArIHJnYjEucixcbiAgICAgICAgZzogKChyZ2IyLmcgLSByZ2IxLmcpICogcCkgKyByZ2IxLmcsXG4gICAgICAgIGI6ICgocmdiMi5iIC0gcmdiMS5iKSAqIHApICsgcmdiMS5iLFxuICAgICAgICBhOiAoKHJnYjIuYSAtIHJnYjEuYSkgKiBwKSArIHJnYjEuYVxuICAgIH07XG5cbiAgICByZXR1cm4gdGlueWNvbG9yKHJnYmEpO1xufTtcblxuXG4vLyBSZWFkYWJpbGl0eSBGdW5jdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gPGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWYgKFdDQUcgVmVyc2lvbiAyKVxuXG4vLyBgY29udHJhc3RgXG4vLyBBbmFseXplIHRoZSAyIGNvbG9ycyBhbmQgcmV0dXJucyB0aGUgY29sb3IgY29udHJhc3QgZGVmaW5lZCBieSAoV0NBRyBWZXJzaW9uIDIpXG50aW55Y29sb3IucmVhZGFiaWxpdHkgPSBmdW5jdGlvbihjb2xvcjEsIGNvbG9yMikge1xuICAgIHZhciBjMSA9IHRpbnljb2xvcihjb2xvcjEpO1xuICAgIHZhciBjMiA9IHRpbnljb2xvcihjb2xvcjIpO1xuICAgIHJldHVybiAoTWF0aC5tYXgoYzEuZ2V0THVtaW5hbmNlKCksYzIuZ2V0THVtaW5hbmNlKCkpKzAuMDUpIC8gKE1hdGgubWluKGMxLmdldEx1bWluYW5jZSgpLGMyLmdldEx1bWluYW5jZSgpKSswLjA1KTtcbn07XG5cbi8vIGBpc1JlYWRhYmxlYFxuLy8gRW5zdXJlIHRoYXQgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvciBjb21iaW5hdGlvbnMgbWVldCBXQ0FHMiBndWlkZWxpbmVzLlxuLy8gVGhlIHRoaXJkIGFyZ3VtZW50IGlzIGFuIG9wdGlvbmFsIE9iamVjdC5cbi8vICAgICAgdGhlICdsZXZlbCcgcHJvcGVydHkgc3RhdGVzICdBQScgb3IgJ0FBQScgLSBpZiBtaXNzaW5nIG9yIGludmFsaWQsIGl0IGRlZmF1bHRzIHRvICdBQSc7XG4vLyAgICAgIHRoZSAnc2l6ZScgcHJvcGVydHkgc3RhdGVzICdsYXJnZScgb3IgJ3NtYWxsJyAtIGlmIG1pc3Npbmcgb3IgaW52YWxpZCwgaXQgZGVmYXVsdHMgdG8gJ3NtYWxsJy5cbi8vIElmIHRoZSBlbnRpcmUgb2JqZWN0IGlzIGFic2VudCwgaXNSZWFkYWJsZSBkZWZhdWx0cyB0byB7bGV2ZWw6XCJBQVwiLHNpemU6XCJzbWFsbFwifS5cblxuLy8gKkV4YW1wbGUqXG4vLyAgICB0aW55Y29sb3IuaXNSZWFkYWJsZShcIiMwMDBcIiwgXCIjMTExXCIpID0+IGZhbHNlXG4vLyAgICB0aW55Y29sb3IuaXNSZWFkYWJsZShcIiMwMDBcIiwgXCIjMTExXCIse2xldmVsOlwiQUFcIixzaXplOlwibGFyZ2VcIn0pID0+IGZhbHNlXG50aW55Y29sb3IuaXNSZWFkYWJsZSA9IGZ1bmN0aW9uKGNvbG9yMSwgY29sb3IyLCB3Y2FnMikge1xuICAgIHZhciByZWFkYWJpbGl0eSA9IHRpbnljb2xvci5yZWFkYWJpbGl0eShjb2xvcjEsIGNvbG9yMik7XG4gICAgdmFyIHdjYWcyUGFybXMsIG91dDtcblxuICAgIG91dCA9IGZhbHNlO1xuXG4gICAgd2NhZzJQYXJtcyA9IHZhbGlkYXRlV0NBRzJQYXJtcyh3Y2FnMik7XG4gICAgc3dpdGNoICh3Y2FnMlBhcm1zLmxldmVsICsgd2NhZzJQYXJtcy5zaXplKSB7XG4gICAgICAgIGNhc2UgXCJBQXNtYWxsXCI6XG4gICAgICAgIGNhc2UgXCJBQUFsYXJnZVwiOlxuICAgICAgICAgICAgb3V0ID0gcmVhZGFiaWxpdHkgPj0gNC41O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJBQWxhcmdlXCI6XG4gICAgICAgICAgICBvdXQgPSByZWFkYWJpbGl0eSA+PSAzO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJBQUFzbWFsbFwiOlxuICAgICAgICAgICAgb3V0ID0gcmVhZGFiaWxpdHkgPj0gNztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gb3V0O1xuXG59O1xuXG4vLyBgbW9zdFJlYWRhYmxlYFxuLy8gR2l2ZW4gYSBiYXNlIGNvbG9yIGFuZCBhIGxpc3Qgb2YgcG9zc2libGUgZm9yZWdyb3VuZCBvciBiYWNrZ3JvdW5kXG4vLyBjb2xvcnMgZm9yIHRoYXQgYmFzZSwgcmV0dXJucyB0aGUgbW9zdCByZWFkYWJsZSBjb2xvci5cbi8vIE9wdGlvbmFsbHkgcmV0dXJucyBCbGFjayBvciBXaGl0ZSBpZiB0aGUgbW9zdCByZWFkYWJsZSBjb2xvciBpcyB1bnJlYWRhYmxlLlxuLy8gKkV4YW1wbGUqXG4vLyAgICB0aW55Y29sb3IubW9zdFJlYWRhYmxlKHRpbnljb2xvci5tb3N0UmVhZGFibGUoXCIjMTIzXCIsIFtcIiMxMjRcIiwgXCIjMTI1XCJdLHtpbmNsdWRlRmFsbGJhY2tDb2xvcnM6ZmFsc2V9KS50b0hleFN0cmluZygpOyAvLyBcIiMxMTIyNTVcIlxuLy8gICAgdGlueWNvbG9yLm1vc3RSZWFkYWJsZSh0aW55Y29sb3IubW9zdFJlYWRhYmxlKFwiIzEyM1wiLCBbXCIjMTI0XCIsIFwiIzEyNVwiXSx7aW5jbHVkZUZhbGxiYWNrQ29sb3JzOnRydWV9KS50b0hleFN0cmluZygpOyAgLy8gXCIjZmZmZmZmXCJcbi8vICAgIHRpbnljb2xvci5tb3N0UmVhZGFibGUoXCIjYTgwMTVhXCIsIFtcIiNmYWYzZjNcIl0se2luY2x1ZGVGYWxsYmFja0NvbG9yczp0cnVlLGxldmVsOlwiQUFBXCIsc2l6ZTpcImxhcmdlXCJ9KS50b0hleFN0cmluZygpOyAvLyBcIiNmYWYzZjNcIlxuLy8gICAgdGlueWNvbG9yLm1vc3RSZWFkYWJsZShcIiNhODAxNWFcIiwgW1wiI2ZhZjNmM1wiXSx7aW5jbHVkZUZhbGxiYWNrQ29sb3JzOnRydWUsbGV2ZWw6XCJBQUFcIixzaXplOlwic21hbGxcIn0pLnRvSGV4U3RyaW5nKCk7IC8vIFwiI2ZmZmZmZlwiXG50aW55Y29sb3IubW9zdFJlYWRhYmxlID0gZnVuY3Rpb24oYmFzZUNvbG9yLCBjb2xvckxpc3QsIGFyZ3MpIHtcbiAgICB2YXIgYmVzdENvbG9yID0gbnVsbDtcbiAgICB2YXIgYmVzdFNjb3JlID0gMDtcbiAgICB2YXIgcmVhZGFiaWxpdHk7XG4gICAgdmFyIGluY2x1ZGVGYWxsYmFja0NvbG9ycywgbGV2ZWwsIHNpemUgO1xuICAgIGFyZ3MgPSBhcmdzIHx8IHt9O1xuICAgIGluY2x1ZGVGYWxsYmFja0NvbG9ycyA9IGFyZ3MuaW5jbHVkZUZhbGxiYWNrQ29sb3JzIDtcbiAgICBsZXZlbCA9IGFyZ3MubGV2ZWw7XG4gICAgc2l6ZSA9IGFyZ3Muc2l6ZTtcblxuICAgIGZvciAodmFyIGk9IDA7IGkgPCBjb2xvckxpc3QubGVuZ3RoIDsgaSsrKSB7XG4gICAgICAgIHJlYWRhYmlsaXR5ID0gdGlueWNvbG9yLnJlYWRhYmlsaXR5KGJhc2VDb2xvciwgY29sb3JMaXN0W2ldKTtcbiAgICAgICAgaWYgKHJlYWRhYmlsaXR5ID4gYmVzdFNjb3JlKSB7XG4gICAgICAgICAgICBiZXN0U2NvcmUgPSByZWFkYWJpbGl0eTtcbiAgICAgICAgICAgIGJlc3RDb2xvciA9IHRpbnljb2xvcihjb2xvckxpc3RbaV0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRpbnljb2xvci5pc1JlYWRhYmxlKGJhc2VDb2xvciwgYmVzdENvbG9yLCB7XCJsZXZlbFwiOmxldmVsLFwic2l6ZVwiOnNpemV9KSB8fCAhaW5jbHVkZUZhbGxiYWNrQ29sb3JzKSB7XG4gICAgICAgIHJldHVybiBiZXN0Q29sb3I7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBhcmdzLmluY2x1ZGVGYWxsYmFja0NvbG9ycz1mYWxzZTtcbiAgICAgICAgcmV0dXJuIHRpbnljb2xvci5tb3N0UmVhZGFibGUoYmFzZUNvbG9yLFtcIiNmZmZcIiwgXCIjMDAwXCJdLGFyZ3MpO1xuICAgIH1cbn07XG5cblxuLy8gQmlnIExpc3Qgb2YgQ29sb3JzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cbi8vIDxodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWNvbG9yLyNzdmctY29sb3I+XG52YXIgbmFtZXMgPSB0aW55Y29sb3IubmFtZXMgPSB7XG4gICAgYWxpY2VibHVlOiBcImYwZjhmZlwiLFxuICAgIGFudGlxdWV3aGl0ZTogXCJmYWViZDdcIixcbiAgICBhcXVhOiBcIjBmZlwiLFxuICAgIGFxdWFtYXJpbmU6IFwiN2ZmZmQ0XCIsXG4gICAgYXp1cmU6IFwiZjBmZmZmXCIsXG4gICAgYmVpZ2U6IFwiZjVmNWRjXCIsXG4gICAgYmlzcXVlOiBcImZmZTRjNFwiLFxuICAgIGJsYWNrOiBcIjAwMFwiLFxuICAgIGJsYW5jaGVkYWxtb25kOiBcImZmZWJjZFwiLFxuICAgIGJsdWU6IFwiMDBmXCIsXG4gICAgYmx1ZXZpb2xldDogXCI4YTJiZTJcIixcbiAgICBicm93bjogXCJhNTJhMmFcIixcbiAgICBidXJseXdvb2Q6IFwiZGViODg3XCIsXG4gICAgYnVybnRzaWVubmE6IFwiZWE3ZTVkXCIsXG4gICAgY2FkZXRibHVlOiBcIjVmOWVhMFwiLFxuICAgIGNoYXJ0cmV1c2U6IFwiN2ZmZjAwXCIsXG4gICAgY2hvY29sYXRlOiBcImQyNjkxZVwiLFxuICAgIGNvcmFsOiBcImZmN2Y1MFwiLFxuICAgIGNvcm5mbG93ZXJibHVlOiBcIjY0OTVlZFwiLFxuICAgIGNvcm5zaWxrOiBcImZmZjhkY1wiLFxuICAgIGNyaW1zb246IFwiZGMxNDNjXCIsXG4gICAgY3lhbjogXCIwZmZcIixcbiAgICBkYXJrYmx1ZTogXCIwMDAwOGJcIixcbiAgICBkYXJrY3lhbjogXCIwMDhiOGJcIixcbiAgICBkYXJrZ29sZGVucm9kOiBcImI4ODYwYlwiLFxuICAgIGRhcmtncmF5OiBcImE5YTlhOVwiLFxuICAgIGRhcmtncmVlbjogXCIwMDY0MDBcIixcbiAgICBkYXJrZ3JleTogXCJhOWE5YTlcIixcbiAgICBkYXJra2hha2k6IFwiYmRiNzZiXCIsXG4gICAgZGFya21hZ2VudGE6IFwiOGIwMDhiXCIsXG4gICAgZGFya29saXZlZ3JlZW46IFwiNTU2YjJmXCIsXG4gICAgZGFya29yYW5nZTogXCJmZjhjMDBcIixcbiAgICBkYXJrb3JjaGlkOiBcIjk5MzJjY1wiLFxuICAgIGRhcmtyZWQ6IFwiOGIwMDAwXCIsXG4gICAgZGFya3NhbG1vbjogXCJlOTk2N2FcIixcbiAgICBkYXJrc2VhZ3JlZW46IFwiOGZiYzhmXCIsXG4gICAgZGFya3NsYXRlYmx1ZTogXCI0ODNkOGJcIixcbiAgICBkYXJrc2xhdGVncmF5OiBcIjJmNGY0ZlwiLFxuICAgIGRhcmtzbGF0ZWdyZXk6IFwiMmY0ZjRmXCIsXG4gICAgZGFya3R1cnF1b2lzZTogXCIwMGNlZDFcIixcbiAgICBkYXJrdmlvbGV0OiBcIjk0MDBkM1wiLFxuICAgIGRlZXBwaW5rOiBcImZmMTQ5M1wiLFxuICAgIGRlZXBza3libHVlOiBcIjAwYmZmZlwiLFxuICAgIGRpbWdyYXk6IFwiNjk2OTY5XCIsXG4gICAgZGltZ3JleTogXCI2OTY5NjlcIixcbiAgICBkb2RnZXJibHVlOiBcIjFlOTBmZlwiLFxuICAgIGZpcmVicmljazogXCJiMjIyMjJcIixcbiAgICBmbG9yYWx3aGl0ZTogXCJmZmZhZjBcIixcbiAgICBmb3Jlc3RncmVlbjogXCIyMjhiMjJcIixcbiAgICBmdWNoc2lhOiBcImYwZlwiLFxuICAgIGdhaW5zYm9ybzogXCJkY2RjZGNcIixcbiAgICBnaG9zdHdoaXRlOiBcImY4ZjhmZlwiLFxuICAgIGdvbGQ6IFwiZmZkNzAwXCIsXG4gICAgZ29sZGVucm9kOiBcImRhYTUyMFwiLFxuICAgIGdyYXk6IFwiODA4MDgwXCIsXG4gICAgZ3JlZW46IFwiMDA4MDAwXCIsXG4gICAgZ3JlZW55ZWxsb3c6IFwiYWRmZjJmXCIsXG4gICAgZ3JleTogXCI4MDgwODBcIixcbiAgICBob25leWRldzogXCJmMGZmZjBcIixcbiAgICBob3RwaW5rOiBcImZmNjliNFwiLFxuICAgIGluZGlhbnJlZDogXCJjZDVjNWNcIixcbiAgICBpbmRpZ286IFwiNGIwMDgyXCIsXG4gICAgaXZvcnk6IFwiZmZmZmYwXCIsXG4gICAga2hha2k6IFwiZjBlNjhjXCIsXG4gICAgbGF2ZW5kZXI6IFwiZTZlNmZhXCIsXG4gICAgbGF2ZW5kZXJibHVzaDogXCJmZmYwZjVcIixcbiAgICBsYXduZ3JlZW46IFwiN2NmYzAwXCIsXG4gICAgbGVtb25jaGlmZm9uOiBcImZmZmFjZFwiLFxuICAgIGxpZ2h0Ymx1ZTogXCJhZGQ4ZTZcIixcbiAgICBsaWdodGNvcmFsOiBcImYwODA4MFwiLFxuICAgIGxpZ2h0Y3lhbjogXCJlMGZmZmZcIixcbiAgICBsaWdodGdvbGRlbnJvZHllbGxvdzogXCJmYWZhZDJcIixcbiAgICBsaWdodGdyYXk6IFwiZDNkM2QzXCIsXG4gICAgbGlnaHRncmVlbjogXCI5MGVlOTBcIixcbiAgICBsaWdodGdyZXk6IFwiZDNkM2QzXCIsXG4gICAgbGlnaHRwaW5rOiBcImZmYjZjMVwiLFxuICAgIGxpZ2h0c2FsbW9uOiBcImZmYTA3YVwiLFxuICAgIGxpZ2h0c2VhZ3JlZW46IFwiMjBiMmFhXCIsXG4gICAgbGlnaHRza3libHVlOiBcIjg3Y2VmYVwiLFxuICAgIGxpZ2h0c2xhdGVncmF5OiBcIjc4OVwiLFxuICAgIGxpZ2h0c2xhdGVncmV5OiBcIjc4OVwiLFxuICAgIGxpZ2h0c3RlZWxibHVlOiBcImIwYzRkZVwiLFxuICAgIGxpZ2h0eWVsbG93OiBcImZmZmZlMFwiLFxuICAgIGxpbWU6IFwiMGYwXCIsXG4gICAgbGltZWdyZWVuOiBcIjMyY2QzMlwiLFxuICAgIGxpbmVuOiBcImZhZjBlNlwiLFxuICAgIG1hZ2VudGE6IFwiZjBmXCIsXG4gICAgbWFyb29uOiBcIjgwMDAwMFwiLFxuICAgIG1lZGl1bWFxdWFtYXJpbmU6IFwiNjZjZGFhXCIsXG4gICAgbWVkaXVtYmx1ZTogXCIwMDAwY2RcIixcbiAgICBtZWRpdW1vcmNoaWQ6IFwiYmE1NWQzXCIsXG4gICAgbWVkaXVtcHVycGxlOiBcIjkzNzBkYlwiLFxuICAgIG1lZGl1bXNlYWdyZWVuOiBcIjNjYjM3MVwiLFxuICAgIG1lZGl1bXNsYXRlYmx1ZTogXCI3YjY4ZWVcIixcbiAgICBtZWRpdW1zcHJpbmdncmVlbjogXCIwMGZhOWFcIixcbiAgICBtZWRpdW10dXJxdW9pc2U6IFwiNDhkMWNjXCIsXG4gICAgbWVkaXVtdmlvbGV0cmVkOiBcImM3MTU4NVwiLFxuICAgIG1pZG5pZ2h0Ymx1ZTogXCIxOTE5NzBcIixcbiAgICBtaW50Y3JlYW06IFwiZjVmZmZhXCIsXG4gICAgbWlzdHlyb3NlOiBcImZmZTRlMVwiLFxuICAgIG1vY2Nhc2luOiBcImZmZTRiNVwiLFxuICAgIG5hdmFqb3doaXRlOiBcImZmZGVhZFwiLFxuICAgIG5hdnk6IFwiMDAwMDgwXCIsXG4gICAgb2xkbGFjZTogXCJmZGY1ZTZcIixcbiAgICBvbGl2ZTogXCI4MDgwMDBcIixcbiAgICBvbGl2ZWRyYWI6IFwiNmI4ZTIzXCIsXG4gICAgb3JhbmdlOiBcImZmYTUwMFwiLFxuICAgIG9yYW5nZXJlZDogXCJmZjQ1MDBcIixcbiAgICBvcmNoaWQ6IFwiZGE3MGQ2XCIsXG4gICAgcGFsZWdvbGRlbnJvZDogXCJlZWU4YWFcIixcbiAgICBwYWxlZ3JlZW46IFwiOThmYjk4XCIsXG4gICAgcGFsZXR1cnF1b2lzZTogXCJhZmVlZWVcIixcbiAgICBwYWxldmlvbGV0cmVkOiBcImRiNzA5M1wiLFxuICAgIHBhcGF5YXdoaXA6IFwiZmZlZmQ1XCIsXG4gICAgcGVhY2hwdWZmOiBcImZmZGFiOVwiLFxuICAgIHBlcnU6IFwiY2Q4NTNmXCIsXG4gICAgcGluazogXCJmZmMwY2JcIixcbiAgICBwbHVtOiBcImRkYTBkZFwiLFxuICAgIHBvd2RlcmJsdWU6IFwiYjBlMGU2XCIsXG4gICAgcHVycGxlOiBcIjgwMDA4MFwiLFxuICAgIHJlYmVjY2FwdXJwbGU6IFwiNjYzMzk5XCIsXG4gICAgcmVkOiBcImYwMFwiLFxuICAgIHJvc3licm93bjogXCJiYzhmOGZcIixcbiAgICByb3lhbGJsdWU6IFwiNDE2OWUxXCIsXG4gICAgc2FkZGxlYnJvd246IFwiOGI0NTEzXCIsXG4gICAgc2FsbW9uOiBcImZhODA3MlwiLFxuICAgIHNhbmR5YnJvd246IFwiZjRhNDYwXCIsXG4gICAgc2VhZ3JlZW46IFwiMmU4YjU3XCIsXG4gICAgc2Vhc2hlbGw6IFwiZmZmNWVlXCIsXG4gICAgc2llbm5hOiBcImEwNTIyZFwiLFxuICAgIHNpbHZlcjogXCJjMGMwYzBcIixcbiAgICBza3libHVlOiBcIjg3Y2VlYlwiLFxuICAgIHNsYXRlYmx1ZTogXCI2YTVhY2RcIixcbiAgICBzbGF0ZWdyYXk6IFwiNzA4MDkwXCIsXG4gICAgc2xhdGVncmV5OiBcIjcwODA5MFwiLFxuICAgIHNub3c6IFwiZmZmYWZhXCIsXG4gICAgc3ByaW5nZ3JlZW46IFwiMDBmZjdmXCIsXG4gICAgc3RlZWxibHVlOiBcIjQ2ODJiNFwiLFxuICAgIHRhbjogXCJkMmI0OGNcIixcbiAgICB0ZWFsOiBcIjAwODA4MFwiLFxuICAgIHRoaXN0bGU6IFwiZDhiZmQ4XCIsXG4gICAgdG9tYXRvOiBcImZmNjM0N1wiLFxuICAgIHR1cnF1b2lzZTogXCI0MGUwZDBcIixcbiAgICB2aW9sZXQ6IFwiZWU4MmVlXCIsXG4gICAgd2hlYXQ6IFwiZjVkZWIzXCIsXG4gICAgd2hpdGU6IFwiZmZmXCIsXG4gICAgd2hpdGVzbW9rZTogXCJmNWY1ZjVcIixcbiAgICB5ZWxsb3c6IFwiZmYwXCIsXG4gICAgeWVsbG93Z3JlZW46IFwiOWFjZDMyXCJcbn07XG5cbi8vIE1ha2UgaXQgZWFzeSB0byBhY2Nlc3MgY29sb3JzIHZpYSBgaGV4TmFtZXNbaGV4XWBcbnZhciBoZXhOYW1lcyA9IHRpbnljb2xvci5oZXhOYW1lcyA9IGZsaXAobmFtZXMpO1xuXG5cbi8vIFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tXG5cbi8vIGB7ICduYW1lMSc6ICd2YWwxJyB9YCBiZWNvbWVzIGB7ICd2YWwxJzogJ25hbWUxJyB9YFxuZnVuY3Rpb24gZmxpcChvKSB7XG4gICAgdmFyIGZsaXBwZWQgPSB7IH07XG4gICAgZm9yICh2YXIgaSBpbiBvKSB7XG4gICAgICAgIGlmIChvLmhhc093blByb3BlcnR5KGkpKSB7XG4gICAgICAgICAgICBmbGlwcGVkW29baV1dID0gaTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmxpcHBlZDtcbn1cblxuLy8gUmV0dXJuIGEgdmFsaWQgYWxwaGEgdmFsdWUgWzAsMV0gd2l0aCBhbGwgaW52YWxpZCB2YWx1ZXMgYmVpbmcgc2V0IHRvIDFcbmZ1bmN0aW9uIGJvdW5kQWxwaGEoYSkge1xuICAgIGEgPSBwYXJzZUZsb2F0KGEpO1xuXG4gICAgaWYgKGlzTmFOKGEpIHx8IGEgPCAwIHx8IGEgPiAxKSB7XG4gICAgICAgIGEgPSAxO1xuICAgIH1cblxuICAgIHJldHVybiBhO1xufVxuXG4vLyBUYWtlIGlucHV0IGZyb20gWzAsIG5dIGFuZCByZXR1cm4gaXQgYXMgWzAsIDFdXG5mdW5jdGlvbiBib3VuZDAxKG4sIG1heCkge1xuICAgIGlmIChpc09uZVBvaW50WmVybyhuKSkgeyBuID0gXCIxMDAlXCI7IH1cblxuICAgIHZhciBwcm9jZXNzUGVyY2VudCA9IGlzUGVyY2VudGFnZShuKTtcbiAgICBuID0gbWF0aE1pbihtYXgsIG1hdGhNYXgoMCwgcGFyc2VGbG9hdChuKSkpO1xuXG4gICAgLy8gQXV0b21hdGljYWxseSBjb252ZXJ0IHBlcmNlbnRhZ2UgaW50byBudW1iZXJcbiAgICBpZiAocHJvY2Vzc1BlcmNlbnQpIHtcbiAgICAgICAgbiA9IHBhcnNlSW50KG4gKiBtYXgsIDEwKSAvIDEwMDtcbiAgICB9XG5cbiAgICAvLyBIYW5kbGUgZmxvYXRpbmcgcG9pbnQgcm91bmRpbmcgZXJyb3JzXG4gICAgaWYgKChNYXRoLmFicyhuIC0gbWF4KSA8IDAuMDAwMDAxKSkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICB9XG5cbiAgICAvLyBDb252ZXJ0IGludG8gWzAsIDFdIHJhbmdlIGlmIGl0IGlzbid0IGFscmVhZHlcbiAgICByZXR1cm4gKG4gJSBtYXgpIC8gcGFyc2VGbG9hdChtYXgpO1xufVxuXG4vLyBGb3JjZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDFcbmZ1bmN0aW9uIGNsYW1wMDEodmFsKSB7XG4gICAgcmV0dXJuIG1hdGhNaW4oMSwgbWF0aE1heCgwLCB2YWwpKTtcbn1cblxuLy8gUGFyc2UgYSBiYXNlLTE2IGhleCB2YWx1ZSBpbnRvIGEgYmFzZS0xMCBpbnRlZ2VyXG5mdW5jdGlvbiBwYXJzZUludEZyb21IZXgodmFsKSB7XG4gICAgcmV0dXJuIHBhcnNlSW50KHZhbCwgMTYpO1xufVxuXG4vLyBOZWVkIHRvIGhhbmRsZSAxLjAgYXMgMTAwJSwgc2luY2Ugb25jZSBpdCBpcyBhIG51bWJlciwgdGhlcmUgaXMgbm8gZGlmZmVyZW5jZSBiZXR3ZWVuIGl0IGFuZCAxXG4vLyA8aHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy83NDIyMDcyL2phdmFzY3JpcHQtaG93LXRvLWRldGVjdC1udW1iZXItYXMtYS1kZWNpbWFsLWluY2x1ZGluZy0xLTA+XG5mdW5jdGlvbiBpc09uZVBvaW50WmVybyhuKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBuID09IFwic3RyaW5nXCIgJiYgbi5pbmRleE9mKCcuJykgIT0gLTEgJiYgcGFyc2VGbG9hdChuKSA9PT0gMTtcbn1cblxuLy8gQ2hlY2sgdG8gc2VlIGlmIHN0cmluZyBwYXNzZWQgaW4gaXMgYSBwZXJjZW50YWdlXG5mdW5jdGlvbiBpc1BlcmNlbnRhZ2Uobikge1xuICAgIHJldHVybiB0eXBlb2YgbiA9PT0gXCJzdHJpbmdcIiAmJiBuLmluZGV4T2YoJyUnKSAhPSAtMTtcbn1cblxuLy8gRm9yY2UgYSBoZXggdmFsdWUgdG8gaGF2ZSAyIGNoYXJhY3RlcnNcbmZ1bmN0aW9uIHBhZDIoYykge1xuICAgIHJldHVybiBjLmxlbmd0aCA9PSAxID8gJzAnICsgYyA6ICcnICsgYztcbn1cblxuLy8gUmVwbGFjZSBhIGRlY2ltYWwgd2l0aCBpdCdzIHBlcmNlbnRhZ2UgdmFsdWVcbmZ1bmN0aW9uIGNvbnZlcnRUb1BlcmNlbnRhZ2Uobikge1xuICAgIGlmIChuIDw9IDEpIHtcbiAgICAgICAgbiA9IChuICogMTAwKSArIFwiJVwiO1xuICAgIH1cblxuICAgIHJldHVybiBuO1xufVxuXG4vLyBDb252ZXJ0cyBhIGRlY2ltYWwgdG8gYSBoZXggdmFsdWVcbmZ1bmN0aW9uIGNvbnZlcnREZWNpbWFsVG9IZXgoZCkge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKHBhcnNlRmxvYXQoZCkgKiAyNTUpLnRvU3RyaW5nKDE2KTtcbn1cbi8vIENvbnZlcnRzIGEgaGV4IHZhbHVlIHRvIGEgZGVjaW1hbFxuZnVuY3Rpb24gY29udmVydEhleFRvRGVjaW1hbChoKSB7XG4gICAgcmV0dXJuIChwYXJzZUludEZyb21IZXgoaCkgLyAyNTUpO1xufVxuXG52YXIgbWF0Y2hlcnMgPSAoZnVuY3Rpb24oKSB7XG5cbiAgICAvLyA8aHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy12YWx1ZXMvI2ludGVnZXJzPlxuICAgIHZhciBDU1NfSU5URUdFUiA9IFwiWy1cXFxcK10/XFxcXGQrJT9cIjtcblxuICAgIC8vIDxodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXZhbHVlcy8jbnVtYmVyLXZhbHVlPlxuICAgIHZhciBDU1NfTlVNQkVSID0gXCJbLVxcXFwrXT9cXFxcZCpcXFxcLlxcXFxkKyU/XCI7XG5cbiAgICAvLyBBbGxvdyBwb3NpdGl2ZS9uZWdhdGl2ZSBpbnRlZ2VyL251bWJlci4gIERvbid0IGNhcHR1cmUgdGhlIGVpdGhlci9vciwganVzdCB0aGUgZW50aXJlIG91dGNvbWUuXG4gICAgdmFyIENTU19VTklUID0gXCIoPzpcIiArIENTU19OVU1CRVIgKyBcIil8KD86XCIgKyBDU1NfSU5URUdFUiArIFwiKVwiO1xuXG4gICAgLy8gQWN0dWFsIG1hdGNoaW5nLlxuICAgIC8vIFBhcmVudGhlc2VzIGFuZCBjb21tYXMgYXJlIG9wdGlvbmFsLCBidXQgbm90IHJlcXVpcmVkLlxuICAgIC8vIFdoaXRlc3BhY2UgY2FuIHRha2UgdGhlIHBsYWNlIG9mIGNvbW1hcyBvciBvcGVuaW5nIHBhcmVuXG4gICAgdmFyIFBFUk1JU1NJVkVfTUFUQ0gzID0gXCJbXFxcXHN8XFxcXChdKyhcIiArIENTU19VTklUICsgXCIpWyx8XFxcXHNdKyhcIiArIENTU19VTklUICsgXCIpWyx8XFxcXHNdKyhcIiArIENTU19VTklUICsgXCIpXFxcXHMqXFxcXCk/XCI7XG4gICAgdmFyIFBFUk1JU1NJVkVfTUFUQ0g0ID0gXCJbXFxcXHN8XFxcXChdKyhcIiArIENTU19VTklUICsgXCIpWyx8XFxcXHNdKyhcIiArIENTU19VTklUICsgXCIpWyx8XFxcXHNdKyhcIiArIENTU19VTklUICsgXCIpWyx8XFxcXHNdKyhcIiArIENTU19VTklUICsgXCIpXFxcXHMqXFxcXCk/XCI7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBDU1NfVU5JVDogbmV3IFJlZ0V4cChDU1NfVU5JVCksXG4gICAgICAgIHJnYjogbmV3IFJlZ0V4cChcInJnYlwiICsgUEVSTUlTU0lWRV9NQVRDSDMpLFxuICAgICAgICByZ2JhOiBuZXcgUmVnRXhwKFwicmdiYVwiICsgUEVSTUlTU0lWRV9NQVRDSDQpLFxuICAgICAgICBoc2w6IG5ldyBSZWdFeHAoXCJoc2xcIiArIFBFUk1JU1NJVkVfTUFUQ0gzKSxcbiAgICAgICAgaHNsYTogbmV3IFJlZ0V4cChcImhzbGFcIiArIFBFUk1JU1NJVkVfTUFUQ0g0KSxcbiAgICAgICAgaHN2OiBuZXcgUmVnRXhwKFwiaHN2XCIgKyBQRVJNSVNTSVZFX01BVENIMyksXG4gICAgICAgIGhzdmE6IG5ldyBSZWdFeHAoXCJoc3ZhXCIgKyBQRVJNSVNTSVZFX01BVENINCksXG4gICAgICAgIGhleDM6IC9eIz8oWzAtOWEtZkEtRl17MX0pKFswLTlhLWZBLUZdezF9KShbMC05YS1mQS1GXXsxfSkkLyxcbiAgICAgICAgaGV4NjogL14jPyhbMC05YS1mQS1GXXsyfSkoWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KSQvLFxuICAgICAgICBoZXg0OiAvXiM/KFswLTlhLWZBLUZdezF9KShbMC05YS1mQS1GXXsxfSkoWzAtOWEtZkEtRl17MX0pKFswLTlhLWZBLUZdezF9KSQvLFxuICAgICAgICBoZXg4OiAvXiM/KFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkoWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KSQvXG4gICAgfTtcbn0pKCk7XG5cbi8vIGBpc1ZhbGlkQ1NTVW5pdGBcbi8vIFRha2UgaW4gYSBzaW5nbGUgc3RyaW5nIC8gbnVtYmVyIGFuZCBjaGVjayB0byBzZWUgaWYgaXQgbG9va3MgbGlrZSBhIENTUyB1bml0XG4vLyAoc2VlIGBtYXRjaGVyc2AgYWJvdmUgZm9yIGRlZmluaXRpb24pLlxuZnVuY3Rpb24gaXNWYWxpZENTU1VuaXQoY29sb3IpIHtcbiAgICByZXR1cm4gISFtYXRjaGVycy5DU1NfVU5JVC5leGVjKGNvbG9yKTtcbn1cblxuLy8gYHN0cmluZ0lucHV0VG9PYmplY3RgXG4vLyBQZXJtaXNzaXZlIHN0cmluZyBwYXJzaW5nLiAgVGFrZSBpbiBhIG51bWJlciBvZiBmb3JtYXRzLCBhbmQgb3V0cHV0IGFuIG9iamVjdFxuLy8gYmFzZWQgb24gZGV0ZWN0ZWQgZm9ybWF0LiAgUmV0dXJucyBgeyByLCBnLCBiIH1gIG9yIGB7IGgsIHMsIGwgfWAgb3IgYHsgaCwgcywgdn1gXG5mdW5jdGlvbiBzdHJpbmdJbnB1dFRvT2JqZWN0KGNvbG9yKSB7XG5cbiAgICBjb2xvciA9IGNvbG9yLnJlcGxhY2UodHJpbUxlZnQsJycpLnJlcGxhY2UodHJpbVJpZ2h0LCAnJykudG9Mb3dlckNhc2UoKTtcbiAgICB2YXIgbmFtZWQgPSBmYWxzZTtcbiAgICBpZiAobmFtZXNbY29sb3JdKSB7XG4gICAgICAgIGNvbG9yID0gbmFtZXNbY29sb3JdO1xuICAgICAgICBuYW1lZCA9IHRydWU7XG4gICAgfVxuICAgIGVsc2UgaWYgKGNvbG9yID09ICd0cmFuc3BhcmVudCcpIHtcbiAgICAgICAgcmV0dXJuIHsgcjogMCwgZzogMCwgYjogMCwgYTogMCwgZm9ybWF0OiBcIm5hbWVcIiB9O1xuICAgIH1cblxuICAgIC8vIFRyeSB0byBtYXRjaCBzdHJpbmcgaW5wdXQgdXNpbmcgcmVndWxhciBleHByZXNzaW9ucy5cbiAgICAvLyBLZWVwIG1vc3Qgb2YgdGhlIG51bWJlciBib3VuZGluZyBvdXQgb2YgdGhpcyBmdW5jdGlvbiAtIGRvbid0IHdvcnJ5IGFib3V0IFswLDFdIG9yIFswLDEwMF0gb3IgWzAsMzYwXVxuICAgIC8vIEp1c3QgcmV0dXJuIGFuIG9iamVjdCBhbmQgbGV0IHRoZSBjb252ZXJzaW9uIGZ1bmN0aW9ucyBoYW5kbGUgdGhhdC5cbiAgICAvLyBUaGlzIHdheSB0aGUgcmVzdWx0IHdpbGwgYmUgdGhlIHNhbWUgd2hldGhlciB0aGUgdGlueWNvbG9yIGlzIGluaXRpYWxpemVkIHdpdGggc3RyaW5nIG9yIG9iamVjdC5cbiAgICB2YXIgbWF0Y2g7XG4gICAgaWYgKChtYXRjaCA9IG1hdGNoZXJzLnJnYi5leGVjKGNvbG9yKSkpIHtcbiAgICAgICAgcmV0dXJuIHsgcjogbWF0Y2hbMV0sIGc6IG1hdGNoWzJdLCBiOiBtYXRjaFszXSB9O1xuICAgIH1cbiAgICBpZiAoKG1hdGNoID0gbWF0Y2hlcnMucmdiYS5leGVjKGNvbG9yKSkpIHtcbiAgICAgICAgcmV0dXJuIHsgcjogbWF0Y2hbMV0sIGc6IG1hdGNoWzJdLCBiOiBtYXRjaFszXSwgYTogbWF0Y2hbNF0gfTtcbiAgICB9XG4gICAgaWYgKChtYXRjaCA9IG1hdGNoZXJzLmhzbC5leGVjKGNvbG9yKSkpIHtcbiAgICAgICAgcmV0dXJuIHsgaDogbWF0Y2hbMV0sIHM6IG1hdGNoWzJdLCBsOiBtYXRjaFszXSB9O1xuICAgIH1cbiAgICBpZiAoKG1hdGNoID0gbWF0Y2hlcnMuaHNsYS5leGVjKGNvbG9yKSkpIHtcbiAgICAgICAgcmV0dXJuIHsgaDogbWF0Y2hbMV0sIHM6IG1hdGNoWzJdLCBsOiBtYXRjaFszXSwgYTogbWF0Y2hbNF0gfTtcbiAgICB9XG4gICAgaWYgKChtYXRjaCA9IG1hdGNoZXJzLmhzdi5leGVjKGNvbG9yKSkpIHtcbiAgICAgICAgcmV0dXJuIHsgaDogbWF0Y2hbMV0sIHM6IG1hdGNoWzJdLCB2OiBtYXRjaFszXSB9O1xuICAgIH1cbiAgICBpZiAoKG1hdGNoID0gbWF0Y2hlcnMuaHN2YS5leGVjKGNvbG9yKSkpIHtcbiAgICAgICAgcmV0dXJuIHsgaDogbWF0Y2hbMV0sIHM6IG1hdGNoWzJdLCB2OiBtYXRjaFszXSwgYTogbWF0Y2hbNF0gfTtcbiAgICB9XG4gICAgaWYgKChtYXRjaCA9IG1hdGNoZXJzLmhleDguZXhlYyhjb2xvcikpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByOiBwYXJzZUludEZyb21IZXgobWF0Y2hbMV0pLFxuICAgICAgICAgICAgZzogcGFyc2VJbnRGcm9tSGV4KG1hdGNoWzJdKSxcbiAgICAgICAgICAgIGI6IHBhcnNlSW50RnJvbUhleChtYXRjaFszXSksXG4gICAgICAgICAgICBhOiBjb252ZXJ0SGV4VG9EZWNpbWFsKG1hdGNoWzRdKSxcbiAgICAgICAgICAgIGZvcm1hdDogbmFtZWQgPyBcIm5hbWVcIiA6IFwiaGV4OFwiXG4gICAgICAgIH07XG4gICAgfVxuICAgIGlmICgobWF0Y2ggPSBtYXRjaGVycy5oZXg2LmV4ZWMoY29sb3IpKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcjogcGFyc2VJbnRGcm9tSGV4KG1hdGNoWzFdKSxcbiAgICAgICAgICAgIGc6IHBhcnNlSW50RnJvbUhleChtYXRjaFsyXSksXG4gICAgICAgICAgICBiOiBwYXJzZUludEZyb21IZXgobWF0Y2hbM10pLFxuICAgICAgICAgICAgZm9ybWF0OiBuYW1lZCA/IFwibmFtZVwiIDogXCJoZXhcIlxuICAgICAgICB9O1xuICAgIH1cbiAgICBpZiAoKG1hdGNoID0gbWF0Y2hlcnMuaGV4NC5leGVjKGNvbG9yKSkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHI6IHBhcnNlSW50RnJvbUhleChtYXRjaFsxXSArICcnICsgbWF0Y2hbMV0pLFxuICAgICAgICAgICAgZzogcGFyc2VJbnRGcm9tSGV4KG1hdGNoWzJdICsgJycgKyBtYXRjaFsyXSksXG4gICAgICAgICAgICBiOiBwYXJzZUludEZyb21IZXgobWF0Y2hbM10gKyAnJyArIG1hdGNoWzNdKSxcbiAgICAgICAgICAgIGE6IGNvbnZlcnRIZXhUb0RlY2ltYWwobWF0Y2hbNF0gKyAnJyArIG1hdGNoWzRdKSxcbiAgICAgICAgICAgIGZvcm1hdDogbmFtZWQgPyBcIm5hbWVcIiA6IFwiaGV4OFwiXG4gICAgICAgIH07XG4gICAgfVxuICAgIGlmICgobWF0Y2ggPSBtYXRjaGVycy5oZXgzLmV4ZWMoY29sb3IpKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcjogcGFyc2VJbnRGcm9tSGV4KG1hdGNoWzFdICsgJycgKyBtYXRjaFsxXSksXG4gICAgICAgICAgICBnOiBwYXJzZUludEZyb21IZXgobWF0Y2hbMl0gKyAnJyArIG1hdGNoWzJdKSxcbiAgICAgICAgICAgIGI6IHBhcnNlSW50RnJvbUhleChtYXRjaFszXSArICcnICsgbWF0Y2hbM10pLFxuICAgICAgICAgICAgZm9ybWF0OiBuYW1lZCA/IFwibmFtZVwiIDogXCJoZXhcIlxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVXQ0FHMlBhcm1zKHBhcm1zKSB7XG4gICAgLy8gcmV0dXJuIHZhbGlkIFdDQUcyIHBhcm1zIGZvciBpc1JlYWRhYmxlLlxuICAgIC8vIElmIGlucHV0IHBhcm1zIGFyZSBpbnZhbGlkLCByZXR1cm4ge1wibGV2ZWxcIjpcIkFBXCIsIFwic2l6ZVwiOlwic21hbGxcIn1cbiAgICB2YXIgbGV2ZWwsIHNpemU7XG4gICAgcGFybXMgPSBwYXJtcyB8fCB7XCJsZXZlbFwiOlwiQUFcIiwgXCJzaXplXCI6XCJzbWFsbFwifTtcbiAgICBsZXZlbCA9IChwYXJtcy5sZXZlbCB8fCBcIkFBXCIpLnRvVXBwZXJDYXNlKCk7XG4gICAgc2l6ZSA9IChwYXJtcy5zaXplIHx8IFwic21hbGxcIikudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAobGV2ZWwgIT09IFwiQUFcIiAmJiBsZXZlbCAhPT0gXCJBQUFcIikge1xuICAgICAgICBsZXZlbCA9IFwiQUFcIjtcbiAgICB9XG4gICAgaWYgKHNpemUgIT09IFwic21hbGxcIiAmJiBzaXplICE9PSBcImxhcmdlXCIpIHtcbiAgICAgICAgc2l6ZSA9IFwic21hbGxcIjtcbiAgICB9XG4gICAgcmV0dXJuIHtcImxldmVsXCI6bGV2ZWwsIFwic2l6ZVwiOnNpemV9O1xufVxuXG4vLyBOb2RlOiBFeHBvcnQgZnVuY3Rpb25cbmlmICh0eXBlb2YgbW9kdWxlICE9PSBcInVuZGVmaW5lZFwiICYmIG1vZHVsZS5leHBvcnRzKSB7XG4gICAgbW9kdWxlLmV4cG9ydHMgPSB0aW55Y29sb3I7XG59XG4vLyBBTUQvcmVxdWlyZWpzOiBEZWZpbmUgdGhlIG1vZHVsZVxuZWxzZSBpZiAodHJ1ZSkge1xuICAgICEoX19XRUJQQUNLX0FNRF9ERUZJTkVfUkVTVUxUX18gPSAoZnVuY3Rpb24gKCkge3JldHVybiB0aW55Y29sb3I7fSkuY2FsbChleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fLCBleHBvcnRzLCBtb2R1bGUpLFxuXHRcdFx0XHRfX1dFQlBBQ0tfQU1EX0RFRklORV9SRVNVTFRfXyAhPT0gdW5kZWZpbmVkICYmIChtb2R1bGUuZXhwb3J0cyA9IF9fV0VCUEFDS19BTURfREVGSU5FX1JFU1VMVF9fKSk7XG59XG4vLyBCcm93c2VyOiBFeHBvc2UgdG8gd2luZG93XG5lbHNlIHtcbiAgICB3aW5kb3cudGlueWNvbG9yID0gdGlueWNvbG9yO1xufVxuXG59KShNYXRoKTtcblxuXG4vKioqLyB9KSxcbi8qIDE0MCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfZXh0ZW5kczIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMxKTtcblxudmFyIF9leHRlbmRzMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2V4dGVuZHMyKTtcblxudmFyIF9lbWl0dGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0KTtcblxudmFyIF9lbWl0dGVyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2VtaXR0ZXIpO1xuXG52YXIgX2hhbmRsZUVzY2FwZU1peGluID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNDEpO1xuXG52YXIgX2hhbmRsZUVzY2FwZU1peGluMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2hhbmRsZUVzY2FwZU1peGluKTtcblxudmFyIF9wcmVmaXhNaXhpbiA9IF9fd2VicGFja19yZXF1aXJlX18oNDcpO1xuXG52YXIgX3ByZWZpeE1peGluMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3ByZWZpeE1peGluKTtcblxudmFyIF91dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oMzgpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ1JlY29tbWVuZGVkQ29sb3JzJyxcblxuICAgIG1peGluczogW19lbWl0dGVyMi5kZWZhdWx0LCBfaGFuZGxlRXNjYXBlTWl4aW4yLmRlZmF1bHQsIF9wcmVmaXhNaXhpbjIuZGVmYXVsdF0sXG5cbiAgICBwcm9wczoge1xuICAgICAgICBsaXN0OiB7XG4gICAgICAgICAgICB0eXBlOiBBcnJheSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IHVuZGVmaW5lZFxuICAgICAgICB9XG4gICAgfSxcblxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHZhciBjb2x1bW5zID0gMTI7XG4gICAgICAgIHZhciByb3dzID0gTWF0aC5jZWlsKHRoaXMubGlzdC5sZW5ndGggLyBjb2x1bW5zKTtcbiAgICAgICAgdmFyIG5vcm1hbFN0ZXAgPSAxO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBsZWZ0OiAtbm9ybWFsU3RlcCxcbiAgICAgICAgICAgIHJpZ2h0OiBub3JtYWxTdGVwLFxuICAgICAgICAgICAgdXA6IC1ub3JtYWxTdGVwLFxuICAgICAgICAgICAgZG93bjogbm9ybWFsU3RlcCxcbiAgICAgICAgICAgIHBvd2VyS2V5OiAnc2hpZnRLZXknLFxuICAgICAgICAgICAgZ3JpZDogeyB4OiAxLCB5OiAxIH0sXG4gICAgICAgICAgICByb3dzOiByb3dzLFxuICAgICAgICAgICAgY29sdW1uczogY29sdW1uc1xuICAgICAgICB9O1xuICAgIH0sXG5cblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGhpZGVDbGFzczogZnVuY3Rpb24gaGlkZUNsYXNzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFN0cmluZyh0aGlzLnByZWZpeENscykgKyAnLWhpZGUnO1xuICAgICAgICB9LFxuICAgICAgICBsaW5lYXJJbmRleDogZnVuY3Rpb24gbGluZWFySW5kZXgoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRMaW5lYXJJbmRleCh0aGlzLmdyaWQpO1xuICAgICAgICB9LFxuICAgICAgICBjdXJyZW50Q2lyY2xlOiBmdW5jdGlvbiBjdXJyZW50Q2lyY2xlKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHJlZnNbJ2NvbG9yLWNpcmNsZS0nICsgU3RyaW5nKHRoaXMubGluZWFySW5kZXgpXVswXTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGdldExpbmVhckluZGV4OiBmdW5jdGlvbiBnZXRMaW5lYXJJbmRleChncmlkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb2x1bW5zICogKGdyaWQueSAtIDEpICsgZ3JpZC54IC0gMTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0TWF4TGltaXQ6IGZ1bmN0aW9uIGdldE1heExpbWl0KGF4aXMpIHtcbiAgICAgICAgICAgIHJldHVybiBheGlzID09PSAneCcgPyB0aGlzLmNvbHVtbnMgOiB0aGlzLnJvd3M7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUFycm93OiBmdW5jdGlvbiBoYW5kbGVBcnJvdyhlLCBheGlzLCBkaXJlY3Rpb24pIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgIHRoaXMuYmx1ckNvbG9yKCk7XG5cbiAgICAgICAgICAgIHZhciBncmlkID0gKDAsIF9leHRlbmRzMy5kZWZhdWx0KSh7fSwgdGhpcy5ncmlkKTtcblxuICAgICAgICAgICAgaWYgKGVbdGhpcy5wb3dlcktleV0pIHtcbiAgICAgICAgICAgICAgICBpZiAoZGlyZWN0aW9uIDwgMCkge1xuICAgICAgICAgICAgICAgICAgICBncmlkW2F4aXNdID0gMTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBncmlkW2F4aXNdID0gdGhpcy5nZXRNYXhMaW1pdChheGlzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGdyaWRbYXhpc10gKz0gZGlyZWN0aW9uO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgaW5kZXggPSB0aGlzLmdldExpbmVhckluZGV4KGdyaWQpO1xuXG4gICAgICAgICAgICBpZiAoaW5kZXggPj0gMCAmJiBpbmRleCA8IHRoaXMubGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWRbYXhpc10gPSAoMCwgX3V0aWxzLmNsYW1wKShncmlkW2F4aXNdLCAxLCB0aGlzLmdldE1heExpbWl0KGF4aXMpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5mb2N1c0NvbG9yKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGJsdXJDb2xvcjogZnVuY3Rpb24gYmx1ckNvbG9yKCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50Q2lyY2xlLmNsYXNzTGlzdC5hZGQodGhpcy5oaWRlQ2xhc3MpO1xuICAgICAgICB9LFxuICAgICAgICBmb2N1c0NvbG9yOiBmdW5jdGlvbiBmb2N1c0NvbG9yKCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50Q2lyY2xlLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5oaWRlQ2xhc3MpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVFbnRlcjogZnVuY3Rpb24gaGFuZGxlRW50ZXIoZSkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVDbGljayhlLCB0aGlzLmN1cnJlbnRDaXJjbGUpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVDbGljazogZnVuY3Rpb24gaGFuZGxlQ2xpY2soZSwgY2lyY2xlKSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICB0aGlzLiRyZWZzLnJlZmVyZW5jZS5mb2N1cygpO1xuXG4gICAgICAgICAgICB2YXIgdGFyZ2V0ID0gY2lyY2xlIHx8IGUudGFyZ2V0O1xuICAgICAgICAgICAgdmFyIGNvbG9ySWQgPSB0YXJnZXQuZGF0YXNldC5jb2xvcklkIHx8IHRhcmdldC5wYXJlbnRFbGVtZW50LmRhdGFzZXQuY29sb3JJZDtcblxuICAgICAgICAgICAgaWYgKGNvbG9ySWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJsdXJDb2xvcigpO1xuICAgICAgICAgICAgICAgIHZhciBpZCA9IE51bWJlcihjb2xvcklkKSArIDE7XG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkLnggPSBpZCAlIHRoaXMuY29sdW1ucyB8fCB0aGlzLmNvbHVtbnM7XG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkLnkgPSBNYXRoLmNlaWwoaWQgLyB0aGlzLmNvbHVtbnMpO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNDb2xvcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ3BpY2tlci1jb2xvcicsIHRoaXMubGlzdFtjb2xvcklkXSk7XG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywgeyBoZXg6IHRoaXMubGlzdFtjb2xvcklkXSwgc291cmNlOiAnaGV4JyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbGluZUJyZWFrOiBmdW5jdGlvbiBsaW5lQnJlYWsobGlzdCwgaW5kZXgpIHtcbiAgICAgICAgICAgIGlmICghaW5kZXgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBuZXh0SW5kZXggPSBpbmRleCArIDE7XG5cbiAgICAgICAgICAgIHJldHVybiBuZXh0SW5kZXggPCBsaXN0Lmxlbmd0aCAmJiBuZXh0SW5kZXggJSB0aGlzLmNvbHVtbnMgPT09IDA7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDE0MSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbWV0aG9kczoge1xuICAgICAgICBoYW5kbGVFc2NhcGU6IGZ1bmN0aW9uIGhhbmRsZUVzY2FwZShlKSB7XG4gICAgICAgICAgICB0aGlzLmRpc3BhdGNoKCdDb2xvclBpY2tlcicsICdvbi1lc2NhcGUta2V5ZG93bicsIGUpO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxNDIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2hzYU1peGluID0gX193ZWJwYWNrX3JlcXVpcmVfXyg3Nik7XG5cbnZhciBfaHNhTWl4aW4yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaHNhTWl4aW4pO1xuXG52YXIgX3ByZWZpeE1peGluID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0Nyk7XG5cbnZhciBfcHJlZml4TWl4aW4yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcHJlZml4TWl4aW4pO1xuXG52YXIgX3V0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygzOCk7XG5cbnZhciBfZG9tID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMyk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnU2F0dXJhdGlvbicsXG5cbiAgICBtaXhpbnM6IFtfaHNhTWl4aW4yLmRlZmF1bHQsIF9wcmVmaXhNaXhpbjIuZGVmYXVsdF0sXG5cbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICB2YXIgbm9ybWFsU3RlcCA9IDAuMDE7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGxlZnQ6IC1ub3JtYWxTdGVwLFxuICAgICAgICAgICAgcmlnaHQ6IG5vcm1hbFN0ZXAsXG4gICAgICAgICAgICB1cDogbm9ybWFsU3RlcCxcbiAgICAgICAgICAgIGRvd246IC1ub3JtYWxTdGVwLFxuICAgICAgICAgICAgbXVsdGlwbGllcjogMTAsXG4gICAgICAgICAgICBwb3dlcktleTogJ3NoaWZ0S2V5J1xuICAgICAgICB9O1xuICAgIH0sXG5cblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGJnQ29sb3JTdHlsZTogZnVuY3Rpb24gYmdDb2xvclN0eWxlKCkge1xuICAgICAgICAgICAgcmV0dXJuIHsgYmFja2dyb3VuZDogJ2hzbCgnICsgU3RyaW5nKHRoaXMudmFsdWUuaHN2LmgpICsgJywgMTAwJSwgNTAlKScgfTtcbiAgICAgICAgfSxcbiAgICAgICAgcG9pbnRlclN0eWxlOiBmdW5jdGlvbiBwb2ludGVyU3R5bGUoKSB7XG4gICAgICAgICAgICByZXR1cm4geyB0b3A6IC0odGhpcy52YWx1ZS5oc3YudiAqIDEwMCkgKyAxICsgMTAwICsgJyUnLCBsZWZ0OiB0aGlzLnZhbHVlLmhzdi5zICogMTAwICsgJyUnIH07XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgbWV0aG9kczoge1xuICAgICAgICBjaGFuZ2U6IGZ1bmN0aW9uIGNoYW5nZShoLCBzLCB2LCBhKSB7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdjaGFuZ2UnLCB7IGg6IGgsIHM6IHMsIHY6IHYsIGE6IGEsIHNvdXJjZTogJ2hzdmEnIH0pO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVTbGlkZTogZnVuY3Rpb24gaGFuZGxlU2xpZGUoZSwgZGlyZWN0aW9uLCBrZXkpIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgIHZhciBpc1Bvd2VyS2V5ID0gZVt0aGlzLnBvd2VyS2V5XTtcbiAgICAgICAgICAgIHZhciBpbmNyZW1lbnQgPSBpc1Bvd2VyS2V5ID8gZGlyZWN0aW9uICogdGhpcy5tdWx0aXBsaWVyIDogZGlyZWN0aW9uO1xuICAgICAgICAgICAgdmFyIF92YWx1ZSRoc3YgPSB0aGlzLnZhbHVlLmhzdixcbiAgICAgICAgICAgICAgICBoID0gX3ZhbHVlJGhzdi5oLFxuICAgICAgICAgICAgICAgIHMgPSBfdmFsdWUkaHN2LnMsXG4gICAgICAgICAgICAgICAgdiA9IF92YWx1ZSRoc3YudixcbiAgICAgICAgICAgICAgICBhID0gX3ZhbHVlJGhzdi5hO1xuXG4gICAgICAgICAgICB2YXIgc2F0dXJhdGlvbiA9ICgwLCBfdXRpbHMuY2xhbXApKHMgKyAoMCwgX3V0aWxzLmdldEluY3JlbWVudCkoa2V5LCBbJ2xlZnQnLCAncmlnaHQnXSwgaW5jcmVtZW50KSwgMCwgMSk7XG4gICAgICAgICAgICB2YXIgYnJpZ2h0ID0gKDAsIF91dGlscy5jbGFtcCkodiArICgwLCBfdXRpbHMuZ2V0SW5jcmVtZW50KShrZXksIFsndXAnLCAnZG93biddLCBpbmNyZW1lbnQpLCAwLCAxKTtcblxuICAgICAgICAgICAgdGhpcy5jaGFuZ2UoaCwgc2F0dXJhdGlvbiwgYnJpZ2h0LCBhKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlQ2hhbmdlOiBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZSkge1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgdmFyIF8kcmVmcyRjb250YWluZXIgPSB0aGlzLiRyZWZzLmNvbnRhaW5lcixcbiAgICAgICAgICAgICAgICBjbGllbnRXaWR0aCA9IF8kcmVmcyRjb250YWluZXIuY2xpZW50V2lkdGgsXG4gICAgICAgICAgICAgICAgY2xpZW50SGVpZ2h0ID0gXyRyZWZzJGNvbnRhaW5lci5jbGllbnRIZWlnaHQ7XG5cbiAgICAgICAgICAgIHZhciBsZWZ0ID0gKDAsIF91dGlscy5jbGFtcCkodGhpcy5nZXRMZWZ0KGUpLCAwLCBjbGllbnRXaWR0aCk7XG4gICAgICAgICAgICB2YXIgdG9wID0gKDAsIF91dGlscy5jbGFtcCkodGhpcy5nZXRUb3AoZSksIDAsIGNsaWVudEhlaWdodCk7XG4gICAgICAgICAgICB2YXIgc2F0dXJhdGlvbiA9IGxlZnQgLyBjbGllbnRXaWR0aDtcbiAgICAgICAgICAgIHZhciBicmlnaHQgPSAoMCwgX3V0aWxzLmNsYW1wKSgxIC0gdG9wIC8gY2xpZW50SGVpZ2h0LCAwLCAxKTtcblxuICAgICAgICAgICAgdGhpcy5jaGFuZ2UodGhpcy52YWx1ZS5oc3YuaCwgc2F0dXJhdGlvbiwgYnJpZ2h0LCB0aGlzLnZhbHVlLmhzdi5hKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlTW91c2VEb3duOiBmdW5jdGlvbiBoYW5kbGVNb3VzZURvd24oZSkge1xuICAgICAgICAgICAgX2hzYU1peGluMi5kZWZhdWx0Lm1ldGhvZHMuaGFuZGxlTW91c2VEb3duLmNhbGwodGhpcywgZSk7XG5cbiAgICAgICAgICAgICgwLCBfZG9tLm9uKSh3aW5kb3csICdtb3VzZXVwJywgdGhpcy5oYW5kbGVDaGFuZ2UpO1xuICAgICAgICB9LFxuICAgICAgICB1bmJpbmRFdmVudExpc3RlbmVyczogZnVuY3Rpb24gdW5iaW5kRXZlbnRMaXN0ZW5lcnMoZSkge1xuICAgICAgICAgICAgX2hzYU1peGluMi5kZWZhdWx0Lm1ldGhvZHMudW5iaW5kRXZlbnRMaXN0ZW5lcnMuY2FsbCh0aGlzLCBlKTtcblxuICAgICAgICAgICAgKDAsIF9kb20ub2ZmKSh3aW5kb3csICdtb3VzZXVwJywgdGhpcy5oYW5kbGVDaGFuZ2UpO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxNDMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2hzYU1peGluID0gX193ZWJwYWNrX3JlcXVpcmVfXyg3Nik7XG5cbnZhciBfaHNhTWl4aW4yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaHNhTWl4aW4pO1xuXG52YXIgX3ByZWZpeE1peGluID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0Nyk7XG5cbnZhciBfcHJlZml4TWl4aW4yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcHJlZml4TWl4aW4pO1xuXG52YXIgX3V0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygzOCk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnSHVlJyxcblxuICAgIG1peGluczogW19oc2FNaXhpbjIuZGVmYXVsdCwgX3ByZWZpeE1peGluMi5kZWZhdWx0XSxcblxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHZhciBub3JtYWxTdGVwID0gMSAvIDM2MCAqIDI1O1xuICAgICAgICB2YXIganVtcFN0ZXAgPSAyMCAqIG5vcm1hbFN0ZXA7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGxlZnQ6IC1ub3JtYWxTdGVwLFxuICAgICAgICAgICAgcmlnaHQ6IG5vcm1hbFN0ZXAsXG4gICAgICAgICAgICB1cDoganVtcFN0ZXAsXG4gICAgICAgICAgICBkb3duOiAtanVtcFN0ZXAsXG4gICAgICAgICAgICBwb3dlcktleTogJ3NoaWZ0S2V5JyxcbiAgICAgICAgICAgIHBlcmNlbnQ6ICgwLCBfdXRpbHMuY2xhbXApKHRoaXMudmFsdWUuaHNsLmggKiAxMDAgLyAzNjAsIDAsIDEwMClcbiAgICAgICAgfTtcbiAgICB9LFxuXG5cbiAgICB3YXRjaDoge1xuICAgICAgICB2YWx1ZTogZnVuY3Rpb24gdmFsdWUoKSB7XG4gICAgICAgICAgICB0aGlzLnBlcmNlbnQgPSAoMCwgX3V0aWxzLmNsYW1wKSh0aGlzLnZhbHVlLmhzbC5oICogMTAwIC8gMzYwLCAwLCAxMDApO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgY2hhbmdlOiBmdW5jdGlvbiBjaGFuZ2UocGVyY2VudCkge1xuICAgICAgICAgICAgdGhpcy5wZXJjZW50ID0gKDAsIF91dGlscy5jbGFtcCkocGVyY2VudCwgMCwgMTAwKTtcblxuICAgICAgICAgICAgdmFyIF92YWx1ZSRoc2wgPSB0aGlzLnZhbHVlLmhzbCxcbiAgICAgICAgICAgICAgICBoID0gX3ZhbHVlJGhzbC5oLFxuICAgICAgICAgICAgICAgIHMgPSBfdmFsdWUkaHNsLnMsXG4gICAgICAgICAgICAgICAgbCA9IF92YWx1ZSRoc2wubCxcbiAgICAgICAgICAgICAgICBhID0gX3ZhbHVlJGhzbC5hO1xuXG4gICAgICAgICAgICB2YXIgbmV3SHVlID0gKDAsIF91dGlscy5jbGFtcCkocGVyY2VudCAvIDEwMCAqIDM2MCwgMCwgMzYwKTtcblxuICAgICAgICAgICAgaWYgKGggIT09IG5ld0h1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2NoYW5nZScsIHsgaDogbmV3SHVlLCBzOiBzLCBsOiBsLCBhOiBhLCBzb3VyY2U6ICdoc2wnIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVTbGlkZTogZnVuY3Rpb24gaGFuZGxlU2xpZGUoZSwgZGlyZWN0aW9uKSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICBpZiAoZVt0aGlzLnBvd2VyS2V5XSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlKGRpcmVjdGlvbiA8IDAgPyAwIDogMTAwKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlKHRoaXMucGVyY2VudCArIGRpcmVjdGlvbik7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUNoYW5nZTogZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGUpIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgIHZhciBsZWZ0ID0gdGhpcy5nZXRMZWZ0KGUpO1xuXG4gICAgICAgICAgICBpZiAobGVmdCA8IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZSgwKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBjbGllbnRXaWR0aCA9IHRoaXMuJHJlZnMuY29udGFpbmVyLmNsaWVudFdpZHRoO1xuXG5cbiAgICAgICAgICAgIGlmIChsZWZ0ID4gY2xpZW50V2lkdGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZSgxMDApO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jaGFuZ2UobGVmdCAqIDEwMCAvIGNsaWVudFdpZHRoKTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTQ0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9oc2FNaXhpbiA9IF9fd2VicGFja19yZXF1aXJlX18oNzYpO1xuXG52YXIgX2hzYU1peGluMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2hzYU1peGluKTtcblxudmFyIF9wcmVmaXhNaXhpbiA9IF9fd2VicGFja19yZXF1aXJlX18oNDcpO1xuXG52YXIgX3ByZWZpeE1peGluMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3ByZWZpeE1peGluKTtcblxudmFyIF91dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oMzgpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ0FscGhhJyxcblxuICAgIG1peGluczogW19oc2FNaXhpbjIuZGVmYXVsdCwgX3ByZWZpeE1peGluMi5kZWZhdWx0XSxcblxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHZhciBub3JtYWxTdGVwID0gMTtcbiAgICAgICAgdmFyIGp1bXBTdGVwID0gMTA7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGxlZnQ6IC1ub3JtYWxTdGVwLFxuICAgICAgICAgICAgcmlnaHQ6IG5vcm1hbFN0ZXAsXG4gICAgICAgICAgICB1cDoganVtcFN0ZXAsXG4gICAgICAgICAgICBkb3duOiAtanVtcFN0ZXAsXG4gICAgICAgICAgICBwb3dlcktleTogJ3NoaWZ0S2V5J1xuICAgICAgICB9O1xuICAgIH0sXG5cblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGdyYWRpZW50U3R5bGU6IGZ1bmN0aW9uIGdyYWRpZW50U3R5bGUoKSB7XG4gICAgICAgICAgICB2YXIgX3ZhbHVlJHJnYmEgPSB0aGlzLnZhbHVlLnJnYmEsXG4gICAgICAgICAgICAgICAgciA9IF92YWx1ZSRyZ2JhLnIsXG4gICAgICAgICAgICAgICAgZyA9IF92YWx1ZSRyZ2JhLmcsXG4gICAgICAgICAgICAgICAgYiA9IF92YWx1ZSRyZ2JhLmI7XG5cbiAgICAgICAgICAgIHZhciBzdGFydCA9ICgwLCBfdXRpbHMudG9SR0JBU3RyaW5nKSh7IHI6IHIsIGc6IGcsIGI6IGIsIGE6IDAgfSk7XG4gICAgICAgICAgICB2YXIgZmluaXNoID0gKDAsIF91dGlscy50b1JHQkFTdHJpbmcpKHsgcjogciwgZzogZywgYjogYiwgYTogMSB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIHsgYmFja2dyb3VuZDogJ2xpbmVhci1ncmFkaWVudCh0byByaWdodCwgJyArIFN0cmluZyhzdGFydCkgKyAnIDAlLCAnICsgU3RyaW5nKGZpbmlzaCkgKyAnIDEwMCUpJyB9O1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgY2hhbmdlOiBmdW5jdGlvbiBjaGFuZ2UobmV3QWxwaGEpIHtcbiAgICAgICAgICAgIHZhciBfdmFsdWUkaHNsID0gdGhpcy52YWx1ZS5oc2wsXG4gICAgICAgICAgICAgICAgaCA9IF92YWx1ZSRoc2wuaCxcbiAgICAgICAgICAgICAgICBzID0gX3ZhbHVlJGhzbC5zLFxuICAgICAgICAgICAgICAgIGwgPSBfdmFsdWUkaHNsLmw7XG4gICAgICAgICAgICB2YXIgYSA9IHRoaXMudmFsdWUuYTtcblxuXG4gICAgICAgICAgICBpZiAoYSAhPT0gbmV3QWxwaGEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdjaGFuZ2UnLCB7IGg6IGgsIHM6IHMsIGw6IGwsIGE6IG5ld0FscGhhLCBzb3VyY2U6ICdyZ2JhJyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlU2xpZGU6IGZ1bmN0aW9uIGhhbmRsZVNsaWRlKGUsIGRpcmVjdGlvbikge1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgdGhpcy5jaGFuZ2UoKDAsIF91dGlscy5jbGFtcCkoZVt0aGlzLnBvd2VyS2V5XSA/IGRpcmVjdGlvbiA6IE1hdGgucm91bmQodGhpcy52YWx1ZS5oc2wuYSAqIDEwMCArIGRpcmVjdGlvbikgLyAxMDAsIDAsIDEpKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlQ2hhbmdlOiBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZSkge1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgdmFyIGxlZnQgPSB0aGlzLmdldExlZnQoZSk7XG5cbiAgICAgICAgICAgIGlmIChsZWZ0IDwgMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlKDApO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIGNsaWVudFdpZHRoID0gdGhpcy4kcmVmcy5jb250YWluZXIuY2xpZW50V2lkdGg7XG5cblxuICAgICAgICAgICAgaWYgKGxlZnQgPiBjbGllbnRXaWR0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlKDEpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jaGFuZ2UoTWF0aC5yb3VuZChsZWZ0ICogMTAwIC8gY2xpZW50V2lkdGgpIC8gMTAwKTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTQ1ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NvbnRlbnRfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE0Nik7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY29udGVudF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NvbnRlbnRfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jb250ZW50X3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jb250ZW50X3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2UyNzY4MTAwX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY29udGVudF92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMzkxKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9lMjc2ODEwMF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NvbnRlbnRfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9lMjc2ODEwMF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NvbnRlbnRfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY29udGVudF92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2UyNzY4MTAwX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY29udGVudF92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfZTI3NjgxMDBfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jb250ZW50X3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiAxNDYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG5cbnZhciBwcmVmaXhDbHMgPSAnaXZ1LWxheW91dCc7XG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ0NvbnRlbnQnLFxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIHdyYXBDbGFzc2VzOiBmdW5jdGlvbiB3cmFwQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBwcmVmaXhDbHMgKyAnLWNvbnRlbnQnO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxNDcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcGlja2VyX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNDgpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3BpY2tlcl92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3BpY2tlcl92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3BpY2tlcl92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcGlja2VyX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzFmMDU1MDQ2X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfcGlja2VyX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygzOTUpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzFmMDU1MDQ2X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfcGlja2VyX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMWYwNTUwNDZfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9waWNrZXJfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcGlja2VyX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMWYwNTUwNDZfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9waWNrZXJfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzFmMDU1MDQ2X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfcGlja2VyX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiAxNDggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX3R5cGVvZjIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM2KTtcblxudmFyIF90eXBlb2YzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdHlwZW9mMik7XG5cbnZhciBfc3RyaW5naWZ5ID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1NCk7XG5cbnZhciBfc3RyaW5naWZ5MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3N0cmluZ2lmeSk7XG5cbnZhciBfc2xpY2VkVG9BcnJheTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIzKTtcblxudmFyIF9zbGljZWRUb0FycmF5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3NsaWNlZFRvQXJyYXkyKTtcblxudmFyIF9leHRlbmRzMiA9IF9fd2VicGFja19yZXF1aXJlX18oMzEpO1xuXG52YXIgX2V4dGVuZHMzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZXh0ZW5kczIpO1xuXG52YXIgX3RvQ29uc3VtYWJsZUFycmF5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMTYpO1xuXG52YXIgX3RvQ29uc3VtYWJsZUFycmF5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RvQ29uc3VtYWJsZUFycmF5Mik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF9pbnB1dCA9IF9fd2VicGFja19yZXF1aXJlX18oMzcpO1xuXG52YXIgX2lucHV0MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2lucHV0KTtcblxudmFyIF9kcm9wZG93biA9IF9fd2VicGFja19yZXF1aXJlX18oMzMpO1xuXG52YXIgX2Ryb3Bkb3duMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2Ryb3Bkb3duKTtcblxudmFyIF9pY29uID0gX193ZWJwYWNrX3JlcXVpcmVfXyg4KTtcblxudmFyIF9pY29uMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2ljb24pO1xuXG52YXIgX3ZDbGlja091dHNpZGVYID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNSk7XG5cbnZhciBfdHJhbnNmZXJEb20gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIxKTtcblxudmFyIF90cmFuc2ZlckRvbTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90cmFuc2ZlckRvbSk7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxudmFyIF91dGlsID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNyk7XG5cbnZhciBfZW1pdHRlciA9IF9fd2VicGFja19yZXF1aXJlX18oNCk7XG5cbnZhciBfZW1pdHRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9lbWl0dGVyKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtZGF0ZS1waWNrZXInO1xudmFyIHBpY2tlclByZWZpeENscyA9ICdpdnUtcGlja2VyJztcblxudmFyIGlzRW1wdHlBcnJheSA9IGZ1bmN0aW9uICh2YWwpIHtcbiAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgICByZXR1cm4gdmFsLnJlZHVjZShmdW5jdGlvbiAoaXNFbXB0eSwgc3RyKSB7XG4gICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgICAgICByZXR1cm4gaXNFbXB0eSAmJiAhc3RyIHx8IHR5cGVvZiBzdHIgPT09ICdzdHJpbmcnICYmIHN0ci50cmltKCkgPT09ICcnO1xuICAgIH0uYmluZCh1bmRlZmluZWQpLCB0cnVlKTtcbn0uYmluZCh1bmRlZmluZWQpO1xudmFyIGtleVZhbHVlTWFwcGVyID0ge1xuICAgIDQwOiAndXAnLFxuICAgIDM5OiAncmlnaHQnLFxuICAgIDM4OiAnZG93bicsXG4gICAgMzc6ICdsZWZ0J1xufTtcblxudmFyIG1hcFBvc3NpYmxlVmFsdWVzID0gZnVuY3Rpb24gKGtleSwgaG9yaXpvbnRhbCwgdmVydGljYWwpIHtcbiAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcblxuICAgIGlmIChrZXkgPT09ICdsZWZ0JykgcmV0dXJuIGhvcml6b250YWwgKiAtMTtcbiAgICBpZiAoa2V5ID09PSAncmlnaHQnKSByZXR1cm4gaG9yaXpvbnRhbCAqIDE7XG4gICAgaWYgKGtleSA9PT0gJ3VwJykgcmV0dXJuIHZlcnRpY2FsICogMTtcbiAgICBpZiAoa2V5ID09PSAnZG93bicpIHJldHVybiB2ZXJ0aWNhbCAqIC0xO1xufS5iaW5kKHVuZGVmaW5lZCk7XG5cbnZhciBwdWxzZUVsZW1lbnQgPSBmdW5jdGlvbiAoZWwpIHtcbiAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcblxuICAgIHZhciBwdWxzZUNsYXNzID0gJ2l2dS1kYXRlLXBpY2tlci1idG4tcHVsc2UnO1xuICAgIGVsLmNsYXNzTGlzdC5hZGQocHVsc2VDbGFzcyk7XG4gICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgICAgICByZXR1cm4gZWwuY2xhc3NMaXN0LnJlbW92ZShwdWxzZUNsYXNzKTtcbiAgICB9LmJpbmQodW5kZWZpbmVkKSwgMjAwKTtcbn0uYmluZCh1bmRlZmluZWQpO1xuXG52YXIgZXh0cmFjdFRpbWUgPSBmdW5jdGlvbiAoZGF0ZSkge1xuICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuXG4gICAgaWYgKCFkYXRlKSByZXR1cm4gWzAsIDAsIDBdO1xuICAgIHJldHVybiBbZGF0ZS5nZXRIb3VycygpLCBkYXRlLmdldE1pbnV0ZXMoKSwgZGF0ZS5nZXRTZWNvbmRzKCldO1xufS5iaW5kKHVuZGVmaW5lZCk7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBtaXhpbnM6IFtfZW1pdHRlcjIuZGVmYXVsdF0sXG4gICAgY29tcG9uZW50czogeyBpSW5wdXQ6IF9pbnB1dDIuZGVmYXVsdCwgRHJvcDogX2Ryb3Bkb3duMi5kZWZhdWx0LCBJY29uOiBfaWNvbjIuZGVmYXVsdCB9LFxuICAgIGRpcmVjdGl2ZXM6IHsgY2xpY2tPdXRzaWRlOiBfdkNsaWNrT3V0c2lkZVguZGlyZWN0aXZlLCBUcmFuc2ZlckRvbTogX3RyYW5zZmVyRG9tMi5kZWZhdWx0IH0sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgZm9ybWF0OiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgcmVhZG9ubHk6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBkaXNhYmxlZDoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIGVkaXRhYmxlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBjbGVhcmFibGU6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIGNvbmZpcm06IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBvcGVuOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogbnVsbFxuICAgICAgICB9LFxuICAgICAgICBtdWx0aXBsZToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHRpbWVQaWNrZXJPcHRpb25zOiB7XG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgICAgICB9LmJpbmQodW5kZWZpbmVkKSxcbiAgICAgICAgICAgIHR5cGU6IE9iamVjdFxuICAgICAgICB9LFxuICAgICAgICBzcGxpdFBhbmVsczoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHNob3dXZWVrTnVtYmVyczoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHN0YXJ0RGF0ZToge1xuICAgICAgICAgICAgdHlwZTogRGF0ZVxuICAgICAgICB9LFxuICAgICAgICBzaXplOiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnc21hbGwnLCAnbGFyZ2UnLCAnZGVmYXVsdCddKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIXRoaXMuJElWSUVXIHx8IHRoaXMuJElWSUVXLnNpemUgPT09ICcnID8gJ2RlZmF1bHQnIDogdGhpcy4kSVZJRVcuc2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgcGxhY2Vob2xkZXI6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICcnXG4gICAgICAgIH0sXG4gICAgICAgIHBsYWNlbWVudDoge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ3RvcCcsICd0b3Atc3RhcnQnLCAndG9wLWVuZCcsICdib3R0b20nLCAnYm90dG9tLXN0YXJ0JywgJ2JvdHRvbS1lbmQnLCAnbGVmdCcsICdsZWZ0LXN0YXJ0JywgJ2xlZnQtZW5kJywgJ3JpZ2h0JywgJ3JpZ2h0LXN0YXJ0JywgJ3JpZ2h0LWVuZCddKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGRlZmF1bHQ6ICdib3R0b20tc3RhcnQnXG4gICAgICAgIH0sXG4gICAgICAgIHRyYW5zZmVyOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICF0aGlzLiRJVklFVyB8fCB0aGlzLiRJVklFVy50cmFuc2ZlciA9PT0gJycgPyBmYWxzZSA6IHRoaXMuJElWSUVXLnRyYW5zZmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBuYW1lOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgZWxlbWVudElkOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgc3RlcHM6IHtcbiAgICAgICAgICAgIHR5cGU6IEFycmF5LFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgfS5iaW5kKHVuZGVmaW5lZClcbiAgICAgICAgfSxcbiAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgIHR5cGU6IFtEYXRlLCBTdHJpbmcsIEFycmF5XVxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICB0eXBlOiBPYmplY3QsXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgICAgICB9LmJpbmQodW5kZWZpbmVkKVxuICAgICAgICB9LFxuICAgICAgICBzZXBhcmF0b3I6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICcgLSAnXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHZhciBpc1JhbmdlID0gdGhpcy50eXBlLmluY2x1ZGVzKCdyYW5nZScpO1xuICAgICAgICB2YXIgZW1wdHlBcnJheSA9IGlzUmFuZ2UgPyBbbnVsbCwgbnVsbF0gOiBbbnVsbF07XG4gICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSBpc0VtcHR5QXJyYXkoKGlzUmFuZ2UgPyB0aGlzLnZhbHVlIDogW3RoaXMudmFsdWVdKSB8fCBbXSkgPyBlbXB0eUFycmF5IDogdGhpcy5wYXJzZURhdGUodGhpcy52YWx1ZSk7XG4gICAgICAgIHZhciBmb2N1c2VkVGltZSA9IGluaXRpYWxWYWx1ZS5tYXAoZXh0cmFjdFRpbWUpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVmaXhDbHM6IHByZWZpeENscyxcbiAgICAgICAgICAgIHNob3dDbG9zZTogZmFsc2UsXG4gICAgICAgICAgICB2aXNpYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGludGVybmFsVmFsdWU6IGluaXRpYWxWYWx1ZSxcbiAgICAgICAgICAgIGRpc2FibGVDbGlja091dFNpZGU6IGZhbHNlLFxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlVW5kZXJUcmFuc2ZlcjogZmFsc2UsXG4gICAgICAgICAgICBzZWxlY3Rpb25Nb2RlOiB0aGlzLm9uU2VsZWN0aW9uTW9kZUNoYW5nZSh0aGlzLnR5cGUpLFxuICAgICAgICAgICAgZm9yY2VJbnB1dFJlcmVuZGVyOiAxLFxuICAgICAgICAgICAgaXNGb2N1c2VkOiBmYWxzZSxcbiAgICAgICAgICAgIGZvY3VzZWREYXRlOiBpbml0aWFsVmFsdWVbMF0gfHwgdGhpcy5zdGFydERhdGUgfHwgbmV3IERhdGUoKSxcbiAgICAgICAgICAgIGZvY3VzZWRUaW1lOiB7XG4gICAgICAgICAgICAgICAgY29sdW1uOiAwLFxuICAgICAgICAgICAgICAgIHBpY2tlcjogMCxcbiAgICAgICAgICAgICAgICB0aW1lOiBmb2N1c2VkVGltZSxcbiAgICAgICAgICAgICAgICBhY3RpdmU6IGZhbHNlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaW50ZXJuYWxGb2N1czogZmFsc2VcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgd3JhcHBlckNsYXNzZXM6IGZ1bmN0aW9uIHdyYXBwZXJDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXhDbHMsICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKHt9LCBwcmVmaXhDbHMgKyAnLWZvY3VzZWQnLCB0aGlzLmlzRm9jdXNlZCldO1xuICAgICAgICB9LFxuICAgICAgICBwdWJsaWNWTW9kZWxWYWx1ZTogZnVuY3Rpb24gcHVibGljVk1vZGVsVmFsdWUoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmludGVybmFsVmFsdWUuc2xpY2UoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFyIGlzUmFuZ2UgPSB0aGlzLnR5cGUuaW5jbHVkZXMoJ3JhbmdlJyk7XG4gICAgICAgICAgICAgICAgdmFyIHZhbCA9IHRoaXMuaW50ZXJuYWxWYWx1ZS5tYXAoZnVuY3Rpb24gKGRhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRlIGluc3RhbmNlb2YgRGF0ZSA/IG5ldyBEYXRlKGRhdGUpIDogZGF0ZSB8fCAnJztcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudHlwZS5tYXRjaCgvXnRpbWUvKSkgdmFsID0gdmFsLm1hcCh0aGlzLmZvcm1hdERhdGUpO1xuICAgICAgICAgICAgICAgIHJldHVybiBpc1JhbmdlIHx8IHRoaXMubXVsdGlwbGUgPyB2YWwgOiB2YWxbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHB1YmxpY1N0cmluZ1ZhbHVlOiBmdW5jdGlvbiBwdWJsaWNTdHJpbmdWYWx1ZSgpIHtcbiAgICAgICAgICAgIHZhciBmb3JtYXREYXRlID0gdGhpcy5mb3JtYXREYXRlLFxuICAgICAgICAgICAgICAgIHB1YmxpY1ZNb2RlbFZhbHVlID0gdGhpcy5wdWJsaWNWTW9kZWxWYWx1ZSxcbiAgICAgICAgICAgICAgICB0eXBlID0gdGhpcy50eXBlO1xuXG4gICAgICAgICAgICBpZiAodHlwZS5tYXRjaCgvXnRpbWUvKSkgcmV0dXJuIHB1YmxpY1ZNb2RlbFZhbHVlO1xuICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHJldHVybiBmb3JtYXREYXRlKHB1YmxpY1ZNb2RlbFZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHB1YmxpY1ZNb2RlbFZhbHVlKSA/IHB1YmxpY1ZNb2RlbFZhbHVlLm1hcChmb3JtYXREYXRlKSA6IGZvcm1hdERhdGUocHVibGljVk1vZGVsVmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICBvcGVuZWQ6IGZ1bmN0aW9uIG9wZW5lZCgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9wZW4gPT09IG51bGwgPyB0aGlzLnZpc2libGUgOiB0aGlzLm9wZW47XG4gICAgICAgIH0sXG4gICAgICAgIHRyYW5zaXRpb246IGZ1bmN0aW9uIHRyYW5zaXRpb24oKSB7XG4gICAgICAgICAgICB2YXIgYm90dG9tUGxhY2VkID0gdGhpcy5wbGFjZW1lbnQubWF0Y2goL15ib3R0b20vKTtcbiAgICAgICAgICAgIHJldHVybiBib3R0b21QbGFjZWQgPyAnc2xpZGUtdXAnIDogJ3NsaWRlLWRvd24nO1xuICAgICAgICB9LFxuICAgICAgICB2aXN1YWxWYWx1ZTogZnVuY3Rpb24gdmlzdWFsVmFsdWUoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXREYXRlKHRoaXMuaW50ZXJuYWxWYWx1ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGlzQ29uZmlybTogZnVuY3Rpb24gaXNDb25maXJtKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlybSB8fCB0aGlzLnR5cGUgPT09ICdkYXRldGltZScgfHwgdGhpcy50eXBlID09PSAnZGF0ZXRpbWVyYW5nZScgfHwgdGhpcy5tdWx0aXBsZTtcbiAgICAgICAgfSxcbiAgICAgICAgYXJyb3dUeXBlOiBmdW5jdGlvbiBhcnJvd1R5cGUoKSB7XG4gICAgICAgICAgICB2YXIgdHlwZSA9ICcnO1xuXG4gICAgICAgICAgICBpZiAodGhpcy50eXBlID09PSAndGltZScgfHwgdGhpcy50eXBlID09PSAndGltZXJhbmdlJykge1xuICAgICAgICAgICAgICAgIHR5cGUgPSAnaW9zLXRpbWUtb3V0bGluZSc7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy4kSVZJRVcpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuJElWSUVXLnRpbWVQaWNrZXIuY3VzdG9tSWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSA9ICcnO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuJElWSUVXLnRpbWVQaWNrZXIuaWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSA9IHRoaXMuJElWSUVXLnRpbWVQaWNrZXIuaWNvbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdHlwZSA9ICdpb3MtY2FsZW5kYXItb3V0bGluZSc7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy4kSVZJRVcpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuJElWSUVXLmRhdGVQaWNrZXIuY3VzdG9tSWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSA9ICcnO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuJElWSUVXLmRhdGVQaWNrZXIuaWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSA9IHRoaXMuJElWSUVXLmRhdGVQaWNrZXIuaWNvbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuc2hvd0Nsb3NlKSB0eXBlID0gJ2lvcy1jbG9zZS1jaXJjbGUnO1xuXG4gICAgICAgICAgICByZXR1cm4gdHlwZTtcbiAgICAgICAgfSxcbiAgICAgICAgY3VzdG9tQXJyb3dUeXBlOiBmdW5jdGlvbiBjdXN0b21BcnJvd1R5cGUoKSB7XG4gICAgICAgICAgICB2YXIgdHlwZSA9ICcnO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuc2hvd0Nsb3NlKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3RpbWUnIHx8IHRoaXMudHlwZSA9PT0gJ3RpbWVyYW5nZScpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuJElWSUVXKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy4kSVZJRVcudGltZVBpY2tlci5jdXN0b21JY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSA9IHRoaXMuJElWSUVXLnRpbWVQaWNrZXIuY3VzdG9tSWNvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLiRJVklFVykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuJElWSUVXLmRhdGVQaWNrZXIuY3VzdG9tSWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSB0aGlzLiRJVklFVy5kYXRlUGlja2VyLmN1c3RvbUljb247XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgICB9LFxuICAgICAgICBhcnJvd1NpemU6IGZ1bmN0aW9uIGFycm93U2l6ZSgpIHtcbiAgICAgICAgICAgIHZhciBzaXplID0gJyc7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5zaG93Q2xvc2UpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50eXBlID09PSAndGltZScgfHwgdGhpcy50eXBlID09PSAndGltZXJhbmdlJykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy4kSVZJRVcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLiRJVklFVy50aW1lUGlja2VyLmljb25TaXplKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA9IHRoaXMuJElWSUVXLnRpbWVQaWNrZXIuaWNvblNpemU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy4kSVZJRVcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLiRJVklFVy5kYXRlUGlja2VyLmljb25TaXplKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA9IHRoaXMuJElWSUVXLmRhdGVQaWNrZXIuaWNvblNpemU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBzaXplO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIG9uU2VsZWN0aW9uTW9kZUNoYW5nZTogZnVuY3Rpb24gb25TZWxlY3Rpb25Nb2RlQ2hhbmdlKHR5cGUpIHtcbiAgICAgICAgICAgIGlmICh0eXBlLm1hdGNoKC9eZGF0ZS8pKSB0eXBlID0gJ2RhdGUnO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlID0gKDAsIF9hc3Npc3Qub25lT2YpKHR5cGUsIFsneWVhcicsICdtb250aCcsICdkYXRlJywgJ3RpbWUnXSkgJiYgdHlwZTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbk1vZGU7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVRyYW5zZmVyQ2xpY2s6IGZ1bmN0aW9uIGhhbmRsZVRyYW5zZmVyQ2xpY2soKSB7XG4gICAgICAgICAgICBpZiAodGhpcy50cmFuc2ZlcikgdGhpcy5kaXNhYmxlQ2xvc2VVbmRlclRyYW5zZmVyID0gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlQ2xvc2U6IGZ1bmN0aW9uIGhhbmRsZUNsb3NlKGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVDbG9zZVVuZGVyVHJhbnNmZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVDbG9zZVVuZGVyVHJhbnNmZXIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChlICYmIGUudHlwZSA9PT0gJ21vdXNlZG93bicgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy52aXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgdmFyIHBpY2tlclBhbmVsID0gdGhpcy4kcmVmcy5waWNrZXJQYW5lbCAmJiB0aGlzLiRyZWZzLnBpY2tlclBhbmVsLiRlbDtcbiAgICAgICAgICAgICAgICBpZiAoZSAmJiBwaWNrZXJQYW5lbCAmJiBwaWNrZXJQYW5lbC5jb250YWlucyhlLnRhcmdldCkpIHJldHVybjtcblxuICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGUgJiYgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGUgJiYgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1jbGlja291dHNpZGUnLCBlKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVDbGlja091dFNpZGUgPSBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlRm9jdXM6IGZ1bmN0aW9uIGhhbmRsZUZvY3VzKGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnJlYWRvbmx5KSByZXR1cm47XG4gICAgICAgICAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XG4gICAgICAgICAgICBpZiAoZSAmJiBlLnR5cGUgPT09ICdmb2N1cycpIHJldHVybjtcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUJsdXI6IGZ1bmN0aW9uIGhhbmRsZUJsdXIoZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaW50ZXJuYWxGb2N1cykge1xuICAgICAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxGb2N1cyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLnZpc2libGUpIHtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmlzRm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5vblNlbGVjdGlvbk1vZGVDaGFuZ2UodGhpcy50eXBlKTtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IHRoaXMuaW50ZXJuYWxWYWx1ZS5zbGljZSgpO1xuICAgICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICAgICAgdGhpcy4kcmVmcy5waWNrZXJQYW5lbC5vblRvZ2dsZVZpc2liaWxpdHkoZmFsc2UpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVLZXlkb3duOiBmdW5jdGlvbiBoYW5kbGVLZXlkb3duKGUpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIga2V5Q29kZSA9IGUua2V5Q29kZTtcblxuICAgICAgICAgICAgaWYgKGtleUNvZGUgPT09IDkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy52aXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0NvbmZpcm0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzZWxlY3RvciA9ICcuJyArIHBpY2tlclByZWZpeENscyArICctY29uZmlybSA+IConO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRhYmJhYmxlID0gdGhpcy4kcmVmcy5kcm9wLiRlbC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxGb2N1cyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZWxlbWVudCA9IFtdLmNvbmNhdCgoMCwgX3RvQ29uc3VtYWJsZUFycmF5My5kZWZhdWx0KSh0YWJiYWJsZSkpW2Uuc2hpZnRLZXkgPyAncG9wJyA6ICdzaGlmdCddKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUNsb3NlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBhcnJvd3MgPSBbMzcsIDM4LCAzOSwgNDBdO1xuICAgICAgICAgICAgaWYgKCF0aGlzLnZpc2libGUgJiYgYXJyb3dzLmluY2x1ZGVzKGtleUNvZGUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChrZXlDb2RlID09PSAyNykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnZpc2libGUpIHtcbiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVDbG9zZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGtleUNvZGUgPT09IDEzKSB7XG4gICAgICAgICAgICAgICAgdmFyIHRpbWVQaWNrZXJzID0gKDAsIF9hc3Npc3QuZmluZENvbXBvbmVudHNEb3dud2FyZCkodGhpcywgJ1RpbWVTcGlubmVyJyk7XG4gICAgICAgICAgICAgICAgaWYgKHRpbWVQaWNrZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGNvbHVtbnNQZXJQaWNrZXIgPSB0aW1lUGlja2Vyc1swXS5zaG93U2Vjb25kcyA/IDMgOiAyO1xuICAgICAgICAgICAgICAgICAgICB2YXIgcGlja2VySW5kZXggPSBNYXRoLmZsb29yKHRoaXMuZm9jdXNlZFRpbWUuY29sdW1uIC8gY29sdW1uc1BlclBpY2tlcik7XG4gICAgICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9IHRoaXMuZm9jdXNlZFRpbWUudGltZVtwaWNrZXJJbmRleF07XG5cbiAgICAgICAgICAgICAgICAgICAgdGltZVBpY2tlcnNbcGlja2VySW5kZXhdLmNob29zZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnR5cGUubWF0Y2goL3JhbmdlLykpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5waWNrZXJQYW5lbC5oYW5kbGVSYW5nZVBpY2sodGhpcy5mb2N1c2VkRGF0ZSwgJ2RhdGUnKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB2YXIgcGFuZWxzID0gKDAsIF9hc3Npc3QuZmluZENvbXBvbmVudHNEb3dud2FyZCkodGhpcywgJ1BhbmVsVGFibGUnKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGNvbXBhcmVEYXRlID0gZnVuY3Rpb24gKGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNsaWNlSW5kZXggPSBbJ3llYXInLCAnbW9udGgnLCAnZGF0ZSddLmluZGV4T2YodGhpcy50eXBlKSArIDE7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gW2QuZ2V0RnVsbFllYXIoKSwgZC5nZXRNb250aCgpLCBkLmdldERhdGUoKV0uc2xpY2UoMCwgc2xpY2VJbmRleCkuam9pbignLScpO1xuICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcyk7XG4gICAgICAgICAgICAgICAgICAgIHZhciBkYXRlSXNWYWxpZCA9IHBhbmVscy5maW5kKGZ1bmN0aW9uIChfcmVmMikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNlbGxzID0gX3JlZjIuY2VsbHM7XG4gICAgICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMik7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjZWxscy5maW5kKGZ1bmN0aW9uIChfcmVmMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkYXRlID0gX3JlZjMuZGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQgPSBfcmVmMy5kaXNhYmxlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVEYXRlKGRhdGUpID09PSBjb21wYXJlRGF0ZSh0aGlzLmZvY3VzZWREYXRlKSAmJiAhZGlzYWJsZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0ZUlzVmFsaWQpIHRoaXMub25QaWNrKHRoaXMuZm9jdXNlZERhdGUsIGZhbHNlLCAnZGF0ZScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFhcnJvd3MuaW5jbHVkZXMoa2V5Q29kZSkpIHJldHVybjtcbiAgICAgICAgICAgIGlmICh0aGlzLmZvY3VzZWRUaW1lLmFjdGl2ZSkgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZURhdGVQYW5lbChrZXlWYWx1ZU1hcHBlcltrZXlDb2RlXSwgZS5zaGlmdEtleSk7XG4gICAgICAgIH0sXG4gICAgICAgIHJlc2V0OiBmdW5jdGlvbiByZXNldCgpIHtcbiAgICAgICAgICAgIHRoaXMuJHJlZnMucGlja2VyUGFuZWwucmVzZXQgJiYgdGhpcy4kcmVmcy5waWNrZXJQYW5lbC5yZXNldCgpO1xuICAgICAgICB9LFxuICAgICAgICBuYXZpZ2F0ZVRpbWVQYW5lbDogZnVuY3Rpb24gbmF2aWdhdGVUaW1lUGFuZWwoZGlyZWN0aW9uKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMzID0gdGhpcztcblxuICAgICAgICAgICAgdGhpcy5mb2N1c2VkVGltZS5hY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgdmFyIGhvcml6b250YWwgPSBkaXJlY3Rpb24ubWF0Y2goL2xlZnR8cmlnaHQvKTtcbiAgICAgICAgICAgIHZhciB2ZXJ0aWNhbCA9IGRpcmVjdGlvbi5tYXRjaCgvdXB8ZG93bi8pO1xuICAgICAgICAgICAgdmFyIHRpbWVQaWNrZXJzID0gKDAsIF9hc3Npc3QuZmluZENvbXBvbmVudHNEb3dud2FyZCkodGhpcywgJ1RpbWVTcGlubmVyJyk7XG5cbiAgICAgICAgICAgIHZhciBtYXhOck9mQ29sdW1ucyA9ICh0aW1lUGlja2Vyc1swXS5zaG93U2Vjb25kcyA/IDMgOiAyKSAqIHRpbWVQaWNrZXJzLmxlbmd0aDtcbiAgICAgICAgICAgIHZhciBjb2x1bW4gPSBmdW5jdGlvbiAoY3VycmVudENvbHVtbikge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMzKTtcblxuICAgICAgICAgICAgICAgIHZhciBpbmNyZW1lbnRlZCA9IGN1cnJlbnRDb2x1bW4gKyAoaG9yaXpvbnRhbCA/IGRpcmVjdGlvbiA9PT0gJ2xlZnQnID8gLTEgOiAxIDogMCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChpbmNyZW1lbnRlZCArIG1heE5yT2ZDb2x1bW5zKSAlIG1heE5yT2ZDb2x1bW5zO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKHRoaXMuZm9jdXNlZFRpbWUuY29sdW1uKTtcblxuICAgICAgICAgICAgdmFyIGNvbHVtbnNQZXJQaWNrZXIgPSBtYXhOck9mQ29sdW1ucyAvIHRpbWVQaWNrZXJzLmxlbmd0aDtcbiAgICAgICAgICAgIHZhciBwaWNrZXJJbmRleCA9IE1hdGguZmxvb3IoY29sdW1uIC8gY29sdW1uc1BlclBpY2tlcik7XG4gICAgICAgICAgICB2YXIgY29sID0gY29sdW1uICUgY29sdW1uc1BlclBpY2tlcjtcblxuICAgICAgICAgICAgaWYgKGhvcml6b250YWwpIHtcbiAgICAgICAgICAgICAgICB2YXIgdGltZSA9IHRoaXMuaW50ZXJuYWxWYWx1ZS5tYXAoZXh0cmFjdFRpbWUpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1c2VkVGltZSA9ICgwLCBfZXh0ZW5kczMuZGVmYXVsdCkoe30sIHRoaXMuZm9jdXNlZFRpbWUsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uOiBjb2x1bW4sXG4gICAgICAgICAgICAgICAgICAgIHRpbWU6IHRpbWVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aW1lUGlja2Vycy5mb3JFYWNoKGZ1bmN0aW9uIChpbnN0YW5jZSwgaSkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMyk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IHBpY2tlckluZGV4KSBpbnN0YW5jZS51cGRhdGVGb2N1c2VkVGltZShjb2wsIHRpbWVbcGlja2VySW5kZXhdKTtlbHNlIGluc3RhbmNlLnVwZGF0ZUZvY3VzZWRUaW1lKC0xLCBpbnN0YW5jZS5mb2N1c2VkVGltZSk7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHZlcnRpY2FsKSB7XG4gICAgICAgICAgICAgICAgdmFyIGluY3JlbWVudCA9IGRpcmVjdGlvbiA9PT0gJ3VwJyA/IDEgOiAtMTtcbiAgICAgICAgICAgICAgICB2YXIgdGltZVBhcnRzID0gWydob3VycycsICdtaW51dGVzJywgJ3NlY29uZHMnXTtcblxuICAgICAgICAgICAgICAgIHZhciBwaWNrZXJQb3NzaWJsZVZhbHVlcyA9IHRpbWVQaWNrZXJzW3BpY2tlckluZGV4XVtTdHJpbmcodGltZVBhcnRzW2NvbF0pICsgJ0xpc3QnXTtcbiAgICAgICAgICAgICAgICB2YXIgbmV4dEluZGV4ID0gcGlja2VyUG9zc2libGVWYWx1ZXMuZmluZEluZGV4KGZ1bmN0aW9uIChfcmVmNCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgdGV4dCA9IF9yZWY0LnRleHQ7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMzKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNlZFRpbWUudGltZVtwaWNrZXJJbmRleF1bY29sXSA9PT0gdGV4dDtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpICsgaW5jcmVtZW50O1xuICAgICAgICAgICAgICAgIHZhciBuZXh0VmFsdWUgPSBwaWNrZXJQb3NzaWJsZVZhbHVlc1tuZXh0SW5kZXggJSBwaWNrZXJQb3NzaWJsZVZhbHVlcy5sZW5ndGhdLnRleHQ7XG4gICAgICAgICAgICAgICAgdmFyIHRpbWVzID0gdGhpcy5mb2N1c2VkVGltZS50aW1lLm1hcChmdW5jdGlvbiAodGltZSwgaSkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMyk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgIT09IHBpY2tlckluZGV4KSByZXR1cm4gdGltZTtcbiAgICAgICAgICAgICAgICAgICAgdGltZVtjb2xdID0gbmV4dFZhbHVlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGltZTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNlZFRpbWUgPSAoMCwgX2V4dGVuZHMzLmRlZmF1bHQpKHt9LCB0aGlzLmZvY3VzZWRUaW1lLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWU6IHRpbWVzXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICB0aW1lUGlja2Vycy5mb3JFYWNoKGZ1bmN0aW9uIChpbnN0YW5jZSwgaSkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMyk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IHBpY2tlckluZGV4KSBpbnN0YW5jZS51cGRhdGVGb2N1c2VkVGltZShjb2wsIHRpbWVzW2ldKTtlbHNlIGluc3RhbmNlLnVwZGF0ZUZvY3VzZWRUaW1lKC0xLCBpbnN0YW5jZS5mb2N1c2VkVGltZSk7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbmF2aWdhdGVEYXRlUGFuZWw6IGZ1bmN0aW9uIG5hdmlnYXRlRGF0ZVBhbmVsKGRpcmVjdGlvbiwgc2hpZnQpIHtcblxuICAgICAgICAgICAgdmFyIHRpbWVQaWNrZXJzID0gKDAsIF9hc3Npc3QuZmluZENvbXBvbmVudHNEb3dud2FyZCkodGhpcywgJ1RpbWVTcGlubmVyJyk7XG4gICAgICAgICAgICBpZiAodGltZVBpY2tlcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGVUaW1lUGFuZWwoZGlyZWN0aW9uLCBzaGlmdCwgdGltZVBpY2tlcnMpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHNoaWZ0KSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3llYXInKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNlZERhdGUgPSBuZXcgRGF0ZSh0aGlzLmZvY3VzZWREYXRlLmdldEZ1bGxZZWFyKCkgKyBtYXBQb3NzaWJsZVZhbHVlcyhkaXJlY3Rpb24sIDAsIDEwKSwgdGhpcy5mb2N1c2VkRGF0ZS5nZXRNb250aCgpLCB0aGlzLmZvY3VzZWREYXRlLmdldERhdGUoKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c2VkRGF0ZSA9IG5ldyBEYXRlKHRoaXMuZm9jdXNlZERhdGUuZ2V0RnVsbFllYXIoKSArIG1hcFBvc3NpYmxlVmFsdWVzKGRpcmVjdGlvbiwgMCwgMSksIHRoaXMuZm9jdXNlZERhdGUuZ2V0TW9udGgoKSArIG1hcFBvc3NpYmxlVmFsdWVzKGRpcmVjdGlvbiwgMSwgMCksIHRoaXMuZm9jdXNlZERhdGUuZ2V0RGF0ZSgpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB2YXIgcG9zaXRpb24gPSBkaXJlY3Rpb24ubWF0Y2goL2xlZnR8ZG93bi8pID8gJ3ByZXYnIDogJ25leHQnO1xuICAgICAgICAgICAgICAgIHZhciBkb3VibGUgPSBkaXJlY3Rpb24ubWF0Y2goL3VwfGRvd24vKSA/ICctZG91YmxlJyA6ICcnO1xuXG4gICAgICAgICAgICAgICAgdmFyIGJ1dHRvbiA9IHRoaXMuJHJlZnMuZHJvcC4kZWwucXVlcnlTZWxlY3RvcignLml2dS1kYXRlLXBpY2tlci0nICsgcG9zaXRpb24gKyAnLWJ0bi1hcnJvdycgKyBkb3VibGUpO1xuICAgICAgICAgICAgICAgIGlmIChidXR0b24pIHB1bHNlRWxlbWVudChidXR0b24pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIGluaXRpYWxEYXRlID0gdGhpcy5mb2N1c2VkRGF0ZSB8fCB0aGlzLmludGVybmFsVmFsdWUgJiYgdGhpcy5pbnRlcm5hbFZhbHVlWzBdIHx8IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICB2YXIgZm9jdXNlZERhdGUgPSBuZXcgRGF0ZShpbml0aWFsRGF0ZSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnR5cGUubWF0Y2goL15kYXRlLykpIHtcbiAgICAgICAgICAgICAgICB2YXIgbGFzdE9mTW9udGggPSAoMCwgX3V0aWwuZ2V0RGF5Q291bnRPZk1vbnRoKShpbml0aWFsRGF0ZS5nZXRGdWxsWWVhcigpLCBpbml0aWFsRGF0ZS5nZXRNb250aCgpKTtcbiAgICAgICAgICAgICAgICB2YXIgc3RhcnREYXkgPSBpbml0aWFsRGF0ZS5nZXREYXRlKCk7XG4gICAgICAgICAgICAgICAgdmFyIG5leHREYXkgPSBmb2N1c2VkRGF0ZS5nZXREYXRlKCkgKyBtYXBQb3NzaWJsZVZhbHVlcyhkaXJlY3Rpb24sIDEsIDcpO1xuXG4gICAgICAgICAgICAgICAgaWYgKG5leHREYXkgPCAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkaXJlY3Rpb24ubWF0Y2goL2xlZnR8cmlnaHQvKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNlZERhdGUuc2V0TW9udGgoZm9jdXNlZERhdGUuZ2V0TW9udGgoKSArIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNlZERhdGUuc2V0RGF0ZShuZXh0RGF5KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzZWREYXRlLnNldERhdGUoc3RhcnREYXkgKyBNYXRoLmZsb29yKChsYXN0T2ZNb250aCAtIHN0YXJ0RGF5KSAvIDcpICogNyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG5leHREYXkgPiBsYXN0T2ZNb250aCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGlyZWN0aW9uLm1hdGNoKC9sZWZ0fHJpZ2h0LykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzZWREYXRlLnNldE1vbnRoKGZvY3VzZWREYXRlLmdldE1vbnRoKCkgLSAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzZWREYXRlLnNldERhdGUobmV4dERheSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2VkRGF0ZS5zZXREYXRlKHN0YXJ0RGF5ICUgNyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBmb2N1c2VkRGF0ZS5zZXREYXRlKG5leHREYXkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMudHlwZS5tYXRjaCgvXm1vbnRoLykpIHtcbiAgICAgICAgICAgICAgICBmb2N1c2VkRGF0ZS5zZXRNb250aChmb2N1c2VkRGF0ZS5nZXRNb250aCgpICsgbWFwUG9zc2libGVWYWx1ZXMoZGlyZWN0aW9uLCAxLCAzKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnR5cGUubWF0Y2goL155ZWFyLykpIHtcbiAgICAgICAgICAgICAgICBmb2N1c2VkRGF0ZS5zZXRGdWxsWWVhcihmb2N1c2VkRGF0ZS5nZXRGdWxsWWVhcigpICsgbWFwUG9zc2libGVWYWx1ZXMoZGlyZWN0aW9uLCAxLCAzKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZERhdGUgPSBmb2N1c2VkRGF0ZTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlSW5wdXRDaGFuZ2U6IGZ1bmN0aW9uIGhhbmRsZUlucHV0Q2hhbmdlKGV2ZW50KSB7XG4gICAgICAgICAgICB2YXIgX3RoaXM0ID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIGlzQXJyYXlWYWx1ZSA9IHRoaXMudHlwZS5pbmNsdWRlcygncmFuZ2UnKSB8fCB0aGlzLm11bHRpcGxlO1xuICAgICAgICAgICAgdmFyIG9sZFZhbHVlID0gdGhpcy52aXN1YWxWYWx1ZTtcbiAgICAgICAgICAgIHZhciBuZXdWYWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgICAgICAgIHZhciBuZXdEYXRlID0gdGhpcy5wYXJzZURhdGUobmV3VmFsdWUpO1xuICAgICAgICAgICAgdmFyIGRpc2FibGVkRGF0ZUZuID0gdGhpcy5vcHRpb25zICYmIHR5cGVvZiB0aGlzLm9wdGlvbnMuZGlzYWJsZWREYXRlID09PSAnZnVuY3Rpb24nICYmIHRoaXMub3B0aW9ucy5kaXNhYmxlZERhdGU7XG4gICAgICAgICAgICB2YXIgdmFsdWVUb1Rlc3QgPSBpc0FycmF5VmFsdWUgPyBuZXdEYXRlIDogbmV3RGF0ZVswXTtcbiAgICAgICAgICAgIHZhciBpc0Rpc2FibGVkID0gZGlzYWJsZWREYXRlRm4gJiYgZGlzYWJsZWREYXRlRm4odmFsdWVUb1Rlc3QpO1xuICAgICAgICAgICAgdmFyIGlzVmFsaWREYXRlID0gbmV3RGF0ZS5yZWR1Y2UoZnVuY3Rpb24gKHZhbGlkLCBkYXRlKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczQpO1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWxpZCAmJiBkYXRlIGluc3RhbmNlb2YgRGF0ZTtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSwgdHJ1ZSk7XG5cbiAgICAgICAgICAgIGlmIChuZXdWYWx1ZSAhPT0gb2xkVmFsdWUgJiYgIWlzRGlzYWJsZWQgJiYgaXNWYWxpZERhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVtaXRDaGFuZ2UodGhpcy50eXBlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmludGVybmFsVmFsdWUgPSBuZXdEYXRlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcmNlSW5wdXRSZXJlbmRlcisrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVJbnB1dE1vdXNlZW50ZXI6IGZ1bmN0aW9uIGhhbmRsZUlucHV0TW91c2VlbnRlcigpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnJlYWRvbmx5IHx8IHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICAgICAgICAgIGlmICh0aGlzLnZpc3VhbFZhbHVlICYmIHRoaXMuY2xlYXJhYmxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93Q2xvc2UgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVJbnB1dE1vdXNlbGVhdmU6IGZ1bmN0aW9uIGhhbmRsZUlucHV0TW91c2VsZWF2ZSgpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0Nsb3NlID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUljb25DbGljazogZnVuY3Rpb24gaGFuZGxlSWNvbkNsaWNrKGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNob3dDbG9zZSkge1xuICAgICAgICAgICAgICAgIGlmIChlKSBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2xlYXIoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUNsZWFyOiBmdW5jdGlvbiBoYW5kbGVDbGVhcigpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczUgPSB0aGlzO1xuXG4gICAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IHRoaXMuaW50ZXJuYWxWYWx1ZS5tYXAoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM1KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1jbGVhcicpO1xuICAgICAgICAgICAgdGhpcy5kaXNwYXRjaCgnRm9ybUl0ZW0nLCAnb24tZm9ybS1jaGFuZ2UnLCAnJyk7XG4gICAgICAgICAgICB0aGlzLmVtaXRDaGFuZ2UodGhpcy50eXBlKTtcbiAgICAgICAgICAgIHRoaXMucmVzZXQoKTtcblxuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczUpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm9uU2VsZWN0aW9uTW9kZUNoYW5nZSh0aGlzLnR5cGUpO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpLCA1MDApO1xuICAgICAgICB9LFxuICAgICAgICBlbWl0Q2hhbmdlOiBmdW5jdGlvbiBlbWl0Q2hhbmdlKHR5cGUpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczYgPSB0aGlzO1xuXG4gICAgICAgICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczYpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tY2hhbmdlJywgdGhpcy5wdWJsaWNTdHJpbmdWYWx1ZSwgdHlwZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwYXRjaCgnRm9ybUl0ZW0nLCAnb24tZm9ybS1jaGFuZ2UnLCB0aGlzLnB1YmxpY1N0cmluZ1ZhbHVlKTtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgIH0sXG4gICAgICAgIHBhcnNlRGF0ZTogZnVuY3Rpb24gcGFyc2VEYXRlKHZhbCkge1xuICAgICAgICAgICAgdmFyIF90aGlzNyA9IHRoaXM7XG5cbiAgICAgICAgICAgIHZhciBpc1JhbmdlID0gdGhpcy50eXBlLmluY2x1ZGVzKCdyYW5nZScpO1xuICAgICAgICAgICAgdmFyIHR5cGUgPSB0aGlzLnR5cGU7XG4gICAgICAgICAgICB2YXIgcGFyc2VyID0gKF91dGlsLlRZUEVfVkFMVUVfUkVTT0xWRVJfTUFQW3R5cGVdIHx8IF91dGlsLlRZUEVfVkFMVUVfUkVTT0xWRVJfTUFQWydkZWZhdWx0J10pLnBhcnNlcjtcbiAgICAgICAgICAgIHZhciBmb3JtYXQgPSB0aGlzLmZvcm1hdCB8fCBfdXRpbC5ERUZBVUxUX0ZPUk1BVFNbdHlwZV07XG4gICAgICAgICAgICB2YXIgbXVsdGlwbGVQYXJzZXIgPSBfdXRpbC5UWVBFX1ZBTFVFX1JFU09MVkVSX01BUFsnbXVsdGlwbGUnXS5wYXJzZXI7XG5cbiAgICAgICAgICAgIGlmICh2YWwgJiYgdHlwZSA9PT0gJ3RpbWUnICYmICEodmFsIGluc3RhbmNlb2YgRGF0ZSkpIHtcbiAgICAgICAgICAgICAgICB2YWwgPSBwYXJzZXIodmFsLCBmb3JtYXQsIHRoaXMuc2VwYXJhdG9yKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5tdWx0aXBsZSAmJiB2YWwpIHtcbiAgICAgICAgICAgICAgICB2YWwgPSBtdWx0aXBsZVBhcnNlcih2YWwsIGZvcm1hdCwgdGhpcy5zZXBhcmF0b3IpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc1JhbmdlKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF2YWwpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsID0gW251bGwsIG51bGxdO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsID0gcGFyc2VyKHZhbCwgZm9ybWF0LCB0aGlzLnNlcGFyYXRvcik7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3RpbWVyYW5nZScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbCA9IHBhcnNlcih2YWwsIGZvcm1hdCwgdGhpcy5zZXBhcmF0b3IpLm1hcChmdW5jdGlvbiAodikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdiB8fCAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgX3ZhbCA9IHZhbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdmFsMiA9ICgwLCBfc2xpY2VkVG9BcnJheTMuZGVmYXVsdCkoX3ZhbCwgMiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSBfdmFsMlswXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQgPSBfdmFsMlsxXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0IGluc3RhbmNlb2YgRGF0ZSAmJiBlbmQgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsID0gdmFsLm1hcChmdW5jdGlvbiAoZGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygc3RhcnQgPT09ICdzdHJpbmcnICYmIHR5cGVvZiBlbmQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsID0gcGFyc2VyKHZhbC5qb2luKHRoaXMuc2VwYXJhdG9yKSwgZm9ybWF0LCB0aGlzLnNlcGFyYXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFzdGFydCB8fCAhZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsID0gW251bGwsIG51bGxdO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJyAmJiB0eXBlLmluZGV4T2YoJ3RpbWUnKSAhPT0gMCkge1xuICAgICAgICAgICAgICAgIHZhbCA9IHBhcnNlcih2YWwsIGZvcm1hdCkgfHwgbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGlzUmFuZ2UgfHwgdGhpcy5tdWx0aXBsZSA/IHZhbCB8fCBbXSA6IFt2YWxdO1xuICAgICAgICB9LFxuICAgICAgICBmb3JtYXREYXRlOiBmdW5jdGlvbiBmb3JtYXREYXRlKHZhbHVlKSB7XG4gICAgICAgICAgICB2YXIgZm9ybWF0ID0gX3V0aWwuREVGQVVMVF9GT1JNQVRTW3RoaXMudHlwZV07XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgdmFyIGZvcm1hdHRlciA9IF91dGlsLlRZUEVfVkFMVUVfUkVTT0xWRVJfTUFQLm11bHRpcGxlLmZvcm1hdHRlcjtcbiAgICAgICAgICAgICAgICByZXR1cm4gZm9ybWF0dGVyKHZhbHVlLCB0aGlzLmZvcm1hdCB8fCBmb3JtYXQsIHRoaXMuc2VwYXJhdG9yKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFyIF9yZWY1ID0gX3V0aWwuVFlQRV9WQUxVRV9SRVNPTFZFUl9NQVBbdGhpcy50eXBlXSB8fCBfdXRpbC5UWVBFX1ZBTFVFX1JFU09MVkVSX01BUFsnZGVmYXVsdCddLFxuICAgICAgICAgICAgICAgICAgICBfZm9ybWF0dGVyID0gX3JlZjUuZm9ybWF0dGVyO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9mb3JtYXR0ZXIodmFsdWUsIHRoaXMuZm9ybWF0IHx8IGZvcm1hdCwgdGhpcy5zZXBhcmF0b3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBvblBpY2s6IGZ1bmN0aW9uIG9uUGljayhkYXRlcykge1xuICAgICAgICAgICAgdmFyIF90aGlzOCA9IHRoaXM7XG5cbiAgICAgICAgICAgIHZhciB2aXNpYmxlID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBmYWxzZTtcbiAgICAgICAgICAgIHZhciB0eXBlID0gYXJndW1lbnRzWzJdO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIHZhciBwaWNrZWRUaW1lU3RhbXAgPSBkYXRlcy5nZXRUaW1lKCk7XG4gICAgICAgICAgICAgICAgdmFyIGluZGV4T2ZQaWNrZWREYXRlID0gdGhpcy5pbnRlcm5hbFZhbHVlLmZpbmRJbmRleChmdW5jdGlvbiAoZGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzOCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRlICYmIGRhdGUuZ2V0VGltZSgpID09PSBwaWNrZWRUaW1lU3RhbXA7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgICAgICB2YXIgYWxsRGF0ZXMgPSBbXS5jb25jYXQoKDAsIF90b0NvbnN1bWFibGVBcnJheTMuZGVmYXVsdCkodGhpcy5pbnRlcm5hbFZhbHVlKSwgW2RhdGVzXSkuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICAgICAgICAgIHZhciB0aW1lU3RhbXBzID0gYWxsRGF0ZXMubWFwKGZ1bmN0aW9uIChkYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM4KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGUuZ2V0VGltZSgpO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSkuZmlsdGVyKGZ1bmN0aW9uICh0cywgaSwgYXJyKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM4KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFyci5pbmRleE9mKHRzKSA9PT0gaSAmJiBpICE9PSBpbmRleE9mUGlja2VkRGF0ZTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IHRpbWVTdGFtcHMubWFwKGZ1bmN0aW9uICh0cykge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzOCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSh0cyk7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZGF0ZXMgPSB0aGlzLnBhcnNlRGF0ZShkYXRlcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnRlcm5hbFZhbHVlID0gQXJyYXkuaXNBcnJheShkYXRlcykgPyBkYXRlcyA6IFtkYXRlc107XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmludGVybmFsVmFsdWVbMF0pIHRoaXMuZm9jdXNlZERhdGUgPSB0aGlzLmludGVybmFsVmFsdWVbMF07XG4gICAgICAgICAgICB0aGlzLmZvY3VzZWRUaW1lID0gKDAsIF9leHRlbmRzMy5kZWZhdWx0KSh7fSwgdGhpcy5mb2N1c2VkVGltZSwge1xuICAgICAgICAgICAgICAgIHRpbWU6IHRoaXMuaW50ZXJuYWxWYWx1ZS5tYXAoZXh0cmFjdFRpbWUpXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLmlzQ29uZmlybSkgdGhpcy5vblNlbGVjdGlvbk1vZGVDaGFuZ2UodGhpcy50eXBlKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5pc0NvbmZpcm0pIHRoaXMudmlzaWJsZSA9IHZpc2libGU7XG4gICAgICAgICAgICB0aGlzLmVtaXRDaGFuZ2UodHlwZSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uUGlja1N1Y2Nlc3M6IGZ1bmN0aW9uIG9uUGlja1N1Y2Nlc3MoKSB7XG4gICAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLW9rJyk7XG4gICAgICAgICAgICB0aGlzLmZvY3VzKCk7XG4gICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgIH0sXG4gICAgICAgIGZvY3VzOiBmdW5jdGlvbiBmb2N1cygpIHtcbiAgICAgICAgICAgIHRoaXMuJHJlZnMuaW5wdXQgJiYgdGhpcy4kcmVmcy5pbnB1dC5mb2N1cygpO1xuICAgICAgICB9LFxuICAgICAgICB1cGRhdGVQb3BwZXI6IGZ1bmN0aW9uIHVwZGF0ZVBvcHBlcigpIHtcbiAgICAgICAgICAgIHRoaXMuJHJlZnMuZHJvcC51cGRhdGUoKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgd2F0Y2g6IHtcbiAgICAgICAgdmlzaWJsZTogZnVuY3Rpb24gdmlzaWJsZShzdGF0ZSkge1xuICAgICAgICAgICAgaWYgKHN0YXRlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMuZHJvcC5kZXN0cm95KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLiRyZWZzLmRyb3AudXBkYXRlKCk7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1vcGVuLWNoYW5nZScsIHN0YXRlKTtcbiAgICAgICAgfSxcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIHZhbHVlKHZhbCkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbFZhbHVlID0gdGhpcy5wYXJzZURhdGUodmFsKTtcbiAgICAgICAgfSxcbiAgICAgICAgb3BlbjogZnVuY3Rpb24gb3Blbih2YWwpIHtcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IHZhbCA9PT0gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogZnVuY3Rpb24gdHlwZShfdHlwZSkge1xuICAgICAgICAgICAgdGhpcy5vblNlbGVjdGlvbk1vZGVDaGFuZ2UoX3R5cGUpO1xuICAgICAgICB9LFxuICAgICAgICBwdWJsaWNWTW9kZWxWYWx1ZTogZnVuY3Rpb24gcHVibGljVk1vZGVsVmFsdWUobm93LCBiZWZvcmUpIHtcbiAgICAgICAgICAgIHZhciBuZXdWYWx1ZSA9ICgwLCBfc3RyaW5naWZ5Mi5kZWZhdWx0KShub3cpO1xuICAgICAgICAgICAgdmFyIG9sZFZhbHVlID0gKDAsIF9zdHJpbmdpZnkyLmRlZmF1bHQpKGJlZm9yZSk7XG4gICAgICAgICAgICB2YXIgc2hvdWxkRW1pdElucHV0ID0gbmV3VmFsdWUgIT09IG9sZFZhbHVlIHx8ICh0eXBlb2Ygbm93ID09PSAndW5kZWZpbmVkJyA/ICd1bmRlZmluZWQnIDogKDAsIF90eXBlb2YzLmRlZmF1bHQpKG5vdykpICE9PSAodHlwZW9mIGJlZm9yZSA9PT0gJ3VuZGVmaW5lZCcgPyAndW5kZWZpbmVkJyA6ICgwLCBfdHlwZW9mMy5kZWZhdWx0KShiZWZvcmUpKTtcbiAgICAgICAgICAgIGlmIChzaG91bGRFbWl0SW5wdXQpIHRoaXMuJGVtaXQoJ2lucHV0Jywgbm93KTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHtcbiAgICAgICAgdmFyIF90aGlzOSA9IHRoaXM7XG5cbiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgICAgIHZhciBwYXJzZWRWYWx1ZSA9IHRoaXMucHVibGljVk1vZGVsVmFsdWU7XG4gICAgICAgIGlmICgodHlwZW9mIGluaXRpYWxWYWx1ZSA9PT0gJ3VuZGVmaW5lZCcgPyAndW5kZWZpbmVkJyA6ICgwLCBfdHlwZW9mMy5kZWZhdWx0KShpbml0aWFsVmFsdWUpKSAhPT0gKHR5cGVvZiBwYXJzZWRWYWx1ZSA9PT0gJ3VuZGVmaW5lZCcgPyAndW5kZWZpbmVkJyA6ICgwLCBfdHlwZW9mMy5kZWZhdWx0KShwYXJzZWRWYWx1ZSkpIHx8ICgwLCBfc3RyaW5naWZ5Mi5kZWZhdWx0KShpbml0aWFsVmFsdWUpICE9PSAoMCwgX3N0cmluZ2lmeTIuZGVmYXVsdCkocGFyc2VkVmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIHRoaXMucHVibGljVk1vZGVsVmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm9wZW4gIT09IG51bGwpIHRoaXMudmlzaWJsZSA9IHRoaXMub3BlbjtcblxuICAgICAgICB0aGlzLiRvbignZm9jdXMtaW5wdXQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzOSk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5mb2N1cygpO1xuICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB0aGlzLiRvbigndXBkYXRlLXBvcHBlcicsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM5KTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnVwZGF0ZVBvcHBlcigpO1xuICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTQ5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG52YXIgX2ljb24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDgpO1xuXG52YXIgX2ljb24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaWNvbik7XG5cbnZhciBfZGF0ZVRhYmxlID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNTApO1xuXG52YXIgX2RhdGVUYWJsZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kYXRlVGFibGUpO1xuXG52YXIgX3llYXJUYWJsZSA9IF9fd2VicGFja19yZXF1aXJlX18oMTUyKTtcblxudmFyIF95ZWFyVGFibGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfeWVhclRhYmxlKTtcblxudmFyIF9tb250aFRhYmxlID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNTQpO1xuXG52YXIgX21vbnRoVGFibGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbW9udGhUYWJsZSk7XG5cbnZhciBfdGltZSA9IF9fd2VicGFja19yZXF1aXJlX18oMTU2KTtcblxudmFyIF90aW1lMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RpbWUpO1xuXG52YXIgX2NvbmZpcm0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU3KTtcblxudmFyIF9jb25maXJtMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2NvbmZpcm0pO1xuXG52YXIgX2RhdGVQYW5lbExhYmVsID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNjEpO1xuXG52YXIgX2RhdGVQYW5lbExhYmVsMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RhdGVQYW5lbExhYmVsKTtcblxudmFyIF9wYW5lbE1peGluID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1OCk7XG5cbnZhciBfcGFuZWxNaXhpbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9wYW5lbE1peGluKTtcblxudmFyIF9kYXRlUGFuZWxNaXhpbiA9IF9fd2VicGFja19yZXF1aXJlX18oMTYzKTtcblxudmFyIF9kYXRlUGFuZWxNaXhpbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kYXRlUGFuZWxNaXhpbik7XG5cbnZhciBfbG9jYWxlID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1KTtcblxudmFyIF9sb2NhbGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbG9jYWxlKTtcblxudmFyIF91dGlsID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNyk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhDbHMgPSAnaXZ1LXBpY2tlci1wYW5lbCc7XG52YXIgZGF0ZVByZWZpeENscyA9ICdpdnUtZGF0ZS1waWNrZXInO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ0RhdGVQaWNrZXJQYW5lbCcsXG4gICAgbWl4aW5zOiBbX3BhbmVsTWl4aW4yLmRlZmF1bHQsIF9sb2NhbGUyLmRlZmF1bHQsIF9kYXRlUGFuZWxNaXhpbjIuZGVmYXVsdF0sXG4gICAgY29tcG9uZW50czogeyBJY29uOiBfaWNvbjIuZGVmYXVsdCwgRGF0ZVRhYmxlOiBfZGF0ZVRhYmxlMi5kZWZhdWx0LCBZZWFyVGFibGU6IF95ZWFyVGFibGUyLmRlZmF1bHQsIE1vbnRoVGFibGU6IF9tb250aFRhYmxlMi5kZWZhdWx0LCBUaW1lUGlja2VyOiBfdGltZTIuZGVmYXVsdCwgQ29uZmlybTogX2NvbmZpcm0yLmRlZmF1bHQsIGRhdGVQYW5lbExhYmVsOiBfZGF0ZVBhbmVsTGFiZWwyLmRlZmF1bHQgfSxcbiAgICBwcm9wczoge1xuICAgICAgICBtdWx0aXBsZToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHZhciBzZWxlY3Rpb25Nb2RlID0gdGhpcy5zZWxlY3Rpb25Nb2RlLFxuICAgICAgICAgICAgdmFsdWUgPSB0aGlzLnZhbHVlO1xuXG5cbiAgICAgICAgdmFyIGRhdGVzID0gdmFsdWUuc2xpY2UoKS5zb3J0KCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVmaXhDbHM6IHByZWZpeENscyxcbiAgICAgICAgICAgIGRhdGVQcmVmaXhDbHM6IGRhdGVQcmVmaXhDbHMsXG4gICAgICAgICAgICBjdXJyZW50Vmlldzogc2VsZWN0aW9uTW9kZSB8fCAnZGF0ZScsXG4gICAgICAgICAgICBwaWNrZXJUYWJsZTogdGhpcy5nZXRUYWJsZVR5cGUoc2VsZWN0aW9uTW9kZSksXG4gICAgICAgICAgICBkYXRlczogZGF0ZXMsXG4gICAgICAgICAgICBwYW5lbERhdGU6IHRoaXMuc3RhcnREYXRlIHx8IGRhdGVzWzBdIHx8IG5ldyBEYXRlKClcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgY2xhc3NlczogZnVuY3Rpb24gY2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy1ib2R5LXdyYXBwZXInLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KSh7fSwgcHJlZml4Q2xzICsgJy13aXRoLXNpZGViYXInLCB0aGlzLnNob3J0Y3V0cy5sZW5ndGgpXTtcbiAgICAgICAgfSxcbiAgICAgICAgcGFuZWxQaWNrZXJIYW5kbGVyczogZnVuY3Rpb24gcGFuZWxQaWNrZXJIYW5kbGVycygpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnBpY2tlclRhYmxlID09PSBTdHJpbmcodGhpcy5jdXJyZW50VmlldykgKyAnLXRhYmxlJyA/IHRoaXMuaGFuZGxlUGljayA6IHRoaXMuaGFuZGxlUHJlU2VsZWN0aW9uO1xuICAgICAgICB9LFxuICAgICAgICBkYXRlUGFuZWxMYWJlbDogZnVuY3Rpb24gZGF0ZVBhbmVsTGFiZWwoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgbG9jYWxlID0gdGhpcy50KCdpLmxvY2FsZScpO1xuICAgICAgICAgICAgdmFyIGRhdGVQYW5lbExhYmVsID0gdGhpcy50KCdpLmRhdGVwaWNrZXIuZGF0ZVBhbmVsTGFiZWwnKTtcbiAgICAgICAgICAgIHZhciBkYXRlID0gdGhpcy5wYW5lbERhdGU7XG5cbiAgICAgICAgICAgIHZhciBfZm9ybWF0RGF0ZUxhYmVscyA9ICgwLCBfdXRpbC5mb3JtYXREYXRlTGFiZWxzKShsb2NhbGUsIGRhdGVQYW5lbExhYmVsLCBkYXRlKSxcbiAgICAgICAgICAgICAgICBsYWJlbHMgPSBfZm9ybWF0RGF0ZUxhYmVscy5sYWJlbHMsXG4gICAgICAgICAgICAgICAgc2VwYXJhdG9yID0gX2Zvcm1hdERhdGVMYWJlbHMuc2VwYXJhdG9yO1xuXG4gICAgICAgICAgICB2YXIgaGFuZGxlciA9IGZ1bmN0aW9uICh0eXBlKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucGlja2VyVGFibGUgPSB0aGlzLmdldFRhYmxlVHlwZSh0eXBlKTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcyk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcyk7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgc2VwYXJhdG9yOiBzZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgbGFiZWxzOiBsYWJlbHMubWFwKGZ1bmN0aW9uIChvYmopIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvYmouaGFuZGxlciA9IGhhbmRsZXIob2JqLnR5cGUpLCBvYmo7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSxcbiAgICAgICAgdGltZURpc2FibGVkOiBmdW5jdGlvbiB0aW1lRGlzYWJsZWQoKSB7XG4gICAgICAgICAgICByZXR1cm4gIXRoaXMuZGF0ZXNbMF07XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHdhdGNoOiB7XG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZShuZXdWYWwpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0ZXMgPSBuZXdWYWw7XG4gICAgICAgICAgICB2YXIgcGFuZWxEYXRlID0gdGhpcy5tdWx0aXBsZSA/IHRoaXMuZGF0ZXNbdGhpcy5kYXRlcy5sZW5ndGggLSAxXSA6IHRoaXMuc3RhcnREYXRlIHx8IHRoaXMuZGF0ZXNbMF07XG4gICAgICAgICAgICB0aGlzLnBhbmVsRGF0ZSA9IHBhbmVsRGF0ZSB8fCBuZXcgRGF0ZSgpO1xuICAgICAgICB9LFxuICAgICAgICBjdXJyZW50VmlldzogZnVuY3Rpb24gY3VycmVudFZpZXcoX2N1cnJlbnRWaWV3KSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tc2VsZWN0aW9uLW1vZGUtY2hhbmdlJywgX2N1cnJlbnRWaWV3KTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudFZpZXcgPT09ICd0aW1lJykge1xuICAgICAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczIpO1xuXG4gICAgICAgICAgICAgICAgICAgIHZhciBzcGlubmVyID0gdGhpcy4kcmVmcy50aW1lUGlja2VyLiRyZWZzLnRpbWVTcGlubmVyO1xuICAgICAgICAgICAgICAgICAgICBzcGlubmVyLnVwZGF0ZVNjcm9sbCgpO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHNlbGVjdGlvbk1vZGU6IGZ1bmN0aW9uIHNlbGVjdGlvbk1vZGUodHlwZSkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50VmlldyA9IHR5cGU7XG4gICAgICAgICAgICB0aGlzLnBpY2tlclRhYmxlID0gdGhpcy5nZXRUYWJsZVR5cGUodHlwZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGZvY3VzZWREYXRlOiBmdW5jdGlvbiBmb2N1c2VkRGF0ZShkYXRlKSB7XG4gICAgICAgICAgICB2YXIgaXNEaWZmZXJlbnRZZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpICE9PSB0aGlzLnBhbmVsRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgICAgICAgdmFyIGlzRGlmZmVyZW50TW9udGggPSBpc0RpZmZlcmVudFllYXIgfHwgZGF0ZS5nZXRNb250aCgpICE9PSB0aGlzLnBhbmVsRGF0ZS5nZXRNb250aCgpO1xuICAgICAgICAgICAgaWYgKGlzRGlmZmVyZW50WWVhciB8fCBpc0RpZmZlcmVudE1vbnRoKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLm11bHRpcGxlKSB0aGlzLnBhbmVsRGF0ZSA9IGRhdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgcmVzZXQ6IGZ1bmN0aW9uIHJlc2V0KCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50VmlldyA9IHRoaXMuc2VsZWN0aW9uTW9kZTtcbiAgICAgICAgICAgIHRoaXMucGlja2VyVGFibGUgPSB0aGlzLmdldFRhYmxlVHlwZSh0aGlzLmN1cnJlbnRWaWV3KTtcbiAgICAgICAgfSxcbiAgICAgICAgY2hhbmdlWWVhcjogZnVuY3Rpb24gY2hhbmdlWWVhcihkaXIpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGlvbk1vZGUgPT09ICd5ZWFyJyB8fCB0aGlzLnBpY2tlclRhYmxlID09PSAneWVhci10YWJsZScpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhbmVsRGF0ZSA9IG5ldyBEYXRlKHRoaXMucGFuZWxEYXRlLmdldEZ1bGxZZWFyKCkgKyBkaXIgKiAxMCwgMCwgMSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucGFuZWxEYXRlID0gKDAsIF91dGlsLnNpYmxpbmdNb250aCkodGhpcy5wYW5lbERhdGUsIGRpciAqIDEyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZ2V0VGFibGVUeXBlOiBmdW5jdGlvbiBnZXRUYWJsZVR5cGUoY3VycmVudFZpZXcpIHtcbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50Vmlldy5tYXRjaCgvXnRpbWUvKSA/ICd0aW1lLXBpY2tlcicgOiBTdHJpbmcoY3VycmVudFZpZXcpICsgJy10YWJsZSc7XG4gICAgICAgIH0sXG4gICAgICAgIGNoYW5nZU1vbnRoOiBmdW5jdGlvbiBjaGFuZ2VNb250aChkaXIpIHtcbiAgICAgICAgICAgIHRoaXMucGFuZWxEYXRlID0gKDAsIF91dGlsLnNpYmxpbmdNb250aCkodGhpcy5wYW5lbERhdGUsIGRpcik7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVByZVNlbGVjdGlvbjogZnVuY3Rpb24gaGFuZGxlUHJlU2VsZWN0aW9uKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnBhbmVsRGF0ZSA9IHZhbHVlO1xuICAgICAgICAgICAgaWYgKHRoaXMucGlja2VyVGFibGUgPT09ICd5ZWFyLXRhYmxlJykgdGhpcy5waWNrZXJUYWJsZSA9ICdtb250aC10YWJsZSc7ZWxzZSB0aGlzLnBpY2tlclRhYmxlID0gdGhpcy5nZXRUYWJsZVR5cGUodGhpcy5jdXJyZW50Vmlldyk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVBpY2s6IGZ1bmN0aW9uIGhhbmRsZVBpY2sodmFsdWUsIHR5cGUpIHtcbiAgICAgICAgICAgIHZhciBzZWxlY3Rpb25Nb2RlID0gdGhpcy5zZWxlY3Rpb25Nb2RlLFxuICAgICAgICAgICAgICAgIHBhbmVsRGF0ZSA9IHRoaXMucGFuZWxEYXRlO1xuXG4gICAgICAgICAgICBpZiAoc2VsZWN0aW9uTW9kZSA9PT0gJ3llYXInKSB2YWx1ZSA9IG5ldyBEYXRlKHZhbHVlLmdldEZ1bGxZZWFyKCksIDAsIDEpO2Vsc2UgaWYgKHNlbGVjdGlvbk1vZGUgPT09ICdtb250aCcpIHZhbHVlID0gbmV3IERhdGUocGFuZWxEYXRlLmdldEZ1bGxZZWFyKCksIHZhbHVlLmdldE1vbnRoKCksIDEpO2Vsc2UgdmFsdWUgPSBuZXcgRGF0ZSh2YWx1ZSk7XG5cbiAgICAgICAgICAgIHRoaXMuZGF0ZXMgPSBbdmFsdWVdO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tcGljaycsIHZhbHVlLCBmYWxzZSwgdHlwZSB8fCBzZWxlY3Rpb25Nb2RlKTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTUwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2RhdGVfdGFibGVfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE1MSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZGF0ZV90YWJsZV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2RhdGVfdGFibGVfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9kYXRlX3RhYmxlX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9kYXRlX3RhYmxlX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzUwNjFkYWRlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfZGF0ZV90YWJsZV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNDAxKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81MDYxZGFkZV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2RhdGVfdGFibGVfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81MDYxZGFkZV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2RhdGVfdGFibGVfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZGF0ZV90YWJsZV92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzUwNjFkYWRlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfZGF0ZV90YWJsZV92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNTA2MWRhZGVfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9kYXRlX3RhYmxlX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiAxNTEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2V4dGVuZHMyID0gX193ZWJwYWNrX3JlcXVpcmVfXygzMSk7XG5cbnZhciBfZXh0ZW5kczMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9leHRlbmRzMik7XG5cbnZhciBfc2xpY2VkVG9BcnJheTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIzKTtcblxudmFyIF9zbGljZWRUb0FycmF5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3NsaWNlZFRvQXJyYXkyKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG52YXIgX3V0aWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE3KTtcblxudmFyIF9sb2NhbGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUpO1xuXG52YXIgX2xvY2FsZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9sb2NhbGUpO1xuXG52YXIgX2pzQ2FsZW5kYXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM5Nyk7XG5cbnZhciBfanNDYWxlbmRhcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9qc0NhbGVuZGFyKTtcblxudmFyIF9taXhpbiA9IF9fd2VicGFja19yZXF1aXJlX18oNzcpO1xuXG52YXIgX21peGluMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX21peGluKTtcblxudmFyIF9wcmVmaXhDbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDc4KTtcblxudmFyIF9wcmVmaXhDbHMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcHJlZml4Q2xzKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG1peGluczogW19sb2NhbGUyLmRlZmF1bHQsIF9taXhpbjIuZGVmYXVsdF0sXG5cbiAgICBwcm9wczoge1xuICAgICAgICBzaG93V2Vla051bWJlcnM6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcHJlZml4Q2xzOiBfcHJlZml4Q2xzMi5kZWZhdWx0XG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGNsYXNzZXM6IGZ1bmN0aW9uIGNsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gWycnICsgU3RyaW5nKF9wcmVmaXhDbHMyLmRlZmF1bHQpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KSh7fSwgU3RyaW5nKF9wcmVmaXhDbHMyLmRlZmF1bHQpICsgJy1zaG93LXdlZWstbnVtYmVycycsIHRoaXMuc2hvd1dlZWtOdW1iZXJzKV07XG4gICAgICAgIH0sXG4gICAgICAgIGNhbGVuZGFyOiBmdW5jdGlvbiBjYWxlbmRhcigpIHtcbiAgICAgICAgICAgIHZhciB3ZWVrU3RhcnREYXkgPSBOdW1iZXIodGhpcy50KCdpLmRhdGVwaWNrZXIud2Vla1N0YXJ0RGF5JykpO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBfanNDYWxlbmRhcjIuZGVmYXVsdC5HZW5lcmF0b3IoeyBvbmx5RGF5czogIXRoaXMuc2hvd1dlZWtOdW1iZXJzLCB3ZWVrU3RhcnQ6IHdlZWtTdGFydERheSB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgaGVhZGVyRGF5czogZnVuY3Rpb24gaGVhZGVyRGF5cygpIHtcbiAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgICAgICAgIHZhciB3ZWVrU3RhcnREYXkgPSBOdW1iZXIodGhpcy50KCdpLmRhdGVwaWNrZXIud2Vla1N0YXJ0RGF5JykpO1xuICAgICAgICAgICAgdmFyIHRyYW5zbGF0ZWREYXlzID0gWydzdW4nLCAnbW9uJywgJ3R1ZScsICd3ZWQnLCAndGh1JywgJ2ZyaScsICdzYXQnXS5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnQoJ2kuZGF0ZXBpY2tlci53ZWVrcy4nICsgaXRlbSk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgdmFyIHdlZWtEYXlzID0gdHJhbnNsYXRlZERheXMuc3BsaWNlKHdlZWtTdGFydERheSwgNyAtIHdlZWtTdGFydERheSkuY29uY2F0KHRyYW5zbGF0ZWREYXlzLnNwbGljZSgwLCB3ZWVrU3RhcnREYXkpKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNob3dXZWVrTnVtYmVycyA/IFsnJ10uY29uY2F0KHdlZWtEYXlzKSA6IHdlZWtEYXlzO1xuICAgICAgICB9LFxuICAgICAgICBjZWxsczogZnVuY3Rpb24gY2VsbHMoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIHRhYmxlWWVhciA9IHRoaXMudGFibGVEYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgICAgICB2YXIgdGFibGVNb250aCA9IHRoaXMudGFibGVEYXRlLmdldE1vbnRoKCk7XG4gICAgICAgICAgICB2YXIgdG9kYXkgPSAoMCwgX3V0aWwuY2xlYXJIb3VycykobmV3IERhdGUoKSk7XG4gICAgICAgICAgICB2YXIgc2VsZWN0ZWREYXlzID0gdGhpcy5kYXRlcy5maWx0ZXIoQm9vbGVhbikubWFwKF91dGlsLmNsZWFySG91cnMpO1xuICAgICAgICAgICAgdmFyIF9kYXRlcyRtYXAgPSB0aGlzLmRhdGVzLm1hcChfdXRpbC5jbGVhckhvdXJzKSxcbiAgICAgICAgICAgICAgICBfZGF0ZXMkbWFwMiA9ICgwLCBfc2xpY2VkVG9BcnJheTMuZGVmYXVsdCkoX2RhdGVzJG1hcCwgMiksXG4gICAgICAgICAgICAgICAgbWluRGF5ID0gX2RhdGVzJG1hcDJbMF0sXG4gICAgICAgICAgICAgICAgbWF4RGF5ID0gX2RhdGVzJG1hcDJbMV07XG5cbiAgICAgICAgICAgIHZhciByYW5nZVN0YXJ0ID0gdGhpcy5yYW5nZVN0YXRlLmZyb20gJiYgKDAsIF91dGlsLmNsZWFySG91cnMpKHRoaXMucmFuZ2VTdGF0ZS5mcm9tKTtcbiAgICAgICAgICAgIHZhciByYW5nZUVuZCA9IHRoaXMucmFuZ2VTdGF0ZS50byAmJiAoMCwgX3V0aWwuY2xlYXJIb3VycykodGhpcy5yYW5nZVN0YXRlLnRvKTtcblxuICAgICAgICAgICAgdmFyIGlzUmFuZ2UgPSB0aGlzLnNlbGVjdGlvbk1vZGUgPT09ICdyYW5nZSc7XG4gICAgICAgICAgICB2YXIgZGlzYWJsZWRUZXN0Rm4gPSB0eXBlb2YgdGhpcy5kaXNhYmxlZERhdGUgPT09ICdmdW5jdGlvbicgJiYgdGhpcy5kaXNhYmxlZERhdGU7XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNhbGVuZGFyKHRhYmxlWWVhciwgdGFibGVNb250aCwgZnVuY3Rpb24gKGNlbGwpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMik7XG5cbiAgICAgICAgICAgICAgICBpZiAoY2VsbC5kYXRlIGluc3RhbmNlb2YgRGF0ZSkgY2VsbC5kYXRlLnNldFRpbWUoY2VsbC5kYXRlLmdldFRpbWUoKSArIGNlbGwuZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpICogNjAwMDApO1xuXG4gICAgICAgICAgICAgICAgdmFyIHRpbWUgPSBjZWxsLmRhdGUgJiYgKDAsIF91dGlsLmNsZWFySG91cnMpKGNlbGwuZGF0ZSk7XG4gICAgICAgICAgICAgICAgdmFyIGRhdGVJc0luQ3VycmVudE1vbnRoID0gY2VsbC5kYXRlICYmIHRhYmxlTW9udGggPT09IGNlbGwuZGF0ZS5nZXRNb250aCgpO1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2V4dGVuZHMzLmRlZmF1bHQpKHt9LCBjZWxsLCB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHRpbWUgPT09IHRvZGF5ID8gJ3RvZGF5JyA6IGNlbGwudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGRhdGVJc0luQ3VycmVudE1vbnRoICYmIHNlbGVjdGVkRGF5cy5pbmNsdWRlcyh0aW1lKSxcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IGNlbGwuZGF0ZSAmJiBkaXNhYmxlZFRlc3RGbiAmJiBkaXNhYmxlZFRlc3RGbihuZXcgRGF0ZSh0aW1lKSksXG4gICAgICAgICAgICAgICAgICAgIHJhbmdlOiBkYXRlSXNJbkN1cnJlbnRNb250aCAmJiBpc1JhbmdlICYmICgwLCBfdXRpbC5pc0luUmFuZ2UpKHRpbWUsIHJhbmdlU3RhcnQsIHJhbmdlRW5kKSxcbiAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IGRhdGVJc0luQ3VycmVudE1vbnRoICYmIGlzUmFuZ2UgJiYgdGltZSA9PT0gbWluRGF5LFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IGRhdGVJc0luQ3VycmVudE1vbnRoICYmIGlzUmFuZ2UgJiYgdGltZSA9PT0gbWF4RGF5XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpLmNlbGxzLnNsaWNlKHRoaXMuc2hvd1dlZWtOdW1iZXJzID8gOCA6IDApO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGdldENlbGxDbHM6IGZ1bmN0aW9uIGdldENlbGxDbHMoY2VsbCkge1xuICAgICAgICAgICAgdmFyIF9yZWYyO1xuXG4gICAgICAgICAgICByZXR1cm4gW1N0cmluZyhfcHJlZml4Q2xzMi5kZWZhdWx0KSArICctY2VsbCcsIChfcmVmMiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmMiwgU3RyaW5nKF9wcmVmaXhDbHMyLmRlZmF1bHQpICsgJy1jZWxsLXNlbGVjdGVkJywgY2VsbC5zZWxlY3RlZCB8fCBjZWxsLnN0YXJ0IHx8IGNlbGwuZW5kKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjIsIFN0cmluZyhfcHJlZml4Q2xzMi5kZWZhdWx0KSArICctY2VsbC1kaXNhYmxlZCcsIGNlbGwuZGlzYWJsZWQpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmMiwgU3RyaW5nKF9wcmVmaXhDbHMyLmRlZmF1bHQpICsgJy1jZWxsLXRvZGF5JywgY2VsbC50eXBlID09PSAndG9kYXknKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjIsIFN0cmluZyhfcHJlZml4Q2xzMi5kZWZhdWx0KSArICctY2VsbC1wcmV2LW1vbnRoJywgY2VsbC50eXBlID09PSAncHJldk1vbnRoJyksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYyLCBTdHJpbmcoX3ByZWZpeENsczIuZGVmYXVsdCkgKyAnLWNlbGwtbmV4dC1tb250aCcsIGNlbGwudHlwZSA9PT0gJ25leHRNb250aCcpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmMiwgU3RyaW5nKF9wcmVmaXhDbHMyLmRlZmF1bHQpICsgJy1jZWxsLXdlZWstbGFiZWwnLCBjZWxsLnR5cGUgPT09ICd3ZWVrTGFiZWwnKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjIsIFN0cmluZyhfcHJlZml4Q2xzMi5kZWZhdWx0KSArICctY2VsbC1yYW5nZScsIGNlbGwucmFuZ2UgJiYgIWNlbGwuc3RhcnQgJiYgIWNlbGwuZW5kKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjIsIFN0cmluZyhfcHJlZml4Q2xzMi5kZWZhdWx0KSArICctZm9jdXNlZCcsICgwLCBfdXRpbC5jbGVhckhvdXJzKShjZWxsLmRhdGUpID09PSAoMCwgX3V0aWwuY2xlYXJIb3VycykodGhpcy5mb2N1c2VkRGF0ZSkpLCBfcmVmMildO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxNTIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfeWVhcl90YWJsZV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTUzKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF95ZWFyX3RhYmxlX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfeWVhcl90YWJsZV92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3llYXJfdGFibGVfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3llYXJfdGFibGVfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMjQwMzI4NjJfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF95ZWFyX3RhYmxlX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0MDIpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzI0MDMyODYyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfeWVhcl90YWJsZV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzI0MDMyODYyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfeWVhcl90YWJsZV92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF95ZWFyX3RhYmxlX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMjQwMzI4NjJfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF95ZWFyX3RhYmxlX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8yNDAzMjg2Ml9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3llYXJfdGFibGVfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDE1MyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF91dGlsID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNyk7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxudmFyIF9taXhpbiA9IF9fd2VicGFja19yZXF1aXJlX18oNzcpO1xuXG52YXIgX21peGluMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX21peGluKTtcblxudmFyIF9wcmVmaXhDbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDc4KTtcblxudmFyIF9wcmVmaXhDbHMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcHJlZml4Q2xzKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG1peGluczogW19taXhpbjIuZGVmYXVsdF0sXG5cbiAgICBwcm9wczoge30sXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgY2xhc3NlczogZnVuY3Rpb24gY2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbJycgKyBTdHJpbmcoX3ByZWZpeENsczIuZGVmYXVsdCksIFN0cmluZyhfcHJlZml4Q2xzMi5kZWZhdWx0KSArICcteWVhciddO1xuICAgICAgICB9LFxuICAgICAgICBzdGFydFllYXI6IGZ1bmN0aW9uIHN0YXJ0WWVhcigpIHtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLmZsb29yKHRoaXMudGFibGVEYXRlLmdldEZ1bGxZZWFyKCkgLyAxMCkgKiAxMDtcbiAgICAgICAgfSxcbiAgICAgICAgY2VsbHM6IGZ1bmN0aW9uIGNlbGxzKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIGNlbGxzID0gW107XG4gICAgICAgICAgICB2YXIgY2VsbF90bXBsID0ge1xuICAgICAgICAgICAgICAgIHRleHQ6ICcnLFxuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogZmFsc2VcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHZhciBzZWxlY3RlZERheXMgPSB0aGlzLmRhdGVzLmZpbHRlcihCb29sZWFuKS5tYXAoZnVuY3Rpb24gKGRhdGUpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF91dGlsLmNsZWFySG91cnMpKG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgMCwgMSkpO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIHZhciBmb2N1c2VkRGF0ZSA9ICgwLCBfdXRpbC5jbGVhckhvdXJzKShuZXcgRGF0ZSh0aGlzLmZvY3VzZWREYXRlLmdldEZ1bGxZZWFyKCksIDAsIDEpKTtcblxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdmFyIGNlbGwgPSAoMCwgX2Fzc2lzdC5kZWVwQ29weSkoY2VsbF90bXBsKTtcbiAgICAgICAgICAgICAgICBjZWxsLmRhdGUgPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0WWVhciArIGksIDAsIDEpO1xuICAgICAgICAgICAgICAgIGNlbGwuZGlzYWJsZWQgPSB0eXBlb2YgdGhpcy5kaXNhYmxlZERhdGUgPT09ICdmdW5jdGlvbicgJiYgdGhpcy5kaXNhYmxlZERhdGUoY2VsbC5kYXRlKSAmJiB0aGlzLnNlbGVjdGlvbk1vZGUgPT09ICd5ZWFyJztcbiAgICAgICAgICAgICAgICB2YXIgZGF5ID0gKDAsIF91dGlsLmNsZWFySG91cnMpKGNlbGwuZGF0ZSk7XG4gICAgICAgICAgICAgICAgY2VsbC5zZWxlY3RlZCA9IHNlbGVjdGVkRGF5cy5pbmNsdWRlcyhkYXkpO1xuICAgICAgICAgICAgICAgIGNlbGwuZm9jdXNlZCA9IGRheSA9PT0gZm9jdXNlZERhdGU7XG4gICAgICAgICAgICAgICAgY2VsbHMucHVzaChjZWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGNlbGxzO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGdldENlbGxDbHM6IGZ1bmN0aW9uIGdldENlbGxDbHMoY2VsbCkge1xuICAgICAgICAgICAgdmFyIF9yZWY7XG5cbiAgICAgICAgICAgIHJldHVybiBbU3RyaW5nKF9wcmVmaXhDbHMyLmRlZmF1bHQpICsgJy1jZWxsJywgKF9yZWYgPSB7fSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgU3RyaW5nKF9wcmVmaXhDbHMyLmRlZmF1bHQpICsgJy1jZWxsLXNlbGVjdGVkJywgY2VsbC5zZWxlY3RlZCksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIFN0cmluZyhfcHJlZml4Q2xzMi5kZWZhdWx0KSArICctY2VsbC1kaXNhYmxlZCcsIGNlbGwuZGlzYWJsZWQpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBTdHJpbmcoX3ByZWZpeENsczIuZGVmYXVsdCkgKyAnLWNlbGwtZm9jdXNlZCcsIGNlbGwuZm9jdXNlZCksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIFN0cmluZyhfcHJlZml4Q2xzMi5kZWZhdWx0KSArICctY2VsbC1yYW5nZScsIGNlbGwucmFuZ2UgJiYgIWNlbGwuc3RhcnQgJiYgIWNlbGwuZW5kKSwgX3JlZildO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxNTQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbW9udGhfdGFibGVfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE1NSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbW9udGhfdGFibGVfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9tb250aF90YWJsZV92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX21vbnRoX3RhYmxlX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9tb250aF90YWJsZV92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl80NzE2YzUxZV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX21vbnRoX3RhYmxlX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0MDMpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzQ3MTZjNTFlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbW9udGhfdGFibGVfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl80NzE2YzUxZV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX21vbnRoX3RhYmxlX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX21vbnRoX3RhYmxlX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNDcxNmM1MWVfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9tb250aF90YWJsZV92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNDcxNmM1MWVfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9tb250aF90YWJsZV92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogMTU1ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX3V0aWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE3KTtcblxudmFyIF9hc3Npc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXG52YXIgX2xvY2FsZSA9IF9fd2VicGFja19yZXF1aXJlX18oNSk7XG5cbnZhciBfbG9jYWxlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2xvY2FsZSk7XG5cbnZhciBfbWl4aW4gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDc3KTtcblxudmFyIF9taXhpbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9taXhpbik7XG5cbnZhciBfcHJlZml4Q2xzID0gX193ZWJwYWNrX3JlcXVpcmVfXyg3OCk7XG5cbnZhciBfcHJlZml4Q2xzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3ByZWZpeENscyk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBtaXhpbnM6IFtfbG9jYWxlMi5kZWZhdWx0LCBfbWl4aW4yLmRlZmF1bHRdLFxuICAgIHByb3BzOiB7fSxcbiAgICBjb21wdXRlZDoge1xuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFsnJyArIFN0cmluZyhfcHJlZml4Q2xzMi5kZWZhdWx0KSwgU3RyaW5nKF9wcmVmaXhDbHMyLmRlZmF1bHQpICsgJy1tb250aCddO1xuICAgICAgICB9LFxuICAgICAgICBjZWxsczogZnVuY3Rpb24gY2VsbHMoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgY2VsbHMgPSBbXTtcbiAgICAgICAgICAgIHZhciBjZWxsX3RtcGwgPSB7XG4gICAgICAgICAgICAgICAgdGV4dDogJycsXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiBmYWxzZVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdmFyIHRhYmxlWWVhciA9IHRoaXMudGFibGVEYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgICAgICB2YXIgc2VsZWN0ZWREYXlzID0gdGhpcy5kYXRlcy5maWx0ZXIoQm9vbGVhbikubWFwKGZ1bmN0aW9uIChkYXRlKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfdXRpbC5jbGVhckhvdXJzKShuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgMSkpO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIHZhciBmb2N1c2VkRGF0ZSA9ICgwLCBfdXRpbC5jbGVhckhvdXJzKShuZXcgRGF0ZSh0aGlzLmZvY3VzZWREYXRlLmdldEZ1bGxZZWFyKCksIHRoaXMuZm9jdXNlZERhdGUuZ2V0TW9udGgoKSwgMSkpO1xuXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEyOyBpKyspIHtcbiAgICAgICAgICAgICAgICB2YXIgY2VsbCA9ICgwLCBfYXNzaXN0LmRlZXBDb3B5KShjZWxsX3RtcGwpO1xuICAgICAgICAgICAgICAgIGNlbGwuZGF0ZSA9IG5ldyBEYXRlKHRhYmxlWWVhciwgaSwgMSk7XG4gICAgICAgICAgICAgICAgY2VsbC50ZXh0ID0gdGhpcy50Q2VsbChpICsgMSk7XG4gICAgICAgICAgICAgICAgdmFyIGRheSA9ICgwLCBfdXRpbC5jbGVhckhvdXJzKShjZWxsLmRhdGUpO1xuICAgICAgICAgICAgICAgIGNlbGwuZGlzYWJsZWQgPSB0eXBlb2YgdGhpcy5kaXNhYmxlZERhdGUgPT09ICdmdW5jdGlvbicgJiYgdGhpcy5kaXNhYmxlZERhdGUoY2VsbC5kYXRlKSAmJiB0aGlzLnNlbGVjdGlvbk1vZGUgPT09ICdtb250aCc7XG4gICAgICAgICAgICAgICAgY2VsbC5zZWxlY3RlZCA9IHNlbGVjdGVkRGF5cy5pbmNsdWRlcyhkYXkpO1xuICAgICAgICAgICAgICAgIGNlbGwuZm9jdXNlZCA9IGRheSA9PT0gZm9jdXNlZERhdGU7XG4gICAgICAgICAgICAgICAgY2VsbHMucHVzaChjZWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGNlbGxzO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGdldENlbGxDbHM6IGZ1bmN0aW9uIGdldENlbGxDbHMoY2VsbCkge1xuICAgICAgICAgICAgdmFyIF9yZWY7XG5cbiAgICAgICAgICAgIHJldHVybiBbU3RyaW5nKF9wcmVmaXhDbHMyLmRlZmF1bHQpICsgJy1jZWxsJywgKF9yZWYgPSB7fSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgU3RyaW5nKF9wcmVmaXhDbHMyLmRlZmF1bHQpICsgJy1jZWxsLXNlbGVjdGVkJywgY2VsbC5zZWxlY3RlZCksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIFN0cmluZyhfcHJlZml4Q2xzMi5kZWZhdWx0KSArICctY2VsbC1kaXNhYmxlZCcsIGNlbGwuZGlzYWJsZWQpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBTdHJpbmcoX3ByZWZpeENsczIuZGVmYXVsdCkgKyAnLWNlbGwtZm9jdXNlZCcsIGNlbGwuZm9jdXNlZCksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIFN0cmluZyhfcHJlZml4Q2xzMi5kZWZhdWx0KSArICctY2VsbC1yYW5nZScsIGNlbGwucmFuZ2UgJiYgIWNlbGwuc3RhcnQgJiYgIWNlbGwuZW5kKSwgX3JlZildO1xuICAgICAgICB9LFxuICAgICAgICB0Q2VsbDogZnVuY3Rpb24gdENlbGwobnIpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnQoJ2kuZGF0ZXBpY2tlci5tb250aHMubScgKyBTdHJpbmcobnIpKTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTU2ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RpbWVfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE1Nyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGltZV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RpbWVfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90aW1lX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90aW1lX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzIxZDhkODA4X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGltZV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNDA2KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8yMWQ4ZDgwOF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RpbWVfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8yMWQ4ZDgwOF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RpbWVfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGltZV92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzIxZDhkODA4X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGltZV92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMjFkOGQ4MDhfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90aW1lX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiAxNTcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2tleXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI1KTtcblxudmFyIF9rZXlzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2tleXMpO1xuXG52YXIgX3RvQ29uc3VtYWJsZUFycmF5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMTYpO1xuXG52YXIgX3RvQ29uc3VtYWJsZUFycmF5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RvQ29uc3VtYWJsZUFycmF5Mik7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX3RpbWVTcGlubmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNTgpO1xuXG52YXIgX3RpbWVTcGlubmVyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RpbWVTcGlubmVyKTtcblxudmFyIF9jb25maXJtID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1Nyk7XG5cbnZhciBfY29uZmlybTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jb25maXJtKTtcblxudmFyIF90aW1lTWl4aW5zID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1Nik7XG5cbnZhciBfdGltZU1peGluczIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90aW1lTWl4aW5zKTtcblxudmFyIF9wYW5lbE1peGluID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1OCk7XG5cbnZhciBfcGFuZWxNaXhpbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9wYW5lbE1peGluKTtcblxudmFyIF9sb2NhbGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUpO1xuXG52YXIgX2xvY2FsZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9sb2NhbGUpO1xuXG52YXIgX3V0aWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE3KTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtcGlja2VyLXBhbmVsJztcbnZhciB0aW1lUHJlZml4Q2xzID0gJ2l2dS10aW1lLXBpY2tlcic7XG5cbnZhciBjYXBpdGFsaXplID0gZnVuY3Rpb24gKHN0cikge1xuICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgIHJldHVybiBzdHJbMF0udG9VcHBlckNhc2UoKSArIHN0ci5zbGljZSgxKTtcbn0uYmluZCh1bmRlZmluZWQpO1xudmFyIG1lcmdlRGF0ZUhNUyA9IGZ1bmN0aW9uIChkYXRlLCBob3VycywgbWludXRlcywgc2Vjb25kcykge1xuICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuXG4gICAgdmFyIG5ld0RhdGUgPSBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSk7XG4gICAgbmV3RGF0ZS5zZXRIb3Vycyhob3Vycyk7XG4gICAgbmV3RGF0ZS5zZXRNaW51dGVzKG1pbnV0ZXMpO1xuICAgIG5ld0RhdGUuc2V0U2Vjb25kcyhzZWNvbmRzKTtcbiAgICByZXR1cm4gbmV3RGF0ZTtcbn0uYmluZCh1bmRlZmluZWQpO1xudmFyIHVuaXF1ZSA9IGZ1bmN0aW9uIChlbCwgaSwgYXJyKSB7XG4gICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gICAgcmV0dXJuIGFyci5pbmRleE9mKGVsKSA9PT0gaTtcbn0uYmluZCh1bmRlZmluZWQpO1xudmFyIHJldHVybkZhbHNlID0gZnVuY3Rpb24gKCkge1xuICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgIHJldHVybiBmYWxzZTtcbn0uYmluZCh1bmRlZmluZWQpO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ1RpbWVQaWNrZXJQYW5lbCcsXG4gICAgbWl4aW5zOiBbX3BhbmVsTWl4aW4yLmRlZmF1bHQsIF9sb2NhbGUyLmRlZmF1bHQsIF90aW1lTWl4aW5zMi5kZWZhdWx0XSxcbiAgICBjb21wb25lbnRzOiB7IFRpbWVTcGlubmVyOiBfdGltZVNwaW5uZXIyLmRlZmF1bHQsIENvbmZpcm06IF9jb25maXJtMi5kZWZhdWx0IH0sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgZGlzYWJsZWREYXRlOiB7XG4gICAgICAgICAgICB0eXBlOiBGdW5jdGlvbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IHJldHVybkZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHN0ZXBzOiB7XG4gICAgICAgICAgICB0eXBlOiBBcnJheSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH0uYmluZCh1bmRlZmluZWQpXG4gICAgICAgIH0sXG4gICAgICAgIGZvcm1hdDoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJ0hIOm1tOnNzJ1xuICAgICAgICB9LFxuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgdHlwZTogQXJyYXksXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcHJlZml4Q2xzOiBwcmVmaXhDbHMsXG4gICAgICAgICAgICB0aW1lUHJlZml4Q2xzOiB0aW1lUHJlZml4Q2xzLFxuICAgICAgICAgICAgZGF0ZTogdGhpcy52YWx1ZVswXSB8fCAoMCwgX3V0aWwuaW5pdFRpbWVEYXRlKSgpLFxuICAgICAgICAgICAgc2hvd0RhdGU6IGZhbHNlXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIHNob3dTZWNvbmRzOiBmdW5jdGlvbiBzaG93U2Vjb25kcygpIHtcbiAgICAgICAgICAgIHJldHVybiAhKHRoaXMuZm9ybWF0IHx8ICcnKS5tYXRjaCgvbW0kLyk7XG4gICAgICAgIH0sXG4gICAgICAgIHZpc2libGVEYXRlOiBmdW5jdGlvbiB2aXNpYmxlRGF0ZSgpIHtcbiAgICAgICAgICAgIHZhciBkYXRlID0gdGhpcy5kYXRlO1xuICAgICAgICAgICAgdmFyIG1vbnRoID0gZGF0ZS5nZXRNb250aCgpICsgMTtcbiAgICAgICAgICAgIHZhciB0WWVhciA9IHRoaXMudCgnaS5kYXRlcGlja2VyLnllYXInKTtcbiAgICAgICAgICAgIHZhciB0TW9udGggPSB0aGlzLnQoJ2kuZGF0ZXBpY2tlci5tb250aCcgKyBTdHJpbmcobW9udGgpKTtcbiAgICAgICAgICAgIHJldHVybiAnJyArIFN0cmluZyhkYXRlLmdldEZ1bGxZZWFyKCkpICsgU3RyaW5nKHRZZWFyKSArICcgJyArIFN0cmluZyh0TW9udGgpO1xuICAgICAgICB9LFxuICAgICAgICB0aW1lU2xvdHM6IGZ1bmN0aW9uIHRpbWVTbG90cygpIHtcbiAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy52YWx1ZVswXSkgcmV0dXJuIFtdO1xuICAgICAgICAgICAgcmV0dXJuIFsnZ2V0SG91cnMnLCAnZ2V0TWludXRlcycsICdnZXRTZWNvbmRzJ10ubWFwKGZ1bmN0aW9uIChzbG90KSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZVtzbG90XSgpO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfSxcbiAgICAgICAgZGlzYWJsZWRITVM6IGZ1bmN0aW9uIGRpc2FibGVkSE1TKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICAgICAgICAgIHZhciBkaXNhYmxlZFR5cGVzID0gWydkaXNhYmxlZEhvdXJzJywgJ2Rpc2FibGVkTWludXRlcycsICdkaXNhYmxlZFNlY29uZHMnXTtcbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVkRGF0ZSA9PT0gcmV0dXJuRmFsc2UgfHwgIXRoaXMudmFsdWVbMF0pIHtcbiAgICAgICAgICAgICAgICB2YXIgZGlzYWJsZWQgPSBkaXNhYmxlZFR5cGVzLnJlZHVjZShmdW5jdGlvbiAob2JqLCB0eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9ialt0eXBlXSA9IHRoaXNbdHlwZV0sIG9iajtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcyksIHt9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGlzYWJsZWQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhciBzbG90cyA9IFsyNCwgNjAsIDYwXTtcbiAgICAgICAgICAgICAgICB2YXIgX2Rpc2FibGVkID0gWydIb3VycycsICdNaW51dGVzJywgJ1NlY29uZHMnXS5tYXAoZnVuY3Rpb24gKHR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczIpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpc1snZGlzYWJsZWQnICsgU3RyaW5nKHR5cGUpXTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgIHZhciBkaXNhYmxlZEhNUyA9IF9kaXNhYmxlZC5tYXAoZnVuY3Rpb24gKHByZURpc2FibGVkLCBqKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcblxuICAgICAgICAgICAgICAgICAgICB2YXIgc2xvdCA9IHNsb3RzW2pdO1xuICAgICAgICAgICAgICAgICAgICB2YXIgdG9EaXNhYmxlID0gcHJlRGlzYWJsZWQ7XG5cbiAgICAgICAgICAgICAgICAgICAgdmFyIF9sb29wID0gZnVuY3Rpb24gX2xvb3AoaSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhtcyA9IF90aGlzMi50aW1lU2xvdHMubWFwKGZ1bmN0aW9uIChzbG90LCB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB4ID09PSBqID8gaSA6IHNsb3Q7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LmJpbmQoX3RoaXMyKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgdGVzdERhdGVUaW1lID0gbWVyZ2VEYXRlSE1TLmFwcGx5KHVuZGVmaW5lZCwgW190aGlzMi5kYXRlXS5jb25jYXQoKDAsIF90b0NvbnN1bWFibGVBcnJheTMuZGVmYXVsdCkoaG1zKSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF90aGlzMi5kaXNhYmxlZERhdGUodGVzdERhdGVUaW1lLCB0cnVlKSkgdG9EaXNhYmxlLnB1c2goaSk7XG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzbG90OyBpICs9IHRoaXMuc3RlcHNbal0gfHwgMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgX2xvb3AoaSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRvRGlzYWJsZS5maWx0ZXIodW5pcXVlKTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgIHJldHVybiBkaXNhYmxlZFR5cGVzLnJlZHVjZShmdW5jdGlvbiAob2JqLCB0eXBlLCBpKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9ialt0eXBlXSA9IGRpc2FibGVkSE1TW2ldLCBvYmo7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpLCB7fSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHdhdGNoOiB7XG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZShkYXRlcykge1xuICAgICAgICAgICAgdmFyIG5ld1ZhbCA9IGRhdGVzWzBdIHx8ICgwLCBfdXRpbC5pbml0VGltZURhdGUpKCk7XG4gICAgICAgICAgICBuZXdWYWwgPSBuZXcgRGF0ZShuZXdWYWwpO1xuICAgICAgICAgICAgdGhpcy5kYXRlID0gbmV3VmFsO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGhhbmRsZUNoYW5nZTogZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGRhdGUpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczMgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgZW1pdCA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogdHJ1ZTtcblxuXG4gICAgICAgICAgICB2YXIgbmV3RGF0ZSA9IG5ldyBEYXRlKHRoaXMuZGF0ZSk7XG4gICAgICAgICAgICAoMCwgX2tleXMyLmRlZmF1bHQpKGRhdGUpLmZvckVhY2goZnVuY3Rpb24gKHR5cGUpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ld0RhdGVbJ3NldCcgKyBTdHJpbmcoY2FwaXRhbGl6ZSh0eXBlKSldKGRhdGVbdHlwZV0pO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcblxuICAgICAgICAgICAgaWYgKGVtaXQpIHRoaXMuJGVtaXQoJ29uLXBpY2snLCBuZXdEYXRlLCAndGltZScpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgICBpZiAodGhpcy4kcGFyZW50ICYmIHRoaXMuJHBhcmVudC4kb3B0aW9ucy5uYW1lID09PSAnRGF0ZVBpY2tlcicpIHRoaXMuc2hvd0RhdGUgPSB0cnVlO1xuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTU4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RpbWVfc3Bpbm5lcl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTU5KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90aW1lX3NwaW5uZXJfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90aW1lX3NwaW5uZXJfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90aW1lX3NwaW5uZXJfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RpbWVfc3Bpbm5lcl92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl80OTY4OTlmNF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RpbWVfc3Bpbm5lcl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNDA0KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl80OTY4OTlmNF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RpbWVfc3Bpbm5lcl92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzQ5Njg5OWY0X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGltZV9zcGlubmVyX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RpbWVfc3Bpbm5lcl92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzQ5Njg5OWY0X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGltZV9zcGlubmVyX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl80OTY4OTlmNF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RpbWVfc3Bpbm5lcl92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogMTU5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9rZXlzID0gX193ZWJwYWNrX3JlcXVpcmVfXygyNSk7XG5cbnZhciBfa2V5czIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9rZXlzKTtcblxudmFyIF9leHRlbmRzMyA9IF9fd2VicGFja19yZXF1aXJlX18oMzEpO1xuXG52YXIgX2V4dGVuZHM0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZXh0ZW5kczMpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbnZhciBfdGltZU1peGlucyA9IF9fd2VicGFja19yZXF1aXJlX18oNTYpO1xuXG52YXIgX3RpbWVNaXhpbnMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdGltZU1peGlucyk7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtdGltZS1waWNrZXItY2VsbHMnO1xudmFyIHRpbWVQYXJ0cyA9IFsnaG91cnMnLCAnbWludXRlcycsICdzZWNvbmRzJ107XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnVGltZVNwaW5uZXInLFxuICAgIG1peGluczogW190aW1lTWl4aW5zMi5kZWZhdWx0XSxcbiAgICBwcm9wczoge1xuICAgICAgICBob3Vyczoge1xuICAgICAgICAgICAgdHlwZTogW051bWJlciwgU3RyaW5nXSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IE5hTlxuICAgICAgICB9LFxuICAgICAgICBtaW51dGVzOiB7XG4gICAgICAgICAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmddLFxuICAgICAgICAgICAgZGVmYXVsdDogTmFOXG4gICAgICAgIH0sXG4gICAgICAgIHNlY29uZHM6IHtcbiAgICAgICAgICAgIHR5cGU6IFtOdW1iZXIsIFN0cmluZ10sXG4gICAgICAgICAgICBkZWZhdWx0OiBOYU5cbiAgICAgICAgfSxcbiAgICAgICAgc2hvd1NlY29uZHM6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHN0ZXBzOiB7XG4gICAgICAgICAgICB0eXBlOiBBcnJheSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH0uYmluZCh1bmRlZmluZWQpXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNwaW5lclN0ZXBzOiBbMSwgMSwgMV0ubWFwKGZ1bmN0aW9uIChvbmUsIGkpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gTWF0aC5hYnModGhpcy5zdGVwc1tpXSkgfHwgb25lO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKSxcbiAgICAgICAgICAgIHByZWZpeENsczogcHJlZml4Q2xzLFxuICAgICAgICAgICAgY29tcGlsZWQ6IGZhbHNlLFxuICAgICAgICAgICAgZm9jdXNlZENvbHVtbjogLTEsXG4gICAgICAgICAgICBmb2N1c2VkVGltZTogWzAsIDAsIDBdIH07XG4gICAgfSxcblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGNsYXNzZXM6IGZ1bmN0aW9uIGNsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gWycnICsgcHJlZml4Q2xzLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KSh7fSwgcHJlZml4Q2xzICsgJy13aXRoLXNlY29uZHMnLCB0aGlzLnNob3dTZWNvbmRzKV07XG4gICAgICAgIH0sXG4gICAgICAgIGhvdXJzTGlzdDogZnVuY3Rpb24gaG91cnNMaXN0KCkge1xuICAgICAgICAgICAgdmFyIGhvdXJzID0gW107XG4gICAgICAgICAgICB2YXIgc3RlcCA9IHRoaXMuc3BpbmVyU3RlcHNbMF07XG4gICAgICAgICAgICB2YXIgZm9jdXNlZEhvdXIgPSB0aGlzLmZvY3VzZWRDb2x1bW4gPT09IDAgJiYgdGhpcy5mb2N1c2VkVGltZVswXTtcbiAgICAgICAgICAgIHZhciBob3VyX3RtcGwgPSB7XG4gICAgICAgICAgICAgICAgdGV4dDogMCxcbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGhpZGU6IGZhbHNlXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDI0OyBpICs9IHN0ZXApIHtcbiAgICAgICAgICAgICAgICB2YXIgaG91ciA9ICgwLCBfYXNzaXN0LmRlZXBDb3B5KShob3VyX3RtcGwpO1xuICAgICAgICAgICAgICAgIGhvdXIudGV4dCA9IGk7XG4gICAgICAgICAgICAgICAgaG91ci5mb2N1c2VkID0gaSA9PT0gZm9jdXNlZEhvdXI7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kaXNhYmxlZEhvdXJzLmxlbmd0aCAmJiB0aGlzLmRpc2FibGVkSG91cnMuaW5kZXhPZihpKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIGhvdXIuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oaWRlRGlzYWJsZWRPcHRpb25zKSBob3VyLmhpZGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ob3VycyA9PT0gaSkgaG91ci5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgaG91cnMucHVzaChob3VyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGhvdXJzO1xuICAgICAgICB9LFxuICAgICAgICBtaW51dGVzTGlzdDogZnVuY3Rpb24gbWludXRlc0xpc3QoKSB7XG4gICAgICAgICAgICB2YXIgbWludXRlcyA9IFtdO1xuICAgICAgICAgICAgdmFyIHN0ZXAgPSB0aGlzLnNwaW5lclN0ZXBzWzFdO1xuICAgICAgICAgICAgdmFyIGZvY3VzZWRNaW51dGUgPSB0aGlzLmZvY3VzZWRDb2x1bW4gPT09IDEgJiYgdGhpcy5mb2N1c2VkVGltZVsxXTtcbiAgICAgICAgICAgIHZhciBtaW51dGVfdG1wbCA9IHtcbiAgICAgICAgICAgICAgICB0ZXh0OiAwLFxuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgaGlkZTogZmFsc2VcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNjA7IGkgKz0gc3RlcCkge1xuICAgICAgICAgICAgICAgIHZhciBtaW51dGUgPSAoMCwgX2Fzc2lzdC5kZWVwQ29weSkobWludXRlX3RtcGwpO1xuICAgICAgICAgICAgICAgIG1pbnV0ZS50ZXh0ID0gaTtcbiAgICAgICAgICAgICAgICBtaW51dGUuZm9jdXNlZCA9IGkgPT09IGZvY3VzZWRNaW51dGU7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kaXNhYmxlZE1pbnV0ZXMubGVuZ3RoICYmIHRoaXMuZGlzYWJsZWRNaW51dGVzLmluZGV4T2YoaSkgPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICBtaW51dGUuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oaWRlRGlzYWJsZWRPcHRpb25zKSBtaW51dGUuaGlkZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLm1pbnV0ZXMgPT09IGkpIG1pbnV0ZS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgbWludXRlcy5wdXNoKG1pbnV0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbWludXRlcztcbiAgICAgICAgfSxcbiAgICAgICAgc2Vjb25kc0xpc3Q6IGZ1bmN0aW9uIHNlY29uZHNMaXN0KCkge1xuICAgICAgICAgICAgdmFyIHNlY29uZHMgPSBbXTtcbiAgICAgICAgICAgIHZhciBzdGVwID0gdGhpcy5zcGluZXJTdGVwc1syXTtcbiAgICAgICAgICAgIHZhciBmb2N1c2VkTWludXRlID0gdGhpcy5mb2N1c2VkQ29sdW1uID09PSAyICYmIHRoaXMuZm9jdXNlZFRpbWVbMl07XG4gICAgICAgICAgICB2YXIgc2Vjb25kX3RtcGwgPSB7XG4gICAgICAgICAgICAgICAgdGV4dDogMCxcbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGhpZGU6IGZhbHNlXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDYwOyBpICs9IHN0ZXApIHtcbiAgICAgICAgICAgICAgICB2YXIgc2Vjb25kID0gKDAsIF9hc3Npc3QuZGVlcENvcHkpKHNlY29uZF90bXBsKTtcbiAgICAgICAgICAgICAgICBzZWNvbmQudGV4dCA9IGk7XG4gICAgICAgICAgICAgICAgc2Vjb25kLmZvY3VzZWQgPSBpID09PSBmb2N1c2VkTWludXRlO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWRTZWNvbmRzLmxlbmd0aCAmJiB0aGlzLmRpc2FibGVkU2Vjb25kcy5pbmRleE9mKGkpID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgc2Vjb25kLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaGlkZURpc2FibGVkT3B0aW9ucykgc2Vjb25kLmhpZGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zZWNvbmRzID09PSBpKSBzZWNvbmQuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHNlY29uZHMucHVzaChzZWNvbmQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gc2Vjb25kcztcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgICBnZXRDZWxsQ2xzOiBmdW5jdGlvbiBnZXRDZWxsQ2xzKGNlbGwpIHtcbiAgICAgICAgICAgIHZhciBfcmVmMjtcblxuICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXhDbHMgKyAnLWNlbGwnLCAoX3JlZjIgPSB7fSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjIsIHByZWZpeENscyArICctY2VsbC1zZWxlY3RlZCcsIGNlbGwuc2VsZWN0ZWQpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmMiwgcHJlZml4Q2xzICsgJy1jZWxsLWZvY3VzZWQnLCBjZWxsLmZvY3VzZWQpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmMiwgcHJlZml4Q2xzICsgJy1jZWxsLWRpc2FibGVkJywgY2VsbC5kaXNhYmxlZCksIF9yZWYyKV07XG4gICAgICAgIH0sXG4gICAgICAgIGNob29zZVZhbHVlOiBmdW5jdGlvbiBjaG9vc2VWYWx1ZSh2YWx1ZXMpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgY2hhbmdlcyA9IHRpbWVQYXJ0cy5yZWR1Y2UoZnVuY3Rpb24gKG9iaiwgcGFydCwgaSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcblxuICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9IHZhbHVlc1tpXTtcbiAgICAgICAgICAgICAgICBpZiAodGhpc1twYXJ0XSA9PT0gdmFsdWUpIHJldHVybiBvYmo7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfZXh0ZW5kczQuZGVmYXVsdCkoe30sIG9iaiwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sIHBhcnQsIHZhbHVlKSk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcyksIHt9KTtcbiAgICAgICAgICAgIGlmICgoMCwgX2tleXMyLmRlZmF1bHQpKGNoYW5nZXMpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVtaXRDaGFuZ2UoY2hhbmdlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUNsaWNrOiBmdW5jdGlvbiBoYW5kbGVDbGljayh0eXBlLCBjZWxsKSB7XG4gICAgICAgICAgICBpZiAoY2VsbC5kaXNhYmxlZCkgcmV0dXJuO1xuICAgICAgICAgICAgdmFyIGRhdGEgPSAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KSh7fSwgdHlwZSwgY2VsbC50ZXh0KTtcbiAgICAgICAgICAgIHRoaXMuZW1pdENoYW5nZShkYXRhKTtcbiAgICAgICAgfSxcbiAgICAgICAgZW1pdENoYW5nZTogZnVuY3Rpb24gZW1pdENoYW5nZShjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1jaGFuZ2UnLCBjaGFuZ2VzKTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLXBpY2stY2xpY2snKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2Nyb2xsOiBmdW5jdGlvbiBzY3JvbGwodHlwZSwgaW5kZXgpIHtcbiAgICAgICAgICAgIHZhciBmcm9tID0gdGhpcy4kcmVmc1t0eXBlXS5zY3JvbGxUb3A7XG4gICAgICAgICAgICB2YXIgdG8gPSAyNCAqIHRoaXMuZ2V0U2Nyb2xsSW5kZXgodHlwZSwgaW5kZXgpO1xuICAgICAgICAgICAgKDAsIF9hc3Npc3Quc2Nyb2xsVG9wKSh0aGlzLiRyZWZzW3R5cGVdLCBmcm9tLCB0bywgNTAwKTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0U2Nyb2xsSW5kZXg6IGZ1bmN0aW9uIGdldFNjcm9sbEluZGV4KHR5cGUsIGluZGV4KSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMzID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIFR5cGUgPSAoMCwgX2Fzc2lzdC5maXJzdFVwcGVyQ2FzZSkodHlwZSk7XG4gICAgICAgICAgICB2YXIgZGlzYWJsZWQgPSB0aGlzWydkaXNhYmxlZCcgKyBTdHJpbmcoVHlwZSldO1xuICAgICAgICAgICAgaWYgKGRpc2FibGVkLmxlbmd0aCAmJiB0aGlzLmhpZGVEaXNhYmxlZE9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICB2YXIgX2NvdW50ID0gMDtcbiAgICAgICAgICAgICAgICBkaXNhYmxlZC5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMzKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0gPD0gaW5kZXggPyBfY291bnQrKyA6ICcnO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICAgICAgaW5kZXggLT0gX2NvdW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgICB9LFxuICAgICAgICB1cGRhdGVTY3JvbGw6IGZ1bmN0aW9uIHVwZGF0ZVNjcm9sbCgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczQgPSB0aGlzO1xuXG4gICAgICAgICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczQpO1xuXG4gICAgICAgICAgICAgICAgdGltZVBhcnRzLmZvckVhY2goZnVuY3Rpb24gKHR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczQpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuJHJlZnNbdHlwZV0uc2Nyb2xsVG9wID0gMjQgKiB0aGlzW1N0cmluZyh0eXBlKSArICdMaXN0J10uZmluZEluZGV4KGZ1bmN0aW9uIChvYmopIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvYmoudGV4dCA9PSB0aGlzW3R5cGVdO1xuICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB9LFxuICAgICAgICBmb3JtYXRUaW1lOiBmdW5jdGlvbiBmb3JtYXRUaW1lKHRleHQpIHtcbiAgICAgICAgICAgIHJldHVybiB0ZXh0IDwgMTAgPyAnMCcgKyB0ZXh0IDogdGV4dDtcbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlRm9jdXNlZFRpbWU6IGZ1bmN0aW9uIHVwZGF0ZUZvY3VzZWRUaW1lKGNvbCwgdGltZSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2VkQ29sdW1uID0gY29sO1xuICAgICAgICAgICAgdGhpcy5mb2N1c2VkVGltZSA9IHRpbWUuc2xpY2UoKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgd2F0Y2g6IHtcbiAgICAgICAgaG91cnM6IGZ1bmN0aW9uIGhvdXJzKHZhbCkge1xuICAgICAgICAgICAgdmFyIF90aGlzNSA9IHRoaXM7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5jb21waWxlZCkgcmV0dXJuO1xuICAgICAgICAgICAgdGhpcy5zY3JvbGwoJ2hvdXJzJywgdGhpcy5ob3Vyc0xpc3QuZmluZEluZGV4KGZ1bmN0aW9uIChvYmopIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzNSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iai50ZXh0ID09IHZhbDtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSkpO1xuICAgICAgICB9LFxuICAgICAgICBtaW51dGVzOiBmdW5jdGlvbiBtaW51dGVzKHZhbCkge1xuICAgICAgICAgICAgdmFyIF90aGlzNiA9IHRoaXM7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5jb21waWxlZCkgcmV0dXJuO1xuICAgICAgICAgICAgdGhpcy5zY3JvbGwoJ21pbnV0ZXMnLCB0aGlzLm1pbnV0ZXNMaXN0LmZpbmRJbmRleChmdW5jdGlvbiAob2JqKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczYpO1xuICAgICAgICAgICAgICAgIHJldHVybiBvYmoudGV4dCA9PSB2YWw7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2Vjb25kczogZnVuY3Rpb24gc2Vjb25kcyh2YWwpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczcgPSB0aGlzO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuY29tcGlsZWQpIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsKCdzZWNvbmRzJywgdGhpcy5zZWNvbmRzTGlzdC5maW5kSW5kZXgoZnVuY3Rpb24gKG9iaikge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM3KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqLnRleHQgPT0gdmFsO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKSk7XG4gICAgICAgIH0sXG4gICAgICAgIGZvY3VzZWRUaW1lOiBmdW5jdGlvbiBmb2N1c2VkVGltZSh1cGRhdGVkLCBvbGQpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczggPSB0aGlzO1xuXG4gICAgICAgICAgICB0aW1lUGFydHMuZm9yRWFjaChmdW5jdGlvbiAocGFydCwgaSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM4KTtcblxuICAgICAgICAgICAgICAgIGlmICh1cGRhdGVkW2ldID09PSBvbGRbaV0gfHwgdHlwZW9mIHVwZGF0ZWRbaV0gPT09ICd1bmRlZmluZWQnKSByZXR1cm47XG4gICAgICAgICAgICAgICAgdmFyIHZhbHVlSW5kZXggPSB0aGlzW1N0cmluZyhwYXJ0KSArICdMaXN0J10uZmluZEluZGV4KGZ1bmN0aW9uIChvYmopIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JqLnRleHQgPT09IHVwZGF0ZWRbaV07XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbChwYXJ0LCB2YWx1ZUluZGV4KTtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICAgIHZhciBfdGhpczkgPSB0aGlzO1xuXG4gICAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM5KTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbXBpbGVkID0gdHJ1ZTtcbiAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDE2MCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfdG9Db25zdW1hYmxlQXJyYXkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNik7XG5cbnZhciBfdG9Db25zdW1hYmxlQXJyYXkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdG9Db25zdW1hYmxlQXJyYXkyKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbnZhciBfYnV0dG9uID0gX193ZWJwYWNrX3JlcXVpcmVfXygyNCk7XG5cbnZhciBfYnV0dG9uMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2J1dHRvbik7XG5cbnZhciBfbG9jYWxlID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1KTtcblxudmFyIF9sb2NhbGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbG9jYWxlKTtcblxudmFyIF9lbWl0dGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0KTtcblxudmFyIF9lbWl0dGVyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2VtaXR0ZXIpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1waWNrZXInO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbWl4aW5zOiBbX2xvY2FsZTIuZGVmYXVsdCwgX2VtaXR0ZXIyLmRlZmF1bHRdLFxuICAgIGNvbXBvbmVudHM6IHsgaUJ1dHRvbjogX2J1dHRvbjIuZGVmYXVsdCB9LFxuICAgIHByb3BzOiB7XG4gICAgICAgIHNob3dUaW1lOiBmYWxzZSxcbiAgICAgICAgaXNUaW1lOiBmYWxzZSxcbiAgICAgICAgdGltZURpc2FibGVkOiBmYWxzZVxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByZWZpeENsczogcHJlZml4Q2xzXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIHRpbWVDbGFzc2VzOiBmdW5jdGlvbiB0aW1lQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBwcmVmaXhDbHMgKyAnLWNvbmZpcm0tdGltZSc7XG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsczogZnVuY3Rpb24gbGFiZWxzKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIGxhYmVscyA9IFsndGltZScsICdjbGVhcicsICdvayddO1xuICAgICAgICAgICAgdmFyIHZhbHVlcyA9IFt0aGlzLmlzVGltZSA/ICdzZWxlY3REYXRlJyA6ICdzZWxlY3RUaW1lJywgJ2NsZWFyJywgJ29rJ107XG4gICAgICAgICAgICByZXR1cm4gbGFiZWxzLnJlZHVjZShmdW5jdGlvbiAob2JqLCBrZXksIGkpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgICAgIG9ialtrZXldID0gdGhpcy50KCdpLmRhdGVwaWNrZXIuJyArIHZhbHVlc1tpXSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSwge30pO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGhhbmRsZUNsZWFyOiBmdW5jdGlvbiBoYW5kbGVDbGVhcigpIHtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLXBpY2stY2xlYXInKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlU3VjY2VzczogZnVuY3Rpb24gaGFuZGxlU3VjY2VzcygpIHtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLXBpY2stc3VjY2VzcycpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVUb2dnbGVUaW1lOiBmdW5jdGlvbiBoYW5kbGVUb2dnbGVUaW1lKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMudGltZURpc2FibGVkKSByZXR1cm47XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1waWNrLXRvZ2dsZS10aW1lJyk7XG4gICAgICAgICAgICB0aGlzLmRpc3BhdGNoKCdDYWxlbmRhclBpY2tlcicsICdmb2N1cy1pbnB1dCcpO1xuICAgICAgICAgICAgdGhpcy5kaXNwYXRjaCgnQ2FsZW5kYXJQaWNrZXInLCAndXBkYXRlLXBvcHBlcicpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVUYWI6IGZ1bmN0aW9uIGhhbmRsZVRhYihlKSB7XG4gICAgICAgICAgICB2YXIgdGFiYmFibGVzID0gW10uY29uY2F0KCgwLCBfdG9Db25zdW1hYmxlQXJyYXkzLmRlZmF1bHQpKHRoaXMuJGVsLmNoaWxkcmVuKSk7XG4gICAgICAgICAgICB2YXIgZXhwZWN0ZWRGb2N1cyA9IHRhYmJhYmxlc1tlLnNoaWZ0S2V5ID8gJ3NoaWZ0JyA6ICdwb3AnXSgpO1xuXG4gICAgICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZXhwZWN0ZWRGb2N1cykge1xuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2goJ0NhbGVuZGFyUGlja2VyJywgJ2ZvY3VzLWlucHV0Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDE2MSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9kYXRlX3BhbmVsX2xhYmVsX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNjIpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2RhdGVfcGFuZWxfbGFiZWxfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9kYXRlX3BhbmVsX2xhYmVsX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZGF0ZV9wYW5lbF9sYWJlbF92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZGF0ZV9wYW5lbF9sYWJlbF92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl82YTZiZjVlN19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2RhdGVfcGFuZWxfbGFiZWxfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQwNyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNmE2YmY1ZTdfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9kYXRlX3BhbmVsX2xhYmVsX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNmE2YmY1ZTdfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9kYXRlX3BhbmVsX2xhYmVsX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2RhdGVfcGFuZWxfbGFiZWxfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl82YTZiZjVlN19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2RhdGVfcGFuZWxfbGFiZWxfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzZhNmJmNWU3X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfZGF0ZV9wYW5lbF9sYWJlbF92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogMTYyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBwcm9wczoge1xuICAgICAgICBkYXRlUGFuZWxMYWJlbDogT2JqZWN0LFxuICAgICAgICBjdXJyZW50VmlldzogU3RyaW5nLFxuICAgICAgICBkYXRlUHJlZml4Q2xzOiBTdHJpbmdcbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDE2MyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX2Fzc2lzdCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbnZhciBfdXRpbCA9IF9fd2VicGFja19yZXF1aXJlX18oMTcpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgcHJvcHM6IHtcbiAgICAgICAgc2hvd1RpbWU6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBmb3JtYXQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICd5eXl5LU1NLWRkJ1xuICAgICAgICB9LFxuICAgICAgICBzZWxlY3Rpb25Nb2RlOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsneWVhcicsICdtb250aCcsICdkYXRlJywgJ3RpbWUnXSk7XG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICBkZWZhdWx0OiAnZGF0ZSdcbiAgICAgICAgfSxcbiAgICAgICAgc2hvcnRjdXRzOiB7XG4gICAgICAgICAgICB0eXBlOiBBcnJheSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH0uYmluZCh1bmRlZmluZWQpXG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkRGF0ZToge1xuICAgICAgICAgICAgdHlwZTogRnVuY3Rpb24sXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9LmJpbmQodW5kZWZpbmVkKVxuICAgICAgICB9LFxuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgdHlwZTogQXJyYXksXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gWygwLCBfdXRpbC5pbml0VGltZURhdGUpKCksICgwLCBfdXRpbC5pbml0VGltZURhdGUpKCldO1xuICAgICAgICAgICAgfS5iaW5kKHVuZGVmaW5lZClcbiAgICAgICAgfSxcbiAgICAgICAgdGltZVBpY2tlck9wdGlvbnM6IHtcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICAgIH0uYmluZCh1bmRlZmluZWQpLFxuICAgICAgICAgICAgdHlwZTogT2JqZWN0XG4gICAgICAgIH0sXG4gICAgICAgIHNob3dXZWVrTnVtYmVyczoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHN0YXJ0RGF0ZToge1xuICAgICAgICAgICAgdHlwZTogRGF0ZVxuICAgICAgICB9LFxuICAgICAgICBwaWNrZXJUeXBlOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICByZXF1aXJlOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIGZvY3VzZWREYXRlOiB7XG4gICAgICAgICAgICB0eXBlOiBEYXRlLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfVxuICAgIH0sXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgaXNUaW1lOiBmdW5jdGlvbiBpc1RpbWUoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50VmlldyA9PT0gJ3RpbWUnO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGhhbmRsZVRvZ2dsZVRpbWU6IGZ1bmN0aW9uIGhhbmRsZVRvZ2dsZVRpbWUoKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRWaWV3ID0gdGhpcy5jdXJyZW50VmlldyA9PT0gJ3RpbWUnID8gJ2RhdGUnIDogJ3RpbWUnO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxNjQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9zbGljZWRUb0FycmF5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMjMpO1xuXG52YXIgX3NsaWNlZFRvQXJyYXkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc2xpY2VkVG9BcnJheTIpO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF9pY29uID0gX193ZWJwYWNrX3JlcXVpcmVfXyg4KTtcblxudmFyIF9pY29uMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2ljb24pO1xuXG52YXIgX2RhdGVUYWJsZSA9IF9fd2VicGFja19yZXF1aXJlX18oMTUwKTtcblxudmFyIF9kYXRlVGFibGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGF0ZVRhYmxlKTtcblxudmFyIF95ZWFyVGFibGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE1Mik7XG5cbnZhciBfeWVhclRhYmxlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3llYXJUYWJsZSk7XG5cbnZhciBfbW9udGhUYWJsZSA9IF9fd2VicGFja19yZXF1aXJlX18oMTU0KTtcblxudmFyIF9tb250aFRhYmxlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX21vbnRoVGFibGUpO1xuXG52YXIgX3RpbWVSYW5nZSA9IF9fd2VicGFja19yZXF1aXJlX18oMTY1KTtcblxudmFyIF90aW1lUmFuZ2UyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdGltZVJhbmdlKTtcblxudmFyIF9jb25maXJtID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1Nyk7XG5cbnZhciBfY29uZmlybTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jb25maXJtKTtcblxudmFyIF91dGlsID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNyk7XG5cbnZhciBfZGF0ZVBhbmVsTGFiZWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE2MSk7XG5cbnZhciBfZGF0ZVBhbmVsTGFiZWwyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGF0ZVBhbmVsTGFiZWwpO1xuXG52YXIgX3BhbmVsTWl4aW4gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU4KTtcblxudmFyIF9wYW5lbE1peGluMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3BhbmVsTWl4aW4pO1xuXG52YXIgX2RhdGVQYW5lbE1peGluID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNjMpO1xuXG52YXIgX2RhdGVQYW5lbE1peGluMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RhdGVQYW5lbE1peGluKTtcblxudmFyIF9sb2NhbGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUpO1xuXG52YXIgX2xvY2FsZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9sb2NhbGUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1waWNrZXItcGFuZWwnO1xudmFyIGRhdGVQcmVmaXhDbHMgPSAnaXZ1LWRhdGUtcGlja2VyJztcblxudmFyIGRhdGVTb3J0ZXIgPSBmdW5jdGlvbiAoYSwgYikge1xuICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuXG4gICAgaWYgKCFhIHx8ICFiKSByZXR1cm4gMDtcbiAgICByZXR1cm4gYS5nZXRUaW1lKCkgLSBiLmdldFRpbWUoKTtcbn0uYmluZCh1bmRlZmluZWQpO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ1JhbmdlRGF0ZVBpY2tlclBhbmVsJyxcbiAgICBtaXhpbnM6IFtfcGFuZWxNaXhpbjIuZGVmYXVsdCwgX2xvY2FsZTIuZGVmYXVsdCwgX2RhdGVQYW5lbE1peGluMi5kZWZhdWx0XSxcbiAgICBjb21wb25lbnRzOiB7IEljb246IF9pY29uMi5kZWZhdWx0LCBEYXRlVGFibGU6IF9kYXRlVGFibGUyLmRlZmF1bHQsIFllYXJUYWJsZTogX3llYXJUYWJsZTIuZGVmYXVsdCwgTW9udGhUYWJsZTogX21vbnRoVGFibGUyLmRlZmF1bHQsIFRpbWVQaWNrZXI6IF90aW1lUmFuZ2UyLmRlZmF1bHQsIENvbmZpcm06IF9jb25maXJtMi5kZWZhdWx0LCBkYXRlUGFuZWxMYWJlbDogX2RhdGVQYW5lbExhYmVsMi5kZWZhdWx0IH0sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgc3BsaXRQYW5lbHM6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgIHZhciBfdmFsdWUkbWFwID0gdGhpcy52YWx1ZS5tYXAoZnVuY3Rpb24gKGRhdGUpIHtcbiAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuICAgICAgICAgICAgcmV0dXJuIGRhdGUgfHwgKDAsIF91dGlsLmluaXRUaW1lRGF0ZSkoKTtcbiAgICAgICAgfS5iaW5kKHRoaXMpKSxcbiAgICAgICAgICAgIF92YWx1ZSRtYXAyID0gKDAsIF9zbGljZWRUb0FycmF5My5kZWZhdWx0KShfdmFsdWUkbWFwLCAyKSxcbiAgICAgICAgICAgIG1pbkRhdGUgPSBfdmFsdWUkbWFwMlswXSxcbiAgICAgICAgICAgIG1heERhdGUgPSBfdmFsdWUkbWFwMlsxXTtcblxuICAgICAgICB2YXIgbGVmdFBhbmVsRGF0ZSA9IHRoaXMuc3RhcnREYXRlID8gdGhpcy5zdGFydERhdGUgOiBtaW5EYXRlO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVmaXhDbHM6IHByZWZpeENscyxcbiAgICAgICAgICAgIGRhdGVQcmVmaXhDbHM6IGRhdGVQcmVmaXhDbHMsXG4gICAgICAgICAgICBkYXRlczogdGhpcy52YWx1ZSxcbiAgICAgICAgICAgIHJhbmdlU3RhdGU6IHsgZnJvbTogdGhpcy52YWx1ZVswXSwgdG86IHRoaXMudmFsdWVbMV0sIHNlbGVjdGluZzogbWluRGF0ZSAmJiAhbWF4RGF0ZSB9LFxuICAgICAgICAgICAgY3VycmVudFZpZXc6IHRoaXMuc2VsZWN0aW9uTW9kZSB8fCAncmFuZ2UnLFxuICAgICAgICAgICAgbGVmdFBpY2tlclRhYmxlOiBTdHJpbmcodGhpcy5zZWxlY3Rpb25Nb2RlKSArICctdGFibGUnLFxuICAgICAgICAgICAgcmlnaHRQaWNrZXJUYWJsZTogU3RyaW5nKHRoaXMuc2VsZWN0aW9uTW9kZSkgKyAnLXRhYmxlJyxcbiAgICAgICAgICAgIGxlZnRQYW5lbERhdGU6IGxlZnRQYW5lbERhdGUsXG4gICAgICAgICAgICByaWdodFBhbmVsRGF0ZTogbmV3IERhdGUobGVmdFBhbmVsRGF0ZS5nZXRGdWxsWWVhcigpLCBsZWZ0UGFuZWxEYXRlLmdldE1vbnRoKCkgKyAxLCAxKVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWY7XG5cbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy1ib2R5LXdyYXBwZXInLCBkYXRlUHJlZml4Q2xzICsgJy13aXRoLXJhbmdlJywgKF9yZWYgPSB7fSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy13aXRoLXNpZGViYXInLCB0aGlzLnNob3J0Y3V0cy5sZW5ndGgpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBkYXRlUHJlZml4Q2xzICsgJy13aXRoLXdlZWstbnVtYmVycycsIHRoaXMuc2hvd1dlZWtOdW1iZXJzKSwgX3JlZildO1xuICAgICAgICB9LFxuICAgICAgICBwYW5lbEJvZHlDbGFzc2VzOiBmdW5jdGlvbiBwYW5lbEJvZHlDbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWYyO1xuXG4gICAgICAgICAgICByZXR1cm4gW3ByZWZpeENscyArICctYm9keScsIChfcmVmMiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmMiwgcHJlZml4Q2xzICsgJy1ib2R5LXRpbWUnLCB0aGlzLnNob3dUaW1lKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjIsIHByZWZpeENscyArICctYm9keS1kYXRlJywgIXRoaXMuc2hvd1RpbWUpLCBfcmVmMildO1xuICAgICAgICB9LFxuICAgICAgICBsZWZ0RGF0ZVBhbmVsTGFiZWw6IGZ1bmN0aW9uIGxlZnREYXRlUGFuZWxMYWJlbCgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnBhbmVsTGFiZWxDb25maWcoJ2xlZnQnKTtcbiAgICAgICAgfSxcbiAgICAgICAgcmlnaHREYXRlUGFuZWxMYWJlbDogZnVuY3Rpb24gcmlnaHREYXRlUGFuZWxMYWJlbCgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnBhbmVsTGFiZWxDb25maWcoJ3JpZ2h0Jyk7XG4gICAgICAgIH0sXG4gICAgICAgIGxlZnREYXRlUGFuZWxWaWV3OiBmdW5jdGlvbiBsZWZ0RGF0ZVBhbmVsVmlldygpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxlZnRQaWNrZXJUYWJsZS5zcGxpdCgnLScpLnNoaWZ0KCk7XG4gICAgICAgIH0sXG4gICAgICAgIHJpZ2h0RGF0ZVBhbmVsVmlldzogZnVuY3Rpb24gcmlnaHREYXRlUGFuZWxWaWV3KCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmlnaHRQaWNrZXJUYWJsZS5zcGxpdCgnLScpLnNoaWZ0KCk7XG4gICAgICAgIH0sXG4gICAgICAgIHRpbWVEaXNhYmxlZDogZnVuY3Rpb24gdGltZURpc2FibGVkKCkge1xuICAgICAgICAgICAgcmV0dXJuICEodGhpcy5kYXRlc1swXSAmJiB0aGlzLmRhdGVzWzFdKTtcbiAgICAgICAgfSxcbiAgICAgICAgcHJlU2VsZWN0aW5nOiBmdW5jdGlvbiBwcmVTZWxlY3RpbmcoKSB7XG4gICAgICAgICAgICB2YXIgdGFibGVUeXBlID0gU3RyaW5nKHRoaXMuY3VycmVudFZpZXcpICsgJy10YWJsZSc7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbGVmdDogdGhpcy5sZWZ0UGlja2VyVGFibGUgIT09IHRhYmxlVHlwZSxcbiAgICAgICAgICAgICAgICByaWdodDogdGhpcy5yaWdodFBpY2tlclRhYmxlICE9PSB0YWJsZVR5cGVcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sXG4gICAgICAgIHBhbmVsUGlja2VySGFuZGxlcnM6IGZ1bmN0aW9uIHBhbmVsUGlja2VySGFuZGxlcnMoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGxlZnQ6IHRoaXMucHJlU2VsZWN0aW5nLmxlZnQgPyB0aGlzLmhhbmRsZVByZVNlbGVjdGlvbi5iaW5kKHRoaXMsICdsZWZ0JykgOiB0aGlzLmhhbmRsZVJhbmdlUGljayxcbiAgICAgICAgICAgICAgICByaWdodDogdGhpcy5wcmVTZWxlY3RpbmcucmlnaHQgPyB0aGlzLmhhbmRsZVByZVNlbGVjdGlvbi5iaW5kKHRoaXMsICdyaWdodCcpIDogdGhpcy5oYW5kbGVSYW5nZVBpY2tcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHdhdGNoOiB7XG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZShuZXdWYWwpIHtcbiAgICAgICAgICAgIHZhciBtaW5EYXRlID0gbmV3VmFsWzBdID8gKDAsIF91dGlsLnRvRGF0ZSkobmV3VmFsWzBdKSA6IG51bGw7XG4gICAgICAgICAgICB2YXIgbWF4RGF0ZSA9IG5ld1ZhbFsxXSA/ICgwLCBfdXRpbC50b0RhdGUpKG5ld1ZhbFsxXSkgOiBudWxsO1xuICAgICAgICAgICAgdGhpcy5kYXRlcyA9IFttaW5EYXRlLCBtYXhEYXRlXS5zb3J0KGRhdGVTb3J0ZXIpO1xuXG4gICAgICAgICAgICB0aGlzLnJhbmdlU3RhdGUgPSB7XG4gICAgICAgICAgICAgICAgZnJvbTogdGhpcy5kYXRlc1swXSxcbiAgICAgICAgICAgICAgICB0bzogdGhpcy5kYXRlc1sxXSxcbiAgICAgICAgICAgICAgICBzZWxlY3Rpbmc6IGZhbHNlXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB0aGlzLnNldFBhbmVsRGF0ZXModGhpcy5zdGFydERhdGUgfHwgdGhpcy5kYXRlc1swXSB8fCBuZXcgRGF0ZSgpKTtcbiAgICAgICAgfSxcbiAgICAgICAgY3VycmVudFZpZXc6IGZ1bmN0aW9uIGN1cnJlbnRWaWV3KF9jdXJyZW50Vmlldykge1xuICAgICAgICAgICAgdmFyIGxlZnRNb250aCA9IHRoaXMubGVmdFBhbmVsRGF0ZS5nZXRNb250aCgpO1xuICAgICAgICAgICAgdmFyIHJpZ2h0TW9udGggPSB0aGlzLnJpZ2h0UGFuZWxEYXRlLmdldE1vbnRoKCk7XG4gICAgICAgICAgICB2YXIgaXNTYW1lWWVhciA9IHRoaXMubGVmdFBhbmVsRGF0ZS5nZXRGdWxsWWVhcigpID09PSB0aGlzLnJpZ2h0UGFuZWxEYXRlLmdldEZ1bGxZZWFyKCk7XG5cbiAgICAgICAgICAgIGlmIChfY3VycmVudFZpZXcgPT09ICdkYXRlJyAmJiBpc1NhbWVZZWFyICYmIGxlZnRNb250aCA9PT0gcmlnaHRNb250aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlUGFuZWxEYXRlKCdyaWdodCcsICdNb250aCcsIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKF9jdXJyZW50VmlldyA9PT0gJ21vbnRoJyAmJiBpc1NhbWVZZWFyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VQYW5lbERhdGUoJ3JpZ2h0JywgJ0Z1bGxZZWFyJywgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoX2N1cnJlbnRWaWV3ID09PSAneWVhcicgJiYgaXNTYW1lWWVhcikge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlUGFuZWxEYXRlKCdyaWdodCcsICdGdWxsWWVhcicsIDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc2VsZWN0aW9uTW9kZTogZnVuY3Rpb24gc2VsZWN0aW9uTW9kZSh0eXBlKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRWaWV3ID0gdHlwZSB8fCAncmFuZ2UnO1xuICAgICAgICB9LFxuICAgICAgICBmb2N1c2VkRGF0ZTogZnVuY3Rpb24gZm9jdXNlZERhdGUoZGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRQYW5lbERhdGVzKGRhdGUgfHwgbmV3IERhdGUoKSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgcmVzZXQ6IGZ1bmN0aW9uIHJlc2V0KCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50VmlldyA9IHRoaXMuc2VsZWN0aW9uTW9kZTtcbiAgICAgICAgICAgIHRoaXMubGVmdFBpY2tlclRhYmxlID0gU3RyaW5nKHRoaXMuY3VycmVudFZpZXcpICsgJy10YWJsZSc7XG4gICAgICAgICAgICB0aGlzLnJpZ2h0UGlja2VyVGFibGUgPSBTdHJpbmcodGhpcy5jdXJyZW50VmlldykgKyAnLXRhYmxlJztcbiAgICAgICAgfSxcbiAgICAgICAgc2V0UGFuZWxEYXRlczogZnVuY3Rpb24gc2V0UGFuZWxEYXRlcyhsZWZ0UGFuZWxEYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmxlZnRQYW5lbERhdGUgPSBsZWZ0UGFuZWxEYXRlO1xuICAgICAgICAgICAgdmFyIHJpZ2h0UGFuZWxEYXRlID0gbmV3IERhdGUobGVmdFBhbmVsRGF0ZS5nZXRGdWxsWWVhcigpLCBsZWZ0UGFuZWxEYXRlLmdldE1vbnRoKCkgKyAxLCAxKTtcbiAgICAgICAgICAgIHZhciBzcGxpdFJpZ2h0UGFuZWxEYXRlID0gdGhpcy5kYXRlc1sxXSA/IHRoaXMuZGF0ZXNbMV0uZ2V0VGltZSgpIDogdGhpcy5kYXRlc1sxXTtcbiAgICAgICAgICAgIHRoaXMucmlnaHRQYW5lbERhdGUgPSB0aGlzLnNwbGl0UGFuZWxzID8gbmV3IERhdGUoTWF0aC5tYXgoc3BsaXRSaWdodFBhbmVsRGF0ZSwgcmlnaHRQYW5lbERhdGUuZ2V0VGltZSgpKSkgOiByaWdodFBhbmVsRGF0ZTtcbiAgICAgICAgfSxcbiAgICAgICAgcGFuZWxMYWJlbENvbmZpZzogZnVuY3Rpb24gcGFuZWxMYWJlbENvbmZpZyhkaXJlY3Rpb24pIHtcbiAgICAgICAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgbG9jYWxlID0gdGhpcy50KCdpLmxvY2FsZScpO1xuICAgICAgICAgICAgdmFyIGRhdGVQYW5lbExhYmVsID0gdGhpcy50KCdpLmRhdGVwaWNrZXIuZGF0ZVBhbmVsTGFiZWwnKTtcbiAgICAgICAgICAgIHZhciBoYW5kbGVyID0gZnVuY3Rpb24gKHR5cGUpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMik7XG5cbiAgICAgICAgICAgICAgICB2YXIgZm4gPSB0eXBlID09ICdtb250aCcgPyB0aGlzLnNob3dNb250aFBpY2tlciA6IHRoaXMuc2hvd1llYXJQaWNrZXI7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczIpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZm4oZGlyZWN0aW9uKTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcyk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcyk7XG5cbiAgICAgICAgICAgIHZhciBkYXRlID0gdGhpc1tTdHJpbmcoZGlyZWN0aW9uKSArICdQYW5lbERhdGUnXTtcblxuICAgICAgICAgICAgdmFyIF9mb3JtYXREYXRlTGFiZWxzID0gKDAsIF91dGlsLmZvcm1hdERhdGVMYWJlbHMpKGxvY2FsZSwgZGF0ZVBhbmVsTGFiZWwsIGRhdGUpLFxuICAgICAgICAgICAgICAgIGxhYmVscyA9IF9mb3JtYXREYXRlTGFiZWxzLmxhYmVscyxcbiAgICAgICAgICAgICAgICBzZXBhcmF0b3IgPSBfZm9ybWF0RGF0ZUxhYmVscy5zZXBhcmF0b3I7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgc2VwYXJhdG9yOiBzZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgbGFiZWxzOiBsYWJlbHMubWFwKGZ1bmN0aW9uIChvYmopIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczIpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JqLmhhbmRsZXIgPSBoYW5kbGVyKG9iai50eXBlKSwgb2JqO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSlcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sXG4gICAgICAgIHByZXZZZWFyOiBmdW5jdGlvbiBwcmV2WWVhcihwYW5lbCkge1xuICAgICAgICAgICAgdmFyIGluY3JlbWVudCA9IHRoaXMuY3VycmVudFZpZXcgPT09ICd5ZWFyJyA/IC0xMCA6IC0xO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VQYW5lbERhdGUocGFuZWwsICdGdWxsWWVhcicsIGluY3JlbWVudCk7XG4gICAgICAgIH0sXG4gICAgICAgIG5leHRZZWFyOiBmdW5jdGlvbiBuZXh0WWVhcihwYW5lbCkge1xuICAgICAgICAgICAgdmFyIGluY3JlbWVudCA9IHRoaXMuY3VycmVudFZpZXcgPT09ICd5ZWFyJyA/IDEwIDogMTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlUGFuZWxEYXRlKHBhbmVsLCAnRnVsbFllYXInLCBpbmNyZW1lbnQpO1xuICAgICAgICB9LFxuICAgICAgICBwcmV2TW9udGg6IGZ1bmN0aW9uIHByZXZNb250aChwYW5lbCkge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VQYW5lbERhdGUocGFuZWwsICdNb250aCcsIC0xKTtcbiAgICAgICAgfSxcbiAgICAgICAgbmV4dE1vbnRoOiBmdW5jdGlvbiBuZXh0TW9udGgocGFuZWwpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlUGFuZWxEYXRlKHBhbmVsLCAnTW9udGgnLCAxKTtcbiAgICAgICAgfSxcbiAgICAgICAgY2hhbmdlUGFuZWxEYXRlOiBmdW5jdGlvbiBjaGFuZ2VQYW5lbERhdGUocGFuZWwsIHR5cGUsIGluY3JlbWVudCkge1xuICAgICAgICAgICAgdmFyIHVwZGF0ZU90aGVyUGFuZWwgPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IHRydWU7XG5cbiAgICAgICAgICAgIHZhciBjdXJyZW50ID0gbmV3IERhdGUodGhpc1tTdHJpbmcocGFuZWwpICsgJ1BhbmVsRGF0ZSddKTtcbiAgICAgICAgICAgIGN1cnJlbnRbJ3NldCcgKyBTdHJpbmcodHlwZSldKGN1cnJlbnRbJ2dldCcgKyBTdHJpbmcodHlwZSldKCkgKyBpbmNyZW1lbnQpO1xuICAgICAgICAgICAgdGhpc1tTdHJpbmcocGFuZWwpICsgJ1BhbmVsRGF0ZSddID0gY3VycmVudDtcblxuICAgICAgICAgICAgaWYgKCF1cGRhdGVPdGhlclBhbmVsKSByZXR1cm47XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnNwbGl0UGFuZWxzKSB7XG4gICAgICAgICAgICAgICAgdmFyIG90aGVyUGFuZWwgPSBwYW5lbCA9PT0gJ2xlZnQnID8gJ3JpZ2h0JyA6ICdsZWZ0JztcbiAgICAgICAgICAgICAgICBpZiAocGFuZWwgPT09ICdsZWZ0JyAmJiB0aGlzLmxlZnRQYW5lbERhdGUgPj0gdGhpcy5yaWdodFBhbmVsRGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVBhbmVsRGF0ZShvdGhlclBhbmVsLCB0eXBlLCAxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHBhbmVsID09PSAncmlnaHQnICYmIHRoaXMucmlnaHRQYW5lbERhdGUgPD0gdGhpcy5sZWZ0UGFuZWxEYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlUGFuZWxEYXRlKG90aGVyUGFuZWwsIHR5cGUsIC0xKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhciBfb3RoZXJQYW5lbCA9IHBhbmVsID09PSAnbGVmdCcgPyAncmlnaHQnIDogJ2xlZnQnO1xuICAgICAgICAgICAgICAgIHZhciBjdXJyZW50RGF0ZSA9IHRoaXNbX290aGVyUGFuZWwgKyAnUGFuZWxEYXRlJ107XG4gICAgICAgICAgICAgICAgdmFyIHRlbXAgPSBuZXcgRGF0ZShjdXJyZW50RGF0ZSk7XG5cbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ01vbnRoJykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbmV4dE1vbnRoTGFzdERhdGUgPSBuZXcgRGF0ZSh0ZW1wLmdldEZ1bGxZZWFyKCksIHRlbXAuZ2V0TW9udGgoKSArIGluY3JlbWVudCArIDEsIDApLmdldERhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGVtcC5zZXREYXRlKE1hdGgubWluKG5leHRNb250aExhc3REYXRlLCB0ZW1wLmdldERhdGUoKSkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRlbXBbJ3NldCcgKyBTdHJpbmcodHlwZSldKHRlbXBbJ2dldCcgKyBTdHJpbmcodHlwZSldKCkgKyBpbmNyZW1lbnQpO1xuICAgICAgICAgICAgICAgIHRoaXNbX290aGVyUGFuZWwgKyAnUGFuZWxEYXRlJ10gPSB0ZW1wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBzaG93WWVhclBpY2tlcjogZnVuY3Rpb24gc2hvd1llYXJQaWNrZXIocGFuZWwpIHtcbiAgICAgICAgICAgIHRoaXNbU3RyaW5nKHBhbmVsKSArICdQaWNrZXJUYWJsZSddID0gJ3llYXItdGFibGUnO1xuICAgICAgICB9LFxuICAgICAgICBzaG93TW9udGhQaWNrZXI6IGZ1bmN0aW9uIHNob3dNb250aFBpY2tlcihwYW5lbCkge1xuICAgICAgICAgICAgdGhpc1tTdHJpbmcocGFuZWwpICsgJ1BpY2tlclRhYmxlJ10gPSAnbW9udGgtdGFibGUnO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVQcmVTZWxlY3Rpb246IGZ1bmN0aW9uIGhhbmRsZVByZVNlbGVjdGlvbihwYW5lbCwgdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXNbU3RyaW5nKHBhbmVsKSArICdQYW5lbERhdGUnXSA9IHZhbHVlO1xuICAgICAgICAgICAgdmFyIGN1cnJlbnRWaWV3VHlwZSA9IHRoaXNbU3RyaW5nKHBhbmVsKSArICdQaWNrZXJUYWJsZSddO1xuICAgICAgICAgICAgaWYgKGN1cnJlbnRWaWV3VHlwZSA9PT0gJ3llYXItdGFibGUnKSB0aGlzW1N0cmluZyhwYW5lbCkgKyAnUGlja2VyVGFibGUnXSA9ICdtb250aC10YWJsZSc7ZWxzZSB0aGlzW1N0cmluZyhwYW5lbCkgKyAnUGlja2VyVGFibGUnXSA9IFN0cmluZyh0aGlzLmN1cnJlbnRWaWV3KSArICctdGFibGUnO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuc3BsaXRQYW5lbHMpIHtcbiAgICAgICAgICAgICAgICB2YXIgb3RoZXJQYW5lbCA9IHBhbmVsID09PSAnbGVmdCcgPyAncmlnaHQnIDogJ2xlZnQnO1xuICAgICAgICAgICAgICAgIHRoaXNbb3RoZXJQYW5lbCArICdQYW5lbERhdGUnXSA9IHZhbHVlO1xuXG4gICAgICAgICAgICAgICAgdmFyIGluY3JlbWVudCA9IG90aGVyUGFuZWwgPT09ICdsZWZ0JyA/IC0xIDogMTtcblxuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlUGFuZWxEYXRlKG90aGVyUGFuZWwsICdNb250aCcsIGluY3JlbWVudCwgZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVSYW5nZVBpY2s6IGZ1bmN0aW9uIGhhbmRsZVJhbmdlUGljayh2YWwsIHR5cGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnJhbmdlU3RhdGUuc2VsZWN0aW5nIHx8IHRoaXMuY3VycmVudFZpZXcgPT09ICd0aW1lJykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRWaWV3ID09PSAndGltZScpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRlcyA9IHZhbDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX3NvcnQgPSBbdGhpcy5yYW5nZVN0YXRlLmZyb20sIHZhbF0uc29ydChkYXRlU29ydGVyKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF9zb3J0MiA9ICgwLCBfc2xpY2VkVG9BcnJheTMuZGVmYXVsdCkoX3NvcnQsIDIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWluRGF0ZSA9IF9zb3J0MlswXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heERhdGUgPSBfc29ydDJbMV07XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRlcyA9IFttaW5EYXRlLCBtYXhEYXRlXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yYW5nZVN0YXRlID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZnJvbTogbWluRGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvOiBtYXhEYXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW5nOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUNvbmZpcm0oZmFsc2UsIHR5cGUgfHwgJ2RhdGUnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yYW5nZVN0YXRlID0ge1xuICAgICAgICAgICAgICAgICAgICBmcm9tOiB2YWwsXG4gICAgICAgICAgICAgICAgICAgIHRvOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpbmc6IHRydWVcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVDaGFuZ2VSYW5nZTogZnVuY3Rpb24gaGFuZGxlQ2hhbmdlUmFuZ2UodmFsKSB7XG4gICAgICAgICAgICB0aGlzLnJhbmdlU3RhdGUudG8gPSB2YWw7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDE2NSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90aW1lX3JhbmdlX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNjYpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RpbWVfcmFuZ2VfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90aW1lX3JhbmdlX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGltZV9yYW5nZV92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGltZV9yYW5nZV92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl83NzIyNWM4Ml9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RpbWVfcmFuZ2VfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQxMCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNzcyMjVjODJfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90aW1lX3JhbmdlX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNzcyMjVjODJfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90aW1lX3JhbmdlX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RpbWVfcmFuZ2VfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl83NzIyNWM4Ml9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RpbWVfcmFuZ2VfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92Xzc3MjI1YzgyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGltZV9yYW5nZV92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogMTY2ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9rZXlzID0gX193ZWJwYWNrX3JlcXVpcmVfXygyNSk7XG5cbnZhciBfa2V5czIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9rZXlzKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbnZhciBfc2xpY2VkVG9BcnJheTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIzKTtcblxudmFyIF9zbGljZWRUb0FycmF5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3NsaWNlZFRvQXJyYXkyKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbnZhciBfdGltZVNwaW5uZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE1OCk7XG5cbnZhciBfdGltZVNwaW5uZXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdGltZVNwaW5uZXIpO1xuXG52YXIgX2NvbmZpcm0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU3KTtcblxudmFyIF9jb25maXJtMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2NvbmZpcm0pO1xuXG52YXIgX3RpbWVNaXhpbnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU2KTtcblxudmFyIF90aW1lTWl4aW5zMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RpbWVNaXhpbnMpO1xuXG52YXIgX3BhbmVsTWl4aW4gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU4KTtcblxudmFyIF9wYW5lbE1peGluMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3BhbmVsTWl4aW4pO1xuXG52YXIgX2xvY2FsZSA9IF9fd2VicGFja19yZXF1aXJlX18oNSk7XG5cbnZhciBfbG9jYWxlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2xvY2FsZSk7XG5cbnZhciBfdXRpbCA9IF9fd2VicGFja19yZXF1aXJlX18oMTcpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1waWNrZXItcGFuZWwnO1xudmFyIHRpbWVQcmVmaXhDbHMgPSAnaXZ1LXRpbWUtcGlja2VyJztcblxudmFyIGNhcGl0YWxpemUgPSBmdW5jdGlvbiAoc3RyKSB7XG4gICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gICAgcmV0dXJuIHN0clswXS50b1VwcGVyQ2FzZSgpICsgc3RyLnNsaWNlKDEpO1xufS5iaW5kKHVuZGVmaW5lZCk7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnUmFuZ2VUaW1lUGlja2VyUGFuZWwnLFxuICAgIG1peGluczogW19wYW5lbE1peGluMi5kZWZhdWx0LCBfbG9jYWxlMi5kZWZhdWx0LCBfdGltZU1peGluczIuZGVmYXVsdF0sXG4gICAgY29tcG9uZW50czogeyBUaW1lU3Bpbm5lcjogX3RpbWVTcGlubmVyMi5kZWZhdWx0LCBDb25maXJtOiBfY29uZmlybTIuZGVmYXVsdCB9LFxuICAgIHByb3BzOiB7XG4gICAgICAgIHN0ZXBzOiB7XG4gICAgICAgICAgICB0eXBlOiBBcnJheSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH0uYmluZCh1bmRlZmluZWQpXG4gICAgICAgIH0sXG4gICAgICAgIGZvcm1hdDoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJ0hIOm1tOnNzJ1xuICAgICAgICB9LFxuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgdHlwZTogQXJyYXksXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICB2YXIgX3ZhbHVlJHNsaWNlID0gdGhpcy52YWx1ZS5zbGljZSgpLFxuICAgICAgICAgICAgX3ZhbHVlJHNsaWNlMiA9ICgwLCBfc2xpY2VkVG9BcnJheTMuZGVmYXVsdCkoX3ZhbHVlJHNsaWNlLCAyKSxcbiAgICAgICAgICAgIGRhdGVTdGFydCA9IF92YWx1ZSRzbGljZTJbMF0sXG4gICAgICAgICAgICBkYXRlRW5kID0gX3ZhbHVlJHNsaWNlMlsxXTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcHJlZml4Q2xzOiBwcmVmaXhDbHMsXG4gICAgICAgICAgICB0aW1lUHJlZml4Q2xzOiB0aW1lUHJlZml4Q2xzLFxuICAgICAgICAgICAgc2hvd0RhdGU6IGZhbHNlLFxuICAgICAgICAgICAgZGF0ZVN0YXJ0OiBkYXRlU3RhcnQgfHwgKDAsIF91dGlsLmluaXRUaW1lRGF0ZSkoKSxcbiAgICAgICAgICAgIGRhdGVFbmQ6IGRhdGVFbmQgfHwgKDAsIF91dGlsLmluaXRUaW1lRGF0ZSkoKVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXhDbHMgKyAnLWJvZHktd3JhcHBlcicsIHRpbWVQcmVmaXhDbHMgKyAnLXdpdGgtcmFuZ2UnLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KSh7fSwgdGltZVByZWZpeENscyArICctd2l0aC1zZWNvbmRzJywgdGhpcy5zaG93U2Vjb25kcyldO1xuICAgICAgICB9LFxuICAgICAgICBzaG93U2Vjb25kczogZnVuY3Rpb24gc2hvd1NlY29uZHMoKSB7XG4gICAgICAgICAgICByZXR1cm4gISh0aGlzLmZvcm1hdCB8fCAnJykubWF0Y2goL21tJC8pO1xuICAgICAgICB9LFxuICAgICAgICBsZWZ0RGF0ZVBhbmVsTGFiZWw6IGZ1bmN0aW9uIGxlZnREYXRlUGFuZWxMYWJlbCgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnBhbmVsTGFiZWxDb25maWcodGhpcy5kYXRlKTtcbiAgICAgICAgfSxcbiAgICAgICAgcmlnaHREYXRlUGFuZWxMYWJlbDogZnVuY3Rpb24gcmlnaHREYXRlUGFuZWxMYWJlbCgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnBhbmVsTGFiZWxDb25maWcodGhpcy5kYXRlRW5kKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgd2F0Y2g6IHtcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIHZhbHVlKGRhdGVzKSB7XG4gICAgICAgICAgICB2YXIgX2RhdGVzJHNsaWNlID0gZGF0ZXMuc2xpY2UoKSxcbiAgICAgICAgICAgICAgICBfZGF0ZXMkc2xpY2UyID0gKDAsIF9zbGljZWRUb0FycmF5My5kZWZhdWx0KShfZGF0ZXMkc2xpY2UsIDIpLFxuICAgICAgICAgICAgICAgIGRhdGVTdGFydCA9IF9kYXRlcyRzbGljZTJbMF0sXG4gICAgICAgICAgICAgICAgZGF0ZUVuZCA9IF9kYXRlcyRzbGljZTJbMV07XG5cbiAgICAgICAgICAgIHRoaXMuZGF0ZVN0YXJ0ID0gZGF0ZVN0YXJ0IHx8ICgwLCBfdXRpbC5pbml0VGltZURhdGUpKCk7XG4gICAgICAgICAgICB0aGlzLmRhdGVFbmQgPSBkYXRlRW5kIHx8ICgwLCBfdXRpbC5pbml0VGltZURhdGUpKCk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgcGFuZWxMYWJlbENvbmZpZzogZnVuY3Rpb24gcGFuZWxMYWJlbENvbmZpZyhkYXRlKSB7XG4gICAgICAgICAgICB2YXIgbG9jYWxlID0gdGhpcy50KCdpLmxvY2FsZScpO1xuICAgICAgICAgICAgdmFyIGRhdGVQYW5lbExhYmVsID0gdGhpcy50KCdpLmRhdGVwaWNrZXIuZGF0ZVBhbmVsTGFiZWwnKTtcblxuICAgICAgICAgICAgdmFyIF9mb3JtYXREYXRlTGFiZWxzID0gKDAsIF91dGlsLmZvcm1hdERhdGVMYWJlbHMpKGxvY2FsZSwgZGF0ZVBhbmVsTGFiZWwsIGRhdGUgfHwgKDAsIF91dGlsLmluaXRUaW1lRGF0ZSkoKSksXG4gICAgICAgICAgICAgICAgbGFiZWxzID0gX2Zvcm1hdERhdGVMYWJlbHMubGFiZWxzLFxuICAgICAgICAgICAgICAgIHNlcGFyYXRvciA9IF9mb3JtYXREYXRlTGFiZWxzLnNlcGFyYXRvcjtcblxuICAgICAgICAgICAgcmV0dXJuIFtsYWJlbHNbMF0ubGFiZWwsIHNlcGFyYXRvciwgbGFiZWxzWzFdLmxhYmVsXS5qb2luKCcnKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlQ2hhbmdlOiBmdW5jdGlvbiBoYW5kbGVDaGFuZ2Uoc3RhcnQsIGVuZCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIGVtaXQgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IHRydWU7XG5cblxuICAgICAgICAgICAgdmFyIGRhdGVTdGFydCA9IG5ldyBEYXRlKHRoaXMuZGF0ZVN0YXJ0KTtcbiAgICAgICAgICAgIHZhciBkYXRlRW5kID0gbmV3IERhdGUodGhpcy5kYXRlRW5kKTtcblxuICAgICAgICAgICAgKDAsIF9rZXlzMi5kZWZhdWx0KShzdGFydCkuZm9yRWFjaChmdW5jdGlvbiAodHlwZSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgZGF0ZVN0YXJ0WydzZXQnICsgU3RyaW5nKGNhcGl0YWxpemUodHlwZSkpXShzdGFydFt0eXBlXSk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuXG4gICAgICAgICAgICAoMCwgX2tleXMyLmRlZmF1bHQpKGVuZCkuZm9yRWFjaChmdW5jdGlvbiAodHlwZSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgZGF0ZUVuZFsnc2V0JyArIFN0cmluZyhjYXBpdGFsaXplKHR5cGUpKV0oZW5kW3R5cGVdKTtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG5cbiAgICAgICAgICAgIGlmIChkYXRlRW5kIDwgZGF0ZVN0YXJ0KSBkYXRlRW5kID0gZGF0ZVN0YXJ0O1xuXG4gICAgICAgICAgICBpZiAoZW1pdCkgdGhpcy4kZW1pdCgnb24tcGljaycsIFtkYXRlU3RhcnQsIGRhdGVFbmRdLCAndGltZScpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVTdGFydENoYW5nZTogZnVuY3Rpb24gaGFuZGxlU3RhcnRDaGFuZ2UoZGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVDaGFuZ2UoZGF0ZSwge30pO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVFbmRDaGFuZ2U6IGZ1bmN0aW9uIGhhbmRsZUVuZENoYW5nZShkYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUNoYW5nZSh7fSwgZGF0ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZVNjcm9sbDogZnVuY3Rpb24gdXBkYXRlU2Nyb2xsKCkge1xuICAgICAgICAgICAgdGhpcy4kcmVmcy50aW1lU3Bpbm5lci51cGRhdGVTY3JvbGwoKTtcbiAgICAgICAgICAgIHRoaXMuJHJlZnMudGltZVNwaW5uZXJFbmQudXBkYXRlU2Nyb2xsKCk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICAgIGlmICh0aGlzLiRwYXJlbnQgJiYgdGhpcy4kcGFyZW50LiRvcHRpb25zLm5hbWUgPT09ICdEYXRlUGlja2VyJykgdGhpcy5zaG93RGF0ZSA9IHRydWU7XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxNjcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9hc3Npc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1kaXZpZGVyJztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdEaXZpZGVyJyxcbiAgICBwcm9wczoge1xuICAgICAgICB0eXBlOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiAnaG9yaXpvbnRhbCcsXG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnaG9yaXpvbnRhbCcsICd2ZXJ0aWNhbCddKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb3JpZW50YXRpb246IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICdjZW50ZXInLFxuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ2xlZnQnLCAncmlnaHQnLCAnY2VudGVyJ10pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBkYXNoZWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBzaXplOiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnc21hbGwnLCAnZGVmYXVsdCddKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGRlZmF1bHQ6ICdkZWZhdWx0J1xuICAgICAgICB9XG4gICAgfSxcbiAgICBjb21wdXRlZDoge1xuICAgICAgICBoYXNTbG90OiBmdW5jdGlvbiBoYXNTbG90KCkge1xuICAgICAgICAgICAgcmV0dXJuICEhdGhpcy4kc2xvdHMuZGVmYXVsdDtcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NlczogZnVuY3Rpb24gY2xhc3NlcygpIHtcbiAgICAgICAgICAgIHZhciBfcmVmO1xuXG4gICAgICAgICAgICByZXR1cm4gWycnICsgcHJlZml4Q2xzLCBwcmVmaXhDbHMgKyAnLScgKyBTdHJpbmcodGhpcy50eXBlKSwgcHJlZml4Q2xzICsgJy0nICsgU3RyaW5nKHRoaXMuc2l6ZSksIChfcmVmID0ge30sICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctd2l0aC10ZXh0JywgdGhpcy5oYXNTbG90ICYmIHRoaXMub3JpZW50YXRpb24gPT09ICdjZW50ZXInKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy13aXRoLXRleHQtJyArIFN0cmluZyh0aGlzLm9yaWVudGF0aW9uKSwgdGhpcy5oYXNTbG90KSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1kYXNoZWQnLCAhIXRoaXMuZGFzaGVkKSwgX3JlZildO1xuICAgICAgICB9LFxuICAgICAgICBzbG90Q2xhc3NlczogZnVuY3Rpb24gc2xvdENsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gW3ByZWZpeENscyArICctaW5uZXItdGV4dCddO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxNjggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF9hc3NpZ24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE0KTtcblxudmFyIF9hc3NpZ24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfYXNzaWduKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbnZhciBfaWNvbiA9IF9fd2VicGFja19yZXF1aXJlX18oMjApO1xuXG52YXIgX2ljb24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaWNvbik7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxudmFyIF90cmFuc2ZlckRvbSA9IF9fd2VicGFja19yZXF1aXJlX18oMjEpO1xuXG52YXIgX3RyYW5zZmVyRG9tMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RyYW5zZmVyRG9tKTtcblxudmFyIF9lbWl0dGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0KTtcblxudmFyIF9lbWl0dGVyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2VtaXR0ZXIpO1xuXG52YXIgX21peGluc1Njcm9sbGJhciA9IF9fd2VicGFja19yZXF1aXJlX18oNzkpO1xuXG52YXIgX21peGluc1Njcm9sbGJhcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9taXhpbnNTY3JvbGxiYXIpO1xuXG52YXIgX2RvbSA9IF9fd2VicGFja19yZXF1aXJlX18oMTMpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1kcmF3ZXInO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ0RyYXdlcicsXG4gICAgbWl4aW5zOiBbX2VtaXR0ZXIyLmRlZmF1bHQsIF9taXhpbnNTY3JvbGxiYXIyLmRlZmF1bHRdLFxuICAgIGNvbXBvbmVudHM6IHsgSWNvbjogX2ljb24yLmRlZmF1bHQgfSxcbiAgICBkaXJlY3RpdmVzOiB7IFRyYW5zZmVyRG9tOiBfdHJhbnNmZXJEb20yLmRlZmF1bHQgfSxcbiAgICBwcm9wczoge1xuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgd2lkdGg6IHtcbiAgICAgICAgICAgIHR5cGU6IFtOdW1iZXIsIFN0cmluZ10sXG4gICAgICAgICAgICBkZWZhdWx0OiAyNTZcbiAgICAgICAgfSxcbiAgICAgICAgY2xvc2FibGU6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIG1hc2tDbG9zYWJsZToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgbWFzazoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgbWFza1N0eWxlOiB7XG4gICAgICAgICAgICB0eXBlOiBPYmplY3RcbiAgICAgICAgfSxcbiAgICAgICAgc3R5bGVzOiB7XG4gICAgICAgICAgICB0eXBlOiBPYmplY3RcbiAgICAgICAgfSxcbiAgICAgICAgc2Nyb2xsYWJsZToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHBsYWNlbWVudDoge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ2xlZnQnLCAncmlnaHQnXSk7XG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICBkZWZhdWx0OiAncmlnaHQnXG4gICAgICAgIH0sXG4gICAgICAgIHpJbmRleDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgZGVmYXVsdDogMTAwMFxuICAgICAgICB9LFxuICAgICAgICB0cmFuc2Zlcjoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAhdGhpcy4kSVZJRVcgfHwgdGhpcy4kSVZJRVcudHJhbnNmZXIgPT09ICcnID8gdHJ1ZSA6IHRoaXMuJElWSUVXLnRyYW5zZmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWU6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZ1xuICAgICAgICB9LFxuICAgICAgICBpbm5lcjoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG5cbiAgICAgICAgZHJhZ2dhYmxlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgYmVmb3JlQ2xvc2U6IEZ1bmN0aW9uXG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcHJlZml4Q2xzOiBwcmVmaXhDbHMsXG4gICAgICAgICAgICB2aXNpYmxlOiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgd3JhcFNob3c6IGZhbHNlLFxuICAgICAgICAgICAgc2hvd0hlYWQ6IHRydWUsXG4gICAgICAgICAgICBjYW5Nb3ZlOiBmYWxzZSxcbiAgICAgICAgICAgIGRyYWdXaWR0aDogdGhpcy53aWR0aCxcbiAgICAgICAgICAgIHdyYXBwZXJXaWR0aDogdGhpcy53aWR0aCxcbiAgICAgICAgICAgIHdyYXBwZXJMZWZ0OiAwLFxuICAgICAgICAgICAgbWluV2lkdGg6IDI1NlxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICB3cmFwQ2xhc3NlczogZnVuY3Rpb24gd3JhcENsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjtcblxuICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXhDbHMgKyAnLXdyYXAnLCAoX3JlZiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLWhpZGRlbicsICF0aGlzLndyYXBTaG93KSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgJycgKyBTdHJpbmcodGhpcy5jbGFzc05hbWUpLCAhIXRoaXMuY2xhc3NOYW1lKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1uby1tYXNrJywgIXRoaXMubWFzayksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctd3JhcC1pbm5lcicsIHRoaXMuaW5uZXIpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLXdyYXAtZHJhZ2dpbmcnLCB0aGlzLmNhbk1vdmUpLCBfcmVmKV07XG4gICAgICAgIH0sXG4gICAgICAgIG1haW5TdHlsZXM6IGZ1bmN0aW9uIG1haW5TdHlsZXMoKSB7XG4gICAgICAgICAgICB2YXIgc3R5bGUgPSB7fTtcblxuICAgICAgICAgICAgdmFyIHdpZHRoID0gcGFyc2VJbnQodGhpcy5kcmFnV2lkdGgpO1xuXG4gICAgICAgICAgICB2YXIgc3R5bGVXaWR0aCA9IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogd2lkdGggPD0gMTAwID8gU3RyaW5nKHdpZHRoKSArICclJyA6IFN0cmluZyh3aWR0aCkgKyAncHgnXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAoMCwgX2Fzc2lnbjIuZGVmYXVsdCkoc3R5bGUsIHN0eWxlV2lkdGgpO1xuXG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRlbnRDbGFzc2VzOiBmdW5jdGlvbiBjb250ZW50Q2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy1jb250ZW50JywgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sIHByZWZpeENscyArICctY29udGVudC1uby1tYXNrJywgIXRoaXMubWFzayldO1xuICAgICAgICB9LFxuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWYzO1xuXG4gICAgICAgICAgICByZXR1cm4gWycnICsgcHJlZml4Q2xzLCBwcmVmaXhDbHMgKyAnLScgKyBTdHJpbmcodGhpcy5wbGFjZW1lbnQpLCAoX3JlZjMgPSB7fSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjMsIHByZWZpeENscyArICctbm8taGVhZGVyJywgIXRoaXMuc2hvd0hlYWQpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmMywgcHJlZml4Q2xzICsgJy1pbm5lcicsIHRoaXMuaW5uZXIpLCBfcmVmMyldO1xuICAgICAgICB9LFxuICAgICAgICBtYXNrQ2xhc3NlczogZnVuY3Rpb24gbWFza0NsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gW3ByZWZpeENscyArICctbWFzaycsICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKHt9LCBwcmVmaXhDbHMgKyAnLW1hc2staW5uZXInLCB0aGlzLmlubmVyKV07XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgY2xvc2U6IGZ1bmN0aW9uIGNsb3NlKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgaWYgKCF0aGlzLmJlZm9yZUNsb3NlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlQ2xvc2UoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIGJlZm9yZSA9IHRoaXMuYmVmb3JlQ2xvc2UoKTtcblxuICAgICAgICAgICAgaWYgKGJlZm9yZSAmJiBiZWZvcmUudGhlbikge1xuICAgICAgICAgICAgICAgIGJlZm9yZS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVDbG9zZSgpO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlQ2xvc2U6IGZ1bmN0aW9uIGhhbmRsZUNsb3NlKCkge1xuICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWNsb3NlJyk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZU1hc2s6IGZ1bmN0aW9uIGhhbmRsZU1hc2soKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5tYXNrQ2xvc2FibGUgJiYgdGhpcy5tYXNrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVXcmFwQ2xpY2s6IGZ1bmN0aW9uIGhhbmRsZVdyYXBDbGljayhldmVudCkge1xuICAgICAgICAgICAgdmFyIGNsYXNzTmFtZSA9IGV2ZW50LnRhcmdldC5nZXRBdHRyaWJ1dGUoJ2NsYXNzJyk7XG4gICAgICAgICAgICBpZiAoY2xhc3NOYW1lICYmIGNsYXNzTmFtZS5pbmRleE9mKHByZWZpeENscyArICctd3JhcCcpID4gLTEpIHRoaXMuaGFuZGxlTWFzaygpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVNb3VzZW1vdmU6IGZ1bmN0aW9uIGhhbmRsZU1vdXNlbW92ZShldmVudCkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmNhbk1vdmUgfHwgIXRoaXMuZHJhZ2dhYmxlKSByZXR1cm47XG5cbiAgICAgICAgICAgIHRoaXMuaGFuZGxlU2V0V3JhcHBlcldpZHRoKCk7XG4gICAgICAgICAgICB2YXIgbGVmdCA9IGV2ZW50LnBhZ2VYIC0gdGhpcy53cmFwcGVyTGVmdDtcblxuICAgICAgICAgICAgdmFyIHdpZHRoID0gdGhpcy5wbGFjZW1lbnQgPT09ICdyaWdodCcgPyB0aGlzLndyYXBwZXJXaWR0aCAtIGxlZnQgOiBsZWZ0O1xuXG4gICAgICAgICAgICB3aWR0aCA9IE1hdGgubWF4KHdpZHRoLCBwYXJzZUZsb2F0KHRoaXMubWluV2lkdGgpKTtcbiAgICAgICAgICAgIGV2ZW50LmF0TWluID0gd2lkdGggPT09IHBhcnNlRmxvYXQodGhpcy5taW5XaWR0aCk7XG5cbiAgICAgICAgICAgIGlmICh3aWR0aCA8PSAxMDApIHdpZHRoID0gd2lkdGggLyB0aGlzLndyYXBwZXJXaWR0aCAqIDEwMDtcbiAgICAgICAgICAgIHRoaXMuZHJhZ1dpZHRoID0gd2lkdGg7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1yZXNpemUtd2lkdGgnLCBwYXJzZUludCh0aGlzLmRyYWdXaWR0aCkpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVTZXRXcmFwcGVyV2lkdGg6IGZ1bmN0aW9uIGhhbmRsZVNldFdyYXBwZXJXaWR0aCgpIHtcbiAgICAgICAgICAgIHZhciBfJGVsJGdldEJvdW5kaW5nQ2xpZW4gPSB0aGlzLiRlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxcbiAgICAgICAgICAgICAgICB3aWR0aCA9IF8kZWwkZ2V0Qm91bmRpbmdDbGllbi53aWR0aCxcbiAgICAgICAgICAgICAgICBsZWZ0ID0gXyRlbCRnZXRCb3VuZGluZ0NsaWVuLmxlZnQ7XG5cbiAgICAgICAgICAgIHRoaXMud3JhcHBlcldpZHRoID0gd2lkdGg7XG4gICAgICAgICAgICB0aGlzLndyYXBwZXJMZWZ0ID0gbGVmdDtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlTW91c2V1cDogZnVuY3Rpb24gaGFuZGxlTW91c2V1cCgpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kcmFnZ2FibGUpIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMuY2FuTW92ZSA9IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVUcmlnZ2VyTW91c2Vkb3duOiBmdW5jdGlvbiBoYW5kbGVUcmlnZ2VyTW91c2Vkb3duKCkge1xuICAgICAgICAgICAgdGhpcy5jYW5Nb3ZlID0gdHJ1ZTtcblxuICAgICAgICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgICBpZiAodGhpcy52aXNpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLndyYXBTaG93ID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBzaG93SGVhZCA9IHRydWU7XG5cbiAgICAgICAgaWYgKHRoaXMuJHNsb3RzLmhlYWRlciA9PT0gdW5kZWZpbmVkICYmICF0aGlzLnRpdGxlKSB7XG4gICAgICAgICAgICBzaG93SGVhZCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zaG93SGVhZCA9IHNob3dIZWFkO1xuXG4gICAgICAgICgwLCBfZG9tLm9uKShkb2N1bWVudCwgJ21vdXNlbW92ZScsIHRoaXMuaGFuZGxlTW91c2Vtb3ZlKTtcbiAgICAgICAgKDAsIF9kb20ub24pKGRvY3VtZW50LCAnbW91c2V1cCcsIHRoaXMuaGFuZGxlTW91c2V1cCk7XG4gICAgICAgIHRoaXMuaGFuZGxlU2V0V3JhcHBlcldpZHRoKCk7XG4gICAgfSxcbiAgICBiZWZvcmVEZXN0cm95OiBmdW5jdGlvbiBiZWZvcmVEZXN0cm95KCkge1xuICAgICAgICAoMCwgX2RvbS5vZmYpKGRvY3VtZW50LCAnbW91c2Vtb3ZlJywgdGhpcy5oYW5kbGVNb3VzZW1vdmUpO1xuICAgICAgICAoMCwgX2RvbS5vZmYpKGRvY3VtZW50LCAnbW91c2V1cCcsIHRoaXMuaGFuZGxlTW91c2V1cCk7XG4gICAgICAgIHRoaXMucmVtb3ZlU2Nyb2xsRWZmZWN0KCk7XG4gICAgfSxcblxuICAgIHdhdGNoOiB7XG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZSh2YWwpIHtcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IHZhbDtcbiAgICAgICAgfSxcbiAgICAgICAgdmlzaWJsZTogZnVuY3Rpb24gdmlzaWJsZSh2YWwpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAgICAgICBpZiAodmFsID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIHRoaXMudGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczIpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMud3JhcFNob3cgPSBmYWxzZTtcblxuICAgICAgICAgICAgICAgICAgICB2YXIgYnJvdGhlckRyYXdlcnMgPSAoMCwgX2Fzc2lzdC5maW5kQnJvdGhlcnNDb21wb25lbnRzKSh0aGlzLCAnRHJhd2VyJykgfHwgW107XG4gICAgICAgICAgICAgICAgICAgIHZhciBwYXJlbnREcmF3ZXJzID0gKDAsIF9hc3Npc3QuZmluZENvbXBvbmVudHNVcHdhcmQpKHRoaXMsICdEcmF3ZXInKSB8fCBbXTtcblxuICAgICAgICAgICAgICAgICAgICB2YXIgb3RoZXJEcmF3ZXJzID0gW10uY29uY2F0KGJyb3RoZXJEcmF3ZXJzKS5jb25jYXQocGFyZW50RHJhd2Vycyk7XG5cbiAgICAgICAgICAgICAgICAgICAgdmFyIGlzU2Nyb2xsRHJhd2VyID0gb3RoZXJEcmF3ZXJzLnNvbWUoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLnZpc2libGUgJiYgIWl0ZW0uc2Nyb2xsYWJsZTtcbiAgICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoIWlzU2Nyb2xsRHJhd2VyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVNjcm9sbEVmZmVjdCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpLCAzMDApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50aW1lcikgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpO1xuICAgICAgICAgICAgICAgIHRoaXMud3JhcFNob3cgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5zY3JvbGxhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkU2Nyb2xsRWZmZWN0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5icm9hZGNhc3QoJ1RhYmxlJywgJ29uLXZpc2libGUtY2hhbmdlJywgdmFsKTtcbiAgICAgICAgICAgIHRoaXMuYnJvYWRjYXN0KCdTbGlkZXInLCAnb24tdmlzaWJsZS1jaGFuZ2UnLCB2YWwpO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tdmlzaWJsZS1jaGFuZ2UnLCB2YWwpO1xuICAgICAgICB9LFxuICAgICAgICBzY3JvbGxhYmxlOiBmdW5jdGlvbiBzY3JvbGxhYmxlKHZhbCkge1xuICAgICAgICAgICAgaWYgKCF2YWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFNjcm9sbEVmZmVjdCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVNjcm9sbEVmZmVjdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB0aXRsZTogZnVuY3Rpb24gdGl0bGUodmFsKSB7XG4gICAgICAgICAgICBpZiAodGhpcy4kc2xvdHMuaGVhZGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dIZWFkID0gISF2YWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHdpZHRoOiBmdW5jdGlvbiB3aWR0aCh2YWwpIHtcbiAgICAgICAgICAgIHRoaXMuZHJhZ1dpZHRoID0gdmFsO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxNjkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbnZhciBfZHJvcGRvd24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMzKTtcblxudmFyIF9kcm9wZG93bjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kcm9wZG93bik7XG5cbnZhciBfdkNsaWNrT3V0c2lkZVggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM1KTtcblxudmFyIF90cmFuc2ZlckRvbSA9IF9fd2VicGFja19yZXF1aXJlX18oMjEpO1xuXG52YXIgX3RyYW5zZmVyRG9tMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RyYW5zZmVyRG9tKTtcblxudmFyIF9hc3Npc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1kcm9wZG93bic7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnRHJvcGRvd24nLFxuICAgIGRpcmVjdGl2ZXM6IHsgY2xpY2tPdXRzaWRlOiBfdkNsaWNrT3V0c2lkZVguZGlyZWN0aXZlLCBUcmFuc2ZlckRvbTogX3RyYW5zZmVyRG9tMi5kZWZhdWx0IH0sXG4gICAgY29tcG9uZW50czogeyBEcm9wOiBfZHJvcGRvd24yLmRlZmF1bHQgfSxcbiAgICBwcm9wczoge1xuICAgICAgICB0cmlnZ2VyOiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnY2xpY2snLCAnaG92ZXInLCAnY3VzdG9tJywgJ2NvbnRleHRNZW51J10pO1xuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgZGVmYXVsdDogJ2hvdmVyJ1xuICAgICAgICB9LFxuICAgICAgICBwbGFjZW1lbnQ6IHtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWyd0b3AnLCAndG9wLXN0YXJ0JywgJ3RvcC1lbmQnLCAnYm90dG9tJywgJ2JvdHRvbS1zdGFydCcsICdib3R0b20tZW5kJywgJ2xlZnQnLCAnbGVmdC1zdGFydCcsICdsZWZ0LWVuZCcsICdyaWdodCcsICdyaWdodC1zdGFydCcsICdyaWdodC1lbmQnXSk7XG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICBkZWZhdWx0OiAnYm90dG9tJ1xuICAgICAgICB9LFxuICAgICAgICB2aXNpYmxlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgdHJhbnNmZXI6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIXRoaXMuJElWSUVXIHx8IHRoaXMuJElWSUVXLnRyYW5zZmVyID09PSAnJyA/IGZhbHNlIDogdGhpcy4kSVZJRVcudHJhbnNmZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHRyYW5zZmVyQ2xhc3NOYW1lOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgc3RvcFByb3BhZ2F0aW9uOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfVxuICAgIH0sXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgdHJhbnNpdGlvbjogZnVuY3Rpb24gdHJhbnNpdGlvbigpIHtcbiAgICAgICAgICAgIHJldHVybiBbJ2JvdHRvbS1zdGFydCcsICdib3R0b20nLCAnYm90dG9tLWVuZCddLmluZGV4T2YodGhpcy5wbGFjZW1lbnQpID4gLTEgPyAnc2xpZGUtdXAnIDogJ2ZhZGUnO1xuICAgICAgICB9LFxuICAgICAgICBkcm9wZG93bkNsczogZnVuY3Rpb24gZHJvcGRvd25DbHMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjtcblxuICAgICAgICAgICAgcmV0dXJuIF9yZWYgPSB7fSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy10cmFuc2ZlcicsIHRoaXMudHJhbnNmZXIpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCB0aGlzLnRyYW5zZmVyQ2xhc3NOYW1lLCB0aGlzLnRyYW5zZmVyQ2xhc3NOYW1lKSwgX3JlZjtcbiAgICAgICAgfSxcbiAgICAgICAgcmVsQ2xhc3NlczogZnVuY3Rpb24gcmVsQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy1yZWwnLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KSh7fSwgcHJlZml4Q2xzICsgJy1yZWwtdXNlci1zZWxlY3Qtbm9uZScsIHRoaXMudHJpZ2dlciA9PT0gJ2NvbnRleHRNZW51JyldO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcHJlZml4Q2xzOiBwcmVmaXhDbHMsXG4gICAgICAgICAgICBjdXJyZW50VmlzaWJsZTogdGhpcy52aXNpYmxlXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIHdhdGNoOiB7XG4gICAgICAgIHZpc2libGU6IGZ1bmN0aW9uIHZpc2libGUodmFsKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRWaXNpYmxlID0gdmFsO1xuICAgICAgICB9LFxuICAgICAgICBjdXJyZW50VmlzaWJsZTogZnVuY3Rpb24gY3VycmVudFZpc2libGUodmFsKSB7XG4gICAgICAgICAgICBpZiAodmFsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5kcm9wLnVwZGF0ZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmRyb3AuZGVzdHJveSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tdmlzaWJsZS1jaGFuZ2UnLCB2YWwpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGhhbmRsZUNsaWNrOiBmdW5jdGlvbiBoYW5kbGVDbGljaygpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRyaWdnZXIgPT09ICdjdXN0b20nKSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICBpZiAodGhpcy50cmlnZ2VyICE9PSAnY2xpY2snKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jdXJyZW50VmlzaWJsZSA9ICF0aGlzLmN1cnJlbnRWaXNpYmxlO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVSaWdodENsaWNrOiBmdW5jdGlvbiBoYW5kbGVSaWdodENsaWNrKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMudHJpZ2dlciA9PT0gJ2N1c3RvbScpIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGlmICh0aGlzLnRyaWdnZXIgIT09ICdjb250ZXh0TWVudScpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRWaXNpYmxlID0gIXRoaXMuY3VycmVudFZpc2libGU7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZU1vdXNlZW50ZXI6IGZ1bmN0aW9uIGhhbmRsZU1vdXNlZW50ZXIoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgICAgICBpZiAodGhpcy50cmlnZ2VyID09PSAnY3VzdG9tJykgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgaWYgKHRoaXMudHJpZ2dlciAhPT0gJ2hvdmVyJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLnRpbWVvdXQpIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuICAgICAgICAgICAgdGhpcy50aW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSwgMjUwKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlTW91c2VsZWF2ZTogZnVuY3Rpb24gaGFuZGxlTW91c2VsZWF2ZSgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAgICAgICBpZiAodGhpcy50cmlnZ2VyID09PSAnY3VzdG9tJykgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgaWYgKHRoaXMudHJpZ2dlciAhPT0gJ2hvdmVyJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLnRpbWVvdXQpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KTtcbiAgICAgICAgICAgICAgICB0aGlzLnRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczIpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcyksIDE1MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ2xpY2tvdXRzaWRlOiBmdW5jdGlvbiBvbkNsaWNrb3V0c2lkZShlKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUNsb3NlKCk7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJpZ2h0Q2xvc2UoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRWaXNpYmxlKSB0aGlzLiRlbWl0KCdvbi1jbGlja291dHNpZGUnLCBlKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlQ2xvc2U6IGZ1bmN0aW9uIGhhbmRsZUNsb3NlKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMudHJpZ2dlciA9PT0gJ2N1c3RvbScpIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGlmICh0aGlzLnRyaWdnZXIgIT09ICdjbGljaycpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVJpZ2h0Q2xvc2U6IGZ1bmN0aW9uIGhhbmRsZVJpZ2h0Q2xvc2UoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy50cmlnZ2VyID09PSAnY3VzdG9tJykgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgaWYgKHRoaXMudHJpZ2dlciAhPT0gJ2NvbnRleHRNZW51Jykge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY3VycmVudFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFzUGFyZW50OiBmdW5jdGlvbiBoYXNQYXJlbnQoKSB7XG4gICAgICAgICAgICB2YXIgJHBhcmVudCA9ICgwLCBfYXNzaXN0LmZpbmRDb21wb25lbnRVcHdhcmQpKHRoaXMsICdEcm9wZG93bicpO1xuICAgICAgICAgICAgaWYgKCRwYXJlbnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJHBhcmVudDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgICB2YXIgX3RoaXMzID0gdGhpcztcblxuICAgICAgICB0aGlzLiRvbignb24tY2xpY2snLCBmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMyk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnN0b3BQcm9wYWdhdGlvbikgcmV0dXJuO1xuICAgICAgICAgICAgdmFyICRwYXJlbnQgPSB0aGlzLmhhc1BhcmVudCgpO1xuICAgICAgICAgICAgaWYgKCRwYXJlbnQpICRwYXJlbnQuJGVtaXQoJ29uLWNsaWNrJywga2V5KTtcbiAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgdGhpcy4kb24oJ29uLWhvdmVyLWNsaWNrJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczMpO1xuXG4gICAgICAgICAgICB2YXIgJHBhcmVudCA9IHRoaXMuaGFzUGFyZW50KCk7XG4gICAgICAgICAgICBpZiAoJHBhcmVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczMpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRyaWdnZXIgPT09ICdjdXN0b20nKSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgICRwYXJlbnQuJGVtaXQoJ29uLWhvdmVyLWNsaWNrJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczMpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRyaWdnZXIgPT09ICdjdXN0b20nKSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB0aGlzLiRvbignb24taGFzY2hpbGQtY2xpY2snLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMyk7XG5cbiAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMyk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy50cmlnZ2VyID09PSAnY3VzdG9tJykgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFZpc2libGUgPSB0cnVlO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIHZhciAkcGFyZW50ID0gdGhpcy5oYXNQYXJlbnQoKTtcbiAgICAgICAgICAgIGlmICgkcGFyZW50KSAkcGFyZW50LiRlbWl0KCdvbi1oYXNjaGlsZC1jbGljaycpO1xuICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTcwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnRHJvcGRvd25NZW51J1xufTtcblxuLyoqKi8gfSksXG4vKiAxNzEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9hc3Npc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1kcm9wZG93bi1pdGVtJztcbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnRHJvcGRvd25JdGVtJyxcbiAgICBwcm9wczoge1xuICAgICAgICBuYW1lOiB7XG4gICAgICAgICAgICB0eXBlOiBbU3RyaW5nLCBOdW1iZXJdXG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgc2VsZWN0ZWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBkaXZpZGVkOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfVxuICAgIH0sXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgY2xhc3NlczogZnVuY3Rpb24gY2xhc3NlcygpIHtcbiAgICAgICAgICAgIHZhciBfcmVmO1xuXG4gICAgICAgICAgICByZXR1cm4gWycnICsgcHJlZml4Q2xzLCAoX3JlZiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLWRpc2FibGVkJywgdGhpcy5kaXNhYmxlZCksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctc2VsZWN0ZWQnLCB0aGlzLnNlbGVjdGVkKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1kaXZpZGVkJywgdGhpcy5kaXZpZGVkKSwgX3JlZildO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGhhbmRsZUNsaWNrOiBmdW5jdGlvbiBoYW5kbGVDbGljaygpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgICAgICAgICB2YXIgJHBhcmVudCA9ICgwLCBfYXNzaXN0LmZpbmRDb21wb25lbnRVcHdhcmQpKHRoaXMsICdEcm9wZG93bicpO1xuICAgICAgICAgICAgdmFyIGhhc0NoaWxkcmVuID0gdGhpcy4kcGFyZW50ICYmIHRoaXMuJHBhcmVudC4kb3B0aW9ucy5uYW1lID09PSAnRHJvcGRvd24nO1xuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kcGFyZW50LiRlbWl0KCdvbi1oYXNjaGlsZC1jbGljaycpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoJHBhcmVudCAmJiAkcGFyZW50LiRvcHRpb25zLm5hbWUgPT09ICdEcm9wZG93bicpIHtcbiAgICAgICAgICAgICAgICAgICAgJHBhcmVudC4kZW1pdCgnb24taG92ZXItY2xpY2snKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkcGFyZW50LiRlbWl0KCdvbi1jbGljaycsIHRoaXMubmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDE3MiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9mb290ZXJfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE3Myk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZm9vdGVyX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZm9vdGVyX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZm9vdGVyX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9mb290ZXJfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfZmNjZGFhMGNfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9mb290ZXJfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQyNik7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfZmNjZGFhMGNfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9mb290ZXJfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9mY2NkYWEwY19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2Zvb3Rlcl92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9mb290ZXJfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9mY2NkYWEwY19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2Zvb3Rlcl92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfZmNjZGFhMGNfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9mb290ZXJfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDE3MyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cblxudmFyIHByZWZpeENscyA9ICdpdnUtbGF5b3V0JztcbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnRm9vdGVyJyxcbiAgICBjb21wdXRlZDoge1xuICAgICAgICB3cmFwQ2xhc3NlczogZnVuY3Rpb24gd3JhcENsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJlZml4Q2xzICsgJy1mb290ZXInO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxNzQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX3Byb21pc2UgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE3NSk7XG5cbnZhciBfcHJvbWlzZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9wcm9taXNlKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG52YXIgX2Fzc2lzdCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhDbHMgPSAnaXZ1LWZvcm0nO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ2lGb3JtJyxcbiAgICBwcm9wczoge1xuICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgdHlwZTogT2JqZWN0XG4gICAgICAgIH0sXG4gICAgICAgIHJ1bGVzOiB7XG4gICAgICAgICAgICB0eXBlOiBPYmplY3RcbiAgICAgICAgfSxcbiAgICAgICAgbGFiZWxXaWR0aDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsUG9zaXRpb246IHtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWydsZWZ0JywgJ3JpZ2h0JywgJ3RvcCddKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGRlZmF1bHQ6ICdyaWdodCdcbiAgICAgICAgfSxcbiAgICAgICAgaW5saW5lOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd01lc3NhZ2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIGF1dG9jb21wbGV0ZToge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ29uJywgJ29mZiddKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGRlZmF1bHQ6ICdvZmYnXG4gICAgICAgIH1cbiAgICB9LFxuICAgIHByb3ZpZGU6IGZ1bmN0aW9uIHByb3ZpZGUoKSB7XG4gICAgICAgIHJldHVybiB7IGZvcm06IHRoaXMgfTtcbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBmaWVsZHM6IFtdXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGNsYXNzZXM6IGZ1bmN0aW9uIGNsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gWycnICsgcHJlZml4Q2xzLCBwcmVmaXhDbHMgKyAnLWxhYmVsLScgKyBTdHJpbmcodGhpcy5sYWJlbFBvc2l0aW9uKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sIHByZWZpeENscyArICctaW5saW5lJywgdGhpcy5pbmxpbmUpXTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgICByZXNldEZpZWxkczogZnVuY3Rpb24gcmVzZXRGaWVsZHMoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgICAgICB0aGlzLmZpZWxkcy5mb3JFYWNoKGZ1bmN0aW9uIChmaWVsZCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgZmllbGQucmVzZXRGaWVsZCgpO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGU6IGZ1bmN0aW9uIHZhbGlkYXRlKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgICAgICAgcmV0dXJuIG5ldyBfcHJvbWlzZTIuZGVmYXVsdChmdW5jdGlvbiAocmVzb2x2ZSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcblxuICAgICAgICAgICAgICAgIHZhciB2YWxpZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdmFyIGNvdW50ID0gMDtcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcy5mb3JFYWNoKGZ1bmN0aW9uIChmaWVsZCkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMik7XG5cbiAgICAgICAgICAgICAgICAgICAgZmllbGQudmFsaWRhdGUoJycsIGZ1bmN0aW9uIChlcnJvcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9ycykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoKytjb3VudCA9PT0gdGhpcy5maWVsZHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh2YWxpZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayh2YWxpZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0ZUZpZWxkOiBmdW5jdGlvbiB2YWxpZGF0ZUZpZWxkKHByb3AsIGNiKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMzID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIGZpZWxkID0gdGhpcy5maWVsZHMuZmlsdGVyKGZ1bmN0aW9uIChmaWVsZCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmllbGQucHJvcCA9PT0gcHJvcDtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSlbMF07XG4gICAgICAgICAgICBpZiAoIWZpZWxkKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdbaVZpZXcgd2Fybl06IG11c3QgY2FsbCB2YWxpZGF0ZUZpZWxkIHdpdGggdmFsaWQgcHJvcCBzdHJpbmchJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZpZWxkLnZhbGlkYXRlKCcnLCBjYik7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHdhdGNoOiB7XG4gICAgICAgIHJ1bGVzOiBmdW5jdGlvbiBydWxlcygpIHtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGUoKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHtcbiAgICAgICAgdmFyIF90aGlzNCA9IHRoaXM7XG5cbiAgICAgICAgdGhpcy4kb24oJ29uLWZvcm0taXRlbS1hZGQnLCBmdW5jdGlvbiAoZmllbGQpIHtcbiAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM0KTtcblxuICAgICAgICAgICAgaWYgKGZpZWxkKSB0aGlzLmZpZWxkcy5wdXNoKGZpZWxkKTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgdGhpcy4kb24oJ29uLWZvcm0taXRlbS1yZW1vdmUnLCBmdW5jdGlvbiAoZmllbGQpIHtcbiAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM0KTtcblxuICAgICAgICAgICAgaWYgKGZpZWxkLnByb3ApIHRoaXMuZmllbGRzLnNwbGljZSh0aGlzLmZpZWxkcy5pbmRleE9mKGZpZWxkKSwgMSk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxNzUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxubW9kdWxlLmV4cG9ydHMgPSB7IFwiZGVmYXVsdFwiOiBfX3dlYnBhY2tfcmVxdWlyZV9fKDQyOSksIF9fZXNNb2R1bGU6IHRydWUgfTtcblxuLyoqKi8gfSksXG4vKiAxNzYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuLy8gNy4zLjIwIFNwZWNpZXNDb25zdHJ1Y3RvcihPLCBkZWZhdWx0Q29uc3RydWN0b3IpXG52YXIgYW5PYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE5KTtcbnZhciBhRnVuY3Rpb24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ5KTtcbnZhciBTUEVDSUVTID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMSkoJ3NwZWNpZXMnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKE8sIEQpIHtcbiAgdmFyIEMgPSBhbk9iamVjdChPKS5jb25zdHJ1Y3RvcjtcbiAgdmFyIFM7XG4gIHJldHVybiBDID09PSB1bmRlZmluZWQgfHwgKFMgPSBhbk9iamVjdChDKVtTUEVDSUVTXSkgPT0gdW5kZWZpbmVkID8gRCA6IGFGdW5jdGlvbihTKTtcbn07XG5cblxuLyoqKi8gfSksXG4vKiAxNzcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxudmFyIGN0eCA9IF9fd2VicGFja19yZXF1aXJlX18oNDIpO1xudmFyIGludm9rZSA9IF9fd2VicGFja19yZXF1aXJlX18oNDMzKTtcbnZhciBodG1sID0gX193ZWJwYWNrX3JlcXVpcmVfXyg5NSk7XG52YXIgY2VsID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2NSk7XG52YXIgZ2xvYmFsID0gX193ZWJwYWNrX3JlcXVpcmVfXyg5KTtcbnZhciBwcm9jZXNzID0gZ2xvYmFsLnByb2Nlc3M7XG52YXIgc2V0VGFzayA9IGdsb2JhbC5zZXRJbW1lZGlhdGU7XG52YXIgY2xlYXJUYXNrID0gZ2xvYmFsLmNsZWFySW1tZWRpYXRlO1xudmFyIE1lc3NhZ2VDaGFubmVsID0gZ2xvYmFsLk1lc3NhZ2VDaGFubmVsO1xudmFyIERpc3BhdGNoID0gZ2xvYmFsLkRpc3BhdGNoO1xudmFyIGNvdW50ZXIgPSAwO1xudmFyIHF1ZXVlID0ge307XG52YXIgT05SRUFEWVNUQVRFQ0hBTkdFID0gJ29ucmVhZHlzdGF0ZWNoYW5nZSc7XG52YXIgZGVmZXIsIGNoYW5uZWwsIHBvcnQ7XG52YXIgcnVuID0gZnVuY3Rpb24gKCkge1xuICB2YXIgaWQgPSArdGhpcztcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xuICBpZiAocXVldWUuaGFzT3duUHJvcGVydHkoaWQpKSB7XG4gICAgdmFyIGZuID0gcXVldWVbaWRdO1xuICAgIGRlbGV0ZSBxdWV1ZVtpZF07XG4gICAgZm4oKTtcbiAgfVxufTtcbnZhciBsaXN0ZW5lciA9IGZ1bmN0aW9uIChldmVudCkge1xuICBydW4uY2FsbChldmVudC5kYXRhKTtcbn07XG4vLyBOb2RlLmpzIDAuOSsgJiBJRTEwKyBoYXMgc2V0SW1tZWRpYXRlLCBvdGhlcndpc2U6XG5pZiAoIXNldFRhc2sgfHwgIWNsZWFyVGFzaykge1xuICBzZXRUYXNrID0gZnVuY3Rpb24gc2V0SW1tZWRpYXRlKGZuKSB7XG4gICAgdmFyIGFyZ3MgPSBbXTtcbiAgICB2YXIgaSA9IDE7XG4gICAgd2hpbGUgKGFyZ3VtZW50cy5sZW5ndGggPiBpKSBhcmdzLnB1c2goYXJndW1lbnRzW2krK10pO1xuICAgIHF1ZXVlWysrY291bnRlcl0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbmV3LWZ1bmNcbiAgICAgIGludm9rZSh0eXBlb2YgZm4gPT0gJ2Z1bmN0aW9uJyA/IGZuIDogRnVuY3Rpb24oZm4pLCBhcmdzKTtcbiAgICB9O1xuICAgIGRlZmVyKGNvdW50ZXIpO1xuICAgIHJldHVybiBjb3VudGVyO1xuICB9O1xuICBjbGVhclRhc2sgPSBmdW5jdGlvbiBjbGVhckltbWVkaWF0ZShpZCkge1xuICAgIGRlbGV0ZSBxdWV1ZVtpZF07XG4gIH07XG4gIC8vIE5vZGUuanMgMC44LVxuICBpZiAoX193ZWJwYWNrX3JlcXVpcmVfXyg0MSkocHJvY2VzcykgPT0gJ3Byb2Nlc3MnKSB7XG4gICAgZGVmZXIgPSBmdW5jdGlvbiAoaWQpIHtcbiAgICAgIHByb2Nlc3MubmV4dFRpY2soY3R4KHJ1biwgaWQsIDEpKTtcbiAgICB9O1xuICAvLyBTcGhlcmUgKEpTIGdhbWUgZW5naW5lKSBEaXNwYXRjaCBBUElcbiAgfSBlbHNlIGlmIChEaXNwYXRjaCAmJiBEaXNwYXRjaC5ub3cpIHtcbiAgICBkZWZlciA9IGZ1bmN0aW9uIChpZCkge1xuICAgICAgRGlzcGF0Y2gubm93KGN0eChydW4sIGlkLCAxKSk7XG4gICAgfTtcbiAgLy8gQnJvd3NlcnMgd2l0aCBNZXNzYWdlQ2hhbm5lbCwgaW5jbHVkZXMgV2ViV29ya2Vyc1xuICB9IGVsc2UgaWYgKE1lc3NhZ2VDaGFubmVsKSB7XG4gICAgY2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpO1xuICAgIHBvcnQgPSBjaGFubmVsLnBvcnQyO1xuICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gbGlzdGVuZXI7XG4gICAgZGVmZXIgPSBjdHgocG9ydC5wb3N0TWVzc2FnZSwgcG9ydCwgMSk7XG4gIC8vIEJyb3dzZXJzIHdpdGggcG9zdE1lc3NhZ2UsIHNraXAgV2ViV29ya2Vyc1xuICAvLyBJRTggaGFzIHBvc3RNZXNzYWdlLCBidXQgaXQncyBzeW5jICYgdHlwZW9mIGl0cyBwb3N0TWVzc2FnZSBpcyAnb2JqZWN0J1xuICB9IGVsc2UgaWYgKGdsb2JhbC5hZGRFdmVudExpc3RlbmVyICYmIHR5cGVvZiBwb3N0TWVzc2FnZSA9PSAnZnVuY3Rpb24nICYmICFnbG9iYWwuaW1wb3J0U2NyaXB0cykge1xuICAgIGRlZmVyID0gZnVuY3Rpb24gKGlkKSB7XG4gICAgICBnbG9iYWwucG9zdE1lc3NhZ2UoaWQgKyAnJywgJyonKTtcbiAgICB9O1xuICAgIGdsb2JhbC5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgbGlzdGVuZXIsIGZhbHNlKTtcbiAgLy8gSUU4LVxuICB9IGVsc2UgaWYgKE9OUkVBRFlTVEFURUNIQU5HRSBpbiBjZWwoJ3NjcmlwdCcpKSB7XG4gICAgZGVmZXIgPSBmdW5jdGlvbiAoaWQpIHtcbiAgICAgIGh0bWwuYXBwZW5kQ2hpbGQoY2VsKCdzY3JpcHQnKSlbT05SRUFEWVNUQVRFQ0hBTkdFXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaHRtbC5yZW1vdmVDaGlsZCh0aGlzKTtcbiAgICAgICAgcnVuLmNhbGwoaWQpO1xuICAgICAgfTtcbiAgICB9O1xuICAvLyBSZXN0IG9sZCBicm93c2Vyc1xuICB9IGVsc2Uge1xuICAgIGRlZmVyID0gZnVuY3Rpb24gKGlkKSB7XG4gICAgICBzZXRUaW1lb3V0KGN0eChydW4sIGlkLCAxKSwgMCk7XG4gICAgfTtcbiAgfVxufVxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIHNldDogc2V0VGFzayxcbiAgY2xlYXI6IGNsZWFyVGFza1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDE3OCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChleGVjKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHsgZTogZmFsc2UsIHY6IGV4ZWMoKSB9O1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHsgZTogdHJ1ZSwgdjogZSB9O1xuICB9XG59O1xuXG5cbi8qKiovIH0pLFxuLyogMTc5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbnZhciBhbk9iamVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oMTkpO1xudmFyIGlzT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygyOCk7XG52YXIgbmV3UHJvbWlzZUNhcGFiaWxpdHkgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDgwKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoQywgeCkge1xuICBhbk9iamVjdChDKTtcbiAgaWYgKGlzT2JqZWN0KHgpICYmIHguY29uc3RydWN0b3IgPT09IEMpIHJldHVybiB4O1xuICB2YXIgcHJvbWlzZUNhcGFiaWxpdHkgPSBuZXdQcm9taXNlQ2FwYWJpbGl0eS5mKEMpO1xuICB2YXIgcmVzb2x2ZSA9IHByb21pc2VDYXBhYmlsaXR5LnJlc29sdmU7XG4gIHJlc29sdmUoeCk7XG4gIHJldHVybiBwcm9taXNlQ2FwYWJpbGl0eS5wcm9taXNlO1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDE4MCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9hc3luY1ZhbGlkYXRvciA9IF9fd2VicGFja19yZXF1aXJlX18oNDQxKTtcblxudmFyIF9hc3luY1ZhbGlkYXRvcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hc3luY1ZhbGlkYXRvcik7XG5cbnZhciBfZW1pdHRlciA9IF9fd2VicGFja19yZXF1aXJlX18oNCk7XG5cbnZhciBfZW1pdHRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9lbWl0dGVyKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtZm9ybS1pdGVtJztcblxuZnVuY3Rpb24gZ2V0UHJvcEJ5UGF0aChvYmosIHBhdGgpIHtcbiAgICB2YXIgdGVtcE9iaiA9IG9iajtcbiAgICBwYXRoID0gcGF0aC5yZXBsYWNlKC9cXFsoXFx3KylcXF0vZywgJy4kMScpO1xuICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoL15cXC4vLCAnJyk7XG5cbiAgICB2YXIga2V5QXJyID0gcGF0aC5zcGxpdCgnLicpO1xuICAgIHZhciBpID0gMDtcblxuICAgIGZvciAodmFyIGxlbiA9IGtleUFyci5sZW5ndGg7IGkgPCBsZW4gLSAxOyArK2kpIHtcbiAgICAgICAgdmFyIGtleSA9IGtleUFycltpXTtcbiAgICAgICAgaWYgKGtleSBpbiB0ZW1wT2JqKSB7XG4gICAgICAgICAgICB0ZW1wT2JqID0gdGVtcE9ialtrZXldO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdbaVZpZXcgd2Fybl06IHBsZWFzZSB0cmFuc2ZlciBhIHZhbGlkIHByb3AgcGF0aCB0byBmb3JtIGl0ZW0hJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbzogdGVtcE9iaixcbiAgICAgICAgazoga2V5QXJyW2ldLFxuICAgICAgICB2OiB0ZW1wT2JqW2tleUFycltpXV1cbiAgICB9O1xufVxuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ0Zvcm1JdGVtJyxcbiAgICBtaXhpbnM6IFtfZW1pdHRlcjIuZGVmYXVsdF0sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgbGFiZWw6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICcnXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsV2lkdGg6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlclxuICAgICAgICB9LFxuICAgICAgICBwcm9wOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWlyZWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBydWxlczoge1xuICAgICAgICAgICAgdHlwZTogW09iamVjdCwgQXJyYXldXG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGVTdGF0dXM6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW5cbiAgICAgICAgfSxcbiAgICAgICAgc2hvd01lc3NhZ2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsRm9yOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByZWZpeENsczogcHJlZml4Q2xzLFxuICAgICAgICAgICAgaXNSZXF1aXJlZDogZmFsc2UsXG4gICAgICAgICAgICB2YWxpZGF0ZVN0YXRlOiAnJyxcbiAgICAgICAgICAgIHZhbGlkYXRlTWVzc2FnZTogJycsXG4gICAgICAgICAgICB2YWxpZGF0ZURpc2FibGVkOiBmYWxzZSxcbiAgICAgICAgICAgIHZhbGlkYXRvcjoge31cbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgd2F0Y2g6IHtcbiAgICAgICAgZXJyb3I6IHtcbiAgICAgICAgICAgIGhhbmRsZXI6IGZ1bmN0aW9uIGhhbmRsZXIodmFsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0ZU1lc3NhZ2UgPSB2YWw7XG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0ZVN0YXRlID0gdmFsID8gJ2Vycm9yJyA6ICcnO1xuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgaW1tZWRpYXRlOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRlU3RhdHVzOiBmdW5jdGlvbiB2YWxpZGF0ZVN0YXR1cyh2YWwpIHtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGVTdGF0ZSA9IHZhbDtcbiAgICAgICAgfSxcbiAgICAgICAgcnVsZXM6IGZ1bmN0aW9uIHJ1bGVzKCkge1xuICAgICAgICAgICAgdGhpcy5zZXRSdWxlcygpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBpbmplY3Q6IFsnZm9ybSddLFxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGNsYXNzZXM6IGZ1bmN0aW9uIGNsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjtcblxuICAgICAgICAgICAgcmV0dXJuIFsnJyArIHByZWZpeENscywgKF9yZWYgPSB7fSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1yZXF1aXJlZCcsIHRoaXMucmVxdWlyZWQgfHwgdGhpcy5pc1JlcXVpcmVkKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1lcnJvcicsIHRoaXMudmFsaWRhdGVTdGF0ZSA9PT0gJ2Vycm9yJyksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctdmFsaWRhdGluZycsIHRoaXMudmFsaWRhdGVTdGF0ZSA9PT0gJ3ZhbGlkYXRpbmcnKSwgX3JlZildO1xuICAgICAgICB9LFxuICAgICAgICBmaWVsZFZhbHVlOiBmdW5jdGlvbiBmaWVsZFZhbHVlKCkge1xuICAgICAgICAgICAgdmFyIG1vZGVsID0gdGhpcy5mb3JtLm1vZGVsO1xuICAgICAgICAgICAgaWYgKCFtb2RlbCB8fCAhdGhpcy5wcm9wKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgcGF0aCA9IHRoaXMucHJvcDtcbiAgICAgICAgICAgIGlmIChwYXRoLmluZGV4T2YoJzonKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKC86LywgJy4nKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGdldFByb3BCeVBhdGgobW9kZWwsIHBhdGgpLnY7XG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsU3R5bGVzOiBmdW5jdGlvbiBsYWJlbFN0eWxlcygpIHtcbiAgICAgICAgICAgIHZhciBzdHlsZSA9IHt9O1xuICAgICAgICAgICAgdmFyIGxhYmVsV2lkdGggPSB0aGlzLmxhYmVsV2lkdGggPT09IDAgfHwgdGhpcy5sYWJlbFdpZHRoID8gdGhpcy5sYWJlbFdpZHRoIDogdGhpcy5mb3JtLmxhYmVsV2lkdGg7XG5cbiAgICAgICAgICAgIGlmIChsYWJlbFdpZHRoIHx8IGxhYmVsV2lkdGggPT09IDApIHtcbiAgICAgICAgICAgICAgICBzdHlsZS53aWR0aCA9IFN0cmluZyhsYWJlbFdpZHRoKSArICdweCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRlbnRTdHlsZXM6IGZ1bmN0aW9uIGNvbnRlbnRTdHlsZXMoKSB7XG4gICAgICAgICAgICB2YXIgc3R5bGUgPSB7fTtcbiAgICAgICAgICAgIHZhciBsYWJlbFdpZHRoID0gdGhpcy5sYWJlbFdpZHRoID09PSAwIHx8IHRoaXMubGFiZWxXaWR0aCA/IHRoaXMubGFiZWxXaWR0aCA6IHRoaXMuZm9ybS5sYWJlbFdpZHRoO1xuXG4gICAgICAgICAgICBpZiAobGFiZWxXaWR0aCB8fCBsYWJlbFdpZHRoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgc3R5bGUubWFyZ2luTGVmdCA9IFN0cmluZyhsYWJlbFdpZHRoKSArICdweCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgc2V0UnVsZXM6IGZ1bmN0aW9uIHNldFJ1bGVzKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIHJ1bGVzID0gdGhpcy5nZXRSdWxlcygpO1xuICAgICAgICAgICAgaWYgKHJ1bGVzLmxlbmd0aCAmJiB0aGlzLnJlcXVpcmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChydWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBydWxlcy5ldmVyeShmdW5jdGlvbiAocnVsZSkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzUmVxdWlyZWQgPSBydWxlLnJlcXVpcmVkO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMucmVxdWlyZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzUmVxdWlyZWQgPSB0aGlzLnJlcXVpcmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy4kb2ZmKCdvbi1mb3JtLWJsdXInLCB0aGlzLm9uRmllbGRCbHVyKTtcbiAgICAgICAgICAgIHRoaXMuJG9mZignb24tZm9ybS1jaGFuZ2UnLCB0aGlzLm9uRmllbGRDaGFuZ2UpO1xuICAgICAgICAgICAgdGhpcy4kb24oJ29uLWZvcm0tYmx1cicsIHRoaXMub25GaWVsZEJsdXIpO1xuICAgICAgICAgICAgdGhpcy4kb24oJ29uLWZvcm0tY2hhbmdlJywgdGhpcy5vbkZpZWxkQ2hhbmdlKTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0UnVsZXM6IGZ1bmN0aW9uIGdldFJ1bGVzKCkge1xuICAgICAgICAgICAgdmFyIGZvcm1SdWxlcyA9IHRoaXMuZm9ybS5ydWxlcztcbiAgICAgICAgICAgIHZhciBzZWxmUnVsZXMgPSB0aGlzLnJ1bGVzO1xuXG4gICAgICAgICAgICBmb3JtUnVsZXMgPSBmb3JtUnVsZXMgPyBmb3JtUnVsZXNbdGhpcy5wcm9wXSA6IFtdO1xuXG4gICAgICAgICAgICByZXR1cm4gW10uY29uY2F0KHNlbGZSdWxlcyB8fCBmb3JtUnVsZXMgfHwgW10pO1xuICAgICAgICB9LFxuICAgICAgICBnZXRGaWx0ZXJlZFJ1bGU6IGZ1bmN0aW9uIGdldEZpbHRlcmVkUnVsZSh0cmlnZ2VyKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIHJ1bGVzID0gdGhpcy5nZXRSdWxlcygpO1xuXG4gICAgICAgICAgICByZXR1cm4gcnVsZXMuZmlsdGVyKGZ1bmN0aW9uIChydWxlKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczIpO1xuICAgICAgICAgICAgICAgIHJldHVybiAhcnVsZS50cmlnZ2VyIHx8IHJ1bGUudHJpZ2dlci5pbmRleE9mKHRyaWdnZXIpICE9PSAtMTtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRlOiBmdW5jdGlvbiB2YWxpZGF0ZSh0cmlnZ2VyKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMzID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIGNhbGxiYWNrID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBmdW5jdGlvbiAoKSB7fTtcblxuICAgICAgICAgICAgdmFyIHJ1bGVzID0gdGhpcy5nZXRGaWx0ZXJlZFJ1bGUodHJpZ2dlcik7XG4gICAgICAgICAgICBpZiAoIXJ1bGVzIHx8IHJ1bGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5yZXF1aXJlZCkge1xuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaygpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBydWxlcyA9IFt7IHJlcXVpcmVkOiB0cnVlIH1dO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy52YWxpZGF0ZVN0YXRlID0gJ3ZhbGlkYXRpbmcnO1xuXG4gICAgICAgICAgICB2YXIgZGVzY3JpcHRvciA9IHt9O1xuICAgICAgICAgICAgZGVzY3JpcHRvclt0aGlzLnByb3BdID0gcnVsZXM7XG5cbiAgICAgICAgICAgIHZhciB2YWxpZGF0b3IgPSBuZXcgX2FzeW5jVmFsaWRhdG9yMi5kZWZhdWx0KGRlc2NyaXB0b3IpO1xuICAgICAgICAgICAgdmFyIG1vZGVsID0ge307XG5cbiAgICAgICAgICAgIG1vZGVsW3RoaXMucHJvcF0gPSB0aGlzLmZpZWxkVmFsdWU7XG5cbiAgICAgICAgICAgIHZhbGlkYXRvci52YWxpZGF0ZShtb2RlbCwgeyBmaXJzdEZpZWxkczogdHJ1ZSB9LCBmdW5jdGlvbiAoZXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczMpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0ZVN0YXRlID0gIWVycm9ycyA/ICdzdWNjZXNzJyA6ICdlcnJvcic7XG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0ZU1lc3NhZ2UgPSBlcnJvcnMgPyBlcnJvcnNbMF0ubWVzc2FnZSA6ICcnO1xuXG4gICAgICAgICAgICAgICAgY2FsbGJhY2sodGhpcy52YWxpZGF0ZU1lc3NhZ2UpO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGVEaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgICByZXNldEZpZWxkOiBmdW5jdGlvbiByZXNldEZpZWxkKCkge1xuICAgICAgICAgICAgdGhpcy52YWxpZGF0ZVN0YXRlID0gJyc7XG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRlTWVzc2FnZSA9ICcnO1xuXG4gICAgICAgICAgICB2YXIgbW9kZWwgPSB0aGlzLmZvcm0ubW9kZWw7XG4gICAgICAgICAgICB2YXIgdmFsdWUgPSB0aGlzLmZpZWxkVmFsdWU7XG4gICAgICAgICAgICB2YXIgcGF0aCA9IHRoaXMucHJvcDtcbiAgICAgICAgICAgIGlmIChwYXRoLmluZGV4T2YoJzonKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKC86LywgJy4nKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIHByb3AgPSBnZXRQcm9wQnlQYXRoKG1vZGVsLCBwYXRoKTtcblxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0ZURpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBwcm9wLm9bcHJvcC5rXSA9IFtdLmNvbmNhdCh0aGlzLmluaXRpYWxWYWx1ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGVEaXNhYmxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgcHJvcC5vW3Byb3Aua10gPSB0aGlzLmluaXRpYWxWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb25GaWVsZEJsdXI6IGZ1bmN0aW9uIG9uRmllbGRCbHVyKCkge1xuICAgICAgICAgICAgdGhpcy52YWxpZGF0ZSgnYmx1cicpO1xuICAgICAgICB9LFxuICAgICAgICBvbkZpZWxkQ2hhbmdlOiBmdW5jdGlvbiBvbkZpZWxkQ2hhbmdlKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMudmFsaWRhdGVEaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGVEaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy52YWxpZGF0ZSgnY2hhbmdlJyk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICAgIGlmICh0aGlzLnByb3ApIHtcbiAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2goJ2lGb3JtJywgJ29uLWZvcm0taXRlbS1hZGQnLCB0aGlzKTtcblxuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdpbml0aWFsVmFsdWUnLCB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuZmllbGRWYWx1ZVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuc2V0UnVsZXMoKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaCgnaUZvcm0nLCAnb24tZm9ybS1pdGVtLXJlbW92ZScsIHRoaXMpO1xuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTgxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfdXRpbCA9IF9fd2VicGFja19yZXF1aXJlX18oNyk7XG5cbnZhciB1dGlsID0gX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQoX3V0aWwpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZChvYmopIHsgaWYgKG9iaiAmJiBvYmouX19lc01vZHVsZSkgeyByZXR1cm4gb2JqOyB9IGVsc2UgeyB2YXIgbmV3T2JqID0ge307IGlmIChvYmogIT0gbnVsbCkgeyBmb3IgKHZhciBrZXkgaW4gb2JqKSB7IGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKSBuZXdPYmpba2V5XSA9IG9ialtrZXldOyB9IH0gbmV3T2JqWydkZWZhdWx0J10gPSBvYmo7IHJldHVybiBuZXdPYmo7IH0gfVxuXG4vKipcbiAqICBSdWxlIGZvciB2YWxpZGF0aW5nIHJlcXVpcmVkIGZpZWxkcy5cbiAqXG4gKiAgQHBhcmFtIHJ1bGUgVGhlIHZhbGlkYXRpb24gcnVsZS5cbiAqICBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBmaWVsZCBvbiB0aGUgc291cmNlIG9iamVjdC5cbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cbiAqICBAcGFyYW0gZXJyb3JzIEFuIGFycmF5IG9mIGVycm9ycyB0aGF0IHRoaXMgcnVsZSBtYXkgYWRkXG4gKiAgdmFsaWRhdGlvbiBlcnJvcnMgdG8uXG4gKiAgQHBhcmFtIG9wdGlvbnMgVGhlIHZhbGlkYXRpb24gb3B0aW9ucy5cbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cbiAqL1xuZnVuY3Rpb24gcmVxdWlyZWQocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zLCB0eXBlKSB7XG4gIGlmIChydWxlLnJlcXVpcmVkICYmICghc291cmNlLmhhc093blByb3BlcnR5KHJ1bGUuZmllbGQpIHx8IHV0aWwuaXNFbXB0eVZhbHVlKHZhbHVlLCB0eXBlIHx8IHJ1bGUudHlwZSkpKSB7XG4gICAgZXJyb3JzLnB1c2godXRpbC5mb3JtYXQob3B0aW9ucy5tZXNzYWdlcy5yZXF1aXJlZCwgcnVsZS5mdWxsRmllbGQpKTtcbiAgfVxufVxuXG5leHBvcnRzWydkZWZhdWx0J10gPSByZXF1aXJlZDtcblxuLyoqKi8gfSksXG4vKiAxODIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfaGVhZGVyX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxODMpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2hlYWRlcl92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2hlYWRlcl92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2hlYWRlcl92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfaGVhZGVyX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzhjZDQ4YmYwX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfaGVhZGVyX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0NjUpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzhjZDQ4YmYwX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfaGVhZGVyX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfOGNkNDhiZjBfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9oZWFkZXJfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfaGVhZGVyX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfOGNkNDhiZjBfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9oZWFkZXJfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzhjZDQ4YmYwX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfaGVhZGVyX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiAxODMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG5cbnZhciBwcmVmaXhDbHMgPSAnaXZ1LWxheW91dCc7XG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ0hlYWRlcicsXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgd3JhcENsYXNzZXM6IGZ1bmN0aW9uIHdyYXBDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIHByZWZpeENscyArICctaGVhZGVyJztcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTg0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2lucHV0X251bWJlcl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTg1KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9pbnB1dF9udW1iZXJfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9pbnB1dF9udW1iZXJfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9pbnB1dF9udW1iZXJfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2lucHV0X251bWJlcl92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl82M2QxOWFhMF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2lucHV0X251bWJlcl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNDY4KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl82M2QxOWFhMF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2lucHV0X251bWJlcl92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzYzZDE5YWEwX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfaW5wdXRfbnVtYmVyX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2lucHV0X251bWJlcl92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzYzZDE5YWEwX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfaW5wdXRfbnVtYmVyX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl82M2QxOWFhMF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2lucHV0X251bWJlcl92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogMTg1ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG52YXIgX2Fzc2lzdCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbnZhciBfZW1pdHRlciA9IF9fd2VicGFja19yZXF1aXJlX18oNCk7XG5cbnZhciBfZW1pdHRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9lbWl0dGVyKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtaW5wdXQtbnVtYmVyJztcbnZhciBpY29uUHJlZml4Q2xzID0gJ2l2dS1pY29uJztcblxuZnVuY3Rpb24gYWRkTnVtKG51bTEsIG51bTIpIHtcbiAgICB2YXIgc3ExID0gdm9pZCAwLFxuICAgICAgICBzcTIgPSB2b2lkIDAsXG4gICAgICAgIG0gPSB2b2lkIDA7XG4gICAgdHJ5IHtcbiAgICAgICAgc3ExID0gbnVtMS50b1N0cmluZygpLnNwbGl0KCcuJylbMV0ubGVuZ3RoO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgc3ExID0gMDtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgc3EyID0gbnVtMi50b1N0cmluZygpLnNwbGl0KCcuJylbMV0ubGVuZ3RoO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgc3EyID0gMDtcbiAgICB9XG5cbiAgICBtID0gTWF0aC5wb3coMTAsIE1hdGgubWF4KHNxMSwgc3EyKSk7XG4gICAgcmV0dXJuIChNYXRoLnJvdW5kKG51bTEgKiBtKSArIE1hdGgucm91bmQobnVtMiAqIG0pKSAvIG07XG59XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnSW5wdXROdW1iZXInLFxuICAgIG1peGluczogW19lbWl0dGVyMi5kZWZhdWx0XSxcbiAgICBwcm9wczoge1xuICAgICAgICBtYXg6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIGRlZmF1bHQ6IEluZmluaXR5XG4gICAgICAgIH0sXG4gICAgICAgIG1pbjoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgZGVmYXVsdDogLUluZmluaXR5XG4gICAgICAgIH0sXG4gICAgICAgIHN0ZXA6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIGRlZmF1bHQ6IDFcbiAgICAgICAgfSxcbiAgICAgICAgYWN0aXZlQ2hhbmdlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgZGVmYXVsdDogMVxuICAgICAgICB9LFxuICAgICAgICBzaXplOiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnc21hbGwnLCAnbGFyZ2UnLCAnZGVmYXVsdCddKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIXRoaXMuJElWSUVXIHx8IHRoaXMuJElWSUVXLnNpemUgPT09ICcnID8gJ2RlZmF1bHQnIDogdGhpcy4kSVZJRVcuc2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZGlzYWJsZWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBhdXRvZm9jdXM6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICByZWFkb25seToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIGVkaXRhYmxlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBuYW1lOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgcHJlY2lzaW9uOiB7XG4gICAgICAgICAgICB0eXBlOiBOdW1iZXJcbiAgICAgICAgfSxcbiAgICAgICAgZWxlbWVudElkOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgZm9ybWF0dGVyOiB7XG4gICAgICAgICAgICB0eXBlOiBGdW5jdGlvblxuICAgICAgICB9LFxuICAgICAgICBwYXJzZXI6IHtcbiAgICAgICAgICAgIHR5cGU6IEZ1bmN0aW9uXG4gICAgICAgIH0sXG4gICAgICAgIHBsYWNlaG9sZGVyOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZm9jdXNlZDogZmFsc2UsXG4gICAgICAgICAgICB1cERpc2FibGVkOiBmYWxzZSxcbiAgICAgICAgICAgIGRvd25EaXNhYmxlZDogZmFsc2UsXG4gICAgICAgICAgICBjdXJyZW50VmFsdWU6IHRoaXMudmFsdWVcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgd3JhcENsYXNzZXM6IGZ1bmN0aW9uIHdyYXBDbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWY7XG5cbiAgICAgICAgICAgIHJldHVybiBbJycgKyBwcmVmaXhDbHMsIChfcmVmID0ge30sICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctJyArIFN0cmluZyh0aGlzLnNpemUpLCAhIXRoaXMuc2l6ZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctZGlzYWJsZWQnLCB0aGlzLmRpc2FibGVkKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1mb2N1c2VkJywgdGhpcy5mb2N1c2VkKSwgX3JlZildO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVyQ2xhc3NlczogZnVuY3Rpb24gaGFuZGxlckNsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJlZml4Q2xzICsgJy1oYW5kbGVyLXdyYXAnO1xuICAgICAgICB9LFxuICAgICAgICB1cENsYXNzZXM6IGZ1bmN0aW9uIHVwQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy1oYW5kbGVyJywgcHJlZml4Q2xzICsgJy1oYW5kbGVyLXVwJywgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sIHByZWZpeENscyArICctaGFuZGxlci11cC1kaXNhYmxlZCcsIHRoaXMudXBEaXNhYmxlZCldO1xuICAgICAgICB9LFxuICAgICAgICBpbm5lclVwQ2xhc3NlczogZnVuY3Rpb24gaW5uZXJVcENsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJlZml4Q2xzICsgJy1oYW5kbGVyLXVwLWlubmVyICcgKyBpY29uUHJlZml4Q2xzICsgJyAnICsgaWNvblByZWZpeENscyArICctaW9zLWFycm93LXVwJztcbiAgICAgICAgfSxcbiAgICAgICAgZG93bkNsYXNzZXM6IGZ1bmN0aW9uIGRvd25DbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXhDbHMgKyAnLWhhbmRsZXInLCBwcmVmaXhDbHMgKyAnLWhhbmRsZXItZG93bicsICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKHt9LCBwcmVmaXhDbHMgKyAnLWhhbmRsZXItZG93bi1kaXNhYmxlZCcsIHRoaXMuZG93bkRpc2FibGVkKV07XG4gICAgICAgIH0sXG4gICAgICAgIGlubmVyRG93bkNsYXNzZXM6IGZ1bmN0aW9uIGlubmVyRG93bkNsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJlZml4Q2xzICsgJy1oYW5kbGVyLWRvd24taW5uZXIgJyArIGljb25QcmVmaXhDbHMgKyAnICcgKyBpY29uUHJlZml4Q2xzICsgJy1pb3MtYXJyb3ctZG93bic7XG4gICAgICAgIH0sXG4gICAgICAgIGlucHV0V3JhcENsYXNzZXM6IGZ1bmN0aW9uIGlucHV0V3JhcENsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJlZml4Q2xzICsgJy1pbnB1dC13cmFwJztcbiAgICAgICAgfSxcbiAgICAgICAgaW5wdXRDbGFzc2VzOiBmdW5jdGlvbiBpbnB1dENsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJlZml4Q2xzICsgJy1pbnB1dCc7XG4gICAgICAgIH0sXG4gICAgICAgIHByZWNpc2lvblZhbHVlOiBmdW5jdGlvbiBwcmVjaXNpb25WYWx1ZSgpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5jdXJyZW50VmFsdWUpIHJldHVybiB0aGlzLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnByZWNpc2lvbiA/IHRoaXMuY3VycmVudFZhbHVlLnRvRml4ZWQodGhpcy5wcmVjaXNpb24pIDogdGhpcy5jdXJyZW50VmFsdWU7XG4gICAgICAgIH0sXG4gICAgICAgIGZvcm1hdHRlclZhbHVlOiBmdW5jdGlvbiBmb3JtYXR0ZXJWYWx1ZSgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZvcm1hdHRlciAmJiB0aGlzLnByZWNpc2lvblZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVyKHRoaXMucHJlY2lzaW9uVmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcmVjaXNpb25WYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgICBwcmV2ZW50RGVmYXVsdDogZnVuY3Rpb24gcHJldmVudERlZmF1bHQoZSkge1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9LFxuICAgICAgICB1cDogZnVuY3Rpb24gdXAoZSkge1xuICAgICAgICAgICAgdmFyIHRhcmdldFZhbCA9IE51bWJlcihlLnRhcmdldC52YWx1ZSk7XG4gICAgICAgICAgICBpZiAodGhpcy51cERpc2FibGVkICYmIGlzTmFOKHRhcmdldFZhbCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmNoYW5nZVN0ZXAoJ3VwJywgZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGRvd246IGZ1bmN0aW9uIGRvd24oZSkge1xuICAgICAgICAgICAgdmFyIHRhcmdldFZhbCA9IE51bWJlcihlLnRhcmdldC52YWx1ZSk7XG4gICAgICAgICAgICBpZiAodGhpcy5kb3duRGlzYWJsZWQgJiYgaXNOYU4odGFyZ2V0VmFsKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlU3RlcCgnZG93bicsIGUpO1xuICAgICAgICB9LFxuICAgICAgICBjaGFuZ2VTdGVwOiBmdW5jdGlvbiBjaGFuZ2VTdGVwKHR5cGUsIGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgdGFyZ2V0VmFsID0gTnVtYmVyKGUudGFyZ2V0LnZhbHVlKTtcbiAgICAgICAgICAgIHZhciB2YWwgPSBOdW1iZXIodGhpcy5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgdmFyIHN0ZXAgPSBOdW1iZXIodGhpcy5zdGVwKTtcbiAgICAgICAgICAgIGlmIChpc05hTih2YWwpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWlzTmFOKHRhcmdldFZhbCkpIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ3VwJykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoYWRkTnVtKHRhcmdldFZhbCwgc3RlcCkgPD0gdGhpcy5tYXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbCA9IHRhcmdldFZhbDtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhZGROdW0odGFyZ2V0VmFsLCAtc3RlcCkgPj0gdGhpcy5taW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbCA9IHRhcmdldFZhbDtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGUgPT09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICB2YWwgPSBhZGROdW0odmFsLCBzdGVwKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgdmFsID0gYWRkTnVtKHZhbCwgLXN0ZXApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZSh2YWwpO1xuICAgICAgICB9LFxuICAgICAgICBzZXRWYWx1ZTogZnVuY3Rpb24gc2V0VmFsdWUodmFsKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgICAgICBpZiAodmFsICYmICFpc05hTih0aGlzLnByZWNpc2lvbikpIHZhbCA9IE51bWJlcihOdW1iZXIodmFsKS50b0ZpeGVkKHRoaXMucHJlY2lzaW9uKSk7XG5cbiAgICAgICAgICAgIHZhciBtaW4gPSB0aGlzLm1pbixcbiAgICAgICAgICAgICAgICBtYXggPSB0aGlzLm1heDtcblxuICAgICAgICAgICAgaWYgKHZhbCAhPT0gbnVsbCAmJiAhdGhpcy5hY3RpdmVDaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICBpZiAodmFsID4gbWF4KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbCA9IG1heDtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHZhbCA8IG1pbikge1xuICAgICAgICAgICAgICAgICAgICB2YWwgPSBtaW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHZhbDtcbiAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIHZhbCk7XG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tY2hhbmdlJywgdmFsKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoKCdGb3JtSXRlbScsICdvbi1mb3JtLWNoYW5nZScsIHZhbCk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB9LFxuICAgICAgICBmb2N1czogZnVuY3Rpb24gZm9jdXMoZXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1mb2N1cycsIGV2ZW50KTtcbiAgICAgICAgfSxcbiAgICAgICAgYmx1cjogZnVuY3Rpb24gYmx1cigpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tYmx1cicpO1xuICAgICAgICAgICAgaWYgKCEoMCwgX2Fzc2lzdC5maW5kQ29tcG9uZW50VXB3YXJkKSh0aGlzLCBbJ0RhdGVQaWNrZXInLCAnVGltZVBpY2tlcicsICdDYXNjYWRlcicsICdTZWFyY2gnXSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoKCdGb3JtSXRlbScsICdvbi1mb3JtLWJsdXInLCB0aGlzLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGtleURvd246IGZ1bmN0aW9uIGtleURvd24oZSkge1xuICAgICAgICAgICAgaWYgKGUua2V5Q29kZSA9PT0gMzgpIHtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy51cChlKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZS5rZXlDb2RlID09PSA0MCkge1xuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRvd24oZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNoYW5nZTogZnVuY3Rpb24gY2hhbmdlKGV2ZW50KSB7XG4gICAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PSAnY2hhbmdlJyAmJiB0aGlzLmFjdGl2ZUNoYW5nZSkgcmV0dXJuO1xuXG4gICAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PSAnaW5wdXQnICYmICF0aGlzLmFjdGl2ZUNoYW5nZSkgcmV0dXJuO1xuICAgICAgICAgICAgdmFyIHZhbCA9IGV2ZW50LnRhcmdldC52YWx1ZS50cmltKCk7XG4gICAgICAgICAgICBpZiAodGhpcy5wYXJzZXIpIHtcbiAgICAgICAgICAgICAgICB2YWwgPSB0aGlzLnBhcnNlcih2YWwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgaXNFbXB0eVN0cmluZyA9IHZhbC5sZW5ndGggPT09IDA7XG4gICAgICAgICAgICBpZiAoaXNFbXB0eVN0cmluZykge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT0gJ2lucHV0JyAmJiB2YWwubWF0Y2goL15cXC0/XFwuPyR8XFwuJC9nKSkgcmV0dXJuO1xuICAgICAgICAgICAgdmFyIHByZWNpc2lvbiA9IHRoaXMucHJlY2lzaW9uO1xuICAgICAgICAgICAgdmFyIGNhY2hlVmFsID0gdGhpcy5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICBpZiAocHJlY2lzaW9uKSB7XG4gICAgICAgICAgICAgICAgdmFyIHZhbE1hdGNoUG9pbnRBcnIgPSAodmFsICsgJycpLm1hdGNoKC9cXC4vZyk7XG4gICAgICAgICAgICAgICAgaWYgKHZhbE1hdGNoUG9pbnRBcnIgJiYgdmFsTWF0Y2hQb2ludEFyci5sZW5ndGggPj0gMikge1xuICAgICAgICAgICAgICAgICAgICBjYWNoZVZhbCA9IHRoaXMuY3VycmVudFZhbHVlICsgJy4nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFsID0gTnVtYmVyKHZhbCk7XG4gICAgICAgICAgICBpZiAoIWlzTmFOKHZhbCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHZhbDtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFZhbHVlKHZhbCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IGNhY2hlVmFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjaGFuZ2VWYWw6IGZ1bmN0aW9uIGNoYW5nZVZhbCh2YWwpIHtcbiAgICAgICAgICAgIHZhbCA9IE51bWJlcih2YWwpO1xuICAgICAgICAgICAgaWYgKCFpc05hTih2YWwpKSB7XG4gICAgICAgICAgICAgICAgdmFyIHN0ZXAgPSB0aGlzLnN0ZXA7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnVwRGlzYWJsZWQgPSB2YWwgKyBzdGVwID4gdGhpcy5tYXg7XG4gICAgICAgICAgICAgICAgdGhpcy5kb3duRGlzYWJsZWQgPSB2YWwgLSBzdGVwIDwgdGhpcy5taW47XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudXBEaXNhYmxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5kb3duRGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgICB0aGlzLmNoYW5nZVZhbCh0aGlzLmN1cnJlbnRWYWx1ZSk7XG4gICAgfSxcblxuICAgIHdhdGNoOiB7XG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZSh2YWwpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gdmFsO1xuICAgICAgICB9LFxuICAgICAgICBjdXJyZW50VmFsdWU6IGZ1bmN0aW9uIGN1cnJlbnRWYWx1ZSh2YWwpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAgICAgICB0aGlzLmNoYW5nZVZhbCh2YWwpO1xuXG4gICAgICAgICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczIpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucHJlY2lzaW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjdXJyZW50VmFsdWVMZW5ndGggPSAodGhpcy5jdXJyZW50VmFsdWUgfHwgMCkudG9TdHJpbmcoKS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgIHZhciBwcmVjaXNpb25DdXJzb3IgPSB0aGlzLiRyZWZzLnByZWNpc2lvbkN1cnNvcjtcbiAgICAgICAgICAgICAgICAgICAgcHJlY2lzaW9uQ3Vyc29yLnNlbGVjdGlvblN0YXJ0ID0gcHJlY2lzaW9uQ3Vyc29yLnNlbGVjdGlvbkVuZCA9IGN1cnJlbnRWYWx1ZUxlbmd0aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB9LFxuICAgICAgICBtaW46IGZ1bmN0aW9uIG1pbigpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlVmFsKHRoaXMuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfSxcbiAgICAgICAgbWF4OiBmdW5jdGlvbiBtYXgoKSB7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZVZhbCh0aGlzLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDE4NiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfc2lnbiA9IF9fd2VicGFja19yZXF1aXJlX18oNDcxKTtcblxudmFyIF9zaWduMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3NpZ24pO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9wcm9taXNlID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNzUpO1xuXG52YXIgX3Byb21pc2UyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcHJvbWlzZSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX2xvZGFzaCA9IF9fd2VicGFja19yZXF1aXJlX18oNDc1KTtcblxudmFyIF9sb2Rhc2gyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbG9kYXNoKTtcblxudmFyIF9sb2FkaW5nQ29tcG9uZW50ID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0NzYpO1xuXG52YXIgX2xvYWRpbmdDb21wb25lbnQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbG9hZGluZ0NvbXBvbmVudCk7XG5cbnZhciBfZG9tID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMyk7XG5cbnZhciBfbG9jYWxlID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1KTtcblxudmFyIF9sb2NhbGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbG9jYWxlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtc2Nyb2xsJztcbnZhciBkcmFnQ29uZmlnID0ge1xuICAgIHNlbnNpdGl2aXR5OiAxMCxcbiAgICBtaW5pbXVtU3RhcnREcmFnT2Zmc2V0OiA1IH07XG5cbnZhciBub29wID0gZnVuY3Rpb24gKCkge1xuICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgIHJldHVybiBfcHJvbWlzZTIuZGVmYXVsdC5yZXNvbHZlKCk7XG59LmJpbmQodW5kZWZpbmVkKTtcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdTY3JvbGwnLFxuICAgIG1peGluczogW19sb2NhbGUyLmRlZmF1bHRdLFxuICAgIGNvbXBvbmVudHM6IHsgbG9hZGVyOiBfbG9hZGluZ0NvbXBvbmVudDIuZGVmYXVsdCB9LFxuICAgIHByb3BzOiB7XG4gICAgICAgIGhlaWdodDoge1xuICAgICAgICAgICAgdHlwZTogW051bWJlciwgU3RyaW5nXSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDMwMFxuICAgICAgICB9LFxuICAgICAgICBvblJlYWNoVG9wOiB7XG4gICAgICAgICAgICB0eXBlOiBGdW5jdGlvblxuICAgICAgICB9LFxuICAgICAgICBvblJlYWNoQm90dG9tOiB7XG4gICAgICAgICAgICB0eXBlOiBGdW5jdGlvblxuICAgICAgICB9LFxuICAgICAgICBvblJlYWNoRWRnZToge1xuICAgICAgICAgICAgdHlwZTogRnVuY3Rpb25cbiAgICAgICAgfSxcbiAgICAgICAgbG9hZGluZ1RleHQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZ1xuICAgICAgICB9LFxuICAgICAgICBkaXN0YW5jZVRvRWRnZTogW051bWJlciwgQXJyYXldXG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgIHZhciBkaXN0YW5jZVRvRWRnZSA9IHRoaXMuY2FsY3VsYXRlUHJveGltaXR5VGhyZXNob2xkKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzaG93VG9wTG9hZGVyOiBmYWxzZSxcbiAgICAgICAgICAgIHNob3dCb3R0b21Mb2FkZXI6IGZhbHNlLFxuICAgICAgICAgICAgc2hvd0JvZHlMb2FkZXI6IGZhbHNlLFxuICAgICAgICAgICAgbGFzdFNjcm9sbDogMCxcbiAgICAgICAgICAgIHJlYWNoZWRUb3BTY3JvbGxMaW1pdDogdHJ1ZSxcbiAgICAgICAgICAgIHJlYWNoZWRCb3R0b21TY3JvbGxMaW1pdDogZmFsc2UsXG4gICAgICAgICAgICB0b3BSdWJiZXJQYWRkaW5nOiAwLFxuICAgICAgICAgICAgYm90dG9tUnViYmVyUGFkZGluZzogMCxcbiAgICAgICAgICAgIHJ1YmJlclJvbGxCYWNrVGltZW91dDogZmFsc2UsXG4gICAgICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgcG9pbnRlclRvdWNoRG93bjogbnVsbCxcbiAgICAgICAgICAgIHRvdWNoU2Nyb2xsOiBmYWxzZSxcbiAgICAgICAgICAgIGhhbmRsZVNjcm9sbDogZnVuY3Rpb24gaGFuZGxlU2Nyb2xsKCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgcG9pbnRlclVwSGFuZGxlcjogZnVuY3Rpb24gcG9pbnRlclVwSGFuZGxlcigpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSxcbiAgICAgICAgICAgIHBvaW50ZXJNb3ZlSGFuZGxlcjogZnVuY3Rpb24gcG9pbnRlck1vdmVIYW5kbGVyKCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpLFxuXG4gICAgICAgICAgICB0b3BQcm94aW1pdHlUaHJlc2hvbGQ6IGRpc3RhbmNlVG9FZGdlWzBdLFxuICAgICAgICAgICAgYm90dG9tUHJveGltaXR5VGhyZXNob2xkOiBkaXN0YW5jZVRvRWRnZVsxXVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICB3cmFwQ2xhc3NlczogZnVuY3Rpb24gd3JhcENsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJlZml4Q2xzICsgJy13cmFwcGVyJztcbiAgICAgICAgfSxcbiAgICAgICAgc2Nyb2xsQ29udGFpbmVyQ2xhc3NlczogZnVuY3Rpb24gc2Nyb2xsQ29udGFpbmVyQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBwcmVmaXhDbHMgKyAnLWNvbnRhaW5lcic7XG4gICAgICAgIH0sXG4gICAgICAgIHNsb3RDb250YWluZXJDbGFzc2VzOiBmdW5jdGlvbiBzbG90Q29udGFpbmVyQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy1jb250ZW50JywgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sIHByZWZpeENscyArICctY29udGVudC1sb2FkaW5nJywgdGhpcy5zaG93Qm9keUxvYWRlcildO1xuICAgICAgICB9LFxuICAgICAgICBsb2FkZXJDbGFzc2VzOiBmdW5jdGlvbiBsb2FkZXJDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIHByZWZpeENscyArICctbG9hZGVyJztcbiAgICAgICAgfSxcbiAgICAgICAgd3JhcHBlclBhZGRpbmc6IGZ1bmN0aW9uIHdyYXBwZXJQYWRkaW5nKCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nVG9wOiB0aGlzLnRvcFJ1YmJlclBhZGRpbmcgKyAncHgnLFxuICAgICAgICAgICAgICAgIHBhZGRpbmdCb3R0b206IHRoaXMuYm90dG9tUnViYmVyUGFkZGluZyArICdweCdcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sXG4gICAgICAgIGxvY2FsZUxvYWRpbmdUZXh0OiBmdW5jdGlvbiBsb2NhbGVMb2FkaW5nVGV4dCgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmxvYWRpbmdUZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50KCdpLnNlbGVjdC5sb2FkaW5nJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmxvYWRpbmdUZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIHdhaXRPbmVTZWNvbmQ6IGZ1bmN0aW9uIHdhaXRPbmVTZWNvbmQoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgICAgICAgcmV0dXJuIG5ldyBfcHJvbWlzZTIuZGVmYXVsdChmdW5jdGlvbiAocmVzb2x2ZSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcblxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgMTAwMCk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB9LFxuICAgICAgICBjYWxjdWxhdGVQcm94aW1pdHlUaHJlc2hvbGQ6IGZ1bmN0aW9uIGNhbGN1bGF0ZVByb3hpbWl0eVRocmVzaG9sZCgpIHtcbiAgICAgICAgICAgIHZhciBkdGUgPSB0aGlzLmRpc3RhbmNlVG9FZGdlO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBkdGUgPT0gJ3VuZGVmaW5lZCcpIHJldHVybiBbMjAsIDIwXTtcbiAgICAgICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGR0ZSkgPyBkdGUgOiBbZHRlLCBkdGVdO1xuICAgICAgICB9LFxuICAgICAgICBvbkNhbGxiYWNrOiBmdW5jdGlvbiBvbkNhbGxiYWNrKGRpcikge1xuICAgICAgICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc2hvd0JvZHlMb2FkZXIgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKGRpciA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dUb3BMb2FkZXIgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMudG9wUnViYmVyUGFkZGluZyA9IDIwO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBfdGhpczMuc2hvd0JvdHRvbUxvYWRlciA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIF90aGlzMy5ib3R0b21SdWJiZXJQYWRkaW5nID0gMjA7XG5cbiAgICAgICAgICAgICAgICAgICAgdmFyIGJvdHRvbUxvYWRlckhlaWdodCA9IDA7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjb250YWluZXIgPSBfdGhpczMuJHJlZnMuc2Nyb2xsQ29udGFpbmVyO1xuICAgICAgICAgICAgICAgICAgICB2YXIgaW5pdGlhbFNjcm9sbFRvcCA9IGNvbnRhaW5lci5zY3JvbGxUb3A7XG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMjA7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczMpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tTG9hZGVySGVpZ2h0ID0gTWF0aC5tYXgoYm90dG9tTG9hZGVySGVpZ2h0LCB0aGlzLiRyZWZzLmJvdHRvbUxvYWRlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgPSBpbml0aWFsU2Nyb2xsVG9wICsgYm90dG9tTG9hZGVySGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfS5iaW5kKF90aGlzMyksIGkgKiA1MCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgY2FsbGJhY2tzID0gW3RoaXMud2FpdE9uZVNlY29uZCgpLCB0aGlzLm9uUmVhY2hFZGdlID8gdGhpcy5vblJlYWNoRWRnZShkaXIpIDogbm9vcCgpXTtcbiAgICAgICAgICAgIGNhbGxiYWNrcy5wdXNoKGRpciA+IDAgPyB0aGlzLm9uUmVhY2hUb3AgPyB0aGlzLm9uUmVhY2hUb3AoKSA6IG5vb3AoKSA6IHRoaXMub25SZWFjaEJvdHRvbSA/IHRoaXMub25SZWFjaEJvdHRvbSgpIDogbm9vcCgpKTtcblxuICAgICAgICAgICAgdmFyIHRvb1Nsb3cgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMyk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcyksIDUwMDApO1xuXG4gICAgICAgICAgICBfcHJvbWlzZTIuZGVmYXVsdC5hbGwoY2FsbGJhY2tzKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMyk7XG5cbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodG9vU2xvdyk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfSxcbiAgICAgICAgcmVzZXQ6IGZ1bmN0aW9uIHJlc2V0KCkge1xuICAgICAgICAgICAgdmFyIF90aGlzNCA9IHRoaXM7XG5cbiAgICAgICAgICAgIFsnc2hvd1RvcExvYWRlcicsICdzaG93Qm90dG9tTG9hZGVyJywgJ3Nob3dCb2R5TG9hZGVyJywgJ2lzTG9hZGluZycsICdyZWFjaGVkVG9wU2Nyb2xsTGltaXQnLCAncmVhY2hlZEJvdHRvbVNjcm9sbExpbWl0J10uZm9yRWFjaChmdW5jdGlvbiAocHJvcCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM0KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpc1twcm9wXSA9IGZhbHNlO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcblxuICAgICAgICAgICAgdGhpcy5sYXN0U2Nyb2xsID0gMDtcbiAgICAgICAgICAgIHRoaXMudG9wUnViYmVyUGFkZGluZyA9IDA7XG4gICAgICAgICAgICB0aGlzLmJvdHRvbVJ1YmJlclBhZGRpbmcgPSAwO1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnJ1YmJlclJvbGxCYWNrVGltZW91dCk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnRvdWNoU2Nyb2xsKSB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM0KTtcblxuICAgICAgICAgICAgICAgICAgICAoMCwgX2RvbS5vZmYpKHdpbmRvdywgJ3RvdWNoZW5kJywgdGhpcy5wb2ludGVyVXBIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5zY3JvbGxDb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5wb2ludGVyTW92ZUhhbmRsZXIpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvdWNoU2Nyb2xsID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpLCA1MDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBvbldoZWVsOiBmdW5jdGlvbiBvbldoZWVsKGV2ZW50KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0xvYWRpbmcpIHJldHVybjtcblxuICAgICAgICAgICAgdmFyIHdoZWVsRGVsdGEgPSBldmVudC53aGVlbERlbHRhID8gZXZlbnQud2hlZWxEZWx0YSA6IC0oZXZlbnQuZGV0YWlsIHx8IGV2ZW50LmRlbHRhWSk7XG4gICAgICAgICAgICB0aGlzLnN0cmV0Y2hFZGdlKHdoZWVsRGVsdGEpO1xuICAgICAgICB9LFxuICAgICAgICBzdHJldGNoRWRnZTogZnVuY3Rpb24gc3RyZXRjaEVkZ2UoZGlyZWN0aW9uKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXM1ID0gdGhpcztcblxuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucnViYmVyUm9sbEJhY2tUaW1lb3V0KTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLm9uUmVhY2hFZGdlKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRpcmVjdGlvbiA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLm9uUmVhY2hUb3ApIHJldHVybjtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMub25SZWFjaEJvdHRvbSkgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5ydWJiZXJSb2xsQmFja1RpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzNSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNMb2FkaW5nKSB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcyksIDI1MCk7XG5cbiAgICAgICAgICAgIGlmIChkaXJlY3Rpb24gPiAwICYmIHRoaXMucmVhY2hlZFRvcFNjcm9sbExpbWl0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy50b3BSdWJiZXJQYWRkaW5nICs9IDUgLSB0aGlzLnRvcFJ1YmJlclBhZGRpbmcgLyA1O1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRvcFJ1YmJlclBhZGRpbmcgPiB0aGlzLnRvcFByb3hpbWl0eVRocmVzaG9sZCkgdGhpcy5vbkNhbGxiYWNrKDEpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPCAwICYmIHRoaXMucmVhY2hlZEJvdHRvbVNjcm9sbExpbWl0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ib3R0b21SdWJiZXJQYWRkaW5nICs9IDYgLSB0aGlzLmJvdHRvbVJ1YmJlclBhZGRpbmcgLyA0O1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmJvdHRvbVJ1YmJlclBhZGRpbmcgPiB0aGlzLmJvdHRvbVByb3hpbWl0eVRocmVzaG9sZCkgdGhpcy5vbkNhbGxiYWNrKC0xKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vblNjcm9sbCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBvblNjcm9sbDogZnVuY3Rpb24gb25TY3JvbGwoKSB7XG4gICAgICAgICAgICB2YXIgZWwgPSB0aGlzLiRyZWZzLnNjcm9sbENvbnRhaW5lcjtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzTG9hZGluZyB8fCAhZWwpIHJldHVybjtcbiAgICAgICAgICAgIHZhciBzY3JvbGxEaXJlY3Rpb24gPSAoMCwgX3NpZ24yLmRlZmF1bHQpKHRoaXMubGFzdFNjcm9sbCAtIGVsLnNjcm9sbFRvcCk7XG4gICAgICAgICAgICB2YXIgZGlzcGxhY2VtZW50ID0gZWwuc2Nyb2xsSGVpZ2h0IC0gZWwuY2xpZW50SGVpZ2h0IC0gZWwuc2Nyb2xsVG9wO1xuXG4gICAgICAgICAgICB2YXIgdG9wTmVnYXRpdmVQcm94aW1pdHkgPSB0aGlzLnRvcFByb3hpbWl0eVRocmVzaG9sZCA8IDAgPyB0aGlzLnRvcFByb3hpbWl0eVRocmVzaG9sZCA6IDA7XG4gICAgICAgICAgICB2YXIgYm90dG9tTmVnYXRpdmVQcm94aW1pdHkgPSB0aGlzLmJvdHRvbVByb3hpbWl0eVRocmVzaG9sZCA8IDAgPyB0aGlzLmJvdHRvbVByb3hpbWl0eVRocmVzaG9sZCA6IDA7XG4gICAgICAgICAgICBpZiAoc2Nyb2xsRGlyZWN0aW9uID09IC0xICYmIGRpc3BsYWNlbWVudCArIGJvdHRvbU5lZ2F0aXZlUHJveGltaXR5IDw9IGRyYWdDb25maWcuc2Vuc2l0aXZpdHkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlYWNoZWRCb3R0b21TY3JvbGxMaW1pdCA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHNjcm9sbERpcmVjdGlvbiA+PSAwICYmIGVsLnNjcm9sbFRvcCArIHRvcE5lZ2F0aXZlUHJveGltaXR5IDw9IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlYWNoZWRUb3BTY3JvbGxMaW1pdCA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucmVhY2hlZFRvcFNjcm9sbExpbWl0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWFjaGVkQm90dG9tU2Nyb2xsTGltaXQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RTY3JvbGwgPSBlbC5zY3JvbGxUb3A7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGdldFRvdWNoQ29vcmRpbmF0ZXM6IGZ1bmN0aW9uIGdldFRvdWNoQ29vcmRpbmF0ZXMoZSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB4OiBlLnRvdWNoZXNbMF0ucGFnZVgsXG4gICAgICAgICAgICAgICAgeTogZS50b3VjaGVzWzBdLnBhZ2VZXG4gICAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgICBvblBvaW50ZXJEb3duOiBmdW5jdGlvbiBvblBvaW50ZXJEb3duKGUpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczYgPSB0aGlzO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5pc0xvYWRpbmcpIHJldHVybjtcbiAgICAgICAgICAgIGlmIChlLnR5cGUgPT0gJ3RvdWNoc3RhcnQnKSB7XG4gICAgICAgICAgICAgICAgdmFyIGNvbnRhaW5lciA9IHRoaXMuJHJlZnMuc2Nyb2xsQ29udGFpbmVyO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnJlYWNoZWRUb3BTY3JvbGxMaW1pdCkgY29udGFpbmVyLnNjcm9sbFRvcCA9IDU7ZWxzZSBpZiAodGhpcy5yZWFjaGVkQm90dG9tU2Nyb2xsTGltaXQpIGNvbnRhaW5lci5zY3JvbGxUb3AgLT0gNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChlLnR5cGUgPT0gJ3RvdWNoc3RhcnQnICYmIHRoaXMuJHJlZnMuc2Nyb2xsQ29udGFpbmVyLnNjcm9sbFRvcCA9PSAwKSB0aGlzLiRyZWZzLnNjcm9sbENvbnRhaW5lci5zY3JvbGxUb3AgPSA1O1xuXG4gICAgICAgICAgICB0aGlzLnBvaW50ZXJUb3VjaERvd24gPSB0aGlzLmdldFRvdWNoQ29vcmRpbmF0ZXMoZSk7XG4gICAgICAgICAgICAoMCwgX2RvbS5vbikod2luZG93LCAndG91Y2hlbmQnLCB0aGlzLnBvaW50ZXJVcEhhbmRsZXIpO1xuICAgICAgICAgICAgdGhpcy4kcmVmcy5zY3JvbGxDb250YWluZXIucGFyZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM2KTtcblxuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5wb2ludGVyTW92ZUhhbmRsZXIoZSk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcyksIHsgcGFzc2l2ZTogZmFsc2UsIHVzZUNhcHR1cmU6IHRydWUgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uUG9pbnRlck1vdmU6IGZ1bmN0aW9uIG9uUG9pbnRlck1vdmUoZSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnBvaW50ZXJUb3VjaERvd24pIHJldHVybjtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzTG9hZGluZykgcmV0dXJuO1xuXG4gICAgICAgICAgICB2YXIgcG9pbnRlclBvc2l0aW9uID0gdGhpcy5nZXRUb3VjaENvb3JkaW5hdGVzKGUpO1xuICAgICAgICAgICAgdmFyIHlEaWZmID0gcG9pbnRlclBvc2l0aW9uLnkgLSB0aGlzLnBvaW50ZXJUb3VjaERvd24ueTtcblxuICAgICAgICAgICAgdGhpcy5zdHJldGNoRWRnZSh5RGlmZik7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy50b3VjaFNjcm9sbCkge1xuICAgICAgICAgICAgICAgIHZhciB3YXNEcmFnZ2VkID0gTWF0aC5hYnMoeURpZmYpID4gZHJhZ0NvbmZpZy5taW5pbXVtU3RhcnREcmFnT2Zmc2V0O1xuICAgICAgICAgICAgICAgIGlmICh3YXNEcmFnZ2VkKSB0aGlzLnRvdWNoU2Nyb2xsID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb25Qb2ludGVyVXA6IGZ1bmN0aW9uIG9uUG9pbnRlclVwKCkge1xuICAgICAgICAgICAgdGhpcy5wb2ludGVyVG91Y2hEb3duID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVTY3JvbGwgPSAoMCwgX2xvZGFzaDIuZGVmYXVsdCkodGhpcy5vblNjcm9sbCwgMTUwLCB7IGxlYWRpbmc6IGZhbHNlIH0pO1xuICAgICAgICB0aGlzLnBvaW50ZXJVcEhhbmRsZXIgPSB0aGlzLm9uUG9pbnRlclVwLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMucG9pbnRlck1vdmVIYW5kbGVyID0gKDAsIF9sb2Rhc2gyLmRlZmF1bHQpKHRoaXMub25Qb2ludGVyTW92ZSwgNTAsIHsgbGVhZGluZzogZmFsc2UgfSk7XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxODcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9zcGluID0gX193ZWJwYWNrX3JlcXVpcmVfXyg4MSk7XG5cbnZhciBfc3BpbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zcGluKTtcblxudmFyIF9pY29uID0gX193ZWJwYWNrX3JlcXVpcmVfXyg4KTtcblxudmFyIF9pY29uMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2ljb24pO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1zY3JvbGwnO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgcHJvcHM6IFsndGV4dCcsICdhY3RpdmUnLCAnc3Bpbm5lckhlaWdodCddLFxuICAgIGNvbXBvbmVudHM6IHsgU3BpbjogX3NwaW4yLmRlZmF1bHQsIEljb246IF9pY29uMi5kZWZhdWx0IH0sXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgd3JhcHBlckNsYXNzZXM6IGZ1bmN0aW9uIHdyYXBwZXJDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXhDbHMgKyAnLWxvYWRlci13cmFwcGVyJywgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sIHByZWZpeENscyArICctbG9hZGVyLXdyYXBwZXItYWN0aXZlJywgdGhpcy5hY3RpdmUpXTtcbiAgICAgICAgfSxcbiAgICAgICAgc3Bpbm5lckNsYXNzZXM6IGZ1bmN0aW9uIHNwaW5uZXJDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIHByZWZpeENscyArICctc3Bpbm5lcic7XG4gICAgICAgIH0sXG4gICAgICAgIGljb25DbGFzc2VzOiBmdW5jdGlvbiBpY29uQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBwcmVmaXhDbHMgKyAnLXNwaW5uZXItaWNvbic7XG4gICAgICAgIH0sXG4gICAgICAgIHRleHRDbGFzc2VzOiBmdW5jdGlvbiB0ZXh0Q2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBwcmVmaXhDbHMgKyAnLWxvYWRlci10ZXh0JztcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTg4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxudmFyIF9taXhpbnNTY3JvbGxiYXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDc5KTtcblxudmFyIF9taXhpbnNTY3JvbGxiYXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbWl4aW5zU2Nyb2xsYmFyKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtc3Bpbic7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnU3BpbicsXG4gICAgbWl4aW5zOiBbX21peGluc1Njcm9sbGJhcjIuZGVmYXVsdF0sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgc2l6ZToge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ3NtYWxsJywgJ2xhcmdlJywgJ2RlZmF1bHQnXSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICF0aGlzLiRJVklFVyB8fCB0aGlzLiRJVklFVy5zaXplID09PSAnJyA/ICdkZWZhdWx0JyA6IHRoaXMuJElWSUVXLnNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGZpeDoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIGZ1bGxzY3JlZW46IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc2hvd1RleHQ6IGZhbHNlLFxuXG4gICAgICAgICAgICB2aXNpYmxlOiBmYWxzZVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWY7XG5cbiAgICAgICAgICAgIHJldHVybiBbJycgKyBwcmVmaXhDbHMsIChfcmVmID0ge30sICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctJyArIFN0cmluZyh0aGlzLnNpemUpLCAhIXRoaXMuc2l6ZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctZml4JywgdGhpcy5maXgpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLXNob3ctdGV4dCcsIHRoaXMuc2hvd1RleHQpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLWZ1bGxzY3JlZW4nLCB0aGlzLmZ1bGxzY3JlZW4pLCBfcmVmKV07XG4gICAgICAgIH0sXG4gICAgICAgIG1haW5DbGFzc2VzOiBmdW5jdGlvbiBtYWluQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBwcmVmaXhDbHMgKyAnLW1haW4nO1xuICAgICAgICB9LFxuICAgICAgICBkb3RDbGFzc2VzOiBmdW5jdGlvbiBkb3RDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIHByZWZpeENscyArICctZG90JztcbiAgICAgICAgfSxcbiAgICAgICAgdGV4dENsYXNzZXM6IGZ1bmN0aW9uIHRleHRDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIHByZWZpeENscyArICctdGV4dCc7XG4gICAgICAgIH0sXG4gICAgICAgIGZ1bGxzY3JlZW5WaXNpYmxlOiBmdW5jdGlvbiBmdWxsc2NyZWVuVmlzaWJsZSgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZ1bGxzY3JlZW4pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy52aXNpYmxlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgd2F0Y2g6IHtcbiAgICAgICAgdmlzaWJsZTogZnVuY3Rpb24gdmlzaWJsZSh2YWwpIHtcbiAgICAgICAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFNjcm9sbEVmZmVjdCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVNjcm9sbEVmZmVjdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgICB0aGlzLnNob3dUZXh0ID0gdGhpcy4kc2xvdHMuZGVmYXVsdCAhPT0gdW5kZWZpbmVkO1xuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTg5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG52YXIgX2Fzc2lzdCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbnZhciBfZG9tID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMyk7XG5cbnZhciBfdHJpZ2dlciA9IF9fd2VicGFja19yZXF1aXJlX18oNDgyKTtcblxudmFyIF90cmlnZ2VyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RyaWdnZXIpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ1NwbGl0JyxcbiAgICBjb21wb25lbnRzOiB7XG4gICAgICAgIFRyaWdnZXI6IF90cmlnZ2VyMi5kZWZhdWx0XG4gICAgfSxcbiAgICBwcm9wczoge1xuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgdHlwZTogW051bWJlciwgU3RyaW5nXSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDAuNVxuICAgICAgICB9LFxuICAgICAgICBtb2RlOiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnaG9yaXpvbnRhbCcsICd2ZXJ0aWNhbCddKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGRlZmF1bHQ6ICdob3Jpem9udGFsJ1xuICAgICAgICB9LFxuICAgICAgICBtaW46IHtcbiAgICAgICAgICAgIHR5cGU6IFtOdW1iZXIsIFN0cmluZ10sXG4gICAgICAgICAgICBkZWZhdWx0OiAnNDBweCdcbiAgICAgICAgfSxcbiAgICAgICAgbWF4OiB7XG4gICAgICAgICAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmddLFxuICAgICAgICAgICAgZGVmYXVsdDogJzQwcHgnXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVmaXg6ICdpdnUtc3BsaXQnLFxuICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgb2xkT2Zmc2V0OiAwLFxuICAgICAgICAgICAgaXNNb3Zpbmc6IGZhbHNlXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIHdyYXBwZXJDbGFzc2VzOiBmdW5jdGlvbiB3cmFwcGVyQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbU3RyaW5nKHRoaXMucHJlZml4KSArICctd3JhcHBlcicsIHRoaXMuaXNNb3ZpbmcgPyAnbm8tc2VsZWN0JyA6ICcnXTtcbiAgICAgICAgfSxcbiAgICAgICAgcGFuZUNsYXNzZXM6IGZ1bmN0aW9uIHBhbmVDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFtTdHJpbmcodGhpcy5wcmVmaXgpICsgJy1wYW5lJywgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sIFN0cmluZyh0aGlzLnByZWZpeCkgKyAnLXBhbmUtbW92aW5nJywgdGhpcy5pc01vdmluZyldO1xuICAgICAgICB9LFxuICAgICAgICBpc0hvcml6b250YWw6IGZ1bmN0aW9uIGlzSG9yaXpvbnRhbCgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1vZGUgPT09ICdob3Jpem9udGFsJztcbiAgICAgICAgfSxcbiAgICAgICAgYW5vdGhlck9mZnNldDogZnVuY3Rpb24gYW5vdGhlck9mZnNldCgpIHtcbiAgICAgICAgICAgIHJldHVybiAxMDAgLSB0aGlzLm9mZnNldDtcbiAgICAgICAgfSxcbiAgICAgICAgdmFsdWVJc1B4OiBmdW5jdGlvbiB2YWx1ZUlzUHgoKSB7XG4gICAgICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXMudmFsdWUgPT09ICdzdHJpbmcnO1xuICAgICAgICB9LFxuICAgICAgICBvZmZzZXRTaXplOiBmdW5jdGlvbiBvZmZzZXRTaXplKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNIb3Jpem9udGFsID8gJ29mZnNldFdpZHRoJyA6ICdvZmZzZXRIZWlnaHQnO1xuICAgICAgICB9LFxuICAgICAgICBjb21wdXRlZE1pbjogZnVuY3Rpb24gY29tcHV0ZWRNaW4oKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRDb21wdXRlZFRocmVzaG9sZFZhbHVlKCdtaW4nKTtcbiAgICAgICAgfSxcbiAgICAgICAgY29tcHV0ZWRNYXg6IGZ1bmN0aW9uIGNvbXB1dGVkTWF4KCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29tcHV0ZWRUaHJlc2hvbGRWYWx1ZSgnbWF4Jyk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgcHgycGVyY2VudDogZnVuY3Rpb24gcHgycGVyY2VudChudW1lcmF0b3IsIGRlbm9taW5hdG9yKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VGbG9hdChudW1lcmF0b3IpIC8gcGFyc2VGbG9hdChkZW5vbWluYXRvcik7XG4gICAgICAgIH0sXG4gICAgICAgIGdldENvbXB1dGVkVGhyZXNob2xkVmFsdWU6IGZ1bmN0aW9uIGdldENvbXB1dGVkVGhyZXNob2xkVmFsdWUodHlwZSkge1xuICAgICAgICAgICAgdmFyIHNpemUgPSB0aGlzLiRyZWZzLm91dGVyV3JhcHBlclt0aGlzLm9mZnNldFNpemVdO1xuICAgICAgICAgICAgaWYgKHRoaXMudmFsdWVJc1B4KSByZXR1cm4gdHlwZW9mIHRoaXNbdHlwZV0gPT09ICdzdHJpbmcnID8gdGhpc1t0eXBlXSA6IHNpemUgKiB0aGlzW3R5cGVdO2Vsc2UgcmV0dXJuIHR5cGVvZiB0aGlzW3R5cGVdID09PSAnc3RyaW5nJyA/IHRoaXMucHgycGVyY2VudCh0aGlzW3R5cGVdLCBzaXplKSA6IHRoaXNbdHlwZV07XG4gICAgICAgIH0sXG4gICAgICAgIGdldE1pbjogZnVuY3Rpb24gZ2V0TWluKHZhbHVlMSwgdmFsdWUyKSB7XG4gICAgICAgICAgICBpZiAodGhpcy52YWx1ZUlzUHgpIHJldHVybiBTdHJpbmcoTWF0aC5taW4ocGFyc2VGbG9hdCh2YWx1ZTEpLCBwYXJzZUZsb2F0KHZhbHVlMikpKSArICdweCc7ZWxzZSByZXR1cm4gTWF0aC5taW4odmFsdWUxLCB2YWx1ZTIpO1xuICAgICAgICB9LFxuICAgICAgICBnZXRNYXg6IGZ1bmN0aW9uIGdldE1heCh2YWx1ZTEsIHZhbHVlMikge1xuICAgICAgICAgICAgaWYgKHRoaXMudmFsdWVJc1B4KSByZXR1cm4gU3RyaW5nKE1hdGgubWF4KHBhcnNlRmxvYXQodmFsdWUxKSwgcGFyc2VGbG9hdCh2YWx1ZTIpKSkgKyAncHgnO2Vsc2UgcmV0dXJuIE1hdGgubWF4KHZhbHVlMSwgdmFsdWUyKTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0QW5vdGhlck9mZnNldDogZnVuY3Rpb24gZ2V0QW5vdGhlck9mZnNldCh2YWx1ZSkge1xuICAgICAgICAgICAgdmFyIHJlcyA9IDA7XG4gICAgICAgICAgICBpZiAodGhpcy52YWx1ZUlzUHgpIHJlcyA9IHRoaXMuJHJlZnMub3V0ZXJXcmFwcGVyW3RoaXMub2Zmc2V0U2l6ZV0gLSBwYXJzZUZsb2F0KHZhbHVlKSArICdweCc7ZWxzZSByZXMgPSAxIC0gdmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVNb3ZlOiBmdW5jdGlvbiBoYW5kbGVNb3ZlKGUpIHtcbiAgICAgICAgICAgIHZhciBwYWdlT2Zmc2V0ID0gdGhpcy5pc0hvcml6b250YWwgPyBlLnBhZ2VYIDogZS5wYWdlWTtcbiAgICAgICAgICAgIHZhciBvZmZzZXQgPSBwYWdlT2Zmc2V0IC0gdGhpcy5pbml0T2Zmc2V0O1xuICAgICAgICAgICAgdmFyIG91dGVyV2lkdGggPSB0aGlzLiRyZWZzLm91dGVyV3JhcHBlclt0aGlzLm9mZnNldFNpemVdO1xuICAgICAgICAgICAgdmFyIHZhbHVlID0gdGhpcy52YWx1ZUlzUHggPyBTdHJpbmcocGFyc2VGbG9hdCh0aGlzLm9sZE9mZnNldCkgKyBvZmZzZXQpICsgJ3B4JyA6IHRoaXMucHgycGVyY2VudChvdXRlcldpZHRoICogdGhpcy5vbGRPZmZzZXQgKyBvZmZzZXQsIG91dGVyV2lkdGgpO1xuICAgICAgICAgICAgdmFyIGFub3RoZXJWYWx1ZSA9IHRoaXMuZ2V0QW5vdGhlck9mZnNldCh2YWx1ZSk7XG4gICAgICAgICAgICBpZiAocGFyc2VGbG9hdCh2YWx1ZSkgPD0gcGFyc2VGbG9hdCh0aGlzLmNvbXB1dGVkTWluKSkgdmFsdWUgPSB0aGlzLmdldE1heCh2YWx1ZSwgdGhpcy5jb21wdXRlZE1pbik7XG4gICAgICAgICAgICBpZiAocGFyc2VGbG9hdChhbm90aGVyVmFsdWUpIDw9IHBhcnNlRmxvYXQodGhpcy5jb21wdXRlZE1heCkpIHZhbHVlID0gdGhpcy5nZXRBbm90aGVyT2Zmc2V0KHRoaXMuZ2V0TWF4KGFub3RoZXJWYWx1ZSwgdGhpcy5jb21wdXRlZE1heCkpO1xuICAgICAgICAgICAgZS5hdE1pbiA9IHRoaXMudmFsdWUgPT09IHRoaXMuY29tcHV0ZWRNaW47XG4gICAgICAgICAgICBlLmF0TWF4ID0gdGhpcy52YWx1ZUlzUHggPyB0aGlzLmdldEFub3RoZXJPZmZzZXQodGhpcy52YWx1ZSkgPT09IHRoaXMuY29tcHV0ZWRNYXggOiB0aGlzLmdldEFub3RoZXJPZmZzZXQodGhpcy52YWx1ZSkudG9GaXhlZCg1KSA9PT0gdGhpcy5jb21wdXRlZE1heC50b0ZpeGVkKDUpO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnaW5wdXQnLCB2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1tb3ZpbmcnLCBlKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlVXA6IGZ1bmN0aW9uIGhhbmRsZVVwKCkge1xuICAgICAgICAgICAgdGhpcy5pc01vdmluZyA9IGZhbHNlO1xuICAgICAgICAgICAgKDAsIF9kb20ub2ZmKShkb2N1bWVudCwgJ21vdXNlbW92ZScsIHRoaXMuaGFuZGxlTW92ZSk7XG4gICAgICAgICAgICAoMCwgX2RvbS5vZmYpKGRvY3VtZW50LCAnbW91c2V1cCcsIHRoaXMuaGFuZGxlVXApO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tbW92ZS1lbmQnKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlTW91c2Vkb3duOiBmdW5jdGlvbiBoYW5kbGVNb3VzZWRvd24oZSkge1xuICAgICAgICAgICAgdGhpcy5pbml0T2Zmc2V0ID0gdGhpcy5pc0hvcml6b250YWwgPyBlLnBhZ2VYIDogZS5wYWdlWTtcbiAgICAgICAgICAgIHRoaXMub2xkT2Zmc2V0ID0gdGhpcy52YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuaXNNb3ZpbmcgPSB0cnVlO1xuICAgICAgICAgICAgKDAsIF9kb20ub24pKGRvY3VtZW50LCAnbW91c2Vtb3ZlJywgdGhpcy5oYW5kbGVNb3ZlKTtcbiAgICAgICAgICAgICgwLCBfZG9tLm9uKShkb2N1bWVudCwgJ21vdXNldXAnLCB0aGlzLmhhbmRsZVVwKTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLW1vdmUtc3RhcnQnKTtcbiAgICAgICAgfSxcbiAgICAgICAgY29tcHV0ZU9mZnNldDogZnVuY3Rpb24gY29tcHV0ZU9mZnNldCgpIHtcbiAgICAgICAgICAgIHRoaXMub2Zmc2V0ID0gKHRoaXMudmFsdWVJc1B4ID8gdGhpcy5weDJwZXJjZW50KHRoaXMudmFsdWUsIHRoaXMuJHJlZnMub3V0ZXJXcmFwcGVyW3RoaXMub2Zmc2V0U2l6ZV0pIDogdGhpcy52YWx1ZSkgKiAxMDAwMCAvIDEwMDtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgd2F0Y2g6IHtcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIHZhbHVlKCkge1xuICAgICAgICAgICAgdGhpcy5jb21wdXRlT2Zmc2V0KCk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZU9mZnNldCgpO1xuICAgICAgICB9LmJpbmQodGhpcykpO1xuXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgdGhpcy5jb21wdXRlT2Zmc2V0KCk7XG4gICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxOTAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdUcmlnZ2VyJyxcbiAgICBwcm9wczoge1xuICAgICAgICBtb2RlOiBTdHJpbmdcbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVmaXg6ICdpdnUtc3BsaXQtdHJpZ2dlcicsXG4gICAgICAgICAgICBpbml0T2Zmc2V0OiAwXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGlzVmVydGljYWw6IGZ1bmN0aW9uIGlzVmVydGljYWwoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tb2RlID09PSAndmVydGljYWwnO1xuICAgICAgICB9LFxuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFt0aGlzLnByZWZpeCwgdGhpcy5pc1ZlcnRpY2FsID8gU3RyaW5nKHRoaXMucHJlZml4KSArICctdmVydGljYWwnIDogU3RyaW5nKHRoaXMucHJlZml4KSArICctaG9yaXpvbnRhbCddO1xuICAgICAgICB9LFxuICAgICAgICBiYXJDb25DbGFzc2VzOiBmdW5jdGlvbiBiYXJDb25DbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFtTdHJpbmcodGhpcy5wcmVmaXgpICsgJy1iYXItY29uJywgdGhpcy5pc1ZlcnRpY2FsID8gJ3ZlcnRpY2FsJyA6ICdob3Jpem9udGFsJ107XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDE5MSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtbGF5b3V0JztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdMYXlvdXQnLFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoYXNTaWRlcjogZmFsc2VcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgd3JhcENsYXNzZXM6IGZ1bmN0aW9uIHdyYXBDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFsnJyArIHByZWZpeENscywgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sIHByZWZpeENscyArICctaGFzLXNpZGVyJywgdGhpcy5oYXNTaWRlcildO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGZpbmRTaWRlcjogZnVuY3Rpb24gZmluZFNpZGVyKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJGNoaWxkcmVuLnNvbWUoZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gY2hpbGQuJG9wdGlvbnMubmFtZSA9PT0gJ1NpZGVyJztcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICAgIHRoaXMuaGFzU2lkZXIgPSB0aGlzLmZpbmRTaWRlcigpO1xuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTkyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3NpZGVyX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxOTMpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3NpZGVyX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc2lkZXJfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zaWRlcl92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc2lkZXJfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfM2MwMTM3NTJfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9zaWRlcl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNDg4KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zYzAxMzc1Ml9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3NpZGVyX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfM2MwMTM3NTJfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9zaWRlcl92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zaWRlcl92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzNjMDEzNzUyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfc2lkZXJfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzNjMDEzNzUyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfc2lkZXJfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDE5MyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfZG9tID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMyk7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxudmFyIHByZWZpeENscyA9ICdpdnUtbGF5b3V0LXNpZGVyJztcbigwLCBfYXNzaXN0LnNldE1hdGNoTWVkaWEpKCk7XG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ1NpZGVyJyxcbiAgICBwcm9wczoge1xuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHdpZHRoOiB7XG4gICAgICAgICAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmddLFxuICAgICAgICAgICAgZGVmYXVsdDogMjAwXG4gICAgICAgIH0sXG4gICAgICAgIGNvbGxhcHNlZFdpZHRoOiB7XG4gICAgICAgICAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmddLFxuICAgICAgICAgICAgZGVmYXVsdDogNjRcbiAgICAgICAgfSxcbiAgICAgICAgaGlkZVRyaWdnZXI6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBicmVha3BvaW50OiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbCwgWyd4cycsICdzbScsICdtZCcsICdsZycsICd4bCcsICd4eGwnXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNvbGxhcHNpYmxlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgZGVmYXVsdENvbGxhcHNlZDoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHJldmVyc2VBcnJvdzoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVmaXhDbHM6IHByZWZpeENscyxcbiAgICAgICAgICAgIG1lZGlhTWF0Y2hlZDogZmFsc2VcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgd3JhcENsYXNzZXM6IGZ1bmN0aW9uIHdyYXBDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFsnJyArIHByZWZpeENscywgdGhpcy5zaWRlcldpZHRoID8gJycgOiBwcmVmaXhDbHMgKyAnLXplcm8td2lkdGgnLCB0aGlzLnZhbHVlID8gcHJlZml4Q2xzICsgJy1jb2xsYXBzZWQnIDogJyddO1xuICAgICAgICB9LFxuICAgICAgICB3cmFwU3R5bGVzOiBmdW5jdGlvbiB3cmFwU3R5bGVzKCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogU3RyaW5nKHRoaXMuc2lkZXJXaWR0aCkgKyAncHgnLFxuICAgICAgICAgICAgICAgIG1pbldpZHRoOiBTdHJpbmcodGhpcy5zaWRlcldpZHRoKSArICdweCcsXG4gICAgICAgICAgICAgICAgbWF4V2lkdGg6IFN0cmluZyh0aGlzLnNpZGVyV2lkdGgpICsgJ3B4JyxcbiAgICAgICAgICAgICAgICBmbGV4OiAnMCAwICcgKyBTdHJpbmcodGhpcy5zaWRlcldpZHRoKSArICdweCdcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sXG4gICAgICAgIHRyaWdnZXJDbGFzc2VzOiBmdW5jdGlvbiB0cmlnZ2VyQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy10cmlnZ2VyJywgdGhpcy52YWx1ZSA/IHByZWZpeENscyArICctdHJpZ2dlci1jb2xsYXBzZWQnIDogJyddO1xuICAgICAgICB9LFxuICAgICAgICBjaGlsZENsYXNzZXM6IGZ1bmN0aW9uIGNoaWxkQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBTdHJpbmcodGhpcy5wcmVmaXhDbHMpICsgJy1jaGlsZHJlbic7XG4gICAgICAgIH0sXG4gICAgICAgIHplcm9XaWR0aFRyaWdnZXJDbGFzc2VzOiBmdW5jdGlvbiB6ZXJvV2lkdGhUcmlnZ2VyQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy16ZXJvLXdpZHRoLXRyaWdnZXInLCB0aGlzLnJldmVyc2VBcnJvdyA/IHByZWZpeENscyArICctemVyby13aWR0aC10cmlnZ2VyLWxlZnQnIDogJyddO1xuICAgICAgICB9LFxuICAgICAgICB0cmlnZ2VySWNvbkNsYXNzZXM6IGZ1bmN0aW9uIHRyaWdnZXJJY29uQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbJ2l2dS1pY29uJywgJ2l2dS1pY29uLWlvcy1hcnJvdy0nICsgKHRoaXMucmV2ZXJzZUFycm93ID8gJ2ZvcndhcmQnIDogJ2JhY2snKSwgcHJlZml4Q2xzICsgJy10cmlnZ2VyLWljb24nXTtcbiAgICAgICAgfSxcbiAgICAgICAgc2lkZXJXaWR0aDogZnVuY3Rpb24gc2lkZXJXaWR0aCgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbGxhcHNpYmxlID8gdGhpcy52YWx1ZSA/IHRoaXMubWVkaWFNYXRjaGVkID8gMCA6IHBhcnNlSW50KHRoaXMuY29sbGFwc2VkV2lkdGgpIDogcGFyc2VJbnQodGhpcy53aWR0aCkgOiB0aGlzLndpZHRoO1xuICAgICAgICB9LFxuICAgICAgICBzaG93WmVyb1RyaWdnZXI6IGZ1bmN0aW9uIHNob3daZXJvVHJpZ2dlcigpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbGxhcHNpYmxlID8gdGhpcy5tZWRpYU1hdGNoZWQgJiYgIXRoaXMuaGlkZVRyaWdnZXIgfHwgcGFyc2VJbnQodGhpcy5jb2xsYXBzZWRXaWR0aCkgPT09IDAgJiYgdGhpcy52YWx1ZSAmJiAhdGhpcy5oaWRlVHJpZ2dlciA6IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgICBzaG93Qm90dG9tVHJpZ2dlcjogZnVuY3Rpb24gc2hvd0JvdHRvbVRyaWdnZXIoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb2xsYXBzaWJsZSA/ICF0aGlzLm1lZGlhTWF0Y2hlZCAmJiAhdGhpcy5oaWRlVHJpZ2dlciA6IGZhbHNlO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIHRvZ2dsZUNvbGxhcHNlOiBmdW5jdGlvbiB0b2dnbGVDb2xsYXBzZSgpIHtcbiAgICAgICAgICAgIHZhciB2YWx1ZSA9IHRoaXMuY29sbGFwc2libGUgPyAhdGhpcy52YWx1ZSA6IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnaW5wdXQnLCB2YWx1ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIG1hdGNoTWVkaWE6IGZ1bmN0aW9uIG1hdGNoTWVkaWEoKSB7XG4gICAgICAgICAgICB2YXIgbWF0Y2hNZWRpYSA9IHZvaWQgMDtcbiAgICAgICAgICAgIGlmICh3aW5kb3cubWF0Y2hNZWRpYSkge1xuICAgICAgICAgICAgICAgIG1hdGNoTWVkaWEgPSB3aW5kb3cubWF0Y2hNZWRpYTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBtZWRpYU1hdGNoZWQgPSB0aGlzLm1lZGlhTWF0Y2hlZDtcbiAgICAgICAgICAgIHRoaXMubWVkaWFNYXRjaGVkID0gbWF0Y2hNZWRpYSgnKG1heC13aWR0aDogJyArIFN0cmluZyhfYXNzaXN0LmRpbWVuc2lvbk1hcFt0aGlzLmJyZWFrcG9pbnRdKSArICcpJykubWF0Y2hlcztcblxuICAgICAgICAgICAgaWYgKHRoaXMubWVkaWFNYXRjaGVkICE9PSBtZWRpYU1hdGNoZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIHRoaXMubWVkaWFNYXRjaGVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb25XaW5kb3dSZXNpemU6IGZ1bmN0aW9uIG9uV2luZG93UmVzaXplKCkge1xuICAgICAgICAgICAgdGhpcy5tYXRjaE1lZGlhKCk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHdhdGNoOiB7XG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZShzdGF0KSB7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1jb2xsYXBzZScsIHN0YXQpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgICBpZiAodGhpcy5kZWZhdWx0Q29sbGFwc2VkKSB7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIHRoaXMuZGVmYXVsdENvbGxhcHNlZCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYnJlYWtwb2ludCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAoMCwgX2RvbS5vbikod2luZG93LCAncmVzaXplJywgdGhpcy5vbldpbmRvd1Jlc2l6ZSk7XG4gICAgICAgICAgICB0aGlzLm1hdGNoTWVkaWEoKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMuYnJlYWtwb2ludCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAoMCwgX2RvbS5vZmYpKHdpbmRvdywgJ3Jlc2l6ZScsIHRoaXMub25XaW5kb3dSZXNpemUpO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAxOTQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9hc3Npc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1saXN0JztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdMaXN0JyxcbiAgICBwcm92aWRlOiBmdW5jdGlvbiBwcm92aWRlKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgTGlzdEluc3RhbmNlOiB0aGlzXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIHByb3BzOiB7XG4gICAgICAgIGJvcmRlcjoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIGl0ZW1MYXlvdXQ6IHtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWydob3Jpem9udGFsJywgJ3ZlcnRpY2FsJ10pO1xuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgZGVmYXVsdDogJ2hvcml6b250YWwnXG4gICAgICAgIH0sXG5cbiAgICAgICAgaGVhZGVyOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgICB9LFxuXG4gICAgICAgIGZvb3Rlcjoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJydcbiAgICAgICAgfSxcblxuICAgICAgICBsb2FkaW5nOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgc2l6ZToge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ3NtYWxsJywgJ2xhcmdlJywgJ2RlZmF1bHQnXSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICF0aGlzLiRJVklFVyB8fCB0aGlzLiRJVklFVy5zaXplID09PSAnJyA/ICdkZWZhdWx0JyA6IHRoaXMuJElWSUVXLnNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHNwbGl0OiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogdHJ1ZVxuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgfSxcblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGNsYXNzZXM6IGZ1bmN0aW9uIGNsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjtcblxuICAgICAgICAgICAgcmV0dXJuIFsnJyArIHByZWZpeENscywgcHJlZml4Q2xzICsgJy0nICsgU3RyaW5nKHRoaXMuc2l6ZSksIHByZWZpeENscyArICctJyArIFN0cmluZyh0aGlzLml0ZW1MYXlvdXQpLCAoX3JlZiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLWJvcmRlcmVkJywgdGhpcy5ib3JkZXIpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLXNwbGl0JywgdGhpcy5zcGxpdCksIF9yZWYpXTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbWV0aG9kczoge31cbn07XG5cbi8qKiovIH0pLFxuLyogMTk1ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnTGlzdEl0ZW0nLFxuICAgIGluamVjdDogWydMaXN0SW5zdGFuY2UnXSxcbiAgICBwcm9wczoge30sXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgaXRlbUxheW91dDogZnVuY3Rpb24gaXRlbUxheW91dCgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLkxpc3RJbnN0YW5jZS5pdGVtTGF5b3V0O1xuICAgICAgICB9LFxuICAgICAgICBpc0l0ZW1Db250YWluc1RleHROb2RlOiBmdW5jdGlvbiBpc0l0ZW1Db250YWluc1RleHROb2RlKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIHJlc3VsdCA9IHZvaWQgMDtcbiAgICAgICAgICAgIHRoaXMuJHNsb3RzLmRlZmF1bHQuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9LFxuICAgICAgICBpc0ZsZXhNb2RlOiBmdW5jdGlvbiBpc0ZsZXhNb2RlKCkge1xuICAgICAgICAgICAgdmFyIGV4dHJhID0gdGhpcy4kc2xvdHMuZXh0cmE7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLml0ZW1MYXlvdXQgPT09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gISFleHRyYTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuICF0aGlzLmlzSXRlbUNvbnRhaW5zVGV4dE5vZGU7XG4gICAgICAgIH0sXG4gICAgICAgIGNsYXNzZXM6IGZ1bmN0aW9uIGNsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gW3tcbiAgICAgICAgICAgICAgICAnaXZ1LWxpc3QtaXRlbS1uby1mbGV4JzogIXRoaXMuaXNGbGV4TW9kZVxuICAgICAgICAgICAgfV07XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDE5NiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfYXZhdGFyID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMTUpO1xuXG52YXIgX2F2YXRhcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hdmF0YXIpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ0xpc3RJdGVtTWV0YScsXG4gICAgY29tcG9uZW50czogeyBBdmF0YXI6IF9hdmF0YXIyLmRlZmF1bHQgfSxcbiAgICBwcm9wczoge1xuICAgICAgICBhdmF0YXI6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICcnXG4gICAgICAgIH0sXG4gICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgICB9LFxuICAgICAgICBkZXNjcmlwdGlvbjoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJydcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMTk3ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhDbHMgPSAnaXZ1LWxvYWRpbmctYmFyJztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdMb2FkaW5nQmFyJyxcbiAgICBwcm9wczoge1xuICAgICAgICBjb2xvcjoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJ3ByaW1hcnknXG4gICAgICAgIH0sXG4gICAgICAgIGZhaWxlZENvbG9yOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiAnZXJyb3InXG4gICAgICAgIH0sXG4gICAgICAgIGhlaWdodDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgZGVmYXVsdDogMlxuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcGVyY2VudDogMCxcblxuICAgICAgICAgICAgc3RhdHVzOiAnc3VjY2VzcycsXG4gICAgICAgICAgICBzaG93OiBmYWxzZVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuICcnICsgcHJlZml4Q2xzO1xuICAgICAgICB9LFxuICAgICAgICBpbm5lckNsYXNzZXM6IGZ1bmN0aW9uIGlubmVyQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHZhciBfcmVmO1xuXG4gICAgICAgICAgICByZXR1cm4gW3ByZWZpeENscyArICctaW5uZXInLCAoX3JlZiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLWlubmVyLWNvbG9yLXByaW1hcnknLCB0aGlzLmNvbG9yID09PSAncHJpbWFyeScgJiYgdGhpcy5zdGF0dXMgPT09ICdzdWNjZXNzJyksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctaW5uZXItZmFpbGVkLWNvbG9yLWVycm9yJywgdGhpcy5mYWlsZWRDb2xvciA9PT0gJ2Vycm9yJyAmJiB0aGlzLnN0YXR1cyA9PT0gJ2Vycm9yJyksIF9yZWYpXTtcbiAgICAgICAgfSxcbiAgICAgICAgb3V0ZXJTdHlsZXM6IGZ1bmN0aW9uIG91dGVyU3R5bGVzKCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IFN0cmluZyh0aGlzLmhlaWdodCkgKyAncHgnXG4gICAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgICBzdHlsZXM6IGZ1bmN0aW9uIHN0eWxlcygpIHtcbiAgICAgICAgICAgIHZhciBzdHlsZSA9IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogU3RyaW5nKHRoaXMucGVyY2VudCkgKyAnJScsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBTdHJpbmcodGhpcy5oZWlnaHQpICsgJ3B4J1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuY29sb3IgIT09ICdwcmltYXJ5JyAmJiB0aGlzLnN0YXR1cyA9PT0gJ3N1Y2Nlc3MnKSB7XG4gICAgICAgICAgICAgICAgc3R5bGUuYmFja2dyb3VuZENvbG9yID0gdGhpcy5jb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuZmFpbGVkQ29sb3IgIT09ICdlcnJvcicgJiYgdGhpcy5zdGF0dXMgPT09ICdlcnJvcicpIHtcbiAgICAgICAgICAgICAgICBzdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLmZhaWxlZENvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDE5OCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX3RvQ29uc3VtYWJsZUFycmF5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMTYpO1xuXG52YXIgX3RvQ29uc3VtYWJsZUFycmF5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RvQ29uc3VtYWJsZUFycmF5Mik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG52YXIgX2Fzc2lzdCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbnZhciBfZW1pdHRlciA9IF9fd2VicGFja19yZXF1aXJlX18oNCk7XG5cbnZhciBfZW1pdHRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9lbWl0dGVyKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtbWVudSc7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnTWVudScsXG4gICAgbWl4aW5zOiBbX2VtaXR0ZXIyLmRlZmF1bHRdLFxuICAgIHByb3BzOiB7XG4gICAgICAgIG1vZGU6IHtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWydob3Jpem9udGFsJywgJ3ZlcnRpY2FsJ10pO1xuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgZGVmYXVsdDogJ3ZlcnRpY2FsJ1xuICAgICAgICB9LFxuICAgICAgICB0aGVtZToge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ2xpZ2h0JywgJ2RhcmsnLCAncHJpbWFyeSddKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGRlZmF1bHQ6ICdsaWdodCdcbiAgICAgICAgfSxcbiAgICAgICAgYWN0aXZlTmFtZToge1xuICAgICAgICAgICAgdHlwZTogW1N0cmluZywgTnVtYmVyXVxuICAgICAgICB9LFxuICAgICAgICBvcGVuTmFtZXM6IHtcbiAgICAgICAgICAgIHR5cGU6IEFycmF5LFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBhY2NvcmRpb246IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICB3aWR0aDoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJzI0MHB4J1xuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY3VycmVudEFjdGl2ZU5hbWU6IHRoaXMuYWN0aXZlTmFtZSxcbiAgICAgICAgICAgIG9wZW5lZE5hbWVzOiBbXVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIHRoZW1lID0gdGhpcy50aGVtZTtcbiAgICAgICAgICAgIGlmICh0aGlzLm1vZGUgPT09ICd2ZXJ0aWNhbCcgJiYgdGhpcy50aGVtZSA9PT0gJ3ByaW1hcnknKSB0aGVtZSA9ICdsaWdodCc7XG5cbiAgICAgICAgICAgIHJldHVybiBbJycgKyBwcmVmaXhDbHMsIHByZWZpeENscyArICctJyArIFN0cmluZyh0aGVtZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKHt9LCBwcmVmaXhDbHMgKyAnLScgKyBTdHJpbmcodGhpcy5tb2RlKSwgdGhpcy5tb2RlKV07XG4gICAgICAgIH0sXG4gICAgICAgIHN0eWxlczogZnVuY3Rpb24gc3R5bGVzKCkge1xuICAgICAgICAgICAgdmFyIHN0eWxlID0ge307XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm1vZGUgPT09ICd2ZXJ0aWNhbCcpIHN0eWxlLndpZHRoID0gdGhpcy53aWR0aDtcblxuICAgICAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIHVwZGF0ZUFjdGl2ZU5hbWU6IGZ1bmN0aW9uIHVwZGF0ZUFjdGl2ZU5hbWUoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50QWN0aXZlTmFtZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50QWN0aXZlTmFtZSA9IC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5icm9hZGNhc3QoJ1N1Ym1lbnUnLCAnb24tdXBkYXRlLWFjdGl2ZS1uYW1lJywgZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5icm9hZGNhc3QoJ01lbnVJdGVtJywgJ29uLXVwZGF0ZS1hY3RpdmUtbmFtZScsIHRoaXMuY3VycmVudEFjdGl2ZU5hbWUpO1xuICAgICAgICB9LFxuICAgICAgICB1cGRhdGVPcGVuS2V5czogZnVuY3Rpb24gdXBkYXRlT3BlbktleXMobmFtZSkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIG5hbWVzID0gW10uY29uY2F0KCgwLCBfdG9Db25zdW1hYmxlQXJyYXkzLmRlZmF1bHQpKHRoaXMub3BlbmVkTmFtZXMpKTtcbiAgICAgICAgICAgIHZhciBpbmRleCA9IG5hbWVzLmluZGV4T2YobmFtZSk7XG4gICAgICAgICAgICBpZiAodGhpcy5hY2NvcmRpb24pICgwLCBfYXNzaXN0LmZpbmRDb21wb25lbnRzRG93bndhcmQpKHRoaXMsICdTdWJtZW51JykuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgaXRlbS5vcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgICAgIHZhciBjdXJyZW50U3VibWVudSA9IG51bGw7XG4gICAgICAgICAgICAgICAgKDAsIF9hc3Npc3QuZmluZENvbXBvbmVudHNEb3dud2FyZCkodGhpcywgJ1N1Ym1lbnUnKS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLm5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRTdWJtZW51ID0gaXRlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BlbmVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgICgwLCBfYXNzaXN0LmZpbmRDb21wb25lbnRzVXB3YXJkKShjdXJyZW50U3VibWVudSwgJ1N1Ym1lbnUnKS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BlbmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgICgwLCBfYXNzaXN0LmZpbmRDb21wb25lbnRzRG93bndhcmQpKGN1cnJlbnRTdWJtZW51LCAnU3VibWVudScpLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5hY2NvcmRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9jdXJyZW50U3VibWVudSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfYXNzaXN0LmZpbmRDb21wb25lbnRzRG93bndhcmQpKHRoaXMsICdTdWJtZW51JykuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLm5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfY3VycmVudFN1Ym1lbnUgPSBpdGVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BlbmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9hc3Npc3QuZmluZENvbXBvbmVudHNVcHdhcmQpKF9jdXJyZW50U3VibWVudSwgJ1N1Ym1lbnUnKS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGVuZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfYXNzaXN0LmZpbmRDb21wb25lbnRzRG93bndhcmQpKHRoaXMsICdTdWJtZW51JykuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLm5hbWUgPT09IG5hbWUpIGl0ZW0ub3BlbmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgb3BlbmVkTmFtZXMgPSAoMCwgX2Fzc2lzdC5maW5kQ29tcG9uZW50c0Rvd253YXJkKSh0aGlzLCAnU3VibWVudScpLmZpbHRlcihmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLm9wZW5lZDtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSkubWFwKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0ubmFtZTtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB0aGlzLm9wZW5lZE5hbWVzID0gW10uY29uY2F0KCgwLCBfdG9Db25zdW1hYmxlQXJyYXkzLmRlZmF1bHQpKG9wZW5lZE5hbWVzKSk7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1vcGVuLWNoYW5nZScsIG9wZW5lZE5hbWVzKTtcbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlT3BlbmVkOiBmdW5jdGlvbiB1cGRhdGVPcGVuZWQoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIGl0ZW1zID0gKDAsIF9hc3Npc3QuZmluZENvbXBvbmVudHNEb3dud2FyZCkodGhpcywgJ1N1Ym1lbnUnKTtcblxuICAgICAgICAgICAgaWYgKGl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGl0ZW1zLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczIpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wZW5lZE5hbWVzLmluZGV4T2YoaXRlbS5uYW1lKSA+IC0xKSBpdGVtLm9wZW5lZCA9IHRydWU7ZWxzZSBpdGVtLm9wZW5lZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUVtaXRTZWxlY3RFdmVudDogZnVuY3Rpb24gaGFuZGxlRW1pdFNlbGVjdEV2ZW50KG5hbWUpIHtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLXNlbGVjdCcsIG5hbWUpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgICB2YXIgX3RoaXMzID0gdGhpcztcblxuICAgICAgICB0aGlzLm9wZW5lZE5hbWVzID0gW10uY29uY2F0KCgwLCBfdG9Db25zdW1hYmxlQXJyYXkzLmRlZmF1bHQpKHRoaXMub3Blbk5hbWVzKSk7XG4gICAgICAgIHRoaXMudXBkYXRlT3BlbmVkKCk7XG4gICAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMzKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnVwZGF0ZUFjdGl2ZU5hbWUoKTtcbiAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgdGhpcy4kb24oJ29uLW1lbnUtaXRlbS1zZWxlY3QnLCBmdW5jdGlvbiAobmFtZSkge1xuICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczMpO1xuXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRBY3RpdmVOYW1lID0gbmFtZTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLXNlbGVjdCcsIG5hbWUpO1xuICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgIH0sXG5cbiAgICB3YXRjaDoge1xuICAgICAgICBvcGVuTmFtZXM6IGZ1bmN0aW9uIG9wZW5OYW1lcyhuYW1lcykge1xuICAgICAgICAgICAgdGhpcy5vcGVuZWROYW1lcyA9IG5hbWVzO1xuICAgICAgICB9LFxuICAgICAgICBhY3RpdmVOYW1lOiBmdW5jdGlvbiBhY3RpdmVOYW1lKHZhbCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50QWN0aXZlTmFtZSA9IHZhbDtcbiAgICAgICAgfSxcbiAgICAgICAgY3VycmVudEFjdGl2ZU5hbWU6IGZ1bmN0aW9uIGN1cnJlbnRBY3RpdmVOYW1lKCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVOYW1lKCk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDE5OSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbWl4aW4gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDgyKTtcblxudmFyIF9taXhpbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9taXhpbik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhDbHMgPSAnaXZ1LW1lbnUnO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ01lbnVHcm91cCcsXG4gICAgbWl4aW5zOiBbX21peGluMi5kZWZhdWx0XSxcbiAgICBwcm9wczoge1xuICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJydcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByZWZpeENsczogcHJlZml4Q2xzXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGdyb3VwU3R5bGU6IGZ1bmN0aW9uIGdyb3VwU3R5bGUoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5oYXNQYXJlbnRTdWJtZW51ICYmIHRoaXMubW9kZSAhPT0gJ2hvcml6b250YWwnID8ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmdMZWZ0OiA0MyArICh0aGlzLnBhcmVudFN1Ym1lbnVOdW0gLSAxKSAqIDI4ICsgJ3B4J1xuICAgICAgICAgICAgfSA6IHt9O1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAyMDAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbnZhciBfZW1pdHRlciA9IF9fd2VicGFja19yZXF1aXJlX18oNCk7XG5cbnZhciBfZW1pdHRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9lbWl0dGVyKTtcblxudmFyIF9hc3Npc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXG52YXIgX21peGluID0gX193ZWJwYWNrX3JlcXVpcmVfXyg4Mik7XG5cbnZhciBfbWl4aW4yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbWl4aW4pO1xuXG52YXIgX2xpbmsgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU1KTtcblxudmFyIF9saW5rMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2xpbmspO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1tZW51JztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdNZW51SXRlbScsXG4gICAgbWl4aW5zOiBbX2VtaXR0ZXIyLmRlZmF1bHQsIF9taXhpbjIuZGVmYXVsdCwgX2xpbmsyLmRlZmF1bHRdLFxuICAgIHByb3BzOiB7XG4gICAgICAgIG5hbWU6IHtcbiAgICAgICAgICAgIHR5cGU6IFtTdHJpbmcsIE51bWJlcl0sXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBkaXNhYmxlZDoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBhY3RpdmU6IGZhbHNlXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGNsYXNzZXM6IGZ1bmN0aW9uIGNsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjtcblxuICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXhDbHMgKyAnLWl0ZW0nLCAoX3JlZiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLWl0ZW0tYWN0aXZlJywgdGhpcy5hY3RpdmUpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLWl0ZW0tc2VsZWN0ZWQnLCB0aGlzLmFjdGl2ZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctaXRlbS1kaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQpLCBfcmVmKV07XG4gICAgICAgIH0sXG4gICAgICAgIGl0ZW1TdHlsZTogZnVuY3Rpb24gaXRlbVN0eWxlKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFzUGFyZW50U3VibWVudSAmJiB0aGlzLm1vZGUgIT09ICdob3Jpem9udGFsJyA/IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nTGVmdDogNDMgKyAodGhpcy5wYXJlbnRTdWJtZW51TnVtIC0gMSkgKiAyNCArICdweCdcbiAgICAgICAgICAgIH0gOiB7fTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgICBoYW5kbGVDbGlja0l0ZW06IGZ1bmN0aW9uIGhhbmRsZUNsaWNrSXRlbShldmVudCkge1xuICAgICAgICAgICAgdmFyIG5ld193aW5kb3cgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGZhbHNlO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgICAgICAgICBpZiAobmV3X3dpbmRvdyB8fCB0aGlzLnRhcmdldCA9PT0gJ19ibGFuaycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUNoZWNrQ2xpY2soZXZlbnQsIG5ld193aW5kb3cpO1xuICAgICAgICAgICAgICAgIHZhciBwYXJlbnRNZW51ID0gKDAsIF9hc3Npc3QuZmluZENvbXBvbmVudFVwd2FyZCkodGhpcywgJ01lbnUnKTtcbiAgICAgICAgICAgICAgICBpZiAocGFyZW50TWVudSkgcGFyZW50TWVudS5oYW5kbGVFbWl0U2VsZWN0RXZlbnQodGhpcy5uYW1lKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFyIHBhcmVudCA9ICgwLCBfYXNzaXN0LmZpbmRDb21wb25lbnRVcHdhcmQpKHRoaXMsICdTdWJtZW51Jyk7XG5cbiAgICAgICAgICAgICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2goJ1N1Ym1lbnUnLCAnb24tbWVudS1pdGVtLXNlbGVjdCcsIHRoaXMubmFtZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNwYXRjaCgnTWVudScsICdvbi1tZW51LWl0ZW0tc2VsZWN0JywgdGhpcy5uYW1lKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUNoZWNrQ2xpY2soZXZlbnQsIG5ld193aW5kb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgIHRoaXMuJG9uKCdvbi11cGRhdGUtYWN0aXZlLW5hbWUnLCBmdW5jdGlvbiAobmFtZSkge1xuICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwYXRjaCgnU3VibWVudScsICdvbi11cGRhdGUtYWN0aXZlLW5hbWUnLCBuYW1lKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDIwMSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9kcm9wZG93biA9IF9fd2VicGFja19yZXF1aXJlX18oMzMpO1xuXG52YXIgX2Ryb3Bkb3duMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2Ryb3Bkb3duKTtcblxudmFyIF9pY29uID0gX193ZWJwYWNrX3JlcXVpcmVfXyg4KTtcblxudmFyIF9pY29uMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2ljb24pO1xuXG52YXIgX2NvbGxhcHNlVHJhbnNpdGlvbiA9IF9fd2VicGFja19yZXF1aXJlX18oNzUpO1xuXG52YXIgX2NvbGxhcHNlVHJhbnNpdGlvbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jb2xsYXBzZVRyYW5zaXRpb24pO1xuXG52YXIgX2Fzc2lzdCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbnZhciBfZW1pdHRlciA9IF9fd2VicGFja19yZXF1aXJlX18oNCk7XG5cbnZhciBfZW1pdHRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9lbWl0dGVyKTtcblxudmFyIF9taXhpbiA9IF9fd2VicGFja19yZXF1aXJlX18oODIpO1xuXG52YXIgX21peGluMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX21peGluKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtbWVudSc7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnU3VibWVudScsXG4gICAgbWl4aW5zOiBbX2VtaXR0ZXIyLmRlZmF1bHQsIF9taXhpbjIuZGVmYXVsdF0sXG4gICAgY29tcG9uZW50czogeyBJY29uOiBfaWNvbjIuZGVmYXVsdCwgRHJvcDogX2Ryb3Bkb3duMi5kZWZhdWx0LCBDb2xsYXBzZVRyYW5zaXRpb246IF9jb2xsYXBzZVRyYW5zaXRpb24yLmRlZmF1bHQgfSxcbiAgICBwcm9wczoge1xuICAgICAgICBuYW1lOiB7XG4gICAgICAgICAgICB0eXBlOiBbU3RyaW5nLCBOdW1iZXJdLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgZGlzYWJsZWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcHJlZml4Q2xzOiBwcmVmaXhDbHMsXG4gICAgICAgICAgICBhY3RpdmU6IGZhbHNlLFxuICAgICAgICAgICAgb3BlbmVkOiBmYWxzZSxcbiAgICAgICAgICAgIGRyb3BXaWR0aDogcGFyc2VGbG9hdCgoMCwgX2Fzc2lzdC5nZXRTdHlsZSkodGhpcy4kZWwsICd3aWR0aCcpKVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWY7XG5cbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy1zdWJtZW51JywgKF9yZWYgPSB7fSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1pdGVtLWFjdGl2ZScsIHRoaXMuYWN0aXZlICYmICF0aGlzLmhhc1BhcmVudFN1Ym1lbnUpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLW9wZW5lZCcsIHRoaXMub3BlbmVkKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1zdWJtZW51LWRpc2FibGVkJywgdGhpcy5kaXNhYmxlZCksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctc3VibWVudS1oYXMtcGFyZW50LXN1Ym1lbnUnLCB0aGlzLmhhc1BhcmVudFN1Ym1lbnUpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLWNoaWxkLWl0ZW0tYWN0aXZlJywgdGhpcy5hY3RpdmUpLCBfcmVmKV07XG4gICAgICAgIH0sXG4gICAgICAgIGFjY29yZGlvbjogZnVuY3Rpb24gYWNjb3JkaW9uKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubWVudS5hY2NvcmRpb247XG4gICAgICAgIH0sXG4gICAgICAgIGRyb3BTdHlsZTogZnVuY3Rpb24gZHJvcFN0eWxlKCkge1xuICAgICAgICAgICAgdmFyIHN0eWxlID0ge307XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmRyb3BXaWR0aCkgc3R5bGUubWluV2lkdGggPSBTdHJpbmcodGhpcy5kcm9wV2lkdGgpICsgJ3B4JztcbiAgICAgICAgICAgIHJldHVybiBzdHlsZTtcbiAgICAgICAgfSxcbiAgICAgICAgdGl0bGVTdHlsZTogZnVuY3Rpb24gdGl0bGVTdHlsZSgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmhhc1BhcmVudFN1Ym1lbnUgJiYgdGhpcy5tb2RlICE9PSAnaG9yaXpvbnRhbCcgPyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZ0xlZnQ6IDQzICsgKHRoaXMucGFyZW50U3VibWVudU51bSAtIDEpICogMjQgKyAncHgnXG4gICAgICAgICAgICB9IDoge307XG4gICAgICAgIH0sXG4gICAgICAgIGFycm93VHlwZTogZnVuY3Rpb24gYXJyb3dUeXBlKCkge1xuICAgICAgICAgICAgdmFyIHR5cGUgPSAnaW9zLWFycm93LWRvd24nO1xuXG4gICAgICAgICAgICBpZiAodGhpcy4kSVZJRVcpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy4kSVZJRVcubWVudS5jdXN0b21BcnJvdykge1xuICAgICAgICAgICAgICAgICAgICB0eXBlID0gJyc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLiRJVklFVy5tZW51LmFycm93KSB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGUgPSB0aGlzLiRJVklFVy5tZW51LmFycm93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgICB9LFxuICAgICAgICBjdXN0b21BcnJvd1R5cGU6IGZ1bmN0aW9uIGN1c3RvbUFycm93VHlwZSgpIHtcbiAgICAgICAgICAgIHZhciB0eXBlID0gJyc7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLiRJVklFVykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLiRJVklFVy5tZW51LmN1c3RvbUFycm93KSB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGUgPSB0aGlzLiRJVklFVy5tZW51LmN1c3RvbUFycm93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgICB9LFxuICAgICAgICBhcnJvd1NpemU6IGZ1bmN0aW9uIGFycm93U2l6ZSgpIHtcbiAgICAgICAgICAgIHZhciBzaXplID0gJyc7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLiRJVklFVykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLiRJVklFVy5tZW51LmFycm93U2l6ZSkge1xuICAgICAgICAgICAgICAgICAgICBzaXplID0gdGhpcy4kSVZJRVcubWVudS5hcnJvd1NpemU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHNpemU7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgaGFuZGxlTW91c2VlbnRlcjogZnVuY3Rpb24gaGFuZGxlTW91c2VlbnRlcigpIHtcbiAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgICAgICAgICBpZiAodGhpcy5tb2RlID09PSAndmVydGljYWwnKSByZXR1cm47XG5cbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuICAgICAgICAgICAgdGhpcy50aW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLm1lbnUudXBkYXRlT3BlbktleXModGhpcy5uYW1lKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5lZCA9IHRydWU7XG4gICAgICAgICAgICB9LmJpbmQodGhpcyksIDI1MCk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZU1vdXNlbGVhdmU6IGZ1bmN0aW9uIGhhbmRsZU1vdXNlbGVhdmUoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICAgICAgICAgIGlmICh0aGlzLm1vZGUgPT09ICd2ZXJ0aWNhbCcpIHJldHVybjtcblxuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCk7XG4gICAgICAgICAgICB0aGlzLnRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMik7XG5cbiAgICAgICAgICAgICAgICB0aGlzLm1lbnUudXBkYXRlT3BlbktleXModGhpcy5uYW1lKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpLCAxNTApO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVDbGljazogZnVuY3Rpb24gaGFuZGxlQ2xpY2soKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMzID0gdGhpcztcblxuICAgICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICAgICAgICAgIGlmICh0aGlzLm1vZGUgPT09ICdob3Jpem9udGFsJykgcmV0dXJuO1xuICAgICAgICAgICAgdmFyIG9wZW5lZCA9IHRoaXMub3BlbmVkO1xuICAgICAgICAgICAgaWYgKHRoaXMuYWNjb3JkaW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kcGFyZW50LiRjaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMzKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbS4kb3B0aW9ucy5uYW1lID09PSAnU3VibWVudScpIGl0ZW0ub3BlbmVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMub3BlbmVkID0gIW9wZW5lZDtcbiAgICAgICAgICAgIHRoaXMubWVudS51cGRhdGVPcGVuS2V5cyh0aGlzLm5hbWUpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB3YXRjaDoge1xuICAgICAgICBtb2RlOiBmdW5jdGlvbiBtb2RlKHZhbCkge1xuICAgICAgICAgICAgaWYgKHZhbCA9PT0gJ2hvcml6b250YWwnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5kcm9wLnVwZGF0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBvcGVuZWQ6IGZ1bmN0aW9uIG9wZW5lZCh2YWwpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1vZGUgPT09ICd2ZXJ0aWNhbCcpIHJldHVybjtcbiAgICAgICAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRyb3BXaWR0aCA9IHBhcnNlRmxvYXQoKDAsIF9hc3Npc3QuZ2V0U3R5bGUpKHRoaXMuJGVsLCAnd2lkdGgnKSk7XG4gICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5kcm9wLnVwZGF0ZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmRyb3AuZGVzdHJveSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgICB2YXIgX3RoaXM0ID0gdGhpcztcblxuICAgICAgICB0aGlzLiRvbignb24tbWVudS1pdGVtLXNlbGVjdCcsIGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzNCk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm1vZGUgPT09ICdob3Jpem9udGFsJykgdGhpcy5vcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2goJ01lbnUnLCAnb24tbWVudS1pdGVtLXNlbGVjdCcsIG5hbWUpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgIHRoaXMuJG9uKCdvbi11cGRhdGUtYWN0aXZlLW5hbWUnLCBmdW5jdGlvbiAoc3RhdHVzKSB7XG4gICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzNCk7XG5cbiAgICAgICAgICAgIGlmICgoMCwgX2Fzc2lzdC5maW5kQ29tcG9uZW50VXB3YXJkKSh0aGlzLCAnU3VibWVudScpKSB0aGlzLmRpc3BhdGNoKCdTdWJtZW51JywgJ29uLXVwZGF0ZS1hY3RpdmUtbmFtZScsIHN0YXR1cyk7XG4gICAgICAgICAgICBpZiAoKDAsIF9hc3Npc3QuZmluZENvbXBvbmVudHNEb3dud2FyZCkodGhpcywgJ1N1Ym1lbnUnKSkgKDAsIF9hc3Npc3QuZmluZENvbXBvbmVudHNEb3dud2FyZCkodGhpcywgJ1N1Ym1lbnUnKS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczQpO1xuXG4gICAgICAgICAgICAgICAgaXRlbS5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZSA9IHN0YXR1cztcbiAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDIwMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX25vdGlmaWNhdGlvbiA9IF9fd2VicGFja19yZXF1aXJlX18oNTEwKTtcblxudmFyIF9ub3RpZmljYXRpb24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbm90aWZpY2F0aW9uKTtcblxudmFyIF92dWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE1KTtcblxudmFyIF92dWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdnVlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuX25vdGlmaWNhdGlvbjIuZGVmYXVsdC5uZXdJbnN0YW5jZSA9IGZ1bmN0aW9uIChwcm9wZXJ0aWVzKSB7XG4gICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG5cbiAgICB2YXIgX3Byb3BzID0gcHJvcGVydGllcyB8fCB7fTtcblxuICAgIHZhciBJbnN0YW5jZSA9IG5ldyBfdnVlMi5kZWZhdWx0KHtcbiAgICAgICAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCkge1xuICAgICAgICAgICAgcmV0dXJuIGgoX25vdGlmaWNhdGlvbjIuZGVmYXVsdCwge1xuICAgICAgICAgICAgICAgIHByb3BzOiBfcHJvcHNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICB2YXIgY29tcG9uZW50ID0gSW5zdGFuY2UuJG1vdW50KCk7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjb21wb25lbnQuJGVsKTtcbiAgICB2YXIgbm90aWZpY2F0aW9uID0gSW5zdGFuY2UuJGNoaWxkcmVuWzBdO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgbm90aWNlOiBmdW5jdGlvbiBub3RpY2Uobm90aWNlUHJvcHMpIHtcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5hZGQobm90aWNlUHJvcHMpO1xuICAgICAgICB9LFxuICAgICAgICByZW1vdmU6IGZ1bmN0aW9uIHJlbW92ZShuYW1lKSB7XG4gICAgICAgICAgICBub3RpZmljYXRpb24uY2xvc2UobmFtZSk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgY29tcG9uZW50OiBub3RpZmljYXRpb24sXG4gICAgICAgIGRlc3Ryb3k6IGZ1bmN0aW9uIGRlc3Ryb3koZWxlbWVudCkge1xuICAgICAgICAgICAgbm90aWZpY2F0aW9uLmNsb3NlQWxsKCk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoZWxlbWVudClbMF0pO1xuICAgICAgICAgICAgfSwgNTAwKTtcbiAgICAgICAgfVxuICAgIH07XG59LmJpbmQodW5kZWZpbmVkKTtcblxuZXhwb3J0cy5kZWZhdWx0ID0gX25vdGlmaWNhdGlvbjIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiAyMDMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2Fzc2lnbiA9IF9fd2VicGFja19yZXF1aXJlX18oMTQpO1xuXG52YXIgX2Fzc2lnbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hc3NpZ24pO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9ub3RpY2UyID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1MTEpO1xuXG52YXIgX25vdGljZTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9ub3RpY2UyKTtcblxudmFyIF90cmFuc2ZlclF1ZXVlID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNCk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhDbHMgPSAnaXZ1LW5vdGlmaWNhdGlvbic7XG52YXIgc2VlZCA9IDA7XG52YXIgbm93ID0gRGF0ZS5ub3coKTtcblxuZnVuY3Rpb24gZ2V0VXVpZCgpIHtcbiAgICByZXR1cm4gJ2l2dU5vdGlmaWNhdGlvbl8nICsgbm93ICsgJ18nICsgc2VlZCsrO1xufVxuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgY29tcG9uZW50czogeyBOb3RpY2U6IF9ub3RpY2UzLmRlZmF1bHQgfSxcbiAgICBwcm9wczoge1xuICAgICAgICBwcmVmaXhDbHM6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IHByZWZpeENsc1xuICAgICAgICB9LFxuICAgICAgICBzdHlsZXM6IHtcbiAgICAgICAgICAgIHR5cGU6IE9iamVjdCxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogJzY1cHgnLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAnNTAlJ1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRlbnQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZ1xuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWU6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZ1xuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbm90aWNlczogW10sXG4gICAgICAgICAgICB0SW5kZXg6IHRoaXMuaGFuZGxlR2V0SW5kZXgoKVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFsnJyArIFN0cmluZyh0aGlzLnByZWZpeENscyksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKHt9LCAnJyArIFN0cmluZyh0aGlzLmNsYXNzTmFtZSksICEhdGhpcy5jbGFzc05hbWUpXTtcbiAgICAgICAgfSxcbiAgICAgICAgd3JhcFN0eWxlczogZnVuY3Rpb24gd3JhcFN0eWxlcygpIHtcbiAgICAgICAgICAgIHZhciBzdHlsZXMgPSAoMCwgX2Fzc2lnbjIuZGVmYXVsdCkoe30sIHRoaXMuc3R5bGVzKTtcbiAgICAgICAgICAgIHN0eWxlc1snei1pbmRleCddID0gMTAxMCArIHRoaXMudEluZGV4O1xuXG4gICAgICAgICAgICByZXR1cm4gc3R5bGVzO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGFkZDogZnVuY3Rpb24gYWRkKG5vdGljZSkge1xuICAgICAgICAgICAgdmFyIG5hbWUgPSBub3RpY2UubmFtZSB8fCBnZXRVdWlkKCk7XG5cbiAgICAgICAgICAgIHZhciBfbm90aWNlID0gKDAsIF9hc3NpZ24yLmRlZmF1bHQpKHtcbiAgICAgICAgICAgICAgICBzdHlsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICc1MCUnXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJyxcbiAgICAgICAgICAgICAgICBkdXJhdGlvbjogMS41LFxuICAgICAgICAgICAgICAgIGNsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBuYW1lOiBuYW1lXG4gICAgICAgICAgICB9LCBub3RpY2UpO1xuXG4gICAgICAgICAgICB0aGlzLm5vdGljZXMucHVzaChfbm90aWNlKTtcbiAgICAgICAgICAgIHRoaXMudEluZGV4ID0gdGhpcy5oYW5kbGVHZXRJbmRleCgpO1xuICAgICAgICB9LFxuICAgICAgICBjbG9zZTogZnVuY3Rpb24gY2xvc2UobmFtZSkge1xuICAgICAgICAgICAgdmFyIG5vdGljZXMgPSB0aGlzLm5vdGljZXM7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vdGljZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAobm90aWNlc1tpXS5uYW1lID09PSBuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm90aWNlcy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgY2xvc2VBbGw6IGZ1bmN0aW9uIGNsb3NlQWxsKCkge1xuICAgICAgICAgICAgdGhpcy5ub3RpY2VzID0gW107XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUdldEluZGV4OiBmdW5jdGlvbiBoYW5kbGVHZXRJbmRleCgpIHtcbiAgICAgICAgICAgICgwLCBfdHJhbnNmZXJRdWV1ZS50cmFuc2ZlckluY3JlYXNlKSgpO1xuICAgICAgICAgICAgcmV0dXJuIF90cmFuc2ZlclF1ZXVlLnRyYW5zZmVySW5kZXg7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDIwNCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9yZW5kZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIwNSk7XG5cbnZhciBfcmVuZGVyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3JlbmRlcik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBjb21wb25lbnRzOiB7XG4gICAgICAgIFJlbmRlckNlbGw6IF9yZW5kZXIyLmRlZmF1bHRcbiAgICB9LFxuICAgIHByb3BzOiB7XG4gICAgICAgIHByZWZpeENsczoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJydcbiAgICAgICAgfSxcbiAgICAgICAgZHVyYXRpb246IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIGRlZmF1bHQ6IDEuNVxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgY29udGVudDoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJydcbiAgICAgICAgfSxcbiAgICAgICAgd2l0aEljb246IEJvb2xlYW4sXG4gICAgICAgIHJlbmRlcjoge1xuICAgICAgICAgICAgdHlwZTogRnVuY3Rpb25cbiAgICAgICAgfSxcbiAgICAgICAgaGFzVGl0bGU6IEJvb2xlYW4sXG4gICAgICAgIHN0eWxlczoge1xuICAgICAgICAgICAgdHlwZTogT2JqZWN0LFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICc1MCUnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgY2xvc2FibGU6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWU6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZ1xuICAgICAgICB9LFxuICAgICAgICBuYW1lOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBvbkNsb3NlOiB7XG4gICAgICAgICAgICB0eXBlOiBGdW5jdGlvblxuICAgICAgICB9LFxuICAgICAgICB0cmFuc2l0aW9uTmFtZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB3aXRoRGVzYzogZmFsc2VcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgYmFzZUNsYXNzOiBmdW5jdGlvbiBiYXNlQ2xhc3MoKSB7XG4gICAgICAgICAgICByZXR1cm4gU3RyaW5nKHRoaXMucHJlZml4Q2xzKSArICctbm90aWNlJztcbiAgICAgICAgfSxcbiAgICAgICAgcmVuZGVyRnVuYzogZnVuY3Rpb24gcmVuZGVyRnVuYygpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJlbmRlciB8fCBmdW5jdGlvbiAoKSB7fTtcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NlczogZnVuY3Rpb24gY2xhc3NlcygpIHtcbiAgICAgICAgICAgIHZhciBfcmVmO1xuXG4gICAgICAgICAgICByZXR1cm4gW3RoaXMuYmFzZUNsYXNzLCAoX3JlZiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCAnJyArIFN0cmluZyh0aGlzLmNsYXNzTmFtZSksICEhdGhpcy5jbGFzc05hbWUpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBTdHJpbmcodGhpcy5iYXNlQ2xhc3MpICsgJy1jbG9zYWJsZScsIHRoaXMuY2xvc2FibGUpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBTdHJpbmcodGhpcy5iYXNlQ2xhc3MpICsgJy13aXRoLWRlc2MnLCB0aGlzLndpdGhEZXNjKSwgX3JlZildO1xuICAgICAgICB9LFxuICAgICAgICBjb250ZW50Q2xhc3NlczogZnVuY3Rpb24gY29udGVudENsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gW1N0cmluZyh0aGlzLmJhc2VDbGFzcykgKyAnLWNvbnRlbnQnLCB0aGlzLnJlbmRlciAhPT0gdW5kZWZpbmVkID8gU3RyaW5nKHRoaXMuYmFzZUNsYXNzKSArICctY29udGVudC13aXRoLXJlbmRlcicgOiAnJ107XG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRlbnRXaXRoSWNvbjogZnVuY3Rpb24gY29udGVudFdpdGhJY29uKCkge1xuICAgICAgICAgICAgcmV0dXJuIFt0aGlzLndpdGhJY29uID8gU3RyaW5nKHRoaXMucHJlZml4Q2xzKSArICctY29udGVudC13aXRoLWljb24nIDogJycsICF0aGlzLmhhc1RpdGxlICYmIHRoaXMud2l0aEljb24gPyBTdHJpbmcodGhpcy5wcmVmaXhDbHMpICsgJy1jb250ZW50LXdpdGgtcmVuZGVyLW5vdGl0bGUnIDogJyddO1xuICAgICAgICB9LFxuICAgICAgICBtZXNzYWdlQ2xhc3NlczogZnVuY3Rpb24gbWVzc2FnZUNsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gW1N0cmluZyh0aGlzLmJhc2VDbGFzcykgKyAnLWNvbnRlbnQnLCB0aGlzLnJlbmRlciAhPT0gdW5kZWZpbmVkID8gU3RyaW5nKHRoaXMuYmFzZUNsYXNzKSArICctY29udGVudC13aXRoLXJlbmRlcicgOiAnJ107XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgY2xlYXJDbG9zZVRpbWVyOiBmdW5jdGlvbiBjbGVhckNsb3NlVGltZXIoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jbG9zZVRpbWVyKSB7XG4gICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2VUaW1lcik7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZVRpbWVyID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgY2xvc2U6IGZ1bmN0aW9uIGNsb3NlKCkge1xuICAgICAgICAgICAgdGhpcy5jbGVhckNsb3NlVGltZXIoKTtcbiAgICAgICAgICAgIHRoaXMub25DbG9zZSgpO1xuICAgICAgICAgICAgdGhpcy4kcGFyZW50LmNsb3NlKHRoaXMubmFtZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUVudGVyOiBmdW5jdGlvbiBoYW5kbGVFbnRlcihlbCkge1xuICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ21lc3NhZ2UnKSB7XG4gICAgICAgICAgICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gZWwuc2Nyb2xsSGVpZ2h0ICsgJ3B4JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlTGVhdmU6IGZ1bmN0aW9uIGhhbmRsZUxlYXZlKGVsKSB7XG4gICAgICAgICAgICBpZiAodGhpcy50eXBlID09PSAnbWVzc2FnZScpIHtcbiAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaXZ1LW1lc3NhZ2Utbm90aWNlJykubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmhlaWdodCA9IDA7XG4gICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLnBhZGRpbmdUb3AgPSAwO1xuICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5wYWRkaW5nQm90dG9tID0gMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgICAgdGhpcy5jbGVhckNsb3NlVGltZXIoKTtcblxuICAgICAgICBpZiAodGhpcy5kdXJhdGlvbiAhPT0gMCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcyksIHRoaXMuZHVyYXRpb24gKiAxMDAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnByZWZpeENscyA9PT0gJ2l2dS1ub3RpY2UnKSB7XG4gICAgICAgICAgICB2YXIgZGVzYyA9IHRoaXMuJHJlZnMuY29udGVudC5xdWVyeVNlbGVjdG9yQWxsKCcuJyArIFN0cmluZyh0aGlzLnByZWZpeENscykgKyAnLWRlc2MnKVswXTtcbiAgICAgICAgICAgIHRoaXMud2l0aERlc2MgPSB0aGlzLnJlbmRlciA/IHRydWUgOiBkZXNjID8gZGVzYy5pbm5lckhUTUwgIT09ICcnIDogZmFsc2U7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGJlZm9yZURlc3Ryb3k6IGZ1bmN0aW9uIGJlZm9yZURlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuY2xlYXJDbG9zZVRpbWVyKCk7XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAyMDUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdSZW5kZXJDZWxsJyxcbiAgICBmdW5jdGlvbmFsOiB0cnVlLFxuICAgIHByb3BzOiB7XG4gICAgICAgIHJlbmRlcjogRnVuY3Rpb25cbiAgICB9LFxuICAgIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIGN0eCkge1xuICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcblxuICAgICAgICByZXR1cm4gY3R4LnByb3BzLnJlbmRlcihoKTtcbiAgICB9LmJpbmQodW5kZWZpbmVkKVxufTtcblxuLyoqKi8gfSksXG4vKiAyMDYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF9hc3NpZ24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE0KTtcblxudmFyIF9hc3NpZ24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfYXNzaWduKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbnZhciBfaWNvbiA9IF9fd2VicGFja19yZXF1aXJlX18oMjApO1xuXG52YXIgX2ljb24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaWNvbik7XG5cbnZhciBfYnV0dG9uID0gX193ZWJwYWNrX3JlcXVpcmVfXygyNCk7XG5cbnZhciBfYnV0dG9uMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2J1dHRvbik7XG5cbnZhciBfdHJhbnNmZXJEb20gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIxKTtcblxudmFyIF90cmFuc2ZlckRvbTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90cmFuc2ZlckRvbSk7XG5cbnZhciBfbG9jYWxlID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1KTtcblxudmFyIF9sb2NhbGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbG9jYWxlKTtcblxudmFyIF9lbWl0dGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0KTtcblxudmFyIF9lbWl0dGVyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2VtaXR0ZXIpO1xuXG52YXIgX21peGluc1Njcm9sbGJhciA9IF9fd2VicGFja19yZXF1aXJlX18oNzkpO1xuXG52YXIgX21peGluc1Njcm9sbGJhcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9taXhpbnNTY3JvbGxiYXIpO1xuXG52YXIgX2RvbSA9IF9fd2VicGFja19yZXF1aXJlX18oMTMpO1xuXG52YXIgX2Fzc2lzdCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbnZhciBfdHJhbnNmZXJRdWV1ZSA9IF9fd2VicGFja19yZXF1aXJlX18oMzQpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1tb2RhbCc7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnTW9kYWwnLFxuICAgIG1peGluczogW19sb2NhbGUyLmRlZmF1bHQsIF9lbWl0dGVyMi5kZWZhdWx0LCBfbWl4aW5zU2Nyb2xsYmFyMi5kZWZhdWx0XSxcbiAgICBjb21wb25lbnRzOiB7IEljb246IF9pY29uMi5kZWZhdWx0LCBpQnV0dG9uOiBfYnV0dG9uMi5kZWZhdWx0IH0sXG4gICAgZGlyZWN0aXZlczogeyBUcmFuc2ZlckRvbTogX3RyYW5zZmVyRG9tMi5kZWZhdWx0IH0sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBjbG9zYWJsZToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgbWFza0Nsb3NhYmxlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICF0aGlzLiRJVklFVyB8fCB0aGlzLiRJVklFVy5tb2RhbC5tYXNrQ2xvc2FibGUgPT09ICcnID8gdHJ1ZSA6IHRoaXMuJElWSUVXLm1vZGFsLm1hc2tDbG9zYWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZ1xuICAgICAgICB9LFxuICAgICAgICB3aWR0aDoge1xuICAgICAgICAgICAgdHlwZTogW051bWJlciwgU3RyaW5nXSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDUyMFxuICAgICAgICB9LFxuICAgICAgICBva1RleHQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZ1xuICAgICAgICB9LFxuICAgICAgICBjYW5jZWxUZXh0OiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgbG9hZGluZzoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHN0eWxlczoge1xuICAgICAgICAgICAgdHlwZTogT2JqZWN0LFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWU6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZ1xuICAgICAgICB9LFxuXG4gICAgICAgIGZvb3RlckhpZGU6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBzY3JvbGxhYmxlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgdHJhbnNpdGlvbk5hbWVzOiB7XG4gICAgICAgICAgICB0eXBlOiBBcnJheSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBbJ2Vhc2UnLCAnZmFkZSddO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB0cmFuc2Zlcjoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAhdGhpcy4kSVZJRVcgfHwgdGhpcy4kSVZJRVcudHJhbnNmZXIgPT09ICcnID8gdHJ1ZSA6IHRoaXMuJElWSUVXLnRyYW5zZmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBmdWxsc2NyZWVuOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgbWFzazoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgZHJhZ2dhYmxlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgekluZGV4OiB7XG4gICAgICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgICAgICBkZWZhdWx0OiAxMDAwXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVmaXhDbHM6IHByZWZpeENscyxcbiAgICAgICAgICAgIHdyYXBTaG93OiBmYWxzZSxcbiAgICAgICAgICAgIHNob3dIZWFkOiB0cnVlLFxuICAgICAgICAgICAgYnV0dG9uTG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgICB2aXNpYmxlOiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgZHJhZ0RhdGE6IHtcbiAgICAgICAgICAgICAgICB4OiBudWxsLFxuICAgICAgICAgICAgICAgIHk6IG51bGwsXG4gICAgICAgICAgICAgICAgZHJhZ1g6IG51bGwsXG4gICAgICAgICAgICAgICAgZHJhZ1k6IG51bGwsXG4gICAgICAgICAgICAgICAgZHJhZ2dpbmc6IGZhbHNlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbW9kYWxJbmRleDogdGhpcy5oYW5kbGVHZXRNb2RhbEluZGV4KCksXG4gICAgICAgICAgICBpc01vdXNlVHJpZ2dlckluOiBmYWxzZSB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICB3cmFwQ2xhc3NlczogZnVuY3Rpb24gd3JhcENsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjtcblxuICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXhDbHMgKyAnLXdyYXAnLCAoX3JlZiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLWhpZGRlbicsICF0aGlzLndyYXBTaG93KSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgJycgKyBTdHJpbmcodGhpcy5jbGFzc05hbWUpLCAhIXRoaXMuY2xhc3NOYW1lKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1uby1tYXNrJywgIXRoaXMuc2hvd01hc2spLCBfcmVmKV07XG4gICAgICAgIH0sXG4gICAgICAgIHdyYXBTdHlsZXM6IGZ1bmN0aW9uIHdyYXBTdHlsZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHpJbmRleDogdGhpcy5tb2RhbEluZGV4ICsgdGhpcy56SW5kZXhcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sXG4gICAgICAgIG1hc2tDbGFzc2VzOiBmdW5jdGlvbiBtYXNrQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBwcmVmaXhDbHMgKyAnLW1hc2snO1xuICAgICAgICB9LFxuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWYyO1xuXG4gICAgICAgICAgICByZXR1cm4gWycnICsgcHJlZml4Q2xzLCAoX3JlZjIgPSB7fSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjIsIHByZWZpeENscyArICctZnVsbHNjcmVlbicsIHRoaXMuZnVsbHNjcmVlbiksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYyLCBwcmVmaXhDbHMgKyAnLWZ1bGxzY3JlZW4tbm8taGVhZGVyJywgdGhpcy5mdWxsc2NyZWVuICYmICF0aGlzLnNob3dIZWFkKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjIsIHByZWZpeENscyArICctZnVsbHNjcmVlbi1uby1mb290ZXInLCB0aGlzLmZ1bGxzY3JlZW4gJiYgdGhpcy5mb290ZXJIaWRlKSwgX3JlZjIpXTtcbiAgICAgICAgfSxcbiAgICAgICAgY29udGVudENsYXNzZXM6IGZ1bmN0aW9uIGNvbnRlbnRDbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWYzO1xuXG4gICAgICAgICAgICByZXR1cm4gW3ByZWZpeENscyArICctY29udGVudCcsIChfcmVmMyA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmMywgcHJlZml4Q2xzICsgJy1jb250ZW50LW5vLW1hc2snLCAhdGhpcy5zaG93TWFzayksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYzLCBwcmVmaXhDbHMgKyAnLWNvbnRlbnQtZHJhZycsIHRoaXMuZHJhZ2dhYmxlKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjMsIHByZWZpeENscyArICctY29udGVudC1kcmFnZ2luZycsIHRoaXMuZHJhZ2dhYmxlICYmIHRoaXMuZHJhZ0RhdGEuZHJhZ2dpbmcpLCBfcmVmMyldO1xuICAgICAgICB9LFxuICAgICAgICBtYWluU3R5bGVzOiBmdW5jdGlvbiBtYWluU3R5bGVzKCkge1xuICAgICAgICAgICAgdmFyIHN0eWxlID0ge307XG5cbiAgICAgICAgICAgIHZhciB3aWR0aCA9IHBhcnNlSW50KHRoaXMud2lkdGgpO1xuICAgICAgICAgICAgdmFyIHN0eWxlV2lkdGggPSB0aGlzLmRyYWdEYXRhLnggIT09IG51bGwgPyB7XG4gICAgICAgICAgICAgICAgdG9wOiAwXG4gICAgICAgICAgICB9IDoge1xuICAgICAgICAgICAgICAgIHdpZHRoOiB3aWR0aCA8PSAxMDAgPyBTdHJpbmcod2lkdGgpICsgJyUnIDogU3RyaW5nKHdpZHRoKSArICdweCdcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHZhciBjdXN0b21TdHlsZSA9IHRoaXMuc3R5bGVzID8gdGhpcy5zdHlsZXMgOiB7fTtcblxuICAgICAgICAgICAgKDAsIF9hc3NpZ24yLmRlZmF1bHQpKHN0eWxlLCBzdHlsZVdpZHRoLCBjdXN0b21TdHlsZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBzdHlsZTtcbiAgICAgICAgfSxcbiAgICAgICAgY29udGVudFN0eWxlczogZnVuY3Rpb24gY29udGVudFN0eWxlcygpIHtcbiAgICAgICAgICAgIHZhciBzdHlsZSA9IHt9O1xuXG4gICAgICAgICAgICBpZiAodGhpcy5kcmFnZ2FibGUpIHtcbiAgICAgICAgICAgICAgICB2YXIgY3VzdG9tVG9wID0gdGhpcy5zdHlsZXMudG9wID8gcGFyc2VGbG9hdCh0aGlzLnN0eWxlcy50b3ApIDogMDtcbiAgICAgICAgICAgICAgICB2YXIgY3VzdG9tTGVmdCA9IHRoaXMuc3R5bGVzLmxlZnQgPyBwYXJzZUZsb2F0KHRoaXMuc3R5bGVzLmxlZnQpIDogMDtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kcmFnRGF0YS54ICE9PSBudWxsKSBzdHlsZS5sZWZ0ID0gdGhpcy5kcmFnRGF0YS54IC0gY3VzdG9tTGVmdCArICdweCc7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZHJhZ0RhdGEueSAhPT0gbnVsbCkgc3R5bGUudG9wID0gdGhpcy5kcmFnRGF0YS55IC0gY3VzdG9tVG9wICsgJ3B4JztcbiAgICAgICAgICAgICAgICB2YXIgd2lkdGggPSBwYXJzZUludCh0aGlzLndpZHRoKTtcbiAgICAgICAgICAgICAgICB2YXIgc3R5bGVXaWR0aCA9IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHdpZHRoIDw9IDEwMCA/IFN0cmluZyh3aWR0aCkgKyAnJScgOiBTdHJpbmcod2lkdGgpICsgJ3B4J1xuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAoMCwgX2Fzc2lnbjIuZGVmYXVsdCkoc3R5bGUsIHN0eWxlV2lkdGgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH0sXG4gICAgICAgIGxvY2FsZU9rVGV4dDogZnVuY3Rpb24gbG9jYWxlT2tUZXh0KCkge1xuICAgICAgICAgICAgaWYgKHRoaXMub2tUZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50KCdpLm1vZGFsLm9rVGV4dCcpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5va1RleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGxvY2FsZUNhbmNlbFRleHQ6IGZ1bmN0aW9uIGxvY2FsZUNhbmNlbFRleHQoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jYW5jZWxUZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50KCdpLm1vZGFsLmNhbmNlbFRleHQnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2FuY2VsVGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc2hvd01hc2s6IGZ1bmN0aW9uIHNob3dNYXNrKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZHJhZ2dhYmxlID8gZmFsc2UgOiB0aGlzLm1hc2s7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgY2xvc2U6IGZ1bmN0aW9uIGNsb3NlKCkge1xuICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWNhbmNlbCcpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVNYXNrOiBmdW5jdGlvbiBoYW5kbGVNYXNrKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMubWFza0Nsb3NhYmxlICYmIHRoaXMuc2hvd01hc2spIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVdyYXBDbGljazogZnVuY3Rpb24gaGFuZGxlV3JhcENsaWNrKGV2ZW50KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc01vdXNlVHJpZ2dlckluKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc01vdXNlVHJpZ2dlckluID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgY2xhc3NOYW1lID0gZXZlbnQudGFyZ2V0LmdldEF0dHJpYnV0ZSgnY2xhc3MnKTtcbiAgICAgICAgICAgIGlmIChjbGFzc05hbWUgJiYgY2xhc3NOYW1lLmluZGV4T2YocHJlZml4Q2xzICsgJy13cmFwJykgPiAtMSkgdGhpcy5oYW5kbGVNYXNrKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZU1vdXNlZG93bjogZnVuY3Rpb24gaGFuZGxlTW91c2Vkb3duKCkge1xuICAgICAgICAgICAgdGhpcy5pc01vdXNlVHJpZ2dlckluID0gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgY2FuY2VsOiBmdW5jdGlvbiBjYW5jZWwoKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH0sXG4gICAgICAgIG9rOiBmdW5jdGlvbiBvaygpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmxvYWRpbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvbkxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLW9rJyk7XG4gICAgICAgIH0sXG4gICAgICAgIEVzY0Nsb3NlOiBmdW5jdGlvbiBFc2NDbG9zZShlKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgICAgICBpZiAodGhpcy52aXNpYmxlICYmIHRoaXMuY2xvc2FibGUpIHtcbiAgICAgICAgICAgICAgICBpZiAoZS5rZXlDb2RlID09PSAyNykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgJE1vZGFscyA9ICgwLCBfYXNzaXN0LmZpbmRDb21wb25lbnRzRG93bndhcmQpKHRoaXMuJHJvb3QsICdNb2RhbCcpLmZpbHRlcihmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS4kZGF0YS52aXNpYmxlICYmIGl0ZW0uJHByb3BzLmNsb3NhYmxlO1xuICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuXG4gICAgICAgICAgICAgICAgICAgIHZhciAkVG9wTW9kYWwgPSAkTW9kYWxzLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYS4kZGF0YS5tb2RhbEluZGV4IDwgYi4kZGF0YS5tb2RhbEluZGV4ID8gMSA6IC0xO1xuICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpWzBdO1xuXG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICRUb3BNb2RhbC5jbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcyksIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgYW5pbWF0aW9uRmluaXNoOiBmdW5jdGlvbiBhbmltYXRpb25GaW5pc2goKSB7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1oaWRkZW4nKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlTW92ZVN0YXJ0OiBmdW5jdGlvbiBoYW5kbGVNb3ZlU3RhcnQoZXZlbnQpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kcmFnZ2FibGUpIHJldHVybiBmYWxzZTtcblxuICAgICAgICAgICAgdmFyICRjb250ZW50ID0gdGhpcy4kcmVmcy5jb250ZW50O1xuICAgICAgICAgICAgdmFyIHJlY3QgPSAkY29udGVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIHRoaXMuZHJhZ0RhdGEueCA9IHJlY3QueCB8fCByZWN0LmxlZnQ7XG4gICAgICAgICAgICB0aGlzLmRyYWdEYXRhLnkgPSByZWN0LnkgfHwgcmVjdC50b3A7XG5cbiAgICAgICAgICAgIHZhciBkaXN0YW5jZSA9IHtcbiAgICAgICAgICAgICAgICB4OiBldmVudC5jbGllbnRYLFxuICAgICAgICAgICAgICAgIHk6IGV2ZW50LmNsaWVudFlcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHRoaXMuZHJhZ0RhdGEuZHJhZ1ggPSBkaXN0YW5jZS54O1xuICAgICAgICAgICAgdGhpcy5kcmFnRGF0YS5kcmFnWSA9IGRpc3RhbmNlLnk7XG5cbiAgICAgICAgICAgIHRoaXMuZHJhZ0RhdGEuZHJhZ2dpbmcgPSB0cnVlO1xuXG4gICAgICAgICAgICAoMCwgX2RvbS5vbikod2luZG93LCAnbW91c2Vtb3ZlJywgdGhpcy5oYW5kbGVNb3ZlTW92ZSk7XG4gICAgICAgICAgICAoMCwgX2RvbS5vbikod2luZG93LCAnbW91c2V1cCcsIHRoaXMuaGFuZGxlTW92ZUVuZCk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZU1vdmVNb3ZlOiBmdW5jdGlvbiBoYW5kbGVNb3ZlTW92ZShldmVudCkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmRyYWdEYXRhLmRyYWdnaW5nKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgICAgIHZhciBkaXN0YW5jZSA9IHtcbiAgICAgICAgICAgICAgICB4OiBldmVudC5jbGllbnRYLFxuICAgICAgICAgICAgICAgIHk6IGV2ZW50LmNsaWVudFlcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHZhciBkaWZmX2Rpc3RhbmNlID0ge1xuICAgICAgICAgICAgICAgIHg6IGRpc3RhbmNlLnggLSB0aGlzLmRyYWdEYXRhLmRyYWdYLFxuICAgICAgICAgICAgICAgIHk6IGRpc3RhbmNlLnkgLSB0aGlzLmRyYWdEYXRhLmRyYWdZXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB0aGlzLmRyYWdEYXRhLnggKz0gZGlmZl9kaXN0YW5jZS54O1xuICAgICAgICAgICAgdGhpcy5kcmFnRGF0YS55ICs9IGRpZmZfZGlzdGFuY2UueTtcblxuICAgICAgICAgICAgdGhpcy5kcmFnRGF0YS5kcmFnWCA9IGRpc3RhbmNlLng7XG4gICAgICAgICAgICB0aGlzLmRyYWdEYXRhLmRyYWdZID0gZGlzdGFuY2UueTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlTW92ZUVuZDogZnVuY3Rpb24gaGFuZGxlTW92ZUVuZCgpIHtcbiAgICAgICAgICAgIHRoaXMuZHJhZ0RhdGEuZHJhZ2dpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICgwLCBfZG9tLm9mZikod2luZG93LCAnbW91c2Vtb3ZlJywgdGhpcy5oYW5kbGVNb3ZlTW92ZSk7XG4gICAgICAgICAgICAoMCwgX2RvbS5vZmYpKHdpbmRvdywgJ21vdXNldXAnLCB0aGlzLmhhbmRsZU1vdmVFbmQpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVHZXRNb2RhbEluZGV4OiBmdW5jdGlvbiBoYW5kbGVHZXRNb2RhbEluZGV4KCkge1xuICAgICAgICAgICAgKDAsIF90cmFuc2ZlclF1ZXVlLnRyYW5zZmVySW5jcmVhc2UpKCk7XG4gICAgICAgICAgICByZXR1cm4gX3RyYW5zZmVyUXVldWUudHJhbnNmZXJJbmRleDtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlQ2xpY2tNb2RhbDogZnVuY3Rpb24gaGFuZGxlQ2xpY2tNb2RhbCgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRyYWdnYWJsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubW9kYWxJbmRleCA9IHRoaXMuaGFuZGxlR2V0TW9kYWxJbmRleCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgICBpZiAodGhpcy52aXNpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLndyYXBTaG93ID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBzaG93SGVhZCA9IHRydWU7XG5cbiAgICAgICAgaWYgKHRoaXMuJHNsb3RzLmhlYWRlciA9PT0gdW5kZWZpbmVkICYmICF0aGlzLnRpdGxlKSB7XG4gICAgICAgICAgICBzaG93SGVhZCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zaG93SGVhZCA9IHNob3dIZWFkO1xuXG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLkVzY0Nsb3NlKTtcbiAgICB9LFxuICAgIGJlZm9yZURlc3Ryb3k6IGZ1bmN0aW9uIGJlZm9yZURlc3Ryb3koKSB7XG4gICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLkVzY0Nsb3NlKTtcbiAgICAgICAgdGhpcy5yZW1vdmVTY3JvbGxFZmZlY3QoKTtcbiAgICB9LFxuXG4gICAgd2F0Y2g6IHtcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIHZhbHVlKHZhbCkge1xuICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gdmFsO1xuICAgICAgICB9LFxuICAgICAgICB2aXNpYmxlOiBmdW5jdGlvbiB2aXNpYmxlKHZhbCkge1xuICAgICAgICAgICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICAgICAgICAgIGlmICh2YWwgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5idXR0b25Mb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy50aW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMik7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy53cmFwU2hvdyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVNjcm9sbEVmZmVjdCgpO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSwgMzAwKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tb2RhbEluZGV4ID0gdGhpcy5oYW5kbGVHZXRNb2RhbEluZGV4KCk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy50aW1lcikgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpO1xuICAgICAgICAgICAgICAgIHRoaXMud3JhcFNob3cgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5zY3JvbGxhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkU2Nyb2xsRWZmZWN0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5icm9hZGNhc3QoJ1RhYmxlJywgJ29uLXZpc2libGUtY2hhbmdlJywgdmFsKTtcbiAgICAgICAgICAgIHRoaXMuYnJvYWRjYXN0KCdTbGlkZXInLCAnb24tdmlzaWJsZS1jaGFuZ2UnLCB2YWwpO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tdmlzaWJsZS1jaGFuZ2UnLCB2YWwpO1xuICAgICAgICB9LFxuICAgICAgICBsb2FkaW5nOiBmdW5jdGlvbiBsb2FkaW5nKHZhbCkge1xuICAgICAgICAgICAgaWYgKCF2YWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvbkxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc2Nyb2xsYWJsZTogZnVuY3Rpb24gc2Nyb2xsYWJsZSh2YWwpIHtcbiAgICAgICAgICAgIGlmICghdmFsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRTY3JvbGxFZmZlY3QoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVTY3JvbGxFZmZlY3QoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdGl0bGU6IGZ1bmN0aW9uIHRpdGxlKHZhbCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuJHNsb3RzLmhlYWRlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93SGVhZCA9ICEhdmFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAyMDcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9hc3Npc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXG52YXIgX29wdGlvbnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUyMSk7XG5cbnZhciBfb3B0aW9uczIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9vcHRpb25zKTtcblxudmFyIF9sb2NhbGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUpO1xuXG52YXIgX2xvY2FsZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9sb2NhbGUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1wYWdlJztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdQYWdlJyxcbiAgICBtaXhpbnM6IFtfbG9jYWxlMi5kZWZhdWx0XSxcbiAgICBjb21wb25lbnRzOiB7IE9wdGlvbnM6IF9vcHRpb25zMi5kZWZhdWx0IH0sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgY3VycmVudDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgZGVmYXVsdDogMVxuICAgICAgICB9LFxuICAgICAgICB0b3RhbDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgZGVmYXVsdDogMFxuICAgICAgICB9LFxuICAgICAgICBwYWdlU2l6ZToge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgZGVmYXVsdDogMTBcbiAgICAgICAgfSxcbiAgICAgICAgcGFnZVNpemVPcHRzOiB7XG4gICAgICAgICAgICB0eXBlOiBBcnJheSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBbMTAsIDIwLCAzMCwgNDBdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBwbGFjZW1lbnQ6IHtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWyd0b3AnLCAnYm90dG9tJ10pO1xuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgZGVmYXVsdDogJ2JvdHRvbSdcbiAgICAgICAgfSxcbiAgICAgICAgdHJhbnNmZXI6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIXRoaXMuJElWSUVXIHx8IHRoaXMuJElWSUVXLnRyYW5zZmVyID09PSAnJyA/IGZhbHNlIDogdGhpcy4kSVZJRVcudHJhbnNmZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWydzbWFsbCddKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc2ltcGxlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd1RvdGFsOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd0VsZXZhdG9yOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd1NpemVyOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgc3R5bGVzOiB7XG4gICAgICAgICAgICB0eXBlOiBPYmplY3RcbiAgICAgICAgfSxcbiAgICAgICAgcHJldlRleHQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICcnXG4gICAgICAgIH0sXG4gICAgICAgIG5leHRUZXh0OiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcHJlZml4Q2xzOiBwcmVmaXhDbHMsXG4gICAgICAgICAgICBjdXJyZW50UGFnZTogdGhpcy5jdXJyZW50LFxuICAgICAgICAgICAgY3VycmVudFBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIHdhdGNoOiB7XG4gICAgICAgIHRvdGFsOiBmdW5jdGlvbiB0b3RhbCh2YWwpIHtcbiAgICAgICAgICAgIHZhciBtYXhQYWdlID0gTWF0aC5jZWlsKHZhbCAvIHRoaXMuY3VycmVudFBhZ2VTaXplKTtcbiAgICAgICAgICAgIGlmIChtYXhQYWdlIDwgdGhpcy5jdXJyZW50UGFnZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSBtYXhQYWdlID09PSAwID8gMSA6IG1heFBhZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGN1cnJlbnQ6IGZ1bmN0aW9uIGN1cnJlbnQodmFsKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRQYWdlID0gdmFsO1xuICAgICAgICB9LFxuICAgICAgICBwYWdlU2l6ZTogZnVuY3Rpb24gcGFnZVNpemUodmFsKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRQYWdlU2l6ZSA9IHZhbDtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgaXNTbWFsbDogZnVuY3Rpb24gaXNTbWFsbCgpIHtcbiAgICAgICAgICAgIHJldHVybiAhIXRoaXMuc2l6ZTtcbiAgICAgICAgfSxcbiAgICAgICAgYWxsUGFnZXM6IGZ1bmN0aW9uIGFsbFBhZ2VzKCkge1xuICAgICAgICAgICAgdmFyIGFsbFBhZ2UgPSBNYXRoLmNlaWwodGhpcy50b3RhbCAvIHRoaXMuY3VycmVudFBhZ2VTaXplKTtcbiAgICAgICAgICAgIHJldHVybiBhbGxQYWdlID09PSAwID8gMSA6IGFsbFBhZ2U7XG4gICAgICAgIH0sXG4gICAgICAgIHNpbXBsZVdyYXBDbGFzc2VzOiBmdW5jdGlvbiBzaW1wbGVXcmFwQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbJycgKyBwcmVmaXhDbHMsIHByZWZpeENscyArICctc2ltcGxlJywgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sICcnICsgU3RyaW5nKHRoaXMuY2xhc3NOYW1lKSwgISF0aGlzLmNsYXNzTmFtZSldO1xuICAgICAgICB9LFxuICAgICAgICBzaW1wbGVQYWdlckNsYXNzZXM6IGZ1bmN0aW9uIHNpbXBsZVBhZ2VyQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBwcmVmaXhDbHMgKyAnLXNpbXBsZS1wYWdlcic7XG4gICAgICAgIH0sXG4gICAgICAgIHdyYXBDbGFzc2VzOiBmdW5jdGlvbiB3cmFwQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHZhciBfcmVmMjtcblxuICAgICAgICAgICAgcmV0dXJuIFsnJyArIHByZWZpeENscywgKF9yZWYyID0ge30sICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYyLCAnJyArIFN0cmluZyh0aGlzLmNsYXNzTmFtZSksICEhdGhpcy5jbGFzc05hbWUpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmMiwgJ21pbmknLCAhIXRoaXMuc2l6ZSksIF9yZWYyKV07XG4gICAgICAgIH0sXG4gICAgICAgIHByZXZDbGFzc2VzOiBmdW5jdGlvbiBwcmV2Q2xhc3NlcygpIHtcbiAgICAgICAgICAgIHZhciBfcmVmMztcblxuICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXhDbHMgKyAnLXByZXYnLCAoX3JlZjMgPSB7fSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjMsIHByZWZpeENscyArICctZGlzYWJsZWQnLCB0aGlzLmN1cnJlbnRQYWdlID09PSAxKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjMsIHByZWZpeENscyArICctY3VzdG9tLXRleHQnLCB0aGlzLnByZXZUZXh0ICE9PSAnJyksIF9yZWYzKV07XG4gICAgICAgIH0sXG4gICAgICAgIG5leHRDbGFzc2VzOiBmdW5jdGlvbiBuZXh0Q2xhc3NlcygpIHtcbiAgICAgICAgICAgIHZhciBfcmVmNDtcblxuICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXhDbHMgKyAnLW5leHQnLCAoX3JlZjQgPSB7fSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjQsIHByZWZpeENscyArICctZGlzYWJsZWQnLCB0aGlzLmN1cnJlbnRQYWdlID09PSB0aGlzLmFsbFBhZ2VzKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjQsIHByZWZpeENscyArICctY3VzdG9tLXRleHQnLCB0aGlzLm5leHRUZXh0ICE9PSAnJyksIF9yZWY0KV07XG4gICAgICAgIH0sXG4gICAgICAgIGZpcnN0UGFnZUNsYXNzZXM6IGZ1bmN0aW9uIGZpcnN0UGFnZUNsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gW3ByZWZpeENscyArICctaXRlbScsICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKHt9LCBwcmVmaXhDbHMgKyAnLWl0ZW0tYWN0aXZlJywgdGhpcy5jdXJyZW50UGFnZSA9PT0gMSldO1xuICAgICAgICB9LFxuICAgICAgICBsYXN0UGFnZUNsYXNzZXM6IGZ1bmN0aW9uIGxhc3RQYWdlQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy1pdGVtJywgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sIHByZWZpeENscyArICctaXRlbS1hY3RpdmUnLCB0aGlzLmN1cnJlbnRQYWdlID09PSB0aGlzLmFsbFBhZ2VzKV07XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgY2hhbmdlUGFnZTogZnVuY3Rpb24gY2hhbmdlUGFnZShwYWdlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50UGFnZSAhPSBwYWdlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHBhZ2U7XG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgndXBkYXRlOmN1cnJlbnQnLCBwYWdlKTtcbiAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1jaGFuZ2UnLCBwYWdlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgcHJldjogZnVuY3Rpb24gcHJldigpIHtcbiAgICAgICAgICAgIHZhciBjdXJyZW50ID0gdGhpcy5jdXJyZW50UGFnZTtcbiAgICAgICAgICAgIGlmIChjdXJyZW50IDw9IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmNoYW5nZVBhZ2UoY3VycmVudCAtIDEpO1xuICAgICAgICB9LFxuICAgICAgICBuZXh0OiBmdW5jdGlvbiBuZXh0KCkge1xuICAgICAgICAgICAgdmFyIGN1cnJlbnQgPSB0aGlzLmN1cnJlbnRQYWdlO1xuICAgICAgICAgICAgaWYgKGN1cnJlbnQgPj0gdGhpcy5hbGxQYWdlcykge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlUGFnZShjdXJyZW50ICsgMSk7XG4gICAgICAgIH0sXG4gICAgICAgIGZhc3RQcmV2OiBmdW5jdGlvbiBmYXN0UHJldigpIHtcbiAgICAgICAgICAgIHZhciBwYWdlID0gdGhpcy5jdXJyZW50UGFnZSAtIDU7XG4gICAgICAgICAgICBpZiAocGFnZSA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVBhZ2UocGFnZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlUGFnZSgxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZmFzdE5leHQ6IGZ1bmN0aW9uIGZhc3ROZXh0KCkge1xuICAgICAgICAgICAgdmFyIHBhZ2UgPSB0aGlzLmN1cnJlbnRQYWdlICsgNTtcbiAgICAgICAgICAgIGlmIChwYWdlID4gdGhpcy5hbGxQYWdlcykge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlUGFnZSh0aGlzLmFsbFBhZ2VzKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VQYWdlKHBhZ2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBvblNpemU6IGZ1bmN0aW9uIG9uU2l6ZShwYWdlU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50UGFnZVNpemUgPSBwYWdlU2l6ZTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLXBhZ2Utc2l6ZS1jaGFuZ2UnLCBwYWdlU2l6ZSk7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZVBhZ2UoMSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uUGFnZTogZnVuY3Rpb24gb25QYWdlKHBhZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlUGFnZShwYWdlKTtcbiAgICAgICAgfSxcbiAgICAgICAga2V5RG93bjogZnVuY3Rpb24ga2V5RG93bihlKSB7XG4gICAgICAgICAgICB2YXIga2V5ID0gZS5rZXlDb2RlO1xuICAgICAgICAgICAgdmFyIGNvbmRpdGlvbiA9IGtleSA+PSA0OCAmJiBrZXkgPD0gNTcgfHwga2V5ID49IDk2ICYmIGtleSA8PSAxMDUgfHwga2V5ID09PSA4IHx8IGtleSA9PT0gMzcgfHwga2V5ID09PSAzOTtcblxuICAgICAgICAgICAgaWYgKCFjb25kaXRpb24pIHtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGtleVVwOiBmdW5jdGlvbiBrZXlVcChlKSB7XG4gICAgICAgICAgICB2YXIga2V5ID0gZS5rZXlDb2RlO1xuICAgICAgICAgICAgdmFyIHZhbCA9IHBhcnNlSW50KGUudGFyZ2V0LnZhbHVlKTtcblxuICAgICAgICAgICAgaWYgKGtleSA9PT0gMzgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByZXYoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSA0MCkge1xuICAgICAgICAgICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09IDEzKSB7XG4gICAgICAgICAgICAgICAgdmFyIHBhZ2UgPSAxO1xuXG4gICAgICAgICAgICAgICAgaWYgKHZhbCA+IHRoaXMuYWxsUGFnZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFnZSA9IHRoaXMuYWxsUGFnZXM7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh2YWwgPD0gMCB8fCAhdmFsKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZ2UgPSAxO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZ2UgPSB2YWw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZS50YXJnZXQudmFsdWUgPSBwYWdlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlUGFnZShwYWdlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMjA4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9zZWxlY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDcwKTtcblxudmFyIF9zZWxlY3QyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc2VsZWN0KTtcblxudmFyIF9vcHRpb24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDc0KTtcblxudmFyIF9vcHRpb24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfb3B0aW9uKTtcblxudmFyIF9sb2NhbGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUpO1xuXG52YXIgX2xvY2FsZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9sb2NhbGUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1wYWdlJztcblxuZnVuY3Rpb24gaXNWYWx1ZU51bWJlcih2YWx1ZSkge1xuICAgIHJldHVybiAoL15bMS05XVswLTldKiQvLnRlc3QodmFsdWUgKyAnJylcbiAgICApO1xufVxuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ1BhZ2VPcHRpb24nLFxuICAgIG1peGluczogW19sb2NhbGUyLmRlZmF1bHRdLFxuICAgIGNvbXBvbmVudHM6IHsgaVNlbGVjdDogX3NlbGVjdDIuZGVmYXVsdCwgaU9wdGlvbjogX29wdGlvbjIuZGVmYXVsdCB9LFxuICAgIHByb3BzOiB7XG4gICAgICAgIHBhZ2VTaXplT3B0czogQXJyYXksXG4gICAgICAgIHNob3dTaXplcjogQm9vbGVhbixcbiAgICAgICAgc2hvd0VsZXZhdG9yOiBCb29sZWFuLFxuICAgICAgICBjdXJyZW50OiBOdW1iZXIsXG4gICAgICAgIF9jdXJyZW50OiBOdW1iZXIsXG4gICAgICAgIHBhZ2VTaXplOiBOdW1iZXIsXG4gICAgICAgIGFsbFBhZ2VzOiBOdW1iZXIsXG4gICAgICAgIGlzU21hbGw6IEJvb2xlYW4sXG4gICAgICAgIHBsYWNlbWVudDogU3RyaW5nLFxuICAgICAgICB0cmFuc2ZlcjogQm9vbGVhblxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGN1cnJlbnRQYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICB3YXRjaDoge1xuICAgICAgICBwYWdlU2l6ZTogZnVuY3Rpb24gcGFnZVNpemUodmFsKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRQYWdlU2l6ZSA9IHZhbDtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgc2l6ZTogZnVuY3Rpb24gc2l6ZSgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlzU21hbGwgPyAnc21hbGwnIDogJ2RlZmF1bHQnO1xuICAgICAgICB9LFxuICAgICAgICBvcHRzQ2xhc3NlczogZnVuY3Rpb24gb3B0c0NsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gW3ByZWZpeENscyArICctb3B0aW9ucyddO1xuICAgICAgICB9LFxuICAgICAgICBzaXplckNsYXNzZXM6IGZ1bmN0aW9uIHNpemVyQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy1vcHRpb25zLXNpemVyJ107XG4gICAgICAgIH0sXG4gICAgICAgIEVsZXZhdG9yQ2xhc3NlczogZnVuY3Rpb24gRWxldmF0b3JDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXhDbHMgKyAnLW9wdGlvbnMtZWxldmF0b3InXTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgICBjaGFuZ2VTaXplOiBmdW5jdGlvbiBjaGFuZ2VTaXplKCkge1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tc2l6ZScsIHRoaXMuY3VycmVudFBhZ2VTaXplKTtcbiAgICAgICAgfSxcbiAgICAgICAgY2hhbmdlUGFnZTogZnVuY3Rpb24gY2hhbmdlUGFnZShldmVudCkge1xuICAgICAgICAgICAgdmFyIHZhbCA9IGV2ZW50LnRhcmdldC52YWx1ZS50cmltKCk7XG4gICAgICAgICAgICB2YXIgcGFnZSA9IDA7XG5cbiAgICAgICAgICAgIGlmIChpc1ZhbHVlTnVtYmVyKHZhbCkpIHtcbiAgICAgICAgICAgICAgICB2YWwgPSBOdW1iZXIodmFsKTtcbiAgICAgICAgICAgICAgICBpZiAodmFsICE9IHRoaXMuY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgYWxsUGFnZXMgPSB0aGlzLmFsbFBhZ2VzO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWwgPiBhbGxQYWdlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZSA9IGFsbFBhZ2VzO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZSA9IHZhbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFnZSA9IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwYWdlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tcGFnZScsIHBhZ2UpO1xuICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IHBhZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDIwOSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9wb3B0aXBfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIxMCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcG9wdGlwX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcG9wdGlwX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcG9wdGlwX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9wb3B0aXBfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNDI3NWVmZTBfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9wb3B0aXBfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUyNSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNDI3NWVmZTBfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9wb3B0aXBfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl80Mjc1ZWZlMF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3BvcHRpcF92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9wb3B0aXBfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl80Mjc1ZWZlMF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3BvcHRpcF92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNDI3NWVmZTBfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9wb3B0aXBfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDIxMCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9wb3BwZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIxMSk7XG5cbnZhciBfcG9wcGVyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3BvcHBlcik7XG5cbnZhciBfYnV0dG9uID0gX193ZWJwYWNrX3JlcXVpcmVfXygyNCk7XG5cbnZhciBfYnV0dG9uMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2J1dHRvbik7XG5cbnZhciBfdkNsaWNrT3V0c2lkZVggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM1KTtcblxudmFyIF90cmFuc2ZlckRvbSA9IF9fd2VicGFja19yZXF1aXJlX18oMjEpO1xuXG52YXIgX3RyYW5zZmVyRG9tMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RyYW5zZmVyRG9tKTtcblxudmFyIF9hc3Npc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXG52YXIgX3RyYW5zZmVyUXVldWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM0KTtcblxudmFyIF9sb2NhbGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUpO1xuXG52YXIgX2xvY2FsZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9sb2NhbGUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1wb3B0aXAnO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ1BvcHRpcCcsXG4gICAgbWl4aW5zOiBbX3BvcHBlcjIuZGVmYXVsdCwgX2xvY2FsZTIuZGVmYXVsdF0sXG4gICAgZGlyZWN0aXZlczogeyBjbGlja091dHNpZGU6IF92Q2xpY2tPdXRzaWRlWC5kaXJlY3RpdmUsIFRyYW5zZmVyRG9tOiBfdHJhbnNmZXJEb20yLmRlZmF1bHQgfSxcbiAgICBjb21wb25lbnRzOiB7IGlCdXR0b246IF9idXR0b24yLmRlZmF1bHQgfSxcbiAgICBwcm9wczoge1xuICAgICAgICB0cmlnZ2VyOiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnY2xpY2snLCAnZm9jdXMnLCAnaG92ZXInXSk7XG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICBkZWZhdWx0OiAnY2xpY2snXG4gICAgICAgIH0sXG4gICAgICAgIHBsYWNlbWVudDoge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ3RvcCcsICd0b3Atc3RhcnQnLCAndG9wLWVuZCcsICdib3R0b20nLCAnYm90dG9tLXN0YXJ0JywgJ2JvdHRvbS1lbmQnLCAnbGVmdCcsICdsZWZ0LXN0YXJ0JywgJ2xlZnQtZW5kJywgJ3JpZ2h0JywgJ3JpZ2h0LXN0YXJ0JywgJ3JpZ2h0LWVuZCddKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGRlZmF1bHQ6ICd0b3AnXG4gICAgICAgIH0sXG4gICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICB0eXBlOiBbU3RyaW5nLCBOdW1iZXJdXG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRlbnQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFtTdHJpbmcsIE51bWJlcl0sXG4gICAgICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgICB9LFxuICAgICAgICB3aWR0aDoge1xuICAgICAgICAgICAgdHlwZTogW1N0cmluZywgTnVtYmVyXVxuICAgICAgICB9LFxuICAgICAgICBjb25maXJtOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgb2tUZXh0OiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgY2FuY2VsVGV4dDoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nXG4gICAgICAgIH0sXG4gICAgICAgIHRyYW5zZmVyOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICF0aGlzLiRJVklFVyB8fCB0aGlzLiRJVklFVy50cmFuc2ZlciA9PT0gJycgPyBmYWxzZSA6IHRoaXMuJElWSUVXLnRyYW5zZmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBwb3BwZXJDbGFzczoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nXG4gICAgICAgIH0sXG4gICAgICAgIHdvcmRXcmFwOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcblxuICAgICAgICBwYWRkaW5nOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcblxuICAgICAgICBkaXNhYmxlZDoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVmaXhDbHM6IHByZWZpeENscyxcbiAgICAgICAgICAgIHNob3dUaXRsZTogdHJ1ZSxcbiAgICAgICAgICAgIGlzSW5wdXQ6IGZhbHNlLFxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlVW5kZXJUcmFuc2ZlcjogZmFsc2UsXG4gICAgICAgICAgICB0SW5kZXg6IHRoaXMuaGFuZGxlR2V0SW5kZXgoKVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFsnJyArIHByZWZpeENscywgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sIHByZWZpeENscyArICctY29uZmlybScsIHRoaXMuY29uZmlybSldO1xuICAgICAgICB9LFxuICAgICAgICBwb3BwZXJDbGFzc2VzOiBmdW5jdGlvbiBwb3BwZXJDbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWYyO1xuXG4gICAgICAgICAgICByZXR1cm4gW3ByZWZpeENscyArICctcG9wcGVyJywgKF9yZWYyID0ge30sICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYyLCBwcmVmaXhDbHMgKyAnLWNvbmZpcm0nLCB0aGlzLnRyYW5zZmVyICYmIHRoaXMuY29uZmlybSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYyLCAnJyArIFN0cmluZyh0aGlzLnBvcHBlckNsYXNzKSwgISF0aGlzLnBvcHBlckNsYXNzKSwgX3JlZjIpXTtcbiAgICAgICAgfSxcbiAgICAgICAgc3R5bGVzOiBmdW5jdGlvbiBzdHlsZXMoKSB7XG4gICAgICAgICAgICB2YXIgc3R5bGUgPSB7fTtcblxuICAgICAgICAgICAgaWYgKHRoaXMud2lkdGgpIHtcbiAgICAgICAgICAgICAgICBzdHlsZS53aWR0aCA9IFN0cmluZyh0aGlzLndpZHRoKSArICdweCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnRyYW5zZmVyKSBzdHlsZVsnei1pbmRleCddID0gMTA2MCArIHRoaXMudEluZGV4O1xuXG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH0sXG4gICAgICAgIGxvY2FsZU9rVGV4dDogZnVuY3Rpb24gbG9jYWxlT2tUZXh0KCkge1xuICAgICAgICAgICAgaWYgKHRoaXMub2tUZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50KCdpLnBvcHRpcC5va1RleHQnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMub2tUZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBsb2NhbGVDYW5jZWxUZXh0OiBmdW5jdGlvbiBsb2NhbGVDYW5jZWxUZXh0KCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuY2FuY2VsVGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudCgnaS5wb3B0aXAuY2FuY2VsVGV4dCcpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jYW5jZWxUZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjb250ZW50Q2xhc3NlczogZnVuY3Rpb24gY29udGVudENsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gW3ByZWZpeENscyArICctYm9keS1jb250ZW50JywgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sIHByZWZpeENscyArICctYm9keS1jb250ZW50LXdvcmQtd3JhcCcsIHRoaXMud29yZFdyYXApXTtcbiAgICAgICAgfSxcbiAgICAgICAgY29udGVudFBhZGRpbmdTdHlsZTogZnVuY3Rpb24gY29udGVudFBhZGRpbmdTdHlsZSgpIHtcbiAgICAgICAgICAgIHZhciBzdHlsZXMgPSB7fTtcbiAgICAgICAgICAgIGlmICh0aGlzLnBhZGRpbmcgIT09ICcnKSBzdHlsZXNbJ3BhZGRpbmcnXSA9IHRoaXMucGFkZGluZztcbiAgICAgICAgICAgIHJldHVybiBzdHlsZXM7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgaGFuZGxlQ2xpY2s6IGZ1bmN0aW9uIGhhbmRsZUNsaWNrKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcblxuICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlybSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9ICF0aGlzLnZpc2libGU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy50cmlnZ2VyICE9PSAnY2xpY2snKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gIXRoaXMudmlzaWJsZTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlVHJhbnNmZXJDbGljazogZnVuY3Rpb24gaGFuZGxlVHJhbnNmZXJDbGljaygpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRyYW5zZmVyKSB0aGlzLmRpc2FibGVDbG9zZVVuZGVyVHJhbnNmZXIgPSB0cnVlO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVDbG9zZTogZnVuY3Rpb24gaGFuZGxlQ2xvc2UoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5kaXNhYmxlQ2xvc2VVbmRlclRyYW5zZmVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlQ2xvc2VVbmRlclRyYW5zZmVyID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlybSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMudHJpZ2dlciAhPT0gJ2NsaWNrJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVGb2N1czogZnVuY3Rpb24gaGFuZGxlRm9jdXMoKSB7XG4gICAgICAgICAgICB2YXIgZnJvbUlucHV0ID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB0cnVlO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgICAgICAgICBpZiAodGhpcy50cmlnZ2VyICE9PSAnZm9jdXMnIHx8IHRoaXMuY29uZmlybSB8fCB0aGlzLmlzSW5wdXQgJiYgIWZyb21JbnB1dCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUJsdXI6IGZ1bmN0aW9uIGhhbmRsZUJsdXIoKSB7XG4gICAgICAgICAgICB2YXIgZnJvbUlucHV0ID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB0cnVlO1xuXG4gICAgICAgICAgICBpZiAodGhpcy50cmlnZ2VyICE9PSAnZm9jdXMnIHx8IHRoaXMuY29uZmlybSB8fCB0aGlzLmlzSW5wdXQgJiYgIWZyb21JbnB1dCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVNb3VzZWVudGVyOiBmdW5jdGlvbiBoYW5kbGVNb3VzZWVudGVyKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcblxuICAgICAgICAgICAgaWYgKHRoaXMudHJpZ2dlciAhPT0gJ2hvdmVyJyB8fCB0aGlzLmNvbmZpcm0pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5lbnRlclRpbWVyKSBjbGVhclRpbWVvdXQodGhpcy5lbnRlclRpbWVyKTtcbiAgICAgICAgICAgIHRoaXMuZW50ZXJUaW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSwgMTAwKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlTW91c2VsZWF2ZTogZnVuY3Rpb24gaGFuZGxlTW91c2VsZWF2ZSgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAgICAgICBpZiAodGhpcy50cmlnZ2VyICE9PSAnaG92ZXInIHx8IHRoaXMuY29uZmlybSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmVudGVyVGltZXIpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5lbnRlclRpbWVyKTtcbiAgICAgICAgICAgICAgICB0aGlzLmVudGVyVGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczIpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSwgMTAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgY2FuY2VsOiBmdW5jdGlvbiBjYW5jZWwoKSB7XG4gICAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWNhbmNlbCcpO1xuICAgICAgICB9LFxuICAgICAgICBvazogZnVuY3Rpb24gb2soKSB7XG4gICAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLW9rJyk7XG4gICAgICAgIH0sXG4gICAgICAgIGdldElucHV0Q2hpbGRyZW46IGZ1bmN0aW9uIGdldElucHV0Q2hpbGRyZW4oKSB7XG4gICAgICAgICAgICB2YXIgJGlucHV0ID0gdGhpcy4kcmVmcy5yZWZlcmVuY2UucXVlcnlTZWxlY3RvckFsbCgnaW5wdXQnKTtcbiAgICAgICAgICAgIHZhciAkdGV4dGFyZWEgPSB0aGlzLiRyZWZzLnJlZmVyZW5jZS5xdWVyeVNlbGVjdG9yQWxsKCd0ZXh0YXJlYScpO1xuICAgICAgICAgICAgdmFyICRjaGlsZHJlbiA9IG51bGw7XG5cbiAgICAgICAgICAgIGlmICgkaW5wdXQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgJGNoaWxkcmVuID0gJGlucHV0WzBdO1xuICAgICAgICAgICAgfSBlbHNlIGlmICgkdGV4dGFyZWEubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgJGNoaWxkcmVuID0gJHRleHRhcmVhWzBdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gJGNoaWxkcmVuO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVHZXRJbmRleDogZnVuY3Rpb24gaGFuZGxlR2V0SW5kZXgoKSB7XG4gICAgICAgICAgICAoMCwgX3RyYW5zZmVyUXVldWUudHJhbnNmZXJJbmNyZWFzZSkoKTtcbiAgICAgICAgICAgIHJldHVybiBfdHJhbnNmZXJRdWV1ZS50cmFuc2ZlckluZGV4O1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVJbmRleEluY3JlYXNlOiBmdW5jdGlvbiBoYW5kbGVJbmRleEluY3JlYXNlKCkge1xuICAgICAgICAgICAgdGhpcy50SW5kZXggPSB0aGlzLmhhbmRsZUdldEluZGV4KCk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICAgIHZhciBfdGhpczMgPSB0aGlzO1xuXG4gICAgICAgIGlmICghdGhpcy5jb25maXJtKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUaXRsZSA9IHRoaXMuJHNsb3RzLnRpdGxlICE9PSB1bmRlZmluZWQgfHwgdGhpcy50aXRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnRyaWdnZXIgPT09ICdmb2N1cycpIHtcbiAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMyk7XG5cbiAgICAgICAgICAgICAgICB2YXIgJGNoaWxkcmVuID0gdGhpcy5nZXRJbnB1dENoaWxkcmVuKCk7XG4gICAgICAgICAgICAgICAgaWYgKCRjaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzSW5wdXQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAkY2hpbGRyZW4uYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCB0aGlzLmhhbmRsZUZvY3VzLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICRjaGlsZHJlbi5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgdGhpcy5oYW5kbGVCbHVyLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHtcbiAgICAgICAgdmFyICRjaGlsZHJlbiA9IHRoaXMuZ2V0SW5wdXRDaGlsZHJlbigpO1xuICAgICAgICBpZiAoJGNoaWxkcmVuKSB7XG4gICAgICAgICAgICAkY2hpbGRyZW4ucmVtb3ZlRXZlbnRMaXN0ZW5lcignZm9jdXMnLCB0aGlzLmhhbmRsZUZvY3VzLCBmYWxzZSk7XG4gICAgICAgICAgICAkY2hpbGRyZW4ucmVtb3ZlRXZlbnRMaXN0ZW5lcignYmx1cicsIHRoaXMuaGFuZGxlQmx1ciwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAyMTEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF92dWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE1KTtcblxudmFyIF92dWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdnVlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIGlzU2VydmVyID0gX3Z1ZTIuZGVmYXVsdC5wcm90b3R5cGUuJGlzU2VydmVyO1xudmFyIFBvcHBlciA9IGlzU2VydmVyID8gZnVuY3Rpb24gKCkge30gOiBfX3dlYnBhY2tfcmVxdWlyZV9fKDEwNik7ZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIHByb3BzOiB7XG4gICAgICAgIHBsYWNlbWVudDoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJ2JvdHRvbSdcbiAgICAgICAgfSxcbiAgICAgICAgYm91bmRhcmllc1BhZGRpbmc6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIGRlZmF1bHQ6IDVcbiAgICAgICAgfSxcbiAgICAgICAgcmVmZXJlbmNlOiBPYmplY3QsXG4gICAgICAgIHBvcHBlcjogT2JqZWN0LFxuICAgICAgICBvZmZzZXQ6IHtcbiAgICAgICAgICAgIGRlZmF1bHQ6IDBcbiAgICAgICAgfSxcbiAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICB0cmFuc2l0aW9uOiBTdHJpbmcsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIHR5cGU6IE9iamVjdCxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIG1vZGlmaWVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29tcHV0ZVN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3B1QWNjZWxlcmF0aW9uOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZXZlbnRPdmVyZmxvdzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdW5kYXJpZXNFbGVtZW50OiAnd2luZG93J1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZpc2libGU6IHRoaXMudmFsdWVcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgd2F0Y2g6IHtcbiAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgIGltbWVkaWF0ZTogdHJ1ZSxcbiAgICAgICAgICAgIGhhbmRsZXI6IGZ1bmN0aW9uIGhhbmRsZXIodmFsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gdmFsO1xuICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2lucHV0JywgdmFsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdmlzaWJsZTogZnVuY3Rpb24gdmlzaWJsZSh2YWwpIHtcbiAgICAgICAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5oYW5kbGVJbmRleEluY3JlYXNlKSB0aGlzLmhhbmRsZUluZGV4SW5jcmVhc2UoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVBvcHBlcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLXBvcHBlci1zaG93Jyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLXBvcHBlci1oaWRlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIHZhbCk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgY3JlYXRlUG9wcGVyOiBmdW5jdGlvbiBjcmVhdGVQb3BwZXIoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgICAgICBpZiAoaXNTZXJ2ZXIpIHJldHVybjtcbiAgICAgICAgICAgIGlmICghL14odG9wfGJvdHRvbXxsZWZ0fHJpZ2h0KSgtc3RhcnR8LWVuZCk/JC9nLnRlc3QodGhpcy5wbGFjZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgb3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICAgICAgICAgIHZhciBwb3BwZXIgPSB0aGlzLnBvcHBlciB8fCB0aGlzLiRyZWZzLnBvcHBlcjtcbiAgICAgICAgICAgIHZhciByZWZlcmVuY2UgPSB0aGlzLnJlZmVyZW5jZSB8fCB0aGlzLiRyZWZzLnJlZmVyZW5jZTtcblxuICAgICAgICAgICAgaWYgKCFwb3BwZXIgfHwgIXJlZmVyZW5jZSkgcmV0dXJuO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5wb3BwZXJKUyAmJiB0aGlzLnBvcHBlckpTLmhhc093blByb3BlcnR5KCdkZXN0cm95JykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBvcHBlckpTLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgb3B0aW9ucy5wbGFjZW1lbnQgPSB0aGlzLnBsYWNlbWVudDtcblxuICAgICAgICAgICAgaWYgKCFvcHRpb25zLm1vZGlmaWVycy5vZmZzZXQpIHtcbiAgICAgICAgICAgICAgICBvcHRpb25zLm1vZGlmaWVycy5vZmZzZXQgPSB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9wdGlvbnMubW9kaWZpZXJzLm9mZnNldC5vZmZzZXQgPSB0aGlzLm9mZnNldDtcbiAgICAgICAgICAgIG9wdGlvbnMub25DcmVhdGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLiRuZXh0VGljayh0aGlzLnVwZGF0ZVBvcHBlcik7XG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnY3JlYXRlZCcsIHRoaXMpO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpO1xuXG4gICAgICAgICAgICB0aGlzLnBvcHBlckpTID0gbmV3IFBvcHBlcihyZWZlcmVuY2UsIHBvcHBlciwgb3B0aW9ucyk7XG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZVBvcHBlcjogZnVuY3Rpb24gdXBkYXRlUG9wcGVyKCkge1xuICAgICAgICAgICAgaWYgKGlzU2VydmVyKSByZXR1cm47XG4gICAgICAgICAgICB0aGlzLnBvcHBlckpTID8gdGhpcy5wb3BwZXJKUy51cGRhdGUoKSA6IHRoaXMuY3JlYXRlUG9wcGVyKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGRvRGVzdHJveTogZnVuY3Rpb24gZG9EZXN0cm95KCkge1xuICAgICAgICAgICAgaWYgKGlzU2VydmVyKSByZXR1cm47XG4gICAgICAgICAgICBpZiAodGhpcy52aXNpYmxlKSByZXR1cm47XG4gICAgICAgICAgICB0aGlzLnBvcHBlckpTLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMucG9wcGVySlMgPSBudWxsO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB1cGRhdGVkOiBmdW5jdGlvbiB1cGRhdGVkKCkge1xuICAgICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMik7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVQb3BwZXIoKTtcbiAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICB9LFxuICAgIGJlZm9yZURlc3Ryb3k6IGZ1bmN0aW9uIGJlZm9yZURlc3Ryb3koKSB7XG4gICAgICAgIGlmIChpc1NlcnZlcikgcmV0dXJuO1xuICAgICAgICBpZiAodGhpcy5wb3BwZXJKUykge1xuICAgICAgICAgICAgdGhpcy5wb3BwZXJKUy5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDIxMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9wcm9ncmVzc192dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjEzKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9wcm9ncmVzc192dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3Byb2dyZXNzX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcHJvZ3Jlc3NfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3Byb2dyZXNzX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzAwNDJkNzY2X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfcHJvZ3Jlc3NfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUyNyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMDA0MmQ3NjZfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9wcm9ncmVzc192dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzAwNDJkNzY2X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfcHJvZ3Jlc3NfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcHJvZ3Jlc3NfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wMDQyZDc2Nl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3Byb2dyZXNzX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wMDQyZDc2Nl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3Byb2dyZXNzX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiAyMTMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9pY29uID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMCk7XG5cbnZhciBfaWNvbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pY29uKTtcblxudmFyIF9hc3Npc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1wcm9ncmVzcyc7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnUHJvZ3Jlc3MnLFxuICAgIGNvbXBvbmVudHM6IHsgSWNvbjogX2ljb24yLmRlZmF1bHQgfSxcbiAgICBwcm9wczoge1xuICAgICAgICBwZXJjZW50OiB7XG4gICAgICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgICAgICBkZWZhdWx0OiAwXG4gICAgICAgIH0sXG4gICAgICAgIHN1Y2Nlc3NQZXJjZW50OiB7XG4gICAgICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgICAgICBkZWZhdWx0OiAwXG4gICAgICAgIH0sXG4gICAgICAgIHN0YXR1czoge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ25vcm1hbCcsICdhY3RpdmUnLCAnd3JvbmcnLCAnc3VjY2VzcyddKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGRlZmF1bHQ6ICdub3JtYWwnXG4gICAgICAgIH0sXG4gICAgICAgIGhpZGVJbmZvOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgc3Ryb2tlV2lkdGg6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIGRlZmF1bHQ6IDEwXG4gICAgICAgIH0sXG4gICAgICAgIHZlcnRpY2FsOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgc3Ryb2tlQ29sb3I6IHtcbiAgICAgICAgICAgIHR5cGU6IFtTdHJpbmcsIEFycmF5XVxuICAgICAgICB9LFxuICAgICAgICB0ZXh0SW5zaWRlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGN1cnJlbnRTdGF0dXM6IHRoaXMuc3RhdHVzXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGlzU3RhdHVzOiBmdW5jdGlvbiBpc1N0YXR1cygpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRTdGF0dXMgPT0gJ3dyb25nJyB8fCB0aGlzLmN1cnJlbnRTdGF0dXMgPT0gJ3N1Y2Nlc3MnO1xuICAgICAgICB9LFxuICAgICAgICBzdGF0dXNJY29uOiBmdW5jdGlvbiBzdGF0dXNJY29uKCkge1xuICAgICAgICAgICAgdmFyIHR5cGUgPSAnJztcbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy5jdXJyZW50U3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnd3JvbmcnOlxuICAgICAgICAgICAgICAgICAgICB0eXBlID0gJ2lvcy1jbG9zZS1jaXJjbGUnO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdzdWNjZXNzJzpcbiAgICAgICAgICAgICAgICAgICAgdHlwZSA9ICdpb3MtY2hlY2ttYXJrLWNpcmNsZSc7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdHlwZTtcbiAgICAgICAgfSxcbiAgICAgICAgYmdTdHlsZTogZnVuY3Rpb24gYmdTdHlsZSgpIHtcbiAgICAgICAgICAgIHZhciBzdHlsZSA9IHRoaXMudmVydGljYWwgPyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBTdHJpbmcodGhpcy5wZXJjZW50KSArICclJyxcbiAgICAgICAgICAgICAgICB3aWR0aDogU3RyaW5nKHRoaXMuc3Ryb2tlV2lkdGgpICsgJ3B4J1xuICAgICAgICAgICAgfSA6IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogU3RyaW5nKHRoaXMucGVyY2VudCkgKyAnJScsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBTdHJpbmcodGhpcy5zdHJva2VXaWR0aCkgKyAncHgnXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBpZiAodGhpcy5zdHJva2VDb2xvcikge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5zdHJva2VDb2xvciA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGVbJ2JhY2tncm91bmQtY29sb3InXSA9IHRoaXMuc3Ryb2tlQ29sb3I7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGVbJ2JhY2tncm91bmQtaW1hZ2UnXSA9ICdsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICcgKyBTdHJpbmcodGhpcy5zdHJva2VDb2xvclswXSkgKyAnIDAlLCAnICsgU3RyaW5nKHRoaXMuc3Ryb2tlQ29sb3JbMV0pICsgJyAxMDAlKSc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH0sXG4gICAgICAgIHN1Y2Nlc3NCZ1N0eWxlOiBmdW5jdGlvbiBzdWNjZXNzQmdTdHlsZSgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZlcnRpY2FsID8ge1xuICAgICAgICAgICAgICAgIGhlaWdodDogU3RyaW5nKHRoaXMuc3VjY2Vzc1BlcmNlbnQpICsgJyUnLFxuICAgICAgICAgICAgICAgIHdpZHRoOiBTdHJpbmcodGhpcy5zdHJva2VXaWR0aCkgKyAncHgnXG4gICAgICAgICAgICB9IDoge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBTdHJpbmcodGhpcy5zdWNjZXNzUGVyY2VudCkgKyAnJScsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBTdHJpbmcodGhpcy5zdHJva2VXaWR0aCkgKyAncHgnXG4gICAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgICB3cmFwQ2xhc3NlczogZnVuY3Rpb24gd3JhcENsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjtcblxuICAgICAgICAgICAgcmV0dXJuIFsnJyArIHByZWZpeENscywgcHJlZml4Q2xzICsgJy0nICsgU3RyaW5nKHRoaXMuY3VycmVudFN0YXR1cyksIChfcmVmID0ge30sICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctc2hvdy1pbmZvJywgIXRoaXMuaGlkZUluZm8gJiYgIXRoaXMudGV4dEluc2lkZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctdmVydGljYWwnLCB0aGlzLnZlcnRpY2FsKSwgX3JlZildO1xuICAgICAgICB9LFxuICAgICAgICB0ZXh0Q2xhc3NlczogZnVuY3Rpb24gdGV4dENsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJlZml4Q2xzICsgJy10ZXh0JztcbiAgICAgICAgfSxcbiAgICAgICAgdGV4dElubmVyQ2xhc3NlczogZnVuY3Rpb24gdGV4dElubmVyQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBwcmVmaXhDbHMgKyAnLXRleHQtaW5uZXInO1xuICAgICAgICB9LFxuICAgICAgICBvdXRlckNsYXNzZXM6IGZ1bmN0aW9uIG91dGVyQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBwcmVmaXhDbHMgKyAnLW91dGVyJztcbiAgICAgICAgfSxcbiAgICAgICAgaW5uZXJDbGFzc2VzOiBmdW5jdGlvbiBpbm5lckNsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJlZml4Q2xzICsgJy1pbm5lcic7XG4gICAgICAgIH0sXG4gICAgICAgIGJnQ2xhc3NlczogZnVuY3Rpb24gYmdDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIHByZWZpeENscyArICctYmcnO1xuICAgICAgICB9LFxuICAgICAgICBzdWNjZXNzQmdDbGFzc2VzOiBmdW5jdGlvbiBzdWNjZXNzQmdDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIHByZWZpeENscyArICctc3VjY2Vzcy1iZyc7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlU3RhdHVzKCk7XG4gICAgfSxcblxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgaGFuZGxlU3RhdHVzOiBmdW5jdGlvbiBoYW5kbGVTdGF0dXMoaXNEb3duKSB7XG4gICAgICAgICAgICBpZiAoaXNEb3duKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50U3RhdHVzID0gJ25vcm1hbCc7XG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tc3RhdHVzLWNoYW5nZScsICdub3JtYWwnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcnNlSW50KHRoaXMucGVyY2VudCwgMTApID09IDEwMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRTdGF0dXMgPSAnc3VjY2Vzcyc7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLXN0YXR1cy1jaGFuZ2UnLCAnc3VjY2VzcycpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgd2F0Y2g6IHtcbiAgICAgICAgcGVyY2VudDogZnVuY3Rpb24gcGVyY2VudCh2YWwsIG9sZFZhbCkge1xuICAgICAgICAgICAgaWYgKHZhbCA8IG9sZFZhbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlU3RhdHVzKHRydWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVN0YXR1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBzdGF0dXM6IGZ1bmN0aW9uIHN0YXR1cyh2YWwpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFN0YXR1cyA9IHZhbDtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMjE0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxudmFyIF9lbWl0dGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0KTtcblxudmFyIF9lbWl0dGVyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2VtaXR0ZXIpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1yYWRpbyc7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnUmFkaW8nLFxuICAgIG1peGluczogW19lbWl0dGVyMi5kZWZhdWx0XSxcbiAgICBwcm9wczoge1xuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgdHlwZTogW1N0cmluZywgTnVtYmVyLCBCb29sZWFuXSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHRydWVWYWx1ZToge1xuICAgICAgICAgICAgdHlwZTogW1N0cmluZywgTnVtYmVyLCBCb29sZWFuXSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgZmFsc2VWYWx1ZToge1xuICAgICAgICAgICAgdHlwZTogW1N0cmluZywgTnVtYmVyLCBCb29sZWFuXSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsOiB7XG4gICAgICAgICAgICB0eXBlOiBbU3RyaW5nLCBOdW1iZXJdXG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgc2l6ZToge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ3NtYWxsJywgJ2xhcmdlJywgJ2RlZmF1bHQnXSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICF0aGlzLiRJVklFVyB8fCB0aGlzLiRJVklFVy5zaXplID09PSAnJyA/ICdkZWZhdWx0JyA6IHRoaXMuJElWSUVXLnNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG5hbWU6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZ1xuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY3VycmVudFZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgZ3JvdXA6IGZhbHNlLFxuICAgICAgICAgICAgZ3JvdXBOYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgICAgICBwYXJlbnQ6ICgwLCBfYXNzaXN0LmZpbmRDb21wb25lbnRVcHdhcmQpKHRoaXMsICdSYWRpb0dyb3VwJyksXG4gICAgICAgICAgICBmb2N1c1dyYXBwZXI6IGZhbHNlLFxuICAgICAgICAgICAgZm9jdXNJbm5lcjogZmFsc2VcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgd3JhcENsYXNzZXM6IGZ1bmN0aW9uIHdyYXBDbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWY7XG5cbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy13cmFwcGVyJywgKF9yZWYgPSB7fSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1ncm91cC1pdGVtJywgdGhpcy5ncm91cCksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctd3JhcHBlci1jaGVja2VkJywgdGhpcy5jdXJyZW50VmFsdWUpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLXdyYXBwZXItZGlzYWJsZWQnLCB0aGlzLmRpc2FibGVkKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy0nICsgU3RyaW5nKHRoaXMuc2l6ZSksICEhdGhpcy5zaXplKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1mb2N1cycsIHRoaXMuZm9jdXNXcmFwcGVyKSwgX3JlZildO1xuICAgICAgICB9LFxuICAgICAgICByYWRpb0NsYXNzZXM6IGZ1bmN0aW9uIHJhZGlvQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHZhciBfcmVmMjtcblxuICAgICAgICAgICAgcmV0dXJuIFsnJyArIHByZWZpeENscywgKF9yZWYyID0ge30sICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYyLCBwcmVmaXhDbHMgKyAnLWNoZWNrZWQnLCB0aGlzLmN1cnJlbnRWYWx1ZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYyLCBwcmVmaXhDbHMgKyAnLWRpc2FibGVkJywgdGhpcy5kaXNhYmxlZCksIF9yZWYyKV07XG4gICAgICAgIH0sXG4gICAgICAgIGlubmVyQ2xhc3NlczogZnVuY3Rpb24gaW5uZXJDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXhDbHMgKyAnLWlubmVyJywgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sIHByZWZpeENscyArICctZm9jdXMnLCB0aGlzLmZvY3VzSW5uZXIpXTtcbiAgICAgICAgfSxcbiAgICAgICAgaW5wdXRDbGFzc2VzOiBmdW5jdGlvbiBpbnB1dENsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJlZml4Q2xzICsgJy1pbnB1dCc7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICAgIGlmICh0aGlzLnBhcmVudCkge1xuICAgICAgICAgICAgdGhpcy5ncm91cCA9IHRydWU7XG4gICAgICAgICAgICBpZiAodGhpcy5uYW1lICYmIHRoaXMubmFtZSAhPT0gdGhpcy5wYXJlbnQubmFtZSkge1xuICAgICAgICAgICAgICAgIGlmIChjb25zb2xlLndhcm4pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdbaXZpZXddIE5hbWUgZG9lcyBub3QgbWF0Y2ggUmFkaW8gR3JvdXAgbmFtZS4nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZ3JvdXBOYW1lID0gdGhpcy5wYXJlbnQubmFtZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmdyb3VwKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudC51cGRhdGVWYWx1ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgY2hhbmdlOiBmdW5jdGlvbiBjaGFuZ2UoZXZlbnQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgY2hlY2tlZCA9IGV2ZW50LnRhcmdldC5jaGVja2VkO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBjaGVja2VkO1xuXG4gICAgICAgICAgICB2YXIgdmFsdWUgPSBjaGVja2VkID8gdGhpcy50cnVlVmFsdWUgOiB0aGlzLmZhbHNlVmFsdWU7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIHZhbHVlKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuZ3JvdXApIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5sYWJlbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFyZW50LmNoYW5nZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ6IHRoaXMudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1jaGFuZ2UnLCB2YWx1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwYXRjaCgnRm9ybUl0ZW0nLCAnb24tZm9ybS1jaGFuZ2UnLCB2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZVZhbHVlOiBmdW5jdGlvbiB1cGRhdGVWYWx1ZSgpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gdGhpcy52YWx1ZSA9PT0gdGhpcy50cnVlVmFsdWU7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQmx1cjogZnVuY3Rpb24gb25CbHVyKCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c1dyYXBwZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNJbm5lciA9IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgICBvbkZvY3VzOiBmdW5jdGlvbiBvbkZvY3VzKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZ3JvdXAgJiYgdGhpcy5wYXJlbnQudHlwZSA9PT0gJ2J1dHRvbicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzV3JhcHBlciA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNJbm5lciA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHdhdGNoOiB7XG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZSh2YWwpIHtcbiAgICAgICAgICAgIGlmICh2YWwgPT09IHRoaXMudHJ1ZVZhbHVlIHx8IHZhbCA9PT0gdGhpcy5mYWxzZVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aHJvdyAnVmFsdWUgc2hvdWxkIGJlIHRydWVWYWx1ZSBvciBmYWxzZVZhbHVlLic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDIxNSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF9hc3Npc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXG52YXIgX2VtaXR0ZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQpO1xuXG52YXIgX2VtaXR0ZXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZW1pdHRlcik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhDbHMgPSAnaXZ1LXJhZGlvLWdyb3VwJztcblxudmFyIHNlZWQgPSAwO1xudmFyIG5vdyA9IERhdGUubm93KCk7XG52YXIgZ2V0VXVpZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgICByZXR1cm4gJ2l2dVJhZGlvR3JvdXBfJyArIFN0cmluZyhub3cpICsgJ18nICsgc2VlZCsrO1xufS5iaW5kKHVuZGVmaW5lZCk7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnUmFkaW9Hcm91cCcsXG4gICAgbWl4aW5zOiBbX2VtaXR0ZXIyLmRlZmF1bHRdLFxuICAgIHByb3BzOiB7XG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICB0eXBlOiBbU3RyaW5nLCBOdW1iZXJdLFxuICAgICAgICAgICAgZGVmYXVsdDogJydcbiAgICAgICAgfSxcbiAgICAgICAgc2l6ZToge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ3NtYWxsJywgJ2xhcmdlJywgJ2RlZmF1bHQnXSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICF0aGlzLiRJVklFVyB8fCB0aGlzLiRJVklFVy5zaXplID09PSAnJyA/ICdkZWZhdWx0JyA6IHRoaXMuJElWSUVXLnNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IHtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWydidXR0b24nXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHZlcnRpY2FsOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgbmFtZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogZ2V0VXVpZFxuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY3VycmVudFZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgY2hpbGRyZW5zOiBbXVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWY7XG5cbiAgICAgICAgICAgIHJldHVybiBbJycgKyBwcmVmaXhDbHMsIChfcmVmID0ge30sICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctJyArIFN0cmluZyh0aGlzLnNpemUpLCAhIXRoaXMuc2l6ZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsICdpdnUtcmFkaW8tJyArIFN0cmluZyh0aGlzLnNpemUpLCAhIXRoaXMuc2l6ZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctJyArIFN0cmluZyh0aGlzLnR5cGUpLCAhIXRoaXMudHlwZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctdmVydGljYWwnLCB0aGlzLnZlcnRpY2FsKSwgX3JlZildO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKCk7XG4gICAgfSxcblxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgdXBkYXRlVmFsdWU6IGZ1bmN0aW9uIHVwZGF0ZVZhbHVlKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgdGhpcy5jaGlsZHJlbnMgPSAoMCwgX2Fzc2lzdC5maW5kQ29tcG9uZW50c0Rvd253YXJkKSh0aGlzLCAnUmFkaW8nKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmNoaWxkcmVucykge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW5zLmZvckVhY2goZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkLmN1cnJlbnRWYWx1ZSA9IHRoaXMuY3VycmVudFZhbHVlID09PSBjaGlsZC5sYWJlbDtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGQuZ3JvdXAgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNoYW5nZTogZnVuY3Rpb24gY2hhbmdlKGRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gZGF0YS52YWx1ZTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoKTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2lucHV0JywgZGF0YS52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1jaGFuZ2UnLCBkYXRhLnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2goJ0Zvcm1JdGVtJywgJ29uLWZvcm0tY2hhbmdlJywgZGF0YS52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHdhdGNoOiB7XG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZSgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50VmFsdWUgIT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgICAgICAgICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMik7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDIxNiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG52YXIgX2xvY2FsZSA9IF9fd2VicGFja19yZXF1aXJlX18oNSk7XG5cbnZhciBfbG9jYWxlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2xvY2FsZSk7XG5cbnZhciBfZW1pdHRlciA9IF9fd2VicGFja19yZXF1aXJlX18oNCk7XG5cbnZhciBfZW1pdHRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9lbWl0dGVyKTtcblxudmFyIF9pY29uID0gX193ZWJwYWNrX3JlcXVpcmVfXyg4KTtcblxudmFyIF9pY29uMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2ljb24pO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1yYXRlJztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdSYXRlJyxcbiAgICBtaXhpbnM6IFtfbG9jYWxlMi5kZWZhdWx0LCBfZW1pdHRlcjIuZGVmYXVsdF0sXG4gICAgY29tcG9uZW50czogeyBJY29uOiBfaWNvbjIuZGVmYXVsdCB9LFxuICAgIHByb3BzOiB7XG4gICAgICAgIGNvdW50OiB7XG4gICAgICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgICAgICBkZWZhdWx0OiA1XG4gICAgICAgIH0sXG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgICAgICBkZWZhdWx0OiAwXG4gICAgICAgIH0sXG4gICAgICAgIGFsbG93SGFsZjoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd1RleHQ6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBuYW1lOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgY2xlYXJhYmxlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgY2hhcmFjdGVyOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgICB9LFxuICAgICAgICBpY29uOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgICB9LFxuICAgICAgICBjdXN0b21JY29uOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcHJlZml4Q2xzOiBwcmVmaXhDbHMsXG4gICAgICAgICAgICBob3ZlckluZGV4OiAtMSxcbiAgICAgICAgICAgIGlzSG92ZXI6IGZhbHNlLFxuICAgICAgICAgICAgaXNIYWxmOiB0aGlzLmFsbG93SGFsZiAmJiB0aGlzLnZhbHVlLnRvU3RyaW5nKCkuaW5kZXhPZignLicpID49IDAsXG4gICAgICAgICAgICBjdXJyZW50VmFsdWU6IHRoaXMudmFsdWVcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgY2xhc3NlczogZnVuY3Rpb24gY2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbJycgKyBwcmVmaXhDbHMsICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKHt9LCBwcmVmaXhDbHMgKyAnLWRpc2FibGVkJywgdGhpcy5kaXNhYmxlZCldO1xuICAgICAgICB9LFxuICAgICAgICBpY29uQ2xhc3NlczogZnVuY3Rpb24gaWNvbkNsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjI7XG5cbiAgICAgICAgICAgIHJldHVybiBbJ2l2dS1pY29uJywgKF9yZWYyID0ge30sICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYyLCAnaXZ1LWljb24tJyArIFN0cmluZyh0aGlzLmljb24pLCB0aGlzLmljb24gIT09ICcnKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjIsICcnICsgU3RyaW5nKHRoaXMuY3VzdG9tSWNvbiksIHRoaXMuY3VzdG9tSWNvbiAhPT0gJycpLCBfcmVmMildO1xuICAgICAgICB9LFxuICAgICAgICBzaG93Q2hhcmFjdGVyOiBmdW5jdGlvbiBzaG93Q2hhcmFjdGVyKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2hhcmFjdGVyICE9PSAnJyB8fCB0aGlzLmljb24gIT09ICcnIHx8IHRoaXMuY3VzdG9tSWNvbiAhPT0gJyc7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHdhdGNoOiB7XG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZSh2YWwpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gdmFsO1xuICAgICAgICB9LFxuICAgICAgICBjdXJyZW50VmFsdWU6IGZ1bmN0aW9uIGN1cnJlbnRWYWx1ZSh2YWwpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0SGFsZih2YWwpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIHN0YXJDbHM6IGZ1bmN0aW9uIHN0YXJDbHModmFsdWUpIHtcbiAgICAgICAgICAgIHZhciBfcmVmMztcblxuICAgICAgICAgICAgdmFyIGhvdmVySW5kZXggPSB0aGlzLmhvdmVySW5kZXg7XG4gICAgICAgICAgICB2YXIgY3VycmVudEluZGV4ID0gdGhpcy5pc0hvdmVyID8gaG92ZXJJbmRleCA6IHRoaXMuY3VycmVudFZhbHVlO1xuXG4gICAgICAgICAgICB2YXIgZnVsbCA9IGZhbHNlO1xuICAgICAgICAgICAgdmFyIGlzTGFzdCA9IGZhbHNlO1xuXG4gICAgICAgICAgICBpZiAoY3VycmVudEluZGV4ID49IHZhbHVlKSBmdWxsID0gdHJ1ZTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuaXNIb3Zlcikge1xuICAgICAgICAgICAgICAgIGlzTGFzdCA9IGN1cnJlbnRJbmRleCA9PT0gdmFsdWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlzTGFzdCA9IE1hdGguY2VpbCh0aGlzLmN1cnJlbnRWYWx1ZSkgPT09IHZhbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gWyhfcmVmMyA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmMywgcHJlZml4Q2xzICsgJy1zdGFyJywgIXRoaXMuc2hvd0NoYXJhY3RlciksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYzLCBwcmVmaXhDbHMgKyAnLXN0YXItY2hhcnQnLCB0aGlzLnNob3dDaGFyYWN0ZXIpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmMywgcHJlZml4Q2xzICsgJy1zdGFyLWZ1bGwnLCAhaXNMYXN0ICYmIGZ1bGwgfHwgaXNMYXN0ICYmICF0aGlzLmlzSGFsZiksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYzLCBwcmVmaXhDbHMgKyAnLXN0YXItaGFsZicsIGlzTGFzdCAmJiB0aGlzLmlzSGFsZiksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYzLCBwcmVmaXhDbHMgKyAnLXN0YXItemVybycsICFmdWxsKSwgX3JlZjMpXTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlTW91c2Vtb3ZlOiBmdW5jdGlvbiBoYW5kbGVNb3VzZW1vdmUodmFsdWUsIGV2ZW50KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgICAgICAgICB0aGlzLmlzSG92ZXIgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKHRoaXMuYWxsb3dIYWxmKSB7XG4gICAgICAgICAgICAgICAgdmFyIHR5cGUgPSBldmVudC50YXJnZXQuZ2V0QXR0cmlidXRlKCd0eXBlJykgfHwgZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0hhbGYgPSB0eXBlID09PSAnaGFsZic7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNIYWxmID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmhvdmVySW5kZXggPSB2YWx1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlTW91c2VsZWF2ZTogZnVuY3Rpb24gaGFuZGxlTW91c2VsZWF2ZSgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG5cbiAgICAgICAgICAgIHRoaXMuaXNIb3ZlciA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5zZXRIYWxmKHRoaXMuY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuaG92ZXJJbmRleCA9IC0xO1xuICAgICAgICB9LFxuICAgICAgICBzZXRIYWxmOiBmdW5jdGlvbiBzZXRIYWxmKHZhbCkge1xuICAgICAgICAgICAgdGhpcy5pc0hhbGYgPSB0aGlzLmFsbG93SGFsZiAmJiB2YWwudG9TdHJpbmcoKS5pbmRleE9mKCcuJykgPj0gMDtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlQ2xpY2s6IGZ1bmN0aW9uIGhhbmRsZUNsaWNrKHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5pc0hhbGYpIHZhbHVlIC09IDAuNTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuY2xlYXJhYmxlICYmIE1hdGguYWJzKHZhbHVlIC0gdGhpcy5jdXJyZW50VmFsdWUpIDwgMC4wMSkge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2lucHV0JywgdmFsdWUpO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tY2hhbmdlJywgdmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5kaXNwYXRjaCgnRm9ybUl0ZW0nLCAnb24tZm9ybS1jaGFuZ2UnLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDIxNyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfaXNGaW5pdGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDcxKTtcblxudmFyIF9pc0Zpbml0ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pc0Zpbml0ZSk7XG5cbnZhciBfc2xpY2VkVG9BcnJheTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIzKTtcblxudmFyIF9zbGljZWRUb0FycmF5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3NsaWNlZFRvQXJyYXkyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX3RvQ29uc3VtYWJsZUFycmF5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMTYpO1xuXG52YXIgX3RvQ29uc3VtYWJsZUFycmF5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RvQ29uc3VtYWJsZUFycmF5Mik7XG5cbnZhciBfaW5wdXROdW1iZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE4NCk7XG5cbnZhciBfaW5wdXROdW1iZXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaW5wdXROdW1iZXIpO1xuXG52YXIgX3Rvb2x0aXAgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDgzKTtcblxudmFyIF90b29sdGlwMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3Rvb2x0aXApO1xuXG52YXIgX2Fzc2lzdCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbnZhciBfZG9tID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMyk7XG5cbnZhciBfZW1pdHRlciA9IF9fd2VicGFja19yZXF1aXJlX18oNCk7XG5cbnZhciBfZW1pdHRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9lbWl0dGVyKTtcblxudmFyIF9lbGVtZW50UmVzaXplRGV0ZWN0b3IgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDg0KTtcblxudmFyIF9lbGVtZW50UmVzaXplRGV0ZWN0b3IyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZWxlbWVudFJlc2l6ZURldGVjdG9yKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtc2xpZGVyJztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdTbGlkZXInLFxuICAgIG1peGluczogW19lbWl0dGVyMi5kZWZhdWx0XSxcbiAgICBjb21wb25lbnRzOiB7IElucHV0TnVtYmVyOiBfaW5wdXROdW1iZXIyLmRlZmF1bHQsIFRvb2x0aXA6IF90b29sdGlwMi5kZWZhdWx0IH0sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgbWluOiB7XG4gICAgICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgICAgICBkZWZhdWx0OiAwXG4gICAgICAgIH0sXG4gICAgICAgIG1heDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgZGVmYXVsdDogMTAwXG4gICAgICAgIH0sXG4gICAgICAgIHN0ZXA6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIGRlZmF1bHQ6IDFcbiAgICAgICAgfSxcbiAgICAgICAgcmFuZ2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgdHlwZTogW051bWJlciwgQXJyYXldLFxuICAgICAgICAgICAgZGVmYXVsdDogMFxuICAgICAgICB9LFxuICAgICAgICBkaXNhYmxlZDoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHNob3dJbnB1dDoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIGlucHV0U2l6ZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogJ2RlZmF1bHQnLFxuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ3NtYWxsJywgJ2xhcmdlJywgJ2RlZmF1bHQnXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHNob3dTdG9wczoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHRpcEZvcm1hdDoge1xuICAgICAgICAgICAgdHlwZTogRnVuY3Rpb24sXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCh2YWwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBzaG93VGlwOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiAnaG92ZXInLFxuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ2hvdmVyJywgJ2Fsd2F5cycsICduZXZlciddKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbmFtZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nXG4gICAgICAgIH0sXG5cbiAgICAgICAgYWN0aXZlQ2hhbmdlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogdHJ1ZVxuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICB2YXIgdmFsID0gdGhpcy5jaGVja0xpbWl0cyhBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpID8gdGhpcy52YWx1ZSA6IFt0aGlzLnZhbHVlXSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVmaXhDbHM6IHByZWZpeENscyxcbiAgICAgICAgICAgIGN1cnJlbnRWYWx1ZTogdmFsLFxuICAgICAgICAgICAgZHJhZ2dpbmc6IGZhbHNlLFxuICAgICAgICAgICAgcG9pbnRlckRvd246ICcnLFxuICAgICAgICAgICAgc3RhcnRYOiAwLFxuICAgICAgICAgICAgY3VycmVudFg6IDAsXG4gICAgICAgICAgICBzdGFydFBvczogMCxcbiAgICAgICAgICAgIG9sZFZhbHVlOiBbXS5jb25jYXQoKDAsIF90b0NvbnN1bWFibGVBcnJheTMuZGVmYXVsdCkodmFsKSksXG4gICAgICAgICAgICB2YWx1ZUluZGV4OiB7XG4gICAgICAgICAgICAgICAgbWluOiAwLFxuICAgICAgICAgICAgICAgIG1heDogMVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNsaWRlcldpZHRoOiAwXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIHdhdGNoOiB7XG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZSh2YWwpIHtcbiAgICAgICAgICAgIHZhbCA9IHRoaXMuY2hlY2tMaW1pdHMoQXJyYXkuaXNBcnJheSh2YWwpID8gdmFsIDogW3ZhbF0pO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmRyYWdnaW5nICYmICh2YWxbMF0gIT09IHRoaXMuY3VycmVudFZhbHVlWzBdIHx8IHZhbFsxXSAhPT0gdGhpcy5jdXJyZW50VmFsdWVbMV0pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB2YWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGV4cG9ydFZhbHVlOiBmdW5jdGlvbiBleHBvcnRWYWx1ZSh2YWx1ZXMpIHtcbiAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMubWluVG9vbHRpcC51cGRhdGVQb3BwZXIoKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5yYW5nZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLm1heFRvb2x0aXAudXBkYXRlUG9wcGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIHZhciB2YWx1ZSA9IHRoaXMucmFuZ2UgPyB2YWx1ZXMgOiB2YWx1ZXNbMF07XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWlucHV0JywgdmFsdWUpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBjb21wdXRlZDoge1xuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWY7XG5cbiAgICAgICAgICAgIHJldHVybiBbJycgKyBwcmVmaXhDbHMsIChfcmVmID0ge30sICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctaW5wdXQnLCB0aGlzLnNob3dJbnB1dCAmJiAhdGhpcy5yYW5nZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctcmFuZ2UnLCB0aGlzLnJhbmdlKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1kaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQpLCBfcmVmKV07XG4gICAgICAgIH0sXG4gICAgICAgIG1pbkJ1dHRvbkNsYXNzZXM6IGZ1bmN0aW9uIG1pbkJ1dHRvbkNsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gW3ByZWZpeENscyArICctYnV0dG9uJywgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sIHByZWZpeENscyArICctYnV0dG9uLWRyYWdnaW5nJywgdGhpcy5wb2ludGVyRG93biA9PT0gJ21pbicpXTtcbiAgICAgICAgfSxcbiAgICAgICAgbWF4QnV0dG9uQ2xhc3NlczogZnVuY3Rpb24gbWF4QnV0dG9uQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy1idXR0b24nLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KSh7fSwgcHJlZml4Q2xzICsgJy1idXR0b24tZHJhZ2dpbmcnLCB0aGlzLnBvaW50ZXJEb3duID09PSAnbWF4JyldO1xuICAgICAgICB9LFxuICAgICAgICBleHBvcnRWYWx1ZTogZnVuY3Rpb24gZXhwb3J0VmFsdWUoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIGRlY2ltYWxDYXNlcyA9IChTdHJpbmcodGhpcy5zdGVwKS5zcGxpdCgnLicpWzFdIHx8ICcnKS5sZW5ndGg7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50VmFsdWUubWFwKGZ1bmN0aW9uIChucikge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyKG5yLnRvRml4ZWQoZGVjaW1hbENhc2VzKSk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB9LFxuICAgICAgICBtaW5Qb3NpdGlvbjogZnVuY3Rpb24gbWluUG9zaXRpb24oKSB7XG4gICAgICAgICAgICB2YXIgdmFsID0gdGhpcy5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gKHZhbFswXSAtIHRoaXMubWluKSAvIHRoaXMudmFsdWVSYW5nZSAqIDEwMDtcbiAgICAgICAgfSxcblxuICAgICAgICBtYXhQb3NpdGlvbjogZnVuY3Rpb24gbWF4UG9zaXRpb24oKSB7XG4gICAgICAgICAgICB2YXIgdmFsID0gdGhpcy5jdXJyZW50VmFsdWU7XG5cbiAgICAgICAgICAgIHJldHVybiAodmFsWzFdIC0gdGhpcy5taW4pIC8gdGhpcy52YWx1ZVJhbmdlICogMTAwO1xuICAgICAgICB9LFxuICAgICAgICBiYXJTdHlsZTogZnVuY3Rpb24gYmFyU3R5bGUoKSB7XG4gICAgICAgICAgICB2YXIgc3R5bGUgPSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICh0aGlzLmN1cnJlbnRWYWx1ZVswXSAtIHRoaXMubWluKSAvIHRoaXMudmFsdWVSYW5nZSAqIDEwMCArICclJ1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgaWYgKHRoaXMucmFuZ2UpIHtcbiAgICAgICAgICAgICAgICBzdHlsZS5sZWZ0ID0gKHRoaXMuY3VycmVudFZhbHVlWzBdIC0gdGhpcy5taW4pIC8gdGhpcy52YWx1ZVJhbmdlICogMTAwICsgJyUnO1xuICAgICAgICAgICAgICAgIHN0eWxlLndpZHRoID0gKHRoaXMuY3VycmVudFZhbHVlWzFdIC0gdGhpcy5jdXJyZW50VmFsdWVbMF0pIC8gdGhpcy52YWx1ZVJhbmdlICogMTAwICsgJyUnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH0sXG4gICAgICAgIHN0b3BzOiBmdW5jdGlvbiBzdG9wcygpIHtcbiAgICAgICAgICAgIHZhciBzdG9wQ291bnQgPSB0aGlzLnZhbHVlUmFuZ2UgLyB0aGlzLnN0ZXA7XG4gICAgICAgICAgICB2YXIgcmVzdWx0ID0gW107XG4gICAgICAgICAgICB2YXIgc3RlcFdpZHRoID0gMTAwICogdGhpcy5zdGVwIC8gdGhpcy52YWx1ZVJhbmdlO1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPCBzdG9wQ291bnQ7IGkrKykge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGkgKiBzdGVwV2lkdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSxcbiAgICAgICAgdGlwRGlzYWJsZWQ6IGZ1bmN0aW9uIHRpcERpc2FibGVkKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudGlwRm9ybWF0KHRoaXMuY3VycmVudFZhbHVlWzBdKSA9PT0gbnVsbCB8fCB0aGlzLnNob3dUaXAgPT09ICduZXZlcic7XG4gICAgICAgIH0sXG4gICAgICAgIHZhbHVlUmFuZ2U6IGZ1bmN0aW9uIHZhbHVlUmFuZ2UoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tYXggLSB0aGlzLm1pbjtcbiAgICAgICAgfSxcbiAgICAgICAgZmlyc3RQb3NpdGlvbjogZnVuY3Rpb24gZmlyc3RQb3NpdGlvbigpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRWYWx1ZVswXTtcbiAgICAgICAgfSxcbiAgICAgICAgc2Vjb25kUG9zaXRpb246IGZ1bmN0aW9uIHNlY29uZFBvc2l0aW9uKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFZhbHVlWzFdO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGdldFBvaW50ZXJYOiBmdW5jdGlvbiBnZXRQb2ludGVyWChlKSB7XG4gICAgICAgICAgICByZXR1cm4gZS50eXBlLmluZGV4T2YoJ3RvdWNoJykgIT09IC0xID8gZS50b3VjaGVzWzBdLmNsaWVudFggOiBlLmNsaWVudFg7XG4gICAgICAgIH0sXG4gICAgICAgIGNoZWNrTGltaXRzOiBmdW5jdGlvbiBjaGVja0xpbWl0cyhfcmVmNCkge1xuICAgICAgICAgICAgdmFyIF9yZWY1ID0gKDAsIF9zbGljZWRUb0FycmF5My5kZWZhdWx0KShfcmVmNCwgMiksXG4gICAgICAgICAgICAgICAgbWluID0gX3JlZjVbMF0sXG4gICAgICAgICAgICAgICAgbWF4ID0gX3JlZjVbMV07XG5cbiAgICAgICAgICAgIG1pbiA9IE1hdGgubWF4KHRoaXMubWluLCBtaW4pO1xuICAgICAgICAgICAgbWluID0gTWF0aC5taW4odGhpcy5tYXgsIG1pbik7XG5cbiAgICAgICAgICAgIG1heCA9IE1hdGgubWF4KHRoaXMubWluLCBtaW4sIG1heCk7XG4gICAgICAgICAgICBtYXggPSBNYXRoLm1pbih0aGlzLm1heCwgbWF4KTtcbiAgICAgICAgICAgIHJldHVybiBbbWluLCBtYXhdO1xuICAgICAgICB9LFxuICAgICAgICBnZXRDdXJyZW50VmFsdWU6IGZ1bmN0aW9uIGdldEN1cnJlbnRWYWx1ZShldmVudCwgdHlwZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBpbmRleCA9IHRoaXMudmFsdWVJbmRleFt0eXBlXTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgaW5kZXggPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50VmFsdWVbaW5kZXhdO1xuICAgICAgICB9LFxuICAgICAgICBvbktleUxlZnQ6IGZ1bmN0aW9uIG9uS2V5TGVmdChldmVudCwgdHlwZSkge1xuICAgICAgICAgICAgdmFyIHZhbHVlID0gdGhpcy5nZXRDdXJyZW50VmFsdWUoZXZlbnQsIHR5cGUpO1xuICAgICAgICAgICAgaWYgKCgwLCBfaXNGaW5pdGUyLmRlZmF1bHQpKHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlQnV0dG9uUG9zaXRpb24odmFsdWUgLSB0aGlzLnN0ZXAsIHR5cGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBvbktleVJpZ2h0OiBmdW5jdGlvbiBvbktleVJpZ2h0KGV2ZW50LCB0eXBlKSB7XG4gICAgICAgICAgICB2YXIgdmFsdWUgPSB0aGlzLmdldEN1cnJlbnRWYWx1ZShldmVudCwgdHlwZSk7XG4gICAgICAgICAgICBpZiAoKDAsIF9pc0Zpbml0ZTIuZGVmYXVsdCkodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VCdXR0b25Qb3NpdGlvbih2YWx1ZSArIHRoaXMuc3RlcCwgdHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG9uUG9pbnRlckRvd246IGZ1bmN0aW9uIG9uUG9pbnRlckRvd24oZXZlbnQsIHR5cGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5wb2ludGVyRG93biA9IHR5cGU7XG5cbiAgICAgICAgICAgIHRoaXMub25Qb2ludGVyRHJhZ1N0YXJ0KGV2ZW50KTtcbiAgICAgICAgICAgICgwLCBfZG9tLm9uKSh3aW5kb3csICdtb3VzZW1vdmUnLCB0aGlzLm9uUG9pbnRlckRyYWcpO1xuICAgICAgICAgICAgKDAsIF9kb20ub24pKHdpbmRvdywgJ3RvdWNobW92ZScsIHRoaXMub25Qb2ludGVyRHJhZyk7XG4gICAgICAgICAgICAoMCwgX2RvbS5vbikod2luZG93LCAnbW91c2V1cCcsIHRoaXMub25Qb2ludGVyRHJhZ0VuZCk7XG4gICAgICAgICAgICAoMCwgX2RvbS5vbikod2luZG93LCAndG91Y2hlbmQnLCB0aGlzLm9uUG9pbnRlckRyYWdFbmQpO1xuICAgICAgICB9LFxuICAgICAgICBvblBvaW50ZXJEcmFnU3RhcnQ6IGZ1bmN0aW9uIG9uUG9pbnRlckRyYWdTdGFydChldmVudCkge1xuICAgICAgICAgICAgdGhpcy5kcmFnZ2luZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5zdGFydFggPSB0aGlzLmdldFBvaW50ZXJYKGV2ZW50KTtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRQb3MgPSB0aGlzW1N0cmluZyh0aGlzLnBvaW50ZXJEb3duKSArICdQb3NpdGlvbiddICogdGhpcy52YWx1ZVJhbmdlIC8gMTAwICsgdGhpcy5taW47XG4gICAgICAgIH0sXG4gICAgICAgIG9uUG9pbnRlckRyYWc6IGZ1bmN0aW9uIG9uUG9pbnRlckRyYWcoZXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZHJhZ2dpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy4kcmVmc1tTdHJpbmcodGhpcy5wb2ludGVyRG93bikgKyAnVG9vbHRpcCddLnZpc2libGUgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50WCA9IHRoaXMuZ2V0UG9pbnRlclgoZXZlbnQpO1xuICAgICAgICAgICAgdmFyIGRpZmYgPSAodGhpcy5jdXJyZW50WCAtIHRoaXMuc3RhcnRYKSAvIHRoaXMuc2xpZGVyV2lkdGggKiB0aGlzLnZhbHVlUmFuZ2U7XG5cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlQnV0dG9uUG9zaXRpb24odGhpcy5zdGFydFBvcyArIGRpZmYpO1xuICAgICAgICB9LFxuICAgICAgICBvblBvaW50ZXJEcmFnRW5kOiBmdW5jdGlvbiBvblBvaW50ZXJEcmFnRW5kKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZHJhZ2dpbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRyYWdnaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy4kcmVmc1tTdHJpbmcodGhpcy5wb2ludGVyRG93bikgKyAnVG9vbHRpcCddLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmVtaXRDaGFuZ2UoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5wb2ludGVyRG93biA9ICcnO1xuICAgICAgICAgICAgKDAsIF9kb20ub2ZmKSh3aW5kb3csICdtb3VzZW1vdmUnLCB0aGlzLm9uUG9pbnRlckRyYWcpO1xuICAgICAgICAgICAgKDAsIF9kb20ub2ZmKSh3aW5kb3csICd0b3VjaG1vdmUnLCB0aGlzLm9uUG9pbnRlckRyYWcpO1xuICAgICAgICAgICAgKDAsIF9kb20ub2ZmKSh3aW5kb3csICdtb3VzZXVwJywgdGhpcy5vblBvaW50ZXJEcmFnRW5kKTtcbiAgICAgICAgICAgICgwLCBfZG9tLm9mZikod2luZG93LCAndG91Y2hlbmQnLCB0aGlzLm9uUG9pbnRlckRyYWdFbmQpO1xuICAgICAgICB9LFxuICAgICAgICBjaGFuZ2VCdXR0b25Qb3NpdGlvbjogZnVuY3Rpb24gY2hhbmdlQnV0dG9uUG9zaXRpb24obmV3UG9zLCBmb3JjZVR5cGUpIHtcbiAgICAgICAgICAgIHZhciB0eXBlID0gZm9yY2VUeXBlIHx8IHRoaXMucG9pbnRlckRvd247XG4gICAgICAgICAgICB2YXIgaW5kZXggPSB0eXBlID09PSAnbWluJyA/IDAgOiAxO1xuICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdtaW4nKSBuZXdQb3MgPSB0aGlzLmNoZWNrTGltaXRzKFtuZXdQb3MsIHRoaXMubWF4XSlbMF07ZWxzZSBuZXdQb3MgPSB0aGlzLmNoZWNrTGltaXRzKFt0aGlzLm1pbiwgbmV3UG9zXSlbMV07XG5cbiAgICAgICAgICAgIHZhciBtb2R1bHVzID0gdGhpcy5oYW5kbGVEZWNpbWFsKG5ld1BvcywgdGhpcy5zdGVwKTtcbiAgICAgICAgICAgIHZhciB2YWx1ZSA9IHRoaXMuY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgdmFsdWVbaW5kZXhdID0gbmV3UG9zIC0gbW9kdWx1cztcblxuICAgICAgICAgICAgaWYgKHRoaXMucmFuZ2UpIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ21pbicgJiYgdmFsdWVbMF0gPiB2YWx1ZVsxXSkgdmFsdWVbMV0gPSB2YWx1ZVswXTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ21heCcgJiYgdmFsdWVbMF0gPiB2YWx1ZVsxXSkgdmFsdWVbMF0gPSB2YWx1ZVsxXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBbXS5jb25jYXQoKDAsIF90b0NvbnN1bWFibGVBcnJheTMuZGVmYXVsdCkodmFsdWUpKTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLmRyYWdnaW5nKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudFZhbHVlW2luZGV4XSAhPT0gdGhpcy5vbGRWYWx1ZVtpbmRleF0pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbWl0Q2hhbmdlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub2xkVmFsdWVbaW5kZXhdID0gdGhpcy5jdXJyZW50VmFsdWVbaW5kZXhdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlRGVjaW1hbDogZnVuY3Rpb24gaGFuZGxlRGVjaW1hbChwb3MsIHN0ZXApIHtcbiAgICAgICAgICAgIGlmIChzdGVwIDwgMSkge1xuICAgICAgICAgICAgICAgIHZhciBzbCA9IHN0ZXAudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGUgPSAxLFxuICAgICAgICAgICAgICAgICAgICBtID0gdm9pZCAwO1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIG0gPSBzbC5zcGxpdCgnLicpWzFdLmxlbmd0aDtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIG0gPSAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBtdWx0aXBsZSA9IE1hdGgucG93KDEwLCBtKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcG9zICogbXVsdGlwbGUgJSAoc3RlcCAqIG11bHRpcGxlKSAvIG11bHRpcGxlO1xuICAgICAgICAgICAgfSBlbHNlIHJldHVybiBwb3MgJSBzdGVwO1xuICAgICAgICB9LFxuICAgICAgICBlbWl0Q2hhbmdlOiBmdW5jdGlvbiBlbWl0Q2hhbmdlKCkge1xuICAgICAgICAgICAgdmFyIHZhbHVlID0gdGhpcy5yYW5nZSA/IHRoaXMuZXhwb3J0VmFsdWUgOiB0aGlzLmV4cG9ydFZhbHVlWzBdO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tY2hhbmdlJywgdmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5kaXNwYXRjaCgnRm9ybUl0ZW0nLCAnb24tZm9ybS1jaGFuZ2UnLCB2YWx1ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIHNsaWRlckNsaWNrOiBmdW5jdGlvbiBzbGlkZXJDbGljayhldmVudCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICAgICAgICAgIHZhciBjdXJyZW50WCA9IHRoaXMuZ2V0UG9pbnRlclgoZXZlbnQpO1xuICAgICAgICAgICAgdmFyIHNsaWRlck9mZnNldExlZnQgPSB0aGlzLiRyZWZzLnNsaWRlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0O1xuICAgICAgICAgICAgdmFyIG5ld1BvcyA9IChjdXJyZW50WCAtIHNsaWRlck9mZnNldExlZnQpIC8gdGhpcy5zbGlkZXJXaWR0aCAqIHRoaXMudmFsdWVSYW5nZSArIHRoaXMubWluO1xuICAgICAgICAgICAgdmFyIHJlZ3VsYXJOZXdQb3MgPSBuZXdQb3MgLyB0aGlzLnZhbHVlUmFuZ2UgKiAxMDA7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5yYW5nZSB8fCByZWd1bGFyTmV3UG9zIDw9IHRoaXMubWluUG9zaXRpb24pIHRoaXMuY2hhbmdlQnV0dG9uUG9zaXRpb24obmV3UG9zLCAnbWluJyk7ZWxzZSBpZiAocmVndWxhck5ld1BvcyA+PSB0aGlzLm1heFBvc2l0aW9uKSB0aGlzLmNoYW5nZUJ1dHRvblBvc2l0aW9uKG5ld1BvcywgJ21heCcpO2Vsc2UgdGhpcy5jaGFuZ2VCdXR0b25Qb3NpdGlvbihuZXdQb3MsIG5ld1BvcyAtIHRoaXMuZmlyc3RQb3NpdGlvbiA8PSB0aGlzLnNlY29uZFBvc2l0aW9uIC0gbmV3UG9zID8gJ21pbicgOiAnbWF4Jyk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUlucHV0Q2hhbmdlOiBmdW5jdGlvbiBoYW5kbGVJbnB1dENoYW5nZSh2YWwpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gW3ZhbCA9PT0gMCA/IDAgOiB2YWwgfHwgdGhpcy5taW4sIHRoaXMuY3VycmVudFZhbHVlWzFdXTtcbiAgICAgICAgICAgIHRoaXMuZW1pdENoYW5nZSgpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVGb2N1czogZnVuY3Rpb24gaGFuZGxlRm9jdXModHlwZSkge1xuICAgICAgICAgICAgdGhpcy4kcmVmc1tTdHJpbmcodHlwZSkgKyAnVG9vbHRpcCddLmhhbmRsZVNob3dQb3BwZXIoKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlQmx1cjogZnVuY3Rpb24gaGFuZGxlQmx1cih0eXBlKSB7XG4gICAgICAgICAgICB0aGlzLiRyZWZzW1N0cmluZyh0eXBlKSArICdUb29sdGlwJ10uaGFuZGxlQ2xvc2VQb3BwZXIoKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlU2V0U2xpZGVyV2lkdGg6IGZ1bmN0aW9uIGhhbmRsZVNldFNsaWRlcldpZHRoKCkge1xuICAgICAgICAgICAgdGhpcy5zbGlkZXJXaWR0aCA9IHBhcnNlSW50KCgwLCBfYXNzaXN0LmdldFN0eWxlKSh0aGlzLiRyZWZzLnNsaWRlciwgJ3dpZHRoJyksIDEwKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHtcbiAgICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICAgICAgdGhpcy4kb24oJ29uLXZpc2libGUtY2hhbmdlJywgZnVuY3Rpb24gKHZhbCkge1xuICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczMpO1xuXG4gICAgICAgICAgICBpZiAodmFsICYmIHRoaXMuc2hvd1RpcCA9PT0gJ2Fsd2F5cycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLm1pblRvb2x0aXAuZG9EZXN0cm95KCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucmFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5tYXhUb29sdGlwLmRvRGVzdHJveSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMzKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLm1pblRvb2x0aXAudXBkYXRlUG9wcGVyKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnJhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLm1heFRvb2x0aXAudXBkYXRlUG9wcGVyKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LmJpbmQodGhpcykpO1xuXG4gICAgICAgIHRoaXMub2JzZXJ2ZXIgPSAoMCwgX2VsZW1lbnRSZXNpemVEZXRlY3RvcjIuZGVmYXVsdCkoKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5saXN0ZW5Ubyh0aGlzLiRyZWZzLnNsaWRlciwgdGhpcy5oYW5kbGVTZXRTbGlkZXJXaWR0aCk7XG4gICAgfSxcbiAgICBiZWZvcmVEZXN0cm95OiBmdW5jdGlvbiBiZWZvcmVEZXN0cm95KCkge1xuICAgICAgICB0aGlzLm9ic2VydmVyLnJlbW92ZUxpc3RlbmVyKHRoaXMuJHJlZnMuc2xpZGVyLCB0aGlzLmhhbmRsZVNldFNsaWRlcldpZHRoKTtcbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDIxOCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9wb3BwZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIxMSk7XG5cbnZhciBfcG9wcGVyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3BvcHBlcik7XG5cbnZhciBfdHJhbnNmZXJEb20gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIxKTtcblxudmFyIF90cmFuc2ZlckRvbTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90cmFuc2ZlckRvbSk7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxudmFyIF90cmFuc2ZlclF1ZXVlID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNCk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhDbHMgPSAnaXZ1LXRvb2x0aXAnO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ1Rvb2x0aXAnLFxuICAgIGRpcmVjdGl2ZXM6IHsgVHJhbnNmZXJEb206IF90cmFuc2ZlckRvbTIuZGVmYXVsdCB9LFxuICAgIG1peGluczogW19wb3BwZXIyLmRlZmF1bHRdLFxuICAgIHByb3BzOiB7XG4gICAgICAgIHBsYWNlbWVudDoge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ3RvcCcsICd0b3Atc3RhcnQnLCAndG9wLWVuZCcsICdib3R0b20nLCAnYm90dG9tLXN0YXJ0JywgJ2JvdHRvbS1lbmQnLCAnbGVmdCcsICdsZWZ0LXN0YXJ0JywgJ2xlZnQtZW5kJywgJ3JpZ2h0JywgJ3JpZ2h0LXN0YXJ0JywgJ3JpZ2h0LWVuZCddKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGRlZmF1bHQ6ICdib3R0b20nXG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRlbnQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFtTdHJpbmcsIE51bWJlcl0sXG4gICAgICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgICB9LFxuICAgICAgICBkZWxheToge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgZGVmYXVsdDogMTAwXG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgY29udHJvbGxlZDoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIGFsd2F5czoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHRyYW5zZmVyOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICF0aGlzLiRJVklFVyB8fCB0aGlzLiRJVklFVy50cmFuc2ZlciA9PT0gJycgPyBmYWxzZSA6IHRoaXMuJElWSUVXLnRyYW5zZmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB0aGVtZToge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ2RhcmsnLCAnbGlnaHQnXSk7XG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICBkZWZhdWx0OiAnZGFyaydcbiAgICAgICAgfSxcbiAgICAgICAgbWF4V2lkdGg6IHtcbiAgICAgICAgICAgIHR5cGU6IFtTdHJpbmcsIE51bWJlcl1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByZWZpeENsczogcHJlZml4Q2xzLFxuICAgICAgICAgICAgdEluZGV4OiB0aGlzLmhhbmRsZUdldEluZGV4KClcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgaW5uZXJTdHlsZXM6IGZ1bmN0aW9uIGlubmVyU3R5bGVzKCkge1xuICAgICAgICAgICAgdmFyIHN0eWxlcyA9IHt9O1xuICAgICAgICAgICAgaWYgKHRoaXMubWF4V2lkdGgpIHN0eWxlc1snbWF4LXdpZHRoJ10gPSBTdHJpbmcodGhpcy5tYXhXaWR0aCkgKyAncHgnO1xuICAgICAgICAgICAgcmV0dXJuIHN0eWxlcztcbiAgICAgICAgfSxcbiAgICAgICAgaW5uZXJDbGFzc2VzOiBmdW5jdGlvbiBpbm5lckNsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gW3ByZWZpeENscyArICctaW5uZXInLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KSh7fSwgcHJlZml4Q2xzICsgJy1pbm5lci13aXRoLXdpZHRoJywgISF0aGlzLm1heFdpZHRoKV07XG4gICAgICAgIH0sXG4gICAgICAgIGRyb3BTdHlsZXM6IGZ1bmN0aW9uIGRyb3BTdHlsZXMoKSB7XG4gICAgICAgICAgICB2YXIgc3R5bGVzID0ge307XG4gICAgICAgICAgICBpZiAodGhpcy50cmFuc2Zlcikgc3R5bGVzWyd6LWluZGV4J10gPSAxMDYwICsgdGhpcy50SW5kZXg7XG5cbiAgICAgICAgICAgIHJldHVybiBzdHlsZXM7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHdhdGNoOiB7XG4gICAgICAgIGNvbnRlbnQ6IGZ1bmN0aW9uIGNvbnRlbnQoKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVBvcHBlcigpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGhhbmRsZVNob3dQb3BwZXI6IGZ1bmN0aW9uIGhhbmRsZVNob3dQb3BwZXIoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgICAgICBpZiAodGhpcy50aW1lb3V0KSBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KTtcbiAgICAgICAgICAgIHRoaXMudGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSwgdGhpcy5kZWxheSk7XG4gICAgICAgICAgICB0aGlzLnRJbmRleCA9IHRoaXMuaGFuZGxlR2V0SW5kZXgoKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlQ2xvc2VQb3BwZXI6IGZ1bmN0aW9uIGhhbmRsZUNsb3NlUG9wcGVyKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnRpbWVvdXQpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY29udHJvbGxlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSwgMTAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUdldEluZGV4OiBmdW5jdGlvbiBoYW5kbGVHZXRJbmRleCgpIHtcbiAgICAgICAgICAgICgwLCBfdHJhbnNmZXJRdWV1ZS50cmFuc2ZlckluY3JlYXNlKSgpO1xuICAgICAgICAgICAgcmV0dXJuIF90cmFuc2ZlclF1ZXVlLnRyYW5zZmVySW5kZXg7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICAgIGlmICh0aGlzLmFsd2F5cykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVQb3BwZXIoKTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMjE5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbnZhciB1dGlscyA9IG1vZHVsZS5leHBvcnRzID0ge307XG5cbi8qKlxuICogTG9vcHMgdGhyb3VnaCB0aGUgY29sbGVjdGlvbiBhbmQgY2FsbHMgdGhlIGNhbGxiYWNrIGZvciBlYWNoIGVsZW1lbnQuIGlmIHRoZSBjYWxsYmFjayByZXR1cm5zIHRydXRoeSwgdGhlIGxvb3AgaXMgYnJva2VuIGFuZCByZXR1cm5zIHRoZSBzYW1lIHZhbHVlLlxuICogQHB1YmxpY1xuICogQHBhcmFtIHsqfSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGxvb3AgdGhyb3VnaC4gTmVlZHMgdG8gaGF2ZSBhIGxlbmd0aCBwcm9wZXJ0eSBzZXQgYW5kIGhhdmUgaW5kaWNlcyBzZXQgZnJvbSAwIHRvIGxlbmd0aCAtIDEuXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBjYWxsYmFjayBUaGUgY2FsbGJhY2sgdG8gYmUgY2FsbGVkIGZvciBlYWNoIGVsZW1lbnQuIFRoZSBlbGVtZW50IHdpbGwgYmUgZ2l2ZW4gYXMgYSBwYXJhbWV0ZXIgdG8gdGhlIGNhbGxiYWNrLiBJZiB0aGlzIGNhbGxiYWNrIHJldHVybnMgdHJ1dGh5LCB0aGUgbG9vcCBpcyBicm9rZW4gYW5kIHRoZSBzYW1lIHZhbHVlIGlzIHJldHVybmVkLlxuICogQHJldHVybnMgeyp9IFRoZSB2YWx1ZSB0aGF0IGEgY2FsbGJhY2sgaGFzIHJldHVybmVkIChpZiB0cnV0aHkpLiBPdGhlcndpc2Ugbm90aGluZy5cbiAqL1xudXRpbHMuZm9yRWFjaCA9IGZ1bmN0aW9uKGNvbGxlY3Rpb24sIGNhbGxiYWNrKSB7XG4gICAgZm9yKHZhciBpID0gMDsgaSA8IGNvbGxlY3Rpb24ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIHJlc3VsdCA9IGNhbGxiYWNrKGNvbGxlY3Rpb25baV0pO1xuICAgICAgICBpZihyZXN1bHQpIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5cbi8qKiovIH0pLFxuLyogMjIwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbnZhciBkZXRlY3RvciA9IG1vZHVsZS5leHBvcnRzID0ge307XG5cbmRldGVjdG9yLmlzSUUgPSBmdW5jdGlvbih2ZXJzaW9uKSB7XG4gICAgZnVuY3Rpb24gaXNBbnlJZVZlcnNpb24oKSB7XG4gICAgICAgIHZhciBhZ2VudCA9IG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgcmV0dXJuIGFnZW50LmluZGV4T2YoXCJtc2llXCIpICE9PSAtMSB8fCBhZ2VudC5pbmRleE9mKFwidHJpZGVudFwiKSAhPT0gLTEgfHwgYWdlbnQuaW5kZXhPZihcIiBlZGdlL1wiKSAhPT0gLTE7XG4gICAgfVxuXG4gICAgaWYoIWlzQW55SWVWZXJzaW9uKCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmKCF2ZXJzaW9uKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8vU2hhbWVsZXNzbHkgc3RvbGVuIGZyb20gaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vcGFkb2xzZXkvNTI3NjgzXG4gICAgdmFyIGllVmVyc2lvbiA9IChmdW5jdGlvbigpe1xuICAgICAgICB2YXIgdW5kZWYsXG4gICAgICAgICAgICB2ID0gMyxcbiAgICAgICAgICAgIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksXG4gICAgICAgICAgICBhbGwgPSBkaXYuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJpXCIpO1xuXG4gICAgICAgIGRvIHtcbiAgICAgICAgICAgIGRpdi5pbm5lckhUTUwgPSBcIjwhLS1baWYgZ3QgSUUgXCIgKyAoKyt2KSArIFwiXT48aT48L2k+PCFbZW5kaWZdLS0+XCI7XG4gICAgICAgIH1cbiAgICAgICAgd2hpbGUgKGFsbFswXSk7XG5cbiAgICAgICAgcmV0dXJuIHYgPiA0ID8gdiA6IHVuZGVmO1xuICAgIH0oKSk7XG5cbiAgICByZXR1cm4gdmVyc2lvbiA9PT0gaWVWZXJzaW9uO1xufTtcblxuZGV0ZWN0b3IuaXNMZWdhY3lPcGVyYSA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAhIXdpbmRvdy5vcGVyYTtcbn07XG5cblxuLyoqKi8gfSksXG4vKiAyMjEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtc3RlcHMnO1xuXG5mdW5jdGlvbiBkZWJvdW5jZShmbikge1xuICAgIHZhciB3YWl0aW5nID0gdm9pZCAwO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh3YWl0aW5nKSByZXR1cm47XG4gICAgICAgIHdhaXRpbmcgPSB0cnVlO1xuICAgICAgICB2YXIgY29udGV4dCA9IHRoaXMsXG4gICAgICAgICAgICBhcmdzID0gYXJndW1lbnRzO1xuICAgICAgICB2YXIgbGF0ZXIgPSBmdW5jdGlvbiBsYXRlcigpIHtcbiAgICAgICAgICAgIHdhaXRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIGZuLmFwcGx5KGNvbnRleHQsIGFyZ3MpO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLiRuZXh0VGljayhsYXRlcik7XG4gICAgfTtcbn1cblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdTdGVwcycsXG4gICAgcHJvcHM6IHtcbiAgICAgICAgY3VycmVudDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgZGVmYXVsdDogMFxuICAgICAgICB9LFxuICAgICAgICBzdGF0dXM6IHtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWyd3YWl0JywgJ3Byb2Nlc3MnLCAnZmluaXNoJywgJ2Vycm9yJ10pO1xuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgZGVmYXVsdDogJ3Byb2Nlc3MnXG4gICAgICAgIH0sXG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWydzbWFsbCddKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZGlyZWN0aW9uOiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnaG9yaXpvbnRhbCcsICd2ZXJ0aWNhbCddKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGRlZmF1bHQ6ICdob3Jpem9udGFsJ1xuICAgICAgICB9XG4gICAgfSxcbiAgICBjb21wdXRlZDoge1xuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFsnJyArIHByZWZpeENscywgcHJlZml4Q2xzICsgJy0nICsgU3RyaW5nKHRoaXMuZGlyZWN0aW9uKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sIHByZWZpeENscyArICctJyArIFN0cmluZyh0aGlzLnNpemUpLCAhIXRoaXMuc2l6ZSldO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIHVwZGF0ZUNoaWxkUHJvcHM6IGZ1bmN0aW9uIHVwZGF0ZUNoaWxkUHJvcHMoaXNJbml0KSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgdG90YWwgPSB0aGlzLiRjaGlsZHJlbi5sZW5ndGg7XG4gICAgICAgICAgICB0aGlzLiRjaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uIChjaGlsZCwgaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgICAgIGNoaWxkLnN0ZXBOdW1iZXIgPSBpbmRleCArIDE7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJykge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZC50b3RhbCA9IHRvdGFsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICghKGlzSW5pdCAmJiBjaGlsZC5jdXJyZW50U3RhdHVzKSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaW5kZXggPT0gdGhpcy5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5zdGF0dXMgIT0gJ2Vycm9yJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkLmN1cnJlbnRTdGF0dXMgPSAncHJvY2Vzcyc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5kZXggPCB0aGlzLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkLmN1cnJlbnRTdGF0dXMgPSAnZmluaXNoJztcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkLmN1cnJlbnRTdGF0dXMgPSAnd2FpdCc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoY2hpbGQuY3VycmVudFN0YXR1cyAhPSAnZXJyb3InICYmIGluZGV4ICE9IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2hpbGRyZW5baW5kZXggLSAxXS5uZXh0RXJyb3IgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB9LFxuICAgICAgICBzZXROZXh0RXJyb3I6IGZ1bmN0aW9uIHNldE5leHRFcnJvcigpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAgICAgICB0aGlzLiRjaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uIChjaGlsZCwgaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMik7XG5cbiAgICAgICAgICAgICAgICBpZiAoY2hpbGQuY3VycmVudFN0YXR1cyA9PSAnZXJyb3InICYmIGluZGV4ICE9IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2hpbGRyZW5baW5kZXggLSAxXS5uZXh0RXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZUN1cnJlbnQ6IGZ1bmN0aW9uIHVwZGF0ZUN1cnJlbnQoaXNJbml0KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50IDwgMCB8fCB0aGlzLmN1cnJlbnQgPj0gdGhpcy4kY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzSW5pdCkge1xuICAgICAgICAgICAgICAgIHZhciBjdXJyZW50X3N0YXR1cyA9IHRoaXMuJGNoaWxkcmVuW3RoaXMuY3VycmVudF0uY3VycmVudFN0YXR1cztcbiAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRfc3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuJGNoaWxkcmVuW3RoaXMuY3VycmVudF0uY3VycmVudFN0YXR1cyA9IHRoaXMuc3RhdHVzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kY2hpbGRyZW5bdGhpcy5jdXJyZW50XS5jdXJyZW50U3RhdHVzID0gdGhpcy5zdGF0dXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGRlYm91bmNlZEFwcGVuZFJlbW92ZTogZnVuY3Rpb24gZGVib3VuY2VkQXBwZW5kUmVtb3ZlKCkge1xuICAgICAgICAgICAgcmV0dXJuIGRlYm91bmNlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVN0ZXBzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlU3RlcHM6IGZ1bmN0aW9uIHVwZGF0ZVN0ZXBzKCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDaGlsZFByb3BzKHRydWUpO1xuICAgICAgICAgICAgdGhpcy5zZXROZXh0RXJyb3IoKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ3VycmVudCh0cnVlKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVTdGVwcygpO1xuICAgICAgICB0aGlzLiRvbignYXBwZW5kJywgdGhpcy5kZWJvdW5jZWRBcHBlbmRSZW1vdmUoKSk7XG4gICAgICAgIHRoaXMuJG9uKCdyZW1vdmUnLCB0aGlzLmRlYm91bmNlZEFwcGVuZFJlbW92ZSgpKTtcbiAgICB9LFxuXG4gICAgd2F0Y2g6IHtcbiAgICAgICAgY3VycmVudDogZnVuY3Rpb24gY3VycmVudCgpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2hpbGRQcm9wcygpO1xuICAgICAgICB9LFxuICAgICAgICBzdGF0dXM6IGZ1bmN0aW9uIHN0YXR1cygpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ3VycmVudCgpO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAyMjIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9lbWl0dGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0KTtcblxudmFyIF9lbWl0dGVyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2VtaXR0ZXIpO1xuXG52YXIgX2Fzc2lzdCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhDbHMgPSAnaXZ1LXN0ZXBzJztcbnZhciBpY29uUHJlZml4Q2xzID0gJ2l2dS1pY29uJztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdTdGVwJyxcbiAgICBtaXhpbnM6IFtfZW1pdHRlcjIuZGVmYXVsdF0sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgc3RhdHVzOiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnd2FpdCcsICdwcm9jZXNzJywgJ2ZpbmlzaCcsICdlcnJvciddKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICcnXG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRlbnQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZ1xuICAgICAgICB9LFxuICAgICAgICBpY29uOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByZWZpeENsczogcHJlZml4Q2xzLFxuICAgICAgICAgICAgc3RlcE51bWJlcjogJycsXG4gICAgICAgICAgICBuZXh0RXJyb3I6IGZhbHNlLFxuICAgICAgICAgICAgdG90YWw6IDEsXG4gICAgICAgICAgICBjdXJyZW50U3RhdHVzOiAnJ1xuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICB3cmFwQ2xhc3NlczogZnVuY3Rpb24gd3JhcENsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjtcblxuICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXhDbHMgKyAnLWl0ZW0nLCBwcmVmaXhDbHMgKyAnLXN0YXR1cy0nICsgU3RyaW5nKHRoaXMuY3VycmVudFN0YXR1cyksIChfcmVmID0ge30sICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctY3VzdG9tJywgISF0aGlzLmljb24pLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLW5leHQtZXJyb3InLCB0aGlzLm5leHRFcnJvciksIF9yZWYpXTtcbiAgICAgICAgfSxcbiAgICAgICAgaWNvbkNsYXNzZXM6IGZ1bmN0aW9uIGljb25DbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIGljb24gPSAnJztcblxuICAgICAgICAgICAgaWYgKHRoaXMuaWNvbikge1xuICAgICAgICAgICAgICAgIGljb24gPSB0aGlzLmljb247XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRTdGF0dXMgPT0gJ2ZpbmlzaCcpIHtcbiAgICAgICAgICAgICAgICAgICAgaWNvbiA9ICdpb3MtY2hlY2ttYXJrJztcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudFN0YXR1cyA9PSAnZXJyb3InKSB7XG4gICAgICAgICAgICAgICAgICAgIGljb24gPSAnaW9zLWNsb3NlJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy1pY29uJywgJycgKyBpY29uUHJlZml4Q2xzLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KSh7fSwgaWNvblByZWZpeENscyArICctJyArIFN0cmluZyhpY29uKSwgaWNvbiAhPSAnJyldO1xuICAgICAgICB9LFxuICAgICAgICBzdHlsZXM6IGZ1bmN0aW9uIHN0eWxlcygpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEgLyB0aGlzLnRvdGFsICogMTAwICsgJyUnXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfSxcbiAgICB3YXRjaDoge1xuICAgICAgICBzdGF0dXM6IGZ1bmN0aW9uIHN0YXR1cyh2YWwpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFN0YXR1cyA9IHZhbDtcbiAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRTdGF0dXMgPT0gJ2Vycm9yJykge1xuICAgICAgICAgICAgICAgIHRoaXMuJHBhcmVudC5zZXROZXh0RXJyb3IoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50U3RhdHVzID0gdGhpcy5zdGF0dXM7XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgICB0aGlzLmRpc3BhdGNoKCdTdGVwcycsICdhcHBlbmQnKTtcbiAgICB9LFxuICAgIGJlZm9yZURlc3Ryb3k6IGZ1bmN0aW9uIGJlZm9yZURlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2goJ1N0ZXBzJywgJ3JlbW92ZScpO1xuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMjIzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG52YXIgX2Fzc2lzdCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbnZhciBfZW1pdHRlciA9IF9fd2VicGFja19yZXF1aXJlX18oNCk7XG5cbnZhciBfZW1pdHRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9lbWl0dGVyKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtc3dpdGNoJztcbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnaVN3aXRjaCcsXG4gICAgbWl4aW5zOiBbX2VtaXR0ZXIyLmRlZmF1bHRdLFxuICAgIHByb3BzOiB7XG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICB0eXBlOiBbU3RyaW5nLCBOdW1iZXIsIEJvb2xlYW5dLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgdHJ1ZVZhbHVlOiB7XG4gICAgICAgICAgICB0eXBlOiBbU3RyaW5nLCBOdW1iZXIsIEJvb2xlYW5dLFxuICAgICAgICAgICAgZGVmYXVsdDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBmYWxzZVZhbHVlOiB7XG4gICAgICAgICAgICB0eXBlOiBbU3RyaW5nLCBOdW1iZXIsIEJvb2xlYW5dLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgZGlzYWJsZWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBzaXplOiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnbGFyZ2UnLCAnc21hbGwnLCAnZGVmYXVsdCddKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIXRoaXMuJElWSUVXIHx8IHRoaXMuJElWSUVXLnNpemUgPT09ICcnID8gJ2RlZmF1bHQnIDogdGhpcy4kSVZJRVcuc2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbmFtZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nXG4gICAgICAgIH0sXG4gICAgICAgIGxvYWRpbmc6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICB0cnVlQ29sb3I6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZ1xuICAgICAgICB9LFxuICAgICAgICBmYWxzZUNvbG9yOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgYmVmb3JlQ2hhbmdlOiBGdW5jdGlvblxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGN1cnJlbnRWYWx1ZTogdGhpcy52YWx1ZVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICB3cmFwQ2xhc3NlczogZnVuY3Rpb24gd3JhcENsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjtcblxuICAgICAgICAgICAgcmV0dXJuIFsnJyArIHByZWZpeENscywgKF9yZWYgPSB7fSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1jaGVja2VkJywgdGhpcy5jdXJyZW50VmFsdWUgPT09IHRoaXMudHJ1ZVZhbHVlKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1kaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLScgKyBTdHJpbmcodGhpcy5zaXplKSwgISF0aGlzLnNpemUpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLWxvYWRpbmcnLCB0aGlzLmxvYWRpbmcpLCBfcmVmKV07XG4gICAgICAgIH0sXG4gICAgICAgIHdyYXBTdHlsZXM6IGZ1bmN0aW9uIHdyYXBTdHlsZXMoKSB7XG4gICAgICAgICAgICB2YXIgc3R5bGUgPSB7fTtcbiAgICAgICAgICAgIGlmICh0aGlzLnRydWVDb2xvciAmJiB0aGlzLmN1cnJlbnRWYWx1ZSA9PT0gdGhpcy50cnVlVmFsdWUpIHtcbiAgICAgICAgICAgICAgICBzdHlsZVsnYm9yZGVyLWNvbG9yJ10gPSB0aGlzLnRydWVDb2xvcjtcbiAgICAgICAgICAgICAgICBzdHlsZVsnYmFja2dyb3VuZC1jb2xvciddID0gdGhpcy50cnVlQ29sb3I7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZmFsc2VDb2xvciAmJiB0aGlzLmN1cnJlbnRWYWx1ZSA9PT0gdGhpcy5mYWxzZVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgc3R5bGVbJ2JvcmRlci1jb2xvciddID0gdGhpcy5mYWxzZUNvbG9yO1xuICAgICAgICAgICAgICAgIHN0eWxlWydiYWNrZ3JvdW5kLWNvbG9yJ10gPSB0aGlzLmZhbHNlQ29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH0sXG4gICAgICAgIGlubmVyQ2xhc3NlczogZnVuY3Rpb24gaW5uZXJDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIHByZWZpeENscyArICctaW5uZXInO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGhhbmRsZVRvZ2dsZTogZnVuY3Rpb24gaGFuZGxlVG9nZ2xlKCkge1xuICAgICAgICAgICAgdmFyIGNoZWNrZWQgPSB0aGlzLmN1cnJlbnRWYWx1ZSA9PT0gdGhpcy50cnVlVmFsdWUgPyB0aGlzLmZhbHNlVmFsdWUgOiB0aGlzLnRydWVWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gY2hlY2tlZDtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2lucHV0JywgY2hlY2tlZCk7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1jaGFuZ2UnLCBjaGVja2VkKTtcbiAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2goJ0Zvcm1JdGVtJywgJ29uLWZvcm0tY2hhbmdlJywgY2hlY2tlZCk7XG4gICAgICAgIH0sXG4gICAgICAgIHRvZ2dsZTogZnVuY3Rpb24gdG9nZ2xlKGV2ZW50KSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5sb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF0aGlzLmJlZm9yZUNoYW5nZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZVRvZ2dsZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIGJlZm9yZSA9IHRoaXMuYmVmb3JlQ2hhbmdlKCk7XG4gICAgICAgICAgICBpZiAoYmVmb3JlICYmIGJlZm9yZS50aGVuKSB7XG4gICAgICAgICAgICAgICAgYmVmb3JlLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlVG9nZ2xlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHdhdGNoOiB7XG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZSh2YWwpIHtcbiAgICAgICAgICAgIGlmICh2YWwgIT09IHRoaXMudHJ1ZVZhbHVlICYmIHZhbCAhPT0gdGhpcy5mYWxzZVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgJ1ZhbHVlIHNob3VsZCBiZSB0cnVlVmFsdWUgb3IgZmFsc2VWYWx1ZS4nO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB2YWw7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDIyNCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfZ2V0SXRlcmF0b3IyID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0NCk7XG5cbnZhciBfZ2V0SXRlcmF0b3IzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZ2V0SXRlcmF0b3IyKTtcblxudmFyIF9zdHJpbmdpZnkgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU0KTtcblxudmFyIF9zdHJpbmdpZnkyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc3RyaW5naWZ5KTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG52YXIgX3RhYmxlSGVhZCA9IF9fd2VicGFja19yZXF1aXJlX18oNTYzKTtcblxudmFyIF90YWJsZUhlYWQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdGFibGVIZWFkKTtcblxudmFyIF90YWJsZUJvZHkgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU2Nik7XG5cbnZhciBfdGFibGVCb2R5MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RhYmxlQm9keSk7XG5cbnZhciBfc3BpbiA9IF9fd2VicGFja19yZXF1aXJlX18oODEpO1xuXG52YXIgX3NwaW4yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc3Bpbik7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxudmFyIF9kb20gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEzKTtcblxudmFyIF9jc3YgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU3Myk7XG5cbnZhciBfY3N2MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2Nzdik7XG5cbnZhciBfZXhwb3J0Q3N2ID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1NzQpO1xuXG52YXIgX2V4cG9ydENzdjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9leHBvcnRDc3YpO1xuXG52YXIgX2xvY2FsZSA9IF9fd2VicGFja19yZXF1aXJlX18oNSk7XG5cbnZhciBfbG9jYWxlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2xvY2FsZSk7XG5cbnZhciBfZWxlbWVudFJlc2l6ZURldGVjdG9yID0gX193ZWJwYWNrX3JlcXVpcmVfXyg4NCk7XG5cbnZhciBfZWxlbWVudFJlc2l6ZURldGVjdG9yMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2VsZW1lbnRSZXNpemVEZXRlY3Rvcik7XG5cbnZhciBfdXRpbCA9IF9fd2VicGFja19yZXF1aXJlX18oNTc1KTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtdGFibGUnO1xuXG52YXIgcm93S2V5ID0gMTtcbnZhciBjb2x1bW5LZXkgPSAxO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ1RhYmxlJyxcbiAgICBtaXhpbnM6IFtfbG9jYWxlMi5kZWZhdWx0XSxcbiAgICBjb21wb25lbnRzOiB7IHRhYmxlSGVhZDogX3RhYmxlSGVhZDIuZGVmYXVsdCwgdGFibGVCb2R5OiBfdGFibGVCb2R5Mi5kZWZhdWx0LCBTcGluOiBfc3BpbjIuZGVmYXVsdCB9LFxuICAgIHByb3ZpZGU6IGZ1bmN0aW9uIHByb3ZpZGUoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0YWJsZVJvb3Q6IHRoaXNcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgcHJvcHM6IHtcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgdHlwZTogQXJyYXksXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNvbHVtbnM6IHtcbiAgICAgICAgICAgIHR5cGU6IEFycmF5LFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBzaXplOiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnc21hbGwnLCAnbGFyZ2UnLCAnZGVmYXVsdCddKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIXRoaXMuJElWSUVXIHx8IHRoaXMuJElWSUVXLnNpemUgPT09ICcnID8gJ2RlZmF1bHQnIDogdGhpcy4kSVZJRVcuc2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgd2lkdGg6IHtcbiAgICAgICAgICAgIHR5cGU6IFtOdW1iZXIsIFN0cmluZ11cbiAgICAgICAgfSxcbiAgICAgICAgaGVpZ2h0OiB7XG4gICAgICAgICAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmddXG4gICAgICAgIH0sXG5cbiAgICAgICAgbWF4SGVpZ2h0OiB7XG4gICAgICAgICAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmddXG4gICAgICAgIH0sXG4gICAgICAgIHN0cmlwZToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIGJvcmRlcjoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHNob3dIZWFkZXI6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIGhpZ2hsaWdodFJvdzoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHJvd0NsYXNzTmFtZToge1xuICAgICAgICAgICAgdHlwZTogRnVuY3Rpb24sXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgIHR5cGU6IE9iamVjdFxuICAgICAgICB9LFxuICAgICAgICBub0RhdGFUZXh0OiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgbm9GaWx0ZXJlZERhdGFUZXh0OiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgZGlzYWJsZWRIb3Zlcjoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhblxuICAgICAgICB9LFxuICAgICAgICBsb2FkaW5nOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgZHJhZ2dhYmxlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgdG9vbHRpcFRoZW1lOiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnZGFyaycsICdsaWdodCddKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGRlZmF1bHQ6ICdkYXJrJ1xuICAgICAgICB9LFxuXG4gICAgICAgIHJvd0tleToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHZhciBjb2xzV2l0aElkID0gdGhpcy5tYWtlQ29sdW1uc0lkKHRoaXMuY29sdW1ucyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByZWFkeTogZmFsc2UsXG4gICAgICAgICAgICB0YWJsZVdpZHRoOiAwLFxuICAgICAgICAgICAgY29sdW1uc1dpZHRoOiB7fSxcbiAgICAgICAgICAgIHByZWZpeENsczogcHJlZml4Q2xzLFxuICAgICAgICAgICAgY29tcGlsZWRVaWRzOiBbXSxcbiAgICAgICAgICAgIG9iakRhdGE6IHRoaXMubWFrZU9iakRhdGEoKSxcbiAgICAgICAgICAgIHJlYnVpbGREYXRhOiBbXSxcbiAgICAgICAgICAgIGNsb25lQ29sdW1uczogdGhpcy5tYWtlQ29sdW1ucyhjb2xzV2l0aElkKSxcbiAgICAgICAgICAgIGNvbHVtblJvd3M6IHRoaXMubWFrZUNvbHVtblJvd3MoZmFsc2UsIGNvbHNXaXRoSWQpLFxuICAgICAgICAgICAgbGVmdEZpeGVkQ29sdW1uUm93czogdGhpcy5tYWtlQ29sdW1uUm93cygnbGVmdCcsIGNvbHNXaXRoSWQpLFxuICAgICAgICAgICAgcmlnaHRGaXhlZENvbHVtblJvd3M6IHRoaXMubWFrZUNvbHVtblJvd3MoJ3JpZ2h0JywgY29sc1dpdGhJZCksXG4gICAgICAgICAgICBhbGxDb2x1bW5zOiAoMCwgX3V0aWwuZ2V0QWxsQ29sdW1ucykoY29sc1dpdGhJZCksXG4gICAgICAgICAgICBzaG93U2xvdEhlYWRlcjogdHJ1ZSxcbiAgICAgICAgICAgIHNob3dTbG90Rm9vdGVyOiB0cnVlLFxuICAgICAgICAgICAgYm9keUhlaWdodDogMCxcbiAgICAgICAgICAgIHNjcm9sbEJhcldpZHRoOiAoMCwgX2Fzc2lzdC5nZXRTY3JvbGxCYXJTaXplKSgpLFxuICAgICAgICAgICAgY3VycmVudENvbnRleHQ6IHRoaXMuY29udGV4dCxcbiAgICAgICAgICAgIGNsb25lRGF0YTogKDAsIF9hc3Npc3QuZGVlcENvcHkpKHRoaXMuZGF0YSksXG4gICAgICAgICAgICBzaG93VmVydGljYWxTY3JvbGxCYXI6IGZhbHNlLFxuICAgICAgICAgICAgc2hvd0hvcml6b250YWxTY3JvbGxCYXI6IGZhbHNlLFxuICAgICAgICAgICAgaGVhZGVyV2lkdGg6IDAsXG4gICAgICAgICAgICBoZWFkZXJIZWlnaHQ6IDBcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgbG9jYWxlTm9EYXRhVGV4dDogZnVuY3Rpb24gbG9jYWxlTm9EYXRhVGV4dCgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm5vRGF0YVRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnQoJ2kudGFibGUubm9EYXRhVGV4dCcpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5ub0RhdGFUZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBsb2NhbGVOb0ZpbHRlcmVkRGF0YVRleHQ6IGZ1bmN0aW9uIGxvY2FsZU5vRmlsdGVyZWREYXRhVGV4dCgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm5vRmlsdGVyZWREYXRhVGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudCgnaS50YWJsZS5ub0ZpbHRlcmVkRGF0YVRleHQnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubm9GaWx0ZXJlZERhdGFUZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB3cmFwQ2xhc3NlczogZnVuY3Rpb24gd3JhcENsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjtcblxuICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXhDbHMgKyAnLXdyYXBwZXInLCAoX3JlZiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLWhpZGUnLCAhdGhpcy5yZWFkeSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctd2l0aC1oZWFkZXInLCB0aGlzLnNob3dTbG90SGVhZGVyKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy13aXRoLWZvb3RlcicsIHRoaXMuc2hvd1Nsb3RGb290ZXIpLCBfcmVmKV07XG4gICAgICAgIH0sXG4gICAgICAgIGNsYXNzZXM6IGZ1bmN0aW9uIGNsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjI7XG5cbiAgICAgICAgICAgIHJldHVybiBbJycgKyBwcmVmaXhDbHMsIChfcmVmMiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmMiwgcHJlZml4Q2xzICsgJy0nICsgU3RyaW5nKHRoaXMuc2l6ZSksICEhdGhpcy5zaXplKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjIsIHByZWZpeENscyArICctYm9yZGVyJywgdGhpcy5ib3JkZXIpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmMiwgcHJlZml4Q2xzICsgJy1zdHJpcGUnLCB0aGlzLnN0cmlwZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYyLCBwcmVmaXhDbHMgKyAnLXdpdGgtZml4ZWQtdG9wJywgISF0aGlzLmhlaWdodCksIF9yZWYyKV07XG4gICAgICAgIH0sXG4gICAgICAgIGZpeGVkSGVhZGVyQ2xhc3NlczogZnVuY3Rpb24gZml4ZWRIZWFkZXJDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXhDbHMgKyAnLWZpeGVkLWhlYWRlcicsICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKHt9LCBwcmVmaXhDbHMgKyAnLWZpeGVkLWhlYWRlci13aXRoLWVtcHR5JywgIXRoaXMucmVidWlsZERhdGEubGVuZ3RoKV07XG4gICAgICAgIH0sXG4gICAgICAgIHN0eWxlczogZnVuY3Rpb24gc3R5bGVzKCkge1xuICAgICAgICAgICAgdmFyIHN0eWxlID0ge307XG4gICAgICAgICAgICBpZiAodGhpcy5oZWlnaHQpIHtcbiAgICAgICAgICAgICAgICB2YXIgaGVpZ2h0ID0gcGFyc2VJbnQodGhpcy5oZWlnaHQpO1xuICAgICAgICAgICAgICAgIHN0eWxlLmhlaWdodCA9IFN0cmluZyhoZWlnaHQpICsgJ3B4JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLm1heEhlaWdodCkge1xuICAgICAgICAgICAgICAgIHZhciBtYXhIZWlnaHQgPSBwYXJzZUludCh0aGlzLm1heEhlaWdodCk7XG4gICAgICAgICAgICAgICAgc3R5bGUubWF4SGVpZ2h0ID0gU3RyaW5nKG1heEhlaWdodCkgKyAncHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMud2lkdGgpIHN0eWxlLndpZHRoID0gU3RyaW5nKHRoaXMud2lkdGgpICsgJ3B4JztcbiAgICAgICAgICAgIHJldHVybiBzdHlsZTtcbiAgICAgICAgfSxcbiAgICAgICAgdGFibGVTdHlsZTogZnVuY3Rpb24gdGFibGVTdHlsZSgpIHtcbiAgICAgICAgICAgIHZhciBzdHlsZSA9IHt9O1xuICAgICAgICAgICAgaWYgKHRoaXMudGFibGVXaWR0aCAhPT0gMCkge1xuICAgICAgICAgICAgICAgIHZhciB3aWR0aCA9ICcnO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmJvZHlIZWlnaHQgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGggPSB0aGlzLnRhYmxlV2lkdGg7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGggPSB0aGlzLnRhYmxlV2lkdGggLSAodGhpcy5zaG93VmVydGljYWxTY3JvbGxCYXIgPyB0aGlzLnNjcm9sbEJhcldpZHRoIDogMCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3R5bGUud2lkdGggPSBTdHJpbmcod2lkdGgpICsgJ3B4JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzdHlsZTtcbiAgICAgICAgfSxcbiAgICAgICAgdGFibGVIZWFkZXJTdHlsZTogZnVuY3Rpb24gdGFibGVIZWFkZXJTdHlsZSgpIHtcbiAgICAgICAgICAgIHZhciBzdHlsZSA9IHt9O1xuICAgICAgICAgICAgaWYgKHRoaXMudGFibGVXaWR0aCAhPT0gMCkge1xuICAgICAgICAgICAgICAgIHZhciB3aWR0aCA9ICcnO1xuICAgICAgICAgICAgICAgIHdpZHRoID0gdGhpcy50YWJsZVdpZHRoO1xuICAgICAgICAgICAgICAgIHN0eWxlLndpZHRoID0gU3RyaW5nKHdpZHRoKSArICdweCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH0sXG4gICAgICAgIGZpeGVkVGFibGVTdHlsZTogZnVuY3Rpb24gZml4ZWRUYWJsZVN0eWxlKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIHN0eWxlID0ge307XG4gICAgICAgICAgICB2YXIgd2lkdGggPSAwO1xuICAgICAgICAgICAgdGhpcy5sZWZ0Rml4ZWRDb2x1bW5zLmZvckVhY2goZnVuY3Rpb24gKGNvbCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGNvbC5maXhlZCAmJiBjb2wuZml4ZWQgPT09ICdsZWZ0Jykgd2lkdGggKz0gY29sLl93aWR0aDtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICBzdHlsZS53aWR0aCA9IFN0cmluZyh3aWR0aCkgKyAncHgnO1xuICAgICAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgICAgICB9LFxuICAgICAgICBmaXhlZFJpZ2h0VGFibGVTdHlsZTogZnVuY3Rpb24gZml4ZWRSaWdodFRhYmxlU3R5bGUoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIHN0eWxlID0ge307XG4gICAgICAgICAgICB2YXIgd2lkdGggPSAwO1xuICAgICAgICAgICAgdGhpcy5yaWdodEZpeGVkQ29sdW1ucy5mb3JFYWNoKGZ1bmN0aW9uIChjb2wpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMik7XG5cbiAgICAgICAgICAgICAgICBpZiAoY29sLmZpeGVkICYmIGNvbC5maXhlZCA9PT0gJ3JpZ2h0Jykgd2lkdGggKz0gY29sLl93aWR0aDtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG5cbiAgICAgICAgICAgIHN0eWxlLndpZHRoID0gU3RyaW5nKHdpZHRoKSArICdweCc7XG4gICAgICAgICAgICBzdHlsZS5yaWdodCA9IFN0cmluZyh0aGlzLnNob3dWZXJ0aWNhbFNjcm9sbEJhciA/IHRoaXMuc2Nyb2xsQmFyV2lkdGggOiAwKSArICdweCc7XG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH0sXG4gICAgICAgIGZpeGVkUmlnaHRIZWFkZXJTdHlsZTogZnVuY3Rpb24gZml4ZWRSaWdodEhlYWRlclN0eWxlKCkge1xuICAgICAgICAgICAgdmFyIHN0eWxlID0ge307XG4gICAgICAgICAgICB2YXIgd2lkdGggPSAwO1xuICAgICAgICAgICAgdmFyIGhlaWdodCA9IHRoaXMuaGVhZGVySGVpZ2h0ICsgMTtcbiAgICAgICAgICAgIGlmICh0aGlzLnNob3dWZXJ0aWNhbFNjcm9sbEJhcikge1xuICAgICAgICAgICAgICAgIHdpZHRoID0gdGhpcy5zY3JvbGxCYXJXaWR0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN0eWxlLndpZHRoID0gU3RyaW5nKHdpZHRoKSArICdweCc7XG4gICAgICAgICAgICBzdHlsZS5oZWlnaHQgPSBTdHJpbmcoaGVpZ2h0KSArICdweCc7XG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH0sXG4gICAgICAgIGJvZHlTdHlsZTogZnVuY3Rpb24gYm9keVN0eWxlKCkge1xuICAgICAgICAgICAgdmFyIHN0eWxlID0ge307XG4gICAgICAgICAgICBpZiAodGhpcy5ib2R5SGVpZ2h0ICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgdmFyIGhlaWdodCA9IHRoaXMuYm9keUhlaWdodDtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5oZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUuaGVpZ2h0ID0gU3RyaW5nKGhlaWdodCkgKyAncHgnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5tYXhIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUubWF4SGVpZ2h0ID0gU3RyaW5nKGhlaWdodCkgKyAncHgnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzdHlsZTtcbiAgICAgICAgfSxcbiAgICAgICAgZml4ZWRCb2R5U3R5bGU6IGZ1bmN0aW9uIGZpeGVkQm9keVN0eWxlKCkge1xuICAgICAgICAgICAgdmFyIHN0eWxlID0ge307XG4gICAgICAgICAgICBpZiAodGhpcy5ib2R5SGVpZ2h0ICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgdmFyIGhlaWdodCA9IHRoaXMuYm9keUhlaWdodCAtICh0aGlzLnNob3dIb3Jpem9udGFsU2Nyb2xsQmFyID8gdGhpcy5zY3JvbGxCYXJXaWR0aCA6IDApO1xuICAgICAgICAgICAgICAgIHN0eWxlLmhlaWdodCA9IHRoaXMuc2hvd0hvcml6b250YWxTY3JvbGxCYXIgPyBoZWlnaHQgKyAncHgnIDogaGVpZ2h0IC0gMSArICdweCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH0sXG4gICAgICAgIGxlZnRGaXhlZENvbHVtbnM6IGZ1bmN0aW9uIGxlZnRGaXhlZENvbHVtbnMoKSB7XG4gICAgICAgICAgICByZXR1cm4gKDAsIF91dGlsLmNvbnZlcnRDb2x1bW5PcmRlcikodGhpcy5jbG9uZUNvbHVtbnMsICdsZWZ0Jyk7XG4gICAgICAgIH0sXG4gICAgICAgIHJpZ2h0Rml4ZWRDb2x1bW5zOiBmdW5jdGlvbiByaWdodEZpeGVkQ29sdW1ucygpIHtcbiAgICAgICAgICAgIHJldHVybiAoMCwgX3V0aWwuY29udmVydENvbHVtbk9yZGVyKSh0aGlzLmNsb25lQ29sdW1ucywgJ3JpZ2h0Jyk7XG4gICAgICAgIH0sXG4gICAgICAgIGlzTGVmdEZpeGVkOiBmdW5jdGlvbiBpc0xlZnRGaXhlZCgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczMgPSB0aGlzO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb2x1bW5zLnNvbWUoZnVuY3Rpb24gKGNvbCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29sLmZpeGVkICYmIGNvbC5maXhlZCA9PT0gJ2xlZnQnO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfSxcbiAgICAgICAgaXNSaWdodEZpeGVkOiBmdW5jdGlvbiBpc1JpZ2h0Rml4ZWQoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXM0ID0gdGhpcztcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29sdW1ucy5zb21lKGZ1bmN0aW9uIChjb2wpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzNCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbC5maXhlZCAmJiBjb2wuZml4ZWQgPT09ICdyaWdodCc7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIHJvd0Nsc05hbWU6IGZ1bmN0aW9uIHJvd0Nsc05hbWUoaW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJvd0NsYXNzTmFtZSh0aGlzLmRhdGFbaW5kZXhdLCBpbmRleCk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVJlc2l6ZTogZnVuY3Rpb24gaGFuZGxlUmVzaXplKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzNSA9IHRoaXM7XG5cbiAgICAgICAgICAgIHZhciB0YWJsZVdpZHRoID0gdGhpcy4kZWwub2Zmc2V0V2lkdGggLSAxO1xuICAgICAgICAgICAgdmFyIGNvbHVtbnNXaWR0aCA9IHt9O1xuICAgICAgICAgICAgdmFyIHN1bU1pbldpZHRoID0gMDtcbiAgICAgICAgICAgIHZhciBoYXNXaWR0aENvbHVtbnMgPSBbXTtcbiAgICAgICAgICAgIHZhciBub1dpZHRoQ29sdW1ucyA9IFtdO1xuICAgICAgICAgICAgdmFyIG1heFdpZHRoQ29sdW1ucyA9IFtdO1xuICAgICAgICAgICAgdmFyIG5vTWF4V2lkdGhDb2x1bW5zID0gW107XG4gICAgICAgICAgICB0aGlzLmNsb25lQ29sdW1ucy5mb3JFYWNoKGZ1bmN0aW9uIChjb2wpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzNSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoY29sLndpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhc1dpZHRoQ29sdW1ucy5wdXNoKGNvbCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbm9XaWR0aENvbHVtbnMucHVzaChjb2wpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29sLm1pbldpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdW1NaW5XaWR0aCArPSBjb2wubWluV2lkdGg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbC5tYXhXaWR0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4V2lkdGhDb2x1bW5zLnB1c2goY29sKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vTWF4V2lkdGhDb2x1bW5zLnB1c2goY29sKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb2wuX3dpZHRoID0gbnVsbDtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG5cbiAgICAgICAgICAgIHZhciB1blVzYWJsZVdpZHRoID0gaGFzV2lkdGhDb2x1bW5zLm1hcChmdW5jdGlvbiAoY2VsbCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM1KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbC53aWR0aDtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSkucmVkdWNlKGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczUpO1xuICAgICAgICAgICAgICAgIHJldHVybiBhICsgYjtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSwgMCk7XG4gICAgICAgICAgICB2YXIgdXNhYmxlV2lkdGggPSB0YWJsZVdpZHRoIC0gdW5Vc2FibGVXaWR0aCAtIHN1bU1pbldpZHRoIC0gKHRoaXMuc2hvd1ZlcnRpY2FsU2Nyb2xsQmFyID8gdGhpcy5zY3JvbGxCYXJXaWR0aCA6IDApIC0gMTtcbiAgICAgICAgICAgIHZhciB1c2FibGVMZW5ndGggPSBub1dpZHRoQ29sdW1ucy5sZW5ndGg7XG4gICAgICAgICAgICB2YXIgY29sdW1uV2lkdGggPSAwO1xuICAgICAgICAgICAgaWYgKHVzYWJsZVdpZHRoID4gMCAmJiB1c2FibGVMZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgY29sdW1uV2lkdGggPSBwYXJzZUludCh1c2FibGVXaWR0aCAvIHVzYWJsZUxlbmd0aCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5jbG9uZUNvbHVtbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICB2YXIgY29sdW1uID0gdGhpcy5jbG9uZUNvbHVtbnNbaV07XG4gICAgICAgICAgICAgICAgdmFyIHdpZHRoID0gY29sdW1uV2lkdGggKyAoY29sdW1uLm1pbldpZHRoID8gY29sdW1uLm1pbldpZHRoIDogMCk7XG4gICAgICAgICAgICAgICAgaWYgKGNvbHVtbi53aWR0aCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aCA9IGNvbHVtbi53aWR0aDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29sdW1uLl93aWR0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggPSBjb2x1bW4uX3dpZHRoO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbHVtbi5taW5XaWR0aCA+IHdpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggPSBjb2x1bW4ubWluV2lkdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNvbHVtbi5tYXhXaWR0aCA8IHdpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggPSBjb2x1bW4ubWF4V2lkdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh1c2FibGVXaWR0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2FibGVXaWR0aCAtPSB3aWR0aCAtIChjb2x1bW4ubWluV2lkdGggPyBjb2x1bW4ubWluV2lkdGggOiAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2FibGVMZW5ndGgtLTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodXNhYmxlTGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5XaWR0aCA9IHBhcnNlSW50KHVzYWJsZVdpZHRoIC8gdXNhYmxlTGVuZ3RoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5XaWR0aCA9IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5XaWR0aCA9IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb2x1bW4uX3dpZHRoID0gd2lkdGg7XG5cbiAgICAgICAgICAgICAgICBjb2x1bW5zV2lkdGhbY29sdW1uLl9pbmRleF0gPSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiB3aWR0aFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodXNhYmxlV2lkdGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdXNhYmxlTGVuZ3RoID0gbm9NYXhXaWR0aENvbHVtbnMubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGNvbHVtbldpZHRoID0gcGFyc2VJbnQodXNhYmxlV2lkdGggLyB1c2FibGVMZW5ndGgpO1xuICAgICAgICAgICAgICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBub01heFdpZHRoQ29sdW1ucy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9jb2x1bW4gPSBub01heFdpZHRoQ29sdW1uc1tfaV07XG4gICAgICAgICAgICAgICAgICAgIHZhciBfd2lkdGggPSBfY29sdW1uLl93aWR0aCArIGNvbHVtbldpZHRoO1xuICAgICAgICAgICAgICAgICAgICBpZiAodXNhYmxlTGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdXNhYmxlTGVuZ3RoLS07XG4gICAgICAgICAgICAgICAgICAgICAgICB1c2FibGVXaWR0aCAtPSBjb2x1bW5XaWR0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbldpZHRoID0gcGFyc2VJbnQodXNhYmxlV2lkdGggLyB1c2FibGVMZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uV2lkdGggPSAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgX2NvbHVtbi5fd2lkdGggPSBfd2lkdGg7XG5cbiAgICAgICAgICAgICAgICAgICAgY29sdW1uc1dpZHRoW19jb2x1bW4uX2luZGV4XSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBfd2lkdGhcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMudGFibGVXaWR0aCA9IHRoaXMuY2xvbmVDb2x1bW5zLm1hcChmdW5jdGlvbiAoY2VsbCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM1KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbC5fd2lkdGg7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpLnJlZHVjZShmdW5jdGlvbiAoYSwgYikge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM1KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gYSArIGI7XG4gICAgICAgICAgICB9LmJpbmQodGhpcyksIDApICsgKHRoaXMuc2hvd1ZlcnRpY2FsU2Nyb2xsQmFyID8gdGhpcy5zY3JvbGxCYXJXaWR0aCA6IDApICsgMTtcbiAgICAgICAgICAgIHRoaXMuY29sdW1uc1dpZHRoID0gY29sdW1uc1dpZHRoO1xuICAgICAgICAgICAgdGhpcy5maXhlZEhlYWRlcigpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVNb3VzZUluOiBmdW5jdGlvbiBoYW5kbGVNb3VzZUluKF9pbmRleCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWRIb3ZlcikgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKHRoaXMub2JqRGF0YVtfaW5kZXhdLl9pc0hvdmVyKSByZXR1cm47XG4gICAgICAgICAgICB0aGlzLm9iakRhdGFbX2luZGV4XS5faXNIb3ZlciA9IHRydWU7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZU1vdXNlT3V0OiBmdW5jdGlvbiBoYW5kbGVNb3VzZU91dChfaW5kZXgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVkSG92ZXIpIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMub2JqRGF0YVtfaW5kZXhdLl9pc0hvdmVyID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUN1cnJlbnRSb3c6IGZ1bmN0aW9uIGhhbmRsZUN1cnJlbnRSb3codHlwZSwgX2luZGV4KSB7XG4gICAgICAgICAgICB2YXIgb2xkSW5kZXggPSAtMTtcbiAgICAgICAgICAgIGZvciAodmFyIGkgaW4gdGhpcy5vYmpEYXRhKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMub2JqRGF0YVtpXS5faXNIaWdobGlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgb2xkSW5kZXggPSBwYXJzZUludChpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vYmpEYXRhW2ldLl9pc0hpZ2hsaWdodCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlID09PSAnaGlnaGxpZ2h0JykgdGhpcy5vYmpEYXRhW19pbmRleF0uX2lzSGlnaGxpZ2h0ID0gdHJ1ZTtcbiAgICAgICAgICAgIHZhciBvbGREYXRhID0gb2xkSW5kZXggPCAwID8gbnVsbCA6IEpTT04ucGFyc2UoKDAsIF9zdHJpbmdpZnkyLmRlZmF1bHQpKHRoaXMuY2xvbmVEYXRhW29sZEluZGV4XSkpO1xuICAgICAgICAgICAgdmFyIG5ld0RhdGEgPSB0eXBlID09PSAnaGlnaGxpZ2h0JyA/IEpTT04ucGFyc2UoKDAsIF9zdHJpbmdpZnkyLmRlZmF1bHQpKHRoaXMuY2xvbmVEYXRhW19pbmRleF0pKSA6IG51bGw7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1jdXJyZW50LWNoYW5nZScsIG5ld0RhdGEsIG9sZERhdGEpO1xuICAgICAgICB9LFxuICAgICAgICBoaWdobGlnaHRDdXJyZW50Um93OiBmdW5jdGlvbiBoaWdobGlnaHRDdXJyZW50Um93KF9pbmRleCkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmhpZ2hsaWdodFJvdyB8fCB0aGlzLm9iakRhdGFbX2luZGV4XS5faXNIaWdobGlnaHQpIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ3VycmVudFJvdygnaGlnaGxpZ2h0JywgX2luZGV4KTtcbiAgICAgICAgfSxcbiAgICAgICAgY2xlYXJDdXJyZW50Um93OiBmdW5jdGlvbiBjbGVhckN1cnJlbnRSb3coKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaGlnaGxpZ2h0Um93KSByZXR1cm47XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUN1cnJlbnRSb3coJ2NsZWFyJyk7XG4gICAgICAgIH0sXG4gICAgICAgIGNsaWNrQ3VycmVudFJvdzogZnVuY3Rpb24gY2xpY2tDdXJyZW50Um93KF9pbmRleCkge1xuICAgICAgICAgICAgdGhpcy5oaWdobGlnaHRDdXJyZW50Um93KF9pbmRleCk7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1yb3ctY2xpY2snLCBKU09OLnBhcnNlKCgwLCBfc3RyaW5naWZ5Mi5kZWZhdWx0KSh0aGlzLmNsb25lRGF0YVtfaW5kZXhdKSksIF9pbmRleCk7XG4gICAgICAgIH0sXG4gICAgICAgIGRibGNsaWNrQ3VycmVudFJvdzogZnVuY3Rpb24gZGJsY2xpY2tDdXJyZW50Um93KF9pbmRleCkge1xuICAgICAgICAgICAgdGhpcy5oaWdobGlnaHRDdXJyZW50Um93KF9pbmRleCk7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1yb3ctZGJsY2xpY2snLCBKU09OLnBhcnNlKCgwLCBfc3RyaW5naWZ5Mi5kZWZhdWx0KSh0aGlzLmNsb25lRGF0YVtfaW5kZXhdKSksIF9pbmRleCk7XG4gICAgICAgIH0sXG4gICAgICAgIGdldFNlbGVjdGlvbjogZnVuY3Rpb24gZ2V0U2VsZWN0aW9uKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzNiA9IHRoaXM7XG5cbiAgICAgICAgICAgIHZhciBzZWxlY3Rpb25JbmRleGVzID0gW107XG4gICAgICAgICAgICBmb3IgKHZhciBpIGluIHRoaXMub2JqRGF0YSkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm9iakRhdGFbaV0uX2lzQ2hlY2tlZCkgc2VsZWN0aW9uSW5kZXhlcy5wdXNoKHBhcnNlSW50KGkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKCgwLCBfc3RyaW5naWZ5Mi5kZWZhdWx0KSh0aGlzLmRhdGEuZmlsdGVyKGZ1bmN0aW9uIChkYXRhLCBpbmRleCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM2KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0aW9uSW5kZXhlcy5pbmRleE9mKGluZGV4KSA+IC0xO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKSkpO1xuICAgICAgICB9LFxuICAgICAgICB0b2dnbGVTZWxlY3Q6IGZ1bmN0aW9uIHRvZ2dsZVNlbGVjdChfaW5kZXgpIHtcbiAgICAgICAgICAgIHZhciBkYXRhID0ge307XG5cbiAgICAgICAgICAgIGZvciAodmFyIGkgaW4gdGhpcy5vYmpEYXRhKSB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcnNlSW50KGkpID09PSBfaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHRoaXMub2JqRGF0YVtpXTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHN0YXR1cyA9ICFkYXRhLl9pc0NoZWNrZWQ7XG5cbiAgICAgICAgICAgIHRoaXMub2JqRGF0YVtfaW5kZXhdLl9pc0NoZWNrZWQgPSBzdGF0dXM7XG5cbiAgICAgICAgICAgIHZhciBzZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgdGhpcy4kZW1pdChzdGF0dXMgPyAnb24tc2VsZWN0JyA6ICdvbi1zZWxlY3QtY2FuY2VsJywgc2VsZWN0aW9uLCBKU09OLnBhcnNlKCgwLCBfc3RyaW5naWZ5Mi5kZWZhdWx0KSh0aGlzLmRhdGFbX2luZGV4XSkpKTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLXNlbGVjdGlvbi1jaGFuZ2UnLCBzZWxlY3Rpb24pO1xuICAgICAgICB9LFxuICAgICAgICB0b2dnbGVFeHBhbmQ6IGZ1bmN0aW9uIHRvZ2dsZUV4cGFuZChfaW5kZXgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczcgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgZGF0YSA9IHt9O1xuXG4gICAgICAgICAgICBmb3IgKHZhciBpIGluIHRoaXMub2JqRGF0YSkge1xuICAgICAgICAgICAgICAgIGlmIChwYXJzZUludChpKSA9PT0gX2luZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGEgPSB0aGlzLm9iakRhdGFbaV07XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBzdGF0dXMgPSAhZGF0YS5faXNFeHBhbmRlZDtcbiAgICAgICAgICAgIHRoaXMub2JqRGF0YVtfaW5kZXhdLl9pc0V4cGFuZGVkID0gc3RhdHVzO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tZXhwYW5kJywgSlNPTi5wYXJzZSgoMCwgX3N0cmluZ2lmeTIuZGVmYXVsdCkodGhpcy5jbG9uZURhdGFbX2luZGV4XSkpLCBzdGF0dXMpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5oZWlnaHQgfHwgdGhpcy5tYXhIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM3KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZml4ZWRCb2R5KCk7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc2VsZWN0QWxsOiBmdW5jdGlvbiBzZWxlY3RBbGwoc3RhdHVzKSB7XG4gICAgICAgICAgICB2YXIgX2l0ZXJhdG9yTm9ybWFsQ29tcGxldGlvbiA9IHRydWU7XG4gICAgICAgICAgICB2YXIgX2RpZEl0ZXJhdG9yRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgICAgIHZhciBfaXRlcmF0b3JFcnJvciA9IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBfaXRlcmF0b3IgPSAoMCwgX2dldEl0ZXJhdG9yMy5kZWZhdWx0KSh0aGlzLnJlYnVpbGREYXRhKSwgX3N0ZXA7ICEoX2l0ZXJhdG9yTm9ybWFsQ29tcGxldGlvbiA9IChfc3RlcCA9IF9pdGVyYXRvci5uZXh0KCkpLmRvbmUpOyBfaXRlcmF0b3JOb3JtYWxDb21wbGV0aW9uID0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YSA9IF9zdGVwLnZhbHVlO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9iakRhdGFbZGF0YS5faW5kZXhdLl9pc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub2JqRGF0YVtkYXRhLl9pbmRleF0uX2lzQ2hlY2tlZCA9IHN0YXR1cztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIF9kaWRJdGVyYXRvckVycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBfaXRlcmF0b3JFcnJvciA9IGVycjtcbiAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFfaXRlcmF0b3JOb3JtYWxDb21wbGV0aW9uICYmIF9pdGVyYXRvci5yZXR1cm4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIF9pdGVyYXRvci5yZXR1cm4oKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChfZGlkSXRlcmF0b3JFcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgX2l0ZXJhdG9yRXJyb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBzZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgaWYgKHN0YXR1cykge1xuICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLXNlbGVjdC1hbGwnLCBzZWxlY3Rpb24pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1zZWxlY3QtYWxsLWNhbmNlbCcsIHNlbGVjdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1zZWxlY3Rpb24tY2hhbmdlJywgc2VsZWN0aW9uKTtcbiAgICAgICAgfSxcbiAgICAgICAgZml4ZWRIZWFkZXI6IGZ1bmN0aW9uIGZpeGVkSGVhZGVyKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzOCA9IHRoaXM7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmhlaWdodCB8fCB0aGlzLm1heEhlaWdodCkge1xuICAgICAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczgpO1xuXG4gICAgICAgICAgICAgICAgICAgIHZhciB0aXRsZUhlaWdodCA9IHBhcnNlSW50KCgwLCBfYXNzaXN0LmdldFN0eWxlKSh0aGlzLiRyZWZzLnRpdGxlLCAnaGVpZ2h0JykpIHx8IDA7XG4gICAgICAgICAgICAgICAgICAgIHZhciBoZWFkZXJIZWlnaHQgPSBwYXJzZUludCgoMCwgX2Fzc2lzdC5nZXRTdHlsZSkodGhpcy4kcmVmcy5oZWFkZXIsICdoZWlnaHQnKSkgfHwgMDtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGZvb3RlckhlaWdodCA9IHBhcnNlSW50KCgwLCBfYXNzaXN0LmdldFN0eWxlKSh0aGlzLiRyZWZzLmZvb3RlciwgJ2hlaWdodCcpKSB8fCAwO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYm9keUhlaWdodCA9IHRoaXMuaGVpZ2h0IC0gdGl0bGVIZWlnaHQgLSBoZWFkZXJIZWlnaHQgLSBmb290ZXJIZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5tYXhIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYm9keUhlaWdodCA9IHRoaXMubWF4SGVpZ2h0IC0gdGl0bGVIZWlnaHQgLSBoZWFkZXJIZWlnaHQgLSBmb290ZXJIZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZml4ZWRCb2R5KCk7XG4gICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ib2R5SGVpZ2h0ID0gMDtcbiAgICAgICAgICAgICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM4KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZml4ZWRCb2R5KCk7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZml4ZWRCb2R5OiBmdW5jdGlvbiBmaXhlZEJvZHkoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy4kcmVmcy5oZWFkZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhlYWRlcldpZHRoID0gdGhpcy4kcmVmcy5oZWFkZXIuY2hpbGRyZW5bMF0ub2Zmc2V0V2lkdGg7XG4gICAgICAgICAgICAgICAgdGhpcy5oZWFkZXJIZWlnaHQgPSB0aGlzLiRyZWZzLmhlYWRlci5jaGlsZHJlblswXS5vZmZzZXRIZWlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghdGhpcy4kcmVmcy50Ym9keSB8fCAhdGhpcy5kYXRhIHx8IHRoaXMuZGF0YS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dWZXJ0aWNhbFNjcm9sbEJhciA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YXIgYm9keUNvbnRlbnRFbCA9IHRoaXMuJHJlZnMudGJvZHkuJGVsO1xuICAgICAgICAgICAgICAgIHZhciBib2R5RWwgPSBib2R5Q29udGVudEVsLnBhcmVudEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgdmFyIGJvZHlDb250ZW50SGVpZ2h0ID0gYm9keUNvbnRlbnRFbC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgICAgICAgICAgdmFyIGJvZHlIZWlnaHQgPSBib2R5RWwub2Zmc2V0SGVpZ2h0O1xuXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93SG9yaXpvbnRhbFNjcm9sbEJhciA9IGJvZHlFbC5vZmZzZXRXaWR0aCA8IGJvZHlDb250ZW50RWwub2Zmc2V0V2lkdGggKyAodGhpcy5zaG93VmVydGljYWxTY3JvbGxCYXIgPyB0aGlzLnNjcm9sbEJhcldpZHRoIDogMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93VmVydGljYWxTY3JvbGxCYXIgPSB0aGlzLmJvZHlIZWlnaHQgPyBib2R5SGVpZ2h0IC0gKHRoaXMuc2hvd0hvcml6b250YWxTY3JvbGxCYXIgPyB0aGlzLnNjcm9sbEJhcldpZHRoIDogMCkgPCBib2R5Q29udGVudEhlaWdodCA6IGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2hvd1ZlcnRpY2FsU2Nyb2xsQmFyKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvZHlFbC5jbGFzc0xpc3QuYWRkKHRoaXMucHJlZml4Q2xzICsgJy1vdmVyZmxvd1knKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBib2R5RWwuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLnByZWZpeENscyArICctb3ZlcmZsb3dZJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNob3dIb3Jpem9udGFsU2Nyb2xsQmFyKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvZHlFbC5jbGFzc0xpc3QuYWRkKHRoaXMucHJlZml4Q2xzICsgJy1vdmVyZmxvd1gnKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBib2R5RWwuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLnByZWZpeENscyArICctb3ZlcmZsb3dYJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBoaWRlQ29sdW1uRmlsdGVyOiBmdW5jdGlvbiBoaWRlQ29sdW1uRmlsdGVyKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzOSA9IHRoaXM7XG5cbiAgICAgICAgICAgIHRoaXMuY2xvbmVDb2x1bW5zLmZvckVhY2goZnVuY3Rpb24gKGNvbCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM5KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29sLl9maWx0ZXJWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVCb2R5U2Nyb2xsOiBmdW5jdGlvbiBoYW5kbGVCb2R5U2Nyb2xsKGV2ZW50KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zaG93SGVhZGVyKSB0aGlzLiRyZWZzLmhlYWRlci5zY3JvbGxMZWZ0ID0gZXZlbnQudGFyZ2V0LnNjcm9sbExlZnQ7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0xlZnRGaXhlZCkgdGhpcy4kcmVmcy5maXhlZEJvZHkuc2Nyb2xsVG9wID0gZXZlbnQudGFyZ2V0LnNjcm9sbFRvcDtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzUmlnaHRGaXhlZCkgdGhpcy4kcmVmcy5maXhlZFJpZ2h0Qm9keS5zY3JvbGxUb3AgPSBldmVudC50YXJnZXQuc2Nyb2xsVG9wO1xuICAgICAgICAgICAgdGhpcy5oaWRlQ29sdW1uRmlsdGVyKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUZpeGVkTW91c2V3aGVlbDogZnVuY3Rpb24gaGFuZGxlRml4ZWRNb3VzZXdoZWVsKGV2ZW50KSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMxMCA9IHRoaXM7XG5cbiAgICAgICAgICAgIHZhciBkZWx0YVkgPSBldmVudC5kZWx0YVk7XG4gICAgICAgICAgICBpZiAoIWRlbHRhWSAmJiBldmVudC5kZXRhaWwpIHtcbiAgICAgICAgICAgICAgICBkZWx0YVkgPSBldmVudC5kZXRhaWwgKiA0MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghZGVsdGFZICYmIGV2ZW50LndoZWVsRGVsdGFZKSB7XG4gICAgICAgICAgICAgICAgZGVsdGFZID0gLWV2ZW50LndoZWVsRGVsdGFZO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFkZWx0YVkgJiYgZXZlbnQud2hlZWxEZWx0YSkge1xuICAgICAgICAgICAgICAgIGRlbHRhWSA9IC1ldmVudC53aGVlbERlbHRhO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFkZWx0YVkpIHJldHVybjtcbiAgICAgICAgICAgIHZhciBib2R5ID0gdGhpcy4kcmVmcy5ib2R5O1xuICAgICAgICAgICAgdmFyIGN1cnJlbnRTY3JvbGxUb3AgPSBib2R5LnNjcm9sbFRvcDtcbiAgICAgICAgICAgIGlmIChkZWx0YVkgPCAwICYmIGN1cnJlbnRTY3JvbGxUb3AgIT09IDApIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRlbHRhWSA+IDAgJiYgYm9keS5zY3JvbGxIZWlnaHQgLSBib2R5LmNsaWVudEhlaWdodCA+IGN1cnJlbnRTY3JvbGxUb3ApIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgc3RlcCA9IDA7XG4gICAgICAgICAgICB2YXIgdGltZUlkID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMxMCk7XG5cbiAgICAgICAgICAgICAgICBzdGVwICs9IDU7XG4gICAgICAgICAgICAgICAgaWYgKGRlbHRhWSA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgYm9keS5zY3JvbGxUb3AgKz0gMjtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBib2R5LnNjcm9sbFRvcCAtPSAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoc3RlcCA+PSBNYXRoLmFicyhkZWx0YVkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGltZUlkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LmJpbmQodGhpcyksIDUpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVNb3VzZVdoZWVsOiBmdW5jdGlvbiBoYW5kbGVNb3VzZVdoZWVsKGV2ZW50KSB7XG4gICAgICAgICAgICB2YXIgZGVsdGFYID0gZXZlbnQuZGVsdGFYO1xuICAgICAgICAgICAgdmFyICRib2R5ID0gdGhpcy4kcmVmcy5ib2R5O1xuXG4gICAgICAgICAgICBpZiAoZGVsdGFYID4gMCkge1xuICAgICAgICAgICAgICAgICRib2R5LnNjcm9sbExlZnQgPSAkYm9keS5zY3JvbGxMZWZ0ICsgMTA7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICRib2R5LnNjcm9sbExlZnQgPSAkYm9keS5zY3JvbGxMZWZ0IC0gMTA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHNvcnREYXRhOiBmdW5jdGlvbiBzb3J0RGF0YShkYXRhLCB0eXBlLCBpbmRleCkge1xuICAgICAgICAgICAgdmFyIF90aGlzMTEgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIga2V5ID0gdGhpcy5jbG9uZUNvbHVtbnNbaW5kZXhdLmtleTtcbiAgICAgICAgICAgIGRhdGEuc29ydChmdW5jdGlvbiAoYSwgYikge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMxMSk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jbG9uZUNvbHVtbnNbaW5kZXhdLnNvcnRNZXRob2QpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2xvbmVDb2x1bW5zW2luZGV4XS5zb3J0TWV0aG9kKGFba2V5XSwgYltrZXldLCB0eXBlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2FzYycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhW2tleV0gPiBiW2tleV0gPyAxIDogLTE7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2Rlc2MnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYVtrZXldIDwgYltrZXldID8gMSA6IC0xO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVTb3J0OiBmdW5jdGlvbiBoYW5kbGVTb3J0KF9pbmRleCwgdHlwZSkge1xuICAgICAgICAgICAgdmFyIF90aGlzMTIgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgaW5kZXggPSB0aGlzLkdldE9yaWdpbmFsSW5kZXgoX2luZGV4KTtcbiAgICAgICAgICAgIHRoaXMuY2xvbmVDb2x1bW5zLmZvckVhY2goZnVuY3Rpb24gKGNvbCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMxMik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbC5fc29ydFR5cGUgPSAnbm9ybWFsJztcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG5cbiAgICAgICAgICAgIHZhciBrZXkgPSB0aGlzLmNsb25lQ29sdW1uc1tpbmRleF0ua2V5O1xuICAgICAgICAgICAgaWYgKHRoaXMuY2xvbmVDb2x1bW5zW2luZGV4XS5zb3J0YWJsZSAhPT0gJ2N1c3RvbScpIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ25vcm1hbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWJ1aWxkRGF0YSA9IHRoaXMubWFrZURhdGFXaXRoRmlsdGVyKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWJ1aWxkRGF0YSA9IHRoaXMuc29ydERhdGEodGhpcy5yZWJ1aWxkRGF0YSwgdHlwZSwgaW5kZXgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY2xvbmVDb2x1bW5zW2luZGV4XS5fc29ydFR5cGUgPSB0eXBlO1xuXG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1zb3J0LWNoYW5nZScsIHtcbiAgICAgICAgICAgICAgICBjb2x1bW46IEpTT04ucGFyc2UoKDAsIF9zdHJpbmdpZnkyLmRlZmF1bHQpKHRoaXMuYWxsQ29sdW1uc1t0aGlzLmNsb25lQ29sdW1uc1tpbmRleF0uX2luZGV4XSkpLFxuICAgICAgICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgICAgICAgIG9yZGVyOiB0eXBlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlRmlsdGVySGlkZTogZnVuY3Rpb24gaGFuZGxlRmlsdGVySGlkZShpbmRleCkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmNsb25lQ29sdW1uc1tpbmRleF0uX2lzRmlsdGVyZWQpIHRoaXMuY2xvbmVDb2x1bW5zW2luZGV4XS5fZmlsdGVyQ2hlY2tlZCA9IFtdO1xuICAgICAgICB9LFxuICAgICAgICBmaWx0ZXJEYXRhOiBmdW5jdGlvbiBmaWx0ZXJEYXRhKGRhdGEsIGNvbHVtbikge1xuICAgICAgICAgICAgdmFyIF90aGlzMTMgPSB0aGlzO1xuXG4gICAgICAgICAgICByZXR1cm4gZGF0YS5maWx0ZXIoZnVuY3Rpb24gKHJvdykge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMxMyk7XG5cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNvbHVtbi5maWx0ZXJSZW1vdGUgPT09ICdmdW5jdGlvbicpIHJldHVybiB0cnVlO1xuXG4gICAgICAgICAgICAgICAgdmFyIHN0YXR1cyA9ICFjb2x1bW4uX2ZpbHRlckNoZWNrZWQubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY29sdW1uLl9maWx0ZXJDaGVja2VkLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cyA9IGNvbHVtbi5maWx0ZXJNZXRob2QoY29sdW1uLl9maWx0ZXJDaGVja2VkW2ldLCByb3cpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdHVzKSBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN0YXR1cztcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgIH0sXG4gICAgICAgIGZpbHRlck90aGVyRGF0YTogZnVuY3Rpb24gZmlsdGVyT3RoZXJEYXRhKGRhdGEsIGluZGV4KSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMxNCA9IHRoaXM7XG5cbiAgICAgICAgICAgIHZhciBjb2x1bW4gPSB0aGlzLmNsb25lQ29sdW1uc1tpbmRleF07XG4gICAgICAgICAgICBpZiAodHlwZW9mIGNvbHVtbi5maWx0ZXJSZW1vdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBjb2x1bW4uZmlsdGVyUmVtb3RlLmNhbGwodGhpcy4kcGFyZW50LCBjb2x1bW4uX2ZpbHRlckNoZWNrZWQsIGNvbHVtbi5rZXksIGNvbHVtbik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuY2xvbmVDb2x1bW5zLmZvckVhY2goZnVuY3Rpb24gKGNvbCwgY29sSW5kZXgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMTQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGNvbEluZGV4ICE9PSBpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICBkYXRhID0gdGhpcy5maWx0ZXJEYXRhKGRhdGEsIGNvbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVGaWx0ZXI6IGZ1bmN0aW9uIGhhbmRsZUZpbHRlcihpbmRleCkge1xuICAgICAgICAgICAgdmFyIGNvbHVtbiA9IHRoaXMuY2xvbmVDb2x1bW5zW2luZGV4XTtcbiAgICAgICAgICAgIHZhciBmaWx0ZXJEYXRhID0gdGhpcy5tYWtlRGF0YVdpdGhTb3J0KCk7XG5cbiAgICAgICAgICAgIGZpbHRlckRhdGEgPSB0aGlzLmZpbHRlck90aGVyRGF0YShmaWx0ZXJEYXRhLCBpbmRleCk7XG4gICAgICAgICAgICB0aGlzLnJlYnVpbGREYXRhID0gdGhpcy5maWx0ZXJEYXRhKGZpbHRlckRhdGEsIGNvbHVtbik7XG5cbiAgICAgICAgICAgIHRoaXMuY2xvbmVDb2x1bW5zW2luZGV4XS5faXNGaWx0ZXJlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmNsb25lQ29sdW1uc1tpbmRleF0uX2ZpbHRlclZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWZpbHRlci1jaGFuZ2UnLCBjb2x1bW4pO1xuICAgICAgICB9LFxuICAgICAgICBHZXRPcmlnaW5hbEluZGV4OiBmdW5jdGlvbiBHZXRPcmlnaW5hbEluZGV4KF9pbmRleCkge1xuICAgICAgICAgICAgdmFyIF90aGlzMTUgPSB0aGlzO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jbG9uZUNvbHVtbnMuZmluZEluZGV4KGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczE1KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5faW5kZXggPT09IF9pbmRleDtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUZpbHRlclNlbGVjdDogZnVuY3Rpb24gaGFuZGxlRmlsdGVyU2VsZWN0KF9pbmRleCwgdmFsdWUpIHtcbiAgICAgICAgICAgIHZhciBpbmRleCA9IHRoaXMuR2V0T3JpZ2luYWxJbmRleChfaW5kZXgpO1xuICAgICAgICAgICAgdGhpcy5jbG9uZUNvbHVtbnNbaW5kZXhdLl9maWx0ZXJDaGVja2VkID0gW3ZhbHVlXTtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRmlsdGVyKGluZGV4KTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlRmlsdGVyUmVzZXQ6IGZ1bmN0aW9uIGhhbmRsZUZpbHRlclJlc2V0KF9pbmRleCkge1xuICAgICAgICAgICAgdmFyIGluZGV4ID0gdGhpcy5HZXRPcmlnaW5hbEluZGV4KF9pbmRleCk7XG4gICAgICAgICAgICB0aGlzLmNsb25lQ29sdW1uc1tpbmRleF0uX2lzRmlsdGVyZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuY2xvbmVDb2x1bW5zW2luZGV4XS5fZmlsdGVyVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5jbG9uZUNvbHVtbnNbaW5kZXhdLl9maWx0ZXJDaGVja2VkID0gW107XG5cbiAgICAgICAgICAgIHZhciBmaWx0ZXJEYXRhID0gdGhpcy5tYWtlRGF0YVdpdGhTb3J0KCk7XG4gICAgICAgICAgICBmaWx0ZXJEYXRhID0gdGhpcy5maWx0ZXJPdGhlckRhdGEoZmlsdGVyRGF0YSwgaW5kZXgpO1xuICAgICAgICAgICAgdGhpcy5yZWJ1aWxkRGF0YSA9IGZpbHRlckRhdGE7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1maWx0ZXItY2hhbmdlJywgdGhpcy5jbG9uZUNvbHVtbnNbaW5kZXhdKTtcbiAgICAgICAgfSxcbiAgICAgICAgbWFrZURhdGE6IGZ1bmN0aW9uIG1ha2VEYXRhKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzMTYgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgZGF0YSA9ICgwLCBfYXNzaXN0LmRlZXBDb3B5KSh0aGlzLmRhdGEpO1xuICAgICAgICAgICAgZGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChyb3csIGluZGV4KSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczE2KTtcblxuICAgICAgICAgICAgICAgIHJvdy5faW5kZXggPSBpbmRleDtcbiAgICAgICAgICAgICAgICByb3cuX3Jvd0tleSA9IHJvd0tleSsrO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9LFxuICAgICAgICBtYWtlRGF0YVdpdGhTb3J0OiBmdW5jdGlvbiBtYWtlRGF0YVdpdGhTb3J0KCkge1xuICAgICAgICAgICAgdmFyIGRhdGEgPSB0aGlzLm1ha2VEYXRhKCk7XG4gICAgICAgICAgICB2YXIgc29ydFR5cGUgPSAnbm9ybWFsJztcbiAgICAgICAgICAgIHZhciBzb3J0SW5kZXggPSAtMTtcbiAgICAgICAgICAgIHZhciBpc0N1c3RvbSA9IGZhbHNlO1xuXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuY2xvbmVDb2x1bW5zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY2xvbmVDb2x1bW5zW2ldLl9zb3J0VHlwZSAhPT0gJ25vcm1hbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgc29ydFR5cGUgPSB0aGlzLmNsb25lQ29sdW1uc1tpXS5fc29ydFR5cGU7XG4gICAgICAgICAgICAgICAgICAgIHNvcnRJbmRleCA9IGk7XG4gICAgICAgICAgICAgICAgICAgIGlzQ3VzdG9tID0gdGhpcy5jbG9uZUNvbHVtbnNbaV0uc29ydGFibGUgPT09ICdjdXN0b20nO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc29ydFR5cGUgIT09ICdub3JtYWwnICYmICFpc0N1c3RvbSkgZGF0YSA9IHRoaXMuc29ydERhdGEoZGF0YSwgc29ydFR5cGUsIHNvcnRJbmRleCk7XG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfSxcbiAgICAgICAgbWFrZURhdGFXaXRoRmlsdGVyOiBmdW5jdGlvbiBtYWtlRGF0YVdpdGhGaWx0ZXIoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMxNyA9IHRoaXM7XG5cbiAgICAgICAgICAgIHZhciBkYXRhID0gdGhpcy5tYWtlRGF0YSgpO1xuICAgICAgICAgICAgdGhpcy5jbG9uZUNvbHVtbnMuZm9yRWFjaChmdW5jdGlvbiAoY29sKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczE3KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YSA9IHRoaXMuZmlsdGVyRGF0YShkYXRhLCBjb2wpO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9LFxuICAgICAgICBtYWtlRGF0YVdpdGhTb3J0QW5kRmlsdGVyOiBmdW5jdGlvbiBtYWtlRGF0YVdpdGhTb3J0QW5kRmlsdGVyKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzMTggPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgZGF0YSA9IHRoaXMubWFrZURhdGFXaXRoU29ydCgpO1xuICAgICAgICAgICAgdGhpcy5jbG9uZUNvbHVtbnMuZm9yRWFjaChmdW5jdGlvbiAoY29sKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczE4KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YSA9IHRoaXMuZmlsdGVyRGF0YShkYXRhLCBjb2wpO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9LFxuICAgICAgICBtYWtlT2JqRGF0YTogZnVuY3Rpb24gbWFrZU9iakRhdGEoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMxOSA9IHRoaXM7XG5cbiAgICAgICAgICAgIHZhciBkYXRhID0ge307XG4gICAgICAgICAgICB0aGlzLmRhdGEuZm9yRWFjaChmdW5jdGlvbiAocm93LCBpbmRleCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMxOSk7XG5cbiAgICAgICAgICAgICAgICB2YXIgbmV3Um93ID0gKDAsIF9hc3Npc3QuZGVlcENvcHkpKHJvdyk7XG4gICAgICAgICAgICAgICAgbmV3Um93Ll9pc0hvdmVyID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaWYgKG5ld1Jvdy5fZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3Um93Ll9pc0Rpc2FibGVkID0gbmV3Um93Ll9kaXNhYmxlZDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBuZXdSb3cuX2lzRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG5ld1Jvdy5fY2hlY2tlZCkge1xuICAgICAgICAgICAgICAgICAgICBuZXdSb3cuX2lzQ2hlY2tlZCA9IG5ld1Jvdy5fY2hlY2tlZDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBuZXdSb3cuX2lzQ2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobmV3Um93Ll9leHBhbmRlZCkge1xuICAgICAgICAgICAgICAgICAgICBuZXdSb3cuX2lzRXhwYW5kZWQgPSBuZXdSb3cuX2V4cGFuZGVkO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld1Jvdy5faXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobmV3Um93Ll9oaWdobGlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3Um93Ll9pc0hpZ2hsaWdodCA9IG5ld1Jvdy5faGlnaGxpZ2h0O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld1Jvdy5faXNIaWdobGlnaHQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZGF0YVtpbmRleF0gPSBuZXdSb3c7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH0sXG4gICAgICAgIG1ha2VDb2x1bW5zSWQ6IGZ1bmN0aW9uIG1ha2VDb2x1bW5zSWQoY29sdW1ucykge1xuICAgICAgICAgICAgdmFyIF90aGlzMjAgPSB0aGlzO1xuXG4gICAgICAgICAgICByZXR1cm4gY29sdW1ucy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMjApO1xuXG4gICAgICAgICAgICAgICAgaWYgKCdjaGlsZHJlbicgaW4gaXRlbSkgdGhpcy5tYWtlQ29sdW1uc0lkKGl0ZW0uY2hpbGRyZW4pO1xuICAgICAgICAgICAgICAgIGl0ZW0uX19pZCA9ICgwLCBfdXRpbC5nZXRSYW5kb21TdHIpKDYpO1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfSxcbiAgICAgICAgbWFrZUNvbHVtbnM6IGZ1bmN0aW9uIG1ha2VDb2x1bW5zKGNvbHMpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczIxID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIGNvbHVtbnMgPSAoMCwgX2Fzc2lzdC5kZWVwQ29weSkoKDAsIF91dGlsLmdldEFsbENvbHVtbnMpKGNvbHMpKTtcbiAgICAgICAgICAgIHZhciBsZWZ0ID0gW107XG4gICAgICAgICAgICB2YXIgcmlnaHQgPSBbXTtcbiAgICAgICAgICAgIHZhciBjZW50ZXIgPSBbXTtcblxuICAgICAgICAgICAgY29sdW1ucy5mb3JFYWNoKGZ1bmN0aW9uIChjb2x1bW4sIGluZGV4KSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczIxKTtcblxuICAgICAgICAgICAgICAgIGNvbHVtbi5faW5kZXggPSBpbmRleDtcbiAgICAgICAgICAgICAgICBjb2x1bW4uX2NvbHVtbktleSA9IGNvbHVtbktleSsrO1xuICAgICAgICAgICAgICAgIGNvbHVtbi53aWR0aCA9IHBhcnNlSW50KGNvbHVtbi53aWR0aCk7XG4gICAgICAgICAgICAgICAgY29sdW1uLl93aWR0aCA9IGNvbHVtbi53aWR0aCA/IGNvbHVtbi53aWR0aCA6ICcnO1xuICAgICAgICAgICAgICAgIGNvbHVtbi5fc29ydFR5cGUgPSAnbm9ybWFsJztcbiAgICAgICAgICAgICAgICBjb2x1bW4uX2ZpbHRlclZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBjb2x1bW4uX2lzRmlsdGVyZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBjb2x1bW4uX2ZpbHRlckNoZWNrZWQgPSBbXTtcblxuICAgICAgICAgICAgICAgIGlmICgnZmlsdGVyTXVsdGlwbGUnIGluIGNvbHVtbikge1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW4uX2ZpbHRlck11bHRpcGxlID0gY29sdW1uLmZpbHRlck11bHRpcGxlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbi5fZmlsdGVyTXVsdGlwbGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoJ2ZpbHRlcmVkVmFsdWUnIGluIGNvbHVtbikge1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW4uX2ZpbHRlckNoZWNrZWQgPSBjb2x1bW4uZmlsdGVyZWRWYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLl9pc0ZpbHRlcmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoJ3NvcnRUeXBlJyBpbiBjb2x1bW4pIHtcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLl9zb3J0VHlwZSA9IGNvbHVtbi5zb3J0VHlwZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoY29sdW1uLmZpeGVkICYmIGNvbHVtbi5maXhlZCA9PT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQucHVzaChjb2x1bW4pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY29sdW1uLmZpeGVkICYmIGNvbHVtbi5maXhlZCA9PT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICByaWdodC5wdXNoKGNvbHVtbik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY2VudGVyLnB1c2goY29sdW1uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgcmV0dXJuIGxlZnQuY29uY2F0KGNlbnRlcikuY29uY2F0KHJpZ2h0KTtcbiAgICAgICAgfSxcbiAgICAgICAgbWFrZUNvbHVtblJvd3M6IGZ1bmN0aW9uIG1ha2VDb2x1bW5Sb3dzKGZpeGVkVHlwZSwgY29scykge1xuICAgICAgICAgICAgcmV0dXJuICgwLCBfdXRpbC5jb252ZXJ0VG9Sb3dzKShjb2xzLCBmaXhlZFR5cGUpO1xuICAgICAgICB9LFxuICAgICAgICBleHBvcnRDc3Y6IGZ1bmN0aW9uIGV4cG9ydENzdihwYXJhbXMpIHtcbiAgICAgICAgICAgIGlmIChwYXJhbXMuZmlsZW5hbWUpIHtcbiAgICAgICAgICAgICAgICBpZiAocGFyYW1zLmZpbGVuYW1lLmluZGV4T2YoJy5jc3YnKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zLmZpbGVuYW1lICs9ICcuY3N2JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhcmFtcy5maWxlbmFtZSA9ICd0YWJsZS5jc3YnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgY29sdW1ucyA9IFtdO1xuICAgICAgICAgICAgdmFyIGRhdGFzID0gW107XG4gICAgICAgICAgICBpZiAocGFyYW1zLmNvbHVtbnMgJiYgcGFyYW1zLmRhdGEpIHtcbiAgICAgICAgICAgICAgICBjb2x1bW5zID0gcGFyYW1zLmNvbHVtbnM7XG4gICAgICAgICAgICAgICAgZGF0YXMgPSBwYXJhbXMuZGF0YTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29sdW1ucyA9IHRoaXMuYWxsQ29sdW1ucztcbiAgICAgICAgICAgICAgICBpZiAoISgnb3JpZ2luYWwnIGluIHBhcmFtcykpIHBhcmFtcy5vcmlnaW5hbCA9IHRydWU7XG4gICAgICAgICAgICAgICAgZGF0YXMgPSBwYXJhbXMub3JpZ2luYWwgPyB0aGlzLmRhdGEgOiB0aGlzLnJlYnVpbGREYXRhO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgbm9IZWFkZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmICgnbm9IZWFkZXInIGluIHBhcmFtcykgbm9IZWFkZXIgPSBwYXJhbXMubm9IZWFkZXI7XG5cbiAgICAgICAgICAgIHZhciBkYXRhID0gKDAsIF9jc3YyLmRlZmF1bHQpKGNvbHVtbnMsIGRhdGFzLCBwYXJhbXMsIG5vSGVhZGVyKTtcbiAgICAgICAgICAgIGlmIChwYXJhbXMuY2FsbGJhY2spIHBhcmFtcy5jYWxsYmFjayhkYXRhKTtlbHNlIF9leHBvcnRDc3YyLmRlZmF1bHQuZG93bmxvYWQocGFyYW1zLmZpbGVuYW1lLCBkYXRhKTtcbiAgICAgICAgfSxcbiAgICAgICAgZHJhZ0FuZERyb3A6IGZ1bmN0aW9uIGRyYWdBbmREcm9wKGEsIGIpIHtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWRyYWctZHJvcCcsIGEsIGIpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkge1xuICAgICAgICBpZiAoIXRoaXMuY29udGV4dCkgdGhpcy5jdXJyZW50Q29udGV4dCA9IHRoaXMuJHBhcmVudDtcbiAgICAgICAgdGhpcy5zaG93U2xvdEhlYWRlciA9IHRoaXMuJHNsb3RzLmhlYWRlciAhPT0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLnNob3dTbG90Rm9vdGVyID0gdGhpcy4kc2xvdHMuZm9vdGVyICE9PSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMucmVidWlsZERhdGEgPSB0aGlzLm1ha2VEYXRhV2l0aFNvcnRBbmRGaWx0ZXIoKTtcbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICAgIHZhciBfdGhpczIyID0gdGhpcztcblxuICAgICAgICB0aGlzLmhhbmRsZVJlc2l6ZSgpO1xuICAgICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMjIpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVhZHkgPSB0cnVlO1xuICAgICAgICB9LmJpbmQodGhpcykpO1xuXG4gICAgICAgICgwLCBfZG9tLm9uKSh3aW5kb3csICdyZXNpemUnLCB0aGlzLmhhbmRsZVJlc2l6ZSk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIgPSAoMCwgX2VsZW1lbnRSZXNpemVEZXRlY3RvcjIuZGVmYXVsdCkoKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5saXN0ZW5Ubyh0aGlzLiRlbCwgdGhpcy5oYW5kbGVSZXNpemUpO1xuXG4gICAgICAgIHRoaXMuJG9uKCdvbi12aXNpYmxlLWNoYW5nZScsIGZ1bmN0aW9uICh2YWwpIHtcbiAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyMik7XG5cbiAgICAgICAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyMik7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVSZXNpemUoKTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgIH0sXG4gICAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHtcbiAgICAgICAgKDAsIF9kb20ub2ZmKSh3aW5kb3csICdyZXNpemUnLCB0aGlzLmhhbmRsZVJlc2l6ZSk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIucmVtb3ZlTGlzdGVuZXIodGhpcy4kZWwsIHRoaXMuaGFuZGxlUmVzaXplKTtcbiAgICB9LFxuXG4gICAgd2F0Y2g6IHtcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgaGFuZGxlcjogZnVuY3Rpb24gaGFuZGxlcigpIHtcbiAgICAgICAgICAgICAgICB2YXIgX3RoaXMyMyA9IHRoaXM7XG5cbiAgICAgICAgICAgICAgICB2YXIgb2xkRGF0YUxlbiA9IHRoaXMucmVidWlsZERhdGEubGVuZ3RoO1xuICAgICAgICAgICAgICAgIHRoaXMub2JqRGF0YSA9IHRoaXMubWFrZU9iakRhdGEoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlYnVpbGREYXRhID0gdGhpcy5tYWtlRGF0YVdpdGhTb3J0QW5kRmlsdGVyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVSZXNpemUoKTtcbiAgICAgICAgICAgICAgICBpZiAoIW9sZERhdGFMZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maXhlZEhlYWRlcigpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMjMpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvbmVEYXRhID0gKDAsIF9hc3Npc3QuZGVlcENvcHkpKHRoaXMuZGF0YSk7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpLCAwKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGRlZXA6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgY29sdW1uczoge1xuICAgICAgICAgICAgaGFuZGxlcjogZnVuY3Rpb24gaGFuZGxlcigpIHtcbiAgICAgICAgICAgICAgICB2YXIgY29sc1dpdGhJZCA9IHRoaXMubWFrZUNvbHVtbnNJZCh0aGlzLmNvbHVtbnMpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWxsQ29sdW1ucyA9ICgwLCBfdXRpbC5nZXRBbGxDb2x1bW5zKShjb2xzV2l0aElkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb25lQ29sdW1ucyA9IHRoaXMubWFrZUNvbHVtbnMoY29sc1dpdGhJZCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmNvbHVtblJvd3MgPSB0aGlzLm1ha2VDb2x1bW5Sb3dzKGZhbHNlLCBjb2xzV2l0aElkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxlZnRGaXhlZENvbHVtblJvd3MgPSB0aGlzLm1ha2VDb2x1bW5Sb3dzKCdsZWZ0JywgY29sc1dpdGhJZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yaWdodEZpeGVkQ29sdW1uUm93cyA9IHRoaXMubWFrZUNvbHVtblJvd3MoJ3JpZ2h0JywgY29sc1dpdGhJZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWJ1aWxkRGF0YSA9IHRoaXMubWFrZURhdGFXaXRoU29ydEFuZEZpbHRlcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVzaXplKCk7XG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICBkZWVwOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIGhlaWdodDogZnVuY3Rpb24gaGVpZ2h0KCkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVSZXNpemUoKTtcbiAgICAgICAgfSxcbiAgICAgICAgbWF4SGVpZ2h0OiBmdW5jdGlvbiBtYXhIZWlnaHQoKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlc2l6ZSgpO1xuICAgICAgICB9LFxuICAgICAgICBzaG93SG9yaXpvbnRhbFNjcm9sbEJhcjogZnVuY3Rpb24gc2hvd0hvcml6b250YWxTY3JvbGxCYXIoKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlc2l6ZSgpO1xuICAgICAgICB9LFxuICAgICAgICBzaG93VmVydGljYWxTY3JvbGxCYXI6IGZ1bmN0aW9uIHNob3dWZXJ0aWNhbFNjcm9sbEJhcigpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVzaXplKCk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDIyNSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF9hc3NpZ24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE0KTtcblxudmFyIF9hc3NpZ24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfYXNzaWduKTtcblxudmFyIF9jaGVja2JveEdyb3VwID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMzMpO1xuXG52YXIgX2NoZWNrYm94R3JvdXAyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfY2hlY2tib3hHcm91cCk7XG5cbnZhciBfY2hlY2tib3ggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ2KTtcblxudmFyIF9jaGVja2JveDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jaGVja2JveCk7XG5cbnZhciBfcG9wdGlwID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMDkpO1xuXG52YXIgX3BvcHRpcDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9wb3B0aXApO1xuXG52YXIgX2J1dHRvbiA9IF9fd2VicGFja19yZXF1aXJlX18oMjQpO1xuXG52YXIgX2J1dHRvbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9idXR0b24pO1xuXG52YXIgX2hlYWRlciA9IF9fd2VicGFja19yZXF1aXJlX18oNTY0KTtcblxudmFyIF9oZWFkZXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaGVhZGVyKTtcblxudmFyIF9taXhpbiA9IF9fd2VicGFja19yZXF1aXJlX18oMjI2KTtcblxudmFyIF9taXhpbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9taXhpbik7XG5cbnZhciBfbG9jYWxlID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1KTtcblxudmFyIF9sb2NhbGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbG9jYWxlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdUYWJsZUhlYWQnLFxuICAgIG1peGluczogW19taXhpbjIuZGVmYXVsdCwgX2xvY2FsZTIuZGVmYXVsdF0sXG4gICAgY29tcG9uZW50czogeyBDaGVja2JveEdyb3VwOiBfY2hlY2tib3hHcm91cDIuZGVmYXVsdCwgQ2hlY2tib3g6IF9jaGVja2JveDIuZGVmYXVsdCwgUG9wdGlwOiBfcG9wdGlwMi5kZWZhdWx0LCBpQnV0dG9uOiBfYnV0dG9uMi5kZWZhdWx0LCByZW5kZXJIZWFkZXI6IF9oZWFkZXIyLmRlZmF1bHQgfSxcbiAgICBwcm9wczoge1xuICAgICAgICBwcmVmaXhDbHM6IFN0cmluZyxcbiAgICAgICAgc3R5bGVPYmplY3Q6IE9iamVjdCxcbiAgICAgICAgY29sdW1uczogQXJyYXksXG4gICAgICAgIG9iakRhdGE6IE9iamVjdCxcbiAgICAgICAgZGF0YTogQXJyYXksXG4gICAgICAgIGNvbHVtbnNXaWR0aDogT2JqZWN0LFxuICAgICAgICBmaXhlZDoge1xuICAgICAgICAgICAgdHlwZTogW0Jvb2xlYW4sIFN0cmluZ10sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBjb2x1bW5Sb3dzOiBBcnJheSxcbiAgICAgICAgZml4ZWRDb2x1bW5Sb3dzOiBBcnJheVxuICAgIH0sXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgc3R5bGVzOiBmdW5jdGlvbiBzdHlsZXMoKSB7XG4gICAgICAgICAgICB2YXIgc3R5bGUgPSAoMCwgX2Fzc2lnbjIuZGVmYXVsdCkoe30sIHRoaXMuc3R5bGVPYmplY3QpO1xuICAgICAgICAgICAgdmFyIHdpZHRoID0gcGFyc2VJbnQodGhpcy5zdHlsZU9iamVjdC53aWR0aCk7XG4gICAgICAgICAgICBzdHlsZS53aWR0aCA9IFN0cmluZyh3aWR0aCkgKyAncHgnO1xuICAgICAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgICAgICB9LFxuICAgICAgICBpc1NlbGVjdEFsbDogZnVuY3Rpb24gaXNTZWxlY3RBbGwoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgaXNTZWxlY3RBbGwgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmRhdGEubGVuZ3RoKSBpc1NlbGVjdEFsbCA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmRhdGEuZmluZChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuICAgICAgICAgICAgICAgIHJldHVybiAhaXRlbS5fZGlzYWJsZWQ7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpKSBpc1NlbGVjdEFsbCA9IGZhbHNlO1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmRhdGEubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMub2JqRGF0YVt0aGlzLmRhdGFbaV0uX2luZGV4XS5faXNDaGVja2VkICYmICF0aGlzLm9iakRhdGFbdGhpcy5kYXRhW2ldLl9pbmRleF0uX2lzRGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RBbGwgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gaXNTZWxlY3RBbGw7XG4gICAgICAgIH0sXG4gICAgICAgIGhlYWRSb3dzOiBmdW5jdGlvbiBoZWFkUm93cygpIHtcbiAgICAgICAgICAgIHZhciBpc0dyb3VwID0gdGhpcy5jb2x1bW5Sb3dzLmxlbmd0aCA+IDE7XG4gICAgICAgICAgICBpZiAoaXNHcm91cCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZpeGVkID8gdGhpcy5maXhlZENvbHVtblJvd3MgOiB0aGlzLmNvbHVtblJvd3M7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBbdGhpcy5jb2x1bW5zXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgaXNTZWxlY3REaXNhYmxlZDogZnVuY3Rpb24gaXNTZWxlY3REaXNhYmxlZCgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgaXNTZWxlY3REaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmRhdGEubGVuZ3RoKSBpc1NlbGVjdERpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmICghdGhpcy5kYXRhLmZpbmQoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMik7XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpdGVtLl9kaXNhYmxlZDtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSkpIGlzU2VsZWN0RGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIGlzU2VsZWN0RGlzYWJsZWQ7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgY2VsbENsYXNzZXM6IGZ1bmN0aW9uIGNlbGxDbGFzc2VzKGNvbHVtbikge1xuICAgICAgICAgICAgdmFyIF9yZWY7XG5cbiAgICAgICAgICAgIHJldHVybiBbU3RyaW5nKHRoaXMucHJlZml4Q2xzKSArICctY2VsbCcsIChfcmVmID0ge30sICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIFN0cmluZyh0aGlzLnByZWZpeENscykgKyAnLWhpZGRlbicsICF0aGlzLmZpeGVkICYmIGNvbHVtbi5maXhlZCAmJiAoY29sdW1uLmZpeGVkID09PSAnbGVmdCcgfHwgY29sdW1uLmZpeGVkID09PSAncmlnaHQnKSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIFN0cmluZyh0aGlzLnByZWZpeENscykgKyAnLWNlbGwtd2l0aC1zZWxlY3Rpb24nLCBjb2x1bW4udHlwZSA9PT0gJ3NlbGVjdGlvbicpLCBfcmVmKV07XG4gICAgICAgIH0sXG4gICAgICAgIHNjcm9sbEJhckNlbGxDbGFzczogZnVuY3Rpb24gc2Nyb2xsQmFyQ2VsbENsYXNzKCkge1xuICAgICAgICAgICAgdmFyIGhhc1JpZ2h0Rml4ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIGZvciAodmFyIGkgaW4gdGhpcy5oZWFkUm93cykge1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGogaW4gdGhpcy5oZWFkUm93c1tpXSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oZWFkUm93c1tpXVtqXS5maXhlZCA9PT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGFzUmlnaHRGaXhlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoaGFzUmlnaHRGaXhlZCkgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIFsoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KSh7fSwgU3RyaW5nKHRoaXMucHJlZml4Q2xzKSArICctaGlkZGVuJywgaGFzUmlnaHRGaXhlZCldO1xuICAgICAgICB9LFxuICAgICAgICBpdGVtQ2xhc3NlczogZnVuY3Rpb24gaXRlbUNsYXNzZXMoY29sdW1uLCBpdGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gW1N0cmluZyh0aGlzLnByZWZpeENscykgKyAnLWZpbHRlci1zZWxlY3QtaXRlbScsICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKHt9LCBTdHJpbmcodGhpcy5wcmVmaXhDbHMpICsgJy1maWx0ZXItc2VsZWN0LWl0ZW0tc2VsZWN0ZWQnLCBjb2x1bW4uX2ZpbHRlckNoZWNrZWRbMF0gPT09IGl0ZW0udmFsdWUpXTtcbiAgICAgICAgfSxcbiAgICAgICAgaXRlbUFsbENsYXNzZXM6IGZ1bmN0aW9uIGl0ZW1BbGxDbGFzc2VzKGNvbHVtbikge1xuICAgICAgICAgICAgcmV0dXJuIFtTdHJpbmcodGhpcy5wcmVmaXhDbHMpICsgJy1maWx0ZXItc2VsZWN0LWl0ZW0nLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KSh7fSwgU3RyaW5nKHRoaXMucHJlZml4Q2xzKSArICctZmlsdGVyLXNlbGVjdC1pdGVtLXNlbGVjdGVkJywgIWNvbHVtbi5fZmlsdGVyQ2hlY2tlZC5sZW5ndGgpXTtcbiAgICAgICAgfSxcbiAgICAgICAgc2VsZWN0QWxsOiBmdW5jdGlvbiBzZWxlY3RBbGwoKSB7XG4gICAgICAgICAgICB2YXIgc3RhdHVzID0gIXRoaXMuaXNTZWxlY3RBbGw7XG4gICAgICAgICAgICB0aGlzLiRwYXJlbnQuc2VsZWN0QWxsKHN0YXR1cyk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVNvcnQ6IGZ1bmN0aW9uIGhhbmRsZVNvcnQoaW5kZXgsIHR5cGUpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczMgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgY29sdW1uID0gdGhpcy5jb2x1bW5zLmZpbmQoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0uX2luZGV4ID09PSBpbmRleDtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB2YXIgX2luZGV4ID0gY29sdW1uLl9pbmRleDtcblxuICAgICAgICAgICAgaWYgKGNvbHVtbi5fc29ydFR5cGUgPT09IHR5cGUpIHtcbiAgICAgICAgICAgICAgICB0eXBlID0gJ25vcm1hbCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLiRwYXJlbnQuaGFuZGxlU29ydChfaW5kZXgsIHR5cGUpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVTb3J0QnlIZWFkOiBmdW5jdGlvbiBoYW5kbGVTb3J0QnlIZWFkKGluZGV4KSB7XG4gICAgICAgICAgICB2YXIgX3RoaXM0ID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIGNvbHVtbiA9IHRoaXMuY29sdW1ucy5maW5kKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczQpO1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLl9pbmRleCA9PT0gaW5kZXg7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgaWYgKGNvbHVtbi5zb3J0YWJsZSkge1xuICAgICAgICAgICAgICAgIHZhciB0eXBlID0gY29sdW1uLl9zb3J0VHlwZTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ25vcm1hbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVTb3J0KGluZGV4LCAnYXNjJyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnYXNjJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVNvcnQoaW5kZXgsICdkZXNjJyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVTb3J0KGluZGV4LCAnbm9ybWFsJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVGaWx0ZXI6IGZ1bmN0aW9uIGhhbmRsZUZpbHRlcihpbmRleCkge1xuICAgICAgICAgICAgdGhpcy4kcGFyZW50LmhhbmRsZUZpbHRlcihpbmRleCk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVNlbGVjdDogZnVuY3Rpb24gaGFuZGxlU2VsZWN0KGluZGV4LCB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy4kcGFyZW50LmhhbmRsZUZpbHRlclNlbGVjdChpbmRleCwgdmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVSZXNldDogZnVuY3Rpb24gaGFuZGxlUmVzZXQoaW5kZXgpIHtcbiAgICAgICAgICAgIHRoaXMuJHBhcmVudC5oYW5kbGVGaWx0ZXJSZXNldChpbmRleCk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUZpbHRlckhpZGU6IGZ1bmN0aW9uIGhhbmRsZUZpbHRlckhpZGUoaW5kZXgpIHtcbiAgICAgICAgICAgIHRoaXMuJHBhcmVudC5oYW5kbGVGaWx0ZXJIaWRlKGluZGV4KTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0Q29sdW1uOiBmdW5jdGlvbiBnZXRDb2x1bW4ocm93SW5kZXgsIGluZGV4KSB7XG4gICAgICAgICAgICB2YXIgX3RoaXM1ID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIGlzR3JvdXAgPSB0aGlzLmNvbHVtblJvd3MubGVuZ3RoID4gMTtcblxuICAgICAgICAgICAgaWYgKGlzR3JvdXApIHtcbiAgICAgICAgICAgICAgICB2YXIgaWQgPSB0aGlzLmhlYWRSb3dzW3Jvd0luZGV4XVtpbmRleF0uX19pZDtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb2x1bW5zLmZpbHRlcihmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzNSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLl9faWQgPT09IGlkO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSlbMF07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmhlYWRSb3dzW3Jvd0luZGV4XVtpbmRleF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDIyNiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbWV0aG9kczoge1xuICAgICAgICBhbGlnbkNsczogZnVuY3Rpb24gYWxpZ25DbHMoY29sdW1uKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjtcblxuICAgICAgICAgICAgdmFyIHJvdyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XG5cbiAgICAgICAgICAgIHZhciBjZWxsQ2xhc3NOYW1lID0gJyc7XG4gICAgICAgICAgICBpZiAocm93LmNlbGxDbGFzc05hbWUgJiYgY29sdW1uLmtleSAmJiByb3cuY2VsbENsYXNzTmFtZVtjb2x1bW4ua2V5XSkge1xuICAgICAgICAgICAgICAgIGNlbGxDbGFzc05hbWUgPSByb3cuY2VsbENsYXNzTmFtZVtjb2x1bW4ua2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBbKF9yZWYgPSB7fSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgJycgKyBTdHJpbmcoY2VsbENsYXNzTmFtZSksIGNlbGxDbGFzc05hbWUpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCAnJyArIFN0cmluZyhjb2x1bW4uY2xhc3NOYW1lKSwgY29sdW1uLmNsYXNzTmFtZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIFN0cmluZyh0aGlzLnByZWZpeENscykgKyAnLWNvbHVtbi0nICsgU3RyaW5nKGNvbHVtbi5hbGlnbiksIGNvbHVtbi5hbGlnbiksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIFN0cmluZyh0aGlzLnByZWZpeENscykgKyAnLWhpZGRlbicsIHRoaXMuZml4ZWQgPT09ICdsZWZ0JyAmJiBjb2x1bW4uZml4ZWQgIT09ICdsZWZ0JyB8fCB0aGlzLmZpeGVkID09PSAncmlnaHQnICYmIGNvbHVtbi5maXhlZCAhPT0gJ3JpZ2h0JyB8fCAhdGhpcy5maXhlZCAmJiBjb2x1bW4uZml4ZWQgJiYgKGNvbHVtbi5maXhlZCA9PT0gJ2xlZnQnIHx8IGNvbHVtbi5maXhlZCA9PT0gJ3JpZ2h0JykpLCBfcmVmKV07XG4gICAgICAgIH0sXG4gICAgICAgIGlzUG9wcGVyU2hvdzogZnVuY3Rpb24gaXNQb3BwZXJTaG93KGNvbHVtbikge1xuICAgICAgICAgICAgcmV0dXJuIGNvbHVtbi5maWx0ZXJzICYmICghdGhpcy5maXhlZCAmJiAhY29sdW1uLmZpeGVkIHx8IHRoaXMuZml4ZWQgPT09ICdsZWZ0JyAmJiBjb2x1bW4uZml4ZWQgPT09ICdsZWZ0JyB8fCB0aGlzLmZpeGVkID09PSAncmlnaHQnICYmIGNvbHVtbi5maXhlZCA9PT0gJ3JpZ2h0Jyk7XG4gICAgICAgIH0sXG4gICAgICAgIHNldENlbGxXaWR0aDogZnVuY3Rpb24gc2V0Q2VsbFdpZHRoKGNvbHVtbikge1xuICAgICAgICAgICAgdmFyIHdpZHRoID0gJyc7XG4gICAgICAgICAgICBpZiAoY29sdW1uLndpZHRoKSB7XG4gICAgICAgICAgICAgICAgd2lkdGggPSBjb2x1bW4ud2lkdGg7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29sdW1uc1dpZHRoW2NvbHVtbi5faW5kZXhdKSB7XG4gICAgICAgICAgICAgICAgd2lkdGggPSB0aGlzLmNvbHVtbnNXaWR0aFtjb2x1bW4uX2luZGV4XS53aWR0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh3aWR0aCA9PT0gJzAnKSB3aWR0aCA9ICcnO1xuICAgICAgICAgICAgcmV0dXJuIHdpZHRoO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAyMjcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX3RhYmxlVHIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU2Nyk7XG5cbnZhciBfdGFibGVUcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90YWJsZVRyKTtcblxudmFyIF9jZWxsID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1NjkpO1xuXG52YXIgX2NlbGwyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfY2VsbCk7XG5cbnZhciBfZXhwYW5kID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMzApO1xuXG52YXIgX2V4cGFuZDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9leHBhbmQpO1xuXG52YXIgX21peGluID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMjYpO1xuXG52YXIgX21peGluMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX21peGluKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdUYWJsZUJvZHknLFxuICAgIG1peGluczogW19taXhpbjIuZGVmYXVsdF0sXG4gICAgY29tcG9uZW50czogeyBUYWJsZUNlbGw6IF9jZWxsMi5kZWZhdWx0LCBFeHBhbmQ6IF9leHBhbmQyLmRlZmF1bHQsIFRhYmxlVHI6IF90YWJsZVRyMi5kZWZhdWx0IH0sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgcHJlZml4Q2xzOiBTdHJpbmcsXG4gICAgICAgIHN0eWxlT2JqZWN0OiBPYmplY3QsXG4gICAgICAgIGNvbHVtbnM6IEFycmF5LFxuICAgICAgICBkYXRhOiBBcnJheSxcbiAgICAgICAgb2JqRGF0YTogT2JqZWN0LFxuICAgICAgICBjb2x1bW5zV2lkdGg6IE9iamVjdCxcbiAgICAgICAgZml4ZWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFtCb29sZWFuLCBTdHJpbmddLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgZHJhZ2dhYmxlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgcm93S2V5OiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfVxuICAgIH0sXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgZXhwYW5kUmVuZGVyOiBmdW5jdGlvbiBleHBhbmRSZW5kZXIoKSB7XG4gICAgICAgICAgICB2YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuY29sdW1ucy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIHZhciBjb2x1bW4gPSB0aGlzLmNvbHVtbnNbaV07XG4gICAgICAgICAgICAgICAgaWYgKGNvbHVtbi50eXBlICYmIGNvbHVtbi50eXBlID09PSAnZXhwYW5kJykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29sdW1uLnJlbmRlcikgcmVuZGVyID0gY29sdW1uLnJlbmRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVuZGVyO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIHJvd0NoZWNrZWQ6IGZ1bmN0aW9uIHJvd0NoZWNrZWQoX2luZGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vYmpEYXRhW19pbmRleF0gJiYgdGhpcy5vYmpEYXRhW19pbmRleF0uX2lzQ2hlY2tlZDtcbiAgICAgICAgfSxcbiAgICAgICAgcm93RGlzYWJsZWQ6IGZ1bmN0aW9uIHJvd0Rpc2FibGVkKF9pbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub2JqRGF0YVtfaW5kZXhdICYmIHRoaXMub2JqRGF0YVtfaW5kZXhdLl9pc0Rpc2FibGVkO1xuICAgICAgICB9LFxuICAgICAgICByb3dFeHBhbmRlZDogZnVuY3Rpb24gcm93RXhwYW5kZWQoX2luZGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vYmpEYXRhW19pbmRleF0gJiYgdGhpcy5vYmpEYXRhW19pbmRleF0uX2lzRXhwYW5kZWQ7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZU1vdXNlSW46IGZ1bmN0aW9uIGhhbmRsZU1vdXNlSW4oX2luZGV4KSB7XG4gICAgICAgICAgICB0aGlzLiRwYXJlbnQuaGFuZGxlTW91c2VJbihfaW5kZXgpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVNb3VzZU91dDogZnVuY3Rpb24gaGFuZGxlTW91c2VPdXQoX2luZGV4KSB7XG4gICAgICAgICAgICB0aGlzLiRwYXJlbnQuaGFuZGxlTW91c2VPdXQoX2luZGV4KTtcbiAgICAgICAgfSxcbiAgICAgICAgY2xpY2tDdXJyZW50Um93OiBmdW5jdGlvbiBjbGlja0N1cnJlbnRSb3coX2luZGV4KSB7XG4gICAgICAgICAgICB0aGlzLiRwYXJlbnQuY2xpY2tDdXJyZW50Um93KF9pbmRleCk7XG4gICAgICAgIH0sXG4gICAgICAgIGRibGNsaWNrQ3VycmVudFJvdzogZnVuY3Rpb24gZGJsY2xpY2tDdXJyZW50Um93KF9pbmRleCkge1xuICAgICAgICAgICAgdGhpcy4kcGFyZW50LmRibGNsaWNrQ3VycmVudFJvdyhfaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAyMjggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIHByb3BzOiB7XG4gICAgICAgIHJvdzogT2JqZWN0LFxuICAgICAgICBwcmVmaXhDbHM6IFN0cmluZyxcbiAgICAgICAgZHJhZ2dhYmxlOiBCb29sZWFuXG4gICAgfSxcbiAgICBjb21wdXRlZDoge1xuICAgICAgICBvYmpEYXRhOiBmdW5jdGlvbiBvYmpEYXRhKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHBhcmVudC5vYmpEYXRhO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIG9uRHJhZzogZnVuY3Rpb24gb25EcmFnKGUsIGluZGV4KSB7XG4gICAgICAgICAgICBlLmRhdGFUcmFuc2Zlci5zZXREYXRhKCdpbmRleCcsIGluZGV4KTtcbiAgICAgICAgfSxcbiAgICAgICAgb25Ecm9wOiBmdW5jdGlvbiBvbkRyb3AoZSwgaW5kZXgpIHtcbiAgICAgICAgICAgIHZhciBkcmFnSW5kZXggPSBlLmRhdGFUcmFuc2Zlci5nZXREYXRhKCdpbmRleCcpO1xuICAgICAgICAgICAgdGhpcy4kcGFyZW50LiRwYXJlbnQuZHJhZ0FuZERyb3AoZHJhZ0luZGV4LCBpbmRleCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH0sXG4gICAgICAgIGFsbG93RHJvcDogZnVuY3Rpb24gYWxsb3dEcm9wKGUpIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgcm93Q2xhc3NlczogZnVuY3Rpb24gcm93Q2xhc3NlcyhfaW5kZXgpIHtcbiAgICAgICAgICAgIHZhciBfcmVmO1xuXG4gICAgICAgICAgICByZXR1cm4gW1N0cmluZyh0aGlzLnByZWZpeENscykgKyAnLXJvdycsIHRoaXMucm93Q2xzTmFtZShfaW5kZXgpLCAoX3JlZiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBTdHJpbmcodGhpcy5wcmVmaXhDbHMpICsgJy1yb3ctaGlnaGxpZ2h0JywgdGhpcy5vYmpEYXRhW19pbmRleF0gJiYgdGhpcy5vYmpEYXRhW19pbmRleF0uX2lzSGlnaGxpZ2h0KSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgU3RyaW5nKHRoaXMucHJlZml4Q2xzKSArICctcm93LWhvdmVyJywgdGhpcy5vYmpEYXRhW19pbmRleF0gJiYgdGhpcy5vYmpEYXRhW19pbmRleF0uX2lzSG92ZXIpLCBfcmVmKV07XG4gICAgICAgIH0sXG4gICAgICAgIHJvd0Nsc05hbWU6IGZ1bmN0aW9uIHJvd0Nsc05hbWUoX2luZGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy4kcGFyZW50LiRwYXJlbnQucm93Q2xhc3NOYW1lKHRoaXMub2JqRGF0YVtfaW5kZXhdLCBfaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAyMjkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9leHBhbmQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIzMCk7XG5cbnZhciBfZXhwYW5kMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2V4cGFuZCk7XG5cbnZhciBfc2xvdCA9IF9fd2VicGFja19yZXF1aXJlX18oNTcwKTtcblxudmFyIF9zbG90MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3Nsb3QpO1xuXG52YXIgX2ljb24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDgpO1xuXG52YXIgX2ljb24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaWNvbik7XG5cbnZhciBfY2hlY2tib3ggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ2KTtcblxudmFyIF9jaGVja2JveDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jaGVja2JveCk7XG5cbnZhciBfdG9vbHRpcCA9IF9fd2VicGFja19yZXF1aXJlX18oODMpO1xuXG52YXIgX3Rvb2x0aXAyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdG9vbHRpcCk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnVGFibGVDZWxsJyxcbiAgICBjb21wb25lbnRzOiB7IEljb246IF9pY29uMi5kZWZhdWx0LCBDaGVja2JveDogX2NoZWNrYm94Mi5kZWZhdWx0LCBUYWJsZUV4cGFuZDogX2V4cGFuZDIuZGVmYXVsdCwgVGFibGVTbG90OiBfc2xvdDIuZGVmYXVsdCwgVG9vbHRpcDogX3Rvb2x0aXAyLmRlZmF1bHQgfSxcbiAgICBpbmplY3Q6IFsndGFibGVSb290J10sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgcHJlZml4Q2xzOiBTdHJpbmcsXG4gICAgICAgIHJvdzogT2JqZWN0LFxuICAgICAgICBjb2x1bW46IE9iamVjdCxcbiAgICAgICAgbmF0dXJhbEluZGV4OiBOdW1iZXIsXG4gICAgICAgIGluZGV4OiBOdW1iZXIsXG4gICAgICAgIGNoZWNrZWQ6IEJvb2xlYW4sXG4gICAgICAgIGRpc2FibGVkOiBCb29sZWFuLFxuICAgICAgICBleHBhbmRlZDogQm9vbGVhbixcbiAgICAgICAgZml4ZWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFtCb29sZWFuLCBTdHJpbmddLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJlbmRlclR5cGU6ICcnLFxuICAgICAgICAgICAgdWlkOiAtMSxcbiAgICAgICAgICAgIGNvbnRleHQ6IHRoaXMuJHBhcmVudC4kcGFyZW50LiRwYXJlbnQuY3VycmVudENvbnRleHQsXG4gICAgICAgICAgICBzaG93VG9vbHRpcDogZmFsc2UgfTtcbiAgICB9LFxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgY2xhc3NlczogZnVuY3Rpb24gY2xhc3NlcygpIHtcbiAgICAgICAgICAgIHZhciBfcmVmO1xuXG4gICAgICAgICAgICByZXR1cm4gW1N0cmluZyh0aGlzLnByZWZpeENscykgKyAnLWNlbGwnLCAoX3JlZiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBTdHJpbmcodGhpcy5wcmVmaXhDbHMpICsgJy1oaWRkZW4nLCAhdGhpcy5maXhlZCAmJiB0aGlzLmNvbHVtbi5maXhlZCAmJiAodGhpcy5jb2x1bW4uZml4ZWQgPT09ICdsZWZ0JyB8fCB0aGlzLmNvbHVtbi5maXhlZCA9PT0gJ3JpZ2h0JykpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBTdHJpbmcodGhpcy5wcmVmaXhDbHMpICsgJy1jZWxsLWVsbGlwc2lzJywgdGhpcy5jb2x1bW4uZWxsaXBzaXMgfHwgZmFsc2UpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBTdHJpbmcodGhpcy5wcmVmaXhDbHMpICsgJy1jZWxsLXdpdGgtZXhwYW5kJywgdGhpcy5yZW5kZXJUeXBlID09PSAnZXhwYW5kJyksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIFN0cmluZyh0aGlzLnByZWZpeENscykgKyAnLWNlbGwtd2l0aC1zZWxlY3Rpb24nLCB0aGlzLnJlbmRlclR5cGUgPT09ICdzZWxlY3Rpb24nKSwgX3JlZildO1xuICAgICAgICB9LFxuICAgICAgICBleHBhbmRDbHM6IGZ1bmN0aW9uIGV4cGFuZENscygpIHtcbiAgICAgICAgICAgIHJldHVybiBbU3RyaW5nKHRoaXMucHJlZml4Q2xzKSArICctY2VsbC1leHBhbmQnLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KSh7fSwgU3RyaW5nKHRoaXMucHJlZml4Q2xzKSArICctY2VsbC1leHBhbmQtZXhwYW5kZWQnLCB0aGlzLmV4cGFuZGVkKV07XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgdG9nZ2xlU2VsZWN0OiBmdW5jdGlvbiB0b2dnbGVTZWxlY3QoKSB7XG4gICAgICAgICAgICB0aGlzLiRwYXJlbnQuJHBhcmVudC4kcGFyZW50LnRvZ2dsZVNlbGVjdCh0aGlzLmluZGV4KTtcbiAgICAgICAgfSxcbiAgICAgICAgdG9nZ2xlRXhwYW5kOiBmdW5jdGlvbiB0b2dnbGVFeHBhbmQoKSB7XG4gICAgICAgICAgICB0aGlzLiRwYXJlbnQuJHBhcmVudC4kcGFyZW50LnRvZ2dsZUV4cGFuZCh0aGlzLmluZGV4KTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlQ2xpY2s6IGZ1bmN0aW9uIGhhbmRsZUNsaWNrKCkge30sXG4gICAgICAgIGhhbmRsZVRvb2x0aXBJbjogZnVuY3Rpb24gaGFuZGxlVG9vbHRpcEluKCkge1xuICAgICAgICAgICAgdmFyICRjb250ZW50ID0gdGhpcy4kcmVmcy5jb250ZW50O1xuICAgICAgICAgICAgdGhpcy5zaG93VG9vbHRpcCA9ICRjb250ZW50LnNjcm9sbFdpZHRoID4gJGNvbnRlbnQub2Zmc2V0V2lkdGg7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVRvb2x0aXBPdXQ6IGZ1bmN0aW9uIGhhbmRsZVRvb2x0aXBPdXQoKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUb29sdGlwID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbHVtbi50eXBlID09PSAnaW5kZXgnKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlclR5cGUgPSAnaW5kZXgnO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29sdW1uLnR5cGUgPT09ICdzZWxlY3Rpb24nKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlclR5cGUgPSAnc2VsZWN0aW9uJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbHVtbi50eXBlID09PSAnaHRtbCcpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyVHlwZSA9ICdodG1sJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbHVtbi50eXBlID09PSAnZXhwYW5kJykge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJUeXBlID0gJ2V4cGFuZCc7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jb2x1bW4ucmVuZGVyKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlclR5cGUgPSAncmVuZGVyJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbHVtbi5zbG90KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlclR5cGUgPSAnc2xvdCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlclR5cGUgPSAnbm9ybWFsJztcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMjMwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnVGFibGVFeHBhbmQnLFxuICAgIGZ1bmN0aW9uYWw6IHRydWUsXG4gICAgcHJvcHM6IHtcbiAgICAgICAgcm93OiBPYmplY3QsXG4gICAgICAgIHJlbmRlcjogRnVuY3Rpb24sXG4gICAgICAgIGluZGV4OiBOdW1iZXIsXG4gICAgICAgIGNvbHVtbjoge1xuICAgICAgICAgICAgdHlwZTogT2JqZWN0LFxuICAgICAgICAgICAgZGVmYXVsdDogbnVsbFxuICAgICAgICB9XG4gICAgfSxcbiAgICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoLCBjdHgpIHtcbiAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG5cbiAgICAgICAgdmFyIHBhcmFtcyA9IHtcbiAgICAgICAgICAgIHJvdzogY3R4LnByb3BzLnJvdyxcbiAgICAgICAgICAgIGluZGV4OiBjdHgucHJvcHMuaW5kZXhcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGN0eC5wcm9wcy5jb2x1bW4pIHBhcmFtcy5jb2x1bW4gPSBjdHgucHJvcHMuY29sdW1uO1xuICAgICAgICByZXR1cm4gY3R4LnByb3BzLnJlbmRlcihoLCBwYXJhbXMpO1xuICAgIH0uYmluZCh1bmRlZmluZWQpXG59O1xuXG4vKioqLyB9KSxcbi8qIDIzMSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfdG9Db25zdW1hYmxlQXJyYXkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNik7XG5cbnZhciBfdG9Db25zdW1hYmxlQXJyYXkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdG9Db25zdW1hYmxlQXJyYXkyKTtcblxudmFyIF90eXBlb2YyID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNik7XG5cbnZhciBfdHlwZW9mMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3R5cGVvZjIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9nZXRJdGVyYXRvcjIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ0KTtcblxudmFyIF9nZXRJdGVyYXRvcjMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9nZXRJdGVyYXRvcjIpO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF9pY29uID0gX193ZWJwYWNrX3JlcXVpcmVfXyg4KTtcblxudmFyIF9pY29uMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2ljb24pO1xuXG52YXIgX3JlbmRlciA9IF9fd2VicGFja19yZXF1aXJlX18oMjA1KTtcblxudmFyIF9yZW5kZXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcmVuZGVyKTtcblxudmFyIF9hc3Npc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXG52YXIgX2VtaXR0ZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQpO1xuXG52YXIgX2VtaXR0ZXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZW1pdHRlcik7XG5cbnZhciBfZWxlbWVudFJlc2l6ZURldGVjdG9yID0gX193ZWJwYWNrX3JlcXVpcmVfXyg4NCk7XG5cbnZhciBfZWxlbWVudFJlc2l6ZURldGVjdG9yMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2VsZW1lbnRSZXNpemVEZXRlY3Rvcik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhDbHMgPSAnaXZ1LXRhYnMnO1xudmFyIHRyYW5zaXRpb25UaW1lID0gMzAwO1xuXG52YXIgZ2V0TmV4dFRhYiA9IGZ1bmN0aW9uIChsaXN0LCBhY3RpdmVLZXksIGRpcmVjdGlvbiwgY291bnREaXNhYmxlZEFsc28pIHtcbiAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcblxuICAgIHZhciBjdXJyZW50SW5kZXggPSBsaXN0LmZpbmRJbmRleChmdW5jdGlvbiAodGFiKSB7XG4gICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgICAgICByZXR1cm4gdGFiLm5hbWUgPT09IGFjdGl2ZUtleTtcbiAgICB9LmJpbmQodW5kZWZpbmVkKSk7XG4gICAgdmFyIG5leHRJbmRleCA9IChjdXJyZW50SW5kZXggKyBkaXJlY3Rpb24gKyBsaXN0Lmxlbmd0aCkgJSBsaXN0Lmxlbmd0aDtcbiAgICB2YXIgbmV4dFRhYiA9IGxpc3RbbmV4dEluZGV4XTtcbiAgICBpZiAobmV4dFRhYi5kaXNhYmxlZCkgcmV0dXJuIGdldE5leHRUYWIobGlzdCwgbmV4dFRhYi5uYW1lLCBkaXJlY3Rpb24sIGNvdW50RGlzYWJsZWRBbHNvKTtlbHNlIHJldHVybiBuZXh0VGFiO1xufS5iaW5kKHVuZGVmaW5lZCk7XG5cbnZhciBmb2N1c0ZpcnN0ID0gZnVuY3Rpb24gKGVsZW1lbnQsIHJvb3QpIHtcbiAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcblxuICAgIHRyeSB7XG4gICAgICAgIGVsZW1lbnQuZm9jdXMoKTtcbiAgICB9IGNhdGNoIChlcnIpIHt9XG5cbiAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBlbGVtZW50ICYmIGVsZW1lbnQgIT09IHJvb3QpIHJldHVybiB0cnVlO1xuXG4gICAgdmFyIGNhbmRpZGF0ZXMgPSBlbGVtZW50LmNoaWxkcmVuO1xuICAgIHZhciBfaXRlcmF0b3JOb3JtYWxDb21wbGV0aW9uID0gdHJ1ZTtcbiAgICB2YXIgX2RpZEl0ZXJhdG9yRXJyb3IgPSBmYWxzZTtcbiAgICB2YXIgX2l0ZXJhdG9yRXJyb3IgPSB1bmRlZmluZWQ7XG5cbiAgICB0cnkge1xuICAgICAgICBmb3IgKHZhciBfaXRlcmF0b3IgPSAoMCwgX2dldEl0ZXJhdG9yMy5kZWZhdWx0KShjYW5kaWRhdGVzKSwgX3N0ZXA7ICEoX2l0ZXJhdG9yTm9ybWFsQ29tcGxldGlvbiA9IChfc3RlcCA9IF9pdGVyYXRvci5uZXh0KCkpLmRvbmUpOyBfaXRlcmF0b3JOb3JtYWxDb21wbGV0aW9uID0gdHJ1ZSkge1xuICAgICAgICAgICAgdmFyIGNhbmRpZGF0ZSA9IF9zdGVwLnZhbHVlO1xuXG4gICAgICAgICAgICBpZiAoZm9jdXNGaXJzdChjYW5kaWRhdGUsIHJvb3QpKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBfZGlkSXRlcmF0b3JFcnJvciA9IHRydWU7XG4gICAgICAgIF9pdGVyYXRvckVycm9yID0gZXJyO1xuICAgIH0gZmluYWxseSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAoIV9pdGVyYXRvck5vcm1hbENvbXBsZXRpb24gJiYgX2l0ZXJhdG9yLnJldHVybikge1xuICAgICAgICAgICAgICAgIF9pdGVyYXRvci5yZXR1cm4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIGlmIChfZGlkSXRlcmF0b3JFcnJvcikge1xuICAgICAgICAgICAgICAgIHRocm93IF9pdGVyYXRvckVycm9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xufS5iaW5kKHVuZGVmaW5lZCk7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnVGFicycsXG4gICAgbWl4aW5zOiBbX2VtaXR0ZXIyLmRlZmF1bHRdLFxuICAgIGNvbXBvbmVudHM6IHsgSWNvbjogX2ljb24yLmRlZmF1bHQsIFJlbmRlcjogX3JlbmRlcjIuZGVmYXVsdCB9LFxuICAgIHByb3ZpZGU6IGZ1bmN0aW9uIHByb3ZpZGUoKSB7XG4gICAgICAgIHJldHVybiB7IFRhYnNJbnN0YW5jZTogdGhpcyB9O1xuICAgIH0sXG5cbiAgICBwcm9wczoge1xuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgdHlwZTogW1N0cmluZywgTnVtYmVyXVxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnbGluZScsICdjYXJkJ10pO1xuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgZGVmYXVsdDogJ2xpbmUnXG4gICAgICAgIH0sXG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWydzbWFsbCcsICdkZWZhdWx0J10pO1xuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgZGVmYXVsdDogJ2RlZmF1bHQnXG4gICAgICAgIH0sXG4gICAgICAgIGFuaW1hdGVkOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBjYXB0dXJlRm9jdXM6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBjbG9zYWJsZToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIGJlZm9yZVJlbW92ZTogRnVuY3Rpb24sXG5cbiAgICAgICAgbmFtZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVmaXhDbHM6IHByZWZpeENscyxcbiAgICAgICAgICAgIG5hdkxpc3Q6IFtdLFxuICAgICAgICAgICAgYmFyV2lkdGg6IDAsXG4gICAgICAgICAgICBiYXJPZmZzZXQ6IDAsXG4gICAgICAgICAgICBhY3RpdmVLZXk6IHRoaXMudmFsdWUsXG4gICAgICAgICAgICBmb2N1c2VkS2V5OiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgc2hvd1Nsb3Q6IGZhbHNlLFxuICAgICAgICAgICAgbmF2U3R5bGU6IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICcnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2Nyb2xsYWJsZTogZmFsc2UsXG4gICAgICAgICAgICB0cmFuc2l0aW9uaW5nOiBmYWxzZVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWY7XG5cbiAgICAgICAgICAgIHJldHVybiBbJycgKyBwcmVmaXhDbHMsIChfcmVmID0ge30sICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctY2FyZCcsIHRoaXMudHlwZSA9PT0gJ2NhcmQnKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1taW5pJywgdGhpcy5zaXplID09PSAnc21hbGwnICYmIHRoaXMudHlwZSA9PT0gJ2xpbmUnKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1uby1hbmltYXRpb24nLCAhdGhpcy5hbmltYXRlZCksIF9yZWYpXTtcbiAgICAgICAgfSxcbiAgICAgICAgY29udGVudENsYXNzZXM6IGZ1bmN0aW9uIGNvbnRlbnRDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXhDbHMgKyAnLWNvbnRlbnQnLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KSh7fSwgcHJlZml4Q2xzICsgJy1jb250ZW50LWFuaW1hdGVkJywgdGhpcy5hbmltYXRlZCldO1xuICAgICAgICB9LFxuICAgICAgICBiYXJDbGFzc2VzOiBmdW5jdGlvbiBiYXJDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXhDbHMgKyAnLWluay1iYXInLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KSh7fSwgcHJlZml4Q2xzICsgJy1pbmstYmFyLWFuaW1hdGVkJywgdGhpcy5hbmltYXRlZCldO1xuICAgICAgICB9LFxuICAgICAgICBjb250ZW50U3R5bGU6IGZ1bmN0aW9uIGNvbnRlbnRTdHlsZSgpIHtcbiAgICAgICAgICAgIHZhciB4ID0gdGhpcy5nZXRUYWJJbmRleCh0aGlzLmFjdGl2ZUtleSk7XG4gICAgICAgICAgICB2YXIgcCA9IHggPT09IDAgPyAnMCUnIDogJy0nICsgU3RyaW5nKHgpICsgJzAwJSc7XG5cbiAgICAgICAgICAgIHZhciBzdHlsZSA9IHt9O1xuICAgICAgICAgICAgaWYgKHggPiAtMSkge1xuICAgICAgICAgICAgICAgIHN0eWxlID0ge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKCcgKyBwICsgJykgdHJhbnNsYXRlWigwcHgpJ1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH0sXG4gICAgICAgIGJhclN0eWxlOiBmdW5jdGlvbiBiYXJTdHlsZSgpIHtcbiAgICAgICAgICAgIHZhciBzdHlsZSA9IHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiAnaGlkZGVuJyxcbiAgICAgICAgICAgICAgICB3aWR0aDogU3RyaW5nKHRoaXMuYmFyV2lkdGgpICsgJ3B4J1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdsaW5lJykgc3R5bGUudmlzaWJpbGl0eSA9ICd2aXNpYmxlJztcbiAgICAgICAgICAgIGlmICh0aGlzLmFuaW1hdGVkKSB7XG4gICAgICAgICAgICAgICAgc3R5bGUudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZTNkKCcgKyBTdHJpbmcodGhpcy5iYXJPZmZzZXQpICsgJ3B4LCAwcHgsIDBweCknO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzdHlsZS5sZWZ0ID0gU3RyaW5nKHRoaXMuYmFyT2Zmc2V0KSArICdweCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBzdHlsZTtcbiAgICAgICAgfSxcbiAgICAgICAgYXJyb3dUeXBlOiBmdW5jdGlvbiBhcnJvd1R5cGUoKSB7XG4gICAgICAgICAgICB2YXIgdHlwZSA9ICdpb3MtY2xvc2UnO1xuXG4gICAgICAgICAgICBpZiAodGhpcy4kSVZJRVcpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy4kSVZJRVcudGFicy5jdXN0b21DbG9zZUljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZSA9ICcnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy4kSVZJRVcudGFicy5jbG9zZUljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZSA9IHRoaXMuJElWSUVXLnRhYnMuY2xvc2VJY29uO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgICB9LFxuICAgICAgICBjdXN0b21BcnJvd1R5cGU6IGZ1bmN0aW9uIGN1c3RvbUFycm93VHlwZSgpIHtcbiAgICAgICAgICAgIHZhciB0eXBlID0gJyc7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLiRJVklFVykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLiRJVklFVy50YWJzLmN1c3RvbUNsb3NlSWNvbikge1xuICAgICAgICAgICAgICAgICAgICB0eXBlID0gdGhpcy4kSVZJRVcudGFicy5jdXN0b21DbG9zZUljb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG4gICAgICAgIH0sXG4gICAgICAgIGFycm93U2l6ZTogZnVuY3Rpb24gYXJyb3dTaXplKCkge1xuICAgICAgICAgICAgdmFyIHNpemUgPSAnJztcblxuICAgICAgICAgICAgaWYgKHRoaXMuJElWSUVXKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuJElWSUVXLnRhYnMuY2xvc2VJY29uU2l6ZSkge1xuICAgICAgICAgICAgICAgICAgICBzaXplID0gdGhpcy4kSVZJRVcudGFicy5jbG9zZUljb25TaXplO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzaXplO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGdldFRhYnM6IGZ1bmN0aW9uIGdldFRhYnMoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgQWxsVGFiUGFuZXMgPSAoMCwgX2Fzc2lzdC5maW5kQ29tcG9uZW50c0Rvd253YXJkKSh0aGlzLCAnVGFiUGFuZScpO1xuICAgICAgICAgICAgdmFyIFRhYlBhbmVzID0gW107XG5cbiAgICAgICAgICAgIEFsbFRhYlBhbmVzLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgICAgIGlmIChpdGVtLnRhYiAmJiB0aGlzLm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0udGFiID09PSB0aGlzLm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFRhYlBhbmVzLnB1c2goaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBUYWJQYW5lcy5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG5cbiAgICAgICAgICAgIFRhYlBhbmVzLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgICAgIGlmIChhLmluZGV4ICYmIGIuaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEuaW5kZXggPiBiLmluZGV4ID8gMSA6IC0xO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICByZXR1cm4gVGFiUGFuZXM7XG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZU5hdjogZnVuY3Rpb24gdXBkYXRlTmF2KCkge1xuICAgICAgICAgICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICAgICAgICAgIHRoaXMubmF2TGlzdCA9IFtdO1xuICAgICAgICAgICAgdGhpcy5nZXRUYWJzKCkuZm9yRWFjaChmdW5jdGlvbiAocGFuZSwgaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMik7XG5cbiAgICAgICAgICAgICAgICB0aGlzLm5hdkxpc3QucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsVHlwZTogKDAsIF90eXBlb2YzLmRlZmF1bHQpKHBhbmUubGFiZWwpLFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogcGFuZS5sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgaWNvbjogcGFuZS5pY29uIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBwYW5lLmN1cnJlbnROYW1lIHx8IGluZGV4LFxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogcGFuZS5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgY2xvc2FibGU6IHBhbmUuY2xvc2FibGVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoIXBhbmUuY3VycmVudE5hbWUpIHBhbmUuY3VycmVudE5hbWUgPSBpbmRleDtcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmFjdGl2ZUtleSkgdGhpcy5hY3RpdmVLZXkgPSBwYW5lLmN1cnJlbnROYW1lIHx8IGluZGV4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXR1cygpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVCYXIoKTtcbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlQmFyOiBmdW5jdGlvbiB1cGRhdGVCYXIoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMzID0gdGhpcztcblxuICAgICAgICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMzKTtcblxuICAgICAgICAgICAgICAgIHZhciBpbmRleCA9IHRoaXMuZ2V0VGFiSW5kZXgodGhpcy5hY3RpdmVLZXkpO1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy4kcmVmcy5uYXYpIHJldHVybjtcbiAgICAgICAgICAgICAgICB2YXIgcHJldlRhYnMgPSB0aGlzLiRyZWZzLm5hdi5xdWVyeVNlbGVjdG9yQWxsKCcuJyArIHByZWZpeENscyArICctdGFiJyk7XG4gICAgICAgICAgICAgICAgdmFyIHRhYiA9IHByZXZUYWJzW2luZGV4XTtcbiAgICAgICAgICAgICAgICB0aGlzLmJhcldpZHRoID0gdGFiID8gcGFyc2VGbG9hdCh0YWIub2Zmc2V0V2lkdGgpIDogMDtcblxuICAgICAgICAgICAgICAgIGlmIChpbmRleCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG9mZnNldCA9IDA7XG4gICAgICAgICAgICAgICAgICAgIHZhciBndXR0ZXIgPSB0aGlzLnNpemUgPT09ICdzbWFsbCcgPyAwIDogMTY7XG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW5kZXg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0ICs9IHBhcnNlRmxvYXQocHJldlRhYnNbaV0ub2Zmc2V0V2lkdGgpICsgZ3V0dGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYXJPZmZzZXQgPSBvZmZzZXQ7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYXJPZmZzZXQgPSAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZU5hdlNjcm9sbCgpO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlU3RhdHVzOiBmdW5jdGlvbiB1cGRhdGVTdGF0dXMoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXM0ID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIHRhYnMgPSB0aGlzLmdldFRhYnMoKTtcbiAgICAgICAgICAgIHRhYnMuZm9yRWFjaChmdW5jdGlvbiAodGFiKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczQpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0YWIuc2hvdyA9IHRhYi5jdXJyZW50TmFtZSA9PT0gdGhpcy5hY3RpdmVLZXkgfHwgdGhpcy5hbmltYXRlZDtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgIH0sXG4gICAgICAgIHRhYkNsczogZnVuY3Rpb24gdGFiQ2xzKGl0ZW0pIHtcbiAgICAgICAgICAgIHZhciBfcmVmNDtcblxuICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXhDbHMgKyAnLXRhYicsIChfcmVmNCA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmNCwgcHJlZml4Q2xzICsgJy10YWItZGlzYWJsZWQnLCBpdGVtLmRpc2FibGVkKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjQsIHByZWZpeENscyArICctdGFiLWFjdGl2ZScsIGl0ZW0ubmFtZSA9PT0gdGhpcy5hY3RpdmVLZXkpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmNCwgcHJlZml4Q2xzICsgJy10YWItZm9jdXNlZCcsIGl0ZW0ubmFtZSA9PT0gdGhpcy5mb2N1c2VkS2V5KSwgX3JlZjQpXTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlQ2hhbmdlOiBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoaW5kZXgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczUgPSB0aGlzO1xuXG4gICAgICAgICAgICBpZiAodGhpcy50cmFuc2l0aW9uaW5nKSByZXR1cm47XG5cbiAgICAgICAgICAgIHRoaXMudHJhbnNpdGlvbmluZyA9IHRydWU7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzNSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNpdGlvbmluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpLCB0cmFuc2l0aW9uVGltZSk7XG5cbiAgICAgICAgICAgIHZhciBuYXYgPSB0aGlzLm5hdkxpc3RbaW5kZXhdO1xuICAgICAgICAgICAgaWYgKG5hdi5kaXNhYmxlZCkgcmV0dXJuO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVLZXkgPSBuYXYubmFtZTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2lucHV0JywgbmF2Lm5hbWUpO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tY2xpY2snLCBuYXYubmFtZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVRhYktleU5hdmlnYXRpb246IGZ1bmN0aW9uIGhhbmRsZVRhYktleU5hdmlnYXRpb24oZSkge1xuICAgICAgICAgICAgaWYgKGUua2V5Q29kZSAhPT0gMzcgJiYgZS5rZXlDb2RlICE9PSAzOSkgcmV0dXJuO1xuICAgICAgICAgICAgdmFyIGRpcmVjdGlvbiA9IGUua2V5Q29kZSA9PT0gMzkgPyAxIDogLTE7XG4gICAgICAgICAgICB2YXIgbmV4dFRhYiA9IGdldE5leHRUYWIodGhpcy5uYXZMaXN0LCB0aGlzLmZvY3VzZWRLZXksIGRpcmVjdGlvbik7XG4gICAgICAgICAgICB0aGlzLmZvY3VzZWRLZXkgPSBuZXh0VGFiLm5hbWU7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVRhYktleWJvYXJkU2VsZWN0OiBmdW5jdGlvbiBoYW5kbGVUYWJLZXlib2FyZFNlbGVjdCgpIHtcbiAgICAgICAgICAgIHZhciBpbml0ID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiBmYWxzZTtcblxuICAgICAgICAgICAgaWYgKGluaXQpIHJldHVybjtcbiAgICAgICAgICAgIHZhciBmb2N1c2VkID0gdGhpcy5mb2N1c2VkS2V5IHx8IDA7XG4gICAgICAgICAgICB2YXIgaW5kZXggPSB0aGlzLmdldFRhYkluZGV4KGZvY3VzZWQpO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVDaGFuZ2UoaW5kZXgpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVSZW1vdmU6IGZ1bmN0aW9uIGhhbmRsZVJlbW92ZShpbmRleCkge1xuICAgICAgICAgICAgdmFyIF90aGlzNiA9IHRoaXM7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5iZWZvcmVSZW1vdmUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVSZW1vdmVUYWIoaW5kZXgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgYmVmb3JlID0gdGhpcy5iZWZvcmVSZW1vdmUoaW5kZXgpO1xuXG4gICAgICAgICAgICBpZiAoYmVmb3JlICYmIGJlZm9yZS50aGVuKSB7XG4gICAgICAgICAgICAgICAgYmVmb3JlLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzNik7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVSZW1vdmVUYWIoaW5kZXgpO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVtb3ZlVGFiKGluZGV4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlUmVtb3ZlVGFiOiBmdW5jdGlvbiBoYW5kbGVSZW1vdmVUYWIoaW5kZXgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczcgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgdGFicyA9IHRoaXMuZ2V0VGFicygpO1xuICAgICAgICAgICAgdmFyIHRhYiA9IHRhYnNbaW5kZXhdO1xuICAgICAgICAgICAgdGFiLiRkZXN0cm95KCk7XG5cbiAgICAgICAgICAgIGlmICh0YWIuY3VycmVudE5hbWUgPT09IHRoaXMuYWN0aXZlS2V5KSB7XG4gICAgICAgICAgICAgICAgdmFyIG5ld1RhYnMgPSB0aGlzLmdldFRhYnMoKTtcbiAgICAgICAgICAgICAgICB2YXIgYWN0aXZlS2V5ID0gLTE7XG5cbiAgICAgICAgICAgICAgICBpZiAobmV3VGFicy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGxlZnROb0Rpc2FibGVkVGFicyA9IHRhYnMuZmlsdGVyKGZ1bmN0aW9uIChpdGVtLCBpdGVtSW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAhaXRlbS5kaXNhYmxlZCAmJiBpdGVtSW5kZXggPCBpbmRleDtcbiAgICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJpZ2h0Tm9EaXNhYmxlZFRhYnMgPSB0YWJzLmZpbHRlcihmdW5jdGlvbiAoaXRlbSwgaXRlbUluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIWl0ZW0uZGlzYWJsZWQgJiYgaXRlbUluZGV4ID4gaW5kZXg7XG4gICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHJpZ2h0Tm9EaXNhYmxlZFRhYnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVLZXkgPSByaWdodE5vRGlzYWJsZWRUYWJzWzBdLmN1cnJlbnROYW1lO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGxlZnROb0Rpc2FibGVkVGFicy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUtleSA9IGxlZnROb0Rpc2FibGVkVGFic1tsZWZ0Tm9EaXNhYmxlZFRhYnMubGVuZ3RoIC0gMV0uY3VycmVudE5hbWU7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVLZXkgPSBuZXdUYWJzWzBdLmN1cnJlbnROYW1lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlS2V5ID0gYWN0aXZlS2V5O1xuICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2lucHV0JywgYWN0aXZlS2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLXRhYi1yZW1vdmUnLCB0YWIuY3VycmVudE5hbWUpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVOYXYoKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd0Nsb3NlOiBmdW5jdGlvbiBzaG93Q2xvc2UoaXRlbSkge1xuICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ2NhcmQnKSB7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0uY2xvc2FibGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0uY2xvc2FibGU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2xvc2FibGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHNjcm9sbFByZXY6IGZ1bmN0aW9uIHNjcm9sbFByZXYoKSB7XG4gICAgICAgICAgICB2YXIgY29udGFpbmVyV2lkdGggPSB0aGlzLiRyZWZzLm5hdlNjcm9sbC5vZmZzZXRXaWR0aDtcbiAgICAgICAgICAgIHZhciBjdXJyZW50T2Zmc2V0ID0gdGhpcy5nZXRDdXJyZW50U2Nyb2xsT2Zmc2V0KCk7XG5cbiAgICAgICAgICAgIGlmICghY3VycmVudE9mZnNldCkgcmV0dXJuO1xuXG4gICAgICAgICAgICB2YXIgbmV3T2Zmc2V0ID0gY3VycmVudE9mZnNldCA+IGNvbnRhaW5lcldpZHRoID8gY3VycmVudE9mZnNldCAtIGNvbnRhaW5lcldpZHRoIDogMDtcblxuICAgICAgICAgICAgdGhpcy5zZXRPZmZzZXQobmV3T2Zmc2V0KTtcbiAgICAgICAgfSxcbiAgICAgICAgc2Nyb2xsTmV4dDogZnVuY3Rpb24gc2Nyb2xsTmV4dCgpIHtcbiAgICAgICAgICAgIHZhciBuYXZXaWR0aCA9IHRoaXMuJHJlZnMubmF2Lm9mZnNldFdpZHRoO1xuICAgICAgICAgICAgdmFyIGNvbnRhaW5lcldpZHRoID0gdGhpcy4kcmVmcy5uYXZTY3JvbGwub2Zmc2V0V2lkdGg7XG4gICAgICAgICAgICB2YXIgY3VycmVudE9mZnNldCA9IHRoaXMuZ2V0Q3VycmVudFNjcm9sbE9mZnNldCgpO1xuICAgICAgICAgICAgaWYgKG5hdldpZHRoIC0gY3VycmVudE9mZnNldCA8PSBjb250YWluZXJXaWR0aCkgcmV0dXJuO1xuXG4gICAgICAgICAgICB2YXIgbmV3T2Zmc2V0ID0gbmF2V2lkdGggLSBjdXJyZW50T2Zmc2V0ID4gY29udGFpbmVyV2lkdGggKiAyID8gY3VycmVudE9mZnNldCArIGNvbnRhaW5lcldpZHRoIDogbmF2V2lkdGggLSBjb250YWluZXJXaWR0aDtcblxuICAgICAgICAgICAgdGhpcy5zZXRPZmZzZXQobmV3T2Zmc2V0KTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0Q3VycmVudFNjcm9sbE9mZnNldDogZnVuY3Rpb24gZ2V0Q3VycmVudFNjcm9sbE9mZnNldCgpIHtcbiAgICAgICAgICAgIHZhciBuYXZTdHlsZSA9IHRoaXMubmF2U3R5bGU7XG5cbiAgICAgICAgICAgIHJldHVybiBuYXZTdHlsZS50cmFuc2Zvcm0gPyBOdW1iZXIobmF2U3R5bGUudHJhbnNmb3JtLm1hdGNoKC90cmFuc2xhdGVYXFwoLShcXGQrKFxcLlxcZCspKilweFxcKS8pWzFdKSA6IDA7XG4gICAgICAgIH0sXG4gICAgICAgIGdldFRhYkluZGV4OiBmdW5jdGlvbiBnZXRUYWJJbmRleChuYW1lKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXM4ID0gdGhpcztcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmF2TGlzdC5maW5kSW5kZXgoZnVuY3Rpb24gKG5hdikge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM4KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmF2Lm5hbWUgPT09IG5hbWU7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB9LFxuICAgICAgICBzZXRPZmZzZXQ6IGZ1bmN0aW9uIHNldE9mZnNldCh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5uYXZTdHlsZS50cmFuc2Zvcm0gPSAndHJhbnNsYXRlWCgtJyArIFN0cmluZyh2YWx1ZSkgKyAncHgpJztcbiAgICAgICAgfSxcbiAgICAgICAgc2Nyb2xsVG9BY3RpdmVUYWI6IGZ1bmN0aW9uIHNjcm9sbFRvQWN0aXZlVGFiKCkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnNjcm9sbGFibGUpIHJldHVybjtcbiAgICAgICAgICAgIHZhciBuYXYgPSB0aGlzLiRyZWZzLm5hdjtcbiAgICAgICAgICAgIHZhciBhY3RpdmVUYWIgPSB0aGlzLiRlbC5xdWVyeVNlbGVjdG9yKCcuJyArIHByZWZpeENscyArICctdGFiLWFjdGl2ZScpO1xuICAgICAgICAgICAgaWYgKCFhY3RpdmVUYWIpIHJldHVybjtcblxuICAgICAgICAgICAgdmFyIG5hdlNjcm9sbCA9IHRoaXMuJHJlZnMubmF2U2Nyb2xsO1xuICAgICAgICAgICAgdmFyIGFjdGl2ZVRhYkJvdW5kaW5nID0gYWN0aXZlVGFiLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgdmFyIG5hdlNjcm9sbEJvdW5kaW5nID0gbmF2U2Nyb2xsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgdmFyIG5hdkJvdW5kaW5nID0gbmF2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgdmFyIGN1cnJlbnRPZmZzZXQgPSB0aGlzLmdldEN1cnJlbnRTY3JvbGxPZmZzZXQoKTtcbiAgICAgICAgICAgIHZhciBuZXdPZmZzZXQgPSBjdXJyZW50T2Zmc2V0O1xuXG4gICAgICAgICAgICBpZiAobmF2Qm91bmRpbmcucmlnaHQgPCBuYXZTY3JvbGxCb3VuZGluZy5yaWdodCkge1xuICAgICAgICAgICAgICAgIG5ld09mZnNldCA9IG5hdi5vZmZzZXRXaWR0aCAtIG5hdlNjcm9sbEJvdW5kaW5nLndpZHRoO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoYWN0aXZlVGFiQm91bmRpbmcubGVmdCA8IG5hdlNjcm9sbEJvdW5kaW5nLmxlZnQpIHtcbiAgICAgICAgICAgICAgICBuZXdPZmZzZXQgPSBjdXJyZW50T2Zmc2V0IC0gKG5hdlNjcm9sbEJvdW5kaW5nLmxlZnQgLSBhY3RpdmVUYWJCb3VuZGluZy5sZWZ0KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYWN0aXZlVGFiQm91bmRpbmcucmlnaHQgPiBuYXZTY3JvbGxCb3VuZGluZy5yaWdodCkge1xuICAgICAgICAgICAgICAgIG5ld09mZnNldCA9IGN1cnJlbnRPZmZzZXQgKyBhY3RpdmVUYWJCb3VuZGluZy5yaWdodCAtIG5hdlNjcm9sbEJvdW5kaW5nLnJpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoY3VycmVudE9mZnNldCAhPT0gbmV3T2Zmc2V0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRPZmZzZXQoTWF0aC5tYXgobmV3T2Zmc2V0LCAwKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZU5hdlNjcm9sbDogZnVuY3Rpb24gdXBkYXRlTmF2U2Nyb2xsKCkge1xuICAgICAgICAgICAgdmFyIG5hdldpZHRoID0gdGhpcy4kcmVmcy5uYXYub2Zmc2V0V2lkdGg7XG4gICAgICAgICAgICB2YXIgY29udGFpbmVyV2lkdGggPSB0aGlzLiRyZWZzLm5hdlNjcm9sbC5vZmZzZXRXaWR0aDtcbiAgICAgICAgICAgIHZhciBjdXJyZW50T2Zmc2V0ID0gdGhpcy5nZXRDdXJyZW50U2Nyb2xsT2Zmc2V0KCk7XG4gICAgICAgICAgICBpZiAoY29udGFpbmVyV2lkdGggPCBuYXZXaWR0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsYWJsZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgaWYgKG5hdldpZHRoIC0gY3VycmVudE9mZnNldCA8IGNvbnRhaW5lcldpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0T2Zmc2V0KG5hdldpZHRoIC0gY29udGFpbmVyV2lkdGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxhYmxlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRPZmZzZXQgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0T2Zmc2V0KDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlUmVzaXplOiBmdW5jdGlvbiBoYW5kbGVSZXNpemUoKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU5hdlNjcm9sbCgpO1xuICAgICAgICB9LFxuICAgICAgICBpc0luc2lkZUhpZGRlbkVsZW1lbnQ6IGZ1bmN0aW9uIGlzSW5zaWRlSGlkZGVuRWxlbWVudCgpIHtcbiAgICAgICAgICAgIHZhciBwYXJlbnROb2RlID0gdGhpcy4kZWwucGFyZW50Tm9kZTtcbiAgICAgICAgICAgIHdoaWxlIChwYXJlbnROb2RlICYmIHBhcmVudE5vZGUgIT09IGRvY3VtZW50LmJvZHkpIHtcbiAgICAgICAgICAgICAgICBpZiAocGFyZW50Tm9kZS5zdHlsZSAmJiBwYXJlbnROb2RlLnN0eWxlLmRpc3BsYXkgPT09ICdub25lJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGFyZW50Tm9kZSA9IHBhcmVudE5vZGUucGFyZW50Tm9kZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlVmlzaWJpbGl0eTogZnVuY3Rpb24gdXBkYXRlVmlzaWJpbGl0eShpbmRleCkge1xuICAgICAgICAgICAgdmFyIF90aGlzOSA9IHRoaXM7XG5cbiAgICAgICAgICAgIFtdLmNvbmNhdCgoMCwgX3RvQ29uc3VtYWJsZUFycmF5My5kZWZhdWx0KSh0aGlzLiRyZWZzLnBhbmVzLnF1ZXJ5U2VsZWN0b3JBbGwoJy4nICsgcHJlZml4Q2xzICsgJy10YWJwYW5lJykpKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCwgaSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM5KTtcblxuICAgICAgICAgICAgICAgIGlmIChpbmRleCA9PT0gaSkge1xuICAgICAgICAgICAgICAgICAgICBbXS5jb25jYXQoKDAsIF90b0NvbnN1bWFibGVBcnJheTMuZGVmYXVsdCkoZWwuY2hpbGRyZW4pKS5maWx0ZXIoZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzOSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2hpbGQuY2xhc3NMaXN0LmNvbnRhaW5zKHByZWZpeENscyArICctdGFicGFuZScpO1xuICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpLmZvckVhY2goZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzOSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2hpbGQuc3R5bGUudmlzaWJpbGl0eSA9ICd2aXNpYmxlJztcbiAgICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY2FwdHVyZUZvY3VzKSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmb2N1c0ZpcnN0KGVsLCBlbCk7XG4gICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSwgdHJhbnNpdGlvblRpbWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczkpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBbXS5jb25jYXQoKDAsIF90b0NvbnN1bWFibGVBcnJheTMuZGVmYXVsdCkoZWwuY2hpbGRyZW4pKS5maWx0ZXIoZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZC5jbGFzc0xpc3QuY29udGFpbnMocHJlZml4Q2xzICsgJy10YWJwYW5lJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpLmZvckVhY2goZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcyksIHRyYW5zaXRpb25UaW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB3YXRjaDoge1xuICAgICAgICB2YWx1ZTogZnVuY3Rpb24gdmFsdWUodmFsKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUtleSA9IHZhbDtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZEtleSA9IHZhbDtcbiAgICAgICAgfSxcbiAgICAgICAgYWN0aXZlS2V5OiBmdW5jdGlvbiBhY3RpdmVLZXkodmFsKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMxMCA9IHRoaXM7XG5cbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZEtleSA9IHZhbDtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQmFyKCk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXR1cygpO1xuICAgICAgICAgICAgdGhpcy5icm9hZGNhc3QoJ1RhYmxlJywgJ29uLXZpc2libGUtY2hhbmdlJywgdHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczEwKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9BY3RpdmVUYWIoKTtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG5cbiAgICAgICAgICAgIHZhciBuZXh0SW5kZXggPSBNYXRoLm1heCh0aGlzLmdldFRhYkluZGV4KHRoaXMuZm9jdXNlZEtleSksIDApO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWaXNpYmlsaXR5KG5leHRJbmRleCk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICAgIHZhciBfdGhpczExID0gdGhpcztcblxuICAgICAgICB0aGlzLnNob3dTbG90ID0gdGhpcy4kc2xvdHMuZXh0cmEgIT09IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5vYnNlcnZlciA9ICgwLCBfZWxlbWVudFJlc2l6ZURldGVjdG9yMi5kZWZhdWx0KSgpO1xuICAgICAgICB0aGlzLm9ic2VydmVyLmxpc3RlblRvKHRoaXMuJHJlZnMubmF2V3JhcCwgdGhpcy5oYW5kbGVSZXNpemUpO1xuXG4gICAgICAgIHZhciBoaWRkZW5QYXJlbnROb2RlID0gdGhpcy5pc0luc2lkZUhpZGRlbkVsZW1lbnQoKTtcbiAgICAgICAgaWYgKGhpZGRlblBhcmVudE5vZGUpIHtcbiAgICAgICAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlciA9IG5ldyBfYXNzaXN0Lk11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMxMSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoaGlkZGVuUGFyZW50Tm9kZS5zdHlsZS5kaXNwbGF5ICE9PSAnbm9uZScpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVCYXIoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuXG4gICAgICAgICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZShoaWRkZW5QYXJlbnROb2RlLCB7IGF0dHJpYnV0ZXM6IHRydWUsIGNoaWxkTGlzdDogdHJ1ZSwgY2hhcmFjdGVyRGF0YTogdHJ1ZSwgYXR0cmlidXRlRmlsdGVyOiBbJ3N0eWxlJ10gfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhhbmRsZVRhYktleWJvYXJkU2VsZWN0KHRydWUpO1xuICAgICAgICB0aGlzLnVwZGF0ZVZpc2liaWxpdHkodGhpcy5nZXRUYWJJbmRleCh0aGlzLmFjdGl2ZUtleSkpO1xuICAgIH0sXG4gICAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5yZW1vdmVMaXN0ZW5lcih0aGlzLiRyZWZzLm5hdldyYXAsIHRoaXMuaGFuZGxlUmVzaXplKTtcbiAgICAgICAgaWYgKHRoaXMubXV0YXRpb25PYnNlcnZlcikgdGhpcy5tdXRhdGlvbk9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDIzMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cblxudmFyIHByZWZpeENscyA9ICdpdnUtdGFicy10YWJwYW5lJztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdUYWJQYW5lJyxcbiAgICBpbmplY3Q6IFsnVGFic0luc3RhbmNlJ10sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgbmFtZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsOiB7XG4gICAgICAgICAgICB0eXBlOiBbU3RyaW5nLCBGdW5jdGlvbl0sXG4gICAgICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgICB9LFxuICAgICAgICBpY29uOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgZGlzYWJsZWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBjbG9zYWJsZToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICAgICAgfSxcblxuICAgICAgICB0YWI6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZ1xuICAgICAgICB9LFxuXG4gICAgICAgIGluZGV4OiB7XG4gICAgICAgICAgICB0eXBlOiBOdW1iZXJcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByZWZpeENsczogcHJlZml4Q2xzLFxuICAgICAgICAgICAgc2hvdzogdHJ1ZSxcbiAgICAgICAgICAgIGN1cnJlbnROYW1lOiB0aGlzLm5hbWVcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgY29udGVudFN0eWxlOiBmdW5jdGlvbiBjb250ZW50U3R5bGUoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHRoaXMuVGFic0luc3RhbmNlLmFjdGl2ZUtleSAhPT0gdGhpcy5jdXJyZW50TmFtZSA/ICdoaWRkZW4nIDogJ3Zpc2libGUnXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIHVwZGF0ZU5hdjogZnVuY3Rpb24gdXBkYXRlTmF2KCkge1xuICAgICAgICAgICAgdGhpcy5UYWJzSW5zdGFuY2UudXBkYXRlTmF2KCk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHdhdGNoOiB7XG4gICAgICAgIG5hbWU6IGZ1bmN0aW9uIG5hbWUodmFsKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnROYW1lID0gdmFsO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVOYXYoKTtcbiAgICAgICAgfSxcbiAgICAgICAgbGFiZWw6IGZ1bmN0aW9uIGxhYmVsKCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVOYXYoKTtcbiAgICAgICAgfSxcbiAgICAgICAgaWNvbjogZnVuY3Rpb24gaWNvbigpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTmF2KCk7XG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkOiBmdW5jdGlvbiBkaXNhYmxlZCgpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTmF2KCk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlTmF2KCk7XG4gICAgfSxcbiAgICBkZXN0cm95ZWQ6IGZ1bmN0aW9uIGRlc3Ryb3llZCgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVOYXYoKTtcbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDIzMyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG52YXIgX2ljb24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIwKTtcblxudmFyIF9pY29uMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2ljb24pO1xuXG52YXIgX2Fzc2lzdCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhDbHMgPSAnaXZ1LXRhZyc7XG52YXIgaW5pdENvbG9yTGlzdCA9IFsnZGVmYXVsdCcsICdwcmltYXJ5JywgJ3N1Y2Nlc3MnLCAnd2FybmluZycsICdlcnJvcicsICdibHVlJywgJ2dyZWVuJywgJ3JlZCcsICd5ZWxsb3cnLCAncGluaycsICdtYWdlbnRhJywgJ3ZvbGNhbm8nLCAnb3JhbmdlJywgJ2dvbGQnLCAnbGltZScsICdjeWFuJywgJ2dlZWtibHVlJywgJ3B1cnBsZSddO1xudmFyIGNvbG9yTGlzdCA9IFsncGluaycsICdtYWdlbnRhJywgJ3ZvbGNhbm8nLCAnb3JhbmdlJywgJ2dvbGQnLCAnbGltZScsICdjeWFuJywgJ2dlZWtibHVlJywgJ3B1cnBsZSddO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ1RhZycsXG4gICAgY29tcG9uZW50czogeyBJY29uOiBfaWNvbjIuZGVmYXVsdCB9LFxuICAgIHByb3BzOiB7XG4gICAgICAgIGNsb3NhYmxlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgY2hlY2thYmxlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgY2hlY2tlZDoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgY29sb3I6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICdkZWZhdWx0J1xuICAgICAgICB9LFxuICAgICAgICB0eXBlOiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsnYm9yZGVyJywgJ2RvdCddKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbmFtZToge1xuICAgICAgICAgICAgdHlwZTogW1N0cmluZywgTnVtYmVyXVxuICAgICAgICB9LFxuICAgICAgICBmYWRlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogdHJ1ZVxuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaXNDaGVja2VkOiB0aGlzLmNoZWNrZWRcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgY2xhc3NlczogZnVuY3Rpb24gY2xhc3NlcygpIHtcbiAgICAgICAgICAgIHZhciBfcmVmO1xuXG4gICAgICAgICAgICByZXR1cm4gWycnICsgcHJlZml4Q2xzLCAoX3JlZiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLScgKyBTdHJpbmcodGhpcy5jb2xvciksICEhdGhpcy5jb2xvciAmJiAoMCwgX2Fzc2lzdC5vbmVPZikodGhpcy5jb2xvciwgaW5pdENvbG9yTGlzdCkpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLScgKyBTdHJpbmcodGhpcy50eXBlKSwgISF0aGlzLnR5cGUpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLWNsb3NhYmxlJywgdGhpcy5jbG9zYWJsZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctY2hlY2tlZCcsIHRoaXMuaXNDaGVja2VkKSwgX3JlZildO1xuICAgICAgICB9LFxuICAgICAgICB3cmFwZXJTdHlsZXM6IGZ1bmN0aW9uIHdyYXBlclN0eWxlcygpIHtcbiAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodGhpcy5jb2xvciwgaW5pdENvbG9yTGlzdCkgPyB7fSA6IHsgYmFja2dyb3VuZDogdGhpcy5pc0NoZWNrZWQgPyB0aGlzLmRlZmF1bHRUeXBlQ29sb3IgOiAndHJhbnNwYXJlbnQnLCBib3JkZXJXaWR0aDogJzFweCcsIGJvcmRlclN0eWxlOiAnc29saWQnLCBib3JkZXJDb2xvcjogdGhpcy50eXBlICE9PSAnZG90JyAmJiB0aGlzLnR5cGUgIT09ICdib3JkZXInICYmIHRoaXMuaXNDaGVja2VkID8gdGhpcy5ib3JkZXJDb2xvciA6IHRoaXMubGluZUNvbG9yLCBjb2xvcjogdGhpcy5saW5lQ29sb3IgfTtcbiAgICAgICAgfSxcbiAgICAgICAgdGV4dENsYXNzZXM6IGZ1bmN0aW9uIHRleHRDbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXhDbHMgKyAnLXRleHQnLCB0aGlzLnR5cGUgPT09ICdib3JkZXInID8gKDAsIF9hc3Npc3Qub25lT2YpKHRoaXMuY29sb3IsIGluaXRDb2xvckxpc3QpID8gcHJlZml4Q2xzICsgJy1jb2xvci0nICsgU3RyaW5nKHRoaXMuY29sb3IpIDogJycgOiAnJywgdGhpcy50eXBlICE9PSAnZG90JyAmJiB0aGlzLnR5cGUgIT09ICdib3JkZXInICYmIHRoaXMuY29sb3IgIT09ICdkZWZhdWx0JyA/IHRoaXMuaXNDaGVja2VkICYmIGNvbG9yTGlzdC5pbmRleE9mKHRoaXMuY29sb3IpIDwgMCA/IHByZWZpeENscyArICctY29sb3Itd2hpdGUnIDogJycgOiAnJ107XG4gICAgICAgIH0sXG4gICAgICAgIGRvdENsYXNzZXM6IGZ1bmN0aW9uIGRvdENsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJlZml4Q2xzICsgJy1kb3QtaW5uZXInO1xuICAgICAgICB9LFxuICAgICAgICBpY29uQ2xhc3M6IGZ1bmN0aW9uIGljb25DbGFzcygpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdkb3QnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdib3JkZXInKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh0aGlzLmNvbG9yLCBpbml0Q29sb3JMaXN0KSA/IHByZWZpeENscyArICctY29sb3ItJyArIFN0cmluZyh0aGlzLmNvbG9yKSA6ICcnO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb2xvciAhPT0gdW5kZWZpbmVkID8gdGhpcy5jb2xvciA9PT0gJ2RlZmF1bHQnID8gJycgOiAncmdiKDI1NSwgMjU1LCAyNTUpJyA6ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBzaG93RG90OiBmdW5jdGlvbiBzaG93RG90KCkge1xuICAgICAgICAgICAgcmV0dXJuICEhdGhpcy50eXBlICYmIHRoaXMudHlwZSA9PT0gJ2RvdCc7XG4gICAgICAgIH0sXG4gICAgICAgIGxpbmVDb2xvcjogZnVuY3Rpb24gbGluZUNvbG9yKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ2RvdCcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ2JvcmRlcicpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb2xvciAhPT0gdW5kZWZpbmVkID8gKDAsIF9hc3Npc3Qub25lT2YpKHRoaXMuY29sb3IsIGluaXRDb2xvckxpc3QpID8gJycgOiB0aGlzLmNvbG9yIDogJyc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbG9yICE9PSB1bmRlZmluZWQgPyB0aGlzLmNvbG9yID09PSAnZGVmYXVsdCcgPyAnJyA6ICdyZ2IoMjU1LCAyNTUsIDI1NSknIDogJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGJvcmRlckNvbG9yOiBmdW5jdGlvbiBib3JkZXJDb2xvcigpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbG9yICE9PSB1bmRlZmluZWQgPyB0aGlzLmNvbG9yID09PSAnZGVmYXVsdCcgPyAnJyA6IHRoaXMuY29sb3IgOiAnJztcbiAgICAgICAgfSxcbiAgICAgICAgZG90Q29sb3I6IGZ1bmN0aW9uIGRvdENvbG9yKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29sb3IgIT09IHVuZGVmaW5lZCA/ICgwLCBfYXNzaXN0Lm9uZU9mKSh0aGlzLmNvbG9yLCBpbml0Q29sb3JMaXN0KSA/ICcnIDogdGhpcy5jb2xvciA6ICcnO1xuICAgICAgICB9LFxuICAgICAgICB0ZXh0Q29sb3JTdHlsZTogZnVuY3Rpb24gdGV4dENvbG9yU3R5bGUoKSB7XG4gICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHRoaXMuY29sb3IsIGluaXRDb2xvckxpc3QpID8ge30gOiB0aGlzLnR5cGUgIT09ICdkb3QnICYmIHRoaXMudHlwZSAhPT0gJ2JvcmRlcicgPyB0aGlzLmlzQ2hlY2tlZCA/IHsgY29sb3I6IHRoaXMubGluZUNvbG9yIH0gOiB7fSA6IHsgY29sb3I6IHRoaXMubGluZUNvbG9yIH07XG4gICAgICAgIH0sXG4gICAgICAgIGJnQ29sb3JTdHlsZTogZnVuY3Rpb24gYmdDb2xvclN0eWxlKCkge1xuICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh0aGlzLmNvbG9yLCBpbml0Q29sb3JMaXN0KSA/IHt9IDogeyBiYWNrZ3JvdW5kOiB0aGlzLmRvdENvbG9yIH07XG4gICAgICAgIH0sXG4gICAgICAgIGRlZmF1bHRUeXBlQ29sb3I6IGZ1bmN0aW9uIGRlZmF1bHRUeXBlQ29sb3IoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50eXBlICE9PSAnZG90JyAmJiB0aGlzLnR5cGUgIT09ICdib3JkZXInID8gdGhpcy5jb2xvciAhPT0gdW5kZWZpbmVkID8gKDAsIF9hc3Npc3Qub25lT2YpKHRoaXMuY29sb3IsIGluaXRDb2xvckxpc3QpID8gJycgOiB0aGlzLmNvbG9yIDogJycgOiAnJztcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgICBjbG9zZTogZnVuY3Rpb24gY2xvc2UoZXZlbnQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm5hbWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWNsb3NlJywgZXZlbnQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1jbG9zZScsIGV2ZW50LCB0aGlzLm5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjaGVjazogZnVuY3Rpb24gY2hlY2soKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuY2hlY2thYmxlKSByZXR1cm47XG4gICAgICAgICAgICB2YXIgY2hlY2tlZCA9ICF0aGlzLmlzQ2hlY2tlZDtcbiAgICAgICAgICAgIHRoaXMuaXNDaGVja2VkID0gY2hlY2tlZDtcbiAgICAgICAgICAgIGlmICh0aGlzLm5hbWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWNoYW5nZScsIGNoZWNrZWQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1jaGFuZ2UnLCBjaGVja2VkLCB0aGlzLm5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICB3YXRjaDoge1xuICAgICAgICBjaGVja2VkOiBmdW5jdGlvbiBjaGVja2VkKHZhbCkge1xuICAgICAgICAgICAgdGhpcy5pc0NoZWNrZWQgPSB2YWw7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDIzNCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX3R5cGVvZjIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM2KTtcblxudmFyIF90eXBlb2YzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdHlwZW9mMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG52YXIgX3Z1ZSA9IF9fd2VicGFja19yZXF1aXJlX18oMTUpO1xuXG52YXIgX3Z1ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF92dWUpO1xuXG52YXIgX2Fzc2lzdCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbnZhciBfbG9jYWxlID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1KTtcblxudmFyIF9sb2NhbGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbG9jYWxlKTtcblxudmFyIF90aW1lID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1ODcpO1xuXG52YXIgX3RpbWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdGltZSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBpc1NlcnZlciA9IF92dWUyLmRlZmF1bHQucHJvdG90eXBlLiRpc1NlcnZlcjtcblxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS10aW1lJztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdUaW1lJyxcbiAgICBtaXhpbnM6IFtfbG9jYWxlMi5kZWZhdWx0XSxcbiAgICBwcm9wczoge1xuICAgICAgICB0aW1lOiB7XG4gICAgICAgICAgICB0eXBlOiBbTnVtYmVyLCBEYXRlLCBTdHJpbmddLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ3JlbGF0aXZlJywgJ2RhdGUnLCAnZGF0ZXRpbWUnXSk7XG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICBkZWZhdWx0OiAncmVsYXRpdmUnXG4gICAgICAgIH0sXG4gICAgICAgIGhhc2g6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICcnXG4gICAgICAgIH0sXG4gICAgICAgIGludGVydmFsOiB7XG4gICAgICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgICAgICBkZWZhdWx0OiA2MFxuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGF0ZTogJydcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgY2xhc3NlczogZnVuY3Rpb24gY2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbJycgKyBwcmVmaXhDbHMsICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKHt9LCBwcmVmaXhDbHMgKyAnLXdpdGgtaGFzaCcsIHRoaXMuaGFzaCldO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGhhbmRsZUNsaWNrOiBmdW5jdGlvbiBoYW5kbGVDbGljaygpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc2ggIT09ICcnKSB3aW5kb3cubG9jYXRpb24uaGFzaCA9IHRoaXMuaGFzaDtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0VGltZTogZnVuY3Rpb24gc2V0VGltZSgpIHtcbiAgICAgICAgICAgIHZhciB0eXBlID0gKDAsIF90eXBlb2YzLmRlZmF1bHQpKHRoaXMudGltZSk7XG4gICAgICAgICAgICB2YXIgdGltZSA9IHZvaWQgMDtcblxuICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgICAgdmFyIHRpbWVzdGFtcCA9IHRoaXMudGltZS50b1N0cmluZygpLmxlbmd0aCA+IDEwID8gdGhpcy50aW1lIDogdGhpcy50aW1lICogMTAwMDtcbiAgICAgICAgICAgICAgICB0aW1lID0gbmV3IERhdGUodGltZXN0YW1wKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgdGltZSA9IHRoaXMudGltZS5nZXRUaW1lKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgdGltZSA9IG5ldyBEYXRlKHRoaXMudGltZSkuZ2V0VGltZSgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy50eXBlID09PSAncmVsYXRpdmUnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlID0gKDAsIF90aW1lMi5kZWZhdWx0KSh0aW1lLCB0aGlzLnQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YXIgZGF0ZSA9IG5ldyBEYXRlKHRoaXMudGltZSk7XG4gICAgICAgICAgICAgICAgdmFyIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgICAgICAgICAgdmFyIG1vbnRoID0gZGF0ZS5nZXRNb250aCgpICsgMSA8IDEwID8gJzAnICsgKGRhdGUuZ2V0TW9udGgoKSArIDEpIDogZGF0ZS5nZXRNb250aCgpICsgMTtcbiAgICAgICAgICAgICAgICB2YXIgZGF5ID0gZGF0ZS5nZXREYXRlKCkgPCAxMCA/ICcwJyArIGRhdGUuZ2V0RGF0ZSgpIDogZGF0ZS5nZXREYXRlKCk7XG4gICAgICAgICAgICAgICAgdmFyIGhvdXIgPSBkYXRlLmdldEhvdXJzKCkgPCAxMCA/ICcwJyArIGRhdGUuZ2V0SG91cnMoKSA6IGRhdGUuZ2V0SG91cnMoKTtcbiAgICAgICAgICAgICAgICB2YXIgbWludXRlID0gZGF0ZS5nZXRNaW51dGVzKCkgPCAxMCA/ICcwJyArIGRhdGUuZ2V0TWludXRlcygpIDogZGF0ZS5nZXRNaW51dGVzKCk7XG4gICAgICAgICAgICAgICAgdmFyIHNlY29uZCA9IGRhdGUuZ2V0U2Vjb25kcygpIDwgMTAgPyAnMCcgKyBkYXRlLmdldFNlY29uZHMoKSA6IGRhdGUuZ2V0U2Vjb25kcygpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ2RhdGV0aW1lJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGUgPSBTdHJpbmcoeWVhcikgKyAnLScgKyBTdHJpbmcobW9udGgpICsgJy0nICsgU3RyaW5nKGRheSkgKyAnICcgKyBTdHJpbmcoaG91cikgKyAnOicgKyBTdHJpbmcobWludXRlKSArICc6JyArIFN0cmluZyhzZWNvbmQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnZGF0ZScpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRlID0gU3RyaW5nKHllYXIpICsgJy0nICsgU3RyaW5nKG1vbnRoKSArICctJyArIFN0cmluZyhkYXkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICB0aGlzLnNldFRpbWUoKTtcbiAgICAgICAgaWYgKGlzU2VydmVyKSByZXR1cm47XG4gICAgICAgIHRoaXMudGltZXIgPSBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgdGhpcy5zZXRUaW1lKCk7XG4gICAgICAgIH0uYmluZCh0aGlzKSwgMTAwMCAqIHRoaXMuaW50ZXJ2YWwpO1xuICAgIH0sXG4gICAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMudGltZXIpIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAyMzUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtdGltZWxpbmUnO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ1RpbWVsaW5lJyxcbiAgICBwcm9wczoge1xuICAgICAgICBwZW5kaW5nOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfVxuICAgIH0sXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgY2xhc3NlczogZnVuY3Rpb24gY2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbJycgKyBwcmVmaXhDbHMsICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKHt9LCBwcmVmaXhDbHMgKyAnLXBlbmRpbmcnLCB0aGlzLnBlbmRpbmcpXTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMjM2ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhDbHMgPSAnaXZ1LXRpbWVsaW5lJztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdUaW1lbGluZUl0ZW0nLFxuICAgIHByb3BzOiB7XG4gICAgICAgIGNvbG9yOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiAnYmx1ZSdcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRvdDogZmFsc2VcbiAgICAgICAgfTtcbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICAgIHRoaXMuZG90ID0gdGhpcy4kcmVmcy5kb3QuaW5uZXJIVE1MLmxlbmd0aCA/IHRydWUgOiBmYWxzZTtcbiAgICB9LFxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgaXRlbUNsYXNzZXM6IGZ1bmN0aW9uIGl0ZW1DbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIHByZWZpeENscyArICctaXRlbSc7XG4gICAgICAgIH0sXG4gICAgICAgIHRhaWxDbGFzc2VzOiBmdW5jdGlvbiB0YWlsQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBwcmVmaXhDbHMgKyAnLWl0ZW0tdGFpbCc7XG4gICAgICAgIH0sXG4gICAgICAgIGhlYWRDbGFzc2VzOiBmdW5jdGlvbiBoZWFkQ2xhc3NlcygpIHtcbiAgICAgICAgICAgIHZhciBfcmVmO1xuXG4gICAgICAgICAgICByZXR1cm4gW3ByZWZpeENscyArICctaXRlbS1oZWFkJywgKF9yZWYgPSB7fSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1pdGVtLWhlYWQtY3VzdG9tJywgdGhpcy5kb3QpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLWl0ZW0taGVhZC0nICsgU3RyaW5nKHRoaXMuY29sb3IpLCB0aGlzLmhlYWRDb2xvclNob3cpLCBfcmVmKV07XG4gICAgICAgIH0sXG4gICAgICAgIGhlYWRDb2xvclNob3c6IGZ1bmN0aW9uIGhlYWRDb2xvclNob3coKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb2xvciA9PSAnYmx1ZScgfHwgdGhpcy5jb2xvciA9PSAncmVkJyB8fCB0aGlzLmNvbG9yID09ICdncmVlbic7XG4gICAgICAgIH0sXG4gICAgICAgIGN1c3RvbUNvbG9yOiBmdW5jdGlvbiBjdXN0b21Db2xvcigpIHtcbiAgICAgICAgICAgIHZhciBzdHlsZSA9IHt9O1xuICAgICAgICAgICAgaWYgKHRoaXMuY29sb3IpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaGVhZENvbG9yU2hvdykge1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdjb2xvcic6IHRoaXMuY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLWNvbG9yJzogdGhpcy5jb2xvclxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgICAgICB9LFxuICAgICAgICBjb250ZW50Q2xhc3NlczogZnVuY3Rpb24gY29udGVudENsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJlZml4Q2xzICsgJy1pdGVtLWNvbnRlbnQnO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAyMzcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX3RvQ29uc3VtYWJsZUFycmF5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMTYpO1xuXG52YXIgX3RvQ29uc3VtYWJsZUFycmF5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RvQ29uc3VtYWJsZUFycmF5Mik7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX2xpc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU5OSk7XG5cbnZhciBfbGlzdDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9saXN0KTtcblxudmFyIF9vcGVyYXRpb24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDYwMyk7XG5cbnZhciBfb3BlcmF0aW9uMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX29wZXJhdGlvbik7XG5cbnZhciBfbG9jYWxlID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1KTtcblxudmFyIF9sb2NhbGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbG9jYWxlKTtcblxudmFyIF9lbWl0dGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0KTtcblxudmFyIF9lbWl0dGVyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2VtaXR0ZXIpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS10cmFuc2Zlcic7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnVHJhbnNmZXInLFxuICAgIG1peGluczogW19lbWl0dGVyMi5kZWZhdWx0LCBfbG9jYWxlMi5kZWZhdWx0XSxcbiAgICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoKSB7XG4gICAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAgIGZ1bmN0aW9uIGNsb25lVk5vZGUodm5vZGUpIHtcbiAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgICAgICAgIHZhciBjbG9uZWRDaGlsZHJlbiA9IHZub2RlLmNoaWxkcmVuICYmIHZub2RlLmNoaWxkcmVuLm1hcChmdW5jdGlvbiAodm5vZGUpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2xvbmVWTm9kZSh2bm9kZSk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgdmFyIGNsb25lZCA9IGgodm5vZGUudGFnLCB2bm9kZS5kYXRhLCBjbG9uZWRDaGlsZHJlbik7XG4gICAgICAgICAgICBjbG9uZWQudGV4dCA9IHZub2RlLnRleHQ7XG4gICAgICAgICAgICBjbG9uZWQuaXNDb21tZW50ID0gdm5vZGUuaXNDb21tZW50O1xuICAgICAgICAgICAgY2xvbmVkLmNvbXBvbmVudE9wdGlvbnMgPSB2bm9kZS5jb21wb25lbnRPcHRpb25zO1xuICAgICAgICAgICAgY2xvbmVkLmVsbSA9IHZub2RlLmVsbTtcbiAgICAgICAgICAgIGNsb25lZC5jb250ZXh0ID0gdm5vZGUuY29udGV4dDtcbiAgICAgICAgICAgIGNsb25lZC5ucyA9IHZub2RlLm5zO1xuICAgICAgICAgICAgY2xvbmVkLmlzU3RhdGljID0gdm5vZGUuaXNTdGF0aWM7XG4gICAgICAgICAgICBjbG9uZWQua2V5ID0gdm5vZGUua2V5O1xuXG4gICAgICAgICAgICByZXR1cm4gY2xvbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIHZOb2RlcyA9IHRoaXMuJHNsb3RzLmRlZmF1bHQgPT09IHVuZGVmaW5lZCA/IFtdIDogdGhpcy4kc2xvdHMuZGVmYXVsdDtcbiAgICAgICAgdmFyIGNsb25lZFZOb2RlcyA9IHRoaXMuJHNsb3RzLmRlZmF1bHQgPT09IHVuZGVmaW5lZCA/IFtdIDogdk5vZGVzLm1hcChmdW5jdGlvbiAodm5vZGUpIHtcbiAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcbiAgICAgICAgICAgIHJldHVybiBjbG9uZVZOb2RlKHZub2RlKTtcbiAgICAgICAgfS5iaW5kKHRoaXMpKTtcblxuICAgICAgICByZXR1cm4gaCgnZGl2Jywge1xuICAgICAgICAgICAgJ2NsYXNzJzogdGhpcy5jbGFzc2VzXG4gICAgICAgIH0sIFtoKF9saXN0Mi5kZWZhdWx0LCB7XG4gICAgICAgICAgICByZWY6ICdsZWZ0JyxcbiAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgcHJlZml4Q2xzOiB0aGlzLnByZWZpeENscyArICctbGlzdCcsXG4gICAgICAgICAgICAgICAgZGF0YTogdGhpcy5sZWZ0RGF0YSxcbiAgICAgICAgICAgICAgICByZW5kZXJGb3JtYXQ6IHRoaXMucmVuZGVyRm9ybWF0LFxuICAgICAgICAgICAgICAgIGNoZWNrZWRLZXlzOiB0aGlzLmxlZnRDaGVja2VkS2V5cyxcbiAgICAgICAgICAgICAgICB2YWxpZEtleXNDb3VudDogdGhpcy5sZWZ0VmFsaWRLZXlzQ291bnQsXG4gICAgICAgICAgICAgICAgbGlzdFN0eWxlOiB0aGlzLmxpc3RTdHlsZSxcbiAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy5sb2NhbGVUaXRsZXNbMF0sXG4gICAgICAgICAgICAgICAgZmlsdGVyYWJsZTogdGhpcy5maWx0ZXJhYmxlLFxuICAgICAgICAgICAgICAgIGZpbHRlclBsYWNlaG9sZGVyOiB0aGlzLmxvY2FsZUZpbHRlclBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgIGZpbHRlck1ldGhvZDogdGhpcy5maWx0ZXJNZXRob2QsXG4gICAgICAgICAgICAgICAgbm90Rm91bmRUZXh0OiB0aGlzLmxvY2FsZU5vdEZvdW5kVGV4dFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgJ29uLWNoZWNrZWQta2V5cy1jaGFuZ2UnOiB0aGlzLmhhbmRsZUxlZnRDaGVja2VkS2V5c0NoYW5nZVxuICAgICAgICAgICAgfVxuICAgICAgICB9LCB2Tm9kZXMpLCBoKF9vcGVyYXRpb24yLmRlZmF1bHQsIHtcbiAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgcHJlZml4Q2xzOiB0aGlzLnByZWZpeENscyxcbiAgICAgICAgICAgICAgICBvcGVyYXRpb25zOiB0aGlzLm9wZXJhdGlvbnMsXG4gICAgICAgICAgICAgICAgbGVmdEFjdGl2ZTogdGhpcy5sZWZ0VmFsaWRLZXlzQ291bnQgPiAwLFxuICAgICAgICAgICAgICAgIHJpZ2h0QWN0aXZlOiB0aGlzLnJpZ2h0VmFsaWRLZXlzQ291bnQgPiAwXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLCBoKF9saXN0Mi5kZWZhdWx0LCB7XG4gICAgICAgICAgICByZWY6ICdyaWdodCcsXG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgIHByZWZpeENsczogdGhpcy5wcmVmaXhDbHMgKyAnLWxpc3QnLFxuICAgICAgICAgICAgICAgIGRhdGE6IHRoaXMucmlnaHREYXRhLFxuICAgICAgICAgICAgICAgIHJlbmRlckZvcm1hdDogdGhpcy5yZW5kZXJGb3JtYXQsXG4gICAgICAgICAgICAgICAgY2hlY2tlZEtleXM6IHRoaXMucmlnaHRDaGVja2VkS2V5cyxcbiAgICAgICAgICAgICAgICB2YWxpZEtleXNDb3VudDogdGhpcy5yaWdodFZhbGlkS2V5c0NvdW50LFxuICAgICAgICAgICAgICAgIGxpc3RTdHlsZTogdGhpcy5saXN0U3R5bGUsXG4gICAgICAgICAgICAgICAgdGl0bGU6IHRoaXMubG9jYWxlVGl0bGVzWzFdLFxuICAgICAgICAgICAgICAgIGZpbHRlcmFibGU6IHRoaXMuZmlsdGVyYWJsZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXJQbGFjZWhvbGRlcjogdGhpcy5sb2NhbGVGaWx0ZXJQbGFjZWhvbGRlcixcbiAgICAgICAgICAgICAgICBmaWx0ZXJNZXRob2Q6IHRoaXMuZmlsdGVyTWV0aG9kLFxuICAgICAgICAgICAgICAgIG5vdEZvdW5kVGV4dDogdGhpcy5sb2NhbGVOb3RGb3VuZFRleHRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICdvbi1jaGVja2VkLWtleXMtY2hhbmdlJzogdGhpcy5oYW5kbGVSaWdodENoZWNrZWRLZXlzQ2hhbmdlXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIGNsb25lZFZOb2RlcyldKTtcbiAgICB9LFxuXG4gICAgcHJvcHM6IHtcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgdHlwZTogQXJyYXksXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHJlbmRlckZvcm1hdDoge1xuICAgICAgICAgICAgdHlwZTogRnVuY3Rpb24sXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdChpdGVtKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0ubGFiZWwgfHwgaXRlbS5rZXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHRhcmdldEtleXM6IHtcbiAgICAgICAgICAgIHR5cGU6IEFycmF5LFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBzZWxlY3RlZEtleXM6IHtcbiAgICAgICAgICAgIHR5cGU6IEFycmF5LFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBsaXN0U3R5bGU6IHtcbiAgICAgICAgICAgIHR5cGU6IE9iamVjdCxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdGl0bGVzOiB7XG4gICAgICAgICAgICB0eXBlOiBBcnJheVxuICAgICAgICB9LFxuICAgICAgICBvcGVyYXRpb25zOiB7XG4gICAgICAgICAgICB0eXBlOiBBcnJheSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZmlsdGVyYWJsZToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIGZpbHRlclBsYWNlaG9sZGVyOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgZmlsdGVyTWV0aG9kOiB7XG4gICAgICAgICAgICB0eXBlOiBGdW5jdGlvbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KGRhdGEsIHF1ZXJ5KSB7XG4gICAgICAgICAgICAgICAgdmFyIHR5cGUgPSAnbGFiZWwnIGluIGRhdGEgPyAnbGFiZWwnIDogJ2tleSc7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGFbdHlwZV0uaW5kZXhPZihxdWVyeSkgPiAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbm90Rm91bmRUZXh0OiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmdcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByZWZpeENsczogcHJlZml4Q2xzLFxuICAgICAgICAgICAgbGVmdERhdGE6IFtdLFxuICAgICAgICAgICAgcmlnaHREYXRhOiBbXSxcbiAgICAgICAgICAgIGxlZnRDaGVja2VkS2V5czogW10sXG4gICAgICAgICAgICByaWdodENoZWNrZWRLZXlzOiBbXVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIFsnJyArIHByZWZpeENsc107XG4gICAgICAgIH0sXG4gICAgICAgIGxlZnRWYWxpZEtleXNDb3VudDogZnVuY3Rpb24gbGVmdFZhbGlkS2V5c0NvdW50KCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsaWRLZXlzKCdsZWZ0JykubGVuZ3RoO1xuICAgICAgICB9LFxuICAgICAgICByaWdodFZhbGlkS2V5c0NvdW50OiBmdW5jdGlvbiByaWdodFZhbGlkS2V5c0NvdW50KCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsaWRLZXlzKCdyaWdodCcpLmxlbmd0aDtcbiAgICAgICAgfSxcbiAgICAgICAgbG9jYWxlRmlsdGVyUGxhY2Vob2xkZXI6IGZ1bmN0aW9uIGxvY2FsZUZpbHRlclBsYWNlaG9sZGVyKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmlsdGVyUGxhY2Vob2xkZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnQoJ2kudHJhbnNmZXIuZmlsdGVyUGxhY2Vob2xkZXInKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyUGxhY2Vob2xkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGxvY2FsZU5vdEZvdW5kVGV4dDogZnVuY3Rpb24gbG9jYWxlTm90Rm91bmRUZXh0KCkge1xuICAgICAgICAgICAgaWYgKHRoaXMubm90Rm91bmRUZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50KCdpLnRyYW5zZmVyLm5vdEZvdW5kVGV4dCcpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5ub3RGb3VuZFRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGxvY2FsZVRpdGxlczogZnVuY3Rpb24gbG9jYWxlVGl0bGVzKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMudGl0bGVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW3RoaXMudCgnaS50cmFuc2Zlci50aXRsZXMuc291cmNlJyksIHRoaXMudCgnaS50cmFuc2Zlci50aXRsZXMudGFyZ2V0JyldO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50aXRsZXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgZ2V0VmFsaWRLZXlzOiBmdW5jdGlvbiBnZXRWYWxpZEtleXMoZGlyZWN0aW9uKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMzID0gdGhpcztcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXNbU3RyaW5nKGRpcmVjdGlvbikgKyAnRGF0YSddLmZpbHRlcihmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gIWRhdGEuZGlzYWJsZWQgJiYgdGhpc1tTdHJpbmcoZGlyZWN0aW9uKSArICdDaGVja2VkS2V5cyddLmluZGV4T2YoZGF0YS5rZXkpID4gLTE7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpLm1hcChmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5rZXk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB9LFxuICAgICAgICBzcGxpdERhdGE6IGZ1bmN0aW9uIHNwbGl0RGF0YSgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczQgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgaW5pdCA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogZmFsc2U7XG5cbiAgICAgICAgICAgIHRoaXMubGVmdERhdGEgPSBbXS5jb25jYXQoKDAsIF90b0NvbnN1bWFibGVBcnJheTMuZGVmYXVsdCkodGhpcy5kYXRhKSk7XG4gICAgICAgICAgICB0aGlzLnJpZ2h0RGF0YSA9IFtdO1xuICAgICAgICAgICAgaWYgKHRoaXMudGFyZ2V0S2V5cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50YXJnZXRLZXlzLmZvckVhY2goZnVuY3Rpb24gKHRhcmdldEtleSkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzNCk7XG5cbiAgICAgICAgICAgICAgICAgICAgdmFyIGZpbHRlcmVkRGF0YSA9IHRoaXMubGVmdERhdGEuZmlsdGVyKGZ1bmN0aW9uIChkYXRhLCBpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczQpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5rZXkgPT09IHRhcmdldEtleSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGVmdERhdGEuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpbHRlcmVkRGF0YSAmJiBmaWx0ZXJlZERhdGEubGVuZ3RoID4gMCkgdGhpcy5yaWdodERhdGEucHVzaChmaWx0ZXJlZERhdGFbMF0pO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaW5pdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3BsaXRTZWxlY3RlZEtleSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBzcGxpdFNlbGVjdGVkS2V5OiBmdW5jdGlvbiBzcGxpdFNlbGVjdGVkS2V5KCkge1xuICAgICAgICAgICAgdmFyIF90aGlzNSA9IHRoaXM7XG5cbiAgICAgICAgICAgIHZhciBzZWxlY3RlZEtleXMgPSB0aGlzLnNlbGVjdGVkS2V5cztcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZEtleXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMubGVmdENoZWNrZWRLZXlzID0gdGhpcy5sZWZ0RGF0YS5maWx0ZXIoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczUpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRLZXlzLmluZGV4T2YoZGF0YS5rZXkpID4gLTE7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKS5tYXAoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczUpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5rZXk7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJpZ2h0Q2hlY2tlZEtleXMgPSB0aGlzLnJpZ2h0RGF0YS5maWx0ZXIoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczUpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRLZXlzLmluZGV4T2YoZGF0YS5rZXkpID4gLTE7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKS5tYXAoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczUpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5rZXk7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbW92ZVRvOiBmdW5jdGlvbiBtb3ZlVG8oZGlyZWN0aW9uKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXM2ID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIHRhcmdldEtleXMgPSB0aGlzLnRhcmdldEtleXM7XG4gICAgICAgICAgICB2YXIgb3Bwb3NpdGUgPSBkaXJlY3Rpb24gPT09ICdsZWZ0JyA/ICdyaWdodCcgOiAnbGVmdCc7XG4gICAgICAgICAgICB2YXIgbW92ZUtleXMgPSB0aGlzLmdldFZhbGlkS2V5cyhvcHBvc2l0ZSk7XG4gICAgICAgICAgICB2YXIgbmV3VGFyZ2V0S2V5cyA9IGRpcmVjdGlvbiA9PT0gJ3JpZ2h0JyA/IG1vdmVLZXlzLmNvbmNhdCh0YXJnZXRLZXlzKSA6IHRhcmdldEtleXMuZmlsdGVyKGZ1bmN0aW9uICh0YXJnZXRLZXkpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzNik7XG4gICAgICAgICAgICAgICAgcmV0dXJuICFtb3ZlS2V5cy5zb21lKGZ1bmN0aW9uIChjaGVja2VkS2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM2KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldEtleSA9PT0gY2hlY2tlZEtleTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcblxuICAgICAgICAgICAgdGhpcy4kcmVmc1tvcHBvc2l0ZV0udG9nZ2xlU2VsZWN0QWxsKGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWNoYW5nZScsIG5ld1RhcmdldEtleXMsIGRpcmVjdGlvbiwgbW92ZUtleXMpO1xuICAgICAgICAgICAgdGhpcy5kaXNwYXRjaCgnRm9ybUl0ZW0nLCAnb24tZm9ybS1jaGFuZ2UnLCB7XG4gICAgICAgICAgICAgICAgdGFya2V0S2V5czogbmV3VGFyZ2V0S2V5cyxcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb246IGRpcmVjdGlvbixcbiAgICAgICAgICAgICAgICBtb3ZlS2V5czogbW92ZUtleXNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVMZWZ0Q2hlY2tlZEtleXNDaGFuZ2U6IGZ1bmN0aW9uIGhhbmRsZUxlZnRDaGVja2VkS2V5c0NoYW5nZShrZXlzKSB7XG4gICAgICAgICAgICB0aGlzLmxlZnRDaGVja2VkS2V5cyA9IGtleXM7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUNoZWNrZWRLZXlzKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVJpZ2h0Q2hlY2tlZEtleXNDaGFuZ2U6IGZ1bmN0aW9uIGhhbmRsZVJpZ2h0Q2hlY2tlZEtleXNDaGFuZ2Uoa2V5cykge1xuICAgICAgICAgICAgdGhpcy5yaWdodENoZWNrZWRLZXlzID0ga2V5cztcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2hlY2tlZEtleXMoKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlQ2hlY2tlZEtleXM6IGZ1bmN0aW9uIGhhbmRsZUNoZWNrZWRLZXlzKCkge1xuICAgICAgICAgICAgdmFyIHNvdXJjZVNlbGVjdGVkS2V5cyA9IHRoaXMuZ2V0VmFsaWRLZXlzKCdsZWZ0Jyk7XG4gICAgICAgICAgICB2YXIgdGFyZ2V0U2VsZWN0ZWRLZXlzID0gdGhpcy5nZXRWYWxpZEtleXMoJ3JpZ2h0Jyk7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1zZWxlY3RlZC1jaGFuZ2UnLCBzb3VyY2VTZWxlY3RlZEtleXMsIHRhcmdldFNlbGVjdGVkS2V5cyk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHdhdGNoOiB7XG4gICAgICAgIHRhcmdldEtleXM6IGZ1bmN0aW9uIHRhcmdldEtleXMoKSB7XG4gICAgICAgICAgICB0aGlzLnNwbGl0RGF0YShmYWxzZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgICAgICB0aGlzLnNwbGl0RGF0YShmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICAgIHRoaXMuc3BsaXREYXRhKHRydWUpO1xuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMjM4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG52YXIgX3NlYXJjaCA9IF9fd2VicGFja19yZXF1aXJlX18oNjAwKTtcblxudmFyIF9zZWFyY2gyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc2VhcmNoKTtcblxudmFyIF9jaGVja2JveCA9IF9fd2VicGFja19yZXF1aXJlX18oNDYpO1xuXG52YXIgX2NoZWNrYm94MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2NoZWNrYm94KTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdUcmFuc2Zlckxpc3QnLFxuICAgIGNvbXBvbmVudHM6IHsgU2VhcmNoOiBfc2VhcmNoMi5kZWZhdWx0LCBDaGVja2JveDogX2NoZWNrYm94Mi5kZWZhdWx0IH0sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgcHJlZml4Q2xzOiBTdHJpbmcsXG4gICAgICAgIGRhdGE6IEFycmF5LFxuICAgICAgICByZW5kZXJGb3JtYXQ6IEZ1bmN0aW9uLFxuICAgICAgICBjaGVja2VkS2V5czogQXJyYXksXG4gICAgICAgIGxpc3RTdHlsZTogT2JqZWN0LFxuICAgICAgICB0aXRsZTogW1N0cmluZywgTnVtYmVyXSxcbiAgICAgICAgZmlsdGVyYWJsZTogQm9vbGVhbixcbiAgICAgICAgZmlsdGVyUGxhY2Vob2xkZXI6IFN0cmluZyxcbiAgICAgICAgZmlsdGVyTWV0aG9kOiBGdW5jdGlvbixcbiAgICAgICAgbm90Rm91bmRUZXh0OiBTdHJpbmcsXG4gICAgICAgIHZhbGlkS2V5c0NvdW50OiBOdW1iZXJcbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzaG93SXRlbXM6IFtdLFxuICAgICAgICAgICAgcXVlcnk6ICcnLFxuICAgICAgICAgICAgc2hvd0Zvb3RlcjogdHJ1ZVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICB3YXRjaDoge1xuICAgICAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJlZERhdGEoKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgY2xhc3NlczogZnVuY3Rpb24gY2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbJycgKyBTdHJpbmcodGhpcy5wcmVmaXhDbHMpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KSh7fSwgU3RyaW5nKHRoaXMucHJlZml4Q2xzKSArICctd2l0aC1mb290ZXInLCB0aGlzLnNob3dGb290ZXIpXTtcbiAgICAgICAgfSxcbiAgICAgICAgYm9keUNsYXNzZXM6IGZ1bmN0aW9uIGJvZHlDbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWYyO1xuXG4gICAgICAgICAgICByZXR1cm4gW1N0cmluZyh0aGlzLnByZWZpeENscykgKyAnLWJvZHknLCAoX3JlZjIgPSB7fSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZjIsIFN0cmluZyh0aGlzLnByZWZpeENscykgKyAnLWJvZHktd2l0aC1zZWFyY2gnLCB0aGlzLmZpbHRlcmFibGUpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmMiwgU3RyaW5nKHRoaXMucHJlZml4Q2xzKSArICctYm9keS13aXRoLWZvb3RlcicsIHRoaXMuc2hvd0Zvb3RlciksIF9yZWYyKV07XG4gICAgICAgIH0sXG4gICAgICAgIGNvdW50OiBmdW5jdGlvbiBjb3VudCgpIHtcbiAgICAgICAgICAgIHZhciB2YWxpZEtleXNDb3VudCA9IHRoaXMudmFsaWRLZXlzQ291bnQ7XG4gICAgICAgICAgICByZXR1cm4gKHZhbGlkS2V5c0NvdW50ID4gMCA/IFN0cmluZyh2YWxpZEtleXNDb3VudCkgKyAnLycgOiAnJykgKyAoJycgKyBTdHJpbmcodGhpcy5kYXRhLmxlbmd0aCkpO1xuICAgICAgICB9LFxuICAgICAgICBjaGVja2VkQWxsOiBmdW5jdGlvbiBjaGVja2VkQWxsKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyRGF0YS5maWx0ZXIoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gIWRhdGEuZGlzYWJsZWQ7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpLmxlbmd0aCA9PT0gdGhpcy52YWxpZEtleXNDb3VudCAmJiB0aGlzLnZhbGlkS2V5c0NvdW50ICE9PSAwO1xuICAgICAgICB9LFxuICAgICAgICBjaGVja2VkQWxsRGlzYWJsZWQ6IGZ1bmN0aW9uIGNoZWNrZWRBbGxEaXNhYmxlZCgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJEYXRhLmZpbHRlcihmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gIWRhdGEuZGlzYWJsZWQ7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpLmxlbmd0aCA8PSAwO1xuICAgICAgICB9LFxuICAgICAgICBmaWx0ZXJEYXRhOiBmdW5jdGlvbiBmaWx0ZXJEYXRhKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNob3dJdGVtcy5maWx0ZXIoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyTWV0aG9kKGl0ZW0sIHRoaXMucXVlcnkpO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgICBpdGVtQ2xhc3NlczogZnVuY3Rpb24gaXRlbUNsYXNzZXMoaXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIFtTdHJpbmcodGhpcy5wcmVmaXhDbHMpICsgJy1jb250ZW50LWl0ZW0nLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KSh7fSwgU3RyaW5nKHRoaXMucHJlZml4Q2xzKSArICctY29udGVudC1pdGVtLWRpc2FibGVkJywgaXRlbS5kaXNhYmxlZCldO1xuICAgICAgICB9LFxuICAgICAgICBzaG93TGFiZWw6IGZ1bmN0aW9uIHNob3dMYWJlbChpdGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yZW5kZXJGb3JtYXQoaXRlbSk7XG4gICAgICAgIH0sXG4gICAgICAgIGlzQ2hlY2s6IGZ1bmN0aW9uIGlzQ2hlY2soaXRlbSkge1xuICAgICAgICAgICAgdmFyIF90aGlzNCA9IHRoaXM7XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNoZWNrZWRLZXlzLnNvbWUoZnVuY3Rpb24gKGtleSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM0KTtcbiAgICAgICAgICAgICAgICByZXR1cm4ga2V5ID09PSBpdGVtLmtleTtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgIH0sXG4gICAgICAgIHNlbGVjdDogZnVuY3Rpb24gc2VsZWN0KGl0ZW0pIHtcbiAgICAgICAgICAgIGlmIChpdGVtLmRpc2FibGVkKSByZXR1cm47XG4gICAgICAgICAgICB2YXIgaW5kZXggPSB0aGlzLmNoZWNrZWRLZXlzLmluZGV4T2YoaXRlbS5rZXkpO1xuICAgICAgICAgICAgaW5kZXggPiAtMSA/IHRoaXMuY2hlY2tlZEtleXMuc3BsaWNlKGluZGV4LCAxKSA6IHRoaXMuY2hlY2tlZEtleXMucHVzaChpdGVtLmtleSk7XG4gICAgICAgICAgICB0aGlzLiRwYXJlbnQuaGFuZGxlQ2hlY2tlZEtleXMoKTtcbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlRmlsdGVyZWREYXRhOiBmdW5jdGlvbiB1cGRhdGVGaWx0ZXJlZERhdGEoKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dJdGVtcyA9IHRoaXMuZGF0YTtcbiAgICAgICAgfSxcbiAgICAgICAgdG9nZ2xlU2VsZWN0QWxsOiBmdW5jdGlvbiB0b2dnbGVTZWxlY3RBbGwoc3RhdHVzKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXM1ID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIGtleXMgPSBzdGF0dXMgPyB0aGlzLmZpbHRlckRhdGEuZmlsdGVyKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczUpO1xuICAgICAgICAgICAgICAgIHJldHVybiAhZGF0YS5kaXNhYmxlZCB8fCB0aGlzLmNoZWNrZWRLZXlzLmluZGV4T2YoZGF0YS5rZXkpID4gLTE7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpLm1hcChmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM1KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5rZXk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpIDogdGhpcy5maWx0ZXJEYXRhLmZpbHRlcihmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM1KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5kaXNhYmxlZCAmJiB0aGlzLmNoZWNrZWRLZXlzLmluZGV4T2YoZGF0YS5rZXkpID4gLTE7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpLm1hcChmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM1KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5rZXk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tY2hlY2tlZC1rZXlzLWNoYW5nZScsIGtleXMpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVRdWVyeUNsZWFyOiBmdW5jdGlvbiBoYW5kbGVRdWVyeUNsZWFyKCkge1xuICAgICAgICAgICAgdGhpcy5xdWVyeSA9ICcnO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVRdWVyeUNoYW5nZTogZnVuY3Rpb24gaGFuZGxlUXVlcnlDaGFuZ2UodmFsKSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5ID0gdmFsO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUZpbHRlcmVkRGF0YSgpO1xuICAgIH0sXG4gICAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHtcbiAgICAgICAgdGhpcy5zaG93Rm9vdGVyID0gdGhpcy4kc2xvdHMuZGVmYXVsdCAhPT0gdW5kZWZpbmVkO1xuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMjM5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9pbnB1dCA9IF9fd2VicGFja19yZXF1aXJlX18oMzcpO1xuXG52YXIgX2lucHV0MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2lucHV0KTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdTZWFyY2gnLFxuICAgIGNvbXBvbmVudHM6IHsgaUlucHV0OiBfaW5wdXQyLmRlZmF1bHQgfSxcbiAgICBwcm9wczoge1xuICAgICAgICBwcmVmaXhDbHM6IFN0cmluZyxcbiAgICAgICAgcGxhY2Vob2xkZXI6IFN0cmluZyxcbiAgICAgICAgcXVlcnk6IFN0cmluZ1xuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGN1cnJlbnRRdWVyeTogdGhpcy5xdWVyeVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICB3YXRjaDoge1xuICAgICAgICBxdWVyeTogZnVuY3Rpb24gcXVlcnkodmFsKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRRdWVyeSA9IHZhbDtcbiAgICAgICAgfSxcbiAgICAgICAgY3VycmVudFF1ZXJ5OiBmdW5jdGlvbiBjdXJyZW50UXVlcnkodmFsKSB7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1xdWVyeS1jaGFuZ2UnLCB2YWwpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBjb21wdXRlZDoge1xuICAgICAgICBpY29uOiBmdW5jdGlvbiBpY29uKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucXVlcnkgPT09ICcnID8gJ2lvcy1zZWFyY2gnIDogJ2lvcy1jbG9zZS1jaXJjbGUnO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGhhbmRsZUNsaWNrOiBmdW5jdGlvbiBoYW5kbGVDbGljaygpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRRdWVyeSA9PT0gJycpIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFF1ZXJ5ID0gJyc7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1xdWVyeS1jbGVhcicpO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAyNDAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2J1dHRvbiA9IF9fd2VicGFja19yZXF1aXJlX18oMjQpO1xuXG52YXIgX2J1dHRvbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9idXR0b24pO1xuXG52YXIgX2ljb24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDgpO1xuXG52YXIgX2ljb24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaWNvbik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnT3BlcmF0aW9uJyxcbiAgICBjb21wb25lbnRzOiB7IGlCdXR0b246IF9idXR0b24yLmRlZmF1bHQsIEljb246IF9pY29uMi5kZWZhdWx0IH0sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgcHJlZml4Q2xzOiBTdHJpbmcsXG4gICAgICAgIG9wZXJhdGlvbnM6IEFycmF5LFxuICAgICAgICBsZWZ0QWN0aXZlOiBCb29sZWFuLFxuICAgICAgICByaWdodEFjdGl2ZTogQm9vbGVhblxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgICBtb3ZlVG9MZWZ0OiBmdW5jdGlvbiBtb3ZlVG9MZWZ0KCkge1xuICAgICAgICAgICAgdGhpcy4kcGFyZW50Lm1vdmVUbygnbGVmdCcpO1xuICAgICAgICB9LFxuICAgICAgICBtb3ZlVG9SaWdodDogZnVuY3Rpb24gbW92ZVRvUmlnaHQoKSB7XG4gICAgICAgICAgICB0aGlzLiRwYXJlbnQubW92ZVRvKCdyaWdodCcpO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAyNDEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF9ub2RlID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2MDcpO1xuXG52YXIgX25vZGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbm9kZSk7XG5cbnZhciBfZW1pdHRlciA9IF9fd2VicGFja19yZXF1aXJlX18oNCk7XG5cbnZhciBfZW1pdHRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9lbWl0dGVyKTtcblxudmFyIF9sb2NhbGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUpO1xuXG52YXIgX2xvY2FsZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9sb2NhbGUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS10cmVlJztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdUcmVlJyxcbiAgICBtaXhpbnM6IFtfZW1pdHRlcjIuZGVmYXVsdCwgX2xvY2FsZTIuZGVmYXVsdF0sXG4gICAgY29tcG9uZW50czogeyBUcmVlTm9kZTogX25vZGUyLmRlZmF1bHQgfSxcbiAgICBwcm92aWRlOiBmdW5jdGlvbiBwcm92aWRlKCkge1xuICAgICAgICByZXR1cm4geyBUcmVlSW5zdGFuY2U6IHRoaXMgfTtcbiAgICB9LFxuXG4gICAgcHJvcHM6IHtcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgdHlwZTogQXJyYXksXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG11bHRpcGxlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd0NoZWNrYm94OiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgY2hlY2tTdHJpY3RseToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG5cbiAgICAgICAgY2hlY2tEaXJlY3RseToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIGVtcHR5VGV4dDoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nXG4gICAgICAgIH0sXG4gICAgICAgIGNoaWxkcmVuS2V5OiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiAnY2hpbGRyZW4nXG4gICAgICAgIH0sXG4gICAgICAgIGxvYWREYXRhOiB7XG4gICAgICAgICAgICB0eXBlOiBGdW5jdGlvblxuICAgICAgICB9LFxuICAgICAgICByZW5kZXI6IHtcbiAgICAgICAgICAgIHR5cGU6IEZ1bmN0aW9uXG4gICAgICAgIH1cblxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByZWZpeENsczogcHJlZml4Q2xzLFxuICAgICAgICAgICAgc3RhdGVUcmVlOiB0aGlzLmRhdGEsXG4gICAgICAgICAgICBmbGF0U3RhdGU6IFtdXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIHdhdGNoOiB7XG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIGRlZXA6IHRydWUsXG4gICAgICAgICAgICBoYW5kbGVyOiBmdW5jdGlvbiBoYW5kbGVyKCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhdGVUcmVlID0gdGhpcy5kYXRhO1xuICAgICAgICAgICAgICAgIHRoaXMuZmxhdFN0YXRlID0gdGhpcy5jb21waWxlRmxhdFN0YXRlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWJ1aWxkVHJlZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBjb21wdXRlZDoge1xuICAgICAgICBsb2NhbGVFbXB0eVRleHQ6IGZ1bmN0aW9uIGxvY2FsZUVtcHR5VGV4dCgpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5lbXB0eVRleHQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudCgnaS50cmVlLmVtcHR5VGV4dCcpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lbXB0eVRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgY29tcGlsZUZsYXRTdGF0ZTogZnVuY3Rpb24gY29tcGlsZUZsYXRTdGF0ZSgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIga2V5Q291bnRlciA9IDA7XG4gICAgICAgICAgICB2YXIgY2hpbGRyZW5LZXkgPSB0aGlzLmNoaWxkcmVuS2V5O1xuICAgICAgICAgICAgdmFyIGZsYXRUcmVlID0gW107XG4gICAgICAgICAgICBmdW5jdGlvbiBmbGF0dGVuQ2hpbGRyZW4obm9kZSwgcGFyZW50KSB7XG4gICAgICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgICAgIG5vZGUubm9kZUtleSA9IGtleUNvdW50ZXIrKztcbiAgICAgICAgICAgICAgICBmbGF0VHJlZVtub2RlLm5vZGVLZXldID0geyBub2RlOiBub2RlLCBub2RlS2V5OiBub2RlLm5vZGVLZXkgfTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHBhcmVudCAhPSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgICAgICBmbGF0VHJlZVtub2RlLm5vZGVLZXldLnBhcmVudCA9IHBhcmVudC5ub2RlS2V5O1xuICAgICAgICAgICAgICAgICAgICBmbGF0VHJlZVtwYXJlbnQubm9kZUtleV1bY2hpbGRyZW5LZXldLnB1c2gobm9kZS5ub2RlS2V5KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAobm9kZVtjaGlsZHJlbktleV0pIHtcbiAgICAgICAgICAgICAgICAgICAgZmxhdFRyZWVbbm9kZS5ub2RlS2V5XVtjaGlsZHJlbktleV0gPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgbm9kZVtjaGlsZHJlbktleV0uZm9yRWFjaChmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZsYXR0ZW5DaGlsZHJlbihjaGlsZCwgbm9kZSk7XG4gICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zdGF0ZVRyZWUuZm9yRWFjaChmdW5jdGlvbiAocm9vdE5vZGUpIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMik7XG5cbiAgICAgICAgICAgICAgICBmbGF0dGVuQ2hpbGRyZW4ocm9vdE5vZGUpO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIHJldHVybiBmbGF0VHJlZTtcbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlVHJlZVVwOiBmdW5jdGlvbiB1cGRhdGVUcmVlVXAobm9kZUtleSkge1xuICAgICAgICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICAgICAgICAgIHZhciBwYXJlbnRLZXkgPSB0aGlzLmZsYXRTdGF0ZVtub2RlS2V5XS5wYXJlbnQ7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHBhcmVudEtleSA9PSAndW5kZWZpbmVkJyB8fCB0aGlzLmNoZWNrU3RyaWN0bHkpIHJldHVybjtcblxuICAgICAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmZsYXRTdGF0ZVtub2RlS2V5XS5ub2RlO1xuICAgICAgICAgICAgdmFyIHBhcmVudCA9IHRoaXMuZmxhdFN0YXRlW3BhcmVudEtleV0ubm9kZTtcbiAgICAgICAgICAgIGlmIChub2RlLmNoZWNrZWQgPT0gcGFyZW50LmNoZWNrZWQgJiYgbm9kZS5pbmRldGVybWluYXRlID09IHBhcmVudC5pbmRldGVybWluYXRlKSByZXR1cm47XG5cbiAgICAgICAgICAgIGlmIChub2RlLmNoZWNrZWQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuJHNldChwYXJlbnQsICdjaGVja2VkJywgcGFyZW50W3RoaXMuY2hpbGRyZW5LZXldLmV2ZXJ5KGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMzKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGUuY2hlY2tlZDtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpKTtcbiAgICAgICAgICAgICAgICB0aGlzLiRzZXQocGFyZW50LCAnaW5kZXRlcm1pbmF0ZScsICFwYXJlbnQuY2hlY2tlZCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuJHNldChwYXJlbnQsICdjaGVja2VkJywgZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuJHNldChwYXJlbnQsICdpbmRldGVybWluYXRlJywgcGFyZW50W3RoaXMuY2hpbGRyZW5LZXldLnNvbWUoZnVuY3Rpb24gKG5vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczMpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbm9kZS5jaGVja2VkIHx8IG5vZGUuaW5kZXRlcm1pbmF0ZTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudXBkYXRlVHJlZVVwKHBhcmVudEtleSk7XG4gICAgICAgIH0sXG4gICAgICAgIHJlYnVpbGRUcmVlOiBmdW5jdGlvbiByZWJ1aWxkVHJlZSgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczQgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgY2hlY2tlZE5vZGVzID0gdGhpcy5nZXRDaGVja2VkTm9kZXMoKTtcbiAgICAgICAgICAgIGNoZWNrZWROb2Rlcy5mb3JFYWNoKGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczQpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVUcmVlRG93bihub2RlLCB7IGNoZWNrZWQ6IHRydWUgfSk7XG5cbiAgICAgICAgICAgICAgICB2YXIgcGFyZW50S2V5ID0gdGhpcy5mbGF0U3RhdGVbbm9kZS5ub2RlS2V5XS5wYXJlbnQ7XG4gICAgICAgICAgICAgICAgaWYgKCFwYXJlbnRLZXkgJiYgcGFyZW50S2V5ICE9PSAwKSByZXR1cm47XG4gICAgICAgICAgICAgICAgdmFyIHBhcmVudCA9IHRoaXMuZmxhdFN0YXRlW3BhcmVudEtleV0ubm9kZTtcbiAgICAgICAgICAgICAgICB2YXIgY2hpbGRIYXNDaGVja1NldHRlciA9IHR5cGVvZiBub2RlLmNoZWNrZWQgIT0gJ3VuZGVmaW5lZCcgJiYgbm9kZS5jaGVja2VkO1xuICAgICAgICAgICAgICAgIGlmIChjaGlsZEhhc0NoZWNrU2V0dGVyICYmIHBhcmVudC5jaGVja2VkICE9IG5vZGUuY2hlY2tlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRyZWVVcChub2RlLm5vZGVLZXkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgIH0sXG4gICAgICAgIGdldFNlbGVjdGVkTm9kZXM6IGZ1bmN0aW9uIGdldFNlbGVjdGVkTm9kZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXM1ID0gdGhpcztcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmxhdFN0YXRlLmZpbHRlcihmdW5jdGlvbiAob2JqKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczUpO1xuICAgICAgICAgICAgICAgIHJldHVybiBvYmoubm9kZS5zZWxlY3RlZDtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSkubWFwKGZ1bmN0aW9uIChvYmopIHtcbiAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzNSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iai5ub2RlO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0Q2hlY2tlZE5vZGVzOiBmdW5jdGlvbiBnZXRDaGVja2VkTm9kZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXM2ID0gdGhpcztcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmxhdFN0YXRlLmZpbHRlcihmdW5jdGlvbiAob2JqKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczYpO1xuICAgICAgICAgICAgICAgIHJldHVybiBvYmoubm9kZS5jaGVja2VkO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKS5tYXAoZnVuY3Rpb24gKG9iaikge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM2KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqLm5vZGU7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB9LFxuICAgICAgICBnZXRDaGVja2VkQW5kSW5kZXRlcm1pbmF0ZU5vZGVzOiBmdW5jdGlvbiBnZXRDaGVja2VkQW5kSW5kZXRlcm1pbmF0ZU5vZGVzKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzNyA9IHRoaXM7XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZsYXRTdGF0ZS5maWx0ZXIoZnVuY3Rpb24gKG9iaikge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM3KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqLm5vZGUuY2hlY2tlZCB8fCBvYmoubm9kZS5pbmRldGVybWluYXRlO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKS5tYXAoZnVuY3Rpb24gKG9iaikge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXM3KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqLm5vZGU7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB9LFxuICAgICAgICB1cGRhdGVUcmVlRG93bjogZnVuY3Rpb24gdXBkYXRlVHJlZURvd24obm9kZSkge1xuICAgICAgICAgICAgdmFyIF90aGlzOCA9IHRoaXM7XG5cbiAgICAgICAgICAgIHZhciBjaGFuZ2VzID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuY2hlY2tTdHJpY3RseSkgcmV0dXJuO1xuXG4gICAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgICAgIHRoaXMuJHNldChub2RlLCBrZXksIGNoYW5nZXNba2V5XSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobm9kZVt0aGlzLmNoaWxkcmVuS2V5XSkge1xuICAgICAgICAgICAgICAgIG5vZGVbdGhpcy5jaGlsZHJlbktleV0uZm9yRWFjaChmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczgpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVHJlZURvd24oY2hpbGQsIGNoYW5nZXMpO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVNlbGVjdDogZnVuY3Rpb24gaGFuZGxlU2VsZWN0KG5vZGVLZXkpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczkgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgbm9kZSA9IHRoaXMuZmxhdFN0YXRlW25vZGVLZXldLm5vZGU7XG4gICAgICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICB2YXIgY3VycmVudFNlbGVjdGVkS2V5ID0gdGhpcy5mbGF0U3RhdGUuZmluZEluZGV4KGZ1bmN0aW9uIChvYmopIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JqLm5vZGUuc2VsZWN0ZWQ7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgICAgICBpZiAoY3VycmVudFNlbGVjdGVkS2V5ID49IDAgJiYgY3VycmVudFNlbGVjdGVkS2V5ICE9PSBub2RlS2V5KSB0aGlzLiRzZXQodGhpcy5mbGF0U3RhdGVbY3VycmVudFNlbGVjdGVkS2V5XS5ub2RlLCAnc2VsZWN0ZWQnLCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLiRzZXQobm9kZSwgJ3NlbGVjdGVkJywgIW5vZGUuc2VsZWN0ZWQpO1xuXG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1zZWxlY3QtY2hhbmdlJywgdGhpcy5nZXRTZWxlY3RlZE5vZGVzKCksIG5vZGUpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVDaGVjazogZnVuY3Rpb24gaGFuZGxlQ2hlY2soX3JlZikge1xuICAgICAgICAgICAgdmFyIGNoZWNrZWQgPSBfcmVmLmNoZWNrZWQsXG4gICAgICAgICAgICAgICAgbm9kZUtleSA9IF9yZWYubm9kZUtleTtcblxuICAgICAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmZsYXRTdGF0ZVtub2RlS2V5XS5ub2RlO1xuICAgICAgICAgICAgdGhpcy4kc2V0KG5vZGUsICdjaGVja2VkJywgY2hlY2tlZCk7XG4gICAgICAgICAgICB0aGlzLiRzZXQobm9kZSwgJ2luZGV0ZXJtaW5hdGUnLCBmYWxzZSk7XG5cbiAgICAgICAgICAgIHRoaXMudXBkYXRlVHJlZVVwKG5vZGVLZXkpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUcmVlRG93bihub2RlLCB7IGNoZWNrZWQ6IGNoZWNrZWQsIGluZGV0ZXJtaW5hdGU6IGZhbHNlIH0pO1xuXG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1jaGVjay1jaGFuZ2UnLCB0aGlzLmdldENoZWNrZWROb2RlcygpLCBub2RlKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHtcbiAgICAgICAgdGhpcy5mbGF0U3RhdGUgPSB0aGlzLmNvbXBpbGVGbGF0U3RhdGUoKTtcbiAgICAgICAgdGhpcy5yZWJ1aWxkVHJlZSgpO1xuICAgIH0sXG4gICAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHtcbiAgICAgICAgdmFyIF90aGlzMTAgPSB0aGlzO1xuXG4gICAgICAgIHRoaXMuJG9uKCdvbi1jaGVjaycsIHRoaXMuaGFuZGxlQ2hlY2spO1xuICAgICAgICB0aGlzLiRvbignb24tc2VsZWN0ZWQnLCB0aGlzLmhhbmRsZVNlbGVjdCk7XG4gICAgICAgIHRoaXMuJG9uKCd0b2dnbGUtZXhwYW5kJywgZnVuY3Rpb24gKG5vZGUpIHtcbiAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMxMCk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy4kZW1pdCgnb24tdG9nZ2xlLWV4cGFuZCcsIG5vZGUpO1xuICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMjQyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkyID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eTIpO1xuXG52YXIgX2NoZWNrYm94ID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0Nik7XG5cbnZhciBfY2hlY2tib3gyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfY2hlY2tib3gpO1xuXG52YXIgX2ljb24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDgpO1xuXG52YXIgX2ljb24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaWNvbik7XG5cbnZhciBfcmVuZGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2MDgpO1xuXG52YXIgX3JlbmRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9yZW5kZXIpO1xuXG52YXIgX2NvbGxhcHNlVHJhbnNpdGlvbiA9IF9fd2VicGFja19yZXF1aXJlX18oNzUpO1xuXG52YXIgX2NvbGxhcHNlVHJhbnNpdGlvbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jb2xsYXBzZVRyYW5zaXRpb24pO1xuXG52YXIgX2VtaXR0ZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQpO1xuXG52YXIgX2VtaXR0ZXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZW1pdHRlcik7XG5cbnZhciBfYXNzaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtdHJlZSc7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnVHJlZU5vZGUnLFxuICAgIG1peGluczogW19lbWl0dGVyMi5kZWZhdWx0XSxcbiAgICBpbmplY3Q6IFsnVHJlZUluc3RhbmNlJ10sXG4gICAgY29tcG9uZW50czogeyBDaGVja2JveDogX2NoZWNrYm94Mi5kZWZhdWx0LCBJY29uOiBfaWNvbjIuZGVmYXVsdCwgQ29sbGFwc2VUcmFuc2l0aW9uOiBfY29sbGFwc2VUcmFuc2l0aW9uMi5kZWZhdWx0LCBSZW5kZXI6IF9yZW5kZXIyLmRlZmF1bHQgfSxcbiAgICBwcm9wczoge1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICB0eXBlOiBPYmplY3QsXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG11bHRpcGxlOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW5LZXk6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICdjaGlsZHJlbidcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd0NoZWNrYm94OiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgYXBwZWFyOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByZWZpeENsczogcHJlZml4Q2xzLFxuICAgICAgICAgICAgYXBwZWFyQnlDbGlja0Fycm93OiBmYWxzZSxcblxuICAgICAgICAgICAgbG9hZGluZ0NoaWxkcmVuU3RhdGU6IHRydWVcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgY2xhc3NlczogZnVuY3Rpb24gY2xhc3NlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy1jaGlsZHJlbiddO1xuICAgICAgICB9LFxuICAgICAgICBzZWxlY3RlZENsczogZnVuY3Rpb24gc2VsZWN0ZWRDbHMoKSB7XG4gICAgICAgICAgICByZXR1cm4gWygwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKHt9LCBwcmVmaXhDbHMgKyAnLW5vZGUtc2VsZWN0ZWQnLCB0aGlzLmRhdGEuc2VsZWN0ZWQpXTtcbiAgICAgICAgfSxcbiAgICAgICAgYXJyb3dDbGFzc2VzOiBmdW5jdGlvbiBhcnJvd0NsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjI7XG5cbiAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy1hcnJvdycsIChfcmVmMiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmMiwgcHJlZml4Q2xzICsgJy1hcnJvdy1kaXNhYmxlZCcsIHRoaXMuZGF0YS5kaXNhYmxlZCksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYyLCBwcmVmaXhDbHMgKyAnLWFycm93LW9wZW4nLCB0aGlzLmRhdGEuZXhwYW5kKSwgX3JlZjIpXTtcbiAgICAgICAgfSxcbiAgICAgICAgdGl0bGVDbGFzc2VzOiBmdW5jdGlvbiB0aXRsZUNsYXNzZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gW3ByZWZpeENscyArICctdGl0bGUnLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KSh7fSwgcHJlZml4Q2xzICsgJy10aXRsZS1zZWxlY3RlZCcsIHRoaXMuZGF0YS5zZWxlY3RlZCldO1xuICAgICAgICB9LFxuICAgICAgICBzaG93QXJyb3c6IGZ1bmN0aW9uIHNob3dBcnJvdygpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGFbdGhpcy5jaGlsZHJlbktleV0gJiYgdGhpcy5kYXRhW3RoaXMuY2hpbGRyZW5LZXldLmxlbmd0aCB8fCAnbG9hZGluZycgaW4gdGhpcy5kYXRhICYmICF0aGlzLmRhdGEubG9hZGluZyAmJiB0aGlzLmxvYWRpbmdDaGlsZHJlblN0YXRlO1xuICAgICAgICB9LFxuICAgICAgICBzaG93TG9hZGluZzogZnVuY3Rpb24gc2hvd0xvYWRpbmcoKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2xvYWRpbmcnIGluIHRoaXMuZGF0YSAmJiB0aGlzLmRhdGEubG9hZGluZztcbiAgICAgICAgfSxcbiAgICAgICAgaXNQYXJlbnRSZW5kZXI6IGZ1bmN0aW9uIGlzUGFyZW50UmVuZGVyKCkge1xuICAgICAgICAgICAgdmFyIFRyZWUgPSAoMCwgX2Fzc2lzdC5maW5kQ29tcG9uZW50VXB3YXJkKSh0aGlzLCAnVHJlZScpO1xuICAgICAgICAgICAgcmV0dXJuIFRyZWUgJiYgVHJlZS5yZW5kZXI7XG4gICAgICAgIH0sXG4gICAgICAgIHBhcmVudFJlbmRlcjogZnVuY3Rpb24gcGFyZW50UmVuZGVyKCkge1xuICAgICAgICAgICAgdmFyIFRyZWUgPSAoMCwgX2Fzc2lzdC5maW5kQ29tcG9uZW50VXB3YXJkKSh0aGlzLCAnVHJlZScpO1xuICAgICAgICAgICAgaWYgKFRyZWUgJiYgVHJlZS5yZW5kZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gVHJlZS5yZW5kZXI7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBub2RlOiBmdW5jdGlvbiBub2RlKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIFRyZWUgPSAoMCwgX2Fzc2lzdC5maW5kQ29tcG9uZW50VXB3YXJkKSh0aGlzLCAnVHJlZScpO1xuICAgICAgICAgICAgaWYgKFRyZWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW1RyZWUuZmxhdFN0YXRlLCBUcmVlLmZsYXRTdGF0ZS5maW5kKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5ub2RlS2V5ID09PSB0aGlzLmRhdGEubm9kZUtleTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjaGlsZHJlbjogZnVuY3Rpb24gY2hpbGRyZW4oKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRhW3RoaXMuY2hpbGRyZW5LZXldO1xuICAgICAgICB9LFxuICAgICAgICBhcnJvd1R5cGU6IGZ1bmN0aW9uIGFycm93VHlwZSgpIHtcbiAgICAgICAgICAgIHZhciB0eXBlID0gJ2lvcy1hcnJvdy1mb3J3YXJkJztcblxuICAgICAgICAgICAgaWYgKHRoaXMuJElWSUVXKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuJElWSUVXLnRyZWUuY3VzdG9tQXJyb3cpIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZSA9ICcnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy4kSVZJRVcudHJlZS5hcnJvdykge1xuICAgICAgICAgICAgICAgICAgICB0eXBlID0gdGhpcy4kSVZJRVcudHJlZS5hcnJvdztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHlwZTtcbiAgICAgICAgfSxcbiAgICAgICAgY3VzdG9tQXJyb3dUeXBlOiBmdW5jdGlvbiBjdXN0b21BcnJvd1R5cGUoKSB7XG4gICAgICAgICAgICB2YXIgdHlwZSA9ICcnO1xuXG4gICAgICAgICAgICBpZiAodGhpcy4kSVZJRVcpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy4kSVZJRVcudHJlZS5jdXN0b21BcnJvdykge1xuICAgICAgICAgICAgICAgICAgICB0eXBlID0gdGhpcy4kSVZJRVcudHJlZS5jdXN0b21BcnJvdztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHlwZTtcbiAgICAgICAgfSxcbiAgICAgICAgYXJyb3dTaXplOiBmdW5jdGlvbiBhcnJvd1NpemUoKSB7XG4gICAgICAgICAgICB2YXIgc2l6ZSA9ICcnO1xuXG4gICAgICAgICAgICBpZiAodGhpcy4kSVZJRVcpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy4kSVZJRVcudHJlZS5hcnJvd1NpemUpIHtcbiAgICAgICAgICAgICAgICAgICAgc2l6ZSA9IHRoaXMuJElWSUVXLnRyZWUuYXJyb3dTaXplO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzaXplO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGhhbmRsZUV4cGFuZDogZnVuY3Rpb24gaGFuZGxlRXhwYW5kKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICAgICAgICAgIHZhciBpdGVtID0gdGhpcy5kYXRhO1xuICAgICAgICAgICAgaWYgKGl0ZW0uZGlzYWJsZWQpIHJldHVybjtcblxuICAgICAgICAgICAgdGhpcy5hcHBlYXJCeUNsaWNrQXJyb3cgPSB0cnVlO1xuXG4gICAgICAgICAgICBpZiAoaXRlbVt0aGlzLmNoaWxkcmVuS2V5XS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICB2YXIgdHJlZSA9ICgwLCBfYXNzaXN0LmZpbmRDb21wb25lbnRVcHdhcmQpKHRoaXMsICdUcmVlJyk7XG4gICAgICAgICAgICAgICAgaWYgKHRyZWUgJiYgdHJlZS5sb2FkRGF0YSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLiRzZXQodGhpcy5kYXRhLCAnbG9hZGluZycsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB0cmVlLmxvYWREYXRhKGl0ZW0sIGZ1bmN0aW9uIChjaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczIpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRzZXQodGhpcy5kYXRhLCAnbG9hZGluZycsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRzZXQodGhpcy5kYXRhLCB0aGlzLmNoaWxkcmVuS2V5LCBjaGlsZHJlbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZUV4cGFuZCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ0NoaWxkcmVuU3RhdGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGl0ZW1bdGhpcy5jaGlsZHJlbktleV0gJiYgaXRlbVt0aGlzLmNoaWxkcmVuS2V5XS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRzZXQodGhpcy5kYXRhLCAnZXhwYW5kJywgIXRoaXMuZGF0YS5leHBhbmQpO1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2goJ1RyZWUnLCAndG9nZ2xlLWV4cGFuZCcsIHRoaXMuZGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVNlbGVjdDogZnVuY3Rpb24gaGFuZGxlU2VsZWN0KCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5kaXNhYmxlZCkgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKHRoaXMuVHJlZUluc3RhbmNlLnNob3dDaGVja2JveCAmJiB0aGlzLlRyZWVJbnN0YW5jZS5jaGVja0RpcmVjdGx5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVDaGVjaygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoKCdUcmVlJywgJ29uLXNlbGVjdGVkJywgdGhpcy5kYXRhLm5vZGVLZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVDaGVjazogZnVuY3Rpb24gaGFuZGxlQ2hlY2soKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhLmRpc2FibGVkKSByZXR1cm47XG4gICAgICAgICAgICB2YXIgY2hhbmdlcyA9IHtcbiAgICAgICAgICAgICAgICBjaGVja2VkOiAhdGhpcy5kYXRhLmNoZWNrZWQgJiYgIXRoaXMuZGF0YS5pbmRldGVybWluYXRlLFxuICAgICAgICAgICAgICAgIG5vZGVLZXk6IHRoaXMuZGF0YS5ub2RlS2V5XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5kaXNwYXRjaCgnVHJlZScsICdvbi1jaGVjaycsIGNoYW5nZXMpO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAyNDMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5Mik7XG5cbnZhciBfdXBsb2FkTGlzdCA9IF9fd2VicGFja19yZXF1aXJlX18oNjEzKTtcblxudmFyIF91cGxvYWRMaXN0MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3VwbG9hZExpc3QpO1xuXG52YXIgX2FqYXggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDYxNSk7XG5cbnZhciBfYWpheDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hamF4KTtcblxudmFyIF9hc3Npc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXG52YXIgX2VtaXR0ZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQpO1xuXG52YXIgX2VtaXR0ZXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZW1pdHRlcik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhDbHMgPSAnaXZ1LXVwbG9hZCc7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnVXBsb2FkJyxcbiAgICBtaXhpbnM6IFtfZW1pdHRlcjIuZGVmYXVsdF0sXG4gICAgY29tcG9uZW50czogeyBVcGxvYWRMaXN0OiBfdXBsb2FkTGlzdDIuZGVmYXVsdCB9LFxuICAgIHByb3BzOiB7XG4gICAgICAgIGFjdGlvbjoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgdHlwZTogT2JqZWN0LFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBtdWx0aXBsZToge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIHR5cGU6IE9iamVjdFxuICAgICAgICB9LFxuICAgICAgICBuYW1lOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiAnZmlsZSdcbiAgICAgICAgfSxcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd1VwbG9hZExpc3Q6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWydzZWxlY3QnLCAnZHJhZyddKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGRlZmF1bHQ6ICdzZWxlY3QnXG4gICAgICAgIH0sXG4gICAgICAgIGZvcm1hdDoge1xuICAgICAgICAgICAgdHlwZTogQXJyYXksXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGFjY2VwdDoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nXG4gICAgICAgIH0sXG4gICAgICAgIG1heFNpemU6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlclxuICAgICAgICB9LFxuICAgICAgICBiZWZvcmVVcGxvYWQ6IEZ1bmN0aW9uLFxuICAgICAgICBvblByb2dyZXNzOiB7XG4gICAgICAgICAgICB0eXBlOiBGdW5jdGlvbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb25TdWNjZXNzOiB7XG4gICAgICAgICAgICB0eXBlOiBGdW5jdGlvbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb25FcnJvcjoge1xuICAgICAgICAgICAgdHlwZTogRnVuY3Rpb24sXG4gICAgICAgICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG9uUmVtb3ZlOiB7XG4gICAgICAgICAgICB0eXBlOiBGdW5jdGlvbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb25QcmV2aWV3OiB7XG4gICAgICAgICAgICB0eXBlOiBGdW5jdGlvbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb25FeGNlZWRlZFNpemU6IHtcbiAgICAgICAgICAgIHR5cGU6IEZ1bmN0aW9uLFxuICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBvbkZvcm1hdEVycm9yOiB7XG4gICAgICAgICAgICB0eXBlOiBGdW5jdGlvbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZGVmYXVsdEZpbGVMaXN0OiB7XG4gICAgICAgICAgICB0eXBlOiBBcnJheSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgcGFzdGU6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBkaXNhYmxlZDoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVmaXhDbHM6IHByZWZpeENscyxcbiAgICAgICAgICAgIGRyYWdPdmVyOiBmYWxzZSxcbiAgICAgICAgICAgIGZpbGVMaXN0OiBbXSxcbiAgICAgICAgICAgIHRlbXBJbmRleDogMVxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWY7XG5cbiAgICAgICAgICAgIHJldHVybiBbJycgKyBwcmVmaXhDbHMsIChfcmVmID0ge30sICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctc2VsZWN0JywgdGhpcy50eXBlID09PSAnc2VsZWN0JyksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctZHJhZycsIHRoaXMudHlwZSA9PT0gJ2RyYWcnKSwgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoX3JlZiwgcHJlZml4Q2xzICsgJy1kcmFnT3ZlcicsIHRoaXMudHlwZSA9PT0gJ2RyYWcnICYmIHRoaXMuZHJhZ092ZXIpLCBfcmVmKV07XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgaGFuZGxlQ2xpY2s6IGZ1bmN0aW9uIGhhbmRsZUNsaWNrKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMuJHJlZnMuaW5wdXQuY2xpY2soKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlQ2hhbmdlOiBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZSkge1xuICAgICAgICAgICAgdmFyIGZpbGVzID0gZS50YXJnZXQuZmlsZXM7XG5cbiAgICAgICAgICAgIGlmICghZmlsZXMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnVwbG9hZEZpbGVzKGZpbGVzKTtcbiAgICAgICAgICAgIHRoaXMuJHJlZnMuaW5wdXQudmFsdWUgPSBudWxsO1xuICAgICAgICB9LFxuICAgICAgICBvbkRyb3A6IGZ1bmN0aW9uIG9uRHJvcChlKSB7XG4gICAgICAgICAgICB0aGlzLmRyYWdPdmVyID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgICAgICAgICAgdGhpcy51cGxvYWRGaWxlcyhlLmRhdGFUcmFuc2Zlci5maWxlcyk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVBhc3RlOiBmdW5jdGlvbiBoYW5kbGVQYXN0ZShlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKHRoaXMucGFzdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZEZpbGVzKGUuY2xpcGJvYXJkRGF0YS5maWxlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHVwbG9hZEZpbGVzOiBmdW5jdGlvbiB1cGxvYWRGaWxlcyhmaWxlcykge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIHBvc3RGaWxlcyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGZpbGVzKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5tdWx0aXBsZSkgcG9zdEZpbGVzID0gcG9zdEZpbGVzLnNsaWNlKDAsIDEpO1xuXG4gICAgICAgICAgICBpZiAocG9zdEZpbGVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuXG4gICAgICAgICAgICBwb3N0RmlsZXMuZm9yRWFjaChmdW5jdGlvbiAoZmlsZSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy51cGxvYWQoZmlsZSk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB9LFxuICAgICAgICB1cGxvYWQ6IGZ1bmN0aW9uIHVwbG9hZChmaWxlKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgICAgICAgaWYgKCF0aGlzLmJlZm9yZVVwbG9hZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnBvc3QoZmlsZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBiZWZvcmUgPSB0aGlzLmJlZm9yZVVwbG9hZChmaWxlKTtcbiAgICAgICAgICAgIGlmIChiZWZvcmUgJiYgYmVmb3JlLnRoZW4pIHtcbiAgICAgICAgICAgICAgICBiZWZvcmUudGhlbihmdW5jdGlvbiAocHJvY2Vzc2VkRmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMik7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChwcm9jZXNzZWRGaWxlKSA9PT0gJ1tvYmplY3QgRmlsZV0nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc3QocHJvY2Vzc2VkRmlsZSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc3QoZmlsZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcyksIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczIpO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGJlZm9yZSAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBvc3QoZmlsZSk7XG4gICAgICAgICAgICB9IGVsc2Uge31cbiAgICAgICAgfSxcbiAgICAgICAgcG9zdDogZnVuY3Rpb24gcG9zdChmaWxlKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMzID0gdGhpcztcblxuICAgICAgICAgICAgaWYgKHRoaXMuZm9ybWF0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHZhciBfZmlsZV9mb3JtYXQgPSBmaWxlLm5hbWUuc3BsaXQoJy4nKS5wb3AoKS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgIHZhciBjaGVja2VkID0gdGhpcy5mb3JtYXQuc29tZShmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09IF9maWxlX2Zvcm1hdDtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgIGlmICghY2hlY2tlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRm9ybWF0RXJyb3IoZmlsZSwgdGhpcy5maWxlTGlzdCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm1heFNpemUpIHtcbiAgICAgICAgICAgICAgICBpZiAoZmlsZS5zaXplID4gdGhpcy5tYXhTaXplICogMTAyNCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRXhjZWVkZWRTaXplKGZpbGUsIHRoaXMuZmlsZUxpc3QpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmhhbmRsZVN0YXJ0KGZpbGUpO1xuICAgICAgICAgICAgdmFyIGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQodGhpcy5uYW1lLCBmaWxlKTtcblxuICAgICAgICAgICAgKDAsIF9hamF4Mi5kZWZhdWx0KSh7XG4gICAgICAgICAgICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXJzLFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgZmlsZTogZmlsZSxcbiAgICAgICAgICAgICAgICBkYXRhOiB0aGlzLmRhdGEsXG4gICAgICAgICAgICAgICAgZmlsZW5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgICAgICAgICBhY3Rpb246IHRoaXMuYWN0aW9uLFxuICAgICAgICAgICAgICAgIG9uUHJvZ3Jlc3M6IGZ1bmN0aW9uIG9uUHJvZ3Jlc3MoZSkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzMyk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVQcm9ncmVzcyhlLCBmaWxlKTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcyksXG4gICAgICAgICAgICAgICAgb25TdWNjZXNzOiBmdW5jdGlvbiBvblN1Y2Nlc3MocmVzKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMzKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVN1Y2Nlc3MocmVzLCBmaWxlKTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcyksXG4gICAgICAgICAgICAgICAgb25FcnJvcjogZnVuY3Rpb24gb25FcnJvcihlcnIsIHJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMzKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVyciwgcmVzcG9uc2UsIGZpbGUpO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVN0YXJ0OiBmdW5jdGlvbiBoYW5kbGVTdGFydChmaWxlKSB7XG4gICAgICAgICAgICBmaWxlLnVpZCA9IERhdGUubm93KCkgKyB0aGlzLnRlbXBJbmRleCsrO1xuICAgICAgICAgICAgdmFyIF9maWxlID0ge1xuICAgICAgICAgICAgICAgIHN0YXR1czogJ3VwbG9hZGluZycsXG4gICAgICAgICAgICAgICAgbmFtZTogZmlsZS5uYW1lLFxuICAgICAgICAgICAgICAgIHNpemU6IGZpbGUuc2l6ZSxcbiAgICAgICAgICAgICAgICBwZXJjZW50YWdlOiAwLFxuICAgICAgICAgICAgICAgIHVpZDogZmlsZS51aWQsXG4gICAgICAgICAgICAgICAgc2hvd1Byb2dyZXNzOiB0cnVlXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB0aGlzLmZpbGVMaXN0LnB1c2goX2ZpbGUpO1xuICAgICAgICB9LFxuICAgICAgICBnZXRGaWxlOiBmdW5jdGlvbiBnZXRGaWxlKGZpbGUpIHtcbiAgICAgICAgICAgIHZhciBfdGhpczQgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgZmlsZUxpc3QgPSB0aGlzLmZpbGVMaXN0O1xuICAgICAgICAgICAgdmFyIHRhcmdldCA9IHZvaWQgMDtcbiAgICAgICAgICAgIGZpbGVMaXN0LmV2ZXJ5KGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczQpO1xuXG4gICAgICAgICAgICAgICAgdGFyZ2V0ID0gZmlsZS51aWQgPT09IGl0ZW0udWlkID8gaXRlbSA6IG51bGw7XG4gICAgICAgICAgICAgICAgcmV0dXJuICF0YXJnZXQ7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlUHJvZ3Jlc3M6IGZ1bmN0aW9uIGhhbmRsZVByb2dyZXNzKGUsIGZpbGUpIHtcbiAgICAgICAgICAgIHZhciBfZmlsZSA9IHRoaXMuZ2V0RmlsZShmaWxlKTtcbiAgICAgICAgICAgIHRoaXMub25Qcm9ncmVzcyhlLCBfZmlsZSwgdGhpcy5maWxlTGlzdCk7XG4gICAgICAgICAgICBfZmlsZS5wZXJjZW50YWdlID0gZS5wZXJjZW50IHx8IDA7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVN1Y2Nlc3M6IGZ1bmN0aW9uIGhhbmRsZVN1Y2Nlc3MocmVzLCBmaWxlKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXM1ID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIF9maWxlID0gdGhpcy5nZXRGaWxlKGZpbGUpO1xuXG4gICAgICAgICAgICBpZiAoX2ZpbGUpIHtcbiAgICAgICAgICAgICAgICBfZmlsZS5zdGF0dXMgPSAnZmluaXNoZWQnO1xuICAgICAgICAgICAgICAgIF9maWxlLnJlc3BvbnNlID0gcmVzO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5vblN1Y2Nlc3MocmVzLCBfZmlsZSwgdGhpcy5maWxlTGlzdCk7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwYXRjaCgnRm9ybUl0ZW0nLCAnb24tZm9ybS1jaGFuZ2UnLCBfZmlsZSk7XG5cbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczUpO1xuXG4gICAgICAgICAgICAgICAgICAgIF9maWxlLnNob3dQcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSwgMTAwMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUVycm9yOiBmdW5jdGlvbiBoYW5kbGVFcnJvcihlcnIsIHJlc3BvbnNlLCBmaWxlKSB7XG4gICAgICAgICAgICB2YXIgX2ZpbGUgPSB0aGlzLmdldEZpbGUoZmlsZSk7XG4gICAgICAgICAgICB2YXIgZmlsZUxpc3QgPSB0aGlzLmZpbGVMaXN0O1xuXG4gICAgICAgICAgICBfZmlsZS5zdGF0dXMgPSAnZmFpbCc7XG5cbiAgICAgICAgICAgIGZpbGVMaXN0LnNwbGljZShmaWxlTGlzdC5pbmRleE9mKF9maWxlKSwgMSk7XG5cbiAgICAgICAgICAgIHRoaXMub25FcnJvcihlcnIsIHJlc3BvbnNlLCBmaWxlKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlUmVtb3ZlOiBmdW5jdGlvbiBoYW5kbGVSZW1vdmUoZmlsZSkge1xuICAgICAgICAgICAgdmFyIGZpbGVMaXN0ID0gdGhpcy5maWxlTGlzdDtcbiAgICAgICAgICAgIGZpbGVMaXN0LnNwbGljZShmaWxlTGlzdC5pbmRleE9mKGZpbGUpLCAxKTtcbiAgICAgICAgICAgIHRoaXMub25SZW1vdmUoZmlsZSwgZmlsZUxpc3QpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVQcmV2aWV3OiBmdW5jdGlvbiBoYW5kbGVQcmV2aWV3KGZpbGUpIHtcbiAgICAgICAgICAgIGlmIChmaWxlLnN0YXR1cyA9PT0gJ2ZpbmlzaGVkJykge1xuICAgICAgICAgICAgICAgIHRoaXMub25QcmV2aWV3KGZpbGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjbGVhckZpbGVzOiBmdW5jdGlvbiBjbGVhckZpbGVzKCkge1xuICAgICAgICAgICAgdGhpcy5maWxlTGlzdCA9IFtdO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB3YXRjaDoge1xuICAgICAgICBkZWZhdWx0RmlsZUxpc3Q6IHtcbiAgICAgICAgICAgIGltbWVkaWF0ZTogdHJ1ZSxcbiAgICAgICAgICAgIGhhbmRsZXI6IGZ1bmN0aW9uIGhhbmRsZXIoZmlsZUxpc3QpIHtcbiAgICAgICAgICAgICAgICB2YXIgX3RoaXM2ID0gdGhpcztcblxuICAgICAgICAgICAgICAgIHRoaXMuZmlsZUxpc3QgPSBmaWxlTGlzdC5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpczYpO1xuXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uc3RhdHVzID0gJ2ZpbmlzaGVkJztcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5wZXJjZW50YWdlID0gMTAwO1xuICAgICAgICAgICAgICAgICAgICBpdGVtLnVpZCA9IERhdGUubm93KCkgKyB0aGlzLnRlbXBJbmRleCsrO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAyNDQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9pY29uID0gX193ZWJwYWNrX3JlcXVpcmVfXyg4KTtcblxudmFyIF9pY29uMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2ljb24pO1xuXG52YXIgX3Byb2dyZXNzID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMTIpO1xuXG52YXIgX3Byb2dyZXNzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3Byb2dyZXNzKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeENscyA9ICdpdnUtdXBsb2FkJztcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdVcGxvYWRMaXN0JyxcbiAgICBjb21wb25lbnRzOiB7IEljb246IF9pY29uMi5kZWZhdWx0LCBpUHJvZ3Jlc3M6IF9wcm9ncmVzczIuZGVmYXVsdCB9LFxuICAgIHByb3BzOiB7XG4gICAgICAgIGZpbGVzOiB7XG4gICAgICAgICAgICB0eXBlOiBBcnJheSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByZWZpeENsczogcHJlZml4Q2xzXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgZmlsZUNsczogZnVuY3Rpb24gZmlsZUNscyhmaWxlKSB7XG4gICAgICAgICAgICByZXR1cm4gW3ByZWZpeENscyArICctbGlzdC1maWxlJywgKDAsIF9kZWZpbmVQcm9wZXJ0eTMuZGVmYXVsdCkoe30sIHByZWZpeENscyArICctbGlzdC1maWxlLWZpbmlzaCcsIGZpbGUuc3RhdHVzID09PSAnZmluaXNoZWQnKV07XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZUNsaWNrOiBmdW5jdGlvbiBoYW5kbGVDbGljayhmaWxlKSB7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1maWxlLWNsaWNrJywgZmlsZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVByZXZpZXc6IGZ1bmN0aW9uIGhhbmRsZVByZXZpZXcoZmlsZSkge1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnb24tZmlsZS1wcmV2aWV3JywgZmlsZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZVJlbW92ZTogZnVuY3Rpb24gaGFuZGxlUmVtb3ZlKGZpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWZpbGUtcmVtb3ZlJywgZmlsZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGZvcm1hdDogZnVuY3Rpb24gZm9ybWF0KGZpbGUpIHtcbiAgICAgICAgICAgIHZhciBmb3JtYXQgPSBmaWxlLm5hbWUuc3BsaXQoJy4nKS5wb3AoKS50b0xvY2FsZUxvd2VyQ2FzZSgpIHx8ICcnO1xuICAgICAgICAgICAgdmFyIHR5cGUgPSAnaW9zLWRvY3VtZW50LW91dGxpbmUnO1xuXG4gICAgICAgICAgICBpZiAoWydnaWYnLCAnanBnJywgJ2pwZWcnLCAncG5nJywgJ2JtcCcsICd3ZWJwJ10uaW5kZXhPZihmb3JtYXQpID4gLTEpIHtcbiAgICAgICAgICAgICAgICB0eXBlID0gJ2lvcy1pbWFnZSc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoWydtcDQnLCAnbTN1OCcsICdybXZiJywgJ2F2aScsICdzd2YnLCAnM2dwJywgJ21rdicsICdmbHYnXS5pbmRleE9mKGZvcm1hdCkgPiAtMSkge1xuICAgICAgICAgICAgICAgIHR5cGUgPSAnaW9zLWZpbG0nO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKFsnbXAzJywgJ3dhdicsICd3bWEnLCAnb2dnJywgJ2FhYycsICdmbGFjJ10uaW5kZXhPZihmb3JtYXQpID4gLTEpIHtcbiAgICAgICAgICAgICAgICB0eXBlID0gJ2lvcy1tdXNpY2FsLW5vdGVzJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChbJ2RvYycsICd0eHQnLCAnZG9jeCcsICdwYWdlcycsICdlcHViJywgJ3BkZiddLmluZGV4T2YoZm9ybWF0KSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgdHlwZSA9ICdtZC1kb2N1bWVudCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoWydudW1iZXJzJywgJ2NzdicsICd4bHMnLCAneGxzeCddLmluZGV4T2YoZm9ybWF0KSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgdHlwZSA9ICdpb3Mtc3RhdHMnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKFsna2V5bm90ZScsICdwcHQnLCAncHB0eCddLmluZGV4T2YoZm9ybWF0KSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgdHlwZSA9ICdpb3MtdmlkZW9jYW0nO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdHlwZTtcbiAgICAgICAgfSxcbiAgICAgICAgcGFyc2VQZXJjZW50YWdlOiBmdW5jdGlvbiBwYXJzZVBlcmNlbnRhZ2UodmFsKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VJbnQodmFsLCAxMCk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDI0NSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9hc3Npc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1yb3cnO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ1JvdycsXG4gICAgcHJvcHM6IHtcbiAgICAgICAgdHlwZToge1xuICAgICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9hc3Npc3Qub25lT2YpKHZhbHVlLCBbJ2ZsZXgnXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGFsaWduOiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsndG9wJywgJ21pZGRsZScsICdib3R0b20nXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGp1c3RpZnk6IHtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWydzdGFydCcsICdlbmQnLCAnY2VudGVyJywgJ3NwYWNlLWFyb3VuZCcsICdzcGFjZS1iZXR3ZWVuJ10pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBndXR0ZXI6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIGRlZmF1bHQ6IDBcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lOiBTdHJpbmdcbiAgICB9LFxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIGNsYXNzZXM6IGZ1bmN0aW9uIGNsYXNzZXMoKSB7XG4gICAgICAgICAgICB2YXIgX3JlZjtcblxuICAgICAgICAgICAgcmV0dXJuIFsoX3JlZiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCAnJyArIHByZWZpeENscywgIXRoaXMudHlwZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctJyArIFN0cmluZyh0aGlzLnR5cGUpLCAhIXRoaXMudHlwZSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsIHByZWZpeENscyArICctJyArIFN0cmluZyh0aGlzLnR5cGUpICsgJy0nICsgU3RyaW5nKHRoaXMuYWxpZ24pLCAhIXRoaXMuYWxpZ24pLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLScgKyBTdHJpbmcodGhpcy50eXBlKSArICctJyArIFN0cmluZyh0aGlzLmp1c3RpZnkpLCAhIXRoaXMuanVzdGlmeSksICgwLCBfZGVmaW5lUHJvcGVydHkzLmRlZmF1bHQpKF9yZWYsICcnICsgU3RyaW5nKHRoaXMuY2xhc3NOYW1lKSwgISF0aGlzLmNsYXNzTmFtZSksIF9yZWYpXTtcbiAgICAgICAgfSxcbiAgICAgICAgc3R5bGVzOiBmdW5jdGlvbiBzdHlsZXMoKSB7XG4gICAgICAgICAgICB2YXIgc3R5bGUgPSB7fTtcbiAgICAgICAgICAgIGlmICh0aGlzLmd1dHRlciAhPT0gMCkge1xuICAgICAgICAgICAgICAgIHN0eWxlID0ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiB0aGlzLmd1dHRlciAvIC0yICsgJ3B4JyxcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6IHRoaXMuZ3V0dGVyIC8gLTIgKyAncHgnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIHVwZGF0ZUd1dHRlcjogZnVuY3Rpb24gdXBkYXRlR3V0dGVyKHZhbCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIENvbCA9ICgwLCBfYXNzaXN0LmZpbmRDb21wb25lbnREb3dud2FyZCkodGhpcywgJ2lDb2wnKTtcbiAgICAgICAgICAgIHZhciBDb2xzID0gKDAsIF9hc3Npc3QuZmluZEJyb3RoZXJzQ29tcG9uZW50cykoQ29sLCAnaUNvbCcsIGZhbHNlKTtcbiAgICAgICAgICAgIGlmIChDb2xzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIENvbHMuZm9yRWFjaChmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbCAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGQuZ3V0dGVyID0gdmFsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgd2F0Y2g6IHtcbiAgICAgICAgZ3V0dGVyOiBmdW5jdGlvbiBndXR0ZXIodmFsKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUd1dHRlcih2YWwpO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAyNDYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2tleXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI1KTtcblxudmFyIF9rZXlzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2tleXMpO1xuXG52YXIgX3R5cGVvZjIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM2KTtcblxudmFyIF90eXBlb2YzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdHlwZW9mMik7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmaW5lUHJvcGVydHkyKTtcblxudmFyIF9hc3Npc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1jb2wnO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ2lDb2wnLFxuICAgIHByb3BzOiB7XG4gICAgICAgIHNwYW46IFtOdW1iZXIsIFN0cmluZ10sXG4gICAgICAgIG9yZGVyOiBbTnVtYmVyLCBTdHJpbmddLFxuICAgICAgICBvZmZzZXQ6IFtOdW1iZXIsIFN0cmluZ10sXG4gICAgICAgIHB1c2g6IFtOdW1iZXIsIFN0cmluZ10sXG4gICAgICAgIHB1bGw6IFtOdW1iZXIsIFN0cmluZ10sXG4gICAgICAgIGNsYXNzTmFtZTogU3RyaW5nLFxuICAgICAgICB4czogW051bWJlciwgT2JqZWN0XSxcbiAgICAgICAgc206IFtOdW1iZXIsIE9iamVjdF0sXG4gICAgICAgIG1kOiBbTnVtYmVyLCBPYmplY3RdLFxuICAgICAgICBsZzogW051bWJlciwgT2JqZWN0XSxcbiAgICAgICAgeGw6IFtOdW1iZXIsIE9iamVjdF0sXG4gICAgICAgIHh4bDogW051bWJlciwgT2JqZWN0XVxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGd1dHRlcjogMFxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBjb21wdXRlZDoge1xuICAgICAgICBjbGFzc2VzOiBmdW5jdGlvbiBjbGFzc2VzKCkge1xuICAgICAgICAgICAgdmFyIF9yZWYsXG4gICAgICAgICAgICAgICAgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgY2xhc3NMaXN0ID0gWycnICsgcHJlZml4Q2xzLCAoX3JlZiA9IHt9LCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLXNwYW4tJyArIFN0cmluZyh0aGlzLnNwYW4pLCB0aGlzLnNwYW4pLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLW9yZGVyLScgKyBTdHJpbmcodGhpcy5vcmRlciksIHRoaXMub3JkZXIpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLW9mZnNldC0nICsgU3RyaW5nKHRoaXMub2Zmc2V0KSwgdGhpcy5vZmZzZXQpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLXB1c2gtJyArIFN0cmluZyh0aGlzLnB1c2gpLCB0aGlzLnB1c2gpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCBwcmVmaXhDbHMgKyAnLXB1bGwtJyArIFN0cmluZyh0aGlzLnB1bGwpLCB0aGlzLnB1bGwpLCAoMCwgX2RlZmluZVByb3BlcnR5My5kZWZhdWx0KShfcmVmLCAnJyArIFN0cmluZyh0aGlzLmNsYXNzTmFtZSksICEhdGhpcy5jbGFzc05hbWUpLCBfcmVmKV07XG5cbiAgICAgICAgICAgIFsneHMnLCAnc20nLCAnbWQnLCAnbGcnLCAneGwnLCAneHhsJ10uZm9yRWFjaChmdW5jdGlvbiAoc2l6ZSkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzW3NpemVdID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgICAgICBjbGFzc0xpc3QucHVzaChwcmVmaXhDbHMgKyAnLXNwYW4tJyArIFN0cmluZyhzaXplKSArICctJyArIFN0cmluZyh0aGlzW3NpemVdKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoMCwgX3R5cGVvZjMuZGVmYXVsdCkodGhpc1tzaXplXSkgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBwcm9wcyA9IHRoaXNbc2l6ZV07XG4gICAgICAgICAgICAgICAgICAgICgwLCBfa2V5czIuZGVmYXVsdCkocHJvcHMpLmZvckVhY2goZnVuY3Rpb24gKHByb3ApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc0xpc3QucHVzaChwcm9wICE9PSAnc3BhbicgPyBwcmVmaXhDbHMgKyAnLScgKyBTdHJpbmcoc2l6ZSkgKyAnLScgKyBTdHJpbmcocHJvcCkgKyAnLScgKyBTdHJpbmcocHJvcHNbcHJvcF0pIDogcHJlZml4Q2xzICsgJy1zcGFuLScgKyBTdHJpbmcoc2l6ZSkgKyAnLScgKyBTdHJpbmcocHJvcHNbcHJvcF0pKTtcbiAgICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuXG4gICAgICAgICAgICByZXR1cm4gY2xhc3NMaXN0O1xuICAgICAgICB9LFxuICAgICAgICBzdHlsZXM6IGZ1bmN0aW9uIHN0eWxlcygpIHtcbiAgICAgICAgICAgIHZhciBzdHlsZSA9IHt9O1xuICAgICAgICAgICAgaWYgKHRoaXMuZ3V0dGVyICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgc3R5bGUgPSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmdMZWZ0OiB0aGlzLmd1dHRlciAvIDIgKyAncHgnLFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nUmlnaHQ6IHRoaXMuZ3V0dGVyIC8gMiArICdweCdcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgdXBkYXRlR3V0dGVyOiBmdW5jdGlvbiB1cGRhdGVHdXR0ZXIoKSB7XG4gICAgICAgICAgICB2YXIgUm93ID0gKDAsIF9hc3Npc3QuZmluZENvbXBvbmVudFVwd2FyZCkodGhpcywgJ1JvdycpO1xuICAgICAgICAgICAgaWYgKFJvdykge1xuICAgICAgICAgICAgICAgIFJvdy51cGRhdGVHdXR0ZXIoUm93Lmd1dHRlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlR3V0dGVyKCk7XG4gICAgfSxcbiAgICBiZWZvcmVEZXN0cm95OiBmdW5jdGlvbiBiZWZvcmVEZXN0cm95KCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUd1dHRlcigpO1xuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMjQ3ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhDbHMgPSAnaXZ1LXNlbGVjdC1ncm91cCc7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnT3B0aW9uR3JvdXAnLFxuICAgIHByb3BzOiB7XG4gICAgICAgIGxhYmVsOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcHJlZml4Q2xzOiBwcmVmaXhDbHMsXG4gICAgICAgICAgICBoaWRkZW46IGZhbHNlIH07XG4gICAgfSxcblxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgcXVlcnlDaGFuZ2U6IGZ1bmN0aW9uIHF1ZXJ5Q2hhbmdlKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgdmFyIG9wdGlvbnMgPSB0aGlzLiRyZWZzLm9wdGlvbnMucXVlcnlTZWxlY3RvckFsbCgnLml2dS1zZWxlY3QtaXRlbScpO1xuICAgICAgICAgICAgICAgIHZhciBoYXNWaXNpYmxlT3B0aW9uID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zW2ldLnN0eWxlLmRpc3BsYXkgIT09ICdub25lJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGFzVmlzaWJsZU9wdGlvbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmhpZGRlbiA9ICFoYXNWaXNpYmxlT3B0aW9uO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHtcbiAgICAgICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICAgICAgdGhpcy4kb24oJ29uLXF1ZXJ5LWNoYW5nZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcblxuICAgICAgICAgICAgdGhpcy5xdWVyeUNoYW5nZSgpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiAyNDggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbnZhciBfa2V5cyA9IF9fd2VicGFja19yZXF1aXJlX18oMjUpO1xuXG52YXIgX2tleXMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfa2V5cyk7XG5cbnZhciBfZXh0ZW5kczIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMxKTtcblxudmFyIF9leHRlbmRzMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2V4dGVuZHMyKTtcblxudmFyIF9hZmZpeCA9IF9fd2VicGFja19yZXF1aXJlX18oMjU2KTtcblxudmFyIF9hZmZpeDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hZmZpeCk7XG5cbnZhciBfYWxlcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI2Mik7XG5cbnZhciBfYWxlcnQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfYWxlcnQpO1xuXG52YXIgX2FuY2hvciA9IF9fd2VicGFja19yZXF1aXJlX18oMjc0KTtcblxudmFyIF9hbmNob3IyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfYW5jaG9yKTtcblxudmFyIF9hbmNob3JMaW5rID0gX193ZWJwYWNrX3JlcXVpcmVfXygyNzcpO1xuXG52YXIgX2FuY2hvckxpbmsyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfYW5jaG9yTGluayk7XG5cbnZhciBfYXV0b0NvbXBsZXRlID0gX193ZWJwYWNrX3JlcXVpcmVfXygyODApO1xuXG52YXIgX2F1dG9Db21wbGV0ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hdXRvQ29tcGxldGUpO1xuXG52YXIgX2F2YXRhciA9IF9fd2VicGFja19yZXF1aXJlX18oMzI5KTtcblxudmFyIF9hdmF0YXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfYXZhdGFyKTtcblxudmFyIF9iYWNrVG9wID0gX193ZWJwYWNrX3JlcXVpcmVfXygzMzEpO1xuXG52YXIgX2JhY2tUb3AyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfYmFja1RvcCk7XG5cbnZhciBfYmFkZ2UgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMzNCk7XG5cbnZhciBfYmFkZ2UyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfYmFkZ2UpO1xuXG52YXIgX2JyZWFkY3J1bWIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMzNyk7XG5cbnZhciBfYnJlYWRjcnVtYjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9icmVhZGNydW1iKTtcblxudmFyIF9idXR0b24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM0Mik7XG5cbnZhciBfYnV0dG9uMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2J1dHRvbik7XG5cbnZhciBfY2FyZCA9IF9fd2VicGFja19yZXF1aXJlX18oMzQ2KTtcblxudmFyIF9jYXJkMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2NhcmQpO1xuXG52YXIgX2Nhcm91c2VsID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNDkpO1xuXG52YXIgX2Nhcm91c2VsMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2Nhcm91c2VsKTtcblxudmFyIF9jYXNjYWRlciA9IF9fd2VicGFja19yZXF1aXJlX18oMzU0KTtcblxudmFyIF9jYXNjYWRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jYXNjYWRlcik7XG5cbnZhciBfY2VsbCA9IF9fd2VicGFja19yZXF1aXJlX18oMzYxKTtcblxudmFyIF9jZWxsMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2NlbGwpO1xuXG52YXIgX2NoZWNrYm94ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNjgpO1xuXG52YXIgX2NoZWNrYm94MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2NoZWNrYm94KTtcblxudmFyIF9jaXJjbGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM3MSk7XG5cbnZhciBfY2lyY2xlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2NpcmNsZSk7XG5cbnZhciBfY29sbGFwc2UgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM3NCk7XG5cbnZhciBfY29sbGFwc2UyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfY29sbGFwc2UpO1xuXG52YXIgX2NvbG9yUGlja2VyID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNzkpO1xuXG52YXIgX2NvbG9yUGlja2VyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2NvbG9yUGlja2VyKTtcblxudmFyIF9jb250ZW50ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzOTApO1xuXG52YXIgX2NvbnRlbnQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfY29udGVudCk7XG5cbnZhciBfZGF0ZVBpY2tlciA9IF9fd2VicGFja19yZXF1aXJlX18oMzkyKTtcblxudmFyIF9kYXRlUGlja2VyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RhdGVQaWNrZXIpO1xuXG52YXIgX2RpdmlkZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQxMik7XG5cbnZhciBfZGl2aWRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kaXZpZGVyKTtcblxudmFyIF9kcmF3ZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQxNSk7XG5cbnZhciBfZHJhd2VyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RyYXdlcik7XG5cbnZhciBfZHJvcGRvd24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQxOCk7XG5cbnZhciBfZHJvcGRvd24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZHJvcGRvd24pO1xuXG52YXIgX2Zvb3RlciA9IF9fd2VicGFja19yZXF1aXJlX18oNDI1KTtcblxudmFyIF9mb290ZXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZm9vdGVyKTtcblxudmFyIF9mb3JtID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0MjcpO1xuXG52YXIgX2Zvcm0yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZm9ybSk7XG5cbnZhciBfaGVhZGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0NjQpO1xuXG52YXIgX2hlYWRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9oZWFkZXIpO1xuXG52YXIgX2ljb24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIwKTtcblxudmFyIF9pY29uMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2ljb24pO1xuXG52YXIgX2lucHV0ID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0NjYpO1xuXG52YXIgX2lucHV0MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2lucHV0KTtcblxudmFyIF9pbnB1dE51bWJlciA9IF9fd2VicGFja19yZXF1aXJlX18oNDY3KTtcblxudmFyIF9pbnB1dE51bWJlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pbnB1dE51bWJlcik7XG5cbnZhciBfc2Nyb2xsID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0NjkpO1xuXG52YXIgX3Njcm9sbDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zY3JvbGwpO1xuXG52YXIgX3NwbGl0ID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0ODApO1xuXG52YXIgX3NwbGl0MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3NwbGl0KTtcblxudmFyIF9sYXlvdXQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ4NSk7XG5cbnZhciBfbGF5b3V0MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2xheW91dCk7XG5cbnZhciBfbGlzdCA9IF9fd2VicGFja19yZXF1aXJlX18oNDg5KTtcblxudmFyIF9saXN0MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2xpc3QpO1xuXG52YXIgX2xvYWRpbmdCYXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ5Nik7XG5cbnZhciBfbG9hZGluZ0JhcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9sb2FkaW5nQmFyKTtcblxudmFyIF9tZW51ID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1MDApO1xuXG52YXIgX21lbnUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbWVudSk7XG5cbnZhciBfbWVzc2FnZSA9IF9fd2VicGFja19yZXF1aXJlX18oNTA5KTtcblxudmFyIF9tZXNzYWdlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX21lc3NhZ2UpO1xuXG52YXIgX21vZGFsID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1MTQpO1xuXG52YXIgX21vZGFsMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX21vZGFsKTtcblxudmFyIF9ub3RpY2UgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUxOCk7XG5cbnZhciBfbm90aWNlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25vdGljZSk7XG5cbnZhciBfcGFnZSA9IF9fd2VicGFja19yZXF1aXJlX18oNTE5KTtcblxudmFyIF9wYWdlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3BhZ2UpO1xuXG52YXIgX3BvcHRpcCA9IF9fd2VicGFja19yZXF1aXJlX18oNTI0KTtcblxudmFyIF9wb3B0aXAyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcG9wdGlwKTtcblxudmFyIF9wcm9ncmVzcyA9IF9fd2VicGFja19yZXF1aXJlX18oNTI2KTtcblxudmFyIF9wcm9ncmVzczIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9wcm9ncmVzcyk7XG5cbnZhciBfcmFkaW8gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUyOCk7XG5cbnZhciBfcmFkaW8yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcmFkaW8pO1xuXG52YXIgX3JhdGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUzMyk7XG5cbnZhciBfcmF0ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9yYXRlKTtcblxudmFyIF9zaWRlciA9IF9fd2VicGFja19yZXF1aXJlX18oNTM2KTtcblxudmFyIF9zaWRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zaWRlcik7XG5cbnZhciBfc2xpZGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1MzcpO1xuXG52YXIgX3NsaWRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zbGlkZXIpO1xuXG52YXIgX3NwaW4gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU1MSk7XG5cbnZhciBfc3BpbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zcGluKTtcblxudmFyIF9zdGVwcyA9IF9fd2VicGFja19yZXF1aXJlX18oNTUzKTtcblxudmFyIF9zdGVwczIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zdGVwcyk7XG5cbnZhciBfc3dpdGNoID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1NTgpO1xuXG52YXIgX3N3aXRjaDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zd2l0Y2gpO1xuXG52YXIgX3RhYmxlID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1NjEpO1xuXG52YXIgX3RhYmxlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RhYmxlKTtcblxudmFyIF90YWJzID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1NzcpO1xuXG52YXIgX3RhYnMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdGFicyk7XG5cbnZhciBfdGFnID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1ODIpO1xuXG52YXIgX3RhZzIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90YWcpO1xuXG52YXIgX3RpbWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU4NSk7XG5cbnZhciBfdGltZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90aW1lKTtcblxudmFyIF90aW1lbGluZSA9IF9fd2VicGFja19yZXF1aXJlX18oNTg5KTtcblxudmFyIF90aW1lbGluZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90aW1lbGluZSk7XG5cbnZhciBfdGltZVBpY2tlciA9IF9fd2VicGFja19yZXF1aXJlX18oNTk0KTtcblxudmFyIF90aW1lUGlja2VyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RpbWVQaWNrZXIpO1xuXG52YXIgX3Rvb2x0aXAgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU5Nik7XG5cbnZhciBfdG9vbHRpcDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90b29sdGlwKTtcblxudmFyIF90cmFuc2ZlciA9IF9fd2VicGFja19yZXF1aXJlX18oNTk3KTtcblxudmFyIF90cmFuc2ZlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90cmFuc2Zlcik7XG5cbnZhciBfdHJlZSA9IF9fd2VicGFja19yZXF1aXJlX18oNjA1KTtcblxudmFyIF90cmVlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RyZWUpO1xuXG52YXIgX3VwbG9hZCA9IF9fd2VicGFja19yZXF1aXJlX18oNjExKTtcblxudmFyIF91cGxvYWQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdXBsb2FkKTtcblxudmFyIF9ncmlkID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2MTcpO1xuXG52YXIgX3NlbGVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oNjIyKTtcblxudmFyIF9pbmRleCA9IF9fd2VicGFja19yZXF1aXJlX18oMTA4KTtcblxudmFyIF9pbmRleDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pbmRleCk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBjb21wb25lbnRzID0ge1xuICAgIEFmZml4OiBfYWZmaXgyLmRlZmF1bHQsXG4gICAgQWxlcnQ6IF9hbGVydDIuZGVmYXVsdCxcbiAgICBBbmNob3I6IF9hbmNob3IyLmRlZmF1bHQsXG4gICAgQW5jaG9yTGluazogX2FuY2hvckxpbmsyLmRlZmF1bHQsXG4gICAgQXV0b0NvbXBsZXRlOiBfYXV0b0NvbXBsZXRlMi5kZWZhdWx0LFxuICAgIEF2YXRhcjogX2F2YXRhcjIuZGVmYXVsdCxcbiAgICBCYWNrVG9wOiBfYmFja1RvcDIuZGVmYXVsdCxcbiAgICBCYWRnZTogX2JhZGdlMi5kZWZhdWx0LFxuICAgIEJyZWFkY3J1bWI6IF9icmVhZGNydW1iMi5kZWZhdWx0LFxuICAgIEJyZWFkY3J1bWJJdGVtOiBfYnJlYWRjcnVtYjIuZGVmYXVsdC5JdGVtLFxuICAgIEJ1dHRvbjogX2J1dHRvbjIuZGVmYXVsdCxcbiAgICBCdXR0b25Hcm91cDogX2J1dHRvbjIuZGVmYXVsdC5Hcm91cCxcbiAgICBDYXJkOiBfY2FyZDIuZGVmYXVsdCxcbiAgICBDYXJvdXNlbDogX2Nhcm91c2VsMi5kZWZhdWx0LFxuICAgIENhcm91c2VsSXRlbTogX2Nhcm91c2VsMi5kZWZhdWx0Lkl0ZW0sXG4gICAgQ2FzY2FkZXI6IF9jYXNjYWRlcjIuZGVmYXVsdCxcbiAgICBDZWxsOiBfY2VsbDIuZGVmYXVsdCxcbiAgICBDZWxsR3JvdXA6IF9jZWxsMi5kZWZhdWx0Lkdyb3VwLFxuICAgIENoZWNrYm94OiBfY2hlY2tib3gyLmRlZmF1bHQsXG4gICAgQ2hlY2tib3hHcm91cDogX2NoZWNrYm94Mi5kZWZhdWx0Lkdyb3VwLFxuICAgIENvbDogX2dyaWQuQ29sLFxuICAgIENvbGxhcHNlOiBfY29sbGFwc2UyLmRlZmF1bHQsXG4gICAgQ29sb3JQaWNrZXI6IF9jb2xvclBpY2tlcjIuZGVmYXVsdCxcbiAgICBDb250ZW50OiBfY29udGVudDIuZGVmYXVsdCxcbiAgICBEYXRlUGlja2VyOiBfZGF0ZVBpY2tlcjIuZGVmYXVsdCxcbiAgICBEaXZpZGVyOiBfZGl2aWRlcjIuZGVmYXVsdCxcbiAgICBEcmF3ZXI6IF9kcmF3ZXIyLmRlZmF1bHQsXG4gICAgRHJvcGRvd246IF9kcm9wZG93bjIuZGVmYXVsdCxcbiAgICBEcm9wZG93bkl0ZW06IF9kcm9wZG93bjIuZGVmYXVsdC5JdGVtLFxuICAgIERyb3Bkb3duTWVudTogX2Ryb3Bkb3duMi5kZWZhdWx0Lk1lbnUsXG4gICAgRm9vdGVyOiBfZm9vdGVyMi5kZWZhdWx0LFxuICAgIEZvcm06IF9mb3JtMi5kZWZhdWx0LFxuICAgIEZvcm1JdGVtOiBfZm9ybTIuZGVmYXVsdC5JdGVtLFxuICAgIEhlYWRlcjogX2hlYWRlcjIuZGVmYXVsdCxcbiAgICBJY29uOiBfaWNvbjIuZGVmYXVsdCxcbiAgICBJbnB1dDogX2lucHV0Mi5kZWZhdWx0LFxuICAgIElucHV0TnVtYmVyOiBfaW5wdXROdW1iZXIyLmRlZmF1bHQsXG4gICAgU2Nyb2xsOiBfc2Nyb2xsMi5kZWZhdWx0LFxuICAgIFNpZGVyOiBfc2lkZXIyLmRlZmF1bHQsXG4gICAgU3BsaXQ6IF9zcGxpdDIuZGVmYXVsdCxcbiAgICBTdWJtZW51OiBfbWVudTIuZGVmYXVsdC5TdWIsXG4gICAgTGF5b3V0OiBfbGF5b3V0Mi5kZWZhdWx0LFxuICAgIExpc3Q6IF9saXN0Mi5kZWZhdWx0LFxuICAgIExpc3RJdGVtOiBfbGlzdDIuZGVmYXVsdC5JdGVtLFxuICAgIExpc3RJdGVtTWV0YTogX2xpc3QyLmRlZmF1bHQuSXRlbS5NZXRhLFxuICAgIExvYWRpbmdCYXI6IF9sb2FkaW5nQmFyMi5kZWZhdWx0LFxuICAgIE1lbnU6IF9tZW51Mi5kZWZhdWx0LFxuICAgIE1lbnVHcm91cDogX21lbnUyLmRlZmF1bHQuR3JvdXAsXG4gICAgTWVudUl0ZW06IF9tZW51Mi5kZWZhdWx0Lkl0ZW0sXG4gICAgTWVzc2FnZTogX21lc3NhZ2UyLmRlZmF1bHQsXG4gICAgTW9kYWw6IF9tb2RhbDIuZGVmYXVsdCxcbiAgICBOb3RpY2U6IF9ub3RpY2UyLmRlZmF1bHQsXG4gICAgT3B0aW9uOiBfc2VsZWN0Lk9wdGlvbixcbiAgICBPcHRpb25Hcm91cDogX3NlbGVjdC5PcHRpb25Hcm91cCxcbiAgICBQYWdlOiBfcGFnZTIuZGVmYXVsdCxcbiAgICBQYW5lbDogX2NvbGxhcHNlMi5kZWZhdWx0LlBhbmVsLFxuICAgIFBvcHRpcDogX3BvcHRpcDIuZGVmYXVsdCxcbiAgICBQcm9ncmVzczogX3Byb2dyZXNzMi5kZWZhdWx0LFxuICAgIFJhZGlvOiBfcmFkaW8yLmRlZmF1bHQsXG4gICAgUmFkaW9Hcm91cDogX3JhZGlvMi5kZWZhdWx0Lkdyb3VwLFxuICAgIFJhdGU6IF9yYXRlMi5kZWZhdWx0LFxuICAgIFJvdzogX2dyaWQuUm93LFxuICAgIFNlbGVjdDogX3NlbGVjdC5TZWxlY3QsXG4gICAgU2xpZGVyOiBfc2xpZGVyMi5kZWZhdWx0LFxuICAgIFNwaW46IF9zcGluMi5kZWZhdWx0LFxuICAgIFN0ZXA6IF9zdGVwczIuZGVmYXVsdC5TdGVwLFxuICAgIFN0ZXBzOiBfc3RlcHMyLmRlZmF1bHQsXG4gICAgVGFibGU6IF90YWJsZTIuZGVmYXVsdCxcbiAgICBUYWJzOiBfdGFiczIuZGVmYXVsdCxcbiAgICBUYWJQYW5lOiBfdGFiczIuZGVmYXVsdC5QYW5lLFxuICAgIFRhZzogX3RhZzIuZGVmYXVsdCxcbiAgICBUaW1lOiBfdGltZTIuZGVmYXVsdCxcbiAgICBUaW1lbGluZTogX3RpbWVsaW5lMi5kZWZhdWx0LFxuICAgIFRpbWVsaW5lSXRlbTogX3RpbWVsaW5lMi5kZWZhdWx0Lkl0ZW0sXG4gICAgVGltZVBpY2tlcjogX3RpbWVQaWNrZXIyLmRlZmF1bHQsXG4gICAgVG9vbHRpcDogX3Rvb2x0aXAyLmRlZmF1bHQsXG4gICAgVHJhbnNmZXI6IF90cmFuc2ZlcjIuZGVmYXVsdCxcbiAgICBUcmVlOiBfdHJlZTIuZGVmYXVsdCxcbiAgICBVcGxvYWQ6IF91cGxvYWQyLmRlZmF1bHRcbn07XG5cbnZhciBpdmlldyA9ICgwLCBfZXh0ZW5kczMuZGVmYXVsdCkoe30sIGNvbXBvbmVudHMsIHtcbiAgICBpQnV0dG9uOiBfYnV0dG9uMi5kZWZhdWx0LFxuICAgIGlDaXJjbGU6IF9jaXJjbGUyLmRlZmF1bHQsXG4gICAgaUNvbDogX2dyaWQuQ29sLFxuICAgIGlDb250ZW50OiBfY29udGVudDIuZGVmYXVsdCxcbiAgICBpRm9ybTogX2Zvcm0yLmRlZmF1bHQsXG4gICAgaUZvb3RlcjogX2Zvb3RlcjIuZGVmYXVsdCxcbiAgICBpSGVhZGVyOiBfaGVhZGVyMi5kZWZhdWx0LFxuICAgIGlJbnB1dDogX2lucHV0Mi5kZWZhdWx0LFxuICAgIGlNZW51OiBfbWVudTIuZGVmYXVsdCxcbiAgICBpT3B0aW9uOiBfc2VsZWN0Lk9wdGlvbixcbiAgICBpUHJvZ3Jlc3M6IF9wcm9ncmVzczIuZGVmYXVsdCxcbiAgICBpU2VsZWN0OiBfc2VsZWN0LlNlbGVjdCxcbiAgICBpU3dpdGNoOiBfc3dpdGNoMi5kZWZhdWx0LFxuICAgIGlUYWJsZTogX3RhYmxlMi5kZWZhdWx0LFxuICAgIGlUaW1lOiBfdGltZTIuZGVmYXVsdFxufSk7XG5cbnZhciBpbnN0YWxsID0gZnVuY3Rpb24gaW5zdGFsbChWdWUpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgdmFyIG9wdHMgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuXG4gICAgaWYgKGluc3RhbGwuaW5zdGFsbGVkKSByZXR1cm47XG4gICAgX2luZGV4Mi5kZWZhdWx0LnVzZShvcHRzLmxvY2FsZSk7XG4gICAgX2luZGV4Mi5kZWZhdWx0LmkxOG4ob3B0cy5pMThuKTtcblxuICAgICgwLCBfa2V5czIuZGVmYXVsdCkoaXZpZXcpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICBWdWUuY29tcG9uZW50KGtleSwgaXZpZXdba2V5XSk7XG4gICAgfS5iaW5kKHRoaXMpKTtcblxuICAgIFZ1ZS5wcm90b3R5cGUuJElWSUVXID0ge1xuICAgICAgICBzaXplOiBvcHRzLnNpemUgfHwgJycsXG4gICAgICAgIHRyYW5zZmVyOiAndHJhbnNmZXInIGluIG9wdHMgPyBvcHRzLnRyYW5zZmVyIDogJycsXG4gICAgICAgIHNlbGVjdDoge1xuICAgICAgICAgICAgYXJyb3c6IG9wdHMuc2VsZWN0ID8gb3B0cy5zZWxlY3QuYXJyb3cgPyBvcHRzLnNlbGVjdC5hcnJvdyA6ICcnIDogJycsXG4gICAgICAgICAgICBjdXN0b21BcnJvdzogb3B0cy5zZWxlY3QgPyBvcHRzLnNlbGVjdC5jdXN0b21BcnJvdyA/IG9wdHMuc2VsZWN0LmN1c3RvbUFycm93IDogJycgOiAnJyxcbiAgICAgICAgICAgIGFycm93U2l6ZTogb3B0cy5zZWxlY3QgPyBvcHRzLnNlbGVjdC5hcnJvd1NpemUgPyBvcHRzLnNlbGVjdC5hcnJvd1NpemUgOiAnJyA6ICcnXG4gICAgICAgIH0sXG4gICAgICAgIGNlbGw6IHtcbiAgICAgICAgICAgIGFycm93OiBvcHRzLmNlbGwgPyBvcHRzLmNlbGwuYXJyb3cgPyBvcHRzLmNlbGwuYXJyb3cgOiAnJyA6ICcnLFxuICAgICAgICAgICAgY3VzdG9tQXJyb3c6IG9wdHMuY2VsbCA/IG9wdHMuY2VsbC5jdXN0b21BcnJvdyA/IG9wdHMuY2VsbC5jdXN0b21BcnJvdyA6ICcnIDogJycsXG4gICAgICAgICAgICBhcnJvd1NpemU6IG9wdHMuY2VsbCA/IG9wdHMuY2VsbC5hcnJvd1NpemUgPyBvcHRzLmNlbGwuYXJyb3dTaXplIDogJycgOiAnJ1xuICAgICAgICB9LFxuICAgICAgICBtZW51OiB7XG4gICAgICAgICAgICBhcnJvdzogb3B0cy5tZW51ID8gb3B0cy5tZW51LmFycm93ID8gb3B0cy5tZW51LmFycm93IDogJycgOiAnJyxcbiAgICAgICAgICAgIGN1c3RvbUFycm93OiBvcHRzLm1lbnUgPyBvcHRzLm1lbnUuY3VzdG9tQXJyb3cgPyBvcHRzLm1lbnUuY3VzdG9tQXJyb3cgOiAnJyA6ICcnLFxuICAgICAgICAgICAgYXJyb3dTaXplOiBvcHRzLm1lbnUgPyBvcHRzLm1lbnUuYXJyb3dTaXplID8gb3B0cy5tZW51LmFycm93U2l6ZSA6ICcnIDogJydcbiAgICAgICAgfSxcbiAgICAgICAgdHJlZToge1xuICAgICAgICAgICAgYXJyb3c6IG9wdHMudHJlZSA/IG9wdHMudHJlZS5hcnJvdyA/IG9wdHMudHJlZS5hcnJvdyA6ICcnIDogJycsXG4gICAgICAgICAgICBjdXN0b21BcnJvdzogb3B0cy50cmVlID8gb3B0cy50cmVlLmN1c3RvbUFycm93ID8gb3B0cy50cmVlLmN1c3RvbUFycm93IDogJycgOiAnJyxcbiAgICAgICAgICAgIGFycm93U2l6ZTogb3B0cy50cmVlID8gb3B0cy50cmVlLmFycm93U2l6ZSA/IG9wdHMudHJlZS5hcnJvd1NpemUgOiAnJyA6ICcnXG4gICAgICAgIH0sXG4gICAgICAgIGNhc2NhZGVyOiB7XG4gICAgICAgICAgICBhcnJvdzogb3B0cy5jYXNjYWRlciA/IG9wdHMuY2FzY2FkZXIuYXJyb3cgPyBvcHRzLmNhc2NhZGVyLmFycm93IDogJycgOiAnJyxcbiAgICAgICAgICAgIGN1c3RvbUFycm93OiBvcHRzLmNhc2NhZGVyID8gb3B0cy5jYXNjYWRlci5jdXN0b21BcnJvdyA/IG9wdHMuY2FzY2FkZXIuY3VzdG9tQXJyb3cgOiAnJyA6ICcnLFxuICAgICAgICAgICAgYXJyb3dTaXplOiBvcHRzLmNhc2NhZGVyID8gb3B0cy5jYXNjYWRlci5hcnJvd1NpemUgPyBvcHRzLmNhc2NhZGVyLmFycm93U2l6ZSA6ICcnIDogJycsXG4gICAgICAgICAgICBpdGVtQXJyb3c6IG9wdHMuY2FzY2FkZXIgPyBvcHRzLmNhc2NhZGVyLml0ZW1BcnJvdyA/IG9wdHMuY2FzY2FkZXIuaXRlbUFycm93IDogJycgOiAnJyxcbiAgICAgICAgICAgIGN1c3RvbUl0ZW1BcnJvdzogb3B0cy5jYXNjYWRlciA/IG9wdHMuY2FzY2FkZXIuY3VzdG9tSXRlbUFycm93ID8gb3B0cy5jYXNjYWRlci5jdXN0b21JdGVtQXJyb3cgOiAnJyA6ICcnLFxuICAgICAgICAgICAgaXRlbUFycm93U2l6ZTogb3B0cy5jYXNjYWRlciA/IG9wdHMuY2FzY2FkZXIuaXRlbUFycm93U2l6ZSA/IG9wdHMuY2FzY2FkZXIuaXRlbUFycm93U2l6ZSA6ICcnIDogJydcbiAgICAgICAgfSxcbiAgICAgICAgY29sb3JQaWNrZXI6IHtcbiAgICAgICAgICAgIGFycm93OiBvcHRzLmNvbG9yUGlja2VyID8gb3B0cy5jb2xvclBpY2tlci5hcnJvdyA/IG9wdHMuY29sb3JQaWNrZXIuYXJyb3cgOiAnJyA6ICcnLFxuICAgICAgICAgICAgY3VzdG9tQXJyb3c6IG9wdHMuY29sb3JQaWNrZXIgPyBvcHRzLmNvbG9yUGlja2VyLmN1c3RvbUFycm93ID8gb3B0cy5jb2xvclBpY2tlci5jdXN0b21BcnJvdyA6ICcnIDogJycsXG4gICAgICAgICAgICBhcnJvd1NpemU6IG9wdHMuY29sb3JQaWNrZXIgPyBvcHRzLmNvbG9yUGlja2VyLmFycm93U2l6ZSA/IG9wdHMuY29sb3JQaWNrZXIuYXJyb3dTaXplIDogJycgOiAnJ1xuICAgICAgICB9LFxuICAgICAgICBkYXRlUGlja2VyOiB7XG4gICAgICAgICAgICBpY29uOiBvcHRzLmRhdGVQaWNrZXIgPyBvcHRzLmRhdGVQaWNrZXIuaWNvbiA/IG9wdHMuZGF0ZVBpY2tlci5pY29uIDogJycgOiAnJyxcbiAgICAgICAgICAgIGN1c3RvbUljb246IG9wdHMuZGF0ZVBpY2tlciA/IG9wdHMuZGF0ZVBpY2tlci5jdXN0b21JY29uID8gb3B0cy5kYXRlUGlja2VyLmN1c3RvbUljb24gOiAnJyA6ICcnLFxuICAgICAgICAgICAgaWNvblNpemU6IG9wdHMuZGF0ZVBpY2tlciA/IG9wdHMuZGF0ZVBpY2tlci5pY29uU2l6ZSA/IG9wdHMuZGF0ZVBpY2tlci5pY29uU2l6ZSA6ICcnIDogJydcbiAgICAgICAgfSxcbiAgICAgICAgdGltZVBpY2tlcjoge1xuICAgICAgICAgICAgaWNvbjogb3B0cy50aW1lUGlja2VyID8gb3B0cy50aW1lUGlja2VyLmljb24gPyBvcHRzLnRpbWVQaWNrZXIuaWNvbiA6ICcnIDogJycsXG4gICAgICAgICAgICBjdXN0b21JY29uOiBvcHRzLnRpbWVQaWNrZXIgPyBvcHRzLnRpbWVQaWNrZXIuY3VzdG9tSWNvbiA/IG9wdHMudGltZVBpY2tlci5jdXN0b21JY29uIDogJycgOiAnJyxcbiAgICAgICAgICAgIGljb25TaXplOiBvcHRzLnRpbWVQaWNrZXIgPyBvcHRzLnRpbWVQaWNrZXIuaWNvblNpemUgPyBvcHRzLnRpbWVQaWNrZXIuaWNvblNpemUgOiAnJyA6ICcnXG4gICAgICAgIH0sXG4gICAgICAgIHRhYnM6IHtcbiAgICAgICAgICAgIGNsb3NlSWNvbjogb3B0cy50YWJzID8gb3B0cy50YWJzLmNsb3NlSWNvbiA/IG9wdHMudGFicy5jbG9zZUljb24gOiAnJyA6ICcnLFxuICAgICAgICAgICAgY3VzdG9tQ2xvc2VJY29uOiBvcHRzLnRhYnMgPyBvcHRzLnRhYnMuY3VzdG9tQ2xvc2VJY29uID8gb3B0cy50YWJzLmN1c3RvbUNsb3NlSWNvbiA6ICcnIDogJycsXG4gICAgICAgICAgICBjbG9zZUljb25TaXplOiBvcHRzLnRhYnMgPyBvcHRzLnRhYnMuY2xvc2VJY29uU2l6ZSA/IG9wdHMudGFicy5jbG9zZUljb25TaXplIDogJycgOiAnJ1xuICAgICAgICB9LFxuICAgICAgICBtb2RhbDoge1xuICAgICAgICAgICAgbWFza0Nsb3NhYmxlOiBvcHRzLm1vZGFsID8gJ21hc2tDbG9zYWJsZScgaW4gb3B0cy5tb2RhbCA/IG9wdHMubW9kYWwubWFza0Nsb3NhYmxlIDogJycgOiAnJ1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIFZ1ZS5wcm90b3R5cGUuJExvYWRpbmcgPSBfbG9hZGluZ0JhcjIuZGVmYXVsdDtcbiAgICBWdWUucHJvdG90eXBlLiRNZXNzYWdlID0gX21lc3NhZ2UyLmRlZmF1bHQ7XG4gICAgVnVlLnByb3RvdHlwZS4kTW9kYWwgPSBfbW9kYWwyLmRlZmF1bHQ7XG4gICAgVnVlLnByb3RvdHlwZS4kTm90aWNlID0gX25vdGljZTIuZGVmYXVsdDtcbiAgICBWdWUucHJvdG90eXBlLiRTcGluID0gX3NwaW4yLmRlZmF1bHQ7XG59O1xuXG5pZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LlZ1ZSkge1xuICAgIGluc3RhbGwod2luZG93LlZ1ZSk7XG59XG5cbnZhciBBUEkgPSAoMCwgX2V4dGVuZHMzLmRlZmF1bHQpKHtcbiAgICB2ZXJzaW9uOiAnMy41LjEnLFxuICAgIGxvY2FsZTogX2luZGV4Mi5kZWZhdWx0LnVzZSxcbiAgICBpMThuOiBfaW5kZXgyLmRlZmF1bHQuaTE4bixcbiAgICBpbnN0YWxsOiBpbnN0YWxsLFxuICAgIENpcmNsZTogX2NpcmNsZTIuZGVmYXVsdCxcbiAgICBTd2l0Y2g6IF9zd2l0Y2gyLmRlZmF1bHRcbn0sIGNvbXBvbmVudHMpO1xuXG5BUEkubGFuZyA9IGZ1bmN0aW9uIChjb2RlKSB7XG4gICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG5cbiAgICB2YXIgbGFuZ09iamVjdCA9IHdpbmRvd1snaXZpZXcvbG9jYWxlJ10uZGVmYXVsdDtcbiAgICBpZiAoY29kZSA9PT0gbGFuZ09iamVjdC5pLmxvY2FsZSkgX2luZGV4Mi5kZWZhdWx0LnVzZShsYW5nT2JqZWN0KTtlbHNlIGNvbnNvbGUubG9nKCdUaGUgJyArIFN0cmluZyhjb2RlKSArICcgbGFuZ3VhZ2UgcGFjayBpcyBub3QgbG9hZGVkLicpO1xufS5iaW5kKHVuZGVmaW5lZCk7XG5cbm1vZHVsZS5leHBvcnRzLmRlZmF1bHQgPSBtb2R1bGUuZXhwb3J0cyA9IEFQSTtcblxuLyoqKi8gfSksXG4vKiAyNDkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuX193ZWJwYWNrX3JlcXVpcmVfXygyNTApO1xubW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDYpLk9iamVjdC5rZXlzO1xuXG5cbi8qKiovIH0pLFxuLyogMjUwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbi8vIDE5LjEuMi4xNCBPYmplY3Qua2V5cyhPKVxudmFyIHRvT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzOSk7XG52YXIgJGtleXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQwKTtcblxuX193ZWJwYWNrX3JlcXVpcmVfXyg4NykoJ2tleXMnLCBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBmdW5jdGlvbiBrZXlzKGl0KSB7XG4gICAgcmV0dXJuICRrZXlzKHRvT2JqZWN0KGl0KSk7XG4gIH07XG59KTtcblxuXG4vKioqLyB9KSxcbi8qIDI1MSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG4vLyBmYWxzZSAtPiBBcnJheSNpbmRleE9mXG4vLyB0cnVlICAtPiBBcnJheSNpbmNsdWRlc1xudmFyIHRvSU9iamVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oMjkpO1xudmFyIHRvTGVuZ3RoID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2MCk7XG52YXIgdG9BYnNvbHV0ZUluZGV4ID0gX193ZWJwYWNrX3JlcXVpcmVfXygyNTIpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoSVNfSU5DTFVERVMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICgkdGhpcywgZWwsIGZyb21JbmRleCkge1xuICAgIHZhciBPID0gdG9JT2JqZWN0KCR0aGlzKTtcbiAgICB2YXIgbGVuZ3RoID0gdG9MZW5ndGgoTy5sZW5ndGgpO1xuICAgIHZhciBpbmRleCA9IHRvQWJzb2x1dGVJbmRleChmcm9tSW5kZXgsIGxlbmd0aCk7XG4gICAgdmFyIHZhbHVlO1xuICAgIC8vIEFycmF5I2luY2x1ZGVzIHVzZXMgU2FtZVZhbHVlWmVybyBlcXVhbGl0eSBhbGdvcml0aG1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gICAgaWYgKElTX0lOQ0xVREVTICYmIGVsICE9IGVsKSB3aGlsZSAobGVuZ3RoID4gaW5kZXgpIHtcbiAgICAgIHZhbHVlID0gT1tpbmRleCsrXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICAgIGlmICh2YWx1ZSAhPSB2YWx1ZSkgcmV0dXJuIHRydWU7XG4gICAgLy8gQXJyYXkjaW5kZXhPZiBpZ25vcmVzIGhvbGVzLCBBcnJheSNpbmNsdWRlcyAtIG5vdFxuICAgIH0gZWxzZSBmb3IgKDtsZW5ndGggPiBpbmRleDsgaW5kZXgrKykgaWYgKElTX0lOQ0xVREVTIHx8IGluZGV4IGluIE8pIHtcbiAgICAgIGlmIChPW2luZGV4XSA9PT0gZWwpIHJldHVybiBJU19JTkNMVURFUyB8fCBpbmRleCB8fCAwO1xuICAgIH0gcmV0dXJuICFJU19JTkNMVURFUyAmJiAtMTtcbiAgfTtcbn07XG5cblxuLyoqKi8gfSksXG4vKiAyNTIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxudmFyIHRvSW50ZWdlciA9IF9fd2VicGFja19yZXF1aXJlX18oNjEpO1xudmFyIG1heCA9IE1hdGgubWF4O1xudmFyIG1pbiA9IE1hdGgubWluO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaW5kZXgsIGxlbmd0aCkge1xuICBpbmRleCA9IHRvSW50ZWdlcihpbmRleCk7XG4gIHJldHVybiBpbmRleCA8IDAgPyBtYXgoaW5kZXggKyBsZW5ndGgsIDApIDogbWluKGluZGV4LCBsZW5ndGgpO1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDI1MyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5fX3dlYnBhY2tfcmVxdWlyZV9fKDI1NCk7XG5tb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oNikuT2JqZWN0LmFzc2lnbjtcblxuXG4vKioqLyB9KSxcbi8qIDI1NCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG4vLyAxOS4xLjMuMSBPYmplY3QuYXNzaWduKHRhcmdldCwgc291cmNlKVxudmFyICRleHBvcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEwKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYsICdPYmplY3QnLCB7IGFzc2lnbjogX193ZWJwYWNrX3JlcXVpcmVfXygyNTUpIH0pO1xuXG5cbi8qKiovIH0pLFxuLyogMjU1ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG4vLyAxOS4xLjIuMSBPYmplY3QuYXNzaWduKHRhcmdldCwgc291cmNlLCAuLi4pXG52YXIgZ2V0S2V5cyA9IF9fd2VicGFja19yZXF1aXJlX18oNDApO1xudmFyIGdPUFMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDY3KTtcbnZhciBwSUUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUwKTtcbnZhciB0b09iamVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oMzkpO1xudmFyIElPYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDg2KTtcbnZhciAkYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxuLy8gc2hvdWxkIHdvcmsgd2l0aCBzeW1ib2xzIGFuZCBzaG91bGQgaGF2ZSBkZXRlcm1pbmlzdGljIHByb3BlcnR5IG9yZGVyIChWOCBidWcpXG5tb2R1bGUuZXhwb3J0cyA9ICEkYXNzaWduIHx8IF9fd2VicGFja19yZXF1aXJlX18oMzApKGZ1bmN0aW9uICgpIHtcbiAgdmFyIEEgPSB7fTtcbiAgdmFyIEIgPSB7fTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gIHZhciBTID0gU3ltYm9sKCk7XG4gIHZhciBLID0gJ2FiY2RlZmdoaWprbG1ub3BxcnN0JztcbiAgQVtTXSA9IDc7XG4gIEsuc3BsaXQoJycpLmZvckVhY2goZnVuY3Rpb24gKGspIHsgQltrXSA9IGs7IH0pO1xuICByZXR1cm4gJGFzc2lnbih7fSwgQSlbU10gIT0gNyB8fCBPYmplY3Qua2V5cygkYXNzaWduKHt9LCBCKSkuam9pbignJykgIT0gSztcbn0pID8gZnVuY3Rpb24gYXNzaWduKHRhcmdldCwgc291cmNlKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgdmFyIFQgPSB0b09iamVjdCh0YXJnZXQpO1xuICB2YXIgYUxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gIHZhciBpbmRleCA9IDE7XG4gIHZhciBnZXRTeW1ib2xzID0gZ09QUy5mO1xuICB2YXIgaXNFbnVtID0gcElFLmY7XG4gIHdoaWxlIChhTGVuID4gaW5kZXgpIHtcbiAgICB2YXIgUyA9IElPYmplY3QoYXJndW1lbnRzW2luZGV4KytdKTtcbiAgICB2YXIga2V5cyA9IGdldFN5bWJvbHMgPyBnZXRLZXlzKFMpLmNvbmNhdChnZXRTeW1ib2xzKFMpKSA6IGdldEtleXMoUyk7XG4gICAgdmFyIGxlbmd0aCA9IGtleXMubGVuZ3RoO1xuICAgIHZhciBqID0gMDtcbiAgICB2YXIga2V5O1xuICAgIHdoaWxlIChsZW5ndGggPiBqKSBpZiAoaXNFbnVtLmNhbGwoUywga2V5ID0ga2V5c1tqKytdKSkgVFtrZXldID0gU1trZXldO1xuICB9IHJldHVybiBUO1xufSA6ICRhc3NpZ247XG5cblxuLyoqKi8gfSksXG4vKiAyNTYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9hZmZpeCA9IF9fd2VicGFja19yZXF1aXJlX18oMjU3KTtcblxudmFyIF9hZmZpeDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hZmZpeCk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IF9hZmZpeDIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiAyNTcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYWZmaXhfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDg5KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9hZmZpeF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2FmZml4X3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYWZmaXhfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2FmZml4X3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzViMjA0YjBjX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfYWZmaXhfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI2MSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNWIyMDRiMGNfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9hZmZpeF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzViMjA0YjBjX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfYWZmaXhfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYWZmaXhfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81YjIwNGIwY19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2FmZml4X3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81YjIwNGIwY19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2FmZml4X3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiAyNTggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxubW9kdWxlLmV4cG9ydHMgPSB7IFwiZGVmYXVsdFwiOiBfX3dlYnBhY2tfcmVxdWlyZV9fKDI1OSksIF9fZXNNb2R1bGU6IHRydWUgfTtcblxuLyoqKi8gfSksXG4vKiAyNTkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuX193ZWJwYWNrX3JlcXVpcmVfXygyNjApO1xudmFyICRPYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDYpLk9iamVjdDtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZGVmaW5lUHJvcGVydHkoaXQsIGtleSwgZGVzYykge1xuICByZXR1cm4gJE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpdCwga2V5LCBkZXNjKTtcbn07XG5cblxuLyoqKi8gfSksXG4vKiAyNjAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxudmFyICRleHBvcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEwKTtcbi8vIDE5LjEuMi40IC8gMTUuMi4zLjYgT2JqZWN0LmRlZmluZVByb3BlcnR5KE8sIFAsIEF0dHJpYnV0ZXMpXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqICFfX3dlYnBhY2tfcmVxdWlyZV9fKDIyKSwgJ09iamVjdCcsIHsgZGVmaW5lUHJvcGVydHk6IF9fd2VicGFja19yZXF1aXJlX18oMTgpLmYgfSk7XG5cblxuLyoqKi8gfSksXG4vKiAyNjEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCBbX2MoJ2RpdicsIHsgcmVmOiBcInBvaW50XCIsIGNsYXNzOiBfdm0uY2xhc3Nlcywgc3R5bGU6IF92bS5zdHlsZXMgfSwgW192bS5fdChcImRlZmF1bHRcIildLCAyKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBfdm0uc2xvdCwgZXhwcmVzc2lvbjogXCJzbG90XCIgfV0sIHN0eWxlOiBfdm0uc2xvdFN0eWxlIH0pXSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiAyNjIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9hbGVydCA9IF9fd2VicGFja19yZXF1aXJlX18oMjYzKTtcblxudmFyIF9hbGVydDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hbGVydCk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IF9hbGVydDIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiAyNjMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYWxlcnRfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDkwKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9hbGVydF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2FsZXJ0X3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYWxlcnRfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2FsZXJ0X3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzdlNTI5NWE4X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfYWxlcnRfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI3Myk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfN2U1Mjk1YThfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9hbGVydF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzdlNTI5NWE4X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfYWxlcnRfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYWxlcnRfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl83ZTUyOTVhOF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2FsZXJ0X3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl83ZTUyOTVhOF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2FsZXJ0X3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiAyNjQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdpJywgeyBjbGFzczogX3ZtLmNsYXNzZXMsIHN0eWxlOiBfdm0uc3R5bGVzLCBvbjogeyBcImNsaWNrXCI6IF92bS5oYW5kbGVDbGljayB9IH0pO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogMjY1ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbl9fd2VicGFja19yZXF1aXJlX18oNTEpO1xuX193ZWJwYWNrX3JlcXVpcmVfXyg0NSk7XG5tb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oMjcyKTtcblxuXG4vKioqLyB9KSxcbi8qIDI2NiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxudmFyIGFkZFRvVW5zY29wYWJsZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI2Nyk7XG52YXIgc3RlcCA9IF9fd2VicGFja19yZXF1aXJlX18oMjY4KTtcbnZhciBJdGVyYXRvcnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMyKTtcbnZhciB0b0lPYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI5KTtcblxuLy8gMjIuMS4zLjQgQXJyYXkucHJvdG90eXBlLmVudHJpZXMoKVxuLy8gMjIuMS4zLjEzIEFycmF5LnByb3RvdHlwZS5rZXlzKClcbi8vIDIyLjEuMy4yOSBBcnJheS5wcm90b3R5cGUudmFsdWVzKClcbi8vIDIyLjEuMy4zMCBBcnJheS5wcm90b3R5cGVbQEBpdGVyYXRvcl0oKVxubW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDkyKShBcnJheSwgJ0FycmF5JywgZnVuY3Rpb24gKGl0ZXJhdGVkLCBraW5kKSB7XG4gIHRoaXMuX3QgPSB0b0lPYmplY3QoaXRlcmF0ZWQpOyAvLyB0YXJnZXRcbiAgdGhpcy5faSA9IDA7ICAgICAgICAgICAgICAgICAgIC8vIG5leHQgaW5kZXhcbiAgdGhpcy5fayA9IGtpbmQ7ICAgICAgICAgICAgICAgIC8vIGtpbmRcbi8vIDIyLjEuNS4yLjEgJUFycmF5SXRlcmF0b3JQcm90b3R5cGUlLm5leHQoKVxufSwgZnVuY3Rpb24gKCkge1xuICB2YXIgTyA9IHRoaXMuX3Q7XG4gIHZhciBraW5kID0gdGhpcy5faztcbiAgdmFyIGluZGV4ID0gdGhpcy5faSsrO1xuICBpZiAoIU8gfHwgaW5kZXggPj0gTy5sZW5ndGgpIHtcbiAgICB0aGlzLl90ID0gdW5kZWZpbmVkO1xuICAgIHJldHVybiBzdGVwKDEpO1xuICB9XG4gIGlmIChraW5kID09ICdrZXlzJykgcmV0dXJuIHN0ZXAoMCwgaW5kZXgpO1xuICBpZiAoa2luZCA9PSAndmFsdWVzJykgcmV0dXJuIHN0ZXAoMCwgT1tpbmRleF0pO1xuICByZXR1cm4gc3RlcCgwLCBbaW5kZXgsIE9baW5kZXhdXSk7XG59LCAndmFsdWVzJyk7XG5cbi8vIGFyZ3VtZW50c0xpc3RbQEBpdGVyYXRvcl0gaXMgJUFycmF5UHJvdG9fdmFsdWVzJSAoOS40LjQuNiwgOS40LjQuNylcbkl0ZXJhdG9ycy5Bcmd1bWVudHMgPSBJdGVyYXRvcnMuQXJyYXk7XG5cbmFkZFRvVW5zY29wYWJsZXMoJ2tleXMnKTtcbmFkZFRvVW5zY29wYWJsZXMoJ3ZhbHVlcycpO1xuYWRkVG9VbnNjb3BhYmxlcygnZW50cmllcycpO1xuXG5cbi8qKiovIH0pLFxuLyogMjY3ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKCkgeyAvKiBlbXB0eSAqLyB9O1xuXG5cbi8qKiovIH0pLFxuLyogMjY4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGRvbmUsIHZhbHVlKSB7XG4gIHJldHVybiB7IHZhbHVlOiB2YWx1ZSwgZG9uZTogISFkb25lIH07XG59O1xuXG5cbi8qKiovIH0pLFxuLyogMjY5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG52YXIgY3JlYXRlID0gX193ZWJwYWNrX3JlcXVpcmVfXyg5NCk7XG52YXIgZGVzY3JpcHRvciA9IF9fd2VicGFja19yZXF1aXJlX18oNDMpO1xudmFyIHNldFRvU3RyaW5nVGFnID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1Myk7XG52YXIgSXRlcmF0b3JQcm90b3R5cGUgPSB7fTtcblxuLy8gMjUuMS4yLjEuMSAlSXRlcmF0b3JQcm90b3R5cGUlW0BAaXRlcmF0b3JdKClcbl9fd2VicGFja19yZXF1aXJlX18oMjcpKEl0ZXJhdG9yUHJvdG90eXBlLCBfX3dlYnBhY2tfcmVxdWlyZV9fKDExKSgnaXRlcmF0b3InKSwgZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBOQU1FLCBuZXh0KSB7XG4gIENvbnN0cnVjdG9yLnByb3RvdHlwZSA9IGNyZWF0ZShJdGVyYXRvclByb3RvdHlwZSwgeyBuZXh0OiBkZXNjcmlwdG9yKDEsIG5leHQpIH0pO1xuICBzZXRUb1N0cmluZ1RhZyhDb25zdHJ1Y3RvciwgTkFNRSArICcgSXRlcmF0b3InKTtcbn07XG5cblxuLyoqKi8gfSksXG4vKiAyNzAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxudmFyIGRQID0gX193ZWJwYWNrX3JlcXVpcmVfXygxOCk7XG52YXIgYW5PYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE5KTtcbnZhciBnZXRLZXlzID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0MCk7XG5cbm1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMikgPyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyA6IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXMoTywgUHJvcGVydGllcykge1xuICBhbk9iamVjdChPKTtcbiAgdmFyIGtleXMgPSBnZXRLZXlzKFByb3BlcnRpZXMpO1xuICB2YXIgbGVuZ3RoID0ga2V5cy5sZW5ndGg7XG4gIHZhciBpID0gMDtcbiAgdmFyIFA7XG4gIHdoaWxlIChsZW5ndGggPiBpKSBkUC5mKE8sIFAgPSBrZXlzW2krK10sIFByb3BlcnRpZXNbUF0pO1xuICByZXR1cm4gTztcbn07XG5cblxuLyoqKi8gfSksXG4vKiAyNzEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxudmFyIHRvSW50ZWdlciA9IF9fd2VicGFja19yZXF1aXJlX18oNjEpO1xudmFyIGRlZmluZWQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU5KTtcbi8vIHRydWUgIC0+IFN0cmluZyNhdFxuLy8gZmFsc2UgLT4gU3RyaW5nI2NvZGVQb2ludEF0XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChUT19TVFJJTkcpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICh0aGF0LCBwb3MpIHtcbiAgICB2YXIgcyA9IFN0cmluZyhkZWZpbmVkKHRoYXQpKTtcbiAgICB2YXIgaSA9IHRvSW50ZWdlcihwb3MpO1xuICAgIHZhciBsID0gcy5sZW5ndGg7XG4gICAgdmFyIGEsIGI7XG4gICAgaWYgKGkgPCAwIHx8IGkgPj0gbCkgcmV0dXJuIFRPX1NUUklORyA/ICcnIDogdW5kZWZpbmVkO1xuICAgIGEgPSBzLmNoYXJDb2RlQXQoaSk7XG4gICAgcmV0dXJuIGEgPCAweGQ4MDAgfHwgYSA+IDB4ZGJmZiB8fCBpICsgMSA9PT0gbCB8fCAoYiA9IHMuY2hhckNvZGVBdChpICsgMSkpIDwgMHhkYzAwIHx8IGIgPiAweGRmZmZcbiAgICAgID8gVE9fU1RSSU5HID8gcy5jaGFyQXQoaSkgOiBhXG4gICAgICA6IFRPX1NUUklORyA/IHMuc2xpY2UoaSwgaSArIDIpIDogKGEgLSAweGQ4MDAgPDwgMTApICsgKGIgLSAweGRjMDApICsgMHgxMDAwMDtcbiAgfTtcbn07XG5cblxuLyoqKi8gfSksXG4vKiAyNzIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxudmFyIGFuT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygxOSk7XG52YXIgZ2V0ID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2OCk7XG5tb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oNikuZ2V0SXRlcmF0b3IgPSBmdW5jdGlvbiAoaXQpIHtcbiAgdmFyIGl0ZXJGbiA9IGdldChpdCk7XG4gIGlmICh0eXBlb2YgaXRlckZuICE9ICdmdW5jdGlvbicpIHRocm93IFR5cGVFcnJvcihpdCArICcgaXMgbm90IGl0ZXJhYmxlIScpO1xuICByZXR1cm4gYW5PYmplY3QoaXRlckZuLmNhbGwoaXQpKTtcbn07XG5cblxuLyoqKi8gfSksXG4vKiAyNzMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCd0cmFuc2l0aW9uJywgeyBhdHRyczogeyBcIm5hbWVcIjogXCJmYWRlXCIgfSB9LCBbIV92bS5jbG9zZWQgPyBfYygnZGl2JywgeyBjbGFzczogX3ZtLndyYXBDbGFzc2VzIH0sIFtfdm0uc2hvd0ljb24gPyBfYygnc3BhbicsIHsgY2xhc3M6IF92bS5pY29uQ2xhc3NlcyB9LCBbX3ZtLl90KFwiaWNvblwiLCBbX2MoJ0ljb24nLCB7IGF0dHJzOiB7IFwidHlwZVwiOiBfdm0uaWNvblR5cGUgfSB9KV0pXSwgMikgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ3NwYW4nLCB7IGNsYXNzOiBfdm0ubWVzc2FnZUNsYXNzZXMgfSwgW192bS5fdChcImRlZmF1bHRcIildLCAyKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ3NwYW4nLCB7IGNsYXNzOiBfdm0uZGVzY0NsYXNzZXMgfSwgW192bS5fdChcImRlc2NcIildLCAyKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLmNsb3NhYmxlID8gX2MoJ2EnLCB7IGNsYXNzOiBfdm0uY2xvc2VDbGFzc2VzLCBvbjogeyBcImNsaWNrXCI6IF92bS5jbG9zZSB9IH0sIFtfdm0uX3QoXCJjbG9zZVwiLCBbX2MoJ0ljb24nLCB7IGF0dHJzOiB7IFwidHlwZVwiOiBcImlvcy1jbG9zZVwiIH0gfSldKV0sIDIpIDogX3ZtLl9lKCldKSA6IF92bS5fZSgpXSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiAyNzQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9hbmNob3IgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI3NSk7XG5cbnZhciBfYW5jaG9yMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2FuY2hvcik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IF9hbmNob3IyLmRlZmF1bHQ7XG5cbi8qKiovIH0pLFxuLyogMjc1ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2FuY2hvcl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oOTcpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2FuY2hvcl92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2FuY2hvcl92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2FuY2hvcl92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYW5jaG9yX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzEzYTVhNTRlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfYW5jaG9yX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyNzYpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzEzYTVhNTRlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfYW5jaG9yX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMTNhNWE1NGVfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9hbmNob3JfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYW5jaG9yX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMTNhNWE1NGVfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9hbmNob3JfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzEzYTVhNTRlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfYW5jaG9yX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiAyNzYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKF92bS53cmFwcGVyQ29tcG9uZW50LCB7IHRhZzogXCJjb21wb25lbnRcIiwgYXR0cnM6IHsgXCJvZmZzZXQtdG9wXCI6IF92bS5vZmZzZXRUb3AsIFwib2Zmc2V0LWJvdHRvbVwiOiBfdm0ub2Zmc2V0Qm90dG9tIH0sIG9uOiB7IFwib24tY2hhbmdlXCI6IF92bS5oYW5kbGVBZmZpeFN0YXRlQ2hhbmdlIH0gfSwgW19jKCdkaXYnLCB7IGNsYXNzOiBfdm0ucHJlZml4ICsgXCItd3JhcHBlclwiLCBzdHlsZTogX3ZtLndyYXBwZXJTdHlsZSB9LCBbX2MoJ2RpdicsIHsgY2xhc3M6IFwiXCIgKyBfdm0ucHJlZml4IH0sIFtfYygnZGl2JywgeyBjbGFzczogX3ZtLnByZWZpeCArIFwiLWlua1wiIH0sIFtfYygnc3BhbicsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBfdm0uc2hvd0luaywgZXhwcmVzc2lvbjogXCJzaG93SW5rXCIgfV0sIGNsYXNzOiBfdm0ucHJlZml4ICsgXCItaW5rLWJhbGxcIiwgc3R5bGU6IHsgdG9wOiBfdm0uaW5rVG9wICsgXCJweFwiIH0gfSldKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLl90KFwiZGVmYXVsdFwiKV0sIDIpXSldKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDI3NyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2FuY2hvckxpbmsgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI3OCk7XG5cbnZhciBfYW5jaG9yTGluazIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hbmNob3JMaW5rKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0gX2FuY2hvckxpbmsyLmRlZmF1bHQ7XG5cbi8qKiovIH0pLFxuLyogMjc4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2FuY2hvcl9saW5rX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg5OCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYW5jaG9yX2xpbmtfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9hbmNob3JfbGlua192dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2FuY2hvcl9saW5rX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9hbmNob3JfbGlua192dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9iOTQ0ZGVjOF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2FuY2hvcl9saW5rX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyNzkpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2I5NDRkZWM4X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfYW5jaG9yX2xpbmtfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9iOTQ0ZGVjOF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2FuY2hvcl9saW5rX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2FuY2hvcl9saW5rX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfYjk0NGRlYzhfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9hbmNob3JfbGlua192dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfYjk0NGRlYzhfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9hbmNob3JfbGlua192dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogMjc5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBjbGFzczogX3ZtLmFuY2hvckxpbmtDbGFzc2VzIH0sIFtfYygnYScsIHsgY2xhc3M6IF92bS5saW5rVGl0bGVDbGFzc2VzLCBhdHRyczogeyBcImhyZWZcIjogX3ZtLmhyZWYsIFwiZGF0YS1zY3JvbGwtb2Zmc2V0XCI6IF92bS5zY3JvbGxPZmZzZXQsIFwiZGF0YS1ocmVmXCI6IF92bS5ocmVmLCBcInRpdGxlXCI6IF92bS50aXRsZSB9LCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtyZXR1cm4gX3ZtLmdvQW5jaG9yKCRldmVudCk7XG4gICAgICB9IH0gfSwgW192bS5fdihfdm0uX3MoX3ZtLnRpdGxlKSldKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLl90KFwiZGVmYXVsdFwiKV0sIDIpO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogMjgwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfYXV0b0NvbXBsZXRlID0gX193ZWJwYWNrX3JlcXVpcmVfXygyODEpO1xuXG52YXIgX2F1dG9Db21wbGV0ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hdXRvQ29tcGxldGUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSBfYXV0b0NvbXBsZXRlMi5kZWZhdWx0O1xuXG4vKioqLyB9KSxcbi8qIDI4MSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9hdXRvX2NvbXBsZXRlX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg5OSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYXV0b19jb21wbGV0ZV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2F1dG9fY29tcGxldGVfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9hdXRvX2NvbXBsZXRlX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9hdXRvX2NvbXBsZXRlX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzVkYzgxYTAwX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfYXV0b19jb21wbGV0ZV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMzI4KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81ZGM4MWEwMF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2F1dG9fY29tcGxldGVfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81ZGM4MWEwMF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2F1dG9fY29tcGxldGVfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYXV0b19jb21wbGV0ZV92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzVkYzgxYTAwX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfYXV0b19jb21wbGV0ZV92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNWRjODFhMDBfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9hdXRvX2NvbXBsZXRlX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiAyODIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxubW9kdWxlLmV4cG9ydHMgPSB7IFwiZGVmYXVsdFwiOiBfX3dlYnBhY2tfcmVxdWlyZV9fKDI4MyksIF9fZXNNb2R1bGU6IHRydWUgfTtcblxuLyoqKi8gfSksXG4vKiAyODMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuX193ZWJwYWNrX3JlcXVpcmVfXyg1MSk7XG5fX3dlYnBhY2tfcmVxdWlyZV9fKDQ1KTtcbm1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygyODQpO1xuXG5cbi8qKiovIH0pLFxuLyogMjg0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbnZhciBjbGFzc29mID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2OSk7XG52YXIgSVRFUkFUT1IgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDExKSgnaXRlcmF0b3InKTtcbnZhciBJdGVyYXRvcnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMyKTtcbm1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2KS5pc0l0ZXJhYmxlID0gZnVuY3Rpb24gKGl0KSB7XG4gIHZhciBPID0gT2JqZWN0KGl0KTtcbiAgcmV0dXJuIE9bSVRFUkFUT1JdICE9PSB1bmRlZmluZWRcbiAgICB8fCAnQEBpdGVyYXRvcicgaW4gT1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b3R5cGUtYnVpbHRpbnNcbiAgICB8fCBJdGVyYXRvcnMuaGFzT3duUHJvcGVydHkoY2xhc3NvZihPKSk7XG59O1xuXG5cbi8qKiovIH0pLFxuLyogMjg1ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbl9fd2VicGFja19yZXF1aXJlX18oMjg2KTtcbm1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2KS5OdW1iZXIuaXNGaW5pdGU7XG5cblxuLyoqKi8gfSksXG4vKiAyODYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuLy8gMjAuMS4yLjIgTnVtYmVyLmlzRmluaXRlKG51bWJlcilcbnZhciAkZXhwb3J0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMCk7XG52YXIgX2lzRmluaXRlID0gX193ZWJwYWNrX3JlcXVpcmVfXyg5KS5pc0Zpbml0ZTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdOdW1iZXInLCB7XG4gIGlzRmluaXRlOiBmdW5jdGlvbiBpc0Zpbml0ZShpdCkge1xuICAgIHJldHVybiB0eXBlb2YgaXQgPT0gJ251bWJlcicgJiYgX2lzRmluaXRlKGl0KTtcbiAgfVxufSk7XG5cblxuLyoqKi8gfSksXG4vKiAyODcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxudmFyIGNvcmUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDYpO1xudmFyICRKU09OID0gY29yZS5KU09OIHx8IChjb3JlLkpTT04gPSB7IHN0cmluZ2lmeTogSlNPTi5zdHJpbmdpZnkgfSk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHN0cmluZ2lmeShpdCkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXG4gIHJldHVybiAkSlNPTi5zdHJpbmdpZnkuYXBwbHkoJEpTT04sIGFyZ3VtZW50cyk7XG59O1xuXG5cbi8qKiovIH0pLFxuLyogMjg4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbl9fd2VicGFja19yZXF1aXJlX18oNDUpO1xuX193ZWJwYWNrX3JlcXVpcmVfXygyODkpO1xubW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDYpLkFycmF5LmZyb207XG5cblxuLyoqKi8gfSksXG4vKiAyODkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBjdHggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQyKTtcbnZhciAkZXhwb3J0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMCk7XG52YXIgdG9PYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM5KTtcbnZhciBjYWxsID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMDIpO1xudmFyIGlzQXJyYXlJdGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMDMpO1xudmFyIHRvTGVuZ3RoID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2MCk7XG52YXIgY3JlYXRlUHJvcGVydHkgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI5MCk7XG52YXIgZ2V0SXRlckZuID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2OCk7XG5cbiRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogIV9fd2VicGFja19yZXF1aXJlX18oMTA0KShmdW5jdGlvbiAoaXRlcikgeyBBcnJheS5mcm9tKGl0ZXIpOyB9KSwgJ0FycmF5Jywge1xuICAvLyAyMi4xLjIuMSBBcnJheS5mcm9tKGFycmF5TGlrZSwgbWFwZm4gPSB1bmRlZmluZWQsIHRoaXNBcmcgPSB1bmRlZmluZWQpXG4gIGZyb206IGZ1bmN0aW9uIGZyb20oYXJyYXlMaWtlIC8qICwgbWFwZm4gPSB1bmRlZmluZWQsIHRoaXNBcmcgPSB1bmRlZmluZWQgKi8pIHtcbiAgICB2YXIgTyA9IHRvT2JqZWN0KGFycmF5TGlrZSk7XG4gICAgdmFyIEMgPSB0eXBlb2YgdGhpcyA9PSAnZnVuY3Rpb24nID8gdGhpcyA6IEFycmF5O1xuICAgIHZhciBhTGVuID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgICB2YXIgbWFwZm4gPSBhTGVuID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZDtcbiAgICB2YXIgbWFwcGluZyA9IG1hcGZuICE9PSB1bmRlZmluZWQ7XG4gICAgdmFyIGluZGV4ID0gMDtcbiAgICB2YXIgaXRlckZuID0gZ2V0SXRlckZuKE8pO1xuICAgIHZhciBsZW5ndGgsIHJlc3VsdCwgc3RlcCwgaXRlcmF0b3I7XG4gICAgaWYgKG1hcHBpbmcpIG1hcGZuID0gY3R4KG1hcGZuLCBhTGVuID4gMiA/IGFyZ3VtZW50c1syXSA6IHVuZGVmaW5lZCwgMik7XG4gICAgLy8gaWYgb2JqZWN0IGlzbid0IGl0ZXJhYmxlIG9yIGl0J3MgYXJyYXkgd2l0aCBkZWZhdWx0IGl0ZXJhdG9yIC0gdXNlIHNpbXBsZSBjYXNlXG4gICAgaWYgKGl0ZXJGbiAhPSB1bmRlZmluZWQgJiYgIShDID09IEFycmF5ICYmIGlzQXJyYXlJdGVyKGl0ZXJGbikpKSB7XG4gICAgICBmb3IgKGl0ZXJhdG9yID0gaXRlckZuLmNhbGwoTyksIHJlc3VsdCA9IG5ldyBDKCk7ICEoc3RlcCA9IGl0ZXJhdG9yLm5leHQoKSkuZG9uZTsgaW5kZXgrKykge1xuICAgICAgICBjcmVhdGVQcm9wZXJ0eShyZXN1bHQsIGluZGV4LCBtYXBwaW5nID8gY2FsbChpdGVyYXRvciwgbWFwZm4sIFtzdGVwLnZhbHVlLCBpbmRleF0sIHRydWUpIDogc3RlcC52YWx1ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGxlbmd0aCA9IHRvTGVuZ3RoKE8ubGVuZ3RoKTtcbiAgICAgIGZvciAocmVzdWx0ID0gbmV3IEMobGVuZ3RoKTsgbGVuZ3RoID4gaW5kZXg7IGluZGV4KyspIHtcbiAgICAgICAgY3JlYXRlUHJvcGVydHkocmVzdWx0LCBpbmRleCwgbWFwcGluZyA/IG1hcGZuKE9baW5kZXhdLCBpbmRleCkgOiBPW2luZGV4XSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJlc3VsdC5sZW5ndGggPSBpbmRleDtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59KTtcblxuXG4vKioqLyB9KSxcbi8qIDI5MCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxudmFyICRkZWZpbmVQcm9wZXJ0eSA9IF9fd2VicGFja19yZXF1aXJlX18oMTgpO1xudmFyIGNyZWF0ZURlc2MgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQzKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAob2JqZWN0LCBpbmRleCwgdmFsdWUpIHtcbiAgaWYgKGluZGV4IGluIG9iamVjdCkgJGRlZmluZVByb3BlcnR5LmYob2JqZWN0LCBpbmRleCwgY3JlYXRlRGVzYygwLCB2YWx1ZSkpO1xuICBlbHNlIG9iamVjdFtpbmRleF0gPSB2YWx1ZTtcbn07XG5cblxuLyoqKi8gfSksXG4vKiAyOTEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IHN0YXRpY0NsYXNzOiBcIml2dS1zZWxlY3QtZHJvcGRvd25cIiwgY2xhc3M6IF92bS5jbGFzc05hbWUsIHN0eWxlOiBfdm0uc3R5bGVzIH0sIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwgMik7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiAyOTIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxubW9kdWxlLmV4cG9ydHMgPSB7XCJfZnJvbVwiOlwidi1jbGljay1vdXRzaWRlLXhAXjQuMC4xOVwiLFwiX2lkXCI6XCJ2LWNsaWNrLW91dHNpZGUteEA0LjAuMTlcIixcIl9pbkJ1bmRsZVwiOmZhbHNlLFwiX2ludGVncml0eVwiOlwic2hhNTEyLVFZMlhoTEpXREN5cEpLSnorRmZ0dnBZYTFuenE3bXpVUDc1Nkg3dWN1ODljLzhSeDFhb2c5Z09oUEV3REsxNkEreTNMR3ZQdUFZU2NLcjYvN3hoMThRPT1cIixcIl9sb2NhdGlvblwiOlwiL3YtY2xpY2stb3V0c2lkZS14XCIsXCJfcGhhbnRvbUNoaWxkcmVuXCI6e30sXCJfcmVxdWVzdGVkXCI6e1widHlwZVwiOlwicmFuZ2VcIixcInJlZ2lzdHJ5XCI6dHJ1ZSxcInJhd1wiOlwidi1jbGljay1vdXRzaWRlLXhAXjQuMC4xOVwiLFwibmFtZVwiOlwidi1jbGljay1vdXRzaWRlLXhcIixcImVzY2FwZWROYW1lXCI6XCJ2LWNsaWNrLW91dHNpZGUteFwiLFwicmF3U3BlY1wiOlwiXjQuMC4xOVwiLFwic2F2ZVNwZWNcIjpudWxsLFwiZmV0Y2hTcGVjXCI6XCJeNC4wLjE5XCJ9LFwiX3JlcXVpcmVkQnlcIjpbXCIvXCJdLFwiX3Jlc29sdmVkXCI6XCJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy92LWNsaWNrLW91dHNpZGUteC8tL3YtY2xpY2stb3V0c2lkZS14LTQuMC4xOS50Z3pcIixcIl9zaGFzdW1cIjpcIjYzZmMyZTY4ZTk5YjM0ODZmZGU0MjA5NDM1YWMwZWQzYjY3ZGEzZmNcIixcIl9zcGVjXCI6XCJ2LWNsaWNrLW91dHNpZGUteEBeNC4wLjE5XCIsXCJfd2hlcmVcIjpcIi9Vc2Vycy9kdWFubW8vdGFsa2luZ0RhdGEvZ2l0aHViL2l2aWV3XCIsXCJhdXRob3JcIjp7XCJuYW1lXCI6XCJHcmFoYW0gRmFpcndlYXRoZXJcIixcImVtYWlsXCI6XCJ4b3RpYzc1MEBnbWFpbC5jb21cIn0sXCJicm93c2Vyc2xpc3RcIjpbXCI+IDElXCIsXCJFeHBsb3JlciA+PSA5XCJdLFwiYnVnc1wiOntcInVybFwiOlwiaHR0cHM6Ly9naXRodWIuY29tL1hvdGljNzUwL3YtY2xpY2stb3V0c2lkZS14L2lzc3Vlc1wifSxcImJ1bmRsZURlcGVuZGVuY2llc1wiOmZhbHNlLFwiY29weXJpZ2h0XCI6XCJDb3B5cmlnaHQgKGMpIDIwMTgtcHJlc2VudFwiLFwiZGVwZW5kZW5jaWVzXCI6e30sXCJkZXByZWNhdGVkXCI6ZmFsc2UsXCJkZXNjcmlwdGlvblwiOlwiVnVlIGRpcmVjdGl2ZSB0byByZWFjdCBvbiBjbGlja3Mgb3V0c2lkZSBhbiBlbGVtZW50LlwiLFwiZGV2RGVwZW5kZW5jaWVzXCI6e1wiQGJhYmVsL2NsaVwiOlwiXjcuNS41XCIsXCJAYmFiZWwvY29yZVwiOlwiXjcuNS41XCIsXCJAYmFiZWwvbm9kZVwiOlwiXjcuNS41XCIsXCJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1wcm9wZXJ0eS1tdXRhdG9yc1wiOlwiXjcuMi4wXCIsXCJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1ydW50aW1lXCI6XCJeNy41LjVcIixcIkBiYWJlbC9wcmVzZXQtZW52XCI6XCJeNy41LjVcIixcIkBiYWJlbC9ydW50aW1lXCI6XCJeNy41LjVcIixcIkB0eXBlcy9qZXN0XCI6XCJeMjQuMC4xOFwiLFwiQHR5cGVzL25vZGVcIjpcIl4xMi43LjJcIixcIkB0eXBlcy93ZWJwYWNrXCI6XCJeNC4zOS4xXCIsXCJAdHlwZXNjcmlwdC1lc2xpbnQvZXNsaW50LXBsdWdpblwiOlwiXjIuMC4wXCIsXCJAdHlwZXNjcmlwdC1lc2xpbnQvcGFyc2VyXCI6XCJeMi4wLjBcIixcIkB4b3RpYzc1MC9lc2xpbnQtY29uZmlnLXJlY29tbWVuZGVkXCI6XCJeMS4xLjhcIixcImJhYmVsLWNvcmVcIjpcIl43LjAuMC0wXCIsXCJiYWJlbC1lc2xpbnRcIjpcIl4xMC4wLjNcIixcImJhYmVsLWxvYWRlclwiOlwiXjguMC42XCIsXCJiYWJlbC1wbHVnaW4tbG9kYXNoXCI6XCJeMy4zLjRcIixcImNhbml1c2UtbGl0ZVwiOlwiXjEuMC4zMDAwMDk4OVwiLFwiY292ZXJhbGxzXCI6XCJeMy4wLjZcIixcImNyb3NzLWVudlwiOlwiXjUuMi4wXCIsXCJlc2xpbnRcIjpcIl42LjIuMlwiLFwiZXNsaW50LWZyaWVuZGx5LWZvcm1hdHRlclwiOlwiXjQuMC4xXCIsXCJlc2xpbnQtaW1wb3J0LXJlc29sdmVyLXdlYnBhY2tcIjpcIl4wLjExLjFcIixcImVzbGludC1sb2FkZXJcIjpcIl4zLjAuMFwiLFwiZXNsaW50LXBsdWdpbi1iYWJlbFwiOlwiXjUuMy4wXCIsXCJlc2xpbnQtcGx1Z2luLWNvbXBhdFwiOlwiXjMuMy4wXCIsXCJlc2xpbnQtcGx1Z2luLWNzcy1tb2R1bGVzXCI6XCJeMi4xMS4wXCIsXCJlc2xpbnQtcGx1Z2luLWVzbGludC1jb21tZW50c1wiOlwiXjMuMS4yXCIsXCJlc2xpbnQtcGx1Z2luLWh0bWxcIjpcIl42LjAuMFwiLFwiZXNsaW50LXBsdWdpbi1pbXBvcnRcIjpcIl4yLjE4LjJcIixcImVzbGludC1wbHVnaW4tamVzdFwiOlwiXjIyLjE1LjJcIixcImVzbGludC1wbHVnaW4tanNkb2NcIjpcIl4xNS44LjNcIixcImVzbGludC1wbHVnaW4tanNvblwiOlwiXjEuNC4wXCIsXCJlc2xpbnQtcGx1Z2luLWxvZGFzaFwiOlwiXjYuMC4wXCIsXCJlc2xpbnQtcGx1Z2luLW5vLXVzZS1leHRlbmQtbmF0aXZlXCI6XCJeMC40LjFcIixcImVzbGludC1wbHVnaW4tcHJlZmVyLW9iamVjdC1zcHJlYWRcIjpcIl4xLjIuMVwiLFwiZXNsaW50LXBsdWdpbi1wcmV0dGllclwiOlwiXjMuMS4wXCIsXCJlc2xpbnQtcGx1Z2luLXByb21pc2VcIjpcIl40LjIuMVwiLFwiZXNsaW50LXBsdWdpbi1zb3J0LWNsYXNzLW1lbWJlcnNcIjpcIl4xLjYuMFwiLFwiZXNsaW50LXBsdWdpbi1zd2l0Y2gtY2FzZVwiOlwiXjEuMS4yXCIsXCJqZXN0XCI6XCJeMjQuOS4wXCIsXCJqZXN0LWNsaVwiOlwiXjI0LjkuMFwiLFwiamVzdC1maWxlXCI6XCJeMS4wLjBcIixcImxvZGFzaFwiOlwiXjQuMTcuMTVcIixcImxvZGFzaC13ZWJwYWNrLXBsdWdpblwiOlwiXjAuMTEuNVwiLFwibWtkaXJwXCI6XCJeMC41LjFcIixcIm5vZGVtb25cIjpcIl4xLjE5LjFcIixcInByZXR0aWVyXCI6XCJeMS4xOC4yXCIsXCJyaW1yYWZcIjpcIl4zLjAuMFwiLFwic291cmNlLW1hcC1sb2FkZXJcIjpcIl4wLjIuNFwiLFwic3RyaXAtYW5zaVwiOlwiXjUuMi4wXCIsXCJ0ZXJzZXItd2VicGFjay1wbHVnaW5cIjpcIl4xLjQuMVwiLFwidHlwZXNjcmlwdFwiOlwiXjMuNS4zXCIsXCJ3ZWJwYWNrXCI6XCJeNC4zOS4zXCIsXCJ3ZWJwYWNrLWJ1bmRsZS1hbmFseXplclwiOlwiXjMuNC4xXCIsXCJ3ZWJwYWNrLWNsaVwiOlwiXjMuMy43XCIsXCJ3ZWJwYWNrLWdsb2JhbC1vYmplY3QteFwiOlwiXjEuMC4wXCIsXCJ3ZWJwYWNrLW1lcmdlXCI6XCJeNC4yLjJcIn0sXCJlbmdpbmVzXCI6e1wibm9kZVwiOlwiPj04LjExLjRcIixcIm5wbVwiOlwiNi4xMC4xXCJ9LFwiZmlsZXNcIjpbXCJkaXN0XCIsXCJzcmNcIl0sXCJob21lcGFnZVwiOlwiaHR0cHM6Ly9naXRodWIuY29tL1hvdGljNzUwL3YtY2xpY2stb3V0c2lkZS14LmdpdFwiLFwianNkZWxpdnJcIjpcImRpc3Qvdi1jbGljay1vdXRzaWRlLXgubWluLmpzXCIsXCJrZXl3b3Jkc1wiOltcInZ1ZVwiLFwiY2xpY2tcIixcIm91dHNpZGVcIixcImRpcmVjdGl2ZVwiXSxcImxpY2Vuc2VcIjpcIk1JVFwiLFwibWFpblwiOlwiZGlzdC92LWNsaWNrLW91dHNpZGUteC5qc1wiLFwibW9kdWxlXCI6XCJkaXN0L3YtY2xpY2stb3V0c2lkZS14LmVzbS5qc1wiLFwibmFtZVwiOlwidi1jbGljay1vdXRzaWRlLXhcIixcInJlcG9zaXRvcnlcIjp7XCJ0eXBlXCI6XCJnaXRcIixcInVybFwiOlwiZ2l0K2h0dHBzOi8vZ2l0aHViLmNvbS9Yb3RpYzc1MC92LWNsaWNrLW91dHNpZGUteC5naXRcIn0sXCJzY3JpcHRzXCI6e1wiYnVpbGRcIjpcIm5wbSBydW4gYnVpbGQ6ZXNtICYmIGNyb3NzLWVudiBOT0RFX0VOVj1wcm9kdWN0aW9uIG5wbSBydW4gYnVpbGQ6YmFzZSAtLVwiLFwiYnVpbGQ6YmFzZVwiOlwid2VicGFjayAtLWJhaWwgLS1wcm9ncmVzcyAtLXByb2ZpbGUgLS1jb2xvcnNcIixcImJ1aWxkOmRldlwiOlwibnBtIHJ1biBidWlsZDpiYXNlIC0tXCIsXCJidWlsZDplc21cIjpcIm1rZGlycCBkaXN0ICYmIGJhYmVsIC1zIHRydWUgLS1lbnYtbmFtZSBlc20gc3JjL3YtY2xpY2stb3V0c2lkZS14LmpzIC1vIGRpc3Qvdi1jbGljay1vdXRzaWRlLXguZXNtLmpzXCIsXCJjbGVhblwiOlwicmltcmFmIGRpc3QgJiYgbnBtIHJ1biBjbGVhbjpjb3ZlcmFnZVwiLFwiY2xlYW46Y292ZXJhZ2VcIjpcInJpbXJhZiBfX3Rlc3RzX18vY292ZXJhZ2VcIixcImxpbnRcIjpcImVzbGludCAtZiAnbm9kZV9tb2R1bGVzL2VzbGludC1mcmllbmRseS1mb3JtYXR0ZXInIC0tZXh0IC5qcywuanNvbiAuXCIsXCJsaW50LWZpeFwiOlwibnBtIHJ1biBsaW50IC0tIC0tZml4XCIsXCJyZXBvcnRcIjpcIm5wbSBydW4gYnVpbGQgLS0gLS1lbnYucmVwb3J0XCIsXCJyZXBvcnQ6ZGV2XCI6XCJucG0gcnVuIGJ1aWxkOmRldiAtLSAtLWVudi5yZXBvcnRcIixcInNlY3VyaXR5XCI6XCJucG0gYXVkaXRcIixcInNlY3VyaXR5LWZpeFwiOlwibnBtIHJ1biBzZWN1cml0eSAtLSBmaXhcIixcInN0YXJ0XCI6XCJub2RlbW9uIC0tZXhlYyBcXFwibnBtIHJ1biBidWlsZFxcXCIgLS13YXRjaCBzcmNcIixcInRlc3RcIjpcIm5wbSBydW4gY2xlYW46Y292ZXJhZ2UgJiYgamVzdFwiLFwidGVzdDpjaVwiOlwibnBtIHJ1biB0ZXN0IC0tIC0tY2kgLS1tYXhXb3JrZXJzPTJcIixcInRlc3Q6Y2ktY292ZXJhbGxzXCI6XCJucG0gcnVuIHRlc3Q6Y2kgLS0gLS1jb3ZlcmFnZSAtLWNvdmVyYWdlUmVwb3J0ZXJzPXRleHQtbGNvdiB8IGNvdmVyYWxsc1wiLFwidGVzdDpjb3ZlcmFnZVwiOlwibnBtIHJ1biB0ZXN0IC0tIC0tY292ZXJhZ2VcIn0sXCJ0eXBpbmdzXCI6XCJ0eXBlcy9pbmRleC5kLnRzXCIsXCJ2ZXJzaW9uXCI6XCI0LjAuMTlcIixcIndhcm5pbmdzXCI6W3tcImNvZGVcIjpcIkVOT1RTVVBcIixcInJlcXVpcmVkXCI6e1wibm9kZVwiOlwiPj04LjExLjRcIixcIm5wbVwiOlwiNi4xMC4xXCJ9LFwicGtnaWRcIjpcInYtY2xpY2stb3V0c2lkZS14QDQuMC4xOVwifV19XG5cbi8qKiovIH0pLFxuLyogMjkzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbm1vZHVsZS5leHBvcnRzID0geyBcImRlZmF1bHRcIjogX193ZWJwYWNrX3JlcXVpcmVfXygyOTQpLCBfX2VzTW9kdWxlOiB0cnVlIH07XG5cbi8qKiovIH0pLFxuLyogMjk0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbl9fd2VicGFja19yZXF1aXJlX18oMjk1KTtcbm1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2KS5PYmplY3QuZ2V0UHJvdG90eXBlT2Y7XG5cblxuLyoqKi8gfSksXG4vKiAyOTUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuLy8gMTkuMS4yLjkgT2JqZWN0LmdldFByb3RvdHlwZU9mKE8pXG52YXIgdG9PYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM5KTtcbnZhciAkZ2V0UHJvdG90eXBlT2YgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDk2KTtcblxuX193ZWJwYWNrX3JlcXVpcmVfXyg4NykoJ2dldFByb3RvdHlwZU9mJywgZnVuY3Rpb24gKCkge1xuICByZXR1cm4gZnVuY3Rpb24gZ2V0UHJvdG90eXBlT2YoaXQpIHtcbiAgICByZXR1cm4gJGdldFByb3RvdHlwZU9mKHRvT2JqZWN0KGl0KSk7XG4gIH07XG59KTtcblxuXG4vKioqLyB9KSxcbi8qIDI5NiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbGFuZyA9IF9fd2VicGFja19yZXF1aXJlX18oMjk3KTtcblxudmFyIF9sYW5nMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2xhbmcpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgbGFuZyA9IHtcbiAgICBpOiB7XG4gICAgICAgIGxvY2FsZTogJ3poLUNOJyxcbiAgICAgICAgc2VsZWN0OiB7XG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogJ+ivt+mAieaLqScsXG4gICAgICAgICAgICBub01hdGNoOiAn5peg5Yy56YWN5pWw5o2uJyxcbiAgICAgICAgICAgIGxvYWRpbmc6ICfliqDovb3kuK0nXG4gICAgICAgIH0sXG4gICAgICAgIHRhYmxlOiB7XG4gICAgICAgICAgICBub0RhdGFUZXh0OiAn5pqC5peg5pWw5o2uJyxcbiAgICAgICAgICAgIG5vRmlsdGVyZWREYXRhVGV4dDogJ+aaguaXoOetm+mAiee7k+aenCcsXG4gICAgICAgICAgICBjb25maXJtRmlsdGVyOiAn562b6YCJJyxcbiAgICAgICAgICAgIHJlc2V0RmlsdGVyOiAn6YeN572uJyxcbiAgICAgICAgICAgIGNsZWFyRmlsdGVyOiAn5YWo6YOoJ1xuICAgICAgICB9LFxuICAgICAgICBkYXRlcGlja2VyOiB7XG4gICAgICAgICAgICBzZWxlY3REYXRlOiAn6YCJ5oup5pel5pyfJyxcbiAgICAgICAgICAgIHNlbGVjdFRpbWU6ICfpgInmi6nml7bpl7QnLFxuICAgICAgICAgICAgc3RhcnRUaW1lOiAn5byA5aeL5pe26Ze0JyxcbiAgICAgICAgICAgIGVuZFRpbWU6ICfnu5PmnZ/ml7bpl7QnLFxuICAgICAgICAgICAgY2xlYXI6ICfmuIXnqbonLFxuICAgICAgICAgICAgb2s6ICfnoa7lrponLFxuICAgICAgICAgICAgZGF0ZVBhbmVsTGFiZWw6ICdbeXl5eeW5tF0gW23mnIhdJyxcbiAgICAgICAgICAgIG1vbnRoOiAn5pyIJyxcbiAgICAgICAgICAgIG1vbnRoMTogJzEg5pyIJyxcbiAgICAgICAgICAgIG1vbnRoMjogJzIg5pyIJyxcbiAgICAgICAgICAgIG1vbnRoMzogJzMg5pyIJyxcbiAgICAgICAgICAgIG1vbnRoNDogJzQg5pyIJyxcbiAgICAgICAgICAgIG1vbnRoNTogJzUg5pyIJyxcbiAgICAgICAgICAgIG1vbnRoNjogJzYg5pyIJyxcbiAgICAgICAgICAgIG1vbnRoNzogJzcg5pyIJyxcbiAgICAgICAgICAgIG1vbnRoODogJzgg5pyIJyxcbiAgICAgICAgICAgIG1vbnRoOTogJzkg5pyIJyxcbiAgICAgICAgICAgIG1vbnRoMTA6ICcxMCDmnIgnLFxuICAgICAgICAgICAgbW9udGgxMTogJzExIOaciCcsXG4gICAgICAgICAgICBtb250aDEyOiAnMTIg5pyIJyxcbiAgICAgICAgICAgIHllYXI6ICflubQnLFxuICAgICAgICAgICAgd2Vla1N0YXJ0RGF5OiAnMCcsXG4gICAgICAgICAgICB3ZWVrczoge1xuICAgICAgICAgICAgICAgIHN1bjogJ+aXpScsXG4gICAgICAgICAgICAgICAgbW9uOiAn5LiAJyxcbiAgICAgICAgICAgICAgICB0dWU6ICfkuownLFxuICAgICAgICAgICAgICAgIHdlZDogJ+S4iScsXG4gICAgICAgICAgICAgICAgdGh1OiAn5ZubJyxcbiAgICAgICAgICAgICAgICBmcmk6ICfkupQnLFxuICAgICAgICAgICAgICAgIHNhdDogJ+WFrSdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBtb250aHM6IHtcbiAgICAgICAgICAgICAgICBtMTogJzHmnIgnLFxuICAgICAgICAgICAgICAgIG0yOiAnMuaciCcsXG4gICAgICAgICAgICAgICAgbTM6ICcz5pyIJyxcbiAgICAgICAgICAgICAgICBtNDogJzTmnIgnLFxuICAgICAgICAgICAgICAgIG01OiAnNeaciCcsXG4gICAgICAgICAgICAgICAgbTY6ICc25pyIJyxcbiAgICAgICAgICAgICAgICBtNzogJzfmnIgnLFxuICAgICAgICAgICAgICAgIG04OiAnOOaciCcsXG4gICAgICAgICAgICAgICAgbTk6ICc55pyIJyxcbiAgICAgICAgICAgICAgICBtMTA6ICcxMOaciCcsXG4gICAgICAgICAgICAgICAgbTExOiAnMTHmnIgnLFxuICAgICAgICAgICAgICAgIG0xMjogJzEy5pyIJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB0cmFuc2Zlcjoge1xuICAgICAgICAgICAgdGl0bGVzOiB7XG4gICAgICAgICAgICAgICAgc291cmNlOiAn5rqQ5YiX6KGoJyxcbiAgICAgICAgICAgICAgICB0YXJnZXQ6ICfnm67nmoTliJfooagnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZmlsdGVyUGxhY2Vob2xkZXI6ICfor7fovpPlhaXmkJzntKLlhoXlrrknLFxuICAgICAgICAgICAgbm90Rm91bmRUZXh0OiAn5YiX6KGo5Li656m6J1xuICAgICAgICB9LFxuICAgICAgICBtb2RhbDoge1xuICAgICAgICAgICAgb2tUZXh0OiAn56Gu5a6aJyxcbiAgICAgICAgICAgIGNhbmNlbFRleHQ6ICflj5bmtognXG4gICAgICAgIH0sXG4gICAgICAgIHBvcHRpcDoge1xuICAgICAgICAgICAgb2tUZXh0OiAn56Gu5a6aJyxcbiAgICAgICAgICAgIGNhbmNlbFRleHQ6ICflj5bmtognXG4gICAgICAgIH0sXG4gICAgICAgIHBhZ2U6IHtcbiAgICAgICAgICAgIHByZXY6ICfkuIrkuIDpobUnLFxuICAgICAgICAgICAgbmV4dDogJ+S4i+S4gOmhtScsXG4gICAgICAgICAgICB0b3RhbDogJ+WFsScsXG4gICAgICAgICAgICBpdGVtOiAn5p2hJyxcbiAgICAgICAgICAgIGl0ZW1zOiAn5p2hJyxcbiAgICAgICAgICAgIHByZXY1OiAn5ZCR5YmNIDUg6aG1JyxcbiAgICAgICAgICAgIG5leHQ1OiAn5ZCR5ZCOIDUg6aG1JyxcbiAgICAgICAgICAgIHBhZ2U6ICfmnaEv6aG1JyxcbiAgICAgICAgICAgIGdvdG86ICfot7Poh7MnLFxuICAgICAgICAgICAgcDogJ+mhtSdcbiAgICAgICAgfSxcbiAgICAgICAgcmF0ZToge1xuICAgICAgICAgICAgc3RhcjogJ+aYnycsXG4gICAgICAgICAgICBzdGFyczogJ+aYnydcbiAgICAgICAgfSxcbiAgICAgICAgdGltZToge1xuICAgICAgICAgICAgYmVmb3JlOiAn5YmNJyxcbiAgICAgICAgICAgIGFmdGVyOiAn5ZCOJyxcbiAgICAgICAgICAgIGp1c3Q6ICfliJrliJonLFxuICAgICAgICAgICAgc2Vjb25kczogJ+enkicsXG4gICAgICAgICAgICBtaW51dGVzOiAn5YiG6ZKfJyxcbiAgICAgICAgICAgIGhvdXJzOiAn5bCP5pe2JyxcbiAgICAgICAgICAgIGRheXM6ICflpKknXG4gICAgICAgIH0sXG4gICAgICAgIHRyZWU6IHtcbiAgICAgICAgICAgIGVtcHR5VGV4dDogJ+aaguaXoOaVsOaNridcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbigwLCBfbGFuZzIuZGVmYXVsdCkobGFuZyk7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IGxhbmc7XG5cbi8qKiovIH0pLFxuLyogMjk3ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxuZXhwb3J0cy5kZWZhdWx0ID0gZnVuY3Rpb24gKGxhbmcpIHtcbiAgICBpZiAoIWlzU2VydmVyKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93Lml2aWV3ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgaWYgKCEoJ2xhbmdzJyBpbiBpdmlldykpIHtcbiAgICAgICAgICAgICAgICBpdmlldy5sYW5ncyA9IHt9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXZpZXcubGFuZ3NbbGFuZy5pLmxvY2FsZV0gPSBsYW5nO1xuICAgICAgICB9XG4gICAgfVxufTtcblxudmFyIF92dWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE1KTtcblxudmFyIF92dWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdnVlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIGlzU2VydmVyID0gX3Z1ZTIuZGVmYXVsdC5wcm90b3R5cGUuJGlzU2VydmVyO1xuXG47XG5cbi8qKiovIH0pLFxuLyogMjk4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xudmFyIGlzTWVyZ2VhYmxlT2JqZWN0ID0gZnVuY3Rpb24gaXNNZXJnZWFibGVPYmplY3QodmFsdWUpIHtcblx0cmV0dXJuIGlzTm9uTnVsbE9iamVjdCh2YWx1ZSlcblx0XHQmJiAhaXNTcGVjaWFsKHZhbHVlKVxufTtcblxuZnVuY3Rpb24gaXNOb25OdWxsT2JqZWN0KHZhbHVlKSB7XG5cdHJldHVybiAhIXZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCdcbn1cblxuZnVuY3Rpb24gaXNTcGVjaWFsKHZhbHVlKSB7XG5cdHZhciBzdHJpbmdWYWx1ZSA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSk7XG5cblx0cmV0dXJuIHN0cmluZ1ZhbHVlID09PSAnW29iamVjdCBSZWdFeHBdJ1xuXHRcdHx8IHN0cmluZ1ZhbHVlID09PSAnW29iamVjdCBEYXRlXSdcblx0XHR8fCBpc1JlYWN0RWxlbWVudCh2YWx1ZSlcbn1cblxuLy8gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9ibG9iL2I1YWM5NjNmYjc5MWQxMjk4ZTdmMzk2MjM2MzgzYmM5NTVmOTE2YzEvc3JjL2lzb21vcnBoaWMvY2xhc3NpYy9lbGVtZW50L1JlYWN0RWxlbWVudC5qcyNMMjEtTDI1XG52YXIgY2FuVXNlU3ltYm9sID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wuZm9yO1xudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IGNhblVzZVN5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKSA6IDB4ZWFjNztcblxuZnVuY3Rpb24gaXNSZWFjdEVsZW1lbnQodmFsdWUpIHtcblx0cmV0dXJuIHZhbHVlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEVcbn1cblxuZnVuY3Rpb24gZW1wdHlUYXJnZXQodmFsKSB7XG5cdHJldHVybiBBcnJheS5pc0FycmF5KHZhbCkgPyBbXSA6IHt9XG59XG5cbmZ1bmN0aW9uIGNsb25lVW5sZXNzT3RoZXJ3aXNlU3BlY2lmaWVkKHZhbHVlLCBvcHRpb25zKSB7XG5cdHJldHVybiAob3B0aW9ucy5jbG9uZSAhPT0gZmFsc2UgJiYgb3B0aW9ucy5pc01lcmdlYWJsZU9iamVjdCh2YWx1ZSkpXG5cdFx0PyBkZWVwbWVyZ2UoZW1wdHlUYXJnZXQodmFsdWUpLCB2YWx1ZSwgb3B0aW9ucylcblx0XHQ6IHZhbHVlXG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRBcnJheU1lcmdlKHRhcmdldCwgc291cmNlLCBvcHRpb25zKSB7XG5cdHJldHVybiB0YXJnZXQuY29uY2F0KHNvdXJjZSkubWFwKGZ1bmN0aW9uKGVsZW1lbnQpIHtcblx0XHRyZXR1cm4gY2xvbmVVbmxlc3NPdGhlcndpc2VTcGVjaWZpZWQoZWxlbWVudCwgb3B0aW9ucylcblx0fSlcbn1cblxuZnVuY3Rpb24gbWVyZ2VPYmplY3QodGFyZ2V0LCBzb3VyY2UsIG9wdGlvbnMpIHtcblx0dmFyIGRlc3RpbmF0aW9uID0ge307XG5cdGlmIChvcHRpb25zLmlzTWVyZ2VhYmxlT2JqZWN0KHRhcmdldCkpIHtcblx0XHRPYmplY3Qua2V5cyh0YXJnZXQpLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7XG5cdFx0XHRkZXN0aW5hdGlvbltrZXldID0gY2xvbmVVbmxlc3NPdGhlcndpc2VTcGVjaWZpZWQodGFyZ2V0W2tleV0sIG9wdGlvbnMpO1xuXHRcdH0pO1xuXHR9XG5cdE9iamVjdC5rZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbihrZXkpIHtcblx0XHRpZiAoIW9wdGlvbnMuaXNNZXJnZWFibGVPYmplY3Qoc291cmNlW2tleV0pIHx8ICF0YXJnZXRba2V5XSkge1xuXHRcdFx0ZGVzdGluYXRpb25ba2V5XSA9IGNsb25lVW5sZXNzT3RoZXJ3aXNlU3BlY2lmaWVkKHNvdXJjZVtrZXldLCBvcHRpb25zKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0ZGVzdGluYXRpb25ba2V5XSA9IGRlZXBtZXJnZSh0YXJnZXRba2V5XSwgc291cmNlW2tleV0sIG9wdGlvbnMpO1xuXHRcdH1cblx0fSk7XG5cdHJldHVybiBkZXN0aW5hdGlvblxufVxuXG5mdW5jdGlvbiBkZWVwbWVyZ2UodGFyZ2V0LCBzb3VyY2UsIG9wdGlvbnMpIHtcblx0b3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG5cdG9wdGlvbnMuYXJyYXlNZXJnZSA9IG9wdGlvbnMuYXJyYXlNZXJnZSB8fCBkZWZhdWx0QXJyYXlNZXJnZTtcblx0b3B0aW9ucy5pc01lcmdlYWJsZU9iamVjdCA9IG9wdGlvbnMuaXNNZXJnZWFibGVPYmplY3QgfHwgaXNNZXJnZWFibGVPYmplY3Q7XG5cblx0dmFyIHNvdXJjZUlzQXJyYXkgPSBBcnJheS5pc0FycmF5KHNvdXJjZSk7XG5cdHZhciB0YXJnZXRJc0FycmF5ID0gQXJyYXkuaXNBcnJheSh0YXJnZXQpO1xuXHR2YXIgc291cmNlQW5kVGFyZ2V0VHlwZXNNYXRjaCA9IHNvdXJjZUlzQXJyYXkgPT09IHRhcmdldElzQXJyYXk7XG5cblx0aWYgKCFzb3VyY2VBbmRUYXJnZXRUeXBlc01hdGNoKSB7XG5cdFx0cmV0dXJuIGNsb25lVW5sZXNzT3RoZXJ3aXNlU3BlY2lmaWVkKHNvdXJjZSwgb3B0aW9ucylcblx0fSBlbHNlIGlmIChzb3VyY2VJc0FycmF5KSB7XG5cdFx0cmV0dXJuIG9wdGlvbnMuYXJyYXlNZXJnZSh0YXJnZXQsIHNvdXJjZSwgb3B0aW9ucylcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gbWVyZ2VPYmplY3QodGFyZ2V0LCBzb3VyY2UsIG9wdGlvbnMpXG5cdH1cbn1cblxuZGVlcG1lcmdlLmFsbCA9IGZ1bmN0aW9uIGRlZXBtZXJnZUFsbChhcnJheSwgb3B0aW9ucykge1xuXHRpZiAoIUFycmF5LmlzQXJyYXkoYXJyYXkpKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdmaXJzdCBhcmd1bWVudCBzaG91bGQgYmUgYW4gYXJyYXknKVxuXHR9XG5cblx0cmV0dXJuIGFycmF5LnJlZHVjZShmdW5jdGlvbihwcmV2LCBuZXh0KSB7XG5cdFx0cmV0dXJuIGRlZXBtZXJnZShwcmV2LCBuZXh0LCBvcHRpb25zKVxuXHR9LCB7fSlcbn07XG5cbnZhciBkZWVwbWVyZ2VfMSA9IGRlZXBtZXJnZTtcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChkZWVwbWVyZ2VfMSk7XG5cblxuLyoqKi8gfSksXG4vKiAyOTkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF90eXBlb2YyID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNik7XG5cbnZhciBfdHlwZW9mMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3R5cGVvZjIpO1xuXG5leHBvcnRzLmRlZmF1bHQgPSBmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gaGFzT3duKG9iaiwga2V5KSB7XG4gICAgICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRlbXBsYXRlKHN0cmluZykge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgICAgICAgYXJnc1tfa2V5IC0gMV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYXJncy5sZW5ndGggPT09IDEgJiYgKDAsIF90eXBlb2YzLmRlZmF1bHQpKGFyZ3NbMF0pID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgYXJncyA9IGFyZ3NbMF07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWFyZ3MgfHwgIWFyZ3MuaGFzT3duUHJvcGVydHkpIHtcbiAgICAgICAgICAgIGFyZ3MgPSB7fTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdHJpbmcucmVwbGFjZShSRV9OQVJHUywgZnVuY3Rpb24gKG1hdGNoLCBwcmVmaXgsIGksIGluZGV4KSB7XG4gICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgdmFyIHJlc3VsdCA9IHZvaWQgMDtcblxuICAgICAgICAgICAgaWYgKHN0cmluZ1tpbmRleCAtIDFdID09PSAneycgJiYgc3RyaW5nW2luZGV4ICsgbWF0Y2gubGVuZ3RoXSA9PT0gJ30nKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc3VsdCA9IGhhc093bihhcmdzLCBpKSA/IGFyZ3NbaV0gOiBudWxsO1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IG51bGwgfHwgcmVzdWx0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRlbXBsYXRlO1xufTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIFJFX05BUkdTID0gLyglfClcXHsoWzAtOWEtekEtWl9dKylcXH0vZztcblxuLyoqKi8gfSksXG4vKiAzMDAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxubW9kdWxlLmV4cG9ydHMgPSB7IFwiZGVmYXVsdFwiOiBfX3dlYnBhY2tfcmVxdWlyZV9fKDMwMSksIF9fZXNNb2R1bGU6IHRydWUgfTtcblxuLyoqKi8gfSksXG4vKiAzMDEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuX193ZWJwYWNrX3JlcXVpcmVfXyg0NSk7XG5fX3dlYnBhY2tfcmVxdWlyZV9fKDUxKTtcbm1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXyg3MikuZignaXRlcmF0b3InKTtcblxuXG4vKioqLyB9KSxcbi8qIDMwMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5tb2R1bGUuZXhwb3J0cyA9IHsgXCJkZWZhdWx0XCI6IF9fd2VicGFja19yZXF1aXJlX18oMzAzKSwgX19lc01vZHVsZTogdHJ1ZSB9O1xuXG4vKioqLyB9KSxcbi8qIDMwMyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5fX3dlYnBhY2tfcmVxdWlyZV9fKDMwNCk7XG5fX3dlYnBhY2tfcmVxdWlyZV9fKDExMCk7XG5fX3dlYnBhY2tfcmVxdWlyZV9fKDMxMCk7XG5fX3dlYnBhY2tfcmVxdWlyZV9fKDMxMSk7XG5tb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oNikuU3ltYm9sO1xuXG5cbi8qKiovIH0pLFxuLyogMzA0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG4vLyBFQ01BU2NyaXB0IDYgc3ltYm9scyBzaGltXG52YXIgZ2xvYmFsID0gX193ZWJwYWNrX3JlcXVpcmVfXyg5KTtcbnZhciBoYXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI2KTtcbnZhciBERVNDUklQVE9SUyA9IF9fd2VicGFja19yZXF1aXJlX18oMjIpO1xudmFyICRleHBvcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEwKTtcbnZhciByZWRlZmluZSA9IF9fd2VicGFja19yZXF1aXJlX18oOTMpO1xudmFyIE1FVEEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMwNSkuS0VZO1xudmFyICRmYWlscyA9IF9fd2VicGFja19yZXF1aXJlX18oMzApO1xudmFyIHNoYXJlZCA9IF9fd2VicGFja19yZXF1aXJlX18oNjMpO1xudmFyIHNldFRvU3RyaW5nVGFnID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1Myk7XG52YXIgdWlkID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0OCk7XG52YXIgd2tzID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMSk7XG52YXIgd2tzRXh0ID0gX193ZWJwYWNrX3JlcXVpcmVfXyg3Mik7XG52YXIgd2tzRGVmaW5lID0gX193ZWJwYWNrX3JlcXVpcmVfXyg3Myk7XG52YXIgZW51bUtleXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMwNik7XG52YXIgaXNBcnJheSA9IF9fd2VicGFja19yZXF1aXJlX18oMzA3KTtcbnZhciBhbk9iamVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oMTkpO1xudmFyIGlzT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygyOCk7XG52YXIgdG9JT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygyOSk7XG52YXIgdG9QcmltaXRpdmUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDY2KTtcbnZhciBjcmVhdGVEZXNjID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0Myk7XG52YXIgX2NyZWF0ZSA9IF9fd2VicGFja19yZXF1aXJlX18oOTQpO1xudmFyIGdPUE5FeHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMwOCk7XG52YXIgJEdPUEQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMwOSk7XG52YXIgJERQID0gX193ZWJwYWNrX3JlcXVpcmVfXygxOCk7XG52YXIgJGtleXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQwKTtcbnZhciBnT1BEID0gJEdPUEQuZjtcbnZhciBkUCA9ICREUC5mO1xudmFyIGdPUE4gPSBnT1BORXh0LmY7XG52YXIgJFN5bWJvbCA9IGdsb2JhbC5TeW1ib2w7XG52YXIgJEpTT04gPSBnbG9iYWwuSlNPTjtcbnZhciBfc3RyaW5naWZ5ID0gJEpTT04gJiYgJEpTT04uc3RyaW5naWZ5O1xudmFyIFBST1RPVFlQRSA9ICdwcm90b3R5cGUnO1xudmFyIEhJRERFTiA9IHdrcygnX2hpZGRlbicpO1xudmFyIFRPX1BSSU1JVElWRSA9IHdrcygndG9QcmltaXRpdmUnKTtcbnZhciBpc0VudW0gPSB7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZTtcbnZhciBTeW1ib2xSZWdpc3RyeSA9IHNoYXJlZCgnc3ltYm9sLXJlZ2lzdHJ5Jyk7XG52YXIgQWxsU3ltYm9scyA9IHNoYXJlZCgnc3ltYm9scycpO1xudmFyIE9QU3ltYm9scyA9IHNoYXJlZCgnb3Atc3ltYm9scycpO1xudmFyIE9iamVjdFByb3RvID0gT2JqZWN0W1BST1RPVFlQRV07XG52YXIgVVNFX05BVElWRSA9IHR5cGVvZiAkU3ltYm9sID09ICdmdW5jdGlvbic7XG52YXIgUU9iamVjdCA9IGdsb2JhbC5RT2JqZWN0O1xuLy8gRG9uJ3QgdXNlIHNldHRlcnMgaW4gUXQgU2NyaXB0LCBodHRwczovL2dpdGh1Yi5jb20vemxvaXJvY2svY29yZS1qcy9pc3N1ZXMvMTczXG52YXIgc2V0dGVyID0gIVFPYmplY3QgfHwgIVFPYmplY3RbUFJPVE9UWVBFXSB8fCAhUU9iamVjdFtQUk9UT1RZUEVdLmZpbmRDaGlsZDtcblxuLy8gZmFsbGJhY2sgZm9yIG9sZCBBbmRyb2lkLCBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL3Y4L2lzc3Vlcy9kZXRhaWw/aWQ9Njg3XG52YXIgc2V0U3ltYm9sRGVzYyA9IERFU0NSSVBUT1JTICYmICRmYWlscyhmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBfY3JlYXRlKGRQKHt9LCAnYScsIHtcbiAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGRQKHRoaXMsICdhJywgeyB2YWx1ZTogNyB9KS5hOyB9XG4gIH0pKS5hICE9IDc7XG59KSA/IGZ1bmN0aW9uIChpdCwga2V5LCBEKSB7XG4gIHZhciBwcm90b0Rlc2MgPSBnT1BEKE9iamVjdFByb3RvLCBrZXkpO1xuICBpZiAocHJvdG9EZXNjKSBkZWxldGUgT2JqZWN0UHJvdG9ba2V5XTtcbiAgZFAoaXQsIGtleSwgRCk7XG4gIGlmIChwcm90b0Rlc2MgJiYgaXQgIT09IE9iamVjdFByb3RvKSBkUChPYmplY3RQcm90bywga2V5LCBwcm90b0Rlc2MpO1xufSA6IGRQO1xuXG52YXIgd3JhcCA9IGZ1bmN0aW9uICh0YWcpIHtcbiAgdmFyIHN5bSA9IEFsbFN5bWJvbHNbdGFnXSA9IF9jcmVhdGUoJFN5bWJvbFtQUk9UT1RZUEVdKTtcbiAgc3ltLl9rID0gdGFnO1xuICByZXR1cm4gc3ltO1xufTtcblxudmFyIGlzU3ltYm9sID0gVVNFX05BVElWRSAmJiB0eXBlb2YgJFN5bWJvbC5pdGVyYXRvciA9PSAnc3ltYm9sJyA/IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gdHlwZW9mIGl0ID09ICdzeW1ib2wnO1xufSA6IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXQgaW5zdGFuY2VvZiAkU3ltYm9sO1xufTtcblxudmFyICRkZWZpbmVQcm9wZXJ0eSA9IGZ1bmN0aW9uIGRlZmluZVByb3BlcnR5KGl0LCBrZXksIEQpIHtcbiAgaWYgKGl0ID09PSBPYmplY3RQcm90bykgJGRlZmluZVByb3BlcnR5KE9QU3ltYm9scywga2V5LCBEKTtcbiAgYW5PYmplY3QoaXQpO1xuICBrZXkgPSB0b1ByaW1pdGl2ZShrZXksIHRydWUpO1xuICBhbk9iamVjdChEKTtcbiAgaWYgKGhhcyhBbGxTeW1ib2xzLCBrZXkpKSB7XG4gICAgaWYgKCFELmVudW1lcmFibGUpIHtcbiAgICAgIGlmICghaGFzKGl0LCBISURERU4pKSBkUChpdCwgSElEREVOLCBjcmVhdGVEZXNjKDEsIHt9KSk7XG4gICAgICBpdFtISURERU5dW2tleV0gPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaGFzKGl0LCBISURERU4pICYmIGl0W0hJRERFTl1ba2V5XSkgaXRbSElEREVOXVtrZXldID0gZmFsc2U7XG4gICAgICBEID0gX2NyZWF0ZShELCB7IGVudW1lcmFibGU6IGNyZWF0ZURlc2MoMCwgZmFsc2UpIH0pO1xuICAgIH0gcmV0dXJuIHNldFN5bWJvbERlc2MoaXQsIGtleSwgRCk7XG4gIH0gcmV0dXJuIGRQKGl0LCBrZXksIEQpO1xufTtcbnZhciAkZGVmaW5lUHJvcGVydGllcyA9IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXMoaXQsIFApIHtcbiAgYW5PYmplY3QoaXQpO1xuICB2YXIga2V5cyA9IGVudW1LZXlzKFAgPSB0b0lPYmplY3QoUCkpO1xuICB2YXIgaSA9IDA7XG4gIHZhciBsID0ga2V5cy5sZW5ndGg7XG4gIHZhciBrZXk7XG4gIHdoaWxlIChsID4gaSkgJGRlZmluZVByb3BlcnR5KGl0LCBrZXkgPSBrZXlzW2krK10sIFBba2V5XSk7XG4gIHJldHVybiBpdDtcbn07XG52YXIgJGNyZWF0ZSA9IGZ1bmN0aW9uIGNyZWF0ZShpdCwgUCkge1xuICByZXR1cm4gUCA9PT0gdW5kZWZpbmVkID8gX2NyZWF0ZShpdCkgOiAkZGVmaW5lUHJvcGVydGllcyhfY3JlYXRlKGl0KSwgUCk7XG59O1xudmFyICRwcm9wZXJ0eUlzRW51bWVyYWJsZSA9IGZ1bmN0aW9uIHByb3BlcnR5SXNFbnVtZXJhYmxlKGtleSkge1xuICB2YXIgRSA9IGlzRW51bS5jYWxsKHRoaXMsIGtleSA9IHRvUHJpbWl0aXZlKGtleSwgdHJ1ZSkpO1xuICBpZiAodGhpcyA9PT0gT2JqZWN0UHJvdG8gJiYgaGFzKEFsbFN5bWJvbHMsIGtleSkgJiYgIWhhcyhPUFN5bWJvbHMsIGtleSkpIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIEUgfHwgIWhhcyh0aGlzLCBrZXkpIHx8ICFoYXMoQWxsU3ltYm9scywga2V5KSB8fCBoYXModGhpcywgSElEREVOKSAmJiB0aGlzW0hJRERFTl1ba2V5XSA/IEUgOiB0cnVlO1xufTtcbnZhciAkZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yID0gZnVuY3Rpb24gZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGl0LCBrZXkpIHtcbiAgaXQgPSB0b0lPYmplY3QoaXQpO1xuICBrZXkgPSB0b1ByaW1pdGl2ZShrZXksIHRydWUpO1xuICBpZiAoaXQgPT09IE9iamVjdFByb3RvICYmIGhhcyhBbGxTeW1ib2xzLCBrZXkpICYmICFoYXMoT1BTeW1ib2xzLCBrZXkpKSByZXR1cm47XG4gIHZhciBEID0gZ09QRChpdCwga2V5KTtcbiAgaWYgKEQgJiYgaGFzKEFsbFN5bWJvbHMsIGtleSkgJiYgIShoYXMoaXQsIEhJRERFTikgJiYgaXRbSElEREVOXVtrZXldKSkgRC5lbnVtZXJhYmxlID0gdHJ1ZTtcbiAgcmV0dXJuIEQ7XG59O1xudmFyICRnZXRPd25Qcm9wZXJ0eU5hbWVzID0gZnVuY3Rpb24gZ2V0T3duUHJvcGVydHlOYW1lcyhpdCkge1xuICB2YXIgbmFtZXMgPSBnT1BOKHRvSU9iamVjdChpdCkpO1xuICB2YXIgcmVzdWx0ID0gW107XG4gIHZhciBpID0gMDtcbiAgdmFyIGtleTtcbiAgd2hpbGUgKG5hbWVzLmxlbmd0aCA+IGkpIHtcbiAgICBpZiAoIWhhcyhBbGxTeW1ib2xzLCBrZXkgPSBuYW1lc1tpKytdKSAmJiBrZXkgIT0gSElEREVOICYmIGtleSAhPSBNRVRBKSByZXN1bHQucHVzaChrZXkpO1xuICB9IHJldHVybiByZXN1bHQ7XG59O1xudmFyICRnZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPSBmdW5jdGlvbiBnZXRPd25Qcm9wZXJ0eVN5bWJvbHMoaXQpIHtcbiAgdmFyIElTX09QID0gaXQgPT09IE9iamVjdFByb3RvO1xuICB2YXIgbmFtZXMgPSBnT1BOKElTX09QID8gT1BTeW1ib2xzIDogdG9JT2JqZWN0KGl0KSk7XG4gIHZhciByZXN1bHQgPSBbXTtcbiAgdmFyIGkgPSAwO1xuICB2YXIga2V5O1xuICB3aGlsZSAobmFtZXMubGVuZ3RoID4gaSkge1xuICAgIGlmIChoYXMoQWxsU3ltYm9scywga2V5ID0gbmFtZXNbaSsrXSkgJiYgKElTX09QID8gaGFzKE9iamVjdFByb3RvLCBrZXkpIDogdHJ1ZSkpIHJlc3VsdC5wdXNoKEFsbFN5bWJvbHNba2V5XSk7XG4gIH0gcmV0dXJuIHJlc3VsdDtcbn07XG5cbi8vIDE5LjQuMS4xIFN5bWJvbChbZGVzY3JpcHRpb25dKVxuaWYgKCFVU0VfTkFUSVZFKSB7XG4gICRTeW1ib2wgPSBmdW5jdGlvbiBTeW1ib2woKSB7XG4gICAgaWYgKHRoaXMgaW5zdGFuY2VvZiAkU3ltYm9sKSB0aHJvdyBUeXBlRXJyb3IoJ1N5bWJvbCBpcyBub3QgYSBjb25zdHJ1Y3RvciEnKTtcbiAgICB2YXIgdGFnID0gdWlkKGFyZ3VtZW50cy5sZW5ndGggPiAwID8gYXJndW1lbnRzWzBdIDogdW5kZWZpbmVkKTtcbiAgICB2YXIgJHNldCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgaWYgKHRoaXMgPT09IE9iamVjdFByb3RvKSAkc2V0LmNhbGwoT1BTeW1ib2xzLCB2YWx1ZSk7XG4gICAgICBpZiAoaGFzKHRoaXMsIEhJRERFTikgJiYgaGFzKHRoaXNbSElEREVOXSwgdGFnKSkgdGhpc1tISURERU5dW3RhZ10gPSBmYWxzZTtcbiAgICAgIHNldFN5bWJvbERlc2ModGhpcywgdGFnLCBjcmVhdGVEZXNjKDEsIHZhbHVlKSk7XG4gICAgfTtcbiAgICBpZiAoREVTQ1JJUFRPUlMgJiYgc2V0dGVyKSBzZXRTeW1ib2xEZXNjKE9iamVjdFByb3RvLCB0YWcsIHsgY29uZmlndXJhYmxlOiB0cnVlLCBzZXQ6ICRzZXQgfSk7XG4gICAgcmV0dXJuIHdyYXAodGFnKTtcbiAgfTtcbiAgcmVkZWZpbmUoJFN5bWJvbFtQUk9UT1RZUEVdLCAndG9TdHJpbmcnLCBmdW5jdGlvbiB0b1N0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5faztcbiAgfSk7XG5cbiAgJEdPUEQuZiA9ICRnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG4gICREUC5mID0gJGRlZmluZVByb3BlcnR5O1xuICBfX3dlYnBhY2tfcmVxdWlyZV9fKDEwOSkuZiA9IGdPUE5FeHQuZiA9ICRnZXRPd25Qcm9wZXJ0eU5hbWVzO1xuICBfX3dlYnBhY2tfcmVxdWlyZV9fKDUwKS5mID0gJHByb3BlcnR5SXNFbnVtZXJhYmxlO1xuICBfX3dlYnBhY2tfcmVxdWlyZV9fKDY3KS5mID0gJGdldE93blByb3BlcnR5U3ltYm9scztcblxuICBpZiAoREVTQ1JJUFRPUlMgJiYgIV9fd2VicGFja19yZXF1aXJlX18oNTIpKSB7XG4gICAgcmVkZWZpbmUoT2JqZWN0UHJvdG8sICdwcm9wZXJ0eUlzRW51bWVyYWJsZScsICRwcm9wZXJ0eUlzRW51bWVyYWJsZSwgdHJ1ZSk7XG4gIH1cblxuICB3a3NFeHQuZiA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgcmV0dXJuIHdyYXAod2tzKG5hbWUpKTtcbiAgfTtcbn1cblxuJGV4cG9ydCgkZXhwb3J0LkcgKyAkZXhwb3J0LlcgKyAkZXhwb3J0LkYgKiAhVVNFX05BVElWRSwgeyBTeW1ib2w6ICRTeW1ib2wgfSk7XG5cbmZvciAodmFyIGVzNlN5bWJvbHMgPSAoXG4gIC8vIDE5LjQuMi4yLCAxOS40LjIuMywgMTkuNC4yLjQsIDE5LjQuMi42LCAxOS40LjIuOCwgMTkuNC4yLjksIDE5LjQuMi4xMCwgMTkuNC4yLjExLCAxOS40LjIuMTIsIDE5LjQuMi4xMywgMTkuNC4yLjE0XG4gICdoYXNJbnN0YW5jZSxpc0NvbmNhdFNwcmVhZGFibGUsaXRlcmF0b3IsbWF0Y2gscmVwbGFjZSxzZWFyY2gsc3BlY2llcyxzcGxpdCx0b1ByaW1pdGl2ZSx0b1N0cmluZ1RhZyx1bnNjb3BhYmxlcydcbikuc3BsaXQoJywnKSwgaiA9IDA7IGVzNlN5bWJvbHMubGVuZ3RoID4gajspd2tzKGVzNlN5bWJvbHNbaisrXSk7XG5cbmZvciAodmFyIHdlbGxLbm93blN5bWJvbHMgPSAka2V5cyh3a3Muc3RvcmUpLCBrID0gMDsgd2VsbEtub3duU3ltYm9scy5sZW5ndGggPiBrOykgd2tzRGVmaW5lKHdlbGxLbm93blN5bWJvbHNbaysrXSk7XG5cbiRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogIVVTRV9OQVRJVkUsICdTeW1ib2wnLCB7XG4gIC8vIDE5LjQuMi4xIFN5bWJvbC5mb3Ioa2V5KVxuICAnZm9yJzogZnVuY3Rpb24gKGtleSkge1xuICAgIHJldHVybiBoYXMoU3ltYm9sUmVnaXN0cnksIGtleSArPSAnJylcbiAgICAgID8gU3ltYm9sUmVnaXN0cnlba2V5XVxuICAgICAgOiBTeW1ib2xSZWdpc3RyeVtrZXldID0gJFN5bWJvbChrZXkpO1xuICB9LFxuICAvLyAxOS40LjIuNSBTeW1ib2wua2V5Rm9yKHN5bSlcbiAga2V5Rm9yOiBmdW5jdGlvbiBrZXlGb3Ioc3ltKSB7XG4gICAgaWYgKCFpc1N5bWJvbChzeW0pKSB0aHJvdyBUeXBlRXJyb3Ioc3ltICsgJyBpcyBub3QgYSBzeW1ib2whJyk7XG4gICAgZm9yICh2YXIga2V5IGluIFN5bWJvbFJlZ2lzdHJ5KSBpZiAoU3ltYm9sUmVnaXN0cnlba2V5XSA9PT0gc3ltKSByZXR1cm4ga2V5O1xuICB9LFxuICB1c2VTZXR0ZXI6IGZ1bmN0aW9uICgpIHsgc2V0dGVyID0gdHJ1ZTsgfSxcbiAgdXNlU2ltcGxlOiBmdW5jdGlvbiAoKSB7IHNldHRlciA9IGZhbHNlOyB9XG59KTtcblxuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAhVVNFX05BVElWRSwgJ09iamVjdCcsIHtcbiAgLy8gMTkuMS4yLjIgT2JqZWN0LmNyZWF0ZShPIFssIFByb3BlcnRpZXNdKVxuICBjcmVhdGU6ICRjcmVhdGUsXG4gIC8vIDE5LjEuMi40IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPLCBQLCBBdHRyaWJ1dGVzKVxuICBkZWZpbmVQcm9wZXJ0eTogJGRlZmluZVByb3BlcnR5LFxuICAvLyAxOS4xLjIuMyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhPLCBQcm9wZXJ0aWVzKVxuICBkZWZpbmVQcm9wZXJ0aWVzOiAkZGVmaW5lUHJvcGVydGllcyxcbiAgLy8gMTkuMS4yLjYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPLCBQKVxuICBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6ICRnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsXG4gIC8vIDE5LjEuMi43IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKE8pXG4gIGdldE93blByb3BlcnR5TmFtZXM6ICRnZXRPd25Qcm9wZXJ0eU5hbWVzLFxuICAvLyAxOS4xLjIuOCBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKE8pXG4gIGdldE93blByb3BlcnR5U3ltYm9sczogJGdldE93blByb3BlcnR5U3ltYm9sc1xufSk7XG5cbi8vIDI0LjMuMiBKU09OLnN0cmluZ2lmeSh2YWx1ZSBbLCByZXBsYWNlciBbLCBzcGFjZV1dKVxuJEpTT04gJiYgJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAoIVVTRV9OQVRJVkUgfHwgJGZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgdmFyIFMgPSAkU3ltYm9sKCk7XG4gIC8vIE1TIEVkZ2UgY29udmVydHMgc3ltYm9sIHZhbHVlcyB0byBKU09OIGFzIHt9XG4gIC8vIFdlYktpdCBjb252ZXJ0cyBzeW1ib2wgdmFsdWVzIHRvIEpTT04gYXMgbnVsbFxuICAvLyBWOCB0aHJvd3Mgb24gYm94ZWQgc3ltYm9sc1xuICByZXR1cm4gX3N0cmluZ2lmeShbU10pICE9ICdbbnVsbF0nIHx8IF9zdHJpbmdpZnkoeyBhOiBTIH0pICE9ICd7fScgfHwgX3N0cmluZ2lmeShPYmplY3QoUykpICE9ICd7fSc7XG59KSksICdKU09OJywge1xuICBzdHJpbmdpZnk6IGZ1bmN0aW9uIHN0cmluZ2lmeShpdCkge1xuICAgIHZhciBhcmdzID0gW2l0XTtcbiAgICB2YXIgaSA9IDE7XG4gICAgdmFyIHJlcGxhY2VyLCAkcmVwbGFjZXI7XG4gICAgd2hpbGUgKGFyZ3VtZW50cy5sZW5ndGggPiBpKSBhcmdzLnB1c2goYXJndW1lbnRzW2krK10pO1xuICAgICRyZXBsYWNlciA9IHJlcGxhY2VyID0gYXJnc1sxXTtcbiAgICBpZiAoIWlzT2JqZWN0KHJlcGxhY2VyKSAmJiBpdCA9PT0gdW5kZWZpbmVkIHx8IGlzU3ltYm9sKGl0KSkgcmV0dXJuOyAvLyBJRTggcmV0dXJucyBzdHJpbmcgb24gdW5kZWZpbmVkXG4gICAgaWYgKCFpc0FycmF5KHJlcGxhY2VyKSkgcmVwbGFjZXIgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkge1xuICAgICAgaWYgKHR5cGVvZiAkcmVwbGFjZXIgPT0gJ2Z1bmN0aW9uJykgdmFsdWUgPSAkcmVwbGFjZXIuY2FsbCh0aGlzLCBrZXksIHZhbHVlKTtcbiAgICAgIGlmICghaXNTeW1ib2wodmFsdWUpKSByZXR1cm4gdmFsdWU7XG4gICAgfTtcbiAgICBhcmdzWzFdID0gcmVwbGFjZXI7XG4gICAgcmV0dXJuIF9zdHJpbmdpZnkuYXBwbHkoJEpTT04sIGFyZ3MpO1xuICB9XG59KTtcblxuLy8gMTkuNC4zLjQgU3ltYm9sLnByb3RvdHlwZVtAQHRvUHJpbWl0aXZlXShoaW50KVxuJFN5bWJvbFtQUk9UT1RZUEVdW1RPX1BSSU1JVElWRV0gfHwgX193ZWJwYWNrX3JlcXVpcmVfXygyNykoJFN5bWJvbFtQUk9UT1RZUEVdLCBUT19QUklNSVRJVkUsICRTeW1ib2xbUFJPVE9UWVBFXS52YWx1ZU9mKTtcbi8vIDE5LjQuMy41IFN5bWJvbC5wcm90b3R5cGVbQEB0b1N0cmluZ1RhZ11cbnNldFRvU3RyaW5nVGFnKCRTeW1ib2wsICdTeW1ib2wnKTtcbi8vIDIwLjIuMS45IE1hdGhbQEB0b1N0cmluZ1RhZ11cbnNldFRvU3RyaW5nVGFnKE1hdGgsICdNYXRoJywgdHJ1ZSk7XG4vLyAyNC4zLjMgSlNPTltAQHRvU3RyaW5nVGFnXVxuc2V0VG9TdHJpbmdUYWcoZ2xvYmFsLkpTT04sICdKU09OJywgdHJ1ZSk7XG5cblxuLyoqKi8gfSksXG4vKiAzMDUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxudmFyIE1FVEEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ4KSgnbWV0YScpO1xudmFyIGlzT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygyOCk7XG52YXIgaGFzID0gX193ZWJwYWNrX3JlcXVpcmVfXygyNik7XG52YXIgc2V0RGVzYyA9IF9fd2VicGFja19yZXF1aXJlX18oMTgpLmY7XG52YXIgaWQgPSAwO1xudmFyIGlzRXh0ZW5zaWJsZSA9IE9iamVjdC5pc0V4dGVuc2libGUgfHwgZnVuY3Rpb24gKCkge1xuICByZXR1cm4gdHJ1ZTtcbn07XG52YXIgRlJFRVpFID0gIV9fd2VicGFja19yZXF1aXJlX18oMzApKGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGlzRXh0ZW5zaWJsZShPYmplY3QucHJldmVudEV4dGVuc2lvbnMoe30pKTtcbn0pO1xudmFyIHNldE1ldGEgPSBmdW5jdGlvbiAoaXQpIHtcbiAgc2V0RGVzYyhpdCwgTUVUQSwgeyB2YWx1ZToge1xuICAgIGk6ICdPJyArICsraWQsIC8vIG9iamVjdCBJRFxuICAgIHc6IHt9ICAgICAgICAgIC8vIHdlYWsgY29sbGVjdGlvbnMgSURzXG4gIH0gfSk7XG59O1xudmFyIGZhc3RLZXkgPSBmdW5jdGlvbiAoaXQsIGNyZWF0ZSkge1xuICAvLyByZXR1cm4gcHJpbWl0aXZlIHdpdGggcHJlZml4XG4gIGlmICghaXNPYmplY3QoaXQpKSByZXR1cm4gdHlwZW9mIGl0ID09ICdzeW1ib2wnID8gaXQgOiAodHlwZW9mIGl0ID09ICdzdHJpbmcnID8gJ1MnIDogJ1AnKSArIGl0O1xuICBpZiAoIWhhcyhpdCwgTUVUQSkpIHtcbiAgICAvLyBjYW4ndCBzZXQgbWV0YWRhdGEgdG8gdW5jYXVnaHQgZnJvemVuIG9iamVjdFxuICAgIGlmICghaXNFeHRlbnNpYmxlKGl0KSkgcmV0dXJuICdGJztcbiAgICAvLyBub3QgbmVjZXNzYXJ5IHRvIGFkZCBtZXRhZGF0YVxuICAgIGlmICghY3JlYXRlKSByZXR1cm4gJ0UnO1xuICAgIC8vIGFkZCBtaXNzaW5nIG1ldGFkYXRhXG4gICAgc2V0TWV0YShpdCk7XG4gIC8vIHJldHVybiBvYmplY3QgSURcbiAgfSByZXR1cm4gaXRbTUVUQV0uaTtcbn07XG52YXIgZ2V0V2VhayA9IGZ1bmN0aW9uIChpdCwgY3JlYXRlKSB7XG4gIGlmICghaGFzKGl0LCBNRVRBKSkge1xuICAgIC8vIGNhbid0IHNldCBtZXRhZGF0YSB0byB1bmNhdWdodCBmcm96ZW4gb2JqZWN0XG4gICAgaWYgKCFpc0V4dGVuc2libGUoaXQpKSByZXR1cm4gdHJ1ZTtcbiAgICAvLyBub3QgbmVjZXNzYXJ5IHRvIGFkZCBtZXRhZGF0YVxuICAgIGlmICghY3JlYXRlKSByZXR1cm4gZmFsc2U7XG4gICAgLy8gYWRkIG1pc3NpbmcgbWV0YWRhdGFcbiAgICBzZXRNZXRhKGl0KTtcbiAgLy8gcmV0dXJuIGhhc2ggd2VhayBjb2xsZWN0aW9ucyBJRHNcbiAgfSByZXR1cm4gaXRbTUVUQV0udztcbn07XG4vLyBhZGQgbWV0YWRhdGEgb24gZnJlZXplLWZhbWlseSBtZXRob2RzIGNhbGxpbmdcbnZhciBvbkZyZWV6ZSA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAoRlJFRVpFICYmIG1ldGEuTkVFRCAmJiBpc0V4dGVuc2libGUoaXQpICYmICFoYXMoaXQsIE1FVEEpKSBzZXRNZXRhKGl0KTtcbiAgcmV0dXJuIGl0O1xufTtcbnZhciBtZXRhID0gbW9kdWxlLmV4cG9ydHMgPSB7XG4gIEtFWTogTUVUQSxcbiAgTkVFRDogZmFsc2UsXG4gIGZhc3RLZXk6IGZhc3RLZXksXG4gIGdldFdlYWs6IGdldFdlYWssXG4gIG9uRnJlZXplOiBvbkZyZWV6ZVxufTtcblxuXG4vKioqLyB9KSxcbi8qIDMwNiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG4vLyBhbGwgZW51bWVyYWJsZSBvYmplY3Qga2V5cywgaW5jbHVkZXMgc3ltYm9sc1xudmFyIGdldEtleXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQwKTtcbnZhciBnT1BTID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2Nyk7XG52YXIgcElFID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1MCk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICB2YXIgcmVzdWx0ID0gZ2V0S2V5cyhpdCk7XG4gIHZhciBnZXRTeW1ib2xzID0gZ09QUy5mO1xuICBpZiAoZ2V0U3ltYm9scykge1xuICAgIHZhciBzeW1ib2xzID0gZ2V0U3ltYm9scyhpdCk7XG4gICAgdmFyIGlzRW51bSA9IHBJRS5mO1xuICAgIHZhciBpID0gMDtcbiAgICB2YXIga2V5O1xuICAgIHdoaWxlIChzeW1ib2xzLmxlbmd0aCA+IGkpIGlmIChpc0VudW0uY2FsbChpdCwga2V5ID0gc3ltYm9sc1tpKytdKSkgcmVzdWx0LnB1c2goa2V5KTtcbiAgfSByZXR1cm4gcmVzdWx0O1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDMwNyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG4vLyA3LjIuMiBJc0FycmF5KGFyZ3VtZW50KVxudmFyIGNvZiA9IF9fd2VicGFja19yZXF1aXJlX18oNDEpO1xubW9kdWxlLmV4cG9ydHMgPSBBcnJheS5pc0FycmF5IHx8IGZ1bmN0aW9uIGlzQXJyYXkoYXJnKSB7XG4gIHJldHVybiBjb2YoYXJnKSA9PSAnQXJyYXknO1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDMwOCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG4vLyBmYWxsYmFjayBmb3IgSUUxMSBidWdneSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyB3aXRoIGlmcmFtZSBhbmQgd2luZG93XG52YXIgdG9JT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygyOSk7XG52YXIgZ09QTiA9IF9fd2VicGFja19yZXF1aXJlX18oMTA5KS5mO1xudmFyIHRvU3RyaW5nID0ge30udG9TdHJpbmc7XG5cbnZhciB3aW5kb3dOYW1lcyA9IHR5cGVvZiB3aW5kb3cgPT0gJ29iamVjdCcgJiYgd2luZG93ICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzXG4gID8gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMod2luZG93KSA6IFtdO1xuXG52YXIgZ2V0V2luZG93TmFtZXMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZ09QTihpdCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gd2luZG93TmFtZXMuc2xpY2UoKTtcbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMuZiA9IGZ1bmN0aW9uIGdldE93blByb3BlcnR5TmFtZXMoaXQpIHtcbiAgcmV0dXJuIHdpbmRvd05hbWVzICYmIHRvU3RyaW5nLmNhbGwoaXQpID09ICdbb2JqZWN0IFdpbmRvd10nID8gZ2V0V2luZG93TmFtZXMoaXQpIDogZ09QTih0b0lPYmplY3QoaXQpKTtcbn07XG5cblxuLyoqKi8gfSksXG4vKiAzMDkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxudmFyIHBJRSA9IF9fd2VicGFja19yZXF1aXJlX18oNTApO1xudmFyIGNyZWF0ZURlc2MgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQzKTtcbnZhciB0b0lPYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI5KTtcbnZhciB0b1ByaW1pdGl2ZSA9IF9fd2VicGFja19yZXF1aXJlX18oNjYpO1xudmFyIGhhcyA9IF9fd2VicGFja19yZXF1aXJlX18oMjYpO1xudmFyIElFOF9ET01fREVGSU5FID0gX193ZWJwYWNrX3JlcXVpcmVfXyg4OCk7XG52YXIgZ09QRCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG5cbmV4cG9ydHMuZiA9IF9fd2VicGFja19yZXF1aXJlX18oMjIpID8gZ09QRCA6IGZ1bmN0aW9uIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihPLCBQKSB7XG4gIE8gPSB0b0lPYmplY3QoTyk7XG4gIFAgPSB0b1ByaW1pdGl2ZShQLCB0cnVlKTtcbiAgaWYgKElFOF9ET01fREVGSU5FKSB0cnkge1xuICAgIHJldHVybiBnT1BEKE8sIFApO1xuICB9IGNhdGNoIChlKSB7IC8qIGVtcHR5ICovIH1cbiAgaWYgKGhhcyhPLCBQKSkgcmV0dXJuIGNyZWF0ZURlc2MoIXBJRS5mLmNhbGwoTywgUCksIE9bUF0pO1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDMxMCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5fX3dlYnBhY2tfcmVxdWlyZV9fKDczKSgnYXN5bmNJdGVyYXRvcicpO1xuXG5cbi8qKiovIH0pLFxuLyogMzExICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbl9fd2VicGFja19yZXF1aXJlX18oNzMpKCdvYnNlcnZhYmxlJyk7XG5cblxuLyoqKi8gfSksXG4vKiAzMTIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc2VsZWN0X2hlYWRfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDExMSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc2VsZWN0X2hlYWRfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zZWxlY3RfaGVhZF92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3NlbGVjdF9oZWFkX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zZWxlY3RfaGVhZF92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl83MGYxYmUzZV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3NlbGVjdF9oZWFkX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygzMTMpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzcwZjFiZTNlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfc2VsZWN0X2hlYWRfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl83MGYxYmUzZV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3NlbGVjdF9oZWFkX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3NlbGVjdF9oZWFkX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNzBmMWJlM2VfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9zZWxlY3RfaGVhZF92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNzBmMWJlM2VfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9zZWxlY3RfaGVhZF92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogMzEzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBjbGFzczogX3ZtLmhlYWRDbHMsIG9uOiB7IFwiY2xpY2tcIjogX3ZtLm9uSGVhZGVyQ2xpY2sgfSB9LCBbX3ZtLiRzbG90cy5wcmVmaXggfHwgX3ZtLnByZWZpeCA/IF9jKCdzcGFuJywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLXByZWZpeCddIH0sIFtfdm0uX3QoXCJwcmVmaXhcIiwgW192bS5wcmVmaXggPyBfYygnSWNvbicsIHsgYXR0cnM6IHsgXCJ0eXBlXCI6IF92bS5wcmVmaXggfSB9KSA6IF92bS5fZSgpXSldLCAyKSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfdm0uX2woX3ZtLnNlbGVjdGVkTXVsdGlwbGUsIGZ1bmN0aW9uIChpdGVtLCBpbmRleCkge1xuICAgIHJldHVybiBfdm0ubWF4VGFnQ291bnQgPT09IHVuZGVmaW5lZCB8fCBpbmRleCA8IF92bS5tYXhUYWdDb3VudCA/IF9jKCdkaXYnLCB7IHN0YXRpY0NsYXNzOiBcIml2dS10YWcgaXZ1LXRhZy1jaGVja2VkXCIgfSwgW19jKCdzcGFuJywgeyBzdGF0aWNDbGFzczogXCJpdnUtdGFnLXRleHRcIiB9LCBbX3ZtLl92KF92bS5fcyhpdGVtLmxhYmVsKSldKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ0ljb24nLCB7IGF0dHJzOiB7IFwidHlwZVwiOiBcImlvcy1jbG9zZVwiIH0sIG5hdGl2ZU9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBfdm0ucmVtb3ZlVGFnKGl0ZW0pO1xuICAgICAgICB9IH0gfSldLCAxKSA6IF92bS5fZSgpO1xuICB9KSwgX3ZtLm1heFRhZ0NvdW50ICE9PSB1bmRlZmluZWQgJiYgX3ZtLnNlbGVjdGVkTXVsdGlwbGUubGVuZ3RoID4gX3ZtLm1heFRhZ0NvdW50ID8gX2MoJ2RpdicsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LXRhZyBpdnUtdGFnLWNoZWNrZWRcIiB9LCBbX2MoJ3NwYW4nLCB7IHN0YXRpY0NsYXNzOiBcIml2dS10YWctdGV4dCBpdnUtc2VsZWN0LW1heC10YWdcIiB9LCBbX3ZtLm1heFRhZ1BsYWNlaG9sZGVyID8gW192bS5fdihfdm0uX3MoX3ZtLm1heFRhZ1BsYWNlaG9sZGVyKF92bS5zZWxlY3RlZE11bHRpcGxlLmxlbmd0aCAtIF92bS5tYXhUYWdDb3VudCkpKV0gOiBbX3ZtLl92KFwiKyBcIiArIF92bS5fcyhfdm0uc2VsZWN0ZWRNdWx0aXBsZS5sZW5ndGggLSBfdm0ubWF4VGFnQ291bnQpICsgXCIuLi5cIildXSwgMildKSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfYygnc3BhbicsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBfdm0uc2luZ2xlRGlzcGxheVZhbHVlLCBleHByZXNzaW9uOiBcInNpbmdsZURpc3BsYXlWYWx1ZVwiIH1dLCBjbGFzczogX3ZtLnNpbmdsZURpc3BsYXlDbGFzc2VzIH0sIFtfdm0uX3YoX3ZtLl9zKF92bS5zaW5nbGVEaXNwbGF5VmFsdWUpKV0pLCBfdm0uX3YoXCIgXCIpLCBfdm0uZmlsdGVyYWJsZSA/IF9jKCdpbnB1dCcsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJtb2RlbFwiLCByYXdOYW1lOiBcInYtbW9kZWxcIiwgdmFsdWU6IF92bS5xdWVyeSwgZXhwcmVzc2lvbjogXCJxdWVyeVwiIH1dLCByZWY6IFwiaW5wdXRcIiwgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1pbnB1dCddLCBzdHlsZTogX3ZtLmlucHV0U3R5bGUsIGF0dHJzOiB7IFwiaWRcIjogX3ZtLmlucHV0RWxlbWVudElkLCBcInR5cGVcIjogXCJ0ZXh0XCIsIFwiZGlzYWJsZWRcIjogX3ZtLmRpc2FibGVkLCBcInBsYWNlaG9sZGVyXCI6IF92bS5zaG93UGxhY2Vob2xkZXIgPyBfdm0ubG9jYWxlUGxhY2Vob2xkZXIgOiAnJywgXCJhdXRvY29tcGxldGVcIjogXCJvZmZcIiwgXCJzcGVsbGNoZWNrXCI6IFwiZmFsc2VcIiB9LCBkb21Qcm9wczogeyBcInZhbHVlXCI6IF92bS5xdWVyeSB9LCBvbjogeyBcImtleWRvd25cIjogW192bS5yZXNldElucHV0U3RhdGUsIGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwiZGVsZXRlXCIsIFs4LCA0Nl0sICRldmVudC5rZXksIFtcIkJhY2tzcGFjZVwiLCBcIkRlbGV0ZVwiLCBcIkRlbFwiXSkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfXJldHVybiBfdm0uaGFuZGxlSW5wdXREZWxldGUoJGV2ZW50KTtcbiAgICAgIH1dLCBcImZvY3VzXCI6IF92bS5vbklucHV0Rm9jdXMsIFwiYmx1clwiOiBfdm0ub25JbnB1dEJsdXIsIFwiaW5wdXRcIjogZnVuY3Rpb24gaW5wdXQoJGV2ZW50KSB7XG4gICAgICAgIGlmICgkZXZlbnQudGFyZ2V0LmNvbXBvc2luZykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfV92bS5xdWVyeSA9ICRldmVudC50YXJnZXQudmFsdWU7XG4gICAgICB9IH0gfSkgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLnJlc2V0U2VsZWN0ID8gX2MoJ0ljb24nLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctYXJyb3cnXSwgYXR0cnM6IHsgXCJ0eXBlXCI6IFwiaW9zLWNsb3NlLWNpcmNsZVwiIH0sIG5hdGl2ZU9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtyZXR1cm4gX3ZtLm9uQ2xlYXIoJGV2ZW50KTtcbiAgICAgIH0gfSB9KSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCAhX3ZtLnJlc2V0U2VsZWN0ICYmICFfdm0ucmVtb3RlID8gX2MoJ0ljb24nLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctYXJyb3cnXSwgYXR0cnM6IHsgXCJ0eXBlXCI6IF92bS5hcnJvd1R5cGUsIFwiY3VzdG9tXCI6IF92bS5jdXN0b21BcnJvd1R5cGUsIFwic2l6ZVwiOiBfdm0uYXJyb3dTaXplIH0gfSkgOiBfdm0uX2UoKV0sIDIpO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogMzE0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Z1bmN0aW9uYWxfb3B0aW9uc192dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTEyKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9mdW5jdGlvbmFsX29wdGlvbnNfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9mdW5jdGlvbmFsX29wdGlvbnNfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9mdW5jdGlvbmFsX29wdGlvbnNfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Z1bmN0aW9uYWxfb3B0aW9uc192dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cbnZhciBfX3Z1ZV9yZW5kZXJfXywgX192dWVfc3RhdGljX3JlbmRlcl9mbnNfX1xuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Z1bmN0aW9uYWxfb3B0aW9uc192dWVfX19kZWZhdWx0LmEsXG4gIF9fdnVlX3JlbmRlcl9fLFxuICBfX3Z1ZV9zdGF0aWNfcmVuZGVyX2Zuc19fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiAzMTUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGRpcmVjdGl2ZXM6IFt7IG5hbWU6IFwiY2xpY2stb3V0c2lkZVwiLCByYXdOYW1lOiBcInYtY2xpY2stb3V0c2lkZS5jYXB0dXJlXCIsIHZhbHVlOiBfdm0ub25DbGlja091dHNpZGUsIGV4cHJlc3Npb246IFwib25DbGlja091dHNpZGVcIiwgbW9kaWZpZXJzOiB7IFwiY2FwdHVyZVwiOiB0cnVlIH0gfSwgeyBuYW1lOiBcImNsaWNrLW91dHNpZGVcIiwgcmF3TmFtZTogXCJ2LWNsaWNrLW91dHNpZGU6bW91c2Vkb3duLmNhcHR1cmVcIiwgdmFsdWU6IF92bS5vbkNsaWNrT3V0c2lkZSwgZXhwcmVzc2lvbjogXCJvbkNsaWNrT3V0c2lkZVwiLCBhcmc6IFwibW91c2Vkb3duXCIsIG1vZGlmaWVyczogeyBcImNhcHR1cmVcIjogdHJ1ZSB9IH0sIHsgbmFtZTogXCJjbGljay1vdXRzaWRlXCIsIHJhd05hbWU6IFwidi1jbGljay1vdXRzaWRlOnRvdWNoc3RhcnQuY2FwdHVyZVwiLCB2YWx1ZTogX3ZtLm9uQ2xpY2tPdXRzaWRlLCBleHByZXNzaW9uOiBcIm9uQ2xpY2tPdXRzaWRlXCIsIGFyZzogXCJ0b3VjaHN0YXJ0XCIsIG1vZGlmaWVyczogeyBcImNhcHR1cmVcIjogdHJ1ZSB9IH1dLCBjbGFzczogX3ZtLmNsYXNzZXMgfSwgW19jKCdkaXYnLCB7IHJlZjogXCJyZWZlcmVuY2VcIiwgY2xhc3M6IF92bS5zZWxlY3Rpb25DbHMsIGF0dHJzOiB7IFwidGFiaW5kZXhcIjogX3ZtLnNlbGVjdFRhYmluZGV4IH0sIG9uOiB7IFwiYmx1clwiOiBfdm0udG9nZ2xlSGVhZGVyRm9jdXMsIFwiZm9jdXNcIjogX3ZtLnRvZ2dsZUhlYWRlckZvY3VzLCBcImNsaWNrXCI6IF92bS50b2dnbGVNZW51LCBcImtleWRvd25cIjogW2Z1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwiZXNjXCIsIDI3LCAkZXZlbnQua2V5LCBbXCJFc2NcIiwgXCJFc2NhcGVcIl0pKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1yZXR1cm4gX3ZtLmhhbmRsZUtleWRvd24oJGV2ZW50KTtcbiAgICAgIH0sIGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwiZW50ZXJcIiwgMTMsICRldmVudC5rZXksIFwiRW50ZXJcIikpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfXJldHVybiBfdm0uaGFuZGxlS2V5ZG93bigkZXZlbnQpO1xuICAgICAgfSwgZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICBpZiAoISRldmVudC50eXBlLmluZGV4T2YoJ2tleScpICYmIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJ1cFwiLCAzOCwgJGV2ZW50LmtleSwgW1wiVXBcIiwgXCJBcnJvd1VwXCJdKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9JGV2ZW50LnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIF92bS5oYW5kbGVLZXlkb3duKCRldmVudCk7XG4gICAgICB9LCBmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgIGlmICghJGV2ZW50LnR5cGUuaW5kZXhPZigna2V5JykgJiYgX3ZtLl9rKCRldmVudC5rZXlDb2RlLCBcImRvd25cIiwgNDAsICRldmVudC5rZXksIFtcIkRvd25cIiwgXCJBcnJvd0Rvd25cIl0pKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0kZXZlbnQucHJldmVudERlZmF1bHQoKTtyZXR1cm4gX3ZtLmhhbmRsZUtleWRvd24oJGV2ZW50KTtcbiAgICAgIH0sIGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwidGFiXCIsIDksICRldmVudC5rZXksIFwiVGFiXCIpKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1yZXR1cm4gX3ZtLmhhbmRsZUtleWRvd24oJGV2ZW50KTtcbiAgICAgIH0sIGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwiZGVsZXRlXCIsIFs4LCA0Nl0sICRldmVudC5rZXksIFtcIkJhY2tzcGFjZVwiLCBcIkRlbGV0ZVwiLCBcIkRlbFwiXSkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfXJldHVybiBfdm0uaGFuZGxlS2V5ZG93bigkZXZlbnQpO1xuICAgICAgfV0sIFwibW91c2VlbnRlclwiOiBmdW5jdGlvbiBtb3VzZWVudGVyKCRldmVudCkge1xuICAgICAgICBfdm0uaGFzTW91c2VIb3ZlckhlYWQgPSB0cnVlO1xuICAgICAgfSwgXCJtb3VzZWxlYXZlXCI6IGZ1bmN0aW9uIG1vdXNlbGVhdmUoJGV2ZW50KSB7XG4gICAgICAgIF92bS5oYXNNb3VzZUhvdmVySGVhZCA9IGZhbHNlO1xuICAgICAgfSB9IH0sIFtfdm0uX3QoXCJpbnB1dFwiLCBbX2MoJ2lucHV0JywgeyBhdHRyczogeyBcInR5cGVcIjogXCJoaWRkZW5cIiwgXCJuYW1lXCI6IF92bS5uYW1lIH0sIGRvbVByb3BzOiB7IFwidmFsdWVcIjogX3ZtLnB1YmxpY1ZhbHVlIH0gfSksIF92bS5fdihcIiBcIiksIF9jKCdzZWxlY3QtaGVhZCcsIHsgYXR0cnM6IHsgXCJmaWx0ZXJhYmxlXCI6IF92bS5maWx0ZXJhYmxlLCBcIm11bHRpcGxlXCI6IF92bS5tdWx0aXBsZSwgXCJ2YWx1ZXNcIjogX3ZtLnZhbHVlcywgXCJjbGVhcmFibGVcIjogX3ZtLmNhbkJlQ2xlYXJlZCwgXCJwcmVmaXhcIjogX3ZtLnByZWZpeCwgXCJkaXNhYmxlZFwiOiBfdm0uZGlzYWJsZWQsIFwicmVtb3RlXCI6IF92bS5yZW1vdGUsIFwiaW5wdXQtZWxlbWVudC1pZFwiOiBfdm0uZWxlbWVudElkLCBcImluaXRpYWwtbGFiZWxcIjogX3ZtLmluaXRpYWxMYWJlbCwgXCJwbGFjZWhvbGRlclwiOiBfdm0ucGxhY2Vob2xkZXIsIFwicXVlcnktcHJvcFwiOiBfdm0ucXVlcnksIFwibWF4LXRhZy1jb3VudFwiOiBfdm0ubWF4VGFnQ291bnQsIFwibWF4LXRhZy1wbGFjZWhvbGRlclwiOiBfdm0ubWF4VGFnUGxhY2Vob2xkZXIgfSwgb246IHsgXCJvbi1xdWVyeS1jaGFuZ2VcIjogX3ZtLm9uUXVlcnlDaGFuZ2UsIFwib24taW5wdXQtZm9jdXNcIjogZnVuY3Rpb24gb25JbnB1dEZvY3VzKCRldmVudCkge1xuICAgICAgICBfdm0uaXNGb2N1c2VkID0gdHJ1ZTtcbiAgICAgIH0sIFwib24taW5wdXQtYmx1clwiOiBmdW5jdGlvbiBvbklucHV0Qmx1cigkZXZlbnQpIHtcbiAgICAgICAgX3ZtLmlzRm9jdXNlZCA9IGZhbHNlO1xuICAgICAgfSwgXCJvbi1jbGVhclwiOiBfdm0uY2xlYXJTaW5nbGVTZWxlY3QgfSB9LCBbX3ZtLl90KFwicHJlZml4XCIsIG51bGwsIHsgXCJzbG90XCI6IFwicHJlZml4XCIgfSldLCAyKV0pXSwgMiksIF92bS5fdihcIiBcIiksIF9jKCd0cmFuc2l0aW9uJywgeyBhdHRyczogeyBcIm5hbWVcIjogXCJ0cmFuc2l0aW9uLWRyb3BcIiB9IH0sIFtfYygnRHJvcCcsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBfdm0uZHJvcFZpc2libGUsIGV4cHJlc3Npb246IFwiZHJvcFZpc2libGVcIiB9LCB7IG5hbWU6IFwidHJhbnNmZXItZG9tXCIsIHJhd05hbWU6IFwidi10cmFuc2Zlci1kb21cIiB9XSwgcmVmOiBcImRyb3Bkb3duXCIsIGNsYXNzOiBfdm0uZHJvcGRvd25DbHMsIGF0dHJzOiB7IFwicGxhY2VtZW50XCI6IF92bS5wbGFjZW1lbnQsIFwiZGF0YS10cmFuc2ZlclwiOiBfdm0udHJhbnNmZXIsIFwidHJhbnNmZXJcIjogX3ZtLnRyYW5zZmVyIH0gfSwgW19jKCd1bCcsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBfdm0uc2hvd05vdEZvdW5kTGFiZWwsIGV4cHJlc3Npb246IFwic2hvd05vdEZvdW5kTGFiZWxcIiB9XSwgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1ub3QtZm91bmQnXSB9LCBbX2MoJ2xpJywgW192bS5fdihfdm0uX3MoX3ZtLmxvY2FsZU5vdEZvdW5kVGV4dCkpXSldKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ3VsJywgeyBjbGFzczogX3ZtLnByZWZpeENscyArICctZHJvcGRvd24tbGlzdCcgfSwgWyFfdm0ucmVtb3RlIHx8IF92bS5yZW1vdGUgJiYgIV92bS5sb2FkaW5nID8gX2MoJ2Z1bmN0aW9uYWwtb3B0aW9ucycsIHsgYXR0cnM6IHsgXCJvcHRpb25zXCI6IF92bS5zZWxlY3RPcHRpb25zLCBcInNsb3QtdXBkYXRlLWhvb2tcIjogX3ZtLnVwZGF0ZVNsb3RPcHRpb25zLCBcInNsb3Qtb3B0aW9uc1wiOiBfdm0uc2xvdE9wdGlvbnMgfSB9KSA6IF92bS5fZSgpXSwgMSksIF92bS5fdihcIiBcIiksIF9jKCd1bCcsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBfdm0ubG9hZGluZywgZXhwcmVzc2lvbjogXCJsb2FkaW5nXCIgfV0sIGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctbG9hZGluZyddIH0sIFtfdm0uX3YoX3ZtLl9zKF92bS5sb2NhbGVMb2FkaW5nVGV4dCkpXSldKV0sIDEpXSwgMSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiAzMTYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdsaScsIHsgY2xhc3M6IF92bS5jbGFzc2VzLCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7cmV0dXJuIF92bS5zZWxlY3QoJGV2ZW50KTtcbiAgICAgIH0sIFwibW91c2Vkb3duXCI6IGZ1bmN0aW9uIG1vdXNlZG93bigkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9IH0gfSwgW192bS5fdChcImRlZmF1bHRcIiwgW192bS5fdihfdm0uX3MoX3ZtLnNob3dMYWJlbCkpXSldLCAyKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDMxNyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5tb2R1bGUuZXhwb3J0cyA9IHsgXCJkZWZhdWx0XCI6IF9fd2VicGFja19yZXF1aXJlX18oMzE4KSwgX19lc01vZHVsZTogdHJ1ZSB9O1xuXG4vKioqLyB9KSxcbi8qIDMxOCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5fX3dlYnBhY2tfcmVxdWlyZV9fKDMxOSk7XG5tb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oNikuTnVtYmVyLmlzTmFOO1xuXG5cbi8qKiovIH0pLFxuLyogMzE5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbi8vIDIwLjEuMi40IE51bWJlci5pc05hTihudW1iZXIpXG52YXIgJGV4cG9ydCA9IF9fd2VicGFja19yZXF1aXJlX18oMTApO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ051bWJlcicsIHtcbiAgaXNOYU46IGZ1bmN0aW9uIGlzTmFOKG51bWJlcikge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICByZXR1cm4gbnVtYmVyICE9IG51bWJlcjtcbiAgfVxufSk7XG5cblxuLyoqKi8gfSksXG4vKiAzMjAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX21heFNhZmVJbnRlZ2VyID0gX193ZWJwYWNrX3JlcXVpcmVfXygzMjEpO1xuXG52YXIgX21heFNhZmVJbnRlZ2VyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX21heFNhZmVJbnRlZ2VyKTtcblxudmFyIF9taW5TYWZlSW50ZWdlciA9IF9fd2VicGFja19yZXF1aXJlX18oMzI0KTtcblxudmFyIF9taW5TYWZlSW50ZWdlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9taW5TYWZlSW50ZWdlcik7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG5leHBvcnRzLmRlZmF1bHQgPSBjYWxjVGV4dGFyZWFIZWlnaHQ7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBISURERU5fVEVYVEFSRUFfU1RZTEUgPSAnXFxuICBtaW4taGVpZ2h0OjAgIWltcG9ydGFudDtcXG4gIG1heC1oZWlnaHQ6bm9uZSAhaW1wb3J0YW50O1xcbiAgaGVpZ2h0OjAgIWltcG9ydGFudDtcXG4gIHZpc2liaWxpdHk6aGlkZGVuICFpbXBvcnRhbnQ7XFxuICBvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudDtcXG4gIHBvc2l0aW9uOmFic29sdXRlICFpbXBvcnRhbnQ7XFxuICB6LWluZGV4Oi0xMDAwICFpbXBvcnRhbnQ7XFxuICB0b3A6MCAhaW1wb3J0YW50O1xcbiAgcmlnaHQ6MCAhaW1wb3J0YW50XFxuJztcblxudmFyIFNJWklOR19TVFlMRSA9IFsnbGV0dGVyLXNwYWNpbmcnLCAnbGluZS1oZWlnaHQnLCAncGFkZGluZy10b3AnLCAncGFkZGluZy1ib3R0b20nLCAnZm9udC1mYW1pbHknLCAnZm9udC13ZWlnaHQnLCAnZm9udC1zaXplJywgJ3RleHQtcmVuZGVyaW5nJywgJ3RleHQtdHJhbnNmb3JtJywgJ3dpZHRoJywgJ3RleHQtaW5kZW50JywgJ3BhZGRpbmctbGVmdCcsICdwYWRkaW5nLXJpZ2h0JywgJ2JvcmRlci13aWR0aCcsICdib3gtc2l6aW5nJ107XG5cbnZhciBjb21wdXRlZFN0eWxlQ2FjaGUgPSB7fTtcbnZhciBoaWRkZW5UZXh0YXJlYSA9IHZvaWQgMDtcblxuZnVuY3Rpb24gY2FsY3VsYXRlTm9kZVN0eWxpbmcobm9kZSkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICB2YXIgdXNlQ2FjaGUgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGZhbHNlO1xuXG4gICAgdmFyIG5vZGVSZWYgPSBub2RlLmdldEF0dHJpYnV0ZSgnaWQnKSB8fCBub2RlLmdldEF0dHJpYnV0ZSgnZGF0YS1yZWFjdGlkJykgfHwgbm9kZS5nZXRBdHRyaWJ1dGUoJ25hbWUnKTtcblxuICAgIGlmICh1c2VDYWNoZSAmJiBjb21wdXRlZFN0eWxlQ2FjaGVbbm9kZVJlZl0pIHtcbiAgICAgICAgcmV0dXJuIGNvbXB1dGVkU3R5bGVDYWNoZVtub2RlUmVmXTtcbiAgICB9XG5cbiAgICB2YXIgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShub2RlKTtcblxuICAgIHZhciBib3hTaXppbmcgPSBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdib3gtc2l6aW5nJykgfHwgc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLW1vei1ib3gtc2l6aW5nJykgfHwgc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ib3gtc2l6aW5nJyk7XG5cbiAgICB2YXIgcGFkZGluZ1NpemUgPSBwYXJzZUZsb2F0KHN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmctYm90dG9tJykpICsgcGFyc2VGbG9hdChzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLXRvcCcpKTtcblxuICAgIHZhciBib3JkZXJTaXplID0gcGFyc2VGbG9hdChzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdib3JkZXItYm90dG9tLXdpZHRoJykpICsgcGFyc2VGbG9hdChzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdib3JkZXItdG9wLXdpZHRoJykpO1xuXG4gICAgdmFyIHNpemluZ1N0eWxlID0gU0laSU5HX1NUWUxFLm1hcChmdW5jdGlvbiAobmFtZSkge1xuICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcbiAgICAgICAgcmV0dXJuIFN0cmluZyhuYW1lKSArICc6JyArIFN0cmluZyhzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKG5hbWUpKTtcbiAgICB9LmJpbmQodGhpcykpLmpvaW4oJzsnKTtcblxuICAgIHZhciBub2RlSW5mbyA9IHtcbiAgICAgICAgc2l6aW5nU3R5bGU6IHNpemluZ1N0eWxlLFxuICAgICAgICBwYWRkaW5nU2l6ZTogcGFkZGluZ1NpemUsXG4gICAgICAgIGJvcmRlclNpemU6IGJvcmRlclNpemUsXG4gICAgICAgIGJveFNpemluZzogYm94U2l6aW5nXG4gICAgfTtcblxuICAgIGlmICh1c2VDYWNoZSAmJiBub2RlUmVmKSB7XG4gICAgICAgIGNvbXB1dGVkU3R5bGVDYWNoZVtub2RlUmVmXSA9IG5vZGVJbmZvO1xuICAgIH1cblxuICAgIHJldHVybiBub2RlSW5mbztcbn1cblxuZnVuY3Rpb24gY2FsY1RleHRhcmVhSGVpZ2h0KHVpVGV4dE5vZGUpIHtcbiAgICB2YXIgbWluUm93cyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogbnVsbDtcbiAgICB2YXIgbWF4Um93cyA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogbnVsbDtcbiAgICB2YXIgdXNlQ2FjaGUgPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IGZhbHNlO1xuXG4gICAgaWYgKCFoaWRkZW5UZXh0YXJlYSkge1xuICAgICAgICBoaWRkZW5UZXh0YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaGlkZGVuVGV4dGFyZWEpO1xuICAgIH1cblxuICAgIGlmICh1aVRleHROb2RlLmdldEF0dHJpYnV0ZSgnd3JhcCcpKSB7XG4gICAgICAgIGhpZGRlblRleHRhcmVhLnNldEF0dHJpYnV0ZSgnd3JhcCcsIHVpVGV4dE5vZGUuZ2V0QXR0cmlidXRlKCd3cmFwJykpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGhpZGRlblRleHRhcmVhLnJlbW92ZUF0dHJpYnV0ZSgnd3JhcCcpO1xuICAgIH1cblxuICAgIHZhciBfY2FsY3VsYXRlTm9kZVN0eWxpbmcgPSBjYWxjdWxhdGVOb2RlU3R5bGluZyh1aVRleHROb2RlLCB1c2VDYWNoZSksXG4gICAgICAgIHBhZGRpbmdTaXplID0gX2NhbGN1bGF0ZU5vZGVTdHlsaW5nLnBhZGRpbmdTaXplLFxuICAgICAgICBib3JkZXJTaXplID0gX2NhbGN1bGF0ZU5vZGVTdHlsaW5nLmJvcmRlclNpemUsXG4gICAgICAgIGJveFNpemluZyA9IF9jYWxjdWxhdGVOb2RlU3R5bGluZy5ib3hTaXppbmcsXG4gICAgICAgIHNpemluZ1N0eWxlID0gX2NhbGN1bGF0ZU5vZGVTdHlsaW5nLnNpemluZ1N0eWxlO1xuXG4gICAgaGlkZGVuVGV4dGFyZWEuc2V0QXR0cmlidXRlKCdzdHlsZScsIFN0cmluZyhzaXppbmdTdHlsZSkgKyAnOycgKyBISURERU5fVEVYVEFSRUFfU1RZTEUpO1xuICAgIGhpZGRlblRleHRhcmVhLnZhbHVlID0gdWlUZXh0Tm9kZS52YWx1ZSB8fCB1aVRleHROb2RlLnBsYWNlaG9sZGVyIHx8ICcnO1xuXG4gICAgdmFyIG1pbkhlaWdodCA9IF9taW5TYWZlSW50ZWdlcjIuZGVmYXVsdDtcbiAgICB2YXIgbWF4SGVpZ2h0ID0gX21heFNhZmVJbnRlZ2VyMi5kZWZhdWx0O1xuICAgIHZhciBoZWlnaHQgPSBoaWRkZW5UZXh0YXJlYS5zY3JvbGxIZWlnaHQ7XG4gICAgdmFyIG92ZXJmbG93WSA9IHZvaWQgMDtcblxuICAgIGlmIChib3hTaXppbmcgPT09ICdib3JkZXItYm94Jykge1xuICAgICAgICBoZWlnaHQgPSBoZWlnaHQgKyBib3JkZXJTaXplO1xuICAgIH0gZWxzZSBpZiAoYm94U2l6aW5nID09PSAnY29udGVudC1ib3gnKSB7XG4gICAgICAgIGhlaWdodCA9IGhlaWdodCAtIHBhZGRpbmdTaXplO1xuICAgIH1cblxuICAgIGlmIChtaW5Sb3dzICE9PSBudWxsIHx8IG1heFJvd3MgIT09IG51bGwpIHtcbiAgICAgICAgaGlkZGVuVGV4dGFyZWEudmFsdWUgPSAnICc7XG4gICAgICAgIHZhciBzaW5nbGVSb3dIZWlnaHQgPSBoaWRkZW5UZXh0YXJlYS5zY3JvbGxIZWlnaHQgLSBwYWRkaW5nU2l6ZTtcbiAgICAgICAgaWYgKG1pblJvd3MgIT09IG51bGwpIHtcbiAgICAgICAgICAgIG1pbkhlaWdodCA9IHNpbmdsZVJvd0hlaWdodCAqIG1pblJvd3M7XG4gICAgICAgICAgICBpZiAoYm94U2l6aW5nID09PSAnYm9yZGVyLWJveCcpIHtcbiAgICAgICAgICAgICAgICBtaW5IZWlnaHQgPSBtaW5IZWlnaHQgKyBwYWRkaW5nU2l6ZSArIGJvcmRlclNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoZWlnaHQgPSBNYXRoLm1heChtaW5IZWlnaHQsIGhlaWdodCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1heFJvd3MgIT09IG51bGwpIHtcbiAgICAgICAgICAgIG1heEhlaWdodCA9IHNpbmdsZVJvd0hlaWdodCAqIG1heFJvd3M7XG4gICAgICAgICAgICBpZiAoYm94U2l6aW5nID09PSAnYm9yZGVyLWJveCcpIHtcbiAgICAgICAgICAgICAgICBtYXhIZWlnaHQgPSBtYXhIZWlnaHQgKyBwYWRkaW5nU2l6ZSArIGJvcmRlclNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvdmVyZmxvd1kgPSBoZWlnaHQgPiBtYXhIZWlnaHQgPyAnJyA6ICdoaWRkZW4nO1xuICAgICAgICAgICAgaGVpZ2h0ID0gTWF0aC5taW4obWF4SGVpZ2h0LCBoZWlnaHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFtYXhSb3dzKSB7XG4gICAgICAgIG92ZXJmbG93WSA9ICdoaWRkZW4nO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIGhlaWdodDogU3RyaW5nKGhlaWdodCkgKyAncHgnLFxuICAgICAgICBtaW5IZWlnaHQ6IFN0cmluZyhtaW5IZWlnaHQpICsgJ3B4JyxcbiAgICAgICAgbWF4SGVpZ2h0OiBTdHJpbmcobWF4SGVpZ2h0KSArICdweCcsXG4gICAgICAgIG92ZXJmbG93WTogb3ZlcmZsb3dZXG4gICAgfTtcbn1cblxuLyoqKi8gfSksXG4vKiAzMjEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxubW9kdWxlLmV4cG9ydHMgPSB7IFwiZGVmYXVsdFwiOiBfX3dlYnBhY2tfcmVxdWlyZV9fKDMyMiksIF9fZXNNb2R1bGU6IHRydWUgfTtcblxuLyoqKi8gfSksXG4vKiAzMjIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuX193ZWJwYWNrX3JlcXVpcmVfXygzMjMpO1xubW9kdWxlLmV4cG9ydHMgPSAweDFmZmZmZmZmZmZmZmZmO1xuXG5cbi8qKiovIH0pLFxuLyogMzIzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbi8vIDIwLjEuMi42IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG52YXIgJGV4cG9ydCA9IF9fd2VicGFja19yZXF1aXJlX18oMTApO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ051bWJlcicsIHsgTUFYX1NBRkVfSU5URUdFUjogMHgxZmZmZmZmZmZmZmZmZiB9KTtcblxuXG4vKioqLyB9KSxcbi8qIDMyNCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5tb2R1bGUuZXhwb3J0cyA9IHsgXCJkZWZhdWx0XCI6IF9fd2VicGFja19yZXF1aXJlX18oMzI1KSwgX19lc01vZHVsZTogdHJ1ZSB9O1xuXG4vKioqLyB9KSxcbi8qIDMyNSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5fX3dlYnBhY2tfcmVxdWlyZV9fKDMyNik7XG5tb2R1bGUuZXhwb3J0cyA9IC0weDFmZmZmZmZmZmZmZmZmO1xuXG5cbi8qKiovIH0pLFxuLyogMzI2ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbi8vIDIwLjEuMi4xMCBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUlxudmFyICRleHBvcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEwKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdOdW1iZXInLCB7IE1JTl9TQUZFX0lOVEVHRVI6IC0weDFmZmZmZmZmZmZmZmZmIH0pO1xuXG5cbi8qKiovIH0pLFxuLyogMzI3ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBjbGFzczogX3ZtLndyYXBDbGFzc2VzIH0sIFtfdm0udHlwZSAhPT0gJ3RleHRhcmVhJyA/IFtfdm0ucHJlcGVuZCA/IF9jKCdkaXYnLCB7IGRpcmVjdGl2ZXM6IFt7IG5hbWU6IFwic2hvd1wiLCByYXdOYW1lOiBcInYtc2hvd1wiLCB2YWx1ZTogX3ZtLnNsb3RSZWFkeSwgZXhwcmVzc2lvbjogXCJzbG90UmVhZHlcIiB9XSwgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1ncm91cC1wcmVwZW5kJ10gfSwgW192bS5fdChcInByZXBlbmRcIildLCAyKSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfdm0uY2xlYXJhYmxlICYmIF92bS5jdXJyZW50VmFsdWUgJiYgIV92bS5kaXNhYmxlZCA/IF9jKCdpJywgeyBzdGF0aWNDbGFzczogXCJpdnUtaWNvblwiLCBjbGFzczogWydpdnUtaWNvbi1pb3MtY2xvc2UtY2lyY2xlJywgX3ZtLnByZWZpeENscyArICctaWNvbicsIF92bS5wcmVmaXhDbHMgKyAnLWljb24tY2xlYXInLCBfdm0ucHJlZml4Q2xzICsgJy1pY29uLW5vcm1hbCddLCBvbjogeyBcImNsaWNrXCI6IF92bS5oYW5kbGVDbGVhciB9IH0pIDogX3ZtLmljb24gPyBfYygnaScsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWljb25cIiwgY2xhc3M6IFsnaXZ1LWljb24tJyArIF92bS5pY29uLCBfdm0ucHJlZml4Q2xzICsgJy1pY29uJywgX3ZtLnByZWZpeENscyArICctaWNvbi1ub3JtYWwnXSwgb246IHsgXCJjbGlja1wiOiBfdm0uaGFuZGxlSWNvbkNsaWNrIH0gfSkgOiBfdm0uc2VhcmNoICYmIF92bS5lbnRlckJ1dHRvbiA9PT0gZmFsc2UgPyBfYygnaScsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWljb24gaXZ1LWljb24taW9zLXNlYXJjaFwiLCBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWljb24nLCBfdm0ucHJlZml4Q2xzICsgJy1pY29uLW5vcm1hbCcsIF92bS5wcmVmaXhDbHMgKyAnLXNlYXJjaC1pY29uJ10sIG9uOiB7IFwiY2xpY2tcIjogX3ZtLmhhbmRsZVNlYXJjaCB9IH0pIDogX3ZtLnNob3dTdWZmaXggPyBfYygnc3BhbicsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWlucHV0LXN1ZmZpeFwiIH0sIFtfdm0uX3QoXCJzdWZmaXhcIiwgW192bS5zdWZmaXggPyBfYygnaScsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWljb25cIiwgY2xhc3M6IFsnaXZ1LWljb24tJyArIF92bS5zdWZmaXhdIH0pIDogX3ZtLl9lKCldKV0sIDIpIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF9jKCd0cmFuc2l0aW9uJywgeyBhdHRyczogeyBcIm5hbWVcIjogXCJmYWRlXCIgfSB9LCBbIV92bS5pY29uID8gX2MoJ2knLCB7IHN0YXRpY0NsYXNzOiBcIml2dS1pY29uIGl2dS1pY29uLWlvcy1sb2FkaW5nIGl2dS1sb2FkLWxvb3BcIiwgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1pY29uJywgX3ZtLnByZWZpeENscyArICctaWNvbi12YWxpZGF0ZSddIH0pIDogX3ZtLl9lKCldKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2lucHV0JywgeyByZWY6IFwiaW5wdXRcIiwgY2xhc3M6IF92bS5pbnB1dENsYXNzZXMsIGF0dHJzOiB7IFwiaWRcIjogX3ZtLmVsZW1lbnRJZCwgXCJhdXRvY29tcGxldGVcIjogX3ZtLmF1dG9jb21wbGV0ZSwgXCJzcGVsbGNoZWNrXCI6IF92bS5zcGVsbGNoZWNrLCBcInR5cGVcIjogX3ZtLnR5cGUsIFwicGxhY2Vob2xkZXJcIjogX3ZtLnBsYWNlaG9sZGVyLCBcImRpc2FibGVkXCI6IF92bS5kaXNhYmxlZCwgXCJtYXhsZW5ndGhcIjogX3ZtLm1heGxlbmd0aCwgXCJyZWFkb25seVwiOiBfdm0ucmVhZG9ubHksIFwibmFtZVwiOiBfdm0ubmFtZSwgXCJudW1iZXJcIjogX3ZtLm51bWJlciwgXCJhdXRvZm9jdXNcIjogX3ZtLmF1dG9mb2N1cyB9LCBkb21Qcm9wczogeyBcInZhbHVlXCI6IF92bS5jdXJyZW50VmFsdWUgfSwgb246IHsgXCJrZXl1cFwiOiBbZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICBpZiAoISRldmVudC50eXBlLmluZGV4T2YoJ2tleScpICYmIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJlbnRlclwiLCAxMywgJGV2ZW50LmtleSwgXCJFbnRlclwiKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5oYW5kbGVFbnRlcigkZXZlbnQpO1xuICAgICAgfSwgX3ZtLmhhbmRsZUtleXVwXSwgXCJrZXlwcmVzc1wiOiBfdm0uaGFuZGxlS2V5cHJlc3MsIFwia2V5ZG93blwiOiBfdm0uaGFuZGxlS2V5ZG93biwgXCJmb2N1c1wiOiBfdm0uaGFuZGxlRm9jdXMsIFwiYmx1clwiOiBfdm0uaGFuZGxlQmx1ciwgXCJjb21wb3NpdGlvbnN0YXJ0XCI6IF92bS5oYW5kbGVDb21wb3NpdGlvbiwgXCJjb21wb3NpdGlvbnVwZGF0ZVwiOiBfdm0uaGFuZGxlQ29tcG9zaXRpb24sIFwiY29tcG9zaXRpb25lbmRcIjogX3ZtLmhhbmRsZUNvbXBvc2l0aW9uLCBcImlucHV0XCI6IF92bS5oYW5kbGVJbnB1dCwgXCJjaGFuZ2VcIjogX3ZtLmhhbmRsZUNoYW5nZSB9IH0pLCBfdm0uX3YoXCIgXCIpLCBfdm0uYXBwZW5kID8gX2MoJ2RpdicsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBfdm0uc2xvdFJlYWR5LCBleHByZXNzaW9uOiBcInNsb3RSZWFkeVwiIH1dLCBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWdyb3VwLWFwcGVuZCddIH0sIFtfdm0uX3QoXCJhcHBlbmRcIildLCAyKSA6IF92bS5zZWFyY2ggJiYgX3ZtLmVudGVyQnV0dG9uID8gX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1ncm91cC1hcHBlbmQnLCBfdm0ucHJlZml4Q2xzICsgJy1zZWFyY2gnXSwgb246IHsgXCJjbGlja1wiOiBfdm0uaGFuZGxlU2VhcmNoIH0gfSwgW192bS5lbnRlckJ1dHRvbiA9PT0gdHJ1ZSA/IF9jKCdpJywgeyBzdGF0aWNDbGFzczogXCJpdnUtaWNvbiBpdnUtaWNvbi1pb3Mtc2VhcmNoXCIgfSkgOiBbX3ZtLl92KF92bS5fcyhfdm0uZW50ZXJCdXR0b24pKV1dLCAyKSA6IF92bS5zaG93UHJlZml4ID8gX2MoJ3NwYW4nLCB7IHN0YXRpY0NsYXNzOiBcIml2dS1pbnB1dC1wcmVmaXhcIiB9LCBbX3ZtLl90KFwicHJlZml4XCIsIFtfdm0ucHJlZml4ID8gX2MoJ2knLCB7IHN0YXRpY0NsYXNzOiBcIml2dS1pY29uXCIsIGNsYXNzOiBbJ2l2dS1pY29uLScgKyBfdm0ucHJlZml4XSB9KSA6IF92bS5fZSgpXSldLCAyKSA6IF92bS5fZSgpXSA6IF9jKCd0ZXh0YXJlYScsIHsgcmVmOiBcInRleHRhcmVhXCIsIGNsYXNzOiBfdm0udGV4dGFyZWFDbGFzc2VzLCBzdHlsZTogX3ZtLnRleHRhcmVhU3R5bGVzLCBhdHRyczogeyBcImlkXCI6IF92bS5lbGVtZW50SWQsIFwid3JhcFwiOiBfdm0ud3JhcCwgXCJhdXRvY29tcGxldGVcIjogX3ZtLmF1dG9jb21wbGV0ZSwgXCJzcGVsbGNoZWNrXCI6IF92bS5zcGVsbGNoZWNrLCBcInBsYWNlaG9sZGVyXCI6IF92bS5wbGFjZWhvbGRlciwgXCJkaXNhYmxlZFwiOiBfdm0uZGlzYWJsZWQsIFwicm93c1wiOiBfdm0ucm93cywgXCJtYXhsZW5ndGhcIjogX3ZtLm1heGxlbmd0aCwgXCJyZWFkb25seVwiOiBfdm0ucmVhZG9ubHksIFwibmFtZVwiOiBfdm0ubmFtZSwgXCJhdXRvZm9jdXNcIjogX3ZtLmF1dG9mb2N1cyB9LCBkb21Qcm9wczogeyBcInZhbHVlXCI6IF92bS5jdXJyZW50VmFsdWUgfSwgb246IHsgXCJrZXl1cFwiOiBbZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICBpZiAoISRldmVudC50eXBlLmluZGV4T2YoJ2tleScpICYmIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJlbnRlclwiLCAxMywgJGV2ZW50LmtleSwgXCJFbnRlclwiKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5oYW5kbGVFbnRlcigkZXZlbnQpO1xuICAgICAgfSwgX3ZtLmhhbmRsZUtleXVwXSwgXCJrZXlwcmVzc1wiOiBfdm0uaGFuZGxlS2V5cHJlc3MsIFwia2V5ZG93blwiOiBfdm0uaGFuZGxlS2V5ZG93biwgXCJmb2N1c1wiOiBfdm0uaGFuZGxlRm9jdXMsIFwiYmx1clwiOiBfdm0uaGFuZGxlQmx1ciwgXCJjb21wb3NpdGlvbnN0YXJ0XCI6IF92bS5oYW5kbGVDb21wb3NpdGlvbiwgXCJjb21wb3NpdGlvbnVwZGF0ZVwiOiBfdm0uaGFuZGxlQ29tcG9zaXRpb24sIFwiY29tcG9zaXRpb25lbmRcIjogX3ZtLmhhbmRsZUNvbXBvc2l0aW9uLCBcImlucHV0XCI6IF92bS5oYW5kbGVJbnB1dCB9IH0pXSwgMik7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiAzMjggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdpLXNlbGVjdCcsIHsgcmVmOiBcInNlbGVjdFwiLCBzdGF0aWNDbGFzczogXCJpdnUtYXV0by1jb21wbGV0ZVwiLCBhdHRyczogeyBcImxhYmVsXCI6IF92bS5sYWJlbCwgXCJkaXNhYmxlZFwiOiBfdm0uZGlzYWJsZWQsIFwiY2xlYXJhYmxlXCI6IF92bS5jbGVhcmFibGUsIFwicGxhY2Vob2xkZXJcIjogX3ZtLnBsYWNlaG9sZGVyLCBcInNpemVcIjogX3ZtLnNpemUsIFwicGxhY2VtZW50XCI6IF92bS5wbGFjZW1lbnQsIFwidmFsdWVcIjogX3ZtLmN1cnJlbnRWYWx1ZSwgXCJmaWx0ZXJhYmxlXCI6IFwiXCIsIFwicmVtb3RlXCI6IFwiXCIsIFwiYXV0by1jb21wbGV0ZVwiOiBcIlwiLCBcInJlbW90ZS1tZXRob2RcIjogX3ZtLnJlbW90ZU1ldGhvZCwgXCJ0cmFuc2ZlclwiOiBfdm0udHJhbnNmZXIgfSwgb246IHsgXCJvbi1jaGFuZ2VcIjogX3ZtLmhhbmRsZUNoYW5nZSwgXCJvbi1jbGlja291dHNpZGVcIjogX3ZtLmhhbmRsZUNsaWNrT3V0c2lkZSB9IH0sIFtfdm0uX3QoXCJpbnB1dFwiLCBbX2MoJ2ktaW5wdXQnLCB7IHJlZjogXCJpbnB1dFwiLCBhdHRyczogeyBcInNsb3RcIjogXCJpbnB1dFwiLCBcImVsZW1lbnQtaWRcIjogX3ZtLmVsZW1lbnRJZCwgXCJuYW1lXCI6IF92bS5uYW1lLCBcInBsYWNlaG9sZGVyXCI6IF92bS5wbGFjZWhvbGRlciwgXCJkaXNhYmxlZFwiOiBfdm0uZGlzYWJsZWQsIFwic2l6ZVwiOiBfdm0uc2l6ZSwgXCJpY29uXCI6IF92bS5pbnB1dEljb24gfSwgb246IHsgXCJvbi1jbGlja1wiOiBfdm0uaGFuZGxlQ2xlYXIsIFwib24tZm9jdXNcIjogX3ZtLmhhbmRsZUZvY3VzLCBcIm9uLWJsdXJcIjogX3ZtLmhhbmRsZUJsdXIgfSwgc2xvdDogXCJpbnB1dFwiLCBtb2RlbDogeyB2YWx1ZTogX3ZtLmN1cnJlbnRWYWx1ZSwgY2FsbGJhY2s6IGZ1bmN0aW9uIGNhbGxiYWNrKCQkdikge1xuICAgICAgICBfdm0uY3VycmVudFZhbHVlID0gJCR2O1xuICAgICAgfSwgZXhwcmVzc2lvbjogXCJjdXJyZW50VmFsdWVcIiB9IH0pXSksIF92bS5fdihcIiBcIiksIF92bS5fdChcImRlZmF1bHRcIiwgX3ZtLl9sKF92bS5maWx0ZXJlZERhdGEsIGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgcmV0dXJuIF9jKCdpLW9wdGlvbicsIHsga2V5OiBpdGVtLCBhdHRyczogeyBcInZhbHVlXCI6IGl0ZW0gfSB9LCBbX3ZtLl92KF92bS5fcyhpdGVtKSldKTtcbiAgfSkpXSwgMik7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiAzMjkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9hdmF0YXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDExNSk7XG5cbnZhciBfYXZhdGFyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2F2YXRhcik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IF9hdmF0YXIyLmRlZmF1bHQ7XG5cbi8qKiovIH0pLFxuLyogMzMwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnc3BhbicsIHsgY2xhc3M6IF92bS5jbGFzc2VzIH0sIFtfdm0uc3JjID8gX2MoJ2ltZycsIHsgYXR0cnM6IHsgXCJzcmNcIjogX3ZtLnNyYyB9LCBvbjogeyBcImVycm9yXCI6IF92bS5oYW5kbGVFcnJvciB9IH0pIDogX3ZtLmljb24gfHwgX3ZtLmN1c3RvbUljb24gPyBfYygnSWNvbicsIHsgYXR0cnM6IHsgXCJ0eXBlXCI6IF92bS5pY29uLCBcImN1c3RvbVwiOiBfdm0uY3VzdG9tSWNvbiB9IH0pIDogX2MoJ3NwYW4nLCB7IHJlZjogXCJjaGlsZHJlblwiLCBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLXN0cmluZyddLCBzdHlsZTogX3ZtLmNoaWxkcmVuU3R5bGUgfSwgW192bS5fdChcImRlZmF1bHRcIildLCAyKV0sIDEpO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogMzMxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfYmFja1RvcCA9IF9fd2VicGFja19yZXF1aXJlX18oMzMyKTtcblxudmFyIF9iYWNrVG9wMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2JhY2tUb3ApO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSBfYmFja1RvcDIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiAzMzIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYmFja190b3BfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDExNyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYmFja190b3BfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9iYWNrX3RvcF92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2JhY2tfdG9wX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9iYWNrX3RvcF92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zMGVlNzdlZF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2JhY2tfdG9wX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygzMzMpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzMwZWU3N2VkX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfYmFja190b3BfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zMGVlNzdlZF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2JhY2tfdG9wX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2JhY2tfdG9wX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMzBlZTc3ZWRfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9iYWNrX3RvcF92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMzBlZTc3ZWRfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9iYWNrX3RvcF92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogMzMzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBjbGFzczogX3ZtLmNsYXNzZXMsIHN0eWxlOiBfdm0uc3R5bGVzLCBvbjogeyBcImNsaWNrXCI6IF92bS5iYWNrIH0gfSwgW192bS5fdChcImRlZmF1bHRcIiwgW19jKCdkaXYnLCB7IGNsYXNzOiBfdm0uaW5uZXJDbGFzc2VzIH0sIFtfYygnaScsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWljb24gaXZ1LWljb24taW9zLWFycm93LXVwXCIgfSldKV0pXSwgMik7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiAzMzQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9iYWRnZSA9IF9fd2VicGFja19yZXF1aXJlX18oMzM1KTtcblxudmFyIF9iYWRnZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9iYWRnZSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IF9iYWRnZTIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiAzMzUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYmFkZ2VfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDExOCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYmFkZ2VfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9iYWRnZV92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2JhZGdlX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9iYWRnZV92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8xY2ZmZDdlM19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2JhZGdlX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygzMzYpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzFjZmZkN2UzX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfYmFkZ2VfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8xY2ZmZDdlM19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2JhZGdlX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2JhZGdlX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMWNmZmQ3ZTNfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9iYWRnZV92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMWNmZmQ3ZTNfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9iYWRnZV92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogMzM2ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfdm0uZG90ID8gX2MoJ3NwYW4nLCB7IHJlZjogXCJiYWRnZVwiLCBjbGFzczogX3ZtLmNsYXNzZXMgfSwgW192bS5fdChcImRlZmF1bHRcIiksIF92bS5fdihcIiBcIiksIF9jKCdzdXAnLCB7IGRpcmVjdGl2ZXM6IFt7IG5hbWU6IFwic2hvd1wiLCByYXdOYW1lOiBcInYtc2hvd1wiLCB2YWx1ZTogX3ZtLmJhZGdlLCBleHByZXNzaW9uOiBcImJhZGdlXCIgfV0sIGNsYXNzOiBfdm0uZG90Q2xhc3Nlcywgc3R5bGU6IF92bS5zdHlsZXMgfSldLCAyKSA6IF92bS5zdGF0dXMgPyBfYygnc3BhbicsIHsgcmVmOiBcImJhZGdlXCIsIHN0YXRpY0NsYXNzOiBcIml2dS1iYWRnZS1zdGF0dXNcIiwgY2xhc3M6IF92bS5jbGFzc2VzIH0sIFtfYygnc3BhbicsIHsgY2xhc3M6IF92bS5zdGF0dXNDbGFzc2VzIH0pLCBfdm0uX3YoXCIgXCIpLCBfYygnc3BhbicsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWJhZGdlLXN0YXR1cy10ZXh0XCIgfSwgW192bS5fdihfdm0uX3MoX3ZtLnRleHQpKV0pXSkgOiBfYygnc3BhbicsIHsgcmVmOiBcImJhZGdlXCIsIGNsYXNzOiBfdm0uY2xhc3NlcyB9LCBbX3ZtLl90KFwiZGVmYXVsdFwiKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLmhhc0NvdW50ID8gX2MoJ3N1cCcsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBfdm0uYmFkZ2UsIGV4cHJlc3Npb246IFwiYmFkZ2VcIiB9XSwgY2xhc3M6IF92bS5jb3VudENsYXNzZXMsIHN0eWxlOiBfdm0uc3R5bGVzIH0sIFtfdm0uX3YoX3ZtLl9zKF92bS5maW5hbENvdW50KSldKSA6IF92bS5fZSgpXSwgMik7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiAzMzcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9icmVhZGNydW1iID0gX193ZWJwYWNrX3JlcXVpcmVfXygzMzgpO1xuXG52YXIgX2JyZWFkY3J1bWIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfYnJlYWRjcnVtYik7XG5cbnZhciBfYnJlYWRjcnVtYkl0ZW0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM0MCk7XG5cbnZhciBfYnJlYWRjcnVtYkl0ZW0yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfYnJlYWRjcnVtYkl0ZW0pO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5fYnJlYWRjcnVtYjIuZGVmYXVsdC5JdGVtID0gX2JyZWFkY3J1bWJJdGVtMi5kZWZhdWx0O1xuZXhwb3J0cy5kZWZhdWx0ID0gX2JyZWFkY3J1bWIyLmRlZmF1bHQ7XG5cbi8qKiovIH0pLFxuLyogMzM4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2JyZWFkY3J1bWJfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDExOSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYnJlYWRjcnVtYl92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2JyZWFkY3J1bWJfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9icmVhZGNydW1iX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9icmVhZGNydW1iX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzUzYjUzNGI4X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfYnJlYWRjcnVtYl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMzM5KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81M2I1MzRiOF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2JyZWFkY3J1bWJfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81M2I1MzRiOF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2JyZWFkY3J1bWJfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYnJlYWRjcnVtYl92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzUzYjUzNGI4X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfYnJlYWRjcnVtYl92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNTNiNTM0YjhfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9icmVhZGNydW1iX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiAzMzkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0uY2xhc3NlcyB9LCBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sIDIpO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogMzQwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2JyZWFkY3J1bWJfaXRlbV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTIwKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9icmVhZGNydW1iX2l0ZW1fdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9icmVhZGNydW1iX2l0ZW1fdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9icmVhZGNydW1iX2l0ZW1fdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2JyZWFkY3J1bWJfaXRlbV92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl83MGQ2MTExOF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2JyZWFkY3J1bWJfaXRlbV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMzQxKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl83MGQ2MTExOF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2JyZWFkY3J1bWJfaXRlbV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzcwZDYxMTE4X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfYnJlYWRjcnVtYl9pdGVtX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2JyZWFkY3J1bWJfaXRlbV92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzcwZDYxMTE4X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfYnJlYWRjcnVtYl9pdGVtX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl83MGQ2MTExOF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2JyZWFkY3J1bWJfaXRlbV92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogMzQxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnc3BhbicsIFtfdm0udG8gPyBfYygnYScsIHsgY2xhc3M6IF92bS5saW5rQ2xhc3NlcywgYXR0cnM6IHsgXCJocmVmXCI6IF92bS5saW5rVXJsLCBcInRhcmdldFwiOiBfdm0udGFyZ2V0IH0sIG9uOiB7IFwiY2xpY2tcIjogW2Z1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCRldmVudC5jdHJsS2V5IHx8ICRldmVudC5zaGlmdEtleSB8fCAkZXZlbnQuYWx0S2V5IHx8ICRldmVudC5tZXRhS2V5KSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1yZXR1cm4gX3ZtLmhhbmRsZUNoZWNrQ2xpY2soJGV2ZW50LCBmYWxzZSk7XG4gICAgICB9LCBmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgIGlmICghJGV2ZW50LmN0cmxLZXkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfXJldHVybiBfdm0uaGFuZGxlQ2hlY2tDbGljaygkZXZlbnQsIHRydWUpO1xuICAgICAgfSwgZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICBpZiAoISRldmVudC5tZXRhS2V5KSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1yZXR1cm4gX3ZtLmhhbmRsZUNoZWNrQ2xpY2soJGV2ZW50LCB0cnVlKTtcbiAgICAgIH1dIH0gfSwgW192bS5fdChcImRlZmF1bHRcIildLCAyKSA6IF9jKCdzcGFuJywgeyBjbGFzczogX3ZtLmxpbmtDbGFzc2VzIH0sIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwgMiksIF92bS5fdihcIiBcIiksICFfdm0uc2hvd1NlcGFyYXRvciA/IF9jKCdzcGFuJywgeyBjbGFzczogX3ZtLnNlcGFyYXRvckNsYXNzZXMsIGRvbVByb3BzOiB7IFwiaW5uZXJIVE1MXCI6IF92bS5fcyhfdm0uc2VwYXJhdG9yKSB9IH0pIDogX2MoJ3NwYW4nLCB7IGNsYXNzOiBfdm0uc2VwYXJhdG9yQ2xhc3NlcyB9LCBbX3ZtLl90KFwic2VwYXJhdG9yXCIpXSwgMildKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDM0MiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2J1dHRvbiA9IF9fd2VicGFja19yZXF1aXJlX18oMjQpO1xuXG52YXIgX2J1dHRvbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9idXR0b24pO1xuXG52YXIgX2J1dHRvbkdyb3VwID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNDQpO1xuXG52YXIgX2J1dHRvbkdyb3VwMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2J1dHRvbkdyb3VwKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuX2J1dHRvbjIuZGVmYXVsdC5Hcm91cCA9IF9idXR0b25Hcm91cDIuZGVmYXVsdDtcbmV4cG9ydHMuZGVmYXVsdCA9IF9idXR0b24yLmRlZmF1bHQ7XG5cbi8qKiovIH0pLFxuLyogMzQzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYyhfdm0udGFnTmFtZSwgX3ZtLl9iKHsgdGFnOiBcImNvbXBvbmVudFwiLCBjbGFzczogX3ZtLmNsYXNzZXMsIGF0dHJzOiB7IFwiZGlzYWJsZWRcIjogX3ZtLmRpc2FibGVkIH0sIG9uOiB7IFwiY2xpY2tcIjogX3ZtLmhhbmRsZUNsaWNrTGluayB9IH0sICdjb21wb25lbnQnLCBfdm0udGFnUHJvcHMsIGZhbHNlKSwgW192bS5sb2FkaW5nID8gX2MoJ0ljb24nLCB7IHN0YXRpY0NsYXNzOiBcIml2dS1sb2FkLWxvb3BcIiwgYXR0cnM6IHsgXCJ0eXBlXCI6IFwiaW9zLWxvYWRpbmdcIiB9IH0pIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIChfdm0uaWNvbiB8fCBfdm0uY3VzdG9tSWNvbikgJiYgIV92bS5sb2FkaW5nID8gX2MoJ0ljb24nLCB7IGF0dHJzOiB7IFwidHlwZVwiOiBfdm0uaWNvbiwgXCJjdXN0b21cIjogX3ZtLmN1c3RvbUljb24gfSB9KSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfdm0uc2hvd1Nsb3QgPyBfYygnc3BhbicsIHsgcmVmOiBcInNsb3RcIiB9LCBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sIDIpIDogX3ZtLl9lKCldLCAxKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDM0NCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9idXR0b25fZ3JvdXBfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEyMik7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYnV0dG9uX2dyb3VwX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYnV0dG9uX2dyb3VwX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYnV0dG9uX2dyb3VwX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9idXR0b25fZ3JvdXBfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNTkyZjFiNTZfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9idXR0b25fZ3JvdXBfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM0NSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNTkyZjFiNTZfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9idXR0b25fZ3JvdXBfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81OTJmMWI1Nl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2J1dHRvbl9ncm91cF92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9idXR0b25fZ3JvdXBfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81OTJmMWI1Nl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2J1dHRvbl9ncm91cF92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNTkyZjFiNTZfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9idXR0b25fZ3JvdXBfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDM0NSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgdmFyIF92bSA9IHRoaXM7dmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaDtyZXR1cm4gX2MoJ2RpdicsIHsgY2xhc3M6IF92bS5jbGFzc2VzIH0sIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwgMik7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiAzNDYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9jYXJkID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNDcpO1xuXG52YXIgX2NhcmQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfY2FyZCk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IF9jYXJkMi5kZWZhdWx0O1xuXG4vKioqLyB9KSxcbi8qIDM0NyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jYXJkX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMjMpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NhcmRfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jYXJkX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2FyZF92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2FyZF92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl83ZjQ2NGUwNl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NhcmRfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM0OCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfN2Y0NjRlMDZfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jYXJkX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfN2Y0NjRlMDZfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jYXJkX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NhcmRfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl83ZjQ2NGUwNl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NhcmRfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzdmNDY0ZTA2X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2FyZF92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogMzQ4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBjbGFzczogX3ZtLmNsYXNzZXMgfSwgW192bS5zaG93SGVhZCA/IF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0uaGVhZENsYXNzZXMgfSwgW192bS5fdChcInRpdGxlXCIsIFtfdm0udGl0bGUgPyBfYygncCcsIFtfdm0uaWNvbiA/IF9jKCdJY29uJywgeyBhdHRyczogeyBcInR5cGVcIjogX3ZtLmljb24gfSB9KSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfYygnc3BhbicsIFtfdm0uX3YoX3ZtLl9zKF92bS50aXRsZSkpXSldLCAxKSA6IF92bS5fZSgpXSldLCAyKSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfdm0uc2hvd0V4dHJhID8gX2MoJ2RpdicsIHsgY2xhc3M6IF92bS5leHRyYUNsYXNzZXMgfSwgW192bS5fdChcImV4dHJhXCIpXSwgMikgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgY2xhc3M6IF92bS5ib2R5Q2xhc3Nlcywgc3R5bGU6IF92bS5ib2R5U3R5bGVzIH0sIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwgMildKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDM0OSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2Nhcm91c2VsID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNTApO1xuXG52YXIgX2Nhcm91c2VsMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2Nhcm91c2VsKTtcblxudmFyIF9jYXJvdXNlbEl0ZW0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM1Mik7XG5cbnZhciBfY2Fyb3VzZWxJdGVtMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2Nhcm91c2VsSXRlbSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbl9jYXJvdXNlbDIuZGVmYXVsdC5JdGVtID0gX2Nhcm91c2VsSXRlbTIuZGVmYXVsdDtcbmV4cG9ydHMuZGVmYXVsdCA9IF9jYXJvdXNlbDIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiAzNTAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2Fyb3VzZWxfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEyNCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2Fyb3VzZWxfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jYXJvdXNlbF92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Nhcm91c2VsX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jYXJvdXNlbF92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9kMjIwMjUzOF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2Nhcm91c2VsX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNTEpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2QyMjAyNTM4X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2Fyb3VzZWxfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9kMjIwMjUzOF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2Nhcm91c2VsX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Nhcm91c2VsX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfZDIyMDI1MzhfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jYXJvdXNlbF92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfZDIyMDI1MzhfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jYXJvdXNlbF92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogMzUxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBjbGFzczogX3ZtLmNsYXNzZXMgfSwgW19jKCdidXR0b24nLCB7IHN0YXRpY0NsYXNzOiBcImxlZnRcIiwgY2xhc3M6IF92bS5hcnJvd0NsYXNzZXMsIGF0dHJzOiB7IFwidHlwZVwiOiBcImJ1dHRvblwiIH0sIG9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdm0uYXJyb3dFdmVudCgtMSk7XG4gICAgICB9IH0gfSwgW19jKCdJY29uJywgeyBhdHRyczogeyBcInR5cGVcIjogXCJpb3MtYXJyb3ctYmFja1wiIH0gfSldLCAxKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1saXN0J10gfSwgW19jKCdkaXYnLCB7IHJlZjogXCJvcmlnaW5UcmFja1wiLCBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLXRyYWNrJywgX3ZtLnNob3dDb3B5VHJhY2sgPyAnJyA6ICdoaWdoZXInXSwgc3R5bGU6IF92bS50cmFja1N0eWxlcyB9LCBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sIDIpLCBfdm0uX3YoXCIgXCIpLCBfdm0ubG9vcCA/IF9jKCdkaXYnLCB7IHJlZjogXCJjb3B5VHJhY2tcIiwgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy10cmFjaycsIF92bS5zaG93Q29weVRyYWNrID8gJ2hpZ2hlcicgOiAnJ10sIHN0eWxlOiBfdm0uY29weVRyYWNrU3R5bGVzIH0pIDogX3ZtLl9lKCldKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2J1dHRvbicsIHsgc3RhdGljQ2xhc3M6IFwicmlnaHRcIiwgY2xhc3M6IF92bS5hcnJvd0NsYXNzZXMsIGF0dHJzOiB7IFwidHlwZVwiOiBcImJ1dHRvblwiIH0sIG9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdm0uYXJyb3dFdmVudCgxKTtcbiAgICAgIH0gfSB9LCBbX2MoJ0ljb24nLCB7IGF0dHJzOiB7IFwidHlwZVwiOiBcImlvcy1hcnJvdy1mb3J3YXJkXCIgfSB9KV0sIDEpLCBfdm0uX3YoXCIgXCIpLCBfYygndWwnLCB7IGNsYXNzOiBfdm0uZG90c0NsYXNzZXMgfSwgW192bS5fbChfdm0uc2xpZGVzLmxlbmd0aCwgZnVuY3Rpb24gKG4pIHtcbiAgICByZXR1cm4gW19jKCdsaScsIHsgY2xhc3M6IFtuIC0gMSA9PT0gX3ZtLmN1cnJlbnRJbmRleCA/IF92bS5wcmVmaXhDbHMgKyAnLWFjdGl2ZScgOiAnJ10sIG9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgICAgcmV0dXJuIF92bS5kb3RzRXZlbnQoJ2NsaWNrJywgbiAtIDEpO1xuICAgICAgICB9LCBcIm1vdXNlb3ZlclwiOiBmdW5jdGlvbiBtb3VzZW92ZXIoJGV2ZW50KSB7XG4gICAgICAgICAgcmV0dXJuIF92bS5kb3RzRXZlbnQoJ2hvdmVyJywgbiAtIDEpO1xuICAgICAgICB9IH0gfSwgW19jKCdidXR0b24nLCB7IGNsYXNzOiBbX3ZtLnJhZGl1c0RvdCA/ICdyYWRpdXMnIDogJyddLCBhdHRyczogeyBcInR5cGVcIjogXCJidXR0b25cIiB9IH0pXSldO1xuICB9KV0sIDIpXSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiAzNTIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2Fyb3VzZWxfaXRlbV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTI1KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jYXJvdXNlbF9pdGVtX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2Fyb3VzZWxfaXRlbV92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Nhcm91c2VsX2l0ZW1fdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Nhcm91c2VsX2l0ZW1fdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNWQzNWI3ZjdfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jYXJvdXNlbF9pdGVtX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNTMpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzVkMzViN2Y3X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2Fyb3VzZWxfaXRlbV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzVkMzViN2Y3X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2Fyb3VzZWxfaXRlbV92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jYXJvdXNlbF9pdGVtX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNWQzNWI3ZjdfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jYXJvdXNlbF9pdGVtX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81ZDM1YjdmN19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2Nhcm91c2VsX2l0ZW1fdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDM1MyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgdmFyIF92bSA9IHRoaXM7dmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaDtyZXR1cm4gX2MoJ2RpdicsIHsgY2xhc3M6IF92bS5wcmVmaXhDbHMsIHN0eWxlOiBfdm0uc3R5bGVzIH0sIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwgMik7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiAzNTQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9jYXNjYWRlciA9IF9fd2VicGFja19yZXF1aXJlX18oMzU1KTtcblxudmFyIF9jYXNjYWRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jYXNjYWRlcik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IF9jYXNjYWRlcjIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiAzNTUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2FzY2FkZXJfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEyNik7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2FzY2FkZXJfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jYXNjYWRlcl92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Nhc2NhZGVyX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jYXNjYWRlcl92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zM2RiMDNkM19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2Nhc2NhZGVyX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNjApO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzMzZGIwM2QzX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2FzY2FkZXJfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zM2RiMDNkM19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2Nhc2NhZGVyX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Nhc2NhZGVyX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMzNkYjAzZDNfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jYXNjYWRlcl92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMzNkYjAzZDNfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jYXNjYWRlcl92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogMzU2ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Nhc3BhbmVsX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMjcpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Nhc3BhbmVsX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2FzcGFuZWxfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jYXNwYW5lbF92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2FzcGFuZWxfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMzM2N2IzNDlfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jYXNwYW5lbF92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMzU5KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zMzY3YjM0OV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2Nhc3BhbmVsX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMzM2N2IzNDlfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jYXNwYW5lbF92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jYXNwYW5lbF92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzMzNjdiMzQ5X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2FzcGFuZWxfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzMzNjdiMzQ5X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2FzcGFuZWxfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDM1NyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jYXNpdGVtX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMjgpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Nhc2l0ZW1fdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jYXNpdGVtX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2FzaXRlbV92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2FzaXRlbV92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl82Y2E4OWQyYV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2Nhc2l0ZW1fdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM1OCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNmNhODlkMmFfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jYXNpdGVtX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNmNhODlkMmFfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jYXNpdGVtX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Nhc2l0ZW1fdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl82Y2E4OWQyYV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2Nhc2l0ZW1fdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzZjYTg5ZDJhX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2FzaXRlbV92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogMzU4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnbGknLCB7IGNsYXNzOiBfdm0uY2xhc3NlcyB9LCBbX3ZtLl92KFwiXFxuICAgIFwiICsgX3ZtLl9zKF92bS5kYXRhLmxhYmVsKSArIFwiXFxuICAgIFwiKSwgX3ZtLnNob3dBcnJvdyA/IF9jKCdJY29uJywgeyBhdHRyczogeyBcInR5cGVcIjogX3ZtLmFycm93VHlwZSwgXCJjdXN0b21cIjogX3ZtLmN1c3RvbUFycm93VHlwZSwgXCJzaXplXCI6IF92bS5hcnJvd1NpemUgfSB9KSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfdm0uc2hvd0xvYWRpbmcgPyBfYygnaScsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWljb24gaXZ1LWljb24taW9zLWxvYWRpbmcgaXZ1LWxvYWQtbG9vcCBpdnUtY2FzY2FkZXItbWVudS1pdGVtLWxvYWRpbmdcIiB9KSA6IF92bS5fZSgpXSwgMSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiAzNTkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdzcGFuJywgW192bS5kYXRhICYmIF92bS5kYXRhLmxlbmd0aCA/IF9jKCd1bCcsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1tZW51J10gfSwgX3ZtLl9sKF92bS5kYXRhLCBmdW5jdGlvbiAoaXRlbSkge1xuICAgIHJldHVybiBfYygnQ2FzaXRlbScsIHsga2V5OiBfdm0uZ2V0S2V5KCksIGF0dHJzOiB7IFwicHJlZml4LWNsc1wiOiBfdm0ucHJlZml4Q2xzLCBcImRhdGFcIjogaXRlbSwgXCJ0bXAtaXRlbVwiOiBfdm0udG1wSXRlbSB9LCBuYXRpdmVPbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtyZXR1cm4gX3ZtLmhhbmRsZUNsaWNrSXRlbShpdGVtKTtcbiAgICAgICAgfSwgXCJtb3VzZWVudGVyXCI6IGZ1bmN0aW9uIG1vdXNlZW50ZXIoJGV2ZW50KSB7XG4gICAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBfdm0uaGFuZGxlSG92ZXJJdGVtKGl0ZW0pO1xuICAgICAgICB9IH0gfSk7XG4gIH0pLCAxKSA6IF92bS5fZSgpLCBfdm0uc3VibGlzdCAmJiBfdm0uc3VibGlzdC5sZW5ndGggPyBfYygnQ2FzcGFuZWwnLCB7IGF0dHJzOiB7IFwicHJlZml4LWNsc1wiOiBfdm0ucHJlZml4Q2xzLCBcImRhdGFcIjogX3ZtLnN1Ymxpc3QsIFwiZGlzYWJsZWRcIjogX3ZtLmRpc2FibGVkLCBcInRyaWdnZXJcIjogX3ZtLnRyaWdnZXIsIFwiY2hhbmdlLW9uLXNlbGVjdFwiOiBfdm0uY2hhbmdlT25TZWxlY3QgfSB9KSA6IF92bS5fZSgpXSwgMSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiAzNjAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGRpcmVjdGl2ZXM6IFt7IG5hbWU6IFwiY2xpY2stb3V0c2lkZVwiLCByYXdOYW1lOiBcInYtY2xpY2stb3V0c2lkZVwiLCB2YWx1ZTogX3ZtLmhhbmRsZUNsb3NlLCBleHByZXNzaW9uOiBcImhhbmRsZUNsb3NlXCIgfV0sIGNsYXNzOiBfdm0uY2xhc3NlcyB9LCBbX2MoJ2RpdicsIHsgcmVmOiBcInJlZmVyZW5jZVwiLCBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLXJlbCddLCBvbjogeyBcImNsaWNrXCI6IF92bS50b2dnbGVPcGVuIH0gfSwgW19jKCdpbnB1dCcsIHsgYXR0cnM6IHsgXCJ0eXBlXCI6IFwiaGlkZGVuXCIsIFwibmFtZVwiOiBfdm0ubmFtZSB9LCBkb21Qcm9wczogeyBcInZhbHVlXCI6IF92bS5jdXJyZW50VmFsdWUgfSB9KSwgX3ZtLl92KFwiIFwiKSwgX3ZtLl90KFwiZGVmYXVsdFwiLCBbX2MoJ2ktaW5wdXQnLCB7IHJlZjogXCJpbnB1dFwiLCBhdHRyczogeyBcImVsZW1lbnQtaWRcIjogX3ZtLmVsZW1lbnRJZCwgXCJyZWFkb25seVwiOiAhX3ZtLmZpbHRlcmFibGUsIFwiZGlzYWJsZWRcIjogX3ZtLmRpc2FibGVkLCBcInZhbHVlXCI6IF92bS5kaXNwbGF5SW5wdXRSZW5kZXIsIFwic2l6ZVwiOiBfdm0uc2l6ZSwgXCJwbGFjZWhvbGRlclwiOiBfdm0uaW5wdXRQbGFjZWhvbGRlciB9LCBvbjogeyBcIm9uLWNoYW5nZVwiOiBfdm0uaGFuZGxlSW5wdXQgfSB9KSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBfdm0uZmlsdGVyYWJsZSAmJiBfdm0ucXVlcnkgPT09ICcnLCBleHByZXNzaW9uOiBcImZpbHRlcmFibGUgJiYgcXVlcnkgPT09ICcnXCIgfV0sIGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctbGFiZWwnXSwgb246IHsgXCJjbGlja1wiOiBfdm0uaGFuZGxlRm9jdXMgfSB9LCBbX3ZtLl92KF92bS5fcyhfdm0uZGlzcGxheVJlbmRlcikpXSksIF92bS5fdihcIiBcIiksIF9jKCdJY29uJywgeyBkaXJlY3RpdmVzOiBbeyBuYW1lOiBcInNob3dcIiwgcmF3TmFtZTogXCJ2LXNob3dcIiwgdmFsdWU6IF92bS5zaG93Q2xvc2VJY29uLCBleHByZXNzaW9uOiBcInNob3dDbG9zZUljb25cIiB9XSwgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1hcnJvdyddLCBhdHRyczogeyBcInR5cGVcIjogXCJpb3MtY2xvc2UtY2lyY2xlXCIgfSwgbmF0aXZlT246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBfdm0uY2xlYXJTZWxlY3QoJGV2ZW50KTtcbiAgICAgIH0gfSB9KSwgX3ZtLl92KFwiIFwiKSwgX2MoJ0ljb24nLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctYXJyb3cnXSwgYXR0cnM6IHsgXCJ0eXBlXCI6IF92bS5hcnJvd1R5cGUsIFwiY3VzdG9tXCI6IF92bS5jdXN0b21BcnJvd1R5cGUsIFwic2l6ZVwiOiBfdm0uYXJyb3dTaXplIH0gfSldKV0sIDIpLCBfdm0uX3YoXCIgXCIpLCBfYygndHJhbnNpdGlvbicsIHsgYXR0cnM6IHsgXCJuYW1lXCI6IFwidHJhbnNpdGlvbi1kcm9wXCIgfSB9LCBbX2MoJ0Ryb3AnLCB7IGRpcmVjdGl2ZXM6IFt7IG5hbWU6IFwic2hvd1wiLCByYXdOYW1lOiBcInYtc2hvd1wiLCB2YWx1ZTogX3ZtLnZpc2libGUsIGV4cHJlc3Npb246IFwidmlzaWJsZVwiIH0sIHsgbmFtZTogXCJ0cmFuc2Zlci1kb21cIiwgcmF3TmFtZTogXCJ2LXRyYW5zZmVyLWRvbVwiIH1dLCByZWY6IFwiZHJvcFwiLCBjbGFzczogKF9vYmogPSB7fSwgX29ialtfdm0ucHJlZml4Q2xzICsgJy10cmFuc2ZlciddID0gX3ZtLnRyYW5zZmVyLCBfb2JqKSwgYXR0cnM6IHsgXCJkYXRhLXRyYW5zZmVyXCI6IF92bS50cmFuc2ZlciwgXCJ0cmFuc2ZlclwiOiBfdm0udHJhbnNmZXIgfSB9LCBbX2MoJ2RpdicsIFtfYygnQ2FzcGFuZWwnLCB7IGRpcmVjdGl2ZXM6IFt7IG5hbWU6IFwic2hvd1wiLCByYXdOYW1lOiBcInYtc2hvd1wiLCB2YWx1ZTogIV92bS5maWx0ZXJhYmxlIHx8IF92bS5maWx0ZXJhYmxlICYmIF92bS5xdWVyeSA9PT0gJycsIGV4cHJlc3Npb246IFwiIWZpbHRlcmFibGUgfHwgKGZpbHRlcmFibGUgJiYgcXVlcnkgPT09ICcnKVwiIH1dLCByZWY6IFwiY2FzcGFuZWxcIiwgYXR0cnM6IHsgXCJwcmVmaXgtY2xzXCI6IF92bS5wcmVmaXhDbHMsIFwiZGF0YVwiOiBfdm0uZGF0YSwgXCJkaXNhYmxlZFwiOiBfdm0uZGlzYWJsZWQsIFwiY2hhbmdlLW9uLXNlbGVjdFwiOiBfdm0uY2hhbmdlT25TZWxlY3QsIFwidHJpZ2dlclwiOiBfdm0udHJpZ2dlciB9IH0pLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyBkaXJlY3RpdmVzOiBbeyBuYW1lOiBcInNob3dcIiwgcmF3TmFtZTogXCJ2LXNob3dcIiwgdmFsdWU6IF92bS5maWx0ZXJhYmxlICYmIF92bS5xdWVyeSAhPT0gJycgJiYgX3ZtLnF1ZXJ5U2VsZWN0aW9ucy5sZW5ndGgsIGV4cHJlc3Npb246IFwiZmlsdGVyYWJsZSAmJiBxdWVyeSAhPT0gJycgJiYgcXVlcnlTZWxlY3Rpb25zLmxlbmd0aFwiIH1dLCBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWRyb3Bkb3duJ10gfSwgW19jKCd1bCcsIHsgY2xhc3M6IFtfdm0uc2VsZWN0UHJlZml4Q2xzICsgJy1kcm9wZG93bi1saXN0J10gfSwgX3ZtLl9sKF92bS5xdWVyeVNlbGVjdGlvbnMsIGZ1bmN0aW9uIChpdGVtLCBpbmRleCkge1xuICAgIHJldHVybiBfYygnbGknLCB7IGNsYXNzOiBbX3ZtLnNlbGVjdFByZWZpeENscyArICctaXRlbScsIChfb2JqID0ge30sIF9vYmpbX3ZtLnNlbGVjdFByZWZpeENscyArICctaXRlbS1kaXNhYmxlZCddID0gaXRlbS5kaXNhYmxlZCwgX29iaildLCBkb21Qcm9wczogeyBcImlubmVySFRNTFwiOiBfdm0uX3MoaXRlbS5kaXNwbGF5KSB9LCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICAgIHJldHVybiBfdm0uaGFuZGxlU2VsZWN0SXRlbShpbmRleCk7XG4gICAgICAgIH0gfSB9KTtcbiAgICB2YXIgX29iajtcbiAgfSksIDApXSksIF92bS5fdihcIiBcIiksIF9jKCd1bCcsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBfdm0uZmlsdGVyYWJsZSAmJiBfdm0ucXVlcnkgIT09ICcnICYmICFfdm0ucXVlcnlTZWxlY3Rpb25zLmxlbmd0aCB8fCAhX3ZtLmRhdGEubGVuZ3RoLCBleHByZXNzaW9uOiBcIihmaWx0ZXJhYmxlICYmIHF1ZXJ5ICE9PSAnJyAmJiAhcXVlcnlTZWxlY3Rpb25zLmxlbmd0aCkgfHwgIWRhdGEubGVuZ3RoXCIgfV0sIGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctbm90LWZvdW5kLXRpcCddIH0sIFtfYygnbGknLCBbX3ZtLl92KF92bS5fcyhfdm0ubG9jYWxlTm90Rm91bmRUZXh0KSldKV0pXSwgMSldKV0sIDEpXSwgMSk7XG4gIHZhciBfb2JqO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogMzYxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfY2VsbCA9IF9fd2VicGFja19yZXF1aXJlX18oMzYyKTtcblxudmFyIF9jZWxsMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2NlbGwpO1xuXG52YXIgX2NlbGxHcm91cCA9IF9fd2VicGFja19yZXF1aXJlX18oMzY2KTtcblxudmFyIF9jZWxsR3JvdXAyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfY2VsbEdyb3VwKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuX2NlbGwyLmRlZmF1bHQuR3JvdXAgPSBfY2VsbEdyb3VwMi5kZWZhdWx0O1xuZXhwb3J0cy5kZWZhdWx0ID0gX2NlbGwyLmRlZmF1bHQ7XG5cbi8qKiovIH0pLFxuLyogMzYyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NlbGxfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEyOSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2VsbF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NlbGxfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jZWxsX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jZWxsX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzQ1YjJhZWI2X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2VsbF92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMzY1KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl80NWIyYWViNl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NlbGxfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl80NWIyYWViNl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NlbGxfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2VsbF92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzQ1YjJhZWI2X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2VsbF92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNDViMmFlYjZfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jZWxsX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiAzNjMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2VsbF9pdGVtX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMzApO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NlbGxfaXRlbV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NlbGxfaXRlbV92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NlbGxfaXRlbV92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2VsbF9pdGVtX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzdmMzA3OGQ0X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2VsbF9pdGVtX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNjQpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzdmMzA3OGQ0X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2VsbF9pdGVtX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfN2YzMDc4ZDRfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jZWxsX2l0ZW1fdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2VsbF9pdGVtX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfN2YzMDc4ZDRfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jZWxsX2l0ZW1fdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzdmMzA3OGQ0X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2VsbF9pdGVtX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiAzNjQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IHN0YXRpY0NsYXNzOiBcIml2dS1jZWxsLWl0ZW1cIiB9LCBbX2MoJ2RpdicsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWNlbGwtaWNvblwiIH0sIFtfdm0uX3QoXCJpY29uXCIpXSwgMiksIF92bS5fdihcIiBcIiksIF9jKCdkaXYnLCB7IHN0YXRpY0NsYXNzOiBcIml2dS1jZWxsLW1haW5cIiB9LCBbX2MoJ2RpdicsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWNlbGwtdGl0bGVcIiB9LCBbX3ZtLl90KFwiZGVmYXVsdFwiLCBbX3ZtLl92KF92bS5fcyhfdm0udGl0bGUpKV0pXSwgMiksIF92bS5fdihcIiBcIiksIF9jKCdkaXYnLCB7IHN0YXRpY0NsYXNzOiBcIml2dS1jZWxsLWxhYmVsXCIgfSwgW192bS5fdChcImxhYmVsXCIsIFtfdm0uX3YoX3ZtLl9zKF92bS5sYWJlbCkpXSldLCAyKV0pLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyBzdGF0aWNDbGFzczogXCJpdnUtY2VsbC1mb290ZXJcIiB9LCBbX2MoJ3NwYW4nLCB7IHN0YXRpY0NsYXNzOiBcIml2dS1jZWxsLWV4dHJhXCIgfSwgW192bS5fdChcImV4dHJhXCIsIFtfdm0uX3YoX3ZtLl9zKF92bS5leHRyYSkpXSldLCAyKV0pXSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiAzNjUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0uY2xhc3NlcyB9LCBbX3ZtLnRvID8gX2MoJ2EnLCB7IHN0YXRpY0NsYXNzOiBcIml2dS1jZWxsLWxpbmtcIiwgYXR0cnM6IHsgXCJocmVmXCI6IF92bS5saW5rVXJsLCBcInRhcmdldFwiOiBfdm0udGFyZ2V0IH0sIG9uOiB7IFwiY2xpY2tcIjogW2Z1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCRldmVudC5jdHJsS2V5IHx8ICRldmVudC5zaGlmdEtleSB8fCAkZXZlbnQuYWx0S2V5IHx8ICRldmVudC5tZXRhS2V5KSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1yZXR1cm4gX3ZtLmhhbmRsZUNsaWNrSXRlbSgkZXZlbnQsIGZhbHNlKTtcbiAgICAgIH0sIGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQuY3RybEtleSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5oYW5kbGVDbGlja0l0ZW0oJGV2ZW50LCB0cnVlKTtcbiAgICAgIH0sIGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQubWV0YUtleSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5oYW5kbGVDbGlja0l0ZW0oJGV2ZW50LCB0cnVlKTtcbiAgICAgIH1dIH0gfSwgW19jKCdDZWxsSXRlbScsIHsgYXR0cnM6IHsgXCJ0aXRsZVwiOiBfdm0udGl0bGUsIFwibGFiZWxcIjogX3ZtLmxhYmVsLCBcImV4dHJhXCI6IF92bS5leHRyYSB9IH0sIFtfdm0uX3QoXCJpY29uXCIsIG51bGwsIHsgXCJzbG90XCI6IFwiaWNvblwiIH0pLCBfdm0uX3YoXCIgXCIpLCBfdm0uX3QoXCJkZWZhdWx0XCIsIG51bGwsIHsgXCJzbG90XCI6IFwiZGVmYXVsdFwiIH0pLCBfdm0uX3YoXCIgXCIpLCBfdm0uX3QoXCJleHRyYVwiLCBudWxsLCB7IFwic2xvdFwiOiBcImV4dHJhXCIgfSksIF92bS5fdihcIiBcIiksIF92bS5fdChcImxhYmVsXCIsIG51bGwsIHsgXCJzbG90XCI6IFwibGFiZWxcIiB9KV0sIDIpXSwgMSkgOiBfYygnZGl2JywgeyBzdGF0aWNDbGFzczogXCJpdnUtY2VsbC1saW5rXCIsIG9uOiB7IFwiY2xpY2tcIjogX3ZtLmhhbmRsZUNsaWNrSXRlbSB9IH0sIFtfYygnQ2VsbEl0ZW0nLCB7IGF0dHJzOiB7IFwidGl0bGVcIjogX3ZtLnRpdGxlLCBcImxhYmVsXCI6IF92bS5sYWJlbCwgXCJleHRyYVwiOiBfdm0uZXh0cmEgfSB9LCBbX3ZtLl90KFwiaWNvblwiLCBudWxsLCB7IFwic2xvdFwiOiBcImljb25cIiB9KSwgX3ZtLl92KFwiIFwiKSwgX3ZtLl90KFwiZGVmYXVsdFwiLCBudWxsLCB7IFwic2xvdFwiOiBcImRlZmF1bHRcIiB9KSwgX3ZtLl92KFwiIFwiKSwgX3ZtLl90KFwiZXh0cmFcIiwgbnVsbCwgeyBcInNsb3RcIjogXCJleHRyYVwiIH0pLCBfdm0uX3YoXCIgXCIpLCBfdm0uX3QoXCJsYWJlbFwiLCBudWxsLCB7IFwic2xvdFwiOiBcImxhYmVsXCIgfSldLCAyKV0sIDEpLCBfdm0uX3YoXCIgXCIpLCBfdm0udG8gPyBfYygnZGl2JywgeyBzdGF0aWNDbGFzczogXCJpdnUtY2VsbC1hcnJvd1wiIH0sIFtfdm0uX3QoXCJhcnJvd1wiLCBbX2MoJ0ljb24nLCB7IGF0dHJzOiB7IFwidHlwZVwiOiBfdm0uYXJyb3dUeXBlLCBcImN1c3RvbVwiOiBfdm0uY3VzdG9tQXJyb3dUeXBlLCBcInNpemVcIjogX3ZtLmFycm93U2l6ZSB9IH0pXSldLCAyKSA6IF92bS5fZSgpXSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiAzNjYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2VsbF9ncm91cF92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTMxKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jZWxsX2dyb3VwX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2VsbF9ncm91cF92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NlbGxfZ3JvdXBfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NlbGxfZ3JvdXBfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNGRjNTU2ZDlfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jZWxsX2dyb3VwX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNjcpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzRkYzU1NmQ5X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2VsbF9ncm91cF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzRkYzU1NmQ5X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2VsbF9ncm91cF92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jZWxsX2dyb3VwX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNGRjNTU2ZDlfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jZWxsX2dyb3VwX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl80ZGM1NTZkOV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NlbGxfZ3JvdXBfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDM2NyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgdmFyIF92bSA9IHRoaXM7dmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaDtyZXR1cm4gX2MoJ2RpdicsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWNlbGwtZ3JvdXBcIiB9LCBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sIDIpO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogMzY4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfY2hlY2tib3ggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ2KTtcblxudmFyIF9jaGVja2JveDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jaGVja2JveCk7XG5cbnZhciBfY2hlY2tib3hHcm91cCA9IF9fd2VicGFja19yZXF1aXJlX18oMTMzKTtcblxudmFyIF9jaGVja2JveEdyb3VwMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2NoZWNrYm94R3JvdXApO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5fY2hlY2tib3gyLmRlZmF1bHQuR3JvdXAgPSBfY2hlY2tib3hHcm91cDIuZGVmYXVsdDtcbmV4cG9ydHMuZGVmYXVsdCA9IF9jaGVja2JveDIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiAzNjkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdsYWJlbCcsIHsgY2xhc3M6IF92bS53cmFwQ2xhc3NlcyB9LCBbX2MoJ3NwYW4nLCB7IGNsYXNzOiBfdm0uY2hlY2tib3hDbGFzc2VzIH0sIFtfYygnc3BhbicsIHsgY2xhc3M6IF92bS5pbm5lckNsYXNzZXMgfSksIF92bS5fdihcIiBcIiksIF92bS5ncm91cCA/IF9jKCdpbnB1dCcsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJtb2RlbFwiLCByYXdOYW1lOiBcInYtbW9kZWxcIiwgdmFsdWU6IF92bS5tb2RlbCwgZXhwcmVzc2lvbjogXCJtb2RlbFwiIH1dLCBjbGFzczogX3ZtLmlucHV0Q2xhc3NlcywgYXR0cnM6IHsgXCJ0eXBlXCI6IFwiY2hlY2tib3hcIiwgXCJkaXNhYmxlZFwiOiBfdm0uZGlzYWJsZWQsIFwibmFtZVwiOiBfdm0ubmFtZSB9LCBkb21Qcm9wczogeyBcInZhbHVlXCI6IF92bS5sYWJlbCwgXCJjaGVja2VkXCI6IEFycmF5LmlzQXJyYXkoX3ZtLm1vZGVsKSA/IF92bS5faShfdm0ubW9kZWwsIF92bS5sYWJlbCkgPiAtMSA6IF92bS5tb2RlbCB9LCBvbjogeyBcImNoYW5nZVwiOiBbZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICB2YXIgJCRhID0gX3ZtLm1vZGVsLFxuICAgICAgICAgICAgJCRlbCA9ICRldmVudC50YXJnZXQsXG4gICAgICAgICAgICAkJGMgPSAkJGVsLmNoZWNrZWQgPyB0cnVlIDogZmFsc2U7aWYgKEFycmF5LmlzQXJyYXkoJCRhKSkge1xuICAgICAgICAgIHZhciAkJHYgPSBfdm0ubGFiZWwsXG4gICAgICAgICAgICAgICQkaSA9IF92bS5faSgkJGEsICQkdik7aWYgKCQkZWwuY2hlY2tlZCkge1xuICAgICAgICAgICAgJCRpIDwgMCAmJiAoX3ZtLm1vZGVsID0gJCRhLmNvbmNhdChbJCR2XSkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAkJGkgPiAtMSAmJiAoX3ZtLm1vZGVsID0gJCRhLnNsaWNlKDAsICQkaSkuY29uY2F0KCQkYS5zbGljZSgkJGkgKyAxKSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBfdm0ubW9kZWwgPSAkJGM7XG4gICAgICAgIH1cbiAgICAgIH0sIF92bS5jaGFuZ2VdLCBcImZvY3VzXCI6IF92bS5vbkZvY3VzLCBcImJsdXJcIjogX3ZtLm9uQmx1ciB9IH0pIDogX2MoJ2lucHV0JywgeyBjbGFzczogX3ZtLmlucHV0Q2xhc3NlcywgYXR0cnM6IHsgXCJ0eXBlXCI6IFwiY2hlY2tib3hcIiwgXCJkaXNhYmxlZFwiOiBfdm0uZGlzYWJsZWQsIFwibmFtZVwiOiBfdm0ubmFtZSB9LCBkb21Qcm9wczogeyBcImNoZWNrZWRcIjogX3ZtLmN1cnJlbnRWYWx1ZSB9LCBvbjogeyBcImNoYW5nZVwiOiBfdm0uY2hhbmdlLCBcImZvY3VzXCI6IF92bS5vbkZvY3VzLCBcImJsdXJcIjogX3ZtLm9uQmx1ciB9IH0pXSksIF92bS5fdihcIiBcIiksIF92bS5fdChcImRlZmF1bHRcIiwgW192bS5zaG93U2xvdCA/IF9jKCdzcGFuJywgW192bS5fdihfdm0uX3MoX3ZtLmxhYmVsKSldKSA6IF92bS5fZSgpXSldLCAyKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDM3MCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgdmFyIF92bSA9IHRoaXM7dmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaDtyZXR1cm4gX2MoJ2RpdicsIHsgY2xhc3M6IF92bS5jbGFzc2VzIH0sIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwgMik7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiAzNzEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9jaXJjbGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM3Mik7XG5cbnZhciBfY2lyY2xlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2NpcmNsZSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IF9jaXJjbGUyLmRlZmF1bHQ7XG5cbi8qKiovIH0pLFxuLyogMzcyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NpcmNsZV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTM1KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jaXJjbGVfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jaXJjbGVfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jaXJjbGVfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NpcmNsZV92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8yYzVlMThmNl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NpcmNsZV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMzczKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8yYzVlMThmNl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NpcmNsZV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzJjNWUxOGY2X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2lyY2xlX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NpcmNsZV92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzJjNWUxOGY2X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2lyY2xlX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8yYzVlMThmNl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NpcmNsZV92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogMzczICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBjbGFzczogX3ZtLndyYXBDbGFzc2VzLCBzdHlsZTogX3ZtLmNpcmNsZVNpemUgfSwgW19jKCdzdmcnLCB7IGF0dHJzOiB7IFwidmlld0JveFwiOiBcIjAgMCAxMDAgMTAwXCIgfSB9LCBbX2MoJ3BhdGgnLCB7IHN0eWxlOiBfdm0udHJhaWxTdHlsZSwgYXR0cnM6IHsgXCJkXCI6IF92bS5wYXRoU3RyaW5nLCBcInN0cm9rZVwiOiBfdm0udHJhaWxDb2xvciwgXCJzdHJva2Utd2lkdGhcIjogX3ZtLnRyYWlsV2lkdGgsIFwiZmlsbC1vcGFjaXR5XCI6IDAgfSB9KSwgX3ZtLl92KFwiIFwiKSwgX2MoJ3BhdGgnLCB7IHN0eWxlOiBfdm0ucGF0aFN0eWxlLCBhdHRyczogeyBcImRcIjogX3ZtLnBhdGhTdHJpbmcsIFwic3Ryb2tlLWxpbmVjYXBcIjogX3ZtLnN0cm9rZUxpbmVjYXAsIFwic3Ryb2tlXCI6IF92bS5zdHJva2VDb2xvciwgXCJzdHJva2Utd2lkdGhcIjogX3ZtLmNvbXB1dGVkU3Ryb2tlV2lkdGgsIFwiZmlsbC1vcGFjaXR5XCI6IFwiMFwiIH0gfSldKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgY2xhc3M6IF92bS5pbm5lckNsYXNzZXMgfSwgW192bS5fdChcImRlZmF1bHRcIildLCAyKV0pO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogMzc0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfY29sbGFwc2UgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM3NSk7XG5cbnZhciBfY29sbGFwc2UyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfY29sbGFwc2UpO1xuXG52YXIgX3BhbmVsID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNzcpO1xuXG52YXIgX3BhbmVsMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3BhbmVsKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuX2NvbGxhcHNlMi5kZWZhdWx0LlBhbmVsID0gX3BhbmVsMi5kZWZhdWx0O1xuZXhwb3J0cy5kZWZhdWx0ID0gX2NvbGxhcHNlMi5kZWZhdWx0O1xuXG4vKioqLyB9KSxcbi8qIDM3NSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jb2xsYXBzZV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTM2KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jb2xsYXBzZV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NvbGxhcHNlX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY29sbGFwc2VfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NvbGxhcHNlX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzYzYzMwMzFmX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY29sbGFwc2VfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM3Nik7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNjNjMzAzMWZfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jb2xsYXBzZV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzYzYzMwMzFmX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY29sbGFwc2VfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY29sbGFwc2VfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl82M2MzMDMxZl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NvbGxhcHNlX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl82M2MzMDMxZl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NvbGxhcHNlX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiAzNzYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0uY2xhc3NlcyB9LCBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sIDIpO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogMzc3ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3BhbmVsX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMzcpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3BhbmVsX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcGFuZWxfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9wYW5lbF92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcGFuZWxfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfZGZiZmQwMTJfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9wYW5lbF92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMzc4KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9kZmJmZDAxMl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3BhbmVsX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfZGZiZmQwMTJfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9wYW5lbF92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9wYW5lbF92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2RmYmZkMDEyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfcGFuZWxfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2RmYmZkMDEyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfcGFuZWxfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDM3OCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgdmFyIF92bSA9IHRoaXM7dmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaDtyZXR1cm4gX2MoJ2RpdicsIHsgY2xhc3M6IF92bS5pdGVtQ2xhc3NlcyB9LCBbX2MoJ2RpdicsIHsgY2xhc3M6IF92bS5oZWFkZXJDbGFzc2VzLCBvbjogeyBcImNsaWNrXCI6IF92bS50b2dnbGUgfSB9LCBbIV92bS5oaWRlQXJyb3cgPyBfYygnSWNvbicsIHsgYXR0cnM6IHsgXCJ0eXBlXCI6IFwiaW9zLWFycm93LWZvcndhcmRcIiB9IH0pIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF92bS5fdChcImRlZmF1bHRcIildLCAyKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLm1vdW50ZWQgPyBfYygnY29sbGFwc2UtdHJhbnNpdGlvbicsIFtfYygnZGl2JywgeyBkaXJlY3RpdmVzOiBbeyBuYW1lOiBcInNob3dcIiwgcmF3TmFtZTogXCJ2LXNob3dcIiwgdmFsdWU6IF92bS5pc0FjdGl2ZSwgZXhwcmVzc2lvbjogXCJpc0FjdGl2ZVwiIH1dLCBjbGFzczogX3ZtLmNvbnRlbnRDbGFzc2VzIH0sIFtfYygnZGl2JywgeyBjbGFzczogX3ZtLmJveENsYXNzZXMgfSwgW192bS5fdChcImNvbnRlbnRcIildLCAyKV0pXSkgOiBfdm0uX2UoKV0sIDEpO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogMzc5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfY29sb3JQaWNrZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM4MCk7XG5cbnZhciBfY29sb3JQaWNrZXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfY29sb3JQaWNrZXIpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSBfY29sb3JQaWNrZXIyLmRlZmF1bHQ7XG5cbi8qKiovIH0pLFxuLyogMzgwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NvbG9yX3BpY2tlcl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTM4KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jb2xvcl9waWNrZXJfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jb2xvcl9waWNrZXJfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jb2xvcl9waWNrZXJfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NvbG9yX3BpY2tlcl92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl82NTZiYWZhN19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NvbG9yX3BpY2tlcl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMzg5KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl82NTZiYWZhN19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NvbG9yX3BpY2tlcl92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzY1NmJhZmE3X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY29sb3JfcGlja2VyX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NvbG9yX3BpY2tlcl92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzY1NmJhZmE3X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY29sb3JfcGlja2VyX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl82NTZiYWZhN19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NvbG9yX3BpY2tlcl92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogMzgxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3JlY29tbWVuZF9jb2xvcnNfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE0MCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcmVjb21tZW5kX2NvbG9yc192dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3JlY29tbWVuZF9jb2xvcnNfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9yZWNvbW1lbmRfY29sb3JzX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9yZWNvbW1lbmRfY29sb3JzX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzBhYzNlODAzX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfcmVjb21tZW5kX2NvbG9yc192dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMzgyKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wYWMzZTgwM19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3JlY29tbWVuZF9jb2xvcnNfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wYWMzZTgwM19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3JlY29tbWVuZF9jb2xvcnNfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcmVjb21tZW5kX2NvbG9yc192dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzBhYzNlODAzX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfcmVjb21tZW5kX2NvbG9yc192dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMGFjM2U4MDNfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9yZWNvbW1lbmRfY29sb3JzX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiAzODIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IHJlZjogXCJyZWZlcmVuY2VcIiwgYXR0cnM6IHsgXCJ0YWJpbmRleFwiOiBcIjBcIiB9LCBvbjogeyBcImNsaWNrXCI6IF92bS5oYW5kbGVDbGljaywgXCJrZXlkb3duXCI6IFtmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgIGlmICghJGV2ZW50LnR5cGUuaW5kZXhPZigna2V5JykgJiYgX3ZtLl9rKCRldmVudC5rZXlDb2RlLCBcImVzY1wiLCAyNywgJGV2ZW50LmtleSwgW1wiRXNjXCIsIFwiRXNjYXBlXCJdKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5oYW5kbGVFc2NhcGUoJGV2ZW50KTtcbiAgICAgIH0sIGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwiZW50ZXJcIiwgMTMsICRldmVudC5rZXksIFwiRW50ZXJcIikpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfXJldHVybiBfdm0uaGFuZGxlRW50ZXIoJGV2ZW50KTtcbiAgICAgIH0sIGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwibGVmdFwiLCAzNywgJGV2ZW50LmtleSwgW1wiTGVmdFwiLCBcIkFycm93TGVmdFwiXSkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfWlmICgnYnV0dG9uJyBpbiAkZXZlbnQgJiYgJGV2ZW50LmJ1dHRvbiAhPT0gMCkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5oYW5kbGVBcnJvdygkZXZlbnQsICd4JywgX3ZtLmxlZnQpO1xuICAgICAgfSwgZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICBpZiAoISRldmVudC50eXBlLmluZGV4T2YoJ2tleScpICYmIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJyaWdodFwiLCAzOSwgJGV2ZW50LmtleSwgW1wiUmlnaHRcIiwgXCJBcnJvd1JpZ2h0XCJdKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9aWYgKCdidXR0b24nIGluICRldmVudCAmJiAkZXZlbnQuYnV0dG9uICE9PSAyKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1yZXR1cm4gX3ZtLmhhbmRsZUFycm93KCRldmVudCwgJ3gnLCBfdm0ucmlnaHQpO1xuICAgICAgfSwgZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICBpZiAoISRldmVudC50eXBlLmluZGV4T2YoJ2tleScpICYmIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJ1cFwiLCAzOCwgJGV2ZW50LmtleSwgW1wiVXBcIiwgXCJBcnJvd1VwXCJdKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5oYW5kbGVBcnJvdygkZXZlbnQsICd5JywgX3ZtLnVwKTtcbiAgICAgIH0sIGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwiZG93blwiLCA0MCwgJGV2ZW50LmtleSwgW1wiRG93blwiLCBcIkFycm93RG93blwiXSkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfXJldHVybiBfdm0uaGFuZGxlQXJyb3coJGV2ZW50LCAneScsIF92bS5kb3duKTtcbiAgICAgIH1dLCBcImJsdXJcIjogX3ZtLmJsdXJDb2xvciwgXCJmb2N1c1wiOiBfdm0uZm9jdXNDb2xvciB9IH0sIFtfdm0uX2woX3ZtLmxpc3QsIGZ1bmN0aW9uIChpdGVtLCBpbmRleCkge1xuICAgIHJldHVybiBbX2MoJ2RpdicsIHsga2V5OiBpdGVtICsgJzonICsgaW5kZXgsIGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctcGlja2VyLWNvbG9ycy13cmFwcGVyJ10gfSwgW19jKCdkaXYnLCB7IGF0dHJzOiB7IFwiZGF0YS1jb2xvci1pZFwiOiBpbmRleCB9IH0sIFtfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLXBpY2tlci1jb2xvcnMtd3JhcHBlci1jb2xvciddLCBzdHlsZTogeyBiYWNrZ3JvdW5kOiBpdGVtIH0gfSksIF92bS5fdihcIiBcIiksIF9jKCdkaXYnLCB7IHJlZjogJ2NvbG9yLWNpcmNsZS0nICsgaW5kZXgsIHJlZkluRm9yOiB0cnVlLCBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLXBpY2tlci1jb2xvcnMtd3JhcHBlci1jaXJjbGUnLCBfdm0uaGlkZUNsYXNzXSB9KV0pXSksIF92bS5fdihcIiBcIiksIF92bS5saW5lQnJlYWsoX3ZtLmxpc3QsIGluZGV4KSA/IF9jKCdicicpIDogX3ZtLl9lKCldO1xuICB9KV0sIDIpO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogMzgzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3NhdHVyYXRpb25fdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE0Mik7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc2F0dXJhdGlvbl92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3NhdHVyYXRpb25fdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zYXR1cmF0aW9uX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zYXR1cmF0aW9uX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzA3NTdhYjg0X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfc2F0dXJhdGlvbl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMzg0KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wNzU3YWI4NF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3NhdHVyYXRpb25fdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wNzU3YWI4NF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3NhdHVyYXRpb25fdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc2F0dXJhdGlvbl92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzA3NTdhYjg0X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfc2F0dXJhdGlvbl92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMDc1N2FiODRfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9zYXR1cmF0aW9uX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiAzODQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctc2F0dXJhdGlvbi13cmFwcGVyJ10sIGF0dHJzOiB7IFwidGFiaW5kZXhcIjogXCIwXCIgfSwgb246IHsgXCJrZXlkb3duXCI6IFtmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgIGlmICghJGV2ZW50LnR5cGUuaW5kZXhPZigna2V5JykgJiYgX3ZtLl9rKCRldmVudC5rZXlDb2RlLCBcImVzY1wiLCAyNywgJGV2ZW50LmtleSwgW1wiRXNjXCIsIFwiRXNjYXBlXCJdKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5oYW5kbGVFc2NhcGUoJGV2ZW50KTtcbiAgICAgIH0sIGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwibGVmdFwiLCAzNywgJGV2ZW50LmtleSwgW1wiTGVmdFwiLCBcIkFycm93TGVmdFwiXSkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfWlmICgnYnV0dG9uJyBpbiAkZXZlbnQgJiYgJGV2ZW50LmJ1dHRvbiAhPT0gMCkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5oYW5kbGVMZWZ0KCRldmVudCk7XG4gICAgICB9LCBmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgIGlmICghJGV2ZW50LnR5cGUuaW5kZXhPZigna2V5JykgJiYgX3ZtLl9rKCRldmVudC5rZXlDb2RlLCBcInJpZ2h0XCIsIDM5LCAkZXZlbnQua2V5LCBbXCJSaWdodFwiLCBcIkFycm93UmlnaHRcIl0pKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1pZiAoJ2J1dHRvbicgaW4gJGV2ZW50ICYmICRldmVudC5idXR0b24gIT09IDIpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfXJldHVybiBfdm0uaGFuZGxlUmlnaHQoJGV2ZW50KTtcbiAgICAgIH0sIGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwidXBcIiwgMzgsICRldmVudC5rZXksIFtcIlVwXCIsIFwiQXJyb3dVcFwiXSkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfXJldHVybiBfdm0uaGFuZGxlVXAoJGV2ZW50KTtcbiAgICAgIH0sIGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwiZG93blwiLCA0MCwgJGV2ZW50LmtleSwgW1wiRG93blwiLCBcIkFycm93RG93blwiXSkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfXJldHVybiBfdm0uaGFuZGxlRG93bigkZXZlbnQpO1xuICAgICAgfV0sIFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdm0uJGVsLmZvY3VzKCk7XG4gICAgICB9IH0gfSwgW19jKCdkaXYnLCB7IHJlZjogXCJjb250YWluZXJcIiwgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1zYXR1cmF0aW9uJ10sIHN0eWxlOiBfdm0uYmdDb2xvclN0eWxlLCBvbjogeyBcIm1vdXNlZG93blwiOiBfdm0uaGFuZGxlTW91c2VEb3duIH0gfSwgW19jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctc2F0dXJhdGlvbi0td2hpdGUnXSB9KSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1zYXR1cmF0aW9uLS1ibGFjayddIH0pLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLXNhdHVyYXRpb24tcG9pbnRlciddLCBzdHlsZTogX3ZtLnBvaW50ZXJTdHlsZSB9LCBbX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1zYXR1cmF0aW9uLWNpcmNsZSddIH0pXSldKV0pO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogMzg1ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2h1ZV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTQzKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9odWVfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9odWVfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9odWVfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2h1ZV92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl80YTQyZGZmNl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2h1ZV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMzg2KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl80YTQyZGZmNl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2h1ZV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzRhNDJkZmY2X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfaHVlX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2h1ZV92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzRhNDJkZmY2X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfaHVlX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl80YTQyZGZmNl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2h1ZV92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogMzg2ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWh1ZSddLCBhdHRyczogeyBcInRhYmluZGV4XCI6IFwiMFwiIH0sIG9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdm0uJGVsLmZvY3VzKCk7XG4gICAgICB9LCBcImtleWRvd25cIjogW2Z1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwiZXNjXCIsIDI3LCAkZXZlbnQua2V5LCBbXCJFc2NcIiwgXCJFc2NhcGVcIl0pKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1yZXR1cm4gX3ZtLmhhbmRsZUVzY2FwZSgkZXZlbnQpO1xuICAgICAgfSwgZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICBpZiAoISRldmVudC50eXBlLmluZGV4T2YoJ2tleScpICYmIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJsZWZ0XCIsIDM3LCAkZXZlbnQua2V5LCBbXCJMZWZ0XCIsIFwiQXJyb3dMZWZ0XCJdKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9aWYgKCdidXR0b24nIGluICRldmVudCAmJiAkZXZlbnQuYnV0dG9uICE9PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1yZXR1cm4gX3ZtLmhhbmRsZUxlZnQoJGV2ZW50KTtcbiAgICAgIH0sIGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwicmlnaHRcIiwgMzksICRldmVudC5rZXksIFtcIlJpZ2h0XCIsIFwiQXJyb3dSaWdodFwiXSkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfWlmICgnYnV0dG9uJyBpbiAkZXZlbnQgJiYgJGV2ZW50LmJ1dHRvbiAhPT0gMikge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5oYW5kbGVSaWdodCgkZXZlbnQpO1xuICAgICAgfSwgZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICBpZiAoISRldmVudC50eXBlLmluZGV4T2YoJ2tleScpICYmIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJ1cFwiLCAzOCwgJGV2ZW50LmtleSwgW1wiVXBcIiwgXCJBcnJvd1VwXCJdKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5oYW5kbGVVcCgkZXZlbnQpO1xuICAgICAgfSwgZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICBpZiAoISRldmVudC50eXBlLmluZGV4T2YoJ2tleScpICYmIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJkb3duXCIsIDQwLCAkZXZlbnQua2V5LCBbXCJEb3duXCIsIFwiQXJyb3dEb3duXCJdKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5oYW5kbGVEb3duKCRldmVudCk7XG4gICAgICB9XSB9IH0sIFtfYygnZGl2JywgeyByZWY6IFwiY29udGFpbmVyXCIsIGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctaHVlLWNvbnRhaW5lciddLCBvbjogeyBcIm1vdXNlZG93blwiOiBfdm0uaGFuZGxlTW91c2VEb3duLCBcInRvdWNobW92ZVwiOiBfdm0uaGFuZGxlQ2hhbmdlLCBcInRvdWNoc3RhcnRcIjogX3ZtLmhhbmRsZUNoYW5nZSB9IH0sIFtfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWh1ZS1wb2ludGVyJ10sIHN0eWxlOiB7IHRvcDogMCwgbGVmdDogX3ZtLnBlcmNlbnQgKyBcIiVcIiB9IH0sIFtfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWh1ZS1waWNrZXInXSB9KV0pXSldKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDM4NyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9hbHBoYV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTQ0KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9hbHBoYV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2FscGhhX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYWxwaGFfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2FscGhhX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2JlN2VhYThhX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfYWxwaGFfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM4OCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfYmU3ZWFhOGFfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9hbHBoYV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2JlN2VhYThhX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfYWxwaGFfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfYWxwaGFfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9iZTdlYWE4YV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2FscGhhX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9iZTdlYWE4YV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2FscGhhX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiAzODggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctYWxwaGEnXSwgYXR0cnM6IHsgXCJ0YWJpbmRleFwiOiBcIjBcIiB9LCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICByZXR1cm4gX3ZtLiRlbC5mb2N1cygpO1xuICAgICAgfSwgXCJrZXlkb3duXCI6IFtmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgIGlmICghJGV2ZW50LnR5cGUuaW5kZXhPZigna2V5JykgJiYgX3ZtLl9rKCRldmVudC5rZXlDb2RlLCBcImVzY1wiLCAyNywgJGV2ZW50LmtleSwgW1wiRXNjXCIsIFwiRXNjYXBlXCJdKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5oYW5kbGVFc2NhcGUoJGV2ZW50KTtcbiAgICAgIH0sIGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwibGVmdFwiLCAzNywgJGV2ZW50LmtleSwgW1wiTGVmdFwiLCBcIkFycm93TGVmdFwiXSkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfWlmICgnYnV0dG9uJyBpbiAkZXZlbnQgJiYgJGV2ZW50LmJ1dHRvbiAhPT0gMCkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5oYW5kbGVMZWZ0KCRldmVudCk7XG4gICAgICB9LCBmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgIGlmICghJGV2ZW50LnR5cGUuaW5kZXhPZigna2V5JykgJiYgX3ZtLl9rKCRldmVudC5rZXlDb2RlLCBcInJpZ2h0XCIsIDM5LCAkZXZlbnQua2V5LCBbXCJSaWdodFwiLCBcIkFycm93UmlnaHRcIl0pKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1pZiAoJ2J1dHRvbicgaW4gJGV2ZW50ICYmICRldmVudC5idXR0b24gIT09IDIpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfXJldHVybiBfdm0uaGFuZGxlUmlnaHQoJGV2ZW50KTtcbiAgICAgIH0sIGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwidXBcIiwgMzgsICRldmVudC5rZXksIFtcIlVwXCIsIFwiQXJyb3dVcFwiXSkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfXJldHVybiBfdm0uaGFuZGxlVXAoJGV2ZW50KTtcbiAgICAgIH0sIGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwiZG93blwiLCA0MCwgJGV2ZW50LmtleSwgW1wiRG93blwiLCBcIkFycm93RG93blwiXSkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfXJldHVybiBfdm0uaGFuZGxlRG93bigkZXZlbnQpO1xuICAgICAgfV0gfSB9LCBbX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1hbHBoYS1jaGVja2JvYXJkLXdyYXAnXSB9LCBbX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1hbHBoYS1jaGVja2VyYm9hcmQnXSB9KV0pLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWFscGhhLWdyYWRpZW50J10sIHN0eWxlOiBfdm0uZ3JhZGllbnRTdHlsZSB9KSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgcmVmOiBcImNvbnRhaW5lclwiLCBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWFscGhhLWNvbnRhaW5lciddLCBvbjogeyBcIm1vdXNlZG93blwiOiBfdm0uaGFuZGxlTW91c2VEb3duLCBcInRvdWNobW92ZVwiOiBfdm0uaGFuZGxlQ2hhbmdlLCBcInRvdWNoc3RhcnRcIjogX3ZtLmhhbmRsZUNoYW5nZSB9IH0sIFtfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWFscGhhLXBvaW50ZXInXSwgc3R5bGU6IHsgdG9wOiAwLCBsZWZ0OiBfdm0udmFsdWUuYSAqIDEwMCArIFwiJVwiIH0gfSwgW19jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctYWxwaGEtcGlja2VyJ10gfSldKV0pXSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiAzODkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGRpcmVjdGl2ZXM6IFt7IG5hbWU6IFwiY2xpY2stb3V0c2lkZVwiLCByYXdOYW1lOiBcInYtY2xpY2stb3V0c2lkZVwiLCB2YWx1ZTogX3ZtLmhhbmRsZUNsb3NlLCBleHByZXNzaW9uOiBcImhhbmRsZUNsb3NlXCIgfV0sIGNsYXNzOiBfdm0uY2xhc3NlcyB9LCBbX2MoJ2RpdicsIHsgcmVmOiBcInJlZmVyZW5jZVwiLCBjbGFzczogX3ZtLndyYXBDbGFzc2VzLCBvbjogeyBcImNsaWNrXCI6IF92bS50b2dnbGVWaXNpYmxlIH0gfSwgW19jKCdpbnB1dCcsIHsgYXR0cnM6IHsgXCJuYW1lXCI6IF92bS5uYW1lLCBcInR5cGVcIjogXCJoaWRkZW5cIiB9LCBkb21Qcm9wczogeyBcInZhbHVlXCI6IF92bS5jdXJyZW50VmFsdWUgfSB9KSwgX3ZtLl92KFwiIFwiKSwgX2MoJ0ljb24nLCB7IGNsYXNzOiBfdm0uYXJyb3dDbGFzc2VzLCBhdHRyczogeyBcInR5cGVcIjogX3ZtLmFycm93VHlwZSwgXCJjdXN0b21cIjogX3ZtLmN1c3RvbUFycm93VHlwZSwgXCJzaXplXCI6IF92bS5hcnJvd1NpemUgfSB9KSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgcmVmOiBcImlucHV0XCIsIGNsYXNzOiBfdm0uaW5wdXRDbGFzc2VzLCBhdHRyczogeyBcInRhYmluZGV4XCI6IF92bS5kaXNhYmxlZCA/IHVuZGVmaW5lZCA6IDAgfSwgb246IHsgXCJrZXlkb3duXCI6IFtmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgIGlmICghJGV2ZW50LnR5cGUuaW5kZXhPZigna2V5JykgJiYgX3ZtLl9rKCRldmVudC5rZXlDb2RlLCBcInRhYlwiLCA5LCAkZXZlbnQua2V5LCBcIlRhYlwiKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5vblRhYigkZXZlbnQpO1xuICAgICAgfSwgZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICBpZiAoISRldmVudC50eXBlLmluZGV4T2YoJ2tleScpICYmIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJlc2NcIiwgMjcsICRldmVudC5rZXksIFtcIkVzY1wiLCBcIkVzY2FwZVwiXSkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfXJldHVybiBfdm0ub25Fc2NhcGUoJGV2ZW50KTtcbiAgICAgIH0sIGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwidXBcIiwgMzgsICRldmVudC5rZXksIFtcIlVwXCIsIFwiQXJyb3dVcFwiXSkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfXJldHVybiBfdm0ub25BcnJvdygkZXZlbnQpO1xuICAgICAgfSwgZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICBpZiAoISRldmVudC50eXBlLmluZGV4T2YoJ2tleScpICYmIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJkb3duXCIsIDQwLCAkZXZlbnQua2V5LCBbXCJEb3duXCIsIFwiQXJyb3dEb3duXCJdKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5vbkFycm93KCRldmVudCk7XG4gICAgICB9XSB9IH0sIFtfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWNvbG9yJ10gfSwgW19jKCdkaXYnLCB7IGRpcmVjdGl2ZXM6IFt7IG5hbWU6IFwic2hvd1wiLCByYXdOYW1lOiBcInYtc2hvd1wiLCB2YWx1ZTogX3ZtLnZhbHVlID09PSAnJyAmJiAhX3ZtLnZpc2libGUsIGV4cHJlc3Npb246IFwidmFsdWUgPT09ICcnICYmICF2aXNpYmxlXCIgfV0sIGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctY29sb3ItZW1wdHknXSB9LCBbX2MoJ2knLCB7IGNsYXNzOiBbX3ZtLmljb25QcmVmaXhDbHMsIF92bS5pY29uUHJlZml4Q2xzICsgJy1pb3MtY2xvc2UnXSB9KV0pLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyBkaXJlY3RpdmVzOiBbeyBuYW1lOiBcInNob3dcIiwgcmF3TmFtZTogXCJ2LXNob3dcIiwgdmFsdWU6IF92bS52YWx1ZSB8fCBfdm0udmlzaWJsZSwgZXhwcmVzc2lvbjogXCJ2YWx1ZSB8fCB2aXNpYmxlXCIgfV0sIHN0eWxlOiBfdm0uZGlzcGxheWVkQ29sb3JTdHlsZSB9KV0pXSldLCAxKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ3RyYW5zaXRpb24nLCB7IGF0dHJzOiB7IFwibmFtZVwiOiBcInRyYW5zaXRpb24tZHJvcFwiIH0gfSwgW19jKCdEcm9wJywgeyBkaXJlY3RpdmVzOiBbeyBuYW1lOiBcInRyYW5zZmVyLWRvbVwiLCByYXdOYW1lOiBcInYtdHJhbnNmZXItZG9tXCIgfSwgeyBuYW1lOiBcInNob3dcIiwgcmF3TmFtZTogXCJ2LXNob3dcIiwgdmFsdWU6IF92bS52aXNpYmxlLCBleHByZXNzaW9uOiBcInZpc2libGVcIiB9XSwgcmVmOiBcImRyb3BcIiwgY2xhc3M6IF92bS5kcm9wQ2xhc3NlcywgYXR0cnM6IHsgXCJwbGFjZW1lbnRcIjogX3ZtLnBsYWNlbWVudCwgXCJkYXRhLXRyYW5zZmVyXCI6IF92bS50cmFuc2ZlciwgXCJ0cmFuc2ZlclwiOiBfdm0udHJhbnNmZXIgfSB9LCBbX2MoJ3RyYW5zaXRpb24nLCB7IGF0dHJzOiB7IFwibmFtZVwiOiBcImZhZGVcIiB9IH0sIFtfdm0udmlzaWJsZSA/IF9jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctcGlja2VyJ10gfSwgW19jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctcGlja2VyLXdyYXBwZXInXSB9LCBbX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1waWNrZXItcGFuZWwnXSB9LCBbX2MoJ1NhdHVyYXRpb24nLCB7IHJlZjogXCJzYXR1cmF0aW9uXCIsIGF0dHJzOiB7IFwiZm9jdXNlZFwiOiBfdm0udmlzaWJsZSB9LCBvbjogeyBcImNoYW5nZVwiOiBfdm0uY2hpbGRDaGFuZ2UgfSwgbmF0aXZlT246IHsgXCJrZXlkb3duXCI6IGZ1bmN0aW9uIGtleWRvd24oJGV2ZW50KSB7XG4gICAgICAgIGlmICghJGV2ZW50LnR5cGUuaW5kZXhPZigna2V5JykgJiYgX3ZtLl9rKCRldmVudC5rZXlDb2RlLCBcInRhYlwiLCA5LCAkZXZlbnQua2V5LCBcIlRhYlwiKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5oYW5kbGVGaXJzdFRhYigkZXZlbnQpO1xuICAgICAgfSB9LCBtb2RlbDogeyB2YWx1ZTogX3ZtLnNhdHVyYXRpb25Db2xvcnMsIGNhbGxiYWNrOiBmdW5jdGlvbiBjYWxsYmFjaygkJHYpIHtcbiAgICAgICAgX3ZtLnNhdHVyYXRpb25Db2xvcnMgPSAkJHY7XG4gICAgICB9LCBleHByZXNzaW9uOiBcInNhdHVyYXRpb25Db2xvcnNcIiB9IH0pXSwgMSksIF92bS5fdihcIiBcIiksIF92bS5odWUgPyBfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLXBpY2tlci1odWUtc2xpZGVyJ10gfSwgW19jKCdIdWUnLCB7IG9uOiB7IFwiY2hhbmdlXCI6IF92bS5jaGlsZENoYW5nZSB9LCBtb2RlbDogeyB2YWx1ZTogX3ZtLnNhdHVyYXRpb25Db2xvcnMsIGNhbGxiYWNrOiBmdW5jdGlvbiBjYWxsYmFjaygkJHYpIHtcbiAgICAgICAgX3ZtLnNhdHVyYXRpb25Db2xvcnMgPSAkJHY7XG4gICAgICB9LCBleHByZXNzaW9uOiBcInNhdHVyYXRpb25Db2xvcnNcIiB9IH0pXSwgMSkgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLmFscGhhID8gX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1waWNrZXItYWxwaGEtc2xpZGVyJ10gfSwgW19jKCdBbHBoYScsIHsgb246IHsgXCJjaGFuZ2VcIjogX3ZtLmNoaWxkQ2hhbmdlIH0sIG1vZGVsOiB7IHZhbHVlOiBfdm0uc2F0dXJhdGlvbkNvbG9ycywgY2FsbGJhY2s6IGZ1bmN0aW9uIGNhbGxiYWNrKCQkdikge1xuICAgICAgICBfdm0uc2F0dXJhdGlvbkNvbG9ycyA9ICQkdjtcbiAgICAgIH0sIGV4cHJlc3Npb246IFwic2F0dXJhdGlvbkNvbG9yc1wiIH0gfSldLCAxKSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfdm0uY29sb3JzLmxlbmd0aCA/IF9jKCdyZWNvbW1lbmQtY29sb3JzJywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLXBpY2tlci1jb2xvcnMnXSwgYXR0cnM6IHsgXCJsaXN0XCI6IF92bS5jb2xvcnMgfSwgb246IHsgXCJwaWNrZXItY29sb3JcIjogX3ZtLmhhbmRsZVNlbGVjdENvbG9yIH0gfSkgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgIV92bS5jb2xvcnMubGVuZ3RoICYmIF92bS5yZWNvbW1lbmQgPyBfYygncmVjb21tZW5kLWNvbG9ycycsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1waWNrZXItY29sb3JzJ10sIGF0dHJzOiB7IFwibGlzdFwiOiBfdm0ucmVjb21tZW5kZWRDb2xvciB9LCBvbjogeyBcInBpY2tlci1jb2xvclwiOiBfdm0uaGFuZGxlU2VsZWN0Q29sb3IgfSB9KSA6IF92bS5fZSgpXSwgMSksIF92bS5fdihcIiBcIiksIF9jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctY29uZmlybSddIH0sIFtfYygnc3BhbicsIHsgY2xhc3M6IF92bS5jb25maXJtQ29sb3JDbGFzc2VzIH0sIFtfdm0uZWRpdGFibGUgPyBbX2MoJ2ktaW5wdXQnLCB7IGF0dHJzOiB7IFwidmFsdWVcIjogX3ZtLmZvcm1hdENvbG9yLCBcInNpemVcIjogXCJzbWFsbFwiIH0sIG9uOiB7IFwib24tZW50ZXJcIjogX3ZtLmhhbmRsZUVkaXRDb2xvciwgXCJvbi1ibHVyXCI6IF92bS5oYW5kbGVFZGl0Q29sb3IgfSB9KV0gOiBbX3ZtLl92KF92bS5fcyhfdm0uZm9ybWF0Q29sb3IpKV1dLCAyKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2ktYnV0dG9uJywgeyByZWY6IFwiY2xlYXJcIiwgYXR0cnM6IHsgXCJ0YWJpbmRleFwiOiAwLCBcInNpemVcIjogXCJzbWFsbFwiIH0sIG9uOiB7IFwia2V5ZG93blwiOiBmdW5jdGlvbiBrZXlkb3duKCRldmVudCkge1xuICAgICAgICBpZiAoISRldmVudC50eXBlLmluZGV4T2YoJ2tleScpICYmIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJlbnRlclwiLCAxMywgJGV2ZW50LmtleSwgXCJFbnRlclwiKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5oYW5kbGVDbGVhcigkZXZlbnQpO1xuICAgICAgfSB9LCBuYXRpdmVPbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICByZXR1cm4gX3ZtLmhhbmRsZUNsZWFyKCRldmVudCk7XG4gICAgICB9LCBcImtleWRvd25cIjogZnVuY3Rpb24ga2V5ZG93bigkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwiZXNjXCIsIDI3LCAkZXZlbnQua2V5LCBbXCJFc2NcIiwgXCJFc2NhcGVcIl0pKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1yZXR1cm4gX3ZtLmNsb3NlcigkZXZlbnQpO1xuICAgICAgfSB9IH0sIFtfdm0uX3YoX3ZtLl9zKF92bS50KCdpLmRhdGVwaWNrZXIuY2xlYXInKSkpXSksIF92bS5fdihcIiBcIiksIF9jKCdpLWJ1dHRvbicsIHsgcmVmOiBcIm9rXCIsIGF0dHJzOiB7IFwidGFiaW5kZXhcIjogMCwgXCJzaXplXCI6IFwic21hbGxcIiwgXCJ0eXBlXCI6IFwicHJpbWFyeVwiIH0sIG9uOiB7IFwia2V5ZG93blwiOiBmdW5jdGlvbiBrZXlkb3duKCRldmVudCkge1xuICAgICAgICBpZiAoISRldmVudC50eXBlLmluZGV4T2YoJ2tleScpICYmIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJlbnRlclwiLCAxMywgJGV2ZW50LmtleSwgXCJFbnRlclwiKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5oYW5kbGVTdWNjZXNzKCRldmVudCk7XG4gICAgICB9IH0sIG5hdGl2ZU9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdm0uaGFuZGxlU3VjY2VzcygkZXZlbnQpO1xuICAgICAgfSwgXCJrZXlkb3duXCI6IFtmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgIGlmICghJGV2ZW50LnR5cGUuaW5kZXhPZigna2V5JykgJiYgX3ZtLl9rKCRldmVudC5rZXlDb2RlLCBcInRhYlwiLCA5LCAkZXZlbnQua2V5LCBcIlRhYlwiKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5oYW5kbGVMYXN0VGFiKCRldmVudCk7XG4gICAgICB9LCBmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgIGlmICghJGV2ZW50LnR5cGUuaW5kZXhPZigna2V5JykgJiYgX3ZtLl9rKCRldmVudC5rZXlDb2RlLCBcImVzY1wiLCAyNywgJGV2ZW50LmtleSwgW1wiRXNjXCIsIFwiRXNjYXBlXCJdKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5jbG9zZXIoJGV2ZW50KTtcbiAgICAgIH1dIH0gfSwgW192bS5fdihfdm0uX3MoX3ZtLnQoJ2kuZGF0ZXBpY2tlci5vaycpKSldKV0sIDEpXSkgOiBfdm0uX2UoKV0pXSwgMSldLCAxKV0sIDEpO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogMzkwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfY29udGVudCA9IF9fd2VicGFja19yZXF1aXJlX18oMTQ1KTtcblxudmFyIF9jb250ZW50MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2NvbnRlbnQpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSBfY29udGVudDIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiAzOTEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0ud3JhcENsYXNzZXMgfSwgW192bS5fdChcImRlZmF1bHRcIildLCAyKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDM5MiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2RhdGVQaWNrZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDM5Myk7XG5cbnZhciBfZGF0ZVBpY2tlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kYXRlUGlja2VyKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0gX2RhdGVQaWNrZXIyLmRlZmF1bHQ7XG5cbi8qKiovIH0pLFxuLyogMzkzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9waWNrZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE0Nyk7XG5cbnZhciBfcGlja2VyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3BpY2tlcik7XG5cbnZhciBfZGF0ZSA9IF9fd2VicGFja19yZXF1aXJlX18oMzk2KTtcblxudmFyIF9kYXRlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RhdGUpO1xuXG52YXIgX2RhdGVSYW5nZSA9IF9fd2VicGFja19yZXF1aXJlX18oNDA5KTtcblxudmFyIF9kYXRlUmFuZ2UyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGF0ZVJhbmdlKTtcblxudmFyIF9hc3Npc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ0NhbGVuZGFyUGlja2VyJyxcbiAgICBtaXhpbnM6IFtfcGlja2VyMi5kZWZhdWx0XSxcbiAgICBwcm9wczoge1xuICAgICAgICB0eXBlOiB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2Fzc2lzdC5vbmVPZikodmFsdWUsIFsneWVhcicsICdtb250aCcsICdkYXRlJywgJ2RhdGVyYW5nZScsICdkYXRldGltZScsICdkYXRldGltZXJhbmdlJ10pO1xuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgZGVmYXVsdDogJ2RhdGUnXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGNvbXBvbmVudHM6IHsgRGF0ZVBpY2tlclBhbmVsOiBfZGF0ZTIuZGVmYXVsdCwgUmFuZ2VEYXRlUGlja2VyUGFuZWw6IF9kYXRlUmFuZ2UyLmRlZmF1bHQgfSxcbiAgICBjb21wdXRlZDoge1xuICAgICAgICBwYW5lbDogZnVuY3Rpb24gcGFuZWwoKSB7XG4gICAgICAgICAgICB2YXIgaXNSYW5nZSA9IHRoaXMudHlwZSA9PT0gJ2RhdGVyYW5nZScgfHwgdGhpcy50eXBlID09PSAnZGF0ZXRpbWVyYW5nZSc7XG4gICAgICAgICAgICByZXR1cm4gaXNSYW5nZSA/ICdSYW5nZURhdGVQaWNrZXJQYW5lbCcgOiAnRGF0ZVBpY2tlclBhbmVsJztcbiAgICAgICAgfSxcbiAgICAgICAgb3duUGlja2VyUHJvcHM6IGZ1bmN0aW9uIG93blBpY2tlclByb3BzKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucztcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogMzk0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xudmFyIF9fV0VCUEFDS19BTURfREVGSU5FX1JFU1VMVF9fO1xuXG4oZnVuY3Rpb24gKG1haW4pIHtcbiAgICAndXNlIHN0cmljdCc7XG5cbiAgICB2YXIgZmVjaGEgPSB7fTtcbiAgICB2YXIgdG9rZW4gPSAvZHsxLDR9fE17MSw0fXx5eSg/Onl5KT98U3sxLDN9fERvfFpafChbSGhNc0RtXSlcXDE/fFthQV18XCJbXlwiXSpcInwnW14nXSonL2c7XG4gICAgdmFyIHR3b0RpZ2l0cyA9IC9cXGRcXGQ/LztcbiAgICB2YXIgdGhyZWVEaWdpdHMgPSAvXFxkezN9LztcbiAgICB2YXIgZm91ckRpZ2l0cyA9IC9cXGR7NH0vO1xuICAgIHZhciB3b3JkID0gL1swLTldKlsnYS16XFx1MDBBMC1cXHUwNUZGXFx1MDcwMC1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkVGXSt8W1xcdTA2MDAtXFx1MDZGRlxcL10rKFxccyo/W1xcdTA2MDAtXFx1MDZGRl0rKXsxLDJ9L2k7XG4gICAgdmFyIG5vb3AgPSBmdW5jdGlvbiBub29wKCkge307XG5cbiAgICBmdW5jdGlvbiBzaG9ydGVuKGFyciwgc0xlbikge1xuICAgICAgICB2YXIgbmV3QXJyID0gW107XG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBhcnIubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgIG5ld0Fyci5wdXNoKGFycltpXS5zdWJzdHIoMCwgc0xlbikpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXdBcnI7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gbW9udGhVcGRhdGUoYXJyTmFtZSkge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKGQsIHYsIGkxOG4pIHtcbiAgICAgICAgICAgIHZhciBpbmRleCA9IGkxOG5bYXJyTmFtZV0uaW5kZXhPZih2LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdi5zdWJzdHIoMSkudG9Mb3dlckNhc2UoKSk7XG4gICAgICAgICAgICBpZiAofmluZGV4KSB7XG4gICAgICAgICAgICAgICAgZC5tb250aCA9IGluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHBhZCh2YWwsIGxlbikge1xuICAgICAgICB2YWwgPSBTdHJpbmcodmFsKTtcbiAgICAgICAgbGVuID0gbGVuIHx8IDI7XG4gICAgICAgIHdoaWxlICh2YWwubGVuZ3RoIDwgbGVuKSB7XG4gICAgICAgICAgICB2YWwgPSAnMCcgKyB2YWw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbDtcbiAgICB9XG5cbiAgICB2YXIgZGF5TmFtZXMgPSBbJ1N1bmRheScsICdNb25kYXknLCAnVHVlc2RheScsICdXZWRuZXNkYXknLCAnVGh1cnNkYXknLCAnRnJpZGF5JywgJ1NhdHVyZGF5J107XG4gICAgdmFyIG1vbnRoTmFtZXMgPSBbJ0phbnVhcnknLCAnRmVicnVhcnknLCAnTWFyY2gnLCAnQXByaWwnLCAnTWF5JywgJ0p1bmUnLCAnSnVseScsICdBdWd1c3QnLCAnU2VwdGVtYmVyJywgJ09jdG9iZXInLCAnTm92ZW1iZXInLCAnRGVjZW1iZXInXTtcbiAgICB2YXIgbW9udGhOYW1lc1Nob3J0ID0gc2hvcnRlbihtb250aE5hbWVzLCAzKTtcbiAgICB2YXIgZGF5TmFtZXNTaG9ydCA9IHNob3J0ZW4oZGF5TmFtZXMsIDMpO1xuICAgIGZlY2hhLmkxOG4gPSB7XG4gICAgICAgIGRheU5hbWVzU2hvcnQ6IGRheU5hbWVzU2hvcnQsXG4gICAgICAgIGRheU5hbWVzOiBkYXlOYW1lcyxcbiAgICAgICAgbW9udGhOYW1lc1Nob3J0OiBtb250aE5hbWVzU2hvcnQsXG4gICAgICAgIG1vbnRoTmFtZXM6IG1vbnRoTmFtZXMsXG4gICAgICAgIGFtUG06IFsnYW0nLCAncG0nXSxcbiAgICAgICAgRG9GbjogZnVuY3Rpb24gRG9GbihEKSB7XG4gICAgICAgICAgICByZXR1cm4gRCArIFsndGgnLCAnc3QnLCAnbmQnLCAncmQnXVtEICUgMTAgPiAzID8gMCA6IChEIC0gRCAlIDEwICE9PSAxMCkgKiBEICUgMTBdO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHZhciBmb3JtYXRGbGFncyA9IHtcbiAgICAgICAgRDogZnVuY3Rpb24gRChkYXRlT2JqKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZU9iai5nZXREYXkoKTtcbiAgICAgICAgfSxcbiAgICAgICAgREQ6IGZ1bmN0aW9uIEREKGRhdGVPYmopIHtcbiAgICAgICAgICAgIHJldHVybiBwYWQoZGF0ZU9iai5nZXREYXkoKSk7XG4gICAgICAgIH0sXG4gICAgICAgIERvOiBmdW5jdGlvbiBEbyhkYXRlT2JqLCBpMThuKSB7XG4gICAgICAgICAgICByZXR1cm4gaTE4bi5Eb0ZuKGRhdGVPYmouZ2V0RGF0ZSgpKTtcbiAgICAgICAgfSxcbiAgICAgICAgZDogZnVuY3Rpb24gZChkYXRlT2JqKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZU9iai5nZXREYXRlKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGRkOiBmdW5jdGlvbiBkZChkYXRlT2JqKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFkKGRhdGVPYmouZ2V0RGF0ZSgpKTtcbiAgICAgICAgfSxcbiAgICAgICAgZGRkOiBmdW5jdGlvbiBkZGQoZGF0ZU9iaiwgaTE4bikge1xuICAgICAgICAgICAgcmV0dXJuIGkxOG4uZGF5TmFtZXNTaG9ydFtkYXRlT2JqLmdldERheSgpXTtcbiAgICAgICAgfSxcbiAgICAgICAgZGRkZDogZnVuY3Rpb24gZGRkZChkYXRlT2JqLCBpMThuKSB7XG4gICAgICAgICAgICByZXR1cm4gaTE4bi5kYXlOYW1lc1tkYXRlT2JqLmdldERheSgpXTtcbiAgICAgICAgfSxcbiAgICAgICAgTTogZnVuY3Rpb24gTShkYXRlT2JqKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZU9iai5nZXRNb250aCgpICsgMTtcbiAgICAgICAgfSxcbiAgICAgICAgTU06IGZ1bmN0aW9uIE1NKGRhdGVPYmopIHtcbiAgICAgICAgICAgIHJldHVybiBwYWQoZGF0ZU9iai5nZXRNb250aCgpICsgMSk7XG4gICAgICAgIH0sXG4gICAgICAgIE1NTTogZnVuY3Rpb24gTU1NKGRhdGVPYmosIGkxOG4pIHtcbiAgICAgICAgICAgIHJldHVybiBpMThuLm1vbnRoTmFtZXNTaG9ydFtkYXRlT2JqLmdldE1vbnRoKCldO1xuICAgICAgICB9LFxuICAgICAgICBNTU1NOiBmdW5jdGlvbiBNTU1NKGRhdGVPYmosIGkxOG4pIHtcbiAgICAgICAgICAgIHJldHVybiBpMThuLm1vbnRoTmFtZXNbZGF0ZU9iai5nZXRNb250aCgpXTtcbiAgICAgICAgfSxcbiAgICAgICAgeXk6IGZ1bmN0aW9uIHl5KGRhdGVPYmopIHtcbiAgICAgICAgICAgIHJldHVybiBTdHJpbmcoZGF0ZU9iai5nZXRGdWxsWWVhcigpKS5zdWJzdHIoMik7XG4gICAgICAgIH0sXG4gICAgICAgIHl5eXk6IGZ1bmN0aW9uIHl5eXkoZGF0ZU9iaikge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGVPYmouZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgfSxcbiAgICAgICAgaDogZnVuY3Rpb24gaChkYXRlT2JqKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZU9iai5nZXRIb3VycygpICUgMTIgfHwgMTI7XG4gICAgICAgIH0sXG4gICAgICAgIGhoOiBmdW5jdGlvbiBoaChkYXRlT2JqKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFkKGRhdGVPYmouZ2V0SG91cnMoKSAlIDEyIHx8IDEyKTtcbiAgICAgICAgfSxcbiAgICAgICAgSDogZnVuY3Rpb24gSChkYXRlT2JqKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZU9iai5nZXRIb3VycygpO1xuICAgICAgICB9LFxuICAgICAgICBISDogZnVuY3Rpb24gSEgoZGF0ZU9iaikge1xuICAgICAgICAgICAgcmV0dXJuIHBhZChkYXRlT2JqLmdldEhvdXJzKCkpO1xuICAgICAgICB9LFxuICAgICAgICBtOiBmdW5jdGlvbiBtKGRhdGVPYmopIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRlT2JqLmdldE1pbnV0ZXMoKTtcbiAgICAgICAgfSxcbiAgICAgICAgbW06IGZ1bmN0aW9uIG1tKGRhdGVPYmopIHtcbiAgICAgICAgICAgIHJldHVybiBwYWQoZGF0ZU9iai5nZXRNaW51dGVzKCkpO1xuICAgICAgICB9LFxuICAgICAgICBzOiBmdW5jdGlvbiBzKGRhdGVPYmopIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRlT2JqLmdldFNlY29uZHMoKTtcbiAgICAgICAgfSxcbiAgICAgICAgc3M6IGZ1bmN0aW9uIHNzKGRhdGVPYmopIHtcbiAgICAgICAgICAgIHJldHVybiBwYWQoZGF0ZU9iai5nZXRTZWNvbmRzKCkpO1xuICAgICAgICB9LFxuICAgICAgICBTOiBmdW5jdGlvbiBTKGRhdGVPYmopIHtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLnJvdW5kKGRhdGVPYmouZ2V0TWlsbGlzZWNvbmRzKCkgLyAxMDApO1xuICAgICAgICB9LFxuICAgICAgICBTUzogZnVuY3Rpb24gU1MoZGF0ZU9iaikge1xuICAgICAgICAgICAgcmV0dXJuIHBhZChNYXRoLnJvdW5kKGRhdGVPYmouZ2V0TWlsbGlzZWNvbmRzKCkgLyAxMCksIDIpO1xuICAgICAgICB9LFxuICAgICAgICBTU1M6IGZ1bmN0aW9uIFNTUyhkYXRlT2JqKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFkKGRhdGVPYmouZ2V0TWlsbGlzZWNvbmRzKCksIDMpO1xuICAgICAgICB9LFxuICAgICAgICBhOiBmdW5jdGlvbiBhKGRhdGVPYmosIGkxOG4pIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRlT2JqLmdldEhvdXJzKCkgPCAxMiA/IGkxOG4uYW1QbVswXSA6IGkxOG4uYW1QbVsxXTtcbiAgICAgICAgfSxcbiAgICAgICAgQTogZnVuY3Rpb24gQShkYXRlT2JqLCBpMThuKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZU9iai5nZXRIb3VycygpIDwgMTIgPyBpMThuLmFtUG1bMF0udG9VcHBlckNhc2UoKSA6IGkxOG4uYW1QbVsxXS50b1VwcGVyQ2FzZSgpO1xuICAgICAgICB9LFxuICAgICAgICBaWjogZnVuY3Rpb24gWlooZGF0ZU9iaikge1xuICAgICAgICAgICAgdmFyIG8gPSBkYXRlT2JqLmdldFRpbWV6b25lT2Zmc2V0KCk7XG4gICAgICAgICAgICByZXR1cm4gKG8gPiAwID8gJy0nIDogJysnKSArIHBhZChNYXRoLmZsb29yKE1hdGguYWJzKG8pIC8gNjApICogMTAwICsgTWF0aC5hYnMobykgJSA2MCwgNCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgdmFyIHBhcnNlRmxhZ3MgPSB7XG4gICAgICAgIGQ6IFt0d29EaWdpdHMsIGZ1bmN0aW9uIChkLCB2KSB7XG4gICAgICAgICAgICBkLmRheSA9IHY7XG4gICAgICAgIH1dLFxuICAgICAgICBNOiBbdHdvRGlnaXRzLCBmdW5jdGlvbiAoZCwgdikge1xuICAgICAgICAgICAgZC5tb250aCA9IHYgLSAxO1xuICAgICAgICB9XSxcbiAgICAgICAgeXk6IFt0d29EaWdpdHMsIGZ1bmN0aW9uIChkLCB2KSB7XG4gICAgICAgICAgICB2YXIgZGEgPSBuZXcgRGF0ZSgpLFxuICAgICAgICAgICAgICAgIGNlbnQgPSArKCcnICsgZGEuZ2V0RnVsbFllYXIoKSkuc3Vic3RyKDAsIDIpO1xuICAgICAgICAgICAgZC55ZWFyID0gJycgKyAodiA+IDY4ID8gY2VudCAtIDEgOiBjZW50KSArIHY7XG4gICAgICAgIH1dLFxuICAgICAgICBoOiBbdHdvRGlnaXRzLCBmdW5jdGlvbiAoZCwgdikge1xuICAgICAgICAgICAgZC5ob3VyID0gdjtcbiAgICAgICAgfV0sXG4gICAgICAgIG06IFt0d29EaWdpdHMsIGZ1bmN0aW9uIChkLCB2KSB7XG4gICAgICAgICAgICBkLm1pbnV0ZSA9IHY7XG4gICAgICAgIH1dLFxuICAgICAgICBzOiBbdHdvRGlnaXRzLCBmdW5jdGlvbiAoZCwgdikge1xuICAgICAgICAgICAgZC5zZWNvbmQgPSB2O1xuICAgICAgICB9XSxcbiAgICAgICAgeXl5eTogW2ZvdXJEaWdpdHMsIGZ1bmN0aW9uIChkLCB2KSB7XG4gICAgICAgICAgICBkLnllYXIgPSB2O1xuICAgICAgICB9XSxcbiAgICAgICAgUzogWy9cXGQvLCBmdW5jdGlvbiAoZCwgdikge1xuICAgICAgICAgICAgZC5taWxsaXNlY29uZCA9IHYgKiAxMDA7XG4gICAgICAgIH1dLFxuICAgICAgICBTUzogWy9cXGR7Mn0vLCBmdW5jdGlvbiAoZCwgdikge1xuICAgICAgICAgICAgZC5taWxsaXNlY29uZCA9IHYgKiAxMDtcbiAgICAgICAgfV0sXG4gICAgICAgIFNTUzogW3RocmVlRGlnaXRzLCBmdW5jdGlvbiAoZCwgdikge1xuICAgICAgICAgICAgZC5taWxsaXNlY29uZCA9IHY7XG4gICAgICAgIH1dLFxuICAgICAgICBEOiBbdHdvRGlnaXRzLCBub29wXSxcbiAgICAgICAgZGRkOiBbd29yZCwgbm9vcF0sXG4gICAgICAgIE1NTTogW3dvcmQsIG1vbnRoVXBkYXRlKCdtb250aE5hbWVzU2hvcnQnKV0sXG4gICAgICAgIE1NTU06IFt3b3JkLCBtb250aFVwZGF0ZSgnbW9udGhOYW1lcycpXSxcbiAgICAgICAgYTogW3dvcmQsIGZ1bmN0aW9uIChkLCB2LCBpMThuKSB7XG4gICAgICAgICAgICB2YXIgdmFsID0gdi50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgaWYgKHZhbCA9PT0gaTE4bi5hbVBtWzBdKSB7XG4gICAgICAgICAgICAgICAgZC5pc1BtID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbCA9PT0gaTE4bi5hbVBtWzFdKSB7XG4gICAgICAgICAgICAgICAgZC5pc1BtID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfV0sXG4gICAgICAgIFpaOiBbL1tcXCtcXC1dXFxkXFxkOj9cXGRcXGQvLCBmdW5jdGlvbiAoZCwgdikge1xuICAgICAgICAgICAgdmFyIHBhcnRzID0gKHYgKyAnJykubWF0Y2goLyhbXFwrXFwtXXxcXGRcXGQpL2dpKSxcbiAgICAgICAgICAgICAgICBtaW51dGVzO1xuXG4gICAgICAgICAgICBpZiAocGFydHMpIHtcbiAgICAgICAgICAgICAgICBtaW51dGVzID0gKyhwYXJ0c1sxXSAqIDYwKSArIHBhcnNlSW50KHBhcnRzWzJdLCAxMCk7XG4gICAgICAgICAgICAgICAgZC50aW1lem9uZU9mZnNldCA9IHBhcnRzWzBdID09PSAnKycgPyBtaW51dGVzIDogLW1pbnV0ZXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1dXG4gICAgfTtcbiAgICBwYXJzZUZsYWdzLkREID0gcGFyc2VGbGFncy5ERDtcbiAgICBwYXJzZUZsYWdzLmRkZGQgPSBwYXJzZUZsYWdzLmRkZDtcbiAgICBwYXJzZUZsYWdzLkRvID0gcGFyc2VGbGFncy5kZCA9IHBhcnNlRmxhZ3MuZDtcbiAgICBwYXJzZUZsYWdzLm1tID0gcGFyc2VGbGFncy5tO1xuICAgIHBhcnNlRmxhZ3MuaGggPSBwYXJzZUZsYWdzLkggPSBwYXJzZUZsYWdzLkhIID0gcGFyc2VGbGFncy5oO1xuICAgIHBhcnNlRmxhZ3MuTU0gPSBwYXJzZUZsYWdzLk07XG4gICAgcGFyc2VGbGFncy5zcyA9IHBhcnNlRmxhZ3MucztcbiAgICBwYXJzZUZsYWdzLkEgPSBwYXJzZUZsYWdzLmE7XG5cbiAgICBmZWNoYS5tYXNrcyA9IHtcbiAgICAgICAgJ2RlZmF1bHQnOiAnZGRkIE1NTSBkZCB5eXl5IEhIOm1tOnNzJyxcbiAgICAgICAgc2hvcnREYXRlOiAnTS9EL3l5JyxcbiAgICAgICAgbWVkaXVtRGF0ZTogJ01NTSBkLCB5eXl5JyxcbiAgICAgICAgbG9uZ0RhdGU6ICdNTU1NIGQsIHl5eXknLFxuICAgICAgICBmdWxsRGF0ZTogJ2RkZGQsIE1NTU0gZCwgeXl5eScsXG4gICAgICAgIHNob3J0VGltZTogJ0hIOm1tJyxcbiAgICAgICAgbWVkaXVtVGltZTogJ0hIOm1tOnNzJyxcbiAgICAgICAgbG9uZ1RpbWU6ICdISDptbTpzcy5TU1MnXG4gICAgfTtcblxuICAgIGZlY2hhLmZvcm1hdCA9IGZ1bmN0aW9uIChkYXRlT2JqLCBtYXNrLCBpMThuU2V0dGluZ3MpIHtcbiAgICAgICAgdmFyIGkxOG4gPSBpMThuU2V0dGluZ3MgfHwgZmVjaGEuaTE4bjtcblxuICAgICAgICBpZiAodHlwZW9mIGRhdGVPYmogPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICBkYXRlT2JqID0gbmV3IERhdGUoZGF0ZU9iaik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGRhdGVPYmopICE9PSAnW29iamVjdCBEYXRlXScgfHwgaXNOYU4oZGF0ZU9iai5nZXRUaW1lKCkpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgRGF0ZSBpbiBmZWNoYS5mb3JtYXQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG1hc2sgPSBmZWNoYS5tYXNrc1ttYXNrXSB8fCBtYXNrIHx8IGZlY2hhLm1hc2tzWydkZWZhdWx0J107XG5cbiAgICAgICAgcmV0dXJuIG1hc2sucmVwbGFjZSh0b2tlbiwgZnVuY3Rpb24gKCQwKSB7XG4gICAgICAgICAgICByZXR1cm4gJDAgaW4gZm9ybWF0RmxhZ3MgPyBmb3JtYXRGbGFnc1skMF0oZGF0ZU9iaiwgaTE4bikgOiAkMC5zbGljZSgxLCAkMC5sZW5ndGggLSAxKTtcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIGZlY2hhLnBhcnNlID0gZnVuY3Rpb24gKGRhdGVTdHIsIGZvcm1hdCwgaTE4blNldHRpbmdzKSB7XG4gICAgICAgIHZhciBpMThuID0gaTE4blNldHRpbmdzIHx8IGZlY2hhLmkxOG47XG5cbiAgICAgICAgaWYgKHR5cGVvZiBmb3JtYXQgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZm9ybWF0IGluIGZlY2hhLnBhcnNlJyk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3JtYXQgPSBmZWNoYS5tYXNrc1tmb3JtYXRdIHx8IGZvcm1hdDtcblxuICAgICAgICBpZiAoZGF0ZVN0ci5sZW5ndGggPiAxMDAwKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgaXNWYWxpZCA9IHRydWU7XG4gICAgICAgIHZhciBkYXRlSW5mbyA9IHt9O1xuICAgICAgICBmb3JtYXQucmVwbGFjZSh0b2tlbiwgZnVuY3Rpb24gKCQwKSB7XG4gICAgICAgICAgICBpZiAocGFyc2VGbGFnc1skMF0pIHtcbiAgICAgICAgICAgICAgICB2YXIgaW5mbyA9IHBhcnNlRmxhZ3NbJDBdO1xuICAgICAgICAgICAgICAgIHZhciBpbmRleCA9IGRhdGVTdHIuc2VhcmNoKGluZm9bMF0pO1xuICAgICAgICAgICAgICAgIGlmICghfmluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIGlzVmFsaWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBkYXRlU3RyLnJlcGxhY2UoaW5mb1swXSwgZnVuY3Rpb24gKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5mb1sxXShkYXRlSW5mbywgcmVzdWx0LCBpMThuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVTdHIgPSBkYXRlU3RyLnN1YnN0cihpbmRleCArIHJlc3VsdC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcGFyc2VGbGFnc1skMF0gPyAnJyA6ICQwLnNsaWNlKDEsICQwLmxlbmd0aCAtIDEpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIWlzVmFsaWQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciB0b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGlmIChkYXRlSW5mby5pc1BtID09PSB0cnVlICYmIGRhdGVJbmZvLmhvdXIgIT0gbnVsbCAmJiArZGF0ZUluZm8uaG91ciAhPT0gMTIpIHtcbiAgICAgICAgICAgIGRhdGVJbmZvLmhvdXIgPSArZGF0ZUluZm8uaG91ciArIDEyO1xuICAgICAgICB9IGVsc2UgaWYgKGRhdGVJbmZvLmlzUG0gPT09IGZhbHNlICYmICtkYXRlSW5mby5ob3VyID09PSAxMikge1xuICAgICAgICAgICAgZGF0ZUluZm8uaG91ciA9IDA7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgZGF0ZTtcbiAgICAgICAgaWYgKGRhdGVJbmZvLnRpbWV6b25lT2Zmc2V0ICE9IG51bGwpIHtcbiAgICAgICAgICAgIGRhdGVJbmZvLm1pbnV0ZSA9ICsoZGF0ZUluZm8ubWludXRlIHx8IDApIC0gK2RhdGVJbmZvLnRpbWV6b25lT2Zmc2V0O1xuICAgICAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKERhdGUuVVRDKGRhdGVJbmZvLnllYXIgfHwgdG9kYXkuZ2V0RnVsbFllYXIoKSwgZGF0ZUluZm8ubW9udGggfHwgMCwgZGF0ZUluZm8uZGF5IHx8IDEsIGRhdGVJbmZvLmhvdXIgfHwgMCwgZGF0ZUluZm8ubWludXRlIHx8IDAsIGRhdGVJbmZvLnNlY29uZCB8fCAwLCBkYXRlSW5mby5taWxsaXNlY29uZCB8fCAwKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkYXRlID0gbmV3IERhdGUoZGF0ZUluZm8ueWVhciB8fCB0b2RheS5nZXRGdWxsWWVhcigpLCBkYXRlSW5mby5tb250aCB8fCAwLCBkYXRlSW5mby5kYXkgfHwgMSwgZGF0ZUluZm8uaG91ciB8fCAwLCBkYXRlSW5mby5taW51dGUgfHwgMCwgZGF0ZUluZm8uc2Vjb25kIHx8IDAsIGRhdGVJbmZvLm1pbGxpc2Vjb25kIHx8IDApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYXRlO1xuICAgIH07XG5cbiAgICBpZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbW9kdWxlLmV4cG9ydHMpIHtcbiAgICAgICAgbW9kdWxlLmV4cG9ydHMgPSBmZWNoYTtcbiAgICB9IGVsc2UgaWYgKHRydWUpIHtcbiAgICAgICAgIShfX1dFQlBBQ0tfQU1EX0RFRklORV9SRVNVTFRfXyA9IChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gZmVjaGE7XG4gICAgICAgIH0pLmNhbGwoZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXywgZXhwb3J0cywgbW9kdWxlKSxcblx0XHRcdFx0X19XRUJQQUNLX0FNRF9ERUZJTkVfUkVTVUxUX18gIT09IHVuZGVmaW5lZCAmJiAobW9kdWxlLmV4cG9ydHMgPSBfX1dFQlBBQ0tfQU1EX0RFRklORV9SRVNVTFRfXykpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIG1haW4uZmVjaGEgPSBmZWNoYTtcbiAgICB9XG59KSh1bmRlZmluZWQpO1xuXG4vKioqLyB9KSxcbi8qIDM5NSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgdmFyIF92bSA9IHRoaXM7dmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaDtyZXR1cm4gX2MoJ2RpdicsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJjbGljay1vdXRzaWRlXCIsIHJhd05hbWU6IFwidi1jbGljay1vdXRzaWRlOm1vdXNlZG93bi5jYXB0dXJlXCIsIHZhbHVlOiBfdm0uaGFuZGxlQ2xvc2UsIGV4cHJlc3Npb246IFwiaGFuZGxlQ2xvc2VcIiwgYXJnOiBcIm1vdXNlZG93blwiLCBtb2RpZmllcnM6IHsgXCJjYXB0dXJlXCI6IHRydWUgfSB9LCB7IG5hbWU6IFwiY2xpY2stb3V0c2lkZVwiLCByYXdOYW1lOiBcInYtY2xpY2stb3V0c2lkZTp0b3VjaHN0YXJ0LmNhcHR1cmVcIiwgdmFsdWU6IF92bS5oYW5kbGVDbG9zZSwgZXhwcmVzc2lvbjogXCJoYW5kbGVDbG9zZVwiLCBhcmc6IFwidG91Y2hzdGFydFwiLCBtb2RpZmllcnM6IHsgXCJjYXB0dXJlXCI6IHRydWUgfSB9LCB7IG5hbWU6IFwiY2xpY2stb3V0c2lkZVwiLCByYXdOYW1lOiBcInYtY2xpY2stb3V0c2lkZS5jYXB0dXJlXCIsIHZhbHVlOiBfdm0uaGFuZGxlQ2xvc2UsIGV4cHJlc3Npb246IFwiaGFuZGxlQ2xvc2VcIiwgbW9kaWZpZXJzOiB7IFwiY2FwdHVyZVwiOiB0cnVlIH0gfV0sIGNsYXNzOiBfdm0ud3JhcHBlckNsYXNzZXMgfSwgW19jKCdkaXYnLCB7IHJlZjogXCJyZWZlcmVuY2VcIiwgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1yZWwnXSB9LCBbX3ZtLl90KFwiZGVmYXVsdFwiLCBbX2MoJ2ktaW5wdXQnLCB7IGtleTogX3ZtLmZvcmNlSW5wdXRSZXJlbmRlciwgcmVmOiBcImlucHV0XCIsIGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctZWRpdG9yJ10sIGF0dHJzOiB7IFwiZWxlbWVudC1pZFwiOiBfdm0uZWxlbWVudElkLCBcInJlYWRvbmx5XCI6ICFfdm0uZWRpdGFibGUgfHwgX3ZtLnJlYWRvbmx5LCBcImRpc2FibGVkXCI6IF92bS5kaXNhYmxlZCwgXCJzaXplXCI6IF92bS5zaXplLCBcInBsYWNlaG9sZGVyXCI6IF92bS5wbGFjZWhvbGRlciwgXCJ2YWx1ZVwiOiBfdm0udmlzdWFsVmFsdWUsIFwibmFtZVwiOiBfdm0ubmFtZSB9LCBvbjogeyBcIm9uLWlucHV0LWNoYW5nZVwiOiBfdm0uaGFuZGxlSW5wdXRDaGFuZ2UsIFwib24tZm9jdXNcIjogX3ZtLmhhbmRsZUZvY3VzLCBcIm9uLWJsdXJcIjogX3ZtLmhhbmRsZUJsdXIgfSwgbmF0aXZlT246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIF92bS5oYW5kbGVGb2N1cygkZXZlbnQpO1xuICAgICAgfSwgXCJrZXlkb3duXCI6IGZ1bmN0aW9uIGtleWRvd24oJGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdm0uaGFuZGxlS2V5ZG93bigkZXZlbnQpO1xuICAgICAgfSwgXCJtb3VzZWVudGVyXCI6IGZ1bmN0aW9uIG1vdXNlZW50ZXIoJGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdm0uaGFuZGxlSW5wdXRNb3VzZWVudGVyKCRldmVudCk7XG4gICAgICB9LCBcIm1vdXNlbGVhdmVcIjogZnVuY3Rpb24gbW91c2VsZWF2ZSgkZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIF92bS5oYW5kbGVJbnB1dE1vdXNlbGVhdmUoJGV2ZW50KTtcbiAgICAgIH0gfSB9LCBbX2MoJ0ljb24nLCB7IGF0dHJzOiB7IFwic2xvdFwiOiBcInN1ZmZpeFwiLCBcInR5cGVcIjogX3ZtLmFycm93VHlwZSwgXCJjdXN0b21cIjogX3ZtLmN1c3RvbUFycm93VHlwZSwgXCJzaXplXCI6IF92bS5hcnJvd1NpemUgfSwgb246IHsgXCJjbGlja1wiOiBfdm0uaGFuZGxlSWNvbkNsaWNrIH0sIHNsb3Q6IFwic3VmZml4XCIgfSldLCAxKV0pXSwgMiksIF92bS5fdihcIiBcIiksIF9jKCd0cmFuc2l0aW9uJywgeyBhdHRyczogeyBcIm5hbWVcIjogXCJ0cmFuc2l0aW9uLWRyb3BcIiB9IH0sIFtfYygnRHJvcCcsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBfdm0ub3BlbmVkLCBleHByZXNzaW9uOiBcIm9wZW5lZFwiIH0sIHsgbmFtZTogXCJ0cmFuc2Zlci1kb21cIiwgcmF3TmFtZTogXCJ2LXRyYW5zZmVyLWRvbVwiIH1dLCByZWY6IFwiZHJvcFwiLCBjbGFzczogKF9vYmogPSB7fSwgX29ialtfdm0ucHJlZml4Q2xzICsgJy10cmFuc2ZlciddID0gX3ZtLnRyYW5zZmVyLCBfb2JqKSwgYXR0cnM6IHsgXCJwbGFjZW1lbnRcIjogX3ZtLnBsYWNlbWVudCwgXCJkYXRhLXRyYW5zZmVyXCI6IF92bS50cmFuc2ZlciwgXCJ0cmFuc2ZlclwiOiBfdm0udHJhbnNmZXIgfSwgbmF0aXZlT246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIF92bS5oYW5kbGVUcmFuc2ZlckNsaWNrKCRldmVudCk7XG4gICAgICB9IH0gfSwgW19jKCdkaXYnLCBbX2MoX3ZtLnBhbmVsLCBfdm0uX2IoeyByZWY6IFwicGlja2VyUGFuZWxcIiwgdGFnOiBcImNvbXBvbmVudFwiLCBhdHRyczogeyBcInZpc2libGVcIjogX3ZtLnZpc2libGUsIFwic2hvd1RpbWVcIjogX3ZtLnR5cGUgPT09ICdkYXRldGltZScgfHwgX3ZtLnR5cGUgPT09ICdkYXRldGltZXJhbmdlJywgXCJjb25maXJtXCI6IF92bS5pc0NvbmZpcm0sIFwic2VsZWN0aW9uTW9kZVwiOiBfdm0uc2VsZWN0aW9uTW9kZSwgXCJzdGVwc1wiOiBfdm0uc3RlcHMsIFwiZm9ybWF0XCI6IF92bS5mb3JtYXQsIFwidmFsdWVcIjogX3ZtLmludGVybmFsVmFsdWUsIFwic3RhcnQtZGF0ZVwiOiBfdm0uc3RhcnREYXRlLCBcInNwbGl0LXBhbmVsc1wiOiBfdm0uc3BsaXRQYW5lbHMsIFwic2hvdy13ZWVrLW51bWJlcnNcIjogX3ZtLnNob3dXZWVrTnVtYmVycywgXCJwaWNrZXItdHlwZVwiOiBfdm0udHlwZSwgXCJtdWx0aXBsZVwiOiBfdm0ubXVsdGlwbGUsIFwiZm9jdXNlZC1kYXRlXCI6IF92bS5mb2N1c2VkRGF0ZSwgXCJ0aW1lLXBpY2tlci1vcHRpb25zXCI6IF92bS50aW1lUGlja2VyT3B0aW9ucyB9LCBvbjogeyBcIm9uLXBpY2tcIjogX3ZtLm9uUGljaywgXCJvbi1waWNrLWNsZWFyXCI6IF92bS5oYW5kbGVDbGVhciwgXCJvbi1waWNrLXN1Y2Nlc3NcIjogX3ZtLm9uUGlja1N1Y2Nlc3MsIFwib24tcGljay1jbGlja1wiOiBmdW5jdGlvbiBvblBpY2tDbGljaygkZXZlbnQpIHtcbiAgICAgICAgX3ZtLmRpc2FibGVDbGlja091dFNpZGUgPSB0cnVlO1xuICAgICAgfSwgXCJvbi1zZWxlY3Rpb24tbW9kZS1jaGFuZ2VcIjogX3ZtLm9uU2VsZWN0aW9uTW9kZUNoYW5nZSB9IH0sICdjb21wb25lbnQnLCBfdm0ub3duUGlja2VyUHJvcHMsIGZhbHNlKSldLCAxKV0pXSwgMSldLCAxKTtcbiAgdmFyIF9vYmo7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiAzOTYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZGF0ZV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTQ5KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9kYXRlX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZGF0ZV92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2RhdGVfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2RhdGVfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNmM0Mzg1NmVfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9kYXRlX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0MDgpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzZjNDM4NTZlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfZGF0ZV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzZjNDM4NTZlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfZGF0ZV92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9kYXRlX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNmM0Mzg1NmVfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9kYXRlX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl82YzQzODU2ZV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2RhdGVfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDM5NyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cbm1vZHVsZS5leHBvcnRzID0ge1xuXHRHZW5lcmF0b3I6IF9fd2VicGFja19yZXF1aXJlX18oMzk4KSxcblx0YWRkTGFiZWxzOiBfX3dlYnBhY2tfcmVxdWlyZV9fKDM5OSlcbn1cblxuXG4vKioqLyB9KSxcbi8qIDM5OCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG4vLyBjYWxlbmRhciB3aXRoIDggY29sdW1uIHggNyByb3dzXG5cbnZhciBvbmVEYXkgPSAxMDAwICogNjAgKiA2MCAqIDI0O1xuXG5mdW5jdGlvbiBkYXlzSW5Nb250aCh5ZWFyLCBtb250aCkge1xuICAgIHJldHVybiBuZXcgRGF0ZSh5ZWFyLCBtb250aCArIDEsIDApLmdldERhdGUoKTtcbn1cblxuZnVuY3Rpb24gZ2V0WWVhcih5ZWFyLCBtb250aCwgd2Vla05yKXtcblx0aWYgKG1vbnRoID09PSAwICYmIHdlZWtOciA+IDUwKSByZXR1cm4geWVhciAtIDE7XG5cdGVsc2UgaWYobW9udGggPT09IDExICYmIHdlZWtOciA8IDEwKSByZXR1cm4geWVhciArIDE7XG5cdGVsc2UgcmV0dXJuIHllYXI7XG59XG5cbmZ1bmN0aW9uIGdldERhdGVJbmZvKHksIG0sIGQsIGlzbykge1xuXHRpZiAobSA+IDExKXtcblx0XHRtID0gMDtcblx0XHR5Kys7XG5cdH1cbiAgICB2YXIgY3VycmVudERheSA9IG5ldyBEYXRlKHksIG0sIGQpO1xuICAgIGlmIChpc28pIGN1cnJlbnREYXkuc2V0RGF0ZShjdXJyZW50RGF5LmdldERhdGUoKSArIDQgLSAoY3VycmVudERheS5nZXREYXkoKSB8fCA3KSk7XG4gICAgdmFyIHllYXIgPSBpc28gPyBjdXJyZW50RGF5LmdldEZ1bGxZZWFyKCkgOiB5O1xuICAgIHZhciBmaXJzdE9mSmFudWFyeSA9IG5ldyBEYXRlKHllYXIsIDAsIDEpO1xuICAgIHZhciBudW1iZXJPZkRheXMgPSAxICsgTWF0aC5yb3VuZCgoY3VycmVudERheSAtIGZpcnN0T2ZKYW51YXJ5KSAvIG9uZURheSk7XG5cbiAgICBpZiAoIWlzbykgbnVtYmVyT2ZEYXlzICs9IGZpcnN0T2ZKYW51YXJ5LmdldERheSgpO1xuXHR2YXIgdyA9IE1hdGguY2VpbChudW1iZXJPZkRheXMgLyA3KTtcbiAgICBpZiAoIWlzbykge1xuXHRcdHZhciBpbml0aWFsRGF5ID0gbmV3IERhdGUoeSwgbSwgZCk7XG4gICAgICAgIHZhciBiZWdpbk9mTmV4dFllYXIgPSBuZXcgRGF0ZSh5ICsgMSwgMCwgMSk7XG4gICAgICAgIHZhciBzdGFydERheU9mTmV4dFllYXIgPSBiZWdpbk9mTmV4dFllYXIuZ2V0RGF5KCk7XG4gICAgICAgIGlmIChpbml0aWFsRGF5LmdldFRpbWUoKSA+PSBiZWdpbk9mTmV4dFllYXIuZ2V0VGltZSgpIC0gKG9uZURheSAqIHN0YXJ0RGF5T2ZOZXh0WWVhcikpIHcgPSAxO1xuICAgIH1cblx0cmV0dXJuIHc7XG59XG5cbmZ1bmN0aW9uIGdldE1vbnRoQ2FsZW5kZXIoeWVhciwgbW9udGgsIGl0ZXJhdG9yRm5zKXtcblxuXHQvLyBjb25maWcgcGFzc2VkIGJ5IGJpbmRpbmdcblx0dmFyIGxhbmcgPSB0aGlzLmxhbmcgfHwgJ2VuJztcblx0dmFyIG9ubHlEYXlzID0gdGhpcy5vbmx5RGF5cztcblx0dmFyIHdlZWtTdGFydCA9IHR5cGVvZiB0aGlzLndlZWtTdGFydCA9PT0gJ3VuZGVmaW5lZCcgPyAxIDogdGhpcy53ZWVrU3RhcnQ7XG5cdHZhciBpc28gPSB3ZWVrU3RhcnQgPT09IDE7XG5cdHZhciBjZWxscyA9IFtdO1xuXHR2YXIgbW9udGhTdGFydERhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSk7XHQvLyBtYWtlIGEgZGF0ZSBvYmplY3Rcblx0dmFyIGRheU9mV2VlayA9IG1vbnRoU3RhcnREYXRlLmdldERheSgpIHx8IChpc28gPyA3IDogMCk7XHQvLyBtb250aCB3ZWVrIGRheSBmb3IgZGF5IDFcblx0dmFyIGN1cnJlbnREYXkgPSB3ZWVrU3RhcnQgLSBkYXlPZldlZWs7IFx0XHQvLyBzdGFydGluZyBwb3NpdGlvbiBvZiBmaXJzdCBkYXkgaW4gdGhlIHdlZWtcblx0dmFyIHdlZWtOciA9IGdldERhdGVJbmZvKHllYXIsIG1vbnRoLCAxLCBpc28pO1x0Ly8gZ2V0IHdlZWsgbnVtYmVyIG9mIG1vbnRoIHN0YXJ0XG5cdHZhciBtYXhEYXlzID0gZGF5c0luTW9udGgoeWVhciwgbW9udGgpO1x0XHRcdC8vIHRvdGFsIGRheXMgaW4gY3VycmVudCBtb250aFxuXHR2YXIgbGFzdE1vbnRoTWF4RGF5cyA9IGRheXNJbk1vbnRoKHllYXIsIG1vbnRoIC0gMSk7XG5cdHZhciBjdXJyZW50TW9udGgsIGRheSwgZGF5QmVmb3JlO1xuXHR2YXIgY3VycmVudFllYXIgPSBnZXRZZWFyKHllYXIsIG1vbnRoLCB3ZWVrTnIpO1xuXG5cdHZhciByZXR1cm5PYmplY3QgPSB7XG5cdFx0bW9udGg6IG1vbnRoLFxuXHRcdHllYXI6IHllYXIsXG5cdFx0ZGF5c0luTW9udGg6IG1heERheXNcblx0fTtcblxuXHRmb3IgKHZhciBpID0gMDsgaSA8IDc7IGkrKyl7XHRcdFx0XHRcdC8vIDcgcm93cyBpbiB0aGUgY2FsZW5kYXJcblx0XHRkYXlCZWZvcmUgPSBjdXJyZW50RGF5O1xuXHRcdGZvciAodmFyIGogPSAwOyBqIDwgODsgaisrKXtcdFx0XHRcdC8vIDggY29sdW1uczogd2VlayBuciArIDcgZGF5cyBwLyB3ZWVrXG5cdFx0XHRpZiAoaSA+IDAgJiYgaiA+IDApIGN1cnJlbnREYXkrKztcdFx0Ly8gbm90IGZpcnN0IHJvdywgbm90IHdlZWsgbnIgY29sdW1uXG5cblx0XHRcdGlmIChjdXJyZW50RGF5ID4gbWF4RGF5cyB8fCBjdXJyZW50RGF5IDwgMSl7IC8vIGRheSBiZWxvbmdzIHRvIHNpYmxpbmcgbW9udGhcblx0XHRcdFx0Ly8gY2FsY3VsYXRlIGRheSBpbiBzaWJsaW5nIG1vbnRoXG5cdFx0XHRcdGRheSA9IGN1cnJlbnREYXkgPiBtYXhEYXlzID8gY3VycmVudERheSAtIG1heERheXMgOiBsYXN0TW9udGhNYXhEYXlzICsgY3VycmVudERheTtcblx0XHRcdFx0Y3VycmVudE1vbnRoID0gY3VycmVudERheSA+IG1heERheXMgPyBtb250aCArIDEgOiBtb250aCAtIDE7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRkYXkgPSBjdXJyZW50RGF5O1xuXHRcdFx0XHRjdXJyZW50TW9udGggPSBtb250aDtcblx0XHRcdH1cblxuXHRcdFx0dmFyIHR5cGUgPSAoZnVuY3Rpb24oKXtcblx0XHRcdFx0aWYgKGogPT09IDApIHJldHVybiAnd2Vla0xhYmVsJztcblx0XHRcdFx0ZWxzZSBpZiAoaSA9PT0gMCkgcmV0dXJuICdkYXlMYWJlbCc7XG5cdFx0XHRcdGVsc2UgaWYgKGN1cnJlbnREYXkgPCAxKSByZXR1cm4gJ3ByZXZNb250aCc7XG5cdFx0XHRcdGVsc2UgaWYgKGN1cnJlbnREYXkgPiBtYXhEYXlzKSByZXR1cm4gJ25leHRNb250aCc7XG5cdFx0XHRcdGVsc2UgcmV0dXJuICdtb250aERheSc7XG5cdFx0XHR9KSgpO1xuXHRcdFx0dmFyIGlzRGF5ID0gZGF5QmVmb3JlICE9PSBjdXJyZW50RGF5ICYmIGkgPiAwO1xuXG5cdFx0XHR2YXIgZGF5RGF0YSA9IHtcblx0XHRcdFx0ZGVzYzogaXNEYXkgPyBkYXkgOiB3ZWVrTnIsXG5cdFx0XHRcdHdlZWs6IHdlZWtOcixcblx0XHRcdFx0dHlwZTogdHlwZSxcblx0XHRcdFx0Zm9ybWF0OiBpc28gPyAnSVNPIDg2MDEnIDogJ1VTJyxcblx0XHRcdFx0ZGF0ZTogaXNEYXkgPyBuZXcgRGF0ZShEYXRlLlVUQyh5ZWFyLCBjdXJyZW50TW9udGgsIGRheSkpIDogZmFsc2UsXG5cdFx0XHRcdHllYXI6IGN1cnJlbnRZZWFyLFxuXHRcdFx0XHRpbmRleDogY2VsbHMubGVuZ3RoXG5cdFx0XHR9O1xuXG5cdFx0XHRpZiAoaXRlcmF0b3JGbnMpe1xuXHRcdFx0XHRpZiAodHlwZW9mIGl0ZXJhdG9yRm5zID09PSBcImZ1bmN0aW9uXCIpIGRheURhdGEgPSBpdGVyYXRvckZucy5jYWxsKHJldHVybk9iamVjdCwgZGF5RGF0YSwgbGFuZyk7XG5cdFx0XHRcdGVsc2UgaXRlcmF0b3JGbnMuZm9yRWFjaChmdW5jdGlvbihmbil7XG5cdFx0XHRcdFx0ZGF5RGF0YSA9IGZuLmNhbGwocmV0dXJuT2JqZWN0LCBkYXlEYXRhLCBsYW5nKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0XHRpZiAob25seURheXMgJiYgaXNEYXkpIGNlbGxzLnB1c2goZGF5RGF0YSk7XHQvLyBhZGQgb25seSBkYXlzXG5cdFx0XHRlbHNlIGlmICghb25seURheXMpIGNlbGxzLnB1c2goZGF5RGF0YSk7XHQvLyBhZGQgYWxzbyB3ZWVrIG51bWJlcnMgYW5kIGxhYmVsc1xuXHRcdH1cblx0XHRpZiAoaSA+IDApIHdlZWtOciA9IGdldERhdGVJbmZvKHllYXIsIGN1cnJlbnRNb250aCwgZGF5ICsgMSwgaXNvKTtcblx0XHRjdXJyZW50WWVhciA9IGdldFllYXIoeWVhciwgbW9udGgsIHdlZWtOcik7XG5cdH1cblxuXHRyZXR1cm5PYmplY3QuY2VsbHMgPSBjZWxscztcblx0cmV0dXJuIHJldHVybk9iamVjdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoY29uZmlnKXtcblx0cmV0dXJuIGdldE1vbnRoQ2FsZW5kZXIuYmluZChjb25maWcpO1xufVxuXG5cbi8qKiovIH0pLFxuLyogMzk5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbi8vIGNhbGVuZGFyIHdpdGggOCBjb2x1bW4geCA3IHJvd3NcblxudmFyIGxhYmVscyA9IF9fd2VicGFja19yZXF1aXJlX18oNDAwKTtcblxuZnVuY3Rpb24gaXNJdGVyYWJsZSh2YXJpYWJsZSl7XG5cdGlmICh2YXJpYWJsZSA9PSBudWxsKSByZXR1cm4gZmFsc2U7XG5cdGlmICh2YXJpYWJsZS5jb25zdHJ1Y3RvciA9PT0gQXJyYXkpIHJldHVybiB0cnVlO1xuXHRpZiAodmFyaWFibGUuY29uc3RydWN0b3IgPT09IE9iamVjdCkgcmV0dXJuIHRydWU7XG5cdHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gbWVyZ2UoX25ldywgX29sZCl7XG4gICAgZm9yICh2YXIgcHJvcCBpbiBfbmV3KXtcbiAgICAgICAgaWYgKCFfb2xkW3Byb3BdKSBfb2xkW3Byb3BdID0gX25ld1twcm9wXTtcbiAgICAgICAgZWxzZSBpZiAoaXNJdGVyYWJsZShfbmV3W3Byb3BdKSkgbWVyZ2UoX25ld1twcm9wXSwgX29sZFtwcm9wXSk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBhZGRMYWJlbHMoZGF5T2JqZWN0LCBsYW5nKXtcblx0dmFyIGNzc0NsYXNzID0gW2xhYmVscy5jbGFzc2VzW2RheU9iamVjdC50eXBlXV07XG5cblx0aWYgKGRheU9iamVjdC5jbGFzcykgZGF5T2JqZWN0LmNsYXNzID0gKHR5cGVvZiBkYXlPYmplY3QuY2xhc3MgPT0gJ3N0cmluZycgPyBbZGF5T2JqZWN0LmNsYXNzXSA6IGRheU9iamVjdC5jbGFzcykuY29uY2F0KGNzc0NsYXNzKTtcblx0ZWxzZSBkYXlPYmplY3QuY2xhc3MgPSBjc3NDbGFzcztcblxuXHRpZiAoZGF5T2JqZWN0LnR5cGUuaW5kZXhPZignTGFiZWwnKSA+IDApe1xuXHRcdGlmIChkYXlPYmplY3QuaW5kZXggPT0gMCAmJiBsYWJlbHMud2Vla1BsYWNlaG9sZGVyKSBkYXlPYmplY3QuZGVzYyA9IGxhYmVscy53ZWVrUGxhY2Vob2xkZXI7XG5cdFx0ZWxzZSBpZiAoZGF5T2JqZWN0LmluZGV4IDwgOCkgZGF5T2JqZWN0LmRlc2MgPSBsYWJlbHMuY29sdW1uTmFtZXNbbGFuZ11bZGF5T2JqZWN0LmluZGV4XTtcblx0XHRlbHNlIGlmIChkYXlPYmplY3QuaW5kZXggJSA4ID09IDApIGRheU9iamVjdC5kZXNjID0gZGF5T2JqZWN0LndlZWs7XG5cdH1cblxuXHRpZiAoZGF5T2JqZWN0LmRhdGUpIGRheU9iamVjdC5tb250aE5hbWUgPSBsYWJlbHMubW9udGhOYW1lc1tsYW5nXVtkYXlPYmplY3QuZGF0ZS5nZXRNb250aCgpXTtcblx0aWYgKCF0aGlzLm1vbnRoTmFtZSkgdGhpcy5tb250aE5hbWUgPSBsYWJlbHMubW9udGhOYW1lc1tsYW5nXVt0aGlzLm1vbnRoXTtcblx0aWYgKCF0aGlzLmxhYmVscykgdGhpcy5sYWJlbHMgPSB7XG5cdFx0bW9udGhOYW1lczogbGFiZWxzLm1vbnRoTmFtZXNbbGFuZ10sXG5cdFx0Y29sdW1uTmFtZXM6IGxhYmVscy5jb2x1bW5OYW1lc1tsYW5nXSxcblx0XHRjbGFzc2VzOiBsYWJlbHMuY2xhc3Nlc1xuXHR9XG5cblx0cmV0dXJuIGRheU9iamVjdDtcbn1cbmFkZExhYmVscy5zZXRMYWJlbHMgPSBmdW5jdGlvbihuZXdPcHRpb25zKXtcblx0bWVyZ2UobmV3T3B0aW9ucywgbGFiZWxzKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gYWRkTGFiZWxzO1xuXG5cbi8qKiovIH0pLFxuLyogNDAwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cblxubW9kdWxlLmV4cG9ydHMgPSB7XG5cdHdlZWtQbGFjZWhvbGRlcjogJycsXG5cdGNvbHVtbk5hbWVzOiB7XG5cdFx0ZW46IHtcblx0XHRcdDA6ICd3Jyxcblx0XHRcdDE6ICdtb25kYXknLFxuXHRcdFx0MjogJ3R1ZXNkYXknLFxuXHRcdFx0MzogJ3dlZG5lc2RheScsXG5cdFx0XHQ0OiAndGh1cnNkYXknLFxuXHRcdFx0NTogJ2ZyaWRheScsXG5cdFx0XHQ2OiAnc2F0dXJkYXknLFxuXHRcdFx0NzogJ3N1bmRheSdcblx0XHR9LFxuXHRcdHN2OiB7XG5cdFx0XHQwOiAndicsXG5cdFx0XHQxOiAnbcOlbmRhZycsXG5cdFx0XHQyOiAndGlzZGFnJyxcblx0XHRcdDM6ICdvbnNkYWcnLFxuXHRcdFx0NDogJ3RvcnNkYWcnLFxuXHRcdFx0NTogJ2ZyZWRhZycsXG5cdFx0XHQ2OiAnbMO2cmRhZycsXG5cdFx0XHQ3OiAnc8O2bmRhZydcblx0XHR9LFxuXHRcdHB0OiB7XG5cdFx0XHQwOiAncycsXG5cdFx0XHQxOiAnc2VndW5kYScsXG5cdFx0XHQyOiAndGVyw6dhJyxcblx0XHRcdDM6ICdxdWFydGEnLFxuXHRcdFx0NDogJ3F1aW50YScsXG5cdFx0XHQ1OiAnc2V4dGEnLFxuXHRcdFx0NjogJ3PDoWJhZG8nLFxuXHRcdFx0NzogJ2RvbWluZ28nXG5cdFx0fVxuXHR9LFxuXHRtb250aE5hbWVzOiB7XG5cdFx0ZW46IFtcblx0XHRcdFwiSmFudWFyeVwiLFxuXHRcdFx0XCJGZWJydWFyeVwiLFxuXHRcdFx0XCJNYXJjaFwiLFxuXHRcdFx0XCJBcHJpbFwiLFxuXHRcdFx0XCJNYXlcIixcblx0XHRcdFwiSnVuZVwiLFxuXHRcdFx0XCJKdWx5XCIsXG5cdFx0XHRcIkF1Z3VzdFwiLFxuXHRcdFx0XCJTZXB0ZW1iZXJcIixcblx0XHRcdFwiT2N0b2JlclwiLFxuXHRcdFx0XCJOb3ZlbWJlclwiLFxuXHRcdFx0XCJEZWNlbWJlclwiXG5cdFx0XSxcblx0XHRzdjogW1xuXHRcdFx0XCJqYW51YXJpXCIsXG5cdFx0XHRcImZlYnJ1YXJpXCIsXG5cdFx0XHRcIm1hcnNcIixcblx0XHRcdFwiYXByaWxcIixcblx0XHRcdFwibWFqXCIsXG5cdFx0XHRcImp1bmlcIixcblx0XHRcdFwianVsaVwiLFxuXHRcdFx0XCJhdWd1c3RpXCIsXG5cdFx0XHRcInNlcHRlbWJlclwiLFxuXHRcdFx0XCJva3RvYmVyXCIsXG5cdFx0XHRcIm5vdmVtYmVyXCIsXG5cdFx0XHRcImRlY2VtYmVyXCJcblx0XHRdLFxuXHRcdHB0OiBbXG5cdFx0XHRcIkphbmVpcm9cIixcblx0XHRcdFwiRmV2ZXJlaXJvXCIsXG5cdFx0XHRcIk1hcsOnb1wiLFxuXHRcdFx0XCJBYnJpbFwiLFxuXHRcdFx0XCJNYWlvXCIsXG5cdFx0XHRcIkp1bmhvXCIsXG5cdFx0XHRcIkp1bGhvXCIsXG5cdFx0XHRcIkFnb3N0b1wiLFxuXHRcdFx0XCJTZXRlbWJyb1wiLFxuXHRcdFx0XCJPdXR1YnJvXCIsXG5cdFx0XHRcIk5vdmVtYnJvXCIsXG5cdFx0XHRcIkRlemVtYnJvXCJcblx0XHRdXG5cdH0sXG5cdGNsYXNzZXM6IHtcblx0XHRkYXlMYWJlbDogJ2RheS1vZi13ZWVrJyxcblx0XHR3ZWVrTGFiZWw6ICd3ZWVrLW51bWJlcicsXG5cdFx0cHJldk1vbnRoOiAnaW5hY3RpdmUnLFxuXHRcdG5leHRNb250aDogJ2luYWN0aXZlJyxcblx0XHRtb250aERheTogJ2RheS1pbi1tb250aCdcblx0fVxufTtcblxuXG4vKioqLyB9KSxcbi8qIDQwMSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgdmFyIF92bSA9IHRoaXM7dmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaDtyZXR1cm4gX2MoJ2RpdicsIHsgY2xhc3M6IF92bS5jbGFzc2VzIH0sIFtfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWhlYWRlciddIH0sIF92bS5fbChfdm0uaGVhZGVyRGF5cywgZnVuY3Rpb24gKGRheSkge1xuICAgIHJldHVybiBfYygnc3BhbicsIHsga2V5OiBkYXkgfSwgW192bS5fdihcIlxcbiAgICAgICAgICAgIFwiICsgX3ZtLl9zKGRheSkgKyBcIlxcbiAgICAgICAgXCIpXSk7XG4gIH0pLCAwKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLl9sKF92bS5jZWxscywgZnVuY3Rpb24gKGNlbGwsIGkpIHtcbiAgICByZXR1cm4gX2MoJ3NwYW4nLCB7IGtleTogU3RyaW5nKGNlbGwuZGF0ZSkgKyBpLCBjbGFzczogX3ZtLmdldENlbGxDbHMoY2VsbCksIG9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgICAgcmV0dXJuIF92bS5oYW5kbGVDbGljayhjZWxsLCAkZXZlbnQpO1xuICAgICAgICB9LCBcIm1vdXNlZW50ZXJcIjogZnVuY3Rpb24gbW91c2VlbnRlcigkZXZlbnQpIHtcbiAgICAgICAgICByZXR1cm4gX3ZtLmhhbmRsZU1vdXNlTW92ZShjZWxsKTtcbiAgICAgICAgfSB9IH0sIFtfYygnZW0nLCBbX3ZtLl92KF92bS5fcyhjZWxsLmRlc2MpKV0pXSk7XG4gIH0pXSwgMik7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA0MDIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0uY2xhc3NlcyB9LCBfdm0uX2woX3ZtLmNlbGxzLCBmdW5jdGlvbiAoY2VsbCkge1xuICAgIHJldHVybiBfYygnc3BhbicsIHsgY2xhc3M6IF92bS5nZXRDZWxsQ2xzKGNlbGwpLCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICAgIHJldHVybiBfdm0uaGFuZGxlQ2xpY2soY2VsbCk7XG4gICAgICAgIH0sIFwibW91c2VlbnRlclwiOiBmdW5jdGlvbiBtb3VzZWVudGVyKCRldmVudCkge1xuICAgICAgICAgIHJldHVybiBfdm0uaGFuZGxlTW91c2VNb3ZlKGNlbGwpO1xuICAgICAgICB9IH0gfSwgW19jKCdlbScsIFtfdm0uX3YoX3ZtLl9zKGNlbGwuZGF0ZS5nZXRGdWxsWWVhcigpKSldKV0pO1xuICB9KSwgMCk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA0MDMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0uY2xhc3NlcyB9LCBfdm0uX2woX3ZtLmNlbGxzLCBmdW5jdGlvbiAoY2VsbCkge1xuICAgIHJldHVybiBfYygnc3BhbicsIHsgY2xhc3M6IF92bS5nZXRDZWxsQ2xzKGNlbGwpLCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICAgIHJldHVybiBfdm0uaGFuZGxlQ2xpY2soY2VsbCk7XG4gICAgICAgIH0sIFwibW91c2VlbnRlclwiOiBmdW5jdGlvbiBtb3VzZWVudGVyKCRldmVudCkge1xuICAgICAgICAgIHJldHVybiBfdm0uaGFuZGxlTW91c2VNb3ZlKGNlbGwpO1xuICAgICAgICB9IH0gfSwgW19jKCdlbScsIFtfdm0uX3YoX3ZtLl9zKGNlbGwudGV4dCkpXSldKTtcbiAgfSksIDApO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogNDA0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBjbGFzczogX3ZtLmNsYXNzZXMgfSwgW19jKCdkaXYnLCB7IHJlZjogXCJob3Vyc1wiLCBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWxpc3QnXSB9LCBbX2MoJ3VsJywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLXVsJ10gfSwgX3ZtLl9sKF92bS5ob3Vyc0xpc3QsIGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgcmV0dXJuIF9jKCdsaScsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiAhaXRlbS5oaWRlLCBleHByZXNzaW9uOiBcIiFpdGVtLmhpZGVcIiB9XSwgY2xhc3M6IF92bS5nZXRDZWxsQ2xzKGl0ZW0pLCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICAgIHJldHVybiBfdm0uaGFuZGxlQ2xpY2soJ2hvdXJzJywgaXRlbSk7XG4gICAgICAgIH0gfSB9LCBbX3ZtLl92KF92bS5fcyhfdm0uZm9ybWF0VGltZShpdGVtLnRleHQpKSldKTtcbiAgfSksIDApXSksIF92bS5fdihcIiBcIiksIF9jKCdkaXYnLCB7IHJlZjogXCJtaW51dGVzXCIsIGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctbGlzdCddIH0sIFtfYygndWwnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctdWwnXSB9LCBfdm0uX2woX3ZtLm1pbnV0ZXNMaXN0LCBmdW5jdGlvbiAoaXRlbSkge1xuICAgIHJldHVybiBfYygnbGknLCB7IGRpcmVjdGl2ZXM6IFt7IG5hbWU6IFwic2hvd1wiLCByYXdOYW1lOiBcInYtc2hvd1wiLCB2YWx1ZTogIWl0ZW0uaGlkZSwgZXhwcmVzc2lvbjogXCIhaXRlbS5oaWRlXCIgfV0sIGNsYXNzOiBfdm0uZ2V0Q2VsbENscyhpdGVtKSwgb246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgICByZXR1cm4gX3ZtLmhhbmRsZUNsaWNrKCdtaW51dGVzJywgaXRlbSk7XG4gICAgICAgIH0gfSB9LCBbX3ZtLl92KF92bS5fcyhfdm0uZm9ybWF0VGltZShpdGVtLnRleHQpKSldKTtcbiAgfSksIDApXSksIF92bS5fdihcIiBcIiksIF9jKCdkaXYnLCB7IGRpcmVjdGl2ZXM6IFt7IG5hbWU6IFwic2hvd1wiLCByYXdOYW1lOiBcInYtc2hvd1wiLCB2YWx1ZTogX3ZtLnNob3dTZWNvbmRzLCBleHByZXNzaW9uOiBcInNob3dTZWNvbmRzXCIgfV0sIHJlZjogXCJzZWNvbmRzXCIsIGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctbGlzdCddIH0sIFtfYygndWwnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctdWwnXSB9LCBfdm0uX2woX3ZtLnNlY29uZHNMaXN0LCBmdW5jdGlvbiAoaXRlbSkge1xuICAgIHJldHVybiBfYygnbGknLCB7IGRpcmVjdGl2ZXM6IFt7IG5hbWU6IFwic2hvd1wiLCByYXdOYW1lOiBcInYtc2hvd1wiLCB2YWx1ZTogIWl0ZW0uaGlkZSwgZXhwcmVzc2lvbjogXCIhaXRlbS5oaWRlXCIgfV0sIGNsYXNzOiBfdm0uZ2V0Q2VsbENscyhpdGVtKSwgb246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgICByZXR1cm4gX3ZtLmhhbmRsZUNsaWNrKCdzZWNvbmRzJywgaXRlbSk7XG4gICAgICAgIH0gfSB9LCBbX3ZtLl92KF92bS5fcyhfdm0uZm9ybWF0VGltZShpdGVtLnRleHQpKSldKTtcbiAgfSksIDApXSldKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDQwNSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgdmFyIF92bSA9IHRoaXM7dmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaDtyZXR1cm4gX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1jb25maXJtJ10sIG9uOiB7IFwiIWtleWRvd25cIjogZnVuY3Rpb24ga2V5ZG93bigkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwidGFiXCIsIDksICRldmVudC5rZXksIFwiVGFiXCIpKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1yZXR1cm4gX3ZtLmhhbmRsZVRhYigkZXZlbnQpO1xuICAgICAgfSB9IH0sIFtfdm0uc2hvd1RpbWUgPyBfYygnaS1idXR0b24nLCB7IGNsYXNzOiBfdm0udGltZUNsYXNzZXMsIGF0dHJzOiB7IFwic2l6ZVwiOiBcInNtYWxsXCIsIFwidHlwZVwiOiBcInRleHRcIiwgXCJkaXNhYmxlZFwiOiBfdm0udGltZURpc2FibGVkIH0sIG9uOiB7IFwiY2xpY2tcIjogX3ZtLmhhbmRsZVRvZ2dsZVRpbWUgfSB9LCBbX3ZtLl92KFwiXFxuICAgICAgICBcIiArIF92bS5fcyhfdm0ubGFiZWxzLnRpbWUpICsgXCJcXG4gICAgXCIpXSkgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2ktYnV0dG9uJywgeyBhdHRyczogeyBcInNpemVcIjogXCJzbWFsbFwiIH0sIG5hdGl2ZU9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdm0uaGFuZGxlQ2xlYXIoJGV2ZW50KTtcbiAgICAgIH0sIFwia2V5ZG93blwiOiBmdW5jdGlvbiBrZXlkb3duKCRldmVudCkge1xuICAgICAgICBpZiAoISRldmVudC50eXBlLmluZGV4T2YoJ2tleScpICYmIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJlbnRlclwiLCAxMywgJGV2ZW50LmtleSwgXCJFbnRlclwiKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5oYW5kbGVDbGVhcigkZXZlbnQpO1xuICAgICAgfSB9IH0sIFtfdm0uX3YoXCJcXG4gICAgICAgIFwiICsgX3ZtLl9zKF92bS5sYWJlbHMuY2xlYXIpICsgXCJcXG4gICAgXCIpXSksIF92bS5fdihcIiBcIiksIF9jKCdpLWJ1dHRvbicsIHsgYXR0cnM6IHsgXCJzaXplXCI6IFwic21hbGxcIiwgXCJ0eXBlXCI6IFwicHJpbWFyeVwiIH0sIG5hdGl2ZU9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdm0uaGFuZGxlU3VjY2VzcygkZXZlbnQpO1xuICAgICAgfSwgXCJrZXlkb3duXCI6IGZ1bmN0aW9uIGtleWRvd24oJGV2ZW50KSB7XG4gICAgICAgIGlmICghJGV2ZW50LnR5cGUuaW5kZXhPZigna2V5JykgJiYgX3ZtLl9rKCRldmVudC5rZXlDb2RlLCBcImVudGVyXCIsIDEzLCAkZXZlbnQua2V5LCBcIkVudGVyXCIpKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1yZXR1cm4gX3ZtLmhhbmRsZVN1Y2Nlc3MoJGV2ZW50KTtcbiAgICAgIH0gfSB9LCBbX3ZtLl92KFwiXFxuICAgICAgICBcIiArIF92bS5fcyhfdm0ubGFiZWxzLm9rKSArIFwiXFxuICAgIFwiKV0pXSwgMSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA0MDYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctYm9keS13cmFwcGVyJ10sIG9uOiB7IFwibW91c2Vkb3duXCI6IGZ1bmN0aW9uIG1vdXNlZG93bigkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9IH0gfSwgW19jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctYm9keSddIH0sIFtfdm0uc2hvd0RhdGUgPyBfYygnZGl2JywgeyBjbGFzczogW192bS50aW1lUHJlZml4Q2xzICsgJy1oZWFkZXInXSB9LCBbX3ZtLl92KF92bS5fcyhfdm0udmlzaWJsZURhdGUpKV0pIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF9jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctY29udGVudCddIH0sIFtfYygndGltZS1zcGlubmVyJywgeyByZWY6IFwidGltZVNwaW5uZXJcIiwgYXR0cnM6IHsgXCJzaG93LXNlY29uZHNcIjogX3ZtLnNob3dTZWNvbmRzLCBcInN0ZXBzXCI6IF92bS5zdGVwcywgXCJob3Vyc1wiOiBfdm0udGltZVNsb3RzWzBdLCBcIm1pbnV0ZXNcIjogX3ZtLnRpbWVTbG90c1sxXSwgXCJzZWNvbmRzXCI6IF92bS50aW1lU2xvdHNbMl0sIFwiZGlzYWJsZWQtaG91cnNcIjogX3ZtLmRpc2FibGVkSE1TLmRpc2FibGVkSG91cnMsIFwiZGlzYWJsZWQtbWludXRlc1wiOiBfdm0uZGlzYWJsZWRITVMuZGlzYWJsZWRNaW51dGVzLCBcImRpc2FibGVkLXNlY29uZHNcIjogX3ZtLmRpc2FibGVkSE1TLmRpc2FibGVkU2Vjb25kcywgXCJoaWRlLWRpc2FibGVkLW9wdGlvbnNcIjogX3ZtLmhpZGVEaXNhYmxlZE9wdGlvbnMgfSwgb246IHsgXCJvbi1jaGFuZ2VcIjogX3ZtLmhhbmRsZUNoYW5nZSwgXCJvbi1waWNrLWNsaWNrXCI6IF92bS5oYW5kbGVQaWNrQ2xpY2sgfSB9KV0sIDEpLCBfdm0uX3YoXCIgXCIpLCBfdm0uY29uZmlybSA/IF9jKCdDb25maXJtJywgeyBvbjogeyBcIm9uLXBpY2stY2xlYXJcIjogX3ZtLmhhbmRsZVBpY2tDbGVhciwgXCJvbi1waWNrLXN1Y2Nlc3NcIjogX3ZtLmhhbmRsZVBpY2tTdWNjZXNzIH0gfSkgOiBfdm0uX2UoKV0sIDEpXSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA0MDcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdzcGFuJywgW192bS5kYXRlUGFuZWxMYWJlbCA/IF9jKCdzcGFuJywgeyBkaXJlY3RpdmVzOiBbeyBuYW1lOiBcInNob3dcIiwgcmF3TmFtZTogXCJ2LXNob3dcIiwgdmFsdWU6IF92bS5kYXRlUGFuZWxMYWJlbC5sYWJlbHNbMF0udHlwZSA9PT0gJ3llYXInIHx8IF92bS5jdXJyZW50VmlldyA9PT0gJ2RhdGUnLCBleHByZXNzaW9uOiBcImRhdGVQYW5lbExhYmVsLmxhYmVsc1swXS50eXBlID09PSAneWVhcicgfHwgY3VycmVudFZpZXcgPT09ICdkYXRlJ1wiIH1dLCBjbGFzczogW192bS5kYXRlUHJlZml4Q2xzICsgJy1oZWFkZXItbGFiZWwnXSwgb246IHsgXCJjbGlja1wiOiBfdm0uZGF0ZVBhbmVsTGFiZWwubGFiZWxzWzBdLmhhbmRsZXIgfSB9LCBbX3ZtLl92KF92bS5fcyhfdm0uZGF0ZVBhbmVsTGFiZWwubGFiZWxzWzBdLmxhYmVsKSldKSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfdm0uZGF0ZVBhbmVsTGFiZWwgJiYgX3ZtLmN1cnJlbnRWaWV3ID09PSAnZGF0ZScgPyBbX3ZtLl92KF92bS5fcyhfdm0uZGF0ZVBhbmVsTGFiZWwuc2VwYXJhdG9yKSldIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF92bS5kYXRlUGFuZWxMYWJlbCA/IF9jKCdzcGFuJywgeyBkaXJlY3RpdmVzOiBbeyBuYW1lOiBcInNob3dcIiwgcmF3TmFtZTogXCJ2LXNob3dcIiwgdmFsdWU6IF92bS5kYXRlUGFuZWxMYWJlbC5sYWJlbHNbMV0udHlwZSA9PT0gJ3llYXInIHx8IF92bS5jdXJyZW50VmlldyA9PT0gJ2RhdGUnLCBleHByZXNzaW9uOiBcImRhdGVQYW5lbExhYmVsLmxhYmVsc1sxXS50eXBlID09PSAneWVhcicgfHwgY3VycmVudFZpZXcgPT09ICdkYXRlJ1wiIH1dLCBjbGFzczogW192bS5kYXRlUHJlZml4Q2xzICsgJy1oZWFkZXItbGFiZWwnXSwgb246IHsgXCJjbGlja1wiOiBfdm0uZGF0ZVBhbmVsTGFiZWwubGFiZWxzWzFdLmhhbmRsZXIgfSB9LCBbX3ZtLl92KF92bS5fcyhfdm0uZGF0ZVBhbmVsTGFiZWwubGFiZWxzWzFdLmxhYmVsKSldKSA6IF92bS5fZSgpXSwgMik7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA0MDggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0uY2xhc3Nlcywgb246IHsgXCJtb3VzZWRvd25cIjogZnVuY3Rpb24gbW91c2Vkb3duKCRldmVudCkge1xuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH0gfSB9LCBbX3ZtLnNob3J0Y3V0cy5sZW5ndGggPyBfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLXNpZGViYXInXSB9LCBfdm0uX2woX3ZtLnNob3J0Y3V0cywgZnVuY3Rpb24gKHNob3J0Y3V0KSB7XG4gICAgcmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctc2hvcnRjdXQnXSwgb246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgICByZXR1cm4gX3ZtLmhhbmRsZVNob3J0Y3V0Q2xpY2soc2hvcnRjdXQpO1xuICAgICAgICB9IH0gfSwgW192bS5fdihfdm0uX3Moc2hvcnRjdXQudGV4dCkpXSk7XG4gIH0pLCAwKSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWJvZHknXSB9LCBbX2MoJ2RpdicsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBfdm0uY3VycmVudFZpZXcgIT09ICd0aW1lJywgZXhwcmVzc2lvbjogXCJjdXJyZW50VmlldyAhPT0gJ3RpbWUnXCIgfV0sIGNsYXNzOiBbX3ZtLmRhdGVQcmVmaXhDbHMgKyAnLWhlYWRlciddIH0sIFtfYygnc3BhbicsIHsgY2xhc3M6IF92bS5pY29uQnRuQ2xzKCdwcmV2JywgJy1kb3VibGUnKSwgb246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIF92bS5jaGFuZ2VZZWFyKC0xKTtcbiAgICAgIH0gfSB9LCBbX2MoJ0ljb24nLCB7IGF0dHJzOiB7IFwidHlwZVwiOiBcImlvcy1hcnJvdy1iYWNrXCIgfSB9KV0sIDEpLCBfdm0uX3YoXCIgXCIpLCBfdm0ucGlja2VyVGFibGUgPT09ICdkYXRlLXRhYmxlJyA/IF9jKCdzcGFuJywgeyBkaXJlY3RpdmVzOiBbeyBuYW1lOiBcInNob3dcIiwgcmF3TmFtZTogXCJ2LXNob3dcIiwgdmFsdWU6IF92bS5jdXJyZW50VmlldyA9PT0gJ2RhdGUnLCBleHByZXNzaW9uOiBcImN1cnJlbnRWaWV3ID09PSAnZGF0ZSdcIiB9XSwgY2xhc3M6IF92bS5pY29uQnRuQ2xzKCdwcmV2JyksIG9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdm0uY2hhbmdlTW9udGgoLTEpO1xuICAgICAgfSB9IH0sIFtfYygnSWNvbicsIHsgYXR0cnM6IHsgXCJ0eXBlXCI6IFwiaW9zLWFycm93LWJhY2tcIiB9IH0pXSwgMSkgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RhdGUtcGFuZWwtbGFiZWwnLCB7IGF0dHJzOiB7IFwiZGF0ZS1wYW5lbC1sYWJlbFwiOiBfdm0uZGF0ZVBhbmVsTGFiZWwsIFwiY3VycmVudC12aWV3XCI6IF92bS5waWNrZXJUYWJsZS5zcGxpdCgnLScpLnNoaWZ0KCksIFwiZGF0ZS1wcmVmaXgtY2xzXCI6IF92bS5kYXRlUHJlZml4Q2xzIH0gfSksIF92bS5fdihcIiBcIiksIF9jKCdzcGFuJywgeyBjbGFzczogX3ZtLmljb25CdG5DbHMoJ25leHQnLCAnLWRvdWJsZScpLCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICByZXR1cm4gX3ZtLmNoYW5nZVllYXIoKzEpO1xuICAgICAgfSB9IH0sIFtfYygnSWNvbicsIHsgYXR0cnM6IHsgXCJ0eXBlXCI6IFwiaW9zLWFycm93LWZvcndhcmRcIiB9IH0pXSwgMSksIF92bS5fdihcIiBcIiksIF92bS5waWNrZXJUYWJsZSA9PT0gJ2RhdGUtdGFibGUnID8gX2MoJ3NwYW4nLCB7IGRpcmVjdGl2ZXM6IFt7IG5hbWU6IFwic2hvd1wiLCByYXdOYW1lOiBcInYtc2hvd1wiLCB2YWx1ZTogX3ZtLmN1cnJlbnRWaWV3ID09PSAnZGF0ZScsIGV4cHJlc3Npb246IFwiY3VycmVudFZpZXcgPT09ICdkYXRlJ1wiIH1dLCBjbGFzczogX3ZtLmljb25CdG5DbHMoJ25leHQnKSwgb246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIF92bS5jaGFuZ2VNb250aCgrMSk7XG4gICAgICB9IH0gfSwgW19jKCdJY29uJywgeyBhdHRyczogeyBcInR5cGVcIjogXCJpb3MtYXJyb3ctZm9yd2FyZFwiIH0gfSldLCAxKSA6IF92bS5fZSgpXSwgMSksIF92bS5fdihcIiBcIiksIF9jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctY29udGVudCddIH0sIFtfdm0uY3VycmVudFZpZXcgIT09ICd0aW1lJyA/IF9jKF92bS5waWNrZXJUYWJsZSwgeyByZWY6IFwicGlja2VyVGFibGVcIiwgdGFnOiBcImNvbXBvbmVudFwiLCBhdHRyczogeyBcInRhYmxlLWRhdGVcIjogX3ZtLnBhbmVsRGF0ZSwgXCJzaG93LXdlZWstbnVtYmVyc1wiOiBfdm0uc2hvd1dlZWtOdW1iZXJzLCBcInZhbHVlXCI6IF92bS5kYXRlcywgXCJzZWxlY3Rpb24tbW9kZVwiOiBfdm0uc2VsZWN0aW9uTW9kZSwgXCJkaXNhYmxlZC1kYXRlXCI6IF92bS5kaXNhYmxlZERhdGUsIFwiZm9jdXNlZC1kYXRlXCI6IF92bS5mb2N1c2VkRGF0ZSB9LCBvbjogeyBcIm9uLXBpY2tcIjogX3ZtLnBhbmVsUGlja2VySGFuZGxlcnMsIFwib24tcGljay1jbGlja1wiOiBfdm0uaGFuZGxlUGlja0NsaWNrIH0gfSkgOiBfdm0uX2UoKV0sIDEpLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyBkaXJlY3RpdmVzOiBbeyBuYW1lOiBcInNob3dcIiwgcmF3TmFtZTogXCJ2LXNob3dcIiwgdmFsdWU6IF92bS5pc1RpbWUsIGV4cHJlc3Npb246IFwiaXNUaW1lXCIgfV0sIGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctY29udGVudCddIH0sIFtfdm0uY3VycmVudFZpZXcgPT09ICd0aW1lJyA/IF9jKCd0aW1lLXBpY2tlcicsIF92bS5fYih7IHJlZjogXCJ0aW1lUGlja2VyXCIsIGF0dHJzOiB7IFwidmFsdWVcIjogX3ZtLmRhdGVzLCBcImZvcm1hdFwiOiBfdm0uZm9ybWF0LCBcInRpbWUtZGlzYWJsZWRcIjogX3ZtLnRpbWVEaXNhYmxlZCwgXCJkaXNhYmxlZC1kYXRlXCI6IF92bS5kaXNhYmxlZERhdGUsIFwiZm9jdXNlZC1kYXRlXCI6IF92bS5mb2N1c2VkRGF0ZSB9LCBvbjogeyBcIm9uLXBpY2tcIjogX3ZtLmhhbmRsZVBpY2ssIFwib24tcGljay1jbGlja1wiOiBfdm0uaGFuZGxlUGlja0NsaWNrLCBcIm9uLXBpY2stY2xlYXJcIjogX3ZtLmhhbmRsZVBpY2tDbGVhciwgXCJvbi1waWNrLXN1Y2Nlc3NcIjogX3ZtLmhhbmRsZVBpY2tTdWNjZXNzLCBcIm9uLXBpY2stdG9nZ2xlLXRpbWVcIjogX3ZtLmhhbmRsZVRvZ2dsZVRpbWUgfSB9LCAndGltZS1waWNrZXInLCBfdm0udGltZVBpY2tlck9wdGlvbnMsIGZhbHNlKSkgOiBfdm0uX2UoKV0sIDEpLCBfdm0uX3YoXCIgXCIpLCBfdm0uY29uZmlybSA/IF9jKCdDb25maXJtJywgeyBhdHRyczogeyBcInNob3ctdGltZVwiOiBfdm0uc2hvd1RpbWUsIFwiaXMtdGltZVwiOiBfdm0uaXNUaW1lIH0sIG9uOiB7IFwib24tcGljay10b2dnbGUtdGltZVwiOiBfdm0uaGFuZGxlVG9nZ2xlVGltZSwgXCJvbi1waWNrLWNsZWFyXCI6IF92bS5oYW5kbGVQaWNrQ2xlYXIsIFwib24tcGljay1zdWNjZXNzXCI6IF92bS5oYW5kbGVQaWNrU3VjY2VzcyB9IH0pIDogX3ZtLl9lKCldLCAxKV0pO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogNDA5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2RhdGVfcmFuZ2VfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE2NCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZGF0ZV9yYW5nZV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2RhdGVfcmFuZ2VfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9kYXRlX3JhbmdlX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9kYXRlX3JhbmdlX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzFhMjE1ZjFhX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfZGF0ZV9yYW5nZV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNDExKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8xYTIxNWYxYV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2RhdGVfcmFuZ2VfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8xYTIxNWYxYV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2RhdGVfcmFuZ2VfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZGF0ZV9yYW5nZV92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzFhMjE1ZjFhX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfZGF0ZV9yYW5nZV92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMWEyMTVmMWFfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9kYXRlX3JhbmdlX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA0MTAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0uY2xhc3Nlcywgb246IHsgXCJtb3VzZWRvd25cIjogZnVuY3Rpb24gbW91c2Vkb3duKCRldmVudCkge1xuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH0gfSB9LCBbX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1ib2R5J10gfSwgW19jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctY29udGVudCcsIF92bS5wcmVmaXhDbHMgKyAnLWNvbnRlbnQtbGVmdCddIH0sIFtfYygnZGl2JywgeyBjbGFzczogW192bS50aW1lUHJlZml4Q2xzICsgJy1oZWFkZXInXSB9LCBbX3ZtLnNob3dEYXRlID8gW192bS5fdihfdm0uX3MoX3ZtLmxlZnREYXRlUGFuZWxMYWJlbCkpXSA6IFtfdm0uX3YoX3ZtLl9zKF92bS50KCdpLmRhdGVwaWNrZXIuc3RhcnRUaW1lJykpKV1dLCAyKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ3RpbWUtc3Bpbm5lcicsIHsgcmVmOiBcInRpbWVTcGlubmVyXCIsIGF0dHJzOiB7IFwic3RlcHNcIjogX3ZtLnN0ZXBzLCBcInNob3ctc2Vjb25kc1wiOiBfdm0uc2hvd1NlY29uZHMsIFwiaG91cnNcIjogX3ZtLnZhbHVlWzBdICYmIF92bS5kYXRlU3RhcnQuZ2V0SG91cnMoKSwgXCJtaW51dGVzXCI6IF92bS52YWx1ZVswXSAmJiBfdm0uZGF0ZVN0YXJ0LmdldE1pbnV0ZXMoKSwgXCJzZWNvbmRzXCI6IF92bS52YWx1ZVswXSAmJiBfdm0uZGF0ZVN0YXJ0LmdldFNlY29uZHMoKSwgXCJkaXNhYmxlZC1ob3Vyc1wiOiBfdm0uZGlzYWJsZWRIb3VycywgXCJkaXNhYmxlZC1taW51dGVzXCI6IF92bS5kaXNhYmxlZE1pbnV0ZXMsIFwiZGlzYWJsZWQtc2Vjb25kc1wiOiBfdm0uZGlzYWJsZWRTZWNvbmRzLCBcImhpZGUtZGlzYWJsZWQtb3B0aW9uc1wiOiBfdm0uaGlkZURpc2FibGVkT3B0aW9ucyB9LCBvbjogeyBcIm9uLWNoYW5nZVwiOiBfdm0uaGFuZGxlU3RhcnRDaGFuZ2UsIFwib24tcGljay1jbGlja1wiOiBfdm0uaGFuZGxlUGlja0NsaWNrIH0gfSldLCAxKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1jb250ZW50JywgX3ZtLnByZWZpeENscyArICctY29udGVudC1yaWdodCddIH0sIFtfYygnZGl2JywgeyBjbGFzczogW192bS50aW1lUHJlZml4Q2xzICsgJy1oZWFkZXInXSB9LCBbX3ZtLnNob3dEYXRlID8gW192bS5fdihfdm0uX3MoX3ZtLnJpZ2h0RGF0ZVBhbmVsTGFiZWwpKV0gOiBbX3ZtLl92KF92bS5fcyhfdm0udCgnaS5kYXRlcGlja2VyLmVuZFRpbWUnKSkpXV0sIDIpLCBfdm0uX3YoXCIgXCIpLCBfYygndGltZS1zcGlubmVyJywgeyByZWY6IFwidGltZVNwaW5uZXJFbmRcIiwgYXR0cnM6IHsgXCJzdGVwc1wiOiBfdm0uc3RlcHMsIFwic2hvdy1zZWNvbmRzXCI6IF92bS5zaG93U2Vjb25kcywgXCJob3Vyc1wiOiBfdm0udmFsdWVbMV0gJiYgX3ZtLmRhdGVFbmQuZ2V0SG91cnMoKSwgXCJtaW51dGVzXCI6IF92bS52YWx1ZVsxXSAmJiBfdm0uZGF0ZUVuZC5nZXRNaW51dGVzKCksIFwic2Vjb25kc1wiOiBfdm0udmFsdWVbMV0gJiYgX3ZtLmRhdGVFbmQuZ2V0U2Vjb25kcygpLCBcImRpc2FibGVkLWhvdXJzXCI6IF92bS5kaXNhYmxlZEhvdXJzLCBcImRpc2FibGVkLW1pbnV0ZXNcIjogX3ZtLmRpc2FibGVkTWludXRlcywgXCJkaXNhYmxlZC1zZWNvbmRzXCI6IF92bS5kaXNhYmxlZFNlY29uZHMsIFwiaGlkZS1kaXNhYmxlZC1vcHRpb25zXCI6IF92bS5oaWRlRGlzYWJsZWRPcHRpb25zIH0sIG9uOiB7IFwib24tY2hhbmdlXCI6IF92bS5oYW5kbGVFbmRDaGFuZ2UsIFwib24tcGljay1jbGlja1wiOiBfdm0uaGFuZGxlUGlja0NsaWNrIH0gfSldLCAxKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLmNvbmZpcm0gPyBfYygnQ29uZmlybScsIHsgb246IHsgXCJvbi1waWNrLWNsZWFyXCI6IF92bS5oYW5kbGVQaWNrQ2xlYXIsIFwib24tcGljay1zdWNjZXNzXCI6IF92bS5oYW5kbGVQaWNrU3VjY2VzcyB9IH0pIDogX3ZtLl9lKCldLCAxKV0pO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogNDExICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBjbGFzczogX3ZtLmNsYXNzZXMsIG9uOiB7IFwibW91c2Vkb3duXCI6IGZ1bmN0aW9uIG1vdXNlZG93bigkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9IH0gfSwgW192bS5zaG9ydGN1dHMubGVuZ3RoID8gX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1zaWRlYmFyJ10gfSwgX3ZtLl9sKF92bS5zaG9ydGN1dHMsIGZ1bmN0aW9uIChzaG9ydGN1dCkge1xuICAgIHJldHVybiBfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLXNob3J0Y3V0J10sIG9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgICAgcmV0dXJuIF92bS5oYW5kbGVTaG9ydGN1dENsaWNrKHNob3J0Y3V0KTtcbiAgICAgICAgfSB9IH0sIFtfdm0uX3YoX3ZtLl9zKHNob3J0Y3V0LnRleHQpKV0pO1xuICB9KSwgMCkgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgY2xhc3M6IF92bS5wYW5lbEJvZHlDbGFzc2VzIH0sIFtfYygnZGl2JywgeyBkaXJlY3RpdmVzOiBbeyBuYW1lOiBcInNob3dcIiwgcmF3TmFtZTogXCJ2LXNob3dcIiwgdmFsdWU6ICFfdm0uaXNUaW1lLCBleHByZXNzaW9uOiBcIiFpc1RpbWVcIiB9XSwgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1jb250ZW50JywgX3ZtLnByZWZpeENscyArICctY29udGVudC1sZWZ0J10gfSwgW19jKCdkaXYnLCB7IGRpcmVjdGl2ZXM6IFt7IG5hbWU6IFwic2hvd1wiLCByYXdOYW1lOiBcInYtc2hvd1wiLCB2YWx1ZTogX3ZtLmN1cnJlbnRWaWV3ICE9PSAndGltZScsIGV4cHJlc3Npb246IFwiY3VycmVudFZpZXcgIT09ICd0aW1lJ1wiIH1dLCBjbGFzczogW192bS5kYXRlUHJlZml4Q2xzICsgJy1oZWFkZXInXSB9LCBbX2MoJ3NwYW4nLCB7IGNsYXNzOiBfdm0uaWNvbkJ0bkNscygncHJldicsICctZG91YmxlJyksIG9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdm0ucHJldlllYXIoJ2xlZnQnKTtcbiAgICAgIH0gfSB9LCBbX2MoJ0ljb24nLCB7IGF0dHJzOiB7IFwidHlwZVwiOiBcImlvcy1hcnJvdy1iYWNrXCIgfSB9KV0sIDEpLCBfdm0uX3YoXCIgXCIpLCBfdm0ubGVmdFBpY2tlclRhYmxlID09PSAnZGF0ZS10YWJsZScgPyBfYygnc3BhbicsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBfdm0uY3VycmVudFZpZXcgPT09ICdkYXRlJywgZXhwcmVzc2lvbjogXCJjdXJyZW50VmlldyA9PT0gJ2RhdGUnXCIgfV0sIGNsYXNzOiBfdm0uaWNvbkJ0bkNscygncHJldicpLCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICByZXR1cm4gX3ZtLnByZXZNb250aCgnbGVmdCcpO1xuICAgICAgfSB9IH0sIFtfYygnSWNvbicsIHsgYXR0cnM6IHsgXCJ0eXBlXCI6IFwiaW9zLWFycm93LWJhY2tcIiB9IH0pXSwgMSkgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RhdGUtcGFuZWwtbGFiZWwnLCB7IGF0dHJzOiB7IFwiZGF0ZS1wYW5lbC1sYWJlbFwiOiBfdm0ubGVmdERhdGVQYW5lbExhYmVsLCBcImN1cnJlbnQtdmlld1wiOiBfdm0ubGVmdERhdGVQYW5lbFZpZXcsIFwiZGF0ZS1wcmVmaXgtY2xzXCI6IF92bS5kYXRlUHJlZml4Q2xzIH0gfSksIF92bS5fdihcIiBcIiksIF92bS5zcGxpdFBhbmVscyB8fCBfdm0ubGVmdFBpY2tlclRhYmxlICE9PSAnZGF0ZS10YWJsZScgPyBfYygnc3BhbicsIHsgY2xhc3M6IF92bS5pY29uQnRuQ2xzKCduZXh0JywgJy1kb3VibGUnKSwgb246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIF92bS5uZXh0WWVhcignbGVmdCcpO1xuICAgICAgfSB9IH0sIFtfYygnSWNvbicsIHsgYXR0cnM6IHsgXCJ0eXBlXCI6IFwiaW9zLWFycm93LWZvcndhcmRcIiB9IH0pXSwgMSkgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLnNwbGl0UGFuZWxzICYmIF92bS5sZWZ0UGlja2VyVGFibGUgPT09ICdkYXRlLXRhYmxlJyA/IF9jKCdzcGFuJywgeyBkaXJlY3RpdmVzOiBbeyBuYW1lOiBcInNob3dcIiwgcmF3TmFtZTogXCJ2LXNob3dcIiwgdmFsdWU6IF92bS5jdXJyZW50VmlldyA9PT0gJ2RhdGUnLCBleHByZXNzaW9uOiBcImN1cnJlbnRWaWV3ID09PSAnZGF0ZSdcIiB9XSwgY2xhc3M6IF92bS5pY29uQnRuQ2xzKCduZXh0JyksIG9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdm0ubmV4dE1vbnRoKCdsZWZ0Jyk7XG4gICAgICB9IH0gfSwgW19jKCdJY29uJywgeyBhdHRyczogeyBcInR5cGVcIjogXCJpb3MtYXJyb3ctZm9yd2FyZFwiIH0gfSldLCAxKSA6IF92bS5fZSgpXSwgMSksIF92bS5fdihcIiBcIiksIF92bS5jdXJyZW50VmlldyAhPT0gJ3RpbWUnID8gX2MoX3ZtLmxlZnRQaWNrZXJUYWJsZSwgeyByZWY6IFwibGVmdFllYXJUYWJsZVwiLCB0YWc6IFwiY29tcG9uZW50XCIsIGF0dHJzOiB7IFwidGFibGUtZGF0ZVwiOiBfdm0ubGVmdFBhbmVsRGF0ZSwgXCJzZWxlY3Rpb24tbW9kZVwiOiBcInJhbmdlXCIsIFwiZGlzYWJsZWQtZGF0ZVwiOiBfdm0uZGlzYWJsZWREYXRlLCBcInJhbmdlLXN0YXRlXCI6IF92bS5yYW5nZVN0YXRlLCBcInNob3ctd2Vlay1udW1iZXJzXCI6IF92bS5zaG93V2Vla051bWJlcnMsIFwidmFsdWVcIjogX3ZtLnByZVNlbGVjdGluZy5sZWZ0ID8gW192bS5kYXRlc1swXV0gOiBfdm0uZGF0ZXMsIFwiZm9jdXNlZC1kYXRlXCI6IF92bS5mb2N1c2VkRGF0ZSB9LCBvbjogeyBcIm9uLWNoYW5nZS1yYW5nZVwiOiBfdm0uaGFuZGxlQ2hhbmdlUmFuZ2UsIFwib24tcGlja1wiOiBfdm0ucGFuZWxQaWNrZXJIYW5kbGVycy5sZWZ0LCBcIm9uLXBpY2stY2xpY2tcIjogX3ZtLmhhbmRsZVBpY2tDbGljayB9IH0pIDogX3ZtLl9lKCldLCAxKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiAhX3ZtLmlzVGltZSwgZXhwcmVzc2lvbjogXCIhaXNUaW1lXCIgfV0sIGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctY29udGVudCcsIF92bS5wcmVmaXhDbHMgKyAnLWNvbnRlbnQtcmlnaHQnXSB9LCBbX2MoJ2RpdicsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBfdm0uY3VycmVudFZpZXcgIT09ICd0aW1lJywgZXhwcmVzc2lvbjogXCJjdXJyZW50VmlldyAhPT0gJ3RpbWUnXCIgfV0sIGNsYXNzOiBbX3ZtLmRhdGVQcmVmaXhDbHMgKyAnLWhlYWRlciddIH0sIFtfdm0uc3BsaXRQYW5lbHMgfHwgX3ZtLnJpZ2h0UGlja2VyVGFibGUgIT09ICdkYXRlLXRhYmxlJyA/IF9jKCdzcGFuJywgeyBjbGFzczogX3ZtLmljb25CdG5DbHMoJ3ByZXYnLCAnLWRvdWJsZScpLCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICByZXR1cm4gX3ZtLnByZXZZZWFyKCdyaWdodCcpO1xuICAgICAgfSB9IH0sIFtfYygnSWNvbicsIHsgYXR0cnM6IHsgXCJ0eXBlXCI6IFwiaW9zLWFycm93LWJhY2tcIiB9IH0pXSwgMSkgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLnNwbGl0UGFuZWxzICYmIF92bS5yaWdodFBpY2tlclRhYmxlID09PSAnZGF0ZS10YWJsZScgPyBfYygnc3BhbicsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBfdm0uY3VycmVudFZpZXcgPT09ICdkYXRlJywgZXhwcmVzc2lvbjogXCJjdXJyZW50VmlldyA9PT0gJ2RhdGUnXCIgfV0sIGNsYXNzOiBfdm0uaWNvbkJ0bkNscygncHJldicpLCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICByZXR1cm4gX3ZtLnByZXZNb250aCgncmlnaHQnKTtcbiAgICAgIH0gfSB9LCBbX2MoJ0ljb24nLCB7IGF0dHJzOiB7IFwidHlwZVwiOiBcImlvcy1hcnJvdy1iYWNrXCIgfSB9KV0sIDEpIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF9jKCdkYXRlLXBhbmVsLWxhYmVsJywgeyBhdHRyczogeyBcImRhdGUtcGFuZWwtbGFiZWxcIjogX3ZtLnJpZ2h0RGF0ZVBhbmVsTGFiZWwsIFwiY3VycmVudC12aWV3XCI6IF92bS5yaWdodERhdGVQYW5lbFZpZXcsIFwiZGF0ZS1wcmVmaXgtY2xzXCI6IF92bS5kYXRlUHJlZml4Q2xzIH0gfSksIF92bS5fdihcIiBcIiksIF9jKCdzcGFuJywgeyBjbGFzczogX3ZtLmljb25CdG5DbHMoJ25leHQnLCAnLWRvdWJsZScpLCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICByZXR1cm4gX3ZtLm5leHRZZWFyKCdyaWdodCcpO1xuICAgICAgfSB9IH0sIFtfYygnSWNvbicsIHsgYXR0cnM6IHsgXCJ0eXBlXCI6IFwiaW9zLWFycm93LWZvcndhcmRcIiB9IH0pXSwgMSksIF92bS5fdihcIiBcIiksIF92bS5yaWdodFBpY2tlclRhYmxlID09PSAnZGF0ZS10YWJsZScgPyBfYygnc3BhbicsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBfdm0uY3VycmVudFZpZXcgPT09ICdkYXRlJywgZXhwcmVzc2lvbjogXCJjdXJyZW50VmlldyA9PT0gJ2RhdGUnXCIgfV0sIGNsYXNzOiBfdm0uaWNvbkJ0bkNscygnbmV4dCcpLCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICByZXR1cm4gX3ZtLm5leHRNb250aCgncmlnaHQnKTtcbiAgICAgIH0gfSB9LCBbX2MoJ0ljb24nLCB7IGF0dHJzOiB7IFwidHlwZVwiOiBcImlvcy1hcnJvdy1mb3J3YXJkXCIgfSB9KV0sIDEpIDogX3ZtLl9lKCldLCAxKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLmN1cnJlbnRWaWV3ICE9PSAndGltZScgPyBfYyhfdm0ucmlnaHRQaWNrZXJUYWJsZSwgeyByZWY6IFwicmlnaHRZZWFyVGFibGVcIiwgdGFnOiBcImNvbXBvbmVudFwiLCBhdHRyczogeyBcInRhYmxlLWRhdGVcIjogX3ZtLnJpZ2h0UGFuZWxEYXRlLCBcInNlbGVjdGlvbi1tb2RlXCI6IFwicmFuZ2VcIiwgXCJyYW5nZS1zdGF0ZVwiOiBfdm0ucmFuZ2VTdGF0ZSwgXCJkaXNhYmxlZC1kYXRlXCI6IF92bS5kaXNhYmxlZERhdGUsIFwic2hvdy13ZWVrLW51bWJlcnNcIjogX3ZtLnNob3dXZWVrTnVtYmVycywgXCJ2YWx1ZVwiOiBfdm0ucHJlU2VsZWN0aW5nLnJpZ2h0ID8gW192bS5kYXRlc1tfdm0uZGF0ZXMubGVuZ3RoIC0gMV1dIDogX3ZtLmRhdGVzLCBcImZvY3VzZWQtZGF0ZVwiOiBfdm0uZm9jdXNlZERhdGUgfSwgb246IHsgXCJvbi1jaGFuZ2UtcmFuZ2VcIjogX3ZtLmhhbmRsZUNoYW5nZVJhbmdlLCBcIm9uLXBpY2tcIjogX3ZtLnBhbmVsUGlja2VySGFuZGxlcnMucmlnaHQsIFwib24tcGljay1jbGlja1wiOiBfdm0uaGFuZGxlUGlja0NsaWNrIH0gfSkgOiBfdm0uX2UoKV0sIDEpLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyBkaXJlY3RpdmVzOiBbeyBuYW1lOiBcInNob3dcIiwgcmF3TmFtZTogXCJ2LXNob3dcIiwgdmFsdWU6IF92bS5pc1RpbWUsIGV4cHJlc3Npb246IFwiaXNUaW1lXCIgfV0sIGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctY29udGVudCddIH0sIFtfdm0uY3VycmVudFZpZXcgPT09ICd0aW1lJyA/IF9jKCd0aW1lLXBpY2tlcicsIF92bS5fYih7IHJlZjogXCJ0aW1lUGlja2VyXCIsIGF0dHJzOiB7IFwidmFsdWVcIjogX3ZtLmRhdGVzLCBcImZvcm1hdFwiOiBfdm0uZm9ybWF0LCBcInRpbWUtZGlzYWJsZWRcIjogX3ZtLnRpbWVEaXNhYmxlZCB9LCBvbjogeyBcIm9uLXBpY2tcIjogX3ZtLmhhbmRsZVJhbmdlUGljaywgXCJvbi1waWNrLWNsaWNrXCI6IF92bS5oYW5kbGVQaWNrQ2xpY2ssIFwib24tcGljay1jbGVhclwiOiBfdm0uaGFuZGxlUGlja0NsZWFyLCBcIm9uLXBpY2stc3VjY2Vzc1wiOiBfdm0uaGFuZGxlUGlja1N1Y2Nlc3MsIFwib24tcGljay10b2dnbGUtdGltZVwiOiBfdm0uaGFuZGxlVG9nZ2xlVGltZSB9IH0sICd0aW1lLXBpY2tlcicsIF92bS50aW1lUGlja2VyT3B0aW9ucywgZmFsc2UpKSA6IF92bS5fZSgpXSwgMSksIF92bS5fdihcIiBcIiksIF92bS5jb25maXJtID8gX2MoJ0NvbmZpcm0nLCB7IGF0dHJzOiB7IFwic2hvdy10aW1lXCI6IF92bS5zaG93VGltZSwgXCJpcy10aW1lXCI6IF92bS5pc1RpbWUsIFwidGltZS1kaXNhYmxlZFwiOiBfdm0udGltZURpc2FibGVkIH0sIG9uOiB7IFwib24tcGljay10b2dnbGUtdGltZVwiOiBfdm0uaGFuZGxlVG9nZ2xlVGltZSwgXCJvbi1waWNrLWNsZWFyXCI6IF92bS5oYW5kbGVQaWNrQ2xlYXIsIFwib24tcGljay1zdWNjZXNzXCI6IF92bS5oYW5kbGVQaWNrU3VjY2VzcyB9IH0pIDogX3ZtLl9lKCldLCAxKV0pO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogNDEyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfZGl2aWRlciA9IF9fd2VicGFja19yZXF1aXJlX18oNDEzKTtcblxudmFyIF9kaXZpZGVyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RpdmlkZXIpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSBfZGl2aWRlcjIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiA0MTMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZGl2aWRlcl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTY3KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9kaXZpZGVyX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZGl2aWRlcl92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2RpdmlkZXJfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2RpdmlkZXJfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMmM0M2NkNTZfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9kaXZpZGVyX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0MTQpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzJjNDNjZDU2X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfZGl2aWRlcl92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzJjNDNjZDU2X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfZGl2aWRlcl92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9kaXZpZGVyX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMmM0M2NkNTZfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9kaXZpZGVyX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8yYzQzY2Q1Nl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2RpdmlkZXJfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDQxNCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgdmFyIF92bSA9IHRoaXM7dmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaDtyZXR1cm4gX2MoJ2RpdicsIHsgY2xhc3M6IF92bS5jbGFzc2VzIH0sIFtfdm0uaGFzU2xvdCA/IF9jKCdzcGFuJywgeyBjbGFzczogX3ZtLnNsb3RDbGFzc2VzIH0sIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwgMikgOiBfdm0uX2UoKV0pO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogNDE1ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfZHJhd2VyID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0MTYpO1xuXG52YXIgX2RyYXdlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kcmF3ZXIpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSBfZHJhd2VyMi5kZWZhdWx0O1xuXG4vKioqLyB9KSxcbi8qIDQxNiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9kcmF3ZXJfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE2OCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZHJhd2VyX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZHJhd2VyX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZHJhd2VyX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9kcmF3ZXJfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNzA5ZTU2MWFfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9kcmF3ZXJfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQxNyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNzA5ZTU2MWFfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9kcmF3ZXJfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl83MDllNTYxYV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2RyYXdlcl92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9kcmF3ZXJfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl83MDllNTYxYV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2RyYXdlcl92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNzA5ZTU2MWFfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9kcmF3ZXJfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDQxNyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgdmFyIF92bSA9IHRoaXM7dmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaDtyZXR1cm4gX2MoJ2RpdicsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJ0cmFuc2Zlci1kb21cIiwgcmF3TmFtZTogXCJ2LXRyYW5zZmVyLWRvbVwiIH1dLCBhdHRyczogeyBcImRhdGEtdHJhbnNmZXJcIjogX3ZtLnRyYW5zZmVyIH0gfSwgW19jKCd0cmFuc2l0aW9uJywgeyBhdHRyczogeyBcIm5hbWVcIjogXCJmYWRlXCIgfSB9LCBbX3ZtLm1hc2sgPyBfYygnZGl2JywgeyBkaXJlY3RpdmVzOiBbeyBuYW1lOiBcInNob3dcIiwgcmF3TmFtZTogXCJ2LXNob3dcIiwgdmFsdWU6IF92bS52aXNpYmxlLCBleHByZXNzaW9uOiBcInZpc2libGVcIiB9XSwgY2xhc3M6IF92bS5tYXNrQ2xhc3Nlcywgc3R5bGU6IF92bS5tYXNrU3R5bGUsIG9uOiB7IFwiY2xpY2tcIjogX3ZtLmhhbmRsZU1hc2sgfSB9KSA6IF92bS5fZSgpXSksIF92bS5fdihcIiBcIiksIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0ud3JhcENsYXNzZXMsIG9uOiB7IFwiY2xpY2tcIjogX3ZtLmhhbmRsZVdyYXBDbGljayB9IH0sIFtfYygndHJhbnNpdGlvbicsIHsgYXR0cnM6IHsgXCJuYW1lXCI6ICdtb3ZlLScgKyBfdm0ucGxhY2VtZW50IH0gfSwgW19jKCdkaXYnLCB7IGRpcmVjdGl2ZXM6IFt7IG5hbWU6IFwic2hvd1wiLCByYXdOYW1lOiBcInYtc2hvd1wiLCB2YWx1ZTogX3ZtLnZpc2libGUsIGV4cHJlc3Npb246IFwidmlzaWJsZVwiIH1dLCBjbGFzczogX3ZtLmNsYXNzZXMsIHN0eWxlOiBfdm0ubWFpblN0eWxlcyB9LCBbX2MoJ2RpdicsIHsgcmVmOiBcImNvbnRlbnRcIiwgY2xhc3M6IF92bS5jb250ZW50Q2xhc3NlcyB9LCBbX3ZtLmNsb3NhYmxlID8gX2MoJ2EnLCB7IHN0YXRpY0NsYXNzOiBcIml2dS1kcmF3ZXItY2xvc2VcIiwgb246IHsgXCJjbGlja1wiOiBfdm0uY2xvc2UgfSB9LCBbX3ZtLl90KFwiY2xvc2VcIiwgW19jKCdJY29uJywgeyBhdHRyczogeyBcInR5cGVcIjogXCJpb3MtY2xvc2VcIiB9IH0pXSldLCAyKSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfdm0uc2hvd0hlYWQgPyBfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWhlYWRlciddIH0sIFtfdm0uX3QoXCJoZWFkZXJcIiwgW19jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctaGVhZGVyLWlubmVyJ10gfSwgW192bS5fdihfdm0uX3MoX3ZtLnRpdGxlKSldKV0pXSwgMikgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1ib2R5J10sIHN0eWxlOiBfdm0uc3R5bGVzIH0sIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwgMildKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLmRyYWdnYWJsZSA/IF9jKCdkaXYnLCB7IHN0YXRpY0NsYXNzOiBcIml2dS1kcmF3ZXItZHJhZ1wiLCBjbGFzczogeyAnaXZ1LWRyYXdlci1kcmFnLWxlZnQnOiBfdm0ucGxhY2VtZW50ID09PSAnbGVmdCcgfSwgb246IHsgXCJtb3VzZWRvd25cIjogX3ZtLmhhbmRsZVRyaWdnZXJNb3VzZWRvd24gfSB9LCBbX3ZtLl90KFwidHJpZ2dlclwiLCBbX2MoJ2RpdicsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWRyYXdlci1kcmFnLW1vdmUtdHJpZ2dlclwiIH0sIFtfYygnZGl2JywgeyBzdGF0aWNDbGFzczogXCJpdnUtZHJhd2VyLWRyYWctbW92ZS10cmlnZ2VyLXBvaW50XCIgfSwgW19jKCdpJyksIF9jKCdpJyksIF9jKCdpJyksIF9jKCdpJyksIF9jKCdpJyldKV0pXSldLCAyKSA6IF92bS5fZSgpXSldKV0sIDEpXSwgMSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA0MTggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9kcm9wZG93biA9IF9fd2VicGFja19yZXF1aXJlX18oNDE5KTtcblxudmFyIF9kcm9wZG93bjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kcm9wZG93bik7XG5cbnZhciBfZHJvcGRvd25NZW51ID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0MjEpO1xuXG52YXIgX2Ryb3Bkb3duTWVudTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kcm9wZG93bk1lbnUpO1xuXG52YXIgX2Ryb3Bkb3duSXRlbSA9IF9fd2VicGFja19yZXF1aXJlX18oNDIzKTtcblxudmFyIF9kcm9wZG93bkl0ZW0yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZHJvcGRvd25JdGVtKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuX2Ryb3Bkb3duMi5kZWZhdWx0Lk1lbnUgPSBfZHJvcGRvd25NZW51Mi5kZWZhdWx0O1xuX2Ryb3Bkb3duMi5kZWZhdWx0Lkl0ZW0gPSBfZHJvcGRvd25JdGVtMi5kZWZhdWx0O1xuZXhwb3J0cy5kZWZhdWx0ID0gX2Ryb3Bkb3duMi5kZWZhdWx0O1xuXG4vKioqLyB9KSxcbi8qIDQxOSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9kcm9wZG93bl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTY5KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9kcm9wZG93bl92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Ryb3Bkb3duX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZHJvcGRvd25fdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Ryb3Bkb3duX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzJjNDQxZWQ0X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfZHJvcGRvd25fdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQyMCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMmM0NDFlZDRfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9kcm9wZG93bl92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzJjNDQxZWQ0X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfZHJvcGRvd25fdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZHJvcGRvd25fdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8yYzQ0MWVkNF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2Ryb3Bkb3duX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8yYzQ0MWVkNF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2Ryb3Bkb3duX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA0MjAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGRpcmVjdGl2ZXM6IFt7IG5hbWU6IFwiY2xpY2stb3V0c2lkZVwiLCByYXdOYW1lOiBcInYtY2xpY2stb3V0c2lkZVwiLCB2YWx1ZTogX3ZtLm9uQ2xpY2tvdXRzaWRlLCBleHByZXNzaW9uOiBcIm9uQ2xpY2tvdXRzaWRlXCIgfV0sIGNsYXNzOiBbX3ZtLnByZWZpeENsc10sIG9uOiB7IFwibW91c2VlbnRlclwiOiBfdm0uaGFuZGxlTW91c2VlbnRlciwgXCJtb3VzZWxlYXZlXCI6IF92bS5oYW5kbGVNb3VzZWxlYXZlIH0gfSwgW19jKCdkaXYnLCB7IHJlZjogXCJyZWZlcmVuY2VcIiwgY2xhc3M6IF92bS5yZWxDbGFzc2VzLCBvbjogeyBcImNsaWNrXCI6IF92bS5oYW5kbGVDbGljaywgXCJjb250ZXh0bWVudVwiOiBmdW5jdGlvbiBjb250ZXh0bWVudSgkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIF92bS5oYW5kbGVSaWdodENsaWNrKCRldmVudCk7XG4gICAgICB9IH0gfSwgW192bS5fdChcImRlZmF1bHRcIildLCAyKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ3RyYW5zaXRpb24nLCB7IGF0dHJzOiB7IFwibmFtZVwiOiBcInRyYW5zaXRpb24tZHJvcFwiIH0gfSwgW19jKCdEcm9wJywgeyBkaXJlY3RpdmVzOiBbeyBuYW1lOiBcInNob3dcIiwgcmF3TmFtZTogXCJ2LXNob3dcIiwgdmFsdWU6IF92bS5jdXJyZW50VmlzaWJsZSwgZXhwcmVzc2lvbjogXCJjdXJyZW50VmlzaWJsZVwiIH0sIHsgbmFtZTogXCJ0cmFuc2Zlci1kb21cIiwgcmF3TmFtZTogXCJ2LXRyYW5zZmVyLWRvbVwiIH1dLCByZWY6IFwiZHJvcFwiLCBjbGFzczogX3ZtLmRyb3Bkb3duQ2xzLCBhdHRyczogeyBcInBsYWNlbWVudFwiOiBfdm0ucGxhY2VtZW50LCBcImRhdGEtdHJhbnNmZXJcIjogX3ZtLnRyYW5zZmVyLCBcInRyYW5zZmVyXCI6IF92bS50cmFuc2ZlciB9LCBuYXRpdmVPbjogeyBcIm1vdXNlZW50ZXJcIjogZnVuY3Rpb24gbW91c2VlbnRlcigkZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIF92bS5oYW5kbGVNb3VzZWVudGVyKCRldmVudCk7XG4gICAgICB9LCBcIm1vdXNlbGVhdmVcIjogZnVuY3Rpb24gbW91c2VsZWF2ZSgkZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIF92bS5oYW5kbGVNb3VzZWxlYXZlKCRldmVudCk7XG4gICAgICB9IH0gfSwgW192bS5fdChcImxpc3RcIildLCAyKV0sIDEpXSwgMSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA0MjEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZHJvcGRvd25fbWVudV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTcwKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9kcm9wZG93bl9tZW51X3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZHJvcGRvd25fbWVudV92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Ryb3Bkb3duX21lbnVfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Ryb3Bkb3duX21lbnVfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfYjQ4ZDk1NzZfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9kcm9wZG93bl9tZW51X3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0MjIpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2I0OGQ5NTc2X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfZHJvcGRvd25fbWVudV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2I0OGQ5NTc2X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfZHJvcGRvd25fbWVudV92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9kcm9wZG93bl9tZW51X3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfYjQ4ZDk1NzZfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9kcm9wZG93bl9tZW51X3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9iNDhkOTU3Nl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2Ryb3Bkb3duX21lbnVfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDQyMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgdmFyIF92bSA9IHRoaXM7dmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaDtyZXR1cm4gX2MoJ3VsJywgeyBzdGF0aWNDbGFzczogXCJpdnUtZHJvcGRvd24tbWVudVwiIH0sIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwgMik7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA0MjMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZHJvcGRvd25faXRlbV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTcxKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9kcm9wZG93bl9pdGVtX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZHJvcGRvd25faXRlbV92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Ryb3Bkb3duX2l0ZW1fdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Ryb3Bkb3duX2l0ZW1fdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNTY3Y2MxZWNfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9kcm9wZG93bl9pdGVtX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0MjQpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzU2N2NjMWVjX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfZHJvcGRvd25faXRlbV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzU2N2NjMWVjX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfZHJvcGRvd25faXRlbV92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9kcm9wZG93bl9pdGVtX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNTY3Y2MxZWNfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9kcm9wZG93bl9pdGVtX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81NjdjYzFlY19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2Ryb3Bkb3duX2l0ZW1fdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDQyNCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgdmFyIF92bSA9IHRoaXM7dmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaDtyZXR1cm4gX2MoJ2xpJywgeyBjbGFzczogX3ZtLmNsYXNzZXMsIG9uOiB7IFwiY2xpY2tcIjogX3ZtLmhhbmRsZUNsaWNrIH0gfSwgW192bS5fdChcImRlZmF1bHRcIildLCAyKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDQyNSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2Zvb3RlciA9IF9fd2VicGFja19yZXF1aXJlX18oMTcyKTtcblxudmFyIF9mb290ZXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZm9vdGVyKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0gX2Zvb3RlcjIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiA0MjYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0ud3JhcENsYXNzZXMgfSwgW192bS5fdChcImRlZmF1bHRcIildLCAyKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDQyNyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2Zvcm0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQyOCk7XG5cbnZhciBfZm9ybTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9mb3JtKTtcblxudmFyIF9mb3JtSXRlbSA9IF9fd2VicGFja19yZXF1aXJlX18oNDQwKTtcblxudmFyIF9mb3JtSXRlbTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9mb3JtSXRlbSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbl9mb3JtMi5kZWZhdWx0Lkl0ZW0gPSBfZm9ybUl0ZW0yLmRlZmF1bHQ7XG5leHBvcnRzLmRlZmF1bHQgPSBfZm9ybTIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiA0MjggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZm9ybV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTc0KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9mb3JtX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZm9ybV92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Zvcm1fdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2Zvcm1fdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfYzcyMDZiNzJfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9mb3JtX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0MzkpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2M3MjA2YjcyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfZm9ybV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2M3MjA2YjcyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfZm9ybV92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9mb3JtX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfYzcyMDZiNzJfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9mb3JtX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9jNzIwNmI3Ml9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2Zvcm1fdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDQyOSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5fX3dlYnBhY2tfcmVxdWlyZV9fKDExMCk7XG5fX3dlYnBhY2tfcmVxdWlyZV9fKDQ1KTtcbl9fd2VicGFja19yZXF1aXJlX18oNTEpO1xuX193ZWJwYWNrX3JlcXVpcmVfXyg0MzApO1xuX193ZWJwYWNrX3JlcXVpcmVfXyg0MzcpO1xuX193ZWJwYWNrX3JlcXVpcmVfXyg0MzgpO1xubW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDYpLlByb21pc2U7XG5cblxuLyoqKi8gfSksXG4vKiA0MzAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBMSUJSQVJZID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1Mik7XG52YXIgZ2xvYmFsID0gX193ZWJwYWNrX3JlcXVpcmVfXyg5KTtcbnZhciBjdHggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQyKTtcbnZhciBjbGFzc29mID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2OSk7XG52YXIgJGV4cG9ydCA9IF9fd2VicGFja19yZXF1aXJlX18oMTApO1xudmFyIGlzT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygyOCk7XG52YXIgYUZ1bmN0aW9uID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0OSk7XG52YXIgYW5JbnN0YW5jZSA9IF9fd2VicGFja19yZXF1aXJlX18oNDMxKTtcbnZhciBmb3JPZiA9IF9fd2VicGFja19yZXF1aXJlX18oNDMyKTtcbnZhciBzcGVjaWVzQ29uc3RydWN0b3IgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE3Nik7XG52YXIgdGFzayA9IF9fd2VicGFja19yZXF1aXJlX18oMTc3KS5zZXQ7XG52YXIgbWljcm90YXNrID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0MzQpKCk7XG52YXIgbmV3UHJvbWlzZUNhcGFiaWxpdHlNb2R1bGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDgwKTtcbnZhciBwZXJmb3JtID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNzgpO1xudmFyIHByb21pc2VSZXNvbHZlID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNzkpO1xudmFyIFBST01JU0UgPSAnUHJvbWlzZSc7XG52YXIgVHlwZUVycm9yID0gZ2xvYmFsLlR5cGVFcnJvcjtcbnZhciBwcm9jZXNzID0gZ2xvYmFsLnByb2Nlc3M7XG52YXIgJFByb21pc2UgPSBnbG9iYWxbUFJPTUlTRV07XG52YXIgaXNOb2RlID0gY2xhc3NvZihwcm9jZXNzKSA9PSAncHJvY2Vzcyc7XG52YXIgZW1wdHkgPSBmdW5jdGlvbiAoKSB7IC8qIGVtcHR5ICovIH07XG52YXIgSW50ZXJuYWwsIG5ld0dlbmVyaWNQcm9taXNlQ2FwYWJpbGl0eSwgT3duUHJvbWlzZUNhcGFiaWxpdHksIFdyYXBwZXI7XG52YXIgbmV3UHJvbWlzZUNhcGFiaWxpdHkgPSBuZXdHZW5lcmljUHJvbWlzZUNhcGFiaWxpdHkgPSBuZXdQcm9taXNlQ2FwYWJpbGl0eU1vZHVsZS5mO1xuXG52YXIgVVNFX05BVElWRSA9ICEhZnVuY3Rpb24gKCkge1xuICB0cnkge1xuICAgIC8vIGNvcnJlY3Qgc3ViY2xhc3Npbmcgd2l0aCBAQHNwZWNpZXMgc3VwcG9ydFxuICAgIHZhciBwcm9taXNlID0gJFByb21pc2UucmVzb2x2ZSgxKTtcbiAgICB2YXIgRmFrZVByb21pc2UgPSAocHJvbWlzZS5jb25zdHJ1Y3RvciA9IHt9KVtfX3dlYnBhY2tfcmVxdWlyZV9fKDExKSgnc3BlY2llcycpXSA9IGZ1bmN0aW9uIChleGVjKSB7XG4gICAgICBleGVjKGVtcHR5LCBlbXB0eSk7XG4gICAgfTtcbiAgICAvLyB1bmhhbmRsZWQgcmVqZWN0aW9ucyB0cmFja2luZyBzdXBwb3J0LCBOb2RlSlMgUHJvbWlzZSB3aXRob3V0IGl0IGZhaWxzIEBAc3BlY2llcyB0ZXN0XG4gICAgcmV0dXJuIChpc05vZGUgfHwgdHlwZW9mIFByb21pc2VSZWplY3Rpb25FdmVudCA9PSAnZnVuY3Rpb24nKSAmJiBwcm9taXNlLnRoZW4oZW1wdHkpIGluc3RhbmNlb2YgRmFrZVByb21pc2U7XG4gIH0gY2F0Y2ggKGUpIHsgLyogZW1wdHkgKi8gfVxufSgpO1xuXG4vLyBoZWxwZXJzXG52YXIgaXNUaGVuYWJsZSA9IGZ1bmN0aW9uIChpdCkge1xuICB2YXIgdGhlbjtcbiAgcmV0dXJuIGlzT2JqZWN0KGl0KSAmJiB0eXBlb2YgKHRoZW4gPSBpdC50aGVuKSA9PSAnZnVuY3Rpb24nID8gdGhlbiA6IGZhbHNlO1xufTtcbnZhciBub3RpZnkgPSBmdW5jdGlvbiAocHJvbWlzZSwgaXNSZWplY3QpIHtcbiAgaWYgKHByb21pc2UuX24pIHJldHVybjtcbiAgcHJvbWlzZS5fbiA9IHRydWU7XG4gIHZhciBjaGFpbiA9IHByb21pc2UuX2M7XG4gIG1pY3JvdGFzayhmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHZhbHVlID0gcHJvbWlzZS5fdjtcbiAgICB2YXIgb2sgPSBwcm9taXNlLl9zID09IDE7XG4gICAgdmFyIGkgPSAwO1xuICAgIHZhciBydW4gPSBmdW5jdGlvbiAocmVhY3Rpb24pIHtcbiAgICAgIHZhciBoYW5kbGVyID0gb2sgPyByZWFjdGlvbi5vayA6IHJlYWN0aW9uLmZhaWw7XG4gICAgICB2YXIgcmVzb2x2ZSA9IHJlYWN0aW9uLnJlc29sdmU7XG4gICAgICB2YXIgcmVqZWN0ID0gcmVhY3Rpb24ucmVqZWN0O1xuICAgICAgdmFyIGRvbWFpbiA9IHJlYWN0aW9uLmRvbWFpbjtcbiAgICAgIHZhciByZXN1bHQsIHRoZW4sIGV4aXRlZDtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmIChoYW5kbGVyKSB7XG4gICAgICAgICAgaWYgKCFvaykge1xuICAgICAgICAgICAgaWYgKHByb21pc2UuX2ggPT0gMikgb25IYW5kbGVVbmhhbmRsZWQocHJvbWlzZSk7XG4gICAgICAgICAgICBwcm9taXNlLl9oID0gMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGhhbmRsZXIgPT09IHRydWUpIHJlc3VsdCA9IHZhbHVlO1xuICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKGRvbWFpbikgZG9tYWluLmVudGVyKCk7XG4gICAgICAgICAgICByZXN1bHQgPSBoYW5kbGVyKHZhbHVlKTsgLy8gbWF5IHRocm93XG4gICAgICAgICAgICBpZiAoZG9tYWluKSB7XG4gICAgICAgICAgICAgIGRvbWFpbi5leGl0KCk7XG4gICAgICAgICAgICAgIGV4aXRlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChyZXN1bHQgPT09IHJlYWN0aW9uLnByb21pc2UpIHtcbiAgICAgICAgICAgIHJlamVjdChUeXBlRXJyb3IoJ1Byb21pc2UtY2hhaW4gY3ljbGUnKSk7XG4gICAgICAgICAgfSBlbHNlIGlmICh0aGVuID0gaXNUaGVuYWJsZShyZXN1bHQpKSB7XG4gICAgICAgICAgICB0aGVuLmNhbGwocmVzdWx0LCByZXNvbHZlLCByZWplY3QpO1xuICAgICAgICAgIH0gZWxzZSByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgIH0gZWxzZSByZWplY3QodmFsdWUpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBpZiAoZG9tYWluICYmICFleGl0ZWQpIGRvbWFpbi5leGl0KCk7XG4gICAgICAgIHJlamVjdChlKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHdoaWxlIChjaGFpbi5sZW5ndGggPiBpKSBydW4oY2hhaW5baSsrXSk7IC8vIHZhcmlhYmxlIGxlbmd0aCAtIGNhbid0IHVzZSBmb3JFYWNoXG4gICAgcHJvbWlzZS5fYyA9IFtdO1xuICAgIHByb21pc2UuX24gPSBmYWxzZTtcbiAgICBpZiAoaXNSZWplY3QgJiYgIXByb21pc2UuX2gpIG9uVW5oYW5kbGVkKHByb21pc2UpO1xuICB9KTtcbn07XG52YXIgb25VbmhhbmRsZWQgPSBmdW5jdGlvbiAocHJvbWlzZSkge1xuICB0YXNrLmNhbGwoZ2xvYmFsLCBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHZhbHVlID0gcHJvbWlzZS5fdjtcbiAgICB2YXIgdW5oYW5kbGVkID0gaXNVbmhhbmRsZWQocHJvbWlzZSk7XG4gICAgdmFyIHJlc3VsdCwgaGFuZGxlciwgY29uc29sZTtcbiAgICBpZiAodW5oYW5kbGVkKSB7XG4gICAgICByZXN1bHQgPSBwZXJmb3JtKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKGlzTm9kZSkge1xuICAgICAgICAgIHByb2Nlc3MuZW1pdCgndW5oYW5kbGVkUmVqZWN0aW9uJywgdmFsdWUsIHByb21pc2UpO1xuICAgICAgICB9IGVsc2UgaWYgKGhhbmRsZXIgPSBnbG9iYWwub251bmhhbmRsZWRyZWplY3Rpb24pIHtcbiAgICAgICAgICBoYW5kbGVyKHsgcHJvbWlzZTogcHJvbWlzZSwgcmVhc29uOiB2YWx1ZSB9KTtcbiAgICAgICAgfSBlbHNlIGlmICgoY29uc29sZSA9IGdsb2JhbC5jb25zb2xlKSAmJiBjb25zb2xlLmVycm9yKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignVW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9uJywgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIC8vIEJyb3dzZXJzIHNob3VsZCBub3QgdHJpZ2dlciBgcmVqZWN0aW9uSGFuZGxlZGAgZXZlbnQgaWYgaXQgd2FzIGhhbmRsZWQgaGVyZSwgTm9kZUpTIC0gc2hvdWxkXG4gICAgICBwcm9taXNlLl9oID0gaXNOb2RlIHx8IGlzVW5oYW5kbGVkKHByb21pc2UpID8gMiA6IDE7XG4gICAgfSBwcm9taXNlLl9hID0gdW5kZWZpbmVkO1xuICAgIGlmICh1bmhhbmRsZWQgJiYgcmVzdWx0LmUpIHRocm93IHJlc3VsdC52O1xuICB9KTtcbn07XG52YXIgaXNVbmhhbmRsZWQgPSBmdW5jdGlvbiAocHJvbWlzZSkge1xuICByZXR1cm4gcHJvbWlzZS5faCAhPT0gMSAmJiAocHJvbWlzZS5fYSB8fCBwcm9taXNlLl9jKS5sZW5ndGggPT09IDA7XG59O1xudmFyIG9uSGFuZGxlVW5oYW5kbGVkID0gZnVuY3Rpb24gKHByb21pc2UpIHtcbiAgdGFzay5jYWxsKGdsb2JhbCwgZnVuY3Rpb24gKCkge1xuICAgIHZhciBoYW5kbGVyO1xuICAgIGlmIChpc05vZGUpIHtcbiAgICAgIHByb2Nlc3MuZW1pdCgncmVqZWN0aW9uSGFuZGxlZCcsIHByb21pc2UpO1xuICAgIH0gZWxzZSBpZiAoaGFuZGxlciA9IGdsb2JhbC5vbnJlamVjdGlvbmhhbmRsZWQpIHtcbiAgICAgIGhhbmRsZXIoeyBwcm9taXNlOiBwcm9taXNlLCByZWFzb246IHByb21pc2UuX3YgfSk7XG4gICAgfVxuICB9KTtcbn07XG52YXIgJHJlamVjdCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICB2YXIgcHJvbWlzZSA9IHRoaXM7XG4gIGlmIChwcm9taXNlLl9kKSByZXR1cm47XG4gIHByb21pc2UuX2QgPSB0cnVlO1xuICBwcm9taXNlID0gcHJvbWlzZS5fdyB8fCBwcm9taXNlOyAvLyB1bndyYXBcbiAgcHJvbWlzZS5fdiA9IHZhbHVlO1xuICBwcm9taXNlLl9zID0gMjtcbiAgaWYgKCFwcm9taXNlLl9hKSBwcm9taXNlLl9hID0gcHJvbWlzZS5fYy5zbGljZSgpO1xuICBub3RpZnkocHJvbWlzZSwgdHJ1ZSk7XG59O1xudmFyICRyZXNvbHZlID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gIHZhciBwcm9taXNlID0gdGhpcztcbiAgdmFyIHRoZW47XG4gIGlmIChwcm9taXNlLl9kKSByZXR1cm47XG4gIHByb21pc2UuX2QgPSB0cnVlO1xuICBwcm9taXNlID0gcHJvbWlzZS5fdyB8fCBwcm9taXNlOyAvLyB1bndyYXBcbiAgdHJ5IHtcbiAgICBpZiAocHJvbWlzZSA9PT0gdmFsdWUpIHRocm93IFR5cGVFcnJvcihcIlByb21pc2UgY2FuJ3QgYmUgcmVzb2x2ZWQgaXRzZWxmXCIpO1xuICAgIGlmICh0aGVuID0gaXNUaGVuYWJsZSh2YWx1ZSkpIHtcbiAgICAgIG1pY3JvdGFzayhmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciB3cmFwcGVyID0geyBfdzogcHJvbWlzZSwgX2Q6IGZhbHNlIH07IC8vIHdyYXBcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB0aGVuLmNhbGwodmFsdWUsIGN0eCgkcmVzb2x2ZSwgd3JhcHBlciwgMSksIGN0eCgkcmVqZWN0LCB3cmFwcGVyLCAxKSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAkcmVqZWN0LmNhbGwod3JhcHBlciwgZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBwcm9taXNlLl92ID0gdmFsdWU7XG4gICAgICBwcm9taXNlLl9zID0gMTtcbiAgICAgIG5vdGlmeShwcm9taXNlLCBmYWxzZSk7XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgJHJlamVjdC5jYWxsKHsgX3c6IHByb21pc2UsIF9kOiBmYWxzZSB9LCBlKTsgLy8gd3JhcFxuICB9XG59O1xuXG4vLyBjb25zdHJ1Y3RvciBwb2x5ZmlsbFxuaWYgKCFVU0VfTkFUSVZFKSB7XG4gIC8vIDI1LjQuMy4xIFByb21pc2UoZXhlY3V0b3IpXG4gICRQcm9taXNlID0gZnVuY3Rpb24gUHJvbWlzZShleGVjdXRvcikge1xuICAgIGFuSW5zdGFuY2UodGhpcywgJFByb21pc2UsIFBST01JU0UsICdfaCcpO1xuICAgIGFGdW5jdGlvbihleGVjdXRvcik7XG4gICAgSW50ZXJuYWwuY2FsbCh0aGlzKTtcbiAgICB0cnkge1xuICAgICAgZXhlY3V0b3IoY3R4KCRyZXNvbHZlLCB0aGlzLCAxKSwgY3R4KCRyZWplY3QsIHRoaXMsIDEpKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICRyZWplY3QuY2FsbCh0aGlzLCBlcnIpO1xuICAgIH1cbiAgfTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG4gIEludGVybmFsID0gZnVuY3Rpb24gUHJvbWlzZShleGVjdXRvcikge1xuICAgIHRoaXMuX2MgPSBbXTsgICAgICAgICAgICAgLy8gPC0gYXdhaXRpbmcgcmVhY3Rpb25zXG4gICAgdGhpcy5fYSA9IHVuZGVmaW5lZDsgICAgICAvLyA8LSBjaGVja2VkIGluIGlzVW5oYW5kbGVkIHJlYWN0aW9uc1xuICAgIHRoaXMuX3MgPSAwOyAgICAgICAgICAgICAgLy8gPC0gc3RhdGVcbiAgICB0aGlzLl9kID0gZmFsc2U7ICAgICAgICAgIC8vIDwtIGRvbmVcbiAgICB0aGlzLl92ID0gdW5kZWZpbmVkOyAgICAgIC8vIDwtIHZhbHVlXG4gICAgdGhpcy5faCA9IDA7ICAgICAgICAgICAgICAvLyA8LSByZWplY3Rpb24gc3RhdGUsIDAgLSBkZWZhdWx0LCAxIC0gaGFuZGxlZCwgMiAtIHVuaGFuZGxlZFxuICAgIHRoaXMuX24gPSBmYWxzZTsgICAgICAgICAgLy8gPC0gbm90aWZ5XG4gIH07XG4gIEludGVybmFsLnByb3RvdHlwZSA9IF9fd2VicGFja19yZXF1aXJlX18oNDM1KSgkUHJvbWlzZS5wcm90b3R5cGUsIHtcbiAgICAvLyAyNS40LjUuMyBQcm9taXNlLnByb3RvdHlwZS50aGVuKG9uRnVsZmlsbGVkLCBvblJlamVjdGVkKVxuICAgIHRoZW46IGZ1bmN0aW9uIHRoZW4ob25GdWxmaWxsZWQsIG9uUmVqZWN0ZWQpIHtcbiAgICAgIHZhciByZWFjdGlvbiA9IG5ld1Byb21pc2VDYXBhYmlsaXR5KHNwZWNpZXNDb25zdHJ1Y3Rvcih0aGlzLCAkUHJvbWlzZSkpO1xuICAgICAgcmVhY3Rpb24ub2sgPSB0eXBlb2Ygb25GdWxmaWxsZWQgPT0gJ2Z1bmN0aW9uJyA/IG9uRnVsZmlsbGVkIDogdHJ1ZTtcbiAgICAgIHJlYWN0aW9uLmZhaWwgPSB0eXBlb2Ygb25SZWplY3RlZCA9PSAnZnVuY3Rpb24nICYmIG9uUmVqZWN0ZWQ7XG4gICAgICByZWFjdGlvbi5kb21haW4gPSBpc05vZGUgPyBwcm9jZXNzLmRvbWFpbiA6IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuX2MucHVzaChyZWFjdGlvbik7XG4gICAgICBpZiAodGhpcy5fYSkgdGhpcy5fYS5wdXNoKHJlYWN0aW9uKTtcbiAgICAgIGlmICh0aGlzLl9zKSBub3RpZnkodGhpcywgZmFsc2UpO1xuICAgICAgcmV0dXJuIHJlYWN0aW9uLnByb21pc2U7XG4gICAgfSxcbiAgICAvLyAyNS40LjUuMSBQcm9taXNlLnByb3RvdHlwZS5jYXRjaChvblJlamVjdGVkKVxuICAgICdjYXRjaCc6IGZ1bmN0aW9uIChvblJlamVjdGVkKSB7XG4gICAgICByZXR1cm4gdGhpcy50aGVuKHVuZGVmaW5lZCwgb25SZWplY3RlZCk7XG4gICAgfVxuICB9KTtcbiAgT3duUHJvbWlzZUNhcGFiaWxpdHkgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHByb21pc2UgPSBuZXcgSW50ZXJuYWwoKTtcbiAgICB0aGlzLnByb21pc2UgPSBwcm9taXNlO1xuICAgIHRoaXMucmVzb2x2ZSA9IGN0eCgkcmVzb2x2ZSwgcHJvbWlzZSwgMSk7XG4gICAgdGhpcy5yZWplY3QgPSBjdHgoJHJlamVjdCwgcHJvbWlzZSwgMSk7XG4gIH07XG4gIG5ld1Byb21pc2VDYXBhYmlsaXR5TW9kdWxlLmYgPSBuZXdQcm9taXNlQ2FwYWJpbGl0eSA9IGZ1bmN0aW9uIChDKSB7XG4gICAgcmV0dXJuIEMgPT09ICRQcm9taXNlIHx8IEMgPT09IFdyYXBwZXJcbiAgICAgID8gbmV3IE93blByb21pc2VDYXBhYmlsaXR5KEMpXG4gICAgICA6IG5ld0dlbmVyaWNQcm9taXNlQ2FwYWJpbGl0eShDKTtcbiAgfTtcbn1cblxuJGV4cG9ydCgkZXhwb3J0LkcgKyAkZXhwb3J0LlcgKyAkZXhwb3J0LkYgKiAhVVNFX05BVElWRSwgeyBQcm9taXNlOiAkUHJvbWlzZSB9KTtcbl9fd2VicGFja19yZXF1aXJlX18oNTMpKCRQcm9taXNlLCBQUk9NSVNFKTtcbl9fd2VicGFja19yZXF1aXJlX18oNDM2KShQUk9NSVNFKTtcbldyYXBwZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDYpW1BST01JU0VdO1xuXG4vLyBzdGF0aWNzXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqICFVU0VfTkFUSVZFLCBQUk9NSVNFLCB7XG4gIC8vIDI1LjQuNC41IFByb21pc2UucmVqZWN0KHIpXG4gIHJlamVjdDogZnVuY3Rpb24gcmVqZWN0KHIpIHtcbiAgICB2YXIgY2FwYWJpbGl0eSA9IG5ld1Byb21pc2VDYXBhYmlsaXR5KHRoaXMpO1xuICAgIHZhciAkJHJlamVjdCA9IGNhcGFiaWxpdHkucmVqZWN0O1xuICAgICQkcmVqZWN0KHIpO1xuICAgIHJldHVybiBjYXBhYmlsaXR5LnByb21pc2U7XG4gIH1cbn0pO1xuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAoTElCUkFSWSB8fCAhVVNFX05BVElWRSksIFBST01JU0UsIHtcbiAgLy8gMjUuNC40LjYgUHJvbWlzZS5yZXNvbHZlKHgpXG4gIHJlc29sdmU6IGZ1bmN0aW9uIHJlc29sdmUoeCkge1xuICAgIHJldHVybiBwcm9taXNlUmVzb2x2ZShMSUJSQVJZICYmIHRoaXMgPT09IFdyYXBwZXIgPyAkUHJvbWlzZSA6IHRoaXMsIHgpO1xuICB9XG59KTtcbiRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogIShVU0VfTkFUSVZFICYmIF9fd2VicGFja19yZXF1aXJlX18oMTA0KShmdW5jdGlvbiAoaXRlcikge1xuICAkUHJvbWlzZS5hbGwoaXRlcilbJ2NhdGNoJ10oZW1wdHkpO1xufSkpLCBQUk9NSVNFLCB7XG4gIC8vIDI1LjQuNC4xIFByb21pc2UuYWxsKGl0ZXJhYmxlKVxuICBhbGw6IGZ1bmN0aW9uIGFsbChpdGVyYWJsZSkge1xuICAgIHZhciBDID0gdGhpcztcbiAgICB2YXIgY2FwYWJpbGl0eSA9IG5ld1Byb21pc2VDYXBhYmlsaXR5KEMpO1xuICAgIHZhciByZXNvbHZlID0gY2FwYWJpbGl0eS5yZXNvbHZlO1xuICAgIHZhciByZWplY3QgPSBjYXBhYmlsaXR5LnJlamVjdDtcbiAgICB2YXIgcmVzdWx0ID0gcGVyZm9ybShmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgdmFsdWVzID0gW107XG4gICAgICB2YXIgaW5kZXggPSAwO1xuICAgICAgdmFyIHJlbWFpbmluZyA9IDE7XG4gICAgICBmb3JPZihpdGVyYWJsZSwgZmFsc2UsIGZ1bmN0aW9uIChwcm9taXNlKSB7XG4gICAgICAgIHZhciAkaW5kZXggPSBpbmRleCsrO1xuICAgICAgICB2YXIgYWxyZWFkeUNhbGxlZCA9IGZhbHNlO1xuICAgICAgICB2YWx1ZXMucHVzaCh1bmRlZmluZWQpO1xuICAgICAgICByZW1haW5pbmcrKztcbiAgICAgICAgQy5yZXNvbHZlKHByb21pc2UpLnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgICAgaWYgKGFscmVhZHlDYWxsZWQpIHJldHVybjtcbiAgICAgICAgICBhbHJlYWR5Q2FsbGVkID0gdHJ1ZTtcbiAgICAgICAgICB2YWx1ZXNbJGluZGV4XSA9IHZhbHVlO1xuICAgICAgICAgIC0tcmVtYWluaW5nIHx8IHJlc29sdmUodmFsdWVzKTtcbiAgICAgICAgfSwgcmVqZWN0KTtcbiAgICAgIH0pO1xuICAgICAgLS1yZW1haW5pbmcgfHwgcmVzb2x2ZSh2YWx1ZXMpO1xuICAgIH0pO1xuICAgIGlmIChyZXN1bHQuZSkgcmVqZWN0KHJlc3VsdC52KTtcbiAgICByZXR1cm4gY2FwYWJpbGl0eS5wcm9taXNlO1xuICB9LFxuICAvLyAyNS40LjQuNCBQcm9taXNlLnJhY2UoaXRlcmFibGUpXG4gIHJhY2U6IGZ1bmN0aW9uIHJhY2UoaXRlcmFibGUpIHtcbiAgICB2YXIgQyA9IHRoaXM7XG4gICAgdmFyIGNhcGFiaWxpdHkgPSBuZXdQcm9taXNlQ2FwYWJpbGl0eShDKTtcbiAgICB2YXIgcmVqZWN0ID0gY2FwYWJpbGl0eS5yZWplY3Q7XG4gICAgdmFyIHJlc3VsdCA9IHBlcmZvcm0oZnVuY3Rpb24gKCkge1xuICAgICAgZm9yT2YoaXRlcmFibGUsIGZhbHNlLCBmdW5jdGlvbiAocHJvbWlzZSkge1xuICAgICAgICBDLnJlc29sdmUocHJvbWlzZSkudGhlbihjYXBhYmlsaXR5LnJlc29sdmUsIHJlamVjdCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBpZiAocmVzdWx0LmUpIHJlamVjdChyZXN1bHQudik7XG4gICAgcmV0dXJuIGNhcGFiaWxpdHkucHJvbWlzZTtcbiAgfVxufSk7XG5cblxuLyoqKi8gfSksXG4vKiA0MzEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIENvbnN0cnVjdG9yLCBuYW1lLCBmb3JiaWRkZW5GaWVsZCkge1xuICBpZiAoIShpdCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSB8fCAoZm9yYmlkZGVuRmllbGQgIT09IHVuZGVmaW5lZCAmJiBmb3JiaWRkZW5GaWVsZCBpbiBpdCkpIHtcbiAgICB0aHJvdyBUeXBlRXJyb3IobmFtZSArICc6IGluY29ycmVjdCBpbnZvY2F0aW9uIScpO1xuICB9IHJldHVybiBpdDtcbn07XG5cblxuLyoqKi8gfSksXG4vKiA0MzIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxudmFyIGN0eCA9IF9fd2VicGFja19yZXF1aXJlX18oNDIpO1xudmFyIGNhbGwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEwMik7XG52YXIgaXNBcnJheUl0ZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEwMyk7XG52YXIgYW5PYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE5KTtcbnZhciB0b0xlbmd0aCA9IF9fd2VicGFja19yZXF1aXJlX18oNjApO1xudmFyIGdldEl0ZXJGbiA9IF9fd2VicGFja19yZXF1aXJlX18oNjgpO1xudmFyIEJSRUFLID0ge307XG52YXIgUkVUVVJOID0ge307XG52YXIgZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0ZXJhYmxlLCBlbnRyaWVzLCBmbiwgdGhhdCwgSVRFUkFUT1IpIHtcbiAgdmFyIGl0ZXJGbiA9IElURVJBVE9SID8gZnVuY3Rpb24gKCkgeyByZXR1cm4gaXRlcmFibGU7IH0gOiBnZXRJdGVyRm4oaXRlcmFibGUpO1xuICB2YXIgZiA9IGN0eChmbiwgdGhhdCwgZW50cmllcyA/IDIgOiAxKTtcbiAgdmFyIGluZGV4ID0gMDtcbiAgdmFyIGxlbmd0aCwgc3RlcCwgaXRlcmF0b3IsIHJlc3VsdDtcbiAgaWYgKHR5cGVvZiBpdGVyRm4gIT0gJ2Z1bmN0aW9uJykgdGhyb3cgVHlwZUVycm9yKGl0ZXJhYmxlICsgJyBpcyBub3QgaXRlcmFibGUhJyk7XG4gIC8vIGZhc3QgY2FzZSBmb3IgYXJyYXlzIHdpdGggZGVmYXVsdCBpdGVyYXRvclxuICBpZiAoaXNBcnJheUl0ZXIoaXRlckZuKSkgZm9yIChsZW5ndGggPSB0b0xlbmd0aChpdGVyYWJsZS5sZW5ndGgpOyBsZW5ndGggPiBpbmRleDsgaW5kZXgrKykge1xuICAgIHJlc3VsdCA9IGVudHJpZXMgPyBmKGFuT2JqZWN0KHN0ZXAgPSBpdGVyYWJsZVtpbmRleF0pWzBdLCBzdGVwWzFdKSA6IGYoaXRlcmFibGVbaW5kZXhdKTtcbiAgICBpZiAocmVzdWx0ID09PSBCUkVBSyB8fCByZXN1bHQgPT09IFJFVFVSTikgcmV0dXJuIHJlc3VsdDtcbiAgfSBlbHNlIGZvciAoaXRlcmF0b3IgPSBpdGVyRm4uY2FsbChpdGVyYWJsZSk7ICEoc3RlcCA9IGl0ZXJhdG9yLm5leHQoKSkuZG9uZTspIHtcbiAgICByZXN1bHQgPSBjYWxsKGl0ZXJhdG9yLCBmLCBzdGVwLnZhbHVlLCBlbnRyaWVzKTtcbiAgICBpZiAocmVzdWx0ID09PSBCUkVBSyB8fCByZXN1bHQgPT09IFJFVFVSTikgcmV0dXJuIHJlc3VsdDtcbiAgfVxufTtcbmV4cG9ydHMuQlJFQUsgPSBCUkVBSztcbmV4cG9ydHMuUkVUVVJOID0gUkVUVVJOO1xuXG5cbi8qKiovIH0pLFxuLyogNDMzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cbi8vIGZhc3QgYXBwbHksIGh0dHA6Ly9qc3BlcmYubG5raXQuY29tL2Zhc3QtYXBwbHkvNVxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoZm4sIGFyZ3MsIHRoYXQpIHtcbiAgdmFyIHVuID0gdGhhdCA9PT0gdW5kZWZpbmVkO1xuICBzd2l0Y2ggKGFyZ3MubGVuZ3RoKSB7XG4gICAgY2FzZSAwOiByZXR1cm4gdW4gPyBmbigpXG4gICAgICAgICAgICAgICAgICAgICAgOiBmbi5jYWxsKHRoYXQpO1xuICAgIGNhc2UgMTogcmV0dXJuIHVuID8gZm4oYXJnc1swXSlcbiAgICAgICAgICAgICAgICAgICAgICA6IGZuLmNhbGwodGhhdCwgYXJnc1swXSk7XG4gICAgY2FzZSAyOiByZXR1cm4gdW4gPyBmbihhcmdzWzBdLCBhcmdzWzFdKVxuICAgICAgICAgICAgICAgICAgICAgIDogZm4uY2FsbCh0aGF0LCBhcmdzWzBdLCBhcmdzWzFdKTtcbiAgICBjYXNlIDM6IHJldHVybiB1biA/IGZuKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0pXG4gICAgICAgICAgICAgICAgICAgICAgOiBmbi5jYWxsKHRoYXQsIGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0pO1xuICAgIGNhc2UgNDogcmV0dXJuIHVuID8gZm4oYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSwgYXJnc1szXSlcbiAgICAgICAgICAgICAgICAgICAgICA6IGZuLmNhbGwodGhhdCwgYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSwgYXJnc1szXSk7XG4gIH0gcmV0dXJuIGZuLmFwcGx5KHRoYXQsIGFyZ3MpO1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDQzNCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG52YXIgZ2xvYmFsID0gX193ZWJwYWNrX3JlcXVpcmVfXyg5KTtcbnZhciBtYWNyb3Rhc2sgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE3Nykuc2V0O1xudmFyIE9ic2VydmVyID0gZ2xvYmFsLk11dGF0aW9uT2JzZXJ2ZXIgfHwgZ2xvYmFsLldlYktpdE11dGF0aW9uT2JzZXJ2ZXI7XG52YXIgcHJvY2VzcyA9IGdsb2JhbC5wcm9jZXNzO1xudmFyIFByb21pc2UgPSBnbG9iYWwuUHJvbWlzZTtcbnZhciBpc05vZGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQxKShwcm9jZXNzKSA9PSAncHJvY2Vzcyc7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKCkge1xuICB2YXIgaGVhZCwgbGFzdCwgbm90aWZ5O1xuXG4gIHZhciBmbHVzaCA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgcGFyZW50LCBmbjtcbiAgICBpZiAoaXNOb2RlICYmIChwYXJlbnQgPSBwcm9jZXNzLmRvbWFpbikpIHBhcmVudC5leGl0KCk7XG4gICAgd2hpbGUgKGhlYWQpIHtcbiAgICAgIGZuID0gaGVhZC5mbjtcbiAgICAgIGhlYWQgPSBoZWFkLm5leHQ7XG4gICAgICB0cnkge1xuICAgICAgICBmbigpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBpZiAoaGVhZCkgbm90aWZ5KCk7XG4gICAgICAgIGVsc2UgbGFzdCA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9IGxhc3QgPSB1bmRlZmluZWQ7XG4gICAgaWYgKHBhcmVudCkgcGFyZW50LmVudGVyKCk7XG4gIH07XG5cbiAgLy8gTm9kZS5qc1xuICBpZiAoaXNOb2RlKSB7XG4gICAgbm90aWZ5ID0gZnVuY3Rpb24gKCkge1xuICAgICAgcHJvY2Vzcy5uZXh0VGljayhmbHVzaCk7XG4gICAgfTtcbiAgLy8gYnJvd3NlcnMgd2l0aCBNdXRhdGlvbk9ic2VydmVyLCBleGNlcHQgaU9TIFNhZmFyaSAtIGh0dHBzOi8vZ2l0aHViLmNvbS96bG9pcm9jay9jb3JlLWpzL2lzc3Vlcy8zMzlcbiAgfSBlbHNlIGlmIChPYnNlcnZlciAmJiAhKGdsb2JhbC5uYXZpZ2F0b3IgJiYgZ2xvYmFsLm5hdmlnYXRvci5zdGFuZGFsb25lKSkge1xuICAgIHZhciB0b2dnbGUgPSB0cnVlO1xuICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJycpO1xuICAgIG5ldyBPYnNlcnZlcihmbHVzaCkub2JzZXJ2ZShub2RlLCB7IGNoYXJhY3RlckRhdGE6IHRydWUgfSk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tbmV3XG4gICAgbm90aWZ5ID0gZnVuY3Rpb24gKCkge1xuICAgICAgbm9kZS5kYXRhID0gdG9nZ2xlID0gIXRvZ2dsZTtcbiAgICB9O1xuICAvLyBlbnZpcm9ubWVudHMgd2l0aCBtYXliZSBub24tY29tcGxldGVseSBjb3JyZWN0LCBidXQgZXhpc3RlbnQgUHJvbWlzZVxuICB9IGVsc2UgaWYgKFByb21pc2UgJiYgUHJvbWlzZS5yZXNvbHZlKSB7XG4gICAgdmFyIHByb21pc2UgPSBQcm9taXNlLnJlc29sdmUoKTtcbiAgICBub3RpZnkgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBwcm9taXNlLnRoZW4oZmx1c2gpO1xuICAgIH07XG4gIC8vIGZvciBvdGhlciBlbnZpcm9ubWVudHMgLSBtYWNyb3Rhc2sgYmFzZWQgb246XG4gIC8vIC0gc2V0SW1tZWRpYXRlXG4gIC8vIC0gTWVzc2FnZUNoYW5uZWxcbiAgLy8gLSB3aW5kb3cucG9zdE1lc3NhZ1xuICAvLyAtIG9ucmVhZHlzdGF0ZWNoYW5nZVxuICAvLyAtIHNldFRpbWVvdXRcbiAgfSBlbHNlIHtcbiAgICBub3RpZnkgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyBzdHJhbmdlIElFICsgd2VicGFjayBkZXYgc2VydmVyIGJ1ZyAtIHVzZSAuY2FsbChnbG9iYWwpXG4gICAgICBtYWNyb3Rhc2suY2FsbChnbG9iYWwsIGZsdXNoKTtcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIGZ1bmN0aW9uIChmbikge1xuICAgIHZhciB0YXNrID0geyBmbjogZm4sIG5leHQ6IHVuZGVmaW5lZCB9O1xuICAgIGlmIChsYXN0KSBsYXN0Lm5leHQgPSB0YXNrO1xuICAgIGlmICghaGVhZCkge1xuICAgICAgaGVhZCA9IHRhc2s7XG4gICAgICBub3RpZnkoKTtcbiAgICB9IGxhc3QgPSB0YXNrO1xuICB9O1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDQzNSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG52YXIgaGlkZSA9IF9fd2VicGFja19yZXF1aXJlX18oMjcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAodGFyZ2V0LCBzcmMsIHNhZmUpIHtcbiAgZm9yICh2YXIga2V5IGluIHNyYykge1xuICAgIGlmIChzYWZlICYmIHRhcmdldFtrZXldKSB0YXJnZXRba2V5XSA9IHNyY1trZXldO1xuICAgIGVsc2UgaGlkZSh0YXJnZXQsIGtleSwgc3JjW2tleV0pO1xuICB9IHJldHVybiB0YXJnZXQ7XG59O1xuXG5cbi8qKiovIH0pLFxuLyogNDM2ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG52YXIgZ2xvYmFsID0gX193ZWJwYWNrX3JlcXVpcmVfXyg5KTtcbnZhciBjb3JlID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2KTtcbnZhciBkUCA9IF9fd2VicGFja19yZXF1aXJlX18oMTgpO1xudmFyIERFU0NSSVBUT1JTID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMik7XG52YXIgU1BFQ0lFUyA9IF9fd2VicGFja19yZXF1aXJlX18oMTEpKCdzcGVjaWVzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKEtFWSkge1xuICB2YXIgQyA9IHR5cGVvZiBjb3JlW0tFWV0gPT0gJ2Z1bmN0aW9uJyA/IGNvcmVbS0VZXSA6IGdsb2JhbFtLRVldO1xuICBpZiAoREVTQ1JJUFRPUlMgJiYgQyAmJiAhQ1tTUEVDSUVTXSkgZFAuZihDLCBTUEVDSUVTLCB7XG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfVxuICB9KTtcbn07XG5cblxuLyoqKi8gfSksXG4vKiA0MzcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG4vLyBodHRwczovL2dpdGh1Yi5jb20vdGMzOS9wcm9wb3NhbC1wcm9taXNlLWZpbmFsbHlcblxudmFyICRleHBvcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEwKTtcbnZhciBjb3JlID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2KTtcbnZhciBnbG9iYWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDkpO1xudmFyIHNwZWNpZXNDb25zdHJ1Y3RvciA9IF9fd2VicGFja19yZXF1aXJlX18oMTc2KTtcbnZhciBwcm9taXNlUmVzb2x2ZSA9IF9fd2VicGFja19yZXF1aXJlX18oMTc5KTtcblxuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LlIsICdQcm9taXNlJywgeyAnZmluYWxseSc6IGZ1bmN0aW9uIChvbkZpbmFsbHkpIHtcbiAgdmFyIEMgPSBzcGVjaWVzQ29uc3RydWN0b3IodGhpcywgY29yZS5Qcm9taXNlIHx8IGdsb2JhbC5Qcm9taXNlKTtcbiAgdmFyIGlzRnVuY3Rpb24gPSB0eXBlb2Ygb25GaW5hbGx5ID09ICdmdW5jdGlvbic7XG4gIHJldHVybiB0aGlzLnRoZW4oXG4gICAgaXNGdW5jdGlvbiA/IGZ1bmN0aW9uICh4KSB7XG4gICAgICByZXR1cm4gcHJvbWlzZVJlc29sdmUoQywgb25GaW5hbGx5KCkpLnRoZW4oZnVuY3Rpb24gKCkgeyByZXR1cm4geDsgfSk7XG4gICAgfSA6IG9uRmluYWxseSxcbiAgICBpc0Z1bmN0aW9uID8gZnVuY3Rpb24gKGUpIHtcbiAgICAgIHJldHVybiBwcm9taXNlUmVzb2x2ZShDLCBvbkZpbmFsbHkoKSkudGhlbihmdW5jdGlvbiAoKSB7IHRocm93IGU7IH0pO1xuICAgIH0gOiBvbkZpbmFsbHlcbiAgKTtcbn0gfSk7XG5cblxuLyoqKi8gfSksXG4vKiA0MzggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90YzM5L3Byb3Bvc2FsLXByb21pc2UtdHJ5XG52YXIgJGV4cG9ydCA9IF9fd2VicGFja19yZXF1aXJlX18oMTApO1xudmFyIG5ld1Byb21pc2VDYXBhYmlsaXR5ID0gX193ZWJwYWNrX3JlcXVpcmVfXyg4MCk7XG52YXIgcGVyZm9ybSA9IF9fd2VicGFja19yZXF1aXJlX18oMTc4KTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdQcm9taXNlJywgeyAndHJ5JzogZnVuY3Rpb24gKGNhbGxiYWNrZm4pIHtcbiAgdmFyIHByb21pc2VDYXBhYmlsaXR5ID0gbmV3UHJvbWlzZUNhcGFiaWxpdHkuZih0aGlzKTtcbiAgdmFyIHJlc3VsdCA9IHBlcmZvcm0oY2FsbGJhY2tmbik7XG4gIChyZXN1bHQuZSA/IHByb21pc2VDYXBhYmlsaXR5LnJlamVjdCA6IHByb21pc2VDYXBhYmlsaXR5LnJlc29sdmUpKHJlc3VsdC52KTtcbiAgcmV0dXJuIHByb21pc2VDYXBhYmlsaXR5LnByb21pc2U7XG59IH0pO1xuXG5cbi8qKiovIH0pLFxuLyogNDM5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZm9ybScsIHsgY2xhc3M6IF92bS5jbGFzc2VzLCBhdHRyczogeyBcImF1dG9jb21wbGV0ZVwiOiBfdm0uYXV0b2NvbXBsZXRlIH0gfSwgW192bS5fdChcImRlZmF1bHRcIildLCAyKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDQ0MCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9mb3JtX2l0ZW1fdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE4MCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZm9ybV9pdGVtX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZm9ybV9pdGVtX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfZm9ybV9pdGVtX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9mb3JtX2l0ZW1fdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMjEzYzhmM2FfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9mb3JtX2l0ZW1fdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ2Myk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMjEzYzhmM2FfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9mb3JtX2l0ZW1fdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8yMTNjOGYzYV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2Zvcm1faXRlbV92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9mb3JtX2l0ZW1fdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8yMTNjOGYzYV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2Zvcm1faXRlbV92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMjEzYzhmM2FfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9mb3JtX2l0ZW1fdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDQ0MSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTsgZm9yICh2YXIga2V5IGluIHNvdXJjZSkgeyBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkgeyB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldOyB9IH0gfSByZXR1cm4gdGFyZ2V0OyB9O1xuXG52YXIgX3R5cGVvZiA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiID8gZnVuY3Rpb24gKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfSA6IGZ1bmN0aW9uIChvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07XG5cbnZhciBfdXRpbCA9IF9fd2VicGFja19yZXF1aXJlX18oNyk7XG5cbnZhciBfdmFsaWRhdG9yID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0NDIpO1xuXG52YXIgX3ZhbGlkYXRvcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF92YWxpZGF0b3IpO1xuXG52YXIgX21lc3NhZ2VzMiA9IF9fd2VicGFja19yZXF1aXJlX18oNDYyKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgJ2RlZmF1bHQnOiBvYmogfTsgfVxuXG4vKipcbiAqICBFbmNhcHN1bGF0ZXMgYSB2YWxpZGF0aW9uIHNjaGVtYS5cbiAqXG4gKiAgQHBhcmFtIGRlc2NyaXB0b3IgQW4gb2JqZWN0IGRlY2xhcmluZyB2YWxpZGF0aW9uIHJ1bGVzXG4gKiAgZm9yIHRoaXMgc2NoZW1hLlxuICovXG5mdW5jdGlvbiBTY2hlbWEoZGVzY3JpcHRvcikge1xuICB0aGlzLnJ1bGVzID0gbnVsbDtcbiAgdGhpcy5fbWVzc2FnZXMgPSBfbWVzc2FnZXMyLm1lc3NhZ2VzO1xuICB0aGlzLmRlZmluZShkZXNjcmlwdG9yKTtcbn1cblxuU2NoZW1hLnByb3RvdHlwZSA9IHtcbiAgbWVzc2FnZXM6IGZ1bmN0aW9uIG1lc3NhZ2VzKF9tZXNzYWdlcykge1xuICAgIGlmIChfbWVzc2FnZXMpIHtcbiAgICAgIHRoaXMuX21lc3NhZ2VzID0gKDAsIF91dGlsLmRlZXBNZXJnZSkoKDAsIF9tZXNzYWdlczIubmV3TWVzc2FnZXMpKCksIF9tZXNzYWdlcyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9tZXNzYWdlcztcbiAgfSxcbiAgZGVmaW5lOiBmdW5jdGlvbiBkZWZpbmUocnVsZXMpIHtcbiAgICBpZiAoIXJ1bGVzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjb25maWd1cmUgYSBzY2hlbWEgd2l0aCBubyBydWxlcycpO1xuICAgIH1cbiAgICBpZiAoKHR5cGVvZiBydWxlcyA9PT0gJ3VuZGVmaW5lZCcgPyAndW5kZWZpbmVkJyA6IF90eXBlb2YocnVsZXMpKSAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheShydWxlcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUnVsZXMgbXVzdCBiZSBhbiBvYmplY3QnKTtcbiAgICB9XG4gICAgdGhpcy5ydWxlcyA9IHt9O1xuICAgIHZhciB6ID0gdm9pZCAwO1xuICAgIHZhciBpdGVtID0gdm9pZCAwO1xuICAgIGZvciAoeiBpbiBydWxlcykge1xuICAgICAgaWYgKHJ1bGVzLmhhc093blByb3BlcnR5KHopKSB7XG4gICAgICAgIGl0ZW0gPSBydWxlc1t6XTtcbiAgICAgICAgdGhpcy5ydWxlc1t6XSA9IEFycmF5LmlzQXJyYXkoaXRlbSkgPyBpdGVtIDogW2l0ZW1dO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgdmFsaWRhdGU6IGZ1bmN0aW9uIHZhbGlkYXRlKHNvdXJjZV8pIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgdmFyIG8gPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuICAgIHZhciBvYyA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogZnVuY3Rpb24gKCkge307XG5cbiAgICB2YXIgc291cmNlID0gc291cmNlXztcbiAgICB2YXIgb3B0aW9ucyA9IG87XG4gICAgdmFyIGNhbGxiYWNrID0gb2M7XG4gICAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjYWxsYmFjayA9IG9wdGlvbnM7XG4gICAgICBvcHRpb25zID0ge307XG4gICAgfVxuICAgIGlmICghdGhpcy5ydWxlcyB8fCBPYmplY3Qua2V5cyh0aGlzLnJ1bGVzKS5sZW5ndGggPT09IDApIHtcbiAgICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgICBjYWxsYmFjaygpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNvbXBsZXRlKHJlc3VsdHMpIHtcbiAgICAgIHZhciBpID0gdm9pZCAwO1xuICAgICAgdmFyIGVycm9ycyA9IFtdO1xuICAgICAgdmFyIGZpZWxkcyA9IHt9O1xuXG4gICAgICBmdW5jdGlvbiBhZGQoZSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShlKSkge1xuICAgICAgICAgIHZhciBfZXJyb3JzO1xuXG4gICAgICAgICAgZXJyb3JzID0gKF9lcnJvcnMgPSBlcnJvcnMpLmNvbmNhdC5hcHBseShfZXJyb3JzLCBlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBlcnJvcnMucHVzaChlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgcmVzdWx0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICBhZGQocmVzdWx0c1tpXSk7XG4gICAgICB9XG4gICAgICBpZiAoIWVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgZXJyb3JzID0gbnVsbDtcbiAgICAgICAgZmllbGRzID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZpZWxkcyA9ICgwLCBfdXRpbC5jb252ZXJ0RmllbGRzRXJyb3IpKGVycm9ycyk7XG4gICAgICB9XG4gICAgICBjYWxsYmFjayhlcnJvcnMsIGZpZWxkcyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMubWVzc2FnZXMpIHtcbiAgICAgIHZhciBtZXNzYWdlcyA9IHRoaXMubWVzc2FnZXMoKTtcbiAgICAgIGlmIChtZXNzYWdlcyA9PT0gX21lc3NhZ2VzMi5tZXNzYWdlcykge1xuICAgICAgICBtZXNzYWdlcyA9ICgwLCBfbWVzc2FnZXMyLm5ld01lc3NhZ2VzKSgpO1xuICAgICAgfVxuICAgICAgKDAsIF91dGlsLmRlZXBNZXJnZSkobWVzc2FnZXMsIG9wdGlvbnMubWVzc2FnZXMpO1xuICAgICAgb3B0aW9ucy5tZXNzYWdlcyA9IG1lc3NhZ2VzO1xuICAgIH0gZWxzZSB7XG4gICAgICBvcHRpb25zLm1lc3NhZ2VzID0gdGhpcy5tZXNzYWdlcygpO1xuICAgIH1cbiAgICB2YXIgYXJyID0gdm9pZCAwO1xuICAgIHZhciB2YWx1ZSA9IHZvaWQgMDtcbiAgICB2YXIgc2VyaWVzID0ge307XG4gICAgdmFyIGtleXMgPSBvcHRpb25zLmtleXMgfHwgT2JqZWN0LmtleXModGhpcy5ydWxlcyk7XG4gICAga2V5cy5mb3JFYWNoKGZ1bmN0aW9uICh6KSB7XG4gICAgICBhcnIgPSBfdGhpcy5ydWxlc1t6XTtcbiAgICAgIHZhbHVlID0gc291cmNlW3pdO1xuICAgICAgYXJyLmZvckVhY2goZnVuY3Rpb24gKHIpIHtcbiAgICAgICAgdmFyIHJ1bGUgPSByO1xuICAgICAgICBpZiAodHlwZW9mIHJ1bGUudHJhbnNmb3JtID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgaWYgKHNvdXJjZSA9PT0gc291cmNlXykge1xuICAgICAgICAgICAgc291cmNlID0gX2V4dGVuZHMoe30sIHNvdXJjZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhbHVlID0gc291cmNlW3pdID0gcnVsZS50cmFuc2Zvcm0odmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgcnVsZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIHJ1bGUgPSB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IHJ1bGVcbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJ1bGUgPSBfZXh0ZW5kcyh7fSwgcnVsZSk7XG4gICAgICAgIH1cbiAgICAgICAgcnVsZS52YWxpZGF0b3IgPSBfdGhpcy5nZXRWYWxpZGF0aW9uTWV0aG9kKHJ1bGUpO1xuICAgICAgICBydWxlLmZpZWxkID0gejtcbiAgICAgICAgcnVsZS5mdWxsRmllbGQgPSBydWxlLmZ1bGxGaWVsZCB8fCB6O1xuICAgICAgICBydWxlLnR5cGUgPSBfdGhpcy5nZXRUeXBlKHJ1bGUpO1xuICAgICAgICBpZiAoIXJ1bGUudmFsaWRhdG9yKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNlcmllc1t6XSA9IHNlcmllc1t6XSB8fCBbXTtcbiAgICAgICAgc2VyaWVzW3pdLnB1c2goe1xuICAgICAgICAgIHJ1bGU6IHJ1bGUsXG4gICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgIHNvdXJjZTogc291cmNlLFxuICAgICAgICAgIGZpZWxkOiB6XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgdmFyIGVycm9yRmllbGRzID0ge307XG4gICAgcmV0dXJuICgwLCBfdXRpbC5hc3luY01hcCkoc2VyaWVzLCBvcHRpb25zLCBmdW5jdGlvbiAoZGF0YSwgZG9JdCkge1xuICAgICAgdmFyIHJ1bGUgPSBkYXRhLnJ1bGU7XG4gICAgICB2YXIgZGVlcCA9IChydWxlLnR5cGUgPT09ICdvYmplY3QnIHx8IHJ1bGUudHlwZSA9PT0gJ2FycmF5JykgJiYgKF90eXBlb2YocnVsZS5maWVsZHMpID09PSAnb2JqZWN0JyB8fCBfdHlwZW9mKHJ1bGUuZGVmYXVsdEZpZWxkKSA9PT0gJ29iamVjdCcpO1xuICAgICAgZGVlcCA9IGRlZXAgJiYgKHJ1bGUucmVxdWlyZWQgfHwgIXJ1bGUucmVxdWlyZWQgJiYgZGF0YS52YWx1ZSk7XG4gICAgICBydWxlLmZpZWxkID0gZGF0YS5maWVsZDtcblxuICAgICAgZnVuY3Rpb24gYWRkRnVsbGZpZWxkKGtleSwgc2NoZW1hKSB7XG4gICAgICAgIHJldHVybiBfZXh0ZW5kcyh7fSwgc2NoZW1hLCB7XG4gICAgICAgICAgZnVsbEZpZWxkOiBydWxlLmZ1bGxGaWVsZCArICcuJyArIGtleVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gY2IoKSB7XG4gICAgICAgIHZhciBlID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiBbXTtcblxuICAgICAgICB2YXIgZXJyb3JzID0gZTtcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGVycm9ycykpIHtcbiAgICAgICAgICBlcnJvcnMgPSBbZXJyb3JzXTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIW9wdGlvbnMuc3VwcHJlc3NXYXJuaW5nICYmIGVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgICBTY2hlbWEud2FybmluZygnYXN5bmMtdmFsaWRhdG9yOicsIGVycm9ycyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9ycy5sZW5ndGggJiYgcnVsZS5tZXNzYWdlKSB7XG4gICAgICAgICAgZXJyb3JzID0gW10uY29uY2F0KHJ1bGUubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICBlcnJvcnMgPSBlcnJvcnMubWFwKCgwLCBfdXRpbC5jb21wbGVtZW50RXJyb3IpKHJ1bGUpKTtcblxuICAgICAgICBpZiAob3B0aW9ucy5maXJzdCAmJiBlcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgZXJyb3JGaWVsZHNbcnVsZS5maWVsZF0gPSAxO1xuICAgICAgICAgIHJldHVybiBkb0l0KGVycm9ycyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFkZWVwKSB7XG4gICAgICAgICAgZG9JdChlcnJvcnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIGlmIHJ1bGUgaXMgcmVxdWlyZWQgYnV0IHRoZSB0YXJnZXQgb2JqZWN0XG4gICAgICAgICAgLy8gZG9lcyBub3QgZXhpc3QgZmFpbCBhdCB0aGUgcnVsZSBsZXZlbCBhbmQgZG9uJ3RcbiAgICAgICAgICAvLyBnbyBkZWVwZXJcbiAgICAgICAgICBpZiAocnVsZS5yZXF1aXJlZCAmJiAhZGF0YS52YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHJ1bGUubWVzc2FnZSkge1xuICAgICAgICAgICAgICBlcnJvcnMgPSBbXS5jb25jYXQocnVsZS5tZXNzYWdlKS5tYXAoKDAsIF91dGlsLmNvbXBsZW1lbnRFcnJvcikocnVsZSkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChvcHRpb25zLmVycm9yKSB7XG4gICAgICAgICAgICAgIGVycm9ycyA9IFtvcHRpb25zLmVycm9yKHJ1bGUsICgwLCBfdXRpbC5mb3JtYXQpKG9wdGlvbnMubWVzc2FnZXMucmVxdWlyZWQsIHJ1bGUuZmllbGQpKV07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBlcnJvcnMgPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBkb0l0KGVycm9ycyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIGZpZWxkc1NjaGVtYSA9IHt9O1xuICAgICAgICAgIGlmIChydWxlLmRlZmF1bHRGaWVsZCkge1xuICAgICAgICAgICAgZm9yICh2YXIgayBpbiBkYXRhLnZhbHVlKSB7XG4gICAgICAgICAgICAgIGlmIChkYXRhLnZhbHVlLmhhc093blByb3BlcnR5KGspKSB7XG4gICAgICAgICAgICAgICAgZmllbGRzU2NoZW1hW2tdID0gcnVsZS5kZWZhdWx0RmllbGQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgZmllbGRzU2NoZW1hID0gX2V4dGVuZHMoe30sIGZpZWxkc1NjaGVtYSwgZGF0YS5ydWxlLmZpZWxkcyk7XG4gICAgICAgICAgZm9yICh2YXIgZiBpbiBmaWVsZHNTY2hlbWEpIHtcbiAgICAgICAgICAgIGlmIChmaWVsZHNTY2hlbWEuaGFzT3duUHJvcGVydHkoZikpIHtcbiAgICAgICAgICAgICAgdmFyIGZpZWxkU2NoZW1hID0gQXJyYXkuaXNBcnJheShmaWVsZHNTY2hlbWFbZl0pID8gZmllbGRzU2NoZW1hW2ZdIDogW2ZpZWxkc1NjaGVtYVtmXV07XG4gICAgICAgICAgICAgIGZpZWxkc1NjaGVtYVtmXSA9IGZpZWxkU2NoZW1hLm1hcChhZGRGdWxsZmllbGQuYmluZChudWxsLCBmKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciBzY2hlbWEgPSBuZXcgU2NoZW1hKGZpZWxkc1NjaGVtYSk7XG4gICAgICAgICAgc2NoZW1hLm1lc3NhZ2VzKG9wdGlvbnMubWVzc2FnZXMpO1xuICAgICAgICAgIGlmIChkYXRhLnJ1bGUub3B0aW9ucykge1xuICAgICAgICAgICAgZGF0YS5ydWxlLm9wdGlvbnMubWVzc2FnZXMgPSBvcHRpb25zLm1lc3NhZ2VzO1xuICAgICAgICAgICAgZGF0YS5ydWxlLm9wdGlvbnMuZXJyb3IgPSBvcHRpb25zLmVycm9yO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzY2hlbWEudmFsaWRhdGUoZGF0YS52YWx1ZSwgZGF0YS5ydWxlLm9wdGlvbnMgfHwgb3B0aW9ucywgZnVuY3Rpb24gKGVycnMpIHtcbiAgICAgICAgICAgIHZhciBmaW5hbEVycm9ycyA9IFtdO1xuICAgICAgICAgICAgaWYgKGVycm9ycyAmJiBlcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGZpbmFsRXJyb3JzLnB1c2guYXBwbHkoZmluYWxFcnJvcnMsIGVycm9ycyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZXJycyAmJiBlcnJzLmxlbmd0aCkge1xuICAgICAgICAgICAgICBmaW5hbEVycm9ycy5wdXNoLmFwcGx5KGZpbmFsRXJyb3JzLCBlcnJzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRvSXQoZmluYWxFcnJvcnMubGVuZ3RoID8gZmluYWxFcnJvcnMgOiBudWxsKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB2YXIgcmVzID0gdm9pZCAwO1xuICAgICAgaWYgKHJ1bGUuYXN5bmNWYWxpZGF0b3IpIHtcbiAgICAgICAgcmVzID0gcnVsZS5hc3luY1ZhbGlkYXRvcihydWxlLCBkYXRhLnZhbHVlLCBjYiwgZGF0YS5zb3VyY2UsIG9wdGlvbnMpO1xuICAgICAgfSBlbHNlIGlmIChydWxlLnZhbGlkYXRvcikge1xuICAgICAgICByZXMgPSBydWxlLnZhbGlkYXRvcihydWxlLCBkYXRhLnZhbHVlLCBjYiwgZGF0YS5zb3VyY2UsIG9wdGlvbnMpO1xuICAgICAgICBpZiAocmVzID09PSB0cnVlKSB7XG4gICAgICAgICAgY2IoKTtcbiAgICAgICAgfSBlbHNlIGlmIChyZXMgPT09IGZhbHNlKSB7XG4gICAgICAgICAgY2IocnVsZS5tZXNzYWdlIHx8IHJ1bGUuZmllbGQgKyAnIGZhaWxzJyk7XG4gICAgICAgIH0gZWxzZSBpZiAocmVzIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICBjYihyZXMpO1xuICAgICAgICB9IGVsc2UgaWYgKHJlcyBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgY2IocmVzLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAocmVzICYmIHJlcy50aGVuKSB7XG4gICAgICAgIHJlcy50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gY2IoKTtcbiAgICAgICAgfSwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICByZXR1cm4gY2IoZSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sIGZ1bmN0aW9uIChyZXN1bHRzKSB7XG4gICAgICBjb21wbGV0ZShyZXN1bHRzKTtcbiAgICB9KTtcbiAgfSxcbiAgZ2V0VHlwZTogZnVuY3Rpb24gZ2V0VHlwZShydWxlKSB7XG4gICAgaWYgKHJ1bGUudHlwZSA9PT0gdW5kZWZpbmVkICYmIHJ1bGUucGF0dGVybiBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgICAgcnVsZS50eXBlID0gJ3BhdHRlcm4nO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHJ1bGUudmFsaWRhdG9yICE9PSAnZnVuY3Rpb24nICYmIHJ1bGUudHlwZSAmJiAhX3ZhbGlkYXRvcjJbJ2RlZmF1bHQnXS5oYXNPd25Qcm9wZXJ0eShydWxlLnR5cGUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoKDAsIF91dGlsLmZvcm1hdCkoJ1Vua25vd24gcnVsZSB0eXBlICVzJywgcnVsZS50eXBlKSk7XG4gICAgfVxuICAgIHJldHVybiBydWxlLnR5cGUgfHwgJ3N0cmluZyc7XG4gIH0sXG4gIGdldFZhbGlkYXRpb25NZXRob2Q6IGZ1bmN0aW9uIGdldFZhbGlkYXRpb25NZXRob2QocnVsZSkge1xuICAgIGlmICh0eXBlb2YgcnVsZS52YWxpZGF0b3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiBydWxlLnZhbGlkYXRvcjtcbiAgICB9XG4gICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhydWxlKTtcbiAgICB2YXIgbWVzc2FnZUluZGV4ID0ga2V5cy5pbmRleE9mKCdtZXNzYWdlJyk7XG4gICAgaWYgKG1lc3NhZ2VJbmRleCAhPT0gLTEpIHtcbiAgICAgIGtleXMuc3BsaWNlKG1lc3NhZ2VJbmRleCwgMSk7XG4gICAgfVxuICAgIGlmIChrZXlzLmxlbmd0aCA9PT0gMSAmJiBrZXlzWzBdID09PSAncmVxdWlyZWQnKSB7XG4gICAgICByZXR1cm4gX3ZhbGlkYXRvcjJbJ2RlZmF1bHQnXS5yZXF1aXJlZDtcbiAgICB9XG4gICAgcmV0dXJuIF92YWxpZGF0b3IyWydkZWZhdWx0J11bdGhpcy5nZXRUeXBlKHJ1bGUpXSB8fCBmYWxzZTtcbiAgfVxufTtcblxuU2NoZW1hLnJlZ2lzdGVyID0gZnVuY3Rpb24gcmVnaXN0ZXIodHlwZSwgdmFsaWRhdG9yKSB7XG4gIGlmICh0eXBlb2YgdmFsaWRhdG9yICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcmVnaXN0ZXIgYSB2YWxpZGF0b3IgYnkgdHlwZSwgdmFsaWRhdG9yIGlzIG5vdCBhIGZ1bmN0aW9uJyk7XG4gIH1cbiAgX3ZhbGlkYXRvcjJbJ2RlZmF1bHQnXVt0eXBlXSA9IHZhbGlkYXRvcjtcbn07XG5cblNjaGVtYS53YXJuaW5nID0gX3V0aWwud2FybmluZztcblxuU2NoZW1hLm1lc3NhZ2VzID0gX21lc3NhZ2VzMi5tZXNzYWdlcztcblxuZXhwb3J0c1snZGVmYXVsdCddID0gU2NoZW1hO1xuXG4vKioqLyB9KSxcbi8qIDQ0MiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX3N0cmluZyA9IF9fd2VicGFja19yZXF1aXJlX18oNDQzKTtcblxudmFyIF9zdHJpbmcyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc3RyaW5nKTtcblxudmFyIF9tZXRob2QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ0OSk7XG5cbnZhciBfbWV0aG9kMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX21ldGhvZCk7XG5cbnZhciBfbnVtYmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0NTApO1xuXG52YXIgX251bWJlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9udW1iZXIpO1xuXG52YXIgX2Jvb2xlYW4gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ1MSk7XG5cbnZhciBfYm9vbGVhbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9ib29sZWFuKTtcblxudmFyIF9yZWdleHAgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ1Mik7XG5cbnZhciBfcmVnZXhwMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3JlZ2V4cCk7XG5cbnZhciBfaW50ZWdlciA9IF9fd2VicGFja19yZXF1aXJlX18oNDUzKTtcblxudmFyIF9pbnRlZ2VyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2ludGVnZXIpO1xuXG52YXIgX2Zsb2F0ID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0NTQpO1xuXG52YXIgX2Zsb2F0MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2Zsb2F0KTtcblxudmFyIF9hcnJheSA9IF9fd2VicGFja19yZXF1aXJlX18oNDU1KTtcblxudmFyIF9hcnJheTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hcnJheSk7XG5cbnZhciBfb2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0NTYpO1xuXG52YXIgX29iamVjdDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9vYmplY3QpO1xuXG52YXIgX2VudW0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ1Nyk7XG5cbnZhciBfZW51bTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9lbnVtKTtcblxudmFyIF9wYXR0ZXJuID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0NTgpO1xuXG52YXIgX3BhdHRlcm4yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcGF0dGVybik7XG5cbnZhciBfZGF0ZSA9IF9fd2VicGFja19yZXF1aXJlX18oNDU5KTtcblxudmFyIF9kYXRlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RhdGUpO1xuXG52YXIgX3JlcXVpcmVkID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0NjApO1xuXG52YXIgX3JlcXVpcmVkMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3JlcXVpcmVkKTtcblxudmFyIF90eXBlID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0NjEpO1xuXG52YXIgX3R5cGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdHlwZSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7ICdkZWZhdWx0Jzogb2JqIH07IH1cblxuZXhwb3J0c1snZGVmYXVsdCddID0ge1xuICBzdHJpbmc6IF9zdHJpbmcyWydkZWZhdWx0J10sXG4gIG1ldGhvZDogX21ldGhvZDJbJ2RlZmF1bHQnXSxcbiAgbnVtYmVyOiBfbnVtYmVyMlsnZGVmYXVsdCddLFxuICBib29sZWFuOiBfYm9vbGVhbjJbJ2RlZmF1bHQnXSxcbiAgcmVnZXhwOiBfcmVnZXhwMlsnZGVmYXVsdCddLFxuICBpbnRlZ2VyOiBfaW50ZWdlcjJbJ2RlZmF1bHQnXSxcbiAgZmxvYXQ6IF9mbG9hdDJbJ2RlZmF1bHQnXSxcbiAgYXJyYXk6IF9hcnJheTJbJ2RlZmF1bHQnXSxcbiAgb2JqZWN0OiBfb2JqZWN0MlsnZGVmYXVsdCddLFxuICAnZW51bSc6IF9lbnVtMlsnZGVmYXVsdCddLFxuICBwYXR0ZXJuOiBfcGF0dGVybjJbJ2RlZmF1bHQnXSxcbiAgZGF0ZTogX2RhdGUyWydkZWZhdWx0J10sXG4gIHVybDogX3R5cGUyWydkZWZhdWx0J10sXG4gIGhleDogX3R5cGUyWydkZWZhdWx0J10sXG4gIGVtYWlsOiBfdHlwZTJbJ2RlZmF1bHQnXSxcbiAgcmVxdWlyZWQ6IF9yZXF1aXJlZDJbJ2RlZmF1bHQnXVxufTtcblxuLyoqKi8gfSksXG4vKiA0NDMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9ydWxlID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMik7XG5cbnZhciBfcnVsZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9ydWxlKTtcblxudmFyIF91dGlsID0gX193ZWJwYWNrX3JlcXVpcmVfXyg3KTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgJ2RlZmF1bHQnOiBvYmogfTsgfVxuXG4vKipcbiAqICBQZXJmb3JtcyB2YWxpZGF0aW9uIGZvciBzdHJpbmcgdHlwZXMuXG4gKlxuICogIEBwYXJhbSBydWxlIFRoZSB2YWxpZGF0aW9uIHJ1bGUuXG4gKiAgQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBvZiB0aGUgZmllbGQgb24gdGhlIHNvdXJjZSBvYmplY3QuXG4gKiAgQHBhcmFtIGNhbGxiYWNrIFRoZSBjYWxsYmFjayBmdW5jdGlvbi5cbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cbiAqICBAcGFyYW0gb3B0aW9ucyBUaGUgdmFsaWRhdGlvbiBvcHRpb25zLlxuICogIEBwYXJhbSBvcHRpb25zLm1lc3NhZ2VzIFRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxuICovXG5mdW5jdGlvbiBzdHJpbmcocnVsZSwgdmFsdWUsIGNhbGxiYWNrLCBzb3VyY2UsIG9wdGlvbnMpIHtcbiAgdmFyIGVycm9ycyA9IFtdO1xuICB2YXIgdmFsaWRhdGUgPSBydWxlLnJlcXVpcmVkIHx8ICFydWxlLnJlcXVpcmVkICYmIHNvdXJjZS5oYXNPd25Qcm9wZXJ0eShydWxlLmZpZWxkKTtcbiAgaWYgKHZhbGlkYXRlKSB7XG4gICAgaWYgKCgwLCBfdXRpbC5pc0VtcHR5VmFsdWUpKHZhbHVlLCAnc3RyaW5nJykgJiYgIXJ1bGUucmVxdWlyZWQpIHtcbiAgICAgIHJldHVybiBjYWxsYmFjaygpO1xuICAgIH1cbiAgICBfcnVsZTJbJ2RlZmF1bHQnXS5yZXF1aXJlZChydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMsICdzdHJpbmcnKTtcbiAgICBpZiAoISgwLCBfdXRpbC5pc0VtcHR5VmFsdWUpKHZhbHVlLCAnc3RyaW5nJykpIHtcbiAgICAgIF9ydWxlMlsnZGVmYXVsdCddLnR5cGUocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKTtcbiAgICAgIF9ydWxlMlsnZGVmYXVsdCddLnJhbmdlKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucyk7XG4gICAgICBfcnVsZTJbJ2RlZmF1bHQnXS5wYXR0ZXJuKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucyk7XG4gICAgICBpZiAocnVsZS53aGl0ZXNwYWNlID09PSB0cnVlKSB7XG4gICAgICAgIF9ydWxlMlsnZGVmYXVsdCddLndoaXRlc3BhY2UocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgY2FsbGJhY2soZXJyb3JzKTtcbn1cblxuZXhwb3J0c1snZGVmYXVsdCddID0gc3RyaW5nO1xuXG4vKioqLyB9KSxcbi8qIDQ0NCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX3V0aWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDcpO1xuXG52YXIgdXRpbCA9IF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkKF91dGlsKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQob2JqKSB7IGlmIChvYmogJiYgb2JqLl9fZXNNb2R1bGUpIHsgcmV0dXJuIG9iajsgfSBlbHNlIHsgdmFyIG5ld09iaiA9IHt9OyBpZiAob2JqICE9IG51bGwpIHsgZm9yICh2YXIga2V5IGluIG9iaikgeyBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSkgbmV3T2JqW2tleV0gPSBvYmpba2V5XTsgfSB9IG5ld09ialsnZGVmYXVsdCddID0gb2JqOyByZXR1cm4gbmV3T2JqOyB9IH1cblxuLyoqXG4gKiAgUnVsZSBmb3IgdmFsaWRhdGluZyB3aGl0ZXNwYWNlLlxuICpcbiAqICBAcGFyYW0gcnVsZSBUaGUgdmFsaWRhdGlvbiBydWxlLlxuICogIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkIG9uIHRoZSBzb3VyY2Ugb2JqZWN0LlxuICogIEBwYXJhbSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QgYmVpbmcgdmFsaWRhdGVkLlxuICogIEBwYXJhbSBlcnJvcnMgQW4gYXJyYXkgb2YgZXJyb3JzIHRoYXQgdGhpcyBydWxlIG1heSBhZGRcbiAqICB2YWxpZGF0aW9uIGVycm9ycyB0by5cbiAqICBAcGFyYW0gb3B0aW9ucyBUaGUgdmFsaWRhdGlvbiBvcHRpb25zLlxuICogIEBwYXJhbSBvcHRpb25zLm1lc3NhZ2VzIFRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxuICovXG5mdW5jdGlvbiB3aGl0ZXNwYWNlKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucykge1xuICBpZiAoL15cXHMrJC8udGVzdCh2YWx1ZSkgfHwgdmFsdWUgPT09ICcnKSB7XG4gICAgZXJyb3JzLnB1c2godXRpbC5mb3JtYXQob3B0aW9ucy5tZXNzYWdlcy53aGl0ZXNwYWNlLCBydWxlLmZ1bGxGaWVsZCkpO1xuICB9XG59XG5cbmV4cG9ydHNbJ2RlZmF1bHQnXSA9IHdoaXRlc3BhY2U7XG5cbi8qKiovIH0pLFxuLyogNDQ1ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfdHlwZW9mID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIgPyBmdW5jdGlvbiAob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9IDogZnVuY3Rpb24gKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTtcblxudmFyIF91dGlsID0gX193ZWJwYWNrX3JlcXVpcmVfXyg3KTtcblxudmFyIHV0aWwgPSBfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZChfdXRpbCk7XG5cbnZhciBfcmVxdWlyZWQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE4MSk7XG5cbnZhciBfcmVxdWlyZWQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcmVxdWlyZWQpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyAnZGVmYXVsdCc6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkKG9iaikgeyBpZiAob2JqICYmIG9iai5fX2VzTW9kdWxlKSB7IHJldHVybiBvYmo7IH0gZWxzZSB7IHZhciBuZXdPYmogPSB7fTsgaWYgKG9iaiAhPSBudWxsKSB7IGZvciAodmFyIGtleSBpbiBvYmopIHsgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkpIG5ld09ialtrZXldID0gb2JqW2tleV07IH0gfSBuZXdPYmpbJ2RlZmF1bHQnXSA9IG9iajsgcmV0dXJuIG5ld09iajsgfSB9XG5cbi8qIGVzbGludCBtYXgtbGVuOjAgKi9cblxudmFyIHBhdHRlcm4gPSB7XG4gIC8vIGh0dHA6Ly9lbWFpbHJlZ2V4LmNvbS9cbiAgZW1haWw6IC9eKChbXjw+KClcXFtcXF1cXFxcLiw7Olxcc0BcIl0rKFxcLltePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSspKil8KFwiLitcIikpQCgoXFxbWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfV0pfCgoW2EtekEtWlxcLTAtOV0rXFwuKStbYS16QS1aXXsyLH0pKSQvLFxuICB1cmw6IG5ldyBSZWdFeHAoJ14oPyFtYWlsdG86KSg/Oig/Omh0dHB8aHR0cHN8ZnRwKTovL3wvLykoPzpcXFxcUysoPzo6XFxcXFMqKT9AKT8oPzooPzooPzpbMS05XVxcXFxkP3wxXFxcXGRcXFxcZHwyWzAxXVxcXFxkfDIyWzAtM10pKD86XFxcXC4oPzoxP1xcXFxkezEsMn18MlswLTRdXFxcXGR8MjVbMC01XSkpezJ9KD86XFxcXC4oPzpbMC05XVxcXFxkP3wxXFxcXGRcXFxcZHwyWzAtNF1cXFxcZHwyNVswLTRdKSl8KD86KD86W2EtelxcXFx1MDBhMS1cXFxcdWZmZmYwLTldKy0/KSpbYS16XFxcXHUwMGExLVxcXFx1ZmZmZjAtOV0rKSg/OlxcXFwuKD86W2EtelxcXFx1MDBhMS1cXFxcdWZmZmYwLTldKy0/KSpbYS16XFxcXHUwMGExLVxcXFx1ZmZmZjAtOV0rKSooPzpcXFxcLig/OlthLXpcXFxcdTAwYTEtXFxcXHVmZmZmXXsyLH0pKSl8bG9jYWxob3N0KSg/OjpcXFxcZHsyLDV9KT8oPzooL3xcXFxcP3wjKVteXFxcXHNdKik/JCcsICdpJyksXG4gIGhleDogL14jPyhbYS1mMC05XXs2fXxbYS1mMC05XXszfSkkL2lcbn07XG5cbnZhciB0eXBlcyA9IHtcbiAgaW50ZWdlcjogZnVuY3Rpb24gaW50ZWdlcih2YWx1ZSkge1xuICAgIHJldHVybiB0eXBlcy5udW1iZXIodmFsdWUpICYmIHBhcnNlSW50KHZhbHVlLCAxMCkgPT09IHZhbHVlO1xuICB9LFxuICBmbG9hdDogZnVuY3Rpb24gZmxvYXQodmFsdWUpIHtcbiAgICByZXR1cm4gdHlwZXMubnVtYmVyKHZhbHVlKSAmJiAhdHlwZXMuaW50ZWdlcih2YWx1ZSk7XG4gIH0sXG4gIGFycmF5OiBmdW5jdGlvbiBhcnJheSh2YWx1ZSkge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKTtcbiAgfSxcbiAgcmVnZXhwOiBmdW5jdGlvbiByZWdleHAodmFsdWUpIHtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgcmV0dXJuICEhbmV3IFJlZ0V4cCh2YWx1ZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfSxcbiAgZGF0ZTogZnVuY3Rpb24gZGF0ZSh2YWx1ZSkge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUuZ2V0VGltZSA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgdmFsdWUuZ2V0TW9udGggPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIHZhbHVlLmdldFllYXIgPT09ICdmdW5jdGlvbic7XG4gIH0sXG4gIG51bWJlcjogZnVuY3Rpb24gbnVtYmVyKHZhbHVlKSB7XG4gICAgaWYgKGlzTmFOKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJztcbiAgfSxcbiAgb2JqZWN0OiBmdW5jdGlvbiBvYmplY3QodmFsdWUpIHtcbiAgICByZXR1cm4gKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgPyAndW5kZWZpbmVkJyA6IF90eXBlb2YodmFsdWUpKSA9PT0gJ29iamVjdCcgJiYgIXR5cGVzLmFycmF5KHZhbHVlKTtcbiAgfSxcbiAgbWV0aG9kOiBmdW5jdGlvbiBtZXRob2QodmFsdWUpIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nO1xuICB9LFxuICBlbWFpbDogZnVuY3Rpb24gZW1haWwodmFsdWUpIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiAhIXZhbHVlLm1hdGNoKHBhdHRlcm4uZW1haWwpICYmIHZhbHVlLmxlbmd0aCA8IDI1NTtcbiAgfSxcbiAgdXJsOiBmdW5jdGlvbiB1cmwodmFsdWUpIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiAhIXZhbHVlLm1hdGNoKHBhdHRlcm4udXJsKTtcbiAgfSxcbiAgaGV4OiBmdW5jdGlvbiBoZXgodmFsdWUpIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiAhIXZhbHVlLm1hdGNoKHBhdHRlcm4uaGV4KTtcbiAgfVxufTtcblxuLyoqXG4gKiAgUnVsZSBmb3IgdmFsaWRhdGluZyB0aGUgdHlwZSBvZiBhIHZhbHVlLlxuICpcbiAqICBAcGFyYW0gcnVsZSBUaGUgdmFsaWRhdGlvbiBydWxlLlxuICogIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkIG9uIHRoZSBzb3VyY2Ugb2JqZWN0LlxuICogIEBwYXJhbSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QgYmVpbmcgdmFsaWRhdGVkLlxuICogIEBwYXJhbSBlcnJvcnMgQW4gYXJyYXkgb2YgZXJyb3JzIHRoYXQgdGhpcyBydWxlIG1heSBhZGRcbiAqICB2YWxpZGF0aW9uIGVycm9ycyB0by5cbiAqICBAcGFyYW0gb3B0aW9ucyBUaGUgdmFsaWRhdGlvbiBvcHRpb25zLlxuICogIEBwYXJhbSBvcHRpb25zLm1lc3NhZ2VzIFRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxuICovXG5mdW5jdGlvbiB0eXBlKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucykge1xuICBpZiAocnVsZS5yZXF1aXJlZCAmJiB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgKDAsIF9yZXF1aXJlZDJbJ2RlZmF1bHQnXSkocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKTtcbiAgICByZXR1cm47XG4gIH1cbiAgdmFyIGN1c3RvbSA9IFsnaW50ZWdlcicsICdmbG9hdCcsICdhcnJheScsICdyZWdleHAnLCAnb2JqZWN0JywgJ21ldGhvZCcsICdlbWFpbCcsICdudW1iZXInLCAnZGF0ZScsICd1cmwnLCAnaGV4J107XG4gIHZhciBydWxlVHlwZSA9IHJ1bGUudHlwZTtcbiAgaWYgKGN1c3RvbS5pbmRleE9mKHJ1bGVUeXBlKSA+IC0xKSB7XG4gICAgaWYgKCF0eXBlc1tydWxlVHlwZV0odmFsdWUpKSB7XG4gICAgICBlcnJvcnMucHVzaCh1dGlsLmZvcm1hdChvcHRpb25zLm1lc3NhZ2VzLnR5cGVzW3J1bGVUeXBlXSwgcnVsZS5mdWxsRmllbGQsIHJ1bGUudHlwZSkpO1xuICAgIH1cbiAgICAvLyBzdHJhaWdodCB0eXBlb2YgY2hlY2tcbiAgfSBlbHNlIGlmIChydWxlVHlwZSAmJiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyA/ICd1bmRlZmluZWQnIDogX3R5cGVvZih2YWx1ZSkpICE9PSBydWxlLnR5cGUpIHtcbiAgICBlcnJvcnMucHVzaCh1dGlsLmZvcm1hdChvcHRpb25zLm1lc3NhZ2VzLnR5cGVzW3J1bGVUeXBlXSwgcnVsZS5mdWxsRmllbGQsIHJ1bGUudHlwZSkpO1xuICB9XG59XG5cbmV4cG9ydHNbJ2RlZmF1bHQnXSA9IHR5cGU7XG5cbi8qKiovIH0pLFxuLyogNDQ2ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfdXRpbCA9IF9fd2VicGFja19yZXF1aXJlX18oNyk7XG5cbnZhciB1dGlsID0gX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQoX3V0aWwpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZChvYmopIHsgaWYgKG9iaiAmJiBvYmouX19lc01vZHVsZSkgeyByZXR1cm4gb2JqOyB9IGVsc2UgeyB2YXIgbmV3T2JqID0ge307IGlmIChvYmogIT0gbnVsbCkgeyBmb3IgKHZhciBrZXkgaW4gb2JqKSB7IGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKSBuZXdPYmpba2V5XSA9IG9ialtrZXldOyB9IH0gbmV3T2JqWydkZWZhdWx0J10gPSBvYmo7IHJldHVybiBuZXdPYmo7IH0gfVxuXG4vKipcbiAqICBSdWxlIGZvciB2YWxpZGF0aW5nIG1pbmltdW0gYW5kIG1heGltdW0gYWxsb3dlZCB2YWx1ZXMuXG4gKlxuICogIEBwYXJhbSBydWxlIFRoZSB2YWxpZGF0aW9uIHJ1bGUuXG4gKiAgQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBvZiB0aGUgZmllbGQgb24gdGhlIHNvdXJjZSBvYmplY3QuXG4gKiAgQHBhcmFtIHNvdXJjZSBUaGUgc291cmNlIG9iamVjdCBiZWluZyB2YWxpZGF0ZWQuXG4gKiAgQHBhcmFtIGVycm9ycyBBbiBhcnJheSBvZiBlcnJvcnMgdGhhdCB0aGlzIHJ1bGUgbWF5IGFkZFxuICogIHZhbGlkYXRpb24gZXJyb3JzIHRvLlxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXG4gKiAgQHBhcmFtIG9wdGlvbnMubWVzc2FnZXMgVGhlIHZhbGlkYXRpb24gbWVzc2FnZXMuXG4gKi9cbmZ1bmN0aW9uIHJhbmdlKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucykge1xuICB2YXIgbGVuID0gdHlwZW9mIHJ1bGUubGVuID09PSAnbnVtYmVyJztcbiAgdmFyIG1pbiA9IHR5cGVvZiBydWxlLm1pbiA9PT0gJ251bWJlcic7XG4gIHZhciBtYXggPSB0eXBlb2YgcnVsZS5tYXggPT09ICdudW1iZXInO1xuICAvLyDmraPliJnljLnphY3noIHngrnojIPlm7Tku45VKzAxMDAwMOS4gOebtOWIsFUrMTBGRkZG55qE5paH5a2X77yI6KGl5YWF5bmz6Z2iU3VwcGxlbWVudGFyeSBQbGFuZe+8iVxuICB2YXIgc3BSZWdleHAgPSAvW1xcdUQ4MDAtXFx1REJGRl1bXFx1REMwMC1cXHVERkZGXS9nO1xuICB2YXIgdmFsID0gdmFsdWU7XG4gIHZhciBrZXkgPSBudWxsO1xuICB2YXIgbnVtID0gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJztcbiAgdmFyIHN0ciA9IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZyc7XG4gIHZhciBhcnIgPSBBcnJheS5pc0FycmF5KHZhbHVlKTtcbiAgaWYgKG51bSkge1xuICAgIGtleSA9ICdudW1iZXInO1xuICB9IGVsc2UgaWYgKHN0cikge1xuICAgIGtleSA9ICdzdHJpbmcnO1xuICB9IGVsc2UgaWYgKGFycikge1xuICAgIGtleSA9ICdhcnJheSc7XG4gIH1cbiAgLy8gaWYgdGhlIHZhbHVlIGlzIG5vdCBvZiBhIHN1cHBvcnRlZCB0eXBlIGZvciByYW5nZSB2YWxpZGF0aW9uXG4gIC8vIHRoZSB2YWxpZGF0aW9uIHJ1bGUgcnVsZSBzaG91bGQgdXNlIHRoZVxuICAvLyB0eXBlIHByb3BlcnR5IHRvIGFsc28gdGVzdCBmb3IgYSBwYXJ0aWN1bGFyIHR5cGVcbiAgaWYgKCFrZXkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKGFycikge1xuICAgIHZhbCA9IHZhbHVlLmxlbmd0aDtcbiAgfVxuICBpZiAoc3RyKSB7XG4gICAgLy8g5aSE55CG56CB54K55aSn5LqOVSswMTAwMDDnmoTmloflrZdsZW5ndGjlsZ7mgKfkuI3lh4bnoa7nmoRidWfvvIzlpoJcIvCgrrfwoK638KCut1wiLmxlbmdodCAhPT0gM1xuICAgIHZhbCA9IHZhbHVlLnJlcGxhY2Uoc3BSZWdleHAsICdfJykubGVuZ3RoO1xuICB9XG4gIGlmIChsZW4pIHtcbiAgICBpZiAodmFsICE9PSBydWxlLmxlbikge1xuICAgICAgZXJyb3JzLnB1c2godXRpbC5mb3JtYXQob3B0aW9ucy5tZXNzYWdlc1trZXldLmxlbiwgcnVsZS5mdWxsRmllbGQsIHJ1bGUubGVuKSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKG1pbiAmJiAhbWF4ICYmIHZhbCA8IHJ1bGUubWluKSB7XG4gICAgZXJyb3JzLnB1c2godXRpbC5mb3JtYXQob3B0aW9ucy5tZXNzYWdlc1trZXldLm1pbiwgcnVsZS5mdWxsRmllbGQsIHJ1bGUubWluKSk7XG4gIH0gZWxzZSBpZiAobWF4ICYmICFtaW4gJiYgdmFsID4gcnVsZS5tYXgpIHtcbiAgICBlcnJvcnMucHVzaCh1dGlsLmZvcm1hdChvcHRpb25zLm1lc3NhZ2VzW2tleV0ubWF4LCBydWxlLmZ1bGxGaWVsZCwgcnVsZS5tYXgpKTtcbiAgfSBlbHNlIGlmIChtaW4gJiYgbWF4ICYmICh2YWwgPCBydWxlLm1pbiB8fCB2YWwgPiBydWxlLm1heCkpIHtcbiAgICBlcnJvcnMucHVzaCh1dGlsLmZvcm1hdChvcHRpb25zLm1lc3NhZ2VzW2tleV0ucmFuZ2UsIHJ1bGUuZnVsbEZpZWxkLCBydWxlLm1pbiwgcnVsZS5tYXgpKTtcbiAgfVxufVxuXG5leHBvcnRzWydkZWZhdWx0J10gPSByYW5nZTtcblxuLyoqKi8gfSksXG4vKiA0NDcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF91dGlsID0gX193ZWJwYWNrX3JlcXVpcmVfXyg3KTtcblxudmFyIHV0aWwgPSBfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZChfdXRpbCk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkKG9iaikgeyBpZiAob2JqICYmIG9iai5fX2VzTW9kdWxlKSB7IHJldHVybiBvYmo7IH0gZWxzZSB7IHZhciBuZXdPYmogPSB7fTsgaWYgKG9iaiAhPSBudWxsKSB7IGZvciAodmFyIGtleSBpbiBvYmopIHsgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkpIG5ld09ialtrZXldID0gb2JqW2tleV07IH0gfSBuZXdPYmpbJ2RlZmF1bHQnXSA9IG9iajsgcmV0dXJuIG5ld09iajsgfSB9XG5cbnZhciBFTlVNID0gJ2VudW0nO1xuXG4vKipcbiAqICBSdWxlIGZvciB2YWxpZGF0aW5nIGEgdmFsdWUgZXhpc3RzIGluIGFuIGVudW1lcmFibGUgbGlzdC5cbiAqXG4gKiAgQHBhcmFtIHJ1bGUgVGhlIHZhbGlkYXRpb24gcnVsZS5cbiAqICBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBmaWVsZCBvbiB0aGUgc291cmNlIG9iamVjdC5cbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cbiAqICBAcGFyYW0gZXJyb3JzIEFuIGFycmF5IG9mIGVycm9ycyB0aGF0IHRoaXMgcnVsZSBtYXkgYWRkXG4gKiAgdmFsaWRhdGlvbiBlcnJvcnMgdG8uXG4gKiAgQHBhcmFtIG9wdGlvbnMgVGhlIHZhbGlkYXRpb24gb3B0aW9ucy5cbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cbiAqL1xuZnVuY3Rpb24gZW51bWVyYWJsZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpIHtcbiAgcnVsZVtFTlVNXSA9IEFycmF5LmlzQXJyYXkocnVsZVtFTlVNXSkgPyBydWxlW0VOVU1dIDogW107XG4gIGlmIChydWxlW0VOVU1dLmluZGV4T2YodmFsdWUpID09PSAtMSkge1xuICAgIGVycm9ycy5wdXNoKHV0aWwuZm9ybWF0KG9wdGlvbnMubWVzc2FnZXNbRU5VTV0sIHJ1bGUuZnVsbEZpZWxkLCBydWxlW0VOVU1dLmpvaW4oJywgJykpKTtcbiAgfVxufVxuXG5leHBvcnRzWydkZWZhdWx0J10gPSBlbnVtZXJhYmxlO1xuXG4vKioqLyB9KSxcbi8qIDQ0OCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX3V0aWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDcpO1xuXG52YXIgdXRpbCA9IF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkKF91dGlsKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQob2JqKSB7IGlmIChvYmogJiYgb2JqLl9fZXNNb2R1bGUpIHsgcmV0dXJuIG9iajsgfSBlbHNlIHsgdmFyIG5ld09iaiA9IHt9OyBpZiAob2JqICE9IG51bGwpIHsgZm9yICh2YXIga2V5IGluIG9iaikgeyBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSkgbmV3T2JqW2tleV0gPSBvYmpba2V5XTsgfSB9IG5ld09ialsnZGVmYXVsdCddID0gb2JqOyByZXR1cm4gbmV3T2JqOyB9IH1cblxuLyoqXG4gKiAgUnVsZSBmb3IgdmFsaWRhdGluZyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJuLlxuICpcbiAqICBAcGFyYW0gcnVsZSBUaGUgdmFsaWRhdGlvbiBydWxlLlxuICogIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkIG9uIHRoZSBzb3VyY2Ugb2JqZWN0LlxuICogIEBwYXJhbSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QgYmVpbmcgdmFsaWRhdGVkLlxuICogIEBwYXJhbSBlcnJvcnMgQW4gYXJyYXkgb2YgZXJyb3JzIHRoYXQgdGhpcyBydWxlIG1heSBhZGRcbiAqICB2YWxpZGF0aW9uIGVycm9ycyB0by5cbiAqICBAcGFyYW0gb3B0aW9ucyBUaGUgdmFsaWRhdGlvbiBvcHRpb25zLlxuICogIEBwYXJhbSBvcHRpb25zLm1lc3NhZ2VzIFRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxuICovXG5mdW5jdGlvbiBwYXR0ZXJuKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucykge1xuICBpZiAocnVsZS5wYXR0ZXJuKSB7XG4gICAgaWYgKHJ1bGUucGF0dGVybiBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgICAgLy8gaWYgYSBSZWdFeHAgaW5zdGFuY2UgaXMgcGFzc2VkLCByZXNldCBgbGFzdEluZGV4YCBpbiBjYXNlIGl0cyBgZ2xvYmFsYFxuICAgICAgLy8gZmxhZyBpcyBhY2NpZGVudGFsbHkgc2V0IHRvIGB0cnVlYCwgd2hpY2ggaW4gYSB2YWxpZGF0aW9uIHNjZW5hcmlvXG4gICAgICAvLyBpcyBub3QgbmVjZXNzYXJ5IGFuZCB0aGUgcmVzdWx0IG1pZ2h0IGJlIG1pc2xlYWRpbmdcbiAgICAgIHJ1bGUucGF0dGVybi5sYXN0SW5kZXggPSAwO1xuICAgICAgaWYgKCFydWxlLnBhdHRlcm4udGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgZXJyb3JzLnB1c2godXRpbC5mb3JtYXQob3B0aW9ucy5tZXNzYWdlcy5wYXR0ZXJuLm1pc21hdGNoLCBydWxlLmZ1bGxGaWVsZCwgdmFsdWUsIHJ1bGUucGF0dGVybikpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHJ1bGUucGF0dGVybiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHZhciBfcGF0dGVybiA9IG5ldyBSZWdFeHAocnVsZS5wYXR0ZXJuKTtcbiAgICAgIGlmICghX3BhdHRlcm4udGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgZXJyb3JzLnB1c2godXRpbC5mb3JtYXQob3B0aW9ucy5tZXNzYWdlcy5wYXR0ZXJuLm1pc21hdGNoLCBydWxlLmZ1bGxGaWVsZCwgdmFsdWUsIHJ1bGUucGF0dGVybikpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnRzWydkZWZhdWx0J10gPSBwYXR0ZXJuO1xuXG4vKioqLyB9KSxcbi8qIDQ0OSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX3J1bGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEyKTtcblxudmFyIF9ydWxlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3J1bGUpO1xuXG52YXIgX3V0aWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDcpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyAnZGVmYXVsdCc6IG9iaiB9OyB9XG5cbi8qKlxuICogIFZhbGlkYXRlcyBhIGZ1bmN0aW9uLlxuICpcbiAqICBAcGFyYW0gcnVsZSBUaGUgdmFsaWRhdGlvbiBydWxlLlxuICogIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkIG9uIHRoZSBzb3VyY2Ugb2JqZWN0LlxuICogIEBwYXJhbSBjYWxsYmFjayBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uXG4gKiAgQHBhcmFtIHNvdXJjZSBUaGUgc291cmNlIG9iamVjdCBiZWluZyB2YWxpZGF0ZWQuXG4gKiAgQHBhcmFtIG9wdGlvbnMgVGhlIHZhbGlkYXRpb24gb3B0aW9ucy5cbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cbiAqL1xuZnVuY3Rpb24gbWV0aG9kKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaywgc291cmNlLCBvcHRpb25zKSB7XG4gIHZhciBlcnJvcnMgPSBbXTtcbiAgdmFyIHZhbGlkYXRlID0gcnVsZS5yZXF1aXJlZCB8fCAhcnVsZS5yZXF1aXJlZCAmJiBzb3VyY2UuaGFzT3duUHJvcGVydHkocnVsZS5maWVsZCk7XG4gIGlmICh2YWxpZGF0ZSkge1xuICAgIGlmICgoMCwgX3V0aWwuaXNFbXB0eVZhbHVlKSh2YWx1ZSkgJiYgIXJ1bGUucmVxdWlyZWQpIHtcbiAgICAgIHJldHVybiBjYWxsYmFjaygpO1xuICAgIH1cbiAgICBfcnVsZTJbJ2RlZmF1bHQnXS5yZXF1aXJlZChydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpO1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBfcnVsZTJbJ2RlZmF1bHQnXS50eXBlKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucyk7XG4gICAgfVxuICB9XG4gIGNhbGxiYWNrKGVycm9ycyk7XG59XG5cbmV4cG9ydHNbJ2RlZmF1bHQnXSA9IG1ldGhvZDtcblxuLyoqKi8gfSksXG4vKiA0NTAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9ydWxlID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMik7XG5cbnZhciBfcnVsZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9ydWxlKTtcblxudmFyIF91dGlsID0gX193ZWJwYWNrX3JlcXVpcmVfXyg3KTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgJ2RlZmF1bHQnOiBvYmogfTsgfVxuXG4vKipcbiAqICBWYWxpZGF0ZXMgYSBudW1iZXIuXG4gKlxuICogIEBwYXJhbSBydWxlIFRoZSB2YWxpZGF0aW9uIHJ1bGUuXG4gKiAgQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBvZiB0aGUgZmllbGQgb24gdGhlIHNvdXJjZSBvYmplY3QuXG4gKiAgQHBhcmFtIGNhbGxiYWNrIFRoZSBjYWxsYmFjayBmdW5jdGlvbi5cbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cbiAqICBAcGFyYW0gb3B0aW9ucyBUaGUgdmFsaWRhdGlvbiBvcHRpb25zLlxuICogIEBwYXJhbSBvcHRpb25zLm1lc3NhZ2VzIFRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxuICovXG5mdW5jdGlvbiBudW1iZXIocnVsZSwgdmFsdWUsIGNhbGxiYWNrLCBzb3VyY2UsIG9wdGlvbnMpIHtcbiAgdmFyIGVycm9ycyA9IFtdO1xuICB2YXIgdmFsaWRhdGUgPSBydWxlLnJlcXVpcmVkIHx8ICFydWxlLnJlcXVpcmVkICYmIHNvdXJjZS5oYXNPd25Qcm9wZXJ0eShydWxlLmZpZWxkKTtcbiAgaWYgKHZhbGlkYXRlKSB7XG4gICAgaWYgKHZhbHVlID09PSAnJykge1xuICAgICAgdmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmICgoMCwgX3V0aWwuaXNFbXB0eVZhbHVlKSh2YWx1ZSkgJiYgIXJ1bGUucmVxdWlyZWQpIHtcbiAgICAgIHJldHVybiBjYWxsYmFjaygpO1xuICAgIH1cbiAgICBfcnVsZTJbJ2RlZmF1bHQnXS5yZXF1aXJlZChydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpO1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBfcnVsZTJbJ2RlZmF1bHQnXS50eXBlKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucyk7XG4gICAgICBfcnVsZTJbJ2RlZmF1bHQnXS5yYW5nZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuICBjYWxsYmFjayhlcnJvcnMpO1xufVxuXG5leHBvcnRzWydkZWZhdWx0J10gPSBudW1iZXI7XG5cbi8qKiovIH0pLFxuLyogNDUxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfdXRpbCA9IF9fd2VicGFja19yZXF1aXJlX18oNyk7XG5cbnZhciBfcnVsZSA9IF9fd2VicGFja19yZXF1aXJlX18oMTIpO1xuXG52YXIgX3J1bGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcnVsZSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7ICdkZWZhdWx0Jzogb2JqIH07IH1cblxuLyoqXG4gKiAgVmFsaWRhdGVzIGEgYm9vbGVhbi5cbiAqXG4gKiAgQHBhcmFtIHJ1bGUgVGhlIHZhbGlkYXRpb24gcnVsZS5cbiAqICBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBmaWVsZCBvbiB0aGUgc291cmNlIG9iamVjdC5cbiAqICBAcGFyYW0gY2FsbGJhY2sgVGhlIGNhbGxiYWNrIGZ1bmN0aW9uLlxuICogIEBwYXJhbSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QgYmVpbmcgdmFsaWRhdGVkLlxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXG4gKiAgQHBhcmFtIG9wdGlvbnMubWVzc2FnZXMgVGhlIHZhbGlkYXRpb24gbWVzc2FnZXMuXG4gKi9cbmZ1bmN0aW9uIGJvb2xlYW4ocnVsZSwgdmFsdWUsIGNhbGxiYWNrLCBzb3VyY2UsIG9wdGlvbnMpIHtcbiAgdmFyIGVycm9ycyA9IFtdO1xuICB2YXIgdmFsaWRhdGUgPSBydWxlLnJlcXVpcmVkIHx8ICFydWxlLnJlcXVpcmVkICYmIHNvdXJjZS5oYXNPd25Qcm9wZXJ0eShydWxlLmZpZWxkKTtcbiAgaWYgKHZhbGlkYXRlKSB7XG4gICAgaWYgKCgwLCBfdXRpbC5pc0VtcHR5VmFsdWUpKHZhbHVlKSAmJiAhcnVsZS5yZXF1aXJlZCkge1xuICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7XG4gICAgfVxuICAgIF9ydWxlMlsnZGVmYXVsdCddLnJlcXVpcmVkKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucyk7XG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIF9ydWxlMlsnZGVmYXVsdCddLnR5cGUocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKTtcbiAgICB9XG4gIH1cbiAgY2FsbGJhY2soZXJyb3JzKTtcbn1cblxuZXhwb3J0c1snZGVmYXVsdCddID0gYm9vbGVhbjtcblxuLyoqKi8gfSksXG4vKiA0NTIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9ydWxlID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMik7XG5cbnZhciBfcnVsZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9ydWxlKTtcblxudmFyIF91dGlsID0gX193ZWJwYWNrX3JlcXVpcmVfXyg3KTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgJ2RlZmF1bHQnOiBvYmogfTsgfVxuXG4vKipcbiAqICBWYWxpZGF0ZXMgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiB0eXBlLlxuICpcbiAqICBAcGFyYW0gcnVsZSBUaGUgdmFsaWRhdGlvbiBydWxlLlxuICogIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkIG9uIHRoZSBzb3VyY2Ugb2JqZWN0LlxuICogIEBwYXJhbSBjYWxsYmFjayBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uXG4gKiAgQHBhcmFtIHNvdXJjZSBUaGUgc291cmNlIG9iamVjdCBiZWluZyB2YWxpZGF0ZWQuXG4gKiAgQHBhcmFtIG9wdGlvbnMgVGhlIHZhbGlkYXRpb24gb3B0aW9ucy5cbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cbiAqL1xuZnVuY3Rpb24gcmVnZXhwKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaywgc291cmNlLCBvcHRpb25zKSB7XG4gIHZhciBlcnJvcnMgPSBbXTtcbiAgdmFyIHZhbGlkYXRlID0gcnVsZS5yZXF1aXJlZCB8fCAhcnVsZS5yZXF1aXJlZCAmJiBzb3VyY2UuaGFzT3duUHJvcGVydHkocnVsZS5maWVsZCk7XG4gIGlmICh2YWxpZGF0ZSkge1xuICAgIGlmICgoMCwgX3V0aWwuaXNFbXB0eVZhbHVlKSh2YWx1ZSkgJiYgIXJ1bGUucmVxdWlyZWQpIHtcbiAgICAgIHJldHVybiBjYWxsYmFjaygpO1xuICAgIH1cbiAgICBfcnVsZTJbJ2RlZmF1bHQnXS5yZXF1aXJlZChydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpO1xuICAgIGlmICghKDAsIF91dGlsLmlzRW1wdHlWYWx1ZSkodmFsdWUpKSB7XG4gICAgICBfcnVsZTJbJ2RlZmF1bHQnXS50eXBlKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucyk7XG4gICAgfVxuICB9XG4gIGNhbGxiYWNrKGVycm9ycyk7XG59XG5cbmV4cG9ydHNbJ2RlZmF1bHQnXSA9IHJlZ2V4cDtcblxuLyoqKi8gfSksXG4vKiA0NTMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9ydWxlID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMik7XG5cbnZhciBfcnVsZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9ydWxlKTtcblxudmFyIF91dGlsID0gX193ZWJwYWNrX3JlcXVpcmVfXyg3KTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgJ2RlZmF1bHQnOiBvYmogfTsgfVxuXG4vKipcbiAqICBWYWxpZGF0ZXMgYSBudW1iZXIgaXMgYW4gaW50ZWdlci5cbiAqXG4gKiAgQHBhcmFtIHJ1bGUgVGhlIHZhbGlkYXRpb24gcnVsZS5cbiAqICBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBmaWVsZCBvbiB0aGUgc291cmNlIG9iamVjdC5cbiAqICBAcGFyYW0gY2FsbGJhY2sgVGhlIGNhbGxiYWNrIGZ1bmN0aW9uLlxuICogIEBwYXJhbSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QgYmVpbmcgdmFsaWRhdGVkLlxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXG4gKiAgQHBhcmFtIG9wdGlvbnMubWVzc2FnZXMgVGhlIHZhbGlkYXRpb24gbWVzc2FnZXMuXG4gKi9cbmZ1bmN0aW9uIGludGVnZXIocnVsZSwgdmFsdWUsIGNhbGxiYWNrLCBzb3VyY2UsIG9wdGlvbnMpIHtcbiAgdmFyIGVycm9ycyA9IFtdO1xuICB2YXIgdmFsaWRhdGUgPSBydWxlLnJlcXVpcmVkIHx8ICFydWxlLnJlcXVpcmVkICYmIHNvdXJjZS5oYXNPd25Qcm9wZXJ0eShydWxlLmZpZWxkKTtcbiAgaWYgKHZhbGlkYXRlKSB7XG4gICAgaWYgKCgwLCBfdXRpbC5pc0VtcHR5VmFsdWUpKHZhbHVlKSAmJiAhcnVsZS5yZXF1aXJlZCkge1xuICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7XG4gICAgfVxuICAgIF9ydWxlMlsnZGVmYXVsdCddLnJlcXVpcmVkKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucyk7XG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIF9ydWxlMlsnZGVmYXVsdCddLnR5cGUocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKTtcbiAgICAgIF9ydWxlMlsnZGVmYXVsdCddLnJhbmdlKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucyk7XG4gICAgfVxuICB9XG4gIGNhbGxiYWNrKGVycm9ycyk7XG59XG5cbmV4cG9ydHNbJ2RlZmF1bHQnXSA9IGludGVnZXI7XG5cbi8qKiovIH0pLFxuLyogNDU0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfcnVsZSA9IF9fd2VicGFja19yZXF1aXJlX18oMTIpO1xuXG52YXIgX3J1bGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcnVsZSk7XG5cbnZhciBfdXRpbCA9IF9fd2VicGFja19yZXF1aXJlX18oNyk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7ICdkZWZhdWx0Jzogb2JqIH07IH1cblxuLyoqXG4gKiAgVmFsaWRhdGVzIGEgbnVtYmVyIGlzIGEgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLlxuICpcbiAqICBAcGFyYW0gcnVsZSBUaGUgdmFsaWRhdGlvbiBydWxlLlxuICogIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkIG9uIHRoZSBzb3VyY2Ugb2JqZWN0LlxuICogIEBwYXJhbSBjYWxsYmFjayBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uXG4gKiAgQHBhcmFtIHNvdXJjZSBUaGUgc291cmNlIG9iamVjdCBiZWluZyB2YWxpZGF0ZWQuXG4gKiAgQHBhcmFtIG9wdGlvbnMgVGhlIHZhbGlkYXRpb24gb3B0aW9ucy5cbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cbiAqL1xuZnVuY3Rpb24gZmxvYXRGbihydWxlLCB2YWx1ZSwgY2FsbGJhY2ssIHNvdXJjZSwgb3B0aW9ucykge1xuICB2YXIgZXJyb3JzID0gW107XG4gIHZhciB2YWxpZGF0ZSA9IHJ1bGUucmVxdWlyZWQgfHwgIXJ1bGUucmVxdWlyZWQgJiYgc291cmNlLmhhc093blByb3BlcnR5KHJ1bGUuZmllbGQpO1xuICBpZiAodmFsaWRhdGUpIHtcbiAgICBpZiAoKDAsIF91dGlsLmlzRW1wdHlWYWx1ZSkodmFsdWUpICYmICFydWxlLnJlcXVpcmVkKSB7XG4gICAgICByZXR1cm4gY2FsbGJhY2soKTtcbiAgICB9XG4gICAgX3J1bGUyWydkZWZhdWx0J10ucmVxdWlyZWQocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKTtcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgX3J1bGUyWydkZWZhdWx0J10udHlwZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpO1xuICAgICAgX3J1bGUyWydkZWZhdWx0J10ucmFuZ2UocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKTtcbiAgICB9XG4gIH1cbiAgY2FsbGJhY2soZXJyb3JzKTtcbn1cblxuZXhwb3J0c1snZGVmYXVsdCddID0gZmxvYXRGbjtcblxuLyoqKi8gfSksXG4vKiA0NTUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9ydWxlID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMik7XG5cbnZhciBfcnVsZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9ydWxlKTtcblxudmFyIF91dGlsID0gX193ZWJwYWNrX3JlcXVpcmVfXyg3KTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgJ2RlZmF1bHQnOiBvYmogfTsgfVxuXG4vKipcbiAqICBWYWxpZGF0ZXMgYW4gYXJyYXkuXG4gKlxuICogIEBwYXJhbSBydWxlIFRoZSB2YWxpZGF0aW9uIHJ1bGUuXG4gKiAgQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBvZiB0aGUgZmllbGQgb24gdGhlIHNvdXJjZSBvYmplY3QuXG4gKiAgQHBhcmFtIGNhbGxiYWNrIFRoZSBjYWxsYmFjayBmdW5jdGlvbi5cbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cbiAqICBAcGFyYW0gb3B0aW9ucyBUaGUgdmFsaWRhdGlvbiBvcHRpb25zLlxuICogIEBwYXJhbSBvcHRpb25zLm1lc3NhZ2VzIFRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxuICovXG5mdW5jdGlvbiBhcnJheShydWxlLCB2YWx1ZSwgY2FsbGJhY2ssIHNvdXJjZSwgb3B0aW9ucykge1xuICB2YXIgZXJyb3JzID0gW107XG4gIHZhciB2YWxpZGF0ZSA9IHJ1bGUucmVxdWlyZWQgfHwgIXJ1bGUucmVxdWlyZWQgJiYgc291cmNlLmhhc093blByb3BlcnR5KHJ1bGUuZmllbGQpO1xuICBpZiAodmFsaWRhdGUpIHtcbiAgICBpZiAoKDAsIF91dGlsLmlzRW1wdHlWYWx1ZSkodmFsdWUsICdhcnJheScpICYmICFydWxlLnJlcXVpcmVkKSB7XG4gICAgICByZXR1cm4gY2FsbGJhY2soKTtcbiAgICB9XG4gICAgX3J1bGUyWydkZWZhdWx0J10ucmVxdWlyZWQocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zLCAnYXJyYXknKTtcbiAgICBpZiAoISgwLCBfdXRpbC5pc0VtcHR5VmFsdWUpKHZhbHVlLCAnYXJyYXknKSkge1xuICAgICAgX3J1bGUyWydkZWZhdWx0J10udHlwZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpO1xuICAgICAgX3J1bGUyWydkZWZhdWx0J10ucmFuZ2UocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKTtcbiAgICB9XG4gIH1cbiAgY2FsbGJhY2soZXJyb3JzKTtcbn1cblxuZXhwb3J0c1snZGVmYXVsdCddID0gYXJyYXk7XG5cbi8qKiovIH0pLFxuLyogNDU2ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfcnVsZSA9IF9fd2VicGFja19yZXF1aXJlX18oMTIpO1xuXG52YXIgX3J1bGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcnVsZSk7XG5cbnZhciBfdXRpbCA9IF9fd2VicGFja19yZXF1aXJlX18oNyk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7ICdkZWZhdWx0Jzogb2JqIH07IH1cblxuLyoqXG4gKiAgVmFsaWRhdGVzIGFuIG9iamVjdC5cbiAqXG4gKiAgQHBhcmFtIHJ1bGUgVGhlIHZhbGlkYXRpb24gcnVsZS5cbiAqICBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBmaWVsZCBvbiB0aGUgc291cmNlIG9iamVjdC5cbiAqICBAcGFyYW0gY2FsbGJhY2sgVGhlIGNhbGxiYWNrIGZ1bmN0aW9uLlxuICogIEBwYXJhbSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QgYmVpbmcgdmFsaWRhdGVkLlxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXG4gKiAgQHBhcmFtIG9wdGlvbnMubWVzc2FnZXMgVGhlIHZhbGlkYXRpb24gbWVzc2FnZXMuXG4gKi9cbmZ1bmN0aW9uIG9iamVjdChydWxlLCB2YWx1ZSwgY2FsbGJhY2ssIHNvdXJjZSwgb3B0aW9ucykge1xuICB2YXIgZXJyb3JzID0gW107XG4gIHZhciB2YWxpZGF0ZSA9IHJ1bGUucmVxdWlyZWQgfHwgIXJ1bGUucmVxdWlyZWQgJiYgc291cmNlLmhhc093blByb3BlcnR5KHJ1bGUuZmllbGQpO1xuICBpZiAodmFsaWRhdGUpIHtcbiAgICBpZiAoKDAsIF91dGlsLmlzRW1wdHlWYWx1ZSkodmFsdWUpICYmICFydWxlLnJlcXVpcmVkKSB7XG4gICAgICByZXR1cm4gY2FsbGJhY2soKTtcbiAgICB9XG4gICAgX3J1bGUyWydkZWZhdWx0J10ucmVxdWlyZWQocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKTtcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgX3J1bGUyWydkZWZhdWx0J10udHlwZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuICBjYWxsYmFjayhlcnJvcnMpO1xufVxuXG5leHBvcnRzWydkZWZhdWx0J10gPSBvYmplY3Q7XG5cbi8qKiovIH0pLFxuLyogNDU3ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfcnVsZSA9IF9fd2VicGFja19yZXF1aXJlX18oMTIpO1xuXG52YXIgX3J1bGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcnVsZSk7XG5cbnZhciBfdXRpbCA9IF9fd2VicGFja19yZXF1aXJlX18oNyk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7ICdkZWZhdWx0Jzogb2JqIH07IH1cblxudmFyIEVOVU0gPSAnZW51bSc7XG5cbi8qKlxuICogIFZhbGlkYXRlcyBhbiBlbnVtZXJhYmxlIGxpc3QuXG4gKlxuICogIEBwYXJhbSBydWxlIFRoZSB2YWxpZGF0aW9uIHJ1bGUuXG4gKiAgQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBvZiB0aGUgZmllbGQgb24gdGhlIHNvdXJjZSBvYmplY3QuXG4gKiAgQHBhcmFtIGNhbGxiYWNrIFRoZSBjYWxsYmFjayBmdW5jdGlvbi5cbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cbiAqICBAcGFyYW0gb3B0aW9ucyBUaGUgdmFsaWRhdGlvbiBvcHRpb25zLlxuICogIEBwYXJhbSBvcHRpb25zLm1lc3NhZ2VzIFRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxuICovXG5mdW5jdGlvbiBlbnVtZXJhYmxlKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaywgc291cmNlLCBvcHRpb25zKSB7XG4gIHZhciBlcnJvcnMgPSBbXTtcbiAgdmFyIHZhbGlkYXRlID0gcnVsZS5yZXF1aXJlZCB8fCAhcnVsZS5yZXF1aXJlZCAmJiBzb3VyY2UuaGFzT3duUHJvcGVydHkocnVsZS5maWVsZCk7XG4gIGlmICh2YWxpZGF0ZSkge1xuICAgIGlmICgoMCwgX3V0aWwuaXNFbXB0eVZhbHVlKSh2YWx1ZSkgJiYgIXJ1bGUucmVxdWlyZWQpIHtcbiAgICAgIHJldHVybiBjYWxsYmFjaygpO1xuICAgIH1cbiAgICBfcnVsZTJbJ2RlZmF1bHQnXS5yZXF1aXJlZChydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpO1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgX3J1bGUyWydkZWZhdWx0J11bRU5VTV0ocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKTtcbiAgICB9XG4gIH1cbiAgY2FsbGJhY2soZXJyb3JzKTtcbn1cblxuZXhwb3J0c1snZGVmYXVsdCddID0gZW51bWVyYWJsZTtcblxuLyoqKi8gfSksXG4vKiA0NTggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9ydWxlID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMik7XG5cbnZhciBfcnVsZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9ydWxlKTtcblxudmFyIF91dGlsID0gX193ZWJwYWNrX3JlcXVpcmVfXyg3KTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgJ2RlZmF1bHQnOiBvYmogfTsgfVxuXG4vKipcbiAqICBWYWxpZGF0ZXMgYSByZWd1bGFyIGV4cHJlc3Npb24gcGF0dGVybi5cbiAqXG4gKiAgUGVyZm9ybXMgdmFsaWRhdGlvbiB3aGVuIGEgcnVsZSBvbmx5IGNvbnRhaW5zXG4gKiAgYSBwYXR0ZXJuIHByb3BlcnR5IGJ1dCBpcyBub3QgZGVjbGFyZWQgYXMgYSBzdHJpbmcgdHlwZS5cbiAqXG4gKiAgQHBhcmFtIHJ1bGUgVGhlIHZhbGlkYXRpb24gcnVsZS5cbiAqICBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBmaWVsZCBvbiB0aGUgc291cmNlIG9iamVjdC5cbiAqICBAcGFyYW0gY2FsbGJhY2sgVGhlIGNhbGxiYWNrIGZ1bmN0aW9uLlxuICogIEBwYXJhbSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QgYmVpbmcgdmFsaWRhdGVkLlxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXG4gKiAgQHBhcmFtIG9wdGlvbnMubWVzc2FnZXMgVGhlIHZhbGlkYXRpb24gbWVzc2FnZXMuXG4gKi9cbmZ1bmN0aW9uIHBhdHRlcm4ocnVsZSwgdmFsdWUsIGNhbGxiYWNrLCBzb3VyY2UsIG9wdGlvbnMpIHtcbiAgdmFyIGVycm9ycyA9IFtdO1xuICB2YXIgdmFsaWRhdGUgPSBydWxlLnJlcXVpcmVkIHx8ICFydWxlLnJlcXVpcmVkICYmIHNvdXJjZS5oYXNPd25Qcm9wZXJ0eShydWxlLmZpZWxkKTtcbiAgaWYgKHZhbGlkYXRlKSB7XG4gICAgaWYgKCgwLCBfdXRpbC5pc0VtcHR5VmFsdWUpKHZhbHVlLCAnc3RyaW5nJykgJiYgIXJ1bGUucmVxdWlyZWQpIHtcbiAgICAgIHJldHVybiBjYWxsYmFjaygpO1xuICAgIH1cbiAgICBfcnVsZTJbJ2RlZmF1bHQnXS5yZXF1aXJlZChydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpO1xuICAgIGlmICghKDAsIF91dGlsLmlzRW1wdHlWYWx1ZSkodmFsdWUsICdzdHJpbmcnKSkge1xuICAgICAgX3J1bGUyWydkZWZhdWx0J10ucGF0dGVybihydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuICBjYWxsYmFjayhlcnJvcnMpO1xufVxuXG5leHBvcnRzWydkZWZhdWx0J10gPSBwYXR0ZXJuO1xuXG4vKioqLyB9KSxcbi8qIDQ1OSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX3J1bGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEyKTtcblxudmFyIF9ydWxlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3J1bGUpO1xuXG52YXIgX3V0aWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDcpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyAnZGVmYXVsdCc6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIGRhdGUocnVsZSwgdmFsdWUsIGNhbGxiYWNrLCBzb3VyY2UsIG9wdGlvbnMpIHtcbiAgLy8gY29uc29sZS5sb2coJ2ludGVnZXIgcnVsZSBjYWxsZWQgJWonLCBydWxlKTtcbiAgdmFyIGVycm9ycyA9IFtdO1xuICB2YXIgdmFsaWRhdGUgPSBydWxlLnJlcXVpcmVkIHx8ICFydWxlLnJlcXVpcmVkICYmIHNvdXJjZS5oYXNPd25Qcm9wZXJ0eShydWxlLmZpZWxkKTtcbiAgLy8gY29uc29sZS5sb2coJ3ZhbGlkYXRlIG9uICVzIHZhbHVlJywgdmFsdWUpO1xuICBpZiAodmFsaWRhdGUpIHtcbiAgICBpZiAoKDAsIF91dGlsLmlzRW1wdHlWYWx1ZSkodmFsdWUpICYmICFydWxlLnJlcXVpcmVkKSB7XG4gICAgICByZXR1cm4gY2FsbGJhY2soKTtcbiAgICB9XG4gICAgX3J1bGUyWydkZWZhdWx0J10ucmVxdWlyZWQocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKTtcbiAgICBpZiAoISgwLCBfdXRpbC5pc0VtcHR5VmFsdWUpKHZhbHVlKSkge1xuICAgICAgdmFyIGRhdGVPYmplY3QgPSB2b2lkIDA7XG5cbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGRhdGVPYmplY3QgPSBuZXcgRGF0ZSh2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRlT2JqZWN0ID0gdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIF9ydWxlMlsnZGVmYXVsdCddLnR5cGUocnVsZSwgZGF0ZU9iamVjdCwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpO1xuICAgICAgaWYgKGRhdGVPYmplY3QpIHtcbiAgICAgICAgX3J1bGUyWydkZWZhdWx0J10ucmFuZ2UocnVsZSwgZGF0ZU9iamVjdC5nZXRUaW1lKCksIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgY2FsbGJhY2soZXJyb3JzKTtcbn1cblxuZXhwb3J0c1snZGVmYXVsdCddID0gZGF0ZTtcblxuLyoqKi8gfSksXG4vKiA0NjAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF90eXBlb2YgPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIiA/IGZ1bmN0aW9uIChvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH0gOiBmdW5jdGlvbiAob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9O1xuXG52YXIgX3J1bGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEyKTtcblxudmFyIF9ydWxlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3J1bGUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyAnZGVmYXVsdCc6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIHJlcXVpcmVkKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaywgc291cmNlLCBvcHRpb25zKSB7XG4gIHZhciBlcnJvcnMgPSBbXTtcbiAgdmFyIHR5cGUgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/ICdhcnJheScgOiB0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnID8gJ3VuZGVmaW5lZCcgOiBfdHlwZW9mKHZhbHVlKTtcbiAgX3J1bGUyWydkZWZhdWx0J10ucmVxdWlyZWQocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zLCB0eXBlKTtcbiAgY2FsbGJhY2soZXJyb3JzKTtcbn1cblxuZXhwb3J0c1snZGVmYXVsdCddID0gcmVxdWlyZWQ7XG5cbi8qKiovIH0pLFxuLyogNDYxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfcnVsZSA9IF9fd2VicGFja19yZXF1aXJlX18oMTIpO1xuXG52YXIgX3J1bGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcnVsZSk7XG5cbnZhciBfdXRpbCA9IF9fd2VicGFja19yZXF1aXJlX18oNyk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7ICdkZWZhdWx0Jzogb2JqIH07IH1cblxuZnVuY3Rpb24gdHlwZShydWxlLCB2YWx1ZSwgY2FsbGJhY2ssIHNvdXJjZSwgb3B0aW9ucykge1xuICB2YXIgcnVsZVR5cGUgPSBydWxlLnR5cGU7XG4gIHZhciBlcnJvcnMgPSBbXTtcbiAgdmFyIHZhbGlkYXRlID0gcnVsZS5yZXF1aXJlZCB8fCAhcnVsZS5yZXF1aXJlZCAmJiBzb3VyY2UuaGFzT3duUHJvcGVydHkocnVsZS5maWVsZCk7XG4gIGlmICh2YWxpZGF0ZSkge1xuICAgIGlmICgoMCwgX3V0aWwuaXNFbXB0eVZhbHVlKSh2YWx1ZSwgcnVsZVR5cGUpICYmICFydWxlLnJlcXVpcmVkKSB7XG4gICAgICByZXR1cm4gY2FsbGJhY2soKTtcbiAgICB9XG4gICAgX3J1bGUyWydkZWZhdWx0J10ucmVxdWlyZWQocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zLCBydWxlVHlwZSk7XG4gICAgaWYgKCEoMCwgX3V0aWwuaXNFbXB0eVZhbHVlKSh2YWx1ZSwgcnVsZVR5cGUpKSB7XG4gICAgICBfcnVsZTJbJ2RlZmF1bHQnXS50eXBlKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucyk7XG4gICAgfVxuICB9XG4gIGNhbGxiYWNrKGVycm9ycyk7XG59XG5cbmV4cG9ydHNbJ2RlZmF1bHQnXSA9IHR5cGU7XG5cbi8qKiovIH0pLFxuLyogNDYyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLm5ld01lc3NhZ2VzID0gbmV3TWVzc2FnZXM7XG5mdW5jdGlvbiBuZXdNZXNzYWdlcygpIHtcbiAgcmV0dXJuIHtcbiAgICAnZGVmYXVsdCc6ICdWYWxpZGF0aW9uIGVycm9yIG9uIGZpZWxkICVzJyxcbiAgICByZXF1aXJlZDogJyVzIGlzIHJlcXVpcmVkJyxcbiAgICAnZW51bSc6ICclcyBtdXN0IGJlIG9uZSBvZiAlcycsXG4gICAgd2hpdGVzcGFjZTogJyVzIGNhbm5vdCBiZSBlbXB0eScsXG4gICAgZGF0ZToge1xuICAgICAgZm9ybWF0OiAnJXMgZGF0ZSAlcyBpcyBpbnZhbGlkIGZvciBmb3JtYXQgJXMnLFxuICAgICAgcGFyc2U6ICclcyBkYXRlIGNvdWxkIG5vdCBiZSBwYXJzZWQsICVzIGlzIGludmFsaWQgJyxcbiAgICAgIGludmFsaWQ6ICclcyBkYXRlICVzIGlzIGludmFsaWQnXG4gICAgfSxcbiAgICB0eXBlczoge1xuICAgICAgc3RyaW5nOiAnJXMgaXMgbm90IGEgJXMnLFxuICAgICAgbWV0aG9kOiAnJXMgaXMgbm90IGEgJXMgKGZ1bmN0aW9uKScsXG4gICAgICBhcnJheTogJyVzIGlzIG5vdCBhbiAlcycsXG4gICAgICBvYmplY3Q6ICclcyBpcyBub3QgYW4gJXMnLFxuICAgICAgbnVtYmVyOiAnJXMgaXMgbm90IGEgJXMnLFxuICAgICAgZGF0ZTogJyVzIGlzIG5vdCBhICVzJyxcbiAgICAgIGJvb2xlYW46ICclcyBpcyBub3QgYSAlcycsXG4gICAgICBpbnRlZ2VyOiAnJXMgaXMgbm90IGFuICVzJyxcbiAgICAgIGZsb2F0OiAnJXMgaXMgbm90IGEgJXMnLFxuICAgICAgcmVnZXhwOiAnJXMgaXMgbm90IGEgdmFsaWQgJXMnLFxuICAgICAgZW1haWw6ICclcyBpcyBub3QgYSB2YWxpZCAlcycsXG4gICAgICB1cmw6ICclcyBpcyBub3QgYSB2YWxpZCAlcycsXG4gICAgICBoZXg6ICclcyBpcyBub3QgYSB2YWxpZCAlcydcbiAgICB9LFxuICAgIHN0cmluZzoge1xuICAgICAgbGVuOiAnJXMgbXVzdCBiZSBleGFjdGx5ICVzIGNoYXJhY3RlcnMnLFxuICAgICAgbWluOiAnJXMgbXVzdCBiZSBhdCBsZWFzdCAlcyBjaGFyYWN0ZXJzJyxcbiAgICAgIG1heDogJyVzIGNhbm5vdCBiZSBsb25nZXIgdGhhbiAlcyBjaGFyYWN0ZXJzJyxcbiAgICAgIHJhbmdlOiAnJXMgbXVzdCBiZSBiZXR3ZWVuICVzIGFuZCAlcyBjaGFyYWN0ZXJzJ1xuICAgIH0sXG4gICAgbnVtYmVyOiB7XG4gICAgICBsZW46ICclcyBtdXN0IGVxdWFsICVzJyxcbiAgICAgIG1pbjogJyVzIGNhbm5vdCBiZSBsZXNzIHRoYW4gJXMnLFxuICAgICAgbWF4OiAnJXMgY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiAlcycsXG4gICAgICByYW5nZTogJyVzIG11c3QgYmUgYmV0d2VlbiAlcyBhbmQgJXMnXG4gICAgfSxcbiAgICBhcnJheToge1xuICAgICAgbGVuOiAnJXMgbXVzdCBiZSBleGFjdGx5ICVzIGluIGxlbmd0aCcsXG4gICAgICBtaW46ICclcyBjYW5ub3QgYmUgbGVzcyB0aGFuICVzIGluIGxlbmd0aCcsXG4gICAgICBtYXg6ICclcyBjYW5ub3QgYmUgZ3JlYXRlciB0aGFuICVzIGluIGxlbmd0aCcsXG4gICAgICByYW5nZTogJyVzIG11c3QgYmUgYmV0d2VlbiAlcyBhbmQgJXMgaW4gbGVuZ3RoJ1xuICAgIH0sXG4gICAgcGF0dGVybjoge1xuICAgICAgbWlzbWF0Y2g6ICclcyB2YWx1ZSAlcyBkb2VzIG5vdCBtYXRjaCBwYXR0ZXJuICVzJ1xuICAgIH0sXG4gICAgY2xvbmU6IGZ1bmN0aW9uIGNsb25lKCkge1xuICAgICAgdmFyIGNsb25lZCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcykpO1xuICAgICAgY2xvbmVkLmNsb25lID0gdGhpcy5jbG9uZTtcbiAgICAgIHJldHVybiBjbG9uZWQ7XG4gICAgfVxuICB9O1xufVxuXG52YXIgbWVzc2FnZXMgPSBleHBvcnRzLm1lc3NhZ2VzID0gbmV3TWVzc2FnZXMoKTtcblxuLyoqKi8gfSksXG4vKiA0NjMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0uY2xhc3NlcyB9LCBbX3ZtLmxhYmVsIHx8IF92bS4kc2xvdHMubGFiZWwgPyBfYygnbGFiZWwnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctbGFiZWwnXSwgc3R5bGU6IF92bS5sYWJlbFN0eWxlcywgYXR0cnM6IHsgXCJmb3JcIjogX3ZtLmxhYmVsRm9yIH0gfSwgW192bS5fdChcImxhYmVsXCIsIFtfdm0uX3YoX3ZtLl9zKF92bS5sYWJlbCkpXSldLCAyKSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWNvbnRlbnQnXSwgc3R5bGU6IF92bS5jb250ZW50U3R5bGVzIH0sIFtfdm0uX3QoXCJkZWZhdWx0XCIpLCBfdm0uX3YoXCIgXCIpLCBfYygndHJhbnNpdGlvbicsIHsgYXR0cnM6IHsgXCJuYW1lXCI6IFwiZmFkZVwiIH0gfSwgW192bS52YWxpZGF0ZVN0YXRlID09PSAnZXJyb3InICYmIF92bS5zaG93TWVzc2FnZSAmJiBfdm0uZm9ybS5zaG93TWVzc2FnZSA/IF9jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctZXJyb3ItdGlwJ10gfSwgW192bS5fdihfdm0uX3MoX3ZtLnZhbGlkYXRlTWVzc2FnZSkpXSkgOiBfdm0uX2UoKV0pXSwgMildKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDQ2NCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2hlYWRlciA9IF9fd2VicGFja19yZXF1aXJlX18oMTgyKTtcblxudmFyIF9oZWFkZXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaGVhZGVyKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0gX2hlYWRlcjIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiA0NjUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0ud3JhcENsYXNzZXMgfSwgW192bS5fdChcImRlZmF1bHRcIildLCAyKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDQ2NiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2lucHV0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNyk7XG5cbnZhciBfaW5wdXQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaW5wdXQpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSBfaW5wdXQyLmRlZmF1bHQ7XG5cbi8qKiovIH0pLFxuLyogNDY3ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfaW5wdXROdW1iZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE4NCk7XG5cbnZhciBfaW5wdXROdW1iZXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaW5wdXROdW1iZXIpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSBfaW5wdXROdW1iZXIyLmRlZmF1bHQ7XG5cbi8qKiovIH0pLFxuLyogNDY4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBjbGFzczogX3ZtLndyYXBDbGFzc2VzIH0sIFtfYygnZGl2JywgeyBjbGFzczogX3ZtLmhhbmRsZXJDbGFzc2VzIH0sIFtfYygnYScsIHsgY2xhc3M6IF92bS51cENsYXNzZXMsIG9uOiB7IFwiY2xpY2tcIjogX3ZtLnVwIH0gfSwgW19jKCdzcGFuJywgeyBjbGFzczogX3ZtLmlubmVyVXBDbGFzc2VzLCBvbjogeyBcImNsaWNrXCI6IF92bS5wcmV2ZW50RGVmYXVsdCB9IH0pXSksIF92bS5fdihcIiBcIiksIF9jKCdhJywgeyBjbGFzczogX3ZtLmRvd25DbGFzc2VzLCBvbjogeyBcImNsaWNrXCI6IF92bS5kb3duIH0gfSwgW19jKCdzcGFuJywgeyBjbGFzczogX3ZtLmlubmVyRG93bkNsYXNzZXMsIG9uOiB7IFwiY2xpY2tcIjogX3ZtLnByZXZlbnREZWZhdWx0IH0gfSldKV0pLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyBjbGFzczogX3ZtLmlucHV0V3JhcENsYXNzZXMgfSwgW19jKCdpbnB1dCcsIHsgcmVmOiBcInByZWNpc2lvbkN1cnNvclwiLCBjbGFzczogX3ZtLmlucHV0Q2xhc3NlcywgYXR0cnM6IHsgXCJpZFwiOiBfdm0uZWxlbWVudElkLCBcImRpc2FibGVkXCI6IF92bS5kaXNhYmxlZCwgXCJhdXRvY29tcGxldGVcIjogXCJvZmZcIiwgXCJzcGVsbGNoZWNrXCI6IFwiZmFsc2VcIiwgXCJhdXRvZm9jdXNcIjogX3ZtLmF1dG9mb2N1cywgXCJyZWFkb25seVwiOiBfdm0ucmVhZG9ubHkgfHwgIV92bS5lZGl0YWJsZSwgXCJuYW1lXCI6IF92bS5uYW1lLCBcInBsYWNlaG9sZGVyXCI6IF92bS5wbGFjZWhvbGRlciB9LCBkb21Qcm9wczogeyBcInZhbHVlXCI6IF92bS5mb3JtYXR0ZXJWYWx1ZSB9LCBvbjogeyBcImZvY3VzXCI6IF92bS5mb2N1cywgXCJibHVyXCI6IF92bS5ibHVyLCBcImtleWRvd25cIjogZnVuY3Rpb24ga2V5ZG93bigkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBfdm0ua2V5RG93bigkZXZlbnQpO1xuICAgICAgfSwgXCJpbnB1dFwiOiBfdm0uY2hhbmdlLCBcIm1vdXNldXBcIjogX3ZtLnByZXZlbnREZWZhdWx0LCBcImNoYW5nZVwiOiBfdm0uY2hhbmdlIH0gfSldKV0pO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogNDY5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfc2Nyb2xsID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0NzApO1xuXG52YXIgX3Njcm9sbDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zY3JvbGwpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSBfc2Nyb2xsMi5kZWZhdWx0O1xuXG4vKioqLyB9KSxcbi8qIDQ3MCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zY3JvbGxfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE4Nik7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc2Nyb2xsX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc2Nyb2xsX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc2Nyb2xsX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zY3JvbGxfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMmZhNDMxMjhfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9zY3JvbGxfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ3OSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMmZhNDMxMjhfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9zY3JvbGxfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8yZmE0MzEyOF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3Njcm9sbF92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zY3JvbGxfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8yZmE0MzEyOF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3Njcm9sbF92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMmZhNDMxMjhfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9zY3JvbGxfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDQ3MSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5tb2R1bGUuZXhwb3J0cyA9IHsgXCJkZWZhdWx0XCI6IF9fd2VicGFja19yZXF1aXJlX18oNDcyKSwgX19lc01vZHVsZTogdHJ1ZSB9O1xuXG4vKioqLyB9KSxcbi8qIDQ3MiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5fX3dlYnBhY2tfcmVxdWlyZV9fKDQ3Myk7XG5tb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oNikuTWF0aC5zaWduO1xuXG5cbi8qKiovIH0pLFxuLyogNDczICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbi8vIDIwLjIuMi4yOCBNYXRoLnNpZ24oeClcbnZhciAkZXhwb3J0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMCk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnTWF0aCcsIHsgc2lnbjogX193ZWJwYWNrX3JlcXVpcmVfXyg0NzQpIH0pO1xuXG5cbi8qKiovIH0pLFxuLyogNDc0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cbi8vIDIwLjIuMi4yOCBNYXRoLnNpZ24oeClcbm1vZHVsZS5leHBvcnRzID0gTWF0aC5zaWduIHx8IGZ1bmN0aW9uIHNpZ24oeCkge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gIHJldHVybiAoeCA9ICt4KSA9PSAwIHx8IHggIT0geCA/IHggOiB4IDwgMCA/IC0xIDogMTtcbn07XG5cblxuLyoqKi8gfSksXG4vKiA0NzUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKGdsb2JhbCkgey8qKlxuICogbG9kYXNoIChDdXN0b20gQnVpbGQpIDxodHRwczovL2xvZGFzaC5jb20vPlxuICogQnVpbGQ6IGBsb2Rhc2ggbW9kdWxhcml6ZSBleHBvcnRzPVwibnBtXCIgLW8gLi9gXG4gKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycyA8aHR0cHM6Ly9qcXVlcnkub3JnLz5cbiAqIFJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlIDxodHRwczovL2xvZGFzaC5jb20vbGljZW5zZT5cbiAqIEJhc2VkIG9uIFVuZGVyc2NvcmUuanMgMS44LjMgPGh0dHA6Ly91bmRlcnNjb3JlanMub3JnL0xJQ0VOU0U+XG4gKiBDb3B5cmlnaHQgSmVyZW15IEFzaGtlbmFzLCBEb2N1bWVudENsb3VkIGFuZCBJbnZlc3RpZ2F0aXZlIFJlcG9ydGVycyAmIEVkaXRvcnNcbiAqL1xuXG4vKiogVXNlZCBhcyB0aGUgYFR5cGVFcnJvcmAgbWVzc2FnZSBmb3IgXCJGdW5jdGlvbnNcIiBtZXRob2RzLiAqL1xudmFyIEZVTkNfRVJST1JfVEVYVCA9ICdFeHBlY3RlZCBhIGZ1bmN0aW9uJztcblxuLyoqIFVzZWQgYXMgcmVmZXJlbmNlcyBmb3IgdmFyaW91cyBgTnVtYmVyYCBjb25zdGFudHMuICovXG52YXIgTkFOID0gMCAvIDA7XG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBzeW1ib2xUYWcgPSAnW29iamVjdCBTeW1ib2xdJztcblxuLyoqIFVzZWQgdG8gbWF0Y2ggbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZS4gKi9cbnZhciByZVRyaW0gPSAvXlxccyt8XFxzKyQvZztcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IGJhZCBzaWduZWQgaGV4YWRlY2ltYWwgc3RyaW5nIHZhbHVlcy4gKi9cbnZhciByZUlzQmFkSGV4ID0gL15bLStdMHhbMC05YS1mXSskL2k7XG5cbi8qKiBVc2VkIHRvIGRldGVjdCBiaW5hcnkgc3RyaW5nIHZhbHVlcy4gKi9cbnZhciByZUlzQmluYXJ5ID0gL14wYlswMV0rJC9pO1xuXG4vKiogVXNlZCB0byBkZXRlY3Qgb2N0YWwgc3RyaW5nIHZhbHVlcy4gKi9cbnZhciByZUlzT2N0YWwgPSAvXjBvWzAtN10rJC9pO1xuXG4vKiogQnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMgd2l0aG91dCBhIGRlcGVuZGVuY3kgb24gYHJvb3RgLiAqL1xudmFyIGZyZWVQYXJzZUludCA9IHBhcnNlSW50O1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYGdsb2JhbGAgZnJvbSBOb2RlLmpzLiAqL1xudmFyIGZyZWVHbG9iYWwgPSB0eXBlb2YgZ2xvYmFsID09ICdvYmplY3QnICYmIGdsb2JhbCAmJiBnbG9iYWwuT2JqZWN0ID09PSBPYmplY3QgJiYgZ2xvYmFsO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYHNlbGZgLiAqL1xudmFyIGZyZWVTZWxmID0gdHlwZW9mIHNlbGYgPT0gJ29iamVjdCcgJiYgc2VsZiAmJiBzZWxmLk9iamVjdCA9PT0gT2JqZWN0ICYmIHNlbGY7XG5cbi8qKiBVc2VkIGFzIGEgcmVmZXJlbmNlIHRvIHRoZSBnbG9iYWwgb2JqZWN0LiAqL1xudmFyIHJvb3QgPSBmcmVlR2xvYmFsIHx8IGZyZWVTZWxmIHx8IEZ1bmN0aW9uKCdyZXR1cm4gdGhpcycpKCk7XG5cbi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKlxuICogVXNlZCB0byByZXNvbHZlIHRoZVxuICogW2B0b1N0cmluZ1RhZ2BdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLW9iamVjdC5wcm90b3R5cGUudG9zdHJpbmcpXG4gKiBvZiB2YWx1ZXMuXG4gKi9cbnZhciBvYmplY3RUb1N0cmluZyA9IG9iamVjdFByb3RvLnRvU3RyaW5nO1xuXG4vKiBCdWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcyBmb3IgdGhvc2Ugd2l0aCB0aGUgc2FtZSBuYW1lIGFzIG90aGVyIGBsb2Rhc2hgIG1ldGhvZHMuICovXG52YXIgbmF0aXZlTWF4ID0gTWF0aC5tYXgsXG4gICAgbmF0aXZlTWluID0gTWF0aC5taW47XG5cbi8qKlxuICogR2V0cyB0aGUgdGltZXN0YW1wIG9mIHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRoYXQgaGF2ZSBlbGFwc2VkIHNpbmNlXG4gKiB0aGUgVW5peCBlcG9jaCAoMSBKYW51YXJ5IDE5NzAgMDA6MDA6MDAgVVRDKS5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDIuNC4wXG4gKiBAY2F0ZWdvcnkgRGF0ZVxuICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgdGltZXN0YW1wLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmRlZmVyKGZ1bmN0aW9uKHN0YW1wKSB7XG4gKiAgIGNvbnNvbGUubG9nKF8ubm93KCkgLSBzdGFtcCk7XG4gKiB9LCBfLm5vdygpKTtcbiAqIC8vID0+IExvZ3MgdGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgaXQgdG9vayBmb3IgdGhlIGRlZmVycmVkIGludm9jYXRpb24uXG4gKi9cbnZhciBub3cgPSBmdW5jdGlvbigpIHtcbiAgcmV0dXJuIHJvb3QuRGF0ZS5ub3coKTtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIGRlYm91bmNlZCBmdW5jdGlvbiB0aGF0IGRlbGF5cyBpbnZva2luZyBgZnVuY2AgdW50aWwgYWZ0ZXIgYHdhaXRgXG4gKiBtaWxsaXNlY29uZHMgaGF2ZSBlbGFwc2VkIHNpbmNlIHRoZSBsYXN0IHRpbWUgdGhlIGRlYm91bmNlZCBmdW5jdGlvbiB3YXNcbiAqIGludm9rZWQuIFRoZSBkZWJvdW5jZWQgZnVuY3Rpb24gY29tZXMgd2l0aCBhIGBjYW5jZWxgIG1ldGhvZCB0byBjYW5jZWxcbiAqIGRlbGF5ZWQgYGZ1bmNgIGludm9jYXRpb25zIGFuZCBhIGBmbHVzaGAgbWV0aG9kIHRvIGltbWVkaWF0ZWx5IGludm9rZSB0aGVtLlxuICogUHJvdmlkZSBgb3B0aW9uc2AgdG8gaW5kaWNhdGUgd2hldGhlciBgZnVuY2Agc2hvdWxkIGJlIGludm9rZWQgb24gdGhlXG4gKiBsZWFkaW5nIGFuZC9vciB0cmFpbGluZyBlZGdlIG9mIHRoZSBgd2FpdGAgdGltZW91dC4gVGhlIGBmdW5jYCBpcyBpbnZva2VkXG4gKiB3aXRoIHRoZSBsYXN0IGFyZ3VtZW50cyBwcm92aWRlZCB0byB0aGUgZGVib3VuY2VkIGZ1bmN0aW9uLiBTdWJzZXF1ZW50XG4gKiBjYWxscyB0byB0aGUgZGVib3VuY2VkIGZ1bmN0aW9uIHJldHVybiB0aGUgcmVzdWx0IG9mIHRoZSBsYXN0IGBmdW5jYFxuICogaW52b2NhdGlvbi5cbiAqXG4gKiAqKk5vdGU6KiogSWYgYGxlYWRpbmdgIGFuZCBgdHJhaWxpbmdgIG9wdGlvbnMgYXJlIGB0cnVlYCwgYGZ1bmNgIGlzXG4gKiBpbnZva2VkIG9uIHRoZSB0cmFpbGluZyBlZGdlIG9mIHRoZSB0aW1lb3V0IG9ubHkgaWYgdGhlIGRlYm91bmNlZCBmdW5jdGlvblxuICogaXMgaW52b2tlZCBtb3JlIHRoYW4gb25jZSBkdXJpbmcgdGhlIGB3YWl0YCB0aW1lb3V0LlxuICpcbiAqIElmIGB3YWl0YCBpcyBgMGAgYW5kIGBsZWFkaW5nYCBpcyBgZmFsc2VgLCBgZnVuY2AgaW52b2NhdGlvbiBpcyBkZWZlcnJlZFxuICogdW50aWwgdG8gdGhlIG5leHQgdGljaywgc2ltaWxhciB0byBgc2V0VGltZW91dGAgd2l0aCBhIHRpbWVvdXQgb2YgYDBgLlxuICpcbiAqIFNlZSBbRGF2aWQgQ29yYmFjaG8ncyBhcnRpY2xlXShodHRwczovL2Nzcy10cmlja3MuY29tL2RlYm91bmNpbmctdGhyb3R0bGluZy1leHBsYWluZWQtZXhhbXBsZXMvKVxuICogZm9yIGRldGFpbHMgb3ZlciB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiBgXy5kZWJvdW5jZWAgYW5kIGBfLnRocm90dGxlYC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDAuMS4wXG4gKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGRlYm91bmNlLlxuICogQHBhcmFtIHtudW1iZXJ9IFt3YWl0PTBdIFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIGRlbGF5LlxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zPXt9XSBUaGUgb3B0aW9ucyBvYmplY3QuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLmxlYWRpbmc9ZmFsc2VdXG4gKiAgU3BlY2lmeSBpbnZva2luZyBvbiB0aGUgbGVhZGluZyBlZGdlIG9mIHRoZSB0aW1lb3V0LlxuICogQHBhcmFtIHtudW1iZXJ9IFtvcHRpb25zLm1heFdhaXRdXG4gKiAgVGhlIG1heGltdW0gdGltZSBgZnVuY2AgaXMgYWxsb3dlZCB0byBiZSBkZWxheWVkIGJlZm9yZSBpdCdzIGludm9rZWQuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLnRyYWlsaW5nPXRydWVdXG4gKiAgU3BlY2lmeSBpbnZva2luZyBvbiB0aGUgdHJhaWxpbmcgZWRnZSBvZiB0aGUgdGltZW91dC5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGRlYm91bmNlZCBmdW5jdGlvbi5cbiAqIEBleGFtcGxlXG4gKlxuICogLy8gQXZvaWQgY29zdGx5IGNhbGN1bGF0aW9ucyB3aGlsZSB0aGUgd2luZG93IHNpemUgaXMgaW4gZmx1eC5cbiAqIGpRdWVyeSh3aW5kb3cpLm9uKCdyZXNpemUnLCBfLmRlYm91bmNlKGNhbGN1bGF0ZUxheW91dCwgMTUwKSk7XG4gKlxuICogLy8gSW52b2tlIGBzZW5kTWFpbGAgd2hlbiBjbGlja2VkLCBkZWJvdW5jaW5nIHN1YnNlcXVlbnQgY2FsbHMuXG4gKiBqUXVlcnkoZWxlbWVudCkub24oJ2NsaWNrJywgXy5kZWJvdW5jZShzZW5kTWFpbCwgMzAwLCB7XG4gKiAgICdsZWFkaW5nJzogdHJ1ZSxcbiAqICAgJ3RyYWlsaW5nJzogZmFsc2VcbiAqIH0pKTtcbiAqXG4gKiAvLyBFbnN1cmUgYGJhdGNoTG9nYCBpcyBpbnZva2VkIG9uY2UgYWZ0ZXIgMSBzZWNvbmQgb2YgZGVib3VuY2VkIGNhbGxzLlxuICogdmFyIGRlYm91bmNlZCA9IF8uZGVib3VuY2UoYmF0Y2hMb2csIDI1MCwgeyAnbWF4V2FpdCc6IDEwMDAgfSk7XG4gKiB2YXIgc291cmNlID0gbmV3IEV2ZW50U291cmNlKCcvc3RyZWFtJyk7XG4gKiBqUXVlcnkoc291cmNlKS5vbignbWVzc2FnZScsIGRlYm91bmNlZCk7XG4gKlxuICogLy8gQ2FuY2VsIHRoZSB0cmFpbGluZyBkZWJvdW5jZWQgaW52b2NhdGlvbi5cbiAqIGpRdWVyeSh3aW5kb3cpLm9uKCdwb3BzdGF0ZScsIGRlYm91bmNlZC5jYW5jZWwpO1xuICovXG5mdW5jdGlvbiBkZWJvdW5jZShmdW5jLCB3YWl0LCBvcHRpb25zKSB7XG4gIHZhciBsYXN0QXJncyxcbiAgICAgIGxhc3RUaGlzLFxuICAgICAgbWF4V2FpdCxcbiAgICAgIHJlc3VsdCxcbiAgICAgIHRpbWVySWQsXG4gICAgICBsYXN0Q2FsbFRpbWUsXG4gICAgICBsYXN0SW52b2tlVGltZSA9IDAsXG4gICAgICBsZWFkaW5nID0gZmFsc2UsXG4gICAgICBtYXhpbmcgPSBmYWxzZSxcbiAgICAgIHRyYWlsaW5nID0gdHJ1ZTtcblxuICBpZiAodHlwZW9mIGZ1bmMgIT0gJ2Z1bmN0aW9uJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgfVxuICB3YWl0ID0gdG9OdW1iZXIod2FpdCkgfHwgMDtcbiAgaWYgKGlzT2JqZWN0KG9wdGlvbnMpKSB7XG4gICAgbGVhZGluZyA9ICEhb3B0aW9ucy5sZWFkaW5nO1xuICAgIG1heGluZyA9ICdtYXhXYWl0JyBpbiBvcHRpb25zO1xuICAgIG1heFdhaXQgPSBtYXhpbmcgPyBuYXRpdmVNYXgodG9OdW1iZXIob3B0aW9ucy5tYXhXYWl0KSB8fCAwLCB3YWl0KSA6IG1heFdhaXQ7XG4gICAgdHJhaWxpbmcgPSAndHJhaWxpbmcnIGluIG9wdGlvbnMgPyAhIW9wdGlvbnMudHJhaWxpbmcgOiB0cmFpbGluZztcbiAgfVxuXG4gIGZ1bmN0aW9uIGludm9rZUZ1bmModGltZSkge1xuICAgIHZhciBhcmdzID0gbGFzdEFyZ3MsXG4gICAgICAgIHRoaXNBcmcgPSBsYXN0VGhpcztcblxuICAgIGxhc3RBcmdzID0gbGFzdFRoaXMgPSB1bmRlZmluZWQ7XG4gICAgbGFzdEludm9rZVRpbWUgPSB0aW1lO1xuICAgIHJlc3VsdCA9IGZ1bmMuYXBwbHkodGhpc0FyZywgYXJncyk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGxlYWRpbmdFZGdlKHRpbWUpIHtcbiAgICAvLyBSZXNldCBhbnkgYG1heFdhaXRgIHRpbWVyLlxuICAgIGxhc3RJbnZva2VUaW1lID0gdGltZTtcbiAgICAvLyBTdGFydCB0aGUgdGltZXIgZm9yIHRoZSB0cmFpbGluZyBlZGdlLlxuICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgd2FpdCk7XG4gICAgLy8gSW52b2tlIHRoZSBsZWFkaW5nIGVkZ2UuXG4gICAgcmV0dXJuIGxlYWRpbmcgPyBpbnZva2VGdW5jKHRpbWUpIDogcmVzdWx0O1xuICB9XG5cbiAgZnVuY3Rpb24gcmVtYWluaW5nV2FpdCh0aW1lKSB7XG4gICAgdmFyIHRpbWVTaW5jZUxhc3RDYWxsID0gdGltZSAtIGxhc3RDYWxsVGltZSxcbiAgICAgICAgdGltZVNpbmNlTGFzdEludm9rZSA9IHRpbWUgLSBsYXN0SW52b2tlVGltZSxcbiAgICAgICAgcmVzdWx0ID0gd2FpdCAtIHRpbWVTaW5jZUxhc3RDYWxsO1xuXG4gICAgcmV0dXJuIG1heGluZyA/IG5hdGl2ZU1pbihyZXN1bHQsIG1heFdhaXQgLSB0aW1lU2luY2VMYXN0SW52b2tlKSA6IHJlc3VsdDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHNob3VsZEludm9rZSh0aW1lKSB7XG4gICAgdmFyIHRpbWVTaW5jZUxhc3RDYWxsID0gdGltZSAtIGxhc3RDYWxsVGltZSxcbiAgICAgICAgdGltZVNpbmNlTGFzdEludm9rZSA9IHRpbWUgLSBsYXN0SW52b2tlVGltZTtcblxuICAgIC8vIEVpdGhlciB0aGlzIGlzIHRoZSBmaXJzdCBjYWxsLCBhY3Rpdml0eSBoYXMgc3RvcHBlZCBhbmQgd2UncmUgYXQgdGhlXG4gICAgLy8gdHJhaWxpbmcgZWRnZSwgdGhlIHN5c3RlbSB0aW1lIGhhcyBnb25lIGJhY2t3YXJkcyBhbmQgd2UncmUgdHJlYXRpbmdcbiAgICAvLyBpdCBhcyB0aGUgdHJhaWxpbmcgZWRnZSwgb3Igd2UndmUgaGl0IHRoZSBgbWF4V2FpdGAgbGltaXQuXG4gICAgcmV0dXJuIChsYXN0Q2FsbFRpbWUgPT09IHVuZGVmaW5lZCB8fCAodGltZVNpbmNlTGFzdENhbGwgPj0gd2FpdCkgfHxcbiAgICAgICh0aW1lU2luY2VMYXN0Q2FsbCA8IDApIHx8IChtYXhpbmcgJiYgdGltZVNpbmNlTGFzdEludm9rZSA+PSBtYXhXYWl0KSk7XG4gIH1cblxuICBmdW5jdGlvbiB0aW1lckV4cGlyZWQoKSB7XG4gICAgdmFyIHRpbWUgPSBub3coKTtcbiAgICBpZiAoc2hvdWxkSW52b2tlKHRpbWUpKSB7XG4gICAgICByZXR1cm4gdHJhaWxpbmdFZGdlKHRpbWUpO1xuICAgIH1cbiAgICAvLyBSZXN0YXJ0IHRoZSB0aW1lci5cbiAgICB0aW1lcklkID0gc2V0VGltZW91dCh0aW1lckV4cGlyZWQsIHJlbWFpbmluZ1dhaXQodGltZSkpO1xuICB9XG5cbiAgZnVuY3Rpb24gdHJhaWxpbmdFZGdlKHRpbWUpIHtcbiAgICB0aW1lcklkID0gdW5kZWZpbmVkO1xuXG4gICAgLy8gT25seSBpbnZva2UgaWYgd2UgaGF2ZSBgbGFzdEFyZ3NgIHdoaWNoIG1lYW5zIGBmdW5jYCBoYXMgYmVlblxuICAgIC8vIGRlYm91bmNlZCBhdCBsZWFzdCBvbmNlLlxuICAgIGlmICh0cmFpbGluZyAmJiBsYXN0QXJncykge1xuICAgICAgcmV0dXJuIGludm9rZUZ1bmModGltZSk7XG4gICAgfVxuICAgIGxhc3RBcmdzID0gbGFzdFRoaXMgPSB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNhbmNlbCgpIHtcbiAgICBpZiAodGltZXJJZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGltZXJJZCk7XG4gICAgfVxuICAgIGxhc3RJbnZva2VUaW1lID0gMDtcbiAgICBsYXN0QXJncyA9IGxhc3RDYWxsVGltZSA9IGxhc3RUaGlzID0gdGltZXJJZCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGZsdXNoKCkge1xuICAgIHJldHVybiB0aW1lcklkID09PSB1bmRlZmluZWQgPyByZXN1bHQgOiB0cmFpbGluZ0VkZ2Uobm93KCkpO1xuICB9XG5cbiAgZnVuY3Rpb24gZGVib3VuY2VkKCkge1xuICAgIHZhciB0aW1lID0gbm93KCksXG4gICAgICAgIGlzSW52b2tpbmcgPSBzaG91bGRJbnZva2UodGltZSk7XG5cbiAgICBsYXN0QXJncyA9IGFyZ3VtZW50cztcbiAgICBsYXN0VGhpcyA9IHRoaXM7XG4gICAgbGFzdENhbGxUaW1lID0gdGltZTtcblxuICAgIGlmIChpc0ludm9raW5nKSB7XG4gICAgICBpZiAodGltZXJJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBsZWFkaW5nRWRnZShsYXN0Q2FsbFRpbWUpO1xuICAgICAgfVxuICAgICAgaWYgKG1heGluZykge1xuICAgICAgICAvLyBIYW5kbGUgaW52b2NhdGlvbnMgaW4gYSB0aWdodCBsb29wLlxuICAgICAgICB0aW1lcklkID0gc2V0VGltZW91dCh0aW1lckV4cGlyZWQsIHdhaXQpO1xuICAgICAgICByZXR1cm4gaW52b2tlRnVuYyhsYXN0Q2FsbFRpbWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGltZXJJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aW1lcklkID0gc2V0VGltZW91dCh0aW1lckV4cGlyZWQsIHdhaXQpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIGRlYm91bmNlZC5jYW5jZWwgPSBjYW5jZWw7XG4gIGRlYm91bmNlZC5mbHVzaCA9IGZsdXNoO1xuICByZXR1cm4gZGVib3VuY2VkO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSB0aHJvdHRsZWQgZnVuY3Rpb24gdGhhdCBvbmx5IGludm9rZXMgYGZ1bmNgIGF0IG1vc3Qgb25jZSBwZXJcbiAqIGV2ZXJ5IGB3YWl0YCBtaWxsaXNlY29uZHMuIFRoZSB0aHJvdHRsZWQgZnVuY3Rpb24gY29tZXMgd2l0aCBhIGBjYW5jZWxgXG4gKiBtZXRob2QgdG8gY2FuY2VsIGRlbGF5ZWQgYGZ1bmNgIGludm9jYXRpb25zIGFuZCBhIGBmbHVzaGAgbWV0aG9kIHRvXG4gKiBpbW1lZGlhdGVseSBpbnZva2UgdGhlbS4gUHJvdmlkZSBgb3B0aW9uc2AgdG8gaW5kaWNhdGUgd2hldGhlciBgZnVuY2BcbiAqIHNob3VsZCBiZSBpbnZva2VkIG9uIHRoZSBsZWFkaW5nIGFuZC9vciB0cmFpbGluZyBlZGdlIG9mIHRoZSBgd2FpdGBcbiAqIHRpbWVvdXQuIFRoZSBgZnVuY2AgaXMgaW52b2tlZCB3aXRoIHRoZSBsYXN0IGFyZ3VtZW50cyBwcm92aWRlZCB0byB0aGVcbiAqIHRocm90dGxlZCBmdW5jdGlvbi4gU3Vic2VxdWVudCBjYWxscyB0byB0aGUgdGhyb3R0bGVkIGZ1bmN0aW9uIHJldHVybiB0aGVcbiAqIHJlc3VsdCBvZiB0aGUgbGFzdCBgZnVuY2AgaW52b2NhdGlvbi5cbiAqXG4gKiAqKk5vdGU6KiogSWYgYGxlYWRpbmdgIGFuZCBgdHJhaWxpbmdgIG9wdGlvbnMgYXJlIGB0cnVlYCwgYGZ1bmNgIGlzXG4gKiBpbnZva2VkIG9uIHRoZSB0cmFpbGluZyBlZGdlIG9mIHRoZSB0aW1lb3V0IG9ubHkgaWYgdGhlIHRocm90dGxlZCBmdW5jdGlvblxuICogaXMgaW52b2tlZCBtb3JlIHRoYW4gb25jZSBkdXJpbmcgdGhlIGB3YWl0YCB0aW1lb3V0LlxuICpcbiAqIElmIGB3YWl0YCBpcyBgMGAgYW5kIGBsZWFkaW5nYCBpcyBgZmFsc2VgLCBgZnVuY2AgaW52b2NhdGlvbiBpcyBkZWZlcnJlZFxuICogdW50aWwgdG8gdGhlIG5leHQgdGljaywgc2ltaWxhciB0byBgc2V0VGltZW91dGAgd2l0aCBhIHRpbWVvdXQgb2YgYDBgLlxuICpcbiAqIFNlZSBbRGF2aWQgQ29yYmFjaG8ncyBhcnRpY2xlXShodHRwczovL2Nzcy10cmlja3MuY29tL2RlYm91bmNpbmctdGhyb3R0bGluZy1leHBsYWluZWQtZXhhbXBsZXMvKVxuICogZm9yIGRldGFpbHMgb3ZlciB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiBgXy50aHJvdHRsZWAgYW5kIGBfLmRlYm91bmNlYC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDAuMS4wXG4gKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHRocm90dGxlLlxuICogQHBhcmFtIHtudW1iZXJ9IFt3YWl0PTBdIFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIHRocm90dGxlIGludm9jYXRpb25zIHRvLlxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zPXt9XSBUaGUgb3B0aW9ucyBvYmplY3QuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLmxlYWRpbmc9dHJ1ZV1cbiAqICBTcGVjaWZ5IGludm9raW5nIG9uIHRoZSBsZWFkaW5nIGVkZ2Ugb2YgdGhlIHRpbWVvdXQuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLnRyYWlsaW5nPXRydWVdXG4gKiAgU3BlY2lmeSBpbnZva2luZyBvbiB0aGUgdHJhaWxpbmcgZWRnZSBvZiB0aGUgdGltZW91dC5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHRocm90dGxlZCBmdW5jdGlvbi5cbiAqIEBleGFtcGxlXG4gKlxuICogLy8gQXZvaWQgZXhjZXNzaXZlbHkgdXBkYXRpbmcgdGhlIHBvc2l0aW9uIHdoaWxlIHNjcm9sbGluZy5cbiAqIGpRdWVyeSh3aW5kb3cpLm9uKCdzY3JvbGwnLCBfLnRocm90dGxlKHVwZGF0ZVBvc2l0aW9uLCAxMDApKTtcbiAqXG4gKiAvLyBJbnZva2UgYHJlbmV3VG9rZW5gIHdoZW4gdGhlIGNsaWNrIGV2ZW50IGlzIGZpcmVkLCBidXQgbm90IG1vcmUgdGhhbiBvbmNlIGV2ZXJ5IDUgbWludXRlcy5cbiAqIHZhciB0aHJvdHRsZWQgPSBfLnRocm90dGxlKHJlbmV3VG9rZW4sIDMwMDAwMCwgeyAndHJhaWxpbmcnOiBmYWxzZSB9KTtcbiAqIGpRdWVyeShlbGVtZW50KS5vbignY2xpY2snLCB0aHJvdHRsZWQpO1xuICpcbiAqIC8vIENhbmNlbCB0aGUgdHJhaWxpbmcgdGhyb3R0bGVkIGludm9jYXRpb24uXG4gKiBqUXVlcnkod2luZG93KS5vbigncG9wc3RhdGUnLCB0aHJvdHRsZWQuY2FuY2VsKTtcbiAqL1xuZnVuY3Rpb24gdGhyb3R0bGUoZnVuYywgd2FpdCwgb3B0aW9ucykge1xuICB2YXIgbGVhZGluZyA9IHRydWUsXG4gICAgICB0cmFpbGluZyA9IHRydWU7XG5cbiAgaWYgKHR5cGVvZiBmdW5jICE9ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gIH1cbiAgaWYgKGlzT2JqZWN0KG9wdGlvbnMpKSB7XG4gICAgbGVhZGluZyA9ICdsZWFkaW5nJyBpbiBvcHRpb25zID8gISFvcHRpb25zLmxlYWRpbmcgOiBsZWFkaW5nO1xuICAgIHRyYWlsaW5nID0gJ3RyYWlsaW5nJyBpbiBvcHRpb25zID8gISFvcHRpb25zLnRyYWlsaW5nIDogdHJhaWxpbmc7XG4gIH1cbiAgcmV0dXJuIGRlYm91bmNlKGZ1bmMsIHdhaXQsIHtcbiAgICAnbGVhZGluZyc6IGxlYWRpbmcsXG4gICAgJ21heFdhaXQnOiB3YWl0LFxuICAgICd0cmFpbGluZyc6IHRyYWlsaW5nXG4gIH0pO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIHRoZVxuICogW2xhbmd1YWdlIHR5cGVdKGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1lY21hc2NyaXB0LWxhbmd1YWdlLXR5cGVzKVxuICogb2YgYE9iamVjdGAuIChlLmcuIGFycmF5cywgZnVuY3Rpb25zLCBvYmplY3RzLCByZWdleGVzLCBgbmV3IE51bWJlcigwKWAsIGFuZCBgbmV3IFN0cmluZygnJylgKVxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIG9iamVjdCwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzT2JqZWN0KHt9KTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0KFsxLCAyLCAzXSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdChfLm5vb3ApO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3QobnVsbCk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG5mdW5jdGlvbiBpc09iamVjdCh2YWx1ZSkge1xuICB2YXIgdHlwZSA9IHR5cGVvZiB2YWx1ZTtcbiAgcmV0dXJuICEhdmFsdWUgJiYgKHR5cGUgPT0gJ29iamVjdCcgfHwgdHlwZSA9PSAnZnVuY3Rpb24nKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBvYmplY3QtbGlrZS4gQSB2YWx1ZSBpcyBvYmplY3QtbGlrZSBpZiBpdCdzIG5vdCBgbnVsbGBcbiAqIGFuZCBoYXMgYSBgdHlwZW9mYCByZXN1bHQgb2YgXCJvYmplY3RcIi5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBvYmplY3QtbGlrZSwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzT2JqZWN0TGlrZSh7fSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdExpa2UoWzEsIDIsIDNdKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0TGlrZShfLm5vb3ApO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzT2JqZWN0TGlrZShudWxsKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzT2JqZWN0TGlrZSh2YWx1ZSkge1xuICByZXR1cm4gISF2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT0gJ29iamVjdCc7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIGBTeW1ib2xgIHByaW1pdGl2ZSBvciBvYmplY3QuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBzeW1ib2wsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc1N5bWJvbChTeW1ib2wuaXRlcmF0b3IpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNTeW1ib2woJ2FiYycpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNTeW1ib2wodmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSAnc3ltYm9sJyB8fFxuICAgIChpc09iamVjdExpa2UodmFsdWUpICYmIG9iamVjdFRvU3RyaW5nLmNhbGwodmFsdWUpID09IHN5bWJvbFRhZyk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYHZhbHVlYCB0byBhIG51bWJlci5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcHJvY2Vzcy5cbiAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIG51bWJlci5cbiAqIEBleGFtcGxlXG4gKlxuICogXy50b051bWJlcigzLjIpO1xuICogLy8gPT4gMy4yXG4gKlxuICogXy50b051bWJlcihOdW1iZXIuTUlOX1ZBTFVFKTtcbiAqIC8vID0+IDVlLTMyNFxuICpcbiAqIF8udG9OdW1iZXIoSW5maW5pdHkpO1xuICogLy8gPT4gSW5maW5pdHlcbiAqXG4gKiBfLnRvTnVtYmVyKCczLjInKTtcbiAqIC8vID0+IDMuMlxuICovXG5mdW5jdGlvbiB0b051bWJlcih2YWx1ZSkge1xuICBpZiAodHlwZW9mIHZhbHVlID09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIGlmIChpc1N5bWJvbCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gTkFOO1xuICB9XG4gIGlmIChpc09iamVjdCh2YWx1ZSkpIHtcbiAgICB2YXIgb3RoZXIgPSB0eXBlb2YgdmFsdWUudmFsdWVPZiA9PSAnZnVuY3Rpb24nID8gdmFsdWUudmFsdWVPZigpIDogdmFsdWU7XG4gICAgdmFsdWUgPSBpc09iamVjdChvdGhlcikgPyAob3RoZXIgKyAnJykgOiBvdGhlcjtcbiAgfVxuICBpZiAodHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHZhbHVlID09PSAwID8gdmFsdWUgOiArdmFsdWU7XG4gIH1cbiAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKHJlVHJpbSwgJycpO1xuICB2YXIgaXNCaW5hcnkgPSByZUlzQmluYXJ5LnRlc3QodmFsdWUpO1xuICByZXR1cm4gKGlzQmluYXJ5IHx8IHJlSXNPY3RhbC50ZXN0KHZhbHVlKSlcbiAgICA/IGZyZWVQYXJzZUludCh2YWx1ZS5zbGljZSgyKSwgaXNCaW5hcnkgPyAyIDogOClcbiAgICA6IChyZUlzQmFkSGV4LnRlc3QodmFsdWUpID8gTkFOIDogK3ZhbHVlKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB0aHJvdHRsZTtcblxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18oMTA3KSkpXG5cbi8qKiovIH0pLFxuLyogNDc2ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2xvYWRpbmdfY29tcG9uZW50X3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxODcpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2xvYWRpbmdfY29tcG9uZW50X3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbG9hZGluZ19jb21wb25lbnRfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9sb2FkaW5nX2NvbXBvbmVudF92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbG9hZGluZ19jb21wb25lbnRfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNGNlYzI5YmRfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9sb2FkaW5nX2NvbXBvbmVudF92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNDc4KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl80Y2VjMjliZF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2xvYWRpbmdfY29tcG9uZW50X3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNGNlYzI5YmRfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9sb2FkaW5nX2NvbXBvbmVudF92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9sb2FkaW5nX2NvbXBvbmVudF92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzRjZWMyOWJkX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbG9hZGluZ19jb21wb25lbnRfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzRjZWMyOWJkX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbG9hZGluZ19jb21wb25lbnRfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDQ3NyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgdmFyIF92bSA9IHRoaXM7dmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaDtyZXR1cm4gX2MoJ3RyYW5zaXRpb24nLCB7IGF0dHJzOiB7IFwibmFtZVwiOiBcImZhZGVcIiB9IH0sIFtfdm0uZnVsbHNjcmVlblZpc2libGUgPyBfYygnZGl2JywgeyBjbGFzczogX3ZtLmNsYXNzZXMgfSwgW19jKCdkaXYnLCB7IGNsYXNzOiBfdm0ubWFpbkNsYXNzZXMgfSwgW19jKCdzcGFuJywgeyBjbGFzczogX3ZtLmRvdENsYXNzZXMgfSksIF92bS5fdihcIiBcIiksIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0udGV4dENsYXNzZXMgfSwgW192bS5fdChcImRlZmF1bHRcIildLCAyKV0pXSkgOiBfdm0uX2UoKV0pO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogNDc4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBjbGFzczogX3ZtLndyYXBwZXJDbGFzc2VzIH0sIFtfYygnZGl2JywgeyBjbGFzczogX3ZtLnNwaW5uZXJDbGFzc2VzIH0sIFtfYygnU3BpbicsIHsgYXR0cnM6IHsgXCJmaXhcIjogXCJcIiB9IH0sIFtfYygnSWNvbicsIHsgY2xhc3M6IF92bS5pY29uQ2xhc3NlcywgYXR0cnM6IHsgXCJ0eXBlXCI6IFwiaW9zLWxvYWRpbmdcIiwgXCJzaXplXCI6IFwiMThcIiB9IH0pLCBfdm0uX3YoXCIgXCIpLCBfdm0udGV4dCA/IF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0udGV4dENsYXNzZXMgfSwgW192bS5fdihfdm0uX3MoX3ZtLnRleHQpKV0pIDogX3ZtLl9lKCldLCAxKV0sIDEpXSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA0NzkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0ud3JhcENsYXNzZXMsIHN0YXRpY1N0eWxlOiB7IFwidG91Y2gtYWN0aW9uXCI6IFwibm9uZVwiIH0gfSwgW19jKCdkaXYnLCB7IHJlZjogXCJzY3JvbGxDb250YWluZXJcIiwgY2xhc3M6IF92bS5zY3JvbGxDb250YWluZXJDbGFzc2VzLCBzdHlsZTogeyBoZWlnaHQ6IF92bS5oZWlnaHQgKyAncHgnIH0sIG9uOiB7IFwic2Nyb2xsXCI6IF92bS5oYW5kbGVTY3JvbGwsIFwid2hlZWxcIjogX3ZtLm9uV2hlZWwsIFwidG91Y2hzdGFydFwiOiBfdm0ub25Qb2ludGVyRG93biB9IH0sIFtfYygnZGl2JywgeyByZWY6IFwidG9wbG9hZGVyXCIsIGNsYXNzOiBfdm0ubG9hZGVyQ2xhc3Nlcywgc3R5bGU6IHsgcGFkZGluZ1RvcDogX3ZtLndyYXBwZXJQYWRkaW5nLnBhZGRpbmdUb3AgfSB9LCBbX2MoJ2xvYWRlcicsIHsgYXR0cnM6IHsgXCJ0ZXh0XCI6IF92bS5sb2NhbGVMb2FkaW5nVGV4dCwgXCJhY3RpdmVcIjogX3ZtLnNob3dUb3BMb2FkZXIgfSB9KV0sIDEpLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyByZWY6IFwic2Nyb2xsQ29udGVudFwiLCBjbGFzczogX3ZtLnNsb3RDb250YWluZXJDbGFzc2VzIH0sIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwgMiksIF92bS5fdihcIiBcIiksIF9jKCdkaXYnLCB7IHJlZjogXCJib3R0b21Mb2FkZXJcIiwgY2xhc3M6IF92bS5sb2FkZXJDbGFzc2VzLCBzdHlsZTogeyBwYWRkaW5nQm90dG9tOiBfdm0ud3JhcHBlclBhZGRpbmcucGFkZGluZ0JvdHRvbSB9IH0sIFtfYygnbG9hZGVyJywgeyBhdHRyczogeyBcInRleHRcIjogX3ZtLmxvY2FsZUxvYWRpbmdUZXh0LCBcImFjdGl2ZVwiOiBfdm0uc2hvd0JvdHRvbUxvYWRlciB9IH0pXSwgMSldKV0pO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogNDgwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfc3BsaXQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ4MSk7XG5cbnZhciBfc3BsaXQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc3BsaXQpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSBfc3BsaXQyLmRlZmF1bHQ7XG5cbi8qKiovIH0pLFxuLyogNDgxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3NwbGl0X3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxODkpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3NwbGl0X3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc3BsaXRfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zcGxpdF92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc3BsaXRfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfN2MyMDIzMzJfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9zcGxpdF92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNDg0KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl83YzIwMjMzMl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3NwbGl0X3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfN2MyMDIzMzJfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9zcGxpdF92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zcGxpdF92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzdjMjAyMzMyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfc3BsaXRfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzdjMjAyMzMyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfc3BsaXRfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDQ4MiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90cmlnZ2VyX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxOTApO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RyaWdnZXJfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90cmlnZ2VyX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdHJpZ2dlcl92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdHJpZ2dlcl92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wMjkxYzNhMF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RyaWdnZXJfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ4Myk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMDI5MWMzYTBfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90cmlnZ2VyX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMDI5MWMzYTBfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90cmlnZ2VyX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RyaWdnZXJfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wMjkxYzNhMF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RyaWdnZXJfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzAyOTFjM2EwX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdHJpZ2dlcl92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogNDgzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBjbGFzczogX3ZtLmNsYXNzZXMgfSwgW19jKCdkaXYnLCB7IGNsYXNzOiBfdm0uYmFyQ29uQ2xhc3NlcyB9LCBfdm0uX20oMCksIDApXSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtmdW5jdGlvbiAoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF92bS5fbCg4LCBmdW5jdGlvbiAoaSkge1xuICAgIHJldHVybiBfYygnaScsIHsga2V5OiBcInRyaWdnZXItXCIgKyBpLCBjbGFzczogX3ZtLnByZWZpeCArIFwiLWJhclwiIH0pO1xuICB9KTtcbn1dO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA0ODQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IHJlZjogXCJvdXRlcldyYXBwZXJcIiwgY2xhc3M6IF92bS53cmFwcGVyQ2xhc3NlcyB9LCBbX3ZtLmlzSG9yaXpvbnRhbCA/IF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0ucHJlZml4ICsgXCItaG9yaXpvbnRhbFwiIH0sIFtfYygnZGl2JywgeyBzdGF0aWNDbGFzczogXCJsZWZ0LXBhbmVcIiwgY2xhc3M6IF92bS5wYW5lQ2xhc3Nlcywgc3R5bGU6IHsgcmlnaHQ6IF92bS5hbm90aGVyT2Zmc2V0ICsgXCIlXCIgfSB9LCBbX3ZtLl90KFwibGVmdFwiKV0sIDIpLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyBjbGFzczogX3ZtLnByZWZpeCArIFwiLXRyaWdnZXItY29uXCIsIHN0eWxlOiB7IGxlZnQ6IF92bS5vZmZzZXQgKyBcIiVcIiB9LCBvbjogeyBcIm1vdXNlZG93blwiOiBfdm0uaGFuZGxlTW91c2Vkb3duIH0gfSwgW192bS5fdChcInRyaWdnZXJcIiwgW19jKCd0cmlnZ2VyJywgeyBhdHRyczogeyBcIm1vZGVcIjogXCJ2ZXJ0aWNhbFwiIH0gfSldKV0sIDIpLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyBzdGF0aWNDbGFzczogXCJyaWdodC1wYW5lXCIsIGNsYXNzOiBfdm0ucGFuZUNsYXNzZXMsIHN0eWxlOiB7IGxlZnQ6IF92bS5vZmZzZXQgKyBcIiVcIiB9IH0sIFtfdm0uX3QoXCJyaWdodFwiKV0sIDIpXSkgOiBfYygnZGl2JywgeyBjbGFzczogX3ZtLnByZWZpeCArIFwiLXZlcnRpY2FsXCIgfSwgW19jKCdkaXYnLCB7IHN0YXRpY0NsYXNzOiBcInRvcC1wYW5lXCIsIGNsYXNzOiBfdm0ucGFuZUNsYXNzZXMsIHN0eWxlOiB7IGJvdHRvbTogX3ZtLmFub3RoZXJPZmZzZXQgKyBcIiVcIiB9IH0sIFtfdm0uX3QoXCJ0b3BcIildLCAyKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgY2xhc3M6IF92bS5wcmVmaXggKyBcIi10cmlnZ2VyLWNvblwiLCBzdHlsZTogeyB0b3A6IF92bS5vZmZzZXQgKyBcIiVcIiB9LCBvbjogeyBcIm1vdXNlZG93blwiOiBfdm0uaGFuZGxlTW91c2Vkb3duIH0gfSwgW192bS5fdChcInRyaWdnZXJcIiwgW19jKCd0cmlnZ2VyJywgeyBhdHRyczogeyBcIm1vZGVcIjogXCJob3Jpem9udGFsXCIgfSB9KV0pXSwgMiksIF92bS5fdihcIiBcIiksIF9jKCdkaXYnLCB7IHN0YXRpY0NsYXNzOiBcImJvdHRvbS1wYW5lXCIsIGNsYXNzOiBfdm0ucGFuZUNsYXNzZXMsIHN0eWxlOiB7IHRvcDogX3ZtLm9mZnNldCArIFwiJVwiIH0gfSwgW192bS5fdChcImJvdHRvbVwiKV0sIDIpXSldKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDQ4NSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2xheW91dCA9IF9fd2VicGFja19yZXF1aXJlX18oNDg2KTtcblxudmFyIF9sYXlvdXQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbGF5b3V0KTtcblxudmFyIF9oZWFkZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE4Mik7XG5cbnZhciBfaGVhZGVyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2hlYWRlcik7XG5cbnZhciBfc2lkZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE5Mik7XG5cbnZhciBfc2lkZXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc2lkZXIpO1xuXG52YXIgX2NvbnRlbnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE0NSk7XG5cbnZhciBfY29udGVudDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jb250ZW50KTtcblxudmFyIF9mb290ZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE3Mik7XG5cbnZhciBfZm9vdGVyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2Zvb3Rlcik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbl9sYXlvdXQyLmRlZmF1bHQuSGVhZGVyID0gX2hlYWRlcjIuZGVmYXVsdDtcbl9sYXlvdXQyLmRlZmF1bHQuU2lkZXIgPSBfc2lkZXIyLmRlZmF1bHQ7XG5fbGF5b3V0Mi5kZWZhdWx0LkNvbnRlbnQgPSBfY29udGVudDIuZGVmYXVsdDtcbl9sYXlvdXQyLmRlZmF1bHQuRm9vdGVyID0gX2Zvb3RlcjIuZGVmYXVsdDtcblxuZXhwb3J0cy5kZWZhdWx0ID0gX2xheW91dDIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiA0ODYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbGF5b3V0X3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxOTEpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2xheW91dF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2xheW91dF92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2xheW91dF92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbGF5b3V0X3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzU2MzE1ZTU0X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbGF5b3V0X3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0ODcpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzU2MzE1ZTU0X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbGF5b3V0X3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNTYzMTVlNTRfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9sYXlvdXRfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbGF5b3V0X3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNTYzMTVlNTRfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9sYXlvdXRfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzU2MzE1ZTU0X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbGF5b3V0X3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA0ODcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0ud3JhcENsYXNzZXMgfSwgW192bS5fdChcImRlZmF1bHRcIildLCAyKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDQ4OCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgdmFyIF92bSA9IHRoaXM7dmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaDtyZXR1cm4gX2MoJ2RpdicsIHsgY2xhc3M6IF92bS53cmFwQ2xhc3Nlcywgc3R5bGU6IF92bS53cmFwU3R5bGVzIH0sIFtfYygnc3BhbicsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBfdm0uc2hvd1plcm9UcmlnZ2VyLCBleHByZXNzaW9uOiBcInNob3daZXJvVHJpZ2dlclwiIH1dLCBjbGFzczogX3ZtLnplcm9XaWR0aFRyaWdnZXJDbGFzc2VzLCBvbjogeyBcImNsaWNrXCI6IF92bS50b2dnbGVDb2xsYXBzZSB9IH0sIFtfYygnaScsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWljb24gaXZ1LWljb24taW9zLW1lbnVcIiB9KV0pLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyBjbGFzczogX3ZtLmNoaWxkQ2xhc3NlcyB9LCBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sIDIpLCBfdm0uX3YoXCIgXCIpLCBfdm0uX3QoXCJ0cmlnZ2VyXCIsIFtfYygnZGl2JywgeyBkaXJlY3RpdmVzOiBbeyBuYW1lOiBcInNob3dcIiwgcmF3TmFtZTogXCJ2LXNob3dcIiwgdmFsdWU6IF92bS5zaG93Qm90dG9tVHJpZ2dlciwgZXhwcmVzc2lvbjogXCJzaG93Qm90dG9tVHJpZ2dlclwiIH1dLCBjbGFzczogX3ZtLnRyaWdnZXJDbGFzc2VzLCBzdHlsZTogeyB3aWR0aDogX3ZtLnNpZGVyV2lkdGggKyAncHgnIH0sIG9uOiB7IFwiY2xpY2tcIjogX3ZtLnRvZ2dsZUNvbGxhcHNlIH0gfSwgW19jKCdpJywgeyBjbGFzczogX3ZtLnRyaWdnZXJJY29uQ2xhc3NlcyB9KV0pXSldLCAyKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDQ4OSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2xpc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ5MCk7XG5cbnZhciBfbGlzdDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9saXN0KTtcblxudmFyIF9saXN0SXRlbSA9IF9fd2VicGFja19yZXF1aXJlX18oNDkyKTtcblxudmFyIF9saXN0SXRlbTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9saXN0SXRlbSk7XG5cbnZhciBfbGlzdEl0ZW1NZXRhID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0OTQpO1xuXG52YXIgX2xpc3RJdGVtTWV0YTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9saXN0SXRlbU1ldGEpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5fbGlzdDIuZGVmYXVsdC5JdGVtID0gX2xpc3RJdGVtMi5kZWZhdWx0O1xuX2xpc3QyLmRlZmF1bHQuSXRlbS5NZXRhID0gX2xpc3RJdGVtTWV0YTIuZGVmYXVsdDtcblxuZXhwb3J0cy5kZWZhdWx0ID0gX2xpc3QyLmRlZmF1bHQ7XG5cbi8qKiovIH0pLFxuLyogNDkwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2xpc3RfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE5NCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbGlzdF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2xpc3RfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9saXN0X3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9saXN0X3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzNjNzhiMjJjX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbGlzdF92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNDkxKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zYzc4YjIyY19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2xpc3RfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zYzc4YjIyY19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2xpc3RfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbGlzdF92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzNjNzhiMjJjX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbGlzdF92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfM2M3OGIyMmNfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9saXN0X3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA0OTEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0uY2xhc3NlcyB9LCBbX3ZtLmhlYWRlciB8fCBfdm0uJHNsb3RzLmhlYWRlciA/IF9jKCdkaXYnLCB7IHN0YXRpY0NsYXNzOiBcIml2dS1saXN0LWhlYWRlclwiIH0sIFtfdm0uX3QoXCJoZWFkZXJcIiwgW192bS5fdihfdm0uX3MoX3ZtLmhlYWRlcikpXSldLCAyKSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyBzdGF0aWNDbGFzczogXCJpdnUtbGlzdC1jb250YWluZXJcIiB9LCBbX2MoJ3VsJywgeyBzdGF0aWNDbGFzczogXCJpdnUtbGlzdC1pdGVtc1wiIH0sIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwgMildKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLmxvYWRpbmcgPyBfYygnU3BpbicsIHsgYXR0cnM6IHsgXCJmaXhcIjogXCJcIiwgXCJzaXplXCI6IFwibGFyZ2VcIiB9IH0sIFtfdm0uX3QoXCJzcGluXCIpXSwgMikgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLmZvb3RlciB8fCBfdm0uJHNsb3RzLmZvb3RlciA/IF9jKCdkaXYnLCB7IHN0YXRpY0NsYXNzOiBcIml2dS1saXN0LWZvb3RlclwiIH0sIFtfdm0uX3QoXCJmb290ZXJcIiwgW192bS5fdihfdm0uX3MoX3ZtLmZvb3RlcikpXSldLCAyKSA6IF92bS5fZSgpXSwgMSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA0OTIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbGlzdF9pdGVtX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxOTUpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2xpc3RfaXRlbV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2xpc3RfaXRlbV92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2xpc3RfaXRlbV92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbGlzdF9pdGVtX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzNlMTgwMjA1X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbGlzdF9pdGVtX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0OTMpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzNlMTgwMjA1X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbGlzdF9pdGVtX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfM2UxODAyMDVfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9saXN0X2l0ZW1fdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbGlzdF9pdGVtX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfM2UxODAyMDVfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9saXN0X2l0ZW1fdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzNlMTgwMjA1X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbGlzdF9pdGVtX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA0OTMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdsaScsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWxpc3QtaXRlbVwiLCBjbGFzczogX3ZtLmNsYXNzZXMgfSwgW192bS5pdGVtTGF5b3V0ID09PSAndmVydGljYWwnICYmIF92bS4kc2xvdHMuZXh0cmEgPyBbX2MoJ2RpdicsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWxpc3QtaXRlbS1tYWluXCIgfSwgW192bS5fdChcImRlZmF1bHRcIiksIF92bS5fdihcIiBcIiksIF92bS4kc2xvdHMuYWN0aW9uID8gX2MoJ3VsJywgeyBzdGF0aWNDbGFzczogXCJpdnUtbGlzdC1pdGVtLWFjdGlvblwiIH0sIFtfdm0uX3QoXCJhY3Rpb25cIildLCAyKSA6IF92bS5fZSgpXSwgMiksIF92bS5fdihcIiBcIiksIF9jKCdkaXYnLCB7IHN0YXRpY0NsYXNzOiBcIml2dS1saXN0LWl0ZW0tZXh0cmFcIiB9LCBbX3ZtLl90KFwiZXh0cmFcIildLCAyKV0gOiBbX3ZtLl90KFwiZGVmYXVsdFwiKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLiRzbG90cy5hY3Rpb24gPyBfYygndWwnLCB7IHN0YXRpY0NsYXNzOiBcIml2dS1saXN0LWl0ZW0tYWN0aW9uXCIgfSwgW192bS5fdChcImFjdGlvblwiKV0sIDIpIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF9jKCdkaXYnLCB7IHN0YXRpY0NsYXNzOiBcIml2dS1saXN0LWl0ZW0tZXh0cmFcIiB9LCBbX3ZtLl90KFwiZXh0cmFcIildLCAyKV1dLCAyKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDQ5NCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9saXN0X2l0ZW1fbWV0YV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTk2KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9saXN0X2l0ZW1fbWV0YV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2xpc3RfaXRlbV9tZXRhX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbGlzdF9pdGVtX21ldGFfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2xpc3RfaXRlbV9tZXRhX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzUyYTc1OTgwX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbGlzdF9pdGVtX21ldGFfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ5NSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNTJhNzU5ODBfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9saXN0X2l0ZW1fbWV0YV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzUyYTc1OTgwX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbGlzdF9pdGVtX21ldGFfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbGlzdF9pdGVtX21ldGFfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81MmE3NTk4MF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2xpc3RfaXRlbV9tZXRhX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81MmE3NTk4MF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2xpc3RfaXRlbV9tZXRhX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA0OTUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IHN0YXRpY0NsYXNzOiBcIml2dS1saXN0LWl0ZW0tbWV0YVwiIH0sIFtfdm0uYXZhdGFyIHx8IF92bS4kc2xvdHMuYXZhdGFyID8gX2MoJ2RpdicsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWxpc3QtaXRlbS1tZXRhLWF2YXRhclwiIH0sIFtfdm0uX3QoXCJhdmF0YXJcIiwgW19jKCdBdmF0YXInLCB7IGF0dHJzOiB7IFwic3JjXCI6IF92bS5hdmF0YXIgfSB9KV0pXSwgMikgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWxpc3QtaXRlbS1tZXRhLWNvbnRlbnRcIiB9LCBbX3ZtLnRpdGxlIHx8IF92bS4kc2xvdHMudGl0bGUgPyBfYygnZGl2JywgeyBzdGF0aWNDbGFzczogXCJpdnUtbGlzdC1pdGVtLW1ldGEtdGl0bGVcIiB9LCBbX3ZtLl90KFwidGl0bGVcIiwgW192bS5fdihfdm0uX3MoX3ZtLnRpdGxlKSldKV0sIDIpIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF92bS5kZXNjcmlwdGlvbiB8fCBfdm0uJHNsb3RzLmRlc2NyaXB0aW9uID8gX2MoJ2RpdicsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWxpc3QtaXRlbS1tZXRhLWRlc2NyaXB0aW9uXCIgfSwgW192bS5fdChcImRlc2NyaXB0aW9uXCIsIFtfdm0uX3YoX3ZtLl9zKF92bS5kZXNjcmlwdGlvbikpXSldLCAyKSA6IF92bS5fZSgpXSldKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDQ5NiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX2xvYWRpbmdCYXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ5Nyk7XG5cbnZhciBfbG9hZGluZ0JhcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9sb2FkaW5nQmFyKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIGxvYWRpbmdCYXJJbnN0YW5jZSA9IHZvaWQgMDtcbnZhciBjb2xvciA9ICdwcmltYXJ5JztcbnZhciBkdXJhdGlvbiA9IDgwMDtcbnZhciBmYWlsZWRDb2xvciA9ICdlcnJvcic7XG52YXIgaGVpZ2h0ID0gMjtcbnZhciB0aW1lciA9IHZvaWQgMDtcblxuZnVuY3Rpb24gZ2V0TG9hZGluZ0Jhckluc3RhbmNlKCkge1xuICAgIGxvYWRpbmdCYXJJbnN0YW5jZSA9IGxvYWRpbmdCYXJJbnN0YW5jZSB8fCBfbG9hZGluZ0JhcjIuZGVmYXVsdC5uZXdJbnN0YW5jZSh7XG4gICAgICAgIGNvbG9yOiBjb2xvcixcbiAgICAgICAgZmFpbGVkQ29sb3I6IGZhaWxlZENvbG9yLFxuICAgICAgICBoZWlnaHQ6IGhlaWdodFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGxvYWRpbmdCYXJJbnN0YW5jZTtcbn1cblxuZnVuY3Rpb24gX3VwZGF0ZShvcHRpb25zKSB7XG4gICAgdmFyIGluc3RhbmNlID0gZ2V0TG9hZGluZ0Jhckluc3RhbmNlKCk7XG5cbiAgICBpbnN0YW5jZS51cGRhdGUob3B0aW9ucyk7XG59XG5cbmZ1bmN0aW9uIGhpZGUoKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICBfdXBkYXRlKHtcbiAgICAgICAgICAgIHNob3c6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICBfdXBkYXRlKHtcbiAgICAgICAgICAgICAgICBwZXJjZW50OiAwXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfS5iaW5kKHRoaXMpLCAyMDApO1xuICAgIH0uYmluZCh0aGlzKSwgZHVyYXRpb24pO1xufVxuXG5mdW5jdGlvbiBjbGVhclRpbWVyKCkge1xuICAgIGlmICh0aW1lcikge1xuICAgICAgICBjbGVhckludGVydmFsKHRpbWVyKTtcbiAgICAgICAgdGltZXIgPSBudWxsO1xuICAgIH1cbn1cblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIHN0YXJ0OiBmdW5jdGlvbiBzdGFydCgpIHtcbiAgICAgICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHRpbWVyKSByZXR1cm47XG5cbiAgICAgICAgdmFyIHBlcmNlbnQgPSAwO1xuXG4gICAgICAgIF91cGRhdGUoe1xuICAgICAgICAgICAgcGVyY2VudDogcGVyY2VudCxcbiAgICAgICAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgc2hvdzogdHJ1ZVxuICAgICAgICB9KTtcblxuICAgICAgICB0aW1lciA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcblxuICAgICAgICAgICAgcGVyY2VudCArPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAzICsgMSk7XG4gICAgICAgICAgICBpZiAocGVyY2VudCA+IDk1KSB7XG4gICAgICAgICAgICAgICAgY2xlYXJUaW1lcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgX3VwZGF0ZSh7XG4gICAgICAgICAgICAgICAgcGVyY2VudDogcGVyY2VudCxcbiAgICAgICAgICAgICAgICBzdGF0dXM6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgICBzaG93OiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfS5iaW5kKHRoaXMpLCAyMDApO1xuICAgIH0sXG4gICAgdXBkYXRlOiBmdW5jdGlvbiB1cGRhdGUocGVyY2VudCkge1xuICAgICAgICBjbGVhclRpbWVyKCk7XG4gICAgICAgIF91cGRhdGUoe1xuICAgICAgICAgICAgcGVyY2VudDogcGVyY2VudCxcbiAgICAgICAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgc2hvdzogdHJ1ZVxuICAgICAgICB9KTtcbiAgICB9LFxuICAgIGZpbmlzaDogZnVuY3Rpb24gZmluaXNoKCkge1xuICAgICAgICBjbGVhclRpbWVyKCk7XG4gICAgICAgIF91cGRhdGUoe1xuICAgICAgICAgICAgcGVyY2VudDogMTAwLFxuICAgICAgICAgICAgc3RhdHVzOiAnc3VjY2VzcycsXG4gICAgICAgICAgICBzaG93OiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICBoaWRlKCk7XG4gICAgfSxcbiAgICBlcnJvcjogZnVuY3Rpb24gZXJyb3IoKSB7XG4gICAgICAgIGNsZWFyVGltZXIoKTtcbiAgICAgICAgX3VwZGF0ZSh7XG4gICAgICAgICAgICBwZXJjZW50OiAxMDAsXG4gICAgICAgICAgICBzdGF0dXM6ICdlcnJvcicsXG4gICAgICAgICAgICBzaG93OiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICBoaWRlKCk7XG4gICAgfSxcbiAgICBjb25maWc6IGZ1bmN0aW9uIGNvbmZpZyhvcHRpb25zKSB7XG4gICAgICAgIGlmIChvcHRpb25zLmNvbG9yKSB7XG4gICAgICAgICAgICBjb2xvciA9IG9wdGlvbnMuY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdGlvbnMuZHVyYXRpb24pIHtcbiAgICAgICAgICAgIGR1cmF0aW9uID0gb3B0aW9ucy5kdXJhdGlvbjtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9ucy5mYWlsZWRDb2xvcikge1xuICAgICAgICAgICAgZmFpbGVkQ29sb3IgPSBvcHRpb25zLmZhaWxlZENvbG9yO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zLmhlaWdodCkge1xuICAgICAgICAgICAgaGVpZ2h0ID0gb3B0aW9ucy5oZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRlc3Ryb3k6IGZ1bmN0aW9uIGRlc3Ryb3koKSB7XG4gICAgICAgIGNsZWFyVGltZXIoKTtcbiAgICAgICAgdmFyIGluc3RhbmNlID0gZ2V0TG9hZGluZ0Jhckluc3RhbmNlKCk7XG4gICAgICAgIGxvYWRpbmdCYXJJbnN0YW5jZSA9IG51bGw7XG4gICAgICAgIGluc3RhbmNlLmRlc3Ryb3koKTtcbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDQ5NyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX2xvYWRpbmdCYXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ5OCk7XG5cbnZhciBfbG9hZGluZ0JhcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9sb2FkaW5nQmFyKTtcblxudmFyIF92dWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE1KTtcblxudmFyIF92dWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdnVlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuX2xvYWRpbmdCYXIyLmRlZmF1bHQubmV3SW5zdGFuY2UgPSBmdW5jdGlvbiAocHJvcGVydGllcykge1xuICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuXG4gICAgdmFyIF9wcm9wcyA9IHByb3BlcnRpZXMgfHwge307XG5cbiAgICB2YXIgSW5zdGFuY2UgPSBuZXcgX3Z1ZTIuZGVmYXVsdCh7XG4gICAgICAgIGRhdGE6IF9wcm9wcyxcbiAgICAgICAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCkge1xuICAgICAgICAgICAgcmV0dXJuIGgoX2xvYWRpbmdCYXIyLmRlZmF1bHQsIHtcbiAgICAgICAgICAgICAgICBwcm9wczogX3Byb3BzXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgdmFyIGNvbXBvbmVudCA9IEluc3RhbmNlLiRtb3VudCgpO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29tcG9uZW50LiRlbCk7XG4gICAgdmFyIGxvYWRpbmdfYmFyID0gSW5zdGFuY2UuJGNoaWxkcmVuWzBdO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgdXBkYXRlOiBmdW5jdGlvbiB1cGRhdGUob3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKCdwZXJjZW50JyBpbiBvcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgbG9hZGluZ19iYXIucGVyY2VudCA9IG9wdGlvbnMucGVyY2VudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChvcHRpb25zLnN0YXR1cykge1xuICAgICAgICAgICAgICAgIGxvYWRpbmdfYmFyLnN0YXR1cyA9IG9wdGlvbnMuc3RhdHVzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCdzaG93JyBpbiBvcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgbG9hZGluZ19iYXIuc2hvdyA9IG9wdGlvbnMuc2hvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICBjb21wb25lbnQ6IGxvYWRpbmdfYmFyLFxuICAgICAgICBkZXN0cm95OiBmdW5jdGlvbiBkZXN0cm95KCkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdpdnUtbG9hZGluZy1iYXInKVswXSk7XG4gICAgICAgIH1cbiAgICB9O1xufS5iaW5kKHVuZGVmaW5lZCk7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IF9sb2FkaW5nQmFyMi5kZWZhdWx0O1xuXG4vKioqLyB9KSxcbi8qIDQ5OCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9sb2FkaW5nX2Jhcl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTk3KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9sb2FkaW5nX2Jhcl92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2xvYWRpbmdfYmFyX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbG9hZGluZ19iYXJfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2xvYWRpbmdfYmFyX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzUzODg2M2FjX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbG9hZGluZ19iYXJfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQ5OSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNTM4ODYzYWNfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9sb2FkaW5nX2Jhcl92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzUzODg2M2FjX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbG9hZGluZ19iYXJfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbG9hZGluZ19iYXJfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81Mzg4NjNhY19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2xvYWRpbmdfYmFyX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81Mzg4NjNhY19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2xvYWRpbmdfYmFyX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA0OTkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCd0cmFuc2l0aW9uJywgeyBhdHRyczogeyBcIm5hbWVcIjogXCJmYWRlXCIgfSB9LCBbX2MoJ2RpdicsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBfdm0uc2hvdywgZXhwcmVzc2lvbjogXCJzaG93XCIgfV0sIGNsYXNzOiBfdm0uY2xhc3Nlcywgc3R5bGU6IF92bS5vdXRlclN0eWxlcyB9LCBbX2MoJ2RpdicsIHsgY2xhc3M6IF92bS5pbm5lckNsYXNzZXMsIHN0eWxlOiBfdm0uc3R5bGVzIH0pXSldKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDUwMCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX21lbnUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUwMSk7XG5cbnZhciBfbWVudTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9tZW51KTtcblxudmFyIF9tZW51R3JvdXAgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUwMyk7XG5cbnZhciBfbWVudUdyb3VwMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX21lbnVHcm91cCk7XG5cbnZhciBfbWVudUl0ZW0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUwNSk7XG5cbnZhciBfbWVudUl0ZW0yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbWVudUl0ZW0pO1xuXG52YXIgX3N1Ym1lbnUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUwNyk7XG5cbnZhciBfc3VibWVudTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zdWJtZW51KTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuX21lbnUyLmRlZmF1bHQuR3JvdXAgPSBfbWVudUdyb3VwMi5kZWZhdWx0O1xuX21lbnUyLmRlZmF1bHQuSXRlbSA9IF9tZW51SXRlbTIuZGVmYXVsdDtcbl9tZW51Mi5kZWZhdWx0LlN1YiA9IF9zdWJtZW51Mi5kZWZhdWx0O1xuXG5leHBvcnRzLmRlZmF1bHQgPSBfbWVudTIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiA1MDEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbWVudV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTk4KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9tZW51X3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbWVudV92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX21lbnVfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX21lbnVfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMTZhNzAzZjJfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9tZW51X3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1MDIpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzE2YTcwM2YyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbWVudV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzE2YTcwM2YyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbWVudV92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9tZW51X3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMTZhNzAzZjJfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9tZW51X3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8xNmE3MDNmMl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX21lbnVfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDUwMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgdmFyIF92bSA9IHRoaXM7dmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaDtyZXR1cm4gX2MoJ3VsJywgeyBjbGFzczogX3ZtLmNsYXNzZXMsIHN0eWxlOiBfdm0uc3R5bGVzIH0sIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwgMik7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA1MDMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbWVudV9ncm91cF92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTk5KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9tZW51X2dyb3VwX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbWVudV9ncm91cF92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX21lbnVfZ3JvdXBfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX21lbnVfZ3JvdXBfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNmY3ZTI0N2VfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9tZW51X2dyb3VwX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1MDQpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzZmN2UyNDdlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbWVudV9ncm91cF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzZmN2UyNDdlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbWVudV9ncm91cF92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9tZW51X2dyb3VwX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNmY3ZTI0N2VfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9tZW51X2dyb3VwX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl82ZjdlMjQ3ZV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX21lbnVfZ3JvdXBfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDUwNCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgdmFyIF92bSA9IHRoaXM7dmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaDtyZXR1cm4gX2MoJ2xpJywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWl0ZW0tZ3JvdXAnXSB9LCBbX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1pdGVtLWdyb3VwLXRpdGxlJ10sIHN0eWxlOiBfdm0uZ3JvdXBTdHlsZSB9LCBbX3ZtLl92KF92bS5fcyhfdm0udGl0bGUpKV0pLCBfdm0uX3YoXCIgXCIpLCBfYygndWwnLCBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sIDIpXSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA1MDUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbWVudV9pdGVtX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMDApO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX21lbnVfaXRlbV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX21lbnVfaXRlbV92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX21lbnVfaXRlbV92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbWVudV9pdGVtX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzE3MDk3OTJlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbWVudV9pdGVtX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1MDYpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzE3MDk3OTJlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbWVudV9pdGVtX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMTcwOTc5MmVfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9tZW51X2l0ZW1fdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbWVudV9pdGVtX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMTcwOTc5MmVfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9tZW51X2l0ZW1fdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzE3MDk3OTJlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbWVudV9pdGVtX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA1MDYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF92bS50byA/IF9jKCdhJywgeyBjbGFzczogX3ZtLmNsYXNzZXMsIHN0eWxlOiBfdm0uaXRlbVN0eWxlLCBhdHRyczogeyBcImhyZWZcIjogX3ZtLmxpbmtVcmwsIFwidGFyZ2V0XCI6IF92bS50YXJnZXQgfSwgb246IHsgXCJjbGlja1wiOiBbZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICBpZiAoJGV2ZW50LmN0cmxLZXkgfHwgJGV2ZW50LnNoaWZ0S2V5IHx8ICRldmVudC5hbHRLZXkgfHwgJGV2ZW50Lm1ldGFLZXkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfXJldHVybiBfdm0uaGFuZGxlQ2xpY2tJdGVtKCRldmVudCwgZmFsc2UpO1xuICAgICAgfSwgZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICBpZiAoISRldmVudC5jdHJsS2V5KSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1yZXR1cm4gX3ZtLmhhbmRsZUNsaWNrSXRlbSgkZXZlbnQsIHRydWUpO1xuICAgICAgfSwgZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICBpZiAoISRldmVudC5tZXRhS2V5KSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1yZXR1cm4gX3ZtLmhhbmRsZUNsaWNrSXRlbSgkZXZlbnQsIHRydWUpO1xuICAgICAgfV0gfSB9LCBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sIDIpIDogX2MoJ2xpJywgeyBjbGFzczogX3ZtLmNsYXNzZXMsIHN0eWxlOiBfdm0uaXRlbVN0eWxlLCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7cmV0dXJuIF92bS5oYW5kbGVDbGlja0l0ZW0oJGV2ZW50KTtcbiAgICAgIH0gfSB9LCBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sIDIpO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogNTA3ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3N1Ym1lbnVfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIwMSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc3VibWVudV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3N1Ym1lbnVfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zdWJtZW51X3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zdWJtZW51X3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2ExZjhiZDFhX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfc3VibWVudV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNTA4KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9hMWY4YmQxYV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3N1Ym1lbnVfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9hMWY4YmQxYV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3N1Ym1lbnVfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc3VibWVudV92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2ExZjhiZDFhX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfc3VibWVudV92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfYTFmOGJkMWFfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9zdWJtZW51X3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA1MDggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdsaScsIHsgY2xhc3M6IF92bS5jbGFzc2VzLCBvbjogeyBcIm1vdXNlZW50ZXJcIjogX3ZtLmhhbmRsZU1vdXNlZW50ZXIsIFwibW91c2VsZWF2ZVwiOiBfdm0uaGFuZGxlTW91c2VsZWF2ZSB9IH0sIFtfYygnZGl2JywgeyByZWY6IFwicmVmZXJlbmNlXCIsIGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctc3VibWVudS10aXRsZSddLCBzdHlsZTogX3ZtLnRpdGxlU3R5bGUsIG9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtyZXR1cm4gX3ZtLmhhbmRsZUNsaWNrKCRldmVudCk7XG4gICAgICB9IH0gfSwgW192bS5fdChcInRpdGxlXCIpLCBfdm0uX3YoXCIgXCIpLCBfYygnSWNvbicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1zdWJtZW51LXRpdGxlLWljb24nXSwgYXR0cnM6IHsgXCJ0eXBlXCI6IF92bS5hcnJvd1R5cGUsIFwiY3VzdG9tXCI6IF92bS5jdXN0b21BcnJvd1R5cGUsIFwic2l6ZVwiOiBfdm0uYXJyb3dTaXplIH0gfSldLCAyKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLm1vZGUgPT09ICd2ZXJ0aWNhbCcgPyBfYygnY29sbGFwc2UtdHJhbnNpdGlvbicsIFtfYygndWwnLCB7IGRpcmVjdGl2ZXM6IFt7IG5hbWU6IFwic2hvd1wiLCByYXdOYW1lOiBcInYtc2hvd1wiLCB2YWx1ZTogX3ZtLm9wZW5lZCwgZXhwcmVzc2lvbjogXCJvcGVuZWRcIiB9XSwgY2xhc3M6IFtfdm0ucHJlZml4Q2xzXSB9LCBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sIDIpXSkgOiBfYygndHJhbnNpdGlvbicsIHsgYXR0cnM6IHsgXCJuYW1lXCI6IFwic2xpZGUtdXBcIiB9IH0sIFtfYygnRHJvcCcsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBfdm0ub3BlbmVkLCBleHByZXNzaW9uOiBcIm9wZW5lZFwiIH1dLCByZWY6IFwiZHJvcFwiLCBzdHlsZTogX3ZtLmRyb3BTdHlsZSwgYXR0cnM6IHsgXCJwbGFjZW1lbnRcIjogXCJib3R0b21cIiB9IH0sIFtfYygndWwnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctZHJvcC1saXN0J10gfSwgW192bS5fdChcImRlZmF1bHRcIildLCAyKV0pXSwgMSldLCAxKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDUwOSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbm90aWZpY2F0aW9uID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMDIpO1xuXG52YXIgX25vdGlmaWNhdGlvbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9ub3RpZmljYXRpb24pO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1tZXNzYWdlJztcbnZhciBpY29uUHJlZml4Q2xzID0gJ2l2dS1pY29uJztcbnZhciBwcmVmaXhLZXkgPSAnaXZ1X21lc3NhZ2Vfa2V5Xyc7XG5cbnZhciBkZWZhdWx0cyA9IHtcbiAgICB0b3A6IDI0LFxuICAgIGR1cmF0aW9uOiAxLjVcbn07XG5cbnZhciBtZXNzYWdlSW5zdGFuY2UgPSB2b2lkIDA7XG52YXIgbmFtZSA9IDE7XG5cbnZhciBpY29uVHlwZXMgPSB7XG4gICAgJ2luZm8nOiAnaW9zLWluZm9ybWF0aW9uLWNpcmNsZScsXG4gICAgJ3N1Y2Nlc3MnOiAnaW9zLWNoZWNrbWFyay1jaXJjbGUnLFxuICAgICd3YXJuaW5nJzogJ2lvcy1hbGVydCcsXG4gICAgJ2Vycm9yJzogJ2lvcy1jbG9zZS1jaXJjbGUnLFxuICAgICdsb2FkaW5nJzogJ2lvcy1sb2FkaW5nJ1xufTtcblxuZnVuY3Rpb24gZ2V0TWVzc2FnZUluc3RhbmNlKCkge1xuICAgIG1lc3NhZ2VJbnN0YW5jZSA9IG1lc3NhZ2VJbnN0YW5jZSB8fCBfbm90aWZpY2F0aW9uMi5kZWZhdWx0Lm5ld0luc3RhbmNlKHtcbiAgICAgICAgcHJlZml4Q2xzOiBwcmVmaXhDbHMsXG4gICAgICAgIHN0eWxlczoge1xuICAgICAgICAgICAgdG9wOiBTdHJpbmcoZGVmYXVsdHMudG9wKSArICdweCdcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1lc3NhZ2VJbnN0YW5jZTtcbn1cblxuZnVuY3Rpb24gbm90aWNlKCkge1xuICAgIHZhciBjb250ZW50ID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiAnJztcbiAgICB2YXIgZHVyYXRpb24gPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGRlZmF1bHRzLmR1cmF0aW9uO1xuICAgIHZhciB0eXBlID0gYXJndW1lbnRzWzJdO1xuICAgIHZhciBvbkNsb3NlID0gYXJndW1lbnRzLmxlbmd0aCA+IDMgJiYgYXJndW1lbnRzWzNdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbM10gOiBmdW5jdGlvbiAoKSB7fTtcbiAgICB2YXIgY2xvc2FibGUgPSBhcmd1bWVudHMubGVuZ3RoID4gNCAmJiBhcmd1bWVudHNbNF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1s0XSA6IGZhbHNlO1xuICAgIHZhciByZW5kZXIgPSBhcmd1bWVudHMubGVuZ3RoID4gNSAmJiBhcmd1bWVudHNbNV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1s1XSA6IGZ1bmN0aW9uICgpIHt9O1xuXG4gICAgdmFyIGljb25UeXBlID0gaWNvblR5cGVzW3R5cGVdO1xuXG4gICAgdmFyIGxvYWRDbHMgPSB0eXBlID09PSAnbG9hZGluZycgPyAnIGl2dS1sb2FkLWxvb3AnIDogJyc7XG5cbiAgICB2YXIgaW5zdGFuY2UgPSBnZXRNZXNzYWdlSW5zdGFuY2UoKTtcblxuICAgIGluc3RhbmNlLm5vdGljZSh7XG4gICAgICAgIG5hbWU6ICcnICsgcHJlZml4S2V5ICsgbmFtZSxcbiAgICAgICAgZHVyYXRpb246IGR1cmF0aW9uLFxuICAgICAgICBzdHlsZXM6IHt9LFxuICAgICAgICB0cmFuc2l0aW9uTmFtZTogJ21vdmUtdXAnLFxuICAgICAgICBjb250ZW50OiAnXFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIicgKyBwcmVmaXhDbHMgKyAnLWN1c3RvbS1jb250ZW50ICcgKyBwcmVmaXhDbHMgKyAnLScgKyBTdHJpbmcodHlwZSkgKyAnXCI+XFxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiJyArIGljb25QcmVmaXhDbHMgKyAnICcgKyBpY29uUHJlZml4Q2xzICsgJy0nICsgU3RyaW5nKGljb25UeXBlKSArICcgJyArIGxvYWRDbHMgKyAnXCI+PC9pPlxcbiAgICAgICAgICAgICAgICA8c3Bhbj4nICsgU3RyaW5nKGNvbnRlbnQpICsgJzwvc3Bhbj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICcsXG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBvbkNsb3NlOiBvbkNsb3NlLFxuICAgICAgICBjbG9zYWJsZTogY2xvc2FibGUsXG4gICAgICAgIHR5cGU6ICdtZXNzYWdlJ1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHRhcmdldCA9IG5hbWUrKztcblxuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaW5zdGFuY2UucmVtb3ZlKCcnICsgcHJlZml4S2V5ICsgdGFyZ2V0KTtcbiAgICAgICAgfTtcbiAgICB9KCk7XG59XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnTWVzc2FnZScsXG5cbiAgICBpbmZvOiBmdW5jdGlvbiBpbmZvKG9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZSgnaW5mbycsIG9wdGlvbnMpO1xuICAgIH0sXG4gICAgc3VjY2VzczogZnVuY3Rpb24gc3VjY2VzcyhvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2UoJ3N1Y2Nlc3MnLCBvcHRpb25zKTtcbiAgICB9LFxuICAgIHdhcm5pbmc6IGZ1bmN0aW9uIHdhcm5pbmcob3B0aW9ucykge1xuICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlKCd3YXJuaW5nJywgb3B0aW9ucyk7XG4gICAgfSxcbiAgICBlcnJvcjogZnVuY3Rpb24gZXJyb3Iob3B0aW9ucykge1xuICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlKCdlcnJvcicsIG9wdGlvbnMpO1xuICAgIH0sXG4gICAgbG9hZGluZzogZnVuY3Rpb24gbG9hZGluZyhvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2UoJ2xvYWRpbmcnLCBvcHRpb25zKTtcbiAgICB9LFxuICAgIG1lc3NhZ2U6IGZ1bmN0aW9uIG1lc3NhZ2UodHlwZSwgb3B0aW9ucykge1xuICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBvcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG9wdGlvbnNcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5vdGljZShvcHRpb25zLmNvbnRlbnQsIG9wdGlvbnMuZHVyYXRpb24sIHR5cGUsIG9wdGlvbnMub25DbG9zZSwgb3B0aW9ucy5jbG9zYWJsZSwgb3B0aW9ucy5yZW5kZXIpO1xuICAgIH0sXG4gICAgY29uZmlnOiBmdW5jdGlvbiBjb25maWcob3B0aW9ucykge1xuICAgICAgICBpZiAob3B0aW9ucy50b3AgfHwgb3B0aW9ucy50b3AgPT09IDApIHtcbiAgICAgICAgICAgIGRlZmF1bHRzLnRvcCA9IG9wdGlvbnMudG9wO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zLmR1cmF0aW9uIHx8IG9wdGlvbnMuZHVyYXRpb24gPT09IDApIHtcbiAgICAgICAgICAgIGRlZmF1bHRzLmR1cmF0aW9uID0gb3B0aW9ucy5kdXJhdGlvbjtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGVzdHJveTogZnVuY3Rpb24gZGVzdHJveSgpIHtcbiAgICAgICAgdmFyIGluc3RhbmNlID0gZ2V0TWVzc2FnZUluc3RhbmNlKCk7XG4gICAgICAgIG1lc3NhZ2VJbnN0YW5jZSA9IG51bGw7XG4gICAgICAgIGluc3RhbmNlLmRlc3Ryb3koJ2l2dS1tZXNzYWdlJyk7XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiA1MTAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbm90aWZpY2F0aW9uX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMDMpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX25vdGlmaWNhdGlvbl92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX25vdGlmaWNhdGlvbl92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX25vdGlmaWNhdGlvbl92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbm90aWZpY2F0aW9uX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzYyNTk3MjJlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbm90aWZpY2F0aW9uX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1MTMpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzYyNTk3MjJlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbm90aWZpY2F0aW9uX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNjI1OTcyMmVfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9ub3RpZmljYXRpb25fdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbm90aWZpY2F0aW9uX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNjI1OTcyMmVfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9ub3RpZmljYXRpb25fdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzYyNTk3MjJlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbm90aWZpY2F0aW9uX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA1MTEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbm90aWNlX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMDQpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX25vdGljZV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX25vdGljZV92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX25vdGljZV92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbm90aWNlX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2UxMzQ1YTRjX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbm90aWNlX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1MTIpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2UxMzQ1YTRjX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbm90aWNlX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfZTEzNDVhNGNfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9ub3RpY2VfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbm90aWNlX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfZTEzNDVhNGNfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9ub3RpY2VfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2UxMzQ1YTRjX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbm90aWNlX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA1MTIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCd0cmFuc2l0aW9uJywgeyBhdHRyczogeyBcIm5hbWVcIjogX3ZtLnRyYW5zaXRpb25OYW1lLCBcImFwcGVhclwiOiBcIlwiIH0sIG9uOiB7IFwiZW50ZXJcIjogX3ZtLmhhbmRsZUVudGVyLCBcImxlYXZlXCI6IF92bS5oYW5kbGVMZWF2ZSB9IH0sIFtfYygnZGl2JywgeyBjbGFzczogX3ZtLmNsYXNzZXMsIHN0eWxlOiBfdm0uc3R5bGVzIH0sIFtfdm0udHlwZSA9PT0gJ25vdGljZScgPyBbX2MoJ2RpdicsIHsgcmVmOiBcImNvbnRlbnRcIiwgY2xhc3M6IF92bS5jb250ZW50Q2xhc3NlcywgZG9tUHJvcHM6IHsgXCJpbm5lckhUTUxcIjogX3ZtLl9zKF92bS5jb250ZW50KSB9IH0pLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyBjbGFzczogX3ZtLmNvbnRlbnRXaXRoSWNvbiB9LCBbX2MoJ3JlbmRlci1jZWxsJywgeyBhdHRyczogeyBcInJlbmRlclwiOiBfdm0ucmVuZGVyRnVuYyB9IH0pXSwgMSksIF92bS5fdihcIiBcIiksIF92bS5jbG9zYWJsZSA/IF9jKCdhJywgeyBjbGFzczogW192bS5iYXNlQ2xhc3MgKyAnLWNsb3NlJ10sIG9uOiB7IFwiY2xpY2tcIjogX3ZtLmNsb3NlIH0gfSwgW19jKCdpJywgeyBzdGF0aWNDbGFzczogXCJpdnUtaWNvbiBpdnUtaWNvbi1pb3MtY2xvc2VcIiB9KV0pIDogX3ZtLl9lKCldIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF92bS50eXBlID09PSAnbWVzc2FnZScgPyBbX2MoJ2RpdicsIHsgcmVmOiBcImNvbnRlbnRcIiwgY2xhc3M6IFtfdm0uYmFzZUNsYXNzICsgJy1jb250ZW50J10gfSwgW19jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLmJhc2VDbGFzcyArICctY29udGVudC10ZXh0J10sIGRvbVByb3BzOiB7IFwiaW5uZXJIVE1MXCI6IF92bS5fcyhfdm0uY29udGVudCkgfSB9KSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0uYmFzZUNsYXNzICsgJy1jb250ZW50LXRleHQnXSB9LCBbX2MoJ3JlbmRlci1jZWxsJywgeyBhdHRyczogeyBcInJlbmRlclwiOiBfdm0ucmVuZGVyRnVuYyB9IH0pXSwgMSksIF92bS5fdihcIiBcIiksIF92bS5jbG9zYWJsZSA/IF9jKCdhJywgeyBjbGFzczogW192bS5iYXNlQ2xhc3MgKyAnLWNsb3NlJ10sIG9uOiB7IFwiY2xpY2tcIjogX3ZtLmNsb3NlIH0gfSwgW19jKCdpJywgeyBzdGF0aWNDbGFzczogXCJpdnUtaWNvbiBpdnUtaWNvbi1pb3MtY2xvc2VcIiB9KV0pIDogX3ZtLl9lKCldKV0gOiBfdm0uX2UoKV0sIDIpXSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA1MTMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0uY2xhc3Nlcywgc3R5bGU6IF92bS53cmFwU3R5bGVzIH0sIF92bS5fbChfdm0ubm90aWNlcywgZnVuY3Rpb24gKG5vdGljZSkge1xuICAgIHJldHVybiBfYygnTm90aWNlJywgeyBrZXk6IG5vdGljZS5uYW1lLCBhdHRyczogeyBcInByZWZpeC1jbHNcIjogX3ZtLnByZWZpeENscywgXCJzdHlsZXNcIjogbm90aWNlLnN0eWxlcywgXCJ0eXBlXCI6IG5vdGljZS50eXBlLCBcImNvbnRlbnRcIjogbm90aWNlLmNvbnRlbnQsIFwiZHVyYXRpb25cIjogbm90aWNlLmR1cmF0aW9uLCBcInJlbmRlclwiOiBub3RpY2UucmVuZGVyLCBcImhhcy10aXRsZVwiOiBub3RpY2UuaGFzVGl0bGUsIFwid2l0aEljb25cIjogbm90aWNlLndpdGhJY29uLCBcImNsb3NhYmxlXCI6IG5vdGljZS5jbG9zYWJsZSwgXCJuYW1lXCI6IG5vdGljZS5uYW1lLCBcInRyYW5zaXRpb24tbmFtZVwiOiBub3RpY2UudHJhbnNpdGlvbk5hbWUsIFwib24tY2xvc2VcIjogbm90aWNlLm9uQ2xvc2UgfSB9KTtcbiAgfSksIDEpO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogNTE0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9jb25maXJtID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1MTUpO1xuXG52YXIgX2NvbmZpcm0yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfY29uZmlybSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBtb2RhbEluc3RhbmNlID0gdm9pZCAwO1xuXG5mdW5jdGlvbiBnZXRNb2RhbEluc3RhbmNlKCkge1xuICAgIHZhciByZW5kZXIgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHVuZGVmaW5lZDtcblxuICAgIG1vZGFsSW5zdGFuY2UgPSBtb2RhbEluc3RhbmNlIHx8IF9jb25maXJtMi5kZWZhdWx0Lm5ld0luc3RhbmNlKHtcbiAgICAgICAgY2xvc2FibGU6IGZhbHNlLFxuICAgICAgICBtYXNrQ2xvc2FibGU6IGZhbHNlLFxuICAgICAgICBmb290ZXJIaWRlOiB0cnVlLFxuICAgICAgICByZW5kZXI6IHJlbmRlclxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1vZGFsSW5zdGFuY2U7XG59XG5cbmZ1bmN0aW9uIGNvbmZpcm0ob3B0aW9ucykge1xuICAgIHZhciByZW5kZXIgPSAncmVuZGVyJyBpbiBvcHRpb25zID8gb3B0aW9ucy5yZW5kZXIgOiB1bmRlZmluZWQ7XG4gICAgdmFyIGluc3RhbmNlID0gZ2V0TW9kYWxJbnN0YW5jZShyZW5kZXIpO1xuXG4gICAgb3B0aW9ucy5vblJlbW92ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgbW9kYWxJbnN0YW5jZSA9IG51bGw7XG4gICAgfTtcblxuICAgIGluc3RhbmNlLnNob3cob3B0aW9ucyk7XG59XG5cbl9jb25maXJtMi5kZWZhdWx0LmluZm8gPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHByb3BzID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcblxuICAgIHByb3BzLmljb24gPSAnaW5mbyc7XG4gICAgcHJvcHMuc2hvd0NhbmNlbCA9IGZhbHNlO1xuICAgIHJldHVybiBjb25maXJtKHByb3BzKTtcbn07XG5cbl9jb25maXJtMi5kZWZhdWx0LnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHByb3BzID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcblxuICAgIHByb3BzLmljb24gPSAnc3VjY2Vzcyc7XG4gICAgcHJvcHMuc2hvd0NhbmNlbCA9IGZhbHNlO1xuICAgIHJldHVybiBjb25maXJtKHByb3BzKTtcbn07XG5cbl9jb25maXJtMi5kZWZhdWx0Lndhcm5pbmcgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHByb3BzID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcblxuICAgIHByb3BzLmljb24gPSAnd2FybmluZyc7XG4gICAgcHJvcHMuc2hvd0NhbmNlbCA9IGZhbHNlO1xuICAgIHJldHVybiBjb25maXJtKHByb3BzKTtcbn07XG5cbl9jb25maXJtMi5kZWZhdWx0LmVycm9yID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBwcm9wcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge307XG5cbiAgICBwcm9wcy5pY29uID0gJ2Vycm9yJztcbiAgICBwcm9wcy5zaG93Q2FuY2VsID0gZmFsc2U7XG4gICAgcmV0dXJuIGNvbmZpcm0ocHJvcHMpO1xufTtcblxuX2NvbmZpcm0yLmRlZmF1bHQuY29uZmlybSA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgcHJvcHMgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9O1xuXG4gICAgcHJvcHMuaWNvbiA9ICdjb25maXJtJztcbiAgICBwcm9wcy5zaG93Q2FuY2VsID0gdHJ1ZTtcbiAgICByZXR1cm4gY29uZmlybShwcm9wcyk7XG59O1xuXG5fY29uZmlybTIuZGVmYXVsdC5yZW1vdmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCFtb2RhbEluc3RhbmNlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB2YXIgaW5zdGFuY2UgPSBnZXRNb2RhbEluc3RhbmNlKCk7XG5cbiAgICBpbnN0YW5jZS5yZW1vdmUoKTtcbn07XG5cbmV4cG9ydHMuZGVmYXVsdCA9IF9jb25maXJtMi5kZWZhdWx0O1xuXG4vKioqLyB9KSxcbi8qIDUxNSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfYXNzaWduID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNCk7XG5cbnZhciBfYXNzaWduMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2Fzc2lnbik7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX3Z1ZSA9IF9fd2VicGFja19yZXF1aXJlX18oMTUpO1xuXG52YXIgX3Z1ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF92dWUpO1xuXG52YXIgX21vZGFsID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1MTYpO1xuXG52YXIgX21vZGFsMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX21vZGFsKTtcblxudmFyIF9idXR0b24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI0KTtcblxudmFyIF9idXR0b24yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfYnV0dG9uKTtcblxudmFyIF9sb2NhbGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUpO1xuXG52YXIgX2xvY2FsZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9sb2NhbGUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1tb2RhbC1jb25maXJtJztcblxuX21vZGFsMi5kZWZhdWx0Lm5ld0luc3RhbmNlID0gZnVuY3Rpb24gKHByb3BlcnRpZXMpIHtcbiAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcblxuICAgIHZhciBfcHJvcHMgPSBwcm9wZXJ0aWVzIHx8IHt9O1xuXG4gICAgdmFyIEluc3RhbmNlID0gbmV3IF92dWUyLmRlZmF1bHQoe1xuICAgICAgICBtaXhpbnM6IFtfbG9jYWxlMi5kZWZhdWx0XSxcbiAgICAgICAgZGF0YTogKDAsIF9hc3NpZ24yLmRlZmF1bHQpKHt9LCBfcHJvcHMsIHtcbiAgICAgICAgICAgIHZpc2libGU6IGZhbHNlLFxuICAgICAgICAgICAgd2lkdGg6IDQxNixcbiAgICAgICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgICAgIGJvZHk6ICcnLFxuICAgICAgICAgICAgaWNvblR5cGU6ICcnLFxuICAgICAgICAgICAgaWNvbk5hbWU6ICcnLFxuICAgICAgICAgICAgb2tUZXh0OiB1bmRlZmluZWQsXG4gICAgICAgICAgICBjYW5jZWxUZXh0OiB1bmRlZmluZWQsXG4gICAgICAgICAgICBzaG93Q2FuY2VsOiBmYWxzZSxcbiAgICAgICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgYnV0dG9uTG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgICBzY3JvbGxhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGNsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGNsb3Npbmc6IGZhbHNlIH0pLFxuICAgICAgICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAgICAgICB2YXIgZm9vdGVyVk5vZGVzID0gW107XG4gICAgICAgICAgICBpZiAodGhpcy5zaG93Q2FuY2VsKSB7XG4gICAgICAgICAgICAgICAgZm9vdGVyVk5vZGVzLnB1c2goaChfYnV0dG9uMi5kZWZhdWx0LCB7XG4gICAgICAgICAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplOiAnbGFyZ2UnXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGljazogdGhpcy5jYW5jZWxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sIHRoaXMubG9jYWxlQ2FuY2VsVGV4dCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9vdGVyVk5vZGVzLnB1c2goaChfYnV0dG9uMi5kZWZhdWx0LCB7XG4gICAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICAgICAgICBzaXplOiAnbGFyZ2UnLFxuICAgICAgICAgICAgICAgICAgICBsb2FkaW5nOiB0aGlzLmJ1dHRvbkxvYWRpbmdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgIGNsaWNrOiB0aGlzLm9rXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgdGhpcy5sb2NhbGVPa1RleHQpKTtcblxuICAgICAgICAgICAgdmFyIGJvZHlfcmVuZGVyID0gdm9pZCAwO1xuICAgICAgICAgICAgaWYgKHRoaXMucmVuZGVyKSB7XG4gICAgICAgICAgICAgICAgYm9keV9yZW5kZXIgPSBoKCdkaXYnLCB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzczogcHJlZml4Q2xzICsgJy1ib2R5ICcgKyBwcmVmaXhDbHMgKyAnLWJvZHktcmVuZGVyJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSwgW3RoaXMucmVuZGVyKGgpXSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGJvZHlfcmVuZGVyID0gaCgnZGl2Jywge1xuICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M6IHByZWZpeENscyArICctYm9keSdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sIFtoKCdkaXYnLCB7XG4gICAgICAgICAgICAgICAgICAgIGRvbVByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbm5lckhUTUw6IHRoaXMuYm9keVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSldKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIGhlYWRfcmVuZGVyID0gdm9pZCAwO1xuICAgICAgICAgICAgaWYgKHRoaXMudGl0bGUpIHtcbiAgICAgICAgICAgICAgICBoZWFkX3JlbmRlciA9IGgoJ2RpdicsIHtcbiAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzOiBwcmVmaXhDbHMgKyAnLWhlYWQnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCBbaCgnZGl2Jywge1xuICAgICAgICAgICAgICAgICAgICBjbGFzczogdGhpcy5pY29uVHlwZUNsc1xuICAgICAgICAgICAgICAgIH0sIFtoKCdpJywge1xuICAgICAgICAgICAgICAgICAgICBjbGFzczogdGhpcy5pY29uTmFtZUNsc1xuICAgICAgICAgICAgICAgIH0pXSksIGgoJ2RpdicsIHtcbiAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzOiBwcmVmaXhDbHMgKyAnLWhlYWQtdGl0bGUnXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGRvbVByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbm5lckhUTUw6IHRoaXMudGl0bGVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBoKF9tb2RhbDIuZGVmYXVsdCwge1xuICAgICAgICAgICAgICAgIHByb3BzOiAoMCwgX2Fzc2lnbjIuZGVmYXVsdCkoe30sIF9wcm9wcywge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogdGhpcy53aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYWJsZTogdGhpcy5zY3JvbGxhYmxlLFxuICAgICAgICAgICAgICAgICAgICBjbG9zYWJsZTogdGhpcy5jbG9zYWJsZVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGRvbVByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZpc2libGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0OiBmdW5jdGlvbiBpbnB1dChzdGF0dXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZpc2libGUgPSBzdGF0dXM7XG4gICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICAgICAgJ29uLWNhbmNlbCc6IHRoaXMuY2FuY2VsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgW2goJ2RpdicsIHtcbiAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICBjbGFzczogcHJlZml4Q2xzXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgW2hlYWRfcmVuZGVyLCBib2R5X3JlbmRlciwgaCgnZGl2Jywge1xuICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzOiBwcmVmaXhDbHMgKyAnLWZvb3RlcidcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBmb290ZXJWTm9kZXMpXSldKTtcbiAgICAgICAgfSxcblxuICAgICAgICBjb21wdXRlZDoge1xuICAgICAgICAgICAgaWNvblR5cGVDbHM6IGZ1bmN0aW9uIGljb25UeXBlQ2xzKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBbcHJlZml4Q2xzICsgJy1oZWFkLWljb24nLCBwcmVmaXhDbHMgKyAnLWhlYWQtaWNvbi0nICsgU3RyaW5nKHRoaXMuaWNvblR5cGUpXTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpY29uTmFtZUNsczogZnVuY3Rpb24gaWNvbk5hbWVDbHMoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFsnaXZ1LWljb24nLCAnaXZ1LWljb24tJyArIFN0cmluZyh0aGlzLmljb25OYW1lKV07XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbG9jYWxlT2tUZXh0OiBmdW5jdGlvbiBsb2NhbGVPa1RleHQoKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMub2tUZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm9rVGV4dDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50KCdpLm1vZGFsLm9rVGV4dCcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsb2NhbGVDYW5jZWxUZXh0OiBmdW5jdGlvbiBsb2NhbGVDYW5jZWxUZXh0KCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNhbmNlbFRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2FuY2VsVGV4dDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50KCdpLm1vZGFsLmNhbmNlbFRleHQnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG1ldGhvZHM6IHtcbiAgICAgICAgICAgIGNhbmNlbDogZnVuY3Rpb24gY2FuY2VsKCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNsb3NpbmcpIHJldHVybjtcbiAgICAgICAgICAgICAgICB0aGlzLiRjaGlsZHJlblswXS52aXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5idXR0b25Mb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkNhbmNlbCgpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlKCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb2s6IGZ1bmN0aW9uIG9rKCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNsb3NpbmcpIHJldHVybjtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnV0dG9uTG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2hpbGRyZW5bMF0udmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLm9uT2soKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZW1vdmU6IGZ1bmN0aW9uIHJlbW92ZSgpIHtcbiAgICAgICAgICAgICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2luZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMyKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpLCAzMDApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRlc3Ryb3k6IGZ1bmN0aW9uIGRlc3Ryb3koKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kZGVzdHJveSgpO1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy4kZWwpO1xuICAgICAgICAgICAgICAgIHRoaXMub25SZW1vdmUoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvbk9rOiBmdW5jdGlvbiBvbk9rKCkge30sXG4gICAgICAgICAgICBvbkNhbmNlbDogZnVuY3Rpb24gb25DYW5jZWwoKSB7fSxcbiAgICAgICAgICAgIG9uUmVtb3ZlOiBmdW5jdGlvbiBvblJlbW92ZSgpIHt9XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIHZhciBjb21wb25lbnQgPSBJbnN0YW5jZS4kbW91bnQoKTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbXBvbmVudC4kZWwpO1xuICAgIHZhciBtb2RhbCA9IEluc3RhbmNlLiRjaGlsZHJlblswXTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIHNob3c6IGZ1bmN0aW9uIHNob3cocHJvcHMpIHtcbiAgICAgICAgICAgIG1vZGFsLiRwYXJlbnQuc2hvd0NhbmNlbCA9IHByb3BzLnNob3dDYW5jZWw7XG4gICAgICAgICAgICBtb2RhbC4kcGFyZW50Lmljb25UeXBlID0gcHJvcHMuaWNvbjtcblxuICAgICAgICAgICAgc3dpdGNoIChwcm9wcy5pY29uKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgICAgICAgICAgIG1vZGFsLiRwYXJlbnQuaWNvbk5hbWUgPSAnaW9zLWluZm9ybWF0aW9uLWNpcmNsZSc7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICAgICAgICAgICAgICBtb2RhbC4kcGFyZW50Lmljb25OYW1lID0gJ2lvcy1jaGVja21hcmstY2lyY2xlJztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgICAgICAgICAgICAgIG1vZGFsLiRwYXJlbnQuaWNvbk5hbWUgPSAnaW9zLWFsZXJ0JztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICAgICAgICAgICAgICBtb2RhbC4kcGFyZW50Lmljb25OYW1lID0gJ2lvcy1jbG9zZS1jaXJjbGUnO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdjb25maXJtJzpcbiAgICAgICAgICAgICAgICAgICAgbW9kYWwuJHBhcmVudC5pY29uTmFtZSA9ICdpb3MtaGVscC1jaXJjbGUnO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCd3aWR0aCcgaW4gcHJvcHMpIHtcbiAgICAgICAgICAgICAgICBtb2RhbC4kcGFyZW50LndpZHRoID0gcHJvcHMud2lkdGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICgnY2xvc2FibGUnIGluIHByb3BzKSB7XG4gICAgICAgICAgICAgICAgbW9kYWwuJHBhcmVudC5jbG9zYWJsZSA9IHByb3BzLmNsb3NhYmxlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoJ3RpdGxlJyBpbiBwcm9wcykge1xuICAgICAgICAgICAgICAgIG1vZGFsLiRwYXJlbnQudGl0bGUgPSBwcm9wcy50aXRsZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCdjb250ZW50JyBpbiBwcm9wcykge1xuICAgICAgICAgICAgICAgIG1vZGFsLiRwYXJlbnQuYm9keSA9IHByb3BzLmNvbnRlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICgnb2tUZXh0JyBpbiBwcm9wcykge1xuICAgICAgICAgICAgICAgIG1vZGFsLiRwYXJlbnQub2tUZXh0ID0gcHJvcHMub2tUZXh0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoJ2NhbmNlbFRleHQnIGluIHByb3BzKSB7XG4gICAgICAgICAgICAgICAgbW9kYWwuJHBhcmVudC5jYW5jZWxUZXh0ID0gcHJvcHMuY2FuY2VsVGV4dDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCdvbkNhbmNlbCcgaW4gcHJvcHMpIHtcbiAgICAgICAgICAgICAgICBtb2RhbC4kcGFyZW50Lm9uQ2FuY2VsID0gcHJvcHMub25DYW5jZWw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICgnb25PaycgaW4gcHJvcHMpIHtcbiAgICAgICAgICAgICAgICBtb2RhbC4kcGFyZW50Lm9uT2sgPSBwcm9wcy5vbk9rO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoJ2xvYWRpbmcnIGluIHByb3BzKSB7XG4gICAgICAgICAgICAgICAgbW9kYWwuJHBhcmVudC5sb2FkaW5nID0gcHJvcHMubG9hZGluZztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCdzY3JvbGxhYmxlJyBpbiBwcm9wcykge1xuICAgICAgICAgICAgICAgIG1vZGFsLiRwYXJlbnQuc2Nyb2xsYWJsZSA9IHByb3BzLnNjcm9sbGFibGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG1vZGFsLiRwYXJlbnQub25SZW1vdmUgPSBwcm9wcy5vblJlbW92ZTtcblxuICAgICAgICAgICAgbW9kYWwudmlzaWJsZSA9IHRydWU7XG4gICAgICAgIH0sXG4gICAgICAgIHJlbW92ZTogZnVuY3Rpb24gcmVtb3ZlKCkge1xuICAgICAgICAgICAgbW9kYWwudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgbW9kYWwuJHBhcmVudC5idXR0b25Mb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICBtb2RhbC4kcGFyZW50LnJlbW92ZSgpO1xuICAgICAgICB9LFxuXG4gICAgICAgIGNvbXBvbmVudDogbW9kYWxcbiAgICB9O1xufS5iaW5kKHVuZGVmaW5lZCk7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IF9tb2RhbDIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiA1MTYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbW9kYWxfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIwNik7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbW9kYWxfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9tb2RhbF92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX21vZGFsX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9tb2RhbF92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zZWEyNDlhMF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX21vZGFsX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1MTcpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzNlYTI0OWEwX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbW9kYWxfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zZWEyNDlhMF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX21vZGFsX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX21vZGFsX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfM2VhMjQ5YTBfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9tb2RhbF92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfM2VhMjQ5YTBfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9tb2RhbF92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogNTE3ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBkaXJlY3RpdmVzOiBbeyBuYW1lOiBcInRyYW5zZmVyLWRvbVwiLCByYXdOYW1lOiBcInYtdHJhbnNmZXItZG9tXCIgfV0sIGF0dHJzOiB7IFwiZGF0YS10cmFuc2ZlclwiOiBfdm0udHJhbnNmZXIgfSB9LCBbX2MoJ3RyYW5zaXRpb24nLCB7IGF0dHJzOiB7IFwibmFtZVwiOiBfdm0udHJhbnNpdGlvbk5hbWVzWzFdIH0gfSwgW192bS5zaG93TWFzayA/IF9jKCdkaXYnLCB7IGRpcmVjdGl2ZXM6IFt7IG5hbWU6IFwic2hvd1wiLCByYXdOYW1lOiBcInYtc2hvd1wiLCB2YWx1ZTogX3ZtLnZpc2libGUsIGV4cHJlc3Npb246IFwidmlzaWJsZVwiIH1dLCBjbGFzczogX3ZtLm1hc2tDbGFzc2VzLCBzdHlsZTogX3ZtLndyYXBTdHlsZXMsIG9uOiB7IFwiY2xpY2tcIjogX3ZtLmhhbmRsZU1hc2sgfSB9KSA6IF92bS5fZSgpXSksIF92bS5fdihcIiBcIiksIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0ud3JhcENsYXNzZXMsIHN0eWxlOiBfdm0ud3JhcFN0eWxlcywgb246IHsgXCJjbGlja1wiOiBfdm0uaGFuZGxlV3JhcENsaWNrIH0gfSwgW19jKCd0cmFuc2l0aW9uJywgeyBhdHRyczogeyBcIm5hbWVcIjogX3ZtLnRyYW5zaXRpb25OYW1lc1swXSB9LCBvbjogeyBcImFmdGVyLWxlYXZlXCI6IF92bS5hbmltYXRpb25GaW5pc2ggfSB9LCBbX2MoJ2RpdicsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBfdm0udmlzaWJsZSwgZXhwcmVzc2lvbjogXCJ2aXNpYmxlXCIgfV0sIGNsYXNzOiBfdm0uY2xhc3Nlcywgc3R5bGU6IF92bS5tYWluU3R5bGVzLCBvbjogeyBcIm1vdXNlZG93blwiOiBfdm0uaGFuZGxlTW91c2Vkb3duIH0gfSwgW19jKCdkaXYnLCB7IHJlZjogXCJjb250ZW50XCIsIGNsYXNzOiBfdm0uY29udGVudENsYXNzZXMsIHN0eWxlOiBfdm0uY29udGVudFN0eWxlcywgb246IHsgXCJjbGlja1wiOiBfdm0uaGFuZGxlQ2xpY2tNb2RhbCB9IH0sIFtfdm0uY2xvc2FibGUgPyBfYygnYScsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1jbG9zZSddLCBvbjogeyBcImNsaWNrXCI6IF92bS5jbG9zZSB9IH0sIFtfdm0uX3QoXCJjbG9zZVwiLCBbX2MoJ0ljb24nLCB7IGF0dHJzOiB7IFwidHlwZVwiOiBcImlvcy1jbG9zZVwiIH0gfSldKV0sIDIpIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF92bS5zaG93SGVhZCA/IF9jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctaGVhZGVyJ10sIG9uOiB7IFwibW91c2Vkb3duXCI6IF92bS5oYW5kbGVNb3ZlU3RhcnQgfSB9LCBbX3ZtLl90KFwiaGVhZGVyXCIsIFtfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWhlYWRlci1pbm5lciddIH0sIFtfdm0uX3YoX3ZtLl9zKF92bS50aXRsZSkpXSldKV0sIDIpIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF9jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctYm9keSddIH0sIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwgMiksIF92bS5fdihcIiBcIiksICFfdm0uZm9vdGVySGlkZSA/IF9jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctZm9vdGVyJ10gfSwgW192bS5fdChcImZvb3RlclwiLCBbX2MoJ2ktYnV0dG9uJywgeyBhdHRyczogeyBcInR5cGVcIjogXCJ0ZXh0XCIsIFwic2l6ZVwiOiBcImxhcmdlXCIgfSwgbmF0aXZlT246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIF92bS5jYW5jZWwoJGV2ZW50KTtcbiAgICAgIH0gfSB9LCBbX3ZtLl92KF92bS5fcyhfdm0ubG9jYWxlQ2FuY2VsVGV4dCkpXSksIF92bS5fdihcIiBcIiksIF9jKCdpLWJ1dHRvbicsIHsgYXR0cnM6IHsgXCJ0eXBlXCI6IFwicHJpbWFyeVwiLCBcInNpemVcIjogXCJsYXJnZVwiLCBcImxvYWRpbmdcIjogX3ZtLmJ1dHRvbkxvYWRpbmcgfSwgbmF0aXZlT246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIF92bS5vaygkZXZlbnQpO1xuICAgICAgfSB9IH0sIFtfdm0uX3YoX3ZtLl9zKF92bS5sb2NhbGVPa1RleHQpKV0pXSldLCAyKSA6IF92bS5fZSgpXSldKV0pXSwgMSldLCAxKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDUxOCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbm90aWZpY2F0aW9uID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMDIpO1xuXG52YXIgX25vdGlmaWNhdGlvbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9ub3RpZmljYXRpb24pO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4Q2xzID0gJ2l2dS1ub3RpY2UnO1xudmFyIGljb25QcmVmaXhDbHMgPSAnaXZ1LWljb24nO1xudmFyIHByZWZpeEtleSA9ICdpdnVfbm90aWNlX2tleV8nO1xuXG52YXIgdG9wID0gMjQ7XG52YXIgZGVmYXVsdER1cmF0aW9uID0gNC41O1xudmFyIG5vdGljZUluc3RhbmNlID0gdm9pZCAwO1xudmFyIG5hbWUgPSAxO1xuXG52YXIgaWNvblR5cGVzID0ge1xuICAgICdpbmZvJzogJ2lvcy1pbmZvcm1hdGlvbi1jaXJjbGUnLFxuICAgICdzdWNjZXNzJzogJ2lvcy1jaGVja21hcmstY2lyY2xlJyxcbiAgICAnd2FybmluZyc6ICdpb3MtYWxlcnQnLFxuICAgICdlcnJvcic6ICdpb3MtY2xvc2UtY2lyY2xlJ1xufTtcblxuZnVuY3Rpb24gZ2V0Tm90aWNlSW5zdGFuY2UoKSB7XG4gICAgbm90aWNlSW5zdGFuY2UgPSBub3RpY2VJbnN0YW5jZSB8fCBfbm90aWZpY2F0aW9uMi5kZWZhdWx0Lm5ld0luc3RhbmNlKHtcbiAgICAgICAgcHJlZml4Q2xzOiBwcmVmaXhDbHMsXG4gICAgICAgIHN0eWxlczoge1xuICAgICAgICAgICAgdG9wOiB0b3AgKyAncHgnLFxuICAgICAgICAgICAgcmlnaHQ6IDBcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5vdGljZUluc3RhbmNlO1xufVxuXG5mdW5jdGlvbiBub3RpY2UodHlwZSwgb3B0aW9ucykge1xuICAgIHZhciB0aXRsZSA9IG9wdGlvbnMudGl0bGUgfHwgJyc7XG4gICAgdmFyIGRlc2MgPSBvcHRpb25zLmRlc2MgfHwgJyc7XG4gICAgdmFyIG5vdGljZUtleSA9IG9wdGlvbnMubmFtZSB8fCAnJyArIHByZWZpeEtleSArIG5hbWU7XG4gICAgdmFyIG9uQ2xvc2UgPSBvcHRpb25zLm9uQ2xvc2UgfHwgZnVuY3Rpb24gKCkge307XG4gICAgdmFyIHJlbmRlciA9IG9wdGlvbnMucmVuZGVyO1xuXG4gICAgdmFyIGR1cmF0aW9uID0gb3B0aW9ucy5kdXJhdGlvbiA9PT0gMCA/IDAgOiBvcHRpb25zLmR1cmF0aW9uIHx8IGRlZmF1bHREdXJhdGlvbjtcblxuICAgIG5hbWUrKztcblxuICAgIHZhciBpbnN0YW5jZSA9IGdldE5vdGljZUluc3RhbmNlKCk7XG5cbiAgICB2YXIgY29udGVudCA9IHZvaWQgMDtcblxuICAgIHZhciB3aXRoSWNvbiA9IHZvaWQgMDtcblxuICAgIHZhciB3aXRoX2Rlc2MgPSBvcHRpb25zLnJlbmRlciAmJiAhdGl0bGUgPyAnJyA6IGRlc2MgfHwgb3B0aW9ucy5yZW5kZXIgPyAnICcgKyBwcmVmaXhDbHMgKyAnLXdpdGgtZGVzYycgOiAnJztcblxuICAgIGlmICh0eXBlID09ICdub3JtYWwnKSB7XG4gICAgICAgIHdpdGhJY29uID0gZmFsc2U7XG4gICAgICAgIGNvbnRlbnQgPSAnXFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIicgKyBwcmVmaXhDbHMgKyAnLWN1c3RvbS1jb250ZW50ICcgKyBwcmVmaXhDbHMgKyAnLXdpdGgtbm9ybWFsICcgKyB3aXRoX2Rlc2MgKyAnXCI+XFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCInICsgcHJlZml4Q2xzICsgJy10aXRsZVwiPicgKyBTdHJpbmcodGl0bGUpICsgJzwvZGl2PlxcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiJyArIHByZWZpeENscyArICctZGVzY1wiPicgKyBTdHJpbmcoZGVzYykgKyAnPC9kaXY+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAnO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciBpY29uVHlwZSA9IGljb25UeXBlc1t0eXBlXTtcbiAgICAgICAgdmFyIG91dGxpbmVJY29uID0gd2l0aF9kZXNjID09PSAnJyA/ICcnIDogJy1vdXRsaW5lJztcbiAgICAgICAgd2l0aEljb24gPSB0cnVlO1xuICAgICAgICBjb250ZW50ID0gJ1xcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCInICsgcHJlZml4Q2xzICsgJy1jdXN0b20tY29udGVudCAnICsgcHJlZml4Q2xzICsgJy13aXRoLWljb24gJyArIHByZWZpeENscyArICctd2l0aC0nICsgU3RyaW5nKHR5cGUpICsgJyAnICsgd2l0aF9kZXNjICsgJ1wiPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIicgKyBwcmVmaXhDbHMgKyAnLWljb24gJyArIHByZWZpeENscyArICctaWNvbi0nICsgU3RyaW5nKHR5cGUpICsgJ1wiPlxcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCInICsgaWNvblByZWZpeENscyArICcgJyArIGljb25QcmVmaXhDbHMgKyAnLScgKyBTdHJpbmcoaWNvblR5cGUpICsgb3V0bGluZUljb24gKyAnXCI+PC9pPlxcbiAgICAgICAgICAgICAgICA8L3NwYW4+XFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCInICsgcHJlZml4Q2xzICsgJy10aXRsZVwiPicgKyBTdHJpbmcodGl0bGUpICsgJzwvZGl2PlxcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiJyArIHByZWZpeENscyArICctZGVzY1wiPicgKyBTdHJpbmcoZGVzYykgKyAnPC9kaXY+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAnO1xuICAgIH1cbiAgICBpbnN0YW5jZS5ub3RpY2Uoe1xuICAgICAgICBuYW1lOiBub3RpY2VLZXkudG9TdHJpbmcoKSxcbiAgICAgICAgZHVyYXRpb246IGR1cmF0aW9uLFxuICAgICAgICBzdHlsZXM6IHt9LFxuICAgICAgICB0cmFuc2l0aW9uTmFtZTogJ21vdmUtbm90aWNlJyxcbiAgICAgICAgY29udGVudDogY29udGVudCxcbiAgICAgICAgd2l0aEljb246IHdpdGhJY29uLFxuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgaGFzVGl0bGU6ICEhdGl0bGUsXG4gICAgICAgIG9uQ2xvc2U6IG9uQ2xvc2UsXG4gICAgICAgIGNsb3NhYmxlOiB0cnVlLFxuICAgICAgICB0eXBlOiAnbm90aWNlJ1xuICAgIH0pO1xufVxuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgb3BlbjogZnVuY3Rpb24gb3BlbihvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBub3RpY2UoJ25vcm1hbCcsIG9wdGlvbnMpO1xuICAgIH0sXG4gICAgaW5mbzogZnVuY3Rpb24gaW5mbyhvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBub3RpY2UoJ2luZm8nLCBvcHRpb25zKTtcbiAgICB9LFxuICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIHN1Y2Nlc3Mob3B0aW9ucykge1xuICAgICAgICByZXR1cm4gbm90aWNlKCdzdWNjZXNzJywgb3B0aW9ucyk7XG4gICAgfSxcbiAgICB3YXJuaW5nOiBmdW5jdGlvbiB3YXJuaW5nKG9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIG5vdGljZSgnd2FybmluZycsIG9wdGlvbnMpO1xuICAgIH0sXG4gICAgZXJyb3I6IGZ1bmN0aW9uIGVycm9yKG9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIG5vdGljZSgnZXJyb3InLCBvcHRpb25zKTtcbiAgICB9LFxuICAgIGNvbmZpZzogZnVuY3Rpb24gY29uZmlnKG9wdGlvbnMpIHtcbiAgICAgICAgaWYgKG9wdGlvbnMudG9wKSB7XG4gICAgICAgICAgICB0b3AgPSBvcHRpb25zLnRvcDtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9ucy5kdXJhdGlvbiB8fCBvcHRpb25zLmR1cmF0aW9uID09PSAwKSB7XG4gICAgICAgICAgICBkZWZhdWx0RHVyYXRpb24gPSBvcHRpb25zLmR1cmF0aW9uO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBjbG9zZTogZnVuY3Rpb24gY2xvc2UobmFtZSkge1xuICAgICAgICBpZiAobmFtZSkge1xuICAgICAgICAgICAgbmFtZSA9IG5hbWUudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIGlmIChub3RpY2VJbnN0YW5jZSkge1xuICAgICAgICAgICAgICAgIG5vdGljZUluc3RhbmNlLnJlbW92ZShuYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGVzdHJveTogZnVuY3Rpb24gZGVzdHJveSgpIHtcbiAgICAgICAgdmFyIGluc3RhbmNlID0gZ2V0Tm90aWNlSW5zdGFuY2UoKTtcbiAgICAgICAgbm90aWNlSW5zdGFuY2UgPSBudWxsO1xuICAgICAgICBpbnN0YW5jZS5kZXN0cm95KCdpdnUtbm90aWNlJyk7XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiA1MTkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9wYWdlID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1MjApO1xuXG52YXIgX3BhZ2UyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcGFnZSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IF9wYWdlMi5kZWZhdWx0O1xuXG4vKioqLyB9KSxcbi8qIDUyMCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9wYWdlX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMDcpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3BhZ2VfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9wYWdlX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcGFnZV92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcGFnZV92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9kNWZmNDFiY19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3BhZ2VfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUyMyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfZDVmZjQxYmNfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9wYWdlX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfZDVmZjQxYmNfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9wYWdlX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3BhZ2VfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9kNWZmNDFiY19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3BhZ2VfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2Q1ZmY0MWJjX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfcGFnZV92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogNTIxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX29wdGlvbnNfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIwOCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfb3B0aW9uc192dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX29wdGlvbnNfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9vcHRpb25zX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9vcHRpb25zX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzI1MGRiYmVhX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfb3B0aW9uc192dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNTIyKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8yNTBkYmJlYV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX29wdGlvbnNfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8yNTBkYmJlYV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX29wdGlvbnNfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfb3B0aW9uc192dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzI1MGRiYmVhX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfb3B0aW9uc192dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMjUwZGJiZWFfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9vcHRpb25zX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA1MjIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF92bS5zaG93U2l6ZXIgfHwgX3ZtLnNob3dFbGV2YXRvciA/IF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0ub3B0c0NsYXNzZXMgfSwgW192bS5zaG93U2l6ZXIgPyBfYygnZGl2JywgeyBjbGFzczogX3ZtLnNpemVyQ2xhc3NlcyB9LCBbX2MoJ2ktc2VsZWN0JywgeyBhdHRyczogeyBcInNpemVcIjogX3ZtLnNpemUsIFwicGxhY2VtZW50XCI6IF92bS5wbGFjZW1lbnQsIFwidHJhbnNmZXJcIjogX3ZtLnRyYW5zZmVyIH0sIG9uOiB7IFwib24tY2hhbmdlXCI6IF92bS5jaGFuZ2VTaXplIH0sIG1vZGVsOiB7IHZhbHVlOiBfdm0uY3VycmVudFBhZ2VTaXplLCBjYWxsYmFjazogZnVuY3Rpb24gY2FsbGJhY2soJCR2KSB7XG4gICAgICAgIF92bS5jdXJyZW50UGFnZVNpemUgPSAkJHY7XG4gICAgICB9LCBleHByZXNzaW9uOiBcImN1cnJlbnRQYWdlU2l6ZVwiIH0gfSwgX3ZtLl9sKF92bS5wYWdlU2l6ZU9wdHMsIGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgcmV0dXJuIF9jKCdpLW9wdGlvbicsIHsga2V5OiBpdGVtLCBzdGF0aWNTdHlsZTogeyBcInRleHQtYWxpZ25cIjogXCJjZW50ZXJcIiB9LCBhdHRyczogeyBcInZhbHVlXCI6IGl0ZW0gfSB9LCBbX3ZtLl92KF92bS5fcyhpdGVtKSArIFwiIFwiICsgX3ZtLl9zKF92bS50KCdpLnBhZ2UucGFnZScpKSldKTtcbiAgfSksIDEpXSwgMSkgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLnNob3dFbGV2YXRvciA/IF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0uRWxldmF0b3JDbGFzc2VzIH0sIFtfdm0uX3YoXCJcXG4gICAgICAgIFwiICsgX3ZtLl9zKF92bS50KCdpLnBhZ2UuZ290bycpKSArIFwiXFxuICAgICAgICBcIiksIF9jKCdpbnB1dCcsIHsgYXR0cnM6IHsgXCJ0eXBlXCI6IFwidGV4dFwiLCBcImF1dG9jb21wbGV0ZVwiOiBcIm9mZlwiLCBcInNwZWxsY2hlY2tcIjogXCJmYWxzZVwiIH0sIGRvbVByb3BzOiB7IFwidmFsdWVcIjogX3ZtLl9jdXJyZW50IH0sIG9uOiB7IFwia2V5dXBcIjogZnVuY3Rpb24ga2V5dXAoJGV2ZW50KSB7XG4gICAgICAgIGlmICghJGV2ZW50LnR5cGUuaW5kZXhPZigna2V5JykgJiYgX3ZtLl9rKCRldmVudC5rZXlDb2RlLCBcImVudGVyXCIsIDEzLCAkZXZlbnQua2V5LCBcIkVudGVyXCIpKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1yZXR1cm4gX3ZtLmNoYW5nZVBhZ2UoJGV2ZW50KTtcbiAgICAgIH0gfSB9KSwgX3ZtLl92KFwiXFxuICAgICAgICBcIiArIF92bS5fcyhfdm0udCgnaS5wYWdlLnAnKSkgKyBcIlxcbiAgICBcIildKSA6IF92bS5fZSgpXSkgOiBfdm0uX2UoKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDUyMyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgdmFyIF92bSA9IHRoaXM7dmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaDtyZXR1cm4gX3ZtLnNpbXBsZSA/IF9jKCd1bCcsIHsgY2xhc3M6IF92bS5zaW1wbGVXcmFwQ2xhc3Nlcywgc3R5bGU6IF92bS5zdHlsZXMgfSwgW19jKCdsaScsIHsgY2xhc3M6IF92bS5wcmV2Q2xhc3NlcywgYXR0cnM6IHsgXCJ0aXRsZVwiOiBfdm0udCgnaS5wYWdlLnByZXYnKSB9LCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7cmV0dXJuIF92bS5wcmV2KCRldmVudCk7XG4gICAgICB9IH0gfSwgW192bS5fbSgwKV0pLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyBjbGFzczogX3ZtLnNpbXBsZVBhZ2VyQ2xhc3NlcywgYXR0cnM6IHsgXCJ0aXRsZVwiOiBfdm0uY3VycmVudFBhZ2UgKyAnLycgKyBfdm0uYWxsUGFnZXMgfSB9LCBbX2MoJ2lucHV0JywgeyBhdHRyczogeyBcInR5cGVcIjogXCJ0ZXh0XCIsIFwiYXV0b2NvbXBsZXRlXCI6IFwib2ZmXCIsIFwic3BlbGxjaGVja1wiOiBcImZhbHNlXCIgfSwgZG9tUHJvcHM6IHsgXCJ2YWx1ZVwiOiBfdm0uY3VycmVudFBhZ2UgfSwgb246IHsgXCJrZXlkb3duXCI6IF92bS5rZXlEb3duLCBcImtleXVwXCI6IF92bS5rZXlVcCwgXCJjaGFuZ2VcIjogX3ZtLmtleVVwIH0gfSksIF92bS5fdihcIiBcIiksIF9jKCdzcGFuJywgW192bS5fdihcIi9cIildKSwgX3ZtLl92KFwiXFxuICAgICAgICBcIiArIF92bS5fcyhfdm0uYWxsUGFnZXMpICsgXCJcXG4gICAgXCIpXSksIF92bS5fdihcIiBcIiksIF9jKCdsaScsIHsgY2xhc3M6IF92bS5uZXh0Q2xhc3NlcywgYXR0cnM6IHsgXCJ0aXRsZVwiOiBfdm0udCgnaS5wYWdlLm5leHQnKSB9LCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7cmV0dXJuIF92bS5uZXh0KCRldmVudCk7XG4gICAgICB9IH0gfSwgW192bS5fbSgxKV0pXSkgOiBfYygndWwnLCB7IGNsYXNzOiBfdm0ud3JhcENsYXNzZXMsIHN0eWxlOiBfdm0uc3R5bGVzIH0sIFtfdm0uc2hvd1RvdGFsID8gX2MoJ3NwYW4nLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctdG90YWwnXSB9LCBbX3ZtLl90KFwiZGVmYXVsdFwiLCBbX3ZtLl92KF92bS5fcyhfdm0udCgnaS5wYWdlLnRvdGFsJykpICsgXCIgXCIgKyBfdm0uX3MoX3ZtLnRvdGFsKSArIFwiIFwiKSwgX3ZtLnRvdGFsIDw9IDEgPyBbX3ZtLl92KF92bS5fcyhfdm0udCgnaS5wYWdlLml0ZW0nKSkpXSA6IFtfdm0uX3YoX3ZtLl9zKF92bS50KCdpLnBhZ2UuaXRlbXMnKSkpXV0pXSwgMikgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2xpJywgeyBjbGFzczogX3ZtLnByZXZDbGFzc2VzLCBhdHRyczogeyBcInRpdGxlXCI6IF92bS50KCdpLnBhZ2UucHJldicpIH0sIG9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtyZXR1cm4gX3ZtLnByZXYoJGV2ZW50KTtcbiAgICAgIH0gfSB9LCBbX2MoJ2EnLCBbX3ZtLnByZXZUZXh0ICE9PSAnJyA/IFtfdm0uX3YoX3ZtLl9zKF92bS5wcmV2VGV4dCkpXSA6IF9jKCdpJywgeyBzdGF0aWNDbGFzczogXCJpdnUtaWNvbiBpdnUtaWNvbi1pb3MtYXJyb3ctYmFja1wiIH0pXSwgMildKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2xpJywgeyBjbGFzczogX3ZtLmZpcnN0UGFnZUNsYXNzZXMsIGF0dHJzOiB7IFwidGl0bGVcIjogXCIxXCIgfSwgb246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBfdm0uY2hhbmdlUGFnZSgxKTtcbiAgICAgIH0gfSB9LCBbX2MoJ2EnLCBbX3ZtLl92KFwiMVwiKV0pXSksIF92bS5fdihcIiBcIiksIF92bS5jdXJyZW50UGFnZSA+IDUgPyBfYygnbGknLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctaXRlbS1qdW1wLXByZXYnXSwgYXR0cnM6IHsgXCJ0aXRsZVwiOiBfdm0udCgnaS5wYWdlLnByZXY1JykgfSwgb246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBfdm0uZmFzdFByZXYoJGV2ZW50KTtcbiAgICAgIH0gfSB9LCBbX3ZtLl9tKDIpXSkgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLmN1cnJlbnRQYWdlID09PSA1ID8gX2MoJ2xpJywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWl0ZW0nXSwgYXR0cnM6IHsgXCJ0aXRsZVwiOiBfdm0uY3VycmVudFBhZ2UgLSAzIH0sIG9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtyZXR1cm4gX3ZtLmNoYW5nZVBhZ2UoX3ZtLmN1cnJlbnRQYWdlIC0gMyk7XG4gICAgICB9IH0gfSwgW19jKCdhJywgW192bS5fdihfdm0uX3MoX3ZtLmN1cnJlbnRQYWdlIC0gMykpXSldKSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfdm0uY3VycmVudFBhZ2UgLSAyID4gMSA/IF9jKCdsaScsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1pdGVtJ10sIGF0dHJzOiB7IFwidGl0bGVcIjogX3ZtLmN1cnJlbnRQYWdlIC0gMiB9LCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7cmV0dXJuIF92bS5jaGFuZ2VQYWdlKF92bS5jdXJyZW50UGFnZSAtIDIpO1xuICAgICAgfSB9IH0sIFtfYygnYScsIFtfdm0uX3YoX3ZtLl9zKF92bS5jdXJyZW50UGFnZSAtIDIpKV0pXSkgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLmN1cnJlbnRQYWdlIC0gMSA+IDEgPyBfYygnbGknLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctaXRlbSddLCBhdHRyczogeyBcInRpdGxlXCI6IF92bS5jdXJyZW50UGFnZSAtIDEgfSwgb246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBfdm0uY2hhbmdlUGFnZShfdm0uY3VycmVudFBhZ2UgLSAxKTtcbiAgICAgIH0gfSB9LCBbX2MoJ2EnLCBbX3ZtLl92KF92bS5fcyhfdm0uY3VycmVudFBhZ2UgLSAxKSldKV0pIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF92bS5jdXJyZW50UGFnZSAhPSAxICYmIF92bS5jdXJyZW50UGFnZSAhPSBfdm0uYWxsUGFnZXMgPyBfYygnbGknLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctaXRlbScsIF92bS5wcmVmaXhDbHMgKyAnLWl0ZW0tYWN0aXZlJ10sIGF0dHJzOiB7IFwidGl0bGVcIjogX3ZtLmN1cnJlbnRQYWdlIH0gfSwgW19jKCdhJywgW192bS5fdihfdm0uX3MoX3ZtLmN1cnJlbnRQYWdlKSldKV0pIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF92bS5jdXJyZW50UGFnZSArIDEgPCBfdm0uYWxsUGFnZXMgPyBfYygnbGknLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctaXRlbSddLCBhdHRyczogeyBcInRpdGxlXCI6IF92bS5jdXJyZW50UGFnZSArIDEgfSwgb246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBfdm0uY2hhbmdlUGFnZShfdm0uY3VycmVudFBhZ2UgKyAxKTtcbiAgICAgIH0gfSB9LCBbX2MoJ2EnLCBbX3ZtLl92KF92bS5fcyhfdm0uY3VycmVudFBhZ2UgKyAxKSldKV0pIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF92bS5jdXJyZW50UGFnZSArIDIgPCBfdm0uYWxsUGFnZXMgPyBfYygnbGknLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctaXRlbSddLCBhdHRyczogeyBcInRpdGxlXCI6IF92bS5jdXJyZW50UGFnZSArIDIgfSwgb246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBfdm0uY2hhbmdlUGFnZShfdm0uY3VycmVudFBhZ2UgKyAyKTtcbiAgICAgIH0gfSB9LCBbX2MoJ2EnLCBbX3ZtLl92KF92bS5fcyhfdm0uY3VycmVudFBhZ2UgKyAyKSldKV0pIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF92bS5hbGxQYWdlcyAtIF92bS5jdXJyZW50UGFnZSA9PT0gNCA/IF9jKCdsaScsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1pdGVtJ10sIGF0dHJzOiB7IFwidGl0bGVcIjogX3ZtLmN1cnJlbnRQYWdlICsgMyB9LCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7cmV0dXJuIF92bS5jaGFuZ2VQYWdlKF92bS5jdXJyZW50UGFnZSArIDMpO1xuICAgICAgfSB9IH0sIFtfYygnYScsIFtfdm0uX3YoX3ZtLl9zKF92bS5jdXJyZW50UGFnZSArIDMpKV0pXSkgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLmFsbFBhZ2VzIC0gX3ZtLmN1cnJlbnRQYWdlID49IDUgPyBfYygnbGknLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctaXRlbS1qdW1wLW5leHQnXSwgYXR0cnM6IHsgXCJ0aXRsZVwiOiBfdm0udCgnaS5wYWdlLm5leHQ1JykgfSwgb246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBfdm0uZmFzdE5leHQoJGV2ZW50KTtcbiAgICAgIH0gfSB9LCBbX3ZtLl9tKDMpXSkgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLmFsbFBhZ2VzID4gMSA/IF9jKCdsaScsIHsgY2xhc3M6IF92bS5sYXN0UGFnZUNsYXNzZXMsIGF0dHJzOiB7IFwidGl0bGVcIjogX3ZtLmFsbFBhZ2VzIH0sIG9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtyZXR1cm4gX3ZtLmNoYW5nZVBhZ2UoX3ZtLmFsbFBhZ2VzKTtcbiAgICAgIH0gfSB9LCBbX2MoJ2EnLCBbX3ZtLl92KF92bS5fcyhfdm0uYWxsUGFnZXMpKV0pXSkgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2xpJywgeyBjbGFzczogX3ZtLm5leHRDbGFzc2VzLCBhdHRyczogeyBcInRpdGxlXCI6IF92bS50KCdpLnBhZ2UubmV4dCcpIH0sIG9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtyZXR1cm4gX3ZtLm5leHQoJGV2ZW50KTtcbiAgICAgIH0gfSB9LCBbX2MoJ2EnLCBbX3ZtLm5leHRUZXh0ICE9PSAnJyA/IFtfdm0uX3YoX3ZtLl9zKF92bS5uZXh0VGV4dCkpXSA6IF9jKCdpJywgeyBzdGF0aWNDbGFzczogXCJpdnUtaWNvbiBpdnUtaWNvbi1pb3MtYXJyb3ctZm9yd2FyZFwiIH0pXSwgMildKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ09wdGlvbnMnLCB7IGF0dHJzOiB7IFwic2hvdy1zaXplclwiOiBfdm0uc2hvd1NpemVyLCBcInBhZ2Utc2l6ZVwiOiBfdm0uY3VycmVudFBhZ2VTaXplLCBcInBhZ2Utc2l6ZS1vcHRzXCI6IF92bS5wYWdlU2l6ZU9wdHMsIFwicGxhY2VtZW50XCI6IF92bS5wbGFjZW1lbnQsIFwidHJhbnNmZXJcIjogX3ZtLnRyYW5zZmVyLCBcInNob3ctZWxldmF0b3JcIjogX3ZtLnNob3dFbGV2YXRvciwgXCJfY3VycmVudFwiOiBfdm0uY3VycmVudFBhZ2UsIFwiY3VycmVudFwiOiBfdm0uY3VycmVudFBhZ2UsIFwiYWxsLXBhZ2VzXCI6IF92bS5hbGxQYWdlcywgXCJpcy1zbWFsbFwiOiBfdm0uaXNTbWFsbCB9LCBvbjogeyBcIm9uLXNpemVcIjogX3ZtLm9uU2l6ZSwgXCJvbi1wYWdlXCI6IF92bS5vblBhZ2UgfSB9KV0sIDEpO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbZnVuY3Rpb24gKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnYScsIFtfYygnaScsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWljb24gaXZ1LWljb24taW9zLWFycm93LWJhY2tcIiB9KV0pO1xufSwgZnVuY3Rpb24gKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnYScsIFtfYygnaScsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWljb24gaXZ1LWljb24taW9zLWFycm93LWZvcndhcmRcIiB9KV0pO1xufSwgZnVuY3Rpb24gKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnYScsIFtfYygnaScsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWljb24gaXZ1LWljb24taW9zLWFycm93LWJhY2tcIiB9KV0pO1xufSwgZnVuY3Rpb24gKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnYScsIFtfYygnaScsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWljb24gaXZ1LWljb24taW9zLWFycm93LWZvcndhcmRcIiB9KV0pO1xufV07XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDUyNCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX3BvcHRpcCA9IF9fd2VicGFja19yZXF1aXJlX18oMjA5KTtcblxudmFyIF9wb3B0aXAyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcG9wdGlwKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0gX3BvcHRpcDIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiA1MjUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGRpcmVjdGl2ZXM6IFt7IG5hbWU6IFwiY2xpY2stb3V0c2lkZVwiLCByYXdOYW1lOiBcInYtY2xpY2stb3V0c2lkZVwiLCB2YWx1ZTogX3ZtLmhhbmRsZUNsb3NlLCBleHByZXNzaW9uOiBcImhhbmRsZUNsb3NlXCIgfV0sIGNsYXNzOiBfdm0uY2xhc3Nlcywgb246IHsgXCJtb3VzZWVudGVyXCI6IF92bS5oYW5kbGVNb3VzZWVudGVyLCBcIm1vdXNlbGVhdmVcIjogX3ZtLmhhbmRsZU1vdXNlbGVhdmUgfSB9LCBbX2MoJ2RpdicsIHsgcmVmOiBcInJlZmVyZW5jZVwiLCBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLXJlbCddLCBvbjogeyBcImNsaWNrXCI6IF92bS5oYW5kbGVDbGljaywgXCJtb3VzZWRvd25cIjogZnVuY3Rpb24gbW91c2Vkb3duKCRldmVudCkge1xuICAgICAgICByZXR1cm4gX3ZtLmhhbmRsZUZvY3VzKGZhbHNlKTtcbiAgICAgIH0sIFwibW91c2V1cFwiOiBmdW5jdGlvbiBtb3VzZXVwKCRldmVudCkge1xuICAgICAgICByZXR1cm4gX3ZtLmhhbmRsZUJsdXIoZmFsc2UpO1xuICAgICAgfSB9IH0sIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwgMiksIF92bS5fdihcIiBcIiksIF9jKCd0cmFuc2l0aW9uJywgeyBhdHRyczogeyBcIm5hbWVcIjogXCJmYWRlXCIgfSB9LCBbX2MoJ2RpdicsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBfdm0udmlzaWJsZSwgZXhwcmVzc2lvbjogXCJ2aXNpYmxlXCIgfSwgeyBuYW1lOiBcInRyYW5zZmVyLWRvbVwiLCByYXdOYW1lOiBcInYtdHJhbnNmZXItZG9tXCIgfV0sIHJlZjogXCJwb3BwZXJcIiwgY2xhc3M6IF92bS5wb3BwZXJDbGFzc2VzLCBzdHlsZTogX3ZtLnN0eWxlcywgYXR0cnM6IHsgXCJkYXRhLXRyYW5zZmVyXCI6IF92bS50cmFuc2ZlciB9LCBvbjogeyBcImNsaWNrXCI6IF92bS5oYW5kbGVUcmFuc2ZlckNsaWNrLCBcIm1vdXNlZW50ZXJcIjogX3ZtLmhhbmRsZU1vdXNlZW50ZXIsIFwibW91c2VsZWF2ZVwiOiBfdm0uaGFuZGxlTW91c2VsZWF2ZSB9IH0sIFtfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWNvbnRlbnQnXSB9LCBbX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1hcnJvdyddIH0pLCBfdm0uX3YoXCIgXCIpLCBfdm0uY29uZmlybSA/IF9jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctaW5uZXInXSB9LCBbX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1ib2R5J10gfSwgW19jKCdpJywgeyBzdGF0aWNDbGFzczogXCJpdnUtaWNvbiBpdnUtaWNvbi1pb3MtaGVscC1jaXJjbGVcIiB9KSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1ib2R5LW1lc3NhZ2UnXSB9LCBbX3ZtLl90KFwidGl0bGVcIiwgW192bS5fdihfdm0uX3MoX3ZtLnRpdGxlKSldKV0sIDIpXSksIF92bS5fdihcIiBcIiksIF9jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctZm9vdGVyJ10gfSwgW19jKCdpLWJ1dHRvbicsIHsgYXR0cnM6IHsgXCJ0eXBlXCI6IFwidGV4dFwiLCBcInNpemVcIjogXCJzbWFsbFwiIH0sIG5hdGl2ZU9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdm0uY2FuY2VsKCRldmVudCk7XG4gICAgICB9IH0gfSwgW192bS5fdihfdm0uX3MoX3ZtLmxvY2FsZUNhbmNlbFRleHQpKV0pLCBfdm0uX3YoXCIgXCIpLCBfYygnaS1idXR0b24nLCB7IGF0dHJzOiB7IFwidHlwZVwiOiBcInByaW1hcnlcIiwgXCJzaXplXCI6IFwic21hbGxcIiB9LCBuYXRpdmVPbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICByZXR1cm4gX3ZtLm9rKCRldmVudCk7XG4gICAgICB9IH0gfSwgW192bS5fdihfdm0uX3MoX3ZtLmxvY2FsZU9rVGV4dCkpXSldLCAxKV0pIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksICFfdm0uY29uZmlybSA/IF9jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctaW5uZXInXSB9LCBbX3ZtLnNob3dUaXRsZSA/IF9jKCdkaXYnLCB7IHJlZjogXCJ0aXRsZVwiLCBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLXRpdGxlJ10sIHN0eWxlOiBfdm0uY29udGVudFBhZGRpbmdTdHlsZSB9LCBbX3ZtLl90KFwidGl0bGVcIiwgW19jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctdGl0bGUtaW5uZXInXSB9LCBbX3ZtLl92KF92bS5fcyhfdm0udGl0bGUpKV0pXSldLCAyKSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWJvZHknXSwgc3R5bGU6IF92bS5jb250ZW50UGFkZGluZ1N0eWxlIH0sIFtfYygnZGl2JywgeyBjbGFzczogX3ZtLmNvbnRlbnRDbGFzc2VzIH0sIFtfdm0uX3QoXCJjb250ZW50XCIsIFtfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWJvZHktY29udGVudC1pbm5lciddIH0sIFtfdm0uX3YoX3ZtLl9zKF92bS5jb250ZW50KSldKV0pXSwgMildKV0pIDogX3ZtLl9lKCldKV0pXSldLCAxKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDUyNiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX3Byb2dyZXNzID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMTIpO1xuXG52YXIgX3Byb2dyZXNzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3Byb2dyZXNzKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0gX3Byb2dyZXNzMi5kZWZhdWx0O1xuXG4vKioqLyB9KSxcbi8qIDUyNyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgdmFyIF92bSA9IHRoaXM7dmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaDtyZXR1cm4gX2MoJ2RpdicsIHsgY2xhc3M6IF92bS53cmFwQ2xhc3NlcyB9LCBbX2MoJ2RpdicsIHsgY2xhc3M6IF92bS5vdXRlckNsYXNzZXMgfSwgW19jKCdkaXYnLCB7IGNsYXNzOiBfdm0uaW5uZXJDbGFzc2VzIH0sIFtfYygnZGl2JywgeyBjbGFzczogX3ZtLmJnQ2xhc3Nlcywgc3R5bGU6IF92bS5iZ1N0eWxlIH0sIFtfdm0udGV4dEluc2lkZSA/IF9jKCdkaXYnLCB7IHN0YXRpY0NsYXNzOiBcIml2dS1wcm9ncmVzcy1pbm5lci10ZXh0XCIgfSwgW192bS5fdihfdm0uX3MoX3ZtLnBlcmNlbnQpICsgXCIlXCIpXSkgOiBfdm0uX2UoKV0pLCBfYygnZGl2JywgeyBjbGFzczogX3ZtLnN1Y2Nlc3NCZ0NsYXNzZXMsIHN0eWxlOiBfdm0uc3VjY2Vzc0JnU3R5bGUgfSldKV0pLCBfdm0uX3YoXCIgXCIpLCAhX3ZtLmhpZGVJbmZvID8gX2MoJ3NwYW4nLCB7IGNsYXNzOiBfdm0udGV4dENsYXNzZXMgfSwgW192bS5fdChcImRlZmF1bHRcIiwgW192bS5pc1N0YXR1cyA/IF9jKCdzcGFuJywgeyBjbGFzczogX3ZtLnRleHRJbm5lckNsYXNzZXMgfSwgW19jKCdJY29uJywgeyBhdHRyczogeyBcInR5cGVcIjogX3ZtLnN0YXR1c0ljb24gfSB9KV0sIDEpIDogX2MoJ3NwYW4nLCB7IGNsYXNzOiBfdm0udGV4dElubmVyQ2xhc3NlcyB9LCBbX3ZtLl92KFwiXFxuICAgICAgICAgICAgICAgIFwiICsgX3ZtLl9zKF92bS5wZXJjZW50KSArIFwiJVxcbiAgICAgICAgICAgIFwiKV0pXSldLCAyKSA6IF92bS5fZSgpXSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA1MjggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9yYWRpbyA9IF9fd2VicGFja19yZXF1aXJlX18oNTI5KTtcblxudmFyIF9yYWRpbzIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9yYWRpbyk7XG5cbnZhciBfcmFkaW9Hcm91cCA9IF9fd2VicGFja19yZXF1aXJlX18oNTMxKTtcblxudmFyIF9yYWRpb0dyb3VwMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3JhZGlvR3JvdXApO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5fcmFkaW8yLmRlZmF1bHQuR3JvdXAgPSBfcmFkaW9Hcm91cDIuZGVmYXVsdDtcbmV4cG9ydHMuZGVmYXVsdCA9IF9yYWRpbzIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiA1MjkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcmFkaW9fdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIxNCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcmFkaW9fdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9yYWRpb192dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3JhZGlvX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9yYWRpb192dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl83ZTA2Mzk2YV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3JhZGlvX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1MzApO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzdlMDYzOTZhX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfcmFkaW9fdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl83ZTA2Mzk2YV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3JhZGlvX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3JhZGlvX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfN2UwNjM5NmFfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9yYWRpb192dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfN2UwNjM5NmFfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9yYWRpb192dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogNTMwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnbGFiZWwnLCB7IGNsYXNzOiBfdm0ud3JhcENsYXNzZXMgfSwgW19jKCdzcGFuJywgeyBjbGFzczogX3ZtLnJhZGlvQ2xhc3NlcyB9LCBbX2MoJ3NwYW4nLCB7IGNsYXNzOiBfdm0uaW5uZXJDbGFzc2VzIH0pLCBfdm0uX3YoXCIgXCIpLCBfYygnaW5wdXQnLCB7IGNsYXNzOiBfdm0uaW5wdXRDbGFzc2VzLCBhdHRyczogeyBcInR5cGVcIjogXCJyYWRpb1wiLCBcImRpc2FibGVkXCI6IF92bS5kaXNhYmxlZCwgXCJuYW1lXCI6IF92bS5ncm91cE5hbWUgfSwgZG9tUHJvcHM6IHsgXCJjaGVja2VkXCI6IF92bS5jdXJyZW50VmFsdWUgfSwgb246IHsgXCJjaGFuZ2VcIjogX3ZtLmNoYW5nZSwgXCJmb2N1c1wiOiBfdm0ub25Gb2N1cywgXCJibHVyXCI6IF92bS5vbkJsdXIgfSB9KV0pLCBfdm0uX3QoXCJkZWZhdWx0XCIsIFtfdm0uX3YoX3ZtLl9zKF92bS5sYWJlbCkpXSldLCAyKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDUzMSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9yYWRpb19ncm91cF92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjE1KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9yYWRpb19ncm91cF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3JhZGlvX2dyb3VwX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcmFkaW9fZ3JvdXBfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3JhZGlvX2dyb3VwX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzMyMDgwMjlhX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfcmFkaW9fZ3JvdXBfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUzMik7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMzIwODAyOWFfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9yYWRpb19ncm91cF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzMyMDgwMjlhX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfcmFkaW9fZ3JvdXBfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcmFkaW9fZ3JvdXBfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zMjA4MDI5YV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3JhZGlvX2dyb3VwX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zMjA4MDI5YV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3JhZGlvX2dyb3VwX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA1MzIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0uY2xhc3NlcywgYXR0cnM6IHsgXCJuYW1lXCI6IF92bS5uYW1lIH0gfSwgW192bS5fdChcImRlZmF1bHRcIildLCAyKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDUzMyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX3JhdGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUzNCk7XG5cbnZhciBfcmF0ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9yYXRlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0gX3JhdGUyLmRlZmF1bHQ7XG5cbi8qKiovIH0pLFxuLyogNTM0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3JhdGVfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIxNik7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcmF0ZV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3JhdGVfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9yYXRlX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9yYXRlX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2JlOWQ5NmQ0X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfcmF0ZV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNTM1KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9iZTlkOTZkNF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3JhdGVfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9iZTlkOTZkNF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3JhdGVfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcmF0ZV92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2JlOWQ5NmQ0X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfcmF0ZV92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfYmU5ZDk2ZDRfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9yYXRlX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA1MzUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0uY2xhc3Nlcywgb246IHsgXCJtb3VzZWxlYXZlXCI6IF92bS5oYW5kbGVNb3VzZWxlYXZlIH0gfSwgW19jKCdpbnB1dCcsIHsgYXR0cnM6IHsgXCJ0eXBlXCI6IFwiaGlkZGVuXCIsIFwibmFtZVwiOiBfdm0ubmFtZSB9LCBkb21Qcm9wczogeyBcInZhbHVlXCI6IF92bS5jdXJyZW50VmFsdWUgfSB9KSwgX3ZtLl92KFwiIFwiKSwgX3ZtLl9sKF92bS5jb3VudCwgZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICByZXR1cm4gX2MoJ2RpdicsIHsga2V5OiBpdGVtLCBjbGFzczogX3ZtLnN0YXJDbHMoaXRlbSksIG9uOiB7IFwibW91c2Vtb3ZlXCI6IGZ1bmN0aW9uIG1vdXNlbW92ZSgkZXZlbnQpIHtcbiAgICAgICAgICByZXR1cm4gX3ZtLmhhbmRsZU1vdXNlbW92ZShpdGVtLCAkZXZlbnQpO1xuICAgICAgICB9LCBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICAgIHJldHVybiBfdm0uaGFuZGxlQ2xpY2soaXRlbSk7XG4gICAgICAgIH0gfSB9LCBbIV92bS5zaG93Q2hhcmFjdGVyID8gW19jKCdzcGFuJywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLXN0YXItY29udGVudCddLCBhdHRyczogeyBcInR5cGVcIjogXCJoYWxmXCIgfSB9KV0gOiBbX2MoJ3NwYW4nLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctc3Rhci1maXJzdCddLCBhdHRyczogeyBcInR5cGVcIjogXCJoYWxmXCIgfSB9LCBbX3ZtLmNoYXJhY3RlciAhPT0gJycgPyBbX3ZtLl92KF92bS5fcyhfdm0uY2hhcmFjdGVyKSldIDogX2MoJ2knLCB7IGNsYXNzOiBfdm0uaWNvbkNsYXNzZXMsIGF0dHJzOiB7IFwidHlwZVwiOiBcImhhbGZcIiB9IH0pXSwgMiksIF92bS5fdihcIiBcIiksIF9jKCdzcGFuJywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLXN0YXItc2Vjb25kJ10gfSwgW192bS5jaGFyYWN0ZXIgIT09ICcnID8gW192bS5fdihfdm0uX3MoX3ZtLmNoYXJhY3RlcikpXSA6IF9jKCdpJywgeyBjbGFzczogX3ZtLmljb25DbGFzc2VzIH0pXSwgMildXSwgMik7XG4gIH0pLCBfdm0uX3YoXCIgXCIpLCBfdm0uc2hvd1RleHQgPyBfYygnZGl2JywgeyBkaXJlY3RpdmVzOiBbeyBuYW1lOiBcInNob3dcIiwgcmF3TmFtZTogXCJ2LXNob3dcIiwgdmFsdWU6IF92bS5jdXJyZW50VmFsdWUgPiAwLCBleHByZXNzaW9uOiBcImN1cnJlbnRWYWx1ZSA+IDBcIiB9XSwgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy10ZXh0J10gfSwgW192bS5fdChcImRlZmF1bHRcIiwgW19jKCdzcGFuJywgW192bS5fdihfdm0uX3MoX3ZtLmN1cnJlbnRWYWx1ZSkpXSksIF92bS5fdihcIiBcIiksIF92bS5jdXJyZW50VmFsdWUgPD0gMSA/IF9jKCdzcGFuJywgW192bS5fdihfdm0uX3MoX3ZtLnQoJ2kucmF0ZS5zdGFyJykpKV0pIDogX2MoJ3NwYW4nLCBbX3ZtLl92KF92bS5fcyhfdm0udCgnaS5yYXRlLnN0YXJzJykpKV0pXSldLCAyKSA6IF92bS5fZSgpXSwgMik7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA1MzYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9zaWRlciA9IF9fd2VicGFja19yZXF1aXJlX18oMTkyKTtcblxudmFyIF9zaWRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zaWRlcik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IF9zaWRlcjIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiA1MzcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9zbGlkZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUzOCk7XG5cbnZhciBfc2xpZGVyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3NsaWRlcik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IF9zbGlkZXIyLmRlZmF1bHQ7XG5cbi8qKiovIH0pLFxuLyogNTM4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3NsaWRlcl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjE3KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zbGlkZXJfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zbGlkZXJfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zbGlkZXJfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3NsaWRlcl92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8xYmYzZDQyOV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3NsaWRlcl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNTUwKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8xYmYzZDQyOV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3NsaWRlcl92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzFiZjNkNDI5X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfc2xpZGVyX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3NsaWRlcl92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzFiZjNkNDI5X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfc2xpZGVyX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8xYmYzZDQyOV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3NsaWRlcl92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogNTM5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHNdLCBvbjogeyBcIm1vdXNlZW50ZXJcIjogX3ZtLmhhbmRsZVNob3dQb3BwZXIsIFwibW91c2VsZWF2ZVwiOiBfdm0uaGFuZGxlQ2xvc2VQb3BwZXIgfSB9LCBbX2MoJ2RpdicsIHsgcmVmOiBcInJlZmVyZW5jZVwiLCBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLXJlbCddIH0sIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwgMiksIF92bS5fdihcIiBcIiksIF9jKCd0cmFuc2l0aW9uJywgeyBhdHRyczogeyBcIm5hbWVcIjogXCJmYWRlXCIgfSB9LCBbX2MoJ2RpdicsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiAhX3ZtLmRpc2FibGVkICYmIChfdm0udmlzaWJsZSB8fCBfdm0uYWx3YXlzKSwgZXhwcmVzc2lvbjogXCIhZGlzYWJsZWQgJiYgKHZpc2libGUgfHwgYWx3YXlzKVwiIH0sIHsgbmFtZTogXCJ0cmFuc2Zlci1kb21cIiwgcmF3TmFtZTogXCJ2LXRyYW5zZmVyLWRvbVwiIH1dLCByZWY6IFwicG9wcGVyXCIsIGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctcG9wcGVyJywgX3ZtLnByZWZpeENscyArICctJyArIF92bS50aGVtZV0sIHN0eWxlOiBfdm0uZHJvcFN0eWxlcywgYXR0cnM6IHsgXCJkYXRhLXRyYW5zZmVyXCI6IF92bS50cmFuc2ZlciB9LCBvbjogeyBcIm1vdXNlZW50ZXJcIjogX3ZtLmhhbmRsZVNob3dQb3BwZXIsIFwibW91c2VsZWF2ZVwiOiBfdm0uaGFuZGxlQ2xvc2VQb3BwZXIgfSB9LCBbX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1jb250ZW50J10gfSwgW19jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctYXJyb3cnXSB9KSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgY2xhc3M6IF92bS5pbm5lckNsYXNzZXMsIHN0eWxlOiBfdm0uaW5uZXJTdHlsZXMgfSwgW192bS5fdChcImNvbnRlbnRcIiwgW192bS5fdihfdm0uX3MoX3ZtLmNvbnRlbnQpKV0pXSwgMildKV0pXSldLCAxKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDU0MCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKG9wdGlvbnMpIHtcbiAgICB2YXIgZ2V0U3RhdGUgPSBvcHRpb25zLnN0YXRlSGFuZGxlci5nZXRTdGF0ZTtcblxuICAgIC8qKlxuICAgICAqIFRlbGxzIGlmIHRoZSBlbGVtZW50IGhhcyBiZWVuIG1hZGUgZGV0ZWN0YWJsZSBhbmQgcmVhZHkgdG8gYmUgbGlzdGVuZWQgZm9yIHJlc2l6ZSBldmVudHMuXG4gICAgICogQHB1YmxpY1xuICAgICAqIEBwYXJhbSB7ZWxlbWVudH0gVGhlIGVsZW1lbnQgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgb3IgZmFsc2UgZGVwZW5kaW5nIG9uIGlmIHRoZSBlbGVtZW50IGlzIGRldGVjdGFibGUgb3Igbm90LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzRGV0ZWN0YWJsZShlbGVtZW50KSB7XG4gICAgICAgIHZhciBzdGF0ZSA9IGdldFN0YXRlKGVsZW1lbnQpO1xuICAgICAgICByZXR1cm4gc3RhdGUgJiYgISFzdGF0ZS5pc0RldGVjdGFibGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWFya3MgdGhlIGVsZW1lbnQgdGhhdCBpdCBoYXMgYmVlbiBtYWRlIGRldGVjdGFibGUgYW5kIHJlYWR5IHRvIGJlIGxpc3RlbmVkIGZvciByZXNpemUgZXZlbnRzLlxuICAgICAqIEBwdWJsaWNcbiAgICAgKiBAcGFyYW0ge2VsZW1lbnR9IFRoZSBlbGVtZW50IHRvIG1hcmsuXG4gICAgICovXG4gICAgZnVuY3Rpb24gbWFya0FzRGV0ZWN0YWJsZShlbGVtZW50KSB7XG4gICAgICAgIGdldFN0YXRlKGVsZW1lbnQpLmlzRGV0ZWN0YWJsZSA9IHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGVsbHMgaWYgdGhlIGVsZW1lbnQgaXMgYnVzeSBvciBub3QuXG4gICAgICogQHB1YmxpY1xuICAgICAqIEBwYXJhbSB7ZWxlbWVudH0gVGhlIGVsZW1lbnQgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgb3IgZmFsc2UgZGVwZW5kaW5nIG9uIGlmIHRoZSBlbGVtZW50IGlzIGJ1c3kgb3Igbm90LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzQnVzeShlbGVtZW50KSB7XG4gICAgICAgIHJldHVybiAhIWdldFN0YXRlKGVsZW1lbnQpLmJ1c3k7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWFya3MgdGhlIG9iamVjdCBpcyBidXN5IGFuZCBzaG91bGQgbm90IGJlIG1hZGUgZGV0ZWN0YWJsZS5cbiAgICAgKiBAcHVibGljXG4gICAgICogQHBhcmFtIHtlbGVtZW50fSBlbGVtZW50IFRoZSBlbGVtZW50IHRvIG1hcmsuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBidXN5IElmIHRoZSBlbGVtZW50IGlzIGJ1c3kgb3Igbm90LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1hcmtCdXN5KGVsZW1lbnQsIGJ1c3kpIHtcbiAgICAgICAgZ2V0U3RhdGUoZWxlbWVudCkuYnVzeSA9ICEhYnVzeTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBpc0RldGVjdGFibGU6IGlzRGV0ZWN0YWJsZSxcbiAgICAgICAgbWFya0FzRGV0ZWN0YWJsZTogbWFya0FzRGV0ZWN0YWJsZSxcbiAgICAgICAgaXNCdXN5OiBpc0J1c3ksXG4gICAgICAgIG1hcmtCdXN5OiBtYXJrQnVzeVxuICAgIH07XG59O1xuXG5cbi8qKiovIH0pLFxuLyogNTQxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oaWRIYW5kbGVyKSB7XG4gICAgdmFyIGV2ZW50TGlzdGVuZXJzID0ge307XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGFsbCBsaXN0ZW5lcnMgZm9yIHRoZSBnaXZlbiBlbGVtZW50LlxuICAgICAqIEBwdWJsaWNcbiAgICAgKiBAcGFyYW0ge2VsZW1lbnR9IGVsZW1lbnQgVGhlIGVsZW1lbnQgdG8gZ2V0IGFsbCBsaXN0ZW5lcnMgZm9yLlxuICAgICAqIEByZXR1cm5zIEFsbCBsaXN0ZW5lcnMgZm9yIHRoZSBnaXZlbiBlbGVtZW50LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGdldExpc3RlbmVycyhlbGVtZW50KSB7XG4gICAgICAgIHZhciBpZCA9IGlkSGFuZGxlci5nZXQoZWxlbWVudCk7XG5cbiAgICAgICAgaWYgKGlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBldmVudExpc3RlbmVyc1tpZF0gfHwgW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3RvcmVzIHRoZSBnaXZlbiBsaXN0ZW5lciBmb3IgdGhlIGdpdmVuIGVsZW1lbnQuIFdpbGwgbm90IGFjdHVhbGx5IGFkZCB0aGUgbGlzdGVuZXIgdG8gdGhlIGVsZW1lbnQuXG4gICAgICogQHB1YmxpY1xuICAgICAqIEBwYXJhbSB7ZWxlbWVudH0gZWxlbWVudCBUaGUgZWxlbWVudCB0aGF0IHNob3VsZCBoYXZlIHRoZSBsaXN0ZW5lciBhZGRlZC5cbiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBsaXN0ZW5lciBUaGUgY2FsbGJhY2sgdGhhdCB0aGUgZWxlbWVudCBoYXMgYWRkZWQuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYWRkTGlzdGVuZXIoZWxlbWVudCwgbGlzdGVuZXIpIHtcbiAgICAgICAgdmFyIGlkID0gaWRIYW5kbGVyLmdldChlbGVtZW50KTtcblxuICAgICAgICBpZighZXZlbnRMaXN0ZW5lcnNbaWRdKSB7XG4gICAgICAgICAgICBldmVudExpc3RlbmVyc1tpZF0gPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2lkXS5wdXNoKGxpc3RlbmVyKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiByZW1vdmVMaXN0ZW5lcihlbGVtZW50LCBsaXN0ZW5lcikge1xuICAgICAgICB2YXIgbGlzdGVuZXJzID0gZ2V0TGlzdGVuZXJzKGVsZW1lbnQpO1xuICAgICAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gbGlzdGVuZXJzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XG4gICAgICAgICAgICBpZiAobGlzdGVuZXJzW2ldID09PSBsaXN0ZW5lcikge1xuICAgICAgICAgICAgICBsaXN0ZW5lcnMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHJlbW92ZUFsbExpc3RlbmVycyhlbGVtZW50KSB7XG4gICAgICB2YXIgbGlzdGVuZXJzID0gZ2V0TGlzdGVuZXJzKGVsZW1lbnQpO1xuICAgICAgaWYgKCFsaXN0ZW5lcnMpIHsgcmV0dXJuOyB9XG4gICAgICBsaXN0ZW5lcnMubGVuZ3RoID0gMDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBnZXQ6IGdldExpc3RlbmVycyxcbiAgICAgICAgYWRkOiBhZGRMaXN0ZW5lcixcbiAgICAgICAgcmVtb3ZlTGlzdGVuZXI6IHJlbW92ZUxpc3RlbmVyLFxuICAgICAgICByZW1vdmVBbGxMaXN0ZW5lcnM6IHJlbW92ZUFsbExpc3RlbmVyc1xuICAgIH07XG59O1xuXG5cbi8qKiovIH0pLFxuLyogNTQyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oKSB7XG4gICAgdmFyIGlkQ291bnQgPSAxO1xuXG4gICAgLyoqXG4gICAgICogR2VuZXJhdGVzIGEgbmV3IHVuaXF1ZSBpZCBpbiB0aGUgY29udGV4dC5cbiAgICAgKiBAcHVibGljXG4gICAgICogQHJldHVybnMge251bWJlcn0gQSB1bmlxdWUgaWQgaW4gdGhlIGNvbnRleHQuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2VuZXJhdGUoKSB7XG4gICAgICAgIHJldHVybiBpZENvdW50Kys7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgZ2VuZXJhdGU6IGdlbmVyYXRlXG4gICAgfTtcbn07XG5cblxuLyoqKi8gfSksXG4vKiA1NDMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihvcHRpb25zKSB7XG4gICAgdmFyIGlkR2VuZXJhdG9yICAgICA9IG9wdGlvbnMuaWRHZW5lcmF0b3I7XG4gICAgdmFyIGdldFN0YXRlICAgICAgICA9IG9wdGlvbnMuc3RhdGVIYW5kbGVyLmdldFN0YXRlO1xuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgcmVzaXplIGRldGVjdG9yIGlkIG9mIHRoZSBlbGVtZW50LlxuICAgICAqIEBwdWJsaWNcbiAgICAgKiBAcGFyYW0ge2VsZW1lbnR9IGVsZW1lbnQgVGhlIHRhcmdldCBlbGVtZW50IHRvIGdldCB0aGUgaWQgb2YuXG4gICAgICogQHJldHVybnMge3N0cmluZ3xudW1iZXJ8bnVsbH0gVGhlIGlkIG9mIHRoZSBlbGVtZW50LiBOdWxsIGlmIGl0IGhhcyBubyBpZC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXRJZChlbGVtZW50KSB7XG4gICAgICAgIHZhciBzdGF0ZSA9IGdldFN0YXRlKGVsZW1lbnQpO1xuXG4gICAgICAgIGlmIChzdGF0ZSAmJiBzdGF0ZS5pZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gc3RhdGUuaWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSByZXNpemUgZGV0ZWN0b3IgaWQgb2YgdGhlIGVsZW1lbnQuIFJlcXVpcmVzIHRoZSBlbGVtZW50IHRvIGhhdmUgYSByZXNpemUgZGV0ZWN0b3Igc3RhdGUgaW5pdGlhbGl6ZWQuXG4gICAgICogQHB1YmxpY1xuICAgICAqIEBwYXJhbSB7ZWxlbWVudH0gZWxlbWVudCBUaGUgdGFyZ2V0IGVsZW1lbnQgdG8gc2V0IHRoZSBpZCBvZi5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfG51bWJlcnxudWxsfSBUaGUgaWQgb2YgdGhlIGVsZW1lbnQuXG4gICAgICovXG4gICAgZnVuY3Rpb24gc2V0SWQoZWxlbWVudCkge1xuICAgICAgICB2YXIgc3RhdGUgPSBnZXRTdGF0ZShlbGVtZW50KTtcblxuICAgICAgICBpZiAoIXN0YXRlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJzZXRJZCByZXF1aXJlZCB0aGUgZWxlbWVudCB0byBoYXZlIGEgcmVzaXplIGRldGVjdGlvbiBzdGF0ZS5cIik7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgaWQgPSBpZEdlbmVyYXRvci5nZW5lcmF0ZSgpO1xuXG4gICAgICAgIHN0YXRlLmlkID0gaWQ7XG5cbiAgICAgICAgcmV0dXJuIGlkO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIGdldDogZ2V0SWQsXG4gICAgICAgIHNldDogc2V0SWRcbiAgICB9O1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDU0NCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG4vKiBnbG9iYWwgY29uc29sZTogZmFsc2UgKi9cblxuLyoqXG4gKiBSZXBvcnRlciB0aGF0IGhhbmRsZXMgdGhlIHJlcG9ydGluZyBvZiBsb2dzLCB3YXJuaW5ncyBhbmQgZXJyb3JzLlxuICogQHB1YmxpY1xuICogQHBhcmFtIHtib29sZWFufSBxdWlldCBUZWxscyBpZiB0aGUgcmVwb3J0ZXIgc2hvdWxkIGJlIHF1aWV0IG9yIG5vdC5cbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihxdWlldCkge1xuICAgIGZ1bmN0aW9uIG5vb3AoKSB7XG4gICAgICAgIC8vRG9lcyBub3RoaW5nLlxuICAgIH1cblxuICAgIHZhciByZXBvcnRlciA9IHtcbiAgICAgICAgbG9nOiBub29wLFxuICAgICAgICB3YXJuOiBub29wLFxuICAgICAgICBlcnJvcjogbm9vcFxuICAgIH07XG5cbiAgICBpZighcXVpZXQgJiYgd2luZG93LmNvbnNvbGUpIHtcbiAgICAgICAgdmFyIGF0dGFjaEZ1bmN0aW9uID0gZnVuY3Rpb24ocmVwb3J0ZXIsIG5hbWUpIHtcbiAgICAgICAgICAgIC8vVGhlIHByb3h5IGlzIG5lZWRlZCB0byBiZSBhYmxlIHRvIGNhbGwgdGhlIG1ldGhvZCB3aXRoIHRoZSBjb25zb2xlIGNvbnRleHQsXG4gICAgICAgICAgICAvL3NpbmNlIHdlIGNhbm5vdCB1c2UgYmluZC5cbiAgICAgICAgICAgIHJlcG9ydGVyW25hbWVdID0gZnVuY3Rpb24gcmVwb3J0ZXJQcm94eSgpIHtcbiAgICAgICAgICAgICAgICB2YXIgZiA9IGNvbnNvbGVbbmFtZV07XG4gICAgICAgICAgICAgICAgaWYgKGYuYXBwbHkpIHsgLy9JRTkgZG9lcyBub3Qgc3VwcG9ydCBjb25zb2xlLmxvZy5hcHBseSA6KVxuICAgICAgICAgICAgICAgICAgICBmLmFwcGx5KGNvbnNvbGUsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGYoYXJndW1lbnRzW2ldKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH07XG5cbiAgICAgICAgYXR0YWNoRnVuY3Rpb24ocmVwb3J0ZXIsIFwibG9nXCIpO1xuICAgICAgICBhdHRhY2hGdW5jdGlvbihyZXBvcnRlciwgXCJ3YXJuXCIpO1xuICAgICAgICBhdHRhY2hGdW5jdGlvbihyZXBvcnRlciwgXCJlcnJvclwiKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVwb3J0ZXI7XG59O1xuXG4vKioqLyB9KSxcbi8qIDU0NSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU0Nik7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gYmF0Y2hQcm9jZXNzb3JNYWtlcihvcHRpb25zKSB7XG4gICAgb3B0aW9ucyAgICAgICAgICAgICA9IG9wdGlvbnMgfHwge307XG4gICAgdmFyIHJlcG9ydGVyICAgICAgICA9IG9wdGlvbnMucmVwb3J0ZXI7XG4gICAgdmFyIGFzeW5jUHJvY2VzcyAgICA9IHV0aWxzLmdldE9wdGlvbihvcHRpb25zLCBcImFzeW5jXCIsIHRydWUpO1xuICAgIHZhciBhdXRvUHJvY2VzcyAgICAgPSB1dGlscy5nZXRPcHRpb24ob3B0aW9ucywgXCJhdXRvXCIsIHRydWUpO1xuXG4gICAgaWYoYXV0b1Byb2Nlc3MgJiYgIWFzeW5jUHJvY2Vzcykge1xuICAgICAgICByZXBvcnRlciAmJiByZXBvcnRlci53YXJuKFwiSW52YWxpZCBvcHRpb25zIGNvbWJpbmF0aW9uLiBhdXRvPXRydWUgYW5kIGFzeW5jPWZhbHNlIGlzIGludmFsaWQuIFNldHRpbmcgYXN5bmM9dHJ1ZS5cIik7XG4gICAgICAgIGFzeW5jUHJvY2VzcyA9IHRydWU7XG4gICAgfVxuXG4gICAgdmFyIGJhdGNoID0gQmF0Y2goKTtcbiAgICB2YXIgYXN5bmNGcmFtZUhhbmRsZXI7XG4gICAgdmFyIGlzUHJvY2Vzc2luZyA9IGZhbHNlO1xuXG4gICAgZnVuY3Rpb24gYWRkRnVuY3Rpb24obGV2ZWwsIGZuKSB7XG4gICAgICAgIGlmKCFpc1Byb2Nlc3NpbmcgJiYgYXV0b1Byb2Nlc3MgJiYgYXN5bmNQcm9jZXNzICYmIGJhdGNoLnNpemUoKSA9PT0gMCkge1xuICAgICAgICAgICAgLy8gU2luY2UgdGhpcyBpcyBhc3luYywgaXQgaXMgZ3VhcmFudGVlZCB0byBiZSBleGVjdXRlZCBhZnRlciB0aGF0IHRoZSBmbiBpcyBhZGRlZCB0byB0aGUgYmF0Y2guXG4gICAgICAgICAgICAvLyBUaGlzIG5lZWRzIHRvIGJlIGRvbmUgYmVmb3JlLCBzaW5jZSB3ZSdyZSBjaGVja2luZyB0aGUgc2l6ZSBvZiB0aGUgYmF0Y2ggdG8gYmUgMC5cbiAgICAgICAgICAgIHByb2Nlc3NCYXRjaEFzeW5jKCk7XG4gICAgICAgIH1cblxuICAgICAgICBiYXRjaC5hZGQobGV2ZWwsIGZuKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBwcm9jZXNzQmF0Y2goKSB7XG4gICAgICAgIC8vIFNhdmUgdGhlIGN1cnJlbnQgYmF0Y2gsIGFuZCBjcmVhdGUgYSBuZXcgYmF0Y2ggc28gdGhhdCBpbmNvbWluZyBmdW5jdGlvbnMgYXJlIG5vdCBhZGRlZCBpbnRvIHRoZSBjdXJyZW50bHkgcHJvY2Vzc2luZyBiYXRjaC5cbiAgICAgICAgLy8gQ29udGludWUgcHJvY2Vzc2luZyB1bnRpbCB0aGUgdG9wLWxldmVsIGJhdGNoIGlzIGVtcHR5IChmdW5jdGlvbnMgbWF5IGJlIGFkZGVkIHRvIHRoZSBuZXcgYmF0Y2ggd2hpbGUgcHJvY2Vzc2luZywgYW5kIHNvIG9uKS5cbiAgICAgICAgaXNQcm9jZXNzaW5nID0gdHJ1ZTtcbiAgICAgICAgd2hpbGUgKGJhdGNoLnNpemUoKSkge1xuICAgICAgICAgICAgdmFyIHByb2Nlc3NpbmdCYXRjaCA9IGJhdGNoO1xuICAgICAgICAgICAgYmF0Y2ggPSBCYXRjaCgpO1xuICAgICAgICAgICAgcHJvY2Vzc2luZ0JhdGNoLnByb2Nlc3MoKTtcbiAgICAgICAgfVxuICAgICAgICBpc1Byb2Nlc3NpbmcgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBmb3JjZVByb2Nlc3NCYXRjaChsb2NhbEFzeW5jUHJvY2Vzcykge1xuICAgICAgICBpZiAoaXNQcm9jZXNzaW5nKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZihsb2NhbEFzeW5jUHJvY2VzcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBsb2NhbEFzeW5jUHJvY2VzcyA9IGFzeW5jUHJvY2VzcztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKGFzeW5jRnJhbWVIYW5kbGVyKSB7XG4gICAgICAgICAgICBjYW5jZWxGcmFtZShhc3luY0ZyYW1lSGFuZGxlcik7XG4gICAgICAgICAgICBhc3luY0ZyYW1lSGFuZGxlciA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZihsb2NhbEFzeW5jUHJvY2Vzcykge1xuICAgICAgICAgICAgcHJvY2Vzc0JhdGNoQXN5bmMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHByb2Nlc3NCYXRjaCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcHJvY2Vzc0JhdGNoQXN5bmMoKSB7XG4gICAgICAgIGFzeW5jRnJhbWVIYW5kbGVyID0gcmVxdWVzdEZyYW1lKHByb2Nlc3NCYXRjaCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY2xlYXJCYXRjaCgpIHtcbiAgICAgICAgYmF0Y2ggICAgICAgICAgID0ge307XG4gICAgICAgIGJhdGNoU2l6ZSAgICAgICA9IDA7XG4gICAgICAgIHRvcExldmVsICAgICAgICA9IDA7XG4gICAgICAgIGJvdHRvbUxldmVsICAgICA9IDA7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY2FuY2VsRnJhbWUobGlzdGVuZXIpIHtcbiAgICAgICAgLy8gdmFyIGNhbmNlbCA9IHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSB8fCB3aW5kb3cubW96Q2FuY2VsQW5pbWF0aW9uRnJhbWUgfHwgd2luZG93LndlYmtpdENhbmNlbEFuaW1hdGlvbkZyYW1lIHx8IHdpbmRvdy5jbGVhclRpbWVvdXQ7XG4gICAgICAgIHZhciBjYW5jZWwgPSBjbGVhclRpbWVvdXQ7XG4gICAgICAgIHJldHVybiBjYW5jZWwobGlzdGVuZXIpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHJlcXVlc3RGcmFtZShjYWxsYmFjaykge1xuICAgICAgICAvLyB2YXIgcmFmID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSB8fCB3aW5kb3cubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8IHdpbmRvdy53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwgZnVuY3Rpb24oZm4pIHsgcmV0dXJuIHdpbmRvdy5zZXRUaW1lb3V0KGZuLCAyMCk7IH07XG4gICAgICAgIHZhciByYWYgPSBmdW5jdGlvbihmbikgeyByZXR1cm4gc2V0VGltZW91dChmbiwgMCk7IH07XG4gICAgICAgIHJldHVybiByYWYoY2FsbGJhY2spO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIGFkZDogYWRkRnVuY3Rpb24sXG4gICAgICAgIGZvcmNlOiBmb3JjZVByb2Nlc3NCYXRjaFxuICAgIH07XG59O1xuXG5mdW5jdGlvbiBCYXRjaCgpIHtcbiAgICB2YXIgYmF0Y2ggICAgICAgPSB7fTtcbiAgICB2YXIgc2l6ZSAgICAgICAgPSAwO1xuICAgIHZhciB0b3BMZXZlbCAgICA9IDA7XG4gICAgdmFyIGJvdHRvbUxldmVsID0gMDtcblxuICAgIGZ1bmN0aW9uIGFkZChsZXZlbCwgZm4pIHtcbiAgICAgICAgaWYoIWZuKSB7XG4gICAgICAgICAgICBmbiA9IGxldmVsO1xuICAgICAgICAgICAgbGV2ZWwgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYobGV2ZWwgPiB0b3BMZXZlbCkge1xuICAgICAgICAgICAgdG9wTGV2ZWwgPSBsZXZlbDtcbiAgICAgICAgfSBlbHNlIGlmKGxldmVsIDwgYm90dG9tTGV2ZWwpIHtcbiAgICAgICAgICAgIGJvdHRvbUxldmVsID0gbGV2ZWw7XG4gICAgICAgIH1cblxuICAgICAgICBpZighYmF0Y2hbbGV2ZWxdKSB7XG4gICAgICAgICAgICBiYXRjaFtsZXZlbF0gPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJhdGNoW2xldmVsXS5wdXNoKGZuKTtcbiAgICAgICAgc2l6ZSsrO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHByb2Nlc3MoKSB7XG4gICAgICAgIGZvcih2YXIgbGV2ZWwgPSBib3R0b21MZXZlbDsgbGV2ZWwgPD0gdG9wTGV2ZWw7IGxldmVsKyspIHtcbiAgICAgICAgICAgIHZhciBmbnMgPSBiYXRjaFtsZXZlbF07XG5cbiAgICAgICAgICAgIGZvcih2YXIgaSA9IDA7IGkgPCBmbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICB2YXIgZm4gPSBmbnNbaV07XG4gICAgICAgICAgICAgICAgZm4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldFNpemUoKSB7XG4gICAgICAgIHJldHVybiBzaXplO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIGFkZDogYWRkLFxuICAgICAgICBwcm9jZXNzOiBwcm9jZXNzLFxuICAgICAgICBzaXplOiBnZXRTaXplXG4gICAgfTtcbn1cblxuXG4vKioqLyB9KSxcbi8qIDU0NiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG52YXIgdXRpbHMgPSBtb2R1bGUuZXhwb3J0cyA9IHt9O1xuXG51dGlscy5nZXRPcHRpb24gPSBnZXRPcHRpb247XG5cbmZ1bmN0aW9uIGdldE9wdGlvbihvcHRpb25zLCBuYW1lLCBkZWZhdWx0VmFsdWUpIHtcbiAgICB2YXIgdmFsdWUgPSBvcHRpb25zW25hbWVdO1xuXG4gICAgaWYoKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwpICYmIGRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xufVxuXG5cbi8qKiovIH0pLFxuLyogNTQ3ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbnZhciBwcm9wID0gXCJfZXJkXCI7XG5cbmZ1bmN0aW9uIGluaXRTdGF0ZShlbGVtZW50KSB7XG4gICAgZWxlbWVudFtwcm9wXSA9IHt9O1xuICAgIHJldHVybiBnZXRTdGF0ZShlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhdGUoZWxlbWVudCkge1xuICAgIHJldHVybiBlbGVtZW50W3Byb3BdO1xufVxuXG5mdW5jdGlvbiBjbGVhblN0YXRlKGVsZW1lbnQpIHtcbiAgICBkZWxldGUgZWxlbWVudFtwcm9wXTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgaW5pdFN0YXRlOiBpbml0U3RhdGUsXG4gICAgZ2V0U3RhdGU6IGdldFN0YXRlLFxuICAgIGNsZWFuU3RhdGU6IGNsZWFuU3RhdGVcbn07XG5cblxuLyoqKi8gfSksXG4vKiA1NDggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG4vKipcbiAqIFJlc2l6ZSBkZXRlY3Rpb24gc3RyYXRlZ3kgdGhhdCBpbmplY3RzIG9iamVjdHMgdG8gZWxlbWVudHMgaW4gb3JkZXIgdG8gZGV0ZWN0IHJlc2l6ZSBldmVudHMuXG4gKiBIZWF2aWx5IGluc3BpcmVkIGJ5OiBodHRwOi8vd3d3LmJhY2thbGxleWNvZGVyLmNvbS8yMDEzLzAzLzE4L2Nyb3NzLWJyb3dzZXItZXZlbnQtYmFzZWQtZWxlbWVudC1yZXNpemUtZGV0ZWN0aW9uL1xuICovXG5cblxuXG52YXIgYnJvd3NlckRldGVjdG9yID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMjApO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKG9wdGlvbnMpIHtcbiAgICBvcHRpb25zICAgICAgICAgICAgID0gb3B0aW9ucyB8fCB7fTtcbiAgICB2YXIgcmVwb3J0ZXIgICAgICAgID0gb3B0aW9ucy5yZXBvcnRlcjtcbiAgICB2YXIgYmF0Y2hQcm9jZXNzb3IgID0gb3B0aW9ucy5iYXRjaFByb2Nlc3NvcjtcbiAgICB2YXIgZ2V0U3RhdGUgICAgICAgID0gb3B0aW9ucy5zdGF0ZUhhbmRsZXIuZ2V0U3RhdGU7XG5cbiAgICBpZighcmVwb3J0ZXIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyByZXF1aXJlZCBkZXBlbmRlbmN5OiByZXBvcnRlci5cIik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBhIHJlc2l6ZSBldmVudCBsaXN0ZW5lciB0byB0aGUgZWxlbWVudC5cbiAgICAgKiBAcHVibGljXG4gICAgICogQHBhcmFtIHtlbGVtZW50fSBlbGVtZW50IFRoZSBlbGVtZW50IHRoYXQgc2hvdWxkIGhhdmUgdGhlIGxpc3RlbmVyIGFkZGVkLlxuICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IGxpc3RlbmVyIFRoZSBsaXN0ZW5lciBjYWxsYmFjayB0byBiZSBjYWxsZWQgZm9yIGVhY2ggcmVzaXplIGV2ZW50IG9mIHRoZSBlbGVtZW50LiBUaGUgZWxlbWVudCB3aWxsIGJlIGdpdmVuIGFzIGEgcGFyYW1ldGVyIHRvIHRoZSBsaXN0ZW5lciBjYWxsYmFjay5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBhZGRMaXN0ZW5lcihlbGVtZW50LCBsaXN0ZW5lcikge1xuICAgICAgICBmdW5jdGlvbiBsaXN0ZW5lclByb3h5KCkge1xuICAgICAgICAgICAgbGlzdGVuZXIoZWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZihicm93c2VyRGV0ZWN0b3IuaXNJRSg4KSkge1xuICAgICAgICAgICAgLy9JRSA4IGRvZXMgbm90IHN1cHBvcnQgb2JqZWN0LCBidXQgc3VwcG9ydHMgdGhlIHJlc2l6ZSBldmVudCBkaXJlY3RseSBvbiBlbGVtZW50cy5cbiAgICAgICAgICAgIGdldFN0YXRlKGVsZW1lbnQpLm9iamVjdCA9IHtcbiAgICAgICAgICAgICAgICBwcm94eTogbGlzdGVuZXJQcm94eVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGVsZW1lbnQuYXR0YWNoRXZlbnQoXCJvbnJlc2l6ZVwiLCBsaXN0ZW5lclByb3h5KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBvYmplY3QgPSBnZXRPYmplY3QoZWxlbWVudCk7XG5cbiAgICAgICAgICAgIGlmKCFvYmplY3QpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFbGVtZW50IGlzIG5vdCBkZXRlY3RhYmxlIGJ5IHRoaXMgc3RyYXRlZ3kuXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBvYmplY3QuY29udGVudERvY3VtZW50LmRlZmF1bHRWaWV3LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgbGlzdGVuZXJQcm94eSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBidWlsZENzc1RleHRTdHJpbmcocnVsZXMpIHtcbiAgICAgICAgdmFyIHNlcGVyYXRvciA9IG9wdGlvbnMuaW1wb3J0YW50ID8gXCIgIWltcG9ydGFudDsgXCIgOiBcIjsgXCI7XG5cbiAgICAgICAgcmV0dXJuIChydWxlcy5qb2luKHNlcGVyYXRvcikgKyBzZXBlcmF0b3IpLnRyaW0oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNYWtlcyBhbiBlbGVtZW50IGRldGVjdGFibGUgYW5kIHJlYWR5IHRvIGJlIGxpc3RlbmVkIGZvciByZXNpemUgZXZlbnRzLiBXaWxsIGNhbGwgdGhlIGNhbGxiYWNrIHdoZW4gdGhlIGVsZW1lbnQgaXMgcmVhZHkgdG8gYmUgbGlzdGVuZWQgZm9yIHJlc2l6ZSBjaGFuZ2VzLlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtvYmplY3R9IG9wdGlvbnMgT3B0aW9uYWwgb3B0aW9ucyBvYmplY3QuXG4gICAgICogQHBhcmFtIHtlbGVtZW50fSBlbGVtZW50IFRoZSBlbGVtZW50IHRvIG1ha2UgZGV0ZWN0YWJsZVxuICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrIFRoZSBjYWxsYmFjayB0byBiZSBjYWxsZWQgd2hlbiB0aGUgZWxlbWVudCBpcyByZWFkeSB0byBiZSBsaXN0ZW5lZCBmb3IgcmVzaXplIGNoYW5nZXMuIFdpbGwgYmUgY2FsbGVkIHdpdGggdGhlIGVsZW1lbnQgYXMgZmlyc3QgcGFyYW1ldGVyLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1ha2VEZXRlY3RhYmxlKG9wdGlvbnMsIGVsZW1lbnQsIGNhbGxiYWNrKSB7XG4gICAgICAgIGlmICghY2FsbGJhY2spIHtcbiAgICAgICAgICAgIGNhbGxiYWNrID0gZWxlbWVudDtcbiAgICAgICAgICAgIGVsZW1lbnQgPSBvcHRpb25zO1xuICAgICAgICAgICAgb3B0aW9ucyA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICAgICAgdmFyIGRlYnVnID0gb3B0aW9ucy5kZWJ1ZztcblxuICAgICAgICBmdW5jdGlvbiBpbmplY3RPYmplY3QoZWxlbWVudCwgY2FsbGJhY2spIHtcbiAgICAgICAgICAgIHZhciBPQkpFQ1RfU1RZTEUgPSBidWlsZENzc1RleHRTdHJpbmcoW1wiZGlzcGxheTogYmxvY2tcIiwgXCJwb3NpdGlvbjogYWJzb2x1dGVcIiwgXCJ0b3A6IDBcIiwgXCJsZWZ0OiAwXCIsIFwid2lkdGg6IDEwMCVcIiwgXCJoZWlnaHQ6IDEwMCVcIiwgXCJib3JkZXI6IG5vbmVcIiwgXCJwYWRkaW5nOiAwXCIsIFwibWFyZ2luOiAwXCIsIFwib3BhY2l0eTogMFwiLCBcInotaW5kZXg6IC0xMDAwXCIsIFwicG9pbnRlci1ldmVudHM6IG5vbmVcIl0pO1xuXG4gICAgICAgICAgICAvL1RoZSB0YXJnZXQgZWxlbWVudCBuZWVkcyB0byBiZSBwb3NpdGlvbmVkIChldmVyeXRoaW5nIGV4Y2VwdCBzdGF0aWMpIHNvIHRoZSBhYnNvbHV0ZSBwb3NpdGlvbmVkIG9iamVjdCB3aWxsIGJlIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIHRhcmdldCBlbGVtZW50LlxuXG4gICAgICAgICAgICAvLyBQb3NpdGlvbiBhbHRlcmluZyBtYXkgYmUgcGVyZm9ybWVkIGRpcmVjdGx5IG9yIG9uIG9iamVjdCBsb2FkLCBkZXBlbmRpbmcgb24gaWYgc3R5bGUgcmVzb2x1dGlvbiBpcyBwb3NzaWJsZSBkaXJlY3RseSBvciBub3QuXG4gICAgICAgICAgICB2YXIgcG9zaXRpb25DaGVja1BlcmZvcm1lZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICAvLyBUaGUgZWxlbWVudCBtYXkgbm90IHlldCBiZSBhdHRhY2hlZCB0byB0aGUgRE9NLCBhbmQgdGhlcmVmb3JlIHRoZSBzdHlsZSBvYmplY3QgbWF5IGJlIGVtcHR5IGluIHNvbWUgYnJvd3NlcnMuXG4gICAgICAgICAgICAvLyBTaW5jZSB0aGUgc3R5bGUgb2JqZWN0IGlzIGEgcmVmZXJlbmNlLCBpdCB3aWxsIGJlIHVwZGF0ZWQgYXMgc29vbiBhcyB0aGUgZWxlbWVudCBpcyBhdHRhY2hlZCB0byB0aGUgRE9NLlxuICAgICAgICAgICAgdmFyIHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgICAgICAgICB2YXIgd2lkdGggPSBlbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgICAgICAgdmFyIGhlaWdodCA9IGVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuXG4gICAgICAgICAgICBnZXRTdGF0ZShlbGVtZW50KS5zdGFydFNpemUgPSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHdpZHRoLFxuICAgICAgICAgICAgICAgIGhlaWdodDogaGVpZ2h0XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBmdW5jdGlvbiBtdXRhdGVEb20oKSB7XG4gICAgICAgICAgICAgICAgZnVuY3Rpb24gYWx0ZXJQb3NpdGlvblN0eWxlcygpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYoc3R5bGUucG9zaXRpb24gPT09IFwic3RhdGljXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCJwb3NpdGlvblwiLCBcInJlbGF0aXZlXCIsIG9wdGlvbnMuaW1wb3J0YW50ID8gXCJpbXBvcnRhbnRcIiA6IFwiXCIpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVtb3ZlUmVsYXRpdmVTdHlsZXMgPSBmdW5jdGlvbihyZXBvcnRlciwgZWxlbWVudCwgc3R5bGUsIHByb3BlcnR5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0TnVtZXJpY2FsVmFsdWUodmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1teLVxcZFxcLl0vZywgXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbHVlID0gc3R5bGVbcHJvcGVydHldO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodmFsdWUgIT09IFwiYXV0b1wiICYmIGdldE51bWVyaWNhbFZhbHVlKHZhbHVlKSAhPT0gXCIwXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwb3J0ZXIud2FybihcIkFuIGVsZW1lbnQgdGhhdCBpcyBwb3NpdGlvbmVkIHN0YXRpYyBoYXMgc3R5bGUuXCIgKyBwcm9wZXJ0eSArIFwiPVwiICsgdmFsdWUgKyBcIiB3aGljaCBpcyBpZ25vcmVkIGR1ZSB0byB0aGUgc3RhdGljIHBvc2l0aW9uaW5nLiBUaGUgZWxlbWVudCB3aWxsIG5lZWQgdG8gYmUgcG9zaXRpb25lZCByZWxhdGl2ZSwgc28gdGhlIHN0eWxlLlwiICsgcHJvcGVydHkgKyBcIiB3aWxsIGJlIHNldCB0byAwLiBFbGVtZW50OiBcIiwgZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkocHJvcGVydHksIFwiMFwiLCBvcHRpb25zLmltcG9ydGFudCA/IFwiaW1wb3J0YW50XCIgOiBcIlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvL0NoZWNrIHNvIHRoYXQgdGhlcmUgYXJlIG5vIGFjY2lkZW50YWwgc3R5bGVzIHRoYXQgd2lsbCBtYWtlIHRoZSBlbGVtZW50IHN0eWxlZCBkaWZmZXJlbnRseSBub3cgdGhhdCBpcyBpcyByZWxhdGl2ZS5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vSWYgdGhlcmUgYXJlIGFueSwgc2V0IHRoZW0gdG8gMCAodGhpcyBzaG91bGQgYmUgb2theSB3aXRoIHRoZSB1c2VyIHNpbmNlIHRoZSBzdHlsZSBwcm9wZXJ0aWVzIGRpZCBub3RoaW5nIGJlZm9yZSBbc2luY2UgdGhlIGVsZW1lbnQgd2FzIHBvc2l0aW9uZWQgc3RhdGljXSBhbnl3YXkpLlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlUmVsYXRpdmVTdHlsZXMocmVwb3J0ZXIsIGVsZW1lbnQsIHN0eWxlLCBcInRvcFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZVJlbGF0aXZlU3R5bGVzKHJlcG9ydGVyLCBlbGVtZW50LCBzdHlsZSwgXCJyaWdodFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZVJlbGF0aXZlU3R5bGVzKHJlcG9ydGVyLCBlbGVtZW50LCBzdHlsZSwgXCJib3R0b21cIik7XG4gICAgICAgICAgICAgICAgICAgICAgICByZW1vdmVSZWxhdGl2ZVN0eWxlcyhyZXBvcnRlciwgZWxlbWVudCwgc3R5bGUsIFwibGVmdFwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uIG9uT2JqZWN0TG9hZCgpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVGhlIG9iamVjdCBoYXMgYmVlbiBsb2FkZWQsIHdoaWNoIG1lYW5zIHRoYXQgdGhlIGVsZW1lbnQgbm93IGlzIGd1YXJhbnRlZWQgdG8gYmUgYXR0YWNoZWQgdG8gdGhlIERPTS5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFwb3NpdGlvbkNoZWNrUGVyZm9ybWVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbHRlclBvc2l0aW9uU3R5bGVzKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvKmpzaGludCB2YWxpZHRoaXM6IHRydWUgKi9cblxuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBnZXREb2N1bWVudChlbGVtZW50LCBjYWxsYmFjaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy9PcGVyYSAxMiBzZWVtIHRvIGNhbGwgdGhlIG9iamVjdC5vbmxvYWQgYmVmb3JlIHRoZSBhY3R1YWwgZG9jdW1lbnQgaGFzIGJlZW4gY3JlYXRlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vU28gaWYgaXQgaXMgbm90IHByZXNlbnQsIHBvbGwgaXQgd2l0aCBhbiB0aW1lb3V0IHVudGlsIGl0IGlzIHByZXNlbnQuXG4gICAgICAgICAgICAgICAgICAgICAgICAvL1RPRE86IENvdWxkIG1heWJlIGJlIGhhbmRsZWQgYmV0dGVyIHdpdGggb2JqZWN0Lm9ucmVhZHlzdGF0ZWNoYW5nZSBvciBzaW1pbGFyLlxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoIWVsZW1lbnQuY29udGVudERvY3VtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiBjaGVja0Zvck9iamVjdERvY3VtZW50KCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXREb2N1bWVudChlbGVtZW50LCBjYWxsYmFjayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMTAwKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soZWxlbWVudC5jb250ZW50RG9jdW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy9NdXRhdGluZyB0aGUgb2JqZWN0IGVsZW1lbnQgaGVyZSBzZWVtcyB0byBmaXJlIGFub3RoZXIgbG9hZCBldmVudC5cbiAgICAgICAgICAgICAgICAgICAgLy9NdXRhdGluZyB0aGUgaW5uZXIgZG9jdW1lbnQgb2YgdGhlIG9iamVjdCBlbGVtZW50IGlzIGZpbmUgdGhvdWdoLlxuICAgICAgICAgICAgICAgICAgICB2YXIgb2JqZWN0RWxlbWVudCA9IHRoaXM7XG5cbiAgICAgICAgICAgICAgICAgICAgLy9DcmVhdGUgdGhlIHN0eWxlIGVsZW1lbnQgdG8gYmUgYWRkZWQgdG8gdGhlIG9iamVjdC5cbiAgICAgICAgICAgICAgICAgICAgZ2V0RG9jdW1lbnQob2JqZWN0RWxlbWVudCwgZnVuY3Rpb24gb25PYmplY3REb2N1bWVudFJlYWR5KG9iamVjdERvY3VtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL05vdGlmeSB0aGF0IHRoZSBlbGVtZW50IGlzIHJlYWR5IHRvIGJlIGxpc3RlbmVkIHRvLlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIFRoZSBlbGVtZW50IG1heSBiZSBkZXRhY2hlZCBmcm9tIHRoZSBET00sIGFuZCBzb21lIGJyb3dzZXJzIGRvZXMgbm90IHN1cHBvcnQgc3R5bGUgcmVzb2x2aW5nIG9mIGRldGFjaGVkIGVsZW1lbnRzLlxuICAgICAgICAgICAgICAgIC8vIFRoZSBhbHRlclBvc2l0aW9uU3R5bGVzIG5lZWRzIHRvIGJlIGRlbGF5ZWQgdW50aWwgd2Uga25vdyB0aGUgZWxlbWVudCBoYXMgYmVlbiBhdHRhY2hlZCB0byB0aGUgRE9NICh3aGljaCB3ZSBhcmUgc3VyZSBvZiB3aGVuIHRoZSBvbk9iamVjdExvYWQgaGFzIGJlZW4gZmlyZWQpLCBpZiBzdHlsZSByZXNvbHV0aW9uIGlzIG5vdCBwb3NzaWJsZS5cbiAgICAgICAgICAgICAgICBpZiAoc3R5bGUucG9zaXRpb24gIT09IFwiXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgYWx0ZXJQb3NpdGlvblN0eWxlcyhzdHlsZSk7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uQ2hlY2tQZXJmb3JtZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vQWRkIGFuIG9iamVjdCBlbGVtZW50IGFzIGEgY2hpbGQgdG8gdGhlIHRhcmdldCBlbGVtZW50IHRoYXQgd2lsbCBiZSBsaXN0ZW5lZCB0byBmb3IgcmVzaXplIGV2ZW50cy5cbiAgICAgICAgICAgICAgICB2YXIgb2JqZWN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcIm9iamVjdFwiKTtcbiAgICAgICAgICAgICAgICBvYmplY3Quc3R5bGUuY3NzVGV4dCA9IE9CSkVDVF9TVFlMRTtcbiAgICAgICAgICAgICAgICBvYmplY3QudGFiSW5kZXggPSAtMTtcbiAgICAgICAgICAgICAgICBvYmplY3QudHlwZSA9IFwidGV4dC9odG1sXCI7XG4gICAgICAgICAgICAgICAgb2JqZWN0Lm9ubG9hZCA9IG9uT2JqZWN0TG9hZDtcblxuICAgICAgICAgICAgICAgIC8vU2FmYXJpOiBUaGlzIG11c3Qgb2NjdXIgYmVmb3JlIGFkZGluZyB0aGUgb2JqZWN0IHRvIHRoZSBET00uXG4gICAgICAgICAgICAgICAgLy9JRTogRG9lcyBub3QgbGlrZSB0aGF0IHRoaXMgaGFwcGVucyBiZWZvcmUsIGV2ZW4gaWYgaXQgaXMgYWxzbyBhZGRlZCBhZnRlci5cbiAgICAgICAgICAgICAgICBpZighYnJvd3NlckRldGVjdG9yLmlzSUUoKSkge1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QuZGF0YSA9IFwiYWJvdXQ6YmxhbmtcIjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoIWdldFN0YXRlKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZSBlbGVtZW50IGhhcyBiZWVuIHVuaW5zdGFsbGVkIGJlZm9yZSB0aGUgYWN0dWFsIGxvYWRpbmcgaGFwcGVuZWQuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBlbGVtZW50LmFwcGVuZENoaWxkKG9iamVjdCk7XG4gICAgICAgICAgICAgICAgZ2V0U3RhdGUoZWxlbWVudCkub2JqZWN0ID0gb2JqZWN0O1xuXG4gICAgICAgICAgICAgICAgLy9JRTogVGhpcyBtdXN0IG9jY3VyIGFmdGVyIGFkZGluZyB0aGUgb2JqZWN0IHRvIHRoZSBET00uXG4gICAgICAgICAgICAgICAgaWYoYnJvd3NlckRldGVjdG9yLmlzSUUoKSkge1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QuZGF0YSA9IFwiYWJvdXQ6YmxhbmtcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmKGJhdGNoUHJvY2Vzc29yKSB7XG4gICAgICAgICAgICAgICAgYmF0Y2hQcm9jZXNzb3IuYWRkKG11dGF0ZURvbSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG11dGF0ZURvbSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYoYnJvd3NlckRldGVjdG9yLmlzSUUoOCkpIHtcbiAgICAgICAgICAgIC8vSUUgOCBkb2VzIG5vdCBzdXBwb3J0IG9iamVjdHMgcHJvcGVybHkuIEx1Y2tpbHkgdGhleSBkbyBzdXBwb3J0IHRoZSByZXNpemUgZXZlbnQuXG4gICAgICAgICAgICAvL1NvIGRvIG5vdCBpbmplY3QgdGhlIG9iamVjdCBhbmQgbm90aWZ5IHRoYXQgdGhlIGVsZW1lbnQgaXMgYWxyZWFkeSByZWFkeSB0byBiZSBsaXN0ZW5lZCB0by5cbiAgICAgICAgICAgIC8vVGhlIGV2ZW50IGhhbmRsZXIgZm9yIHRoZSByZXNpemUgZXZlbnQgaXMgYXR0YWNoZWQgaW4gdGhlIHV0aWxzLmFkZExpc3RlbmVyIGluc3RlYWQuXG4gICAgICAgICAgICBjYWxsYmFjayhlbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGluamVjdE9iamVjdChlbGVtZW50LCBjYWxsYmFjayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBjaGlsZCBvYmplY3Qgb2YgdGhlIHRhcmdldCBlbGVtZW50LlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtlbGVtZW50fSBlbGVtZW50IFRoZSB0YXJnZXQgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyBUaGUgb2JqZWN0IGVsZW1lbnQgb2YgdGhlIHRhcmdldC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXRPYmplY3QoZWxlbWVudCkge1xuICAgICAgICByZXR1cm4gZ2V0U3RhdGUoZWxlbWVudCkub2JqZWN0O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHVuaW5zdGFsbChlbGVtZW50KSB7XG4gICAgICAgIGlmICghZ2V0U3RhdGUoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBvYmplY3QgPSBnZXRPYmplY3QoZWxlbWVudCk7XG5cbiAgICAgICAgaWYgKCFvYmplY3QpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChicm93c2VyRGV0ZWN0b3IuaXNJRSg4KSkge1xuICAgICAgICAgICAgZWxlbWVudC5kZXRhY2hFdmVudChcIm9ucmVzaXplXCIsIG9iamVjdC5wcm94eSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlbGVtZW50LnJlbW92ZUNoaWxkKG9iamVjdCk7XG4gICAgICAgIH1cbiAgICAgICAgZGVsZXRlIGdldFN0YXRlKGVsZW1lbnQpLm9iamVjdDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBtYWtlRGV0ZWN0YWJsZTogbWFrZURldGVjdGFibGUsXG4gICAgICAgIGFkZExpc3RlbmVyOiBhZGRMaXN0ZW5lcixcbiAgICAgICAgdW5pbnN0YWxsOiB1bmluc3RhbGxcbiAgICB9O1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDU0OSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qKlxuICogUmVzaXplIGRldGVjdGlvbiBzdHJhdGVneSB0aGF0IGluamVjdHMgZGl2cyB0byBlbGVtZW50cyBpbiBvcmRlciB0byBkZXRlY3QgcmVzaXplIGV2ZW50cyBvbiBzY3JvbGwgZXZlbnRzLlxuICogSGVhdmlseSBpbnNwaXJlZCBieTogaHR0cHM6Ly9naXRodWIuY29tL21hcmNqL2Nzcy1lbGVtZW50LXF1ZXJpZXMvYmxvYi9tYXN0ZXIvc3JjL1Jlc2l6ZVNlbnNvci5qc1xuICovXG5cblxuXG52YXIgZm9yRWFjaCA9IF9fd2VicGFja19yZXF1aXJlX18oMjE5KS5mb3JFYWNoO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKG9wdGlvbnMpIHtcbiAgICBvcHRpb25zICAgICAgICAgICAgID0gb3B0aW9ucyB8fCB7fTtcbiAgICB2YXIgcmVwb3J0ZXIgICAgICAgID0gb3B0aW9ucy5yZXBvcnRlcjtcbiAgICB2YXIgYmF0Y2hQcm9jZXNzb3IgID0gb3B0aW9ucy5iYXRjaFByb2Nlc3NvcjtcbiAgICB2YXIgZ2V0U3RhdGUgICAgICAgID0gb3B0aW9ucy5zdGF0ZUhhbmRsZXIuZ2V0U3RhdGU7XG4gICAgdmFyIGhhc1N0YXRlICAgICAgICA9IG9wdGlvbnMuc3RhdGVIYW5kbGVyLmhhc1N0YXRlO1xuICAgIHZhciBpZEhhbmRsZXIgICAgICAgPSBvcHRpb25zLmlkSGFuZGxlcjtcblxuICAgIGlmICghYmF0Y2hQcm9jZXNzb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyByZXF1aXJlZCBkZXBlbmRlbmN5OiBiYXRjaFByb2Nlc3NvclwiKTtcbiAgICB9XG5cbiAgICBpZiAoIXJlcG9ydGVyKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgcmVxdWlyZWQgZGVwZW5kZW5jeTogcmVwb3J0ZXIuXCIpO1xuICAgIH1cblxuICAgIC8vVE9ETzogQ291bGQgdGhpcyBwZXJoYXBzIGJlIGRvbmUgYXQgaW5zdGFsbGF0aW9uIHRpbWU/XG4gICAgdmFyIHNjcm9sbGJhclNpemVzID0gZ2V0U2Nyb2xsYmFyU2l6ZXMoKTtcblxuICAgIHZhciBzdHlsZUlkID0gXCJlcmRfc2Nyb2xsX2RldGVjdGlvbl9zY3JvbGxiYXJfc3R5bGVcIjtcbiAgICB2YXIgZGV0ZWN0aW9uQ29udGFpbmVyQ2xhc3MgPSBcImVyZF9zY3JvbGxfZGV0ZWN0aW9uX2NvbnRhaW5lclwiO1xuXG4gICAgZnVuY3Rpb24gaW5pdERvY3VtZW50KHRhcmdldERvY3VtZW50KSB7XG4gICAgICAgIC8vIEluamVjdCB0aGUgc2Nyb2xsYmFyIHN0eWxpbmcgdGhhdCBwcmV2ZW50cyB0aGVtIGZyb20gYXBwZWFyaW5nIHNvbWV0aW1lcyBpbiBDaHJvbWUuXG4gICAgICAgIC8vIFRoZSBpbmplY3RlZCBjb250YWluZXIgbmVlZHMgdG8gaGF2ZSBhIGNsYXNzLCBzbyB0aGF0IGl0IG1heSBiZSBzdHlsZWQgd2l0aCBDU1MgKHBzZXVkbyBlbGVtZW50cykuXG4gICAgICAgIGluamVjdFNjcm9sbFN0eWxlKHRhcmdldERvY3VtZW50LCBzdHlsZUlkLCBkZXRlY3Rpb25Db250YWluZXJDbGFzcyk7XG4gICAgfVxuXG4gICAgaW5pdERvY3VtZW50KHdpbmRvdy5kb2N1bWVudCk7XG5cbiAgICBmdW5jdGlvbiBidWlsZENzc1RleHRTdHJpbmcocnVsZXMpIHtcbiAgICAgICAgdmFyIHNlcGVyYXRvciA9IG9wdGlvbnMuaW1wb3J0YW50ID8gXCIgIWltcG9ydGFudDsgXCIgOiBcIjsgXCI7XG5cbiAgICAgICAgcmV0dXJuIChydWxlcy5qb2luKHNlcGVyYXRvcikgKyBzZXBlcmF0b3IpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRTY3JvbGxiYXJTaXplcygpIHtcbiAgICAgICAgdmFyIHdpZHRoID0gNTAwO1xuICAgICAgICB2YXIgaGVpZ2h0ID0gNTAwO1xuXG4gICAgICAgIHZhciBjaGlsZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gICAgICAgIGNoaWxkLnN0eWxlLmNzc1RleHQgPSBidWlsZENzc1RleHRTdHJpbmcoW1wicG9zaXRpb246IGFic29sdXRlXCIsIFwid2lkdGg6IFwiICsgd2lkdGgqMiArIFwicHhcIiwgXCJoZWlnaHQ6IFwiICsgaGVpZ2h0KjIgKyBcInB4XCIsIFwidmlzaWJpbGl0eTogaGlkZGVuXCIsIFwibWFyZ2luOiAwXCIsIFwicGFkZGluZzogMFwiXSk7XG5cbiAgICAgICAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gICAgICAgIGNvbnRhaW5lci5zdHlsZS5jc3NUZXh0ID0gYnVpbGRDc3NUZXh0U3RyaW5nKFtcInBvc2l0aW9uOiBhYnNvbHV0ZVwiLCBcIndpZHRoOiBcIiArIHdpZHRoICsgXCJweFwiLCBcImhlaWdodDogXCIgKyBoZWlnaHQgKyBcInB4XCIsIFwib3ZlcmZsb3c6IHNjcm9sbFwiLCBcInZpc2liaWxpdHk6IG5vbmVcIiwgXCJ0b3A6IFwiICsgLXdpZHRoKjMgKyBcInB4XCIsIFwibGVmdDogXCIgKyAtaGVpZ2h0KjMgKyBcInB4XCIsIFwidmlzaWJpbGl0eTogaGlkZGVuXCIsIFwibWFyZ2luOiAwXCIsIFwicGFkZGluZzogMFwiXSk7XG5cbiAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGNoaWxkKTtcblxuICAgICAgICBkb2N1bWVudC5ib2R5Lmluc2VydEJlZm9yZShjb250YWluZXIsIGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZCk7XG5cbiAgICAgICAgdmFyIHdpZHRoU2l6ZSA9IHdpZHRoIC0gY29udGFpbmVyLmNsaWVudFdpZHRoO1xuICAgICAgICB2YXIgaGVpZ2h0U2l6ZSA9IGhlaWdodCAtIGNvbnRhaW5lci5jbGllbnRIZWlnaHQ7XG5cbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChjb250YWluZXIpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB3aWR0aDogd2lkdGhTaXplLFxuICAgICAgICAgICAgaGVpZ2h0OiBoZWlnaHRTaXplXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaW5qZWN0U2Nyb2xsU3R5bGUodGFyZ2V0RG9jdW1lbnQsIHN0eWxlSWQsIGNvbnRhaW5lckNsYXNzKSB7XG4gICAgICAgIGZ1bmN0aW9uIGluamVjdFN0eWxlKHN0eWxlLCBtZXRob2QpIHtcbiAgICAgICAgICAgIG1ldGhvZCA9IG1ldGhvZCB8fCBmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHRhcmdldERvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB2YXIgc3R5bGVFbGVtZW50ID0gdGFyZ2V0RG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO1xuICAgICAgICAgICAgc3R5bGVFbGVtZW50LmlubmVySFRNTCA9IHN0eWxlO1xuICAgICAgICAgICAgc3R5bGVFbGVtZW50LmlkID0gc3R5bGVJZDtcbiAgICAgICAgICAgIG1ldGhvZChzdHlsZUVsZW1lbnQpO1xuICAgICAgICAgICAgcmV0dXJuIHN0eWxlRWxlbWVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGFyZ2V0RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc3R5bGVJZCkpIHtcbiAgICAgICAgICAgIHZhciBjb250YWluZXJBbmltYXRpb25DbGFzcyA9IGNvbnRhaW5lckNsYXNzICsgXCJfYW5pbWF0aW9uXCI7XG4gICAgICAgICAgICB2YXIgY29udGFpbmVyQW5pbWF0aW9uQWN0aXZlQ2xhc3MgPSBjb250YWluZXJDbGFzcyArIFwiX2FuaW1hdGlvbl9hY3RpdmVcIjtcbiAgICAgICAgICAgIHZhciBzdHlsZSA9IFwiLyogQ3JlYXRlZCBieSB0aGUgZWxlbWVudC1yZXNpemUtZGV0ZWN0b3IgbGlicmFyeS4gKi9cXG5cIjtcbiAgICAgICAgICAgIHN0eWxlICs9IFwiLlwiICsgY29udGFpbmVyQ2xhc3MgKyBcIiA+IGRpdjo6LXdlYmtpdC1zY3JvbGxiYXIgeyBcIiArIGJ1aWxkQ3NzVGV4dFN0cmluZyhbXCJkaXNwbGF5OiBub25lXCJdKSArIFwiIH1cXG5cXG5cIjtcbiAgICAgICAgICAgIHN0eWxlICs9IFwiLlwiICsgY29udGFpbmVyQW5pbWF0aW9uQWN0aXZlQ2xhc3MgKyBcIiB7IFwiICsgYnVpbGRDc3NUZXh0U3RyaW5nKFtcIi13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFzXCIsIFwiYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFzXCIsIFwiLXdlYmtpdC1hbmltYXRpb24tbmFtZTogXCIgKyBjb250YWluZXJBbmltYXRpb25DbGFzcywgXCJhbmltYXRpb24tbmFtZTogXCIgKyBjb250YWluZXJBbmltYXRpb25DbGFzc10pICsgXCIgfVxcblwiO1xuICAgICAgICAgICAgc3R5bGUgKz0gXCJALXdlYmtpdC1rZXlmcmFtZXMgXCIgKyBjb250YWluZXJBbmltYXRpb25DbGFzcyArICBcIiB7IDAlIHsgb3BhY2l0eTogMTsgfSA1MCUgeyBvcGFjaXR5OiAwOyB9IDEwMCUgeyBvcGFjaXR5OiAxOyB9IH1cXG5cIjtcbiAgICAgICAgICAgIHN0eWxlICs9IFwiQGtleWZyYW1lcyBcIiArIGNvbnRhaW5lckFuaW1hdGlvbkNsYXNzICsgICAgICAgICAgXCIgeyAwJSB7IG9wYWNpdHk6IDE7IH0gNTAlIHsgb3BhY2l0eTogMDsgfSAxMDAlIHsgb3BhY2l0eTogMTsgfSB9XCI7XG4gICAgICAgICAgICBpbmplY3RTdHlsZShzdHlsZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBhZGRBbmltYXRpb25DbGFzcyhlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuY2xhc3NOYW1lICs9IFwiIFwiICsgZGV0ZWN0aW9uQ29udGFpbmVyQ2xhc3MgKyBcIl9hbmltYXRpb25fYWN0aXZlXCI7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gYWRkRXZlbnQoZWwsIG5hbWUsIGNiKSB7XG4gICAgICAgIGlmIChlbC5hZGRFdmVudExpc3RlbmVyKSB7XG4gICAgICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKG5hbWUsIGNiKTtcbiAgICAgICAgfSBlbHNlIGlmKGVsLmF0dGFjaEV2ZW50KSB7XG4gICAgICAgICAgICBlbC5hdHRhY2hFdmVudChcIm9uXCIgKyBuYW1lLCBjYik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gcmVwb3J0ZXIuZXJyb3IoXCJbc2Nyb2xsXSBEb24ndCBrbm93IGhvdyB0byBhZGQgZXZlbnQgbGlzdGVuZXJzLlwiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHJlbW92ZUV2ZW50KGVsLCBuYW1lLCBjYikge1xuICAgICAgICBpZiAoZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcikge1xuICAgICAgICAgICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihuYW1lLCBjYik7XG4gICAgICAgIH0gZWxzZSBpZihlbC5kZXRhY2hFdmVudCkge1xuICAgICAgICAgICAgZWwuZGV0YWNoRXZlbnQoXCJvblwiICsgbmFtZSwgY2IpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHJlcG9ydGVyLmVycm9yKFwiW3Njcm9sbF0gRG9uJ3Qga25vdyBob3cgdG8gcmVtb3ZlIGV2ZW50IGxpc3RlbmVycy5cIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRFeHBhbmRFbGVtZW50KGVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIGdldFN0YXRlKGVsZW1lbnQpLmNvbnRhaW5lci5jaGlsZE5vZGVzWzBdLmNoaWxkTm9kZXNbMF0uY2hpbGROb2Rlc1swXTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRTaHJpbmtFbGVtZW50KGVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIGdldFN0YXRlKGVsZW1lbnQpLmNvbnRhaW5lci5jaGlsZE5vZGVzWzBdLmNoaWxkTm9kZXNbMF0uY2hpbGROb2Rlc1sxXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGEgcmVzaXplIGV2ZW50IGxpc3RlbmVyIHRvIHRoZSBlbGVtZW50LlxuICAgICAqIEBwdWJsaWNcbiAgICAgKiBAcGFyYW0ge2VsZW1lbnR9IGVsZW1lbnQgVGhlIGVsZW1lbnQgdGhhdCBzaG91bGQgaGF2ZSB0aGUgbGlzdGVuZXIgYWRkZWQuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gbGlzdGVuZXIgVGhlIGxpc3RlbmVyIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCBmb3IgZWFjaCByZXNpemUgZXZlbnQgb2YgdGhlIGVsZW1lbnQuIFRoZSBlbGVtZW50IHdpbGwgYmUgZ2l2ZW4gYXMgYSBwYXJhbWV0ZXIgdG8gdGhlIGxpc3RlbmVyIGNhbGxiYWNrLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGFkZExpc3RlbmVyKGVsZW1lbnQsIGxpc3RlbmVyKSB7XG4gICAgICAgIHZhciBsaXN0ZW5lcnMgPSBnZXRTdGF0ZShlbGVtZW50KS5saXN0ZW5lcnM7XG5cbiAgICAgICAgaWYgKCFsaXN0ZW5lcnMucHVzaCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGFkZCBsaXN0ZW5lciB0byBhbiBlbGVtZW50IHRoYXQgaXMgbm90IGRldGVjdGFibGUuXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgZ2V0U3RhdGUoZWxlbWVudCkubGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ha2VzIGFuIGVsZW1lbnQgZGV0ZWN0YWJsZSBhbmQgcmVhZHkgdG8gYmUgbGlzdGVuZWQgZm9yIHJlc2l6ZSBldmVudHMuIFdpbGwgY2FsbCB0aGUgY2FsbGJhY2sgd2hlbiB0aGUgZWxlbWVudCBpcyByZWFkeSB0byBiZSBsaXN0ZW5lZCBmb3IgcmVzaXplIGNoYW5nZXMuXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge29iamVjdH0gb3B0aW9ucyBPcHRpb25hbCBvcHRpb25zIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge2VsZW1lbnR9IGVsZW1lbnQgVGhlIGVsZW1lbnQgdG8gbWFrZSBkZXRlY3RhYmxlXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2sgVGhlIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBlbGVtZW50IGlzIHJlYWR5IHRvIGJlIGxpc3RlbmVkIGZvciByZXNpemUgY2hhbmdlcy4gV2lsbCBiZSBjYWxsZWQgd2l0aCB0aGUgZWxlbWVudCBhcyBmaXJzdCBwYXJhbWV0ZXIuXG4gICAgICovXG4gICAgZnVuY3Rpb24gbWFrZURldGVjdGFibGUob3B0aW9ucywgZWxlbWVudCwgY2FsbGJhY2spIHtcbiAgICAgICAgaWYgKCFjYWxsYmFjaykge1xuICAgICAgICAgICAgY2FsbGJhY2sgPSBlbGVtZW50O1xuICAgICAgICAgICAgZWxlbWVudCA9IG9wdGlvbnM7XG4gICAgICAgICAgICBvcHRpb25zID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuXG4gICAgICAgIGZ1bmN0aW9uIGRlYnVnKCkge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuZGVidWcpIHtcbiAgICAgICAgICAgICAgICB2YXIgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG4gICAgICAgICAgICAgICAgYXJncy51bnNoaWZ0KGlkSGFuZGxlci5nZXQoZWxlbWVudCksIFwiU2Nyb2xsOiBcIik7XG4gICAgICAgICAgICAgICAgaWYgKHJlcG9ydGVyLmxvZy5hcHBseSkge1xuICAgICAgICAgICAgICAgICAgICByZXBvcnRlci5sb2cuYXBwbHkobnVsbCwgYXJncyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXBvcnRlci5sb2coYXJnc1tpXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmdW5jdGlvbiBpc0RldGFjaGVkKGVsZW1lbnQpIHtcbiAgICAgICAgICAgIGZ1bmN0aW9uIGlzSW5Eb2N1bWVudChlbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQgPT09IGVsZW1lbnQub3duZXJEb2N1bWVudC5ib2R5IHx8IGVsZW1lbnQub3duZXJEb2N1bWVudC5ib2R5LmNvbnRhaW5zKGVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWlzSW5Eb2N1bWVudChlbGVtZW50KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGaXJlRm94IHJldHVybnMgbnVsbCBzdHlsZSBpbiBoaWRkZW4gaWZyYW1lcy4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93bnIvZWxlbWVudC1yZXNpemUtZGV0ZWN0b3IvaXNzdWVzLzY4IGFuZCBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD03OTU1MjBcbiAgICAgICAgICAgIGlmICh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBmdW5jdGlvbiBpc1VucmVuZGVyZWQoZWxlbWVudCkge1xuICAgICAgICAgICAgLy8gQ2hlY2sgdGhlIGFic29sdXRlIHBvc2l0aW9uZWQgY29udGFpbmVyIHNpbmNlIHRoZSB0b3AgbGV2ZWwgY29udGFpbmVyIGlzIGRpc3BsYXk6IGlubGluZS5cbiAgICAgICAgICAgIHZhciBjb250YWluZXIgPSBnZXRTdGF0ZShlbGVtZW50KS5jb250YWluZXIuY2hpbGROb2Rlc1swXTtcbiAgICAgICAgICAgIHZhciBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lcik7XG4gICAgICAgICAgICByZXR1cm4gIXN0eWxlLndpZHRoIHx8IHN0eWxlLndpZHRoLmluZGV4T2YoXCJweFwiKSA9PT0gLTE7IC8vQ2FuIG9ubHkgY29tcHV0ZSBwaXhlbCB2YWx1ZSB3aGVuIHJlbmRlcmVkLlxuICAgICAgICB9XG5cbiAgICAgICAgZnVuY3Rpb24gZ2V0U3R5bGUoKSB7XG4gICAgICAgICAgICAvLyBTb21lIGJyb3dzZXJzIG9ubHkgZm9yY2UgbGF5b3V0cyB3aGVuIGFjdHVhbGx5IHJlYWRpbmcgdGhlIHN0eWxlIHByb3BlcnRpZXMgb2YgdGhlIHN0eWxlIG9iamVjdCwgc28gbWFrZSBzdXJlIHRoYXQgdGhleSBhcmUgYWxsIHJlYWQgaGVyZSxcbiAgICAgICAgICAgIC8vIHNvIHRoYXQgdGhlIHVzZXIgb2YgdGhlIGZ1bmN0aW9uIGNhbiBiZSBzdXJlIHRoYXQgaXQgd2lsbCBwZXJmb3JtIHRoZSBsYXlvdXQgaGVyZSwgaW5zdGVhZCBvZiBsYXRlciAoaW1wb3J0YW50IGZvciBiYXRjaGluZykuXG4gICAgICAgICAgICB2YXIgZWxlbWVudFN0eWxlICAgICAgICAgICAgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgICAgICAgICAgIHZhciBzdHlsZSAgICAgICAgICAgICAgICAgICA9IHt9O1xuICAgICAgICAgICAgc3R5bGUucG9zaXRpb24gICAgICAgICAgICAgID0gZWxlbWVudFN0eWxlLnBvc2l0aW9uO1xuICAgICAgICAgICAgc3R5bGUud2lkdGggICAgICAgICAgICAgICAgID0gZWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgICAgICAgIHN0eWxlLmhlaWdodCAgICAgICAgICAgICAgICA9IGVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICAgICAgc3R5bGUudG9wICAgICAgICAgICAgICAgICAgID0gZWxlbWVudFN0eWxlLnRvcDtcbiAgICAgICAgICAgIHN0eWxlLnJpZ2h0ICAgICAgICAgICAgICAgICA9IGVsZW1lbnRTdHlsZS5yaWdodDtcbiAgICAgICAgICAgIHN0eWxlLmJvdHRvbSAgICAgICAgICAgICAgICA9IGVsZW1lbnRTdHlsZS5ib3R0b207XG4gICAgICAgICAgICBzdHlsZS5sZWZ0ICAgICAgICAgICAgICAgICAgPSBlbGVtZW50U3R5bGUubGVmdDtcbiAgICAgICAgICAgIHN0eWxlLndpZHRoQ1NTICAgICAgICAgICAgICA9IGVsZW1lbnRTdHlsZS53aWR0aDtcbiAgICAgICAgICAgIHN0eWxlLmhlaWdodENTUyAgICAgICAgICAgICA9IGVsZW1lbnRTdHlsZS5oZWlnaHQ7XG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH1cblxuICAgICAgICBmdW5jdGlvbiBzdG9yZVN0YXJ0U2l6ZSgpIHtcbiAgICAgICAgICAgIHZhciBzdHlsZSA9IGdldFN0eWxlKCk7XG4gICAgICAgICAgICBnZXRTdGF0ZShlbGVtZW50KS5zdGFydFNpemUgPSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHN0eWxlLndpZHRoLFxuICAgICAgICAgICAgICAgIGhlaWdodDogc3R5bGUuaGVpZ2h0XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgZGVidWcoXCJFbGVtZW50IHN0YXJ0IHNpemVcIiwgZ2V0U3RhdGUoZWxlbWVudCkuc3RhcnRTaXplKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIGluaXRMaXN0ZW5lcnMoKSB7XG4gICAgICAgICAgICBnZXRTdGF0ZShlbGVtZW50KS5saXN0ZW5lcnMgPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIHN0b3JlU3R5bGUoKSB7XG4gICAgICAgICAgICBkZWJ1ZyhcInN0b3JlU3R5bGUgaW52b2tlZC5cIik7XG4gICAgICAgICAgICBpZiAoIWdldFN0YXRlKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgZGVidWcoXCJBYm9ydGluZyBiZWNhdXNlIGVsZW1lbnQgaGFzIGJlZW4gdW5pbnN0YWxsZWRcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgc3R5bGUgPSBnZXRTdHlsZSgpO1xuICAgICAgICAgICAgZ2V0U3RhdGUoZWxlbWVudCkuc3R5bGUgPSBzdHlsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIHN0b3JlQ3VycmVudFNpemUoZWxlbWVudCwgd2lkdGgsIGhlaWdodCkge1xuICAgICAgICAgICAgZ2V0U3RhdGUoZWxlbWVudCkubGFzdFdpZHRoID0gd2lkdGg7XG4gICAgICAgICAgICBnZXRTdGF0ZShlbGVtZW50KS5sYXN0SGVpZ2h0ICA9IGhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIGdldEV4cGFuZENoaWxkRWxlbWVudChlbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0RXhwYW5kRWxlbWVudChlbGVtZW50KS5jaGlsZE5vZGVzWzBdO1xuICAgICAgICB9XG5cbiAgICAgICAgZnVuY3Rpb24gZ2V0V2lkdGhPZmZzZXQoKSB7XG4gICAgICAgICAgICByZXR1cm4gMiAqIHNjcm9sbGJhclNpemVzLndpZHRoICsgMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIGdldEhlaWdodE9mZnNldCgpIHtcbiAgICAgICAgICAgIHJldHVybiAyICogc2Nyb2xsYmFyU2l6ZXMuaGVpZ2h0ICsgMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIGdldEV4cGFuZFdpZHRoKHdpZHRoKSB7XG4gICAgICAgICAgICByZXR1cm4gd2lkdGggKyAxMCArIGdldFdpZHRoT2Zmc2V0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBmdW5jdGlvbiBnZXRFeHBhbmRIZWlnaHQoaGVpZ2h0KSB7XG4gICAgICAgICAgICByZXR1cm4gaGVpZ2h0ICsgMTAgKyBnZXRIZWlnaHRPZmZzZXQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIGdldFNocmlua1dpZHRoKHdpZHRoKSB7XG4gICAgICAgICAgICByZXR1cm4gd2lkdGggKiAyICsgZ2V0V2lkdGhPZmZzZXQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIGdldFNocmlua0hlaWdodChoZWlnaHQpIHtcbiAgICAgICAgICAgIHJldHVybiBoZWlnaHQgKiAyICsgZ2V0SGVpZ2h0T2Zmc2V0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBmdW5jdGlvbiBwb3NpdGlvblNjcm9sbGJhcnMoZWxlbWVudCwgd2lkdGgsIGhlaWdodCkge1xuICAgICAgICAgICAgdmFyIGV4cGFuZCAgICAgICAgICA9IGdldEV4cGFuZEVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgICAgICB2YXIgc2hyaW5rICAgICAgICAgID0gZ2V0U2hyaW5rRWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgICAgIHZhciBleHBhbmRXaWR0aCAgICAgPSBnZXRFeHBhbmRXaWR0aCh3aWR0aCk7XG4gICAgICAgICAgICB2YXIgZXhwYW5kSGVpZ2h0ICAgID0gZ2V0RXhwYW5kSGVpZ2h0KGhlaWdodCk7XG4gICAgICAgICAgICB2YXIgc2hyaW5rV2lkdGggICAgID0gZ2V0U2hyaW5rV2lkdGgod2lkdGgpO1xuICAgICAgICAgICAgdmFyIHNocmlua0hlaWdodCAgICA9IGdldFNocmlua0hlaWdodChoZWlnaHQpO1xuICAgICAgICAgICAgZXhwYW5kLnNjcm9sbExlZnQgICA9IGV4cGFuZFdpZHRoO1xuICAgICAgICAgICAgZXhwYW5kLnNjcm9sbFRvcCAgICA9IGV4cGFuZEhlaWdodDtcbiAgICAgICAgICAgIHNocmluay5zY3JvbGxMZWZ0ICAgPSBzaHJpbmtXaWR0aDtcbiAgICAgICAgICAgIHNocmluay5zY3JvbGxUb3AgICAgPSBzaHJpbmtIZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBmdW5jdGlvbiBpbmplY3RDb250YWluZXJFbGVtZW50KCkge1xuICAgICAgICAgICAgdmFyIGNvbnRhaW5lciA9IGdldFN0YXRlKGVsZW1lbnQpLmNvbnRhaW5lcjtcblxuICAgICAgICAgICAgaWYgKCFjb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICBjb250YWluZXIgICAgICAgICAgICAgICAgICAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgICAgICAgICAgICAgIGNvbnRhaW5lci5jbGFzc05hbWUgICAgICAgICA9IGRldGVjdGlvbkNvbnRhaW5lckNsYXNzO1xuICAgICAgICAgICAgICAgIGNvbnRhaW5lci5zdHlsZS5jc3NUZXh0ICAgICA9IGJ1aWxkQ3NzVGV4dFN0cmluZyhbXCJ2aXNpYmlsaXR5OiBoaWRkZW5cIiwgXCJkaXNwbGF5OiBpbmxpbmVcIiwgXCJ3aWR0aDogMHB4XCIsIFwiaGVpZ2h0OiAwcHhcIiwgXCJ6LWluZGV4OiAtMVwiLCBcIm92ZXJmbG93OiBoaWRkZW5cIiwgXCJtYXJnaW46IDBcIiwgXCJwYWRkaW5nOiAwXCJdKTtcbiAgICAgICAgICAgICAgICBnZXRTdGF0ZShlbGVtZW50KS5jb250YWluZXIgPSBjb250YWluZXI7XG4gICAgICAgICAgICAgICAgYWRkQW5pbWF0aW9uQ2xhc3MoY29udGFpbmVyKTtcbiAgICAgICAgICAgICAgICBlbGVtZW50LmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XG5cbiAgICAgICAgICAgICAgICB2YXIgb25BbmltYXRpb25TdGFydCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgZ2V0U3RhdGUoZWxlbWVudCkub25SZW5kZXJlZCAmJiBnZXRTdGF0ZShlbGVtZW50KS5vblJlbmRlcmVkKCk7XG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIGFkZEV2ZW50KGNvbnRhaW5lciwgXCJhbmltYXRpb25zdGFydFwiLCBvbkFuaW1hdGlvblN0YXJ0KTtcblxuICAgICAgICAgICAgICAgIC8vIFN0b3JlIHRoZSBldmVudCBoYW5kbGVyIGhlcmUgc28gdGhhdCB0aGV5IG1heSBiZSByZW1vdmVkIHdoZW4gdW5pbnN0YWxsIGlzIGNhbGxlZC5cbiAgICAgICAgICAgICAgICAvLyBTZWUgdW5pbnN0YWxsIGZ1bmN0aW9uIGZvciBhbiBleHBsYW5hdGlvbiB3aHkgaXQgaXMgbmVlZGVkLlxuICAgICAgICAgICAgICAgIGdldFN0YXRlKGVsZW1lbnQpLm9uQW5pbWF0aW9uU3RhcnQgPSBvbkFuaW1hdGlvblN0YXJ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gY29udGFpbmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgZnVuY3Rpb24gaW5qZWN0U2Nyb2xsRWxlbWVudHMoKSB7XG4gICAgICAgICAgICBmdW5jdGlvbiBhbHRlclBvc2l0aW9uU3R5bGVzKCkge1xuICAgICAgICAgICAgICAgIHZhciBzdHlsZSA9IGdldFN0YXRlKGVsZW1lbnQpLnN0eWxlO1xuXG4gICAgICAgICAgICAgICAgaWYoc3R5bGUucG9zaXRpb24gPT09IFwic3RhdGljXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcInBvc2l0aW9uXCIsIFwicmVsYXRpdmVcIixvcHRpb25zLmltcG9ydGFudCA/IFwiaW1wb3J0YW50XCIgOiBcIlwiKTtcblxuICAgICAgICAgICAgICAgICAgICB2YXIgcmVtb3ZlUmVsYXRpdmVTdHlsZXMgPSBmdW5jdGlvbihyZXBvcnRlciwgZWxlbWVudCwgc3R5bGUsIHByb3BlcnR5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBnZXROdW1lcmljYWxWYWx1ZSh2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9bXi1cXGRcXC5dL2csIFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBzdHlsZVtwcm9wZXJ0eV07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHZhbHVlICE9PSBcImF1dG9cIiAmJiBnZXROdW1lcmljYWxWYWx1ZSh2YWx1ZSkgIT09IFwiMFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwb3J0ZXIud2FybihcIkFuIGVsZW1lbnQgdGhhdCBpcyBwb3NpdGlvbmVkIHN0YXRpYyBoYXMgc3R5bGUuXCIgKyBwcm9wZXJ0eSArIFwiPVwiICsgdmFsdWUgKyBcIiB3aGljaCBpcyBpZ25vcmVkIGR1ZSB0byB0aGUgc3RhdGljIHBvc2l0aW9uaW5nLiBUaGUgZWxlbWVudCB3aWxsIG5lZWQgdG8gYmUgcG9zaXRpb25lZCByZWxhdGl2ZSwgc28gdGhlIHN0eWxlLlwiICsgcHJvcGVydHkgKyBcIiB3aWxsIGJlIHNldCB0byAwLiBFbGVtZW50OiBcIiwgZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5zdHlsZVtwcm9wZXJ0eV0gPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIC8vQ2hlY2sgc28gdGhhdCB0aGVyZSBhcmUgbm8gYWNjaWRlbnRhbCBzdHlsZXMgdGhhdCB3aWxsIG1ha2UgdGhlIGVsZW1lbnQgc3R5bGVkIGRpZmZlcmVudGx5IG5vdyB0aGF0IGlzIGlzIHJlbGF0aXZlLlxuICAgICAgICAgICAgICAgICAgICAvL0lmIHRoZXJlIGFyZSBhbnksIHNldCB0aGVtIHRvIDAgKHRoaXMgc2hvdWxkIGJlIG9rYXkgd2l0aCB0aGUgdXNlciBzaW5jZSB0aGUgc3R5bGUgcHJvcGVydGllcyBkaWQgbm90aGluZyBiZWZvcmUgW3NpbmNlIHRoZSBlbGVtZW50IHdhcyBwb3NpdGlvbmVkIHN0YXRpY10gYW55d2F5KS5cbiAgICAgICAgICAgICAgICAgICAgcmVtb3ZlUmVsYXRpdmVTdHlsZXMocmVwb3J0ZXIsIGVsZW1lbnQsIHN0eWxlLCBcInRvcFwiKTtcbiAgICAgICAgICAgICAgICAgICAgcmVtb3ZlUmVsYXRpdmVTdHlsZXMocmVwb3J0ZXIsIGVsZW1lbnQsIHN0eWxlLCBcInJpZ2h0XCIpO1xuICAgICAgICAgICAgICAgICAgICByZW1vdmVSZWxhdGl2ZVN0eWxlcyhyZXBvcnRlciwgZWxlbWVudCwgc3R5bGUsIFwiYm90dG9tXCIpO1xuICAgICAgICAgICAgICAgICAgICByZW1vdmVSZWxhdGl2ZVN0eWxlcyhyZXBvcnRlciwgZWxlbWVudCwgc3R5bGUsIFwibGVmdFwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZ1bmN0aW9uIGdldExlZnRUb3BCb3R0b21SaWdodENzc1RleHQobGVmdCwgdG9wLCBib3R0b20sIHJpZ2h0KSB7XG4gICAgICAgICAgICAgICAgbGVmdCA9ICghbGVmdCA/IFwiMFwiIDogKGxlZnQgKyBcInB4XCIpKTtcbiAgICAgICAgICAgICAgICB0b3AgPSAoIXRvcCA/IFwiMFwiIDogKHRvcCArIFwicHhcIikpO1xuICAgICAgICAgICAgICAgIGJvdHRvbSA9ICghYm90dG9tID8gXCIwXCIgOiAoYm90dG9tICsgXCJweFwiKSk7XG4gICAgICAgICAgICAgICAgcmlnaHQgPSAoIXJpZ2h0ID8gXCIwXCIgOiAocmlnaHQgKyBcInB4XCIpKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBbXCJsZWZ0OiBcIiArIGxlZnQsIFwidG9wOiBcIiArIHRvcCwgXCJyaWdodDogXCIgKyByaWdodCwgXCJib3R0b206IFwiICsgYm90dG9tXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGVidWcoXCJJbmplY3RpbmcgZWxlbWVudHNcIik7XG5cbiAgICAgICAgICAgIGlmICghZ2V0U3RhdGUoZWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICBkZWJ1ZyhcIkFib3J0aW5nIGJlY2F1c2UgZWxlbWVudCBoYXMgYmVlbiB1bmluc3RhbGxlZFwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGFsdGVyUG9zaXRpb25TdHlsZXMoKTtcblxuICAgICAgICAgICAgdmFyIHJvb3RDb250YWluZXIgPSBnZXRTdGF0ZShlbGVtZW50KS5jb250YWluZXI7XG5cbiAgICAgICAgICAgIGlmICghcm9vdENvbnRhaW5lcikge1xuICAgICAgICAgICAgICAgIHJvb3RDb250YWluZXIgPSBpbmplY3RDb250YWluZXJFbGVtZW50KCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIER1ZSB0byB0aGlzIFdlYktpdCBidWcgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwODA4IChjdXJyZW50bHkgZml4ZWQgaW4gQmxpbmssIGJ1dCBzdGlsbCBwcmVzZW50IGluIFdlYktpdCBicm93c2VycyBzdWNoIGFzIFNhZmFyaSksXG4gICAgICAgICAgICAvLyB3ZSBuZWVkIHRvIGluamVjdCB0d28gY29udGFpbmVycywgb25lIHRoYXQgaXMgd2lkdGgvaGVpZ2h0IDEwMCUgYW5kIGFub3RoZXIgdGhhdCBpcyBsZWZ0L3RvcCAtMXB4IHNvIHRoYXQgdGhlIGZpbmFsIGNvbnRhaW5lciBhbHdheXMgaXMgMXgxIHBpeGVscyBiaWdnZXIgdGhhblxuICAgICAgICAgICAgLy8gdGhlIHRhcmdldGVkIGVsZW1lbnQuXG4gICAgICAgICAgICAvLyBXaGVuIHRoZSBidWcgaXMgcmVzb2x2ZWQsIFwiY29udGFpbmVyQ29udGFpbmVyXCIgbWF5IGJlIHJlbW92ZWQuXG5cbiAgICAgICAgICAgIC8vIFRoZSBvdXRlciBjb250YWluZXIgY2FuIG9jY2FzaW9uYWxseSBiZSBsZXNzIHdpZGUgdGhhbiB0aGUgdGFyZ2V0ZWQgd2hlbiBpbnNpZGUgaW5saW5lIGVsZW1lbnRzIGVsZW1lbnQgaW4gV2ViS2l0IChzZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1Mjk4MCkuXG4gICAgICAgICAgICAvLyBUaGlzIHNob3VsZCBiZSBubyBwcm9ibGVtIHNpbmNlIHRoZSBpbm5lciBjb250YWluZXIgZWl0aGVyIHdheSBtYWtlcyBzdXJlIHRoZSBpbmplY3RlZCBzY3JvbGwgZWxlbWVudHMgYXJlIGF0IGxlYXN0IDF4MSBweC5cblxuICAgICAgICAgICAgdmFyIHNjcm9sbGJhcldpZHRoICAgICAgICAgID0gc2Nyb2xsYmFyU2l6ZXMud2lkdGg7XG4gICAgICAgICAgICB2YXIgc2Nyb2xsYmFySGVpZ2h0ICAgICAgICAgPSBzY3JvbGxiYXJTaXplcy5oZWlnaHQ7XG4gICAgICAgICAgICB2YXIgY29udGFpbmVyQ29udGFpbmVyU3R5bGUgPSBidWlsZENzc1RleHRTdHJpbmcoW1wicG9zaXRpb246IGFic29sdXRlXCIsIFwiZmxleDogbm9uZVwiLCBcIm92ZXJmbG93OiBoaWRkZW5cIiwgXCJ6LWluZGV4OiAtMVwiLCBcInZpc2liaWxpdHk6IGhpZGRlblwiLCBcIndpZHRoOiAxMDAlXCIsIFwiaGVpZ2h0OiAxMDAlXCIsIFwibGVmdDogMHB4XCIsIFwidG9wOiAwcHhcIl0pO1xuICAgICAgICAgICAgdmFyIGNvbnRhaW5lclN0eWxlICAgICAgICAgID0gYnVpbGRDc3NUZXh0U3RyaW5nKFtcInBvc2l0aW9uOiBhYnNvbHV0ZVwiLCBcImZsZXg6IG5vbmVcIiwgXCJvdmVyZmxvdzogaGlkZGVuXCIsIFwiei1pbmRleDogLTFcIiwgXCJ2aXNpYmlsaXR5OiBoaWRkZW5cIl0uY29uY2F0KGdldExlZnRUb3BCb3R0b21SaWdodENzc1RleHQoLSgxICsgc2Nyb2xsYmFyV2lkdGgpLCAtKDEgKyBzY3JvbGxiYXJIZWlnaHQpLCAtc2Nyb2xsYmFySGVpZ2h0LCAtc2Nyb2xsYmFyV2lkdGgpKSk7XG4gICAgICAgICAgICB2YXIgZXhwYW5kU3R5bGUgICAgICAgICAgICAgPSBidWlsZENzc1RleHRTdHJpbmcoW1wicG9zaXRpb246IGFic29sdXRlXCIsIFwiZmxleDogbm9uZVwiLCBcIm92ZXJmbG93OiBzY3JvbGxcIiwgXCJ6LWluZGV4OiAtMVwiLCBcInZpc2liaWxpdHk6IGhpZGRlblwiLCBcIndpZHRoOiAxMDAlXCIsIFwiaGVpZ2h0OiAxMDAlXCJdKTtcbiAgICAgICAgICAgIHZhciBzaHJpbmtTdHlsZSAgICAgICAgICAgICA9IGJ1aWxkQ3NzVGV4dFN0cmluZyhbXCJwb3NpdGlvbjogYWJzb2x1dGVcIiwgXCJmbGV4OiBub25lXCIsIFwib3ZlcmZsb3c6IHNjcm9sbFwiLCBcInotaW5kZXg6IC0xXCIsIFwidmlzaWJpbGl0eTogaGlkZGVuXCIsIFwid2lkdGg6IDEwMCVcIiwgXCJoZWlnaHQ6IDEwMCVcIl0pO1xuICAgICAgICAgICAgdmFyIGV4cGFuZENoaWxkU3R5bGUgICAgICAgID0gYnVpbGRDc3NUZXh0U3RyaW5nKFtcInBvc2l0aW9uOiBhYnNvbHV0ZVwiLCBcImxlZnQ6IDBcIiwgXCJ0b3A6IDBcIl0pO1xuICAgICAgICAgICAgdmFyIHNocmlua0NoaWxkU3R5bGUgICAgICAgID0gYnVpbGRDc3NUZXh0U3RyaW5nKFtcInBvc2l0aW9uOiBhYnNvbHV0ZVwiLCBcIndpZHRoOiAyMDAlXCIsIFwiaGVpZ2h0OiAyMDAlXCJdKTtcblxuICAgICAgICAgICAgdmFyIGNvbnRhaW5lckNvbnRhaW5lciAgICAgID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICAgICAgICAgIHZhciBjb250YWluZXIgICAgICAgICAgICAgICA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gICAgICAgICAgICB2YXIgZXhwYW5kICAgICAgICAgICAgICAgICAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgICAgICAgICAgdmFyIGV4cGFuZENoaWxkICAgICAgICAgICAgID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICAgICAgICAgIHZhciBzaHJpbmsgICAgICAgICAgICAgICAgICA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gICAgICAgICAgICB2YXIgc2hyaW5rQ2hpbGQgICAgICAgICAgICAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuXG4gICAgICAgICAgICAvLyBTb21lIGJyb3dzZXJzIGNob2tlIG9uIHRoZSByZXNpemUgc3lzdGVtIGJlaW5nIHJ0bCwgc28gZm9yY2UgaXQgdG8gbHRyLiBodHRwczovL2dpdGh1Yi5jb20vd25yL2VsZW1lbnQtcmVzaXplLWRldGVjdG9yL2lzc3Vlcy81NlxuICAgICAgICAgICAgLy8gSG93ZXZlciwgZGlyIHNob3VsZCBub3QgYmUgc2V0IG9uIHRoZSB0b3AgbGV2ZWwgY29udGFpbmVyIGFzIGl0IGFsdGVycyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgdGFyZ2V0IGVsZW1lbnQgaW4gc29tZSBicm93c2Vycy5cbiAgICAgICAgICAgIGNvbnRhaW5lckNvbnRhaW5lci5kaXIgICAgICAgICAgICAgID0gXCJsdHJcIjtcblxuICAgICAgICAgICAgY29udGFpbmVyQ29udGFpbmVyLnN0eWxlLmNzc1RleHQgICAgPSBjb250YWluZXJDb250YWluZXJTdHlsZTtcbiAgICAgICAgICAgIGNvbnRhaW5lckNvbnRhaW5lci5jbGFzc05hbWUgICAgICAgID0gZGV0ZWN0aW9uQ29udGFpbmVyQ2xhc3M7XG4gICAgICAgICAgICBjb250YWluZXIuY2xhc3NOYW1lICAgICAgICAgICAgICAgICA9IGRldGVjdGlvbkNvbnRhaW5lckNsYXNzO1xuICAgICAgICAgICAgY29udGFpbmVyLnN0eWxlLmNzc1RleHQgICAgICAgICAgICAgPSBjb250YWluZXJTdHlsZTtcbiAgICAgICAgICAgIGV4cGFuZC5zdHlsZS5jc3NUZXh0ICAgICAgICAgICAgICAgID0gZXhwYW5kU3R5bGU7XG4gICAgICAgICAgICBleHBhbmRDaGlsZC5zdHlsZS5jc3NUZXh0ICAgICAgICAgICA9IGV4cGFuZENoaWxkU3R5bGU7XG4gICAgICAgICAgICBzaHJpbmsuc3R5bGUuY3NzVGV4dCAgICAgICAgICAgICAgICA9IHNocmlua1N0eWxlO1xuICAgICAgICAgICAgc2hyaW5rQ2hpbGQuc3R5bGUuY3NzVGV4dCAgICAgICAgICAgPSBzaHJpbmtDaGlsZFN0eWxlO1xuXG4gICAgICAgICAgICBleHBhbmQuYXBwZW5kQ2hpbGQoZXhwYW5kQ2hpbGQpO1xuICAgICAgICAgICAgc2hyaW5rLmFwcGVuZENoaWxkKHNocmlua0NoaWxkKTtcbiAgICAgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChleHBhbmQpO1xuICAgICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKHNocmluayk7XG4gICAgICAgICAgICBjb250YWluZXJDb250YWluZXIuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcbiAgICAgICAgICAgIHJvb3RDb250YWluZXIuYXBwZW5kQ2hpbGQoY29udGFpbmVyQ29udGFpbmVyKTtcblxuICAgICAgICAgICAgZnVuY3Rpb24gb25FeHBhbmRTY3JvbGwoKSB7XG4gICAgICAgICAgICAgICAgZ2V0U3RhdGUoZWxlbWVudCkub25FeHBhbmQgJiYgZ2V0U3RhdGUoZWxlbWVudCkub25FeHBhbmQoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZnVuY3Rpb24gb25TaHJpbmtTY3JvbGwoKSB7XG4gICAgICAgICAgICAgICAgZ2V0U3RhdGUoZWxlbWVudCkub25TaHJpbmsgJiYgZ2V0U3RhdGUoZWxlbWVudCkub25TaHJpbmsoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYWRkRXZlbnQoZXhwYW5kLCBcInNjcm9sbFwiLCBvbkV4cGFuZFNjcm9sbCk7XG4gICAgICAgICAgICBhZGRFdmVudChzaHJpbmssIFwic2Nyb2xsXCIsIG9uU2hyaW5rU2Nyb2xsKTtcblxuICAgICAgICAgICAgLy8gU3RvcmUgdGhlIGV2ZW50IGhhbmRsZXJzIGhlcmUgc28gdGhhdCB0aGV5IG1heSBiZSByZW1vdmVkIHdoZW4gdW5pbnN0YWxsIGlzIGNhbGxlZC5cbiAgICAgICAgICAgIC8vIFNlZSB1bmluc3RhbGwgZnVuY3Rpb24gZm9yIGFuIGV4cGxhbmF0aW9uIHdoeSBpdCBpcyBuZWVkZWQuXG4gICAgICAgICAgICBnZXRTdGF0ZShlbGVtZW50KS5vbkV4cGFuZFNjcm9sbCA9IG9uRXhwYW5kU2Nyb2xsO1xuICAgICAgICAgICAgZ2V0U3RhdGUoZWxlbWVudCkub25TaHJpbmtTY3JvbGwgPSBvblNocmlua1Njcm9sbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIHJlZ2lzdGVyTGlzdGVuZXJzQW5kUG9zaXRpb25FbGVtZW50cygpIHtcbiAgICAgICAgICAgIGZ1bmN0aW9uIHVwZGF0ZUNoaWxkU2l6ZXMoZWxlbWVudCwgd2lkdGgsIGhlaWdodCkge1xuICAgICAgICAgICAgICAgIHZhciBleHBhbmRDaGlsZCAgICAgICAgICAgICA9IGdldEV4cGFuZENoaWxkRWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgICAgICAgICB2YXIgZXhwYW5kV2lkdGggICAgICAgICAgICAgPSBnZXRFeHBhbmRXaWR0aCh3aWR0aCk7XG4gICAgICAgICAgICAgICAgdmFyIGV4cGFuZEhlaWdodCAgICAgICAgICAgID0gZ2V0RXhwYW5kSGVpZ2h0KGhlaWdodCk7XG4gICAgICAgICAgICAgICAgZXhwYW5kQ2hpbGQuc3R5bGUuc2V0UHJvcGVydHkoXCJ3aWR0aFwiLCBleHBhbmRXaWR0aCArIFwicHhcIiwgb3B0aW9ucy5pbXBvcnRhbnQgPyBcImltcG9ydGFudFwiIDogXCJcIik7XG4gICAgICAgICAgICAgICAgZXhwYW5kQ2hpbGQuc3R5bGUuc2V0UHJvcGVydHkoXCJoZWlnaHRcIiwgZXhwYW5kSGVpZ2h0ICsgXCJweFwiLCBvcHRpb25zLmltcG9ydGFudCA/IFwiaW1wb3J0YW50XCIgOiBcIlwiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZnVuY3Rpb24gdXBkYXRlRGV0ZWN0b3JFbGVtZW50cyhkb25lKSB7XG4gICAgICAgICAgICAgICAgdmFyIHdpZHRoICAgICAgICAgICA9IGVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgICAgICAgICAgICAgdmFyIGhlaWdodCAgICAgICAgICA9IGVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuXG4gICAgICAgICAgICAgICAgLy8gQ2hlY2sgd2hldGhlciB0aGUgc2l6ZSBoYXMgYWN0dWFsbHkgY2hhbmdlZCBzaW5jZSBsYXN0IHRpbWUgdGhlIGFsZ29yaXRobSByYW4uIElmIG5vdCwgc29tZSBzdGVwcyBtYXkgYmUgc2tpcHBlZC5cbiAgICAgICAgICAgICAgICB2YXIgc2l6ZUNoYW5nZWQgPSB3aWR0aCAhPT0gZ2V0U3RhdGUoZWxlbWVudCkubGFzdFdpZHRoIHx8IGhlaWdodCAhPT0gZ2V0U3RhdGUoZWxlbWVudCkubGFzdEhlaWdodDtcblxuICAgICAgICAgICAgICAgIGRlYnVnKFwiU3RvcmluZyBjdXJyZW50IHNpemVcIiwgd2lkdGgsIGhlaWdodCk7XG5cbiAgICAgICAgICAgICAgICAvLyBTdG9yZSB0aGUgc2l6ZSBvZiB0aGUgZWxlbWVudCBzeW5jIGhlcmUsIHNvIHRoYXQgbXVsdGlwbGUgc2Nyb2xsIGV2ZW50cyBtYXkgYmUgaWdub3JlZCBpbiB0aGUgZXZlbnQgbGlzdGVuZXJzLlxuICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSB0aGUgaWYtY2hlY2sgaW4gaGFuZGxlU2Nyb2xsIGlzIHVzZWxlc3MuXG4gICAgICAgICAgICAgICAgc3RvcmVDdXJyZW50U2l6ZShlbGVtZW50LCB3aWR0aCwgaGVpZ2h0KTtcblxuICAgICAgICAgICAgICAgIC8vIFNpbmNlIHdlIGRlbGF5IHRoZSBwcm9jZXNzaW5nIG9mIHRoZSBiYXRjaCwgdGhlcmUgaXMgYSByaXNrIHRoYXQgdW5pbnN0YWxsIGhhcyBiZWVuIGNhbGxlZCBiZWZvcmUgdGhlIGJhdGNoIGdldHMgdG8gZXhlY3V0ZS5cbiAgICAgICAgICAgICAgICAvLyBTaW5jZSB0aGVyZSBpcyBubyB3YXkgdG8gY2FuY2VsIHRoZSBmbiBleGVjdXRpb25zLCB3ZSBuZWVkIHRvIGFkZCBhbiB1bmluc3RhbGwgZ3VhcmQgdG8gYWxsIGZucyBvZiB0aGUgYmF0Y2guXG5cbiAgICAgICAgICAgICAgICBiYXRjaFByb2Nlc3Nvci5hZGQoMCwgZnVuY3Rpb24gcGVyZm9ybVVwZGF0ZUNoaWxkU2l6ZXMoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghc2l6ZUNoYW5nZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICghZ2V0U3RhdGUoZWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKFwiQWJvcnRpbmcgYmVjYXVzZSBlbGVtZW50IGhhcyBiZWVuIHVuaW5zdGFsbGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFhcmVFbGVtZW50c0luamVjdGVkKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKFwiQWJvcnRpbmcgYmVjYXVzZSBlbGVtZW50IGNvbnRhaW5lciBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5kZWJ1Zykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHcgPSBlbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGggPSBlbGVtZW50Lm9mZnNldEhlaWdodDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHcgIT09IHdpZHRoIHx8IGggIT09IGhlaWdodCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9ydGVyLndhcm4oaWRIYW5kbGVyLmdldChlbGVtZW50KSwgXCJTY3JvbGw6IFNpemUgY2hhbmdlZCBiZWZvcmUgdXBkYXRpbmcgZGV0ZWN0b3IgZWxlbWVudHMuXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQ2hpbGRTaXplcyhlbGVtZW50LCB3aWR0aCwgaGVpZ2h0KTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGJhdGNoUHJvY2Vzc29yLmFkZCgxLCBmdW5jdGlvbiB1cGRhdGVTY3JvbGxiYXJzKCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGZ1bmN0aW9uIG5lZWRzIHRvIGJlIGludm9rZWQgZXZlbnQgdGhvdWdoIHRoZSBzaXplIGlzIHVuY2hhbmdlZC4gVGhlIGVsZW1lbnQgY291bGQgaGF2ZSBiZWVuIHJlc2l6ZWQgdmVyeSBxdWlja2x5IGFuZCB0aGVuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJlZW4gcmVzdG9yZWQgdG8gdGhlIG9yaWdpbmFsIHNpemUsIHdoaWNoIHdpbGwgaGF2ZSBjaGFuZ2VkIHRoZSBzY3JvbGxiYXIgcG9zaXRpb25zLlxuXG4gICAgICAgICAgICAgICAgICAgIGlmICghZ2V0U3RhdGUoZWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKFwiQWJvcnRpbmcgYmVjYXVzZSBlbGVtZW50IGhhcyBiZWVuIHVuaW5zdGFsbGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFhcmVFbGVtZW50c0luamVjdGVkKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKFwiQWJvcnRpbmcgYmVjYXVzZSBlbGVtZW50IGNvbnRhaW5lciBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvblNjcm9sbGJhcnMoZWxlbWVudCwgd2lkdGgsIGhlaWdodCk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoc2l6ZUNoYW5nZWQgJiYgZG9uZSkge1xuICAgICAgICAgICAgICAgICAgICBiYXRjaFByb2Nlc3Nvci5hZGQoMiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFnZXRTdGF0ZShlbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKFwiQWJvcnRpbmcgYmVjYXVzZSBlbGVtZW50IGhhcyBiZWVuIHVuaW5zdGFsbGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFhcmVFbGVtZW50c0luamVjdGVkKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoXCJBYm9ydGluZyBiZWNhdXNlIGVsZW1lbnQgY29udGFpbmVyIGhhcyBub3QgYmVlbiBpbml0aWFsaXplZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBkb25lKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZnVuY3Rpb24gYXJlRWxlbWVudHNJbmplY3RlZCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gISFnZXRTdGF0ZShlbGVtZW50KS5jb250YWluZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZ1bmN0aW9uIG5vdGlmeUxpc3RlbmVyc0lmTmVlZGVkKCkge1xuICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRmlyc3ROb3RpZnkoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBnZXRTdGF0ZShlbGVtZW50KS5sYXN0Tm90aWZpZWRXaWR0aCA9PT0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGRlYnVnKFwibm90aWZ5TGlzdGVuZXJzSWZOZWVkZWQgaW52b2tlZFwiKTtcblxuICAgICAgICAgICAgICAgIHZhciBzdGF0ZSA9IGdldFN0YXRlKGVsZW1lbnQpO1xuXG4gICAgICAgICAgICAgICAgLy8gRG9uJ3Qgbm90aWZ5IGlmIHRoZSBjdXJyZW50IHNpemUgaXMgdGhlIHN0YXJ0IHNpemUsIGFuZCB0aGlzIGlzIHRoZSBmaXJzdCBub3RpZmljYXRpb24uXG4gICAgICAgICAgICAgICAgaWYgKGlzRmlyc3ROb3RpZnkoKSAmJiBzdGF0ZS5sYXN0V2lkdGggPT09IHN0YXRlLnN0YXJ0U2l6ZS53aWR0aCAmJiBzdGF0ZS5sYXN0SGVpZ2h0ID09PSBzdGF0ZS5zdGFydFNpemUuaGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkZWJ1ZyhcIk5vdCBub3RpZnlpbmc6IFNpemUgaXMgdGhlIHNhbWUgYXMgdGhlIHN0YXJ0IHNpemUsIGFuZCB0aGVyZSBoYXMgYmVlbiBubyBub3RpZmljYXRpb24geWV0LlwiKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBEb24ndCBub3RpZnkgaWYgdGhlIHNpemUgYWxyZWFkeSBoYXMgYmVlbiBub3RpZmllZC5cbiAgICAgICAgICAgICAgICBpZiAoc3RhdGUubGFzdFdpZHRoID09PSBzdGF0ZS5sYXN0Tm90aWZpZWRXaWR0aCAmJiBzdGF0ZS5sYXN0SGVpZ2h0ID09PSBzdGF0ZS5sYXN0Tm90aWZpZWRIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRlYnVnKFwiTm90IG5vdGlmeWluZzogU2l6ZSBhbHJlYWR5IG5vdGlmaWVkXCIpO1xuICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgZGVidWcoXCJDdXJyZW50IHNpemUgbm90IG5vdGlmaWVkLCBub3RpZnlpbmcuLi5cIik7XG4gICAgICAgICAgICAgICAgc3RhdGUubGFzdE5vdGlmaWVkV2lkdGggPSBzdGF0ZS5sYXN0V2lkdGg7XG4gICAgICAgICAgICAgICAgc3RhdGUubGFzdE5vdGlmaWVkSGVpZ2h0ID0gc3RhdGUubGFzdEhlaWdodDtcbiAgICAgICAgICAgICAgICBmb3JFYWNoKGdldFN0YXRlKGVsZW1lbnQpLmxpc3RlbmVycywgZnVuY3Rpb24gKGxpc3RlbmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIGxpc3RlbmVyKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmdW5jdGlvbiBoYW5kbGVSZW5kZXIoKSB7XG4gICAgICAgICAgICAgICAgZGVidWcoXCJzdGFydGFuaW1hdGlvbiB0cmlnZ2VyZWQuXCIpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGlzVW5yZW5kZXJlZChlbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhcIklnbm9yaW5nIHNpbmNlIGVsZW1lbnQgaXMgc3RpbGwgdW5yZW5kZXJlZC4uLlwiKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGRlYnVnKFwiRWxlbWVudCByZW5kZXJlZC5cIik7XG4gICAgICAgICAgICAgICAgdmFyIGV4cGFuZCA9IGdldEV4cGFuZEVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgdmFyIHNocmluayA9IGdldFNocmlua0VsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgaWYgKGV4cGFuZC5zY3JvbGxMZWZ0ID09PSAwIHx8IGV4cGFuZC5zY3JvbGxUb3AgPT09IDAgfHwgc2hyaW5rLnNjcm9sbExlZnQgPT09IDAgfHwgc2hyaW5rLnNjcm9sbFRvcCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhcIlNjcm9sbGJhcnMgb3V0IG9mIHN5bmMuIFVwZGF0aW5nIGRldGVjdG9yIGVsZW1lbnRzLi4uXCIpO1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGVEZXRlY3RvckVsZW1lbnRzKG5vdGlmeUxpc3RlbmVyc0lmTmVlZGVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZ1bmN0aW9uIGhhbmRsZVNjcm9sbCgpIHtcbiAgICAgICAgICAgICAgICBkZWJ1ZyhcIlNjcm9sbCBkZXRlY3RlZC5cIik7XG5cbiAgICAgICAgICAgICAgICBpZiAoaXNVbnJlbmRlcmVkKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEVsZW1lbnQgaXMgc3RpbGwgdW5yZW5kZXJlZC4gU2tpcCB0aGlzIHNjcm9sbCBldmVudC5cbiAgICAgICAgICAgICAgICAgICAgZGVidWcoXCJTY3JvbGwgZXZlbnQgZmlyZWQgd2hpbGUgdW5yZW5kZXJlZC4gSWdub3JpbmcuLi5cIik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB1cGRhdGVEZXRlY3RvckVsZW1lbnRzKG5vdGlmeUxpc3RlbmVyc0lmTmVlZGVkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGVidWcoXCJyZWdpc3Rlckxpc3RlbmVyc0FuZFBvc2l0aW9uRWxlbWVudHMgaW52b2tlZC5cIik7XG5cbiAgICAgICAgICAgIGlmICghZ2V0U3RhdGUoZWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICBkZWJ1ZyhcIkFib3J0aW5nIGJlY2F1c2UgZWxlbWVudCBoYXMgYmVlbiB1bmluc3RhbGxlZFwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGdldFN0YXRlKGVsZW1lbnQpLm9uUmVuZGVyZWQgPSBoYW5kbGVSZW5kZXI7XG4gICAgICAgICAgICBnZXRTdGF0ZShlbGVtZW50KS5vbkV4cGFuZCA9IGhhbmRsZVNjcm9sbDtcbiAgICAgICAgICAgIGdldFN0YXRlKGVsZW1lbnQpLm9uU2hyaW5rID0gaGFuZGxlU2Nyb2xsO1xuXG4gICAgICAgICAgICB2YXIgc3R5bGUgPSBnZXRTdGF0ZShlbGVtZW50KS5zdHlsZTtcbiAgICAgICAgICAgIHVwZGF0ZUNoaWxkU2l6ZXMoZWxlbWVudCwgc3R5bGUud2lkdGgsIHN0eWxlLmhlaWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICBmdW5jdGlvbiBmaW5hbGl6ZURvbU11dGF0aW9uKCkge1xuICAgICAgICAgICAgZGVidWcoXCJmaW5hbGl6ZURvbU11dGF0aW9uIGludm9rZWQuXCIpO1xuXG4gICAgICAgICAgICBpZiAoIWdldFN0YXRlKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgZGVidWcoXCJBYm9ydGluZyBiZWNhdXNlIGVsZW1lbnQgaGFzIGJlZW4gdW5pbnN0YWxsZWRcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgc3R5bGUgPSBnZXRTdGF0ZShlbGVtZW50KS5zdHlsZTtcbiAgICAgICAgICAgIHN0b3JlQ3VycmVudFNpemUoZWxlbWVudCwgc3R5bGUud2lkdGgsIHN0eWxlLmhlaWdodCk7XG4gICAgICAgICAgICBwb3NpdGlvblNjcm9sbGJhcnMoZWxlbWVudCwgc3R5bGUud2lkdGgsIHN0eWxlLmhlaWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICBmdW5jdGlvbiByZWFkeSgpIHtcbiAgICAgICAgICAgIGNhbGxiYWNrKGVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgZnVuY3Rpb24gaW5zdGFsbCgpIHtcbiAgICAgICAgICAgIGRlYnVnKFwiSW5zdGFsbGluZy4uLlwiKTtcbiAgICAgICAgICAgIGluaXRMaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgIHN0b3JlU3RhcnRTaXplKCk7XG5cbiAgICAgICAgICAgIGJhdGNoUHJvY2Vzc29yLmFkZCgwLCBzdG9yZVN0eWxlKTtcbiAgICAgICAgICAgIGJhdGNoUHJvY2Vzc29yLmFkZCgxLCBpbmplY3RTY3JvbGxFbGVtZW50cyk7XG4gICAgICAgICAgICBiYXRjaFByb2Nlc3Nvci5hZGQoMiwgcmVnaXN0ZXJMaXN0ZW5lcnNBbmRQb3NpdGlvbkVsZW1lbnRzKTtcbiAgICAgICAgICAgIGJhdGNoUHJvY2Vzc29yLmFkZCgzLCBmaW5hbGl6ZURvbU11dGF0aW9uKTtcbiAgICAgICAgICAgIGJhdGNoUHJvY2Vzc29yLmFkZCg0LCByZWFkeSk7XG4gICAgICAgIH1cblxuICAgICAgICBkZWJ1ZyhcIk1ha2luZyBkZXRlY3RhYmxlLi4uXCIpO1xuXG4gICAgICAgIGlmIChpc0RldGFjaGVkKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICBkZWJ1ZyhcIkVsZW1lbnQgaXMgZGV0YWNoZWRcIik7XG5cbiAgICAgICAgICAgIGluamVjdENvbnRhaW5lckVsZW1lbnQoKTtcblxuICAgICAgICAgICAgZGVidWcoXCJXYWl0aW5nIHVudGlsIGVsZW1lbnQgaXMgYXR0YWNoZWQuLi5cIik7XG5cbiAgICAgICAgICAgIGdldFN0YXRlKGVsZW1lbnQpLm9uUmVuZGVyZWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgZGVidWcoXCJFbGVtZW50IGlzIG5vdyBhdHRhY2hlZFwiKTtcbiAgICAgICAgICAgICAgICBpbnN0YWxsKCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaW5zdGFsbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdW5pbnN0YWxsKGVsZW1lbnQpIHtcbiAgICAgICAgdmFyIHN0YXRlID0gZ2V0U3RhdGUoZWxlbWVudCk7XG5cbiAgICAgICAgaWYgKCFzdGF0ZSkge1xuICAgICAgICAgICAgLy8gVW5pbnN0YWxsIGhhcyBiZWVuIGNhbGxlZCBvbiBhIG5vbi1lcmQgZWxlbWVudC5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFVuaW5zdGFsbCBtYXkgaGF2ZSBiZWVuIGNhbGxlZCBpbiB0aGUgZm9sbG93aW5nIHNjZW5hcmlvczpcbiAgICAgICAgLy8gKDEpIFJpZ2h0IGJldHdlZW4gdGhlIHN5bmMgY29kZSBhbmQgYXN5bmMgYmF0Y2ggKGhlcmUgc3RhdGUuYnVzeSA9IHRydWUsIGJ1dCBub3RoaW5nIGhhdmUgYmVlbiByZWdpc3RlcmVkIG9yIGluamVjdGVkKS5cbiAgICAgICAgLy8gKDIpIEluIHRoZSByZWFkeSBjYWxsYmFjayBvZiB0aGUgbGFzdCBsZXZlbCBvZiB0aGUgYmF0Y2ggYnkgYW5vdGhlciBlbGVtZW50IChoZXJlLCBzdGF0ZS5idXN5ID0gdHJ1ZSwgYnV0IGFsbCB0aGUgc3R1ZmYgaGFzIGJlZW4gaW5qZWN0ZWQpLlxuICAgICAgICAvLyAoMykgQWZ0ZXIgdGhlIGluc3RhbGxhdGlvbiBwcm9jZXNzIChoZXJlLCBzdGF0ZS5idXN5ID0gZmFsc2UgYW5kIGFsbCB0aGUgc3R1ZmYgaGFzIGJlZW4gaW5qZWN0ZWQpLlxuICAgICAgICAvLyBTbyB0byBiZSBvbiB0aGUgc2FmZSBzaWRlLCBsZXQncyBjaGVjayBmb3IgZWFjaCB0aGluZyBiZWZvcmUgcmVtb3ZpbmcuXG5cbiAgICAgICAgLy8gV2UgbmVlZCB0byByZW1vdmUgdGhlIGV2ZW50IGxpc3RlbmVycywgYmVjYXVzZSBvdGhlcndpc2UgdGhlIGV2ZW50IG1pZ2h0IGZpcmUgb24gYW4gdW5pbnN0YWxsIGVsZW1lbnQgd2hpY2ggcmVzdWx0cyBpbiBhbiBlcnJvciB3aGVuIHRyeWluZyB0byBnZXQgdGhlIHN0YXRlIG9mIHRoZSBlbGVtZW50LlxuICAgICAgICBzdGF0ZS5vbkV4cGFuZFNjcm9sbCAmJiByZW1vdmVFdmVudChnZXRFeHBhbmRFbGVtZW50KGVsZW1lbnQpLCBcInNjcm9sbFwiLCBzdGF0ZS5vbkV4cGFuZFNjcm9sbCk7XG4gICAgICAgIHN0YXRlLm9uU2hyaW5rU2Nyb2xsICYmIHJlbW92ZUV2ZW50KGdldFNocmlua0VsZW1lbnQoZWxlbWVudCksIFwic2Nyb2xsXCIsIHN0YXRlLm9uU2hyaW5rU2Nyb2xsKTtcbiAgICAgICAgc3RhdGUub25BbmltYXRpb25TdGFydCAmJiByZW1vdmVFdmVudChzdGF0ZS5jb250YWluZXIsIFwiYW5pbWF0aW9uc3RhcnRcIiwgc3RhdGUub25BbmltYXRpb25TdGFydCk7XG5cbiAgICAgICAgc3RhdGUuY29udGFpbmVyICYmIGVsZW1lbnQucmVtb3ZlQ2hpbGQoc3RhdGUuY29udGFpbmVyKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBtYWtlRGV0ZWN0YWJsZTogbWFrZURldGVjdGFibGUsXG4gICAgICAgIGFkZExpc3RlbmVyOiBhZGRMaXN0ZW5lcixcbiAgICAgICAgdW5pbnN0YWxsOiB1bmluc3RhbGwsXG4gICAgICAgIGluaXREb2N1bWVudDogaW5pdERvY3VtZW50XG4gICAgfTtcbn07XG5cblxuLyoqKi8gfSksXG4vKiA1NTAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0uY2xhc3NlcyB9LCBbIV92bS5yYW5nZSAmJiBfdm0uc2hvd0lucHV0ID8gX2MoJ0lucHV0LW51bWJlcicsIHsgYXR0cnM6IHsgXCJtaW5cIjogX3ZtLm1pbiwgXCJzaXplXCI6IF92bS5pbnB1dFNpemUsIFwibWF4XCI6IF92bS5tYXgsIFwic3RlcFwiOiBfdm0uc3RlcCwgXCJ2YWx1ZVwiOiBfdm0uZXhwb3J0VmFsdWVbMF0sIFwiZGlzYWJsZWRcIjogX3ZtLmRpc2FibGVkLCBcImFjdGl2ZS1jaGFuZ2VcIjogX3ZtLmFjdGl2ZUNoYW5nZSB9LCBvbjogeyBcIm9uLWNoYW5nZVwiOiBfdm0uaGFuZGxlSW5wdXRDaGFuZ2UgfSB9KSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyByZWY6IFwic2xpZGVyXCIsIGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctd3JhcCddLCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICBpZiAoJGV2ZW50LnRhcmdldCAhPT0gJGV2ZW50LmN1cnJlbnRUYXJnZXQpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfXJldHVybiBfdm0uc2xpZGVyQ2xpY2soJGV2ZW50KTtcbiAgICAgIH0gfSB9LCBbX2MoJ2lucHV0JywgeyBhdHRyczogeyBcInR5cGVcIjogXCJoaWRkZW5cIiwgXCJuYW1lXCI6IF92bS5uYW1lIH0sIGRvbVByb3BzOiB7IFwidmFsdWVcIjogX3ZtLmV4cG9ydFZhbHVlIH0gfSksIF92bS5fdihcIiBcIiksIF92bS5zaG93U3RvcHMgPyBfdm0uX2woX3ZtLnN0b3BzLCBmdW5jdGlvbiAoaXRlbSkge1xuICAgIHJldHVybiBfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLXN0b3AnXSwgc3R5bGU6IHsgJ2xlZnQnOiBpdGVtICsgJyUnIH0sIG9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgICAgaWYgKCRldmVudC50YXJnZXQgIT09ICRldmVudC5jdXJyZW50VGFyZ2V0KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9cmV0dXJuIF92bS5zbGlkZXJDbGljaygkZXZlbnQpO1xuICAgICAgICB9IH0gfSk7XG4gIH0pIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF9jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctYmFyJ10sIHN0eWxlOiBfdm0uYmFyU3R5bGUsIG9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgIGlmICgkZXZlbnQudGFyZ2V0ICE9PSAkZXZlbnQuY3VycmVudFRhcmdldCkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5zbGlkZXJDbGljaygkZXZlbnQpO1xuICAgICAgfSB9IH0pLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWJ1dHRvbi13cmFwJ10sIHN0eWxlOiB7IGxlZnQ6IF92bS5taW5Qb3NpdGlvbiArICclJyB9LCBvbjogeyBcInRvdWNoc3RhcnRcIjogZnVuY3Rpb24gdG91Y2hzdGFydCgkZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIF92bS5vblBvaW50ZXJEb3duKCRldmVudCwgJ21pbicpO1xuICAgICAgfSwgXCJtb3VzZWRvd25cIjogZnVuY3Rpb24gbW91c2Vkb3duKCRldmVudCkge1xuICAgICAgICByZXR1cm4gX3ZtLm9uUG9pbnRlckRvd24oJGV2ZW50LCAnbWluJyk7XG4gICAgICB9IH0gfSwgW19jKCdUb29sdGlwJywgeyByZWY6IFwibWluVG9vbHRpcFwiLCBhdHRyczogeyBcImNvbnRyb2xsZWRcIjogX3ZtLnBvaW50ZXJEb3duID09PSAnbWluJywgXCJwbGFjZW1lbnRcIjogXCJ0b3BcIiwgXCJjb250ZW50XCI6IF92bS50aXBGb3JtYXQoX3ZtLmV4cG9ydFZhbHVlWzBdKSwgXCJkaXNhYmxlZFwiOiBfdm0udGlwRGlzYWJsZWQsIFwiYWx3YXlzXCI6IF92bS5zaG93VGlwID09PSAnYWx3YXlzJyB9IH0sIFtfYygnZGl2JywgeyBjbGFzczogX3ZtLm1pbkJ1dHRvbkNsYXNzZXMsIGF0dHJzOiB7IFwidGFiaW5kZXhcIjogXCIwXCIgfSwgb246IHsgXCJmb2N1c1wiOiBmdW5jdGlvbiBmb2N1cygkZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIF92bS5oYW5kbGVGb2N1cygnbWluJyk7XG4gICAgICB9LCBcImJsdXJcIjogZnVuY3Rpb24gYmx1cigkZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIF92bS5oYW5kbGVCbHVyKCdtaW4nKTtcbiAgICAgIH0sIFwia2V5ZG93blwiOiBbZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICBpZiAoISRldmVudC50eXBlLmluZGV4T2YoJ2tleScpICYmIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJsZWZ0XCIsIDM3LCAkZXZlbnQua2V5LCBbXCJMZWZ0XCIsIFwiQXJyb3dMZWZ0XCJdKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9aWYgKCdidXR0b24nIGluICRldmVudCAmJiAkZXZlbnQuYnV0dG9uICE9PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1yZXR1cm4gX3ZtLm9uS2V5TGVmdCgkZXZlbnQsICdtaW4nKTtcbiAgICAgIH0sIGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwiZG93blwiLCA0MCwgJGV2ZW50LmtleSwgW1wiRG93blwiLCBcIkFycm93RG93blwiXSkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfXJldHVybiBfdm0ub25LZXlMZWZ0KCRldmVudCwgJ21pbicpO1xuICAgICAgfSwgZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICBpZiAoISRldmVudC50eXBlLmluZGV4T2YoJ2tleScpICYmIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJyaWdodFwiLCAzOSwgJGV2ZW50LmtleSwgW1wiUmlnaHRcIiwgXCJBcnJvd1JpZ2h0XCJdKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9aWYgKCdidXR0b24nIGluICRldmVudCAmJiAkZXZlbnQuYnV0dG9uICE9PSAyKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1yZXR1cm4gX3ZtLm9uS2V5UmlnaHQoJGV2ZW50LCAnbWluJyk7XG4gICAgICB9LCBmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgIGlmICghJGV2ZW50LnR5cGUuaW5kZXhPZigna2V5JykgJiYgX3ZtLl9rKCRldmVudC5rZXlDb2RlLCBcInVwXCIsIDM4LCAkZXZlbnQua2V5LCBbXCJVcFwiLCBcIkFycm93VXBcIl0pKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1yZXR1cm4gX3ZtLm9uS2V5UmlnaHQoJGV2ZW50LCAnbWluJyk7XG4gICAgICB9XSB9IH0pXSldLCAxKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLnJhbmdlID8gX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1idXR0b24td3JhcCddLCBzdHlsZTogeyBsZWZ0OiBfdm0ubWF4UG9zaXRpb24gKyAnJScgfSwgb246IHsgXCJ0b3VjaHN0YXJ0XCI6IGZ1bmN0aW9uIHRvdWNoc3RhcnQoJGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdm0ub25Qb2ludGVyRG93bigkZXZlbnQsICdtYXgnKTtcbiAgICAgIH0sIFwibW91c2Vkb3duXCI6IGZ1bmN0aW9uIG1vdXNlZG93bigkZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIF92bS5vblBvaW50ZXJEb3duKCRldmVudCwgJ21heCcpO1xuICAgICAgfSB9IH0sIFtfYygnVG9vbHRpcCcsIHsgcmVmOiBcIm1heFRvb2x0aXBcIiwgYXR0cnM6IHsgXCJjb250cm9sbGVkXCI6IF92bS5wb2ludGVyRG93biA9PT0gJ21heCcsIFwicGxhY2VtZW50XCI6IFwidG9wXCIsIFwiY29udGVudFwiOiBfdm0udGlwRm9ybWF0KF92bS5leHBvcnRWYWx1ZVsxXSksIFwiZGlzYWJsZWRcIjogX3ZtLnRpcERpc2FibGVkLCBcImFsd2F5c1wiOiBfdm0uc2hvd1RpcCA9PT0gJ2Fsd2F5cycgfSB9LCBbX2MoJ2RpdicsIHsgY2xhc3M6IF92bS5tYXhCdXR0b25DbGFzc2VzLCBhdHRyczogeyBcInRhYmluZGV4XCI6IFwiMFwiIH0sIG9uOiB7IFwiZm9jdXNcIjogZnVuY3Rpb24gZm9jdXMoJGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdm0uaGFuZGxlRm9jdXMoJ21heCcpO1xuICAgICAgfSwgXCJibHVyXCI6IGZ1bmN0aW9uIGJsdXIoJGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdm0uaGFuZGxlQmx1cignbWF4Jyk7XG4gICAgICB9LCBcImtleWRvd25cIjogW2Z1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwibGVmdFwiLCAzNywgJGV2ZW50LmtleSwgW1wiTGVmdFwiLCBcIkFycm93TGVmdFwiXSkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfWlmICgnYnV0dG9uJyBpbiAkZXZlbnQgJiYgJGV2ZW50LmJ1dHRvbiAhPT0gMCkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5vbktleUxlZnQoJGV2ZW50LCAnbWF4Jyk7XG4gICAgICB9LCBmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgIGlmICghJGV2ZW50LnR5cGUuaW5kZXhPZigna2V5JykgJiYgX3ZtLl9rKCRldmVudC5rZXlDb2RlLCBcImRvd25cIiwgNDAsICRldmVudC5rZXksIFtcIkRvd25cIiwgXCJBcnJvd0Rvd25cIl0pKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1yZXR1cm4gX3ZtLm9uS2V5TGVmdCgkZXZlbnQsICdtYXgnKTtcbiAgICAgIH0sIGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwicmlnaHRcIiwgMzksICRldmVudC5rZXksIFtcIlJpZ2h0XCIsIFwiQXJyb3dSaWdodFwiXSkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfWlmICgnYnV0dG9uJyBpbiAkZXZlbnQgJiYgJGV2ZW50LmJ1dHRvbiAhPT0gMikge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5vbktleVJpZ2h0KCRldmVudCwgJ21heCcpO1xuICAgICAgfSwgZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICBpZiAoISRldmVudC50eXBlLmluZGV4T2YoJ2tleScpICYmIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJ1cFwiLCAzOCwgJGV2ZW50LmtleSwgW1wiVXBcIiwgXCJBcnJvd1VwXCJdKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9cmV0dXJuIF92bS5vbktleVJpZ2h0KCRldmVudCwgJ21heCcpO1xuICAgICAgfV0gfSB9KV0pXSwgMSkgOiBfdm0uX2UoKV0sIDIpXSwgMSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA1NTEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF9zcGluID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1NTIpO1xuXG52YXIgX3NwaW4yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc3Bpbik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBzcGluSW5zdGFuY2UgPSB2b2lkIDA7XG5cbmZ1bmN0aW9uIGdldFNwaW5JbnN0YW5jZSgpIHtcbiAgICB2YXIgcmVuZGVyID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB1bmRlZmluZWQ7XG5cbiAgICBzcGluSW5zdGFuY2UgPSBzcGluSW5zdGFuY2UgfHwgX3NwaW4yLmRlZmF1bHQubmV3SW5zdGFuY2Uoe1xuICAgICAgICByZW5kZXI6IHJlbmRlclxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHNwaW5JbnN0YW5jZTtcbn1cblxuZnVuY3Rpb24gbG9hZGluZyhvcHRpb25zKSB7XG4gICAgdmFyIHJlbmRlciA9ICdyZW5kZXInIGluIG9wdGlvbnMgPyBvcHRpb25zLnJlbmRlciA6IHVuZGVmaW5lZDtcbiAgICB2YXIgaW5zdGFuY2UgPSBnZXRTcGluSW5zdGFuY2UocmVuZGVyKTtcblxuICAgIGluc3RhbmNlLnNob3cob3B0aW9ucyk7XG59XG5cbl9zcGluMi5kZWZhdWx0LnNob3cgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHByb3BzID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcblxuICAgIHJldHVybiBsb2FkaW5nKHByb3BzKTtcbn07XG5fc3BpbjIuZGVmYXVsdC5oaWRlID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICBpZiAoIXNwaW5JbnN0YW5jZSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgdmFyIGluc3RhbmNlID0gZ2V0U3Bpbkluc3RhbmNlKCk7XG5cbiAgICBpbnN0YW5jZS5yZW1vdmUoZnVuY3Rpb24gKCkge1xuICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICBzcGluSW5zdGFuY2UgPSBudWxsO1xuICAgIH0uYmluZCh0aGlzKSk7XG59O1xuXG5leHBvcnRzLmRlZmF1bHQgPSBfc3BpbjIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiA1NTIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2Fzc2lnbiA9IF9fd2VicGFja19yZXF1aXJlX18oMTQpO1xuXG52YXIgX2Fzc2lnbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hc3NpZ24pO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF92dWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE1KTtcblxudmFyIF92dWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdnVlKTtcblxudmFyIF9zcGluID0gX193ZWJwYWNrX3JlcXVpcmVfXyg4MSk7XG5cbnZhciBfc3BpbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zcGluKTtcblxudmFyIF90cmFuc2ZlclF1ZXVlID0gX193ZWJwYWNrX3JlcXVpcmVfXygzNCk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIGhhbmRsZUdldEluZGV4KCkge1xuICAgICgwLCBfdHJhbnNmZXJRdWV1ZS50cmFuc2ZlckluY3JlYXNlKSgpO1xuICAgIHJldHVybiBfdHJhbnNmZXJRdWV1ZS50cmFuc2ZlckluZGV4O1xufVxuXG52YXIgdEluZGV4ID0gaGFuZGxlR2V0SW5kZXgoKTtcblxuX3NwaW4yLmRlZmF1bHQubmV3SW5zdGFuY2UgPSBmdW5jdGlvbiAocHJvcGVydGllcykge1xuICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuXG4gICAgdmFyIF9wcm9wcyA9IHByb3BlcnRpZXMgfHwge307XG5cbiAgICB2YXIgSW5zdGFuY2UgPSBuZXcgX3Z1ZTIuZGVmYXVsdCh7XG4gICAgICAgIGRhdGE6ICgwLCBfYXNzaWduMi5kZWZhdWx0KSh7fSwgX3Byb3BzLCB7fSksXG4gICAgICAgIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgpIHtcbiAgICAgICAgICAgIHZhciB2bm9kZSA9ICcnO1xuICAgICAgICAgICAgaWYgKHRoaXMucmVuZGVyKSB7XG4gICAgICAgICAgICAgICAgdm5vZGUgPSBoKF9zcGluMi5kZWZhdWx0LCB7XG4gICAgICAgICAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaXg6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBmdWxsc2NyZWVuOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCBbdGhpcy5yZW5kZXIoaCldKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdm5vZGUgPSBoKF9zcGluMi5kZWZhdWx0LCB7XG4gICAgICAgICAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplOiAnbGFyZ2UnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZml4OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZnVsbHNjcmVlbjogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaCgnZGl2Jywge1xuICAgICAgICAgICAgICAgICdjbGFzcyc6ICdpdnUtc3Bpbi1mdWxsc2NyZWVuIGl2dS1zcGluLWZ1bGxzY3JlZW4td3JhcHBlcicsXG4gICAgICAgICAgICAgICAgJ3N0eWxlJzoge1xuICAgICAgICAgICAgICAgICAgICAnei1pbmRleCc6IDIwMTAgKyB0SW5kZXhcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBbdm5vZGVdKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgdmFyIGNvbXBvbmVudCA9IEluc3RhbmNlLiRtb3VudCgpO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29tcG9uZW50LiRlbCk7XG4gICAgdmFyIHNwaW4gPSBJbnN0YW5jZS4kY2hpbGRyZW5bMF07XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBzaG93OiBmdW5jdGlvbiBzaG93KCkge1xuICAgICAgICAgICAgc3Bpbi52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRJbmRleCA9IGhhbmRsZUdldEluZGV4KCk7XG4gICAgICAgIH0sXG4gICAgICAgIHJlbW92ZTogZnVuY3Rpb24gcmVtb3ZlKGNiKSB7XG4gICAgICAgICAgICBzcGluLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHNwaW4uJHBhcmVudC4kZGVzdHJveSgpO1xuICAgICAgICAgICAgICAgIGlmIChkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdpdnUtc3Bpbi1mdWxsc2NyZWVuJylbMF0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2l2dS1zcGluLWZ1bGxzY3JlZW4nKVswXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNiKCk7XG4gICAgICAgICAgICB9LCA1MDApO1xuICAgICAgICB9LFxuXG4gICAgICAgIGNvbXBvbmVudDogc3BpblxuICAgIH07XG59LmJpbmQodW5kZWZpbmVkKTtcblxuZXhwb3J0cy5kZWZhdWx0ID0gX3NwaW4yLmRlZmF1bHQ7XG5cbi8qKiovIH0pLFxuLyogNTUzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfc3RlcHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU1NCk7XG5cbnZhciBfc3RlcHMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc3RlcHMpO1xuXG52YXIgX3N0ZXAgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU1Nik7XG5cbnZhciBfc3RlcDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zdGVwKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuX3N0ZXBzMi5kZWZhdWx0LlN0ZXAgPSBfc3RlcDIuZGVmYXVsdDtcbmV4cG9ydHMuZGVmYXVsdCA9IF9zdGVwczIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiA1NTQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc3RlcHNfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIyMSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc3RlcHNfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zdGVwc192dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3N0ZXBzX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zdGVwc192dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zNDliMGQ1M19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3N0ZXBzX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1NTUpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzM0OWIwZDUzX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfc3RlcHNfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zNDliMGQ1M19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3N0ZXBzX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3N0ZXBzX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMzQ5YjBkNTNfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9zdGVwc192dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMzQ5YjBkNTNfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9zdGVwc192dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogNTU1ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBjbGFzczogX3ZtLmNsYXNzZXMgfSwgW192bS5fdChcImRlZmF1bHRcIildLCAyKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDU1NiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zdGVwX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMjIpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3N0ZXBfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zdGVwX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc3RlcF92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfc3RlcF92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wMGY3NWFkNF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3N0ZXBfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU1Nyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMDBmNzVhZDRfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9zdGVwX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMDBmNzVhZDRfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9zdGVwX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3N0ZXBfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wMGY3NWFkNF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3N0ZXBfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzAwZjc1YWQ0X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfc3RlcF92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogNTU3ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBjbGFzczogX3ZtLndyYXBDbGFzc2VzLCBzdHlsZTogX3ZtLnN0eWxlcyB9LCBbX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy10YWlsJ10gfSwgW19jKCdpJyldKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1oZWFkJ10gfSwgW19jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctaGVhZC1pbm5lciddIH0sIFshX3ZtLmljb24gJiYgX3ZtLmN1cnJlbnRTdGF0dXMgIT0gJ2ZpbmlzaCcgJiYgX3ZtLmN1cnJlbnRTdGF0dXMgIT0gJ2Vycm9yJyA/IF9jKCdzcGFuJywgW192bS5fdihfdm0uX3MoX3ZtLnN0ZXBOdW1iZXIpKV0pIDogX2MoJ3NwYW4nLCB7IGNsYXNzOiBfdm0uaWNvbkNsYXNzZXMgfSldKV0pLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLW1haW4nXSB9LCBbX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy10aXRsZSddIH0sIFtfdm0uX3YoX3ZtLl9zKF92bS50aXRsZSkpXSksIF92bS5fdihcIiBcIiksIF92bS5fdChcImRlZmF1bHRcIiwgW192bS5jb250ZW50ID8gX2MoJ2RpdicsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1jb250ZW50J10gfSwgW192bS5fdihfdm0uX3MoX3ZtLmNvbnRlbnQpKV0pIDogX3ZtLl9lKCldKV0sIDIpXSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA1NTggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9zd2l0Y2ggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU1OSk7XG5cbnZhciBfc3dpdGNoMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3N3aXRjaCk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IF9zd2l0Y2gyLmRlZmF1bHQ7XG5cbi8qKiovIH0pLFxuLyogNTU5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3N3aXRjaF92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjIzKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zd2l0Y2hfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zd2l0Y2hfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zd2l0Y2hfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3N3aXRjaF92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81YjQwMTRlMV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3N3aXRjaF92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNTYwKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81YjQwMTRlMV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3N3aXRjaF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzViNDAxNGUxX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfc3dpdGNoX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3N3aXRjaF92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzViNDAxNGUxX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfc3dpdGNoX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81YjQwMTRlMV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3N3aXRjaF92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogNTYwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnc3BhbicsIHsgY2xhc3M6IF92bS53cmFwQ2xhc3Nlcywgc3R5bGU6IF92bS53cmFwU3R5bGVzLCBhdHRyczogeyBcInRhYmluZGV4XCI6IFwiMFwiIH0sIG9uOiB7IFwiY2xpY2tcIjogX3ZtLnRvZ2dsZSwgXCJrZXlkb3duXCI6IGZ1bmN0aW9uIGtleWRvd24oJGV2ZW50KSB7XG4gICAgICAgIGlmICghJGV2ZW50LnR5cGUuaW5kZXhPZigna2V5JykgJiYgX3ZtLl9rKCRldmVudC5rZXlDb2RlLCBcInNwYWNlXCIsIDMyLCAkZXZlbnQua2V5LCBbXCIgXCIsIFwiU3BhY2ViYXJcIl0pKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1yZXR1cm4gX3ZtLnRvZ2dsZSgkZXZlbnQpO1xuICAgICAgfSB9IH0sIFtfYygnaW5wdXQnLCB7IGF0dHJzOiB7IFwidHlwZVwiOiBcImhpZGRlblwiLCBcIm5hbWVcIjogX3ZtLm5hbWUgfSwgZG9tUHJvcHM6IHsgXCJ2YWx1ZVwiOiBfdm0uY3VycmVudFZhbHVlIH0gfSksIF92bS5fdihcIiBcIiksIF9jKCdzcGFuJywgeyBjbGFzczogX3ZtLmlubmVyQ2xhc3NlcyB9LCBbX3ZtLmN1cnJlbnRWYWx1ZSA9PT0gX3ZtLnRydWVWYWx1ZSA/IF92bS5fdChcIm9wZW5cIikgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLmN1cnJlbnRWYWx1ZSA9PT0gX3ZtLmZhbHNlVmFsdWUgPyBfdm0uX3QoXCJjbG9zZVwiKSA6IF92bS5fZSgpXSwgMildKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDU2MSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX3RhYmxlID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1NjIpO1xuXG52YXIgX3RhYmxlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RhYmxlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0gX3RhYmxlMi5kZWZhdWx0O1xuXG4vKioqLyB9KSxcbi8qIDU2MiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90YWJsZV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjI0KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90YWJsZV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RhYmxlX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGFibGVfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RhYmxlX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzNjNmQxMjBlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGFibGVfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU3Nik7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfM2M2ZDEyMGVfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90YWJsZV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzNjNmQxMjBlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGFibGVfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGFibGVfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zYzZkMTIwZV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RhYmxlX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zYzZkMTIwZV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RhYmxlX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA1NjMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGFibGVfaGVhZF92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjI1KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90YWJsZV9oZWFkX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGFibGVfaGVhZF92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RhYmxlX2hlYWRfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RhYmxlX2hlYWRfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNDM2MTRlNWRfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90YWJsZV9oZWFkX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1NjUpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzQzNjE0ZTVkX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGFibGVfaGVhZF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzQzNjE0ZTVkX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGFibGVfaGVhZF92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90YWJsZV9oZWFkX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNDM2MTRlNWRfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90YWJsZV9oZWFkX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl80MzYxNGU1ZF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RhYmxlX2hlYWRfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDU2NCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTogJ1RhYmxlUmVuZGVySGVhZGVyJyxcbiAgICBmdW5jdGlvbmFsOiB0cnVlLFxuICAgIHByb3BzOiB7XG4gICAgICAgIHJlbmRlcjogRnVuY3Rpb24sXG4gICAgICAgIGNvbHVtbjogT2JqZWN0LFxuICAgICAgICBpbmRleDogTnVtYmVyXG4gICAgfSxcbiAgICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoLCBjdHgpIHtcbiAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG5cbiAgICAgICAgdmFyIHBhcmFtcyA9IHtcbiAgICAgICAgICAgIGNvbHVtbjogY3R4LnByb3BzLmNvbHVtbixcbiAgICAgICAgICAgIGluZGV4OiBjdHgucHJvcHMuaW5kZXhcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIGN0eC5wcm9wcy5yZW5kZXIoaCwgcGFyYW1zKTtcbiAgICB9LmJpbmQodW5kZWZpbmVkKVxufTtcblxuLyoqKi8gfSksXG4vKiA1NjUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCd0YWJsZScsIHsgc3R5bGU6IF92bS5zdHlsZXMsIGF0dHJzOiB7IFwiY2VsbHNwYWNpbmdcIjogXCIwXCIsIFwiY2VsbHBhZGRpbmdcIjogXCIwXCIsIFwiYm9yZGVyXCI6IFwiMFwiIH0gfSwgW19jKCdjb2xncm91cCcsIFtfdm0uX2woX3ZtLmNvbHVtbnMsIGZ1bmN0aW9uIChjb2x1bW4sIGluZGV4KSB7XG4gICAgcmV0dXJuIF9jKCdjb2wnLCB7IGF0dHJzOiB7IFwid2lkdGhcIjogX3ZtLnNldENlbGxXaWR0aChjb2x1bW4pIH0gfSk7XG4gIH0pLCBfdm0uX3YoXCIgXCIpLCBfdm0uJHBhcmVudC5zaG93VmVydGljYWxTY3JvbGxCYXIgPyBfYygnY29sJywgeyBhdHRyczogeyBcIndpZHRoXCI6IF92bS4kcGFyZW50LnNjcm9sbEJhcldpZHRoIH0gfSkgOiBfdm0uX2UoKV0sIDIpLCBfdm0uX3YoXCIgXCIpLCBfYygndGhlYWQnLCBfdm0uX2woX3ZtLmhlYWRSb3dzLCBmdW5jdGlvbiAoY29scywgcm93SW5kZXgpIHtcbiAgICByZXR1cm4gX2MoJ3RyJywgW192bS5fbChjb2xzLCBmdW5jdGlvbiAoY29sdW1uLCBpbmRleCkge1xuICAgICAgcmV0dXJuIF9jKCd0aCcsIHsgY2xhc3M6IF92bS5hbGlnbkNscyhjb2x1bW4pLCBhdHRyczogeyBcImNvbHNwYW5cIjogY29sdW1uLmNvbFNwYW4sIFwicm93c3BhblwiOiBjb2x1bW4ucm93U3BhbiB9IH0sIFtfYygnZGl2JywgeyBjbGFzczogX3ZtLmNlbGxDbGFzc2VzKGNvbHVtbikgfSwgW2NvbHVtbi50eXBlID09PSAnZXhwYW5kJyA/IFshY29sdW1uLnJlbmRlckhlYWRlciA/IF9jKCdzcGFuJywgW192bS5fdihfdm0uX3MoY29sdW1uLnRpdGxlIHx8ICcnKSldKSA6IF9jKCdyZW5kZXItaGVhZGVyJywgeyBhdHRyczogeyBcInJlbmRlclwiOiBjb2x1bW4ucmVuZGVySGVhZGVyLCBcImNvbHVtblwiOiBjb2x1bW4sIFwiaW5kZXhcIjogaW5kZXggfSB9KV0gOiBjb2x1bW4udHlwZSA9PT0gJ3NlbGVjdGlvbicgPyBbX2MoJ0NoZWNrYm94JywgeyBhdHRyczogeyBcInZhbHVlXCI6IF92bS5pc1NlbGVjdEFsbCwgXCJkaXNhYmxlZFwiOiBfdm0uaXNTZWxlY3REaXNhYmxlZCB9LCBvbjogeyBcIm9uLWNoYW5nZVwiOiBfdm0uc2VsZWN0QWxsIH0gfSldIDogWyFjb2x1bW4ucmVuZGVySGVhZGVyID8gX2MoJ3NwYW4nLCB7IGNsYXNzOiAoX29iaiA9IHt9LCBfb2JqW192bS5wcmVmaXhDbHMgKyAnLWNlbGwtc29ydCddID0gY29sdW1uLnNvcnRhYmxlLCBfb2JqKSwgb246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgICAgIF92bS5oYW5kbGVTb3J0QnlIZWFkKF92bS5nZXRDb2x1bW4ocm93SW5kZXgsIGluZGV4KS5faW5kZXgpO1xuICAgICAgICAgIH0gfSB9LCBbX3ZtLl92KF92bS5fcyhjb2x1bW4udGl0bGUgfHwgJyMnKSldKSA6IF9jKCdyZW5kZXItaGVhZGVyJywgeyBhdHRyczogeyBcInJlbmRlclwiOiBjb2x1bW4ucmVuZGVySGVhZGVyLCBcImNvbHVtblwiOiBjb2x1bW4sIFwiaW5kZXhcIjogaW5kZXggfSB9KSwgX3ZtLl92KFwiIFwiKSwgY29sdW1uLnNvcnRhYmxlID8gX2MoJ3NwYW4nLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctc29ydCddIH0sIFtfYygnaScsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWljb24gaXZ1LWljb24tbWQtYXJyb3ctZHJvcHVwXCIsIGNsYXNzOiB7IG9uOiBfdm0uZ2V0Q29sdW1uKHJvd0luZGV4LCBpbmRleCkuX3NvcnRUeXBlID09PSAnYXNjJyB9LCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICAgICAgX3ZtLmhhbmRsZVNvcnQoX3ZtLmdldENvbHVtbihyb3dJbmRleCwgaW5kZXgpLl9pbmRleCwgJ2FzYycpO1xuICAgICAgICAgIH0gfSB9KSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2knLCB7IHN0YXRpY0NsYXNzOiBcIml2dS1pY29uIGl2dS1pY29uLW1kLWFycm93LWRyb3Bkb3duXCIsIGNsYXNzOiB7IG9uOiBfdm0uZ2V0Q29sdW1uKHJvd0luZGV4LCBpbmRleCkuX3NvcnRUeXBlID09PSAnZGVzYycgfSwgb246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgICAgIF92bS5oYW5kbGVTb3J0KF92bS5nZXRDb2x1bW4ocm93SW5kZXgsIGluZGV4KS5faW5kZXgsICdkZXNjJyk7XG4gICAgICAgICAgfSB9IH0pXSkgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLmlzUG9wcGVyU2hvdyhjb2x1bW4pID8gX2MoJ1BvcHRpcCcsIHsgYXR0cnM6IHsgXCJwbGFjZW1lbnRcIjogXCJib3R0b21cIiwgXCJwb3BwZXItY2xhc3NcIjogXCJpdnUtdGFibGUtcG9wcGVyXCIsIFwidHJhbnNmZXJcIjogXCJcIiB9LCBvbjogeyBcIm9uLXBvcHBlci1oaWRlXCI6IGZ1bmN0aW9uIG9uUG9wcGVySGlkZSgkZXZlbnQpIHtcbiAgICAgICAgICAgIF92bS5oYW5kbGVGaWx0ZXJIaWRlKF92bS5nZXRDb2x1bW4ocm93SW5kZXgsIGluZGV4KS5faW5kZXgpO1xuICAgICAgICAgIH0gfSwgbW9kZWw6IHsgdmFsdWU6IF92bS5nZXRDb2x1bW4ocm93SW5kZXgsIGluZGV4KS5fZmlsdGVyVmlzaWJsZSwgY2FsbGJhY2s6IGZ1bmN0aW9uIGNhbGxiYWNrKCQkdikge1xuICAgICAgICAgICAgX3ZtLiRzZXQoX3ZtLmdldENvbHVtbihyb3dJbmRleCwgaW5kZXgpLCBcIl9maWx0ZXJWaXNpYmxlXCIsICQkdik7XG4gICAgICAgICAgfSwgZXhwcmVzc2lvbjogXCJnZXRDb2x1bW4ocm93SW5kZXgsIGluZGV4KS5fZmlsdGVyVmlzaWJsZVwiIH0gfSwgW19jKCdzcGFuJywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWZpbHRlciddIH0sIFtfYygnaScsIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWljb24gaXZ1LWljb24taW9zLWZ1bm5lbFwiLCBjbGFzczogeyBvbjogX3ZtLmdldENvbHVtbihyb3dJbmRleCwgaW5kZXgpLl9pc0ZpbHRlcmVkIH0gfSldKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLmdldENvbHVtbihyb3dJbmRleCwgaW5kZXgpLl9maWx0ZXJNdWx0aXBsZSA/IF9jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctZmlsdGVyLWxpc3QnXSwgYXR0cnM6IHsgXCJzbG90XCI6IFwiY29udGVudFwiIH0sIHNsb3Q6IFwiY29udGVudFwiIH0sIFtfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWZpbHRlci1saXN0LWl0ZW0nXSB9LCBbX2MoJ2NoZWNrYm94LWdyb3VwJywgeyBtb2RlbDogeyB2YWx1ZTogX3ZtLmdldENvbHVtbihyb3dJbmRleCwgaW5kZXgpLl9maWx0ZXJDaGVja2VkLCBjYWxsYmFjazogZnVuY3Rpb24gY2FsbGJhY2soJCR2KSB7XG4gICAgICAgICAgICBfdm0uJHNldChfdm0uZ2V0Q29sdW1uKHJvd0luZGV4LCBpbmRleCksIFwiX2ZpbHRlckNoZWNrZWRcIiwgJCR2KTtcbiAgICAgICAgICB9LCBleHByZXNzaW9uOiBcImdldENvbHVtbihyb3dJbmRleCwgaW5kZXgpLl9maWx0ZXJDaGVja2VkXCIgfSB9LCBfdm0uX2woY29sdW1uLmZpbHRlcnMsIGZ1bmN0aW9uIChpdGVtLCBpbmRleCkge1xuICAgICAgICByZXR1cm4gX2MoJ2NoZWNrYm94JywgeyBrZXk6IGluZGV4LCBhdHRyczogeyBcImxhYmVsXCI6IGl0ZW0udmFsdWUgfSB9LCBbX3ZtLl92KF92bS5fcyhpdGVtLmxhYmVsKSldKTtcbiAgICAgIH0pLCAxKV0sIDEpLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWZpbHRlci1mb290ZXInXSB9LCBbX2MoJ2ktYnV0dG9uJywgeyBhdHRyczogeyBcInR5cGVcIjogXCJ0ZXh0XCIsIFwic2l6ZVwiOiBcInNtYWxsXCIsIFwiZGlzYWJsZWRcIjogIV92bS5nZXRDb2x1bW4ocm93SW5kZXgsIGluZGV4KS5fZmlsdGVyQ2hlY2tlZC5sZW5ndGggfSwgbmF0aXZlT246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgICAgIF92bS5oYW5kbGVGaWx0ZXIoX3ZtLmdldENvbHVtbihyb3dJbmRleCwgaW5kZXgpLl9pbmRleCk7XG4gICAgICAgICAgfSB9IH0sIFtfdm0uX3YoX3ZtLl9zKF92bS50KCdpLnRhYmxlLmNvbmZpcm1GaWx0ZXInKSkpXSksIF92bS5fdihcIiBcIiksIF9jKCdpLWJ1dHRvbicsIHsgYXR0cnM6IHsgXCJ0eXBlXCI6IFwidGV4dFwiLCBcInNpemVcIjogXCJzbWFsbFwiIH0sIG5hdGl2ZU9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgICAgICBfdm0uaGFuZGxlUmVzZXQoX3ZtLmdldENvbHVtbihyb3dJbmRleCwgaW5kZXgpLl9pbmRleCk7XG4gICAgICAgICAgfSB9IH0sIFtfdm0uX3YoX3ZtLl9zKF92bS50KCdpLnRhYmxlLnJlc2V0RmlsdGVyJykpKV0pXSwgMSldKSA6IF9jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctZmlsdGVyLWxpc3QnXSwgYXR0cnM6IHsgXCJzbG90XCI6IFwiY29udGVudFwiIH0sIHNsb3Q6IFwiY29udGVudFwiIH0sIFtfYygndWwnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctZmlsdGVyLWxpc3Qtc2luZ2xlJ10gfSwgW19jKCdsaScsIHsgY2xhc3M6IF92bS5pdGVtQWxsQ2xhc3Nlcyhfdm0uZ2V0Q29sdW1uKHJvd0luZGV4LCBpbmRleCkpLCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICAgICAgX3ZtLmhhbmRsZVJlc2V0KF92bS5nZXRDb2x1bW4ocm93SW5kZXgsIGluZGV4KS5faW5kZXgpO1xuICAgICAgICAgIH0gfSB9LCBbX3ZtLl92KF92bS5fcyhfdm0udCgnaS50YWJsZS5jbGVhckZpbHRlcicpKSldKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLl9sKGNvbHVtbi5maWx0ZXJzLCBmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICByZXR1cm4gX2MoJ2xpJywgeyBjbGFzczogX3ZtLml0ZW1DbGFzc2VzKF92bS5nZXRDb2x1bW4ocm93SW5kZXgsIGluZGV4KSwgaXRlbSksIG9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgICAgICAgIF92bS5oYW5kbGVTZWxlY3QoX3ZtLmdldENvbHVtbihyb3dJbmRleCwgaW5kZXgpLl9pbmRleCwgaXRlbS52YWx1ZSk7XG4gICAgICAgICAgICB9IH0gfSwgW192bS5fdihfdm0uX3MoaXRlbS5sYWJlbCkpXSk7XG4gICAgICB9KV0sIDIpXSldKSA6IF92bS5fZSgpXV0sIDIpXSk7XG4gICAgICB2YXIgX29iajtcbiAgICB9KSwgX3ZtLl92KFwiIFwiKSwgX3ZtLiRwYXJlbnQuc2hvd1ZlcnRpY2FsU2Nyb2xsQmFyICYmIHJvd0luZGV4ID09PSAwID8gX2MoJ3RoJywgeyBjbGFzczogX3ZtLnNjcm9sbEJhckNlbGxDbGFzcygpLCBhdHRyczogeyBcInJvd3NwYW5cIjogX3ZtLmhlYWRSb3dzLmxlbmd0aCB9IH0pIDogX3ZtLl9lKCldLCAyKTtcbiAgfSksIDApXSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA1NjYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGFibGVfYm9keV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjI3KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90YWJsZV9ib2R5X3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGFibGVfYm9keV92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RhYmxlX2JvZHlfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RhYmxlX2JvZHlfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNGYyNTcwYTZfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90YWJsZV9ib2R5X3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1NzIpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzRmMjU3MGE2X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGFibGVfYm9keV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzRmMjU3MGE2X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGFibGVfYm9keV92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90YWJsZV9ib2R5X3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNGYyNTcwYTZfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90YWJsZV9ib2R5X3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl80ZjI1NzBhNl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RhYmxlX2JvZHlfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDU2NyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90YWJsZV90cl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjI4KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90YWJsZV90cl92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RhYmxlX3RyX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGFibGVfdHJfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RhYmxlX3RyX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzY0YzE0ZmMyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGFibGVfdHJfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU2OCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNjRjMTRmYzJfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90YWJsZV90cl92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzY0YzE0ZmMyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGFibGVfdHJfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGFibGVfdHJfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl82NGMxNGZjMl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RhYmxlX3RyX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl82NGMxNGZjMl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RhYmxlX3RyX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA1NjggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF92bS5kcmFnZ2FibGUgPyBfYygndHInLCB7IGNsYXNzOiBfdm0ucm93Q2xhc3Nlcyhfdm0ucm93Ll9pbmRleCksIGF0dHJzOiB7IFwiZHJhZ2dhYmxlXCI6IF92bS5kcmFnZ2FibGUgfSwgb246IHsgXCJkcmFnc3RhcnRcIjogZnVuY3Rpb24gZHJhZ3N0YXJ0KCRldmVudCkge1xuICAgICAgICByZXR1cm4gX3ZtLm9uRHJhZygkZXZlbnQsIF92bS5yb3cuX2luZGV4KTtcbiAgICAgIH0sIFwiZHJvcFwiOiBmdW5jdGlvbiBkcm9wKCRldmVudCkge1xuICAgICAgICByZXR1cm4gX3ZtLm9uRHJvcCgkZXZlbnQsIF92bS5yb3cuX2luZGV4KTtcbiAgICAgIH0sIFwiZHJhZ292ZXJcIjogZnVuY3Rpb24gZHJhZ292ZXIoJGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdm0uYWxsb3dEcm9wKCRldmVudCk7XG4gICAgICB9IH0gfSwgW192bS5fdChcImRlZmF1bHRcIildLCAyKSA6IF9jKCd0cicsIHsgY2xhc3M6IF92bS5yb3dDbGFzc2VzKF92bS5yb3cuX2luZGV4KSB9LCBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sIDIpO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogNTY5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NlbGxfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIyOSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2VsbF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NlbGxfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jZWxsX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9jZWxsX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzYxODc1NmQyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2VsbF92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNTcxKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl82MTg3NTZkMl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NlbGxfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl82MTg3NTZkMl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2NlbGxfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY2VsbF92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzYxODc1NmQyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY2VsbF92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNjE4NzU2ZDJfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jZWxsX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA1NzAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdUYWJsZVNsb3QnLFxuICAgIGZ1bmN0aW9uYWw6IHRydWUsXG4gICAgaW5qZWN0OiBbJ3RhYmxlUm9vdCddLFxuICAgIHByb3BzOiB7XG4gICAgICAgIHJvdzogT2JqZWN0LFxuICAgICAgICBpbmRleDogTnVtYmVyLFxuICAgICAgICBjb2x1bW46IHtcbiAgICAgICAgICAgIHR5cGU6IE9iamVjdCxcbiAgICAgICAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICAgICAgfVxuICAgIH0sXG4gICAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgY3R4KSB7XG4gICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuXG4gICAgICAgIHJldHVybiBoKCdkaXYnLCBjdHguaW5qZWN0aW9ucy50YWJsZVJvb3QuJHNjb3BlZFNsb3RzW2N0eC5wcm9wcy5jb2x1bW4uc2xvdF0oe1xuICAgICAgICAgICAgcm93OiBjdHgucHJvcHMucm93LFxuICAgICAgICAgICAgY29sdW1uOiBjdHgucHJvcHMuY29sdW1uLFxuICAgICAgICAgICAgaW5kZXg6IGN0eC5wcm9wcy5pbmRleFxuICAgICAgICB9KSk7XG4gICAgfS5iaW5kKHVuZGVmaW5lZClcbn07XG5cbi8qKiovIH0pLFxuLyogNTcxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyByZWY6IFwiY2VsbFwiLCBjbGFzczogX3ZtLmNsYXNzZXMgfSwgW192bS5yZW5kZXJUeXBlID09PSAnaW5kZXgnID8gW19jKCdzcGFuJywgW192bS5fdihfdm0uX3MoX3ZtLmNvbHVtbi5pbmRleE1ldGhvZCA/IF92bS5jb2x1bW4uaW5kZXhNZXRob2QoX3ZtLnJvdykgOiBfdm0ubmF0dXJhbEluZGV4ICsgMSkpXSldIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF92bS5yZW5kZXJUeXBlID09PSAnc2VsZWN0aW9uJyA/IFtfYygnQ2hlY2tib3gnLCB7IGF0dHJzOiB7IFwidmFsdWVcIjogX3ZtLmNoZWNrZWQsIFwiZGlzYWJsZWRcIjogX3ZtLmRpc2FibGVkIH0sIG9uOiB7IFwib24tY2hhbmdlXCI6IF92bS50b2dnbGVTZWxlY3QgfSwgbmF0aXZlT246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBfdm0uaGFuZGxlQ2xpY2soJGV2ZW50KTtcbiAgICAgIH0gfSB9KV0gOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLnJlbmRlclR5cGUgPT09ICdodG1sJyA/IFtfYygnc3BhbicsIHsgZG9tUHJvcHM6IHsgXCJpbm5lckhUTUxcIjogX3ZtLl9zKF92bS5yb3dbX3ZtLmNvbHVtbi5rZXldKSB9IH0pXSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfdm0ucmVuZGVyVHlwZSA9PT0gJ25vcm1hbCcgPyBbX3ZtLmNvbHVtbi50b29sdGlwID8gW19jKCdUb29sdGlwJywgeyBzdGF0aWNDbGFzczogXCJpdnUtdGFibGUtY2VsbC10b29sdGlwXCIsIGF0dHJzOiB7IFwidHJhbnNmZXJcIjogXCJcIiwgXCJjb250ZW50XCI6IF92bS5yb3dbX3ZtLmNvbHVtbi5rZXldLCBcInRoZW1lXCI6IF92bS50YWJsZVJvb3QudG9vbHRpcFRoZW1lLCBcImRpc2FibGVkXCI6ICFfdm0uc2hvd1Rvb2x0aXAsIFwibWF4LXdpZHRoXCI6IDMwMCB9IH0sIFtfYygnc3BhbicsIHsgcmVmOiBcImNvbnRlbnRcIiwgc3RhdGljQ2xhc3M6IFwiaXZ1LXRhYmxlLWNlbGwtdG9vbHRpcC1jb250ZW50XCIsIG9uOiB7IFwibW91c2VlbnRlclwiOiBfdm0uaGFuZGxlVG9vbHRpcEluLCBcIm1vdXNlbGVhdmVcIjogX3ZtLmhhbmRsZVRvb2x0aXBPdXQgfSB9LCBbX3ZtLl92KF92bS5fcyhfdm0ucm93W192bS5jb2x1bW4ua2V5XSkpXSldKV0gOiBfYygnc3BhbicsIFtfdm0uX3YoX3ZtLl9zKF92bS5yb3dbX3ZtLmNvbHVtbi5rZXldKSldKV0gOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLnJlbmRlclR5cGUgPT09ICdleHBhbmQnICYmICFfdm0ucm93Ll9kaXNhYmxlRXhwYW5kID8gW19jKCdkaXYnLCB7IGNsYXNzOiBfdm0uZXhwYW5kQ2xzLCBvbjogeyBcImNsaWNrXCI6IF92bS50b2dnbGVFeHBhbmQgfSB9LCBbX2MoJ0ljb24nLCB7IGF0dHJzOiB7IFwidHlwZVwiOiBcImlvcy1hcnJvdy1mb3J3YXJkXCIgfSB9KV0sIDEpXSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfdm0ucmVuZGVyVHlwZSA9PT0gJ3JlbmRlcicgPyBfYygndGFibGUtZXhwYW5kJywgeyBhdHRyczogeyBcInJvd1wiOiBfdm0ucm93LCBcImNvbHVtblwiOiBfdm0uY29sdW1uLCBcImluZGV4XCI6IF92bS5pbmRleCwgXCJyZW5kZXJcIjogX3ZtLmNvbHVtbi5yZW5kZXIgfSB9KSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfdm0ucmVuZGVyVHlwZSA9PT0gJ3Nsb3QnID8gX2MoJ3RhYmxlLXNsb3QnLCB7IGF0dHJzOiB7IFwicm93XCI6IF92bS5yb3csIFwiY29sdW1uXCI6IF92bS5jb2x1bW4sIFwiaW5kZXhcIjogX3ZtLmluZGV4IH0gfSkgOiBfdm0uX2UoKV0sIDIpO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogNTcyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygndGFibGUnLCB7IHN0eWxlOiBfdm0uc3R5bGVPYmplY3QsIGF0dHJzOiB7IFwiY2VsbHNwYWNpbmdcIjogXCIwXCIsIFwiY2VsbHBhZGRpbmdcIjogXCIwXCIsIFwiYm9yZGVyXCI6IFwiMFwiIH0gfSwgW19jKCdjb2xncm91cCcsIF92bS5fbChfdm0uY29sdW1ucywgZnVuY3Rpb24gKGNvbHVtbiwgaW5kZXgpIHtcbiAgICByZXR1cm4gX2MoJ2NvbCcsIHsgYXR0cnM6IHsgXCJ3aWR0aFwiOiBfdm0uc2V0Q2VsbFdpZHRoKGNvbHVtbikgfSB9KTtcbiAgfSksIDApLCBfdm0uX3YoXCIgXCIpLCBfYygndGJvZHknLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctdGJvZHknXSB9LCBbX3ZtLl9sKF92bS5kYXRhLCBmdW5jdGlvbiAocm93LCBpbmRleCkge1xuICAgIHJldHVybiBbX2MoJ3RhYmxlLXRyJywgeyBrZXk6IF92bS5yb3dLZXkgPyByb3cuX3Jvd0tleSA6IGluZGV4LCBhdHRyczogeyBcImRyYWdnYWJsZVwiOiBfdm0uZHJhZ2dhYmxlLCBcInJvd1wiOiByb3csIFwicHJlZml4LWNsc1wiOiBfdm0ucHJlZml4Q2xzIH0sIG5hdGl2ZU9uOiB7IFwibW91c2VlbnRlclwiOiBmdW5jdGlvbiBtb3VzZWVudGVyKCRldmVudCkge1xuICAgICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtyZXR1cm4gX3ZtLmhhbmRsZU1vdXNlSW4ocm93Ll9pbmRleCk7XG4gICAgICAgIH0sIFwibW91c2VsZWF2ZVwiOiBmdW5jdGlvbiBtb3VzZWxlYXZlKCRldmVudCkge1xuICAgICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtyZXR1cm4gX3ZtLmhhbmRsZU1vdXNlT3V0KHJvdy5faW5kZXgpO1xuICAgICAgICB9LCBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICAgIHJldHVybiBfdm0uY2xpY2tDdXJyZW50Um93KHJvdy5faW5kZXgpO1xuICAgICAgICB9LCBcImRibGNsaWNrXCI6IGZ1bmN0aW9uIGRibGNsaWNrKCRldmVudCkge1xuICAgICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtyZXR1cm4gX3ZtLmRibGNsaWNrQ3VycmVudFJvdyhyb3cuX2luZGV4KTtcbiAgICAgICAgfSB9IH0sIF92bS5fbChfdm0uY29sdW1ucywgZnVuY3Rpb24gKGNvbHVtbikge1xuICAgICAgcmV0dXJuIF9jKCd0ZCcsIHsgY2xhc3M6IF92bS5hbGlnbkNscyhjb2x1bW4sIHJvdykgfSwgW19jKCd0YWJsZS1jZWxsJywgeyBrZXk6IGNvbHVtbi5fY29sdW1uS2V5LCBhdHRyczogeyBcImZpeGVkXCI6IF92bS5maXhlZCwgXCJwcmVmaXgtY2xzXCI6IF92bS5wcmVmaXhDbHMsIFwicm93XCI6IHJvdywgXCJjb2x1bW5cIjogY29sdW1uLCBcIm5hdHVyYWwtaW5kZXhcIjogaW5kZXgsIFwiaW5kZXhcIjogcm93Ll9pbmRleCwgXCJjaGVja2VkXCI6IF92bS5yb3dDaGVja2VkKHJvdy5faW5kZXgpLCBcImRpc2FibGVkXCI6IF92bS5yb3dEaXNhYmxlZChyb3cuX2luZGV4KSwgXCJleHBhbmRlZFwiOiBfdm0ucm93RXhwYW5kZWQocm93Ll9pbmRleCkgfSB9KV0sIDEpO1xuICAgIH0pLCAwKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLnJvd0V4cGFuZGVkKHJvdy5faW5kZXgpID8gX2MoJ3RyJywgeyBjbGFzczogKF9vYmogPSB7fSwgX29ialtfdm0ucHJlZml4Q2xzICsgJy1leHBhbmRlZC1oaWRkZW4nXSA9IF92bS5maXhlZCwgX29iaikgfSwgW19jKCd0ZCcsIHsgY2xhc3M6IF92bS5wcmVmaXhDbHMgKyAnLWV4cGFuZGVkLWNlbGwnLCBhdHRyczogeyBcImNvbHNwYW5cIjogX3ZtLmNvbHVtbnMubGVuZ3RoIH0gfSwgW19jKCdFeHBhbmQnLCB7IGtleTogX3ZtLnJvd0tleSA/IHJvdy5fcm93S2V5IDogaW5kZXgsIGF0dHJzOiB7IFwicm93XCI6IHJvdywgXCJyZW5kZXJcIjogX3ZtLmV4cGFuZFJlbmRlciwgXCJpbmRleFwiOiByb3cuX2luZGV4IH0gfSldLCAxKV0pIDogX3ZtLl9lKCldO1xuICAgIHZhciBfb2JqO1xuICB9KV0sIDIpXSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA1NzMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2tleXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI1KTtcblxudmFyIF9rZXlzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2tleXMpO1xuXG52YXIgX2Fzc2lnbiA9IF9fd2VicGFja19yZXF1aXJlX18oMTQpO1xuXG52YXIgX2Fzc2lnbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hc3NpZ24pO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxuZXhwb3J0cy5kZWZhdWx0ID0gY3N2O1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgbmV3TGluZSA9ICdcXHJcXG4nO1xudmFyIGFwcGVuZExpbmUgPSBmdW5jdGlvbiAoY29udGVudCwgcm93LCBfcmVmKSB7XG4gICAgdmFyIHNlcGFyYXRvciA9IF9yZWYuc2VwYXJhdG9yLFxuICAgICAgICBxdW90ZWQgPSBfcmVmLnF1b3RlZDtcbiAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcblxuICAgIHZhciBsaW5lID0gcm93Lm1hcChmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcblxuICAgICAgICBpZiAoIXF1b3RlZCkgcmV0dXJuIGRhdGE7XG5cbiAgICAgICAgZGF0YSA9IHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJyA/IGRhdGEucmVwbGFjZSgvXCIvZywgJ1wiJykgOiBkYXRhO1xuICAgICAgICByZXR1cm4gJ1wiJyArIFN0cmluZyhkYXRhKSArICdcIic7XG4gICAgfS5iaW5kKHVuZGVmaW5lZCkpO1xuICAgIGNvbnRlbnQucHVzaChsaW5lLmpvaW4oc2VwYXJhdG9yKSk7XG59LmJpbmQodW5kZWZpbmVkKTtcblxudmFyIGRlZmF1bHRzID0ge1xuICAgIHNlcGFyYXRvcjogJywnLFxuICAgIHF1b3RlZDogZmFsc2Vcbn07XG5cbmZ1bmN0aW9uIGNzdihjb2x1bW5zLCBkYXRhcywgb3B0aW9ucykge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICB2YXIgbm9IZWFkZXIgPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IGZhbHNlO1xuXG4gICAgb3B0aW9ucyA9ICgwLCBfYXNzaWduMi5kZWZhdWx0KSh7fSwgZGVmYXVsdHMsIG9wdGlvbnMpO1xuICAgIHZhciBjb2x1bW5PcmRlciA9IHZvaWQgMDtcbiAgICB2YXIgY29udGVudCA9IFtdO1xuICAgIHZhciBjb2x1bW4gPSBbXTtcblxuICAgIGlmIChjb2x1bW5zKSB7XG4gICAgICAgIGNvbHVtbk9yZGVyID0gY29sdW1ucy5tYXAoZnVuY3Rpb24gKHYpIHtcbiAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuXG4gICAgICAgICAgICBpZiAodHlwZW9mIHYgPT09ICdzdHJpbmcnKSByZXR1cm4gdjtcbiAgICAgICAgICAgIGlmICghbm9IZWFkZXIpIHtcbiAgICAgICAgICAgICAgICBjb2x1bW4ucHVzaCh0eXBlb2Ygdi50aXRsZSAhPT0gJ3VuZGVmaW5lZCcgPyB2LnRpdGxlIDogdi5rZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHYua2V5O1xuICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICBpZiAoY29sdW1uLmxlbmd0aCA+IDApIGFwcGVuZExpbmUoY29udGVudCwgY29sdW1uLCBvcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb2x1bW5PcmRlciA9IFtdO1xuICAgICAgICBkYXRhcy5mb3JFYWNoKGZ1bmN0aW9uICh2KSB7XG4gICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHYpKSB7XG4gICAgICAgICAgICAgICAgY29sdW1uT3JkZXIgPSBjb2x1bW5PcmRlci5jb25jYXQoKDAsIF9rZXlzMi5kZWZhdWx0KSh2KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgIGlmIChjb2x1bW5PcmRlci5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb2x1bW5PcmRlciA9IGNvbHVtbk9yZGVyLmZpbHRlcihmdW5jdGlvbiAodmFsdWUsIGluZGV4LCBzZWxmKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuaW5kZXhPZih2YWx1ZSkgPT09IGluZGV4O1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIGlmICghbm9IZWFkZXIpIGFwcGVuZExpbmUoY29udGVudCwgY29sdW1uT3JkZXIsIG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YXMpKSB7XG4gICAgICAgIGRhdGFzLmZvckVhY2goZnVuY3Rpb24gKHJvdykge1xuICAgICAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh0aGlzLCBfdGhpcyk7XG5cbiAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShyb3cpKSB7XG4gICAgICAgICAgICAgICAgcm93ID0gY29sdW1uT3JkZXIubWFwKGZ1bmN0aW9uIChrKSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHlwZW9mIHJvd1trXSAhPT0gJ3VuZGVmaW5lZCcgPyByb3dba10gOiAnJztcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXBwZW5kTGluZShjb250ZW50LCByb3csIG9wdGlvbnMpO1xuICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgIH1cbiAgICByZXR1cm4gY29udGVudC5qb2luKG5ld0xpbmUpO1xufVxuXG4vKioqLyB9KSxcbi8qIDU3NCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5mdW5jdGlvbiBoYXMoYnJvd3Nlcikge1xuICAgIHZhciB1YSA9IG5hdmlnYXRvci51c2VyQWdlbnQ7XG4gICAgaWYgKGJyb3dzZXIgPT09ICdpZScpIHtcbiAgICAgICAgdmFyIGlzSUUgPSB1YS5pbmRleE9mKCdjb21wYXRpYmxlJykgPiAtMSAmJiB1YS5pbmRleE9mKCdNU0lFJykgPiAtMTtcbiAgICAgICAgaWYgKGlzSUUpIHtcbiAgICAgICAgICAgIHZhciByZUlFID0gbmV3IFJlZ0V4cCgnTVNJRSAoXFxcXGQrXFxcXC5cXFxcZCspOycpO1xuICAgICAgICAgICAgcmVJRS50ZXN0KHVhKTtcbiAgICAgICAgICAgIHJldHVybiBwYXJzZUZsb2F0KFJlZ0V4cFsnJDEnXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdWEuaW5kZXhPZihicm93c2VyKSA+IC0xO1xuICAgIH1cbn1cblxudmFyIGNzdiA9IHtcbiAgICBfaXNJRTExOiBmdW5jdGlvbiBfaXNJRTExKCkge1xuICAgICAgICB2YXIgaWV2ID0gMDtcbiAgICAgICAgdmFyIGllb2xkID0gL01TSUUgKFxcZCtcXC5cXGQrKTsvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG4gICAgICAgIHZhciB0cmlkZW50ID0gISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9UcmlkZW50XFwvNy4wLyk7XG4gICAgICAgIHZhciBydiA9IG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigncnY6MTEuMCcpO1xuXG4gICAgICAgIGlmIChpZW9sZCkge1xuICAgICAgICAgICAgaWV2ID0gTnVtYmVyKFJlZ0V4cC4kMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5hdmlnYXRvci5hcHBWZXJzaW9uLmluZGV4T2YoJ01TSUUgMTAnKSAhPT0gLTEpIHtcbiAgICAgICAgICAgIGlldiA9IDEwO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0cmlkZW50ICYmIHJ2ICE9PSAtMSkge1xuICAgICAgICAgICAgaWV2ID0gMTE7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaWV2ID09PSAxMTtcbiAgICB9LFxuICAgIF9pc0VkZ2U6IGZ1bmN0aW9uIF9pc0VkZ2UoKSB7XG4gICAgICAgIHJldHVybiAoL0VkZ2UvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudClcbiAgICAgICAgKTtcbiAgICB9LFxuICAgIF9nZXREb3dubG9hZFVybDogZnVuY3Rpb24gX2dldERvd25sb2FkVXJsKHRleHQpIHtcbiAgICAgICAgdmFyIEJPTSA9ICdcXHVGRUZGJztcblxuICAgICAgICBpZiAod2luZG93LkJsb2IgJiYgd2luZG93LlVSTCAmJiB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTCkge1xuICAgICAgICAgICAgdmFyIGNzdkRhdGEgPSBuZXcgQmxvYihbQk9NICsgdGV4dF0sIHsgdHlwZTogJ3RleHQvY3N2JyB9KTtcbiAgICAgICAgICAgIHJldHVybiBVUkwuY3JlYXRlT2JqZWN0VVJMKGNzdkRhdGEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICdkYXRhOmF0dGFjaG1lbnQvY3N2O2NoYXJzZXQ9dXRmLTgsJyArIEJPTSArIGVuY29kZVVSSUNvbXBvbmVudCh0ZXh0KTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZG93bmxvYWQ6IGZ1bmN0aW9uIGRvd25sb2FkKGZpbGVuYW1lLCB0ZXh0KSB7XG4gICAgICAgIGlmIChoYXMoJ2llJykgJiYgaGFzKCdpZScpIDwgMTApIHtcbiAgICAgICAgICAgIHZhciBvV2luID0gd2luZG93LnRvcC5vcGVuKCdhYm91dDpibGFuaycsICdfYmxhbmsnKTtcbiAgICAgICAgICAgIG9XaW4uZG9jdW1lbnQuY2hhcnNldCA9ICd1dGYtOCc7XG4gICAgICAgICAgICBvV2luLmRvY3VtZW50LndyaXRlKHRleHQpO1xuICAgICAgICAgICAgb1dpbi5kb2N1bWVudC5jbG9zZSgpO1xuICAgICAgICAgICAgb1dpbi5kb2N1bWVudC5leGVjQ29tbWFuZCgnU2F2ZUFzJywgZmlsZW5hbWUpO1xuICAgICAgICAgICAgb1dpbi5jbG9zZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKGhhcygnaWUnKSA9PT0gMTAgfHwgdGhpcy5faXNJRTExKCkgfHwgdGhpcy5faXNFZGdlKCkpIHtcbiAgICAgICAgICAgIHZhciBCT00gPSAnXFx1RkVGRic7XG4gICAgICAgICAgICB2YXIgY3N2RGF0YSA9IG5ldyBCbG9iKFtCT00gKyB0ZXh0XSwgeyB0eXBlOiAndGV4dC9jc3YnIH0pO1xuICAgICAgICAgICAgbmF2aWdhdG9yLm1zU2F2ZUJsb2IoY3N2RGF0YSwgZmlsZW5hbWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgICAgICBsaW5rLmRvd25sb2FkID0gZmlsZW5hbWU7XG4gICAgICAgICAgICBsaW5rLmhyZWYgPSB0aGlzLl9nZXREb3dubG9hZFVybCh0ZXh0KTtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XG4gICAgICAgICAgICBsaW5rLmNsaWNrKCk7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuZXhwb3J0cy5kZWZhdWx0ID0gY3N2O1xuXG4vKioqLyB9KSxcbi8qIDU3NSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmdldFJhbmRvbVN0ciA9IGV4cG9ydHMuY29udmVydFRvUm93cyA9IGV4cG9ydHMuZ2V0QWxsQ29sdW1ucyA9IGV4cG9ydHMuY29udmVydENvbHVtbk9yZGVyID0gdW5kZWZpbmVkO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxudmFyIF9hc3Npc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgY29udmVydENvbHVtbk9yZGVyID0gZnVuY3Rpb24gKGNvbHVtbnMsIGZpeGVkVHlwZSkge1xuICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuXG4gICAgdmFyIGxpc3QgPSBbXTtcbiAgICB2YXIgb3RoZXIgPSBbXTtcbiAgICBjb2x1bW5zLmZvckVhY2goZnVuY3Rpb24gKGNvbCkge1xuICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcblxuICAgICAgICBpZiAoY29sLmZpeGVkICYmIGNvbC5maXhlZCA9PT0gZml4ZWRUeXBlKSB7XG4gICAgICAgICAgICBsaXN0LnB1c2goY29sKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG90aGVyLnB1c2goY29sKTtcbiAgICAgICAgfVxuICAgIH0uYmluZCh1bmRlZmluZWQpKTtcbiAgICByZXR1cm4gbGlzdC5jb25jYXQob3RoZXIpO1xufS5iaW5kKHVuZGVmaW5lZCk7XG5cbmV4cG9ydHMuY29udmVydENvbHVtbk9yZGVyID0gY29udmVydENvbHVtbk9yZGVyO1xuXG52YXIgZ2V0QWxsQ29sdW1ucyA9IGZ1bmN0aW9uIChjb2xzKSB7XG4gICAgdmFyIGZvclRhYmxlSGVhZCA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogZmFsc2U7XG4gICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG5cbiAgICB2YXIgY29sdW1ucyA9ICgwLCBfYXNzaXN0LmRlZXBDb3B5KShjb2xzKTtcbiAgICB2YXIgcmVzdWx0ID0gW107XG4gICAgY29sdW1ucy5mb3JFYWNoKGZ1bmN0aW9uIChjb2x1bW4pIHtcbiAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG5cbiAgICAgICAgaWYgKGNvbHVtbi5jaGlsZHJlbikge1xuICAgICAgICAgICAgaWYgKGZvclRhYmxlSGVhZCkgcmVzdWx0LnB1c2goY29sdW1uKTtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoLmFwcGx5KHJlc3VsdCwgZ2V0QWxsQ29sdW1ucyhjb2x1bW4uY2hpbGRyZW4sIGZvclRhYmxlSGVhZCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goY29sdW1uKTtcbiAgICAgICAgfVxuICAgIH0uYmluZCh1bmRlZmluZWQpKTtcbiAgICByZXR1cm4gcmVzdWx0O1xufS5iaW5kKHVuZGVmaW5lZCk7XG5cbmV4cG9ydHMuZ2V0QWxsQ29sdW1ucyA9IGdldEFsbENvbHVtbnM7XG5cblxudmFyIGNvbnZlcnRUb1Jvd3MgPSBmdW5jdGlvbiAoY29sdW1ucykge1xuICAgIHZhciBmaXhlZFR5cGUgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGZhbHNlO1xuICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuXG4gICAgdmFyIG9yaWdpbkNvbHVtbnMgPSBmaXhlZFR5cGUgPyBmaXhlZFR5cGUgPT09ICdsZWZ0JyA/ICgwLCBfYXNzaXN0LmRlZXBDb3B5KShjb252ZXJ0Q29sdW1uT3JkZXIoY29sdW1ucywgJ2xlZnQnKSkgOiAoMCwgX2Fzc2lzdC5kZWVwQ29weSkoY29udmVydENvbHVtbk9yZGVyKGNvbHVtbnMsICdyaWdodCcpKSA6ICgwLCBfYXNzaXN0LmRlZXBDb3B5KShjb2x1bW5zKTtcbiAgICB2YXIgbWF4TGV2ZWwgPSAxO1xuICAgIHZhciB0cmF2ZXJzZSA9IGZ1bmN0aW9uIChjb2x1bW4sIHBhcmVudCkge1xuICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcblxuICAgICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgICAgICBjb2x1bW4ubGV2ZWwgPSBwYXJlbnQubGV2ZWwgKyAxO1xuICAgICAgICAgICAgaWYgKG1heExldmVsIDwgY29sdW1uLmxldmVsKSB7XG4gICAgICAgICAgICAgICAgbWF4TGV2ZWwgPSBjb2x1bW4ubGV2ZWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbHVtbi5jaGlsZHJlbikge1xuICAgICAgICAgICAgdmFyIGNvbFNwYW4gPSAwO1xuICAgICAgICAgICAgY29sdW1uLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24gKHN1YkNvbHVtbikge1xuICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuXG4gICAgICAgICAgICAgICAgdHJhdmVyc2Uoc3ViQ29sdW1uLCBjb2x1bW4pO1xuICAgICAgICAgICAgICAgIGNvbFNwYW4gKz0gc3ViQ29sdW1uLmNvbFNwYW47XG4gICAgICAgICAgICB9LmJpbmQodW5kZWZpbmVkKSk7XG4gICAgICAgICAgICBjb2x1bW4uY29sU3BhbiA9IGNvbFNwYW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb2x1bW4uY29sU3BhbiA9IDE7XG4gICAgICAgIH1cbiAgICB9LmJpbmQodW5kZWZpbmVkKTtcblxuICAgIG9yaWdpbkNvbHVtbnMuZm9yRWFjaChmdW5jdGlvbiAoY29sdW1uKSB7XG4gICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuXG4gICAgICAgIGNvbHVtbi5sZXZlbCA9IDE7XG4gICAgICAgIHRyYXZlcnNlKGNvbHVtbik7XG4gICAgfS5iaW5kKHVuZGVmaW5lZCkpO1xuXG4gICAgdmFyIHJvd3MgPSBbXTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1heExldmVsOyBpKyspIHtcbiAgICAgICAgcm93cy5wdXNoKFtdKTtcbiAgICB9XG5cbiAgICB2YXIgYWxsQ29sdW1ucyA9IGdldEFsbENvbHVtbnMob3JpZ2luQ29sdW1ucywgdHJ1ZSk7XG5cbiAgICBhbGxDb2x1bW5zLmZvckVhY2goZnVuY3Rpb24gKGNvbHVtbikge1xuICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcblxuICAgICAgICBpZiAoIWNvbHVtbi5jaGlsZHJlbikge1xuICAgICAgICAgICAgY29sdW1uLnJvd1NwYW4gPSBtYXhMZXZlbCAtIGNvbHVtbi5sZXZlbCArIDE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb2x1bW4ucm93U3BhbiA9IDE7XG4gICAgICAgIH1cbiAgICAgICAgcm93c1tjb2x1bW4ubGV2ZWwgLSAxXS5wdXNoKGNvbHVtbik7XG4gICAgfS5iaW5kKHVuZGVmaW5lZCkpO1xuXG4gICAgcmV0dXJuIHJvd3M7XG59LmJpbmQodW5kZWZpbmVkKTtcblxuZXhwb3J0cy5jb252ZXJ0VG9Sb3dzID0gY29udmVydFRvUm93cztcblxuXG52YXIgZ2V0UmFuZG9tU3RyID0gZnVuY3Rpb24gZ2V0UmFuZG9tU3RyKCkge1xuICAgIHZhciBsZW4gPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IDMyO1xuXG4gICAgdmFyICRjaGFycyA9ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMTIzNDU2Nzg5MCc7XG4gICAgdmFyIG1heFBvcyA9ICRjaGFycy5sZW5ndGg7XG4gICAgdmFyIHN0ciA9ICcnO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgc3RyICs9ICRjaGFycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbWF4UG9zKSk7XG4gICAgfVxuICAgIHJldHVybiBzdHI7XG59O1xuXG5leHBvcnRzLmdldFJhbmRvbVN0ciA9IGdldFJhbmRvbVN0cjtcblxuLyoqKi8gfSksXG4vKiA1NzYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0ud3JhcENsYXNzZXMsIHN0eWxlOiBfdm0uc3R5bGVzIH0sIFtfYygnZGl2JywgeyBjbGFzczogX3ZtLmNsYXNzZXMgfSwgW192bS5zaG93U2xvdEhlYWRlciA/IF9jKCdkaXYnLCB7IHJlZjogXCJ0aXRsZVwiLCBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLXRpdGxlJ10gfSwgW192bS5fdChcImhlYWRlclwiKV0sIDIpIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF92bS5zaG93SGVhZGVyID8gX2MoJ2RpdicsIHsgcmVmOiBcImhlYWRlclwiLCBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWhlYWRlciddLCBvbjogeyBcIm1vdXNld2hlZWxcIjogX3ZtLmhhbmRsZU1vdXNlV2hlZWwgfSB9LCBbX2MoJ3RhYmxlLWhlYWQnLCB7IGF0dHJzOiB7IFwicHJlZml4LWNsc1wiOiBfdm0ucHJlZml4Q2xzLCBcInN0eWxlT2JqZWN0XCI6IF92bS50YWJsZUhlYWRlclN0eWxlLCBcImNvbHVtbnNcIjogX3ZtLmNsb25lQ29sdW1ucywgXCJjb2x1bW4tcm93c1wiOiBfdm0uY29sdW1uUm93cywgXCJvYmotZGF0YVwiOiBfdm0ub2JqRGF0YSwgXCJjb2x1bW5zLXdpZHRoXCI6IF92bS5jb2x1bW5zV2lkdGgsIFwiZGF0YVwiOiBfdm0ucmVidWlsZERhdGEgfSB9KV0sIDEpIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF9jKCdkaXYnLCB7IGRpcmVjdGl2ZXM6IFt7IG5hbWU6IFwic2hvd1wiLCByYXdOYW1lOiBcInYtc2hvd1wiLCB2YWx1ZTogISghIV92bS5sb2NhbGVOb0RhdGFUZXh0ICYmICghX3ZtLmRhdGEgfHwgX3ZtLmRhdGEubGVuZ3RoID09PSAwKSB8fCAhIV92bS5sb2NhbGVOb0ZpbHRlcmVkRGF0YVRleHQgJiYgKCFfdm0ucmVidWlsZERhdGEgfHwgX3ZtLnJlYnVpbGREYXRhLmxlbmd0aCA9PT0gMCkpLCBleHByZXNzaW9uOiBcIiEoKCEhbG9jYWxlTm9EYXRhVGV4dCAmJiAoIWRhdGEgfHwgZGF0YS5sZW5ndGggPT09IDApKSB8fCAoISFsb2NhbGVOb0ZpbHRlcmVkRGF0YVRleHQgJiYgKCFyZWJ1aWxkRGF0YSB8fCByZWJ1aWxkRGF0YS5sZW5ndGggPT09IDApKSlcIiB9XSwgcmVmOiBcImJvZHlcIiwgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1ib2R5J10sIHN0eWxlOiBfdm0uYm9keVN0eWxlLCBvbjogeyBcInNjcm9sbFwiOiBfdm0uaGFuZGxlQm9keVNjcm9sbCB9IH0sIFtfYygndGFibGUtYm9keScsIHsgcmVmOiBcInRib2R5XCIsIGF0dHJzOiB7IFwiZHJhZ2dhYmxlXCI6IF92bS5kcmFnZ2FibGUsIFwicHJlZml4LWNsc1wiOiBfdm0ucHJlZml4Q2xzLCBcInN0eWxlT2JqZWN0XCI6IF92bS50YWJsZVN0eWxlLCBcImNvbHVtbnNcIjogX3ZtLmNsb25lQ29sdW1ucywgXCJkYXRhXCI6IF92bS5yZWJ1aWxkRGF0YSwgXCJyb3cta2V5XCI6IF92bS5yb3dLZXksIFwiY29sdW1ucy13aWR0aFwiOiBfdm0uY29sdW1uc1dpZHRoLCBcIm9iai1kYXRhXCI6IF92bS5vYmpEYXRhIH0gfSldLCAxKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiAhIV92bS5sb2NhbGVOb0RhdGFUZXh0ICYmICghX3ZtLmRhdGEgfHwgX3ZtLmRhdGEubGVuZ3RoID09PSAwKSB8fCAhIV92bS5sb2NhbGVOb0ZpbHRlcmVkRGF0YVRleHQgJiYgKCFfdm0ucmVidWlsZERhdGEgfHwgX3ZtLnJlYnVpbGREYXRhLmxlbmd0aCA9PT0gMCksIGV4cHJlc3Npb246IFwiKCghIWxvY2FsZU5vRGF0YVRleHQgJiYgKCFkYXRhIHx8IGRhdGEubGVuZ3RoID09PSAwKSkgfHwgKCEhbG9jYWxlTm9GaWx0ZXJlZERhdGFUZXh0ICYmICghcmVidWlsZERhdGEgfHwgcmVidWlsZERhdGEubGVuZ3RoID09PSAwKSkpXCIgfV0sIGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctdGlwJ10sIHN0eWxlOiBfdm0uYm9keVN0eWxlLCBvbjogeyBcInNjcm9sbFwiOiBfdm0uaGFuZGxlQm9keVNjcm9sbCB9IH0sIFtfYygndGFibGUnLCB7IGF0dHJzOiB7IFwiY2VsbHNwYWNpbmdcIjogXCIwXCIsIFwiY2VsbHBhZGRpbmdcIjogXCIwXCIsIFwiYm9yZGVyXCI6IFwiMFwiIH0gfSwgW19jKCd0Ym9keScsIFtfYygndHInLCBbX2MoJ3RkJywgeyBzdHlsZTogeyAnaGVpZ2h0JzogX3ZtLmJvZHlTdHlsZS5oZWlnaHQsICd3aWR0aCc6IHRoaXMuaGVhZGVyV2lkdGggKyBcInB4XCIgfSB9LCBbIV92bS5kYXRhIHx8IF92bS5kYXRhLmxlbmd0aCA9PT0gMCA/IF9jKCdzcGFuJywgeyBkb21Qcm9wczogeyBcImlubmVySFRNTFwiOiBfdm0uX3MoX3ZtLmxvY2FsZU5vRGF0YVRleHQpIH0gfSkgOiBfYygnc3BhbicsIHsgZG9tUHJvcHM6IHsgXCJpbm5lckhUTUxcIjogX3ZtLl9zKF92bS5sb2NhbGVOb0ZpbHRlcmVkRGF0YVRleHQpIH0gfSldKV0pXSldKV0pLCBfdm0uX3YoXCIgXCIpLCBfdm0uaXNMZWZ0Rml4ZWQgPyBfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWZpeGVkJ10sIHN0eWxlOiBfdm0uZml4ZWRUYWJsZVN0eWxlIH0sIFtfdm0uc2hvd0hlYWRlciA/IF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0uZml4ZWRIZWFkZXJDbGFzc2VzIH0sIFtfYygndGFibGUtaGVhZCcsIHsgYXR0cnM6IHsgXCJmaXhlZFwiOiBcImxlZnRcIiwgXCJwcmVmaXgtY2xzXCI6IF92bS5wcmVmaXhDbHMsIFwic3R5bGVPYmplY3RcIjogX3ZtLmZpeGVkVGFibGVTdHlsZSwgXCJjb2x1bW5zXCI6IF92bS5sZWZ0Rml4ZWRDb2x1bW5zLCBcImNvbHVtbi1yb3dzXCI6IF92bS5jb2x1bW5Sb3dzLCBcImZpeGVkLWNvbHVtbi1yb3dzXCI6IF92bS5sZWZ0Rml4ZWRDb2x1bW5Sb3dzLCBcIm9iai1kYXRhXCI6IF92bS5vYmpEYXRhLCBcImNvbHVtbnMtd2lkdGhcIjogX3ZtLmNvbHVtbnNXaWR0aCwgXCJkYXRhXCI6IF92bS5yZWJ1aWxkRGF0YSB9IH0pXSwgMSkgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgcmVmOiBcImZpeGVkQm9keVwiLCBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWZpeGVkLWJvZHknXSwgc3R5bGU6IF92bS5maXhlZEJvZHlTdHlsZSwgb246IHsgXCJtb3VzZXdoZWVsXCI6IF92bS5oYW5kbGVGaXhlZE1vdXNld2hlZWwsIFwiRE9NTW91c2VTY3JvbGxcIjogX3ZtLmhhbmRsZUZpeGVkTW91c2V3aGVlbCB9IH0sIFtfYygndGFibGUtYm9keScsIHsgYXR0cnM6IHsgXCJmaXhlZFwiOiBcImxlZnRcIiwgXCJkcmFnZ2FibGVcIjogX3ZtLmRyYWdnYWJsZSwgXCJwcmVmaXgtY2xzXCI6IF92bS5wcmVmaXhDbHMsIFwic3R5bGVPYmplY3RcIjogX3ZtLmZpeGVkVGFibGVTdHlsZSwgXCJjb2x1bW5zXCI6IF92bS5sZWZ0Rml4ZWRDb2x1bW5zLCBcImRhdGFcIjogX3ZtLnJlYnVpbGREYXRhLCBcInJvdy1rZXlcIjogX3ZtLnJvd0tleSwgXCJjb2x1bW5zLXdpZHRoXCI6IF92bS5jb2x1bW5zV2lkdGgsIFwib2JqLWRhdGFcIjogX3ZtLm9iakRhdGEgfSB9KV0sIDEpXSkgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLmlzUmlnaHRGaXhlZCA/IF9jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctZml4ZWQtcmlnaHQnXSwgc3R5bGU6IF92bS5maXhlZFJpZ2h0VGFibGVTdHlsZSB9LCBbX3ZtLnNob3dIZWFkZXIgPyBfYygnZGl2JywgeyBjbGFzczogX3ZtLmZpeGVkSGVhZGVyQ2xhc3NlcyB9LCBbX2MoJ3RhYmxlLWhlYWQnLCB7IGF0dHJzOiB7IFwiZml4ZWRcIjogXCJyaWdodFwiLCBcInByZWZpeC1jbHNcIjogX3ZtLnByZWZpeENscywgXCJzdHlsZU9iamVjdFwiOiBfdm0uZml4ZWRSaWdodFRhYmxlU3R5bGUsIFwiY29sdW1uc1wiOiBfdm0ucmlnaHRGaXhlZENvbHVtbnMsIFwiY29sdW1uLXJvd3NcIjogX3ZtLmNvbHVtblJvd3MsIFwiZml4ZWQtY29sdW1uLXJvd3NcIjogX3ZtLnJpZ2h0Rml4ZWRDb2x1bW5Sb3dzLCBcIm9iai1kYXRhXCI6IF92bS5vYmpEYXRhLCBcImNvbHVtbnMtd2lkdGhcIjogX3ZtLmNvbHVtbnNXaWR0aCwgXCJkYXRhXCI6IF92bS5yZWJ1aWxkRGF0YSB9IH0pXSwgMSkgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgcmVmOiBcImZpeGVkUmlnaHRCb2R5XCIsIGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctZml4ZWQtYm9keSddLCBzdHlsZTogX3ZtLmZpeGVkQm9keVN0eWxlLCBvbjogeyBcIm1vdXNld2hlZWxcIjogX3ZtLmhhbmRsZUZpeGVkTW91c2V3aGVlbCwgXCJET01Nb3VzZVNjcm9sbFwiOiBfdm0uaGFuZGxlRml4ZWRNb3VzZXdoZWVsIH0gfSwgW19jKCd0YWJsZS1ib2R5JywgeyBhdHRyczogeyBcImZpeGVkXCI6IFwicmlnaHRcIiwgXCJkcmFnZ2FibGVcIjogX3ZtLmRyYWdnYWJsZSwgXCJwcmVmaXgtY2xzXCI6IF92bS5wcmVmaXhDbHMsIFwic3R5bGVPYmplY3RcIjogX3ZtLmZpeGVkUmlnaHRUYWJsZVN0eWxlLCBcImNvbHVtbnNcIjogX3ZtLnJpZ2h0Rml4ZWRDb2x1bW5zLCBcImRhdGFcIjogX3ZtLnJlYnVpbGREYXRhLCBcInJvdy1rZXlcIjogX3ZtLnJvd0tleSwgXCJjb2x1bW5zLXdpZHRoXCI6IF92bS5jb2x1bW5zV2lkdGgsIFwib2JqLWRhdGFcIjogX3ZtLm9iakRhdGEgfSB9KV0sIDEpXSkgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgX3ZtLmlzUmlnaHRGaXhlZCA/IF9jKCdkaXYnLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctZml4ZWQtcmlnaHQtaGVhZGVyJ10sIHN0eWxlOiBfdm0uZml4ZWRSaWdodEhlYWRlclN0eWxlIH0pIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF92bS5zaG93U2xvdEZvb3RlciA/IF9jKCdkaXYnLCB7IHJlZjogXCJmb290ZXJcIiwgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1mb290ZXInXSB9LCBbX3ZtLl90KFwiZm9vdGVyXCIpXSwgMikgOiBfdm0uX2UoKV0pLCBfdm0uX3YoXCIgXCIpLCBfdm0ubG9hZGluZyA/IF9jKCdTcGluJywgeyBhdHRyczogeyBcImZpeFwiOiBcIlwiLCBcInNpemVcIjogXCJsYXJnZVwiIH0gfSwgW192bS5fdChcImxvYWRpbmdcIildLCAyKSA6IF92bS5fZSgpXSwgMSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA1NzcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF90YWJzID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1NzgpO1xuXG52YXIgX3RhYnMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdGFicyk7XG5cbnZhciBfcGFuZSA9IF9fd2VicGFja19yZXF1aXJlX18oNTgwKTtcblxudmFyIF9wYW5lMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3BhbmUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5fdGFiczIuZGVmYXVsdC5QYW5lID0gX3BhbmUyLmRlZmF1bHQ7XG5leHBvcnRzLmRlZmF1bHQgPSBfdGFiczIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiA1NzggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGFic192dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjMxKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90YWJzX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGFic192dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RhYnNfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RhYnNfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNmM1MjY0ZGZfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90YWJzX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1NzkpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzZjNTI2NGRmX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGFic192dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzZjNTI2NGRmX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGFic192dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90YWJzX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNmM1MjY0ZGZfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90YWJzX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl82YzUyNjRkZl9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RhYnNfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDU3OSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgdmFyIF92bSA9IHRoaXM7dmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaDtyZXR1cm4gX2MoJ2RpdicsIHsgY2xhc3M6IF92bS5jbGFzc2VzIH0sIFtfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWJhciddIH0sIFtfdm0uc2hvd1Nsb3QgPyBfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLW5hdi1yaWdodCddIH0sIFtfdm0uX3QoXCJleHRyYVwiKV0sIDIpIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF9jKCdkaXYnLCB7IHJlZjogXCJuYXZDb250YWluZXJcIiwgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1uYXYtY29udGFpbmVyJ10sIGF0dHJzOiB7IFwidGFiaW5kZXhcIjogXCIwXCIgfSwgb246IHsgXCJrZXlkb3duXCI6IFtfdm0uaGFuZGxlVGFiS2V5TmF2aWdhdGlvbiwgZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICBpZiAoISRldmVudC50eXBlLmluZGV4T2YoJ2tleScpICYmIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJzcGFjZVwiLCAzMiwgJGV2ZW50LmtleSwgW1wiIFwiLCBcIlNwYWNlYmFyXCJdKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9JGV2ZW50LnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIF92bS5oYW5kbGVUYWJLZXlib2FyZFNlbGVjdChmYWxzZSk7XG4gICAgICB9XSB9IH0sIFtfYygnZGl2JywgeyByZWY6IFwibmF2V3JhcFwiLCBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLW5hdi13cmFwJywgX3ZtLnNjcm9sbGFibGUgPyBfdm0ucHJlZml4Q2xzICsgJy1uYXYtc2Nyb2xsYWJsZScgOiAnJ10gfSwgW19jKCdzcGFuJywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLW5hdi1wcmV2JywgX3ZtLnNjcm9sbGFibGUgPyAnJyA6IF92bS5wcmVmaXhDbHMgKyAnLW5hdi1zY3JvbGwtZGlzYWJsZWQnXSwgb246IHsgXCJjbGlja1wiOiBfdm0uc2Nyb2xsUHJldiB9IH0sIFtfYygnSWNvbicsIHsgYXR0cnM6IHsgXCJ0eXBlXCI6IFwiaW9zLWFycm93LWJhY2tcIiB9IH0pXSwgMSksIF92bS5fdihcIiBcIiksIF9jKCdzcGFuJywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLW5hdi1uZXh0JywgX3ZtLnNjcm9sbGFibGUgPyAnJyA6IF92bS5wcmVmaXhDbHMgKyAnLW5hdi1zY3JvbGwtZGlzYWJsZWQnXSwgb246IHsgXCJjbGlja1wiOiBfdm0uc2Nyb2xsTmV4dCB9IH0sIFtfYygnSWNvbicsIHsgYXR0cnM6IHsgXCJ0eXBlXCI6IFwiaW9zLWFycm93LWZvcndhcmRcIiB9IH0pXSwgMSksIF92bS5fdihcIiBcIiksIF9jKCdkaXYnLCB7IHJlZjogXCJuYXZTY3JvbGxcIiwgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1uYXYtc2Nyb2xsJ10gfSwgW19jKCdkaXYnLCB7IHJlZjogXCJuYXZcIiwgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1uYXYnXSwgc3R5bGU6IF92bS5uYXZTdHlsZSB9LCBbX2MoJ2RpdicsIHsgY2xhc3M6IF92bS5iYXJDbGFzc2VzLCBzdHlsZTogX3ZtLmJhclN0eWxlIH0pLCBfdm0uX3YoXCIgXCIpLCBfdm0uX2woX3ZtLm5hdkxpc3QsIGZ1bmN0aW9uIChpdGVtLCBpbmRleCkge1xuICAgIHJldHVybiBfYygnZGl2JywgeyBjbGFzczogX3ZtLnRhYkNscyhpdGVtKSwgb246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgICByZXR1cm4gX3ZtLmhhbmRsZUNoYW5nZShpbmRleCk7XG4gICAgICAgIH0gfSB9LCBbaXRlbS5pY29uICE9PSAnJyA/IF9jKCdJY29uJywgeyBhdHRyczogeyBcInR5cGVcIjogaXRlbS5pY29uIH0gfSkgOiBfdm0uX2UoKSwgX3ZtLl92KFwiIFwiKSwgaXRlbS5sYWJlbFR5cGUgPT09ICdmdW5jdGlvbicgPyBfYygnUmVuZGVyJywgeyBhdHRyczogeyBcInJlbmRlclwiOiBpdGVtLmxhYmVsIH0gfSkgOiBbX3ZtLl92KF92bS5fcyhpdGVtLmxhYmVsKSldLCBfdm0uX3YoXCIgXCIpLCBfdm0uc2hvd0Nsb3NlKGl0ZW0pID8gX2MoJ0ljb24nLCB7IGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctY2xvc2UnXSwgYXR0cnM6IHsgXCJ0eXBlXCI6IF92bS5hcnJvd1R5cGUsIFwiY3VzdG9tXCI6IF92bS5jdXN0b21BcnJvd1R5cGUsIFwic2l6ZVwiOiBfdm0uYXJyb3dTaXplIH0sIG5hdGl2ZU9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBfdm0uaGFuZGxlUmVtb3ZlKGluZGV4KTtcbiAgICAgICAgfSB9IH0pIDogX3ZtLl9lKCldLCAyKTtcbiAgfSldLCAyKV0pXSldKV0pLCBfdm0uX3YoXCIgXCIpLCBfYygnZGl2JywgeyByZWY6IFwicGFuZXNcIiwgY2xhc3M6IF92bS5jb250ZW50Q2xhc3Nlcywgc3R5bGU6IF92bS5jb250ZW50U3R5bGUgfSwgW192bS5fdChcImRlZmF1bHRcIildLCAyKV0pO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogNTgwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3BhbmVfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIzMik7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcGFuZV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3BhbmVfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9wYW5lX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9wYW5lX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzMwOWVjN2Y3X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfcGFuZV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNTgxKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zMDllYzdmN19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3BhbmVfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zMDllYzdmN19oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3BhbmVfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfcGFuZV92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzMwOWVjN2Y3X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfcGFuZV92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMzA5ZWM3ZjdfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9wYW5lX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA1ODEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGRpcmVjdGl2ZXM6IFt7IG5hbWU6IFwic2hvd1wiLCByYXdOYW1lOiBcInYtc2hvd1wiLCB2YWx1ZTogX3ZtLnNob3csIGV4cHJlc3Npb246IFwic2hvd1wiIH1dLCBjbGFzczogX3ZtLnByZWZpeENscywgc3R5bGU6IF92bS5jb250ZW50U3R5bGUgfSwgW192bS5fdChcImRlZmF1bHRcIildLCAyKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDU4MiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX3RhZyA9IF9fd2VicGFja19yZXF1aXJlX18oNTgzKTtcblxudmFyIF90YWcyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdGFnKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0gX3RhZzIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiA1ODMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGFnX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMzMpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RhZ192dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RhZ192dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RhZ192dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGFnX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2RjYzk1OGMwX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGFnX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1ODQpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2RjYzk1OGMwX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGFnX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfZGNjOTU4YzBfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90YWdfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGFnX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfZGNjOTU4YzBfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90YWdfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2RjYzk1OGMwX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGFnX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA1ODQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF92bS5mYWRlID8gX2MoJ3RyYW5zaXRpb24nLCB7IGF0dHJzOiB7IFwibmFtZVwiOiBcImZhZGVcIiB9IH0sIFtfYygnZGl2JywgeyBjbGFzczogX3ZtLmNsYXNzZXMsIHN0eWxlOiBfdm0ud3JhcGVyU3R5bGVzLCBvbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7cmV0dXJuIF92bS5jaGVjaygkZXZlbnQpO1xuICAgICAgfSB9IH0sIFtfdm0uc2hvd0RvdCA/IF9jKCdzcGFuJywgeyBjbGFzczogX3ZtLmRvdENsYXNzZXMsIHN0eWxlOiBfdm0uYmdDb2xvclN0eWxlIH0pIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF9jKCdzcGFuJywgeyBjbGFzczogX3ZtLnRleHRDbGFzc2VzLCBzdHlsZTogX3ZtLnRleHRDb2xvclN0eWxlIH0sIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwgMiksIF92bS5fdihcIiBcIiksIF92bS5jbG9zYWJsZSA/IF9jKCdJY29uJywgeyBjbGFzczogX3ZtLmljb25DbGFzcywgYXR0cnM6IHsgXCJjb2xvclwiOiBfdm0ubGluZUNvbG9yLCBcInR5cGVcIjogXCJpb3MtY2xvc2VcIiB9LCBuYXRpdmVPbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7cmV0dXJuIF92bS5jbG9zZSgkZXZlbnQpO1xuICAgICAgfSB9IH0pIDogX3ZtLl9lKCldLCAxKV0pIDogX2MoJ2RpdicsIHsgY2xhc3M6IF92bS5jbGFzc2VzLCBzdHlsZTogX3ZtLndyYXBlclN0eWxlcywgb246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBfdm0uY2hlY2soJGV2ZW50KTtcbiAgICAgIH0gfSB9LCBbX3ZtLnNob3dEb3QgPyBfYygnc3BhbicsIHsgY2xhc3M6IF92bS5kb3RDbGFzc2VzLCBzdHlsZTogX3ZtLmJnQ29sb3JTdHlsZSB9KSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfYygnc3BhbicsIHsgY2xhc3M6IF92bS50ZXh0Q2xhc3Nlcywgc3R5bGU6IF92bS50ZXh0Q29sb3JTdHlsZSB9LCBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sIDIpLCBfdm0uX3YoXCIgXCIpLCBfdm0uY2xvc2FibGUgPyBfYygnSWNvbicsIHsgY2xhc3M6IF92bS5pY29uQ2xhc3MsIGF0dHJzOiB7IFwiY29sb3JcIjogX3ZtLmxpbmVDb2xvciwgXCJ0eXBlXCI6IFwiaW9zLWNsb3NlXCIgfSwgbmF0aXZlT246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBfdm0uY2xvc2UoJGV2ZW50KTtcbiAgICAgIH0gfSB9KSA6IF92bS5fZSgpXSwgMSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA1ODUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF90aW1lID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1ODYpO1xuXG52YXIgX3RpbWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdGltZSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IF90aW1lMi5kZWZhdWx0O1xuXG4vKioqLyB9KSxcbi8qIDU4NiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90aW1lX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMzQpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RpbWVfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90aW1lX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGltZV92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGltZV92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zZDU3Nzk4MV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RpbWVfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU4OCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfM2Q1Nzc5ODFfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90aW1lX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfM2Q1Nzc5ODFfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90aW1lX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RpbWVfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8zZDU3Nzk4MV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RpbWVfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzNkNTc3OTgxX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGltZV92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogNTg3ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZ2V0UmVsYXRpdmVUaW1lID0gdW5kZWZpbmVkO1xuXG52YXIgX25ld0Fycm93Q2hlY2syID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX25ld0Fycm93Q2hlY2syKTtcblxuZXhwb3J0cy5kZWZhdWx0ID0gZnVuY3Rpb24gKHRpbWVzdGFtcCwgbG9jYWxlKSB7XG4gICAgcmV0dXJuIGdldFJlbGF0aXZlVGltZSh0aW1lc3RhbXAsIGxvY2FsZSk7XG59O1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgaXNFYXJseSA9IGZ1bmN0aW9uICh0aW1lU3RhbXAsIGN1cnJlbnRUaW1lKSB7XG4gICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG5cbiAgICByZXR1cm4gdGltZVN0YW1wIDw9IGN1cnJlbnRUaW1lO1xufS5iaW5kKHVuZGVmaW5lZCk7XG5cbnZhciBnZXRIYW5kbGVkVmFsdWUgPSBmdW5jdGlvbiAobnVtKSB7XG4gICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG5cbiAgICByZXR1cm4gbnVtIDwgMTAgPyAnMCcgKyBudW0gOiBudW07XG59LmJpbmQodW5kZWZpbmVkKTtcblxudmFyIGdldERhdGUgPSBmdW5jdGlvbiAodGltZVN0YW1wLCBzdGFydFR5cGUpIHtcbiAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcblxuICAgIHZhciBkID0gbmV3IERhdGUodGltZVN0YW1wKTtcbiAgICB2YXIgeWVhciA9IGQuZ2V0RnVsbFllYXIoKTtcbiAgICB2YXIgbW9udGggPSBnZXRIYW5kbGVkVmFsdWUoZC5nZXRNb250aCgpICsgMSk7XG4gICAgdmFyIGRhdGUgPSBnZXRIYW5kbGVkVmFsdWUoZC5nZXREYXRlKCkpO1xuICAgIHZhciBob3VycyA9IGdldEhhbmRsZWRWYWx1ZShkLmdldEhvdXJzKCkpO1xuICAgIHZhciBtaW51dGVzID0gZ2V0SGFuZGxlZFZhbHVlKGQuZ2V0TWludXRlcygpKTtcbiAgICB2YXIgc2Vjb25kID0gZ2V0SGFuZGxlZFZhbHVlKGQuZ2V0U2Vjb25kcygpKTtcbiAgICB2YXIgcmVzU3RyID0gJyc7XG4gICAgaWYgKHN0YXJ0VHlwZSA9PT0gJ3llYXInKSByZXNTdHIgPSB5ZWFyICsgJy0nICsgbW9udGggKyAnLScgKyBkYXRlICsgJyAnICsgaG91cnMgKyAnOicgKyBtaW51dGVzICsgJzonICsgc2Vjb25kO2Vsc2UgcmVzU3RyID0gbW9udGggKyAnLScgKyBkYXRlICsgJyAnICsgaG91cnMgKyAnOicgKyBtaW51dGVzO1xuICAgIHJldHVybiByZXNTdHI7XG59LmJpbmQodW5kZWZpbmVkKTtcblxudmFyIGdldFJlbGF0aXZlVGltZSA9IGV4cG9ydHMuZ2V0UmVsYXRpdmVUaW1lID0gZnVuY3Rpb24gKHRpbWVTdGFtcCwgbG9jYWxlKSB7XG4gICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG5cbiAgICB2YXIgY3VycmVudFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcblxuICAgIHZhciBJU19FQVJMWSA9IGlzRWFybHkodGltZVN0YW1wLCBjdXJyZW50VGltZSk7XG5cbiAgICB2YXIgZGlmZiA9IGN1cnJlbnRUaW1lIC0gdGltZVN0YW1wO1xuXG4gICAgaWYgKCFJU19FQVJMWSkgZGlmZiA9IC1kaWZmO1xuICAgIHZhciByZXNTdHIgPSAnJztcbiAgICB2YXIgZGlyU3RyID0gSVNfRUFSTFkgPyBsb2NhbGUoJ2kudGltZS5iZWZvcmUnKSB8fCAn5YmNJyA6IGxvY2FsZSgnaS50aW1lLmFmdGVyJykgfHwgJ+WQjic7XG5cbiAgICBpZiAoZGlmZiA8IDEwMDApIHJlc1N0ciA9IGxvY2FsZSgnaS50aW1lLmp1c3QnKSB8fCAn5Yia5YiaJztlbHNlIGlmIChkaWZmIDwgNjAwMDApIHJlc1N0ciA9IHBhcnNlSW50KGRpZmYgLyAxMDAwKSArIChsb2NhbGUoJ2kudGltZS5zZWNvbmRzJykgfHwgJ+enkicpICsgZGlyU3RyO2Vsc2UgaWYgKGRpZmYgPj0gNjAwMDAgJiYgZGlmZiA8IDM2MDAwMDApIHJlc1N0ciA9IE1hdGguZmxvb3IoZGlmZiAvIDYwMDAwKSArIChsb2NhbGUoJ2kudGltZS5taW51dGVzJykgfHwgJ+WIhumSnycpICsgZGlyU3RyO2Vsc2UgaWYgKGRpZmYgPj0gMzYwMDAwMCAmJiBkaWZmIDwgODY0MDAwMDApIHJlc1N0ciA9IE1hdGguZmxvb3IoZGlmZiAvIDM2MDAwMDApICsgKGxvY2FsZSgnaS50aW1lLmhvdXJzJykgfHwgJ+Wwj+aXticpICsgZGlyU3RyO2Vsc2UgaWYgKGRpZmYgPj0gODY0MDAwMDAgJiYgZGlmZiA8IDI2MjM4NjAwMDApIHJlc1N0ciA9IE1hdGguZmxvb3IoZGlmZiAvIDg2NDAwMDAwKSArIChsb2NhbGUoJ2kudGltZS5kYXlzJykgfHwgJ+WkqScpICsgZGlyU3RyO2Vsc2UgaWYgKGRpZmYgPj0gMjYyMzg2MDAwMCAmJiBkaWZmIDw9IDMxNTY3ODYwMDAwICYmIElTX0VBUkxZKSByZXNTdHIgPSBnZXREYXRlKHRpbWVTdGFtcCk7ZWxzZSByZXNTdHIgPSBnZXREYXRlKHRpbWVTdGFtcCwgJ3llYXInKTtcbiAgICByZXR1cm4gcmVzU3RyO1xufS5iaW5kKHVuZGVmaW5lZCk7XG5cbi8qKiovIH0pLFxuLyogNTg4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnc3BhbicsIHsgY2xhc3M6IF92bS5jbGFzc2VzLCBvbjogeyBcImNsaWNrXCI6IF92bS5oYW5kbGVDbGljayB9IH0sIFtfdm0uX3YoX3ZtLl9zKF92bS5kYXRlKSldKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDU4OSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX3RpbWVsaW5lID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1OTApO1xuXG52YXIgX3RpbWVsaW5lMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RpbWVsaW5lKTtcblxudmFyIF90aW1lbGluZUl0ZW0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU5Mik7XG5cbnZhciBfdGltZWxpbmVJdGVtMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RpbWVsaW5lSXRlbSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbl90aW1lbGluZTIuZGVmYXVsdC5JdGVtID0gX3RpbWVsaW5lSXRlbTIuZGVmYXVsdDtcbmV4cG9ydHMuZGVmYXVsdCA9IF90aW1lbGluZTIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiA1OTAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGltZWxpbmVfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIzNSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGltZWxpbmVfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90aW1lbGluZV92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RpbWVsaW5lX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90aW1lbGluZV92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9hZjMyMGJmMF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RpbWVsaW5lX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1OTEpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2FmMzIwYmYwX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGltZWxpbmVfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9hZjMyMGJmMF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RpbWVsaW5lX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RpbWVsaW5lX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfYWYzMjBiZjBfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90aW1lbGluZV92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfYWYzMjBiZjBfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90aW1lbGluZV92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogNTkxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygndWwnLCB7IGNsYXNzOiBfdm0uY2xhc3NlcyB9LCBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sIDIpO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogNTkyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RpbWVsaW5lX2l0ZW1fdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIzNik7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGltZWxpbmVfaXRlbV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RpbWVsaW5lX2l0ZW1fdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90aW1lbGluZV9pdGVtX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90aW1lbGluZV9pdGVtX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2NmMjhmYzQ0X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGltZWxpbmVfaXRlbV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNTkzKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9jZjI4ZmM0NF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RpbWVsaW5lX2l0ZW1fdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9jZjI4ZmM0NF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RpbWVsaW5lX2l0ZW1fdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdGltZWxpbmVfaXRlbV92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2NmMjhmYzQ0X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdGltZWxpbmVfaXRlbV92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfY2YyOGZjNDRfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90aW1lbGluZV9pdGVtX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA1OTMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdsaScsIHsgY2xhc3M6IF92bS5pdGVtQ2xhc3NlcyB9LCBbX2MoJ2RpdicsIHsgY2xhc3M6IF92bS50YWlsQ2xhc3NlcyB9KSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgcmVmOiBcImRvdFwiLCBjbGFzczogX3ZtLmhlYWRDbGFzc2VzLCBzdHlsZTogX3ZtLmN1c3RvbUNvbG9yIH0sIFtfdm0uX3QoXCJkb3RcIildLCAyKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgY2xhc3M6IF92bS5jb250ZW50Q2xhc3NlcyB9LCBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sIDIpXSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA1OTQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF90aW1lUGlja2VyID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1OTUpO1xuXG52YXIgX3RpbWVQaWNrZXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdGltZVBpY2tlcik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IF90aW1lUGlja2VyMi5kZWZhdWx0O1xuXG4vKioqLyB9KSxcbi8qIDU5NSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX3BpY2tlciA9IF9fd2VicGFja19yZXF1aXJlX18oMTQ3KTtcblxudmFyIF9waWNrZXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcGlja2VyKTtcblxudmFyIF90aW1lID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNTYpO1xuXG52YXIgX3RpbWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdGltZSk7XG5cbnZhciBfdGltZVJhbmdlID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNjUpO1xuXG52YXIgX3RpbWVSYW5nZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90aW1lUmFuZ2UpO1xuXG52YXIgX3RpbWVNaXhpbnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDU2KTtcblxudmFyIF90aW1lTWl4aW5zMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RpbWVNaXhpbnMpO1xuXG52YXIgX2Fzc2lzdCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBtaXhpbnM6IFtfcGlja2VyMi5kZWZhdWx0LCBfdGltZU1peGluczIuZGVmYXVsdF0sXG4gICAgY29tcG9uZW50czogeyBUaW1lUGlja2VyUGFuZWw6IF90aW1lMi5kZWZhdWx0LCBSYW5nZVRpbWVQaWNrZXJQYW5lbDogX3RpbWVSYW5nZTIuZGVmYXVsdCB9LFxuICAgIHByb3BzOiB7XG4gICAgICAgIHR5cGU6IHtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfYXNzaXN0Lm9uZU9mKSh2YWx1ZSwgWyd0aW1lJywgJ3RpbWVyYW5nZSddKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGRlZmF1bHQ6ICd0aW1lJ1xuICAgICAgICB9XG4gICAgfSxcbiAgICBjb21wdXRlZDoge1xuICAgICAgICBwYW5lbDogZnVuY3Rpb24gcGFuZWwoKSB7XG4gICAgICAgICAgICB2YXIgaXNSYW5nZSA9IHRoaXMudHlwZSA9PT0gJ3RpbWVyYW5nZSc7XG4gICAgICAgICAgICByZXR1cm4gaXNSYW5nZSA/ICdSYW5nZVRpbWVQaWNrZXJQYW5lbCcgOiAnVGltZVBpY2tlclBhbmVsJztcbiAgICAgICAgfSxcbiAgICAgICAgb3duUGlja2VyUHJvcHM6IGZ1bmN0aW9uIG93blBpY2tlclByb3BzKCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBkaXNhYmxlZEhvdXJzOiB0aGlzLmRpc2FibGVkSG91cnMsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWRNaW51dGVzOiB0aGlzLmRpc2FibGVkTWludXRlcyxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZFNlY29uZHM6IHRoaXMuZGlzYWJsZWRTZWNvbmRzLFxuICAgICAgICAgICAgICAgIGhpZGVEaXNhYmxlZE9wdGlvbnM6IHRoaXMuaGlkZURpc2FibGVkT3B0aW9uc1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgd2F0Y2g6IHtcbiAgICAgICAgdmlzaWJsZTogZnVuY3Rpb24gdmlzaWJsZShfdmlzaWJsZSkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgaWYgKF92aXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgICAgICAgICB2YXIgc3Bpbm5lcnMgPSAoMCwgX2Fzc2lzdC5maW5kQ29tcG9uZW50c0Rvd253YXJkKSh0aGlzLCAnVGltZVNwaW5uZXInKTtcbiAgICAgICAgICAgICAgICAgICAgc3Bpbm5lcnMuZm9yRWFjaChmdW5jdGlvbiAoaW5zdGFuY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfbmV3QXJyb3dDaGVjazMuZGVmYXVsdCkodGhpcywgX3RoaXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGluc3RhbmNlLnVwZGF0ZVNjcm9sbCgpO1xuICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxcbi8qIDU5NiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX3Rvb2x0aXAgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDgzKTtcblxudmFyIF90b29sdGlwMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3Rvb2x0aXApO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSBfdG9vbHRpcDIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiA1OTcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF90cmFuc2ZlciA9IF9fd2VicGFja19yZXF1aXJlX18oNTk4KTtcblxudmFyIF90cmFuc2ZlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90cmFuc2Zlcik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IF90cmFuc2ZlcjIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiA1OTggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdHJhbnNmZXJfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIzNyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdHJhbnNmZXJfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90cmFuc2Zlcl92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RyYW5zZmVyX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90cmFuc2Zlcl92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cbnZhciBfX3Z1ZV9yZW5kZXJfXywgX192dWVfc3RhdGljX3JlbmRlcl9mbnNfX1xuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RyYW5zZmVyX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX192dWVfcmVuZGVyX18sXG4gIF9fdnVlX3N0YXRpY19yZW5kZXJfZm5zX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDU5OSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9saXN0X3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMzgpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2xpc3RfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9saXN0X3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbGlzdF92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbGlzdF92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wMGM1YjhkOF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2xpc3RfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDYwMik7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMDBjNWI4ZDhfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9saXN0X3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMDBjNWI4ZDhfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9saXN0X3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2xpc3RfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wMGM1YjhkOF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX2xpc3RfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzAwYzViOGQ4X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbGlzdF92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogNjAwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3NlYXJjaF92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjM5KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zZWFyY2hfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zZWFyY2hfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9zZWFyY2hfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3NlYXJjaF92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9hODZlMjVhZV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3NlYXJjaF92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNjAxKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9hODZlMjVhZV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3NlYXJjaF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2E4NmUyNWFlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfc2VhcmNoX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3NlYXJjaF92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2E4NmUyNWFlX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfc2VhcmNoX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9hODZlMjVhZV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3NlYXJjaF92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogNjAxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBjbGFzczogX3ZtLnByZWZpeENscyB9LCBbX2MoJ2ktaW5wdXQnLCB7IGF0dHJzOiB7IFwic2l6ZVwiOiBcInNtYWxsXCIsIFwiaWNvblwiOiBfdm0uaWNvbiwgXCJwbGFjZWhvbGRlclwiOiBfdm0ucGxhY2Vob2xkZXIgfSwgb246IHsgXCJvbi1jbGlja1wiOiBfdm0uaGFuZGxlQ2xpY2sgfSwgbW9kZWw6IHsgdmFsdWU6IF92bS5jdXJyZW50UXVlcnksIGNhbGxiYWNrOiBmdW5jdGlvbiBjYWxsYmFjaygkJHYpIHtcbiAgICAgICAgX3ZtLmN1cnJlbnRRdWVyeSA9ICQkdjtcbiAgICAgIH0sIGV4cHJlc3Npb246IFwiY3VycmVudFF1ZXJ5XCIgfSB9KV0sIDEpO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogNjAyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBjbGFzczogX3ZtLmNsYXNzZXMsIHN0eWxlOiBfdm0ubGlzdFN0eWxlIH0sIFtfYygnZGl2JywgeyBjbGFzczogX3ZtLnByZWZpeENscyArICctaGVhZGVyJyB9LCBbX2MoJ0NoZWNrYm94JywgeyBhdHRyczogeyBcInZhbHVlXCI6IF92bS5jaGVja2VkQWxsLCBcImRpc2FibGVkXCI6IF92bS5jaGVja2VkQWxsRGlzYWJsZWQgfSwgb246IHsgXCJvbi1jaGFuZ2VcIjogX3ZtLnRvZ2dsZVNlbGVjdEFsbCB9IH0pLCBfdm0uX3YoXCIgXCIpLCBfYygnc3BhbicsIHsgY2xhc3M6IF92bS5wcmVmaXhDbHMgKyAnLWhlYWRlci10aXRsZScsIG9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdm0udG9nZ2xlU2VsZWN0QWxsKCFfdm0uY2hlY2tlZEFsbCk7XG4gICAgICB9IH0gfSwgW192bS5fdihfdm0uX3MoX3ZtLnRpdGxlKSldKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ3NwYW4nLCB7IGNsYXNzOiBfdm0ucHJlZml4Q2xzICsgJy1oZWFkZXItY291bnQnIH0sIFtfdm0uX3YoX3ZtLl9zKF92bS5jb3VudCkpXSldLCAxKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2RpdicsIHsgY2xhc3M6IF92bS5ib2R5Q2xhc3NlcyB9LCBbX3ZtLmZpbHRlcmFibGUgPyBfYygnZGl2JywgeyBjbGFzczogX3ZtLnByZWZpeENscyArICctYm9keS1zZWFyY2gtd3JhcHBlcicgfSwgW19jKCdTZWFyY2gnLCB7IGF0dHJzOiB7IFwicHJlZml4LWNsc1wiOiBfdm0ucHJlZml4Q2xzICsgJy1zZWFyY2gnLCBcInF1ZXJ5XCI6IF92bS5xdWVyeSwgXCJwbGFjZWhvbGRlclwiOiBfdm0uZmlsdGVyUGxhY2Vob2xkZXIgfSwgb246IHsgXCJvbi1xdWVyeS1jbGVhclwiOiBfdm0uaGFuZGxlUXVlcnlDbGVhciwgXCJvbi1xdWVyeS1jaGFuZ2VcIjogX3ZtLmhhbmRsZVF1ZXJ5Q2hhbmdlIH0gfSldLCAxKSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfYygndWwnLCB7IGNsYXNzOiBfdm0ucHJlZml4Q2xzICsgJy1jb250ZW50JyB9LCBbX3ZtLl9sKF92bS5maWx0ZXJEYXRhLCBmdW5jdGlvbiAoaXRlbSkge1xuICAgIHJldHVybiBfYygnbGknLCB7IGNsYXNzOiBfdm0uaXRlbUNsYXNzZXMoaXRlbSksIG9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIF92bS5zZWxlY3QoaXRlbSk7XG4gICAgICAgIH0gfSB9LCBbX2MoJ0NoZWNrYm94JywgeyBhdHRyczogeyBcInZhbHVlXCI6IF92bS5pc0NoZWNrKGl0ZW0pLCBcImRpc2FibGVkXCI6IGl0ZW0uZGlzYWJsZWQgfSB9KSwgX3ZtLl92KFwiIFwiKSwgX2MoJ3NwYW4nLCB7IGRvbVByb3BzOiB7IFwiaW5uZXJIVE1MXCI6IF92bS5fcyhfdm0uc2hvd0xhYmVsKGl0ZW0pKSB9IH0pXSwgMSk7XG4gIH0pLCBfdm0uX3YoXCIgXCIpLCBfYygnbGknLCB7IGNsYXNzOiBfdm0ucHJlZml4Q2xzICsgJy1jb250ZW50LW5vdC1mb3VuZCcgfSwgW192bS5fdihfdm0uX3MoX3ZtLm5vdEZvdW5kVGV4dCkpXSldLCAyKV0pLCBfdm0uX3YoXCIgXCIpLCBfdm0uc2hvd0Zvb3RlciA/IF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0ucHJlZml4Q2xzICsgJy1mb290ZXInIH0sIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwgMikgOiBfdm0uX2UoKV0pO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogNjAzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX29wZXJhdGlvbl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjQwKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9vcGVyYXRpb25fdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9vcGVyYXRpb25fdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9vcGVyYXRpb25fdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX29wZXJhdGlvbl92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9iNTU3MzcwNF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX29wZXJhdGlvbl92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNjA0KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9iNTU3MzcwNF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX29wZXJhdGlvbl92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2I1NTczNzA0X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfb3BlcmF0aW9uX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX29wZXJhdGlvbl92dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2I1NTczNzA0X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfb3BlcmF0aW9uX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9iNTU3MzcwNF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX29wZXJhdGlvbl92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogNjA0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBjbGFzczogX3ZtLnByZWZpeENscyArICctb3BlcmF0aW9uJyB9LCBbX2MoJ2ktYnV0dG9uJywgeyBhdHRyczogeyBcInR5cGVcIjogXCJwcmltYXJ5XCIsIFwic2l6ZVwiOiBcInNtYWxsXCIsIFwiZGlzYWJsZWRcIjogIV92bS5yaWdodEFjdGl2ZSB9LCBuYXRpdmVPbjogeyBcImNsaWNrXCI6IGZ1bmN0aW9uIGNsaWNrKCRldmVudCkge1xuICAgICAgICByZXR1cm4gX3ZtLm1vdmVUb0xlZnQoJGV2ZW50KTtcbiAgICAgIH0gfSB9LCBbX2MoJ0ljb24nLCB7IGF0dHJzOiB7IFwidHlwZVwiOiBcImlvcy1hcnJvdy1iYWNrXCIgfSB9KSwgX3ZtLl92KFwiIFwiKSwgX2MoJ3NwYW4nLCBbX3ZtLl92KF92bS5fcyhfdm0ub3BlcmF0aW9uc1swXSkpXSldLCAxKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2ktYnV0dG9uJywgeyBhdHRyczogeyBcInR5cGVcIjogXCJwcmltYXJ5XCIsIFwic2l6ZVwiOiBcInNtYWxsXCIsIFwiZGlzYWJsZWRcIjogIV92bS5sZWZ0QWN0aXZlIH0sIG5hdGl2ZU9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdm0ubW92ZVRvUmlnaHQoJGV2ZW50KTtcbiAgICAgIH0gfSB9LCBbX2MoJ3NwYW4nLCBbX3ZtLl92KF92bS5fcyhfdm0ub3BlcmF0aW9uc1sxXSkpXSksIF92bS5fdihcIiBcIiksIF9jKCdJY29uJywgeyBhdHRyczogeyBcInR5cGVcIjogXCJpb3MtYXJyb3ctZm9yd2FyZFwiIH0gfSldLCAxKV0sIDEpO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogNjA1ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfdHJlZSA9IF9fd2VicGFja19yZXF1aXJlX18oNjA2KTtcblxudmFyIF90cmVlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RyZWUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSBfdHJlZTIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiA2MDYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdHJlZV92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjQxKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90cmVlX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdHJlZV92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RyZWVfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3RyZWVfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfZDE1NWJhYWFfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90cmVlX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2MTApO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2QxNTViYWFhX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdHJlZV92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92X2QxNTViYWFhX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdHJlZV92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF90cmVlX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfZDE1NWJhYWFfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF90cmVlX3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl9kMTU1YmFhYV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3RyZWVfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDYwNyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9ub2RlX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyNDIpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX25vZGVfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9ub2RlX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbm9kZV92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfbm9kZV92dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wNTFjYmRkMV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX25vZGVfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDYwOSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMDUxY2JkZDFfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9ub2RlX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfMDUxY2JkZDFfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9ub2RlX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX25vZGVfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wNTFjYmRkMV9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX25vZGVfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzA1MWNiZGQxX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfbm9kZV92dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogNjA4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9uZXdBcnJvd0NoZWNrMiA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9uZXdBcnJvd0NoZWNrMik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICBuYW1lOiAnUmVuZGVyQ2VsbCcsXG4gICAgZnVuY3Rpb25hbDogdHJ1ZSxcbiAgICBwcm9wczoge1xuICAgICAgICByZW5kZXI6IEZ1bmN0aW9uLFxuICAgICAgICBkYXRhOiBPYmplY3QsXG4gICAgICAgIG5vZGU6IEFycmF5XG4gICAgfSxcbiAgICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoLCBjdHgpIHtcbiAgICAgICAgKDAsIF9uZXdBcnJvd0NoZWNrMy5kZWZhdWx0KSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG5cbiAgICAgICAgdmFyIHBhcmFtcyA9IHtcbiAgICAgICAgICAgIHJvb3Q6IGN0eC5wcm9wcy5ub2RlWzBdLFxuICAgICAgICAgICAgbm9kZTogY3R4LnByb3BzLm5vZGVbMV0sXG4gICAgICAgICAgICBkYXRhOiBjdHgucHJvcHMuZGF0YVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gY3R4LnByb3BzLnJlbmRlcihoLCBwYXJhbXMpO1xuICAgIH0uYmluZCh1bmRlZmluZWQpXG59O1xuXG4vKioqLyB9KSxcbi8qIDYwOSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgdmFyIF92bSA9IHRoaXM7dmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaDtyZXR1cm4gX2MoJ2NvbGxhcHNlLXRyYW5zaXRpb24nLCB7IGF0dHJzOiB7IFwiYXBwZWFyXCI6IF92bS5hcHBlYXIgfSB9LCBbX2MoJ3VsJywgeyBjbGFzczogX3ZtLmNsYXNzZXMgfSwgW19jKCdsaScsIFtfYygnc3BhbicsIHsgY2xhc3M6IF92bS5hcnJvd0NsYXNzZXMsIG9uOiB7IFwiY2xpY2tcIjogX3ZtLmhhbmRsZUV4cGFuZCB9IH0sIFtfdm0uc2hvd0Fycm93ID8gX2MoJ0ljb24nLCB7IGF0dHJzOiB7IFwidHlwZVwiOiBfdm0uYXJyb3dUeXBlLCBcImN1c3RvbVwiOiBfdm0uY3VzdG9tQXJyb3dUeXBlLCBcInNpemVcIjogX3ZtLmFycm93U2l6ZSB9IH0pIDogX3ZtLl9lKCksIF92bS5fdihcIiBcIiksIF92bS5zaG93TG9hZGluZyA/IF9jKCdJY29uJywgeyBzdGF0aWNDbGFzczogXCJpdnUtbG9hZC1sb29wXCIsIGF0dHJzOiB7IFwidHlwZVwiOiBcImlvcy1sb2FkaW5nXCIgfSB9KSA6IF92bS5fZSgpXSwgMSksIF92bS5fdihcIiBcIiksIF92bS5zaG93Q2hlY2tib3ggPyBfYygnQ2hlY2tib3gnLCB7IGF0dHJzOiB7IFwidmFsdWVcIjogX3ZtLmRhdGEuY2hlY2tlZCwgXCJpbmRldGVybWluYXRlXCI6IF92bS5kYXRhLmluZGV0ZXJtaW5hdGUsIFwiZGlzYWJsZWRcIjogX3ZtLmRhdGEuZGlzYWJsZWQgfHwgX3ZtLmRhdGEuZGlzYWJsZUNoZWNrYm94IH0sIG5hdGl2ZU9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO3JldHVybiBfdm0uaGFuZGxlQ2hlY2soJGV2ZW50KTtcbiAgICAgIH0gfSB9KSA6IF92bS5fZSgpLCBfdm0uX3YoXCIgXCIpLCBfdm0uZGF0YS5yZW5kZXIgPyBfYygnUmVuZGVyJywgeyBhdHRyczogeyBcInJlbmRlclwiOiBfdm0uZGF0YS5yZW5kZXIsIFwiZGF0YVwiOiBfdm0uZGF0YSwgXCJub2RlXCI6IF92bS5ub2RlIH0gfSkgOiBfdm0uaXNQYXJlbnRSZW5kZXIgPyBfYygnUmVuZGVyJywgeyBhdHRyczogeyBcInJlbmRlclwiOiBfdm0ucGFyZW50UmVuZGVyLCBcImRhdGFcIjogX3ZtLmRhdGEsIFwibm9kZVwiOiBfdm0ubm9kZSB9IH0pIDogX2MoJ3NwYW4nLCB7IGNsYXNzOiBfdm0udGl0bGVDbGFzc2VzLCBvbjogeyBcImNsaWNrXCI6IF92bS5oYW5kbGVTZWxlY3QgfSB9LCBbX3ZtLl92KF92bS5fcyhfdm0uZGF0YS50aXRsZSkpXSksIF92bS5fdihcIiBcIiksIF92bS5fbChfdm0uY2hpbGRyZW4sIGZ1bmN0aW9uIChpdGVtLCBpKSB7XG4gICAgcmV0dXJuIF92bS5kYXRhLmV4cGFuZCA/IF9jKCdUcmVlLW5vZGUnLCB7IGtleTogaSwgYXR0cnM6IHsgXCJhcHBlYXJcIjogX3ZtLmFwcGVhckJ5Q2xpY2tBcnJvdywgXCJkYXRhXCI6IGl0ZW0sIFwibXVsdGlwbGVcIjogX3ZtLm11bHRpcGxlLCBcInNob3ctY2hlY2tib3hcIjogX3ZtLnNob3dDaGVja2JveCwgXCJjaGlsZHJlbi1rZXlcIjogX3ZtLmNoaWxkcmVuS2V5IH0gfSkgOiBfdm0uX2UoKTtcbiAgfSldLCAyKV0pXSk7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA2MTAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0ucHJlZml4Q2xzIH0sIFtfdm0uX2woX3ZtLnN0YXRlVHJlZSwgZnVuY3Rpb24gKGl0ZW0sIGkpIHtcbiAgICByZXR1cm4gX2MoJ1RyZWUtbm9kZScsIHsga2V5OiBpLCBhdHRyczogeyBcImRhdGFcIjogaXRlbSwgXCJ2aXNpYmxlXCI6IFwiXCIsIFwibXVsdGlwbGVcIjogX3ZtLm11bHRpcGxlLCBcInNob3ctY2hlY2tib3hcIjogX3ZtLnNob3dDaGVja2JveCwgXCJjaGlsZHJlbi1rZXlcIjogX3ZtLmNoaWxkcmVuS2V5IH0gfSk7XG4gIH0pLCBfdm0uX3YoXCIgXCIpLCAhX3ZtLnN0YXRlVHJlZS5sZW5ndGggPyBfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWVtcHR5J10gfSwgW192bS5fdihfdm0uX3MoX3ZtLmxvY2FsZUVtcHR5VGV4dCkpXSkgOiBfdm0uX2UoKV0sIDIpO1xufTtcbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTtcbmV4cG9ydHMucmVuZGVyID0gcmVuZGVyO1xuZXhwb3J0cy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbi8qKiovIH0pLFxuLyogNjExICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfdXBsb2FkID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2MTIpO1xuXG52YXIgX3VwbG9hZDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF91cGxvYWQpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSBfdXBsb2FkMi5kZWZhdWx0O1xuXG4vKioqLyB9KSxcbi8qIDYxMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF91cGxvYWRfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI0Myk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdXBsb2FkX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdXBsb2FkX3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdXBsb2FkX3Z1ZV9fKSBpZihfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fICE9PSAnZGVmYXVsdCcpIChmdW5jdGlvbihrZXkpIHsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIGtleSwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF91cGxvYWRfdnVlX19ba2V5XTsgfSkgfShfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fKSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNzgzZTc5YmRfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF91cGxvYWRfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDYxNik7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNzgzZTc5YmRfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF91cGxvYWRfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl83ODNlNzliZF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3VwbG9hZF92dWVfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qIHNjcmlwdCAqL1xuXG5cbi8qIHRlbXBsYXRlICovXG5cbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcblxudmFyIENvbXBvbmVudCA9IE9iamVjdChfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX19bXCJhXCIgLyogZGVmYXVsdCAqL10pKFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF91cGxvYWRfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl83ODNlNzliZF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3VwbG9hZF92dWVfX1tcInJlbmRlclwiXSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNzgzZTc5YmRfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF91cGxvYWRfdnVlX19bXCJzdGF0aWNSZW5kZXJGbnNcIl0sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKENvbXBvbmVudC5leHBvcnRzKTtcblxuXG4vKioqLyB9KSxcbi8qIDYxMyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF91cGxvYWRfbGlzdF92dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjQ0KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF91cGxvYWRfbGlzdF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3VwbG9hZF9saXN0X3Z1ZV9fKTtcbi8qIGhhcm1vbnkgbmFtZXNwYWNlIHJlZXhwb3J0ICh1bmtub3duKSAqLyBmb3IodmFyIF9fV0VCUEFDS19JTVBPUlRfS0VZX18gaW4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdXBsb2FkX2xpc3RfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3VwbG9hZF9saXN0X3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzUwNTcxYTM0X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdXBsb2FkX2xpc3RfdnVlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDYxNCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNTA1NzFhMzRfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF91cGxvYWRfbGlzdF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzUwNTcxYTM0X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfdXBsb2FkX2xpc3RfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfdXBsb2FkX2xpc3RfdnVlX19fZGVmYXVsdC5hLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81MDU3MWEzNF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3VwbG9hZF9saXN0X3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl81MDU3MWEzNF9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3VwbG9hZF9saXN0X3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA2MTQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCd1bCcsIHsgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1saXN0J10gfSwgX3ZtLl9sKF92bS5maWxlcywgZnVuY3Rpb24gKGZpbGUpIHtcbiAgICByZXR1cm4gX2MoJ2xpJywgeyBjbGFzczogX3ZtLmZpbGVDbHMoZmlsZSksIG9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgICAgcmV0dXJuIF92bS5oYW5kbGVDbGljayhmaWxlKTtcbiAgICAgICAgfSB9IH0sIFtfYygnc3BhbicsIHsgb246IHsgXCJjbGlja1wiOiBmdW5jdGlvbiBjbGljaygkZXZlbnQpIHtcbiAgICAgICAgICByZXR1cm4gX3ZtLmhhbmRsZVByZXZpZXcoZmlsZSk7XG4gICAgICAgIH0gfSB9LCBbX2MoJ0ljb24nLCB7IGF0dHJzOiB7IFwidHlwZVwiOiBfdm0uZm9ybWF0KGZpbGUpIH0gfSksIF92bS5fdihcIiBcIiArIF92bS5fcyhmaWxlLm5hbWUpICsgXCJcXG4gICAgICAgIFwiKV0sIDEpLCBfdm0uX3YoXCIgXCIpLCBfYygnSWNvbicsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiBmaWxlLnN0YXR1cyA9PT0gJ2ZpbmlzaGVkJywgZXhwcmVzc2lvbjogXCJmaWxlLnN0YXR1cyA9PT0gJ2ZpbmlzaGVkJ1wiIH1dLCBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLWxpc3QtcmVtb3ZlJ10sIGF0dHJzOiB7IFwidHlwZVwiOiBcImlvcy1jbG9zZVwiIH0sIG5hdGl2ZU9uOiB7IFwiY2xpY2tcIjogZnVuY3Rpb24gY2xpY2soJGV2ZW50KSB7XG4gICAgICAgICAgcmV0dXJuIF92bS5oYW5kbGVSZW1vdmUoZmlsZSk7XG4gICAgICAgIH0gfSB9KSwgX3ZtLl92KFwiIFwiKSwgX2MoJ3RyYW5zaXRpb24nLCB7IGF0dHJzOiB7IFwibmFtZVwiOiBcImZhZGVcIiB9IH0sIFtmaWxlLnNob3dQcm9ncmVzcyA/IF9jKCdpLXByb2dyZXNzJywgeyBhdHRyczogeyBcInN0cm9rZS13aWR0aFwiOiAyLCBcInBlcmNlbnRcIjogX3ZtLnBhcnNlUGVyY2VudGFnZShmaWxlLnBlcmNlbnRhZ2UpLCBcInN0YXR1c1wiOiBmaWxlLnN0YXR1cyA9PT0gJ2ZpbmlzaGVkJyAmJiBmaWxlLnNob3dQcm9ncmVzcyA/ICdzdWNjZXNzJyA6ICdub3JtYWwnIH0gfSkgOiBfdm0uX2UoKV0sIDEpXSwgMSk7XG4gIH0pLCAwKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDYxNSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfbmV3QXJyb3dDaGVjazIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpO1xuXG52YXIgX25ld0Fycm93Q2hlY2szID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbmV3QXJyb3dDaGVjazIpO1xuXG52YXIgX2tleXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI1KTtcblxudmFyIF9rZXlzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2tleXMpO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB1cGxvYWQ7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIGdldEVycm9yKGFjdGlvbiwgb3B0aW9uLCB4aHIpIHtcbiAgICB2YXIgbXNnID0gJ2ZhaWwgdG8gcG9zdCAnICsgU3RyaW5nKGFjdGlvbikgKyAnICcgKyBTdHJpbmcoeGhyLnN0YXR1cykgKyAnXFwnJztcbiAgICB2YXIgZXJyID0gbmV3IEVycm9yKG1zZyk7XG4gICAgZXJyLnN0YXR1cyA9IHhoci5zdGF0dXM7XG4gICAgZXJyLm1ldGhvZCA9ICdwb3N0JztcbiAgICBlcnIudXJsID0gYWN0aW9uO1xuICAgIHJldHVybiBlcnI7XG59XG5cbmZ1bmN0aW9uIGdldEJvZHkoeGhyKSB7XG4gICAgdmFyIHRleHQgPSB4aHIucmVzcG9uc2VUZXh0IHx8IHhoci5yZXNwb25zZTtcbiAgICBpZiAoIXRleHQpIHtcbiAgICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UodGV4dCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4gdGV4dDtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHVwbG9hZChvcHRpb24pIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgaWYgKHR5cGVvZiBYTUxIdHRwUmVxdWVzdCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcbiAgICB2YXIgYWN0aW9uID0gb3B0aW9uLmFjdGlvbjtcblxuICAgIGlmICh4aHIudXBsb2FkKSB7XG4gICAgICAgIHhoci51cGxvYWQub25wcm9ncmVzcyA9IGZ1bmN0aW9uIHByb2dyZXNzKGUpIHtcbiAgICAgICAgICAgIGlmIChlLnRvdGFsID4gMCkge1xuICAgICAgICAgICAgICAgIGUucGVyY2VudCA9IGUubG9hZGVkIC8gZS50b3RhbCAqIDEwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9wdGlvbi5vblByb2dyZXNzKGUpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIHZhciBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuXG4gICAgaWYgKG9wdGlvbi5kYXRhKSB7XG4gICAgICAgICgwLCBfa2V5czIuZGVmYXVsdCkob3B0aW9uLmRhdGEpLm1hcChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgICAoMCwgX25ld0Fycm93Q2hlY2szLmRlZmF1bHQpKHRoaXMsIF90aGlzKTtcblxuICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKGtleSwgb3B0aW9uLmRhdGFba2V5XSk7XG4gICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgfVxuXG4gICAgZm9ybURhdGEuYXBwZW5kKG9wdGlvbi5maWxlbmFtZSwgb3B0aW9uLmZpbGUpO1xuXG4gICAgeGhyLm9uZXJyb3IgPSBmdW5jdGlvbiBlcnJvcihlKSB7XG4gICAgICAgIG9wdGlvbi5vbkVycm9yKGUpO1xuICAgIH07XG5cbiAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gb25sb2FkKCkge1xuICAgICAgICBpZiAoeGhyLnN0YXR1cyA8IDIwMCB8fCB4aHIuc3RhdHVzID49IDMwMCkge1xuICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi5vbkVycm9yKGdldEVycm9yKGFjdGlvbiwgb3B0aW9uLCB4aHIpLCBnZXRCb2R5KHhocikpO1xuICAgICAgICB9XG5cbiAgICAgICAgb3B0aW9uLm9uU3VjY2VzcyhnZXRCb2R5KHhocikpO1xuICAgIH07XG5cbiAgICB4aHIub3BlbigncG9zdCcsIGFjdGlvbiwgdHJ1ZSk7XG5cbiAgICBpZiAob3B0aW9uLndpdGhDcmVkZW50aWFscyAmJiAnd2l0aENyZWRlbnRpYWxzJyBpbiB4aHIpIHtcbiAgICAgICAgeGhyLndpdGhDcmVkZW50aWFscyA9IHRydWU7XG4gICAgfVxuXG4gICAgdmFyIGhlYWRlcnMgPSBvcHRpb24uaGVhZGVycyB8fCB7fTtcblxuICAgIGZvciAodmFyIGl0ZW0gaW4gaGVhZGVycykge1xuICAgICAgICBpZiAoaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpdGVtKSAmJiBoZWFkZXJzW2l0ZW1dICE9PSBudWxsKSB7XG4gICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcihpdGVtLCBoZWFkZXJzW2l0ZW1dKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB4aHIuc2VuZChmb3JtRGF0YSk7XG59XG5cbi8qKiovIH0pLFxuLyogNjE2ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHNdIH0sIFtfYygnZGl2JywgeyBjbGFzczogX3ZtLmNsYXNzZXMsIG9uOiB7IFwiY2xpY2tcIjogX3ZtLmhhbmRsZUNsaWNrLCBcImRyb3BcIjogZnVuY3Rpb24gZHJvcCgkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIF92bS5vbkRyb3AoJGV2ZW50KTtcbiAgICAgIH0sIFwicGFzdGVcIjogX3ZtLmhhbmRsZVBhc3RlLCBcImRyYWdvdmVyXCI6IGZ1bmN0aW9uIGRyYWdvdmVyKCRldmVudCkge1xuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtfdm0uZHJhZ092ZXIgPSB0cnVlO1xuICAgICAgfSwgXCJkcmFnbGVhdmVcIjogZnVuY3Rpb24gZHJhZ2xlYXZlKCRldmVudCkge1xuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtfdm0uZHJhZ092ZXIgPSBmYWxzZTtcbiAgICAgIH0gfSB9LCBbX2MoJ2lucHV0JywgeyByZWY6IFwiaW5wdXRcIiwgY2xhc3M6IFtfdm0ucHJlZml4Q2xzICsgJy1pbnB1dCddLCBhdHRyczogeyBcInR5cGVcIjogXCJmaWxlXCIsIFwibXVsdGlwbGVcIjogX3ZtLm11bHRpcGxlLCBcImFjY2VwdFwiOiBfdm0uYWNjZXB0IH0sIG9uOiB7IFwiY2hhbmdlXCI6IF92bS5oYW5kbGVDaGFuZ2UgfSB9KSwgX3ZtLl92KFwiIFwiKSwgX3ZtLl90KFwiZGVmYXVsdFwiKV0sIDIpLCBfdm0uX3YoXCIgXCIpLCBfdm0uX3QoXCJ0aXBcIiksIF92bS5fdihcIiBcIiksIF92bS5zaG93VXBsb2FkTGlzdCA/IF9jKCd1cGxvYWQtbGlzdCcsIHsgYXR0cnM6IHsgXCJmaWxlc1wiOiBfdm0uZmlsZUxpc3QgfSwgb246IHsgXCJvbi1maWxlLXJlbW92ZVwiOiBfdm0uaGFuZGxlUmVtb3ZlLCBcIm9uLWZpbGUtcHJldmlld1wiOiBfdm0uaGFuZGxlUHJldmlldyB9IH0pIDogX3ZtLl9lKCldLCAyKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDYxNyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5Db2wgPSBleHBvcnRzLlJvdyA9IHVuZGVmaW5lZDtcblxudmFyIF9yb3cgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDYxOCk7XG5cbnZhciBfcm93MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3Jvdyk7XG5cbnZhciBfY29sID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2MjApO1xuXG52YXIgX2NvbDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jb2wpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLlJvdyA9IF9yb3cyLmRlZmF1bHQ7XG5leHBvcnRzLkNvbCA9IF9jb2wyLmRlZmF1bHQ7XG5cbi8qKiovIH0pLFxuLyogNjE4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3Jvd192dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjQ1KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9yb3dfdnVlX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9yb3dfdnVlX18pO1xuLyogaGFybW9ueSBuYW1lc3BhY2UgcmVleHBvcnQgKHVua25vd24pICovIGZvcih2YXIgX19XRUJQQUNLX0lNUE9SVF9LRVlfXyBpbiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX2JhYmVsX2xvYWRlcl9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV9zY3JpcHRfaW5kZXhfMF9yb3dfdnVlX18pIGlmKF9fV0VCUEFDS19JTVBPUlRfS0VZX18gIT09ICdkZWZhdWx0JykgKGZ1bmN0aW9uKGtleSkgeyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywga2V5LCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3Jvd192dWVfX1trZXldOyB9KSB9KF9fV0VCUEFDS19JTVBPUlRfS0VZX18pKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wZTk5OTI3Ml9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3Jvd192dWVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNjE5KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wZTk5OTI3Ml9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3Jvd192dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzBlOTk5MjcyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfcm93X3Z1ZV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9ydW50aW1lX2NvbXBvbmVudF9ub3JtYWxpemVyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuLyogc2NyaXB0ICovXG5cblxuLyogdGVtcGxhdGUgKi9cblxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IG51bGxcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxuXG52YXIgQ29tcG9uZW50ID0gT2JqZWN0KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfX1tcImFcIiAvKiBkZWZhdWx0ICovXSkoXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX3Jvd192dWVfX19kZWZhdWx0LmEsXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzBlOTk5MjcyX2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfcm93X3Z1ZV9fW1wicmVuZGVyXCJdLFxuICBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX2JhYmVsX2xvYWRlcl9zb3VyY2VNYXBfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3RlbXBsYXRlX2NvbXBpbGVyX2luZGV4X2lkX2RhdGFfdl8wZTk5OTI3Ml9oYXNTY29wZWRfZmFsc2Vfb3B0aW9uc0lkXzBfYnVibGVfdHJhbnNmb3Jtc19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfc2VsZWN0b3JfdHlwZV90ZW1wbGF0ZV9pbmRleF8wX3Jvd192dWVfX1tcInN0YXRpY1JlbmRlckZuc1wiXSxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoQ29tcG9uZW50LmV4cG9ydHMpO1xuXG5cbi8qKiovIH0pLFxuLyogNjE5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpczt2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oO3JldHVybiBfYygnZGl2JywgeyBjbGFzczogX3ZtLmNsYXNzZXMsIHN0eWxlOiBfdm0uc3R5bGVzIH0sIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwgMik7XG59O1xudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcblxuLyoqKi8gfSksXG4vKiA2MjAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY29sX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyNDYpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NvbF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NvbF92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX2NvbF92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY29sX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzNjMDJlMWM2X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY29sX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2MjEpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzNjMDJlMWM2X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY29sX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfM2MwMmUxYzZfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jb2xfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfY29sX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfM2MwMmUxYzZfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9jb2xfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzNjMDJlMWM2X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfY29sX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA2MjEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdkaXYnLCB7IGNsYXNzOiBfdm0uY2xhc3Nlcywgc3R5bGU6IF92bS5zdHlsZXMgfSwgW192bS5fdChcImRlZmF1bHRcIildLCAyKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KSxcbi8qIDYyMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5PcHRpb25Hcm91cCA9IGV4cG9ydHMuT3B0aW9uID0gZXhwb3J0cy5TZWxlY3QgPSB1bmRlZmluZWQ7XG5cbnZhciBfc2VsZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXyg3MCk7XG5cbnZhciBfc2VsZWN0MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3NlbGVjdCk7XG5cbnZhciBfb3B0aW9uID0gX193ZWJwYWNrX3JlcXVpcmVfXyg3NCk7XG5cbnZhciBfb3B0aW9uMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX29wdGlvbik7XG5cbnZhciBfb3B0aW9uR3JvdXAgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDYyMyk7XG5cbnZhciBfb3B0aW9uR3JvdXAyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfb3B0aW9uR3JvdXApO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLlNlbGVjdCA9IF9zZWxlY3QyLmRlZmF1bHQ7XG5leHBvcnRzLk9wdGlvbiA9IF9vcHRpb24yLmRlZmF1bHQ7XG5leHBvcnRzLk9wdGlvbkdyb3VwID0gX29wdGlvbkdyb3VwMi5kZWZhdWx0O1xuZXhwb3J0cy5kZWZhdWx0ID0gX3NlbGVjdDIuZGVmYXVsdDtcblxuLyoqKi8gfSksXG4vKiA2MjMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfb3B0aW9uX2dyb3VwX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyNDcpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX29wdGlvbl9ncm91cF92dWVfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX29wdGlvbl9ncm91cF92dWVfXyk7XG4vKiBoYXJtb255IG5hbWVzcGFjZSByZWV4cG9ydCAodW5rbm93bikgKi8gZm9yKHZhciBfX1dFQlBBQ0tfSU1QT1JUX0tFWV9fIGluIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fYmFiZWxfbG9hZGVyX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3NjcmlwdF9pbmRleF8wX29wdGlvbl9ncm91cF92dWVfXykgaWYoX19XRUJQQUNLX0lNUE9SVF9LRVlfXyAhPT0gJ2RlZmF1bHQnKSAoZnVuY3Rpb24oa2V5KSB7IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBrZXksIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfb3B0aW9uX2dyb3VwX3Z1ZV9fW2tleV07IH0pIH0oX19XRUJQQUNLX0lNUE9SVF9LRVlfXykpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzQzOGVjNjY5X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfb3B0aW9uX2dyb3VwX3Z1ZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2MjQpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzQzOGVjNjY5X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfb3B0aW9uX2dyb3VwX3Z1ZV9fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNDM4ZWM2NjlfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9vcHRpb25fZ3JvdXBfdnVlX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3J1bnRpbWVfY29tcG9uZW50X25vcm1hbGl6ZXJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKiBzY3JpcHQgKi9cblxuXG4vKiB0ZW1wbGF0ZSAqL1xuXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG5cbnZhciBDb21wb25lbnQgPSBPYmplY3QoX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfcnVudGltZV9jb21wb25lbnRfbm9ybWFsaXplcl9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKShcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19iYWJlbF9sb2FkZXJfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfc2NyaXB0X2luZGV4XzBfb3B0aW9uX2dyb3VwX3Z1ZV9fX2RlZmF1bHQuYSxcbiAgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19iYWJlbF9sb2FkZXJfc291cmNlTWFwX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl90ZW1wbGF0ZV9jb21waWxlcl9pbmRleF9pZF9kYXRhX3ZfNDM4ZWM2NjlfaGFzU2NvcGVkX2ZhbHNlX29wdGlvbnNJZF8wX2J1YmxlX3RyYW5zZm9ybXNfbm9kZV9tb2R1bGVzX3Z1ZV9sb2FkZXJfbGliX3NlbGVjdG9yX3R5cGVfdGVtcGxhdGVfaW5kZXhfMF9vcHRpb25fZ3JvdXBfdnVlX19bXCJyZW5kZXJcIl0sXG4gIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fYmFiZWxfbG9hZGVyX3NvdXJjZU1hcF9ub2RlX21vZHVsZXNfdnVlX2xvYWRlcl9saWJfdGVtcGxhdGVfY29tcGlsZXJfaW5kZXhfaWRfZGF0YV92XzQzOGVjNjY5X2hhc1Njb3BlZF9mYWxzZV9vcHRpb25zSWRfMF9idWJsZV90cmFuc2Zvcm1zX25vZGVfbW9kdWxlc192dWVfbG9hZGVyX2xpYl9zZWxlY3Rvcl90eXBlX3RlbXBsYXRlX2luZGV4XzBfb3B0aW9uX2dyb3VwX3Z1ZV9fW1wic3RhdGljUmVuZGVyRm5zXCJdLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChDb21wb25lbnQuZXhwb3J0cyk7XG5cblxuLyoqKi8gfSksXG4vKiA2MjQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzO3ZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7cmV0dXJuIF9jKCdsaScsIHsgZGlyZWN0aXZlczogW3sgbmFtZTogXCJzaG93XCIsIHJhd05hbWU6IFwidi1zaG93XCIsIHZhbHVlOiAhX3ZtLmhpZGRlbiwgZXhwcmVzc2lvbjogXCIhaGlkZGVuXCIgfV0sIGNsYXNzOiBbX3ZtLnByZWZpeENscyArICctd3JhcCddIH0sIFtfYygnZGl2JywgeyBjbGFzczogW192bS5wcmVmaXhDbHMgKyAnLXRpdGxlJ10gfSwgW192bS5fdihfdm0uX3MoX3ZtLmxhYmVsKSldKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ3VsJywgW19jKCdsaScsIHsgcmVmOiBcIm9wdGlvbnNcIiwgY2xhc3M6IFtfdm0ucHJlZml4Q2xzXSB9LCBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sIDIpXSldKTtcbn07XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW107XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4vKioqLyB9KVxuLyoqKioqKi8gXSk7XG59KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWl2aWV3LmpzLm1hcFxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19pdmlld0AzLjUuMUBpdmlldy9kaXN0L2l2aWV3LmpzXG4vLyBtb2R1bGUgaWQgPSAyOTVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///295\n");
2021
2022/***/ }),
2023/* 296 */
2024/***/ (function(module, __webpack_exports__, __webpack_require__) {
2025
2026"use strict";
2027eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\")\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-4e2a55b4\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9nbG9iYWwtc2V0dGluZ3MvaW5kZXgudnVlPzMyYmUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMjk2LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcImRpdlwiKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtNGUyYTU1YjRcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtNGUyYTU1YjRcIixcImhhc1Njb3BlZFwiOmZhbHNlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvZ2xvYmFsLXNldHRpbmdzL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMjk2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///296\n");
2028
2029/***/ }),
2030/* 297 */
2031/***/ (function(module, __webpack_exports__, __webpack_require__) {
2032
2033"use strict";
2034eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(98);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_7198522b_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(302);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(298)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-7198522b\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_7198522b_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-manager/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-7198522b\", Component.options)\n } else {\n hotAPI.reload(\"data-v-7198522b\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLW1hbmFnZXIvaW5kZXgudnVlPzJhM2MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUErVTtBQUN6VjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDNlM7QUFDN1M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGlRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiMjk3LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNzE5ODUyMmJcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNzE5ODUyMmJcXFwiLFxcXCJoYXNTY29wZWRcXFwiOnRydWUsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gXCJkYXRhLXYtNzE5ODUyMmJcIlxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci1tYW5hZ2VyL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi03MTk4NTIyYlwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTcxOTg1MjJiXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci1tYW5hZ2VyL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMjk3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///297\n");
2035
2036/***/ }),
2037/* 298 */
2038/***/ (function(module, exports, __webpack_require__) {
2039
2040eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(299);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"1792db1a\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7198522b\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7198522b\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLW1hbmFnZXIvaW5kZXgudnVlPzM2OGYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBcVc7QUFDM1gsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLGtGQUFrRjtBQUMvUSxzTUFBc00sa0ZBQWtGO0FBQ3hSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiMjk4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTcxOTg1MjJiXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjE3OTJkYjFhXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi03MTk4NTIyYlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTcxOTg1MjJiXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNzE5ODUyMmJcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLW1hbmFnZXIvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAyOThcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///298\n");
2041
2042/***/ }),
2043/* 299 */
2044/***/ (function(module, exports, __webpack_require__) {
2045
2046eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.hjBhxn[data-v-7198522b]{\\n display: block;\\n}\\n.eftufS[data-v-7198522b] {\\n padding-bottom: 0px;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/plugins/main-tool-editor-manager/myPlugin/page-ide/lib/plugins/main-tool-editor-manager/index.vue\"],\"names\":[],\"mappings\":\";AAkGA;IACA,eAAA;CACA;AACA;IACA,oBAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div v-if=\\\"hackReset\\\" style=\\\"width: 100%\\\">\\r\\n <EditorContainer :theme=\\\"{}\\\" v-if=\\\"typeof editors === 'string'\\\">\\r\\n <component :is=\\\"item\\\" v-for=\\\"(item,index) in pluginsBelongKeys[`mainToolEditorType${editors}`]\\\"\\r\\n :key=\\\"index\\\"></component>\\r\\n </EditorContainer>\\r\\n <div v-else>\\r\\n <template v-for=\\\"(editor,index) in editors\\\">\\r\\n <TabTitle v-if=\\\"typeof editor ==='string'\\\" :key=\\\"index\\\">{{editor}}</TabTitle>\\r\\n <EditorContainer v-else :key=\\\"index\\\"\\r\\n :theme=\\\"{isObjectType:editor.type==='array'||editor.type==='object'}\\\"\\r\\n v-show=\\\"vShow(editor)\\\"\\r\\n >\\r\\n\\r\\n <EditorBoxContainer style=\\\"width: 100%;text-align: left;\\\">\\r\\n <template>\\r\\n <component :instanceInfo=\\\"instanceInfo\\\" :editor=\\\"editor\\\" :is=\\\"innerItem\\\"\\r\\n v-for=\\\"(innerItem,innerIndex) in pluginsBelongKeys[`mainToolEditorType${upperFirst(camelCase(editor.type))}`]\\\"\\r\\n :key=\\\"innerIndex\\\"\\r\\n ></component>\\r\\n </template>\\r\\n </EditorBoxContainer>\\r\\n </EditorContainer>\\r\\n </template>\\r\\n </div>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\n import * as components from './style';\\r\\n import {SVC} from '../../service';\\r\\n import * as _ from 'lodash';\\r\\n import eventbus from '../../service/eventbus';\\r\\n\\r\\n export default {\\r\\n components: {\\r\\n ...components\\r\\n },\\r\\n position: 'mainToolEditorManager',\\r\\n name: 'main-tool-editor-manager',\\r\\n computed: {\\r\\n applicationState() {\\r\\n return this.$store.state.application;\\r\\n },\\r\\n viewportState() {\\r\\n return this.$store.state.viewport;\\r\\n },\\r\\n currentEditInstanceKey() {\\r\\n this.hackReset = false\\r\\n this.$nextTick(() => {\\r\\n this.hackReset = true\\r\\n });\\r\\n return this.$store.state.viewport.currentEditInstanceKey;\\r\\n },\\r\\n editors() {\\r\\n\\r\\n const instanceKey = this.currentEditInstanceKey;\\r\\n if (!this.viewportState.instances.has(instanceKey)) {\\r\\n return null;\\r\\n }\\r\\n\\r\\n this.instanceInfo = this.viewportState.instances.get(instanceKey);\\r\\n return this.applicationState.componentSetting.get(\\r\\n this.instanceInfo.gaeaKey\\r\\n ).editors;\\r\\n }\\r\\n },\\r\\n data() {\\r\\n return {\\r\\n instanceInfo: null,\\r\\n pluginsBelongKeys: SVC.pluginsBelongKeys,\\r\\n hackReset: true,\\r\\n hideField: \\\"\\\"\\r\\n };\\r\\n },\\r\\n methods: {\\r\\n upperFirst: _.upperFirst,\\r\\n camelCase: _.camelCase,\\r\\n vShow(data) {\\r\\n if (data.isShow === \\\"hide\\\" || data.field === this.hideField) {\\r\\n return false;\\r\\n } else {\\r\\n return true;\\r\\n }\\r\\n }\\r\\n },\\r\\n created() {\\r\\n\\r\\n\\r\\n eventbus.$on(\\\"computIsShow\\\", (data) => {\\r\\n this.hideField = data.com;//如果渲染的组件为传过来的组件则隐藏\\r\\n });\\r\\n\\r\\n }\\r\\n };\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .hjBhxn{\\r\\n display: block;\\r\\n }\\r\\n .eftufS {\\r\\n padding-bottom: 0px;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLW1hbmFnZXIvaW5kZXgudnVlPzQ4MDYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLDhCQUE4QixxQkFBcUIsR0FBRyw0QkFBNEIsMEJBQTBCLEdBQUcsVUFBVSxtTUFBbU0sTUFBTSxVQUFVLEtBQUssS0FBSyxXQUFXLG9KQUFvSiwrSUFBK0ksUUFBUSxnUUFBZ1EsUUFBUSxvSEFBb0gsMkRBQTJELHdKQUF3SixpQkFBaUIsMlFBQTJRLG1DQUFtQyw0WEFBNFgsZ0JBQWdCLElBQUksc0JBQXNCLG9DQUFvQyxzREFBc0QsNEJBQTRCLHlCQUF5QiwwQ0FBMEMsbUhBQW1ILG9DQUFvQyx5REFBeUQsaUJBQWlCLGtDQUFrQyxzREFBc0QsaUJBQWlCLDJDQUEyQyxvRkFBb0Ysa0VBQWtFLEVBQUUsNkVBQTZFLGlCQUFpQiw0QkFBNEIsd0VBQXdFLHlFQUF5RSxvQ0FBb0MscUJBQXFCLDBGQUEwRixxSkFBcUosaUJBQWlCLGFBQWEscUJBQXFCLHdCQUF3Qiw2TEFBNkwsYUFBYSx1QkFBdUIsNkdBQTZHLG9GQUFvRixxQ0FBcUMscUJBQXFCLE9BQU8sb0NBQW9DLHFCQUFxQixpQkFBaUIsYUFBYSx3QkFBd0Isa0VBQWtFLDhDQUE4QyxvQ0FBb0MsRUFBRSxpQkFBaUIsVUFBVSxtREFBbUQsMkJBQTJCLFNBQVMsaUJBQWlCLGdDQUFnQyxTQUFTLG1DQUFtQzs7QUFFbHRJIiwiZmlsZSI6IjI5OS5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcbi5oakJoeG5bZGF0YS12LTcxOTg1MjJiXXtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5lZnR1ZlNbZGF0YS12LTcxOTg1MjJiXSB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJFOi9wcm9qZWN0L3BhZ2UtaWRlLXhpYW4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci1tYW5hZ2VyL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItbWFuYWdlci9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQWtHQTtJQUNBLGVBQUE7Q0FDQTtBQUNBO0lBQ0Esb0JBQUE7Q0FDQVwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjx0ZW1wbGF0ZT5cXHJcXG4gICAgPGRpdiB2LWlmPVxcXCJoYWNrUmVzZXRcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMTAwJVxcXCI+XFxyXFxuICAgICAgICA8RWRpdG9yQ29udGFpbmVyIDp0aGVtZT1cXFwie31cXFwiIHYtaWY9XFxcInR5cGVvZiBlZGl0b3JzID09PSAnc3RyaW5nJ1xcXCI+XFxyXFxuICAgICAgICAgICAgPGNvbXBvbmVudCA6aXM9XFxcIml0ZW1cXFwiIHYtZm9yPVxcXCIoaXRlbSxpbmRleCkgaW4gcGx1Z2luc0JlbG9uZ0tleXNbYG1haW5Ub29sRWRpdG9yVHlwZSR7ZWRpdG9yc31gXVxcXCJcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgIDprZXk9XFxcImluZGV4XFxcIj48L2NvbXBvbmVudD5cXHJcXG4gICAgICAgIDwvRWRpdG9yQ29udGFpbmVyPlxcclxcbiAgICAgICAgPGRpdiB2LWVsc2U+XFxyXFxuICAgICAgICAgICAgPHRlbXBsYXRlIHYtZm9yPVxcXCIoZWRpdG9yLGluZGV4KSBpbiBlZGl0b3JzXFxcIj5cXHJcXG4gICAgICAgICAgICAgICAgPFRhYlRpdGxlIHYtaWY9XFxcInR5cGVvZiBlZGl0b3IgPT09J3N0cmluZydcXFwiIDprZXk9XFxcImluZGV4XFxcIj57e2VkaXRvcn19PC9UYWJUaXRsZT5cXHJcXG4gICAgICAgICAgICAgICAgPEVkaXRvckNvbnRhaW5lciB2LWVsc2UgOmtleT1cXFwiaW5kZXhcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnRoZW1lPVxcXCJ7aXNPYmplY3RUeXBlOmVkaXRvci50eXBlPT09J2FycmF5J3x8ZWRpdG9yLnR5cGU9PT0nb2JqZWN0J31cXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdi1zaG93PVxcXCJ2U2hvdyhlZGl0b3IpXFxcIlxcclxcbiAgICAgICAgICAgICAgICA+XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgICAgICA8RWRpdG9yQm94Q29udGFpbmVyIHN0eWxlPVxcXCJ3aWR0aDogMTAwJTt0ZXh0LWFsaWduOiBsZWZ0O1xcXCI+XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgPHRlbXBsYXRlPlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29tcG9uZW50IDppbnN0YW5jZUluZm89XFxcImluc3RhbmNlSW5mb1xcXCIgOmVkaXRvcj1cXFwiZWRpdG9yXFxcIiA6aXM9XFxcImlubmVySXRlbVxcXCJcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2LWZvcj1cXFwiKGlubmVySXRlbSxpbm5lckluZGV4KSBpbiBwbHVnaW5zQmVsb25nS2V5c1tgbWFpblRvb2xFZGl0b3JUeXBlJHt1cHBlckZpcnN0KGNhbWVsQ2FzZShlZGl0b3IudHlwZSkpfWBdXFxcIlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDprZXk9XFxcImlubmVySW5kZXhcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY29tcG9uZW50PlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+XFxyXFxuICAgICAgICAgICAgICAgICAgICA8L0VkaXRvckJveENvbnRhaW5lcj5cXHJcXG4gICAgICAgICAgICAgICAgPC9FZGl0b3JDb250YWluZXI+XFxyXFxuICAgICAgICAgICAgPC90ZW1wbGF0ZT5cXHJcXG4gICAgICAgIDwvZGl2PlxcclxcbiAgICA8L2Rpdj5cXHJcXG48L3RlbXBsYXRlPlxcclxcblxcclxcbjxzY3JpcHQ+XFxyXFxuICAgIGltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XFxyXFxuICAgIGltcG9ydCB7U1ZDfSBmcm9tICcuLi8uLi9zZXJ2aWNlJztcXHJcXG4gICAgaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xcclxcbiAgICBpbXBvcnQgZXZlbnRidXMgZnJvbSAnLi4vLi4vc2VydmljZS9ldmVudGJ1cyc7XFxyXFxuXFxyXFxuICAgIGV4cG9ydCBkZWZhdWx0IHtcXHJcXG4gICAgICAgIGNvbXBvbmVudHM6IHtcXHJcXG4gICAgICAgICAgICAuLi5jb21wb25lbnRzXFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgcG9zaXRpb246ICdtYWluVG9vbEVkaXRvck1hbmFnZXInLFxcclxcbiAgICAgICAgbmFtZTogJ21haW4tdG9vbC1lZGl0b3ItbWFuYWdlcicsXFxyXFxuICAgICAgICBjb21wdXRlZDoge1xcclxcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uU3RhdGUoKSB7XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5hcHBsaWNhdGlvbjtcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIHZpZXdwb3J0U3RhdGUoKSB7XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydDtcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIGN1cnJlbnRFZGl0SW5zdGFuY2VLZXkoKSB7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuaGFja1Jlc2V0ID0gZmFsc2VcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYWNrUmVzZXQgPSB0cnVlXFxyXFxuICAgICAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleTtcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIGVkaXRvcnMoKSB7XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlS2V5ID0gdGhpcy5jdXJyZW50RWRpdEluc3RhbmNlS2V5O1xcclxcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMudmlld3BvcnRTdGF0ZS5pbnN0YW5jZXMuaGFzKGluc3RhbmNlS2V5KSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5pbnN0YW5jZUluZm8gPSB0aGlzLnZpZXdwb3J0U3RhdGUuaW5zdGFuY2VzLmdldChpbnN0YW5jZUtleSk7XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFwcGxpY2F0aW9uU3RhdGUuY29tcG9uZW50U2V0dGluZy5nZXQoXFxyXFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmluc3RhbmNlSW5mby5nYWVhS2V5XFxyXFxuICAgICAgICAgICAgICAgICkuZWRpdG9ycztcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZGF0YSgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4ge1xcclxcbiAgICAgICAgICAgICAgICBpbnN0YW5jZUluZm86IG51bGwsXFxyXFxuICAgICAgICAgICAgICAgIHBsdWdpbnNCZWxvbmdLZXlzOiBTVkMucGx1Z2luc0JlbG9uZ0tleXMsXFxyXFxuICAgICAgICAgICAgICAgIGhhY2tSZXNldDogdHJ1ZSxcXHJcXG4gICAgICAgICAgICAgICAgaGlkZUZpZWxkOiBcXFwiXFxcIlxcclxcbiAgICAgICAgICAgIH07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgbWV0aG9kczoge1xcclxcbiAgICAgICAgICAgIHVwcGVyRmlyc3Q6IF8udXBwZXJGaXJzdCxcXHJcXG4gICAgICAgICAgICBjYW1lbENhc2U6IF8uY2FtZWxDYXNlLFxcclxcbiAgICAgICAgICAgIHZTaG93KGRhdGEpIHtcXHJcXG4gICAgICAgICAgICAgICAgaWYgKGRhdGEuaXNTaG93ID09PSBcXFwiaGlkZVxcXCIgfHwgZGF0YS5maWVsZCA9PT0gdGhpcy5oaWRlRmllbGQpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcXHJcXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSxcXHJcXG4gICAgICAgIGNyZWF0ZWQoKSB7XFxyXFxuXFxyXFxuXFxyXFxuICAgICAgICAgICAgZXZlbnRidXMuJG9uKFxcXCJjb21wdXRJc1Nob3dcXFwiLCAoZGF0YSkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGVGaWVsZCA9IGRhdGEuY29tOy8v5aaC5p6c5riy5p+T55qE57uE5Lu25Li65Lyg6L+H5p2l55qE57uE5Lu25YiZ6ZqQ6JePXFxyXFxuICAgICAgICAgICAgfSk7XFxyXFxuXFxyXFxuICAgICAgICB9XFxyXFxuICAgIH07XFxyXFxuPC9zY3JpcHQ+XFxyXFxuXFxyXFxuPHN0eWxlIHNjb3BlZD5cXHJcXG4gICAgLmhqQmh4bntcXHJcXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xcclxcbiAgICB9XFxyXFxuICAgIC5lZnR1ZlMge1xcclxcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDBweDtcXHJcXG4gICAgfVxcclxcbjwvc3R5bGU+XFxyXFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTcxOTg1MjJiXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci1tYW5hZ2VyL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMjk5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///299\n");
2047
2048/***/ }),
2049/* 300 */
2050/***/ (function(module, exports, __webpack_require__) {
2051
2052"use strict";
2053eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AddButton = exports.Label = exports.Variable = exports.EditorBoxContainer = exports.EditorContainer = exports.TabTitle = exports.ComponentName = exports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n flex-direction: column;\\n flex-grow: 1;\\n background-color: whitesmoke;\\n'], ['\\n display: flex;\\n flex-direction: column;\\n flex-grow: 1;\\n background-color: whitesmoke;\\n']),\n _templateObject2 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n padding: 7px 10px;\\n font-size: 14px;\\n color: #666;\\n font-weight: bold;\\n border-bottom: 1px solid #ddd;\\n'], ['\\n display: flex;\\n padding: 7px 10px;\\n font-size: 14px;\\n color: #666;\\n font-weight: bold;\\n border-bottom: 1px solid #ddd;\\n']),\n _templateObject3 = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 10px;\\n font-size: 14px;\\n color: #666;\\n background-color: #eee;\\n width: 100%;\\n font-weight: bold;\\n'], ['\\n padding: 5px 10px;\\n font-size: 14px;\\n color: #666;\\n background-color: #eee;\\n width: 100%;\\n font-weight: bold;\\n']),\n _templateObject4 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n position: relative;\\n justify-content: space-between;\\n ', '\\n'], ['\\n display: flex;\\n position: relative;\\n justify-content: space-between;\\n ', '\\n']),\n _templateObject5 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n display: flex;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']),\n _templateObject6 = (0, _taggedTemplateLiteral3.default)(['\\n display: none;\\n /* display: flex; */\\n align-items: center;\\n justify-content: center;\\n position: absolute;\\n right: 0;\\n top: 0;\\n width: 30px;\\n height: 20px;\\n background-color: #eee;\\n border-left: 1px solid #ddd;\\n border-bottom: 1px solid #ddd;\\n border-top: 1px solid #ddd;\\n border-bottom-left-radius: 5px;\\n cursor: pointer;\\n fill: #666;\\n &:hover {\\n background-color: white;\\n fill: #333;\\n }\\n ', '\\n'], ['\\n display: none;\\n /* display: flex; */\\n align-items: center;\\n justify-content: center;\\n position: absolute;\\n right: 0;\\n top: 0;\\n width: 30px;\\n height: 20px;\\n background-color: #eee;\\n border-left: 1px solid #ddd;\\n border-bottom: 1px solid #ddd;\\n border-top: 1px solid #ddd;\\n border-bottom-left-radius: 5px;\\n cursor: pointer;\\n fill: #666;\\n &:hover {\\n background-color: white;\\n fill: #333;\\n }\\n ', '\\n']),\n _templateObject7 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n font-size: 14px;\\n color: #666;\\n white-space: nowrap;\\n padding: 5px 0;\\n margin-left: 10px;\\n ', '\\n'], ['\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n font-size: 14px;\\n color: #666;\\n white-space: nowrap;\\n padding: 5px 0;\\n margin-left: 10px;\\n ', '\\n']),\n _templateObject8 = (0, _taggedTemplateLiteral3.default)(['\\n margin-left: 10px;\\n fill: #666;\\n cursor: pointer;\\n transition: color .3s;\\n &:hover {\\n fill: #333;\\n }\\n'], ['\\n margin-left: 10px;\\n fill: #666;\\n cursor: pointer;\\n transition: color .3s;\\n &:hover {\\n fill: #333;\\n }\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n\nvar ComponentName = exports.ComponentName = _vueStyledComponents2.default.div(_templateObject2);\n\nvar TabTitle = exports.TabTitle = _vueStyledComponents2.default.div(_templateObject3);\n\nvar EditorContainer = exports.EditorContainer = (0, _vueStyledComponents2.default)('div', { theme: Object })(_templateObject4, function (props) {\n return props.theme.isObjectType && '\\n flex-direction: column;\\n justify-content: flex-start;\\n ';\n});\n\nvar EditorBoxContainer = exports.EditorBoxContainer = _vueStyledComponents2.default.div(_templateObject5);\n\nvar Variable = exports.Variable = (0, _vueStyledComponents2.default)('div', { theme: Object })(_templateObject6, function (props) {\n return props.theme.isVariable && '\\n background-color: #cef1ff;\\n &:hover {\\n background-color: #e4f7ff;\\n }\\n ';\n});\n\nvar Label = exports.Label = (0, _vueStyledComponents2.default)('div', { theme: Object })(_templateObject7, function (props) {\n return props.theme.isObjectType && '\\n align-items: flex-start;\\n ';\n});\n\nvar AddButton = exports.AddButton = _vueStyledComponents2.default.div(_templateObject8);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLW1hbmFnZXIvc3R5bGUuanM/OWM0YyJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJDb21wb25lbnROYW1lIiwiVGFiVGl0bGUiLCJFZGl0b3JDb250YWluZXIiLCJ0aGVtZSIsIk9iamVjdCIsInByb3BzIiwiaXNPYmplY3RUeXBlIiwiRWRpdG9yQm94Q29udGFpbmVyIiwiVmFyaWFibGUiLCJpc1ZhcmlhYmxlIiwiTGFiZWwiLCJBZGRCdXR0b24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUVPLElBQU1BLGdDQUFZQyw4QkFBT0MsR0FBbkIsaUJBQU47O0FBT0EsSUFBTUMsd0NBQWdCRiw4QkFBT0MsR0FBdkIsa0JBQU47O0FBU0EsSUFBTUUsOEJBQVdILDhCQUFPQyxHQUFsQixrQkFBTjs7QUFTQSxJQUFNRyw0Q0FBa0IsbUNBQU8sS0FBUCxFQUFjLEVBQUNDLE9BQU9DLE1BQVIsRUFBZCxDQUFsQixtQkFJVCxVQUFDQyxLQUFEO0FBQUEsU0FBV0EsTUFBTUYsS0FBTixDQUFZRyxZQUFaLHlFQUFYO0FBQUEsQ0FKUyxDQUFOOztBQVVBLElBQU1DLGtEQUFxQlQsOEJBQU9DLEdBQTVCLGtCQUFOOztBQU1BLElBQU1TLDhCQUFXLG1DQUFPLEtBQVAsRUFBYyxFQUFDTCxPQUFPQyxNQUFSLEVBQWQsQ0FBWCxtQkFxQlQsVUFBQ0MsS0FBRDtBQUFBLFNBQVdBLE1BQU1GLEtBQU4sQ0FBWU0sVUFBWixrR0FBWDtBQUFBLENBckJTLENBQU47O0FBNkJBLElBQU1DLHdCQUFRLG1DQUFPLEtBQVAsRUFBYyxFQUFDUCxPQUFPQyxNQUFSLEVBQWQsQ0FBUixtQkFTVCxVQUFDQyxLQUFEO0FBQUEsU0FBV0EsTUFBTUYsS0FBTixDQUFZRyxZQUFaLHdDQUFYO0FBQUEsQ0FUUyxDQUFOOztBQWNBLElBQU1LLGdDQUFZYiw4QkFBT0MsR0FBbkIsa0JBQU4iLCJmaWxlIjoiMzAwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICd2dWUtc3R5bGVkLWNvbXBvbmVudHMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZXNtb2tlO1xyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENvbXBvbmVudE5hbWUgPSBzdHlsZWQuZGl2YFxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgcGFkZGluZzogN3B4IDEwcHg7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGNvbG9yOiAjNjY2O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFRhYlRpdGxlID0gc3R5bGVkLmRpdmBcclxuICBwYWRkaW5nOiA1cHggMTBweDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgY29sb3I6ICM2NjY7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBFZGl0b3JDb250YWluZXIgPSBzdHlsZWQoJ2RpdicsIHt0aGVtZTogT2JqZWN0fSlgXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pc09iamVjdFR5cGUgJiYgYFxyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICBgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEVkaXRvckJveENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBWYXJpYWJsZSA9IHN0eWxlZCgnZGl2Jywge3RoZW1lOiBPYmplY3R9KWBcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIC8qIGRpc3BsYXk6IGZsZXg7ICovXHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHdpZHRoOiAzMHB4O1xyXG4gIGhlaWdodDogMjBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xyXG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGZpbGw6ICM2NjY7XHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIGZpbGw6ICMzMzM7XHJcbiAgfVxyXG4gICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pc1ZhcmlhYmxlICYmIGBcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWYxZmY7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZjdmZjtcclxuICAgIH1cclxuICBgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IExhYmVsID0gc3R5bGVkKCdkaXYnLCB7dGhlbWU6IE9iamVjdH0pYFxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBjb2xvcjogIzY2NjtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHBhZGRpbmc6IDVweCAwO1xyXG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pc09iamVjdFR5cGUgJiYgYFxyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgYH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBBZGRCdXR0b24gPSBzdHlsZWQuZGl2YFxyXG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gIGZpbGw6ICM2NjY7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHRyYW5zaXRpb246IGNvbG9yIC4zcztcclxuICAmOmhvdmVyIHtcclxuICAgIGZpbGw6ICMzMzM7XHJcbiAgfVxyXG5gO1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLW1hbmFnZXIvc3R5bGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///300\n");
2054
2055/***/ }),
2056/* 301 */
2057/***/ (function(module, exports) {
2058
2059eval("module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vKHdlYnBhY2spL2J1aWxkaW4vbW9kdWxlLmpzP2MzYzIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjMwMS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24obW9kdWxlKSB7XHJcblx0aWYoIW1vZHVsZS53ZWJwYWNrUG9seWZpbGwpIHtcclxuXHRcdG1vZHVsZS5kZXByZWNhdGUgPSBmdW5jdGlvbigpIHt9O1xyXG5cdFx0bW9kdWxlLnBhdGhzID0gW107XHJcblx0XHQvLyBtb2R1bGUucGFyZW50ID0gdW5kZWZpbmVkIGJ5IGRlZmF1bHRcclxuXHRcdGlmKCFtb2R1bGUuY2hpbGRyZW4pIG1vZHVsZS5jaGlsZHJlbiA9IFtdO1xyXG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZHVsZSwgXCJsb2FkZWRcIiwge1xyXG5cdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxyXG5cdFx0XHRnZXQ6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHJldHVybiBtb2R1bGUubDtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobW9kdWxlLCBcImlkXCIsIHtcclxuXHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcclxuXHRcdFx0Z2V0OiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRyZXR1cm4gbW9kdWxlLmk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdFx0bW9kdWxlLndlYnBhY2tQb2x5ZmlsbCA9IDE7XHJcblx0fVxyXG5cdHJldHVybiBtb2R1bGU7XHJcbn07XHJcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vICh3ZWJwYWNrKS9idWlsZGluL21vZHVsZS5qc1xuLy8gbW9kdWxlIGlkID0gMzAxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///301\n");
2060
2061/***/ }),
2062/* 302 */
2063/***/ (function(module, __webpack_exports__, __webpack_require__) {
2064
2065"use strict";
2066eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.hackReset\n ? _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n typeof _vm.editors === \"string\"\n ? _c(\n \"EditorContainer\",\n { attrs: { theme: {} } },\n _vm._l(\n _vm.pluginsBelongKeys[\"mainToolEditorType\" + _vm.editors],\n function(item, index) {\n return _c(item, { key: index, tag: \"component\" })\n }\n ),\n 1\n )\n : _c(\n \"div\",\n [\n _vm._l(_vm.editors, function(editor, index) {\n return [\n typeof editor === \"string\"\n ? _c(\"TabTitle\", { key: index }, [\n _vm._v(_vm._s(editor))\n ])\n : _c(\n \"EditorContainer\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.vShow(editor),\n expression: \"vShow(editor)\"\n }\n ],\n key: index,\n attrs: {\n theme: {\n isObjectType:\n editor.type === \"array\" ||\n editor.type === \"object\"\n }\n }\n },\n [\n _c(\n \"EditorBoxContainer\",\n {\n staticStyle: {\n width: \"100%\",\n \"text-align\": \"left\"\n }\n },\n [\n _vm._l(\n _vm.pluginsBelongKeys[\n \"mainToolEditorType\" +\n _vm.upperFirst(\n _vm.camelCase(editor.type)\n )\n ],\n function(innerItem, innerIndex) {\n return _c(innerItem, {\n key: innerIndex,\n tag: \"component\",\n attrs: {\n instanceInfo: _vm.instanceInfo,\n editor: editor\n }\n })\n }\n )\n ],\n 2\n )\n ],\n 1\n )\n ]\n })\n ],\n 2\n )\n ],\n 1\n )\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-7198522b\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLW1hbmFnZXIvaW5kZXgudnVlPzk0YjAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLGVBQWUsZ0JBQWdCLEVBQUU7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsU0FBUyxVQUFVLEVBQUUsRUFBRTtBQUN4QztBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsK0JBQStCO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDLGFBQWE7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUM7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIzMDIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF92bS5oYWNrUmVzZXRcbiAgICA/IF9jKFxuICAgICAgICBcImRpdlwiLFxuICAgICAgICB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sXG4gICAgICAgIFtcbiAgICAgICAgICB0eXBlb2YgX3ZtLmVkaXRvcnMgPT09IFwic3RyaW5nXCJcbiAgICAgICAgICAgID8gX2MoXG4gICAgICAgICAgICAgICAgXCJFZGl0b3JDb250YWluZXJcIixcbiAgICAgICAgICAgICAgICB7IGF0dHJzOiB7IHRoZW1lOiB7fSB9IH0sXG4gICAgICAgICAgICAgICAgX3ZtLl9sKFxuICAgICAgICAgICAgICAgICAgX3ZtLnBsdWdpbnNCZWxvbmdLZXlzW1wibWFpblRvb2xFZGl0b3JUeXBlXCIgKyBfdm0uZWRpdG9yc10sXG4gICAgICAgICAgICAgICAgICBmdW5jdGlvbihpdGVtLCBpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2MoaXRlbSwgeyBrZXk6IGluZGV4LCB0YWc6IFwiY29tcG9uZW50XCIgfSlcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBfYyhcbiAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgIF92bS5fbChfdm0uZWRpdG9ycywgZnVuY3Rpb24oZWRpdG9yLCBpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICAgIHR5cGVvZiBlZGl0b3IgPT09IFwic3RyaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gX2MoXCJUYWJUaXRsZVwiLCB7IGtleTogaW5kZXggfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihfdm0uX3MoZWRpdG9yKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJFZGl0b3JDb250YWluZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcInNob3dcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYXdOYW1lOiBcInYtc2hvd1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0udlNob3coZWRpdG9yKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInZTaG93KGVkaXRvcilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBpbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNPYmplY3RUeXBlOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yLnR5cGUgPT09IFwiYXJyYXlcIiB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yLnR5cGUgPT09IFwib2JqZWN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiRWRpdG9yQm94Q29udGFpbmVyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNTdHlsZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0ZXh0LWFsaWduXCI6IFwibGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9sKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLnBsdWdpbnNCZWxvbmdLZXlzW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1haW5Ub29sRWRpdG9yVHlwZVwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0udXBwZXJGaXJzdChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5jYW1lbENhc2UoZWRpdG9yLnR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKGlubmVySXRlbSwgaW5uZXJJbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2MoaW5uZXJJdGVtLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBpbm5lckluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhZzogXCJjb21wb25lbnRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2VJbmZvOiBfdm0uaW5zdGFuY2VJbmZvLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yOiBlZGl0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIDJcbiAgICAgICAgICAgICAgKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApXG4gICAgOiBfdm0uX2UoKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtNzE5ODUyMmJcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtNzE5ODUyMmJcIixcImhhc1Njb3BlZFwiOnRydWUsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLW1hbmFnZXIvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzMDJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///302\n");
2067
2068/***/ }),
2069/* 303 */
2070/***/ (function(module, __webpack_exports__, __webpack_require__) {
2071
2072"use strict";
2073eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(99);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_1cdde859_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(307);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(304)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_1cdde859_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-addressReqSelect/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-1cdde859\", Component.options)\n } else {\n hotAPI.reload(\"data-v-1cdde859\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWFkZHJlc3NSZXFTZWxlY3QvaW5kZXgudnVlP2Y2M2QiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFnVjtBQUMxVjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDOFM7QUFDOVM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGtRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiMzAzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMWNkZGU4NTlcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTFjZGRlODU5XFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWFkZHJlc3NSZXFTZWxlY3QvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTFjZGRlODU5XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtMWNkZGU4NTlcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWFkZHJlc3NSZXFTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzMDNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///303\n");
2074
2075/***/ }),
2076/* 304 */
2077/***/ (function(module, exports, __webpack_require__) {
2078
2079eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(305);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"f9f491aa\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1cdde859\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1cdde859\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWFkZHJlc3NSZXFTZWxlY3QvaW5kZXgudnVlP2IyYWQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBc1c7QUFDNVgsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLG1GQUFtRjtBQUNoUixzTUFBc00sbUZBQW1GO0FBQ3pSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiMzA0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTFjZGRlODU5XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCJmOWY0OTFhYVwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMWNkZGU4NTlcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMWNkZGU4NTlcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtMWNkZGU4NTlcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1hZGRyZXNzUmVxU2VsZWN0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzA0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///304\n");
2080
2081/***/ }),
2082/* 305 */
2083/***/ (function(module, exports, __webpack_require__) {
2084
2085eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWFkZHJlc3NSZXFTZWxlY3QvaW5kZXgudnVlPzE1YWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLGlLQUFpSyxxRkFBcUY7O0FBRTdRIiwiZmlsZSI6IjMwNS5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0xY2RkZTg1OVwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWFkZHJlc3NSZXFTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzMDVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///305\n");
2086
2087/***/ }),
2088/* 306 */
2089/***/ (function(module, exports, __webpack_require__) {
2090
2091"use strict";
2092eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWFkZHJlc3NSZXFTZWxlY3Qvc3R5bGUuanM/NWFkZCJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBQ08sSUFBTUEsZ0NBQVlDLDhCQUFPQyxHQUFuQixpQkFBTiIsImZpbGUiOiIzMDYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIHBhZGRpbmc6IDVweCAxMnB4IDVweCAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1hZGRyZXNzUmVxU2VsZWN0L3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///306\n");
2093
2094/***/ }),
2095/* 307 */
2096/***/ (function(module, __webpack_exports__, __webpack_require__) {
2097
2098"use strict";
2099eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\" },\n attrs: { clearable: \"\" },\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n { key: item.value, attrs: { value: item.value || \"\" } },\n [_vm._v(_vm._s(item.key))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-1cdde859\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWFkZHJlc3NSZXFTZWxlY3QvaW5kZXgudnVlPzBjMmIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxlQUFlLGdCQUFnQixFQUFFO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLGlCQUFpQjtBQUM3QyxzQkFBc0IsZ0JBQWdCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLDBCQUEwQiwwQkFBMEIsRUFBRTtBQUN2RTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjMwNy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiQ29udGFpbmVyXCIsXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiU2VsZWN0XCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjk2LjUlXCIgfSxcbiAgICAgICAgICAgICAgYXR0cnM6IHsgY2xlYXJhYmxlOiBcIlwiIH0sXG4gICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IF92bS52YWx1ZSxcbiAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICBfdm0udmFsdWUgPSAkJHZcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwidmFsdWVcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX3ZtLl9sKF92bS5vcHRpb25zRGF0YSwgZnVuY3Rpb24oaXRlbSkge1xuICAgICAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICAgICAgXCJPcHRpb25cIixcbiAgICAgICAgICAgICAgICB7IGtleTogaXRlbS52YWx1ZSwgYXR0cnM6IHsgdmFsdWU6IGl0ZW0udmFsdWUgfHwgXCJcIiB9IH0sXG4gICAgICAgICAgICAgICAgW192bS5fdihfdm0uX3MoaXRlbS5rZXkpKV1cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTFjZGRlODU5XCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTFjZGRlODU5XCIsXCJoYXNTY29wZWRcIjpmYWxzZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtYWRkcmVzc1JlcVNlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDMwN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///307\n");
2100
2101/***/ }),
2102/* 308 */
2103/***/ (function(module, __webpack_exports__, __webpack_require__) {
2104
2105"use strict";
2106eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(100);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_65138dde_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(312);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(309)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_65138dde_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-attachFillTypeSelect/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-65138dde\", Component.options)\n } else {\n hotAPI.reload(\"data-v-65138dde\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWF0dGFjaEZpbGxUeXBlU2VsZWN0L2luZGV4LnZ1ZT82NDE5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBZ1Y7QUFDMVY7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUFxRjtBQUN0SDtBQUNxSTtBQUNhO0FBQ2xKO0FBQzhTO0FBQzlTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxrUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjMwOC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTY1MTM4ZGRlXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi02NTEzOGRkZVxcXCIsXFxcImhhc1Njb3BlZFxcXCI6ZmFsc2UsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1hdHRhY2hGaWxsVHlwZVNlbGVjdC9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtNjUxMzhkZGVcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi02NTEzOGRkZVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtYXR0YWNoRmlsbFR5cGVTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzMDhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///308\n");
2107
2108/***/ }),
2109/* 309 */
2110/***/ (function(module, exports, __webpack_require__) {
2111
2112eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(310);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"35fda844\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-65138dde\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-65138dde\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWF0dGFjaEZpbGxUeXBlU2VsZWN0L2luZGV4LnZ1ZT81ZDVmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQXNXO0FBQzVYLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBOEYsZ0NBQWdDO0FBQ25KO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLDZMQUE2TCxtRkFBbUY7QUFDaFIsc01BQXNNLG1GQUFtRjtBQUN6UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjMwOS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi02NTEzOGRkZVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiMzVmZGE4NDRcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTY1MTM4ZGRlXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTY1MTM4ZGRlXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTY1MTM4ZGRlXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtYXR0YWNoRmlsbFR5cGVTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzMDlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///309\n");
2113
2114/***/ }),
2115/* 310 */
2116/***/ (function(module, exports, __webpack_require__) {
2117
2118eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWF0dGFjaEZpbGxUeXBlU2VsZWN0L2luZGV4LnZ1ZT83NGQyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQTRFO0FBQy9HOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyxpS0FBaUsscUZBQXFGOztBQUU3USIsImZpbGUiOiIzMTAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W10sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNjUxMzhkZGVcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1hdHRhY2hGaWxsVHlwZVNlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDMxMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///310\n");
2119
2120/***/ }),
2121/* 311 */
2122/***/ (function(module, exports, __webpack_require__) {
2123
2124"use strict";
2125eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWF0dGFjaEZpbGxUeXBlU2VsZWN0L3N0eWxlLmpzPzcyYjQiXSwibmFtZXMiOlsiQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUNPLElBQU1BLGdDQUFZQyw4QkFBT0MsR0FBbkIsaUJBQU4iLCJmaWxlIjoiMzExLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICd2dWUtc3R5bGVkLWNvbXBvbmVudHMnO1xyXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICBwYWRkaW5nOiA1cHggMTJweCA1cHggMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBmbGV4LWdyb3c6IDE7XHJcbmA7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtYXR0YWNoRmlsbFR5cGVTZWxlY3Qvc3R5bGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///311\n");
2126
2127/***/ }),
2128/* 312 */
2129/***/ (function(module, __webpack_exports__, __webpack_require__) {
2130
2131"use strict";
2132eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\" },\n attrs: { clearable: \"\" },\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n { key: item.value, attrs: { value: item.value || \"\" } },\n [_vm._v(_vm._s(item.key))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-65138dde\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWF0dGFjaEZpbGxUeXBlU2VsZWN0L2luZGV4LnZ1ZT8xMGE4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssZUFBZSxnQkFBZ0IsRUFBRTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixpQkFBaUI7QUFDN0Msc0JBQXNCLGdCQUFnQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQiwwQkFBMEIsMEJBQTBCLEVBQUU7QUFDdkU7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIzMTIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAgeyBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCIxMDAlXCIgfSB9LFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcIkNvbnRhaW5lclwiLFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcIlNlbGVjdFwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCI5Ni41JVwiIH0sXG4gICAgICAgICAgICAgIGF0dHJzOiB7IGNsZWFyYWJsZTogXCJcIiB9LFxuICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0udmFsdWUsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgX3ZtLnZhbHVlID0gJCR2XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbHVlXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF92bS5fbChfdm0ub3B0aW9uc0RhdGEsIGZ1bmN0aW9uKGl0ZW0pIHtcbiAgICAgICAgICAgICAgcmV0dXJuIF9jKFxuICAgICAgICAgICAgICAgIFwiT3B0aW9uXCIsXG4gICAgICAgICAgICAgICAgeyBrZXk6IGl0ZW0udmFsdWUsIGF0dHJzOiB7IHZhbHVlOiBpdGVtLnZhbHVlIHx8IFwiXCIgfSB9LFxuICAgICAgICAgICAgICAgIFtfdm0uX3YoX3ZtLl9zKGl0ZW0ua2V5KSldXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgMVxuICAgICAgICAgIClcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi02NTEzOGRkZVwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi02NTEzOGRkZVwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWF0dGFjaEZpbGxUeXBlU2VsZWN0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzEyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///312\n");
2133
2134/***/ }),
2135/* 313 */
2136/***/ (function(module, __webpack_exports__, __webpack_require__) {
2137
2138"use strict";
2139eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(101);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_427da1aa_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(317);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(314)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-427da1aa\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_427da1aa_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-boolean/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-427da1aa\", Component.options)\n } else {\n hotAPI.reload(\"data-v-427da1aa\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJvb2xlYW4vaW5kZXgudnVlPzgxMzQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUErVTtBQUN6VjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDNlM7QUFDN1M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGlRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiMzEzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNDI3ZGExYWFcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNDI3ZGExYWFcXFwiLFxcXCJoYXNTY29wZWRcXFwiOnRydWUsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gXCJkYXRhLXYtNDI3ZGExYWFcIlxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1ib29sZWFuL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi00MjdkYTFhYVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTQyN2RhMWFhXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1ib29sZWFuL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzEzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///313\n");
2140
2141/***/ }),
2142/* 314 */
2143/***/ (function(module, exports, __webpack_require__) {
2144
2145eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(315);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"bbef3418\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-427da1aa\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-427da1aa\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJvb2xlYW4vaW5kZXgudnVlPzM2ZTkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBcVc7QUFDM1gsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLGtGQUFrRjtBQUMvUSxzTUFBc00sa0ZBQWtGO0FBQ3hSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiMzE0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTQyN2RhMWFhXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcImJiZWYzNDE4XCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi00MjdkYTFhYVxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTQyN2RhMWFhXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNDI3ZGExYWFcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJvb2xlYW4vaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzMTRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///314\n");
2146
2147/***/ }),
2148/* 315 */
2149/***/ (function(module, exports, __webpack_require__) {
2150
2151eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.dMlWdm[data-v-427da1aa] {\\n /*width: 45px;*/\\n /*float: left;*/\\n /*text-align: left;*/\\n /*padding: 5px 245px 5px 0;*/\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-boolean/myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-boolean/index.vue\"],\"names\":[],\"mappings\":\";AAuDA;IACA,gBAAA;IACA,gBAAA;IACA,qBAAA;IACA,6BAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div style=\\\"width: 100%\\\">\\r\\n\\r\\n <div style=\\\"display: block;width: 95%;\\\">\\r\\n <i-switch v-model=\\\"value\\\"></i-switch>\\r\\n </div>\\r\\n\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport * as components from './style';\\r\\nimport {PropertyMixin} from '../../service/main-tool-editor-type-mixin';\\r\\nexport default {\\r\\n components: {\\r\\n ...components\\r\\n },\\r\\n mixins: [PropertyMixin],\\r\\n position: 'mainToolEditorTypeBoolean',\\r\\n name: 'main-tool-editor-type-boolean',\\r\\n data () {\\r\\n return {\\r\\n value: this.editor.value||false\\r\\n };\\r\\n },\\r\\n mounted () {\\r\\n this.initCurrtField();\\r\\n this.setInstanceProps(this.value);\\r\\n },\\r\\n computed: {\\r\\n applicationState () {\\r\\n\\r\\n return this.$store.state.application;\\r\\n },\\r\\n viewportState () {\\r\\n return this.$store.state.viewport;\\r\\n }\\r\\n },\\r\\n methods: {\\r\\n handleChange () {\\r\\n\\r\\n }\\r\\n },\\r\\n watch: {\\r\\n value (n, o) {\\r\\n if (n === o) {\\r\\n return;\\r\\n }\\r\\n this.setInstanceProps(n);\\r\\n }\\r\\n }\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .dMlWdm {\\r\\n /*width: 45px;*/\\r\\n /*float: left;*/\\r\\n /*text-align: left;*/\\r\\n /*padding: 5px 245px 5px 0;*/\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJvb2xlYW4vaW5kZXgudnVlPzdmMjciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLCtCQUErQixvQkFBb0Isc0JBQXNCLDJCQUEyQixtQ0FBbUMsS0FBSyxVQUFVLHFOQUFxTixNQUFNLFdBQVcsV0FBVyxXQUFXLFdBQVcscUlBQXFJLFdBQVcseUtBQXlLLFlBQVksY0FBYyxrREFBa0Qsb0JBQW9CLHFCQUFxQixrQ0FBa0MsOElBQThJLG9CQUFvQiw2REFBNkQsU0FBUyxxQkFBcUIsa0NBQWtDLDhDQUE4QyxTQUFTLG9CQUFvQixpQ0FBaUMseURBQXlELGFBQWEsK0JBQStCLGtEQUFrRCxhQUFhLFNBQVMsbUJBQW1CLDZCQUE2QixpQkFBaUIsU0FBUyxpQkFBaUIsMEJBQTBCLDhCQUE4QiwyQkFBMkIsaUJBQWlCLHlDQUF5QyxhQUFhLFNBQVMsTUFBTSxvREFBb0QsMEJBQTBCLDRCQUE0QixpQ0FBaUMseUNBQXlDLFdBQVcsbUNBQW1DOztBQUVsNkQiLCJmaWxlIjoiMzE1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLmRNbFdkbVtkYXRhLXYtNDI3ZGExYWFdIHtcXG4gICAgLyp3aWR0aDogNDVweDsqL1xcbiAgICAvKmZsb2F0OiBsZWZ0OyovXFxuICAgIC8qdGV4dC1hbGlnbjogbGVmdDsqL1xcbiAgICAvKnBhZGRpbmc6IDVweCAyNDVweCA1cHggMDsqL1xcbn1cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wiRTovcHJvamVjdC9wYWdlLWlkZS14aWFuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtYm9vbGVhbi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJvb2xlYW4vaW5kZXgudnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUF1REE7SUFDQSxnQkFBQTtJQUNBLGdCQUFBO0lBQ0EscUJBQUE7SUFDQSw2QkFBQTtDQUNBXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZXNDb250ZW50XCI6W1wiPHRlbXBsYXRlPlxcclxcbiAgICA8ZGl2IHN0eWxlPVxcXCJ3aWR0aDogMTAwJVxcXCI+XFxyXFxuXFxyXFxuICAgICAgICA8ZGl2IHN0eWxlPVxcXCJkaXNwbGF5OiBibG9jazt3aWR0aDogOTUlO1xcXCI+XFxyXFxuICAgICAgICAgICAgPGktc3dpdGNoICAgdi1tb2RlbD1cXFwidmFsdWVcXFwiPjwvaS1zd2l0Y2g+XFxyXFxuICAgICAgICA8L2Rpdj5cXHJcXG5cXHJcXG4gICAgPC9kaXY+XFxyXFxuPC90ZW1wbGF0ZT5cXHJcXG5cXHJcXG48c2NyaXB0PlxcclxcbmltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XFxyXFxuaW1wb3J0IHtQcm9wZXJ0eU1peGlufSBmcm9tICcuLi8uLi9zZXJ2aWNlL21haW4tdG9vbC1lZGl0b3ItdHlwZS1taXhpbic7XFxyXFxuZXhwb3J0IGRlZmF1bHQge1xcclxcbiAgICBjb21wb25lbnRzOiB7XFxyXFxuICAgICAgICAuLi5jb21wb25lbnRzXFxyXFxuICAgIH0sXFxyXFxuICAgIG1peGluczogW1Byb3BlcnR5TWl4aW5dLFxcclxcbiAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yVHlwZUJvb2xlYW4nLFxcclxcbiAgICBuYW1lOiAnbWFpbi10b29sLWVkaXRvci10eXBlLWJvb2xlYW4nLFxcclxcbiAgICBkYXRhICgpIHtcXHJcXG4gICAgICAgIHJldHVybiB7XFxyXFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuZWRpdG9yLnZhbHVlfHxmYWxzZVxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgfSxcXHJcXG4gICAgbW91bnRlZCAoKSB7XFxyXFxuICAgICAgICB0aGlzLmluaXRDdXJydEZpZWxkKCk7XFxyXFxuICAgICAgICB0aGlzLnNldEluc3RhbmNlUHJvcHModGhpcy52YWx1ZSk7XFxyXFxuICAgIH0sXFxyXFxuICAgIGNvbXB1dGVkOiB7XFxyXFxuICAgICAgICBhcHBsaWNhdGlvblN0YXRlICgpIHtcXHJcXG5cXHJcXG4gICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUuYXBwbGljYXRpb247XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgdmlld3BvcnRTdGF0ZSAoKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0O1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9LFxcclxcbiAgICBtZXRob2RzOiB7XFxyXFxuICAgICAgICBoYW5kbGVDaGFuZ2UgKCkge1xcclxcblxcclxcbiAgICAgICAgfVxcclxcbiAgICB9LFxcclxcbiAgICB3YXRjaDoge1xcclxcbiAgICAgICAgdmFsdWUgKG4sIG8pIHtcXHJcXG4gICAgICAgICAgICBpZiAobiA9PT0gbykge1xcclxcbiAgICAgICAgICAgICAgICByZXR1cm47XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIHRoaXMuc2V0SW5zdGFuY2VQcm9wcyhuKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbn07XFxyXFxuPC9zY3JpcHQ+XFxyXFxuXFxyXFxuPHN0eWxlIHNjb3BlZD5cXHJcXG4gICAgLmRNbFdkbSB7XFxyXFxuICAgICAgICAvKndpZHRoOiA0NXB4OyovXFxyXFxuICAgICAgICAvKmZsb2F0OiBsZWZ0OyovXFxyXFxuICAgICAgICAvKnRleHQtYWxpZ246IGxlZnQ7Ki9cXHJcXG4gICAgICAgIC8qcGFkZGluZzogNXB4IDI0NXB4IDVweCAwOyovXFxyXFxuICAgIH1cXHJcXG48L3N0eWxlPlxcclxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi00MjdkYTFhYVwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtYm9vbGVhbi9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDMxNVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///315\n");
2152
2153/***/ }),
2154/* 316 */
2155/***/ (function(module, exports, __webpack_require__) {
2156
2157"use strict";
2158eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJvb2xlYW4vc3R5bGUuanM/YjI1NCJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBQ08sSUFBTUEsZ0NBQVlDLDhCQUFPQyxHQUFuQixpQkFBTiIsImZpbGUiOiIzMTYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIHBhZGRpbmc6IDVweCAzMHB4IDVweCAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1ib29sZWFuL3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///316\n");
2159
2160/***/ }),
2161/* 317 */
2162/***/ (function(module, __webpack_exports__, __webpack_require__) {
2163
2164"use strict";
2165eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticStyle: { width: \"100%\" } }, [\n _c(\n \"div\",\n { staticStyle: { display: \"block\", width: \"95%\" } },\n [\n _c(\"i-switch\", {\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n })\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-427da1aa\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJvb2xlYW4vaW5kZXgudnVlP2NjOWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsZUFBZSxnQkFBZ0IsRUFBRTtBQUNyRDtBQUNBO0FBQ0EsT0FBTyxlQUFlLGlDQUFpQyxFQUFFO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIzMTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFwiZGl2XCIsIHsgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiMTAwJVwiIH0gfSwgW1xuICAgIF9jKFxuICAgICAgXCJkaXZcIixcbiAgICAgIHsgc3RhdGljU3R5bGU6IHsgZGlzcGxheTogXCJibG9ja1wiLCB3aWR0aDogXCI5NSVcIiB9IH0sXG4gICAgICBbXG4gICAgICAgIF9jKFwiaS1zd2l0Y2hcIiwge1xuICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICB2YWx1ZTogX3ZtLnZhbHVlLFxuICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICBfdm0udmFsdWUgPSAkJHZcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbHVlXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICBdLFxuICAgICAgMVxuICAgIClcbiAgXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTQyN2RhMWFhXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTQyN2RhMWFhXCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1ib29sZWFuL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzE3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///317\n");
2166
2167/***/ }),
2168/* 318 */
2169/***/ (function(module, __webpack_exports__, __webpack_require__) {
2170
2171"use strict";
2172eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(102);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_2b586292_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(338);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(319)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-2b586292\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_2b586292_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-budongchanHeightLevel/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-2b586292\", Component.options)\n } else {\n hotAPI.reload(\"data-v-2b586292\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJ1ZG9uZ2NoYW5IZWlnaHRMZXZlbC9pbmRleC52dWU/NzlmMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQStVO0FBQ3pWO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDcUk7QUFDYTtBQUNsSjtBQUM2UztBQUM3UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsaVFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiIzMTguanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0yYjU4NjI5MlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi0yYjU4NjI5MlxcXCIsXFxcImhhc1Njb3BlZFxcXCI6dHJ1ZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBcImRhdGEtdi0yYjU4NjI5MlwiXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJ1ZG9uZ2NoYW5IZWlnaHRMZXZlbC9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtMmI1ODYyOTJcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi0yYjU4NjI5MlwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtYnVkb25nY2hhbkhlaWdodExldmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzE4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///318\n");
2173
2174/***/ }),
2175/* 319 */
2176/***/ (function(module, exports, __webpack_require__) {
2177
2178eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(320);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"58c7fb53\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2b586292\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2b586292\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJ1ZG9uZ2NoYW5IZWlnaHRMZXZlbC9pbmRleC52dWU/ODFkZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUFxVztBQUMzWCw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsa0ZBQWtGO0FBQy9RLHNNQUFzTSxrRkFBa0Y7QUFDeFI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiIzMTkuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMmI1ODYyOTJcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiNThjN2ZiNTNcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTJiNTg2MjkyXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMmI1ODYyOTJcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0yYjU4NjI5MlwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtYnVkb25nY2hhbkhlaWdodExldmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzE5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///319\n");
2179
2180/***/ }),
2181/* 320 */
2182/***/ (function(module, exports, __webpack_require__) {
2183
2184eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJ1ZG9uZ2NoYW5IZWlnaHRMZXZlbC9pbmRleC52dWU/NzcwMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsMkxBQTJMLHFGQUFxRjs7QUFFdlMiLCJmaWxlIjoiMzIwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTJiNTg2MjkyXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1idWRvbmdjaGFuSGVpZ2h0TGV2ZWwvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzMjBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///320\n");
2185
2186/***/ }),
2187/* 321 */
2188/***/ (function(module, exports, __webpack_require__) {
2189
2190"use strict";
2191eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJ1ZG9uZ2NoYW5IZWlnaHRMZXZlbC9zdHlsZS5qcz81NDM3Il0sIm5hbWVzIjpbIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFDTyxJQUFNQSxnQ0FBWUMsOEJBQU9DLEdBQW5CLGlCQUFOIiwiZmlsZSI6IjMyMS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAndnVlLXN0eWxlZC1jb21wb25lbnRzJztcclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgcGFkZGluZzogNXB4IDMwcHggNXB4IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgZmxleC1ncm93OiAxO1xyXG5gO1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJ1ZG9uZ2NoYW5IZWlnaHRMZXZlbC9zdHlsZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///321\n");
2192
2193/***/ }),
2194/* 322 */
2195/***/ (function(module, exports, __webpack_require__) {
2196
2197eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(323);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"609573d6\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-675852ba\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-675852ba\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtc2hvd0ZsYWcvaW5kZXgudnVlPzVkZWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBNGE7QUFDbGMsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLGtGQUFrRjtBQUMvUSxzTUFBc00sa0ZBQWtGO0FBQ3hSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiMzIyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTY3NTg1MmJhXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiNjA5NTczZDZcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTY3NTg1MmJhXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi02NzU4NTJiYVxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNjc1ODUyYmFcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLXNob3dGbGFnL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzIyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///322\n");
2198
2199/***/ }),
2200/* 323 */
2201/***/ (function(module, exports, __webpack_require__) {
2202
2203eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtc2hvd0ZsYWcvaW5kZXgudnVlP2VlNjMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLFdBQVcscUZBQXFGOztBQUV2SCIsImZpbGUiOiIzMjMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W10sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNjc1ODUyYmFcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLXNob3dGbGFnL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzIzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///323\n");
2204
2205/***/ }),
2206/* 324 */
2207/***/ (function(module, exports, __webpack_require__) {
2208
2209"use strict";
2210eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtc2hvd0ZsYWcvc3R5bGUuanM/NzViMCJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBQ08sSUFBTUEsZ0NBQVlDLDhCQUFPQyxHQUFuQixpQkFBTiIsImZpbGUiOiIzMjQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIHBhZGRpbmc6IDVweCAzMHB4IDVweCAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLXNob3dGbGFnL3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///324\n");
2211
2212/***/ }),
2213/* 325 */
2214/***/ (function(module, __webpack_exports__, __webpack_require__) {
2215
2216"use strict";
2217eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"main-Style\", staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"success\" },\n on: {\n click: function($event) {\n return _vm.addArr()\n }\n }\n },\n [_vm._v(\"添加\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { staticClass: \"main-ul\" },\n _vm._l(_vm.getArrList, function(item, index) {\n return _c(\"li\", { staticClass: \"main-li\" }, [\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"关联属性\")\n ]),\n _vm._v(\" \"),\n _c(\n \"Select\",\n {\n staticClass: \"main-li-item\",\n model: {\n value: item.key,\n callback: function($$v) {\n _vm.$set(item, \"key\", $$v)\n },\n expression: \"item.key\"\n }\n },\n _vm._l(_vm.propList, function(item) {\n return _c(\n \"Option\",\n { key: item.busiName, attrs: { value: item.busiName } },\n [_vm._v(_vm._s(item.busiDesc))]\n )\n }),\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [_c(\"Label\", { staticClass: \"main-li-label\" }, [_vm._v(\"值\")])],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Input\", {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\" },\n model: {\n value: item.value,\n callback: function($$v) {\n _vm.$set(item, \"value\", $$v)\n },\n expression: \"item.value\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-btn\" },\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"error\" },\n on: {\n click: function($event) {\n return _vm.delArr(index)\n }\n }\n },\n [_vm._v(\"删除当前数组\")]\n )\n ],\n 1\n )\n ])\n }),\n 0\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-675852ba\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtc2hvd0ZsYWcvaW5kZXgudnVlP2M3ZGEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSywwQ0FBMEMsZ0JBQWdCLEVBQUU7QUFDakU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0Isa0JBQWtCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMseUJBQXlCO0FBQ2xDO0FBQ0EsMkJBQTJCLHlCQUF5QjtBQUNwRDtBQUNBO0FBQ0EsZUFBZSw2QkFBNkI7QUFDNUM7QUFDQSw2QkFBNkIsK0JBQStCO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsNkJBQTZCLHVCQUF1QixFQUFFO0FBQzdFO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsNkJBQTZCO0FBQzVDLDRCQUE0QiwrQkFBK0I7QUFDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsNkJBQTZCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQixnQkFBZ0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLDZCQUE2QjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixnQkFBZ0I7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMzI1LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1TdHlsZVwiLCBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCIxMDAlXCIgfSB9LFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcIkNvbnRhaW5lclwiLFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcIkJ1dHRvblwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBhdHRyczogeyB0eXBlOiBcInN1Y2Nlc3NcIiB9LFxuICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgIGNsaWNrOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uYWRkQXJyKClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbX3ZtLl92KFwi5re75YqgXCIpXVxuICAgICAgICAgIClcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfYyhcbiAgICAgICAgXCJ1bFwiLFxuICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tdWxcIiB9LFxuICAgICAgICBfdm0uX2woX3ZtLmdldEFyckxpc3QsIGZ1bmN0aW9uKGl0ZW0sIGluZGV4KSB7XG4gICAgICAgICAgcmV0dXJuIF9jKFwibGlcIiwgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpXCIgfSwgW1xuICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgX2MoXCJMYWJlbFwiLCB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktbGFiZWxcIiB9LCBbXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCLlhbPogZTlsZ7mgKdcIilcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgXCJTZWxlY3RcIixcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1pdGVtXCIsXG4gICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0ua2V5LFxuICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwia2V5XCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiaXRlbS5rZXlcIlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgX3ZtLl9sKF92bS5wcm9wTGlzdCwgZnVuY3Rpb24oaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICAgICAgICAgICAgXCJPcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICB7IGtleTogaXRlbS5idXNpTmFtZSwgYXR0cnM6IHsgdmFsdWU6IGl0ZW0uYnVzaU5hbWUgfSB9LFxuICAgICAgICAgICAgICAgICAgICAgIFtfdm0uX3YoX3ZtLl9zKGl0ZW0uYnVzaURlc2MpKV1cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgW19jKFwiTGFiZWxcIiwgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWxhYmVsXCIgfSwgW192bS5fdihcIuWAvFwiKV0pXSxcbiAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWRpdlwiIH0sXG4gICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBfYyhcIklucHV0XCIsIHtcbiAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcIm1haW4tbGktaXRlbVwiLFxuICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgY2xlYXJhYmxlOiBcIlwiIH0sXG4gICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwidmFsdWVcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1idG5cIiB9LFxuICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICBcIkJ1dHRvblwiLFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBhdHRyczogeyB0eXBlOiBcImVycm9yXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmRlbEFycihpbmRleClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBbX3ZtLl92KFwi5Yig6Zmk5b2T5YmN5pWw57uEXCIpXVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgKVxuICAgICAgICAgIF0pXG4gICAgICAgIH0pLFxuICAgICAgICAwXG4gICAgICApXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTY3NTg1MmJhXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTY3NTg1MmJhXCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLXNob3dGbGFnL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzI1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///325\n");
2218
2219/***/ }),
2220/* 326 */
2221/***/ (function(module, exports, __webpack_require__) {
2222
2223eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(327);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"e39ccaea\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-25d660ae\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-25d660ae\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXZhbGlkYXRlQXJyL2luZGV4LnZ1ZT8zNzRjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQTRhO0FBQ2xjLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBOEYsZ0NBQWdDO0FBQ25KO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLDZMQUE2TCxrRkFBa0Y7QUFDL1Esc01BQXNNLGtGQUFrRjtBQUN4UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjMyNi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0yNWQ2NjBhZVxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcImUzOWNjYWVhXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0yNWQ2NjBhZVxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMjVkNjYwYWVcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTI1ZDY2MGFlXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtdmFsaWRhdGVBcnIvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzMjZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///326\n");
2224
2225/***/ }),
2226/* 327 */
2227/***/ (function(module, exports, __webpack_require__) {
2228
2229eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXZhbGlkYXRlQXJyL2luZGV4LnZ1ZT82MmFlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQTRFO0FBQy9HOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyxXQUFXLHFGQUFxRjs7QUFFdkgiLCJmaWxlIjoiMzI3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTI1ZDY2MGFlXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtdmFsaWRhdGVBcnIvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzMjdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///327\n");
2230
2231/***/ }),
2232/* 328 */
2233/***/ (function(module, exports, __webpack_require__) {
2234
2235"use strict";
2236eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXZhbGlkYXRlQXJyL3N0eWxlLmpzPzQyMTUiXSwibmFtZXMiOlsiQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUNPLElBQU1BLGdDQUFZQyw4QkFBT0MsR0FBbkIsaUJBQU4iLCJmaWxlIjoiMzI4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICd2dWUtc3R5bGVkLWNvbXBvbmVudHMnO1xyXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICBwYWRkaW5nOiA1cHggMzBweCA1cHggMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBmbGV4LWdyb3c6IDE7XHJcbmA7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtdmFsaWRhdGVBcnIvc3R5bGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///328\n");
2237
2238/***/ }),
2239/* 329 */
2240/***/ (function(module, __webpack_exports__, __webpack_require__) {
2241
2242"use strict";
2243eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"success\" },\n on: {\n click: function($event) {\n return _vm.addArr()\n }\n }\n },\n [_vm._v(\"添加\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { staticClass: \"main-ul\" },\n _vm._l(_vm.getArrList, function(item, index) {\n return _c(\n \"li\",\n { staticClass: \"main-li\" },\n [\n index == 0\n ? [\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"是否必填\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"i-switch\", {\n staticClass: \"main-li-item-switch\",\n model: {\n value: item.required,\n callback: function($$v) {\n _vm.$set(item, \"required\", $$v)\n },\n expression: \"item.required\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"提示信息\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Input\", {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\" },\n model: {\n value: item.message,\n callback: function($$v) {\n _vm.$set(item, \"message\", $$v)\n },\n expression: \"item.message\"\n }\n })\n ],\n 1\n )\n ]\n : [\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"提示信息\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Input\", {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\" },\n model: {\n value: item.message,\n callback: function($$v) {\n _vm.$set(item, \"message\", $$v)\n },\n expression: \"item.message\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"校验类型\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\n \"Select\",\n {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\" },\n on: {\n \"on-change\": function($event) {\n return _vm.typeChange(item.type)\n }\n },\n model: {\n value: item.type,\n callback: function($$v) {\n _vm.$set(item, \"type\", $$v)\n },\n expression: \"item.type\"\n }\n },\n _vm._l(_vm.validateType, function(item1) {\n return _c(\n \"Option\",\n {\n key: item1.value,\n staticClass: \"main-li-item-option\",\n attrs: { value: item1.value }\n },\n [\n _vm._v(\n _vm._s(item1.key) +\n \"\\n \"\n )\n ]\n )\n }),\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.custom\n ? _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"满足全部关联条件\")\n ])\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.custom\n ? _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\n \"Select\",\n {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\" },\n model: {\n value: item.customType,\n callback: function($$v) {\n _vm.$set(item, \"customType\", $$v)\n },\n expression: \"item.customType\"\n }\n },\n _vm._l(_vm.validateCustomeAllType, function(\n item1\n ) {\n return _c(\n \"Option\",\n {\n key: item1.value,\n attrs: { value: item1.value }\n },\n [\n _vm._v(\n _vm._s(item1.key) +\n \"\\n \"\n )\n ]\n )\n }),\n 1\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.custom\n ? _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"自定义校验类型\")\n ])\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.custom\n ? _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\n \"Select\",\n {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\" },\n model: {\n value: item.validateType,\n callback: function($$v) {\n _vm.$set(item, \"validateType\", $$v)\n },\n expression: \"item.validateType\"\n }\n },\n _vm._l(_vm.validateType, function(item1) {\n return _c(\n \"Option\",\n {\n key: item1.value,\n staticClass: \"main-li-item-option\",\n attrs: { value: item1.value }\n },\n [\n _vm._v(\n _vm._s(item1.key) +\n \"\\n \"\n )\n ]\n )\n }),\n 1\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"触发方式\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\n \"Select\",\n {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\" },\n model: {\n value: item.trigger,\n callback: function($$v) {\n _vm.$set(item, \"trigger\", $$v)\n },\n expression: \"item.trigger\"\n }\n },\n _vm._l(_vm.triggerType, function(item1) {\n return _c(\n \"Option\",\n {\n key: item1.value,\n attrs: { value: item1.value }\n },\n [\n _vm._v(\n _vm._s(item1.key) +\n \"\\n \"\n )\n ]\n )\n }),\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-btn\" },\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"error\" },\n on: {\n click: function($event) {\n return _vm.delArr(index)\n }\n }\n },\n [_vm._v(\"删除当前校验\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-btn\" },\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"success\" },\n on: {\n click: function($event) {\n return _vm.addChildArr(index)\n }\n }\n },\n [_vm._v(\"添加联动校验\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { staticClass: \"main-ul\" },\n _vm._l(item.requireKeyValues, function(item1, index1) {\n return _c(\"li\", { staticClass: \"main-li\" }, [\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"关联属性\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\n \"Select\",\n {\n staticClass: \"main-li-item\",\n model: {\n value: item1.key,\n callback: function($$v) {\n _vm.$set(item1, \"key\", $$v)\n },\n expression: \"item1.key\"\n }\n },\n _vm._l(_vm.propList, function(item) {\n return _c(\n \"Option\",\n {\n key: item.busiName,\n attrs: { value: item.busiName }\n },\n [\n _vm._v(\n _vm._s(item.busiDesc) +\n \"\\n \"\n )\n ]\n )\n }),\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"值\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Input\", {\n staticClass: \"main-li-item\",\n attrs: {\n clearable: \"\",\n placeholder:\n \"添加内容,如果是数组,以逗号分开\"\n },\n model: {\n value: item1.values,\n callback: function($$v) {\n _vm.$set(item1, \"values\", $$v)\n },\n expression: \"item1.values\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-btn-child\" },\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"error\" },\n on: {\n click: function($event) {\n return _vm.delChildArr(index, index1)\n }\n }\n },\n [_vm._v(\"删除联动校验\")]\n )\n ],\n 1\n )\n ])\n }),\n 0\n )\n ]\n ],\n 2\n )\n }),\n 0\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-25d660ae\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXZhbGlkYXRlQXJyL2luZGV4LnZ1ZT8yYTRmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssZUFBZSxnQkFBZ0IsRUFBRTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixrQkFBa0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyx5QkFBeUI7QUFDbEM7QUFDQTtBQUNBO0FBQ0EsYUFBYSx5QkFBeUI7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1Qiw2QkFBNkI7QUFDcEQ7QUFDQSxxQ0FBcUMsK0JBQStCO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsNkJBQTZCO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLDZCQUE2QjtBQUNwRDtBQUNBLHFDQUFxQywrQkFBK0I7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1Qiw2QkFBNkI7QUFDcEQ7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLGdCQUFnQjtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLDZCQUE2QjtBQUNwRDtBQUNBLHFDQUFxQywrQkFBK0I7QUFDcEU7QUFD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QTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMzI5LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHsgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiMTAwJVwiIH0gfSxcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJDb250YWluZXJcIixcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJCdXR0b25cIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYXR0cnM6IHsgdHlwZTogXCJzdWNjZXNzXCIgfSxcbiAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmFkZEFycigpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW192bS5fdihcIua3u+WKoFwiKV1cbiAgICAgICAgICApXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgICksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXG4gICAgICAgIFwidWxcIixcbiAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLXVsXCIgfSxcbiAgICAgICAgX3ZtLl9sKF92bS5nZXRBcnJMaXN0LCBmdW5jdGlvbihpdGVtLCBpbmRleCkge1xuICAgICAgICAgIHJldHVybiBfYyhcbiAgICAgICAgICAgIFwibGlcIixcbiAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saVwiIH0sXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgIGluZGV4ID09IDBcbiAgICAgICAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1sYWJlbFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwi5piv5ZCm5b+F5aGrXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiaS1zd2l0Y2hcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJtYWluLWxpLWl0ZW0tc3dpdGNoXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0ucmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoaXRlbSwgXCJyZXF1aXJlZFwiLCAkJHYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0ucmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiTGFiZWxcIiwgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWxhYmVsXCIgfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCLmj5DnpLrkv6Hmga9cIilcbiAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWRpdlwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJJbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcIm1haW4tbGktaXRlbVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBjbGVhcmFibGU6IFwiXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwibWVzc2FnZVwiLCAkJHYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0ubWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICA6IFtcbiAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1sYWJlbFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwi5o+Q56S65L+h5oGvXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiSW5wdXRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJtYWluLWxpLWl0ZW1cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgY2xlYXJhYmxlOiBcIlwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0ubWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChpdGVtLCBcIm1lc3NhZ2VcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJpdGVtLm1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiTGFiZWxcIiwgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWxhYmVsXCIgfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCLmoKHpqoznsbvlnotcIilcbiAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWRpdlwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiU2VsZWN0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJtYWluLWxpLWl0ZW1cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBjbGVhcmFibGU6IFwiXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJvbi1jaGFuZ2VcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0udHlwZUNoYW5nZShpdGVtLnR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0udHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoaXRlbSwgXCJ0eXBlXCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0udHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX2woX3ZtLnZhbGlkYXRlVHlwZSwgZnVuY3Rpb24oaXRlbTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIk9wdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IGl0ZW0xLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJtYWluLWxpLWl0ZW0tb3B0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IHZhbHVlOiBpdGVtMS52YWx1ZSB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKGl0ZW0xLmtleSkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICBfdm0uY3VzdG9tXG4gICAgICAgICAgICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWRpdlwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1sYWJlbFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIua7oei2s+WFqOmDqOWFs+iBlOadoeS7tlwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICA6IF92bS5fZSgpLFxuICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICBfdm0uY3VzdG9tXG4gICAgICAgICAgICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWRpdlwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU2VsZWN0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcIm1haW4tbGktaXRlbVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBjbGVhcmFibGU6IFwiXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5jdXN0b21UeXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwiY3VzdG9tVHlwZVwiLCAkJHYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0uY3VzdG9tVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX2woX3ZtLnZhbGlkYXRlQ3VzdG9tZUFsbFR5cGUsIGZ1bmN0aW9uKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIk9wdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogaXRlbTEudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyB2YWx1ZTogaXRlbTEudmFsdWUgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoaXRlbTEua2V5KSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgX3ZtLmN1c3RvbVxuICAgICAgICAgICAgICAgICAgICAgID8gX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJMYWJlbFwiLCB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktbGFiZWxcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCLoh6rlrprkuYnmoKHpqoznsbvlnotcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgX3ZtLmN1c3RvbVxuICAgICAgICAgICAgICAgICAgICAgID8gX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlNlbGVjdFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJtYWluLWxpLWl0ZW1cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgY2xlYXJhYmxlOiBcIlwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0udmFsaWRhdGVUeXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwidmFsaWRhdGVUeXBlXCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiaXRlbS52YWxpZGF0ZVR5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9sKF92bS52YWxpZGF0ZVR5cGUsIGZ1bmN0aW9uKGl0ZW0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIk9wdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogaXRlbTEudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJtYWluLWxpLWl0ZW0tb3B0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyB2YWx1ZTogaXRlbTEudmFsdWUgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoaXRlbTEua2V5KSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1sYWJlbFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwi6Kem5Y+R5pa55byPXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcIlNlbGVjdFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1pdGVtXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgY2xlYXJhYmxlOiBcIlwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtLnRyaWdnZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwidHJpZ2dlclwiLCAkJHYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJpdGVtLnRyaWdnZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9sKF92bS50cmlnZ2VyVHlwZSwgZnVuY3Rpb24oaXRlbTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIk9wdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IGl0ZW0xLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyB2YWx1ZTogaXRlbTEudmFsdWUgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhpdGVtMS5rZXkpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktYnRuXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJCdXR0b25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IHR5cGU6IFwiZXJyb3JcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uZGVsQXJyKGluZGV4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW192bS5fdihcIuWIoOmZpOW9k+WJjeagoemqjFwiKV1cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktYnRuXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJCdXR0b25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IHR5cGU6IFwic3VjY2Vzc1wiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWNrOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5hZGRDaGlsZEFycihpbmRleClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtfdm0uX3YoXCLmt7vliqDogZTliqjmoKHpqoxcIildXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgIFwidWxcIixcbiAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tdWxcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgIF92bS5fbChpdGVtLnJlcXVpcmVLZXlWYWx1ZXMsIGZ1bmN0aW9uKGl0ZW0xLCBpbmRleDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfYyhcImxpXCIsIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saVwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1sYWJlbFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwi5YWz6IGU5bGe5oCnXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlNlbGVjdFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1pdGVtXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtMS5rZXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0xLCBcImtleVwiLCAkJHYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJpdGVtMS5rZXlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9sKF92bS5wcm9wTGlzdCwgZnVuY3Rpb24oaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiT3B0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogaXRlbS5idXNpTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgdmFsdWU6IGl0ZW0uYnVzaU5hbWUgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhpdGVtLmJ1c2lEZXNjKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1sYWJlbFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwi5YC8XCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiSW5wdXRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJtYWluLWxpLWl0ZW1cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhcmFibGU6IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIua3u+WKoOWGheWuue+8jOWmguaenOaYr+aVsOe7hO+8jOS7pemAl+WPt+WIhuW8gFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0xLnZhbHVlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChpdGVtMSwgXCJ2YWx1ZXNcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJpdGVtMS52YWx1ZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1idG4tY2hpbGRcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIkJ1dHRvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgdHlwZTogXCJlcnJvclwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWNrOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5kZWxDaGlsZEFycihpbmRleCwgaW5kZXgxKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW192bS5fdihcIuWIoOmZpOiBlOWKqOagoemqjFwiKV1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAyXG4gICAgICAgICAgKVxuICAgICAgICB9KSxcbiAgICAgICAgMFxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi0yNWQ2NjBhZVwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi0yNWQ2NjBhZVwiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtdmFsaWRhdGVBcnIvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzMjlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///329\n");
2244
2245/***/ }),
2246/* 330 */
2247/***/ (function(module, exports, __webpack_require__) {
2248
2249eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(331);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"53c28459\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-6b194662\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-6b194662\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxpbmthZ2VDaGFuZ2VWYWx1ZS9pbmRleC52dWU/NmYyZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUE0YTtBQUNsYyw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsa0ZBQWtGO0FBQy9RLHNNQUFzTSxrRkFBa0Y7QUFDeFI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiIzMzAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNmIxOTQ2NjJcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCI1M2MyODQ1OVwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNmIxOTQ2NjJcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTZiMTk0NjYyXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi02YjE5NDY2MlwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxpbmthZ2VDaGFuZ2VWYWx1ZS9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDMzMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///330\n");
2250
2251/***/ }),
2252/* 331 */
2253/***/ (function(module, exports, __webpack_require__) {
2254
2255eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxpbmthZ2VDaGFuZ2VWYWx1ZS9pbmRleC52dWU/OTczMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsV0FBVyxxRkFBcUY7O0FBRXZIIiwiZmlsZSI6IjMzMS5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi02YjE5NDY2MlwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxpbmthZ2VDaGFuZ2VWYWx1ZS9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDMzMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///331\n");
2256
2257/***/ }),
2258/* 332 */
2259/***/ (function(module, exports, __webpack_require__) {
2260
2261"use strict";
2262eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxpbmthZ2VDaGFuZ2VWYWx1ZS9zdHlsZS5qcz81YmVkIl0sIm5hbWVzIjpbIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFDTyxJQUFNQSxnQ0FBWUMsOEJBQU9DLEdBQW5CLGlCQUFOIiwiZmlsZSI6IjMzMi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAndnVlLXN0eWxlZC1jb21wb25lbnRzJztcclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgcGFkZGluZzogNXB4IDMwcHggNXB4IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgZmxleC1ncm93OiAxO1xyXG5gO1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxpbmthZ2VDaGFuZ2VWYWx1ZS9zdHlsZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///332\n");
2263
2264/***/ }),
2265/* 333 */
2266/***/ (function(module, __webpack_exports__, __webpack_require__) {
2267
2268"use strict";
2269eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"success\" },\n on: {\n click: function($event) {\n return _vm.addArr()\n }\n }\n },\n [_vm._v(\"添加\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { staticClass: \"main-ul\" },\n _vm._l(_vm.getArrList, function(item, index) {\n return _c(\"li\", { staticClass: \"main-li\" }, [\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [_c(\"Label\", { staticClass: \"main-li-label\" }, [_vm._v(\"类型\")])],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\n \"Select\",\n {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\" },\n on: {\n \"on-change\": function($event) {\n return _vm.typeChange(item.type)\n }\n },\n model: {\n value: item.type,\n callback: function($$v) {\n _vm.$set(item, \"type\", $$v)\n },\n expression: \"item.type\"\n }\n },\n _vm._l(_vm.typeList, function(item) {\n return _c(\n \"Option\",\n { key: item.value, attrs: { value: item.value } },\n [_vm._v(_vm._s(item.label))]\n )\n }),\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"需要改变的值\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\n \"Select\",\n {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\" },\n model: {\n value: item.changeKey,\n callback: function($$v) {\n _vm.$set(item, \"changeKey\", $$v)\n },\n expression: \"item.changeKey\"\n }\n },\n _vm._l(_vm.propList, function(item) {\n return _c(\n \"Option\",\n { key: item.busiName, attrs: { value: item.busiName } },\n [_vm._v(_vm._s(item.busiDesc) + \"\\n \")]\n )\n }),\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.isShow\n ? _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"匹配的值\")\n ])\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.isShow\n ? _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Input\", {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\" },\n model: {\n value: item.showValue,\n callback: function($$v) {\n _vm.$set(item, \"showValue\", $$v)\n },\n expression: \"item.showValue\"\n }\n })\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-btn\" },\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"error\" },\n on: {\n click: function($event) {\n return _vm.delArr(index)\n }\n }\n },\n [_vm._v(\"删除当前数组\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-btn\" },\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"success\" },\n on: {\n click: function($event) {\n return _vm.addChildArr(index)\n }\n }\n },\n [_vm._v(\"添加子集数组\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { staticClass: \"main-ul\" },\n _vm._l(item.values, function(item1, index1) {\n return _c(\"li\", { staticClass: \"main-li\" }, [\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"原始属性值\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\n \"Select\",\n {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\" },\n on: {\n \"on-change\": function($event) {\n return _vm.typeChange(item.type)\n }\n },\n model: {\n value: item1.changeParam,\n callback: function($$v) {\n _vm.$set(item1, \"changeParam\", $$v)\n },\n expression: \"item1.changeParam\"\n }\n },\n _vm._l(_vm.propList, function(item) {\n return _c(\n \"Option\",\n {\n key: item.busiName,\n attrs: { value: item.busiName }\n },\n [\n _vm._v(\n _vm._s(item.busiDesc) +\n \"\\n \"\n )\n ]\n )\n }),\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.into\n ? _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"依赖的值\")\n ])\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.into\n ? _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Input\", {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\" },\n model: {\n value: item1.dependValue,\n callback: function($$v) {\n _vm.$set(item1, \"dependValue\", $$v)\n },\n expression: \"item1.dependValue\"\n }\n })\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.isShow\n ? _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"改变的值\")\n ])\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.isShow\n ? _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"i-switch\", {\n staticClass: \"main-li-item-switch\",\n model: {\n value: item1.changeValue,\n callback: function($$v) {\n _vm.$set(item1, \"changeValue\", $$v)\n },\n expression: \"item1.changeValue\"\n }\n })\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.into\n ? _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"是否只读\")\n ])\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.into\n ? _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"i-switch\", {\n staticClass: \"main-li-item-switch\",\n model: {\n value: item1.changeAttrs.readonly,\n callback: function($$v) {\n _vm.$set(item1.changeAttrs, \"readonly\", $$v)\n },\n expression: \"item1.changeAttrs.readonly\"\n }\n })\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.into\n ? _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"是否清除\")\n ])\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.into\n ? _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"i-switch\", {\n staticClass: \"main-li-item-switch\",\n model: {\n value: item1.changeAttrs.clearable,\n callback: function($$v) {\n _vm.$set(item1.changeAttrs, \"clearable\", $$v)\n },\n expression: \"item1.changeAttrs.clearable\"\n }\n })\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-btn-child\" },\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"error\" },\n on: {\n click: function($event) {\n return _vm.delChildArr(index, index1)\n }\n }\n },\n [_vm._v(\"删除子集数组\")]\n )\n ],\n 1\n )\n ])\n }),\n 0\n )\n ])\n }),\n 0\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-6b194662\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxpbmthZ2VDaGFuZ2VWYWx1ZS9pbmRleC52dWU/OGFhZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLGVBQWUsZ0JBQWdCLEVBQUU7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0Isa0JBQWtCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMseUJBQXlCO0FBQ2xDO0FBQ0EsMkJBQTJCLHlCQUF5QjtBQUNwRDtBQUNBO0FBQ0EsZUFBZSw2QkFBNkI7QUFDNUMsNEJBQTRCLCtCQUErQjtBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSw2QkFBNkI7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixnQkFBZ0I7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsMEJBQTBCLG9CQUFvQixFQUFFO0FBQ3ZFO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsNkJBQTZCO0FBQzVDO0FBQ0EsNkJBQTZCLCtCQUErQjtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSw2QkFBNkI7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixnQkFBZ0I7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFD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QjtBQUN0RDtBQUNBLHVDQUF1QywrQkFBK0I7QUFDdEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUIsNkJBQTZCO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsbUNBQW1DO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLGdCQUFnQjtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMzMzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHsgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiMTAwJVwiIH0gfSxcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJDb250YWluZXJcIixcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJCdXR0b25cIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYXR0cnM6IHsgdHlwZTogXCJzdWNjZXNzXCIgfSxcbiAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmFkZEFycigpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW192bS5fdihcIua3u+WKoFwiKV1cbiAgICAgICAgICApXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgICksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXG4gICAgICAgIFwidWxcIixcbiAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLXVsXCIgfSxcbiAgICAgICAgX3ZtLl9sKF92bS5nZXRBcnJMaXN0LCBmdW5jdGlvbihpdGVtLCBpbmRleCkge1xuICAgICAgICAgIHJldHVybiBfYyhcImxpXCIsIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saVwiIH0sIFtcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgW19jKFwiTGFiZWxcIiwgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWxhYmVsXCIgfSwgW192bS5fdihcIuexu+Wei1wiKV0pXSxcbiAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWRpdlwiIH0sXG4gICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgIFwiU2VsZWN0XCIsXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcIm1haW4tbGktaXRlbVwiLFxuICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBjbGVhcmFibGU6IFwiXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICBcIm9uLWNoYW5nZVwiOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0udHlwZUNoYW5nZShpdGVtLnR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoaXRlbSwgXCJ0eXBlXCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiaXRlbS50eXBlXCJcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIF92bS5fbChfdm0udHlwZUxpc3QsIGZ1bmN0aW9uKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9jKFxuICAgICAgICAgICAgICAgICAgICAgIFwiT3B0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgeyBrZXk6IGl0ZW0udmFsdWUsIGF0dHJzOiB7IHZhbHVlOiBpdGVtLnZhbHVlIH0gfSxcbiAgICAgICAgICAgICAgICAgICAgICBbX3ZtLl92KF92bS5fcyhpdGVtLmxhYmVsKSldXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWRpdlwiIH0sXG4gICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1sYWJlbFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIumcgOimgeaUueWPmOeahOWAvFwiKVxuICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICBcIlNlbGVjdFwiLFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJtYWluLWxpLWl0ZW1cIixcbiAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgY2xlYXJhYmxlOiBcIlwiIH0sXG4gICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0uY2hhbmdlS2V5LFxuICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwiY2hhbmdlS2V5XCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiaXRlbS5jaGFuZ2VLZXlcIlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgX3ZtLl9sKF92bS5wcm9wTGlzdCwgZnVuY3Rpb24oaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICAgICAgICAgICAgXCJPcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICB7IGtleTogaXRlbS5idXNpTmFtZSwgYXR0cnM6IHsgdmFsdWU6IGl0ZW0uYnVzaU5hbWUgfSB9LFxuICAgICAgICAgICAgICAgICAgICAgIFtfdm0uX3YoX3ZtLl9zKGl0ZW0uYnVzaURlc2MpICsgXCJcXG4gICAgICAgICAgICAgICAgICAgIFwiKV1cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF92bS5pc1Nob3dcbiAgICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgX2MoXCJMYWJlbFwiLCB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktbGFiZWxcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwi5Yy56YWN55qE5YC8XCIpXG4gICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfdm0uaXNTaG93XG4gICAgICAgICAgICAgID8gX2MoXG4gICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWRpdlwiIH0sXG4gICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIF9jKFwiSW5wdXRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcIm1haW4tbGktaXRlbVwiLFxuICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IGNsZWFyYWJsZTogXCJcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5zaG93VmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwic2hvd1ZhbHVlXCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0uc2hvd1ZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWJ0blwiIH0sXG4gICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgIFwiQnV0dG9uXCIsXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IHR5cGU6IFwiZXJyb3JcIiB9LFxuICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgIGNsaWNrOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uZGVsQXJyKGluZGV4KVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIFtfdm0uX3YoXCLliKDpmaTlvZPliY3mlbDnu4RcIildXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktYnRuXCIgfSxcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgXCJCdXR0b25cIixcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgdHlwZTogXCJzdWNjZXNzXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmFkZENoaWxkQXJyKGluZGV4KVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIFtfdm0uX3YoXCLmt7vliqDlrZDpm4bmlbDnu4RcIildXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcInVsXCIsXG4gICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi11bFwiIH0sXG4gICAgICAgICAgICAgIF92bS5fbChpdGVtLnZhbHVlcywgZnVuY3Rpb24oaXRlbTEsIGluZGV4MSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBfYyhcImxpXCIsIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saVwiIH0sIFtcbiAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgIF9jKFwiTGFiZWxcIiwgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWxhYmVsXCIgfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwi5Y6f5aeL5bGe5oCn5YC8XCIpXG4gICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWRpdlwiIH0sXG4gICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiU2VsZWN0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcIm1haW4tbGktaXRlbVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBjbGVhcmFibGU6IFwiXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm9uLWNoYW5nZVwiOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0udHlwZUNoYW5nZShpdGVtLnR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtMS5jaGFuZ2VQYXJhbSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChpdGVtMSwgXCJjaGFuZ2VQYXJhbVwiLCAkJHYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0xLmNoYW5nZVBhcmFtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fbChfdm0ucHJvcExpc3QsIGZ1bmN0aW9uKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiT3B0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBpdGVtLmJ1c2lOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgdmFsdWU6IGl0ZW0uYnVzaU5hbWUgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoaXRlbS5idXNpRGVzYykgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX3ZtLmludG9cbiAgICAgICAgICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJMYWJlbFwiLCB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktbGFiZWxcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwi5L6d6LWW55qE5YC8XCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfdm0uaW50b1xuICAgICAgICAgICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcIklucHV0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJtYWluLWxpLWl0ZW1cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBjbGVhcmFibGU6IFwiXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0xLmRlcGVuZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChpdGVtMSwgXCJkZXBlbmRWYWx1ZVwiLCAkJHYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJpdGVtMS5kZXBlbmRWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIDogX3ZtLl9lKCksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX3ZtLmlzU2hvd1xuICAgICAgICAgICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1sYWJlbFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCLmlLnlj5jnmoTlgLxcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICA6IF92bS5fZSgpLFxuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgIF92bS5pc1Nob3dcbiAgICAgICAgICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJpLXN3aXRjaFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1pdGVtLXN3aXRjaFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbTEuY2hhbmdlVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0xLCBcImNoYW5nZVZhbHVlXCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0xLmNoYW5nZVZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfdm0uaW50b1xuICAgICAgICAgICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1sYWJlbFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCLmmK/lkKblj6ror7tcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICA6IF92bS5fZSgpLFxuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgIF92bS5pbnRvXG4gICAgICAgICAgICAgICAgICAgID8gX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWRpdlwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiaS1zd2l0Y2hcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcIm1haW4tbGktaXRlbS1zd2l0Y2hcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0xLmNoYW5nZUF0dHJzLnJlYWRvbmx5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChpdGVtMS5jaGFuZ2VBdHRycywgXCJyZWFkb25seVwiLCAkJHYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJpdGVtMS5jaGFuZ2VBdHRycy5yZWFkb25seVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIDogX3ZtLl9lKCksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX3ZtLmludG9cbiAgICAgICAgICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJMYWJlbFwiLCB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktbGFiZWxcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwi5piv5ZCm5riF6ZmkXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfdm0uaW50b1xuICAgICAgICAgICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImktc3dpdGNoXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJtYWluLWxpLWl0ZW0tc3dpdGNoXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtMS5jaGFuZ2VBdHRycy5jbGVhcmFibGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0xLmNoYW5nZUF0dHJzLCBcImNsZWFyYWJsZVwiLCAkJHYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJpdGVtMS5jaGFuZ2VBdHRycy5jbGVhcmFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICA6IF92bS5fZSgpLFxuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktYnRuLWNoaWxkXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJCdXR0b25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgdHlwZTogXCJlcnJvclwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5kZWxDaGlsZEFycihpbmRleCwgaW5kZXgxKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtfdm0uX3YoXCLliKDpmaTlrZDpm4bmlbDnu4RcIildXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIDBcbiAgICAgICAgICAgIClcbiAgICAgICAgICBdKVxuICAgICAgICB9KSxcbiAgICAgICAgMFxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi02YjE5NDY2MlwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi02YjE5NDY2MlwiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtbGlua2FnZUNoYW5nZVZhbHVlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzMzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///333\n");
2270
2271/***/ }),
2272/* 334 */
2273/***/ (function(module, exports, __webpack_require__) {
2274
2275eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(335);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"00c0a5f8\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-dd1eda2e\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-dd1eda2e\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWlucHV0U2VsZWN0L2luZGV4LnZ1ZT9iNDcyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQXNXO0FBQzVYLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBOEYsZ0NBQWdDO0FBQ25KO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLDZMQUE2TCxtRkFBbUY7QUFDaFIsc01BQXNNLG1GQUFtRjtBQUN6UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjMzNC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1kZDFlZGEyZVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiMDBjMGE1ZjhcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWRkMWVkYTJlXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWRkMWVkYTJlXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LWRkMWVkYTJlXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtaW5wdXRTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzMzRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///334\n");
2276
2277/***/ }),
2278/* 335 */
2279/***/ (function(module, exports, __webpack_require__) {
2280
2281eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWlucHV0U2VsZWN0L2luZGV4LnZ1ZT8yMzQ0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQTRFO0FBQy9HOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyx5S0FBeUsscUZBQXFGOztBQUVyUiIsImZpbGUiOiIzMzUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W10sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtZGQxZWRhMmVcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1pbnB1dFNlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDMzNVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///335\n");
2282
2283/***/ }),
2284/* 336 */
2285/***/ (function(module, exports, __webpack_require__) {
2286
2287"use strict";
2288eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWlucHV0U2VsZWN0L3N0eWxlLmpzPzc2NzYiXSwibmFtZXMiOlsiQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUNPLElBQU1BLGdDQUFZQyw4QkFBT0MsR0FBbkIsaUJBQU4iLCJmaWxlIjoiMzM2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICd2dWUtc3R5bGVkLWNvbXBvbmVudHMnO1xyXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICBwYWRkaW5nOiA1cHggMTJweCA1cHggMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBmbGV4LWdyb3c6IDE7XHJcbmA7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtaW5wdXRTZWxlY3Qvc3R5bGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///336\n");
2289
2290/***/ }),
2291/* 337 */
2292/***/ (function(module, __webpack_exports__, __webpack_require__) {
2293
2294"use strict";
2295eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\" },\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n { key: item.value, attrs: { value: item.value || \"\" } },\n [_vm._v(_vm._s(item.key))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-dd1eda2e\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWlucHV0U2VsZWN0L2luZGV4LnZ1ZT9kMTZhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssZUFBZSxnQkFBZ0IsRUFBRTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixpQkFBaUI7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsMEJBQTBCLDBCQUEwQixFQUFFO0FBQ3ZFO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMzM3LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHsgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiMTAwJVwiIH0gfSxcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJDb250YWluZXJcIixcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJTZWxlY3RcIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiOTYuNSVcIiB9LFxuICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0udmFsdWUsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgX3ZtLnZhbHVlID0gJCR2XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbHVlXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF92bS5fbChfdm0ub3B0aW9uc0RhdGEsIGZ1bmN0aW9uKGl0ZW0pIHtcbiAgICAgICAgICAgICAgcmV0dXJuIF9jKFxuICAgICAgICAgICAgICAgIFwiT3B0aW9uXCIsXG4gICAgICAgICAgICAgICAgeyBrZXk6IGl0ZW0udmFsdWUsIGF0dHJzOiB7IHZhbHVlOiBpdGVtLnZhbHVlIHx8IFwiXCIgfSB9LFxuICAgICAgICAgICAgICAgIFtfdm0uX3YoX3ZtLl9zKGl0ZW0ua2V5KSldXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgMVxuICAgICAgICAgIClcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi1kZDFlZGEyZVwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi1kZDFlZGEyZVwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWlucHV0U2VsZWN0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzM3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///337\n");
2296
2297/***/ }),
2298/* 338 */
2299/***/ (function(module, __webpack_exports__, __webpack_require__) {
2300
2301"use strict";
2302eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticStyle: { width: \"100%\" } }, [\n _c(\"div\", [\n _c(\n \"div\",\n { staticClass: \"item-style\" },\n [\n _c(\"i-switch\", {\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.value,\n expression: \"value\"\n }\n ]\n },\n [\n _c(\"div\", { staticClass: \"title-style\" }, [_vm._v(\"校验\")]),\n _vm._v(\" \"),\n _c(\"validateArr\"),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"title-style\" }, [_vm._v(\"联动\")]),\n _vm._v(\" \"),\n _c(\"linkageChangeValue\")\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-2b586292\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJ1ZG9uZ2NoYW5IZWlnaHRMZXZlbC9pbmRleC52dWU/NzA4ZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixlQUFlLGdCQUFnQixFQUFFO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBLFNBQVMsNEJBQTRCO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsbUJBQW1CLDZCQUE2QjtBQUNoRDtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsNkJBQTZCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMzM4LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcImRpdlwiLCB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sIFtcbiAgICBfYyhcImRpdlwiLCBbXG4gICAgICBfYyhcbiAgICAgICAgXCJkaXZcIixcbiAgICAgICAgeyBzdGF0aWNDbGFzczogXCJpdGVtLXN0eWxlXCIgfSxcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFwiaS1zd2l0Y2hcIiwge1xuICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgdmFsdWU6IF92bS52YWx1ZSxcbiAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgIF92bS52YWx1ZSA9ICQkdlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbHVlXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApXG4gICAgXSksXG4gICAgX3ZtLl92KFwiIFwiKSxcbiAgICBfYyhcbiAgICAgIFwiZGl2XCIsXG4gICAgICB7XG4gICAgICAgIGRpcmVjdGl2ZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcInNob3dcIixcbiAgICAgICAgICAgIHJhd05hbWU6IFwidi1zaG93XCIsXG4gICAgICAgICAgICB2YWx1ZTogX3ZtLnZhbHVlLFxuICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJ2YWx1ZVwiXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAgW1xuICAgICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcInRpdGxlLXN0eWxlXCIgfSwgW192bS5fdihcIuagoemqjFwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInZhbGlkYXRlQXJyXCIpLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcInRpdGxlLXN0eWxlXCIgfSwgW192bS5fdihcIuiBlOWKqFwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcImxpbmthZ2VDaGFuZ2VWYWx1ZVwiKVxuICAgICAgXSxcbiAgICAgIDFcbiAgICApXG4gIF0pXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi0yYjU4NjI5MlwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi0yYjU4NjI5MlwiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtYnVkb25nY2hhbkhlaWdodExldmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzM4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///338\n");
2303
2304/***/ }),
2305/* 339 */
2306/***/ (function(module, __webpack_exports__, __webpack_require__) {
2307
2308"use strict";
2309eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(107);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_2f4f35db_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(343);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(340)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_2f4f35db_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-buttonTypeSelect/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-2f4f35db\", Component.options)\n } else {\n hotAPI.reload(\"data-v-2f4f35db\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJ1dHRvblR5cGVTZWxlY3QvaW5kZXgudnVlP2EzZTMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFnVjtBQUMxVjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDOFM7QUFDOVM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGtRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiMzM5LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMmY0ZjM1ZGJcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTJmNGYzNWRiXFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJ1dHRvblR5cGVTZWxlY3QvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTJmNGYzNWRiXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtMmY0ZjM1ZGJcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJ1dHRvblR5cGVTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzMzlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///339\n");
2310
2311/***/ }),
2312/* 340 */
2313/***/ (function(module, exports, __webpack_require__) {
2314
2315eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(341);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"90885320\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2f4f35db\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2f4f35db\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJ1dHRvblR5cGVTZWxlY3QvaW5kZXgudnVlP2Y4NGMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBc1c7QUFDNVgsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLG1GQUFtRjtBQUNoUixzTUFBc00sbUZBQW1GO0FBQ3pSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiMzQwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTJmNGYzNWRiXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCI5MDg4NTMyMFwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMmY0ZjM1ZGJcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMmY0ZjM1ZGJcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtMmY0ZjM1ZGJcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1idXR0b25UeXBlU2VsZWN0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzQwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///340\n");
2316
2317/***/ }),
2318/* 341 */
2319/***/ (function(module, exports, __webpack_require__) {
2320
2321eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJ1dHRvblR5cGVTZWxlY3QvaW5kZXgudnVlP2ZiOWIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLG1LQUFtSyxxRkFBcUY7O0FBRS9RIiwiZmlsZSI6IjM0MS5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0yZjRmMzVkYlwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJ1dHRvblR5cGVTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzNDFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///341\n");
2322
2323/***/ }),
2324/* 342 */
2325/***/ (function(module, exports, __webpack_require__) {
2326
2327"use strict";
2328eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJ1dHRvblR5cGVTZWxlY3Qvc3R5bGUuanM/ZWU2MSJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBQ08sSUFBTUEsZ0NBQVlDLDhCQUFPQyxHQUFuQixpQkFBTiIsImZpbGUiOiIzNDIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIHBhZGRpbmc6IDVweCAxMnB4IDVweCAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1idXR0b25UeXBlU2VsZWN0L3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///342\n");
2329
2330/***/ }),
2331/* 343 */
2332/***/ (function(module, __webpack_exports__, __webpack_require__) {
2333
2334"use strict";
2335eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\" },\n attrs: { clearable: \"\" },\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n { key: item.value, attrs: { value: item.value || \"\" } },\n [_vm._v(_vm._s(item.key))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-2f4f35db\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWJ1dHRvblR5cGVTZWxlY3QvaW5kZXgudnVlPzc0NmUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxlQUFlLGdCQUFnQixFQUFFO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLGlCQUFpQjtBQUM3QyxzQkFBc0IsZ0JBQWdCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLDBCQUEwQiwwQkFBMEIsRUFBRTtBQUN2RTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjM0My5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiQ29udGFpbmVyXCIsXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiU2VsZWN0XCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjk2LjUlXCIgfSxcbiAgICAgICAgICAgICAgYXR0cnM6IHsgY2xlYXJhYmxlOiBcIlwiIH0sXG4gICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IF92bS52YWx1ZSxcbiAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICBfdm0udmFsdWUgPSAkJHZcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwidmFsdWVcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX3ZtLl9sKF92bS5vcHRpb25zRGF0YSwgZnVuY3Rpb24oaXRlbSkge1xuICAgICAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICAgICAgXCJPcHRpb25cIixcbiAgICAgICAgICAgICAgICB7IGtleTogaXRlbS52YWx1ZSwgYXR0cnM6IHsgdmFsdWU6IGl0ZW0udmFsdWUgfHwgXCJcIiB9IH0sXG4gICAgICAgICAgICAgICAgW192bS5fdihfdm0uX3MoaXRlbS5rZXkpKV1cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTJmNGYzNWRiXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTJmNGYzNWRiXCIsXCJoYXNTY29wZWRcIjpmYWxzZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtYnV0dG9uVHlwZVNlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDM0M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///343\n");
2336
2337/***/ }),
2338/* 344 */
2339/***/ (function(module, __webpack_exports__, __webpack_require__) {
2340
2341"use strict";
2342eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(108);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_5b9f7aa1_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(348);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(345)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_5b9f7aa1_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-cacheSelect/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-5b9f7aa1\", Component.options)\n } else {\n hotAPI.reload(\"data-v-5b9f7aa1\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNhY2hlU2VsZWN0L2luZGV4LnZ1ZT9hOGU1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBZ1Y7QUFDMVY7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUFxRjtBQUN0SDtBQUNxSTtBQUNhO0FBQ2xKO0FBQzhTO0FBQzlTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxrUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjM0NC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTViOWY3YWExXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi01YjlmN2FhMVxcXCIsXFxcImhhc1Njb3BlZFxcXCI6ZmFsc2UsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jYWNoZVNlbGVjdC9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtNWI5ZjdhYTFcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi01YjlmN2FhMVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2FjaGVTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzNDRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///344\n");
2343
2344/***/ }),
2345/* 345 */
2346/***/ (function(module, exports, __webpack_require__) {
2347
2348eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(346);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"7e956100\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5b9f7aa1\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5b9f7aa1\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNhY2hlU2VsZWN0L2luZGV4LnZ1ZT8zNjFhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQXNXO0FBQzVYLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBOEYsZ0NBQWdDO0FBQ25KO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLDZMQUE2TCxtRkFBbUY7QUFDaFIsc01BQXNNLG1GQUFtRjtBQUN6UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjM0NS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi01YjlmN2FhMVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiN2U5NTYxMDBcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTViOWY3YWExXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTViOWY3YWExXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTViOWY3YWExXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2FjaGVTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzNDVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///345\n");
2349
2350/***/ }),
2351/* 346 */
2352/***/ (function(module, exports, __webpack_require__) {
2353
2354eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNhY2hlU2VsZWN0L2luZGV4LnZ1ZT85OGFkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQTRFO0FBQy9HOzs7QUFHQTtBQUNBLGNBQWMsUUFBUywrSkFBK0oscUZBQXFGOztBQUUzUSIsImZpbGUiOiIzNDYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W10sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNWI5ZjdhYTFcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jYWNoZVNlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDM0NlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///346\n");
2355
2356/***/ }),
2357/* 347 */
2358/***/ (function(module, exports, __webpack_require__) {
2359
2360"use strict";
2361eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNhY2hlU2VsZWN0L3N0eWxlLmpzPzhkYWIiXSwibmFtZXMiOlsiQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUNPLElBQU1BLGdDQUFZQyw4QkFBT0MsR0FBbkIsaUJBQU4iLCJmaWxlIjoiMzQ3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICd2dWUtc3R5bGVkLWNvbXBvbmVudHMnO1xyXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICBwYWRkaW5nOiA1cHggMTJweCA1cHggMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBmbGV4LWdyb3c6IDE7XHJcbmA7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2FjaGVTZWxlY3Qvc3R5bGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///347\n");
2362
2363/***/ }),
2364/* 348 */
2365/***/ (function(module, __webpack_exports__, __webpack_require__) {
2366
2367"use strict";
2368eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\" },\n attrs: { clearable: \"\" },\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n { key: item.key, attrs: { value: item.key } },\n [_vm._v(_vm._s(item.key))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-5b9f7aa1\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNhY2hlU2VsZWN0L2luZGV4LnZ1ZT8wODRlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssZUFBZSxnQkFBZ0IsRUFBRTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixpQkFBaUI7QUFDN0Msc0JBQXNCLGdCQUFnQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQix3QkFBd0Isa0JBQWtCLEVBQUU7QUFDN0Q7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIzNDguanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAgeyBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCIxMDAlXCIgfSB9LFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcIkNvbnRhaW5lclwiLFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcIlNlbGVjdFwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCI5Ni41JVwiIH0sXG4gICAgICAgICAgICAgIGF0dHJzOiB7IGNsZWFyYWJsZTogXCJcIiB9LFxuICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0udmFsdWUsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgX3ZtLnZhbHVlID0gJCR2XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbHVlXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF92bS5fbChfdm0ub3B0aW9uc0RhdGEsIGZ1bmN0aW9uKGl0ZW0pIHtcbiAgICAgICAgICAgICAgcmV0dXJuIF9jKFxuICAgICAgICAgICAgICAgIFwiT3B0aW9uXCIsXG4gICAgICAgICAgICAgICAgeyBrZXk6IGl0ZW0ua2V5LCBhdHRyczogeyB2YWx1ZTogaXRlbS5rZXkgfSB9LFxuICAgICAgICAgICAgICAgIFtfdm0uX3YoX3ZtLl9zKGl0ZW0ua2V5KSldXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgMVxuICAgICAgICAgIClcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi01YjlmN2FhMVwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi01YjlmN2FhMVwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNhY2hlU2VsZWN0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzQ4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///348\n");
2369
2370/***/ }),
2371/* 349 */
2372/***/ (function(module, __webpack_exports__, __webpack_require__) {
2373
2374"use strict";
2375eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(109);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_092bcb40_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(353);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(350)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_092bcb40_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-cellBirth/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-092bcb40\", Component.options)\n } else {\n hotAPI.reload(\"data-v-092bcb40\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxCaXJ0aC9pbmRleC52dWU/MTE3NiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQWdWO0FBQzFWO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDcUk7QUFDYTtBQUNsSjtBQUM4UztBQUM5UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsa1FBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiIzNDkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0wOTJiY2I0MFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMDkyYmNiNDBcXFwiLFxcXCJoYXNTY29wZWRcXFwiOmZhbHNlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2VsbEJpcnRoL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi0wOTJiY2I0MFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTA5MmJjYjQwXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsQmlydGgvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzNDlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///349\n");
2376
2377/***/ }),
2378/* 350 */
2379/***/ (function(module, exports, __webpack_require__) {
2380
2381eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(351);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"91b0fcc2\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-092bcb40\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-092bcb40\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxCaXJ0aC9pbmRleC52dWU/ZTVhZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUFzVztBQUM1WCw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsbUZBQW1GO0FBQ2hSLHNNQUFzTSxtRkFBbUY7QUFDelI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiIzNTAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMDkyYmNiNDBcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjkxYjBmY2MyXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0wOTJiY2I0MFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0wOTJiY2I0MFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0wOTJiY2I0MFwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxCaXJ0aC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDM1MFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///350\n");
2382
2383/***/ }),
2384/* 351 */
2385/***/ (function(module, exports, __webpack_require__) {
2386
2387eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxCaXJ0aC9pbmRleC52dWU/ZTVlNyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMseU1BQXlNLHFGQUFxRjs7QUFFclQiLCJmaWxlIjoiMzUxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTA5MmJjYjQwXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2VsbEJpcnRoL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzUxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///351\n");
2388
2389/***/ }),
2390/* 352 */
2391/***/ (function(module, exports, __webpack_require__) {
2392
2393"use strict";
2394eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxCaXJ0aC9zdHlsZS5qcz9jMDQxIl0sIm5hbWVzIjpbIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFDTyxJQUFNQSxnQ0FBWUMsOEJBQU9DLEdBQW5CLGlCQUFOIiwiZmlsZSI6IjM1Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAndnVlLXN0eWxlZC1jb21wb25lbnRzJztcclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgcGFkZGluZzogNXB4IDEycHggNXB4IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgZmxleC1ncm93OiAxO1xyXG5gO1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxCaXJ0aC9zdHlsZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///352\n");
2395
2396/***/ }),
2397/* 353 */
2398/***/ (function(module, __webpack_exports__, __webpack_require__) {
2399
2400"use strict";
2401eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\" },\n attrs: { clearable: \"\" },\n model: {\n value: _vm.val,\n callback: function($$v) {\n _vm.val = $$v\n },\n expression: \"val\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n { key: item.name, attrs: { value: item.name || \"\" } },\n [_vm._v(_vm._s(item.name))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-092bcb40\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxCaXJ0aC9pbmRleC52dWU/YTBmZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLGVBQWUsZ0JBQWdCLEVBQUU7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsaUJBQWlCO0FBQzdDLHNCQUFzQixnQkFBZ0I7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIseUJBQXlCLHlCQUF5QixFQUFFO0FBQ3JFO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMzUzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHsgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiMTAwJVwiIH0gfSxcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJDb250YWluZXJcIixcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJTZWxlY3RcIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiOTYuNSVcIiB9LFxuICAgICAgICAgICAgICBhdHRyczogeyBjbGVhcmFibGU6IFwiXCIgfSxcbiAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLnZhbCxcbiAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICBfdm0udmFsID0gJCR2XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfdm0uX2woX3ZtLm9wdGlvbnNEYXRhLCBmdW5jdGlvbihpdGVtKSB7XG4gICAgICAgICAgICAgIHJldHVybiBfYyhcbiAgICAgICAgICAgICAgICBcIk9wdGlvblwiLFxuICAgICAgICAgICAgICAgIHsga2V5OiBpdGVtLm5hbWUsIGF0dHJzOiB7IHZhbHVlOiBpdGVtLm5hbWUgfHwgXCJcIiB9IH0sXG4gICAgICAgICAgICAgICAgW192bS5fdihfdm0uX3MoaXRlbS5uYW1lKSldXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgMVxuICAgICAgICAgIClcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi0wOTJiY2I0MFwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi0wOTJiY2I0MFwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxCaXJ0aC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDM1M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///353\n");
2402
2403/***/ }),
2404/* 354 */
2405/***/ (function(module, __webpack_exports__, __webpack_require__) {
2406
2407"use strict";
2408eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(110);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_bf37976e_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(358);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(355)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_bf37976e_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-cellCheck/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-bf37976e\", Component.options)\n } else {\n hotAPI.reload(\"data-v-bf37976e\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxDaGVjay9pbmRleC52dWU/ZTdhMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQWdWO0FBQzFWO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDcUk7QUFDYTtBQUNsSjtBQUM4UztBQUM5UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsa1FBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiIzNTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1iZjM3OTc2ZVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYmYzNzk3NmVcXFwiLFxcXCJoYXNTY29wZWRcXFwiOmZhbHNlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2VsbENoZWNrL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi1iZjM3OTc2ZVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LWJmMzc5NzZlXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsQ2hlY2svaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzNTRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///354\n");
2409
2410/***/ }),
2411/* 355 */
2412/***/ (function(module, exports, __webpack_require__) {
2413
2414eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(356);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"31dae4c9\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-bf37976e\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-bf37976e\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxDaGVjay9pbmRleC52dWU/ZjIzYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUFzVztBQUM1WCw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsbUZBQW1GO0FBQ2hSLHNNQUFzTSxtRkFBbUY7QUFDelI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiIzNTUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYmYzNzk3NmVcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjMxZGFlNGM5XCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1iZjM3OTc2ZVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1iZjM3OTc2ZVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi1iZjM3OTc2ZVwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxDaGVjay9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDM1NVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///355\n");
2415
2416/***/ }),
2417/* 356 */
2418/***/ (function(module, exports, __webpack_require__) {
2419
2420eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxDaGVjay9pbmRleC52dWU/ZGE0ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMseU1BQXlNLHFGQUFxRjs7QUFFclQiLCJmaWxlIjoiMzU2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LWJmMzc5NzZlXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2VsbENoZWNrL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzU2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///356\n");
2421
2422/***/ }),
2423/* 357 */
2424/***/ (function(module, exports, __webpack_require__) {
2425
2426"use strict";
2427eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxDaGVjay9zdHlsZS5qcz8zNmFkIl0sIm5hbWVzIjpbIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFDTyxJQUFNQSxnQ0FBWUMsOEJBQU9DLEdBQW5CLGlCQUFOIiwiZmlsZSI6IjM1Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAndnVlLXN0eWxlZC1jb21wb25lbnRzJztcclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgcGFkZGluZzogNXB4IDEycHggNXB4IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgZmxleC1ncm93OiAxO1xyXG5gO1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxDaGVjay9zdHlsZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///357\n");
2428
2429/***/ }),
2430/* 358 */
2431/***/ (function(module, __webpack_exports__, __webpack_require__) {
2432
2433"use strict";
2434eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\" },\n attrs: { clearable: \"\" },\n model: {\n value: _vm.val,\n callback: function($$v) {\n _vm.val = $$v\n },\n expression: \"val\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n { key: item.name, attrs: { value: item.name || \"\" } },\n [_vm._v(_vm._s(item.name))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-bf37976e\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxDaGVjay9pbmRleC52dWU/MTgxZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLGVBQWUsZ0JBQWdCLEVBQUU7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsaUJBQWlCO0FBQzdDLHNCQUFzQixnQkFBZ0I7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIseUJBQXlCLHlCQUF5QixFQUFFO0FBQ3JFO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMzU4LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHsgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiMTAwJVwiIH0gfSxcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJDb250YWluZXJcIixcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJTZWxlY3RcIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiOTYuNSVcIiB9LFxuICAgICAgICAgICAgICBhdHRyczogeyBjbGVhcmFibGU6IFwiXCIgfSxcbiAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLnZhbCxcbiAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICBfdm0udmFsID0gJCR2XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfdm0uX2woX3ZtLm9wdGlvbnNEYXRhLCBmdW5jdGlvbihpdGVtKSB7XG4gICAgICAgICAgICAgIHJldHVybiBfYyhcbiAgICAgICAgICAgICAgICBcIk9wdGlvblwiLFxuICAgICAgICAgICAgICAgIHsga2V5OiBpdGVtLm5hbWUsIGF0dHJzOiB7IHZhbHVlOiBpdGVtLm5hbWUgfHwgXCJcIiB9IH0sXG4gICAgICAgICAgICAgICAgW192bS5fdihfdm0uX3MoaXRlbS5uYW1lKSldXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgMVxuICAgICAgICAgIClcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi1iZjM3OTc2ZVwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi1iZjM3OTc2ZVwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxDaGVjay9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDM1OFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///358\n");
2435
2436/***/ }),
2437/* 359 */
2438/***/ (function(module, __webpack_exports__, __webpack_require__) {
2439
2440"use strict";
2441eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(111);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_0a131f1e_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(367);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(360)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-0a131f1e\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_0a131f1e_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-cellHeightLevel/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-0a131f1e\", Component.options)\n } else {\n hotAPI.reload(\"data-v-0a131f1e\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxIZWlnaHRMZXZlbC9pbmRleC52dWU/YWMyZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQStVO0FBQ3pWO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDcUk7QUFDYTtBQUNsSjtBQUM2UztBQUM3UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsaVFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiIzNTkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0wYTEzMWYxZVxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi0wYTEzMWYxZVxcXCIsXFxcImhhc1Njb3BlZFxcXCI6dHJ1ZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBcImRhdGEtdi0wYTEzMWYxZVwiXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxIZWlnaHRMZXZlbC9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtMGExMzFmMWVcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi0wYTEzMWYxZVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2VsbEhlaWdodExldmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzU5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///359\n");
2442
2443/***/ }),
2444/* 360 */
2445/***/ (function(module, exports, __webpack_require__) {
2446
2447eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(361);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"4925e466\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0a131f1e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0a131f1e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxIZWlnaHRMZXZlbC9pbmRleC52dWU/NWQ1MyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUFxVztBQUMzWCw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsa0ZBQWtGO0FBQy9RLHNNQUFzTSxrRkFBa0Y7QUFDeFI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiIzNjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMGExMzFmMWVcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiNDkyNWU0NjZcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTBhMTMxZjFlXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMGExMzFmMWVcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0wYTEzMWYxZVwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2VsbEhlaWdodExldmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzYwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///360\n");
2448
2449/***/ }),
2450/* 361 */
2451/***/ (function(module, exports, __webpack_require__) {
2452
2453eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxIZWlnaHRMZXZlbC9pbmRleC52dWU/YTU1ZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsNklBQTZJLHFGQUFxRjs7QUFFelAiLCJmaWxlIjoiMzYxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTBhMTMxZjFlXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsSGVpZ2h0TGV2ZWwvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzNjFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///361\n");
2454
2455/***/ }),
2456/* 362 */
2457/***/ (function(module, exports, __webpack_require__) {
2458
2459"use strict";
2460eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxIZWlnaHRMZXZlbC9zdHlsZS5qcz81YjNhIl0sIm5hbWVzIjpbIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFDTyxJQUFNQSxnQ0FBWUMsOEJBQU9DLEdBQW5CLGlCQUFOIiwiZmlsZSI6IjM2Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAndnVlLXN0eWxlZC1jb21wb25lbnRzJztcclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgcGFkZGluZzogNXB4IDMwcHggNXB4IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgZmxleC1ncm93OiAxO1xyXG5gO1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxIZWlnaHRMZXZlbC9zdHlsZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///362\n");
2461
2462/***/ }),
2463/* 363 */
2464/***/ (function(module, exports, __webpack_require__) {
2465
2466eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(364);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"764477fa\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-9a83d1ce\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-9a83d1ce\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJhZGlvQXJyL2luZGV4LnZ1ZT84Y2ExIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQTRhO0FBQ2xjLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBOEYsZ0NBQWdDO0FBQ25KO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLDZMQUE2TCxrRkFBa0Y7QUFDL1Esc01BQXNNLGtGQUFrRjtBQUN4UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjM2My5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi05YTgzZDFjZVxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjc2NDQ3N2ZhXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi05YTgzZDFjZVxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtOWE4M2QxY2VcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTlhODNkMWNlXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtcmFkaW9BcnIvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzNjNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///363\n");
2467
2468/***/ }),
2469/* 364 */
2470/***/ (function(module, exports, __webpack_require__) {
2471
2472eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.tool-type-radioArr[data-v-9a83d1ce] {\\n margin: 10px 8px 0;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div[data-v-9a83d1ce] {\\n margin: 5px 8px 0;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorTextStyle[data-v-9a83d1ce] {\\n font-weight: 700;\\n font-size: 14px;\\n color: #191f25;\\n margin-bottom: 4px;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorTextStyle .radioArr-editorMaxFontStyle[data-v-9a83d1ce] {\\n color: rgba(25, 31, 37, 0.4);\\n font-size: 12px;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorTextStyle .radioArr-editorMaxFontStyleFalse[data-v-9a83d1ce] {\\n color: red;\\n font-size: 12px;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorInput[data-v-9a83d1ce] {\\n margin: 5px 0;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorInputFalse[data-v-9a83d1ce] {\\n margin: 5px 0;\\n border: 1px solid red;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorContentStyle[data-v-9a83d1ce] {\\n font-size: 12px;\\n margin: 8px 0;\\n}\\n.tool-type-radioArr .ivu-input-wrapper[data-v-9a83d1ce] {\\n width: 80%;\\n border-radius: 4px;\\n}\\n.tool-type-radioArr .ivu-input[data-v-9a83d1ce] {\\n border-radius: 4px;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-radioArr/index.vue\"],\"names\":[],\"mappings\":\";AAAA;EACE,mBAAmB;CACpB;AACD;EACE,kBAAkB;CACnB;AACD;EACE,iBAAiB;EACjB,gBAAgB;EAChB,eAAe;EACf,mBAAmB;CACpB;AACD;EACE,6BAA6B;EAC7B,gBAAgB;CACjB;AACD;EACE,WAAW;EACX,gBAAgB;CACjB;AACD;EACE,cAAc;CACf;AACD;EACE,cAAc;EACd,sBAAsB;CACvB;AACD;EACE,gBAAgB;EAChB,cAAc;CACf;AACD;EACE,WAAW;EACX,mBAAmB;CACpB;AACD;EACE,mBAAmB;CACpB\",\"file\":\"index.vue\",\"sourcesContent\":[\".tool-type-radioArr {\\n margin: 10px 8px 0;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div {\\n margin: 5px 8px 0;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorTextStyle {\\n font-weight: 700;\\n font-size: 14px;\\n color: #191f25;\\n margin-bottom: 4px;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorTextStyle .radioArr-editorMaxFontStyle {\\n color: rgba(25, 31, 37, 0.4);\\n font-size: 12px;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorTextStyle .radioArr-editorMaxFontStyleFalse {\\n color: red;\\n font-size: 12px;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorInput {\\n margin: 5px 0;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorInputFalse {\\n margin: 5px 0;\\n border: 1px solid red;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorContentStyle {\\n font-size: 12px;\\n margin: 8px 0;\\n}\\n.tool-type-radioArr .ivu-input-wrapper {\\n width: 80%;\\n border-radius: 4px;\\n}\\n.tool-type-radioArr .ivu-input {\\n border-radius: 4px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJhZGlvQXJyL2luZGV4LnZ1ZT81ODkyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQTRFO0FBQy9HOzs7QUFHQTtBQUNBLGNBQWMsUUFBUywyQ0FBMkMsdUJBQXVCLEdBQUcsZ0VBQWdFLHNCQUFzQixHQUFHLDBGQUEwRixxQkFBcUIsb0JBQW9CLG1CQUFtQix1QkFBdUIsR0FBRyx1SEFBdUgsaUNBQWlDLG9CQUFvQixHQUFHLDRIQUE0SCxlQUFlLG9CQUFvQixHQUFHLHNGQUFzRixrQkFBa0IsR0FBRywyRkFBMkYsa0JBQWtCLDBCQUEwQixHQUFHLDZGQUE2RixvQkFBb0Isa0JBQWtCLEdBQUcsMkRBQTJELGVBQWUsdUJBQXVCLEdBQUcsbURBQW1ELHVCQUF1QixHQUFHLFVBQVUsc0pBQXNKLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxhQUFhLFdBQVcsWUFBWSxNQUFNLEtBQUssWUFBWSxhQUFhLE1BQU0sS0FBSyxVQUFVLFlBQVksTUFBTSxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsWUFBWSxNQUFNLEtBQUssWUFBWSxXQUFXLEtBQUssS0FBSyxVQUFVLFlBQVksTUFBTSxLQUFLLFlBQVksa0VBQWtFLHVCQUF1QixHQUFHLCtDQUErQyxzQkFBc0IsR0FBRyx5RUFBeUUscUJBQXFCLG9CQUFvQixtQkFBbUIsdUJBQXVCLEdBQUcsc0dBQXNHLGlDQUFpQyxvQkFBb0IsR0FBRywyR0FBMkcsZUFBZSxvQkFBb0IsR0FBRyxxRUFBcUUsa0JBQWtCLEdBQUcsMEVBQTBFLGtCQUFrQiwwQkFBMEIsR0FBRyw0RUFBNEUsb0JBQW9CLGtCQUFrQixHQUFHLDBDQUEwQyxlQUFlLHVCQUF1QixHQUFHLGtDQUFrQyx1QkFBdUIsR0FBRyxxQkFBcUI7O0FBRXR4RiIsImZpbGUiOiIzNjQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG4udG9vbC10eXBlLXJhZGlvQXJyW2RhdGEtdi05YTgzZDFjZV0ge1xcbiAgbWFyZ2luOiAxMHB4IDhweCAwO1xcbn1cXG4udG9vbC10eXBlLXJhZGlvQXJyIC5yYWRpb0Fyci10b29sLXR5cGUtZGl2W2RhdGEtdi05YTgzZDFjZV0ge1xcbiAgbWFyZ2luOiA1cHggOHB4IDA7XFxufVxcbi50b29sLXR5cGUtcmFkaW9BcnIgLnJhZGlvQXJyLXRvb2wtdHlwZS1kaXYgLnJhZGlvQXJyLWVkaXRvclRleHRTdHlsZVtkYXRhLXYtOWE4M2QxY2VdIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBmb250LXNpemU6IDE0cHg7XFxuICBjb2xvcjogIzE5MWYyNTtcXG4gIG1hcmdpbi1ib3R0b206IDRweDtcXG59XFxuLnRvb2wtdHlwZS1yYWRpb0FyciAucmFkaW9BcnItdG9vbC10eXBlLWRpdiAucmFkaW9BcnItZWRpdG9yVGV4dFN0eWxlIC5yYWRpb0Fyci1lZGl0b3JNYXhGb250U3R5bGVbZGF0YS12LTlhODNkMWNlXSB7XFxuICBjb2xvcjogcmdiYSgyNSwgMzEsIDM3LCAwLjQpO1xcbiAgZm9udC1zaXplOiAxMnB4O1xcbn1cXG4udG9vbC10eXBlLXJhZGlvQXJyIC5yYWRpb0Fyci10b29sLXR5cGUtZGl2IC5yYWRpb0Fyci1lZGl0b3JUZXh0U3R5bGUgLnJhZGlvQXJyLWVkaXRvck1heEZvbnRTdHlsZUZhbHNlW2RhdGEtdi05YTgzZDFjZV0ge1xcbiAgY29sb3I6IHJlZDtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG59XFxuLnRvb2wtdHlwZS1yYWRpb0FyciAucmFkaW9BcnItdG9vbC10eXBlLWRpdiAucmFkaW9BcnItZWRpdG9ySW5wdXRbZGF0YS12LTlhODNkMWNlXSB7XFxuICBtYXJnaW46IDVweCAwO1xcbn1cXG4udG9vbC10eXBlLXJhZGlvQXJyIC5yYWRpb0Fyci10b29sLXR5cGUtZGl2IC5yYWRpb0Fyci1lZGl0b3JJbnB1dEZhbHNlW2RhdGEtdi05YTgzZDFjZV0ge1xcbiAgbWFyZ2luOiA1cHggMDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcXG59XFxuLnRvb2wtdHlwZS1yYWRpb0FyciAucmFkaW9BcnItdG9vbC10eXBlLWRpdiAucmFkaW9BcnItZWRpdG9yQ29udGVudFN0eWxlW2RhdGEtdi05YTgzZDFjZV0ge1xcbiAgZm9udC1zaXplOiAxMnB4O1xcbiAgbWFyZ2luOiA4cHggMDtcXG59XFxuLnRvb2wtdHlwZS1yYWRpb0FyciAuaXZ1LWlucHV0LXdyYXBwZXJbZGF0YS12LTlhODNkMWNlXSB7XFxuICB3aWR0aDogODAlO1xcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xcbn1cXG4udG9vbC10eXBlLXJhZGlvQXJyIC5pdnUtaW5wdXRbZGF0YS12LTlhODNkMWNlXSB7XFxuICBib3JkZXItcmFkaXVzOiA0cHg7XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJFOi9wcm9qZWN0L3BhZ2UtaWRlLXhpYW4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yYWRpb0Fyci9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQUFBO0VBQ0UsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0UsNkJBQTZCO0VBQzdCLGdCQUFnQjtDQUNqQjtBQUNEO0VBQ0UsV0FBVztFQUNYLGdCQUFnQjtDQUNqQjtBQUNEO0VBQ0UsY0FBYztDQUNmO0FBQ0Q7RUFDRSxjQUFjO0VBQ2Qsc0JBQXNCO0NBQ3ZCO0FBQ0Q7RUFDRSxnQkFBZ0I7RUFDaEIsY0FBYztDQUNmO0FBQ0Q7RUFDRSxXQUFXO0VBQ1gsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxtQkFBbUI7Q0FDcEJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIudG9vbC10eXBlLXJhZGlvQXJyIHtcXG4gIG1hcmdpbjogMTBweCA4cHggMDtcXG59XFxuLnRvb2wtdHlwZS1yYWRpb0FyciAucmFkaW9BcnItdG9vbC10eXBlLWRpdiB7XFxuICBtYXJnaW46IDVweCA4cHggMDtcXG59XFxuLnRvb2wtdHlwZS1yYWRpb0FyciAucmFkaW9BcnItdG9vbC10eXBlLWRpdiAucmFkaW9BcnItZWRpdG9yVGV4dFN0eWxlIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBmb250LXNpemU6IDE0cHg7XFxuICBjb2xvcjogIzE5MWYyNTtcXG4gIG1hcmdpbi1ib3R0b206IDRweDtcXG59XFxuLnRvb2wtdHlwZS1yYWRpb0FyciAucmFkaW9BcnItdG9vbC10eXBlLWRpdiAucmFkaW9BcnItZWRpdG9yVGV4dFN0eWxlIC5yYWRpb0Fyci1lZGl0b3JNYXhGb250U3R5bGUge1xcbiAgY29sb3I6IHJnYmEoMjUsIDMxLCAzNywgMC40KTtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG59XFxuLnRvb2wtdHlwZS1yYWRpb0FyciAucmFkaW9BcnItdG9vbC10eXBlLWRpdiAucmFkaW9BcnItZWRpdG9yVGV4dFN0eWxlIC5yYWRpb0Fyci1lZGl0b3JNYXhGb250U3R5bGVGYWxzZSB7XFxuICBjb2xvcjogcmVkO1xcbiAgZm9udC1zaXplOiAxMnB4O1xcbn1cXG4udG9vbC10eXBlLXJhZGlvQXJyIC5yYWRpb0Fyci10b29sLXR5cGUtZGl2IC5yYWRpb0Fyci1lZGl0b3JJbnB1dCB7XFxuICBtYXJnaW46IDVweCAwO1xcbn1cXG4udG9vbC10eXBlLXJhZGlvQXJyIC5yYWRpb0Fyci10b29sLXR5cGUtZGl2IC5yYWRpb0Fyci1lZGl0b3JJbnB1dEZhbHNlIHtcXG4gIG1hcmdpbjogNXB4IDA7XFxuICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XFxufVxcbi50b29sLXR5cGUtcmFkaW9BcnIgLnJhZGlvQXJyLXRvb2wtdHlwZS1kaXYgLnJhZGlvQXJyLWVkaXRvckNvbnRlbnRTdHlsZSB7XFxuICBmb250LXNpemU6IDEycHg7XFxuICBtYXJnaW46IDhweCAwO1xcbn1cXG4udG9vbC10eXBlLXJhZGlvQXJyIC5pdnUtaW5wdXQtd3JhcHBlciB7XFxuICB3aWR0aDogODAlO1xcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xcbn1cXG4udG9vbC10eXBlLXJhZGlvQXJyIC5pdnUtaW5wdXQge1xcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtOWE4M2QxY2VcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yYWRpb0Fyci9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDM2NFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///364\n");
2473
2474/***/ }),
2475/* 365 */
2476/***/ (function(module, exports, __webpack_require__) {
2477
2478"use strict";
2479eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJhZGlvQXJyL3N0eWxlLmpzP2ViYTMiXSwibmFtZXMiOlsiQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUNPLElBQU1BLGdDQUFZQyw4QkFBT0MsR0FBbkIsaUJBQU4iLCJmaWxlIjoiMzY1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICd2dWUtc3R5bGVkLWNvbXBvbmVudHMnO1xyXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICBwYWRkaW5nOiA1cHggMzBweCA1cHggMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBmbGV4LWdyb3c6IDE7XHJcbmA7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtcmFkaW9BcnIvc3R5bGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///365\n");
2480
2481/***/ }),
2482/* 366 */
2483/***/ (function(module, __webpack_exports__, __webpack_require__) {
2484
2485"use strict";
2486eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"tool-type-radioArr\", staticStyle: { width: \"100%\" } },\n [\n _c(\"div\", { staticClass: \"radioArr-tool-type-div\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\n \"ul\",\n {},\n [\n _vm._l(_vm.getArrList, function(item, index) {\n return _c(\n \"li\",\n {},\n [\n _c(\"Input\", {\n staticClass: \"radioArr-editorInput\",\n attrs: { maxlength: \"50\", clearable: \"\" },\n on: {\n \"on-change\": function($event) {\n return _vm.setRadioValue(item)\n }\n },\n model: {\n value: item.label,\n callback: function($$v) {\n _vm.$set(item, \"label\", $$v)\n },\n expression: \"item.label\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"iconfont icon-reca-icon_roundreduce\",\n on: {\n click: function($event) {\n return _vm.delArr(index)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"iconfont icon-reca-icon_roundadd \",\n on: {\n click: function($event) {\n return _vm.addArr()\n }\n }\n })\n ],\n 1\n )\n }),\n _vm._v(\" \"),\n _c(\"a\", { on: { click: _vm.batchEditor } }, [_vm._v(\"批量编辑\")])\n ],\n 2\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"Modal\",\n {\n attrs: { title: \"批量编辑\" },\n on: { \"on-ok\": _vm.ok, \"on-cancel\": _vm.cancel },\n model: {\n value: _vm.modalShow,\n callback: function($$v) {\n _vm.modalShow = $$v\n },\n expression: \"modalShow\"\n }\n },\n [\n _c(\n \"p\",\n { staticStyle: { \"font-weight\": \"700\", \"margin-bottom\": \"12px\" } },\n [_vm._v(\"每行对应一个选项\")]\n ),\n _vm._v(\" \"),\n _c(\"Input\", {\n attrs: { type: \"textarea\", rows: 8 },\n model: {\n value: _vm.textArea,\n callback: function($$v) {\n _vm.textArea = $$v\n },\n expression: \"textArea\"\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", { staticClass: \"radioArr-editorTextStyle\" }, [\n _vm._v(\"\\n 选项\\n \"),\n _c(\"span\", { staticClass: \"radioArr-editorMaxFontStyle\" }, [\n _vm._v(\"最多200项,每项最多50字\")\n ])\n ])\n }\n]\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-9a83d1ce\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJhZGlvQXJyL2luZGV4LnZ1ZT9kMGY1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssa0RBQWtELGdCQUFnQixFQUFFO0FBQ3pFO0FBQ0EsaUJBQWlCLHdDQUF3QztBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsaUNBQWlDO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLHFCQUFxQixNQUFNLHlCQUF5QixFQUFFO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsZ0JBQWdCO0FBQ2xDLGVBQWUsMkNBQTJDO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsYUFBYSxlQUFlLGdEQUFnRCxFQUFFO0FBQzlFO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDRCQUE0QjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiwwQ0FBMEM7QUFDOUQ7QUFDQSxrQkFBa0IsNkNBQTZDO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMzY2LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHsgc3RhdGljQ2xhc3M6IFwidG9vbC10eXBlLXJhZGlvQXJyXCIsIHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sXG4gICAgW1xuICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJyYWRpb0Fyci10b29sLXR5cGUtZGl2XCIgfSwgW1xuICAgICAgICBfdm0uX20oMCksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFxuICAgICAgICAgIFwidWxcIixcbiAgICAgICAgICB7fSxcbiAgICAgICAgICBbXG4gICAgICAgICAgICBfdm0uX2woX3ZtLmdldEFyckxpc3QsIGZ1bmN0aW9uKGl0ZW0sIGluZGV4KSB7XG4gICAgICAgICAgICAgIHJldHVybiBfYyhcbiAgICAgICAgICAgICAgICBcImxpXCIsXG4gICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgX2MoXCJJbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcInJhZGlvQXJyLWVkaXRvcklucHV0XCIsXG4gICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IG1heGxlbmd0aDogXCI1MFwiLCBjbGVhcmFibGU6IFwiXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICBcIm9uLWNoYW5nZVwiOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uc2V0UmFkaW9WYWx1ZShpdGVtKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChpdGVtLCBcImxhYmVsXCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgIF9jKFwic3BhblwiLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImljb25mb250IGljb24tcmVjYS1pY29uX3JvdW5kcmVkdWNlXCIsXG4gICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5kZWxBcnIoaW5kZXgpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwge1xuICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJpY29uZm9udCBpY29uLXJlY2EtaWNvbl9yb3VuZGFkZCBcIixcbiAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmFkZEFycigpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfYyhcImFcIiwgeyBvbjogeyBjbGljazogX3ZtLmJhdGNoRWRpdG9yIH0gfSwgW192bS5fdihcIuaJuemHj+e8lui+kVwiKV0pXG4gICAgICAgICAgXSxcbiAgICAgICAgICAyXG4gICAgICAgIClcbiAgICAgIF0pLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF9jKFxuICAgICAgICBcIk1vZGFsXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBhdHRyczogeyB0aXRsZTogXCLmibnph4/nvJbovpFcIiB9LFxuICAgICAgICAgIG9uOiB7IFwib24tb2tcIjogX3ZtLm9rLCBcIm9uLWNhbmNlbFwiOiBfdm0uY2FuY2VsIH0sXG4gICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgIHZhbHVlOiBfdm0ubW9kYWxTaG93LFxuICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICBfdm0ubW9kYWxTaG93ID0gJCR2XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJtb2RhbFNob3dcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJwXCIsXG4gICAgICAgICAgICB7IHN0YXRpY1N0eWxlOiB7IFwiZm9udC13ZWlnaHRcIjogXCI3MDBcIiwgXCJtYXJnaW4tYm90dG9tXCI6IFwiMTJweFwiIH0gfSxcbiAgICAgICAgICAgIFtfdm0uX3YoXCLmr4/ooYzlr7nlupTkuIDkuKrpgInpoblcIildXG4gICAgICAgICAgKSxcbiAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgIF9jKFwiSW5wdXRcIiwge1xuICAgICAgICAgICAgYXR0cnM6IHsgdHlwZTogXCJ0ZXh0YXJlYVwiLCByb3dzOiA4IH0sXG4gICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICB2YWx1ZTogX3ZtLnRleHRBcmVhLFxuICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgX3ZtLnRleHRBcmVhID0gJCR2XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGV4cHJlc3Npb246IFwidGV4dEFyZWFcIlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgIClcbiAgICBdLFxuICAgIDFcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtcbiAgZnVuY3Rpb24oKSB7XG4gICAgdmFyIF92bSA9IHRoaXNcbiAgICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgICByZXR1cm4gX2MoXCJwXCIsIHsgc3RhdGljQ2xhc3M6IFwicmFkaW9BcnItZWRpdG9yVGV4dFN0eWxlXCIgfSwgW1xuICAgICAgX3ZtLl92KFwiXFxuICAgICAgICAgICAg6YCJ6aG5XFxuICAgICAgICAgICAgXCIpLFxuICAgICAgX2MoXCJzcGFuXCIsIHsgc3RhdGljQ2xhc3M6IFwicmFkaW9BcnItZWRpdG9yTWF4Rm9udFN0eWxlXCIgfSwgW1xuICAgICAgICBfdm0uX3YoXCLmnIDlpJoyMDDpobnvvIzmr4/pobnmnIDlpJo1MOWtl1wiKVxuICAgICAgXSlcbiAgICBdKVxuICB9XG5dXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtOWE4M2QxY2VcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtOWE4M2QxY2VcIixcImhhc1Njb3BlZFwiOnRydWUsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJhZGlvQXJyL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzY2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///366\n");
2487
2488/***/ }),
2489/* 367 */
2490/***/ (function(module, __webpack_exports__, __webpack_require__) {
2491
2492"use strict";
2493eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticStyle: { width: \"100%\" } }, [\n _c(\"div\", [\n _c(\n \"div\",\n { staticClass: \"item-style\" },\n [\n _c(\"i-switch\", {\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.value,\n expression: \"value\"\n }\n ]\n },\n [\n _c(\"label\", { staticClass: \"item-style\" }, [_vm._v(\"内容子项\")]),\n _vm._v(\" \"),\n _c(\"radioArr\")\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-0a131f1e\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxIZWlnaHRMZXZlbC9pbmRleC52dWU/YTBjMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixlQUFlLGdCQUFnQixFQUFFO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBLFNBQVMsNEJBQTRCO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EscUJBQXFCLDRCQUE0QjtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjM2Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXCJkaXZcIiwgeyBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCIxMDAlXCIgfSB9LCBbXG4gICAgX2MoXCJkaXZcIiwgW1xuICAgICAgX2MoXG4gICAgICAgIFwiZGl2XCIsXG4gICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiaXRlbS1zdHlsZVwiIH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcImktc3dpdGNoXCIsIHtcbiAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgIHZhbHVlOiBfdm0udmFsdWUsXG4gICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICBfdm0udmFsdWUgPSAkJHZcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJ2YWx1ZVwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKVxuICAgIF0pLFxuICAgIF92bS5fdihcIiBcIiksXG4gICAgX2MoXG4gICAgICBcImRpdlwiLFxuICAgICAge1xuICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJzaG93XCIsXG4gICAgICAgICAgICByYXdOYW1lOiBcInYtc2hvd1wiLFxuICAgICAgICAgICAgdmFsdWU6IF92bS52YWx1ZSxcbiAgICAgICAgICAgIGV4cHJlc3Npb246IFwidmFsdWVcIlxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIFtcbiAgICAgICAgX2MoXCJsYWJlbFwiLCB7IHN0YXRpY0NsYXNzOiBcIml0ZW0tc3R5bGVcIiB9LCBbX3ZtLl92KFwi5YaF5a655a2Q6aG5XCIpXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwicmFkaW9BcnJcIilcbiAgICAgIF0sXG4gICAgICAxXG4gICAgKVxuICBdKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtMGExMzFmMWVcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtMGExMzFmMWVcIixcImhhc1Njb3BlZFwiOnRydWUsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxIZWlnaHRMZXZlbC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDM2N1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///367\n");
2494
2495/***/ }),
2496/* 368 */
2497/***/ (function(module, __webpack_exports__, __webpack_require__) {
2498
2499"use strict";
2500eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(114);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_7d4cbcaa_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(372);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(369)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_7d4cbcaa_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-cellIdentityCheck/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-7d4cbcaa\", Component.options)\n } else {\n hotAPI.reload(\"data-v-7d4cbcaa\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxJZGVudGl0eUNoZWNrL2luZGV4LnZ1ZT82ZGU3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBZ1Y7QUFDMVY7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUFxRjtBQUN0SDtBQUNxSTtBQUNhO0FBQ2xKO0FBQzhTO0FBQzlTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxrUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjM2OC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTdkNGNiY2FhXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi03ZDRjYmNhYVxcXCIsXFxcImhhc1Njb3BlZFxcXCI6ZmFsc2UsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsSWRlbnRpdHlDaGVjay9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtN2Q0Y2JjYWFcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi03ZDRjYmNhYVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2VsbElkZW50aXR5Q2hlY2svaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzNjhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///368\n");
2501
2502/***/ }),
2503/* 369 */
2504/***/ (function(module, exports, __webpack_require__) {
2505
2506eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(370);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"165908da\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7d4cbcaa\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7d4cbcaa\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxJZGVudGl0eUNoZWNrL2luZGV4LnZ1ZT9jNzlmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQXNXO0FBQzVYLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBOEYsZ0NBQWdDO0FBQ25KO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLDZMQUE2TCxtRkFBbUY7QUFDaFIsc01BQXNNLG1GQUFtRjtBQUN6UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjM2OS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi03ZDRjYmNhYVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiMTY1OTA4ZGFcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTdkNGNiY2FhXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTdkNGNiY2FhXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTdkNGNiY2FhXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2VsbElkZW50aXR5Q2hlY2svaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzNjlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///369\n");
2507
2508/***/ }),
2509/* 370 */
2510/***/ (function(module, exports, __webpack_require__) {
2511
2512eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxJZGVudGl0eUNoZWNrL2luZGV4LnZ1ZT82NTIyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQTRFO0FBQy9HOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyxtTUFBbU0scUZBQXFGOztBQUUvUyIsImZpbGUiOiIzNzAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W10sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtN2Q0Y2JjYWFcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsSWRlbnRpdHlDaGVjay9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDM3MFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///370\n");
2513
2514/***/ }),
2515/* 371 */
2516/***/ (function(module, exports, __webpack_require__) {
2517
2518"use strict";
2519eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxJZGVudGl0eUNoZWNrL3N0eWxlLmpzP2NhYWQiXSwibmFtZXMiOlsiQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUNPLElBQU1BLGdDQUFZQyw4QkFBT0MsR0FBbkIsaUJBQU4iLCJmaWxlIjoiMzcxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICd2dWUtc3R5bGVkLWNvbXBvbmVudHMnO1xyXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICBwYWRkaW5nOiA1cHggMTJweCA1cHggMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBmbGV4LWdyb3c6IDE7XHJcbmA7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2VsbElkZW50aXR5Q2hlY2svc3R5bGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///371\n");
2520
2521/***/ }),
2522/* 372 */
2523/***/ (function(module, __webpack_exports__, __webpack_require__) {
2524
2525"use strict";
2526eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\" },\n attrs: { clearable: \"\" },\n model: {\n value: _vm.val,\n callback: function($$v) {\n _vm.val = $$v\n },\n expression: \"val\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n { key: item.name, attrs: { value: item.name || \"\" } },\n [_vm._v(_vm._s(item.name))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-7d4cbcaa\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxJZGVudGl0eUNoZWNrL2luZGV4LnZ1ZT9kZDRjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssZUFBZSxnQkFBZ0IsRUFBRTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixpQkFBaUI7QUFDN0Msc0JBQXNCLGdCQUFnQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQix5QkFBeUIseUJBQXlCLEVBQUU7QUFDckU7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIzNzIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAgeyBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCIxMDAlXCIgfSB9LFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcIkNvbnRhaW5lclwiLFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcIlNlbGVjdFwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCI5Ni41JVwiIH0sXG4gICAgICAgICAgICAgIGF0dHJzOiB7IGNsZWFyYWJsZTogXCJcIiB9LFxuICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0udmFsLFxuICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgIF92bS52YWwgPSAkJHZcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwidmFsXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF92bS5fbChfdm0ub3B0aW9uc0RhdGEsIGZ1bmN0aW9uKGl0ZW0pIHtcbiAgICAgICAgICAgICAgcmV0dXJuIF9jKFxuICAgICAgICAgICAgICAgIFwiT3B0aW9uXCIsXG4gICAgICAgICAgICAgICAgeyBrZXk6IGl0ZW0ubmFtZSwgYXR0cnM6IHsgdmFsdWU6IGl0ZW0ubmFtZSB8fCBcIlwiIH0gfSxcbiAgICAgICAgICAgICAgICBbX3ZtLl92KF92bS5fcyhpdGVtLm5hbWUpKV1cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTdkNGNiY2FhXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTdkNGNiY2FhXCIsXCJoYXNTY29wZWRcIjpmYWxzZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2VsbElkZW50aXR5Q2hlY2svaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzNzJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///372\n");
2527
2528/***/ }),
2529/* 373 */
2530/***/ (function(module, __webpack_exports__, __webpack_require__) {
2531
2532"use strict";
2533eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(115);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_3565789e_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(377);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(374)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_3565789e_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-cellSelect/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-3565789e\", Component.options)\n } else {\n hotAPI.reload(\"data-v-3565789e\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxTZWxlY3QvaW5kZXgudnVlPzM3ZTEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFnVjtBQUMxVjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDOFM7QUFDOVM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGtRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiMzczLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMzU2NTc4OWVcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTM1NjU3ODllXFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxTZWxlY3QvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTM1NjU3ODllXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtMzU2NTc4OWVcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzNzNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///373\n");
2534
2535/***/ }),
2536/* 374 */
2537/***/ (function(module, exports, __webpack_require__) {
2538
2539eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(375);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"7274c23e\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3565789e\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3565789e\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxTZWxlY3QvaW5kZXgudnVlPzQ3NTAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBc1c7QUFDNVgsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLG1GQUFtRjtBQUNoUixzTUFBc00sbUZBQW1GO0FBQ3pSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiMzc0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTM1NjU3ODllXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCI3Mjc0YzIzZVwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMzU2NTc4OWVcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMzU2NTc4OWVcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtMzU2NTc4OWVcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsU2VsZWN0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzc0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///374\n");
2540
2541/***/ }),
2542/* 375 */
2543/***/ (function(module, exports, __webpack_require__) {
2544
2545eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxTZWxlY3QvaW5kZXgudnVlP2VmMTMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLGlLQUFpSyxxRkFBcUY7O0FBRTdRIiwiZmlsZSI6IjM3NS5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0zNTY1Nzg5ZVwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzNzVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///375\n");
2546
2547/***/ }),
2548/* 376 */
2549/***/ (function(module, exports, __webpack_require__) {
2550
2551"use strict";
2552eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxTZWxlY3Qvc3R5bGUuanM/MWI1NyJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBQ08sSUFBTUEsZ0NBQVlDLDhCQUFPQyxHQUFuQixpQkFBTiIsImZpbGUiOiIzNzYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIHBhZGRpbmc6IDVweCAxMnB4IDVweCAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsU2VsZWN0L3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///376\n");
2553
2554/***/ }),
2555/* 377 */
2556/***/ (function(module, __webpack_exports__, __webpack_require__) {
2557
2558"use strict";
2559eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\" },\n attrs: { clearable: \"\" },\n model: {\n value: _vm.val,\n callback: function($$v) {\n _vm.val = $$v\n },\n expression: \"val\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n { key: item.value, attrs: { value: item.value } },\n [_vm._v(_vm._s(item.key))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-3565789e\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxTZWxlY3QvaW5kZXgudnVlP2U4ZTUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxlQUFlLGdCQUFnQixFQUFFO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLGlCQUFpQjtBQUM3QyxzQkFBc0IsZ0JBQWdCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLDBCQUEwQixvQkFBb0IsRUFBRTtBQUNqRTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjM3Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiQ29udGFpbmVyXCIsXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiU2VsZWN0XCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjk2LjUlXCIgfSxcbiAgICAgICAgICAgICAgYXR0cnM6IHsgY2xlYXJhYmxlOiBcIlwiIH0sXG4gICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IF92bS52YWwsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgX3ZtLnZhbCA9ICQkdlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJ2YWxcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX3ZtLl9sKF92bS5vcHRpb25zRGF0YSwgZnVuY3Rpb24oaXRlbSkge1xuICAgICAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICAgICAgXCJPcHRpb25cIixcbiAgICAgICAgICAgICAgICB7IGtleTogaXRlbS52YWx1ZSwgYXR0cnM6IHsgdmFsdWU6IGl0ZW0udmFsdWUgfSB9LFxuICAgICAgICAgICAgICAgIFtfdm0uX3YoX3ZtLl9zKGl0ZW0ua2V5KSldXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgMVxuICAgICAgICAgIClcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi0zNTY1Nzg5ZVwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi0zNTY1Nzg5ZVwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzNzdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///377\n");
2560
2561/***/ }),
2562/* 378 */
2563/***/ (function(module, __webpack_exports__, __webpack_require__) {
2564
2565"use strict";
2566eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(116);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_673f4b8f_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(382);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(379)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_673f4b8f_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-cellTable/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-673f4b8f\", Component.options)\n } else {\n hotAPI.reload(\"data-v-673f4b8f\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZS9pbmRleC52dWU/YTM0NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQWdWO0FBQzFWO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDcUk7QUFDYTtBQUNsSjtBQUM4UztBQUM5UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsa1FBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiIzNzguanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi02NzNmNGI4ZlxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNjczZjRiOGZcXFwiLFxcXCJoYXNTY29wZWRcXFwiOmZhbHNlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2VsbFRhYmxlL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi02NzNmNGI4ZlwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTY3M2Y0YjhmXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsVGFibGUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzNzhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///378\n");
2567
2568/***/ }),
2569/* 379 */
2570/***/ (function(module, exports, __webpack_require__) {
2571
2572eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(380);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"209f60ec\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-673f4b8f\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-673f4b8f\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZS9pbmRleC52dWU/MzRkMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUFzVztBQUM1WCw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsbUZBQW1GO0FBQ2hSLHNNQUFzTSxtRkFBbUY7QUFDelI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiIzNzkuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNjczZjRiOGZcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjIwOWY2MGVjXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi02NzNmNGI4ZlxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi02NzNmNGI4ZlxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi02NzNmNGI4ZlwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZS9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDM3OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///379\n");
2573
2574/***/ }),
2575/* 380 */
2576/***/ (function(module, exports, __webpack_require__) {
2577
2578eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZS9pbmRleC52dWU/MzE2OSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMseU1BQXlNLHFGQUFxRjs7QUFFclQiLCJmaWxlIjoiMzgwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTY3M2Y0YjhmXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2VsbFRhYmxlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzgwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///380\n");
2579
2580/***/ }),
2581/* 381 */
2582/***/ (function(module, exports, __webpack_require__) {
2583
2584"use strict";
2585eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZS9zdHlsZS5qcz84YTdmIl0sIm5hbWVzIjpbIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFDTyxJQUFNQSxnQ0FBWUMsOEJBQU9DLEdBQW5CLGlCQUFOIiwiZmlsZSI6IjM4MS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAndnVlLXN0eWxlZC1jb21wb25lbnRzJztcclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgcGFkZGluZzogNXB4IDEycHggNXB4IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgZmxleC1ncm93OiAxO1xyXG5gO1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZS9zdHlsZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///381\n");
2586
2587/***/ }),
2588/* 382 */
2589/***/ (function(module, __webpack_exports__, __webpack_require__) {
2590
2591"use strict";
2592eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\" },\n model: {\n value: _vm.val,\n callback: function($$v) {\n _vm.val = $$v\n },\n expression: \"val\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n { key: item.name, attrs: { value: item.name || \"\" } },\n [_vm._v(_vm._s(item.name))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-673f4b8f\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZS9pbmRleC52dWU/YThiMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLGVBQWUsZ0JBQWdCLEVBQUU7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsaUJBQWlCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLHlCQUF5Qix5QkFBeUIsRUFBRTtBQUNyRTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjM4Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiQ29udGFpbmVyXCIsXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiU2VsZWN0XCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjk2LjUlXCIgfSxcbiAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLnZhbCxcbiAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICBfdm0udmFsID0gJCR2XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfdm0uX2woX3ZtLm9wdGlvbnNEYXRhLCBmdW5jdGlvbihpdGVtKSB7XG4gICAgICAgICAgICAgIHJldHVybiBfYyhcbiAgICAgICAgICAgICAgICBcIk9wdGlvblwiLFxuICAgICAgICAgICAgICAgIHsga2V5OiBpdGVtLm5hbWUsIGF0dHJzOiB7IHZhbHVlOiBpdGVtLm5hbWUgfHwgXCJcIiB9IH0sXG4gICAgICAgICAgICAgICAgW192bS5fdihfdm0uX3MoaXRlbS5uYW1lKSldXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgMVxuICAgICAgICAgIClcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi02NzNmNGI4ZlwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi02NzNmNGI4ZlwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZS9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDM4MlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///382\n");
2593
2594/***/ }),
2595/* 383 */
2596/***/ (function(module, __webpack_exports__, __webpack_require__) {
2597
2598"use strict";
2599eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(117);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_09e28885_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(387);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(384)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_09e28885_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-cellTableColumn/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-09e28885\", Component.options)\n } else {\n hotAPI.reload(\"data-v-09e28885\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZUNvbHVtbi9pbmRleC52dWU/ZTVlZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQWdWO0FBQzFWO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDcUk7QUFDYTtBQUNsSjtBQUM4UztBQUM5UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsa1FBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiIzODMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0wOWUyODg4NVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMDllMjg4ODVcXFwiLFxcXCJoYXNTY29wZWRcXFwiOmZhbHNlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2VsbFRhYmxlQ29sdW1uL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi0wOWUyODg4NVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTA5ZTI4ODg1XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsVGFibGVDb2x1bW4vaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzODNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///383\n");
2600
2601/***/ }),
2602/* 384 */
2603/***/ (function(module, exports, __webpack_require__) {
2604
2605eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(385);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"80541b7a\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-09e28885\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-09e28885\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZUNvbHVtbi9pbmRleC52dWU/ZThmOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUFzVztBQUM1WCw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsbUZBQW1GO0FBQ2hSLHNNQUFzTSxtRkFBbUY7QUFDelI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiIzODQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMDllMjg4ODVcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjgwNTQxYjdhXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0wOWUyODg4NVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0wOWUyODg4NVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0wOWUyODg4NVwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZUNvbHVtbi9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDM4NFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///384\n");
2606
2607/***/ }),
2608/* 385 */
2609/***/ (function(module, exports, __webpack_require__) {
2610
2611eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZUNvbHVtbi9pbmRleC52dWU/ZmE3NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsaU1BQWlNLHFGQUFxRjs7QUFFN1MiLCJmaWxlIjoiMzg1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTA5ZTI4ODg1XCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2VsbFRhYmxlQ29sdW1uL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzg1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///385\n");
2612
2613/***/ }),
2614/* 386 */
2615/***/ (function(module, exports, __webpack_require__) {
2616
2617"use strict";
2618eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZUNvbHVtbi9zdHlsZS5qcz9kMWFmIl0sIm5hbWVzIjpbIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFDTyxJQUFNQSxnQ0FBWUMsOEJBQU9DLEdBQW5CLGlCQUFOIiwiZmlsZSI6IjM4Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAndnVlLXN0eWxlZC1jb21wb25lbnRzJztcclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgcGFkZGluZzogNXB4IDEycHggNXB4IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgZmxleC1ncm93OiAxO1xyXG5gO1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZUNvbHVtbi9zdHlsZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///386\n");
2619
2620/***/ }),
2621/* 387 */
2622/***/ (function(module, __webpack_exports__, __webpack_require__) {
2623
2624"use strict";
2625eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\" },\n model: {\n value: _vm.val,\n callback: function($$v) {\n _vm.val = $$v\n },\n expression: \"val\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n { key: item.tableName, attrs: { value: item.tableName || \"\" } },\n [_vm._v(_vm._s(item.tableName))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-09e28885\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZUNvbHVtbi9pbmRleC52dWU/ZjE0NyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLGVBQWUsZ0JBQWdCLEVBQUU7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsaUJBQWlCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLDhCQUE4Qiw4QkFBOEIsRUFBRTtBQUMvRTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjM4Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiQ29udGFpbmVyXCIsXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiU2VsZWN0XCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjk2LjUlXCIgfSxcbiAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLnZhbCxcbiAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICBfdm0udmFsID0gJCR2XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfdm0uX2woX3ZtLm9wdGlvbnNEYXRhLCBmdW5jdGlvbihpdGVtKSB7XG4gICAgICAgICAgICAgIHJldHVybiBfYyhcbiAgICAgICAgICAgICAgICBcIk9wdGlvblwiLFxuICAgICAgICAgICAgICAgIHsga2V5OiBpdGVtLnRhYmxlTmFtZSwgYXR0cnM6IHsgdmFsdWU6IGl0ZW0udGFibGVOYW1lIHx8IFwiXCIgfSB9LFxuICAgICAgICAgICAgICAgIFtfdm0uX3YoX3ZtLl9zKGl0ZW0udGFibGVOYW1lKSldXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgMVxuICAgICAgICAgIClcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi0wOWUyODg4NVwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi0wOWUyODg4NVwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZUNvbHVtbi9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDM4N1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///387\n");
2626
2627/***/ }),
2628/* 388 */
2629/***/ (function(module, __webpack_exports__, __webpack_require__) {
2630
2631"use strict";
2632eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(118);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_498cc152_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(392);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(389)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_498cc152_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-cellTableProp/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-498cc152\", Component.options)\n } else {\n hotAPI.reload(\"data-v-498cc152\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZVByb3AvaW5kZXgudnVlPzI5ZmQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFnVjtBQUMxVjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDOFM7QUFDOVM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGtRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiMzg4LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNDk4Y2MxNTJcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTQ5OGNjMTUyXFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZVByb3AvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTQ5OGNjMTUyXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtNDk4Y2MxNTJcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZVByb3AvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzODhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///388\n");
2633
2634/***/ }),
2635/* 389 */
2636/***/ (function(module, exports, __webpack_require__) {
2637
2638eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(390);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"d540b750\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-498cc152\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-498cc152\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZVByb3AvaW5kZXgudnVlPzU2YWEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBc1c7QUFDNVgsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLG1GQUFtRjtBQUNoUixzTUFBc00sbUZBQW1GO0FBQ3pSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiMzg5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTQ5OGNjMTUyXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCJkNTQwYjc1MFwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNDk4Y2MxNTJcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNDk4Y2MxNTJcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNDk4Y2MxNTJcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsVGFibGVQcm9wL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzg5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///389\n");
2639
2640/***/ }),
2641/* 390 */
2642/***/ (function(module, exports, __webpack_require__) {
2643
2644eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZVByb3AvaW5kZXgudnVlPzJjODciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLG1MQUFtTCxxRkFBcUY7O0FBRS9SIiwiZmlsZSI6IjM5MC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi00OThjYzE1MlwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZVByb3AvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzOTBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///390\n");
2645
2646/***/ }),
2647/* 391 */
2648/***/ (function(module, exports, __webpack_require__) {
2649
2650"use strict";
2651eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZVByb3Avc3R5bGUuanM/OThlNiJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBQ08sSUFBTUEsZ0NBQVlDLDhCQUFPQyxHQUFuQixpQkFBTiIsImZpbGUiOiIzOTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIHBhZGRpbmc6IDVweCAxMnB4IDVweCAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jZWxsVGFibGVQcm9wL3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///391\n");
2652
2653/***/ }),
2654/* 392 */
2655/***/ (function(module, __webpack_exports__, __webpack_require__) {
2656
2657"use strict";
2658eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\" },\n attrs: { clearable: \"\" },\n model: {\n value: _vm.val,\n callback: function($$v) {\n _vm.val = $$v\n },\n expression: \"val\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n { key: item.name, attrs: { value: item.name } },\n [_vm._v(_vm._s(item.name))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-498cc152\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNlbGxUYWJsZVByb3AvaW5kZXgudnVlP2UwYjYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxlQUFlLGdCQUFnQixFQUFFO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLGlCQUFpQjtBQUM3QyxzQkFBc0IsZ0JBQWdCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLHlCQUF5QixtQkFBbUIsRUFBRTtBQUMvRDtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjM5Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiQ29udGFpbmVyXCIsXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiU2VsZWN0XCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjk2LjUlXCIgfSxcbiAgICAgICAgICAgICAgYXR0cnM6IHsgY2xlYXJhYmxlOiBcIlwiIH0sXG4gICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IF92bS52YWwsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgX3ZtLnZhbCA9ICQkdlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJ2YWxcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX3ZtLl9sKF92bS5vcHRpb25zRGF0YSwgZnVuY3Rpb24oaXRlbSkge1xuICAgICAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICAgICAgXCJPcHRpb25cIixcbiAgICAgICAgICAgICAgICB7IGtleTogaXRlbS5uYW1lLCBhdHRyczogeyB2YWx1ZTogaXRlbS5uYW1lIH0gfSxcbiAgICAgICAgICAgICAgICBbX3ZtLl92KF92bS5fcyhpdGVtLm5hbWUpKV1cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTQ5OGNjMTUyXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTQ5OGNjMTUyXCIsXCJoYXNTY29wZWRcIjpmYWxzZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2VsbFRhYmxlUHJvcC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDM5MlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///392\n");
2659
2660/***/ }),
2661/* 393 */
2662/***/ (function(module, __webpack_exports__, __webpack_require__) {
2663
2664"use strict";
2665eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(119);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_62876146_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(401);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(394)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-62876146\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_62876146_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-checkboxHeightLevel/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-62876146\", Component.options)\n } else {\n hotAPI.reload(\"data-v-62876146\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNoZWNrYm94SGVpZ2h0TGV2ZWwvaW5kZXgudnVlPzAxYzkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUErVTtBQUN6VjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDNlM7QUFDN1M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGlRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiMzkzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNjI4NzYxNDZcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNjI4NzYxNDZcXFwiLFxcXCJoYXNTY29wZWRcXFwiOnRydWUsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gXCJkYXRhLXYtNjI4NzYxNDZcIlxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jaGVja2JveEhlaWdodExldmVsL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi02Mjg3NjE0NlwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTYyODc2MTQ2XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jaGVja2JveEhlaWdodExldmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzkzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///393\n");
2666
2667/***/ }),
2668/* 394 */
2669/***/ (function(module, exports, __webpack_require__) {
2670
2671eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(395);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"035eea2e\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-62876146\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-62876146\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNoZWNrYm94SGVpZ2h0TGV2ZWwvaW5kZXgudnVlPzI0MWQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBcVc7QUFDM1gsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLGtGQUFrRjtBQUMvUSxzTUFBc00sa0ZBQWtGO0FBQ3hSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiMzk0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTYyODc2MTQ2XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjAzNWVlYTJlXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi02Mjg3NjE0NlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTYyODc2MTQ2XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNjI4NzYxNDZcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNoZWNrYm94SGVpZ2h0TGV2ZWwvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSAzOTRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///394\n");
2672
2673/***/ }),
2674/* 395 */
2675/***/ (function(module, exports, __webpack_require__) {
2676
2677eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNoZWNrYm94SGVpZ2h0TGV2ZWwvaW5kZXgudnVlP2NmNWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLGlOQUFpTixxRkFBcUY7O0FBRTdUIiwiZmlsZSI6IjM5NS5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi02Mjg3NjE0NlwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2hlY2tib3hIZWlnaHRMZXZlbC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDM5NVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///395\n");
2678
2679/***/ }),
2680/* 396 */
2681/***/ (function(module, exports, __webpack_require__) {
2682
2683"use strict";
2684eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNoZWNrYm94SGVpZ2h0TGV2ZWwvc3R5bGUuanM/ZDVlNCJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBQ08sSUFBTUEsZ0NBQVlDLDhCQUFPQyxHQUFuQixpQkFBTiIsImZpbGUiOiIzOTYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIHBhZGRpbmc6IDVweCAzMHB4IDVweCAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jaGVja2JveEhlaWdodExldmVsL3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///396\n");
2685
2686/***/ }),
2687/* 397 */
2688/***/ (function(module, exports, __webpack_require__) {
2689
2690eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(398);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"b6db8ec8\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-e5939afc\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-e5939afc\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWR5bmFtaWMvaW5kZXgudnVlP2IxYWYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBc1c7QUFDNVgsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLG1GQUFtRjtBQUNoUixzTUFBc00sbUZBQW1GO0FBQ3pSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiMzk3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWU1OTM5YWZjXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCJiNmRiOGVjOFwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZTU5MzlhZmNcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZTU5MzlhZmNcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtZTU5MzlhZmNcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1keW5hbWljL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzk3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///397\n");
2691
2692/***/ }),
2693/* 398 */
2694/***/ (function(module, exports, __webpack_require__) {
2695
2696eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWR5bmFtaWMvaW5kZXgudnVlP2E3ZWIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLHVaQUF1WixxRkFBcUY7O0FBRW5nQiIsImZpbGUiOiIzOTguanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W10sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtZTU5MzlhZmNcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1keW5hbWljL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMzk4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///398\n");
2697
2698/***/ }),
2699/* 399 */
2700/***/ (function(module, exports, __webpack_require__) {
2701
2702"use strict";
2703eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWR5bmFtaWMvc3R5bGUuanM/MDQyNyJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBQ08sSUFBTUEsZ0NBQVlDLDhCQUFPQyxHQUFuQixpQkFBTiIsImZpbGUiOiIzOTkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIHBhZGRpbmc6IDVweCAzMHB4IDVweCAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1keW5hbWljL3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///399\n");
2704
2705/***/ }),
2706/* 400 */
2707/***/ (function(module, __webpack_exports__, __webpack_require__) {
2708
2709"use strict";
2710eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Button\",\n {\n on: {\n click: function($event) {\n return _vm.addArr()\n }\n }\n },\n [_vm._v(\"添加\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { staticClass: \"main-ul\" },\n _vm._l(_vm.getArrList, function(item, index) {\n return _c(\"li\", { staticClass: \"main-li\" }, [\n _vm._m(0, true),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Input\", {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\", placeholder: \"请输入键\" },\n on: {\n \"on-change\": function($event) {\n return _vm.changeDynamic()\n }\n },\n model: {\n value: item.label,\n callback: function($$v) {\n _vm.$set(item, \"label\", $$v)\n },\n expression: \"item.label\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm._m(1, true),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Input\", {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\", placeholder: \"请输入值\" },\n on: {\n \"on-change\": function($event) {\n return _vm.changeDynamic()\n }\n },\n model: {\n value: item.value,\n callback: function($$v) {\n _vm.$set(item, \"value\", $$v)\n },\n expression: \"item.value\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-btn\" },\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"error\" },\n on: {\n click: function($event) {\n return _vm.delArr(index)\n }\n }\n },\n [_vm._v(\"删除当前数组\")]\n )\n ],\n 1\n )\n ])\n }),\n 0\n )\n ],\n 1\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"main-li-div\" }, [\n _c(\"label\", { staticClass: \"main-li-label\" }, [_vm._v(\"参数名称\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"main-li-div\" }, [\n _c(\"label\", { staticClass: \"main-li-label\" }, [_vm._v(\"参数值\")])\n ])\n }\n]\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-e5939afc\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWR5bmFtaWMvaW5kZXgudnVlPzA3MTYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxlQUFlLGdCQUFnQixFQUFFO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyx5QkFBeUI7QUFDbEM7QUFDQSwyQkFBMkIseUJBQXlCO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSw2QkFBNkI7QUFDNUM7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLHFDQUFxQztBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLDZCQUE2QjtBQUM1QztBQUNBO0FBQ0E7QUFDQSwwQkFBMEIscUNBQXFDO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSw2QkFBNkI7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsZ0JBQWdCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsNkJBQTZCO0FBQ25ELG1CQUFtQiwrQkFBK0I7QUFDbEQ7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsNkJBQTZCO0FBQ25ELG1CQUFtQiwrQkFBK0I7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjQwMC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiQ29udGFpbmVyXCIsXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiQnV0dG9uXCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5hZGRBcnIoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtfdm0uX3YoXCLmt7vliqBcIildXG4gICAgICAgICAgKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF9jKFxuICAgICAgICBcInVsXCIsXG4gICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi11bFwiIH0sXG4gICAgICAgIF92bS5fbChfdm0uZ2V0QXJyTGlzdCwgZnVuY3Rpb24oaXRlbSwgaW5kZXgpIHtcbiAgICAgICAgICByZXR1cm4gX2MoXCJsaVwiLCB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGlcIiB9LCBbXG4gICAgICAgICAgICBfdm0uX20oMCwgdHJ1ZSksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgX2MoXCJJbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJtYWluLWxpLWl0ZW1cIixcbiAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IGNsZWFyYWJsZTogXCJcIiwgcGxhY2Vob2xkZXI6IFwi6K+36L6T5YWl6ZSuXCIgfSxcbiAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgIFwib24tY2hhbmdlXCI6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uY2hhbmdlRHluYW1pYygpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwibGFiZWxcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgX3ZtLl9tKDEsIHRydWUpLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIF9jKFwiSW5wdXRcIiwge1xuICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1pdGVtXCIsXG4gICAgICAgICAgICAgICAgICBhdHRyczogeyBjbGVhcmFibGU6IFwiXCIsIHBsYWNlaG9sZGVyOiBcIuivt+i+k+WFpeWAvFwiIH0sXG4gICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICBcIm9uLWNoYW5nZVwiOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmNoYW5nZUR5bmFtaWMoKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChpdGVtLCBcInZhbHVlXCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJpdGVtLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktYnRuXCIgfSxcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgXCJCdXR0b25cIixcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgdHlwZTogXCJlcnJvclwiIH0sXG4gICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5kZWxBcnIoaW5kZXgpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgW192bS5fdihcIuWIoOmZpOW9k+WJjeaVsOe7hFwiKV1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIDFcbiAgICAgICAgICAgIClcbiAgICAgICAgICBdKVxuICAgICAgICB9KSxcbiAgICAgICAgMFxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW1xuICBmdW5jdGlvbigpIHtcbiAgICB2YXIgX3ZtID0gdGhpc1xuICAgIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICAgIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICAgIHJldHVybiBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSwgW1xuICAgICAgX2MoXCJsYWJlbFwiLCB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktbGFiZWxcIiB9LCBbX3ZtLl92KFwi5Y+C5pWw5ZCN56ewXCIpXSlcbiAgICBdKVxuICB9LFxuICBmdW5jdGlvbigpIHtcbiAgICB2YXIgX3ZtID0gdGhpc1xuICAgIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICAgIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICAgIHJldHVybiBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSwgW1xuICAgICAgX2MoXCJsYWJlbFwiLCB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktbGFiZWxcIiB9LCBbX3ZtLl92KFwi5Y+C5pWw5YC8XCIpXSlcbiAgICBdKVxuICB9XG5dXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtZTU5MzlhZmNcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtZTU5MzlhZmNcIixcImhhc1Njb3BlZFwiOmZhbHNlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1keW5hbWljL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDAwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///400\n");
2711
2712/***/ }),
2713/* 401 */
2714/***/ (function(module, __webpack_exports__, __webpack_require__) {
2715
2716"use strict";
2717eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticStyle: { width: \"100%\" } }, [\n _c(\n \"div\",\n { staticClass: \"item-style\" },\n [\n _c(\"i-switch\", {\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.value,\n expression: \"value\"\n }\n ]\n },\n [\n _c(\"div\", [\n _c(\n \"div\",\n [\n _c(\"label\", { staticClass: \"item-style\" }, [\n _vm._v(\"键值对-label\")\n ]),\n _vm._v(\" \"),\n _c(\"Input\", {\n staticStyle: {\n width: \"92%\",\n \"margin-left\": \"10px\",\n \"margin-right\": \"11px\"\n },\n attrs: { clearable: \"\" },\n on: {\n \"on-change\": function($event) {\n return _vm.changeVal()\n }\n },\n model: {\n value: _vm.getRomout.label,\n callback: function($$v) {\n _vm.$set(_vm.getRomout, \"label\", $$v)\n },\n expression: \"getRomout.label\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n [\n _c(\"label\", { staticClass: \"item-style\" }, [\n _vm._v(\"键值对-value\")\n ]),\n _vm._v(\" \"),\n _c(\"Input\", {\n staticStyle: {\n width: \"92%\",\n \"margin-left\": \"10px\",\n \"margin-right\": \"11px\"\n },\n attrs: { clearable: \"\" },\n on: {\n \"on-change\": function($event) {\n return _vm.changeVal()\n }\n },\n model: {\n value: _vm.getRomout.value,\n callback: function($$v) {\n _vm.$set(_vm.getRomout, \"value\", $$v)\n },\n expression: \"getRomout.value\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n [\n _c(\"label\", { staticClass: \"item-style\" }, [\n _vm._v(\"键值对-url\")\n ]),\n _vm._v(\" \"),\n _c(\"Input\", {\n staticStyle: {\n width: \"92%\",\n \"margin-left\": \"10px\",\n \"margin-right\": \"11px\"\n },\n attrs: { clearable: \"\" },\n on: {\n \"on-change\": function($event) {\n return _vm.changeVal()\n }\n },\n model: {\n value: _vm.getRomout.url,\n callback: function($$v) {\n _vm.$set(_vm.getRomout, \"url\", $$v)\n },\n expression: \"getRomout.url\"\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"dynamic\"),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"title-style\" }, [_vm._v(\"校验\")]),\n _vm._v(\" \"),\n _c(\"validateArr\")\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-62876146\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNoZWNrYm94SGVpZ2h0TGV2ZWwvaW5kZXgudnVlPzJiMTQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsZUFBZSxnQkFBZ0IsRUFBRTtBQUNyRDtBQUNBO0FBQ0EsT0FBTyw0QkFBNEI7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsNEJBQTRCO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIsd0JBQXdCLGdCQUFnQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLDRCQUE0QjtBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLHdCQUF3QixnQkFBZ0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQiw0QkFBNEI7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQix3QkFBd0IsZ0JBQWdCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsNkJBQTZCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNDAxLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcImRpdlwiLCB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sIFtcbiAgICBfYyhcbiAgICAgIFwiZGl2XCIsXG4gICAgICB7IHN0YXRpY0NsYXNzOiBcIml0ZW0tc3R5bGVcIiB9LFxuICAgICAgW1xuICAgICAgICBfYyhcImktc3dpdGNoXCIsIHtcbiAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgdmFsdWU6IF92bS52YWx1ZSxcbiAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgX3ZtLnZhbHVlID0gJCR2XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJ2YWx1ZVwiXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgXSxcbiAgICAgIDFcbiAgICApLFxuICAgIF92bS5fdihcIiBcIiksXG4gICAgX2MoXG4gICAgICBcImRpdlwiLFxuICAgICAge1xuICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJzaG93XCIsXG4gICAgICAgICAgICByYXdOYW1lOiBcInYtc2hvd1wiLFxuICAgICAgICAgICAgdmFsdWU6IF92bS52YWx1ZSxcbiAgICAgICAgICAgIGV4cHJlc3Npb246IFwidmFsdWVcIlxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIFtcbiAgICAgICAgX2MoXCJkaXZcIiwgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX2MoXCJsYWJlbFwiLCB7IHN0YXRpY0NsYXNzOiBcIml0ZW0tc3R5bGVcIiB9LCBbXG4gICAgICAgICAgICAgICAgX3ZtLl92KFwi6ZSu5YC85a+5LWxhYmVsXCIpXG4gICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICBfYyhcIklucHV0XCIsIHtcbiAgICAgICAgICAgICAgICBzdGF0aWNTdHlsZToge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IFwiOTIlXCIsXG4gICAgICAgICAgICAgICAgICBcIm1hcmdpbi1sZWZ0XCI6IFwiMTBweFwiLFxuICAgICAgICAgICAgICAgICAgXCJtYXJnaW4tcmlnaHRcIjogXCIxMXB4XCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGF0dHJzOiB7IGNsZWFyYWJsZTogXCJcIiB9LFxuICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICBcIm9uLWNoYW5nZVwiOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5jaGFuZ2VWYWwoKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0uZ2V0Um9tb3V0LmxhYmVsLFxuICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChfdm0uZ2V0Um9tb3V0LCBcImxhYmVsXCIsICQkdilcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImdldFJvbW91dC5sYWJlbFwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApLFxuICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcImxhYmVsXCIsIHsgc3RhdGljQ2xhc3M6IFwiaXRlbS1zdHlsZVwiIH0sIFtcbiAgICAgICAgICAgICAgICBfdm0uX3YoXCLplK7lgLzlr7ktdmFsdWVcIilcbiAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFwiSW5wdXRcIiwge1xuICAgICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogXCI5MiVcIixcbiAgICAgICAgICAgICAgICAgIFwibWFyZ2luLWxlZnRcIjogXCIxMHB4XCIsXG4gICAgICAgICAgICAgICAgICBcIm1hcmdpbi1yaWdodFwiOiBcIjExcHhcIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYXR0cnM6IHsgY2xlYXJhYmxlOiBcIlwiIH0sXG4gICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgIFwib24tY2hhbmdlXCI6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmNoYW5nZVZhbCgpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5nZXRSb21vdXQudmFsdWUsXG4gICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KF92bS5nZXRSb21vdXQsIFwidmFsdWVcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiZ2V0Um9tb3V0LnZhbHVlXCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgMVxuICAgICAgICAgICksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgIF9jKFwibGFiZWxcIiwgeyBzdGF0aWNDbGFzczogXCJpdGVtLXN0eWxlXCIgfSwgW1xuICAgICAgICAgICAgICAgIF92bS5fdihcIumUruWAvOWvuS11cmxcIilcbiAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFwiSW5wdXRcIiwge1xuICAgICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogXCI5MiVcIixcbiAgICAgICAgICAgICAgICAgIFwibWFyZ2luLWxlZnRcIjogXCIxMHB4XCIsXG4gICAgICAgICAgICAgICAgICBcIm1hcmdpbi1yaWdodFwiOiBcIjExcHhcIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYXR0cnM6IHsgY2xlYXJhYmxlOiBcIlwiIH0sXG4gICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgIFwib24tY2hhbmdlXCI6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmNoYW5nZVZhbCgpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5nZXRSb21vdXQudXJsLFxuICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChfdm0uZ2V0Um9tb3V0LCBcInVybFwiLCAkJHYpXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJnZXRSb21vdXQudXJsXCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgMVxuICAgICAgICAgIClcbiAgICAgICAgXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwiZHluYW1pY1wiKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJ0aXRsZS1zdHlsZVwiIH0sIFtfdm0uX3YoXCLmoKHpqoxcIildKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJ2YWxpZGF0ZUFyclwiKVxuICAgICAgXSxcbiAgICAgIDFcbiAgICApXG4gIF0pXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi02Mjg3NjE0NlwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi02Mjg3NjE0NlwiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2hlY2tib3hIZWlnaHRMZXZlbC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQwMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///401\n");
2718
2719/***/ }),
2720/* 402 */
2721/***/ (function(module, __webpack_exports__, __webpack_require__) {
2722
2723"use strict";
2724eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(121);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_0694cc1b_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(406);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(403)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_0694cc1b_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-checkmultiple/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-0694cc1b\", Component.options)\n } else {\n hotAPI.reload(\"data-v-0694cc1b\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNoZWNrbXVsdGlwbGUvaW5kZXgudnVlPzg5MTciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFnVjtBQUMxVjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDOFM7QUFDOVM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGtRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNDAyLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMDY5NGNjMWJcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTA2OTRjYzFiXFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNoZWNrbXVsdGlwbGUvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTA2OTRjYzFiXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtMDY5NGNjMWJcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNoZWNrbXVsdGlwbGUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0MDJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///402\n");
2725
2726/***/ }),
2727/* 403 */
2728/***/ (function(module, exports, __webpack_require__) {
2729
2730eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(404);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"cfb45610\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0694cc1b\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0694cc1b\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNoZWNrbXVsdGlwbGUvaW5kZXgudnVlPzRhODQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBc1c7QUFDNVgsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLG1GQUFtRjtBQUNoUixzTUFBc00sbUZBQW1GO0FBQ3pSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNDAzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTA2OTRjYzFiXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCJjZmI0NTYxMFwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMDY5NGNjMWJcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMDY5NGNjMWJcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtMDY5NGNjMWJcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jaGVja211bHRpcGxlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDAzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///403\n");
2731
2732/***/ }),
2733/* 404 */
2734/***/ (function(module, exports, __webpack_require__) {
2735
2736eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNoZWNrbXVsdGlwbGUvaW5kZXgudnVlPzhjMWYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLDJhQUEyYSxxRkFBcUY7O0FBRXZoQiIsImZpbGUiOiI0MDQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W10sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtMDY5NGNjMWJcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jaGVja211bHRpcGxlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDA0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///404\n");
2737
2738/***/ }),
2739/* 405 */
2740/***/ (function(module, exports, __webpack_require__) {
2741
2742"use strict";
2743eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNoZWNrbXVsdGlwbGUvc3R5bGUuanM/MzE5MyJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBQ08sSUFBTUEsZ0NBQVlDLDhCQUFPQyxHQUFuQixpQkFBTiIsImZpbGUiOiI0MDUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIHBhZGRpbmc6IDVweCAzMHB4IDVweCAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jaGVja211bHRpcGxlL3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///405\n");
2744
2745/***/ }),
2746/* 406 */
2747/***/ (function(module, __webpack_exports__, __webpack_require__) {
2748
2749"use strict";
2750eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"success\" },\n on: {\n click: function($event) {\n return _vm.addArr()\n }\n }\n },\n [_vm._v(\"添加\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { staticClass: \"main-ul\" },\n _vm._l(_vm.getArrList, function(item, index) {\n return _c(\"li\", { staticClass: \"main-li\" }, [\n _c(\n \"div\",\n { staticClass: \"main-li-btn\" },\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"error\", shape: \"circle\" },\n on: {\n click: function($event) {\n return _vm.delArr(index)\n }\n }\n },\n [_vm._v(\"删除\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [_c(\"Label\", { staticClass: \"main-li-label\" }, [_vm._v(\"标签\")])],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Input\", {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\" },\n model: {\n value: item.label,\n callback: function($$v) {\n _vm.$set(item, \"label\", $$v)\n },\n expression: \"item.label\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [_c(\"Label\", { staticClass: \"main-li-label\" }, [_vm._v(\"值\")])],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Input\", {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\" },\n model: {\n value: item.value,\n callback: function($$v) {\n _vm.$set(item, \"value\", $$v)\n },\n expression: \"item.value\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"是否显示\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"i-switch\", {\n staticClass: \"main-li-item-switch\",\n model: {\n value: item.show,\n callback: function($$v) {\n _vm.$set(item, \"show\", $$v)\n },\n expression: \"item.show\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-btn\" },\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"success\" },\n on: {\n click: function($event) {\n return _vm.addCheckChildArr(index)\n }\n }\n },\n [_vm._v(\"添加子集数组\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { staticClass: \"main-ul\" },\n _vm._l(item.radioList, function(item1, index1) {\n return _c(\"li\", { staticClass: \"main-li\" }, [\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"名称\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Input\", {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\" },\n model: {\n value: item1.name,\n callback: function($$v) {\n _vm.$set(item1, \"name\", $$v)\n },\n expression: \"item1.name\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"是否选中\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"i-switch\", {\n staticClass: \"main-li-item-switch\",\n model: {\n value: item1.isSelected,\n callback: function($$v) {\n _vm.$set(item1, \"isSelected\", $$v)\n },\n expression: \"item1.isSelected\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"值\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Input\", {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\" },\n model: {\n value: item1.value,\n callback: function($$v) {\n _vm.$set(item1, \"value\", $$v)\n },\n expression: \"item1.value\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-btn-child\" },\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"error\" },\n on: {\n click: function($event) {\n return _vm.delCheckChildArr(index, index1)\n }\n }\n },\n [_vm._v(\"删除子集数组\")]\n )\n ],\n 1\n )\n ])\n }),\n 0\n )\n ])\n }),\n 0\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-0694cc1b\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNoZWNrbXVsdGlwbGUvaW5kZXgudnVlP2U3ZDciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxlQUFlLGdCQUFnQixFQUFFO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLGtCQUFrQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLHlCQUF5QjtBQUNsQztBQUNBLDJCQUEyQix5QkFBeUI7QUFDcEQ7QUFDQTtBQUNBLGVBQWUsNkJBQTZCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLGlDQUFpQztBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLDZCQUE2QjtBQUM1Qyw0QkFBNEIsK0JBQStCO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLDZCQUE2QjtBQUM1QztBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsZ0JBQWdCO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSw2QkFBNkI7QUFDNUMsNEJBQTRCLCtCQUErQjtBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSw2QkFBNkI7QUFDNUM7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLGdCQUFnQjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsNkJBQTZCO0FBQzVDO0FBQ0EsNkJBQTZCLCtCQUErQjtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSw2QkFBNkI7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLDZCQUE2QjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixrQkFBa0I7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSx5QkFBeUI7QUFDeEM7QUFDQSxpQ0FBaUMseUJBQXlCO0FBQzFEO0FBQ0E7QUFDQSxxQkFBcUIsNkJBQTZCO0FBQ2xEO0FBQ0EsbUNBQW1DLCtCQUErQjtBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLDZCQUE2QjtBQUNsRDtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0MsZ0JBQWdCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLDZCQUE2QjtBQUNsRDtBQUNBLG1DQUFtQywrQkFBK0I7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQiw2QkFBNkI7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsNkJBQTZCO0FBQ2xEO0FBQ0EsbUNBQW1DLCtCQUErQjtBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLDZCQUE2QjtBQUNsRDtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0MsZ0JBQWdCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLG1DQUFtQztBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQyxnQkFBZ0I7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjQwNi5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiQ29udGFpbmVyXCIsXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiQnV0dG9uXCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGF0dHJzOiB7IHR5cGU6IFwic3VjY2Vzc1wiIH0sXG4gICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5hZGRBcnIoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtfdm0uX3YoXCLmt7vliqBcIildXG4gICAgICAgICAgKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF9jKFxuICAgICAgICBcInVsXCIsXG4gICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi11bFwiIH0sXG4gICAgICAgIF92bS5fbChfdm0uZ2V0QXJyTGlzdCwgZnVuY3Rpb24oaXRlbSwgaW5kZXgpIHtcbiAgICAgICAgICByZXR1cm4gX2MoXCJsaVwiLCB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGlcIiB9LCBbXG4gICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWJ0blwiIH0sXG4gICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgIFwiQnV0dG9uXCIsXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IHR5cGU6IFwiZXJyb3JcIiwgc2hhcGU6IFwiY2lyY2xlXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmRlbEFycihpbmRleClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBbX3ZtLl92KFwi5Yig6ZmkXCIpXVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWRpdlwiIH0sXG4gICAgICAgICAgICAgIFtfYyhcIkxhYmVsXCIsIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1sYWJlbFwiIH0sIFtfdm0uX3YoXCLmoIfnrb5cIildKV0sXG4gICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgX2MoXCJJbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJtYWluLWxpLWl0ZW1cIixcbiAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IGNsZWFyYWJsZTogXCJcIiB9LFxuICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0ubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChpdGVtLCBcImxhYmVsXCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgW19jKFwiTGFiZWxcIiwgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWxhYmVsXCIgfSwgW192bS5fdihcIuWAvFwiKV0pXSxcbiAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWRpdlwiIH0sXG4gICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBfYyhcIklucHV0XCIsIHtcbiAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcIm1haW4tbGktaXRlbVwiLFxuICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgY2xlYXJhYmxlOiBcIlwiIH0sXG4gICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwidmFsdWVcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgX2MoXCJMYWJlbFwiLCB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktbGFiZWxcIiB9LCBbXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCLmmK/lkKbmmL7npLpcIilcbiAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIF9jKFwiaS1zd2l0Y2hcIiwge1xuICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1pdGVtLXN3aXRjaFwiLFxuICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0uc2hvdyxcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwic2hvd1wiLCAkJHYpXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiaXRlbS5zaG93XCJcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktYnRuXCIgfSxcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgXCJCdXR0b25cIixcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgdHlwZTogXCJzdWNjZXNzXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmFkZENoZWNrQ2hpbGRBcnIoaW5kZXgpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgW192bS5fdihcIua3u+WKoOWtkOmbhuaVsOe7hFwiKV1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgIFwidWxcIixcbiAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLXVsXCIgfSxcbiAgICAgICAgICAgICAgX3ZtLl9sKGl0ZW0ucmFkaW9MaXN0LCBmdW5jdGlvbihpdGVtMSwgaW5kZXgxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9jKFwibGlcIiwgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpXCIgfSwgW1xuICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXCJMYWJlbFwiLCB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktbGFiZWxcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCLlkI3np7BcIilcbiAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgIF9jKFwiSW5wdXRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1pdGVtXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBjbGVhcmFibGU6IFwiXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtMS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoaXRlbTEsIFwibmFtZVwiLCAkJHYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiaXRlbTEubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWRpdlwiIH0sXG4gICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1sYWJlbFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIuaYr+WQpumAieS4rVwiKVxuICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXCJpLXN3aXRjaFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJtYWluLWxpLWl0ZW0tc3dpdGNoXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbTEuaXNTZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0xLCBcImlzU2VsZWN0ZWRcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0xLmlzU2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXCJMYWJlbFwiLCB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktbGFiZWxcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCLlgLxcIilcbiAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgIF9jKFwiSW5wdXRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1pdGVtXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBjbGVhcmFibGU6IFwiXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtMS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0xLCBcInZhbHVlXCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJpdGVtMS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWJ0bi1jaGlsZFwiIH0sXG4gICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiQnV0dG9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IHR5cGU6IFwiZXJyb3JcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWNrOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uZGVsQ2hlY2tDaGlsZEFycihpbmRleCwgaW5kZXgxKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtfdm0uX3YoXCLliKDpmaTlrZDpm4bmlbDnu4RcIildXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIDBcbiAgICAgICAgICAgIClcbiAgICAgICAgICBdKVxuICAgICAgICB9KSxcbiAgICAgICAgMFxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi0wNjk0Y2MxYlwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi0wNjk0Y2MxYlwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNoZWNrbXVsdGlwbGUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0MDZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///406\n");
2751
2752/***/ }),
2753/* 407 */
2754/***/ (function(module, __webpack_exports__, __webpack_require__) {
2755
2756"use strict";
2757eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(122);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_1e889c01_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(411);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(408)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_1e889c01_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-clickTypeSelect/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-1e889c01\", Component.options)\n } else {\n hotAPI.reload(\"data-v-1e889c01\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNsaWNrVHlwZVNlbGVjdC9pbmRleC52dWU/MWJlMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQWdWO0FBQzFWO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDcUk7QUFDYTtBQUNsSjtBQUM4UztBQUM5UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsa1FBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI0MDcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xZTg4OWMwMVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMWU4ODljMDFcXFwiLFxcXCJoYXNTY29wZWRcXFwiOmZhbHNlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2xpY2tUeXBlU2VsZWN0L2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi0xZTg4OWMwMVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTFlODg5YzAxXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jbGlja1R5cGVTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0MDdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///407\n");
2758
2759/***/ }),
2760/* 408 */
2761/***/ (function(module, exports, __webpack_require__) {
2762
2763eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(409);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"392270aa\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1e889c01\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1e889c01\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNsaWNrVHlwZVNlbGVjdC9pbmRleC52dWU/YjczNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUFzVztBQUM1WCw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsbUZBQW1GO0FBQ2hSLHNNQUFzTSxtRkFBbUY7QUFDelI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI0MDguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMWU4ODljMDFcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjM5MjI3MGFhXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xZTg4OWMwMVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xZTg4OWMwMVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0xZTg4OWMwMVwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNsaWNrVHlwZVNlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQwOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///408\n");
2764
2765/***/ }),
2766/* 409 */
2767/***/ (function(module, exports, __webpack_require__) {
2768
2769eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNsaWNrVHlwZVNlbGVjdC9pbmRleC52dWU/NWIzOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsdUpBQXVKLHFGQUFxRjs7QUFFblEiLCJmaWxlIjoiNDA5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTFlODg5YzAxXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY2xpY2tUeXBlU2VsZWN0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDA5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///409\n");
2770
2771/***/ }),
2772/* 410 */
2773/***/ (function(module, exports, __webpack_require__) {
2774
2775"use strict";
2776eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNsaWNrVHlwZVNlbGVjdC9zdHlsZS5qcz9hMmU0Il0sIm5hbWVzIjpbIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFDTyxJQUFNQSxnQ0FBWUMsOEJBQU9DLEdBQW5CLGlCQUFOIiwiZmlsZSI6IjQxMC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAndnVlLXN0eWxlZC1jb21wb25lbnRzJztcclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgcGFkZGluZzogNXB4IDEycHggNXB4IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgZmxleC1ncm93OiAxO1xyXG5gO1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNsaWNrVHlwZVNlbGVjdC9zdHlsZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///410\n");
2777
2778/***/ }),
2779/* 411 */
2780/***/ (function(module, __webpack_exports__, __webpack_require__) {
2781
2782"use strict";
2783eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\" },\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n { key: item.value, attrs: { value: item.value || \"\" } },\n [_vm._v(_vm._s(item.key))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-1e889c01\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNsaWNrVHlwZVNlbGVjdC9pbmRleC52dWU/MjU2ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLGVBQWUsZ0JBQWdCLEVBQUU7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsaUJBQWlCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLDBCQUEwQiwwQkFBMEIsRUFBRTtBQUN2RTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjQxMS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiQ29udGFpbmVyXCIsXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiU2VsZWN0XCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjk2LjUlXCIgfSxcbiAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLnZhbHVlLFxuICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgIF92bS52YWx1ZSA9ICQkdlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJ2YWx1ZVwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfdm0uX2woX3ZtLm9wdGlvbnNEYXRhLCBmdW5jdGlvbihpdGVtKSB7XG4gICAgICAgICAgICAgIHJldHVybiBfYyhcbiAgICAgICAgICAgICAgICBcIk9wdGlvblwiLFxuICAgICAgICAgICAgICAgIHsga2V5OiBpdGVtLnZhbHVlLCBhdHRyczogeyB2YWx1ZTogaXRlbS52YWx1ZSB8fCBcIlwiIH0gfSxcbiAgICAgICAgICAgICAgICBbX3ZtLl92KF92bS5fcyhpdGVtLmtleSkpXVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgIClcbiAgICBdLFxuICAgIDFcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtMWU4ODljMDFcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtMWU4ODljMDFcIixcImhhc1Njb3BlZFwiOmZhbHNlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jbGlja1R5cGVTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0MTFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///411\n");
2784
2785/***/ }),
2786/* 412 */
2787/***/ (function(module, __webpack_exports__, __webpack_require__) {
2788
2789"use strict";
2790eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(123);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_b5c682b4_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(416);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(413)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_b5c682b4_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-color/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-b5c682b4\", Component.options)\n } else {\n hotAPI.reload(\"data-v-b5c682b4\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNvbG9yL2luZGV4LnZ1ZT9iNWM2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBZ1Y7QUFDMVY7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUFxRjtBQUN0SDtBQUNxSTtBQUNhO0FBQ2xKO0FBQzhTO0FBQzlTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxrUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjQxMi5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWI1YzY4MmI0XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi1iNWM2ODJiNFxcXCIsXFxcImhhc1Njb3BlZFxcXCI6ZmFsc2UsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jb2xvci9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtYjVjNjgyYjRcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi1iNWM2ODJiNFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY29sb3IvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0MTJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///412\n");
2791
2792/***/ }),
2793/* 413 */
2794/***/ (function(module, exports, __webpack_require__) {
2795
2796eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(414);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"76c564c3\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-b5c682b4\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-b5c682b4\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNvbG9yL2luZGV4LnZ1ZT81YjY1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQXNXO0FBQzVYLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBOEYsZ0NBQWdDO0FBQ25KO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLDZMQUE2TCxtRkFBbUY7QUFDaFIsc01BQXNNLG1GQUFtRjtBQUN6UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjQxMy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1iNWM2ODJiNFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiNzZjNTY0YzNcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWI1YzY4MmI0XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWI1YzY4MmI0XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LWI1YzY4MmI0XCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY29sb3IvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0MTNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///413\n");
2797
2798/***/ }),
2799/* 414 */
2800/***/ (function(module, exports, __webpack_require__) {
2801
2802eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNvbG9yL2luZGV4LnZ1ZT9mMzAyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQTRFO0FBQy9HOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyxxSkFBcUoscUZBQXFGOztBQUVqUSIsImZpbGUiOiI0MTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W10sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtYjVjNjgyYjRcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jb2xvci9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQxNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///414\n");
2803
2804/***/ }),
2805/* 415 */
2806/***/ (function(module, exports, __webpack_require__) {
2807
2808"use strict";
2809eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColorContainer = exports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 0 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n margin-right: 10px;\\n'], ['\\n padding: 5px 0 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n margin-right: 10px;\\n']),\n _templateObject2 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n width: 23px;\\n height: 20px;\\n border-radius: 3px;\\n border: 1px solid #ddd;\\n background-color: white;\\n cursor: pointer;\\n margin-right:15px;\\n &:hover {\\n border-color: #ccc;\\n }\\n'], ['\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n width: 23px;\\n height: 20px;\\n border-radius: 3px;\\n border: 1px solid #ddd;\\n background-color: white;\\n cursor: pointer;\\n margin-right:15px;\\n &:hover {\\n border-color: #ccc;\\n }\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\nvar ColorContainer = exports.ColorContainer = _vueStyledComponents2.default.div(_templateObject2);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNvbG9yL3N0eWxlLmpzPzY4MjQiXSwibmFtZXMiOlsiQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2IiwiQ29sb3JDb250YWluZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUNPLElBQU1BLGdDQUFZQyw4QkFBT0MsR0FBbkIsaUJBQU47QUFTQSxJQUFNQywwQ0FBaUJGLDhCQUFPQyxHQUF4QixrQkFBTiIsImZpbGUiOiI0MTUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIHBhZGRpbmc6IDVweCAwIDVweCAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbmBcclxuO1xyXG5leHBvcnQgY29uc3QgQ29sb3JDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogMjNweDtcclxuICBoZWlnaHQ6IDIwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIG1hcmdpbi1yaWdodDoxNXB4O1xyXG4gICY6aG92ZXIge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjO1xyXG4gIH1cclxuYFxyXG47XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtY29sb3Ivc3R5bGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///415\n");
2810
2811/***/ }),
2812/* 416 */
2813/***/ (function(module, __webpack_exports__, __webpack_require__) {
2814
2815"use strict";
2816eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\"ColorContainer\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.color,\n expression: \"color\"\n }\n ],\n attrs: { type: \"color\", clearable: \"\" },\n domProps: { value: _vm.color },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.color = $event.target.value\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"Input\", {\n staticStyle: { width: \"80%\" },\n attrs: { type: \"text\" },\n model: {\n value: _vm.color,\n callback: function($$v) {\n _vm.color = $$v\n },\n expression: \"color\"\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-b5c682b4\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWNvbG9yL2luZGV4LnZ1ZT85ZmJkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssZUFBZSxnQkFBZ0IsRUFBRTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLCtCQUErQjtBQUNyRCx5QkFBeUIsbUJBQW1CO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLGVBQWU7QUFDekMsb0JBQW9CLGVBQWU7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjQxNi5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiQ29udGFpbmVyXCIsXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcIkNvbG9yQ29udGFpbmVyXCIsIFtcbiAgICAgICAgICAgIF9jKFwiaW5wdXRcIiwge1xuICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogXCJtb2RlbFwiLFxuICAgICAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmNvbG9yLFxuICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJjb2xvclwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBhdHRyczogeyB0eXBlOiBcImNvbG9yXCIsIGNsZWFyYWJsZTogXCJcIiB9LFxuICAgICAgICAgICAgICBkb21Qcm9wczogeyB2YWx1ZTogX3ZtLmNvbG9yIH0sXG4gICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgaW5wdXQ6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgaWYgKCRldmVudC50YXJnZXQuY29tcG9zaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgX3ZtLmNvbG9yID0gJGV2ZW50LnRhcmdldC52YWx1ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICBdKSxcbiAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgIF9jKFwiSW5wdXRcIiwge1xuICAgICAgICAgICAgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiODAlXCIgfSxcbiAgICAgICAgICAgIGF0dHJzOiB7IHR5cGU6IFwidGV4dFwiIH0sXG4gICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmNvbG9yLFxuICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgX3ZtLmNvbG9yID0gJCR2XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiY29sb3JcIlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgIClcbiAgICBdLFxuICAgIDFcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtYjVjNjgyYjRcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtYjVjNjgyYjRcIixcImhhc1Njb3BlZFwiOmZhbHNlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1jb2xvci9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQxNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///416\n");
2817
2818/***/ }),
2819/* 417 */
2820/***/ (function(module, __webpack_exports__, __webpack_require__) {
2821
2822"use strict";
2823eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(124);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_5670d1e2_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(421);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(418)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_5670d1e2_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-datePicker/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-5670d1e2\", Component.options)\n } else {\n hotAPI.reload(\"data-v-5670d1e2\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRhdGVQaWNrZXIvaW5kZXgudnVlPzZhOGMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFnVjtBQUMxVjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDOFM7QUFDOVM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGtRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNDE3LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNTY3MGQxZTJcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTU2NzBkMWUyXFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRhdGVQaWNrZXIvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTU2NzBkMWUyXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtNTY3MGQxZTJcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRhdGVQaWNrZXIvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0MTdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///417\n");
2824
2825/***/ }),
2826/* 418 */
2827/***/ (function(module, exports, __webpack_require__) {
2828
2829eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(419);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"466a4236\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5670d1e2\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5670d1e2\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRhdGVQaWNrZXIvaW5kZXgudnVlPzNmYjgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBc1c7QUFDNVgsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLG1GQUFtRjtBQUNoUixzTUFBc00sbUZBQW1GO0FBQ3pSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNDE4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTU2NzBkMWUyXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCI0NjZhNDIzNlwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNTY3MGQxZTJcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNTY3MGQxZTJcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNTY3MGQxZTJcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1kYXRlUGlja2VyL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDE4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///418\n");
2830
2831/***/ }),
2832/* 419 */
2833/***/ (function(module, exports, __webpack_require__) {
2834
2835eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRhdGVQaWNrZXIvaW5kZXgudnVlPzRiNWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLHlMQUF5TCxxRkFBcUY7O0FBRXJTIiwiZmlsZSI6IjQxOS5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi01NjcwZDFlMlwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRhdGVQaWNrZXIvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0MTlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///419\n");
2836
2837/***/ }),
2838/* 420 */
2839/***/ (function(module, exports, __webpack_require__) {
2840
2841"use strict";
2842eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRhdGVQaWNrZXIvc3R5bGUuanM/MzQxZiJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBQ08sSUFBTUEsZ0NBQVlDLDhCQUFPQyxHQUFuQixpQkFBTiIsImZpbGUiOiI0MjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIHBhZGRpbmc6IDVweCAxMnB4IDVweCAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1kYXRlUGlja2VyL3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///420\n");
2843
2844/***/ }),
2845/* 421 */
2846/***/ (function(module, __webpack_exports__, __webpack_require__) {
2847
2848"use strict";
2849eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\" },\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n { key: item.value, attrs: { value: item.value || \"\" } },\n [_vm._v(_vm._s(item.label))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-5670d1e2\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRhdGVQaWNrZXIvaW5kZXgudnVlPzIzNTEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxlQUFlLGdCQUFnQixFQUFFO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLGlCQUFpQjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQiwwQkFBMEIsMEJBQTBCLEVBQUU7QUFDdkU7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI0MjEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAgeyBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCIxMDAlXCIgfSB9LFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcIkNvbnRhaW5lclwiLFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcIlNlbGVjdFwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCI5Ni41JVwiIH0sXG4gICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IF92bS52YWx1ZSxcbiAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICBfdm0udmFsdWUgPSAkJHZcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwidmFsdWVcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX3ZtLl9sKF92bS5vcHRpb25zRGF0YSwgZnVuY3Rpb24oaXRlbSkge1xuICAgICAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICAgICAgXCJPcHRpb25cIixcbiAgICAgICAgICAgICAgICB7IGtleTogaXRlbS52YWx1ZSwgYXR0cnM6IHsgdmFsdWU6IGl0ZW0udmFsdWUgfHwgXCJcIiB9IH0sXG4gICAgICAgICAgICAgICAgW192bS5fdihfdm0uX3MoaXRlbS5sYWJlbCkpXVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgIClcbiAgICBdLFxuICAgIDFcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtNTY3MGQxZTJcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtNTY3MGQxZTJcIixcImhhc1Njb3BlZFwiOmZhbHNlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1kYXRlUGlja2VyL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDIxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///421\n");
2850
2851/***/ }),
2852/* 422 */
2853/***/ (function(module, __webpack_exports__, __webpack_require__) {
2854
2855"use strict";
2856eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(125);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_f3a0dc06_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(426);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(423)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-f3a0dc06\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_f3a0dc06_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-dateSelect/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-f3a0dc06\", Component.options)\n } else {\n hotAPI.reload(\"data-v-f3a0dc06\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRhdGVTZWxlY3QvaW5kZXgudnVlPzZiYjgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUEyVjtBQUNyVztBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDNlM7QUFDN1M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGlRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNDIyLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZjNhMGRjMDZcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IWxlc3MtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZjNhMGRjMDZcXFwiLFxcXCJoYXNTY29wZWRcXFwiOnRydWUsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gXCJkYXRhLXYtZjNhMGRjMDZcIlxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1kYXRlU2VsZWN0L2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi1mM2EwZGMwNlwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LWYzYTBkYzA2XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1kYXRlU2VsZWN0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDIyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///422\n");
2857
2858/***/ }),
2859/* 423 */
2860/***/ (function(module, exports, __webpack_require__) {
2861
2862eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(424);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"67741990\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-f3a0dc06\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-f3a0dc06\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRhdGVTZWxlY3QvaW5kZXgudnVlP2U4ZDAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBNGE7QUFDbGMsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLGtGQUFrRjtBQUMvUSxzTUFBc00sa0ZBQWtGO0FBQ3hSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNDIzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWYzYTBkYzA2XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiNjc3NDE5OTBcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWYzYTBkYzA2XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1mM2EwZGMwNlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtZjNhMGRjMDZcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1kYXRlU2VsZWN0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDIzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///423\n");
2863
2864/***/ }),
2865/* 424 */
2866/***/ (function(module, exports, __webpack_require__) {
2867
2868eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.main-li-item[data-v-f3a0dc06] {\\n width: 90%;\\n min-height: 32px;\\n float: left;\\n margin: 0px 8px 12px 8px;\\n}\\n.main-li-item .main-li-item-option[data-v-f3a0dc06] {\\n width: 219px;\\n text-overflow: ellipsis;\\n}\\n.dateSelect .ivu-select-dropdown[data-v-f3a0dc06] {\\n left: 0px !important;\\n}\\n.dateSelect .ivu-select-dropdown .ivu-select-dropdown-list[data-v-f3a0dc06] {\\n min-width: 100%;\\n list-style: none;\\n max-width: 262px !important;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-dateSelect/index.vue\"],\"names\":[],\"mappings\":\";AAAA;EACE,WAAW;EACX,iBAAiB;EACjB,YAAY;EACZ,yBAAyB;CAC1B;AACD;EACE,aAAa;EACb,wBAAwB;CACzB;AACD;EACE,qBAAqB;CACtB;AACD;EACE,gBAAgB;EAChB,iBAAiB;EACjB,4BAA4B;CAC7B\",\"file\":\"index.vue\",\"sourcesContent\":[\".main-li-item {\\n width: 90%;\\n min-height: 32px;\\n float: left;\\n margin: 0px 8px 12px 8px;\\n}\\n.main-li-item .main-li-item-option {\\n width: 219px;\\n text-overflow: ellipsis;\\n}\\n.dateSelect .ivu-select-dropdown {\\n left: 0px !important;\\n}\\n.dateSelect .ivu-select-dropdown .ivu-select-dropdown-list {\\n min-width: 100%;\\n list-style: none;\\n max-width: 262px !important;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRhdGVTZWxlY3QvaW5kZXgudnVlP2Y3NjQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLHFDQUFxQyxlQUFlLHFCQUFxQixnQkFBZ0IsNkJBQTZCLEdBQUcsdURBQXVELGlCQUFpQiw0QkFBNEIsR0FBRyxxREFBcUQseUJBQXlCLEdBQUcsK0VBQStFLG9CQUFvQixxQkFBcUIsZ0NBQWdDLEdBQUcsVUFBVSx3SkFBd0osS0FBSyxVQUFVLFlBQVksV0FBVyxZQUFZLE1BQU0sS0FBSyxVQUFVLFlBQVksTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLDREQUE0RCxlQUFlLHFCQUFxQixnQkFBZ0IsNkJBQTZCLEdBQUcsc0NBQXNDLGlCQUFpQiw0QkFBNEIsR0FBRyxvQ0FBb0MseUJBQXlCLEdBQUcsOERBQThELG9CQUFvQixxQkFBcUIsZ0NBQWdDLEdBQUcscUJBQXFCOztBQUVydUMiLCJmaWxlIjoiNDI0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLm1haW4tbGktaXRlbVtkYXRhLXYtZjNhMGRjMDZdIHtcXG4gIHdpZHRoOiA5MCU7XFxuICBtaW4taGVpZ2h0OiAzMnB4O1xcbiAgZmxvYXQ6IGxlZnQ7XFxuICBtYXJnaW46IDBweCA4cHggMTJweCA4cHg7XFxufVxcbi5tYWluLWxpLWl0ZW0gLm1haW4tbGktaXRlbS1vcHRpb25bZGF0YS12LWYzYTBkYzA2XSB7XFxuICB3aWR0aDogMjE5cHg7XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG59XFxuLmRhdGVTZWxlY3QgLml2dS1zZWxlY3QtZHJvcGRvd25bZGF0YS12LWYzYTBkYzA2XSB7XFxuICBsZWZ0OiAwcHggIWltcG9ydGFudDtcXG59XFxuLmRhdGVTZWxlY3QgLml2dS1zZWxlY3QtZHJvcGRvd24gLml2dS1zZWxlY3QtZHJvcGRvd24tbGlzdFtkYXRhLXYtZjNhMGRjMDZdIHtcXG4gIG1pbi13aWR0aDogMTAwJTtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBtYXgtd2lkdGg6IDI2MnB4ICFpbXBvcnRhbnQ7XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJFOi9wcm9qZWN0L3BhZ2UtaWRlLXhpYW4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1kYXRlU2VsZWN0L2luZGV4LnZ1ZVwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiO0FBQUE7RUFDRSxXQUFXO0VBQ1gsaUJBQWlCO0VBQ2pCLFlBQVk7RUFDWix5QkFBeUI7Q0FDMUI7QUFDRDtFQUNFLGFBQWE7RUFDYix3QkFBd0I7Q0FDekI7QUFDRDtFQUNFLHFCQUFxQjtDQUN0QjtBQUNEO0VBQ0UsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQiw0QkFBNEI7Q0FDN0JcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIubWFpbi1saS1pdGVtIHtcXG4gIHdpZHRoOiA5MCU7XFxuICBtaW4taGVpZ2h0OiAzMnB4O1xcbiAgZmxvYXQ6IGxlZnQ7XFxuICBtYXJnaW46IDBweCA4cHggMTJweCA4cHg7XFxufVxcbi5tYWluLWxpLWl0ZW0gLm1haW4tbGktaXRlbS1vcHRpb24ge1xcbiAgd2lkdGg6IDIxOXB4O1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxufVxcbi5kYXRlU2VsZWN0IC5pdnUtc2VsZWN0LWRyb3Bkb3duIHtcXG4gIGxlZnQ6IDBweCAhaW1wb3J0YW50O1xcbn1cXG4uZGF0ZVNlbGVjdCAuaXZ1LXNlbGVjdC1kcm9wZG93biAuaXZ1LXNlbGVjdC1kcm9wZG93bi1saXN0IHtcXG4gIG1pbi13aWR0aDogMTAwJTtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBtYXgtd2lkdGg6IDI2MnB4ICFpbXBvcnRhbnQ7XFxufVxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi1mM2EwZGMwNlwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRhdGVTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0MjRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///424\n");
2869
2870/***/ }),
2871/* 425 */
2872/***/ (function(module, exports, __webpack_require__) {
2873
2874"use strict";
2875eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRhdGVTZWxlY3Qvc3R5bGUuanM/YWVlZCJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBQ08sSUFBTUEsZ0NBQVlDLDhCQUFPQyxHQUFuQixpQkFBTiIsImZpbGUiOiI0MjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIHBhZGRpbmc6IDVweCAxMnB4IDVweCAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1kYXRlU2VsZWN0L3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///425\n");
2876
2877/***/ }),
2878/* 426 */
2879/***/ (function(module, __webpack_exports__, __webpack_require__) {
2880
2881"use strict";
2882eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Select\",\n {\n staticClass: \"dateSelect main-li-item\",\n staticStyle: { width: \"96.5%\" },\n attrs: { clearable: \"\" },\n model: {\n value: _vm.val,\n callback: function($$v) {\n _vm.val = $$v\n },\n expression: \"val\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n {\n key: item.value,\n staticClass: \"main-li-item-option\",\n attrs: { value: item.value }\n },\n [_vm._v(_vm._s(item.key))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-f3a0dc06\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRhdGVTZWxlY3QvaW5kZXgudnVlPzBiM2YiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxlQUFlLGdCQUFnQixFQUFFO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsaUJBQWlCO0FBQzdDLHNCQUFzQixnQkFBZ0I7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUIsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNDI2LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHsgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiMTAwJVwiIH0gfSxcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJDb250YWluZXJcIixcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJTZWxlY3RcIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiZGF0ZVNlbGVjdCBtYWluLWxpLWl0ZW1cIixcbiAgICAgICAgICAgICAgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiOTYuNSVcIiB9LFxuICAgICAgICAgICAgICBhdHRyczogeyBjbGVhcmFibGU6IFwiXCIgfSxcbiAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLnZhbCxcbiAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICBfdm0udmFsID0gJCR2XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfdm0uX2woX3ZtLm9wdGlvbnNEYXRhLCBmdW5jdGlvbihpdGVtKSB7XG4gICAgICAgICAgICAgIHJldHVybiBfYyhcbiAgICAgICAgICAgICAgICBcIk9wdGlvblwiLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGtleTogaXRlbS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcIm1haW4tbGktaXRlbS1vcHRpb25cIixcbiAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IHZhbHVlOiBpdGVtLnZhbHVlIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFtfdm0uX3YoX3ZtLl9zKGl0ZW0ua2V5KSldXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgMVxuICAgICAgICAgIClcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi1mM2EwZGMwNlwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi1mM2EwZGMwNlwiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtZGF0ZVNlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQyNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///426\n");
2883
2884/***/ }),
2885/* 427 */
2886/***/ (function(module, __webpack_exports__, __webpack_require__) {
2887
2888"use strict";
2889eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(126);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_acb8dbc0_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(431);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(428)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-acb8dbc0\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_acb8dbc0_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-doubleSelect/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-acb8dbc0\", Component.options)\n } else {\n hotAPI.reload(\"data-v-acb8dbc0\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRvdWJsZVNlbGVjdC9pbmRleC52dWU/ZTVlMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQTJWO0FBQ3JXO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDcUk7QUFDYTtBQUNsSjtBQUM2UztBQUM3UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsaVFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI0MjcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1hY2I4ZGJjMFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hbGVzcy1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi1hY2I4ZGJjMFxcXCIsXFxcImhhc1Njb3BlZFxcXCI6dHJ1ZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBcImRhdGEtdi1hY2I4ZGJjMFwiXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRvdWJsZVNlbGVjdC9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtYWNiOGRiYzBcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi1hY2I4ZGJjMFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtZG91YmxlU2VsZWN0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDI3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///427\n");
2890
2891/***/ }),
2892/* 428 */
2893/***/ (function(module, exports, __webpack_require__) {
2894
2895eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(429);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"448dd739\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-acb8dbc0\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-acb8dbc0\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRvdWJsZVNlbGVjdC9pbmRleC52dWU/NzM2NiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUE0YTtBQUNsYyw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsa0ZBQWtGO0FBQy9RLHNNQUFzTSxrRkFBa0Y7QUFDeFI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI0MjguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYWNiOGRiYzBcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCI0NDhkZDczOVwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYWNiOGRiYzBcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWFjYjhkYmMwXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi1hY2I4ZGJjMFwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRvdWJsZVNlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQyOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///428\n");
2896
2897/***/ }),
2898/* 429 */
2899/***/ (function(module, exports, __webpack_require__) {
2900
2901eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.tool-type-radioArr[data-v-acb8dbc0] {\\n margin: 10px 8px 0;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div[data-v-acb8dbc0] {\\n margin: 5px 8px 0;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorTextStyle[data-v-acb8dbc0] {\\n font-weight: 700;\\n font-size: 14px;\\n color: #191f25;\\n margin-bottom: 4px;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorTextStyle .radioArr-editorMaxFontStyle[data-v-acb8dbc0] {\\n color: rgba(25, 31, 37, 0.4);\\n font-size: 12px;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorTextStyle .radioArr-editorMaxFontStyleFalse[data-v-acb8dbc0] {\\n color: red;\\n font-size: 12px;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorInput[data-v-acb8dbc0] {\\n margin: 5px 0;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorInputFalse[data-v-acb8dbc0] {\\n margin: 5px 0;\\n border: 1px solid red;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorContentStyle[data-v-acb8dbc0] {\\n font-size: 12px;\\n margin: 8px 0;\\n}\\n.tool-type-radioArr .ivu-input-wrapper[data-v-acb8dbc0] {\\n width: 80%;\\n border-radius: 4px;\\n}\\n.tool-type-radioArr .ivu-input[data-v-acb8dbc0] {\\n border-radius: 4px;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-doubleSelect/index.vue\"],\"names\":[],\"mappings\":\";AAAA;EACE,mBAAmB;CACpB;AACD;EACE,kBAAkB;CACnB;AACD;EACE,iBAAiB;EACjB,gBAAgB;EAChB,eAAe;EACf,mBAAmB;CACpB;AACD;EACE,6BAA6B;EAC7B,gBAAgB;CACjB;AACD;EACE,WAAW;EACX,gBAAgB;CACjB;AACD;EACE,cAAc;CACf;AACD;EACE,cAAc;EACd,sBAAsB;CACvB;AACD;EACE,gBAAgB;EAChB,cAAc;CACf;AACD;EACE,WAAW;EACX,mBAAmB;CACpB;AACD;EACE,mBAAmB;CACpB\",\"file\":\"index.vue\",\"sourcesContent\":[\".tool-type-radioArr {\\n margin: 10px 8px 0;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div {\\n margin: 5px 8px 0;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorTextStyle {\\n font-weight: 700;\\n font-size: 14px;\\n color: #191f25;\\n margin-bottom: 4px;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorTextStyle .radioArr-editorMaxFontStyle {\\n color: rgba(25, 31, 37, 0.4);\\n font-size: 12px;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorTextStyle .radioArr-editorMaxFontStyleFalse {\\n color: red;\\n font-size: 12px;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorInput {\\n margin: 5px 0;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorInputFalse {\\n margin: 5px 0;\\n border: 1px solid red;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorContentStyle {\\n font-size: 12px;\\n margin: 8px 0;\\n}\\n.tool-type-radioArr .ivu-input-wrapper {\\n width: 80%;\\n border-radius: 4px;\\n}\\n.tool-type-radioArr .ivu-input {\\n border-radius: 4px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRvdWJsZVNlbGVjdC9pbmRleC52dWU/YzkwMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsMkNBQTJDLHVCQUF1QixHQUFHLGdFQUFnRSxzQkFBc0IsR0FBRywwRkFBMEYscUJBQXFCLG9CQUFvQixtQkFBbUIsdUJBQXVCLEdBQUcsdUhBQXVILGlDQUFpQyxvQkFBb0IsR0FBRyw0SEFBNEgsZUFBZSxvQkFBb0IsR0FBRyxzRkFBc0Ysa0JBQWtCLEdBQUcsMkZBQTJGLGtCQUFrQiwwQkFBMEIsR0FBRyw2RkFBNkYsb0JBQW9CLGtCQUFrQixHQUFHLDJEQUEyRCxlQUFlLHVCQUF1QixHQUFHLG1EQUFtRCx1QkFBdUIsR0FBRyxVQUFVLDBKQUEwSixLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksYUFBYSxXQUFXLFlBQVksTUFBTSxLQUFLLFlBQVksYUFBYSxNQUFNLEtBQUssVUFBVSxZQUFZLE1BQU0sS0FBSyxVQUFVLEtBQUssS0FBSyxVQUFVLFlBQVksTUFBTSxLQUFLLFlBQVksV0FBVyxLQUFLLEtBQUssVUFBVSxZQUFZLE1BQU0sS0FBSyxZQUFZLGtFQUFrRSx1QkFBdUIsR0FBRywrQ0FBK0Msc0JBQXNCLEdBQUcseUVBQXlFLHFCQUFxQixvQkFBb0IsbUJBQW1CLHVCQUF1QixHQUFHLHNHQUFzRyxpQ0FBaUMsb0JBQW9CLEdBQUcsMkdBQTJHLGVBQWUsb0JBQW9CLEdBQUcscUVBQXFFLGtCQUFrQixHQUFHLDBFQUEwRSxrQkFBa0IsMEJBQTBCLEdBQUcsNEVBQTRFLG9CQUFvQixrQkFBa0IsR0FBRywwQ0FBMEMsZUFBZSx1QkFBdUIsR0FBRyxrQ0FBa0MsdUJBQXVCLEdBQUcscUJBQXFCOztBQUUxeEYiLCJmaWxlIjoiNDI5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLnRvb2wtdHlwZS1yYWRpb0FycltkYXRhLXYtYWNiOGRiYzBdIHtcXG4gIG1hcmdpbjogMTBweCA4cHggMDtcXG59XFxuLnRvb2wtdHlwZS1yYWRpb0FyciAucmFkaW9BcnItdG9vbC10eXBlLWRpdltkYXRhLXYtYWNiOGRiYzBdIHtcXG4gIG1hcmdpbjogNXB4IDhweCAwO1xcbn1cXG4udG9vbC10eXBlLXJhZGlvQXJyIC5yYWRpb0Fyci10b29sLXR5cGUtZGl2IC5yYWRpb0Fyci1lZGl0b3JUZXh0U3R5bGVbZGF0YS12LWFjYjhkYmMwXSB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgZm9udC1zaXplOiAxNHB4O1xcbiAgY29sb3I6ICMxOTFmMjU7XFxuICBtYXJnaW4tYm90dG9tOiA0cHg7XFxufVxcbi50b29sLXR5cGUtcmFkaW9BcnIgLnJhZGlvQXJyLXRvb2wtdHlwZS1kaXYgLnJhZGlvQXJyLWVkaXRvclRleHRTdHlsZSAucmFkaW9BcnItZWRpdG9yTWF4Rm9udFN0eWxlW2RhdGEtdi1hY2I4ZGJjMF0ge1xcbiAgY29sb3I6IHJnYmEoMjUsIDMxLCAzNywgMC40KTtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG59XFxuLnRvb2wtdHlwZS1yYWRpb0FyciAucmFkaW9BcnItdG9vbC10eXBlLWRpdiAucmFkaW9BcnItZWRpdG9yVGV4dFN0eWxlIC5yYWRpb0Fyci1lZGl0b3JNYXhGb250U3R5bGVGYWxzZVtkYXRhLXYtYWNiOGRiYzBdIHtcXG4gIGNvbG9yOiByZWQ7XFxuICBmb250LXNpemU6IDEycHg7XFxufVxcbi50b29sLXR5cGUtcmFkaW9BcnIgLnJhZGlvQXJyLXRvb2wtdHlwZS1kaXYgLnJhZGlvQXJyLWVkaXRvcklucHV0W2RhdGEtdi1hY2I4ZGJjMF0ge1xcbiAgbWFyZ2luOiA1cHggMDtcXG59XFxuLnRvb2wtdHlwZS1yYWRpb0FyciAucmFkaW9BcnItdG9vbC10eXBlLWRpdiAucmFkaW9BcnItZWRpdG9ySW5wdXRGYWxzZVtkYXRhLXYtYWNiOGRiYzBdIHtcXG4gIG1hcmdpbjogNXB4IDA7XFxuICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XFxufVxcbi50b29sLXR5cGUtcmFkaW9BcnIgLnJhZGlvQXJyLXRvb2wtdHlwZS1kaXYgLnJhZGlvQXJyLWVkaXRvckNvbnRlbnRTdHlsZVtkYXRhLXYtYWNiOGRiYzBdIHtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG4gIG1hcmdpbjogOHB4IDA7XFxufVxcbi50b29sLXR5cGUtcmFkaW9BcnIgLml2dS1pbnB1dC13cmFwcGVyW2RhdGEtdi1hY2I4ZGJjMF0ge1xcbiAgd2lkdGg6IDgwJTtcXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcXG59XFxuLnRvb2wtdHlwZS1yYWRpb0FyciAuaXZ1LWlucHV0W2RhdGEtdi1hY2I4ZGJjMF0ge1xcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xcbn1cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wiRTovcHJvamVjdC9wYWdlLWlkZS14aWFuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtZG91YmxlU2VsZWN0L2luZGV4LnZ1ZVwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiO0FBQUE7RUFDRSxtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLGtCQUFrQjtDQUNuQjtBQUNEO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSw2QkFBNkI7RUFDN0IsZ0JBQWdCO0NBQ2pCO0FBQ0Q7RUFDRSxXQUFXO0VBQ1gsZ0JBQWdCO0NBQ2pCO0FBQ0Q7RUFDRSxjQUFjO0NBQ2Y7QUFDRDtFQUNFLGNBQWM7RUFDZCxzQkFBc0I7Q0FDdkI7QUFDRDtFQUNFLGdCQUFnQjtFQUNoQixjQUFjO0NBQ2Y7QUFDRDtFQUNFLFdBQVc7RUFDWCxtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLG1CQUFtQjtDQUNwQlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIi50b29sLXR5cGUtcmFkaW9BcnIge1xcbiAgbWFyZ2luOiAxMHB4IDhweCAwO1xcbn1cXG4udG9vbC10eXBlLXJhZGlvQXJyIC5yYWRpb0Fyci10b29sLXR5cGUtZGl2IHtcXG4gIG1hcmdpbjogNXB4IDhweCAwO1xcbn1cXG4udG9vbC10eXBlLXJhZGlvQXJyIC5yYWRpb0Fyci10b29sLXR5cGUtZGl2IC5yYWRpb0Fyci1lZGl0b3JUZXh0U3R5bGUge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGNvbG9yOiAjMTkxZjI1O1xcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xcbn1cXG4udG9vbC10eXBlLXJhZGlvQXJyIC5yYWRpb0Fyci10b29sLXR5cGUtZGl2IC5yYWRpb0Fyci1lZGl0b3JUZXh0U3R5bGUgLnJhZGlvQXJyLWVkaXRvck1heEZvbnRTdHlsZSB7XFxuICBjb2xvcjogcmdiYSgyNSwgMzEsIDM3LCAwLjQpO1xcbiAgZm9udC1zaXplOiAxMnB4O1xcbn1cXG4udG9vbC10eXBlLXJhZGlvQXJyIC5yYWRpb0Fyci10b29sLXR5cGUtZGl2IC5yYWRpb0Fyci1lZGl0b3JUZXh0U3R5bGUgLnJhZGlvQXJyLWVkaXRvck1heEZvbnRTdHlsZUZhbHNlIHtcXG4gIGNvbG9yOiByZWQ7XFxuICBmb250LXNpemU6IDEycHg7XFxufVxcbi50b29sLXR5cGUtcmFkaW9BcnIgLnJhZGlvQXJyLXRvb2wtdHlwZS1kaXYgLnJhZGlvQXJyLWVkaXRvcklucHV0IHtcXG4gIG1hcmdpbjogNXB4IDA7XFxufVxcbi50b29sLXR5cGUtcmFkaW9BcnIgLnJhZGlvQXJyLXRvb2wtdHlwZS1kaXYgLnJhZGlvQXJyLWVkaXRvcklucHV0RmFsc2Uge1xcbiAgbWFyZ2luOiA1cHggMDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcXG59XFxuLnRvb2wtdHlwZS1yYWRpb0FyciAucmFkaW9BcnItdG9vbC10eXBlLWRpdiAucmFkaW9BcnItZWRpdG9yQ29udGVudFN0eWxlIHtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG4gIG1hcmdpbjogOHB4IDA7XFxufVxcbi50b29sLXR5cGUtcmFkaW9BcnIgLml2dS1pbnB1dC13cmFwcGVyIHtcXG4gIHdpZHRoOiA4MCU7XFxuICBib3JkZXItcmFkaXVzOiA0cHg7XFxufVxcbi50b29sLXR5cGUtcmFkaW9BcnIgLml2dS1pbnB1dCB7XFxuICBib3JkZXItcmFkaXVzOiA0cHg7XFxufVxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi1hY2I4ZGJjMFwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRvdWJsZVNlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQyOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///429\n");
2902
2903/***/ }),
2904/* 430 */
2905/***/ (function(module, exports, __webpack_require__) {
2906
2907"use strict";
2908eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRvdWJsZVNlbGVjdC9zdHlsZS5qcz80ZDczIl0sIm5hbWVzIjpbIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFDTyxJQUFNQSxnQ0FBWUMsOEJBQU9DLEdBQW5CLGlCQUFOIiwiZmlsZSI6IjQzMC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAndnVlLXN0eWxlZC1jb21wb25lbnRzJztcclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgcGFkZGluZzogNXB4IDEycHggNXB4IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgZmxleC1ncm93OiAxO1xyXG5gO1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRvdWJsZVNlbGVjdC9zdHlsZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///430\n");
2909
2910/***/ }),
2911/* 431 */
2912/***/ (function(module, __webpack_exports__, __webpack_require__) {
2913
2914"use strict";
2915eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"tool-type-radioArr\", staticStyle: { width: \"100%\" } },\n [\n _c(\"div\", { staticClass: \"radioArr-tool-type-div\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\n \"ul\",\n {},\n [\n _vm.isLevel == true\n ? [_c(\"label\", [_vm._v(\"数据通过后台接口获取\")])]\n : [\n _c(\n \"Button\",\n {\n attrs: {\n type: \"primary\",\n size: \"small\",\n icon: \"ios-add\"\n },\n on: { click: _vm.addli }\n },\n [_c(\"span\", [_vm._v(\"增加\")])]\n ),\n _vm._v(\" \"),\n _vm.isChild == true\n ? _c(\n \"Button\",\n {\n attrs: {\n type: \"primary\",\n size: \"small\",\n icon: \"ios-add\"\n },\n on: { click: _vm.backul }\n },\n [_c(\"span\", [_vm._v(\"返回\")])]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm._l(_vm.getArrList, function(item, index) {\n return _vm.isChild == false\n ? _c(\n \"li\",\n {},\n [\n _c(\"Input\", {\n staticClass: \"radioArr-editorInput\",\n attrs: { maxlength: \"50\", clearable: \"\" },\n on: {\n \"on-change\": function($event) {\n return _vm.setRadioValue(item)\n }\n },\n model: {\n value: item.label,\n callback: function($$v) {\n _vm.$set(item, \"label\", $$v)\n },\n expression: \"item.label\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass:\n \"iconfont icon-reca-icon_roundreduce\",\n on: {\n click: function($event) {\n return _vm.delArr(index)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"iconfont icon-reca-icon_roundadd \",\n on: {\n click: function($event) {\n return _vm.addArr(index)\n }\n }\n })\n ],\n 1\n )\n : _vm._e()\n }),\n _vm._v(\" \"),\n _vm._l(_vm.getChildList, function(item, index) {\n return _vm.isChild == true\n ? _c(\n \"li\",\n {},\n [\n _c(\"Input\", {\n staticClass: \"radioArr-editorInput\",\n attrs: { clearable: \"\", maxlength: \"50\" },\n on: {\n \"on-change\": function($event) {\n return _vm.setRadioValue(item)\n }\n },\n model: {\n value: item.label,\n callback: function($$v) {\n _vm.$set(item, \"label\", $$v)\n },\n expression: \"item.label\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass:\n \"iconfont icon-reca-icon_roundreduce\",\n on: {\n click: function($event) {\n return _vm.delChildArr(index)\n }\n }\n })\n ],\n 1\n )\n : _vm._e()\n })\n ]\n ],\n 2\n )\n ])\n ]\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", { staticClass: \"radioArr-editorTextStyle\" }, [\n _vm._v(\"\\n 选项\\n \"),\n _c(\"span\", { staticClass: \"radioArr-editorMaxFontStyle\" }, [\n _vm._v(\"最多200项,每项最多50字\")\n ])\n ])\n }\n]\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-acb8dbc0\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWRvdWJsZVNlbGVjdC9pbmRleC52dWU/YTZmZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLGtEQUFrRCxnQkFBZ0IsRUFBRTtBQUN6RTtBQUNBLGlCQUFpQix3Q0FBd0M7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QiwyQkFBMkI7QUFDM0IscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0IsK0JBQStCO0FBQy9CLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQyxpQ0FBaUM7QUFDdkU7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQyxpQ0FBaUM7QUFDdkU7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsMENBQTBDO0FBQzlEO0FBQ0Esa0JBQWtCLDZDQUE2QztBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjQzMS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7IHN0YXRpY0NsYXNzOiBcInRvb2wtdHlwZS1yYWRpb0FyclwiLCBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCIxMDAlXCIgfSB9LFxuICAgIFtcbiAgICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwicmFkaW9BcnItdG9vbC10eXBlLWRpdlwiIH0sIFtcbiAgICAgICAgX3ZtLl9tKDApLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcbiAgICAgICAgICBcInVsXCIsXG4gICAgICAgICAge30sXG4gICAgICAgICAgW1xuICAgICAgICAgICAgX3ZtLmlzTGV2ZWwgPT0gdHJ1ZVxuICAgICAgICAgICAgICA/IFtfYyhcImxhYmVsXCIsIFtfdm0uX3YoXCLmlbDmja7pgJrov4flkI7lj7DmjqXlj6Pojrflj5ZcIildKV1cbiAgICAgICAgICAgICAgOiBbXG4gICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgXCJCdXR0b25cIixcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInByaW1hcnlcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IFwic21hbGxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246IFwiaW9zLWFkZFwiXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICBvbjogeyBjbGljazogX3ZtLmFkZGxpIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgW19jKFwic3BhblwiLCBbX3ZtLl92KFwi5aKe5YqgXCIpXSldXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgIF92bS5pc0NoaWxkID09IHRydWVcbiAgICAgICAgICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiQnV0dG9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJwcmltYXJ5XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogXCJzbWFsbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb246IFwiaW9zLWFkZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7IGNsaWNrOiBfdm0uYmFja3VsIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBbX2MoXCJzcGFuXCIsIFtfdm0uX3YoXCLov5Tlm55cIildKV1cbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIDogX3ZtLl9lKCksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX3ZtLl9sKF92bS5nZXRBcnJMaXN0LCBmdW5jdGlvbihpdGVtLCBpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmlzQ2hpbGQgPT0gZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcImxpXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJJbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJyYWRpb0Fyci1lZGl0b3JJbnB1dFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgbWF4bGVuZ3RoOiBcIjUwXCIsIGNsZWFyYWJsZTogXCJcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJvbi1jaGFuZ2VcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5zZXRSYWRpb1ZhbHVlKGl0ZW0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwibGFiZWxcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJzcGFuXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImljb25mb250IGljb24tcmVjYS1pY29uX3JvdW5kcmVkdWNlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5kZWxBcnIoaW5kZXgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwic3BhblwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJpY29uZm9udCBpY29uLXJlY2EtaWNvbl9yb3VuZGFkZCBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWNrOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmFkZEFycihpbmRleClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICA6IF92bS5fZSgpXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfdm0uX2woX3ZtLmdldENoaWxkTGlzdCwgZnVuY3Rpb24oaXRlbSwgaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5pc0NoaWxkID09IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcImxpXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJJbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJyYWRpb0Fyci1lZGl0b3JJbnB1dFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgY2xlYXJhYmxlOiBcIlwiLCBtYXhsZW5ndGg6IFwiNTBcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJvbi1jaGFuZ2VcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5zZXRSYWRpb1ZhbHVlKGl0ZW0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwibGFiZWxcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJzcGFuXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImljb25mb250IGljb24tcmVjYS1pY29uX3JvdW5kcmVkdWNlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5kZWxDaGlsZEFycihpbmRleClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICA6IF92bS5fZSgpXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICBdLFxuICAgICAgICAgIDJcbiAgICAgICAgKVxuICAgICAgXSlcbiAgICBdXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXG4gIGZ1bmN0aW9uKCkge1xuICAgIHZhciBfdm0gPSB0aGlzXG4gICAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gICAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gICAgcmV0dXJuIF9jKFwicFwiLCB7IHN0YXRpY0NsYXNzOiBcInJhZGlvQXJyLWVkaXRvclRleHRTdHlsZVwiIH0sIFtcbiAgICAgIF92bS5fdihcIlxcbiAgICAgICAgICAgIOmAiemhuVxcbiAgICAgICAgICAgIFwiKSxcbiAgICAgIF9jKFwic3BhblwiLCB7IHN0YXRpY0NsYXNzOiBcInJhZGlvQXJyLWVkaXRvck1heEZvbnRTdHlsZVwiIH0sIFtcbiAgICAgICAgX3ZtLl92KFwi5pyA5aSaMjAw6aG577yM5q+P6aG55pyA5aSaNTDlrZdcIilcbiAgICAgIF0pXG4gICAgXSlcbiAgfVxuXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LWFjYjhkYmMwXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LWFjYjhkYmMwXCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1kb3VibGVTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0MzFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///431\n");
2916
2917/***/ }),
2918/* 432 */
2919/***/ (function(module, exports, __webpack_require__) {
2920
2921eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(433);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"0a4bba34\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7cdfe158\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7cdfe158\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWVkaXRvci9ib3gtZWRpdG9yL2luZGV4LnZ1ZT8yNmQ5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQStXO0FBQ3JZLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBaUcsZ0NBQWdDO0FBQ3RKO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLG1NQUFtTSxtRkFBbUY7QUFDdFIsNE1BQTRNLG1GQUFtRjtBQUMvUjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjQzMi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi03Y2RmZTE1OFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiMGE0YmJhMzRcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTdjZGZlMTU4XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTdjZGZlMTU4XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTdjZGZlMTU4XCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtZWRpdG9yL2JveC1lZGl0b3IvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0MzJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///432\n");
2922
2923/***/ }),
2924/* 433 */
2925/***/ (function(module, exports, __webpack_require__) {
2926
2927eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWVkaXRvci9ib3gtZWRpdG9yL2luZGV4LnZ1ZT9hZGE3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQStFO0FBQ2xIOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyw2NEJBQTY0QixxRkFBcUY7O0FBRXovQiIsImZpbGUiOiI0MzMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W10sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtN2NkZmUxNThcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1lZGl0b3IvYm94LWVkaXRvci9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQzM1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///433\n");
2928
2929/***/ }),
2930/* 434 */
2931/***/ (function(module, exports, __webpack_require__) {
2932
2933"use strict";
2934eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ButtonTriangle = exports.ButtonContainer = exports.Input = exports.NumberBox = exports.Bottom = exports.Top = exports.Right = exports.Left = exports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n position: absolute;\\n'], ['\\n display: flex;\\n position: absolute;\\n']),\n _templateObject2 = (0, _taggedTemplateLiteral3.default)(['\\n flex-direction: row;\\n cursor: ew-resize;\\n'], ['\\n flex-direction: row;\\n cursor: ew-resize;\\n']),\n _templateObject3 = (0, _taggedTemplateLiteral3.default)(['\\n flex-direction: column;\\n cursor: ns-resize;\\n'], ['\\n flex-direction: column;\\n cursor: ns-resize;\\n']),\n _templateObject4 = (0, _taggedTemplateLiteral3.default)(['\\n position: relative;\\n'], ['\\n position: relative;\\n']),\n _templateObject5 = (0, _taggedTemplateLiteral3.default)(['\\n ', '\\n ', '\\n'], ['\\n ', '\\n ', '\\n']),\n _templateObject6 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n position: absolute;\\n justify-content: center;\\n align-items: center;\\n user-select: none;\\n'], ['\\n display: flex;\\n position: absolute;\\n justify-content: center;\\n align-items: center;\\n user-select: none;\\n']),\n _templateObject7 = (0, _taggedTemplateLiteral3.default)(['\\n outline: none;\\n width: calc(100% - 5px);\\n height: calc(100% - 8px);\\n text-align: center;\\n border: none;\\n background-color: transparent;\\n'], ['\\n outline: none;\\n width: calc(100% - 5px);\\n height: calc(100% - 8px);\\n text-align: center;\\n border: none;\\n background-color: transparent;\\n']),\n _templateObject8 = (0, _taggedTemplateLiteral3.default)(['\\n overflow: hidden;\\n'], ['\\n overflow: hidden;\\n']),\n _templateObject9 = (0, _taggedTemplateLiteral3.default)(['\\n transition: all .2s;\\n user-select: none;\\n ', '\\n'], ['\\n transition: all .2s;\\n user-select: none;\\n ', '\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar leftRightTopBottom = (0, _vueStyledComponents.css)(_templateObject);\n\nvar leftRight = (0, _vueStyledComponents.css)(_templateObject2);\n\nvar topBottom = (0, _vueStyledComponents.css)(_templateObject3);\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject4);\n\nvar Left = exports.Left = _vueStyledComponents2.default.div(_templateObject5, leftRightTopBottom, leftRight);\n\nvar Right = exports.Right = _vueStyledComponents2.default.div(_templateObject5, leftRightTopBottom, leftRight);\n\nvar Top = exports.Top = _vueStyledComponents2.default.div(_templateObject5, leftRightTopBottom, topBottom);\n\nvar Bottom = exports.Bottom = _vueStyledComponents2.default.div(_templateObject5, leftRightTopBottom, topBottom);\n\nvar NumberBox = exports.NumberBox = _vueStyledComponents2.default.div(_templateObject6);\n\nvar Input = exports.Input = _vueStyledComponents2.default.input(_templateObject7);\n\nvar ButtonContainer = exports.ButtonContainer = _vueStyledComponents2.default.div(_templateObject8);\n\nvar ButtonTriangle = exports.ButtonTriangle = (0, _vueStyledComponents2.default)('div', { themes: Object })(_templateObject9, function (props) {\n switch (props.themes.position) {\n case 'left':\n return '\\n border-right-color: #666;\\n &:hover {\\n border-right-color: black;\\n }\\n ';\n case 'top':\n return '\\n border-bottom-color: #666;\\n &:hover {\\n border-bottom-color: black;\\n }\\n ';\n case 'right':\n return '\\n border-left-color: #666;\\n &:hover {\\n border-left-color: black;\\n }\\n ';\n case 'bottom':\n return '\\n border-top-color: #666;\\n &:hover {\\n border-top-color: black;\\n }\\n ';\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWVkaXRvci9ib3gtZWRpdG9yL3N0eWxlLmpzPzcwZjQiXSwibmFtZXMiOlsibGVmdFJpZ2h0VG9wQm90dG9tIiwiY3NzIiwibGVmdFJpZ2h0IiwidG9wQm90dG9tIiwiQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2IiwiTGVmdCIsIlJpZ2h0IiwiVG9wIiwiQm90dG9tIiwiTnVtYmVyQm94IiwiSW5wdXQiLCJpbnB1dCIsIkJ1dHRvbkNvbnRhaW5lciIsIkJ1dHRvblRyaWFuZ2xlIiwidGhlbWVzIiwiT2JqZWN0IiwicHJvcHMiLCJwb3NpdGlvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUVBLElBQU1BLHlCQUFxQkMsd0JBQXJCLGtCQUFOOztBQUtBLElBQU1DLGdCQUFZRCx3QkFBWixtQkFBTjs7QUFLQSxJQUFNRSxnQkFBWUYsd0JBQVosbUJBQU47O0FBS08sSUFBTUcsZ0NBQVlDLDhCQUFPQyxHQUFuQixrQkFBTjs7QUFJQSxJQUFNQyxzQkFBT0YsOEJBQU9DLEdBQWQsbUJBQ1ROLGtCQURTLEVBRVRFLFNBRlMsQ0FBTjs7QUFLQSxJQUFNTSx3QkFBUUgsOEJBQU9DLEdBQWYsbUJBQ1ROLGtCQURTLEVBRVRFLFNBRlMsQ0FBTjs7QUFLQSxJQUFNTyxvQkFBTUosOEJBQU9DLEdBQWIsbUJBQ1ROLGtCQURTLEVBRVRHLFNBRlMsQ0FBTjs7QUFLQSxJQUFNTywwQkFBU0wsOEJBQU9DLEdBQWhCLG1CQUNUTixrQkFEUyxFQUVURyxTQUZTLENBQU47O0FBS0EsSUFBTVEsZ0NBQVlOLDhCQUFPQyxHQUFuQixrQkFBTjs7QUFRQSxJQUFNTSx3QkFBUVAsOEJBQU9RLEtBQWYsa0JBQU47O0FBU0EsSUFBTUMsNENBQWtCVCw4QkFBT0MsR0FBekIsa0JBQU47O0FBSUEsSUFBTVMsMENBQWlCLG1DQUFPLEtBQVAsRUFBYyxFQUFDQyxRQUFRQyxNQUFULEVBQWQsQ0FBakIsbUJBR1QsVUFBQ0MsS0FBRCxFQUFXO0FBQ1AsVUFBUUEsTUFBTUYsTUFBTixDQUFhRyxRQUFyQjtBQUNJLFNBQUssTUFBTDtBQUNJO0FBTUosU0FBSyxLQUFMO0FBQ0k7QUFNSixTQUFLLE9BQUw7QUFDSTtBQU1KLFNBQUssUUFBTDtBQUNJO0FBdkJSO0FBOEJILENBbENRLENBQU4iLCJmaWxlIjoiNDM0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCwge2Nzc30gZnJvbSAndnVlLXN0eWxlZC1jb21wb25lbnRzJztcclxuXHJcbmNvbnN0IGxlZnRSaWdodFRvcEJvdHRvbSA9IGNzc2BcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuYDtcclxuXHJcbmNvbnN0IGxlZnRSaWdodCA9IGNzc2BcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGN1cnNvcjogZXctcmVzaXplO1xyXG5gO1xyXG5cclxuY29uc3QgdG9wQm90dG9tID0gY3NzYFxyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgY3Vyc29yOiBucy1yZXNpemU7XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IExlZnQgPSBzdHlsZWQuZGl2YFxyXG4gICR7bGVmdFJpZ2h0VG9wQm90dG9tfVxyXG4gICR7bGVmdFJpZ2h0fVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFJpZ2h0ID0gc3R5bGVkLmRpdmBcclxuICAke2xlZnRSaWdodFRvcEJvdHRvbX1cclxuICAke2xlZnRSaWdodH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBUb3AgPSBzdHlsZWQuZGl2YFxyXG4gICR7bGVmdFJpZ2h0VG9wQm90dG9tfVxyXG4gICR7dG9wQm90dG9tfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEJvdHRvbSA9IHN0eWxlZC5kaXZgXHJcbiAgJHtsZWZ0UmlnaHRUb3BCb3R0b219XHJcbiAgJHt0b3BCb3R0b219XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgTnVtYmVyQm94ID0gc3R5bGVkLmRpdmBcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IElucHV0ID0gc3R5bGVkLmlucHV0YFxyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDVweCk7XHJcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA4cHgpO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEJ1dHRvblRyaWFuZ2xlID0gc3R5bGVkKCdkaXYnLCB7dGhlbWVzOiBPYmplY3R9KWBcclxuICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICR7KHByb3BzKSA9PiB7XHJcbiAgICAgICAgc3dpdGNoIChwcm9wcy50aGVtZXMucG9zaXRpb24pIHtcclxuICAgICAgICAgICAgY2FzZSAnbGVmdCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYFxyXG4gICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjNjY2O1xyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBibGFjaztcclxuICAgICAgICAgIH1cclxuICAgICAgICBgO1xyXG4gICAgICAgICAgICBjYXNlICd0b3AnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGBcclxuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM2NjY7XHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBibGFjaztcclxuICAgICAgICAgIH1cclxuICAgICAgICBgO1xyXG4gICAgICAgICAgICBjYXNlICdyaWdodCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYFxyXG4gICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICM2NjY7XHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogYmxhY2s7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgYDtcclxuICAgICAgICAgICAgY2FzZSAnYm90dG9tJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiBgXHJcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjNjY2O1xyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogYmxhY2s7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgYDtcclxuICAgICAgICB9XHJcbiAgICB9fVxyXG5gO1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWVkaXRvci9ib3gtZWRpdG9yL3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///434\n");
2935
2936/***/ }),
2937/* 435 */
2938/***/ (function(module, __webpack_exports__, __webpack_require__) {
2939
2940"use strict";
2941eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(129);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(436)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\nvar __vue_template__ = null\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-editor/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-485e9960\", Component.options)\n } else {\n hotAPI.reload(\"data-v-485e9960\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWVkaXRvci9pbmRleC52dWU/MzcxMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFnVjtBQUMxVjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNDM1LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNDg1ZTk5NjBcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX18gPSBudWxsXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWVkaXRvci9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtNDg1ZTk5NjBcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi00ODVlOTk2MFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtZWRpdG9yL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDM1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///435\n");
2942
2943/***/ }),
2944/* 436 */
2945/***/ (function(module, exports, __webpack_require__) {
2946
2947eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(437);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"d2f09266\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-485e9960\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-485e9960\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWVkaXRvci9pbmRleC52dWU/YWM0MSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUFzVztBQUM1WCw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsbUZBQW1GO0FBQ2hSLHNNQUFzTSxtRkFBbUY7QUFDelI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI0MzYuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNDg1ZTk5NjBcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcImQyZjA5MjY2XCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi00ODVlOTk2MFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi00ODVlOTk2MFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi00ODVlOTk2MFwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWVkaXRvci9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQzNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///436\n");
2948
2949/***/ }),
2950/* 437 */
2951/***/ (function(module, exports, __webpack_require__) {
2952
2953eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWVkaXRvci9pbmRleC52dWU/ZjA4MSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMscVBBQXFQLHFGQUFxRjs7QUFFalciLCJmaWxlIjoiNDM3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTQ4NWU5OTYwXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtZWRpdG9yL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDM3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///437\n");
2954
2955/***/ }),
2956/* 438 */
2957/***/ (function(module, exports, __webpack_require__) {
2958
2959"use strict";
2960eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n flex-grow: 1;\\n justify-content: center;\\n padding: 5px 0 5px 0;\\n'], ['\\n display: flex;\\n flex-grow: 1;\\n justify-content: center;\\n padding: 5px 0 5px 0;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWVkaXRvci9zdHlsZS5qcz83MmI5Il0sIm5hbWVzIjpbIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFDTyxJQUFNQSxnQ0FBWUMsOEJBQU9DLEdBQW5CLGlCQUFOIiwiZmlsZSI6IjQzOC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAndnVlLXN0eWxlZC1jb21wb25lbnRzJztcclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWdyb3c6IDE7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgcGFkZGluZzogNXB4IDAgNXB4IDA7XHJcbmA7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtZWRpdG9yL3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///438\n");
2961
2962/***/ }),
2963/* 439 */
2964/***/ (function(module, __webpack_exports__, __webpack_require__) {
2965
2966"use strict";
2967eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(130);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_266bc232_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(443);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(440)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-266bc232\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_266bc232_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-endDateHeightLevel/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-266bc232\", Component.options)\n } else {\n hotAPI.reload(\"data-v-266bc232\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWVuZERhdGVIZWlnaHRMZXZlbC9pbmRleC52dWU/MjAxNyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQStVO0FBQ3pWO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDcUk7QUFDYTtBQUNsSjtBQUM2UztBQUM3UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsaVFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI0MzkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0yNjZiYzIzMlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi0yNjZiYzIzMlxcXCIsXFxcImhhc1Njb3BlZFxcXCI6dHJ1ZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBcImRhdGEtdi0yNjZiYzIzMlwiXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWVuZERhdGVIZWlnaHRMZXZlbC9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtMjY2YmMyMzJcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi0yNjZiYzIzMlwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtZW5kRGF0ZUhlaWdodExldmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDM5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///439\n");
2968
2969/***/ }),
2970/* 440 */
2971/***/ (function(module, exports, __webpack_require__) {
2972
2973eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(441);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"6e673232\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-266bc232\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-266bc232\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWVuZERhdGVIZWlnaHRMZXZlbC9pbmRleC52dWU/NzUyNiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUFxVztBQUMzWCw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsa0ZBQWtGO0FBQy9RLHNNQUFzTSxrRkFBa0Y7QUFDeFI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI0NDAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMjY2YmMyMzJcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiNmU2NzMyMzJcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTI2NmJjMjMyXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMjY2YmMyMzJcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0yNjZiYzIzMlwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtZW5kRGF0ZUhlaWdodExldmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDQwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///440\n");
2974
2975/***/ }),
2976/* 441 */
2977/***/ (function(module, exports, __webpack_require__) {
2978
2979eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWVuZERhdGVIZWlnaHRMZXZlbC9pbmRleC52dWU/ZjZjNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsaUxBQWlMLHFGQUFxRjs7QUFFN1IiLCJmaWxlIjoiNDQxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTI2NmJjMjMyXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1lbmREYXRlSGVpZ2h0TGV2ZWwvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0NDFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///441\n");
2980
2981/***/ }),
2982/* 442 */
2983/***/ (function(module, exports, __webpack_require__) {
2984
2985"use strict";
2986eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWVuZERhdGVIZWlnaHRMZXZlbC9zdHlsZS5qcz9lOGM2Il0sIm5hbWVzIjpbIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFDTyxJQUFNQSxnQ0FBWUMsOEJBQU9DLEdBQW5CLGlCQUFOIiwiZmlsZSI6IjQ0Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAndnVlLXN0eWxlZC1jb21wb25lbnRzJztcclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgcGFkZGluZzogNXB4IDMwcHggNXB4IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgZmxleC1ncm93OiAxO1xyXG5gO1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWVuZERhdGVIZWlnaHRMZXZlbC9zdHlsZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///442\n");
2987
2988/***/ }),
2989/* 443 */
2990/***/ (function(module, __webpack_exports__, __webpack_require__) {
2991
2992"use strict";
2993eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticStyle: { width: \"100%\" } }, [\n _c(\"div\", [\n _c(\n \"div\",\n { staticClass: \"item-style\" },\n [\n _c(\"i-switch\", {\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.value,\n expression: \"value\"\n }\n ]\n },\n [\n _c(\"div\", { staticClass: \"title-style\" }, [_vm._v(\"校验\")]),\n _vm._v(\" \"),\n _c(\"validateArr\")\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-266bc232\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWVuZERhdGVIZWlnaHRMZXZlbC9pbmRleC52dWU/M2VlYSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixlQUFlLGdCQUFnQixFQUFFO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBLFNBQVMsNEJBQTRCO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsbUJBQW1CLDZCQUE2QjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjQ0My5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXCJkaXZcIiwgeyBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCIxMDAlXCIgfSB9LCBbXG4gICAgX2MoXCJkaXZcIiwgW1xuICAgICAgX2MoXG4gICAgICAgIFwiZGl2XCIsXG4gICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiaXRlbS1zdHlsZVwiIH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcImktc3dpdGNoXCIsIHtcbiAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgIHZhbHVlOiBfdm0udmFsdWUsXG4gICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICBfdm0udmFsdWUgPSAkJHZcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJ2YWx1ZVwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKVxuICAgIF0pLFxuICAgIF92bS5fdihcIiBcIiksXG4gICAgX2MoXG4gICAgICBcImRpdlwiLFxuICAgICAge1xuICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJzaG93XCIsXG4gICAgICAgICAgICByYXdOYW1lOiBcInYtc2hvd1wiLFxuICAgICAgICAgICAgdmFsdWU6IF92bS52YWx1ZSxcbiAgICAgICAgICAgIGV4cHJlc3Npb246IFwidmFsdWVcIlxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIFtcbiAgICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJ0aXRsZS1zdHlsZVwiIH0sIFtfdm0uX3YoXCLmoKHpqoxcIildKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJ2YWxpZGF0ZUFyclwiKVxuICAgICAgXSxcbiAgICAgIDFcbiAgICApXG4gIF0pXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi0yNjZiYzIzMlwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi0yNjZiYzIzMlwiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtZW5kRGF0ZUhlaWdodExldmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDQzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///443\n");
2994
2995/***/ }),
2996/* 444 */
2997/***/ (function(module, __webpack_exports__, __webpack_require__) {
2998
2999"use strict";
3000eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(131);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_712327c8_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(448);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(445)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_712327c8_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-iconBtnTypeSelect/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-712327c8\", Component.options)\n } else {\n hotAPI.reload(\"data-v-712327c8\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWljb25CdG5UeXBlU2VsZWN0L2luZGV4LnZ1ZT84NGJmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBZ1Y7QUFDMVY7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUFxRjtBQUN0SDtBQUNxSTtBQUNhO0FBQ2xKO0FBQzhTO0FBQzlTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxrUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjQ0NC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTcxMjMyN2M4XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi03MTIzMjdjOFxcXCIsXFxcImhhc1Njb3BlZFxcXCI6ZmFsc2UsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1pY29uQnRuVHlwZVNlbGVjdC9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtNzEyMzI3YzhcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi03MTIzMjdjOFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtaWNvbkJ0blR5cGVTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0NDRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///444\n");
3001
3002/***/ }),
3003/* 445 */
3004/***/ (function(module, exports, __webpack_require__) {
3005
3006eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(446);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"59286c88\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-712327c8\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-712327c8\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWljb25CdG5UeXBlU2VsZWN0L2luZGV4LnZ1ZT8yZWQ5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQXNXO0FBQzVYLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBOEYsZ0NBQWdDO0FBQ25KO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLDZMQUE2TCxtRkFBbUY7QUFDaFIsc01BQXNNLG1GQUFtRjtBQUN6UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjQ0NS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi03MTIzMjdjOFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiNTkyODZjODhcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTcxMjMyN2M4XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTcxMjMyN2M4XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTcxMjMyN2M4XCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtaWNvbkJ0blR5cGVTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0NDVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///445\n");
3007
3008/***/ }),
3009/* 446 */
3010/***/ (function(module, exports, __webpack_require__) {
3011
3012eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWljb25CdG5UeXBlU2VsZWN0L2luZGV4LnZ1ZT80ZWFkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQTRFO0FBQy9HOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyw2SkFBNkoscUZBQXFGOztBQUV6USIsImZpbGUiOiI0NDYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W10sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNzEyMzI3YzhcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1pY29uQnRuVHlwZVNlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQ0NlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///446\n");
3013
3014/***/ }),
3015/* 447 */
3016/***/ (function(module, exports, __webpack_require__) {
3017
3018"use strict";
3019eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWljb25CdG5UeXBlU2VsZWN0L3N0eWxlLmpzPzBkNGMiXSwibmFtZXMiOlsiQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUNPLElBQU1BLGdDQUFZQyw4QkFBT0MsR0FBbkIsaUJBQU4iLCJmaWxlIjoiNDQ3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICd2dWUtc3R5bGVkLWNvbXBvbmVudHMnO1xyXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICBwYWRkaW5nOiA1cHggMTJweCA1cHggMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBmbGV4LWdyb3c6IDE7XHJcbmA7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtaWNvbkJ0blR5cGVTZWxlY3Qvc3R5bGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///447\n");
3020
3021/***/ }),
3022/* 448 */
3023/***/ (function(module, __webpack_exports__, __webpack_require__) {
3024
3025"use strict";
3026eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\"Container\", [\n _c(\n \"div\",\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\" },\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n { key: item.value, attrs: { value: item.value || \"\" } },\n [_vm._v(_vm._s(item.key))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ])\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-712327c8\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWljb25CdG5UeXBlU2VsZWN0L2luZGV4LnZ1ZT85YWIwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssZUFBZSxnQkFBZ0IsRUFBRTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLGlCQUFpQjtBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQiwwQkFBMEIsMEJBQTBCLEVBQUU7QUFDekU7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjQ0OC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sXG4gICAgW1xuICAgICAgX2MoXCJDb250YWluZXJcIiwgW1xuICAgICAgICBfYyhcbiAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgIFtcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcIlNlbGVjdFwiLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiOTYuNSVcIiB9LFxuICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICBfdm0udmFsdWUgPSAkJHZcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbHVlXCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF92bS5fbChfdm0ub3B0aW9uc0RhdGEsIGZ1bmN0aW9uKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICAgICAgICBcIk9wdGlvblwiLFxuICAgICAgICAgICAgICAgICAgeyBrZXk6IGl0ZW0udmFsdWUsIGF0dHJzOiB7IHZhbHVlOiBpdGVtLnZhbHVlIHx8IFwiXCIgfSB9LFxuICAgICAgICAgICAgICAgICAgW192bS5fdihfdm0uX3MoaXRlbS5rZXkpKV1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApXG4gICAgICAgICAgXSxcbiAgICAgICAgICAxXG4gICAgICAgIClcbiAgICAgIF0pXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTcxMjMyN2M4XCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTcxMjMyN2M4XCIsXCJoYXNTY29wZWRcIjpmYWxzZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtaWNvbkJ0blR5cGVTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0NDhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///448\n");
3027
3028/***/ }),
3029/* 449 */
3030/***/ (function(module, __webpack_exports__, __webpack_require__) {
3031
3032"use strict";
3033eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(132);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_534cf956_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(453);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(450)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-534cf956\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_534cf956_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-idCardHeightLevel/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-534cf956\", Component.options)\n } else {\n hotAPI.reload(\"data-v-534cf956\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWlkQ2FyZEhlaWdodExldmVsL2luZGV4LnZ1ZT9mZGE5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBK1U7QUFDelY7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUFxRjtBQUN0SDtBQUNxSTtBQUNhO0FBQ2xKO0FBQzZTO0FBQzdTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxpUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjQ0OS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTUzNGNmOTU2XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTUzNGNmOTU2XFxcIixcXFwiaGFzU2NvcGVkXFxcIjp0cnVlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IFwiZGF0YS12LTUzNGNmOTU2XCJcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtaWRDYXJkSGVpZ2h0TGV2ZWwvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTUzNGNmOTU2XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtNTM0Y2Y5NTZcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWlkQ2FyZEhlaWdodExldmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDQ5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///449\n");
3034
3035/***/ }),
3036/* 450 */
3037/***/ (function(module, exports, __webpack_require__) {
3038
3039eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(451);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"15db0b90\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-534cf956\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-534cf956\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWlkQ2FyZEhlaWdodExldmVsL2luZGV4LnZ1ZT9lZTBiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQXFXO0FBQzNYLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBOEYsZ0NBQWdDO0FBQ25KO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLDZMQUE2TCxrRkFBa0Y7QUFDL1Esc01BQXNNLGtGQUFrRjtBQUN4UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjQ1MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi01MzRjZjk1NlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCIxNWRiMGI5MFwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNTM0Y2Y5NTZcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi01MzRjZjk1NlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTUzNGNmOTU2XCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1pZENhcmRIZWlnaHRMZXZlbC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQ1MFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///450\n");
3040
3041/***/ }),
3042/* 451 */
3043/***/ (function(module, exports, __webpack_require__) {
3044
3045eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWlkQ2FyZEhlaWdodExldmVsL2luZGV4LnZ1ZT8xYmY3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQTRFO0FBQy9HOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyxpTEFBaUwscUZBQXFGOztBQUU3UiIsImZpbGUiOiI0NTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W10sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNTM0Y2Y5NTZcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWlkQ2FyZEhlaWdodExldmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDUxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///451\n");
3046
3047/***/ }),
3048/* 452 */
3049/***/ (function(module, exports, __webpack_require__) {
3050
3051"use strict";
3052eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWlkQ2FyZEhlaWdodExldmVsL3N0eWxlLmpzP2RhMmMiXSwibmFtZXMiOlsiQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUNPLElBQU1BLGdDQUFZQyw4QkFBT0MsR0FBbkIsaUJBQU4iLCJmaWxlIjoiNDUyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICd2dWUtc3R5bGVkLWNvbXBvbmVudHMnO1xyXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICBwYWRkaW5nOiA1cHggMzBweCA1cHggMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBmbGV4LWdyb3c6IDE7XHJcbmA7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtaWRDYXJkSGVpZ2h0TGV2ZWwvc3R5bGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///452\n");
3053
3054/***/ }),
3055/* 453 */
3056/***/ (function(module, __webpack_exports__, __webpack_require__) {
3057
3058"use strict";
3059eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticStyle: { width: \"100%\" } }, [\n _c(\"div\", [\n _c(\n \"div\",\n { staticClass: \"item-style\" },\n [\n _c(\"i-switch\", {\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.value,\n expression: \"value\"\n }\n ]\n },\n [\n _c(\"div\", { staticClass: \"title-style\" }, [_vm._v(\"校验\")]),\n _vm._v(\" \"),\n _c(\"validateArr\")\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-534cf956\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWlkQ2FyZEhlaWdodExldmVsL2luZGV4LnZ1ZT8wZmRjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGVBQWUsZ0JBQWdCLEVBQUU7QUFDckQ7QUFDQTtBQUNBO0FBQ0EsU0FBUyw0QkFBNEI7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxtQkFBbUIsNkJBQTZCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNDUzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcImRpdlwiLCB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sIFtcbiAgICBfYyhcImRpdlwiLCBbXG4gICAgICBfYyhcbiAgICAgICAgXCJkaXZcIixcbiAgICAgICAgeyBzdGF0aWNDbGFzczogXCJpdGVtLXN0eWxlXCIgfSxcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFwiaS1zd2l0Y2hcIiwge1xuICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgdmFsdWU6IF92bS52YWx1ZSxcbiAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgIF92bS52YWx1ZSA9ICQkdlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbHVlXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApXG4gICAgXSksXG4gICAgX3ZtLl92KFwiIFwiKSxcbiAgICBfYyhcbiAgICAgIFwiZGl2XCIsXG4gICAgICB7XG4gICAgICAgIGRpcmVjdGl2ZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcInNob3dcIixcbiAgICAgICAgICAgIHJhd05hbWU6IFwidi1zaG93XCIsXG4gICAgICAgICAgICB2YWx1ZTogX3ZtLnZhbHVlLFxuICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJ2YWx1ZVwiXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAgW1xuICAgICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcInRpdGxlLXN0eWxlXCIgfSwgW192bS5fdihcIuagoemqjFwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInZhbGlkYXRlQXJyXCIpXG4gICAgICBdLFxuICAgICAgMVxuICAgIClcbiAgXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTUzNGNmOTU2XCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTUzNGNmOTU2XCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1pZENhcmRIZWlnaHRMZXZlbC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQ1M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///453\n");
3060
3061/***/ }),
3062/* 454 */
3063/***/ (function(module, __webpack_exports__, __webpack_require__) {
3064
3065"use strict";
3066eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(133);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_ab8eda34_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(458);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(455)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-ab8eda34\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_ab8eda34_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-inputHeightLevel/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-ab8eda34\", Component.options)\n } else {\n hotAPI.reload(\"data-v-ab8eda34\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWlucHV0SGVpZ2h0TGV2ZWwvaW5kZXgudnVlPzdhNjUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUErVTtBQUN6VjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDNlM7QUFDN1M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGlRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNDU0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYWI4ZWRhMzRcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYWI4ZWRhMzRcXFwiLFxcXCJoYXNTY29wZWRcXFwiOnRydWUsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gXCJkYXRhLXYtYWI4ZWRhMzRcIlxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1pbnB1dEhlaWdodExldmVsL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi1hYjhlZGEzNFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LWFiOGVkYTM0XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1pbnB1dEhlaWdodExldmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDU0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///454\n");
3067
3068/***/ }),
3069/* 455 */
3070/***/ (function(module, exports, __webpack_require__) {
3071
3072eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(456);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"3360bed4\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-ab8eda34\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-ab8eda34\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWlucHV0SGVpZ2h0TGV2ZWwvaW5kZXgudnVlPzgyNDIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBcVc7QUFDM1gsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLGtGQUFrRjtBQUMvUSxzTUFBc00sa0ZBQWtGO0FBQ3hSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNDU1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWFiOGVkYTM0XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjMzNjBiZWQ0XCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1hYjhlZGEzNFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWFiOGVkYTM0XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtYWI4ZWRhMzRcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWlucHV0SGVpZ2h0TGV2ZWwvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0NTVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///455\n");
3073
3074/***/ }),
3075/* 456 */
3076/***/ (function(module, exports, __webpack_require__) {
3077
3078eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWlucHV0SGVpZ2h0TGV2ZWwvaW5kZXgudnVlPzczMGQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLG1SQUFtUixxRkFBcUY7O0FBRS9YIiwiZmlsZSI6IjQ1Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi1hYjhlZGEzNFwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtaW5wdXRIZWlnaHRMZXZlbC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQ1NlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///456\n");
3079
3080/***/ }),
3081/* 457 */
3082/***/ (function(module, exports, __webpack_require__) {
3083
3084"use strict";
3085eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWlucHV0SGVpZ2h0TGV2ZWwvc3R5bGUuanM/YTlkOSJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBQ08sSUFBTUEsZ0NBQVlDLDhCQUFPQyxHQUFuQixpQkFBTiIsImZpbGUiOiI0NTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIHBhZGRpbmc6IDVweCAzMHB4IDVweCAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1pbnB1dEhlaWdodExldmVsL3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///457\n");
3086
3087/***/ }),
3088/* 458 */
3089/***/ (function(module, __webpack_exports__, __webpack_require__) {
3090
3091"use strict";
3092eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticStyle: { width: \"100%\" } }, [\n _c(\"div\", [\n _c(\n \"div\",\n { staticClass: \"item-style\" },\n [\n _c(\"i-switch\", {\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.value,\n expression: \"value\"\n }\n ]\n },\n [\n _c(\n \"div\",\n [\n _c(\"label\", { staticClass: \"item-style\" }, [_vm._v(\"文本框类型\")]),\n _vm._v(\" \"),\n _c(\"inputSelect\")\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.isTextarea,\n expression: \"isTextarea\"\n }\n ]\n },\n [\n _c(\"label\", { staticClass: \"item-style\" }, [_vm._v(\"行数\")]),\n _vm._v(\" \"),\n _c(\"Input\", {\n staticStyle: { margin: \"0px 10px 7px\", width: \"92%\" },\n attrs: {\n placeholder: \"只能输入数字,最大行数为10\",\n clearable: \"\",\n type: \"number\"\n },\n model: {\n value: _vm.LineNums,\n callback: function($$v) {\n _vm.LineNums = $$v\n },\n expression: \"LineNums\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"title-style\" }, [_vm._v(\"校验\")]),\n _vm._v(\" \"),\n _c(\"validateArr\"),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"title-style\" }, [_vm._v(\"是否展示\")]),\n _vm._v(\" \"),\n _c(\"showFlag\"),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"title-style\" }, [_vm._v(\"联动\")]),\n _vm._v(\" \"),\n _c(\"linkageChangeValue\")\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-ab8eda34\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWlucHV0SGVpZ2h0TGV2ZWwvaW5kZXgudnVlPzRjMjkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsZUFBZSxnQkFBZ0IsRUFBRTtBQUNyRDtBQUNBO0FBQ0E7QUFDQSxTQUFTLDRCQUE0QjtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5Qiw0QkFBNEI7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBLHlCQUF5Qiw0QkFBNEI7QUFDckQ7QUFDQTtBQUNBLDRCQUE0Qix1Q0FBdUM7QUFDbkU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQiw2QkFBNkI7QUFDaEQ7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLDZCQUE2QjtBQUNoRDtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsNkJBQTZCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNDU4LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcImRpdlwiLCB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sIFtcbiAgICBfYyhcImRpdlwiLCBbXG4gICAgICBfYyhcbiAgICAgICAgXCJkaXZcIixcbiAgICAgICAgeyBzdGF0aWNDbGFzczogXCJpdGVtLXN0eWxlXCIgfSxcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFwiaS1zd2l0Y2hcIiwge1xuICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgdmFsdWU6IF92bS52YWx1ZSxcbiAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgIF92bS52YWx1ZSA9ICQkdlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbHVlXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApXG4gICAgXSksXG4gICAgX3ZtLl92KFwiIFwiKSxcbiAgICBfYyhcbiAgICAgIFwiZGl2XCIsXG4gICAgICB7XG4gICAgICAgIGRpcmVjdGl2ZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcInNob3dcIixcbiAgICAgICAgICAgIHJhd05hbWU6IFwidi1zaG93XCIsXG4gICAgICAgICAgICB2YWx1ZTogX3ZtLnZhbHVlLFxuICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJ2YWx1ZVwiXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAgW1xuICAgICAgICBfYyhcbiAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgIFtcbiAgICAgICAgICAgIF9jKFwibGFiZWxcIiwgeyBzdGF0aWNDbGFzczogXCJpdGVtLXN0eWxlXCIgfSwgW192bS5fdihcIuaWh+acrOahhuexu+Wei1wiKV0pLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF9jKFwiaW5wdXRTZWxlY3RcIilcbiAgICAgICAgICBdLFxuICAgICAgICAgIDFcbiAgICAgICAgKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXG4gICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcInNob3dcIixcbiAgICAgICAgICAgICAgICByYXdOYW1lOiBcInYtc2hvd1wiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0uaXNUZXh0YXJlYSxcbiAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImlzVGV4dGFyZWFcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICBbXG4gICAgICAgICAgICBfYyhcImxhYmVsXCIsIHsgc3RhdGljQ2xhc3M6IFwiaXRlbS1zdHlsZVwiIH0sIFtfdm0uX3YoXCLooYzmlbBcIildKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfYyhcIklucHV0XCIsIHtcbiAgICAgICAgICAgICAgc3RhdGljU3R5bGU6IHsgbWFyZ2luOiBcIjBweCAxMHB4IDdweFwiLCB3aWR0aDogXCI5MiVcIiB9LFxuICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBcIuWPquiDvei+k+WFpeaVsOWtl++8jOacgOWkp+ihjOaVsOS4ujEwXCIsXG4gICAgICAgICAgICAgICAgY2xlYXJhYmxlOiBcIlwiLFxuICAgICAgICAgICAgICAgIHR5cGU6IFwibnVtYmVyXCJcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLkxpbmVOdW1zLFxuICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgIF92bS5MaW5lTnVtcyA9ICQkdlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJMaW5lTnVtc1wiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgXSxcbiAgICAgICAgICAxXG4gICAgICAgICksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwidGl0bGUtc3R5bGVcIiB9LCBbX3ZtLl92KFwi5qCh6aqMXCIpXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwidmFsaWRhdGVBcnJcIiksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwidGl0bGUtc3R5bGVcIiB9LCBbX3ZtLl92KFwi5piv5ZCm5bGV56S6XCIpXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwic2hvd0ZsYWdcIiksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwidGl0bGUtc3R5bGVcIiB9LCBbX3ZtLl92KFwi6IGU5YqoXCIpXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwibGlua2FnZUNoYW5nZVZhbHVlXCIpXG4gICAgICBdLFxuICAgICAgMVxuICAgIClcbiAgXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LWFiOGVkYTM0XCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LWFiOGVkYTM0XCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1pbnB1dEhlaWdodExldmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDU4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///458\n");
3093
3094/***/ }),
3095/* 459 */
3096/***/ (function(module, __webpack_exports__, __webpack_require__) {
3097
3098"use strict";
3099eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(134);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_59f369fc_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(463);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(460)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-59f369fc\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_59f369fc_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-labelHeightLevel/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-59f369fc\", Component.options)\n } else {\n hotAPI.reload(\"data-v-59f369fc\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxhYmVsSGVpZ2h0TGV2ZWwvaW5kZXgudnVlPzA4ZGYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUErVTtBQUN6VjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDNlM7QUFDN1M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGlRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNDU5LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNTlmMzY5ZmNcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNTlmMzY5ZmNcXFwiLFxcXCJoYXNTY29wZWRcXFwiOnRydWUsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gXCJkYXRhLXYtNTlmMzY5ZmNcIlxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1sYWJlbEhlaWdodExldmVsL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi01OWYzNjlmY1wiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTU5ZjM2OWZjXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1sYWJlbEhlaWdodExldmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDU5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///459\n");
3100
3101/***/ }),
3102/* 460 */
3103/***/ (function(module, exports, __webpack_require__) {
3104
3105eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(461);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"1cfac8af\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-59f369fc\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-59f369fc\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxhYmVsSGVpZ2h0TGV2ZWwvaW5kZXgudnVlPzgwYmUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBcVc7QUFDM1gsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLGtGQUFrRjtBQUMvUSxzTUFBc00sa0ZBQWtGO0FBQ3hSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNDYwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTU5ZjM2OWZjXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjFjZmFjOGFmXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi01OWYzNjlmY1xcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTU5ZjM2OWZjXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNTlmMzY5ZmNcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxhYmVsSGVpZ2h0TGV2ZWwvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0NjBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///460\n");
3106
3107/***/ }),
3108/* 461 */
3109/***/ (function(module, exports, __webpack_require__) {
3110
3111eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxhYmVsSGVpZ2h0TGV2ZWwvaW5kZXgudnVlPzk0MWEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLG1lQUFtZSxxRkFBcUY7O0FBRS9rQiIsImZpbGUiOiI0NjEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W10sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNTlmMzY5ZmNcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxhYmVsSGVpZ2h0TGV2ZWwvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0NjFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///461\n");
3112
3113/***/ }),
3114/* 462 */
3115/***/ (function(module, exports, __webpack_require__) {
3116
3117"use strict";
3118eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxhYmVsSGVpZ2h0TGV2ZWwvc3R5bGUuanM/MDFjZCJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBQ08sSUFBTUEsZ0NBQVlDLDhCQUFPQyxHQUFuQixpQkFBTiIsImZpbGUiOiI0NjIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIHBhZGRpbmc6IDVweCAzMHB4IDVweCAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1sYWJlbEhlaWdodExldmVsL3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///462\n");
3119
3120/***/ }),
3121/* 463 */
3122/***/ (function(module, __webpack_exports__, __webpack_require__) {
3123
3124"use strict";
3125eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticStyle: { width: \"100%\" } }, [\n _c(\n \"div\",\n { staticClass: \"item-style\" },\n [\n _c(\"i-switch\", {\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.value,\n expression: \"value\"\n }\n ]\n },\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\" },\n on: { \"on-change\": _vm.updateType },\n model: {\n value: _vm.type,\n callback: function($$v) {\n _vm.type = $$v\n },\n expression: \"type\"\n }\n },\n _vm._l(_vm.dataArr, function(item) {\n return _c(\n \"Option\",\n { key: item.value, attrs: { value: item.value || \"\" } },\n [_vm._v(_vm._s(item.label))]\n )\n }),\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.isHidden,\n expression: \"isHidden\"\n }\n ]\n },\n [\n _c(\"Label\", { staticClass: \"item-style\" }, [_vm._v(\"选项类型\")]),\n _vm._v(\" \"),\n _c(\n \"Container\",\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\", \"max-width\": \"254px\" },\n on: { \"on-change\": _vm.updateDataType },\n model: {\n value: _vm.dataType,\n callback: function($$v) {\n _vm.dataType = $$v\n },\n expression: \"dataType\"\n }\n },\n _vm._l(_vm.dataTypeArr, function(item) {\n return _c(\n \"Option\",\n {\n key: item.value,\n staticStyle: { \"max-width\": \"254px\" },\n attrs: { value: item.value || \"\" }\n },\n [_vm._v(_vm._s(item.label))]\n )\n }),\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"Label\", { staticClass: \"item-style\" }, [\n _vm._v(\"请输入按钮名称\")\n ]),\n _vm._v(\" \"),\n _c(\n \"Container\",\n [\n _c(\"Input\", {\n staticStyle: { width: \"300px\" },\n attrs: { placeholder: \"请输入按钮名称\", clearable: \"\" },\n model: {\n value: _vm.btnName,\n callback: function($$v) {\n _vm.btnName = $$v\n },\n expression: \"btnName\"\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-59f369fc\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxhYmVsSGVpZ2h0TGV2ZWwvaW5kZXgudnVlP2RiYjEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsZUFBZSxnQkFBZ0IsRUFBRTtBQUNyRDtBQUNBO0FBQ0EsT0FBTyw0QkFBNEI7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLGlCQUFpQjtBQUMzQyxpQkFBaUIsOEJBQThCO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0EsZUFBZSwwQkFBMEIsMEJBQTBCLEVBQUU7QUFDckU7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0EseUJBQXlCLDRCQUE0QjtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQyx1Q0FBdUM7QUFDekUseUJBQXlCLGtDQUFrQztBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0MsdUJBQXVCO0FBQzdELGdDQUFnQztBQUNoQyx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUIsNEJBQTRCO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLGlCQUFpQjtBQUNqRCwwQkFBMEIsd0NBQXdDO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjQ2My5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXCJkaXZcIiwgeyBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCIxMDAlXCIgfSB9LCBbXG4gICAgX2MoXG4gICAgICBcImRpdlwiLFxuICAgICAgeyBzdGF0aWNDbGFzczogXCJpdGVtLXN0eWxlXCIgfSxcbiAgICAgIFtcbiAgICAgICAgX2MoXCJpLXN3aXRjaFwiLCB7XG4gICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgIHZhbHVlOiBfdm0udmFsdWUsXG4gICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgIF92bS52YWx1ZSA9ICQkdlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGV4cHJlc3Npb246IFwidmFsdWVcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIF0sXG4gICAgICAxXG4gICAgKSxcbiAgICBfdm0uX3YoXCIgXCIpLFxuICAgIF9jKFxuICAgICAgXCJkaXZcIixcbiAgICAgIHtcbiAgICAgICAgZGlyZWN0aXZlczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwic2hvd1wiLFxuICAgICAgICAgICAgcmF3TmFtZTogXCJ2LXNob3dcIixcbiAgICAgICAgICAgIHZhbHVlOiBfdm0udmFsdWUsXG4gICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbHVlXCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICBbXG4gICAgICAgIF9jKFxuICAgICAgICAgIFwiU2VsZWN0XCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiOTYuNSVcIiB9LFxuICAgICAgICAgICAgb246IHsgXCJvbi1jaGFuZ2VcIjogX3ZtLnVwZGF0ZVR5cGUgfSxcbiAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgIHZhbHVlOiBfdm0udHlwZSxcbiAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgIF92bS50eXBlID0gJCR2XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGV4cHJlc3Npb246IFwidHlwZVwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBfdm0uX2woX3ZtLmRhdGFBcnIsIGZ1bmN0aW9uKGl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybiBfYyhcbiAgICAgICAgICAgICAgXCJPcHRpb25cIixcbiAgICAgICAgICAgICAgeyBrZXk6IGl0ZW0udmFsdWUsIGF0dHJzOiB7IHZhbHVlOiBpdGVtLnZhbHVlIHx8IFwiXCIgfSB9LFxuICAgICAgICAgICAgICBbX3ZtLl92KF92bS5fcyhpdGVtLmxhYmVsKSldXG4gICAgICAgICAgICApXG4gICAgICAgICAgfSksXG4gICAgICAgICAgMVxuICAgICAgICApLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcbiAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZXM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwic2hvd1wiLFxuICAgICAgICAgICAgICAgIHJhd05hbWU6IFwidi1zaG93XCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IF92bS5pc0hpZGRlbixcbiAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImlzSGlkZGVuXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgW1xuICAgICAgICAgICAgX2MoXCJMYWJlbFwiLCB7IHN0YXRpY0NsYXNzOiBcIml0ZW0tc3R5bGVcIiB9LCBbX3ZtLl92KFwi6YCJ6aG557G75Z6LXCIpXSksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgIFwiQ29udGFpbmVyXCIsXG4gICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgIFwiU2VsZWN0XCIsXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjk2LjUlXCIsIFwibWF4LXdpZHRoXCI6IFwiMjU0cHhcIiB9LFxuICAgICAgICAgICAgICAgICAgICBvbjogeyBcIm9uLWNoYW5nZVwiOiBfdm0udXBkYXRlRGF0YVR5cGUgfSxcbiAgICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmRhdGFUeXBlLFxuICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIF92bS5kYXRhVHlwZSA9ICQkdlxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJkYXRhVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBfdm0uX2woX3ZtLmRhdGFUeXBlQXJyLCBmdW5jdGlvbihpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBfYyhcbiAgICAgICAgICAgICAgICAgICAgICBcIk9wdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleTogaXRlbS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7IFwibWF4LXdpZHRoXCI6IFwiMjU0cHhcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgdmFsdWU6IGl0ZW0udmFsdWUgfHwgXCJcIiB9XG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICBbX3ZtLl92KF92bS5fcyhpdGVtLmxhYmVsKSldXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3RhdGljQ2xhc3M6IFwiaXRlbS1zdHlsZVwiIH0sIFtcbiAgICAgICAgICAgICAgX3ZtLl92KFwi6K+36L6T5YWl5oyJ6ZKu5ZCN56ewXCIpXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgXCJDb250YWluZXJcIixcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIF9jKFwiSW5wdXRcIiwge1xuICAgICAgICAgICAgICAgICAgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiMzAwcHhcIiB9LFxuICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgcGxhY2Vob2xkZXI6IFwi6K+36L6T5YWl5oyJ6ZKu5ZCN56ewXCIsIGNsZWFyYWJsZTogXCJcIiB9LFxuICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5idG5OYW1lLFxuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgX3ZtLmJ0bk5hbWUgPSAkJHZcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJidG5OYW1lXCJcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApXG4gICAgICAgICAgXSxcbiAgICAgICAgICAxXG4gICAgICAgIClcbiAgICAgIF0sXG4gICAgICAxXG4gICAgKVxuICBdKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtNTlmMzY5ZmNcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtNTlmMzY5ZmNcIixcImhhc1Njb3BlZFwiOnRydWUsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxhYmVsSGVpZ2h0TGV2ZWwvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0NjNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///463\n");
3126
3127/***/ }),
3128/* 464 */
3129/***/ (function(module, __webpack_exports__, __webpack_require__) {
3130
3131"use strict";
3132eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(135);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_530b0769_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(468);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(465)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_530b0769_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-linkItems/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-530b0769\", Component.options)\n } else {\n hotAPI.reload(\"data-v-530b0769\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxpbmtJdGVtcy9pbmRleC52dWU/YjYyMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQWdWO0FBQzFWO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDcUk7QUFDYTtBQUNsSjtBQUM4UztBQUM5UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsa1FBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI0NjQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi01MzBiMDc2OVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNTMwYjA3NjlcXFwiLFxcXCJoYXNTY29wZWRcXFwiOmZhbHNlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtbGlua0l0ZW1zL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi01MzBiMDc2OVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTUzMGIwNzY5XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1saW5rSXRlbXMvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0NjRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///464\n");
3133
3134/***/ }),
3135/* 465 */
3136/***/ (function(module, exports, __webpack_require__) {
3137
3138eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(466);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"9a1b3c64\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-530b0769\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-530b0769\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxpbmtJdGVtcy9pbmRleC52dWU/MzZkYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUFzVztBQUM1WCw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsbUZBQW1GO0FBQ2hSLHNNQUFzTSxtRkFBbUY7QUFDelI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI0NjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNTMwYjA3NjlcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjlhMWIzYzY0XCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi01MzBiMDc2OVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi01MzBiMDc2OVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi01MzBiMDc2OVwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxpbmtJdGVtcy9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQ2NVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///465\n");
3139
3140/***/ }),
3141/* 466 */
3142/***/ (function(module, exports, __webpack_require__) {
3143
3144eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxpbmtJdGVtcy9pbmRleC52dWU/OGYxYiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsdWNBQXVjLHFGQUFxRjs7QUFFbmpCIiwiZmlsZSI6IjQ2Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi01MzBiMDc2OVwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxpbmtJdGVtcy9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQ2NlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///466\n");
3145
3146/***/ }),
3147/* 467 */
3148/***/ (function(module, exports, __webpack_require__) {
3149
3150"use strict";
3151eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxpbmtJdGVtcy9zdHlsZS5qcz80YTkxIl0sIm5hbWVzIjpbIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFDTyxJQUFNQSxnQ0FBWUMsOEJBQU9DLEdBQW5CLGlCQUFOIiwiZmlsZSI6IjQ2Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAndnVlLXN0eWxlZC1jb21wb25lbnRzJztcclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgcGFkZGluZzogNXB4IDMwcHggNXB4IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgZmxleC1ncm93OiAxO1xyXG5gO1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxpbmtJdGVtcy9zdHlsZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///467\n");
3152
3153/***/ }),
3154/* 468 */
3155/***/ (function(module, __webpack_exports__, __webpack_require__) {
3156
3157"use strict";
3158eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"success\" },\n on: {\n click: function($event) {\n return _vm.addArr()\n }\n }\n },\n [_vm._v(\"添加\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { staticClass: \"main-ul\" },\n _vm._l(_vm.getArrList, function(item, index) {\n return _c(\"li\", { staticClass: \"main-li\" }, [\n _c(\n \"div\",\n { staticClass: \"main-li-btn\" },\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"error\", shape: \"circle\" },\n on: {\n click: function($event) {\n return _vm.delArr(index)\n }\n }\n },\n [_vm._v(\"删除\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [_c(\"Label\", { staticClass: \"main-li-label\" }, [_vm._v(\"标签\")])],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Input\", {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\" },\n model: {\n value: item.label,\n callback: function($$v) {\n _vm.$set(item, \"label\", $$v)\n },\n expression: \"item.label\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"属性名称\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\n \"Select\",\n {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\" },\n model: {\n value: item.prop,\n callback: function($$v) {\n _vm.$set(item, \"prop\", $$v)\n },\n expression: \"item.prop\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n { key: item.value, attrs: { value: item.value } },\n [_vm._v(_vm._s(item.key) + \"\\n \")]\n )\n }),\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"是否显示\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"i-switch\", {\n staticClass: \"main-li-item-switch\",\n model: {\n value: item.isShow,\n callback: function($$v) {\n _vm.$set(item, \"isShow\", $$v)\n },\n expression: \"item.isShow\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-btn\" },\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"success\" },\n on: {\n click: function($event) {\n return _vm.addExactChildArr(index)\n }\n }\n },\n [_vm._v(\"添加exact数组\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { staticClass: \"main-ul\" },\n _vm._l(item.exact, function(item1, index1) {\n return _c(\"li\", { staticClass: \"main-li\" }, [\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"广告类型\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Input\", {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\" },\n model: {\n value: item1.type,\n callback: function($$v) {\n _vm.$set(item1, \"type\", $$v)\n },\n expression: \"item1.type\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-btn-child\" },\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"error\" },\n on: {\n click: function($event) {\n return _vm.delExactChildArr(index, index1)\n }\n }\n },\n [_vm._v(\"删除子集数组\")]\n )\n ],\n 1\n )\n ])\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-btn\" },\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"success\" },\n on: {\n click: function($event) {\n return _vm.addOptionsChildArr(index)\n }\n }\n },\n [_vm._v(\"添加options数组\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { staticClass: \"main-ul\" },\n _vm._l(item.options, function(item2, index2) {\n return _c(\"li\", { key: index2, staticClass: \"main-li\" }, [\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"名称\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Input\", {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\" },\n model: {\n value: item2.name,\n callback: function($$v) {\n _vm.$set(item2, \"name\", $$v)\n },\n expression: \"item2.name\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"值\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\n \"Select\",\n {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\" },\n model: {\n value: item2.value,\n callback: function($$v) {\n _vm.$set(item2, \"value\", $$v)\n },\n expression: \"item2.value\"\n }\n },\n _vm._l(_vm.radioData, function(item) {\n return _c(\n \"Option\",\n { key: item.value, attrs: { value: item.value } },\n [\n _vm._v(\n _vm._s(item.key) + \"\\n \"\n )\n ]\n )\n }),\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [\n _vm._v(\"是否被选中\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"i-switch\", {\n staticClass: \"main-li-item-switch\",\n model: {\n value: item2.isSelected,\n callback: function($$v) {\n _vm.$set(item2, \"isSelected\", $$v)\n },\n expression: \"item2.isSelected\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-btn-child\" },\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"error\" },\n on: {\n click: function($event) {\n return _vm.delOptionsChildArr(index, index2)\n }\n }\n },\n [_vm._v(\"删除子集数组\")]\n )\n ],\n 1\n )\n ])\n }),\n 0\n )\n ])\n }),\n 0\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-530b0769\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxpbmtJdGVtcy9pbmRleC52dWU/MTc2NiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLGVBQWUsZ0JBQWdCLEVBQUU7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0Isa0JBQWtCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMseUJBQXlCO0FBQ2xDO0FBQ0EsMkJBQTJCLHlCQUF5QjtBQUNwRDtBQUNBO0FBQ0EsZUFBZSw2QkFBNkI7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsaUNBQWlDO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsNkJBQTZCO0FBQzVDLDRCQUE0QiwrQkFBK0I7QUFDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsNkJBQTZCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQixnQkFBZ0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLDZCQUE2QjtBQUM1QztBQUNBLDZCQUE2QiwrQkFBK0I7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsNkJBQTZCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsZ0JBQWdCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVC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O0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsbUNBQW1DO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLGdCQUFnQjtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNDY4LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHsgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiMTAwJVwiIH0gfSxcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJDb250YWluZXJcIixcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJCdXR0b25cIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYXR0cnM6IHsgdHlwZTogXCJzdWNjZXNzXCIgfSxcbiAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmFkZEFycigpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW192bS5fdihcIua3u+WKoFwiKV1cbiAgICAgICAgICApXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgICksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXG4gICAgICAgIFwidWxcIixcbiAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLXVsXCIgfSxcbiAgICAgICAgX3ZtLl9sKF92bS5nZXRBcnJMaXN0LCBmdW5jdGlvbihpdGVtLCBpbmRleCkge1xuICAgICAgICAgIHJldHVybiBfYyhcImxpXCIsIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saVwiIH0sIFtcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktYnRuXCIgfSxcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgXCJCdXR0b25cIixcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgdHlwZTogXCJlcnJvclwiLCBzaGFwZTogXCJjaXJjbGVcIiB9LFxuICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgIGNsaWNrOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uZGVsQXJyKGluZGV4KVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIFtfdm0uX3YoXCLliKDpmaRcIildXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgW19jKFwiTGFiZWxcIiwgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWxhYmVsXCIgfSwgW192bS5fdihcIuagh+etvlwiKV0pXSxcbiAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWRpdlwiIH0sXG4gICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBfYyhcIklucHV0XCIsIHtcbiAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcIm1haW4tbGktaXRlbVwiLFxuICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgY2xlYXJhYmxlOiBcIlwiIH0sXG4gICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwibGFiZWxcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgX2MoXCJMYWJlbFwiLCB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktbGFiZWxcIiB9LCBbXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCLlsZ7mgKflkI3np7BcIilcbiAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgXCJTZWxlY3RcIixcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1pdGVtXCIsXG4gICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IGNsZWFyYWJsZTogXCJcIiB9LFxuICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtLnByb3AsXG4gICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoaXRlbSwgXCJwcm9wXCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiaXRlbS5wcm9wXCJcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIF92bS5fbChfdm0ub3B0aW9uc0RhdGEsIGZ1bmN0aW9uKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9jKFxuICAgICAgICAgICAgICAgICAgICAgIFwiT3B0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgeyBrZXk6IGl0ZW0udmFsdWUsIGF0dHJzOiB7IHZhbHVlOiBpdGVtLnZhbHVlIH0gfSxcbiAgICAgICAgICAgICAgICAgICAgICBbX3ZtLl92KF92bS5fcyhpdGVtLmtleSkgKyBcIlxcbiAgICAgICAgICAgICAgICAgICAgXCIpXVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgX2MoXCJMYWJlbFwiLCB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktbGFiZWxcIiB9LCBbXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCLmmK/lkKbmmL7npLpcIilcbiAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIF9jKFwiaS1zd2l0Y2hcIiwge1xuICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1pdGVtLXN3aXRjaFwiLFxuICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0uaXNTaG93LFxuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoaXRlbSwgXCJpc1Nob3dcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0uaXNTaG93XCJcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktYnRuXCIgfSxcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgXCJCdXR0b25cIixcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgdHlwZTogXCJzdWNjZXNzXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmFkZEV4YWN0Q2hpbGRBcnIoaW5kZXgpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgW192bS5fdihcIua3u+WKoGV4YWN05pWw57uEXCIpXVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgXCJ1bFwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tdWxcIiB9LFxuICAgICAgICAgICAgICBfdm0uX2woaXRlbS5leGFjdCwgZnVuY3Rpb24oaXRlbTEsIGluZGV4MSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBfYyhcImxpXCIsIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saVwiIH0sIFtcbiAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgIF9jKFwiTGFiZWxcIiwgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWxhYmVsXCIgfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwi5bm/5ZGK57G75Z6LXCIpXG4gICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWRpdlwiIH0sXG4gICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICBfYyhcIklucHV0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcIm1haW4tbGktaXRlbVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgY2xlYXJhYmxlOiBcIlwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbTEudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0xLCBcInR5cGVcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0xLnR5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1idG4tY2hpbGRcIiB9LFxuICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICBcIkJ1dHRvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyB0eXBlOiBcImVycm9yXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmRlbEV4YWN0Q2hpbGRBcnIoaW5kZXgsIGluZGV4MSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBbX3ZtLl92KFwi5Yig6Zmk5a2Q6ZuG5pWw57uEXCIpXVxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAwXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktYnRuXCIgfSxcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgXCJCdXR0b25cIixcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgdHlwZTogXCJzdWNjZXNzXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmFkZE9wdGlvbnNDaGlsZEFycihpbmRleClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBbX3ZtLl92KFwi5re75Yqgb3B0aW9uc+aVsOe7hFwiKV1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgIFwidWxcIixcbiAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLXVsXCIgfSxcbiAgICAgICAgICAgICAgX3ZtLl9sKGl0ZW0ub3B0aW9ucywgZnVuY3Rpb24oaXRlbTIsIGluZGV4Mikge1xuICAgICAgICAgICAgICAgIHJldHVybiBfYyhcImxpXCIsIHsga2V5OiBpbmRleDIsIHN0YXRpY0NsYXNzOiBcIm1haW4tbGlcIiB9LCBbXG4gICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWRpdlwiIH0sXG4gICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1sYWJlbFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIuWQjeensFwiKVxuICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXCJJbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJtYWluLWxpLWl0ZW1cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IGNsZWFyYWJsZTogXCJcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0yLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChpdGVtMiwgXCJuYW1lXCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJpdGVtMi5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgIF9jKFwiTGFiZWxcIiwgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWxhYmVsXCIgfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwi5YC8XCIpXG4gICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWRpdlwiIH0sXG4gICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiU2VsZWN0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcIm1haW4tbGktaXRlbVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBjbGVhcmFibGU6IFwiXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbTIudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoaXRlbTIsIFwidmFsdWVcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJpdGVtMi52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBfdm0uX2woX3ZtLnJhZGlvRGF0YSwgZnVuY3Rpb24oaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJPcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGtleTogaXRlbS52YWx1ZSwgYXR0cnM6IHsgdmFsdWU6IGl0ZW0udmFsdWUgfSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKGl0ZW0ua2V5KSArIFwiXFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWRpdlwiIH0sXG4gICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1sYWJlbFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIuaYr+WQpuiiq+mAieS4rVwiKVxuICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXCJpLXN3aXRjaFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJtYWluLWxpLWl0ZW0tc3dpdGNoXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbTIuaXNTZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0yLCBcImlzU2VsZWN0ZWRcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0yLmlzU2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1idG4tY2hpbGRcIiB9LFxuICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICBcIkJ1dHRvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyB0eXBlOiBcImVycm9yXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmRlbE9wdGlvbnNDaGlsZEFycihpbmRleCwgaW5kZXgyKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtfdm0uX3YoXCLliKDpmaTlrZDpm4bmlbDnu4RcIildXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIDBcbiAgICAgICAgICAgIClcbiAgICAgICAgICBdKVxuICAgICAgICB9KSxcbiAgICAgICAgMFxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi01MzBiMDc2OVwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi01MzBiMDc2OVwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxpbmtJdGVtcy9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQ2OFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///468\n");
3159
3160/***/ }),
3161/* 469 */
3162/***/ (function(module, __webpack_exports__, __webpack_require__) {
3163
3164"use strict";
3165eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(136);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_46d36d68_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(473);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(470)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_46d36d68_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-looktype/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-46d36d68\", Component.options)\n } else {\n hotAPI.reload(\"data-v-46d36d68\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxvb2t0eXBlL2luZGV4LnZ1ZT9hNTcyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBZ1Y7QUFDMVY7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUFxRjtBQUN0SDtBQUNxSTtBQUNhO0FBQ2xKO0FBQzhTO0FBQzlTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxrUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjQ2OS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTQ2ZDM2ZDY4XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi00NmQzNmQ2OFxcXCIsXFxcImhhc1Njb3BlZFxcXCI6ZmFsc2UsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1sb29rdHlwZS9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtNDZkMzZkNjhcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi00NmQzNmQ2OFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtbG9va3R5cGUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0Njlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///469\n");
3166
3167/***/ }),
3168/* 470 */
3169/***/ (function(module, exports, __webpack_require__) {
3170
3171eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(471);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"727f05c6\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-46d36d68\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-46d36d68\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxvb2t0eXBlL2luZGV4LnZ1ZT85NDJmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQXNXO0FBQzVYLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBOEYsZ0NBQWdDO0FBQ25KO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLDZMQUE2TCxtRkFBbUY7QUFDaFIsc01BQXNNLG1GQUFtRjtBQUN6UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjQ3MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi00NmQzNmQ2OFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiNzI3ZjA1YzZcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTQ2ZDM2ZDY4XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTQ2ZDM2ZDY4XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTQ2ZDM2ZDY4XCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtbG9va3R5cGUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0NzBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///470\n");
3172
3173/***/ }),
3174/* 471 */
3175/***/ (function(module, exports, __webpack_require__) {
3176
3177eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxvb2t0eXBlL2luZGV4LnZ1ZT81MWM4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQTRFO0FBQy9HOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyxtWEFBbVgscUZBQXFGOztBQUUvZCIsImZpbGUiOiI0NzEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W10sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNDZkMzZkNjhcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1sb29rdHlwZS9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQ3MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///471\n");
3178
3179/***/ }),
3180/* 472 */
3181/***/ (function(module, exports, __webpack_require__) {
3182
3183"use strict";
3184eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxvb2t0eXBlL3N0eWxlLmpzPzk4OWMiXSwibmFtZXMiOlsiQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUNPLElBQU1BLGdDQUFZQyw4QkFBT0MsR0FBbkIsaUJBQU4iLCJmaWxlIjoiNDcyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICd2dWUtc3R5bGVkLWNvbXBvbmVudHMnO1xyXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICBwYWRkaW5nOiA1cHggMTJweCA1cHggMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBmbGV4LWdyb3c6IDE7XHJcbmA7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtbG9va3R5cGUvc3R5bGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///472\n");
3185
3186/***/ }),
3187/* 473 */
3188/***/ (function(module, __webpack_exports__, __webpack_require__) {
3189
3190"use strict";
3191eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\"Label\", [_vm._v(\"选项类型\")]),\n _vm._v(\" \"),\n _c(\n \"Container\",\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\", \"max-width\": \"254px\" },\n model: {\n value: _vm.val,\n callback: function($$v) {\n _vm.val = $$v\n },\n expression: \"val\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n {\n key: item.value,\n staticStyle: { \"max-width\": \"254px\" },\n attrs: { value: item.value || \"\" }\n },\n [_vm._v(_vm._s(item.label))]\n )\n }),\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"Label\", [_vm._v(\"请输入按钮名称\")]),\n _vm._v(\" \"),\n _c(\n \"Container\",\n [\n _c(\"Input\", {\n staticStyle: { width: \"300px\" },\n attrs: { placeholder: \"请输入按钮名称\", clearable: \"\" },\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-46d36d68\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxvb2t0eXBlL2luZGV4LnZ1ZT81MGYzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssZUFBZSxnQkFBZ0IsRUFBRTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsdUNBQXVDO0FBQ25FO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQyx1QkFBdUI7QUFDdkQsMEJBQTBCO0FBQzFCLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQixpQkFBaUI7QUFDM0Msb0JBQW9CLHdDQUF3QztBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNDczLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHsgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiMTAwJVwiIH0gfSxcbiAgICBbXG4gICAgICBfYyhcIkxhYmVsXCIsIFtfdm0uX3YoXCLpgInpobnnsbvlnotcIildKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfYyhcbiAgICAgICAgXCJDb250YWluZXJcIixcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJTZWxlY3RcIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiOTYuNSVcIiwgXCJtYXgtd2lkdGhcIjogXCIyNTRweFwiIH0sXG4gICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IF92bS52YWwsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgX3ZtLnZhbCA9ICQkdlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJ2YWxcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX3ZtLl9sKF92bS5vcHRpb25zRGF0YSwgZnVuY3Rpb24oaXRlbSkge1xuICAgICAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICAgICAgXCJPcHRpb25cIixcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBrZXk6IGl0ZW0udmFsdWUsXG4gICAgICAgICAgICAgICAgICBzdGF0aWNTdHlsZTogeyBcIm1heC13aWR0aFwiOiBcIjI1NHB4XCIgfSxcbiAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IHZhbHVlOiBpdGVtLnZhbHVlIHx8IFwiXCIgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgW192bS5fdihfdm0uX3MoaXRlbS5sYWJlbCkpXVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgICksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXCJMYWJlbFwiLCBbX3ZtLl92KFwi6K+36L6T5YWl5oyJ6ZKu5ZCN56ewXCIpXSksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXG4gICAgICAgIFwiQ29udGFpbmVyXCIsXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcIklucHV0XCIsIHtcbiAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjMwMHB4XCIgfSxcbiAgICAgICAgICAgIGF0dHJzOiB7IHBsYWNlaG9sZGVyOiBcIuivt+i+k+WFpeaMiemSruWQjeensFwiLCBjbGVhcmFibGU6IFwiXCIgfSxcbiAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgIHZhbHVlOiBfdm0udmFsdWUsXG4gICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICBfdm0udmFsdWUgPSAkJHZcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJ2YWx1ZVwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi00NmQzNmQ2OFwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi00NmQzNmQ2OFwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxvb2t0eXBlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDczXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///473\n");
3192
3193/***/ }),
3194/* 474 */
3195/***/ (function(module, __webpack_exports__, __webpack_require__) {
3196
3197"use strict";
3198eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(137);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_3cc1352d_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(478);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(475)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_3cc1352d_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-lookup/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-3cc1352d\", Component.options)\n } else {\n hotAPI.reload(\"data-v-3cc1352d\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxvb2t1cC9pbmRleC52dWU/YjVjZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQWdWO0FBQzFWO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDcUk7QUFDYTtBQUNsSjtBQUM4UztBQUM5UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsa1FBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI0NzQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0zY2MxMzUyZFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtM2NjMTM1MmRcXFwiLFxcXCJoYXNTY29wZWRcXFwiOmZhbHNlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtbG9va3VwL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi0zY2MxMzUyZFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTNjYzEzNTJkXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1sb29rdXAvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0NzRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///474\n");
3199
3200/***/ }),
3201/* 475 */
3202/***/ (function(module, exports, __webpack_require__) {
3203
3204eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(476);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"8bce9394\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3cc1352d\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3cc1352d\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxvb2t1cC9pbmRleC52dWU/MWZiZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUFzVztBQUM1WCw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsbUZBQW1GO0FBQ2hSLHNNQUFzTSxtRkFBbUY7QUFDelI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI0NzUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtM2NjMTM1MmRcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjhiY2U5Mzk0XCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0zY2MxMzUyZFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0zY2MxMzUyZFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0zY2MxMzUyZFwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxvb2t1cC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQ3NVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///475\n");
3205
3206/***/ }),
3207/* 476 */
3208/***/ (function(module, exports, __webpack_require__) {
3209
3210eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxvb2t1cC9pbmRleC52dWU/OGY2OCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsMlFBQTJRLHFGQUFxRjs7QUFFdlgiLCJmaWxlIjoiNDc2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTNjYzEzNTJkXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtbG9va3VwL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDc2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///476\n");
3211
3212/***/ }),
3213/* 477 */
3214/***/ (function(module, exports, __webpack_require__) {
3215
3216"use strict";
3217eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxvb2t1cC9zdHlsZS5qcz9mMjAyIl0sIm5hbWVzIjpbIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFDTyxJQUFNQSxnQ0FBWUMsOEJBQU9DLEdBQW5CLGlCQUFOIiwiZmlsZSI6IjQ3Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAndnVlLXN0eWxlZC1jb21wb25lbnRzJztcclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgcGFkZGluZzogNXB4IDEycHggNXB4IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgZmxleC1ncm93OiAxO1xyXG5gO1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxvb2t1cC9zdHlsZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///477\n");
3218
3219/***/ }),
3220/* 478 */
3221/***/ (function(module, __webpack_exports__, __webpack_require__) {
3222
3223"use strict";
3224eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\"Label\", [_vm._v(\"查看类型\")]),\n _vm._v(\" \"),\n _c(\n \"Container\",\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\" },\n on: { \"on-change\": _vm.updateType },\n model: {\n value: _vm.val,\n callback: function($$v) {\n _vm.val = $$v\n },\n expression: \"val\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n { key: item.value, attrs: { value: item.value || \"\" } },\n [_vm._v(_vm._s(item.label))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-3cc1352d\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxvb2t1cC9pbmRleC52dWU/YTViYSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLGVBQWUsZ0JBQWdCLEVBQUU7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLGlCQUFpQjtBQUM3QyxtQkFBbUIsOEJBQThCO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLDBCQUEwQiwwQkFBMEIsRUFBRTtBQUN2RTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjQ3OC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sXG4gICAgW1xuICAgICAgX2MoXCJMYWJlbFwiLCBbX3ZtLl92KFwi5p+l55yL57G75Z6LXCIpXSksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXG4gICAgICAgIFwiQ29udGFpbmVyXCIsXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiU2VsZWN0XCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjk2LjUlXCIgfSxcbiAgICAgICAgICAgICAgb246IHsgXCJvbi1jaGFuZ2VcIjogX3ZtLnVwZGF0ZVR5cGUgfSxcbiAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLnZhbCxcbiAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICBfdm0udmFsID0gJCR2XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfdm0uX2woX3ZtLm9wdGlvbnNEYXRhLCBmdW5jdGlvbihpdGVtKSB7XG4gICAgICAgICAgICAgIHJldHVybiBfYyhcbiAgICAgICAgICAgICAgICBcIk9wdGlvblwiLFxuICAgICAgICAgICAgICAgIHsga2V5OiBpdGVtLnZhbHVlLCBhdHRyczogeyB2YWx1ZTogaXRlbS52YWx1ZSB8fCBcIlwiIH0gfSxcbiAgICAgICAgICAgICAgICBbX3ZtLl92KF92bS5fcyhpdGVtLmxhYmVsKSldXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgMVxuICAgICAgICAgIClcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi0zY2MxMzUyZFwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi0zY2MxMzUyZFwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LWxvb2t1cC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQ3OFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///478\n");
3225
3226/***/ }),
3227/* 479 */
3228/***/ (function(module, __webpack_exports__, __webpack_require__) {
3229
3230"use strict";
3231eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(138);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_b93c9f88_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(483);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(480)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-b93c9f88\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_b93c9f88_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-number/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-b93c9f88\", Component.options)\n } else {\n hotAPI.reload(\"data-v-b93c9f88\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LW51bWJlci9pbmRleC52dWU/ZWViMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQTJWO0FBQ3JXO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDcUk7QUFDYTtBQUNsSjtBQUM2UztBQUM3UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsaVFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI0NzkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1iOTNjOWY4OFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hbGVzcy1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi1iOTNjOWY4OFxcXCIsXFxcImhhc1Njb3BlZFxcXCI6dHJ1ZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBcImRhdGEtdi1iOTNjOWY4OFwiXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LW51bWJlci9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtYjkzYzlmODhcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi1iOTNjOWY4OFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtbnVtYmVyL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDc5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///479\n");
3232
3233/***/ }),
3234/* 480 */
3235/***/ (function(module, exports, __webpack_require__) {
3236
3237eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(481);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"2d6801e4\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-b93c9f88\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-b93c9f88\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LW51bWJlci9pbmRleC52dWU/M2VmMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUE0YTtBQUNsYyw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsa0ZBQWtGO0FBQy9RLHNNQUFzTSxrRkFBa0Y7QUFDeFI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI0ODAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYjkzYzlmODhcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCIyZDY4MDFlNFwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYjkzYzlmODhcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWI5M2M5Zjg4XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi1iOTNjOWY4OFwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LW51bWJlci9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQ4MFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///480\n");
3238
3239/***/ }),
3240/* 481 */
3241/***/ (function(module, exports, __webpack_require__) {
3242
3243eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.tool-type-string[data-v-b93c9f88] {\\n margin: 10px 8px 0;\\n}\\n.tool-type-string .tool-type-div[data-v-b93c9f88] {\\n margin: 5px 8px 0;\\n}\\n.tool-type-string .tool-type-div .editorTextStyle[data-v-b93c9f88] {\\n font-weight: 700;\\n font-size: 14px;\\n color: #191f25;\\n margin-bottom: 4px;\\n}\\n.tool-type-string .tool-type-div .editorTextStyle .editorMaxFontStyle[data-v-b93c9f88] {\\n color: rgba(25, 31, 37, 0.4);\\n font-size: 12px;\\n}\\n.tool-type-string .tool-type-div .editorTextStyle .editorMaxFontStyleFalse[data-v-b93c9f88] {\\n color: red;\\n font-size: 12px;\\n}\\n.tool-type-string .tool-type-div .editorInput[data-v-b93c9f88] {\\n width: 100%;\\n margin: 5px 0;\\n}\\n.tool-type-string .tool-type-div .editorInputFalse[data-v-b93c9f88] {\\n width: 100%;\\n margin: 5px 0;\\n border: 1px solid red;\\n}\\n.tool-type-string .tool-type-div .editorContentStyle[data-v-b93c9f88] {\\n font-size: 12px;\\n margin: 8px 0;\\n}\\n.tool-type-string .ivu-input[data-v-b93c9f88] {\\n border-radius: 4px;\\n}\\n.ivu-input[data-v-b93c9f88] {\\n border-radius: 4px;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-number/index.vue\"],\"names\":[],\"mappings\":\";AAAA;EACE,mBAAmB;CACpB;AACD;EACE,kBAAkB;CACnB;AACD;EACE,iBAAiB;EACjB,gBAAgB;EAChB,eAAe;EACf,mBAAmB;CACpB;AACD;EACE,6BAA6B;EAC7B,gBAAgB;CACjB;AACD;EACE,WAAW;EACX,gBAAgB;CACjB;AACD;EACE,YAAY;EACZ,cAAc;CACf;AACD;EACE,YAAY;EACZ,cAAc;EACd,sBAAsB;CACvB;AACD;EACE,gBAAgB;EAChB,cAAc;CACf;AACD;EACE,mBAAmB;CACpB;AACD;EACE,mBAAmB;CACpB\",\"file\":\"index.vue\",\"sourcesContent\":[\".tool-type-string {\\n margin: 10px 8px 0;\\n}\\n.tool-type-string .tool-type-div {\\n margin: 5px 8px 0;\\n}\\n.tool-type-string .tool-type-div .editorTextStyle {\\n font-weight: 700;\\n font-size: 14px;\\n color: #191f25;\\n margin-bottom: 4px;\\n}\\n.tool-type-string .tool-type-div .editorTextStyle .editorMaxFontStyle {\\n color: rgba(25, 31, 37, 0.4);\\n font-size: 12px;\\n}\\n.tool-type-string .tool-type-div .editorTextStyle .editorMaxFontStyleFalse {\\n color: red;\\n font-size: 12px;\\n}\\n.tool-type-string .tool-type-div .editorInput {\\n width: 100%;\\n margin: 5px 0;\\n}\\n.tool-type-string .tool-type-div .editorInputFalse {\\n width: 100%;\\n margin: 5px 0;\\n border: 1px solid red;\\n}\\n.tool-type-string .tool-type-div .editorContentStyle {\\n font-size: 12px;\\n margin: 8px 0;\\n}\\n.tool-type-string .ivu-input {\\n border-radius: 4px;\\n}\\n.ivu-input {\\n border-radius: 4px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LW51bWJlci9pbmRleC52dWU/NWJjZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMseUNBQXlDLHVCQUF1QixHQUFHLHFEQUFxRCxzQkFBc0IsR0FBRyxzRUFBc0UscUJBQXFCLG9CQUFvQixtQkFBbUIsdUJBQXVCLEdBQUcsMEZBQTBGLGlDQUFpQyxvQkFBb0IsR0FBRywrRkFBK0YsZUFBZSxvQkFBb0IsR0FBRyxrRUFBa0UsZ0JBQWdCLGtCQUFrQixHQUFHLHVFQUF1RSxnQkFBZ0Isa0JBQWtCLDBCQUEwQixHQUFHLHlFQUF5RSxvQkFBb0Isa0JBQWtCLEdBQUcsaURBQWlELHVCQUF1QixHQUFHLCtCQUErQix1QkFBdUIsR0FBRyxVQUFVLG9KQUFvSixLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksYUFBYSxXQUFXLFlBQVksTUFBTSxLQUFLLFlBQVksYUFBYSxNQUFNLEtBQUssVUFBVSxZQUFZLE1BQU0sS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsVUFBVSxZQUFZLE1BQU0sS0FBSyxZQUFZLFdBQVcsS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksZ0VBQWdFLHVCQUF1QixHQUFHLG9DQUFvQyxzQkFBc0IsR0FBRyxxREFBcUQscUJBQXFCLG9CQUFvQixtQkFBbUIsdUJBQXVCLEdBQUcseUVBQXlFLGlDQUFpQyxvQkFBb0IsR0FBRyw4RUFBOEUsZUFBZSxvQkFBb0IsR0FBRyxpREFBaUQsZ0JBQWdCLGtCQUFrQixHQUFHLHNEQUFzRCxnQkFBZ0Isa0JBQWtCLDBCQUEwQixHQUFHLHdEQUF3RCxvQkFBb0Isa0JBQWtCLEdBQUcsZ0NBQWdDLHVCQUF1QixHQUFHLGNBQWMsdUJBQXVCLEdBQUcscUJBQXFCOztBQUV0OUUiLCJmaWxlIjoiNDgxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLnRvb2wtdHlwZS1zdHJpbmdbZGF0YS12LWI5M2M5Zjg4XSB7XFxuICBtYXJnaW46IDEwcHggOHB4IDA7XFxufVxcbi50b29sLXR5cGUtc3RyaW5nIC50b29sLXR5cGUtZGl2W2RhdGEtdi1iOTNjOWY4OF0ge1xcbiAgbWFyZ2luOiA1cHggOHB4IDA7XFxufVxcbi50b29sLXR5cGUtc3RyaW5nIC50b29sLXR5cGUtZGl2IC5lZGl0b3JUZXh0U3R5bGVbZGF0YS12LWI5M2M5Zjg4XSB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgZm9udC1zaXplOiAxNHB4O1xcbiAgY29sb3I6ICMxOTFmMjU7XFxuICBtYXJnaW4tYm90dG9tOiA0cHg7XFxufVxcbi50b29sLXR5cGUtc3RyaW5nIC50b29sLXR5cGUtZGl2IC5lZGl0b3JUZXh0U3R5bGUgLmVkaXRvck1heEZvbnRTdHlsZVtkYXRhLXYtYjkzYzlmODhdIHtcXG4gIGNvbG9yOiByZ2JhKDI1LCAzMSwgMzcsIDAuNCk7XFxuICBmb250LXNpemU6IDEycHg7XFxufVxcbi50b29sLXR5cGUtc3RyaW5nIC50b29sLXR5cGUtZGl2IC5lZGl0b3JUZXh0U3R5bGUgLmVkaXRvck1heEZvbnRTdHlsZUZhbHNlW2RhdGEtdi1iOTNjOWY4OF0ge1xcbiAgY29sb3I6IHJlZDtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG59XFxuLnRvb2wtdHlwZS1zdHJpbmcgLnRvb2wtdHlwZS1kaXYgLmVkaXRvcklucHV0W2RhdGEtdi1iOTNjOWY4OF0ge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBtYXJnaW46IDVweCAwO1xcbn1cXG4udG9vbC10eXBlLXN0cmluZyAudG9vbC10eXBlLWRpdiAuZWRpdG9ySW5wdXRGYWxzZVtkYXRhLXYtYjkzYzlmODhdIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgbWFyZ2luOiA1cHggMDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcXG59XFxuLnRvb2wtdHlwZS1zdHJpbmcgLnRvb2wtdHlwZS1kaXYgLmVkaXRvckNvbnRlbnRTdHlsZVtkYXRhLXYtYjkzYzlmODhdIHtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG4gIG1hcmdpbjogOHB4IDA7XFxufVxcbi50b29sLXR5cGUtc3RyaW5nIC5pdnUtaW5wdXRbZGF0YS12LWI5M2M5Zjg4XSB7XFxuICBib3JkZXItcmFkaXVzOiA0cHg7XFxufVxcbi5pdnUtaW5wdXRbZGF0YS12LWI5M2M5Zjg4XSB7XFxuICBib3JkZXItcmFkaXVzOiA0cHg7XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJFOi9wcm9qZWN0L3BhZ2UtaWRlLXhpYW4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1udW1iZXIvaW5kZXgudnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUFBQTtFQUNFLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0Usa0JBQWtCO0NBQ25CO0FBQ0Q7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLDZCQUE2QjtFQUM3QixnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLFdBQVc7RUFDWCxnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLFlBQVk7RUFDWixjQUFjO0NBQ2Y7QUFDRDtFQUNFLFlBQVk7RUFDWixjQUFjO0VBQ2Qsc0JBQXNCO0NBQ3ZCO0FBQ0Q7RUFDRSxnQkFBZ0I7RUFDaEIsY0FBYztDQUNmO0FBQ0Q7RUFDRSxtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLG1CQUFtQjtDQUNwQlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIi50b29sLXR5cGUtc3RyaW5nIHtcXG4gIG1hcmdpbjogMTBweCA4cHggMDtcXG59XFxuLnRvb2wtdHlwZS1zdHJpbmcgLnRvb2wtdHlwZS1kaXYge1xcbiAgbWFyZ2luOiA1cHggOHB4IDA7XFxufVxcbi50b29sLXR5cGUtc3RyaW5nIC50b29sLXR5cGUtZGl2IC5lZGl0b3JUZXh0U3R5bGUge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGNvbG9yOiAjMTkxZjI1O1xcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xcbn1cXG4udG9vbC10eXBlLXN0cmluZyAudG9vbC10eXBlLWRpdiAuZWRpdG9yVGV4dFN0eWxlIC5lZGl0b3JNYXhGb250U3R5bGUge1xcbiAgY29sb3I6IHJnYmEoMjUsIDMxLCAzNywgMC40KTtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG59XFxuLnRvb2wtdHlwZS1zdHJpbmcgLnRvb2wtdHlwZS1kaXYgLmVkaXRvclRleHRTdHlsZSAuZWRpdG9yTWF4Rm9udFN0eWxlRmFsc2Uge1xcbiAgY29sb3I6IHJlZDtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG59XFxuLnRvb2wtdHlwZS1zdHJpbmcgLnRvb2wtdHlwZS1kaXYgLmVkaXRvcklucHV0IHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgbWFyZ2luOiA1cHggMDtcXG59XFxuLnRvb2wtdHlwZS1zdHJpbmcgLnRvb2wtdHlwZS1kaXYgLmVkaXRvcklucHV0RmFsc2Uge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBtYXJnaW46IDVweCAwO1xcbiAgYm9yZGVyOiAxcHggc29saWQgcmVkO1xcbn1cXG4udG9vbC10eXBlLXN0cmluZyAudG9vbC10eXBlLWRpdiAuZWRpdG9yQ29udGVudFN0eWxlIHtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG4gIG1hcmdpbjogOHB4IDA7XFxufVxcbi50b29sLXR5cGUtc3RyaW5nIC5pdnUtaW5wdXQge1xcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xcbn1cXG4uaXZ1LWlucHV0IHtcXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcXG59XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LWI5M2M5Zjg4XCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtbnVtYmVyL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDgxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///481\n");
3244
3245/***/ }),
3246/* 482 */
3247/***/ (function(module, exports, __webpack_require__) {
3248
3249"use strict";
3250eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SliderContainer = exports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 10px;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n flex-basis: 0;\\n'], ['\\n padding: 5px 10px;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n flex-basis: 0;\\n']),\n _templateObject2 = (0, _taggedTemplateLiteral3.default)(['\\n width: 100px;\\n margin-right: 15px;\\n'], ['\\n width: 100px;\\n margin-right: 15px;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n\nvar SliderContainer = exports.SliderContainer = _vueStyledComponents2.default.div(_templateObject2);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LW51bWJlci9zdHlsZS5qcz9lNDU3Il0sIm5hbWVzIjpbIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIlNsaWRlckNvbnRhaW5lciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBQ08sSUFBTUEsZ0NBQVlDLDhCQUFPQyxHQUFuQixpQkFBTjs7QUFTQSxJQUFNQyw0Q0FBa0JGLDhCQUFPQyxHQUF6QixrQkFBTiIsImZpbGUiOiI0ODIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuICBmbGV4LWJhc2lzOiAwO1xyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNsaWRlckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgd2lkdGg6IDEwMHB4O1xyXG4gIG1hcmdpbi1yaWdodDogMTVweDtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1udW1iZXIvc3R5bGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///482\n");
3251
3252/***/ }),
3253/* 483 */
3254/***/ (function(module, __webpack_exports__, __webpack_require__) {
3255
3256"use strict";
3257eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"tool-type-string\", staticStyle: { width: \"100%\" } },\n [\n _c(\"div\", { staticClass: \"tool-type-div\" }, [\n _c(\"p\", { staticClass: \"editorTextStyle\" }, [\n _vm._v(\"\\n \" + _vm._s(_vm.editor.text) + \"\\n \"),\n _vm.editor.maxFont\n ? _c(\n \"span\",\n {\n class: _vm.noValidate\n ? \"editorMaxFontStyle\"\n : \"editorMaxFontStyleFalse\"\n },\n [_vm._v(\"最多\" + _vm._s(_vm.editor.maxFont) + \"行\")]\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\n \"p\",\n [\n _c(\"InputNumber\", {\n class: _vm.noValidate ? \"editorInput\" : \"editorInputFalse\",\n attrs: { placeholder: \"\", clearable: \"\" },\n on: {\n \"on-blur\": function($event) {\n return _vm.listenerMaxFont(_vm.value)\n }\n },\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.editor.maxInputFont\n ? _c(\"p\", { staticClass: \"editorContentStyle\" }, [\n _vm._v(\n \"\\n 最多\" +\n _vm._s(_vm.editor.maxInputFont) +\n \"行\\n \"\n )\n ])\n : _vm._e()\n ])\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-b93c9f88\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LW51bWJlci9pbmRleC52dWU/NTJmOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLGdEQUFnRCxnQkFBZ0IsRUFBRTtBQUN2RTtBQUNBLGlCQUFpQiwrQkFBK0I7QUFDaEQsaUJBQWlCLGlDQUFpQztBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLGlDQUFpQztBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsb0NBQW9DO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI0ODMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAgeyBzdGF0aWNDbGFzczogXCJ0b29sLXR5cGUtc3RyaW5nXCIsIHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sXG4gICAgW1xuICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJ0b29sLXR5cGUtZGl2XCIgfSwgW1xuICAgICAgICBfYyhcInBcIiwgeyBzdGF0aWNDbGFzczogXCJlZGl0b3JUZXh0U3R5bGVcIiB9LCBbXG4gICAgICAgICAgX3ZtLl92KFwiXFxuICAgICAgICAgICAgXCIgKyBfdm0uX3MoX3ZtLmVkaXRvci50ZXh0KSArIFwiXFxuICAgICAgICAgICAgXCIpLFxuICAgICAgICAgIF92bS5lZGl0b3IubWF4Rm9udFxuICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICBcInNwYW5cIixcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBjbGFzczogX3ZtLm5vVmFsaWRhdGVcbiAgICAgICAgICAgICAgICAgICAgPyBcImVkaXRvck1heEZvbnRTdHlsZVwiXG4gICAgICAgICAgICAgICAgICAgIDogXCJlZGl0b3JNYXhGb250U3R5bGVGYWxzZVwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBbX3ZtLl92KFwi5pyA5aSaXCIgKyBfdm0uX3MoX3ZtLmVkaXRvci5tYXhGb250KSArIFwi6KGMXCIpXVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IF92bS5fZSgpXG4gICAgICAgIF0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcbiAgICAgICAgICBcInBcIixcbiAgICAgICAgICBbXG4gICAgICAgICAgICBfYyhcIklucHV0TnVtYmVyXCIsIHtcbiAgICAgICAgICAgICAgY2xhc3M6IF92bS5ub1ZhbGlkYXRlID8gXCJlZGl0b3JJbnB1dFwiIDogXCJlZGl0b3JJbnB1dEZhbHNlXCIsXG4gICAgICAgICAgICAgIGF0dHJzOiB7IHBsYWNlaG9sZGVyOiBcIlwiLCBjbGVhcmFibGU6IFwiXCIgfSxcbiAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICBcIm9uLWJsdXJcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmxpc3RlbmVyTWF4Rm9udChfdm0udmFsdWUpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0udmFsdWUsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgX3ZtLnZhbHVlID0gJCR2XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbHVlXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICBdLFxuICAgICAgICAgIDFcbiAgICAgICAgKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX3ZtLmVkaXRvci5tYXhJbnB1dEZvbnRcbiAgICAgICAgICA/IF9jKFwicFwiLCB7IHN0YXRpY0NsYXNzOiBcImVkaXRvckNvbnRlbnRTdHlsZVwiIH0sIFtcbiAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAg5pyA5aSaXCIgK1xuICAgICAgICAgICAgICAgICAgX3ZtLl9zKF92bS5lZGl0b3IubWF4SW5wdXRGb250KSArXG4gICAgICAgICAgICAgICAgICBcIuihjFxcbiAgICAgICAgXCJcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgXSlcbiAgICAgICAgICA6IF92bS5fZSgpXG4gICAgICBdKVxuICAgIF1cbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtYjkzYzlmODhcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtYjkzYzlmODhcIixcImhhc1Njb3BlZFwiOnRydWUsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LW51bWJlci9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQ4M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///483\n");
3258
3259/***/ }),
3260/* 484 */
3261/***/ (function(module, __webpack_exports__, __webpack_require__) {
3262
3263"use strict";
3264eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(139);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_19660f55_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(488);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(485)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-19660f55\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_19660f55_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-radioHeightLevel/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-19660f55\", Component.options)\n } else {\n hotAPI.reload(\"data-v-19660f55\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJhZGlvSGVpZ2h0TGV2ZWwvaW5kZXgudnVlPzgyZDciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUErVTtBQUN6VjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDNlM7QUFDN1M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGlRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNDg0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMTk2NjBmNTVcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMTk2NjBmNTVcXFwiLFxcXCJoYXNTY29wZWRcXFwiOnRydWUsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gXCJkYXRhLXYtMTk2NjBmNTVcIlxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yYWRpb0hlaWdodExldmVsL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi0xOTY2MGY1NVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTE5NjYwZjU1XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yYWRpb0hlaWdodExldmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDg0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///484\n");
3265
3266/***/ }),
3267/* 485 */
3268/***/ (function(module, exports, __webpack_require__) {
3269
3270eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(486);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"101be5d5\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-19660f55\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-19660f55\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJhZGlvSGVpZ2h0TGV2ZWwvaW5kZXgudnVlPzgyMzciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBcVc7QUFDM1gsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLGtGQUFrRjtBQUMvUSxzTUFBc00sa0ZBQWtGO0FBQ3hSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNDg1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTE5NjYwZjU1XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjEwMWJlNWQ1XCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xOTY2MGY1NVxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTE5NjYwZjU1XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtMTk2NjBmNTVcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJhZGlvSGVpZ2h0TGV2ZWwvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0ODVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///485\n");
3271
3272/***/ }),
3273/* 486 */
3274/***/ (function(module, exports, __webpack_require__) {
3275
3276eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJhZGlvSGVpZ2h0TGV2ZWwvaW5kZXgudnVlPzJmOWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLDZLQUE2SyxxRkFBcUY7O0FBRXpSIiwiZmlsZSI6IjQ4Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0xOTY2MGY1NVwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtcmFkaW9IZWlnaHRMZXZlbC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQ4NlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///486\n");
3277
3278/***/ }),
3279/* 487 */
3280/***/ (function(module, exports, __webpack_require__) {
3281
3282"use strict";
3283eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJhZGlvSGVpZ2h0TGV2ZWwvc3R5bGUuanM/M2YzNyJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBQ08sSUFBTUEsZ0NBQVlDLDhCQUFPQyxHQUFuQixpQkFBTiIsImZpbGUiOiI0ODcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIHBhZGRpbmc6IDVweCAzMHB4IDVweCAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yYWRpb0hlaWdodExldmVsL3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///487\n");
3284
3285/***/ }),
3286/* 488 */
3287/***/ (function(module, __webpack_exports__, __webpack_require__) {
3288
3289"use strict";
3290eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticStyle: { width: \"100%\" } }, [\n _c(\n \"div\",\n { staticClass: \"item-style\" },\n [\n _c(\"i-switch\", {\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.value,\n expression: \"value\"\n }\n ]\n },\n [\n _c(\"div\", { staticClass: \"title-style\" }, [_vm._v(\"校验\")]),\n _vm._v(\" \"),\n _c(\"validateArr\")\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-19660f55\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJhZGlvSGVpZ2h0TGV2ZWwvaW5kZXgudnVlP2ZjNWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsZUFBZSxnQkFBZ0IsRUFBRTtBQUNyRDtBQUNBO0FBQ0EsT0FBTyw0QkFBNEI7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsbUJBQW1CLDZCQUE2QjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjQ4OC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXCJkaXZcIiwgeyBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCIxMDAlXCIgfSB9LCBbXG4gICAgX2MoXG4gICAgICBcImRpdlwiLFxuICAgICAgeyBzdGF0aWNDbGFzczogXCJpdGVtLXN0eWxlXCIgfSxcbiAgICAgIFtcbiAgICAgICAgX2MoXCJpLXN3aXRjaFwiLCB7XG4gICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgIHZhbHVlOiBfdm0udmFsdWUsXG4gICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgIF92bS52YWx1ZSA9ICQkdlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGV4cHJlc3Npb246IFwidmFsdWVcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIF0sXG4gICAgICAxXG4gICAgKSxcbiAgICBfdm0uX3YoXCIgXCIpLFxuICAgIF9jKFxuICAgICAgXCJkaXZcIixcbiAgICAgIHtcbiAgICAgICAgZGlyZWN0aXZlczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwic2hvd1wiLFxuICAgICAgICAgICAgcmF3TmFtZTogXCJ2LXNob3dcIixcbiAgICAgICAgICAgIHZhbHVlOiBfdm0udmFsdWUsXG4gICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbHVlXCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICBbXG4gICAgICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwidGl0bGUtc3R5bGVcIiB9LCBbX3ZtLl92KFwi5qCh6aqMXCIpXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwidmFsaWRhdGVBcnJcIilcbiAgICAgIF0sXG4gICAgICAxXG4gICAgKVxuICBdKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtMTk2NjBmNTVcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtMTk2NjBmNTVcIixcImhhc1Njb3BlZFwiOnRydWUsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJhZGlvSGVpZ2h0TGV2ZWwvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0ODhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///488\n");
3291
3292/***/ }),
3293/* 489 */
3294/***/ (function(module, __webpack_exports__, __webpack_require__) {
3295
3296"use strict";
3297eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(140);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_5d1665cc_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(493);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(490)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-5d1665cc\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_5d1665cc_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-radioSelect/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-5d1665cc\", Component.options)\n } else {\n hotAPI.reload(\"data-v-5d1665cc\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJhZGlvU2VsZWN0L2luZGV4LnZ1ZT83NzIxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBMlY7QUFDclc7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUFxRjtBQUN0SDtBQUNxSTtBQUNhO0FBQ2xKO0FBQzZTO0FBQzdTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxpUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjQ4OS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTVkMTY2NWNjXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSFsZXNzLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTVkMTY2NWNjXFxcIixcXFwiaGFzU2NvcGVkXFxcIjp0cnVlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IFwiZGF0YS12LTVkMTY2NWNjXCJcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtcmFkaW9TZWxlY3QvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTVkMTY2NWNjXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtNWQxNjY1Y2NcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJhZGlvU2VsZWN0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDg5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///489\n");
3298
3299/***/ }),
3300/* 490 */
3301/***/ (function(module, exports, __webpack_require__) {
3302
3303eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(491);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"7e96e1d7\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5d1665cc\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5d1665cc\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJhZGlvU2VsZWN0L2luZGV4LnZ1ZT9jNzMwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQTRhO0FBQ2xjLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBOEYsZ0NBQWdDO0FBQ25KO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLDZMQUE2TCxrRkFBa0Y7QUFDL1Esc01BQXNNLGtGQUFrRjtBQUN4UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjQ5MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi01ZDE2NjVjY1xcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjdlOTZlMWQ3XCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi01ZDE2NjVjY1xcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNWQxNjY1Y2NcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTVkMTY2NWNjXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtcmFkaW9TZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0OTBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///490\n");
3304
3305/***/ }),
3306/* 491 */
3307/***/ (function(module, exports, __webpack_require__) {
3308
3309eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.tool-type-radioArr[data-v-5d1665cc] {\\n margin: 10px 8px 0;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div[data-v-5d1665cc] {\\n margin: 5px 8px 0;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorTextStyle[data-v-5d1665cc] {\\n font-weight: 700;\\n font-size: 14px;\\n color: #191f25;\\n margin-bottom: 4px;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorTextStyle .radioArr-editorMaxFontStyle[data-v-5d1665cc] {\\n color: rgba(25, 31, 37, 0.4);\\n font-size: 12px;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorTextStyle .radioArr-editorMaxFontStyleFalse[data-v-5d1665cc] {\\n color: red;\\n font-size: 12px;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorInput[data-v-5d1665cc] {\\n margin: 5px 0;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorInputFalse[data-v-5d1665cc] {\\n margin: 5px 0;\\n border: 1px solid red;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorContentStyle[data-v-5d1665cc] {\\n font-size: 12px;\\n margin: 8px 0;\\n}\\n.tool-type-radioArr .ivu-input-wrapper[data-v-5d1665cc] {\\n width: 80%;\\n border-radius: 4px;\\n}\\n.tool-type-radioArr .ivu-input[data-v-5d1665cc] {\\n border-radius: 4px;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-radioSelect/index.vue\"],\"names\":[],\"mappings\":\";AAAA;EACE,mBAAmB;CACpB;AACD;EACE,kBAAkB;CACnB;AACD;EACE,iBAAiB;EACjB,gBAAgB;EAChB,eAAe;EACf,mBAAmB;CACpB;AACD;EACE,6BAA6B;EAC7B,gBAAgB;CACjB;AACD;EACE,WAAW;EACX,gBAAgB;CACjB;AACD;EACE,cAAc;CACf;AACD;EACE,cAAc;EACd,sBAAsB;CACvB;AACD;EACE,gBAAgB;EAChB,cAAc;CACf;AACD;EACE,WAAW;EACX,mBAAmB;CACpB;AACD;EACE,mBAAmB;CACpB\",\"file\":\"index.vue\",\"sourcesContent\":[\".tool-type-radioArr {\\n margin: 10px 8px 0;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div {\\n margin: 5px 8px 0;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorTextStyle {\\n font-weight: 700;\\n font-size: 14px;\\n color: #191f25;\\n margin-bottom: 4px;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorTextStyle .radioArr-editorMaxFontStyle {\\n color: rgba(25, 31, 37, 0.4);\\n font-size: 12px;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorTextStyle .radioArr-editorMaxFontStyleFalse {\\n color: red;\\n font-size: 12px;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorInput {\\n margin: 5px 0;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorInputFalse {\\n margin: 5px 0;\\n border: 1px solid red;\\n}\\n.tool-type-radioArr .radioArr-tool-type-div .radioArr-editorContentStyle {\\n font-size: 12px;\\n margin: 8px 0;\\n}\\n.tool-type-radioArr .ivu-input-wrapper {\\n width: 80%;\\n border-radius: 4px;\\n}\\n.tool-type-radioArr .ivu-input {\\n border-radius: 4px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJhZGlvU2VsZWN0L2luZGV4LnZ1ZT85MzVkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQTRFO0FBQy9HOzs7QUFHQTtBQUNBLGNBQWMsUUFBUywyQ0FBMkMsdUJBQXVCLEdBQUcsZ0VBQWdFLHNCQUFzQixHQUFHLDBGQUEwRixxQkFBcUIsb0JBQW9CLG1CQUFtQix1QkFBdUIsR0FBRyx1SEFBdUgsaUNBQWlDLG9CQUFvQixHQUFHLDRIQUE0SCxlQUFlLG9CQUFvQixHQUFHLHNGQUFzRixrQkFBa0IsR0FBRywyRkFBMkYsa0JBQWtCLDBCQUEwQixHQUFHLDZGQUE2RixvQkFBb0Isa0JBQWtCLEdBQUcsMkRBQTJELGVBQWUsdUJBQXVCLEdBQUcsbURBQW1ELHVCQUF1QixHQUFHLFVBQVUseUpBQXlKLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxhQUFhLFdBQVcsWUFBWSxNQUFNLEtBQUssWUFBWSxhQUFhLE1BQU0sS0FBSyxVQUFVLFlBQVksTUFBTSxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsWUFBWSxNQUFNLEtBQUssWUFBWSxXQUFXLEtBQUssS0FBSyxVQUFVLFlBQVksTUFBTSxLQUFLLFlBQVksa0VBQWtFLHVCQUF1QixHQUFHLCtDQUErQyxzQkFBc0IsR0FBRyx5RUFBeUUscUJBQXFCLG9CQUFvQixtQkFBbUIsdUJBQXVCLEdBQUcsc0dBQXNHLGlDQUFpQyxvQkFBb0IsR0FBRywyR0FBMkcsZUFBZSxvQkFBb0IsR0FBRyxxRUFBcUUsa0JBQWtCLEdBQUcsMEVBQTBFLGtCQUFrQiwwQkFBMEIsR0FBRyw0RUFBNEUsb0JBQW9CLGtCQUFrQixHQUFHLDBDQUEwQyxlQUFlLHVCQUF1QixHQUFHLGtDQUFrQyx1QkFBdUIsR0FBRyxxQkFBcUI7O0FBRXp4RiIsImZpbGUiOiI0OTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG4udG9vbC10eXBlLXJhZGlvQXJyW2RhdGEtdi01ZDE2NjVjY10ge1xcbiAgbWFyZ2luOiAxMHB4IDhweCAwO1xcbn1cXG4udG9vbC10eXBlLXJhZGlvQXJyIC5yYWRpb0Fyci10b29sLXR5cGUtZGl2W2RhdGEtdi01ZDE2NjVjY10ge1xcbiAgbWFyZ2luOiA1cHggOHB4IDA7XFxufVxcbi50b29sLXR5cGUtcmFkaW9BcnIgLnJhZGlvQXJyLXRvb2wtdHlwZS1kaXYgLnJhZGlvQXJyLWVkaXRvclRleHRTdHlsZVtkYXRhLXYtNWQxNjY1Y2NdIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBmb250LXNpemU6IDE0cHg7XFxuICBjb2xvcjogIzE5MWYyNTtcXG4gIG1hcmdpbi1ib3R0b206IDRweDtcXG59XFxuLnRvb2wtdHlwZS1yYWRpb0FyciAucmFkaW9BcnItdG9vbC10eXBlLWRpdiAucmFkaW9BcnItZWRpdG9yVGV4dFN0eWxlIC5yYWRpb0Fyci1lZGl0b3JNYXhGb250U3R5bGVbZGF0YS12LTVkMTY2NWNjXSB7XFxuICBjb2xvcjogcmdiYSgyNSwgMzEsIDM3LCAwLjQpO1xcbiAgZm9udC1zaXplOiAxMnB4O1xcbn1cXG4udG9vbC10eXBlLXJhZGlvQXJyIC5yYWRpb0Fyci10b29sLXR5cGUtZGl2IC5yYWRpb0Fyci1lZGl0b3JUZXh0U3R5bGUgLnJhZGlvQXJyLWVkaXRvck1heEZvbnRTdHlsZUZhbHNlW2RhdGEtdi01ZDE2NjVjY10ge1xcbiAgY29sb3I6IHJlZDtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG59XFxuLnRvb2wtdHlwZS1yYWRpb0FyciAucmFkaW9BcnItdG9vbC10eXBlLWRpdiAucmFkaW9BcnItZWRpdG9ySW5wdXRbZGF0YS12LTVkMTY2NWNjXSB7XFxuICBtYXJnaW46IDVweCAwO1xcbn1cXG4udG9vbC10eXBlLXJhZGlvQXJyIC5yYWRpb0Fyci10b29sLXR5cGUtZGl2IC5yYWRpb0Fyci1lZGl0b3JJbnB1dEZhbHNlW2RhdGEtdi01ZDE2NjVjY10ge1xcbiAgbWFyZ2luOiA1cHggMDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcXG59XFxuLnRvb2wtdHlwZS1yYWRpb0FyciAucmFkaW9BcnItdG9vbC10eXBlLWRpdiAucmFkaW9BcnItZWRpdG9yQ29udGVudFN0eWxlW2RhdGEtdi01ZDE2NjVjY10ge1xcbiAgZm9udC1zaXplOiAxMnB4O1xcbiAgbWFyZ2luOiA4cHggMDtcXG59XFxuLnRvb2wtdHlwZS1yYWRpb0FyciAuaXZ1LWlucHV0LXdyYXBwZXJbZGF0YS12LTVkMTY2NWNjXSB7XFxuICB3aWR0aDogODAlO1xcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xcbn1cXG4udG9vbC10eXBlLXJhZGlvQXJyIC5pdnUtaW5wdXRbZGF0YS12LTVkMTY2NWNjXSB7XFxuICBib3JkZXItcmFkaXVzOiA0cHg7XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJFOi9wcm9qZWN0L3BhZ2UtaWRlLXhpYW4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yYWRpb1NlbGVjdC9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQUFBO0VBQ0UsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0UsNkJBQTZCO0VBQzdCLGdCQUFnQjtDQUNqQjtBQUNEO0VBQ0UsV0FBVztFQUNYLGdCQUFnQjtDQUNqQjtBQUNEO0VBQ0UsY0FBYztDQUNmO0FBQ0Q7RUFDRSxjQUFjO0VBQ2Qsc0JBQXNCO0NBQ3ZCO0FBQ0Q7RUFDRSxnQkFBZ0I7RUFDaEIsY0FBYztDQUNmO0FBQ0Q7RUFDRSxXQUFXO0VBQ1gsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxtQkFBbUI7Q0FDcEJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIudG9vbC10eXBlLXJhZGlvQXJyIHtcXG4gIG1hcmdpbjogMTBweCA4cHggMDtcXG59XFxuLnRvb2wtdHlwZS1yYWRpb0FyciAucmFkaW9BcnItdG9vbC10eXBlLWRpdiB7XFxuICBtYXJnaW46IDVweCA4cHggMDtcXG59XFxuLnRvb2wtdHlwZS1yYWRpb0FyciAucmFkaW9BcnItdG9vbC10eXBlLWRpdiAucmFkaW9BcnItZWRpdG9yVGV4dFN0eWxlIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBmb250LXNpemU6IDE0cHg7XFxuICBjb2xvcjogIzE5MWYyNTtcXG4gIG1hcmdpbi1ib3R0b206IDRweDtcXG59XFxuLnRvb2wtdHlwZS1yYWRpb0FyciAucmFkaW9BcnItdG9vbC10eXBlLWRpdiAucmFkaW9BcnItZWRpdG9yVGV4dFN0eWxlIC5yYWRpb0Fyci1lZGl0b3JNYXhGb250U3R5bGUge1xcbiAgY29sb3I6IHJnYmEoMjUsIDMxLCAzNywgMC40KTtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG59XFxuLnRvb2wtdHlwZS1yYWRpb0FyciAucmFkaW9BcnItdG9vbC10eXBlLWRpdiAucmFkaW9BcnItZWRpdG9yVGV4dFN0eWxlIC5yYWRpb0Fyci1lZGl0b3JNYXhGb250U3R5bGVGYWxzZSB7XFxuICBjb2xvcjogcmVkO1xcbiAgZm9udC1zaXplOiAxMnB4O1xcbn1cXG4udG9vbC10eXBlLXJhZGlvQXJyIC5yYWRpb0Fyci10b29sLXR5cGUtZGl2IC5yYWRpb0Fyci1lZGl0b3JJbnB1dCB7XFxuICBtYXJnaW46IDVweCAwO1xcbn1cXG4udG9vbC10eXBlLXJhZGlvQXJyIC5yYWRpb0Fyci10b29sLXR5cGUtZGl2IC5yYWRpb0Fyci1lZGl0b3JJbnB1dEZhbHNlIHtcXG4gIG1hcmdpbjogNXB4IDA7XFxuICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XFxufVxcbi50b29sLXR5cGUtcmFkaW9BcnIgLnJhZGlvQXJyLXRvb2wtdHlwZS1kaXYgLnJhZGlvQXJyLWVkaXRvckNvbnRlbnRTdHlsZSB7XFxuICBmb250LXNpemU6IDEycHg7XFxuICBtYXJnaW46IDhweCAwO1xcbn1cXG4udG9vbC10eXBlLXJhZGlvQXJyIC5pdnUtaW5wdXQtd3JhcHBlciB7XFxuICB3aWR0aDogODAlO1xcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xcbn1cXG4udG9vbC10eXBlLXJhZGlvQXJyIC5pdnUtaW5wdXQge1xcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNWQxNjY1Y2NcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yYWRpb1NlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQ5MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///491\n");
3310
3311/***/ }),
3312/* 492 */
3313/***/ (function(module, exports, __webpack_require__) {
3314
3315"use strict";
3316eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJhZGlvU2VsZWN0L3N0eWxlLmpzPzJkZjYiXSwibmFtZXMiOlsiQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUNPLElBQU1BLGdDQUFZQyw4QkFBT0MsR0FBbkIsaUJBQU4iLCJmaWxlIjoiNDkyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICd2dWUtc3R5bGVkLWNvbXBvbmVudHMnO1xyXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICBwYWRkaW5nOiA1cHggMTJweCA1cHggMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBmbGV4LWdyb3c6IDE7XHJcbmA7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtcmFkaW9TZWxlY3Qvc3R5bGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///492\n");
3317
3318/***/ }),
3319/* 493 */
3320/***/ (function(module, __webpack_exports__, __webpack_require__) {
3321
3322"use strict";
3323eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"tool-type-radioArr\", staticStyle: { width: \"100%\" } },\n [\n _c(\"div\", { staticClass: \"radioArr-tool-type-div\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\n \"ul\",\n {},\n [\n _vm.isLevel == true\n ? [_c(\"label\", [_vm._v(\"数据通过后台接口获取\")])]\n : _vm._l(_vm.getArrList, function(item, index) {\n return _c(\n \"li\",\n {},\n [\n _c(\"Input\", {\n staticClass: \"radioArr-editorInput\",\n attrs: { maxlength: \"50\", clearable: \"\" },\n on: {\n \"on-change\": function($event) {\n return _vm.setRadioValue(item)\n }\n },\n model: {\n value: item.label,\n callback: function($$v) {\n _vm.$set(item, \"label\", $$v)\n },\n expression: \"item.label\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"iconfont icon-reca-icon_roundreduce\",\n on: {\n click: function($event) {\n return _vm.delArr(index)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"iconfont icon-reca-icon_roundadd \",\n on: {\n click: function($event) {\n return _vm.addArr()\n }\n }\n })\n ],\n 1\n )\n })\n ],\n 2\n )\n ])\n ]\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", { staticClass: \"radioArr-editorTextStyle\" }, [\n _vm._v(\"\\n 选项\\n \"),\n _c(\"span\", { staticClass: \"radioArr-editorMaxFontStyle\" }, [\n _vm._v(\"最多200项,每项最多50字\")\n ])\n ])\n }\n]\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-5d1665cc\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJhZGlvU2VsZWN0L2luZGV4LnZ1ZT9jNDlkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssa0RBQWtELGdCQUFnQixFQUFFO0FBQ3pFO0FBQ0EsaUJBQWlCLHdDQUF3QztBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLGlDQUFpQztBQUNqRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDBDQUEwQztBQUM5RDtBQUNBLGtCQUFrQiw2Q0FBNkM7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI0OTMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAgeyBzdGF0aWNDbGFzczogXCJ0b29sLXR5cGUtcmFkaW9BcnJcIiwgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiMTAwJVwiIH0gfSxcbiAgICBbXG4gICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcInJhZGlvQXJyLXRvb2wtdHlwZS1kaXZcIiB9LCBbXG4gICAgICAgIF92bS5fbSgwKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXG4gICAgICAgICAgXCJ1bFwiLFxuICAgICAgICAgIHt9LFxuICAgICAgICAgIFtcbiAgICAgICAgICAgIF92bS5pc0xldmVsID09IHRydWVcbiAgICAgICAgICAgICAgPyBbX2MoXCJsYWJlbFwiLCBbX3ZtLl92KFwi5pWw5o2u6YCa6L+H5ZCO5Y+w5o6l5Y+j6I635Y+WXCIpXSldXG4gICAgICAgICAgICAgIDogX3ZtLl9sKF92bS5nZXRBcnJMaXN0LCBmdW5jdGlvbihpdGVtLCBpbmRleCkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIF9jKFxuICAgICAgICAgICAgICAgICAgICBcImxpXCIsXG4gICAgICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXCJJbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJyYWRpb0Fyci1lZGl0b3JJbnB1dFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgbWF4bGVuZ3RoOiBcIjUwXCIsIGNsZWFyYWJsZTogXCJcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJvbi1jaGFuZ2VcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5zZXRSYWRpb1ZhbHVlKGl0ZW0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwibGFiZWxcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXCJzcGFuXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImljb25mb250IGljb24tcmVjYS1pY29uX3JvdW5kcmVkdWNlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5kZWxBcnIoaW5kZXgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgIF9jKFwic3BhblwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJpY29uZm9udCBpY29uLXJlY2EtaWNvbl9yb3VuZGFkZCBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWNrOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmFkZEFycigpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICBdLFxuICAgICAgICAgIDJcbiAgICAgICAgKVxuICAgICAgXSlcbiAgICBdXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXG4gIGZ1bmN0aW9uKCkge1xuICAgIHZhciBfdm0gPSB0aGlzXG4gICAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gICAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gICAgcmV0dXJuIF9jKFwicFwiLCB7IHN0YXRpY0NsYXNzOiBcInJhZGlvQXJyLWVkaXRvclRleHRTdHlsZVwiIH0sIFtcbiAgICAgIF92bS5fdihcIlxcbiAgICAgICAgICAgIOmAiemhuVxcbiAgICAgICAgICAgIFwiKSxcbiAgICAgIF9jKFwic3BhblwiLCB7IHN0YXRpY0NsYXNzOiBcInJhZGlvQXJyLWVkaXRvck1heEZvbnRTdHlsZVwiIH0sIFtcbiAgICAgICAgX3ZtLl92KFwi5pyA5aSaMjAw6aG577yM5q+P6aG55pyA5aSaNTDlrZdcIilcbiAgICAgIF0pXG4gICAgXSlcbiAgfVxuXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTVkMTY2NWNjXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTVkMTY2NWNjXCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yYWRpb1NlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQ5M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///493\n");
3324
3325/***/ }),
3326/* 494 */
3327/***/ (function(module, __webpack_exports__, __webpack_require__) {
3328
3329"use strict";
3330eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(141);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_27cfb486_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(498);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(495)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_27cfb486_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-reqSelect/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-27cfb486\", Component.options)\n } else {\n hotAPI.reload(\"data-v-27cfb486\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJlcVNlbGVjdC9pbmRleC52dWU/NmQwYiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQWdWO0FBQzFWO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDcUk7QUFDYTtBQUNsSjtBQUM4UztBQUM5UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsa1FBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI0OTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0yN2NmYjQ4NlxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMjdjZmI0ODZcXFwiLFxcXCJoYXNTY29wZWRcXFwiOmZhbHNlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtcmVxU2VsZWN0L2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi0yN2NmYjQ4NlwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTI3Y2ZiNDg2XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yZXFTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0OTRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///494\n");
3331
3332/***/ }),
3333/* 495 */
3334/***/ (function(module, exports, __webpack_require__) {
3335
3336eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(496);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"58883380\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-27cfb486\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-27cfb486\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJlcVNlbGVjdC9pbmRleC52dWU/ZDA3ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUFzVztBQUM1WCw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsbUZBQW1GO0FBQ2hSLHNNQUFzTSxtRkFBbUY7QUFDelI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI0OTUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMjdjZmI0ODZcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjU4ODgzMzgwXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0yN2NmYjQ4NlxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0yN2NmYjQ4NlxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0yN2NmYjQ4NlwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJlcVNlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDQ5NVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///495\n");
3337
3338/***/ }),
3339/* 496 */
3340/***/ (function(module, exports, __webpack_require__) {
3341
3342eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJlcVNlbGVjdC9pbmRleC52dWU/YzFjMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsaVBBQWlQLHFGQUFxRjs7QUFFN1YiLCJmaWxlIjoiNDk2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTI3Y2ZiNDg2XCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtcmVxU2VsZWN0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNDk2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///496\n");
3343
3344/***/ }),
3345/* 497 */
3346/***/ (function(module, exports, __webpack_require__) {
3347
3348"use strict";
3349eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJlcVNlbGVjdC9zdHlsZS5qcz8wOWYxIl0sIm5hbWVzIjpbIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFDTyxJQUFNQSxnQ0FBWUMsOEJBQU9DLEdBQW5CLGlCQUFOIiwiZmlsZSI6IjQ5Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAndnVlLXN0eWxlZC1jb21wb25lbnRzJztcclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgcGFkZGluZzogNXB4IDEycHggNXB4IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgZmxleC1ncm93OiAxO1xyXG5gO1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJlcVNlbGVjdC9zdHlsZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///497\n");
3350
3351/***/ }),
3352/* 498 */
3353/***/ (function(module, __webpack_exports__, __webpack_require__) {
3354
3355"use strict";
3356eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\"span\", [_vm._v(_vm._s(_vm.value))]),\n _vm._v(\" \"),\n _c(\"Input\", {\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-27cfb486\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJlcVNlbGVjdC9pbmRleC52dWU/M2QxMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLGVBQWUsZ0JBQWdCLEVBQUU7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNDk4LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHsgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiMTAwJVwiIH0gfSxcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJDb250YWluZXJcIixcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFwic3BhblwiLCBbX3ZtLl92KF92bS5fcyhfdm0udmFsdWUpKV0pLFxuICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgX2MoXCJJbnB1dFwiLCB7XG4gICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICB2YWx1ZTogX3ZtLnZhbHVlLFxuICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgX3ZtLnZhbHVlID0gJCR2XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGV4cHJlc3Npb246IFwidmFsdWVcIlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgIClcbiAgICBdLFxuICAgIDFcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtMjdjZmI0ODZcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtMjdjZmI0ODZcIixcImhhc1Njb3BlZFwiOmZhbHNlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yZXFTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0OThcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///498\n");
3357
3358/***/ }),
3359/* 499 */
3360/***/ (function(module, __webpack_exports__, __webpack_require__) {
3361
3362"use strict";
3363eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(142);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_4bd6181f_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(503);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(500)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_4bd6181f_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-reqTableSelect/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-4bd6181f\", Component.options)\n } else {\n hotAPI.reload(\"data-v-4bd6181f\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJlcVRhYmxlU2VsZWN0L2luZGV4LnZ1ZT9lOGQ4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBZ1Y7QUFDMVY7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUFxRjtBQUN0SDtBQUNxSTtBQUNhO0FBQ2xKO0FBQzhTO0FBQzlTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxrUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjQ5OS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTRiZDYxODFmXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi00YmQ2MTgxZlxcXCIsXFxcImhhc1Njb3BlZFxcXCI6ZmFsc2UsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yZXFUYWJsZVNlbGVjdC9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtNGJkNjE4MWZcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi00YmQ2MTgxZlwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtcmVxVGFibGVTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA0OTlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///499\n");
3364
3365/***/ }),
3366/* 500 */
3367/***/ (function(module, exports, __webpack_require__) {
3368
3369eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(501);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"0e5a7fbe\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4bd6181f\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4bd6181f\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJlcVRhYmxlU2VsZWN0L2luZGV4LnZ1ZT81YmZkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQXNXO0FBQzVYLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBOEYsZ0NBQWdDO0FBQ25KO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLDZMQUE2TCxtRkFBbUY7QUFDaFIsc01BQXNNLG1GQUFtRjtBQUN6UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjUwMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi00YmQ2MTgxZlxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiMGU1YTdmYmVcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTRiZDYxODFmXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTRiZDYxODFmXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTRiZDYxODFmXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtcmVxVGFibGVTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1MDBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///500\n");
3370
3371/***/ }),
3372/* 501 */
3373/***/ (function(module, exports, __webpack_require__) {
3374
3375eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJlcVRhYmxlU2VsZWN0L2luZGV4LnZ1ZT81NjkxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQTRFO0FBQy9HOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyxpTUFBaU0scUZBQXFGOztBQUU3UyIsImZpbGUiOiI1MDEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W10sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNGJkNjE4MWZcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yZXFUYWJsZVNlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDUwMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///501\n");
3376
3377/***/ }),
3378/* 502 */
3379/***/ (function(module, exports, __webpack_require__) {
3380
3381"use strict";
3382eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJlcVRhYmxlU2VsZWN0L3N0eWxlLmpzPzNiYTEiXSwibmFtZXMiOlsiQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUNPLElBQU1BLGdDQUFZQyw4QkFBT0MsR0FBbkIsaUJBQU4iLCJmaWxlIjoiNTAyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICd2dWUtc3R5bGVkLWNvbXBvbmVudHMnO1xyXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICBwYWRkaW5nOiA1cHggMTJweCA1cHggMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBmbGV4LWdyb3c6IDE7XHJcbmA7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtcmVxVGFibGVTZWxlY3Qvc3R5bGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///502\n");
3383
3384/***/ }),
3385/* 503 */
3386/***/ (function(module, __webpack_exports__, __webpack_require__) {
3387
3388"use strict";
3389eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\" },\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n { key: item.key, attrs: { value: item.key || \"\" } },\n [_vm._v(_vm._s(item.label))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-4bd6181f\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXJlcVRhYmxlU2VsZWN0L2luZGV4LnZ1ZT8xNmZkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssZUFBZSxnQkFBZ0IsRUFBRTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixpQkFBaUI7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsd0JBQXdCLHdCQUF3QixFQUFFO0FBQ25FO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNTAzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHsgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiMTAwJVwiIH0gfSxcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJDb250YWluZXJcIixcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJTZWxlY3RcIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiOTYuNSVcIiB9LFxuICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0udmFsdWUsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgX3ZtLnZhbHVlID0gJCR2XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbHVlXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF92bS5fbChfdm0ub3B0aW9uc0RhdGEsIGZ1bmN0aW9uKGl0ZW0pIHtcbiAgICAgICAgICAgICAgcmV0dXJuIF9jKFxuICAgICAgICAgICAgICAgIFwiT3B0aW9uXCIsXG4gICAgICAgICAgICAgICAgeyBrZXk6IGl0ZW0ua2V5LCBhdHRyczogeyB2YWx1ZTogaXRlbS5rZXkgfHwgXCJcIiB9IH0sXG4gICAgICAgICAgICAgICAgW192bS5fdihfdm0uX3MoaXRlbS5sYWJlbCkpXVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgIClcbiAgICBdLFxuICAgIDFcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtNGJkNjE4MWZcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtNGJkNjE4MWZcIixcImhhc1Njb3BlZFwiOmZhbHNlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1yZXFUYWJsZVNlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDUwM1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///503\n");
3390
3391/***/ }),
3392/* 504 */
3393/***/ (function(module, __webpack_exports__, __webpack_require__) {
3394
3395"use strict";
3396eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(143);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_7195c62f_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(508);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(505)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_7195c62f_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-select/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-7195c62f\", Component.options)\n } else {\n hotAPI.reload(\"data-v-7195c62f\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXNlbGVjdC9pbmRleC52dWU/Nzc0MiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQWdWO0FBQzFWO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDcUk7QUFDYTtBQUNsSjtBQUM4UztBQUM5UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsa1FBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI1MDQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi03MTk1YzYyZlxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNzE5NWM2MmZcXFwiLFxcXCJoYXNTY29wZWRcXFwiOmZhbHNlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtc2VsZWN0L2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi03MTk1YzYyZlwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTcxOTVjNjJmXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1zZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1MDRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///504\n");
3397
3398/***/ }),
3399/* 505 */
3400/***/ (function(module, exports, __webpack_require__) {
3401
3402eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(506);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"25f752e6\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7195c62f\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7195c62f\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXNlbGVjdC9pbmRleC52dWU/ZDczZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUFzVztBQUM1WCw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsbUZBQW1GO0FBQ2hSLHNNQUFzTSxtRkFBbUY7QUFDelI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI1MDUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNzE5NWM2MmZcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjI1Zjc1MmU2XCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi03MTk1YzYyZlxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi03MTk1YzYyZlxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi03MTk1YzYyZlwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXNlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDUwNVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///505\n");
3403
3404/***/ }),
3405/* 506 */
3406/***/ (function(module, exports, __webpack_require__) {
3407
3408eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXNlbGVjdC9pbmRleC52dWU/M2MxNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsMk1BQTJNLHFGQUFxRjs7QUFFdlQiLCJmaWxlIjoiNTA2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTcxOTVjNjJmXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtc2VsZWN0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTA2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///506\n");
3409
3410/***/ }),
3411/* 507 */
3412/***/ (function(module, exports, __webpack_require__) {
3413
3414"use strict";
3415eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXNlbGVjdC9zdHlsZS5qcz8zY2E0Il0sIm5hbWVzIjpbIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFDTyxJQUFNQSxnQ0FBWUMsOEJBQU9DLEdBQW5CLGlCQUFOIiwiZmlsZSI6IjUwNy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAndnVlLXN0eWxlZC1jb21wb25lbnRzJztcclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgcGFkZGluZzogNXB4IDEycHggNXB4IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgZmxleC1ncm93OiAxO1xyXG5gO1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXNlbGVjdC9zdHlsZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///507\n");
3416
3417/***/ }),
3418/* 508 */
3419/***/ (function(module, __webpack_exports__, __webpack_require__) {
3420
3421"use strict";
3422eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\" },\n model: {\n value: _vm.val,\n callback: function($$v) {\n _vm.val = $$v\n },\n expression: \"val\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n {\n key: item.selectName,\n attrs: { value: item.selectName || \"\" }\n },\n [_vm._v(_vm._s(item.selectName))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-7195c62f\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXNlbGVjdC9pbmRleC52dWU/YjI4NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLGVBQWUsZ0JBQWdCLEVBQUU7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsaUJBQWlCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQixpQkFBaUI7QUFDakI7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI1MDguanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAgeyBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCIxMDAlXCIgfSB9LFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcIkNvbnRhaW5lclwiLFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcIlNlbGVjdFwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCI5Ni41JVwiIH0sXG4gICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IF92bS52YWwsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgX3ZtLnZhbCA9ICQkdlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJ2YWxcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX3ZtLl9sKF92bS5vcHRpb25zRGF0YSwgZnVuY3Rpb24oaXRlbSkge1xuICAgICAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICAgICAgXCJPcHRpb25cIixcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBrZXk6IGl0ZW0uc2VsZWN0TmFtZSxcbiAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IHZhbHVlOiBpdGVtLnNlbGVjdE5hbWUgfHwgXCJcIiB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBbX3ZtLl92KF92bS5fcyhpdGVtLnNlbGVjdE5hbWUpKV1cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTcxOTVjNjJmXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTcxOTVjNjJmXCIsXCJoYXNTY29wZWRcIjpmYWxzZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtc2VsZWN0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTA4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///508\n");
3423
3424/***/ }),
3425/* 509 */
3426/***/ (function(module, __webpack_exports__, __webpack_require__) {
3427
3428"use strict";
3429eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(144);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_4093bdc4_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(513);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(510)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-4093bdc4\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_4093bdc4_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-selectHeightLevel/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-4093bdc4\", Component.options)\n } else {\n hotAPI.reload(\"data-v-4093bdc4\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXNlbGVjdEhlaWdodExldmVsL2luZGV4LnZ1ZT8yZThlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBK1U7QUFDelY7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUFxRjtBQUN0SDtBQUNxSTtBQUNhO0FBQ2xKO0FBQzZTO0FBQzdTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxpUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjUwOS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTQwOTNiZGM0XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTQwOTNiZGM0XFxcIixcXFwiaGFzU2NvcGVkXFxcIjp0cnVlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IFwiZGF0YS12LTQwOTNiZGM0XCJcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtc2VsZWN0SGVpZ2h0TGV2ZWwvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTQwOTNiZGM0XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtNDA5M2JkYzRcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXNlbGVjdEhlaWdodExldmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTA5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///509\n");
3430
3431/***/ }),
3432/* 510 */
3433/***/ (function(module, exports, __webpack_require__) {
3434
3435eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(511);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"2bf593df\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4093bdc4\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4093bdc4\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXNlbGVjdEhlaWdodExldmVsL2luZGV4LnZ1ZT85MWQ5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQXFXO0FBQzNYLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBOEYsZ0NBQWdDO0FBQ25KO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLDZMQUE2TCxrRkFBa0Y7QUFDL1Esc01BQXNNLGtGQUFrRjtBQUN4UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjUxMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi00MDkzYmRjNFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCIyYmY1OTNkZlwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNDA5M2JkYzRcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi00MDkzYmRjNFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTQwOTNiZGM0XCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1zZWxlY3RIZWlnaHRMZXZlbC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDUxMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///510\n");
3436
3437/***/ }),
3438/* 511 */
3439/***/ (function(module, exports, __webpack_require__) {
3440
3441eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXNlbGVjdEhlaWdodExldmVsL2luZGV4LnZ1ZT8zNGM4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQTRFO0FBQy9HOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyx5T0FBeU8scUZBQXFGOztBQUVyViIsImZpbGUiOiI1MTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W10sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNDA5M2JkYzRcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXNlbGVjdEhlaWdodExldmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTExXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///511\n");
3442
3443/***/ }),
3444/* 512 */
3445/***/ (function(module, exports, __webpack_require__) {
3446
3447"use strict";
3448eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXNlbGVjdEhlaWdodExldmVsL3N0eWxlLmpzPzhhMjMiXSwibmFtZXMiOlsiQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUNPLElBQU1BLGdDQUFZQyw4QkFBT0MsR0FBbkIsaUJBQU4iLCJmaWxlIjoiNTEyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICd2dWUtc3R5bGVkLWNvbXBvbmVudHMnO1xyXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICBwYWRkaW5nOiA1cHggMzBweCA1cHggMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBmbGV4LWdyb3c6IDE7XHJcbmA7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtc2VsZWN0SGVpZ2h0TGV2ZWwvc3R5bGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///512\n");
3449
3450/***/ }),
3451/* 513 */
3452/***/ (function(module, __webpack_exports__, __webpack_require__) {
3453
3454"use strict";
3455eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticStyle: { width: \"100%\" } }, [\n _c(\n \"div\",\n { staticClass: \"item-style\" },\n [\n _c(\"i-switch\", {\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.value,\n expression: \"value\"\n }\n ]\n },\n [\n _c(\"div\", [\n _c(\n \"div\",\n [\n _c(\"label\", { staticClass: \"item-style\" }, [\n _vm._v(\"键值对-label\")\n ]),\n _vm._v(\" \"),\n _c(\"Input\", {\n staticStyle: {\n width: \"92%\",\n \"margin-left\": \"10px\",\n \"margin-right\": \"11px\"\n },\n attrs: { clearable: \"\" },\n on: {\n \"on-change\": function($event) {\n return _vm.changeVal()\n }\n },\n model: {\n value: _vm.getRomout.label,\n callback: function($$v) {\n _vm.$set(_vm.getRomout, \"label\", $$v)\n },\n expression: \"getRomout.label\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n [\n _c(\"label\", { staticClass: \"item-style\" }, [\n _vm._v(\"键值对-value\")\n ]),\n _vm._v(\" \"),\n _c(\"Input\", {\n staticStyle: {\n width: \"92%\",\n \"margin-left\": \"10px\",\n \"margin-right\": \"11px\"\n },\n attrs: { clearable: \"\" },\n on: {\n \"on-change\": function($event) {\n return _vm.changeVal()\n }\n },\n model: {\n value: _vm.getRomout.value,\n callback: function($$v) {\n _vm.$set(_vm.getRomout, \"value\", $$v)\n },\n expression: \"getRomout.value\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n [\n _c(\"label\", { staticClass: \"item-style\" }, [\n _vm._v(\"键值对-url\")\n ]),\n _vm._v(\" \"),\n _c(\"Input\", {\n staticStyle: {\n width: \"92%\",\n \"margin-left\": \"10px\",\n \"margin-right\": \"11px\"\n },\n attrs: { clearable: \"\" },\n on: {\n \"on-change\": function($event) {\n return _vm.changeVal()\n }\n },\n model: {\n value: _vm.getRomout.url,\n callback: function($$v) {\n _vm.$set(_vm.getRomout, \"url\", $$v)\n },\n expression: \"getRomout.url\"\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"dynamic\"),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"title-style\" }, [_vm._v(\"是否展示\")]),\n _vm._v(\" \"),\n _c(\"showFlag\"),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"title-style\" }, [_vm._v(\"校验\")]),\n _vm._v(\" \"),\n _c(\"validateArr\"),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"title-style\" }, [_vm._v(\"联动\")]),\n _vm._v(\" \"),\n _c(\"linkageChangeValue\")\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-4093bdc4\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXNlbGVjdEhlaWdodExldmVsL2luZGV4LnZ1ZT8yN2I4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGVBQWUsZ0JBQWdCLEVBQUU7QUFDckQ7QUFDQTtBQUNBLE9BQU8sNEJBQTRCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLDRCQUE0QjtBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLHdCQUF3QixnQkFBZ0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQiw0QkFBNEI7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQix3QkFBd0IsZ0JBQWdCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsNEJBQTRCO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIsd0JBQXdCLGdCQUFnQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLDZCQUE2QjtBQUNoRDtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsNkJBQTZCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQiw2QkFBNkI7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI1MTMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFwiZGl2XCIsIHsgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiMTAwJVwiIH0gfSwgW1xuICAgIF9jKFxuICAgICAgXCJkaXZcIixcbiAgICAgIHsgc3RhdGljQ2xhc3M6IFwiaXRlbS1zdHlsZVwiIH0sXG4gICAgICBbXG4gICAgICAgIF9jKFwiaS1zd2l0Y2hcIiwge1xuICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICB2YWx1ZTogX3ZtLnZhbHVlLFxuICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICBfdm0udmFsdWUgPSAkJHZcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbHVlXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICBdLFxuICAgICAgMVxuICAgICksXG4gICAgX3ZtLl92KFwiIFwiKSxcbiAgICBfYyhcbiAgICAgIFwiZGl2XCIsXG4gICAgICB7XG4gICAgICAgIGRpcmVjdGl2ZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcInNob3dcIixcbiAgICAgICAgICAgIHJhd05hbWU6IFwidi1zaG93XCIsXG4gICAgICAgICAgICB2YWx1ZTogX3ZtLnZhbHVlLFxuICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJ2YWx1ZVwiXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAgW1xuICAgICAgICBfYyhcImRpdlwiLCBbXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcImxhYmVsXCIsIHsgc3RhdGljQ2xhc3M6IFwiaXRlbS1zdHlsZVwiIH0sIFtcbiAgICAgICAgICAgICAgICBfdm0uX3YoXCLplK7lgLzlr7ktbGFiZWxcIilcbiAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFwiSW5wdXRcIiwge1xuICAgICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogXCI5MiVcIixcbiAgICAgICAgICAgICAgICAgIFwibWFyZ2luLWxlZnRcIjogXCIxMHB4XCIsXG4gICAgICAgICAgICAgICAgICBcIm1hcmdpbi1yaWdodFwiOiBcIjExcHhcIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYXR0cnM6IHsgY2xlYXJhYmxlOiBcIlwiIH0sXG4gICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgIFwib24tY2hhbmdlXCI6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmNoYW5nZVZhbCgpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5nZXRSb21vdXQubGFiZWwsXG4gICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KF92bS5nZXRSb21vdXQsIFwibGFiZWxcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiZ2V0Um9tb3V0LmxhYmVsXCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgMVxuICAgICAgICAgICksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgIF9jKFwibGFiZWxcIiwgeyBzdGF0aWNDbGFzczogXCJpdGVtLXN0eWxlXCIgfSwgW1xuICAgICAgICAgICAgICAgIF92bS5fdihcIumUruWAvOWvuS12YWx1ZVwiKVxuICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgX2MoXCJJbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgc3RhdGljU3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjkyJVwiLFxuICAgICAgICAgICAgICAgICAgXCJtYXJnaW4tbGVmdFwiOiBcIjEwcHhcIixcbiAgICAgICAgICAgICAgICAgIFwibWFyZ2luLXJpZ2h0XCI6IFwiMTFweFwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhdHRyczogeyBjbGVhcmFibGU6IFwiXCIgfSxcbiAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgXCJvbi1jaGFuZ2VcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uY2hhbmdlVmFsKClcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmdldFJvbW91dC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoX3ZtLmdldFJvbW91dCwgXCJ2YWx1ZVwiLCAkJHYpXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJnZXRSb21vdXQudmFsdWVcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKSxcbiAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX2MoXCJsYWJlbFwiLCB7IHN0YXRpY0NsYXNzOiBcIml0ZW0tc3R5bGVcIiB9LCBbXG4gICAgICAgICAgICAgICAgX3ZtLl92KFwi6ZSu5YC85a+5LXVybFwiKVxuICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgX2MoXCJJbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgc3RhdGljU3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjkyJVwiLFxuICAgICAgICAgICAgICAgICAgXCJtYXJnaW4tbGVmdFwiOiBcIjEwcHhcIixcbiAgICAgICAgICAgICAgICAgIFwibWFyZ2luLXJpZ2h0XCI6IFwiMTFweFwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhdHRyczogeyBjbGVhcmFibGU6IFwiXCIgfSxcbiAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgXCJvbi1jaGFuZ2VcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uY2hhbmdlVmFsKClcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmdldFJvbW91dC51cmwsXG4gICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KF92bS5nZXRSb21vdXQsIFwidXJsXCIsICQkdilcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImdldFJvbW91dC51cmxcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKVxuICAgICAgICBdKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJkeW5hbWljXCIpLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcInRpdGxlLXN0eWxlXCIgfSwgW192bS5fdihcIuaYr+WQpuWxleekulwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInNob3dGbGFnXCIpLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcInRpdGxlLXN0eWxlXCIgfSwgW192bS5fdihcIuagoemqjFwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInZhbGlkYXRlQXJyXCIpLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcInRpdGxlLXN0eWxlXCIgfSwgW192bS5fdihcIuiBlOWKqFwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcImxpbmthZ2VDaGFuZ2VWYWx1ZVwiKVxuICAgICAgXSxcbiAgICAgIDFcbiAgICApXG4gIF0pXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi00MDkzYmRjNFwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi00MDkzYmRjNFwiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtc2VsZWN0SGVpZ2h0TGV2ZWwvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1MTNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///513\n");
3456
3457/***/ }),
3458/* 514 */
3459/***/ (function(module, __webpack_exports__, __webpack_require__) {
3460
3461"use strict";
3462eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(145);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_79ad052c_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(518);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(515)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_79ad052c_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-steps/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-79ad052c\", Component.options)\n } else {\n hotAPI.reload(\"data-v-79ad052c\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXN0ZXBzL2luZGV4LnZ1ZT82OTU2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBZ1Y7QUFDMVY7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUFxRjtBQUN0SDtBQUNxSTtBQUNhO0FBQ2xKO0FBQzhTO0FBQzlTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxrUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjUxNC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTc5YWQwNTJjXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi03OWFkMDUyY1xcXCIsXFxcImhhc1Njb3BlZFxcXCI6ZmFsc2UsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1zdGVwcy9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtNzlhZDA1MmNcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi03OWFkMDUyY1wiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtc3RlcHMvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1MTRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///514\n");
3463
3464/***/ }),
3465/* 515 */
3466/***/ (function(module, exports, __webpack_require__) {
3467
3468eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(516);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"c4bd9a20\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-79ad052c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-79ad052c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXN0ZXBzL2luZGV4LnZ1ZT8yY2EwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQXNXO0FBQzVYLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBOEYsZ0NBQWdDO0FBQ25KO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLDZMQUE2TCxtRkFBbUY7QUFDaFIsc01BQXNNLG1GQUFtRjtBQUN6UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjUxNS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi03OWFkMDUyY1xcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiYzRiZDlhMjBcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTc5YWQwNTJjXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTc5YWQwNTJjXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTc5YWQwNTJjXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtc3RlcHMvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1MTVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///515\n");
3469
3470/***/ }),
3471/* 516 */
3472/***/ (function(module, exports, __webpack_require__) {
3473
3474eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXN0ZXBzL2luZGV4LnZ1ZT85NWI5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQTRFO0FBQy9HOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyxtUUFBbVEscUZBQXFGOztBQUUvVyIsImZpbGUiOiI1MTYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W10sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNzlhZDA1MmNcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1zdGVwcy9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDUxNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///516\n");
3475
3476/***/ }),
3477/* 517 */
3478/***/ (function(module, exports, __webpack_require__) {
3479
3480"use strict";
3481eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXN0ZXBzL3N0eWxlLmpzP2M2ZTMiXSwibmFtZXMiOlsiQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUNPLElBQU1BLGdDQUFZQyw4QkFBT0MsR0FBbkIsaUJBQU4iLCJmaWxlIjoiNTE3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICd2dWUtc3R5bGVkLWNvbXBvbmVudHMnO1xyXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICBwYWRkaW5nOiA1cHggMzBweCA1cHggMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBmbGV4LWdyb3c6IDE7XHJcbmA7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtc3RlcHMvc3R5bGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///517\n");
3482
3483/***/ }),
3484/* 518 */
3485/***/ (function(module, __webpack_exports__, __webpack_require__) {
3486
3487"use strict";
3488eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"success\" },\n on: {\n click: function($event) {\n return _vm.addArr()\n }\n }\n },\n [_vm._v(\"添加步骤名称\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { staticClass: \"main-ul\" },\n _vm._l(_vm.getArrList, function(item, index) {\n return _c(\"li\", { staticClass: \"main-li\" }, [\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Label\", { staticClass: \"main-li-label\" }, [_vm._v(\"标题:\")])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\n \"Select\",\n {\n staticClass: \"main-li-item\",\n model: {\n value: item.title,\n callback: function($$v) {\n _vm.$set(item, \"title\", $$v)\n },\n expression: \"item.title\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n { key: item.value, attrs: { value: item.value || \"\" } },\n [_vm._v(_vm._s(item.key))]\n )\n }),\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-btn\" },\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"error\" },\n on: {\n click: function($event) {\n return _vm.delArr(index)\n }\n }\n },\n [_vm._v(\"删除\")]\n )\n ],\n 1\n )\n ])\n }),\n 0\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-79ad052c\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXN0ZXBzL2luZGV4LnZ1ZT80ZjI4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssZUFBZSxnQkFBZ0IsRUFBRTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixrQkFBa0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyx5QkFBeUI7QUFDbEM7QUFDQSwyQkFBMkIseUJBQXlCO0FBQ3BEO0FBQ0E7QUFDQSxlQUFlLDZCQUE2QjtBQUM1QztBQUNBLDZCQUE2QiwrQkFBK0I7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSw2QkFBNkI7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLDBCQUEwQiwwQkFBMEIsRUFBRTtBQUM3RTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLDZCQUE2QjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixnQkFBZ0I7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNTE4LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHsgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiMTAwJVwiIH0gfSxcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJDb250YWluZXJcIixcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJCdXR0b25cIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYXR0cnM6IHsgdHlwZTogXCJzdWNjZXNzXCIgfSxcbiAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmFkZEFycigpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW192bS5fdihcIua3u+WKoOatpemqpOWQjeensFwiKV1cbiAgICAgICAgICApXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgICksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXG4gICAgICAgIFwidWxcIixcbiAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtYWluLXVsXCIgfSxcbiAgICAgICAgX3ZtLl9sKF92bS5nZXRBcnJMaXN0LCBmdW5jdGlvbihpdGVtLCBpbmRleCkge1xuICAgICAgICAgIHJldHVybiBfYyhcImxpXCIsIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saVwiIH0sIFtcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIF9jKFwiTGFiZWxcIiwgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWxhYmVsXCIgfSwgW192bS5fdihcIuagh+mimDpcIildKVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgXCJTZWxlY3RcIixcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1pdGVtXCIsXG4gICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0udGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoaXRlbSwgXCJ0aXRsZVwiLCAkJHYpXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0udGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgX3ZtLl9sKF92bS5vcHRpb25zRGF0YSwgZnVuY3Rpb24oaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICAgICAgICAgICAgXCJPcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICB7IGtleTogaXRlbS52YWx1ZSwgYXR0cnM6IHsgdmFsdWU6IGl0ZW0udmFsdWUgfHwgXCJcIiB9IH0sXG4gICAgICAgICAgICAgICAgICAgICAgW192bS5fdihfdm0uX3MoaXRlbS5rZXkpKV1cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktYnRuXCIgfSxcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgXCJCdXR0b25cIixcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgdHlwZTogXCJlcnJvclwiIH0sXG4gICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5kZWxBcnIoaW5kZXgpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgW192bS5fdihcIuWIoOmZpFwiKV1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIDFcbiAgICAgICAgICAgIClcbiAgICAgICAgICBdKVxuICAgICAgICB9KSxcbiAgICAgICAgMFxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi03OWFkMDUyY1wiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi03OWFkMDUyY1wiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXN0ZXBzL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTE4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///518\n");
3489
3490/***/ }),
3491/* 519 */
3492/***/ (function(module, __webpack_exports__, __webpack_require__) {
3493
3494"use strict";
3495eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(146);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_7fb4db04_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(523);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(520)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-7fb4db04\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_7fb4db04_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-string/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-7fb4db04\", Component.options)\n } else {\n hotAPI.reload(\"data-v-7fb4db04\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXN0cmluZy9pbmRleC52dWU/Yjg4OCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQTJWO0FBQ3JXO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDcUk7QUFDYTtBQUNsSjtBQUM2UztBQUM3UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsaVFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI1MTkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi03ZmI0ZGIwNFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hbGVzcy1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi03ZmI0ZGIwNFxcXCIsXFxcImhhc1Njb3BlZFxcXCI6dHJ1ZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBcImRhdGEtdi03ZmI0ZGIwNFwiXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXN0cmluZy9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtN2ZiNGRiMDRcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi03ZmI0ZGIwNFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtc3RyaW5nL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTE5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///519\n");
3496
3497/***/ }),
3498/* 520 */
3499/***/ (function(module, exports, __webpack_require__) {
3500
3501eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(521);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"675a439d\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7fb4db04\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7fb4db04\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXN0cmluZy9pbmRleC52dWU/ZjhiOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUE0YTtBQUNsYyw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsa0ZBQWtGO0FBQy9RLHNNQUFzTSxrRkFBa0Y7QUFDeFI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI1MjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtN2ZiNGRiMDRcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCI2NzVhNDM5ZFwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtN2ZiNGRiMDRcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTdmYjRkYjA0XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi03ZmI0ZGIwNFwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXN0cmluZy9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDUyMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///520\n");
3502
3503/***/ }),
3504/* 521 */
3505/***/ (function(module, exports, __webpack_require__) {
3506
3507eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.tool-type-string[data-v-7fb4db04] {\\n margin: 10px 8px 0;\\n}\\n.tool-type-string .tool-type-div[data-v-7fb4db04] {\\n margin: 5px 8px 0;\\n}\\n.tool-type-string .tool-type-div .editorTextStyle[data-v-7fb4db04] {\\n font-weight: 700;\\n font-size: 14px;\\n color: #191f25;\\n margin-bottom: 4px;\\n}\\n.tool-type-string .tool-type-div .editorTextStyle .editorMaxFontStyle[data-v-7fb4db04] {\\n color: rgba(25, 31, 37, 0.4);\\n font-size: 12px;\\n}\\n.tool-type-string .tool-type-div .editorTextStyle .editorMaxFontStyleFalse[data-v-7fb4db04] {\\n color: red;\\n font-size: 12px;\\n}\\n.tool-type-string .tool-type-div .editorInput[data-v-7fb4db04] {\\n margin: 5px 0;\\n}\\n.tool-type-string .tool-type-div .editorInputFalse[data-v-7fb4db04] {\\n margin: 5px 0;\\n border: 1px solid red;\\n}\\n.tool-type-string .tool-type-div .editorContentStyle[data-v-7fb4db04] {\\n font-size: 12px;\\n margin: 8px 0;\\n}\\n.tool-type-string .ivu-input[data-v-7fb4db04] {\\n border-radius: 4px;\\n}\\n.ivu-input[data-v-7fb4db04] {\\n border-radius: 4px;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-string/index.vue\"],\"names\":[],\"mappings\":\";AAAA;EACE,mBAAmB;CACpB;AACD;EACE,kBAAkB;CACnB;AACD;EACE,iBAAiB;EACjB,gBAAgB;EAChB,eAAe;EACf,mBAAmB;CACpB;AACD;EACE,6BAA6B;EAC7B,gBAAgB;CACjB;AACD;EACE,WAAW;EACX,gBAAgB;CACjB;AACD;EACE,cAAc;CACf;AACD;EACE,cAAc;EACd,sBAAsB;CACvB;AACD;EACE,gBAAgB;EAChB,cAAc;CACf;AACD;EACE,mBAAmB;CACpB;AACD;EACE,mBAAmB;CACpB\",\"file\":\"index.vue\",\"sourcesContent\":[\".tool-type-string {\\n margin: 10px 8px 0;\\n}\\n.tool-type-string .tool-type-div {\\n margin: 5px 8px 0;\\n}\\n.tool-type-string .tool-type-div .editorTextStyle {\\n font-weight: 700;\\n font-size: 14px;\\n color: #191f25;\\n margin-bottom: 4px;\\n}\\n.tool-type-string .tool-type-div .editorTextStyle .editorMaxFontStyle {\\n color: rgba(25, 31, 37, 0.4);\\n font-size: 12px;\\n}\\n.tool-type-string .tool-type-div .editorTextStyle .editorMaxFontStyleFalse {\\n color: red;\\n font-size: 12px;\\n}\\n.tool-type-string .tool-type-div .editorInput {\\n margin: 5px 0;\\n}\\n.tool-type-string .tool-type-div .editorInputFalse {\\n margin: 5px 0;\\n border: 1px solid red;\\n}\\n.tool-type-string .tool-type-div .editorContentStyle {\\n font-size: 12px;\\n margin: 8px 0;\\n}\\n.tool-type-string .ivu-input {\\n border-radius: 4px;\\n}\\n.ivu-input {\\n border-radius: 4px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXN0cmluZy9pbmRleC52dWU/ZmFhYiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMseUNBQXlDLHVCQUF1QixHQUFHLHFEQUFxRCxzQkFBc0IsR0FBRyxzRUFBc0UscUJBQXFCLG9CQUFvQixtQkFBbUIsdUJBQXVCLEdBQUcsMEZBQTBGLGlDQUFpQyxvQkFBb0IsR0FBRywrRkFBK0YsZUFBZSxvQkFBb0IsR0FBRyxrRUFBa0Usa0JBQWtCLEdBQUcsdUVBQXVFLGtCQUFrQiwwQkFBMEIsR0FBRyx5RUFBeUUsb0JBQW9CLGtCQUFrQixHQUFHLGlEQUFpRCx1QkFBdUIsR0FBRywrQkFBK0IsdUJBQXVCLEdBQUcsVUFBVSxvSkFBb0osS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLGFBQWEsV0FBVyxZQUFZLE1BQU0sS0FBSyxZQUFZLGFBQWEsTUFBTSxLQUFLLFVBQVUsWUFBWSxNQUFNLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxZQUFZLE1BQU0sS0FBSyxZQUFZLFdBQVcsS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksZ0VBQWdFLHVCQUF1QixHQUFHLG9DQUFvQyxzQkFBc0IsR0FBRyxxREFBcUQscUJBQXFCLG9CQUFvQixtQkFBbUIsdUJBQXVCLEdBQUcseUVBQXlFLGlDQUFpQyxvQkFBb0IsR0FBRyw4RUFBOEUsZUFBZSxvQkFBb0IsR0FBRyxpREFBaUQsa0JBQWtCLEdBQUcsc0RBQXNELGtCQUFrQiwwQkFBMEIsR0FBRyx3REFBd0Qsb0JBQW9CLGtCQUFrQixHQUFHLGdDQUFnQyx1QkFBdUIsR0FBRyxjQUFjLHVCQUF1QixHQUFHLHFCQUFxQjs7QUFFbDRFIiwiZmlsZSI6IjUyMS5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcbi50b29sLXR5cGUtc3RyaW5nW2RhdGEtdi03ZmI0ZGIwNF0ge1xcbiAgbWFyZ2luOiAxMHB4IDhweCAwO1xcbn1cXG4udG9vbC10eXBlLXN0cmluZyAudG9vbC10eXBlLWRpdltkYXRhLXYtN2ZiNGRiMDRdIHtcXG4gIG1hcmdpbjogNXB4IDhweCAwO1xcbn1cXG4udG9vbC10eXBlLXN0cmluZyAudG9vbC10eXBlLWRpdiAuZWRpdG9yVGV4dFN0eWxlW2RhdGEtdi03ZmI0ZGIwNF0ge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGNvbG9yOiAjMTkxZjI1O1xcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xcbn1cXG4udG9vbC10eXBlLXN0cmluZyAudG9vbC10eXBlLWRpdiAuZWRpdG9yVGV4dFN0eWxlIC5lZGl0b3JNYXhGb250U3R5bGVbZGF0YS12LTdmYjRkYjA0XSB7XFxuICBjb2xvcjogcmdiYSgyNSwgMzEsIDM3LCAwLjQpO1xcbiAgZm9udC1zaXplOiAxMnB4O1xcbn1cXG4udG9vbC10eXBlLXN0cmluZyAudG9vbC10eXBlLWRpdiAuZWRpdG9yVGV4dFN0eWxlIC5lZGl0b3JNYXhGb250U3R5bGVGYWxzZVtkYXRhLXYtN2ZiNGRiMDRdIHtcXG4gIGNvbG9yOiByZWQ7XFxuICBmb250LXNpemU6IDEycHg7XFxufVxcbi50b29sLXR5cGUtc3RyaW5nIC50b29sLXR5cGUtZGl2IC5lZGl0b3JJbnB1dFtkYXRhLXYtN2ZiNGRiMDRdIHtcXG4gIG1hcmdpbjogNXB4IDA7XFxufVxcbi50b29sLXR5cGUtc3RyaW5nIC50b29sLXR5cGUtZGl2IC5lZGl0b3JJbnB1dEZhbHNlW2RhdGEtdi03ZmI0ZGIwNF0ge1xcbiAgbWFyZ2luOiA1cHggMDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcXG59XFxuLnRvb2wtdHlwZS1zdHJpbmcgLnRvb2wtdHlwZS1kaXYgLmVkaXRvckNvbnRlbnRTdHlsZVtkYXRhLXYtN2ZiNGRiMDRdIHtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG4gIG1hcmdpbjogOHB4IDA7XFxufVxcbi50b29sLXR5cGUtc3RyaW5nIC5pdnUtaW5wdXRbZGF0YS12LTdmYjRkYjA0XSB7XFxuICBib3JkZXItcmFkaXVzOiA0cHg7XFxufVxcbi5pdnUtaW5wdXRbZGF0YS12LTdmYjRkYjA0XSB7XFxuICBib3JkZXItcmFkaXVzOiA0cHg7XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJFOi9wcm9qZWN0L3BhZ2UtaWRlLXhpYW4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC1zdHJpbmcvaW5kZXgudnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUFBQTtFQUNFLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0Usa0JBQWtCO0NBQ25CO0FBQ0Q7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLDZCQUE2QjtFQUM3QixnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLFdBQVc7RUFDWCxnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLGNBQWM7Q0FDZjtBQUNEO0VBQ0UsY0FBYztFQUNkLHNCQUFzQjtDQUN2QjtBQUNEO0VBQ0UsZ0JBQWdCO0VBQ2hCLGNBQWM7Q0FDZjtBQUNEO0VBQ0UsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxtQkFBbUI7Q0FDcEJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIudG9vbC10eXBlLXN0cmluZyB7XFxuICBtYXJnaW46IDEwcHggOHB4IDA7XFxufVxcbi50b29sLXR5cGUtc3RyaW5nIC50b29sLXR5cGUtZGl2IHtcXG4gIG1hcmdpbjogNXB4IDhweCAwO1xcbn1cXG4udG9vbC10eXBlLXN0cmluZyAudG9vbC10eXBlLWRpdiAuZWRpdG9yVGV4dFN0eWxlIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBmb250LXNpemU6IDE0cHg7XFxuICBjb2xvcjogIzE5MWYyNTtcXG4gIG1hcmdpbi1ib3R0b206IDRweDtcXG59XFxuLnRvb2wtdHlwZS1zdHJpbmcgLnRvb2wtdHlwZS1kaXYgLmVkaXRvclRleHRTdHlsZSAuZWRpdG9yTWF4Rm9udFN0eWxlIHtcXG4gIGNvbG9yOiByZ2JhKDI1LCAzMSwgMzcsIDAuNCk7XFxuICBmb250LXNpemU6IDEycHg7XFxufVxcbi50b29sLXR5cGUtc3RyaW5nIC50b29sLXR5cGUtZGl2IC5lZGl0b3JUZXh0U3R5bGUgLmVkaXRvck1heEZvbnRTdHlsZUZhbHNlIHtcXG4gIGNvbG9yOiByZWQ7XFxuICBmb250LXNpemU6IDEycHg7XFxufVxcbi50b29sLXR5cGUtc3RyaW5nIC50b29sLXR5cGUtZGl2IC5lZGl0b3JJbnB1dCB7XFxuICBtYXJnaW46IDVweCAwO1xcbn1cXG4udG9vbC10eXBlLXN0cmluZyAudG9vbC10eXBlLWRpdiAuZWRpdG9ySW5wdXRGYWxzZSB7XFxuICBtYXJnaW46IDVweCAwO1xcbiAgYm9yZGVyOiAxcHggc29saWQgcmVkO1xcbn1cXG4udG9vbC10eXBlLXN0cmluZyAudG9vbC10eXBlLWRpdiAuZWRpdG9yQ29udGVudFN0eWxlIHtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG4gIG1hcmdpbjogOHB4IDA7XFxufVxcbi50b29sLXR5cGUtc3RyaW5nIC5pdnUtaW5wdXQge1xcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xcbn1cXG4uaXZ1LWlucHV0IHtcXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcXG59XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTdmYjRkYjA0XCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtc3RyaW5nL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTIxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///521\n");
3508
3509/***/ }),
3510/* 522 */
3511/***/ (function(module, exports, __webpack_require__) {
3512
3513"use strict";
3514eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n flex-basis: 0;\\n padding: 5px 10px;\\n'], ['\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n flex-basis: 0;\\n padding: 5px 10px;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXN0cmluZy9zdHlsZS5qcz80YTQzIl0sIm5hbWVzIjpbIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFDTyxJQUFNQSxnQ0FBWUMsOEJBQU9DLEdBQW5CLGlCQUFOIiwiZmlsZSI6IjUyMi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAndnVlLXN0eWxlZC1jb21wb25lbnRzJztcclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgZmxleC1ncm93OiAxO1xyXG4gIGZsZXgtYmFzaXM6IDA7XHJcbiAgcGFkZGluZzogNXB4IDEwcHg7XHJcbmA7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtc3RyaW5nL3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///522\n");
3515
3516/***/ }),
3517/* 523 */
3518/***/ (function(module, __webpack_exports__, __webpack_require__) {
3519
3520"use strict";
3521eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"tool-type-string\", staticStyle: { width: \"100%\" } },\n [\n _c(\"div\", { staticClass: \"tool-type-div\" }, [\n _c(\"p\", { staticClass: \"editorTextStyle\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.editor.text) +\n \"\\n \"\n ),\n _vm.editor.maxFont\n ? _c(\n \"span\",\n {\n class: _vm.noValidate\n ? \"editorMaxFontStyle\"\n : \"editorMaxFontStyleFalse\"\n },\n [_vm._v(\"最多\" + _vm._s(_vm.editor.maxFont) + \"字\")]\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\n \"p\",\n [\n _c(\"Input\", {\n class: _vm.noValidate ? \"editorInput\" : \"editorInputFalse\",\n attrs: {\n maxlength: _vm.editor.maxFont,\n placeholder: \"\",\n clearable: \"\"\n },\n on: {\n \"on-blur\": function($event) {\n return _vm.listenerMaxFont(_vm.value)\n }\n },\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.editor.maxInputFont\n ? _c(\"p\", { staticClass: \"editorContentStyle\" }, [\n _vm._v(\n \"\\n 内容最多可填写\" +\n _vm._s(_vm.editor.maxInputFont) +\n \"个字\\n \"\n )\n ])\n : _vm._e()\n ])\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-7fb4db04\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXN0cmluZy9pbmRleC52dWU/MmRkYiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLGdEQUFnRCxnQkFBZ0IsRUFBRTtBQUN2RTtBQUNBLGlCQUFpQiwrQkFBK0I7QUFDaEQsaUJBQWlCLGlDQUFpQztBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsb0NBQW9DO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI1MjMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAgeyBzdGF0aWNDbGFzczogXCJ0b29sLXR5cGUtc3RyaW5nXCIsIHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sXG4gICAgW1xuICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJ0b29sLXR5cGUtZGl2XCIgfSwgW1xuICAgICAgICBfYyhcInBcIiwgeyBzdGF0aWNDbGFzczogXCJlZGl0b3JUZXh0U3R5bGVcIiB9LCBbXG4gICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgXCJcXG4gICAgICAgICAgICAgICAgICAgXCIgK1xuICAgICAgICAgICAgICBfdm0uX3MoX3ZtLmVkaXRvci50ZXh0KSArXG4gICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICksXG4gICAgICAgICAgX3ZtLmVkaXRvci5tYXhGb250XG4gICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgIFwic3BhblwiLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGNsYXNzOiBfdm0ubm9WYWxpZGF0ZVxuICAgICAgICAgICAgICAgICAgICA/IFwiZWRpdG9yTWF4Rm9udFN0eWxlXCJcbiAgICAgICAgICAgICAgICAgICAgOiBcImVkaXRvck1heEZvbnRTdHlsZUZhbHNlXCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFtfdm0uX3YoXCLmnIDlpJpcIiArIF92bS5fcyhfdm0uZWRpdG9yLm1heEZvbnQpICsgXCLlrZdcIildXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogX3ZtLl9lKClcbiAgICAgICAgXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFxuICAgICAgICAgIFwicFwiLFxuICAgICAgICAgIFtcbiAgICAgICAgICAgIF9jKFwiSW5wdXRcIiwge1xuICAgICAgICAgICAgICBjbGFzczogX3ZtLm5vVmFsaWRhdGUgPyBcImVkaXRvcklucHV0XCIgOiBcImVkaXRvcklucHV0RmFsc2VcIixcbiAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICBtYXhsZW5ndGg6IF92bS5lZGl0b3IubWF4Rm9udCxcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogXCJcIixcbiAgICAgICAgICAgICAgICBjbGVhcmFibGU6IFwiXCJcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICBcIm9uLWJsdXJcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmxpc3RlbmVyTWF4Rm9udChfdm0udmFsdWUpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0udmFsdWUsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgX3ZtLnZhbHVlID0gJCR2XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbHVlXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICBdLFxuICAgICAgICAgIDFcbiAgICAgICAgKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX3ZtLmVkaXRvci5tYXhJbnB1dEZvbnRcbiAgICAgICAgICA/IF9jKFwicFwiLCB7IHN0YXRpY0NsYXNzOiBcImVkaXRvckNvbnRlbnRTdHlsZVwiIH0sIFtcbiAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAgICAgICAgICAg5YaF5a655pyA5aSa5Y+v5aGr5YaZXCIgK1xuICAgICAgICAgICAgICAgICAgX3ZtLl9zKF92bS5lZGl0b3IubWF4SW5wdXRGb250KSArXG4gICAgICAgICAgICAgICAgICBcIuS4quWtl1xcbiAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgXSlcbiAgICAgICAgICA6IF92bS5fZSgpXG4gICAgICBdKVxuICAgIF1cbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtN2ZiNGRiMDRcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtN2ZiNGRiMDRcIixcImhhc1Njb3BlZFwiOnRydWUsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXN0cmluZy9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDUyM1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///523\n");
3522
3523/***/ }),
3524/* 524 */
3525/***/ (function(module, __webpack_exports__, __webpack_require__) {
3526
3527"use strict";
3528eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(147);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_224c2184_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(528);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(525)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_224c2184_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-tableDynamic/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-224c2184\", Component.options)\n } else {\n hotAPI.reload(\"data-v-224c2184\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRhYmxlRHluYW1pYy9pbmRleC52dWU/YzMzNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQWdWO0FBQzFWO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDcUk7QUFDYTtBQUNsSjtBQUM4UztBQUM5UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsa1FBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI1MjQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0yMjRjMjE4NFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMjI0YzIxODRcXFwiLFxcXCJoYXNTY29wZWRcXFwiOmZhbHNlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtdGFibGVEeW5hbWljL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi0yMjRjMjE4NFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTIyNGMyMTg0XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC10YWJsZUR5bmFtaWMvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1MjRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///524\n");
3529
3530/***/ }),
3531/* 525 */
3532/***/ (function(module, exports, __webpack_require__) {
3533
3534eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(526);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"e7bbe396\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-224c2184\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-224c2184\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRhYmxlRHluYW1pYy9pbmRleC52dWU/MTZhOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUFzVztBQUM1WCw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsbUZBQW1GO0FBQ2hSLHNNQUFzTSxtRkFBbUY7QUFDelI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI1MjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMjI0YzIxODRcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcImU3YmJlMzk2XCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0yMjRjMjE4NFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0yMjRjMjE4NFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0yMjRjMjE4NFwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRhYmxlRHluYW1pYy9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDUyNVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///525\n");
3535
3536/***/ }),
3537/* 526 */
3538/***/ (function(module, exports, __webpack_require__) {
3539
3540eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRhYmxlRHluYW1pYy9pbmRleC52dWU/YTcxOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsNllBQTZZLHFGQUFxRjs7QUFFemYiLCJmaWxlIjoiNTI2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTIyNGMyMTg0XCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtdGFibGVEeW5hbWljL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTI2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///526\n");
3541
3542/***/ }),
3543/* 527 */
3544/***/ (function(module, exports, __webpack_require__) {
3545
3546"use strict";
3547eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRhYmxlRHluYW1pYy9zdHlsZS5qcz9mNGNmIl0sIm5hbWVzIjpbIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFDTyxJQUFNQSxnQ0FBWUMsOEJBQU9DLEdBQW5CLGlCQUFOIiwiZmlsZSI6IjUyNy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAndnVlLXN0eWxlZC1jb21wb25lbnRzJztcclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgcGFkZGluZzogNXB4IDMwcHggNXB4IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgZmxleC1ncm93OiAxO1xyXG5gO1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRhYmxlRHluYW1pYy9zdHlsZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///527\n");
3548
3549/***/ }),
3550/* 528 */
3551/***/ (function(module, __webpack_exports__, __webpack_require__) {
3552
3553"use strict";
3554eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Button\",\n {\n attrs: { type: \"success\" },\n on: {\n click: function($event) {\n return _vm.addArr()\n }\n }\n },\n [_vm._v(\"添加\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { staticClass: \"main-ul\" },\n _vm._l(_vm.getArrList, function(item, index) {\n return _c(\"li\", { staticClass: \"main-li\" }, [\n _vm._m(0, true),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Input\", {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\", placeholder: \"请输入键\" },\n on: {\n \"on-change\": function($event) {\n return _vm.changeDynamic()\n }\n },\n model: {\n value: item.label,\n callback: function($$v) {\n _vm.$set(item, \"label\", $$v)\n },\n expression: \"item.label\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm._m(1, true),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"main-li-div\" },\n [\n _c(\"Input\", {\n staticClass: \"main-li-item\",\n attrs: { clearable: \"\", placeholder: \"请输入值\" },\n on: {\n \"on-change\": function($event) {\n return _vm.changeDynamic()\n }\n },\n model: {\n value: item.value,\n callback: function($$v) {\n _vm.$set(item, \"value\", $$v)\n },\n expression: \"item.value\"\n }\n })\n ],\n 1\n )\n ])\n }),\n 0\n )\n ],\n 1\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"main-li-div\" }, [\n _c(\"label\", { staticClass: \"main-li-label\" }, [_vm._v(\"label\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"main-li-div\" }, [\n _c(\"label\", { staticClass: \"main-li-label\" }, [_vm._v(\"value\")])\n ])\n }\n]\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-224c2184\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRhYmxlRHluYW1pYy9pbmRleC52dWU/ZDkxMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLGVBQWUsZ0JBQWdCLEVBQUU7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0Isa0JBQWtCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMseUJBQXlCO0FBQ2xDO0FBQ0EsMkJBQTJCLHlCQUF5QjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsNkJBQTZCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQixxQ0FBcUM7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSw2QkFBNkI7QUFDNUM7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLHFDQUFxQztBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsNkJBQTZCO0FBQ25ELG1CQUFtQiwrQkFBK0I7QUFDbEQ7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsNkJBQTZCO0FBQ25ELG1CQUFtQiwrQkFBK0I7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjUyOC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiQ29udGFpbmVyXCIsXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiQnV0dG9uXCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGF0dHJzOiB7IHR5cGU6IFwic3VjY2Vzc1wiIH0sXG4gICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5hZGRBcnIoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtfdm0uX3YoXCLmt7vliqBcIildXG4gICAgICAgICAgKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF9jKFxuICAgICAgICBcInVsXCIsXG4gICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi11bFwiIH0sXG4gICAgICAgIF92bS5fbChfdm0uZ2V0QXJyTGlzdCwgZnVuY3Rpb24oaXRlbSwgaW5kZXgpIHtcbiAgICAgICAgICByZXR1cm4gX2MoXCJsaVwiLCB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGlcIiB9LCBbXG4gICAgICAgICAgICBfdm0uX20oMCwgdHJ1ZSksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1kaXZcIiB9LFxuICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgX2MoXCJJbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJtYWluLWxpLWl0ZW1cIixcbiAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IGNsZWFyYWJsZTogXCJcIiwgcGxhY2Vob2xkZXI6IFwi6K+36L6T5YWl6ZSuXCIgfSxcbiAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgIFwib24tY2hhbmdlXCI6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uY2hhbmdlRHluYW1pYygpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwibGFiZWxcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgX3ZtLl9tKDEsIHRydWUpLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSxcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIF9jKFwiSW5wdXRcIiwge1xuICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwibWFpbi1saS1pdGVtXCIsXG4gICAgICAgICAgICAgICAgICBhdHRyczogeyBjbGVhcmFibGU6IFwiXCIsIHBsYWNlaG9sZGVyOiBcIuivt+i+k+WFpeWAvFwiIH0sXG4gICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICBcIm9uLWNoYW5nZVwiOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmNoYW5nZUR5bmFtaWMoKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChpdGVtLCBcInZhbHVlXCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJpdGVtLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApXG4gICAgICAgICAgXSlcbiAgICAgICAgfSksXG4gICAgICAgIDBcbiAgICAgIClcbiAgICBdLFxuICAgIDFcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtcbiAgZnVuY3Rpb24oKSB7XG4gICAgdmFyIF92bSA9IHRoaXNcbiAgICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgICByZXR1cm4gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWRpdlwiIH0sIFtcbiAgICAgIF9jKFwibGFiZWxcIiwgeyBzdGF0aWNDbGFzczogXCJtYWluLWxpLWxhYmVsXCIgfSwgW192bS5fdihcImxhYmVsXCIpXSlcbiAgICBdKVxuICB9LFxuICBmdW5jdGlvbigpIHtcbiAgICB2YXIgX3ZtID0gdGhpc1xuICAgIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICAgIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICAgIHJldHVybiBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktZGl2XCIgfSwgW1xuICAgICAgX2MoXCJsYWJlbFwiLCB7IHN0YXRpY0NsYXNzOiBcIm1haW4tbGktbGFiZWxcIiB9LCBbX3ZtLl92KFwidmFsdWVcIildKVxuICAgIF0pXG4gIH1cbl1cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi0yMjRjMjE4NFwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi0yMjRjMjE4NFwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRhYmxlRHluYW1pYy9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDUyOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///528\n");
3555
3556/***/ }),
3557/* 529 */
3558/***/ (function(module, __webpack_exports__, __webpack_require__) {
3559
3560"use strict";
3561eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(148);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_7af97a93_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(533);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(530)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_7af97a93_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-templateTableSelect/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-7af97a93\", Component.options)\n } else {\n hotAPI.reload(\"data-v-7af97a93\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRlbXBsYXRlVGFibGVTZWxlY3QvaW5kZXgudnVlP2JmZTgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFnVjtBQUMxVjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDOFM7QUFDOVM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGtRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNTI5LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtN2FmOTdhOTNcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTdhZjk3YTkzXFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRlbXBsYXRlVGFibGVTZWxlY3QvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTdhZjk3YTkzXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtN2FmOTdhOTNcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRlbXBsYXRlVGFibGVTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1Mjlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///529\n");
3562
3563/***/ }),
3564/* 530 */
3565/***/ (function(module, exports, __webpack_require__) {
3566
3567eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(531);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"63e94adf\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7af97a93\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7af97a93\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRlbXBsYXRlVGFibGVTZWxlY3QvaW5kZXgudnVlPzY1ZTMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBc1c7QUFDNVgsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLG1GQUFtRjtBQUNoUixzTUFBc00sbUZBQW1GO0FBQ3pSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNTMwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTdhZjk3YTkzXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCI2M2U5NGFkZlwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtN2FmOTdhOTNcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtN2FmOTdhOTNcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtN2FmOTdhOTNcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC10ZW1wbGF0ZVRhYmxlU2VsZWN0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTMwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///530\n");
3568
3569/***/ }),
3570/* 531 */
3571/***/ (function(module, exports, __webpack_require__) {
3572
3573eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRlbXBsYXRlVGFibGVTZWxlY3QvaW5kZXgudnVlPzM2ZTgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLGlNQUFpTSxxRkFBcUY7O0FBRTdTIiwiZmlsZSI6IjUzMS5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi03YWY5N2E5M1wiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRlbXBsYXRlVGFibGVTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1MzFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///531\n");
3574
3575/***/ }),
3576/* 532 */
3577/***/ (function(module, exports, __webpack_require__) {
3578
3579"use strict";
3580eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRlbXBsYXRlVGFibGVTZWxlY3Qvc3R5bGUuanM/ZmVkOSJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBQ08sSUFBTUEsZ0NBQVlDLDhCQUFPQyxHQUFuQixpQkFBTiIsImZpbGUiOiI1MzIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIHBhZGRpbmc6IDVweCAxMnB4IDVweCAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC10ZW1wbGF0ZVRhYmxlU2VsZWN0L3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///532\n");
3581
3582/***/ }),
3583/* 533 */
3584/***/ (function(module, __webpack_exports__, __webpack_require__) {
3585
3586"use strict";
3587eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\" },\n model: {\n value: _vm.val,\n callback: function($$v) {\n _vm.val = $$v\n },\n expression: \"val\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n {\n key: item.selectName,\n attrs: { value: item.selectName || \"\" }\n },\n [_vm._v(_vm._s(item.selectName))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-7af97a93\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRlbXBsYXRlVGFibGVTZWxlY3QvaW5kZXgudnVlPzJkMDgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxlQUFlLGdCQUFnQixFQUFFO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLGlCQUFpQjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUIsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNTMzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHsgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiMTAwJVwiIH0gfSxcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJDb250YWluZXJcIixcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJTZWxlY3RcIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiOTYuNSVcIiB9LFxuICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0udmFsLFxuICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgIF92bS52YWwgPSAkJHZcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwidmFsXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF92bS5fbChfdm0ub3B0aW9uc0RhdGEsIGZ1bmN0aW9uKGl0ZW0pIHtcbiAgICAgICAgICAgICAgcmV0dXJuIF9jKFxuICAgICAgICAgICAgICAgIFwiT3B0aW9uXCIsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAga2V5OiBpdGVtLnNlbGVjdE5hbWUsXG4gICAgICAgICAgICAgICAgICBhdHRyczogeyB2YWx1ZTogaXRlbS5zZWxlY3ROYW1lIHx8IFwiXCIgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgW192bS5fdihfdm0uX3MoaXRlbS5zZWxlY3ROYW1lKSldXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgMVxuICAgICAgICAgIClcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi03YWY5N2E5M1wiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi03YWY5N2E5M1wiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRlbXBsYXRlVGFibGVTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1MzNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///533\n");
3588
3589/***/ }),
3590/* 534 */
3591/***/ (function(module, __webpack_exports__, __webpack_require__) {
3592
3593"use strict";
3594eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(149);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_0da2d71c_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(538);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(535)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_0da2d71c_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-timeSelect/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-0da2d71c\", Component.options)\n } else {\n hotAPI.reload(\"data-v-0da2d71c\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRpbWVTZWxlY3QvaW5kZXgudnVlPzhiYzkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUE0VjtBQUN0VztBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDOFM7QUFDOVM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGtRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNTM0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMGRhMmQ3MWNcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSFsZXNzLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTBkYTJkNzFjXFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRpbWVTZWxlY3QvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTBkYTJkNzFjXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtMGRhMmQ3MWNcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRpbWVTZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1MzRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///534\n");
3595
3596/***/ }),
3597/* 535 */
3598/***/ (function(module, exports, __webpack_require__) {
3599
3600eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(536);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"60635e49\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0da2d71c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0da2d71c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRpbWVTZWxlY3QvaW5kZXgudnVlP2Y1YTEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBNmE7QUFDbmMsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLG1GQUFtRjtBQUNoUixzTUFBc00sbUZBQW1GO0FBQ3pSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNTM1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTBkYTJkNzFjXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjYwNjM1ZTQ5XCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0wZGEyZDcxY1xcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTBkYTJkNzFjXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtMGRhMmQ3MWNcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtdGltZVNlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDUzNVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///535\n");
3601
3602/***/ }),
3603/* 536 */
3604/***/ (function(module, exports, __webpack_require__) {
3605
3606eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.tool-type-timeSelect {\\n margin: 10px 8px 0;\\n}\\n.tool-type-timeSelect .tool-type-div {\\n margin: 5px 8px 0;\\n}\\n.tool-type-timeSelect .tool-type-div .editorTextStyle {\\n font-weight: 700;\\n font-size: 14px;\\n color: #191f25;\\n margin-bottom: 4px;\\n}\\n.tool-type-timeSelect .tool-type-div .editorTextStyle .editorMaxFontStyle {\\n color: rgba(25, 31, 37, 0.4);\\n font-size: 12px;\\n}\\n.tool-type-timeSelect .tool-type-div .editorTextStyle .editorMaxFontStyleFalse {\\n color: red;\\n font-size: 12px;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-timeSelect/index.vue\"],\"names\":[],\"mappings\":\";AAAA;EACE,mBAAmB;CACpB;AACD;EACE,kBAAkB;CACnB;AACD;EACE,iBAAiB;EACjB,gBAAgB;EAChB,eAAe;EACf,mBAAmB;CACpB;AACD;EACE,6BAA6B;EAC7B,gBAAgB;CACjB;AACD;EACE,WAAW;EACX,gBAAgB;CACjB\",\"file\":\"index.vue\",\"sourcesContent\":[\".tool-type-timeSelect {\\n margin: 10px 8px 0;\\n}\\n.tool-type-timeSelect .tool-type-div {\\n margin: 5px 8px 0;\\n}\\n.tool-type-timeSelect .tool-type-div .editorTextStyle {\\n font-weight: 700;\\n font-size: 14px;\\n color: #191f25;\\n margin-bottom: 4px;\\n}\\n.tool-type-timeSelect .tool-type-div .editorTextStyle .editorMaxFontStyle {\\n color: rgba(25, 31, 37, 0.4);\\n font-size: 12px;\\n}\\n.tool-type-timeSelect .tool-type-div .editorTextStyle .editorMaxFontStyleFalse {\\n color: red;\\n font-size: 12px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRpbWVTZWxlY3QvaW5kZXgudnVlPzQ3ZWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLDRCQUE0Qix1QkFBdUIsR0FBRyx3Q0FBd0Msc0JBQXNCLEdBQUcseURBQXlELHFCQUFxQixvQkFBb0IsbUJBQW1CLHVCQUF1QixHQUFHLDZFQUE2RSxpQ0FBaUMsb0JBQW9CLEdBQUcsa0ZBQWtGLGVBQWUsb0JBQW9CLEdBQUcsVUFBVSx3SkFBd0osS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLGFBQWEsV0FBVyxZQUFZLE1BQU0sS0FBSyxZQUFZLGFBQWEsTUFBTSxLQUFLLFVBQVUsWUFBWSxvRUFBb0UsdUJBQXVCLEdBQUcsd0NBQXdDLHNCQUFzQixHQUFHLHlEQUF5RCxxQkFBcUIsb0JBQW9CLG1CQUFtQix1QkFBdUIsR0FBRyw2RUFBNkUsaUNBQWlDLG9CQUFvQixHQUFHLGtGQUFrRixlQUFlLG9CQUFvQixHQUFHLHFCQUFxQjs7QUFFcDZDIiwiZmlsZSI6IjUzNi5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcbi50b29sLXR5cGUtdGltZVNlbGVjdCB7XFxuICBtYXJnaW46IDEwcHggOHB4IDA7XFxufVxcbi50b29sLXR5cGUtdGltZVNlbGVjdCAudG9vbC10eXBlLWRpdiB7XFxuICBtYXJnaW46IDVweCA4cHggMDtcXG59XFxuLnRvb2wtdHlwZS10aW1lU2VsZWN0IC50b29sLXR5cGUtZGl2IC5lZGl0b3JUZXh0U3R5bGUge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGNvbG9yOiAjMTkxZjI1O1xcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xcbn1cXG4udG9vbC10eXBlLXRpbWVTZWxlY3QgLnRvb2wtdHlwZS1kaXYgLmVkaXRvclRleHRTdHlsZSAuZWRpdG9yTWF4Rm9udFN0eWxlIHtcXG4gIGNvbG9yOiByZ2JhKDI1LCAzMSwgMzcsIDAuNCk7XFxuICBmb250LXNpemU6IDEycHg7XFxufVxcbi50b29sLXR5cGUtdGltZVNlbGVjdCAudG9vbC10eXBlLWRpdiAuZWRpdG9yVGV4dFN0eWxlIC5lZGl0b3JNYXhGb250U3R5bGVGYWxzZSB7XFxuICBjb2xvcjogcmVkO1xcbiAgZm9udC1zaXplOiAxMnB4O1xcbn1cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wiRTovcHJvamVjdC9wYWdlLWlkZS14aWFuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtdGltZVNlbGVjdC9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQUFBO0VBQ0UsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0UsNkJBQTZCO0VBQzdCLGdCQUFnQjtDQUNqQjtBQUNEO0VBQ0UsV0FBVztFQUNYLGdCQUFnQjtDQUNqQlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIi50b29sLXR5cGUtdGltZVNlbGVjdCB7XFxuICBtYXJnaW46IDEwcHggOHB4IDA7XFxufVxcbi50b29sLXR5cGUtdGltZVNlbGVjdCAudG9vbC10eXBlLWRpdiB7XFxuICBtYXJnaW46IDVweCA4cHggMDtcXG59XFxuLnRvb2wtdHlwZS10aW1lU2VsZWN0IC50b29sLXR5cGUtZGl2IC5lZGl0b3JUZXh0U3R5bGUge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGNvbG9yOiAjMTkxZjI1O1xcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xcbn1cXG4udG9vbC10eXBlLXRpbWVTZWxlY3QgLnRvb2wtdHlwZS1kaXYgLmVkaXRvclRleHRTdHlsZSAuZWRpdG9yTWF4Rm9udFN0eWxlIHtcXG4gIGNvbG9yOiByZ2JhKDI1LCAzMSwgMzcsIDAuNCk7XFxuICBmb250LXNpemU6IDEycHg7XFxufVxcbi50b29sLXR5cGUtdGltZVNlbGVjdCAudG9vbC10eXBlLWRpdiAuZWRpdG9yVGV4dFN0eWxlIC5lZGl0b3JNYXhGb250U3R5bGVGYWxzZSB7XFxuICBjb2xvcjogcmVkO1xcbiAgZm9udC1zaXplOiAxMnB4O1xcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtMGRhMmQ3MWNcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtdGltZVNlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDUzNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///536\n");
3607
3608/***/ }),
3609/* 537 */
3610/***/ (function(module, exports, __webpack_require__) {
3611
3612"use strict";
3613eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 12px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRpbWVTZWxlY3Qvc3R5bGUuanM/ZDRmZSJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBQ08sSUFBTUEsZ0NBQVlDLDhCQUFPQyxHQUFuQixpQkFBTiIsImZpbGUiOiI1MzcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIHBhZGRpbmc6IDVweCAxMnB4IDVweCAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC10aW1lU2VsZWN0L3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///537\n");
3614
3615/***/ }),
3616/* 538 */
3617/***/ (function(module, __webpack_exports__, __webpack_require__) {
3618
3619"use strict";
3620eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"tool-type-timeSelect\", staticStyle: { width: \"100%\" } },\n [\n _c(\n \"div\",\n { staticClass: \"tool-type-div\" },\n [\n _c(\"p\", { staticClass: \"editorTextStyle\" }, [\n _vm._v(\n \"\\n \" + _vm._s(_vm.editor.text) + \"\\n \"\n ),\n _vm.editor.maxFont\n ? _c(\n \"span\",\n {\n class: _vm.noValidate\n ? \"editorMaxFontStyle\"\n : \"editorMaxFontStyleFalse\"\n },\n [_vm._v(\"最多\" + _vm._s(_vm.editor.maxFont) + \"字\")]\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\n \"Select\",\n {\n staticStyle: { width: \"96.5%\" },\n model: {\n value: _vm.value,\n callback: function($$v) {\n _vm.value = $$v\n },\n expression: \"value\"\n }\n },\n _vm._l(_vm.optionsData, function(item) {\n return _c(\n \"Option\",\n { key: item.value, attrs: { value: item.value || \"\" } },\n [_vm._v(_vm._s(item.key))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-0da2d71c\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRpbWVTZWxlY3QvaW5kZXgudnVlPzZlMTQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxvREFBb0QsZ0JBQWdCLEVBQUU7QUFDM0U7QUFDQTtBQUNBO0FBQ0EsU0FBUywrQkFBK0I7QUFDeEM7QUFDQSxtQkFBbUIsaUNBQWlDO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsaUJBQWlCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLDBCQUEwQiwwQkFBMEIsRUFBRTtBQUN2RTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI1MzguanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAgeyBzdGF0aWNDbGFzczogXCJ0b29sLXR5cGUtdGltZVNlbGVjdFwiLCBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCIxMDAlXCIgfSB9LFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcImRpdlwiLFxuICAgICAgICB7IHN0YXRpY0NsYXNzOiBcInRvb2wtdHlwZS1kaXZcIiB9LFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXCJwXCIsIHsgc3RhdGljQ2xhc3M6IFwiZWRpdG9yVGV4dFN0eWxlXCIgfSwgW1xuICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICBcIlxcbiAgICAgICAgICAgICBcIiArIF92bS5fcyhfdm0uZWRpdG9yLnRleHQpICsgXCJcXG4gICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBfdm0uZWRpdG9yLm1heEZvbnRcbiAgICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICAgIFwic3BhblwiLFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjbGFzczogX3ZtLm5vVmFsaWRhdGVcbiAgICAgICAgICAgICAgICAgICAgICA/IFwiZWRpdG9yTWF4Rm9udFN0eWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICA6IFwiZWRpdG9yTWF4Rm9udFN0eWxlRmFsc2VcIlxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIFtfdm0uX3YoXCLmnIDlpJpcIiArIF92bS5fcyhfdm0uZWRpdG9yLm1heEZvbnQpICsgXCLlrZdcIildXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICA6IF92bS5fZSgpXG4gICAgICAgICAgXSksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiU2VsZWN0XCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjk2LjUlXCIgfSxcbiAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLnZhbHVlLFxuICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgIF92bS52YWx1ZSA9ICQkdlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJ2YWx1ZVwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfdm0uX2woX3ZtLm9wdGlvbnNEYXRhLCBmdW5jdGlvbihpdGVtKSB7XG4gICAgICAgICAgICAgIHJldHVybiBfYyhcbiAgICAgICAgICAgICAgICBcIk9wdGlvblwiLFxuICAgICAgICAgICAgICAgIHsga2V5OiBpdGVtLnZhbHVlLCBhdHRyczogeyB2YWx1ZTogaXRlbS52YWx1ZSB8fCBcIlwiIH0gfSxcbiAgICAgICAgICAgICAgICBbX3ZtLl92KF92bS5fcyhpdGVtLmtleSkpXVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgIClcbiAgICBdXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTBkYTJkNzFjXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTBkYTJkNzFjXCIsXCJoYXNTY29wZWRcIjpmYWxzZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtdGltZVNlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDUzOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///538\n");
3621
3622/***/ }),
3623/* 539 */
3624/***/ (function(module, __webpack_exports__, __webpack_require__) {
3625
3626"use strict";
3627eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(150);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_1ee2435b_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(543);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(540)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-1ee2435b\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_1ee2435b_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-title/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-1ee2435b\", Component.options)\n } else {\n hotAPI.reload(\"data-v-1ee2435b\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRpdGxlL2luZGV4LnZ1ZT8wMjJmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBMlY7QUFDclc7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUFxRjtBQUN0SDtBQUNxSTtBQUNhO0FBQ2xKO0FBQzZTO0FBQzdTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxpUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjUzOS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTFlZTI0MzViXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSFsZXNzLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTFlZTI0MzViXFxcIixcXFwiaGFzU2NvcGVkXFxcIjp0cnVlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IFwiZGF0YS12LTFlZTI0MzViXCJcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtdGl0bGUvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTFlZTI0MzViXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtMWVlMjQzNWJcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRpdGxlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTM5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///539\n");
3628
3629/***/ }),
3630/* 540 */
3631/***/ (function(module, exports, __webpack_require__) {
3632
3633eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(541);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"b80d465c\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1ee2435b\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1ee2435b\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRpdGxlL2luZGV4LnZ1ZT9lM2Y0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQTRhO0FBQ2xjLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBOEYsZ0NBQWdDO0FBQ25KO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLDZMQUE2TCxrRkFBa0Y7QUFDL1Esc01BQXNNLGtGQUFrRjtBQUN4UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjU0MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xZWUyNDM1YlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcImI4MGQ0NjVjXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xZWUyNDM1YlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMWVlMjQzNWJcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTFlZTI0MzViXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtdGl0bGUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1NDBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///540\n");
3634
3635/***/ }),
3636/* 541 */
3637/***/ (function(module, exports, __webpack_require__) {
3638
3639eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.titleProp[data-v-1ee2435b] {\\n width: 100%;\\n font-weight: bold;\\n margin: 0px;\\n box-shadow: inset 0px -1px 0px 0px rgba(0, 0, 0, 0.09);\\n font-size: 14px;\\n color: #191f25;\\n line-height: 46px;\\n padding: 0 16px;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-title/index.vue\"],\"names\":[],\"mappings\":\";AAAA;EACE,YAAY;EACZ,kBAAkB;EAClB,YAAY;EACZ,uDAAuD;EACvD,gBAAgB;EAChB,eAAe;EACf,kBAAkB;EAClB,gBAAgB;CACjB\",\"file\":\"index.vue\",\"sourcesContent\":[\".titleProp {\\n width: 100%;\\n font-weight: bold;\\n margin: 0px;\\n box-shadow: inset 0px -1px 0px 0px rgba(0, 0, 0, 0.09);\\n font-size: 14px;\\n color: #191f25;\\n line-height: 46px;\\n padding: 0 16px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRpdGxlL2luZGV4LnZ1ZT9jYTk3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQTRFO0FBQy9HOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyxrQ0FBa0MsZ0JBQWdCLHNCQUFzQixnQkFBZ0IsMkRBQTJELG9CQUFvQixtQkFBbUIsc0JBQXNCLG9CQUFvQixHQUFHLFVBQVUsbUpBQW1KLEtBQUssVUFBVSxZQUFZLFdBQVcsWUFBWSxhQUFhLFdBQVcsWUFBWSxhQUFhLHlEQUF5RCxnQkFBZ0Isc0JBQXNCLGdCQUFnQiwyREFBMkQsb0JBQW9CLG1CQUFtQixzQkFBc0Isb0JBQW9CLEdBQUcscUJBQXFCOztBQUVqeEIiLCJmaWxlIjoiNTQxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLnRpdGxlUHJvcFtkYXRhLXYtMWVlMjQzNWJdIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxuICBtYXJnaW46IDBweDtcXG4gIGJveC1zaGFkb3c6IGluc2V0IDBweCAtMXB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA5KTtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGNvbG9yOiAjMTkxZjI1O1xcbiAgbGluZS1oZWlnaHQ6IDQ2cHg7XFxuICBwYWRkaW5nOiAwIDE2cHg7XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJFOi9wcm9qZWN0L3BhZ2UtaWRlLXhpYW4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC10aXRsZS9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQUFBO0VBQ0UsWUFBWTtFQUNaLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osdURBQXVEO0VBQ3ZELGdCQUFnQjtFQUNoQixlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLGdCQUFnQjtDQUNqQlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIi50aXRsZVByb3Age1xcbiAgd2lkdGg6IDEwMCU7XFxuICBmb250LXdlaWdodDogYm9sZDtcXG4gIG1hcmdpbjogMHB4O1xcbiAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC0xcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDkpO1xcbiAgZm9udC1zaXplOiAxNHB4O1xcbiAgY29sb3I6ICMxOTFmMjU7XFxuICBsaW5lLWhlaWdodDogNDZweDtcXG4gIHBhZGRpbmc6IDAgMTZweDtcXG59XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTFlZTI0MzViXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtdGl0bGUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1NDFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///541\n");
3640
3641/***/ }),
3642/* 542 */
3643/***/ (function(module, exports, __webpack_require__) {
3644
3645"use strict";
3646eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n flex-basis: 0;\\n padding: 5px 10px;\\n'], ['\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n flex-basis: 0;\\n padding: 5px 10px;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRpdGxlL3N0eWxlLmpzPzZkM2UiXSwibmFtZXMiOlsiQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUNPLElBQU1BLGdDQUFZQyw4QkFBT0MsR0FBbkIsaUJBQU4iLCJmaWxlIjoiNTQyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICd2dWUtc3R5bGVkLWNvbXBvbmVudHMnO1xyXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBmbGV4LWdyb3c6IDE7XHJcbiAgZmxleC1iYXNpczogMDtcclxuICBwYWRkaW5nOiA1cHggMTBweDtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC10aXRsZS9zdHlsZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///542\n");
3647
3648/***/ }),
3649/* 543 */
3650/***/ (function(module, __webpack_exports__, __webpack_require__) {
3651
3652"use strict";
3653eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"titleProp\" }, [\n _c(\"div\", [_vm._v(_vm._s(_vm.editor.text))])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-1ee2435b\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXRpdGxlL2luZGV4LnZ1ZT85NzI0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDJCQUEyQjtBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI1NDMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwidGl0bGVQcm9wXCIgfSwgW1xuICAgIF9jKFwiZGl2XCIsIFtfdm0uX3YoX3ZtLl9zKF92bS5lZGl0b3IudGV4dCkpXSlcbiAgXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTFlZTI0MzViXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTFlZTI0MzViXCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC10aXRsZS9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDU0M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///543\n");
3654
3655/***/ }),
3656/* 544 */
3657/***/ (function(module, __webpack_exports__, __webpack_require__) {
3658
3659"use strict";
3660eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(151);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_c2e40b52_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(548);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(545)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-c2e40b52\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_c2e40b52_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-validateInput/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-c2e40b52\", Component.options)\n } else {\n hotAPI.reload(\"data-v-c2e40b52\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXZhbGlkYXRlSW5wdXQvaW5kZXgudnVlPzY4ZmYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUEyVjtBQUNyVztBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDNlM7QUFDN1M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGlRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNTQ0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYzJlNDBiNTJcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IWxlc3MtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYzJlNDBiNTJcXFwiLFxcXCJoYXNTY29wZWRcXFwiOnRydWUsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gXCJkYXRhLXYtYzJlNDBiNTJcIlxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC12YWxpZGF0ZUlucHV0L2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi1jMmU0MGI1MlwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LWMyZTQwYjUyXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC12YWxpZGF0ZUlucHV0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTQ0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///544\n");
3661
3662/***/ }),
3663/* 545 */
3664/***/ (function(module, exports, __webpack_require__) {
3665
3666eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(546);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"089a39a4\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-c2e40b52\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-c2e40b52\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXZhbGlkYXRlSW5wdXQvaW5kZXgudnVlPzg2MTAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBNGE7QUFDbGMsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLGtGQUFrRjtBQUMvUSxzTUFBc00sa0ZBQWtGO0FBQ3hSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNTQ1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWMyZTQwYjUyXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiMDg5YTM5YTRcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWMyZTQwYjUyXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1jMmU0MGI1MlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtYzJlNDBiNTJcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC12YWxpZGF0ZUlucHV0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTQ1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///545\n");
3667
3668/***/ }),
3669/* 546 */
3670/***/ (function(module, exports, __webpack_require__) {
3671
3672eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.tool-type-validateInput[data-v-c2e40b52] {\\n margin: 10px 8px 0;\\n}\\n.tool-type-validateInput .tool-type-ul[data-v-c2e40b52] {\\n margin: 5px 8px 0;\\n}\\n.tool-type-validateInput .tool-type-ul .editorTextStyle[data-v-c2e40b52] {\\n font-weight: 700;\\n font-size: 14px;\\n color: #191f25;\\n margin-bottom: 4px;\\n}\\n.tool-type-validateInput .tool-type-ul .editorInput[data-v-c2e40b52] {\\n margin: 5px 0;\\n border-radius: 4px;\\n}\\n.tool-type-validateInput .tool-type-ul .switch-style[data-v-c2e40b52] {\\n margin-bottom: 18px;\\n}\\n.tool-type-validateInput .ivu-input[data-v-c2e40b52] {\\n border-radius: 4px;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/plugins/main-tool-editor-type-box-validateInput/index.vue\"],\"names\":[],\"mappings\":\";AAAA;EACE,mBAAmB;CACpB;AACD;EACE,kBAAkB;CACnB;AACD;EACE,iBAAiB;EACjB,gBAAgB;EAChB,eAAe;EACf,mBAAmB;CACpB;AACD;EACE,cAAc;EACd,mBAAmB;CACpB;AACD;EACE,oBAAoB;CACrB;AACD;EACE,mBAAmB;CACpB\",\"file\":\"index.vue\",\"sourcesContent\":[\".tool-type-validateInput {\\n margin: 10px 8px 0;\\n}\\n.tool-type-validateInput .tool-type-ul {\\n margin: 5px 8px 0;\\n}\\n.tool-type-validateInput .tool-type-ul .editorTextStyle {\\n font-weight: 700;\\n font-size: 14px;\\n color: #191f25;\\n margin-bottom: 4px;\\n}\\n.tool-type-validateInput .tool-type-ul .editorInput {\\n margin: 5px 0;\\n border-radius: 4px;\\n}\\n.tool-type-validateInput .tool-type-ul .switch-style {\\n margin-bottom: 18px;\\n}\\n.tool-type-validateInput .ivu-input {\\n border-radius: 4px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXZhbGlkYXRlSW5wdXQvaW5kZXgudnVlPzk5M2UiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLGdEQUFnRCx1QkFBdUIsR0FBRywyREFBMkQsc0JBQXNCLEdBQUcsNEVBQTRFLHFCQUFxQixvQkFBb0IsbUJBQW1CLHVCQUF1QixHQUFHLHdFQUF3RSxrQkFBa0IsdUJBQXVCLEdBQUcseUVBQXlFLHdCQUF3QixHQUFHLHdEQUF3RCx1QkFBdUIsR0FBRyxVQUFVLDJKQUEySixLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksYUFBYSxXQUFXLFlBQVksTUFBTSxLQUFLLFVBQVUsWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSx1RUFBdUUsdUJBQXVCLEdBQUcsMENBQTBDLHNCQUFzQixHQUFHLDJEQUEyRCxxQkFBcUIsb0JBQW9CLG1CQUFtQix1QkFBdUIsR0FBRyx1REFBdUQsa0JBQWtCLHVCQUF1QixHQUFHLHdEQUF3RCx3QkFBd0IsR0FBRyx1Q0FBdUMsdUJBQXVCLEdBQUcscUJBQXFCOztBQUV6aEQiLCJmaWxlIjoiNTQ2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLnRvb2wtdHlwZS12YWxpZGF0ZUlucHV0W2RhdGEtdi1jMmU0MGI1Ml0ge1xcbiAgbWFyZ2luOiAxMHB4IDhweCAwO1xcbn1cXG4udG9vbC10eXBlLXZhbGlkYXRlSW5wdXQgLnRvb2wtdHlwZS11bFtkYXRhLXYtYzJlNDBiNTJdIHtcXG4gIG1hcmdpbjogNXB4IDhweCAwO1xcbn1cXG4udG9vbC10eXBlLXZhbGlkYXRlSW5wdXQgLnRvb2wtdHlwZS11bCAuZWRpdG9yVGV4dFN0eWxlW2RhdGEtdi1jMmU0MGI1Ml0ge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGNvbG9yOiAjMTkxZjI1O1xcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xcbn1cXG4udG9vbC10eXBlLXZhbGlkYXRlSW5wdXQgLnRvb2wtdHlwZS11bCAuZWRpdG9ySW5wdXRbZGF0YS12LWMyZTQwYjUyXSB7XFxuICBtYXJnaW46IDVweCAwO1xcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xcbn1cXG4udG9vbC10eXBlLXZhbGlkYXRlSW5wdXQgLnRvb2wtdHlwZS11bCAuc3dpdGNoLXN0eWxlW2RhdGEtdi1jMmU0MGI1Ml0ge1xcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcXG59XFxuLnRvb2wtdHlwZS12YWxpZGF0ZUlucHV0IC5pdnUtaW5wdXRbZGF0YS12LWMyZTQwYjUyXSB7XFxuICBib3JkZXItcmFkaXVzOiA0cHg7XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJFOi9wcm9qZWN0L3BhZ2UtaWRlLXhpYW4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC12YWxpZGF0ZUlucHV0L2luZGV4LnZ1ZVwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiO0FBQUE7RUFDRSxtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLGtCQUFrQjtDQUNuQjtBQUNEO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxjQUFjO0VBQ2QsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxvQkFBb0I7Q0FDckI7QUFDRDtFQUNFLG1CQUFtQjtDQUNwQlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIi50b29sLXR5cGUtdmFsaWRhdGVJbnB1dCB7XFxuICBtYXJnaW46IDEwcHggOHB4IDA7XFxufVxcbi50b29sLXR5cGUtdmFsaWRhdGVJbnB1dCAudG9vbC10eXBlLXVsIHtcXG4gIG1hcmdpbjogNXB4IDhweCAwO1xcbn1cXG4udG9vbC10eXBlLXZhbGlkYXRlSW5wdXQgLnRvb2wtdHlwZS11bCAuZWRpdG9yVGV4dFN0eWxlIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBmb250LXNpemU6IDE0cHg7XFxuICBjb2xvcjogIzE5MWYyNTtcXG4gIG1hcmdpbi1ib3R0b206IDRweDtcXG59XFxuLnRvb2wtdHlwZS12YWxpZGF0ZUlucHV0IC50b29sLXR5cGUtdWwgLmVkaXRvcklucHV0IHtcXG4gIG1hcmdpbjogNXB4IDA7XFxuICBib3JkZXItcmFkaXVzOiA0cHg7XFxufVxcbi50b29sLXR5cGUtdmFsaWRhdGVJbnB1dCAudG9vbC10eXBlLXVsIC5zd2l0Y2gtc3R5bGUge1xcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcXG59XFxuLnRvb2wtdHlwZS12YWxpZGF0ZUlucHV0IC5pdnUtaW5wdXQge1xcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtYzJlNDBiNTJcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC12YWxpZGF0ZUlucHV0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTQ2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///546\n");
3673
3674/***/ }),
3675/* 547 */
3676/***/ (function(module, exports, __webpack_require__) {
3677
3678"use strict";
3679eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n'], ['\\n padding: 5px 30px 5px 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXZhbGlkYXRlSW5wdXQvc3R5bGUuanM/YjY1NiJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBQ08sSUFBTUEsZ0NBQVlDLDhCQUFPQyxHQUFuQixpQkFBTiIsImZpbGUiOiI1NDcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIHBhZGRpbmc6IDVweCAzMHB4IDVweCAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci10eXBlLWJveC12YWxpZGF0ZUlucHV0L3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///547\n");
3680
3681/***/ }),
3682/* 548 */
3683/***/ (function(module, __webpack_exports__, __webpack_require__) {
3684
3685"use strict";
3686eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"tool-type-validateInput\", staticStyle: { width: \"100%\" } },\n [\n _c(\n \"ul\",\n { staticClass: \"tool-type-ul\" },\n _vm._l(_vm.getArrList, function(item, index) {\n return _c(\n \"li\",\n [\n index == 0\n ? [\n _c(\n \"div\",\n { staticClass: \"editorTextStyle\" },\n [_c(\"Label\", [_vm._v(\"必填\")])],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"switch-style\" },\n [\n _c(\"i-switch\", {\n on: {\n \"on-change\": function($event) {\n return _vm.updatePlaceholder(item.required)\n }\n },\n model: {\n value: item.required,\n callback: function($$v) {\n _vm.$set(item, \"required\", $$v)\n },\n expression: \"item.required\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"editorTextStyle\" },\n [_c(\"Label\", [_vm._v(\"提示信息\")])],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {},\n [\n _c(\"Input\", {\n staticClass: \"editorInput\",\n attrs: { placeholder: \"不能为空\", clearable: \"\" },\n model: {\n value: item.message,\n callback: function($$v) {\n _vm.$set(item, \"message\", $$v)\n },\n expression: \"item.message\"\n }\n })\n ],\n 1\n )\n ]\n : [\n _c(\n \"div\",\n { staticClass: \"editorTextStyle\" },\n [_c(\"Label\", [_vm._v(\"最多可输入文本长度(个)\")])],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {},\n [\n _c(\"InputNumber\", {\n staticClass: \"editorInput\",\n staticStyle: { width: \"100%\" },\n attrs: { placeholder: \"请输入最大文本长度\" },\n on: {\n \"on-change\": function($event) {\n return _vm.updateMaxLength(item.maxLength)\n }\n },\n model: {\n value: item.maxLength,\n callback: function($$v) {\n _vm.$set(item, \"maxLength\", $$v)\n },\n expression: \"item.maxLength\"\n }\n })\n ],\n 1\n )\n ]\n ],\n 2\n )\n }),\n 0\n )\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-c2e40b52\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yLXR5cGUtYm94LXZhbGlkYXRlSW5wdXQvaW5kZXgudnVlPzg1YjQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyx1REFBdUQsZ0JBQWdCLEVBQUU7QUFDOUU7QUFDQTtBQUNBO0FBQ0EsU0FBUyw4QkFBOEI7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixpQ0FBaUM7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLDhCQUE4QjtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsaUNBQWlDO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0MscUNBQXFDO0FBQ3ZFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsaUNBQWlDO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0MsZ0JBQWdCO0FBQ3hELGtDQUFrQywyQkFBMkI7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNTQ4LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHsgc3RhdGljQ2xhc3M6IFwidG9vbC10eXBlLXZhbGlkYXRlSW5wdXRcIiwgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiMTAwJVwiIH0gfSxcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJ1bFwiLFxuICAgICAgICB7IHN0YXRpY0NsYXNzOiBcInRvb2wtdHlwZS11bFwiIH0sXG4gICAgICAgIF92bS5fbChfdm0uZ2V0QXJyTGlzdCwgZnVuY3Rpb24oaXRlbSwgaW5kZXgpIHtcbiAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICBcImxpXCIsXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgIGluZGV4ID09IDBcbiAgICAgICAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImVkaXRvclRleHRTdHlsZVwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgW19jKFwiTGFiZWxcIiwgW192bS5fdihcIuW/heWhq1wiKV0pXSxcbiAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJzd2l0Y2gtc3R5bGVcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiaS1zd2l0Y2hcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwib24tY2hhbmdlXCI6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS51cGRhdGVQbGFjZWhvbGRlcihpdGVtLnJlcXVpcmVkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5yZXF1aXJlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChpdGVtLCBcInJlcXVpcmVkXCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiaXRlbS5yZXF1aXJlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJlZGl0b3JUZXh0U3R5bGVcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgIFtfYyhcIkxhYmVsXCIsIFtfdm0uX3YoXCLmj5DnpLrkv6Hmga9cIildKV0sXG4gICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiSW5wdXRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJlZGl0b3JJbnB1dFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBwbGFjZWhvbGRlcjogXCLkuI3og73kuLrnqbpcIiwgY2xlYXJhYmxlOiBcIlwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0ubWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChpdGVtLCBcIm1lc3NhZ2VcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJpdGVtLm1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgOiBbXG4gICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJlZGl0b3JUZXh0U3R5bGVcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgIFtfYyhcIkxhYmVsXCIsIFtfdm0uX3YoXCLmnIDlpJrlj6/ovpPlhaXmlofmnKzplb/luqYo5LiqKVwiKV0pXSxcbiAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJJbnB1dE51bWJlclwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImVkaXRvcklucHV0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBwbGFjZWhvbGRlcjogXCLor7fovpPlhaXmnIDlpKfmlofmnKzplb/luqZcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwib24tY2hhbmdlXCI6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS51cGRhdGVNYXhMZW5ndGgoaXRlbS5tYXhMZW5ndGgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtLm1heExlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChpdGVtLCBcIm1heExlbmd0aFwiLCAkJHYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0ubWF4TGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIDJcbiAgICAgICAgICApXG4gICAgICAgIH0pLFxuICAgICAgICAwXG4gICAgICApXG4gICAgXVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi1jMmU0MGI1MlwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi1jMmU0MGI1MlwiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3ItdHlwZS1ib3gtdmFsaWRhdGVJbnB1dC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDU0OFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///548\n");
3687
3688/***/ }),
3689/* 549 */
3690/***/ (function(module, __webpack_exports__, __webpack_require__) {
3691
3692"use strict";
3693eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(152);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_4b60b16a_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(555);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(550)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_4b60b16a_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-editor/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-4b60b16a\", Component.options)\n } else {\n hotAPI.reload(\"data-v-4b60b16a\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yL2luZGV4LnZ1ZT9jYWZiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBZ1Y7QUFDMVY7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUFxRjtBQUN0SDtBQUNxSTtBQUNhO0FBQ2xKO0FBQzhTO0FBQzlTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxrUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjU0OS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTRiNjBiMTZhXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi00YjYwYjE2YVxcXCIsXFxcImhhc1Njb3BlZFxcXCI6ZmFsc2UsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtNGI2MGIxNmFcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi00YjYwYjE2YVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3IvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1NDlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///549\n");
3694
3695/***/ }),
3696/* 550 */
3697/***/ (function(module, exports, __webpack_require__) {
3698
3699eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(551);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"5f4dcd44\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4b60b16a\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4b60b16a\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yL2luZGV4LnZ1ZT9lMTdjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQXNXO0FBQzVYLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBOEYsZ0NBQWdDO0FBQ25KO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLDZMQUE2TCxtRkFBbUY7QUFDaFIsc01BQXNNLG1GQUFtRjtBQUN6UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjU1MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi00YjYwYjE2YVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiNWY0ZGNkNDRcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTRiNjBiMTZhXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTRiNjBiMTZhXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTRiNjBiMTZhXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3IvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1NTBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///550\n");
3700
3701/***/ }),
3702/* 551 */
3703/***/ (function(module, exports, __webpack_require__) {
3704
3705eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n#gaea-editor-vue .ivu-tabs {\\r\\n width: 100%;\\n}\\n#gaea-editor-vue .ivu-tabs-nav .ivu-tabs-tab {\\r\\n padding: 10px 16px;\\n}\\n.hkgySY {\\r\\n overflow-x: hidden;\\n}\\r\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/plugins/main-tool-editor/myPlugin/page-ide/lib/plugins/main-tool-editor/index.vue\"],\"names\":[],\"mappings\":\";AAgDA;EACA,YAAA;CACA;AACA;EACA,mBAAA;CACA;AACA;IACA,mBAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div style=\\\"width: 100%;\\\">\\r\\n <EmptyContainer v-if=\\\"!currentEditInstanceKey\\\">\\r\\n <EmptyTitle>\\r\\n 无编辑信息\\r\\n </EmptyTitle>\\r\\n <EmptyDescription>\\r\\n 该组件还未添加编辑信息。\\r\\n </EmptyDescription>\\r\\n </EmptyContainer>\\r\\n <Container v-else >\\r\\n <component :is=\\\"item\\\" v-for=\\\"(item,index) in pluginsBelongKeys['mainToolEditorManager']\\\" :key=\\\"index\\\"></component>\\r\\n <component :is=\\\"item\\\" v-for=\\\"(item,index) in pluginsBelongKeys['mainToolEditorEvent']\\\" :key=\\\"index\\\"></component>\\r\\n <component :is=\\\"item\\\" v-for=\\\"(item,index) in pluginsBelongKeys['mainToolEditorAddon']\\\" :key=\\\"index\\\"></component>\\r\\n </Container>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport * as components from './style';\\r\\nimport {SVC} from '../../service';\\r\\nimport mainToolEditorTypeStyle from '../../plugins-main-tool-editor-type-style/main-tool-editor-type-style.less';\\r\\nexport default {\\r\\n components: {\\r\\n ...components\\r\\n },\\r\\n position: 'mainToolEditor',\\r\\n name: 'main-tool-editor',\\r\\n data () {\\r\\n return {\\r\\n pluginsBelongKeys: SVC.pluginsBelongKeys\\r\\n };\\r\\n },\\r\\n computed: {\\r\\n // applicationState () {\\r\\n // return this.$store.state.application;\\r\\n // },\\r\\n // viewportState () {\\r\\n // return this.$store.state.viewport;\\r\\n // }\\r\\n currentEditInstanceKey () {\\r\\n return this.$store.state.viewport.currentEditInstanceKey;\\r\\n }\\r\\n }\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style>\\r\\n#gaea-editor-vue .ivu-tabs {\\r\\n width: 100%;\\r\\n}\\r\\n#gaea-editor-vue .ivu-tabs-nav .ivu-tabs-tab {\\r\\n padding: 10px 16px;\\r\\n}\\r\\n.hkgySY {\\r\\n overflow-x: hidden;\\r\\n}\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yL2luZGV4LnZ1ZT9kNzNjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQTRFO0FBQy9HOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyxpQ0FBaUMsa0JBQWtCLEdBQUcsZ0RBQWdELHlCQUF5QixHQUFHLFdBQVcsMkJBQTJCLEdBQUcsWUFBWSxtTEFBbUwsTUFBTSxVQUFVLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxXQUFXLHVGQUF1RixzekJBQXN6QixZQUFZLElBQUksc0JBQXNCLHFIQUFxSCxvQkFBb0IscUJBQXFCLGtDQUFrQyxzRkFBc0Ysb0JBQW9CLHNFQUFzRSxTQUFTLG9CQUFvQixvQ0FBb0Msd0RBQXdELGdCQUFnQixrQ0FBa0MscURBQXFELGdCQUFnQix1Q0FBdUMseUVBQXlFLGFBQWEsU0FBUyxNQUFNLDREQUE0RCxrQkFBa0IsS0FBSyxrREFBa0QseUJBQXlCLEtBQUssYUFBYSwyQkFBMkIsS0FBSyxtQ0FBbUM7O0FBRTcwRSIsImZpbGUiOiI1NTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG4jZ2FlYS1lZGl0b3ItdnVlIC5pdnUtdGFicyB7XFxyXFxuICB3aWR0aDogMTAwJTtcXG59XFxuI2dhZWEtZWRpdG9yLXZ1ZSAuaXZ1LXRhYnMtbmF2IC5pdnUtdGFicy10YWIge1xcclxcbiAgcGFkZGluZzogMTBweCAxNnB4O1xcbn1cXG4uaGtneVNZIHtcXHJcXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xcbn1cXHJcXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wiRTovcHJvamVjdC9wYWdlLWlkZS14aWFuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3IvbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLWVkaXRvci9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQWdEQTtFQUNBLFlBQUE7Q0FDQTtBQUNBO0VBQ0EsbUJBQUE7Q0FDQTtBQUNBO0lBQ0EsbUJBQUE7Q0FDQVwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjx0ZW1wbGF0ZT5cXHJcXG4gICAgPGRpdiBzdHlsZT1cXFwid2lkdGg6IDEwMCU7XFxcIj5cXHJcXG4gICAgICAgIDxFbXB0eUNvbnRhaW5lciB2LWlmPVxcXCIhY3VycmVudEVkaXRJbnN0YW5jZUtleVxcXCI+XFxyXFxuICAgICAgICAgICAgPEVtcHR5VGl0bGU+XFxyXFxuICAgICAgICAgICAgICAgIOaXoOe8lui+keS/oeaBr1xcclxcbiAgICAgICAgICAgIDwvRW1wdHlUaXRsZT5cXHJcXG4gICAgICAgICAgICA8RW1wdHlEZXNjcmlwdGlvbj5cXHJcXG4gICAgICAgICAgICAgICAg6K+l57uE5Lu26L+Y5pyq5re75Yqg57yW6L6R5L+h5oGv44CCXFxyXFxuICAgICAgICAgICAgPC9FbXB0eURlc2NyaXB0aW9uPlxcclxcbiAgICAgICAgPC9FbXB0eUNvbnRhaW5lcj5cXHJcXG4gICAgICAgIDxDb250YWluZXIgdi1lbHNlID5cXHJcXG4gICAgICAgICAgICA8Y29tcG9uZW50IDppcz1cXFwiaXRlbVxcXCIgdi1mb3I9XFxcIihpdGVtLGluZGV4KSBpbiBwbHVnaW5zQmVsb25nS2V5c1snbWFpblRvb2xFZGl0b3JNYW5hZ2VyJ11cXFwiIDprZXk9XFxcImluZGV4XFxcIj48L2NvbXBvbmVudD5cXHJcXG4gICAgICAgICAgICA8Y29tcG9uZW50IDppcz1cXFwiaXRlbVxcXCIgdi1mb3I9XFxcIihpdGVtLGluZGV4KSBpbiBwbHVnaW5zQmVsb25nS2V5c1snbWFpblRvb2xFZGl0b3JFdmVudCddXFxcIiA6a2V5PVxcXCJpbmRleFxcXCI+PC9jb21wb25lbnQ+XFxyXFxuICAgICAgICAgICAgPGNvbXBvbmVudCA6aXM9XFxcIml0ZW1cXFwiIHYtZm9yPVxcXCIoaXRlbSxpbmRleCkgaW4gcGx1Z2luc0JlbG9uZ0tleXNbJ21haW5Ub29sRWRpdG9yQWRkb24nXVxcXCIgOmtleT1cXFwiaW5kZXhcXFwiPjwvY29tcG9uZW50PlxcclxcbiAgICAgICAgPC9Db250YWluZXI+XFxyXFxuICAgIDwvZGl2PlxcclxcbjwvdGVtcGxhdGU+XFxyXFxuXFxyXFxuPHNjcmlwdD5cXHJcXG5pbXBvcnQgKiBhcyBjb21wb25lbnRzIGZyb20gJy4vc3R5bGUnO1xcclxcbmltcG9ydCB7U1ZDfSBmcm9tICcuLi8uLi9zZXJ2aWNlJztcXHJcXG5pbXBvcnQgbWFpblRvb2xFZGl0b3JUeXBlU3R5bGUgZnJvbSAnLi4vLi4vcGx1Z2lucy1tYWluLXRvb2wtZWRpdG9yLXR5cGUtc3R5bGUvbWFpbi10b29sLWVkaXRvci10eXBlLXN0eWxlLmxlc3MnO1xcclxcbmV4cG9ydCBkZWZhdWx0IHtcXHJcXG4gICAgY29tcG9uZW50czoge1xcclxcbiAgICAgICAgLi4uY29tcG9uZW50c1xcclxcbiAgICB9LFxcclxcbiAgICBwb3NpdGlvbjogJ21haW5Ub29sRWRpdG9yJyxcXHJcXG4gICAgbmFtZTogJ21haW4tdG9vbC1lZGl0b3InLFxcclxcbiAgICBkYXRhICgpIHtcXHJcXG4gICAgICAgIHJldHVybiB7XFxyXFxuICAgICAgICAgICAgcGx1Z2luc0JlbG9uZ0tleXM6IFNWQy5wbHVnaW5zQmVsb25nS2V5c1xcclxcbiAgICAgICAgfTtcXHJcXG4gICAgfSxcXHJcXG4gICAgY29tcHV0ZWQ6IHtcXHJcXG4gICAgICAgIC8vIGFwcGxpY2F0aW9uU3RhdGUgKCkge1xcclxcbiAgICAgICAgLy8gICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5hcHBsaWNhdGlvbjtcXHJcXG4gICAgICAgIC8vIH0sXFxyXFxuICAgICAgICAvLyB2aWV3cG9ydFN0YXRlICgpIHtcXHJcXG4gICAgICAgIC8vICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQ7XFxyXFxuICAgICAgICAvLyB9XFxyXFxuICAgICAgICBjdXJyZW50RWRpdEluc3RhbmNlS2V5ICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbn07XFxyXFxuPC9zY3JpcHQ+XFxyXFxuXFxyXFxuPHN0eWxlPlxcclxcbiNnYWVhLWVkaXRvci12dWUgLml2dS10YWJzIHtcXHJcXG4gIHdpZHRoOiAxMDAlO1xcclxcbn1cXHJcXG4jZ2FlYS1lZGl0b3ItdnVlIC5pdnUtdGFicy1uYXYgLml2dS10YWJzLXRhYiB7XFxyXFxuICBwYWRkaW5nOiAxMHB4IDE2cHg7XFxyXFxufVxcclxcbi5oa2d5U1kge1xcclxcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XFxyXFxufVxcclxcbjwvc3R5bGU+XFxyXFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTRiNjBiMTZhXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC1lZGl0b3IvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1NTFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///551\n");
3706
3707/***/ }),
3708/* 552 */
3709/***/ (function(module, exports, __webpack_require__) {
3710
3711"use strict";
3712eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TabTitle = exports.Container = exports.EmptyDescription = exports.EmptyTitle = exports.EmptyContainer = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n flex-grow: 1;\\n'], ['\\n flex-grow: 1;\\n']),\n _templateObject2 = (0, _taggedTemplateLiteral3.default)(['\\n display: flex;\\n justify-content: center;\\n color: #666;\\n font-weight: bold;\\n padding: 10px;\\n margin-top: 10px;\\n font-size: 14px;\\n'], ['\\n display: flex;\\n justify-content: center;\\n color: #666;\\n font-weight: bold;\\n padding: 10px;\\n margin-top: 10px;\\n font-size: 14px;\\n']),\n _templateObject3 = (0, _taggedTemplateLiteral3.default)(['\\n margin: 15px 10px 0 10px;\\n padding: 20px;\\n color: #999;\\n border: 1px solid #ddd;\\n border-radius: 3px;\\n font-size: 13px;\\n'], ['\\n margin: 15px 10px 0 10px;\\n padding: 20px;\\n color: #999;\\n border: 1px solid #ddd;\\n border-radius: 3px;\\n font-size: 13px;\\n']),\n _templateObject4 = (0, _taggedTemplateLiteral3.default)(['\\n flex-grow: 1;\\n overflow-y: auto;\\n'], ['\\n flex-grow: 1;\\n overflow-y: auto;\\n']),\n _templateObject5 = (0, _taggedTemplateLiteral3.default)(['\\n padding: 5px 10px;\\n font-size: 13px;\\n color: #666;\\n background-color: #eee;\\n'], ['\\n padding: 5px 10px;\\n font-size: 13px;\\n color: #666;\\n background-color: #eee;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EmptyContainer = exports.EmptyContainer = _vueStyledComponents2.default.div(_templateObject);\n\nvar EmptyTitle = exports.EmptyTitle = _vueStyledComponents2.default.div(_templateObject2);\n\nvar EmptyDescription = exports.EmptyDescription = _vueStyledComponents2.default.div(_templateObject3);\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject4);\n\nvar TabTitle = exports.TabTitle = _vueStyledComponents2.default.div(_templateObject5);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yL3N0eWxlLmpzP2MyZWUiXSwibmFtZXMiOlsiRW1wdHlDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJFbXB0eVRpdGxlIiwiRW1wdHlEZXNjcmlwdGlvbiIsIkNvbnRhaW5lciIsIlRhYlRpdGxlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFFTyxJQUFNQSwwQ0FBaUJDLDhCQUFPQyxHQUF4QixpQkFBTjs7QUFJQSxJQUFNQyxrQ0FBYUYsOEJBQU9DLEdBQXBCLGtCQUFOOztBQVVBLElBQU1FLDhDQUFtQkgsOEJBQU9DLEdBQTFCLGtCQUFOOztBQVNBLElBQU1HLGdDQUFZSiw4QkFBT0MsR0FBbkIsa0JBQU47O0FBS0EsSUFBTUksOEJBQVdMLDhCQUFPQyxHQUFsQixrQkFBTiIsImZpbGUiOiI1NTIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcblxyXG5leHBvcnQgY29uc3QgRW1wdHlDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIGZsZXgtZ3JvdzogMTtcclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBFbXB0eVRpdGxlID0gc3R5bGVkLmRpdmBcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGNvbG9yOiAjNjY2O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgbWFyZ2luLXRvcDogMTBweDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgRW1wdHlEZXNjcmlwdGlvbiA9IHN0eWxlZC5kaXZgXHJcbiAgbWFyZ2luOiAxNXB4IDEwcHggMCAxMHB4O1xyXG4gIHBhZGRpbmc6IDIwcHg7XHJcbiAgY29sb3I6ICM5OTk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcclxuICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgZmxleC1ncm93OiAxO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVGFiVGl0bGUgPSBzdHlsZWQuZGl2YFxyXG4gIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBjb2xvcjogIzY2NjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xyXG5gO1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yL3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///552\n");
3713
3714/***/ }),
3715/* 553 */
3716/***/ (function(module, exports, __webpack_require__) {
3717
3718eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(554);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"1616fb64\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../node_modules/_css-loader@0.28.11@css-loader/index.js!../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js?indentedSyntax!./main-tool-editor-type-style.less\", function() {\n var newContent = require(\"!!../../../../node_modules/_css-loader@0.28.11@css-loader/index.js!../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js?indentedSyntax!./main-tool-editor-type-style.less\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy1tYWluLXRvb2wtZWRpdG9yLXR5cGUtc3R5bGUvbWFpbi10b29sLWVkaXRvci10eXBlLXN0eWxlLmxlc3M/MTgzMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUEwTDtBQUNoTiw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQTJGLGdDQUFnQztBQUNoSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI1NTMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzP2luZGVudGVkU3ludGF4IS4vbWFpbi10b29sLWVkaXRvci10eXBlLXN0eWxlLmxlc3NcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjE2MTZmYjY0XCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanM/aW5kZW50ZWRTeW50YXghLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtc3R5bGUubGVzc1wiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanM/aW5kZW50ZWRTeW50YXghLi9tYWluLXRvb2wtZWRpdG9yLXR5cGUtc3R5bGUubGVzc1wiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy1tYWluLXRvb2wtZWRpdG9yLXR5cGUtc3R5bGUvbWFpbi10b29sLWVkaXRvci10eXBlLXN0eWxlLmxlc3Ncbi8vIG1vZHVsZSBpZCA9IDU1M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///553\n");
3719
3720/***/ }),
3721/* 554 */
3722/***/ (function(module, exports, __webpack_require__) {
3723
3724eval("exports = module.exports = __webpack_require__(0)(false);\n// imports\n\n\n// module\nexports.push([module.i, \".ivu-input-number-input {\\n width: 95%;\\n}\\n.dMlWdm {\\n padding: 5px 19px 5px 0;\\n}\\n.main-ul {\\n margin: 0px 3px 3px;\\n}\\n.main-ul .main-li {\\n margin: 3px 3px 10px;\\n border: 1px dashed lightgray;\\n border-radius: 5px;\\n}\\n.main-ul .main-li .main-li-div {\\n width: 100%;\\n margin: 3px 5px;\\n display: block;\\n min-height: 27px;\\n}\\n.main-ul .main-li .main-li-div .main-li-label {\\n width: 90%;\\n margin: 0px 8px;\\n min-height: 25px;\\n}\\n.main-ul .main-li .main-li-div .main-li-item {\\n width: 90%;\\n min-height: 32px;\\n float: left;\\n margin: 0px 8px 12px 8px;\\n}\\n.main-ul .main-li .main-li-div .main-li-item .main-li-item-option {\\n width: 300px;\\n text-overflow: ellipsis;\\n}\\n.main-ul .main-li .main-li-div .main-li-item-switch {\\n width: 45px;\\n min-height: 23px;\\n float: left;\\n margin: 0px 8px 0px 8px;\\n padding-bottom: 10px;\\n}\\n.main-ul .main-li .main-li-div .main-li-item-inputNumber {\\n min-height: 34px;\\n width: 90%;\\n float: left;\\n margin: 0px 8px 12px 8px;\\n}\\n.main-ul .main-li .main-li-btn {\\n text-align: right;\\n margin: 5px 13px 7px;\\n}\\n.main-ul .main-li .main-li-btn-child {\\n text-align: right;\\n margin: 5px 13px 7px;\\n}\\n.title-style {\\n padding: 5px 10px;\\n font-size: 14px;\\n color: #666;\\n background-color: #eee;\\n width: 100%;\\n font-weight: bold;\\n}\\n.item-style {\\n margin: 5px 10px 10px;\\n}\\n\", \"\"]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy1tYWluLXRvb2wtZWRpdG9yLXR5cGUtc3R5bGUvbWFpbi10b29sLWVkaXRvci10eXBlLXN0eWxlLmxlc3M/ZWJlNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUF5RTtBQUM1Rzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsNEJBQTRCLGVBQWUsR0FBRyxXQUFXLDRCQUE0QixHQUFHLFlBQVksd0JBQXdCLEdBQUcscUJBQXFCLHlCQUF5QixpQ0FBaUMsdUJBQXVCLEdBQUcsa0NBQWtDLGdCQUFnQixvQkFBb0IsbUJBQW1CLHFCQUFxQixHQUFHLGlEQUFpRCxlQUFlLG9CQUFvQixxQkFBcUIsR0FBRyxnREFBZ0QsZUFBZSxxQkFBcUIsZ0JBQWdCLDZCQUE2QixHQUFHLHFFQUFxRSxpQkFBaUIsNEJBQTRCLEdBQUcsdURBQXVELGdCQUFnQixxQkFBcUIsZ0JBQWdCLDRCQUE0Qix5QkFBeUIsR0FBRyw0REFBNEQscUJBQXFCLGVBQWUsZ0JBQWdCLDZCQUE2QixHQUFHLGtDQUFrQyxzQkFBc0IseUJBQXlCLEdBQUcsd0NBQXdDLHNCQUFzQix5QkFBeUIsR0FBRyxnQkFBZ0Isc0JBQXNCLG9CQUFvQixnQkFBZ0IsMkJBQTJCLGdCQUFnQixzQkFBc0IsR0FBRyxlQUFlLDBCQUEwQixHQUFHOztBQUVqM0MiLCJmaWxlIjoiNTU0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIi5pdnUtaW5wdXQtbnVtYmVyLWlucHV0IHtcXG4gIHdpZHRoOiA5NSU7XFxufVxcbi5kTWxXZG0ge1xcbiAgcGFkZGluZzogNXB4IDE5cHggNXB4IDA7XFxufVxcbi5tYWluLXVsIHtcXG4gIG1hcmdpbjogMHB4IDNweCAzcHg7XFxufVxcbi5tYWluLXVsIC5tYWluLWxpIHtcXG4gIG1hcmdpbjogM3B4IDNweCAxMHB4O1xcbiAgYm9yZGVyOiAxcHggZGFzaGVkIGxpZ2h0Z3JheTtcXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcXG59XFxuLm1haW4tdWwgLm1haW4tbGkgLm1haW4tbGktZGl2IHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgbWFyZ2luOiAzcHggNXB4O1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBtaW4taGVpZ2h0OiAyN3B4O1xcbn1cXG4ubWFpbi11bCAubWFpbi1saSAubWFpbi1saS1kaXYgLm1haW4tbGktbGFiZWwge1xcbiAgd2lkdGg6IDkwJTtcXG4gIG1hcmdpbjogMHB4IDhweDtcXG4gIG1pbi1oZWlnaHQ6IDI1cHg7XFxufVxcbi5tYWluLXVsIC5tYWluLWxpIC5tYWluLWxpLWRpdiAubWFpbi1saS1pdGVtIHtcXG4gIHdpZHRoOiA5MCU7XFxuICBtaW4taGVpZ2h0OiAzMnB4O1xcbiAgZmxvYXQ6IGxlZnQ7XFxuICBtYXJnaW46IDBweCA4cHggMTJweCA4cHg7XFxufVxcbi5tYWluLXVsIC5tYWluLWxpIC5tYWluLWxpLWRpdiAubWFpbi1saS1pdGVtIC5tYWluLWxpLWl0ZW0tb3B0aW9uIHtcXG4gIHdpZHRoOiAzMDBweDtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbn1cXG4ubWFpbi11bCAubWFpbi1saSAubWFpbi1saS1kaXYgLm1haW4tbGktaXRlbS1zd2l0Y2gge1xcbiAgd2lkdGg6IDQ1cHg7XFxuICBtaW4taGVpZ2h0OiAyM3B4O1xcbiAgZmxvYXQ6IGxlZnQ7XFxuICBtYXJnaW46IDBweCA4cHggMHB4IDhweDtcXG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xcbn1cXG4ubWFpbi11bCAubWFpbi1saSAubWFpbi1saS1kaXYgLm1haW4tbGktaXRlbS1pbnB1dE51bWJlciB7XFxuICBtaW4taGVpZ2h0OiAzNHB4O1xcbiAgd2lkdGg6IDkwJTtcXG4gIGZsb2F0OiBsZWZ0O1xcbiAgbWFyZ2luOiAwcHggOHB4IDEycHggOHB4O1xcbn1cXG4ubWFpbi11bCAubWFpbi1saSAubWFpbi1saS1idG4ge1xcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XFxuICBtYXJnaW46IDVweCAxM3B4IDdweDtcXG59XFxuLm1haW4tdWwgLm1haW4tbGkgLm1haW4tbGktYnRuLWNoaWxkIHtcXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xcbiAgbWFyZ2luOiA1cHggMTNweCA3cHg7XFxufVxcbi50aXRsZS1zdHlsZSB7XFxuICBwYWRkaW5nOiA1cHggMTBweDtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGNvbG9yOiAjNjY2O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxufVxcbi5pdGVtLXN0eWxlIHtcXG4gIG1hcmdpbjogNXB4IDEwcHggMTBweDtcXG59XFxuXCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcz9pbmRlbnRlZFN5bnRheCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zLW1haW4tdG9vbC1lZGl0b3ItdHlwZS1zdHlsZS9tYWluLXRvb2wtZWRpdG9yLXR5cGUtc3R5bGUubGVzc1xuLy8gbW9kdWxlIGlkID0gNTU0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///554\n");
3725
3726/***/ }),
3727/* 555 */
3728/***/ (function(module, __webpack_exports__, __webpack_require__) {
3729
3730"use strict";
3731eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n !_vm.currentEditInstanceKey\n ? _c(\n \"EmptyContainer\",\n [\n _c(\"EmptyTitle\", [_vm._v(\"\\n 无编辑信息\\n \")]),\n _vm._v(\" \"),\n _c(\"EmptyDescription\", [\n _vm._v(\"\\n 该组件还未添加编辑信息。\\n \")\n ])\n ],\n 1\n )\n : _c(\n \"Container\",\n [\n _vm._l(_vm.pluginsBelongKeys[\"mainToolEditorManager\"], function(\n item,\n index\n ) {\n return _c(item, { key: index, tag: \"component\" })\n }),\n _vm._v(\" \"),\n _vm._l(_vm.pluginsBelongKeys[\"mainToolEditorEvent\"], function(\n item,\n index\n ) {\n return _c(item, { key: index, tag: \"component\" })\n }),\n _vm._v(\" \"),\n _vm._l(_vm.pluginsBelongKeys[\"mainToolEditorAddon\"], function(\n item,\n index\n ) {\n return _c(item, { key: index, tag: \"component\" })\n })\n ],\n 2\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-4b60b16a\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yL2luZGV4LnZ1ZT84MDEyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssZUFBZSxnQkFBZ0IsRUFBRTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLCtCQUErQjtBQUNoRSxlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQywrQkFBK0I7QUFDaEUsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMsK0JBQStCO0FBQ2hFLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjU1NS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sXG4gICAgW1xuICAgICAgIV92bS5jdXJyZW50RWRpdEluc3RhbmNlS2V5XG4gICAgICAgID8gX2MoXG4gICAgICAgICAgICBcIkVtcHR5Q29udGFpbmVyXCIsXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgIF9jKFwiRW1wdHlUaXRsZVwiLCBbX3ZtLl92KFwiXFxuICAgICAgICAgICAg5peg57yW6L6R5L+h5oGvXFxuICAgICAgICBcIildKSxcbiAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgX2MoXCJFbXB0eURlc2NyaXB0aW9uXCIsIFtcbiAgICAgICAgICAgICAgICBfdm0uX3YoXCJcXG4gICAgICAgICAgICDor6Xnu4Tku7bov5jmnKrmt7vliqDnvJbovpHkv6Hmga/jgIJcXG4gICAgICAgIFwiKVxuICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApXG4gICAgICAgIDogX2MoXG4gICAgICAgICAgICBcIkNvbnRhaW5lclwiLFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfdm0uX2woX3ZtLnBsdWdpbnNCZWxvbmdLZXlzW1wibWFpblRvb2xFZGl0b3JNYW5hZ2VyXCJdLCBmdW5jdGlvbihcbiAgICAgICAgICAgICAgICBpdGVtLFxuICAgICAgICAgICAgICAgIGluZGV4XG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiBfYyhpdGVtLCB7IGtleTogaW5kZXgsIHRhZzogXCJjb21wb25lbnRcIiB9KVxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgX3ZtLl9sKF92bS5wbHVnaW5zQmVsb25nS2V5c1tcIm1haW5Ub29sRWRpdG9yRXZlbnRcIl0sIGZ1bmN0aW9uKFxuICAgICAgICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgICAgICAgaW5kZXhcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9jKGl0ZW0sIHsga2V5OiBpbmRleCwgdGFnOiBcImNvbXBvbmVudFwiIH0pXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICBfdm0uX2woX3ZtLnBsdWdpbnNCZWxvbmdLZXlzW1wibWFpblRvb2xFZGl0b3JBZGRvblwiXSwgZnVuY3Rpb24oXG4gICAgICAgICAgICAgICAgaXRlbSxcbiAgICAgICAgICAgICAgICBpbmRleFxuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX2MoaXRlbSwgeyBrZXk6IGluZGV4LCB0YWc6IFwiY29tcG9uZW50XCIgfSlcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAyXG4gICAgICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi00YjYwYjE2YVwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi00YjYwYjE2YVwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtZWRpdG9yL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTU1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///555\n");
3732
3733/***/ }),
3734/* 556 */
3735/***/ (function(module, __webpack_exports__, __webpack_require__) {
3736
3737"use strict";
3738eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(153);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_8de6d608_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(560);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(557)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_8de6d608_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool-tree/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-8de6d608\", Component.options)\n } else {\n hotAPI.reload(\"data-v-8de6d608\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtdHJlZS9pbmRleC52dWU/YjliNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQTRWO0FBQ3RXO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDcUk7QUFDYTtBQUNsSjtBQUM4UztBQUM5UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsa1FBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI1NTYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi04ZGU2ZDYwOFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IWxlc3MtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtOGRlNmQ2MDhcXFwiLFxcXCJoYXNTY29wZWRcXFwiOmZhbHNlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC10cmVlL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi04ZGU2ZDYwOFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LThkZTZkNjA4XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLXRyZWUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1NTZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///556\n");
3739
3740/***/ }),
3741/* 557 */
3742/***/ (function(module, exports, __webpack_require__) {
3743
3744eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(558);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"5f6e9cd4\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-8de6d608\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-8de6d608\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtdHJlZS9pbmRleC52dWU/YWJkMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUE2YTtBQUNuYyw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsbUZBQW1GO0FBQ2hSLHNNQUFzTSxtRkFBbUY7QUFDelI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI1NTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtOGRlNmQ2MDhcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiNWY2ZTljZDRcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LThkZTZkNjA4XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtOGRlNmQ2MDhcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi04ZGU2ZDYwOFwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLXRyZWUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1NTdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///557\n");
3745
3746/***/ }),
3747/* 558 */
3748/***/ (function(module, exports, __webpack_require__) {
3749
3750eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n#gaea-editor-vue .ivu-tabs {\\n width: 100%;\\n}\\n#gaea-editor-vue .ivu-tabs-nav .ivu-tabs-tab {\\n padding: 10px 16px;\\n}\\n#gaea-editor-vue .ivu-tabs-bar {\\n margin-bottom: 0;\\n}\\n#gaea-editor-vue .main-tool-tree-node span b {\\n margin-left: 10px;\\n color: #ccc;\\n}\\n#gaea-editor-vue .main-tool-tree-node span :hover {\\n color: #d5e8fc;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/plugins/main-tool-tree/index.vue\"],\"names\":[],\"mappings\":\";AAAA;EACE,YAAY;CACb;AACD;EACE,mBAAmB;CACpB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,kBAAkB;EAClB,YAAY;CACb;AACD;EACE,eAAe;CAChB\",\"file\":\"index.vue\",\"sourcesContent\":[\"#gaea-editor-vue .ivu-tabs {\\n width: 100%;\\n}\\n#gaea-editor-vue .ivu-tabs-nav .ivu-tabs-tab {\\n padding: 10px 16px;\\n}\\n#gaea-editor-vue .ivu-tabs-bar {\\n margin-bottom: 0;\\n}\\n#gaea-editor-vue .main-tool-tree-node span b {\\n margin-left: 10px;\\n color: #ccc;\\n}\\n#gaea-editor-vue .main-tool-tree-node span :hover {\\n color: #d5e8fc;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtdHJlZS9pbmRleC52dWU/NzFkYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsaUNBQWlDLGdCQUFnQixHQUFHLGdEQUFnRCx1QkFBdUIsR0FBRyxrQ0FBa0MscUJBQXFCLEdBQUcsZ0RBQWdELHNCQUFzQixnQkFBZ0IsR0FBRyxxREFBcUQsbUJBQW1CLEdBQUcsVUFBVSxrSUFBa0ksS0FBSyxVQUFVLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLFdBQVcsS0FBSyxLQUFLLFVBQVUseUVBQXlFLGdCQUFnQixHQUFHLGdEQUFnRCx1QkFBdUIsR0FBRyxrQ0FBa0MscUJBQXFCLEdBQUcsZ0RBQWdELHNCQUFzQixnQkFBZ0IsR0FBRyxxREFBcUQsbUJBQW1CLEdBQUcscUJBQXFCOztBQUUxZ0MiLCJmaWxlIjoiNTU4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuI2dhZWEtZWRpdG9yLXZ1ZSAuaXZ1LXRhYnMge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbiNnYWVhLWVkaXRvci12dWUgLml2dS10YWJzLW5hdiAuaXZ1LXRhYnMtdGFiIHtcXG4gIHBhZGRpbmc6IDEwcHggMTZweDtcXG59XFxuI2dhZWEtZWRpdG9yLXZ1ZSAuaXZ1LXRhYnMtYmFyIHtcXG4gIG1hcmdpbi1ib3R0b206IDA7XFxufVxcbiNnYWVhLWVkaXRvci12dWUgLm1haW4tdG9vbC10cmVlLW5vZGUgc3BhbiBiIHtcXG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xcbiAgY29sb3I6ICNjY2M7XFxufVxcbiNnYWVhLWVkaXRvci12dWUgLm1haW4tdG9vbC10cmVlLW5vZGUgc3BhbiA6aG92ZXIge1xcbiAgY29sb3I6ICNkNWU4ZmM7XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJFOi9wcm9qZWN0L3BhZ2UtaWRlLXhpYW4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLXRyZWUvaW5kZXgudnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUFBQTtFQUNFLFlBQVk7Q0FDYjtBQUNEO0VBQ0UsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLGtCQUFrQjtFQUNsQixZQUFZO0NBQ2I7QUFDRDtFQUNFLGVBQWU7Q0FDaEJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIjZ2FlYS1lZGl0b3ItdnVlIC5pdnUtdGFicyB7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuI2dhZWEtZWRpdG9yLXZ1ZSAuaXZ1LXRhYnMtbmF2IC5pdnUtdGFicy10YWIge1xcbiAgcGFkZGluZzogMTBweCAxNnB4O1xcbn1cXG4jZ2FlYS1lZGl0b3ItdnVlIC5pdnUtdGFicy1iYXIge1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG59XFxuI2dhZWEtZWRpdG9yLXZ1ZSAubWFpbi10b29sLXRyZWUtbm9kZSBzcGFuIGIge1xcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XFxuICBjb2xvcjogI2NjYztcXG59XFxuI2dhZWEtZWRpdG9yLXZ1ZSAubWFpbi10b29sLXRyZWUtbm9kZSBzcGFuIDpob3ZlciB7XFxuICBjb2xvcjogI2Q1ZThmYztcXG59XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LThkZTZkNjA4XCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtdHJlZS9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDU1OFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///558\n");
3751
3752/***/ }),
3753/* 559 */
3754/***/ (function(module, exports, __webpack_require__) {
3755
3756"use strict";
3757eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AbsoluteContainer = exports.TreeContainer = exports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n position: relative;\\n border-top: 1px solid #ddd;\\n flex-grow: 1;\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n'], ['\\n position: relative;\\n border-top: 1px solid #ddd;\\n flex-grow: 1;\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n']),\n _templateObject2 = (0, _taggedTemplateLiteral3.default)(['\\n position: relative;\\n width: 100%;\\n overflow-y: auto;\\n overflow-x: hidden;\\n'], ['\\n position: relative;\\n width: 100%;\\n overflow-y: auto;\\n overflow-x: hidden;\\n']),\n _templateObject3 = (0, _taggedTemplateLiteral3.default)(['\\n position: absolute;\\n bottom: 0;\\n right: 0;\\n padding: 5px;\\n background-color: white;\\n font-size: 12px;\\n color: #666;\\n'], ['\\n position: absolute;\\n bottom: 0;\\n right: 0;\\n padding: 5px;\\n background-color: white;\\n font-size: 12px;\\n color: #666;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n\nvar TreeContainer = exports.TreeContainer = _vueStyledComponents2.default.div(_templateObject2);\n\nvar AbsoluteContainer = exports.AbsoluteContainer = _vueStyledComponents2.default.div(_templateObject3);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtdHJlZS9zdHlsZS5qcz9lNWEwIl0sIm5hbWVzIjpbIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIlRyZWVDb250YWluZXIiLCJBYnNvbHV0ZUNvbnRhaW5lciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUNPLElBQU1BLGdDQUFZQyw4QkFBT0MsR0FBbkIsaUJBQU47O0FBU0EsSUFBTUMsd0NBQWdCRiw4QkFBT0MsR0FBdkIsa0JBQU47O0FBT0EsSUFBTUUsZ0RBQW9CSCw4QkFBT0MsR0FBM0Isa0JBQU4iLCJmaWxlIjoiNTU5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICd2dWUtc3R5bGVkLWNvbXBvbmVudHMnO1xyXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XHJcbiAgZmxleC1ncm93OiAxO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBUcmVlQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgQWJzb2x1dGVDb250YWluZXIgPSBzdHlsZWQuZGl2YFxyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgcGFkZGluZzogNXB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBjb2xvcjogIzY2NjtcclxuYDtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sLXRyZWUvc3R5bGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///559\n");
3758
3759/***/ }),
3760/* 560 */
3761/***/ (function(module, __webpack_exports__, __webpack_require__) {
3762
3763"use strict";
3764eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"TreeContainer\",\n [\n _c(\"Tree\", {\n attrs: { data: _vm.componentTree, render: _vm.renderContent }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-8de6d608\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtdHJlZS9pbmRleC52dWU/NTE0ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLGVBQWUsZ0JBQWdCLEVBQUU7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QixlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI1NjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAgeyBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCIxMDAlXCIgfSB9LFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcIkNvbnRhaW5lclwiLFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcIlRyZWVDb250YWluZXJcIixcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX2MoXCJUcmVlXCIsIHtcbiAgICAgICAgICAgICAgICBhdHRyczogeyBkYXRhOiBfdm0uY29tcG9uZW50VHJlZSwgcmVuZGVyOiBfdm0ucmVuZGVyQ29udGVudCB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgMVxuICAgICAgICAgIClcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi04ZGU2ZDYwOFwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi04ZGU2ZDYwOFwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wtdHJlZS9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDU2MFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///560\n");
3765
3766/***/ }),
3767/* 561 */
3768/***/ (function(module, __webpack_exports__, __webpack_require__) {
3769
3770"use strict";
3771eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(154);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_445361f6_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(565);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(562)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_445361f6_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/main-tool/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-445361f6\", Component.options)\n } else {\n hotAPI.reload(\"data-v-445361f6\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wvaW5kZXgudnVlPzcyNDciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFnVjtBQUMxVjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDOFM7QUFDOVM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGtRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNTYxLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNDQ1MzYxZjZcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTQ0NTM2MWY2XFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTQ0NTM2MWY2XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtNDQ1MzYxZjZcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1NjFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///561\n");
3772
3773/***/ }),
3774/* 562 */
3775/***/ (function(module, exports, __webpack_require__) {
3776
3777eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(563);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"72e5f039\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-445361f6\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-445361f6\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wvaW5kZXgudnVlP2VmODkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBc1c7QUFDNVgsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLG1GQUFtRjtBQUNoUixzTUFBc00sbUZBQW1GO0FBQ3pSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNTYyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTQ0NTM2MWY2XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCI3MmU1ZjAzOVwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNDQ1MzYxZjZcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNDQ1MzYxZjZcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNDQ1MzYxZjZcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTYyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///562\n");
3778
3779/***/ }),
3780/* 563 */
3781/***/ (function(module, exports, __webpack_require__) {
3782
3783eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.disabledClass{\\n position: absolute;\\n top:0px;\\n left: 0px;\\n width: 100%;\\n height: 100%;\\n background: gray;\\n opacity: 0.4;\\n}\\n#gaea-editor-vue .ivu-tabs {\\n width: 100%;\\n overflow-y: auto;\\n}\\n#gaea-editor-vue .ivu-tabs-nav .ivu-tabs-tab {\\n padding: 10px 16px;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/plugins/main-tool/myPlugin/page-ide/lib/plugins/main-tool/index.vue\"],\"names\":[],\"mappings\":\";AAoEA;IACA,mBAAA;IACA,QAAA;IACA,UAAA;IACA,YAAA;IACA,aAAA;IACA,iBAAA;IACA,aAAA;CACA;AACA;IACA,YAAA;IACA,iBAAA;CACA;AAEA;IACA,mBAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div style=\\\"width: 100%;\\\">\\r\\n <Container>\\r\\n <Tabs>\\r\\n <TabPane label=\\\"属性\\\" name=\\\"property\\\" style=\\\"width: 100%\\\">\\r\\n <component :is=\\\"item\\\" v-for=\\\"(item,index) in applicationState.pluginsBelongKeys['mainToolEditor']\\\"\\r\\n :key=\\\"index\\\">\\r\\n </component>\\r\\n <div class=\\\"disabledClass\\\" v-if=\\\"isActive\\\">\\r\\n\\r\\n </div>\\r\\n </TabPane>\\r\\n <!-- <TabPane label=\\\"组件树\\\" name=\\\"componentTree\\\">\\r\\n <component :is=\\\"item\\\" v-for=\\\"(item,index) in applicationState.pluginsBelongKeys['mainToolTree']\\\"\\r\\n :key=\\\"index\\\"></component>\\r\\n </TabPane>-->\\r\\n </Tabs>\\r\\n </Container>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\n import * as components from './style';\\r\\n import eventbus from '../../service/eventbus';\\r\\n export default {\\r\\n components: {\\r\\n ...components\\r\\n },\\r\\n position: 'mainTool',\\r\\n name: 'main-tool',\\r\\n data(){\\r\\n return {\\r\\n isActive:false,\\r\\n myData:configPageIde.instances,\\r\\n }\\r\\n },\\r\\n computed: {\\r\\n applicationState() {\\r\\n console.log(\\\"-------------------->\\\");\\r\\n console.log(this.$store.state.application);\\r\\n return this.$store.state.application;\\r\\n }\\r\\n },\\r\\n mounted() {\\r\\n eventbus.$on(\\\"clickCurrentKey\\\",(clickCurrentKey)=>{\\r\\n debugger;\\r\\n let viewType= localStorage.getItem(\\\"viewType\\\");\\r\\n if(viewType==\\\"2\\\"){\\r\\n this.isActive=true;\\r\\n }else{\\r\\n let isContain = configPageIde.instances.indexOf(clickCurrentKey); // 2\\r\\n if(isContain==-1){\\r\\n //note 说明是后拖进来的\\r\\n this.isActive=false;\\r\\n }else{\\r\\n this.isActive=true;\\r\\n }\\r\\n }\\r\\n\\r\\n });\\r\\n },\\r\\n beforeDestroy(){\\r\\n eventbus.$off(\\\"clickCurrentKey\\\");\\r\\n }\\r\\n };\\r\\n</script>\\r\\n\\r\\n<style>\\r\\n .disabledClass{\\r\\n position: absolute;\\r\\n top:0px;\\r\\n left: 0px;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n background: gray;\\r\\n opacity: 0.4;\\r\\n }\\r\\n #gaea-editor-vue .ivu-tabs {\\r\\n width: 100%;\\r\\n overflow-y: auto;\\r\\n }\\r\\n\\r\\n #gaea-editor-vue .ivu-tabs-nav .ivu-tabs-tab {\\r\\n padding: 10px 16px;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wvaW5kZXgudnVlPzAxOGUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLG9CQUFvQix5QkFBeUIsY0FBYyxnQkFBZ0Isa0JBQWtCLG1CQUFtQix1QkFBdUIsbUJBQW1CLEdBQUcsOEJBQThCLGtCQUFrQix1QkFBdUIsR0FBRyxnREFBZ0QseUJBQXlCLEdBQUcsVUFBVSxxS0FBcUssTUFBTSxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxVQUFVLEtBQUssS0FBSyxVQUFVLFdBQVcsS0FBSyxLQUFLLFdBQVcsdUZBQXVGLHc0QkFBdzRCLHNEQUFzRCx3QkFBd0IseUJBQXlCLDBDQUEwQyxtRkFBbUYsc0JBQXNCLGdHQUFnRyxhQUFhLHdCQUF3QixvQ0FBb0MsMkRBQTJELCtEQUErRCx5REFBeUQsaUJBQWlCLGFBQWEsd0JBQXdCLHFFQUFxRSw2QkFBNkIscUVBQXFFLHdDQUF3QywyQ0FBMkMscUJBQXFCLEtBQUsseUZBQXlGLCtDQUErQywyRkFBMkYseUJBQXlCLEtBQUssK0NBQStDLHlCQUF5QixxQkFBcUIscUJBQXFCLEVBQUUsYUFBYSw2QkFBNkIsbURBQW1ELGFBQWEsVUFBVSxtREFBbUQsK0JBQStCLG9CQUFvQixzQkFBc0Isd0JBQXdCLHlCQUF5Qiw2QkFBNkIseUJBQXlCLFNBQVMsb0NBQW9DLHdCQUF3Qiw2QkFBNkIsU0FBUywwREFBMEQsK0JBQStCLFNBQVMsbUNBQW1DOztBQUV0N0ciLCJmaWxlIjoiNTYzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLmRpc2FibGVkQ2xhc3N7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOjBweDtcXG4gICAgbGVmdDogMHB4O1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgaGVpZ2h0OiAxMDAlO1xcbiAgICBiYWNrZ3JvdW5kOiBncmF5O1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxufVxcbiNnYWVhLWVkaXRvci12dWUgLml2dS10YWJzIHtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIG92ZXJmbG93LXk6IGF1dG87XFxufVxcbiNnYWVhLWVkaXRvci12dWUgLml2dS10YWJzLW5hdiAuaXZ1LXRhYnMtdGFiIHtcXG4gICAgcGFkZGluZzogMTBweCAxNnB4O1xcbn1cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wiRTovcHJvamVjdC9wYWdlLWlkZS14aWFuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL21haW4tdG9vbC9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wvaW5kZXgudnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUFvRUE7SUFDQSxtQkFBQTtJQUNBLFFBQUE7SUFDQSxVQUFBO0lBQ0EsWUFBQTtJQUNBLGFBQUE7SUFDQSxpQkFBQTtJQUNBLGFBQUE7Q0FDQTtBQUNBO0lBQ0EsWUFBQTtJQUNBLGlCQUFBO0NBQ0E7QUFFQTtJQUNBLG1CQUFBO0NBQ0FcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCI8dGVtcGxhdGU+XFxyXFxuICAgIDxkaXYgc3R5bGU9XFxcIndpZHRoOiAxMDAlO1xcXCI+XFxyXFxuICAgICAgICA8Q29udGFpbmVyPlxcclxcbiAgICAgICAgICAgIDxUYWJzPlxcclxcbiAgICAgICAgICAgICAgICA8VGFiUGFuZSBsYWJlbD1cXFwi5bGe5oCnXFxcIiBuYW1lPVxcXCJwcm9wZXJ0eVxcXCIgc3R5bGU9XFxcIndpZHRoOiAxMDAlXFxcIj5cXHJcXG4gICAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgOmlzPVxcXCJpdGVtXFxcIiB2LWZvcj1cXFwiKGl0ZW0saW5kZXgpIGluIGFwcGxpY2F0aW9uU3RhdGUucGx1Z2luc0JlbG9uZ0tleXNbJ21haW5Ub29sRWRpdG9yJ11cXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDprZXk9XFxcImluZGV4XFxcIj5cXHJcXG4gICAgICAgICAgICAgICAgICAgIDwvY29tcG9uZW50PlxcclxcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGlzYWJsZWRDbGFzc1xcXCIgdi1pZj1cXFwiaXNBY3RpdmVcXFwiPlxcclxcblxcclxcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XFxyXFxuICAgICAgICAgICAgICAgIDwvVGFiUGFuZT5cXHJcXG4gICAgICAgICAgICAgICA8IS0tIDxUYWJQYW5lIGxhYmVsPVxcXCLnu4Tku7bmoJFcXFwiIG5hbWU9XFxcImNvbXBvbmVudFRyZWVcXFwiPlxcclxcbiAgICAgICAgICAgICAgICAgICAgPGNvbXBvbmVudCA6aXM9XFxcIml0ZW1cXFwiIHYtZm9yPVxcXCIoaXRlbSxpbmRleCkgaW4gYXBwbGljYXRpb25TdGF0ZS5wbHVnaW5zQmVsb25nS2V5c1snbWFpblRvb2xUcmVlJ11cXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDprZXk9XFxcImluZGV4XFxcIj48L2NvbXBvbmVudD5cXHJcXG4gICAgICAgICAgICAgICAgPC9UYWJQYW5lPi0tPlxcclxcbiAgICAgICAgICAgIDwvVGFicz5cXHJcXG4gICAgICAgIDwvQ29udGFpbmVyPlxcclxcbiAgICA8L2Rpdj5cXHJcXG48L3RlbXBsYXRlPlxcclxcblxcclxcbjxzY3JpcHQ+XFxyXFxuICAgIGltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XFxyXFxuICAgIGltcG9ydCBldmVudGJ1cyBmcm9tICcuLi8uLi9zZXJ2aWNlL2V2ZW50YnVzJztcXHJcXG4gICAgZXhwb3J0IGRlZmF1bHQge1xcclxcbiAgICAgICAgY29tcG9uZW50czoge1xcclxcbiAgICAgICAgICAgIC4uLmNvbXBvbmVudHNcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBwb3NpdGlvbjogJ21haW5Ub29sJyxcXHJcXG4gICAgICAgIG5hbWU6ICdtYWluLXRvb2wnLFxcclxcbiAgICAgICAgZGF0YSgpe1xcclxcbiAgICAgICAgICByZXR1cm4ge1xcclxcbiAgICAgICAgICAgICAgaXNBY3RpdmU6ZmFsc2UsXFxyXFxuICAgICAgICAgICAgIG15RGF0YTpjb25maWdQYWdlSWRlLmluc3RhbmNlcyxcXHJcXG4gICAgICAgICAgfVxcclxcbiAgICAgICAgfSxcXHJcXG4gICAgICAgIGNvbXB1dGVkOiB7XFxyXFxuICAgICAgICAgICAgYXBwbGljYXRpb25TdGF0ZSgpIHtcXHJcXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXFxcIi0tLS0tLS0tLS0tLS0tLS0tLS0tPlxcXCIpO1xcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLiRzdG9yZS5zdGF0ZS5hcHBsaWNhdGlvbik7XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5hcHBsaWNhdGlvbjtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgbW91bnRlZCgpIHtcXHJcXG4gICAgICAgICAgICBldmVudGJ1cy4kb24oXFxcImNsaWNrQ3VycmVudEtleVxcXCIsKGNsaWNrQ3VycmVudEtleSk9PntcXHJcXG4gICAgICAgICAgICAgICAgZGVidWdnZXI7XFxyXFxuICAgICAgICAgICAgICAgIGxldCB2aWV3VHlwZT0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXFxcInZpZXdUeXBlXFxcIik7XFxyXFxuICAgICAgICAgICAgICAgIGlmKHZpZXdUeXBlPT1cXFwiMlxcXCIpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0FjdGl2ZT10cnVlO1xcclxcbiAgICAgICAgICAgICAgICB9ZWxzZXtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxldCBpc0NvbnRhaW4gPSBjb25maWdQYWdlSWRlLmluc3RhbmNlcy5pbmRleE9mKGNsaWNrQ3VycmVudEtleSk7IC8vIDJcXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmKGlzQ29udGFpbj09LTEpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDor7TmmI7mmK/lkI7mi5bov5vmnaXnmoRcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQWN0aXZlPWZhbHNlO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfWVsc2V7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0FjdGl2ZT10cnVlO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuXFxyXFxuICAgICAgICAgICAgfSk7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgYmVmb3JlRGVzdHJveSgpe1xcclxcbiAgICAgICAgICAgIGV2ZW50YnVzLiRvZmYoXFxcImNsaWNrQ3VycmVudEtleVxcXCIpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9O1xcclxcbjwvc2NyaXB0PlxcclxcblxcclxcbjxzdHlsZT5cXHJcXG4gICAgLmRpc2FibGVkQ2xhc3N7XFxyXFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxyXFxuICAgICAgICB0b3A6MHB4O1xcclxcbiAgICAgICAgbGVmdDogMHB4O1xcclxcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxyXFxuICAgICAgICBoZWlnaHQ6IDEwMCU7XFxyXFxuICAgICAgICBiYWNrZ3JvdW5kOiBncmF5O1xcclxcbiAgICAgICAgb3BhY2l0eTogMC40O1xcclxcbiAgICB9XFxyXFxuICAgICNnYWVhLWVkaXRvci12dWUgLml2dS10YWJzIHtcXHJcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcclxcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcXHJcXG4gICAgfVxcclxcblxcclxcbiAgICAjZ2FlYS1lZGl0b3ItdnVlIC5pdnUtdGFicy1uYXYgLml2dS10YWJzLXRhYiB7XFxyXFxuICAgICAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XFxyXFxuICAgIH1cXHJcXG48L3N0eWxlPlxcclxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi00NDUzNjFmNlwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1NjNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///563\n");
3784
3785/***/ }),
3786/* 564 */
3787/***/ (function(module, exports, __webpack_require__) {
3788
3789"use strict";
3790eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n display:flex;\\n flex-grow:1;\\n overflow-x:hidden;\\n '], ['\\n display:flex;\\n flex-grow:1;\\n overflow-x:hidden;\\n ']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wvc3R5bGUuanM/ZWYyMCJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBRU8sSUFBTUEsZ0NBQVlDLDhCQUFPQyxHQUFuQixpQkFBTiIsImZpbGUiOiI1NjQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3Z1ZS1zdHlsZWQtY29tcG9uZW50cyc7XHJcblxyXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcclxuICAgIGRpc3BsYXk6ZmxleDtcclxuICAgIGZsZXgtZ3JvdzoxO1xyXG4gICAgb3ZlcmZsb3cteDpoaWRkZW47XHJcbiAgICBgO1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wvc3R5bGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///564\n");
3791
3792/***/ }),
3793/* 565 */
3794/***/ (function(module, __webpack_exports__, __webpack_require__) {
3795
3796"use strict";
3797eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"100%\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"Tabs\",\n [\n _c(\n \"TabPane\",\n {\n staticStyle: { width: \"100%\" },\n attrs: { label: \"属性\", name: \"property\" }\n },\n [\n _vm._l(\n _vm.applicationState.pluginsBelongKeys[\"mainToolEditor\"],\n function(item, index) {\n return _c(item, { key: index, tag: \"component\" })\n }\n ),\n _vm._v(\" \"),\n _vm.isActive\n ? _c(\"div\", { staticClass: \"disabledClass\" })\n : _vm._e()\n ],\n 2\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-445361f6\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9tYWluLXRvb2wvaW5kZXgudnVlPzM0OTciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxlQUFlLGdCQUFnQixFQUFFO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLGdCQUFnQjtBQUNoRCwwQkFBMEI7QUFDMUIsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLCtCQUErQjtBQUN0RTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQywrQkFBK0I7QUFDaEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjU2NS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9IH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiQ29udGFpbmVyXCIsXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiVGFic1wiLFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICBcIlRhYlBhbmVcIixcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCIxMDAlXCIgfSxcbiAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IGxhYmVsOiBcIuWxnuaAp1wiLCBuYW1lOiBcInByb3BlcnR5XCIgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgX3ZtLl9sKFxuICAgICAgICAgICAgICAgICAgICBfdm0uYXBwbGljYXRpb25TdGF0ZS5wbHVnaW5zQmVsb25nS2V5c1tcIm1haW5Ub29sRWRpdG9yXCJdLFxuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihpdGVtLCBpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfYyhpdGVtLCB7IGtleTogaW5kZXgsIHRhZzogXCJjb21wb25lbnRcIiB9KVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgIF92bS5pc0FjdGl2ZVxuICAgICAgICAgICAgICAgICAgICA/IF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwiZGlzYWJsZWRDbGFzc1wiIH0pXG4gICAgICAgICAgICAgICAgICAgIDogX3ZtLl9lKClcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIDJcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgIClcbiAgICBdLFxuICAgIDFcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtNDQ1MzYxZjZcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtNDQ1MzYxZjZcIixcImhhc1Njb3BlZFwiOmZhbHNlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvbWFpbi10b29sL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTY1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///565\n");
3798
3799/***/ }),
3800/* 566 */
3801/***/ (function(module, __webpack_exports__, __webpack_require__) {
3802
3803"use strict";
3804eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(155);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_f37c584c_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(571);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(567)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_f37c584c_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/save/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-f37c584c\", Component.options)\n } else {\n hotAPI.reload(\"data-v-f37c584c\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9zYXZlL2luZGV4LnZ1ZT8yMzk5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBZ1Y7QUFDMVY7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUFxRjtBQUN0SDtBQUNxSTtBQUNhO0FBQ2xKO0FBQzhTO0FBQzlTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxrUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjU2Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWYzN2M1ODRjXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi1mMzdjNTg0Y1xcXCIsXFxcImhhc1Njb3BlZFxcXCI6ZmFsc2UsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvc2F2ZS9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtZjM3YzU4NGNcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi1mMzdjNTg0Y1wiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL3NhdmUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1NjZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///566\n");
3805
3806/***/ }),
3807/* 567 */
3808/***/ (function(module, exports, __webpack_require__) {
3809
3810eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(568);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"56aba3ea\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-f37c584c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-f37c584c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9zYXZlL2luZGV4LnZ1ZT9kZDE1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQXNXO0FBQzVYLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBOEYsZ0NBQWdDO0FBQ25KO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLDZMQUE2TCxtRkFBbUY7QUFDaFIsc01BQXNNLG1GQUFtRjtBQUN6UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjU2Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1mMzdjNTg0Y1xcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiNTZhYmEzZWFcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWYzN2M1ODRjXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWYzN2M1ODRjXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LWYzN2M1ODRjXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL3NhdmUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1Njdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///567\n");
3811
3812/***/ }),
3813/* 568 */
3814/***/ (function(module, exports, __webpack_require__) {
3815
3816eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.saveDivs{\\n padding:0px 10px;\\n height: 100%;\\n line-height: 40px;\\n min-width:56px;\\n text-align: center;\\n}\\n.saveDivs:hover{\\n background-color: white;\\n color: #333;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/plugins/save/myPlugin/page-ide/lib/plugins/save/index.vue\"],\"names\":[],\"mappings\":\";AA6UA;IACA,iBAAA;IACA,aAAA;IACA,kBAAA;IACA,eAAA;IACA,mBAAA;CACA;AACA;IACA,wBAAA;IACA,YAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div>\\r\\n <!-- <Container @click=\\\"exportData(1)\\\" class=\\\"saveDivs\\\">\\r\\n 保存模板和JSON\\r\\n </Container>\\r\\n &lt;!&ndash;<Container @click=\\\"saveData()\\\" style=\\\"margin-right:30px;\\\">\\r\\n 保存\\r\\n </Container>&ndash;&gt;\\r\\n <Container @click=\\\"exportData(2)\\\" class=\\\"saveDivs\\\">\\r\\n 预览\\r\\n </Container>\\r\\n <Container @click=\\\"deleteData()\\\" class=\\\"saveDivs\\\">\\r\\n 删除\\r\\n </Container>\\r\\n <Container @click=\\\"gobackList()\\\" class=\\\"saveDivs\\\">\\r\\n 返回列表\\r\\n </Container>\\r\\n <Modal v-model=\\\"modalpreview\\\" fullscreen footer-hide title=\\\"页面预览\\\" :styles=\\\"{backgroundColor:'#F5F7F9'}\\\">\\r\\n <router-view/>\\r\\n </Modal>-->\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\n import * as components from './style';\\r\\n import eventbus from '../../service/eventbus';\\r\\n import FileSaver from 'file-saver';\\r\\n import Service from \\\"../../service/tool-service\\\";\\r\\n import httpLoading from \\\"../../utils/httpLoading\\\";\\r\\n import mixUtil from './mixUtil'\\r\\n export default {\\r\\n components,\\r\\n position: 'navbarRight',\\r\\n mixins:[mixUtil],\\r\\n name: 'save',\\r\\n data(){\\r\\n return{\\r\\n isRerver:false,//note 判断是否被转换了\\r\\n jsonObj:{\\r\\n page:{},\\r\\n elements:[]\\r\\n },\\r\\n modalpreview:false,\\r\\n isShowModal:false\\r\\n }\\r\\n },\\r\\n computed: {\\r\\n viewportInstances () {\\r\\n //note 获取拖拽组件的属性\\r\\n let viewprotInstances = this.$store.state.viewport.instances;\\r\\n let obj = Object.create(null);\\r\\n for (let [k,v] of viewprotInstances) {\\r\\n obj[k] = v;\\r\\n }\\r\\n return obj;\\r\\n },\\r\\n applicationState () {\\r\\n return this.$store.state.application;\\r\\n },\\r\\n viewportState () {\\r\\n return this.$store.state.viewport;\\r\\n },\\r\\n componentTree () {\\r\\n debugger;\\r\\n //note 获取组件树层级\\r\\n let _root = this.digui(this.viewportState.rootInstanceKey);\\r\\n return [_root][0].children;\\r\\n },\\r\\n instances () {\\r\\n return this.$store.state.viewport.instances;\\r\\n },\\r\\n formValidatorRules(){\\r\\n //note rules校验规则rules的抽取\\r\\n debugger;\\r\\n let result = _.pickBy(this.viewportInstances,(value)=>{\\r\\n if(value.data.validateArr&&value.data.validateArr.length>0){\\r\\n value.data.validateArr.forEach(function(v,k) {\\r\\n console.log(v); //这样就会分别将name遍历出来,判断有没有校验联动\\r\\n if(v.requireKeyValues&&v.requireKeyValues.length>0){\\r\\n //\\r\\n v.requireKeyValues.forEach(function(v1,k) {\\r\\n console.log(v1); //这样就会分别将name遍历出来,判断有没有校验联动\\r\\n if(v1.values.indexOf(\\\",\\\")==-1){\\r\\n //note 没找到\\r\\n }else{\\r\\n v1.values=v1.values.split(\\\",\\\");\\r\\n }\\r\\n\\r\\n });\\r\\n }\\r\\n });\\r\\n }\\r\\n return value.data.validateArr&&value.data.validateArr.length>0;\\r\\n });\\r\\n result = _.mapKeys(result,(value)=>{\\r\\n return value.data.property.prop;\\r\\n });\\r\\n result = _.mapValues(result,(value)=>{\\r\\n let validateArr = value.data.validateArr.map((value)=>{\\r\\n return _.pickBy(value,(value)=>{\\r\\n return value;\\r\\n })\\r\\n });\\r\\n return validateArr;\\r\\n });\\r\\n return result;\\r\\n }\\r\\n },\\r\\n methods: {\\r\\n randomString(len) {\\r\\n len = len || 10;\\r\\n var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/\\r\\n var maxPos = $chars.length;\\r\\n var pwd = '';\\r\\n for (i = 0; i < len; i++) {\\r\\n pwd += $chars.charAt(Math.floor(Math.random() * maxPos));\\r\\n }\\r\\n return pwd;\\r\\n },\\r\\n gobackList(){\\r\\n this.$router.push({name: 'selectTemplate'})\\r\\n },\\r\\n async previewData () {\\r\\n if(localStorage.getItem(\\\"page\\\")&&localStorage.getItem(\\\"page\\\")!=null){\\r\\n\\r\\n }else{\\r\\n this.$Modal.success({\\r\\n title: \\\"友情提示\\\",\\r\\n content: \\\"请先全局设置!\\\"\\r\\n });\\r\\n return;\\r\\n }\\r\\n debugger;\\r\\n this.isShowModal = true;\\r\\n console.log(this.viewportInstances);\\r\\n console.log(this.componentTree);\\r\\n let pageObj= eval('(' + localStorage.getItem(\\\"page\\\") + ')');//JSON.parse(localStorage.getItem(\\\"page\\\"));\\r\\n console.log(pageObj);\\r\\n // if(!pageObj.title)return;\\r\\n if(pageObj.title==\\\"上传附件\\\"){\\r\\n let fullModelData = await this.getbusinessData(\\\"2-business\\\");\\r\\n pageObj.fullModel = fullModelData.data;\\r\\n }else if(pageObj.title==\\\"提交审核\\\"||pageObj.title==\\\"已办结\\\"){\\r\\n let fullModelData = await this.getbusinessData(\\\"3-business\\\");\\r\\n pageObj.fullModel.infoAttachment = fullModelData.data.infoAttachment;\\r\\n pageObj.fullModel.timeLineData = fullModelData.data.timeLineData;\\r\\n }\\r\\n this.jsonObj.page = pageObj;\\r\\n this.jsonObj.elements = [];\\r\\n /* if(this.isRerver){\\r\\n\\r\\n }else{\\r\\n this.componentTree.forEach((item1)=>{\\r\\n if(item1.children){\\r\\n //note 如果存在,继续遍历 最多5级\\r\\n item1.children.forEach((item2)=>{\\r\\n if(item2.children){\\r\\n //note 如果存在,继续遍历 最多5级\\r\\n item2.children.forEach((item3)=>{\\r\\n if(item3.children){\\r\\n //note 如果存在,继续遍历 最多5级\\r\\n item3.children.forEach((item4)=>{\\r\\n if(item4.children){\\r\\n //note 如果存在,继续遍历 最多5级\\r\\n item4.children.forEach((item5)=>{\\r\\n if(item5.children){\\r\\n //note 如果存在,继续遍历 最多5级\\r\\n item5.children.reverse();\\r\\n }\\r\\n });\\r\\n item4.children.reverse();\\r\\n }\\r\\n });\\r\\n item3.children.reverse();\\r\\n }\\r\\n });\\r\\n item2.children.reverse();\\r\\n }\\r\\n });\\r\\n item1.children.reverse();\\r\\n }\\r\\n });\\r\\n this.componentTree.reverse();\\r\\n this.isRerver=true;\\r\\n }*/\\r\\n\\r\\n console.log(this.componentTree);\\r\\n\\r\\n this.componentTreeFactory(this.componentTree,this.jsonObj.elements);\\r\\n\\r\\n console.log(this.jsonObj);\\r\\n console.log(JSON.stringify(this.jsonObj));\\r\\n if(this.isShowModal){\\r\\n this.modalpreview = true;\\r\\n // this.jsonObj={\\\"page\\\":{\\\"fullModel\\\":{\\\"templateCache\\\":{\\\"validators\\\":[],\\\"tableArr\\\":[],\\\"selectArr\\\":[],\\\"targetData\\\":[\\\"applyName\\\",\\\"applyName\\\",\\\"sex\\\",\\\"sex\\\",\\\"nationalDesc\\\",\\\"nationalDesc\\\",\\\"telPhone\\\",\\\"telPhone\\\",\\\"graduatedSchool\\\",\\\"graduatedSchool\\\",\\\"education\\\",\\\"education\\\",\\\"professionalName\\\",\\\"professionalName\\\",\\\"marriageAndChildbearingStatus\\\",\\\"marriageAndChildbearingStatus\\\",\\\"workUnit\\\",\\\"workUnit\\\",\\\"fileReceivingUnit\\\",\\\"fileReceivingUnit\\\",\\\"registrationTime\\\",\\\"registrationTime\\\",\\\"applyCardNumber\\\",\\\"applyCardNumber\\\"]},\\\"applyName\\\":\\\"\\\",\\\"sex\\\":\\\"\\\",\\\"nationalDesc\\\":\\\"\\\",\\\"telPhone\\\":\\\"\\\",\\\"graduatedSchool\\\":\\\"\\\",\\\"education\\\":\\\"\\\",\\\"professionalName\\\":\\\"\\\",\\\"marriageAndChildbearingStatus\\\":\\\"\\\",\\\"workUnit\\\":\\\"\\\",\\\"fileReceivingUnit\\\":\\\"\\\",\\\"registrationTime\\\":\\\"\\\",\\\"applyCardNumber\\\":\\\"\\\",\\\"timeLineData\\\":[],\\\"leaderMsg\\\":[],\\\"infoAttachment\\\":[],\\\"state\\\":\\\"\\\",\\\"isOut\\\":0,\\\"datetime\\\":[],\\\"address\\\":\\\"\\\",\\\"remark\\\":\\\"\\\",\\\"accessoryGroupId\\\":\\\"\\\",\\\"legalMan\\\":\\\"\\\",\\\"legalManTelPhone\\\":\\\"\\\",\\\"contactMan\\\":\\\"\\\",\\\"setAddress\\\":\\\"\\\",\\\"setContent\\\":\\\"\\\",\\\"material\\\":\\\"\\\"},\\\"title\\\":\\\"null\\\",\\\"maxSteps\\\":null},\\\"elements\\\":[{\\\"type\\\":\\\"btns-oprator\\\",\\\"data\\\":{\\\"buttons\\\":[{\\\"type\\\":\\\"primary\\\",\\\"label\\\":\\\"下一步\\\",\\\"click\\\":\\\"nextStepClick\\\"},{\\\"type\\\":\\\"success\\\",\\\"label\\\":\\\"办事指南\\\",\\\"click\\\":\\\"guideClick\\\"}]}},{\\\"type\\\":\\\"box\\\",\\\"data\\\":[{\\\"type\\\":\\\"form-table\\\",\\\"data\\\":{\\\"model\\\":\\\"leaderMsg\\\",\\\"validator\\\":false,\\\"minRows\\\":1,\\\"width\\\":1000,\\\"disableDelRows\\\":1,\\\"btnMsg\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"busiId\\\":\\\"\\\",\\\"title\\\":\\\"\\\",\\\"align\\\":\\\"center\\\",\\\"type\\\":\\\"select\\\",\\\"columns\\\":[{\\\"type\\\":\\\"select\\\",\\\"title\\\":\\\"专职/兼职\\\",\\\"label\\\":\\\"\\\",\\\"busiId\\\":\\\"\\\",\\\"itemsProp\\\":\\\"\\\",\\\"width\\\":200,\\\"extend\\\":{\\\"itemWidth\\\":320,\\\"placeholder\\\":\\\"\\\",\\\"eventType\\\":\\\"\\\"},\\\"itemOptions\\\":[{\\\"label\\\":\\\"兼职\\\",\\\"value\\\":\\\"1\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}},{\\\"label\\\":\\\"专职\\\",\\\"value\\\":\\\"2\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}}]},{\\\"type\\\":\\\"input\\\",\\\"title\\\":\\\"资格证书编号\\\",\\\"align\\\":\\\"center\\\",\\\"placeholder\\\":\\\"\\\",\\\"busiId\\\":\\\"\\\",\\\"width\\\":200,\\\"rules\\\":{\\\"required\\\":false,\\\"message\\\":\\\"\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\"}},{\\\"type\\\":\\\"input\\\",\\\"title\\\":\\\"身份证编号\\\",\\\"align\\\":\\\"center\\\",\\\"placeholder\\\":\\\"\\\",\\\"busiId\\\":\\\"\\\",\\\"width\\\":200,\\\"rules\\\":{\\\"required\\\":false,\\\"message\\\":\\\"\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\"}},{\\\"type\\\":\\\"input\\\",\\\"title\\\":\\\"从事燃气专业工作年限(年)\\\",\\\"align\\\":\\\"center\\\",\\\"placeholder\\\":\\\"\\\",\\\"busiId\\\":\\\"\\\",\\\"width\\\":200,\\\"rules\\\":{\\\"required\\\":false,\\\"message\\\":\\\"\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\"}},{\\\"type\\\":\\\"input\\\",\\\"title\\\":\\\"职务及岗位\\\",\\\"align\\\":\\\"center\\\",\\\"placeholder\\\":\\\"\\\",\\\"busiId\\\":\\\"\\\",\\\"width\\\":200,\\\"rules\\\":{\\\"required\\\":false,\\\"message\\\":\\\"\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\"}},{\\\"type\\\":\\\"select\\\",\\\"title\\\":\\\"文化程度\\\",\\\"label\\\":\\\"\\\",\\\"busiId\\\":\\\"\\\",\\\"itemsProp\\\":\\\"\\\",\\\"width\\\":200,\\\"extend\\\":{\\\"itemWidth\\\":320,\\\"placeholder\\\":\\\"\\\",\\\"eventType\\\":\\\"\\\"},\\\"itemOptions\\\":[{\\\"label\\\":\\\"研究生及以上\\\",\\\"value\\\":\\\"1\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}},{\\\"label\\\":\\\"大学本科\\\",\\\"value\\\":\\\"2\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}},{\\\"label\\\":\\\"大学专科\\\",\\\"value\\\":\\\"3\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}},{\\\"label\\\":\\\"中专\\\",\\\"value\\\":\\\"4\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}},{\\\"label\\\":\\\"高中\\\",\\\"value\\\":\\\"5\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}},{\\\"label\\\":\\\"初中\\\",\\\"value\\\":\\\"6\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}},{\\\"label\\\":\\\"小学\\\",\\\"value\\\":\\\"7\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}},{\\\"label\\\":\\\"其他\\\",\\\"value\\\":\\\"8\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}}]},{\\\"type\\\":\\\"select\\\",\\\"title\\\":\\\"性别\\\",\\\"label\\\":\\\"\\\",\\\"busiId\\\":\\\"\\\",\\\"itemsProp\\\":\\\"\\\",\\\"width\\\":200,\\\"extend\\\":{\\\"itemWidth\\\":320,\\\"placeholder\\\":\\\"\\\",\\\"eventType\\\":\\\"\\\"},\\\"itemOptions\\\":[{\\\"label\\\":\\\"男\\\",\\\"value\\\":\\\"1\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}},{\\\"label\\\":\\\"女\\\",\\\"value\\\":\\\"2\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}}]},{\\\"type\\\":\\\"input\\\",\\\"title\\\":\\\"姓名\\\",\\\"align\\\":\\\"center\\\",\\\"placeholder\\\":\\\"\\\",\\\"busiId\\\":\\\"\\\",\\\"width\\\":200,\\\"rules\\\":{\\\"required\\\":false,\\\"message\\\":\\\"\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\"}}]}},{\\\"type\\\":\\\"form\\\",\\\"data\\\":{\\\"validator\\\":false,\\\"rules\\\":{},\\\"extend\\\":{\\\"span\\\":17,\\\"labelWidth\\\":222,\\\"itemWidth\\\":320,\\\"placeholder\\\":\\\"\\\",\\\"maxlength\\\":\\\"220\\\",\\\"eventType\\\":\\\"\\\",\\\"rows\\\":0},\\\"items\\\":[{\\\"type\\\":\\\"input\\\",\\\"label\\\":\\\"联系电话/申请人手机\\\",\\\"busiId\\\":9,\\\"extend\\\":{\\\"itemWidth\\\":320,\\\"placeholder\\\":\\\"\\\",\\\"eventType\\\":\\\"\\\",\\\"maxlength\\\":\\\"220\\\"}},{\\\"type\\\":\\\"input\\\",\\\"label\\\":\\\"联系人\\\",\\\"busiId\\\":18,\\\"extend\\\":{\\\"itemWidth\\\":320,\\\"placeholder\\\":\\\"\\\",\\\"eventType\\\":\\\"\\\",\\\"maxlength\\\":\\\"220\\\"}},{\\\"type\\\":\\\"input\\\",\\\"label\\\":\\\"证件号码\\\",\\\"busiId\\\":17,\\\"extend\\\":{\\\"itemWidth\\\":320,\\\"placeholder\\\":\\\"\\\",\\\"eventType\\\":\\\"\\\",\\\"maxlength\\\":\\\"220\\\"}},{\\\"type\\\":\\\"input\\\",\\\"label\\\":\\\"证件类型中文描述\\\",\\\"busiId\\\":33,\\\"extend\\\":{\\\"itemWidth\\\":320,\\\"placeholder\\\":\\\"\\\",\\\"eventType\\\":\\\"\\\",\\\"maxlength\\\":\\\"220\\\"}},{\\\"type\\\":\\\"input\\\",\\\"label\\\":\\\"证件类型\\\",\\\"busiId\\\":25,\\\"extend\\\":{\\\"itemWidth\\\":320,\\\"placeholder\\\":\\\"\\\",\\\"eventType\\\":\\\"\\\",\\\"maxlength\\\":\\\"220\\\"}},{\\\"type\\\":\\\"input\\\",\\\"label\\\":\\\"姓名/企业名称\\\",\\\"busiId\\\":6,\\\"extend\\\":{\\\"itemWidth\\\":320,\\\"placeholder\\\":\\\"\\\",\\\"eventType\\\":\\\"\\\",\\\"maxlength\\\":\\\"220\\\"}}]}}]}]};\\r\\n let strJson=JSON.stringify(this.jsonObj);\\r\\n console.log(\\\"strJson:\\\"+strJson);\\r\\n debugger;\\r\\n this.$store.commit('viewport/setPagePriviewData', this.jsonObj);\\r\\n this.$router.push({name: 'pagePreview'})\\r\\n }\\r\\n },\\r\\n saveData(){\\r\\n let pageObj= JSON.parse(localStorage.getItem(\\\"page\\\"));\\r\\n this.jsonObj.page = pageObj;\\r\\n this.jsonObj.elements = [];\\r\\n this.componentTreeFactory(this.componentTree,this.jsonObj.elements);\\r\\n console.log(this.jsonObj);\\r\\n console.log(JSON.stringify(this.jsonObj));\\r\\n },\\r\\n //note 提示保存全局设置\\r\\n sendBusSaveAllInfo(){\\r\\n eventbus.$emit(\\\"saveAllInfo\\\",{});\\r\\n },\\r\\n exportData(marker){\\r\\n debugger;\\r\\n alert(111);\\r\\n /* if(localStorage.getItem(\\\"page\\\")&&localStorage.getItem(\\\"page\\\")!=null){\\r\\n\\r\\n }else{\\r\\n this.$Modal.success({\\r\\n title: \\\"友情提示\\\",\\r\\n content: \\\"请先全局设置!\\\"\\r\\n });\\r\\n return;\\r\\n }*/\\r\\n debugger;\\r\\n console.log(this.componentTree);\\r\\n // let pageObj= JSON.parse(localStorage.getItem(\\\"page\\\"));\\r\\n configPageIde.page.fullModel.templateCache.validators=[];\\r\\n this.jsonObj.page = configPageIde.page;\\r\\n this.jsonObj.elements = [];\\r\\n this.componentTreeFactory(this.componentTree,this.jsonObj.elements);\\r\\n let exportJson = {\\r\\n code:0,\\r\\n message:\\\"\\\",\\r\\n data:{\\r\\n\\r\\n }\\r\\n };\\r\\n let copyObj={\\r\\n data:this.jsonObj\\r\\n }\\r\\n Object.assign(exportJson, copyObj);\\r\\n const data1 = JSON.stringify(exportJson);\\r\\n console.log(data1);\\r\\n //note 保存模板和json\\r\\n let params = {\\r\\n itemNo:localStorage.itemNo,\\r\\n itemStep:localStorage.itemStep\\r\\n };\\r\\n httpLoading.showLoading(\\\"正在提交...\\\");\\r\\n //note 这里面要做一个修改,给每一个form 里面添加字段属性,然后把字段的属性放到校验里面去\\r\\n let jsonArr2=[];\\r\\n let propArr=[];\\r\\n let targetArr=[];\\r\\n for(let i=0;i<exportJson.data.elements.length;i++) {\\r\\n for (var j = 0; j < exportJson.data.elements[i].data.length; j++) {\\r\\n //判断添加的数组是否为空了\\r\\n if (exportJson.data.elements[i].data[j].type == \\\"form\\\") {\\r\\n let jsonArr = exportJson.data.elements[i].data[j].data.items;\\r\\n let ruleArr = exportJson.data.elements[i].data[j].data.rules;\\r\\n for (let k = 0; k < propArr.length; k++) {\\r\\n for (let m = 0; m < jsonArr.length; m++) {\\r\\n //判断添加的数组是否为空了\\r\\n if (propArr[k][\\\"busiId\\\"] === jsonArr[m][\\\"busiId\\\"]) {\\r\\n jsonArr[m][\\\"prop\\\"] = propArr[k][\\\"busiName\\\"];\\r\\n delete jsonArr[m][\\\"rules\\\"];\\r\\n }\\r\\n }\\r\\n for (let n in ruleArr) {\\r\\n //note 将校验里面的id替换成属性\\r\\n if (propArr[k][\\\"busiId\\\"] == n) {\\r\\n ruleArr[propArr[k][\\\"busiName\\\"]] = ruleArr[n];\\r\\n delete ruleArr[n];\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n if(marker==1){\\r\\n //note 保存\\r\\n const data = JSON.stringify(exportJson);\\r\\n const myStr = JSON.stringify(data);\\r\\n console.log(\\\"-->\\\"+myStr);\\r\\n let toServerParams = {\\r\\n itemNo:localStorage.itemNo,\\r\\n itemStep:localStorage.itemStep,\\r\\n jsonType:2,\\r\\n jsonStr:data\\r\\n };\\r\\n Service.saveTemplateOrJsonToServer(toServerParams).then((res) => {\\r\\n //note 刚才保存完了json,现在要保持模板\\r\\n this.$store.commit('viewport/saveLocalInstances', {\\r\\n });\\r\\n })\\r\\n }else {\\r\\n this.$store.commit('viewport/saveLocalInstances', {\\r\\n });\\r\\n\\r\\n httpLoading.closeLoading();\\r\\n //note 预览\\r\\n this.isShowModal = true;\\r\\n this.modalpreview = true;\\r\\n // this.jsonObj={\\\"page\\\":{\\\"fullModel\\\":{\\\"templateCache\\\":{\\\"validators\\\":[],\\\"tableArr\\\":[],\\\"selectArr\\\":[],\\\"targetData\\\":[\\\"applyName\\\",\\\"applyName\\\",\\\"sex\\\",\\\"sex\\\",\\\"nationalDesc\\\",\\\"nationalDesc\\\",\\\"telPhone\\\",\\\"telPhone\\\",\\\"graduatedSchool\\\",\\\"graduatedSchool\\\",\\\"education\\\",\\\"education\\\",\\\"professionalName\\\",\\\"professionalName\\\",\\\"marriageAndChildbearingStatus\\\",\\\"marriageAndChildbearingStatus\\\",\\\"workUnit\\\",\\\"workUnit\\\",\\\"fileReceivingUnit\\\",\\\"fileReceivingUnit\\\",\\\"registrationTime\\\",\\\"registrationTime\\\",\\\"applyCardNumber\\\",\\\"applyCardNumber\\\"]},\\\"applyName\\\":\\\"\\\",\\\"sex\\\":\\\"\\\",\\\"nationalDesc\\\":\\\"\\\",\\\"telPhone\\\":\\\"\\\",\\\"graduatedSchool\\\":\\\"\\\",\\\"education\\\":\\\"\\\",\\\"professionalName\\\":\\\"\\\",\\\"marriageAndChildbearingStatus\\\":\\\"\\\",\\\"workUnit\\\":\\\"\\\",\\\"fileReceivingUnit\\\":\\\"\\\",\\\"registrationTime\\\":\\\"\\\",\\\"applyCardNumber\\\":\\\"\\\",\\\"timeLineData\\\":[],\\\"leaderMsg\\\":[],\\\"infoAttachment\\\":[],\\\"state\\\":\\\"\\\",\\\"isOut\\\":0,\\\"datetime\\\":[],\\\"address\\\":\\\"\\\",\\\"remark\\\":\\\"\\\",\\\"accessoryGroupId\\\":\\\"\\\",\\\"legalMan\\\":\\\"\\\",\\\"legalManTelPhone\\\":\\\"\\\",\\\"contactMan\\\":\\\"\\\",\\\"setAddress\\\":\\\"\\\",\\\"setContent\\\":\\\"\\\",\\\"material\\\":\\\"\\\"},\\\"title\\\":\\\"null\\\",\\\"maxSteps\\\":null},\\\"elements\\\":[{\\\"type\\\":\\\"btns-oprator\\\",\\\"data\\\":{\\\"buttons\\\":[{\\\"type\\\":\\\"primary\\\",\\\"label\\\":\\\"下一步\\\",\\\"click\\\":\\\"nextStepClick\\\"},{\\\"type\\\":\\\"success\\\",\\\"label\\\":\\\"办事指南\\\",\\\"click\\\":\\\"guideClick\\\"}]}},{\\\"type\\\":\\\"box\\\",\\\"data\\\":[{\\\"type\\\":\\\"form-table\\\",\\\"data\\\":{\\\"model\\\":\\\"leaderMsg\\\",\\\"validator\\\":false,\\\"minRows\\\":1,\\\"width\\\":1000,\\\"disableDelRows\\\":1,\\\"btnMsg\\\":\\\"\\\",\\\"placeholder\\\":\\\"\\\",\\\"busiId\\\":\\\"\\\",\\\"title\\\":\\\"\\\",\\\"align\\\":\\\"center\\\",\\\"type\\\":\\\"select\\\",\\\"columns\\\":[{\\\"type\\\":\\\"select\\\",\\\"title\\\":\\\"专职/兼职\\\",\\\"label\\\":\\\"\\\",\\\"busiId\\\":\\\"\\\",\\\"itemsProp\\\":\\\"\\\",\\\"width\\\":200,\\\"extend\\\":{\\\"itemWidth\\\":320,\\\"placeholder\\\":\\\"\\\",\\\"eventType\\\":\\\"\\\"},\\\"itemOptions\\\":[{\\\"label\\\":\\\"兼职\\\",\\\"value\\\":\\\"1\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}},{\\\"label\\\":\\\"专职\\\",\\\"value\\\":\\\"2\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}}]},{\\\"type\\\":\\\"input\\\",\\\"title\\\":\\\"资格证书编号\\\",\\\"align\\\":\\\"center\\\",\\\"placeholder\\\":\\\"\\\",\\\"busiId\\\":\\\"\\\",\\\"width\\\":200,\\\"rules\\\":{\\\"required\\\":false,\\\"message\\\":\\\"\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\"}},{\\\"type\\\":\\\"input\\\",\\\"title\\\":\\\"身份证编号\\\",\\\"align\\\":\\\"center\\\",\\\"placeholder\\\":\\\"\\\",\\\"busiId\\\":\\\"\\\",\\\"width\\\":200,\\\"rules\\\":{\\\"required\\\":false,\\\"message\\\":\\\"\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\"}},{\\\"type\\\":\\\"input\\\",\\\"title\\\":\\\"从事燃气专业工作年限(年)\\\",\\\"align\\\":\\\"center\\\",\\\"placeholder\\\":\\\"\\\",\\\"busiId\\\":\\\"\\\",\\\"width\\\":200,\\\"rules\\\":{\\\"required\\\":false,\\\"message\\\":\\\"\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\"}},{\\\"type\\\":\\\"input\\\",\\\"title\\\":\\\"职务及岗位\\\",\\\"align\\\":\\\"center\\\",\\\"placeholder\\\":\\\"\\\",\\\"busiId\\\":\\\"\\\",\\\"width\\\":200,\\\"rules\\\":{\\\"required\\\":false,\\\"message\\\":\\\"\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\"}},{\\\"type\\\":\\\"select\\\",\\\"title\\\":\\\"文化程度\\\",\\\"label\\\":\\\"\\\",\\\"busiId\\\":\\\"\\\",\\\"itemsProp\\\":\\\"\\\",\\\"width\\\":200,\\\"extend\\\":{\\\"itemWidth\\\":320,\\\"placeholder\\\":\\\"\\\",\\\"eventType\\\":\\\"\\\"},\\\"itemOptions\\\":[{\\\"label\\\":\\\"研究生及以上\\\",\\\"value\\\":\\\"1\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}},{\\\"label\\\":\\\"大学本科\\\",\\\"value\\\":\\\"2\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}},{\\\"label\\\":\\\"大学专科\\\",\\\"value\\\":\\\"3\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}},{\\\"label\\\":\\\"中专\\\",\\\"value\\\":\\\"4\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}},{\\\"label\\\":\\\"高中\\\",\\\"value\\\":\\\"5\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}},{\\\"label\\\":\\\"初中\\\",\\\"value\\\":\\\"6\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}},{\\\"label\\\":\\\"小学\\\",\\\"value\\\":\\\"7\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}},{\\\"label\\\":\\\"其他\\\",\\\"value\\\":\\\"8\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}}]},{\\\"type\\\":\\\"select\\\",\\\"title\\\":\\\"性别\\\",\\\"label\\\":\\\"\\\",\\\"busiId\\\":\\\"\\\",\\\"itemsProp\\\":\\\"\\\",\\\"width\\\":200,\\\"extend\\\":{\\\"itemWidth\\\":320,\\\"placeholder\\\":\\\"\\\",\\\"eventType\\\":\\\"\\\"},\\\"itemOptions\\\":[{\\\"label\\\":\\\"男\\\",\\\"value\\\":\\\"1\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}},{\\\"label\\\":\\\"女\\\",\\\"value\\\":\\\"2\\\",\\\"extend\\\":{\\\"size\\\":\\\"\\\",\\\"disabled\\\":false}}]},{\\\"type\\\":\\\"input\\\",\\\"title\\\":\\\"姓名\\\",\\\"align\\\":\\\"center\\\",\\\"placeholder\\\":\\\"\\\",\\\"busiId\\\":\\\"\\\",\\\"width\\\":200,\\\"rules\\\":{\\\"required\\\":false,\\\"message\\\":\\\"\\\",\\\"type\\\":\\\"\\\",\\\"trigger\\\":\\\"\\\"}}]}},{\\\"type\\\":\\\"form\\\",\\\"data\\\":{\\\"validator\\\":false,\\\"rules\\\":{},\\\"extend\\\":{\\\"span\\\":17,\\\"labelWidth\\\":222,\\\"itemWidth\\\":320,\\\"placeholder\\\":\\\"\\\",\\\"maxlength\\\":\\\"220\\\",\\\"eventType\\\":\\\"\\\",\\\"rows\\\":0},\\\"items\\\":[{\\\"type\\\":\\\"input\\\",\\\"label\\\":\\\"联系电话/申请人手机\\\",\\\"busiId\\\":9,\\\"extend\\\":{\\\"itemWidth\\\":320,\\\"placeholder\\\":\\\"\\\",\\\"eventType\\\":\\\"\\\",\\\"maxlength\\\":\\\"220\\\"}},{\\\"type\\\":\\\"input\\\",\\\"label\\\":\\\"联系人\\\",\\\"busiId\\\":18,\\\"extend\\\":{\\\"itemWidth\\\":320,\\\"placeholder\\\":\\\"\\\",\\\"eventType\\\":\\\"\\\",\\\"maxlength\\\":\\\"220\\\"}},{\\\"type\\\":\\\"input\\\",\\\"label\\\":\\\"证件号码\\\",\\\"busiId\\\":17,\\\"extend\\\":{\\\"itemWidth\\\":320,\\\"placeholder\\\":\\\"\\\",\\\"eventType\\\":\\\"\\\",\\\"maxlength\\\":\\\"220\\\"}},{\\\"type\\\":\\\"input\\\",\\\"label\\\":\\\"证件类型中文描述\\\",\\\"busiId\\\":33,\\\"extend\\\":{\\\"itemWidth\\\":320,\\\"placeholder\\\":\\\"\\\",\\\"eventType\\\":\\\"\\\",\\\"maxlength\\\":\\\"220\\\"}},{\\\"type\\\":\\\"input\\\",\\\"label\\\":\\\"证件类型\\\",\\\"busiId\\\":25,\\\"extend\\\":{\\\"itemWidth\\\":320,\\\"placeholder\\\":\\\"\\\",\\\"eventType\\\":\\\"\\\",\\\"maxlength\\\":\\\"220\\\"}},{\\\"type\\\":\\\"input\\\",\\\"label\\\":\\\"姓名/企业名称\\\",\\\"busiId\\\":6,\\\"extend\\\":{\\\"itemWidth\\\":320,\\\"placeholder\\\":\\\"\\\",\\\"eventType\\\":\\\"\\\",\\\"maxlength\\\":\\\"220\\\"}}]}}]}]};\\r\\n let strJson=JSON.stringify(this.jsonObj);\\r\\n console.log(\\\"strJson:\\\"+strJson);\\r\\n this.$store.commit('viewport/setPagePriviewData', this.jsonObj);\\r\\n this.$router.push({name: 'pagePreview'})\\r\\n }\\r\\n\\r\\n\\r\\n },\\r\\n getbusinessData(fileName){\\r\\n return this.$http.get('/static/data/page-ide/'+fileName+'.json');\\r\\n },\\r\\n deleteData(){\\r\\n let state=this.$store.state;\\r\\n\\r\\n this.$store.commit('viewport/deleteData',state.viewport.currentEditInstanceKey);\\r\\n }\\r\\n },\\r\\n create(){\\r\\n eventbus.$on(\\\"exportData\\\",(num)=>{\\r\\n alert(num);\\r\\n this.exportData(num);\\r\\n });\\r\\n }\\r\\n };\\r\\n</script>\\r\\n\\r\\n<style>\\r\\n .saveDivs{\\r\\n padding:0px 10px;\\r\\n height: 100%;\\r\\n line-height: 40px;\\r\\n min-width:56px;\\r\\n text-align: center;\\r\\n }\\r\\n .saveDivs:hover{\\r\\n background-color: white;\\r\\n color: #333;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9zYXZlL2luZGV4LnZ1ZT8xMGFkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQTRFO0FBQy9HOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyxlQUFlLHVCQUF1QixtQkFBbUIsd0JBQXdCLHFCQUFxQix5QkFBeUIsR0FBRyxrQkFBa0IsOEJBQThCLGtCQUFrQixHQUFHLFVBQVUsMkpBQTJKLE1BQU0sV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLEtBQUssS0FBSyxXQUFXLFVBQVUsMk1BQTJNLFFBQVEsMkRBQTJELG9EQUFvRCxJQUFJLG9hQUFvYSwwQkFBMEIsbUpBQW1KLHNEQUFzRCwyQ0FBMkMsMkRBQTJELDREQUE0RCwrREFBK0Qsb0lBQW9JLHVCQUF1QiwrRUFBK0UsK0JBQStCLHlEQUF5RCw4RkFBOEYsYUFBYSx3QkFBd0Isc0NBQXNDLHFIQUFxSCxrREFBa0QsMERBQTBELG1DQUFtQyxxQkFBcUIsK0JBQStCLGlCQUFpQixzQ0FBc0MseURBQXlELGlCQUFpQixtQ0FBbUMsc0RBQXNELGlCQUFpQixtQ0FBbUMsNkJBQTZCLGlIQUFpSCwrQ0FBK0MsaUJBQWlCLCtCQUErQixnRUFBZ0UsaUJBQWlCLHNDQUFzQyx5RUFBeUUsMkVBQTJFLG9GQUFvRiwwRUFBMEUsK0NBQStDLGdIQUFnSCxzSEFBc0gsd0RBQXdELHFHQUFxRywrRkFBK0YsS0FBSyw2RUFBNkUseUNBQXlDLHlDQUF5QyxFQUFFLGlDQUFpQyw2QkFBNkIsRUFBRSx5QkFBeUIsdUZBQXVGLHFCQUFxQixFQUFFLHdEQUF3RCx3REFBd0QscUJBQXFCLEVBQUUsMERBQTBELCtFQUErRSw0REFBNEQsNkNBQTZDLDZCQUE2QiwwQkFBMEIsRUFBRSwyQ0FBMkMscUJBQXFCLEVBQUUsa0NBQWtDLGlCQUFpQixhQUFhLHVCQUF1QixtQ0FBbUMsb0NBQW9DLG9GQUFvRiwwRkFBMEYsaUNB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YSxzQkFBc0Isb0RBQW9ELCtCQUErQix5Q0FBeUMsaUJBQWlCLEVBQUUsYUFBYSxVQUFVLDhDQUE4Qyw2QkFBNkIseUJBQXlCLDhCQUE4QiwyQkFBMkIsK0JBQStCLFNBQVMsd0JBQXdCLG9DQUFvQyx3QkFBd0IsU0FBUyxtQ0FBbUM7O0FBRXp3ekIiLCJmaWxlIjoiNTY4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLnNhdmVEaXZze1xcbiAgICBwYWRkaW5nOjBweCAxMHB4O1xcbiAgICBoZWlnaHQ6IDEwMCU7XFxuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xcbiAgICBtaW4td2lkdGg6NTZweDtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xcbn1cXG4uc2F2ZURpdnM6aG92ZXJ7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBjb2xvcjogIzMzMztcXG59XFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIkU6L3Byb2plY3QvcGFnZS1pZGUteGlhbi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9zYXZlL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL3NhdmUvaW5kZXgudnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUE2VUE7SUFDQSxpQkFBQTtJQUNBLGFBQUE7SUFDQSxrQkFBQTtJQUNBLGVBQUE7SUFDQSxtQkFBQTtDQUNBO0FBQ0E7SUFDQSx3QkFBQTtJQUNBLFlBQUE7Q0FDQVwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjx0ZW1wbGF0ZT5cXHJcXG4gICAgPGRpdj5cXHJcXG4gICAgICA8IS0tICA8Q29udGFpbmVyIEBjbGljaz1cXFwiZXhwb3J0RGF0YSgxKVxcXCIgY2xhc3M9XFxcInNhdmVEaXZzXFxcIj5cXHJcXG4gICAgICAgICAgICDkv53lrZjmqKHmnb/lkoxKU09OXFxyXFxuICAgICAgICA8L0NvbnRhaW5lcj5cXHJcXG4gICAgICAgICZsdDshJm5kYXNoOzxDb250YWluZXIgQGNsaWNrPVxcXCJzYXZlRGF0YSgpXFxcIiBzdHlsZT1cXFwibWFyZ2luLXJpZ2h0OjMwcHg7XFxcIj5cXHJcXG4gICAgICAgICAgICDkv53lrZhcXHJcXG4gICAgICAgIDwvQ29udGFpbmVyPiZuZGFzaDsmZ3Q7XFxyXFxuICAgICAgICA8Q29udGFpbmVyIEBjbGljaz1cXFwiZXhwb3J0RGF0YSgyKVxcXCIgY2xhc3M9XFxcInNhdmVEaXZzXFxcIj5cXHJcXG4gICAgICAgICAgICDpooTop4hcXHJcXG4gICAgICAgIDwvQ29udGFpbmVyPlxcclxcbiAgICAgICAgPENvbnRhaW5lciBAY2xpY2s9XFxcImRlbGV0ZURhdGEoKVxcXCIgY2xhc3M9XFxcInNhdmVEaXZzXFxcIj5cXHJcXG4gICAgICAgICAgICDliKDpmaRcXHJcXG4gICAgICAgIDwvQ29udGFpbmVyPlxcclxcbiAgICAgICAgPENvbnRhaW5lciBAY2xpY2s9XFxcImdvYmFja0xpc3QoKVxcXCIgY2xhc3M9XFxcInNhdmVEaXZzXFxcIj5cXHJcXG4gICAgICAgICAgICDov5Tlm57liJfooahcXHJcXG4gICAgICAgIDwvQ29udGFpbmVyPlxcclxcbiAgICAgICAgPE1vZGFsIHYtbW9kZWw9XFxcIm1vZGFscHJldmlld1xcXCIgZnVsbHNjcmVlbiBmb290ZXItaGlkZSB0aXRsZT1cXFwi6aG16Z2i6aKE6KeIXFxcIiA6c3R5bGVzPVxcXCJ7YmFja2dyb3VuZENvbG9yOicjRjVGN0Y5J31cXFwiPlxcclxcbiAgICAgICAgICAgIDxyb3V0ZXItdmlldy8+XFxyXFxuICAgICAgICA8L01vZGFsPi0tPlxcclxcbiAgICA8L2Rpdj5cXHJcXG48L3RlbXBsYXRlPlxcclxcblxcclxcbjxzY3JpcHQ+XFxyXFxuICAgIGltcG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9zdHlsZSc7XFxyXFxuICAgIGltcG9ydCBldmVudGJ1cyBmcm9tICcuLi8uLi9zZXJ2aWNlL2V2ZW50YnVzJztcXHJcXG4gICAgaW1wb3J0IEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcXHJcXG4gICAgaW1wb3J0IFNlcnZpY2UgZnJvbSBcXFwiLi4vLi4vc2VydmljZS90b29sLXNlcnZpY2VcXFwiO1xcclxcbiAgICBpbXBvcnQgaHR0cExvYWRpbmcgZnJvbSBcXFwiLi4vLi4vdXRpbHMvaHR0cExvYWRpbmdcXFwiO1xcclxcbiAgICBpbXBvcnQgbWl4VXRpbCBmcm9tICcuL21peFV0aWwnXFxyXFxuICAgIGV4cG9ydCBkZWZhdWx0IHtcXHJcXG4gICAgICAgIGNvbXBvbmVudHMsXFxyXFxuICAgICAgICBwb3NpdGlvbjogJ25hdmJhclJpZ2h0JyxcXHJcXG4gICAgICAgIG1peGluczpbbWl4VXRpbF0sXFxyXFxuICAgICAgICBuYW1lOiAnc2F2ZScsXFxyXFxuICAgICAgICBkYXRhKCl7XFxyXFxuICAgICAgICAgICAgcmV0dXJue1xcclxcbiAgICAgICAgICAgICAgICBpc1JlcnZlcjpmYWxzZSwvL25vdGUg5Yik5pat5piv5ZCm6KKr6L2s5o2i5LqGXFxyXFxuICAgICAgICAgICAgICAgIGpzb25PYmo6e1xcclxcbiAgICAgICAgICAgICAgICAgICAgcGFnZTp7fSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnRzOltdXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIG1vZGFscHJldmlldzpmYWxzZSxcXHJcXG4gICAgICAgICAgICAgICAgaXNTaG93TW9kYWw6ZmFsc2VcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgY29tcHV0ZWQ6IHtcXHJcXG4gICAgICAgICAgICB2aWV3cG9ydEluc3RhbmNlcyAoKSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vbm90ZSDojrflj5bmi5bmi73nu4Tku7bnmoTlsZ7mgKdcXHJcXG4gICAgICAgICAgICAgICAgbGV0IHZpZXdwcm90SW5zdGFuY2VzID0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzO1xcclxcbiAgICAgICAgICAgICAgICBsZXQgb2JqID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcXHJcXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgW2ssdl0gb2Ygdmlld3Byb3RJbnN0YW5jZXMpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIG9ialtrXSA9IHY7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uU3RhdGUgKCkge1xcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUuYXBwbGljYXRpb247XFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICB2aWV3cG9ydFN0YXRlICgpIHtcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0O1xcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgY29tcG9uZW50VHJlZSAoKSB7XFxyXFxuICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xcclxcbiAgICAgICAgICAgICAgICAvL25vdGUg6I635Y+W57uE5Lu25qCR5bGC57qnXFxyXFxuICAgICAgICAgICAgICAgIGxldCBfcm9vdCA9IHRoaXMuZGlndWkodGhpcy52aWV3cG9ydFN0YXRlLnJvb3RJbnN0YW5jZUtleSk7XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiBbX3Jvb3RdWzBdLmNoaWxkcmVuO1xcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgaW5zdGFuY2VzICgpIHtcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lmluc3RhbmNlcztcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIGZvcm1WYWxpZGF0b3JSdWxlcygpe1xcclxcbiAgICAgICAgICAgICAgICAvL25vdGUgcnVsZXPmoKHpqozop4TliJlydWxlc+eahOaKveWPllxcclxcbiAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IF8ucGlja0J5KHRoaXMudmlld3BvcnRJbnN0YW5jZXMsKHZhbHVlKT0+e1xcclxcbiAgICAgICAgICAgICAgICAgICAgaWYodmFsdWUuZGF0YS52YWxpZGF0ZUFyciYmdmFsdWUuZGF0YS52YWxpZGF0ZUFyci5sZW5ndGg+MCl7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUuZGF0YS52YWxpZGF0ZUFyci5mb3JFYWNoKGZ1bmN0aW9uKHYsaykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh2KTsgLy/ov5nmoLflsLHkvJrliIbliKvlsIZuYW1l6YGN5Y6G5Ye65p2lLOWIpOaWreacieayoeacieagoemqjOiBlOWKqFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih2LnJlcXVpcmVLZXlWYWx1ZXMmJnYucmVxdWlyZUtleVZhbHVlcy5sZW5ndGg+MCl7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYucmVxdWlyZUtleVZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uKHYxLGspIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh2MSk7IC8v6L+Z5qC35bCx5Lya5YiG5Yir5bCGbmFtZemBjeWOhuWHuuadpSzliKTmlq3mnInmsqHmnInmoKHpqozogZTliqhcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih2MS52YWx1ZXMuaW5kZXhPZihcXFwiLFxcXCIpPT0tMSl7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDmsqHmib7liLBcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjEudmFsdWVzPXYxLnZhbHVlcy5zcGxpdChcXFwiLFxcXCIpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUuZGF0YS52YWxpZGF0ZUFyciYmdmFsdWUuZGF0YS52YWxpZGF0ZUFyci5sZW5ndGg+MDtcXHJcXG4gICAgICAgICAgICAgICAgfSk7XFxyXFxuICAgICAgICAgICAgICAgIHJlc3VsdCA9IF8ubWFwS2V5cyhyZXN1bHQsKHZhbHVlKT0+e1xcclxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmRhdGEucHJvcGVydHkucHJvcDtcXHJcXG4gICAgICAgICAgICAgICAgfSk7XFxyXFxuICAgICAgICAgICAgICAgIHJlc3VsdCA9IF8ubWFwVmFsdWVzKHJlc3VsdCwodmFsdWUpPT57XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgdmFsaWRhdGVBcnIgPSB2YWx1ZS5kYXRhLnZhbGlkYXRlQXJyLm1hcCgodmFsdWUpPT57XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF8ucGlja0J5KHZhbHVlLCh2YWx1ZSk9PntcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWxpZGF0ZUFycjtcXHJcXG4gICAgICAgICAgICAgICAgfSk7XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSxcXHJcXG4gICAgICAgIG1ldGhvZHM6IHtcXHJcXG4gICAgICAgICAgICByYW5kb21TdHJpbmcobGVuKSB7XFxyXFxuICAgICAgICAgICAgICAgIGxlbiA9IGxlbiB8fCAxMDtcXHJcXG4gICAgICAgICAgICAgICAgdmFyICRjaGFycyA9ICdBQkNERUZHSEpLTU5QUVJTVFdYWVphYmNkZWZoaWprbW5wcnN0d3h5ejIzNDU2NzgnOyAgICAvKioqKum7mOiupOWOu+aOieS6huWuueaYk+a3t+a3hueahOWtl+espm9PTGwsOWdxLFZ2LFV1LEkxKioqKi9cXHJcXG4gICAgICAgICAgICAgICAgdmFyIG1heFBvcyA9ICRjaGFycy5sZW5ndGg7XFxyXFxuICAgICAgICAgICAgICAgIHZhciBwd2QgPSAnJztcXHJcXG4gICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBwd2QgKz0gJGNoYXJzLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBtYXhQb3MpKTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gcHdkO1xcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgZ29iYWNrTGlzdCgpe1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCh7bmFtZTogJ3NlbGVjdFRlbXBsYXRlJ30pXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICBhc3luYyBwcmV2aWV3RGF0YSAoKSB7XFxyXFxuICAgICAgICAgICAgICAgIGlmKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFxcXCJwYWdlXFxcIikmJmxvY2FsU3RvcmFnZS5nZXRJdGVtKFxcXCJwYWdlXFxcIikhPW51bGwpe1xcclxcblxcclxcbiAgICAgICAgICAgICAgICB9ZWxzZXtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuJE1vZGFsLnN1Y2Nlc3Moe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcXFwi5Y+L5oOF5o+Q56S6XFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcXFwi6K+35YWI5YWo5bGA6K6+572u77yBXFxcIlxcclxcbiAgICAgICAgICAgICAgICAgICAgfSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgZGVidWdnZXI7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuaXNTaG93TW9kYWwgPSB0cnVlO1xcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnZpZXdwb3J0SW5zdGFuY2VzKTtcXHJcXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5jb21wb25lbnRUcmVlKTtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IHBhZ2VPYmo9IGV2YWwoJygnICsgbG9jYWxTdG9yYWdlLmdldEl0ZW0oXFxcInBhZ2VcXFwiKSArICcpJyk7Ly9KU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFxcXCJwYWdlXFxcIikpO1xcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhwYWdlT2JqKTtcXHJcXG4gICAgICAgICAgICAgICAvLyBpZighcGFnZU9iai50aXRsZSlyZXR1cm47XFxyXFxuICAgICAgICAgICAgICAgIGlmKHBhZ2VPYmoudGl0bGU9PVxcXCLkuIrkvKDpmYTku7ZcXFwiKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxldCBmdWxsTW9kZWxEYXRhID0gYXdhaXQgdGhpcy5nZXRidXNpbmVzc0RhdGEoXFxcIjItYnVzaW5lc3NcXFwiKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHBhZ2VPYmouZnVsbE1vZGVsID0gZnVsbE1vZGVsRGF0YS5kYXRhO1xcclxcbiAgICAgICAgICAgICAgICB9ZWxzZSBpZihwYWdlT2JqLnRpdGxlPT1cXFwi5o+Q5Lqk5a6h5qC4XFxcInx8cGFnZU9iai50aXRsZT09XFxcIuW3suWKnue7k1xcXCIpe1xcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZ1bGxNb2RlbERhdGEgPSBhd2FpdCB0aGlzLmdldGJ1c2luZXNzRGF0YShcXFwiMy1idXNpbmVzc1xcXCIpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgcGFnZU9iai5mdWxsTW9kZWwuaW5mb0F0dGFjaG1lbnQgPSBmdWxsTW9kZWxEYXRhLmRhdGEuaW5mb0F0dGFjaG1lbnQ7XFxyXFxuICAgICAgICAgICAgICAgICAgICBwYWdlT2JqLmZ1bGxNb2RlbC50aW1lTGluZURhdGEgPSBmdWxsTW9kZWxEYXRhLmRhdGEudGltZUxpbmVEYXRhO1xcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuanNvbk9iai5wYWdlID0gcGFnZU9iajtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5qc29uT2JqLmVsZW1lbnRzID0gW107XFxyXFxuICAgICAgICAgICAgICAgLyogaWYodGhpcy5pc1JlcnZlcil7XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgIH1lbHNle1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRUcmVlLmZvckVhY2goKGl0ZW0xKT0+e1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGl0ZW0xLmNoaWxkcmVuKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOWmguaenOWtmOWcqO+8jOe7p+e7remBjeWOhiDmnIDlpJo157qnXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0xLmNoaWxkcmVuLmZvckVhY2goKGl0ZW0yKT0+e1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoaXRlbTIuY2hpbGRyZW4pe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDlpoLmnpzlrZjlnKjvvIznu6fnu63pgY3ljoYg5pyA5aSaNee6p1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0yLmNoaWxkcmVuLmZvckVhY2goKGl0ZW0zKT0+e1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihpdGVtMy5jaGlsZHJlbil7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vdGUg5aaC5p6c5a2Y5Zyo77yM57un57ut6YGN5Y6GIOacgOWkmjXnuqdcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0zLmNoaWxkcmVuLmZvckVhY2goKGl0ZW00KT0+e1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGl0ZW00LmNoaWxkcmVuKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOWmguaenOWtmOWcqO+8jOe7p+e7remBjeWOhiDmnIDlpJo157qnXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW00LmNoaWxkcmVuLmZvckVhY2goKGl0ZW01KT0+e1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoaXRlbTUuY2hpbGRyZW4pe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDlpoLmnpzlrZjlnKjvvIznu6fnu63pgY3ljoYg5pyA5aSaNee6p1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW01LmNoaWxkcmVuLnJldmVyc2UoKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW00LmNoaWxkcmVuLnJldmVyc2UoKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0zLmNoaWxkcmVuLnJldmVyc2UoKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0yLmNoaWxkcmVuLnJldmVyc2UoKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0xLmNoaWxkcmVuLnJldmVyc2UoKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50VHJlZS5yZXZlcnNlKCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzUmVydmVyPXRydWU7XFxyXFxuICAgICAgICAgICAgICAgIH0qL1xcclxcblxcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmNvbXBvbmVudFRyZWUpO1xcclxcblxcclxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFRyZWVGYWN0b3J5KHRoaXMuY29tcG9uZW50VHJlZSx0aGlzLmpzb25PYmouZWxlbWVudHMpO1xcclxcblxcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmpzb25PYmopO1xcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeSh0aGlzLmpzb25PYmopKTtcXHJcXG4gICAgICAgICAgICAgICAgaWYodGhpcy5pc1Nob3dNb2RhbCl7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGFscHJldmlldyA9IHRydWU7XFxyXFxuICAgICAgICAgICAgICAgICAgLy8gIHRoaXMuanNvbk9iaj17XFxcInBhZ2VcXFwiOntcXFwiZnVsbE1vZGVsXFxcIjp7XFxcInRlbXBsYXRlQ2FjaGVcXFwiOntcXFwidmFsaWRhdG9yc1xcXCI6W10sXFxcInRhYmxlQXJyXFxcIjpbXSxcXFwic2VsZWN0QXJyXFxcIjpbXSxcXFwidGFyZ2V0RGF0YVxcXCI6W1xcXCJhcHBseU5hbWVcXFwiLFxcXCJhcHBseU5hbWVcXFwiLFxcXCJzZXhcXFwiLFxcXCJzZXhcXFwiLFxcXCJuYXRpb25hbERlc2NcXFwiLFxcXCJuYXRpb25hbERlc2NcXFwiLFxcXCJ0ZWxQaG9uZVxcXCIsXFxcInRlbFBob25lXFxcIixcXFwiZ3JhZHVhdGVkU2Nob29sXFxcIixcXFwiZ3JhZHVhdGVkU2Nob29sXFxcIixcXFwiZWR1Y2F0aW9uXFxcIixcXFwiZWR1Y2F0aW9uXFxcIixcXFwicHJvZmVzc2lvbmFsTmFtZVxcXCIsXFxcInByb2Zlc3Npb25hbE5hbWVcXFwiLFxcXCJtYXJyaWFnZUFuZENoaWxkYmVhcmluZ1N0YXR1c1xcXCIsXFxcIm1hcnJpYWdlQW5kQ2hpbGRiZWFyaW5nU3RhdHVzXFxcIixcXFwid29ya1VuaXRcXFwiLFxcXCJ3b3JrVW5pdFxcXCIsXFxcImZpbGVSZWNlaXZpbmdVbml0XFxcIixcXFwiZmlsZVJlY2VpdmluZ1VuaXRcXFwiLFxcXCJyZWdpc3RyYXRpb25UaW1lXFxcIixcXFwicmVnaXN0cmF0aW9uVGltZVxcXCIsXFxcImFwcGx5Q2FyZE51bWJlclxcXCIsXFxcImFwcGx5Q2FyZE51bWJlclxcXCJdfSxcXFwiYXBwbHlOYW1lXFxcIjpcXFwiXFxcIixcXFwic2V4XFxcIjpcXFwiXFxcIixcXFwibmF0aW9uYWxEZXNjXFxcIjpcXFwiXFxcIixcXFwidGVsUGhvbmVcXFwiOlxcXCJcXFwiLFxcXCJncmFkdWF0ZWRTY2hvb2xcXFwiOlxcXCJcXFwiLFxcXCJlZHVjYXRpb25cXFwiOlxcXCJcXFwiLFxcXCJwcm9mZXNzaW9uYWxOYW1lXFxcIjpcXFwiXFxcIixcXFwibWFycmlhZ2VBbmRDaGlsZGJlYXJpbmdTdGF0dXNcXFwiOlxcXCJcXFwiLFxcXCJ3b3JrVW5pdFxcXCI6XFxcIlxcXCIsXFxcImZpbGVSZWNlaXZpbmdVbml0XFxcIjpcXFwiXFxcIixcXFwicmVnaXN0cmF0aW9uVGltZVxcXCI6XFxcIlxcXCIsXFxcImFwcGx5Q2FyZE51bWJlclxcXCI6XFxcIlxcXCIsXFxcInRpbWVMaW5lRGF0YVxcXCI6W10sXFxcImxlYWRlck1zZ1xcXCI6W10sXFxcImluZm9BdHRhY2htZW50XFxcIjpbXSxcXFwic3RhdGVcXFwiOlxcXCJcXFwiLFxcXCJpc091dFxcXCI6MCxcXFwiZGF0ZXRpbWVcXFwiOltdLFxcXCJhZGRyZXNzXFxcIjpcXFwiXFxcIixcXFwicmVtYXJrXFxcIjpcXFwiXFxcIixcXFwiYWNjZXNzb3J5R3JvdXBJZFxcXCI6XFxcIlxcXCIsXFxcImxlZ2FsTWFuXFxcIjpcXFwiXFxcIixcXFwibGVnYWxNYW5UZWxQaG9uZVxcXCI6XFxcIlxcXCIsXFxcImNvbnRhY3RNYW5cXFwiOlxcXCJcXFwiLFxcXCJzZXRBZGRyZXNzXFxcIjpcXFwiXFxcIixcXFwic2V0Q29udGVudFxcXCI6XFxcIlxcXCIsXFxcIm1hdGVyaWFsXFxcIjpcXFwiXFxcIn0sXFxcInRpdGxlXFxcIjpcXFwibnVsbFxcXCIsXFxcIm1heFN0ZXBzXFxcIjpudWxsfSxcXFwiZWxlbWVudHNcXFwiOlt7XFxcInR5cGVcXFwiOlxcXCJidG5zLW9wcmF0b3JcXFwiLFxcXCJkYXRhXFxcIjp7XFxcImJ1dHRvbnNcXFwiOlt7XFxcInR5cGVcXFwiOlxcXCJwcmltYXJ5XFxcIixcXFwibGFiZWxcXFwiOlxcXCLkuIvkuIDmraVcXFwiLFxcXCJjbGlja1xcXCI6XFxcIm5leHRTdGVwQ2xpY2tcXFwifSx7XFxcInR5cGVcXFwiOlxcXCJzdWNjZXNzXFxcIixcXFwibGFiZWxcXFwiOlxcXCLlip7kuovmjIfljZdcXFwiLFxcXCJjbGlja1xcXCI6XFxcImd1aWRlQ2xpY2tcXFwifV19fSx7XFxcInR5cGVcXFwiOlxcXCJib3hcXFwiLFxcXCJkYXRhXFxcIjpbe1xcXCJ0eXBlXFxcIjpcXFwiZm9ybS10YWJsZVxcXCIsXFxcImRhdGFcXFwiOntcXFwibW9kZWxcXFwiOlxcXCJsZWFkZXJNc2dcXFwiLFxcXCJ2YWxpZGF0b3JcXFwiOmZhbHNlLFxcXCJtaW5Sb3dzXFxcIjoxLFxcXCJ3aWR0aFxcXCI6MTAwMCxcXFwiZGlzYWJsZURlbFJvd3NcXFwiOjEsXFxcImJ0bk1zZ1xcXCI6XFxcIlxcXCIsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiYnVzaUlkXFxcIjpcXFwiXFxcIixcXFwidGl0bGVcXFwiOlxcXCJcXFwiLFxcXCJhbGlnblxcXCI6XFxcImNlbnRlclxcXCIsXFxcInR5cGVcXFwiOlxcXCJzZWxlY3RcXFwiLFxcXCJjb2x1bW5zXFxcIjpbe1xcXCJ0eXBlXFxcIjpcXFwic2VsZWN0XFxcIixcXFwidGl0bGVcXFwiOlxcXCLkuJPogYwv5YW86IGMXFxcIixcXFwibGFiZWxcXFwiOlxcXCJcXFwiLFxcXCJidXNpSWRcXFwiOlxcXCJcXFwiLFxcXCJpdGVtc1Byb3BcXFwiOlxcXCJcXFwiLFxcXCJ3aWR0aFxcXCI6MjAwLFxcXCJleHRlbmRcXFwiOntcXFwiaXRlbVdpZHRoXFxcIjozMjAsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiZXZlbnRUeXBlXFxcIjpcXFwiXFxcIn0sXFxcIml0ZW1PcHRpb25zXFxcIjpbe1xcXCJsYWJlbFxcXCI6XFxcIuWFvOiBjFxcXCIsXFxcInZhbHVlXFxcIjpcXFwiMVxcXCIsXFxcImV4dGVuZFxcXCI6e1xcXCJzaXplXFxcIjpcXFwiXFxcIixcXFwiZGlzYWJsZWRcXFwiOmZhbHNlfX0se1xcXCJsYWJlbFxcXCI6XFxcIuS4k+iBjFxcXCIsXFxcInZhbHVlXFxcIjpcXFwiMlxcXCIsXFxcImV4dGVuZFxcXCI6e1xcXCJzaXplXFxcIjpcXFwiXFxcIixcXFwiZGlzYWJsZWRcXFwiOmZhbHNlfX1dfSx7XFxcInR5cGVcXFwiOlxcXCJpbnB1dFxcXCIsXFxcInRpdGxlXFxcIjpcXFwi6LWE5qC86K+B5Lmm57yW5Y+3XFxcIixcXFwiYWxpZ25cXFwiOlxcXCJjZW50ZXJcXFwiLFxcXCJwbGFjZWhvbGRlclxcXCI6XFxcIlxcXCIsXFxcImJ1c2lJZFxcXCI6XFxcIlxcXCIsXFxcIndpZHRoXFxcIjoyMDAsXFxcInJ1bGVzXFxcIjp7XFxcInJlcXVpcmVkXFxcIjpmYWxzZSxcXFwibWVzc2FnZVxcXCI6XFxcIlxcXCIsXFxcInR5cGVcXFwiOlxcXCJcXFwiLFxcXCJ0cmlnZ2VyXFxcIjpcXFwiXFxcIn19LHtcXFwidHlwZVxcXCI6XFxcImlucHV0XFxcIixcXFwidGl0bGVcXFwiOlxcXCLouqvku73or4HnvJblj7dcXFwiLFxcXCJhbGlnblxcXCI6XFxcImNlbnRlclxcXCIsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiYnVzaUlkXFxcIjpcXFwiXFxcIixcXFwid2lkdGhcXFwiOjIwMCxcXFwicnVsZXNcXFwiOntcXFwicmVxdWlyZWRcXFwiOmZhbHNlLFxcXCJtZXNzYWdlXFxcIjpcXFwiXFxcIixcXFwidHlwZVxcXCI6XFxcIlxcXCIsXFxcInRyaWdnZXJcXFwiOlxcXCJcXFwifX0se1xcXCJ0eXBlXFxcIjpcXFwiaW5wdXRcXFwiLFxcXCJ0aXRsZVxcXCI6XFxcIuS7juS6i+eHg+awlOS4k+S4muW3peS9nOW5tOmZkCjlubQpXFxcIixcXFwiYWxpZ25cXFwiOlxcXCJjZW50ZXJcXFwiLFxcXCJwbGFjZWhvbGRlclxcXCI6XFxcIlxcXCIsXFxcImJ1c2lJZFxcXCI6XFxcIlxcXCIsXFxcIndpZHRoXFxcIjoyMDAsXFxcInJ1bGVzXFxcIjp7XFxcInJlcXVpcmVkXFxcIjpmYWxzZSxcXFwibWVzc2FnZVxcXCI6XFxcIlxcXCIsXFxcInR5cGVcXFwiOlxcXCJcXFwiLFxcXCJ0cmlnZ2VyXFxcIjpcXFwiXFxcIn19LHtcXFwidHlwZVxcXCI6XFxcImlucHV0XFxcIixcXFwidGl0bGVcXFwiOlxcXCLogYzliqHlj4rlspfkvY1cXFwiLFxcXCJhbGlnblxcXCI6XFxcImNlbnRlclxcXCIsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiYnVzaUlkXFxcIjpcXFwiXFxcIixcXFwid2lkdGhcXFwiOjIwMCxcXFwicnVsZXNcXFwiOntcXFwicmVxdWlyZWRcXFwiOmZhbHNlLFxcXCJtZXNzYWdlXFxcIjpcXFwiXFxcIixcXFwidHlwZVxcXCI6XFxcIlxcXCIsXFxcInRyaWdnZXJcXFwiOlxcXCJcXFwifX0se1xcXCJ0eXBlXFxcIjpcXFwic2VsZWN0XFxcIixcXFwidGl0bGVcXFwiOlxcXCLmlofljJbnqIvluqZcXFwiLFxcXCJsYWJlbFxcXCI6XFxcIlxcXCIsXFxcImJ1c2lJZFxcXCI6XFxcIlxcXCIsXFxcIml0ZW1zUHJvcFxcXCI6XFxcIlxcXCIsXFxcIndpZHRoXFxcIjoyMDAsXFxcImV4dGVuZFxcXCI6e1xcXCJpdGVtV2lkdGhcXFwiOjMyMCxcXFwicGxhY2Vob2xkZXJcXFwiOlxcXCJcXFwiLFxcXCJldmVudFR5cGVcXFwiOlxcXCJcXFwifSxcXFwiaXRlbU9wdGlvbnNcXFwiOlt7XFxcImxhYmVsXFxcIjpcXFwi56CU56m255Sf5Y+K5Lul5LiKXFxcIixcXFwidmFsdWVcXFwiOlxcXCIxXFxcIixcXFwiZXh0ZW5kXFxcIjp7XFxcInNpemVcXFwiOlxcXCJcXFwiLFxcXCJkaXNhYmxlZFxcXCI6ZmFsc2V9fSx7XFxcImxhYmVsXFxcIjpcXFwi5aSn5a2m5pys56eRXFxcIixcXFwidmFsdWVcXFwiOlxcXCIyXFxcIixcXFwiZXh0ZW5kXFxcIjp7XFxcInNpemVcXFwiOlxcXCJcXFwiLFxcXCJkaXNhYmxlZFxcXCI6ZmFsc2V9fSx7XFxcImxhYmVsXFxcIjpcXFwi5aSn5a2m5LiT56eRXFxcIixcXFwidmFsdWVcXFwiOlxcXCIzXFxcIixcXFwiZXh0ZW5kXFxcIjp7XFxcInNpemVcXFwiOlxcXCJcXFwiLFxcXCJkaXNhYmxlZFxcXCI6ZmFsc2V9fSx7XFxcImxhYmVsXFxcIjpcXFwi5Lit5LiTXFxcIixcXFwidmFsdWVcXFwiOlxcXCI0XFxcIixcXFwiZXh0ZW5kXFxcIjp7XFxcInNpemVcXFwiOlxcXCJcXFwiLFxcXCJkaXNhYmxlZFxcXCI6ZmFsc2V9fSx7XFxcImxhYmVsXFxcIjpcXFwi6auY5LitXFxcIixcXFwidmFsdWVcXFwiOlxcXCI1XFxcIixcXFwiZXh0ZW5kXFxcIjp7XFxcInNpemVcXFwiOlxcXCJcXFwiLFxcXCJkaXNhYmxlZFxcXCI6ZmFsc2V9fSx7XFxcImxhYmVsXFxcIjpcXFwi5Yid5LitXFxcIixcXFwidmFsdWVcXFwiOlxcXCI2XFxcIixcXFwiZXh0ZW5kXFxcIjp7XFxcInNpemVcXFwiOlxcXCJcXFwiLFxcXCJkaXNhYmxlZFxcXCI6ZmFsc2V9fSx7XFxcImxhYmVsXFxcIjpcXFwi5bCP5a2mXFxcIixcXFwidmFsdWVcXFwiOlxcXCI3XFxcIixcXFwiZXh0ZW5kXFxcIjp7XFxcInNpemVcXFwiOlxcXCJcXFwiLFxcXCJkaXNhYmxlZFxcXCI6ZmFsc2V9fSx7XFxcImxhYmVsXFxcIjpcXFwi5YW25LuWXFxcIixcXFwidmFsdWVcXFwiOlxcXCI4XFxcIixcXFwiZXh0ZW5kXFxcIjp7XFxcInNpemVcXFwiOlxcXCJcXFwiLFxcXCJkaXNhYmxlZFxcXCI6ZmFsc2V9fV19LHtcXFwidHlwZVxcXCI6XFxcInNlbGVjdFxcXCIsXFxcInRpdGxlXFxcIjpcXFwi5oCn5YirXFxcIixcXFwibGFiZWxcXFwiOlxcXCJcXFwiLFxcXCJidXNpSWRcXFwiOlxcXCJcXFwiLFxcXCJpdGVtc1Byb3BcXFwiOlxcXCJcXFwiLFxcXCJ3aWR0aFxcXCI6MjAwLFxcXCJleHRlbmRcXFwiOntcXFwiaXRlbVdpZHRoXFxcIjozMjAsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiZXZlbnRUeXBlXFxcIjpcXFwiXFxcIn0sXFxcIml0ZW1PcHRpb25zXFxcIjpbe1xcXCJsYWJlbFxcXCI6XFxcIueUt1xcXCIsXFxcInZhbHVlXFxcIjpcXFwiMVxcXCIsXFxcImV4dGVuZFxcXCI6e1xcXCJzaXplXFxcIjpcXFwiXFxcIixcXFwiZGlzYWJsZWRcXFwiOmZhbHNlfX0se1xcXCJsYWJlbFxcXCI6XFxcIuWls1xcXCIsXFxcInZhbHVlXFxcIjpcXFwiMlxcXCIsXFxcImV4dGVuZFxcXCI6e1xcXCJzaXplXFxcIjpcXFwiXFxcIixcXFwiZGlzYWJsZWRcXFwiOmZhbHNlfX1dfSx7XFxcInR5cGVcXFwiOlxcXCJpbnB1dFxcXCIsXFxcInRpdGxlXFxcIjpcXFwi5aeT5ZCNXFxcIixcXFwiYWxpZ25cXFwiOlxcXCJjZW50ZXJcXFwiLFxcXCJwbGFjZWhvbGRlclxcXCI6XFxcIlxcXCIsXFxcImJ1c2lJZFxcXCI6XFxcIlxcXCIsXFxcIndpZHRoXFxcIjoyMDAsXFxcInJ1bGVzXFxcIjp7XFxcInJlcXVpcmVkXFxcIjpmYWxzZSxcXFwibWVzc2FnZVxcXCI6XFxcIlxcXCIsXFxcInR5cGVcXFwiOlxcXCJcXFwiLFxcXCJ0cmlnZ2VyXFxcIjpcXFwiXFxcIn19XX19LHtcXFwidHlwZVxcXCI6XFxcImZvcm1cXFwiLFxcXCJkYXRhXFxcIjp7XFxcInZhbGlkYXRvclxcXCI6ZmFsc2UsXFxcInJ1bGVzXFxcIjp7fSxcXFwiZXh0ZW5kXFxcIjp7XFxcInNwYW5cXFwiOjE3LFxcXCJsYWJlbFdpZHRoXFxcIjoyMjIsXFxcIml0ZW1XaWR0aFxcXCI6MzIwLFxcXCJwbGFjZWhvbGRlclxcXCI6XFxcIlxcXCIsXFxcIm1heGxlbmd0aFxcXCI6XFxcIjIyMFxcXCIsXFxcImV2ZW50VHlwZVxcXCI6XFxcIlxcXCIsXFxcInJvd3NcXFwiOjB9LFxcXCJpdGVtc1xcXCI6W3tcXFwidHlwZVxcXCI6XFxcImlucHV0XFxcIixcXFwibGFiZWxcXFwiOlxcXCLogZTns7vnlLXor50v55Sz6K+35Lq65omL5py6XFxcIixcXFwiYnVzaUlkXFxcIjo5LFxcXCJleHRlbmRcXFwiOntcXFwiaXRlbVdpZHRoXFxcIjozMjAsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiZXZlbnRUeXBlXFxcIjpcXFwiXFxcIixcXFwibWF4bGVuZ3RoXFxcIjpcXFwiMjIwXFxcIn19LHtcXFwidHlwZVxcXCI6XFxcImlucHV0XFxcIixcXFwibGFiZWxcXFwiOlxcXCLogZTns7vkurpcXFwiLFxcXCJidXNpSWRcXFwiOjE4LFxcXCJleHRlbmRcXFwiOntcXFwiaXRlbVdpZHRoXFxcIjozMjAsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiZXZlbnRUeXBlXFxcIjpcXFwiXFxcIixcXFwibWF4bGVuZ3RoXFxcIjpcXFwiMjIwXFxcIn19LHtcXFwidHlwZVxcXCI6XFxcImlucHV0XFxcIixcXFwibGFiZWxcXFwiOlxcXCLor4Hku7blj7fnoIFcXFwiLFxcXCJidXNpSWRcXFwiOjE3LFxcXCJleHRlbmRcXFwiOntcXFwiaXRlbVdpZHRoXFxcIjozMjAsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiZXZlbnRUeXBlXFxcIjpcXFwiXFxcIixcXFwibWF4bGVuZ3RoXFxcIjpcXFwiMjIwXFxcIn19LHtcXFwidHlwZVxcXCI6XFxcImlucHV0XFxcIixcXFwibGFiZWxcXFwiOlxcXCLor4Hku7bnsbvlnovkuK3mlofmj4/ov7BcXFwiLFxcXCJidXNpSWRcXFwiOjMzLFxcXCJleHRlbmRcXFwiOntcXFwiaXRlbVdpZHRoXFxcIjozMjAsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiZXZlbnRUeXBlXFxcIjpcXFwiXFxcIixcXFwibWF4bGVuZ3RoXFxcIjpcXFwiMjIwXFxcIn19LHtcXFwidHlwZVxcXCI6XFxcImlucHV0XFxcIixcXFwibGFiZWxcXFwiOlxcXCLor4Hku7bnsbvlnotcXFwiLFxcXCJidXNpSWRcXFwiOjI1LFxcXCJleHRlbmRcXFwiOntcXFwiaXRlbVdpZHRoXFxcIjozMjAsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiZXZlbnRUeXBlXFxcIjpcXFwiXFxcIixcXFwibWF4bGVuZ3RoXFxcIjpcXFwiMjIwXFxcIn19LHtcXFwidHlwZVxcXCI6XFxcImlucHV0XFxcIixcXFwibGFiZWxcXFwiOlxcXCLlp5PlkI0v5LyB5Lia5ZCN56ewXFxcIixcXFwiYnVzaUlkXFxcIjo2LFxcXCJleHRlbmRcXFwiOntcXFwiaXRlbVdpZHRoXFxcIjozMjAsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiZXZlbnRUeXBlXFxcIjpcXFwiXFxcIixcXFwibWF4bGVuZ3RoXFxcIjpcXFwiMjIwXFxcIn19XX19XX1dfTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgc3RySnNvbj1KU09OLnN0cmluZ2lmeSh0aGlzLmpzb25PYmopO1xcclxcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXFxcInN0ckpzb246XFxcIitzdHJKc29uKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9zZXRQYWdlUHJpdmlld0RhdGEnLCB0aGlzLmpzb25PYmopO1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goe25hbWU6ICdwYWdlUHJldmlldyd9KVxcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICBzYXZlRGF0YSgpe1xcclxcbiAgICAgICAgICAgICAgICBsZXQgcGFnZU9iaj0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcXFwicGFnZVxcXCIpKTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5qc29uT2JqLnBhZ2UgPSBwYWdlT2JqO1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLmpzb25PYmouZWxlbWVudHMgPSBbXTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRUcmVlRmFjdG9yeSh0aGlzLmNvbXBvbmVudFRyZWUsdGhpcy5qc29uT2JqLmVsZW1lbnRzKTtcXHJcXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5qc29uT2JqKTtcXHJcXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkodGhpcy5qc29uT2JqKSk7XFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAvL25vdGUg5o+Q56S65L+d5a2Y5YWo5bGA6K6+572uXFxyXFxuICAgICAgICAgICAgc2VuZEJ1c1NhdmVBbGxJbmZvKCl7XFxyXFxuICAgICAgICAgICAgICAgIGV2ZW50YnVzLiRlbWl0KFxcXCJzYXZlQWxsSW5mb1xcXCIse30pO1xcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgZXhwb3J0RGF0YShtYXJrZXIpe1xcclxcbiAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcXHJcXG4gICAgICAgICAgICAgICBhbGVydCgxMTEpO1xcclxcbiAgICAgICAgICAgLyogICAgaWYobG9jYWxTdG9yYWdlLmdldEl0ZW0oXFxcInBhZ2VcXFwiKSYmbG9jYWxTdG9yYWdlLmdldEl0ZW0oXFxcInBhZ2VcXFwiKSE9bnVsbCl7XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgIH1lbHNle1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kTW9kYWwuc3VjY2Vzcyh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFxcXCLlj4vmg4Xmj5DnpLpcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFxcXCLor7flhYjlhajlsYDorr7nva7vvIFcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcXHJcXG4gICAgICAgICAgICAgICAgfSovXFxyXFxuICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmNvbXBvbmVudFRyZWUpO1xcclxcbiAgICAgICAgICAgICAgIC8vIGxldCBwYWdlT2JqPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFxcXCJwYWdlXFxcIikpO1xcclxcbiAgICAgICAgICAgICAgICBjb25maWdQYWdlSWRlLnBhZ2UuZnVsbE1vZGVsLnRlbXBsYXRlQ2FjaGUudmFsaWRhdG9ycz1bXTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5qc29uT2JqLnBhZ2UgPSBjb25maWdQYWdlSWRlLnBhZ2U7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuanNvbk9iai5lbGVtZW50cyA9IFtdO1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFRyZWVGYWN0b3J5KHRoaXMuY29tcG9uZW50VHJlZSx0aGlzLmpzb25PYmouZWxlbWVudHMpO1xcclxcbiAgICAgICAgICAgICAgICBsZXQgZXhwb3J0SnNvbiA9IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGNvZGU6MCxcXHJcXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6XFxcIlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICBkYXRhOntcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IGNvcHlPYmo9e1xcclxcbiAgICAgICAgICAgICAgICAgICAgZGF0YTp0aGlzLmpzb25PYmpcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGV4cG9ydEpzb24sIGNvcHlPYmopO1xcclxcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhMSA9IEpTT04uc3RyaW5naWZ5KGV4cG9ydEpzb24pO1xcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhkYXRhMSk7XFxyXFxuICAgICAgICAgICAgICAgIC8vbm90ZSDkv53lrZjmqKHmnb/lkoxqc29uXFxyXFxuICAgICAgICAgICAgICAgIGxldCBwYXJhbXMgPSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBpdGVtTm86bG9jYWxTdG9yYWdlLml0ZW1ObyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1TdGVwOmxvY2FsU3RvcmFnZS5pdGVtU3RlcFxcclxcbiAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgICAgICBodHRwTG9hZGluZy5zaG93TG9hZGluZyhcXFwi5q2j5Zyo5o+Q5LqkLi4uXFxcIik7XFxyXFxuICAgICAgICAgICAgICAgIC8vbm90ZSDov5nph4zpnaLopoHlgZrkuIDkuKrkv67mlLnvvIznu5nmr4/kuIDkuKpmb3JtIOmHjOmdoua3u+WKoOWtl+auteWxnuaAp++8jOeEtuWQjuaKiuWtl+auteeahOWxnuaAp+aUvuWIsOagoemqjOmHjOmdouWOu1xcclxcbiAgICAgICAgICAgICAgICBsZXQganNvbkFycjI9W107XFxyXFxuICAgICAgICAgICAgICAgIGxldCBwcm9wQXJyPVtdO1xcclxcbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0QXJyPVtdO1xcclxcbiAgICAgICAgICAgICAgICBmb3IobGV0IGk9MDtpPGV4cG9ydEpzb24uZGF0YS5lbGVtZW50cy5sZW5ndGg7aSsrKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGV4cG9ydEpzb24uZGF0YS5lbGVtZW50c1tpXS5kYXRhLmxlbmd0aDsgaisrKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgLy/liKTmlq3mt7vliqDnmoTmlbDnu4TmmK/lkKbkuLrnqbrkuoZcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXhwb3J0SnNvbi5kYXRhLmVsZW1lbnRzW2ldLmRhdGFbal0udHlwZSA9PSBcXFwiZm9ybVxcXCIpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGpzb25BcnIgPSBleHBvcnRKc29uLmRhdGEuZWxlbWVudHNbaV0uZGF0YVtqXS5kYXRhLml0ZW1zO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcnVsZUFyciA9IGV4cG9ydEpzb24uZGF0YS5lbGVtZW50c1tpXS5kYXRhW2pdLmRhdGEucnVsZXM7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGsgPSAwOyBrIDwgcHJvcEFyci5sZW5ndGg7IGsrKykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgbSA9IDA7IG0gPCBqc29uQXJyLmxlbmd0aDsgbSsrKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy/liKTmlq3mt7vliqDnmoTmlbDnu4TmmK/lkKbkuLrnqbrkuoZcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJvcEFycltrXVtcXFwiYnVzaUlkXFxcIl0gPT09IGpzb25BcnJbbV1bXFxcImJ1c2lJZFxcXCJdKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzb25BcnJbbV1bXFxcInByb3BcXFwiXSA9IHByb3BBcnJba11bXFxcImJ1c2lOYW1lXFxcIl07XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBqc29uQXJyW21dW1xcXCJydWxlc1xcXCJdO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IG4gaW4gcnVsZUFycikge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDlsIbmoKHpqozph4zpnaLnmoRpZOabv+aNouaIkOWxnuaAp1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcm9wQXJyW2tdW1xcXCJidXNpSWRcXFwiXSA9PSBuKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bGVBcnJbcHJvcEFycltrXVtcXFwiYnVzaU5hbWVcXFwiXV0gPSBydWxlQXJyW25dO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgcnVsZUFycltuXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgaWYobWFya2VyPT0xKXtcXHJcXG4gICAgICAgICAgICAgICAgICAgIC8vbm90ZSDkv53lrZhcXHJcXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnN0cmluZ2lmeShleHBvcnRKc29uKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG15U3RyID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcXFwiLS0+XFxcIitteVN0cik7XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgdG9TZXJ2ZXJQYXJhbXMgPSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbU5vOmxvY2FsU3RvcmFnZS5pdGVtTm8sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVN0ZXA6bG9jYWxTdG9yYWdlLml0ZW1TdGVwLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGpzb25UeXBlOjIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAganNvblN0cjpkYXRhXFxyXFxuICAgICAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgICAgICAgICAgU2VydmljZS5zYXZlVGVtcGxhdGVPckpzb25Ub1NlcnZlcih0b1NlcnZlclBhcmFtcykudGhlbigocmVzKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOWImuaJjeS/neWtmOWujOS6hmpzb27vvIznjrDlnKjopoHkv53mjIHmqKHmnb9cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ3ZpZXdwb3J0L3NhdmVMb2NhbEluc3RhbmNlcycsIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgIH1lbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvc2F2ZUxvY2FsSW5zdGFuY2VzJywge1xcclxcbiAgICAgICAgICAgICAgICAgICAgfSk7XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgICAgICBodHRwTG9hZGluZy5jbG9zZUxvYWRpbmcoKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIC8vbm90ZSDpooTop4hcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTaG93TW9kYWwgPSB0cnVlO1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RhbHByZXZpZXcgPSB0cnVlO1xcclxcbiAgICAgICAgICAgICAgICAgICAgLy8gIHRoaXMuanNvbk9iaj17XFxcInBhZ2VcXFwiOntcXFwiZnVsbE1vZGVsXFxcIjp7XFxcInRlbXBsYXRlQ2FjaGVcXFwiOntcXFwidmFsaWRhdG9yc1xcXCI6W10sXFxcInRhYmxlQXJyXFxcIjpbXSxcXFwic2VsZWN0QXJyXFxcIjpbXSxcXFwidGFyZ2V0RGF0YVxcXCI6W1xcXCJhcHBseU5hbWVcXFwiLFxcXCJhcHBseU5hbWVcXFwiLFxcXCJzZXhcXFwiLFxcXCJzZXhcXFwiLFxcXCJuYXRpb25hbERlc2NcXFwiLFxcXCJuYXRpb25hbERlc2NcXFwiLFxcXCJ0ZWxQaG9uZVxcXCIsXFxcInRlbFBob25lXFxcIixcXFwiZ3JhZHVhdGVkU2Nob29sXFxcIixcXFwiZ3JhZHVhdGVkU2Nob29sXFxcIixcXFwiZWR1Y2F0aW9uXFxcIixcXFwiZWR1Y2F0aW9uXFxcIixcXFwicHJvZmVzc2lvbmFsTmFtZVxcXCIsXFxcInByb2Zlc3Npb25hbE5hbWVcXFwiLFxcXCJtYXJyaWFnZUFuZENoaWxkYmVhcmluZ1N0YXR1c1xcXCIsXFxcIm1hcnJpYWdlQW5kQ2hpbGRiZWFyaW5nU3RhdHVzXFxcIixcXFwid29ya1VuaXRcXFwiLFxcXCJ3b3JrVW5pdFxcXCIsXFxcImZpbGVSZWNlaXZpbmdVbml0XFxcIixcXFwiZmlsZVJlY2VpdmluZ1VuaXRcXFwiLFxcXCJyZWdpc3RyYXRpb25UaW1lXFxcIixcXFwicmVnaXN0cmF0aW9uVGltZVxcXCIsXFxcImFwcGx5Q2FyZE51bWJlclxcXCIsXFxcImFwcGx5Q2FyZE51bWJlclxcXCJdfSxcXFwiYXBwbHlOYW1lXFxcIjpcXFwiXFxcIixcXFwic2V4XFxcIjpcXFwiXFxcIixcXFwibmF0aW9uYWxEZXNjXFxcIjpcXFwiXFxcIixcXFwidGVsUGhvbmVcXFwiOlxcXCJcXFwiLFxcXCJncmFkdWF0ZWRTY2hvb2xcXFwiOlxcXCJcXFwiLFxcXCJlZHVjYXRpb25cXFwiOlxcXCJcXFwiLFxcXCJwcm9mZXNzaW9uYWxOYW1lXFxcIjpcXFwiXFxcIixcXFwibWFycmlhZ2VBbmRDaGlsZGJlYXJpbmdTdGF0dXNcXFwiOlxcXCJcXFwiLFxcXCJ3b3JrVW5pdFxcXCI6XFxcIlxcXCIsXFxcImZpbGVSZWNlaXZpbmdVbml0XFxcIjpcXFwiXFxcIixcXFwicmVnaXN0cmF0aW9uVGltZVxcXCI6XFxcIlxcXCIsXFxcImFwcGx5Q2FyZE51bWJlclxcXCI6XFxcIlxcXCIsXFxcInRpbWVMaW5lRGF0YVxcXCI6W10sXFxcImxlYWRlck1zZ1xcXCI6W10sXFxcImluZm9BdHRhY2htZW50XFxcIjpbXSxcXFwic3RhdGVcXFwiOlxcXCJcXFwiLFxcXCJpc091dFxcXCI6MCxcXFwiZGF0ZXRpbWVcXFwiOltdLFxcXCJhZGRyZXNzXFxcIjpcXFwiXFxcIixcXFwicmVtYXJrXFxcIjpcXFwiXFxcIixcXFwiYWNjZXNzb3J5R3JvdXBJZFxcXCI6XFxcIlxcXCIsXFxcImxlZ2FsTWFuXFxcIjpcXFwiXFxcIixcXFwibGVnYWxNYW5UZWxQaG9uZVxcXCI6XFxcIlxcXCIsXFxcImNvbnRhY3RNYW5cXFwiOlxcXCJcXFwiLFxcXCJzZXRBZGRyZXNzXFxcIjpcXFwiXFxcIixcXFwic2V0Q29udGVudFxcXCI6XFxcIlxcXCIsXFxcIm1hdGVyaWFsXFxcIjpcXFwiXFxcIn0sXFxcInRpdGxlXFxcIjpcXFwibnVsbFxcXCIsXFxcIm1heFN0ZXBzXFxcIjpudWxsfSxcXFwiZWxlbWVudHNcXFwiOlt7XFxcInR5cGVcXFwiOlxcXCJidG5zLW9wcmF0b3JcXFwiLFxcXCJkYXRhXFxcIjp7XFxcImJ1dHRvbnNcXFwiOlt7XFxcInR5cGVcXFwiOlxcXCJwcmltYXJ5XFxcIixcXFwibGFiZWxcXFwiOlxcXCLkuIvkuIDmraVcXFwiLFxcXCJjbGlja1xcXCI6XFxcIm5leHRTdGVwQ2xpY2tcXFwifSx7XFxcInR5cGVcXFwiOlxcXCJzdWNjZXNzXFxcIixcXFwibGFiZWxcXFwiOlxcXCLlip7kuovmjIfljZdcXFwiLFxcXCJjbGlja1xcXCI6XFxcImd1aWRlQ2xpY2tcXFwifV19fSx7XFxcInR5cGVcXFwiOlxcXCJib3hcXFwiLFxcXCJkYXRhXFxcIjpbe1xcXCJ0eXBlXFxcIjpcXFwiZm9ybS10YWJsZVxcXCIsXFxcImRhdGFcXFwiOntcXFwibW9kZWxcXFwiOlxcXCJsZWFkZXJNc2dcXFwiLFxcXCJ2YWxpZGF0b3JcXFwiOmZhbHNlLFxcXCJtaW5Sb3dzXFxcIjoxLFxcXCJ3aWR0aFxcXCI6MTAwMCxcXFwiZGlzYWJsZURlbFJvd3NcXFwiOjEsXFxcImJ0bk1zZ1xcXCI6XFxcIlxcXCIsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiYnVzaUlkXFxcIjpcXFwiXFxcIixcXFwidGl0bGVcXFwiOlxcXCJcXFwiLFxcXCJhbGlnblxcXCI6XFxcImNlbnRlclxcXCIsXFxcInR5cGVcXFwiOlxcXCJzZWxlY3RcXFwiLFxcXCJjb2x1bW5zXFxcIjpbe1xcXCJ0eXBlXFxcIjpcXFwic2VsZWN0XFxcIixcXFwidGl0bGVcXFwiOlxcXCLkuJPogYwv5YW86IGMXFxcIixcXFwibGFiZWxcXFwiOlxcXCJcXFwiLFxcXCJidXNpSWRcXFwiOlxcXCJcXFwiLFxcXCJpdGVtc1Byb3BcXFwiOlxcXCJcXFwiLFxcXCJ3aWR0aFxcXCI6MjAwLFxcXCJleHRlbmRcXFwiOntcXFwiaXRlbVdpZHRoXFxcIjozMjAsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiZXZlbnRUeXBlXFxcIjpcXFwiXFxcIn0sXFxcIml0ZW1PcHRpb25zXFxcIjpbe1xcXCJsYWJlbFxcXCI6XFxcIuWFvOiBjFxcXCIsXFxcInZhbHVlXFxcIjpcXFwiMVxcXCIsXFxcImV4dGVuZFxcXCI6e1xcXCJzaXplXFxcIjpcXFwiXFxcIixcXFwiZGlzYWJsZWRcXFwiOmZhbHNlfX0se1xcXCJsYWJlbFxcXCI6XFxcIuS4k+iBjFxcXCIsXFxcInZhbHVlXFxcIjpcXFwiMlxcXCIsXFxcImV4dGVuZFxcXCI6e1xcXCJzaXplXFxcIjpcXFwiXFxcIixcXFwiZGlzYWJsZWRcXFwiOmZhbHNlfX1dfSx7XFxcInR5cGVcXFwiOlxcXCJpbnB1dFxcXCIsXFxcInRpdGxlXFxcIjpcXFwi6LWE5qC86K+B5Lmm57yW5Y+3XFxcIixcXFwiYWxpZ25cXFwiOlxcXCJjZW50ZXJcXFwiLFxcXCJwbGFjZWhvbGRlclxcXCI6XFxcIlxcXCIsXFxcImJ1c2lJZFxcXCI6XFxcIlxcXCIsXFxcIndpZHRoXFxcIjoyMDAsXFxcInJ1bGVzXFxcIjp7XFxcInJlcXVpcmVkXFxcIjpmYWxzZSxcXFwibWVzc2FnZVxcXCI6XFxcIlxcXCIsXFxcInR5cGVcXFwiOlxcXCJcXFwiLFxcXCJ0cmlnZ2VyXFxcIjpcXFwiXFxcIn19LHtcXFwidHlwZVxcXCI6XFxcImlucHV0XFxcIixcXFwidGl0bGVcXFwiOlxcXCLouqvku73or4HnvJblj7dcXFwiLFxcXCJhbGlnblxcXCI6XFxcImNlbnRlclxcXCIsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiYnVzaUlkXFxcIjpcXFwiXFxcIixcXFwid2lkdGhcXFwiOjIwMCxcXFwicnVsZXNcXFwiOntcXFwicmVxdWlyZWRcXFwiOmZhbHNlLFxcXCJtZXNzYWdlXFxcIjpcXFwiXFxcIixcXFwidHlwZVxcXCI6XFxcIlxcXCIsXFxcInRyaWdnZXJcXFwiOlxcXCJcXFwifX0se1xcXCJ0eXBlXFxcIjpcXFwiaW5wdXRcXFwiLFxcXCJ0aXRsZVxcXCI6XFxcIuS7juS6i+eHg+awlOS4k+S4muW3peS9nOW5tOmZkCjlubQpXFxcIixcXFwiYWxpZ25cXFwiOlxcXCJjZW50ZXJcXFwiLFxcXCJwbGFjZWhvbGRlclxcXCI6XFxcIlxcXCIsXFxcImJ1c2lJZFxcXCI6XFxcIlxcXCIsXFxcIndpZHRoXFxcIjoyMDAsXFxcInJ1bGVzXFxcIjp7XFxcInJlcXVpcmVkXFxcIjpmYWxzZSxcXFwibWVzc2FnZVxcXCI6XFxcIlxcXCIsXFxcInR5cGVcXFwiOlxcXCJcXFwiLFxcXCJ0cmlnZ2VyXFxcIjpcXFwiXFxcIn19LHtcXFwidHlwZVxcXCI6XFxcImlucHV0XFxcIixcXFwidGl0bGVcXFwiOlxcXCLogYzliqHlj4rlspfkvY1cXFwiLFxcXCJhbGlnblxcXCI6XFxcImNlbnRlclxcXCIsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiYnVzaUlkXFxcIjpcXFwiXFxcIixcXFwid2lkdGhcXFwiOjIwMCxcXFwicnVsZXNcXFwiOntcXFwicmVxdWlyZWRcXFwiOmZhbHNlLFxcXCJtZXNzYWdlXFxcIjpcXFwiXFxcIixcXFwidHlwZVxcXCI6XFxcIlxcXCIsXFxcInRyaWdnZXJcXFwiOlxcXCJcXFwifX0se1xcXCJ0eXBlXFxcIjpcXFwic2VsZWN0XFxcIixcXFwidGl0bGVcXFwiOlxcXCLmlofljJbnqIvluqZcXFwiLFxcXCJsYWJlbFxcXCI6XFxcIlxcXCIsXFxcImJ1c2lJZFxcXCI6XFxcIlxcXCIsXFxcIml0ZW1zUHJvcFxcXCI6XFxcIlxcXCIsXFxcIndpZHRoXFxcIjoyMDAsXFxcImV4dGVuZFxcXCI6e1xcXCJpdGVtV2lkdGhcXFwiOjMyMCxcXFwicGxhY2Vob2xkZXJcXFwiOlxcXCJcXFwiLFxcXCJldmVudFR5cGVcXFwiOlxcXCJcXFwifSxcXFwiaXRlbU9wdGlvbnNcXFwiOlt7XFxcImxhYmVsXFxcIjpcXFwi56CU56m255Sf5Y+K5Lul5LiKXFxcIixcXFwidmFsdWVcXFwiOlxcXCIxXFxcIixcXFwiZXh0ZW5kXFxcIjp7XFxcInNpemVcXFwiOlxcXCJcXFwiLFxcXCJkaXNhYmxlZFxcXCI6ZmFsc2V9fSx7XFxcImxhYmVsXFxcIjpcXFwi5aSn5a2m5pys56eRXFxcIixcXFwidmFsdWVcXFwiOlxcXCIyXFxcIixcXFwiZXh0ZW5kXFxcIjp7XFxcInNpemVcXFwiOlxcXCJcXFwiLFxcXCJkaXNhYmxlZFxcXCI6ZmFsc2V9fSx7XFxcImxhYmVsXFxcIjpcXFwi5aSn5a2m5LiT56eRXFxcIixcXFwidmFsdWVcXFwiOlxcXCIzXFxcIixcXFwiZXh0ZW5kXFxcIjp7XFxcInNpemVcXFwiOlxcXCJcXFwiLFxcXCJkaXNhYmxlZFxcXCI6ZmFsc2V9fSx7XFxcImxhYmVsXFxcIjpcXFwi5Lit5LiTXFxcIixcXFwidmFsdWVcXFwiOlxcXCI0XFxcIixcXFwiZXh0ZW5kXFxcIjp7XFxcInNpemVcXFwiOlxcXCJcXFwiLFxcXCJkaXNhYmxlZFxcXCI6ZmFsc2V9fSx7XFxcImxhYmVsXFxcIjpcXFwi6auY5LitXFxcIixcXFwidmFsdWVcXFwiOlxcXCI1XFxcIixcXFwiZXh0ZW5kXFxcIjp7XFxcInNpemVcXFwiOlxcXCJcXFwiLFxcXCJkaXNhYmxlZFxcXCI6ZmFsc2V9fSx7XFxcImxhYmVsXFxcIjpcXFwi5Yid5LitXFxcIixcXFwidmFsdWVcXFwiOlxcXCI2XFxcIixcXFwiZXh0ZW5kXFxcIjp7XFxcInNpemVcXFwiOlxcXCJcXFwiLFxcXCJkaXNhYmxlZFxcXCI6ZmFsc2V9fSx7XFxcImxhYmVsXFxcIjpcXFwi5bCP5a2mXFxcIixcXFwidmFsdWVcXFwiOlxcXCI3XFxcIixcXFwiZXh0ZW5kXFxcIjp7XFxcInNpemVcXFwiOlxcXCJcXFwiLFxcXCJkaXNhYmxlZFxcXCI6ZmFsc2V9fSx7XFxcImxhYmVsXFxcIjpcXFwi5YW25LuWXFxcIixcXFwidmFsdWVcXFwiOlxcXCI4XFxcIixcXFwiZXh0ZW5kXFxcIjp7XFxcInNpemVcXFwiOlxcXCJcXFwiLFxcXCJkaXNhYmxlZFxcXCI6ZmFsc2V9fV19LHtcXFwidHlwZVxcXCI6XFxcInNlbGVjdFxcXCIsXFxcInRpdGxlXFxcIjpcXFwi5oCn5YirXFxcIixcXFwibGFiZWxcXFwiOlxcXCJcXFwiLFxcXCJidXNpSWRcXFwiOlxcXCJcXFwiLFxcXCJpdGVtc1Byb3BcXFwiOlxcXCJcXFwiLFxcXCJ3aWR0aFxcXCI6MjAwLFxcXCJleHRlbmRcXFwiOntcXFwiaXRlbVdpZHRoXFxcIjozMjAsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiZXZlbnRUeXBlXFxcIjpcXFwiXFxcIn0sXFxcIml0ZW1PcHRpb25zXFxcIjpbe1xcXCJsYWJlbFxcXCI6XFxcIueUt1xcXCIsXFxcInZhbHVlXFxcIjpcXFwiMVxcXCIsXFxcImV4dGVuZFxcXCI6e1xcXCJzaXplXFxcIjpcXFwiXFxcIixcXFwiZGlzYWJsZWRcXFwiOmZhbHNlfX0se1xcXCJsYWJlbFxcXCI6XFxcIuWls1xcXCIsXFxcInZhbHVlXFxcIjpcXFwiMlxcXCIsXFxcImV4dGVuZFxcXCI6e1xcXCJzaXplXFxcIjpcXFwiXFxcIixcXFwiZGlzYWJsZWRcXFwiOmZhbHNlfX1dfSx7XFxcInR5cGVcXFwiOlxcXCJpbnB1dFxcXCIsXFxcInRpdGxlXFxcIjpcXFwi5aeT5ZCNXFxcIixcXFwiYWxpZ25cXFwiOlxcXCJjZW50ZXJcXFwiLFxcXCJwbGFjZWhvbGRlclxcXCI6XFxcIlxcXCIsXFxcImJ1c2lJZFxcXCI6XFxcIlxcXCIsXFxcIndpZHRoXFxcIjoyMDAsXFxcInJ1bGVzXFxcIjp7XFxcInJlcXVpcmVkXFxcIjpmYWxzZSxcXFwibWVzc2FnZVxcXCI6XFxcIlxcXCIsXFxcInR5cGVcXFwiOlxcXCJcXFwiLFxcXCJ0cmlnZ2VyXFxcIjpcXFwiXFxcIn19XX19LHtcXFwidHlwZVxcXCI6XFxcImZvcm1cXFwiLFxcXCJkYXRhXFxcIjp7XFxcInZhbGlkYXRvclxcXCI6ZmFsc2UsXFxcInJ1bGVzXFxcIjp7fSxcXFwiZXh0ZW5kXFxcIjp7XFxcInNwYW5cXFwiOjE3LFxcXCJsYWJlbFdpZHRoXFxcIjoyMjIsXFxcIml0ZW1XaWR0aFxcXCI6MzIwLFxcXCJwbGFjZWhvbGRlclxcXCI6XFxcIlxcXCIsXFxcIm1heGxlbmd0aFxcXCI6XFxcIjIyMFxcXCIsXFxcImV2ZW50VHlwZVxcXCI6XFxcIlxcXCIsXFxcInJvd3NcXFwiOjB9LFxcXCJpdGVtc1xcXCI6W3tcXFwidHlwZVxcXCI6XFxcImlucHV0XFxcIixcXFwibGFiZWxcXFwiOlxcXCLogZTns7vnlLXor50v55Sz6K+35Lq65omL5py6XFxcIixcXFwiYnVzaUlkXFxcIjo5LFxcXCJleHRlbmRcXFwiOntcXFwiaXRlbVdpZHRoXFxcIjozMjAsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiZXZlbnRUeXBlXFxcIjpcXFwiXFxcIixcXFwibWF4bGVuZ3RoXFxcIjpcXFwiMjIwXFxcIn19LHtcXFwidHlwZVxcXCI6XFxcImlucHV0XFxcIixcXFwibGFiZWxcXFwiOlxcXCLogZTns7vkurpcXFwiLFxcXCJidXNpSWRcXFwiOjE4LFxcXCJleHRlbmRcXFwiOntcXFwiaXRlbVdpZHRoXFxcIjozMjAsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiZXZlbnRUeXBlXFxcIjpcXFwiXFxcIixcXFwibWF4bGVuZ3RoXFxcIjpcXFwiMjIwXFxcIn19LHtcXFwidHlwZVxcXCI6XFxcImlucHV0XFxcIixcXFwibGFiZWxcXFwiOlxcXCLor4Hku7blj7fnoIFcXFwiLFxcXCJidXNpSWRcXFwiOjE3LFxcXCJleHRlbmRcXFwiOntcXFwiaXRlbVdpZHRoXFxcIjozMjAsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiZXZlbnRUeXBlXFxcIjpcXFwiXFxcIixcXFwibWF4bGVuZ3RoXFxcIjpcXFwiMjIwXFxcIn19LHtcXFwidHlwZVxcXCI6XFxcImlucHV0XFxcIixcXFwibGFiZWxcXFwiOlxcXCLor4Hku7bnsbvlnovkuK3mlofmj4/ov7BcXFwiLFxcXCJidXNpSWRcXFwiOjMzLFxcXCJleHRlbmRcXFwiOntcXFwiaXRlbVdpZHRoXFxcIjozMjAsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiZXZlbnRUeXBlXFxcIjpcXFwiXFxcIixcXFwibWF4bGVuZ3RoXFxcIjpcXFwiMjIwXFxcIn19LHtcXFwidHlwZVxcXCI6XFxcImlucHV0XFxcIixcXFwibGFiZWxcXFwiOlxcXCLor4Hku7bnsbvlnotcXFwiLFxcXCJidXNpSWRcXFwiOjI1LFxcXCJleHRlbmRcXFwiOntcXFwiaXRlbVdpZHRoXFxcIjozMjAsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiZXZlbnRUeXBlXFxcIjpcXFwiXFxcIixcXFwibWF4bGVuZ3RoXFxcIjpcXFwiMjIwXFxcIn19LHtcXFwidHlwZVxcXCI6XFxcImlucHV0XFxcIixcXFwibGFiZWxcXFwiOlxcXCLlp5PlkI0v5LyB5Lia5ZCN56ewXFxcIixcXFwiYnVzaUlkXFxcIjo2LFxcXCJleHRlbmRcXFwiOntcXFwiaXRlbVdpZHRoXFxcIjozMjAsXFxcInBsYWNlaG9sZGVyXFxcIjpcXFwiXFxcIixcXFwiZXZlbnRUeXBlXFxcIjpcXFwiXFxcIixcXFwibWF4bGVuZ3RoXFxcIjpcXFwiMjIwXFxcIn19XX19XX1dfTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxldCBzdHJKc29uPUpTT04uc3RyaW5naWZ5KHRoaXMuanNvbk9iaik7XFxyXFxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcXFwic3RySnNvbjpcXFwiK3N0ckpzb24pO1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCd2aWV3cG9ydC9zZXRQYWdlUHJpdmlld0RhdGEnLCB0aGlzLmpzb25PYmopO1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goe25hbWU6ICdwYWdlUHJldmlldyd9KVxcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuXFxyXFxuXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICBnZXRidXNpbmVzc0RhdGEoZmlsZU5hbWUpe1xcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4kaHR0cC5nZXQoJy9zdGF0aWMvZGF0YS9wYWdlLWlkZS8nK2ZpbGVOYW1lKycuanNvbicpO1xcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgZGVsZXRlRGF0YSgpe1xcclxcbiAgICAgICAgICAgICAgICBsZXQgc3RhdGU9dGhpcy4kc3RvcmUuc3RhdGU7XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvZGVsZXRlRGF0YScsc3RhdGUudmlld3BvcnQuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSxcXHJcXG4gICAgICAgIGNyZWF0ZSgpe1xcclxcbiAgICAgICAgICAgIGV2ZW50YnVzLiRvbihcXFwiZXhwb3J0RGF0YVxcXCIsKG51bSk9PntcXHJcXG4gICAgICAgICAgICAgICAgYWxlcnQobnVtKTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5leHBvcnREYXRhKG51bSk7XFxyXFxuICAgICAgICAgICAgfSk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH07XFxyXFxuPC9zY3JpcHQ+XFxyXFxuXFxyXFxuPHN0eWxlPlxcclxcbiAgICAuc2F2ZURpdnN7XFxyXFxuICAgICAgICBwYWRkaW5nOjBweCAxMHB4O1xcclxcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xcclxcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XFxyXFxuICAgICAgICBtaW4td2lkdGg6NTZweDtcXHJcXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcXHJcXG4gICAgfVxcclxcbiAgICAuc2F2ZURpdnM6aG92ZXJ7XFxyXFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXHJcXG4gICAgICAgIGNvbG9yOiAjMzMzO1xcclxcbiAgICB9XFxyXFxuPC9zdHlsZT5cXHJcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtZjM3YzU4NGNcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvc2F2ZS9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDU2OFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///568\n");
3817
3818/***/ }),
3819/* 569 */
3820/***/ (function(module, exports, __webpack_require__) {
3821
3822"use strict";
3823eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n color: #666;\\n'], ['\\n color: #666;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9zYXZlL3N0eWxlLmpzPzViNGQiXSwibmFtZXMiOlsiQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUVPLElBQU1BLGdDQUFZQyw4QkFBT0MsR0FBbkIsaUJBQU4iLCJmaWxlIjoiNTY5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICd2dWUtc3R5bGVkLWNvbXBvbmVudHMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgY29sb3I6ICM2NjY7XHJcbmBcclxuO1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9zYXZlL3N0eWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///569\n");
3824
3825/***/ }),
3826/* 570 */
3827/***/ (function(module, exports, __webpack_require__) {
3828
3829eval("/* WEBPACK VAR INJECTION */(function(global) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(a,b){if(true)!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (b),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(b,c,d){var e=new XMLHttpRequest;e.open(\"GET\",b),e.responseType=\"blob\",e.onload=function(){a(e.response,c,d)},e.onerror=function(){console.error(\"could not download file\")},e.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(a,b,d,e){if(e=e||open(\"\",\"_blank\"),e&&(e.document.title=e.document.body.innerText=\"downloading...\"),\"string\"==typeof a)return c(a,b,d);var g=\"application/octet-stream\"===a.type,h=/constructor/i.test(f.HTMLElement)||f.safari,i=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((i||g&&h)&&\"object\"==typeof FileReader){var j=new FileReader;j.onloadend=function(){var a=j.result;a=i?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),e?e.location.href=a:location=a,e=null},j.readAsDataURL(a)}else{var k=f.URL||f.webkitURL,l=k.createObjectURL(a);e?e.location=l:location.href=l,e=null,setTimeout(function(){k.revokeObjectURL(l)},4E4)}});f.saveAs=a.saveAs=a,\"undefined\"!=typeof module&&(module.exports=a)});\n\n//# sourceMappingURL=FileSaver.min.js.map\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(28)))\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2ZpbGUtc2F2ZXJAMi4wLjJAZmlsZS1zYXZlci9kaXN0L0ZpbGVTYXZlci5taW4uanM/Mzc3OCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2SkFBZSxHQUFHLElBQXFDLENBQUMsaUNBQU8sRUFBRSxvQ0FBQyxDQUFDO0FBQUE7QUFBQTtBQUFBLG9HQUFDLENBQUMsd0NBQXdDLEtBQUssaUJBQWlCLFdBQVcsVUFBVSxrQkFBa0IsYUFBYSxnQkFBZ0IsK0JBQStCLFdBQVcsNEZBQTRGLFdBQVcsa0VBQWtFLDREQUE0RCxZQUFZLElBQUksa0JBQWtCLHlCQUF5QiwwREFBMEQsa0JBQWtCLHNCQUFzQix5Q0FBeUMsVUFBVSxjQUFjLHlCQUF5QixvQkFBb0IsSUFBSSxTQUFTLFVBQVUsb0NBQW9DLGNBQWMsSUFBSSx5Q0FBeUMsU0FBUywwQ0FBMEMsMEZBQTBGLHFPQUFxTywwREFBMEQsdURBQXVELGlOQUFpTiwwQkFBMEIsNEJBQTRCLEtBQUssS0FBSyxnREFBZ0QsbUZBQW1GLHNCQUFzQixLQUFLLGtDQUFrQyxpREFBaUQsS0FBSyxHQUFHLG1CQUFtQiw4SEFBOEgsb0lBQW9JLDJDQUEyQyxxQkFBcUIsdUJBQXVCLGVBQWUsMEJBQTBCLEdBQUcsd0JBQXdCLHlDQUF5QyxvQkFBb0IsS0FBSyxnREFBZ0QsNERBQTRELHFCQUFxQixPQUFPLEVBQUUsbUVBQW1FOztBQUVuZ0YseUMiLCJmaWxlIjoiNTcwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKGEsYil7aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kKWRlZmluZShbXSxiKTtlbHNlIGlmKFwidW5kZWZpbmVkXCIhPXR5cGVvZiBleHBvcnRzKWIoKTtlbHNle2IoKSxhLkZpbGVTYXZlcj17ZXhwb3J0czp7fX0uZXhwb3J0c319KSh0aGlzLGZ1bmN0aW9uKCl7XCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gYihhLGIpe3JldHVyblwidW5kZWZpbmVkXCI9PXR5cGVvZiBiP2I9e2F1dG9Cb206ITF9Olwib2JqZWN0XCIhPXR5cGVvZiBiJiYoY29uc29sZS53YXJuKFwiRGVwcmVjYXRlZDogRXhwZWN0ZWQgdGhpcmQgYXJndW1lbnQgdG8gYmUgYSBvYmplY3RcIiksYj17YXV0b0JvbTohYn0pLGIuYXV0b0JvbSYmL15cXHMqKD86dGV4dFxcL1xcUyp8YXBwbGljYXRpb25cXC94bWx8XFxTKlxcL1xcUypcXCt4bWwpXFxzKjsuKmNoYXJzZXRcXHMqPVxccyp1dGYtOC9pLnRlc3QoYS50eXBlKT9uZXcgQmxvYihbXCJcXHVGRUZGXCIsYV0se3R5cGU6YS50eXBlfSk6YX1mdW5jdGlvbiBjKGIsYyxkKXt2YXIgZT1uZXcgWE1MSHR0cFJlcXVlc3Q7ZS5vcGVuKFwiR0VUXCIsYiksZS5yZXNwb25zZVR5cGU9XCJibG9iXCIsZS5vbmxvYWQ9ZnVuY3Rpb24oKXthKGUucmVzcG9uc2UsYyxkKX0sZS5vbmVycm9yPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcihcImNvdWxkIG5vdCBkb3dubG9hZCBmaWxlXCIpfSxlLnNlbmQoKX1mdW5jdGlvbiBkKGEpe3ZhciBiPW5ldyBYTUxIdHRwUmVxdWVzdDtiLm9wZW4oXCJIRUFEXCIsYSwhMSk7dHJ5e2Iuc2VuZCgpfWNhdGNoKGEpe31yZXR1cm4gMjAwPD1iLnN0YXR1cyYmMjk5Pj1iLnN0YXR1c31mdW5jdGlvbiBlKGEpe3RyeXthLmRpc3BhdGNoRXZlbnQobmV3IE1vdXNlRXZlbnQoXCJjbGlja1wiKSl9Y2F0Y2goYyl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoXCJNb3VzZUV2ZW50c1wiKTtiLmluaXRNb3VzZUV2ZW50KFwiY2xpY2tcIiwhMCwhMCx3aW5kb3csMCwwLDAsODAsMjAsITEsITEsITEsITEsMCxudWxsKSxhLmRpc3BhdGNoRXZlbnQoYil9fXZhciBmPVwib2JqZWN0XCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdy53aW5kb3c9PT13aW5kb3c/d2luZG93Olwib2JqZWN0XCI9PXR5cGVvZiBzZWxmJiZzZWxmLnNlbGY9PT1zZWxmP3NlbGY6XCJvYmplY3RcIj09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsLmdsb2JhbD09PWdsb2JhbD9nbG9iYWw6dm9pZCAwLGE9Zi5zYXZlQXN8fChcIm9iamVjdFwiIT10eXBlb2Ygd2luZG93fHx3aW5kb3chPT1mP2Z1bmN0aW9uKCl7fTpcImRvd25sb2FkXCJpbiBIVE1MQW5jaG9yRWxlbWVudC5wcm90b3R5cGU/ZnVuY3Rpb24oYixnLGgpe3ZhciBpPWYuVVJMfHxmLndlYmtpdFVSTCxqPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO2c9Z3x8Yi5uYW1lfHxcImRvd25sb2FkXCIsai5kb3dubG9hZD1nLGoucmVsPVwibm9vcGVuZXJcIixcInN0cmluZ1wiPT10eXBlb2YgYj8oai5ocmVmPWIsai5vcmlnaW49PT1sb2NhdGlvbi5vcmlnaW4/ZShqKTpkKGouaHJlZik/YyhiLGcsaCk6ZShqLGoudGFyZ2V0PVwiX2JsYW5rXCIpKTooai5ocmVmPWkuY3JlYXRlT2JqZWN0VVJMKGIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtpLnJldm9rZU9iamVjdFVSTChqLmhyZWYpfSw0RTQpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtlKGopfSwwKSl9OlwibXNTYXZlT3JPcGVuQmxvYlwiaW4gbmF2aWdhdG9yP2Z1bmN0aW9uKGYsZyxoKXtpZihnPWd8fGYubmFtZXx8XCJkb3dubG9hZFwiLFwic3RyaW5nXCIhPXR5cGVvZiBmKW5hdmlnYXRvci5tc1NhdmVPck9wZW5CbG9iKGIoZixoKSxnKTtlbHNlIGlmKGQoZikpYyhmLGcsaCk7ZWxzZXt2YXIgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtpLmhyZWY9ZixpLnRhcmdldD1cIl9ibGFua1wiLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtlKGkpfSl9fTpmdW5jdGlvbihhLGIsZCxlKXtpZihlPWV8fG9wZW4oXCJcIixcIl9ibGFua1wiKSxlJiYoZS5kb2N1bWVudC50aXRsZT1lLmRvY3VtZW50LmJvZHkuaW5uZXJUZXh0PVwiZG93bmxvYWRpbmcuLi5cIiksXCJzdHJpbmdcIj09dHlwZW9mIGEpcmV0dXJuIGMoYSxiLGQpO3ZhciBnPVwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXCI9PT1hLnR5cGUsaD0vY29uc3RydWN0b3IvaS50ZXN0KGYuSFRNTEVsZW1lbnQpfHxmLnNhZmFyaSxpPS9DcmlPU1xcL1tcXGRdKy8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtpZigoaXx8ZyYmaCkmJlwib2JqZWN0XCI9PXR5cGVvZiBGaWxlUmVhZGVyKXt2YXIgaj1uZXcgRmlsZVJlYWRlcjtqLm9ubG9hZGVuZD1mdW5jdGlvbigpe3ZhciBhPWoucmVzdWx0O2E9aT9hOmEucmVwbGFjZSgvXmRhdGE6W147XSo7LyxcImRhdGE6YXR0YWNobWVudC9maWxlO1wiKSxlP2UubG9jYXRpb24uaHJlZj1hOmxvY2F0aW9uPWEsZT1udWxsfSxqLnJlYWRBc0RhdGFVUkwoYSl9ZWxzZXt2YXIgaz1mLlVSTHx8Zi53ZWJraXRVUkwsbD1rLmNyZWF0ZU9iamVjdFVSTChhKTtlP2UubG9jYXRpb249bDpsb2NhdGlvbi5ocmVmPWwsZT1udWxsLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtrLnJldm9rZU9iamVjdFVSTChsKX0sNEU0KX19KTtmLnNhdmVBcz1hLnNhdmVBcz1hLFwidW5kZWZpbmVkXCIhPXR5cGVvZiBtb2R1bGUmJihtb2R1bGUuZXhwb3J0cz1hKX0pO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1GaWxlU2F2ZXIubWluLmpzLm1hcFxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19maWxlLXNhdmVyQDIuMC4yQGZpbGUtc2F2ZXIvZGlzdC9GaWxlU2F2ZXIubWluLmpzXG4vLyBtb2R1bGUgaWQgPSA1NzBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///570\n");
3830
3831/***/ }),
3832/* 571 */
3833/***/ (function(module, __webpack_exports__, __webpack_require__) {
3834
3835"use strict";
3836eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\")\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-f37c584c\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy9zYXZlL2luZGV4LnZ1ZT9iMjFiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjU3MS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXCJkaXZcIilcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LWYzN2M1ODRjXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LWYzN2M1ODRjXCIsXCJoYXNTY29wZWRcIjpmYWxzZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wbHVnaW5zL3NhdmUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1NzFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///571\n");
3837
3838/***/ }),
3839/* 572 */
3840/***/ (function(module, __webpack_exports__, __webpack_require__) {
3841
3842"use strict";
3843eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(157);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_96ab8f34_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(575);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(573)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-96ab8f34\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_96ab8f34_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/plugins/viewport-guideline/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-96ab8f34\", Component.options)\n } else {\n hotAPI.reload(\"data-v-96ab8f34\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy92aWV3cG9ydC1ndWlkZWxpbmUvaW5kZXgudnVlPzE5NjciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUEyVjtBQUNyVztBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXFGO0FBQ3RIO0FBQ3FJO0FBQ2E7QUFDbEo7QUFDNlM7QUFDN1M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGlRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNTcyLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtOTZhYjhmMzRcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IWxlc3MtbG9hZGVyIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtOTZhYjhmMzRcXFwiLFxcXCJoYXNTY29wZWRcXFwiOnRydWUsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gXCJkYXRhLXYtOTZhYjhmMzRcIlxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvdmlld3BvcnQtZ3VpZGVsaW5lL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi05NmFiOGYzNFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTk2YWI4ZjM0XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvdmlld3BvcnQtZ3VpZGVsaW5lL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTcyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///572\n");
3844
3845/***/ }),
3846/* 573 */
3847/***/ (function(module, exports, __webpack_require__) {
3848
3849eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(574);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"1d802915\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-96ab8f34\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-96ab8f34\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy92aWV3cG9ydC1ndWlkZWxpbmUvaW5kZXgudnVlPzgzNTMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBNGE7QUFDbGMsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUE4RixnQ0FBZ0M7QUFDbko7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsNkxBQTZMLGtGQUFrRjtBQUMvUSxzTUFBc00sa0ZBQWtGO0FBQ3hSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNTczLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTk2YWI4ZjM0XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiMWQ4MDI5MTVcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTk2YWI4ZjM0XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi05NmFiOGYzNFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtOTZhYjhmMzRcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvdmlld3BvcnQtZ3VpZGVsaW5lL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTczXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///573\n");
3850
3851/***/ }),
3852/* 574 */
3853/***/ (function(module, exports, __webpack_require__) {
3854
3855eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.container[data-v-96ab8f34] {\\n position: absolute;\\n z-index: 10;\\n border: 0px solid #23b7e5;\\n transition: all .07s;\\n pointer-events: none;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/plugins/viewport-guideline/index.vue\"],\"names\":[],\"mappings\":\";AAAA;EACE,mBAAmB;EACnB,YAAY;EACZ,0BAA0B;EAC1B,qBAAqB;EACrB,qBAAqB;CACtB\",\"file\":\"index.vue\",\"sourcesContent\":[\".container {\\n position: absolute;\\n z-index: 10;\\n border: 0px solid #23b7e5;\\n transition: all .07s;\\n pointer-events: none;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy92aWV3cG9ydC1ndWlkZWxpbmUvaW5kZXgudnVlPzZiOWQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBNEU7QUFDL0c7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLGtDQUFrQyx1QkFBdUIsZ0JBQWdCLDhCQUE4Qix5QkFBeUIseUJBQXlCLEdBQUcsVUFBVSxzSUFBc0ksS0FBSyxZQUFZLFdBQVcsWUFBWSxhQUFhLGFBQWEseURBQXlELHVCQUF1QixnQkFBZ0IsOEJBQThCLHlCQUF5Qix5QkFBeUIsR0FBRyxxQkFBcUI7O0FBRTdrQiIsImZpbGUiOiI1NzQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG4uY29udGFpbmVyW2RhdGEtdi05NmFiOGYzNF0ge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgei1pbmRleDogMTA7XFxuICBib3JkZXI6IDBweCBzb2xpZCAjMjNiN2U1O1xcbiAgdHJhbnNpdGlvbjogYWxsIC4wN3M7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG59XFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIkU6L3Byb2plY3QvcGFnZS1pZGUteGlhbi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy92aWV3cG9ydC1ndWlkZWxpbmUvaW5kZXgudnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUFBQTtFQUNFLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQixxQkFBcUI7Q0FDdEJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIuY29udGFpbmVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHotaW5kZXg6IDEwO1xcbiAgYm9yZGVyOiAwcHggc29saWQgIzIzYjdlNTtcXG4gIHRyYW5zaXRpb246IGFsbCAuMDdzO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxufVxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi05NmFiOGYzNFwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy92aWV3cG9ydC1ndWlkZWxpbmUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1NzRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///574\n");
3856
3857/***/ }),
3858/* 575 */
3859/***/ (function(module, __webpack_exports__, __webpack_require__) {
3860
3861"use strict";
3862eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.isShow,\n expression: \"isShow\"\n }\n ],\n staticClass: \"container\",\n style: _vm.dymStyle\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-96ab8f34\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGx1Z2lucy92aWV3cG9ydC1ndWlkZWxpbmUvaW5kZXgudnVlP2Y2Y2EiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNTc1LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcImRpdlwiLCB7XG4gICAgZGlyZWN0aXZlczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcInNob3dcIixcbiAgICAgICAgcmF3TmFtZTogXCJ2LXNob3dcIixcbiAgICAgICAgdmFsdWU6IF92bS5pc1Nob3csXG4gICAgICAgIGV4cHJlc3Npb246IFwiaXNTaG93XCJcbiAgICAgIH1cbiAgICBdLFxuICAgIHN0YXRpY0NsYXNzOiBcImNvbnRhaW5lclwiLFxuICAgIHN0eWxlOiBfdm0uZHltU3R5bGVcbiAgfSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTk2YWI4ZjM0XCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTk2YWI4ZjM0XCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BsdWdpbnMvdmlld3BvcnQtZ3VpZGVsaW5lL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTc1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///575\n");
3863
3864/***/ }),
3865/* 576 */
3866/***/ (function(module, __webpack_exports__, __webpack_require__) {
3867
3868"use strict";
3869eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(158);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_17a230ee_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(585);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(577)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_17a230ee_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/page/viewport/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-17a230ee\", Component.options)\n } else {\n hotAPI.reload(\"data-v-17a230ee\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS92aWV3cG9ydC9pbmRleC52dWU/ZmNjYiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQWdWO0FBQzFWO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBcUY7QUFDdEg7QUFDcUk7QUFDYTtBQUNsSjtBQUM4UztBQUM5UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsa1FBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI1NzYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xN2EyMzBlZVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMTdhMjMwZWVcXFwiLFxcXCJoYXNTY29wZWRcXFwiOmZhbHNlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wYWdlL3ZpZXdwb3J0L2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi0xN2EyMzBlZVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTE3YTIzMGVlXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BhZ2Uvdmlld3BvcnQvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1NzZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///576\n");
3870
3871/***/ }),
3872/* 577 */
3873/***/ (function(module, exports, __webpack_require__) {
3874
3875eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(578);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"2dfbf1f2\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-17a230ee\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-17a230ee\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS92aWV3cG9ydC9pbmRleC52dWU/OGYyZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUFzVztBQUM1WCw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsbUZBQW1GO0FBQ2hSLHNNQUFzTSxtRkFBbUY7QUFDelI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI1NzcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMTdhMjMwZWVcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjJkZmJmMWYyXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xN2EyMzBlZVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xN2EyMzBlZVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0xN2EyMzBlZVwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS92aWV3cG9ydC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDU3N1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///577\n");
3876
3877/***/ }),
3878/* 578 */
3879/***/ (function(module, exports, __webpack_require__) {
3880
3881eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS92aWV3cG9ydC9pbmRleC52dWU/Mzk1NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMscUZBQXFGLHFGQUFxRjs7QUFFak0iLCJmaWxlIjoiNTc4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTE3YTIzMGVlXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wYWdlL3ZpZXdwb3J0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTc4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///578\n");
3882
3883/***/ }),
3884/* 579 */
3885/***/ (function(module, exports, __webpack_require__) {
3886
3887"use strict";
3888eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n display:flex;\\n flex-direction: column;\\n flex-grow: 1;\\n height:100%;\\n overflow-x: hidden;\\n overflow-y: auto;\\n'], ['\\n display:flex;\\n flex-direction: column;\\n flex-grow: 1;\\n height:100%;\\n overflow-x: hidden;\\n overflow-y: auto;\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Container = exports.Container = _vueStyledComponents2.default.div(_templateObject);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS92aWV3cG9ydC9zdHlsZS5qcz8zMGQ5Il0sIm5hbWVzIjpbIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFDTyxJQUFNQSxnQ0FBWUMsOEJBQU9DLEdBQW5CLGlCQUFOIiwiZmlsZSI6IjU3OS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAndnVlLXN0eWxlZC1jb21wb25lbnRzJztcclxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXHJcbiAgZGlzcGxheTpmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgZmxleC1ncm93OiAxO1xyXG4gIGhlaWdodDoxMDAlO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG5gO1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS92aWV3cG9ydC9zdHlsZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///579\n");
3889
3890/***/ }),
3891/* 580 */
3892/***/ (function(module, __webpack_exports__, __webpack_require__) {
3893
3894"use strict";
3895eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(159);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_1e964b30_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(584);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(581)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_1e964b30_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/page/viewport/edit-helper/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-1e964b30\", Component.options)\n } else {\n hotAPI.reload(\"data-v-1e964b30\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS92aWV3cG9ydC9lZGl0LWhlbHBlci9pbmRleC52dWU/YzY5MSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQXNWO0FBQ2hXO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBd0Y7QUFDekg7QUFDd0k7QUFDYTtBQUNySjtBQUNvVDtBQUNwVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsa1FBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI1ODAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xZTk2NGIzMFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMWU5NjRiMzBcXFwiLFxcXCJoYXNTY29wZWRcXFwiOmZhbHNlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9wYWdlL3ZpZXdwb3J0L2VkaXQtaGVscGVyL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi0xZTk2NGIzMFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTFlOTY0YjMwXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BhZ2Uvdmlld3BvcnQvZWRpdC1oZWxwZXIvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1ODBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///580\n");
3896
3897/***/ }),
3898/* 581 */
3899/***/ (function(module, exports, __webpack_require__) {
3900
3901eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(582);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"be6d87fa\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1e964b30\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1e964b30\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS92aWV3cG9ydC9lZGl0LWhlbHBlci9pbmRleC52dWU/YWM1MCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUErVztBQUNyWSw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQWlHLGdDQUFnQztBQUN0SjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSxtTUFBbU0sbUZBQW1GO0FBQ3RSLDRNQUE0TSxtRkFBbUY7QUFDL1I7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI1ODEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMWU5NjRiMzBcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcImJlNmQ4N2ZhXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xZTk2NGIzMFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xZTk2NGIzMFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0xZTk2NGIzMFwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS92aWV3cG9ydC9lZGl0LWhlbHBlci9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDU4MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///581\n");
3902
3903/***/ }),
3904/* 582 */
3905/***/ (function(module, exports, __webpack_require__) {
3906
3907eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS92aWV3cG9ydC9lZGl0LWhlbHBlci9pbmRleC52dWU/NjhmNyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUErRTtBQUNsSDs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsNklBQTZJLHFGQUFxRjs7QUFFelAiLCJmaWxlIjoiNTgyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTFlOTY0YjMwXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9wYWdlL3ZpZXdwb3J0L2VkaXQtaGVscGVyL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTgyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///582\n");
3908
3909/***/ }),
3910/* 583 */
3911/***/ (function(module, exports, __webpack_require__) {
3912
3913"use strict";
3914eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.injectGlob = undefined;\n\nvar _taggedTemplateLiteral2 = __webpack_require__(3);\n\nvar _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);\n\nvar _templateObject = (0, _taggedTemplateLiteral3.default)(['\\n .gaea-slot {\\n border: 1px dotted #ccc;\\n }\\n\\n .gaea-draggable {\\n }\\n'], ['\\n .gaea-slot {\\n border: 1px dotted #ccc;\\n }\\n\\n .gaea-draggable {\\n }\\n']);\n\nvar _vueStyledComponents = __webpack_require__(4);\n\nvar _vueStyledComponents2 = _interopRequireDefault(_vueStyledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar injectGlob = exports.injectGlob = function injectGlob() {\n return (0, _vueStyledComponents.injectGlobal)(_templateObject);\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS92aWV3cG9ydC9lZGl0LWhlbHBlci9zdHlsZS5qcz9iODk2Il0sIm5hbWVzIjpbImluamVjdEdsb2IiLCJpbmplY3RHbG9iYWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0FBRU8sSUFBTUEsa0NBQWEsU0FBYkEsVUFBYTtBQUFBLGFBQU1DLGlDQUFOO0FBQUEsQ0FBbkIiLCJmaWxlIjoiNTgzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCwgeyBpbmplY3RHbG9iYWwgfSBmcm9tICd2dWUtc3R5bGVkLWNvbXBvbmVudHMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGluamVjdEdsb2IgPSAoKSA9PiBpbmplY3RHbG9iYWxgXHJcbiAgLmdhZWEtc2xvdCB7XHJcbiAgICBib3JkZXI6IDFweCBkb3R0ZWQgI2NjYztcclxuICB9XHJcblxyXG4gIC5nYWVhLWRyYWdnYWJsZSB7XHJcbiAgfVxyXG5gXHJcbjtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BhZ2Uvdmlld3BvcnQvZWRpdC1oZWxwZXIvc3R5bGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///583\n");
3915
3916/***/ }),
3917/* 584 */
3918/***/ (function(module, __webpack_exports__, __webpack_require__) {
3919
3920"use strict";
3921eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { ref: \"gaea-preview\" })\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-1e964b30\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS92aWV3cG9ydC9lZGl0LWhlbHBlci9pbmRleC52dWU/ODUwYSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixzQkFBc0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI1ODQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFwiZGl2XCIsIHsgcmVmOiBcImdhZWEtcHJldmlld1wiIH0pXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi0xZTk2NGIzMFwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi0xZTk2NGIzMFwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS92aWV3cG9ydC9lZGl0LWhlbHBlci9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDU4NFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///584\n");
3922
3923/***/ }),
3924/* 585 */
3925/***/ (function(module, __webpack_exports__, __webpack_require__) {
3926
3927"use strict";
3928eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\n \"Container\",\n {\n ref: \"container\",\n nativeOn: {\n mouseleave: function($event) {\n return _vm.handleMouseLeave($event)\n }\n }\n },\n [\n _c(\"EditHelper\", {\n attrs: { instanceKey: _vm.viewportStore.rootInstanceKey }\n })\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-17a230ee\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS92aWV3cG9ydC9pbmRleC52dWU/OWFlMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjU4NS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJDb250YWluZXJcIixcbiAgICAgICAge1xuICAgICAgICAgIHJlZjogXCJjb250YWluZXJcIixcbiAgICAgICAgICBuYXRpdmVPbjoge1xuICAgICAgICAgICAgbW91c2VsZWF2ZTogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgIHJldHVybiBfdm0uaGFuZGxlTW91c2VMZWF2ZSgkZXZlbnQpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXCJFZGl0SGVscGVyXCIsIHtcbiAgICAgICAgICAgIGF0dHJzOiB7IGluc3RhbmNlS2V5OiBfdm0udmlld3BvcnRTdG9yZS5yb290SW5zdGFuY2VLZXkgfVxuICAgICAgICAgIH0pXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgIClcbiAgICBdLFxuICAgIDFcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtMTdhMjMwZWVcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtMTdhMjMwZWVcIixcImhhc1Njb3BlZFwiOmZhbHNlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BhZ2Uvdmlld3BvcnQvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1ODVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///585\n");
3929
3930/***/ }),
3931/* 586 */
3932/***/ (function(module, __webpack_exports__, __webpack_require__) {
3933
3934"use strict";
3935eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"gaea-editor-vue\" } },\n [\n _c(\n \"Container\",\n [\n _c(\n \"LeftContainer\",\n [\n _c(\n \"NavbarContainer\",\n [\n _c(\n \"NavbarContainerLeft\",\n {\n style: {\n height: _vm.applicationState.navbarHeight + \"px\"\n }\n },\n _vm._l(_vm.pluginsBelongKeys[\"navbarLeft\"], function(\n item,\n index\n ) {\n return _c(item, { key: index, tag: \"component\" })\n }),\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"NavbarContainerRight\",\n _vm._l(_vm.pluginsBelongKeys[\"navbarRight\"], function(\n item,\n index\n ) {\n return _c(item, { key: index, tag: \"component\" })\n }),\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"ViewportContainer\",\n [\n _vm.isShowLeft == true\n ? [\n _c(\n \"ViewportContainerLeft\",\n {\n attrs: {\n theme: { hidden: _vm.applicationState.isPreview }\n }\n },\n [\n _c(\n \"ViewportContainerLeftTop\",\n _vm._l(\n _vm.pluginsBelongKeys[\"leftBarTop\"],\n function(item, index) {\n return _c(item, {\n key: index,\n tag: \"component\"\n })\n }\n ),\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"ViewportContainerLeftBottom\",\n _vm._l(\n _vm.pluginsBelongKeys[\"leftBarBottom\"],\n function(item, index) {\n return _c(item, {\n key: index,\n tag: \"component\"\n })\n }\n ),\n 1\n )\n ],\n 1\n )\n ]\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"ViewportContainerRight\",\n {\n style: _vm.applicationState.viewportContainerStyle,\n attrs: {\n theme: { showLeft: _vm.applicationState.leftTool }\n }\n },\n [\n _c(\n \"ToolsContainer\",\n {\n attrs: {\n theme: {\n fullScreen: _vm.applicationState.rightTool\n }\n }\n },\n [\n _c(\n \"ToolsContainerLeft\",\n _vm._l(\n _vm.pluginsBelongKeys[\n \"toolContainerLeft\" +\n _vm.applicationState.leftTool\n ],\n function(item, index) {\n return _c(item, {\n key: index,\n tag: \"component\"\n })\n }\n ),\n 1\n ),\n _vm._v(\" \"),\n _c(\"ToolsContainerRight\", {\n attrs: {\n theme: { show: _vm.applicationState.rightTool }\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"ViewportContainerBox\",\n {\n style: _vm.applicationState.viewportStyle,\n attrs: {\n theme: { hidden: _vm.applicationState.rightTool }\n }\n },\n [\n _c(\"Viewport\", {\n staticStyle: { width: \"100%\", height: \"100%\" }\n }),\n _vm._v(\" \"),\n _vm._l(_vm.pluginsBelongKeys[\"viewport\"], function(\n item,\n index\n ) {\n return _c(item, { key: index, tag: \"component\" })\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _vm.applicationState.isPreview\n ? _c(\n \"PreviewContainer\",\n {\n style: _vm.applicationState.viewportStyle,\n attrs: {\n theme: {\n hidden: _vm.applicationState.rightTool\n }\n }\n },\n _vm._l(_vm.pluginsBelongKeys[\"preview\"], function(\n item,\n index\n ) {\n return _c(item, { key: index, tag: \"component\" })\n }),\n 1\n )\n : _vm._e()\n ],\n 1\n )\n ],\n 2\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"RightContainer\",\n { attrs: { theme: { hidden: _vm.applicationState.isPreview } } },\n _vm._l(_vm.pluginsBelongKeys[\"mainTool\"], function(item, index) {\n return _c(item, { key: index, tag: \"component\" })\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-3894cfe0\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvcGFnZS9pbmRleC9pbmRleC52dWU/OWQxNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLFNBQVMsd0JBQXdCLEVBQUU7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUMsK0JBQStCO0FBQ3RFLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUMsK0JBQStCO0FBQ3RFLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQztBQUNoQztBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDO0FBQ3RDO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQztBQUNwQztBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkNBQTZDLCtCQUErQjtBQUM1RSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtDQUErQywrQkFBK0I7QUFDOUUsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsU0FBUyxTQUFTLHlDQUF5QyxFQUFFLEVBQUU7QUFDNUU7QUFDQSwrQkFBK0IsK0JBQStCO0FBQzlELGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI1ODYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAgeyBhdHRyczogeyBpZDogXCJnYWVhLWVkaXRvci12dWVcIiB9IH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiQ29udGFpbmVyXCIsXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiTGVmdENvbnRhaW5lclwiLFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICBcIk5hdmJhckNvbnRhaW5lclwiLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICBcIk5hdmJhckNvbnRhaW5lckxlZnRcIixcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IF92bS5hcHBsaWNhdGlvblN0YXRlLm5hdmJhckhlaWdodCArIFwicHhcIlxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl9sKF92bS5wbHVnaW5zQmVsb25nS2V5c1tcIm5hdmJhckxlZnRcIl0sIGZ1bmN0aW9uKFxuICAgICAgICAgICAgICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9jKGl0ZW0sIHsga2V5OiBpbmRleCwgdGFnOiBcImNvbXBvbmVudFwiIH0pXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICBcIk5hdmJhckNvbnRhaW5lclJpZ2h0XCIsXG4gICAgICAgICAgICAgICAgICAgIF92bS5fbChfdm0ucGx1Z2luc0JlbG9uZ0tleXNbXCJuYXZiYXJSaWdodFwiXSwgZnVuY3Rpb24oXG4gICAgICAgICAgICAgICAgICAgICAgaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICBpbmRleFxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2MoaXRlbSwgeyBrZXk6IGluZGV4LCB0YWc6IFwiY29tcG9uZW50XCIgfSlcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgXCJWaWV3cG9ydENvbnRhaW5lclwiLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgIF92bS5pc1Nob3dMZWZ0ID09IHRydWVcbiAgICAgICAgICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJWaWV3cG9ydENvbnRhaW5lckxlZnRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZTogeyBoaWRkZW46IF92bS5hcHBsaWNhdGlvblN0YXRlLmlzUHJldmlldyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlZpZXdwb3J0Q29udGFpbmVyTGVmdFRvcFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9sKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0ucGx1Z2luc0JlbG9uZ0tleXNbXCJsZWZ0QmFyVG9wXCJdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihpdGVtLCBpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfYyhpdGVtLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IGluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFnOiBcImNvbXBvbmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlZpZXdwb3J0Q29udGFpbmVyTGVmdEJvdHRvbVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9sKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0ucGx1Z2luc0JlbG9uZ0tleXNbXCJsZWZ0QmFyQm90dG9tXCJdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihpdGVtLCBpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfYyhpdGVtLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IGluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFnOiBcImNvbXBvbmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIDogX3ZtLl9lKCksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgIFwiVmlld3BvcnRDb250YWluZXJSaWdodFwiLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IF92bS5hcHBsaWNhdGlvblN0YXRlLnZpZXdwb3J0Q29udGFpbmVyU3R5bGUsXG4gICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lOiB7IHNob3dMZWZ0OiBfdm0uYXBwbGljYXRpb25TdGF0ZS5sZWZ0VG9vbCB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlRvb2xzQ29udGFpbmVyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxTY3JlZW46IF92bS5hcHBsaWNhdGlvblN0YXRlLnJpZ2h0VG9vbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUb29sc0NvbnRhaW5lckxlZnRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX2woXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0ucGx1Z2luc0JlbG9uZ0tleXNbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidG9vbENvbnRhaW5lckxlZnRcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLmFwcGxpY2F0aW9uU3RhdGUubGVmdFRvb2xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihpdGVtLCBpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2MoaXRlbSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFnOiBcImNvbXBvbmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiVG9vbHNDb250YWluZXJSaWdodFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lOiB7IHNob3c6IF92bS5hcHBsaWNhdGlvblN0YXRlLnJpZ2h0VG9vbCB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlZpZXdwb3J0Q29udGFpbmVyQm94XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBfdm0uYXBwbGljYXRpb25TdGF0ZS52aWV3cG9ydFN0eWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lOiB7IGhpZGRlbjogX3ZtLmFwcGxpY2F0aW9uU3RhdGUucmlnaHRUb29sIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJWaWV3cG9ydFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiMTAwJVwiLCBoZWlnaHQ6IFwiMTAwJVwiIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fbChfdm0ucGx1Z2luc0JlbG9uZ0tleXNbXCJ2aWV3cG9ydFwiXSwgZnVuY3Rpb24oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2MoaXRlbSwgeyBrZXk6IGluZGV4LCB0YWc6IFwiY29tcG9uZW50XCIgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAyXG4gICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgIF92bS5hcHBsaWNhdGlvblN0YXRlLmlzUHJldmlld1xuICAgICAgICAgICAgICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlByZXZpZXdDb250YWluZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogX3ZtLmFwcGxpY2F0aW9uU3RhdGUudmlld3BvcnRTdHlsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZGVuOiBfdm0uYXBwbGljYXRpb25TdGF0ZS5yaWdodFRvb2xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9sKF92bS5wbHVnaW5zQmVsb25nS2V5c1tcInByZXZpZXdcIl0sIGZ1bmN0aW9uKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2MoaXRlbSwgeyBrZXk6IGluZGV4LCB0YWc6IFwiY29tcG9uZW50XCIgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX3ZtLl9lKClcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgMlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgMVxuICAgICAgICAgICksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiUmlnaHRDb250YWluZXJcIixcbiAgICAgICAgICAgIHsgYXR0cnM6IHsgdGhlbWU6IHsgaGlkZGVuOiBfdm0uYXBwbGljYXRpb25TdGF0ZS5pc1ByZXZpZXcgfSB9IH0sXG4gICAgICAgICAgICBfdm0uX2woX3ZtLnBsdWdpbnNCZWxvbmdLZXlzW1wibWFpblRvb2xcIl0sIGZ1bmN0aW9uKGl0ZW0sIGluZGV4KSB7XG4gICAgICAgICAgICAgIHJldHVybiBfYyhpdGVtLCB7IGtleTogaW5kZXgsIHRhZzogXCJjb21wb25lbnRcIiB9KVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTM4OTRjZmUwXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTM4OTRjZmUwXCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3BhZ2UvaW5kZXgvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1ODZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///586\n");
3936
3937/***/ }),
3938/* 587 */
3939/***/ (function(module, exports, __webpack_require__) {
3940
3941"use strict";
3942eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _stringify = __webpack_require__(24);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar builtInPlugins = [];\nvar context = __webpack_require__(160);\ncontext.keys().forEach(function (item) {\n var myItem = context(item).default;\n\n if (myItem.name == \"gaea-box\" || myItem.name == \"gaea-btns-oprator\" || myItem.name == \"gaea-container\" || myItem.name == \"gaea-button\") {\n builtInPlugins.push(myItem);\n }\n if (myItem.name == \"gaea-tip-alert\" || myItem.name == \"gaea-date-time\" || myItem.name == \"gaea-date-time-timerange\" || myItem.name == \"gaea-cascader\" || myItem.name == \"gaea-textarea\" || myItem.name == \"gaea-upload\" || myItem.name == \"gaea-form\" || myItem.name == \"gaea-icon-button\" || myItem.name == \"gaea-date-picker-daterange\" || myItem.name == \"gaea-date-picker\" || myItem.name == \"gaea-label\" || myItem.name == \"gaea-label\" || myItem.name == \"gaea-input\" || myItem.name == \"gaea-input-number\" || myItem.name == \"gaea-checkboxMultiple\" || myItem.name == \"gaea-select\" || myItem.name == \"gaea-radio\" || myItem.name == \"gaea-select\") {\n builtInPlugins.push(myItem);\n }\n});\nconsole.log(builtInPlugins);\nconsole.log((0, _stringify2.default)(builtInPlugins));\nexports.default = builtInPlugins;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9pbmRleC5qcz9kY2UwIl0sIm5hbWVzIjpbImJ1aWx0SW5QbHVnaW5zIiwiY29udGV4dCIsInJlcXVpcmUiLCJrZXlzIiwiZm9yRWFjaCIsIm15SXRlbSIsIml0ZW0iLCJkZWZhdWx0IiwibmFtZSIsInB1c2giLCJjb25zb2xlIiwibG9nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFLQSxJQUFJQSxpQkFBaUIsRUFBckI7QUFDQSxJQUFNQyxVQUFVQyx3QkFBaEI7QUFLQUQsUUFBUUUsSUFBUixHQUFlQyxPQUFmLENBQXVCLGdCQUFRO0FBQzNCLFFBQUlDLFNBQU9KLFFBQVFLLElBQVIsRUFBY0MsT0FBekI7O0FBRUEsUUFBR0YsT0FBT0csSUFBUCxJQUFhLFVBQWIsSUFBeUJILE9BQU9HLElBQVAsSUFBYSxtQkFBdEMsSUFBMkRILE9BQU9HLElBQVAsSUFBYSxnQkFBeEUsSUFBMEZILE9BQU9HLElBQVAsSUFBYSxhQUExRyxFQUF3SDtBQUNwSFIsdUJBQWVTLElBQWYsQ0FBb0JKLE1BQXBCO0FBQ0g7QUFDRCxRQUFHQSxPQUFPRyxJQUFQLElBQWEsZ0JBQWIsSUFBK0JILE9BQU9HLElBQVAsSUFBYSxnQkFBNUMsSUFBOERILE9BQU9HLElBQVAsSUFBYSwwQkFBM0UsSUFBdUdILE9BQU9HLElBQVAsSUFBYSxlQUFwSCxJQUFxSUgsT0FBT0csSUFBUCxJQUFhLGVBQWxKLElBQW1LSCxPQUFPRyxJQUFQLElBQWEsYUFBaEwsSUFBK0xILE9BQU9HLElBQVAsSUFBYSxXQUE1TSxJQUF5TkgsT0FBT0csSUFBUCxJQUFhLGtCQUF0TyxJQUEwUEgsT0FBT0csSUFBUCxJQUFhLDRCQUF2USxJQUFxU0gsT0FBT0csSUFBUCxJQUFhLGtCQUFsVCxJQUNHSCxPQUFPRyxJQUFQLElBQWEsWUFEaEIsSUFDOEJILE9BQU9HLElBQVAsSUFBYSxZQUQzQyxJQUN5REgsT0FBT0csSUFBUCxJQUFhLFlBRHRFLElBQ29GSCxPQUFPRyxJQUFQLElBQWEsbUJBRGpHLElBQ3NISCxPQUFPRyxJQUFQLElBQWEsdUJBRG5JLElBQzRKSCxPQUFPRyxJQUFQLElBQWEsYUFEekssSUFFRUgsT0FBT0csSUFBUCxJQUFhLFlBRmYsSUFFNkJILE9BQU9HLElBQVAsSUFBYSxhQUY3QyxFQUUyRDtBQUN2RFIsdUJBQWVTLElBQWYsQ0FBb0JKLE1BQXBCO0FBQ0g7QUFFSixDQVpEO0FBYUFLLFFBQVFDLEdBQVIsQ0FBWVgsY0FBWjtBQUNBVSxRQUFRQyxHQUFSLENBQVkseUJBQWVYLGNBQWYsQ0FBWjtrQkFDZUEsYyIsImZpbGUiOiI1ODcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5Ob3RlIOW8leWFpeS4gOS6jOS4iee0muaJgOacieeahOe1hOS7tu+8jGNvbXBvbmVudHNcclxuYXV0aG9yIOWPtueroOa1qVxyXG4gKi9cclxuXHJcbmxldCBidWlsdEluUGx1Z2lucyA9IFtdO1xyXG5jb25zdCBjb250ZXh0ID0gcmVxdWlyZS5jb250ZXh0KFxyXG4gICAgJy4uL2NvbXBvbmVudHMnLFxyXG4gICAgdHJ1ZSxcclxuICAgIC9pbmRleFxcLih2dWUpJC9cclxuKTtcclxuY29udGV4dC5rZXlzKCkuZm9yRWFjaChpdGVtID0+IHtcclxuICAgIGxldCBteUl0ZW09Y29udGV4dChpdGVtKS5kZWZhdWx0O1xyXG4gICAgLy9ub3RlIOWFrOWFsee7hOS7tuWFqOmDqOmihOe9rlxyXG4gICAgaWYobXlJdGVtLm5hbWU9PVwiZ2FlYS1ib3hcInx8bXlJdGVtLm5hbWU9PVwiZ2FlYS1idG5zLW9wcmF0b3JcInx8bXlJdGVtLm5hbWU9PVwiZ2FlYS1jb250YWluZXJcInx8bXlJdGVtLm5hbWU9PVwiZ2FlYS1idXR0b25cIil7XHJcbiAgICAgICAgYnVpbHRJblBsdWdpbnMucHVzaChteUl0ZW0pO1xyXG4gICAgfVxyXG4gICAgaWYobXlJdGVtLm5hbWU9PVwiZ2FlYS10aXAtYWxlcnRcInx8bXlJdGVtLm5hbWU9PVwiZ2FlYS1kYXRlLXRpbWVcInx8bXlJdGVtLm5hbWU9PVwiZ2FlYS1kYXRlLXRpbWUtdGltZXJhbmdlXCJ8fG15SXRlbS5uYW1lPT1cImdhZWEtY2FzY2FkZXJcInx8bXlJdGVtLm5hbWU9PVwiZ2FlYS10ZXh0YXJlYVwifHxteUl0ZW0ubmFtZT09XCJnYWVhLXVwbG9hZFwifHxteUl0ZW0ubmFtZT09XCJnYWVhLWZvcm1cInx8bXlJdGVtLm5hbWU9PVwiZ2FlYS1pY29uLWJ1dHRvblwifHxteUl0ZW0ubmFtZT09XCJnYWVhLWRhdGUtcGlja2VyLWRhdGVyYW5nZVwifHxteUl0ZW0ubmFtZT09XCJnYWVhLWRhdGUtcGlja2VyXCJcclxuICAgICAgICB8fG15SXRlbS5uYW1lPT1cImdhZWEtbGFiZWxcInx8bXlJdGVtLm5hbWU9PVwiZ2FlYS1sYWJlbFwifHxteUl0ZW0ubmFtZT09XCJnYWVhLWlucHV0XCJ8fG15SXRlbS5uYW1lPT1cImdhZWEtaW5wdXQtbnVtYmVyXCJ8fG15SXRlbS5uYW1lPT1cImdhZWEtY2hlY2tib3hNdWx0aXBsZVwifHxteUl0ZW0ubmFtZT09XCJnYWVhLXNlbGVjdFwiXHJcbiAgICAgICB8fG15SXRlbS5uYW1lPT1cImdhZWEtcmFkaW9cInx8bXlJdGVtLm5hbWU9PVwiZ2FlYS1zZWxlY3RcIil7XHJcbiAgICAgICAgYnVpbHRJblBsdWdpbnMucHVzaChteUl0ZW0pO1xyXG4gICAgfVxyXG4gICAgLy9ub3RlIOWIpOaWreavj+S4gOatpeaJgOmcgOimgeeahOe7hOS7tlxyXG59KTtcclxuY29uc29sZS5sb2coYnVpbHRJblBsdWdpbnMpO1xyXG5jb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShidWlsdEluUGx1Z2lucykpO1xyXG5leHBvcnQgZGVmYXVsdCBidWlsdEluUGx1Z2lucztcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvaW5kZXguanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///587\n");
3943
3944/***/ }),
3945/* 588 */
3946/***/ (function(module, __webpack_exports__, __webpack_require__) {
3947
3948"use strict";
3949eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(161);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_3150141f_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(592);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(589)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_3150141f_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelOne/box/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-3150141f\", Component.options)\n } else {\n hotAPI.reload(\"data-v-3150141f\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9ib3gvaW5kZXgudnVlP2MxODgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFzVjtBQUNoVztBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXdGO0FBQ3pIO0FBQ3dJO0FBQ2E7QUFDcko7QUFDb1Q7QUFDcFQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGtRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNTg4LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMzE1MDE0MWZcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTMxNTAxNDFmXFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9ib3gvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTMxNTAxNDFmXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtMzE1MDE0MWZcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9ib3gvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1ODhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///588\n");
3950
3951/***/ }),
3952/* 589 */
3953/***/ (function(module, exports, __webpack_require__) {
3954
3955eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(590);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"1618db5d\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3150141f\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3150141f\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9ib3gvaW5kZXgudnVlP2JlODMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBK1c7QUFDclksNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUFpRyxnQ0FBZ0M7QUFDdEo7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsbU1BQW1NLG1GQUFtRjtBQUN0Uiw0TUFBNE0sbUZBQW1GO0FBQy9SO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNTg5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTMxNTAxNDFmXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCIxNjE4ZGI1ZFwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMzE1MDE0MWZcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMzE1MDE0MWZcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtMzE1MDE0MWZcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxPbmUvYm94L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTg5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///589\n");
3956
3957/***/ }),
3958/* 590 */
3959/***/ (function(module, exports, __webpack_require__) {
3960
3961eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9ib3gvaW5kZXgudnVlPzBkMjgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBK0U7QUFDbEg7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLHVFQUF1RSxxRkFBcUY7O0FBRW5MIiwiZmlsZSI6IjU5MC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0zMTUwMTQxZlwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9ib3gvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1OTBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///590\n");
3962
3963/***/ }),
3964/* 591 */
3965/***/ (function(module, exports, __webpack_require__) {
3966
3967"use strict";
3968eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = [];\n_common.commonTool.assembleData(editors);\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-box',\n name: 'box 盒子',\n level: 1,\n isContainer: true,\n slots: {\n default: []\n },\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9ib3gvcHJvcGVydHkuanM/MjIyZCJdLCJuYW1lcyI6WyJlZGl0b3JzIiwiY29tbW9uVG9vbCIsImFzc2VtYmxlRGF0YSIsImNvbnNvbGUiLCJsb2ciLCJlZGl0U2V0dGluZyIsImtleSIsIm5hbWUiLCJsZXZlbCIsImlzQ29udGFpbmVyIiwic2xvdHMiLCJkZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7O0FBS0EsSUFBSUEsVUFBUyxFQUFiO0FBR0FDLG1CQUFXQyxZQUFYLENBQXdCRixPQUF4QjtBQUNBRyxRQUFRQyxHQUFSLENBQVlKLE9BQVo7QUFDTyxJQUFNSyxvQ0FBYztBQUN2QkMsU0FBSyxVQURrQjtBQUV2QkMsVUFBTSxRQUZpQjtBQUd2QkMsV0FBTSxDQUhpQjtBQUl2QkMsaUJBQWEsSUFKVTtBQUt2QkMsV0FBTztBQUNIQyxpQkFBUztBQUROLEtBTGdCO0FBUXZCWCxhQUFRQTtBQVJlLENBQXBCIiwiZmlsZSI6IjU5MS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAgTm90ZSDlt6XlhbfnsbtcclxuICovXHJcbmltcG9ydCB7Y29tbW9uVG9vbH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jb21tb25cIlxyXG4vKlxyXG5Ob3RlIOWumuS5ieiHquWumuS5ieWxnuaAp++8jOWFrOWFseWxnuaAp+S7jmNvbW1vbuaWh+S7tumHjOivu+WPllxyXG5hdXRob3Ig5Y+256ug5rWpXHJcbiAqL1xyXG5sZXQgZWRpdG9ycz0gW1xyXG5cclxuXTtcclxuY29tbW9uVG9vbC5hc3NlbWJsZURhdGEoZWRpdG9ycyk7XHJcbmNvbnNvbGUubG9nKGVkaXRvcnMpO1xyXG5leHBvcnQgY29uc3QgZWRpdFNldHRpbmcgPSB7XHJcbiAgICBrZXk6ICdnYWVhLWJveCcsXHJcbiAgICBuYW1lOiAnYm94IOebkuWtkCcsXHJcbiAgICBsZXZlbDoxLFxyXG4gICAgaXNDb250YWluZXI6IHRydWUsXHJcbiAgICBzbG90czoge1xyXG4gICAgICAgIGRlZmF1bHQ6IFtdXHJcbiAgICB9LFxyXG4gICAgZWRpdG9yczplZGl0b3JzLFxyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9ib3gvcHJvcGVydHkuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///591\n");
3969
3970/***/ }),
3971/* 592 */
3972/***/ (function(module, __webpack_exports__, __webpack_require__) {
3973
3974"use strict";
3975eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"gaea-slot\",\n style: _vm.styles,\n attrs: { \"data-slot-name\": \"default\" }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-3150141f\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9ib3gvaW5kZXgudnVlP2QxYTEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjU5Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7XG4gICAgICBzdGF0aWNDbGFzczogXCJnYWVhLXNsb3RcIixcbiAgICAgIHN0eWxlOiBfdm0uc3R5bGVzLFxuICAgICAgYXR0cnM6IHsgXCJkYXRhLXNsb3QtbmFtZVwiOiBcImRlZmF1bHRcIiB9XG4gICAgfSxcbiAgICBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sXG4gICAgMlxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi0zMTUwMTQxZlwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi0zMTUwMTQxZlwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9ib3gvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1OTJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///592\n");
3976
3977/***/ }),
3978/* 593 */
3979/***/ (function(module, __webpack_exports__, __webpack_require__) {
3980
3981"use strict";
3982eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(162);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_7b2df0b3_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(597);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(594)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_7b2df0b3_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelOne/btnProp/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-7b2df0b3\", Component.options)\n } else {\n hotAPI.reload(\"data-v-7b2df0b3\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9idG5Qcm9wL2luZGV4LnZ1ZT84OWUxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBc1Y7QUFDaFc7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUF3RjtBQUN6SDtBQUN3STtBQUNhO0FBQ3JKO0FBQ29UO0FBQ3BUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxrUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjU5My5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTdiMmRmMGIzXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi03YjJkZjBiM1xcXCIsXFxcImhhc1Njb3BlZFxcXCI6ZmFsc2UsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxPbmUvYnRuUHJvcC9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtN2IyZGYwYjNcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi03YjJkZjBiM1wiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsT25lL2J0blByb3AvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1OTNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///593\n");
3983
3984/***/ }),
3985/* 594 */
3986/***/ (function(module, exports, __webpack_require__) {
3987
3988eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(595);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"38b6422a\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7b2df0b3\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7b2df0b3\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9idG5Qcm9wL2luZGV4LnZ1ZT82YWIxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQStXO0FBQ3JZLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBaUcsZ0NBQWdDO0FBQ3RKO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLG1NQUFtTSxtRkFBbUY7QUFDdFIsNE1BQTRNLG1GQUFtRjtBQUMvUjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjU5NC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi03YjJkZjBiM1xcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiMzhiNjQyMmFcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTdiMmRmMGIzXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTdiMmRmMGIzXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTdiMmRmMGIzXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsT25lL2J0blByb3AvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1OTRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///594\n");
3989
3990/***/ }),
3991/* 595 */
3992/***/ (function(module, exports, __webpack_require__) {
3993
3994eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9idG5Qcm9wL2luZGV4LnZ1ZT83ZDIxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQStFO0FBQ2xIOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyx1RkFBdUYscUZBQXFGOztBQUVuTSIsImZpbGUiOiI1OTUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W10sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtN2IyZGYwYjNcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxPbmUvYnRuUHJvcC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDU5NVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///595\n");
3995
3996/***/ }),
3997/* 596 */
3998/***/ (function(module, exports, __webpack_require__) {
3999
4000"use strict";
4001eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = [];\n_common.commonTool.assembleData(editors);\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-btns-oprator',\n\n name: 'btns-oprator 按钮集合',\n level: 1,\n isContainer: true,\n slots: {\n default: []\n },\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9idG5Qcm9wL3Byb3BlcnR5LmpzPzRhM2EiXSwibmFtZXMiOlsiZWRpdG9ycyIsImNvbW1vblRvb2wiLCJhc3NlbWJsZURhdGEiLCJjb25zb2xlIiwibG9nIiwiZWRpdFNldHRpbmciLCJrZXkiLCJuYW1lIiwibGV2ZWwiLCJpc0NvbnRhaW5lciIsInNsb3RzIiwiZGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBOztBQUtBLElBQUlBLFVBQVMsRUFBYjtBQUVBQyxtQkFBV0MsWUFBWCxDQUF3QkYsT0FBeEI7QUFDQUcsUUFBUUMsR0FBUixDQUFZSixPQUFaO0FBQ08sSUFBTUssb0NBQWM7QUFDdkJDLFNBQUssbUJBRGtCOztBQUd2QkMsVUFBTSxtQkFIaUI7QUFJdkJDLFdBQU0sQ0FKaUI7QUFLdkJDLGlCQUFhLElBTFU7QUFNdkJDLFdBQU87QUFDSEMsaUJBQVM7QUFETixLQU5nQjtBQVN2QlgsYUFBUUE7QUFUZSxDQUFwQiIsImZpbGUiOiI1OTYuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gIE5vdGUg5bel5YW357G7XHJcbiAqL1xyXG5pbXBvcnQge2NvbW1vblRvb2x9IGZyb20gXCIuLi8uLi9jb21tb24vY29tbW9uXCJcclxuLypcclxuTm90ZSDlrprkuYnoh6rlrprkuYnlsZ7mgKfvvIzlhazlhbHlsZ7mgKfku45jb21tb27mlofku7bph4zor7vlj5ZcclxuYXV0aG9yIOWPtueroOa1qVxyXG4gKi9cclxubGV0IGVkaXRvcnM9IFtcclxuXTtcclxuY29tbW9uVG9vbC5hc3NlbWJsZURhdGEoZWRpdG9ycyk7XHJcbmNvbnNvbGUubG9nKGVkaXRvcnMpO1xyXG5leHBvcnQgY29uc3QgZWRpdFNldHRpbmcgPSB7XHJcbiAgICBrZXk6ICdnYWVhLWJ0bnMtb3ByYXRvcicsXHJcblxyXG4gICAgbmFtZTogJ2J0bnMtb3ByYXRvciDmjInpkq7pm4blkIgnLFxyXG4gICAgbGV2ZWw6MSxcclxuICAgIGlzQ29udGFpbmVyOiB0cnVlLFxyXG4gICAgc2xvdHM6IHtcclxuICAgICAgICBkZWZhdWx0OiBbXVxyXG4gICAgfSxcclxuICAgIGVkaXRvcnM6ZWRpdG9ycyxcclxufTtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxPbmUvYnRuUHJvcC9wcm9wZXJ0eS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///596\n");
4002
4003/***/ }),
4004/* 597 */
4005/***/ (function(module, __webpack_exports__, __webpack_require__) {
4006
4007"use strict";
4008eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"gaea-slot\",\n style: _vm.styles,\n attrs: { \"data-slot-name\": \"default\" }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-7b2df0b3\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9idG5Qcm9wL2luZGV4LnZ1ZT9mZjFkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI1OTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAge1xuICAgICAgc3RhdGljQ2xhc3M6IFwiZ2FlYS1zbG90XCIsXG4gICAgICBzdHlsZTogX3ZtLnN0eWxlcyxcbiAgICAgIGF0dHJzOiB7IFwiZGF0YS1zbG90LW5hbWVcIjogXCJkZWZhdWx0XCIgfVxuICAgIH0sXG4gICAgW192bS5fdChcImRlZmF1bHRcIildLFxuICAgIDJcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtN2IyZGYwYjNcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtN2IyZGYwYjNcIixcImhhc1Njb3BlZFwiOmZhbHNlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxPbmUvYnRuUHJvcC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDU5N1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///597\n");
4009
4010/***/ }),
4011/* 598 */
4012/***/ (function(module, __webpack_exports__, __webpack_require__) {
4013
4014"use strict";
4015eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(163);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_7c891895_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(602);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(599)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_7c891895_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelOne/container/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-7c891895\", Component.options)\n } else {\n hotAPI.reload(\"data-v-7c891895\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9jb250YWluZXIvaW5kZXgudnVlPzljMDciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFzVjtBQUNoVztBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXdGO0FBQ3pIO0FBQ3dJO0FBQ2E7QUFDcko7QUFDb1Q7QUFDcFQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGtRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNTk4LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtN2M4OTE4OTVcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTdjODkxODk1XFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9jb250YWluZXIvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTdjODkxODk1XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtN2M4OTE4OTVcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9jb250YWluZXIvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA1OThcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///598\n");
4016
4017/***/ }),
4018/* 599 */
4019/***/ (function(module, exports, __webpack_require__) {
4020
4021eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(600);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"bee83758\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7c891895\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7c891895\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9jb250YWluZXIvaW5kZXgudnVlP2UwMWEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBK1c7QUFDclksNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUFpRyxnQ0FBZ0M7QUFDdEo7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsbU1BQW1NLG1GQUFtRjtBQUN0Uiw0TUFBNE0sbUZBQW1GO0FBQy9SO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNTk5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTdjODkxODk1XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCJiZWU4Mzc1OFwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtN2M4OTE4OTVcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtN2M4OTE4OTVcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtN2M4OTE4OTVcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxPbmUvY29udGFpbmVyL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTk5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///599\n");
4022
4023/***/ }),
4024/* 600 */
4025/***/ (function(module, exports, __webpack_require__) {
4026
4027eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9jb250YWluZXIvaW5kZXgudnVlP2U4ODgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBK0U7QUFDbEg7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLHFFQUFxRSxxRkFBcUY7O0FBRWpMIiwiZmlsZSI6IjYwMC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi03Yzg5MTg5NVwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9jb250YWluZXIvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2MDBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///600\n");
4028
4029/***/ }),
4030/* 601 */
4031/***/ (function(module, exports, __webpack_require__) {
4032
4033"use strict";
4034eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar editSetting = exports.editSetting = {\n key: 'gaea-container',\n name: 'Container',\n level: 0,\n isContainer: true,\n slots: {\n default: []\n },\n editors: ['Layout', {\n type: 'display'\n }, {\n type: 'box-editor'\n }, 'Style', {\n field: 'styles.backgroundColor',\n text: 'BackgroundColor',\n type: 'color'\n }]\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9jb250YWluZXIvcHJvcGVydHkuanM/M2E1YiJdLCJuYW1lcyI6WyJlZGl0U2V0dGluZyIsImtleSIsIm5hbWUiLCJsZXZlbCIsImlzQ29udGFpbmVyIiwic2xvdHMiLCJkZWZhdWx0IiwiZWRpdG9ycyIsInR5cGUiLCJmaWVsZCIsInRleHQiXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ08sSUFBTUEsb0NBQWM7QUFDdkJDLFNBQUssZ0JBRGtCO0FBRXZCQyxVQUFNLFdBRmlCO0FBR3ZCQyxXQUFNLENBSGlCO0FBSXZCQyxpQkFBYSxJQUpVO0FBS3ZCQyxXQUFPO0FBQ0hDLGlCQUFTO0FBRE4sS0FMZ0I7QUFRdkJDLGFBQVMsQ0FDTCxRQURLLEVBRUw7QUFDSUMsY0FBTTtBQURWLEtBRkssRUFLTDtBQUNJQSxjQUFNO0FBRFYsS0FMSyxFQVFMLE9BUkssRUFTTDtBQUNJQyxlQUFPLHdCQURYO0FBRUlDLGNBQU0saUJBRlY7QUFHSUYsY0FBTTtBQUhWLEtBVEs7QUFSYyxDQUFwQiIsImZpbGUiOiI2MDEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZXhwb3J0IGNvbnN0IGVkaXRTZXR0aW5nID0ge1xyXG4gICAga2V5OiAnZ2FlYS1jb250YWluZXInLFxyXG4gICAgbmFtZTogJ0NvbnRhaW5lcicsXHJcbiAgICBsZXZlbDowLC8vbm90ZSBsZXZlbDAg5Luj6KGo5LiN5pi+56S6XHJcbiAgICBpc0NvbnRhaW5lcjogdHJ1ZSxcclxuICAgIHNsb3RzOiB7XHJcbiAgICAgICAgZGVmYXVsdDogW11cclxuICAgIH0sXHJcbiAgICBlZGl0b3JzOiBbXHJcbiAgICAgICAgJ0xheW91dCcsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0eXBlOiAnZGlzcGxheSdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdHlwZTogJ2JveC1lZGl0b3InXHJcbiAgICAgICAgfSxcclxuICAgICAgICAnU3R5bGUnLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgZmllbGQ6ICdzdHlsZXMuYmFja2dyb3VuZENvbG9yJyxcclxuICAgICAgICAgICAgdGV4dDogJ0JhY2tncm91bmRDb2xvcicsXHJcbiAgICAgICAgICAgIHR5cGU6ICdjb2xvcidcclxuICAgICAgICB9LFxyXG4gICAgICAgIC8vIHtcclxuICAgICAgICAvLyAgICAgZmllbGQ6ICdzdHlsZXMub3BhY2l0eScsXHJcbiAgICAgICAgLy8gICAgIHRleHQ6ICdPcGFjaXR5JyxcclxuICAgICAgICAvLyAgICAgdHlwZTogJ251bWJlcicsXHJcbiAgICAgICAgLy8gICAgIGRhdGE6IHtcclxuICAgICAgICAvLyAgICAgICAgIHVzZVNsaWRlcjogdHJ1ZSxcclxuICAgICAgICAvLyAgICAgICAgIHN0ZXA6IDEsXHJcbiAgICAgICAgLy8gICAgICAgICBpbnB1dFJhbmdlOiBbMCwgMTAwXSxcclxuICAgICAgICAvLyAgICAgICAgIG91dHB1dFJhbmdlOiBbMCwgMV1cclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgIF1cclxufTtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxPbmUvY29udGFpbmVyL3Byb3BlcnR5LmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///601\n");
4035
4036/***/ }),
4037/* 602 */
4038/***/ (function(module, __webpack_exports__, __webpack_require__) {
4039
4040"use strict";
4041eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"gaea-slot\",\n style: _vm.styles,\n attrs: { \"data-slot-name\": \"default\" }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-7c891895\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9jb250YWluZXIvaW5kZXgudnVlP2Y5ZjMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjYwMi5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7XG4gICAgICBzdGF0aWNDbGFzczogXCJnYWVhLXNsb3RcIixcbiAgICAgIHN0eWxlOiBfdm0uc3R5bGVzLFxuICAgICAgYXR0cnM6IHsgXCJkYXRhLXNsb3QtbmFtZVwiOiBcImRlZmF1bHRcIiB9XG4gICAgfSxcbiAgICBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sXG4gICAgMlxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi03Yzg5MTg5NVwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi03Yzg5MTg5NVwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbE9uZS9jb250YWluZXIvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2MDJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///602\n");
4042
4043/***/ }),
4044/* 603 */
4045/***/ (function(module, __webpack_exports__, __webpack_require__) {
4046
4047"use strict";
4048eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(164);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_596f519a_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(607);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(604)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-596f519a\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_596f519a_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/budongchan/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-596f519a\", Component.options)\n } else {\n hotAPI.reload(\"data-v-596f519a\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2J1ZG9uZ2NoYW4vaW5kZXgudnVlP2I3MWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFxVjtBQUMvVjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXdGO0FBQ3pIO0FBQ3dJO0FBQ2E7QUFDcko7QUFDbVQ7QUFDblQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGlRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNjAzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNTk2ZjUxOWFcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNTk2ZjUxOWFcXFwiLFxcXCJoYXNTY29wZWRcXFwiOnRydWUsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gXCJkYXRhLXYtNTk2ZjUxOWFcIlxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9idWRvbmdjaGFuL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi01OTZmNTE5YVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTU5NmY1MTlhXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9idWRvbmdjaGFuL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjAzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///603\n");
4049
4050/***/ }),
4051/* 604 */
4052/***/ (function(module, exports, __webpack_require__) {
4053
4054eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(605);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"6372ddaa\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-596f519a\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-596f519a\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2J1ZG9uZ2NoYW4vaW5kZXgudnVlP2MwNTkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBOFc7QUFDcFksNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUFpRyxnQ0FBZ0M7QUFDdEo7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsbU1BQW1NLGtGQUFrRjtBQUNyUiw0TUFBNE0sa0ZBQWtGO0FBQzlSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNjA0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTU5NmY1MTlhXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjYzNzJkZGFhXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi01OTZmNTE5YVxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTU5NmY1MTlhXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNTk2ZjUxOWFcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2J1ZG9uZ2NoYW4vaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2MDRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///604\n");
4055
4056/***/ }),
4057/* 605 */
4058/***/ (function(module, exports, __webpack_require__) {
4059
4060eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formDiv[data-v-596f519a]{\\n display:block;\\n line-height: 60px;\\n text-align: left;\\n}\\n.formDiv-left[data-v-596f519a] {\\n display:inline-block;\\n width: 35%;\\n text-align:right;\\n font-size:15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.formDiv-right[data-v-596f519a] {\\n width: 60%;\\n position: relative;\\n display:inline-block;\\n position: relative;\\n float: right;\\n text-align: center;\\n line-height: 60px;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/budongchan/myPlugin/page-ide/lib/components/levelThree/budongchan/index.vue\"],\"names\":[],\"mappings\":\";AA6CA;EACA,cAAA;EACA,kBAAA;EACA,iBAAA;CACA;AACA;EACA,qBAAA;EACA,WAAA;EACA,iBAAA;EACA,eAAA;EACA,YAAA;EACA,eAAA;CACA;AACA;EACA,WAAA;EACA,mBAAA;EACA,qBAAA;EACA,mBAAA;EACA,aAAA;EACA,mBAAA;EACA,kBAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formDiv \\\">\\r\\n <div class=\\\"formDiv-left\\\">\\r\\n <Label :style=\\\"{marginLeft:'5px'}\\\">{{getLabel}}</Label>\\r\\n </div>\\r\\n <div class=\\\"formDiv-right\\\">\\r\\n <img src=\\\"./11.png\\\" style=\\\"float:left; margin-top: 13.5px;margin-bottom: 13.5px;\\\"/>\\r\\n </div>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport {editSetting} from './property';\\r\\nexport default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n computed:{\\r\\n getLabel(){\\r\\n return this.property.label;\\r\\n }\\r\\n },\\r\\n\\r\\n data () {\\r\\n return {\\r\\n property:{\\r\\n label : '标签',\\r\\n },\\r\\n text: 'input',\\r\\n type: 'input',\\r\\n level: editSetting.level\\r\\n };\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .formDiv{\\r\\n display:block;\\r\\n line-height: 60px;\\r\\n text-align: left;\\r\\n }\\r\\n .formDiv-left {\\r\\n display:inline-block;\\r\\n width: 35%;\\r\\n text-align:right;\\r\\n font-size:15px;\\r\\n float: left;\\r\\n margin: 0 10px;\\r\\n }\\r\\n .formDiv-right {\\r\\n width: 60%;\\r\\n position: relative;\\r\\n display:inline-block;\\r\\n position: relative;\\r\\n float: right;\\r\\n text-align: center;\\r\\n line-height: 60px;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2J1ZG9uZ2NoYW4vaW5kZXgudnVlP2VlNGEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBK0U7QUFDbEg7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLCtCQUErQixrQkFBa0Isc0JBQXNCLHFCQUFxQixHQUFHLGtDQUFrQyx5QkFBeUIsZUFBZSxxQkFBcUIsbUJBQW1CLGdCQUFnQixtQkFBbUIsR0FBRyxtQ0FBbUMsZUFBZSx1QkFBdUIseUJBQXlCLHVCQUF1QixpQkFBaUIsdUJBQXVCLHNCQUFzQixHQUFHLFVBQVUsbU1BQW1NLE1BQU0sVUFBVSxXQUFXLFdBQVcsS0FBSyxLQUFLLFdBQVcsVUFBVSxXQUFXLFVBQVUsVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLG1KQUFtSixpQkFBaUIsS0FBSyxVQUFVLCtHQUErRyxvQkFBb0Isc0JBQXNCLHlFQUF5RSxZQUFZLG1CQUFtQixvQkFBb0IsbUJBQW1CLHNCQUFzQix5RkFBeUYsc0VBQXNFLG1CQUFtQixzQkFBc0Isd0NBQXdDLGFBQWEsU0FBUyxzQkFBc0Isb0JBQW9CLDBCQUEwQixrREFBa0QsbUhBQW1ILFNBQVMseUZBQXlGLGtEQUFrRCxzQkFBc0IsMEJBQTBCLHlCQUF5QixPQUFPLHFCQUFxQiw2QkFBNkIsbUJBQW1CLHlCQUF5Qix1QkFBdUIsb0JBQW9CLHVCQUF1QixPQUFPLHNCQUFzQixtQkFBbUIsMkJBQTJCLDZCQUE2QiwyQkFBMkIscUJBQXFCLDJCQUEyQiwwQkFBMEIsT0FBTyxtQ0FBbUM7O0FBRW43RSIsImZpbGUiOiI2MDUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG4uZm9ybURpdltkYXRhLXYtNTk2ZjUxOWFde1xcbiAgZGlzcGxheTpibG9jaztcXG4gIGxpbmUtaGVpZ2h0OiA2MHB4O1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG59XFxuLmZvcm1EaXYtbGVmdFtkYXRhLXYtNTk2ZjUxOWFdIHtcXG4gIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcbiAgd2lkdGg6IDM1JTtcXG4gIHRleHQtYWxpZ246cmlnaHQ7XFxuICBmb250LXNpemU6MTVweDtcXG4gIGZsb2F0OiBsZWZ0O1xcbiAgbWFyZ2luOiAwIDEwcHg7XFxufVxcbi5mb3JtRGl2LXJpZ2h0W2RhdGEtdi01OTZmNTE5YV0ge1xcbiAgd2lkdGg6IDYwJTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZmxvYXQ6IHJpZ2h0O1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgbGluZS1oZWlnaHQ6IDYwcHg7XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJFOi9wcm9qZWN0L3BhZ2UtaWRlLXhpYW4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9idWRvbmdjaGFuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvYnVkb25nY2hhbi9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQTZDQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0NBQ0E7QUFDQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0NBQ0E7QUFDQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTtFQUNBLHFCQUFBO0VBQ0EsbUJBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtDQUNBXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZXNDb250ZW50XCI6W1wiPHRlbXBsYXRlPlxcclxcbiAgPGRpdiBjbGFzcz1cXFwiZm9ybURpdiBcXFwiPlxcclxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2LWxlZnRcXFwiPlxcclxcbiAgICAgIDxMYWJlbCA6c3R5bGU9XFxcInttYXJnaW5MZWZ0Oic1cHgnfVxcXCI+e3tnZXRMYWJlbH19PC9MYWJlbD5cXHJcXG4gICAgPC9kaXY+XFxyXFxuICAgIDxkaXYgY2xhc3M9XFxcImZvcm1EaXYtcmlnaHRcXFwiPlxcclxcbiAgICAgIDxpbWcgc3JjPVxcXCIuLzExLnBuZ1xcXCIgIHN0eWxlPVxcXCJmbG9hdDpsZWZ0OyBtYXJnaW4tdG9wOiAxMy41cHg7bWFyZ2luLWJvdHRvbTogMTMuNXB4O1xcXCIvPlxcclxcbiAgICA8L2Rpdj5cXHJcXG4gIDwvZGl2PlxcclxcbjwvdGVtcGxhdGU+XFxyXFxuXFxyXFxuPHNjcmlwdD5cXHJcXG5pbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcXHJcXG5leHBvcnQgZGVmYXVsdCB7XFxyXFxuICAgIC8vIHByb3BzOiB7XFxyXFxuICAgIC8vICAgICB0ZXh0OiB7XFxyXFxuICAgIC8vICAgICAgICAgdHlwZTogU3RyaW5nLFxcclxcbiAgICAvLyAgICAgICAgIGRlZmF1bHQ6ICdCdXR0b24gVGV4dCdcXHJcXG4gICAgLy8gICAgIH0sXFxyXFxuICAgIC8vICAgICB0eXBlOiBTdHJpbmcsXFxyXFxuICAgIC8vICAgICBzdHlsZXM6IE9iamVjdFxcclxcbiAgICAvLyB9LFxcclxcbiAgICBjb21wdXRlZDp7XFxyXFxuICAgICAgIGdldExhYmVsKCl7XFxyXFxuICAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydHkubGFiZWw7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH0sXFxyXFxuXFxyXFxuICAgIGRhdGEgKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHtcXHJcXG4gICAgICAgICAgICBwcm9wZXJ0eTp7XFxyXFxuICAgICAgICAgICAgICAgIGxhYmVsIDogJ+agh+etvicsXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICB0ZXh0OiAnaW5wdXQnLFxcclxcbiAgICAgICAgICAgIHR5cGU6ICdpbnB1dCcsXFxyXFxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXFxyXFxuICAgICAgICB9O1xcclxcbiAgICB9LFxcclxcbiAgICBlZGl0U2V0dGluZyxcXHJcXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxcclxcbiAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWxcXHJcXG59O1xcclxcbjwvc2NyaXB0PlxcclxcblxcclxcbjxzdHlsZSBzY29wZWQ+XFxyXFxuICAuZm9ybURpdntcXHJcXG4gICAgZGlzcGxheTpibG9jaztcXHJcXG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XFxyXFxuICAgIHRleHQtYWxpZ246IGxlZnQ7XFxyXFxuICB9XFxyXFxuICAuZm9ybURpdi1sZWZ0IHtcXHJcXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgIHdpZHRoOiAzNSU7XFxyXFxuICAgIHRleHQtYWxpZ246cmlnaHQ7XFxyXFxuICAgIGZvbnQtc2l6ZToxNXB4O1xcclxcbiAgICBmbG9hdDogbGVmdDtcXHJcXG4gICAgbWFyZ2luOiAwIDEwcHg7XFxyXFxuICB9XFxyXFxuICAuZm9ybURpdi1yaWdodCB7XFxyXFxuICAgIHdpZHRoOiA2MCU7XFxyXFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXHJcXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXHJcXG4gICAgZmxvYXQ6IHJpZ2h0O1xcclxcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxyXFxuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xcclxcbiAgfVxcclxcbjwvc3R5bGU+XFxyXFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTU5NmY1MTlhXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9idWRvbmdjaGFuL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjA1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///605\n");
4061
4062/***/ }),
4063/* 606 */
4064/***/ (function(module, exports, __webpack_require__) {
4065
4066"use strict";
4067eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = ['属性(不动产)', {\n field: 'property.busiId',\n text: '标签',\n type: 'string',\n isShow: 'hide'\n}, '扩展属性', {\n field: 'extend.key',\n text: '关联的字段',\n type: 'reqSelect'\n}, '高级', {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'budongchanHeightLevel'\n}];\n_common.commonTool.assembleData(editors);\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-budongchan',\n name: '不动产',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2J1ZG9uZ2NoYW4vcHJvcGVydHkuanM/ZGVkMCJdLCJuYW1lcyI6WyJlZGl0b3JzIiwiZmllbGQiLCJ0ZXh0IiwidHlwZSIsImlzU2hvdyIsImNvbW1vblRvb2wiLCJhc3NlbWJsZURhdGEiLCJjb25zb2xlIiwibG9nIiwiZWRpdFNldHRpbmciLCJrZXkiLCJuYW1lIiwibGV2ZWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQTs7QUFLQSxJQUFJQSxVQUFTLENBQ1QsU0FEUyxFQUVUO0FBQ0lDLFdBQU8saUJBRFg7QUFFSUMsVUFBTSxJQUZWO0FBR0lDLFVBQU0sUUFIVjtBQUlJQyxZQUFPO0FBSlgsQ0FGUyxFQVFULE1BUlMsRUFTVDtBQUNJSCxXQUFPLFlBRFg7QUFFSUMsVUFBTSxPQUZWO0FBR0lDLFVBQU07QUFIVixDQVRTLEVBd0JULElBeEJTLEVBeUJUO0FBQ0lGLFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU07QUFIVixDQXpCUyxDQUFiO0FBaURBRSxtQkFBV0MsWUFBWCxDQUF3Qk4sT0FBeEI7QUFDQU8sUUFBUUMsR0FBUixDQUFZUixPQUFaO0FBQ08sSUFBTVMsb0NBQWM7QUFDdkJDLFNBQUssaUJBRGtCO0FBRXZCQyxVQUFNLEtBRmlCO0FBR3ZCQyxXQUFNLENBSGlCO0FBSXZCWixhQUFRQTtBQUplLENBQXBCIiwiZmlsZSI6IjYwNi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAgTm90ZSDlt6XlhbfnsbtcclxuICovXHJcbmltcG9ydCB7Y29tbW9uVG9vbH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jb21tb25cIlxyXG4vKlxyXG5Ob3RlIOWumuS5ieiHquWumuS5ieWxnuaAp++8jOWFrOWFseWxnuaAp+S7jmNvbW1vbuaWh+S7tumHjOivu+WPllxyXG5hdXRob3Ig5Y+256ug5rWpXHJcbiAqL1xyXG5sZXQgZWRpdG9ycz0gW1xyXG4gICAgJ+WxnuaApyjkuI3liqjkuqcpJyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmJ1c2lJZCcsXHJcbiAgICAgICAgdGV4dDogJ+agh+etvicsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJ1xyXG4gICAgfSxcclxuICAgICfmianlsZXlsZ7mgKcnLFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLmtleScsXHJcbiAgICAgICAgdGV4dDogJ+WFs+iBlOeahOWtl+autScsXHJcbiAgICAgICAgdHlwZTogJ3JlcVNlbGVjdCdcclxuICAgIH0sXHJcbiAgIC8qIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC50eXBlJyxcclxuICAgICAgICB0ZXh0OiAn57G75Z6LJyxcclxuICAgICAgICB0eXBlOiAnaW5wdXRTZWxlY3QnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLnJvd3MnLFxyXG4gICAgICAgIHRleHQ6ICfooYzmlbAnLFxyXG4gICAgICAgIHR5cGU6ICdudW1iZXInXHJcbiAgICB9LCovXHJcbiAgICAn6auY57qnJyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2RhdGEuaGVpZ2h0TGV2ZWwnLFxyXG4gICAgICAgIHRleHQ6ICfmmK/lkKbmmL7npLonLFxyXG4gICAgICAgIHR5cGU6ICdidWRvbmdjaGFuSGVpZ2h0TGV2ZWwnXHJcbiAgICB9LFxyXG4gICAgLyon5YWD57Sg6IGU5Yqo5qOA5p+l5piv5ZCm6ZqQ6JePJyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5zaG93RmxhZycsXHJcbiAgICAgICAgdGV4dDogJycsXHJcbiAgICAgICAgdHlwZTogJ3Nob3dGbGFnJ1xyXG4gICAgfSxcclxuICAgICfmoKHpqownLFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLnZhbGlkYXRlJyxcclxuICAgICAgICB0ZXh0OiAnJyxcclxuICAgICAgICB0eXBlOiAndmFsaWRhdGVBcnInXHJcbiAgICB9LFxyXG4gICAgJ+iBlOWKqCcsXHJcbiAgICAge1xyXG4gICAgICAgICBmaWVsZDogJ2V4dGVuZC5saW5rYWdlQ2hhbmdlVmFsdWUnLFxyXG4gICAgICAgICB0ZXh0OiAnJyxcclxuICAgICAgICAgdHlwZTogJ2xpbmthZ2VDaGFuZ2VWYWx1ZSdcclxuICAgICB9Ki9cclxuXTtcclxuY29tbW9uVG9vbC5hc3NlbWJsZURhdGEoZWRpdG9ycyk7XHJcbmNvbnNvbGUubG9nKGVkaXRvcnMpO1xyXG5leHBvcnQgY29uc3QgZWRpdFNldHRpbmcgPSB7XHJcbiAgICBrZXk6ICdnYWVhLWJ1ZG9uZ2NoYW4nLFxyXG4gICAgbmFtZTogJ+S4jeWKqOS6pycsXHJcbiAgICBsZXZlbDo0LFxyXG4gICAgZWRpdG9yczplZGl0b3JzLFxyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2J1ZG9uZ2NoYW4vcHJvcGVydHkuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///606\n");
4068
4069/***/ }),
4070/* 607 */
4071/***/ (function(module, __webpack_exports__, __webpack_require__) {
4072
4073"use strict";
4074eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"formDiv \" }, [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [\n _c(\"Label\", { style: { marginLeft: \"5px\" } }, [\n _vm._v(_vm._s(_vm.getLabel))\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm._m(0)\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"formDiv-right\" }, [\n _c(\"img\", {\n staticStyle: {\n float: \"left\",\n \"margin-top\": \"13.5px\",\n \"margin-bottom\": \"13.5px\"\n },\n attrs: { src: __webpack_require__(608) }\n })\n ])\n }\n]\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-596f519a\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2J1ZG9uZ2NoYW4vaW5kZXgudnVlPzlkMjIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsMEJBQTBCO0FBQzlDO0FBQ0E7QUFDQSxPQUFPLDhCQUE4QjtBQUNyQztBQUNBLHFCQUFxQixTQUFTLG9CQUFvQixFQUFFO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsK0JBQStCO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsZ0JBQWdCLE1BQU0sbUJBQU8sQ0FBQyxHQUFVO0FBQ3hDLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNjA3LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXYgXCIgfSwgW1xuICAgIF9jKFxuICAgICAgXCJkaXZcIixcbiAgICAgIHsgc3RhdGljQ2xhc3M6IFwiZm9ybURpdi1sZWZ0XCIgfSxcbiAgICAgIFtcbiAgICAgICAgX2MoXCJMYWJlbFwiLCB7IHN0eWxlOiB7IG1hcmdpbkxlZnQ6IFwiNXB4XCIgfSB9LCBbXG4gICAgICAgICAgX3ZtLl92KF92bS5fcyhfdm0uZ2V0TGFiZWwpKVxuICAgICAgICBdKVxuICAgICAgXSxcbiAgICAgIDFcbiAgICApLFxuICAgIF92bS5fdihcIiBcIiksXG4gICAgX3ZtLl9tKDApXG4gIF0pXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW1xuICBmdW5jdGlvbigpIHtcbiAgICB2YXIgX3ZtID0gdGhpc1xuICAgIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICAgIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICAgIHJldHVybiBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXYtcmlnaHRcIiB9LCBbXG4gICAgICBfYyhcImltZ1wiLCB7XG4gICAgICAgIHN0YXRpY1N0eWxlOiB7XG4gICAgICAgICAgZmxvYXQ6IFwibGVmdFwiLFxuICAgICAgICAgIFwibWFyZ2luLXRvcFwiOiBcIjEzLjVweFwiLFxuICAgICAgICAgIFwibWFyZ2luLWJvdHRvbVwiOiBcIjEzLjVweFwiXG4gICAgICAgIH0sXG4gICAgICAgIGF0dHJzOiB7IHNyYzogcmVxdWlyZShcIi4vMTEucG5nXCIpIH1cbiAgICAgIH0pXG4gICAgXSlcbiAgfVxuXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTU5NmY1MTlhXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTU5NmY1MTlhXCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9idWRvbmdjaGFuL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjA3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///607\n");
4075
4076/***/ }),
4077/* 608 */
4078/***/ (function(module, exports, __webpack_require__) {
4079
4080eval("module.exports = __webpack_require__.p + \"11.png?09f02457c7edba2d86381907aed79e00\";\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2J1ZG9uZ2NoYW4vMTEucG5nP2UzZTIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCLHFCQUF1QiIsImZpbGUiOiI2MDguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19wdWJsaWNfcGF0aF9fICsgXCIxMS5wbmc/MDlmMDI0NTdjN2VkYmEyZDg2MzgxOTA3YWVkNzllMDBcIjtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvYnVkb25nY2hhbi8xMS5wbmdcbi8vIG1vZHVsZSBpZCA9IDYwOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///608\n");
4081
4082/***/ }),
4083/* 609 */
4084/***/ (function(module, __webpack_exports__, __webpack_require__) {
4085
4086"use strict";
4087eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(165);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_3241cf08_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(613);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(610)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-3241cf08\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_3241cf08_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/button/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-3241cf08\", Component.options)\n } else {\n hotAPI.reload(\"data-v-3241cf08\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2J1dHRvbi9pbmRleC52dWU/NjE4MiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQXFWO0FBQy9WO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBd0Y7QUFDekg7QUFDd0k7QUFDYTtBQUNySjtBQUNtVDtBQUNuVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsaVFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI2MDkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0zMjQxY2YwOFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi0zMjQxY2YwOFxcXCIsXFxcImhhc1Njb3BlZFxcXCI6dHJ1ZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBcImRhdGEtdi0zMjQxY2YwOFwiXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2J1dHRvbi9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtMzI0MWNmMDhcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi0zMjQxY2YwOFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvYnV0dG9uL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjA5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///609\n");
4088
4089/***/ }),
4090/* 610 */
4091/***/ (function(module, exports, __webpack_require__) {
4092
4093eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(611);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"0beff405\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3241cf08\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3241cf08\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2J1dHRvbi9pbmRleC52dWU/YzU4YiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUE4VztBQUNwWSw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQWlHLGdDQUFnQztBQUN0SjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSxtTUFBbU0sa0ZBQWtGO0FBQ3JSLDRNQUE0TSxrRkFBa0Y7QUFDOVI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI2MTAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMzI0MWNmMDhcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiMGJlZmY0MDVcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTMyNDFjZjA4XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMzI0MWNmMDhcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0zMjQxY2YwOFwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvYnV0dG9uL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjEwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///610\n");
4094
4095/***/ }),
4096/* 611 */
4097/***/ (function(module, exports, __webpack_require__) {
4098
4099eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.buttonStyle[data-v-3241cf08]{\\n margin-right:10px;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/button/myPlugin/page-ide/lib/components/levelThree/button/index.vue\"],\"names\":[],\"mappings\":\";AAkCA;IACA,kBAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div style=\\\"display: inline-block;\\\">\\r\\n <Button :type=\\\"type\\\" class=\\\"buttonStyle\\\">{{property.label}}</Button>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport {editSetting} from './property';\\r\\nexport default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n data () {\\r\\n return {\\r\\n property:{\\r\\n label : '按钮',\\r\\n },\\r\\n text: '按钮',\\r\\n type: 'success',\\r\\n level: editSetting.level,\\r\\n };\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .buttonStyle{\\r\\n margin-right:10px;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2J1dHRvbi9pbmRleC52dWU/MzIwMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUErRTtBQUNsSDs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsbUNBQW1DLHdCQUF3QixHQUFHLFVBQVUsMkxBQTJMLE1BQU0sV0FBVywrRkFBK0YsMERBQTBELGdCQUFnQixnRUFBZ0UsWUFBWSxtQkFBbUIsb0JBQW9CLG1CQUFtQixzQkFBc0IseUZBQXlGLHNFQUFzRSxrQkFBa0Isb0JBQW9CLDBCQUEwQixrREFBa0QsbUhBQW1ILFNBQVMseUZBQXlGLHdEQUF3RCw4QkFBOEIsU0FBUyxtQ0FBbUM7O0FBRXh0QyIsImZpbGUiOiI2MTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG4uYnV0dG9uU3R5bGVbZGF0YS12LTMyNDFjZjA4XXtcXG4gICAgbWFyZ2luLXJpZ2h0OjEwcHg7XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJFOi9wcm9qZWN0L3BhZ2UtaWRlLXhpYW4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9idXR0b24vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9idXR0b24vaW5kZXgudnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUFrQ0E7SUFDQSxrQkFBQTtDQUNBXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZXNDb250ZW50XCI6W1wiPHRlbXBsYXRlPlxcclxcbiAgPGRpdiBzdHlsZT1cXFwiZGlzcGxheTogaW5saW5lLWJsb2NrO1xcXCI+XFxyXFxuICAgIDxCdXR0b24gOnR5cGU9XFxcInR5cGVcXFwiIGNsYXNzPVxcXCJidXR0b25TdHlsZVxcXCI+e3twcm9wZXJ0eS5sYWJlbH19PC9CdXR0b24+XFxyXFxuICA8L2Rpdj5cXHJcXG48L3RlbXBsYXRlPlxcclxcblxcclxcbjxzY3JpcHQ+XFxyXFxuaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XFxyXFxuZXhwb3J0IGRlZmF1bHQge1xcclxcbiAgICAvLyBwcm9wczoge1xcclxcbiAgICAvLyAgICAgdGV4dDoge1xcclxcbiAgICAvLyAgICAgICAgIHR5cGU6IFN0cmluZyxcXHJcXG4gICAgLy8gICAgICAgICBkZWZhdWx0OiAnQnV0dG9uIFRleHQnXFxyXFxuICAgIC8vICAgICB9LFxcclxcbiAgICAvLyAgICAgdHlwZTogU3RyaW5nLFxcclxcbiAgICAvLyAgICAgc3R5bGVzOiBPYmplY3RcXHJcXG4gICAgLy8gfSxcXHJcXG4gICAgZGF0YSAoKSB7XFxyXFxuICAgICAgICByZXR1cm4ge1xcclxcbiAgICAgICAgICAgIHByb3BlcnR5OntcXHJcXG4gICAgICAgICAgICAgICAgbGFiZWwgOiAn5oyJ6ZKuJyxcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIHRleHQ6ICfmjInpkq4nLFxcclxcbiAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJyxcXHJcXG4gICAgICAgICAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXFxyXFxuICAgICAgICB9O1xcclxcbiAgICB9LFxcclxcbiAgICBlZGl0U2V0dGluZyxcXHJcXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxcclxcbiAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWxcXHJcXG59O1xcclxcbjwvc2NyaXB0PlxcclxcblxcclxcbjxzdHlsZSBzY29wZWQ+XFxyXFxuICAgIC5idXR0b25TdHlsZXtcXHJcXG4gICAgICAgIG1hcmdpbi1yaWdodDoxMHB4O1xcclxcbiAgICB9XFxyXFxuPC9zdHlsZT5cXHJcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtMzI0MWNmMDhcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2J1dHRvbi9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDYxMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///611\n");
4100
4101/***/ }),
4102/* 612 */
4103/***/ (function(module, exports, __webpack_require__) {
4104
4105"use strict";
4106eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = ['属性(按钮)', {\n field: 'property.label',\n text: '按钮名称',\n type: 'string'\n}, {\n field: 'property.type',\n text: '类型',\n type: 'buttonSelect'\n}, {\n field: 'property.click',\n text: '事件',\n type: 'clickTypeSelect'\n}];\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-button',\n name: 'button 按钮',\n level: 3,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2J1dHRvbi9wcm9wZXJ0eS5qcz9jMmExIl0sIm5hbWVzIjpbImVkaXRvcnMiLCJmaWVsZCIsInRleHQiLCJ0eXBlIiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibmFtZSIsImxldmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7O0FBS0EsSUFBSUEsVUFBUyxDQUNULFFBRFMsRUFFVDtBQUNJQyxXQUFPLGdCQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0FGUyxFQU9UO0FBQ0lGLFdBQU8sZUFEWDtBQUVJQyxVQUFNLElBRlY7QUFHSUMsVUFBTTtBQUhWLENBUFMsRUFZVDtBQUNJRixXQUFPLGdCQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0FaUyxDQUFiO0FBa0JBQyxRQUFRQyxHQUFSLENBQVlMLE9BQVo7QUFDTyxJQUFNTSxvQ0FBYztBQUN2QkMsU0FBSyxhQURrQjtBQUV2QkMsVUFBTSxXQUZpQjtBQUd2QkMsV0FBTSxDQUhpQjtBQUl2QlQsYUFBUUE7QUFKZSxDQUFwQiIsImZpbGUiOiI2MTIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gIE5vdGUg5bel5YW357G7XHJcbiAqL1xyXG5pbXBvcnQge2NvbW1vblRvb2x9IGZyb20gXCIuLi8uLi9jb21tb24vY29tbW9uXCJcclxuLypcclxuTm90ZSDlrprkuYnoh6rlrprkuYnlsZ7mgKfvvIzlhazlhbHlsZ7mgKfku45jb21tb27mlofku7bph4zor7vlj5ZcclxuYXV0aG9yIOWPtueroOa1qVxyXG4gKi9cclxubGV0IGVkaXRvcnM9IFtcclxuICAgICflsZ7mgKco5oyJ6ZKuKScsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5sYWJlbCcsXHJcbiAgICAgICAgdGV4dDogJ+aMiemSruWQjeensCcsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS50eXBlJyxcclxuICAgICAgICB0ZXh0OiAn57G75Z6LJyxcclxuICAgICAgICB0eXBlOiAnYnV0dG9uU2VsZWN0J1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmNsaWNrJyxcclxuICAgICAgICB0ZXh0OiAn5LqL5Lu2JyxcclxuICAgICAgICB0eXBlOiAnY2xpY2tUeXBlU2VsZWN0J1xyXG4gICAgfVxyXG5dO1xyXG5jb25zb2xlLmxvZyhlZGl0b3JzKTtcclxuZXhwb3J0IGNvbnN0IGVkaXRTZXR0aW5nID0ge1xyXG4gICAga2V5OiAnZ2FlYS1idXR0b24nLFxyXG4gICAgbmFtZTogJ2J1dHRvbiDmjInpkq4nLFxyXG4gICAgbGV2ZWw6MyxcclxuICAgIGVkaXRvcnM6ZWRpdG9ycyxcclxufTtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9idXR0b24vcHJvcGVydHkuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///612\n");
4107
4108/***/ }),
4109/* 613 */
4110/***/ (function(module, __webpack_exports__, __webpack_require__) {
4111
4112"use strict";
4113eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { display: \"inline-block\" } },\n [\n _c(\"Button\", { staticClass: \"buttonStyle\", attrs: { type: _vm.type } }, [\n _vm._v(_vm._s(_vm.property.label))\n ])\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-3241cf08\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2J1dHRvbi9pbmRleC52dWU/YzQ2ZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLGVBQWUsMEJBQTBCLEVBQUU7QUFDaEQ7QUFDQSxvQkFBb0IscUNBQXFDLGlCQUFpQixFQUFFO0FBQzVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjYxMy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7IHN0YXRpY1N0eWxlOiB7IGRpc3BsYXk6IFwiaW5saW5lLWJsb2NrXCIgfSB9LFxuICAgIFtcbiAgICAgIF9jKFwiQnV0dG9uXCIsIHsgc3RhdGljQ2xhc3M6IFwiYnV0dG9uU3R5bGVcIiwgYXR0cnM6IHsgdHlwZTogX3ZtLnR5cGUgfSB9LCBbXG4gICAgICAgIF92bS5fdihfdm0uX3MoX3ZtLnByb3BlcnR5LmxhYmVsKSlcbiAgICAgIF0pXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTMyNDFjZjA4XCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTMyNDFjZjA4XCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9idXR0b24vaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2MTNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///613\n");
4114
4115/***/ }),
4116/* 614 */
4117/***/ (function(module, __webpack_exports__, __webpack_require__) {
4118
4119"use strict";
4120eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(166);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_042fd466_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(618);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(615)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-042fd466\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_042fd466_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/cellChild/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-042fd466\", Component.options)\n } else {\n hotAPI.reload(\"data-v-042fd466\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2NlbGxDaGlsZC9pbmRleC52dWU/ZDZkMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQXFWO0FBQy9WO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBd0Y7QUFDekg7QUFDd0k7QUFDYTtBQUNySjtBQUNtVDtBQUNuVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsaVFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI2MTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0wNDJmZDQ2NlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi0wNDJmZDQ2NlxcXCIsXFxcImhhc1Njb3BlZFxcXCI6dHJ1ZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBcImRhdGEtdi0wNDJmZDQ2NlwiXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2NlbGxDaGlsZC9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtMDQyZmQ0NjZcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi0wNDJmZDQ2NlwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvY2VsbENoaWxkL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjE0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///614\n");
4121
4122/***/ }),
4123/* 615 */
4124/***/ (function(module, exports, __webpack_require__) {
4125
4126eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(616);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"033b17c4\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-042fd466\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-042fd466\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2NlbGxDaGlsZC9pbmRleC52dWU/NDkxYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUE4VztBQUNwWSw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQWlHLGdDQUFnQztBQUN0SjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSxtTUFBbU0sa0ZBQWtGO0FBQ3JSLDRNQUE0TSxrRkFBa0Y7QUFDOVI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI2MTUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMDQyZmQ0NjZcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiMDMzYjE3YzRcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTA0MmZkNDY2XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMDQyZmQ0NjZcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0wNDJmZDQ2NlwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvY2VsbENoaWxkL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjE1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///615\n");
4127
4128/***/ }),
4129/* 616 */
4130/***/ (function(module, exports, __webpack_require__) {
4131
4132eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.cellDetail[data-v-042fd466]{\\n width: 24%;\\n line-height: 50px;\\n height: 50px;\\n display: inline-block;\\n margin-bottom: 20px;\\n padding-left: 20px;\\n border-bottom: 1px dashed #8e7d7d6b;\\n}\\n.cellDetailTitle[data-v-042fd466] {\\n color: #000!important;\\n font-weight: 700;\\n border-left: 3px solid #4a89dc;\\n text-align: left;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/cellChild/myPlugin/page-ide/lib/components/levelThree/cellChild/index.vue\"],\"names\":[],\"mappings\":\";AAmDA;EACA,WAAA;EACA,kBAAA;EACA,aAAA;EACA,sBAAA;EACA,oBAAA;EACA,mBAAA;EACA,oCAAA;CACA;AACA;EACA,sBAAA;EACA,iBAAA;EACA,+BAAA;EACA,iBAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"cellDetail\\\">\\r\\n <span class=\\\"cellDetailTitle\\\">\\r\\n <Label :style=\\\"{marginLeft:'5px'}\\\" >{{getLabel}}</Label>\\r\\n </span>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport {editSetting} from './property';\\r\\nexport default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n data () {\\r\\n return {\\r\\n property:{\\r\\n title : '',\\r\\n },\\r\\n text: 'label',\\r\\n // styles: {\\r\\n // display:'inline-block',\\r\\n // width:'100px',\\r\\n // height:'30px',\\r\\n // lineHeight:'30px',\\r\\n // textAlign:'center',\\r\\n // margin:'10px',\\r\\n // backgroundColor:'#fff',\\r\\n // fontSize:'15px'\\r\\n // },\\r\\n type: 'label',\\r\\n level: editSetting.level,\\r\\n };\\r\\n },\\r\\n computed:{\\r\\n getLabel(){\\r\\n return this.property.title;\\r\\n }\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .cellDetail{\\r\\n width: 24%;\\r\\n line-height: 50px;\\r\\n height: 50px;\\r\\n display: inline-block;\\r\\n margin-bottom: 20px;\\r\\n padding-left: 20px;\\r\\n border-bottom: 1px dashed #8e7d7d6b;\\r\\n }\\r\\n .cellDetailTitle {\\r\\n color: #000!important;\\r\\n font-weight: 700;\\r\\n border-left: 3px solid #4a89dc;\\r\\n text-align: left;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2NlbGxDaGlsZC9pbmRleC52dWU/YzcwYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUErRTtBQUNsSDs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsa0NBQWtDLGVBQWUsc0JBQXNCLGlCQUFpQiwwQkFBMEIsd0JBQXdCLHVCQUF1Qix3Q0FBd0MsR0FBRyxxQ0FBcUMsMEJBQTBCLHFCQUFxQixtQ0FBbUMscUJBQXFCLEdBQUcsVUFBVSxpTUFBaU0sTUFBTSxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLHlKQUF5SixpQkFBaUIsTUFBTSxVQUFVLDhFQUE4RSxZQUFZLG1CQUFtQixvQkFBb0IsbUJBQW1CLHNCQUFzQix5RkFBeUYsc0VBQXNFLGtCQUFrQixvQkFBb0IsMEJBQTBCLGdEQUFnRCwyREFBMkQsd1ZBQXdWLHNGQUFzRixTQUFTLG1CQUFtQix1QkFBdUIsMkNBQTJDLGFBQWEsU0FBUyx5RkFBeUYscURBQXFELG1CQUFtQiwwQkFBMEIscUJBQXFCLDhCQUE4Qiw0QkFBNEIsMkJBQTJCLDRDQUE0QyxPQUFPLHdCQUF3Qiw4QkFBOEIseUJBQXlCLHVDQUF1Qyx5QkFBeUIsT0FBTyxtQ0FBbUM7O0FBRXI2RSIsImZpbGUiOiI2MTYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG4uY2VsbERldGFpbFtkYXRhLXYtMDQyZmQ0NjZde1xcbiAgd2lkdGg6IDI0JTtcXG4gIGxpbmUtaGVpZ2h0OiA1MHB4O1xcbiAgaGVpZ2h0OiA1MHB4O1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcXG4gIHBhZGRpbmctbGVmdDogMjBweDtcXG4gIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzhlN2Q3ZDZiO1xcbn1cXG4uY2VsbERldGFpbFRpdGxlW2RhdGEtdi0wNDJmZDQ2Nl0ge1xcbiAgY29sb3I6ICMwMDAhaW1wb3J0YW50O1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzRhODlkYztcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJFOi9wcm9qZWN0L3BhZ2UtaWRlLXhpYW4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9jZWxsQ2hpbGQvbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9jZWxsQ2hpbGQvaW5kZXgudnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUFtREE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0NBQUE7Q0FDQTtBQUNBO0VBQ0Esc0JBQUE7RUFDQSxpQkFBQTtFQUNBLCtCQUFBO0VBQ0EsaUJBQUE7Q0FDQVwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjx0ZW1wbGF0ZT5cXHJcXG4gIDxkaXYgY2xhc3M9XFxcImNlbGxEZXRhaWxcXFwiPlxcclxcbiAgICA8c3BhbiBjbGFzcz1cXFwiY2VsbERldGFpbFRpdGxlXFxcIj5cXHJcXG4gICAgICA8TGFiZWwgOnN0eWxlPVxcXCJ7bWFyZ2luTGVmdDonNXB4J31cXFwiID57e2dldExhYmVsfX08L0xhYmVsPlxcclxcbiAgICA8L3NwYW4+XFxyXFxuICA8L2Rpdj5cXHJcXG48L3RlbXBsYXRlPlxcclxcblxcclxcbjxzY3JpcHQ+XFxyXFxuaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XFxyXFxuZXhwb3J0IGRlZmF1bHQge1xcclxcbiAgICAvLyBwcm9wczoge1xcclxcbiAgICAvLyAgICAgdGV4dDoge1xcclxcbiAgICAvLyAgICAgICAgIHR5cGU6IFN0cmluZyxcXHJcXG4gICAgLy8gICAgICAgICBkZWZhdWx0OiAnQnV0dG9uIFRleHQnXFxyXFxuICAgIC8vICAgICB9LFxcclxcbiAgICAvLyAgICAgdHlwZTogU3RyaW5nLFxcclxcbiAgICAvLyAgICAgc3R5bGVzOiBPYmplY3RcXHJcXG4gICAgLy8gfSxcXHJcXG4gICAgZGF0YSAoKSB7XFxyXFxuICAgICAgICByZXR1cm4ge1xcclxcbiAgICAgICAgICAgIHByb3BlcnR5OntcXHJcXG4gICAgICAgICAgICAgICAgdGl0bGUgOiAnJyxcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIHRleHQ6ICdsYWJlbCcsXFxyXFxuICAgICAgICAgICAgLy8gc3R5bGVzOiB7XFxyXFxuICAgICAgICAgICAgICAgIC8vIGRpc3BsYXk6J2lubGluZS1ibG9jaycsXFxyXFxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOicxMDBweCcsXFxyXFxuICAgICAgICAgICAgICAgIC8vIGhlaWdodDonMzBweCcsXFxyXFxuICAgICAgICAgICAgICAgIC8vIGxpbmVIZWlnaHQ6JzMwcHgnLFxcclxcbiAgICAgICAgICAgICAgICAvLyB0ZXh0QWxpZ246J2NlbnRlcicsXFxyXFxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbjonMTBweCcsXFxyXFxuICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmRDb2xvcjonI2ZmZicsXFxyXFxuICAgICAgICAgICAgICAgIC8vIGZvbnRTaXplOicxNXB4J1xcclxcbiAgICAgICAgICAgIC8vIH0sXFxyXFxuICAgICAgICAgICAgdHlwZTogJ2xhYmVsJyxcXHJcXG4gICAgICAgICAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXFxyXFxuICAgICAgICB9O1xcclxcbiAgICB9LFxcclxcbiAgICBjb21wdXRlZDp7XFxyXFxuICAgICAgICBnZXRMYWJlbCgpe1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnByb3BlcnR5LnRpdGxlO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9LFxcclxcbiAgICBlZGl0U2V0dGluZyxcXHJcXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxcclxcbiAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWxcXHJcXG59O1xcclxcbjwvc2NyaXB0PlxcclxcblxcclxcbjxzdHlsZSBzY29wZWQ+XFxyXFxuICAuY2VsbERldGFpbHtcXHJcXG4gICAgd2lkdGg6IDI0JTtcXHJcXG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XFxyXFxuICAgIGhlaWdodDogNTBweDtcXHJcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcclxcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xcclxcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XFxyXFxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzhlN2Q3ZDZiO1xcclxcbiAgfVxcclxcbiAgLmNlbGxEZXRhaWxUaXRsZSB7XFxyXFxuICAgIGNvbG9yOiAjMDAwIWltcG9ydGFudDtcXHJcXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcXHJcXG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjNGE4OWRjO1xcclxcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xcclxcbiAgfVxcclxcbjwvc3R5bGU+XFxyXFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTA0MmZkNDY2XCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9jZWxsQ2hpbGQvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2MTZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///616\n");
4133
4134/***/ }),
4135/* 617 */
4136/***/ (function(module, exports, __webpack_require__) {
4137
4138"use strict";
4139eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = ['属性(子项)', {\n field: 'property.busiId',\n text: '标签',\n type: 'string',\n isShow: 'hide'\n}, {\n field: 'property.prop',\n text: '属性名称',\n type: 'reqSelect',\n isShow: 'hide'\n}, {\n field: 'property.title',\n text: '标题',\n type: 'string'\n}, {\n field: 'property.label',\n text: '类型',\n type: 'cellSelect'\n}, {\n field: 'property.itemProp',\n text: '列名或下拉框',\n type: 'select'\n}, '高级', {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'cellHeightLevel'\n}];\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-cell-child',\n name: 'cell-child 单元格子选项',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2NlbGxDaGlsZC9wcm9wZXJ0eS5qcz9jMTkyIl0sIm5hbWVzIjpbImVkaXRvcnMiLCJmaWVsZCIsInRleHQiLCJ0eXBlIiwiaXNTaG93IiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibmFtZSIsImxldmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7O0FBTUEsSUFBSUEsVUFBUyxDQUNULFFBRFMsRUFFVDtBQUNJQyxXQUFPLGlCQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJQyxVQUFNLFFBSFY7QUFJSUMsWUFBTztBQUpYLENBRlMsRUFRVDtBQUNJSCxXQUFPLGVBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU0sV0FIVjtBQUlJQyxZQUFPO0FBSlgsQ0FSUyxFQWNUO0FBQ0lILFdBQU8sZ0JBRFg7QUFFSUMsVUFBTSxJQUZWO0FBR0lDLFVBQU07QUFIVixDQWRTLEVBbUJUO0FBQ0lGLFdBQU8sZ0JBRFg7QUFFSUMsVUFBTSxJQUZWO0FBR0lDLFVBQU07QUFIVixDQW5CUyxFQXdCVDtBQUNJRixXQUFPLG1CQURYO0FBRUlDLFVBQU0sUUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0F4QlMsRUE2QlQsSUE3QlMsRUE4QlQ7QUFDSUYsV0FBTyxrQkFEWDtBQUVJQyxVQUFNLE1BRlY7QUFHSUMsVUFBTTtBQUhWLENBOUJTLENBQWI7QUEwQ0FFLFFBQVFDLEdBQVIsQ0FBWU4sT0FBWjtBQUNPLElBQU1PLG9DQUFjO0FBQ3ZCQyxTQUFLLGlCQURrQjtBQUV2QkMsVUFBTSxtQkFGaUI7QUFHdkJDLFdBQU0sQ0FIaUI7QUFJdkJWLGFBQVFBO0FBSmUsQ0FBcEIiLCJmaWxlIjoiNjE3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICBOb3RlIOW3peWFt+exu1xyXG4gKi9cclxuaW1wb3J0IHtjb21tb25Ub29sfSBmcm9tIFwiLi4vLi4vY29tbW9uL2NvbW1vblwiXHJcbi8qXHJcbk5vdGUg5a6a5LmJ6Ieq5a6a5LmJ5bGe5oCn77yM5YWs5YWx5bGe5oCn5LuOY29tbW9u5paH5Lu26YeM6K+75Y+WXHJcbmF1dGhvciDlj7bnq6Dmtalcclxu5aaC5p6c5pivbGFiZWwg6L+Z5Liq5omp5bGV5bGe5oCnIOS4jeehruWumu+8jOe7meS4gOS4quaWh+acrOahhuiuqeS7luWhq+WGmWtlee+8jOS4gOS4quaWh+acrOahhuWhq+WGmXZhbHVlXHJcbiAqL1xyXG5sZXQgZWRpdG9ycz0gW1xyXG4gICAgJ+WxnuaApyjlrZDpobkpJyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmJ1c2lJZCcsXHJcbiAgICAgICAgdGV4dDogJ+agh+etvicsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LnByb3AnLFxyXG4gICAgICAgIHRleHQ6ICflsZ7mgKflkI3np7AnLFxyXG4gICAgICAgIHR5cGU6ICdyZXFTZWxlY3QnLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZSdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS50aXRsZScsXHJcbiAgICAgICAgdGV4dDogJ+agh+mimCcsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5sYWJlbCcsXHJcbiAgICAgICAgdGV4dDogJ+exu+WeiycsXHJcbiAgICAgICAgdHlwZTogJ2NlbGxTZWxlY3QnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkuaXRlbVByb3AnLFxyXG4gICAgICAgIHRleHQ6ICfliJflkI3miJbkuIvmi4nmoYYnLFxyXG4gICAgICAgIHR5cGU6ICdzZWxlY3QnXHJcbiAgICB9LFxyXG4gICAgJ+mrmOe6pycsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdkYXRhLmhlaWdodExldmVsJyxcclxuICAgICAgICB0ZXh0OiAn5piv5ZCm5pi+56S6JyxcclxuICAgICAgICB0eXBlOiAnY2VsbEhlaWdodExldmVsJ1xyXG4gICAgfSxcclxuICAgLyogJ+WGheWuueWtkOmhuScsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5pdGVtcycsXHJcbiAgICAgICAgdGV4dDogJycsXHJcbiAgICAgICAgdHlwZTogJ3JhZGlvQXJyJ1xyXG4gICAgfSwqL1xyXG5dO1xyXG5jb25zb2xlLmxvZyhlZGl0b3JzKTtcclxuZXhwb3J0IGNvbnN0IGVkaXRTZXR0aW5nID0ge1xyXG4gICAga2V5OiAnZ2FlYS1jZWxsLWNoaWxkJyxcclxuICAgIG5hbWU6ICdjZWxsLWNoaWxkIOWNleWFg+agvOWtkOmAiemhuScsXHJcbiAgICBsZXZlbDo0LFxyXG4gICAgZWRpdG9yczplZGl0b3JzLFxyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2NlbGxDaGlsZC9wcm9wZXJ0eS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///617\n");
4140
4141/***/ }),
4142/* 618 */
4143/***/ (function(module, __webpack_exports__, __webpack_require__) {
4144
4145"use strict";
4146eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"cellDetail\" }, [\n _c(\n \"span\",\n { staticClass: \"cellDetailTitle\" },\n [\n _c(\"Label\", { style: { marginLeft: \"5px\" } }, [\n _vm._v(_vm._s(_vm.getLabel))\n ])\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-042fd466\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2NlbGxDaGlsZC9pbmRleC52dWU/MjQxZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw0QkFBNEI7QUFDaEQ7QUFDQTtBQUNBLE9BQU8saUNBQWlDO0FBQ3hDO0FBQ0EscUJBQXFCLFNBQVMsb0JBQW9CLEVBQUU7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI2MTguanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwiY2VsbERldGFpbFwiIH0sIFtcbiAgICBfYyhcbiAgICAgIFwic3BhblwiLFxuICAgICAgeyBzdGF0aWNDbGFzczogXCJjZWxsRGV0YWlsVGl0bGVcIiB9LFxuICAgICAgW1xuICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3R5bGU6IHsgbWFyZ2luTGVmdDogXCI1cHhcIiB9IH0sIFtcbiAgICAgICAgICBfdm0uX3YoX3ZtLl9zKF92bS5nZXRMYWJlbCkpXG4gICAgICAgIF0pXG4gICAgICBdLFxuICAgICAgMVxuICAgIClcbiAgXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTA0MmZkNDY2XCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTA0MmZkNDY2XCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9jZWxsQ2hpbGQvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2MThcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///618\n");
4147
4148/***/ }),
4149/* 619 */
4150/***/ (function(module, __webpack_exports__, __webpack_require__) {
4151
4152"use strict";
4153eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(167);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_7aea47e6_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(626);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(620)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-7aea47e6\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_7aea47e6_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/checkbox/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-7aea47e6\", Component.options)\n } else {\n hotAPI.reload(\"data-v-7aea47e6\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2NoZWNrYm94L2luZGV4LnZ1ZT9mNzhiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBcVY7QUFDL1Y7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUF3RjtBQUN6SDtBQUN3STtBQUNhO0FBQ3JKO0FBQ21UO0FBQ25UO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxpUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjYxOS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTdhZWE0N2U2XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTdhZWE0N2U2XFxcIixcXFwiaGFzU2NvcGVkXFxcIjp0cnVlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IFwiZGF0YS12LTdhZWE0N2U2XCJcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvY2hlY2tib3gvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTdhZWE0N2U2XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtN2FlYTQ3ZTZcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2NoZWNrYm94L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjE5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///619\n");
4154
4155/***/ }),
4156/* 620 */
4157/***/ (function(module, exports, __webpack_require__) {
4158
4159eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(621);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"4b0ef423\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7aea47e6\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7aea47e6\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2NoZWNrYm94L2luZGV4LnZ1ZT82ZmRiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQThXO0FBQ3BZLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBaUcsZ0NBQWdDO0FBQ3RKO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLG1NQUFtTSxrRkFBa0Y7QUFDclIsNE1BQTRNLGtGQUFrRjtBQUM5UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjYyMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi03YWVhNDdlNlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCI0YjBlZjQyM1wiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtN2FlYTQ3ZTZcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi03YWVhNDdlNlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTdhZWE0N2U2XCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9jaGVja2JveC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDYyMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///620\n");
4160
4161/***/ }),
4162/* 621 */
4163/***/ (function(module, exports, __webpack_require__) {
4164
4165eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formDiv[data-v-7aea47e6]{\\n display:inline-block;\\n line-height: 60px;\\n text-align: left;\\n}\\n.radioCheckboxStyle[data-v-7aea47e6] {\\n text-align: left;\\n}\\n.formDiv-left[data-v-7aea47e6] {\\n display:inline-block;\\n width: 35%;\\n text-align:right;\\n font-size:15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.formDiv-right[data-v-7aea47e6] {\\n width: 60%;\\n position: relative;\\n display:inline-block;\\n float: right;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/checkbox/myPlugin/page-ide/lib/components/levelThree/checkbox/index.vue\"],\"names\":[],\"mappings\":\";AAsEA;IACA,qBAAA;IACA,kBAAA;IACA,iBAAA;CACA;AACA;IACA,iBAAA;CACA;AACA;IACA,qBAAA;IACA,WAAA;IACA,iBAAA;IACA,eAAA;IACA,YAAA;IACA,eAAA;CACA;AACA;IACA,WAAA;IACA,mBAAA;IACA,qBAAA;IACA,aAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formDiv\\\" @mouseenter=\\\"show\\\" @mouseleave=\\\"hide\\\">\\r\\n <div class=\\\"formDiv-left\\\">\\r\\n <Label :style=\\\"{marginLeft:'5px'}\\\">{{property.label}}</Label>\\r\\n </div>\\r\\n <div class=\\\"formDiv-right radioCheckboxStyle\\\">\\r\\n <Checkbox v-for=\\\"(item,index) in radioArr\\\" :key=\\\"index\\\" :label=\\\"item.value\\\">\\r\\n <span>{{item.label}}</span>\\r\\n </Checkbox>\\r\\n </div>\\r\\n <commomHoverModal ref=\\\"commomHoverModal\\\" ></commomHoverModal>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport {editSetting} from './property';\\r\\nimport commomHoverModal from '../../common/commomHoverModal'\\r\\n\\r\\nexport default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n components:{\\r\\n commomHoverModal\\r\\n },\\r\\n data () {\\r\\n return {\\r\\n property:{\\r\\n label : '多选框',\\r\\n },\\r\\n text: 'input',\\r\\n styles: {height:'40px',width:'70px',margin:'10px'},\\r\\n type: 'input',\\r\\n single: true,\\r\\n level: editSetting.level,\\r\\n radioArr:[]\\r\\n };\\r\\n },\\r\\n computed:{\\r\\n getLabel(){\\r\\n return this.property.label;\\r\\n }\\r\\n },\\r\\n methods:{\\r\\n show(){\\r\\n this.$refs.commomHoverModal.handleMouseEnter();\\r\\n },\\r\\n hide(){\\r\\n this.$refs.commomHoverModal.handleMouseLeave();\\r\\n },\\r\\n initTableArr(){\\r\\n let currentInstance= this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\\r\\n this.radioArr=currentInstance.data.radioArr;\\r\\n }\\r\\n },\\r\\n mounted(){\\r\\n this.initTableArr();\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .formDiv{\\r\\n display:inline-block;\\r\\n line-height: 60px;\\r\\n text-align: left;\\r\\n }\\r\\n .radioCheckboxStyle {\\r\\n text-align: left;\\r\\n }\\r\\n .formDiv-left {\\r\\n display:inline-block;\\r\\n width: 35%;\\r\\n text-align:right;\\r\\n font-size:15px;\\r\\n float: left;\\r\\n margin: 0 10px;\\r\\n }\\r\\n .formDiv-right {\\r\\n width: 60%;\\r\\n position: relative;\\r\\n display:inline-block;\\r\\n float: right;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2NoZWNrYm94L2luZGV4LnZ1ZT8xYjdiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQStFO0FBQ2xIOzs7QUFHQTtBQUNBLGNBQWMsUUFBUywrQkFBK0IsMkJBQTJCLHdCQUF3Qix1QkFBdUIsR0FBRyx3Q0FBd0MsdUJBQXVCLEdBQUcsa0NBQWtDLDJCQUEyQixpQkFBaUIsdUJBQXVCLHFCQUFxQixrQkFBa0IscUJBQXFCLEdBQUcsbUNBQW1DLGlCQUFpQix5QkFBeUIsMkJBQTJCLG1CQUFtQixHQUFHLFVBQVUsK0xBQStMLE1BQU0sV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLFdBQVcsVUFBVSxXQUFXLFVBQVUsVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFdBQVcsV0FBVyxVQUFVLGtNQUFrTSxpQkFBaUIsS0FBSyxnQkFBZ0IsNE1BQTRNLFlBQVksZ0xBQWdMLFlBQVksbUJBQW1CLHdGQUF3RixtQkFBbUIsc0JBQXNCLHlGQUF5RixzRUFBc0UscUJBQXFCLHFDQUFxQyxrQkFBa0Isb0JBQW9CLDBCQUEwQixtREFBbUQsd0RBQXdELHlDQUF5Qyw4SUFBOEksU0FBUyxtQkFBbUIsdUJBQXVCLDJDQUEyQyxhQUFhLFNBQVMsa0JBQWtCLG1CQUFtQiwrREFBK0QsYUFBYSxvQkFBb0IsK0RBQStELGFBQWEsNEJBQTRCLGlJQUFpSSw0REFBNEQsYUFBYSxTQUFTLG1CQUFtQixnQ0FBZ0MsU0FBUyx5RkFBeUYsb0RBQW9ELGlDQUFpQyw4QkFBOEIsNkJBQTZCLFNBQVMsNkJBQTZCLDZCQUE2QixTQUFTLHVCQUF1QixpQ0FBaUMsdUJBQXVCLDZCQUE2QiwyQkFBMkIsd0JBQXdCLDJCQUEyQixTQUFTLHdCQUF3Qix1QkFBdUIsK0JBQStCLGlDQUFpQyx5QkFBeUIsU0FBUyxtQ0FBbUM7O0FBRS84RyIsImZpbGUiOiI2MjEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG4uZm9ybURpdltkYXRhLXYtN2FlYTQ3ZTZde1xcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XFxuICAgIHRleHQtYWxpZ246IGxlZnQ7XFxufVxcbi5yYWRpb0NoZWNrYm94U3R5bGVbZGF0YS12LTdhZWE0N2U2XSB7XFxuICAgIHRleHQtYWxpZ246IGxlZnQ7XFxufVxcbi5mb3JtRGl2LWxlZnRbZGF0YS12LTdhZWE0N2U2XSB7XFxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcbiAgICB3aWR0aDogMzUlO1xcbiAgICB0ZXh0LWFsaWduOnJpZ2h0O1xcbiAgICBmb250LXNpemU6MTVweDtcXG4gICAgZmxvYXQ6IGxlZnQ7XFxuICAgIG1hcmdpbjogMCAxMHB4O1xcbn1cXG4uZm9ybURpdi1yaWdodFtkYXRhLXYtN2FlYTQ3ZTZdIHtcXG4gICAgd2lkdGg6IDYwJTtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXG4gICAgZmxvYXQ6IHJpZ2h0O1xcbn1cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wiRTovcHJvamVjdC9wYWdlLWlkZS14aWFuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvY2hlY2tib3gvbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9jaGVja2JveC9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQXNFQTtJQUNBLHFCQUFBO0lBQ0Esa0JBQUE7SUFDQSxpQkFBQTtDQUNBO0FBQ0E7SUFDQSxpQkFBQTtDQUNBO0FBQ0E7SUFDQSxxQkFBQTtJQUNBLFdBQUE7SUFDQSxpQkFBQTtJQUNBLGVBQUE7SUFDQSxZQUFBO0lBQ0EsZUFBQTtDQUNBO0FBQ0E7SUFDQSxXQUFBO0lBQ0EsbUJBQUE7SUFDQSxxQkFBQTtJQUNBLGFBQUE7Q0FDQVwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjx0ZW1wbGF0ZT5cXHJcXG4gIDxkaXYgY2xhc3M9XFxcImZvcm1EaXZcXFwiIEBtb3VzZWVudGVyPVxcXCJzaG93XFxcIiBAbW91c2VsZWF2ZT1cXFwiaGlkZVxcXCI+XFxyXFxuICAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybURpdi1sZWZ0XFxcIj5cXHJcXG4gICAgICAgICAgPExhYmVsIDpzdHlsZT1cXFwie21hcmdpbkxlZnQ6JzVweCd9XFxcIj57e3Byb3BlcnR5LmxhYmVsfX08L0xhYmVsPlxcclxcbiAgICAgIDwvZGl2PlxcclxcbiAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm1EaXYtcmlnaHQgcmFkaW9DaGVja2JveFN0eWxlXFxcIj5cXHJcXG4gICAgICAgICAgPENoZWNrYm94IHYtZm9yPVxcXCIoaXRlbSxpbmRleCkgaW4gcmFkaW9BcnJcXFwiIDprZXk9XFxcImluZGV4XFxcIiA6bGFiZWw9XFxcIml0ZW0udmFsdWVcXFwiPlxcclxcbiAgICAgICAgICAgICAgPHNwYW4+e3tpdGVtLmxhYmVsfX08L3NwYW4+XFxyXFxuICAgICAgICAgIDwvQ2hlY2tib3g+XFxyXFxuICAgICAgPC9kaXY+XFxyXFxuICAgICAgPGNvbW1vbUhvdmVyTW9kYWwgcmVmPVxcXCJjb21tb21Ib3Zlck1vZGFsXFxcIiA+PC9jb21tb21Ib3Zlck1vZGFsPlxcclxcbiAgPC9kaXY+XFxyXFxuPC90ZW1wbGF0ZT5cXHJcXG5cXHJcXG48c2NyaXB0PlxcclxcbmltcG9ydCB7ZWRpdFNldHRpbmd9IGZyb20gJy4vcHJvcGVydHknO1xcclxcbmltcG9ydCBjb21tb21Ib3Zlck1vZGFsIGZyb20gJy4uLy4uL2NvbW1vbi9jb21tb21Ib3Zlck1vZGFsJ1xcclxcblxcclxcbmV4cG9ydCBkZWZhdWx0IHtcXHJcXG4gICAgLy8gcHJvcHM6IHtcXHJcXG4gICAgLy8gICAgIHRleHQ6IHtcXHJcXG4gICAgLy8gICAgICAgICB0eXBlOiBTdHJpbmcsXFxyXFxuICAgIC8vICAgICAgICAgZGVmYXVsdDogJ0J1dHRvbiBUZXh0J1xcclxcbiAgICAvLyAgICAgfSxcXHJcXG4gICAgLy8gICAgIHR5cGU6IFN0cmluZyxcXHJcXG4gICAgLy8gICAgIHN0eWxlczogT2JqZWN0XFxyXFxuICAgIC8vIH0sXFxyXFxuICAgIGNvbXBvbmVudHM6e1xcclxcbiAgICAgICAgY29tbW9tSG92ZXJNb2RhbFxcclxcbiAgICB9LFxcclxcbiAgICBkYXRhICgpIHtcXHJcXG4gICAgICAgIHJldHVybiB7XFxyXFxuICAgICAgICAgICAgcHJvcGVydHk6e1xcclxcbiAgICAgICAgICAgICAgICBsYWJlbCA6ICflpJrpgInmoYYnLFxcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgdGV4dDogJ2lucHV0JyxcXHJcXG4gICAgICAgICAgICBzdHlsZXM6IHtoZWlnaHQ6JzQwcHgnLHdpZHRoOic3MHB4JyxtYXJnaW46JzEwcHgnfSxcXHJcXG4gICAgICAgICAgICB0eXBlOiAnaW5wdXQnLFxcclxcbiAgICAgICAgICAgIHNpbmdsZTogdHJ1ZSxcXHJcXG4gICAgICAgICAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXFxyXFxuICAgICAgICAgICAgcmFkaW9BcnI6W11cXHJcXG4gICAgICAgIH07XFxyXFxuICAgIH0sXFxyXFxuICAgIGNvbXB1dGVkOntcXHJcXG4gICAgICAgIGdldExhYmVsKCl7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydHkubGFiZWw7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH0sXFxyXFxuICAgIG1ldGhvZHM6e1xcclxcbiAgICAgICAgc2hvdygpe1xcclxcbiAgICAgICAgICAgIHRoaXMuJHJlZnMuY29tbW9tSG92ZXJNb2RhbC5oYW5kbGVNb3VzZUVudGVyKCk7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgaGlkZSgpe1xcclxcbiAgICAgICAgICAgIHRoaXMuJHJlZnMuY29tbW9tSG92ZXJNb2RhbC5oYW5kbGVNb3VzZUxlYXZlKCk7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgaW5pdFRhYmxlQXJyKCl7XFxyXFxuICAgICAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZT0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzLmdldCh0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcXHJcXG4gICAgICAgICAgICB0aGlzLnJhZGlvQXJyPWN1cnJlbnRJbnN0YW5jZS5kYXRhLnJhZGlvQXJyO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9LFxcclxcbiAgICBtb3VudGVkKCl7XFxyXFxuICAgICAgICB0aGlzLmluaXRUYWJsZUFycigpO1xcclxcbiAgICB9LFxcclxcbiAgICBlZGl0U2V0dGluZyxcXHJcXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxcclxcbiAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWxcXHJcXG59O1xcclxcbjwvc2NyaXB0PlxcclxcblxcclxcbjxzdHlsZSBzY29wZWQ+XFxyXFxuICAgIC5mb3JtRGl2e1xcclxcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcXHJcXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XFxyXFxuICAgIH1cXHJcXG4gICAgLnJhZGlvQ2hlY2tib3hTdHlsZSB7XFxyXFxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xcclxcbiAgICB9XFxyXFxuICAgIC5mb3JtRGl2LWxlZnQge1xcclxcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgICAgICB3aWR0aDogMzUlO1xcclxcbiAgICAgICAgdGV4dC1hbGlnbjpyaWdodDtcXHJcXG4gICAgICAgIGZvbnQtc2l6ZToxNXB4O1xcclxcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XFxyXFxuICAgICAgICBtYXJnaW46IDAgMTBweDtcXHJcXG4gICAgfVxcclxcbiAgICAuZm9ybURpdi1yaWdodCB7XFxyXFxuICAgICAgICB3aWR0aDogNjAlO1xcclxcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xcclxcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgICAgICBmbG9hdDogcmlnaHQ7XFxyXFxuICAgIH1cXHJcXG48L3N0eWxlPlxcclxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi03YWVhNDdlNlwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvY2hlY2tib3gvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2MjFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///621\n");
4166
4167/***/ }),
4168/* 622 */
4169/***/ (function(module, exports, __webpack_require__) {
4170
4171"use strict";
4172eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = [{\n field: 'property.title',\n text: '多选框',\n type: 'title'\n}, {\n field: 'property.prop',\n text: '属性名称',\n type: 'reqSelect',\n isShow: 'hide'\n}, {\n field: 'property.label',\n text: '标题',\n maxFont: '20',\n type: 'string'\n}, {\n field: 'property.busiId',\n text: '标题',\n isShow: 'hide',\n type: 'string'\n}, {\n field: 'property.items',\n text: '',\n type: 'radioArr'\n}, {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'validateInput'\n}];\n\nvar editors11 = ['属性(单选框)', {\n field: 'property.busiId',\n text: '标签',\n type: 'string',\n isShow: 'hide'\n}, '扩展属性', '内容子项', {\n field: 'property.itemsProp',\n text: '',\n type: 'select'\n}, '高级', {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'radioHeightLevel'\n}];\n_common.commonTool.assembleData(editors);\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-checkboxMultiple',\n name: '多选框',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2NoZWNrYm94L3Byb3BlcnR5LmpzP2VhNWIiXSwibmFtZXMiOlsiZWRpdG9ycyIsImZpZWxkIiwidGV4dCIsInR5cGUiLCJpc1Nob3ciLCJtYXhGb250IiwiZWRpdG9yczExIiwiY29tbW9uVG9vbCIsImFzc2VtYmxlRGF0YSIsImNvbnNvbGUiLCJsb2ciLCJlZGl0U2V0dGluZyIsImtleSIsIm5hbWUiLCJsZXZlbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBOztBQUtBLElBQUlBLFVBQVMsQ0FDVDtBQUNJQyxXQUFPLGdCQURYO0FBRUlDLFVBQU0sS0FGVjtBQUdJQyxVQUFNO0FBSFYsQ0FEUyxFQU1UO0FBQ0lGLFdBQU8sZUFEWDtBQUVJQyxVQUFNLE1BRlY7QUFHSUMsVUFBTSxXQUhWO0FBSUlDLFlBQU87QUFKWCxDQU5TLEVBWVQ7QUFDSUgsV0FBTyxnQkFEWDtBQUVJQyxVQUFNLElBRlY7QUFHSUcsYUFBUSxJQUhaO0FBSUlGLFVBQU07QUFKVixDQVpTLEVBa0JUO0FBQ0lGLFdBQU8saUJBRFg7QUFFSUMsVUFBTSxJQUZWO0FBR0lFLFlBQU8sTUFIWDtBQUlJRCxVQUFNO0FBSlYsQ0FsQlMsRUErQlQ7QUFDSUYsV0FBTyxnQkFEWDtBQUVJQyxVQUFNLEVBRlY7QUFHSUMsVUFBTTtBQUhWLENBL0JTLEVBb0NUO0FBQ0lGLFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU07QUFIVixDQXBDUyxDQUFiOztBQTJDQSxJQUFJRyxZQUFXLENBQ1gsU0FEVyxFQUVYO0FBQ0lMLFdBQU8saUJBRFg7QUFFSUMsVUFBTSxJQUZWO0FBR0lDLFVBQU0sUUFIVjtBQUlJQyxZQUFPO0FBSlgsQ0FGVyxFQVFYLE1BUlcsRUFZWCxNQVpXLEVBa0JYO0FBQ0lILFdBQU8sb0JBRFg7QUFFSUMsVUFBTSxFQUZWO0FBR0lDLFVBQU07QUFIVixDQWxCVyxFQXVCWCxJQXZCVyxFQXdCWDtBQUNJRixXQUFPLGtCQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0F4QlcsQ0FBZjtBQThCQUksbUJBQVdDLFlBQVgsQ0FBd0JSLE9BQXhCO0FBQ0FTLFFBQVFDLEdBQVIsQ0FBWVYsT0FBWjtBQUNPLElBQU1XLG9DQUFjO0FBQ3ZCQyxTQUFLLHVCQURrQjtBQUV2QkMsVUFBTSxLQUZpQjtBQUd2QkMsV0FBTSxDQUhpQjtBQUl2QmQsYUFBUUE7QUFKZSxDQUFwQiIsImZpbGUiOiI2MjIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gIE5vdGUg5bel5YW357G7XHJcbiAqL1xyXG5pbXBvcnQge2NvbW1vblRvb2x9IGZyb20gXCIuLi8uLi9jb21tb24vY29tbW9uXCJcclxuLypcclxuTm90ZSDlrprkuYnoh6rlrprkuYnlsZ7mgKfvvIzlhazlhbHlsZ7mgKfku45jb21tb27mlofku7bph4zor7vlj5ZcclxuYXV0aG9yIOWPtueroOa1qVxyXG4gKi9cclxubGV0IGVkaXRvcnM9IFtcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LnRpdGxlJyxcclxuICAgICAgICB0ZXh0OiAn5aSa6YCJ5qGGJyxcclxuICAgICAgICB0eXBlOiAndGl0bGUnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkucHJvcCcsXHJcbiAgICAgICAgdGV4dDogJ+WxnuaAp+WQjeensCcsXHJcbiAgICAgICAgdHlwZTogJ3JlcVNlbGVjdCcsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5sYWJlbCcsXHJcbiAgICAgICAgdGV4dDogJ+agh+mimCcsXHJcbiAgICAgICAgbWF4Rm9udDonMjAnLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkuYnVzaUlkJyxcclxuICAgICAgICB0ZXh0OiAn5qCH6aKYJyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnXHJcbiAgICB9LFxyXG4gIC8qICB7XHJcbiAgICAgICAgZmllbGQ6ICdleHRlbmQuaXRlbVdpZHRoJyxcclxuICAgICAgICB0ZXh0OiAnaXRlbVdpZHRoJyxcclxuICAgICAgICB0eXBlOiAnbnVtYmVyJyxcclxuICAgICAgICB2YWx1ZTogMzIwLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZSdcclxuICAgIH0sKi9cclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5Lml0ZW1zJyxcclxuICAgICAgICB0ZXh0OiAnJyxcclxuICAgICAgICB0eXBlOiAncmFkaW9BcnInXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZGF0YS5oZWlnaHRMZXZlbCcsXHJcbiAgICAgICAgdGV4dDogJ+aYr+WQpuaYvuekuicsXHJcbiAgICAgICAgdHlwZTogJ3ZhbGlkYXRlSW5wdXQnXHJcbiAgICB9XHJcbiAgICBdO1xyXG5cclxubGV0IGVkaXRvcnMxMT0gW1xyXG4gICAgJ+WxnuaApyjljZXpgInmoYYpJyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmJ1c2lJZCcsXHJcbiAgICAgICAgdGV4dDogJ+agh+etvicsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJ1xyXG4gICAgfSxcclxuICAgICfmianlsZXlsZ7mgKcnLFxyXG5cclxuICAgLyogJ+agoemqjOinhOWImScsXHJcbiAgICAn5omp5bGV5qCh6aqMJywqL1xyXG4gICAgJ+WGheWuueWtkOmhuScsXHJcbiAgIC8qIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5Lml0ZW1zJyxcclxuICAgICAgICB0ZXh0OiAnJyxcclxuICAgICAgICB0eXBlOiAncmFkaW9BcnInXHJcbiAgICB9LCovXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5pdGVtc1Byb3AnLFxyXG4gICAgICAgIHRleHQ6ICcnLFxyXG4gICAgICAgIHR5cGU6ICdzZWxlY3QnXHJcbiAgICB9LFxyXG4gICAgJ+mrmOe6pycsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdkYXRhLmhlaWdodExldmVsJyxcclxuICAgICAgICB0ZXh0OiAn5piv5ZCm5pi+56S6JyxcclxuICAgICAgICB0eXBlOiAncmFkaW9IZWlnaHRMZXZlbCdcclxuICAgIH0sXHJcbl07XHJcbmNvbW1vblRvb2wuYXNzZW1ibGVEYXRhKGVkaXRvcnMpO1xyXG5jb25zb2xlLmxvZyhlZGl0b3JzKTtcclxuZXhwb3J0IGNvbnN0IGVkaXRTZXR0aW5nID0ge1xyXG4gICAga2V5OiAnZ2FlYS1jaGVja2JveE11bHRpcGxlJyxcclxuICAgIG5hbWU6ICflpJrpgInmoYYnLFxyXG4gICAgbGV2ZWw6NCxcclxuICAgIGVkaXRvcnM6ZWRpdG9ycyxcclxufTtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9jaGVja2JveC9wcm9wZXJ0eS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///622\n");
4173
4174/***/ }),
4175/* 623 */
4176/***/ (function(module, exports, __webpack_require__) {
4177
4178eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(624);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"6862b241\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4aa83ed1\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./commomHoverModal.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4aa83ed1\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./commomHoverModal.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9jb21tb24vY29tbW9tSG92ZXJNb2RhbC52dWU/NGM0YyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUFnWDtBQUN0WSw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQThGLGdDQUFnQztBQUNuSjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw2TEFBNkwsa0ZBQWtGO0FBQy9RLHNNQUFzTSxrRkFBa0Y7QUFDeFI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI2MjMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNGFhODNlZDFcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2NvbW1vbUhvdmVyTW9kYWwudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCI2ODYyYjI0MVwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNGFhODNlZDFcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2NvbW1vbUhvdmVyTW9kYWwudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTRhYTgzZWQxXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9jb21tb21Ib3Zlck1vZGFsLnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi00YWE4M2VkMVwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2NvbW1vbi9jb21tb21Ib3Zlck1vZGFsLnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjIzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///623\n");
4179
4180/***/ }),
4181/* 624 */
4182/***/ (function(module, exports, __webpack_require__) {
4183
4184eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.hoverBorder[data-v-4aa83ed1]{\\n border:1px solid red;\\n}\\n.borderClass[data-v-4aa83ed1]{\\n position: absolute;\\n top:0px;\\n left:0px;\\n width: 100%;\\n bottom:0;\\n}\\n.noclass[data-v-4aa83ed1]{\\n}\\n.hoverBorder[data-v-4aa83ed1]{\\n border:1px solid red;\\n}\\n.hideIcon[data-v-4aa83ed1]{\\n height: 0px;\\n}\\n.deleteIcon[data-v-4aa83ed1]{\\n position: absolute;\\n top:0px;\\n height:30px ;\\n right: 0px;\\n display: block;\\n color: red;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/common/myPlugin/page-ide/lib/components/common/commomHoverModal.vue\"],\"names\":[],\"mappings\":\";AAiGA;KACA,qBAAA;CACA;AACA;IACA,mBAAA;IACA,QAAA;IACA,SAAA;IACA,YAAA;IACA,SAAA;CACA;AACA;CAEA;AACA;KACA,qBAAA;CACA;AACA;KACA,YAAA;CACA;AACA;KACA,mBAAA;KACA,QAAA;KACA,aAAA;KACA,WAAA;KACA,eAAA;KACA,WAAA;CACA\",\"file\":\"commomHoverModal.vue\",\"sourcesContent\":[\"<template>\\r\\n <div>\\r\\n <div class=\\\"borderClass\\\" :class=\\\"isActive?hoverBorder:noclass\\\" >\\r\\n\\r\\n </div>\\r\\n <div >\\r\\n <template v-if=\\\"isActive==true\\\">\\r\\n <div :class=\\\"isActive?deleteIcon:hideIcon\\\" @click=\\\"deleteInstance()\\\">\\r\\n <span class=\\\"iconfont icon-reca-shanchu \\\" @click=\\\"deleteInstance()\\\"></span>\\r\\n </div>\\r\\n </template>\\r\\n </div>\\r\\n <Modal v-model=\\\"modal2\\\" width=\\\"360\\\">\\r\\n <p slot=\\\"header\\\" style=\\\"color:#f60;text-align:center\\\">\\r\\n <Icon type=\\\"ios-information-circle\\\"></Icon>\\r\\n <span>删除确认</span>\\r\\n </p>\\r\\n <div style=\\\"text-align:center\\\">\\r\\n <p>是否删除刚拖动进来的组件?</p>\\r\\n </div>\\r\\n <div slot=\\\"footer\\\">\\r\\n <Button type=\\\"default\\\" @click=\\\"cancle\\\">取消</Button>\\r\\n <Button type=\\\"error\\\" @click=\\\"del\\\">确定</Button>\\r\\n </div>\\r\\n </Modal>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\n /**\\r\\n *@author 叶章浩\\r\\n *@date 2019/10/14 18:38\\r\\n *@Copyright 天源迪科信息技术股份有限公司\\r\\n *@Description\\r\\n */\\r\\n\\r\\n export default {\\r\\n name: \\\"commomHoverModal\\\",\\r\\n data () {\\r\\n return {\\r\\n hoverBorder:'hoverBorder',\\r\\n noclass:'noclass',\\r\\n modal2:false,\\r\\n isActive:false,\\r\\n deleteIcon:'deleteIcon',\\r\\n hideIcon:'hideIcon',\\r\\n property:{\\r\\n label : '标签',\\r\\n },\\r\\n text: 'label',\\r\\n styles: {\\r\\n display:'inline-block',\\r\\n width:'40%',\\r\\n height:'60px',\\r\\n lineHeight:'60px',\\r\\n textAlign:'right',\\r\\n fontSize:'15px'\\r\\n },\\r\\n type: 'label'\\r\\n };\\r\\n },\\r\\n methods:{\\r\\n deleteInstance(){\\r\\n\\r\\n this.modal2 = true;\\r\\n },\\r\\n del () {\\r\\n this.$store.commit('viewport/deleteData', this.$store.state.viewport.currentEditInstanceKey);\\r\\n this.modal2 = false;\\r\\n },\\r\\n cancle(){\\r\\n this.modal2 = false;\\r\\n },\\r\\n handleMouseEnter(){\\r\\n let currentInstance= this.$store.state.viewport.currentHoverInstanceKey;\\r\\n if(this.$store.state.viewport.isView){\\r\\n return;\\r\\n }\\r\\n console.log(\\\"currentHoverInstanceKey--->\\\"+currentInstance);\\r\\n console.log(configPageIde.instances);\\r\\n let isContain = configPageIde.instances.indexOf(currentInstance); // 2\\r\\n if(isContain==-1){\\r\\n //note 说明是后拖进来的\\r\\n this.isActive=true;\\r\\n }\\r\\n },\\r\\n handleMouseLeave(){\\r\\n this.isActive=false;\\r\\n }\\r\\n },\\r\\n created(){\\r\\n\\r\\n }\\r\\n }\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .hoverBorder{\\r\\n border:1px solid red;\\r\\n }\\r\\n .borderClass{\\r\\n position: absolute;\\r\\n top:0px;\\r\\n left:0px;\\r\\n width: 100%;\\r\\n bottom:0;\\r\\n }\\r\\n .noclass{\\r\\n\\r\\n }\\r\\n .hoverBorder{\\r\\n border:1px solid red;\\r\\n }\\r\\n .hideIcon{\\r\\n height: 0px;\\r\\n }\\r\\n .deleteIcon{\\r\\n position: absolute;\\r\\n top:0px;\\r\\n height:30px ;\\r\\n right: 0px;\\r\\n display: block;\\r\\n color: red;\\r\\n }\\r\\n</style>\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9jb21tb24vY29tbW9tSG92ZXJNb2RhbC52dWU/N2Y3MyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUE0RTtBQUMvRzs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsbUNBQW1DLDRCQUE0QixHQUFHLGdDQUFnQyx5QkFBeUIsY0FBYyxlQUFlLGtCQUFrQixlQUFlLEdBQUcsNEJBQTRCLEdBQUcsZ0NBQWdDLDRCQUE0QixHQUFHLDZCQUE2QixtQkFBbUIsR0FBRywrQkFBK0IsMEJBQTBCLGVBQWUsb0JBQW9CLGtCQUFrQixzQkFBc0Isa0JBQWtCLEdBQUcsVUFBVSxnTEFBZ0wsTUFBTSxXQUFXLEtBQUssS0FBSyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsS0FBSyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxVQUFVLEtBQUssS0FBSyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxrbkJBQWtuQiw0ckJBQTRyQiw0REFBNEQsd0JBQXdCLDBRQUEwUSwwREFBMEQsZ0VBQWdFLHlRQUF5USxvREFBb0QsYUFBYSxzQkFBc0IsaUNBQWlDLDJDQUEyQyxpQkFBaUIseUJBQXlCLGtIQUFrSCx3Q0FBd0MsaUJBQWlCLDBCQUEwQix3Q0FBd0MsaUJBQWlCLG9DQUFvQyw0RkFBNEYsMERBQTBELCtCQUErQixxQkFBcUIsaUZBQWlGLHlEQUF5RCxxRkFBcUYsMkNBQTJDLGtGQUFrRixxQkFBcUIsaUJBQWlCLG9DQUFvQyx3Q0FBd0MsaUJBQWlCLGFBQWEsdUJBQXVCLGlCQUFpQixTQUFTLHdEQUF3RCxpQ0FBaUMsU0FBUyxvQkFBb0IsOEJBQThCLG1CQUFtQixvQkFBb0IsdUJBQXVCLG9CQUFvQixRQUFRLGlCQUFpQixhQUFhLHFCQUFxQixpQ0FBaUMsU0FBUyxrQkFBa0Isd0JBQXdCLFNBQVMsb0JBQW9CLCtCQUErQixvQkFBb0IseUJBQXlCLHVCQUF1QiwyQkFBMkIsdUJBQXVCLFNBQVMsK0JBQStCOztBQUVuckoiLCJmaWxlIjoiNjI0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLmhvdmVyQm9yZGVyW2RhdGEtdi00YWE4M2VkMV17XFxuICAgICBib3JkZXI6MXB4IHNvbGlkIHJlZDtcXG59XFxuLmJvcmRlckNsYXNzW2RhdGEtdi00YWE4M2VkMV17XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOjBweDtcXG4gICAgbGVmdDowcHg7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBib3R0b206MDtcXG59XFxuLm5vY2xhc3NbZGF0YS12LTRhYTgzZWQxXXtcXG59XFxuLmhvdmVyQm9yZGVyW2RhdGEtdi00YWE4M2VkMV17XFxuICAgICBib3JkZXI6MXB4IHNvbGlkIHJlZDtcXG59XFxuLmhpZGVJY29uW2RhdGEtdi00YWE4M2VkMV17XFxuICAgICBoZWlnaHQ6IDBweDtcXG59XFxuLmRlbGV0ZUljb25bZGF0YS12LTRhYTgzZWQxXXtcXG4gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgIHRvcDowcHg7XFxuICAgICBoZWlnaHQ6MzBweCA7XFxuICAgICByaWdodDogMHB4O1xcbiAgICAgZGlzcGxheTogYmxvY2s7XFxuICAgICBjb2xvcjogcmVkO1xcbn1cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wiRTovcHJvamVjdC9wYWdlLWlkZS14aWFuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2NvbW1vbi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9jb21tb24vY29tbW9tSG92ZXJNb2RhbC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQWlHQTtLQUNBLHFCQUFBO0NBQ0E7QUFDQTtJQUNBLG1CQUFBO0lBQ0EsUUFBQTtJQUNBLFNBQUE7SUFDQSxZQUFBO0lBQ0EsU0FBQTtDQUNBO0FBQ0E7Q0FFQTtBQUNBO0tBQ0EscUJBQUE7Q0FDQTtBQUNBO0tBQ0EsWUFBQTtDQUNBO0FBQ0E7S0FDQSxtQkFBQTtLQUNBLFFBQUE7S0FDQSxhQUFBO0tBQ0EsV0FBQTtLQUNBLGVBQUE7S0FDQSxXQUFBO0NBQ0FcIixcImZpbGVcIjpcImNvbW1vbUhvdmVyTW9kYWwudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjx0ZW1wbGF0ZT5cXHJcXG4gICAgPGRpdj5cXHJcXG4gICAgICAgIDxkaXYgICBjbGFzcz1cXFwiYm9yZGVyQ2xhc3NcXFwiICA6Y2xhc3M9XFxcImlzQWN0aXZlP2hvdmVyQm9yZGVyOm5vY2xhc3NcXFwiID5cXHJcXG5cXHJcXG4gICAgICAgIDwvZGl2PlxcclxcbiAgICAgICAgPGRpdiA+XFxyXFxuICAgICAgICAgICAgPHRlbXBsYXRlIHYtaWY9XFxcImlzQWN0aXZlPT10cnVlXFxcIj5cXHJcXG4gICAgICAgICAgICAgICAgPGRpdiAgIDpjbGFzcz1cXFwiaXNBY3RpdmU/ZGVsZXRlSWNvbjpoaWRlSWNvblxcXCIgQGNsaWNrPVxcXCJkZWxldGVJbnN0YW5jZSgpXFxcIj5cXHJcXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJpY29uZm9udCBpY29uLXJlY2Etc2hhbmNodSBcXFwiIEBjbGljaz1cXFwiZGVsZXRlSW5zdGFuY2UoKVxcXCI+PC9zcGFuPlxcclxcbiAgICAgICAgICAgICAgICA8L2Rpdj5cXHJcXG4gICAgICAgICAgICA8L3RlbXBsYXRlPlxcclxcbiAgICAgICAgPC9kaXY+XFxyXFxuICAgICAgICA8TW9kYWwgdi1tb2RlbD1cXFwibW9kYWwyXFxcIiB3aWR0aD1cXFwiMzYwXFxcIj5cXHJcXG4gICAgICAgICAgICA8cCBzbG90PVxcXCJoZWFkZXJcXFwiIHN0eWxlPVxcXCJjb2xvcjojZjYwO3RleHQtYWxpZ246Y2VudGVyXFxcIj5cXHJcXG4gICAgICAgICAgICAgICAgPEljb24gdHlwZT1cXFwiaW9zLWluZm9ybWF0aW9uLWNpcmNsZVxcXCI+PC9JY29uPlxcclxcbiAgICAgICAgICAgICAgICA8c3Bhbj7liKDpmaTnoa7orqQ8L3NwYW4+XFxyXFxuICAgICAgICAgICAgPC9wPlxcclxcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XFxcInRleHQtYWxpZ246Y2VudGVyXFxcIj5cXHJcXG4gICAgICAgICAgICAgICAgPHA+5piv5ZCm5Yig6Zmk5Yia5ouW5Yqo6L+b5p2l55qE57uE5Lu277yfPC9wPlxcclxcbiAgICAgICAgICAgIDwvZGl2PlxcclxcbiAgICAgICAgICAgIDxkaXYgc2xvdD1cXFwiZm9vdGVyXFxcIj5cXHJcXG4gICAgICAgICAgICAgICAgPEJ1dHRvbiB0eXBlPVxcXCJkZWZhdWx0XFxcIiAgIEBjbGljaz1cXFwiY2FuY2xlXFxcIj7lj5bmtog8L0J1dHRvbj5cXHJcXG4gICAgICAgICAgICAgICAgPEJ1dHRvbiB0eXBlPVxcXCJlcnJvclxcXCIgIEBjbGljaz1cXFwiZGVsXFxcIj7noa7lrpo8L0J1dHRvbj5cXHJcXG4gICAgICAgICAgICA8L2Rpdj5cXHJcXG4gICAgICAgIDwvTW9kYWw+XFxyXFxuICAgIDwvZGl2PlxcclxcbjwvdGVtcGxhdGU+XFxyXFxuXFxyXFxuPHNjcmlwdD5cXHJcXG4gICAgLyoqXFxyXFxuICAgICAqQGF1dGhvciAgICAgICDlj7bnq6DmtalcXHJcXG4gICAgICpAZGF0ZSAgICAgICAgIDIwMTkvMTAvMTQgMTg6MzhcXHJcXG4gICAgICpAQ29weXJpZ2h0ICAgIOWkqea6kOi/quenkeS/oeaBr+aKgOacr+iCoeS7veaciemZkOWFrOWPuFxcclxcbiAgICAgKkBEZXNjcmlwdGlvblxcclxcbiAgICAgKi9cXHJcXG5cXHJcXG4gICAgZXhwb3J0IGRlZmF1bHQge1xcclxcbiAgICAgICAgbmFtZTogXFxcImNvbW1vbUhvdmVyTW9kYWxcXFwiLFxcclxcbiAgICAgICAgZGF0YSAoKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIHtcXHJcXG4gICAgICAgICAgICAgICAgaG92ZXJCb3JkZXI6J2hvdmVyQm9yZGVyJyxcXHJcXG4gICAgICAgICAgICAgICAgbm9jbGFzczonbm9jbGFzcycsXFxyXFxuICAgICAgICAgICAgICAgIG1vZGFsMjpmYWxzZSxcXHJcXG4gICAgICAgICAgICAgICAgaXNBY3RpdmU6ZmFsc2UsXFxyXFxuICAgICAgICAgICAgICAgIGRlbGV0ZUljb246J2RlbGV0ZUljb24nLFxcclxcbiAgICAgICAgICAgICAgICBoaWRlSWNvbjonaGlkZUljb24nLFxcclxcbiAgICAgICAgICAgICAgICBwcm9wZXJ0eTp7XFxyXFxuICAgICAgICAgICAgICAgICAgICBsYWJlbCA6ICfmoIfnrb4nLFxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICB0ZXh0OiAnbGFiZWwnLFxcclxcbiAgICAgICAgICAgICAgICBzdHlsZXM6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6J2lubGluZS1ibG9jaycsXFxyXFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDonNDAlJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDonNjBweCcsXFxyXFxuICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0Oic2MHB4JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjoncmlnaHQnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6JzE1cHgnXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIHR5cGU6ICdsYWJlbCdcXHJcXG4gICAgICAgICAgICB9O1xcclxcbiAgICAgICAgfSxcXHJcXG4gICAgICAgIG1ldGhvZHM6e1xcclxcbiAgICAgICAgICAgIGRlbGV0ZUluc3RhbmNlKCl7XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMubW9kYWwyID0gdHJ1ZTtcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIGRlbCAoKSB7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgndmlld3BvcnQvZGVsZXRlRGF0YScsICB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5tb2RhbDIgPSBmYWxzZTtcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIGNhbmNsZSgpe1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGFsMiA9IGZhbHNlO1xcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgaGFuZGxlTW91c2VFbnRlcigpe1xcclxcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50SG92ZXJJbnN0YW5jZUtleTtcXHJcXG4gICAgICAgICAgICAgICAgaWYodGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaXNWaWV3KXtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcXFwiY3VycmVudEhvdmVySW5zdGFuY2VLZXktLS0+XFxcIitjdXJyZW50SW5zdGFuY2UpO1xcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhjb25maWdQYWdlSWRlLmluc3RhbmNlcyk7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBpc0NvbnRhaW4gPSBjb25maWdQYWdlSWRlLmluc3RhbmNlcy5pbmRleE9mKGN1cnJlbnRJbnN0YW5jZSk7IC8vIDJcXHJcXG4gICAgICAgICAgICAgICAgaWYoaXNDb250YWluPT0tMSl7XFxyXFxuICAgICAgICAgICAgICAgICAgICAvL25vdGUg6K+05piO5piv5ZCO5ouW6L+b5p2l55qEXFxyXFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQWN0aXZlPXRydWU7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIGhhbmRsZU1vdXNlTGVhdmUoKXtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5pc0FjdGl2ZT1mYWxzZTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgY3JlYXRlZCgpe1xcclxcblxcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuPC9zY3JpcHQ+XFxyXFxuXFxyXFxuPHN0eWxlIHNjb3BlZD5cXHJcXG4gICAgLmhvdmVyQm9yZGVye1xcclxcbiAgICAgICAgYm9yZGVyOjFweCBzb2xpZCByZWQ7XFxyXFxuICAgIH1cXHJcXG4gICAuYm9yZGVyQ2xhc3N7XFxyXFxuICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXHJcXG4gICAgICAgdG9wOjBweDtcXHJcXG4gICAgICAgbGVmdDowcHg7XFxyXFxuICAgICAgIHdpZHRoOiAxMDAlO1xcclxcbiAgICAgICBib3R0b206MDtcXHJcXG4gICB9XFxyXFxuICAgIC5ub2NsYXNze1xcclxcblxcclxcbiAgICB9XFxyXFxuICAgIC5ob3ZlckJvcmRlcntcXHJcXG4gICAgICAgIGJvcmRlcjoxcHggc29saWQgcmVkO1xcclxcbiAgICB9XFxyXFxuICAgIC5oaWRlSWNvbntcXHJcXG4gICAgICAgIGhlaWdodDogMHB4O1xcclxcbiAgICB9XFxyXFxuICAgIC5kZWxldGVJY29ue1xcclxcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xcclxcbiAgICAgICAgdG9wOjBweDtcXHJcXG4gICAgICAgIGhlaWdodDozMHB4IDtcXHJcXG4gICAgICAgIHJpZ2h0OiAwcHg7XFxyXFxuICAgICAgICBkaXNwbGF5OiBibG9jaztcXHJcXG4gICAgICAgIGNvbG9yOiByZWQ7XFxyXFxuICAgIH1cXHJcXG48L3N0eWxlPlwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi00YWE4M2VkMVwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2NvbW1vbi9jb21tb21Ib3Zlck1vZGFsLnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjI0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///624\n");
4185
4186/***/ }),
4187/* 625 */
4188/***/ (function(module, __webpack_exports__, __webpack_require__) {
4189
4190"use strict";
4191eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\"div\", {\n staticClass: \"borderClass\",\n class: _vm.isActive ? _vm.hoverBorder : _vm.noclass\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n [\n _vm.isActive == true\n ? [\n _c(\n \"div\",\n {\n class: _vm.isActive ? _vm.deleteIcon : _vm.hideIcon,\n on: {\n click: function($event) {\n return _vm.deleteInstance()\n }\n }\n },\n [\n _c(\"span\", {\n staticClass: \"iconfont icon-reca-shanchu \",\n on: {\n click: function($event) {\n return _vm.deleteInstance()\n }\n }\n })\n ]\n )\n ]\n : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"Modal\",\n {\n attrs: { width: \"360\" },\n model: {\n value: _vm.modal2,\n callback: function($$v) {\n _vm.modal2 = $$v\n },\n expression: \"modal2\"\n }\n },\n [\n _c(\n \"p\",\n {\n staticStyle: { color: \"#f60\", \"text-align\": \"center\" },\n attrs: { slot: \"header\" },\n slot: \"header\"\n },\n [\n _c(\"Icon\", { attrs: { type: \"ios-information-circle\" } }),\n _vm._v(\" \"),\n _c(\"span\", [_vm._v(\"删除确认\")])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { \"text-align\": \"center\" } }, [\n _c(\"p\", [_vm._v(\"是否删除刚拖动进来的组件?\")])\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { attrs: { slot: \"footer\" }, slot: \"footer\" },\n [\n _c(\n \"Button\",\n { attrs: { type: \"default\" }, on: { click: _vm.cancle } },\n [_vm._v(\"取消\")]\n ),\n _vm._v(\" \"),\n _c(\n \"Button\",\n { attrs: { type: \"error\" }, on: { click: _vm.del } },\n [_vm._v(\"确定\")]\n )\n ],\n 1\n )\n ]\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-4aa83ed1\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9jb21tb24vY29tbW9tSG92ZXJNb2RhbC52dWU/OWM2NyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLGVBQWU7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0Qix3Q0FBd0M7QUFDcEUsc0JBQXNCLGlCQUFpQjtBQUN2QztBQUNBLGFBQWE7QUFDYjtBQUNBLDBCQUEwQixTQUFTLGlDQUFpQyxFQUFFO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixlQUFlLHlCQUF5QixFQUFFO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFNBQVMsaUJBQWlCLGtCQUFrQjtBQUN6RDtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsU0FBUyxrQkFBa0IsT0FBTyxvQkFBb0IsRUFBRTtBQUN6RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLFNBQVMsZ0JBQWdCLE9BQU8saUJBQWlCLEVBQUU7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjYyNS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICBbXG4gICAgICBfYyhcImRpdlwiLCB7XG4gICAgICAgIHN0YXRpY0NsYXNzOiBcImJvcmRlckNsYXNzXCIsXG4gICAgICAgIGNsYXNzOiBfdm0uaXNBY3RpdmUgPyBfdm0uaG92ZXJCb3JkZXIgOiBfdm0ubm9jbGFzc1xuICAgICAgfSksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXG4gICAgICAgIFwiZGl2XCIsXG4gICAgICAgIFtcbiAgICAgICAgICBfdm0uaXNBY3RpdmUgPT0gdHJ1ZVxuICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjbGFzczogX3ZtLmlzQWN0aXZlID8gX3ZtLmRlbGV0ZUljb24gOiBfdm0uaGlkZUljb24sXG4gICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5kZWxldGVJbnN0YW5jZSgpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwge1xuICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImljb25mb250IGljb24tcmVjYS1zaGFuY2h1IFwiLFxuICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uZGVsZXRlSW5zdGFuY2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIDogX3ZtLl9lKClcbiAgICAgICAgXSxcbiAgICAgICAgMlxuICAgICAgKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfYyhcbiAgICAgICAgXCJNb2RhbFwiLFxuICAgICAgICB7XG4gICAgICAgICAgYXR0cnM6IHsgd2lkdGg6IFwiMzYwXCIgfSxcbiAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgdmFsdWU6IF92bS5tb2RhbDIsXG4gICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgIF92bS5tb2RhbDIgPSAkJHZcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBleHByZXNzaW9uOiBcIm1vZGFsMlwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcInBcIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgc3RhdGljU3R5bGU6IHsgY29sb3I6IFwiI2Y2MFwiLCBcInRleHQtYWxpZ25cIjogXCJjZW50ZXJcIiB9LFxuICAgICAgICAgICAgICBhdHRyczogeyBzbG90OiBcImhlYWRlclwiIH0sXG4gICAgICAgICAgICAgIHNsb3Q6IFwiaGVhZGVyXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgIF9jKFwiSWNvblwiLCB7IGF0dHJzOiB7IHR5cGU6IFwiaW9zLWluZm9ybWF0aW9uLWNpcmNsZVwiIH0gfSksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFwic3BhblwiLCBbX3ZtLl92KFwi5Yig6Zmk56Gu6K6kXCIpXSlcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKSxcbiAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljU3R5bGU6IHsgXCJ0ZXh0LWFsaWduXCI6IFwiY2VudGVyXCIgfSB9LCBbXG4gICAgICAgICAgICBfYyhcInBcIiwgW192bS5fdihcIuaYr+WQpuWIoOmZpOWImuaLluWKqOi/m+adpeeahOe7hOS7tu+8n1wiKV0pXG4gICAgICAgICAgXSksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICB7IGF0dHJzOiB7IHNsb3Q6IFwiZm9vdGVyXCIgfSwgc2xvdDogXCJmb290ZXJcIiB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICBcIkJ1dHRvblwiLFxuICAgICAgICAgICAgICAgIHsgYXR0cnM6IHsgdHlwZTogXCJkZWZhdWx0XCIgfSwgb246IHsgY2xpY2s6IF92bS5jYW5jbGUgfSB9LFxuICAgICAgICAgICAgICAgIFtfdm0uX3YoXCLlj5bmtohcIildXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgIFwiQnV0dG9uXCIsXG4gICAgICAgICAgICAgICAgeyBhdHRyczogeyB0eXBlOiBcImVycm9yXCIgfSwgb246IHsgY2xpY2s6IF92bS5kZWwgfSB9LFxuICAgICAgICAgICAgICAgIFtfdm0uX3YoXCLnoa7lrppcIildXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKVxuICAgICAgICBdXG4gICAgICApXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTRhYTgzZWQxXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTRhYTgzZWQxXCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvY29tbW9uL2NvbW1vbUhvdmVyTW9kYWwudnVlXG4vLyBtb2R1bGUgaWQgPSA2MjVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///625\n");
4192
4193/***/ }),
4194/* 626 */
4195/***/ (function(module, __webpack_exports__, __webpack_require__) {
4196
4197"use strict";
4198eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"formDiv\",\n on: { mouseenter: _vm.show, mouseleave: _vm.hide }\n },\n [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [\n _c(\"Label\", { style: { marginLeft: \"5px\" } }, [\n _vm._v(_vm._s(_vm.property.label))\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"formDiv-right radioCheckboxStyle\" },\n _vm._l(_vm.radioArr, function(item, index) {\n return _c(\"Checkbox\", { key: index, attrs: { label: item.value } }, [\n _c(\"span\", [_vm._v(_vm._s(item.label))])\n ])\n }),\n 1\n ),\n _vm._v(\" \"),\n _c(\"commomHoverModal\", { ref: \"commomHoverModal\" })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-7aea47e6\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2NoZWNrYm94L2luZGV4LnZ1ZT8wNWM4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLFNBQVMsOEJBQThCO0FBQ3ZDO0FBQ0EsdUJBQXVCLFNBQVMsb0JBQW9CLEVBQUU7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsa0RBQWtEO0FBQzNEO0FBQ0EsaUNBQWlDLHFCQUFxQixvQkFBb0IsRUFBRTtBQUM1RTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QiwwQkFBMEI7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI2MjYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAge1xuICAgICAgc3RhdGljQ2xhc3M6IFwiZm9ybURpdlwiLFxuICAgICAgb246IHsgbW91c2VlbnRlcjogX3ZtLnNob3csIG1vdXNlbGVhdmU6IF92bS5oaWRlIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcImRpdlwiLFxuICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXYtbGVmdFwiIH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3R5bGU6IHsgbWFyZ2luTGVmdDogXCI1cHhcIiB9IH0sIFtcbiAgICAgICAgICAgIF92bS5fdihfdm0uX3MoX3ZtLnByb3BlcnR5LmxhYmVsKSlcbiAgICAgICAgICBdKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF9jKFxuICAgICAgICBcImRpdlwiLFxuICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXYtcmlnaHQgcmFkaW9DaGVja2JveFN0eWxlXCIgfSxcbiAgICAgICAgX3ZtLl9sKF92bS5yYWRpb0FyciwgZnVuY3Rpb24oaXRlbSwgaW5kZXgpIHtcbiAgICAgICAgICByZXR1cm4gX2MoXCJDaGVja2JveFwiLCB7IGtleTogaW5kZXgsIGF0dHJzOiB7IGxhYmVsOiBpdGVtLnZhbHVlIH0gfSwgW1xuICAgICAgICAgICAgX2MoXCJzcGFuXCIsIFtfdm0uX3YoX3ZtLl9zKGl0ZW0ubGFiZWwpKV0pXG4gICAgICAgICAgXSlcbiAgICAgICAgfSksXG4gICAgICAgIDFcbiAgICAgICksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXCJjb21tb21Ib3Zlck1vZGFsXCIsIHsgcmVmOiBcImNvbW1vbUhvdmVyTW9kYWxcIiB9KVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi03YWVhNDdlNlwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi03YWVhNDdlNlwiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvY2hlY2tib3gvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2MjZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///626\n");
4199
4200/***/ }),
4201/* 627 */
4202/***/ (function(module, __webpack_exports__, __webpack_require__) {
4203
4204"use strict";
4205eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(169);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_ed613184_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(631);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(628)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-ed613184\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_ed613184_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/checkboxRadioSelection/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-ed613184\", Component.options)\n } else {\n hotAPI.reload(\"data-v-ed613184\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2NoZWNrYm94UmFkaW9TZWxlY3Rpb24vaW5kZXgudnVlPzNiNmQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFxVjtBQUMvVjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXdGO0FBQ3pIO0FBQ3dJO0FBQ2E7QUFDcko7QUFDbVQ7QUFDblQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGlRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNjI3LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZWQ2MTMxODRcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZWQ2MTMxODRcXFwiLFxcXCJoYXNTY29wZWRcXFwiOnRydWUsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gXCJkYXRhLXYtZWQ2MTMxODRcIlxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9jaGVja2JveFJhZGlvU2VsZWN0aW9uL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi1lZDYxMzE4NFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LWVkNjEzMTg0XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9jaGVja2JveFJhZGlvU2VsZWN0aW9uL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjI3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///627\n");
4206
4207/***/ }),
4208/* 628 */
4209/***/ (function(module, exports, __webpack_require__) {
4210
4211eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(629);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"0445b43a\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-ed613184\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-ed613184\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2NoZWNrYm94UmFkaW9TZWxlY3Rpb24vaW5kZXgudnVlPzNmMjYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBOFc7QUFDcFksNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUFpRyxnQ0FBZ0M7QUFDdEo7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsbU1BQW1NLGtGQUFrRjtBQUNyUiw0TUFBNE0sa0ZBQWtGO0FBQzlSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNjI4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWVkNjEzMTg0XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjA0NDViNDNhXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1lZDYxMzE4NFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWVkNjEzMTg0XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtZWQ2MTMxODRcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2NoZWNrYm94UmFkaW9TZWxlY3Rpb24vaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2Mjhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///628\n");
4212
4213/***/ }),
4214/* 629 */
4215/***/ (function(module, exports, __webpack_require__) {
4216
4217eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formDiv[data-v-ed613184]{\\n display:inline-block;\\n line-height: 60px;\\n text-align: left;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/checkboxRadioSelection/myPlugin/page-ide/lib/components/levelThree/checkboxRadioSelection/index.vue\"],\"names\":[],\"mappings\":\";AA8CA;EACA,qBAAA;IACA,kBAAA;IACA,iBAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formDiv\\\">\\r\\n <div class=\\\"formDiv-left\\\">\\r\\n <Label >\\r\\n <Checkbox v-model=\\\"single\\\">{{property.label}}</Checkbox>\\r\\n </Label>\\r\\n </div>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport {editSetting} from './property';\\r\\nexport default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n data () {\\r\\n return {\\r\\n single: false,\\r\\n property:{\\r\\n label : '单选框',\\r\\n },\\r\\n text: 'input',\\r\\n styles: {height:'40px',width:'70px',margin:'10px'},\\r\\n type: 'input',\\r\\n single: true,\\r\\n level: editSetting.level,\\r\\n };\\r\\n },\\r\\n computed:{\\r\\n getLabel(){\\r\\n return this.property.label;\\r\\n }\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .formDiv{\\r\\n display:inline-block;\\r\\n line-height: 60px;\\r\\n text-align: left;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2NoZWNrYm94UmFkaW9TZWxlY3Rpb24vaW5kZXgudnVlPzNjMzUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBK0U7QUFDbEg7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLCtCQUErQix5QkFBeUIsd0JBQXdCLHVCQUF1QixHQUFHLFVBQVUsMk5BQTJOLE1BQU0sV0FBVyxXQUFXLFdBQVcsd01BQXdNLGdCQUFnQiw4R0FBOEcsWUFBWSxtQkFBbUIsb0JBQW9CLG1CQUFtQixzQkFBc0IseUZBQXlGLHNFQUFzRSxrQkFBa0Isb0JBQW9CLHdEQUF3RCxtREFBbUQsd0RBQXdELHlDQUF5QyxtSEFBbUgsU0FBUyxtQkFBbUIsdUJBQXVCLDJDQUEyQyxhQUFhLFNBQVMseUZBQXlGLGtEQUFrRCw2QkFBNkIsNEJBQTRCLDJCQUEyQixPQUFPLG1DQUFtQzs7QUFFaHJEIiwiZmlsZSI6IjYyOS5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcbi5mb3JtRGl2W2RhdGEtdi1lZDYxMzE4NF17XFxuICBkaXNwbGF5OmlubGluZS1ibG9jaztcXG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XFxuICAgIHRleHQtYWxpZ246IGxlZnQ7XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJFOi9wcm9qZWN0L3BhZ2UtaWRlLXhpYW4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9jaGVja2JveFJhZGlvU2VsZWN0aW9uL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvY2hlY2tib3hSYWRpb1NlbGVjdGlvbi9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQThDQTtFQUNBLHFCQUFBO0lBQ0Esa0JBQUE7SUFDQSxpQkFBQTtDQUNBXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZXNDb250ZW50XCI6W1wiPHRlbXBsYXRlPlxcclxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2XFxcIj5cXHJcXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm1EaXYtbGVmdFxcXCI+XFxyXFxuICAgICAgICAgICAgPExhYmVsID5cXHJcXG4gICAgICAgICAgICAgICAgPENoZWNrYm94IHYtbW9kZWw9XFxcInNpbmdsZVxcXCI+e3twcm9wZXJ0eS5sYWJlbH19PC9DaGVja2JveD5cXHJcXG4gICAgICAgICAgICA8L0xhYmVsPlxcclxcbiAgICAgICAgPC9kaXY+XFxyXFxuICAgIDwvZGl2PlxcclxcbjwvdGVtcGxhdGU+XFxyXFxuXFxyXFxuPHNjcmlwdD5cXHJcXG5pbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcXHJcXG5leHBvcnQgZGVmYXVsdCB7XFxyXFxuICAgIC8vIHByb3BzOiB7XFxyXFxuICAgIC8vICAgICB0ZXh0OiB7XFxyXFxuICAgIC8vICAgICAgICAgdHlwZTogU3RyaW5nLFxcclxcbiAgICAvLyAgICAgICAgIGRlZmF1bHQ6ICdCdXR0b24gVGV4dCdcXHJcXG4gICAgLy8gICAgIH0sXFxyXFxuICAgIC8vICAgICB0eXBlOiBTdHJpbmcsXFxyXFxuICAgIC8vICAgICBzdHlsZXM6IE9iamVjdFxcclxcbiAgICAvLyB9LFxcclxcbiAgICBkYXRhICgpIHtcXHJcXG4gICAgICAgIHJldHVybiB7XFxyXFxuICAgICAgICAgICAgc2luZ2xlOiBmYWxzZSxcXHJcXG4gICAgICAgICAgICBwcm9wZXJ0eTp7XFxyXFxuICAgICAgICAgICAgICAgIGxhYmVsIDogJ+WNlemAieahhicsXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICB0ZXh0OiAnaW5wdXQnLFxcclxcbiAgICAgICAgICAgIHN0eWxlczoge2hlaWdodDonNDBweCcsd2lkdGg6JzcwcHgnLG1hcmdpbjonMTBweCd9LFxcclxcbiAgICAgICAgICAgIHR5cGU6ICdpbnB1dCcsXFxyXFxuICAgICAgICAgICAgc2luZ2xlOiB0cnVlLFxcclxcbiAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgIH0sXFxyXFxuICAgIGNvbXB1dGVkOntcXHJcXG4gICAgICAgIGdldExhYmVsKCl7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydHkubGFiZWw7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH0sXFxyXFxuICAgIGVkaXRTZXR0aW5nLFxcclxcbiAgICBuYW1lOiBlZGl0U2V0dGluZy5rZXksXFxyXFxuICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxcclxcbn07XFxyXFxuPC9zY3JpcHQ+XFxyXFxuXFxyXFxuPHN0eWxlIHNjb3BlZD5cXHJcXG4gIC5mb3JtRGl2e1xcclxcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXHJcXG4gICAgICBsaW5lLWhlaWdodDogNjBweDtcXHJcXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xcclxcbiAgfVxcclxcbjwvc3R5bGU+XFxyXFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LWVkNjEzMTg0XCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9jaGVja2JveFJhZGlvU2VsZWN0aW9uL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjI5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///629\n");
4218
4219/***/ }),
4220/* 630 */
4221/***/ (function(module, exports, __webpack_require__) {
4222
4223"use strict";
4224eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = ['属性(二维多选框)', {\n field: 'property.busiId',\n text: '标签',\n type: 'string',\n isShow: 'hide'\n}, '扩展属性', '高级', {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'checkboxHeightLevel'\n}, '内容子项', {\n field: 'property.itemsProp',\n text: '',\n type: 'select'\n}];\n_common.commonTool.assembleData(editors);\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-checkboxMultipleRadio',\n name: '多选框二维',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2NoZWNrYm94UmFkaW9TZWxlY3Rpb24vcHJvcGVydHkuanM/ODRkMCJdLCJuYW1lcyI6WyJlZGl0b3JzIiwiZmllbGQiLCJ0ZXh0IiwidHlwZSIsImlzU2hvdyIsImNvbW1vblRvb2wiLCJhc3NlbWJsZURhdGEiLCJjb25zb2xlIiwibG9nIiwiZWRpdFNldHRpbmciLCJrZXkiLCJuYW1lIiwibGV2ZWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQTs7QUFLQSxJQUFJQSxVQUFTLENBQ1QsV0FEUyxFQUVUO0FBQ0lDLFdBQU8saUJBRFg7QUFFSUMsVUFBTSxJQUZWO0FBR0lDLFVBQU0sUUFIVjtBQUlJQyxZQUFPO0FBSlgsQ0FGUyxFQVFULE1BUlMsRUFXVCxJQVhTLEVBWVQ7QUFDSUgsV0FBTyxrQkFEWDtBQUVJQyxVQUFNLE1BRlY7QUFHSUMsVUFBTTtBQUhWLENBWlMsRUFpQlQsTUFqQlMsRUF1QlQ7QUFDSUYsV0FBTyxvQkFEWDtBQUVJQyxVQUFNLEVBRlY7QUFHSUMsVUFBTTtBQUhWLENBdkJTLENBQWI7QUE2QkFFLG1CQUFXQyxZQUFYLENBQXdCTixPQUF4QjtBQUNBTyxRQUFRQyxHQUFSLENBQVlSLE9BQVo7QUFDTyxJQUFNUyxvQ0FBYztBQUN2QkMsU0FBSyw0QkFEa0I7QUFFdkJDLFVBQU0sT0FGaUI7QUFHdkJDLFdBQU0sQ0FIaUI7QUFJdkJaLGFBQVFBO0FBSmUsQ0FBcEIiLCJmaWxlIjoiNjMwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICBOb3RlIOW3peWFt+exu1xyXG4gKi9cclxuaW1wb3J0IHtjb21tb25Ub29sfSBmcm9tIFwiLi4vLi4vY29tbW9uL2NvbW1vblwiXHJcbi8qXHJcbk5vdGUg5a6a5LmJ6Ieq5a6a5LmJ5bGe5oCn77yM5YWs5YWx5bGe5oCn5LuOY29tbW9u5paH5Lu26YeM6K+75Y+WXHJcbmF1dGhvciDlj7bnq6DmtalcclxuICovXHJcbmxldCBlZGl0b3JzPSBbXHJcbiAgICAn5bGe5oCnKOS6jOe7tOWkmumAieahhiknLFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkuYnVzaUlkJyxcclxuICAgICAgICB0ZXh0OiAn5qCH562+JyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnXHJcbiAgICB9LFxyXG4gICAgJ+aJqeWxleWxnuaApycsXHJcbiAgICAvKiAn5qCh6aqM6KeE5YiZJyxcclxuICAgICAn5omp5bGV5qCh6aqMJywqL1xyXG4gICAgJ+mrmOe6pycsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdkYXRhLmhlaWdodExldmVsJyxcclxuICAgICAgICB0ZXh0OiAn5piv5ZCm5pi+56S6JyxcclxuICAgICAgICB0eXBlOiAnY2hlY2tib3hIZWlnaHRMZXZlbCdcclxuICAgIH0sXHJcbiAgICAn5YaF5a655a2Q6aG5JyxcclxuICAgIC8qIHtcclxuICAgICAgICAgZmllbGQ6ICdleHRlbmQubW9ja0RhdGEnLFxyXG4gICAgICAgICB0ZXh0OiAnJyxcclxuICAgICAgICAgdHlwZTogJ3JhZGlvQXJyJ1xyXG4gICAgIH0sKi9cclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5Lml0ZW1zUHJvcCcsXHJcbiAgICAgICAgdGV4dDogJycsXHJcbiAgICAgICAgdHlwZTogJ3NlbGVjdCdcclxuICAgIH1cclxuXTtcclxuY29tbW9uVG9vbC5hc3NlbWJsZURhdGEoZWRpdG9ycyk7XHJcbmNvbnNvbGUubG9nKGVkaXRvcnMpO1xyXG5leHBvcnQgY29uc3QgZWRpdFNldHRpbmcgPSB7XHJcbiAgICBrZXk6ICdnYWVhLWNoZWNrYm94TXVsdGlwbGVSYWRpbycsXHJcbiAgICBuYW1lOiAn5aSa6YCJ5qGG5LqM57u0JyxcclxuICAgIGxldmVsOjQsXHJcbiAgICBlZGl0b3JzOmVkaXRvcnMsXHJcbn07XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvY2hlY2tib3hSYWRpb1NlbGVjdGlvbi9wcm9wZXJ0eS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///630\n");
4225
4226/***/ }),
4227/* 631 */
4228/***/ (function(module, __webpack_exports__, __webpack_require__) {
4229
4230"use strict";
4231eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"formDiv\" }, [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [\n _c(\n \"Label\",\n [\n _c(\n \"Checkbox\",\n {\n model: {\n value: _vm.single,\n callback: function($$v) {\n _vm.single = $$v\n },\n expression: \"single\"\n }\n },\n [_vm._v(_vm._s(_vm.property.label))]\n )\n ],\n 1\n )\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-ed613184\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2NoZWNrYm94UmFkaW9TZWxlY3Rpb24vaW5kZXgudnVlP2VjNmYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IseUJBQXlCO0FBQzdDO0FBQ0E7QUFDQSxPQUFPLDhCQUE4QjtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI2MzEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwiZm9ybURpdlwiIH0sIFtcbiAgICBfYyhcbiAgICAgIFwiZGl2XCIsXG4gICAgICB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXYtbGVmdFwiIH0sXG4gICAgICBbXG4gICAgICAgIF9jKFxuICAgICAgICAgIFwiTGFiZWxcIixcbiAgICAgICAgICBbXG4gICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgXCJDaGVja2JveFwiLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0uc2luZ2xlLFxuICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICBfdm0uc2luZ2xlID0gJCR2XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJzaW5nbGVcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgW192bS5fdihfdm0uX3MoX3ZtLnByb3BlcnR5LmxhYmVsKSldXG4gICAgICAgICAgICApXG4gICAgICAgICAgXSxcbiAgICAgICAgICAxXG4gICAgICAgIClcbiAgICAgIF0sXG4gICAgICAxXG4gICAgKVxuICBdKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtZWQ2MTMxODRcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtZWQ2MTMxODRcIixcImhhc1Njb3BlZFwiOnRydWUsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2NoZWNrYm94UmFkaW9TZWxlY3Rpb24vaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2MzFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///631\n");
4232
4233/***/ }),
4234/* 632 */
4235/***/ (function(module, __webpack_exports__, __webpack_require__) {
4236
4237"use strict";
4238eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(170);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_6874db06_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(636);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(633)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-6874db06\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_6874db06_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/datepicker/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-6874db06\", Component.options)\n } else {\n hotAPI.reload(\"data-v-6874db06\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2RhdGVwaWNrZXIvaW5kZXgudnVlPzI4NTIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFxVjtBQUMvVjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXdGO0FBQ3pIO0FBQ3dJO0FBQ2E7QUFDcko7QUFDbVQ7QUFDblQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGlRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNjMyLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNjg3NGRiMDZcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNjg3NGRiMDZcXFwiLFxcXCJoYXNTY29wZWRcXFwiOnRydWUsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gXCJkYXRhLXYtNjg3NGRiMDZcIlxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9kYXRlcGlja2VyL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi02ODc0ZGIwNlwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTY4NzRkYjA2XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9kYXRlcGlja2VyL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjMyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///632\n");
4239
4240/***/ }),
4241/* 633 */
4242/***/ (function(module, exports, __webpack_require__) {
4243
4244eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(634);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"2f842733\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-6874db06\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-6874db06\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2RhdGVwaWNrZXIvaW5kZXgudnVlP2E5OTMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBOFc7QUFDcFksNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUFpRyxnQ0FBZ0M7QUFDdEo7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsbU1BQW1NLGtGQUFrRjtBQUNyUiw0TUFBNE0sa0ZBQWtGO0FBQzlSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNjMzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTY4NzRkYjA2XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjJmODQyNzMzXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi02ODc0ZGIwNlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTY4NzRkYjA2XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNjg3NGRiMDZcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2RhdGVwaWNrZXIvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2MzNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///633\n");
4245
4246/***/ }),
4247/* 634 */
4248/***/ (function(module, exports, __webpack_require__) {
4249
4250eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formDiv[data-v-6874db06]{\\n display: inline-block;\\n line-height: 60px;\\n text-align: left;\\n}\\n.datepickerStyle[data-v-6874db06]{\\n width:50%;\\n}\\n.formDiv-left[data-v-6874db06] {\\n display:inline-block;\\n width: 35%;\\n text-align:right;\\n font-size:15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.formDiv-right[data-v-6874db06] {\\n width: 60%;\\n position: relative;\\n display:inline-block;\\n float: right;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/datepicker/myPlugin/page-ide/lib/components/levelThree/datepicker/index.vue\"],\"names\":[],\"mappings\":\";AAuDA;IACA,sBAAA;IACA,kBAAA;IACA,iBAAA;CACA;AACA;IACA,UAAA;CACA;AACA;IACA,qBAAA;IACA,WAAA;IACA,iBAAA;IACA,eAAA;IACA,YAAA;IACA,eAAA;CACA;AACA;IACA,WAAA;IACA,mBAAA;IACA,qBAAA;IACA,aAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formDiv\\\" @mouseenter=\\\"show\\\" @mouseleave=\\\"hide\\\">\\r\\n <div class=\\\"formDiv-left\\\">\\r\\n <Label :style=\\\"{marginLeft:'5px'}\\\">{{property.label}}</Label>\\r\\n </div>\\r\\n <div class=\\\"formDiv-right\\\">\\r\\n <DatePicker\\r\\n split-panels\\r\\n :editable=\\\"false\\\"\\r\\n :placeholder=extend.placeholder\\r\\n class=\\\"datepickerStyle\\\"\\r\\n >\\r\\n </DatePicker>\\r\\n </div>\\r\\n <commomHoverModal ref=\\\"commomHoverModal\\\" ></commomHoverModal>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\n import commomHoverModal from '../../common/commomHoverModal'\\r\\n\\r\\n import {editSetting} from './property';\\r\\nexport default {\\r\\n data () {\\r\\n return {\\r\\n property:{\\r\\n label : '日期',\\r\\n },\\r\\n extend:{\\r\\n placeholder:\\\"\\\"\\r\\n },\\r\\n text: 'input',\\r\\n styles: {},\\r\\n type: 'date-picker',\\r\\n level: editSetting.level,\\r\\n };\\r\\n },\\r\\n components:{\\r\\n commomHoverModal\\r\\n },\\r\\n methods:{\\r\\n show(){\\r\\n this.$refs.commomHoverModal.handleMouseEnter();\\r\\n },\\r\\n hide(){\\r\\n this.$refs.commomHoverModal.handleMouseLeave();\\r\\n }\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .formDiv{\\r\\n display: inline-block;\\r\\n line-height: 60px;\\r\\n text-align: left;\\r\\n }\\r\\n .datepickerStyle{\\r\\n width:50%;\\r\\n }\\r\\n .formDiv-left {\\r\\n display:inline-block;\\r\\n width: 35%;\\r\\n text-align:right;\\r\\n font-size:15px;\\r\\n float: left;\\r\\n margin: 0 10px;\\r\\n }\\r\\n .formDiv-right {\\r\\n width: 60%;\\r\\n position: relative;\\r\\n display:inline-block;\\r\\n float: right;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2RhdGVwaWNrZXIvaW5kZXgudnVlPzgyNTAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBK0U7QUFDbEg7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLCtCQUErQiw0QkFBNEIsd0JBQXdCLHVCQUF1QixHQUFHLG9DQUFvQyxnQkFBZ0IsR0FBRyxrQ0FBa0MsMkJBQTJCLGlCQUFpQix1QkFBdUIscUJBQXFCLGtCQUFrQixxQkFBcUIsR0FBRyxtQ0FBbUMsaUJBQWlCLHlCQUF5QiwyQkFBMkIsbUJBQW1CLEdBQUcsVUFBVSxtTUFBbU0sTUFBTSxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssV0FBVyxVQUFVLFdBQVcsVUFBVSxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsV0FBVyxXQUFXLFVBQVUsOExBQThMLGlCQUFpQixLQUFLLGdCQUFnQixtZkFBbWYsWUFBWSxtQkFBbUIsb0JBQW9CLGlCQUFpQixvQkFBb0IsMEJBQTBCLGtEQUFrRCx5QkFBeUIscURBQXFELHlEQUF5RCw0RkFBNEYsU0FBUyxxQkFBcUIscUNBQXFDLGtCQUFrQixtQkFBbUIsK0RBQStELGFBQWEsb0JBQW9CLCtEQUErRCxhQUFhLFNBQVMseUZBQXlGLGtEQUFrRCxnQ0FBZ0MsNEJBQTRCLDJCQUEyQixPQUFPLHVCQUF1QixvQkFBb0IsT0FBTyxxQkFBcUIsK0JBQStCLHFCQUFxQiwyQkFBMkIseUJBQXlCLHNCQUFzQix5QkFBeUIsT0FBTyxzQkFBc0IscUJBQXFCLDZCQUE2QiwrQkFBK0IsdUJBQXVCLE9BQU8sbUNBQW1DOztBQUVsMUYiLCJmaWxlIjoiNjM0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLmZvcm1EaXZbZGF0YS12LTY4NzRkYjA2XXtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICBsaW5lLWhlaWdodDogNjBweDtcXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcXG59XFxuLmRhdGVwaWNrZXJTdHlsZVtkYXRhLXYtNjg3NGRiMDZde1xcbiAgICB3aWR0aDo1MCU7XFxufVxcbi5mb3JtRGl2LWxlZnRbZGF0YS12LTY4NzRkYjA2XSB7XFxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcbiAgICB3aWR0aDogMzUlO1xcbiAgICB0ZXh0LWFsaWduOnJpZ2h0O1xcbiAgICBmb250LXNpemU6MTVweDtcXG4gICAgZmxvYXQ6IGxlZnQ7XFxuICAgIG1hcmdpbjogMCAxMHB4O1xcbn1cXG4uZm9ybURpdi1yaWdodFtkYXRhLXYtNjg3NGRiMDZdIHtcXG4gICAgd2lkdGg6IDYwJTtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXG4gICAgZmxvYXQ6IHJpZ2h0O1xcbn1cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wiRTovcHJvamVjdC9wYWdlLWlkZS14aWFuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvZGF0ZXBpY2tlci9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2RhdGVwaWNrZXIvaW5kZXgudnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUF1REE7SUFDQSxzQkFBQTtJQUNBLGtCQUFBO0lBQ0EsaUJBQUE7Q0FDQTtBQUNBO0lBQ0EsVUFBQTtDQUNBO0FBQ0E7SUFDQSxxQkFBQTtJQUNBLFdBQUE7SUFDQSxpQkFBQTtJQUNBLGVBQUE7SUFDQSxZQUFBO0lBQ0EsZUFBQTtDQUNBO0FBQ0E7SUFDQSxXQUFBO0lBQ0EsbUJBQUE7SUFDQSxxQkFBQTtJQUNBLGFBQUE7Q0FDQVwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjx0ZW1wbGF0ZT5cXHJcXG4gPGRpdiBjbGFzcz1cXFwiZm9ybURpdlxcXCIgIEBtb3VzZWVudGVyPVxcXCJzaG93XFxcIiBAbW91c2VsZWF2ZT1cXFwiaGlkZVxcXCI+XFxyXFxuICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2LWxlZnRcXFwiPlxcclxcbiAgICAgICA8TGFiZWwgOnN0eWxlPVxcXCJ7bWFyZ2luTGVmdDonNXB4J31cXFwiPnt7cHJvcGVydHkubGFiZWx9fTwvTGFiZWw+XFxyXFxuICAgICA8L2Rpdj5cXHJcXG4gICAgIDxkaXYgY2xhc3M9XFxcImZvcm1EaXYtcmlnaHRcXFwiPlxcclxcbiAgICAgICA8RGF0ZVBpY2tlclxcclxcbiAgICAgICAgICAgICAgIHNwbGl0LXBhbmVsc1xcclxcbiAgICAgICAgICAgICAgIDplZGl0YWJsZT1cXFwiZmFsc2VcXFwiXFxyXFxuICAgICAgICAgICAgICAgOnBsYWNlaG9sZGVyPWV4dGVuZC5wbGFjZWhvbGRlclxcclxcbiAgICAgICAgICAgICAgIGNsYXNzPVxcXCJkYXRlcGlja2VyU3R5bGVcXFwiXFxyXFxuICAgICAgID5cXHJcXG4gICAgICAgPC9EYXRlUGlja2VyPlxcclxcbiAgICAgPC9kaXY+XFxyXFxuICAgICA8Y29tbW9tSG92ZXJNb2RhbCByZWY9XFxcImNvbW1vbUhvdmVyTW9kYWxcXFwiID48L2NvbW1vbUhvdmVyTW9kYWw+XFxyXFxuIDwvZGl2PlxcclxcbjwvdGVtcGxhdGU+XFxyXFxuXFxyXFxuPHNjcmlwdD5cXHJcXG4gICAgaW1wb3J0IGNvbW1vbUhvdmVyTW9kYWwgZnJvbSAnLi4vLi4vY29tbW9uL2NvbW1vbUhvdmVyTW9kYWwnXFxyXFxuXFxyXFxuICAgIGltcG9ydCB7ZWRpdFNldHRpbmd9IGZyb20gJy4vcHJvcGVydHknO1xcclxcbmV4cG9ydCBkZWZhdWx0IHtcXHJcXG4gICAgZGF0YSAoKSB7XFxyXFxuICAgICAgICByZXR1cm4ge1xcclxcbiAgICAgICAgICAgIHByb3BlcnR5OntcXHJcXG4gICAgICAgICAgICAgICAgbGFiZWwgOiAn5pel5pyfJyxcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIGV4dGVuZDp7XFxyXFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOlxcXCJcXFwiXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICB0ZXh0OiAnaW5wdXQnLFxcclxcbiAgICAgICAgICAgIHN0eWxlczoge30sXFxyXFxuICAgICAgICAgICAgdHlwZTogJ2RhdGUtcGlja2VyJyxcXHJcXG4gICAgICAgICAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXFxyXFxuICAgICAgICB9O1xcclxcbiAgICB9LFxcclxcbiAgICBjb21wb25lbnRzOntcXHJcXG4gICAgICAgIGNvbW1vbUhvdmVyTW9kYWxcXHJcXG4gICAgfSxcXHJcXG4gICAgbWV0aG9kczp7XFxyXFxuICAgICAgICBzaG93KCl7XFxyXFxuICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlRW50ZXIoKTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBoaWRlKCl7XFxyXFxuICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlTGVhdmUoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfSxcXHJcXG4gICAgZWRpdFNldHRpbmcsXFxyXFxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcXHJcXG4gICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXFxyXFxufTtcXHJcXG48L3NjcmlwdD5cXHJcXG5cXHJcXG48c3R5bGUgc2NvcGVkPlxcclxcbiAgLmZvcm1EaXZ7XFxyXFxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcclxcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xcclxcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XFxyXFxuICB9XFxyXFxuICAuZGF0ZXBpY2tlclN0eWxle1xcclxcbiAgICAgIHdpZHRoOjUwJTtcXHJcXG4gIH1cXHJcXG4gIC5mb3JtRGl2LWxlZnQge1xcclxcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcclxcbiAgICAgIHdpZHRoOiAzNSU7XFxyXFxuICAgICAgdGV4dC1hbGlnbjpyaWdodDtcXHJcXG4gICAgICBmb250LXNpemU6MTVweDtcXHJcXG4gICAgICBmbG9hdDogbGVmdDtcXHJcXG4gICAgICBtYXJnaW46IDAgMTBweDtcXHJcXG4gIH1cXHJcXG4gIC5mb3JtRGl2LXJpZ2h0IHtcXHJcXG4gICAgICB3aWR0aDogNjAlO1xcclxcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXHJcXG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXHJcXG4gICAgICBmbG9hdDogcmlnaHQ7XFxyXFxuICB9XFxyXFxuPC9zdHlsZT5cXHJcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNjg3NGRiMDZcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2RhdGVwaWNrZXIvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2MzRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///634\n");
4251
4252/***/ }),
4253/* 635 */
4254/***/ (function(module, exports, __webpack_require__) {
4255
4256"use strict";
4257eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = [{\n field: 'property.title',\n text: '日期',\n type: 'title'\n}, {\n field: 'property.prop',\n text: '属性名称',\n type: 'reqSelect',\n isShow: 'hide'\n}, {\n field: 'property.label',\n text: '标题',\n maxFont: '20',\n type: 'string'\n}, {\n field: 'property.busiId',\n text: '标题',\n isShow: 'hide',\n type: 'string'\n}, {\n field: 'extend.placeholder',\n text: '提示文字',\n maxFont: '50',\n maxInputFont: '1000',\n type: 'string'\n}, {\n field: 'extend.itemWidth',\n text: 'itemWidth',\n type: 'number',\n value: 320,\n isShow: 'hide'\n}, {\n field: 'extend.options.disabledDate',\n text: '禁止选择的日期范围',\n type: 'dateSelect'\n}, {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'validateInput'\n}];\nvar editors11 = ['属性(单选时间)', {\n field: 'property.busiId',\n text: '标签',\n type: 'string',\n isShow: 'hide'\n}, {\n field: 'extend.itemWidth',\n text: 'itemWidth',\n type: 'number',\n value: 320,\n isShow: 'hide'\n}, '扩展属性', {\n field: 'extend.placeholder',\n text: '占位符(默认展示值)',\n type: 'string'\n}, {\n field: 'extend.type',\n text: '类型',\n value: \"date\",\n type: 'datePicker'\n}, {\n field: 'extend.options.disabledDate',\n text: '禁止选择的日期范围',\n type: 'dateSelect'\n}, {\n field: 'extend.options.disabledHours',\n text: '禁止选择的时间范围(起始时间-截止时间)',\n value: \"0-24\",\n type: 'string'\n}, '校验', {\n field: 'extend.validate',\n text: '',\n type: 'validateArr'\n}];\n_common.commonTool.assembleData(editors);\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-date-picker',\n name: '日期',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2RhdGVwaWNrZXIvcHJvcGVydHkuanM/Yjg1MCJdLCJuYW1lcyI6WyJlZGl0b3JzIiwiZmllbGQiLCJ0ZXh0IiwidHlwZSIsImlzU2hvdyIsIm1heEZvbnQiLCJtYXhJbnB1dEZvbnQiLCJ2YWx1ZSIsImVkaXRvcnMxMSIsImNvbW1vblRvb2wiLCJhc3NlbWJsZURhdGEiLCJjb25zb2xlIiwibG9nIiwiZWRpdFNldHRpbmciLCJrZXkiLCJuYW1lIiwibGV2ZWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQTs7QUFNQSxJQUFJQSxVQUFTLENBQ1Q7QUFDSUMsV0FBTyxnQkFEWDtBQUVJQyxVQUFNLElBRlY7QUFHSUMsVUFBTTtBQUhWLENBRFMsRUFNVDtBQUNJRixXQUFPLGVBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU0sV0FIVjtBQUlJQyxZQUFPO0FBSlgsQ0FOUyxFQVlUO0FBQ0lILFdBQU8sZ0JBRFg7QUFFSUMsVUFBTSxJQUZWO0FBR0lHLGFBQVEsSUFIWjtBQUlJRixVQUFNO0FBSlYsQ0FaUyxFQWtCVDtBQUNJRixXQUFPLGlCQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJRSxZQUFPLE1BSFg7QUFJSUQsVUFBTTtBQUpWLENBbEJTLEVBd0JUO0FBQ0lGLFdBQU8sb0JBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lHLGFBQVEsSUFIWjtBQUlJQyxrQkFBYSxNQUpqQjtBQUtJSCxVQUFNO0FBTFYsQ0F4QlMsRUErQlQ7QUFDSUYsV0FBTyxrQkFEWDtBQUVJQyxVQUFNLFdBRlY7QUFHSUMsVUFBTSxRQUhWO0FBSUlJLFdBQU8sR0FKWDtBQUtJSCxZQUFPO0FBTFgsQ0EvQlMsRUFzQ1Q7QUFDSUgsV0FBTyw2QkFEWDtBQUVJQyxVQUFNLFdBRlY7QUFHSUMsVUFBTTtBQUhWLENBdENTLEVBMkNUO0FBQ0lGLFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU07QUFIVixDQTNDUyxDQUFiO0FBaURBLElBQUlLLFlBQVcsQ0FDWCxVQURXLEVBRVg7QUFDSVAsV0FBTyxpQkFEWDtBQUVJQyxVQUFNLElBRlY7QUFHSUMsVUFBTSxRQUhWO0FBSUlDLFlBQU87QUFKWCxDQUZXLEVBUVg7QUFDSUgsV0FBTyxrQkFEWDtBQUVJQyxVQUFNLFdBRlY7QUFHSUMsVUFBTSxRQUhWO0FBSUlJLFdBQU8sR0FKWDtBQUtJSCxZQUFPO0FBTFgsQ0FSVyxFQWVYLE1BZlcsRUFnQlg7QUFDSUgsV0FBTyxvQkFEWDtBQUVJQyxVQUFNLFlBRlY7QUFHSUMsVUFBTTtBQUhWLENBaEJXLEVBcUJYO0FBQ0lGLFdBQU8sYUFEWDtBQUVJQyxVQUFNLElBRlY7QUFHSUssV0FBTSxNQUhWO0FBSUlKLFVBQU07QUFKVixDQXJCVyxFQTJCWDtBQUNJRixXQUFPLDZCQURYO0FBRUlDLFVBQU0sV0FGVjtBQUdJQyxVQUFNO0FBSFYsQ0EzQlcsRUFnQ1g7QUFDSUYsV0FBTyw4QkFEWDtBQUVJQyxVQUFNLHNCQUZWO0FBR0lLLFdBQU0sTUFIVjtBQUlJSixVQUFNO0FBSlYsQ0FoQ1csRUFzQ1gsSUF0Q1csRUF1Q1g7QUFDSUYsV0FBTyxpQkFEWDtBQUVJQyxVQUFNLEVBRlY7QUFHSUMsVUFBTTtBQUhWLENBdkNXLENBQWY7QUE2Q0FNLG1CQUFXQyxZQUFYLENBQXdCVixPQUF4QjtBQUNBVyxRQUFRQyxHQUFSLENBQVlaLE9BQVo7QUFDTyxJQUFNYSxvQ0FBYztBQUN2QkMsU0FBSyxrQkFEa0I7QUFFdkJDLFVBQU0sSUFGaUI7QUFHdkJDLFdBQU0sQ0FIaUI7QUFJdkJoQixhQUFRQTtBQUplLENBQXBCIiwiZmlsZSI6IjYzNS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAgTm90ZSDlt6XlhbfnsbtcclxuICovXHJcbmltcG9ydCB7Y29tbW9uVG9vbH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jb21tb25cIlxyXG4vKlxyXG5Ob3RlIOWumuS5ieiHquWumuS5ieWxnuaAp++8jOWFrOWFseWxnuaAp+S7jmNvbW1vbuaWh+S7tumHjOivu+WPllxyXG5hdXRob3Ig5Y+256ug5rWpXHJcbiAqL1xyXG5cclxubGV0IGVkaXRvcnM9IFtcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LnRpdGxlJyxcclxuICAgICAgICB0ZXh0OiAn5pel5pyfJyxcclxuICAgICAgICB0eXBlOiAndGl0bGUnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkucHJvcCcsXHJcbiAgICAgICAgdGV4dDogJ+WxnuaAp+WQjeensCcsXHJcbiAgICAgICAgdHlwZTogJ3JlcVNlbGVjdCcsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5sYWJlbCcsXHJcbiAgICAgICAgdGV4dDogJ+agh+mimCcsXHJcbiAgICAgICAgbWF4Rm9udDonMjAnLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkuYnVzaUlkJyxcclxuICAgICAgICB0ZXh0OiAn5qCH6aKYJyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLnBsYWNlaG9sZGVyJyxcclxuICAgICAgICB0ZXh0OiAn5o+Q56S65paH5a2XJyxcclxuICAgICAgICBtYXhGb250Oic1MCcsXHJcbiAgICAgICAgbWF4SW5wdXRGb250OicxMDAwJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5pdGVtV2lkdGgnLFxyXG4gICAgICAgIHRleHQ6ICdpdGVtV2lkdGgnLFxyXG4gICAgICAgIHR5cGU6ICdudW1iZXInLFxyXG4gICAgICAgIHZhbHVlOiAzMjAsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5vcHRpb25zLmRpc2FibGVkRGF0ZScsXHJcbiAgICAgICAgdGV4dDogJ+emgeatoumAieaLqeeahOaXpeacn+iMg+WbtCcsXHJcbiAgICAgICAgdHlwZTogJ2RhdGVTZWxlY3QnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZGF0YS5oZWlnaHRMZXZlbCcsXHJcbiAgICAgICAgdGV4dDogJ+aYr+WQpuaYvuekuicsXHJcbiAgICAgICAgdHlwZTogJ3ZhbGlkYXRlSW5wdXQnXHJcbiAgICB9XHJcbl07XHJcbmxldCBlZGl0b3JzMTE9IFtcclxuICAgICflsZ7mgKco5Y2V6YCJ5pe26Ze0KScsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5idXNpSWQnLFxyXG4gICAgICAgIHRleHQ6ICfmoIfnrb4nLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZSdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdleHRlbmQuaXRlbVdpZHRoJyxcclxuICAgICAgICB0ZXh0OiAnaXRlbVdpZHRoJyxcclxuICAgICAgICB0eXBlOiAnbnVtYmVyJyxcclxuICAgICAgICB2YWx1ZTogMzIwLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZSdcclxuICAgIH0sXHJcbiAgICAn5omp5bGV5bGe5oCnJyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5wbGFjZWhvbGRlcicsXHJcbiAgICAgICAgdGV4dDogJ+WNoOS9jeespu+8iOm7mOiupOWxleekuuWAvO+8iScsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdleHRlbmQudHlwZScsXHJcbiAgICAgICAgdGV4dDogJ+exu+WeiycsXHJcbiAgICAgICAgdmFsdWU6XCJkYXRlXCIsXHJcbiAgICAgICAgdHlwZTogJ2RhdGVQaWNrZXInLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5vcHRpb25zLmRpc2FibGVkRGF0ZScsXHJcbiAgICAgICAgdGV4dDogJ+emgeatoumAieaLqeeahOaXpeacn+iMg+WbtCcsXHJcbiAgICAgICAgdHlwZTogJ2RhdGVTZWxlY3QnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLm9wdGlvbnMuZGlzYWJsZWRIb3VycycsXHJcbiAgICAgICAgdGV4dDogJ+emgeatoumAieaLqeeahOaXtumXtOiMg+WbtCjotbflp4vml7bpl7Qt5oiq5q2i5pe26Ze0KScsXHJcbiAgICAgICAgdmFsdWU6XCIwLTI0XCIsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICAn5qCh6aqMJyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC52YWxpZGF0ZScsXHJcbiAgICAgICAgdGV4dDogJycsXHJcbiAgICAgICAgdHlwZTogJ3ZhbGlkYXRlQXJyJ1xyXG4gICAgfSxcclxuXTtcclxuY29tbW9uVG9vbC5hc3NlbWJsZURhdGEoZWRpdG9ycyk7XHJcbmNvbnNvbGUubG9nKGVkaXRvcnMpO1xyXG5leHBvcnQgY29uc3QgZWRpdFNldHRpbmcgPSB7XHJcbiAgICBrZXk6ICdnYWVhLWRhdGUtcGlja2VyJyxcclxuICAgIG5hbWU6ICfml6XmnJ8nLFxyXG4gICAgbGV2ZWw6NCxcclxuICAgIGVkaXRvcnM6ZWRpdG9yc1xyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2RhdGVwaWNrZXIvcHJvcGVydHkuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///635\n");
4258
4259/***/ }),
4260/* 636 */
4261/***/ (function(module, __webpack_exports__, __webpack_require__) {
4262
4263"use strict";
4264eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"formDiv\",\n on: { mouseenter: _vm.show, mouseleave: _vm.hide }\n },\n [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [\n _c(\"Label\", { style: { marginLeft: \"5px\" } }, [\n _vm._v(_vm._s(_vm.property.label))\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"formDiv-right\" },\n [\n _c(\"DatePicker\", {\n staticClass: \"datepickerStyle\",\n attrs: {\n \"split-panels\": \"\",\n editable: false,\n placeholder: _vm.extend.placeholder\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"commomHoverModal\", { ref: \"commomHoverModal\" })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-6874db06\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2RhdGVwaWNrZXIvaW5kZXgudnVlPzlhMjIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsU0FBUyw4QkFBOEI7QUFDdkM7QUFDQSx1QkFBdUIsU0FBUyxvQkFBb0IsRUFBRTtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUywrQkFBK0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QiwwQkFBMEI7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI2MzYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAge1xuICAgICAgc3RhdGljQ2xhc3M6IFwiZm9ybURpdlwiLFxuICAgICAgb246IHsgbW91c2VlbnRlcjogX3ZtLnNob3csIG1vdXNlbGVhdmU6IF92bS5oaWRlIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcImRpdlwiLFxuICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXYtbGVmdFwiIH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3R5bGU6IHsgbWFyZ2luTGVmdDogXCI1cHhcIiB9IH0sIFtcbiAgICAgICAgICAgIF92bS5fdihfdm0uX3MoX3ZtLnByb3BlcnR5LmxhYmVsKSlcbiAgICAgICAgICBdKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF9jKFxuICAgICAgICBcImRpdlwiLFxuICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXYtcmlnaHRcIiB9LFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXCJEYXRlUGlja2VyXCIsIHtcbiAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImRhdGVwaWNrZXJTdHlsZVwiLFxuICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgXCJzcGxpdC1wYW5lbHNcIjogXCJcIixcbiAgICAgICAgICAgICAgZWRpdGFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogX3ZtLmV4dGVuZC5wbGFjZWhvbGRlclxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgICksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXCJjb21tb21Ib3Zlck1vZGFsXCIsIHsgcmVmOiBcImNvbW1vbUhvdmVyTW9kYWxcIiB9KVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi02ODc0ZGIwNlwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi02ODc0ZGIwNlwiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvZGF0ZXBpY2tlci9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDYzNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///636\n");
4265
4266/***/ }),
4267/* 637 */
4268/***/ (function(module, __webpack_exports__, __webpack_require__) {
4269
4270"use strict";
4271eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(171);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_d01c1226_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(641);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(638)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_d01c1226_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/datepickerRange/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-d01c1226\", Component.options)\n } else {\n hotAPI.reload(\"data-v-d01c1226\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2RhdGVwaWNrZXJSYW5nZS9pbmRleC52dWU/ZWUwZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQXNWO0FBQ2hXO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBd0Y7QUFDekg7QUFDd0k7QUFDYTtBQUNySjtBQUNvVDtBQUNwVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsa1FBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI2MzcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1kMDFjMTIyNlxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZDAxYzEyMjZcXFwiLFxcXCJoYXNTY29wZWRcXFwiOmZhbHNlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvZGF0ZXBpY2tlclJhbmdlL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi1kMDFjMTIyNlwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LWQwMWMxMjI2XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9kYXRlcGlja2VyUmFuZ2UvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2Mzdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///637\n");
4272
4273/***/ }),
4274/* 638 */
4275/***/ (function(module, exports, __webpack_require__) {
4276
4277eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(639);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"316d614e\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-d01c1226\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-d01c1226\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2RhdGVwaWNrZXJSYW5nZS9pbmRleC52dWU/YjgyNiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUErVztBQUNyWSw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQWlHLGdDQUFnQztBQUN0SjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSxtTUFBbU0sbUZBQW1GO0FBQ3RSLDRNQUE0TSxtRkFBbUY7QUFDL1I7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI2MzguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZDAxYzEyMjZcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjMxNmQ2MTRlXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1kMDFjMTIyNlxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1kMDFjMTIyNlxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi1kMDFjMTIyNlwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2RhdGVwaWNrZXJSYW5nZS9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDYzOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///638\n");
4278
4279/***/ }),
4280/* 639 */
4281/***/ (function(module, exports, __webpack_require__) {
4282
4283eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formDiv{\\n display: inline-block;\\n line-height: 60px;\\n text-align: left;\\n}\\n.formDiv-left {\\n display:inline-block;\\n width: 35%;\\n text-align:right;\\n font-size:15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.formDiv-right {\\n width: 60%;\\n position: relative;\\n display:inline-block;\\n float: right;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/datepickerRange/myPlugin/page-ide/lib/components/levelThree/datepickerRange/index.vue\"],\"names\":[],\"mappings\":\";AAyDA;IACA,sBAAA;IACA,kBAAA;IACA,iBAAA;CACA;AACA;IACA,qBAAA;IACA,WAAA;IACA,iBAAA;IACA,eAAA;IACA,YAAA;IACA,eAAA;CACA;AACA;IACA,WAAA;IACA,mBAAA;IACA,qBAAA;IACA,aAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formDiv\\\" @mouseenter=\\\"show\\\" @mouseleave=\\\"hide\\\">\\r\\n <div class=\\\"formDiv-left\\\">\\r\\n <Label :style=\\\"{marginLeft:'5px'}\\\">{{property.label}}</Label>\\r\\n </div>\\r\\n <div class=\\\"formDiv-right\\\">\\r\\n <DatePicker\\r\\n type=\\\"daterange\\\"\\r\\n split-panels\\r\\n :placeholder=extend.placeholder\\r\\n :editable=\\\"false\\\"\\r\\n style=\\\"width: 50%;\\\"\\r\\n >\\r\\n </DatePicker>\\r\\n </div>\\r\\n <commomHoverModal ref=\\\"commomHoverModal\\\" ></commomHoverModal>\\r\\n\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport {editSetting} from './property';\\r\\nimport commomHoverModal from '../../common/commomHoverModal'\\r\\n\\r\\nexport default {\\r\\n data () {\\r\\n return {\\r\\n extend:{\\r\\n placeholder:\\\"\\\"\\r\\n },\\r\\n property:{\\r\\n label : '日期区间',\\r\\n },\\r\\n text: 'input',\\r\\n styles: {},\\r\\n type: 'date-picker-daterange',\\r\\n level: editSetting.level,\\r\\n };\\r\\n },\\r\\n components:{\\r\\n commomHoverModal\\r\\n },\\r\\n methods:{\\r\\n show(){\\r\\n this.$refs.commomHoverModal.handleMouseEnter();\\r\\n },\\r\\n hide(){\\r\\n this.$refs.commomHoverModal.handleMouseLeave();\\r\\n }\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style>\\r\\n .formDiv{\\r\\n display: inline-block;\\r\\n line-height: 60px;\\r\\n text-align: left;\\r\\n }\\r\\n .formDiv-left {\\r\\n display:inline-block;\\r\\n width: 35%;\\r\\n text-align:right;\\r\\n font-size:15px;\\r\\n float: left;\\r\\n margin: 0 10px;\\r\\n }\\r\\n .formDiv-right {\\r\\n width: 60%;\\r\\n position: relative;\\r\\n display:inline-block;\\r\\n float: right;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2RhdGVwaWNrZXJSYW5nZS9pbmRleC52dWU/MGJhNyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUErRTtBQUNsSDs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsY0FBYyw0QkFBNEIsd0JBQXdCLHVCQUF1QixHQUFHLGlCQUFpQiwyQkFBMkIsaUJBQWlCLHVCQUF1QixxQkFBcUIsa0JBQWtCLHFCQUFxQixHQUFHLGtCQUFrQixpQkFBaUIseUJBQXlCLDJCQUEyQixtQkFBbUIsR0FBRyxVQUFVLDZNQUE2TSxNQUFNLFdBQVcsV0FBVyxXQUFXLEtBQUssS0FBSyxXQUFXLFVBQVUsV0FBVyxVQUFVLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxXQUFXLFdBQVcsVUFBVSxpTUFBaU0saUJBQWlCLEtBQUssZ0JBQWdCLHFSQUFxUix1TEFBdUwsWUFBWSxtQkFBbUIsd0ZBQXdGLGlCQUFpQixvQkFBb0Isd0JBQXdCLHFEQUFxRCwyQkFBMkIsb0RBQW9ELHlEQUF5RCxzR0FBc0csU0FBUyxxQkFBcUIscUNBQXFDLGtCQUFrQixtQkFBbUIsK0RBQStELGFBQWEsb0JBQW9CLCtEQUErRCxhQUFhLFNBQVMseUZBQXlGLDJDQUEyQyxnQ0FBZ0MsNEJBQTRCLDJCQUEyQixPQUFPLHFCQUFxQiwrQkFBK0IscUJBQXFCLDJCQUEyQix5QkFBeUIsc0JBQXNCLHlCQUF5QixPQUFPLHNCQUFzQixxQkFBcUIsNkJBQTZCLCtCQUErQix1QkFBdUIsT0FBTyxtQ0FBbUM7O0FBRWp0RiIsImZpbGUiOiI2MzkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG4uZm9ybURpdntcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICBsaW5lLWhlaWdodDogNjBweDtcXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcXG59XFxuLmZvcm1EaXYtbGVmdCB7XFxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcbiAgICB3aWR0aDogMzUlO1xcbiAgICB0ZXh0LWFsaWduOnJpZ2h0O1xcbiAgICBmb250LXNpemU6MTVweDtcXG4gICAgZmxvYXQ6IGxlZnQ7XFxuICAgIG1hcmdpbjogMCAxMHB4O1xcbn1cXG4uZm9ybURpdi1yaWdodCB7XFxuICAgIHdpZHRoOiA2MCU7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxuICAgIGZsb2F0OiByaWdodDtcXG59XFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIkU6L3Byb2plY3QvcGFnZS1pZGUteGlhbi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2RhdGVwaWNrZXJSYW5nZS9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2RhdGVwaWNrZXJSYW5nZS9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQXlEQTtJQUNBLHNCQUFBO0lBQ0Esa0JBQUE7SUFDQSxpQkFBQTtDQUNBO0FBQ0E7SUFDQSxxQkFBQTtJQUNBLFdBQUE7SUFDQSxpQkFBQTtJQUNBLGVBQUE7SUFDQSxZQUFBO0lBQ0EsZUFBQTtDQUNBO0FBQ0E7SUFDQSxXQUFBO0lBQ0EsbUJBQUE7SUFDQSxxQkFBQTtJQUNBLGFBQUE7Q0FDQVwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjx0ZW1wbGF0ZT5cXHJcXG4gPGRpdiBjbGFzcz1cXFwiZm9ybURpdlxcXCIgICBAbW91c2VlbnRlcj1cXFwic2hvd1xcXCIgQG1vdXNlbGVhdmU9XFxcImhpZGVcXFwiPlxcclxcbiAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybURpdi1sZWZ0XFxcIj5cXHJcXG4gICAgICAgICA8TGFiZWwgOnN0eWxlPVxcXCJ7bWFyZ2luTGVmdDonNXB4J31cXFwiPnt7cHJvcGVydHkubGFiZWx9fTwvTGFiZWw+XFxyXFxuICAgICA8L2Rpdj5cXHJcXG4gICAgIDxkaXYgY2xhc3M9XFxcImZvcm1EaXYtcmlnaHRcXFwiPlxcclxcbiAgICAgICA8RGF0ZVBpY2tlclxcclxcbiAgICAgICAgICAgICAgIHR5cGU9XFxcImRhdGVyYW5nZVxcXCJcXHJcXG4gICAgICAgICAgICAgICBzcGxpdC1wYW5lbHNcXHJcXG4gICAgICAgICAgICAgICA6cGxhY2Vob2xkZXI9ZXh0ZW5kLnBsYWNlaG9sZGVyXFxyXFxuICAgICAgICAgICAgICAgOmVkaXRhYmxlPVxcXCJmYWxzZVxcXCJcXHJcXG4gICAgICAgICAgICAgICBzdHlsZT1cXFwid2lkdGg6IDUwJTtcXFwiXFxyXFxuICAgICAgID5cXHJcXG4gICAgICAgPC9EYXRlUGlja2VyPlxcclxcbiAgICAgPC9kaXY+XFxyXFxuICAgICA8Y29tbW9tSG92ZXJNb2RhbCByZWY9XFxcImNvbW1vbUhvdmVyTW9kYWxcXFwiID48L2NvbW1vbUhvdmVyTW9kYWw+XFxyXFxuXFxyXFxuIDwvZGl2PlxcclxcbjwvdGVtcGxhdGU+XFxyXFxuXFxyXFxuPHNjcmlwdD5cXHJcXG5pbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcXHJcXG5pbXBvcnQgY29tbW9tSG92ZXJNb2RhbCBmcm9tICcuLi8uLi9jb21tb24vY29tbW9tSG92ZXJNb2RhbCdcXHJcXG5cXHJcXG5leHBvcnQgZGVmYXVsdCB7XFxyXFxuICAgIGRhdGEgKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHtcXHJcXG4gICAgICAgICAgICBleHRlbmQ6e1xcclxcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjpcXFwiXFxcIlxcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgcHJvcGVydHk6e1xcclxcbiAgICAgICAgICAgICAgICBsYWJlbCA6ICfml6XmnJ/ljLrpl7QnLFxcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgdGV4dDogJ2lucHV0JyxcXHJcXG4gICAgICAgICAgICBzdHlsZXM6IHt9LFxcclxcbiAgICAgICAgICAgIHR5cGU6ICdkYXRlLXBpY2tlci1kYXRlcmFuZ2UnLFxcclxcbiAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgIH0sXFxyXFxuICAgIGNvbXBvbmVudHM6e1xcclxcbiAgICAgICAgY29tbW9tSG92ZXJNb2RhbFxcclxcbiAgICB9LFxcclxcbiAgICBtZXRob2RzOntcXHJcXG4gICAgICAgIHNob3coKXtcXHJcXG4gICAgICAgICAgICB0aGlzLiRyZWZzLmNvbW1vbUhvdmVyTW9kYWwuaGFuZGxlTW91c2VFbnRlcigpO1xcclxcbiAgICAgICAgfSxcXHJcXG4gICAgICAgIGhpZGUoKXtcXHJcXG4gICAgICAgICAgICB0aGlzLiRyZWZzLmNvbW1vbUhvdmVyTW9kYWwuaGFuZGxlTW91c2VMZWF2ZSgpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9LFxcclxcbiAgICBlZGl0U2V0dGluZyxcXHJcXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxcclxcbiAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWxcXHJcXG59O1xcclxcbjwvc2NyaXB0PlxcclxcblxcclxcbjxzdHlsZT5cXHJcXG4gIC5mb3JtRGl2e1xcclxcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXHJcXG4gICAgICBsaW5lLWhlaWdodDogNjBweDtcXHJcXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xcclxcbiAgfVxcclxcbiAgLmZvcm1EaXYtbGVmdCB7XFxyXFxuICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgICAgd2lkdGg6IDM1JTtcXHJcXG4gICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xcclxcbiAgICAgIGZvbnQtc2l6ZToxNXB4O1xcclxcbiAgICAgIGZsb2F0OiBsZWZ0O1xcclxcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xcclxcbiAgfVxcclxcbiAgLmZvcm1EaXYtcmlnaHQge1xcclxcbiAgICAgIHdpZHRoOiA2MCU7XFxyXFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xcclxcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcclxcbiAgICAgIGZsb2F0OiByaWdodDtcXHJcXG4gIH1cXHJcXG48L3N0eWxlPlxcclxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi1kMDFjMTIyNlwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2RhdGVwaWNrZXJSYW5nZS9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDYzOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///639\n");
4284
4285/***/ }),
4286/* 640 */
4287/***/ (function(module, exports, __webpack_require__) {
4288
4289"use strict";
4290eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = [{\n field: 'property.title',\n text: '日期区间',\n type: 'title'\n}, {\n field: 'property.prop',\n text: '属性名称',\n type: 'reqSelect',\n isShow: 'hide'\n}, {\n field: 'property.label',\n text: '标题',\n maxFont: '20',\n type: 'string'\n}, {\n field: 'extend.type',\n value: 'daterange',\n type: 'string',\n isShow: 'hide'\n}, {\n field: 'property.busiId',\n text: '标题',\n isShow: 'hide',\n type: 'string'\n}, {\n field: 'extend.placeholder',\n text: '提示文字',\n maxFont: '50',\n maxInputFont: '1000',\n type: 'string'\n}, {\n field: 'extend.itemWidth',\n text: 'itemWidth',\n type: 'number',\n value: 320,\n isShow: 'hide'\n}, {\n field: 'extend.options.disabledDate',\n text: '禁止选择的日期范围',\n type: 'dateSelect'\n}, {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'validateInput'\n}];\n\nvar editors12 = ['属性(时间范围)', {\n field: 'property.busiId',\n text: '标签',\n type: 'string',\n isShow: 'hide'\n}, {\n field: 'extend.itemWidth',\n text: 'itemWidth',\n type: 'number',\n value: 320,\n isShow: 'hide'\n}, '扩展属性', {\n field: 'extend.placeholder',\n text: '占位符(默认展示值)',\n type: 'string'\n}, {\n field: 'extend.type',\n value: 'daterange',\n type: 'string',\n isShow: 'hide'\n}, {\n field: 'extend.options.disabledDate',\n text: '禁止选择的日期范围',\n type: 'dateSelect'\n}, {\n field: 'extend.options.disabledHours',\n text: '禁止选择的时间范围(起始时间-截止时间)',\n value: \"0-24\",\n type: 'string'\n}, '校验', {\n field: 'extend.validate',\n text: '',\n type: 'validateArr'\n}];\n_common.commonTool.assembleData(editors);\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-date-picker-daterange',\n name: '日期区间',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2RhdGVwaWNrZXJSYW5nZS9wcm9wZXJ0eS5qcz9iNjE0Il0sIm5hbWVzIjpbImVkaXRvcnMiLCJmaWVsZCIsInRleHQiLCJ0eXBlIiwiaXNTaG93IiwibWF4Rm9udCIsInZhbHVlIiwibWF4SW5wdXRGb250IiwiZWRpdG9yczEyIiwiY29tbW9uVG9vbCIsImFzc2VtYmxlRGF0YSIsImNvbnNvbGUiLCJsb2ciLCJlZGl0U2V0dGluZyIsImtleSIsIm5hbWUiLCJsZXZlbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBOztBQUtBLElBQUlBLFVBQVMsQ0FDVDtBQUNJQyxXQUFPLGdCQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0FEUyxFQU1UO0FBQ0lGLFdBQU8sZUFEWDtBQUVJQyxVQUFNLE1BRlY7QUFHSUMsVUFBTSxXQUhWO0FBSUlDLFlBQU87QUFKWCxDQU5TLEVBWVQ7QUFDSUgsV0FBTyxnQkFEWDtBQUVJQyxVQUFNLElBRlY7QUFHSUcsYUFBUSxJQUhaO0FBSUlGLFVBQU07QUFKVixDQVpTLEVBa0JUO0FBQ0lGLFdBQU8sYUFEWDtBQUVJSyxXQUFPLFdBRlg7QUFHSUgsVUFBTSxRQUhWO0FBSUlDLFlBQU87QUFKWCxDQWxCUyxFQXdCVDtBQUNJSCxXQUFPLGlCQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJRSxZQUFPLE1BSFg7QUFJSUQsVUFBTTtBQUpWLENBeEJTLEVBOEJUO0FBQ0lGLFdBQU8sb0JBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lHLGFBQVEsSUFIWjtBQUlJRSxrQkFBYSxNQUpqQjtBQUtJSixVQUFNO0FBTFYsQ0E5QlMsRUFxQ1Q7QUFDSUYsV0FBTyxrQkFEWDtBQUVJQyxVQUFNLFdBRlY7QUFHSUMsVUFBTSxRQUhWO0FBSUlHLFdBQU8sR0FKWDtBQUtJRixZQUFPO0FBTFgsQ0FyQ1MsRUE0Q1Q7QUFDSUgsV0FBTyw2QkFEWDtBQUVJQyxVQUFNLFdBRlY7QUFHSUMsVUFBTTtBQUhWLENBNUNTLEVBaURUO0FBQ0lGLFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU07QUFIVixDQWpEUyxDQUFiOztBQXdEQSxJQUFJSyxZQUFXLENBQ1gsVUFEVyxFQUVYO0FBQ0lQLFdBQU8saUJBRFg7QUFFSUMsVUFBTSxJQUZWO0FBR0lDLFVBQU0sUUFIVjtBQUlJQyxZQUFPO0FBSlgsQ0FGVyxFQVFYO0FBQ0lILFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxXQUZWO0FBR0lDLFVBQU0sUUFIVjtBQUlJRyxXQUFPLEdBSlg7QUFLSUYsWUFBTztBQUxYLENBUlcsRUFlWCxNQWZXLEVBZ0JYO0FBQ0lILFdBQU8sb0JBRFg7QUFFSUMsVUFBTSxZQUZWO0FBR0lDLFVBQU07QUFIVixDQWhCVyxFQXFCWDtBQUNJRixXQUFPLGFBRFg7QUFFSUssV0FBTyxXQUZYO0FBR0lILFVBQU0sUUFIVjtBQUlJQyxZQUFPO0FBSlgsQ0FyQlcsRUEyQlg7QUFDSUgsV0FBTyw2QkFEWDtBQUVJQyxVQUFNLFdBRlY7QUFHSUMsVUFBTTtBQUhWLENBM0JXLEVBZ0NYO0FBQ0lGLFdBQU8sOEJBRFg7QUFFSUMsVUFBTSxzQkFGVjtBQUdJSSxXQUFNLE1BSFY7QUFJSUgsVUFBTTtBQUpWLENBaENXLEVBc0NYLElBdENXLEVBdUNYO0FBQ0lGLFdBQU8saUJBRFg7QUFFSUMsVUFBTSxFQUZWO0FBR0lDLFVBQU07QUFIVixDQXZDVyxDQUFmO0FBNkNBTSxtQkFBV0MsWUFBWCxDQUF3QlYsT0FBeEI7QUFDQVcsUUFBUUMsR0FBUixDQUFZWixPQUFaO0FBQ08sSUFBTWEsb0NBQWM7QUFDdkJDLFNBQUssNEJBRGtCO0FBRXZCQyxVQUFNLE1BRmlCO0FBR3ZCQyxXQUFNLENBSGlCO0FBSXZCaEIsYUFBUUE7QUFKZSxDQUFwQiIsImZpbGUiOiI2NDAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gIE5vdGUg5bel5YW357G7XHJcbiAqL1xyXG5pbXBvcnQge2NvbW1vblRvb2x9IGZyb20gXCIuLi8uLi9jb21tb24vY29tbW9uXCJcclxuLypcclxuTm90ZSDlrprkuYnoh6rlrprkuYnlsZ7mgKfvvIzlhazlhbHlsZ7mgKfku45jb21tb27mlofku7bph4zor7vlj5ZcclxuYXV0aG9yIOWPtueroOa1qVxyXG4gKi9cclxubGV0IGVkaXRvcnM9IFtcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LnRpdGxlJyxcclxuICAgICAgICB0ZXh0OiAn5pel5pyf5Yy66Ze0JyxcclxuICAgICAgICB0eXBlOiAndGl0bGUnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkucHJvcCcsXHJcbiAgICAgICAgdGV4dDogJ+WxnuaAp+WQjeensCcsXHJcbiAgICAgICAgdHlwZTogJ3JlcVNlbGVjdCcsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5sYWJlbCcsXHJcbiAgICAgICAgdGV4dDogJ+agh+mimCcsXHJcbiAgICAgICAgbWF4Rm9udDonMjAnLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLnR5cGUnLFxyXG4gICAgICAgIHZhbHVlOiAnZGF0ZXJhbmdlJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkuYnVzaUlkJyxcclxuICAgICAgICB0ZXh0OiAn5qCH6aKYJyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLnBsYWNlaG9sZGVyJyxcclxuICAgICAgICB0ZXh0OiAn5o+Q56S65paH5a2XJyxcclxuICAgICAgICBtYXhGb250Oic1MCcsXHJcbiAgICAgICAgbWF4SW5wdXRGb250OicxMDAwJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5pdGVtV2lkdGgnLFxyXG4gICAgICAgIHRleHQ6ICdpdGVtV2lkdGgnLFxyXG4gICAgICAgIHR5cGU6ICdudW1iZXInLFxyXG4gICAgICAgIHZhbHVlOiAzMjAsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5vcHRpb25zLmRpc2FibGVkRGF0ZScsXHJcbiAgICAgICAgdGV4dDogJ+emgeatoumAieaLqeeahOaXpeacn+iMg+WbtCcsXHJcbiAgICAgICAgdHlwZTogJ2RhdGVTZWxlY3QnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZGF0YS5oZWlnaHRMZXZlbCcsXHJcbiAgICAgICAgdGV4dDogJ+aYr+WQpuaYvuekuicsXHJcbiAgICAgICAgdHlwZTogJ3ZhbGlkYXRlSW5wdXQnXHJcbiAgICB9XHJcbl07XHJcblxyXG5sZXQgZWRpdG9yczEyPSBbXHJcbiAgICAn5bGe5oCnKOaXtumXtOiMg+WbtCknLFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkuYnVzaUlkJyxcclxuICAgICAgICB0ZXh0OiAn5qCH562+JyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLml0ZW1XaWR0aCcsXHJcbiAgICAgICAgdGV4dDogJ2l0ZW1XaWR0aCcsXHJcbiAgICAgICAgdHlwZTogJ251bWJlcicsXHJcbiAgICAgICAgdmFsdWU6IDMyMCxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnXHJcbiAgICB9LFxyXG4gICAgJ+aJqeWxleWxnuaApycsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdleHRlbmQucGxhY2Vob2xkZXInLFxyXG4gICAgICAgIHRleHQ6ICfljaDkvY3nrKbvvIjpu5jorqTlsZXnpLrlgLzvvIknLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLnR5cGUnLFxyXG4gICAgICAgIHZhbHVlOiAnZGF0ZXJhbmdlJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLm9wdGlvbnMuZGlzYWJsZWREYXRlJyxcclxuICAgICAgICB0ZXh0OiAn56aB5q2i6YCJ5oup55qE5pel5pyf6IyD5Zu0JyxcclxuICAgICAgICB0eXBlOiAnZGF0ZVNlbGVjdCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdleHRlbmQub3B0aW9ucy5kaXNhYmxlZEhvdXJzJyxcclxuICAgICAgICB0ZXh0OiAn56aB5q2i6YCJ5oup55qE5pe26Ze06IyD5Zu0KOi1t+Wni+aXtumXtC3miKrmraLml7bpl7QpJyxcclxuICAgICAgICB2YWx1ZTpcIjAtMjRcIixcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSxcclxuICAgICfmoKHpqownLFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLnZhbGlkYXRlJyxcclxuICAgICAgICB0ZXh0OiAnJyxcclxuICAgICAgICB0eXBlOiAndmFsaWRhdGVBcnInXHJcbiAgICB9XHJcbl07XHJcbmNvbW1vblRvb2wuYXNzZW1ibGVEYXRhKGVkaXRvcnMpO1xyXG5jb25zb2xlLmxvZyhlZGl0b3JzKTtcclxuZXhwb3J0IGNvbnN0IGVkaXRTZXR0aW5nID0ge1xyXG4gICAga2V5OiAnZ2FlYS1kYXRlLXBpY2tlci1kYXRlcmFuZ2UnLFxyXG4gICAgbmFtZTogJ+aXpeacn+WMuumXtCcsXHJcbiAgICBsZXZlbDo0LFxyXG4gICAgZWRpdG9yczplZGl0b3JzXHJcbn07XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvZGF0ZXBpY2tlclJhbmdlL3Byb3BlcnR5LmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///640\n");
4291
4292/***/ }),
4293/* 641 */
4294/***/ (function(module, __webpack_exports__, __webpack_require__) {
4295
4296"use strict";
4297eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"formDiv\",\n on: { mouseenter: _vm.show, mouseleave: _vm.hide }\n },\n [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [\n _c(\"Label\", { style: { marginLeft: \"5px\" } }, [\n _vm._v(_vm._s(_vm.property.label))\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"formDiv-right\" },\n [\n _c(\"DatePicker\", {\n staticStyle: { width: \"50%\" },\n attrs: {\n type: \"daterange\",\n \"split-panels\": \"\",\n placeholder: _vm.extend.placeholder,\n editable: false\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"commomHoverModal\", { ref: \"commomHoverModal\" })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-d01c1226\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2RhdGVwaWNrZXJSYW5nZS9pbmRleC52dWU/ZDRiOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxTQUFTLDhCQUE4QjtBQUN2QztBQUNBLHVCQUF1QixTQUFTLG9CQUFvQixFQUFFO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLCtCQUErQjtBQUN4QztBQUNBO0FBQ0EsMEJBQTBCLGVBQWU7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLDBCQUEwQjtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjY0MS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7XG4gICAgICBzdGF0aWNDbGFzczogXCJmb3JtRGl2XCIsXG4gICAgICBvbjogeyBtb3VzZWVudGVyOiBfdm0uc2hvdywgbW91c2VsZWF2ZTogX3ZtLmhpZGUgfVxuICAgIH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiZGl2XCIsXG4gICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiZm9ybURpdi1sZWZ0XCIgfSxcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFwiTGFiZWxcIiwgeyBzdHlsZTogeyBtYXJnaW5MZWZ0OiBcIjVweFwiIH0gfSwgW1xuICAgICAgICAgICAgX3ZtLl92KF92bS5fcyhfdm0ucHJvcGVydHkubGFiZWwpKVxuICAgICAgICAgIF0pXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgICksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXG4gICAgICAgIFwiZGl2XCIsXG4gICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiZm9ybURpdi1yaWdodFwiIH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcIkRhdGVQaWNrZXJcIiwge1xuICAgICAgICAgICAgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiNTAlXCIgfSxcbiAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgIHR5cGU6IFwiZGF0ZXJhbmdlXCIsXG4gICAgICAgICAgICAgIFwic3BsaXQtcGFuZWxzXCI6IFwiXCIsXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBfdm0uZXh0ZW5kLnBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICBlZGl0YWJsZTogZmFsc2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF9jKFwiY29tbW9tSG92ZXJNb2RhbFwiLCB7IHJlZjogXCJjb21tb21Ib3Zlck1vZGFsXCIgfSlcbiAgICBdLFxuICAgIDFcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtZDAxYzEyMjZcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtZDAxYzEyMjZcIixcImhhc1Njb3BlZFwiOmZhbHNlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9kYXRlcGlja2VyUmFuZ2UvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2NDFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///641\n");
4298
4299/***/ }),
4300/* 642 */
4301/***/ (function(module, __webpack_exports__, __webpack_require__) {
4302
4303"use strict";
4304eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(172);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_675cdba8_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(646);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(643)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-675cdba8\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_675cdba8_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/endDateChoose/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-675cdba8\", Component.options)\n } else {\n hotAPI.reload(\"data-v-675cdba8\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2VuZERhdGVDaG9vc2UvaW5kZXgudnVlPzAyZmIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFxVjtBQUMvVjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXdGO0FBQ3pIO0FBQ3dJO0FBQ2E7QUFDcko7QUFDbVQ7QUFDblQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGlRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNjQyLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNjc1Y2RiYThcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNjc1Y2RiYThcXFwiLFxcXCJoYXNTY29wZWRcXFwiOnRydWUsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gXCJkYXRhLXYtNjc1Y2RiYThcIlxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9lbmREYXRlQ2hvb3NlL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi02NzVjZGJhOFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTY3NWNkYmE4XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9lbmREYXRlQ2hvb3NlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjQyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///642\n");
4305
4306/***/ }),
4307/* 643 */
4308/***/ (function(module, exports, __webpack_require__) {
4309
4310eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(644);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"28270e46\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-675cdba8\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-675cdba8\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2VuZERhdGVDaG9vc2UvaW5kZXgudnVlP2FmYTIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBOFc7QUFDcFksNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUFpRyxnQ0FBZ0M7QUFDdEo7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsbU1BQW1NLGtGQUFrRjtBQUNyUiw0TUFBNE0sa0ZBQWtGO0FBQzlSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNjQzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTY3NWNkYmE4XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjI4MjcwZTQ2XCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi02NzVjZGJhOFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTY3NWNkYmE4XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNjc1Y2RiYThcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2VuZERhdGVDaG9vc2UvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2NDNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///643\n");
4311
4312/***/ }),
4313/* 644 */
4314/***/ (function(module, exports, __webpack_require__) {
4315
4316eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formDiv[data-v-675cdba8]{\\n display:inline-block;\\n line-height: 60px;\\n}\\n.formDiv-left[data-v-675cdba8] {\\n display:inline-block;\\n width: 35%;\\n text-align:right;\\n font-size:15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.formDiv-right[data-v-675cdba8] {\\n width: 60%;\\n position: relative;\\n display:inline-block;\\n float: right;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/endDateChoose/myPlugin/page-ide/lib/components/levelThree/endDateChoose/index.vue\"],\"names\":[],\"mappings\":\";AAqDA;EACA,qBAAA;EACA,kBAAA;CACA;AACA;EACA,qBAAA;EACA,WAAA;EACA,iBAAA;EACA,eAAA;EACA,YAAA;EACA,eAAA;CACA;AACA;EACA,WAAA;EACA,mBAAA;EACA,qBAAA;EACA,aAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formDiv\\\">\\r\\n <div class=\\\"formDiv-left\\\">\\r\\n <Label :style=\\\"{marginLeft:'5px'}\\\">{{property.label}}</Label>\\r\\n </div>\\r\\n <div class=\\\"formDiv-right\\\" >\\r\\n <div style=\\\"display: inline-block;text-align: left;\\\">\\r\\n <DatePicker type=\\\"date\\\" placeholder=\\\"请选择,有效期为一年\\\"></DatePicker>\\r\\n </div>\\r\\n <div style=\\\"width:1%;display: inline-block;text-align: left;\\\">-</div>\\r\\n <div style=\\\"width: 38%;display: inline-block;text-align: left;\\\">\\r\\n <Input style=\\\"background-color: #fff\\\" disabled clearable/>\\r\\n </div>\\r\\n </div>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport {editSetting} from './property';\\r\\nexport default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n data () {\\r\\n return {\\r\\n property:{\\r\\n label : '标签',\\r\\n },\\r\\n text: 'label',\\r\\n styles: {\\r\\n display:'inline-block',\\r\\n width:'40%',\\r\\n height:'60px',\\r\\n lineHeight:'60px',\\r\\n textAlign:'right',\\r\\n fontSize:'15px'\\r\\n },\\r\\n type: 'label',\\r\\n level: editSetting.level,\\r\\n };\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .formDiv{\\r\\n display:inline-block;\\r\\n line-height: 60px;\\r\\n }\\r\\n .formDiv-left {\\r\\n display:inline-block;\\r\\n width: 35%;\\r\\n text-align:right;\\r\\n font-size:15px;\\r\\n float: left;\\r\\n margin: 0 10px;\\r\\n }\\r\\n .formDiv-right {\\r\\n width: 60%;\\r\\n position: relative;\\r\\n display:inline-block;\\r\\n float: right;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2VuZERhdGVDaG9vc2UvaW5kZXgudnVlPzcxY2QiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBK0U7QUFDbEg7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLCtCQUErQix5QkFBeUIsc0JBQXNCLEdBQUcsa0NBQWtDLHlCQUF5QixlQUFlLHFCQUFxQixtQkFBbUIsZ0JBQWdCLG1CQUFtQixHQUFHLG1DQUFtQyxlQUFlLHVCQUF1Qix5QkFBeUIsaUJBQWlCLEdBQUcsVUFBVSx5TUFBeU0sTUFBTSxXQUFXLFdBQVcsS0FBSyxLQUFLLFdBQVcsVUFBVSxXQUFXLFVBQVUsVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFdBQVcsV0FBVyxVQUFVLGtKQUFrSixpQkFBaUIsS0FBSyxnQkFBZ0IseUdBQXlHLGlCQUFpQixrSUFBa0ksc0JBQXNCLGlCQUFpQiw0Q0FBNEMsc0JBQXNCLGlCQUFpQixtS0FBbUssWUFBWSxtQkFBbUIsb0JBQW9CLG1CQUFtQixzQkFBc0IseUZBQXlGLHNFQUFzRSxrQkFBa0Isb0JBQW9CLDBCQUEwQixrREFBa0Qsd0RBQXdELDZPQUE2TyxzRkFBc0YsU0FBUyx5RkFBeUYsa0RBQWtELDZCQUE2QiwwQkFBMEIsT0FBTyxxQkFBcUIsNkJBQTZCLG1CQUFtQix5QkFBeUIsdUJBQXVCLG9CQUFvQix1QkFBdUIsT0FBTyxzQkFBc0IsbUJBQW1CLDJCQUEyQiw2QkFBNkIscUJBQXFCLE9BQU8sbUNBQW1DOztBQUVuckYiLCJmaWxlIjoiNjQ0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLmZvcm1EaXZbZGF0YS12LTY3NWNkYmE4XXtcXG4gIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcbiAgbGluZS1oZWlnaHQ6IDYwcHg7XFxufVxcbi5mb3JtRGl2LWxlZnRbZGF0YS12LTY3NWNkYmE4XSB7XFxuICBkaXNwbGF5OmlubGluZS1ibG9jaztcXG4gIHdpZHRoOiAzNSU7XFxuICB0ZXh0LWFsaWduOnJpZ2h0O1xcbiAgZm9udC1zaXplOjE1cHg7XFxuICBmbG9hdDogbGVmdDtcXG4gIG1hcmdpbjogMCAxMHB4O1xcbn1cXG4uZm9ybURpdi1yaWdodFtkYXRhLXYtNjc1Y2RiYThdIHtcXG4gIHdpZHRoOiA2MCU7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OmlubGluZS1ibG9jaztcXG4gIGZsb2F0OiByaWdodDtcXG59XFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIkU6L3Byb2plY3QvcGFnZS1pZGUteGlhbi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2VuZERhdGVDaG9vc2UvbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9lbmREYXRlQ2hvb3NlL2luZGV4LnZ1ZVwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiO0FBcURBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtDQUNBO0FBQ0E7RUFDQSxxQkFBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtDQUNBO0FBQ0E7RUFDQSxXQUFBO0VBQ0EsbUJBQUE7RUFDQSxxQkFBQTtFQUNBLGFBQUE7Q0FDQVwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjx0ZW1wbGF0ZT5cXHJcXG4gIDxkaXYgY2xhc3M9XFxcImZvcm1EaXZcXFwiPlxcclxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2LWxlZnRcXFwiPlxcclxcbiAgICAgIDxMYWJlbCA6c3R5bGU9XFxcInttYXJnaW5MZWZ0Oic1cHgnfVxcXCI+e3twcm9wZXJ0eS5sYWJlbH19PC9MYWJlbD5cXHJcXG4gICAgPC9kaXY+XFxyXFxuICAgIDxkaXYgY2xhc3M9XFxcImZvcm1EaXYtcmlnaHRcXFwiID5cXHJcXG4gICAgICA8ZGl2IHN0eWxlPVxcXCJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7dGV4dC1hbGlnbjogbGVmdDtcXFwiPlxcclxcbiAgICAgICAgPERhdGVQaWNrZXIgdHlwZT1cXFwiZGF0ZVxcXCIgIHBsYWNlaG9sZGVyPVxcXCLor7fpgInmi6ks5pyJ5pWI5pyf5Li65LiA5bm0XFxcIj48L0RhdGVQaWNrZXI+XFxyXFxuICAgICAgPC9kaXY+XFxyXFxuICAgICAgPGRpdiBzdHlsZT1cXFwid2lkdGg6MSU7ZGlzcGxheTogaW5saW5lLWJsb2NrO3RleHQtYWxpZ246IGxlZnQ7XFxcIj4tPC9kaXY+XFxyXFxuICAgICAgPGRpdiBzdHlsZT1cXFwid2lkdGg6IDM4JTtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7dGV4dC1hbGlnbjogbGVmdDtcXFwiPlxcclxcbiAgICAgICAgICA8SW5wdXQgIHN0eWxlPVxcXCJiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmXFxcIiBkaXNhYmxlZCBjbGVhcmFibGUvPlxcclxcbiAgICAgIDwvZGl2PlxcclxcbiAgICA8L2Rpdj5cXHJcXG4gIDwvZGl2PlxcclxcbjwvdGVtcGxhdGU+XFxyXFxuXFxyXFxuPHNjcmlwdD5cXHJcXG5pbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcXHJcXG5leHBvcnQgZGVmYXVsdCB7XFxyXFxuICAgIC8vIHByb3BzOiB7XFxyXFxuICAgIC8vICAgICB0ZXh0OiB7XFxyXFxuICAgIC8vICAgICAgICAgdHlwZTogU3RyaW5nLFxcclxcbiAgICAvLyAgICAgICAgIGRlZmF1bHQ6ICdCdXR0b24gVGV4dCdcXHJcXG4gICAgLy8gICAgIH0sXFxyXFxuICAgIC8vICAgICB0eXBlOiBTdHJpbmcsXFxyXFxuICAgIC8vICAgICBzdHlsZXM6IE9iamVjdFxcclxcbiAgICAvLyB9LFxcclxcbiAgICBkYXRhICgpIHtcXHJcXG4gICAgICAgIHJldHVybiB7XFxyXFxuICAgICAgICAgICAgcHJvcGVydHk6e1xcclxcbiAgICAgICAgICAgICAgICBsYWJlbCA6ICfmoIfnrb4nLFxcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgdGV4dDogJ2xhYmVsJyxcXHJcXG4gICAgICAgICAgICBzdHlsZXM6IHtcXHJcXG4gICAgICAgICAgICAgICAgZGlzcGxheTonaW5saW5lLWJsb2NrJyxcXHJcXG4gICAgICAgICAgICAgICAgd2lkdGg6JzQwJScsXFxyXFxuICAgICAgICAgICAgICAgIGhlaWdodDonNjBweCcsXFxyXFxuICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6JzYwcHgnLFxcclxcbiAgICAgICAgICAgICAgICB0ZXh0QWxpZ246J3JpZ2h0JyxcXHJcXG4gICAgICAgICAgICAgICAgZm9udFNpemU6JzE1cHgnXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICB0eXBlOiAnbGFiZWwnLFxcclxcbiAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgIH0sXFxyXFxuICAgIGVkaXRTZXR0aW5nLFxcclxcbiAgICBuYW1lOiBlZGl0U2V0dGluZy5rZXksXFxyXFxuICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxcclxcbn07XFxyXFxuPC9zY3JpcHQ+XFxyXFxuXFxyXFxuPHN0eWxlIHNjb3BlZD5cXHJcXG4gIC5mb3JtRGl2e1xcclxcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXHJcXG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XFxyXFxuICB9XFxyXFxuICAuZm9ybURpdi1sZWZ0IHtcXHJcXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgIHdpZHRoOiAzNSU7XFxyXFxuICAgIHRleHQtYWxpZ246cmlnaHQ7XFxyXFxuICAgIGZvbnQtc2l6ZToxNXB4O1xcclxcbiAgICBmbG9hdDogbGVmdDtcXHJcXG4gICAgbWFyZ2luOiAwIDEwcHg7XFxyXFxuICB9XFxyXFxuICAuZm9ybURpdi1yaWdodCB7XFxyXFxuICAgIHdpZHRoOiA2MCU7XFxyXFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXHJcXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgIGZsb2F0OiByaWdodDtcXHJcXG4gIH1cXHJcXG48L3N0eWxlPlxcclxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi02NzVjZGJhOFwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvZW5kRGF0ZUNob29zZS9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDY0NFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///644\n");
4317
4318/***/ }),
4319/* 645 */
4320/***/ (function(module, exports, __webpack_require__) {
4321
4322"use strict";
4323eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = ['属性(有效期)', {\n field: 'property.label',\n text: '标签',\n type: 'string'\n}, {\n field: 'property.prop',\n text: '属性名称',\n type: 'reqSelect',\n isShow: 'hide'\n}, '高级', {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'endDateHeightLevel'\n}];\n\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-endDateChoose',\n name: '有效期选择',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2VuZERhdGVDaG9vc2UvcHJvcGVydHkuanM/NDM5NiJdLCJuYW1lcyI6WyJlZGl0b3JzIiwiZmllbGQiLCJ0ZXh0IiwidHlwZSIsImlzU2hvdyIsImNvbnNvbGUiLCJsb2ciLCJlZGl0U2V0dGluZyIsImtleSIsIm5hbWUiLCJsZXZlbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBOztBQXlCQSxJQUFJQSxVQUFTLENBQ1QsU0FEUyxFQUVUO0FBQ0lDLFNBQU8sZ0JBRFg7QUFFSUMsUUFBTSxJQUZWO0FBR0lDLFFBQU07QUFIVixDQUZTLEVBT1Q7QUFDSUYsU0FBTyxlQURYO0FBRUlDLFFBQU0sTUFGVjtBQUdJQyxRQUFNLFdBSFY7QUFJSUMsVUFBTztBQUpYLENBUFMsRUFhVCxJQWJTLEVBY1Q7QUFDSUgsU0FBTyxrQkFEWDtBQUVJQyxRQUFNLE1BRlY7QUFHSUMsUUFBTTtBQUhWLENBZFMsQ0FBYjs7QUE0QkFFLFFBQVFDLEdBQVIsQ0FBWU4sT0FBWjtBQUNPLElBQU1PLG9DQUFjO0FBQ3ZCQyxPQUFLLG9CQURrQjtBQUV2QkMsUUFBTSxPQUZpQjtBQUd2QkMsU0FBTSxDQUhpQjtBQUl2QlYsV0FBUUE7QUFKZSxDQUFwQiIsImZpbGUiOiI2NDUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gIE5vdGUg5bel5YW357G7XHJcbiAqL1xyXG5pbXBvcnQge2NvbW1vblRvb2x9IGZyb20gXCIuLi8uLi9jb21tb24vY29tbW9uXCJcclxuLypcclxuTm90ZSDlrprkuYnoh6rlrprkuYnlsZ7mgKfvvIzlhazlhbHlsZ7mgKfku45jb21tb27mlofku7bph4zor7vlj5ZcclxuYXV0aG9yIOWPtueroOa1qVxyXG7lpoLmnpzmmK9sYWJlbCDov5nkuKrmianlsZXlsZ7mgKcg5LiN56Gu5a6a77yM57uZ5LiA5Liq5paH5pys5qGG6K6p5LuW5aGr5YaZa2V577yM5LiA5Liq5paH5pys5qGG5aGr5YaZdmFsdWVcclxu5q+U5aaC5Ye6546w6L+Z56eN5oOF5Ya1ICAge1xyXG4gICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJsYWJlbFwiLFxyXG4gICAgICAgICAgICAgICAgICBcImxhYmVsXCI6IFwi5LyB5Lia5ZCN56ewXCIsXHJcbiAgICAgICAgICAgICAgICAgIFwicHJvcFwiOiBcImFwcGx5TmFtZVwiLFxyXG4gICAgICAgICAgICAgICAgICBcImV4dGVuZFwiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgXCJsaW5rYWdlQ2hhbmdlVmFsdWVcIjogW1xyXG4gICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJvdXRcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJjaGFuZ2VLZXlcIjogXCJjdXN0b21lckZ1bGxOYW1lXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibm9DaGFuZ2VFeGlzdFwiOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbHVlc1wiOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjaGFuZ2VQYXJhbVwiOiBcImFwcGx5TmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gKi9cclxubGV0IGVkaXRvcnM9IFtcclxuICAgICflsZ7mgKco5pyJ5pWI5pyfKScsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5sYWJlbCcsXHJcbiAgICAgICAgdGV4dDogJ+agh+etvicsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5wcm9wJyxcclxuICAgICAgICB0ZXh0OiAn5bGe5oCn5ZCN56ewJyxcclxuICAgICAgICB0eXBlOiAncmVxU2VsZWN0JyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnXHJcbiAgICB9LFxyXG4gICAgJ+mrmOe6pycsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdkYXRhLmhlaWdodExldmVsJyxcclxuICAgICAgICB0ZXh0OiAn5piv5ZCm5pi+56S6JyxcclxuICAgICAgICB0eXBlOiAnZW5kRGF0ZUhlaWdodExldmVsJ1xyXG4gICAgfSxcclxuICAgIC8vICfmianlsZXlsZ7mgKcnLFxyXG4gICAgLy8gJ2xpbmthZ2VDaGFuZ2VWYWx1ZScsXHJcbiAgICAvLyB7XHJcbiAgICAvLyAgICAgZmllbGQ6ICdleHRlbmQubGlua2FnZUNoYW5nZVZhbHVlJyxcclxuICAgIC8vICAgICB0ZXh0OiAn6IGU5YqoJyxcclxuICAgIC8vICAgICB0eXBlOiAnbGlua2FnZUNoYW5nZVZhbHVlJ1xyXG4gICAgLy8gfSxcclxuXTtcclxuLy8gY29tbW9uVG9vbC5hc3NlbWJsZURhdGEoZWRpdG9ycyk7XHJcbmNvbnNvbGUubG9nKGVkaXRvcnMpO1xyXG5leHBvcnQgY29uc3QgZWRpdFNldHRpbmcgPSB7XHJcbiAgICBrZXk6ICdnYWVhLWVuZERhdGVDaG9vc2UnLFxyXG4gICAgbmFtZTogJ+acieaViOacn+mAieaLqScsXHJcbiAgICBsZXZlbDo0LFxyXG4gICAgZWRpdG9yczplZGl0b3JzLFxyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2VuZERhdGVDaG9vc2UvcHJvcGVydHkuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///645\n");
4324
4325/***/ }),
4326/* 646 */
4327/***/ (function(module, __webpack_exports__, __webpack_require__) {
4328
4329"use strict";
4330eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"formDiv\" }, [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [\n _c(\"Label\", { style: { marginLeft: \"5px\" } }, [\n _vm._v(_vm._s(_vm.property.label))\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"formDiv-right\" }, [\n _c(\n \"div\",\n { staticStyle: { display: \"inline-block\", \"text-align\": \"left\" } },\n [\n _c(\"DatePicker\", {\n attrs: { type: \"date\", placeholder: \"请选择,有效期为一年\" }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticStyle: {\n width: \"1%\",\n display: \"inline-block\",\n \"text-align\": \"left\"\n }\n },\n [_vm._v(\"-\")]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticStyle: {\n width: \"38%\",\n display: \"inline-block\",\n \"text-align\": \"left\"\n }\n },\n [\n _c(\"Input\", {\n staticStyle: { \"background-color\": \"#fff\" },\n attrs: { disabled: \"\", clearable: \"\" }\n })\n ],\n 1\n )\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-675cdba8\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2VuZERhdGVDaG9vc2UvaW5kZXgudnVlPzIxZTgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IseUJBQXlCO0FBQzdDO0FBQ0E7QUFDQSxPQUFPLDhCQUE4QjtBQUNyQztBQUNBLHFCQUFxQixTQUFTLG9CQUFvQixFQUFFO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsK0JBQStCO0FBQzlDO0FBQ0E7QUFDQSxTQUFTLGVBQWUsZ0RBQWdELEVBQUU7QUFDMUU7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQixXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLDBCQUEwQiw2QkFBNkI7QUFDdkQsb0JBQW9CO0FBQ3BCLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI2NDYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwiZm9ybURpdlwiIH0sIFtcbiAgICBfYyhcbiAgICAgIFwiZGl2XCIsXG4gICAgICB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXYtbGVmdFwiIH0sXG4gICAgICBbXG4gICAgICAgIF9jKFwiTGFiZWxcIiwgeyBzdHlsZTogeyBtYXJnaW5MZWZ0OiBcIjVweFwiIH0gfSwgW1xuICAgICAgICAgIF92bS5fdihfdm0uX3MoX3ZtLnByb3BlcnR5LmxhYmVsKSlcbiAgICAgICAgXSlcbiAgICAgIF0sXG4gICAgICAxXG4gICAgKSxcbiAgICBfdm0uX3YoXCIgXCIpLFxuICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwiZm9ybURpdi1yaWdodFwiIH0sIFtcbiAgICAgIF9jKFxuICAgICAgICBcImRpdlwiLFxuICAgICAgICB7IHN0YXRpY1N0eWxlOiB7IGRpc3BsYXk6IFwiaW5saW5lLWJsb2NrXCIsIFwidGV4dC1hbGlnblwiOiBcImxlZnRcIiB9IH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcIkRhdGVQaWNrZXJcIiwge1xuICAgICAgICAgICAgYXR0cnM6IHsgdHlwZTogXCJkYXRlXCIsIHBsYWNlaG9sZGVyOiBcIuivt+mAieaLqSzmnInmlYjmnJ/kuLrkuIDlubRcIiB9XG4gICAgICAgICAgfSlcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfYyhcbiAgICAgICAgXCJkaXZcIixcbiAgICAgICAge1xuICAgICAgICAgIHN0YXRpY1N0eWxlOiB7XG4gICAgICAgICAgICB3aWR0aDogXCIxJVwiLFxuICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmUtYmxvY2tcIixcbiAgICAgICAgICAgIFwidGV4dC1hbGlnblwiOiBcImxlZnRcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgW192bS5fdihcIi1cIildXG4gICAgICApLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF9jKFxuICAgICAgICBcImRpdlwiLFxuICAgICAgICB7XG4gICAgICAgICAgc3RhdGljU3R5bGU6IHtcbiAgICAgICAgICAgIHdpZHRoOiBcIjM4JVwiLFxuICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmUtYmxvY2tcIixcbiAgICAgICAgICAgIFwidGV4dC1hbGlnblwiOiBcImxlZnRcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFwiSW5wdXRcIiwge1xuICAgICAgICAgICAgc3RhdGljU3R5bGU6IHsgXCJiYWNrZ3JvdW5kLWNvbG9yXCI6IFwiI2ZmZlwiIH0sXG4gICAgICAgICAgICBhdHRyczogeyBkaXNhYmxlZDogXCJcIiwgY2xlYXJhYmxlOiBcIlwiIH1cbiAgICAgICAgICB9KVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApXG4gICAgXSlcbiAgXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTY3NWNkYmE4XCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTY3NWNkYmE4XCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9lbmREYXRlQ2hvb3NlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjQ2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///646\n");
4331
4332/***/ }),
4333/* 647 */
4334/***/ (function(module, __webpack_exports__, __webpack_require__) {
4335
4336"use strict";
4337eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(173);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_da4ed0d6_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(651);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(648)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_da4ed0d6_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/iconButton/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-da4ed0d6\", Component.options)\n } else {\n hotAPI.reload(\"data-v-da4ed0d6\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2ljb25CdXR0b24vaW5kZXgudnVlPzM1YWIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFzVjtBQUNoVztBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXdGO0FBQ3pIO0FBQ3dJO0FBQ2E7QUFDcko7QUFDb1Q7QUFDcFQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGtRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNjQ3LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZGE0ZWQwZDZcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LWRhNGVkMGQ2XFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2ljb25CdXR0b24vaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LWRhNGVkMGQ2XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtZGE0ZWQwZDZcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2ljb25CdXR0b24vaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2NDdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///647\n");
4338
4339/***/ }),
4340/* 648 */
4341/***/ (function(module, exports, __webpack_require__) {
4342
4343eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(649);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"b644c010\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-da4ed0d6\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-da4ed0d6\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2ljb25CdXR0b24vaW5kZXgudnVlPzYzY2EiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBK1c7QUFDclksNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUFpRyxnQ0FBZ0M7QUFDdEo7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsbU1BQW1NLG1GQUFtRjtBQUN0Uiw0TUFBNE0sbUZBQW1GO0FBQy9SO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNjQ4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWRhNGVkMGQ2XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCJiNjQ0YzAxMFwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZGE0ZWQwZDZcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZGE0ZWQwZDZcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtZGE0ZWQwZDZcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9pY29uQnV0dG9uL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjQ4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///648\n");
4344
4345/***/ }),
4346/* 649 */
4347/***/ (function(module, exports, __webpack_require__) {
4348
4349eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2ljb25CdXR0b24vaW5kZXgudnVlP2JmNGYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBK0U7QUFDbEg7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLDJGQUEyRixxRkFBcUY7O0FBRXZNIiwiZmlsZSI6IjY0OS5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi1kYTRlZDBkNlwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2ljb25CdXR0b24vaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2NDlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///649\n");
4350
4351/***/ }),
4352/* 650 */
4353/***/ (function(module, exports, __webpack_require__) {
4354
4355"use strict";
4356eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = ['属性(图标按钮)', {\n field: 'property.busiId',\n text: '标签',\n type: 'string',\n isShow: 'hide'\n}, {\n field: 'property.title',\n text: '标题',\n type: 'string'\n}, {\n field: 'property.width',\n text: '宽度',\n type: 'number',\n isShow: 'hide',\n value: 70\n}, {\n field: 'property.type',\n text: '按钮类型',\n type: 'iconBtnTypeSelect'\n}];\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-icon-button',\n name: '图标按钮',\n level: 3,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2ljb25CdXR0b24vcHJvcGVydHkuanM/YmVkNCJdLCJuYW1lcyI6WyJlZGl0b3JzIiwiZmllbGQiLCJ0ZXh0IiwidHlwZSIsImlzU2hvdyIsInZhbHVlIiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibmFtZSIsImxldmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7O0FBS0EsSUFBSUEsVUFBUyxDQUNULFVBRFMsRUFFVDtBQUNJQyxXQUFPLGlCQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJQyxVQUFNLFFBSFY7QUFJSUMsWUFBTztBQUpYLENBRlMsRUFRVDtBQUNJSCxXQUFPLGdCQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0FSUyxFQWFUO0FBQ0lGLFdBQU8sZ0JBRFg7QUFFSUMsVUFBTSxJQUZWO0FBR0lDLFVBQU0sUUFIVjtBQUlJQyxZQUFPLE1BSlg7QUFLSUMsV0FBTztBQUxYLENBYlMsRUFvQlQ7QUFDSUosV0FBTyxlQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0FwQlMsQ0FBYjtBQTBCQUcsUUFBUUMsR0FBUixDQUFZUCxPQUFaO0FBQ08sSUFBTVEsb0NBQWM7QUFDdkJDLFNBQUssa0JBRGtCO0FBRXZCQyxVQUFNLE1BRmlCO0FBR3ZCQyxXQUFNLENBSGlCO0FBSXZCWCxhQUFRQTtBQUplLENBQXBCIiwiZmlsZSI6IjY1MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAgTm90ZSDlt6XlhbfnsbtcclxuICovXHJcbmltcG9ydCB7Y29tbW9uVG9vbH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jb21tb25cIlxyXG4vKlxyXG5Ob3RlIOWumuS5ieiHquWumuS5ieWxnuaAp++8jOWFrOWFseWxnuaAp+S7jmNvbW1vbuaWh+S7tumHjOivu+WPllxyXG5hdXRob3Ig5Y+256ug5rWpXHJcbiAqL1xyXG5sZXQgZWRpdG9ycz0gW1xyXG4gICAgJ+WxnuaApyjlm77moIfmjInpkq4pJyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmJ1c2lJZCcsXHJcbiAgICAgICAgdGV4dDogJ+agh+etvicsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LnRpdGxlJyxcclxuICAgICAgICB0ZXh0OiAn5qCH6aKYJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LndpZHRoJyxcclxuICAgICAgICB0ZXh0OiAn5a695bqmJyxcclxuICAgICAgICB0eXBlOiAnbnVtYmVyJyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnLFxyXG4gICAgICAgIHZhbHVlOiA3MFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LnR5cGUnLFxyXG4gICAgICAgIHRleHQ6ICfmjInpkq7nsbvlnosnLFxyXG4gICAgICAgIHR5cGU6ICdpY29uQnRuVHlwZVNlbGVjdCdcclxuICAgIH1cclxuXTtcclxuY29uc29sZS5sb2coZWRpdG9ycyk7XHJcbmV4cG9ydCBjb25zdCBlZGl0U2V0dGluZyA9IHtcclxuICAgIGtleTogJ2dhZWEtaWNvbi1idXR0b24nLFxyXG4gICAgbmFtZTogJ+Wbvuagh+aMiemSricsXHJcbiAgICBsZXZlbDozLFxyXG4gICAgZWRpdG9yczplZGl0b3JzLFxyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2ljb25CdXR0b24vcHJvcGVydHkuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///650\n");
4357
4358/***/ }),
4359/* 651 */
4360/***/ (function(module, __webpack_exports__, __webpack_require__) {
4361
4362"use strict";
4363eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"formDiv\" }, [\n _c(\n \"span\",\n [\n _c(\"Icon\", { style: _vm.styles, attrs: { type: \"ios-trash-outline\" } }),\n _vm._v(_vm._s(_vm.property.title))\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-da4ed0d6\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2ljb25CdXR0b24vaW5kZXgudnVlPzUwY2IiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IseUJBQXlCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw0QkFBNEIsNEJBQTRCLEVBQUU7QUFDOUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNjUxLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXZcIiB9LCBbXG4gICAgX2MoXG4gICAgICBcInNwYW5cIixcbiAgICAgIFtcbiAgICAgICAgX2MoXCJJY29uXCIsIHsgc3R5bGU6IF92bS5zdHlsZXMsIGF0dHJzOiB7IHR5cGU6IFwiaW9zLXRyYXNoLW91dGxpbmVcIiB9IH0pLFxuICAgICAgICBfdm0uX3YoX3ZtLl9zKF92bS5wcm9wZXJ0eS50aXRsZSkpXG4gICAgICBdLFxuICAgICAgMVxuICAgIClcbiAgXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LWRhNGVkMGQ2XCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LWRhNGVkMGQ2XCIsXCJoYXNTY29wZWRcIjpmYWxzZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvaWNvbkJ1dHRvbi9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDY1MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///651\n");
4364
4365/***/ }),
4366/* 652 */
4367/***/ (function(module, __webpack_exports__, __webpack_require__) {
4368
4369"use strict";
4370eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(174);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_94375054_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(656);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(653)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-94375054\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_94375054_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/input/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-94375054\", Component.options)\n } else {\n hotAPI.reload(\"data-v-94375054\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0L2luZGV4LnZ1ZT81NTdjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBaVc7QUFDM1c7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUF3RjtBQUN6SDtBQUN3STtBQUNhO0FBQ3JKO0FBQ21UO0FBQ25UO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxpUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjY1Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTk0Mzc1MDU0XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSFsZXNzLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTk0Mzc1MDU0XFxcIixcXFwiaGFzU2NvcGVkXFxcIjp0cnVlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IFwiZGF0YS12LTk0Mzc1MDU0XCJcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvaW5wdXQvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTk0Mzc1MDU0XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtOTQzNzUwNTRcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjUyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///652\n");
4371
4372/***/ }),
4373/* 653 */
4374/***/ (function(module, exports, __webpack_require__) {
4375
4376eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(654);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"1e2b7118\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-94375054\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-94375054\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0L2luZGV4LnZ1ZT82MTZjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQXdiO0FBQzljLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBaUcsZ0NBQWdDO0FBQ3RKO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLG1NQUFtTSxrRkFBa0Y7QUFDclIsNE1BQTRNLGtGQUFrRjtBQUM5UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjY1My5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi05NDM3NTA1NFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjFlMmI3MTE4XCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi05NDM3NTA1NFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtOTQzNzUwNTRcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTk0Mzc1MDU0XCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvaW5wdXQvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2NTNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///653\n");
4377
4378/***/ }),
4379/* 654 */
4380/***/ (function(module, exports, __webpack_require__) {
4381
4382eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formDiv[data-v-94375054] {\\n display: inline-block;\\n line-height: 60px;\\n text-align: left;\\n}\\n.formDiv .inputStyle[data-v-94375054] {\\n /*width:50%;*/\\n}\\n.formDiv .formDiv-left[data-v-94375054] {\\n display: inline-block;\\n width: 35%;\\n text-align: right;\\n font-size: 15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.formDiv .formDiv-right[data-v-94375054] {\\n width: 60%;\\n position: relative;\\n display: inline-block;\\n float: right;\\n}\\n.formDiv .formDiv-right .c-position[data-v-94375054] {\\n padding-left: 5px;\\n position: absolute;\\n right: 0;\\n bottom: 12px;\\n line-height: initial;\\n}\\n.formDiv .formDiv-right .ivu-col-span-20[data-v-94375054] {\\n display: block;\\n width: 50%;\\n}\\n.formDiv .formDiv-right .ivu-col-span-4[data-v-94375054] {\\n display: block;\\n width: 50%;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/input/index.vue\"],\"names\":[],\"mappings\":\";AAAA;EACE,sBAAsB;EACtB,kBAAkB;EAClB,iBAAiB;CAClB;AACD;EACE,cAAc;CACf;AACD;EACE,sBAAsB;EACtB,WAAW;EACX,kBAAkB;EAClB,gBAAgB;EAChB,YAAY;EACZ,eAAe;CAChB;AACD;EACE,WAAW;EACX,mBAAmB;EACnB,sBAAsB;EACtB,aAAa;CACd;AACD;EACE,kBAAkB;EAClB,mBAAmB;EACnB,SAAS;EACT,aAAa;EACb,qBAAqB;CACtB;AACD;EACE,eAAe;EACf,WAAW;CACZ;AACD;EACE,eAAe;EACf,WAAW;CACZ\",\"file\":\"index.vue\",\"sourcesContent\":[\".formDiv {\\n display: inline-block;\\n line-height: 60px;\\n text-align: left;\\n}\\n.formDiv .inputStyle {\\n /*width:50%;*/\\n}\\n.formDiv .formDiv-left {\\n display: inline-block;\\n width: 35%;\\n text-align: right;\\n font-size: 15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.formDiv .formDiv-right {\\n width: 60%;\\n position: relative;\\n display: inline-block;\\n float: right;\\n}\\n.formDiv .formDiv-right .c-position {\\n padding-left: 5px;\\n position: absolute;\\n right: 0;\\n bottom: 12px;\\n line-height: initial;\\n}\\n.formDiv .formDiv-right .ivu-col-span-20 {\\n display: block;\\n width: 50%;\\n}\\n.formDiv .formDiv-right .ivu-col-span-4 {\\n display: block;\\n width: 50%;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0L2luZGV4LnZ1ZT9hZDhjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQStFO0FBQ2xIOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyxnQ0FBZ0MsMEJBQTBCLHNCQUFzQixxQkFBcUIsR0FBRyx5Q0FBeUMsZ0JBQWdCLEtBQUssMkNBQTJDLDBCQUEwQixlQUFlLHNCQUFzQixvQkFBb0IsZ0JBQWdCLG1CQUFtQixHQUFHLDRDQUE0QyxlQUFlLHVCQUF1QiwwQkFBMEIsaUJBQWlCLEdBQUcsd0RBQXdELHNCQUFzQix1QkFBdUIsYUFBYSxpQkFBaUIseUJBQXlCLEdBQUcsNkRBQTZELG1CQUFtQixlQUFlLEdBQUcsNERBQTRELG1CQUFtQixlQUFlLEdBQUcsVUFBVSx1SUFBdUksS0FBSyxZQUFZLGFBQWEsYUFBYSxNQUFNLEtBQUssVUFBVSxLQUFLLEtBQUssWUFBWSxXQUFXLFlBQVksYUFBYSxXQUFXLFVBQVUsTUFBTSxLQUFLLFVBQVUsWUFBWSxhQUFhLFdBQVcsS0FBSyxLQUFLLFlBQVksYUFBYSxXQUFXLFVBQVUsWUFBWSxNQUFNLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsc0RBQXNELDBCQUEwQixzQkFBc0IscUJBQXFCLEdBQUcsd0JBQXdCLGdCQUFnQixLQUFLLDBCQUEwQiwwQkFBMEIsZUFBZSxzQkFBc0Isb0JBQW9CLGdCQUFnQixtQkFBbUIsR0FBRywyQkFBMkIsZUFBZSx1QkFBdUIsMEJBQTBCLGlCQUFpQixHQUFHLHVDQUF1QyxzQkFBc0IsdUJBQXVCLGFBQWEsaUJBQWlCLHlCQUF5QixHQUFHLDRDQUE0QyxtQkFBbUIsZUFBZSxHQUFHLDJDQUEyQyxtQkFBbUIsZUFBZSxHQUFHLHFCQUFxQjs7QUFFOWdFIiwiZmlsZSI6IjY1NC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcbi5mb3JtRGl2W2RhdGEtdi05NDM3NTA1NF0ge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgbGluZS1oZWlnaHQ6IDYwcHg7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG4uZm9ybURpdiAuaW5wdXRTdHlsZVtkYXRhLXYtOTQzNzUwNTRdIHtcXG4gIC8qd2lkdGg6NTAlOyovXFxufVxcbi5mb3JtRGl2IC5mb3JtRGl2LWxlZnRbZGF0YS12LTk0Mzc1MDU0XSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogMzUlO1xcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XFxuICBmb250LXNpemU6IDE1cHg7XFxuICBmbG9hdDogbGVmdDtcXG4gIG1hcmdpbjogMCAxMHB4O1xcbn1cXG4uZm9ybURpdiAuZm9ybURpdi1yaWdodFtkYXRhLXYtOTQzNzUwNTRdIHtcXG4gIHdpZHRoOiA2MCU7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBmbG9hdDogcmlnaHQ7XFxufVxcbi5mb3JtRGl2IC5mb3JtRGl2LXJpZ2h0IC5jLXBvc2l0aW9uW2RhdGEtdi05NDM3NTA1NF0ge1xcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICByaWdodDogMDtcXG4gIGJvdHRvbTogMTJweDtcXG4gIGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xcbn1cXG4uZm9ybURpdiAuZm9ybURpdi1yaWdodCAuaXZ1LWNvbC1zcGFuLTIwW2RhdGEtdi05NDM3NTA1NF0ge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB3aWR0aDogNTAlO1xcbn1cXG4uZm9ybURpdiAuZm9ybURpdi1yaWdodCAuaXZ1LWNvbC1zcGFuLTRbZGF0YS12LTk0Mzc1MDU0XSB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHdpZHRoOiA1MCU7XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJFOi9wcm9qZWN0L3BhZ2UtaWRlLXhpYW4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9pbnB1dC9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQUFBO0VBQ0Usc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLGNBQWM7Q0FDZjtBQUNEO0VBQ0Usc0JBQXNCO0VBQ3RCLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLFlBQVk7RUFDWixlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxXQUFXO0VBQ1gsbUJBQW1CO0VBQ25CLHNCQUFzQjtFQUN0QixhQUFhO0NBQ2Q7QUFDRDtFQUNFLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsU0FBUztFQUNULGFBQWE7RUFDYixxQkFBcUI7Q0FDdEI7QUFDRDtFQUNFLGVBQWU7RUFDZixXQUFXO0NBQ1o7QUFDRDtFQUNFLGVBQWU7RUFDZixXQUFXO0NBQ1pcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIuZm9ybURpdiB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBsaW5lLWhlaWdodDogNjBweDtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxufVxcbi5mb3JtRGl2IC5pbnB1dFN0eWxlIHtcXG4gIC8qd2lkdGg6NTAlOyovXFxufVxcbi5mb3JtRGl2IC5mb3JtRGl2LWxlZnQge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgd2lkdGg6IDM1JTtcXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xcbiAgZm9udC1zaXplOiAxNXB4O1xcbiAgZmxvYXQ6IGxlZnQ7XFxuICBtYXJnaW46IDAgMTBweDtcXG59XFxuLmZvcm1EaXYgLmZvcm1EaXYtcmlnaHQge1xcbiAgd2lkdGg6IDYwJTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIGZsb2F0OiByaWdodDtcXG59XFxuLmZvcm1EaXYgLmZvcm1EaXYtcmlnaHQgLmMtcG9zaXRpb24ge1xcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICByaWdodDogMDtcXG4gIGJvdHRvbTogMTJweDtcXG4gIGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xcbn1cXG4uZm9ybURpdiAuZm9ybURpdi1yaWdodCAuaXZ1LWNvbC1zcGFuLTIwIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgd2lkdGg6IDUwJTtcXG59XFxuLmZvcm1EaXYgLmZvcm1EaXYtcmlnaHQgLml2dS1jb2wtc3Bhbi00IHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgd2lkdGg6IDUwJTtcXG59XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTk0Mzc1MDU0XCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvaW5wdXQvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2NTRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///654\n");
4383
4384/***/ }),
4385/* 655 */
4386/***/ (function(module, exports, __webpack_require__) {
4387
4388"use strict";
4389eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = [{\n field: 'property.title',\n text: '单行输入框',\n type: 'title'\n}, {\n field: 'property.prop',\n text: '属性名称',\n isShow: 'hide',\n type: 'reqSelect'\n}, {\n field: 'property.label',\n text: '标题',\n maxFont: '20',\n type: 'string'\n}, {\n field: 'property.busiId',\n text: '标题',\n isShow: 'hide',\n type: 'string'\n}, {\n field: 'property.isValidate',\n text: '标题',\n value: true,\n isShow: 'hide',\n type: 'boolean'\n}, {\n field: 'extend.placeholder',\n text: '提示文字',\n maxFont: '50',\n maxInputFont: '1000',\n type: 'string'\n}, {\n field: 'extend.itemWidth',\n text: 'itemWidth',\n type: 'number',\n value: 320,\n isShow: 'hide'\n}, {\n field: 'extend.maxLength',\n text: 'itemWidth',\n type: 'number',\n value: 100,\n isShow: 'hide'\n}, {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'validateInput'\n}];\n_common.commonTool.assembleData(editors);\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-input',\n name: '单行输入框',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0L3Byb3BlcnR5LmpzP2ExZDIiXSwibmFtZXMiOlsiZWRpdG9ycyIsImZpZWxkIiwidGV4dCIsInR5cGUiLCJpc1Nob3ciLCJtYXhGb250IiwidmFsdWUiLCJtYXhJbnB1dEZvbnQiLCJjb21tb25Ub29sIiwiYXNzZW1ibGVEYXRhIiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibmFtZSIsImxldmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7O0FBWUEsSUFBSUEsVUFBUyxDQUNUO0FBQ0lDLFdBQU8sZ0JBRFg7QUFFSUMsVUFBTSxPQUZWO0FBR0lDLFVBQU07QUFIVixDQURTLEVBTVQ7QUFDSUYsV0FBTyxlQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJRSxZQUFPLE1BSFg7QUFJSUQsVUFBTTtBQUpWLENBTlMsRUFZVDtBQUNJRixXQUFPLGdCQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJRyxhQUFRLElBSFo7QUFJSUYsVUFBTTtBQUpWLENBWlMsRUFrQlY7QUFDS0YsV0FBTyxpQkFEWjtBQUVLQyxVQUFNLElBRlg7QUFHS0UsWUFBTyxNQUhaO0FBSUtELFVBQU07QUFKWCxDQWxCVSxFQXdCVDtBQUNJRixXQUFPLHFCQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJSSxXQUFPLElBSFg7QUFJSUYsWUFBTyxNQUpYO0FBS0lELFVBQU07QUFMVixDQXhCUyxFQStCVDtBQUNJRixXQUFPLG9CQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJRyxhQUFRLElBSFo7QUFJSUUsa0JBQWEsTUFKakI7QUFLSUosVUFBTTtBQUxWLENBL0JTLEVBc0NUO0FBQ0lGLFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxXQUZWO0FBR0lDLFVBQU0sUUFIVjtBQUlJRyxXQUFPLEdBSlg7QUFLSUYsWUFBTztBQUxYLENBdENTLEVBNkNUO0FBQ0lILFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxXQUZWO0FBR0lDLFVBQU0sUUFIVjtBQUlJRyxXQUFPLEdBSlg7QUFLSUYsWUFBTztBQUxYLENBN0NTLEVBb0RUO0FBQ0lILFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU07QUFIVixDQXBEUyxDQUFiO0FBMERBSyxtQkFBV0MsWUFBWCxDQUF3QlQsT0FBeEI7QUFDQVUsUUFBUUMsR0FBUixDQUFZWCxPQUFaO0FBQ08sSUFBTVksb0NBQWM7QUFDdkJDLFNBQUssWUFEa0I7QUFFdkJDLFVBQU0sT0FGaUI7QUFHdkJDLFdBQU0sQ0FIaUI7QUFJdkJmLGFBQVFBO0FBSmUsQ0FBcEIiLCJmaWxlIjoiNjU1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICBOb3RlIOW3peWFt+exu1xyXG4gKi9cclxuaW1wb3J0IHtjb21tb25Ub29sfSBmcm9tIFwiLi4vLi4vY29tbW9uL2NvbW1vblwiXHJcbi8qXHJcbk5vdGUg5a6a5LmJ6Ieq5a6a5LmJ5bGe5oCn77yM5YWs5YWx5bGe5oCn5LuOY29tbW9u5paH5Lu26YeM6K+75Y+WXHJcbmF1dGhvciDlj7bnq6DmtalcclxuXHJcbiB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5wcm9wJyxcclxuICAgICAgICB0ZXh0OiAn5bGe5oCn5ZCN56ewJyxcclxuICAgICAgICB0eXBlOiAncmVxU2VsZWN0JyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnLFxyXG4gICAgfSxcclxuICovXHJcbmxldCBlZGl0b3JzPSBbXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS50aXRsZScsXHJcbiAgICAgICAgdGV4dDogJ+WNleihjOi+k+WFpeahhicsXHJcbiAgICAgICAgdHlwZTogJ3RpdGxlJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LnByb3AnLFxyXG4gICAgICAgIHRleHQ6ICflsZ7mgKflkI3np7AnLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZScsXHJcbiAgICAgICAgdHlwZTogJ3JlcVNlbGVjdCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5sYWJlbCcsXHJcbiAgICAgICAgdGV4dDogJ+agh+mimCcsXHJcbiAgICAgICAgbWF4Rm9udDonMjAnLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnXHJcbiAgICB9LFxyXG4gICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5idXNpSWQnLFxyXG4gICAgICAgIHRleHQ6ICfmoIfpopgnLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZScsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5pc1ZhbGlkYXRlJyxcclxuICAgICAgICB0ZXh0OiAn5qCH6aKYJyxcclxuICAgICAgICB2YWx1ZTogdHJ1ZSxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnLFxyXG4gICAgICAgIHR5cGU6ICdib29sZWFuJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5wbGFjZWhvbGRlcicsXHJcbiAgICAgICAgdGV4dDogJ+aPkOekuuaWh+WtlycsXHJcbiAgICAgICAgbWF4Rm9udDonNTAnLFxyXG4gICAgICAgIG1heElucHV0Rm9udDonMTAwMCcsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdleHRlbmQuaXRlbVdpZHRoJyxcclxuICAgICAgICB0ZXh0OiAnaXRlbVdpZHRoJyxcclxuICAgICAgICB0eXBlOiAnbnVtYmVyJyxcclxuICAgICAgICB2YWx1ZTogMzIwLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZSdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdleHRlbmQubWF4TGVuZ3RoJyxcclxuICAgICAgICB0ZXh0OiAnaXRlbVdpZHRoJyxcclxuICAgICAgICB0eXBlOiAnbnVtYmVyJyxcclxuICAgICAgICB2YWx1ZTogMTAwLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZSdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdkYXRhLmhlaWdodExldmVsJyxcclxuICAgICAgICB0ZXh0OiAn5piv5ZCm5pi+56S6JyxcclxuICAgICAgICB0eXBlOiAndmFsaWRhdGVJbnB1dCdcclxuICAgIH1cclxuXTtcclxuY29tbW9uVG9vbC5hc3NlbWJsZURhdGEoZWRpdG9ycyk7XHJcbmNvbnNvbGUubG9nKGVkaXRvcnMpO1xyXG5leHBvcnQgY29uc3QgZWRpdFNldHRpbmcgPSB7XHJcbiAgICBrZXk6ICdnYWVhLWlucHV0JyxcclxuICAgIG5hbWU6ICfljZXooYzovpPlhaXmoYYnLFxyXG4gICAgbGV2ZWw6NCxcclxuICAgIGVkaXRvcnM6ZWRpdG9ycyxcclxufTtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9pbnB1dC9wcm9wZXJ0eS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///655\n");
4390
4391/***/ }),
4392/* 656 */
4393/***/ (function(module, __webpack_exports__, __webpack_require__) {
4394
4395"use strict";
4396eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"formDiv\",\n on: { mouseenter: _vm.show, mouseleave: _vm.hide }\n },\n [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [\n _vm.isValidate\n ? _c(\"span\", { staticStyle: { color: \"red\" } }, [_vm._v(\"*\")])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"Label\", [_vm._v(\" \" + _vm._s(_vm.property.label))])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"formDiv-right\" }, [\n _c(\n \"div\",\n { staticClass: \"ivu-col ivu-col-span-20\" },\n [\n _c(\"Input\", {\n staticClass: \"inputStyle\",\n attrs: { clearable: \"\", placeholder: _vm.extend.placeholder }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"c-position ivu-col ivu-col-span-4\" }, [\n _c(\"span\", [_vm._v(\"0/\" + _vm._s(_vm.extend.maxLength))])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"commomHoverModal\", { ref: \"commomHoverModal\" })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-94375054\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0L2luZGV4LnZ1ZT8yNDZkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLFNBQVMsOEJBQThCO0FBQ3ZDO0FBQ0E7QUFDQSwwQkFBMEIsZUFBZSxlQUFlLEVBQUU7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsK0JBQStCO0FBQ2hEO0FBQ0E7QUFDQSxXQUFXLHlDQUF5QztBQUNwRDtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEIsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLG1EQUFtRDtBQUN0RTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QiwwQkFBMEI7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI2NTYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAge1xuICAgICAgc3RhdGljQ2xhc3M6IFwiZm9ybURpdlwiLFxuICAgICAgb246IHsgbW91c2VlbnRlcjogX3ZtLnNob3csIG1vdXNlbGVhdmU6IF92bS5oaWRlIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcImRpdlwiLFxuICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXYtbGVmdFwiIH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfdm0uaXNWYWxpZGF0ZVxuICAgICAgICAgICAgPyBfYyhcInNwYW5cIiwgeyBzdGF0aWNTdHlsZTogeyBjb2xvcjogXCJyZWRcIiB9IH0sIFtfdm0uX3YoXCIqXCIpXSlcbiAgICAgICAgICAgIDogX3ZtLl9lKCksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfYyhcIkxhYmVsXCIsIFtfdm0uX3YoXCIgXCIgKyBfdm0uX3MoX3ZtLnByb3BlcnR5LmxhYmVsKSldKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwiZm9ybURpdi1yaWdodFwiIH0sIFtcbiAgICAgICAgX2MoXG4gICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIml2dS1jb2wgaXZ1LWNvbC1zcGFuLTIwXCIgfSxcbiAgICAgICAgICBbXG4gICAgICAgICAgICBfYyhcIklucHV0XCIsIHtcbiAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiaW5wdXRTdHlsZVwiLFxuICAgICAgICAgICAgICBhdHRyczogeyBjbGVhcmFibGU6IFwiXCIsIHBsYWNlaG9sZGVyOiBfdm0uZXh0ZW5kLnBsYWNlaG9sZGVyIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgXSxcbiAgICAgICAgICAxXG4gICAgICAgICksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwiYy1wb3NpdGlvbiBpdnUtY29sIGl2dS1jb2wtc3Bhbi00XCIgfSwgW1xuICAgICAgICAgIF9jKFwic3BhblwiLCBbX3ZtLl92KFwiMC9cIiArIF92bS5fcyhfdm0uZXh0ZW5kLm1heExlbmd0aCkpXSlcbiAgICAgICAgXSlcbiAgICAgIF0pLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF9jKFwiY29tbW9tSG92ZXJNb2RhbFwiLCB7IHJlZjogXCJjb21tb21Ib3Zlck1vZGFsXCIgfSlcbiAgICBdLFxuICAgIDFcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtOTQzNzUwNTRcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtOTQzNzUwNTRcIixcImhhc1Njb3BlZFwiOnRydWUsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjU2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///656\n");
4397
4398/***/ }),
4399/* 657 */
4400/***/ (function(module, __webpack_exports__, __webpack_require__) {
4401
4402"use strict";
4403eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(175);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_37c0d0a1_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(661);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(658)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-37c0d0a1\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_37c0d0a1_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/inputIDCard/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-37c0d0a1\", Component.options)\n } else {\n hotAPI.reload(\"data-v-37c0d0a1\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0SURDYXJkL2luZGV4LnZ1ZT8wZmRkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBcVY7QUFDL1Y7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUF3RjtBQUN6SDtBQUN3STtBQUNhO0FBQ3JKO0FBQ21UO0FBQ25UO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxpUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjY1Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTM3YzBkMGExXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTM3YzBkMGExXFxcIixcXFwiaGFzU2NvcGVkXFxcIjp0cnVlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IFwiZGF0YS12LTM3YzBkMGExXCJcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvaW5wdXRJRENhcmQvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTM3YzBkMGExXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtMzdjMGQwYTFcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0SURDYXJkL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjU3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///657\n");
4404
4405/***/ }),
4406/* 658 */
4407/***/ (function(module, exports, __webpack_require__) {
4408
4409eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(659);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"006e0bc4\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-37c0d0a1\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-37c0d0a1\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0SURDYXJkL2luZGV4LnZ1ZT8zOTA5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQThXO0FBQ3BZLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBaUcsZ0NBQWdDO0FBQ3RKO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLG1NQUFtTSxrRkFBa0Y7QUFDclIsNE1BQTRNLGtGQUFrRjtBQUM5UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjY1OC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0zN2MwZDBhMVxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCIwMDZlMGJjNFwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMzdjMGQwYTFcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0zN2MwZDBhMVxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTM3YzBkMGExXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9pbnB1dElEQ2FyZC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDY1OFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///658\n");
4410
4411/***/ }),
4412/* 659 */
4413/***/ (function(module, exports, __webpack_require__) {
4414
4415eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formDiv[data-v-37c0d0a1]{\\n display:inline-block;\\n line-height: 60px;\\n text-align: left;\\n}\\n.inputStyle[data-v-37c0d0a1]{\\n width:50%;\\n}\\n.formDiv-left[data-v-37c0d0a1] {\\n display:inline-block;\\n width: 35%;\\n height:40px;\\n text-align:right;\\n font-size:15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.formDiv-right[data-v-37c0d0a1] {\\n width: 60%;\\n position: relative;\\n display:inline-block;\\n float: right;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/inputIDCard/myPlugin/page-ide/lib/components/levelThree/inputIDCard/index.vue\"],\"names\":[],\"mappings\":\";AA4CA;EACA,qBAAA;EACA,kBAAA;EACA,iBAAA;CACA;AACA;IACA,UAAA;CACA;AACA;EACA,qBAAA;EACA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,eAAA;EACA,YAAA;EACA,eAAA;CACA;AACA;EACA,WAAA;EACA,mBAAA;EACA,qBAAA;EACA,aAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formDiv\\\">\\r\\n <div class=\\\"formDiv-left\\\">\\r\\n <Label :style=\\\"{marginLeft:'5px'}\\\">{{getLabel}}</Label>\\r\\n </div>\\r\\n <div class=\\\"formDiv-right\\\">\\r\\n <Input placeholder=\\\"请输入身份证号码\\\" clearable class=\\\"inputStyle\\\" />\\r\\n </div>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport {editSetting} from './property';\\r\\nexport default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n computed:{\\r\\n getLabel(){\\r\\n return this.property.label;\\r\\n }\\r\\n },\\r\\n data () {\\r\\n return {\\r\\n property:{\\r\\n label : '标签',\\r\\n },\\r\\n text: 'input',\\r\\n type: 'input',\\r\\n level: editSetting.level\\r\\n };\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .formDiv{\\r\\n display:inline-block;\\r\\n line-height: 60px;\\r\\n text-align: left;\\r\\n }\\r\\n .inputStyle{\\r\\n width:50%;\\r\\n }\\r\\n .formDiv-left {\\r\\n display:inline-block;\\r\\n width: 35%;\\r\\n height:40px;\\r\\n text-align:right;\\r\\n font-size:15px;\\r\\n float: left;\\r\\n margin: 0 10px;\\r\\n }\\r\\n .formDiv-right {\\r\\n width: 60%;\\r\\n position: relative;\\r\\n display:inline-block;\\r\\n float: right;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0SURDYXJkL2luZGV4LnZ1ZT84NTdiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQStFO0FBQ2xIOzs7QUFHQTtBQUNBLGNBQWMsUUFBUywrQkFBK0IseUJBQXlCLHNCQUFzQixxQkFBcUIsR0FBRywrQkFBK0IsZ0JBQWdCLEdBQUcsa0NBQWtDLHlCQUF5QixlQUFlLGdCQUFnQixxQkFBcUIsbUJBQW1CLGdCQUFnQixtQkFBbUIsR0FBRyxtQ0FBbUMsZUFBZSx1QkFBdUIseUJBQXlCLGlCQUFpQixHQUFHLFVBQVUscU1BQXFNLE1BQU0sV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFdBQVcsVUFBVSxVQUFVLFdBQVcsVUFBVSxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsV0FBVyxXQUFXLFVBQVUsa0pBQWtKLGlCQUFpQixLQUFLLFVBQVUsNE1BQTRNLFlBQVksbUJBQW1CLG9CQUFvQixtQkFBbUIsc0JBQXNCLHlGQUF5RixzRUFBc0UsbUJBQW1CLHNCQUFzQix3Q0FBd0MsYUFBYSxTQUFTLGtCQUFrQixvQkFBb0IsMEJBQTBCLGtEQUFrRCxtSEFBbUgsU0FBUyx5RkFBeUYsa0RBQWtELDZCQUE2QiwwQkFBMEIseUJBQXlCLE9BQU8sa0JBQWtCLG9CQUFvQixPQUFPLHFCQUFxQiw2QkFBNkIsbUJBQW1CLG9CQUFvQix5QkFBeUIsdUJBQXVCLG9CQUFvQix1QkFBdUIsT0FBTyxzQkFBc0IsbUJBQW1CLDJCQUEyQiw2QkFBNkIscUJBQXFCLE9BQU8sbUNBQW1DOztBQUVyNUUiLCJmaWxlIjoiNjU5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLmZvcm1EaXZbZGF0YS12LTM3YzBkMGExXXtcXG4gIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcbiAgbGluZS1oZWlnaHQ6IDYwcHg7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG4uaW5wdXRTdHlsZVtkYXRhLXYtMzdjMGQwYTFde1xcbiAgICB3aWR0aDo1MCU7XFxufVxcbi5mb3JtRGl2LWxlZnRbZGF0YS12LTM3YzBkMGExXSB7XFxuICBkaXNwbGF5OmlubGluZS1ibG9jaztcXG4gIHdpZHRoOiAzNSU7XFxuICBoZWlnaHQ6NDBweDtcXG4gIHRleHQtYWxpZ246cmlnaHQ7XFxuICBmb250LXNpemU6MTVweDtcXG4gIGZsb2F0OiBsZWZ0O1xcbiAgbWFyZ2luOiAwIDEwcHg7XFxufVxcbi5mb3JtRGl2LXJpZ2h0W2RhdGEtdi0zN2MwZDBhMV0ge1xcbiAgd2lkdGg6IDYwJTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcbiAgZmxvYXQ6IHJpZ2h0O1xcbn1cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wiRTovcHJvamVjdC9wYWdlLWlkZS14aWFuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvaW5wdXRJRENhcmQvbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9pbnB1dElEQ2FyZC9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQTRDQTtFQUNBLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtDQUNBO0FBQ0E7SUFDQSxVQUFBO0NBQ0E7QUFDQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtDQUNBO0FBQ0E7RUFDQSxXQUFBO0VBQ0EsbUJBQUE7RUFDQSxxQkFBQTtFQUNBLGFBQUE7Q0FDQVwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjx0ZW1wbGF0ZT5cXHJcXG4gIDxkaXYgY2xhc3M9XFxcImZvcm1EaXZcXFwiPlxcclxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2LWxlZnRcXFwiPlxcclxcbiAgICAgIDxMYWJlbCA6c3R5bGU9XFxcInttYXJnaW5MZWZ0Oic1cHgnfVxcXCI+e3tnZXRMYWJlbH19PC9MYWJlbD5cXHJcXG4gICAgPC9kaXY+XFxyXFxuICAgIDxkaXYgY2xhc3M9XFxcImZvcm1EaXYtcmlnaHRcXFwiPlxcclxcbiAgICAgIDxJbnB1dCAgcGxhY2Vob2xkZXI9XFxcIuivt+i+k+WFpei6q+S7veivgeWPt+eggVxcXCIgY2xlYXJhYmxlIGNsYXNzPVxcXCJpbnB1dFN0eWxlXFxcIiAvPlxcclxcbiAgICA8L2Rpdj5cXHJcXG4gIDwvZGl2PlxcclxcbjwvdGVtcGxhdGU+XFxyXFxuXFxyXFxuPHNjcmlwdD5cXHJcXG5pbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcXHJcXG5leHBvcnQgZGVmYXVsdCB7XFxyXFxuICAgIC8vIHByb3BzOiB7XFxyXFxuICAgIC8vICAgICB0ZXh0OiB7XFxyXFxuICAgIC8vICAgICAgICAgdHlwZTogU3RyaW5nLFxcclxcbiAgICAvLyAgICAgICAgIGRlZmF1bHQ6ICdCdXR0b24gVGV4dCdcXHJcXG4gICAgLy8gICAgIH0sXFxyXFxuICAgIC8vICAgICB0eXBlOiBTdHJpbmcsXFxyXFxuICAgIC8vICAgICBzdHlsZXM6IE9iamVjdFxcclxcbiAgICAvLyB9LFxcclxcbiAgICBjb21wdXRlZDp7XFxyXFxuICAgICAgIGdldExhYmVsKCl7XFxyXFxuICAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydHkubGFiZWw7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH0sXFxyXFxuICAgIGRhdGEgKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHtcXHJcXG4gICAgICAgICAgICBwcm9wZXJ0eTp7XFxyXFxuICAgICAgICAgICAgICAgIGxhYmVsIDogJ+agh+etvicsXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICB0ZXh0OiAnaW5wdXQnLFxcclxcbiAgICAgICAgICAgIHR5cGU6ICdpbnB1dCcsXFxyXFxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXFxyXFxuICAgICAgICB9O1xcclxcbiAgICB9LFxcclxcbiAgICBlZGl0U2V0dGluZyxcXHJcXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxcclxcbiAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWxcXHJcXG59O1xcclxcbjwvc2NyaXB0PlxcclxcblxcclxcbjxzdHlsZSBzY29wZWQ+XFxyXFxuICAuZm9ybURpdntcXHJcXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xcclxcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xcclxcbiAgfVxcclxcbiAgLmlucHV0U3R5bGV7XFxyXFxuICAgICAgd2lkdGg6NTAlO1xcclxcbiAgfVxcclxcbiAgLmZvcm1EaXYtbGVmdCB7XFxyXFxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcclxcbiAgICB3aWR0aDogMzUlO1xcclxcbiAgICBoZWlnaHQ6NDBweDtcXHJcXG4gICAgdGV4dC1hbGlnbjpyaWdodDtcXHJcXG4gICAgZm9udC1zaXplOjE1cHg7XFxyXFxuICAgIGZsb2F0OiBsZWZ0O1xcclxcbiAgICBtYXJnaW46IDAgMTBweDtcXHJcXG4gIH1cXHJcXG4gIC5mb3JtRGl2LXJpZ2h0IHtcXHJcXG4gICAgd2lkdGg6IDYwJTtcXHJcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcclxcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXHJcXG4gICAgZmxvYXQ6IHJpZ2h0O1xcclxcbiAgfVxcclxcbjwvc3R5bGU+XFxyXFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTM3YzBkMGExXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9pbnB1dElEQ2FyZC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDY1OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///659\n");
4416
4417/***/ }),
4418/* 660 */
4419/***/ (function(module, exports, __webpack_require__) {
4420
4421"use strict";
4422eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = ['属性(身份证)', {\n field: 'property.busiId',\n text: '标签',\n type: 'string',\n isShow: 'hide'\n}, '扩展属性', {\n field: 'extend.birthdayKey',\n text: '出身年月字段',\n type: 'cellBirth'\n}, '高级', {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'idCardHeightLevel'\n}];\n_common.commonTool.assembleData(editors);\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-inputIDCard',\n name: '身份证号',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0SURDYXJkL3Byb3BlcnR5LmpzPzkzZjkiXSwibmFtZXMiOlsiZWRpdG9ycyIsImZpZWxkIiwidGV4dCIsInR5cGUiLCJpc1Nob3ciLCJjb21tb25Ub29sIiwiYXNzZW1ibGVEYXRhIiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibmFtZSIsImxldmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7O0FBS0EsSUFBSUEsVUFBUyxDQUNULFNBRFMsRUFFVDtBQUNJQyxXQUFPLGlCQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJQyxVQUFNLFFBSFY7QUFJSUMsWUFBTztBQUpYLENBRlMsRUFRVCxNQVJTLEVBb0JUO0FBQ0lILFdBQU8sb0JBRFg7QUFFSUMsVUFBTSxRQUZWO0FBR0lDLFVBQU07QUFIVixDQXBCUyxFQXlCVCxJQXpCUyxFQTBCVDtBQUNJRixXQUFPLGtCQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0ExQlMsQ0FBYjtBQWtEQUUsbUJBQVdDLFlBQVgsQ0FBd0JOLE9BQXhCO0FBQ0FPLFFBQVFDLEdBQVIsQ0FBWVIsT0FBWjtBQUNPLElBQU1TLG9DQUFjO0FBQ3ZCQyxTQUFLLGtCQURrQjtBQUV2QkMsVUFBTSxNQUZpQjtBQUd2QkMsV0FBTSxDQUhpQjtBQUl2QlosYUFBUUE7QUFKZSxDQUFwQiIsImZpbGUiOiI2NjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gIE5vdGUg5bel5YW357G7XHJcbiAqL1xyXG5pbXBvcnQge2NvbW1vblRvb2x9IGZyb20gXCIuLi8uLi9jb21tb24vY29tbW9uXCJcclxuLypcclxuTm90ZSDlrprkuYnoh6rlrprkuYnlsZ7mgKfvvIzlhazlhbHlsZ7mgKfku45jb21tb27mlofku7bph4zor7vlj5ZcclxuYXV0aG9yIOWPtueroOa1qVxyXG4gKi9cclxubGV0IGVkaXRvcnM9IFtcclxuICAgICflsZ7mgKco6Lqr5Lu96K+BKScsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5idXNpSWQnLFxyXG4gICAgICAgIHRleHQ6ICfmoIfnrb4nLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZSdcclxuICAgIH0sXHJcbiAgICAn5omp5bGV5bGe5oCnJyxcclxuXHJcbiAgIC8qIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC50eXBlJyxcclxuICAgICAgICB0ZXh0OiAn57G75Z6LJyxcclxuICAgICAgICB0eXBlOiAnaW5wdXRTZWxlY3QnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLnJvd3MnLFxyXG4gICAgICAgIHRleHQ6ICfooYzmlbAnLFxyXG4gICAgICAgIHR5cGU6ICdudW1iZXInXHJcbiAgICB9LCovXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdleHRlbmQuYmlydGhkYXlLZXknLFxyXG4gICAgICAgIHRleHQ6ICflh7rouqvlubTmnIjlrZfmrrUnLFxyXG4gICAgICAgIHR5cGU6ICdjZWxsQmlydGgnXHJcbiAgICB9LFxyXG4gICAgJ+mrmOe6pycsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdkYXRhLmhlaWdodExldmVsJyxcclxuICAgICAgICB0ZXh0OiAn5piv5ZCm5pi+56S6JyxcclxuICAgICAgICB0eXBlOiAnaWRDYXJkSGVpZ2h0TGV2ZWwnXHJcbiAgICB9LFxyXG4gICAgLyon5YWD57Sg6IGU5Yqo5qOA5p+l5piv5ZCm6ZqQ6JePJyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5zaG93RmxhZycsXHJcbiAgICAgICAgdGV4dDogJycsXHJcbiAgICAgICAgdHlwZTogJ3Nob3dGbGFnJ1xyXG4gICAgfSxcclxuICAgICfmoKHpqownLFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLnZhbGlkYXRlJyxcclxuICAgICAgICB0ZXh0OiAnJyxcclxuICAgICAgICB0eXBlOiAndmFsaWRhdGVBcnInXHJcbiAgICB9LFxyXG4gICAgJ+iBlOWKqCcsXHJcbiAgICAge1xyXG4gICAgICAgICBmaWVsZDogJ2V4dGVuZC5saW5rYWdlQ2hhbmdlVmFsdWUnLFxyXG4gICAgICAgICB0ZXh0OiAnJyxcclxuICAgICAgICAgdHlwZTogJ2xpbmthZ2VDaGFuZ2VWYWx1ZSdcclxuICAgICB9Ki9cclxuXTtcclxuY29tbW9uVG9vbC5hc3NlbWJsZURhdGEoZWRpdG9ycyk7XHJcbmNvbnNvbGUubG9nKGVkaXRvcnMpO1xyXG5leHBvcnQgY29uc3QgZWRpdFNldHRpbmcgPSB7XHJcbiAgICBrZXk6ICdnYWVhLWlucHV0SURDYXJkJyxcclxuICAgIG5hbWU6ICfouqvku73or4Hlj7cnLFxyXG4gICAgbGV2ZWw6NCxcclxuICAgIGVkaXRvcnM6ZWRpdG9ycyxcclxufTtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9pbnB1dElEQ2FyZC9wcm9wZXJ0eS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///660\n");
4423
4424/***/ }),
4425/* 661 */
4426/***/ (function(module, __webpack_exports__, __webpack_require__) {
4427
4428"use strict";
4429eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"formDiv\" }, [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [\n _c(\"Label\", { style: { marginLeft: \"5px\" } }, [\n _vm._v(_vm._s(_vm.getLabel))\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"formDiv-right\" },\n [\n _c(\"Input\", {\n staticClass: \"inputStyle\",\n attrs: { placeholder: \"请输入身份证号码\", clearable: \"\" }\n })\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-37c0d0a1\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0SURDYXJkL2luZGV4LnZ1ZT80NjQyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLHlCQUF5QjtBQUM3QztBQUNBO0FBQ0EsT0FBTyw4QkFBOEI7QUFDckM7QUFDQSxxQkFBcUIsU0FBUyxvQkFBb0IsRUFBRTtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTywrQkFBK0I7QUFDdEM7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNjYxLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXZcIiB9LCBbXG4gICAgX2MoXG4gICAgICBcImRpdlwiLFxuICAgICAgeyBzdGF0aWNDbGFzczogXCJmb3JtRGl2LWxlZnRcIiB9LFxuICAgICAgW1xuICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3R5bGU6IHsgbWFyZ2luTGVmdDogXCI1cHhcIiB9IH0sIFtcbiAgICAgICAgICBfdm0uX3YoX3ZtLl9zKF92bS5nZXRMYWJlbCkpXG4gICAgICAgIF0pXG4gICAgICBdLFxuICAgICAgMVxuICAgICksXG4gICAgX3ZtLl92KFwiIFwiKSxcbiAgICBfYyhcbiAgICAgIFwiZGl2XCIsXG4gICAgICB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXYtcmlnaHRcIiB9LFxuICAgICAgW1xuICAgICAgICBfYyhcIklucHV0XCIsIHtcbiAgICAgICAgICBzdGF0aWNDbGFzczogXCJpbnB1dFN0eWxlXCIsXG4gICAgICAgICAgYXR0cnM6IHsgcGxhY2Vob2xkZXI6IFwi6K+36L6T5YWl6Lqr5Lu96K+B5Y+356CBXCIsIGNsZWFyYWJsZTogXCJcIiB9XG4gICAgICAgIH0pXG4gICAgICBdLFxuICAgICAgMVxuICAgIClcbiAgXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTM3YzBkMGExXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTM3YzBkMGExXCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9pbnB1dElEQ2FyZC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDY2MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///661\n");
4430
4431/***/ }),
4432/* 662 */
4433/***/ (function(module, __webpack_exports__, __webpack_require__) {
4434
4435"use strict";
4436eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(176);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_e0081082_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(666);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(663)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-e0081082\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_e0081082_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/inputNumber/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-e0081082\", Component.options)\n } else {\n hotAPI.reload(\"data-v-e0081082\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0TnVtYmVyL2luZGV4LnZ1ZT8xMWEwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBcVY7QUFDL1Y7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUF3RjtBQUN6SDtBQUN3STtBQUNhO0FBQ3JKO0FBQ21UO0FBQ25UO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxpUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjY2Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWUwMDgxMDgyXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LWUwMDgxMDgyXFxcIixcXFwiaGFzU2NvcGVkXFxcIjp0cnVlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IFwiZGF0YS12LWUwMDgxMDgyXCJcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvaW5wdXROdW1iZXIvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LWUwMDgxMDgyXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtZTAwODEwODJcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0TnVtYmVyL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjYyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///662\n");
4437
4438/***/ }),
4439/* 663 */
4440/***/ (function(module, exports, __webpack_require__) {
4441
4442eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(664);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"1f1e4061\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-e0081082\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-e0081082\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0TnVtYmVyL2luZGV4LnZ1ZT84NmZmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQThXO0FBQ3BZLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBaUcsZ0NBQWdDO0FBQ3RKO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLG1NQUFtTSxrRkFBa0Y7QUFDclIsNE1BQTRNLGtGQUFrRjtBQUM5UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjY2My5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1lMDA4MTA4MlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCIxZjFlNDA2MVwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZTAwODEwODJcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1lMDA4MTA4MlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LWUwMDgxMDgyXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9pbnB1dE51bWJlci9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDY2M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///663\n");
4443
4444/***/ }),
4445/* 664 */
4446/***/ (function(module, exports, __webpack_require__) {
4447
4448eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formDiv[data-v-e0081082]{\\n display:inline-block;\\n line-height: 60px;\\n text-align: left;\\n}\\n.inputStyle[data-v-e0081082]{\\n width:50%;\\n}\\n.formDiv-left[data-v-e0081082] {\\n display:inline-block;\\n width: 35%;\\n text-align:right;\\n font-size:15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.formDiv-right[data-v-e0081082] {\\n width: 60%;\\n position: relative;\\n display:inline-block;\\n float: right;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/inputNumber/myPlugin/page-ide/lib/components/levelThree/inputNumber/index.vue\"],\"names\":[],\"mappings\":\";AA2CA;EACA,qBAAA;EACA,kBAAA;EACA,iBAAA;CACA;AACA;EACA,UAAA;CACA;AACA;EACA,qBAAA;EACA,WAAA;EACA,iBAAA;EACA,eAAA;EACA,YAAA;EACA,eAAA;CACA;AACA;EACA,WAAA;EACA,mBAAA;EACA,qBAAA;EACA,aAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formDiv\\\">\\r\\n <div class=\\\"formDiv-left\\\">\\r\\n <Label :style=\\\"{marginLeft:'5px'}\\\">{{property.label}}</Label>\\r\\n </div>\\r\\n <div class=\\\"formDiv-right\\\" >\\r\\n <InputNumber class=\\\"inputStyle\\\" :placeholder=extend.placeholder ></InputNumber>\\r\\n </div>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport {editSetting} from './property';\\r\\nexport default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n data () {\\r\\n return {\\r\\n property:{\\r\\n label : '数字输入框',\\r\\n },\\r\\n extend:{\\r\\n placeholder:\\\"\\\"\\r\\n },\\r\\n text: 'input',\\r\\n styles: {minWidth: '100px',height:'40px',width:'100px',margin:'10px'},\\r\\n type: 'input',\\r\\n level: editSetting.level,\\r\\n };\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .formDiv{\\r\\n display:inline-block;\\r\\n line-height: 60px;\\r\\n text-align: left;\\r\\n }\\r\\n .inputStyle{\\r\\n width:50%;\\r\\n }\\r\\n .formDiv-left {\\r\\n display:inline-block;\\r\\n width: 35%;\\r\\n text-align:right;\\r\\n font-size:15px;\\r\\n float: left;\\r\\n margin: 0 10px;\\r\\n }\\r\\n .formDiv-right {\\r\\n width: 60%;\\r\\n position: relative;\\r\\n display:inline-block;\\r\\n float: right;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0TnVtYmVyL2luZGV4LnZ1ZT8yYWY1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQStFO0FBQ2xIOzs7QUFHQTtBQUNBLGNBQWMsUUFBUywrQkFBK0IseUJBQXlCLHNCQUFzQixxQkFBcUIsR0FBRywrQkFBK0IsY0FBYyxHQUFHLGtDQUFrQyx5QkFBeUIsZUFBZSxxQkFBcUIsbUJBQW1CLGdCQUFnQixtQkFBbUIsR0FBRyxtQ0FBbUMsZUFBZSx1QkFBdUIseUJBQXlCLGlCQUFpQixHQUFHLFVBQVUscU1BQXFNLE1BQU0sV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFdBQVcsVUFBVSxXQUFXLFVBQVUsVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFdBQVcsV0FBVyxVQUFVLGtKQUFrSixpQkFBaUIsS0FBSyxnQkFBZ0IsNk5BQTZOLFlBQVksbUJBQW1CLG9CQUFvQixtQkFBbUIsc0JBQXNCLHlGQUF5RixzRUFBc0Usa0JBQWtCLG9CQUFvQiwwQkFBMEIscURBQXFELHlCQUF5QixxREFBcUQsd0RBQXdELDREQUE0RCxzRkFBc0YsU0FBUyx5RkFBeUYsa0RBQWtELDZCQUE2QiwwQkFBMEIseUJBQXlCLE9BQU8sa0JBQWtCLGtCQUFrQixPQUFPLHFCQUFxQiw2QkFBNkIsbUJBQW1CLHlCQUF5Qix1QkFBdUIsb0JBQW9CLHVCQUF1QixPQUFPLHNCQUFzQixtQkFBbUIsMkJBQTJCLDZCQUE2QixxQkFBcUIsT0FBTyxtQ0FBbUM7O0FBRTM3RSIsImZpbGUiOiI2NjQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG4uZm9ybURpdltkYXRhLXYtZTAwODEwODJde1xcbiAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxuICBsaW5lLWhlaWdodDogNjBweDtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxufVxcbi5pbnB1dFN0eWxlW2RhdGEtdi1lMDA4MTA4Ml17XFxuICB3aWR0aDo1MCU7XFxufVxcbi5mb3JtRGl2LWxlZnRbZGF0YS12LWUwMDgxMDgyXSB7XFxuICBkaXNwbGF5OmlubGluZS1ibG9jaztcXG4gIHdpZHRoOiAzNSU7XFxuICB0ZXh0LWFsaWduOnJpZ2h0O1xcbiAgZm9udC1zaXplOjE1cHg7XFxuICBmbG9hdDogbGVmdDtcXG4gIG1hcmdpbjogMCAxMHB4O1xcbn1cXG4uZm9ybURpdi1yaWdodFtkYXRhLXYtZTAwODEwODJdIHtcXG4gIHdpZHRoOiA2MCU7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OmlubGluZS1ibG9jaztcXG4gIGZsb2F0OiByaWdodDtcXG59XFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIkU6L3Byb2plY3QvcGFnZS1pZGUteGlhbi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0TnVtYmVyL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvaW5wdXROdW1iZXIvaW5kZXgudnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUEyQ0E7RUFDQSxxQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7Q0FDQTtBQUNBO0VBQ0EsVUFBQTtDQUNBO0FBQ0E7RUFDQSxxQkFBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtDQUNBO0FBQ0E7RUFDQSxXQUFBO0VBQ0EsbUJBQUE7RUFDQSxxQkFBQTtFQUNBLGFBQUE7Q0FDQVwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjx0ZW1wbGF0ZT5cXHJcXG4gIDxkaXYgY2xhc3M9XFxcImZvcm1EaXZcXFwiPlxcclxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2LWxlZnRcXFwiPlxcclxcbiAgICAgIDxMYWJlbCA6c3R5bGU9XFxcInttYXJnaW5MZWZ0Oic1cHgnfVxcXCI+e3twcm9wZXJ0eS5sYWJlbH19PC9MYWJlbD5cXHJcXG4gICAgPC9kaXY+XFxyXFxuICAgIDxkaXYgY2xhc3M9XFxcImZvcm1EaXYtcmlnaHRcXFwiID5cXHJcXG4gICAgICA8SW5wdXROdW1iZXIgY2xhc3M9XFxcImlucHV0U3R5bGVcXFwiICA6cGxhY2Vob2xkZXI9ZXh0ZW5kLnBsYWNlaG9sZGVyID48L0lucHV0TnVtYmVyPlxcclxcbiAgICA8L2Rpdj5cXHJcXG4gIDwvZGl2PlxcclxcbjwvdGVtcGxhdGU+XFxyXFxuXFxyXFxuPHNjcmlwdD5cXHJcXG5pbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcXHJcXG5leHBvcnQgZGVmYXVsdCB7XFxyXFxuICAgIC8vIHByb3BzOiB7XFxyXFxuICAgIC8vICAgICB0ZXh0OiB7XFxyXFxuICAgIC8vICAgICAgICAgdHlwZTogU3RyaW5nLFxcclxcbiAgICAvLyAgICAgICAgIGRlZmF1bHQ6ICdCdXR0b24gVGV4dCdcXHJcXG4gICAgLy8gICAgIH0sXFxyXFxuICAgIC8vICAgICB0eXBlOiBTdHJpbmcsXFxyXFxuICAgIC8vICAgICBzdHlsZXM6IE9iamVjdFxcclxcbiAgICAvLyB9LFxcclxcbiAgICBkYXRhICgpIHtcXHJcXG4gICAgICAgIHJldHVybiB7XFxyXFxuICAgICAgICAgICAgcHJvcGVydHk6e1xcclxcbiAgICAgICAgICAgICAgICBsYWJlbCA6ICfmlbDlrZfovpPlhaXmoYYnLFxcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgZXh0ZW5kOntcXHJcXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6XFxcIlxcXCJcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIHRleHQ6ICdpbnB1dCcsXFxyXFxuICAgICAgICAgICAgc3R5bGVzOiB7bWluV2lkdGg6ICcxMDBweCcsaGVpZ2h0Oic0MHB4Jyx3aWR0aDonMTAwcHgnLG1hcmdpbjonMTBweCd9LFxcclxcbiAgICAgICAgICAgIHR5cGU6ICdpbnB1dCcsXFxyXFxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgfSxcXHJcXG4gICAgZWRpdFNldHRpbmcsXFxyXFxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcXHJcXG4gICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXFxyXFxufTtcXHJcXG48L3NjcmlwdD5cXHJcXG5cXHJcXG48c3R5bGUgc2NvcGVkPlxcclxcbiAgLmZvcm1EaXZ7XFxyXFxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcclxcbiAgICBsaW5lLWhlaWdodDogNjBweDtcXHJcXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcXHJcXG4gIH1cXHJcXG4gIC5pbnB1dFN0eWxle1xcclxcbiAgICB3aWR0aDo1MCU7XFxyXFxuICB9XFxyXFxuICAuZm9ybURpdi1sZWZ0IHtcXHJcXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgIHdpZHRoOiAzNSU7XFxyXFxuICAgIHRleHQtYWxpZ246cmlnaHQ7XFxyXFxuICAgIGZvbnQtc2l6ZToxNXB4O1xcclxcbiAgICBmbG9hdDogbGVmdDtcXHJcXG4gICAgbWFyZ2luOiAwIDEwcHg7XFxyXFxuICB9XFxyXFxuICAuZm9ybURpdi1yaWdodCB7XFxyXFxuICAgIHdpZHRoOiA2MCU7XFxyXFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXHJcXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgIGZsb2F0OiByaWdodDtcXHJcXG4gIH1cXHJcXG48L3N0eWxlPlxcclxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi1lMDA4MTA4MlwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvaW5wdXROdW1iZXIvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2NjRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///664\n");
4449
4450/***/ }),
4451/* 665 */
4452/***/ (function(module, exports, __webpack_require__) {
4453
4454"use strict";
4455eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = [{\n field: 'property.title',\n text: '数字输入框',\n type: 'title'\n}, {\n field: 'property.prop',\n text: '属性名称',\n type: 'reqSelect',\n isShow: 'hide'\n}, {\n field: 'property.label',\n text: '标题',\n maxFont: '20',\n type: 'string'\n}, {\n field: 'property.busiId',\n text: '标题',\n isShow: 'hide',\n type: 'string'\n}, {\n field: 'extend.placeholder',\n text: '提示文字',\n maxFont: '50',\n maxInputFont: '1000',\n type: 'string'\n}, {\n field: 'extend.itemWidth',\n text: 'itemWidth',\n type: 'number',\n value: 320,\n isShow: 'hide'\n}, {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'validateInput'\n}];\n\n_common.commonTool.assembleData(editors);\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-input-number',\n name: '数字输入框',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0TnVtYmVyL3Byb3BlcnR5LmpzPzFhNjAiXSwibmFtZXMiOlsiZWRpdG9ycyIsImZpZWxkIiwidGV4dCIsInR5cGUiLCJpc1Nob3ciLCJtYXhGb250IiwibWF4SW5wdXRGb250IiwidmFsdWUiLCJjb21tb25Ub29sIiwiYXNzZW1ibGVEYXRhIiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibmFtZSIsImxldmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7O0FBTUEsSUFBSUEsVUFBUyxDQUNUO0FBQ0lDLFdBQU8sZ0JBRFg7QUFFSUMsVUFBTSxPQUZWO0FBR0lDLFVBQU07QUFIVixDQURTLEVBTVQ7QUFDSUYsV0FBTyxlQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJQyxVQUFNLFdBSFY7QUFJSUMsWUFBTztBQUpYLENBTlMsRUFZVDtBQUNJSCxXQUFPLGdCQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJRyxhQUFRLElBSFo7QUFJSUYsVUFBTTtBQUpWLENBWlMsRUFrQlQ7QUFDSUYsV0FBTyxpQkFEWDtBQUVJQyxVQUFNLElBRlY7QUFHSUUsWUFBTyxNQUhYO0FBSUlELFVBQU07QUFKVixDQWxCUyxFQXdCVDtBQUNJRixXQUFPLG9CQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJRyxhQUFRLElBSFo7QUFJSUMsa0JBQWEsTUFKakI7QUFLSUgsVUFBTTtBQUxWLENBeEJTLEVBK0JUO0FBQ0lGLFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxXQUZWO0FBR0lDLFVBQU0sUUFIVjtBQUlJSSxXQUFPLEdBSlg7QUFLSUgsWUFBTztBQUxYLENBL0JTLEVBc0NUO0FBQ0lILFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU07QUFIVixDQXRDUyxDQUFiOztBQTZDQUssbUJBQVdDLFlBQVgsQ0FBd0JULE9BQXhCO0FBQ0FVLFFBQVFDLEdBQVIsQ0FBWVgsT0FBWjtBQUNPLElBQU1ZLG9DQUFjO0FBQ3ZCQyxTQUFLLG1CQURrQjtBQUV2QkMsVUFBTSxPQUZpQjtBQUd2QkMsV0FBTSxDQUhpQjtBQUl2QmYsYUFBUUE7QUFKZSxDQUFwQiIsImZpbGUiOiI2NjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gIE5vdGUg5bel5YW357G7XHJcbiAqL1xyXG5pbXBvcnQge2NvbW1vblRvb2x9IGZyb20gXCIuLi8uLi9jb21tb24vY29tbW9uXCJcclxuLypcclxuTm90ZSDlrprkuYnoh6rlrprkuYnlsZ7mgKfvvIzlhazlhbHlsZ7mgKfku45jb21tb27mlofku7bph4zor7vlj5ZcclxuYXV0aG9yIOWImOaWh+WQm1xyXG4gKi9cclxuXHJcbmxldCBlZGl0b3JzPSBbXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS50aXRsZScsXHJcbiAgICAgICAgdGV4dDogJ+aVsOWtl+i+k+WFpeahhicsXHJcbiAgICAgICAgdHlwZTogJ3RpdGxlJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LnByb3AnLFxyXG4gICAgICAgIHRleHQ6ICflsZ7mgKflkI3np7AnLFxyXG4gICAgICAgIHR5cGU6ICdyZXFTZWxlY3QnLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZScsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkubGFiZWwnLFxyXG4gICAgICAgIHRleHQ6ICfmoIfpopgnLFxyXG4gICAgICAgIG1heEZvbnQ6JzIwJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmJ1c2lJZCcsXHJcbiAgICAgICAgdGV4dDogJ+agh+mimCcsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5wbGFjZWhvbGRlcicsXHJcbiAgICAgICAgdGV4dDogJ+aPkOekuuaWh+WtlycsXHJcbiAgICAgICAgbWF4Rm9udDonNTAnLFxyXG4gICAgICAgIG1heElucHV0Rm9udDonMTAwMCcsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdleHRlbmQuaXRlbVdpZHRoJyxcclxuICAgICAgICB0ZXh0OiAnaXRlbVdpZHRoJyxcclxuICAgICAgICB0eXBlOiAnbnVtYmVyJyxcclxuICAgICAgICB2YWx1ZTogMzIwLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZSdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdkYXRhLmhlaWdodExldmVsJyxcclxuICAgICAgICB0ZXh0OiAn5piv5ZCm5pi+56S6JyxcclxuICAgICAgICB0eXBlOiAndmFsaWRhdGVJbnB1dCdcclxuICAgIH1cclxuXTtcclxuXHJcbmNvbW1vblRvb2wuYXNzZW1ibGVEYXRhKGVkaXRvcnMpO1xyXG5jb25zb2xlLmxvZyhlZGl0b3JzKTtcclxuZXhwb3J0IGNvbnN0IGVkaXRTZXR0aW5nID0ge1xyXG4gICAga2V5OiAnZ2FlYS1pbnB1dC1udW1iZXInLFxyXG4gICAgbmFtZTogJ+aVsOWtl+i+k+WFpeahhicsXHJcbiAgICBsZXZlbDo0LFxyXG4gICAgZWRpdG9yczplZGl0b3JzLFxyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0TnVtYmVyL3Byb3BlcnR5LmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///665\n");
4456
4457/***/ }),
4458/* 666 */
4459/***/ (function(module, __webpack_exports__, __webpack_require__) {
4460
4461"use strict";
4462eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"formDiv\" }, [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [\n _c(\"Label\", { style: { marginLeft: \"5px\" } }, [\n _vm._v(_vm._s(_vm.property.label))\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"formDiv-right\" },\n [\n _c(\"InputNumber\", {\n staticClass: \"inputStyle\",\n attrs: { placeholder: _vm.extend.placeholder }\n })\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-e0081082\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2lucHV0TnVtYmVyL2luZGV4LnZ1ZT9mZThjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLHlCQUF5QjtBQUM3QztBQUNBO0FBQ0EsT0FBTyw4QkFBOEI7QUFDckM7QUFDQSxxQkFBcUIsU0FBUyxvQkFBb0IsRUFBRTtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTywrQkFBK0I7QUFDdEM7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNjY2LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXZcIiB9LCBbXG4gICAgX2MoXG4gICAgICBcImRpdlwiLFxuICAgICAgeyBzdGF0aWNDbGFzczogXCJmb3JtRGl2LWxlZnRcIiB9LFxuICAgICAgW1xuICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3R5bGU6IHsgbWFyZ2luTGVmdDogXCI1cHhcIiB9IH0sIFtcbiAgICAgICAgICBfdm0uX3YoX3ZtLl9zKF92bS5wcm9wZXJ0eS5sYWJlbCkpXG4gICAgICAgIF0pXG4gICAgICBdLFxuICAgICAgMVxuICAgICksXG4gICAgX3ZtLl92KFwiIFwiKSxcbiAgICBfYyhcbiAgICAgIFwiZGl2XCIsXG4gICAgICB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXYtcmlnaHRcIiB9LFxuICAgICAgW1xuICAgICAgICBfYyhcIklucHV0TnVtYmVyXCIsIHtcbiAgICAgICAgICBzdGF0aWNDbGFzczogXCJpbnB1dFN0eWxlXCIsXG4gICAgICAgICAgYXR0cnM6IHsgcGxhY2Vob2xkZXI6IF92bS5leHRlbmQucGxhY2Vob2xkZXIgfVxuICAgICAgICB9KVxuICAgICAgXSxcbiAgICAgIDFcbiAgICApXG4gIF0pXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi1lMDA4MTA4MlwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi1lMDA4MTA4MlwiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvaW5wdXROdW1iZXIvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2NjZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///666\n");
4463
4464/***/ }),
4465/* 667 */
4466/***/ (function(module, __webpack_exports__, __webpack_require__) {
4467
4468"use strict";
4469eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(177);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_1dc91280_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(671);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(668)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-1dc91280\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_1dc91280_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/label/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-1dc91280\", Component.options)\n } else {\n hotAPI.reload(\"data-v-1dc91280\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2xhYmVsL2luZGV4LnZ1ZT9kNjdhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBcVY7QUFDL1Y7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUF3RjtBQUN6SDtBQUN3STtBQUNhO0FBQ3JKO0FBQ21UO0FBQ25UO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxpUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjY2Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTFkYzkxMjgwXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTFkYzkxMjgwXFxcIixcXFwiaGFzU2NvcGVkXFxcIjp0cnVlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IFwiZGF0YS12LTFkYzkxMjgwXCJcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvbGFiZWwvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTFkYzkxMjgwXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtMWRjOTEyODBcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2xhYmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjY3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///667\n");
4470
4471/***/ }),
4472/* 668 */
4473/***/ (function(module, exports, __webpack_require__) {
4474
4475eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(669);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"a02d2010\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1dc91280\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1dc91280\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2xhYmVsL2luZGV4LnZ1ZT9lNTMwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQThXO0FBQ3BZLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBaUcsZ0NBQWdDO0FBQ3RKO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLG1NQUFtTSxrRkFBa0Y7QUFDclIsNE1BQTRNLGtGQUFrRjtBQUM5UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjY2OC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xZGM5MTI4MFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCJhMDJkMjAxMFwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMWRjOTEyODBcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xZGM5MTI4MFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTFkYzkxMjgwXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9sYWJlbC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDY2OFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///668\n");
4476
4477/***/ }),
4478/* 669 */
4479/***/ (function(module, exports, __webpack_require__) {
4480
4481eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formDiv[data-v-1dc91280]{\\n position: relative;\\n display:inline-block;\\n line-height: 60px;\\n text-align: left;\\n}\\n.formDiv-left[data-v-1dc91280] {\\n display:inline-block;\\n width: 35%;\\n text-align:right;\\n font-size:15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.formDiv-right[data-v-1dc91280] {\\n width: 60%;\\n position: relative;\\n display:inline-block;\\n float: right;\\n}\\n.labelStyle[data-v-1dc91280] {\\n color: rgba(25, 31, 37, 0.4);\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/label/myPlugin/page-ide/lib/components/levelThree/label/index.vue\"],\"names\":[],\"mappings\":\";AA0EA;IACA,mBAAA;IACA,qBAAA;IACA,kBAAA;IACA,iBAAA;CACA;AACA;IACA,qBAAA;IACA,WAAA;IACA,iBAAA;IACA,eAAA;IACA,YAAA;IACA,eAAA;CACA;AACA;IACA,WAAA;IACA,mBAAA;IACA,qBAAA;IACA,aAAA;CACA;AACA;IACA,6BAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formDiv\\\" @mouseenter=\\\"show\\\" @mouseleave=\\\"hide\\\">\\r\\n <div class=\\\"formDiv-left\\\">\\r\\n <Label v-if=\\\"type==='label'\\\">\\r\\n {{property.label}}\\r\\n </Label>\\r\\n </div>\\r\\n <div class=\\\"formDiv-right\\\">\\r\\n <span class=\\\"labelStyle\\\">系统自动带出,不需要手动填写</span>\\r\\n </div>\\r\\n <commomHoverModal ref=\\\"commomHoverModal\\\" ></commomHoverModal>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\n import {editSetting} from './property';\\r\\n import commomHoverModal from '../../common/commomHoverModal'\\r\\n import eventbus from '../../../service/eventbus';\\r\\n export default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n components:{\\r\\n commomHoverModal\\r\\n },\\r\\n data () {\\r\\n return {\\r\\n property:{\\r\\n label : '标签',\\r\\n },\\r\\n text: 'label',\\r\\n styles: {\\r\\n display:'inline-block',\\r\\n width:'40%',\\r\\n height:'60px',\\r\\n lineHeight:'60px',\\r\\n textAlign:'right',\\r\\n fontSize:'15px'\\r\\n },\\r\\n type: 'label',\\r\\n level: editSetting.level,\\r\\n };\\r\\n },\\r\\n editSetting,\\r\\n methods:{\\r\\n show(){\\r\\n this.$refs.commomHoverModal.handleMouseEnter();\\r\\n },\\r\\n hide(){\\r\\n this.$refs.commomHoverModal.handleMouseLeave();\\r\\n }\\r\\n },\\r\\n mounted(){\\r\\n /* eventbus.$on(this.$store.state.viewport.mouseLeaveComponent, () => {\\r\\n this.$refs.commomHoverModal.handleMouseLeave();\\r\\n });\\r\\n eventbus.$on(this.$store.state.viewport.mouseHoveringComponent, () => {\\r\\n debugger;\\r\\n this.$refs.commomHoverModal.handleMouseEnter();\\r\\n });*/\\r\\n },\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n };\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n\\r\\n\\r\\n .formDiv{\\r\\n position: relative;\\r\\n display:inline-block;\\r\\n line-height: 60px;\\r\\n text-align: left;\\r\\n }\\r\\n .formDiv-left {\\r\\n display:inline-block;\\r\\n width: 35%;\\r\\n text-align:right;\\r\\n font-size:15px;\\r\\n float: left;\\r\\n margin: 0 10px;\\r\\n }\\r\\n .formDiv-right {\\r\\n width: 60%;\\r\\n position: relative;\\r\\n display:inline-block;\\r\\n float: right;\\r\\n }\\r\\n .labelStyle {\\r\\n color: rgba(25, 31, 37, 0.4);\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2xhYmVsL2luZGV4LnZ1ZT8wNmIyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQStFO0FBQ2xIOzs7QUFHQTtBQUNBLGNBQWMsUUFBUywrQkFBK0IseUJBQXlCLDJCQUEyQix3QkFBd0IsdUJBQXVCLEdBQUcsa0NBQWtDLDJCQUEyQixpQkFBaUIsdUJBQXVCLHFCQUFxQixrQkFBa0IscUJBQXFCLEdBQUcsbUNBQW1DLGlCQUFpQix5QkFBeUIsMkJBQTJCLG1CQUFtQixHQUFHLGdDQUFnQyxtQ0FBbUMsR0FBRyxVQUFVLHlMQUF5TCxNQUFNLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLFdBQVcsVUFBVSxXQUFXLFVBQVUsVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFdBQVcsV0FBVyxVQUFVLEtBQUssS0FBSyxXQUFXLDhPQUE4TyxnQkFBZ0IsOFNBQThTLFlBQVksbUJBQW1CLDZIQUE2SCx3QkFBd0IsdUJBQXVCLDBCQUEwQixxR0FBcUcsa0ZBQWtGLHlCQUF5QixnREFBZ0Qsc0JBQXNCLHdCQUF3Qiw4QkFBOEIsMERBQTBELGdFQUFnRSx5UUFBeVEsa0dBQWtHLGFBQWEsOENBQThDLHVCQUF1QixtRUFBbUUsaUJBQWlCLHdCQUF3QixtRUFBbUUsaUJBQWlCLGFBQWEsdUJBQXVCLHNGQUFzRixtRUFBbUUsaUJBQWlCLEVBQUUsdUZBQXVGLDZCQUE2QixtRUFBbUUsaUJBQWlCLEVBQUUsZUFBZSxpRkFBaUYsNERBQTRELCtCQUErQixpQ0FBaUMsOEJBQThCLDZCQUE2QixTQUFTLHVCQUF1QixpQ0FBaUMsdUJBQXVCLDZCQUE2QiwyQkFBMkIsd0JBQXdCLDJCQUEyQixTQUFTLHdCQUF3Qix1QkFBdUIsK0JBQStCLGlDQUFpQyx5QkFBeUIsU0FBUyxxQkFBcUIseUNBQXlDLFNBQVMsbUNBQW1DOztBQUV0MUgiLCJmaWxlIjoiNjY5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLmZvcm1EaXZbZGF0YS12LTFkYzkxMjgwXXtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XFxuICAgIHRleHQtYWxpZ246IGxlZnQ7XFxufVxcbi5mb3JtRGl2LWxlZnRbZGF0YS12LTFkYzkxMjgwXSB7XFxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcbiAgICB3aWR0aDogMzUlO1xcbiAgICB0ZXh0LWFsaWduOnJpZ2h0O1xcbiAgICBmb250LXNpemU6MTVweDtcXG4gICAgZmxvYXQ6IGxlZnQ7XFxuICAgIG1hcmdpbjogMCAxMHB4O1xcbn1cXG4uZm9ybURpdi1yaWdodFtkYXRhLXYtMWRjOTEyODBdIHtcXG4gICAgd2lkdGg6IDYwJTtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXG4gICAgZmxvYXQ6IHJpZ2h0O1xcbn1cXG4ubGFiZWxTdHlsZVtkYXRhLXYtMWRjOTEyODBdIHtcXG4gICAgY29sb3I6IHJnYmEoMjUsIDMxLCAzNywgMC40KTtcXG59XFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIkU6L3Byb2plY3QvcGFnZS1pZGUteGlhbi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2xhYmVsL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvbGFiZWwvaW5kZXgudnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUEwRUE7SUFDQSxtQkFBQTtJQUNBLHFCQUFBO0lBQ0Esa0JBQUE7SUFDQSxpQkFBQTtDQUNBO0FBQ0E7SUFDQSxxQkFBQTtJQUNBLFdBQUE7SUFDQSxpQkFBQTtJQUNBLGVBQUE7SUFDQSxZQUFBO0lBQ0EsZUFBQTtDQUNBO0FBQ0E7SUFDQSxXQUFBO0lBQ0EsbUJBQUE7SUFDQSxxQkFBQTtJQUNBLGFBQUE7Q0FDQTtBQUNBO0lBQ0EsNkJBQUE7Q0FDQVwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjx0ZW1wbGF0ZT5cXHJcXG4gICAgPGRpdiBjbGFzcz1cXFwiZm9ybURpdlxcXCIgICBAbW91c2VlbnRlcj1cXFwic2hvd1xcXCIgQG1vdXNlbGVhdmU9XFxcImhpZGVcXFwiPlxcclxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybURpdi1sZWZ0XFxcIj5cXHJcXG4gICAgICAgICAgICA8TGFiZWwgdi1pZj1cXFwidHlwZT09PSdsYWJlbCdcXFwiPlxcclxcbiAgICAgICAgICAgICAgICB7e3Byb3BlcnR5LmxhYmVsfX1cXHJcXG4gICAgICAgICAgICA8L0xhYmVsPlxcclxcbiAgICAgICAgPC9kaXY+XFxyXFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2LXJpZ2h0XFxcIj5cXHJcXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwibGFiZWxTdHlsZVxcXCI+57O757uf6Ieq5Yqo5bim5Ye677yM5LiN6ZyA6KaB5omL5Yqo5aGr5YaZPC9zcGFuPlxcclxcbiAgICAgICAgPC9kaXY+XFxyXFxuICAgICAgICAgPGNvbW1vbUhvdmVyTW9kYWwgcmVmPVxcXCJjb21tb21Ib3Zlck1vZGFsXFxcIiA+PC9jb21tb21Ib3Zlck1vZGFsPlxcclxcbiAgICA8L2Rpdj5cXHJcXG48L3RlbXBsYXRlPlxcclxcblxcclxcbjxzY3JpcHQ+XFxyXFxuICAgIGltcG9ydCB7ZWRpdFNldHRpbmd9IGZyb20gJy4vcHJvcGVydHknO1xcclxcbiAgICBpbXBvcnQgY29tbW9tSG92ZXJNb2RhbCBmcm9tICcuLi8uLi9jb21tb24vY29tbW9tSG92ZXJNb2RhbCdcXHJcXG4gICAgaW1wb3J0IGV2ZW50YnVzIGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZXZlbnRidXMnO1xcclxcbiAgICBleHBvcnQgZGVmYXVsdCB7XFxyXFxuICAgICAgICAvLyBwcm9wczoge1xcclxcbiAgICAgICAgLy8gICAgIHRleHQ6IHtcXHJcXG4gICAgICAgIC8vICAgICAgICAgdHlwZTogU3RyaW5nLFxcclxcbiAgICAgICAgLy8gICAgICAgICBkZWZhdWx0OiAnQnV0dG9uIFRleHQnXFxyXFxuICAgICAgICAvLyAgICAgfSxcXHJcXG4gICAgICAgIC8vICAgICB0eXBlOiBTdHJpbmcsXFxyXFxuICAgICAgICAvLyAgICAgc3R5bGVzOiBPYmplY3RcXHJcXG4gICAgICAgIC8vIH0sXFxyXFxuICAgICAgICBjb21wb25lbnRzOntcXHJcXG4gICAgICAgICAgICAgICBjb21tb21Ib3Zlck1vZGFsXFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZGF0YSAoKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIHtcXHJcXG4gICAgICAgICAgICAgICAgcHJvcGVydHk6e1xcclxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWwgOiAn5qCH562+JyxcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgdGV4dDogJ2xhYmVsJyxcXHJcXG4gICAgICAgICAgICAgICAgc3R5bGVzOiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OidpbmxpbmUtYmxvY2snLFxcclxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6JzQwJScsXFxyXFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6JzYwcHgnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDonNjBweCcsXFxyXFxuICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246J3JpZ2h0JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOicxNXB4J1xcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICB0eXBlOiAnbGFiZWwnLFxcclxcbiAgICAgICAgICAgICAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXFxyXFxuICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBlZGl0U2V0dGluZyxcXHJcXG4gICAgICAgIG1ldGhvZHM6e1xcclxcbiAgICAgICAgICAgIHNob3coKXtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlRW50ZXIoKTtcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIGhpZGUoKXtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlTGVhdmUoKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgbW91bnRlZCgpe1xcclxcbiAgICAgICAgICAvKiAgZXZlbnRidXMuJG9uKHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0Lm1vdXNlTGVhdmVDb21wb25lbnQsICgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlTGVhdmUoKTtcXHJcXG4gICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgICAgICBldmVudGJ1cy4kb24odGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQubW91c2VIb3ZlcmluZ0NvbXBvbmVudCwgKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICBkZWJ1Z2dlcjtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlRW50ZXIoKTtcXHJcXG4gICAgICAgICAgICB9KTsqL1xcclxcbiAgICAgICAgfSxcXHJcXG4gICAgICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcXHJcXG4gICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxcclxcbiAgICB9O1xcclxcbjwvc2NyaXB0PlxcclxcblxcclxcbjxzdHlsZSBzY29wZWQ+XFxyXFxuXFxyXFxuXFxyXFxuICAgIC5mb3JtRGl2e1xcclxcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xcclxcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcXHJcXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XFxyXFxuICAgIH1cXHJcXG4gICAgLmZvcm1EaXYtbGVmdCB7XFxyXFxuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXHJcXG4gICAgICAgIHdpZHRoOiAzNSU7XFxyXFxuICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xcclxcbiAgICAgICAgZm9udC1zaXplOjE1cHg7XFxyXFxuICAgICAgICBmbG9hdDogbGVmdDtcXHJcXG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xcclxcbiAgICB9XFxyXFxuICAgIC5mb3JtRGl2LXJpZ2h0IHtcXHJcXG4gICAgICAgIHdpZHRoOiA2MCU7XFxyXFxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxyXFxuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXHJcXG4gICAgICAgIGZsb2F0OiByaWdodDtcXHJcXG4gICAgfVxcclxcbiAgICAubGFiZWxTdHlsZSB7XFxyXFxuICAgICAgICBjb2xvcjogcmdiYSgyNSwgMzEsIDM3LCAwLjQpO1xcclxcbiAgICB9XFxyXFxuPC9zdHlsZT5cXHJcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtMWRjOTEyODBcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2xhYmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjY5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///669\n");
4482
4483/***/ }),
4484/* 670 */
4485/***/ (function(module, exports, __webpack_require__) {
4486
4487"use strict";
4488eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = [{\n field: 'property.title',\n text: '标签',\n type: 'title'\n}, {\n field: 'property.prop',\n text: '属性名称',\n isShow: 'hide',\n type: 'reqSelect'\n}, {\n field: 'property.label',\n text: '标题',\n maxFont: '20',\n type: 'string'\n}, {\n field: 'property.busiId',\n text: '标题',\n isShow: 'hide',\n type: 'string'\n}, {\n field: 'extend.itemWidth',\n text: 'itemWidth',\n type: 'number',\n value: 320,\n isShow: 'hide'\n}, {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'validateInput'\n}];\n\nvar editors123 = ['属性(标签)', {\n field: 'property.label',\n text: '标签',\n type: 'string'\n}, {\n field: 'property.prop',\n text: '属性名称',\n type: 'reqSelect',\n isShow: 'hide'\n}, '高级', {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'labelHeightLevel'\n}];\n\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-label',\n name: '标签',\n level: 5,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2xhYmVsL3Byb3BlcnR5LmpzPzRjYWYiXSwibmFtZXMiOlsiZWRpdG9ycyIsImZpZWxkIiwidGV4dCIsInR5cGUiLCJpc1Nob3ciLCJtYXhGb250IiwidmFsdWUiLCJlZGl0b3JzMTIzIiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibmFtZSIsImxldmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7O0FBUUEsSUFBSUEsVUFBUyxDQUNUO0FBQ0lDLFdBQU8sZ0JBRFg7QUFFSUMsVUFBTSxJQUZWO0FBR0lDLFVBQU07QUFIVixDQURTLEVBTVQ7QUFDSUYsV0FBTyxlQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJRSxZQUFPLE1BSFg7QUFJSUQsVUFBTTtBQUpWLENBTlMsRUFZVDtBQUNJRixXQUFPLGdCQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJRyxhQUFRLElBSFo7QUFJSUYsVUFBTTtBQUpWLENBWlMsRUFrQlQ7QUFDSUYsV0FBTyxpQkFEWDtBQUVJQyxVQUFNLElBRlY7QUFHSUUsWUFBTyxNQUhYO0FBSUlELFVBQU07QUFKVixDQWxCUyxFQXdCVDtBQUNJRixXQUFPLGtCQURYO0FBRUlDLFVBQU0sV0FGVjtBQUdJQyxVQUFNLFFBSFY7QUFJSUcsV0FBTyxHQUpYO0FBS0lGLFlBQU87QUFMWCxDQXhCUyxFQStCVDtBQUNJSCxXQUFPLGtCQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0EvQlMsQ0FBYjs7QUFzQ0EsSUFBSUksYUFBWSxDQUNaLFFBRFksRUFFWjtBQUNJTixXQUFPLGdCQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0FGWSxFQU9aO0FBQ0lGLFdBQU8sZUFEWDtBQUVJQyxVQUFNLE1BRlY7QUFHSUMsVUFBTSxXQUhWO0FBSUlDLFlBQU87QUFKWCxDQVBZLEVBYVosSUFiWSxFQWNaO0FBQ0lILFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU07QUFIVixDQWRZLENBQWhCOztBQTRCQUssUUFBUUMsR0FBUixDQUFZVCxPQUFaO0FBQ08sSUFBTVUsb0NBQWM7QUFDdkJDLFNBQUssWUFEa0I7QUFFdkJDLFVBQU0sSUFGaUI7QUFHdkJDLFdBQU0sQ0FIaUI7QUFJdkJiLGFBQVFBO0FBSmUsQ0FBcEIiLCJmaWxlIjoiNjcwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICBOb3RlIOW3peWFt+exu1xyXG4gKi9cclxuaW1wb3J0IHtjb21tb25Ub29sfSBmcm9tIFwiLi4vLi4vY29tbW9uL2NvbW1vblwiXHJcbi8qXHJcbk5vdGUg5a6a5LmJ6Ieq5a6a5LmJ5bGe5oCn77yM5YWs5YWx5bGe5oCn5LuOY29tbW9u5paH5Lu26YeM6K+75Y+WXHJcbmF1dGhvciDlj7bnq6Dmtalcclxu5aaC5p6c5pivbGFiZWwg6L+Z5Liq5omp5bGV5bGe5oCnIOS4jeehruWumu+8jOe7meS4gOS4quaWh+acrOahhuiuqeS7luWhq+WGmWtlee+8jOS4gOS4quaWh+acrOahhuWhq+WGmXZhbHVlXHJcblxyXG4gKi9cclxuXHJcbmxldCBlZGl0b3JzPSBbXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS50aXRsZScsXHJcbiAgICAgICAgdGV4dDogJ+agh+etvicsXHJcbiAgICAgICAgdHlwZTogJ3RpdGxlJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LnByb3AnLFxyXG4gICAgICAgIHRleHQ6ICflsZ7mgKflkI3np7AnLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZScsXHJcbiAgICAgICAgdHlwZTogJ3JlcVNlbGVjdCcsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkubGFiZWwnLFxyXG4gICAgICAgIHRleHQ6ICfmoIfpopgnLFxyXG4gICAgICAgIG1heEZvbnQ6JzIwJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmJ1c2lJZCcsXHJcbiAgICAgICAgdGV4dDogJ+agh+mimCcsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5pdGVtV2lkdGgnLFxyXG4gICAgICAgIHRleHQ6ICdpdGVtV2lkdGgnLFxyXG4gICAgICAgIHR5cGU6ICdudW1iZXInLFxyXG4gICAgICAgIHZhbHVlOiAzMjAsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2RhdGEuaGVpZ2h0TGV2ZWwnLFxyXG4gICAgICAgIHRleHQ6ICfmmK/lkKbmmL7npLonLFxyXG4gICAgICAgIHR5cGU6ICd2YWxpZGF0ZUlucHV0J1xyXG4gICAgfVxyXG5dO1xyXG5cclxubGV0IGVkaXRvcnMxMjM9IFtcclxuICAgICflsZ7mgKco5qCH562+KScsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5sYWJlbCcsXHJcbiAgICAgICAgdGV4dDogJ+agh+etvicsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5wcm9wJyxcclxuICAgICAgICB0ZXh0OiAn5bGe5oCn5ZCN56ewJyxcclxuICAgICAgICB0eXBlOiAncmVxU2VsZWN0JyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnXHJcbiAgICB9LFxyXG4gICAgJ+mrmOe6pycsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdkYXRhLmhlaWdodExldmVsJyxcclxuICAgICAgICB0ZXh0OiAn5piv5ZCm5pi+56S6JyxcclxuICAgICAgICB0eXBlOiAnbGFiZWxIZWlnaHRMZXZlbCdcclxuICAgIH0sXHJcbiAgICAvLyAn5omp5bGV5bGe5oCnJyxcclxuICAgIC8vICdsaW5rYWdlQ2hhbmdlVmFsdWUnLFxyXG4gICAgLy8ge1xyXG4gICAgLy8gICAgIGZpZWxkOiAnZXh0ZW5kLmxpbmthZ2VDaGFuZ2VWYWx1ZScsXHJcbiAgICAvLyAgICAgdGV4dDogJ+iBlOWKqCcsXHJcbiAgICAvLyAgICAgdHlwZTogJ2xpbmthZ2VDaGFuZ2VWYWx1ZSdcclxuICAgIC8vIH0sXHJcbl07XHJcbi8vIGNvbW1vblRvb2wuYXNzZW1ibGVEYXRhKGVkaXRvcnMpO1xyXG5jb25zb2xlLmxvZyhlZGl0b3JzKTtcclxuZXhwb3J0IGNvbnN0IGVkaXRTZXR0aW5nID0ge1xyXG4gICAga2V5OiAnZ2FlYS1sYWJlbCcsXHJcbiAgICBuYW1lOiAn5qCH562+JyxcclxuICAgIGxldmVsOjUsXHJcbiAgICBlZGl0b3JzOmVkaXRvcnMsXHJcbn07XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvbGFiZWwvcHJvcGVydHkuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///670\n");
4489
4490/***/ }),
4491/* 671 */
4492/***/ (function(module, __webpack_exports__, __webpack_require__) {
4493
4494"use strict";
4495eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"formDiv\",\n on: { mouseenter: _vm.show, mouseleave: _vm.hide }\n },\n [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [\n _vm.type === \"label\"\n ? _c(\"Label\", [\n _vm._v(\n \"\\n \" + _vm._s(_vm.property.label) + \"\\n \"\n )\n ])\n : _vm._e()\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"commomHoverModal\", { ref: \"commomHoverModal\" })\n ],\n 1\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"formDiv-right\" }, [\n _c(\"span\", { staticClass: \"labelStyle\" }, [\n _vm._v(\"系统自动带出,不需要手动填写\")\n ])\n ])\n }\n]\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-1dc91280\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2xhYmVsL2luZGV4LnZ1ZT8yZTczIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLFNBQVMsOEJBQThCO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsMEJBQTBCO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQiwrQkFBK0I7QUFDckQsa0JBQWtCLDRCQUE0QjtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjY3MS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7XG4gICAgICBzdGF0aWNDbGFzczogXCJmb3JtRGl2XCIsXG4gICAgICBvbjogeyBtb3VzZWVudGVyOiBfdm0uc2hvdywgbW91c2VsZWF2ZTogX3ZtLmhpZGUgfVxuICAgIH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiZGl2XCIsXG4gICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiZm9ybURpdi1sZWZ0XCIgfSxcbiAgICAgICAgW1xuICAgICAgICAgIF92bS50eXBlID09PSBcImxhYmVsXCJcbiAgICAgICAgICAgID8gX2MoXCJMYWJlbFwiLCBbXG4gICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgXCJcXG4gICAgICAgICAgICBcIiArIF92bS5fcyhfdm0ucHJvcGVydHkubGFiZWwpICsgXCJcXG4gICAgICAgIFwiXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgOiBfdm0uX2UoKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF92bS5fbSgwKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfYyhcImNvbW1vbUhvdmVyTW9kYWxcIiwgeyByZWY6IFwiY29tbW9tSG92ZXJNb2RhbFwiIH0pXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXG4gIGZ1bmN0aW9uKCkge1xuICAgIHZhciBfdm0gPSB0aGlzXG4gICAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gICAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gICAgcmV0dXJuIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwiZm9ybURpdi1yaWdodFwiIH0sIFtcbiAgICAgIF9jKFwic3BhblwiLCB7IHN0YXRpY0NsYXNzOiBcImxhYmVsU3R5bGVcIiB9LCBbXG4gICAgICAgIF92bS5fdihcIuezu+e7n+iHquWKqOW4puWHuu+8jOS4jemcgOimgeaJi+WKqOWhq+WGmVwiKVxuICAgICAgXSlcbiAgICBdKVxuICB9XG5dXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtMWRjOTEyODBcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtMWRjOTEyODBcIixcImhhc1Njb3BlZFwiOnRydWUsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL2xhYmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjcxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///671\n");
4496
4497/***/ }),
4498/* 672 */
4499/***/ (function(module, __webpack_exports__, __webpack_require__) {
4500
4501"use strict";
4502eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(178);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_18793898_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(676);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(673)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-18793898\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_18793898_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/plant-input/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-18793898\", Component.options)\n } else {\n hotAPI.reload(\"data-v-18793898\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3BsYW50LWlucHV0L2luZGV4LnZ1ZT80YjRlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBcVY7QUFDL1Y7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUF3RjtBQUN6SDtBQUN3STtBQUNhO0FBQ3JKO0FBQ21UO0FBQ25UO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxpUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjY3Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTE4NzkzODk4XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTE4NzkzODk4XFxcIixcXFwiaGFzU2NvcGVkXFxcIjp0cnVlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IFwiZGF0YS12LTE4NzkzODk4XCJcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvcGxhbnQtaW5wdXQvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTE4NzkzODk4XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtMTg3OTM4OThcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3BsYW50LWlucHV0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjcyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///672\n");
4503
4504/***/ }),
4505/* 673 */
4506/***/ (function(module, exports, __webpack_require__) {
4507
4508eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(674);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"66d2bb97\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-18793898\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-18793898\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3BsYW50LWlucHV0L2luZGV4LnZ1ZT8yZjAwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQThXO0FBQ3BZLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBaUcsZ0NBQWdDO0FBQ3RKO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLG1NQUFtTSxrRkFBa0Y7QUFDclIsNE1BQTRNLGtGQUFrRjtBQUM5UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjY3My5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xODc5Mzg5OFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCI2NmQyYmI5N1wiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMTg3OTM4OThcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xODc5Mzg5OFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTE4NzkzODk4XCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9wbGFudC1pbnB1dC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDY3M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///673\n");
4509
4510/***/ }),
4511/* 674 */
4512/***/ (function(module, exports, __webpack_require__) {
4513
4514eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formDiv[data-v-18793898]{\\n display:inline-block;\\n line-height: 60px;\\n}\\n.inputStyle[data-v-18793898]{\\n width:100%;\\n}\\n.formDiv-left[data-v-18793898] {\\n display:inline-block;\\n width: 35%;\\n text-align:right;\\n font-size:15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.formDiv-right[data-v-18793898] {\\n width: 60%;\\n position: relative;\\n display:inline-block;\\n float: right;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/plant-input/myPlugin/page-ide/lib/components/levelThree/plant-input/index.vue\"],\"names\":[],\"mappings\":\";AA6CA;EACA,qBAAA;EACA,kBAAA;CACA;AACA;EACA,WAAA;CACA;AACA;EACA,qBAAA;EACA,WAAA;EACA,iBAAA;EACA,eAAA;EACA,YAAA;EACA,eAAA;CACA;AACA;EACA,WAAA;EACA,mBAAA;EACA,qBAAA;EACA,aAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formDiv\\\">\\r\\n <div class=\\\"formDiv-left\\\">\\r\\n <Label :style=\\\"{marginLeft:'5px'}\\\">{{getLabel}}</Label>\\r\\n </div>\\r\\n <div class=\\\"formDiv-right\\\">\\r\\n <Input class=\\\"inputStyle\\\" clearable />\\r\\n </div>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport {editSetting} from './property';\\r\\nexport default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n computed:{\\r\\n getLabel(){\\r\\n return this.property.label;\\r\\n }\\r\\n },\\r\\n\\r\\n data () {\\r\\n return {\\r\\n property:{\\r\\n label : '标签',\\r\\n },\\r\\n text: 'input',\\r\\n type: 'input',\\r\\n level: editSetting.level\\r\\n };\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .formDiv{\\r\\n display:inline-block;\\r\\n line-height: 60px;\\r\\n }\\r\\n .inputStyle{\\r\\n width:100%;\\r\\n }\\r\\n .formDiv-left {\\r\\n display:inline-block;\\r\\n width: 35%;\\r\\n text-align:right;\\r\\n font-size:15px;\\r\\n float: left;\\r\\n margin: 0 10px;\\r\\n }\\r\\n .formDiv-right {\\r\\n width: 60%;\\r\\n position: relative;\\r\\n display:inline-block;\\r\\n float: right;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3BsYW50LWlucHV0L2luZGV4LnZ1ZT82MTY4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQStFO0FBQ2xIOzs7QUFHQTtBQUNBLGNBQWMsUUFBUywrQkFBK0IseUJBQXlCLHNCQUFzQixHQUFHLCtCQUErQixlQUFlLEdBQUcsa0NBQWtDLHlCQUF5QixlQUFlLHFCQUFxQixtQkFBbUIsZ0JBQWdCLG1CQUFtQixHQUFHLG1DQUFtQyxlQUFlLHVCQUF1Qix5QkFBeUIsaUJBQWlCLEdBQUcsVUFBVSxxTUFBcU0sTUFBTSxXQUFXLFdBQVcsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFdBQVcsVUFBVSxXQUFXLFVBQVUsVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFdBQVcsV0FBVyxVQUFVLGtKQUFrSixpQkFBaUIsS0FBSyxVQUFVLGtMQUFrTCxZQUFZLG1CQUFtQixvQkFBb0IsbUJBQW1CLHNCQUFzQix5RkFBeUYsc0VBQXNFLG1CQUFtQixzQkFBc0Isd0NBQXdDLGFBQWEsU0FBUyxzQkFBc0Isb0JBQW9CLDBCQUEwQixrREFBa0QsbUhBQW1ILFNBQVMseUZBQXlGLGtEQUFrRCw2QkFBNkIsMEJBQTBCLE9BQU8sa0JBQWtCLG1CQUFtQixPQUFPLHFCQUFxQiw2QkFBNkIsbUJBQW1CLHlCQUF5Qix1QkFBdUIsb0JBQW9CLHVCQUF1QixPQUFPLHNCQUFzQixtQkFBbUIsMkJBQTJCLDZCQUE2QixxQkFBcUIsT0FBTyxtQ0FBbUM7O0FBRXR4RSIsImZpbGUiOiI2NzQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG4uZm9ybURpdltkYXRhLXYtMTg3OTM4OThde1xcbiAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxuICBsaW5lLWhlaWdodDogNjBweDtcXG59XFxuLmlucHV0U3R5bGVbZGF0YS12LTE4NzkzODk4XXtcXG4gIHdpZHRoOjEwMCU7XFxufVxcbi5mb3JtRGl2LWxlZnRbZGF0YS12LTE4NzkzODk4XSB7XFxuICBkaXNwbGF5OmlubGluZS1ibG9jaztcXG4gIHdpZHRoOiAzNSU7XFxuICB0ZXh0LWFsaWduOnJpZ2h0O1xcbiAgZm9udC1zaXplOjE1cHg7XFxuICBmbG9hdDogbGVmdDtcXG4gIG1hcmdpbjogMCAxMHB4O1xcbn1cXG4uZm9ybURpdi1yaWdodFtkYXRhLXYtMTg3OTM4OThdIHtcXG4gIHdpZHRoOiA2MCU7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OmlubGluZS1ibG9jaztcXG4gIGZsb2F0OiByaWdodDtcXG59XFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIkU6L3Byb2plY3QvcGFnZS1pZGUteGlhbi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3BsYW50LWlucHV0L215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvcGxhbnQtaW5wdXQvaW5kZXgudnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUE2Q0E7RUFDQSxxQkFBQTtFQUNBLGtCQUFBO0NBQ0E7QUFDQTtFQUNBLFdBQUE7Q0FDQTtBQUNBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7Q0FDQTtBQUNBO0VBQ0EsV0FBQTtFQUNBLG1CQUFBO0VBQ0EscUJBQUE7RUFDQSxhQUFBO0NBQ0FcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCI8dGVtcGxhdGU+XFxyXFxuICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2XFxcIj5cXHJcXG4gICAgPGRpdiBjbGFzcz1cXFwiZm9ybURpdi1sZWZ0XFxcIj5cXHJcXG4gICAgICA8TGFiZWwgOnN0eWxlPVxcXCJ7bWFyZ2luTGVmdDonNXB4J31cXFwiPnt7Z2V0TGFiZWx9fTwvTGFiZWw+XFxyXFxuICAgIDwvZGl2PlxcclxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2LXJpZ2h0XFxcIj5cXHJcXG4gICAgICA8SW5wdXQgY2xhc3M9XFxcImlucHV0U3R5bGVcXFwiIGNsZWFyYWJsZSAvPlxcclxcbiAgICA8L2Rpdj5cXHJcXG4gIDwvZGl2PlxcclxcbjwvdGVtcGxhdGU+XFxyXFxuXFxyXFxuPHNjcmlwdD5cXHJcXG5pbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcXHJcXG5leHBvcnQgZGVmYXVsdCB7XFxyXFxuICAgIC8vIHByb3BzOiB7XFxyXFxuICAgIC8vICAgICB0ZXh0OiB7XFxyXFxuICAgIC8vICAgICAgICAgdHlwZTogU3RyaW5nLFxcclxcbiAgICAvLyAgICAgICAgIGRlZmF1bHQ6ICdCdXR0b24gVGV4dCdcXHJcXG4gICAgLy8gICAgIH0sXFxyXFxuICAgIC8vICAgICB0eXBlOiBTdHJpbmcsXFxyXFxuICAgIC8vICAgICBzdHlsZXM6IE9iamVjdFxcclxcbiAgICAvLyB9LFxcclxcbiAgICBjb21wdXRlZDp7XFxyXFxuICAgICAgIGdldExhYmVsKCl7XFxyXFxuICAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydHkubGFiZWw7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH0sXFxyXFxuXFxyXFxuICAgIGRhdGEgKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHtcXHJcXG4gICAgICAgICAgICBwcm9wZXJ0eTp7XFxyXFxuICAgICAgICAgICAgICAgIGxhYmVsIDogJ+agh+etvicsXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICB0ZXh0OiAnaW5wdXQnLFxcclxcbiAgICAgICAgICAgIHR5cGU6ICdpbnB1dCcsXFxyXFxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXFxyXFxuICAgICAgICB9O1xcclxcbiAgICB9LFxcclxcbiAgICBlZGl0U2V0dGluZyxcXHJcXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxcclxcbiAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWxcXHJcXG59O1xcclxcbjwvc2NyaXB0PlxcclxcblxcclxcbjxzdHlsZSBzY29wZWQ+XFxyXFxuICAuZm9ybURpdntcXHJcXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xcclxcbiAgfVxcclxcbiAgLmlucHV0U3R5bGV7XFxyXFxuICAgIHdpZHRoOjEwMCU7XFxyXFxuICB9XFxyXFxuICAuZm9ybURpdi1sZWZ0IHtcXHJcXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgIHdpZHRoOiAzNSU7XFxyXFxuICAgIHRleHQtYWxpZ246cmlnaHQ7XFxyXFxuICAgIGZvbnQtc2l6ZToxNXB4O1xcclxcbiAgICBmbG9hdDogbGVmdDtcXHJcXG4gICAgbWFyZ2luOiAwIDEwcHg7XFxyXFxuICB9XFxyXFxuICAuZm9ybURpdi1yaWdodCB7XFxyXFxuICAgIHdpZHRoOiA2MCU7XFxyXFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXHJcXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgIGZsb2F0OiByaWdodDtcXHJcXG4gIH1cXHJcXG48L3N0eWxlPlxcclxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0xODc5Mzg5OFwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvcGxhbnQtaW5wdXQvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2NzRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///674\n");
4515
4516/***/ }),
4517/* 675 */
4518/***/ (function(module, exports, __webpack_require__) {
4519
4520"use strict";
4521eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = ['属性(车牌文本框)', {\n field: 'property.busiId',\n text: '标签',\n type: 'string',\n isShow: 'hide'\n}, '扩展属性', {\n field: 'extend.placeholder',\n text: '占位符(默认展示值)',\n type: 'string'\n}, {\n field: 'extend.type',\n text: '类型',\n type: 'inputSelect'\n}, {\n field: 'extend.rows',\n text: '行数',\n type: 'number'\n}, '校验', {\n field: 'extend.validate',\n text: '',\n type: 'validateArr'\n}];\n_common.commonTool.assembleData(editors);\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-plate-input',\n name: '车牌文本框',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3BsYW50LWlucHV0L3Byb3BlcnR5LmpzP2JjM2UiXSwibmFtZXMiOlsiZWRpdG9ycyIsImZpZWxkIiwidGV4dCIsInR5cGUiLCJpc1Nob3ciLCJjb21tb25Ub29sIiwiYXNzZW1ibGVEYXRhIiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibmFtZSIsImxldmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7O0FBS0EsSUFBSUEsVUFBUyxDQUNULFdBRFMsRUFFVDtBQUNJQyxXQUFPLGlCQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJQyxVQUFNLFFBSFY7QUFJSUMsWUFBTztBQUpYLENBRlMsRUFRVCxNQVJTLEVBU1Q7QUFDSUgsV0FBTyxvQkFEWDtBQUVJQyxVQUFNLFlBRlY7QUFHSUMsVUFBTTtBQUhWLENBVFMsRUFnQlQ7QUFDSUYsV0FBTyxhQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0FoQlMsRUFxQlQ7QUFDSUYsV0FBTyxhQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0FyQlMsRUE0QlQsSUE1QlMsRUE2QlQ7QUFDSUYsV0FBTyxpQkFEWDtBQUVJQyxVQUFNLEVBRlY7QUFHSUMsVUFBTTtBQUhWLENBN0JTLENBQWI7QUF5Q0FFLG1CQUFXQyxZQUFYLENBQXdCTixPQUF4QjtBQUNBTyxRQUFRQyxHQUFSLENBQVlSLE9BQVo7QUFDTyxJQUFNUyxvQ0FBYztBQUN2QkMsU0FBSyxrQkFEa0I7QUFFdkJDLFVBQU0sT0FGaUI7QUFHdkJDLFdBQU0sQ0FIaUI7QUFJdkJaLGFBQVFBO0FBSmUsQ0FBcEIiLCJmaWxlIjoiNjc1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICBOb3RlIOW3peWFt+exu1xyXG4gKi9cclxuaW1wb3J0IHtjb21tb25Ub29sfSBmcm9tIFwiLi4vLi4vY29tbW9uL2NvbW1vblwiXHJcbi8qXHJcbk5vdGUg5a6a5LmJ6Ieq5a6a5LmJ5bGe5oCn77yM5YWs5YWx5bGe5oCn5LuOY29tbW9u5paH5Lu26YeM6K+75Y+WXHJcbmF1dGhvciDlj7bnq6DmtalcclxuICovXHJcbmxldCBlZGl0b3JzPSBbXHJcbiAgICAn5bGe5oCnKOi9pueJjOaWh+acrOahhiknLFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkuYnVzaUlkJyxcclxuICAgICAgICB0ZXh0OiAn5qCH562+JyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnXHJcbiAgICB9LFxyXG4gICAgJ+aJqeWxleWxnuaApycsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdleHRlbmQucGxhY2Vob2xkZXInLFxyXG4gICAgICAgIHRleHQ6ICfljaDkvY3nrKbvvIjpu5jorqTlsZXnpLrlgLzvvIknLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnXHJcbiAgICB9LFxyXG5cclxuXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdleHRlbmQudHlwZScsXHJcbiAgICAgICAgdGV4dDogJ+exu+WeiycsXHJcbiAgICAgICAgdHlwZTogJ2lucHV0U2VsZWN0J1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5yb3dzJyxcclxuICAgICAgICB0ZXh0OiAn6KGM5pWwJyxcclxuICAgICAgICB0eXBlOiAnbnVtYmVyJ1xyXG4gICAgfSxcclxuICAgLyogJ+agoemqjOinhOWImScsXHJcbiAgICAn5omp5bGV5qCh6aqMJywqL1xyXG4gICAgJ+agoemqjCcsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdleHRlbmQudmFsaWRhdGUnLFxyXG4gICAgICAgIHRleHQ6ICcnLFxyXG4gICAgICAgIHR5cGU6ICd2YWxpZGF0ZUFycidcclxuICAgIH0sXHJcbiAgICAvLyAnbGlua2FnZUNoYW5nZVZhbHVlJyxcclxuICAgIC8vIHtcclxuICAgIC8vICAgICBmaWVsZDogJ2V4dGVuZC5saW5rYWdlQ2hhbmdlVmFsdWUnLFxyXG4gICAgLy8gICAgIHRleHQ6ICfogZTliqgnLFxyXG4gICAgLy8gICAgIHR5cGU6ICdsaW5rYWdlQ2hhbmdlVmFsdWUnXHJcbiAgICAvLyB9LFxyXG5dO1xyXG5jb21tb25Ub29sLmFzc2VtYmxlRGF0YShlZGl0b3JzKTtcclxuY29uc29sZS5sb2coZWRpdG9ycyk7XHJcbmV4cG9ydCBjb25zdCBlZGl0U2V0dGluZyA9IHtcclxuICAgIGtleTogJ2dhZWEtcGxhdGUtaW5wdXQnLFxyXG4gICAgbmFtZTogJ+i9pueJjOaWh+acrOahhicsXHJcbiAgICBsZXZlbDo0LFxyXG4gICAgZWRpdG9yczplZGl0b3JzLFxyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3BsYW50LWlucHV0L3Byb3BlcnR5LmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///675\n");
4522
4523/***/ }),
4524/* 676 */
4525/***/ (function(module, __webpack_exports__, __webpack_require__) {
4526
4527"use strict";
4528eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"formDiv\" }, [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [\n _c(\"Label\", { style: { marginLeft: \"5px\" } }, [\n _vm._v(_vm._s(_vm.getLabel))\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"formDiv-right\" },\n [_c(\"Input\", { staticClass: \"inputStyle\", attrs: { clearable: \"\" } })],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-18793898\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3BsYW50LWlucHV0L2luZGV4LnZ1ZT82Yjc3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLHlCQUF5QjtBQUM3QztBQUNBO0FBQ0EsT0FBTyw4QkFBOEI7QUFDckM7QUFDQSxxQkFBcUIsU0FBUyxvQkFBb0IsRUFBRTtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTywrQkFBK0I7QUFDdEMsb0JBQW9CLG9DQUFvQyxnQkFBZ0IsRUFBRTtBQUMxRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjY3Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJmb3JtRGl2XCIgfSwgW1xuICAgIF9jKFxuICAgICAgXCJkaXZcIixcbiAgICAgIHsgc3RhdGljQ2xhc3M6IFwiZm9ybURpdi1sZWZ0XCIgfSxcbiAgICAgIFtcbiAgICAgICAgX2MoXCJMYWJlbFwiLCB7IHN0eWxlOiB7IG1hcmdpbkxlZnQ6IFwiNXB4XCIgfSB9LCBbXG4gICAgICAgICAgX3ZtLl92KF92bS5fcyhfdm0uZ2V0TGFiZWwpKVxuICAgICAgICBdKVxuICAgICAgXSxcbiAgICAgIDFcbiAgICApLFxuICAgIF92bS5fdihcIiBcIiksXG4gICAgX2MoXG4gICAgICBcImRpdlwiLFxuICAgICAgeyBzdGF0aWNDbGFzczogXCJmb3JtRGl2LXJpZ2h0XCIgfSxcbiAgICAgIFtfYyhcIklucHV0XCIsIHsgc3RhdGljQ2xhc3M6IFwiaW5wdXRTdHlsZVwiLCBhdHRyczogeyBjbGVhcmFibGU6IFwiXCIgfSB9KV0sXG4gICAgICAxXG4gICAgKVxuICBdKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtMTg3OTM4OThcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtMTg3OTM4OThcIixcImhhc1Njb3BlZFwiOnRydWUsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3BsYW50LWlucHV0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjc2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///676\n");
4529
4530/***/ }),
4531/* 677 */
4532/***/ (function(module, __webpack_exports__, __webpack_require__) {
4533
4534"use strict";
4535eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(179);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_192f6a72_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(681);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(678)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-192f6a72\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_192f6a72_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/radio/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-192f6a72\", Component.options)\n } else {\n hotAPI.reload(\"data-v-192f6a72\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3JhZGlvL2luZGV4LnZ1ZT83NjlmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBcVY7QUFDL1Y7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUF3RjtBQUN6SDtBQUN3STtBQUNhO0FBQ3JKO0FBQ21UO0FBQ25UO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxpUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjY3Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTE5MmY2YTcyXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTE5MmY2YTcyXFxcIixcXFwiaGFzU2NvcGVkXFxcIjp0cnVlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IFwiZGF0YS12LTE5MmY2YTcyXCJcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvcmFkaW8vaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTE5MmY2YTcyXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtMTkyZjZhNzJcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3JhZGlvL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjc3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///677\n");
4536
4537/***/ }),
4538/* 678 */
4539/***/ (function(module, exports, __webpack_require__) {
4540
4541eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(679);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"4e1515bf\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-192f6a72\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-192f6a72\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3JhZGlvL2luZGV4LnZ1ZT9kYzg3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQThXO0FBQ3BZLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBaUcsZ0NBQWdDO0FBQ3RKO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLG1NQUFtTSxrRkFBa0Y7QUFDclIsNE1BQTRNLGtGQUFrRjtBQUM5UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjY3OC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xOTJmNmE3MlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCI0ZTE1MTViZlwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMTkyZjZhNzJcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xOTJmNmE3MlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTE5MmY2YTcyXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9yYWRpby9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDY3OFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///678\n");
4542
4543/***/ }),
4544/* 679 */
4545/***/ (function(module, exports, __webpack_require__) {
4546
4547eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.showLabel[data-v-192f6a72]{\\r\\n white-space:normal;\\r\\n word-break:break-all;\\r\\n word-wrap:break-word;\\n}\\n.formDiv[data-v-192f6a72]{\\r\\n display:inline-block;\\r\\n line-height: 60px;\\r\\n text-align: left;\\n}\\n.radioCheckboxStyle[data-v-192f6a72] {\\r\\n text-align: left;\\n}\\n.formDiv-left[data-v-192f6a72] {\\r\\n display:inline-block;\\r\\n width: 35%;\\r\\n text-align:right;\\r\\n font-size:15px;\\r\\n float: left;\\r\\n margin: 0 10px;\\n}\\n.formDiv-right[data-v-192f6a72] {\\r\\n width: 60%;\\r\\n position: relative;\\r\\n display:inline-block;\\r\\n float: right;\\n}\\r\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/radio/myPlugin/page-ide/lib/components/levelThree/radio/index.vue\"],\"names\":[],\"mappings\":\";AA2EA;IACA,mBAAA;IACA,qBAAA;IACA,qBAAA;CACA;AACA;QACA,qBAAA;QACA,kBAAA;QACA,iBAAA;CACA;AACA;QACA,iBAAA;CACA;AACA;QACA,qBAAA;QACA,WAAA;QACA,iBAAA;QACA,eAAA;QACA,YAAA;QACA,eAAA;CACA;AACA;QACA,WAAA;QACA,mBAAA;QACA,qBAAA;QACA,aAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formDiv\\\" @mouseenter=\\\"show\\\" @mouseleave=\\\"hide\\\">\\r\\n <div class=\\\"formDiv-left\\\">\\r\\n <Label :style=\\\"{marginLeft:'5px'}\\\" class=\\\"showLael\\\">{{property.label}}</Label>\\r\\n </div>\\r\\n <div class=\\\"formDiv-right radioCheckboxStyle\\\">\\r\\n <Radio v-for=\\\"item,key in radioArr\\\"\\r\\n :key=\\\"key\\\"\\r\\n :label=\\\"item.value\\\"\\r\\n v-bind=\\\"item.extend||{}\\\">\\r\\n <span class=\\\"showLabel\\\">{{item.label}}</span>\\r\\n </Radio>\\r\\n </div>\\r\\n <commomHoverModal ref=\\\"commomHoverModal\\\" ></commomHoverModal>\\r\\n\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport {editSetting} from './property';\\r\\nimport commomHoverModal from '../../common/commomHoverModal'\\r\\n\\r\\nexport default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n components:{\\r\\n commomHoverModal\\r\\n },\\r\\n data () {\\r\\n return {\\r\\n property:{\\r\\n label : '单选框',\\r\\n },\\r\\n text: 'input',\\r\\n styles: {height:'40px',width:'70px',margin:'10px'},\\r\\n type: 'input',\\r\\n single: true,\\r\\n level: editSetting.level,\\r\\n radioArr:[]\\r\\n };\\r\\n },\\r\\n computed:{\\r\\n getLabel(){\\r\\n return this.property.label;\\r\\n }\\r\\n },\\r\\n\\r\\n methods:{\\r\\n show(){\\r\\n this.$refs.commomHoverModal.handleMouseEnter();\\r\\n },\\r\\n hide(){\\r\\n this.$refs.commomHoverModal.handleMouseLeave();\\r\\n },\\r\\n initTableArr(){\\r\\n let currentInstance= this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\\r\\n this.radioArr=currentInstance.data.radioArr;\\r\\n }\\r\\n },\\r\\n mounted(){\\r\\n this.initTableArr();\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n.showLabel{\\r\\n white-space:normal;\\r\\n word-break:break-all;\\r\\n word-wrap:break-word;\\r\\n}\\r\\n .formDiv{\\r\\n display:inline-block;\\r\\n line-height: 60px;\\r\\n text-align: left;\\r\\n }\\r\\n .radioCheckboxStyle {\\r\\n text-align: left;\\r\\n }\\r\\n .formDiv-left {\\r\\n display:inline-block;\\r\\n width: 35%;\\r\\n text-align:right;\\r\\n font-size:15px;\\r\\n float: left;\\r\\n margin: 0 10px;\\r\\n }\\r\\n .formDiv-right {\\r\\n width: 60%;\\r\\n position: relative;\\r\\n display:inline-block;\\r\\n float: right;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3JhZGlvL2luZGV4LnZ1ZT8wYmU0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQStFO0FBQ2xIOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyxpQ0FBaUMsMkJBQTJCLDZCQUE2Qiw2QkFBNkIsR0FBRyw0QkFBNEIsaUNBQWlDLDhCQUE4Qiw2QkFBNkIsR0FBRyx3Q0FBd0MsNkJBQTZCLEdBQUcsa0NBQWtDLGlDQUFpQyx1QkFBdUIsNkJBQTZCLDJCQUEyQix3QkFBd0IsMkJBQTJCLEdBQUcsbUNBQW1DLHVCQUF1QiwrQkFBK0IsaUNBQWlDLHlCQUF5QixHQUFHLFlBQVkseUxBQXlMLE1BQU0sV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLFdBQVcsV0FBVyxXQUFXLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxXQUFXLFVBQVUsV0FBVyxVQUFVLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxXQUFXLFdBQVcsVUFBVSxtTUFBbU0saUJBQWlCLHdCQUF3QixnQkFBZ0IsNlBBQTZQLGlEQUFpRCxZQUFZLGlMQUFpTCxZQUFZLG1CQUFtQix3RkFBd0YsbUJBQW1CLHNCQUFzQix5RkFBeUYsc0VBQXNFLHFCQUFxQixxQ0FBcUMsa0JBQWtCLG9CQUFvQiwwQkFBMEIsbURBQW1ELHdEQUF3RCx5Q0FBeUMsOElBQThJLFNBQVMsbUJBQW1CLHVCQUF1QiwyQ0FBMkMsYUFBYSxTQUFTLHNCQUFzQixtQkFBbUIsK0RBQStELGFBQWEsb0JBQW9CLCtEQUErRCxhQUFhLDRCQUE0QixpSUFBaUksNERBQTRELGFBQWEsU0FBUyxtQkFBbUIsZ0NBQWdDLFNBQVMseUZBQXlGLGtEQUFrRCwyQkFBMkIsNkJBQTZCLDZCQUE2QixLQUFLLGlCQUFpQixpQ0FBaUMsOEJBQThCLDZCQUE2QixTQUFTLDZCQUE2Qiw2QkFBNkIsU0FBUyx1QkFBdUIsaUNBQWlDLHVCQUF1Qiw2QkFBNkIsMkJBQTJCLHdCQUF3QiwyQkFBMkIsU0FBUyx3QkFBd0IsdUJBQXVCLCtCQUErQixpQ0FBaUMseUJBQXlCLFNBQVMsbUNBQW1DOztBQUVwNkgiLCJmaWxlIjoiNjc5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLnNob3dMYWJlbFtkYXRhLXYtMTkyZjZhNzJde1xcclxcbiAgICB3aGl0ZS1zcGFjZTpub3JtYWw7XFxyXFxuICAgIHdvcmQtYnJlYWs6YnJlYWstYWxsO1xcclxcbiAgICB3b3JkLXdyYXA6YnJlYWstd29yZDtcXG59XFxuLmZvcm1EaXZbZGF0YS12LTE5MmY2YTcyXXtcXHJcXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcclxcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XFxyXFxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG4ucmFkaW9DaGVja2JveFN0eWxlW2RhdGEtdi0xOTJmNmE3Ml0ge1xcclxcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcXG59XFxuLmZvcm1EaXYtbGVmdFtkYXRhLXYtMTkyZjZhNzJdIHtcXHJcXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcclxcbiAgICAgICAgd2lkdGg6IDM1JTtcXHJcXG4gICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XFxyXFxuICAgICAgICBmb250LXNpemU6MTVweDtcXHJcXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xcclxcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XFxufVxcbi5mb3JtRGl2LXJpZ2h0W2RhdGEtdi0xOTJmNmE3Ml0ge1xcclxcbiAgICAgICAgd2lkdGg6IDYwJTtcXHJcXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXHJcXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcclxcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xcbn1cXHJcXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wiRTovcHJvamVjdC9wYWdlLWlkZS14aWFuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvcmFkaW8vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9yYWRpby9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQTJFQTtJQUNBLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxxQkFBQTtDQUNBO0FBQ0E7UUFDQSxxQkFBQTtRQUNBLGtCQUFBO1FBQ0EsaUJBQUE7Q0FDQTtBQUNBO1FBQ0EsaUJBQUE7Q0FDQTtBQUNBO1FBQ0EscUJBQUE7UUFDQSxXQUFBO1FBQ0EsaUJBQUE7UUFDQSxlQUFBO1FBQ0EsWUFBQTtRQUNBLGVBQUE7Q0FDQTtBQUNBO1FBQ0EsV0FBQTtRQUNBLG1CQUFBO1FBQ0EscUJBQUE7UUFDQSxhQUFBO0NBQ0FcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCI8dGVtcGxhdGU+XFxyXFxuICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2XFxcIiAgQG1vdXNlZW50ZXI9XFxcInNob3dcXFwiIEBtb3VzZWxlYXZlPVxcXCJoaWRlXFxcIj5cXHJcXG4gICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2LWxlZnRcXFwiPlxcclxcbiAgICAgICAgICA8TGFiZWwgOnN0eWxlPVxcXCJ7bWFyZ2luTGVmdDonNXB4J31cXFwiIGNsYXNzPVxcXCJzaG93TGFlbFxcXCI+e3twcm9wZXJ0eS5sYWJlbH19PC9MYWJlbD5cXHJcXG4gICAgICA8L2Rpdj5cXHJcXG4gICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2LXJpZ2h0IHJhZGlvQ2hlY2tib3hTdHlsZVxcXCI+XFxyXFxuICAgICAgICAgIDxSYWRpbyB2LWZvcj1cXFwiaXRlbSxrZXkgaW4gcmFkaW9BcnJcXFwiXFxyXFxuICAgICAgICAgICAgICAgICA6a2V5PVxcXCJrZXlcXFwiXFxyXFxuICAgICAgICAgICAgICAgICA6bGFiZWw9XFxcIml0ZW0udmFsdWVcXFwiXFxyXFxuICAgICAgICAgICAgICAgICB2LWJpbmQ9XFxcIml0ZW0uZXh0ZW5kfHx7fVxcXCI+XFxyXFxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwic2hvd0xhYmVsXFxcIj57e2l0ZW0ubGFiZWx9fTwvc3Bhbj5cXHJcXG4gICAgICAgICAgPC9SYWRpbz5cXHJcXG4gICAgICA8L2Rpdj5cXHJcXG4gICAgICA8Y29tbW9tSG92ZXJNb2RhbCByZWY9XFxcImNvbW1vbUhvdmVyTW9kYWxcXFwiID48L2NvbW1vbUhvdmVyTW9kYWw+XFxyXFxuXFxyXFxuICA8L2Rpdj5cXHJcXG48L3RlbXBsYXRlPlxcclxcblxcclxcbjxzY3JpcHQ+XFxyXFxuaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XFxyXFxuaW1wb3J0IGNvbW1vbUhvdmVyTW9kYWwgZnJvbSAnLi4vLi4vY29tbW9uL2NvbW1vbUhvdmVyTW9kYWwnXFxyXFxuXFxyXFxuZXhwb3J0IGRlZmF1bHQge1xcclxcbiAgICAvLyBwcm9wczoge1xcclxcbiAgICAvLyAgICAgdGV4dDoge1xcclxcbiAgICAvLyAgICAgICAgIHR5cGU6IFN0cmluZyxcXHJcXG4gICAgLy8gICAgICAgICBkZWZhdWx0OiAnQnV0dG9uIFRleHQnXFxyXFxuICAgIC8vICAgICB9LFxcclxcbiAgICAvLyAgICAgdHlwZTogU3RyaW5nLFxcclxcbiAgICAvLyAgICAgc3R5bGVzOiBPYmplY3RcXHJcXG4gICAgLy8gfSxcXHJcXG4gICAgY29tcG9uZW50czp7XFxyXFxuICAgICAgICBjb21tb21Ib3Zlck1vZGFsXFxyXFxuICAgIH0sXFxyXFxuICAgIGRhdGEgKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHtcXHJcXG4gICAgICAgICAgICBwcm9wZXJ0eTp7XFxyXFxuICAgICAgICAgICAgICAgIGxhYmVsIDogJ+WNlemAieahhicsXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICB0ZXh0OiAnaW5wdXQnLFxcclxcbiAgICAgICAgICAgIHN0eWxlczoge2hlaWdodDonNDBweCcsd2lkdGg6JzcwcHgnLG1hcmdpbjonMTBweCd9LFxcclxcbiAgICAgICAgICAgIHR5cGU6ICdpbnB1dCcsXFxyXFxuICAgICAgICAgICAgc2luZ2xlOiB0cnVlLFxcclxcbiAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcXHJcXG4gICAgICAgICAgICByYWRpb0FycjpbXVxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgfSxcXHJcXG4gICAgY29tcHV0ZWQ6e1xcclxcbiAgICAgICAgZ2V0TGFiZWwoKXtcXHJcXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0eS5sYWJlbDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfSxcXHJcXG5cXHJcXG4gICAgbWV0aG9kczp7XFxyXFxuICAgICAgICBzaG93KCl7XFxyXFxuICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlRW50ZXIoKTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBoaWRlKCl7XFxyXFxuICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlTGVhdmUoKTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBpbml0VGFibGVBcnIoKXtcXHJcXG4gICAgICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xcclxcbiAgICAgICAgICAgIHRoaXMucmFkaW9BcnI9Y3VycmVudEluc3RhbmNlLmRhdGEucmFkaW9BcnI7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH0sXFxyXFxuICAgIG1vdW50ZWQoKXtcXHJcXG4gICAgICAgIHRoaXMuaW5pdFRhYmxlQXJyKCk7XFxyXFxuICAgIH0sXFxyXFxuICAgIGVkaXRTZXR0aW5nLFxcclxcbiAgICBuYW1lOiBlZGl0U2V0dGluZy5rZXksXFxyXFxuICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxcclxcbn07XFxyXFxuPC9zY3JpcHQ+XFxyXFxuXFxyXFxuPHN0eWxlIHNjb3BlZD5cXHJcXG4uc2hvd0xhYmVse1xcclxcbiAgICB3aGl0ZS1zcGFjZTpub3JtYWw7XFxyXFxuICAgIHdvcmQtYnJlYWs6YnJlYWstYWxsO1xcclxcbiAgICB3b3JkLXdyYXA6YnJlYWstd29yZDtcXHJcXG59XFxyXFxuICAgIC5mb3JtRGl2e1xcclxcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcXHJcXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XFxyXFxuICAgIH1cXHJcXG4gICAgLnJhZGlvQ2hlY2tib3hTdHlsZSB7XFxyXFxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xcclxcbiAgICB9XFxyXFxuICAgIC5mb3JtRGl2LWxlZnQge1xcclxcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgICAgICB3aWR0aDogMzUlO1xcclxcbiAgICAgICAgdGV4dC1hbGlnbjpyaWdodDtcXHJcXG4gICAgICAgIGZvbnQtc2l6ZToxNXB4O1xcclxcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XFxyXFxuICAgICAgICBtYXJnaW46IDAgMTBweDtcXHJcXG4gICAgfVxcclxcbiAgICAuZm9ybURpdi1yaWdodCB7XFxyXFxuICAgICAgICB3aWR0aDogNjAlO1xcclxcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xcclxcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgICAgICBmbG9hdDogcmlnaHQ7XFxyXFxuICAgIH1cXHJcXG48L3N0eWxlPlxcclxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0xOTJmNmE3MlwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvcmFkaW8vaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2Nzlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///679\n");
4548
4549/***/ }),
4550/* 680 */
4551/***/ (function(module, exports, __webpack_require__) {
4552
4553"use strict";
4554eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = [{\n field: 'property.title',\n text: '单选框',\n type: 'title'\n}, {\n field: 'property.prop',\n text: '属性名称',\n type: 'reqSelect',\n isShow: 'hide'\n}, {\n field: 'property.label',\n text: '标题',\n maxFont: '20',\n type: 'string'\n}, {\n field: 'property.busiId',\n text: '标题',\n isShow: 'hide',\n type: 'string'\n}, {\n field: 'extend.itemWidth',\n text: 'itemWidth',\n type: 'number',\n value: 320,\n isShow: 'hide'\n}, {\n field: 'property.items',\n text: '',\n type: 'radioArr'\n}, {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'validateInput'\n}];\n\nvar editors11 = ['属性(单选框)', {\n field: 'property.busiId',\n text: '标签',\n type: 'string',\n isShow: 'hide'\n}, '扩展属性', '内容子项', {\n field: 'property.itemsProp',\n text: '',\n type: 'select'\n}, '高级', {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'radioHeightLevel'\n}];\n_common.commonTool.assembleData(editors);\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-radio',\n name: '单选框',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3JhZGlvL3Byb3BlcnR5LmpzPzgzMmYiXSwibmFtZXMiOlsiZWRpdG9ycyIsImZpZWxkIiwidGV4dCIsInR5cGUiLCJpc1Nob3ciLCJtYXhGb250IiwidmFsdWUiLCJlZGl0b3JzMTEiLCJjb21tb25Ub29sIiwiYXNzZW1ibGVEYXRhIiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibmFtZSIsImxldmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7O0FBS0EsSUFBSUEsVUFBUyxDQUNUO0FBQ0lDLFdBQU8sZ0JBRFg7QUFFSUMsVUFBTSxLQUZWO0FBR0lDLFVBQU07QUFIVixDQURTLEVBTVQ7QUFDSUYsV0FBTyxlQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJQyxVQUFNLFdBSFY7QUFJSUMsWUFBTztBQUpYLENBTlMsRUFZVDtBQUNJSCxXQUFPLGdCQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJRyxhQUFRLElBSFo7QUFJSUYsVUFBTTtBQUpWLENBWlMsRUFrQlQ7QUFDSUYsV0FBTyxpQkFEWDtBQUVJQyxVQUFNLElBRlY7QUFHSUUsWUFBTyxNQUhYO0FBSUlELFVBQU07QUFKVixDQWxCUyxFQXdCVDtBQUNJRixXQUFPLGtCQURYO0FBRUlDLFVBQU0sV0FGVjtBQUdJQyxVQUFNLFFBSFY7QUFJSUcsV0FBTyxHQUpYO0FBS0lGLFlBQU87QUFMWCxDQXhCUyxFQStCVDtBQUNJSCxXQUFPLGdCQURYO0FBRUlDLFVBQU0sRUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0EvQlMsRUFvQ1Q7QUFDSUYsV0FBTyxrQkFEWDtBQUVJQyxVQUFNLE1BRlY7QUFHSUMsVUFBTTtBQUhWLENBcENTLENBQWI7O0FBMkNBLElBQUlJLFlBQVcsQ0FDWCxTQURXLEVBRVg7QUFDSU4sV0FBTyxpQkFEWDtBQUVJQyxVQUFNLElBRlY7QUFHSUMsVUFBTSxRQUhWO0FBSUlDLFlBQU87QUFKWCxDQUZXLEVBUVgsTUFSVyxFQVlYLE1BWlcsRUFrQlg7QUFDSUgsV0FBTyxvQkFEWDtBQUVJQyxVQUFNLEVBRlY7QUFHSUMsVUFBTTtBQUhWLENBbEJXLEVBdUJYLElBdkJXLEVBd0JYO0FBQ0lGLFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU07QUFIVixDQXhCVyxDQUFmO0FBOEJBSyxtQkFBV0MsWUFBWCxDQUF3QlQsT0FBeEI7QUFDQVUsUUFBUUMsR0FBUixDQUFZWCxPQUFaO0FBQ08sSUFBTVksb0NBQWM7QUFDdkJDLFNBQUssWUFEa0I7QUFFdkJDLFVBQU0sS0FGaUI7QUFHdkJDLFdBQU0sQ0FIaUI7QUFJdkJmLGFBQVFBO0FBSmUsQ0FBcEIiLCJmaWxlIjoiNjgwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICBOb3RlIOW3peWFt+exu1xyXG4gKi9cclxuaW1wb3J0IHtjb21tb25Ub29sfSBmcm9tIFwiLi4vLi4vY29tbW9uL2NvbW1vblwiXHJcbi8qXHJcbk5vdGUg5a6a5LmJ6Ieq5a6a5LmJ5bGe5oCn77yM5YWs5YWx5bGe5oCn5LuOY29tbW9u5paH5Lu26YeM6K+75Y+WXHJcbmF1dGhvciDlj7bnq6DmtalcclxuICovXHJcbmxldCBlZGl0b3JzPSBbXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS50aXRsZScsXHJcbiAgICAgICAgdGV4dDogJ+WNlemAieahhicsXHJcbiAgICAgICAgdHlwZTogJ3RpdGxlJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LnByb3AnLFxyXG4gICAgICAgIHRleHQ6ICflsZ7mgKflkI3np7AnLFxyXG4gICAgICAgIHR5cGU6ICdyZXFTZWxlY3QnLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZScsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkubGFiZWwnLFxyXG4gICAgICAgIHRleHQ6ICfmoIfpopgnLFxyXG4gICAgICAgIG1heEZvbnQ6JzIwJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmJ1c2lJZCcsXHJcbiAgICAgICAgdGV4dDogJ+agh+mimCcsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5pdGVtV2lkdGgnLFxyXG4gICAgICAgIHRleHQ6ICdpdGVtV2lkdGgnLFxyXG4gICAgICAgIHR5cGU6ICdudW1iZXInLFxyXG4gICAgICAgIHZhbHVlOiAzMjAsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5Lml0ZW1zJyxcclxuICAgICAgICB0ZXh0OiAnJyxcclxuICAgICAgICB0eXBlOiAncmFkaW9BcnInXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZGF0YS5oZWlnaHRMZXZlbCcsXHJcbiAgICAgICAgdGV4dDogJ+aYr+WQpuaYvuekuicsXHJcbiAgICAgICAgdHlwZTogJ3ZhbGlkYXRlSW5wdXQnXHJcbiAgICB9XHJcbiAgICBdO1xyXG5cclxubGV0IGVkaXRvcnMxMT0gW1xyXG4gICAgJ+WxnuaApyjljZXpgInmoYYpJyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmJ1c2lJZCcsXHJcbiAgICAgICAgdGV4dDogJ+agh+etvicsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJ1xyXG4gICAgfSxcclxuICAgICfmianlsZXlsZ7mgKcnLFxyXG5cclxuICAgLyogJ+agoemqjOinhOWImScsXHJcbiAgICAn5omp5bGV5qCh6aqMJywqL1xyXG4gICAgJ+WGheWuueWtkOmhuScsXHJcbiAgIC8qIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5Lml0ZW1zJyxcclxuICAgICAgICB0ZXh0OiAnJyxcclxuICAgICAgICB0eXBlOiAncmFkaW9BcnInXHJcbiAgICB9LCovXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5pdGVtc1Byb3AnLFxyXG4gICAgICAgIHRleHQ6ICcnLFxyXG4gICAgICAgIHR5cGU6ICdzZWxlY3QnXHJcbiAgICB9LFxyXG4gICAgJ+mrmOe6pycsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdkYXRhLmhlaWdodExldmVsJyxcclxuICAgICAgICB0ZXh0OiAn5piv5ZCm5pi+56S6JyxcclxuICAgICAgICB0eXBlOiAncmFkaW9IZWlnaHRMZXZlbCdcclxuICAgIH0sXHJcbl07XHJcbmNvbW1vblRvb2wuYXNzZW1ibGVEYXRhKGVkaXRvcnMpO1xyXG5jb25zb2xlLmxvZyhlZGl0b3JzKTtcclxuZXhwb3J0IGNvbnN0IGVkaXRTZXR0aW5nID0ge1xyXG4gICAga2V5OiAnZ2FlYS1yYWRpbycsXHJcbiAgICBuYW1lOiAn5Y2V6YCJ5qGGJyxcclxuICAgIGxldmVsOjQsXHJcbiAgICBlZGl0b3JzOmVkaXRvcnMsXHJcbn07XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvcmFkaW8vcHJvcGVydHkuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///680\n");
4555
4556/***/ }),
4557/* 681 */
4558/***/ (function(module, __webpack_exports__, __webpack_require__) {
4559
4560"use strict";
4561eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"formDiv\",\n on: { mouseenter: _vm.show, mouseleave: _vm.hide }\n },\n [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [\n _c(\n \"Label\",\n { staticClass: \"showLael\", style: { marginLeft: \"5px\" } },\n [_vm._v(_vm._s(_vm.property.label))]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"formDiv-right radioCheckboxStyle\" },\n _vm._l(_vm.radioArr, function(item, key) {\n return _c(\n \"Radio\",\n _vm._b(\n { key: key, attrs: { label: item.value } },\n \"Radio\",\n item.extend || {},\n false\n ),\n [\n _c(\"span\", { staticClass: \"showLabel\" }, [\n _vm._v(_vm._s(item.label))\n ])\n ]\n )\n }),\n 1\n ),\n _vm._v(\" \"),\n _c(\"commomHoverModal\", { ref: \"commomHoverModal\" })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-192f6a72\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3JhZGlvL2luZGV4LnZ1ZT8xOTk0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLFNBQVMsOEJBQThCO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBLGFBQWEsa0NBQWtDLG9CQUFvQixFQUFFO0FBQ3JFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLGtEQUFrRDtBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsbUJBQW1CLG9CQUFvQixFQUFFO0FBQ3hEO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQiwyQkFBMkI7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLDBCQUEwQjtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjY4MS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7XG4gICAgICBzdGF0aWNDbGFzczogXCJmb3JtRGl2XCIsXG4gICAgICBvbjogeyBtb3VzZWVudGVyOiBfdm0uc2hvdywgbW91c2VsZWF2ZTogX3ZtLmhpZGUgfVxuICAgIH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiZGl2XCIsXG4gICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiZm9ybURpdi1sZWZ0XCIgfSxcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJMYWJlbFwiLFxuICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJzaG93TGFlbFwiLCBzdHlsZTogeyBtYXJnaW5MZWZ0OiBcIjVweFwiIH0gfSxcbiAgICAgICAgICAgIFtfdm0uX3YoX3ZtLl9zKF92bS5wcm9wZXJ0eS5sYWJlbCkpXVxuICAgICAgICAgIClcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfYyhcbiAgICAgICAgXCJkaXZcIixcbiAgICAgICAgeyBzdGF0aWNDbGFzczogXCJmb3JtRGl2LXJpZ2h0IHJhZGlvQ2hlY2tib3hTdHlsZVwiIH0sXG4gICAgICAgIF92bS5fbChfdm0ucmFkaW9BcnIsIGZ1bmN0aW9uKGl0ZW0sIGtleSkge1xuICAgICAgICAgIHJldHVybiBfYyhcbiAgICAgICAgICAgIFwiUmFkaW9cIixcbiAgICAgICAgICAgIF92bS5fYihcbiAgICAgICAgICAgICAgeyBrZXk6IGtleSwgYXR0cnM6IHsgbGFiZWw6IGl0ZW0udmFsdWUgfSB9LFxuICAgICAgICAgICAgICBcIlJhZGlvXCIsXG4gICAgICAgICAgICAgIGl0ZW0uZXh0ZW5kIHx8IHt9LFxuICAgICAgICAgICAgICBmYWxzZVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX2MoXCJzcGFuXCIsIHsgc3RhdGljQ2xhc3M6IFwic2hvd0xhYmVsXCIgfSwgW1xuICAgICAgICAgICAgICAgIF92bS5fdihfdm0uX3MoaXRlbS5sYWJlbCkpXG4gICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICBdXG4gICAgICAgICAgKVxuICAgICAgICB9KSxcbiAgICAgICAgMVxuICAgICAgKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfYyhcImNvbW1vbUhvdmVyTW9kYWxcIiwgeyByZWY6IFwiY29tbW9tSG92ZXJNb2RhbFwiIH0pXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTE5MmY2YTcyXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTE5MmY2YTcyXCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9yYWRpby9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDY4MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///681\n");
4562
4563/***/ }),
4564/* 682 */
4565/***/ (function(module, __webpack_exports__, __webpack_require__) {
4566
4567"use strict";
4568eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(180);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_6772a903_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(686);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(683)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-6772a903\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_6772a903_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/select-input/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-6772a903\", Component.options)\n } else {\n hotAPI.reload(\"data-v-6772a903\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdC1pbnB1dC9pbmRleC52dWU/NmQxYSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQXFWO0FBQy9WO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBd0Y7QUFDekg7QUFDd0k7QUFDYTtBQUNySjtBQUNtVDtBQUNuVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsaVFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI2ODIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi02NzcyYTkwM1xcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi02NzcyYTkwM1xcXCIsXFxcImhhc1Njb3BlZFxcXCI6dHJ1ZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBcImRhdGEtdi02NzcyYTkwM1wiXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdC1pbnB1dC9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtNjc3MmE5MDNcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi02NzcyYTkwM1wiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvc2VsZWN0LWlucHV0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjgyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///682\n");
4569
4570/***/ }),
4571/* 683 */
4572/***/ (function(module, exports, __webpack_require__) {
4573
4574eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(684);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"c566d908\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-6772a903\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-6772a903\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdC1pbnB1dC9pbmRleC52dWU/MjE1ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUE4VztBQUNwWSw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQWlHLGdDQUFnQztBQUN0SjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSxtTUFBbU0sa0ZBQWtGO0FBQ3JSLDRNQUE0TSxrRkFBa0Y7QUFDOVI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI2ODMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNjc3MmE5MDNcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiYzU2NmQ5MDhcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTY3NzJhOTAzXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNjc3MmE5MDNcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi02NzcyYTkwM1wiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvc2VsZWN0LWlucHV0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjgzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///683\n");
4575
4576/***/ }),
4577/* 684 */
4578/***/ (function(module, exports, __webpack_require__) {
4579
4580eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formDiv[data-v-6772a903]{\\n display:inline-block;\\n line-height: 60px;\\n text-align: left;\\n}\\n.formDiv-left[data-v-6772a903] {\\n display:inline-block;\\n width: 35%;\\n text-align:right;\\n font-size:15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.formDiv-right[data-v-6772a903] {\\n width: 60%;\\n position: relative;\\n display:inline-block;\\n float: right;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/select-input/myPlugin/page-ide/lib/components/levelThree/select-input/index.vue\"],\"names\":[],\"mappings\":\";AAwIA;EACA,qBAAA;EACA,kBAAA;EACA,iBAAA;CACA;AACA;EACA,qBAAA;EACA,WAAA;EACA,iBAAA;EACA,eAAA;EACA,YAAA;EACA,eAAA;CACA;AACA;EACA,WAAA;EACA,mBAAA;EACA,qBAAA;EACA,aAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formDiv\\\">\\r\\n <div class=\\\"formDiv-left\\\">\\r\\n <Label :style=\\\"{marginLeft:'5px'}\\\">{{getLabel}}</Label>\\r\\n </div>\\r\\n <div class=\\\"formDiv-right\\\">\\r\\n <div style=\\\"width:58%;display: inline-block;text-align: left;\\\">\\r\\n <Select clearable>\\r\\n <Option v-for=\\\"(item,index) in selectData\\\" :key=\\\"index\\\" :value=\\\"item.value\\\">\\r\\n {{item.label}}\\r\\n </Option>\\r\\n </Select>\\r\\n </div>\\r\\n <div style=\\\"width: 40%;display: inline-block;text-align: left;\\\">\\r\\n <Input />\\r\\n </div>\\r\\n </div>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport {editSetting} from './property';\\r\\nexport default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n computed:{\\r\\n getLabel(){\\r\\n return this.property.label;\\r\\n }\\r\\n },\\r\\n\\r\\n data () {\\r\\n return {\\r\\n selectData: [\\r\\n {\\r\\n value: '高新区',\\r\\n label: \\\"高新区\\\"\\r\\n },\\r\\n {\\r\\n value: '碑林区',\\r\\n label: \\\"碑林区\\\"\\r\\n },\\r\\n {\\r\\n value: '经开区',\\r\\n label: \\\"经开区\\\"\\r\\n },\\r\\n {\\r\\n value: '莲湖区',\\r\\n label: \\\"莲湖区\\\"\\r\\n },\\r\\n {\\r\\n value: '曲江新区',\\r\\n label: \\\"曲江新区\\\"\\r\\n },\\r\\n {\\r\\n value: '雁塔区',\\r\\n label: \\\"雁塔区\\\"\\r\\n },\\r\\n {\\r\\n value: '浐灞生态区',\\r\\n label: \\\"浐灞生态区\\\"\\r\\n },\\r\\n {\\r\\n value: '灞桥区',\\r\\n label: \\\"灞桥区\\\"\\r\\n },\\r\\n {\\r\\n value: '航空基地',\\r\\n label: \\\"航空基地\\\"\\r\\n },\\r\\n {\\r\\n value: '未央区',\\r\\n label: \\\"未央区\\\"\\r\\n },\\r\\n {\\r\\n value: '航天基地',\\r\\n label: \\\"航天基地\\\"\\r\\n },\\r\\n {\\r\\n value: '阎良区',\\r\\n label: \\\"阎良区\\\"\\r\\n },\\r\\n {\\r\\n value: '国际港务区',\\r\\n label: \\\"国际港务区\\\"\\r\\n },\\r\\n {\\r\\n value: '临潼区',\\r\\n label: \\\"临潼区\\\"\\r\\n },\\r\\n {\\r\\n value: '长安区',\\r\\n label: \\\"长安区\\\"\\r\\n },\\r\\n {\\r\\n value: '高陵区',\\r\\n label: \\\"高陵区\\\"\\r\\n },\\r\\n {\\r\\n value: '鄠邑区',\\r\\n label: \\\"鄠邑区\\\"\\r\\n },\\r\\n {\\r\\n value: '蓝田县',\\r\\n label: \\\"蓝田县\\\"\\r\\n },\\r\\n {\\r\\n value: '周至县',\\r\\n label: \\\"周至县\\\"\\r\\n },\\r\\n {\\r\\n value: '西安市本级',\\r\\n label: \\\"西安市本级\\\"\\r\\n },\\r\\n ],\\r\\n property:{\\r\\n label : '标签',\\r\\n },\\r\\n text: 'input',\\r\\n type: 'input',\\r\\n level: editSetting.level\\r\\n };\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .formDiv{\\r\\n display:inline-block;\\r\\n line-height: 60px;\\r\\n text-align: left;\\r\\n }\\r\\n .formDiv-left {\\r\\n display:inline-block;\\r\\n width: 35%;\\r\\n text-align:right;\\r\\n font-size:15px;\\r\\n float: left;\\r\\n margin: 0 10px;\\r\\n }\\r\\n .formDiv-right {\\r\\n width: 60%;\\r\\n position: relative;\\r\\n display:inline-block;\\r\\n float: right;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdC1pbnB1dC9pbmRleC52dWU/MzRjNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUErRTtBQUNsSDs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsK0JBQStCLHlCQUF5QixzQkFBc0IscUJBQXFCLEdBQUcsa0NBQWtDLHlCQUF5QixlQUFlLHFCQUFxQixtQkFBbUIsZ0JBQWdCLG1CQUFtQixHQUFHLG1DQUFtQyxlQUFlLHVCQUF1Qix5QkFBeUIsaUJBQWlCLEdBQUcsVUFBVSx1TUFBdU0sTUFBTSxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssV0FBVyxVQUFVLFdBQVcsVUFBVSxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsV0FBVyxXQUFXLFVBQVUsa0pBQWtKLGlCQUFpQixLQUFLLFVBQVUsNEZBQTRGLHNCQUFzQixpQkFBaUIsbUpBQW1KLFlBQVksOEZBQThGLHNCQUFzQixpQkFBaUIsNkdBQTZHLFlBQVksbUJBQW1CLG9CQUFvQixtQkFBbUIsc0JBQXNCLHlGQUF5RixzRUFBc0UsbUJBQW1CLHNCQUFzQix3Q0FBd0MsYUFBYSxTQUFTLHNCQUFzQixvQkFBb0Isa0RBQWtELGdHQUFnRyxzQkFBc0IsZ0dBQWdHLHNCQUFzQixnR0FBZ0csc0JBQXNCLGdHQUFnRyxzQkFBc0Isa0dBQWtHLHNCQUFzQixnR0FBZ0csc0JBQXNCLG9HQUFvRyxzQkFBc0IsZ0dBQWdHLHNCQUFzQixrR0FBa0csc0JBQXNCLGdHQUFnRyxzQkFBc0Isa0dBQWtHLHNCQUFzQixnR0FBZ0csc0JBQXNCLG9HQUFvRyxzQkFBc0IsZ0dBQWdHLHNCQUFzQixnR0FBZ0csc0JBQXNCLGdHQUFnRyxzQkFBc0IsZ0dBQWdHLHNCQUFzQixnR0FBZ0csc0JBQXNCLGdHQUFnRyxzQkFBc0Isb0dBQW9HLDZDQUE2QyxrREFBa0QsbUhBQW1ILFNBQVMseUZBQXlGLGtEQUFrRCw2QkFBNkIsMEJBQTBCLHlCQUF5QixPQUFPLHFCQUFxQiw2QkFBNkIsbUJBQW1CLHlCQUF5Qix1QkFBdUIsb0JBQW9CLHVCQUF1QixPQUFPLHNCQUFzQixtQkFBbUIsMkJBQTJCLDZCQUE2QixxQkFBcUIsT0FBTyxtQ0FBbUM7O0FBRTM3SiIsImZpbGUiOiI2ODQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG4uZm9ybURpdltkYXRhLXYtNjc3MmE5MDNde1xcbiAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxuICBsaW5lLWhlaWdodDogNjBweDtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxufVxcbi5mb3JtRGl2LWxlZnRbZGF0YS12LTY3NzJhOTAzXSB7XFxuICBkaXNwbGF5OmlubGluZS1ibG9jaztcXG4gIHdpZHRoOiAzNSU7XFxuICB0ZXh0LWFsaWduOnJpZ2h0O1xcbiAgZm9udC1zaXplOjE1cHg7XFxuICBmbG9hdDogbGVmdDtcXG4gIG1hcmdpbjogMCAxMHB4O1xcbn1cXG4uZm9ybURpdi1yaWdodFtkYXRhLXYtNjc3MmE5MDNdIHtcXG4gIHdpZHRoOiA2MCU7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OmlubGluZS1ibG9jaztcXG4gIGZsb2F0OiByaWdodDtcXG59XFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIkU6L3Byb2plY3QvcGFnZS1pZGUteGlhbi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdC1pbnB1dC9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdC1pbnB1dC9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQXdJQTtFQUNBLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtDQUNBO0FBQ0E7RUFDQSxxQkFBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtDQUNBO0FBQ0E7RUFDQSxXQUFBO0VBQ0EsbUJBQUE7RUFDQSxxQkFBQTtFQUNBLGFBQUE7Q0FDQVwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjx0ZW1wbGF0ZT5cXHJcXG4gIDxkaXYgY2xhc3M9XFxcImZvcm1EaXZcXFwiPlxcclxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2LWxlZnRcXFwiPlxcclxcbiAgICAgIDxMYWJlbCA6c3R5bGU9XFxcInttYXJnaW5MZWZ0Oic1cHgnfVxcXCI+e3tnZXRMYWJlbH19PC9MYWJlbD5cXHJcXG4gICAgPC9kaXY+XFxyXFxuICAgIDxkaXYgY2xhc3M9XFxcImZvcm1EaXYtcmlnaHRcXFwiPlxcclxcbiAgICAgIDxkaXYgc3R5bGU9XFxcIndpZHRoOjU4JTtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7dGV4dC1hbGlnbjogbGVmdDtcXFwiPlxcclxcbiAgICAgICAgPFNlbGVjdCBjbGVhcmFibGU+XFxyXFxuICAgICAgICAgIDxPcHRpb24gdi1mb3I9XFxcIihpdGVtLGluZGV4KSBpbiBzZWxlY3REYXRhXFxcIiA6a2V5PVxcXCJpbmRleFxcXCIgOnZhbHVlPVxcXCJpdGVtLnZhbHVlXFxcIj5cXHJcXG4gICAgICAgICAgICB7e2l0ZW0ubGFiZWx9fVxcclxcbiAgICAgICAgICA8L09wdGlvbj5cXHJcXG4gICAgICAgIDwvU2VsZWN0PlxcclxcbiAgICAgIDwvZGl2PlxcclxcbiAgICAgIDxkaXYgc3R5bGU9XFxcIndpZHRoOiA0MCU7ZGlzcGxheTogaW5saW5lLWJsb2NrO3RleHQtYWxpZ246IGxlZnQ7XFxcIj5cXHJcXG4gICAgICAgIDxJbnB1dCAvPlxcclxcbiAgICAgIDwvZGl2PlxcclxcbiAgICA8L2Rpdj5cXHJcXG4gIDwvZGl2PlxcclxcbjwvdGVtcGxhdGU+XFxyXFxuXFxyXFxuPHNjcmlwdD5cXHJcXG5pbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcXHJcXG5leHBvcnQgZGVmYXVsdCB7XFxyXFxuICAgIC8vIHByb3BzOiB7XFxyXFxuICAgIC8vICAgICB0ZXh0OiB7XFxyXFxuICAgIC8vICAgICAgICAgdHlwZTogU3RyaW5nLFxcclxcbiAgICAvLyAgICAgICAgIGRlZmF1bHQ6ICdCdXR0b24gVGV4dCdcXHJcXG4gICAgLy8gICAgIH0sXFxyXFxuICAgIC8vICAgICB0eXBlOiBTdHJpbmcsXFxyXFxuICAgIC8vICAgICBzdHlsZXM6IE9iamVjdFxcclxcbiAgICAvLyB9LFxcclxcbiAgICBjb21wdXRlZDp7XFxyXFxuICAgICAgIGdldExhYmVsKCl7XFxyXFxuICAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydHkubGFiZWw7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH0sXFxyXFxuXFxyXFxuICAgIGRhdGEgKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHtcXHJcXG4gICAgICAgICAgICBzZWxlY3REYXRhOiBbXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn6auY5paw5Yy6JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcXFwi6auY5paw5Yy6XFxcIlxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+eikeael+WMuicsXFxyXFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXFxcIueikeael+WMulxcXCJcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfnu4/lvIDljLonLFxcclxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFxcXCLnu4/lvIDljLpcXFwiXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn6I6y5rmW5Yy6JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcXFwi6I6y5rmW5Yy6XFxcIlxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+absuaxn+aWsOWMuicsXFxyXFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXFxcIuabsuaxn+aWsOWMulxcXCJcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfpm4HloZTljLonLFxcclxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFxcXCLpm4HloZTljLpcXFwiXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn5rWQ54Ge55Sf5oCB5Yy6JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcXFwi5rWQ54Ge55Sf5oCB5Yy6XFxcIlxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+eBnuahpeWMuicsXFxyXFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXFxcIueBnuahpeWMulxcXCJcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfoiKrnqbrln7rlnLAnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFxcXCLoiKrnqbrln7rlnLBcXFwiXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn5pyq5aSu5Yy6JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcXFwi5pyq5aSu5Yy6XFxcIlxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+iIquWkqeWfuuWcsCcsXFxyXFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXFxcIuiIquWkqeWfuuWcsFxcXCJcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfpmI7oia/ljLonLFxcclxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFxcXCLpmI7oia/ljLpcXFwiXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn5Zu96ZmF5riv5Yqh5Yy6JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcXFwi5Zu96ZmF5riv5Yqh5Yy6XFxcIlxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+S4tOa9vOWMuicsXFxyXFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXFxcIuS4tOa9vOWMulxcXCJcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfplb/lronljLonLFxcclxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFxcXCLplb/lronljLpcXFwiXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn6auY6Zm15Yy6JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcXFwi6auY6Zm15Yy6XFxcIlxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+mEoOmCkeWMuicsXFxyXFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXFxcIumEoOmCkeWMulxcXCJcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfok53nlLDljr8nLFxcclxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFxcXCLok53nlLDljr9cXFwiXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn5ZGo6Iez5Y6/JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcXFwi5ZGo6Iez5Y6/XFxcIlxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+ilv+WuieW4guacrOe6pycsXFxyXFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXFxcIuilv+WuieW4guacrOe6p1xcXCJcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICBdLFxcclxcbiAgICAgICAgICAgIHByb3BlcnR5OntcXHJcXG4gICAgICAgICAgICAgICAgbGFiZWwgOiAn5qCH562+JyxcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIHRleHQ6ICdpbnB1dCcsXFxyXFxuICAgICAgICAgICAgdHlwZTogJ2lucHV0JyxcXHJcXG4gICAgICAgICAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgIH0sXFxyXFxuICAgIGVkaXRTZXR0aW5nLFxcclxcbiAgICBuYW1lOiBlZGl0U2V0dGluZy5rZXksXFxyXFxuICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxcclxcbn07XFxyXFxuPC9zY3JpcHQ+XFxyXFxuXFxyXFxuPHN0eWxlIHNjb3BlZD5cXHJcXG4gIC5mb3JtRGl2e1xcclxcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXHJcXG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XFxyXFxuICAgIHRleHQtYWxpZ246IGxlZnQ7XFxyXFxuICB9XFxyXFxuICAuZm9ybURpdi1sZWZ0IHtcXHJcXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgIHdpZHRoOiAzNSU7XFxyXFxuICAgIHRleHQtYWxpZ246cmlnaHQ7XFxyXFxuICAgIGZvbnQtc2l6ZToxNXB4O1xcclxcbiAgICBmbG9hdDogbGVmdDtcXHJcXG4gICAgbWFyZ2luOiAwIDEwcHg7XFxyXFxuICB9XFxyXFxuICAuZm9ybURpdi1yaWdodCB7XFxyXFxuICAgIHdpZHRoOiA2MCU7XFxyXFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXHJcXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgIGZsb2F0OiByaWdodDtcXHJcXG4gIH1cXHJcXG48L3N0eWxlPlxcclxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi02NzcyYTkwM1wiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvc2VsZWN0LWlucHV0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjg0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///684\n");
4581
4582/***/ }),
4583/* 685 */
4584/***/ (function(module, exports, __webpack_require__) {
4585
4586"use strict";
4587eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = ['属性(下拉文本框)', {\n field: 'property.busiId',\n text: '标签',\n type: 'string',\n isShow: 'hide'\n}, '扩展属性', {\n field: 'extend.placeholder',\n text: '占位符(默认展示值)',\n type: 'string'\n}, '高级', {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'inputHeightLevel'\n}];\n_common.commonTool.assembleData(editors);\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-select-input',\n name: '下拉文本框',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdC1pbnB1dC9wcm9wZXJ0eS5qcz8wZjAxIl0sIm5hbWVzIjpbImVkaXRvcnMiLCJmaWVsZCIsInRleHQiLCJ0eXBlIiwiaXNTaG93IiwiY29tbW9uVG9vbCIsImFzc2VtYmxlRGF0YSIsImNvbnNvbGUiLCJsb2ciLCJlZGl0U2V0dGluZyIsImtleSIsIm5hbWUiLCJsZXZlbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBOztBQUtBLElBQUlBLFVBQVMsQ0FDVCxXQURTLEVBRVQ7QUFDSUMsV0FBTyxpQkFEWDtBQUVJQyxVQUFNLElBRlY7QUFHSUMsVUFBTSxRQUhWO0FBSUlDLFlBQU87QUFKWCxDQUZTLEVBUVQsTUFSUyxFQVNUO0FBQ0lILFdBQU8sb0JBRFg7QUFFSUMsVUFBTSxZQUZWO0FBR0lDLFVBQU07QUFIVixDQVRTLEVBd0JULElBeEJTLEVBeUJUO0FBQ0lGLFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU07QUFIVixDQXpCUyxDQUFiO0FBaURBRSxtQkFBV0MsWUFBWCxDQUF3Qk4sT0FBeEI7QUFDQU8sUUFBUUMsR0FBUixDQUFZUixPQUFaO0FBQ08sSUFBTVMsb0NBQWM7QUFDdkJDLFNBQUssbUJBRGtCO0FBRXZCQyxVQUFNLE9BRmlCO0FBR3ZCQyxXQUFNLENBSGlCO0FBSXZCWixhQUFRQTtBQUplLENBQXBCIiwiZmlsZSI6IjY4NS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAgTm90ZSDlt6XlhbfnsbtcclxuICovXHJcbmltcG9ydCB7Y29tbW9uVG9vbH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jb21tb25cIlxyXG4vKlxyXG5Ob3RlIOWumuS5ieiHquWumuS5ieWxnuaAp++8jOWFrOWFseWxnuaAp+S7jmNvbW1vbuaWh+S7tumHjOivu+WPllxyXG5hdXRob3Ig5Y+256ug5rWpXHJcbiAqL1xyXG5sZXQgZWRpdG9ycz0gW1xyXG4gICAgJ+WxnuaApyjkuIvmi4nmlofmnKzmoYYpJyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmJ1c2lJZCcsXHJcbiAgICAgICAgdGV4dDogJ+agh+etvicsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJ1xyXG4gICAgfSxcclxuICAgICfmianlsZXlsZ7mgKcnLFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLnBsYWNlaG9sZGVyJyxcclxuICAgICAgICB0ZXh0OiAn5Y2g5L2N56ym77yI6buY6K6k5bGV56S65YC877yJJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSxcclxuICAgLyoge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLnR5cGUnLFxyXG4gICAgICAgIHRleHQ6ICfnsbvlnosnLFxyXG4gICAgICAgIHR5cGU6ICdpbnB1dFNlbGVjdCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdleHRlbmQucm93cycsXHJcbiAgICAgICAgdGV4dDogJ+ihjOaVsCcsXHJcbiAgICAgICAgdHlwZTogJ251bWJlcidcclxuICAgIH0sKi9cclxuICAgICfpq5jnuqcnLFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZGF0YS5oZWlnaHRMZXZlbCcsXHJcbiAgICAgICAgdGV4dDogJ+aYr+WQpuaYvuekuicsXHJcbiAgICAgICAgdHlwZTogJ2lucHV0SGVpZ2h0TGV2ZWwnXHJcbiAgICB9LFxyXG4gICAgLyon5YWD57Sg6IGU5Yqo5qOA5p+l5piv5ZCm6ZqQ6JePJyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5zaG93RmxhZycsXHJcbiAgICAgICAgdGV4dDogJycsXHJcbiAgICAgICAgdHlwZTogJ3Nob3dGbGFnJ1xyXG4gICAgfSxcclxuICAgICfmoKHpqownLFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLnZhbGlkYXRlJyxcclxuICAgICAgICB0ZXh0OiAnJyxcclxuICAgICAgICB0eXBlOiAndmFsaWRhdGVBcnInXHJcbiAgICB9LFxyXG4gICAgJ+iBlOWKqCcsXHJcbiAgICAge1xyXG4gICAgICAgICBmaWVsZDogJ2V4dGVuZC5saW5rYWdlQ2hhbmdlVmFsdWUnLFxyXG4gICAgICAgICB0ZXh0OiAnJyxcclxuICAgICAgICAgdHlwZTogJ2xpbmthZ2VDaGFuZ2VWYWx1ZSdcclxuICAgICB9Ki9cclxuXTtcclxuY29tbW9uVG9vbC5hc3NlbWJsZURhdGEoZWRpdG9ycyk7XHJcbmNvbnNvbGUubG9nKGVkaXRvcnMpO1xyXG5leHBvcnQgY29uc3QgZWRpdFNldHRpbmcgPSB7XHJcbiAgICBrZXk6ICdnYWVhLXNlbGVjdC1pbnB1dCcsXHJcbiAgICBuYW1lOiAn5LiL5ouJ5paH5pys5qGGJyxcclxuICAgIGxldmVsOjQsXHJcbiAgICBlZGl0b3JzOmVkaXRvcnMsXHJcbn07XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvc2VsZWN0LWlucHV0L3Byb3BlcnR5LmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///685\n");
4588
4589/***/ }),
4590/* 686 */
4591/***/ (function(module, __webpack_exports__, __webpack_require__) {
4592
4593"use strict";
4594eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"formDiv\" }, [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [\n _c(\"Label\", { style: { marginLeft: \"5px\" } }, [\n _vm._v(_vm._s(_vm.getLabel))\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"formDiv-right\" }, [\n _c(\n \"div\",\n {\n staticStyle: {\n width: \"58%\",\n display: \"inline-block\",\n \"text-align\": \"left\"\n }\n },\n [\n _c(\n \"Select\",\n { attrs: { clearable: \"\" } },\n _vm._l(_vm.selectData, function(item, index) {\n return _c(\n \"Option\",\n { key: index, attrs: { value: item.value } },\n [_vm._v(\"\\n \" + _vm._s(item.label) + \"\\n \")]\n )\n }),\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticStyle: {\n width: \"40%\",\n display: \"inline-block\",\n \"text-align\": \"left\"\n }\n },\n [_c(\"Input\")],\n 1\n )\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-6772a903\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdC1pbnB1dC9pbmRleC52dWU/YTMzMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQix5QkFBeUI7QUFDN0M7QUFDQTtBQUNBLE9BQU8sOEJBQThCO0FBQ3JDO0FBQ0EscUJBQXFCLFNBQVMsb0JBQW9CLEVBQUU7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSwrQkFBK0I7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhLFNBQVMsZ0JBQWdCLEVBQUU7QUFDeEM7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLHFCQUFxQixvQkFBb0IsRUFBRTtBQUM1RDtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNjg2LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXZcIiB9LCBbXG4gICAgX2MoXG4gICAgICBcImRpdlwiLFxuICAgICAgeyBzdGF0aWNDbGFzczogXCJmb3JtRGl2LWxlZnRcIiB9LFxuICAgICAgW1xuICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3R5bGU6IHsgbWFyZ2luTGVmdDogXCI1cHhcIiB9IH0sIFtcbiAgICAgICAgICBfdm0uX3YoX3ZtLl9zKF92bS5nZXRMYWJlbCkpXG4gICAgICAgIF0pXG4gICAgICBdLFxuICAgICAgMVxuICAgICksXG4gICAgX3ZtLl92KFwiIFwiKSxcbiAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXYtcmlnaHRcIiB9LCBbXG4gICAgICBfYyhcbiAgICAgICAgXCJkaXZcIixcbiAgICAgICAge1xuICAgICAgICAgIHN0YXRpY1N0eWxlOiB7XG4gICAgICAgICAgICB3aWR0aDogXCI1OCVcIixcbiAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lLWJsb2NrXCIsXG4gICAgICAgICAgICBcInRleHQtYWxpZ25cIjogXCJsZWZ0XCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiU2VsZWN0XCIsXG4gICAgICAgICAgICB7IGF0dHJzOiB7IGNsZWFyYWJsZTogXCJcIiB9IH0sXG4gICAgICAgICAgICBfdm0uX2woX3ZtLnNlbGVjdERhdGEsIGZ1bmN0aW9uKGl0ZW0sIGluZGV4KSB7XG4gICAgICAgICAgICAgIHJldHVybiBfYyhcbiAgICAgICAgICAgICAgICBcIk9wdGlvblwiLFxuICAgICAgICAgICAgICAgIHsga2V5OiBpbmRleCwgYXR0cnM6IHsgdmFsdWU6IGl0ZW0udmFsdWUgfSB9LFxuICAgICAgICAgICAgICAgIFtfdm0uX3YoXCJcXG4gICAgICAgICAgXCIgKyBfdm0uX3MoaXRlbS5sYWJlbCkgKyBcIlxcbiAgICAgICAgXCIpXVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgICksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXG4gICAgICAgIFwiZGl2XCIsXG4gICAgICAgIHtcbiAgICAgICAgICBzdGF0aWNTdHlsZToge1xuICAgICAgICAgICAgd2lkdGg6IFwiNDAlXCIsXG4gICAgICAgICAgICBkaXNwbGF5OiBcImlubGluZS1ibG9ja1wiLFxuICAgICAgICAgICAgXCJ0ZXh0LWFsaWduXCI6IFwibGVmdFwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbX2MoXCJJbnB1dFwiKV0sXG4gICAgICAgIDFcbiAgICAgIClcbiAgICBdKVxuICBdKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtNjc3MmE5MDNcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtNjc3MmE5MDNcIixcImhhc1Njb3BlZFwiOnRydWUsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdC1pbnB1dC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDY4NlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///686\n");
4595
4596/***/ }),
4597/* 687 */
4598/***/ (function(module, __webpack_exports__, __webpack_require__) {
4599
4600"use strict";
4601eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(181);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_5c44f1c6_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(691);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(688)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-5c44f1c6\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_5c44f1c6_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/select/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-5c44f1c6\", Component.options)\n } else {\n hotAPI.reload(\"data-v-5c44f1c6\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdC9pbmRleC52dWU/ZDg4NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQXFWO0FBQy9WO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBd0Y7QUFDekg7QUFDd0k7QUFDYTtBQUNySjtBQUNtVDtBQUNuVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsaVFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI2ODcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi01YzQ0ZjFjNlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi01YzQ0ZjFjNlxcXCIsXFxcImhhc1Njb3BlZFxcXCI6dHJ1ZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBcImRhdGEtdi01YzQ0ZjFjNlwiXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdC9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtNWM0NGYxYzZcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi01YzQ0ZjFjNlwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvc2VsZWN0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjg3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///687\n");
4602
4603/***/ }),
4604/* 688 */
4605/***/ (function(module, exports, __webpack_require__) {
4606
4607eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(689);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"3ef40b6a\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5c44f1c6\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5c44f1c6\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdC9pbmRleC52dWU/NmU1MyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUE4VztBQUNwWSw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQWlHLGdDQUFnQztBQUN0SjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSxtTUFBbU0sa0ZBQWtGO0FBQ3JSLDRNQUE0TSxrRkFBa0Y7QUFDOVI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI2ODguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNWM0NGYxYzZcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiM2VmNDBiNmFcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTVjNDRmMWM2XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNWM0NGYxYzZcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi01YzQ0ZjFjNlwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvc2VsZWN0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjg4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///688\n");
4608
4609/***/ }),
4610/* 689 */
4611/***/ (function(module, exports, __webpack_require__) {
4612
4613eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formDiv[data-v-5c44f1c6]{\\n display:inline-block;\\n line-height: 60px;\\n text-align: left;\\n}\\n.radioCheckboxStyle[data-v-5c44f1c6] {\\n text-align: left;\\n}\\n.formDiv-left[data-v-5c44f1c6] {\\n display:inline-block;\\n width: 35%;\\n text-align:right;\\n font-size:15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.formDiv-right[data-v-5c44f1c6] {\\n width: 60%;\\n position: relative;\\n display:inline-block;\\n float: right;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/select/myPlugin/page-ide/lib/components/levelThree/select/index.vue\"],\"names\":[],\"mappings\":\";AAuEA;IACA,qBAAA;IACA,kBAAA;IACA,iBAAA;CACA;AACA;IACA,iBAAA;CACA;AACA;IACA,qBAAA;IACA,WAAA;IACA,iBAAA;IACA,eAAA;IACA,YAAA;IACA,eAAA;CACA;AACA;IACA,WAAA;IACA,mBAAA;IACA,qBAAA;IACA,aAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formDiv\\\" @mouseenter=\\\"show\\\" @mouseleave=\\\"hide\\\">\\r\\n <div class=\\\"formDiv-left\\\">\\r\\n <Label :style=\\\"{marginLeft:'5px'}\\\">{{property.label}}</Label>\\r\\n </div>\\r\\n <div class=\\\"formDiv-right radioCheckboxStyle\\\">\\r\\n <Select style=\\\"width:50%;\\\" >\\r\\n <Option v-for=\\\"item in radioArr\\\" :value=\\\"item.value||''\\\" :key=\\\"item.value\\\">{{ item.label }}</Option>\\r\\n </Select>\\r\\n </div>\\r\\n <commomHoverModal ref=\\\"commomHoverModal\\\" ></commomHoverModal>\\r\\n\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport {editSetting} from './property';\\r\\nimport commomHoverModal from '../../common/commomHoverModal'\\r\\n\\r\\nexport default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n components:{\\r\\n commomHoverModal\\r\\n },\\r\\n data () {\\r\\n return {\\r\\n property:{\\r\\n label : '下拉选择',\\r\\n },\\r\\n text: 'input',\\r\\n styles: {height:'40px',width:'70px',margin:'10px'},\\r\\n type: 'input',\\r\\n single: true,\\r\\n level: editSetting.level,\\r\\n radioArr:[]\\r\\n };\\r\\n },\\r\\n computed:{\\r\\n getLabel(){\\r\\n return this.property.label;\\r\\n }\\r\\n },\\r\\n methods:{\\r\\n show(){\\r\\n this.$refs.commomHoverModal.handleMouseEnter();\\r\\n },\\r\\n hide(){\\r\\n this.$refs.commomHoverModal.handleMouseLeave();\\r\\n },\\r\\n initTableArr(){\\r\\n let currentInstance= this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\\r\\n this.radioArr=currentInstance.data.radioArr;\\r\\n }\\r\\n },\\r\\n mounted(){\\r\\n this.initTableArr();\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .formDiv{\\r\\n display:inline-block;\\r\\n line-height: 60px;\\r\\n text-align: left;\\r\\n }\\r\\n .radioCheckboxStyle {\\r\\n text-align: left;\\r\\n }\\r\\n .formDiv-left {\\r\\n display:inline-block;\\r\\n width: 35%;\\r\\n text-align:right;\\r\\n font-size:15px;\\r\\n float: left;\\r\\n margin: 0 10px;\\r\\n }\\r\\n .formDiv-right {\\r\\n width: 60%;\\r\\n position: relative;\\r\\n display:inline-block;\\r\\n float: right;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdC9pbmRleC52dWU/MTI0ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUErRTtBQUNsSDs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsK0JBQStCLDJCQUEyQix3QkFBd0IsdUJBQXVCLEdBQUcsd0NBQXdDLHVCQUF1QixHQUFHLGtDQUFrQywyQkFBMkIsaUJBQWlCLHVCQUF1QixxQkFBcUIsa0JBQWtCLHFCQUFxQixHQUFHLG1DQUFtQyxpQkFBaUIseUJBQXlCLDJCQUEyQixtQkFBbUIsR0FBRyxVQUFVLDJMQUEyTCxNQUFNLFdBQVcsV0FBVyxXQUFXLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxXQUFXLFVBQVUsV0FBVyxVQUFVLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxXQUFXLFdBQVcsVUFBVSxtTUFBbU0saUJBQWlCLEtBQUssZ0JBQWdCLDJIQUEySCx5R0FBeUcsY0FBYyxvTEFBb0wsWUFBWSxtQkFBbUIsd0ZBQXdGLG1CQUFtQixzQkFBc0IseUZBQXlGLHNFQUFzRSxxQkFBcUIscUNBQXFDLGtCQUFrQixvQkFBb0IsMEJBQTBCLG9EQUFvRCx3REFBd0QseUNBQXlDLDhJQUE4SSxTQUFTLG1CQUFtQix1QkFBdUIsMkNBQTJDLGFBQWEsU0FBUyxrQkFBa0IsbUJBQW1CLCtEQUErRCxhQUFhLG9CQUFvQiwrREFBK0QsYUFBYSw0QkFBNEIsaUlBQWlJLDREQUE0RCxhQUFhLFNBQVMsbUJBQW1CLGdDQUFnQyxTQUFTLHlGQUF5RixvREFBb0QsaUNBQWlDLDhCQUE4Qiw2QkFBNkIsU0FBUyw2QkFBNkIsNkJBQTZCLFNBQVMsdUJBQXVCLGlDQUFpQyx1QkFBdUIsNkJBQTZCLDJCQUEyQix3QkFBd0IsMkJBQTJCLFNBQVMsd0JBQXdCLHVCQUF1QiwrQkFBK0IsaUNBQWlDLHlCQUF5QixTQUFTLG1DQUFtQzs7QUFFMytHIiwiZmlsZSI6IjY4OS5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcbi5mb3JtRGl2W2RhdGEtdi01YzQ0ZjFjNl17XFxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcbiAgICBsaW5lLWhlaWdodDogNjBweDtcXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcXG59XFxuLnJhZGlvQ2hlY2tib3hTdHlsZVtkYXRhLXYtNWM0NGYxYzZdIHtcXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcXG59XFxuLmZvcm1EaXYtbGVmdFtkYXRhLXYtNWM0NGYxYzZdIHtcXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxuICAgIHdpZHRoOiAzNSU7XFxuICAgIHRleHQtYWxpZ246cmlnaHQ7XFxuICAgIGZvbnQtc2l6ZToxNXB4O1xcbiAgICBmbG9hdDogbGVmdDtcXG4gICAgbWFyZ2luOiAwIDEwcHg7XFxufVxcbi5mb3JtRGl2LXJpZ2h0W2RhdGEtdi01YzQ0ZjFjNl0ge1xcbiAgICB3aWR0aDogNjAlO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcbiAgICBmbG9hdDogcmlnaHQ7XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJFOi9wcm9qZWN0L3BhZ2UtaWRlLXhpYW4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9zZWxlY3QvbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9zZWxlY3QvaW5kZXgudnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUF1RUE7SUFDQSxxQkFBQTtJQUNBLGtCQUFBO0lBQ0EsaUJBQUE7Q0FDQTtBQUNBO0lBQ0EsaUJBQUE7Q0FDQTtBQUNBO0lBQ0EscUJBQUE7SUFDQSxXQUFBO0lBQ0EsaUJBQUE7SUFDQSxlQUFBO0lBQ0EsWUFBQTtJQUNBLGVBQUE7Q0FDQTtBQUNBO0lBQ0EsV0FBQTtJQUNBLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxhQUFBO0NBQ0FcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCI8dGVtcGxhdGU+XFxyXFxuICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2XFxcIiAgQG1vdXNlZW50ZXI9XFxcInNob3dcXFwiIEBtb3VzZWxlYXZlPVxcXCJoaWRlXFxcIj5cXHJcXG4gICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2LWxlZnRcXFwiPlxcclxcbiAgICAgICAgICA8TGFiZWwgOnN0eWxlPVxcXCJ7bWFyZ2luTGVmdDonNXB4J31cXFwiPnt7cHJvcGVydHkubGFiZWx9fTwvTGFiZWw+XFxyXFxuICAgICAgPC9kaXY+XFxyXFxuICAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybURpdi1yaWdodCByYWRpb0NoZWNrYm94U3R5bGVcXFwiPlxcclxcbiAgICAgICAgICA8U2VsZWN0ICBzdHlsZT1cXFwid2lkdGg6NTAlO1xcXCIgPlxcclxcbiAgICAgICAgICAgICAgPE9wdGlvbiB2LWZvcj1cXFwiaXRlbSBpbiByYWRpb0FyclxcXCIgOnZhbHVlPVxcXCJpdGVtLnZhbHVlfHwnJ1xcXCIgOmtleT1cXFwiaXRlbS52YWx1ZVxcXCI+e3sgaXRlbS5sYWJlbCB9fTwvT3B0aW9uPlxcclxcbiAgICAgICAgICA8L1NlbGVjdD5cXHJcXG4gICAgICA8L2Rpdj5cXHJcXG4gICAgICA8Y29tbW9tSG92ZXJNb2RhbCByZWY9XFxcImNvbW1vbUhvdmVyTW9kYWxcXFwiID48L2NvbW1vbUhvdmVyTW9kYWw+XFxyXFxuXFxyXFxuICA8L2Rpdj5cXHJcXG48L3RlbXBsYXRlPlxcclxcblxcclxcbjxzY3JpcHQ+XFxyXFxuaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XFxyXFxuaW1wb3J0IGNvbW1vbUhvdmVyTW9kYWwgZnJvbSAnLi4vLi4vY29tbW9uL2NvbW1vbUhvdmVyTW9kYWwnXFxyXFxuXFxyXFxuZXhwb3J0IGRlZmF1bHQge1xcclxcbiAgICAvLyBwcm9wczoge1xcclxcbiAgICAvLyAgICAgdGV4dDoge1xcclxcbiAgICAvLyAgICAgICAgIHR5cGU6IFN0cmluZyxcXHJcXG4gICAgLy8gICAgICAgICBkZWZhdWx0OiAnQnV0dG9uIFRleHQnXFxyXFxuICAgIC8vICAgICB9LFxcclxcbiAgICAvLyAgICAgdHlwZTogU3RyaW5nLFxcclxcbiAgICAvLyAgICAgc3R5bGVzOiBPYmplY3RcXHJcXG4gICAgLy8gfSxcXHJcXG4gICAgY29tcG9uZW50czp7XFxyXFxuICAgICAgICBjb21tb21Ib3Zlck1vZGFsXFxyXFxuICAgIH0sXFxyXFxuICAgIGRhdGEgKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHtcXHJcXG4gICAgICAgICAgICBwcm9wZXJ0eTp7XFxyXFxuICAgICAgICAgICAgICAgIGxhYmVsIDogJ+S4i+aLiemAieaLqScsXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICB0ZXh0OiAnaW5wdXQnLFxcclxcbiAgICAgICAgICAgIHN0eWxlczoge2hlaWdodDonNDBweCcsd2lkdGg6JzcwcHgnLG1hcmdpbjonMTBweCd9LFxcclxcbiAgICAgICAgICAgIHR5cGU6ICdpbnB1dCcsXFxyXFxuICAgICAgICAgICAgc2luZ2xlOiB0cnVlLFxcclxcbiAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcXHJcXG4gICAgICAgICAgICByYWRpb0FycjpbXVxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgfSxcXHJcXG4gICAgY29tcHV0ZWQ6e1xcclxcbiAgICAgICAgZ2V0TGFiZWwoKXtcXHJcXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0eS5sYWJlbDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfSxcXHJcXG4gICAgbWV0aG9kczp7XFxyXFxuICAgICAgICBzaG93KCl7XFxyXFxuICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlRW50ZXIoKTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBoaWRlKCl7XFxyXFxuICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlTGVhdmUoKTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBpbml0VGFibGVBcnIoKXtcXHJcXG4gICAgICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xcclxcbiAgICAgICAgICAgIHRoaXMucmFkaW9BcnI9Y3VycmVudEluc3RhbmNlLmRhdGEucmFkaW9BcnI7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH0sXFxyXFxuICAgIG1vdW50ZWQoKXtcXHJcXG4gICAgICAgIHRoaXMuaW5pdFRhYmxlQXJyKCk7XFxyXFxuICAgIH0sXFxyXFxuICAgIGVkaXRTZXR0aW5nLFxcclxcbiAgICBuYW1lOiBlZGl0U2V0dGluZy5rZXksXFxyXFxuICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxcclxcbn07XFxyXFxuPC9zY3JpcHQ+XFxyXFxuXFxyXFxuPHN0eWxlIHNjb3BlZD5cXHJcXG4gICAgLmZvcm1EaXZ7XFxyXFxuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXHJcXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xcclxcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcXHJcXG4gICAgfVxcclxcbiAgICAucmFkaW9DaGVja2JveFN0eWxlIHtcXHJcXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XFxyXFxuICAgIH1cXHJcXG4gICAgLmZvcm1EaXYtbGVmdCB7XFxyXFxuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXHJcXG4gICAgICAgIHdpZHRoOiAzNSU7XFxyXFxuICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xcclxcbiAgICAgICAgZm9udC1zaXplOjE1cHg7XFxyXFxuICAgICAgICBmbG9hdDogbGVmdDtcXHJcXG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xcclxcbiAgICB9XFxyXFxuICAgIC5mb3JtRGl2LXJpZ2h0IHtcXHJcXG4gICAgICAgIHdpZHRoOiA2MCU7XFxyXFxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxyXFxuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXHJcXG4gICAgICAgIGZsb2F0OiByaWdodDtcXHJcXG4gICAgfVxcclxcbjwvc3R5bGU+XFxyXFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTVjNDRmMWM2XCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9zZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2ODlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///689\n");
4614
4615/***/ }),
4616/* 690 */
4617/***/ (function(module, exports, __webpack_require__) {
4618
4619"use strict";
4620eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = [{\n field: 'property.title',\n text: '下拉选择',\n type: 'title'\n}, {\n field: 'property.prop',\n text: '属性名称',\n type: 'reqSelect',\n isShow: 'hide'\n}, {\n field: 'property.label',\n text: '标题',\n maxFont: '20',\n type: 'string'\n}, {\n field: 'property.busiId',\n text: '标题',\n isShow: 'hide',\n type: 'string'\n}, {\n field: 'extend.itemWidth',\n text: 'itemWidth',\n type: 'number',\n value: 320,\n isShow: 'hide'\n}, {\n field: 'property.isLevel',\n text: '属性名称',\n type: 'boolean',\n value: true,\n isShow: 'hide'\n}, {\n field: 'property.items',\n text: '',\n isLevel: true,\n type: 'radioSelect'\n}, {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'validateInput'\n}];\n\nvar editors11 = ['属性(单选框)', {\n field: 'property.busiId',\n text: '标签',\n type: 'string',\n isShow: 'hide'\n}, '扩展属性', '内容子项', {\n field: 'property.itemsProp',\n text: '',\n type: 'select'\n}, '高级', {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'radioHeightLevel'\n}];\n_common.commonTool.assembleData(editors);\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-select',\n name: '下拉选择',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdC9wcm9wZXJ0eS5qcz8xNzNiIl0sIm5hbWVzIjpbImVkaXRvcnMiLCJmaWVsZCIsInRleHQiLCJ0eXBlIiwiaXNTaG93IiwibWF4Rm9udCIsInZhbHVlIiwiaXNMZXZlbCIsImVkaXRvcnMxMSIsImNvbW1vblRvb2wiLCJhc3NlbWJsZURhdGEiLCJjb25zb2xlIiwibG9nIiwiZWRpdFNldHRpbmciLCJrZXkiLCJuYW1lIiwibGV2ZWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQTs7QUFLQSxJQUFJQSxVQUFTLENBQ1Q7QUFDSUMsV0FBTyxnQkFEWDtBQUVJQyxVQUFNLE1BRlY7QUFHSUMsVUFBTTtBQUhWLENBRFMsRUFNVDtBQUNJRixXQUFPLGVBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU0sV0FIVjtBQUlJQyxZQUFPO0FBSlgsQ0FOUyxFQVlUO0FBQ0lILFdBQU8sZ0JBRFg7QUFFSUMsVUFBTSxJQUZWO0FBR0lHLGFBQVEsSUFIWjtBQUlJRixVQUFNO0FBSlYsQ0FaUyxFQWtCVDtBQUNJRixXQUFPLGlCQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJRSxZQUFPLE1BSFg7QUFJSUQsVUFBTTtBQUpWLENBbEJTLEVBd0JUO0FBQ0lGLFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxXQUZWO0FBR0lDLFVBQU0sUUFIVjtBQUlJRyxXQUFPLEdBSlg7QUFLSUYsWUFBTztBQUxYLENBeEJTLEVBK0JUO0FBQ0lILFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU0sU0FIVjtBQUlJRyxXQUFNLElBSlY7QUFLSUYsWUFBTztBQUxYLENBL0JTLEVBc0NUO0FBQ0lILFdBQU8sZ0JBRFg7QUFFSUMsVUFBTSxFQUZWO0FBR0lLLGFBQVEsSUFIWjtBQUlJSixVQUFNO0FBSlYsQ0F0Q1MsRUE0Q1Q7QUFDSUYsV0FBTyxrQkFEWDtBQUVJQyxVQUFNLE1BRlY7QUFHSUMsVUFBTTtBQUhWLENBNUNTLENBQWI7O0FBbURBLElBQUlLLFlBQVcsQ0FDWCxTQURXLEVBRVg7QUFDSVAsV0FBTyxpQkFEWDtBQUVJQyxVQUFNLElBRlY7QUFHSUMsVUFBTSxRQUhWO0FBSUlDLFlBQU87QUFKWCxDQUZXLEVBUVgsTUFSVyxFQVlYLE1BWlcsRUFrQlg7QUFDSUgsV0FBTyxvQkFEWDtBQUVJQyxVQUFNLEVBRlY7QUFHSUMsVUFBTTtBQUhWLENBbEJXLEVBdUJYLElBdkJXLEVBd0JYO0FBQ0lGLFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU07QUFIVixDQXhCVyxDQUFmO0FBOEJBTSxtQkFBV0MsWUFBWCxDQUF3QlYsT0FBeEI7QUFDQVcsUUFBUUMsR0FBUixDQUFZWixPQUFaO0FBQ08sSUFBTWEsb0NBQWM7QUFDdkJDLFNBQUssYUFEa0I7QUFFdkJDLFVBQU0sTUFGaUI7QUFHdkJDLFdBQU0sQ0FIaUI7QUFJdkJoQixhQUFRQTtBQUplLENBQXBCIiwiZmlsZSI6IjY5MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAgTm90ZSDlt6XlhbfnsbtcclxuICovXHJcbmltcG9ydCB7Y29tbW9uVG9vbH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jb21tb25cIlxyXG4vKlxyXG5Ob3RlIOWumuS5ieiHquWumuS5ieWxnuaAp++8jOWFrOWFseWxnuaAp+S7jmNvbW1vbuaWh+S7tumHjOivu+WPllxyXG5hdXRob3Ig5Y+256ug5rWpXHJcbiAqL1xyXG5sZXQgZWRpdG9ycz0gW1xyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkudGl0bGUnLFxyXG4gICAgICAgIHRleHQ6ICfkuIvmi4npgInmi6knLFxyXG4gICAgICAgIHR5cGU6ICd0aXRsZSdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5wcm9wJyxcclxuICAgICAgICB0ZXh0OiAn5bGe5oCn5ZCN56ewJyxcclxuICAgICAgICB0eXBlOiAncmVxU2VsZWN0JyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmxhYmVsJyxcclxuICAgICAgICB0ZXh0OiAn5qCH6aKYJyxcclxuICAgICAgICBtYXhGb250OicyMCcsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5idXNpSWQnLFxyXG4gICAgICAgIHRleHQ6ICfmoIfpopgnLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZScsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdleHRlbmQuaXRlbVdpZHRoJyxcclxuICAgICAgICB0ZXh0OiAnaXRlbVdpZHRoJyxcclxuICAgICAgICB0eXBlOiAnbnVtYmVyJyxcclxuICAgICAgICB2YWx1ZTogMzIwLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZSdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5pc0xldmVsJyxcclxuICAgICAgICB0ZXh0OiAn5bGe5oCn5ZCN56ewJyxcclxuICAgICAgICB0eXBlOiAnYm9vbGVhbicsXHJcbiAgICAgICAgdmFsdWU6dHJ1ZSxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkuaXRlbXMnLFxyXG4gICAgICAgIHRleHQ6ICcnLFxyXG4gICAgICAgIGlzTGV2ZWw6dHJ1ZSxcclxuICAgICAgICB0eXBlOiAncmFkaW9TZWxlY3QnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZGF0YS5oZWlnaHRMZXZlbCcsXHJcbiAgICAgICAgdGV4dDogJ+aYr+WQpuaYvuekuicsXHJcbiAgICAgICAgdHlwZTogJ3ZhbGlkYXRlSW5wdXQnXHJcbiAgICB9XHJcbiAgICBdO1xyXG5cclxubGV0IGVkaXRvcnMxMT0gW1xyXG4gICAgJ+WxnuaApyjljZXpgInmoYYpJyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmJ1c2lJZCcsXHJcbiAgICAgICAgdGV4dDogJ+agh+etvicsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJ1xyXG4gICAgfSxcclxuICAgICfmianlsZXlsZ7mgKcnLFxyXG5cclxuICAgLyogJ+agoemqjOinhOWImScsXHJcbiAgICAn5omp5bGV5qCh6aqMJywqL1xyXG4gICAgJ+WGheWuueWtkOmhuScsXHJcbiAgIC8qIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5Lml0ZW1zJyxcclxuICAgICAgICB0ZXh0OiAnJyxcclxuICAgICAgICB0eXBlOiAncmFkaW9BcnInXHJcbiAgICB9LCovXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5pdGVtc1Byb3AnLFxyXG4gICAgICAgIHRleHQ6ICcnLFxyXG4gICAgICAgIHR5cGU6ICdzZWxlY3QnXHJcbiAgICB9LFxyXG4gICAgJ+mrmOe6pycsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdkYXRhLmhlaWdodExldmVsJyxcclxuICAgICAgICB0ZXh0OiAn5piv5ZCm5pi+56S6JyxcclxuICAgICAgICB0eXBlOiAncmFkaW9IZWlnaHRMZXZlbCdcclxuICAgIH0sXHJcbl07XHJcbmNvbW1vblRvb2wuYXNzZW1ibGVEYXRhKGVkaXRvcnMpO1xyXG5jb25zb2xlLmxvZyhlZGl0b3JzKTtcclxuZXhwb3J0IGNvbnN0IGVkaXRTZXR0aW5nID0ge1xyXG4gICAga2V5OiAnZ2FlYS1zZWxlY3QnLFxyXG4gICAgbmFtZTogJ+S4i+aLiemAieaLqScsXHJcbiAgICBsZXZlbDo0LFxyXG4gICAgZWRpdG9yczplZGl0b3JzLFxyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdC9wcm9wZXJ0eS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///690\n");
4621
4622/***/ }),
4623/* 691 */
4624/***/ (function(module, __webpack_exports__, __webpack_require__) {
4625
4626"use strict";
4627eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"formDiv\",\n on: { mouseenter: _vm.show, mouseleave: _vm.hide }\n },\n [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [\n _c(\"Label\", { style: { marginLeft: \"5px\" } }, [\n _vm._v(_vm._s(_vm.property.label))\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"formDiv-right radioCheckboxStyle\" },\n [\n _c(\n \"Select\",\n { staticStyle: { width: \"50%\" } },\n _vm._l(_vm.radioArr, function(item) {\n return _c(\n \"Option\",\n { key: item.value, attrs: { value: item.value || \"\" } },\n [_vm._v(_vm._s(item.label))]\n )\n }),\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"commomHoverModal\", { ref: \"commomHoverModal\" })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-5c44f1c6\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdC9pbmRleC52dWU/N2NiNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxTQUFTLDhCQUE4QjtBQUN2QztBQUNBLHVCQUF1QixTQUFTLG9CQUFvQixFQUFFO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLGtEQUFrRDtBQUMzRDtBQUNBO0FBQ0E7QUFDQSxhQUFhLGVBQWUsZUFBZSxFQUFFO0FBQzdDO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQiwwQkFBMEIsMEJBQTBCLEVBQUU7QUFDdkU7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsMEJBQTBCO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNjkxLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHtcbiAgICAgIHN0YXRpY0NsYXNzOiBcImZvcm1EaXZcIixcbiAgICAgIG9uOiB7IG1vdXNlZW50ZXI6IF92bS5zaG93LCBtb3VzZWxlYXZlOiBfdm0uaGlkZSB9XG4gICAgfSxcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJkaXZcIixcbiAgICAgICAgeyBzdGF0aWNDbGFzczogXCJmb3JtRGl2LWxlZnRcIiB9LFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXCJMYWJlbFwiLCB7IHN0eWxlOiB7IG1hcmdpbkxlZnQ6IFwiNXB4XCIgfSB9LCBbXG4gICAgICAgICAgICBfdm0uX3YoX3ZtLl9zKF92bS5wcm9wZXJ0eS5sYWJlbCkpXG4gICAgICAgICAgXSlcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfYyhcbiAgICAgICAgXCJkaXZcIixcbiAgICAgICAgeyBzdGF0aWNDbGFzczogXCJmb3JtRGl2LXJpZ2h0IHJhZGlvQ2hlY2tib3hTdHlsZVwiIH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiU2VsZWN0XCIsXG4gICAgICAgICAgICB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjUwJVwiIH0gfSxcbiAgICAgICAgICAgIF92bS5fbChfdm0ucmFkaW9BcnIsIGZ1bmN0aW9uKGl0ZW0pIHtcbiAgICAgICAgICAgICAgcmV0dXJuIF9jKFxuICAgICAgICAgICAgICAgIFwiT3B0aW9uXCIsXG4gICAgICAgICAgICAgICAgeyBrZXk6IGl0ZW0udmFsdWUsIGF0dHJzOiB7IHZhbHVlOiBpdGVtLnZhbHVlIHx8IFwiXCIgfSB9LFxuICAgICAgICAgICAgICAgIFtfdm0uX3YoX3ZtLl9zKGl0ZW0ubGFiZWwpKV1cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF9jKFwiY29tbW9tSG92ZXJNb2RhbFwiLCB7IHJlZjogXCJjb21tb21Ib3Zlck1vZGFsXCIgfSlcbiAgICBdLFxuICAgIDFcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtNWM0NGYxYzZcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtNWM0NGYxYzZcIixcImhhc1Njb3BlZFwiOnRydWUsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDY5MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///691\n");
4628
4629/***/ }),
4630/* 692 */
4631/***/ (function(module, __webpack_exports__, __webpack_require__) {
4632
4633"use strict";
4634eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(182);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_2c1a1792_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(696);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(693)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-2c1a1792\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_2c1a1792_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/selectDouble/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-2c1a1792\", Component.options)\n } else {\n hotAPI.reload(\"data-v-2c1a1792\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdERvdWJsZS9pbmRleC52dWU/ZjBiOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQXFWO0FBQy9WO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBd0Y7QUFDekg7QUFDd0k7QUFDYTtBQUNySjtBQUNtVDtBQUNuVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsaVFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI2OTIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0yYzFhMTc5MlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi0yYzFhMTc5MlxcXCIsXFxcImhhc1Njb3BlZFxcXCI6dHJ1ZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBcImRhdGEtdi0yYzFhMTc5MlwiXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdERvdWJsZS9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtMmMxYTE3OTJcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi0yYzFhMTc5MlwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvc2VsZWN0RG91YmxlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjkyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///692\n");
4635
4636/***/ }),
4637/* 693 */
4638/***/ (function(module, exports, __webpack_require__) {
4639
4640eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(694);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"033714b2\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2c1a1792\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2c1a1792\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdERvdWJsZS9pbmRleC52dWU/ZjY5NyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUE4VztBQUNwWSw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQWlHLGdDQUFnQztBQUN0SjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSxtTUFBbU0sa0ZBQWtGO0FBQ3JSLDRNQUE0TSxrRkFBa0Y7QUFDOVI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI2OTMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMmMxYTE3OTJcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiMDMzNzE0YjJcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTJjMWExNzkyXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMmMxYTE3OTJcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0yYzFhMTc5MlwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvc2VsZWN0RG91YmxlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjkzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///693\n");
4641
4642/***/ }),
4643/* 694 */
4644/***/ (function(module, exports, __webpack_require__) {
4645
4646eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.inputStyle[data-v-2c1a1792]{\\n width:50%;\\n}\\n.formDiv[data-v-2c1a1792]{\\n display:inline-block;\\n line-height: 60px;\\n text-align: left;\\n}\\n.radioCheckboxStyle[data-v-2c1a1792] {\\n text-align: left;\\n}\\n.formDiv-left[data-v-2c1a1792] {\\n display:inline-block;\\n width: 35%;\\n text-align:right;\\n font-size:15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.formDiv-right[data-v-2c1a1792] {\\n width: 60%;\\n position: relative;\\n display:inline-block;\\n float: right;\\n margin: 14px 0px;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/selectDouble/myPlugin/page-ide/lib/components/levelThree/selectDouble/index.vue\"],\"names\":[],\"mappings\":\";AAwGA;IACA,UAAA;CACA;AACA;IACA,qBAAA;IACA,kBAAA;IACA,iBAAA;CACA;AACA;IACA,iBAAA;CACA;AACA;IACA,qBAAA;IACA,WAAA;IACA,iBAAA;IACA,eAAA;IACA,YAAA;IACA,eAAA;CACA;AACA;IACA,WAAA;IACA,mBAAA;IACA,qBAAA;IACA,aAAA;IACA,iBAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formDiv\\\" @mouseenter=\\\"show\\\" @mouseleave=\\\"hide\\\">\\r\\n <div class=\\\"formDiv-left\\\">\\r\\n <Label :style=\\\"{marginLeft:'5px'}\\\">{{property.label}}</Label>\\r\\n </div>\\r\\n <div class=\\\"formDiv-right radioCheckboxStyle\\\" >\\r\\n <Cascader class=\\\"inputStyle\\\" :data=\\\"data\\\" ></Cascader>\\r\\n </div>\\r\\n <commomHoverModal ref=\\\"commomHoverModal\\\" ></commomHoverModal>\\r\\n\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport {editSetting} from './property';\\r\\nimport commomHoverModal from '../../common/commomHoverModal'\\r\\n\\r\\nexport default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n components:{\\r\\n commomHoverModal\\r\\n },\\r\\n data () {\\r\\n return {\\r\\n property:{\\r\\n label : '级联下拉框',\\r\\n },\\r\\n data: [{\\r\\n value: 'beijing',\\r\\n label: '北京',\\r\\n children: [\\r\\n {\\r\\n value: 'gugong',\\r\\n label: '故宫'\\r\\n },\\r\\n {\\r\\n value: 'tiantan',\\r\\n label: '天坛'\\r\\n },\\r\\n {\\r\\n value: 'wangfujing',\\r\\n label: '王府井'\\r\\n }\\r\\n ]\\r\\n },{\\r\\n value: 'tianjin',\\r\\n label: '天津',\\r\\n children: [\\r\\n {\\r\\n value: 'gugong',\\r\\n label: '故宫'\\r\\n },\\r\\n {\\r\\n value: 'tiantan',\\r\\n label: '天坛'\\r\\n },\\r\\n {\\r\\n value: 'wangfujing',\\r\\n label: '王府井'\\r\\n }\\r\\n ]\\r\\n }],\\r\\n text: 'input',\\r\\n styles: {height:'40px',width:'70px',margin:'10px'},\\r\\n type: 'input',\\r\\n single: true,\\r\\n level: editSetting.level,\\r\\n radioArr:[]\\r\\n };\\r\\n },\\r\\n computed:{\\r\\n getLabel(){\\r\\n return this.property.label;\\r\\n }\\r\\n },\\r\\n methods:{\\r\\n show(){\\r\\n this.$refs.commomHoverModal.handleMouseEnter();\\r\\n },\\r\\n hide(){\\r\\n this.$refs.commomHoverModal.handleMouseLeave();\\r\\n },\\r\\n initTableArr(){\\r\\n let currentInstance= this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\\r\\n this.radioArr=currentInstance.data.radioArr;\\r\\n }\\r\\n },\\r\\n mounted(){\\r\\n this.initTableArr();\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .inputStyle{\\r\\n width:50%;\\r\\n }\\r\\n .formDiv{\\r\\n display:inline-block;\\r\\n line-height: 60px;\\r\\n text-align: left;\\r\\n }\\r\\n .radioCheckboxStyle {\\r\\n text-align: left;\\r\\n }\\r\\n .formDiv-left {\\r\\n display:inline-block;\\r\\n width: 35%;\\r\\n text-align:right;\\r\\n font-size:15px;\\r\\n float: left;\\r\\n margin: 0 10px;\\r\\n }\\r\\n .formDiv-right {\\r\\n width: 60%;\\r\\n position: relative;\\r\\n display:inline-block;\\r\\n float: right;\\r\\n margin: 14px 0px;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdERvdWJsZS9pbmRleC52dWU/MzEzYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUErRTtBQUNsSDs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsa0NBQWtDLGdCQUFnQixHQUFHLDRCQUE0QiwyQkFBMkIsd0JBQXdCLHVCQUF1QixHQUFHLHdDQUF3Qyx1QkFBdUIsR0FBRyxrQ0FBa0MsMkJBQTJCLGlCQUFpQix1QkFBdUIscUJBQXFCLGtCQUFrQixxQkFBcUIsR0FBRyxtQ0FBbUMsaUJBQWlCLHlCQUF5QiwyQkFBMkIsbUJBQW1CLHVCQUF1QixHQUFHLFVBQVUsdU1BQXVNLE1BQU0sVUFBVSxLQUFLLEtBQUssV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLFdBQVcsVUFBVSxXQUFXLFVBQVUsVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFdBQVcsV0FBVyxVQUFVLFdBQVcsb01BQW9NLGlCQUFpQixLQUFLLGdCQUFnQixnVEFBZ1QsWUFBWSxtQkFBbUIsd0ZBQXdGLG1CQUFtQixzQkFBc0IseUZBQXlGLHNFQUFzRSxxQkFBcUIscUNBQXFDLGtCQUFrQixvQkFBb0IsMEJBQTBCLHFEQUFxRCx5QkFBeUIsNkhBQTZILDRHQUE0RywwQkFBMEIsNkdBQTZHLDBCQUEwQixpSEFBaUgsc0NBQXNDLEVBQUUsNkhBQTZILDRHQUE0RywwQkFBMEIsNkdBQTZHLDBCQUEwQixpSEFBaUgsc0NBQXNDLHlEQUF5RCx5Q0FBeUMsOElBQThJLFNBQVMsbUJBQW1CLHVCQUF1QiwyQ0FBMkMsYUFBYSxTQUFTLGtCQUFrQixtQkFBbUIsK0RBQStELGFBQWEsb0JBQW9CLCtEQUErRCxhQUFhLDRCQUE0QixpSUFBaUksNERBQTRELGFBQWEsU0FBUyxtQkFBbUIsZ0NBQWdDLFNBQVMseUZBQXlGLHVEQUF1RCxzQkFBc0IsU0FBUyxpQkFBaUIsaUNBQWlDLDhCQUE4Qiw2QkFBNkIsU0FBUyw2QkFBNkIsNkJBQTZCLFNBQVMsdUJBQXVCLGlDQUFpQyx1QkFBdUIsNkJBQTZCLDJCQUEyQix3QkFBd0IsMkJBQTJCLFNBQVMsd0JBQXdCLHVCQUF1QiwrQkFBK0IsaUNBQWlDLHlCQUF5Qiw2QkFBNkIsU0FBUyxtQ0FBbUM7O0FBRXpwSiIsImZpbGUiOiI2OTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG4uaW5wdXRTdHlsZVtkYXRhLXYtMmMxYTE3OTJde1xcbiAgICB3aWR0aDo1MCU7XFxufVxcbi5mb3JtRGl2W2RhdGEtdi0yYzFhMTc5Ml17XFxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcbiAgICBsaW5lLWhlaWdodDogNjBweDtcXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcXG59XFxuLnJhZGlvQ2hlY2tib3hTdHlsZVtkYXRhLXYtMmMxYTE3OTJdIHtcXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcXG59XFxuLmZvcm1EaXYtbGVmdFtkYXRhLXYtMmMxYTE3OTJdIHtcXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxuICAgIHdpZHRoOiAzNSU7XFxuICAgIHRleHQtYWxpZ246cmlnaHQ7XFxuICAgIGZvbnQtc2l6ZToxNXB4O1xcbiAgICBmbG9hdDogbGVmdDtcXG4gICAgbWFyZ2luOiAwIDEwcHg7XFxufVxcbi5mb3JtRGl2LXJpZ2h0W2RhdGEtdi0yYzFhMTc5Ml0ge1xcbiAgICB3aWR0aDogNjAlO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcbiAgICBmbG9hdDogcmlnaHQ7XFxuICAgIG1hcmdpbjogMTRweCAwcHg7XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJFOi9wcm9qZWN0L3BhZ2UtaWRlLXhpYW4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9zZWxlY3REb3VibGUvbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9zZWxlY3REb3VibGUvaW5kZXgudnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUF3R0E7SUFDQSxVQUFBO0NBQ0E7QUFDQTtJQUNBLHFCQUFBO0lBQ0Esa0JBQUE7SUFDQSxpQkFBQTtDQUNBO0FBQ0E7SUFDQSxpQkFBQTtDQUNBO0FBQ0E7SUFDQSxxQkFBQTtJQUNBLFdBQUE7SUFDQSxpQkFBQTtJQUNBLGVBQUE7SUFDQSxZQUFBO0lBQ0EsZUFBQTtDQUNBO0FBQ0E7SUFDQSxXQUFBO0lBQ0EsbUJBQUE7SUFDQSxxQkFBQTtJQUNBLGFBQUE7SUFDQSxpQkFBQTtDQUNBXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZXNDb250ZW50XCI6W1wiPHRlbXBsYXRlPlxcclxcbiAgPGRpdiBjbGFzcz1cXFwiZm9ybURpdlxcXCIgICBAbW91c2VlbnRlcj1cXFwic2hvd1xcXCIgQG1vdXNlbGVhdmU9XFxcImhpZGVcXFwiPlxcclxcbiAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm1EaXYtbGVmdFxcXCI+XFxyXFxuICAgICAgICAgIDxMYWJlbCA6c3R5bGU9XFxcInttYXJnaW5MZWZ0Oic1cHgnfVxcXCI+e3twcm9wZXJ0eS5sYWJlbH19PC9MYWJlbD5cXHJcXG4gICAgICA8L2Rpdj5cXHJcXG4gICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2LXJpZ2h0IHJhZGlvQ2hlY2tib3hTdHlsZVxcXCIgPlxcclxcbiAgICAgICAgICA8Q2FzY2FkZXIgIGNsYXNzPVxcXCJpbnB1dFN0eWxlXFxcIiA6ZGF0YT1cXFwiZGF0YVxcXCIgPjwvQ2FzY2FkZXI+XFxyXFxuICAgICAgPC9kaXY+XFxyXFxuICAgICAgPGNvbW1vbUhvdmVyTW9kYWwgcmVmPVxcXCJjb21tb21Ib3Zlck1vZGFsXFxcIiA+PC9jb21tb21Ib3Zlck1vZGFsPlxcclxcblxcclxcbiAgPC9kaXY+XFxyXFxuPC90ZW1wbGF0ZT5cXHJcXG5cXHJcXG48c2NyaXB0PlxcclxcbmltcG9ydCB7ZWRpdFNldHRpbmd9IGZyb20gJy4vcHJvcGVydHknO1xcclxcbmltcG9ydCBjb21tb21Ib3Zlck1vZGFsIGZyb20gJy4uLy4uL2NvbW1vbi9jb21tb21Ib3Zlck1vZGFsJ1xcclxcblxcclxcbmV4cG9ydCBkZWZhdWx0IHtcXHJcXG4gICAgLy8gcHJvcHM6IHtcXHJcXG4gICAgLy8gICAgIHRleHQ6IHtcXHJcXG4gICAgLy8gICAgICAgICB0eXBlOiBTdHJpbmcsXFxyXFxuICAgIC8vICAgICAgICAgZGVmYXVsdDogJ0J1dHRvbiBUZXh0J1xcclxcbiAgICAvLyAgICAgfSxcXHJcXG4gICAgLy8gICAgIHR5cGU6IFN0cmluZyxcXHJcXG4gICAgLy8gICAgIHN0eWxlczogT2JqZWN0XFxyXFxuICAgIC8vIH0sXFxyXFxuICAgIGNvbXBvbmVudHM6e1xcclxcbiAgICAgICAgY29tbW9tSG92ZXJNb2RhbFxcclxcbiAgICB9LFxcclxcbiAgICBkYXRhICgpIHtcXHJcXG4gICAgICAgIHJldHVybiB7XFxyXFxuICAgICAgICAgICAgcHJvcGVydHk6e1xcclxcbiAgICAgICAgICAgICAgICBsYWJlbCA6ICfnuqfogZTkuIvmi4nmoYYnLFxcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgZGF0YTogW3tcXHJcXG4gICAgICAgICAgICAgICAgdmFsdWU6ICdiZWlqaW5nJyxcXHJcXG4gICAgICAgICAgICAgICAgbGFiZWw6ICfljJfkuqwnLFxcclxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnZ3Vnb25nJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ+aVheWuqydcXHJcXG4gICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICd0aWFudGFuJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ+WkqeWdmydcXHJcXG4gICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICd3YW5nZnVqaW5nJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ+eOi+W6nOS6lSdcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgXVxcclxcbiAgICAgICAgICAgIH0se1xcclxcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ3RpYW5qaW4nLFxcclxcbiAgICAgICAgICAgICAgICBsYWJlbDogJ+Wkqea0pScsXFxyXFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdndWdvbmcnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAn5pWF5a6rJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ3RpYW50YW4nLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAn5aSp5Z2bJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ3dhbmdmdWppbmcnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAn546L5bqc5LqVJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICBdXFxyXFxuICAgICAgICAgICAgfV0sXFxyXFxuICAgICAgICAgICAgdGV4dDogJ2lucHV0JyxcXHJcXG4gICAgICAgICAgICBzdHlsZXM6IHtoZWlnaHQ6JzQwcHgnLHdpZHRoOic3MHB4JyxtYXJnaW46JzEwcHgnfSxcXHJcXG4gICAgICAgICAgICB0eXBlOiAnaW5wdXQnLFxcclxcbiAgICAgICAgICAgIHNpbmdsZTogdHJ1ZSxcXHJcXG4gICAgICAgICAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXFxyXFxuICAgICAgICAgICAgcmFkaW9BcnI6W11cXHJcXG4gICAgICAgIH07XFxyXFxuICAgIH0sXFxyXFxuICAgIGNvbXB1dGVkOntcXHJcXG4gICAgICAgIGdldExhYmVsKCl7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydHkubGFiZWw7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH0sXFxyXFxuICAgIG1ldGhvZHM6e1xcclxcbiAgICAgICAgc2hvdygpe1xcclxcbiAgICAgICAgICAgIHRoaXMuJHJlZnMuY29tbW9tSG92ZXJNb2RhbC5oYW5kbGVNb3VzZUVudGVyKCk7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgaGlkZSgpe1xcclxcbiAgICAgICAgICAgIHRoaXMuJHJlZnMuY29tbW9tSG92ZXJNb2RhbC5oYW5kbGVNb3VzZUxlYXZlKCk7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgaW5pdFRhYmxlQXJyKCl7XFxyXFxuICAgICAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZT0gdGhpcy4kc3RvcmUuc3RhdGUudmlld3BvcnQuaW5zdGFuY2VzLmdldCh0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcXHJcXG4gICAgICAgICAgICB0aGlzLnJhZGlvQXJyPWN1cnJlbnRJbnN0YW5jZS5kYXRhLnJhZGlvQXJyO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9LFxcclxcbiAgICBtb3VudGVkKCl7XFxyXFxuICAgICAgICB0aGlzLmluaXRUYWJsZUFycigpO1xcclxcbiAgICB9LFxcclxcbiAgICBlZGl0U2V0dGluZyxcXHJcXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxcclxcbiAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWxcXHJcXG59O1xcclxcbjwvc2NyaXB0PlxcclxcblxcclxcbjxzdHlsZSBzY29wZWQ+XFxyXFxuICAgIC5pbnB1dFN0eWxle1xcclxcbiAgICAgICAgd2lkdGg6NTAlO1xcclxcbiAgICB9XFxyXFxuICAgIC5mb3JtRGl2e1xcclxcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcXHJcXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XFxyXFxuICAgIH1cXHJcXG4gICAgLnJhZGlvQ2hlY2tib3hTdHlsZSB7XFxyXFxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xcclxcbiAgICB9XFxyXFxuICAgIC5mb3JtRGl2LWxlZnQge1xcclxcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgICAgICB3aWR0aDogMzUlO1xcclxcbiAgICAgICAgdGV4dC1hbGlnbjpyaWdodDtcXHJcXG4gICAgICAgIGZvbnQtc2l6ZToxNXB4O1xcclxcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XFxyXFxuICAgICAgICBtYXJnaW46IDAgMTBweDtcXHJcXG4gICAgfVxcclxcbiAgICAuZm9ybURpdi1yaWdodCB7XFxyXFxuICAgICAgICB3aWR0aDogNjAlO1xcclxcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xcclxcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgICAgICBmbG9hdDogcmlnaHQ7XFxyXFxuICAgICAgICBtYXJnaW46IDE0cHggMHB4O1xcclxcbiAgICB9XFxyXFxuPC9zdHlsZT5cXHJcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtMmMxYTE3OTJcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdERvdWJsZS9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDY5NFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///694\n");
4647
4648/***/ }),
4649/* 695 */
4650/***/ (function(module, exports, __webpack_require__) {
4651
4652"use strict";
4653eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = [{\n field: 'property.title',\n text: '级联下拉框',\n type: 'title'\n}, {\n field: 'property.prop',\n text: '属性名称',\n type: 'reqSelect',\n isShow: 'hide'\n}, {\n field: 'property.label',\n text: '标题',\n maxFont: '20',\n type: 'string'\n}, {\n field: 'property.busiId',\n text: '标题',\n isShow: 'hide',\n type: 'string'\n}, {\n field: 'extend.itemWidth',\n text: 'itemWidth',\n type: 'number',\n value: 320,\n isShow: 'hide'\n}, {\n field: 'property.items',\n text: '',\n isLevel: true,\n type: 'doubleSelect'\n}, {\n field: 'property.isLevel',\n text: '属性名称',\n type: 'boolean',\n value: true,\n isShow: 'hide'\n}, {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'validateInput'\n}];\n\nvar editors11 = ['属性(单选框)', {\n field: 'property.busiId',\n text: '标签',\n type: 'string',\n isShow: 'hide'\n}, '扩展属性', '内容子项', {\n field: 'property.itemsProp',\n text: '',\n type: 'select'\n}, '高级', {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'radioHeightLevel'\n}];\n_common.commonTool.assembleData(editors);\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-cascader',\n name: '级联下拉框',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdERvdWJsZS9wcm9wZXJ0eS5qcz83NTc3Il0sIm5hbWVzIjpbImVkaXRvcnMiLCJmaWVsZCIsInRleHQiLCJ0eXBlIiwiaXNTaG93IiwibWF4Rm9udCIsInZhbHVlIiwiaXNMZXZlbCIsImVkaXRvcnMxMSIsImNvbW1vblRvb2wiLCJhc3NlbWJsZURhdGEiLCJjb25zb2xlIiwibG9nIiwiZWRpdFNldHRpbmciLCJrZXkiLCJuYW1lIiwibGV2ZWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQTs7QUFLQSxJQUFJQSxVQUFTLENBQ1Q7QUFDSUMsV0FBTyxnQkFEWDtBQUVJQyxVQUFNLE9BRlY7QUFHSUMsVUFBTTtBQUhWLENBRFMsRUFNVDtBQUNJRixXQUFPLGVBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU0sV0FIVjtBQUlJQyxZQUFPO0FBSlgsQ0FOUyxFQVlUO0FBQ0lILFdBQU8sZ0JBRFg7QUFFSUMsVUFBTSxJQUZWO0FBR0lHLGFBQVEsSUFIWjtBQUlJRixVQUFNO0FBSlYsQ0FaUyxFQWtCVDtBQUNJRixXQUFPLGlCQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJRSxZQUFPLE1BSFg7QUFJSUQsVUFBTTtBQUpWLENBbEJTLEVBd0JUO0FBQ0lGLFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxXQUZWO0FBR0lDLFVBQU0sUUFIVjtBQUlJRyxXQUFPLEdBSlg7QUFLSUYsWUFBTztBQUxYLENBeEJTLEVBK0JUO0FBQ0lILFdBQU8sZ0JBRFg7QUFFSUMsVUFBTSxFQUZWO0FBR0lLLGFBQVEsSUFIWjtBQUlJSixVQUFNO0FBSlYsQ0EvQlMsRUFxQ1Q7QUFDSUYsV0FBTyxrQkFEWDtBQUVJQyxVQUFNLE1BRlY7QUFHSUMsVUFBTSxTQUhWO0FBSUlHLFdBQU0sSUFKVjtBQUtJRixZQUFPO0FBTFgsQ0FyQ1MsRUE0Q1Q7QUFDSUgsV0FBTyxrQkFEWDtBQUVJQyxVQUFNLE1BRlY7QUFHSUMsVUFBTTtBQUhWLENBNUNTLENBQWI7O0FBbURBLElBQUlLLFlBQVcsQ0FDWCxTQURXLEVBRVg7QUFDSVAsV0FBTyxpQkFEWDtBQUVJQyxVQUFNLElBRlY7QUFHSUMsVUFBTSxRQUhWO0FBSUlDLFlBQU87QUFKWCxDQUZXLEVBUVgsTUFSVyxFQVlYLE1BWlcsRUFrQlg7QUFDSUgsV0FBTyxvQkFEWDtBQUVJQyxVQUFNLEVBRlY7QUFHSUMsVUFBTTtBQUhWLENBbEJXLEVBdUJYLElBdkJXLEVBd0JYO0FBQ0lGLFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU07QUFIVixDQXhCVyxDQUFmO0FBOEJBTSxtQkFBV0MsWUFBWCxDQUF3QlYsT0FBeEI7QUFDQVcsUUFBUUMsR0FBUixDQUFZWixPQUFaO0FBQ08sSUFBTWEsb0NBQWM7QUFDdkJDLFNBQUssZUFEa0I7QUFFdkJDLFVBQU0sT0FGaUI7QUFHdkJDLFdBQU0sQ0FIaUI7QUFJdkJoQixhQUFRQTtBQUplLENBQXBCIiwiZmlsZSI6IjY5NS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAgTm90ZSDlt6XlhbfnsbtcclxuICovXHJcbmltcG9ydCB7Y29tbW9uVG9vbH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jb21tb25cIlxyXG4vKlxyXG5Ob3RlIOWumuS5ieiHquWumuS5ieWxnuaAp++8jOWFrOWFseWxnuaAp+S7jmNvbW1vbuaWh+S7tumHjOivu+WPllxyXG5hdXRob3Ig5Y+256ug5rWpXHJcbiAqL1xyXG5sZXQgZWRpdG9ycz0gW1xyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkudGl0bGUnLFxyXG4gICAgICAgIHRleHQ6ICfnuqfogZTkuIvmi4nmoYYnLFxyXG4gICAgICAgIHR5cGU6ICd0aXRsZSdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5wcm9wJyxcclxuICAgICAgICB0ZXh0OiAn5bGe5oCn5ZCN56ewJyxcclxuICAgICAgICB0eXBlOiAncmVxU2VsZWN0JyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmxhYmVsJyxcclxuICAgICAgICB0ZXh0OiAn5qCH6aKYJyxcclxuICAgICAgICBtYXhGb250OicyMCcsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5idXNpSWQnLFxyXG4gICAgICAgIHRleHQ6ICfmoIfpopgnLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZScsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdleHRlbmQuaXRlbVdpZHRoJyxcclxuICAgICAgICB0ZXh0OiAnaXRlbVdpZHRoJyxcclxuICAgICAgICB0eXBlOiAnbnVtYmVyJyxcclxuICAgICAgICB2YWx1ZTogMzIwLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZSdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5pdGVtcycsXHJcbiAgICAgICAgdGV4dDogJycsXHJcbiAgICAgICAgaXNMZXZlbDp0cnVlLFxyXG4gICAgICAgIHR5cGU6ICdkb3VibGVTZWxlY3QnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkuaXNMZXZlbCcsXHJcbiAgICAgICAgdGV4dDogJ+WxnuaAp+WQjeensCcsXHJcbiAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxyXG4gICAgICAgIHZhbHVlOnRydWUsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2RhdGEuaGVpZ2h0TGV2ZWwnLFxyXG4gICAgICAgIHRleHQ6ICfmmK/lkKbmmL7npLonLFxyXG4gICAgICAgIHR5cGU6ICd2YWxpZGF0ZUlucHV0J1xyXG4gICAgfVxyXG4gICAgXTtcclxuXHJcbmxldCBlZGl0b3JzMTE9IFtcclxuICAgICflsZ7mgKco5Y2V6YCJ5qGGKScsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5idXNpSWQnLFxyXG4gICAgICAgIHRleHQ6ICfmoIfnrb4nLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZSdcclxuICAgIH0sXHJcbiAgICAn5omp5bGV5bGe5oCnJyxcclxuXHJcbiAgIC8qICfmoKHpqozop4TliJknLFxyXG4gICAgJ+aJqeWxleagoemqjCcsKi9cclxuICAgICflhoXlrrnlrZDpobknLFxyXG4gICAvKiB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5pdGVtcycsXHJcbiAgICAgICAgdGV4dDogJycsXHJcbiAgICAgICAgdHlwZTogJ3JhZGlvQXJyJ1xyXG4gICAgfSwqL1xyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkuaXRlbXNQcm9wJyxcclxuICAgICAgICB0ZXh0OiAnJyxcclxuICAgICAgICB0eXBlOiAnc2VsZWN0J1xyXG4gICAgfSxcclxuICAgICfpq5jnuqcnLFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZGF0YS5oZWlnaHRMZXZlbCcsXHJcbiAgICAgICAgdGV4dDogJ+aYr+WQpuaYvuekuicsXHJcbiAgICAgICAgdHlwZTogJ3JhZGlvSGVpZ2h0TGV2ZWwnXHJcbiAgICB9LFxyXG5dO1xyXG5jb21tb25Ub29sLmFzc2VtYmxlRGF0YShlZGl0b3JzKTtcclxuY29uc29sZS5sb2coZWRpdG9ycyk7XHJcbmV4cG9ydCBjb25zdCBlZGl0U2V0dGluZyA9IHtcclxuICAgIGtleTogJ2dhZWEtY2FzY2FkZXInLFxyXG4gICAgbmFtZTogJ+e6p+iBlOS4i+aLieahhicsXHJcbiAgICBsZXZlbDo0LFxyXG4gICAgZWRpdG9yczplZGl0b3JzLFxyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdERvdWJsZS9wcm9wZXJ0eS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///695\n");
4654
4655/***/ }),
4656/* 696 */
4657/***/ (function(module, __webpack_exports__, __webpack_require__) {
4658
4659"use strict";
4660eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"formDiv\",\n on: { mouseenter: _vm.show, mouseleave: _vm.hide }\n },\n [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [\n _c(\"Label\", { style: { marginLeft: \"5px\" } }, [\n _vm._v(_vm._s(_vm.property.label))\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"formDiv-right radioCheckboxStyle\" },\n [\n _c(\"Cascader\", {\n staticClass: \"inputStyle\",\n attrs: { data: _vm.data }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"commomHoverModal\", { ref: \"commomHoverModal\" })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-2c1a1792\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdERvdWJsZS9pbmRleC52dWU/YWM3NCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxTQUFTLDhCQUE4QjtBQUN2QztBQUNBLHVCQUF1QixTQUFTLG9CQUFvQixFQUFFO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLGtEQUFrRDtBQUMzRDtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEIsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLDBCQUEwQjtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjY5Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7XG4gICAgICBzdGF0aWNDbGFzczogXCJmb3JtRGl2XCIsXG4gICAgICBvbjogeyBtb3VzZWVudGVyOiBfdm0uc2hvdywgbW91c2VsZWF2ZTogX3ZtLmhpZGUgfVxuICAgIH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiZGl2XCIsXG4gICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiZm9ybURpdi1sZWZ0XCIgfSxcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFwiTGFiZWxcIiwgeyBzdHlsZTogeyBtYXJnaW5MZWZ0OiBcIjVweFwiIH0gfSwgW1xuICAgICAgICAgICAgX3ZtLl92KF92bS5fcyhfdm0ucHJvcGVydHkubGFiZWwpKVxuICAgICAgICAgIF0pXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgICksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXG4gICAgICAgIFwiZGl2XCIsXG4gICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiZm9ybURpdi1yaWdodCByYWRpb0NoZWNrYm94U3R5bGVcIiB9LFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXCJDYXNjYWRlclwiLCB7XG4gICAgICAgICAgICBzdGF0aWNDbGFzczogXCJpbnB1dFN0eWxlXCIsXG4gICAgICAgICAgICBhdHRyczogeyBkYXRhOiBfdm0uZGF0YSB9XG4gICAgICAgICAgfSlcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfYyhcImNvbW1vbUhvdmVyTW9kYWxcIiwgeyByZWY6IFwiY29tbW9tSG92ZXJNb2RhbFwiIH0pXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTJjMWExNzkyXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTJjMWExNzkyXCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9zZWxlY3REb3VibGUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA2OTZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///696\n");
4661
4662/***/ }),
4663/* 697 */
4664/***/ (function(module, __webpack_exports__, __webpack_require__) {
4665
4666"use strict";
4667eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(183);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_11f6e524_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(701);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(698)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-11f6e524\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_11f6e524_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/selectLabel/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-11f6e524\", Component.options)\n } else {\n hotAPI.reload(\"data-v-11f6e524\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdExhYmVsL2luZGV4LnZ1ZT8zNWY4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBcVY7QUFDL1Y7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUF3RjtBQUN6SDtBQUN3STtBQUNhO0FBQ3JKO0FBQ21UO0FBQ25UO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxpUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjY5Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTExZjZlNTI0XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTExZjZlNTI0XFxcIixcXFwiaGFzU2NvcGVkXFxcIjp0cnVlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IFwiZGF0YS12LTExZjZlNTI0XCJcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvc2VsZWN0TGFiZWwvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTExZjZlNTI0XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtMTFmNmU1MjRcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdExhYmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNjk3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///697\n");
4668
4669/***/ }),
4670/* 698 */
4671/***/ (function(module, exports, __webpack_require__) {
4672
4673eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(699);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"51357e1c\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-11f6e524\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-11f6e524\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdExhYmVsL2luZGV4LnZ1ZT82ZmMxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQThXO0FBQ3BZLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBaUcsZ0NBQWdDO0FBQ3RKO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLG1NQUFtTSxrRkFBa0Y7QUFDclIsNE1BQTRNLGtGQUFrRjtBQUM5UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjY5OC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xMWY2ZTUyNFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCI1MTM1N2UxY1wiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMTFmNmU1MjRcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xMWY2ZTUyNFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTExZjZlNTI0XCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9zZWxlY3RMYWJlbC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDY5OFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///698\n");
4674
4675/***/ }),
4676/* 699 */
4677/***/ (function(module, exports, __webpack_require__) {
4678
4679eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formDiv[data-v-11f6e524]{\\n display: inline-block;\\n line-height: 60px;\\n text-align: left;\\n}\\n.selectStyle[data-v-11f6e524]{\\n width:50%;\\n}\\n.formDiv-left[data-v-11f6e524] {\\n display:inline-block;\\n width: 35%;\\n text-align:right;\\n font-size:15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.formDiv-right[data-v-11f6e524] {\\n width: 60%;\\n position: relative;\\n display:inline-block;\\n float: right;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/selectLabel/myPlugin/page-ide/lib/components/levelThree/selectLabel/index.vue\"],\"names\":[],\"mappings\":\";AAgDA;EACA,sBAAA;EACA,kBAAA;EACA,iBAAA;CACA;AACA;EACA,UAAA;CACA;AACA;EACA,qBAAA;EACA,WAAA;EACA,iBAAA;EACA,eAAA;EACA,YAAA;EACA,eAAA;CACA;AACA;EACA,WAAA;EACA,mBAAA;EACA,qBAAA;EACA,aAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formDiv\\\">\\r\\n <div class=\\\"formDiv-left\\\">\\r\\n <Label :style=\\\"{marginLeft:'5px'}\\\">{{getLabel}}</Label>\\r\\n </div>\\r\\n <div class=\\\"formDiv-right\\\">\\r\\n <Select v-model=\\\"model1\\\" class=\\\"selectStyle\\\">\\r\\n <!--<Option></Option>-->\\r\\n </Select>\\r\\n </div>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport {editSetting} from './property';\\r\\nexport default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n data () {\\r\\n return {\\r\\n property:{\\r\\n label : '下拉框',\\r\\n },\\r\\n text: 'input',\\r\\n styles: {height:'40px',width:'100px',margin:'10px'},\\r\\n type: 'input',\\r\\n model1:'',\\r\\n level: editSetting.level,\\r\\n };\\r\\n },\\r\\n computed:{\\r\\n getLabel(){\\r\\n return this.property.label;\\r\\n }\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .formDiv{\\r\\n display: inline-block;\\r\\n line-height: 60px;\\r\\n text-align: left;\\r\\n }\\r\\n .selectStyle{\\r\\n width:50%;\\r\\n }\\r\\n .formDiv-left {\\r\\n display:inline-block;\\r\\n width: 35%;\\r\\n text-align:right;\\r\\n font-size:15px;\\r\\n float: left;\\r\\n margin: 0 10px;\\r\\n }\\r\\n .formDiv-right {\\r\\n width: 60%;\\r\\n position: relative;\\r\\n display:inline-block;\\r\\n float: right;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdExhYmVsL2luZGV4LnZ1ZT9mNTM5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQStFO0FBQ2xIOzs7QUFHQTtBQUNBLGNBQWMsUUFBUywrQkFBK0IsMEJBQTBCLHNCQUFzQixxQkFBcUIsR0FBRyxnQ0FBZ0MsY0FBYyxHQUFHLGtDQUFrQyx5QkFBeUIsZUFBZSxxQkFBcUIsbUJBQW1CLGdCQUFnQixtQkFBbUIsR0FBRyxtQ0FBbUMsZUFBZSx1QkFBdUIseUJBQXlCLGlCQUFpQixHQUFHLFVBQVUscU1BQXFNLE1BQU0sV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFdBQVcsVUFBVSxXQUFXLFVBQVUsVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFdBQVcsV0FBVyxVQUFVLGtKQUFrSixpQkFBaUIsS0FBSyxVQUFVLGdQQUFnUCxZQUFZLG1CQUFtQixvQkFBb0IsbUJBQW1CLHNCQUFzQix5RkFBeUYsc0VBQXNFLGtCQUFrQixvQkFBb0IsMEJBQTBCLG1EQUFtRCx3REFBd0QsMENBQTBDLGdIQUFnSCxTQUFTLG1CQUFtQix1QkFBdUIsMkNBQTJDLGFBQWEsU0FBUyx5RkFBeUYsbURBQW1ELCtCQUErQiwyQkFBMkIsMEJBQTBCLFFBQVEsb0JBQW9CLG1CQUFtQixRQUFRLHNCQUFzQiw4QkFBOEIsb0JBQW9CLDBCQUEwQix3QkFBd0IscUJBQXFCLHdCQUF3QixRQUFRLHVCQUF1QixvQkFBb0IsNEJBQTRCLDhCQUE4QixzQkFBc0IsUUFBUSxtQ0FBbUM7O0FBRXJnRiIsImZpbGUiOiI2OTkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG4uZm9ybURpdltkYXRhLXYtMTFmNmU1MjRde1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgbGluZS1oZWlnaHQ6IDYwcHg7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG4uc2VsZWN0U3R5bGVbZGF0YS12LTExZjZlNTI0XXtcXG4gIHdpZHRoOjUwJTtcXG59XFxuLmZvcm1EaXYtbGVmdFtkYXRhLXYtMTFmNmU1MjRdIHtcXG4gIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcbiAgd2lkdGg6IDM1JTtcXG4gIHRleHQtYWxpZ246cmlnaHQ7XFxuICBmb250LXNpemU6MTVweDtcXG4gIGZsb2F0OiBsZWZ0O1xcbiAgbWFyZ2luOiAwIDEwcHg7XFxufVxcbi5mb3JtRGl2LXJpZ2h0W2RhdGEtdi0xMWY2ZTUyNF0ge1xcbiAgd2lkdGg6IDYwJTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcbiAgZmxvYXQ6IHJpZ2h0O1xcbn1cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wiRTovcHJvamVjdC9wYWdlLWlkZS14aWFuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvc2VsZWN0TGFiZWwvbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9zZWxlY3RMYWJlbC9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQWdEQTtFQUNBLHNCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtDQUNBO0FBQ0E7RUFDQSxVQUFBO0NBQ0E7QUFDQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0NBQ0E7QUFDQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTtFQUNBLHFCQUFBO0VBQ0EsYUFBQTtDQUNBXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZXNDb250ZW50XCI6W1wiPHRlbXBsYXRlPlxcclxcbiAgPGRpdiBjbGFzcz1cXFwiZm9ybURpdlxcXCI+XFxyXFxuICAgIDxkaXYgY2xhc3M9XFxcImZvcm1EaXYtbGVmdFxcXCI+XFxyXFxuICAgICAgPExhYmVsIDpzdHlsZT1cXFwie21hcmdpbkxlZnQ6JzVweCd9XFxcIj57e2dldExhYmVsfX08L0xhYmVsPlxcclxcbiAgICA8L2Rpdj5cXHJcXG4gICAgPGRpdiBjbGFzcz1cXFwiZm9ybURpdi1yaWdodFxcXCI+XFxyXFxuICAgICAgPFNlbGVjdCB2LW1vZGVsPVxcXCJtb2RlbDFcXFwiIGNsYXNzPVxcXCJzZWxlY3RTdHlsZVxcXCI+XFxyXFxuICAgICAgPCEtLTxPcHRpb24+PC9PcHRpb24+LS0+XFxyXFxuICAgICAgPC9TZWxlY3Q+XFxyXFxuICAgIDwvZGl2PlxcclxcbiAgPC9kaXY+XFxyXFxuPC90ZW1wbGF0ZT5cXHJcXG5cXHJcXG48c2NyaXB0PlxcclxcbmltcG9ydCB7ZWRpdFNldHRpbmd9IGZyb20gJy4vcHJvcGVydHknO1xcclxcbmV4cG9ydCBkZWZhdWx0IHtcXHJcXG4gICAgLy8gcHJvcHM6IHtcXHJcXG4gICAgLy8gICAgIHRleHQ6IHtcXHJcXG4gICAgLy8gICAgICAgICB0eXBlOiBTdHJpbmcsXFxyXFxuICAgIC8vICAgICAgICAgZGVmYXVsdDogJ0J1dHRvbiBUZXh0J1xcclxcbiAgICAvLyAgICAgfSxcXHJcXG4gICAgLy8gICAgIHR5cGU6IFN0cmluZyxcXHJcXG4gICAgLy8gICAgIHN0eWxlczogT2JqZWN0XFxyXFxuICAgIC8vIH0sXFxyXFxuICAgIGRhdGEgKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHtcXHJcXG4gICAgICAgICAgICBwcm9wZXJ0eTp7XFxyXFxuICAgICAgICAgICAgICAgIGxhYmVsIDogJ+S4i+aLieahhicsXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICB0ZXh0OiAnaW5wdXQnLFxcclxcbiAgICAgICAgICAgIHN0eWxlczoge2hlaWdodDonNDBweCcsd2lkdGg6JzEwMHB4JyxtYXJnaW46JzEwcHgnfSxcXHJcXG4gICAgICAgICAgICB0eXBlOiAnaW5wdXQnLFxcclxcbiAgICAgICAgICAgIG1vZGVsMTonJyxcXHJcXG4gICAgICAgICAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXFxyXFxuICAgICAgICB9O1xcclxcbiAgICB9LFxcclxcbiAgICBjb21wdXRlZDp7XFxyXFxuICAgICAgICBnZXRMYWJlbCgpe1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnByb3BlcnR5LmxhYmVsO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9LFxcclxcbiAgICBlZGl0U2V0dGluZyxcXHJcXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxcclxcbiAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWxcXHJcXG59O1xcclxcbjwvc2NyaXB0PlxcclxcblxcclxcbjxzdHlsZSBzY29wZWQ+XFxyXFxuICAgLmZvcm1EaXZ7XFxyXFxuICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxyXFxuICAgICBsaW5lLWhlaWdodDogNjBweDtcXHJcXG4gICAgIHRleHQtYWxpZ246IGxlZnQ7XFxyXFxuICAgfVxcclxcbiAgIC5zZWxlY3RTdHlsZXtcXHJcXG4gICAgIHdpZHRoOjUwJTtcXHJcXG4gICB9XFxyXFxuICAgLmZvcm1EaXYtbGVmdCB7XFxyXFxuICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXHJcXG4gICAgIHdpZHRoOiAzNSU7XFxyXFxuICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xcclxcbiAgICAgZm9udC1zaXplOjE1cHg7XFxyXFxuICAgICBmbG9hdDogbGVmdDtcXHJcXG4gICAgIG1hcmdpbjogMCAxMHB4O1xcclxcbiAgIH1cXHJcXG4gICAuZm9ybURpdi1yaWdodCB7XFxyXFxuICAgICB3aWR0aDogNjAlO1xcclxcbiAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xcclxcbiAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgICBmbG9hdDogcmlnaHQ7XFxyXFxuICAgfVxcclxcbjwvc3R5bGU+XFxyXFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTExZjZlNTI0XCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9zZWxlY3RMYWJlbC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDY5OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///699\n");
4680
4681/***/ }),
4682/* 700 */
4683/***/ (function(module, exports, __webpack_require__) {
4684
4685"use strict";
4686eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = ['属性(下拉框标签)', {\n field: 'property.busiId',\n text: '标签',\n type: 'string',\n isShow: 'hide'\n}, '扩展属性', {\n field: 'extend.placeholder',\n text: '占位符(默认展示值)',\n type: 'string'\n}, {\n field: 'extend.itemWidth',\n text: 'itemWidth',\n type: 'number',\n value: 320,\n isShow: 'hide'\n}, '内容子项', {\n field: 'property.itemsProp',\n text: '',\n type: 'select'\n}, '高级', {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'selectHeightLevel'\n}];\n_common.commonTool.assembleData(editors);\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-selectLabel',\n name: '下拉框标签',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdExhYmVsL3Byb3BlcnR5LmpzPzYyZDkiXSwibmFtZXMiOlsiZWRpdG9ycyIsImZpZWxkIiwidGV4dCIsInR5cGUiLCJpc1Nob3ciLCJ2YWx1ZSIsImNvbW1vblRvb2wiLCJhc3NlbWJsZURhdGEiLCJjb25zb2xlIiwibG9nIiwiZWRpdFNldHRpbmciLCJrZXkiLCJuYW1lIiwibGV2ZWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQTs7QUFLQSxJQUFJQSxVQUFTLENBQ1QsV0FEUyxFQUVUO0FBQ0lDLFdBQU8saUJBRFg7QUFFSUMsVUFBTSxJQUZWO0FBR0lDLFVBQU0sUUFIVjtBQUlJQyxZQUFPO0FBSlgsQ0FGUyxFQVFULE1BUlMsRUFTVDtBQUNJSCxXQUFPLG9CQURYO0FBRUlDLFVBQU0sWUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0FUUyxFQWNUO0FBQ0lGLFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxXQUZWO0FBR0lDLFVBQU0sUUFIVjtBQUlJRSxXQUFPLEdBSlg7QUFLSUQsWUFBTztBQUxYLENBZFMsRUFzQlQsTUF0QlMsRUF1QlQ7QUFDSUgsV0FBTyxvQkFEWDtBQUVJQyxVQUFNLEVBRlY7QUFHSUMsVUFBTTtBQUhWLENBdkJTLEVBOEJULElBOUJTLEVBK0JUO0FBQ0lGLFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU07QUFIVixDQS9CUyxDQUFiO0FBc0VBRyxtQkFBV0MsWUFBWCxDQUF3QlAsT0FBeEI7QUFDQVEsUUFBUUMsR0FBUixDQUFZVCxPQUFaO0FBQ08sSUFBTVUsb0NBQWM7QUFDdkJDLFNBQUssa0JBRGtCO0FBRXZCQyxVQUFNLE9BRmlCO0FBR3ZCQyxXQUFNLENBSGlCO0FBSXZCYixhQUFRQTtBQUplLENBQXBCIiwiZmlsZSI6IjcwMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAgTm90ZSDlt6XlhbfnsbtcclxuICovXHJcbmltcG9ydCB7Y29tbW9uVG9vbH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jb21tb25cIlxyXG4vKlxyXG5Ob3RlIOWumuS5ieiHquWumuS5ieWxnuaAp++8jOWFrOWFseWxnuaAp+S7jmNvbW1vbuaWh+S7tumHjOivu+WPllxyXG5hdXRob3Ig5Y+256ug5rWpXHJcbiAqL1xyXG5sZXQgZWRpdG9ycz0gW1xyXG4gICAgJ+WxnuaApyjkuIvmi4nmoYbmoIfnrb4pJyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmJ1c2lJZCcsXHJcbiAgICAgICAgdGV4dDogJ+agh+etvicsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJ1xyXG4gICAgfSxcclxuICAgICfmianlsZXlsZ7mgKcnLFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLnBsYWNlaG9sZGVyJyxcclxuICAgICAgICB0ZXh0OiAn5Y2g5L2N56ym77yI6buY6K6k5bGV56S65YC877yJJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5pdGVtV2lkdGgnLFxyXG4gICAgICAgIHRleHQ6ICdpdGVtV2lkdGgnLFxyXG4gICAgICAgIHR5cGU6ICdudW1iZXInLFxyXG4gICAgICAgIHZhbHVlOiAzMjAsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJ1xyXG4gICAgfSxcclxuXHJcbiAgICAn5YaF5a655a2Q6aG5JyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5Lml0ZW1zUHJvcCcsXHJcbiAgICAgICAgdGV4dDogJycsXHJcbiAgICAgICAgdHlwZTogJ3NlbGVjdCdcclxuICAgIH0sXHJcbiAgIC8qICfmoKHpqozop4TliJknLFxyXG4gICAgJ+aJqeWxleagoemqjCcsKi9cclxuICAgICfpq5jnuqcnLFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZGF0YS5oZWlnaHRMZXZlbCcsXHJcbiAgICAgICAgdGV4dDogJ+aYr+WQpuaYvuekuicsXHJcbiAgICAgICAgdHlwZTogJ3NlbGVjdEhlaWdodExldmVsJ1xyXG4gICAgfSxcclxuIC8qICAgJ+agoemqjCcsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdleHRlbmQudmFsaWRhdGUnLFxyXG4gICAgICAgIHRleHQ6ICcnLFxyXG4gICAgICAgIHR5cGU6ICd2YWxpZGF0ZUFycidcclxuICAgIH0sXHJcbiAgICAn6LCD55So6L+c56iL5Zyw5Z2AJyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmR5bmFtaWMubGFiZWwnLFxyXG4gICAgICAgIHRleHQ6ICfplK7lgLzlr7ktbGFiZWwnLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkuZHluYW1pYy52YWx1ZScsXHJcbiAgICAgICAgdGV4dDogJ+mUruWAvOWvuS12YWx1ZScsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5keW5hbWljLnVybCcsXHJcbiAgICAgICAgdGV4dDogJ+ivt+axguWGheWuuXVybCcsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5keW5hbWljLnBhcmFtcycsXHJcbiAgICAgICAgdGV4dDogJ+ivt+axguWGheWuuXBhcmFtcycsXHJcbiAgICAgICAgdHlwZTogJ2R5bmFtaWMnXHJcbiAgICB9LFxyXG4gICAgICfogZTliqgnLFxyXG4gICAgIHtcclxuICAgICAgICAgZmllbGQ6ICdleHRlbmQubGlua2FnZUNoYW5nZVZhbHVlJyxcclxuICAgICAgICAgdGV4dDogJycsXHJcbiAgICAgICAgIHR5cGU6ICdsaW5rYWdlQ2hhbmdlVmFsdWUnXHJcbiAgICAgfSovXHJcbl07XHJcbmNvbW1vblRvb2wuYXNzZW1ibGVEYXRhKGVkaXRvcnMpO1xyXG5jb25zb2xlLmxvZyhlZGl0b3JzKTtcclxuZXhwb3J0IGNvbnN0IGVkaXRTZXR0aW5nID0ge1xyXG4gICAga2V5OiAnZ2FlYS1zZWxlY3RMYWJlbCcsXHJcbiAgICBuYW1lOiAn5LiL5ouJ5qGG5qCH562+JyxcclxuICAgIGxldmVsOjQsXHJcbiAgICBlZGl0b3JzOmVkaXRvcnMsXHJcbn07XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvc2VsZWN0TGFiZWwvcHJvcGVydHkuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///700\n");
4687
4688/***/ }),
4689/* 701 */
4690/***/ (function(module, __webpack_exports__, __webpack_require__) {
4691
4692"use strict";
4693eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"formDiv\" }, [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [\n _c(\"Label\", { style: { marginLeft: \"5px\" } }, [\n _vm._v(_vm._s(_vm.getLabel))\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"formDiv-right\" },\n [\n _c(\"Select\", {\n staticClass: \"selectStyle\",\n model: {\n value: _vm.model1,\n callback: function($$v) {\n _vm.model1 = $$v\n },\n expression: \"model1\"\n }\n })\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-11f6e524\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdExhYmVsL2luZGV4LnZ1ZT9kNWJkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLHlCQUF5QjtBQUM3QztBQUNBO0FBQ0EsT0FBTyw4QkFBOEI7QUFDckM7QUFDQSxxQkFBcUIsU0FBUyxvQkFBb0IsRUFBRTtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTywrQkFBK0I7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNzAxLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXZcIiB9LCBbXG4gICAgX2MoXG4gICAgICBcImRpdlwiLFxuICAgICAgeyBzdGF0aWNDbGFzczogXCJmb3JtRGl2LWxlZnRcIiB9LFxuICAgICAgW1xuICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3R5bGU6IHsgbWFyZ2luTGVmdDogXCI1cHhcIiB9IH0sIFtcbiAgICAgICAgICBfdm0uX3YoX3ZtLl9zKF92bS5nZXRMYWJlbCkpXG4gICAgICAgIF0pXG4gICAgICBdLFxuICAgICAgMVxuICAgICksXG4gICAgX3ZtLl92KFwiIFwiKSxcbiAgICBfYyhcbiAgICAgIFwiZGl2XCIsXG4gICAgICB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXYtcmlnaHRcIiB9LFxuICAgICAgW1xuICAgICAgICBfYyhcIlNlbGVjdFwiLCB7XG4gICAgICAgICAgc3RhdGljQ2xhc3M6IFwic2VsZWN0U3R5bGVcIixcbiAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgdmFsdWU6IF92bS5tb2RlbDEsXG4gICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgIF92bS5tb2RlbDEgPSAkJHZcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBleHByZXNzaW9uOiBcIm1vZGVsMVwiXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgXSxcbiAgICAgIDFcbiAgICApXG4gIF0pXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi0xMWY2ZTUyNFwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi0xMWY2ZTUyNFwiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvc2VsZWN0TGFiZWwvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3MDFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///701\n");
4694
4695/***/ }),
4696/* 702 */
4697/***/ (function(module, __webpack_exports__, __webpack_require__) {
4698
4699"use strict";
4700eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(184);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_ffca2040_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(706);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(703)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-ffca2040\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_ffca2040_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/selectLink/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-ffca2040\", Component.options)\n } else {\n hotAPI.reload(\"data-v-ffca2040\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdExpbmsvaW5kZXgudnVlPzY4ODEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFxVjtBQUMvVjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXdGO0FBQ3pIO0FBQ3dJO0FBQ2E7QUFDcko7QUFDbVQ7QUFDblQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGlRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNzAyLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZmZjYTIwNDBcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZmZjYTIwNDBcXFwiLFxcXCJoYXNTY29wZWRcXFwiOnRydWUsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gXCJkYXRhLXYtZmZjYTIwNDBcIlxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9zZWxlY3RMaW5rL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi1mZmNhMjA0MFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LWZmY2EyMDQwXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9zZWxlY3RMaW5rL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzAyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///702\n");
4701
4702/***/ }),
4703/* 703 */
4704/***/ (function(module, exports, __webpack_require__) {
4705
4706eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(704);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"89edb010\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-ffca2040\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-ffca2040\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdExpbmsvaW5kZXgudnVlPzMzNjUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBOFc7QUFDcFksNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUFpRyxnQ0FBZ0M7QUFDdEo7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsbU1BQW1NLGtGQUFrRjtBQUNyUiw0TUFBNE0sa0ZBQWtGO0FBQzlSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNzAzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWZmY2EyMDQwXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjg5ZWRiMDEwXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1mZmNhMjA0MFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWZmY2EyMDQwXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtZmZjYTIwNDBcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdExpbmsvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3MDNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///703\n");
4707
4708/***/ }),
4709/* 704 */
4710/***/ (function(module, exports, __webpack_require__) {
4711
4712eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formDiv[data-v-ffca2040]{\\n display:inline-block;\\n line-height: 60px;\\n text-align: left;\\n}\\n.selectStyle[data-v-ffca2040]{\\n width:50%;\\n}\\n.formDiv-left[data-v-ffca2040] {\\n display:inline-block;\\n width: 35%;\\n text-align:right;\\n font-size:15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.formDiv-right[data-v-ffca2040] {\\n width: 60%;\\n position: relative;\\n display:inline-block;\\n float: right;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/selectLink/myPlugin/page-ide/lib/components/levelThree/selectLink/index.vue\"],\"names\":[],\"mappings\":\";AAmIA;EACA,qBAAA;EACA,kBAAA;EACA,iBAAA;CACA;AACA;EACA,UAAA;CACA;AACA;EACA,qBAAA;EACA,WAAA;EACA,iBAAA;EACA,eAAA;EACA,YAAA;EACA,eAAA;CACA;AACA;EACA,WAAA;EACA,mBAAA;EACA,qBAAA;EACA,aAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formDiv\\\">\\r\\n <div class=\\\"formDiv-left\\\">\\r\\n <Label :style=\\\"{marginLeft:'5px'}\\\">{{getLabel}}</Label>\\r\\n </div>\\r\\n <div class=\\\"formDiv-right\\\">\\r\\n <Select class=\\\"selectStyle\\\" clearable>\\r\\n <Option v-for=\\\"(item,index) in selectData\\\" clearable :key=\\\"index\\\" :value=\\\"item.value\\\">\\r\\n {{item.label}}\\r\\n </Option>\\r\\n </Select>\\r\\n </div>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport {editSetting} from './property';\\r\\nexport default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n computed:{\\r\\n getLabel(){\\r\\n return this.property.label;\\r\\n }\\r\\n },\\r\\n\\r\\n data () {\\r\\n return {\\r\\n selectData: [\\r\\n {\\r\\n value: '高新区',\\r\\n label: \\\"高新区\\\"\\r\\n },\\r\\n {\\r\\n value: '碑林区',\\r\\n label: \\\"碑林区\\\"\\r\\n },\\r\\n {\\r\\n value: '经开区',\\r\\n label: \\\"经开区\\\"\\r\\n },\\r\\n {\\r\\n value: '莲湖区',\\r\\n label: \\\"莲湖区\\\"\\r\\n },\\r\\n {\\r\\n value: '曲江新区',\\r\\n label: \\\"曲江新区\\\"\\r\\n },\\r\\n {\\r\\n value: '雁塔区',\\r\\n label: \\\"雁塔区\\\"\\r\\n },\\r\\n {\\r\\n value: '浐灞生态区',\\r\\n label: \\\"浐灞生态区\\\"\\r\\n },\\r\\n {\\r\\n value: '灞桥区',\\r\\n label: \\\"灞桥区\\\"\\r\\n },\\r\\n {\\r\\n value: '航空基地',\\r\\n label: \\\"航空基地\\\"\\r\\n },\\r\\n {\\r\\n value: '未央区',\\r\\n label: \\\"未央区\\\"\\r\\n },\\r\\n {\\r\\n value: '航天基地',\\r\\n label: \\\"航天基地\\\"\\r\\n },\\r\\n {\\r\\n value: '阎良区',\\r\\n label: \\\"阎良区\\\"\\r\\n },\\r\\n {\\r\\n value: '国际港务区',\\r\\n label: \\\"国际港务区\\\"\\r\\n },\\r\\n {\\r\\n value: '临潼区',\\r\\n label: \\\"临潼区\\\"\\r\\n },\\r\\n {\\r\\n value: '长安区',\\r\\n label: \\\"长安区\\\"\\r\\n },\\r\\n {\\r\\n value: '高陵区',\\r\\n label: \\\"高陵区\\\"\\r\\n },\\r\\n {\\r\\n value: '鄠邑区',\\r\\n label: \\\"鄠邑区\\\"\\r\\n },\\r\\n {\\r\\n value: '蓝田县',\\r\\n label: \\\"蓝田县\\\"\\r\\n },\\r\\n {\\r\\n value: '周至县',\\r\\n label: \\\"周至县\\\"\\r\\n },\\r\\n {\\r\\n value: '西安市本级',\\r\\n label: \\\"西安市本级\\\"\\r\\n },\\r\\n ],\\r\\n property:{\\r\\n label : '标签',\\r\\n },\\r\\n text: 'input',\\r\\n type: 'input',\\r\\n level: editSetting.level\\r\\n };\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .formDiv{\\r\\n display:inline-block;\\r\\n line-height: 60px;\\r\\n text-align: left;\\r\\n }\\r\\n .selectStyle{\\r\\n width:50%;\\r\\n }\\r\\n .formDiv-left {\\r\\n display:inline-block;\\r\\n width: 35%;\\r\\n text-align:right;\\r\\n font-size:15px;\\r\\n float: left;\\r\\n margin: 0 10px;\\r\\n }\\r\\n .formDiv-right {\\r\\n width: 60%;\\r\\n position: relative;\\r\\n display:inline-block;\\r\\n float: right;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdExpbmsvaW5kZXgudnVlPzVmY2QiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBK0U7QUFDbEg7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLCtCQUErQix5QkFBeUIsc0JBQXNCLHFCQUFxQixHQUFHLGdDQUFnQyxjQUFjLEdBQUcsa0NBQWtDLHlCQUF5QixlQUFlLHFCQUFxQixtQkFBbUIsZ0JBQWdCLG1CQUFtQixHQUFHLG1DQUFtQyxlQUFlLHVCQUF1Qix5QkFBeUIsaUJBQWlCLEdBQUcsVUFBVSxtTUFBbU0sTUFBTSxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssV0FBVyxVQUFVLFdBQVcsVUFBVSxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsV0FBVyxXQUFXLFVBQVUsa0pBQWtKLGlCQUFpQixLQUFLLFVBQVUscU9BQXFPLFlBQVksNkdBQTZHLFlBQVksbUJBQW1CLG9CQUFvQixtQkFBbUIsc0JBQXNCLHlGQUF5RixzRUFBc0UsbUJBQW1CLHNCQUFzQix3Q0FBd0MsYUFBYSxTQUFTLHNCQUFzQixvQkFBb0Isa0RBQWtELGdHQUFnRyxzQkFBc0IsZ0dBQWdHLHNCQUFzQixnR0FBZ0csc0JBQXNCLGdHQUFnRyxzQkFBc0Isa0dBQWtHLHNCQUFzQixnR0FBZ0csc0JBQXNCLG9HQUFvRyxzQkFBc0IsZ0dBQWdHLHNCQUFzQixrR0FBa0csc0JBQXNCLGdHQUFnRyxzQkFBc0Isa0dBQWtHLHNCQUFzQixnR0FBZ0csc0JBQXNCLG9HQUFvRyxzQkFBc0IsZ0dBQWdHLHNCQUFzQixnR0FBZ0csc0JBQXNCLGdHQUFnRyxzQkFBc0IsZ0dBQWdHLHNCQUFzQixnR0FBZ0csc0JBQXNCLGdHQUFnRyxzQkFBc0Isb0dBQW9HLDZDQUE2QyxrREFBa0QsbUhBQW1ILFNBQVMseUZBQXlGLGtEQUFrRCw2QkFBNkIsMEJBQTBCLHlCQUF5QixPQUFPLG1CQUFtQixrQkFBa0IsT0FBTyxxQkFBcUIsNkJBQTZCLG1CQUFtQix5QkFBeUIsdUJBQXVCLG9CQUFvQix1QkFBdUIsT0FBTyxzQkFBc0IsbUJBQW1CLDJCQUEyQiw2QkFBNkIscUJBQXFCLE9BQU8sbUNBQW1DOztBQUVsM0oiLCJmaWxlIjoiNzA0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLmZvcm1EaXZbZGF0YS12LWZmY2EyMDQwXXtcXG4gIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcbiAgbGluZS1oZWlnaHQ6IDYwcHg7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG4uc2VsZWN0U3R5bGVbZGF0YS12LWZmY2EyMDQwXXtcXG4gIHdpZHRoOjUwJTtcXG59XFxuLmZvcm1EaXYtbGVmdFtkYXRhLXYtZmZjYTIwNDBdIHtcXG4gIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcbiAgd2lkdGg6IDM1JTtcXG4gIHRleHQtYWxpZ246cmlnaHQ7XFxuICBmb250LXNpemU6MTVweDtcXG4gIGZsb2F0OiBsZWZ0O1xcbiAgbWFyZ2luOiAwIDEwcHg7XFxufVxcbi5mb3JtRGl2LXJpZ2h0W2RhdGEtdi1mZmNhMjA0MF0ge1xcbiAgd2lkdGg6IDYwJTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcbiAgZmxvYXQ6IHJpZ2h0O1xcbn1cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wiRTovcHJvamVjdC9wYWdlLWlkZS14aWFuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvc2VsZWN0TGluay9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdExpbmsvaW5kZXgudnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUFtSUE7RUFDQSxxQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7Q0FDQTtBQUNBO0VBQ0EsVUFBQTtDQUNBO0FBQ0E7RUFDQSxxQkFBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtDQUNBO0FBQ0E7RUFDQSxXQUFBO0VBQ0EsbUJBQUE7RUFDQSxxQkFBQTtFQUNBLGFBQUE7Q0FDQVwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjx0ZW1wbGF0ZT5cXHJcXG4gIDxkaXYgY2xhc3M9XFxcImZvcm1EaXZcXFwiPlxcclxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2LWxlZnRcXFwiPlxcclxcbiAgICAgIDxMYWJlbCA6c3R5bGU9XFxcInttYXJnaW5MZWZ0Oic1cHgnfVxcXCI+e3tnZXRMYWJlbH19PC9MYWJlbD5cXHJcXG4gICAgPC9kaXY+XFxyXFxuICAgIDxkaXYgY2xhc3M9XFxcImZvcm1EaXYtcmlnaHRcXFwiPlxcclxcbiAgICAgIDxTZWxlY3QgY2xhc3M9XFxcInNlbGVjdFN0eWxlXFxcIiBjbGVhcmFibGU+XFxyXFxuICAgICAgICA8T3B0aW9uIHYtZm9yPVxcXCIoaXRlbSxpbmRleCkgaW4gc2VsZWN0RGF0YVxcXCIgY2xlYXJhYmxlIDprZXk9XFxcImluZGV4XFxcIiA6dmFsdWU9XFxcIml0ZW0udmFsdWVcXFwiPlxcclxcbiAgICAgICAgICB7e2l0ZW0ubGFiZWx9fVxcclxcbiAgICAgICAgPC9PcHRpb24+XFxyXFxuICAgICAgPC9TZWxlY3Q+XFxyXFxuICAgIDwvZGl2PlxcclxcbiAgPC9kaXY+XFxyXFxuPC90ZW1wbGF0ZT5cXHJcXG5cXHJcXG48c2NyaXB0PlxcclxcbmltcG9ydCB7ZWRpdFNldHRpbmd9IGZyb20gJy4vcHJvcGVydHknO1xcclxcbmV4cG9ydCBkZWZhdWx0IHtcXHJcXG4gICAgLy8gcHJvcHM6IHtcXHJcXG4gICAgLy8gICAgIHRleHQ6IHtcXHJcXG4gICAgLy8gICAgICAgICB0eXBlOiBTdHJpbmcsXFxyXFxuICAgIC8vICAgICAgICAgZGVmYXVsdDogJ0J1dHRvbiBUZXh0J1xcclxcbiAgICAvLyAgICAgfSxcXHJcXG4gICAgLy8gICAgIHR5cGU6IFN0cmluZyxcXHJcXG4gICAgLy8gICAgIHN0eWxlczogT2JqZWN0XFxyXFxuICAgIC8vIH0sXFxyXFxuICAgIGNvbXB1dGVkOntcXHJcXG4gICAgICAgZ2V0TGFiZWwoKXtcXHJcXG4gICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0eS5sYWJlbDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfSxcXHJcXG5cXHJcXG4gICAgZGF0YSAoKSB7XFxyXFxuICAgICAgICByZXR1cm4ge1xcclxcbiAgICAgICAgICAgIHNlbGVjdERhdGE6IFtcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfpq5jmlrDljLonLFxcclxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFxcXCLpq5jmlrDljLpcXFwiXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn56KR5p6X5Yy6JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcXFwi56KR5p6X5Yy6XFxcIlxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+e7j+W8gOWMuicsXFxyXFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXFxcIue7j+W8gOWMulxcXCJcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfojrLmuZbljLonLFxcclxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFxcXCLojrLmuZbljLpcXFwiXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn5puy5rGf5paw5Yy6JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcXFwi5puy5rGf5paw5Yy6XFxcIlxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+mbgeWhlOWMuicsXFxyXFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXFxcIumbgeWhlOWMulxcXCJcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfmtZDngZ7nlJ/mgIHljLonLFxcclxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFxcXCLmtZDngZ7nlJ/mgIHljLpcXFwiXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn54Ge5qGl5Yy6JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcXFwi54Ge5qGl5Yy6XFxcIlxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+iIquepuuWfuuWcsCcsXFxyXFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXFxcIuiIquepuuWfuuWcsFxcXCJcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfmnKrlpK7ljLonLFxcclxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFxcXCLmnKrlpK7ljLpcXFwiXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn6Iiq5aSp5Z+65ZywJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcXFwi6Iiq5aSp5Z+65ZywXFxcIlxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+mYjuiJr+WMuicsXFxyXFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXFxcIumYjuiJr+WMulxcXCJcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICflm73pmYXmuK/liqHljLonLFxcclxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFxcXCLlm73pmYXmuK/liqHljLpcXFwiXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn5Li05r285Yy6JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcXFwi5Li05r285Yy6XFxcIlxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+mVv+WuieWMuicsXFxyXFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXFxcIumVv+WuieWMulxcXCJcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICfpq5jpmbXljLonLFxcclxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFxcXCLpq5jpmbXljLpcXFwiXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn6YSg6YKR5Yy6JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcXFwi6YSg6YKR5Yy6XFxcIlxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ+iTneeUsOWOvycsXFxyXFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXFxcIuiTneeUsOWOv1xcXCJcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICflkajoh7Pljr8nLFxcclxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFxcXCLlkajoh7Pljr9cXFwiXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAn6KW/5a6J5biC5pys57qnJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcXFwi6KW/5a6J5biC5pys57qnXFxcIlxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIF0sXFxyXFxuICAgICAgICAgICAgcHJvcGVydHk6e1xcclxcbiAgICAgICAgICAgICAgICBsYWJlbCA6ICfmoIfnrb4nLFxcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgdGV4dDogJ2lucHV0JyxcXHJcXG4gICAgICAgICAgICB0eXBlOiAnaW5wdXQnLFxcclxcbiAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgfSxcXHJcXG4gICAgZWRpdFNldHRpbmcsXFxyXFxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcXHJcXG4gICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXFxyXFxufTtcXHJcXG48L3NjcmlwdD5cXHJcXG5cXHJcXG48c3R5bGUgc2NvcGVkPlxcclxcbiAgLmZvcm1EaXZ7XFxyXFxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcclxcbiAgICBsaW5lLWhlaWdodDogNjBweDtcXHJcXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcXHJcXG4gIH1cXHJcXG4gIC5zZWxlY3RTdHlsZXtcXHJcXG4gICAgd2lkdGg6NTAlO1xcclxcbiAgfVxcclxcbiAgLmZvcm1EaXYtbGVmdCB7XFxyXFxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcclxcbiAgICB3aWR0aDogMzUlO1xcclxcbiAgICB0ZXh0LWFsaWduOnJpZ2h0O1xcclxcbiAgICBmb250LXNpemU6MTVweDtcXHJcXG4gICAgZmxvYXQ6IGxlZnQ7XFxyXFxuICAgIG1hcmdpbjogMCAxMHB4O1xcclxcbiAgfVxcclxcbiAgLmZvcm1EaXYtcmlnaHQge1xcclxcbiAgICB3aWR0aDogNjAlO1xcclxcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxyXFxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcclxcbiAgICBmbG9hdDogcmlnaHQ7XFxyXFxuICB9XFxyXFxuPC9zdHlsZT5cXHJcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtZmZjYTIwNDBcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdExpbmsvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3MDRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///704\n");
4713
4714/***/ }),
4715/* 705 */
4716/***/ (function(module, exports, __webpack_require__) {
4717
4718"use strict";
4719eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = ['属性(下拉框联动)', {\n field: 'property.busiId',\n text: '标签',\n type: 'string',\n isShow: 'hide'\n}, {\n field: 'extend.itemWidth',\n text: 'itemWidth',\n type: 'number',\n value: 320,\n isShow: 'hide'\n}, '扩展属性', {\n field: 'extend.placeholder',\n text: '占位符(默认展示值)',\n type: 'string'\n}, {\n field: 'extend.referField',\n text: '关联的下拉框',\n type: 'reqSelect'\n}, '内容子项', {\n field: 'property.itemsProp',\n text: '',\n type: 'select'\n}, '高级', {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'selectHeightLevel'\n}];\n_common.commonTool.assembleData(editors);\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-selectLink',\n name: '下拉框联动',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdExpbmsvcHJvcGVydHkuanM/Y2MzNiJdLCJuYW1lcyI6WyJlZGl0b3JzIiwiZmllbGQiLCJ0ZXh0IiwidHlwZSIsImlzU2hvdyIsInZhbHVlIiwiY29tbW9uVG9vbCIsImFzc2VtYmxlRGF0YSIsImNvbnNvbGUiLCJsb2ciLCJlZGl0U2V0dGluZyIsImtleSIsIm5hbWUiLCJsZXZlbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBOztBQUtBLElBQUlBLFVBQVMsQ0FDVCxXQURTLEVBRVQ7QUFDSUMsV0FBTyxpQkFEWDtBQUVJQyxVQUFNLElBRlY7QUFHSUMsVUFBTSxRQUhWO0FBSUlDLFlBQU87QUFKWCxDQUZTLEVBUVQ7QUFDSUgsV0FBTyxrQkFEWDtBQUVJQyxVQUFNLFdBRlY7QUFHSUMsVUFBTSxRQUhWO0FBSUlFLFdBQU8sR0FKWDtBQUtJRCxZQUFPO0FBTFgsQ0FSUyxFQWVULE1BZlMsRUFnQlQ7QUFDSUgsV0FBTyxvQkFEWDtBQUVJQyxVQUFNLFlBRlY7QUFHSUMsVUFBTTtBQUhWLENBaEJTLEVBMEJUO0FBQ0lGLFdBQU8sbUJBRFg7QUFFSUMsVUFBTSxRQUZWO0FBR0lDLFVBQU07QUFIVixDQTFCUyxFQStCVCxNQS9CUyxFQWdDVDtBQUNJRixXQUFPLG9CQURYO0FBRUlDLFVBQU0sRUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0FoQ1MsRUF1Q1QsSUF2Q1MsRUF3Q1Q7QUFDSUYsV0FBTyxrQkFEWDtBQUVJQyxVQUFNLE1BRlY7QUFHSUMsVUFBTTtBQUhWLENBeENTLENBQWI7QUErRUFHLG1CQUFXQyxZQUFYLENBQXdCUCxPQUF4QjtBQUNBUSxRQUFRQyxHQUFSLENBQVlULE9BQVo7QUFDTyxJQUFNVSxvQ0FBYztBQUN2QkMsU0FBSyxpQkFEa0I7QUFFdkJDLFVBQU0sT0FGaUI7QUFHdkJDLFdBQU0sQ0FIaUI7QUFJdkJiLGFBQVFBO0FBSmUsQ0FBcEIiLCJmaWxlIjoiNzA1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICBOb3RlIOW3peWFt+exu1xyXG4gKi9cclxuaW1wb3J0IHtjb21tb25Ub29sfSBmcm9tIFwiLi4vLi4vY29tbW9uL2NvbW1vblwiXHJcbi8qXHJcbk5vdGUg5a6a5LmJ6Ieq5a6a5LmJ5bGe5oCn77yM5YWs5YWx5bGe5oCn5LuOY29tbW9u5paH5Lu26YeM6K+75Y+WXHJcbmF1dGhvciDlj7bnq6DmtalcclxuICovXHJcbmxldCBlZGl0b3JzPSBbXHJcbiAgICAn5bGe5oCnKOS4i+aLieahhuiBlOWKqCknLFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkuYnVzaUlkJyxcclxuICAgICAgICB0ZXh0OiAn5qCH562+JyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLml0ZW1XaWR0aCcsXHJcbiAgICAgICAgdGV4dDogJ2l0ZW1XaWR0aCcsXHJcbiAgICAgICAgdHlwZTogJ251bWJlcicsXHJcbiAgICAgICAgdmFsdWU6IDMyMCxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnXHJcbiAgICB9LFxyXG4gICAgJ+aJqeWxleWxnuaApycsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdleHRlbmQucGxhY2Vob2xkZXInLFxyXG4gICAgICAgIHRleHQ6ICfljaDkvY3nrKbvvIjpu5jorqTlsZXnpLrlgLzvvIknLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnXHJcbiAgICB9LFxyXG4gICAgLyoge1xyXG4gICAgICAgICBmaWVsZDogJ2V4dGVuZC5ldmVudFR5cGUnLFxyXG4gICAgICAgICB0ZXh0OiAn5pyA5aSn6ZW/5bqmJyxcclxuICAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgICB9LCovXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdleHRlbmQucmVmZXJGaWVsZCcsXHJcbiAgICAgICAgdGV4dDogJ+WFs+iBlOeahOS4i+aLieahhicsXHJcbiAgICAgICAgdHlwZTogJ3JlcVNlbGVjdCdcclxuICAgIH0sXHJcbiAgICAn5YaF5a655a2Q6aG5JyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5Lml0ZW1zUHJvcCcsXHJcbiAgICAgICAgdGV4dDogJycsXHJcbiAgICAgICAgdHlwZTogJ3NlbGVjdCdcclxuICAgIH0sXHJcbiAgICAvKiAn5qCh6aqM6KeE5YiZJyxcclxuICAgICAn5omp5bGV5qCh6aqMJywqL1xyXG4gICAgJ+mrmOe6pycsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdkYXRhLmhlaWdodExldmVsJyxcclxuICAgICAgICB0ZXh0OiAn5piv5ZCm5pi+56S6JyxcclxuICAgICAgICB0eXBlOiAnc2VsZWN0SGVpZ2h0TGV2ZWwnXHJcbiAgICB9LFxyXG4gICAgLyogICAn5qCh6aqMJyxcclxuICAgICAgIHtcclxuICAgICAgICAgICBmaWVsZDogJ2V4dGVuZC52YWxpZGF0ZScsXHJcbiAgICAgICAgICAgdGV4dDogJycsXHJcbiAgICAgICAgICAgdHlwZTogJ3ZhbGlkYXRlQXJyJ1xyXG4gICAgICAgfSxcclxuICAgICAgICfosIPnlKjov5znqIvlnLDlnYAnLFxyXG4gICAgICAge1xyXG4gICAgICAgICAgIGZpZWxkOiAncHJvcGVydHkuZHluYW1pYy5sYWJlbCcsXHJcbiAgICAgICAgICAgdGV4dDogJ+mUruWAvOWvuS1sYWJlbCcsXHJcbiAgICAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgICAgIH0sXHJcbiAgICAgICB7XHJcbiAgICAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5keW5hbWljLnZhbHVlJyxcclxuICAgICAgICAgICB0ZXh0OiAn6ZSu5YC85a+5LXZhbHVlJyxcclxuICAgICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgICAgfSxcclxuICAgICAgIHtcclxuICAgICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmR5bmFtaWMudXJsJyxcclxuICAgICAgICAgICB0ZXh0OiAn6K+35rGC5YaF5a65dXJsJyxcclxuICAgICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgICAgfSxcclxuICAgICAgIHtcclxuICAgICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmR5bmFtaWMucGFyYW1zJyxcclxuICAgICAgICAgICB0ZXh0OiAn6K+35rGC5YaF5a65cGFyYW1zJyxcclxuICAgICAgICAgICB0eXBlOiAnZHluYW1pYydcclxuICAgICAgIH0sXHJcbiAgICAgICAgJ+iBlOWKqCcsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBmaWVsZDogJ2V4dGVuZC5saW5rYWdlQ2hhbmdlVmFsdWUnLFxyXG4gICAgICAgICAgICB0ZXh0OiAnJyxcclxuICAgICAgICAgICAgdHlwZTogJ2xpbmthZ2VDaGFuZ2VWYWx1ZSdcclxuICAgICAgICB9Ki9cclxuXTtcclxuY29tbW9uVG9vbC5hc3NlbWJsZURhdGEoZWRpdG9ycyk7XHJcbmNvbnNvbGUubG9nKGVkaXRvcnMpO1xyXG5leHBvcnQgY29uc3QgZWRpdFNldHRpbmcgPSB7XHJcbiAgICBrZXk6ICdnYWVhLXNlbGVjdExpbmsnLFxyXG4gICAgbmFtZTogJ+S4i+aLieahhuiBlOWKqCcsXHJcbiAgICBsZXZlbDo0LFxyXG4gICAgZWRpdG9yczplZGl0b3JzLFxyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdExpbmsvcHJvcGVydHkuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///705\n");
4720
4721/***/ }),
4722/* 706 */
4723/***/ (function(module, __webpack_exports__, __webpack_require__) {
4724
4725"use strict";
4726eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"formDiv\" }, [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [\n _c(\"Label\", { style: { marginLeft: \"5px\" } }, [\n _vm._v(_vm._s(_vm.getLabel))\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"formDiv-right\" },\n [\n _c(\n \"Select\",\n { staticClass: \"selectStyle\", attrs: { clearable: \"\" } },\n _vm._l(_vm.selectData, function(item, index) {\n return _c(\n \"Option\",\n { key: index, attrs: { clearable: \"\", value: item.value } },\n [_vm._v(\"\\n \" + _vm._s(item.label) + \"\\n \")]\n )\n }),\n 1\n )\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-ffca2040\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3NlbGVjdExpbmsvaW5kZXgudnVlP2U5MzMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IseUJBQXlCO0FBQzdDO0FBQ0E7QUFDQSxPQUFPLDhCQUE4QjtBQUNyQztBQUNBLHFCQUFxQixTQUFTLG9CQUFvQixFQUFFO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLCtCQUErQjtBQUN0QztBQUNBO0FBQ0E7QUFDQSxXQUFXLHFDQUFxQyxnQkFBZ0IsRUFBRTtBQUNsRTtBQUNBO0FBQ0E7QUFDQSxlQUFlLHFCQUFxQixtQ0FBbUMsRUFBRTtBQUN6RTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNzA2LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXZcIiB9LCBbXG4gICAgX2MoXG4gICAgICBcImRpdlwiLFxuICAgICAgeyBzdGF0aWNDbGFzczogXCJmb3JtRGl2LWxlZnRcIiB9LFxuICAgICAgW1xuICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3R5bGU6IHsgbWFyZ2luTGVmdDogXCI1cHhcIiB9IH0sIFtcbiAgICAgICAgICBfdm0uX3YoX3ZtLl9zKF92bS5nZXRMYWJlbCkpXG4gICAgICAgIF0pXG4gICAgICBdLFxuICAgICAgMVxuICAgICksXG4gICAgX3ZtLl92KFwiIFwiKSxcbiAgICBfYyhcbiAgICAgIFwiZGl2XCIsXG4gICAgICB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXYtcmlnaHRcIiB9LFxuICAgICAgW1xuICAgICAgICBfYyhcbiAgICAgICAgICBcIlNlbGVjdFwiLFxuICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwic2VsZWN0U3R5bGVcIiwgYXR0cnM6IHsgY2xlYXJhYmxlOiBcIlwiIH0gfSxcbiAgICAgICAgICBfdm0uX2woX3ZtLnNlbGVjdERhdGEsIGZ1bmN0aW9uKGl0ZW0sIGluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICAgIFwiT3B0aW9uXCIsXG4gICAgICAgICAgICAgIHsga2V5OiBpbmRleCwgYXR0cnM6IHsgY2xlYXJhYmxlOiBcIlwiLCB2YWx1ZTogaXRlbS52YWx1ZSB9IH0sXG4gICAgICAgICAgICAgIFtfdm0uX3YoXCJcXG4gICAgICAgIFwiICsgX3ZtLl9zKGl0ZW0ubGFiZWwpICsgXCJcXG4gICAgICBcIildXG4gICAgICAgICAgICApXG4gICAgICAgICAgfSksXG4gICAgICAgICAgMVxuICAgICAgICApXG4gICAgICBdLFxuICAgICAgMVxuICAgIClcbiAgXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LWZmY2EyMDQwXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LWZmY2EyMDQwXCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS9zZWxlY3RMaW5rL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzA2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///706\n");
4727
4728/***/ }),
4729/* 707 */
4730/***/ (function(module, __webpack_exports__, __webpack_require__) {
4731
4732"use strict";
4733eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(185);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_08a66278_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(711);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(708)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-08a66278\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_08a66278_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/textarea/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-08a66278\", Component.options)\n } else {\n hotAPI.reload(\"data-v-08a66278\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RleHRhcmVhL2luZGV4LnZ1ZT82ZDc5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBaVc7QUFDM1c7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUF3RjtBQUN6SDtBQUN3STtBQUNhO0FBQ3JKO0FBQ21UO0FBQ25UO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxpUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6IjcwNy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTA4YTY2Mjc4XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSFsZXNzLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTA4YTY2Mjc4XFxcIixcXFwiaGFzU2NvcGVkXFxcIjp0cnVlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IFwiZGF0YS12LTA4YTY2Mjc4XCJcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdGV4dGFyZWEvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTA4YTY2Mjc4XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtMDhhNjYyNzhcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RleHRhcmVhL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzA3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///707\n");
4734
4735/***/ }),
4736/* 708 */
4737/***/ (function(module, exports, __webpack_require__) {
4738
4739eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(709);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"3e40322a\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-08a66278\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-08a66278\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RleHRhcmVhL2luZGV4LnZ1ZT84MDhmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQXdiO0FBQzljLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBaUcsZ0NBQWdDO0FBQ3RKO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLG1NQUFtTSxrRkFBa0Y7QUFDclIsNE1BQTRNLGtGQUFrRjtBQUM5UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjcwOC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0wOGE2NjI3OFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjNlNDAzMjJhXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0wOGE2NjI3OFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMDhhNjYyNzhcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fbGVzcy1sb2FkZXJANC4xLjBAbGVzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTA4YTY2Mjc4XCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL19sZXNzLWxvYWRlckA0LjEuMEBsZXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdGV4dGFyZWEvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3MDhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///708\n");
4740
4741/***/ }),
4742/* 709 */
4743/***/ (function(module, exports, __webpack_require__) {
4744
4745eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formDiv[data-v-08a66278] {\\n display: inline-block;\\n /*line-height: 60px;*/\\n text-align: left;\\n}\\n.formDiv .formDiv-left[data-v-08a66278] {\\n display: inline-block;\\n line-height: 60px;\\n width: 35%;\\n text-align: right;\\n font-size: 15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.formDiv .formDiv-right[data-v-08a66278] {\\n width: 60%;\\n height: 100%;\\n position: relative;\\n display: inline-block;\\n float: right;\\n /*margin: 14px 0px 14px 33px;*/\\n margin: 14px 0px ;\\n}\\n.formDiv .formDiv-right .inputStyle[data-v-08a66278] {\\n /*width:50%;*/\\n}\\n.formDiv .formDiv-right .c-position[data-v-08a66278] {\\n padding-left: 5px;\\n position: absolute;\\n right: 0;\\n bottom: 0;\\n line-height: initial;\\n}\\n.formDiv .formDiv-right .ivu-col-span-20[data-v-08a66278] {\\n display: block;\\n width: 50%;\\n}\\n.formDiv .formDiv-right .ivu-col-span-4[data-v-08a66278] {\\n display: block;\\n width: 50%;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/textarea/index.vue\"],\"names\":[],\"mappings\":\";AAAA;EACE,sBAAsB;EACtB,sBAAsB;EACtB,iBAAiB;CAClB;AACD;EACE,sBAAsB;EACtB,kBAAkB;EAClB,WAAW;EACX,kBAAkB;EAClB,gBAAgB;EAChB,YAAY;EACZ,eAAe;CAChB;AACD;EACE,WAAW;EACX,aAAa;EACb,mBAAmB;EACnB,sBAAsB;EACtB,aAAa;EACb,+BAA+B;EAC/B,kBAAkB;CACnB;AACD;EACE,cAAc;CACf;AACD;EACE,kBAAkB;EAClB,mBAAmB;EACnB,SAAS;EACT,UAAU;EACV,qBAAqB;CACtB;AACD;EACE,eAAe;EACf,WAAW;CACZ;AACD;EACE,eAAe;EACf,WAAW;CACZ\",\"file\":\"index.vue\",\"sourcesContent\":[\".formDiv {\\n display: inline-block;\\n /*line-height: 60px;*/\\n text-align: left;\\n}\\n.formDiv .formDiv-left {\\n display: inline-block;\\n line-height: 60px;\\n width: 35%;\\n text-align: right;\\n font-size: 15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.formDiv .formDiv-right {\\n width: 60%;\\n height: 100%;\\n position: relative;\\n display: inline-block;\\n float: right;\\n /*margin: 14px 0px 14px 33px;*/\\n margin: 14px 0px ;\\n}\\n.formDiv .formDiv-right .inputStyle {\\n /*width:50%;*/\\n}\\n.formDiv .formDiv-right .c-position {\\n padding-left: 5px;\\n position: absolute;\\n right: 0;\\n bottom: 0;\\n line-height: initial;\\n}\\n.formDiv .formDiv-right .ivu-col-span-20 {\\n display: block;\\n width: 50%;\\n}\\n.formDiv .formDiv-right .ivu-col-span-4 {\\n display: block;\\n width: 50%;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RleHRhcmVhL2luZGV4LnZ1ZT8xNzE3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQStFO0FBQ2xIOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyxnQ0FBZ0MsMEJBQTBCLHdCQUF3Qix1QkFBdUIsR0FBRywyQ0FBMkMsMEJBQTBCLHNCQUFzQixlQUFlLHNCQUFzQixvQkFBb0IsZ0JBQWdCLG1CQUFtQixHQUFHLDRDQUE0QyxlQUFlLGlCQUFpQix1QkFBdUIsMEJBQTBCLGlCQUFpQixpQ0FBaUMsd0JBQXdCLEdBQUcsd0RBQXdELGdCQUFnQixLQUFLLHdEQUF3RCxzQkFBc0IsdUJBQXVCLGFBQWEsY0FBYyx5QkFBeUIsR0FBRyw2REFBNkQsbUJBQW1CLGVBQWUsR0FBRyw0REFBNEQsbUJBQW1CLGVBQWUsR0FBRyxVQUFVLDBJQUEwSSxLQUFLLFlBQVksYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsV0FBVyxZQUFZLGFBQWEsV0FBVyxVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxhQUFhLE1BQU0sS0FBSyxVQUFVLEtBQUssS0FBSyxZQUFZLGFBQWEsV0FBVyxVQUFVLFlBQVksTUFBTSxLQUFLLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxVQUFVLHNEQUFzRCwwQkFBMEIsd0JBQXdCLHVCQUF1QixHQUFHLDBCQUEwQiwwQkFBMEIsc0JBQXNCLGVBQWUsc0JBQXNCLG9CQUFvQixnQkFBZ0IsbUJBQW1CLEdBQUcsMkJBQTJCLGVBQWUsaUJBQWlCLHVCQUF1QiwwQkFBMEIsaUJBQWlCLGlDQUFpQyx3QkFBd0IsR0FBRyx1Q0FBdUMsZ0JBQWdCLEtBQUssdUNBQXVDLHNCQUFzQix1QkFBdUIsYUFBYSxjQUFjLHlCQUF5QixHQUFHLDRDQUE0QyxtQkFBbUIsZUFBZSxHQUFHLDJDQUEyQyxtQkFBbUIsZUFBZSxHQUFHLHFCQUFxQjs7QUFFbHlFIiwiZmlsZSI6IjcwOS5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcbi5mb3JtRGl2W2RhdGEtdi0wOGE2NjI3OF0ge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgLypsaW5lLWhlaWdodDogNjBweDsqL1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG59XFxuLmZvcm1EaXYgLmZvcm1EaXYtbGVmdFtkYXRhLXYtMDhhNjYyNzhdIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIGxpbmUtaGVpZ2h0OiA2MHB4O1xcbiAgd2lkdGg6IDM1JTtcXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xcbiAgZm9udC1zaXplOiAxNXB4O1xcbiAgZmxvYXQ6IGxlZnQ7XFxuICBtYXJnaW46IDAgMTBweDtcXG59XFxuLmZvcm1EaXYgLmZvcm1EaXYtcmlnaHRbZGF0YS12LTA4YTY2Mjc4XSB7XFxuICB3aWR0aDogNjAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgZmxvYXQ6IHJpZ2h0O1xcbiAgLyptYXJnaW46IDE0cHggMHB4IDE0cHggMzNweDsqL1xcbiAgbWFyZ2luOiAxNHB4IDBweCA7XFxufVxcbi5mb3JtRGl2IC5mb3JtRGl2LXJpZ2h0IC5pbnB1dFN0eWxlW2RhdGEtdi0wOGE2NjI3OF0ge1xcbiAgLyp3aWR0aDo1MCU7Ki9cXG59XFxuLmZvcm1EaXYgLmZvcm1EaXYtcmlnaHQgLmMtcG9zaXRpb25bZGF0YS12LTA4YTY2Mjc4XSB7XFxuICBwYWRkaW5nLWxlZnQ6IDVweDtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHJpZ2h0OiAwO1xcbiAgYm90dG9tOiAwO1xcbiAgbGluZS1oZWlnaHQ6IGluaXRpYWw7XFxufVxcbi5mb3JtRGl2IC5mb3JtRGl2LXJpZ2h0IC5pdnUtY29sLXNwYW4tMjBbZGF0YS12LTA4YTY2Mjc4XSB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHdpZHRoOiA1MCU7XFxufVxcbi5mb3JtRGl2IC5mb3JtRGl2LXJpZ2h0IC5pdnUtY29sLXNwYW4tNFtkYXRhLXYtMDhhNjYyNzhdIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgd2lkdGg6IDUwJTtcXG59XFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIkU6L3Byb2plY3QvcGFnZS1pZGUteGlhbi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RleHRhcmVhL2luZGV4LnZ1ZVwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiO0FBQUE7RUFDRSxzQkFBc0I7RUFDdEIsc0JBQXNCO0VBQ3RCLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0Usc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osZUFBZTtDQUNoQjtBQUNEO0VBQ0UsV0FBVztFQUNYLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsc0JBQXNCO0VBQ3RCLGFBQWE7RUFDYiwrQkFBK0I7RUFDL0Isa0JBQWtCO0NBQ25CO0FBQ0Q7RUFDRSxjQUFjO0NBQ2Y7QUFDRDtFQUNFLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsU0FBUztFQUNULFVBQVU7RUFDVixxQkFBcUI7Q0FDdEI7QUFDRDtFQUNFLGVBQWU7RUFDZixXQUFXO0NBQ1o7QUFDRDtFQUNFLGVBQWU7RUFDZixXQUFXO0NBQ1pcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIuZm9ybURpdiB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAvKmxpbmUtaGVpZ2h0OiA2MHB4OyovXFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG4uZm9ybURpdiAuZm9ybURpdi1sZWZ0IHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIGxpbmUtaGVpZ2h0OiA2MHB4O1xcbiAgd2lkdGg6IDM1JTtcXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xcbiAgZm9udC1zaXplOiAxNXB4O1xcbiAgZmxvYXQ6IGxlZnQ7XFxuICBtYXJnaW46IDAgMTBweDtcXG59XFxuLmZvcm1EaXYgLmZvcm1EaXYtcmlnaHQge1xcbiAgd2lkdGg6IDYwJTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIGZsb2F0OiByaWdodDtcXG4gIC8qbWFyZ2luOiAxNHB4IDBweCAxNHB4IDMzcHg7Ki9cXG4gIG1hcmdpbjogMTRweCAwcHggO1xcbn1cXG4uZm9ybURpdiAuZm9ybURpdi1yaWdodCAuaW5wdXRTdHlsZSB7XFxuICAvKndpZHRoOjUwJTsqL1xcbn1cXG4uZm9ybURpdiAuZm9ybURpdi1yaWdodCAuYy1wb3NpdGlvbiB7XFxuICBwYWRkaW5nLWxlZnQ6IDVweDtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHJpZ2h0OiAwO1xcbiAgYm90dG9tOiAwO1xcbiAgbGluZS1oZWlnaHQ6IGluaXRpYWw7XFxufVxcbi5mb3JtRGl2IC5mb3JtRGl2LXJpZ2h0IC5pdnUtY29sLXNwYW4tMjAge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB3aWR0aDogNTAlO1xcbn1cXG4uZm9ybURpdiAuZm9ybURpdi1yaWdodCAuaXZ1LWNvbC1zcGFuLTQge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB3aWR0aDogNTAlO1xcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtMDhhNjYyNzhcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX2xlc3MtbG9hZGVyQDQuMS4wQGxlc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS90ZXh0YXJlYS9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDcwOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///709\n");
4746
4747/***/ }),
4748/* 710 */
4749/***/ (function(module, exports, __webpack_require__) {
4750
4751"use strict";
4752eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = [{\n field: 'property.title',\n text: '多行输入框',\n type: 'title'\n}, {\n field: 'property.prop',\n text: '属性名称',\n type: 'reqSelect',\n isShow: 'hide'\n}, {\n field: 'property.label',\n text: '标题',\n maxFont: '20',\n type: 'string'\n}, {\n field: 'extend.itemWidth',\n text: 'itemWidth',\n type: 'number',\n value: 320,\n isShow: 'hide'\n}, {\n field: 'extend.maxLength',\n text: 'itemWidth',\n type: 'number',\n value: 100,\n isShow: 'hide'\n}, {\n field: 'property.busiId',\n text: '标题',\n isShow: 'hide',\n type: 'string'\n}, {\n field: 'extend.placeholder',\n text: '提示文字',\n maxFont: '50',\n maxInputFont: '1000',\n type: 'string'\n}, {\n field: 'extend.rows',\n text: '行数',\n type: 'number',\n maxInputFont: '10',\n maxFont: '10'\n}, {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'validateInput'\n}];\n_common.commonTool.assembleData(editors);\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-textarea',\n name: '多行输入框',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RleHRhcmVhL3Byb3BlcnR5LmpzPzk2NDQiXSwibmFtZXMiOlsiZWRpdG9ycyIsImZpZWxkIiwidGV4dCIsInR5cGUiLCJpc1Nob3ciLCJtYXhGb250IiwidmFsdWUiLCJtYXhJbnB1dEZvbnQiLCJjb21tb25Ub29sIiwiYXNzZW1ibGVEYXRhIiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibmFtZSIsImxldmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7O0FBS0EsSUFBSUEsVUFBUyxDQUNUO0FBQ0lDLFdBQU8sZ0JBRFg7QUFFSUMsVUFBTSxPQUZWO0FBR0lDLFVBQU07QUFIVixDQURTLEVBTVQ7QUFDSUYsV0FBTyxlQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJQyxVQUFNLFdBSFY7QUFJR0MsWUFBTztBQUpWLENBTlMsRUFZVDtBQUNJSCxXQUFPLGdCQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJRyxhQUFRLElBSFo7QUFJSUYsVUFBTTtBQUpWLENBWlMsRUFrQlQ7QUFDSUYsV0FBTyxrQkFEWDtBQUVJQyxVQUFNLFdBRlY7QUFHSUMsVUFBTSxRQUhWO0FBSUlHLFdBQU8sR0FKWDtBQUtJRixZQUFPO0FBTFgsQ0FsQlMsRUF5QlQ7QUFDSUgsV0FBTyxrQkFEWDtBQUVJQyxVQUFNLFdBRlY7QUFHSUMsVUFBTSxRQUhWO0FBSUlHLFdBQU8sR0FKWDtBQUtJRixZQUFPO0FBTFgsQ0F6QlMsRUFnQ1Y7QUFDS0gsV0FBTyxpQkFEWjtBQUVLQyxVQUFNLElBRlg7QUFHS0UsWUFBTyxNQUhaO0FBSUtELFVBQU07QUFKWCxDQWhDVSxFQXNDVDtBQUNJRixXQUFPLG9CQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJRyxhQUFRLElBSFo7QUFJSUUsa0JBQWEsTUFKakI7QUFLSUosVUFBTTtBQUxWLENBdENTLEVBNkNUO0FBQ0lGLFdBQU8sYUFEWDtBQUVJQyxVQUFNLElBRlY7QUFHSUMsVUFBTSxRQUhWO0FBSUlJLGtCQUFhLElBSmpCO0FBS0lGLGFBQVE7QUFMWixDQTdDUyxFQW9EVDtBQUNJSixXQUFPLGtCQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0FwRFMsQ0FBYjtBQTBEQUssbUJBQVdDLFlBQVgsQ0FBd0JULE9BQXhCO0FBQ0FVLFFBQVFDLEdBQVIsQ0FBWVgsT0FBWjtBQUNPLElBQU1ZLG9DQUFjO0FBQ3ZCQyxTQUFLLGVBRGtCO0FBRXZCQyxVQUFNLE9BRmlCO0FBR3ZCQyxXQUFNLENBSGlCO0FBSXZCZixhQUFRQTtBQUplLENBQXBCIiwiZmlsZSI6IjcxMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAgTm90ZSDlt6XlhbfnsbtcclxuICovXHJcbmltcG9ydCB7Y29tbW9uVG9vbH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jb21tb25cIlxyXG4vKlxyXG5Ob3RlIOWumuS5ieiHquWumuS5ieWxnuaAp++8jOWFrOWFseWxnuaAp+S7jmNvbW1vbuaWh+S7tumHjOivu+WPllxyXG5hdXRob3Ig5Y+256ug5rWpXHJcbiAqL1xyXG5sZXQgZWRpdG9ycz0gW1xyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkudGl0bGUnLFxyXG4gICAgICAgIHRleHQ6ICflpJrooYzovpPlhaXmoYYnLFxyXG4gICAgICAgIHR5cGU6ICd0aXRsZSdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5wcm9wJyxcclxuICAgICAgICB0ZXh0OiAn5bGe5oCn5ZCN56ewJyxcclxuICAgICAgICB0eXBlOiAncmVxU2VsZWN0JyxcclxuICAgICAgIGlzU2hvdzonaGlkZScsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkubGFiZWwnLFxyXG4gICAgICAgIHRleHQ6ICfmoIfpopgnLFxyXG4gICAgICAgIG1heEZvbnQ6JzIwJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5pdGVtV2lkdGgnLFxyXG4gICAgICAgIHRleHQ6ICdpdGVtV2lkdGgnLFxyXG4gICAgICAgIHR5cGU6ICdudW1iZXInLFxyXG4gICAgICAgIHZhbHVlOiAzMjAsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5tYXhMZW5ndGgnLFxyXG4gICAgICAgIHRleHQ6ICdpdGVtV2lkdGgnLFxyXG4gICAgICAgIHR5cGU6ICdudW1iZXInLFxyXG4gICAgICAgIHZhbHVlOiAxMDAsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJ1xyXG4gICAgfSxcclxuICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkuYnVzaUlkJyxcclxuICAgICAgICB0ZXh0OiAn5qCH6aKYJyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLnBsYWNlaG9sZGVyJyxcclxuICAgICAgICB0ZXh0OiAn5o+Q56S65paH5a2XJyxcclxuICAgICAgICBtYXhGb250Oic1MCcsXHJcbiAgICAgICAgbWF4SW5wdXRGb250OicxMDAwJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5yb3dzJyxcclxuICAgICAgICB0ZXh0OiAn6KGM5pWwJyxcclxuICAgICAgICB0eXBlOiAnbnVtYmVyJyxcclxuICAgICAgICBtYXhJbnB1dEZvbnQ6JzEwJyxcclxuICAgICAgICBtYXhGb250OicxMCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdkYXRhLmhlaWdodExldmVsJyxcclxuICAgICAgICB0ZXh0OiAn5piv5ZCm5pi+56S6JyxcclxuICAgICAgICB0eXBlOiAndmFsaWRhdGVJbnB1dCdcclxuICAgIH1cclxuXTtcclxuY29tbW9uVG9vbC5hc3NlbWJsZURhdGEoZWRpdG9ycyk7XHJcbmNvbnNvbGUubG9nKGVkaXRvcnMpO1xyXG5leHBvcnQgY29uc3QgZWRpdFNldHRpbmcgPSB7XHJcbiAgICBrZXk6ICdnYWVhLXRleHRhcmVhJyxcclxuICAgIG5hbWU6ICflpJrooYzovpPlhaXmoYYnLFxyXG4gICAgbGV2ZWw6NCxcclxuICAgIGVkaXRvcnM6ZWRpdG9ycyxcclxufTtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS90ZXh0YXJlYS9wcm9wZXJ0eS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///710\n");
4753
4754/***/ }),
4755/* 711 */
4756/***/ (function(module, __webpack_exports__, __webpack_require__) {
4757
4758"use strict";
4759eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"formDiv\",\n on: { mouseenter: _vm.show, mouseleave: _vm.hide }\n },\n [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [_c(\"Label\", [_vm._v(\" \" + _vm._s(_vm.property.label))])],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"formDiv-right\" }, [\n _c(\n \"div\",\n { staticClass: \"ivu-col ivu-col-span-20\" },\n [\n _c(\"Input\", {\n staticClass: \"inputStyle\",\n attrs: {\n type: \"textarea\",\n clearable: \"\",\n rows: _vm.extend.rows,\n placeholder: _vm.extend.placeholder\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"c-position ivu-col ivu-col-span-4\" }, [\n _c(\"span\", [_vm._v(\"0/\" + _vm._s(_vm.extend.maxLength))])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"commomHoverModal\", { ref: \"commomHoverModal\" })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-08a66278\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RleHRhcmVhL2luZGV4LnZ1ZT84MzFhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLFNBQVMsOEJBQThCO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLCtCQUErQjtBQUNoRDtBQUNBO0FBQ0EsV0FBVyx5Q0FBeUM7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLG1EQUFtRDtBQUN0RTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QiwwQkFBMEI7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI3MTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAge1xuICAgICAgc3RhdGljQ2xhc3M6IFwiZm9ybURpdlwiLFxuICAgICAgb246IHsgbW91c2VlbnRlcjogX3ZtLnNob3csIG1vdXNlbGVhdmU6IF92bS5oaWRlIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcImRpdlwiLFxuICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXYtbGVmdFwiIH0sXG4gICAgICAgIFtfYyhcIkxhYmVsXCIsIFtfdm0uX3YoXCIgXCIgKyBfdm0uX3MoX3ZtLnByb3BlcnR5LmxhYmVsKSldKV0sXG4gICAgICAgIDFcbiAgICAgICksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJmb3JtRGl2LXJpZ2h0XCIgfSwgW1xuICAgICAgICBfYyhcbiAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiaXZ1LWNvbCBpdnUtY29sLXNwYW4tMjBcIiB9LFxuICAgICAgICAgIFtcbiAgICAgICAgICAgIF9jKFwiSW5wdXRcIiwge1xuICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJpbnB1dFN0eWxlXCIsXG4gICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogXCJ0ZXh0YXJlYVwiLFxuICAgICAgICAgICAgICAgIGNsZWFyYWJsZTogXCJcIixcbiAgICAgICAgICAgICAgICByb3dzOiBfdm0uZXh0ZW5kLnJvd3MsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IF92bS5leHRlbmQucGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICBdLFxuICAgICAgICAgIDFcbiAgICAgICAgKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJjLXBvc2l0aW9uIGl2dS1jb2wgaXZ1LWNvbC1zcGFuLTRcIiB9LCBbXG4gICAgICAgICAgX2MoXCJzcGFuXCIsIFtfdm0uX3YoXCIwL1wiICsgX3ZtLl9zKF92bS5leHRlbmQubWF4TGVuZ3RoKSldKVxuICAgICAgICBdKVxuICAgICAgXSksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXCJjb21tb21Ib3Zlck1vZGFsXCIsIHsgcmVmOiBcImNvbW1vbUhvdmVyTW9kYWxcIiB9KVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi0wOGE2NjI3OFwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi0wOGE2NjI3OFwiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdGV4dGFyZWEvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3MTFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///711\n");
4760
4761/***/ }),
4762/* 712 */
4763/***/ (function(module, __webpack_exports__, __webpack_require__) {
4764
4765"use strict";
4766eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(186);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_d27fc3d2_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(716);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(713)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-d27fc3d2\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_d27fc3d2_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/time/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-d27fc3d2\", Component.options)\n } else {\n hotAPI.reload(\"data-v-d27fc3d2\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWUvaW5kZXgudnVlPzcxNjgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFxVjtBQUMvVjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXdGO0FBQ3pIO0FBQ3dJO0FBQ2E7QUFDcko7QUFDbVQ7QUFDblQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGlRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNzEyLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZDI3ZmMzZDJcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZDI3ZmMzZDJcXFwiLFxcXCJoYXNTY29wZWRcXFwiOnRydWUsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gXCJkYXRhLXYtZDI3ZmMzZDJcIlxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS90aW1lL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi1kMjdmYzNkMlwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LWQyN2ZjM2QyXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS90aW1lL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzEyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///712\n");
4767
4768/***/ }),
4769/* 713 */
4770/***/ (function(module, exports, __webpack_require__) {
4771
4772eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(714);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"d70954e8\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-d27fc3d2\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-d27fc3d2\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWUvaW5kZXgudnVlPzk1MjciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBOFc7QUFDcFksNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUFpRyxnQ0FBZ0M7QUFDdEo7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsbU1BQW1NLGtGQUFrRjtBQUNyUiw0TUFBNE0sa0ZBQWtGO0FBQzlSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNzEzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWQyN2ZjM2QyXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcImQ3MDk1NGU4XCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1kMjdmYzNkMlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWQyN2ZjM2QyXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtZDI3ZmMzZDJcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3MTNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///713\n");
4773
4774/***/ }),
4775/* 714 */
4776/***/ (function(module, exports, __webpack_require__) {
4777
4778eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formDiv[data-v-d27fc3d2]{\\n display: inline-block;\\n line-height: 60px;\\n text-align: left;\\n}\\n.formDiv-left[data-v-d27fc3d2] {\\n display:inline-block;\\n width: 35%;\\n text-align:right;\\n font-size:15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.timeStyle[data-v-d27fc3d2] {\\n width: 50%;\\n}\\n.formDiv-right[data-v-d27fc3d2] {\\n width: 60%;\\n position: relative;\\n display:inline-block;\\n float: right;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/time/myPlugin/page-ide/lib/components/levelThree/time/index.vue\"],\"names\":[],\"mappings\":\";AAgEA;IACA,sBAAA;IACA,kBAAA;IACA,iBAAA;CACA;AACA;IACA,qBAAA;IACA,WAAA;IACA,iBAAA;IACA,eAAA;IACA,YAAA;IACA,eAAA;CACA;AACA;IACA,WAAA;CACA;AACA;IACA,WAAA;IACA,mBAAA;IACA,qBAAA;IACA,aAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formDiv\\\" @mouseenter=\\\"show\\\" @mouseleave=\\\"hide\\\">\\r\\n <div class=\\\"formDiv-left\\\">\\r\\n <Label :style=\\\"{marginLeft:'5px'}\\\">{{property.label}}</Label>\\r\\n </div>\\r\\n <div class=\\\"formDiv-right\\\">\\r\\n <TimePicker\\r\\n :editable=\\\"false\\\"\\r\\n :placeholder=extend.placeholder\\r\\n :format=\\\"extend.type\\\"\\r\\n class=\\\"timeStyle\\\"\\r\\n >\\r\\n </TimePicker >\\r\\n </div>\\r\\n <commomHoverModal ref=\\\"commomHoverModal\\\" ></commomHoverModal>\\r\\n\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\n /**\\r\\n *@author 黄佳\\r\\n *@date 2019/9/26 14:45\\r\\n *@Copyright 天源迪科信息技术股份有限公司\\r\\n *@Description\\r\\n */\\r\\n import commomHoverModal from '../../common/commomHoverModal'\\r\\n\\r\\n import {editSetting} from './property';\\r\\n export default {\\r\\n name: \\\"time\\\",\\r\\n data () {\\r\\n return {\\r\\n property:{\\r\\n label : '时间',\\r\\n },\\r\\n extend:{\\r\\n placeholder:\\\"\\\",\\r\\n type:\\\"HH:mm:ss\\\",\\r\\n },\\r\\n text: 'input',\\r\\n styles: {},\\r\\n type: 'time',\\r\\n level: editSetting.level,\\r\\n };\\r\\n },\\r\\n methods:{\\r\\n show(){\\r\\n this.$refs.commomHoverModal.handleMouseEnter();\\r\\n },\\r\\n hide(){\\r\\n this.$refs.commomHoverModal.handleMouseLeave();\\r\\n }\\r\\n },\\r\\n components:{\\r\\n commomHoverModal\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n }\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .formDiv{\\r\\n display: inline-block;\\r\\n line-height: 60px;\\r\\n text-align: left;\\r\\n }\\r\\n .formDiv-left {\\r\\n display:inline-block;\\r\\n width: 35%;\\r\\n text-align:right;\\r\\n font-size:15px;\\r\\n float: left;\\r\\n margin: 0 10px;\\r\\n }\\r\\n .timeStyle {\\r\\n width: 50%;\\r\\n }\\r\\n .formDiv-right {\\r\\n width: 60%;\\r\\n position: relative;\\r\\n display:inline-block;\\r\\n float: right;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWUvaW5kZXgudnVlPzlmMjgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBK0U7QUFDbEg7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLCtCQUErQiw0QkFBNEIsd0JBQXdCLHVCQUF1QixHQUFHLGtDQUFrQywyQkFBMkIsaUJBQWlCLHVCQUF1QixxQkFBcUIsa0JBQWtCLHFCQUFxQixHQUFHLCtCQUErQixpQkFBaUIsR0FBRyxtQ0FBbUMsaUJBQWlCLHlCQUF5QiwyQkFBMkIsbUJBQW1CLEdBQUcsVUFBVSx1TEFBdUwsTUFBTSxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssV0FBVyxVQUFVLFdBQVcsVUFBVSxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsV0FBVyxXQUFXLFVBQVUsME1BQTBNLGlCQUFpQixLQUFLLGdCQUFnQiw0ckJBQTRyQixZQUFZLG1CQUFtQix3QkFBd0IsZ0RBQWdELHdCQUF3Qiw4QkFBOEIsMERBQTBELDZCQUE2Qix3R0FBd0csaUVBQWlFLGlHQUFpRyxhQUFhLHNCQUFzQix1QkFBdUIsbUVBQW1FLGlCQUFpQix3QkFBd0IsbUVBQW1FLGlCQUFpQixhQUFhLHlCQUF5Qiw2Q0FBNkMsd0dBQXdHLG9EQUFvRCxrQ0FBa0MsOEJBQThCLDZCQUE2QixTQUFTLHVCQUF1QixpQ0FBaUMsdUJBQXVCLDZCQUE2QiwyQkFBMkIsd0JBQXdCLDJCQUEyQixTQUFTLG9CQUFvQix1QkFBdUIsU0FBUyx3QkFBd0IsdUJBQXVCLCtCQUErQixpQ0FBaUMseUJBQXlCLFNBQVMsbUNBQW1DOztBQUVydkciLCJmaWxlIjoiNzE0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLmZvcm1EaXZbZGF0YS12LWQyN2ZjM2QyXXtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICBsaW5lLWhlaWdodDogNjBweDtcXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcXG59XFxuLmZvcm1EaXYtbGVmdFtkYXRhLXYtZDI3ZmMzZDJdIHtcXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxuICAgIHdpZHRoOiAzNSU7XFxuICAgIHRleHQtYWxpZ246cmlnaHQ7XFxuICAgIGZvbnQtc2l6ZToxNXB4O1xcbiAgICBmbG9hdDogbGVmdDtcXG4gICAgbWFyZ2luOiAwIDEwcHg7XFxufVxcbi50aW1lU3R5bGVbZGF0YS12LWQyN2ZjM2QyXSB7XFxuICAgIHdpZHRoOiA1MCU7XFxufVxcbi5mb3JtRGl2LXJpZ2h0W2RhdGEtdi1kMjdmYzNkMl0ge1xcbiAgICB3aWR0aDogNjAlO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcbiAgICBmbG9hdDogcmlnaHQ7XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJFOi9wcm9qZWN0L3BhZ2UtaWRlLXhpYW4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS90aW1lL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdGltZS9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQWdFQTtJQUNBLHNCQUFBO0lBQ0Esa0JBQUE7SUFDQSxpQkFBQTtDQUNBO0FBQ0E7SUFDQSxxQkFBQTtJQUNBLFdBQUE7SUFDQSxpQkFBQTtJQUNBLGVBQUE7SUFDQSxZQUFBO0lBQ0EsZUFBQTtDQUNBO0FBQ0E7SUFDQSxXQUFBO0NBQ0E7QUFDQTtJQUNBLFdBQUE7SUFDQSxtQkFBQTtJQUNBLHFCQUFBO0lBQ0EsYUFBQTtDQUNBXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZXNDb250ZW50XCI6W1wiPHRlbXBsYXRlPlxcclxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2XFxcIiAgIEBtb3VzZWVudGVyPVxcXCJzaG93XFxcIiBAbW91c2VsZWF2ZT1cXFwiaGlkZVxcXCI+XFxyXFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2LWxlZnRcXFwiPlxcclxcbiAgICAgICAgICAgIDxMYWJlbCA6c3R5bGU9XFxcInttYXJnaW5MZWZ0Oic1cHgnfVxcXCI+e3twcm9wZXJ0eS5sYWJlbH19PC9MYWJlbD5cXHJcXG4gICAgICAgIDwvZGl2PlxcclxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybURpdi1yaWdodFxcXCI+XFxyXFxuICAgICAgICAgICAgPFRpbWVQaWNrZXJcXHJcXG4gICAgICAgICAgICAgICAgICAgIDplZGl0YWJsZT1cXFwiZmFsc2VcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICA6cGxhY2Vob2xkZXI9ZXh0ZW5kLnBsYWNlaG9sZGVyXFxyXFxuICAgICAgICAgICAgICAgICAgICA6Zm9ybWF0PVxcXCJleHRlbmQudHlwZVxcXCJcXHJcXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVxcXCJ0aW1lU3R5bGVcXFwiXFxyXFxuICAgICAgICAgICAgPlxcclxcbiAgICAgICAgICAgIDwvVGltZVBpY2tlciA+XFxyXFxuICAgICAgICA8L2Rpdj5cXHJcXG4gICAgICAgIDxjb21tb21Ib3Zlck1vZGFsIHJlZj1cXFwiY29tbW9tSG92ZXJNb2RhbFxcXCIgPjwvY29tbW9tSG92ZXJNb2RhbD5cXHJcXG5cXHJcXG4gICAgPC9kaXY+XFxyXFxuPC90ZW1wbGF0ZT5cXHJcXG5cXHJcXG48c2NyaXB0PlxcclxcbiAgICAvKipcXHJcXG4gICAgICpAYXV0aG9yICAgICDpu4TkvbNcXHJcXG4gICAgICpAZGF0ZSAgICAgICAyMDE5LzkvMjYgIDE0OjQ1XFxyXFxuICAgICAqQENvcHlyaWdodCDlpKnmupDov6rnp5Hkv6Hmga/mioDmnK/ogqHku73mnInpmZDlhazlj7hcXHJcXG4gICAgICpARGVzY3JpcHRpb25cXHJcXG4gICAgICovXFxyXFxuICAgIGltcG9ydCBjb21tb21Ib3Zlck1vZGFsIGZyb20gJy4uLy4uL2NvbW1vbi9jb21tb21Ib3Zlck1vZGFsJ1xcclxcblxcclxcbiAgICBpbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcXHJcXG4gICAgZXhwb3J0IGRlZmF1bHQge1xcclxcbiAgICAgICAgbmFtZTogXFxcInRpbWVcXFwiLFxcclxcbiAgICAgICAgZGF0YSAoKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIHtcXHJcXG4gICAgICAgICAgICAgICAgcHJvcGVydHk6e1xcclxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWwgOiAn5pe26Ze0JyxcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgZXh0ZW5kOntcXHJcXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOlxcXCJcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTpcXFwiSEg6bW06c3NcXFwiLFxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICB0ZXh0OiAnaW5wdXQnLFxcclxcbiAgICAgICAgICAgICAgICBzdHlsZXM6IHt9LFxcclxcbiAgICAgICAgICAgICAgICB0eXBlOiAndGltZScsXFxyXFxuICAgICAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcXHJcXG4gICAgICAgICAgICB9O1xcclxcbiAgICAgICAgfSxcXHJcXG4gICAgICAgIG1ldGhvZHM6e1xcclxcbiAgICAgICAgICAgIHNob3coKXtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlRW50ZXIoKTtcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIGhpZGUoKXtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jb21tb21Ib3Zlck1vZGFsLmhhbmRsZU1vdXNlTGVhdmUoKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgY29tcG9uZW50czp7XFxyXFxuICAgICAgICAgICAgY29tbW9tSG92ZXJNb2RhbFxcclxcbiAgICAgICAgfSxcXHJcXG4gICAgICAgIGVkaXRTZXR0aW5nLFxcclxcbiAgICAgICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxcclxcbiAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXFxyXFxuICAgIH1cXHJcXG48L3NjcmlwdD5cXHJcXG5cXHJcXG48c3R5bGUgc2NvcGVkPlxcclxcbiAgICAuZm9ybURpdntcXHJcXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXHJcXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xcclxcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcXHJcXG4gICAgfVxcclxcbiAgICAuZm9ybURpdi1sZWZ0IHtcXHJcXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcclxcbiAgICAgICAgd2lkdGg6IDM1JTtcXHJcXG4gICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XFxyXFxuICAgICAgICBmb250LXNpemU6MTVweDtcXHJcXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xcclxcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XFxyXFxuICAgIH1cXHJcXG4gICAgLnRpbWVTdHlsZSB7XFxyXFxuICAgICAgICB3aWR0aDogNTAlO1xcclxcbiAgICB9XFxyXFxuICAgIC5mb3JtRGl2LXJpZ2h0IHtcXHJcXG4gICAgICAgIHdpZHRoOiA2MCU7XFxyXFxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxyXFxuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXHJcXG4gICAgICAgIGZsb2F0OiByaWdodDtcXHJcXG4gICAgfVxcclxcbjwvc3R5bGU+XFxyXFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LWQyN2ZjM2QyXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS90aW1lL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzE0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///714\n");
4779
4780/***/ }),
4781/* 715 */
4782/***/ (function(module, exports, __webpack_require__) {
4783
4784"use strict";
4785eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = [{\n field: 'property.title',\n text: '时间',\n type: 'title'\n}, {\n field: 'property.prop',\n text: '属性名称',\n type: 'reqSelect',\n isShow: 'hide'\n}, {\n field: 'property.label',\n text: '标题',\n maxFont: '20',\n type: 'string'\n}, {\n field: 'property.busiId',\n text: '标题',\n isShow: 'hide',\n type: 'string'\n}, {\n field: 'extend.placeholder',\n text: '提示文字',\n maxFont: '50',\n maxInputFont: '1000',\n type: 'string'\n}, {\n field: 'extend.itemWidth',\n text: 'itemWidth',\n type: 'number',\n value: 320,\n isShow: 'hide'\n}, {\n field: 'extend.format',\n text: 'format',\n type: 'string',\n value: \"HH:mm:ss\",\n isShow: 'hide'\n}, {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'validateInput'\n}];\n\n_common.commonTool.assembleData(editors);\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-date-time',\n name: '时间',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWUvcHJvcGVydHkuanM/MzNiNSJdLCJuYW1lcyI6WyJlZGl0b3JzIiwiZmllbGQiLCJ0ZXh0IiwidHlwZSIsImlzU2hvdyIsIm1heEZvbnQiLCJtYXhJbnB1dEZvbnQiLCJ2YWx1ZSIsImNvbW1vblRvb2wiLCJhc3NlbWJsZURhdGEiLCJjb25zb2xlIiwibG9nIiwiZWRpdFNldHRpbmciLCJrZXkiLCJuYW1lIiwibGV2ZWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFTQTs7QUFLQSxJQUFJQSxVQUFTLENBQ1Q7QUFDSUMsV0FBTyxnQkFEWDtBQUVJQyxVQUFNLElBRlY7QUFHSUMsVUFBTTtBQUhWLENBRFMsRUFNVDtBQUNJRixXQUFPLGVBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU0sV0FIVjtBQUlJQyxZQUFPO0FBSlgsQ0FOUyxFQVlUO0FBQ0lILFdBQU8sZ0JBRFg7QUFFSUMsVUFBTSxJQUZWO0FBR0lHLGFBQVEsSUFIWjtBQUlJRixVQUFNO0FBSlYsQ0FaUyxFQWtCVDtBQUNJRixXQUFPLGlCQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJRSxZQUFPLE1BSFg7QUFJSUQsVUFBTTtBQUpWLENBbEJTLEVBd0JUO0FBQ0lGLFdBQU8sb0JBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lHLGFBQVEsSUFIWjtBQUlJQyxrQkFBYSxNQUpqQjtBQUtJSCxVQUFNO0FBTFYsQ0F4QlMsRUErQlQ7QUFDSUYsV0FBTyxrQkFEWDtBQUVJQyxVQUFNLFdBRlY7QUFHSUMsVUFBTSxRQUhWO0FBSUlJLFdBQU8sR0FKWDtBQUtJSCxZQUFPO0FBTFgsQ0EvQlMsRUFzQ1Q7QUFDSUgsV0FBTyxlQURYO0FBRUlDLFVBQU0sUUFGVjtBQUdJQyxVQUFNLFFBSFY7QUFJSUksV0FBTyxVQUpYO0FBS0lILFlBQU87QUFMWCxDQXRDUyxFQTZDVDtBQUNJSCxXQUFPLGtCQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0E3Q1MsQ0FBYjs7QUFvREFLLG1CQUFXQyxZQUFYLENBQXdCVCxPQUF4QjtBQUNBVSxRQUFRQyxHQUFSLENBQVlYLE9BQVo7QUFDTyxJQUFNWSxvQ0FBYztBQUN2QkMsU0FBSyxnQkFEa0I7QUFFdkJDLFVBQU0sSUFGaUI7QUFHdkJDLFdBQU0sQ0FIaUI7QUFJdkJmLGFBQVFBO0FBSmUsQ0FBcEIiLCJmaWxlIjoiNzE1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqQGF1dGhvciAgICAg6buE5L2zXHJcbiAqQGRhdGUgICAgICAgMjAxOS85LzI2ICAxNDo0NlxyXG4gKkBDb3B5cmlnaHQg5aSp5rqQ6L+q56eR5L+h5oGv5oqA5pyv6IKh5Lu95pyJ6ZmQ5YWs5Y+4XHJcbiAqQERlc2NyaXB0aW9uXHJcbiAqL1xyXG4vKlxyXG4gIE5vdGUg5bel5YW357G7XHJcbiAqL1xyXG5pbXBvcnQge2NvbW1vblRvb2x9IGZyb20gXCIuLi8uLi9jb21tb24vY29tbW9uXCJcclxuLypcclxuTm90ZSDlrprkuYnoh6rlrprkuYnlsZ7mgKfvvIzlhazlhbHlsZ7mgKfku45jb21tb27mlofku7bph4zor7vlj5ZcclxuICovXHJcblxyXG5sZXQgZWRpdG9ycz0gW1xyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkudGl0bGUnLFxyXG4gICAgICAgIHRleHQ6ICfml7bpl7QnLFxyXG4gICAgICAgIHR5cGU6ICd0aXRsZSdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5wcm9wJyxcclxuICAgICAgICB0ZXh0OiAn5bGe5oCn5ZCN56ewJyxcclxuICAgICAgICB0eXBlOiAncmVxU2VsZWN0JyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmxhYmVsJyxcclxuICAgICAgICB0ZXh0OiAn5qCH6aKYJyxcclxuICAgICAgICBtYXhGb250OicyMCcsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5idXNpSWQnLFxyXG4gICAgICAgIHRleHQ6ICfmoIfpopgnLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZScsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdleHRlbmQucGxhY2Vob2xkZXInLFxyXG4gICAgICAgIHRleHQ6ICfmj5DnpLrmloflrZcnLFxyXG4gICAgICAgIG1heEZvbnQ6JzUwJyxcclxuICAgICAgICBtYXhJbnB1dEZvbnQ6JzEwMDAnLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLml0ZW1XaWR0aCcsXHJcbiAgICAgICAgdGV4dDogJ2l0ZW1XaWR0aCcsXHJcbiAgICAgICAgdHlwZTogJ251bWJlcicsXHJcbiAgICAgICAgdmFsdWU6IDMyMCxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLmZvcm1hdCcsXHJcbiAgICAgICAgdGV4dDogJ2Zvcm1hdCcsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgICAgdmFsdWU6IFwiSEg6bW06c3NcIixcclxuICAgICAgICBpc1Nob3c6J2hpZGUnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZGF0YS5oZWlnaHRMZXZlbCcsXHJcbiAgICAgICAgdGV4dDogJ+aYr+WQpuaYvuekuicsXHJcbiAgICAgICAgdHlwZTogJ3ZhbGlkYXRlSW5wdXQnXHJcbiAgICB9XHJcbl07XHJcblxyXG5jb21tb25Ub29sLmFzc2VtYmxlRGF0YShlZGl0b3JzKTtcclxuY29uc29sZS5sb2coZWRpdG9ycyk7XHJcbmV4cG9ydCBjb25zdCBlZGl0U2V0dGluZyA9IHtcclxuICAgIGtleTogJ2dhZWEtZGF0ZS10aW1lJyxcclxuICAgIG5hbWU6ICfml7bpl7QnLFxyXG4gICAgbGV2ZWw6NCxcclxuICAgIGVkaXRvcnM6ZWRpdG9yc1xyXG59O1xyXG5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS90aW1lL3Byb3BlcnR5LmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///715\n");
4786
4787/***/ }),
4788/* 716 */
4789/***/ (function(module, __webpack_exports__, __webpack_require__) {
4790
4791"use strict";
4792eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"formDiv\",\n on: { mouseenter: _vm.show, mouseleave: _vm.hide }\n },\n [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [\n _c(\"Label\", { style: { marginLeft: \"5px\" } }, [\n _vm._v(_vm._s(_vm.property.label))\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"formDiv-right\" },\n [\n _c(\"TimePicker\", {\n staticClass: \"timeStyle\",\n attrs: {\n editable: false,\n placeholder: _vm.extend.placeholder,\n format: _vm.extend.type\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"commomHoverModal\", { ref: \"commomHoverModal\" })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-d27fc3d2\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWUvaW5kZXgudnVlP2E1NzkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsU0FBUyw4QkFBOEI7QUFDdkM7QUFDQSx1QkFBdUIsU0FBUyxvQkFBb0IsRUFBRTtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUywrQkFBK0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QiwwQkFBMEI7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI3MTYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAge1xuICAgICAgc3RhdGljQ2xhc3M6IFwiZm9ybURpdlwiLFxuICAgICAgb246IHsgbW91c2VlbnRlcjogX3ZtLnNob3csIG1vdXNlbGVhdmU6IF92bS5oaWRlIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcImRpdlwiLFxuICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXYtbGVmdFwiIH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcIkxhYmVsXCIsIHsgc3R5bGU6IHsgbWFyZ2luTGVmdDogXCI1cHhcIiB9IH0sIFtcbiAgICAgICAgICAgIF92bS5fdihfdm0uX3MoX3ZtLnByb3BlcnR5LmxhYmVsKSlcbiAgICAgICAgICBdKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF9jKFxuICAgICAgICBcImRpdlwiLFxuICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXYtcmlnaHRcIiB9LFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXCJUaW1lUGlja2VyXCIsIHtcbiAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcInRpbWVTdHlsZVwiLFxuICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgZWRpdGFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogX3ZtLmV4dGVuZC5wbGFjZWhvbGRlcixcbiAgICAgICAgICAgICAgZm9ybWF0OiBfdm0uZXh0ZW5kLnR5cGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF9jKFwiY29tbW9tSG92ZXJNb2RhbFwiLCB7IHJlZjogXCJjb21tb21Ib3Zlck1vZGFsXCIgfSlcbiAgICBdLFxuICAgIDFcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtZDI3ZmMzZDJcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtZDI3ZmMzZDJcIixcImhhc1Njb3BlZFwiOnRydWUsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3MTZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///716\n");
4793
4794/***/ }),
4795/* 717 */
4796/***/ (function(module, __webpack_exports__, __webpack_require__) {
4797
4798"use strict";
4799eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(187);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_6860791a_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(721);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(718)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-6860791a\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_6860791a_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/timeLabel/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-6860791a\", Component.options)\n } else {\n hotAPI.reload(\"data-v-6860791a\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWVMYWJlbC9pbmRleC52dWU/NGMwOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQXFWO0FBQy9WO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBd0Y7QUFDekg7QUFDd0k7QUFDYTtBQUNySjtBQUNtVDtBQUNuVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsaVFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI3MTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi02ODYwNzkxYVxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi02ODYwNzkxYVxcXCIsXFxcImhhc1Njb3BlZFxcXCI6dHJ1ZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBcImRhdGEtdi02ODYwNzkxYVwiXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWVMYWJlbC9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtNjg2MDc5MWFcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi02ODYwNzkxYVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdGltZUxhYmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzE3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///717\n");
4800
4801/***/ }),
4802/* 718 */
4803/***/ (function(module, exports, __webpack_require__) {
4804
4805eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(719);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"ef833812\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-6860791a\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-6860791a\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWVMYWJlbC9pbmRleC52dWU/NDc3ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUE4VztBQUNwWSw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQWlHLGdDQUFnQztBQUN0SjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSxtTUFBbU0sa0ZBQWtGO0FBQ3JSLDRNQUE0TSxrRkFBa0Y7QUFDOVI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI3MTguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNjg2MDc5MWFcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiZWY4MzM4MTJcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTY4NjA3OTFhXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNjg2MDc5MWFcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi02ODYwNzkxYVwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdGltZUxhYmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzE4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///718\n");
4806
4807/***/ }),
4808/* 719 */
4809/***/ (function(module, exports, __webpack_require__) {
4810
4811eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formDiv[data-v-6860791a]{\\n display:inline-block;\\n line-height: 60px;\\n}\\n.formDiv-left[data-v-6860791a] {\\n display:inline-block;\\n width: 35%;\\n line-height:60px;\\n text-align:right;\\n font-size:15px;\\n float: left;\\n margin: 0 10px;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/timeLabel/myPlugin/page-ide/lib/components/levelThree/timeLabel/index.vue\"],\"names\":[],\"mappings\":\";AA8CA;EACA,qBAAA;EACA,kBAAA;CACA;AACA;EACA,qBAAA;EACA,WAAA;EACA,iBAAA;EACA,iBAAA;EACA,eAAA;EACA,YAAA;EACA,eAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formDiv\\\">\\r\\n <div class=\\\"formDiv-left\\\">\\r\\n <Label v-if=\\\"type==='label'\\\">\\r\\n {{property.label}}\\r\\n </Label>\\r\\n </div>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport {editSetting} from './property';\\r\\nexport default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n data () {\\r\\n return {\\r\\n property:{\\r\\n label : 'Label',\\r\\n },\\r\\n text: 'label',\\r\\n styles: {\\r\\n display:'inline-block',\\r\\n width:'40%',\\r\\n height:'60px',\\r\\n lineHeight:'60px',\\r\\n textAlign:'right',\\r\\n fontSize:'15px'\\r\\n },\\r\\n type: 'label',\\r\\n level: editSetting.level,\\r\\n };\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .formDiv{\\r\\n display:inline-block;\\r\\n line-height: 60px;\\r\\n }\\r\\n .formDiv-left {\\r\\n display:inline-block;\\r\\n width: 35%;\\r\\n line-height:60px;\\r\\n text-align:right;\\r\\n font-size:15px;\\r\\n float: left;\\r\\n margin: 0 10px;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWVMYWJlbC9pbmRleC52dWU/NTIzZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUErRTtBQUNsSDs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsK0JBQStCLHlCQUF5QixzQkFBc0IsR0FBRyxrQ0FBa0MseUJBQXlCLGVBQWUscUJBQXFCLHFCQUFxQixtQkFBbUIsZ0JBQWdCLG1CQUFtQixHQUFHLFVBQVUsaU1BQWlNLE1BQU0sV0FBVyxXQUFXLEtBQUssS0FBSyxXQUFXLFVBQVUsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLDhLQUE4SyxnQkFBZ0IsdUZBQXVGLFlBQVksbUJBQW1CLG9CQUFvQixtQkFBbUIsc0JBQXNCLHlGQUF5RixzRUFBc0Usa0JBQWtCLG9CQUFvQiwwQkFBMEIscURBQXFELHdEQUF3RCw2T0FBNk8sc0ZBQXNGLFNBQVMseUZBQXlGLGtEQUFrRCw2QkFBNkIsMEJBQTBCLE9BQU8scUJBQXFCLDZCQUE2QixtQkFBbUIseUJBQXlCLHlCQUF5Qix1QkFBdUIsb0JBQW9CLHVCQUF1QixPQUFPLG1DQUFtQzs7QUFFcGdFIiwiZmlsZSI6IjcxOS5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcbi5mb3JtRGl2W2RhdGEtdi02ODYwNzkxYV17XFxuICBkaXNwbGF5OmlubGluZS1ibG9jaztcXG4gIGxpbmUtaGVpZ2h0OiA2MHB4O1xcbn1cXG4uZm9ybURpdi1sZWZ0W2RhdGEtdi02ODYwNzkxYV0ge1xcbiAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogMzUlO1xcbiAgbGluZS1oZWlnaHQ6NjBweDtcXG4gIHRleHQtYWxpZ246cmlnaHQ7XFxuICBmb250LXNpemU6MTVweDtcXG4gIGZsb2F0OiBsZWZ0O1xcbiAgbWFyZ2luOiAwIDEwcHg7XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJFOi9wcm9qZWN0L3BhZ2UtaWRlLXhpYW4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS90aW1lTGFiZWwvbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS90aW1lTGFiZWwvaW5kZXgudnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUE4Q0E7RUFDQSxxQkFBQTtFQUNBLGtCQUFBO0NBQ0E7QUFDQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7Q0FDQVwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjx0ZW1wbGF0ZT5cXHJcXG4gIDxkaXYgY2xhc3M9XFxcImZvcm1EaXZcXFwiPlxcclxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2LWxlZnRcXFwiPlxcclxcbiAgICAgIDxMYWJlbCB2LWlmPVxcXCJ0eXBlPT09J2xhYmVsJ1xcXCI+XFxyXFxuICAgICAgICB7e3Byb3BlcnR5LmxhYmVsfX1cXHJcXG4gICAgICA8L0xhYmVsPlxcclxcbiAgICA8L2Rpdj5cXHJcXG4gIDwvZGl2PlxcclxcbjwvdGVtcGxhdGU+XFxyXFxuXFxyXFxuPHNjcmlwdD5cXHJcXG5pbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcXHJcXG5leHBvcnQgZGVmYXVsdCB7XFxyXFxuICAgIC8vIHByb3BzOiB7XFxyXFxuICAgIC8vICAgICB0ZXh0OiB7XFxyXFxuICAgIC8vICAgICAgICAgdHlwZTogU3RyaW5nLFxcclxcbiAgICAvLyAgICAgICAgIGRlZmF1bHQ6ICdCdXR0b24gVGV4dCdcXHJcXG4gICAgLy8gICAgIH0sXFxyXFxuICAgIC8vICAgICB0eXBlOiBTdHJpbmcsXFxyXFxuICAgIC8vICAgICBzdHlsZXM6IE9iamVjdFxcclxcbiAgICAvLyB9LFxcclxcbiAgICBkYXRhICgpIHtcXHJcXG4gICAgICAgIHJldHVybiB7XFxyXFxuICAgICAgICAgICAgcHJvcGVydHk6e1xcclxcbiAgICAgICAgICAgICAgICBsYWJlbCA6ICdMYWJlbCcsXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICB0ZXh0OiAnbGFiZWwnLFxcclxcbiAgICAgICAgICAgIHN0eWxlczoge1xcclxcbiAgICAgICAgICAgICAgICBkaXNwbGF5OidpbmxpbmUtYmxvY2snLFxcclxcbiAgICAgICAgICAgICAgICB3aWR0aDonNDAlJyxcXHJcXG4gICAgICAgICAgICAgICAgaGVpZ2h0Oic2MHB4JyxcXHJcXG4gICAgICAgICAgICAgICAgbGluZUhlaWdodDonNjBweCcsXFxyXFxuICAgICAgICAgICAgICAgIHRleHRBbGlnbjoncmlnaHQnLFxcclxcbiAgICAgICAgICAgICAgICBmb250U2l6ZTonMTVweCdcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIHR5cGU6ICdsYWJlbCcsXFxyXFxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgfSxcXHJcXG4gICAgZWRpdFNldHRpbmcsXFxyXFxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcXHJcXG4gICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXFxyXFxufTtcXHJcXG48L3NjcmlwdD5cXHJcXG5cXHJcXG48c3R5bGUgc2NvcGVkPlxcclxcbiAgLmZvcm1EaXZ7XFxyXFxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcclxcbiAgICBsaW5lLWhlaWdodDogNjBweDtcXHJcXG4gIH1cXHJcXG4gIC5mb3JtRGl2LWxlZnQge1xcclxcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXHJcXG4gICAgd2lkdGg6IDM1JTtcXHJcXG4gICAgbGluZS1oZWlnaHQ6NjBweDtcXHJcXG4gICAgdGV4dC1hbGlnbjpyaWdodDtcXHJcXG4gICAgZm9udC1zaXplOjE1cHg7XFxyXFxuICAgIGZsb2F0OiBsZWZ0O1xcclxcbiAgICBtYXJnaW46IDAgMTBweDtcXHJcXG4gIH1cXHJcXG48L3N0eWxlPlxcclxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi02ODYwNzkxYVwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdGltZUxhYmVsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzE5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///719\n");
4812
4813/***/ }),
4814/* 720 */
4815/***/ (function(module, exports, __webpack_require__) {
4816
4817"use strict";
4818eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = ['属性(时间标签)', {\n field: 'property.label',\n text: '标签',\n type: 'string'\n}, {\n field: 'property.prop',\n text: '属性名称',\n type: 'reqSelect',\n isShow: 'hide'\n}];\n\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-timeLabel',\n name: '时间标签',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWVMYWJlbC9wcm9wZXJ0eS5qcz85NjUyIl0sIm5hbWVzIjpbImVkaXRvcnMiLCJmaWVsZCIsInRleHQiLCJ0eXBlIiwiaXNTaG93IiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibmFtZSIsImxldmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7O0FBeUJBLElBQUlBLFVBQVMsQ0FDVCxVQURTLEVBRVQ7QUFDSUMsU0FBTyxnQkFEWDtBQUVJQyxRQUFNLElBRlY7QUFHSUMsUUFBTTtBQUhWLENBRlMsRUFPVDtBQUNJRixTQUFPLGVBRFg7QUFFSUMsUUFBTSxNQUZWO0FBR0lDLFFBQU0sV0FIVjtBQUlJQyxVQUFPO0FBSlgsQ0FQUyxDQUFiOztBQXNCQUMsUUFBUUMsR0FBUixDQUFZTixPQUFaO0FBQ08sSUFBTU8sb0NBQWM7QUFDdkJDLE9BQUssZ0JBRGtCO0FBRXZCQyxRQUFNLE1BRmlCO0FBR3ZCQyxTQUFNLENBSGlCO0FBSXZCVixXQUFRQTtBQUplLENBQXBCIiwiZmlsZSI6IjcyMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAgTm90ZSDlt6XlhbfnsbtcclxuICovXHJcbmltcG9ydCB7Y29tbW9uVG9vbH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jb21tb25cIlxyXG4vKlxyXG5Ob3RlIOWumuS5ieiHquWumuS5ieWxnuaAp++8jOWFrOWFseWxnuaAp+S7jmNvbW1vbuaWh+S7tumHjOivu+WPllxyXG5hdXRob3Ig5Y+256ug5rWpXHJcbuWmguaenOaYr2xhYmVsIOi/meS4quaJqeWxleWxnuaApyDkuI3noa7lrprvvIznu5nkuIDkuKrmlofmnKzmoYborqnku5bloavlhplrZXnvvIzkuIDkuKrmlofmnKzmoYbloavlhpl2YWx1ZVxyXG7mr5TlpoLlh7rnjrDov5nnp43mg4XlhrUgICB7XHJcbiAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcImxhYmVsXCIsXHJcbiAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjogXCLkvIHkuJrlkI3np7BcIixcclxuICAgICAgICAgICAgICAgICAgXCJwcm9wXCI6IFwiYXBwbHlOYW1lXCIsXHJcbiAgICAgICAgICAgICAgICAgIFwiZXh0ZW5kXCI6IHtcclxuICAgICAgICAgICAgICAgICAgICBcImxpbmthZ2VDaGFuZ2VWYWx1ZVwiOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcIm91dFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImNoYW5nZUtleVwiOiBcImN1c3RvbWVyRnVsbE5hbWVcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJub0NoYW5nZUV4aXN0XCI6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVzXCI6IFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNoYW5nZVBhcmFtXCI6IFwiYXBwbHlOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAqL1xyXG5sZXQgZWRpdG9ycz0gW1xyXG4gICAgJ+WxnuaApyjml7bpl7TmoIfnrb4pJyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmxhYmVsJyxcclxuICAgICAgICB0ZXh0OiAn5qCH562+JyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LnByb3AnLFxyXG4gICAgICAgIHRleHQ6ICflsZ7mgKflkI3np7AnLFxyXG4gICAgICAgIHR5cGU6ICdyZXFTZWxlY3QnLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZSdcclxuICAgIH1cclxuICAgIC8vICfmianlsZXlsZ7mgKcnLFxyXG4gICAgLy8gJ2xpbmthZ2VDaGFuZ2VWYWx1ZScsXHJcbiAgICAvLyB7XHJcbiAgICAvLyAgICAgZmllbGQ6ICdleHRlbmQubGlua2FnZUNoYW5nZVZhbHVlJyxcclxuICAgIC8vICAgICB0ZXh0OiAn6IGU5YqoJyxcclxuICAgIC8vICAgICB0eXBlOiAnbGlua2FnZUNoYW5nZVZhbHVlJ1xyXG4gICAgLy8gfSxcclxuXTtcclxuLy8gY29tbW9uVG9vbC5hc3NlbWJsZURhdGEoZWRpdG9ycyk7XHJcbmNvbnNvbGUubG9nKGVkaXRvcnMpO1xyXG5leHBvcnQgY29uc3QgZWRpdFNldHRpbmcgPSB7XHJcbiAgICBrZXk6ICdnYWVhLXRpbWVMYWJlbCcsXHJcbiAgICBuYW1lOiAn5pe26Ze05qCH562+JyxcclxuICAgIGxldmVsOjQsXHJcbiAgICBlZGl0b3JzOmVkaXRvcnMsXHJcbn07XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdGltZUxhYmVsL3Byb3BlcnR5LmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///720\n");
4819
4820/***/ }),
4821/* 721 */
4822/***/ (function(module, __webpack_exports__, __webpack_require__) {
4823
4824"use strict";
4825eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"formDiv\" }, [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [\n _vm.type === \"label\"\n ? _c(\"Label\", [\n _vm._v(\"\\n \" + _vm._s(_vm.property.label) + \"\\n \")\n ])\n : _vm._e()\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-6860791a\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWVMYWJlbC9pbmRleC52dWU/NWNhYiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQix5QkFBeUI7QUFDN0M7QUFDQTtBQUNBLE9BQU8sOEJBQThCO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI3MjEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwiZm9ybURpdlwiIH0sIFtcbiAgICBfYyhcbiAgICAgIFwiZGl2XCIsXG4gICAgICB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXYtbGVmdFwiIH0sXG4gICAgICBbXG4gICAgICAgIF92bS50eXBlID09PSBcImxhYmVsXCJcbiAgICAgICAgICA/IF9jKFwiTGFiZWxcIiwgW1xuICAgICAgICAgICAgICBfdm0uX3YoXCJcXG4gICAgICBcIiArIF92bS5fcyhfdm0ucHJvcGVydHkubGFiZWwpICsgXCJcXG4gICAgXCIpXG4gICAgICAgICAgICBdKVxuICAgICAgICAgIDogX3ZtLl9lKClcbiAgICAgIF0sXG4gICAgICAxXG4gICAgKVxuICBdKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtNjg2MDc5MWFcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtNjg2MDc5MWFcIixcImhhc1Njb3BlZFwiOnRydWUsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWVMYWJlbC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDcyMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///721\n");
4826
4827/***/ }),
4828/* 722 */
4829/***/ (function(module, __webpack_exports__, __webpack_require__) {
4830
4831"use strict";
4832eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(188);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_123af67c_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(726);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(723)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-123af67c\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_123af67c_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/timeRange/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-123af67c\", Component.options)\n } else {\n hotAPI.reload(\"data-v-123af67c\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWVSYW5nZS9pbmRleC52dWU/N2ZiOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQXFWO0FBQy9WO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBd0Y7QUFDekg7QUFDd0k7QUFDYTtBQUNySjtBQUNtVDtBQUNuVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsaVFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI3MjIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xMjNhZjY3Y1xcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi0xMjNhZjY3Y1xcXCIsXFxcImhhc1Njb3BlZFxcXCI6dHJ1ZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBcImRhdGEtdi0xMjNhZjY3Y1wiXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWVSYW5nZS9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtMTIzYWY2N2NcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi0xMjNhZjY3Y1wiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdGltZVJhbmdlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzIyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///722\n");
4833
4834/***/ }),
4835/* 723 */
4836/***/ (function(module, exports, __webpack_require__) {
4837
4838eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(724);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"02d4afdd\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-123af67c\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-123af67c\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWVSYW5nZS9pbmRleC52dWU/MWQ2YSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUE4VztBQUNwWSw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQWlHLGdDQUFnQztBQUN0SjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSxtTUFBbU0sa0ZBQWtGO0FBQ3JSLDRNQUE0TSxrRkFBa0Y7QUFDOVI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI3MjMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMTIzYWY2N2NcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiMDJkNGFmZGRcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTEyM2FmNjdjXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMTIzYWY2N2NcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0xMjNhZjY3Y1wiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdGltZVJhbmdlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzIzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///723\n");
4839
4840/***/ }),
4841/* 724 */
4842/***/ (function(module, exports, __webpack_require__) {
4843
4844eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formDiv[data-v-123af67c]{\\n display: inline-block;\\n line-height: 60px;\\n text-align: left;\\n}\\n.formDiv-left[data-v-123af67c] {\\n display:inline-block;\\n width: 35%;\\n text-align:right;\\n font-size:15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.timeStyle[data-v-123af67c] {\\n width: 50%;\\n}\\n.formDiv-right[data-v-123af67c] {\\n width: 60%;\\n position: relative;\\n display:inline-block;\\n float: right;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/timeRange/myPlugin/page-ide/lib/components/levelThree/timeRange/index.vue\"],\"names\":[],\"mappings\":\";AAiEA;IACA,sBAAA;IACA,kBAAA;IACA,iBAAA;CACA;AACA;IACA,qBAAA;IACA,WAAA;IACA,iBAAA;IACA,eAAA;IACA,YAAA;IACA,eAAA;CACA;AACA;IACA,WAAA;CACA;AACA;IACA,WAAA;IACA,mBAAA;IACA,qBAAA;IACA,aAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formDiv\\\" @mouseenter=\\\"show\\\" @mouseleave=\\\"hide\\\">\\r\\n <div class=\\\"formDiv-left\\\">\\r\\n <Label :style=\\\"{marginLeft:'5px'}\\\">{{property.label}}</Label>\\r\\n </div>\\r\\n <div class=\\\"formDiv-right\\\">\\r\\n <TimePicker\\r\\n type=\\\"timerange\\\"\\r\\n :editable=\\\"false\\\"\\r\\n :format=\\\"extend.type\\\"\\r\\n :placeholder=extend.placeholder\\r\\n class=\\\"timeStyle\\\"\\r\\n >\\r\\n </TimePicker >\\r\\n </div>\\r\\n <commomHoverModal ref=\\\"commomHoverModal\\\" ></commomHoverModal>\\r\\n\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\n /**\\r\\n *@author 黄佳\\r\\n *@date 2019/9/26 14:45\\r\\n *@Copyright 天源迪科信息技术股份有限公司\\r\\n *@Description\\r\\n */\\r\\n import commomHoverModal from '../../common/commomHoverModal'\\r\\n\\r\\n import {editSetting} from './property';\\r\\n export default {\\r\\n name: \\\"timeRange\\\",\\r\\n data () {\\r\\n return {\\r\\n property:{\\r\\n label : '时间区间',\\r\\n },\\r\\n extend:{\\r\\n placeholder:\\\"\\\",\\r\\n type:\\\"HH:mm:ss\\\",\\r\\n },\\r\\n text: 'input',\\r\\n styles: {},\\r\\n type: 'time-timerange',\\r\\n level: editSetting.level,\\r\\n };\\r\\n },\\r\\n components:{\\r\\n commomHoverModal\\r\\n },\\r\\n methods:{\\r\\n show(){\\r\\n this.$refs.commomHoverModal.handleMouseEnter();\\r\\n },\\r\\n hide(){\\r\\n this.$refs.commomHoverModal.handleMouseLeave();\\r\\n }\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n }\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .formDiv{\\r\\n display: inline-block;\\r\\n line-height: 60px;\\r\\n text-align: left;\\r\\n }\\r\\n .formDiv-left {\\r\\n display:inline-block;\\r\\n width: 35%;\\r\\n text-align:right;\\r\\n font-size:15px;\\r\\n float: left;\\r\\n margin: 0 10px;\\r\\n }\\r\\n .timeStyle {\\r\\n width: 50%;\\r\\n }\\r\\n .formDiv-right {\\r\\n width: 60%;\\r\\n position: relative;\\r\\n display:inline-block;\\r\\n float: right;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWVSYW5nZS9pbmRleC52dWU/ZDNkMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUErRTtBQUNsSDs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsK0JBQStCLDRCQUE0Qix3QkFBd0IsdUJBQXVCLEdBQUcsa0NBQWtDLDJCQUEyQixpQkFBaUIsdUJBQXVCLHFCQUFxQixrQkFBa0IscUJBQXFCLEdBQUcsK0JBQStCLGlCQUFpQixHQUFHLG1DQUFtQyxpQkFBaUIseUJBQXlCLDJCQUEyQixtQkFBbUIsR0FBRyxVQUFVLGlNQUFpTSxNQUFNLFdBQVcsV0FBVyxXQUFXLEtBQUssS0FBSyxXQUFXLFVBQVUsV0FBVyxVQUFVLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxXQUFXLFdBQVcsVUFBVSwwTUFBME0saUJBQWlCLEtBQUssZ0JBQWdCLHN1QkFBc3VCLFlBQVksbUJBQW1CLHdCQUF3QixxREFBcUQsd0JBQXdCLDhCQUE4Qiw0REFBNEQsNkJBQTZCLHdHQUF3RyxpRUFBaUUsMkdBQTJHLGFBQWEseUJBQXlCLDZDQUE2QyxzQkFBc0IsdUJBQXVCLG1FQUFtRSxpQkFBaUIsd0JBQXdCLG1FQUFtRSxpQkFBaUIsYUFBYSx3R0FBd0csb0RBQW9ELGtDQUFrQyw4QkFBOEIsNkJBQTZCLFNBQVMsdUJBQXVCLGlDQUFpQyx1QkFBdUIsNkJBQTZCLDJCQUEyQix3QkFBd0IsMkJBQTJCLFNBQVMsb0JBQW9CLHVCQUF1QixTQUFTLHdCQUF3Qix1QkFBdUIsK0JBQStCLGlDQUFpQyx5QkFBeUIsU0FBUyxtQ0FBbUM7O0FBRTF6RyIsImZpbGUiOiI3MjQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG4uZm9ybURpdltkYXRhLXYtMTIzYWY2N2Nde1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG4uZm9ybURpdi1sZWZ0W2RhdGEtdi0xMjNhZjY3Y10ge1xcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXG4gICAgd2lkdGg6IDM1JTtcXG4gICAgdGV4dC1hbGlnbjpyaWdodDtcXG4gICAgZm9udC1zaXplOjE1cHg7XFxuICAgIGZsb2F0OiBsZWZ0O1xcbiAgICBtYXJnaW46IDAgMTBweDtcXG59XFxuLnRpbWVTdHlsZVtkYXRhLXYtMTIzYWY2N2NdIHtcXG4gICAgd2lkdGg6IDUwJTtcXG59XFxuLmZvcm1EaXYtcmlnaHRbZGF0YS12LTEyM2FmNjdjXSB7XFxuICAgIHdpZHRoOiA2MCU7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxuICAgIGZsb2F0OiByaWdodDtcXG59XFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIkU6L3Byb2plY3QvcGFnZS1pZGUteGlhbi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWVSYW5nZS9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWVSYW5nZS9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQWlFQTtJQUNBLHNCQUFBO0lBQ0Esa0JBQUE7SUFDQSxpQkFBQTtDQUNBO0FBQ0E7SUFDQSxxQkFBQTtJQUNBLFdBQUE7SUFDQSxpQkFBQTtJQUNBLGVBQUE7SUFDQSxZQUFBO0lBQ0EsZUFBQTtDQUNBO0FBQ0E7SUFDQSxXQUFBO0NBQ0E7QUFDQTtJQUNBLFdBQUE7SUFDQSxtQkFBQTtJQUNBLHFCQUFBO0lBQ0EsYUFBQTtDQUNBXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZXNDb250ZW50XCI6W1wiPHRlbXBsYXRlPlxcclxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2XFxcIiAgIEBtb3VzZWVudGVyPVxcXCJzaG93XFxcIiBAbW91c2VsZWF2ZT1cXFwiaGlkZVxcXCI+XFxyXFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2LWxlZnRcXFwiPlxcclxcbiAgICAgICAgICAgIDxMYWJlbCA6c3R5bGU9XFxcInttYXJnaW5MZWZ0Oic1cHgnfVxcXCI+e3twcm9wZXJ0eS5sYWJlbH19PC9MYWJlbD5cXHJcXG4gICAgICAgIDwvZGl2PlxcclxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybURpdi1yaWdodFxcXCI+XFxyXFxuICAgICAgICAgICAgPFRpbWVQaWNrZXJcXHJcXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XFxcInRpbWVyYW5nZVxcXCJcXHJcXG4gICAgICAgICAgICAgICAgICAgIDplZGl0YWJsZT1cXFwiZmFsc2VcXFwiXFxyXFxuICAgICAgICAgICAgICAgICAgICA6Zm9ybWF0PVxcXCJleHRlbmQudHlwZVxcXCJcXHJcXG4gICAgICAgICAgICAgICAgICAgIDpwbGFjZWhvbGRlcj1leHRlbmQucGxhY2Vob2xkZXJcXHJcXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVxcXCJ0aW1lU3R5bGVcXFwiXFxyXFxuICAgICAgICAgICAgPlxcclxcbiAgICAgICAgICAgIDwvVGltZVBpY2tlciA+XFxyXFxuICAgICAgICA8L2Rpdj5cXHJcXG4gICAgICAgIDxjb21tb21Ib3Zlck1vZGFsIHJlZj1cXFwiY29tbW9tSG92ZXJNb2RhbFxcXCIgPjwvY29tbW9tSG92ZXJNb2RhbD5cXHJcXG5cXHJcXG4gICAgPC9kaXY+XFxyXFxuPC90ZW1wbGF0ZT5cXHJcXG5cXHJcXG48c2NyaXB0PlxcclxcbiAgICAvKipcXHJcXG4gICAgICpAYXV0aG9yICAgICDpu4TkvbNcXHJcXG4gICAgICpAZGF0ZSAgICAgICAyMDE5LzkvMjYgIDE0OjQ1XFxyXFxuICAgICAqQENvcHlyaWdodCDlpKnmupDov6rnp5Hkv6Hmga/mioDmnK/ogqHku73mnInpmZDlhazlj7hcXHJcXG4gICAgICpARGVzY3JpcHRpb25cXHJcXG4gICAgICovXFxyXFxuICAgIGltcG9ydCBjb21tb21Ib3Zlck1vZGFsIGZyb20gJy4uLy4uL2NvbW1vbi9jb21tb21Ib3Zlck1vZGFsJ1xcclxcblxcclxcbiAgICBpbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcXHJcXG4gICAgZXhwb3J0IGRlZmF1bHQge1xcclxcbiAgICAgICAgbmFtZTogXFxcInRpbWVSYW5nZVxcXCIsXFxyXFxuICAgICAgICBkYXRhICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4ge1xcclxcbiAgICAgICAgICAgICAgICBwcm9wZXJ0eTp7XFxyXFxuICAgICAgICAgICAgICAgICAgICBsYWJlbCA6ICfml7bpl7TljLrpl7QnLFxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICBleHRlbmQ6e1xcclxcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6XFxcIlxcXCIsXFxyXFxuICAgICAgICAgICAgICAgICAgICB0eXBlOlxcXCJISDptbTpzc1xcXCIsXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIHRleHQ6ICdpbnB1dCcsXFxyXFxuICAgICAgICAgICAgICAgIHN0eWxlczoge30sXFxyXFxuICAgICAgICAgICAgICAgIHR5cGU6ICd0aW1lLXRpbWVyYW5nZScsXFxyXFxuICAgICAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcXHJcXG4gICAgICAgICAgICB9O1xcclxcbiAgICAgICAgfSxcXHJcXG4gICAgICAgIGNvbXBvbmVudHM6e1xcclxcbiAgICAgICAgICAgIGNvbW1vbUhvdmVyTW9kYWxcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBtZXRob2RzOntcXHJcXG4gICAgICAgICAgICBzaG93KCl7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMuY29tbW9tSG92ZXJNb2RhbC5oYW5kbGVNb3VzZUVudGVyKCk7XFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICBoaWRlKCl7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMuY29tbW9tSG92ZXJNb2RhbC5oYW5kbGVNb3VzZUxlYXZlKCk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSxcXHJcXG4gICAgICAgIGVkaXRTZXR0aW5nLFxcclxcbiAgICAgICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxcclxcbiAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXFxyXFxuICAgIH1cXHJcXG48L3NjcmlwdD5cXHJcXG5cXHJcXG48c3R5bGUgc2NvcGVkPlxcclxcbiAgICAuZm9ybURpdntcXHJcXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXHJcXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xcclxcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcXHJcXG4gICAgfVxcclxcbiAgICAuZm9ybURpdi1sZWZ0IHtcXHJcXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcclxcbiAgICAgICAgd2lkdGg6IDM1JTtcXHJcXG4gICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XFxyXFxuICAgICAgICBmb250LXNpemU6MTVweDtcXHJcXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xcclxcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XFxyXFxuICAgIH1cXHJcXG4gICAgLnRpbWVTdHlsZSB7XFxyXFxuICAgICAgICB3aWR0aDogNTAlO1xcclxcbiAgICB9XFxyXFxuICAgIC5mb3JtRGl2LXJpZ2h0IHtcXHJcXG4gICAgICAgIHdpZHRoOiA2MCU7XFxyXFxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxyXFxuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXHJcXG4gICAgICAgIGZsb2F0OiByaWdodDtcXHJcXG4gICAgfVxcclxcbjwvc3R5bGU+XFxyXFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTEyM2FmNjdjXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS90aW1lUmFuZ2UvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3MjRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///724\n");
4845
4846/***/ }),
4847/* 725 */
4848/***/ (function(module, exports, __webpack_require__) {
4849
4850"use strict";
4851eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = [{\n field: 'property.title',\n text: '时间区间',\n type: 'title'\n}, {\n field: 'property.prop',\n text: '属性名称',\n type: 'reqSelect',\n isShow: 'hide'\n}, {\n field: 'property.label',\n text: '标题',\n maxFont: '20',\n type: 'string'\n}, {\n field: 'property.busiId',\n text: '标题',\n isShow: 'hide',\n type: 'string'\n}, {\n field: 'extend.placeholder',\n text: '提示文字',\n maxFont: '50',\n maxInputFont: '1000',\n type: 'string'\n}, {\n field: 'extend.type',\n text: 'type',\n type: 'string',\n value: 'timerange',\n isShow: 'hide'\n}, {\n field: 'extend.format',\n text: 'format',\n type: 'string',\n value: \"HH:mm:ss\",\n isShow: 'hide'\n}, {\n field: 'extend.itemWidth',\n text: 'itemWidth',\n type: 'number',\n value: 320,\n isShow: 'hide'\n}, {\n field: 'data.heightLevel',\n text: '是否显示',\n type: 'validateInput'\n}];\n\n_common.commonTool.assembleData(editors);\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-date-time-timerange',\n name: '时间区间',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWVSYW5nZS9wcm9wZXJ0eS5qcz85ZGMzIl0sIm5hbWVzIjpbImVkaXRvcnMiLCJmaWVsZCIsInRleHQiLCJ0eXBlIiwiaXNTaG93IiwibWF4Rm9udCIsIm1heElucHV0Rm9udCIsInZhbHVlIiwiY29tbW9uVG9vbCIsImFzc2VtYmxlRGF0YSIsImNvbnNvbGUiLCJsb2ciLCJlZGl0U2V0dGluZyIsImtleSIsIm5hbWUiLCJsZXZlbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQVNBOztBQUlBLElBQUlBLFVBQVMsQ0FDVDtBQUNJQyxXQUFPLGdCQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0FEUyxFQU1UO0FBQ0lGLFdBQU8sZUFEWDtBQUVJQyxVQUFNLE1BRlY7QUFHSUMsVUFBTSxXQUhWO0FBSUlDLFlBQU87QUFKWCxDQU5TLEVBWVQ7QUFDSUgsV0FBTyxnQkFEWDtBQUVJQyxVQUFNLElBRlY7QUFHSUcsYUFBUSxJQUhaO0FBSUlGLFVBQU07QUFKVixDQVpTLEVBa0JUO0FBQ0lGLFdBQU8saUJBRFg7QUFFSUMsVUFBTSxJQUZWO0FBR0lFLFlBQU8sTUFIWDtBQUlJRCxVQUFNO0FBSlYsQ0FsQlMsRUF3QlQ7QUFDSUYsV0FBTyxvQkFEWDtBQUVJQyxVQUFNLE1BRlY7QUFHSUcsYUFBUSxJQUhaO0FBSUlDLGtCQUFhLE1BSmpCO0FBS0lILFVBQU07QUFMVixDQXhCUyxFQStCVDtBQUNJRixXQUFPLGFBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU0sUUFIVjtBQUlJSSxXQUFPLFdBSlg7QUFLSUgsWUFBTztBQUxYLENBL0JTLEVBc0NUO0FBQ0lILFdBQU8sZUFEWDtBQUVJQyxVQUFNLFFBRlY7QUFHSUMsVUFBTSxRQUhWO0FBSUlJLFdBQU8sVUFKWDtBQUtJSCxZQUFPO0FBTFgsQ0F0Q1MsRUE2Q1Q7QUFDSUgsV0FBTyxrQkFEWDtBQUVJQyxVQUFNLFdBRlY7QUFHSUMsVUFBTSxRQUhWO0FBSUlJLFdBQU8sR0FKWDtBQUtJSCxZQUFPO0FBTFgsQ0E3Q1MsRUFvRFQ7QUFDSUgsV0FBTyxrQkFEWDtBQUVJQyxVQUFNLE1BRlY7QUFHSUMsVUFBTTtBQUhWLENBcERTLENBQWI7O0FBMkRBSyxtQkFBV0MsWUFBWCxDQUF3QlQsT0FBeEI7QUFDQVUsUUFBUUMsR0FBUixDQUFZWCxPQUFaO0FBQ08sSUFBTVksb0NBQWM7QUFDdkJDLFNBQUssMEJBRGtCO0FBRXZCQyxVQUFNLE1BRmlCO0FBR3ZCQyxXQUFNLENBSGlCO0FBSXZCZixhQUFRQTtBQUplLENBQXBCIiwiZmlsZSI6IjcyNS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKkBhdXRob3IgICAgIOm7hOS9s1xyXG4gKkBkYXRlICAgICAgIDIwMTkvOS8yNiAgMTQ6NDZcclxuICpAQ29weXJpZ2h0IOWkqea6kOi/quenkeS/oeaBr+aKgOacr+iCoeS7veaciemZkOWFrOWPuFxyXG4gKkBEZXNjcmlwdGlvblxyXG4gKi9cclxuLypcclxuICBOb3RlIOW3peWFt+exu1xyXG4gKi9cclxuaW1wb3J0IHtjb21tb25Ub29sfSBmcm9tIFwiLi4vLi4vY29tbW9uL2NvbW1vblwiXHJcbi8qXHJcbk5vdGUg5a6a5LmJ6Ieq5a6a5LmJ5bGe5oCn77yM5YWs5YWx5bGe5oCn5LuOY29tbW9u5paH5Lu26YeM6K+75Y+WXHJcbiAqL1xyXG5sZXQgZWRpdG9ycz0gW1xyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkudGl0bGUnLFxyXG4gICAgICAgIHRleHQ6ICfml7bpl7TljLrpl7QnLFxyXG4gICAgICAgIHR5cGU6ICd0aXRsZSdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5wcm9wJyxcclxuICAgICAgICB0ZXh0OiAn5bGe5oCn5ZCN56ewJyxcclxuICAgICAgICB0eXBlOiAncmVxU2VsZWN0JyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmxhYmVsJyxcclxuICAgICAgICB0ZXh0OiAn5qCH6aKYJyxcclxuICAgICAgICBtYXhGb250OicyMCcsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5idXNpSWQnLFxyXG4gICAgICAgIHRleHQ6ICfmoIfpopgnLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZScsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdleHRlbmQucGxhY2Vob2xkZXInLFxyXG4gICAgICAgIHRleHQ6ICfmj5DnpLrmloflrZcnLFxyXG4gICAgICAgIG1heEZvbnQ6JzUwJyxcclxuICAgICAgICBtYXhJbnB1dEZvbnQ6JzEwMDAnLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLnR5cGUnLFxyXG4gICAgICAgIHRleHQ6ICd0eXBlJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgICB2YWx1ZTogJ3RpbWVyYW5nZScsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5mb3JtYXQnLFxyXG4gICAgICAgIHRleHQ6ICdmb3JtYXQnLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICAgIHZhbHVlOiBcIkhIOm1tOnNzXCIsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5pdGVtV2lkdGgnLFxyXG4gICAgICAgIHRleHQ6ICdpdGVtV2lkdGgnLFxyXG4gICAgICAgIHR5cGU6ICdudW1iZXInLFxyXG4gICAgICAgIHZhbHVlOiAzMjAsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2RhdGEuaGVpZ2h0TGV2ZWwnLFxyXG4gICAgICAgIHRleHQ6ICfmmK/lkKbmmL7npLonLFxyXG4gICAgICAgIHR5cGU6ICd2YWxpZGF0ZUlucHV0J1xyXG4gICAgfVxyXG5dO1xyXG5cclxuY29tbW9uVG9vbC5hc3NlbWJsZURhdGEoZWRpdG9ycyk7XHJcbmNvbnNvbGUubG9nKGVkaXRvcnMpO1xyXG5leHBvcnQgY29uc3QgZWRpdFNldHRpbmcgPSB7XHJcbiAgICBrZXk6ICdnYWVhLWRhdGUtdGltZS10aW1lcmFuZ2UnLFxyXG4gICAgbmFtZTogJ+aXtumXtOWMuumXtCcsXHJcbiAgICBsZXZlbDo0LFxyXG4gICAgZWRpdG9yczplZGl0b3JzXHJcbn07XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdGltZVJhbmdlL3Byb3BlcnR5LmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///725\n");
4852
4853/***/ }),
4854/* 726 */
4855/***/ (function(module, __webpack_exports__, __webpack_require__) {
4856
4857"use strict";
4858eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"formDiv\",\n on: { mouseenter: _vm.show, mouseleave: _vm.hide }\n },\n [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [\n _c(\"Label\", { style: { marginLeft: \"5px\" } }, [\n _vm._v(_vm._s(_vm.property.label))\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"formDiv-right\" },\n [\n _c(\"TimePicker\", {\n staticClass: \"timeStyle\",\n attrs: {\n type: \"timerange\",\n editable: false,\n format: _vm.extend.type,\n placeholder: _vm.extend.placeholder\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"commomHoverModal\", { ref: \"commomHoverModal\" })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-123af67c\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpbWVSYW5nZS9pbmRleC52dWU/YzRhZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxTQUFTLDhCQUE4QjtBQUN2QztBQUNBLHVCQUF1QixTQUFTLG9CQUFvQixFQUFFO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLCtCQUErQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsMEJBQTBCO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNzI2LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHtcbiAgICAgIHN0YXRpY0NsYXNzOiBcImZvcm1EaXZcIixcbiAgICAgIG9uOiB7IG1vdXNlZW50ZXI6IF92bS5zaG93LCBtb3VzZWxlYXZlOiBfdm0uaGlkZSB9XG4gICAgfSxcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJkaXZcIixcbiAgICAgICAgeyBzdGF0aWNDbGFzczogXCJmb3JtRGl2LWxlZnRcIiB9LFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXCJMYWJlbFwiLCB7IHN0eWxlOiB7IG1hcmdpbkxlZnQ6IFwiNXB4XCIgfSB9LCBbXG4gICAgICAgICAgICBfdm0uX3YoX3ZtLl9zKF92bS5wcm9wZXJ0eS5sYWJlbCkpXG4gICAgICAgICAgXSlcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfYyhcbiAgICAgICAgXCJkaXZcIixcbiAgICAgICAgeyBzdGF0aWNDbGFzczogXCJmb3JtRGl2LXJpZ2h0XCIgfSxcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFwiVGltZVBpY2tlclwiLCB7XG4gICAgICAgICAgICBzdGF0aWNDbGFzczogXCJ0aW1lU3R5bGVcIixcbiAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgIHR5cGU6IFwidGltZXJhbmdlXCIsXG4gICAgICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgZm9ybWF0OiBfdm0uZXh0ZW5kLnR5cGUsXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBfdm0uZXh0ZW5kLnBsYWNlaG9sZGVyXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfYyhcImNvbW1vbUhvdmVyTW9kYWxcIiwgeyByZWY6IFwiY29tbW9tSG92ZXJNb2RhbFwiIH0pXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTEyM2FmNjdjXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTEyM2FmNjdjXCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUaHJlZS90aW1lUmFuZ2UvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3MjZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///726\n");
4859
4860/***/ }),
4861/* 727 */
4862/***/ (function(module, __webpack_exports__, __webpack_require__) {
4863
4864"use strict";
4865eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(189);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_50204536_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(731);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(728)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-50204536\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_50204536_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/tip-alert/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-50204536\", Component.options)\n } else {\n hotAPI.reload(\"data-v-50204536\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpcC1hbGVydC9pbmRleC52dWU/YjRmOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQXFWO0FBQy9WO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBd0Y7QUFDekg7QUFDd0k7QUFDYTtBQUNySjtBQUNtVDtBQUNuVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsaVFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI3MjcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi01MDIwNDUzNlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi01MDIwNDUzNlxcXCIsXFxcImhhc1Njb3BlZFxcXCI6dHJ1ZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBcImRhdGEtdi01MDIwNDUzNlwiXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpcC1hbGVydC9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtNTAyMDQ1MzZcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi01MDIwNDUzNlwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdGlwLWFsZXJ0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzI3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///727\n");
4866
4867/***/ }),
4868/* 728 */
4869/***/ (function(module, exports, __webpack_require__) {
4870
4871eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(729);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"aa65a76e\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-50204536\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-50204536\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpcC1hbGVydC9pbmRleC52dWU/NjU1MCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUE4VztBQUNwWSw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQWlHLGdDQUFnQztBQUN0SjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSxtTUFBbU0sa0ZBQWtGO0FBQ3JSLDRNQUE0TSxrRkFBa0Y7QUFDOVI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI3MjguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNTAyMDQ1MzZcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiYWE2NWE3NmVcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTUwMjA0NTM2XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNTAyMDQ1MzZcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi01MDIwNDUzNlwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdGlwLWFsZXJ0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzI4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///728\n");
4872
4873/***/ }),
4874/* 729 */
4875/***/ (function(module, exports, __webpack_require__) {
4876
4877eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formDiv[data-v-50204536]{\\n display: inline-block;\\n line-height: 60px;\\n text-align: left;\\n}\\n.formDiv-left[data-v-50204536] {\\n display:inline-block;\\n width: 35%;\\n height:60px;\\n text-align:right;\\n font-size:15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.formDiv-right[data-v-50204536] {\\n width: 60%;\\n line-height: 60px;\\n position: relative;\\n display:inline-block;\\n float: right;\\n margin: 14px 0px 0px;\\n}\\n.tipAlert[data-v-50204536]{\\n width: 80%;\\n word-wrap:break-word;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/tip-alert/myPlugin/page-ide/lib/components/levelThree/tip-alert/index.vue\"],\"names\":[],\"mappings\":\";AAmEA;EACA,sBAAA;EACA,kBAAA;EACA,iBAAA;CACA;AACA;EACA,qBAAA;EACA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,eAAA;EACA,YAAA;EACA,eAAA;CACA;AACA;EACA,WAAA;EACA,kBAAA;EACA,mBAAA;EACA,qBAAA;EACA,aAAA;EACA,qBAAA;CACA;AACA;EACA,WAAA;IACA,qBAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formDiv\\\" @mouseenter=\\\"show\\\" @mouseleave=\\\"hide\\\">\\r\\n <div class=\\\"formDiv-left\\\">\\r\\n <Label :style=\\\"{marginLeft:'5px'}\\\"></Label>\\r\\n </div>\\r\\n <div class=\\\"formDiv-right\\\">\\r\\n <Alert class=\\\"tipAlert\\\" show-icon >\\r\\n <div v-html=\\\"extend.content\\\"\\r\\n :placeholder=extend.placeholder\\r\\n />\\r\\n </Alert>\\r\\n </div>\\r\\n <commomHoverModal ref=\\\"commomHoverModal\\\" ></commomHoverModal>\\r\\n\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport {editSetting} from './property';\\r\\n\\r\\nimport commomHoverModal from '../../common/commomHoverModal'\\r\\n\\r\\nexport default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n components:{\\r\\n commomHoverModal\\r\\n },\\r\\n methods:{\\r\\n show(){\\r\\n this.$refs.commomHoverModal.handleMouseEnter();\\r\\n },\\r\\n hide(){\\r\\n this.$refs.commomHoverModal.handleMouseLeave();\\r\\n }\\r\\n },\\r\\n data () {\\r\\n return {\\r\\n extend:{\\r\\n content : '无',\\r\\n },\\r\\n text: 'label',\\r\\n styles: {\\r\\n display:'inline-block',\\r\\n width:'40%',\\r\\n height:'60px',\\r\\n lineHeight:'60px',\\r\\n textAlign:'right',\\r\\n fontSize:'15px'\\r\\n },\\r\\n type: 'label',\\r\\n level: editSetting.level,\\r\\n };\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .formDiv{\\r\\n display: inline-block;\\r\\n line-height: 60px;\\r\\n text-align: left;\\r\\n }\\r\\n .formDiv-left {\\r\\n display:inline-block;\\r\\n width: 35%;\\r\\n height:60px;\\r\\n text-align:right;\\r\\n font-size:15px;\\r\\n float: left;\\r\\n margin: 0 10px;\\r\\n }\\r\\n .formDiv-right {\\r\\n width: 60%;\\r\\n line-height: 60px;\\r\\n position: relative;\\r\\n display:inline-block;\\r\\n float: right;\\r\\n margin: 14px 0px 0px;\\r\\n }\\r\\n .tipAlert{\\r\\n width: 80%;\\r\\n word-wrap:break-word;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpcC1hbGVydC9pbmRleC52dWU/NTU1MSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUErRTtBQUNsSDs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsK0JBQStCLDBCQUEwQixzQkFBc0IscUJBQXFCLEdBQUcsa0NBQWtDLHlCQUF5QixlQUFlLGdCQUFnQixxQkFBcUIsbUJBQW1CLGdCQUFnQixtQkFBbUIsR0FBRyxtQ0FBbUMsZUFBZSxzQkFBc0IsdUJBQXVCLHlCQUF5QixpQkFBaUIseUJBQXlCLEdBQUcsNkJBQTZCLGVBQWUsMkJBQTJCLEdBQUcsVUFBVSxpTUFBaU0sTUFBTSxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssV0FBVyxVQUFVLFVBQVUsV0FBVyxVQUFVLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsS0FBSyxLQUFLLFVBQVUsV0FBVyw4TEFBOEwsaUJBQWlCLHdYQUF3WCxZQUFZLG1CQUFtQiw0RkFBNEYsbUJBQW1CLHNCQUFzQix5RkFBeUYsc0VBQXNFLHFCQUFxQixxQ0FBcUMsa0JBQWtCLG1CQUFtQiwrREFBK0QsYUFBYSxvQkFBb0IsK0RBQStELGFBQWEsU0FBUyxrQkFBa0Isb0JBQW9CLHdCQUF3QixtREFBbUQsd0RBQXdELDZPQUE2TyxzRkFBc0YsU0FBUyx5RkFBeUYsa0RBQWtELDhCQUE4QiwwQkFBMEIseUJBQXlCLE9BQU8scUJBQXFCLDZCQUE2QixtQkFBbUIsb0JBQW9CLHlCQUF5Qix1QkFBdUIsb0JBQW9CLHVCQUF1QixPQUFPLHNCQUFzQixtQkFBbUIsMEJBQTBCLDJCQUEyQiw2QkFBNkIscUJBQXFCLDZCQUE2QixPQUFPLGdCQUFnQixtQkFBbUIsK0JBQStCLE9BQU8sbUNBQW1DOztBQUVueEciLCJmaWxlIjoiNzI5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLmZvcm1EaXZbZGF0YS12LTUwMjA0NTM2XXtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIGxpbmUtaGVpZ2h0OiA2MHB4O1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG59XFxuLmZvcm1EaXYtbGVmdFtkYXRhLXYtNTAyMDQ1MzZdIHtcXG4gIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcbiAgd2lkdGg6IDM1JTtcXG4gIGhlaWdodDo2MHB4O1xcbiAgdGV4dC1hbGlnbjpyaWdodDtcXG4gIGZvbnQtc2l6ZToxNXB4O1xcbiAgZmxvYXQ6IGxlZnQ7XFxuICBtYXJnaW46IDAgMTBweDtcXG59XFxuLmZvcm1EaXYtcmlnaHRbZGF0YS12LTUwMjA0NTM2XSB7XFxuICB3aWR0aDogNjAlO1xcbiAgbGluZS1oZWlnaHQ6IDYwcHg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OmlubGluZS1ibG9jaztcXG4gIGZsb2F0OiByaWdodDtcXG4gIG1hcmdpbjogMTRweCAwcHggMHB4O1xcbn1cXG4udGlwQWxlcnRbZGF0YS12LTUwMjA0NTM2XXtcXG4gIHdpZHRoOiA4MCU7XFxuICAgIHdvcmQtd3JhcDpicmVhay13b3JkO1xcbn1cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wiRTovcHJvamVjdC9wYWdlLWlkZS14aWFuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdGlwLWFsZXJ0L215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdGlwLWFsZXJ0L2luZGV4LnZ1ZVwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiO0FBbUVBO0VBQ0Esc0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0NBQ0E7QUFDQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtDQUNBO0FBQ0E7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLHFCQUFBO0VBQ0EsYUFBQTtFQUNBLHFCQUFBO0NBQ0E7QUFDQTtFQUNBLFdBQUE7SUFDQSxxQkFBQTtDQUNBXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZXNDb250ZW50XCI6W1wiPHRlbXBsYXRlPlxcclxcbiAgPGRpdiBjbGFzcz1cXFwiZm9ybURpdlxcXCIgICBAbW91c2VlbnRlcj1cXFwic2hvd1xcXCIgQG1vdXNlbGVhdmU9XFxcImhpZGVcXFwiPlxcclxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2LWxlZnRcXFwiPlxcclxcbiAgICAgIDxMYWJlbCA6c3R5bGU9XFxcInttYXJnaW5MZWZ0Oic1cHgnfVxcXCI+PC9MYWJlbD5cXHJcXG4gICAgPC9kaXY+XFxyXFxuICAgIDxkaXYgY2xhc3M9XFxcImZvcm1EaXYtcmlnaHRcXFwiPlxcclxcbiAgICAgIDxBbGVydCAgY2xhc3M9XFxcInRpcEFsZXJ0XFxcIiBzaG93LWljb24gPlxcclxcbiAgICAgICAgPGRpdiB2LWh0bWw9XFxcImV4dGVuZC5jb250ZW50XFxcIlxcclxcbiAgICAgICAgICAgICA6cGxhY2Vob2xkZXI9ZXh0ZW5kLnBsYWNlaG9sZGVyXFxyXFxuICAgICAgICAvPlxcclxcbiAgICAgIDwvQWxlcnQ+XFxyXFxuICAgIDwvZGl2PlxcclxcbiAgICA8Y29tbW9tSG92ZXJNb2RhbCByZWY9XFxcImNvbW1vbUhvdmVyTW9kYWxcXFwiID48L2NvbW1vbUhvdmVyTW9kYWw+XFxyXFxuXFxyXFxuICA8L2Rpdj5cXHJcXG48L3RlbXBsYXRlPlxcclxcblxcclxcbjxzY3JpcHQ+XFxyXFxuaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XFxyXFxuXFxyXFxuaW1wb3J0IGNvbW1vbUhvdmVyTW9kYWwgZnJvbSAnLi4vLi4vY29tbW9uL2NvbW1vbUhvdmVyTW9kYWwnXFxyXFxuXFxyXFxuZXhwb3J0IGRlZmF1bHQge1xcclxcbiAgICAvLyBwcm9wczoge1xcclxcbiAgICAvLyAgICAgdGV4dDoge1xcclxcbiAgICAvLyAgICAgICAgIHR5cGU6IFN0cmluZyxcXHJcXG4gICAgLy8gICAgICAgICBkZWZhdWx0OiAnQnV0dG9uIFRleHQnXFxyXFxuICAgIC8vICAgICB9LFxcclxcbiAgICAvLyAgICAgdHlwZTogU3RyaW5nLFxcclxcbiAgICAvLyAgICAgc3R5bGVzOiBPYmplY3RcXHJcXG4gICAgLy8gfSxcXHJcXG4gICAgY29tcG9uZW50czp7XFxyXFxuICAgICAgICBjb21tb21Ib3Zlck1vZGFsXFxyXFxuICAgIH0sXFxyXFxuICAgIG1ldGhvZHM6e1xcclxcbiAgICAgICAgc2hvdygpe1xcclxcbiAgICAgICAgICAgIHRoaXMuJHJlZnMuY29tbW9tSG92ZXJNb2RhbC5oYW5kbGVNb3VzZUVudGVyKCk7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgaGlkZSgpe1xcclxcbiAgICAgICAgICAgIHRoaXMuJHJlZnMuY29tbW9tSG92ZXJNb2RhbC5oYW5kbGVNb3VzZUxlYXZlKCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH0sXFxyXFxuICAgIGRhdGEgKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHtcXHJcXG4gICAgICAgICAgICBleHRlbmQ6e1xcclxcbiAgICAgICAgICAgICAgICBjb250ZW50IDogJ+aXoCcsXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICB0ZXh0OiAnbGFiZWwnLFxcclxcbiAgICAgICAgICAgIHN0eWxlczoge1xcclxcbiAgICAgICAgICAgICAgICBkaXNwbGF5OidpbmxpbmUtYmxvY2snLFxcclxcbiAgICAgICAgICAgICAgICB3aWR0aDonNDAlJyxcXHJcXG4gICAgICAgICAgICAgICAgaGVpZ2h0Oic2MHB4JyxcXHJcXG4gICAgICAgICAgICAgICAgbGluZUhlaWdodDonNjBweCcsXFxyXFxuICAgICAgICAgICAgICAgIHRleHRBbGlnbjoncmlnaHQnLFxcclxcbiAgICAgICAgICAgICAgICBmb250U2l6ZTonMTVweCdcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIHR5cGU6ICdsYWJlbCcsXFxyXFxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgfSxcXHJcXG4gICAgZWRpdFNldHRpbmcsXFxyXFxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcXHJcXG4gICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXFxyXFxufTtcXHJcXG48L3NjcmlwdD5cXHJcXG5cXHJcXG48c3R5bGUgc2NvcGVkPlxcclxcbiAgLmZvcm1EaXZ7XFxyXFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXHJcXG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XFxyXFxuICAgIHRleHQtYWxpZ246IGxlZnQ7XFxyXFxuICB9XFxyXFxuICAuZm9ybURpdi1sZWZ0IHtcXHJcXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgIHdpZHRoOiAzNSU7XFxyXFxuICAgIGhlaWdodDo2MHB4O1xcclxcbiAgICB0ZXh0LWFsaWduOnJpZ2h0O1xcclxcbiAgICBmb250LXNpemU6MTVweDtcXHJcXG4gICAgZmxvYXQ6IGxlZnQ7XFxyXFxuICAgIG1hcmdpbjogMCAxMHB4O1xcclxcbiAgfVxcclxcbiAgLmZvcm1EaXYtcmlnaHQge1xcclxcbiAgICB3aWR0aDogNjAlO1xcclxcbiAgICBsaW5lLWhlaWdodDogNjBweDtcXHJcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcclxcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXHJcXG4gICAgZmxvYXQ6IHJpZ2h0O1xcclxcbiAgICBtYXJnaW46IDE0cHggMHB4IDBweDtcXHJcXG4gIH1cXHJcXG4gIC50aXBBbGVydHtcXHJcXG4gICAgd2lkdGg6IDgwJTtcXHJcXG4gICAgICB3b3JkLXdyYXA6YnJlYWstd29yZDtcXHJcXG4gIH1cXHJcXG48L3N0eWxlPlxcclxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi01MDIwNDUzNlwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdGlwLWFsZXJ0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzI5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///729\n");
4878
4879/***/ }),
4880/* 730 */
4881/***/ (function(module, exports, __webpack_require__) {
4882
4883"use strict";
4884eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = ['属性(警告标签)', {\n field: 'extend.content',\n text: '警告内容',\n maxFont: '50',\n type: 'string'\n}];\n\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-tip-alert',\n name: '警告标签',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpcC1hbGVydC9wcm9wZXJ0eS5qcz9iMmM0Il0sIm5hbWVzIjpbImVkaXRvcnMiLCJmaWVsZCIsInRleHQiLCJtYXhGb250IiwidHlwZSIsImNvbnNvbGUiLCJsb2ciLCJlZGl0U2V0dGluZyIsImtleSIsIm5hbWUiLCJsZXZlbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBOztBQXlCQSxJQUFJQSxVQUFTLENBQ1QsVUFEUyxFQUVUO0FBQ0lDLFNBQU8sZ0JBRFg7QUFFSUMsUUFBTSxNQUZWO0FBR0lDLFdBQVEsSUFIWjtBQUlJQyxRQUFNO0FBSlYsQ0FGUyxDQUFiOztBQWlCQUMsUUFBUUMsR0FBUixDQUFZTixPQUFaO0FBQ08sSUFBTU8sb0NBQWM7QUFDdkJDLE9BQUssZ0JBRGtCO0FBRXZCQyxRQUFNLE1BRmlCO0FBR3ZCQyxTQUFNLENBSGlCO0FBSXZCVixXQUFRQTtBQUplLENBQXBCIiwiZmlsZSI6IjczMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAgTm90ZSDlt6XlhbfnsbtcclxuICovXHJcbmltcG9ydCB7Y29tbW9uVG9vbH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jb21tb25cIlxyXG4vKlxyXG5Ob3RlIOWumuS5ieiHquWumuS5ieWxnuaAp++8jOWFrOWFseWxnuaAp+S7jmNvbW1vbuaWh+S7tumHjOivu+WPllxyXG5hdXRob3Ig5Y+256ug5rWpXHJcbuWmguaenOaYr2xhYmVsIOi/meS4quaJqeWxleWxnuaApyDkuI3noa7lrprvvIznu5nkuIDkuKrmlofmnKzmoYborqnku5bloavlhplrZXnvvIzkuIDkuKrmlofmnKzmoYbloavlhpl2YWx1ZVxyXG7mr5TlpoLlh7rnjrDov5nnp43mg4XlhrUgICB7XHJcbiAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcImxhYmVsXCIsXHJcbiAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjogXCLkvIHkuJrlkI3np7BcIixcclxuICAgICAgICAgICAgICAgICAgXCJwcm9wXCI6IFwiYXBwbHlOYW1lXCIsXHJcbiAgICAgICAgICAgICAgICAgIFwiZXh0ZW5kXCI6IHtcclxuICAgICAgICAgICAgICAgICAgICBcImxpbmthZ2VDaGFuZ2VWYWx1ZVwiOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcIm91dFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImNoYW5nZUtleVwiOiBcImN1c3RvbWVyRnVsbE5hbWVcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJub0NoYW5nZUV4aXN0XCI6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVzXCI6IFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNoYW5nZVBhcmFtXCI6IFwiYXBwbHlOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAqL1xyXG5sZXQgZWRpdG9ycz0gW1xyXG4gICAgJ+WxnuaApyjorablkYrmoIfnrb4pJyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5jb250ZW50JyxcclxuICAgICAgICB0ZXh0OiAn6K2m5ZGK5YaF5a65JyxcclxuICAgICAgICBtYXhGb250Oic1MCcsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICAvLyAn5omp5bGV5bGe5oCnJyxcclxuICAgIC8vICdsaW5rYWdlQ2hhbmdlVmFsdWUnLFxyXG4gICAgLy8ge1xyXG4gICAgLy8gICAgIGZpZWxkOiAnZXh0ZW5kLmxpbmthZ2VDaGFuZ2VWYWx1ZScsXHJcbiAgICAvLyAgICAgdGV4dDogJ+iBlOWKqCcsXHJcbiAgICAvLyAgICAgdHlwZTogJ2xpbmthZ2VDaGFuZ2VWYWx1ZSdcclxuICAgIC8vIH0sXHJcbl07XHJcbi8vIGNvbW1vblRvb2wuYXNzZW1ibGVEYXRhKGVkaXRvcnMpO1xyXG5jb25zb2xlLmxvZyhlZGl0b3JzKTtcclxuZXhwb3J0IGNvbnN0IGVkaXRTZXR0aW5nID0ge1xyXG4gICAga2V5OiAnZ2FlYS10aXAtYWxlcnQnLFxyXG4gICAgbmFtZTogJ+itpuWRiuagh+etvicsXHJcbiAgICBsZXZlbDo0LFxyXG4gICAgZWRpdG9yczplZGl0b3JzLFxyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpcC1hbGVydC9wcm9wZXJ0eS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///730\n");
4885
4886/***/ }),
4887/* 731 */
4888/***/ (function(module, __webpack_exports__, __webpack_require__) {
4889
4890"use strict";
4891eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"formDiv\",\n on: { mouseenter: _vm.show, mouseleave: _vm.hide }\n },\n [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [_c(\"Label\", { style: { marginLeft: \"5px\" } })],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"formDiv-right\" },\n [\n _c(\"Alert\", { staticClass: \"tipAlert\", attrs: { \"show-icon\": \"\" } }, [\n _c(\"div\", {\n attrs: { placeholder: _vm.extend.placeholder },\n domProps: { innerHTML: _vm._s(_vm.extend.content) }\n })\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"commomHoverModal\", { ref: \"commomHoverModal\" })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-50204536\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3RpcC1hbGVydC9pbmRleC52dWU/MzI3OCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxTQUFTLDhCQUE4QjtBQUN2QyxzQkFBc0IsU0FBUyxvQkFBb0IsRUFBRTtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUywrQkFBK0I7QUFDeEM7QUFDQSx1QkFBdUIsa0NBQWtDLGtCQUFrQixFQUFFO0FBQzdFO0FBQ0Esc0JBQXNCLHNDQUFzQztBQUM1RCx5QkFBeUI7QUFDekIsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsMEJBQTBCO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNzMxLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHtcbiAgICAgIHN0YXRpY0NsYXNzOiBcImZvcm1EaXZcIixcbiAgICAgIG9uOiB7IG1vdXNlZW50ZXI6IF92bS5zaG93LCBtb3VzZWxlYXZlOiBfdm0uaGlkZSB9XG4gICAgfSxcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJkaXZcIixcbiAgICAgICAgeyBzdGF0aWNDbGFzczogXCJmb3JtRGl2LWxlZnRcIiB9LFxuICAgICAgICBbX2MoXCJMYWJlbFwiLCB7IHN0eWxlOiB7IG1hcmdpbkxlZnQ6IFwiNXB4XCIgfSB9KV0sXG4gICAgICAgIDFcbiAgICAgICksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXG4gICAgICAgIFwiZGl2XCIsXG4gICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiZm9ybURpdi1yaWdodFwiIH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcIkFsZXJ0XCIsIHsgc3RhdGljQ2xhc3M6IFwidGlwQWxlcnRcIiwgYXR0cnM6IHsgXCJzaG93LWljb25cIjogXCJcIiB9IH0sIFtcbiAgICAgICAgICAgIF9jKFwiZGl2XCIsIHtcbiAgICAgICAgICAgICAgYXR0cnM6IHsgcGxhY2Vob2xkZXI6IF92bS5leHRlbmQucGxhY2Vob2xkZXIgfSxcbiAgICAgICAgICAgICAgZG9tUHJvcHM6IHsgaW5uZXJIVE1MOiBfdm0uX3MoX3ZtLmV4dGVuZC5jb250ZW50KSB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIF0pXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgICksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXCJjb21tb21Ib3Zlck1vZGFsXCIsIHsgcmVmOiBcImNvbW1vbUhvdmVyTW9kYWxcIiB9KVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi01MDIwNDUzNlwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi01MDIwNDUzNlwiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdGlwLWFsZXJ0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzMxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///731\n");
4892
4893/***/ }),
4894/* 732 */
4895/***/ (function(module, __webpack_exports__, __webpack_require__) {
4896
4897"use strict";
4898eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(190);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_2173eeea_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(736);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(733)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-2173eeea\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_2173eeea_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelThree/upload/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-2173eeea\", Component.options)\n } else {\n hotAPI.reload(\"data-v-2173eeea\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3VwbG9hZC9pbmRleC52dWU/NTBlZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQXFWO0FBQy9WO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBd0Y7QUFDekg7QUFDd0k7QUFDYTtBQUNySjtBQUNtVDtBQUNuVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsaVFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI3MzIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0yMTczZWVlYVxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi0yMTczZWVlYVxcXCIsXFxcImhhc1Njb3BlZFxcXCI6dHJ1ZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBcImRhdGEtdi0yMTczZWVlYVwiXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3VwbG9hZC9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtMjE3M2VlZWFcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi0yMTczZWVlYVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdXBsb2FkL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzMyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///732\n");
4899
4900/***/ }),
4901/* 733 */
4902/***/ (function(module, exports, __webpack_require__) {
4903
4904eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(734);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"befd6c78\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2173eeea\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2173eeea\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3VwbG9hZC9pbmRleC52dWU/ZTc3NiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUE4VztBQUNwWSw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQWlHLGdDQUFnQztBQUN0SjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSxtTUFBbU0sa0ZBQWtGO0FBQ3JSLDRNQUE0TSxrRkFBa0Y7QUFDOVI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI3MzMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMjE3M2VlZWFcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiYmVmZDZjNzhcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTIxNzNlZWVhXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMjE3M2VlZWFcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0yMTczZWVlYVwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdXBsb2FkL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzMzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///733\n");
4905
4906/***/ }),
4907/* 734 */
4908/***/ (function(module, exports, __webpack_require__) {
4909
4910eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.ivu-upload[data-v-2173eeea]{\\n text-align: left;\\n border: 0px;\\n}\\n.formDiv[data-v-2173eeea]{\\n display:inline-block;\\n line-height: 60px;\\n text-align: left;\\n}\\n.formDiv-left[data-v-2173eeea] {\\n display:inline-block;\\n width: 35%;\\n height:40px;\\n text-align:right;\\n font-size:15px;\\n float: left;\\n margin: 0 10px;\\n}\\n.formDiv-right[data-v-2173eeea] {\\n width: 60%;\\n position: relative;\\n display:inline-block;\\n float: right;\\n margin: 11.5px 0px;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelThree/upload/myPlugin/page-ide/lib/components/levelThree/upload/index.vue\"],\"names\":[],\"mappings\":\";AA0EA;EACA,iBAAA;EACA,YAAA;CACA;AACA;EACA,qBAAA;EACA,kBAAA;EACA,iBAAA;CACA;AACA;EACA,qBAAA;EACA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,eAAA;EACA,YAAA;EACA,eAAA;CACA;AACA;EACA,WAAA;EACA,mBAAA;EACA,qBAAA;EACA,aAAA;EACA,mBAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formDiv\\\" @mouseenter=\\\"show\\\" @mouseleave=\\\"hide\\\">\\r\\n <div class=\\\"formDiv-left\\\">\\r\\n <Label > {{property.label}}</Label>\\r\\n </div>\\r\\n <div class=\\\"formDiv-right\\\">\\r\\n <div class=\\\"ivu-upload\\\" >\\r\\n <div class=\\\"ivu-upload ivu-upload-drag\\\" >\\r\\n <div style=\\\"line-height: 20px;border: 0px;\\\">\\r\\n <!-- <img class=\\\"defaultPic\\\" src=\\\"../../../images/u882.svg\\\" alt=\\\"\\\"\\r\\n style=\\\"padding-top: 30px;width: 24px;\\\">\\r\\n <img class=\\\"mouseHoverPic\\\" src=\\\"../../../images/u882_mouseOver.svg\\\" alt=\\\"\\\"\\r\\n style=\\\"padding-top: 30px;width: 24px;\\\">-->\\r\\n <Button type=\\\"primary\\\" style=\\\"display: inline-block;border-radius: 3px;\\\">本地上传</Button>\\r\\n <p style=\\\"margin-top: 10px;display: inline-block;\\\" title=\\\"说明:每个附件限制大小50M,最多上传10个附件。\\\">说明:每个附件限制大小50M,最多上传10个附件。</p></div>\\r\\n </div>\\r\\n </div>\\r\\n </div>\\r\\n <commomHoverModal ref=\\\"commomHoverModal\\\" ></commomHoverModal>\\r\\n\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\n import commomHoverModal from '../../common/commomHoverModal'\\r\\n\\r\\n import {editSetting} from './property';\\r\\nexport default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n data () {\\r\\n return {\\r\\n property:{\\r\\n label : '附件'\\r\\n },\\r\\n extend:{\\r\\n placeholder:\\\"\\\"\\r\\n },\\r\\n text: 'input',\\r\\n type: 'input',\\r\\n level: editSetting.level\\r\\n };\\r\\n },\\r\\n components:{\\r\\n commomHoverModal\\r\\n },\\r\\n methods:{\\r\\n show(){\\r\\n this.$refs.commomHoverModal.handleMouseEnter();\\r\\n },\\r\\n hide(){\\r\\n this.$refs.commomHoverModal.handleMouseLeave();\\r\\n }\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level,\\r\\n mounted(){\\r\\n let currentInstance = this.$store.state.viewport.instances.get(this.$store.state.viewport.currentEditInstanceKey);\\r\\n if(currentInstance.data.validateArr.length>0){\\r\\n return \\\"\\\";\\r\\n //note 如果有值,将不会再进行操作,否则将会新增一个\\r\\n }\\r\\n }\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .ivu-upload{\\r\\n text-align: left;\\r\\n border: 0px;\\r\\n }\\r\\n .formDiv{\\r\\n display:inline-block;\\r\\n line-height: 60px;\\r\\n text-align: left;\\r\\n }\\r\\n .formDiv-left {\\r\\n display:inline-block;\\r\\n width: 35%;\\r\\n height:40px;\\r\\n text-align:right;\\r\\n font-size:15px;\\r\\n float: left;\\r\\n margin: 0 10px;\\r\\n }\\r\\n .formDiv-right {\\r\\n width: 60%;\\r\\n position: relative;\\r\\n display:inline-block;\\r\\n float: right;\\r\\n margin: 11.5px 0px;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3VwbG9hZC9pbmRleC52dWU/MTIwOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUErRTtBQUNsSDs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsa0NBQWtDLHFCQUFxQixnQkFBZ0IsR0FBRyw0QkFBNEIseUJBQXlCLHNCQUFzQixxQkFBcUIsR0FBRyxrQ0FBa0MseUJBQXlCLGVBQWUsZ0JBQWdCLHFCQUFxQixtQkFBbUIsZ0JBQWdCLG1CQUFtQixHQUFHLG1DQUFtQyxlQUFlLHVCQUF1Qix5QkFBeUIsaUJBQWlCLHVCQUF1QixHQUFHLFVBQVUsMkxBQTJMLE1BQU0sV0FBVyxVQUFVLEtBQUssS0FBSyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssV0FBVyxVQUFVLFVBQVUsV0FBVyxVQUFVLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxXQUFXLFdBQVcsVUFBVSxXQUFXLHVMQUF1TCxnQkFBZ0Isb01BQW9NLFlBQVksMklBQTJJLFlBQVksb0pBQW9KLFlBQVksNkVBQTZFLG1CQUFtQiw0REFBNEQsc0JBQXNCLHdVQUF3VSxZQUFZLG1CQUFtQixvQkFBb0IsbUJBQW1CLHNCQUFzQix5RkFBeUYsc0VBQXNFLGtCQUFrQixvQkFBb0IsMEJBQTBCLGlEQUFpRCx5QkFBeUIscURBQXFELG1IQUFtSCxTQUFTLHFCQUFxQixxQ0FBcUMsa0JBQWtCLG1CQUFtQiwrREFBK0QsYUFBYSxvQkFBb0IsK0RBQStELGFBQWEsU0FBUyxzR0FBc0csOEhBQThILDBEQUEwRCw0QkFBNEIsMERBQTBELFNBQVMsTUFBTSxxREFBcUQseUJBQXlCLG9CQUFvQixPQUFPLGVBQWUsNkJBQTZCLDBCQUEwQix5QkFBeUIsT0FBTyxxQkFBcUIsNkJBQTZCLG1CQUFtQixvQkFBb0IseUJBQXlCLHVCQUF1QixvQkFBb0IsdUJBQXVCLE9BQU8sc0JBQXNCLG1CQUFtQiwyQkFBMkIsNkJBQTZCLHFCQUFxQiwyQkFBMkIsT0FBTyxtQ0FBbUM7O0FBRS8ySCIsImZpbGUiOiI3MzQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG4uaXZ1LXVwbG9hZFtkYXRhLXYtMjE3M2VlZWFde1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG4gIGJvcmRlcjogMHB4O1xcbn1cXG4uZm9ybURpdltkYXRhLXYtMjE3M2VlZWFde1xcbiAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxuICBsaW5lLWhlaWdodDogNjBweDtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxufVxcbi5mb3JtRGl2LWxlZnRbZGF0YS12LTIxNzNlZWVhXSB7XFxuICBkaXNwbGF5OmlubGluZS1ibG9jaztcXG4gIHdpZHRoOiAzNSU7XFxuICBoZWlnaHQ6NDBweDtcXG4gIHRleHQtYWxpZ246cmlnaHQ7XFxuICBmb250LXNpemU6MTVweDtcXG4gIGZsb2F0OiBsZWZ0O1xcbiAgbWFyZ2luOiAwIDEwcHg7XFxufVxcbi5mb3JtRGl2LXJpZ2h0W2RhdGEtdi0yMTczZWVlYV0ge1xcbiAgd2lkdGg6IDYwJTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcbiAgZmxvYXQ6IHJpZ2h0O1xcbiAgbWFyZ2luOiAxMS41cHggMHB4O1xcbn1cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wiRTovcHJvamVjdC9wYWdlLWlkZS14aWFuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdXBsb2FkL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVGhyZWUvdXBsb2FkL2luZGV4LnZ1ZVwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiO0FBMEVBO0VBQ0EsaUJBQUE7RUFDQSxZQUFBO0NBQ0E7QUFDQTtFQUNBLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtDQUNBO0FBQ0E7RUFDQSxxQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7Q0FDQTtBQUNBO0VBQ0EsV0FBQTtFQUNBLG1CQUFBO0VBQ0EscUJBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7Q0FDQVwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjx0ZW1wbGF0ZT5cXHJcXG4gIDxkaXYgY2xhc3M9XFxcImZvcm1EaXZcXFwiICBAbW91c2VlbnRlcj1cXFwic2hvd1xcXCIgQG1vdXNlbGVhdmU9XFxcImhpZGVcXFwiPlxcclxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2LWxlZnRcXFwiPlxcclxcbiAgICAgIDxMYWJlbCA+IHt7cHJvcGVydHkubGFiZWx9fTwvTGFiZWw+XFxyXFxuICAgIDwvZGl2PlxcclxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtRGl2LXJpZ2h0XFxcIj5cXHJcXG4gICAgICA8ZGl2IGNsYXNzPVxcXCJpdnUtdXBsb2FkXFxcIiA+XFxyXFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJpdnUtdXBsb2FkIGl2dS11cGxvYWQtZHJhZ1xcXCIgPlxcclxcbiAgICAgICAgICA8ZGl2IHN0eWxlPVxcXCJsaW5lLWhlaWdodDogMjBweDtib3JkZXI6IDBweDtcXFwiPlxcclxcbiAgICAgICAgICAgIDwhLS0gPGltZyBjbGFzcz1cXFwiZGVmYXVsdFBpY1xcXCIgc3JjPVxcXCIuLi8uLi8uLi9pbWFnZXMvdTg4Mi5zdmdcXFwiIGFsdD1cXFwiXFxcIlxcclxcbiAgICAgICAgICAgICAgICAgIHN0eWxlPVxcXCJwYWRkaW5nLXRvcDogMzBweDt3aWR0aDogMjRweDtcXFwiPlxcclxcbiAgICAgICAgICAgICA8aW1nIGNsYXNzPVxcXCJtb3VzZUhvdmVyUGljXFxcIiBzcmM9XFxcIi4uLy4uLy4uL2ltYWdlcy91ODgyX21vdXNlT3Zlci5zdmdcXFwiIGFsdD1cXFwiXFxcIlxcclxcbiAgICAgICAgICAgICAgICAgIHN0eWxlPVxcXCJwYWRkaW5nLXRvcDogMzBweDt3aWR0aDogMjRweDtcXFwiPi0tPlxcclxcbiAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cXFwicHJpbWFyeVxcXCIgc3R5bGU9XFxcImRpc3BsYXk6IGlubGluZS1ibG9jaztib3JkZXItcmFkaXVzOiAzcHg7XFxcIj7mnKzlnLDkuIrkvKA8L0J1dHRvbj5cXHJcXG4gICAgICAgICAgICA8cCBzdHlsZT1cXFwibWFyZ2luLXRvcDogMTBweDtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxcIiB0aXRsZT1cXFwi6K+05piOOuavj+S4qumZhOS7tumZkOWItuWkp+WwjzUwTSzmnIDlpJrkuIrkvKAxMOS4qumZhOS7tuOAglxcXCI+6K+05piOOuavj+S4qumZhOS7tumZkOWItuWkp+WwjzUwTSzmnIDlpJrkuIrkvKAxMOS4qumZhOS7tuOAgjwvcD48L2Rpdj5cXHJcXG4gICAgICAgIDwvZGl2PlxcclxcbiAgICAgIDwvZGl2PlxcclxcbiAgICA8L2Rpdj5cXHJcXG4gICAgPGNvbW1vbUhvdmVyTW9kYWwgcmVmPVxcXCJjb21tb21Ib3Zlck1vZGFsXFxcIiA+PC9jb21tb21Ib3Zlck1vZGFsPlxcclxcblxcclxcbiAgPC9kaXY+XFxyXFxuPC90ZW1wbGF0ZT5cXHJcXG5cXHJcXG48c2NyaXB0PlxcclxcbiAgICBpbXBvcnQgY29tbW9tSG92ZXJNb2RhbCBmcm9tICcuLi8uLi9jb21tb24vY29tbW9tSG92ZXJNb2RhbCdcXHJcXG5cXHJcXG4gICAgaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XFxyXFxuZXhwb3J0IGRlZmF1bHQge1xcclxcbiAgICAvLyBwcm9wczoge1xcclxcbiAgICAvLyAgICAgdGV4dDoge1xcclxcbiAgICAvLyAgICAgICAgIHR5cGU6IFN0cmluZyxcXHJcXG4gICAgLy8gICAgICAgICBkZWZhdWx0OiAnQnV0dG9uIFRleHQnXFxyXFxuICAgIC8vICAgICB9LFxcclxcbiAgICAvLyAgICAgdHlwZTogU3RyaW5nLFxcclxcbiAgICAvLyAgICAgc3R5bGVzOiBPYmplY3RcXHJcXG4gICAgLy8gfSxcXHJcXG4gICAgZGF0YSAoKSB7XFxyXFxuICAgICAgICByZXR1cm4ge1xcclxcbiAgICAgICAgICAgIHByb3BlcnR5OntcXHJcXG4gICAgICAgICAgICAgICAgbGFiZWwgOiAn6ZmE5Lu2J1xcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgZXh0ZW5kOntcXHJcXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6XFxcIlxcXCJcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIHRleHQ6ICdpbnB1dCcsXFxyXFxuICAgICAgICAgICAgdHlwZTogJ2lucHV0JyxcXHJcXG4gICAgICAgICAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgIH0sXFxyXFxuICAgIGNvbXBvbmVudHM6e1xcclxcbiAgICAgICAgY29tbW9tSG92ZXJNb2RhbFxcclxcbiAgICB9LFxcclxcbiAgICBtZXRob2RzOntcXHJcXG4gICAgICAgIHNob3coKXtcXHJcXG4gICAgICAgICAgICB0aGlzLiRyZWZzLmNvbW1vbUhvdmVyTW9kYWwuaGFuZGxlTW91c2VFbnRlcigpO1xcclxcbiAgICAgICAgfSxcXHJcXG4gICAgICAgIGhpZGUoKXtcXHJcXG4gICAgICAgICAgICB0aGlzLiRyZWZzLmNvbW1vbUhvdmVyTW9kYWwuaGFuZGxlTW91c2VMZWF2ZSgpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9LFxcclxcbiAgICBlZGl0U2V0dGluZyxcXHJcXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxcclxcbiAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXFxyXFxuICAgIG1vdW50ZWQoKXtcXHJcXG4gICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2UgPSB0aGlzLiRzdG9yZS5zdGF0ZS52aWV3cG9ydC5pbnN0YW5jZXMuZ2V0KHRoaXMuJHN0b3JlLnN0YXRlLnZpZXdwb3J0LmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xcclxcbiAgICAgICAgaWYoY3VycmVudEluc3RhbmNlLmRhdGEudmFsaWRhdGVBcnIubGVuZ3RoPjApe1xcclxcbiAgICAgICAgICAgIHJldHVybiBcXFwiXFxcIjtcXHJcXG4gICAgICAgICAgICAvL25vdGUg5aaC5p6c5pyJ5YC877yM5bCG5LiN5Lya5YaN6L+b6KGM5pON5L2c77yM5ZCm5YiZ5bCG5Lya5paw5aKe5LiA5LiqXFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG59O1xcclxcbjwvc2NyaXB0PlxcclxcblxcclxcbjxzdHlsZSBzY29wZWQ+XFxyXFxuICAuaXZ1LXVwbG9hZHtcXHJcXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcXHJcXG4gICAgYm9yZGVyOiAwcHg7XFxyXFxuICB9XFxyXFxuICAuZm9ybURpdntcXHJcXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxyXFxuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xcclxcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xcclxcbiAgfVxcclxcbiAgLmZvcm1EaXYtbGVmdCB7XFxyXFxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xcclxcbiAgICB3aWR0aDogMzUlO1xcclxcbiAgICBoZWlnaHQ6NDBweDtcXHJcXG4gICAgdGV4dC1hbGlnbjpyaWdodDtcXHJcXG4gICAgZm9udC1zaXplOjE1cHg7XFxyXFxuICAgIGZsb2F0OiBsZWZ0O1xcclxcbiAgICBtYXJnaW46IDAgMTBweDtcXHJcXG4gIH1cXHJcXG4gIC5mb3JtRGl2LXJpZ2h0IHtcXHJcXG4gICAgd2lkdGg6IDYwJTtcXHJcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcclxcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXHJcXG4gICAgZmxvYXQ6IHJpZ2h0O1xcclxcbiAgICBtYXJnaW46IDExLjVweCAwcHg7XFxyXFxuICB9XFxyXFxuPC9zdHlsZT5cXHJcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtMjE3M2VlZWFcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3VwbG9hZC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDczNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///734\n");
4911
4912/***/ }),
4913/* 735 */
4914/***/ (function(module, exports, __webpack_require__) {
4915
4916"use strict";
4917eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = [{\n field: 'property.title',\n text: '附件',\n type: 'title'\n}, {\n field: 'property.prop',\n text: '属性名称',\n type: 'reqSelect',\n isShow: 'hide'\n}, {\n field: 'property.label',\n text: '标题',\n maxFont: '20',\n type: 'string'\n}, {\n field: 'property.busiId',\n text: '标题',\n isShow: 'hide',\n type: 'string'\n}];\nvar editSetting = exports.editSetting = {\n key: 'gaea-upload',\n name: '附件',\n level: 4,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3VwbG9hZC9wcm9wZXJ0eS5qcz8yZTNiIl0sIm5hbWVzIjpbImVkaXRvcnMiLCJmaWVsZCIsInRleHQiLCJ0eXBlIiwiaXNTaG93IiwibWF4Rm9udCIsImVkaXRTZXR0aW5nIiwia2V5IiwibmFtZSIsImxldmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7O0FBS0EsSUFBSUEsVUFBUyxDQUNUO0FBQ0lDLFdBQU8sZ0JBRFg7QUFFSUMsVUFBTSxJQUZWO0FBR0lDLFVBQU07QUFIVixDQURTLEVBTVQ7QUFDSUYsV0FBTyxlQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJQyxVQUFNLFdBSFY7QUFJSUMsWUFBTztBQUpYLENBTlMsRUFZVDtBQUNJSCxXQUFPLGdCQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJRyxhQUFRLElBSFo7QUFJSUYsVUFBTTtBQUpWLENBWlMsRUFrQlY7QUFDS0YsV0FBTyxpQkFEWjtBQUVLQyxVQUFNLElBRlg7QUFHS0UsWUFBTyxNQUhaO0FBSUtELFVBQU07QUFKWCxDQWxCVSxDQUFiO0FBOEJPLElBQU1HLG9DQUFjO0FBQ3ZCQyxTQUFLLGFBRGtCO0FBRXZCQyxVQUFNLElBRmlCO0FBR3ZCQyxXQUFNLENBSGlCO0FBSXZCVCxhQUFRQTtBQUplLENBQXBCIiwiZmlsZSI6IjczNS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAgTm90ZSDlt6XlhbfnsbtcclxuICovXHJcbmltcG9ydCB7Y29tbW9uVG9vbH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jb21tb25cIlxyXG4vKlxyXG5Ob3RlIOWumuS5ieiHquWumuS5ieWxnuaAp++8jOWFrOWFseWxnuaAp+S7jmNvbW1vbuaWh+S7tumHjOivu+WPllxyXG5hdXRob3Ig5Y+256ug5rWpXHJcbiAqL1xyXG5sZXQgZWRpdG9ycz0gW1xyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkudGl0bGUnLFxyXG4gICAgICAgIHRleHQ6ICfpmYTku7YnLFxyXG4gICAgICAgIHR5cGU6ICd0aXRsZSdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5wcm9wJyxcclxuICAgICAgICB0ZXh0OiAn5bGe5oCn5ZCN56ewJyxcclxuICAgICAgICB0eXBlOiAncmVxU2VsZWN0JyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmxhYmVsJyxcclxuICAgICAgICB0ZXh0OiAn5qCH6aKYJyxcclxuICAgICAgICBtYXhGb250OicyMCcsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmJ1c2lJZCcsXHJcbiAgICAgICAgdGV4dDogJ+agh+mimCcsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfS8qLFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZGF0YS5oZWlnaHRMZXZlbCcsXHJcbiAgICAgICAgdGV4dDogJ+aYr+WQpuaYvuekuicsXHJcbiAgICAgICAgdHlwZTogJ3ZhbGlkYXRlSW5wdXQnXHJcbiAgICB9Ki9cclxuXTtcclxuZXhwb3J0IGNvbnN0IGVkaXRTZXR0aW5nID0ge1xyXG4gICAga2V5OiAnZ2FlYS11cGxvYWQnLFxyXG4gICAgbmFtZTogJ+mZhOS7ticsXHJcbiAgICBsZXZlbDo0LFxyXG4gICAgZWRpdG9yczplZGl0b3JzLFxyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3VwbG9hZC9wcm9wZXJ0eS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///735\n");
4918
4919/***/ }),
4920/* 736 */
4921/***/ (function(module, __webpack_exports__, __webpack_require__) {
4922
4923"use strict";
4924eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"formDiv\",\n on: { mouseenter: _vm.show, mouseleave: _vm.hide }\n },\n [\n _c(\n \"div\",\n { staticClass: \"formDiv-left\" },\n [_c(\"Label\", [_vm._v(\" \" + _vm._s(_vm.property.label))])],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"formDiv-right\" }, [\n _c(\"div\", { staticClass: \"ivu-upload\" }, [\n _c(\"div\", { staticClass: \"ivu-upload ivu-upload-drag\" }, [\n _c(\n \"div\",\n { staticStyle: { \"line-height\": \"20px\", border: \"0px\" } },\n [\n _c(\n \"Button\",\n {\n staticStyle: {\n display: \"inline-block\",\n \"border-radius\": \"3px\"\n },\n attrs: { type: \"primary\" }\n },\n [_vm._v(\"本地上传\")]\n ),\n _vm._v(\" \"),\n _c(\n \"p\",\n {\n staticStyle: {\n \"margin-top\": \"10px\",\n display: \"inline-block\"\n },\n attrs: {\n title: \"说明:每个附件限制大小50M,最多上传10个附件。\"\n }\n },\n [_vm._v(\"说明:每个附件限制大小50M,最多上传10个附件。\")]\n )\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"commomHoverModal\", { ref: \"commomHoverModal\" })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-2173eeea\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3VwbG9hZC9pbmRleC52dWU/YWE3NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxTQUFTLDhCQUE4QjtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQiwrQkFBK0I7QUFDaEQsbUJBQW1CLDRCQUE0QjtBQUMvQyxxQkFBcUIsNENBQTRDO0FBQ2pFO0FBQ0E7QUFDQSxlQUFlLGVBQWUsdUNBQXVDLEVBQUU7QUFDdkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckIsNEJBQTRCO0FBQzVCLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QiwwQkFBMEI7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI3MzYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAge1xuICAgICAgc3RhdGljQ2xhc3M6IFwiZm9ybURpdlwiLFxuICAgICAgb246IHsgbW91c2VlbnRlcjogX3ZtLnNob3csIG1vdXNlbGVhdmU6IF92bS5oaWRlIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcImRpdlwiLFxuICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImZvcm1EaXYtbGVmdFwiIH0sXG4gICAgICAgIFtfYyhcIkxhYmVsXCIsIFtfdm0uX3YoXCIgXCIgKyBfdm0uX3MoX3ZtLnByb3BlcnR5LmxhYmVsKSldKV0sXG4gICAgICAgIDFcbiAgICAgICksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJmb3JtRGl2LXJpZ2h0XCIgfSwgW1xuICAgICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcIml2dS11cGxvYWRcIiB9LCBbXG4gICAgICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJpdnUtdXBsb2FkIGl2dS11cGxvYWQtZHJhZ1wiIH0sIFtcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY1N0eWxlOiB7IFwibGluZS1oZWlnaHRcIjogXCIyMHB4XCIsIGJvcmRlcjogXCIwcHhcIiB9IH0sXG4gICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgIFwiQnV0dG9uXCIsXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmUtYmxvY2tcIixcbiAgICAgICAgICAgICAgICAgICAgICBcImJvcmRlci1yYWRpdXNcIjogXCIzcHhcIlxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBhdHRyczogeyB0eXBlOiBcInByaW1hcnlcIiB9XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgW192bS5fdihcIuacrOWcsOS4iuS8oFwiKV1cbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICBcInBcIixcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGljU3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICBcIm1hcmdpbi10b3BcIjogXCIxMHB4XCIsXG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmUtYmxvY2tcIlxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuivtOaYjjrmr4/kuKrpmYTku7bpmZDliLblpKflsI81ME0s5pyA5aSa5LiK5LygMTDkuKrpmYTku7bjgIJcIlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgW192bS5fdihcIuivtOaYjjrmr4/kuKrpmYTku7bpmZDliLblpKflsI81ME0s5pyA5aSa5LiK5LygMTDkuKrpmYTku7bjgIJcIildXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApXG4gICAgICAgICAgXSlcbiAgICAgICAgXSlcbiAgICAgIF0pLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF9jKFwiY29tbW9tSG92ZXJNb2RhbFwiLCB7IHJlZjogXCJjb21tb21Ib3Zlck1vZGFsXCIgfSlcbiAgICBdLFxuICAgIDFcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtMjE3M2VlZWFcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtMjE3M2VlZWFcIixcImhhc1Njb3BlZFwiOnRydWUsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFRocmVlL3VwbG9hZC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDczNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///736\n");
4925
4926/***/ }),
4927/* 737 */
4928/***/ (function(module, __webpack_exports__, __webpack_require__) {
4929
4930"use strict";
4931eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(191);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_d3b7f3de_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(741);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(738)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_d3b7f3de_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelTwo/address-select/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-d3b7f3de\", Component.options)\n } else {\n hotAPI.reload(\"data-v-d3b7f3de\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9hZGRyZXNzLXNlbGVjdC9pbmRleC52dWU/MTEzNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQXNWO0FBQ2hXO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBd0Y7QUFDekg7QUFDd0k7QUFDYTtBQUNySjtBQUNvVDtBQUNwVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsa1FBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI3MzcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1kM2I3ZjNkZVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZDNiN2YzZGVcXFwiLFxcXCJoYXNTY29wZWRcXFwiOmZhbHNlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2FkZHJlc3Mtc2VsZWN0L2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi1kM2I3ZjNkZVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LWQzYjdmM2RlXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vYWRkcmVzcy1zZWxlY3QvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3Mzdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///737\n");
4932
4933/***/ }),
4934/* 738 */
4935/***/ (function(module, exports, __webpack_require__) {
4936
4937eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(739);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"1b32e21a\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-d3b7f3de\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-d3b7f3de\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9hZGRyZXNzLXNlbGVjdC9pbmRleC52dWU/NDZmNyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUErVztBQUNyWSw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQWlHLGdDQUFnQztBQUN0SjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSxtTUFBbU0sbUZBQW1GO0FBQ3RSLDRNQUE0TSxtRkFBbUY7QUFDL1I7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI3MzguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZDNiN2YzZGVcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjFiMzJlMjFhXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1kM2I3ZjNkZVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1kM2I3ZjNkZVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi1kM2I3ZjNkZVwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9hZGRyZXNzLXNlbGVjdC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDczOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///738\n");
4938
4939/***/ }),
4940/* 739 */
4941/***/ (function(module, exports, __webpack_require__) {
4942
4943eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9hZGRyZXNzLXNlbGVjdC9pbmRleC52dWU/ZDQyNiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUErRTtBQUNsSDs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsdUZBQXVGLHFGQUFxRjs7QUFFbk0iLCJmaWxlIjoiNzM5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LWQzYjdmM2RlXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2FkZHJlc3Mtc2VsZWN0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzM5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///739\n");
4944
4945/***/ }),
4946/* 740 */
4947/***/ (function(module, exports, __webpack_require__) {
4948
4949"use strict";
4950eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = ['属性(地址选择)', {\n field: 'property.prop',\n text: '地址类型',\n type: 'reqSelect'\n}, '校验', {\n field: 'property.validator',\n text: '是否校验',\n type: 'boolean',\n value: true\n}, '事项', {\n field: 'extend.prop',\n text: '属性',\n type: 'reqSelect'\n}, {\n field: 'extend.propName',\n text: '属性名称',\n type: 'reqSelect'\n}];\n\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-address-select',\n name: 'address-select 地址选择',\n level: 2,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9hZGRyZXNzLXNlbGVjdC9wcm9wZXJ0eS5qcz8xYjI2Il0sIm5hbWVzIjpbImVkaXRvcnMiLCJmaWVsZCIsInRleHQiLCJ0eXBlIiwidmFsdWUiLCJjb25zb2xlIiwibG9nIiwiZWRpdFNldHRpbmciLCJrZXkiLCJuYW1lIiwibGV2ZWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQTs7QUFLQSxJQUFJQSxVQUFTLENBQ1QsVUFEUyxFQUVSO0FBQ0lDLFdBQU8sZUFEWDtBQUVJQyxVQUFNLE1BRlY7QUFHSUMsVUFBTTtBQUhWLENBRlEsRUFPVCxJQVBTLEVBUVQ7QUFDSUYsV0FBTyxvQkFEWDtBQUVJQyxVQUFNLE1BRlY7QUFHSUMsVUFBTSxTQUhWO0FBSUlDLFdBQU07QUFKVixDQVJTLEVBY1QsSUFkUyxFQWVUO0FBQ0lILFdBQU8sYUFEWDtBQUVJQyxVQUFNLElBRlY7QUFHSUMsVUFBTTtBQUhWLENBZlMsRUFvQlQ7QUFDSUYsV0FBTyxpQkFEWDtBQUVJQyxVQUFNLE1BRlY7QUFHSUMsVUFBTTtBQUhWLENBcEJTLENBQWI7O0FBMkJBRSxRQUFRQyxHQUFSLENBQVlOLE9BQVo7QUFDTyxJQUFNTyxvQ0FBYztBQUN2QkMsU0FBSyxxQkFEa0I7QUFFdkJDLFVBQU0scUJBRmlCO0FBR3ZCQyxXQUFNLENBSGlCO0FBSXZCVixhQUFRQTtBQUplLENBQXBCIiwiZmlsZSI6Ijc0MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAgTm90ZSDlt6XlhbfnsbtcclxuICovXHJcbmltcG9ydCB7Y29tbW9uVG9vbH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jb21tb25cIlxyXG4vKlxyXG5Ob3RlIOWumuS5ieiHquWumuS5ieWxnuaAp++8jOWFrOWFseWxnuaAp+S7jmNvbW1vbuaWh+S7tumHjOivu+WPllxyXG5hdXRob3Ig5Y+256ug5rWpXHJcbiAqL1xyXG5sZXQgZWRpdG9ycz0gW1xyXG4gICAgJ+WxnuaApyjlnLDlnYDpgInmi6kpJyxcclxuICAgICB7XHJcbiAgICAgICAgIGZpZWxkOiAncHJvcGVydHkucHJvcCcsXHJcbiAgICAgICAgIHRleHQ6ICflnLDlnYDnsbvlnosnLFxyXG4gICAgICAgICB0eXBlOiAncmVxU2VsZWN0J1xyXG4gICAgIH0sXHJcbiAgICAn5qCh6aqMJyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LnZhbGlkYXRvcicsXHJcbiAgICAgICAgdGV4dDogJ+aYr+WQpuagoemqjCcsXHJcbiAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxyXG4gICAgICAgIHZhbHVlOnRydWVcclxuICAgIH0sXHJcbiAgICAn5LqL6aG5JyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5wcm9wJyxcclxuICAgICAgICB0ZXh0OiAn5bGe5oCnJyxcclxuICAgICAgICB0eXBlOiAncmVxU2VsZWN0J1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5wcm9wTmFtZScsXHJcbiAgICAgICAgdGV4dDogJ+WxnuaAp+WQjeensCcsXHJcbiAgICAgICAgdHlwZTogJ3JlcVNlbGVjdCdcclxuICAgIH0sXHJcbl07XHJcbi8vIGNvbW1vblRvb2wuYXNzZW1ibGVEYXRhKGVkaXRvcnMpO1xyXG5jb25zb2xlLmxvZyhlZGl0b3JzKTtcclxuZXhwb3J0IGNvbnN0IGVkaXRTZXR0aW5nID0ge1xyXG4gICAga2V5OiAnZ2FlYS1hZGRyZXNzLXNlbGVjdCcsXHJcbiAgICBuYW1lOiAnYWRkcmVzcy1zZWxlY3Qg5Zyw5Z2A6YCJ5oupJyxcclxuICAgIGxldmVsOjIsXHJcbiAgICBlZGl0b3JzOmVkaXRvcnMsXHJcbn07XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2FkZHJlc3Mtc2VsZWN0L3Byb3BlcnR5LmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///740\n");
4951
4952/***/ }),
4953/* 741 */
4954/***/ (function(module, __webpack_exports__, __webpack_require__) {
4955
4956"use strict";
4957eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _c(\"img\", { style: _vm.styles, attrs: { src: _vm.imgUrl, alt: \"\" } })\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-d3b7f3de\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9hZGRyZXNzLXNlbGVjdC9pbmRleC52dWU/MTIxYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSw0QkFBNEIsMkJBQTJCLEVBQUU7QUFDeEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ijc0MS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXCJkaXZcIiwgW1xuICAgIF9jKFwiaW1nXCIsIHsgc3R5bGU6IF92bS5zdHlsZXMsIGF0dHJzOiB7IHNyYzogX3ZtLmltZ1VybCwgYWx0OiBcIlwiIH0gfSlcbiAgXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LWQzYjdmM2RlXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LWQzYjdmM2RlXCIsXCJoYXNTY29wZWRcIjpmYWxzZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2FkZHJlc3Mtc2VsZWN0L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzQxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///741\n");
4958
4959/***/ }),
4960/* 742 */
4961/***/ (function(module, __webpack_exports__, __webpack_require__) {
4962
4963"use strict";
4964eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(192);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_b3572f3e_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(746);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(743)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-b3572f3e\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_b3572f3e_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelTwo/agree-check/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-b3572f3e\", Component.options)\n } else {\n hotAPI.reload(\"data-v-b3572f3e\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9hZ3JlZS1jaGVjay9pbmRleC52dWU/YTlhNyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQXFWO0FBQy9WO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBd0Y7QUFDekg7QUFDd0k7QUFDYTtBQUNySjtBQUNtVDtBQUNuVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsaVFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI3NDIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1iMzU3MmYzZVxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi1iMzU3MmYzZVxcXCIsXFxcImhhc1Njb3BlZFxcXCI6dHJ1ZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBcImRhdGEtdi1iMzU3MmYzZVwiXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9hZ3JlZS1jaGVjay9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtYjM1NzJmM2VcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi1iMzU3MmYzZVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2FncmVlLWNoZWNrL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzQyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///742\n");
4965
4966/***/ }),
4967/* 743 */
4968/***/ (function(module, exports, __webpack_require__) {
4969
4970eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(744);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"4e237170\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-b3572f3e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-b3572f3e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9hZ3JlZS1jaGVjay9pbmRleC52dWU/NGE2YyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUE4VztBQUNwWSw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQWlHLGdDQUFnQztBQUN0SjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSxtTUFBbU0sa0ZBQWtGO0FBQ3JSLDRNQUE0TSxrRkFBa0Y7QUFDOVI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI3NDMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYjM1NzJmM2VcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiNGUyMzcxNzBcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWIzNTcyZjNlXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYjM1NzJmM2VcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi1iMzU3MmYzZVwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2FncmVlLWNoZWNrL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzQzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///743\n");
4971
4972/***/ }),
4973/* 744 */
4974/***/ (function(module, exports, __webpack_require__) {
4975
4976eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formDiv[data-v-b3572f3e]{\\n display:inline-block;\\n}\\n.inputStyle[data-v-b3572f3e]{\\n height:40px;\\n width:200px;\\n margin:10px;\\n}\\n.formTitle[data-v-b3572f3e] {\\n font-family: 'ArialMT', 'Arial';\\n font-weight: 400;\\n font-style: normal;\\n font-size: 18px;\\n padding-left: 10px;\\n border-left: 4px solid #4A89DC;\\n margin-bottom: 10px;\\n color: #4A89DC;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelTwo/agree-check/myPlugin/page-ide/lib/components/levelTwo/agree-check/index.vue\"],\"names\":[],\"mappings\":\";AAyCA;EACA,qBAAA;CAEA;AACA;EACA,YAAA;EACA,YAAA;EACA,YAAA;CACA;AAEA;EACA,gCAAA;EACA,iBAAA;EACA,mBAAA;EACA,gBAAA;EACA,mBAAA;EACA,+BAAA;EACA,oBAAA;EACA,eAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n\\r\\n <div class=\\\"formTitle\\\" style=\\\"position: relative;\\\">\\r\\n {{getLabel}}\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\n import {editSetting} from './property';\\r\\n export default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n computed:{\\r\\n getLabel(){\\r\\n return this.property.book;\\r\\n }\\r\\n },\\r\\n\\r\\n data () {\\r\\n return {\\r\\n property:{\\r\\n title : '标题',\\r\\n },\\r\\n text: 'input',\\r\\n type: 'input',\\r\\n level: editSetting.level\\r\\n };\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n };\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .formDiv{\\r\\n display:inline-block;\\r\\n\\r\\n }\\r\\n .inputStyle{\\r\\n height:40px;\\r\\n width:200px;\\r\\n margin:10px;\\r\\n }\\r\\n\\r\\n .formTitle {\\r\\n font-family: 'ArialMT', 'Arial';\\r\\n font-weight: 400;\\r\\n font-style: normal;\\r\\n font-size: 18px;\\r\\n padding-left: 10px;\\r\\n border-left: 4px solid #4A89DC;\\r\\n margin-bottom: 10px;\\r\\n color: #4A89DC;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9hZ3JlZS1jaGVjay9pbmRleC52dWU/ZTZhMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUErRTtBQUNsSDs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsK0JBQStCLHlCQUF5QixHQUFHLCtCQUErQixnQkFBZ0IsZ0JBQWdCLGdCQUFnQixHQUFHLCtCQUErQixvQ0FBb0MscUJBQXFCLHVCQUF1QixvQkFBb0IsdUJBQXVCLG1DQUFtQyx3QkFBd0IsbUJBQW1CLEdBQUcsVUFBVSxpTUFBaU0sTUFBTSxXQUFXLEtBQUssS0FBSyxVQUFVLFVBQVUsVUFBVSxLQUFLLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLG9IQUFvSCxhQUFhLFVBQVUsMkRBQTJELFlBQVksbUJBQW1CLHdCQUF3Qix1QkFBdUIsMEJBQTBCLHFHQUFxRyxrRkFBa0YsdUJBQXVCLDJCQUEyQiw4Q0FBOEMsaUJBQWlCLGFBQWEsMEJBQTBCLHdCQUF3Qiw4QkFBOEIsMERBQTBELG1JQUFtSSxhQUFhLHlHQUF5RyxrREFBa0QsNkJBQTZCLFdBQVcsa0JBQWtCLG9CQUFvQixvQkFBb0Isb0JBQW9CLE9BQU8sc0JBQXNCLHdDQUF3Qyx5QkFBeUIsMkJBQTJCLHdCQUF3QiwyQkFBMkIsdUNBQXVDLDRCQUE0Qix1QkFBdUIsT0FBTyxtQ0FBbUM7O0FBRWxyRSIsImZpbGUiOiI3NDQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG4uZm9ybURpdltkYXRhLXYtYjM1NzJmM2Vde1xcbiAgZGlzcGxheTppbmxpbmUtYmxvY2s7XFxufVxcbi5pbnB1dFN0eWxlW2RhdGEtdi1iMzU3MmYzZV17XFxuICBoZWlnaHQ6NDBweDtcXG4gIHdpZHRoOjIwMHB4O1xcbiAgbWFyZ2luOjEwcHg7XFxufVxcbi5mb3JtVGl0bGVbZGF0YS12LWIzNTcyZjNlXSB7XFxuICBmb250LWZhbWlseTogJ0FyaWFsTVQnLCAnQXJpYWwnO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gIGZvbnQtc2l6ZTogMThweDtcXG4gIHBhZGRpbmctbGVmdDogMTBweDtcXG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzRBODlEQztcXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XFxuICBjb2xvcjogIzRBODlEQztcXG59XFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIkU6L3Byb2plY3QvcGFnZS1pZGUteGlhbi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9hZ3JlZS1jaGVjay9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9hZ3JlZS1jaGVjay9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQXlDQTtFQUNBLHFCQUFBO0NBRUE7QUFDQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtDQUNBO0FBRUE7RUFDQSxnQ0FBQTtFQUNBLGlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0EsK0JBQUE7RUFDQSxvQkFBQTtFQUNBLGVBQUE7Q0FDQVwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjx0ZW1wbGF0ZT5cXHJcXG5cXHJcXG4gIDxkaXYgY2xhc3M9XFxcImZvcm1UaXRsZVxcXCIgc3R5bGU9XFxcInBvc2l0aW9uOiByZWxhdGl2ZTtcXFwiPlxcclxcbiAgICB7e2dldExhYmVsfX1cXHJcXG4gIDwvZGl2PlxcclxcbjwvdGVtcGxhdGU+XFxyXFxuXFxyXFxuPHNjcmlwdD5cXHJcXG4gICAgaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XFxyXFxuICAgIGV4cG9ydCBkZWZhdWx0IHtcXHJcXG4gICAgICAgIC8vIHByb3BzOiB7XFxyXFxuICAgICAgICAvLyAgICAgdGV4dDoge1xcclxcbiAgICAgICAgLy8gICAgICAgICB0eXBlOiBTdHJpbmcsXFxyXFxuICAgICAgICAvLyAgICAgICAgIGRlZmF1bHQ6ICdCdXR0b24gVGV4dCdcXHJcXG4gICAgICAgIC8vICAgICB9LFxcclxcbiAgICAgICAgLy8gICAgIHR5cGU6IFN0cmluZyxcXHJcXG4gICAgICAgIC8vICAgICBzdHlsZXM6IE9iamVjdFxcclxcbiAgICAgICAgLy8gfSxcXHJcXG4gICAgICAgIGNvbXB1dGVkOntcXHJcXG4gICAgICAgICAgICBnZXRMYWJlbCgpe1xcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0eS5ib29rO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0sXFxyXFxuXFxyXFxuICAgICAgICBkYXRhICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4ge1xcclxcbiAgICAgICAgICAgICAgICBwcm9wZXJ0eTp7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0aXRsZSA6ICfmoIfpopgnLFxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICB0ZXh0OiAnaW5wdXQnLFxcclxcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW5wdXQnLFxcclxcbiAgICAgICAgICAgICAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWxcXHJcXG4gICAgICAgICAgICB9O1xcclxcbiAgICAgICAgfSxcXHJcXG4gICAgICAgIGVkaXRTZXR0aW5nLFxcclxcbiAgICAgICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxcclxcbiAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXFxyXFxuICAgIH07XFxyXFxuPC9zY3JpcHQ+XFxyXFxuXFxyXFxuPHN0eWxlIHNjb3BlZD5cXHJcXG4gIC5mb3JtRGl2e1xcclxcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcXHJcXG5cXHJcXG4gIH1cXHJcXG4gIC5pbnB1dFN0eWxle1xcclxcbiAgICBoZWlnaHQ6NDBweDtcXHJcXG4gICAgd2lkdGg6MjAwcHg7XFxyXFxuICAgIG1hcmdpbjoxMHB4O1xcclxcbiAgfVxcclxcblxcclxcbiAgLmZvcm1UaXRsZSB7XFxyXFxuICAgIGZvbnQtZmFtaWx5OiAnQXJpYWxNVCcsICdBcmlhbCc7XFxyXFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxyXFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXHJcXG4gICAgZm9udC1zaXplOiAxOHB4O1xcclxcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XFxyXFxuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzRBODlEQztcXHJcXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcXHJcXG4gICAgY29sb3I6ICM0QTg5REM7XFxyXFxuICB9XFxyXFxuPC9zdHlsZT5cXHJcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtYjM1NzJmM2VcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9hZ3JlZS1jaGVjay9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDc0NFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///744\n");
4977
4978/***/ }),
4979/* 745 */
4980/***/ (function(module, exports, __webpack_require__) {
4981
4982"use strict";
4983eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar editors = ['属性(同意协议)', {\n field: 'property.title',\n text: '标题',\n type: 'string'\n}, {\n field: 'property.type',\n text: '类型',\n type: 'string'\n}, {\n field: 'property.book',\n text: '文本',\n type: 'string'\n}, {\n field: 'property.bookContent',\n text: '文本内容',\n type: 'string'\n}];\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-agree-check',\n name: 'agree-check 同意',\n level: 2,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9hZ3JlZS1jaGVjay9wcm9wZXJ0eS5qcz83Mzg2Il0sIm5hbWVzIjpbImVkaXRvcnMiLCJmaWVsZCIsInRleHQiLCJ0eXBlIiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibmFtZSIsImxldmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFPQSxJQUFJQSxVQUFTLENBQ1QsVUFEUyxFQUVUO0FBQ0lDLFdBQU8sZ0JBRFg7QUFFSUMsVUFBTSxJQUZWO0FBR0lDLFVBQU07QUFIVixDQUZTLEVBT1Q7QUFDSUYsV0FBTyxlQURYO0FBRUlDLFVBQU0sSUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0FQUyxFQVlUO0FBQ0lGLFdBQU8sZUFEWDtBQUVJQyxVQUFNLElBRlY7QUFHSUMsVUFBTTtBQUhWLENBWlMsRUFpQlQ7QUFDSUYsV0FBTyxzQkFEWDtBQUVJQyxVQUFNLE1BRlY7QUFHSUMsVUFBTTtBQUhWLENBakJTLENBQWI7QUF1QkFDLFFBQVFDLEdBQVIsQ0FBWUwsT0FBWjtBQUNPLElBQU1NLG9DQUFjO0FBQ3ZCQyxTQUFLLGtCQURrQjtBQUV2QkMsVUFBTSxnQkFGaUI7QUFHdkJDLFdBQU0sQ0FIaUI7QUFJdkJULGFBQVFBO0FBSmUsQ0FBcEIiLCJmaWxlIjoiNzQ1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICBOb3RlIOW3peWFt+exu1xyXG4gKi9cclxuLypcclxuTm90ZSDlrprkuYnoh6rlrprkuYnlsZ7mgKfvvIzlhazlhbHlsZ7mgKfku45jb21tb27mlofku7bph4zor7vlj5ZcclxuYXV0aG9yIOWPtueroOa1qVxyXG4gKi9cclxubGV0IGVkaXRvcnM9IFtcclxuICAgICflsZ7mgKco5ZCM5oSP5Y2P6K6uKScsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS50aXRsZScsXHJcbiAgICAgICAgdGV4dDogJ+agh+mimCcsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS50eXBlJyxcclxuICAgICAgICB0ZXh0OiAn57G75Z6LJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmJvb2snLFxyXG4gICAgICAgIHRleHQ6ICfmlofmnKwnLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkuYm9va0NvbnRlbnQnLFxyXG4gICAgICAgIHRleHQ6ICfmlofmnKzlhoXlrrknLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnXHJcbiAgICB9XHJcbl07XHJcbmNvbnNvbGUubG9nKGVkaXRvcnMpO1xyXG5leHBvcnQgY29uc3QgZWRpdFNldHRpbmcgPSB7XHJcbiAgICBrZXk6ICdnYWVhLWFncmVlLWNoZWNrJyxcclxuICAgIG5hbWU6ICdhZ3JlZS1jaGVjayDlkIzmhI8nLFxyXG4gICAgbGV2ZWw6MixcclxuICAgIGVkaXRvcnM6ZWRpdG9ycyxcclxufTtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vYWdyZWUtY2hlY2svcHJvcGVydHkuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///745\n");
4984
4985/***/ }),
4986/* 746 */
4987/***/ (function(module, __webpack_exports__, __webpack_require__) {
4988
4989"use strict";
4990eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"formTitle\", staticStyle: { position: \"relative\" } },\n [_vm._v(\"\\n \" + _vm._s(_vm.getLabel) + \"\\n\")]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-b3572f3e\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9hZ3JlZS1jaGVjay9pbmRleC52dWU/M2EyYiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLHlDQUF5Qyx1QkFBdUIsRUFBRTtBQUN2RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI3NDYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAgeyBzdGF0aWNDbGFzczogXCJmb3JtVGl0bGVcIiwgc3RhdGljU3R5bGU6IHsgcG9zaXRpb246IFwicmVsYXRpdmVcIiB9IH0sXG4gICAgW192bS5fdihcIlxcbiAgXCIgKyBfdm0uX3MoX3ZtLmdldExhYmVsKSArIFwiXFxuXCIpXVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi1iMzU3MmYzZVwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi1iMzU3MmYzZVwiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2FncmVlLWNoZWNrL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzQ2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///746\n");
4991
4992/***/ }),
4993/* 747 */
4994/***/ (function(module, __webpack_exports__, __webpack_require__) {
4995
4996"use strict";
4997eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(193);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_b8d92104_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(751);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(748)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-b8d92104\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_b8d92104_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelTwo/cell/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-b8d92104\", Component.options)\n } else {\n hotAPI.reload(\"data-v-b8d92104\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9jZWxsL2luZGV4LnZ1ZT8yZWVmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBcVY7QUFDL1Y7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUF3RjtBQUN6SDtBQUN3STtBQUNhO0FBQ3JKO0FBQ21UO0FBQ25UO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxpUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6Ijc0Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWI4ZDkyMTA0XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LWI4ZDkyMTA0XFxcIixcXFwiaGFzU2NvcGVkXFxcIjp0cnVlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IFwiZGF0YS12LWI4ZDkyMTA0XCJcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2NlbGwvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LWI4ZDkyMTA0XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtYjhkOTIxMDRcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9jZWxsL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzQ3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///747\n");
4998
4999/***/ }),
5000/* 748 */
5001/***/ (function(module, exports, __webpack_require__) {
5002
5003eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(749);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"2d1c5380\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-b8d92104\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-b8d92104\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9jZWxsL2luZGV4LnZ1ZT9mY2JjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQThXO0FBQ3BZLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBaUcsZ0NBQWdDO0FBQ3RKO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLG1NQUFtTSxrRkFBa0Y7QUFDclIsNE1BQTRNLGtGQUFrRjtBQUM5UjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6Ijc0OC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1iOGQ5MjEwNFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCIyZDFjNTM4MFwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYjhkOTIxMDRcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1iOGQ5MjEwNFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LWI4ZDkyMTA0XCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vY2VsbC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDc0OFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///748\n");
5004
5005/***/ }),
5006/* 749 */
5007/***/ (function(module, exports, __webpack_require__) {
5008
5009eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.baseInfo-P[data-v-b8d92104] {\\n padding-left: 18px;\\n font-size: 15px;\\n color: #4A89DC;\\n background: #ececec;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelTwo/cell/myPlugin/page-ide/lib/components/levelTwo/cell/index.vue\"],\"names\":[],\"mappings\":\";AA2CA;EACA,mBAAA;EACA,gBAAA;EACA,eAAA;EACA,oBAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div :style=\\\"styles\\\" data-slot-name='default' >\\r\\n <p class=\\\"baseInfo-P\\\">\\r\\n {{getLabel}}\\r\\n <!----></p>\\r\\n <slot></slot>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport { editSetting } from './property';\\r\\nexport default {\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level,\\r\\n computed:{\\r\\n getLabel(){\\r\\n return this.property.headerTitle;\\r\\n }\\r\\n },\\r\\n data () {\\r\\n return {\\r\\n property:{\\r\\n headerTitle : '标题',\\r\\n },\\r\\n styles: {\\r\\n minWidth: '100px',\\r\\n minHeight: '200px',\\r\\n width:'90%',\\r\\n marginRight: '50px',\\r\\n border: '1px solid #ccc',\\r\\n margin: '10px auto',\\r\\n padding: 'auto'\\r\\n },\\r\\n level: editSetting.level,\\r\\n };\\r\\n },\\r\\n mounted () {\\r\\n }\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .baseInfo-P {\\r\\n padding-left: 18px;\\r\\n font-size: 15px;\\r\\n color: #4A89DC;\\r\\n background: #ececec;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9jZWxsL2luZGV4LnZ1ZT8xNThiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQStFO0FBQ2xIOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyxtQ0FBbUMsdUJBQXVCLG9CQUFvQixtQkFBbUIsd0JBQXdCLEdBQUcsVUFBVSxtTEFBbUwsTUFBTSxXQUFXLFdBQVcsVUFBVSxXQUFXLDJKQUEySixVQUFVLGlHQUFpRyxjQUFjLG1CQUFtQixvQkFBb0IscUdBQXFHLHVCQUF1QixpREFBaUQsYUFBYSxTQUFTLGtCQUFrQixvQkFBb0IsMEJBQTBCLHdEQUF3RCwwQkFBMEIsOFJBQThSLHdEQUF3RCxTQUFTLHFCQUFxQixTQUFTLE1BQU0sc0RBQXNELDJCQUEyQix3QkFBd0IsdUJBQXVCLDRCQUE0QixPQUFPLG1DQUFtQzs7QUFFMWxEIiwiZmlsZSI6Ijc0OS5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcbi5iYXNlSW5mby1QW2RhdGEtdi1iOGQ5MjEwNF0ge1xcbiAgcGFkZGluZy1sZWZ0OiAxOHB4O1xcbiAgZm9udC1zaXplOiAxNXB4O1xcbiAgY29sb3I6ICM0QTg5REM7XFxuICBiYWNrZ3JvdW5kOiAjZWNlY2VjO1xcbn1cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wiRTovcHJvamVjdC9wYWdlLWlkZS14aWFuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2NlbGwvbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vY2VsbC9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQTJDQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0Esb0JBQUE7Q0FDQVwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjx0ZW1wbGF0ZT5cXHJcXG4gIDxkaXYgOnN0eWxlPVxcXCJzdHlsZXNcXFwiICAgZGF0YS1zbG90LW5hbWU9J2RlZmF1bHQnID5cXHJcXG4gICAgPHAgY2xhc3M9XFxcImJhc2VJbmZvLVBcXFwiPlxcclxcbiAgICAgIHt7Z2V0TGFiZWx9fVxcclxcbiAgICAgIDwhLS0tLT48L3A+XFxyXFxuICAgIDxzbG90Pjwvc2xvdD5cXHJcXG4gIDwvZGl2PlxcclxcbjwvdGVtcGxhdGU+XFxyXFxuXFxyXFxuPHNjcmlwdD5cXHJcXG5pbXBvcnQgeyBlZGl0U2V0dGluZyB9IGZyb20gJy4vcHJvcGVydHknO1xcclxcbmV4cG9ydCBkZWZhdWx0IHtcXHJcXG4gICAgZWRpdFNldHRpbmcsXFxyXFxuICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcXHJcXG4gICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxcclxcbiAgICBjb21wdXRlZDp7XFxyXFxuICAgICAgICBnZXRMYWJlbCgpe1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnByb3BlcnR5LmhlYWRlclRpdGxlO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9LFxcclxcbiAgICBkYXRhICgpIHtcXHJcXG4gICAgICAgIHJldHVybiB7XFxyXFxuICAgICAgICAgICAgcHJvcGVydHk6e1xcclxcbiAgICAgICAgICAgICAgICBoZWFkZXJUaXRsZSA6ICfmoIfpopgnLFxcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgc3R5bGVzOiB7XFxyXFxuICAgICAgICAgICAgICAgIG1pbldpZHRoOiAnMTAwcHgnLFxcclxcbiAgICAgICAgICAgICAgICBtaW5IZWlnaHQ6ICcyMDBweCcsXFxyXFxuICAgICAgICAgICAgICAgIHdpZHRoOic5MCUnLFxcclxcbiAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogJzUwcHgnLFxcclxcbiAgICAgICAgICAgICAgICBib3JkZXI6ICcxcHggc29saWQgI2NjYycsXFxyXFxuICAgICAgICAgICAgICAgIG1hcmdpbjogJzEwcHggYXV0bycsXFxyXFxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICdhdXRvJ1xcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgfSxcXHJcXG4gICAgbW91bnRlZCAoKSB7XFxyXFxuICAgIH1cXHJcXG59O1xcclxcbjwvc2NyaXB0PlxcclxcblxcclxcbjxzdHlsZSBzY29wZWQ+XFxyXFxuICAuYmFzZUluZm8tUCB7XFxyXFxuICAgIHBhZGRpbmctbGVmdDogMThweDtcXHJcXG4gICAgZm9udC1zaXplOiAxNXB4O1xcclxcbiAgICBjb2xvcjogIzRBODlEQztcXHJcXG4gICAgYmFja2dyb3VuZDogI2VjZWNlYztcXHJcXG4gIH1cXHJcXG48L3N0eWxlPlxcclxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi1iOGQ5MjEwNFwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2NlbGwvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3NDlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///749\n");
5010
5011/***/ }),
5012/* 750 */
5013/***/ (function(module, exports, __webpack_require__) {
5014
5015"use strict";
5016eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = ['扩展属性(单元格)', {\n field: 'property.headerTitle',\n text: '头部标题',\n type: 'string'\n}, {\n field: 'property.col',\n text: 'col',\n type: 'string',\n value: 4,\n isShow: 'hide'\n}, {\n field: 'property.showHeader',\n text: 'showHeader',\n type: 'boolean',\n value: true,\n isShow: 'hide'\n}, {\n field: 'property.showFooter',\n text: 'showFooter',\n type: 'boolean',\n value: false,\n isShow: 'hide'\n}];\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-cell',\n name: 'info-cell 单元格',\n level: 2,\n isContainer: true,\n slots: {\n default: []\n },\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9jZWxsL3Byb3BlcnR5LmpzPzExMDciXSwibmFtZXMiOlsiZWRpdG9ycyIsImZpZWxkIiwidGV4dCIsInR5cGUiLCJ2YWx1ZSIsImlzU2hvdyIsImNvbnNvbGUiLCJsb2ciLCJlZGl0U2V0dGluZyIsImtleSIsIm5hbWUiLCJsZXZlbCIsImlzQ29udGFpbmVyIiwic2xvdHMiLCJkZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7O0FBS0EsSUFBSUEsVUFBUyxDQUNULFdBRFMsRUFFVDtBQUNJQyxXQUFPLHNCQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0FGUyxFQU9UO0FBQ0lGLFdBQU8sY0FEWDtBQUVJQyxVQUFNLEtBRlY7QUFHSUMsVUFBTSxRQUhWO0FBSUlDLFdBQU0sQ0FKVjtBQUtJQyxZQUFPO0FBTFgsQ0FQUyxFQWNUO0FBQ0lKLFdBQU8scUJBRFg7QUFFSUMsVUFBTSxZQUZWO0FBR0lDLFVBQU0sU0FIVjtBQUlJQyxXQUFNLElBSlY7QUFLSUMsWUFBTztBQUxYLENBZFMsRUFxQlQ7QUFDSUosV0FBTyxxQkFEWDtBQUVJQyxVQUFNLFlBRlY7QUFHSUMsVUFBTSxTQUhWO0FBSUlDLFdBQU0sS0FKVjtBQUtJQyxZQUFPO0FBTFgsQ0FyQlMsQ0FBYjtBQTZCQUMsUUFBUUMsR0FBUixDQUFZUCxPQUFaO0FBQ08sSUFBTVEsb0NBQWM7QUFDdkJDLFNBQUssV0FEa0I7QUFFdkJDLFVBQU0sZUFGaUI7QUFHdkJDLFdBQU0sQ0FIaUI7QUFJdkJDLGlCQUFhLElBSlU7QUFLdkJDLFdBQU87QUFDSEMsaUJBQVM7QUFETixLQUxnQjtBQVF2QmQsYUFBUUE7QUFSZSxDQUFwQiIsImZpbGUiOiI3NTAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gIE5vdGUg5bel5YW357G7XHJcbiAqL1xyXG5pbXBvcnQge2NvbW1vblRvb2x9IGZyb20gXCIuLi8uLi9jb21tb24vY29tbW9uXCJcclxuLypcclxuTm90ZSDlrprkuYnoh6rlrprkuYnlsZ7mgKfvvIzlhazlhbHlsZ7mgKfku45jb21tb27mlofku7bph4zor7vlj5ZcclxuYXV0aG9yIOWPtueroOa1qVxyXG4gKi9cclxubGV0IGVkaXRvcnM9IFtcclxuICAgICfmianlsZXlsZ7mgKco5Y2V5YWD5qC8KScsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5oZWFkZXJUaXRsZScsXHJcbiAgICAgICAgdGV4dDogJ+WktOmDqOagh+mimCcsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5jb2wnLFxyXG4gICAgICAgIHRleHQ6ICdjb2wnLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICAgIHZhbHVlOjQsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LnNob3dIZWFkZXInLFxyXG4gICAgICAgIHRleHQ6ICdzaG93SGVhZGVyJyxcclxuICAgICAgICB0eXBlOiAnYm9vbGVhbicsXHJcbiAgICAgICAgdmFsdWU6dHJ1ZSxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkuc2hvd0Zvb3RlcicsXHJcbiAgICAgICAgdGV4dDogJ3Nob3dGb290ZXInLFxyXG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcclxuICAgICAgICB2YWx1ZTpmYWxzZSxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnXHJcbiAgICB9XHJcbl07XHJcbmNvbnNvbGUubG9nKGVkaXRvcnMpO1xyXG5leHBvcnQgY29uc3QgZWRpdFNldHRpbmcgPSB7XHJcbiAgICBrZXk6ICdnYWVhLWNlbGwnLFxyXG4gICAgbmFtZTogJ2luZm8tY2VsbCDljZXlhYPmoLwnLFxyXG4gICAgbGV2ZWw6MixcclxuICAgIGlzQ29udGFpbmVyOiB0cnVlLFxyXG4gICAgc2xvdHM6IHtcclxuICAgICAgICBkZWZhdWx0OiBbXVxyXG4gICAgfSxcclxuICAgIGVkaXRvcnM6ZWRpdG9ycyxcclxufTtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vY2VsbC9wcm9wZXJ0eS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///750\n");
5017
5018/***/ }),
5019/* 751 */
5020/***/ (function(module, __webpack_exports__, __webpack_require__) {
5021
5022"use strict";
5023eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { style: _vm.styles, attrs: { \"data-slot-name\": \"default\" } },\n [\n _c(\"p\", { staticClass: \"baseInfo-P\" }, [\n _vm._v(\"\\n \" + _vm._s(_vm.getLabel) + \"\\n \")\n ]),\n _vm._v(\" \"),\n _vm._t(\"default\")\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-b8d92104\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9jZWxsL2luZGV4LnZ1ZT9jNTA1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssNEJBQTRCLDhCQUE4QixFQUFFO0FBQ2pFO0FBQ0EsZUFBZSw0QkFBNEI7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ijc1MS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7IHN0eWxlOiBfdm0uc3R5bGVzLCBhdHRyczogeyBcImRhdGEtc2xvdC1uYW1lXCI6IFwiZGVmYXVsdFwiIH0gfSxcbiAgICBbXG4gICAgICBfYyhcInBcIiwgeyBzdGF0aWNDbGFzczogXCJiYXNlSW5mby1QXCIgfSwgW1xuICAgICAgICBfdm0uX3YoXCJcXG4gICAgXCIgKyBfdm0uX3MoX3ZtLmdldExhYmVsKSArIFwiXFxuICAgIFwiKVxuICAgICAgXSksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX3ZtLl90KFwiZGVmYXVsdFwiKVxuICAgIF0sXG4gICAgMlxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi1iOGQ5MjEwNFwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi1iOGQ5MjEwNFwiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2NlbGwvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3NTFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///751\n");
5024
5025/***/ }),
5026/* 752 */
5027/***/ (function(module, __webpack_exports__, __webpack_require__) {
5028
5029"use strict";
5030eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(194);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_b4bfa274_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(756);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(753)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_b4bfa274_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelTwo/cellTable/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-b4bfa274\", Component.options)\n } else {\n hotAPI.reload(\"data-v-b4bfa274\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9jZWxsVGFibGUvaW5kZXgudnVlPzMzMDgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFzVjtBQUNoVztBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXdGO0FBQ3pIO0FBQ3dJO0FBQ2E7QUFDcko7QUFDb1Q7QUFDcFQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGtRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNzUyLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYjRiZmEyNzRcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LWI0YmZhMjc0XFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9jZWxsVGFibGUvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LWI0YmZhMjc0XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtYjRiZmEyNzRcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9jZWxsVGFibGUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3NTJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///752\n");
5031
5032/***/ }),
5033/* 753 */
5034/***/ (function(module, exports, __webpack_require__) {
5035
5036eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(754);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"0b76e0b1\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-b4bfa274\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-b4bfa274\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9jZWxsVGFibGUvaW5kZXgudnVlP2NlNGUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBK1c7QUFDclksNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUFpRyxnQ0FBZ0M7QUFDdEo7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsbU1BQW1NLG1GQUFtRjtBQUN0Uiw0TUFBNE0sbUZBQW1GO0FBQy9SO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNzUzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWI0YmZhMjc0XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCIwYjc2ZTBiMVwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYjRiZmEyNzRcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYjRiZmEyNzRcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtYjRiZmEyNzRcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vY2VsbFRhYmxlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzUzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///753\n");
5037
5038/***/ }),
5039/* 754 */
5040/***/ (function(module, exports, __webpack_require__) {
5041
5042eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9jZWxsVGFibGUvaW5kZXgudnVlPzc4MjMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBK0U7QUFDbEg7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLDJFQUEyRSxxRkFBcUY7O0FBRXZMIiwiZmlsZSI6Ijc1NC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi1iNGJmYTI3NFwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9jZWxsVGFibGUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3NTRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///754\n");
5043
5044/***/ }),
5045/* 755 */
5046/***/ (function(module, exports, __webpack_require__) {
5047
5048"use strict";
5049eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = ['属性(单元格表格)', {\n field: 'property.label',\n text: 'table',\n type: 'string',\n isShow: 'hide',\n value: \"table\"\n}, {\n field: 'property.span',\n text: '行内间距',\n isShow: 'hide',\n value: \"24\",\n type: 'string'\n}, {\n field: 'property.tit',\n text: '是否显示标题',\n isShow: 'hide',\n value: \"none\",\n type: 'string'\n}, {\n field: 'property.prop',\n text: '属性名称',\n type: 'cellTable'\n}, '请选择全局设置中的表格', {\n field: 'property.itemPropList',\n text: '',\n\n value: []\n}];\n\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-cell-table',\n name: 'cell-table 基本信息表格',\n level: 2,\n isContainer: true,\n slots: {\n default: []\n },\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9jZWxsVGFibGUvcHJvcGVydHkuanM/YWVmMiJdLCJuYW1lcyI6WyJlZGl0b3JzIiwiZmllbGQiLCJ0ZXh0IiwidHlwZSIsImlzU2hvdyIsInZhbHVlIiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibmFtZSIsImxldmVsIiwiaXNDb250YWluZXIiLCJzbG90cyIsImRlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQTs7QUFLQSxJQUFJQSxVQUFTLENBQ1QsV0FEUyxFQU9UO0FBQ0lDLFdBQU8sZ0JBRFg7QUFFSUMsVUFBTSxPQUZWO0FBR0lDLFVBQU0sUUFIVjtBQUlJQyxZQUFPLE1BSlg7QUFLSUMsV0FBTTtBQUxWLENBUFMsRUFjVDtBQUNJSixXQUFPLGVBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lFLFlBQU8sTUFIWDtBQUlJQyxXQUFNLElBSlY7QUFLSUYsVUFBTTtBQUxWLENBZFMsRUFxQlQ7QUFDSUYsV0FBTyxjQURYO0FBRUlDLFVBQU0sUUFGVjtBQUdJRSxZQUFPLE1BSFg7QUFJSUMsV0FBTSxNQUpWO0FBS0lGLFVBQU07QUFMVixDQXJCUyxFQTRCVDtBQUNJRixXQUFPLGVBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU07QUFIVixDQTVCUyxFQWlDVCxhQWpDUyxFQWtDVDtBQUNJRixXQUFPLHVCQURYO0FBRUlDLFVBQU0sRUFGVjs7QUFJSUcsV0FBTztBQUpYLENBbENTLENBQWI7O0FBMENBQyxRQUFRQyxHQUFSLENBQVlQLE9BQVo7QUFDTyxJQUFNUSxvQ0FBYztBQUN2QkMsU0FBSyxpQkFEa0I7QUFFdkJDLFVBQU0sbUJBRmlCO0FBR3ZCQyxXQUFNLENBSGlCO0FBSXZCQyxpQkFBYSxJQUpVO0FBS3ZCQyxXQUFPO0FBQ0hDLGlCQUFTO0FBRE4sS0FMZ0I7QUFRdkJkLGFBQVFBO0FBUmUsQ0FBcEIiLCJmaWxlIjoiNzU1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICBOb3RlIOW3peWFt+exu1xyXG4gKi9cclxuaW1wb3J0IHtjb21tb25Ub29sfSBmcm9tIFwiLi4vLi4vY29tbW9uL2NvbW1vblwiXHJcbi8qXHJcbk5vdGUg5a6a5LmJ6Ieq5a6a5LmJ5bGe5oCn77yM5YWs5YWx5bGe5oCn5LuOY29tbW9u5paH5Lu26YeM6K+75Y+WXHJcbmF1dGhvciDlj7bnq6DmtalcclxuICovXHJcbmxldCBlZGl0b3JzPSBbXHJcbiAgICAn5bGe5oCnKOWNleWFg+agvOihqOagvCknLFxyXG4gICAvKiB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS50aXRsZScsXHJcbiAgICAgICAgdGV4dDogJ+ihqOWQjScsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sKi9cclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmxhYmVsJyxcclxuICAgICAgICB0ZXh0OiAndGFibGUnLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZScsXHJcbiAgICAgICAgdmFsdWU6XCJ0YWJsZVwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkuc3BhbicsXHJcbiAgICAgICAgdGV4dDogJ+ihjOWGhemXtOi3nScsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJyxcclxuICAgICAgICB2YWx1ZTpcIjI0XCIsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS50aXQnLFxyXG4gICAgICAgIHRleHQ6ICfmmK/lkKbmmL7npLrmoIfpopgnLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZScsXHJcbiAgICAgICAgdmFsdWU6XCJub25lXCIsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5wcm9wJyxcclxuICAgICAgICB0ZXh0OiAn5bGe5oCn5ZCN56ewJyxcclxuICAgICAgICB0eXBlOiAnY2VsbFRhYmxlJ1xyXG4gICAgfSxcclxuICAgICfor7fpgInmi6nlhajlsYDorr7nva7kuK3nmoTooajmoLwnLFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkuaXRlbVByb3BMaXN0JyxcclxuICAgICAgICB0ZXh0OiAnJyxcclxuXHJcbiAgICAgICAgdmFsdWU6IFtdXHJcbiAgICB9XHJcbl07XHJcblxyXG5jb25zb2xlLmxvZyhlZGl0b3JzKTtcclxuZXhwb3J0IGNvbnN0IGVkaXRTZXR0aW5nID0ge1xyXG4gICAga2V5OiAnZ2FlYS1jZWxsLXRhYmxlJyxcclxuICAgIG5hbWU6ICdjZWxsLXRhYmxlIOWfuuacrOS/oeaBr+ihqOagvCcsXHJcbiAgICBsZXZlbDoyLFxyXG4gICAgaXNDb250YWluZXI6IHRydWUsXHJcbiAgICBzbG90czoge1xyXG4gICAgICAgIGRlZmF1bHQ6IFtdXHJcbiAgICB9LFxyXG4gICAgZWRpdG9yczplZGl0b3JzLFxyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9jZWxsVGFibGUvcHJvcGVydHkuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///755\n");
5050
5051/***/ }),
5052/* 756 */
5053/***/ (function(module, __webpack_exports__, __webpack_require__) {
5054
5055"use strict";
5056eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { width: \"98%\", margin: \"10px auto\" } },\n [\n _c(\n \"Form\",\n {\n staticClass: \"ty-content-element-form gaea-slot\",\n style: _vm.styles,\n attrs: { \"data-slot-name\": \"default\" }\n },\n [_vm._t(\"default\")],\n 2\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-b4bfa274\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9jZWxsVGFibGUvaW5kZXgudnVlP2FhNmQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxlQUFlLG9DQUFvQyxFQUFFO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI3NTYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAgeyBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCI5OCVcIiwgbWFyZ2luOiBcIjEwcHggYXV0b1wiIH0gfSxcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJGb3JtXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBzdGF0aWNDbGFzczogXCJ0eS1jb250ZW50LWVsZW1lbnQtZm9ybSBnYWVhLXNsb3RcIixcbiAgICAgICAgICBzdHlsZTogX3ZtLnN0eWxlcyxcbiAgICAgICAgICBhdHRyczogeyBcImRhdGEtc2xvdC1uYW1lXCI6IFwiZGVmYXVsdFwiIH1cbiAgICAgICAgfSxcbiAgICAgICAgW192bS5fdChcImRlZmF1bHRcIildLFxuICAgICAgICAyXG4gICAgICApXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LWI0YmZhMjc0XCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LWI0YmZhMjc0XCIsXCJoYXNTY29wZWRcIjpmYWxzZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2NlbGxUYWJsZS9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDc1NlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///756\n");
5057
5058/***/ }),
5059/* 757 */
5060/***/ (function(module, __webpack_exports__, __webpack_require__) {
5061
5062"use strict";
5063eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(195);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_5d59a060_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(761);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(758)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_5d59a060_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelTwo/form/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-5d59a060\", Component.options)\n } else {\n hotAPI.reload(\"data-v-5d59a060\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtL2luZGV4LnZ1ZT8xMTA1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBc1Y7QUFDaFc7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxDQUF3RjtBQUN6SDtBQUN3STtBQUNhO0FBQ3JKO0FBQ29UO0FBQ3BUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMElBQWM7QUFDaEIsRUFBRSxrUUFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsZ0ZBQWlCIiwiZmlsZSI6Ijc1Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTVkNTlhMDYwXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi01ZDU5YTA2MFxcXCIsXFxcImhhc1Njb3BlZFxcXCI6ZmFsc2UsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vZm9ybS9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtNWQ1OWEwNjBcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi01ZDU5YTA2MFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2Zvcm0vaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3NTdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///757\n");
5064
5065/***/ }),
5066/* 758 */
5067/***/ (function(module, exports, __webpack_require__) {
5068
5069eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(759);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"7103ee13\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5d59a060\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5d59a060\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtL2luZGV4LnZ1ZT85OGY2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQStXO0FBQ3JZLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsQ0FBaUcsZ0NBQWdDO0FBQ3RKO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLG1NQUFtTSxtRkFBbUY7QUFDdFIsNE1BQTRNLG1GQUFtRjtBQUMvUjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6Ijc1OC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi01ZDU5YTA2MFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiNzEwM2VlMTNcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTVkNTlhMDYwXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTVkNTlhMDYwXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTVkNTlhMDYwXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2Zvcm0vaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3NThcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///758\n");
5070
5071/***/ }),
5072/* 759 */
5073/***/ (function(module, exports, __webpack_require__) {
5074
5075eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtL2luZGV4LnZ1ZT9jNzc3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLENBQStFO0FBQ2xIOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyxtRUFBbUUscUZBQXFGOztBQUUvSyIsImZpbGUiOiI3NTkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W10sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIlwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNWQ1OWEwNjBcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vZm9ybS9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDc1OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///759\n");
5076
5077/***/ }),
5078/* 760 */
5079/***/ (function(module, exports, __webpack_require__) {
5080
5081"use strict";
5082eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = [{\n field: 'property.validator',\n text: '是否必填',\n isShow: 'hide',\n type: 'boolean',\n value: true\n}, {\n field: 'extend.span',\n text: 'span',\n type: 'number',\n value: 17,\n isShow: 'hide'\n}, {\n field: 'extend.labelWidth',\n text: 'labelWidth',\n type: 'number',\n value: 222,\n isShow: 'hide'\n}];\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-form',\n name: 'form 表单',\n level: 2,\n isContainer: true,\n slots: {\n default: []\n },\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtL3Byb3BlcnR5LmpzP2ZmMjYiXSwibmFtZXMiOlsiZWRpdG9ycyIsImZpZWxkIiwidGV4dCIsImlzU2hvdyIsInR5cGUiLCJ2YWx1ZSIsImNvbnNvbGUiLCJsb2ciLCJlZGl0U2V0dGluZyIsImtleSIsIm5hbWUiLCJsZXZlbCIsImlzQ29udGFpbmVyIiwic2xvdHMiLCJkZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7O0FBS0EsSUFBSUEsVUFBUyxDQUNUO0FBQ0lDLFdBQU8sb0JBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFlBQU8sTUFIWDtBQUlJQyxVQUFNLFNBSlY7QUFLSUMsV0FBTTtBQUxWLENBRFMsRUFTVDtBQUNJSixXQUFPLGFBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lFLFVBQU0sUUFIVjtBQUlJQyxXQUFNLEVBSlY7QUFLSUYsWUFBTztBQUxYLENBVFMsRUFnQlQ7QUFDSUYsV0FBTyxtQkFEWDtBQUVJQyxVQUFNLFlBRlY7QUFHSUUsVUFBTSxRQUhWO0FBSUlDLFdBQU0sR0FKVjtBQUtJRixZQUFPO0FBTFgsQ0FoQlMsQ0FBYjtBQXdCQUcsUUFBUUMsR0FBUixDQUFZUCxPQUFaO0FBQ08sSUFBTVEsb0NBQWM7QUFDdkJDLFNBQUssV0FEa0I7QUFFdkJDLFVBQU0sU0FGaUI7QUFHdkJDLFdBQU0sQ0FIaUI7QUFJdkJDLGlCQUFhLElBSlU7QUFLdkJDLFdBQU87QUFDSEMsaUJBQVM7QUFETixLQUxnQjtBQVF2QmQsYUFBUUE7QUFSZSxDQUFwQiIsImZpbGUiOiI3NjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gIE5vdGUg5bel5YW357G7XHJcbiAqL1xyXG5pbXBvcnQge2NvbW1vblRvb2x9IGZyb20gXCIuLi8uLi9jb21tb24vY29tbW9uXCJcclxuLypcclxuTm90ZSDlrprkuYnoh6rlrprkuYnlsZ7mgKfvvIzlhazlhbHlsZ7mgKfku45jb21tb27mlofku7bph4zor7vlj5ZcclxuYXV0aG9yIOWPtueroOa1qVxyXG4gKi9cclxubGV0IGVkaXRvcnM9IFtcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LnZhbGlkYXRvcicsXHJcbiAgICAgICAgdGV4dDogJ+aYr+WQpuW/heWhqycsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJyxcclxuICAgICAgICB0eXBlOiAnYm9vbGVhbicsXHJcbiAgICAgICAgdmFsdWU6dHJ1ZVxyXG4gICAgfSxcclxuICAgIC8vICfmianlsZXlsZ7mgKcnLFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLnNwYW4nLFxyXG4gICAgICAgIHRleHQ6ICdzcGFuJyxcclxuICAgICAgICB0eXBlOiAnbnVtYmVyJyxcclxuICAgICAgICB2YWx1ZToxNyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAnZXh0ZW5kLmxhYmVsV2lkdGgnLFxyXG4gICAgICAgIHRleHQ6ICdsYWJlbFdpZHRoJyxcclxuICAgICAgICB0eXBlOiAnbnVtYmVyJyxcclxuICAgICAgICB2YWx1ZToyMjIsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJ1xyXG4gICAgfVxyXG5dO1xyXG5jb25zb2xlLmxvZyhlZGl0b3JzKTtcclxuZXhwb3J0IGNvbnN0IGVkaXRTZXR0aW5nID0ge1xyXG4gICAga2V5OiAnZ2FlYS1mb3JtJyxcclxuICAgIG5hbWU6ICdmb3JtIOihqOWNlScsXHJcbiAgICBsZXZlbDoyLFxyXG4gICAgaXNDb250YWluZXI6IHRydWUsXHJcbiAgICBzbG90czoge1xyXG4gICAgICAgIGRlZmF1bHQ6IFtdXHJcbiAgICB9LFxyXG4gICAgZWRpdG9yczplZGl0b3JzLFxyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtL3Byb3BlcnR5LmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///760\n");
5083
5084/***/ }),
5085/* 761 */
5086/***/ (function(module, __webpack_exports__, __webpack_require__) {
5087
5088"use strict";
5089eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"Form\",\n {\n staticClass: \"ty-content-element-form gaea-slot\",\n staticStyle: { border: \"0px\" },\n style: _vm.styles,\n attrs: { \"data-slot-name\": \"default\" }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-5d59a060\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtL2luZGV4LnZ1ZT9jZGY0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsZ0JBQWdCO0FBQ3BDO0FBQ0EsY0FBYztBQUNkLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ijc2MS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJGb3JtXCIsXG4gICAge1xuICAgICAgc3RhdGljQ2xhc3M6IFwidHktY29udGVudC1lbGVtZW50LWZvcm0gZ2FlYS1zbG90XCIsXG4gICAgICBzdGF0aWNTdHlsZTogeyBib3JkZXI6IFwiMHB4XCIgfSxcbiAgICAgIHN0eWxlOiBfdm0uc3R5bGVzLFxuICAgICAgYXR0cnM6IHsgXCJkYXRhLXNsb3QtbmFtZVwiOiBcImRlZmF1bHRcIiB9XG4gICAgfSxcbiAgICBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sXG4gICAgMlxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi01ZDU5YTA2MFwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi01ZDU5YTA2MFwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzYxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///761\n");
5090
5091/***/ }),
5092/* 762 */
5093/***/ (function(module, __webpack_exports__, __webpack_require__) {
5094
5095"use strict";
5096eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(196);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_65087f11_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(766);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(763)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_65087f11_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelTwo/formRadio/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-65087f11\", Component.options)\n } else {\n hotAPI.reload(\"data-v-65087f11\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtUmFkaW8vaW5kZXgudnVlPzEwMTYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFzVjtBQUNoVztBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXdGO0FBQ3pIO0FBQ3dJO0FBQ2E7QUFDcko7QUFDb1Q7QUFDcFQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGtRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNzYyLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNjUwODdmMTFcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTY1MDg3ZjExXFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtUmFkaW8vaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTY1MDg3ZjExXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtNjUwODdmMTFcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtUmFkaW8vaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3NjJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///762\n");
5097
5098/***/ }),
5099/* 763 */
5100/***/ (function(module, exports, __webpack_require__) {
5101
5102eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(764);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"0b6071ac\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-65087f11\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-65087f11\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtUmFkaW8vaW5kZXgudnVlPzk5ZGMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBK1c7QUFDclksNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUFpRyxnQ0FBZ0M7QUFDdEo7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsbU1BQW1NLG1GQUFtRjtBQUN0Uiw0TUFBNE0sbUZBQW1GO0FBQy9SO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNzYzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTY1MDg3ZjExXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCIwYjYwNzFhY1wiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNjUwODdmMTFcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNjUwODdmMTFcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtNjUwODdmMTFcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vZm9ybVJhZGlvL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzYzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///763\n");
5103
5104/***/ }),
5105/* 764 */
5106/***/ (function(module, exports, __webpack_require__) {
5107
5108eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtUmFkaW8vaW5kZXgudnVlP2UzZTQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBK0U7QUFDbEg7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLHVGQUF1RixxRkFBcUY7O0FBRW5NIiwiZmlsZSI6Ijc2NC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi02NTA4N2YxMVwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtUmFkaW8vaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3NjRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///764\n");
5109
5110/***/ }),
5111/* 765 */
5112/***/ (function(module, exports, __webpack_require__) {
5113
5114"use strict";
5115eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = ['属性(表单单选框)', {\n field: 'extend.span',\n text: '列数',\n type: 'number',\n isShow: 'hide',\n value: 17\n}, '事项', {\n field: 'property.items',\n text: '',\n type: 'linkItems'\n}];\n\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-form-radio',\n name: 'form-radio 表单单选框',\n level: 2,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtUmFkaW8vcHJvcGVydHkuanM/YTMyNyJdLCJuYW1lcyI6WyJlZGl0b3JzIiwiZmllbGQiLCJ0ZXh0IiwidHlwZSIsImlzU2hvdyIsInZhbHVlIiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibmFtZSIsImxldmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7O0FBS0EsSUFBSUEsVUFBUyxDQUNULFdBRFMsRUFFVDtBQUNJQyxXQUFPLGFBRFg7QUFFSUMsVUFBTSxJQUZWO0FBR0lDLFVBQU0sUUFIVjtBQUlJQyxZQUFPLE1BSlg7QUFLSUMsV0FBTTtBQUxWLENBRlMsRUFvQlQsSUFwQlMsRUFxQlQ7QUFDSUosV0FBTyxnQkFEWDtBQUVJQyxVQUFNLEVBRlY7QUFHSUMsVUFBTTtBQUhWLENBckJTLENBQWI7O0FBNEJBRyxRQUFRQyxHQUFSLENBQVlQLE9BQVo7QUFDTyxJQUFNUSxvQ0FBYztBQUN2QkMsU0FBSyxpQkFEa0I7QUFFdkJDLFVBQU0sa0JBRmlCO0FBR3ZCQyxXQUFNLENBSGlCO0FBSXZCWCxhQUFRQTtBQUplLENBQXBCIiwiZmlsZSI6Ijc2NS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAgTm90ZSDlt6XlhbfnsbtcclxuICovXHJcbmltcG9ydCB7Y29tbW9uVG9vbH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jb21tb25cIlxyXG4vKlxyXG5Ob3RlIOWumuS5ieiHquWumuS5ieWxnuaAp++8jOWFrOWFseWxnuaAp+S7jmNvbW1vbuaWh+S7tumHjOivu+WPllxyXG5hdXRob3Ig5Y+256ug5rWpXHJcbiAqL1xyXG5sZXQgZWRpdG9ycz0gW1xyXG4gICAgJ+WxnuaApyjooajljZXljZXpgInmoYYpJyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ2V4dGVuZC5zcGFuJyxcclxuICAgICAgICB0ZXh0OiAn5YiX5pWwJyxcclxuICAgICAgICB0eXBlOiAnbnVtYmVyJyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnLFxyXG4gICAgICAgIHZhbHVlOjE3XHJcbiAgICB9LFxyXG4gICAvKiB7XHJcbiAgICAgICAgZmllbGQ6ICdleHRlbmQuZXZlbnRUeXBlJyxcclxuICAgICAgICB0ZXh0OiAn5LqL5Lu257G75Z6LJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSwqL1xyXG4gICAvLyAnbGlua2FnZUNoYW5nZVZhbHVlJyxcclxuICAgLy8gIHtcclxuICAgLy8gICAgICBmaWVsZDogJ2V4dGVuZC5saW5rYWdlQ2hhbmdlVmFsdWUnLFxyXG4gICAvLyAgICAgIHRleHQ6ICfogZTliqgnLFxyXG4gICAvLyAgICAgIHR5cGU6ICdsaW5rYWdlQ2hhbmdlVmFsdWUnXHJcbiAgIC8vICB9LFxyXG4gICAgJ+S6i+mhuScsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5pdGVtcycsXHJcbiAgICAgICAgdGV4dDogJycsXHJcbiAgICAgICAgdHlwZTogJ2xpbmtJdGVtcydcclxuICAgIH0sXHJcbl07XHJcbi8vIGNvbW1vblRvb2wuYXNzZW1ibGVEYXRhKGVkaXRvcnMpO1xyXG5jb25zb2xlLmxvZyhlZGl0b3JzKTtcclxuZXhwb3J0IGNvbnN0IGVkaXRTZXR0aW5nID0ge1xyXG4gICAga2V5OiAnZ2FlYS1mb3JtLXJhZGlvJyxcclxuICAgIG5hbWU6ICdmb3JtLXJhZGlvIOihqOWNleWNlemAieahhicsXHJcbiAgICBsZXZlbDoyLFxyXG4gICAgZWRpdG9yczplZGl0b3JzLFxyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtUmFkaW8vcHJvcGVydHkuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///765\n");
5116
5117/***/ }),
5118/* 766 */
5119/***/ (function(module, __webpack_exports__, __webpack_require__) {
5120
5121"use strict";
5122eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _c(\"img\", { style: _vm.styles, attrs: { src: _vm.imgUrl, alt: \"\" } })\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-65087f11\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtUmFkaW8vaW5kZXgudnVlP2IxYmEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsNEJBQTRCLDJCQUEyQixFQUFFO0FBQ3hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI3NjYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFwiZGl2XCIsIFtcbiAgICBfYyhcImltZ1wiLCB7IHN0eWxlOiBfdm0uc3R5bGVzLCBhdHRyczogeyBzcmM6IF92bS5pbWdVcmwsIGFsdDogXCJcIiB9IH0pXG4gIF0pXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi02NTA4N2YxMVwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi02NTA4N2YxMVwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtUmFkaW8vaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3NjZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///766\n");
5123
5124/***/ }),
5125/* 767 */
5126/***/ (function(module, __webpack_exports__, __webpack_require__) {
5127
5128"use strict";
5129eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(197);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_fc4189b8_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(771);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(768)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_fc4189b8_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelTwo/formTable/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-fc4189b8\", Component.options)\n } else {\n hotAPI.reload(\"data-v-fc4189b8\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtVGFibGUvaW5kZXgudnVlPzQ0ODAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFzVjtBQUNoVztBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXdGO0FBQ3pIO0FBQ3dJO0FBQ2E7QUFDcko7QUFDb1Q7QUFDcFQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGtRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNzY3LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZmM0MTg5YjhcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LWZjNDE4OWI4XFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtVGFibGUvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LWZjNDE4OWI4XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtZmM0MTg5YjhcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtVGFibGUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3Njdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///767\n");
5130
5131/***/ }),
5132/* 768 */
5133/***/ (function(module, exports, __webpack_require__) {
5134
5135eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(769);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"2fbfd102\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-fc4189b8\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-fc4189b8\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtVGFibGUvaW5kZXgudnVlP2RmY2IiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBK1c7QUFDclksNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUFpRyxnQ0FBZ0M7QUFDdEo7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsbU1BQW1NLG1GQUFtRjtBQUN0Uiw0TUFBNE0sbUZBQW1GO0FBQy9SO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNzY4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWZjNDE4OWI4XFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCIyZmJmZDEwMlwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZmM0MTg5YjhcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtZmM0MTg5YjhcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtZmM0MTg5YjhcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vZm9ybVRhYmxlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzY4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///768\n");
5136
5137/***/ }),
5138/* 769 */
5139/***/ (function(module, exports, __webpack_require__) {
5140
5141eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtVGFibGUvaW5kZXgudnVlPzcwNjIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBK0U7QUFDbEg7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLHlFQUF5RSxxRkFBcUY7O0FBRXJMIiwiZmlsZSI6Ijc2OS5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi1mYzQxODliOFwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtVGFibGUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3Njlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///769\n");
5142
5143/***/ }),
5144/* 770 */
5145/***/ (function(module, exports, __webpack_require__) {
5146
5147"use strict";
5148eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = ['属性(表格)', {\n field: 'property.validator',\n text: '是否校验',\n type: 'boolean',\n value: true\n}, {\n field: 'property.isBtnMsg',\n text: '是否显示按钮名称',\n type: 'boolean'\n}, {\n field: 'property.minRows',\n text: '默认初始行数',\n type: 'string',\n isShow: 'hide',\n value: 1\n}, {\n field: 'property.disableDelRows',\n text: '不能删除的最少行数',\n type: 'string',\n isShow: 'hide',\n value: 1\n}, {\n field: 'property.padding',\n text: 'padding',\n type: 'string',\n isShow: 'hide',\n value: \"0\"\n}, {\n field: 'property.btnMsg',\n text: '添加行按钮名称',\n type: 'string'\n}, '请选择全局设置中的表格属性', {\n field: 'property.prop',\n text: '',\n type: 'cellTableProp'\n}];\n\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-form-table',\n name: 'form-table 表格',\n level: 2,\n isContainer: true,\n slots: {\n default: []\n },\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtVGFibGUvcHJvcGVydHkuanM/NzgwYiJdLCJuYW1lcyI6WyJlZGl0b3JzIiwiZmllbGQiLCJ0ZXh0IiwidHlwZSIsInZhbHVlIiwiaXNTaG93IiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibmFtZSIsImxldmVsIiwiaXNDb250YWluZXIiLCJzbG90cyIsImRlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQTs7QUFLQSxJQUFJQSxVQUFTLENBQ1QsUUFEUyxFQU9UO0FBQ0lDLFdBQU8sb0JBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU0sU0FIVjtBQUlJQyxXQUFNO0FBSlYsQ0FQUyxFQWFUO0FBQ0lILFdBQU8sbUJBRFg7QUFFSUMsVUFBTSxVQUZWO0FBR0lDLFVBQU07QUFIVixDQWJTLEVBa0JUO0FBQ0lGLFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxRQUZWO0FBR0lDLFVBQU0sUUFIVjtBQUlJRSxZQUFPLE1BSlg7QUFLSUQsV0FBTTtBQUxWLENBbEJTLEVBeUJUO0FBQ0lILFdBQU8seUJBRFg7QUFFSUMsVUFBTSxXQUZWO0FBR0lDLFVBQU0sUUFIVjtBQUlJRSxZQUFPLE1BSlg7QUFLSUQsV0FBTTtBQUxWLENBekJTLEVBZ0NUO0FBQ0lILFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxTQUZWO0FBR0lDLFVBQU0sUUFIVjtBQUlJRSxZQUFPLE1BSlg7QUFLSUQsV0FBTTtBQUxWLENBaENTLEVBdUNUO0FBQ0lILFdBQU8saUJBRFg7QUFFSUMsVUFBTSxTQUZWO0FBR0lDLFVBQU07QUFIVixDQXZDUyxFQTRDVCxlQTVDUyxFQTZDVDtBQUNJRixXQUFPLGVBRFg7QUFFSUMsVUFBTSxFQUZWO0FBR0lDLFVBQU07QUFIVixDQTdDUyxDQUFiOztBQW9EQUcsUUFBUUMsR0FBUixDQUFZUCxPQUFaO0FBQ08sSUFBTVEsb0NBQWM7QUFDdkJDLFNBQUssaUJBRGtCO0FBRXZCQyxVQUFNLGVBRmlCO0FBR3ZCQyxXQUFNLENBSGlCO0FBSXZCQyxpQkFBYSxJQUpVO0FBS3ZCQyxXQUFPO0FBQ0hDLGlCQUFTO0FBRE4sS0FMZ0I7QUFRdkJkLGFBQVFBO0FBUmUsQ0FBcEIiLCJmaWxlIjoiNzcwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICBOb3RlIOW3peWFt+exu1xyXG4gKi9cclxuaW1wb3J0IHtjb21tb25Ub29sfSBmcm9tIFwiLi4vLi4vY29tbW9uL2NvbW1vblwiXHJcbi8qXHJcbk5vdGUg5a6a5LmJ6Ieq5a6a5LmJ5bGe5oCn77yM5YWs5YWx5bGe5oCn5LuOY29tbW9u5paH5Lu26YeM6K+75Y+WXHJcbmF1dGhvciDlj7bnq6DmtalcclxuICovXHJcbmxldCBlZGl0b3JzPSBbXHJcbiAgICAn5bGe5oCnKOihqOagvCknLFxyXG4gICAgLyp7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5tb2RlbCcsXHJcbiAgICAgICAgdGV4dDogJ+WQjeensCcsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sKi9cclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LnZhbGlkYXRvcicsXHJcbiAgICAgICAgdGV4dDogJ+aYr+WQpuagoemqjCcsXHJcbiAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxyXG4gICAgICAgIHZhbHVlOnRydWVcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5pc0J0bk1zZycsXHJcbiAgICAgICAgdGV4dDogJ+aYr+WQpuaYvuekuuaMiemSruWQjeensCcsXHJcbiAgICAgICAgdHlwZTogJ2Jvb2xlYW4nXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkubWluUm93cycsXHJcbiAgICAgICAgdGV4dDogJ+m7mOiupOWIneWni+ihjOaVsCcsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgICAgaXNTaG93OidoaWRlJyxcclxuICAgICAgICB2YWx1ZToxXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkuZGlzYWJsZURlbFJvd3MnLFxyXG4gICAgICAgIHRleHQ6ICfkuI3og73liKDpmaTnmoTmnIDlsJHooYzmlbAnLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZScsXHJcbiAgICAgICAgdmFsdWU6MVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LnBhZGRpbmcnLFxyXG4gICAgICAgIHRleHQ6ICdwYWRkaW5nJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnLFxyXG4gICAgICAgIHZhbHVlOlwiMFwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkuYnRuTXNnJyxcclxuICAgICAgICB0ZXh0OiAn5re75Yqg6KGM5oyJ6ZKu5ZCN56ewJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSxcclxuICAgICfor7fpgInmi6nlhajlsYDorr7nva7kuK3nmoTooajmoLzlsZ7mgKcnLFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkucHJvcCcsXHJcbiAgICAgICAgdGV4dDogJycsXHJcbiAgICAgICAgdHlwZTogJ2NlbGxUYWJsZVByb3AnXHJcbiAgICB9XHJcbl07XHJcblxyXG5jb25zb2xlLmxvZyhlZGl0b3JzKTtcclxuZXhwb3J0IGNvbnN0IGVkaXRTZXR0aW5nID0ge1xyXG4gICAga2V5OiAnZ2FlYS1mb3JtLXRhYmxlJyxcclxuICAgIG5hbWU6ICdmb3JtLXRhYmxlIOihqOagvCcsXHJcbiAgICBsZXZlbDoyLFxyXG4gICAgaXNDb250YWluZXI6IHRydWUsXHJcbiAgICBzbG90czoge1xyXG4gICAgICAgIGRlZmF1bHQ6IFtdXHJcbiAgICB9LFxyXG4gICAgZWRpdG9yczplZGl0b3JzLFxyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtVGFibGUvcHJvcGVydHkuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///770\n");
5149
5150/***/ }),
5151/* 771 */
5152/***/ (function(module, __webpack_exports__, __webpack_require__) {
5153
5154"use strict";
5155eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"Form\",\n {\n staticClass: \"ty-content-element-form gaea-slot\",\n style: _vm.styles,\n attrs: { \"data-slot-name\": \"default\" }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-fc4189b8\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9mb3JtVGFibGUvaW5kZXgudnVlP2JjNTciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ijc3MS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJGb3JtXCIsXG4gICAge1xuICAgICAgc3RhdGljQ2xhc3M6IFwidHktY29udGVudC1lbGVtZW50LWZvcm0gZ2FlYS1zbG90XCIsXG4gICAgICBzdHlsZTogX3ZtLnN0eWxlcyxcbiAgICAgIGF0dHJzOiB7IFwiZGF0YS1zbG90LW5hbWVcIjogXCJkZWZhdWx0XCIgfVxuICAgIH0sXG4gICAgW192bS5fdChcImRlZmF1bHRcIildLFxuICAgIDJcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtZmM0MTg5YjhcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtZmM0MTg5YjhcIixcImhhc1Njb3BlZFwiOmZhbHNlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vZm9ybVRhYmxlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzcxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///771\n");
5156
5157/***/ }),
5158/* 772 */
5159/***/ (function(module, __webpack_exports__, __webpack_require__) {
5160
5161"use strict";
5162eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(198);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_33ea0956_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(776);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(773)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_33ea0956_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelTwo/identity-check/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-33ea0956\", Component.options)\n } else {\n hotAPI.reload(\"data-v-33ea0956\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pZGVudGl0eS1jaGVjay9pbmRleC52dWU/YWNhNiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQXNWO0FBQ2hXO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBd0Y7QUFDekg7QUFDd0k7QUFDYTtBQUNySjtBQUNvVDtBQUNwVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsa1FBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI3NzIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0zM2VhMDk1NlxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMzNlYTA5NTZcXFwiLFxcXCJoYXNTY29wZWRcXFwiOmZhbHNlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2lkZW50aXR5LWNoZWNrL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi0zM2VhMDk1NlwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTMzZWEwOTU2XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vaWRlbnRpdHktY2hlY2svaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3NzJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///772\n");
5163
5164/***/ }),
5165/* 773 */
5166/***/ (function(module, exports, __webpack_require__) {
5167
5168eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(774);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"14c5e052\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-33ea0956\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-33ea0956\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pZGVudGl0eS1jaGVjay9pbmRleC52dWU/YmM4MSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUErVztBQUNyWSw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQWlHLGdDQUFnQztBQUN0SjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSxtTUFBbU0sbUZBQW1GO0FBQ3RSLDRNQUE0TSxtRkFBbUY7QUFDL1I7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI3NzMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMzNlYTA5NTZcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjE0YzVlMDUyXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0zM2VhMDk1NlxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0zM2VhMDk1NlxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0zM2VhMDk1NlwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pZGVudGl0eS1jaGVjay9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDc3M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///773\n");
5169
5170/***/ }),
5171/* 774 */
5172/***/ (function(module, exports, __webpack_require__) {
5173
5174eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.identity-check{\\n display: inline-block;\\n background: orange;\\n border: 1px solid #ececec;\\n padding: 5px;\\n border-radius: 5px;\\n margin: 5px;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelTwo/identity-check/myPlugin/page-ide/lib/components/levelTwo/identity-check/index.vue\"],\"names\":[],\"mappings\":\";AAqCA;EACA,sBAAA;EACA,mBAAA;EACA,0BAAA;EACA,aAAA;EACA,mBAAA;EACA,YAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div style=\\\"width: 95%;margin: 10px auto;\\\">\\r\\n <span class=\\\"identity-check\\\">查询此用户是否办理了社保</span>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\n import {editSetting} from './property';\\r\\n export default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n data () {\\r\\n return {\\r\\n text: 'form-radio',\\r\\n styles: {\\r\\n height:'102px',\\r\\n width:'566px',\\r\\n margin:'10px'\\r\\n },\\r\\n type: 'form-radio',\\r\\n imgUrl:'/lib/static/img/address-select.png',\\r\\n level: editSetting.level,\\r\\n };\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level,\\r\\n };\\r\\n</script>\\r\\n\\r\\n<style>\\r\\n .identity-check{\\r\\n display: inline-block;\\r\\n background: orange;\\r\\n border: 1px solid #ececec;\\r\\n padding: 5px;\\r\\n border-radius: 5px;\\r\\n margin: 5px;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pZGVudGl0eS1jaGVjay9pbmRleC52dWU/ZTY2NyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUErRTtBQUNsSDs7O0FBR0E7QUFDQSxjQUFjLFFBQVMscUJBQXFCLDBCQUEwQix1QkFBdUIsOEJBQThCLGlCQUFpQix1QkFBdUIsZ0JBQWdCLEdBQUcsVUFBVSx1TUFBdU0sTUFBTSxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxzRkFBc0Ysa0JBQWtCLDhIQUE4SCxZQUFZLG1CQUFtQix3QkFBd0IsdUJBQXVCLDBCQUEwQixxR0FBcUcsa0ZBQWtGLHNCQUFzQix3QkFBd0Isb0VBQW9FLHVJQUF1SSx1S0FBdUssYUFBYSwwR0FBMEcsbURBQW1ELCtCQUErQiw0QkFBNEIsbUNBQW1DLHNCQUFzQiw0QkFBNEIscUJBQXFCLFFBQVEsbUNBQW1DOztBQUU1dUQiLCJmaWxlIjoiNzc0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLmlkZW50aXR5LWNoZWNre1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgYmFja2dyb3VuZDogb3JhbmdlO1xcbiAgYm9yZGVyOiAxcHggc29saWQgI2VjZWNlYztcXG4gIHBhZGRpbmc6IDVweDtcXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcXG4gIG1hcmdpbjogNXB4O1xcbn1cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wiRTovcHJvamVjdC9wYWdlLWlkZS14aWFuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2lkZW50aXR5LWNoZWNrL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2lkZW50aXR5LWNoZWNrL2luZGV4LnZ1ZVwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiO0FBcUNBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBQTtFQUNBLDBCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsWUFBQTtDQUNBXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZXNDb250ZW50XCI6W1wiPHRlbXBsYXRlPlxcclxcbiAgICA8ZGl2IHN0eWxlPVxcXCJ3aWR0aDogOTUlO21hcmdpbjogMTBweCBhdXRvO1xcXCI+XFxyXFxuICAgICAgICA8c3BhbiBjbGFzcz1cXFwiaWRlbnRpdHktY2hlY2tcXFwiPuafpeivouatpOeUqOaIt+aYr+WQpuWKnueQhuS6huekvuS/nTwvc3Bhbj5cXHJcXG4gICAgPC9kaXY+XFxyXFxuPC90ZW1wbGF0ZT5cXHJcXG5cXHJcXG48c2NyaXB0PlxcclxcbiAgICBpbXBvcnQge2VkaXRTZXR0aW5nfSBmcm9tICcuL3Byb3BlcnR5JztcXHJcXG4gICAgZXhwb3J0IGRlZmF1bHQge1xcclxcbiAgICAgICAgLy8gcHJvcHM6IHtcXHJcXG4gICAgICAgIC8vICAgICB0ZXh0OiB7XFxyXFxuICAgICAgICAvLyAgICAgICAgIHR5cGU6IFN0cmluZyxcXHJcXG4gICAgICAgIC8vICAgICAgICAgZGVmYXVsdDogJ0J1dHRvbiBUZXh0J1xcclxcbiAgICAgICAgLy8gICAgIH0sXFxyXFxuICAgICAgICAvLyAgICAgdHlwZTogU3RyaW5nLFxcclxcbiAgICAgICAgLy8gICAgIHN0eWxlczogT2JqZWN0XFxyXFxuICAgICAgICAvLyB9LFxcclxcbiAgICAgICAgZGF0YSAoKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIHtcXHJcXG4gICAgICAgICAgICAgICAgdGV4dDogJ2Zvcm0tcmFkaW8nLFxcclxcbiAgICAgICAgICAgICAgICBzdHlsZXM6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDonMTAycHgnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6JzU2NnB4JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjonMTBweCdcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgdHlwZTogJ2Zvcm0tcmFkaW8nLFxcclxcbiAgICAgICAgICAgICAgICBpbWdVcmw6Jy9saWIvc3RhdGljL2ltZy9hZGRyZXNzLXNlbGVjdC5wbmcnLFxcclxcbiAgICAgICAgICAgICAgICBsZXZlbDogZWRpdFNldHRpbmcubGV2ZWwsXFxyXFxuICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBlZGl0U2V0dGluZyxcXHJcXG4gICAgICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcXHJcXG4gICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcXHJcXG4gICAgfTtcXHJcXG48L3NjcmlwdD5cXHJcXG5cXHJcXG48c3R5bGU+XFxyXFxuICAgLmlkZW50aXR5LWNoZWNre1xcclxcbiAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcclxcbiAgICAgYmFja2dyb3VuZDogb3JhbmdlO1xcclxcbiAgICAgYm9yZGVyOiAxcHggc29saWQgI2VjZWNlYztcXHJcXG4gICAgIHBhZGRpbmc6IDVweDtcXHJcXG4gICAgIGJvcmRlci1yYWRpdXM6IDVweDtcXHJcXG4gICAgIG1hcmdpbjogNXB4O1xcclxcbiAgIH1cXHJcXG48L3N0eWxlPlxcclxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0zM2VhMDk1NlwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pZGVudGl0eS1jaGVjay9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDc3NFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///774\n");
5175
5176/***/ }),
5177/* 775 */
5178/***/ (function(module, exports, __webpack_require__) {
5179
5180"use strict";
5181eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = ['属性(是否办理社保)', {\n field: 'property.idNumber',\n text: '属性idNumber',\n type: 'cellIdentityCheck'\n}];\n\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-identity-check',\n name: 'identity-check 是否办理社保',\n level: 2,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pZGVudGl0eS1jaGVjay9wcm9wZXJ0eS5qcz80NWViIl0sIm5hbWVzIjpbImVkaXRvcnMiLCJmaWVsZCIsInRleHQiLCJ0eXBlIiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibmFtZSIsImxldmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7O0FBS0EsSUFBSUEsVUFBUyxDQUNULFlBRFMsRUFFUjtBQUNJQyxXQUFPLG1CQURYO0FBRUlDLFVBQU0sWUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0FGUSxDQUFiOztBQVNBQyxRQUFRQyxHQUFSLENBQVlMLE9BQVo7QUFDTyxJQUFNTSxvQ0FBYztBQUN2QkMsU0FBSyxxQkFEa0I7QUFFdkJDLFVBQU0sdUJBRmlCO0FBR3ZCQyxXQUFNLENBSGlCO0FBSXZCVCxhQUFRQTtBQUplLENBQXBCIiwiZmlsZSI6Ijc3NS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAgTm90ZSDlt6XlhbfnsbtcclxuICovXHJcbmltcG9ydCB7Y29tbW9uVG9vbH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jb21tb25cIlxyXG4vKlxyXG5Ob3RlIOWumuS5ieiHquWumuS5ieWxnuaAp++8jOWFrOWFseWxnuaAp+S7jmNvbW1vbuaWh+S7tumHjOivu+WPllxyXG5hdXRob3Ig5Y+256ug5rWpXHJcbiAqL1xyXG5sZXQgZWRpdG9ycz0gW1xyXG4gICAgJ+WxnuaApyjmmK/lkKblip7nkIbnpL7kv50pJyxcclxuICAgICB7XHJcbiAgICAgICAgIGZpZWxkOiAncHJvcGVydHkuaWROdW1iZXInLFxyXG4gICAgICAgICB0ZXh0OiAn5bGe5oCnaWROdW1iZXInLFxyXG4gICAgICAgICB0eXBlOiAnY2VsbElkZW50aXR5Q2hlY2snXHJcbiAgICAgfVxyXG5dO1xyXG4vLyBjb21tb25Ub29sLmFzc2VtYmxlRGF0YShlZGl0b3JzKTtcclxuY29uc29sZS5sb2coZWRpdG9ycyk7XHJcbmV4cG9ydCBjb25zdCBlZGl0U2V0dGluZyA9IHtcclxuICAgIGtleTogJ2dhZWEtaWRlbnRpdHktY2hlY2snLFxyXG4gICAgbmFtZTogJ2lkZW50aXR5LWNoZWNrIOaYr+WQpuWKnueQhuekvuS/nScsXHJcbiAgICBsZXZlbDoyLFxyXG4gICAgZWRpdG9yczplZGl0b3JzLFxyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pZGVudGl0eS1jaGVjay9wcm9wZXJ0eS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///775\n");
5182
5183/***/ }),
5184/* 776 */
5185/***/ (function(module, __webpack_exports__, __webpack_require__) {
5186
5187"use strict";
5188eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticStyle: { width: \"95%\", margin: \"10px auto\" } }, [\n _c(\"span\", { staticClass: \"identity-check\" }, [\n _vm._v(\"查询此用户是否办理了社保\")\n ])\n ])\n }\n]\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-33ea0956\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pZGVudGl0eS1jaGVjay9pbmRleC52dWU/YzljNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLGVBQWUsb0NBQW9DLEVBQUU7QUFDM0Usa0JBQWtCLGdDQUFnQztBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ijc3Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX3ZtLl9tKDApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW1xuICBmdW5jdGlvbigpIHtcbiAgICB2YXIgX3ZtID0gdGhpc1xuICAgIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICAgIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICAgIHJldHVybiBfYyhcImRpdlwiLCB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjk1JVwiLCBtYXJnaW46IFwiMTBweCBhdXRvXCIgfSB9LCBbXG4gICAgICBfYyhcInNwYW5cIiwgeyBzdGF0aWNDbGFzczogXCJpZGVudGl0eS1jaGVja1wiIH0sIFtcbiAgICAgICAgX3ZtLl92KFwi5p+l6K+i5q2k55So5oi35piv5ZCm5Yqe55CG5LqG56S+5L+dXCIpXG4gICAgICBdKVxuICAgIF0pXG4gIH1cbl1cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi0zM2VhMDk1NlwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi0zM2VhMDk1NlwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pZGVudGl0eS1jaGVjay9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDc3NlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///776\n");
5189
5190/***/ }),
5191/* 777 */
5192/***/ (function(module, __webpack_exports__, __webpack_require__) {
5193
5194"use strict";
5195eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(199);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_0f311fc8_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(781);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(778)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-0f311fc8\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_0f311fc8_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelTwo/info-attachment/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-0f311fc8\", Component.options)\n } else {\n hotAPI.reload(\"data-v-0f311fc8\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pbmZvLWF0dGFjaG1lbnQvaW5kZXgudnVlPzEyZmQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFxVjtBQUMvVjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXdGO0FBQ3pIO0FBQ3dJO0FBQ2E7QUFDcko7QUFDbVQ7QUFDblQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGlRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNzc3LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMGYzMTFmYzhcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMGYzMTFmYzhcXFwiLFxcXCJoYXNTY29wZWRcXFwiOnRydWUsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gXCJkYXRhLXYtMGYzMTFmYzhcIlxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vaW5mby1hdHRhY2htZW50L2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi0wZjMxMWZjOFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTBmMzExZmM4XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vaW5mby1hdHRhY2htZW50L2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzc3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///777\n");
5196
5197/***/ }),
5198/* 778 */
5199/***/ (function(module, exports, __webpack_require__) {
5200
5201eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(779);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"1cbd2210\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0f311fc8\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0f311fc8\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pbmZvLWF0dGFjaG1lbnQvaW5kZXgudnVlPzdjMWIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBOFc7QUFDcFksNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUFpRyxnQ0FBZ0M7QUFDdEo7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsbU1BQW1NLGtGQUFrRjtBQUNyUiw0TUFBNE0sa0ZBQWtGO0FBQzlSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNzc4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTBmMzExZmM4XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjFjYmQyMjEwXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0wZjMxMWZjOFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTBmMzExZmM4XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtMGYzMTFmYzhcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pbmZvLWF0dGFjaG1lbnQvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3Nzhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///778\n");
5202
5203/***/ }),
5204/* 779 */
5205/***/ (function(module, exports, __webpack_require__) {
5206
5207eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.infoAttachment[data-v-0f311fc8]{\\n width: 98%;\\n margin-left: auto;\\n margin-right: auto;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelTwo/info-attachment/myPlugin/page-ide/lib/components/levelTwo/info-attachment/index.vue\"],\"names\":[],\"mappings\":\";AAqBA;EACA,WAAA;EACA,kBAAA;EACA,mBAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"infoAttachment\\\">\\r\\n <img src=\\\"./downloadFJ.png\\\" style=\\\"width: 95%\\\">\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport {editSetting} from './property';\\r\\nexport default {\\r\\n data () {\\r\\n return {\\r\\n level: editSetting.level,\\r\\n };\\r\\n },\\r\\n level: editSetting.level,\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .infoAttachment{\\r\\n width: 98%;\\r\\n margin-left: auto;\\r\\n margin-right: auto;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pbmZvLWF0dGFjaG1lbnQvaW5kZXgudnVlP2YzYmQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBK0U7QUFDbEg7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLHNDQUFzQyxlQUFlLHNCQUFzQix1QkFBdUIsR0FBRyxVQUFVLHlNQUF5TSxNQUFNLFVBQVUsV0FBVyxXQUFXLDRNQUE0TSxZQUFZLG1CQUFtQixvQkFBb0IsaUJBQWlCLG9CQUFvQix1REFBdUQsU0FBUywwRkFBMEYseURBQXlELG1CQUFtQiwwQkFBMEIsMkJBQTJCLE9BQU8sbUNBQW1DOztBQUU5OUIiLCJmaWxlIjoiNzc5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLmluZm9BdHRhY2htZW50W2RhdGEtdi0wZjMxMWZjOF17XFxuICB3aWR0aDogOTglO1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJFOi9wcm9qZWN0L3BhZ2UtaWRlLXhpYW4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vaW5mby1hdHRhY2htZW50L215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2luZm8tYXR0YWNobWVudC9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQXFCQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0NBQ0FcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCI8dGVtcGxhdGU+XFxyXFxuICA8ZGl2IGNsYXNzPVxcXCJpbmZvQXR0YWNobWVudFxcXCI+XFxyXFxuICAgIDxpbWcgc3JjPVxcXCIuL2Rvd25sb2FkRkoucG5nXFxcIiBzdHlsZT1cXFwid2lkdGg6IDk1JVxcXCI+XFxyXFxuICA8L2Rpdj5cXHJcXG48L3RlbXBsYXRlPlxcclxcblxcclxcbjxzY3JpcHQ+XFxyXFxuaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XFxyXFxuZXhwb3J0IGRlZmF1bHQge1xcclxcbiAgICBkYXRhICgpIHtcXHJcXG4gICAgICAgIHJldHVybiB7XFxyXFxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgfSxcXHJcXG4gICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxcclxcbiAgICBlZGl0U2V0dGluZyxcXHJcXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxcclxcbn07XFxyXFxuPC9zY3JpcHQ+XFxyXFxuXFxyXFxuPHN0eWxlIHNjb3BlZD5cXHJcXG4gIC5pbmZvQXR0YWNobWVudHtcXHJcXG4gICAgd2lkdGg6IDk4JTtcXHJcXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XFxyXFxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcXHJcXG4gIH1cXHJcXG48L3N0eWxlPlxcclxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0wZjMxMWZjOFwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2luZm8tYXR0YWNobWVudC9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDc3OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///779\n");
5208
5209/***/ }),
5210/* 780 */
5211/***/ (function(module, exports, __webpack_require__) {
5212
5213"use strict";
5214eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar editors = ['属性(附件信息)', {\n field: 'property.model',\n text: '模型',\n value: 'infoAttachment',\n type: 'string'\n}, {\n field: 'property.headerTitle',\n text: '头部标题',\n type: 'string'\n}, {\n field: 'property.showHeader',\n text: '是否展示头部',\n type: 'boolean'\n}];\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-info-attachment',\n name: 'info-attachment 附件信息',\n level: 2,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pbmZvLWF0dGFjaG1lbnQvcHJvcGVydHkuanM/MTY2ZCJdLCJuYW1lcyI6WyJlZGl0b3JzIiwiZmllbGQiLCJ0ZXh0IiwidmFsdWUiLCJ0eXBlIiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibmFtZSIsImxldmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFPQSxJQUFJQSxVQUFTLENBQ1QsVUFEUyxFQUVUO0FBQ0lDLFdBQU8sZ0JBRFg7QUFFSUMsVUFBTSxJQUZWO0FBR0lDLFdBQU0sZ0JBSFY7QUFJSUMsVUFBTTtBQUpWLENBRlMsRUFRVDtBQUNJSCxXQUFPLHNCQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJRSxVQUFNO0FBSFYsQ0FSUyxFQWFUO0FBQ0lILFdBQU8scUJBRFg7QUFFSUMsVUFBTSxRQUZWO0FBR0lFLFVBQU07QUFIVixDQWJTLENBQWI7QUFtQkFDLFFBQVFDLEdBQVIsQ0FBWU4sT0FBWjtBQUNPLElBQU1PLG9DQUFjO0FBQ3ZCQyxTQUFLLHNCQURrQjtBQUV2QkMsVUFBTSxzQkFGaUI7QUFHdkJDLFdBQU0sQ0FIaUI7QUFJdkJWLGFBQVFBO0FBSmUsQ0FBcEIiLCJmaWxlIjoiNzgwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICBOb3RlIOW3peWFt+exu1xyXG4gKi9cclxuLypcclxuTm90ZSDlrprkuYnoh6rlrprkuYnlsZ7mgKfvvIzlhazlhbHlsZ7mgKfku45jb21tb27mlofku7bph4zor7vlj5ZcclxuYXV0aG9yIOWPtueroOa1qVxyXG4gKi9cclxubGV0IGVkaXRvcnM9IFtcclxuICAgICflsZ7mgKco6ZmE5Lu25L+h5oGvKScsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5tb2RlbCcsXHJcbiAgICAgICAgdGV4dDogJ+aooeWeiycsXHJcbiAgICAgICAgdmFsdWU6J2luZm9BdHRhY2htZW50JyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmhlYWRlclRpdGxlJyxcclxuICAgICAgICB0ZXh0OiAn5aS06YOo5qCH6aKYJyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LnNob3dIZWFkZXInLFxyXG4gICAgICAgIHRleHQ6ICfmmK/lkKblsZXnpLrlpLTpg6gnLFxyXG4gICAgICAgIHR5cGU6ICdib29sZWFuJ1xyXG4gICAgfSxcclxuXTtcclxuY29uc29sZS5sb2coZWRpdG9ycyk7XHJcbmV4cG9ydCBjb25zdCBlZGl0U2V0dGluZyA9IHtcclxuICAgIGtleTogJ2dhZWEtaW5mby1hdHRhY2htZW50JyxcclxuICAgIG5hbWU6ICdpbmZvLWF0dGFjaG1lbnQg6ZmE5Lu25L+h5oGvJyxcclxuICAgIGxldmVsOjIsXHJcbiAgICBlZGl0b3JzOmVkaXRvcnMsXHJcbn07XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2luZm8tYXR0YWNobWVudC9wcm9wZXJ0eS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///780\n");
5215
5216/***/ }),
5217/* 781 */
5218/***/ (function(module, __webpack_exports__, __webpack_require__) {
5219
5220"use strict";
5221eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"infoAttachment\" }, [\n _c(\"img\", {\n staticStyle: { width: \"95%\" },\n attrs: { src: __webpack_require__(782) }\n })\n ])\n }\n]\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-0f311fc8\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pbmZvLWF0dGFjaG1lbnQvaW5kZXgudnVlP2NhYzgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixnQ0FBZ0M7QUFDdEQ7QUFDQSxzQkFBc0IsZUFBZTtBQUNyQyxnQkFBZ0IsTUFBTSxtQkFBTyxDQUFDLEdBQWtCO0FBQ2hELE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNzgxLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfdm0uX20oMClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXG4gIGZ1bmN0aW9uKCkge1xuICAgIHZhciBfdm0gPSB0aGlzXG4gICAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gICAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gICAgcmV0dXJuIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwiaW5mb0F0dGFjaG1lbnRcIiB9LCBbXG4gICAgICBfYyhcImltZ1wiLCB7XG4gICAgICAgIHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjk1JVwiIH0sXG4gICAgICAgIGF0dHJzOiB7IHNyYzogcmVxdWlyZShcIi4vZG93bmxvYWRGSi5wbmdcIikgfVxuICAgICAgfSlcbiAgICBdKVxuICB9XG5dXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtMGYzMTFmYzhcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtMGYzMTFmYzhcIixcImhhc1Njb3BlZFwiOnRydWUsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pbmZvLWF0dGFjaG1lbnQvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3ODFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///781\n");
5222
5223/***/ }),
5224/* 782 */
5225/***/ (function(module, exports, __webpack_require__) {
5226
5227eval("module.exports = __webpack_require__.p + \"downloadFJ.png?d98747e7dfc8c5236fdaf631bae7c0fe\";\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pbmZvLWF0dGFjaG1lbnQvZG93bmxvYWRGSi5wbmc/ODY3ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUIscUJBQXVCIiwiZmlsZSI6Ijc4Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3B1YmxpY19wYXRoX18gKyBcImRvd25sb2FkRkoucG5nP2Q5ODc0N2U3ZGZjOGM1MjM2ZmRhZjYzMWJhZTdjMGZlXCI7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pbmZvLWF0dGFjaG1lbnQvZG93bmxvYWRGSi5wbmdcbi8vIG1vZHVsZSBpZCA9IDc4MlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///782\n");
5228
5229/***/ }),
5230/* 783 */
5231/***/ (function(module, __webpack_exports__, __webpack_require__) {
5232
5233"use strict";
5234eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(200);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_cb7a2a6c_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(787);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(784)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_cb7a2a6c_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelTwo/info-base/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-cb7a2a6c\", Component.options)\n } else {\n hotAPI.reload(\"data-v-cb7a2a6c\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pbmZvLWJhc2UvaW5kZXgudnVlPzFiODgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFzVjtBQUNoVztBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXdGO0FBQ3pIO0FBQ3dJO0FBQ2E7QUFDcko7QUFDb1Q7QUFDcFQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGtRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiNzgzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtY2I3YTJhNmNcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG5pbXBvcnQgX192dWVfc2NyaXB0X18gZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSAqL1xuaW1wb3J0IF9fdnVlX3RlbXBsYXRlX18gZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LWNiN2EyYTZjXFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pbmZvLWJhc2UvaW5kZXgudnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LWNiN2EyYTZjXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtY2I3YTJhNmNcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pbmZvLWJhc2UvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3ODNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///783\n");
5235
5236/***/ }),
5237/* 784 */
5238/***/ (function(module, exports, __webpack_require__) {
5239
5240eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(785);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"298d0998\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-cb7a2a6c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-cb7a2a6c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pbmZvLWJhc2UvaW5kZXgudnVlPzVmYWQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBK1c7QUFDclksNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUFpRyxnQ0FBZ0M7QUFDdEo7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsbU1BQW1NLG1GQUFtRjtBQUN0Uiw0TUFBNE0sbUZBQW1GO0FBQy9SO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiNzg0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWNiN2EyYTZjXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLXN0eWxlLWxvYWRlckAzLjEuMkB2dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCIyOThkMDk5OFwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtY2I3YTJhNmNcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtY2I3YTJhNmNcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtY2I3YTJhNmNcIixcInNjb3BlZFwiOmZhbHNlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vaW5mby1iYXNlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzg0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///784\n");
5241
5242/***/ }),
5243/* 785 */
5244/***/ (function(module, exports, __webpack_require__) {
5245
5246eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pbmZvLWJhc2UvaW5kZXgudnVlPzczMmYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBK0U7QUFDbEg7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLDZFQUE2RSxxRkFBcUY7O0FBRXpMIiwiZmlsZSI6Ijc4NS5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi1jYjdhMmE2Y1wiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pbmZvLWJhc2UvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3ODVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///785\n");
5247
5248/***/ }),
5249/* 786 */
5250/***/ (function(module, exports, __webpack_require__) {
5251
5252"use strict";
5253eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = ['属性(基础信息)', {\n field: 'property.arrow',\n text: 'arrow',\n type: 'boolean',\n value: true,\n isShow: 'hide'\n}, {\n field: 'property.footer',\n text: '是否显示底部',\n type: 'boolean',\n value: false\n}];\n_common.commonTool.assembleData(editors);\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-info-base',\n name: 'info-base 基础信息',\n level: 2,\n isContainer: true,\n slots: {\n default: []\n },\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pbmZvLWJhc2UvcHJvcGVydHkuanM/MjY3NiJdLCJuYW1lcyI6WyJlZGl0b3JzIiwiZmllbGQiLCJ0ZXh0IiwidHlwZSIsInZhbHVlIiwiaXNTaG93IiwiY29tbW9uVG9vbCIsImFzc2VtYmxlRGF0YSIsImNvbnNvbGUiLCJsb2ciLCJlZGl0U2V0dGluZyIsImtleSIsIm5hbWUiLCJsZXZlbCIsImlzQ29udGFpbmVyIiwic2xvdHMiLCJkZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7O0FBS0EsSUFBSUEsVUFBUyxDQUNULFVBRFMsRUFFVDtBQUNJQyxXQUFPLGdCQURYO0FBRUlDLFVBQU0sT0FGVjtBQUdJQyxVQUFNLFNBSFY7QUFJSUMsV0FBTSxJQUpWO0FBS0lDLFlBQU87QUFMWCxDQUZTLEVBU1Q7QUFDSUosV0FBTyxpQkFEWDtBQUVJQyxVQUFNLFFBRlY7QUFHSUMsVUFBTSxTQUhWO0FBSUlDLFdBQU07QUFKVixDQVRTLENBQWI7QUFnQkFFLG1CQUFXQyxZQUFYLENBQXdCUCxPQUF4QjtBQUNBUSxRQUFRQyxHQUFSLENBQVlULE9BQVo7QUFDTyxJQUFNVSxvQ0FBYztBQUN2QkMsU0FBSyxnQkFEa0I7QUFFdkJDLFVBQU0sZ0JBRmlCO0FBR3ZCQyxXQUFNLENBSGlCO0FBSXZCQyxpQkFBYSxJQUpVO0FBS3ZCQyxXQUFPO0FBQ0hDLGlCQUFTO0FBRE4sS0FMZ0I7QUFRdkJoQixhQUFRQTtBQVJlLENBQXBCIiwiZmlsZSI6Ijc4Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAgTm90ZSDlt6XlhbfnsbtcclxuICovXHJcbmltcG9ydCB7Y29tbW9uVG9vbH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jb21tb25cIlxyXG4vKlxyXG5Ob3RlIOWumuS5ieiHquWumuS5ieWxnuaAp++8jOWFrOWFseWxnuaAp+S7jmNvbW1vbuaWh+S7tumHjOivu+WPllxyXG5hdXRob3Ig5Y+256ug5rWpXHJcbiAqL1xyXG5sZXQgZWRpdG9ycz0gW1xyXG4gICAgJ+WxnuaApyjln7rnoYDkv6Hmga8pJyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5LmFycm93JyxcclxuICAgICAgICB0ZXh0OiAnYXJyb3cnLFxyXG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcclxuICAgICAgICB2YWx1ZTp0cnVlLFxyXG4gICAgICAgIGlzU2hvdzonaGlkZSdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5mb290ZXInLFxyXG4gICAgICAgIHRleHQ6ICfmmK/lkKbmmL7npLrlupXpg6gnLFxyXG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcclxuICAgICAgICB2YWx1ZTpmYWxzZVxyXG4gICAgfVxyXG5dO1xyXG5jb21tb25Ub29sLmFzc2VtYmxlRGF0YShlZGl0b3JzKTtcclxuY29uc29sZS5sb2coZWRpdG9ycyk7XHJcbmV4cG9ydCBjb25zdCBlZGl0U2V0dGluZyA9IHtcclxuICAgIGtleTogJ2dhZWEtaW5mby1iYXNlJyxcclxuICAgIG5hbWU6ICdpbmZvLWJhc2Ug5Z+656GA5L+h5oGvJyxcclxuICAgIGxldmVsOjIsXHJcbiAgICBpc0NvbnRhaW5lcjogdHJ1ZSxcclxuICAgIHNsb3RzOiB7XHJcbiAgICAgICAgZGVmYXVsdDogW11cclxuICAgIH0sXHJcbiAgICBlZGl0b3JzOmVkaXRvcnMsXHJcbn07XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL2luZm8tYmFzZS9wcm9wZXJ0eS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///786\n");
5254
5255/***/ }),
5256/* 787 */
5257/***/ (function(module, __webpack_exports__, __webpack_require__) {
5258
5259"use strict";
5260eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticStyle: { \"padding-right\": \"100px\" },\n style: _vm.styles,\n attrs: { \"data-slot-name\": \"default\" }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-cb7a2a6c\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9pbmZvLWJhc2UvaW5kZXgudnVlP2U5MDIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsMkJBQTJCO0FBQy9DO0FBQ0EsY0FBYztBQUNkLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ijc4Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7XG4gICAgICBzdGF0aWNTdHlsZTogeyBcInBhZGRpbmctcmlnaHRcIjogXCIxMDBweFwiIH0sXG4gICAgICBzdHlsZTogX3ZtLnN0eWxlcyxcbiAgICAgIGF0dHJzOiB7IFwiZGF0YS1zbG90LW5hbWVcIjogXCJkZWZhdWx0XCIgfVxuICAgIH0sXG4gICAgW192bS5fdChcImRlZmF1bHRcIildLFxuICAgIDJcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcbnZhciBlc0V4cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucyB9XG5leHBvcnQgZGVmYXVsdCBlc0V4cG9ydHNcbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtY2I3YTJhNmNcIiwgZXNFeHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtY2I3YTJhNmNcIixcImhhc1Njb3BlZFwiOmZhbHNlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vaW5mby1iYXNlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzg3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///787\n");
5261
5262/***/ }),
5263/* 788 */
5264/***/ (function(module, __webpack_exports__, __webpack_require__) {
5265
5266"use strict";
5267eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(201);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_1325422e_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(792);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(789)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_1325422e_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelTwo/pap-download-scan/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-1325422e\", Component.options)\n } else {\n hotAPI.reload(\"data-v-1325422e\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9wYXAtZG93bmxvYWQtc2Nhbi9pbmRleC52dWU/NjhiMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQXNWO0FBQ2hXO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBd0Y7QUFDekg7QUFDd0k7QUFDYTtBQUNySjtBQUNvVDtBQUNwVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsa1FBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI3ODguanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xMzI1NDIyZVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMTMyNTQyMmVcXFwiLFxcXCJoYXNTY29wZWRcXFwiOmZhbHNlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL3BhcC1kb3dubG9hZC1zY2FuL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi0xMzI1NDIyZVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTEzMjU0MjJlXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vcGFwLWRvd25sb2FkLXNjYW4vaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3ODhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///788\n");
5268
5269/***/ }),
5270/* 789 */
5271/***/ (function(module, exports, __webpack_require__) {
5272
5273eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(790);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"3870f467\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1325422e\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1325422e\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9wYXAtZG93bmxvYWQtc2Nhbi9pbmRleC52dWU/Yjg5MiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUErVztBQUNyWSw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQWlHLGdDQUFnQztBQUN0SjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSxtTUFBbU0sbUZBQW1GO0FBQ3RSLDRNQUE0TSxtRkFBbUY7QUFDL1I7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI3ODkuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMTMyNTQyMmVcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjM4NzBmNDY3XCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xMzI1NDIyZVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xMzI1NDIyZVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0xMzI1NDIyZVwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9wYXAtZG93bmxvYWQtc2Nhbi9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDc4OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///789\n");
5274
5275/***/ }),
5276/* 790 */
5277/***/ (function(module, exports, __webpack_require__) {
5278
5279eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9wYXAtZG93bmxvYWQtc2Nhbi9pbmRleC52dWU/NDQ0MyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUErRTtBQUNsSDs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsdUVBQXVFLHFGQUFxRjs7QUFFbkwiLCJmaWxlIjoiNzkwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTEzMjU0MjJlXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL3BhcC1kb3dubG9hZC1zY2FuL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzkwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///790\n");
5280
5281/***/ }),
5282/* 791 */
5283/***/ (function(module, exports, __webpack_require__) {
5284
5285"use strict";
5286eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.editSetting = undefined;\n\nvar _common = __webpack_require__(7);\n\nvar editors = ['属性(下载扫描)', {\n field: 'property.model',\n text: '属性名称',\n type: 'reqSelect'\n}, {\n field: 'property.title',\n text: '标题',\n type: 'string'\n}, {\n field: 'property.btnName',\n text: '按钮名称',\n type: 'string'\n}, {\n field: 'property.detailWarn',\n text: '注意事项',\n type: 'string'\n}];\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-pap-download-scan',\n name: 'pap-download-scan 下载扫描',\n level: 2,\n isContainer: true,\n slots: {\n default: []\n },\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9wYXAtZG93bmxvYWQtc2Nhbi9wcm9wZXJ0eS5qcz8zNjJlIl0sIm5hbWVzIjpbImVkaXRvcnMiLCJmaWVsZCIsInRleHQiLCJ0eXBlIiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibmFtZSIsImxldmVsIiwiaXNDb250YWluZXIiLCJzbG90cyIsImRlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQTs7QUFLQSxJQUFJQSxVQUFTLENBQ1QsVUFEUyxFQUVUO0FBQ0lDLFdBQU8sZ0JBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU07QUFIVixDQUZTLEVBUVQ7QUFDSUYsV0FBTyxnQkFEWDtBQUVJQyxVQUFNLElBRlY7QUFHSUMsVUFBTTtBQUhWLENBUlMsRUFhVDtBQUNJRixXQUFPLGtCQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0FiUyxFQWtCVDtBQUNJRixXQUFPLHFCQURYO0FBRUlDLFVBQU0sTUFGVjtBQUdJQyxVQUFNO0FBSFYsQ0FsQlMsQ0FBYjtBQXdCQUMsUUFBUUMsR0FBUixDQUFZTCxPQUFaO0FBQ08sSUFBTU0sb0NBQWM7QUFDdkJDLFNBQUssd0JBRGtCO0FBRXZCQyxVQUFNLHdCQUZpQjtBQUd2QkMsV0FBTSxDQUhpQjtBQUl2QkMsaUJBQWEsSUFKVTtBQUt2QkMsV0FBTztBQUNIQyxpQkFBUztBQUROLEtBTGdCO0FBUXZCWixhQUFRQTtBQVJlLENBQXBCIiwiZmlsZSI6Ijc5MS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAgTm90ZSDlt6XlhbfnsbtcclxuICovXHJcbmltcG9ydCB7Y29tbW9uVG9vbH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jb21tb25cIlxyXG4vKlxyXG5Ob3RlIOWumuS5ieiHquWumuS5ieWxnuaAp++8jOWFrOWFseWxnuaAp+S7jmNvbW1vbuaWh+S7tumHjOivu+WPllxyXG5hdXRob3Ig5Y+256ug5rWpXHJcbiAqL1xyXG5sZXQgZWRpdG9ycz0gW1xyXG4gICAgJ+WxnuaApyjkuIvovb3miavmj48pJyxcclxuICAgIHtcclxuICAgICAgICBmaWVsZDogJ3Byb3BlcnR5Lm1vZGVsJyxcclxuICAgICAgICB0ZXh0OiAn5bGe5oCn5ZCN56ewJyxcclxuICAgICAgICB0eXBlOiAncmVxU2VsZWN0J1xyXG4gICAgfSxcclxuICAgIC8vICfmianlsZXlsZ7mgKcnLFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkudGl0bGUnLFxyXG4gICAgICAgIHRleHQ6ICfmoIfpopgnLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkuYnRuTmFtZScsXHJcbiAgICAgICAgdGV4dDogJ+aMiemSruWQjeensCcsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5kZXRhaWxXYXJuJyxcclxuICAgICAgICB0ZXh0OiAn5rOo5oSP5LqL6aG5JyxcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xyXG4gICAgfSxcclxuXTtcclxuY29uc29sZS5sb2coZWRpdG9ycyk7XHJcbmV4cG9ydCBjb25zdCBlZGl0U2V0dGluZyA9IHtcclxuICAgIGtleTogJ2dhZWEtcGFwLWRvd25sb2FkLXNjYW4nLFxyXG4gICAgbmFtZTogJ3BhcC1kb3dubG9hZC1zY2FuIOS4i+i9veaJq+aPjycsXHJcbiAgICBsZXZlbDoyLFxyXG4gICAgaXNDb250YWluZXI6IHRydWUsXHJcbiAgICBzbG90czoge1xyXG4gICAgICAgIGRlZmF1bHQ6IFtdXHJcbiAgICB9LFxyXG4gICAgZWRpdG9yczplZGl0b3JzLFxyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9wYXAtZG93bmxvYWQtc2Nhbi9wcm9wZXJ0eS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///791\n");
5287
5288/***/ }),
5289/* 792 */
5290/***/ (function(module, __webpack_exports__, __webpack_require__) {
5291
5292"use strict";
5293eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticStyle: { width: \"95%\", margin: \"10px auto\" } }, [\n _c(\"img\", { attrs: { src: \"/lib/static/img/pap-download-scan.png\" } })\n ])\n }\n]\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-1325422e\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9wYXAtZG93bmxvYWQtc2Nhbi9pbmRleC52dWU/MzE0YiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLGVBQWUsb0NBQW9DLEVBQUU7QUFDM0UsaUJBQWlCLFNBQVMsK0NBQStDLEVBQUU7QUFDM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ijc5Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX3ZtLl9tKDApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW1xuICBmdW5jdGlvbigpIHtcbiAgICB2YXIgX3ZtID0gdGhpc1xuICAgIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICAgIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICAgIHJldHVybiBfYyhcImRpdlwiLCB7IHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjk1JVwiLCBtYXJnaW46IFwiMTBweCBhdXRvXCIgfSB9LCBbXG4gICAgICBfYyhcImltZ1wiLCB7IGF0dHJzOiB7IHNyYzogXCIvbGliL3N0YXRpYy9pbWcvcGFwLWRvd25sb2FkLXNjYW4ucG5nXCIgfSB9KVxuICAgIF0pXG4gIH1cbl1cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi0xMzI1NDIyZVwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi0xMzI1NDIyZVwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9wYXAtZG93bmxvYWQtc2Nhbi9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDc5MlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///792\n");
5294
5295/***/ }),
5296/* 793 */
5297/***/ (function(module, __webpack_exports__, __webpack_require__) {
5298
5299"use strict";
5300eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(202);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_4df29421_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(797);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(794)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_4df29421_hasScoped_false_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelTwo/steps/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-4df29421\", Component.options)\n } else {\n hotAPI.reload(\"data-v-4df29421\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9zdGVwcy9pbmRleC52dWU/ZjNiOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQXNWO0FBQ2hXO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBd0Y7QUFDekg7QUFDd0k7QUFDYTtBQUNySjtBQUNvVDtBQUNwVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsa1FBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI3OTMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi00ZGYyOTQyMVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNGRmMjk0MjFcXFwiLFxcXCJoYXNTY29wZWRcXFwiOmZhbHNlLFxcXCJidWJsZVxcXCI6e1xcXCJ0cmFuc2Zvcm1zXFxcIjp7fX19IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIm15UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL3N0ZXBzL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi00ZGYyOTQyMVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTRkZjI5NDIxXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vc3RlcHMvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA3OTNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///793\n");
5301
5302/***/ }),
5303/* 794 */
5304/***/ (function(module, exports, __webpack_require__) {
5305
5306eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(795);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"7d9b3a5a\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4df29421\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4df29421\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9zdGVwcy9pbmRleC52dWU/YmZjYSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUErVztBQUNyWSw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQWlHLGdDQUFnQztBQUN0SjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSxtTUFBbU0sbUZBQW1GO0FBQ3RSLDRNQUE0TSxtRkFBbUY7QUFDL1I7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI3OTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNGRmMjk0MjFcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjdkOWIzYTVhXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi00ZGYyOTQyMVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi00ZGYyOTQyMVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi00ZGYyOTQyMVwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9zdGVwcy9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDc5NFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///794\n");
5307
5308/***/ }),
5309/* 795 */
5310/***/ (function(module, exports, __webpack_require__) {
5311
5312eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"index.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9zdGVwcy9pbmRleC52dWU/ZjJkMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUErRTtBQUNsSDs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsaUpBQWlKLHFGQUFxRjs7QUFFN1AiLCJmaWxlIjoiNzk1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTRkZjI5NDIxXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL3N0ZXBzL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzk1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///795\n");
5313
5314/***/ }),
5315/* 796 */
5316/***/ (function(module, exports, __webpack_require__) {
5317
5318"use strict";
5319eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar editors = ['属性(步骤)', {\n field: 'property.current',\n text: '当前步骤',\n type: 'number',\n isShow: 'hide'\n}, '事件', {\n field: 'property.steps',\n type: 'steps'\n}];\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-steps',\n name: 'steps 步骤',\n level: 2,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9zdGVwcy9wcm9wZXJ0eS5qcz9jM2Y5Il0sIm5hbWVzIjpbImVkaXRvcnMiLCJmaWVsZCIsInRleHQiLCJ0eXBlIiwiaXNTaG93IiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibmFtZSIsImxldmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFPQSxJQUFJQSxVQUFTLENBQ1QsUUFEUyxFQUVUO0FBQ0lDLFdBQU8sa0JBRFg7QUFFSUMsVUFBTSxNQUZWO0FBR0lDLFVBQU0sUUFIVjtBQUlJQyxZQUFPO0FBSlgsQ0FGUyxFQVFULElBUlMsRUFTVDtBQUNJSCxXQUFPLGdCQURYO0FBRUlFLFVBQU07QUFGVixDQVRTLENBQWI7QUFjQUUsUUFBUUMsR0FBUixDQUFZTixPQUFaO0FBQ08sSUFBTU8sb0NBQWM7QUFDdkJDLFNBQUssWUFEa0I7QUFFdkJDLFVBQU0sVUFGaUI7QUFHdkJDLFdBQU0sQ0FIaUI7QUFJdkJWLGFBQVFBO0FBSmUsQ0FBcEIiLCJmaWxlIjoiNzk2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICBOb3RlIOW3peWFt+exu1xyXG4gKi9cclxuLypcclxuTm90ZSDlrprkuYnoh6rlrprkuYnlsZ7mgKfvvIzlhazlhbHlsZ7mgKfku45jb21tb27mlofku7bph4zor7vlj5ZcclxuYXV0aG9yIOWPtueroOa1qVxyXG4gKi9cclxubGV0IGVkaXRvcnM9IFtcclxuICAgICflsZ7mgKco5q2l6aqkKScsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5jdXJyZW50JyxcclxuICAgICAgICB0ZXh0OiAn5b2T5YmN5q2l6aqkJyxcclxuICAgICAgICB0eXBlOiAnbnVtYmVyJyxcclxuICAgICAgICBpc1Nob3c6J2hpZGUnXHJcbiAgICB9LFxyXG4gICAgJ+S6i+S7ticsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS5zdGVwcycsXHJcbiAgICAgICAgdHlwZTogJ3N0ZXBzJ1xyXG4gICAgfSxcclxuXTtcclxuY29uc29sZS5sb2coZWRpdG9ycyk7XHJcbmV4cG9ydCBjb25zdCBlZGl0U2V0dGluZyA9IHtcclxuICAgIGtleTogJ2dhZWEtc3RlcHMnLFxyXG4gICAgbmFtZTogJ3N0ZXBzIOatpemqpCcsXHJcbiAgICBsZXZlbDoyLFxyXG4gICAgZWRpdG9yczplZGl0b3JzLFxyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9zdGVwcy9wcm9wZXJ0eS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///796\n");
5320
5321/***/ }),
5322/* 797 */
5323/***/ (function(module, __webpack_exports__, __webpack_require__) {
5324
5325"use strict";
5326eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"ty-steps \", style: _vm.styles },\n [\n _c(\n \"Steps\",\n {\n staticStyle: { \"margin-bottom\": \"20px\" },\n attrs: { current: _vm.getCurrent }\n },\n _vm._l(_vm.steps, function(step, index) {\n return _c(\"Step\", _vm._b({ key: index }, \"Step\", step, false))\n }),\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-4df29421\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9zdGVwcy9pbmRleC52dWU/Y2M5ZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLDhDQUE4QztBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QiwwQkFBMEI7QUFDbEQsa0JBQWtCO0FBQ2xCLFNBQVM7QUFDVDtBQUNBLG9DQUFvQyxhQUFhO0FBQ2pELFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI3OTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAgeyBzdGF0aWNDbGFzczogXCJ0eS1zdGVwcyBcIiwgc3R5bGU6IF92bS5zdHlsZXMgfSxcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJTdGVwc1wiLFxuICAgICAgICB7XG4gICAgICAgICAgc3RhdGljU3R5bGU6IHsgXCJtYXJnaW4tYm90dG9tXCI6IFwiMjBweFwiIH0sXG4gICAgICAgICAgYXR0cnM6IHsgY3VycmVudDogX3ZtLmdldEN1cnJlbnQgfVxuICAgICAgICB9LFxuICAgICAgICBfdm0uX2woX3ZtLnN0ZXBzLCBmdW5jdGlvbihzdGVwLCBpbmRleCkge1xuICAgICAgICAgIHJldHVybiBfYyhcIlN0ZXBcIiwgX3ZtLl9iKHsga2V5OiBpbmRleCB9LCBcIlN0ZXBcIiwgc3RlcCwgZmFsc2UpKVxuICAgICAgICB9KSxcbiAgICAgICAgMVxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi00ZGYyOTQyMVwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi00ZGYyOTQyMVwiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by9zdGVwcy9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDc5N1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///797\n");
5327
5328/***/ }),
5329/* 798 */
5330/***/ (function(module, __webpack_exports__, __webpack_require__) {
5331
5332"use strict";
5333eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(203);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_7a40fd02_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(802);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(799)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-7a40fd02\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_7a40fd02_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelTwo/table-attach-file/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-7a40fd02\", Component.options)\n } else {\n hotAPI.reload(\"data-v-7a40fd02\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90YWJsZS1hdHRhY2gtZmlsZS9pbmRleC52dWU/OWUwNyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQXFWO0FBQy9WO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBd0Y7QUFDekg7QUFDd0k7QUFDYTtBQUNySjtBQUNtVDtBQUNuVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsaVFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI3OTguanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi03YTQwZmQwMlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi03YTQwZmQwMlxcXCIsXFxcImhhc1Njb3BlZFxcXCI6dHJ1ZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBcImRhdGEtdi03YTQwZmQwMlwiXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90YWJsZS1hdHRhY2gtZmlsZS9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtN2E0MGZkMDJcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi03YTQwZmQwMlwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL3RhYmxlLWF0dGFjaC1maWxlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzk4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///798\n");
5334
5335/***/ }),
5336/* 799 */
5337/***/ (function(module, exports, __webpack_require__) {
5338
5339eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(800);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"2b00861b\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7a40fd02\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7a40fd02\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90YWJsZS1hdHRhY2gtZmlsZS9pbmRleC52dWU/YWJmMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUE4VztBQUNwWSw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQWlHLGdDQUFnQztBQUN0SjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSxtTUFBbU0sa0ZBQWtGO0FBQ3JSLDRNQUE0TSxrRkFBa0Y7QUFDOVI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI3OTkuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtN2E0MGZkMDJcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiMmIwMDg2MWJcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTdhNDBmZDAyXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtN2E0MGZkMDJcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi03YTQwZmQwMlwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL3RhYmxlLWF0dGFjaC1maWxlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNzk5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///799\n");
5340
5341/***/ }),
5342/* 800 */
5343/***/ (function(module, exports, __webpack_require__) {
5344
5345eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.tableAttachFile[data-v-7a40fd02]{\\n width: 95%;\\n margin-left: auto;\\n margin-right: auto;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelTwo/table-attach-file/myPlugin/page-ide/lib/components/levelTwo/table-attach-file/index.vue\"],\"names\":[],\"mappings\":\";AAqBA;EACA,WAAA;EACA,kBAAA;EACA,mBAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"tableAttachFile\\\">\\r\\n <img src=\\\"./fjupload.png\\\" style=\\\"width: 95%\\\">\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport {editSetting} from './property';\\r\\nexport default {\\r\\n data () {\\r\\n return {\\r\\n level: editSetting.level,\\r\\n };\\r\\n },\\r\\n level:editSetting.level,\\r\\n editSetting,\\r\\n name: editSetting.key\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .tableAttachFile{\\r\\n width: 95%;\\r\\n margin-left: auto;\\r\\n margin-right: auto;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90YWJsZS1hdHRhY2gtZmlsZS9pbmRleC52dWU/NGVmOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUErRTtBQUNsSDs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsdUNBQXVDLGVBQWUsc0JBQXNCLHVCQUF1QixHQUFHLFVBQVUsNk1BQTZNLE1BQU0sVUFBVSxXQUFXLFdBQVcsMk1BQTJNLFlBQVksbUJBQW1CLG9CQUFvQixpQkFBaUIsb0JBQW9CLHVEQUF1RCxTQUFTLHdGQUF3RiwwREFBMEQsbUJBQW1CLDBCQUEwQiwyQkFBMkIsT0FBTyxtQ0FBbUM7O0FBRWorQiIsImZpbGUiOiI4MDAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG4udGFibGVBdHRhY2hGaWxlW2RhdGEtdi03YTQwZmQwMl17XFxuICB3aWR0aDogOTUlO1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJFOi9wcm9qZWN0L3BhZ2UtaWRlLXhpYW4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vdGFibGUtYXR0YWNoLWZpbGUvbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vdGFibGUtYXR0YWNoLWZpbGUvaW5kZXgudnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUFxQkE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtDQUNBXCIsXCJmaWxlXCI6XCJpbmRleC52dWVcIixcInNvdXJjZXNDb250ZW50XCI6W1wiPHRlbXBsYXRlPlxcclxcbiAgPGRpdiBjbGFzcz1cXFwidGFibGVBdHRhY2hGaWxlXFxcIj5cXHJcXG4gICAgPGltZyBzcmM9XFxcIi4vZmp1cGxvYWQucG5nXFxcIiBzdHlsZT1cXFwid2lkdGg6IDk1JVxcXCI+XFxyXFxuICA8L2Rpdj5cXHJcXG48L3RlbXBsYXRlPlxcclxcblxcclxcbjxzY3JpcHQ+XFxyXFxuaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XFxyXFxuZXhwb3J0IGRlZmF1bHQge1xcclxcbiAgICBkYXRhICgpIHtcXHJcXG4gICAgICAgIHJldHVybiB7XFxyXFxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgfSxcXHJcXG4gICAgbGV2ZWw6ZWRpdFNldHRpbmcubGV2ZWwsXFxyXFxuICAgIGVkaXRTZXR0aW5nLFxcclxcbiAgICBuYW1lOiBlZGl0U2V0dGluZy5rZXlcXHJcXG59O1xcclxcbjwvc2NyaXB0PlxcclxcblxcclxcbjxzdHlsZSBzY29wZWQ+XFxyXFxuICAudGFibGVBdHRhY2hGaWxle1xcclxcbiAgICB3aWR0aDogOTUlO1xcclxcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcXHJcXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xcclxcbiAgfVxcclxcbjwvc3R5bGU+XFxyXFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTdhNDBmZDAyXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vdGFibGUtYXR0YWNoLWZpbGUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA4MDBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///800\n");
5346
5347/***/ }),
5348/* 801 */
5349/***/ (function(module, exports, __webpack_require__) {
5350
5351"use strict";
5352eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar editors = ['属性(表格上传附件)', {\n field: 'property.type',\n text: '是否有操作',\n type: 'attachFileTypeSelect'\n}];\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-table-attach-file',\n level: 2,\n name: 'table-attach-file 表格上传附件',\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90YWJsZS1hdHRhY2gtZmlsZS9wcm9wZXJ0eS5qcz9lMjg2Il0sIm5hbWVzIjpbImVkaXRvcnMiLCJmaWVsZCIsInRleHQiLCJ0eXBlIiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibGV2ZWwiLCJuYW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFPQSxJQUFJQSxVQUFTLENBQ1QsWUFEUyxFQUVUO0FBQ0lDLFdBQU8sZUFEWDtBQUVJQyxVQUFNLE9BRlY7QUFHSUMsVUFBTTtBQUhWLENBRlMsQ0FBYjtBQVFBQyxRQUFRQyxHQUFSLENBQVlMLE9BQVo7QUFDTyxJQUFNTSxvQ0FBYztBQUN2QkMsU0FBSyx3QkFEa0I7QUFFdkJDLFdBQU0sQ0FGaUI7QUFHdkJDLFVBQU0sMEJBSGlCO0FBSXZCVCxhQUFRQTtBQUplLENBQXBCIiwiZmlsZSI6IjgwMS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAgTm90ZSDlt6XlhbfnsbtcclxuICovXHJcbi8qXHJcbk5vdGUg5a6a5LmJ6Ieq5a6a5LmJ5bGe5oCn77yM5YWs5YWx5bGe5oCn5LuOY29tbW9u5paH5Lu26YeM6K+75Y+WXHJcbmF1dGhvciDlj7bnq6DmtalcclxuICovXHJcbmxldCBlZGl0b3JzPSBbXHJcbiAgICAn5bGe5oCnKOihqOagvOS4iuS8oOmZhOS7tiknLFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkudHlwZScsXHJcbiAgICAgICAgdGV4dDogJ+aYr+WQpuacieaTjeS9nCcsXHJcbiAgICAgICAgdHlwZTogJ2F0dGFjaEZpbGVUeXBlU2VsZWN0J1xyXG4gICAgfVxyXG5dO1xyXG5jb25zb2xlLmxvZyhlZGl0b3JzKTtcclxuZXhwb3J0IGNvbnN0IGVkaXRTZXR0aW5nID0ge1xyXG4gICAga2V5OiAnZ2FlYS10YWJsZS1hdHRhY2gtZmlsZScsXHJcbiAgICBsZXZlbDoyLFxyXG4gICAgbmFtZTogJ3RhYmxlLWF0dGFjaC1maWxlIOihqOagvOS4iuS8oOmZhOS7ticsXHJcbiAgICBlZGl0b3JzOmVkaXRvcnMsXHJcbn07XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL3RhYmxlLWF0dGFjaC1maWxlL3Byb3BlcnR5LmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///801\n");
5353
5354/***/ }),
5355/* 802 */
5356/***/ (function(module, __webpack_exports__, __webpack_require__) {
5357
5358"use strict";
5359eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"tableAttachFile\" }, [\n _c(\"img\", {\n staticStyle: { width: \"95%\" },\n attrs: { src: __webpack_require__(803) }\n })\n ])\n }\n]\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-7a40fd02\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90YWJsZS1hdHRhY2gtZmlsZS9pbmRleC52dWU/YmE0NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLGlDQUFpQztBQUN2RDtBQUNBLHNCQUFzQixlQUFlO0FBQ3JDLGdCQUFnQixNQUFNLG1CQUFPLENBQUMsR0FBZ0I7QUFDOUMsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI4MDIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF92bS5fbSgwKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtcbiAgZnVuY3Rpb24oKSB7XG4gICAgdmFyIF92bSA9IHRoaXNcbiAgICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgICByZXR1cm4gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJ0YWJsZUF0dGFjaEZpbGVcIiB9LCBbXG4gICAgICBfYyhcImltZ1wiLCB7XG4gICAgICAgIHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjk1JVwiIH0sXG4gICAgICAgIGF0dHJzOiB7IHNyYzogcmVxdWlyZShcIi4vZmp1cGxvYWQucG5nXCIpIH1cbiAgICAgIH0pXG4gICAgXSlcbiAgfVxuXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTdhNDBmZDAyXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTdhNDBmZDAyXCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vdGFibGUtYXR0YWNoLWZpbGUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA4MDJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///802\n");
5360
5361/***/ }),
5362/* 803 */
5363/***/ (function(module, exports, __webpack_require__) {
5364
5365eval("module.exports = __webpack_require__.p + \"fjupload.png?1479e8e1471f575046eee65173636969\";\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90YWJsZS1hdHRhY2gtZmlsZS9manVwbG9hZC5wbmc/OWQ1YyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUIscUJBQXVCIiwiZmlsZSI6IjgwMy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3B1YmxpY19wYXRoX18gKyBcImZqdXBsb2FkLnBuZz8xNDc5ZThlMTQ3MWY1NzUwNDZlZWU2NTE3MzYzNjk2OVwiO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vdGFibGUtYXR0YWNoLWZpbGUvZmp1cGxvYWQucG5nXG4vLyBtb2R1bGUgaWQgPSA4MDNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///803\n");
5366
5367/***/ }),
5368/* 804 */
5369/***/ (function(module, __webpack_exports__, __webpack_require__) {
5370
5371"use strict";
5372eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(204);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_1ef7f42e_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(808);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(805)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-1ef7f42e\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_1ef7f42e_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelTwo/time-line/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-1ef7f42e\", Component.options)\n } else {\n hotAPI.reload(\"data-v-1ef7f42e\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90aW1lLWxpbmUvaW5kZXgudnVlPzYxYWYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFxVjtBQUMvVjtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLENBQXdGO0FBQ3pIO0FBQ3dJO0FBQ2E7QUFDcko7QUFDbVQ7QUFDblQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwwSUFBYztBQUNoQixFQUFFLGlRQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYyxnRkFBaUIiLCJmaWxlIjoiODA0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMWVmN2Y0MmVcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG5leHBvcnQgKiBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW5kZXgudnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMWVmN2Y0MmVcXFwiLFxcXCJoYXNTY29wZWRcXFwiOnRydWUsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgZnVuY3Rpb25hbCAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyA9IGZhbHNlXG4vKiBzdHlsZXMgKi9cbnZhciBfX3Z1ZV9zdHlsZXNfXyA9IGluamVjdFN0eWxlXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gXCJkYXRhLXYtMWVmN2Y0MmVcIlxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwibXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vdGltZS1saW5lL2luZGV4LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtbG9hZGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi0xZWY3ZjQyZVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTFlZjdmNDJlXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vdGltZS1saW5lL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gODA0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///804\n");
5373
5374/***/ }),
5375/* 805 */
5376/***/ (function(module, exports, __webpack_require__) {
5377
5378eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(806);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"2aca396a\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1ef7f42e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1ef7f42e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90aW1lLWxpbmUvaW5kZXgudnVlP2VlYWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBOFc7QUFDcFksNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxDQUFpRyxnQ0FBZ0M7QUFDdEo7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0EsbU1BQW1NLGtGQUFrRjtBQUNyUiw0TUFBNE0sa0ZBQWtGO0FBQzlSO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiODA1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTFlZjdmNDJlXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjJhY2EzOTZhXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0xZWY3ZjQyZVxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTFlZjdmNDJlXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIik7XG4gICAgIGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuICAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gICB9KTtcbiB9XG4gLy8gV2hlbiB0aGUgbW9kdWxlIGlzIGRpc3Bvc2VkLCByZW1vdmUgdGhlIDxzdHlsZT4gdGFnc1xuIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL192dWUtc3R5bGUtbG9hZGVyQDMuMS4yQHZ1ZS1zdHlsZS1sb2FkZXIhLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtMWVmN2Y0MmVcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90aW1lLWxpbmUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA4MDVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///805\n");
5379
5380/***/ }),
5381/* 806 */
5382/***/ (function(module, exports, __webpack_require__) {
5383
5384eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.timeLine[data-v-1ef7f42e]{\\n width: 95%;\\n margin: 20px auto;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelTwo/time-line/myPlugin/page-ide/lib/components/levelTwo/time-line/index.vue\"],\"names\":[],\"mappings\":\";AAyCA;EACA,WAAA;EACA,kBAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"timeLine\\\">\\r\\n <img src=\\\"./tjsh.png\\\" style=\\\"width: 95%\\\">\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\nimport {editSetting} from './property';\\r\\nexport default {\\r\\n data () {\\r\\n return {\\r\\n columns1: [\\r\\n {\\r\\n title: 'Name',\\r\\n key: 'name'\\r\\n },\\r\\n {\\r\\n title: 'Age',\\r\\n key: 'age'\\r\\n }\\r\\n ],\\r\\n data1: [\\r\\n {\\r\\n name: 'John Brown',\\r\\n age: 18,\\r\\n address: 'New York No. 1 Lake Park',\\r\\n date: '2016-10-03'\\r\\n }\\r\\n\\r\\n ],\\r\\n level: editSetting.level,\\r\\n };\\r\\n },\\r\\n level:editSetting.level,\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level:editSetting.level,\\r\\n};\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .timeLine{\\r\\n width: 95%;\\r\\n margin: 20px auto;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90aW1lLWxpbmUvaW5kZXgudnVlPzhlOWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsQ0FBK0U7QUFDbEg7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLGdDQUFnQyxlQUFlLHNCQUFzQixHQUFHLFVBQVUsNkxBQTZMLE1BQU0sVUFBVSxXQUFXLGdNQUFnTSxZQUFZLG1CQUFtQixvQkFBb0IsaUJBQWlCLG9CQUFvQixnREFBZ0QsOEZBQThGLHNCQUFzQiw0RkFBNEYsK0RBQStELHNNQUFzTSw2RUFBNkUsU0FBUyx5SEFBeUgsbURBQW1ELG1CQUFtQiwwQkFBMEIsT0FBTyxtQ0FBbUM7O0FBRXY3QyIsImZpbGUiOiI4MDYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG4udGltZUxpbmVbZGF0YS12LTFlZjdmNDJlXXtcXG4gIHdpZHRoOiA5NSU7XFxuICBtYXJnaW46IDIwcHggYXV0bztcXG59XFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIkU6L3Byb2plY3QvcGFnZS1pZGUteGlhbi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90aW1lLWxpbmUvbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vdGltZS1saW5lL2luZGV4LnZ1ZVwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiO0FBeUNBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0NBQ0FcIixcImZpbGVcIjpcImluZGV4LnZ1ZVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCI8dGVtcGxhdGU+XFxyXFxuICA8ZGl2IGNsYXNzPVxcXCJ0aW1lTGluZVxcXCI+XFxyXFxuICAgIDxpbWcgc3JjPVxcXCIuL3Rqc2gucG5nXFxcIiBzdHlsZT1cXFwid2lkdGg6IDk1JVxcXCI+XFxyXFxuICA8L2Rpdj5cXHJcXG48L3RlbXBsYXRlPlxcclxcblxcclxcbjxzY3JpcHQ+XFxyXFxuaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XFxyXFxuZXhwb3J0IGRlZmF1bHQge1xcclxcbiAgICBkYXRhICgpIHtcXHJcXG4gICAgICAgIHJldHVybiB7XFxyXFxuICAgICAgICAgICAgY29sdW1uczE6IFtcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdOYW1lJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGtleTogJ25hbWUnXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQWdlJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGtleTogJ2FnZSdcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIF0sXFxyXFxuICAgICAgICAgICAgZGF0YTE6IFtcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0pvaG4gQnJvd24nLFxcclxcbiAgICAgICAgICAgICAgICAgICAgYWdlOiAxOCxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGFkZHJlc3M6ICdOZXcgWW9yayBOby4gMSBMYWtlIFBhcmsnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgZGF0ZTogJzIwMTYtMTAtMDMnXFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG5cXHJcXG4gICAgICAgICAgICBdLFxcclxcbiAgICAgICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbCxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgIH0sXFxyXFxuICAgIGxldmVsOmVkaXRTZXR0aW5nLmxldmVsLFxcclxcbiAgICBlZGl0U2V0dGluZyxcXHJcXG4gICAgbmFtZTogZWRpdFNldHRpbmcua2V5LFxcclxcbiAgICBsZXZlbDplZGl0U2V0dGluZy5sZXZlbCxcXHJcXG59O1xcclxcbjwvc2NyaXB0PlxcclxcblxcclxcbjxzdHlsZSBzY29wZWQ+XFxyXFxuICAudGltZUxpbmV7XFxyXFxuICAgIHdpZHRoOiA5NSU7XFxyXFxuICAgIG1hcmdpbjogMjBweCBhdXRvO1xcclxcbiAgfVxcclxcbjwvc3R5bGU+XFxyXFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTFlZjdmNDJlXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vdGltZS1saW5lL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gODA2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///806\n");
5385
5386/***/ }),
5387/* 807 */
5388/***/ (function(module, exports, __webpack_require__) {
5389
5390"use strict";
5391eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar editors = ['属性(时间轴)', {\n field: 'property.model',\n text: '模型',\n value: 'timeLineData',\n type: 'string'\n}, {\n field: 'property.qrCodeShow',\n text: '二维码是否显示',\n type: 'boolean'\n}, {\n field: 'property.pending',\n text: '是否完成',\n type: 'boolean'\n}];\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-time-line',\n level: 2,\n name: 'time-line 时间轴',\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90aW1lLWxpbmUvcHJvcGVydHkuanM/MDRiYiJdLCJuYW1lcyI6WyJlZGl0b3JzIiwiZmllbGQiLCJ0ZXh0IiwidmFsdWUiLCJ0eXBlIiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibGV2ZWwiLCJuYW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFPQSxJQUFJQSxVQUFTLENBQ1QsU0FEUyxFQUVUO0FBQ0lDLFdBQU8sZ0JBRFg7QUFFSUMsVUFBTSxJQUZWO0FBR0lDLFdBQU0sY0FIVjtBQUlJQyxVQUFNO0FBSlYsQ0FGUyxFQVFUO0FBQ0lILFdBQU8scUJBRFg7QUFFSUMsVUFBTSxTQUZWO0FBR0lFLFVBQU07QUFIVixDQVJTLEVBYVQ7QUFDSUgsV0FBTyxrQkFEWDtBQUVJQyxVQUFNLE1BRlY7QUFHSUUsVUFBTTtBQUhWLENBYlMsQ0FBYjtBQW1CQUMsUUFBUUMsR0FBUixDQUFZTixPQUFaO0FBQ08sSUFBTU8sb0NBQWM7QUFDdkJDLFNBQUssZ0JBRGtCO0FBRXZCQyxXQUFNLENBRmlCO0FBR3ZCQyxVQUFNLGVBSGlCO0FBSXZCVixhQUFRQTtBQUplLENBQXBCIiwiZmlsZSI6IjgwNy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAgTm90ZSDlt6XlhbfnsbtcclxuICovXHJcbi8qXHJcbk5vdGUg5a6a5LmJ6Ieq5a6a5LmJ5bGe5oCn77yM5YWs5YWx5bGe5oCn5LuOY29tbW9u5paH5Lu26YeM6K+75Y+WXHJcbmF1dGhvciDlj7bnq6DmtalcclxuICovXHJcbmxldCBlZGl0b3JzPSBbXHJcbiAgICAn5bGe5oCnKOaXtumXtOi9tCknLFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkubW9kZWwnLFxyXG4gICAgICAgIHRleHQ6ICfmqKHlnosnLFxyXG4gICAgICAgIHZhbHVlOid0aW1lTGluZURhdGEnLFxyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkucXJDb2RlU2hvdycsXHJcbiAgICAgICAgdGV4dDogJ+S6jOe7tOeggeaYr+WQpuaYvuekuicsXHJcbiAgICAgICAgdHlwZTogJ2Jvb2xlYW4nXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGZpZWxkOiAncHJvcGVydHkucGVuZGluZycsXHJcbiAgICAgICAgdGV4dDogJ+aYr+WQpuWujOaIkCcsXHJcbiAgICAgICAgdHlwZTogJ2Jvb2xlYW4nXHJcbiAgICB9LFxyXG5dO1xyXG5jb25zb2xlLmxvZyhlZGl0b3JzKTtcclxuZXhwb3J0IGNvbnN0IGVkaXRTZXR0aW5nID0ge1xyXG4gICAga2V5OiAnZ2FlYS10aW1lLWxpbmUnLFxyXG4gICAgbGV2ZWw6MixcclxuICAgIG5hbWU6ICd0aW1lLWxpbmUg5pe26Ze06L20JyxcclxuICAgIGVkaXRvcnM6ZWRpdG9ycyxcclxufTtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vdGltZS1saW5lL3Byb3BlcnR5LmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///807\n");
5392
5393/***/ }),
5394/* 808 */
5395/***/ (function(module, __webpack_exports__, __webpack_require__) {
5396
5397"use strict";
5398eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"timeLine\" }, [\n _c(\"img\", {\n staticStyle: { width: \"95%\" },\n attrs: { src: __webpack_require__(809) }\n })\n ])\n }\n]\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-1ef7f42e\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90aW1lLWxpbmUvaW5kZXgudnVlPzEzMzEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQiwwQkFBMEI7QUFDaEQ7QUFDQSxzQkFBc0IsZUFBZTtBQUNyQyxnQkFBZ0IsTUFBTSxtQkFBTyxDQUFDLEdBQVk7QUFDMUMsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI4MDguanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF92bS5fbSgwKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtcbiAgZnVuY3Rpb24oKSB7XG4gICAgdmFyIF92bSA9IHRoaXNcbiAgICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgICByZXR1cm4gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJ0aW1lTGluZVwiIH0sIFtcbiAgICAgIF9jKFwiaW1nXCIsIHtcbiAgICAgICAgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiOTUlXCIgfSxcbiAgICAgICAgYXR0cnM6IHsgc3JjOiByZXF1aXJlKFwiLi90anNoLnBuZ1wiKSB9XG4gICAgICB9KVxuICAgIF0pXG4gIH1cbl1cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi0xZWY3ZjQyZVwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi0xZWY3ZjQyZVwiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL3RpbWUtbGluZS9pbmRleC52dWVcbi8vIG1vZHVsZSBpZCA9IDgwOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///808\n");
5399
5400/***/ }),
5401/* 809 */
5402/***/ (function(module, exports, __webpack_require__) {
5403
5404eval("module.exports = __webpack_require__.p + \"tjsh.png?5ff831cb7e3ff55edbb9afe5b53ccf95\";\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90aW1lLWxpbmUvdGpzaC5wbmc/ZmIwMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUIscUJBQXVCIiwiZmlsZSI6IjgwOS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3B1YmxpY19wYXRoX18gKyBcInRqc2gucG5nPzVmZjgzMWNiN2UzZmY1NWVkYmI5YWZlNWI1M2NjZjk1XCI7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90aW1lLWxpbmUvdGpzaC5wbmdcbi8vIG1vZHVsZSBpZCA9IDgwOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///809\n");
5405
5406/***/ }),
5407/* 810 */
5408/***/ (function(module, __webpack_exports__, __webpack_require__) {
5409
5410"use strict";
5411eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(205);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__);\n/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_aca94bdc_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(814);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(811)\n}\nvar normalizeComponent = __webpack_require__(2)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-aca94bdc\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_3_vue_loader_lib_template_compiler_index_id_data_v_aca94bdc_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_3_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"myPlugin/page-ide/lib/components/levelTwo/title/index.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-loader/node_modules/vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-aca94bdc\", Component.options)\n } else {\n hotAPI.reload(\"data-v-aca94bdc\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90aXRsZS9pbmRleC52dWU/ZGI4NyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLEdBQXFWO0FBQy9WO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsQ0FBd0Y7QUFDekg7QUFDd0k7QUFDYTtBQUNySjtBQUNtVDtBQUNuVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDBJQUFjO0FBQ2hCLEVBQUUsaVFBQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLGdGQUFpQiIsImZpbGUiOiI4MTAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1hY2E5NGJkY1xcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW5kZXgudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9pbmRleC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi1hY2E5NGJkY1xcXCIsXFxcImhhc1Njb3BlZFxcXCI6dHJ1ZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBcImRhdGEtdi1hY2E5NGJkY1wiXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJteVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90aXRsZS9pbmRleC52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWxvYWRlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgIGhvdEFQSS5jcmVhdGVSZWNvcmQoXCJkYXRhLXYtYWNhOTRiZGNcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgaG90QVBJLnJlbG9hZChcImRhdGEtdi1hY2E5NGJkY1wiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfVxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkaXNwb3NlZCA9IHRydWVcbiAgfSlcbn0pKCl9XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvbmVudC5leHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL3RpdGxlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gODEwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///810\n");
5412
5413/***/ }),
5414/* 811 */
5415/***/ (function(module, exports, __webpack_require__) {
5416
5417eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(812);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(1)(\"63ac4bef\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-aca94bdc\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/_css-loader@0.28.11@css-loader/index.js?sourceMap!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-aca94bdc\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../../../node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90aXRsZS9pbmRleC52dWU/MzI3NCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUE4VztBQUNwWSw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLENBQWlHLGdDQUFnQztBQUN0SjtBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSxtTUFBbU0sa0ZBQWtGO0FBQ3JSLDRNQUE0TSxrRkFBa0Y7QUFDOVI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiI4MTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYWNhOTRiZGNcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiNjNhYzRiZWZcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWFjYTk0YmRjXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbmRleC52dWVcIiwgZnVuY3Rpb24oKSB7XG4gICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYWNhOTRiZGNcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2luZGV4LnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX3Z1ZS1zdHlsZS1sb2FkZXJAMy4xLjJAdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9fY3NzLWxvYWRlckAwLjI4LjExQGNzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi1hY2E5NGJkY1wiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL3RpdGxlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gODExXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///811\n");
5418
5419/***/ }),
5420/* 812 */
5421/***/ (function(module, exports, __webpack_require__) {
5422
5423eval("exports = module.exports = __webpack_require__(0)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.formTitle[data-v-aca94bdc] {\\n font-family: 'ArialMT', 'Arial';\\n font-weight: 400;\\n font-style: normal;\\n font-size: 18px;\\n padding-left: 10px;\\n border-left: 4px solid #4A89DC;\\n color: #4A89DC;\\n margin: 0 auto 10px auto;\\n width: 95%;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"E:/project/page-ide-xian/myPlugin/page-ide/lib/components/levelTwo/title/myPlugin/page-ide/lib/components/levelTwo/title/index.vue\"],\"names\":[],\"mappings\":\";AAwCA;EACA,gCAAA;EACA,iBAAA;EACA,mBAAA;EACA,gBAAA;EACA,mBAAA;EACA,+BAAA;EACA,eAAA;EACA,yBAAA;EACA,WAAA;CACA\",\"file\":\"index.vue\",\"sourcesContent\":[\"<template>\\r\\n <div class=\\\"formTitle\\\" style=\\\"position: relative;\\\">\\r\\n {{getLabel}}\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script>\\r\\n import {editSetting} from './property';\\r\\n export default {\\r\\n // props: {\\r\\n // text: {\\r\\n // type: String,\\r\\n // default: 'Button Text'\\r\\n // },\\r\\n // type: String,\\r\\n // styles: Object\\r\\n // },\\r\\n computed:{\\r\\n getLabel(){\\r\\n return this.property.title;\\r\\n }\\r\\n },\\r\\n\\r\\n data () {\\r\\n return {\\r\\n property:{\\r\\n title : '标题',\\r\\n },\\r\\n text: 'input',\\r\\n type: 'input',\\r\\n level: editSetting.level\\r\\n };\\r\\n },\\r\\n editSetting,\\r\\n name: editSetting.key,\\r\\n level: editSetting.level\\r\\n };\\r\\n</script>\\r\\n\\r\\n<style scoped>\\r\\n .formTitle {\\r\\n font-family: 'ArialMT', 'Arial';\\r\\n font-weight: 400;\\r\\n font-style: normal;\\r\\n font-size: 18px;\\r\\n padding-left: 10px;\\r\\n border-left: 4px solid #4A89DC;\\r\\n color: #4A89DC;\\r\\n margin: 0 auto 10px auto;\\r\\n width: 95%;\\r\\n }\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90aXRsZS9pbmRleC52dWU/ZTc1YiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxDQUErRTtBQUNsSDs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsa0NBQWtDLG9DQUFvQyxxQkFBcUIsdUJBQXVCLG9CQUFvQix1QkFBdUIsbUNBQW1DLG1CQUFtQiw2QkFBNkIsZUFBZSxHQUFHLFVBQVUscUxBQXFMLE1BQU0sV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsZ0hBQWdILGFBQWEsVUFBVSwyREFBMkQsWUFBWSxtQkFBbUIsd0JBQXdCLHVCQUF1QiwwQkFBMEIscUdBQXFHLGtGQUFrRix1QkFBdUIsMkJBQTJCLCtDQUErQyxpQkFBaUIsYUFBYSwwQkFBMEIsd0JBQXdCLDhCQUE4QiwwREFBMEQsbUlBQW1JLGFBQWEseUdBQXlHLHFEQUFxRCx3Q0FBd0MseUJBQXlCLDJCQUEyQix3QkFBd0IsMkJBQTJCLHVDQUF1Qyx1QkFBdUIsaUNBQWlDLG1CQUFtQixPQUFPLG1DQUFtQzs7QUFFbDREIiwiZmlsZSI6IjgxMi5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvX2Nzcy1sb2FkZXJAMC4yOC4xMUBjc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcbi5mb3JtVGl0bGVbZGF0YS12LWFjYTk0YmRjXSB7XFxuICBmb250LWZhbWlseTogJ0FyaWFsTVQnLCAnQXJpYWwnO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gIGZvbnQtc2l6ZTogMThweDtcXG4gIHBhZGRpbmctbGVmdDogMTBweDtcXG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzRBODlEQztcXG4gIGNvbG9yOiAjNEE4OURDO1xcbiAgbWFyZ2luOiAwIGF1dG8gMTBweCBhdXRvO1xcbiAgd2lkdGg6IDk1JTtcXG59XFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIkU6L3Byb2plY3QvcGFnZS1pZGUteGlhbi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90aXRsZS9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90aXRsZS9pbmRleC52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQXdDQTtFQUNBLGdDQUFBO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSwrQkFBQTtFQUNBLGVBQUE7RUFDQSx5QkFBQTtFQUNBLFdBQUE7Q0FDQVwiLFwiZmlsZVwiOlwiaW5kZXgudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjx0ZW1wbGF0ZT5cXHJcXG4gIDxkaXYgY2xhc3M9XFxcImZvcm1UaXRsZVxcXCIgc3R5bGU9XFxcInBvc2l0aW9uOiByZWxhdGl2ZTtcXFwiPlxcclxcbiAgICB7e2dldExhYmVsfX1cXHJcXG4gIDwvZGl2PlxcclxcbjwvdGVtcGxhdGU+XFxyXFxuXFxyXFxuPHNjcmlwdD5cXHJcXG4gICAgaW1wb3J0IHtlZGl0U2V0dGluZ30gZnJvbSAnLi9wcm9wZXJ0eSc7XFxyXFxuICAgIGV4cG9ydCBkZWZhdWx0IHtcXHJcXG4gICAgICAgIC8vIHByb3BzOiB7XFxyXFxuICAgICAgICAvLyAgICAgdGV4dDoge1xcclxcbiAgICAgICAgLy8gICAgICAgICB0eXBlOiBTdHJpbmcsXFxyXFxuICAgICAgICAvLyAgICAgICAgIGRlZmF1bHQ6ICdCdXR0b24gVGV4dCdcXHJcXG4gICAgICAgIC8vICAgICB9LFxcclxcbiAgICAgICAgLy8gICAgIHR5cGU6IFN0cmluZyxcXHJcXG4gICAgICAgIC8vICAgICBzdHlsZXM6IE9iamVjdFxcclxcbiAgICAgICAgLy8gfSxcXHJcXG4gICAgICAgIGNvbXB1dGVkOntcXHJcXG4gICAgICAgICAgICBnZXRMYWJlbCgpe1xcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0eS50aXRsZTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9LFxcclxcblxcclxcbiAgICAgICAgZGF0YSAoKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIHtcXHJcXG4gICAgICAgICAgICAgICAgcHJvcGVydHk6e1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGUgOiAn5qCH6aKYJyxcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgdGV4dDogJ2lucHV0JyxcXHJcXG4gICAgICAgICAgICAgICAgdHlwZTogJ2lucHV0JyxcXHJcXG4gICAgICAgICAgICAgICAgbGV2ZWw6IGVkaXRTZXR0aW5nLmxldmVsXFxyXFxuICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBlZGl0U2V0dGluZyxcXHJcXG4gICAgICAgIG5hbWU6IGVkaXRTZXR0aW5nLmtleSxcXHJcXG4gICAgICAgIGxldmVsOiBlZGl0U2V0dGluZy5sZXZlbFxcclxcbiAgICB9O1xcclxcbjwvc2NyaXB0PlxcclxcblxcclxcbjxzdHlsZSBzY29wZWQ+XFxyXFxuICAuZm9ybVRpdGxlIHtcXHJcXG4gICAgZm9udC1mYW1pbHk6ICdBcmlhbE1UJywgJ0FyaWFsJztcXHJcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXHJcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcclxcbiAgICBmb250LXNpemU6IDE4cHg7XFxyXFxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcXHJcXG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjNEE4OURDO1xcclxcbiAgICBjb2xvcjogIzRBODlEQztcXHJcXG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweCBhdXRvO1xcclxcbiAgICB3aWR0aDogOTUlO1xcclxcbiAgfVxcclxcbjwvc3R5bGU+XFxyXFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jc3MtbG9hZGVyQDAuMjguMTFAY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LWFjYTk0YmRjXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6ZmFsc2V9IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL2NvbXBvbmVudHMvbGV2ZWxUd28vdGl0bGUvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA4MTJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///812\n");
5424
5425/***/ }),
5426/* 813 */
5427/***/ (function(module, exports, __webpack_require__) {
5428
5429"use strict";
5430eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar editors = ['属性(标题)', {\n field: 'property.title',\n text: '标题',\n type: 'string'\n}];\nconsole.log(editors);\nvar editSetting = exports.editSetting = {\n key: 'gaea-title',\n name: 'title 标题',\n level: 2,\n editors: editors\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90aXRsZS9wcm9wZXJ0eS5qcz8wNGU3Il0sIm5hbWVzIjpbImVkaXRvcnMiLCJmaWVsZCIsInRleHQiLCJ0eXBlIiwiY29uc29sZSIsImxvZyIsImVkaXRTZXR0aW5nIiwia2V5IiwibmFtZSIsImxldmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFPQSxJQUFJQSxVQUFTLENBQ1QsUUFEUyxFQUVUO0FBQ0lDLFdBQU8sZ0JBRFg7QUFFSUMsVUFBTSxJQUZWO0FBR0lDLFVBQU07QUFIVixDQUZTLENBQWI7QUFRQUMsUUFBUUMsR0FBUixDQUFZTCxPQUFaO0FBQ08sSUFBTU0sb0NBQWM7QUFDdkJDLFNBQUssWUFEa0I7QUFFdkJDLFVBQU0sVUFGaUI7QUFHdkJDLFdBQU0sQ0FIaUI7QUFJdkJULGFBQVFBO0FBSmUsQ0FBcEIiLCJmaWxlIjoiODEzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICBOb3RlIOW3peWFt+exu1xyXG4gKi9cclxuLypcclxuTm90ZSDlrprkuYnoh6rlrprkuYnlsZ7mgKfvvIzlhazlhbHlsZ7mgKfku45jb21tb27mlofku7bph4zor7vlj5ZcclxuYXV0aG9yIOWPtueroOa1qVxyXG4gKi9cclxubGV0IGVkaXRvcnM9IFtcclxuICAgICflsZ7mgKco5qCH6aKYKScsXHJcbiAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdwcm9wZXJ0eS50aXRsZScsXHJcbiAgICAgICAgdGV4dDogJ+agh+mimCcsXHJcbiAgICAgICAgdHlwZTogJ3N0cmluZydcclxuICAgIH1cclxuXTtcclxuY29uc29sZS5sb2coZWRpdG9ycyk7XHJcbmV4cG9ydCBjb25zdCBlZGl0U2V0dGluZyA9IHtcclxuICAgIGtleTogJ2dhZWEtdGl0bGUnLFxyXG4gICAgbmFtZTogJ3RpdGxlIOagh+mimCcsXHJcbiAgICBsZXZlbDoyLFxyXG4gICAgZWRpdG9yczplZGl0b3JzLFxyXG59O1xyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90aXRsZS9wcm9wZXJ0eS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///813\n");
5431
5432/***/ }),
5433/* 814 */
5434/***/ (function(module, __webpack_exports__, __webpack_require__) {
5435
5436"use strict";
5437eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"formTitle\", staticStyle: { position: \"relative\" } },\n [_vm._v(\"\\n \" + _vm._s(_vm.getLabel) + \"\\n\")]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-aca94bdc\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvY29tcG9uZW50cy9sZXZlbFR3by90aXRsZS9pbmRleC52dWU/Y2Q1YSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLHlDQUF5Qyx1QkFBdUIsRUFBRTtBQUN2RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ0Ysa0VBQVM7QUFDeEIsSUFBSSxLQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI4MTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAgeyBzdGF0aWNDbGFzczogXCJmb3JtVGl0bGVcIiwgc3RhdGljU3R5bGU6IHsgcG9zaXRpb246IFwicmVsYXRpdmVcIiB9IH0sXG4gICAgW192bS5fdihcIlxcbiAgXCIgKyBfdm0uX3MoX3ZtLmdldExhYmVsKSArIFwiXFxuXCIpXVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi1hY2E5NGJkY1wiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi1hY2E5NGJkY1wiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvX3Z1ZS1sb2FkZXJAMTMuNy4zQHZ1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9jb21wb25lbnRzL2xldmVsVHdvL3RpdGxlL2luZGV4LnZ1ZVxuLy8gbW9kdWxlIGlkID0gODE0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///814\n");
5438
5439/***/ }),
5440/* 815 */
5441/***/ (function(module, __webpack_exports__, __webpack_require__) {
5442
5443"use strict";
5444eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"page\", {\n style: _vm.styles,\n attrs: { componentClasses: _vm.componentClasses }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-loader/node_modules/vue-hot-reload-api\") .rerender(\"data-v-3cf35e57\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvaW5kZXgudnVlPzViMGMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjgxNS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXCJwYWdlXCIsIHtcbiAgICBzdHlsZTogX3ZtLnN0eWxlcyxcbiAgICBhdHRyczogeyBjb21wb25lbnRDbGFzc2VzOiBfdm0uY29tcG9uZW50Q2xhc3NlcyB9XG4gIH0pXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1sb2FkZXIvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi0zY2YzNWU1N1wiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxMy43LjNAdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi0zY2YzNWU1N1wiLFwiaGFzU2NvcGVkXCI6ZmFsc2UsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDEzLjcuM0B2dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvaW5kZXgudnVlXG4vLyBtb2R1bGUgaWQgPSA4MTVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///815\n");
5445
5446/***/ }),
5447/* 816 */
5448/***/ (function(module, exports, __webpack_require__) {
5449
5450"use strict";
5451eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _map = __webpack_require__(206);\n\nvar _map2 = _interopRequireDefault(_map);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar application = {\n namespaced: true,\n state: {\n navbarHeight: 40,\n isPreview: false,\n viewportContainerStyle: {},\n viewportStyle: {},\n plugins: [],\n componentClasses: new _map2.default(),\n componentSetting: new _map2.default(),\n componentDefaultProps: new _map2.default(),\n defaultValue: null,\n rootComponentName: '',\n leftTool: null,\n rightTool: null,\n isShowModal: false,\n modalTitle: '',\n modalContentRender: null,\n pages: new _map2.default(),\n currentCreatedPageKey: null,\n currentEditPageKey: null,\n currentViewportPageKey: null,\n preComponents: new _map2.default(),\n pluginsBelongKeys: {},\n sortedPlugins: {},\n onComponentDragStart: function onComponentDragStart() {}\n },\n mutations: {\n addPlugin: function addPlugin(state, plugin) {\n state.plugins.push(plugin);\n },\n setLeftTool: function setLeftTool(state, position) {\n state.leftTool = position;\n },\n setRightTool: function setRightTool(state, position) {\n state.rightTool = position;\n },\n loadBuiltInPlugins: function loadBuiltInPlugins(state, _ref) {\n var pluginsBelongKeys = _ref.pluginsBelongKeys,\n sortedPlugins = _ref.sortedPlugins;\n\n state.pluginsBelongKeys = pluginsBelongKeys;\n state.sortedPlugins = sortedPlugins;\n },\n addComponentClass: function addComponentClass(state, component) {\n state.componentClasses.set(component.name, component);\n state.componentSetting.set(component.name, component.editSetting);\n },\n setOnComponentDragStart: function setOnComponentDragStart(state, fn) {\n state.onComponentDragStart = fn;\n }\n }\n};\n\nexports.default = application;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvc3RvcmUvZWRpdG9yL2FwcGxpY2F0aW9uLmpzPzcwYWMiXSwibmFtZXMiOlsiYXBwbGljYXRpb24iLCJuYW1lc3BhY2VkIiwic3RhdGUiLCJuYXZiYXJIZWlnaHQiLCJpc1ByZXZpZXciLCJ2aWV3cG9ydENvbnRhaW5lclN0eWxlIiwidmlld3BvcnRTdHlsZSIsInBsdWdpbnMiLCJjb21wb25lbnRDbGFzc2VzIiwiY29tcG9uZW50U2V0dGluZyIsImNvbXBvbmVudERlZmF1bHRQcm9wcyIsImRlZmF1bHRWYWx1ZSIsInJvb3RDb21wb25lbnROYW1lIiwibGVmdFRvb2wiLCJyaWdodFRvb2wiLCJpc1Nob3dNb2RhbCIsIm1vZGFsVGl0bGUiLCJtb2RhbENvbnRlbnRSZW5kZXIiLCJwYWdlcyIsImN1cnJlbnRDcmVhdGVkUGFnZUtleSIsImN1cnJlbnRFZGl0UGFnZUtleSIsImN1cnJlbnRWaWV3cG9ydFBhZ2VLZXkiLCJwcmVDb21wb25lbnRzIiwicGx1Z2luc0JlbG9uZ0tleXMiLCJzb3J0ZWRQbHVnaW5zIiwib25Db21wb25lbnREcmFnU3RhcnQiLCJtdXRhdGlvbnMiLCJhZGRQbHVnaW4iLCJwbHVnaW4iLCJwdXNoIiwic2V0TGVmdFRvb2wiLCJwb3NpdGlvbiIsInNldFJpZ2h0VG9vbCIsImxvYWRCdWlsdEluUGx1Z2lucyIsImFkZENvbXBvbmVudENsYXNzIiwiY29tcG9uZW50Iiwic2V0IiwibmFtZSIsImVkaXRTZXR0aW5nIiwic2V0T25Db21wb25lbnREcmFnU3RhcnQiLCJmbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsSUFBTUEsY0FBYztBQUNoQkMsZ0JBQVksSUFESTtBQUVoQkMsV0FBTztBQUNIQyxzQkFBYyxFQURYO0FBRUhDLG1CQUFXLEtBRlI7QUFHSEMsZ0NBQXdCLEVBSHJCO0FBSUhDLHVCQUFlLEVBSlo7QUFLSEMsaUJBQVMsRUFMTjtBQU1IQywwQkFBa0IsbUJBTmY7QUFPSEMsMEJBQWtCLG1CQVBmO0FBUUhDLCtCQUF1QixtQkFScEI7QUFTSEMsc0JBQWMsSUFUWDtBQVVIQywyQkFBbUIsRUFWaEI7QUFXSEMsa0JBQVUsSUFYUDtBQVlIQyxtQkFBVyxJQVpSO0FBYUhDLHFCQUFhLEtBYlY7QUFjSEMsb0JBQVksRUFkVDtBQWVIQyw0QkFBb0IsSUFmakI7QUFnQkhDLGVBQU8sbUJBaEJKO0FBaUJIQywrQkFBdUIsSUFqQnBCO0FBa0JIQyw0QkFBb0IsSUFsQmpCO0FBbUJIQyxnQ0FBd0IsSUFuQnJCO0FBb0JIQyx1QkFBZSxtQkFwQlo7QUFxQkhDLDJCQUFtQixFQXJCaEI7QUFzQkhDLHVCQUFlLEVBdEJaO0FBdUJIQyw4QkFBc0IsZ0NBQU0sQ0FBRTtBQXZCM0IsS0FGUztBQTJCaEJDLGVBQVc7QUFJUEMsaUJBSk8scUJBSUl6QixLQUpKLEVBSVcwQixNQUpYLEVBSW1CO0FBQ3RCMUIsa0JBQU1LLE9BQU4sQ0FBY3NCLElBQWQsQ0FBbUJELE1BQW5CO0FBQ0gsU0FOTTtBQU9QRSxtQkFQTyx1QkFPTTVCLEtBUE4sRUFPYTZCLFFBUGIsRUFPdUI7QUFDMUI3QixrQkFBTVcsUUFBTixHQUFpQmtCLFFBQWpCO0FBQ0gsU0FUTTtBQVVQQyxvQkFWTyx3QkFVTzlCLEtBVlAsRUFVYzZCLFFBVmQsRUFVd0I7QUFDM0I3QixrQkFBTVksU0FBTixHQUFrQmlCLFFBQWxCO0FBQ0gsU0FaTTtBQWFQRSwwQkFiTyw4QkFhYS9CLEtBYmIsUUFhd0Q7QUFBQSxnQkFBbkNxQixpQkFBbUMsUUFBbkNBLGlCQUFtQztBQUFBLGdCQUFoQkMsYUFBZ0IsUUFBaEJBLGFBQWdCOztBQUMzRHRCLGtCQUFNcUIsaUJBQU4sR0FBMEJBLGlCQUExQjtBQUNBckIsa0JBQU1zQixhQUFOLEdBQXNCQSxhQUF0QjtBQUNILFNBaEJNO0FBaUJQVSx5QkFqQk8sNkJBaUJZaEMsS0FqQlosRUFpQm1CaUMsU0FqQm5CLEVBaUI4QjtBQUNqQ2pDLGtCQUFNTSxnQkFBTixDQUF1QjRCLEdBQXZCLENBQTJCRCxVQUFVRSxJQUFyQyxFQUEyQ0YsU0FBM0M7QUFDQWpDLGtCQUFNTyxnQkFBTixDQUF1QjJCLEdBQXZCLENBQTJCRCxVQUFVRSxJQUFyQyxFQUEyQ0YsVUFBVUcsV0FBckQ7QUFDSCxTQXBCTTtBQXFCUEMsK0JBckJPLG1DQXFCa0JyQyxLQXJCbEIsRUFxQnlCc0MsRUFyQnpCLEVBcUI2QjtBQUNoQ3RDLGtCQUFNdUIsb0JBQU4sR0FBNkJlLEVBQTdCO0FBQ0g7QUF2Qk07QUEzQkssQ0FBcEI7O2tCQXNEZXhDLFciLCJmaWxlIjoiODE2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgYXBwbGljYXRpb24gPSB7XHJcbiAgICBuYW1lc3BhY2VkOiB0cnVlLFxyXG4gICAgc3RhdGU6IHtcclxuICAgICAgICBuYXZiYXJIZWlnaHQ6IDQwLFxyXG4gICAgICAgIGlzUHJldmlldzogZmFsc2UsXHJcbiAgICAgICAgdmlld3BvcnRDb250YWluZXJTdHlsZToge30sXHJcbiAgICAgICAgdmlld3BvcnRTdHlsZToge30sXHJcbiAgICAgICAgcGx1Z2luczogW10sXHJcbiAgICAgICAgY29tcG9uZW50Q2xhc3NlczogbmV3IE1hcCgpLFxyXG4gICAgICAgIGNvbXBvbmVudFNldHRpbmc6IG5ldyBNYXAoKSxcclxuICAgICAgICBjb21wb25lbnREZWZhdWx0UHJvcHM6IG5ldyBNYXAoKSxcclxuICAgICAgICBkZWZhdWx0VmFsdWU6IG51bGwsXHJcbiAgICAgICAgcm9vdENvbXBvbmVudE5hbWU6ICcnLFxyXG4gICAgICAgIGxlZnRUb29sOiBudWxsLFxyXG4gICAgICAgIHJpZ2h0VG9vbDogbnVsbCxcclxuICAgICAgICBpc1Nob3dNb2RhbDogZmFsc2UsXHJcbiAgICAgICAgbW9kYWxUaXRsZTogJycsXHJcbiAgICAgICAgbW9kYWxDb250ZW50UmVuZGVyOiBudWxsLFxyXG4gICAgICAgIHBhZ2VzOiBuZXcgTWFwKCksXHJcbiAgICAgICAgY3VycmVudENyZWF0ZWRQYWdlS2V5OiBudWxsLFxyXG4gICAgICAgIGN1cnJlbnRFZGl0UGFnZUtleTogbnVsbCxcclxuICAgICAgICBjdXJyZW50Vmlld3BvcnRQYWdlS2V5OiBudWxsLFxyXG4gICAgICAgIHByZUNvbXBvbmVudHM6IG5ldyBNYXAoKSxcclxuICAgICAgICBwbHVnaW5zQmVsb25nS2V5czoge30sXHJcbiAgICAgICAgc29ydGVkUGx1Z2luczoge30sXHJcbiAgICAgICAgb25Db21wb25lbnREcmFnU3RhcnQ6ICgpID0+IHt9XHJcbiAgICB9LFxyXG4gICAgbXV0YXRpb25zOiB7XHJcbiAgICAgICAgLy8gbG9hZFBsdWdpbkJ5UG9zaXRpb24gKHN0YXRlLCBwb3NpdGlvbikge1xyXG4gICAgICAgIC8vICAgICBzdGF0ZS5iZWxvbmdQbHVnaW5zW3Bvc2l0aW9uXSA9IHN0YXRlLnBsdWdpbnMuZmlsdGVyKHBsdWdpbiA9PiBwbHVnaW4ucG9zaXRpb24gPT09IHBvc2l0aW9uKTtcclxuICAgICAgICAvLyB9LFxyXG4gICAgICAgIGFkZFBsdWdpbiAoc3RhdGUsIHBsdWdpbikge1xyXG4gICAgICAgICAgICBzdGF0ZS5wbHVnaW5zLnB1c2gocGx1Z2luKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHNldExlZnRUb29sIChzdGF0ZSwgcG9zaXRpb24pIHtcclxuICAgICAgICAgICAgc3RhdGUubGVmdFRvb2wgPSBwb3NpdGlvbjtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHNldFJpZ2h0VG9vbCAoc3RhdGUsIHBvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgIHN0YXRlLnJpZ2h0VG9vbCA9IHBvc2l0aW9uO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbG9hZEJ1aWx0SW5QbHVnaW5zIChzdGF0ZSwge3BsdWdpbnNCZWxvbmdLZXlzLCBzb3J0ZWRQbHVnaW5zfSkge1xyXG4gICAgICAgICAgICBzdGF0ZS5wbHVnaW5zQmVsb25nS2V5cyA9IHBsdWdpbnNCZWxvbmdLZXlzO1xyXG4gICAgICAgICAgICBzdGF0ZS5zb3J0ZWRQbHVnaW5zID0gc29ydGVkUGx1Z2lucztcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFkZENvbXBvbmVudENsYXNzIChzdGF0ZSwgY29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgIHN0YXRlLmNvbXBvbmVudENsYXNzZXMuc2V0KGNvbXBvbmVudC5uYW1lLCBjb21wb25lbnQpO1xyXG4gICAgICAgICAgICBzdGF0ZS5jb21wb25lbnRTZXR0aW5nLnNldChjb21wb25lbnQubmFtZSwgY29tcG9uZW50LmVkaXRTZXR0aW5nKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHNldE9uQ29tcG9uZW50RHJhZ1N0YXJ0IChzdGF0ZSwgZm4pIHtcclxuICAgICAgICAgICAgc3RhdGUub25Db21wb25lbnREcmFnU3RhcnQgPSBmbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBhcHBsaWNhdGlvbjtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbXlQbHVnaW4vcGFnZS1pZGUvbGliL3N0b3JlL2VkaXRvci9hcHBsaWNhdGlvbi5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///816\n");
5452
5453/***/ }),
5454/* 817 */
5455/***/ (function(module, exports, __webpack_require__) {
5456
5457eval("__webpack_require__(63);\n__webpack_require__(27);\n__webpack_require__(29);\n__webpack_require__(818);\n__webpack_require__(823);\n__webpack_require__(825);\n__webpack_require__(826);\nmodule.exports = __webpack_require__(9).Map;\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L2ZuL21hcC5qcz84OWViIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUFPLENBQUMsRUFBaUM7QUFDekMsbUJBQU8sQ0FBQyxFQUFnQztBQUN4QyxtQkFBTyxDQUFDLEVBQTZCO0FBQ3JDLG1CQUFPLENBQUMsR0FBb0I7QUFDNUIsbUJBQU8sQ0FBQyxHQUE0QjtBQUNwQyxtQkFBTyxDQUFDLEdBQXVCO0FBQy9CLG1CQUFPLENBQUMsR0FBeUI7QUFDakMsaUJBQWlCLG1CQUFPLENBQUMsQ0FBa0IiLCJmaWxlIjoiODE3LmpzIiwic291cmNlc0NvbnRlbnQiOlsicmVxdWlyZSgnLi4vbW9kdWxlcy9lczYub2JqZWN0LnRvLXN0cmluZycpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYuc3RyaW5nLml0ZXJhdG9yJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL3dlYi5kb20uaXRlcmFibGUnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2Lm1hcCcpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczcubWFwLnRvLWpzb24nKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM3Lm1hcC5vZicpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczcubWFwLmZyb20nKTtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi4vbW9kdWxlcy9fY29yZScpLk1hcDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9mbi9tYXAuanNcbi8vIG1vZHVsZSBpZCA9IDgxN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///817\n");
5458
5459/***/ }),
5460/* 818 */
5461/***/ (function(module, exports, __webpack_require__) {
5462
5463"use strict";
5464eval("\nvar strong = __webpack_require__(207);\nvar validate = __webpack_require__(69);\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = __webpack_require__(208)(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm1hcC5qcz85OGU2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsYUFBYSxtQkFBTyxDQUFDLEdBQXNCO0FBQzNDLGVBQWUsbUJBQU8sQ0FBQyxFQUF3QjtBQUMvQzs7QUFFQTtBQUNBLGlCQUFpQixtQkFBTyxDQUFDLEdBQWU7QUFDeEMseUJBQXlCLG1FQUFtRTtBQUM1RixDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6IjgxOC5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcbnZhciBzdHJvbmcgPSByZXF1aXJlKCcuL19jb2xsZWN0aW9uLXN0cm9uZycpO1xudmFyIHZhbGlkYXRlID0gcmVxdWlyZSgnLi9fdmFsaWRhdGUtY29sbGVjdGlvbicpO1xudmFyIE1BUCA9ICdNYXAnO1xuXG4vLyAyMy4xIE1hcCBPYmplY3RzXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2NvbGxlY3Rpb24nKShNQVAsIGZ1bmN0aW9uIChnZXQpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIE1hcCgpIHsgcmV0dXJuIGdldCh0aGlzLCBhcmd1bWVudHMubGVuZ3RoID4gMCA/IGFyZ3VtZW50c1swXSA6IHVuZGVmaW5lZCk7IH07XG59LCB7XG4gIC8vIDIzLjEuMy42IE1hcC5wcm90b3R5cGUuZ2V0KGtleSlcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoa2V5KSB7XG4gICAgdmFyIGVudHJ5ID0gc3Ryb25nLmdldEVudHJ5KHZhbGlkYXRlKHRoaXMsIE1BUCksIGtleSk7XG4gICAgcmV0dXJuIGVudHJ5ICYmIGVudHJ5LnY7XG4gIH0sXG4gIC8vIDIzLjEuMy45IE1hcC5wcm90b3R5cGUuc2V0KGtleSwgdmFsdWUpXG4gIHNldDogZnVuY3Rpb24gc2V0KGtleSwgdmFsdWUpIHtcbiAgICByZXR1cm4gc3Ryb25nLmRlZih2YWxpZGF0ZSh0aGlzLCBNQVApLCBrZXkgPT09IDAgPyAwIDoga2V5LCB2YWx1ZSk7XG4gIH1cbn0sIHN0cm9uZywgdHJ1ZSk7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9lczYubWFwLmpzXG4vLyBtb2R1bGUgaWQgPSA4MThcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///818\n");
5465
5466/***/ }),
5467/* 819 */
5468/***/ (function(module, exports, __webpack_require__) {
5469
5470eval("// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = __webpack_require__(19);\nvar IObject = __webpack_require__(48);\nvar toObject = __webpack_require__(33);\nvar toLength = __webpack_require__(37);\nvar asc = __webpack_require__(820);\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FycmF5LW1ldGhvZHMuanM/NTAxMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsbUJBQU8sQ0FBQyxFQUFRO0FBQzFCLGNBQWMsbUJBQU8sQ0FBQyxFQUFZO0FBQ2xDLGVBQWUsbUJBQU8sQ0FBQyxFQUFjO0FBQ3JDLGVBQWUsbUJBQU8sQ0FBQyxFQUFjO0FBQ3JDLFVBQVUsbUJBQU8sQ0FBQyxHQUF5QjtBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsZUFBZTtBQUN6QjtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0M7QUFDeEM7QUFDQSw4QkFBOEI7QUFDOUIsNkJBQTZCO0FBQzdCLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsU0FBUyxpQ0FBaUM7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI4MTkuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAwIC0+IEFycmF5I2ZvckVhY2hcbi8vIDEgLT4gQXJyYXkjbWFwXG4vLyAyIC0+IEFycmF5I2ZpbHRlclxuLy8gMyAtPiBBcnJheSNzb21lXG4vLyA0IC0+IEFycmF5I2V2ZXJ5XG4vLyA1IC0+IEFycmF5I2ZpbmRcbi8vIDYgLT4gQXJyYXkjZmluZEluZGV4XG52YXIgY3R4ID0gcmVxdWlyZSgnLi9fY3R4Jyk7XG52YXIgSU9iamVjdCA9IHJlcXVpcmUoJy4vX2lvYmplY3QnKTtcbnZhciB0b09iamVjdCA9IHJlcXVpcmUoJy4vX3RvLW9iamVjdCcpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgYXNjID0gcmVxdWlyZSgnLi9fYXJyYXktc3BlY2llcy1jcmVhdGUnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKFRZUEUsICRjcmVhdGUpIHtcbiAgdmFyIElTX01BUCA9IFRZUEUgPT0gMTtcbiAgdmFyIElTX0ZJTFRFUiA9IFRZUEUgPT0gMjtcbiAgdmFyIElTX1NPTUUgPSBUWVBFID09IDM7XG4gIHZhciBJU19FVkVSWSA9IFRZUEUgPT0gNDtcbiAgdmFyIElTX0ZJTkRfSU5ERVggPSBUWVBFID09IDY7XG4gIHZhciBOT19IT0xFUyA9IFRZUEUgPT0gNSB8fCBJU19GSU5EX0lOREVYO1xuICB2YXIgY3JlYXRlID0gJGNyZWF0ZSB8fCBhc2M7XG4gIHJldHVybiBmdW5jdGlvbiAoJHRoaXMsIGNhbGxiYWNrZm4sIHRoYXQpIHtcbiAgICB2YXIgTyA9IHRvT2JqZWN0KCR0aGlzKTtcbiAgICB2YXIgc2VsZiA9IElPYmplY3QoTyk7XG4gICAgdmFyIGYgPSBjdHgoY2FsbGJhY2tmbiwgdGhhdCwgMyk7XG4gICAgdmFyIGxlbmd0aCA9IHRvTGVuZ3RoKHNlbGYubGVuZ3RoKTtcbiAgICB2YXIgaW5kZXggPSAwO1xuICAgIHZhciByZXN1bHQgPSBJU19NQVAgPyBjcmVhdGUoJHRoaXMsIGxlbmd0aCkgOiBJU19GSUxURVIgPyBjcmVhdGUoJHRoaXMsIDApIDogdW5kZWZpbmVkO1xuICAgIHZhciB2YWwsIHJlcztcbiAgICBmb3IgKDtsZW5ndGggPiBpbmRleDsgaW5kZXgrKykgaWYgKE5PX0hPTEVTIHx8IGluZGV4IGluIHNlbGYpIHtcbiAgICAgIHZhbCA9IHNlbGZbaW5kZXhdO1xuICAgICAgcmVzID0gZih2YWwsIGluZGV4LCBPKTtcbiAgICAgIGlmIChUWVBFKSB7XG4gICAgICAgIGlmIChJU19NQVApIHJlc3VsdFtpbmRleF0gPSByZXM7ICAgLy8gbWFwXG4gICAgICAgIGVsc2UgaWYgKHJlcykgc3dpdGNoIChUWVBFKSB7XG4gICAgICAgICAgY2FzZSAzOiByZXR1cm4gdHJ1ZTsgICAgICAgICAgICAgLy8gc29tZVxuICAgICAgICAgIGNhc2UgNTogcmV0dXJuIHZhbDsgICAgICAgICAgICAgIC8vIGZpbmRcbiAgICAgICAgICBjYXNlIDY6IHJldHVybiBpbmRleDsgICAgICAgICAgICAvLyBmaW5kSW5kZXhcbiAgICAgICAgICBjYXNlIDI6IHJlc3VsdC5wdXNoKHZhbCk7ICAgICAgICAvLyBmaWx0ZXJcbiAgICAgICAgfSBlbHNlIGlmIChJU19FVkVSWSkgcmV0dXJuIGZhbHNlOyAvLyBldmVyeVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gSVNfRklORF9JTkRFWCA/IC0xIDogSVNfU09NRSB8fCBJU19FVkVSWSA/IElTX0VWRVJZIDogcmVzdWx0O1xuICB9O1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19hcnJheS1tZXRob2RzLmpzXG4vLyBtb2R1bGUgaWQgPSA4MTlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///819\n");
5471
5472/***/ }),
5473/* 820 */
5474/***/ (function(module, exports, __webpack_require__) {
5475
5476eval("// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = __webpack_require__(821);\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FycmF5LXNwZWNpZXMtY3JlYXRlLmpzP2IyYzEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxHQUE4Qjs7QUFFL0Q7QUFDQTtBQUNBIiwiZmlsZSI6IjgyMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIDkuNC4yLjMgQXJyYXlTcGVjaWVzQ3JlYXRlKG9yaWdpbmFsQXJyYXksIGxlbmd0aClcbnZhciBzcGVjaWVzQ29uc3RydWN0b3IgPSByZXF1aXJlKCcuL19hcnJheS1zcGVjaWVzLWNvbnN0cnVjdG9yJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG9yaWdpbmFsLCBsZW5ndGgpIHtcbiAgcmV0dXJuIG5ldyAoc3BlY2llc0NvbnN0cnVjdG9yKG9yaWdpbmFsKSkobGVuZ3RoKTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fYXJyYXktc3BlY2llcy1jcmVhdGUuanNcbi8vIG1vZHVsZSBpZCA9IDgyMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///820\n");
5477
5478/***/ }),
5479/* 821 */
5480/***/ (function(module, exports, __webpack_require__) {
5481
5482eval("var isObject = __webpack_require__(15);\nvar isArray = __webpack_require__(822);\nvar SPECIES = __webpack_require__(12)('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FycmF5LXNwZWNpZXMtY29uc3RydWN0b3IuanM/NjUzNiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlLG1CQUFPLENBQUMsRUFBYztBQUNyQyxjQUFjLG1CQUFPLENBQUMsR0FBYTtBQUNuQyxjQUFjLG1CQUFPLENBQUMsRUFBUTs7QUFFOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0giLCJmaWxlIjoiODIxLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgaXNBcnJheSA9IHJlcXVpcmUoJy4vX2lzLWFycmF5Jyk7XG52YXIgU1BFQ0lFUyA9IHJlcXVpcmUoJy4vX3drcycpKCdzcGVjaWVzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG9yaWdpbmFsKSB7XG4gIHZhciBDO1xuICBpZiAoaXNBcnJheShvcmlnaW5hbCkpIHtcbiAgICBDID0gb3JpZ2luYWwuY29uc3RydWN0b3I7XG4gICAgLy8gY3Jvc3MtcmVhbG0gZmFsbGJhY2tcbiAgICBpZiAodHlwZW9mIEMgPT0gJ2Z1bmN0aW9uJyAmJiAoQyA9PT0gQXJyYXkgfHwgaXNBcnJheShDLnByb3RvdHlwZSkpKSBDID0gdW5kZWZpbmVkO1xuICAgIGlmIChpc09iamVjdChDKSkge1xuICAgICAgQyA9IENbU1BFQ0lFU107XG4gICAgICBpZiAoQyA9PT0gbnVsbCkgQyA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH0gcmV0dXJuIEMgPT09IHVuZGVmaW5lZCA/IEFycmF5IDogQztcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fYXJyYXktc3BlY2llcy1jb25zdHJ1Y3Rvci5qc1xuLy8gbW9kdWxlIGlkID0gODIxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///821\n");
5483
5484/***/ }),
5485/* 822 */
5486/***/ (function(module, exports, __webpack_require__) {
5487
5488eval("// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(30);\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lzLWFycmF5LmpzPzVmYzciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxVQUFVLG1CQUFPLENBQUMsRUFBUTtBQUMxQjtBQUNBO0FBQ0EiLCJmaWxlIjoiODIyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gNy4yLjIgSXNBcnJheShhcmd1bWVudClcbnZhciBjb2YgPSByZXF1aXJlKCcuL19jb2YnKTtcbm1vZHVsZS5leHBvcnRzID0gQXJyYXkuaXNBcnJheSB8fCBmdW5jdGlvbiBpc0FycmF5KGFyZykge1xuICByZXR1cm4gY29mKGFyZykgPT0gJ0FycmF5Jztcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fY29yZS1qc0AyLjYuOUBjb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faXMtYXJyYXkuanNcbi8vIG1vZHVsZSBpZCA9IDgyMlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///822\n");
5489
5490/***/ }),
5491/* 823 */
5492/***/ (function(module, exports, __webpack_require__) {
5493
5494eval("// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = __webpack_require__(10);\n\n$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__(209)('Map') });\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3Lm1hcC50by1qc29uLmpzPzVmZDUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsRUFBVzs7QUFFakMsdUNBQXVDLFNBQVMsbUJBQU8sQ0FBQyxHQUF1QixVQUFVIiwiZmlsZSI6IjgyMy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9EYXZpZEJydWFudC9NYXAtU2V0LnByb3RvdHlwZS50b0pTT05cbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5SLCAnTWFwJywgeyB0b0pTT046IHJlcXVpcmUoJy4vX2NvbGxlY3Rpb24tdG8tanNvbicpKCdNYXAnKSB9KTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL2VzNy5tYXAudG8tanNvbi5qc1xuLy8gbW9kdWxlIGlkID0gODIzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///823\n");
5495
5496/***/ }),
5497/* 824 */
5498/***/ (function(module, exports, __webpack_require__) {
5499
5500eval("var forOf = __webpack_require__(35);\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FycmF5LWZyb20taXRlcmFibGUuanM/OWU3NCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLG1CQUFPLENBQUMsRUFBVzs7QUFFL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI4MjQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZm9yT2YgPSByZXF1aXJlKCcuL19mb3Itb2YnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXRlciwgSVRFUkFUT1IpIHtcbiAgdmFyIHJlc3VsdCA9IFtdO1xuICBmb3JPZihpdGVyLCBmYWxzZSwgcmVzdWx0LnB1c2gsIHJlc3VsdCwgSVRFUkFUT1IpO1xuICByZXR1cm4gcmVzdWx0O1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL19hcnJheS1mcm9tLWl0ZXJhYmxlLmpzXG4vLyBtb2R1bGUgaWQgPSA4MjRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///824\n");
5501
5502/***/ }),
5503/* 825 */
5504/***/ (function(module, exports, __webpack_require__) {
5505
5506eval("// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\n__webpack_require__(210)('Map');\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3Lm1hcC5vZi5qcz8wZjBjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsbUJBQU8sQ0FBQyxHQUFzQiIsImZpbGUiOiI4MjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL3Byb3Bvc2FsLXNldG1hcC1vZmZyb20vI3NlYy1tYXAub2ZcbnJlcXVpcmUoJy4vX3NldC1jb2xsZWN0aW9uLW9mJykoJ01hcCcpO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3Lm1hcC5vZi5qc1xuLy8gbW9kdWxlIGlkID0gODI1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///825\n");
5507
5508/***/ }),
5509/* 826 */
5510/***/ (function(module, exports, __webpack_require__) {
5511
5512eval("// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\n__webpack_require__(211)('Map');\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3Lm1hcC5mcm9tLmpzPzRkM2YiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxtQkFBTyxDQUFDLEdBQXdCIiwiZmlsZSI6IjgyNi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vcHJvcG9zYWwtc2V0bWFwLW9mZnJvbS8jc2VjLW1hcC5mcm9tXG5yZXF1aXJlKCcuL19zZXQtY29sbGVjdGlvbi1mcm9tJykoJ01hcCcpO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3Lm1hcC5mcm9tLmpzXG4vLyBtb2R1bGUgaWQgPSA4MjZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///826\n");
5513
5514/***/ }),
5515/* 827 */
5516/***/ (function(module, exports, __webpack_require__) {
5517
5518"use strict";
5519eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _set = __webpack_require__(828);\n\nvar _set2 = _interopRequireDefault(_set);\n\nvar _stringify = __webpack_require__(24);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nvar _assign = __webpack_require__(40);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _toConsumableArray2 = __webpack_require__(18);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _from = __webpack_require__(60);\n\nvar _from2 = _interopRequireDefault(_from);\n\nvar _map = __webpack_require__(206);\n\nvar _map2 = _interopRequireDefault(_map);\n\nvar _lodash = __webpack_require__(36);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _eventbus = __webpack_require__(8);\n\nvar _eventbus2 = _interopRequireDefault(_eventbus);\n\nvar _toolService = __webpack_require__(14);\n\nvar _toolService2 = _interopRequireDefault(_toolService);\n\nvar _httpLoading = __webpack_require__(43);\n\nvar _httpLoading2 = _interopRequireDefault(_httpLoading);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar common = {\n createNewInstanceKey: function createNewInstanceKey() {\n return 'gaea_instance_' + Number(Math.random().toString().substr(3, 3) + Date.now()).toString(36);\n }\n};\n\nvar viewport = {\n namespaced: true,\n state: {\n isView: false,\n moveInstance: [],\n localViewportDOM: null,\n localInstanceDoms: new _map2.default(),\n localElement: \"\",\n localInstances: new _map2.default(),\n viewportDOM: null,\n rootInstanceKey: null,\n instances: new _map2.default(),\n instanceDoms: new _map2.default(),\n currentDragInfo: null,\n currentHoverInstanceKey: null,\n currentEditInstanceKey: null,\n currentFormInstanceKey: null,\n currentInfoCellInstanceKey: null,\n currentBoxInstanceKey: null,\n parentEditInstanceKey: null,\n dragStartDataReady: false,\n isDrag: false,\n pagePriviewData: {},\n\n saveDragObj: {},\n\n mouseLeaveViewport: 'mouseLeaveViewport',\n\n mouseLeaveComponent: 'mouseLeaveComponent',\n\n mouseHoveringComponent: 'mouseHoveringComponent',\n\n mouseHoveringCrumbItem: 'mouseHoveringCrumbItem',\n\n mouseLeaveCrumbItem: 'mouseLeaveCrumbItem',\n\n viewportUpdated: 'viewportUpdated',\n\n instanceUpdate: 'instanceUpdate',\n\n refreshPage: 'refreshPage',\n\n emitEditorCallback: 'emitEditorCallback',\n\n currentEditInstanceChange: 'currentEditInstanceChange'\n },\n mutations: {\n updateView: function updateView(state, dragInfo) {\n if (dragInfo.type == \"view\") {\n state.isView = true;\n } else {\n state.isView = false;\n }\n },\n startDrag: function startDrag(state, dragInfo) {\n if (dragInfo.info.instanceKey) {\n state.currentEditInstanceKey = dragInfo.info.instanceKey;\n }\n state.currentDragInfo = dragInfo;\n console.log(\"startDrag\");\n state.isDrag = true;\n },\n endDrag: function endDrag(state) {\n state.currentDragInfo = null;\n console.log(\"endDrag\");\n state.isDrag = false;\n },\n setViewportDOM: function setViewportDOM(state, viewportDOM) {\n state.viewportDOM = viewportDOM;\n },\n initViewport: function initViewport(state) {\n this.commit('viewport/addInstance', {\n gaeaKey: 'gaea-container',\n parentInstanceKey: null,\n indexPosition: null\n });\n var rootInstance = (0, _from2.default)(state.instances);\n var rootInstanceKey = rootInstance[0][0];\n this.commit('viewport/setRootInstanceKey', rootInstanceKey);\n },\n dealCurSecontLevel: function dealCurSecontLevel(state, obj) {\n var instance = state.instances.get(obj.currentInstance);\n var parentInstance = state.instances.get(obj.targetInstance);\n\n var currLevel = instance.vm.level;\n if (obj.beforeIndex < 2 || obj.afterIndex < 2) {}\n var data = {\n title: \"提示\",\n content: \"拖拽不符合规则\"\n };\n state.currentEditInstanceKey = obj.currentInstance;\n\n console.log(state.saveDragObj);\n this.commit('viewport/deleteData', state.currentEditInstanceKey);\n state.saveDragObj.indexPosition = obj.beforeIndex;\n setTimeout(function () {\n instance.key = obj.currentInstance;\n _eventbus2.default.$emit(\"addMoveInstance\", state.saveDragObj);\n }, 800);\n\n return;\n },\n dealCurLevelAndTargetLevel: function dealCurLevelAndTargetLevel(state, obj) {\n var _this2 = this;\n\n debugger;\n var instance = state.instances.get(obj.currentInstance);\n var parentInstance = state.instances.get(obj.targetInstance);\n\n var parentLevel = parentInstance.vm.level;\n if (!parentLevel) {\n return;\n }\n if (instance.gaeaKey == \"gaea-cell-table\") {\n return;\n }\n\n var currLevel = instance.vm.level;\n\n var data = {\n title: \"提示\",\n content: \"拖拽不符合规则\"\n };\n state.currentEditInstanceKey = obj.currentInstance;\n\n console.log(state.saveDragObj);\n setTimeout(function () {\n _this2.commit('viewport/deleteData', state.currentEditInstanceKey);\n instance.key = obj.currentInstance;\n _eventbus2.default.$emit(\"addMoveInstance\", state.saveDragObj);\n }, 800);\n\n return;\n },\n dealLevel: function dealLevel(state) {\n var _this3 = this;\n\n debugger;\n var instance = state.instances.get(state.currentEditInstanceKey);\n var parentInstance = state.instances.get(state.parentEditInstanceKey);\n\n if (!instance || instance.parentInstanceKey == \"gaea_instance_1\") {\n return;\n }\n var parentLevel = parentInstance.vm.level;\n if (!parentLevel) {\n return;\n }\n\n var currLevel = instance.vm.level;\n if (instance.gaeaKey == \"gaea-cell-table\" || parentInstance.gaeaKey == \"gaea-info-base\" && instance.gaeaKey == \"gaea-cell\") {} else if (currLevel <= parentLevel) {\n var data = {\n title: \"提示\",\n content: \"拖拽不符合规则\"\n };\n _eventbus2.default.$emit(\"openModal\", data);\n setTimeout(function () {\n _this3.commit('viewport/deleteData', state.currentEditInstanceKey);\n }, 800);\n }\n return;\n },\n addInstance: function addInstance(state, params) {\n var newInstanceKey = \"\";\n if (params.gaeaKey == \"gaea-container\") {\n newInstanceKey = 'gaea_instance_1';\n var newMap = [].concat((0, _toConsumableArray3.default)(state.instances));\n newMap = [];\n state.instances = new _map2.default(newMap);\n } else {\n newInstanceKey = params.newInstanceKey || common.createNewInstanceKey();\n }\n state.instances.set(newInstanceKey, {\n gaeaKey: params.gaeaKey,\n data: params.data || {\n props: null\n },\n slots: {},\n parentInstanceKey: params.parentInstanceKey,\n preGaeaKey: params.preGaeaKey,\n vm: null\n });\n\n debugger;\n var instanceArr = [].concat((0, _toConsumableArray3.default)(state.instances));\n var parentIndex = 0;\n try {\n state.instances.forEach(function (v, k) {\n console.log(v);\n parentIndex++;\n if (k == params.parentInstanceKey) {\n throw new Error(\"EndIterative\");\n }\n });\n } catch (e) {\n if (state.isDrag || params.isDrag) {\n debugger;\n state.instances = [].concat((0, _toConsumableArray3.default)(state.instances));\n var index = state.instances.length - 1;\n parentIndex += params.indexPosition;\n\n if (index > parentIndex) {\n var strInstance = [];\n var myTest = state.instances;\n\n state.instances.splice(parentIndex, 0, state.instances[index]);\n state.instances.splice(index + 1, 1);\n } else {\n state.instances.splice(parentIndex + 1, 0, state.instances[index]);\n state.instances.splice(index, 1);\n }\n\n state.instances = new _map2.default(state.instances);\n if (params.cb) {\n params.cb.call(null, newInstanceKey, { isInsert: true, childIndex: params.indexPosition });\n }\n _eventbus2.default.$emit(\"clickCurrentKey\", newInstanceKey);\n } else {\n state.instances = new _map2.default(state.instances);\n if (params.cb) {\n params.cb.call(null, newInstanceKey, { isInsert: false });\n }\n }\n if (e.message != \"EndIterative\") throw e;\n };\n\n if (params.gaeaKey == \"gaea-form\") {\n state.currentFormInstanceKey = newInstanceKey;\n }\n if (params.gaeaKey == \"gaea-box\") {\n state.currentBoxInstanceKey = newInstanceKey;\n }\n\n if (params.parentInstanceKey !== null) {\n var parentInstance = state.instances.get(params.parentInstanceKey);\n if (!parentInstance.slots[params.slotName]) {\n parentInstance.slots[params.slotName] = [];\n }\n if (state.isDrag) {\n parentInstance.slots[params.slotName].splice(params.indexPosition, 0, newInstanceKey);\n } else {\n parentInstance.slots[params.slotName].splice(parentInstance.slots[params.slotName].length, 0, newInstanceKey);\n }\n\n state.currentEditInstanceKey = newInstanceKey;\n state.parentEditInstanceKey = params.parentInstanceKey;\n if (parentInstance.gaeaKey === 'gaea-container' && params.gaeaKey === 'gaea-container') {}\n }\n },\n setInstanceProps: function setInstanceProps(state, _ref) {\n var vm = _ref.vm,\n key = _ref.key,\n value = _ref.value;\n\n if (Object.prototype.toString.call(value) === '[object Object]') {\n var obj = _.get(vm.$data, key);\n var _newObj = (0, _assign2.default)(obj, value);\n _.set(vm.$data, key, _newObj);\n } else {\n _.set(vm.$data, key, value);\n }\n vm.$forceUpdate();\n },\n setRootInstanceKey: function setRootInstanceKey(state, key) {\n state.rootInstanceKey = key;\n },\n setDomInstance: function setDomInstance(state, _ref2) {\n var key = _ref2.key,\n instance = _ref2.instance;\n\n state.instanceDoms.set(key, instance);\n },\n setCurrentHoverInstanceKey: function setCurrentHoverInstanceKey(state, instanceKey) {\n state.currentHoverInstanceKey = instanceKey;\n },\n moveInstance: function moveInstance(state, _ref3) {\n var sourceTargetKey = _ref3.sourceTargetKey,\n targetParentKey = _ref3.targetParentKey,\n targetIndex = _ref3.targetIndex,\n fromSlotName = _ref3.fromSlotName,\n toSlotName = _ref3.toSlotName;\n\n debugger;\n if (!sourceTargetKey) {\n return;\n }\n sourceTargetKey = state.currentEditInstanceKey;\n var sourceTargetInstance = state.instances.get(sourceTargetKey);\n var sourceParentInstance = state.instances.get(sourceTargetInstance.parentInstanceKey);\n var targetParentInstance = state.instances.get(targetParentKey);\n if (sourceTargetInstance.parentInstanceKey !== targetParentKey) {\n sourceTargetInstance.parentInstanceKey = targetParentKey;\n\n if (!targetParentInstance.slots[toSlotName]) {\n targetParentInstance.slots[toSlotName] = [];\n }\n targetParentInstance.slots[toSlotName].splice(targetIndex, 0, sourceTargetKey);\n\n sourceParentInstance.slots[fromSlotName] = sourceParentInstance.slots[fromSlotName].filter(function (childKey) {\n return childKey !== sourceTargetKey;\n });\n this.commit('viewport/dealCurLevelAndTargetLevel', {\n currentInstance: sourceTargetKey,\n targetInstance: targetParentKey\n });\n } else {\n this.commit('viewport/horizontalMoveInstance', {\n parentKey: targetParentKey,\n beforeIndex: sourceParentInstance.slots[fromSlotName].findIndex(function (childKey) {\n return childKey === sourceTargetKey;\n }),\n afterIndex: targetIndex\n });\n }\n\n state.instances = new _map2.default(state.instances);\n },\n horizontalMoveInstance: function horizontalMoveInstance(state, _ref4) {\n var parentKey = _ref4.parentKey,\n beforeIndex = _ref4.beforeIndex,\n afterIndex = _ref4.afterIndex,\n slotName = _ref4.slotName;\n\n console.log();\n var parentInstance = state.instances.get(parentKey);\n if (beforeIndex < afterIndex) {\n for (var index = beforeIndex; index < afterIndex; index++) {\n var beforeUniqueKey = parentInstance.slots[slotName][index];\n var afterUniqueKey = parentInstance.slots[slotName][index + 1];\n parentInstance.slots[slotName][index] = afterUniqueKey;\n parentInstance.slots[slotName][index + 1] = beforeUniqueKey;\n }\n } else {\n for (var _index = beforeIndex; _index > afterIndex; _index--) {\n var _beforeUniqueKey = parentInstance.slots[slotName][_index];\n var _afterUniqueKey = parentInstance.slots[slotName][_index - 1];\n parentInstance.slots[slotName][_index] = _afterUniqueKey;\n parentInstance.slots[slotName][_index - 1] = _beforeUniqueKey;\n }\n }\n\n state.instances = new _map2.default(state.instances);\n },\n setDragInfo: function setDragInfo(state, _ref5) {\n var mapUniqueKey = _ref5.mapUniqueKey,\n index = _ref5.index;\n\n var newInfo = state.currentDragInfo.info;\n newInfo.targetInstanceKey = mapUniqueKey;\n newInfo.targetIndex = index;\n },\n registerOuterDrag: function registerOuterDrag(state, dragParentDom) {\n var _this4 = this;\n\n debugger;\n var lastDragStartIndex = -1;\n Sortable.default.create(dragParentDom, {\n animation: 50,\n\n group: {\n name: 'gaea-container',\n pull: 'clone',\n put: false\n },\n sort: false,\n delay: 0,\n filter: \".collapse-header\",\n\n onStart: function onStart(event) {\n lastDragStartIndex = event.oldIndex;\n console.log(\"---onStart>\");\n console.log(event.item);\n console.log(event.item.dataset);\n console.log(event.item.dataset.gaeaKey);\n var ele = event.item;\n console.log(ele.attributes);\n var dataEle = {};\n console.log(\"test22\");\n var attrs = ele.attributes,\n dataset = {},\n name,\n matchStr;\n for (var i = 0; i < attrs.length; i++) {\n matchStr = attrs[i].name.match(/^data-(.+)/);\n if (matchStr) {\n name = matchStr[1].replace(/-([\\da-z])/gi, function (all, letter) {\n return letter.toUpperCase();\n });\n dataset[name] = attrs[i].value;\n }\n }\n dataEle = dataset;\n\n console.log(\"11--->\");\n console.log(dataEle);\n console.log(dataEle.gaeaKey);\n console.log(\"00--->\");\n if (dataEle.source) {\n console.log(\"---source>\" + dataEle.source);\n } else if (dataEle.gaeaKey) {\n console.log(\"---gaeaKey>\" + dataEle.gaeaKey);\n state.dragStartDataReady = false;\n _this4.commit('viewport/startDrag', {\n type: 'new',\n dragStartParentDom: dragParentDom,\n dragStartIndex: event.oldIndex,\n info: {\n gaeaKey: dataEle.gaeaKey,\n props: dataEle.props,\n preGaeaKey: dataEle.preGaeaKey\n }\n });\n\n console.log(\"---over>\");\n state.dragStartDataReady = true;\n }\n },\n onEnd: function onEnd(event) {\n debugger;\n _this4.commit('viewport/endDrag');\n\n if (event.clone.parentNode) {\n if (event.item.parentNode) {\n event.item.parentNode.removeChild(event.item);\n }\n } else {}\n }\n });\n },\n createInstanceEle: function createInstanceEle(newInfo) {\n var _this5 = this;\n\n this.commit('viewport/addInstance', {\n gaeaKey: newInfo.gaeaKey,\n parentInstanceKey: newInfo.parentInstanceKey,\n indexPosition: 0,\n preGaeaKey: newInfo.preGaeaKey,\n slotName: newInfo.slotName,\n\n cb: function cb(newInstanceKey) {\n debugger;\n if (onDragAdd) {\n onDragAdd.call(_this5, null, {}, newInfo.parentInstanceKey, newInfo.gaeaKey, newInstanceKey, newInfo.slotName);\n }\n }\n });\n },\n registerInnerDrag: function registerInnerDrag(state, _ref6) {\n var _this6 = this;\n\n var parentInstanceKey = _ref6.parentInstanceKey,\n dragParentDom = _ref6.dragParentDom,\n params = _ref6.params,\n _ref6$groupName = _ref6.groupName,\n groupName = _ref6$groupName === undefined ? 'gaea-container' : _ref6$groupName,\n onDragAdd = _ref6.onDragAdd;\n\n\n var instance = state.instances.get(parentInstanceKey);\n var oldObj = {\n\n animation: 50,\n\n group: {\n name: groupName,\n pull: true,\n put: true\n },\n onStart: function onStart(event) {\n console.log(event);\n console.log(\"onStart\");\n console.log(parentInstanceKey);\n console.log(event.newIndex);\n var slotName = event.from.dataset.slotName;\n var curInstance = state.instances.get(instance.slots[slotName][event.oldIndex]);\n var newObj = (0, _assign2.default)({}, curInstance);\n state.saveDragObj = newObj;\n\n _this6.commit('viewport/startDrag', {\n type: 'viewport',\n dragStartParentDom: dragParentDom,\n dragStartIndex: event.oldIndex,\n info: {\n instanceKey: instance.slots[slotName][event.oldIndex]\n }\n });\n },\n onEnd: function onEnd(event) {\n console.log(\"onEnd\");\n _this6.commit('viewport/endDrag');\n\n _this6.commit('viewport/setCurrentHoverInstanceKey', null);\n },\n onAdd: function onAdd(event) {\n console.log(state.instances);\n console.log(\"onAdd\");\n\n debugger;\n if (event.newIndex < 2 || state.isView) {\n event.item.parentNode.removeChild(event.item);\n return;\n }\n switch (state.currentDragInfo.type) {\n case 'new':\n var newInfo = state.currentDragInfo.info;\n var slotName = event.to.dataset.slotName;\n\n _this6.commit('viewport/addInstance', {\n gaeaKey: newInfo.gaeaKey,\n parentInstanceKey: parentInstanceKey,\n indexPosition: event.newIndex,\n preGaeaKey: newInfo.preGaeaKey,\n slotName: slotName,\n cb: function cb(newInstanceKey, dataObj) {\n debugger;\n if (onDragAdd) {\n onDragAdd.call(_this6, null, function () {\n return {};\n }, parentInstanceKey, newInfo.gaeaKey, newInstanceKey, slotName, dataObj);\n }\n }\n });\n break;\n case 'viewport':\n _this6.commit('viewport/setDragInfo', {\n mapUniqueKey: parentInstanceKey,\n index: event.newIndex\n });\n break;\n case 'combo':\n break;\n }\n },\n onUpdate: function onUpdate(event) {\n console.log(\"onUpdate\");\n var slotName = event.from.dataset.slotName;\n if (event.oldIndex < 2 || event.newIndex < 2) {\n\n var currentChild = state.instanceDoms.get(state.currentEditInstanceKey);\n console.log(currentChild);\n var parent = currentChild.parentNode;\n console.log(parent);\n var myParent = $('.ty-content-element-form').find('.formDiv').toArray();\n console.log(myParent);\n var oldIndex = event.oldIndex;\n var newIndex = event.newIndex;\n\n\n if (event.oldIndex < event.newIndex) {\n myParent.splice(oldIndex, 0, myParent[newIndex]);\n myParent.splice(newIndex + 1, 1);\n } else {\n myParent.splice(oldIndex + 1, 0, myParent[newIndex]);\n myParent.splice(newIndex, 1);\n }\n\n $('.ty-content-element-form').html(myParent);\n return;\n }\n\n _this6.commit('viewport/horizontalMoveInstance', {\n parentKey: parentInstanceKey,\n beforeIndex: event.oldIndex,\n afterIndex: event.newIndex,\n slotName: slotName\n });\n },\n onRemove: function onRemove(event) {\n debugger;\n console.log(\"onRemove\");\n\n var toSlotName = event.to.dataset.slotName;\n var fromSlotName = event.from.dataset.slotName;\n var dragTargetKey = state.instances.get(parentInstanceKey).slots[toSlotName][state.currentDragInfo.dragStartIndex];\n var dragViewportInfo = state.currentDragInfo.info;\n\n var curInstance = state.instances.get(dragTargetKey);\n\n if (typeof curInstance == \"undefined\") {\n return;\n }\n _this6.commit('viewport/moveInstance', {\n sourceTargetKey: dragTargetKey,\n targetParentKey: dragViewportInfo.targetInstanceKey,\n targetIndex: dragViewportInfo.targetIndex,\n fromSlotName: fromSlotName,\n toSlotName: toSlotName\n });\n }\n };\n var newObj = (0, _assign2.default)(params, oldObj);\n Sortable.default.create(dragParentDom, newObj);\n\n this.commit('viewport/dealLevel', state);\n },\n getInstancePath: function getInstancePath(state, _ref7) {\n var instanceKey = _ref7.instanceKey,\n cb = _ref7.cb;\n\n var finderPath = [state.currentEditInstanceKey];\n if (state.currentEditInstanceKey === null) {\n if (cb) {\n var result = [];\n cb(result);\n }\n return;\n }\n var instance = state.instances.get(state.currentEditInstanceKey);\n\n if (instance.parentInstanceKey === null) {\n if (cb) {\n var _result = [state.rootInstanceKey];\n cb(_result);\n }\n return;\n }\n\n while (state.instances.get(instance.parentInstanceKey).parentInstanceKey !== null) {\n finderPath.unshift(instance.parentInstanceKey);\n instance = state.instances.get(instance.parentInstanceKey);\n }\n finderPath.unshift(state.rootInstanceKey);\n if (cb) {\n cb(finderPath);\n }\n },\n setCurrentEditInstanceKey: function setCurrentEditInstanceKey(state, instanceKey) {\n\n if (state.currentEditInstanceKey === instanceKey) {\n return;\n }\n _eventbus2.default.$emit(\"clickCurrentKey\", instanceKey);\n\n state.currentEditInstanceKey = instanceKey;\n },\n setPagePriviewData: function setPagePriviewData(state, pageObjData) {\n state.pagePriviewData = pageObjData;\n }\n },\n actions: {}\n};\n\nvar selfMutation = {\n updateInputData: function updateInputData(state) {\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n\n for (var prop in currentInstance.data.property) {\n currentInstance.data.property[prop] = \"哈哈哈\";\n }\n for (var _prop in currentInstance.data.property) {\n currentInstance.data.property[_prop] = \"哈哈哈\";\n }\n state.instances = new _map2.default(state.instances);\n },\n updateData: function updateData(state, element) {\n\n var allInstance = state.instances;\n var localInstance = state.localInstances;\n localInstance = [].concat((0, _toConsumableArray3.default)(localInstance));\n allInstance = [].concat((0, _toConsumableArray3.default)(allInstance));\n localInstance.splice(0, 0, allInstance[0]);\n\n var _this = this;\n for (var key = 0; key < localInstance.length; key++) {\n var keyName = localInstance[key][0];\n var val = localInstance[key][1];\n if (keyName != \"gaea_instance_1\") {\n for (var prop in allInstance[key][1].data) {\n allInstance[key][1].data[prop] = localInstance[key][1].data[prop];\n }\n }\n }\n state.instances = allInstance;\n state.instances = new _map2.default(state.instances);\n },\n updateInstances: function updateInstances(state, element) {\n\n state.instances = state.localInstances;\n state.instances = new _map2.default(state.instances);\n },\n saveLocalElement: function saveLocalElement(state, element) {\n state.localElement = element;\n },\n saveLocalInstances: function saveLocalInstances(state, instances) {\n debugger;\n var localInstances = [].concat((0, _toConsumableArray3.default)(state.instances));\n\n localInstances.splice(0, 1);\n for (var key = 0; key < localInstances.length; key++) {\n delete localInstances[key][1].vm;\n }\n console.log(localInstances);\n var templateJSON = (0, _stringify2.default)(localInstances);\n\n console.log(templateJSON);\n return;\n var toServerParams = {\n itemNo: localStorage.itemNo,\n itemStep: localStorage.itemStep,\n jsonType: 1,\n jsonStr: templateJSON\n };\n _toolService2.default.saveTemplateOrJsonToServer(toServerParams).then(function (res) {\n localStorage.status = \"1\";\n _eventbus2.default.$emit(\"openSuccDialog\");\n _httpLoading2.default.closeLoading();\n });\n\n state.localInstances = new _map2.default([]);\n },\n delRadioEventArr: function delRadioEventArr(state, childObj) {\n\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.radioArr) {\n currentInstance.data.radioArr = [];\n }\n\n currentInstance.data.radioArr.splice(childObj.index, 1);\n state.instances = new _map2.default(state.instances);\n },\n delChildArr: function delChildArr(state, childObj) {\n\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.radioArr) {\n currentInstance.data.radioArr = [];\n }\n\n currentInstance.data.radioArr[childObj.index].children.splice(childObj.childIndex, 1);\n state.instances = new _map2.default(state.instances);\n },\n addDoubleEventArr: function addDoubleEventArr(state, childObj) {\n debugger;\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.radioArr) {\n currentInstance.data.radioArr = [];\n }\n if (!currentInstance.data.radioArr[childObj.index].children) {\n currentInstance.data.radioArr[childObj.index].children = [];\n }\n\n currentInstance.data.radioArr[childObj.index].children.push({\n label: \"选项\" + (currentInstance.data.radioArr.length + 1),\n value: \"选项\" + (currentInstance.data.radioArr.length + 1)\n });\n state.instances = new _map2.default(state.instances);\n },\n addRadioEventArr: function addRadioEventArr(state) {\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.radioArr) {\n currentInstance.data.radioArr = [];\n }\n\n currentInstance.data.radioArr.push({\n label: \"选项\" + (currentInstance.data.radioArr.length + 1),\n value: \"选项\" + (currentInstance.data.radioArr.length + 1)\n });\n state.instances = new _map2.default(state.instances);\n },\n addShowFlagEventArr: function addShowFlagEventArr(state) {\n debugger;\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.extend.showFlag) {\n currentInstance.data.extend.showFlag = [];\n }\n\n currentInstance.data.extend.showFlag.push({\n key: \"\",\n value: \"\"\n });\n state.instances = new _map2.default(state.instances);\n },\n delShowFlagEventArr: function delShowFlagEventArr(state, childObj) {\n\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.extend.showFlag) {\n currentInstance.data.extend.showFlag = [];\n }\n\n currentInstance.data.extend.showFlag.splice(childObj.index, 1);\n state.instances = new _map2.default(state.instances);\n },\n delValidateEventArr: function delValidateEventArr(state, childObj) {\n\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.validateArr) {\n currentInstance.data.validateArr = [];\n }\n\n currentInstance.data.validateArr.splice(childObj.index, 1);\n state.instances = new _map2.default(state.instances);\n },\n addValidateEventArr: function addValidateEventArr(state) {\n\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.validateArr) {\n currentInstance.data.validateArr = [];\n }\n if (currentInstance.gaeaKey == \"gaea-input\" || currentInstance.gaeaKey == \"gaea-textarea\") {\n currentInstance.data.validateArr.push({\n required: false,\n message: \"不能为空\",\n type: \"\",\n trigger: \"\",\n dot: \"\",\n range: 0,\n unit: \"\"\n }, {\n message: \"不能为空\",\n maxLength: 100,\n type: \"inputLength\",\n trigger: \"blur\",\n dot: \"\",\n range: 0,\n unit: \"\"\n });\n } else {\n currentInstance.data.validateArr.push({\n required: false,\n message: \"不能为空\",\n type: \"\",\n trigger: \"\",\n dot: \"\",\n range: 0,\n unit: \"\"\n });\n }\n\n state.instances = new _map2.default(state.instances);\n },\n addValidateEventChildArr: function addValidateEventChildArr(state, childObj) {\n debugger;\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.validateArr) {\n currentInstance.data.validateArr = [];\n }\n if (!currentInstance.data.validateArr[childObj.index].requireKeyValues) {\n currentInstance.data.validateArr[childObj.index].requireKeyValues = [];\n }\n\n currentInstance.data.validateArr[childObj.index].requireKeyValues.push({\n key: \"\",\n values: \"\"\n });\n state.instances = new _map2.default(state.instances);\n },\n delValidateEventChildArr: function delValidateEventChildArr(state, childObj) {\n\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.validateArr) {\n currentInstance.data.validateArr = [];\n }\n\n currentInstance.data.validateArr[childObj.parentIndex].requireKeyValues.splice(childObj.index, 1);\n state.instances = new _map2.default(state.instances);\n },\n addCheckEventArr: function addCheckEventArr(state) {\n debugger;\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.mockData) {\n currentInstance.data.mockData = [];\n }\n\n currentInstance.data.mockData.push({\n label: \"\",\n value: \"\",\n show: false,\n radioList: []\n });\n state.instances = new _map2.default(state.instances);\n },\n delCheckEventArr: function delCheckEventArr(state, childObj) {\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.mockData) {\n currentInstance.data.mockData = [];\n }\n\n currentInstance.data.mockData.splice(childObj.index, 1);\n state.instances = new _map2.default(state.instances);\n },\n addCheckChildArr: function addCheckChildArr(state, childObj) {\n\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.mockData[childObj.index].radioList) {\n currentInstance.data.mockData[childObj.index].radioList = [];\n }\n\n currentInstance.data.mockData[childObj.index].radioList.push({\n \"name\": \"\",\n \"isSelected\": false,\n \"value\": \"\"\n });\n state.instances = new _map2.default(state.instances);\n },\n delCheckChildArr: function delCheckChildArr(state, childObj) {\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.mockData) {\n currentInstance.data.mockData = [];\n }\n\n currentInstance.data.mockData[childObj.parentIndex].radioList.splice(childObj.index, 1);\n state.instances = new _map2.default(state.instances);\n },\n addLinkItemsEventArr: function addLinkItemsEventArr(state) {\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.items) {\n currentInstance.data.items = [];\n }\n\n currentInstance.data.items.push({\n label: \"\",\n prop: \"\",\n isShow: \"\"\n });\n state.instances = new _map2.default(state.instances);\n },\n addLinkOptionsEventArr: function addLinkOptionsEventArr(state, childObj) {\n\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.items[childObj.index].options) {\n currentInstance.data.items[childObj.index].options = [];\n }\n\n currentInstance.data.items[childObj.index].options.push({\n name: \"\",\n value: 0,\n isSelected: false\n });\n state.instances = new _map2.default(state.instances);\n },\n addLinkExactEventArr: function addLinkExactEventArr(state, childObj) {\n\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.items[childObj.index].exact) {\n currentInstance.data.items[childObj.index].exact = [];\n }\n\n currentInstance.data.items[childObj.index].exact.push({\n type: \"\"\n });\n state.instances = new _map2.default(state.instances);\n },\n delLinkItemsEventArr: function delLinkItemsEventArr(state, childObj) {\n\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.items) {\n currentInstance.data.items = [];\n }\n\n currentInstance.data.items.splice(childObj.index, 1);\n state.instances = new _map2.default(state.instances);\n },\n delLinkExactEventChildArr: function delLinkExactEventChildArr(state, childObj) {\n\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.items) {\n currentInstance.data.items = [];\n }\n\n currentInstance.data.items[childObj.parentIndex].exact.splice(childObj.index, 1);\n state.instances = new _map2.default(state.instances);\n },\n delLinkOptionsEventChildArr: function delLinkOptionsEventChildArr(state, childObj) {\n\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.linkageChangeValue) {\n currentInstance.data.extend.linkageChangeValue = [];\n }\n\n currentInstance.data.items[childObj.parentIndex].options.splice(childObj.index, 1);\n state.instances = new _map2.default(state.instances);\n },\n delStepsEventArr: function delStepsEventArr(state, childObj) {\n\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.steps) {\n currentInstance.data.steps = [];\n }\n\n currentInstance.data.steps.splice(childObj.index, 1);\n state.instances = new _map2.default(state.instances);\n },\n addStepsEventArr: function addStepsEventArr(state) {\n\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.steps) {\n currentInstance.data.steps = [];\n }\n\n currentInstance.data.steps.push({\n title: \"\"\n });\n state.instances = new _map2.default(state.instances);\n },\n addTableDynamicArr: function addTableDynamicArr(state) {\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.property.data) {\n currentInstance.data.property.data = {};\n if (!currentInstance.data.property.data.paramsList) {\n currentInstance.data.property.data.paramsList = [];\n }\n }\n\n currentInstance.data.property.data.paramsList.push({\n label: \"\",\n value: \"\"\n });\n state.instances = new _map2.default(state.instances);\n },\n updateTableDynamicArr: function updateTableDynamicArr(state) {\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.property.data) {\n currentInstance.data.property.data = {};\n if (!currentInstance.data.property.data.paramsList) {\n currentInstance.data.property.data.paramsList = [];\n }\n if (!currentInstance.data.property.data.params) {\n currentInstance.data.property.data.params = {};\n }\n }\n if (currentInstance.data.property.data.paramsList) {\n var paramObj = {};\n currentInstance.data.property.data.paramsList.forEach(function (el, index) {\n paramObj[el.label] = el.value;\n });\n currentInstance.data.property.data.params = paramObj;\n }\n debugger;\n state.instances = new _map2.default(state.instances);\n },\n delDynamEventArr: function delDynamEventArr(state, childObj) {\n debugger;\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.property.dynamic) {\n currentInstance.data.property.dynamic = {};\n if (!currentInstance.data.property.dynamic.paramsList) {\n currentInstance.data.property.dynamic.paramsList = [];\n }\n }\n\n currentInstance.data.property.dynamic.paramsList.splice(childObj.index, 1);\n state.instances = new _map2.default(state.instances);\n },\n addDynamicArr: function addDynamicArr(state) {\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.property.dynamic) {\n currentInstance.data.property.dynamic = {};\n if (!currentInstance.data.property.dynamic.paramsList) {\n currentInstance.data.property.dynamic.paramsList = [];\n }\n }\n\n currentInstance.data.property.dynamic.paramsList.push({\n label: \"\",\n value: \"\"\n });\n state.instances = new _map2.default(state.instances);\n },\n updateDynamicArr: function updateDynamicArr(state) {\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.property.dynamic) {\n currentInstance.data.property.dynamic = {};\n if (!currentInstance.data.property.dynamic.paramsList) {\n currentInstance.data.property.dynamic.paramsList = [];\n }\n if (!currentInstance.data.property.dynamic.params) {\n currentInstance.data.property.dynamic.params = {};\n }\n }\n if (currentInstance.data.property.dynamic.paramsList) {\n var paramObj = {};\n currentInstance.data.property.dynamic.paramsList.forEach(function (el, index) {\n paramObj[el.label] = el.value;\n });\n currentInstance.data.property.dynamic.params = paramObj;\n }\n debugger;\n state.instances = new _map2.default(state.instances);\n },\n delLinkEventArr: function delLinkEventArr(state, childObj) {\n\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.extend.linkageChangeValue) {\n currentInstance.data.extend.linkageChangeValue = [];\n }\n\n currentInstance.data.extend.linkageChangeValue.splice(childObj.index, 1);\n state.instances = new _map2.default(state.instances);\n },\n delLinkEventChildArr: function delLinkEventChildArr(state, childObj) {\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.extend.linkageChangeValue) {\n currentInstance.data.extend.linkageChangeValue = [];\n }\n\n currentInstance.data.extend.linkageChangeValue[childObj.parentIndex].values.splice(childObj.index, 1);\n state.instances = new _map2.default(state.instances);\n },\n addLinkEventChildArr: function addLinkEventChildArr(state, childObj) {\n\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.extend.linkageChangeValue) {\n currentInstance.data.extend.linkageChangeValue = [];\n }\n if (!currentInstance.data.extend.linkageChangeValue[childObj.index].values) {\n currentInstance.data.extend.linkageChangeValue[childObj.index].values = [];\n }\n\n currentInstance.data.extend.linkageChangeValue[childObj.index].values.push({\n changeParam: \"\",\n changeAttrs: {\n \"readonly\": false,\n \"clearable\": false\n }\n });\n state.instances = new _map2.default(state.instances);\n },\n addLinkEventArr: function addLinkEventArr(state) {\n\n var currentInstance = state.instances.get(state.currentEditInstanceKey);\n if (!currentInstance.data.extend.linkageChangeValue) {\n currentInstance.data.extend.linkageChangeValue = [];\n }\n\n currentInstance.data.extend.linkageChangeValue.push({\n changeKey: \"\",\n type: \"\",\n isValue: false,\n noChangeExist: false\n });\n state.instances = new _map2.default(state.instances);\n },\n deleteLevel1Data: function deleteLevel1Data(state) {\n debugger;\n return;\n\n var localInstances = [].concat((0, _toConsumableArray3.default)(state.instances));\n var myArr = localInstances.splice(0, 1);\n myArr[0][1].slots.default = [];\n state.instances = new _map2.default(myArr);\n\n this.commit('viewport/deleteDoomData', myArr[0][0]);\n\n _eventbus2.default.$emit(\"initTemplateInstance\");\n },\n deleteDoomData: function deleteDoomData(state, currentKey) {\n debugger;\n var localInstancesDoms = [].concat((0, _toConsumableArray3.default)(state.instanceDoms));\n for (var i = 0; i < localInstancesDoms.length; i++) {\n var myKey = localInstancesDoms[i][0];\n if (myKey != currentKey) {\n var currentChild = state.instanceDoms.get(myKey);\n var parent = currentChild.parentNode;\n parent.removeChild(currentChild);\n state.instanceDoms.delete(myKey);\n }\n }\n },\n deleteData: function deleteData(state, currentKey) {\n debugger;\n var currentChild = state.instanceDoms.get(currentKey);\n $(currentChild).hide();\n var parent = currentChild.parentNode;\n state.moveInstance.push(currentKey);\n\n return;\n state.instanceDoms.delete(currentKey);\n\n console.log(state.instances.get(currentKey));\n var parentInstanceKey = state.instances.get(currentKey).parentInstanceKey;\n if (parentInstanceKey) {\n var childArr = state.instances.get(parentInstanceKey).slots.default;\n _.pullAll(childArr, [currentKey]);\n }\n var instancesObj = state.instances.get(currentKey);\n\n state.instances.delete(currentKey);\n state.instances = new _map2.default(state.instances);\n },\n deleteDataArr: function deleteDataArr(state) {\n debugger;\n\n console.log(state.instances);\n state.moveInstance = (0, _from2.default)(new _set2.default(state.moveInstance));\n\n state.moveInstance.forEach(function (currentKey, index) {\n state.instanceDoms.delete(currentKey);\n\n console.log(state.instances.get(currentKey));\n if (state.instances.get(currentKey)) {\n var parentInstanceKey = state.instances.get(currentKey).parentInstanceKey;\n if (parentInstanceKey) {\n var childArr = state.instances.get(parentInstanceKey).slots.default;\n _.pullAll(childArr, [currentKey]);\n }\n var instancesObj = state.instances.get(currentKey);\n\n state.instances.delete(currentKey);\n state.instances = new _map2.default(state.instances);\n }\n });\n console.log(state.instances);\n },\n deleteAll: function deleteAll(state, data) {\n var _this7 = this;\n\n if (data.instancesObj.slots.default && data.instancesObj.slots.default.length > 0) {\n data.instancesObj.slots.default.forEach(function (item) {\n var instancesObj = state.instances.get(item);\n _this7.commit('viewport/deleteAll', { instancesObj: instancesObj, delObj: item });\n });\n }\n state.instances.delete(data.delObj);\n }\n};\nvar newObj = (0, _assign2.default)(viewport.mutations, selfMutation);\nviewport.mutations = newObj;\nexports.default = viewport;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvc3RvcmUvZWRpdG9yL3ZpZXdwb3J0LmpzP2E2NzUiXSwibmFtZXMiOlsiXyIsImNvbW1vbiIsImNyZWF0ZU5ld0luc3RhbmNlS2V5IiwiTnVtYmVyIiwiTWF0aCIsInJhbmRvbSIsInRvU3RyaW5nIiwic3Vic3RyIiwiRGF0ZSIsIm5vdyIsInZpZXdwb3J0IiwibmFtZXNwYWNlZCIsInN0YXRlIiwiaXNWaWV3IiwibW92ZUluc3RhbmNlIiwibG9jYWxWaWV3cG9ydERPTSIsImxvY2FsSW5zdGFuY2VEb21zIiwibG9jYWxFbGVtZW50IiwibG9jYWxJbnN0YW5jZXMiLCJ2aWV3cG9ydERPTSIsInJvb3RJbnN0YW5jZUtleSIsImluc3RhbmNlcyIsImluc3RhbmNlRG9tcyIsImN1cnJlbnREcmFnSW5mbyIsImN1cnJlbnRIb3Zlckluc3RhbmNlS2V5IiwiY3VycmVudEVkaXRJbnN0YW5jZUtleSIsImN1cnJlbnRGb3JtSW5zdGFuY2VLZXkiLCJjdXJyZW50SW5mb0NlbGxJbnN0YW5jZUtleSIsImN1cnJlbnRCb3hJbnN0YW5jZUtleSIsInBhcmVudEVkaXRJbnN0YW5jZUtleSIsImRyYWdTdGFydERhdGFSZWFkeSIsImlzRHJhZyIsInBhZ2VQcml2aWV3RGF0YSIsInNhdmVEcmFnT2JqIiwibW91c2VMZWF2ZVZpZXdwb3J0IiwibW91c2VMZWF2ZUNvbXBvbmVudCIsIm1vdXNlSG92ZXJpbmdDb21wb25lbnQiLCJtb3VzZUhvdmVyaW5nQ3J1bWJJdGVtIiwibW91c2VMZWF2ZUNydW1iSXRlbSIsInZpZXdwb3J0VXBkYXRlZCIsImluc3RhbmNlVXBkYXRlIiwicmVmcmVzaFBhZ2UiLCJlbWl0RWRpdG9yQ2FsbGJhY2siLCJjdXJyZW50RWRpdEluc3RhbmNlQ2hhbmdlIiwibXV0YXRpb25zIiwidXBkYXRlVmlldyIsImRyYWdJbmZvIiwidHlwZSIsInN0YXJ0RHJhZyIsImluZm8iLCJpbnN0YW5jZUtleSIsImNvbnNvbGUiLCJsb2ciLCJlbmREcmFnIiwic2V0Vmlld3BvcnRET00iLCJpbml0Vmlld3BvcnQiLCJjb21taXQiLCJnYWVhS2V5IiwicGFyZW50SW5zdGFuY2VLZXkiLCJpbmRleFBvc2l0aW9uIiwicm9vdEluc3RhbmNlIiwiZGVhbEN1clNlY29udExldmVsIiwib2JqIiwiaW5zdGFuY2UiLCJnZXQiLCJjdXJyZW50SW5zdGFuY2UiLCJwYXJlbnRJbnN0YW5jZSIsInRhcmdldEluc3RhbmNlIiwiY3VyckxldmVsIiwidm0iLCJsZXZlbCIsImJlZm9yZUluZGV4IiwiYWZ0ZXJJbmRleCIsImRhdGEiLCJ0aXRsZSIsImNvbnRlbnQiLCJzZXRUaW1lb3V0Iiwia2V5IiwiZXZlbnRidXMiLCIkZW1pdCIsImRlYWxDdXJMZXZlbEFuZFRhcmdldExldmVsIiwicGFyZW50TGV2ZWwiLCJkZWFsTGV2ZWwiLCJhZGRJbnN0YW5jZSIsInBhcmFtcyIsIm5ld0luc3RhbmNlS2V5IiwibmV3TWFwIiwic2V0IiwicHJvcHMiLCJzbG90cyIsInByZUdhZWFLZXkiLCJpbnN0YW5jZUFyciIsInBhcmVudEluZGV4IiwiZm9yRWFjaCIsInYiLCJrIiwiRXJyb3IiLCJlIiwiaW5kZXgiLCJsZW5ndGgiLCJzdHJJbnN0YW5jZSIsIm15VGVzdCIsInNwbGljZSIsImNiIiwiY2FsbCIsImlzSW5zZXJ0IiwiY2hpbGRJbmRleCIsIm1lc3NhZ2UiLCJzbG90TmFtZSIsInNldEluc3RhbmNlUHJvcHMiLCJ2YWx1ZSIsIk9iamVjdCIsInByb3RvdHlwZSIsIiRkYXRhIiwibmV3T2JqIiwiJGZvcmNlVXBkYXRlIiwic2V0Um9vdEluc3RhbmNlS2V5Iiwic2V0RG9tSW5zdGFuY2UiLCJzZXRDdXJyZW50SG92ZXJJbnN0YW5jZUtleSIsInNvdXJjZVRhcmdldEtleSIsInRhcmdldFBhcmVudEtleSIsInRhcmdldEluZGV4IiwiZnJvbVNsb3ROYW1lIiwidG9TbG90TmFtZSIsInNvdXJjZVRhcmdldEluc3RhbmNlIiwic291cmNlUGFyZW50SW5zdGFuY2UiLCJ0YXJnZXRQYXJlbnRJbnN0YW5jZSIsImZpbHRlciIsImNoaWxkS2V5IiwicGFyZW50S2V5IiwiZmluZEluZGV4IiwiaG9yaXpvbnRhbE1vdmVJbnN0YW5jZSIsImJlZm9yZVVuaXF1ZUtleSIsImFmdGVyVW5pcXVlS2V5Iiwic2V0RHJhZ0luZm8iLCJtYXBVbmlxdWVLZXkiLCJuZXdJbmZvIiwidGFyZ2V0SW5zdGFuY2VLZXkiLCJyZWdpc3Rlck91dGVyRHJhZyIsImRyYWdQYXJlbnREb20iLCJsYXN0RHJhZ1N0YXJ0SW5kZXgiLCJTb3J0YWJsZSIsImRlZmF1bHQiLCJjcmVhdGUiLCJhbmltYXRpb24iLCJncm91cCIsIm5hbWUiLCJwdWxsIiwicHV0Iiwic29ydCIsImRlbGF5Iiwib25TdGFydCIsImV2ZW50Iiwib2xkSW5kZXgiLCJpdGVtIiwiZGF0YXNldCIsImVsZSIsImF0dHJpYnV0ZXMiLCJkYXRhRWxlIiwiYXR0cnMiLCJtYXRjaFN0ciIsImkiLCJtYXRjaCIsInJlcGxhY2UiLCJhbGwiLCJsZXR0ZXIiLCJ0b1VwcGVyQ2FzZSIsInNvdXJjZSIsImRyYWdTdGFydFBhcmVudERvbSIsImRyYWdTdGFydEluZGV4Iiwib25FbmQiLCJjbG9uZSIsInBhcmVudE5vZGUiLCJyZW1vdmVDaGlsZCIsImNyZWF0ZUluc3RhbmNlRWxlIiwib25EcmFnQWRkIiwicmVnaXN0ZXJJbm5lckRyYWciLCJncm91cE5hbWUiLCJvbGRPYmoiLCJuZXdJbmRleCIsImZyb20iLCJjdXJJbnN0YW5jZSIsIm9uQWRkIiwidG8iLCJkYXRhT2JqIiwib25VcGRhdGUiLCJjdXJyZW50Q2hpbGQiLCJwYXJlbnQiLCJteVBhcmVudCIsIiQiLCJmaW5kIiwidG9BcnJheSIsImh0bWwiLCJvblJlbW92ZSIsImRyYWdUYXJnZXRLZXkiLCJkcmFnVmlld3BvcnRJbmZvIiwiZ2V0SW5zdGFuY2VQYXRoIiwiZmluZGVyUGF0aCIsInJlc3VsdCIsInVuc2hpZnQiLCJzZXRDdXJyZW50RWRpdEluc3RhbmNlS2V5Iiwic2V0UGFnZVByaXZpZXdEYXRhIiwicGFnZU9iakRhdGEiLCJhY3Rpb25zIiwic2VsZk11dGF0aW9uIiwidXBkYXRlSW5wdXREYXRhIiwicHJvcCIsInByb3BlcnR5IiwidXBkYXRlRGF0YSIsImVsZW1lbnQiLCJhbGxJbnN0YW5jZSIsImxvY2FsSW5zdGFuY2UiLCJfdGhpcyIsImtleU5hbWUiLCJ2YWwiLCJ1cGRhdGVJbnN0YW5jZXMiLCJzYXZlTG9jYWxFbGVtZW50Iiwic2F2ZUxvY2FsSW5zdGFuY2VzIiwidGVtcGxhdGVKU09OIiwidG9TZXJ2ZXJQYXJhbXMiLCJpdGVtTm8iLCJsb2NhbFN0b3JhZ2UiLCJpdGVtU3RlcCIsImpzb25UeXBlIiwianNvblN0ciIsIlNlcnZpY2UiLCJzYXZlVGVtcGxhdGVPckpzb25Ub1NlcnZlciIsInRoZW4iLCJyZXMiLCJzdGF0dXMiLCJodHRwTG9hZGluZyIsImNsb3NlTG9hZGluZyIsImRlbFJhZGlvRXZlbnRBcnIiLCJjaGlsZE9iaiIsInJhZGlvQXJyIiwiZGVsQ2hpbGRBcnIiLCJjaGlsZHJlbiIsImFkZERvdWJsZUV2ZW50QXJyIiwicHVzaCIsImxhYmVsIiwiYWRkUmFkaW9FdmVudEFyciIsImFkZFNob3dGbGFnRXZlbnRBcnIiLCJleHRlbmQiLCJzaG93RmxhZyIsImRlbFNob3dGbGFnRXZlbnRBcnIiLCJkZWxWYWxpZGF0ZUV2ZW50QXJyIiwidmFsaWRhdGVBcnIiLCJhZGRWYWxpZGF0ZUV2ZW50QXJyIiwicmVxdWlyZWQiLCJ0cmlnZ2VyIiwiZG90IiwicmFuZ2UiLCJ1bml0IiwibWF4TGVuZ3RoIiwiYWRkVmFsaWRhdGVFdmVudENoaWxkQXJyIiwicmVxdWlyZUtleVZhbHVlcyIsInZhbHVlcyIsImRlbFZhbGlkYXRlRXZlbnRDaGlsZEFyciIsImFkZENoZWNrRXZlbnRBcnIiLCJtb2NrRGF0YSIsInNob3ciLCJyYWRpb0xpc3QiLCJkZWxDaGVja0V2ZW50QXJyIiwiYWRkQ2hlY2tDaGlsZEFyciIsImRlbENoZWNrQ2hpbGRBcnIiLCJhZGRMaW5rSXRlbXNFdmVudEFyciIsIml0ZW1zIiwiaXNTaG93IiwiYWRkTGlua09wdGlvbnNFdmVudEFyciIsIm9wdGlvbnMiLCJpc1NlbGVjdGVkIiwiYWRkTGlua0V4YWN0RXZlbnRBcnIiLCJleGFjdCIsImRlbExpbmtJdGVtc0V2ZW50QXJyIiwiZGVsTGlua0V4YWN0RXZlbnRDaGlsZEFyciIsImRlbExpbmtPcHRpb25zRXZlbnRDaGlsZEFyciIsImxpbmthZ2VDaGFuZ2VWYWx1ZSIsImRlbFN0ZXBzRXZlbnRBcnIiLCJzdGVwcyIsImFkZFN0ZXBzRXZlbnRBcnIiLCJhZGRUYWJsZUR5bmFtaWNBcnIiLCJwYXJhbXNMaXN0IiwidXBkYXRlVGFibGVEeW5hbWljQXJyIiwicGFyYW1PYmoiLCJlbCIsImRlbER5bmFtRXZlbnRBcnIiLCJkeW5hbWljIiwiYWRkRHluYW1pY0FyciIsInVwZGF0ZUR5bmFtaWNBcnIiLCJkZWxMaW5rRXZlbnRBcnIiLCJkZWxMaW5rRXZlbnRDaGlsZEFyciIsImFkZExpbmtFdmVudENoaWxkQXJyIiwiY2hhbmdlUGFyYW0iLCJjaGFuZ2VBdHRycyIsImFkZExpbmtFdmVudEFyciIsImNoYW5nZUtleSIsImlzVmFsdWUiLCJub0NoYW5nZUV4aXN0IiwiZGVsZXRlTGV2ZWwxRGF0YSIsIm15QXJyIiwiZGVsZXRlRG9vbURhdGEiLCJjdXJyZW50S2V5IiwibG9jYWxJbnN0YW5jZXNEb21zIiwibXlLZXkiLCJkZWxldGUiLCJkZWxldGVEYXRhIiwiaGlkZSIsImNoaWxkQXJyIiwicHVsbEFsbCIsImluc3RhbmNlc09iaiIsImRlbGV0ZURhdGFBcnIiLCJkZWxldGVBbGwiLCJkZWxPYmoiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBOztJQUFZQSxDOztBQUNaOzs7O0FBRUE7Ozs7QUFDQTs7Ozs7Ozs7QUFDQSxJQUFJQyxTQUFTO0FBQ1RDLHdCQURTLGtDQUNlO0FBQ3BCLGVBQU8sbUJBQWlCQyxPQUFPQyxLQUFLQyxNQUFMLEdBQWND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QXBCLENBQW5COztBQUVBalMsc0JBQU1TLFNBQU4sQ0FBZ0IyUixNQUFoQixDQUF1QkgsVUFBdkI7QUFDQWpTLHNCQUFNUyxTQUFOLEdBQWtCLGtCQUFRVCxNQUFNUyxTQUFkLENBQWxCO0FBQ0g7QUFDSixTQWZEO0FBZ0JEOEIsZ0JBQVFDLEdBQVIsQ0FBWXhDLE1BQU1TLFNBQWxCO0FBQ0YsS0Ezb0JZO0FBNG9CYmtTLGFBNW9CYSxxQkE0b0JIM1MsS0E1b0JHLEVBNG9CRzZELElBNW9CSCxFQTRvQlE7QUFBQTs7QUFDakIsWUFBR0EsS0FBSzRPLFlBQUwsQ0FBa0I1TixLQUFsQixDQUF3QnFELE9BQXhCLElBQWlDckUsS0FBSzRPLFlBQUwsQ0FBa0I1TixLQUFsQixDQUF3QnFELE9BQXhCLENBQWdDM0MsTUFBaEMsR0FBdUMsQ0FBM0UsRUFBNkU7QUFDekUxQixpQkFBSzRPLFlBQUwsQ0FBa0I1TixLQUFsQixDQUF3QnFELE9BQXhCLENBQWdDakQsT0FBaEMsQ0FBd0MsVUFBQzZELElBQUQsRUFBUTtBQUM1QyxvQkFBSTJKLGVBQWV6UyxNQUFNUyxTQUFOLENBQWdCMkMsR0FBaEIsQ0FBb0IwRixJQUFwQixDQUFuQjtBQUNBLHVCQUFLbEcsTUFBTCxDQUFZLG9CQUFaLEVBQWlDLEVBQUM2UCxjQUFhQSxZQUFkLEVBQTJCRyxRQUFPOUosSUFBbEMsRUFBakM7QUFDSCxhQUhEO0FBSUg7QUFDRDlJLGNBQU1TLFNBQU4sQ0FBZ0IyUixNQUFoQixDQUF1QnZPLEtBQUsrTyxNQUE1QjtBQUNIO0FBcHBCWSxDQUFqQjtBQXNwQkEsSUFBSXRNLFNBQU8sc0JBQWN4RyxTQUFTa0MsU0FBdkIsRUFBa0NnSyxZQUFsQyxDQUFYO0FBQ0FsTSxTQUFTa0MsU0FBVCxHQUFtQnNFLE1BQW5CO2tCQUNleEcsUSIsImZpbGUiOiI4MjcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgZXZlbnRidXMgZnJvbSAnLi4vLi4vc2VydmljZS9ldmVudGJ1cyc7XHJcbi8vIGltcG9ydCBldmVudGJ1cyBmcm9tICcuLi8uLi8uLi92aWV3cy9lZGl0b3Ivc2VydmljZS9ldmVudGJ1cyc7XHJcbmltcG9ydCBTZXJ2aWNlIGZyb20gXCIuLi8uLi9zZXJ2aWNlL3Rvb2wtc2VydmljZVwiO1xyXG5pbXBvcnQgaHR0cExvYWRpbmcgZnJvbSBcIi4uLy4uL3V0aWxzL2h0dHBMb2FkaW5nXCI7XHJcbmxldCBjb21tb24gPSB7XHJcbiAgICBjcmVhdGVOZXdJbnN0YW5jZUtleSAoKSB7XHJcbiAgICAgICAgcmV0dXJuICdnYWVhX2luc3RhbmNlXycrTnVtYmVyKE1hdGgucmFuZG9tKCkudG9TdHJpbmcoKS5zdWJzdHIoMywzKSArIERhdGUubm93KCkpLnRvU3RyaW5nKDM2KTtcclxuICAgIH1cclxufTtcclxuXHJcbmNvbnN0IHZpZXdwb3J0ID0ge1xyXG4gICAgbmFtZXNwYWNlZDogdHJ1ZSxcclxuICAgIHN0YXRlOiB7XHJcbiAgICAgICAgaXNWaWV3OmZhbHNlLC8vbm90ZSDliKTmlq3mmK/lkKbmmK/pooTop4jov5vmnaXnmoRcclxuICAgICAgICBtb3ZlSW5zdGFuY2U6IFtdLC8vbm90ZSDlrZjlhLLopoHliKrpmaTnmoTlr6bkvotcclxuICAgICAgICBsb2NhbFZpZXdwb3J0RE9NOiBudWxsLFxyXG4gICAgICAgIGxvY2FsSW5zdGFuY2VEb21zOiBuZXcgTWFwKCksXHJcbiAgICAgICAgbG9jYWxFbGVtZW50OiBcIlwiLFxyXG4gICAgICAgIGxvY2FsSW5zdGFuY2VzOiBuZXcgTWFwKCksXHJcbiAgICAgICAgdmlld3BvcnRET006IG51bGwsXHJcbiAgICAgICAgcm9vdEluc3RhbmNlS2V5OiBudWxsLFxyXG4gICAgICAgIGluc3RhbmNlczogbmV3IE1hcCgpLFxyXG4gICAgICAgIGluc3RhbmNlRG9tczogbmV3IE1hcCgpLFxyXG4gICAgICAgIGN1cnJlbnREcmFnSW5mbzogbnVsbCxcclxuICAgICAgICBjdXJyZW50SG92ZXJJbnN0YW5jZUtleTogbnVsbCxcclxuICAgICAgICBjdXJyZW50RWRpdEluc3RhbmNlS2V5OiBudWxsLFxyXG4gICAgICAgIGN1cnJlbnRGb3JtSW5zdGFuY2VLZXk6IG51bGwsXHJcbiAgICAgICAgY3VycmVudEluZm9DZWxsSW5zdGFuY2VLZXk6IG51bGwsXHJcbiAgICAgICAgY3VycmVudEJveEluc3RhbmNlS2V5OiBudWxsLFxyXG4gICAgICAgIHBhcmVudEVkaXRJbnN0YW5jZUtleTogbnVsbCxcclxuICAgICAgICBkcmFnU3RhcnREYXRhUmVhZHk6IGZhbHNlLFxyXG4gICAgICAgIGlzRHJhZzpmYWxzZSxcclxuICAgICAgICBwYWdlUHJpdmlld0RhdGE6e30sXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog6Leo54i257Sa5ouW5Yqo77yM5L+d5a2Y5b2T5YmN55qE6YKj5Liq5a+56LGhXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgc2F2ZURyYWdPYmo6IHt9LFxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIOm8oOagh+emu+W8gOinhuWbvuWMuuWfn1xyXG4gICAgICAgICAqL1xyXG4gICAgICAgIG1vdXNlTGVhdmVWaWV3cG9ydDogJ21vdXNlTGVhdmVWaWV3cG9ydCcsXHJcblxyXG5cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog6byg5qCH56a75byA6KeG5Zu+5Yy65Z+fXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgbW91c2VMZWF2ZUNvbXBvbmVudDogJ21vdXNlTGVhdmVDb21wb25lbnQnLFxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIOm8oOagh+enu+WKqOWIsOafkOS4que7hOS7tuS4ilxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIG1vdXNlSG92ZXJpbmdDb21wb25lbnQ6ICdtb3VzZUhvdmVyaW5nQ29tcG9uZW50JyxcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDpvKDmoIfnp7vliqjliLDpnaLljIXlsZFcclxuICAgICAgICAgKi9cclxuICAgICAgICBtb3VzZUhvdmVyaW5nQ3J1bWJJdGVtOiAnbW91c2VIb3ZlcmluZ0NydW1iSXRlbScsXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog6byg5qCH56e75Yqo5Yiw6Z2i5YyF5bGRXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgbW91c2VMZWF2ZUNydW1iSXRlbTogJ21vdXNlTGVhdmVDcnVtYkl0ZW0nLFxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIOinhuWbvuWMuuWfn+WPkeeUn+abtOaWsFxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHZpZXdwb3J0VXBkYXRlZDogJ3ZpZXdwb3J0VXBkYXRlZCcsXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog5Yi35paw5p+Q5Liq5a6e5L6LXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgaW5zdGFuY2VVcGRhdGU6ICdpbnN0YW5jZVVwZGF0ZScsXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog6aG16Z2i5Yay5riy5p+TXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcmVmcmVzaFBhZ2U6ICdyZWZyZXNoUGFnZScsXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog6Kem5Y+R57yW6L6R5Zmo5Zue6LCDXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgZW1pdEVkaXRvckNhbGxiYWNrOiAnZW1pdEVkaXRvckNhbGxiYWNrJyxcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDlvZPliY3ngrnlh7vpgInnu4Tku7bmlLnlj5hcclxuICAgICAgICAgKi9cclxuICAgICAgICBjdXJyZW50RWRpdEluc3RhbmNlQ2hhbmdlOiAnY3VycmVudEVkaXRJbnN0YW5jZUNoYW5nZSdcclxuICAgIH0sXHJcbiAgICBtdXRhdGlvbnM6IHtcclxuICAgICAgICB1cGRhdGVWaWV3KHN0YXRlLCBkcmFnSW5mbykge1xyXG4gICAgICAgICAgICBpZihkcmFnSW5mby50eXBlPT1cInZpZXdcIil7XHJcbiAgICAgICAgICAgICAgICBzdGF0ZS5pc1ZpZXc9dHJ1ZTtcclxuICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICBzdGF0ZS5pc1ZpZXc9ZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHN0YXJ0RHJhZyAoc3RhdGUsIGRyYWdJbmZvKSB7XHJcbiAgICAgICAgICAgIGlmKGRyYWdJbmZvLmluZm8uaW5zdGFuY2VLZXkpe1xyXG4gICAgICAgICAgICAgICAgc3RhdGUuY3VycmVudEVkaXRJbnN0YW5jZUtleT1kcmFnSW5mby5pbmZvLmluc3RhbmNlS2V5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHN0YXRlLmN1cnJlbnREcmFnSW5mbyA9IGRyYWdJbmZvO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcInN0YXJ0RHJhZ1wiKTtcclxuICAgICAgICAgICAgc3RhdGUuaXNEcmFnPXRydWU7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbmREcmFnIChzdGF0ZSkge1xyXG4gICAgICAgICAgICBzdGF0ZS5jdXJyZW50RHJhZ0luZm8gPSBudWxsO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImVuZERyYWdcIik7XHJcbiAgICAgICAgICAgIHN0YXRlLmlzRHJhZz1mYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHNldFZpZXdwb3J0RE9NIChzdGF0ZSwgdmlld3BvcnRET00pIHtcclxuICAgICAgICAgICAgc3RhdGUudmlld3BvcnRET00gPSB2aWV3cG9ydERPTTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGluaXRWaWV3cG9ydCAoc3RhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5jb21taXQoJ3ZpZXdwb3J0L2FkZEluc3RhbmNlJywge1xyXG4gICAgICAgICAgICAgICAgZ2FlYUtleTogJ2dhZWEtY29udGFpbmVyJyxcclxuICAgICAgICAgICAgICAgIHBhcmVudEluc3RhbmNlS2V5OiBudWxsLFxyXG4gICAgICAgICAgICAgICAgaW5kZXhQb3NpdGlvbjogbnVsbFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgbGV0IHJvb3RJbnN0YW5jZSA9IEFycmF5LmZyb20oc3RhdGUuaW5zdGFuY2VzKTtcclxuICAgICAgICAgICAgY29uc3Qgcm9vdEluc3RhbmNlS2V5ID0gcm9vdEluc3RhbmNlWzBdWzBdO1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1pdCgndmlld3BvcnQvc2V0Um9vdEluc3RhbmNlS2V5Jywgcm9vdEluc3RhbmNlS2V5KTtcclxuICAgICAgICB9LFxyXG5cclxuICAgICAgICAvL25vdGUg5b2T5YmN5ouW5Yqo55qE5a6e5L6L5ZKM55uu5qCH5a6e5L6LXHJcbiAgICAgICAgZGVhbEN1clNlY29udExldmVsKHN0YXRlLG9iail7XHJcbiAgICAgICAgICAgIC8vXHJcbiAgICAgICAgICAgIGxldCBpbnN0YW5jZSA9IHN0YXRlXHJcbiAgICAgICAgICAgICAgICAuaW5zdGFuY2VzXHJcbiAgICAgICAgICAgICAgICAuZ2V0KG9iai5jdXJyZW50SW5zdGFuY2UpO1xyXG4gICAgICAgICAgICBsZXQgcGFyZW50SW5zdGFuY2U9IHN0YXRlXHJcbiAgICAgICAgICAgICAgICAuaW5zdGFuY2VzXHJcbiAgICAgICAgICAgICAgICAuZ2V0KG9iai50YXJnZXRJbnN0YW5jZSk7XHJcbiAgICAgICAgICAgIC8vbm90ZSDlpoLmnpzlt7Lnu4/mmK/moLnlhYPntKAsIOebtOaOpei/lOWbnuepuuaVsOe7hCzojrflj5bniLbnuqfnmoRsZXZlbOWSjOW9k+WJjeeahGxldmVsXHJcblxyXG4gICAgICAgICAgICAvL25vdGUg5qCH56S65piv5b2T5YmN5ouW5Yqo6L+b5p2l55qE57uE5Lu2ICAg5Zyo6L+Z6YeM5Yik5pat5b2T5YmN55qE5piv5ZCm5aSn5LqO54i257qn55qEbGV2ZWzvvIzlpoLmnpzlpKfkuo7mraPluLjvvIzlkKbliJnliKDpmaTmi5bliqjov5vmnaXnmoTnu4Tku7bvvIzlubbmj5DnpLrvvIzkuI3nrKblkIjop4TliJlcclxuICAgICAgICAgICAgbGV0IGN1cnJMZXZlbD1pbnN0YW5jZS52bS5sZXZlbDtcclxuICAgICAgICAgICAgaWYob2JqLmJlZm9yZUluZGV4PDJ8fG9iai5hZnRlckluZGV4PDIpe1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgZGF0YT17XHJcbiAgICAgICAgICAgICAgICB0aXRsZTpcIuaPkOekulwiLFxyXG4gICAgICAgICAgICAgICAgY29udGVudDpcIuaLluaLveS4jeespuWQiOinhOWImVwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3RhdGUuY3VycmVudEVkaXRJbnN0YW5jZUtleT1vYmouY3VycmVudEluc3RhbmNlO1xyXG4gICAgICAgICAgICAvLyAgZXZlbnRidXMuJGVtaXQoXCJvcGVuTW9kYWxcIixkYXRhKTtcclxuICAgICAgICAgICAgLy9ub3RlIOiOt+WPluWtmOWCqOeahOWunuS+i1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhzdGF0ZS5zYXZlRHJhZ09iaik7XHJcbiAgICAgICAgICAgIHRoaXMuY29tbWl0KCd2aWV3cG9ydC9kZWxldGVEYXRhJywgc3RhdGUuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgIHN0YXRlLnNhdmVEcmFnT2JqLmluZGV4UG9zaXRpb249b2JqLmJlZm9yZUluZGV4O1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpPT57XHJcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5rZXk9b2JqLmN1cnJlbnRJbnN0YW5jZTtcclxuICAgICAgICAgICAgICAgIGV2ZW50YnVzLiRlbWl0KFwiYWRkTW92ZUluc3RhbmNlXCIsc3RhdGUuc2F2ZURyYWdPYmopO1xyXG4gICAgICAgICAgICB9LDgwMCk7XHJcbiAgICAgICAgICAgIC8vICB9XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9LFxyXG5cclxuICAgICAgICAvL25vdGUg5b2T5YmN5ouW5Yqo55qE5a6e5L6L5ZKM55uu5qCH5a6e5L6LXHJcbiAgICAgICAgZGVhbEN1ckxldmVsQW5kVGFyZ2V0TGV2ZWwoc3RhdGUsb2JqKXtcclxuICAgICAgICAgICAgLy9cclxuICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgIGxldCBpbnN0YW5jZSA9IHN0YXRlXHJcbiAgICAgICAgICAgICAgICAuaW5zdGFuY2VzXHJcbiAgICAgICAgICAgICAgICAuZ2V0KG9iai5jdXJyZW50SW5zdGFuY2UpO1xyXG4gICAgICAgICAgICBsZXQgcGFyZW50SW5zdGFuY2U9IHN0YXRlXHJcbiAgICAgICAgICAgICAgICAuaW5zdGFuY2VzXHJcbiAgICAgICAgICAgICAgICAuZ2V0KG9iai50YXJnZXRJbnN0YW5jZSk7XHJcbiAgICAgICAgICAgIC8vbm90ZSDlpoLmnpzlt7Lnu4/mmK/moLnlhYPntKAsIOebtOaOpei/lOWbnuepuuaVsOe7hCzojrflj5bniLbnuqfnmoRsZXZlbOWSjOW9k+WJjeeahGxldmVsXHJcbiAgICAgICAgICAgIGxldCBwYXJlbnRMZXZlbD1wYXJlbnRJbnN0YW5jZS52bS5sZXZlbDtcclxuICAgICAgICAgICAgaWYoIXBhcmVudExldmVsKXtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihpbnN0YW5jZS5nYWVhS2V5PT1cImdhZWEtY2VsbC10YWJsZVwiKXtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL25vdGUg5qCH56S65piv5b2T5YmN5ouW5Yqo6L+b5p2l55qE57uE5Lu2ICAg5Zyo6L+Z6YeM5Yik5pat5b2T5YmN55qE5piv5ZCm5aSn5LqO54i257qn55qEbGV2ZWzvvIzlpoLmnpzlpKfkuo7mraPluLjvvIzlkKbliJnliKDpmaTmi5bliqjov5vmnaXnmoTnu4Tku7bvvIzlubbmj5DnpLrvvIzkuI3nrKblkIjop4TliJlcclxuICAgICAgICAgICAgbGV0IGN1cnJMZXZlbD1pbnN0YW5jZS52bS5sZXZlbDtcclxuICAgICAgICAgICAgLyogaWYoY3VyckxldmVsPD1wYXJlbnRMZXZlbCl7Ki9cclxuICAgICAgICAgICAgbGV0IGRhdGE9e1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6XCLmj5DnpLpcIixcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6XCLmi5bmi73kuI3nrKblkIjop4TliJlcIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHN0YXRlLmN1cnJlbnRFZGl0SW5zdGFuY2VLZXk9b2JqLmN1cnJlbnRJbnN0YW5jZTtcclxuICAgICAgICAgICAgLy8gICBldmVudGJ1cy4kZW1pdChcIm9wZW5Nb2RhbFwiLGRhdGEpO1xyXG4gICAgICAgICAgICAvL25vdGUg6I635Y+W5a2Y5YKo55qE5a6e5L6LXHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHN0YXRlLnNhdmVEcmFnT2JqKTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKT0+e1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb21taXQoJ3ZpZXdwb3J0L2RlbGV0ZURhdGEnLCBzdGF0ZS5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgICAgIGluc3RhbmNlLmtleT1vYmouY3VycmVudEluc3RhbmNlO1xyXG4gICAgICAgICAgICAgICAgZXZlbnRidXMuJGVtaXQoXCJhZGRNb3ZlSW5zdGFuY2VcIixzdGF0ZS5zYXZlRHJhZ09iaik7XHJcbiAgICAgICAgICAgIH0sODAwKTtcclxuICAgICAgICAgICAgLy8gIH1cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGVhbExldmVsKHN0YXRlKXtcclxuICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgIGxldCBpbnN0YW5jZSA9IHN0YXRlXHJcbiAgICAgICAgICAgICAgICAuaW5zdGFuY2VzXHJcbiAgICAgICAgICAgICAgICAuZ2V0KHN0YXRlLmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICBsZXQgcGFyZW50SW5zdGFuY2U9IHN0YXRlXHJcbiAgICAgICAgICAgICAgICAuaW5zdGFuY2VzXHJcbiAgICAgICAgICAgICAgICAuZ2V0KHN0YXRlLnBhcmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgIC8vbm90ZSDlpoLmnpzlt7Lnu4/mmK/moLnlhYPntKAsIOebtOaOpei/lOWbnuepuuaVsOe7hCzojrflj5bniLbnuqfnmoRsZXZlbOWSjOW9k+WJjeeahGxldmVsXHJcbiAgICAgICAgICAgIGlmKCFpbnN0YW5jZXx8aW5zdGFuY2UucGFyZW50SW5zdGFuY2VLZXk9PSBcImdhZWFfaW5zdGFuY2VfMVwiKXtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgcGFyZW50TGV2ZWw9cGFyZW50SW5zdGFuY2Uudm0ubGV2ZWw7XHJcbiAgICAgICAgICAgIGlmKCFwYXJlbnRMZXZlbCl7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9ub3RlIOagh+ekuuaYr+W9k+WJjeaLluWKqOi/m+adpeeahOe7hOS7tiAgIOWcqOi/memHjOWIpOaWreW9k+WJjeeahOaYr+WQpuWkp+S6jueItue6p+eahGxldmVs77yM5aaC5p6c5aSn5LqO5q2j5bi477yM5ZCm5YiZ5Yig6Zmk5ouW5Yqo6L+b5p2l55qE57uE5Lu277yM5bm25o+Q56S677yM5LiN56ym5ZCI6KeE5YiZXHJcbiAgICAgICAgICAgIGxldCBjdXJyTGV2ZWw9aW5zdGFuY2Uudm0ubGV2ZWw7XHJcbiAgICAgICAgICAgIGlmKGluc3RhbmNlLmdhZWFLZXk9PVwiZ2FlYS1jZWxsLXRhYmxlXCJ8fHBhcmVudEluc3RhbmNlLmdhZWFLZXk9PVwiZ2FlYS1pbmZvLWJhc2VcIiYmaW5zdGFuY2UuZ2FlYUtleT09XCJnYWVhLWNlbGxcIil7XHJcblxyXG4gICAgICAgICAgICB9ZWxzZSBpZihjdXJyTGV2ZWw8PXBhcmVudExldmVsKXtcclxuICAgICAgICAgICAgICAgIGxldCBkYXRhPXtcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZTpcIuaPkOekulwiLFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6XCLmi5bmi73kuI3nrKblkIjop4TliJlcIlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZXZlbnRidXMuJGVtaXQoXCJvcGVuTW9kYWxcIixkYXRhKTtcclxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCk9PntcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbW1pdCgndmlld3BvcnQvZGVsZXRlRGF0YScsIHN0YXRlLmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgfSw4MDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFkZEluc3RhbmNlIChzdGF0ZSwgcGFyYW1zKSB7XHJcbiAgICAgICAgICAgIGxldCBuZXdJbnN0YW5jZUtleSA9IFwiXCI7XHJcbiAgICAgICAgICAgIGlmKHBhcmFtcy5nYWVhS2V5PT1cImdhZWEtY29udGFpbmVyXCIpe1xyXG4gICAgICAgICAgICAgICAgbmV3SW5zdGFuY2VLZXkgPSAnZ2FlYV9pbnN0YW5jZV8xJztcclxuICAgICAgICAgICAgICAgIGxldCBuZXdNYXA9Wy4uLnN0YXRlLmluc3RhbmNlc107XHJcbiAgICAgICAgICAgICAgICBuZXdNYXA9W107XHJcbiAgICAgICAgICAgICAgICBzdGF0ZS5pbnN0YW5jZXM9bmV3IE1hcChuZXdNYXApO1xyXG4gICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgIG5ld0luc3RhbmNlS2V5ID0gcGFyYW1zLm5ld0luc3RhbmNlS2V5fHxjb21tb24uY3JlYXRlTmV3SW5zdGFuY2VLZXkoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzdGF0ZVxyXG4gICAgICAgICAgICAgICAgLmluc3RhbmNlc1xyXG4gICAgICAgICAgICAgICAgLnNldChuZXdJbnN0YW5jZUtleSwge1xyXG4gICAgICAgICAgICAgICAgICAgIGdhZWFLZXk6IHBhcmFtcy5nYWVhS2V5LFxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IHBhcmFtcy5kYXRhfHx7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiBudWxsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICBzbG90czoge30sXHJcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50SW5zdGFuY2VLZXk6IHBhcmFtcy5wYXJlbnRJbnN0YW5jZUtleSxcclxuICAgICAgICAgICAgICAgICAgICBwcmVHYWVhS2V5OiBwYXJhbXMucHJlR2FlYUtleSxcclxuICAgICAgICAgICAgICAgICAgICB2bTogbnVsbFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIC8vIOWFiOaJp+ihjCBjYWxsYmFjayAg5oyC6L29IHZtIOWGjeaJp+ihjCDkv67mlLnlsZ7mgKfmoLflvI9cclxuICAgICAgICAgICAgLy9ub3RlIOabtOaWsOWunuS+i+aVsOe7hOmhuuW6j++8jOiuqeaWsOa3u+WKoOi/m+adpeeahOaVsOe7hOaUvuWcqOeItuaVsOe7hOS4i+mdolxyXG4gICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgbGV0IGluc3RhbmNlQXJyPVsuLi5zdGF0ZS5pbnN0YW5jZXNdO1xyXG4gICAgICAgICAgICBsZXQgcGFyZW50SW5kZXg9MDtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIHN0YXRlLmluc3RhbmNlcy5mb3JFYWNoKGZ1bmN0aW9uKHYsaykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHYpOyAvL+i/meagt+WwseS8muWIhuWIq+Wwhm5hbWXpgY3ljoblh7rmnaVcclxuICAgICAgICAgICAgICAgICAgICBwYXJlbnRJbmRleCsrO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGs9PXBhcmFtcy5wYXJlbnRJbnN0YW5jZUtleSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDor7TmmI7lvpfliLDniLblhYPntKBcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRW5kSXRlcmF0aXZlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGNhdGNoKGUpIHtcclxuICAgICAgICAgICAgICAgIC8vbm90ZSDlj6rmnInlnKjmjZXojrfliLDniLblhYPntKDnmoTmg4XlhrXkuIvkuJTmmK/lpITkuo7mi5bliqjnmoTmg4XlhrXkuIvvvIzmiY3kvJrmjKrliqjmlbDnu4RcclxuICAgICAgICAgICAgICAgIGlmKHN0YXRlLmlzRHJhZ3x8cGFyYW1zLmlzRHJhZyl7XHJcbiAgICAgICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgc3RhdGUuaW5zdGFuY2VzPVsuLi5zdGF0ZS5pbnN0YW5jZXNdO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpbmRleD1zdGF0ZS5pbnN0YW5jZXMubGVuZ3RoLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50SW5kZXgrPXBhcmFtcy5pbmRleFBvc2l0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vbm90ZSDkv67mlLnmlbDnu4TkvY3nva5cclxuICAgICAgICAgICAgICAgICAgICBpZihpbmRleD5wYXJlbnRJbmRleCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzdHJJbnN0YW5jZT1bXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG15VGVzdD1zdGF0ZS5pbnN0YW5jZXM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgIHN0ckluc3RhbmNlPW15VGVzdC5jb25jYXQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUuaW5zdGFuY2VzLnNwbGljZShwYXJlbnRJbmRleCwwLHN0YXRlLmluc3RhbmNlc1tpbmRleF0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5pbnN0YW5jZXMuc3BsaWNlKGluZGV4KzEsMSlcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8v5aaC5p6c5b2T5YmN5YWD57Sg5Zyo5ouW5Yqo55uu5qCH5L2N572u55qE5LiK5pa577yM5YWI5bCG5b2T5YmN5YWD57Sg5LuO5pWw57uE5ou/5Ye677yM5pWw57uE6ZW/5bqmLTHvvIzmiJHku6znm7TmjqXnu5nmlbDnu4Tmi5bliqjnm67moIfkvY3nva4rMeeahOWcsOaWueaWsOWinuS4gOS4quWSjOW9k+WJjeWFg+e0oOWAvOS4gOagt+eahOWFg+e0oO+8jFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL+i/meaXtu+8jOaVsOe7hGxlbuS4jeWPmO+8jOaIkeS7rOWGjeaKiuaVsOe7hOS5i+WJjeeahOmCo+S4quaLluWKqOeahOWFg+e0oOWIoOmZpOaOie+8jOS4i+agh+i/mOaYr2luZGV4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLmluc3RhbmNlcy5zcGxpY2UocGFyZW50SW5kZXgrMSwwLHN0YXRlLmluc3RhbmNlc1tpbmRleF0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5pbnN0YW5jZXMuc3BsaWNlKGluZGV4LDEpXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBzdGF0ZS5pbnN0YW5jZXMgPSBuZXcgTWFwKHN0YXRlLmluc3RhbmNlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBhcmFtcy5jYikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jYlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNhbGwobnVsbCwgbmV3SW5zdGFuY2VLZXksIHsgaXNJbnNlcnQ6dHJ1ZSxjaGlsZEluZGV4OnBhcmFtcy5pbmRleFBvc2l0aW9ufSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGV2ZW50YnVzLiRlbWl0KFwiY2xpY2tDdXJyZW50S2V5XCIsbmV3SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgc3RhdGUuaW5zdGFuY2VzID0gbmV3IE1hcChzdGF0ZS5pbnN0YW5jZXMpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChwYXJhbXMuY2IpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2JcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jYWxsKG51bGwsIG5ld0luc3RhbmNlS2V5LCB7IGlzSW5zZXJ0OmZhbHNlfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYoZS5tZXNzYWdlIT1cIkVuZEl0ZXJhdGl2ZVwiKSB0aHJvdyBlO1xyXG4gICAgICAgICAgICB9O1xyXG5cclxuXHJcbiAgICAgICAgICAgIGlmKHBhcmFtcy5nYWVhS2V5PT1cImdhZWEtZm9ybVwiKXtcclxuICAgICAgICAgICAgICAgIHN0YXRlLmN1cnJlbnRGb3JtSW5zdGFuY2VLZXk9bmV3SW5zdGFuY2VLZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYocGFyYW1zLmdhZWFLZXk9PVwiZ2FlYS1ib3hcIil7XHJcbiAgICAgICAgICAgICAgICBzdGF0ZS5jdXJyZW50Qm94SW5zdGFuY2VLZXk9bmV3SW5zdGFuY2VLZXk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIOeEtuWQjuWGjeaJp+ihjOS/ruaUueagt+W8j1xyXG4gICAgICAgICAgICBpZiAocGFyYW1zLnBhcmVudEluc3RhbmNlS2V5ICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnRJbnN0YW5jZSA9IHN0YXRlXHJcbiAgICAgICAgICAgICAgICAgICAgLmluc3RhbmNlc1xyXG4gICAgICAgICAgICAgICAgICAgIC5nZXQocGFyYW1zLnBhcmVudEluc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgICAgIGlmICghcGFyZW50SW5zdGFuY2Uuc2xvdHNbcGFyYW1zLnNsb3ROYW1lXSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudEluc3RhbmNlLnNsb3RzW3BhcmFtcy5zbG90TmFtZV0gPSBbXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmKHN0YXRlLmlzRHJhZykge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudEluc3RhbmNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zbG90c1twYXJhbXMuc2xvdE5hbWVdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zcGxpY2UocGFyYW1zLmluZGV4UG9zaXRpb24sIDAsIG5ld0luc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudEluc3RhbmNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zbG90c1twYXJhbXMuc2xvdE5hbWVdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zcGxpY2UocGFyZW50SW5zdGFuY2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zbG90c1twYXJhbXMuc2xvdE5hbWVdLmxlbmd0aCwgMCwgbmV3SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8g5aaC5p6c54i257qn5ZKM6Ieq6Lqr6YO95pivIGdhZWEtY29udGFpbmVy77yM5LiU54i257qn5pivIGRpc3BsYXk6ZmxleO+8jOmCo+S5iOWtkOWFg+e0oOm7mOiupCBmbGV4RGlyZWN0aW9uIOS4jueItue6p+WFg+e0oOebuOWPjVxyXG4gICAgICAgICAgICAgICAgLy9ub3RlIOWkhOeQhuS4muWKoemAu+i+kVxyXG4gICAgICAgICAgICAgICAgc3RhdGUuY3VycmVudEVkaXRJbnN0YW5jZUtleT1uZXdJbnN0YW5jZUtleTtcclxuICAgICAgICAgICAgICAgIHN0YXRlLnBhcmVudEVkaXRJbnN0YW5jZUtleT0gcGFyYW1zLnBhcmVudEluc3RhbmNlS2V5O1xyXG4gICAgICAgICAgICAgICAgaWYgKHBhcmVudEluc3RhbmNlLmdhZWFLZXkgPT09ICdnYWVhLWNvbnRhaW5lcicgJiYgcGFyYW1zLmdhZWFLZXkgPT09ICdnYWVhLWNvbnRhaW5lcicpIHtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc2V0SW5zdGFuY2VQcm9wcyAoc3RhdGUsIHt2bSwga2V5LCB2YWx1ZX0pIHtcclxuICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSkgPT09ICdbb2JqZWN0IE9iamVjdF0nKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgb2JqID0gXy5nZXQodm0uJGRhdGEsIGtleSk7XHJcbiAgICAgICAgICAgICAgICBsZXQgbmV3T2JqPU9iamVjdC5hc3NpZ24ob2JqLCB2YWx1ZSlcclxuICAgICAgICAgICAgICAgIF8uc2V0KHZtLiRkYXRhLCBrZXksIG5ld09iaik7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBfLnNldCh2bS4kZGF0YSwga2V5LCB2YWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdm0uJGZvcmNlVXBkYXRlKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBzZXRSb290SW5zdGFuY2VLZXkgKHN0YXRlLCBrZXkpIHtcclxuICAgICAgICAgICAgc3RhdGUucm9vdEluc3RhbmNlS2V5ID0ga2V5O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc2V0RG9tSW5zdGFuY2UgKHN0YXRlLCB7a2V5LCBpbnN0YW5jZX0pIHtcclxuICAgICAgICAgICAgc3RhdGVcclxuICAgICAgICAgICAgICAgIC5pbnN0YW5jZURvbXNcclxuICAgICAgICAgICAgICAgIC5zZXQoa2V5LCBpbnN0YW5jZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBzZXRDdXJyZW50SG92ZXJJbnN0YW5jZUtleSAoc3RhdGUsIGluc3RhbmNlS2V5KSB7XHJcbiAgICAgICAgICAgIC8vIGRlYnVnZ2VyO1xyXG4gICAgICAgIC8vICAgIGNvbnNvbGUubG9nKFwiY3VycmVudEhvdmVySW5zdGFuY2VLZXk6XCIraW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICBzdGF0ZS5jdXJyZW50SG92ZXJJbnN0YW5jZUtleSA9IGluc3RhbmNlS2V5O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbW92ZUluc3RhbmNlIChzdGF0ZSwge3NvdXJjZVRhcmdldEtleSwgdGFyZ2V0UGFyZW50S2V5LCB0YXJnZXRJbmRleCwgZnJvbVNsb3ROYW1lLCB0b1Nsb3ROYW1lfSkge1xyXG4gICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgaWYoIXNvdXJjZVRhcmdldEtleSl7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc291cmNlVGFyZ2V0S2V5PXN0YXRlLmN1cnJlbnRFZGl0SW5zdGFuY2VLZXk7XHJcbiAgICAgICAgICAgIGNvbnN0IHNvdXJjZVRhcmdldEluc3RhbmNlID0gc3RhdGVcclxuICAgICAgICAgICAgICAgIC5pbnN0YW5jZXNcclxuICAgICAgICAgICAgICAgIC5nZXQoc291cmNlVGFyZ2V0S2V5KTtcclxuICAgICAgICAgICAgY29uc3Qgc291cmNlUGFyZW50SW5zdGFuY2UgPSBzdGF0ZVxyXG4gICAgICAgICAgICAgICAgLmluc3RhbmNlc1xyXG4gICAgICAgICAgICAgICAgLmdldChzb3VyY2VUYXJnZXRJbnN0YW5jZS5wYXJlbnRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldFBhcmVudEluc3RhbmNlID0gc3RhdGVcclxuICAgICAgICAgICAgICAgIC5pbnN0YW5jZXNcclxuICAgICAgICAgICAgICAgIC5nZXQodGFyZ2V0UGFyZW50S2V5KTtcclxuICAgICAgICAgICAgaWYgKHNvdXJjZVRhcmdldEluc3RhbmNlLnBhcmVudEluc3RhbmNlS2V5ICE9PSB0YXJnZXRQYXJlbnRLZXkpIHsgLy8g6Leo6LaK5bGC57qnXHJcbiAgICAgICAgICAgICAgICAvLyDkv67mlLnmi5bmi73lhYPntKDnmoQgcGFyZW50TWFwVW5pcXVlS2V5XHJcbiAgICAgICAgICAgICAgICBzb3VyY2VUYXJnZXRJbnN0YW5jZS5wYXJlbnRJbnN0YW5jZUtleSA9IHRhcmdldFBhcmVudEtleTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyDmi5bmi73nm67moIfmt7vliqAgaW5zdGFuY2VcclxuICAgICAgICAgICAgICAgIGlmICghdGFyZ2V0UGFyZW50SW5zdGFuY2VcclxuICAgICAgICAgICAgICAgICAgICAuc2xvdHNbdG9TbG90TmFtZV0pIHtcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXRQYXJlbnRJbnN0YW5jZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc2xvdHNbdG9TbG90TmFtZV0gPSBbXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRhcmdldFBhcmVudEluc3RhbmNlXHJcbiAgICAgICAgICAgICAgICAgICAgLnNsb3RzW3RvU2xvdE5hbWVdXHJcbiAgICAgICAgICAgICAgICAgICAgLnNwbGljZSh0YXJnZXRJbmRleCwgMCwgc291cmNlVGFyZ2V0S2V5KTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyDmi5bmi73mupDliKDpmaQgaW5zdGFuY2VcclxuICAgICAgICAgICAgICAgIHNvdXJjZVBhcmVudEluc3RhbmNlLnNsb3RzW2Zyb21TbG90TmFtZV0gPSBzb3VyY2VQYXJlbnRJbnN0YW5jZVxyXG4gICAgICAgICAgICAgICAgICAgIC5zbG90c1tmcm9tU2xvdE5hbWVdXHJcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihjaGlsZEtleSA9PiBjaGlsZEtleSAhPT0gc291cmNlVGFyZ2V0S2V5KTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29tbWl0KCd2aWV3cG9ydC9kZWFsQ3VyTGV2ZWxBbmRUYXJnZXRMZXZlbCcsIHtcclxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2U6IHNvdXJjZVRhcmdldEtleSxcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXRJbnN0YW5jZTogdGFyZ2V0UGFyZW50S2V5XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIHsgLy8g5ZCM5bGC57qnXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbW1pdCgndmlld3BvcnQvaG9yaXpvbnRhbE1vdmVJbnN0YW5jZScsIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJlbnRLZXk6IHRhcmdldFBhcmVudEtleSxcclxuICAgICAgICAgICAgICAgICAgICBiZWZvcmVJbmRleDogc291cmNlUGFyZW50SW5zdGFuY2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnNsb3RzW2Zyb21TbG90TmFtZV1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLmZpbmRJbmRleChjaGlsZEtleSA9PiBjaGlsZEtleSA9PT0gc291cmNlVGFyZ2V0S2V5KSxcclxuICAgICAgICAgICAgICAgICAgICBhZnRlckluZGV4OiB0YXJnZXRJbmRleFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8g6Kem5Y+RIFZ1ZVgg5a+5bWFw55qE5qOA5p+lXHJcbiAgICAgICAgICAgIHN0YXRlLmluc3RhbmNlcyA9IG5ldyBNYXAoc3RhdGUuaW5zdGFuY2VzKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIOWQjOWxgue6p+aLluaLve+8jOS4jemcgOimgeS4u+WKqOiwg+eUqO+8jOebtOaOpeiwg+eUqCBtb3ZlSW5zdGFuY2Ug5Y2z5Y+vXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgaG9yaXpvbnRhbE1vdmVJbnN0YW5jZSAoc3RhdGUsIHtwYXJlbnRLZXksIGJlZm9yZUluZGV4LCBhZnRlckluZGV4LCBzbG90TmFtZX0pIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coKTtcclxuICAgICAgICAgICAgY29uc3QgcGFyZW50SW5zdGFuY2UgPSBzdGF0ZVxyXG4gICAgICAgICAgICAgICAgLmluc3RhbmNlc1xyXG4gICAgICAgICAgICAgICAgLmdldChwYXJlbnRLZXkpO1xyXG4gICAgICAgICAgICBpZiAoYmVmb3JlSW5kZXggPCBhZnRlckluZGV4KSB7XHJcbiAgICAgICAgICAgICAgICAvLyDku47lt6bliLDlj7NcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gYmVmb3JlSW5kZXg7IGluZGV4IDwgYWZ0ZXJJbmRleDsgaW5kZXgrKykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJlZm9yZVVuaXF1ZUtleSA9IHBhcmVudEluc3RhbmNlLnNsb3RzW3Nsb3ROYW1lXVtpbmRleF07XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWZ0ZXJVbmlxdWVLZXkgPSBwYXJlbnRJbnN0YW5jZS5zbG90c1tzbG90TmFtZV1baW5kZXggKyAxXTtcclxuICAgICAgICAgICAgICAgICAgICBwYXJlbnRJbnN0YW5jZS5zbG90c1tzbG90TmFtZV1baW5kZXhdID0gYWZ0ZXJVbmlxdWVLZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50SW5zdGFuY2Uuc2xvdHNbc2xvdE5hbWVdW2luZGV4ICsgMV0gPSBiZWZvcmVVbmlxdWVLZXk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyDku47lj7PliLDlt6ZcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gYmVmb3JlSW5kZXg7IGluZGV4ID4gYWZ0ZXJJbmRleDsgaW5kZXgtLSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJlZm9yZVVuaXF1ZUtleSA9IHBhcmVudEluc3RhbmNlLnNsb3RzW3Nsb3ROYW1lXVtpbmRleF07XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWZ0ZXJVbmlxdWVLZXkgPSBwYXJlbnRJbnN0YW5jZS5zbG90c1tzbG90TmFtZV1baW5kZXggLSAxXTtcclxuICAgICAgICAgICAgICAgICAgICBwYXJlbnRJbnN0YW5jZS5zbG90c1tzbG90TmFtZV1baW5kZXhdID0gYWZ0ZXJVbmlxdWVLZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50SW5zdGFuY2Uuc2xvdHNbc2xvdE5hbWVdW2luZGV4IC0gMV0gPSBiZWZvcmVVbmlxdWVLZXk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8g6Kem5Y+RIFZ1ZVgg5a+5bWFw55qE5qOA5p+lXHJcbiAgICAgICAgICAgIHN0YXRlLmluc3RhbmNlcyA9IG5ldyBNYXAoc3RhdGUuaW5zdGFuY2VzKTtcclxuXHJcbiAgICAgICAgICAgIC8qICAgIHRoaXMuY29tbWl0KCd2aWV3cG9ydC9kZWFsQ3VyU2Vjb250TGV2ZWwnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlOiBzdGF0ZS5jdXJyZW50RWRpdEluc3RhbmNlS2V5LFxyXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldEluc3RhbmNlOiBwYXJlbnRLZXksXHJcbiAgICAgICAgICAgICAgICAgICAgYmVmb3JlSW5kZXgsIGFmdGVySW5kZXhcclxuICAgICAgICAgICAgICAgIH0pOyovXHJcbiAgICAgICAgfSxcclxuICAgICAgICBzZXREcmFnSW5mbyAoc3RhdGUsIHttYXBVbmlxdWVLZXksIGluZGV4fSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdJbmZvID0gc3RhdGUuY3VycmVudERyYWdJbmZvLmluZm87XHJcbiAgICAgICAgICAgIG5ld0luZm8udGFyZ2V0SW5zdGFuY2VLZXkgPSBtYXBVbmlxdWVLZXk7XHJcbiAgICAgICAgICAgIG5ld0luZm8udGFyZ2V0SW5kZXggPSBpbmRleDtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHJlZ2lzdGVyT3V0ZXJEcmFnIChzdGF0ZSwgZHJhZ1BhcmVudERvbSkge1xyXG4gICAgICAgICAgICAvLyDkuIrmrKHmi5bmi73nmoTkvY3nva5cclxuICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgIGxldCBsYXN0RHJhZ1N0YXJ0SW5kZXggPSAtMTtcclxuICAgICAgICAgICAgU29ydGFibGUuZGVmYXVsdC5jcmVhdGUoZHJhZ1BhcmVudERvbSwge1xyXG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiA1MCxcclxuICAgICAgICAgICAgICAgIC8vIOaUvuWcqOS4gOS4que7hOmHjCzlj6/ku6Xot6jnu4Tmi5bmi71cclxuICAgICAgICAgICAgICAgIGdyb3VwOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2dhZWEtY29udGFpbmVyJyxcclxuICAgICAgICAgICAgICAgICAgICBwdWxsOiAnY2xvbmUnLFxyXG4gICAgICAgICAgICAgICAgICAgIHB1dDogZmFsc2VcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBzb3J0OiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGRlbGF5OiAwLFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyOlwiLmNvbGxhcHNlLWhlYWRlclwiLFxyXG4gICAgICAgICAgICAgICAgLy8gZHJhZ2dhYmxlOlwiLmlzRHJhZ1wiLFxyXG4gICAgICAgICAgICAgICAgb25TdGFydDogKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGFzdERyYWdTdGFydEluZGV4ID0gZXZlbnQub2xkSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCItLS1vblN0YXJ0PlwiKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhldmVudC5pdGVtKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhldmVudC5pdGVtLmRhdGFzZXQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGV2ZW50Lml0ZW0uZGF0YXNldC5nYWVhS2V5KTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgZWxlPWV2ZW50Lml0ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZWxlLmF0dHJpYnV0ZXMpO1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBkYXRhRWxlPXt9O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwidGVzdDIyXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBhdHRycyA9IGVsZS5hdHRyaWJ1dGVzLC8v5YWD57Sg55qE5bGe5oCn6ZuG5ZCIXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFzZXQgPSB7fSwgbmFtZSwgbWF0Y2hTdHI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yKHZhciBpID0gMDtpPGF0dHJzLmxlbmd0aDtpKyspeyAvL+aYr+WQpuaYr2RhdGEtIOW8gOWktFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRjaFN0ciA9IGF0dHJzW2ldLm5hbWUubWF0Y2goL15kYXRhLSguKykvKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYobWF0Y2hTdHIpeyAvL2RhdGEtYXV0by1wbGF5IOi9rOaIkOmpvOWzsOWGmeazlSBhdXRvUGxheVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9IG1hdGNoU3RyWzFdLnJlcGxhY2UoLy0oW1xcZGEtel0pL2dpLGZ1bmN0aW9uKGFsbCxsZXR0ZXIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsZXR0ZXIudG9VcHBlckNhc2UoKTsgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhc2V0W25hbWVdID0gYXR0cnNbaV0udmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YUVsZT0gZGF0YXNldDtcclxuICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCIxMS0tLT5cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZGF0YUVsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZGF0YUVsZS5nYWVhS2V5KTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIjAwLS0tPlwiKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YUVsZS5zb3VyY2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCItLS1zb3VyY2U+XCIrZGF0YUVsZS5zb3VyY2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLnN0YXJ0RHJhZyh7ICAgICB0eXBlOiAnY29tYm8nLCAgICAgZHJhZ1N0YXJ0UGFyZW50RWxlbWVudDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZHJhZ1BhcmVudERvbSwgICAgIGRyYWdTdGFydEluZGV4OiBldmVudC5vbGRJbmRleCAsICAgICBjb21ib0luZm86IHsgc291cmNlOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBkYXRhRWxlLnNvdXJjZSAgICAgfSB9KVxyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YUVsZS5nYWVhS2V5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiLS0tZ2FlYUtleT5cIitkYXRhRWxlLmdhZWFLZXkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5kcmFnU3RhcnREYXRhUmVhZHkgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21taXQoJ3ZpZXdwb3J0L3N0YXJ0RHJhZycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICduZXcnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhZ1N0YXJ0UGFyZW50RG9tOiBkcmFnUGFyZW50RG9tLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhZ1N0YXJ0SW5kZXg6IGV2ZW50Lm9sZEluZGV4LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mbzoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhZWFLZXk6IGRhdGFFbGUuZ2FlYUtleSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wczogZGF0YUVsZS5wcm9wcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVHYWVhS2V5OiBkYXRhRWxlLnByZUdhZWFLZXlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIOW8gOWni+aLluaLveWujOavlVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIi0tLW92ZXI+XCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5kcmFnU3RhcnREYXRhUmVhZHkgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBvbkVuZDogKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21taXQoJ3ZpZXdwb3J0L2VuZERyYWcnKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyDlm6DkuLrmmK8gY2xvbmUg5pa55byPLCDmi5bmi73miJDlip/nmoTor53lhYPntKDkvJrph43lpI0sIOayoeaIkOWKn+aLluaLveS8muiiq+a3u+WKoOWIsOacq+WwviDmiYDku6XlhYjnp7vpmaQgY2xvbmUg55qE5YWD57Sg77yI5ZCQ5qe95LiLLCDmi5botbDnmoTmiY3mmK/nnJ/nmoQsIOeVmeS4i+eahOaJjeaYr1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGNsb25lIOeahO+8iSDmnIkgcGFyZW50Tm9kZSwg6K+05piO5ouW5ou95a6M5q+V6L+Y5piv5rKh5pyJ6KKr5riF6ZmkLCDor7TmmI7ooqvmi5botbDkuoYsIOWboOS4uuWmguaenOayoeecn+ato+aLluWKqOaIkOWKnywgY2xvbmUg5YWD57Sg5Lya6KKr5Yig6ZmkXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmNsb25lLnBhcmVudE5vZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOWmguaenOaLlui1sOS6hizmiorlt7Lnu4/mi5botbDnmoTlhYPntKDliKDpmaQs5Y+q5pi+56S66L2s5o2i5ZCO55qE5YWD57SgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGV2ZW50Lml0ZW0ucGFyZW50Tm9kZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5pdGVtLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZXZlbnQuaXRlbSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9ub3RlIOayoeaLlui1sCwg5Y+q5piv5pmD5LqG5LiA5LiLLCDkuI3nlKjnrqHkuoZcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAvL25vdGUg5Yib5bu65YWD57Sg5ZKM5a6e5L6LXHJcbiAgICAgICAgY3JlYXRlSW5zdGFuY2VFbGUobmV3SW5mbyl7XHJcbiAgICAgICAgICAgIHRoaXMuY29tbWl0KCd2aWV3cG9ydC9hZGRJbnN0YW5jZScsIHtcclxuICAgICAgICAgICAgICAgIGdhZWFLZXk6IG5ld0luZm8uZ2FlYUtleSxcclxuICAgICAgICAgICAgICAgIHBhcmVudEluc3RhbmNlS2V5Om5ld0luZm8ucGFyZW50SW5zdGFuY2VLZXksXHJcbiAgICAgICAgICAgICAgICBpbmRleFBvc2l0aW9uOiAwLFxyXG4gICAgICAgICAgICAgICAgcHJlR2FlYUtleTogbmV3SW5mby5wcmVHYWVhS2V5LFxyXG4gICAgICAgICAgICAgICAgc2xvdE5hbWU6bmV3SW5mby5zbG90TmFtZSxcclxuXHJcbiAgICAgICAgICAgICAgICBjYjogbmV3SW5zdGFuY2VLZXkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvbkRyYWdBZGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZSAtLWV2ZW50IHBhcmVudEluc3RhbmNlS2V5ICAtLeeItmluc3RhbmNlS2V5IGdhZWFLZXkgIC0tPmNvbXBvbmVudCB0eXBlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5ld0luc3RhbmNlS2V5ICAtPiBuZXcgaW5zdGFjZSBLZXlcclxuICAgICAgICAgICAgICAgICAgICAgICAgb25EcmFnQWRkLmNhbGwodGhpcywgbnVsbCx7fSwgbmV3SW5mby5wYXJlbnRJbnN0YW5jZUtleSwgbmV3SW5mby5nYWVhS2V5LCBuZXdJbnN0YW5jZUtleSwgbmV3SW5mby5zbG90TmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHJlZ2lzdGVySW5uZXJEcmFnIChzdGF0ZSwge1xyXG4gICAgICAgICAgICBwYXJlbnRJbnN0YW5jZUtleSxcclxuICAgICAgICAgICAgZHJhZ1BhcmVudERvbSxcclxuICAgICAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgICAgICBncm91cE5hbWUgPSAnZ2FlYS1jb250YWluZXInLFxyXG4gICAgICAgICAgICBvbkRyYWdBZGRcclxuICAgICAgICB9KSB7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBpbnN0YW5jZSA9IHN0YXRlXHJcbiAgICAgICAgICAgICAgICAuaW5zdGFuY2VzXHJcbiAgICAgICAgICAgICAgICAuZ2V0KHBhcmVudEluc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgbGV0IG9sZE9iaj17XHJcblxyXG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiA1MCxcclxuICAgICAgICAgICAgICAgIC8vIOaUvuWcqOS4gOS4que7hOmHjCzlj6/ku6Xot6jnu4Tmi5bmi71cclxuICAgICAgICAgICAgICAgIGdyb3VwOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogZ3JvdXBOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIHB1bGw6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgcHV0OiB0cnVlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgb25TdGFydDogKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXZlbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwib25TdGFydFwiKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhwYXJlbnRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXZlbnQubmV3SW5kZXgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBzbG90TmFtZSA9IGV2ZW50LmZyb20uZGF0YXNldC5zbG90TmFtZTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY3VySW5zdGFuY2U9IHN0YXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pbnN0YW5jZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmdldChpbnN0YW5jZS5zbG90c1tzbG90TmFtZV1bZXZlbnQub2xkSW5kZXhdKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgbmV3T2JqPU9iamVjdC5hc3NpZ24oe30sIGN1ckluc3RhbmNlKTtcclxuICAgICAgICAgICAgICAgICAgICBzdGF0ZS5zYXZlRHJhZ09iaj1uZXdPYmo7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tbWl0KCd2aWV3cG9ydC9zdGFydERyYWcnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICd2aWV3cG9ydCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdTdGFydFBhcmVudERvbTogZHJhZ1BhcmVudERvbSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZHJhZ1N0YXJ0SW5kZXg6IGV2ZW50Lm9sZEluZGV4LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmZvOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZUtleTogaW5zdGFuY2Uuc2xvdHNbc2xvdE5hbWVdW2V2ZW50Lm9sZEluZGV4XVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgb25FbmQ6IChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwib25FbmRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21taXQoJ3ZpZXdwb3J0L2VuZERyYWcnKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8g5ZyoIHZpZXdwb3J0IOS4reWFg+e0oOaLluaLveWujOavleWQjiwg5Li65LqG6Ziy5q2iIG91dGVyLW1vdmUtYm94IOWcqOWOn+adpeS9jee9rueVmeS4i+aui+W9sSwg5YWI6ZqQ6JeP5o6JXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21taXQoJ3ZpZXdwb3J0L3NldEN1cnJlbnRIb3Zlckluc3RhbmNlS2V5JywgbnVsbCk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgb25BZGQ6IChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHN0YXRlLmluc3RhbmNlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJvbkFkZFwiKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyDlpoLmnpzmlbDmja7ov5jmsqHmnIkgcmVhZHnvvIzlvojlsLTlsKzvvIzku4DkuYjpg73msqHmnInlj5HnlJ8g5q2k5pe25LiA5a6a5pivIG5ld++8jOS4jeeUqOaLheW/gyBkb20g6IqC54K56ISP5o6JXHJcbiAgICAgICAgICAgICAgICAgICAgLyogIGlmICghc3RhdGUuZHJhZ1N0YXJ0RGF0YVJlYWR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfSovXHJcbiAgICAgICAgICAgICAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoZXZlbnQubmV3SW5kZXg8Mnx8c3RhdGUuaXNWaWV3KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuaXRlbS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGV2ZW50Lml0ZW0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc3RhdGUuY3VycmVudERyYWdJbmZvLnR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnbmV3JzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOaYr+aWsOaLlui/m+adpeeahCwg5LiN55So566hLCDlm6DkuLrlt6XlhbfmoI/kvJrmiorlroPmlLblm57ljrsg5Li65LuA5LmI5LiN5Yig5o6JPyDlm6DkuLrov5nkuKrlhYPntKDkuI3orrrmmK/kuI3mmK8gY2xvbmUsIOmDveiiq+enu+i/h+adpeS6hiwg5LiN6L+Y5Zue5Y67IHJlYWN0IOWcqOabtOaWsFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZG9tIOaXtuS8muaXoOazleaJvuWIsFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3SW5mbyA9IHN0YXRlLmN1cnJlbnREcmFnSW5mby5pbmZvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2xvdE5hbWUgPSBldmVudC50by5kYXRhc2V0LnNsb3ROYW1lO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29tbWl0KCd2aWV3cG9ydC9hZGRJbnN0YW5jZScsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYWVhS2V5OiBuZXdJbmZvLmdhZWFLZXksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SW5zdGFuY2VLZXksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXhQb3NpdGlvbjogZXZlbnQubmV3SW5kZXgsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlR2FlYUtleTogbmV3SW5mby5wcmVHYWVhS2V5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsb3ROYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNiOiAobmV3SW5zdGFuY2VLZXksZGF0YU9iaik9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob25EcmFnQWRkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlIC0tZXZlbnQgcGFyZW50SW5zdGFuY2VLZXkgIC0t54i2aW5zdGFuY2VLZXkgZ2FlYUtleSAgLS0+Y29tcG9uZW50IHR5cGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5ld0luc3RhbmNlS2V5ICAtPiBuZXcgaW5zdGFjZSBLZXlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRHJhZ0FkZC5jYWxsKHRoaXMsIG51bGwsZnVuY3Rpb24oKXtyZXR1cm4ge319LCBwYXJlbnRJbnN0YW5jZUtleSwgbmV3SW5mby5nYWVhS2V5LCBuZXdJbnN0YW5jZUtleSwgc2xvdE5hbWUsZGF0YU9iaik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICd2aWV3cG9ydCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDorr7nva7mlrDlop7ml7bmi5bmi73mupDkv6Hmga9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29tbWl0KCd2aWV3cG9ydC9zZXREcmFnSW5mbycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBVbmlxdWVLZXk6IHBhcmVudEluc3RhbmNlS2V5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiBldmVudC5uZXdJbmRleFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnY29tYm8nOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5hZGRDb21ib0NvbXBvbmVudEJ5U291cmNlKG1hcFVuaXF1ZUtleSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMudmlld3BvcnQuY3VycmVudERyYWdDb21wb25lbnRJbmZvLmNvbWJvSW5mby5zb3VyY2UsIGV2ZW50Lm5ld0luZGV4IClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE8g5Y+R5biD5paw5aKe57uE5ZCI5LqL5Lu2IHRoaXMucHJvcHMudmlld3BvcnQuc2F2ZU9wZXJhdGUoeyAgICAgdHlwZTogJ2FkZENvbWJvJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1hcFVuaXF1ZUtleSwgICAgIGFkZENvbWJvOiB7ICAgICAgICAgcGFyZW50TWFwVW5pcXVlS2V5OlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5wcm9wcy5tYXBVbmlxdWVLZXksICAgICAgICAgaW5kZXg6IGV2ZW50Lm5ld0luZGV4ICwgY29tcG9uZW50SW5mbzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbXBvbmVudCAgICAgfSB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIG9uVXBkYXRlOiAoZXZlbnQpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIm9uVXBkYXRlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBzbG90TmFtZSA9IGV2ZW50LmZyb20uZGF0YXNldC5zbG90TmFtZTtcclxuICAgICAgICAgICAgICAgICAgICBpZihldmVudC5vbGRJbmRleDwyfHxldmVudC5uZXdJbmRleDwyKXtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBjdXJyZW50Q2hpbGQ9IHN0YXRlLmluc3RhbmNlRG9tcy5nZXQoc3RhdGUuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGN1cnJlbnRDaGlsZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwYXJlbnQgPSBjdXJyZW50Q2hpbGQucGFyZW50Tm9kZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cocGFyZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG15UGFyZW50ID0gJCgnLnR5LWNvbnRlbnQtZWxlbWVudC1mb3JtJykuZmluZCgnLmZvcm1EaXYnKS50b0FycmF5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKG15UGFyZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG9sZEluZGV4PWV2ZW50Lm9sZEluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbmV3SW5kZXg9ZXZlbnQubmV3SW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qLy/lpoLmnpzlvZPliY3lhYPntKDlnKjmi5bliqjnm67moIfkvY3nva7nmoTkuIrmlrnvvIzlhYjlsIblvZPliY3lhYPntKDku47mlbDnu4Tmi7/lh7rvvIzmlbDnu4Tplb/luqYtMe+8jOaIkeS7rOebtOaOpee7meaVsOe7hOaLluWKqOebruagh+S9jee9risx55qE5Zyw5pa55paw5aKe5LiA5Liq5ZKM5b2T5YmN5YWD57Sg5YC85LiA5qC355qE5YWD57Sg77yMXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8v6L+Z5pe277yM5pWw57uEbGVu5LiN5Y+Y77yM5oiR5Lus5YaN5oqK5pWw57uE5LmL5YmN55qE6YKj5Liq5ouW5Yqo55qE5YWD57Sg5Yig6Zmk5o6J77yM5LiL5qCH6L+Y5pivaW5kZXhcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUuaW5zdGFuY2VzLnNwbGljZShwYXJlbnRJbmRleCsxLDAsc3RhdGUuaW5zdGFuY2VzW2luZGV4XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLmluc3RhbmNlcy5zcGxpY2UoaW5kZXgsMSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgIOS7jjLmi5bliLAzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDEgICAgICAxICAgIDFcclxuICAgICAgICAgICAgICAgICAgICAgICAgMiAgICAgIDMgICAgKDIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDMgICAgICAoMikgICAzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDQgICAgICAgNCAgICAoMilcclxuICAgICAgICAgICAgICAgICAgICAgICAgNSAgICAgICA1ICAgICA0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICDku4405ouW5YiwMlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgMSAgICAgIDEgICAgICAgMVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAyICAgICAg77yINO+8iSAgICAoNClcclxuICAgICAgICAgICAgICAgICAgICAgICAgMyAgICAgIDIgICAgICAgICAyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDQgICAgICAgMyAgICAgICAgM1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA1ICAgICAgIDUgICAgICAgIDRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgKi9cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGV2ZW50Lm9sZEluZGV4PGV2ZW50Lm5ld0luZGV4KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm90ZSDlvoDlkI7mi5bliqjvvIzmr5TlpoLku44yIOaLluWKqDRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15UGFyZW50LnNwbGljZShvbGRJbmRleCwwLG15UGFyZW50W25ld0luZGV4XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVBhcmVudC5zcGxpY2UobmV3SW5kZXgrMSwxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVBhcmVudC5zcGxpY2Uob2xkSW5kZXgrMSwwLG15UGFyZW50W25ld0luZGV4XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBteVBhcmVudC5zcGxpY2UobmV3SW5kZXgsMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiAgdmFyIHRlbXA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMSAz5a+56LCDXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcCA9IG15UGFyZW50W25ld0luZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBteVBhcmVudFtvbGRJbmRleF0gPSBteVBhcmVudFtuZXdJbmRleF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbXlQYXJlbnRbbmV3SW5kZXhdID0gdGVtcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhteVBhcmVudCk7Ki9cclxuICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnR5LWNvbnRlbnQtZWxlbWVudC1mb3JtJykuaHRtbChteVBhcmVudClcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyAg5ZCM5LiA5Liq54i257qn5LiL5a2Q5YWD57Sg5Lqk5o2i54i257qnIC8vIOWPlua2iCBzcm90YWJsZSDlr7kgZG9tIOeahOS/ruaUuSwg6K6p5YWD57Sg5Zue5Yiw5pyA5Yid55qE5L2N572u5Y2z5Y+v5aSN5Y6fXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21taXQoJ3ZpZXdwb3J0L2hvcml6b250YWxNb3ZlSW5zdGFuY2UnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudEtleTogcGFyZW50SW5zdGFuY2VLZXksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZUluZGV4OiBldmVudC5vbGRJbmRleCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJJbmRleDogZXZlbnQubmV3SW5kZXgsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNsb3ROYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgb25SZW1vdmU6IChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwib25SZW1vdmVcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gb25FbmQg5Zyo5YW25LmL5ZCO5omn6KGM77yM5Lya5riF6Zmk5ouW5ou955uu5qCH55qE5L+h5oGvIOWHj+WwkeS6huS4gOS4quWtkOWFg+e0oO+8jOS4gOWumuaYr+WPkeeUn+WcqCB2aWV3cG9ydCDljLrln5/lhYPntKDlj5HnlJ/ot6jniLbnuqfmi5bmi73ml7ZcclxuICAgICAgICAgICAgICAgICAgICBsZXQgdG9TbG90TmFtZSA9IGV2ZW50LnRvLmRhdGFzZXQuc2xvdE5hbWU7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZyb21TbG90TmFtZSA9IGV2ZW50LmZyb20uZGF0YXNldC5zbG90TmFtZTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBkcmFnVGFyZ2V0S2V5ID0gc3RhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmluc3RhbmNlc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KHBhcmVudEluc3RhbmNlS2V5KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc2xvdHNbdG9TbG90TmFtZV1bc3RhdGUuY3VycmVudERyYWdJbmZvLmRyYWdTdGFydEluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBkcmFnVmlld3BvcnRJbmZvID0gc3RhdGUuY3VycmVudERyYWdJbmZvLmluZm87XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBjdXJJbnN0YW5jZT0gc3RhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmluc3RhbmNlc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KGRyYWdUYXJnZXRLZXkpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGlmKHR5cGVvZihjdXJJbnN0YW5jZSkhPVwidW5kZWZpbmVkXCImJmN1ckluc3RhbmNlLnZtLmxldmVsPjIpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHR5cGVvZihjdXJJbnN0YW5jZSk9PVwidW5kZWZpbmVkXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tbWl0KCd2aWV3cG9ydC9tb3ZlSW5zdGFuY2UnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZVRhcmdldEtleTogZHJhZ1RhcmdldEtleSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0UGFyZW50S2V5OiBkcmFnVmlld3BvcnRJbmZvLnRhcmdldEluc3RhbmNlS2V5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRJbmRleDogZHJhZ1ZpZXdwb3J0SW5mby50YXJnZXRJbmRleCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZnJvbVNsb3ROYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b1Nsb3ROYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IG5ld09iaiA9IE9iamVjdC5hc3NpZ24ocGFyYW1zLCBvbGRPYmopO1xyXG4gICAgICAgICAgICBTb3J0YWJsZS5kZWZhdWx0LmNyZWF0ZShkcmFnUGFyZW50RG9tLG5ld09iaik7XHJcblxyXG5cclxuICAgICAgICAgICAgLy9ub3RlIOWIoOmZpOW9k+WJjeaLluaLveeahOe7hOS7tlxyXG4gICAgICAgICAgICB0aGlzLmNvbW1pdCgndmlld3BvcnQvZGVhbExldmVsJywgc3RhdGUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZ2V0SW5zdGFuY2VQYXRoIChzdGF0ZSwge2luc3RhbmNlS2V5LCBjYn0pIHtcclxuICAgICAgICAgICAgY29uc3QgZmluZGVyUGF0aCA9IFtzdGF0ZS5jdXJyZW50RWRpdEluc3RhbmNlS2V5XTtcclxuICAgICAgICAgICAgaWYgKHN0YXRlLmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIGlmIChjYikge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICBjYihyZXN1bHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBpbnN0YW5jZSA9IHN0YXRlXHJcbiAgICAgICAgICAgICAgICAuaW5zdGFuY2VzXHJcbiAgICAgICAgICAgICAgICAuZ2V0KHN0YXRlLmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAvLyDlpoLmnpzlt7Lnu4/mmK/moLnlhYPntKAsIOebtOaOpei/lOWbnuepuuaVsOe7hFxyXG4gICAgICAgICAgICBpZiAoaW5zdGFuY2UucGFyZW50SW5zdGFuY2VLZXkgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIGlmIChjYikge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBbc3RhdGUucm9vdEluc3RhbmNlS2V5XTtcclxuICAgICAgICAgICAgICAgICAgICBjYihyZXN1bHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyDnm7TliLDniLbnuqfmmK/moLnlhYPntKDkuLrmraJcclxuICAgICAgICAgICAgd2hpbGUgKHN0YXRlLmluc3RhbmNlcy5nZXQoaW5zdGFuY2UucGFyZW50SW5zdGFuY2VLZXkpLnBhcmVudEluc3RhbmNlS2V5ICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICBmaW5kZXJQYXRoLnVuc2hpZnQoaW5zdGFuY2UucGFyZW50SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgaW5zdGFuY2UgPSBzdGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgIC5pbnN0YW5jZXNcclxuICAgICAgICAgICAgICAgICAgICAuZ2V0KGluc3RhbmNlLnBhcmVudEluc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmaW5kZXJQYXRoLnVuc2hpZnQoc3RhdGUucm9vdEluc3RhbmNlS2V5KTtcclxuICAgICAgICAgICAgaWYgKGNiKSB7XHJcbiAgICAgICAgICAgICAgICBjYihmaW5kZXJQYXRoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc2V0Q3VycmVudEVkaXRJbnN0YW5jZUtleSAoc3RhdGUsIGluc3RhbmNlS2V5KSB7XHJcbiAgICAgICAgICAgIC8vIOWmguaenOWSjOW9k+WJjeato+WcqOe8lui+keWFg+e0oOebuOWQjO+8jOS4jeWBmuaTjeS9nFxyXG5cclxuICAgICAgICAgICAgaWYgKHN0YXRlLmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkgPT09IGluc3RhbmNlS2V5KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZXZlbnRidXMuJGVtaXQoXCJjbGlja0N1cnJlbnRLZXlcIixpbnN0YW5jZUtleSk7XHJcbiAgICAgICAgICAgIC8vIOS/ruaUuSBtYXBVbmlxdWVLZXlcclxuICAgICAgICAgICAgc3RhdGUuY3VycmVudEVkaXRJbnN0YW5jZUtleSA9IGluc3RhbmNlS2V5O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc2V0UGFnZVByaXZpZXdEYXRhKHN0YXRlLHBhZ2VPYmpEYXRhKXtcclxuICAgICAgICAgICAgLy/orr7nva7pobXpnaLmlbDmja5cclxuICAgICAgICAgICAgc3RhdGUucGFnZVByaXZpZXdEYXRhID0gcGFnZU9iakRhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIGFjdGlvbnM6IHt9XHJcbn07XHJcbi8vbm90ZSDoh6rlrprkuYltdXRhdGlvblxyXG5sZXQgc2VsZk11dGF0aW9uPXtcclxuICAgIC8vbm90ZSDmmL7npLrlvLnlsYJcclxuXHJcblxyXG4gICAgdXBkYXRlSW5wdXREYXRhKHN0YXRlKXtcclxuICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlPSBzdGF0ZS5pbnN0YW5jZXMuZ2V0KHN0YXRlLmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG5cclxuICAgICAgICBmb3IobGV0IHByb3AgaW4gY3VycmVudEluc3RhbmNlLmRhdGEucHJvcGVydHkpe1xyXG4gICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5wcm9wZXJ0eVtwcm9wXT1cIuWTiOWTiOWTiFwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IobGV0IHByb3AgaW4gY3VycmVudEluc3RhbmNlLmRhdGEucHJvcGVydHkpe1xyXG4gICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5wcm9wZXJ0eVtwcm9wXT1cIuWTiOWTiOWTiFwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzdGF0ZS5pbnN0YW5jZXMgPSBuZXcgTWFwKHN0YXRlLmluc3RhbmNlcyk7XHJcbiAgICAgICAgLyoqL1xyXG4gICAgICAgIC8qIHRoaXMuY29tbWl0KCd2aWV3cG9ydC9zZXRJbnN0YW5jZVByb3BzJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtOiBjdXJyZW50SW5zdGFuY2Uudm0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiAncHJvcGVydHknLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAn5ZOI5ZOI5ZOIJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOyovXHJcbiAgICB9LFxyXG4gICAgLy9OT1RFIOS/ruaUueWFqOWxgOWAvFxyXG4gICAgdXBkYXRlRGF0YShzdGF0ZSxlbGVtZW50KXtcclxuXHJcblxyXG4gICAgICAgIC8qIHN0YXRlLmluc3RhbmNlcyA9IG5ldyBNYXAoc3RhdGUuaW5zdGFuY2VzKTtcclxuICAgICAgICAgcmV0dXJuOyovXHJcblxyXG4gICAgICAgIGxldCBhbGxJbnN0YW5jZT0gc3RhdGUuaW5zdGFuY2VzO1xyXG4gICAgICAgIGxldCBsb2NhbEluc3RhbmNlPSBzdGF0ZS5sb2NhbEluc3RhbmNlcztcclxuICAgICAgICBsb2NhbEluc3RhbmNlPSBbLi4ubG9jYWxJbnN0YW5jZV07XHJcbiAgICAgICAgYWxsSW5zdGFuY2U9IFsuLi5hbGxJbnN0YW5jZV07XHJcbiAgICAgICAgbG9jYWxJbnN0YW5jZS5zcGxpY2UoMCwwLGFsbEluc3RhbmNlWzBdKVxyXG5cclxuICAgICAgICBsZXQgX3RoaXM9dGhpcztcclxuICAgICAgICBmb3IobGV0IGtleT0wO2tleTxsb2NhbEluc3RhbmNlLmxlbmd0aDtrZXkrKyl7XHJcbiAgICAgICAgICAgIGxldCBrZXlOYW1lPWxvY2FsSW5zdGFuY2Vba2V5XVswXTtcclxuICAgICAgICAgICAgbGV0IHZhbD1sb2NhbEluc3RhbmNlW2tleV1bMV07XHJcbiAgICAgICAgICAgIGlmKGtleU5hbWUhPVwiZ2FlYV9pbnN0YW5jZV8xXCIpe1xyXG4gICAgICAgICAgICAgICAgLy/nu5nmiJHku6znmoTlrp7kvovotYvlgLxcclxuICAgICAgICAgICAgICAgIC8vICAgICAgYWxsSW5zdGFuY2Vba2V5XVsxXS5kYXRhPW5ldyBPYmplY3QobG9jYWxJbnN0YW5jZVtrZXldWzFdLmRhdGEpO1xyXG4gICAgICAgICAgICAgICAgLy8gYWxsSW5zdGFuY2Vba2V5XVsxXS5kYXRhLnByb3BlcnR5LmxhYmVsPVwi5ZOI5ZOI5ZOIXCI7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gYWxsSW5zdGFuY2Vba2V5XVsxXS5kYXRhLnByb3BlcnR5PWxvY2FsSW5zdGFuY2Vba2V5XVsxXS5kYXRhLnByb3BlcnR5O1xyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBwcm9wIGluIGFsbEluc3RhbmNlW2tleV1bMV0uZGF0YSl7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxsSW5zdGFuY2Vba2V5XVsxXS5kYXRhW3Byb3BdPWxvY2FsSW5zdGFuY2Vba2V5XVsxXS5kYXRhW3Byb3BdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLypmb3IobGV0IHByb3AgaW4gbG9jYWxJbnN0YW5jZVtrZXldWzFdLmRhdGEucHJvcGVydHkpe1xyXG4gICAgICAgICAgICAgICAgICAgIGFsbEluc3RhbmNlW2tleV1bMV0uZGF0YS5wcm9wZXJ0eVtwcm9wXT1sb2NhbEluc3RhbmNlW2tleV1bMV0uZGF0YVtwcm9wXTtcclxuICAgICAgICAgICAgICAgIH0qL1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN0YXRlLmluc3RhbmNlcz1hbGxJbnN0YW5jZTtcclxuICAgICAgICBzdGF0ZS5pbnN0YW5jZXMgPSBuZXcgTWFwKHN0YXRlLmluc3RhbmNlcyk7XHJcblxyXG5cclxuICAgICAgICAvKiBmb3IobGV0IGtleT0wO2tleTxsb2NhbEluc3RhbmNlLmxlbmd0aDtrZXkrKyl7XHJcbiAgICAgICAgICAgICBsZXQga2V5TmFtZT1sb2NhbEluc3RhbmNlW2tleV1bMF07XHJcbiAgICAgICAgICAgICBsZXQgdmFsPWxvY2FsSW5zdGFuY2Vba2V5XVsxXTtcclxuICAgICAgICAgICAgIGlmKGtleU5hbWUhPVwiZ2FlYV9pbnN0YW5jZV8xXCIpe1xyXG4gICAgICAgICAgICAgICAgIC8v57uZ5oiR5Lus55qE5a6e5L6L6LWL5YC8XHJcbiAgICAgICAgICAgICAgICAgLy8gIGFsbEluc3RhbmNlW2tleV1bMV0uZGF0YS5wcm9wZXJ0eS5sYWJlbD1cIuWTiOWTiOWTiFwiO1xyXG4gICAgICAgICAgICAgICAgIGFsbEluc3RhbmNlW2tleV1bMV0udm0uJGZvcmNlVXBkYXRlKCk7XHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgIH0qL1xyXG5cclxuICAgICAgICAvKmN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmxhYmVsPVwi5ZOI5ZOI5ZOIXCI7XHJcbiAgICAgICAgc3RhdGUuaW5zdGFuY2VzID0gbmV3IE1hcChzdGF0ZS5pbnN0YW5jZXMpOyovXHJcbiAgICAgICAgLyp0aGlzLmNvbW1pdCgndmlld3BvcnQvc2V0SW5zdGFuY2VQcm9wcycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtOiBjdXJyZW50SW5zdGFuY2Uudm0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6ICdwcm9wZXJ0eScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAn5ZOI5ZOI5ZOIJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsqL1xyXG5cclxuICAgIH0sXHJcbiAgICAvL05PVEUg5a2Y5YKo5YWD57SgIGxvY2FsSW5zdGFuY2VzXHJcbiAgICB1cGRhdGVJbnN0YW5jZXMoc3RhdGUsZWxlbWVudCl7XHJcblxyXG4gICAgICAgIHN0YXRlLmluc3RhbmNlcz1zdGF0ZS5sb2NhbEluc3RhbmNlcztcclxuICAgICAgICBzdGF0ZS5pbnN0YW5jZXMgPSBuZXcgTWFwKHN0YXRlLmluc3RhbmNlcyk7XHJcbiAgICB9LFxyXG4gICAgLy9OT1RFIOWtmOWCqOWFg+e0oCBsb2NhbEluc3RhbmNlc1xyXG4gICAgc2F2ZUxvY2FsRWxlbWVudChzdGF0ZSxlbGVtZW50KXtcclxuICAgICAgICBzdGF0ZS5sb2NhbEVsZW1lbnQ9ZWxlbWVudDtcclxuICAgIH0sXHJcbiAgICAvL05PVEUg5a2Y5YKo5a6e5L6LIGxvY2FsSW5zdGFuY2VzXHJcbiAgICBzYXZlTG9jYWxJbnN0YW5jZXMoc3RhdGUsaW5zdGFuY2VzKXtcclxuICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICBsZXQgbG9jYWxJbnN0YW5jZXM9IFsuLi5zdGF0ZS5pbnN0YW5jZXNdO1xyXG5cclxuICAgICAgICAvL2xldCBsb2NhbEluc3RhbmNlcz1fLmNsb25lRGVlcChteWFycik7XHJcbiAgICAgICAgbG9jYWxJbnN0YW5jZXMuc3BsaWNlKDAsMSk7XHJcbiAgICAgICAgZm9yKGxldCBrZXk9MDtrZXk8bG9jYWxJbnN0YW5jZXMubGVuZ3RoO2tleSsrKXtcclxuICAgICAgICAgICAgZGVsZXRlIGxvY2FsSW5zdGFuY2VzW2tleV1bMV0udm07XHJcbiAgICAgICAgICAgIC8vIHZhbC5kYXRhLnByb3BlcnR5LnZhbHVlPXZhbC5kYXRhLnByb3BlcnR5LmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zb2xlLmxvZyhsb2NhbEluc3RhbmNlcyk7IC8vIFsgMSwgMiwgMyBdICBvcGVuTW9kYWxUaXRsZVxyXG4gICAgICAgIGxldCB0ZW1wbGF0ZUpTT049SlNPTi5zdHJpbmdpZnkobG9jYWxJbnN0YW5jZXMpO1xyXG4gICAgICAgIC8vICBldmVudGJ1cy4kZW1pdChcIm9wZW5Nb2RhbFRpdGxlXCIsbG9jYWxJbnN0YW5jZXMpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHRlbXBsYXRlSlNPTik7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIGxldCB0b1NlcnZlclBhcmFtcyA9IHtcclxuICAgICAgICAgICAgaXRlbU5vOmxvY2FsU3RvcmFnZS5pdGVtTm8sXHJcbiAgICAgICAgICAgIGl0ZW1TdGVwOmxvY2FsU3RvcmFnZS5pdGVtU3RlcCxcclxuICAgICAgICAgICAganNvblR5cGU6MSxcclxuICAgICAgICAgICAganNvblN0cjp0ZW1wbGF0ZUpTT05cclxuICAgICAgICB9O1xyXG4gICAgICAgIFNlcnZpY2Uuc2F2ZVRlbXBsYXRlT3JKc29uVG9TZXJ2ZXIodG9TZXJ2ZXJQYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG4gICAgICAgICAgICAvL25vdGUg5Yia5omN5L+d5a2Y5a6M5LqGanNvbu+8jOeOsOWcqOimgeS/neaMgeaooeadv1xyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc3RhdHVzPVwiMVwiO1xyXG4gICAgICAgICAgICBldmVudGJ1cy4kZW1pdChcIm9wZW5TdWNjRGlhbG9nXCIpO1xyXG4gICAgICAgICAgICBodHRwTG9hZGluZy5jbG9zZUxvYWRpbmcoKTtcclxuICAgICAgICB9KVxyXG5cclxuICAgICAgICAvL25vdGUg5Y+R6YCB572R57uc6K+35rGCLOaKiuS/neWtmOeahOaooeadv+aPkOS6pOe7meWQjuWPsFxyXG4gICAgICAgIHN0YXRlLmxvY2FsSW5zdGFuY2VzID0gbmV3IE1hcChbXSk7XHJcbiAgICB9LFxyXG4gICAgLypcclxuICAgICBOb3RlIOWinuWKoOWIoOmZpOWNlemAieWGheWuuemAiemhuVxyXG4gICAgKi9cclxuICAgIGRlbFJhZGlvRXZlbnRBcnIoc3RhdGUsY2hpbGRPYmope1xyXG5cclxuICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlPSBzdGF0ZS5pbnN0YW5jZXMuZ2V0KHN0YXRlLmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEucmFkaW9BcnIpIHtcclxuICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEucmFkaW9BcnIgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8g5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEucmFkaW9BcnIuc3BsaWNlKGNoaWxkT2JqLmluZGV4LDEpO1xyXG4gICAgICAgIHN0YXRlLmluc3RhbmNlcyA9IG5ldyBNYXAoc3RhdGUuaW5zdGFuY2VzKTtcclxuICAgIH0sXHJcbiAgICBkZWxDaGlsZEFycihzdGF0ZSxjaGlsZE9iail7XHJcblxyXG4gICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHN0YXRlLmluc3RhbmNlcy5nZXQoc3RhdGUuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5yYWRpb0Fycikge1xyXG4gICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5yYWRpb0FyciA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyDkuLrkuovku7bmlrDlop7kuIDpoblcclxuICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5yYWRpb0FycltjaGlsZE9iai5pbmRleF0uY2hpbGRyZW4uc3BsaWNlKGNoaWxkT2JqLmNoaWxkSW5kZXgsMSk7XHJcbiAgICAgICAgc3RhdGUuaW5zdGFuY2VzID0gbmV3IE1hcChzdGF0ZS5pbnN0YW5jZXMpO1xyXG4gICAgfSxcclxuICAgIGFkZERvdWJsZUV2ZW50QXJyKHN0YXRlLGNoaWxkT2JqKXtcclxuICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlPSBzdGF0ZS5pbnN0YW5jZXMuZ2V0KHN0YXRlLmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEucmFkaW9BcnIpIHtcclxuICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEucmFkaW9BcnIgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5yYWRpb0FycltjaGlsZE9iai5pbmRleF0uY2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEucmFkaW9BcnJbY2hpbGRPYmouaW5kZXhdLmNoaWxkcmVuID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnJhZGlvQXJyW2NoaWxkT2JqLmluZGV4XS5jaGlsZHJlbi5wdXNoKHtcclxuICAgICAgICAgICAgbGFiZWw6IFwi6YCJ6aG5XCIrKGN1cnJlbnRJbnN0YW5jZS5kYXRhLnJhZGlvQXJyLmxlbmd0aCsxKSxcclxuICAgICAgICAgICAgdmFsdWU6IFwi6YCJ6aG5XCIrKGN1cnJlbnRJbnN0YW5jZS5kYXRhLnJhZGlvQXJyLmxlbmd0aCsxKVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHN0YXRlLmluc3RhbmNlcyA9IG5ldyBNYXAoc3RhdGUuaW5zdGFuY2VzKTtcclxuICAgIH0sXHJcbiAgICBhZGRSYWRpb0V2ZW50QXJyKHN0YXRlKXtcclxuICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlPSBzdGF0ZS5pbnN0YW5jZXMuZ2V0KHN0YXRlLmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEucmFkaW9BcnIpIHtcclxuICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEucmFkaW9BcnIgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8g5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEucmFkaW9BcnIucHVzaCh7XHJcbiAgICAgICAgICAgIGxhYmVsOiBcIumAiemhuVwiKyhjdXJyZW50SW5zdGFuY2UuZGF0YS5yYWRpb0Fyci5sZW5ndGgrMSksXHJcbiAgICAgICAgICAgIHZhbHVlOiBcIumAiemhuVwiKyhjdXJyZW50SW5zdGFuY2UuZGF0YS5yYWRpb0Fyci5sZW5ndGgrMSlcclxuICAgICAgICB9KTtcclxuICAgICAgICBzdGF0ZS5pbnN0YW5jZXMgPSBuZXcgTWFwKHN0YXRlLmluc3RhbmNlcyk7XHJcbiAgICB9LFxyXG4gICAgLypcclxuTm90ZSDliKDpmaTlop7liqAgIOWFg+e0oOiBlOWKqOajgOafpeaYr+WQpumakOiXjy/mmL7npLpcclxuKi9cclxuICAgIGFkZFNob3dGbGFnRXZlbnRBcnIoc3RhdGUpe1xyXG4gICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHN0YXRlLmluc3RhbmNlcy5nZXQoc3RhdGUuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5leHRlbmQuc2hvd0ZsYWcpIHtcclxuICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEuZXh0ZW5kLnNob3dGbGFnID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4dGVuZC5zaG93RmxhZy5wdXNoKHtcclxuICAgICAgICAgICAga2V5OiBcIlwiLFxyXG4gICAgICAgICAgICB2YWx1ZTogXCJcIlxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHN0YXRlLmluc3RhbmNlcyA9IG5ldyBNYXAoc3RhdGUuaW5zdGFuY2VzKTtcclxuICAgIH0sXHJcbiAgICBkZWxTaG93RmxhZ0V2ZW50QXJyKHN0YXRlLGNoaWxkT2JqKXtcclxuXHJcbiAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZT0gc3RhdGUuaW5zdGFuY2VzLmdldChzdGF0ZS5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4dGVuZC5zaG93RmxhZykge1xyXG4gICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5leHRlbmQuc2hvd0ZsYWcgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8g5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEuZXh0ZW5kLnNob3dGbGFnLnNwbGljZShjaGlsZE9iai5pbmRleCwxKTtcclxuICAgICAgICBzdGF0ZS5pbnN0YW5jZXMgPSBuZXcgTWFwKHN0YXRlLmluc3RhbmNlcyk7XHJcbiAgICB9LFxyXG4gICAgLypcclxuIE5vdGUg5Yig6Zmk5aKe5Yqg5qCh6aqMXHJcbiovXHJcbiAgICBkZWxWYWxpZGF0ZUV2ZW50QXJyKHN0YXRlLGNoaWxkT2JqKXtcclxuXHJcbiAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZT0gc3RhdGUuaW5zdGFuY2VzLmdldChzdGF0ZS5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLnZhbGlkYXRlQXJyKSB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnZhbGlkYXRlQXJyID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnZhbGlkYXRlQXJyLnNwbGljZShjaGlsZE9iai5pbmRleCwxKTtcclxuICAgICAgICBzdGF0ZS5pbnN0YW5jZXMgPSBuZXcgTWFwKHN0YXRlLmluc3RhbmNlcyk7XHJcbiAgICB9LFxyXG4gICAgYWRkVmFsaWRhdGVFdmVudEFycihzdGF0ZSl7XHJcblxyXG4gICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHN0YXRlLmluc3RhbmNlcy5nZXQoc3RhdGUuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS52YWxpZGF0ZUFycikge1xyXG4gICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS52YWxpZGF0ZUFyciA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihjdXJyZW50SW5zdGFuY2UuZ2FlYUtleT09XCJnYWVhLWlucHV0XCJ8fGN1cnJlbnRJbnN0YW5jZS5nYWVhS2V5PT1cImdhZWEtdGV4dGFyZWFcIil7XHJcbiAgICAgICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS52YWxpZGF0ZUFyci5wdXNoKHtcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IFwi5LiN6IO95Li656m6XCIsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgdHJpZ2dlcjogXCJcIixcclxuICAgICAgICAgICAgICAgIGRvdDogXCJcIixcclxuICAgICAgICAgICAgICAgIHJhbmdlOiAwLFxyXG4gICAgICAgICAgICAgICAgdW5pdDogXCJcIixcclxuICAgICAgICAgICAgfSx7XHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBcIuS4jeiDveS4uuepulwiLFxyXG4gICAgICAgICAgICAgICAgbWF4TGVuZ3RoOjEwMCxcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwiaW5wdXRMZW5ndGhcIixcclxuICAgICAgICAgICAgICAgIHRyaWdnZXI6IFwiYmx1clwiLFxyXG4gICAgICAgICAgICAgICAgZG90OiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgcmFuZ2U6IDAsXHJcbiAgICAgICAgICAgICAgICB1bml0OiBcIlwiLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgLy8g5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnZhbGlkYXRlQXJyLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogXCLkuI3og73kuLrnqbpcIixcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICB0cmlnZ2VyOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgZG90OiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgcmFuZ2U6IDAsXHJcbiAgICAgICAgICAgICAgICB1bml0OiBcIlwiLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN0YXRlLmluc3RhbmNlcyA9IG5ldyBNYXAoc3RhdGUuaW5zdGFuY2VzKTtcclxuICAgIH0sXHJcbiAgICBhZGRWYWxpZGF0ZUV2ZW50Q2hpbGRBcnIoc3RhdGUsY2hpbGRPYmope1xyXG4gICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHN0YXRlLmluc3RhbmNlcy5nZXQoc3RhdGUuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS52YWxpZGF0ZUFycikge1xyXG4gICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS52YWxpZGF0ZUFyciA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLnZhbGlkYXRlQXJyW2NoaWxkT2JqLmluZGV4XS5yZXF1aXJlS2V5VmFsdWVzKSB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnZhbGlkYXRlQXJyW2NoaWxkT2JqLmluZGV4XS5yZXF1aXJlS2V5VmFsdWVzID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgIC8vY3VycmVudEluc3RhbmNlLmRhdGEudmFsaWRhdGVBcnJbY2hpbGRPYmouaW5kZXhdLnJlcXVpcmVLZXlWYWx1ZXM9W107XHJcbiAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEudmFsaWRhdGVBcnJbY2hpbGRPYmouaW5kZXhdLnJlcXVpcmVLZXlWYWx1ZXMucHVzaCh7XHJcbiAgICAgICAgICAgIC8vICBkZXBlbmRWYWx1ZTogXCJcIixcclxuICAgICAgICAgICAgLy9jaGFuZ2VWYWx1ZTogXCJcIixcclxuICAgICAgICAgICAga2V5OlwiXCIsXHJcbiAgICAgICAgICAgIHZhbHVlczogXCJcIlxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHN0YXRlLmluc3RhbmNlcyA9IG5ldyBNYXAoc3RhdGUuaW5zdGFuY2VzKTtcclxuICAgIH0sXHJcbiAgICBkZWxWYWxpZGF0ZUV2ZW50Q2hpbGRBcnIoc3RhdGUsY2hpbGRPYmope1xyXG5cclxuICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlPSBzdGF0ZS5pbnN0YW5jZXMuZ2V0KHN0YXRlLmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEudmFsaWRhdGVBcnIpIHtcclxuICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEudmFsaWRhdGVBcnIgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8g5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEudmFsaWRhdGVBcnJbY2hpbGRPYmoucGFyZW50SW5kZXhdLnJlcXVpcmVLZXlWYWx1ZXMuc3BsaWNlKGNoaWxkT2JqLmluZGV4LDEpO1xyXG4gICAgICAgIHN0YXRlLmluc3RhbmNlcyA9IG5ldyBNYXAoc3RhdGUuaW5zdGFuY2VzKTtcclxuICAgIH0sXHJcbiAgICAvKlxyXG4gIE5vdGUgY2hlY2tCb3jkuozkvY3mlbDnu4Qg5aKe5YqgIOWIoOmZpFxyXG4qL1xyXG4gICAgYWRkQ2hlY2tFdmVudEFycihzdGF0ZSl7XHJcbiAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZT0gc3RhdGUuaW5zdGFuY2VzLmdldChzdGF0ZS5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLm1vY2tEYXRhKSB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLm1vY2tEYXRhID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLm1vY2tEYXRhLnB1c2goe1xyXG4gICAgICAgICAgICBsYWJlbDogXCJcIixcclxuICAgICAgICAgICAgdmFsdWU6IFwiXCIsXHJcbiAgICAgICAgICAgIHNob3c6IGZhbHNlLFxyXG4gICAgICAgICAgICByYWRpb0xpc3Q6W11cclxuICAgICAgICB9KTtcclxuICAgICAgICBzdGF0ZS5pbnN0YW5jZXMgPSBuZXcgTWFwKHN0YXRlLmluc3RhbmNlcyk7XHJcbiAgICB9LFxyXG4gICAgZGVsQ2hlY2tFdmVudEFycihzdGF0ZSxjaGlsZE9iail7XHJcbiAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZT0gc3RhdGUuaW5zdGFuY2VzLmdldChzdGF0ZS5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLm1vY2tEYXRhKSB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLm1vY2tEYXRhID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLm1vY2tEYXRhLnNwbGljZShjaGlsZE9iai5pbmRleCwxKTtcclxuICAgICAgICBzdGF0ZS5pbnN0YW5jZXMgPSBuZXcgTWFwKHN0YXRlLmluc3RhbmNlcyk7XHJcbiAgICB9LFxyXG4gICAgYWRkQ2hlY2tDaGlsZEFycihzdGF0ZSxjaGlsZE9iail7XHJcblxyXG4gICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHN0YXRlLmluc3RhbmNlcy5nZXQoc3RhdGUuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5tb2NrRGF0YVtjaGlsZE9iai5pbmRleF0ucmFkaW9MaXN0KSB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLm1vY2tEYXRhW2NoaWxkT2JqLmluZGV4XS5yYWRpb0xpc3QgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8g5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEubW9ja0RhdGFbY2hpbGRPYmouaW5kZXhdLnJhZGlvTGlzdC5wdXNoKHtcclxuICAgICAgICAgICAgXCJuYW1lXCI6IFwiXCIsXHJcbiAgICAgICAgICAgIFwiaXNTZWxlY3RlZFwiOiBmYWxzZSxcclxuICAgICAgICAgICAgXCJ2YWx1ZVwiOiBcIlwiXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgc3RhdGUuaW5zdGFuY2VzID0gbmV3IE1hcChzdGF0ZS5pbnN0YW5jZXMpO1xyXG4gICAgfSxcclxuICAgIGRlbENoZWNrQ2hpbGRBcnIoc3RhdGUsY2hpbGRPYmope1xyXG4gICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHN0YXRlLmluc3RhbmNlcy5nZXQoc3RhdGUuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5tb2NrRGF0YSkge1xyXG4gICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5tb2NrRGF0YSA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyDkuLrkuovku7bmlrDlop7kuIDpoblcclxuICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5tb2NrRGF0YVtjaGlsZE9iai5wYXJlbnRJbmRleF0ucmFkaW9MaXN0LnNwbGljZShjaGlsZE9iai5pbmRleCwxKTtcclxuICAgICAgICBzdGF0ZS5pbnN0YW5jZXMgPSBuZXcgTWFwKHN0YXRlLmluc3RhbmNlcyk7XHJcbiAgICB9LFxyXG4gICAgLypcclxuICAgTm90ZSDmraXpqqTlop7liqAg5Yig6ZmkXHJcbiAqL1xyXG4gICAgYWRkTGlua0l0ZW1zRXZlbnRBcnIoc3RhdGUpe1xyXG4gICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHN0YXRlLmluc3RhbmNlcy5nZXQoc3RhdGUuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5pdGVtcykge1xyXG4gICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5pdGVtcyA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyDkuLrkuovku7bmlrDlop7kuIDpoblcclxuICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5pdGVtcy5wdXNoKHtcclxuICAgICAgICAgICAgbGFiZWw6IFwiXCIsXHJcbiAgICAgICAgICAgIHByb3A6IFwiXCIsXHJcbiAgICAgICAgICAgIGlzU2hvdzogXCJcIixcclxuICAgICAgICB9KTtcclxuICAgICAgICBzdGF0ZS5pbnN0YW5jZXMgPSBuZXcgTWFwKHN0YXRlLmluc3RhbmNlcyk7XHJcbiAgICB9LFxyXG4gICAgYWRkTGlua09wdGlvbnNFdmVudEFycihzdGF0ZSxjaGlsZE9iail7XHJcblxyXG4gICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHN0YXRlLmluc3RhbmNlcy5nZXQoc3RhdGUuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5pdGVtc1tjaGlsZE9iai5pbmRleF0ub3B0aW9ucykge1xyXG4gICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5pdGVtc1tjaGlsZE9iai5pbmRleF0ub3B0aW9ucyA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyDkuLrkuovku7bmlrDlop7kuIDpoblcclxuICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5pdGVtc1tjaGlsZE9iai5pbmRleF0ub3B0aW9ucy5wdXNoKHtcclxuICAgICAgICAgICAgbmFtZTogXCJcIixcclxuICAgICAgICAgICAgdmFsdWU6IDAsXHJcbiAgICAgICAgICAgIGlzU2VsZWN0ZWQ6ZmFsc2VcclxuICAgICAgICB9KTtcclxuICAgICAgICBzdGF0ZS5pbnN0YW5jZXMgPSBuZXcgTWFwKHN0YXRlLmluc3RhbmNlcyk7XHJcbiAgICB9LFxyXG4gICAgYWRkTGlua0V4YWN0RXZlbnRBcnIoc3RhdGUsY2hpbGRPYmope1xyXG5cclxuICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlPSBzdGF0ZS5pbnN0YW5jZXMuZ2V0KHN0YXRlLmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEuaXRlbXNbY2hpbGRPYmouaW5kZXhdLmV4YWN0KSB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLml0ZW1zW2NoaWxkT2JqLmluZGV4XS5leGFjdCA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyDkuLrkuovku7bmlrDlop7kuIDpoblcclxuICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5pdGVtc1tjaGlsZE9iai5pbmRleF0uZXhhY3QucHVzaCh7XHJcbiAgICAgICAgICAgIHR5cGU6IFwiXCIsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgc3RhdGUuaW5zdGFuY2VzID0gbmV3IE1hcChzdGF0ZS5pbnN0YW5jZXMpO1xyXG4gICAgfSxcclxuICAgIGRlbExpbmtJdGVtc0V2ZW50QXJyKHN0YXRlLGNoaWxkT2JqKXtcclxuXHJcbiAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZT0gc3RhdGUuaW5zdGFuY2VzLmdldChzdGF0ZS5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLml0ZW1zKSB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLml0ZW1zID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLml0ZW1zLnNwbGljZShjaGlsZE9iai5pbmRleCwxKTtcclxuICAgICAgICBzdGF0ZS5pbnN0YW5jZXMgPSBuZXcgTWFwKHN0YXRlLmluc3RhbmNlcyk7XHJcbiAgICB9LFxyXG4gICAgZGVsTGlua0V4YWN0RXZlbnRDaGlsZEFycihzdGF0ZSxjaGlsZE9iail7XHJcblxyXG4gICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHN0YXRlLmluc3RhbmNlcy5nZXQoc3RhdGUuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5pdGVtcykge1xyXG4gICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5pdGVtcyA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyDkuLrkuovku7bmlrDlop7kuIDpoblcclxuICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5pdGVtc1tjaGlsZE9iai5wYXJlbnRJbmRleF0uZXhhY3Quc3BsaWNlKGNoaWxkT2JqLmluZGV4LDEpO1xyXG4gICAgICAgIHN0YXRlLmluc3RhbmNlcyA9IG5ldyBNYXAoc3RhdGUuaW5zdGFuY2VzKTtcclxuICAgIH0sXHJcbiAgICBkZWxMaW5rT3B0aW9uc0V2ZW50Q2hpbGRBcnIoc3RhdGUsY2hpbGRPYmope1xyXG5cclxuICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlPSBzdGF0ZS5pbnN0YW5jZXMuZ2V0KHN0YXRlLmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEubGlua2FnZUNoYW5nZVZhbHVlKSB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4dGVuZC5saW5rYWdlQ2hhbmdlVmFsdWUgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8g5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEuaXRlbXNbY2hpbGRPYmoucGFyZW50SW5kZXhdLm9wdGlvbnMuc3BsaWNlKGNoaWxkT2JqLmluZGV4LDEpO1xyXG4gICAgICAgIHN0YXRlLmluc3RhbmNlcyA9IG5ldyBNYXAoc3RhdGUuaW5zdGFuY2VzKTtcclxuICAgIH0sXHJcbiAgICAvKlxyXG4gICAgTm90ZSDmraXpqqTlop7liqAg5Yig6ZmkXHJcbiAgKi9cclxuICAgIGRlbFN0ZXBzRXZlbnRBcnIoc3RhdGUsY2hpbGRPYmope1xyXG5cclxuICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlPSBzdGF0ZS5pbnN0YW5jZXMuZ2V0KHN0YXRlLmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEuc3RlcHMpIHtcclxuICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEuc3RlcHMgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8g5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEuc3RlcHMuc3BsaWNlKGNoaWxkT2JqLmluZGV4LDEpO1xyXG4gICAgICAgIHN0YXRlLmluc3RhbmNlcyA9IG5ldyBNYXAoc3RhdGUuaW5zdGFuY2VzKTtcclxuICAgIH0sXHJcbiAgICBhZGRTdGVwc0V2ZW50QXJyKHN0YXRlKXtcclxuXHJcbiAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZT0gc3RhdGUuaW5zdGFuY2VzLmdldChzdGF0ZS5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLnN0ZXBzKSB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnN0ZXBzID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnN0ZXBzLnB1c2goe1xyXG4gICAgICAgICAgICB0aXRsZTogXCJcIlxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHN0YXRlLmluc3RhbmNlcyA9IG5ldyBNYXAoc3RhdGUuaW5zdGFuY2VzKTtcclxuICAgIH0sXHJcblxyXG4gICAgLypcclxuICAgTm90ZSDosIPnlKjov5znqIvlnLDlnYAg5aKe5Yqg6K+35rGC5Y+C5pWwXHJcbiAgICovXHJcbiAgICBhZGRUYWJsZUR5bmFtaWNBcnIoc3RhdGUpe1xyXG4gICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHN0YXRlLmluc3RhbmNlcy5nZXQoc3RhdGUuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5wcm9wZXJ0eS5kYXRhKSB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmRhdGE9e307XHJcbiAgICAgICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEucHJvcGVydHkuZGF0YS5wYXJhbXNMaXN0KSB7XHJcbiAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5wcm9wZXJ0eS5kYXRhLnBhcmFtc0xpc3QgPSBbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyDkuLrkuovku7bmlrDlop7kuIDpoblcclxuICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5wcm9wZXJ0eS5kYXRhLnBhcmFtc0xpc3QucHVzaCh7XHJcbiAgICAgICAgICAgIGxhYmVsOiBcIlwiLFxyXG4gICAgICAgICAgICB2YWx1ZTogXCJcIlxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHN0YXRlLmluc3RhbmNlcyA9IG5ldyBNYXAoc3RhdGUuaW5zdGFuY2VzKTtcclxuICAgIH0sXHJcbiAgICB1cGRhdGVUYWJsZUR5bmFtaWNBcnIoc3RhdGUpe1xyXG4gICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHN0YXRlLmluc3RhbmNlcy5nZXQoc3RhdGUuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5wcm9wZXJ0eS5kYXRhKSB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmRhdGE9e307XHJcbiAgICAgICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEucHJvcGVydHkuZGF0YS5wYXJhbXNMaXN0KSB7XHJcbiAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5wcm9wZXJ0eS5kYXRhLnBhcmFtc0xpc3QgPSBbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmRhdGEucGFyYW1zKSB7XHJcbiAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5wcm9wZXJ0eS5kYXRhLnBhcmFtcyA9IHt9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmRhdGEucGFyYW1zTGlzdCl7XHJcbiAgICAgICAgICAgIGxldCBwYXJhbU9iaj17fTtcclxuICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEucHJvcGVydHkuZGF0YS5wYXJhbXNMaXN0LmZvckVhY2goZnVuY3Rpb24oZWwsaW5kZXgpe1xyXG4gICAgICAgICAgICAgICAgcGFyYW1PYmpbZWwubGFiZWxdPWVsLnZhbHVlO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEucHJvcGVydHkuZGF0YS5wYXJhbXM9cGFyYW1PYmo7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgIHN0YXRlLmluc3RhbmNlcyA9IG5ldyBNYXAoc3RhdGUuaW5zdGFuY2VzKTtcclxuICAgIH0sXHJcbiAgICBkZWxEeW5hbUV2ZW50QXJyKHN0YXRlLGNoaWxkT2JqKXtcclxuICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlPSBzdGF0ZS5pbnN0YW5jZXMuZ2V0KHN0YXRlLmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEucHJvcGVydHkuZHluYW1pYykge1xyXG4gICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5wcm9wZXJ0eS5keW5hbWljPXt9O1xyXG4gICAgICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmR5bmFtaWMucGFyYW1zTGlzdCkge1xyXG4gICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEucHJvcGVydHkuZHluYW1pYy5wYXJhbXNMaXN0ID0gW107XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8g5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEucHJvcGVydHkuZHluYW1pYy5wYXJhbXNMaXN0LnNwbGljZShjaGlsZE9iai5pbmRleCwxKTtcclxuICAgICAgICBzdGF0ZS5pbnN0YW5jZXMgPSBuZXcgTWFwKHN0YXRlLmluc3RhbmNlcyk7XHJcbiAgICB9LFxyXG4gICAgYWRkRHluYW1pY0FycihzdGF0ZSl7XHJcbiAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZT0gc3RhdGUuaW5zdGFuY2VzLmdldChzdGF0ZS5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmR5bmFtaWMpIHtcclxuICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEucHJvcGVydHkuZHluYW1pYz17fTtcclxuICAgICAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5wcm9wZXJ0eS5keW5hbWljLnBhcmFtc0xpc3QpIHtcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmR5bmFtaWMucGFyYW1zTGlzdCA9IFtdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmR5bmFtaWMucGFyYW1zTGlzdC5wdXNoKHtcclxuICAgICAgICAgICAgbGFiZWw6IFwiXCIsXHJcbiAgICAgICAgICAgIHZhbHVlOiBcIlwiXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgc3RhdGUuaW5zdGFuY2VzID0gbmV3IE1hcChzdGF0ZS5pbnN0YW5jZXMpO1xyXG4gICAgfSxcclxuICAgIHVwZGF0ZUR5bmFtaWNBcnIoc3RhdGUpe1xyXG4gICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHN0YXRlLmluc3RhbmNlcy5nZXQoc3RhdGUuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5wcm9wZXJ0eS5keW5hbWljKSB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmR5bmFtaWM9e307XHJcbiAgICAgICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEucHJvcGVydHkuZHluYW1pYy5wYXJhbXNMaXN0KSB7XHJcbiAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5wcm9wZXJ0eS5keW5hbWljLnBhcmFtc0xpc3QgPSBbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmR5bmFtaWMucGFyYW1zKSB7XHJcbiAgICAgICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5wcm9wZXJ0eS5keW5hbWljLnBhcmFtcyA9IHt9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGN1cnJlbnRJbnN0YW5jZS5kYXRhLnByb3BlcnR5LmR5bmFtaWMucGFyYW1zTGlzdCl7XHJcbiAgICAgICAgICAgIGxldCBwYXJhbU9iaj17fTtcclxuICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEucHJvcGVydHkuZHluYW1pYy5wYXJhbXNMaXN0LmZvckVhY2goZnVuY3Rpb24oZWwsaW5kZXgpe1xyXG4gICAgICAgICAgICAgICAgcGFyYW1PYmpbZWwubGFiZWxdPWVsLnZhbHVlO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEucHJvcGVydHkuZHluYW1pYy5wYXJhbXM9cGFyYW1PYmo7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgIHN0YXRlLmluc3RhbmNlcyA9IG5ldyBNYXAoc3RhdGUuaW5zdGFuY2VzKTtcclxuICAgIH0sXHJcbiAgICAvKlxyXG4gICAgIE5vdGUg6IGU5Yqo5aKe5YqgIOWIoOmZpFxyXG4gICAgICovXHJcbiAgICBkZWxMaW5rRXZlbnRBcnIoc3RhdGUsY2hpbGRPYmope1xyXG5cclxuICAgICAgICBsZXQgY3VycmVudEluc3RhbmNlPSBzdGF0ZS5pbnN0YW5jZXMuZ2V0KHN0YXRlLmN1cnJlbnRFZGl0SW5zdGFuY2VLZXkpO1xyXG4gICAgICAgIGlmICghY3VycmVudEluc3RhbmNlLmRhdGEuZXh0ZW5kLmxpbmthZ2VDaGFuZ2VWYWx1ZSkge1xyXG4gICAgICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5leHRlbmQubGlua2FnZUNoYW5nZVZhbHVlID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4dGVuZC5saW5rYWdlQ2hhbmdlVmFsdWUuc3BsaWNlKGNoaWxkT2JqLmluZGV4LDEpO1xyXG4gICAgICAgIHN0YXRlLmluc3RhbmNlcyA9IG5ldyBNYXAoc3RhdGUuaW5zdGFuY2VzKTtcclxuICAgIH0sXHJcbiAgICBkZWxMaW5rRXZlbnRDaGlsZEFycihzdGF0ZSxjaGlsZE9iail7XHJcbiAgICAgICAgbGV0IGN1cnJlbnRJbnN0YW5jZT0gc3RhdGUuaW5zdGFuY2VzLmdldChzdGF0ZS5jdXJyZW50RWRpdEluc3RhbmNlS2V5KTtcclxuICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4dGVuZC5saW5rYWdlQ2hhbmdlVmFsdWUpIHtcclxuICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEuZXh0ZW5kLmxpbmthZ2VDaGFuZ2VWYWx1ZSA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyDkuLrkuovku7bmlrDlop7kuIDpoblcclxuICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5leHRlbmQubGlua2FnZUNoYW5nZVZhbHVlW2NoaWxkT2JqLnBhcmVudEluZGV4XS52YWx1ZXMuc3BsaWNlKGNoaWxkT2JqLmluZGV4LDEpO1xyXG4gICAgICAgIHN0YXRlLmluc3RhbmNlcyA9IG5ldyBNYXAoc3RhdGUuaW5zdGFuY2VzKTtcclxuICAgIH0sXHJcbiAgICBhZGRMaW5rRXZlbnRDaGlsZEFycihzdGF0ZSxjaGlsZE9iail7XHJcblxyXG4gICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHN0YXRlLmluc3RhbmNlcy5nZXQoc3RhdGUuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5leHRlbmQubGlua2FnZUNoYW5nZVZhbHVlKSB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4dGVuZC5saW5rYWdlQ2hhbmdlVmFsdWUgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5leHRlbmQubGlua2FnZUNoYW5nZVZhbHVlW2NoaWxkT2JqLmluZGV4XS52YWx1ZXMpIHtcclxuICAgICAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEuZXh0ZW5kLmxpbmthZ2VDaGFuZ2VWYWx1ZVtjaGlsZE9iai5pbmRleF0udmFsdWVzID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOS4uuS6i+S7tuaWsOWinuS4gOmhuVxyXG4gICAgICAgIC8vIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4dGVuZC5saW5rYWdlQ2hhbmdlVmFsdWVbY2hpbGRPYmouaW5kZXhdLnZhbHVlcz1bXTtcclxuICAgICAgICBjdXJyZW50SW5zdGFuY2UuZGF0YS5leHRlbmQubGlua2FnZUNoYW5nZVZhbHVlW2NoaWxkT2JqLmluZGV4XS52YWx1ZXMucHVzaCh7XHJcbiAgICAgICAgICAgIC8vICBkZXBlbmRWYWx1ZTogXCJcIixcclxuICAgICAgICAgICAgLy9jaGFuZ2VWYWx1ZTogXCJcIixcclxuICAgICAgICAgICAgY2hhbmdlUGFyYW06XCJcIixcclxuICAgICAgICAgICAgY2hhbmdlQXR0cnM6IHtcclxuICAgICAgICAgICAgICAgIFwicmVhZG9ubHlcIjogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBcImNsZWFyYWJsZVwiOiBmYWxzZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgc3RhdGUuaW5zdGFuY2VzID0gbmV3IE1hcChzdGF0ZS5pbnN0YW5jZXMpO1xyXG4gICAgfSxcclxuICAgIGFkZExpbmtFdmVudEFycihzdGF0ZSl7XHJcblxyXG4gICAgICAgIGxldCBjdXJyZW50SW5zdGFuY2U9IHN0YXRlLmluc3RhbmNlcy5nZXQoc3RhdGUuY3VycmVudEVkaXRJbnN0YW5jZUtleSk7XHJcbiAgICAgICAgaWYgKCFjdXJyZW50SW5zdGFuY2UuZGF0YS5leHRlbmQubGlua2FnZUNoYW5nZVZhbHVlKSB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZS5kYXRhLmV4dGVuZC5saW5rYWdlQ2hhbmdlVmFsdWUgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8g5Li65LqL5Lu25paw5aKe5LiA6aG5XHJcbiAgICAgICAgY3VycmVudEluc3RhbmNlLmRhdGEuZXh0ZW5kLmxpbmthZ2VDaGFuZ2VWYWx1ZS5wdXNoKHtcclxuICAgICAgICAgICAgY2hhbmdlS2V5OiBcIlwiLFxyXG4gICAgICAgICAgICB0eXBlOiBcIlwiLFxyXG4gICAgICAgICAgICBpc1ZhbHVlOmZhbHNlLFxyXG4gICAgICAgICAgICBub0NoYW5nZUV4aXN0OmZhbHNlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgc3RhdGUuaW5zdGFuY2VzID0gbmV3IE1hcChzdGF0ZS5pbnN0YW5jZXMpO1xyXG4gICAgfSxcclxuICAgIC8vbm90ZSDliKDpmaRcclxuICAgIGRlbGV0ZUxldmVsMURhdGEoc3RhdGUpe1xyXG4gICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgICAvL05PVEUg6I635Y+W5omA5pyJ57qn5Yir5Li6MeeahO+8iOaOkumZpOagueiKgueCue+8ie+8jOWFqOmDqOWIoOmZpFxyXG4gICAgICAgIGxldCBsb2NhbEluc3RhbmNlcz0gWy4uLnN0YXRlLmluc3RhbmNlc107XHJcbiAgICAgICAgbGV0IG15QXJyPWxvY2FsSW5zdGFuY2VzLnNwbGljZSgwLDEpO1xyXG4gICAgICAgIG15QXJyWzBdWzFdLnNsb3RzLmRlZmF1bHQ9W107XHJcbiAgICAgICAgc3RhdGUuaW5zdGFuY2VzID0gbmV3IE1hcChteUFycik7XHJcblxyXG4gICAgICAgIHRoaXMuY29tbWl0KCd2aWV3cG9ydC9kZWxldGVEb29tRGF0YScsbXlBcnJbMF1bMF0pO1xyXG5cclxuICAgICAgICAvL25vdGUg5Yid5aeL5YyW5qih5p2/55qE5YC8XHJcbiAgICAgICAgLy8gIHRoaXMuY29tbWl0KCd2aWV3cG9ydC9kZWxldGVEYXRhJyxcImdhZWFfaW5zdGFuY2VfMVwiKTsvL25vdGUg6L+Z5Liq5pivY29udGFpblxyXG4gICAgICAgIGV2ZW50YnVzLiRlbWl0KFwiaW5pdFRlbXBsYXRlSW5zdGFuY2VcIik7XHJcbiAgICB9LFxyXG4gICAgLy9ub3RlIOa4heepuuaJgOaciWRvb21cclxuICAgIGRlbGV0ZURvb21EYXRhKHN0YXRlLGN1cnJlbnRLZXkpe1xyXG4gICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgIGxldCBsb2NhbEluc3RhbmNlc0RvbXM9IFsuLi5zdGF0ZS5pbnN0YW5jZURvbXNdO1xyXG4gICAgICAgIGZvcihsZXQgaT0wO2k8bG9jYWxJbnN0YW5jZXNEb21zLmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICBsZXQgbXlLZXk9IGxvY2FsSW5zdGFuY2VzRG9tc1tpXVswXTtcclxuICAgICAgICAgICAgaWYobXlLZXkhPWN1cnJlbnRLZXkpe1xyXG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRDaGlsZD0gc3RhdGUuaW5zdGFuY2VEb21zLmdldChteUtleSk7XHJcbiAgICAgICAgICAgICAgICBsZXQgcGFyZW50ID0gY3VycmVudENoaWxkLnBhcmVudE5vZGU7XHJcbiAgICAgICAgICAgICAgICBwYXJlbnQucmVtb3ZlQ2hpbGQoY3VycmVudENoaWxkKTtcclxuICAgICAgICAgICAgICAgIHN0YXRlLmluc3RhbmNlRG9tcy5kZWxldGUobXlLZXkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9LFxyXG4gICAgZGVsZXRlRGF0YShzdGF0ZSxjdXJyZW50S2V5KXtcclxuICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICBsZXQgY3VycmVudENoaWxkPSBzdGF0ZS5pbnN0YW5jZURvbXMuZ2V0KGN1cnJlbnRLZXkpO1xyXG4gICAgICAgICQoY3VycmVudENoaWxkKS5oaWRlKCk7XHJcbiAgICAgICAgbGV0IHBhcmVudCA9IGN1cnJlbnRDaGlsZC5wYXJlbnROb2RlO1xyXG4gICAgICAgIHN0YXRlLm1vdmVJbnN0YW5jZS5wdXNoKGN1cnJlbnRLZXkpXHJcbiAgICAgICAgLy9wYXJlbnQucmVtb3ZlQ2hpbGQoY3VycmVudENoaWxkKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgICAgc3RhdGUuaW5zdGFuY2VEb21zLmRlbGV0ZShjdXJyZW50S2V5KTtcclxuICAgICAgICAvL+WPluWHuuW9k+WJjeWIoOmZpOWFg+e0oOeahOeItuWFg+e0oCzlubblnKjniLblhYPntKDkuK3liKDpmaTlr7nlupTnmoTlhYPntKBcclxuICAgICAgICBjb25zb2xlLmxvZyhzdGF0ZS5pbnN0YW5jZXMuZ2V0KGN1cnJlbnRLZXkpKTtcclxuICAgICAgICBsZXQgcGFyZW50SW5zdGFuY2VLZXkgPSAgc3RhdGUuaW5zdGFuY2VzLmdldChjdXJyZW50S2V5KS5wYXJlbnRJbnN0YW5jZUtleTtcclxuICAgICAgICBpZihwYXJlbnRJbnN0YW5jZUtleSl7XHJcbiAgICAgICAgICAgIGxldCBjaGlsZEFyciA9IHN0YXRlLmluc3RhbmNlcy5nZXQocGFyZW50SW5zdGFuY2VLZXkpLnNsb3RzLmRlZmF1bHQ7XHJcbiAgICAgICAgICAgIF8ucHVsbEFsbChjaGlsZEFycixbY3VycmVudEtleV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgaW5zdGFuY2VzT2JqID0gc3RhdGUuaW5zdGFuY2VzLmdldChjdXJyZW50S2V5KTtcclxuICAgICAgICAvL+i/nue6p+WIoOmZpOiHqui6q+WSjOWtkOWFg+e0oFxyXG4gICAgICAgIHN0YXRlLmluc3RhbmNlcy5kZWxldGUoY3VycmVudEtleSk7XHJcbiAgICAgICAgc3RhdGUuaW5zdGFuY2VzID0gbmV3IE1hcChzdGF0ZS5pbnN0YW5jZXMpO1xyXG4gICAgfSxcclxuICAgIGRlbGV0ZURhdGFBcnIoc3RhdGUpe1xyXG4gICAgICAgIGRlYnVnZ2VyO1xyXG5cclxuICAgICAgICBjb25zb2xlLmxvZyhzdGF0ZS5pbnN0YW5jZXMpO1xyXG4gICAgICAgIHN0YXRlLm1vdmVJbnN0YW5jZT0gQXJyYXkuZnJvbShuZXcgU2V0KHN0YXRlLm1vdmVJbnN0YW5jZSkpO1xyXG5cclxuICAgICAgICBzdGF0ZS5tb3ZlSW5zdGFuY2UuZm9yRWFjaCgoY3VycmVudEtleSxpbmRleCk9PntcclxuICAgICAgICAgICAgc3RhdGUuaW5zdGFuY2VEb21zLmRlbGV0ZShjdXJyZW50S2V5KTtcclxuICAgICAgICAgICAgLy/lj5blh7rlvZPliY3liKDpmaTlhYPntKDnmoTniLblhYPntKAs5bm25Zyo54i25YWD57Sg5Lit5Yig6Zmk5a+55bqU55qE5YWD57SgXHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHN0YXRlLmluc3RhbmNlcy5nZXQoY3VycmVudEtleSkpO1xyXG4gICAgICAgICAgICBpZihzdGF0ZS5pbnN0YW5jZXMuZ2V0KGN1cnJlbnRLZXkpKXtcclxuICAgICAgICAgICAgICAgIGxldCBwYXJlbnRJbnN0YW5jZUtleSA9ICBzdGF0ZS5pbnN0YW5jZXMuZ2V0KGN1cnJlbnRLZXkpLnBhcmVudEluc3RhbmNlS2V5O1xyXG4gICAgICAgICAgICAgICAgaWYocGFyZW50SW5zdGFuY2VLZXkpe1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBjaGlsZEFyciA9IHN0YXRlLmluc3RhbmNlcy5nZXQocGFyZW50SW5zdGFuY2VLZXkpLnNsb3RzLmRlZmF1bHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgXy5wdWxsQWxsKGNoaWxkQXJyLFtjdXJyZW50S2V5XSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgaW5zdGFuY2VzT2JqID0gc3RhdGUuaW5zdGFuY2VzLmdldChjdXJyZW50S2V5KTtcclxuICAgICAgICAgICAgICAgIC8v6L+e57qn5Yig6Zmk6Ieq6Lqr5ZKM5a2Q5YWD57SgXHJcbiAgICAgICAgICAgICAgICBzdGF0ZS5pbnN0YW5jZXMuZGVsZXRlKGN1cnJlbnRLZXkpO1xyXG4gICAgICAgICAgICAgICAgc3RhdGUuaW5zdGFuY2VzID0gbmV3IE1hcChzdGF0ZS5pbnN0YW5jZXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICBjb25zb2xlLmxvZyhzdGF0ZS5pbnN0YW5jZXMpO1xyXG4gICAgfSxcclxuICAgIGRlbGV0ZUFsbChzdGF0ZSxkYXRhKXtcclxuICAgICAgICBpZihkYXRhLmluc3RhbmNlc09iai5zbG90cy5kZWZhdWx0JiZkYXRhLmluc3RhbmNlc09iai5zbG90cy5kZWZhdWx0Lmxlbmd0aD4wKXtcclxuICAgICAgICAgICAgZGF0YS5pbnN0YW5jZXNPYmouc2xvdHMuZGVmYXVsdC5mb3JFYWNoKChpdGVtKT0+e1xyXG4gICAgICAgICAgICAgICAgbGV0IGluc3RhbmNlc09iaiA9IHN0YXRlLmluc3RhbmNlcy5nZXQoaXRlbSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbW1pdCgndmlld3BvcnQvZGVsZXRlQWxsJyx7aW5zdGFuY2VzT2JqOmluc3RhbmNlc09iaixkZWxPYmo6aXRlbX0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3RhdGUuaW5zdGFuY2VzLmRlbGV0ZShkYXRhLmRlbE9iaik7XHJcbiAgICB9XHJcbn1cclxubGV0IG5ld09iaj1PYmplY3QuYXNzaWduKHZpZXdwb3J0Lm11dGF0aW9ucywgc2VsZk11dGF0aW9uKTtcclxudmlld3BvcnQubXV0YXRpb25zPW5ld09iajtcclxuZXhwb3J0IGRlZmF1bHQgdmlld3BvcnQ7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9zdG9yZS9lZGl0b3Ivdmlld3BvcnQuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///827\n");
5520
5521/***/ }),
5522/* 828 */
5523/***/ (function(module, exports, __webpack_require__) {
5524
5525eval("module.exports = { \"default\": __webpack_require__(829), __esModule: true };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2JhYmVsLXJ1bnRpbWVANi4yNi4wQGJhYmVsLXJ1bnRpbWUvY29yZS1qcy9zZXQuanM/Y2VjMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrQkFBa0IsWUFBWSxtQkFBTyxDQUFDLEdBQXdCIiwiZmlsZSI6IjgyOC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0geyBcImRlZmF1bHRcIjogcmVxdWlyZShcImNvcmUtanMvbGlicmFyeS9mbi9zZXRcIiksIF9fZXNNb2R1bGU6IHRydWUgfTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9fYmFiZWwtcnVudGltZUA2LjI2LjBAYmFiZWwtcnVudGltZS9jb3JlLWpzL3NldC5qc1xuLy8gbW9kdWxlIGlkID0gODI4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///828\n");
5526
5527/***/ }),
5528/* 829 */
5529/***/ (function(module, exports, __webpack_require__) {
5530
5531eval("__webpack_require__(63);\n__webpack_require__(27);\n__webpack_require__(29);\n__webpack_require__(830);\n__webpack_require__(831);\n__webpack_require__(832);\n__webpack_require__(833);\nmodule.exports = __webpack_require__(9).Set;\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L2ZuL3NldC5qcz8yOWYxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUFPLENBQUMsRUFBaUM7QUFDekMsbUJBQU8sQ0FBQyxFQUFnQztBQUN4QyxtQkFBTyxDQUFDLEVBQTZCO0FBQ3JDLG1CQUFPLENBQUMsR0FBb0I7QUFDNUIsbUJBQU8sQ0FBQyxHQUE0QjtBQUNwQyxtQkFBTyxDQUFDLEdBQXVCO0FBQy9CLG1CQUFPLENBQUMsR0FBeUI7QUFDakMsaUJBQWlCLG1CQUFPLENBQUMsQ0FBa0IiLCJmaWxlIjoiODI5LmpzIiwic291cmNlc0NvbnRlbnQiOlsicmVxdWlyZSgnLi4vbW9kdWxlcy9lczYub2JqZWN0LnRvLXN0cmluZycpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYuc3RyaW5nLml0ZXJhdG9yJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL3dlYi5kb20uaXRlcmFibGUnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnNldCcpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczcuc2V0LnRvLWpzb24nKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM3LnNldC5vZicpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczcuc2V0LmZyb20nKTtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi4vbW9kdWxlcy9fY29yZScpLlNldDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9mbi9zZXQuanNcbi8vIG1vZHVsZSBpZCA9IDgyOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///829\n");
5532
5533/***/ }),
5534/* 830 */
5535/***/ (function(module, exports, __webpack_require__) {
5536
5537"use strict";
5538eval("\nvar strong = __webpack_require__(207);\nvar validate = __webpack_require__(69);\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = __webpack_require__(208)(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2LnNldC5qcz9mYTkzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsYUFBYSxtQkFBTyxDQUFDLEdBQXNCO0FBQzNDLGVBQWUsbUJBQU8sQ0FBQyxFQUF3QjtBQUMvQzs7QUFFQTtBQUNBLGlCQUFpQixtQkFBTyxDQUFDLEdBQWU7QUFDeEMseUJBQXlCLG1FQUFtRTtBQUM1RixDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6IjgzMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcbnZhciBzdHJvbmcgPSByZXF1aXJlKCcuL19jb2xsZWN0aW9uLXN0cm9uZycpO1xudmFyIHZhbGlkYXRlID0gcmVxdWlyZSgnLi9fdmFsaWRhdGUtY29sbGVjdGlvbicpO1xudmFyIFNFVCA9ICdTZXQnO1xuXG4vLyAyMy4yIFNldCBPYmplY3RzXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2NvbGxlY3Rpb24nKShTRVQsIGZ1bmN0aW9uIChnZXQpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIFNldCgpIHsgcmV0dXJuIGdldCh0aGlzLCBhcmd1bWVudHMubGVuZ3RoID4gMCA/IGFyZ3VtZW50c1swXSA6IHVuZGVmaW5lZCk7IH07XG59LCB7XG4gIC8vIDIzLjIuMy4xIFNldC5wcm90b3R5cGUuYWRkKHZhbHVlKVxuICBhZGQ6IGZ1bmN0aW9uIGFkZCh2YWx1ZSkge1xuICAgIHJldHVybiBzdHJvbmcuZGVmKHZhbGlkYXRlKHRoaXMsIFNFVCksIHZhbHVlID0gdmFsdWUgPT09IDAgPyAwIDogdmFsdWUsIHZhbHVlKTtcbiAgfVxufSwgc3Ryb25nKTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL2VzNi5zZXQuanNcbi8vIG1vZHVsZSBpZCA9IDgzMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///830\n");
5539
5540/***/ }),
5541/* 831 */
5542/***/ (function(module, exports, __webpack_require__) {
5543
5544eval("// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = __webpack_require__(10);\n\n$export($export.P + $export.R, 'Set', { toJSON: __webpack_require__(209)('Set') });\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3LnNldC50by1qc29uLmpzP2Y3MDEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsRUFBVzs7QUFFakMsdUNBQXVDLFNBQVMsbUJBQU8sQ0FBQyxHQUF1QixVQUFVIiwiZmlsZSI6IjgzMS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9EYXZpZEJydWFudC9NYXAtU2V0LnByb3RvdHlwZS50b0pTT05cbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5SLCAnU2V0JywgeyB0b0pTT046IHJlcXVpcmUoJy4vX2NvbGxlY3Rpb24tdG8tanNvbicpKCdTZXQnKSB9KTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19jb3JlLWpzQDIuNi45QGNvcmUtanMvbGlicmFyeS9tb2R1bGVzL2VzNy5zZXQudG8tanNvbi5qc1xuLy8gbW9kdWxlIGlkID0gODMxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///831\n");
5545
5546/***/ }),
5547/* 832 */
5548/***/ (function(module, exports, __webpack_require__) {
5549
5550eval("// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of\n__webpack_require__(210)('Set');\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3LnNldC5vZi5qcz8wNzUwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsbUJBQU8sQ0FBQyxHQUFzQiIsImZpbGUiOiI4MzIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL3Byb3Bvc2FsLXNldG1hcC1vZmZyb20vI3NlYy1zZXQub2ZcbnJlcXVpcmUoJy4vX3NldC1jb2xsZWN0aW9uLW9mJykoJ1NldCcpO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3LnNldC5vZi5qc1xuLy8gbW9kdWxlIGlkID0gODMyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///832\n");
5551
5552/***/ }),
5553/* 833 */
5554/***/ (function(module, exports, __webpack_require__) {
5555
5556eval("// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from\n__webpack_require__(211)('Set');\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3LnNldC5mcm9tLmpzPzEyZjUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxtQkFBTyxDQUFDLEdBQXdCIiwiZmlsZSI6IjgzMy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vcHJvcG9zYWwtc2V0bWFwLW9mZnJvbS8jc2VjLXNldC5mcm9tXG5yZXF1aXJlKCcuL19zZXQtY29sbGVjdGlvbi1mcm9tJykoJ1NldCcpO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvX2NvcmUtanNAMi42LjlAY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3LnNldC5mcm9tLmpzXG4vLyBtb2R1bGUgaWQgPSA4MzNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///833\n");
5557
5558/***/ }),
5559/* 834 */
5560/***/ (function(module, exports, __webpack_require__) {
5561
5562"use strict";
5563eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar validateClick = [{\n \"key\": \"鼠标移出(如:文本框)\",\n \"value\": \"blur\"\n}, {\n \"key\": \"改变选中的值(如:下拉框、单选)\",\n \"value\": \"change\"\n}];\n\nvar validateCustomeAllType = [{\n \"key\": \"是\",\n \"value\": \"all\"\n}, {\n \"key\": \"否\",\n \"value\": \"\"\n}];\n\nvar validateType = [{\n \"key\": \"自定义 custom\",\n \"value\": \"custom\"\n}, {\n \"key\": \"支持数字和字母 numAndLetter\",\n \"value\": \"numAndLetter\"\n}, {\n \"key\": \"手机 mobile\",\n \"value\": \"mobile\"\n}, {\n \"key\": \"手机加座机 mobilePhone\",\n \"value\": \"mobilePhone\"\n}, {\n \"key\": \"手机加座机(可空) mobilePhone1\",\n \"value\": \"mobilePhone1\"\n}, {\n \"key\": \"银行账号校验 bankCard\",\n \"value\": \"bankCard\"\n}, {\n \"key\": \"数字校验 number\",\n \"value\": \"number\"\n}, {\n \"key\": \"身份证有效期校验 validDate\",\n \"value\": \"validDate\"\n}, {\n \"key\": \"身份证校验 identification\",\n \"value\": \"identification\"\n}, {\n \"key\": \"身份证校验非必填 identification2\",\n \"value\": \"identification2\"\n}, {\n \"key\": \"日期校验 daterange\",\n \"value\": \"daterange\"\n}, {\n \"key\": \"职工总数的校验 workerNum\",\n \"value\": \"workerNum\"\n}, {\n \"key\": \"时间不能超过7天 noMoreDay\",\n \"value\": \"noMoreDay\"\n}, {\n \"key\": \"预案地址校验 checkAddress\",\n \"value\": \"checkAddress\"\n}, {\n \"key\": \"占地面积 area\",\n \"value\": \"area\"\n}, {\n \"key\": \"食品,面积增加校验50平以下,增加校验,问题重新梳理 area2\",\n \"value\": \"area2\"\n}, {\n \"key\": \"传真 faxx\",\n \"value\": \"faxx\"\n}, {\n \"key\": \"数字首字母可以为0 number1\",\n \"value\": \"number1\"\n}, {\n \"key\": \"正整数不包括0 number2\",\n \"value\": \"number2\"\n}, {\n \"key\": \"数字两位小数 number3\",\n \"value\": \"number3\"\n}, {\n \"key\": \"仅支持两位整数 number4\",\n \"value\": \"number4\"\n}, {\n \"key\": \"数字四位小数 number5\",\n \"value\": \"number5\"\n}, {\n \"key\": \"邮编 stamp\",\n \"value\": \"stamp\"\n}, {\n \"key\": \"邮箱 email\",\n \"value\": \"email\"\n}, {\n \"key\": \"输入文本内容不超过多少字 notMoreWords\",\n \"value\": \"notMoreWords\"\n}, {\n \"key\": \"只支持中英文 userName\",\n \"value\": \"userName\"\n}, {\n \"key\": \"不输入的时候的校验 notNumber\",\n \"value\": \"notNumber\"\n}, {\n \"key\": \"统一社会信用代码校验 socialCode\",\n \"value\": \"socialCode\"\n}, {\n \"key\": \"车牌号校验 vehicleLicense\",\n \"value\": \"vehicleLicense\"\n}, {\n \"key\": \"联动必填校验 linkage\",\n \"value\": \"linkage\"\n}, {\n \"key\": \"环评批复文号格式 sevenNumber\",\n \"value\": \"sevenNumber\"\n}, {\n \"key\": \"社会保障卡卡号 sna/sns开头加9位数字 insuranceCardNum\",\n \"value\": \"insuranceCardNum\"\n}, {\n \"key\": \"验证截止时间 endTimeStr\",\n \"value\": \"endTimeStr\"\n}, {\n \"key\": \"不动产产权验证 estateRules\",\n \"value\": \"estateRules\"\n}, {\n \"key\": \"不动产单元证号验证规则 realEstateUnit\",\n \"value\": \"realEstateUnit\"\n}, {\n \"key\": \"中文校验 chinese\",\n \"value\": \"chinese\"\n}];\n\nvar buttonType = [{\n \"key\": \"成功\",\n \"value\": \"success\"\n}, {\n \"key\": \"失败\",\n \"value\": \"error\"\n}, {\n \"key\": \"警告\",\n \"value\": \"warning\"\n}];\n\nvar addressReq = [{\n \"key\": \"自取\",\n \"value\": \"0\"\n}, {\n \"key\": \"邮寄\",\n \"value\": \"1\"\n}];\n\nvar attachFileType = [{\n \"key\": \"有操作\",\n \"value\": \"withAction\"\n}, {\n \"key\": \"无操作\",\n \"value\": \"noAction\"\n}];\n\nvar cellType = [{\n \"key\": \"下拉框或单选框\",\n \"value\": \"select\"\n}, {\n \"key\": \"多选框\",\n \"value\": \"checkboxMultiple\"\n}, {\n \"key\": \"二维多选框\",\n \"value\": \"checkboxMultipleRadio\"\n}, {\n \"key\": \"非下拉框\",\n \"value\": \"\"\n}];\n\nvar dateType = [{\n \"key\": \"之前\",\n \"value\": \"before\"\n}, {\n \"key\": \"之后\",\n \"value\": \"after\"\n}, {\n \"key\": \"今天之前\",\n \"value\": \"beforeToday\"\n}, {\n \"key\": \"今天之后\",\n \"value\": \"afterToday\"\n}, {\n \"key\": \"在开始时间之后\",\n \"value\": \"afterStartTime\"\n}, {\n \"key\": \"两天之后\",\n \"value\": \"afterTowDays\"\n}, {\n \"key\": \"依赖日期或者大于依赖日期一定天数的日期\",\n \"value\": \"beforeTodayAndAfterEnd\"\n}, {\n \"key\": \"禁选早于依赖日期或者大于依赖日期一定天数的日期\",\n \"value\": \"beforeStartAndAfterDays\"\n}, {\n \"key\": \"禁选早于依赖日期或者大于依赖日期一定天数的日期包含起始日期 \",\n \"value\": \"beforeStartAndAfterDaysIncludeStart\"\n}, {\n \"key\": \"禁选早于依赖日期或者大于依赖日期一定天数的日期包含结束日期\",\n \"value\": \"beforeStartAndAfterDaysIncludeEnd\"\n}, {\n \"key\": \"禁选早于依赖日期一定天数的日期或者晚于依赖日期包含起止日期\",\n \"value\": \"beforeStartAndAfterDaysIncludeBoth\"\n}, {\n \"key\": \"禁选早于依赖日期一定天数的日期或者晚于依赖日期\",\n \"value\": \"afterStartAndbeforeDays\"\n}, {\n \"key\": \"禁选早于依赖日期一定天数的日期或者晚于依赖日期 包含起始日期\",\n \"value\": \"afterStartAndbeforeDaysIncludeStart\"\n}, {\n \"key\": \"禁选早于依赖日期一定天数的日期或者晚于依赖日期 包含结束日期\",\n \"value\": \"afterStartAndbeforeDaysIncludeEnd\"\n}, {\n \"key\": \"禁选早于依赖日期一定天数的日期或者晚于依赖日期 包含起止日期\",\n \"value\": \"afterStartAndbeforeDaysIncludeBoth\"\n}];\n\nvar clickType = [{\n \"key\": \"提交\",\n \"value\": \"submitClick\"\n}, {\n \"key\": \"上一步\",\n \"value\": \"prevStepClick\"\n}, {\n \"key\": \"办事指南\",\n \"value\": \"guideClick\"\n}, {\n \"key\": \"下一步\",\n \"value\": \"nextStepClick\"\n}, {\n \"key\": \"保存\",\n \"value\": \"saveClick\"\n}];\n\nvar timeType = [{\n \"key\": \"时分\",\n \"value\": \"HH:mm\"\n}, {\n \"key\": \"时分秒\",\n \"value\": \"HH:mm:ss\"\n}];\n\nvar inputType = [{\n \"key\": \"文本框\",\n \"value\": \"text\"\n}, {\n \"key\": \"密码框\",\n \"value\": \"password\"\n}, {\n \"key\": \"多行文本输入框\",\n \"value\": \"textarea\"\n}];\n\nvar stepSelect = [{\n \"key\": \"填写资料\",\n \"value\": \"填写资料\"\n}, {\n \"key\": \"上传附件\",\n \"value\": \"上传附件\"\n}, {\n \"key\": \"提交审核\",\n \"value\": \"提交审核\"\n}, {\n \"key\": \"支付缴费\",\n \"value\": \"支付缴费\"\n}, {\n \"key\": \"已办结\",\n \"value\": \"已办结\"\n}];\n\nvar instanceArr = [\"gaea_instance_box_IImV\", \"gaea_instance_form_53Io\", \"gaea_instance_1nl3oltonaj\", \"gaea_instance_13aw5o5b9c3\", \"gaea_instance_rl2n7u7ilw\", \"gaea_instance_2e9ptf3knhw\", \"gaea_instance_fo5ww3hpwb\", \"gaea_instance_28urawo5lyh\", \"gaea_instance_vthuhnycgh\", \"gaea_instance_6bf0wzs2vx\", \"gaea_instance_2bt3l06er55\", \"gaea_instance_25svevg5g37\"];\nvar config = {\n instances: instanceArr,\n buttonType: buttonType,\n addressReq: addressReq,\n attachFileType: attachFileType,\n cellType: cellType,\n dateType: dateType,\n clickType: clickType,\n inputType: inputType,\n timeType: timeType,\n stepSelect: stepSelect,\n TITLE: [{\n \"label\": \"填写资料\",\n \"value\": \"填写资料\"\n }, {\n \"label\": \"上传附件\",\n \"value\": \"上传附件\"\n }, {\n \"label\": \"提交审核\",\n \"value\": \"提交审核\"\n }, {\n \"label\": \"支付缴费\",\n \"value\": \"支付缴费\"\n }, {\n \"label\": \"已办结\",\n \"value\": \"已办结\"\n }],\n\n MAXSTEPS: [{\n \"label\": \"4\",\n \"value\": \"4\"\n }, {\n \"label\": \"5\",\n \"value\": \"5\"\n }],\n\n iconBtnType: [{\n \"key\": \"删除\",\n \"value\": \"icoDel\"\n }],\n\n validateType: validateType,\n validateCustomeAllType: validateCustomeAllType,\n validateClick: validateClick,\n page: {\n \"title\": \"填写资料\",\n \"maxSteps\": 1,\n \"fullModel\": {\n \"templateCache\": {\n \"validators\": []\n }\n },\n randomFormName: function randomFormName(len) {\n len = len || 10;\n var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';\n var maxPos = $chars.length;\n var pwd = '';\n for (var i = 0; i < len; i++) {\n pwd += $chars.charAt(Math.floor(Math.random() * maxPos));\n }\n return pwd;\n }\n }\n\n};\n\nexports.default = config;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9teVBsdWdpbi9wYWdlLWlkZS9saWIvc3RhdGljL2RhdGEvY29uZmlnUGFnZUlkZS5qcz85Mzg4Il0sIm5hbWVzIjpbInZhbGlkYXRlQ2xpY2siLCJ2YWxpZGF0ZUN1c3RvbWVBbGxUeXBlIiwidmFsaWRhdGVUeXBlIiwiYnV0dG9uVHlwZSIsImFkZHJlc3NSZXEiLCJhdHRhY2hGaWxlVHlwZSIsImNlbGxUeXBlIiwiZGF0ZVR5cGUiLCJjbGlja1R5cGUiLCJ0aW1lVHlwZSIsImlucHV0VHlwZSIsInN0ZXBTZWxlY3QiLCJpbnN0YW5jZUFyciIsImNvbmZpZyIsImluc3RhbmNlcyIsIlRJVExFIiwiTUFYU1RFUFMiLCJpY29uQnRuVHlwZSIsInBhZ2UiLCJyYW5kb21Gb3JtTmFtZSIsImxlbiIsIiRjaGFycyIsIm1heFBvcyIsImxlbmd0aCIsInB3ZCIsImkiLCJjaGFyQXQiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLElBQU1BLGdCQUFjLENBQ2hCO0FBQ0ksV0FBTyxhQURYO0FBRUksYUFBUztBQUZiLENBRGdCLEVBSWQ7QUFDRSxXQUFPLGtCQURUO0FBRUUsYUFBUztBQUZYLENBSmMsQ0FBcEI7O0FBV0EsSUFBTUMseUJBQXVCLENBQ3pCO0FBQ0ksV0FBTyxHQURYO0FBRUksYUFBUztBQUZiLENBRHlCLEVBSXZCO0FBQ0UsV0FBTyxHQURUO0FBRUUsYUFBUztBQUZYLENBSnVCLENBQTdCOztBQVdBLElBQU1DLGVBQWEsQ0FDZjtBQUNJLFdBQU8sWUFEWDtBQUVJLGFBQVM7QUFGYixDQURlLEVBS2Y7QUFDSSxXQUFPLHNCQURYO0FBRUksYUFBUztBQUZiLENBTGUsRUFTZjtBQUNJLFdBQU8sV0FEWDtBQUVJLGFBQVM7QUFGYixDQVRlLEVBYWY7QUFDSSxXQUFPLG1CQURYO0FBRUksYUFBUztBQUZiLENBYmUsRUFpQmY7QUFDSSxXQUFPLHdCQURYO0FBRUksYUFBUztBQUZiLENBakJlLEVB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5Y+R57G75Z6LXHJcbmNvbnN0IHZhbGlkYXRlQ2xpY2s9W1xyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi6byg5qCH56e75Ye677yI5aaCOuaWh+acrOahhu+8iVwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJibHVyXCJcclxuICAgIH0se1xyXG4gICAgICAgIFwia2V5XCI6IFwi5pS55Y+Y6YCJ5Lit55qE5YC8KOWmgjrkuIvmi4nmoYbjgIHljZXpgIkpXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOiBcImNoYW5nZVwiXHJcbiAgICB9XTtcclxuXHJcblxyXG4vL25vdGUg5a6a5LmJ6Ieq5a6a5LmJ5qCh6amX6aGe5Z6LXHJcbmNvbnN0IHZhbGlkYXRlQ3VzdG9tZUFsbFR5cGU9W1xyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi5pivXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOiBcImFsbFwiXHJcbiAgICB9LHtcclxuICAgICAgICBcImtleVwiOiBcIuWQplwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJcIlxyXG4gICAgfV07XHJcblxyXG5cclxuLy9ub3RlIOWumuS5ieagoemqjOexu+Wei1xyXG5jb25zdCB2YWxpZGF0ZVR5cGU9W1xyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi6Ieq5a6a5LmJIGN1c3RvbVwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJjdXN0b21cIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuaUr+aMgeaVsOWtl+WSjOWtl+avjSBudW1BbmRMZXR0ZXJcIixcclxuICAgICAgICBcInZhbHVlXCI6IFwibnVtQW5kTGV0dGVyXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLmiYvmnLogbW9iaWxlXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOiBcIm1vYmlsZVwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi5omL5py65Yqg5bqn5py6IG1vYmlsZVBob25lXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOiBcIm1vYmlsZVBob25lXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLmiYvmnLrliqDluqfmnLoo5Y+v56m6KSBtb2JpbGVQaG9uZTFcIixcclxuICAgICAgICBcInZhbHVlXCI6IFwibW9iaWxlUGhvbmUxXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLpk7booYzotKblj7fmoKHpqowgYmFua0NhcmRcIixcclxuICAgICAgICBcInZhbHVlXCI6IFwiYmFua0NhcmRcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuaVsOWtl+agoemqjCBudW1iZXJcIixcclxuICAgICAgICBcInZhbHVlXCI6IFwibnVtYmVyXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLouqvku73or4HmnInmlYjmnJ/moKHpqowgdmFsaWREYXRlXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOiBcInZhbGlkRGF0ZVwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi6Lqr5Lu96K+B5qCh6aqMIGlkZW50aWZpY2F0aW9uXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOiBcImlkZW50aWZpY2F0aW9uXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLouqvku73or4HmoKHpqozpnZ7lv4XloasgaWRlbnRpZmljYXRpb24yXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOiBcImlkZW50aWZpY2F0aW9uMlwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi5pel5pyf5qCh6aqMIGRhdGVyYW5nZVwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJkYXRlcmFuZ2VcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuiBjOW3peaAu+aVsOeahOagoemqjCB3b3JrZXJOdW1cIixcclxuICAgICAgICBcInZhbHVlXCI6IFwid29ya2VyTnVtXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLml7bpl7TkuI3og73otoXov4c35aSpIG5vTW9yZURheVwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJub01vcmVEYXlcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIumihOahiOWcsOWdgOagoemqjCBjaGVja0FkZHJlc3NcIixcclxuICAgICAgICBcInZhbHVlXCI6IFwiY2hlY2tBZGRyZXNzXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLljaDlnLDpnaLnp68gYXJlYVwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJhcmVhXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLpo5/lk4HvvIzpnaLnp6/lop7liqDmoKHpqow1MOW5s+S7peS4i++8jOWinuWKoOagoemqjO+8jOmXrumimOmHjeaWsOais+eQhiBhcmVhMlwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJhcmVhMlwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi5Lyg55yfIGZheHhcIixcclxuICAgICAgICBcInZhbHVlXCI6IFwiZmF4eFwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi5pWw5a2X6aaW5a2X5q+N5Y+v5Lul5Li6MCBudW1iZXIxXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOiBcIm51bWJlcjFcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuato+aVtOaVsOS4jeWMheaLrDAgbnVtYmVyMlwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJudW1iZXIyXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLmlbDlrZfkuKTkvY3lsI/mlbAgbnVtYmVyM1wiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJudW1iZXIzXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLku4XmlK/mjIHkuKTkvY3mlbTmlbAgbnVtYmVyNFwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJudW1iZXI0XCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLmlbDlrZflm5vkvY3lsI/mlbAgbnVtYmVyNVwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJudW1iZXI1XCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLpgq7nvJYgc3RhbXBcIixcclxuICAgICAgICBcInZhbHVlXCI6IFwic3RhbXBcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIumCrueusSBlbWFpbFwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJlbWFpbFwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi6L6T5YWl5paH5pys5YaF5a655LiN6LaF6L+H5aSa5bCR5a2XIG5vdE1vcmVXb3Jkc1wiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJub3RNb3JlV29yZHNcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuWPquaUr+aMgeS4reiLseaWhyB1c2VyTmFtZVwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJ1c2VyTmFtZVwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi5LiN6L6T5YWl55qE5pe25YCZ55qE5qCh6aqMIG5vdE51bWJlclwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJub3ROdW1iZXJcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIue7n+S4gOekvuS8muS/oeeUqOS7o+eggeagoemqjCBzb2NpYWxDb2RlXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOiBcInNvY2lhbENvZGVcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIui9pueJjOWPt+agoemqjCB2ZWhpY2xlTGljZW5zZVwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJ2ZWhpY2xlTGljZW5zZVwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi6IGU5Yqo5b+F5aGr5qCh6aqMIGxpbmthZ2VcIixcclxuICAgICAgICBcInZhbHVlXCI6IFwibGlua2FnZVwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi546v6K+E5om55aSN5paH5Y+35qC85byPIHNldmVuTnVtYmVyXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOiBcInNldmVuTnVtYmVyXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLnpL7kvJrkv53pmpzljaHljaHlj7cgc25hL3Nuc+W8gOWktOWKoDnkvY3mlbDlrZcgaW5zdXJhbmNlQ2FyZE51bVwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJpbnN1cmFuY2VDYXJkTnVtXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLpqozor4HmiKrmraLml7bpl7QgZW5kVGltZVN0clwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJlbmRUaW1lU3RyXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLkuI3liqjkuqfkuqfmnYPpqozor4EgZXN0YXRlUnVsZXNcIixcclxuICAgICAgICBcInZhbHVlXCI6IFwiZXN0YXRlUnVsZXNcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuS4jeWKqOS6p+WNleWFg+ivgeWPt+mqjOivgeinhOWImSByZWFsRXN0YXRlVW5pdFwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJyZWFsRXN0YXRlVW5pdFwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi5Lit5paH5qCh6aqMIGNoaW5lc2VcIixcclxuICAgICAgICBcInZhbHVlXCI6IFwiY2hpbmVzZVwiXHJcbiAgICB9XHJcblxyXG5cclxuXTtcclxuXHJcblxyXG5cclxuLy9ub3RlIOWumuS5ieaMiemSruexu+Wei1xyXG5jb25zdCBidXR0b25UeXBlPVtcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuaIkOWKn1wiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJzdWNjZXNzXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLlpLHotKVcIixcclxuICAgICAgICBcInZhbHVlXCI6IFwiZXJyb3JcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuitpuWRilwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJ3YXJuaW5nXCJcclxuICAgIH1cclxuXTtcclxuLy9ub3RlIOWumuS5ieWcsOWdgOivt+axguiHquWPluaIluiAhemCruWvhFxyXG5jb25zdCBhZGRyZXNzUmVxPVtcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuiHquWPllwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCIwXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLpgq7lr4RcIixcclxuICAgICAgICBcInZhbHVlXCI6IFwiMVwiXHJcbiAgICB9XHJcbl07XHJcbi8vbm90ZSDlrprkuYnmlofku7bkuIrkvKDnsbvlnotcclxuY29uc3QgYXR0YWNoRmlsZVR5cGU9W1xyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi5pyJ5pON5L2cXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOiBcIndpdGhBY3Rpb25cIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuaXoOaTjeS9nFwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJub0FjdGlvblwiXHJcbiAgICB9XHJcbl07XHJcbi8vbm90ZSDlrprkuYnljZXlhYPlkITnsbvlnotcclxuY29uc3QgY2VsbFR5cGU9W1xyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi5LiL5ouJ5qGG5oiW5Y2V6YCJ5qGGXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOiBcInNlbGVjdFwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi5aSa6YCJ5qGGXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOiBcImNoZWNrYm94TXVsdGlwbGVcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuS6jOe7tOWkmumAieahhlwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJjaGVja2JveE11bHRpcGxlUmFkaW9cIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIumdnuS4i+aLieahhlwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJcIlxyXG4gICAgfVxyXG5dO1xyXG4vL25vdGUg5a6a5LmJ5pel5pyf5qCh6aqM5pe26Ze057G75Z6LXHJcbmNvbnN0IGRhdGVUeXBlPVtcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuS5i+WJjVwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJiZWZvcmVcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuS5i+WQjlwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJhZnRlclwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi5LuK5aSp5LmL5YmNXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOiBcImJlZm9yZVRvZGF5XCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLku4rlpKnkuYvlkI5cIixcclxuICAgICAgICBcInZhbHVlXCI6IFwiYWZ0ZXJUb2RheVwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi5Zyo5byA5aeL5pe26Ze05LmL5ZCOXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOiBcImFmdGVyU3RhcnRUaW1lXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLkuKTlpKnkuYvlkI5cIixcclxuICAgICAgICBcInZhbHVlXCI6IFwiYWZ0ZXJUb3dEYXlzXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLkvp3otZbml6XmnJ/miJbogIXlpKfkuo7kvp3otZbml6XmnJ/kuIDlrprlpKnmlbDnmoTml6XmnJ9cIixcclxuICAgICAgICBcInZhbHVlXCI6IFwiYmVmb3JlVG9kYXlBbmRBZnRlckVuZFwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi56aB6YCJ5pep5LqO5L6d6LWW5pel5pyf5oiW6ICF5aSn5LqO5L6d6LWW5pel5pyf5LiA5a6a5aSp5pWw55qE5pel5pyfXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOiBcImJlZm9yZVN0YXJ0QW5kQWZ0ZXJEYXlzXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLnpoHpgInml6nkuo7kvp3otZbml6XmnJ/miJbogIXlpKfkuo7kvp3otZbml6XmnJ/kuIDlrprlpKnmlbDnmoTml6XmnJ/ljIXlkKvotbflp4vml6XmnJ8gICBcIixcclxuICAgICAgICBcInZhbHVlXCI6IFwiYmVmb3JlU3RhcnRBbmRBZnRlckRheXNJbmNsdWRlU3RhcnRcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuemgemAieaXqeS6juS+nei1luaXpeacn+aIluiAheWkp+S6juS+nei1luaXpeacn+S4gOWumuWkqeaVsOeahOaXpeacn+WMheWQq+e7k+adn+aXpeacn1wiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJiZWZvcmVTdGFydEFuZEFmdGVyRGF5c0luY2x1ZGVFbmRcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuemgemAieaXqeS6juS+nei1luaXpeacn+S4gOWumuWkqeaVsOeahOaXpeacn+aIluiAheaZmuS6juS+nei1luaXpeacn+WMheWQq+i1t+atouaXpeacn1wiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJiZWZvcmVTdGFydEFuZEFmdGVyRGF5c0luY2x1ZGVCb3RoXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLnpoHpgInml6nkuo7kvp3otZbml6XmnJ/kuIDlrprlpKnmlbDnmoTml6XmnJ/miJbogIXmmZrkuo7kvp3otZbml6XmnJ9cIixcclxuICAgICAgICBcInZhbHVlXCI6IFwiYWZ0ZXJTdGFydEFuZGJlZm9yZURheXNcIlxyXG4gICAgfSwge1xyXG4gICAgICAgIFwia2V5XCI6IFwi56aB6YCJ5pep5LqO5L6d6LWW5pel5pyf5LiA5a6a5aSp5pWw55qE5pel5pyf5oiW6ICF5pma5LqO5L6d6LWW5pel5pyfIOWMheWQq+i1t+Wni+aXpeacn1wiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJhZnRlclN0YXJ0QW5kYmVmb3JlRGF5c0luY2x1ZGVTdGFydFwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi56aB6YCJ5pep5LqO5L6d6LWW5pel5pyf5LiA5a6a5aSp5pWw55qE5pel5pyf5oiW6ICF5pma5LqO5L6d6LWW5pel5pyfIOWMheWQq+e7k+adn+aXpeacn1wiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJhZnRlclN0YXJ0QW5kYmVmb3JlRGF5c0luY2x1ZGVFbmRcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuemgemAieaXqeS6juS+nei1luaXpeacn+S4gOWumuWkqeaVsOeahOaXpeacn+aIluiAheaZmuS6juS+nei1luaXpeacnyDljIXlkKvotbfmraLml6XmnJ9cIixcclxuICAgICAgICBcInZhbHVlXCI6IFwiYWZ0ZXJTdGFydEFuZGJlZm9yZURheXNJbmNsdWRlQm90aFwiXHJcbiAgICB9XHJcbl07XHJcbi8vbm90ZSDlrprkuYnngrnlh7vkuovku7bnsbvlnotcclxuY29uc3QgY2xpY2tUeXBlPVtcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOlwi5o+Q5LqkXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOlwic3VibWl0Q2xpY2tcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOlwi5LiK5LiA5q2lXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOlwicHJldlN0ZXBDbGlja1wiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi5Yqe5LqL5oyH5Y2XXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOiBcImd1aWRlQ2xpY2tcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuS4i+S4gOatpVwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJuZXh0U3RlcENsaWNrXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLkv53lrZhcIixcclxuICAgICAgICBcInZhbHVlXCI6IFwic2F2ZUNsaWNrXCJcclxuICAgIH1cclxuXTtcclxuXHJcbi8vbm90ZSDlrprkuYnml7bpl7TnsbvlnotcclxuY29uc3QgdGltZVR5cGU9W1xyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi5pe25YiGXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOiBcIkhIOm1tXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJrZXlcIjogXCLml7bliIbnp5JcIixcclxuICAgICAgICBcInZhbHVlXCI6IFwiSEg6bW06c3NcIlxyXG4gICAgfVxyXG5cclxuXTtcclxuLy9ub3RlIOWumuS5ieaWh+acrOahhuexu+Wei1xyXG5jb25zdCBpbnB1dFR5cGU9W1xyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi5paH5pys5qGGXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOiBcInRleHRcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuWvhueggeahhlwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCJwYXNzd29yZFwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwia2V5XCI6IFwi5aSa6KGM5paH5pys6L6T5YWl5qGGXCIsXHJcbiAgICAgICAgXCJ2YWx1ZVwiOiBcInRleHRhcmVhXCJcclxuICAgIH1cclxuXTtcclxuLy9ub3RlIOWumuS5ieatpemqpOS4i+aLieWIl+ihqFxyXG5jb25zdCBzdGVwU2VsZWN0PVtcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuWhq+WGmei1hOaWmVwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCLloavlhpnotYTmlplcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuS4iuS8oOmZhOS7tlwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCLkuIrkvKDpmYTku7ZcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuaPkOS6pOWuoeaguFwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCLmj5DkuqTlrqHmoLhcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuaUr+S7mOe8tOi0uVwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCLmlK/ku5jnvLTotLlcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcImtleVwiOiBcIuW3suWKnue7k1wiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCLlt7Llip7nu5NcIlxyXG4gICAgfVxyXG5dO1xyXG5cclxuLy9ub3RlIOWumuS5ieWunuS+i+WGheWuuVxyXG5jb25zdCBpbnN0YW5jZUFycj1bXHJcbiAgICBcImdhZWFfaW5zdGFuY2VfYm94X0lJbVZcIixcclxuICAgIFwiZ2FlYV9pbnN0YW5jZV9mb3JtXzUzSW9cIixcclxuICAgIFwiZ2FlYV9pbnN0YW5jZV8xbmwzb2x0b25halwiLFxyXG4gICAgXCJnYWVhX2luc3RhbmNlXzEzYXc1bzViOWMzXCIsXHJcbiAgICBcImdhZWFfaW5zdGFuY2Vfcmwybjd1N2lsd1wiLFxyXG4gICAgXCJnYWVhX2luc3RhbmNlXzJlOXB0ZjNrbmh3XCIsXHJcbiAgICBcImdhZWFfaW5zdGFuY2VfZm81d3czaHB3YlwiLFxyXG4gICAgXCJnYWVhX2luc3RhbmNlXzI4dXJhd281bHloXCIsXHJcbiAgICBcImdhZWFfaW5zdGFuY2VfdnRodWhueWNnaFwiLFxyXG4gICAgXCJnYWVhX2luc3RhbmNlXzZiZjB3enMydnhcIixcclxuICAgIFwiZ2FlYV9pbnN0YW5jZV8yYnQzbDA2ZXI1NVwiLFxyXG4gICAgXCJnYWVhX2luc3RhbmNlXzI1c3Zldmc1ZzM3XCJcclxuXTtcclxuY29uc3QgY29uZmlnPXtcclxuICAgIGluc3RhbmNlczppbnN0YW5jZUFycixcclxuICAgIGJ1dHRvblR5cGU6YnV0dG9uVHlwZSxcclxuICAgIGFkZHJlc3NSZXE6YWRkcmVzc1JlcSxcclxuICAgIGF0dGFjaEZpbGVUeXBlOmF0dGFjaEZpbGVUeXBlLFxyXG4gICAgY2VsbFR5cGU6Y2VsbFR5cGUsXHJcbiAgICBkYXRlVHlwZTpkYXRlVHlwZSxcclxuICAgIGNsaWNrVHlwZTpjbGlja1R5cGUsXHJcbiAgICBpbnB1dFR5cGU6aW5wdXRUeXBlLFxyXG4gICAgdGltZVR5cGU6dGltZVR5cGUsXHJcbiAgICBzdGVwU2VsZWN0OnN0ZXBTZWxlY3QsXHJcbiAgICBUSVRMRTogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgXCJsYWJlbFwiOiBcIuWhq+WGmei1hOaWmVwiLFxyXG4gICAgICAgICAgICBcInZhbHVlXCI6IFwi5aGr5YaZ6LWE5paZXCJcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgXCJsYWJlbFwiOiBcIuS4iuS8oOmZhOS7tlwiLFxyXG4gICAgICAgICAgICBcInZhbHVlXCI6IFwi5LiK5Lyg6ZmE5Lu2XCJcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgXCJsYWJlbFwiOiBcIuaPkOS6pOWuoeaguFwiLFxyXG4gICAgICAgICAgICBcInZhbHVlXCI6IFwi5o+Q5Lqk5a6h5qC4XCJcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgXCJsYWJlbFwiOiBcIuaUr+S7mOe8tOi0uVwiLFxyXG4gICAgICAgICAgICBcInZhbHVlXCI6IFwi5pSv5LuY57y06LS5XCJcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgXCJsYWJlbFwiOiBcIuW3suWKnue7k1wiLFxyXG4gICAgICAgICAgICBcInZhbHVlXCI6IFwi5bey5Yqe57uTXCJcclxuICAgICAgICB9XSxcclxuICAgIC8vTk9URSAg6YWN572u5q2l5pWwXHJcbiAgICBNQVhTVEVQUzogW3tcclxuICAgICAgICBcImxhYmVsXCI6IFwiNFwiLFxyXG4gICAgICAgIFwidmFsdWVcIjogXCI0XCJcclxuICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBcImxhYmVsXCI6IFwiNVwiLFxyXG4gICAgICAgICAgICBcInZhbHVlXCI6IFwiNVwiXHJcbiAgICAgICAgfV0sXHJcbiAgICAvL25vdGUg5Zu+5qCH5oyJ6ZKu5pON5L2cXHJcbiAgICBpY29uQnRuVHlwZTpbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBcImtleVwiOiBcIuWIoOmZpFwiLFxyXG4gICAgICAgICAgICBcInZhbHVlXCI6IFwiaWNvRGVsXCJcclxuICAgICAgICB9XHJcbiAgICBdLFxyXG4gICAgLy9ub3RlIOa3u+WKoOagoemqjOexu+Wei1xyXG4gICAgdmFsaWRhdGVUeXBlOnZhbGlkYXRlVHlwZSxcclxuICAgIHZhbGlkYXRlQ3VzdG9tZUFsbFR5cGU6dmFsaWRhdGVDdXN0b21lQWxsVHlwZSxcclxuICAgIHZhbGlkYXRlQ2xpY2s6dmFsaWRhdGVDbGljayxcclxuICAgIHBhZ2U6IHtcclxuICAgICAgICBcInRpdGxlXCI6IFwi5aGr5YaZ6LWE5paZXCIsXHJcbiAgICAgICAgXCJtYXhTdGVwc1wiOiAxLFxyXG4gICAgICAgIFwiZnVsbE1vZGVsXCI6IHtcclxuICAgICAgICBcInRlbXBsYXRlQ2FjaGVcIjoge1xyXG4gICAgICAgICAgICBcInZhbGlkYXRvcnNcIjogW11cclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgcmFuZG9tRm9ybU5hbWUobGVuKSB7XHJcbiAgICAgICAgICAgIGxlbiA9IGxlbiB8fCAxMDtcclxuICAgICAgICAgICAgdmFyICRjaGFycyA9ICdBQkNERUZHSEpLTU5QUVJTVFdYWVphYmNkZWZoaWprbW5wcnN0d3h5ejIzNDU2NzgnOyAgICAvKioqKum7mOiupOWOu+aOieS6huWuueaYk+a3t+a3hueahOWtl+espm9PTGwsOWdxLFZ2LFV1LEkxKioqKi9cclxuICAgICAgICAgICAgdmFyIG1heFBvcyA9ICRjaGFycy5sZW5ndGg7XHJcbiAgICAgICAgICAgIHZhciBwd2QgPSAnJztcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICAgICAgcHdkICs9ICRjaGFycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbWF4UG9zKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHB3ZDtcclxuICAgICAgICB9XHJcbn1cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNvbmZpZztcclxuXHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL215UGx1Z2luL3BhZ2UtaWRlL2xpYi9zdGF0aWMvZGF0YS9jb25maWdQYWdlSWRlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///834\n");
5564
5565/***/ }),
5566/* 835 */
5567/***/ (function(module, __webpack_exports__, __webpack_require__) {
5568
5569"use strict";
5570eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MultiDrag\", function() { return MultiDragPlugin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Sortable\", function() { return Sortable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Swap\", function() { return SwapPlugin; });\n/**!\n * Sortable 1.10.0\n * @author\tRubaXa <trash@rubaxa.org>\n * @author\towenm <owen23355@gmail.com>\n * @license MIT\n */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar version = \"1.10.0\";\n\nfunction userAgent(pattern) {\n return !!\n /*@__PURE__*/\n navigator.userAgent.match(pattern);\n}\n\nvar IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\\.|msie|iemobile|Windows Phone)/i);\nvar Edge = userAgent(/Edge/i);\nvar FireFox = userAgent(/firefox/i);\nvar Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);\nvar IOS = userAgent(/iP(ad|od|hone)/i);\nvar ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);\n\nvar captureMode = {\n capture: false,\n passive: false\n};\n\nfunction on(el, event, fn) {\n el.addEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction off(el, event, fn) {\n el.removeEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction matches(\n/**HTMLElement*/\nel,\n/**String*/\nselector) {\n if (!selector) return;\n selector[0] === '>' && (selector = selector.substring(1));\n\n if (el) {\n try {\n if (el.matches) {\n return el.matches(selector);\n } else if (el.msMatchesSelector) {\n return el.msMatchesSelector(selector);\n } else if (el.webkitMatchesSelector) {\n return el.webkitMatchesSelector(selector);\n }\n } catch (_) {\n return false;\n }\n }\n\n return false;\n}\n\nfunction getParentOrHost(el) {\n return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;\n}\n\nfunction closest(\n/**HTMLElement*/\nel,\n/**String*/\nselector,\n/**HTMLElement*/\nctx, includeCTX) {\n if (el) {\n ctx = ctx || document;\n\n do {\n if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {\n return el;\n }\n\n if (el === ctx) break;\n /* jshint boss:true */\n } while (el = getParentOrHost(el));\n }\n\n return null;\n}\n\nvar R_SPACE = /\\s+/g;\n\nfunction toggleClass(el, name, state) {\n if (el && name) {\n if (el.classList) {\n el.classList[state ? 'add' : 'remove'](name);\n } else {\n var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');\n el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');\n }\n }\n}\n\nfunction css(el, prop, val) {\n var style = el && el.style;\n\n if (style) {\n if (val === void 0) {\n if (document.defaultView && document.defaultView.getComputedStyle) {\n val = document.defaultView.getComputedStyle(el, '');\n } else if (el.currentStyle) {\n val = el.currentStyle;\n }\n\n return prop === void 0 ? val : val[prop];\n } else {\n if (!(prop in style) && prop.indexOf('webkit') === -1) {\n prop = '-webkit-' + prop;\n }\n\n style[prop] = val + (typeof val === 'string' ? '' : 'px');\n }\n }\n}\n\nfunction matrix(el, selfOnly) {\n var appliedTransforms = '';\n\n if (typeof el === 'string') {\n appliedTransforms = el;\n } else {\n do {\n var transform = css(el, 'transform');\n\n if (transform && transform !== 'none') {\n appliedTransforms = transform + ' ' + appliedTransforms;\n }\n /* jshint boss:true */\n\n } while (!selfOnly && (el = el.parentNode));\n }\n\n var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix;\n /*jshint -W056 */\n\n return matrixFn && new matrixFn(appliedTransforms);\n}\n\nfunction find(ctx, tagName, iterator) {\n if (ctx) {\n var list = ctx.getElementsByTagName(tagName),\n i = 0,\n n = list.length;\n\n if (iterator) {\n for (; i < n; i++) {\n iterator(list[i], i);\n }\n }\n\n return list;\n }\n\n return [];\n}\n\nfunction getWindowScrollingElement() {\n if (IE11OrLess) {\n return document.documentElement;\n } else {\n return document.scrollingElement;\n }\n}\n/**\n * Returns the \"bounding client rect\" of given element\n * @param {HTMLElement} el The element whose boundingClientRect is wanted\n * @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container\n * @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr\n * @param {[Boolean]} undoScale Whether the container's scale() should be undone\n * @param {[HTMLElement]} container The parent the element will be placed in\n * @return {Object} The boundingClientRect of el, with specified adjustments\n */\n\n\nfunction getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {\n if (!el.getBoundingClientRect && el !== window) return;\n var elRect, top, left, bottom, right, height, width;\n\n if (el !== window && el !== getWindowScrollingElement()) {\n elRect = el.getBoundingClientRect();\n top = elRect.top;\n left = elRect.left;\n bottom = elRect.bottom;\n right = elRect.right;\n height = elRect.height;\n width = elRect.width;\n } else {\n top = 0;\n left = 0;\n bottom = window.innerHeight;\n right = window.innerWidth;\n height = window.innerHeight;\n width = window.innerWidth;\n }\n\n if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {\n // Adjust for translate()\n container = container || el.parentNode; // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312)\n // Not needed on <= IE11\n\n if (!IE11OrLess) {\n do {\n if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {\n var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container\n\n top -= containerRect.top + parseInt(css(container, 'border-top-width'));\n left -= containerRect.left + parseInt(css(container, 'border-left-width'));\n bottom = top + elRect.height;\n right = left + elRect.width;\n break;\n }\n /* jshint boss:true */\n\n } while (container = container.parentNode);\n }\n }\n\n if (undoScale && el !== window) {\n // Adjust for scale()\n var elMatrix = matrix(container || el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d;\n\n if (elMatrix) {\n top /= scaleY;\n left /= scaleX;\n width /= scaleX;\n height /= scaleY;\n bottom = top + height;\n right = left + width;\n }\n }\n\n return {\n top: top,\n left: left,\n bottom: bottom,\n right: right,\n width: width,\n height: height\n };\n}\n/**\n * Checks if a side of an element is scrolled past a side of its parents\n * @param {HTMLElement} el The element who's side being scrolled out of view is in question\n * @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom')\n * @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom')\n * @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element\n */\n\n\nfunction isScrolledPast(el, elSide, parentSide) {\n var parent = getParentAutoScrollElement(el, true),\n elSideVal = getRect(el)[elSide];\n /* jshint boss:true */\n\n while (parent) {\n var parentSideVal = getRect(parent)[parentSide],\n visible = void 0;\n\n if (parentSide === 'top' || parentSide === 'left') {\n visible = elSideVal >= parentSideVal;\n } else {\n visible = elSideVal <= parentSideVal;\n }\n\n if (!visible) return parent;\n if (parent === getWindowScrollingElement()) break;\n parent = getParentAutoScrollElement(parent, false);\n }\n\n return false;\n}\n/**\n * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible)\n * and non-draggable elements\n * @param {HTMLElement} el The parent element\n * @param {Number} childNum The index of the child\n * @param {Object} options Parent Sortable's options\n * @return {HTMLElement} The child at index childNum, or null if not found\n */\n\n\nfunction getChild(el, childNum, options) {\n var currentChild = 0,\n i = 0,\n children = el.children;\n\n while (i < children.length) {\n if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && children[i] !== Sortable.dragged && closest(children[i], options.draggable, el, false)) {\n if (currentChild === childNum) {\n return children[i];\n }\n\n currentChild++;\n }\n\n i++;\n }\n\n return null;\n}\n/**\n * Gets the last child in the el, ignoring ghostEl or invisible elements (clones)\n * @param {HTMLElement} el Parent element\n * @param {selector} selector Any other elements that should be ignored\n * @return {HTMLElement} The last child, ignoring ghostEl\n */\n\n\nfunction lastChild(el, selector) {\n var last = el.lastElementChild;\n\n while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {\n last = last.previousElementSibling;\n }\n\n return last || null;\n}\n/**\n * Returns the index of an element within its parent for a selected set of\n * elements\n * @param {HTMLElement} el\n * @param {selector} selector\n * @return {number}\n */\n\n\nfunction index(el, selector) {\n var index = 0;\n\n if (!el || !el.parentNode) {\n return -1;\n }\n /* jshint boss:true */\n\n\n while (el = el.previousElementSibling) {\n if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) {\n index++;\n }\n }\n\n return index;\n}\n/**\n * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements.\n * The value is returned in real pixels.\n * @param {HTMLElement} el\n * @return {Array} Offsets in the format of [left, top]\n */\n\n\nfunction getRelativeScrollOffset(el) {\n var offsetLeft = 0,\n offsetTop = 0,\n winScroller = getWindowScrollingElement();\n\n if (el) {\n do {\n var elMatrix = matrix(el),\n scaleX = elMatrix.a,\n scaleY = elMatrix.d;\n offsetLeft += el.scrollLeft * scaleX;\n offsetTop += el.scrollTop * scaleY;\n } while (el !== winScroller && (el = el.parentNode));\n }\n\n return [offsetLeft, offsetTop];\n}\n/**\n * Returns the index of the object within the given array\n * @param {Array} arr Array that may or may not hold the object\n * @param {Object} obj An object that has a key-value pair unique to and identical to a key-value pair in the object you want to find\n * @return {Number} The index of the object in the array, or -1\n */\n\n\nfunction indexOfObject(arr, obj) {\n for (var i in arr) {\n if (!arr.hasOwnProperty(i)) continue;\n\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i);\n }\n }\n\n return -1;\n}\n\nfunction getParentAutoScrollElement(el, includeSelf) {\n // skip to window\n if (!el || !el.getBoundingClientRect) return getWindowScrollingElement();\n var elem = el;\n var gotSelf = false;\n\n do {\n // we don't need to get elem css if it isn't even overflowing in the first place (performance)\n if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {\n var elemCSS = css(elem);\n\n if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {\n if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();\n if (gotSelf || includeSelf) return elem;\n gotSelf = true;\n }\n }\n /* jshint boss:true */\n\n } while (elem = elem.parentNode);\n\n return getWindowScrollingElement();\n}\n\nfunction extend(dst, src) {\n if (dst && src) {\n for (var key in src) {\n if (src.hasOwnProperty(key)) {\n dst[key] = src[key];\n }\n }\n }\n\n return dst;\n}\n\nfunction isRectEqual(rect1, rect2) {\n return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);\n}\n\nvar _throttleTimeout;\n\nfunction throttle(callback, ms) {\n return function () {\n if (!_throttleTimeout) {\n var args = arguments,\n _this = this;\n\n if (args.length === 1) {\n callback.call(_this, args[0]);\n } else {\n callback.apply(_this, args);\n }\n\n _throttleTimeout = setTimeout(function () {\n _throttleTimeout = void 0;\n }, ms);\n }\n };\n}\n\nfunction cancelThrottle() {\n clearTimeout(_throttleTimeout);\n _throttleTimeout = void 0;\n}\n\nfunction scrollBy(el, x, y) {\n el.scrollLeft += x;\n el.scrollTop += y;\n}\n\nfunction clone(el) {\n var Polymer = window.Polymer;\n var $ = window.jQuery || window.Zepto;\n\n if (Polymer && Polymer.dom) {\n return Polymer.dom(el).cloneNode(true);\n } else if ($) {\n return $(el).clone(true)[0];\n } else {\n return el.cloneNode(true);\n }\n}\n\nfunction setRect(el, rect) {\n css(el, 'position', 'absolute');\n css(el, 'top', rect.top);\n css(el, 'left', rect.left);\n css(el, 'width', rect.width);\n css(el, 'height', rect.height);\n}\n\nfunction unsetRect(el) {\n css(el, 'position', '');\n css(el, 'top', '');\n css(el, 'left', '');\n css(el, 'width', '');\n css(el, 'height', '');\n}\n\nvar expando = 'Sortable' + new Date().getTime();\n\nfunction AnimationStateManager() {\n var animationStates = [],\n animationCallbackId;\n return {\n captureAnimationState: function captureAnimationState() {\n animationStates = [];\n if (!this.options.animation) return;\n var children = [].slice.call(this.el.children);\n children.forEach(function (child) {\n if (css(child, 'display') === 'none' || child === Sortable.ghost) return;\n animationStates.push({\n target: child,\n rect: getRect(child)\n });\n\n var fromRect = _objectSpread({}, animationStates[animationStates.length - 1].rect); // If animating: compensate for current animation\n\n\n if (child.thisAnimationDuration) {\n var childMatrix = matrix(child, true);\n\n if (childMatrix) {\n fromRect.top -= childMatrix.f;\n fromRect.left -= childMatrix.e;\n }\n }\n\n child.fromRect = fromRect;\n });\n },\n addAnimationState: function addAnimationState(state) {\n animationStates.push(state);\n },\n removeAnimationState: function removeAnimationState(target) {\n animationStates.splice(indexOfObject(animationStates, {\n target: target\n }), 1);\n },\n animateAll: function animateAll(callback) {\n var _this = this;\n\n if (!this.options.animation) {\n clearTimeout(animationCallbackId);\n if (typeof callback === 'function') callback();\n return;\n }\n\n var animating = false,\n animationTime = 0;\n animationStates.forEach(function (state) {\n var time = 0,\n target = state.target,\n fromRect = target.fromRect,\n toRect = getRect(target),\n prevFromRect = target.prevFromRect,\n prevToRect = target.prevToRect,\n animatingRect = state.rect,\n targetMatrix = matrix(target, true);\n\n if (targetMatrix) {\n // Compensate for current animation\n toRect.top -= targetMatrix.f;\n toRect.left -= targetMatrix.e;\n }\n\n target.toRect = toRect;\n\n if (target.thisAnimationDuration) {\n // Could also check if animatingRect is between fromRect and toRect\n if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && // Make sure animatingRect is on line between toRect & fromRect\n (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {\n // If returning to same place as started from animation and on same axis\n time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);\n }\n } // if fromRect != toRect: animate\n\n\n if (!isRectEqual(toRect, fromRect)) {\n target.prevFromRect = fromRect;\n target.prevToRect = toRect;\n\n if (!time) {\n time = _this.options.animation;\n }\n\n _this.animate(target, animatingRect, toRect, time);\n }\n\n if (time) {\n animating = true;\n animationTime = Math.max(animationTime, time);\n clearTimeout(target.animationResetTimer);\n target.animationResetTimer = setTimeout(function () {\n target.animationTime = 0;\n target.prevFromRect = null;\n target.fromRect = null;\n target.prevToRect = null;\n target.thisAnimationDuration = null;\n }, time);\n target.thisAnimationDuration = time;\n }\n });\n clearTimeout(animationCallbackId);\n\n if (!animating) {\n if (typeof callback === 'function') callback();\n } else {\n animationCallbackId = setTimeout(function () {\n if (typeof callback === 'function') callback();\n }, animationTime);\n }\n\n animationStates = [];\n },\n animate: function animate(target, currentRect, toRect, duration) {\n if (duration) {\n css(target, 'transition', '');\n css(target, 'transform', '');\n var elMatrix = matrix(this.el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d,\n translateX = (currentRect.left - toRect.left) / (scaleX || 1),\n translateY = (currentRect.top - toRect.top) / (scaleY || 1);\n target.animatingX = !!translateX;\n target.animatingY = !!translateY;\n css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');\n repaint(target); // repaint\n\n css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));\n css(target, 'transform', 'translate3d(0,0,0)');\n typeof target.animated === 'number' && clearTimeout(target.animated);\n target.animated = setTimeout(function () {\n css(target, 'transition', '');\n css(target, 'transform', '');\n target.animated = false;\n target.animatingX = false;\n target.animatingY = false;\n }, duration);\n }\n }\n };\n}\n\nfunction repaint(target) {\n return target.offsetWidth;\n}\n\nfunction calculateRealTime(animatingRect, fromRect, toRect, options) {\n return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;\n}\n\nvar plugins = [];\nvar defaults = {\n initializeByDefault: true\n};\nvar PluginManager = {\n mount: function mount(plugin) {\n // Set default static properties\n for (var option in defaults) {\n if (defaults.hasOwnProperty(option) && !(option in plugin)) {\n plugin[option] = defaults[option];\n }\n }\n\n plugins.push(plugin);\n },\n pluginEvent: function pluginEvent(eventName, sortable, evt) {\n var _this = this;\n\n this.eventCanceled = false;\n\n evt.cancel = function () {\n _this.eventCanceled = true;\n };\n\n var eventNameGlobal = eventName + 'Global';\n plugins.forEach(function (plugin) {\n if (!sortable[plugin.pluginName]) return; // Fire global events if it exists in this sortable\n\n if (sortable[plugin.pluginName][eventNameGlobal]) {\n sortable[plugin.pluginName][eventNameGlobal](_objectSpread({\n sortable: sortable\n }, evt));\n } // Only fire plugin event if plugin is enabled in this sortable,\n // and plugin has event defined\n\n\n if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {\n sortable[plugin.pluginName][eventName](_objectSpread({\n sortable: sortable\n }, evt));\n }\n });\n },\n initializePlugins: function initializePlugins(sortable, el, defaults, options) {\n plugins.forEach(function (plugin) {\n var pluginName = plugin.pluginName;\n if (!sortable.options[pluginName] && !plugin.initializeByDefault) return;\n var initialized = new plugin(sortable, el, sortable.options);\n initialized.sortable = sortable;\n initialized.options = sortable.options;\n sortable[pluginName] = initialized; // Add default options from plugin\n\n _extends(defaults, initialized.defaults);\n });\n\n for (var option in sortable.options) {\n if (!sortable.options.hasOwnProperty(option)) continue;\n var modified = this.modifyOption(sortable, option, sortable.options[option]);\n\n if (typeof modified !== 'undefined') {\n sortable.options[option] = modified;\n }\n }\n },\n getEventProperties: function getEventProperties(name, sortable) {\n var eventProperties = {};\n plugins.forEach(function (plugin) {\n if (typeof plugin.eventProperties !== 'function') return;\n\n _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));\n });\n return eventProperties;\n },\n modifyOption: function modifyOption(sortable, name, value) {\n var modifiedValue;\n plugins.forEach(function (plugin) {\n // Plugin must exist on the Sortable\n if (!sortable[plugin.pluginName]) return; // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin\n\n if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') {\n modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);\n }\n });\n return modifiedValue;\n }\n};\n\nfunction dispatchEvent(_ref) {\n var sortable = _ref.sortable,\n rootEl = _ref.rootEl,\n name = _ref.name,\n targetEl = _ref.targetEl,\n cloneEl = _ref.cloneEl,\n toEl = _ref.toEl,\n fromEl = _ref.fromEl,\n oldIndex = _ref.oldIndex,\n newIndex = _ref.newIndex,\n oldDraggableIndex = _ref.oldDraggableIndex,\n newDraggableIndex = _ref.newDraggableIndex,\n originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n extraEventProperties = _ref.extraEventProperties;\n sortable = sortable || rootEl && rootEl[expando];\n if (!sortable) return;\n var evt,\n options = sortable.options,\n onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1); // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent(name, {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent(name, true, true);\n }\n\n evt.to = toEl || rootEl;\n evt.from = fromEl || rootEl;\n evt.item = targetEl || rootEl;\n evt.clone = cloneEl;\n evt.oldIndex = oldIndex;\n evt.newIndex = newIndex;\n evt.oldDraggableIndex = oldDraggableIndex;\n evt.newDraggableIndex = newDraggableIndex;\n evt.originalEvent = originalEvent;\n evt.pullMode = putSortable ? putSortable.lastPutMode : undefined;\n\n var allEventProperties = _objectSpread({}, extraEventProperties, PluginManager.getEventProperties(name, sortable));\n\n for (var option in allEventProperties) {\n evt[option] = allEventProperties[option];\n }\n\n if (rootEl) {\n rootEl.dispatchEvent(evt);\n }\n\n if (options[onName]) {\n options[onName].call(sortable, evt);\n }\n}\n\nvar pluginEvent = function pluginEvent(eventName, sortable) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n originalEvent = _ref.evt,\n data = _objectWithoutProperties(_ref, [\"evt\"]);\n\n PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread({\n dragEl: dragEl,\n parentEl: parentEl,\n ghostEl: ghostEl,\n rootEl: rootEl,\n nextEl: nextEl,\n lastDownEl: lastDownEl,\n cloneEl: cloneEl,\n cloneHidden: cloneHidden,\n dragStarted: moved,\n putSortable: putSortable,\n activeSortable: Sortable.active,\n originalEvent: originalEvent,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n hideGhostForTarget: _hideGhostForTarget,\n unhideGhostForTarget: _unhideGhostForTarget,\n cloneNowHidden: function cloneNowHidden() {\n cloneHidden = true;\n },\n cloneNowShown: function cloneNowShown() {\n cloneHidden = false;\n },\n dispatchSortableEvent: function dispatchSortableEvent(name) {\n _dispatchEvent({\n sortable: sortable,\n name: name,\n originalEvent: originalEvent\n });\n }\n }, data));\n};\n\nfunction _dispatchEvent(info) {\n dispatchEvent(_objectSpread({\n putSortable: putSortable,\n cloneEl: cloneEl,\n targetEl: dragEl,\n rootEl: rootEl,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex\n }, info));\n}\n\nif (typeof window === \"undefined\" || !window.document) {\n throw new Error(\"Sortable.js requires a window with a document\");\n}\n\nvar dragEl,\n parentEl,\n ghostEl,\n rootEl,\n nextEl,\n lastDownEl,\n cloneEl,\n cloneHidden,\n oldIndex,\n newIndex,\n oldDraggableIndex,\n newDraggableIndex,\n activeGroup,\n putSortable,\n awaitingDragStarted = false,\n ignoreNextClick = false,\n sortables = [],\n tapEvt,\n touchEvt,\n lastDx,\n lastDy,\n tapDistanceLeft,\n tapDistanceTop,\n moved,\n lastTarget,\n lastDirection,\n pastFirstInvertThresh = false,\n isCircumstantialInvert = false,\n targetMoveDistance,\n // For positioning ghost absolutely\nghostRelativeParent,\n ghostRelativeParentInitialScroll = [],\n // (left, top)\n_silent = false,\n savedInputChecked = [];\n/** @const */\n\nvar PositionGhostAbsolutely = IOS,\n CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float',\n // This will not pass for IE9, because IE9 DnD only works on anchors\nsupportDraggable = !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'),\n supportCssPointerEvents = function () {\n // false when <= IE11\n if (IE11OrLess) {\n return false;\n }\n\n var el = document.createElement('x');\n el.style.cssText = 'pointer-events:auto';\n return el.style.pointerEvents === 'auto';\n}(),\n _detectDirection = function _detectDirection(el, options) {\n var elCSS = css(el),\n elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),\n child1 = getChild(el, 0, options),\n child2 = getChild(el, 1, options),\n firstChildCSS = child1 && css(child1),\n secondChildCSS = child2 && css(child2),\n firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,\n secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;\n\n if (elCSS.display === 'flex') {\n return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal';\n }\n\n if (elCSS.display === 'grid') {\n return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal';\n }\n\n if (child1 && firstChildCSS[\"float\"] && firstChildCSS[\"float\"] !== 'none') {\n var touchingSideChild2 = firstChildCSS[\"float\"] === 'left' ? 'left' : 'right';\n return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal';\n }\n\n return child1 && (firstChildCSS.display === 'block' || firstChildCSS.display === 'flex' || firstChildCSS.display === 'table' || firstChildCSS.display === 'grid' || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === 'none' || child2 && elCSS[CSSFloatProperty] === 'none' && firstChildWidth + secondChildWidth > elWidth) ? 'vertical' : 'horizontal';\n},\n _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) {\n var dragElS1Opp = vertical ? dragRect.left : dragRect.top,\n dragElS2Opp = vertical ? dragRect.right : dragRect.bottom,\n dragElOppLength = vertical ? dragRect.width : dragRect.height,\n targetS1Opp = vertical ? targetRect.left : targetRect.top,\n targetS2Opp = vertical ? targetRect.right : targetRect.bottom,\n targetOppLength = vertical ? targetRect.width : targetRect.height;\n return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;\n},\n\n/**\r\n * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold.\r\n * @param {Number} x X position\r\n * @param {Number} y Y position\r\n * @return {HTMLElement} Element of the first found nearest Sortable\r\n */\n_detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {\n var ret;\n sortables.some(function (sortable) {\n if (lastChild(sortable)) return;\n var rect = getRect(sortable),\n threshold = sortable[expando].options.emptyInsertThreshold,\n insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold,\n insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;\n\n if (threshold && insideHorizontally && insideVertically) {\n return ret = sortable;\n }\n });\n return ret;\n},\n _prepareGroup = function _prepareGroup(options) {\n function toFn(value, pull) {\n return function (to, from, dragEl, evt) {\n var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;\n\n if (value == null && (pull || sameGroup)) {\n // Default pull value\n // Default pull and put value if same group\n return true;\n } else if (value == null || value === false) {\n return false;\n } else if (pull && value === 'clone') {\n return value;\n } else if (typeof value === 'function') {\n return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt);\n } else {\n var otherGroup = (pull ? to : from).options.group.name;\n return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;\n }\n };\n }\n\n var group = {};\n var originalGroup = options.group;\n\n if (!originalGroup || _typeof(originalGroup) != 'object') {\n originalGroup = {\n name: originalGroup\n };\n }\n\n group.name = originalGroup.name;\n group.checkPull = toFn(originalGroup.pull, true);\n group.checkPut = toFn(originalGroup.put);\n group.revertClone = originalGroup.revertClone;\n options.group = group;\n},\n _hideGhostForTarget = function _hideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', 'none');\n }\n},\n _unhideGhostForTarget = function _unhideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', '');\n }\n}; // #1184 fix - Prevent click event on fallback if dragged but item not changed position\n\n\ndocument.addEventListener('click', function (evt) {\n if (ignoreNextClick) {\n evt.preventDefault();\n evt.stopPropagation && evt.stopPropagation();\n evt.stopImmediatePropagation && evt.stopImmediatePropagation();\n ignoreNextClick = false;\n return false;\n }\n}, true);\n\nvar nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) {\n if (dragEl) {\n evt = evt.touches ? evt.touches[0] : evt;\n\n var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);\n\n if (nearest) {\n // Create imitation event\n var event = {};\n\n for (var i in evt) {\n if (evt.hasOwnProperty(i)) {\n event[i] = evt[i];\n }\n }\n\n event.target = event.rootEl = nearest;\n event.preventDefault = void 0;\n event.stopPropagation = void 0;\n\n nearest[expando]._onDragOver(event);\n }\n }\n};\n\nvar _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) {\n if (dragEl) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target);\n }\n};\n/**\r\n * @class Sortable\r\n * @param {HTMLElement} el\r\n * @param {Object} [options]\r\n */\n\n\nfunction Sortable(el, options) {\n if (!(el && el.nodeType && el.nodeType === 1)) {\n throw \"Sortable: `el` must be an HTMLElement, not \".concat({}.toString.call(el));\n }\n\n this.el = el; // root element\n\n this.options = options = _extends({}, options); // Export instance\n\n el[expando] = this;\n var defaults = {\n group: null,\n sort: true,\n disabled: false,\n store: null,\n handle: null,\n draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*',\n swapThreshold: 1,\n // percentage; 0 <= x <= 1\n invertSwap: false,\n // invert always\n invertedSwapThreshold: null,\n // will be set to same as swapThreshold if default\n removeCloneOnHide: true,\n direction: function direction() {\n return _detectDirection(el, this.options);\n },\n ghostClass: 'sortable-ghost',\n chosenClass: 'sortable-chosen',\n dragClass: 'sortable-drag',\n ignore: 'a, img',\n filter: null,\n preventOnFilter: true,\n animation: 0,\n easing: null,\n setData: function setData(dataTransfer, dragEl) {\n dataTransfer.setData('Text', dragEl.textContent);\n },\n dropBubble: false,\n dragoverBubble: false,\n dataIdAttr: 'data-id',\n delay: 0,\n delayOnTouchOnly: false,\n touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,\n forceFallback: false,\n fallbackClass: 'sortable-fallback',\n fallbackOnBody: false,\n fallbackTolerance: 0,\n fallbackOffset: {\n x: 0,\n y: 0\n },\n supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window,\n emptyInsertThreshold: 5\n };\n PluginManager.initializePlugins(this, el, defaults); // Set default options\n\n for (var name in defaults) {\n !(name in options) && (options[name] = defaults[name]);\n }\n\n _prepareGroup(options); // Bind all private methods\n\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n } // Setup drag mode\n\n\n this.nativeDraggable = options.forceFallback ? false : supportDraggable;\n\n if (this.nativeDraggable) {\n // Touch start threshold cannot be greater than the native dragstart threshold\n this.options.touchStartThreshold = 1;\n } // Bind events\n\n\n if (options.supportPointer) {\n on(el, 'pointerdown', this._onTapStart);\n } else {\n on(el, 'mousedown', this._onTapStart);\n on(el, 'touchstart', this._onTapStart);\n }\n\n if (this.nativeDraggable) {\n on(el, 'dragover', this);\n on(el, 'dragenter', this);\n }\n\n sortables.push(this.el); // Restore sorting\n\n options.store && options.store.get && this.sort(options.store.get(this) || []); // Add animation state manager\n\n _extends(this, AnimationStateManager());\n}\n\nSortable.prototype =\n/** @lends Sortable.prototype */\n{\n constructor: Sortable,\n _isOutsideThisEl: function _isOutsideThisEl(target) {\n if (!this.el.contains(target) && target !== this.el) {\n lastTarget = null;\n }\n },\n _getDirection: function _getDirection(evt, target) {\n return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;\n },\n _onTapStart: function _onTapStart(\n /** Event|TouchEvent */\n evt) {\n if (!evt.cancelable) return;\n\n var _this = this,\n el = this.el,\n options = this.options,\n preventOnFilter = options.preventOnFilter,\n type = evt.type,\n touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt,\n target = (touch || evt).target,\n originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target,\n filter = options.filter;\n\n _saveInputCheckedState(el); // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.\n\n\n if (dragEl) {\n return;\n }\n\n if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {\n return; // only left button and enabled\n } // cancel dnd if original target is content editable\n\n\n if (originalTarget.isContentEditable) {\n return;\n }\n\n target = closest(target, options.draggable, el, false);\n\n if (target && target.animated) {\n return;\n }\n\n if (lastDownEl === target) {\n // Ignoring duplicate `down`\n return;\n } // Get the index of the dragged element within its parent\n\n\n oldIndex = index(target);\n oldDraggableIndex = index(target, options.draggable); // Check filter\n\n if (typeof filter === 'function') {\n if (filter.call(this, evt, target, this)) {\n _dispatchEvent({\n sortable: _this,\n rootEl: originalTarget,\n name: 'filter',\n targetEl: target,\n toEl: el,\n fromEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n } else if (filter) {\n filter = filter.split(',').some(function (criteria) {\n criteria = closest(originalTarget, criteria.trim(), el, false);\n\n if (criteria) {\n _dispatchEvent({\n sortable: _this,\n rootEl: criteria,\n name: 'filter',\n targetEl: target,\n fromEl: el,\n toEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n return true;\n }\n });\n\n if (filter) {\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n }\n\n if (options.handle && !closest(originalTarget, options.handle, el, false)) {\n return;\n } // Prepare `dragstart`\n\n\n this._prepareDragStart(evt, touch, target);\n },\n _prepareDragStart: function _prepareDragStart(\n /** Event */\n evt,\n /** Touch */\n touch,\n /** HTMLElement */\n target) {\n var _this = this,\n el = _this.el,\n options = _this.options,\n ownerDocument = el.ownerDocument,\n dragStartFn;\n\n if (target && !dragEl && target.parentNode === el) {\n var dragRect = getRect(target);\n rootEl = el;\n dragEl = target;\n parentEl = dragEl.parentNode;\n nextEl = dragEl.nextSibling;\n lastDownEl = target;\n activeGroup = options.group;\n Sortable.dragged = dragEl;\n tapEvt = {\n target: dragEl,\n clientX: (touch || evt).clientX,\n clientY: (touch || evt).clientY\n };\n tapDistanceLeft = tapEvt.clientX - dragRect.left;\n tapDistanceTop = tapEvt.clientY - dragRect.top;\n this._lastX = (touch || evt).clientX;\n this._lastY = (touch || evt).clientY;\n dragEl.style['will-change'] = 'all';\n\n dragStartFn = function dragStartFn() {\n pluginEvent('delayEnded', _this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n _this._onDrop();\n\n return;\n } // Delayed drag has been triggered\n // we can re-enable the events: touchmove/mousemove\n\n\n _this._disableDelayedDragEvents();\n\n if (!FireFox && _this.nativeDraggable) {\n dragEl.draggable = true;\n } // Bind the events: dragstart/dragend\n\n\n _this._triggerDragStart(evt, touch); // Drag start event\n\n\n _dispatchEvent({\n sortable: _this,\n name: 'choose',\n originalEvent: evt\n }); // Chosen item\n\n\n toggleClass(dragEl, options.chosenClass, true);\n }; // Disable \"draggable\"\n\n\n options.ignore.split(',').forEach(function (criteria) {\n find(dragEl, criteria.trim(), _disableDraggable);\n });\n on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mouseup', _this._onDrop);\n on(ownerDocument, 'touchend', _this._onDrop);\n on(ownerDocument, 'touchcancel', _this._onDrop); // Make dragEl draggable (must be before delay for FireFox)\n\n if (FireFox && this.nativeDraggable) {\n this.options.touchStartThreshold = 4;\n dragEl.draggable = true;\n }\n\n pluginEvent('delayStart', this, {\n evt: evt\n }); // Delay is impossible for native DnD in Edge or IE\n\n if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n } // If the user moves the pointer or let go the click or touch\n // before the delay has been reached:\n // disable the delayed drag\n\n\n on(ownerDocument, 'mouseup', _this._disableDelayedDrag);\n on(ownerDocument, 'touchend', _this._disableDelayedDrag);\n on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);\n on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler);\n on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler);\n options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler);\n _this._dragStartTimer = setTimeout(dragStartFn, options.delay);\n } else {\n dragStartFn();\n }\n }\n },\n _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(\n /** TouchEvent|PointerEvent **/\n e) {\n var touch = e.touches ? e.touches[0] : e;\n\n if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {\n this._disableDelayedDrag();\n }\n },\n _disableDelayedDrag: function _disableDelayedDrag() {\n dragEl && _disableDraggable(dragEl);\n clearTimeout(this._dragStartTimer);\n\n this._disableDelayedDragEvents();\n },\n _disableDelayedDragEvents: function _disableDelayedDragEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._disableDelayedDrag);\n off(ownerDocument, 'touchend', this._disableDelayedDrag);\n off(ownerDocument, 'touchcancel', this._disableDelayedDrag);\n off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler);\n },\n _triggerDragStart: function _triggerDragStart(\n /** Event */\n evt,\n /** Touch */\n touch) {\n touch = touch || evt.pointerType == 'touch' && evt;\n\n if (!this.nativeDraggable || touch) {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._onTouchMove);\n } else if (touch) {\n on(document, 'touchmove', this._onTouchMove);\n } else {\n on(document, 'mousemove', this._onTouchMove);\n }\n } else {\n on(dragEl, 'dragend', this);\n on(rootEl, 'dragstart', this._onDragStart);\n }\n\n try {\n if (document.selection) {\n // Timeout neccessary for IE9\n _nextTick(function () {\n document.selection.empty();\n });\n } else {\n window.getSelection().removeAllRanges();\n }\n } catch (err) {}\n },\n _dragStarted: function _dragStarted(fallback, evt) {\n\n awaitingDragStarted = false;\n\n if (rootEl && dragEl) {\n pluginEvent('dragStarted', this, {\n evt: evt\n });\n\n if (this.nativeDraggable) {\n on(document, 'dragover', _checkOutsideTargetEl);\n }\n\n var options = this.options; // Apply effect\n\n !fallback && toggleClass(dragEl, options.dragClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n Sortable.active = this;\n fallback && this._appendGhost(); // Drag start event\n\n _dispatchEvent({\n sortable: this,\n name: 'start',\n originalEvent: evt\n });\n } else {\n this._nulling();\n }\n },\n _emulateDragOver: function _emulateDragOver() {\n if (touchEvt) {\n this._lastX = touchEvt.clientX;\n this._lastY = touchEvt.clientY;\n\n _hideGhostForTarget();\n\n var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n var parent = target;\n\n while (target && target.shadowRoot) {\n target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n if (target === parent) break;\n parent = target;\n }\n\n dragEl.parentNode[expando]._isOutsideThisEl(target);\n\n if (parent) {\n do {\n if (parent[expando]) {\n var inserted = void 0;\n inserted = parent[expando]._onDragOver({\n clientX: touchEvt.clientX,\n clientY: touchEvt.clientY,\n target: target,\n rootEl: parent\n });\n\n if (inserted && !this.options.dragoverBubble) {\n break;\n }\n }\n\n target = parent; // store last element\n }\n /* jshint boss:true */\n while (parent = parent.parentNode);\n }\n\n _unhideGhostForTarget();\n }\n },\n _onTouchMove: function _onTouchMove(\n /**TouchEvent*/\n evt) {\n if (tapEvt) {\n var options = this.options,\n fallbackTolerance = options.fallbackTolerance,\n fallbackOffset = options.fallbackOffset,\n touch = evt.touches ? evt.touches[0] : evt,\n ghostMatrix = ghostEl && matrix(ghostEl),\n scaleX = ghostEl && ghostMatrix && ghostMatrix.a,\n scaleY = ghostEl && ghostMatrix && ghostMatrix.d,\n relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent),\n dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1),\n dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1); // only set the status to dragging, when we are actually dragging\n\n if (!Sortable.active && !awaitingDragStarted) {\n if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {\n return;\n }\n\n this._onDragStart(evt, true);\n }\n\n if (ghostEl) {\n if (ghostMatrix) {\n ghostMatrix.e += dx - (lastDx || 0);\n ghostMatrix.f += dy - (lastDy || 0);\n } else {\n ghostMatrix = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: dx,\n f: dy\n };\n }\n\n var cssMatrix = \"matrix(\".concat(ghostMatrix.a, \",\").concat(ghostMatrix.b, \",\").concat(ghostMatrix.c, \",\").concat(ghostMatrix.d, \",\").concat(ghostMatrix.e, \",\").concat(ghostMatrix.f, \")\");\n css(ghostEl, 'webkitTransform', cssMatrix);\n css(ghostEl, 'mozTransform', cssMatrix);\n css(ghostEl, 'msTransform', cssMatrix);\n css(ghostEl, 'transform', cssMatrix);\n lastDx = dx;\n lastDy = dy;\n touchEvt = touch;\n }\n\n evt.cancelable && evt.preventDefault();\n }\n },\n _appendGhost: function _appendGhost() {\n // Bug if using scale(): https://stackoverflow.com/questions/2637058\n // Not being adjusted for\n if (!ghostEl) {\n var container = this.options.fallbackOnBody ? document.body : rootEl,\n rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container),\n options = this.options; // Position absolutely\n\n if (PositionGhostAbsolutely) {\n // Get relatively positioned parent\n ghostRelativeParent = container;\n\n while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {\n ghostRelativeParent = ghostRelativeParent.parentNode;\n }\n\n if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {\n if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement();\n rect.top += ghostRelativeParent.scrollTop;\n rect.left += ghostRelativeParent.scrollLeft;\n } else {\n ghostRelativeParent = getWindowScrollingElement();\n }\n\n ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);\n }\n\n ghostEl = dragEl.cloneNode(true);\n toggleClass(ghostEl, options.ghostClass, false);\n toggleClass(ghostEl, options.fallbackClass, true);\n toggleClass(ghostEl, options.dragClass, true);\n css(ghostEl, 'transition', '');\n css(ghostEl, 'transform', '');\n css(ghostEl, 'box-sizing', 'border-box');\n css(ghostEl, 'margin', 0);\n css(ghostEl, 'top', rect.top);\n css(ghostEl, 'left', rect.left);\n css(ghostEl, 'width', rect.width);\n css(ghostEl, 'height', rect.height);\n css(ghostEl, 'opacity', '0.8');\n css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');\n css(ghostEl, 'zIndex', '100000');\n css(ghostEl, 'pointerEvents', 'none');\n Sortable.ghost = ghostEl;\n container.appendChild(ghostEl); // Set transform-origin\n\n css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');\n }\n },\n _onDragStart: function _onDragStart(\n /**Event*/\n evt,\n /**boolean*/\n fallback) {\n var _this = this;\n\n var dataTransfer = evt.dataTransfer;\n var options = _this.options;\n pluginEvent('dragStart', this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n }\n\n pluginEvent('setupClone', this);\n\n if (!Sortable.eventCanceled) {\n cloneEl = clone(dragEl);\n cloneEl.draggable = false;\n cloneEl.style['will-change'] = '';\n\n this._hideClone();\n\n toggleClass(cloneEl, this.options.chosenClass, false);\n Sortable.clone = cloneEl;\n } // #1143: IFrame support workaround\n\n\n _this.cloneId = _nextTick(function () {\n pluginEvent('clone', _this);\n if (Sortable.eventCanceled) return;\n\n if (!_this.options.removeCloneOnHide) {\n rootEl.insertBefore(cloneEl, dragEl);\n }\n\n _this._hideClone();\n\n _dispatchEvent({\n sortable: _this,\n name: 'clone'\n });\n });\n !fallback && toggleClass(dragEl, options.dragClass, true); // Set proper drop events\n\n if (fallback) {\n ignoreNextClick = true;\n _this._loopId = setInterval(_this._emulateDragOver, 50);\n } else {\n // Undo what was set in _prepareDragStart before drag started\n off(document, 'mouseup', _this._onDrop);\n off(document, 'touchend', _this._onDrop);\n off(document, 'touchcancel', _this._onDrop);\n\n if (dataTransfer) {\n dataTransfer.effectAllowed = 'move';\n options.setData && options.setData.call(_this, dataTransfer, dragEl);\n }\n\n on(document, 'drop', _this); // #1276 fix:\n\n css(dragEl, 'transform', 'translateZ(0)');\n }\n\n awaitingDragStarted = true;\n _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));\n on(document, 'selectstart', _this);\n moved = true;\n\n if (Safari) {\n css(document.body, 'user-select', 'none');\n }\n },\n // Returns true - if no further action is needed (either inserted or another condition)\n _onDragOver: function _onDragOver(\n /**Event*/\n evt) {\n var el = this.el,\n target = evt.target,\n dragRect,\n targetRect,\n revert,\n options = this.options,\n group = options.group,\n activeSortable = Sortable.active,\n isOwner = activeGroup === group,\n canSort = options.sort,\n fromSortable = putSortable || activeSortable,\n vertical,\n _this = this,\n completedFired = false;\n\n if (_silent) return;\n\n function dragOverEvent(name, extra) {\n pluginEvent(name, _this, _objectSpread({\n evt: evt,\n isOwner: isOwner,\n axis: vertical ? 'vertical' : 'horizontal',\n revert: revert,\n dragRect: dragRect,\n targetRect: targetRect,\n canSort: canSort,\n fromSortable: fromSortable,\n target: target,\n completed: completed,\n onMove: function onMove(target, after) {\n return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after);\n },\n changed: changed\n }, extra));\n } // Capture animation state\n\n\n function capture() {\n dragOverEvent('dragOverAnimationCapture');\n\n _this.captureAnimationState();\n\n if (_this !== fromSortable) {\n fromSortable.captureAnimationState();\n }\n } // Return invocation when dragEl is inserted (or completed)\n\n\n function completed(insertion) {\n dragOverEvent('dragOverCompleted', {\n insertion: insertion\n });\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n } else {\n activeSortable._showClone(_this);\n }\n\n if (_this !== fromSortable) {\n // Set ghost class to new sortable's ghost class\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n }\n\n if (putSortable !== _this && _this !== Sortable.active) {\n putSortable = _this;\n } else if (_this === Sortable.active && putSortable) {\n putSortable = null;\n } // Animation\n\n\n if (fromSortable === _this) {\n _this._ignoreWhileAnimating = target;\n }\n\n _this.animateAll(function () {\n dragOverEvent('dragOverAnimationComplete');\n _this._ignoreWhileAnimating = null;\n });\n\n if (_this !== fromSortable) {\n fromSortable.animateAll();\n fromSortable._ignoreWhileAnimating = null;\n }\n } // Null lastTarget if it is not inside a previously swapped element\n\n\n if (target === dragEl && !dragEl.animated || target === el && !target.animated) {\n lastTarget = null;\n } // no bubbling and not fallback\n\n\n if (!options.dragoverBubble && !evt.rootEl && target !== document) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target); // Do not detect for empty insert if already inserted\n\n\n !insertion && nearestEmptyInsertDetectEvent(evt);\n }\n\n !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();\n return completedFired = true;\n } // Call when dragEl has been inserted\n\n\n function changed() {\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n _dispatchEvent({\n sortable: _this,\n name: 'change',\n toEl: el,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n originalEvent: evt\n });\n }\n\n if (evt.preventDefault !== void 0) {\n evt.cancelable && evt.preventDefault();\n }\n\n target = closest(target, options.draggable, el, true);\n dragOverEvent('dragOver');\n if (Sortable.eventCanceled) return completedFired;\n\n if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {\n return completed(false);\n }\n\n ignoreNextClick = false;\n\n if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = !rootEl.contains(dragEl)) // Reverting item into the original list\n : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {\n vertical = this._getDirection(evt, target) === 'vertical';\n dragRect = getRect(dragEl);\n dragOverEvent('dragOverValid');\n if (Sortable.eventCanceled) return completedFired;\n\n if (revert) {\n parentEl = rootEl; // actualization\n\n capture();\n\n this._hideClone();\n\n dragOverEvent('revert');\n\n if (!Sortable.eventCanceled) {\n if (nextEl) {\n rootEl.insertBefore(dragEl, nextEl);\n } else {\n rootEl.appendChild(dragEl);\n }\n }\n\n return completed(true);\n }\n\n var elLastChild = lastChild(el, options.draggable);\n\n if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {\n // If already at end of list: Do not insert\n if (elLastChild === dragEl) {\n return completed(false);\n } // assign target only if condition is true\n\n\n if (elLastChild && el === evt.target) {\n target = elLastChild;\n }\n\n if (target) {\n targetRect = getRect(target);\n }\n\n if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {\n capture();\n el.appendChild(dragEl);\n parentEl = el; // actualization\n\n changed();\n return completed(true);\n }\n } else if (target.parentNode === el) {\n targetRect = getRect(target);\n var direction = 0,\n targetBeforeFirstSwap,\n differentLevel = dragEl.parentNode !== el,\n differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical),\n side1 = vertical ? 'top' : 'left',\n scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'),\n scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;\n\n if (lastTarget !== target) {\n targetBeforeFirstSwap = targetRect[side1];\n pastFirstInvertThresh = false;\n isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;\n }\n\n direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);\n var sibling;\n\n if (direction !== 0) {\n // Check if target is beside dragEl in respective direction (ignoring hidden elements)\n var dragIndex = index(dragEl);\n\n do {\n dragIndex -= direction;\n sibling = parentEl.children[dragIndex];\n } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));\n } // If dragEl is already beside target: Do not insert\n\n\n if (direction === 0 || sibling === target) {\n return completed(false);\n }\n\n lastTarget = target;\n lastDirection = direction;\n var nextSibling = target.nextElementSibling,\n after = false;\n after = direction === 1;\n\n var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);\n\n if (moveVector !== false) {\n if (moveVector === 1 || moveVector === -1) {\n after = moveVector === 1;\n }\n\n _silent = true;\n setTimeout(_unsilent, 30);\n capture();\n\n if (after && !nextSibling) {\n el.appendChild(dragEl);\n } else {\n target.parentNode.insertBefore(dragEl, after ? nextSibling : target);\n } // Undo chrome's scroll adjustment (has no effect on other browsers)\n\n\n if (scrolledPastTop) {\n scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);\n }\n\n parentEl = dragEl.parentNode; // actualization\n // must be done before animation\n\n if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) {\n targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);\n }\n\n changed();\n return completed(true);\n }\n }\n\n if (el.contains(dragEl)) {\n return completed(false);\n }\n }\n\n return false;\n },\n _ignoreWhileAnimating: null,\n _offMoveEvents: function _offMoveEvents() {\n off(document, 'mousemove', this._onTouchMove);\n off(document, 'touchmove', this._onTouchMove);\n off(document, 'pointermove', this._onTouchMove);\n off(document, 'dragover', nearestEmptyInsertDetectEvent);\n off(document, 'mousemove', nearestEmptyInsertDetectEvent);\n off(document, 'touchmove', nearestEmptyInsertDetectEvent);\n },\n _offUpEvents: function _offUpEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._onDrop);\n off(ownerDocument, 'touchend', this._onDrop);\n off(ownerDocument, 'pointerup', this._onDrop);\n off(ownerDocument, 'touchcancel', this._onDrop);\n off(document, 'selectstart', this);\n },\n _onDrop: function _onDrop(\n /**Event*/\n evt) {\n var el = this.el,\n options = this.options; // Get the index of the dragged element within its parent\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n pluginEvent('drop', this, {\n evt: evt\n });\n parentEl = dragEl && dragEl.parentNode; // Get again after plugin event\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n if (Sortable.eventCanceled) {\n this._nulling();\n\n return;\n }\n\n awaitingDragStarted = false;\n isCircumstantialInvert = false;\n pastFirstInvertThresh = false;\n clearInterval(this._loopId);\n clearTimeout(this._dragStartTimer);\n\n _cancelNextTick(this.cloneId);\n\n _cancelNextTick(this._dragStartId); // Unbind events\n\n\n if (this.nativeDraggable) {\n off(document, 'drop', this);\n off(el, 'dragstart', this._onDragStart);\n }\n\n this._offMoveEvents();\n\n this._offUpEvents();\n\n if (Safari) {\n css(document.body, 'user-select', '');\n }\n\n if (evt) {\n if (moved) {\n evt.cancelable && evt.preventDefault();\n !options.dropBubble && evt.stopPropagation();\n }\n\n ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n // Remove clone(s)\n cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);\n }\n\n if (dragEl) {\n if (this.nativeDraggable) {\n off(dragEl, 'dragend', this);\n }\n\n _disableDraggable(dragEl);\n\n dragEl.style['will-change'] = ''; // Remove classes\n // ghostClass is added in dragStarted\n\n if (moved && !awaitingDragStarted) {\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);\n }\n\n toggleClass(dragEl, this.options.chosenClass, false); // Drag stop event\n\n _dispatchEvent({\n sortable: this,\n name: 'unchoose',\n toEl: parentEl,\n newIndex: null,\n newDraggableIndex: null,\n originalEvent: evt\n });\n\n if (rootEl !== parentEl) {\n if (newIndex >= 0) {\n // Add event\n _dispatchEvent({\n rootEl: parentEl,\n name: 'add',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n }); // Remove event\n\n\n _dispatchEvent({\n sortable: this,\n name: 'remove',\n toEl: parentEl,\n originalEvent: evt\n }); // drag from one list and drop into another\n\n\n _dispatchEvent({\n rootEl: parentEl,\n name: 'sort',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n\n putSortable && putSortable.save();\n } else {\n if (newIndex !== oldIndex) {\n if (newIndex >= 0) {\n // drag & drop within the same list\n _dispatchEvent({\n sortable: this,\n name: 'update',\n toEl: parentEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n }\n }\n\n if (Sortable.active) {\n /* jshint eqnull:true */\n if (newIndex == null || newIndex === -1) {\n newIndex = oldIndex;\n newDraggableIndex = oldDraggableIndex;\n }\n\n _dispatchEvent({\n sortable: this,\n name: 'end',\n toEl: parentEl,\n originalEvent: evt\n }); // Save sorting\n\n\n this.save();\n }\n }\n }\n\n this._nulling();\n },\n _nulling: function _nulling() {\n pluginEvent('nulling', this);\n rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;\n savedInputChecked.forEach(function (el) {\n el.checked = true;\n });\n savedInputChecked.length = lastDx = lastDy = 0;\n },\n handleEvent: function handleEvent(\n /**Event*/\n evt) {\n switch (evt.type) {\n case 'drop':\n case 'dragend':\n this._onDrop(evt);\n\n break;\n\n case 'dragenter':\n case 'dragover':\n if (dragEl) {\n this._onDragOver(evt);\n\n _globalDragOver(evt);\n }\n\n break;\n\n case 'selectstart':\n evt.preventDefault();\n break;\n }\n },\n\n /**\r\n * Serializes the item into an array of string.\r\n * @returns {String[]}\r\n */\n toArray: function toArray() {\n var order = [],\n el,\n children = this.el.children,\n i = 0,\n n = children.length,\n options = this.options;\n\n for (; i < n; i++) {\n el = children[i];\n\n if (closest(el, options.draggable, this.el, false)) {\n order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));\n }\n }\n\n return order;\n },\n\n /**\r\n * Sorts the elements according to the array.\r\n * @param {String[]} order order of the items\r\n */\n sort: function sort(order) {\n var items = {},\n rootEl = this.el;\n this.toArray().forEach(function (id, i) {\n var el = rootEl.children[i];\n\n if (closest(el, this.options.draggable, rootEl, false)) {\n items[id] = el;\n }\n }, this);\n order.forEach(function (id) {\n if (items[id]) {\n rootEl.removeChild(items[id]);\n rootEl.appendChild(items[id]);\n }\n });\n },\n\n /**\r\n * Save the current sorting\r\n */\n save: function save() {\n var store = this.options.store;\n store && store.set && store.set(this);\n },\n\n /**\r\n * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\r\n * @param {HTMLElement} el\r\n * @param {String} [selector] default: `options.draggable`\r\n * @returns {HTMLElement|null}\r\n */\n closest: function closest$1(el, selector) {\n return closest(el, selector || this.options.draggable, this.el, false);\n },\n\n /**\r\n * Set/get option\r\n * @param {string} name\r\n * @param {*} [value]\r\n * @returns {*}\r\n */\n option: function option(name, value) {\n var options = this.options;\n\n if (value === void 0) {\n return options[name];\n } else {\n var modifiedValue = PluginManager.modifyOption(this, name, value);\n\n if (typeof modifiedValue !== 'undefined') {\n options[name] = modifiedValue;\n } else {\n options[name] = value;\n }\n\n if (name === 'group') {\n _prepareGroup(options);\n }\n }\n },\n\n /**\r\n * Destroy\r\n */\n destroy: function destroy() {\n pluginEvent('destroy', this);\n var el = this.el;\n el[expando] = null;\n off(el, 'mousedown', this._onTapStart);\n off(el, 'touchstart', this._onTapStart);\n off(el, 'pointerdown', this._onTapStart);\n\n if (this.nativeDraggable) {\n off(el, 'dragover', this);\n off(el, 'dragenter', this);\n } // Remove draggable attributes\n\n\n Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {\n el.removeAttribute('draggable');\n });\n\n this._onDrop();\n\n sortables.splice(sortables.indexOf(this.el), 1);\n this.el = el = null;\n },\n _hideClone: function _hideClone() {\n if (!cloneHidden) {\n pluginEvent('hideClone', this);\n if (Sortable.eventCanceled) return;\n css(cloneEl, 'display', 'none');\n\n if (this.options.removeCloneOnHide && cloneEl.parentNode) {\n cloneEl.parentNode.removeChild(cloneEl);\n }\n\n cloneHidden = true;\n }\n },\n _showClone: function _showClone(putSortable) {\n if (putSortable.lastPutMode !== 'clone') {\n this._hideClone();\n\n return;\n }\n\n if (cloneHidden) {\n pluginEvent('showClone', this);\n if (Sortable.eventCanceled) return; // show clone at dragEl or original position\n\n if (rootEl.contains(dragEl) && !this.options.group.revertClone) {\n rootEl.insertBefore(cloneEl, dragEl);\n } else if (nextEl) {\n rootEl.insertBefore(cloneEl, nextEl);\n } else {\n rootEl.appendChild(cloneEl);\n }\n\n if (this.options.group.revertClone) {\n this.animate(dragEl, cloneEl);\n }\n\n css(cloneEl, 'display', '');\n cloneHidden = false;\n }\n }\n};\n\nfunction _globalDragOver(\n/**Event*/\nevt) {\n if (evt.dataTransfer) {\n evt.dataTransfer.dropEffect = 'move';\n }\n\n evt.cancelable && evt.preventDefault();\n}\n\nfunction _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {\n var evt,\n sortable = fromEl[expando],\n onMoveFn = sortable.options.onMove,\n retVal; // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent('move', {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent('move', true, true);\n }\n\n evt.to = toEl;\n evt.from = fromEl;\n evt.dragged = dragEl;\n evt.draggedRect = dragRect;\n evt.related = targetEl || toEl;\n evt.relatedRect = targetRect || getRect(toEl);\n evt.willInsertAfter = willInsertAfter;\n evt.originalEvent = originalEvent;\n fromEl.dispatchEvent(evt);\n\n if (onMoveFn) {\n retVal = onMoveFn.call(sortable, evt, originalEvent);\n }\n\n return retVal;\n}\n\nfunction _disableDraggable(el) {\n el.draggable = false;\n}\n\nfunction _unsilent() {\n _silent = false;\n}\n\nfunction _ghostIsLast(evt, vertical, sortable) {\n var rect = getRect(lastChild(sortable.el, sortable.options.draggable));\n var spacer = 10;\n return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer;\n}\n\nfunction _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {\n var mouseOnAxis = vertical ? evt.clientY : evt.clientX,\n targetLength = vertical ? targetRect.height : targetRect.width,\n targetS1 = vertical ? targetRect.top : targetRect.left,\n targetS2 = vertical ? targetRect.bottom : targetRect.right,\n invert = false;\n\n if (!invertSwap) {\n // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold\n if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {\n // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2\n // check if past first invert threshold on side opposite of lastDirection\n if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {\n // past first invert threshold, do not restrict inverted threshold to dragEl shadow\n pastFirstInvertThresh = true;\n }\n\n if (!pastFirstInvertThresh) {\n // dragEl shadow (target move distance shadow)\n if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow\n : mouseOnAxis > targetS2 - targetMoveDistance) {\n return -lastDirection;\n }\n } else {\n invert = true;\n }\n } else {\n // Regular\n if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {\n return _getInsertDirection(target);\n }\n }\n }\n\n invert = invert || invertSwap;\n\n if (invert) {\n // Invert of regular\n if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {\n return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;\n }\n }\n\n return 0;\n}\n/**\r\n * Gets the direction dragEl must be swapped relative to target in order to make it\r\n * seem that dragEl has been \"inserted\" into that element's position\r\n * @param {HTMLElement} target The target whose position dragEl is being inserted at\r\n * @return {Number} Direction dragEl must be swapped\r\n */\n\n\nfunction _getInsertDirection(target) {\n if (index(dragEl) < index(target)) {\n return 1;\n } else {\n return -1;\n }\n}\n/**\r\n * Generate id\r\n * @param {HTMLElement} el\r\n * @returns {String}\r\n * @private\r\n */\n\n\nfunction _generateId(el) {\n var str = el.tagName + el.className + el.src + el.href + el.textContent,\n i = str.length,\n sum = 0;\n\n while (i--) {\n sum += str.charCodeAt(i);\n }\n\n return sum.toString(36);\n}\n\nfunction _saveInputCheckedState(root) {\n savedInputChecked.length = 0;\n var inputs = root.getElementsByTagName('input');\n var idx = inputs.length;\n\n while (idx--) {\n var el = inputs[idx];\n el.checked && savedInputChecked.push(el);\n }\n}\n\nfunction _nextTick(fn) {\n return setTimeout(fn, 0);\n}\n\nfunction _cancelNextTick(id) {\n return clearTimeout(id);\n} // Fixed #973:\n\n\non(document, 'touchmove', function (evt) {\n if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {\n evt.preventDefault();\n }\n}); // Export utils\n\nSortable.utils = {\n on: on,\n off: off,\n css: css,\n find: find,\n is: function is(el, selector) {\n return !!closest(el, selector, el, false);\n },\n extend: extend,\n throttle: throttle,\n closest: closest,\n toggleClass: toggleClass,\n clone: clone,\n index: index,\n nextTick: _nextTick,\n cancelNextTick: _cancelNextTick,\n detectDirection: _detectDirection,\n getChild: getChild\n};\n/**\r\n * Get the Sortable instance of an element\r\n * @param {HTMLElement} element The element\r\n * @return {Sortable|undefined} The instance of Sortable\r\n */\n\nSortable.get = function (element) {\n return element[expando];\n};\n/**\r\n * Mount a plugin to Sortable\r\n * @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted\r\n */\n\n\nSortable.mount = function () {\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n if (plugins[0].constructor === Array) plugins = plugins[0];\n plugins.forEach(function (plugin) {\n if (!plugin.prototype || !plugin.prototype.constructor) {\n throw \"Sortable: Mounted plugin must be a constructor function, not \".concat({}.toString.call(plugin));\n }\n\n if (plugin.utils) Sortable.utils = _objectSpread({}, Sortable.utils, plugin.utils);\n PluginManager.mount(plugin);\n });\n};\n/**\r\n * Create sortable instance\r\n * @param {HTMLElement} el\r\n * @param {Object} [options]\r\n */\n\n\nSortable.create = function (el, options) {\n return new Sortable(el, options);\n}; // Export\n\n\nSortable.version = version;\n\nvar autoScrolls = [],\n scrollEl,\n scrollRootEl,\n scrolling = false,\n lastAutoScrollX,\n lastAutoScrollY,\n touchEvt$1,\n pointerElemChangedInterval;\n\nfunction AutoScrollPlugin() {\n function AutoScroll() {\n this.defaults = {\n scroll: true,\n scrollSensitivity: 30,\n scrollSpeed: 10,\n bubbleScroll: true\n }; // Bind all private methods\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n }\n\n AutoScroll.prototype = {\n dragStarted: function dragStarted(_ref) {\n var originalEvent = _ref.originalEvent;\n\n if (this.sortable.nativeDraggable) {\n on(document, 'dragover', this._handleAutoScroll);\n } else {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._handleFallbackAutoScroll);\n } else if (originalEvent.touches) {\n on(document, 'touchmove', this._handleFallbackAutoScroll);\n } else {\n on(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref2) {\n var originalEvent = _ref2.originalEvent;\n\n // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached)\n if (!this.options.dragOverBubble && !originalEvent.rootEl) {\n this._handleAutoScroll(originalEvent);\n }\n },\n drop: function drop() {\n if (this.sortable.nativeDraggable) {\n off(document, 'dragover', this._handleAutoScroll);\n } else {\n off(document, 'pointermove', this._handleFallbackAutoScroll);\n off(document, 'touchmove', this._handleFallbackAutoScroll);\n off(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n\n clearPointerElemChangedInterval();\n clearAutoScrolls();\n cancelThrottle();\n },\n nulling: function nulling() {\n touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;\n autoScrolls.length = 0;\n },\n _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {\n this._handleAutoScroll(evt, true);\n },\n _handleAutoScroll: function _handleAutoScroll(evt, fallback) {\n var _this = this;\n\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n elem = document.elementFromPoint(x, y);\n touchEvt$1 = evt; // IE does not seem to have native autoscroll,\n // Edge's autoscroll seems too conditional,\n // MACOS Safari does not have autoscroll,\n // Firefox and Chrome are good\n\n if (fallback || Edge || IE11OrLess || Safari) {\n autoScroll(evt, this.options, elem, fallback); // Listener for pointer element change\n\n var ogElemScroller = getParentAutoScrollElement(elem, true);\n\n if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {\n pointerElemChangedInterval && clearPointerElemChangedInterval(); // Detect for pointer elem change, emulating native DnD behaviour\n\n pointerElemChangedInterval = setInterval(function () {\n var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);\n\n if (newElem !== ogElemScroller) {\n ogElemScroller = newElem;\n clearAutoScrolls();\n }\n\n autoScroll(evt, _this.options, newElem, fallback);\n }, 10);\n lastAutoScrollX = x;\n lastAutoScrollY = y;\n }\n } else {\n // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll\n if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {\n clearAutoScrolls();\n return;\n }\n\n autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);\n }\n }\n };\n return _extends(AutoScroll, {\n pluginName: 'scroll',\n initializeByDefault: true\n });\n}\n\nfunction clearAutoScrolls() {\n autoScrolls.forEach(function (autoScroll) {\n clearInterval(autoScroll.pid);\n });\n autoScrolls = [];\n}\n\nfunction clearPointerElemChangedInterval() {\n clearInterval(pointerElemChangedInterval);\n}\n\nvar autoScroll = throttle(function (evt, options, rootEl, isFallback) {\n // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n if (!options.scroll) return;\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n sens = options.scrollSensitivity,\n speed = options.scrollSpeed,\n winScroller = getWindowScrollingElement();\n var scrollThisInstance = false,\n scrollCustomFn; // New scroll root, set scrollEl\n\n if (scrollRootEl !== rootEl) {\n scrollRootEl = rootEl;\n clearAutoScrolls();\n scrollEl = options.scroll;\n scrollCustomFn = options.scrollFn;\n\n if (scrollEl === true) {\n scrollEl = getParentAutoScrollElement(rootEl, true);\n }\n }\n\n var layersOut = 0;\n var currentParent = scrollEl;\n\n do {\n var el = currentParent,\n rect = getRect(el),\n top = rect.top,\n bottom = rect.bottom,\n left = rect.left,\n right = rect.right,\n width = rect.width,\n height = rect.height,\n canScrollX = void 0,\n canScrollY = void 0,\n scrollWidth = el.scrollWidth,\n scrollHeight = el.scrollHeight,\n elCSS = css(el),\n scrollPosX = el.scrollLeft,\n scrollPosY = el.scrollTop;\n\n if (el === winScroller) {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible');\n } else {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll');\n }\n\n var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);\n var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);\n\n if (!autoScrolls[layersOut]) {\n for (var i = 0; i <= layersOut; i++) {\n if (!autoScrolls[i]) {\n autoScrolls[i] = {};\n }\n }\n }\n\n if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {\n autoScrolls[layersOut].el = el;\n autoScrolls[layersOut].vx = vx;\n autoScrolls[layersOut].vy = vy;\n clearInterval(autoScrolls[layersOut].pid);\n\n if (vx != 0 || vy != 0) {\n scrollThisInstance = true;\n /* jshint loopfunc:true */\n\n autoScrolls[layersOut].pid = setInterval(function () {\n // emulate drag over during autoscroll (fallback), emulating native DnD behaviour\n if (isFallback && this.layer === 0) {\n Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely\n\n }\n\n var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;\n var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;\n\n if (typeof scrollCustomFn === 'function') {\n if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') {\n return;\n }\n }\n\n scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);\n }.bind({\n layer: layersOut\n }), 24);\n }\n }\n\n layersOut++;\n } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));\n\n scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not\n}, 30);\n\nvar drop = function drop(_ref) {\n var originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n dragEl = _ref.dragEl,\n activeSortable = _ref.activeSortable,\n dispatchSortableEvent = _ref.dispatchSortableEvent,\n hideGhostForTarget = _ref.hideGhostForTarget,\n unhideGhostForTarget = _ref.unhideGhostForTarget;\n var toSortable = putSortable || activeSortable;\n hideGhostForTarget();\n var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;\n var target = document.elementFromPoint(touch.clientX, touch.clientY);\n unhideGhostForTarget();\n\n if (toSortable && !toSortable.el.contains(target)) {\n dispatchSortableEvent('spill');\n this.onSpill({\n dragEl: dragEl,\n putSortable: putSortable\n });\n }\n};\n\nfunction Revert() {}\n\nRevert.prototype = {\n startIndex: null,\n dragStart: function dragStart(_ref2) {\n var oldDraggableIndex = _ref2.oldDraggableIndex;\n this.startIndex = oldDraggableIndex;\n },\n onSpill: function onSpill(_ref3) {\n var dragEl = _ref3.dragEl,\n putSortable = _ref3.putSortable;\n this.sortable.captureAnimationState();\n\n if (putSortable) {\n putSortable.captureAnimationState();\n }\n\n var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);\n\n if (nextSibling) {\n this.sortable.el.insertBefore(dragEl, nextSibling);\n } else {\n this.sortable.el.appendChild(dragEl);\n }\n\n this.sortable.animateAll();\n\n if (putSortable) {\n putSortable.animateAll();\n }\n },\n drop: drop\n};\n\n_extends(Revert, {\n pluginName: 'revertOnSpill'\n});\n\nfunction Remove() {}\n\nRemove.prototype = {\n onSpill: function onSpill(_ref4) {\n var dragEl = _ref4.dragEl,\n putSortable = _ref4.putSortable;\n var parentSortable = putSortable || this.sortable;\n parentSortable.captureAnimationState();\n dragEl.parentNode && dragEl.parentNode.removeChild(dragEl);\n parentSortable.animateAll();\n },\n drop: drop\n};\n\n_extends(Remove, {\n pluginName: 'removeOnSpill'\n});\n\nvar lastSwapEl;\n\nfunction SwapPlugin() {\n function Swap() {\n this.defaults = {\n swapClass: 'sortable-swap-highlight'\n };\n }\n\n Swap.prototype = {\n dragStart: function dragStart(_ref) {\n var dragEl = _ref.dragEl;\n lastSwapEl = dragEl;\n },\n dragOverValid: function dragOverValid(_ref2) {\n var completed = _ref2.completed,\n target = _ref2.target,\n onMove = _ref2.onMove,\n activeSortable = _ref2.activeSortable,\n changed = _ref2.changed,\n cancel = _ref2.cancel;\n if (!activeSortable.options.swap) return;\n var el = this.sortable.el,\n options = this.options;\n\n if (target && target !== el) {\n var prevSwapEl = lastSwapEl;\n\n if (onMove(target) !== false) {\n toggleClass(target, options.swapClass, true);\n lastSwapEl = target;\n } else {\n lastSwapEl = null;\n }\n\n if (prevSwapEl && prevSwapEl !== lastSwapEl) {\n toggleClass(prevSwapEl, options.swapClass, false);\n }\n }\n\n changed();\n completed(true);\n cancel();\n },\n drop: function drop(_ref3) {\n var activeSortable = _ref3.activeSortable,\n putSortable = _ref3.putSortable,\n dragEl = _ref3.dragEl;\n var toSortable = putSortable || this.sortable;\n var options = this.options;\n lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false);\n\n if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) {\n if (dragEl !== lastSwapEl) {\n toSortable.captureAnimationState();\n if (toSortable !== activeSortable) activeSortable.captureAnimationState();\n swapNodes(dragEl, lastSwapEl);\n toSortable.animateAll();\n if (toSortable !== activeSortable) activeSortable.animateAll();\n }\n }\n },\n nulling: function nulling() {\n lastSwapEl = null;\n }\n };\n return _extends(Swap, {\n pluginName: 'swap',\n eventProperties: function eventProperties() {\n return {\n swapItem: lastSwapEl\n };\n }\n });\n}\n\nfunction swapNodes(n1, n2) {\n var p1 = n1.parentNode,\n p2 = n2.parentNode,\n i1,\n i2;\n if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return;\n i1 = index(n1);\n i2 = index(n2);\n\n if (p1.isEqualNode(p2) && i1 < i2) {\n i2++;\n }\n\n p1.insertBefore(n2, p1.children[i1]);\n p2.insertBefore(n1, p2.children[i2]);\n}\n\nvar multiDragElements = [],\n multiDragClones = [],\n lastMultiDragSelect,\n // for selection with modifier key down (SHIFT)\nmultiDragSortable,\n initialFolding = false,\n // Initial multi-drag fold when drag started\nfolding = false,\n // Folding any other time\ndragStarted = false,\n dragEl$1,\n clonesFromRect,\n clonesHidden;\n\nfunction MultiDragPlugin() {\n function MultiDrag(sortable) {\n // Bind all private methods\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n\n if (sortable.options.supportPointer) {\n on(document, 'pointerup', this._deselectMultiDrag);\n } else {\n on(document, 'mouseup', this._deselectMultiDrag);\n on(document, 'touchend', this._deselectMultiDrag);\n }\n\n on(document, 'keydown', this._checkKeyDown);\n on(document, 'keyup', this._checkKeyUp);\n this.defaults = {\n selectedClass: 'sortable-selected',\n multiDragKey: null,\n setData: function setData(dataTransfer, dragEl) {\n var data = '';\n\n if (multiDragElements.length && multiDragSortable === sortable) {\n multiDragElements.forEach(function (multiDragElement, i) {\n data += (!i ? '' : ', ') + multiDragElement.textContent;\n });\n } else {\n data = dragEl.textContent;\n }\n\n dataTransfer.setData('Text', data);\n }\n };\n }\n\n MultiDrag.prototype = {\n multiDragKeyDown: false,\n isMultiDrag: false,\n delayStartGlobal: function delayStartGlobal(_ref) {\n var dragged = _ref.dragEl;\n dragEl$1 = dragged;\n },\n delayEnded: function delayEnded() {\n this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1);\n },\n setupClone: function setupClone(_ref2) {\n var sortable = _ref2.sortable,\n cancel = _ref2.cancel;\n if (!this.isMultiDrag) return;\n\n for (var i = 0; i < multiDragElements.length; i++) {\n multiDragClones.push(clone(multiDragElements[i]));\n multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex;\n multiDragClones[i].draggable = false;\n multiDragClones[i].style['will-change'] = '';\n toggleClass(multiDragClones[i], this.options.selectedClass, false);\n multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false);\n }\n\n sortable._hideClone();\n\n cancel();\n },\n clone: function clone(_ref3) {\n var sortable = _ref3.sortable,\n rootEl = _ref3.rootEl,\n dispatchSortableEvent = _ref3.dispatchSortableEvent,\n cancel = _ref3.cancel;\n if (!this.isMultiDrag) return;\n\n if (!this.options.removeCloneOnHide) {\n if (multiDragElements.length && multiDragSortable === sortable) {\n insertMultiDragClones(true, rootEl);\n dispatchSortableEvent('clone');\n cancel();\n }\n }\n },\n showClone: function showClone(_ref4) {\n var cloneNowShown = _ref4.cloneNowShown,\n rootEl = _ref4.rootEl,\n cancel = _ref4.cancel;\n if (!this.isMultiDrag) return;\n insertMultiDragClones(false, rootEl);\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', '');\n });\n cloneNowShown();\n clonesHidden = false;\n cancel();\n },\n hideClone: function hideClone(_ref5) {\n var _this = this;\n\n var sortable = _ref5.sortable,\n cloneNowHidden = _ref5.cloneNowHidden,\n cancel = _ref5.cancel;\n if (!this.isMultiDrag) return;\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', 'none');\n\n if (_this.options.removeCloneOnHide && clone.parentNode) {\n clone.parentNode.removeChild(clone);\n }\n });\n cloneNowHidden();\n clonesHidden = true;\n cancel();\n },\n dragStartGlobal: function dragStartGlobal(_ref6) {\n var sortable = _ref6.sortable;\n\n if (!this.isMultiDrag && multiDragSortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n }\n\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.sortableIndex = index(multiDragElement);\n }); // Sort multi-drag elements\n\n multiDragElements = multiDragElements.sort(function (a, b) {\n return a.sortableIndex - b.sortableIndex;\n });\n dragStarted = true;\n },\n dragStarted: function dragStarted(_ref7) {\n var _this2 = this;\n\n var sortable = _ref7.sortable;\n if (!this.isMultiDrag) return;\n\n if (this.options.sort) {\n // Capture rects,\n // hide multi drag elements (by positioning them absolute),\n // set multi drag elements rects to dragRect,\n // show multi drag elements,\n // animate to rects,\n // unset rects & remove from DOM\n sortable.captureAnimationState();\n\n if (this.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n css(multiDragElement, 'position', 'absolute');\n });\n var dragRect = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRect);\n });\n folding = true;\n initialFolding = true;\n }\n }\n\n sortable.animateAll(function () {\n folding = false;\n initialFolding = false;\n\n if (_this2.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n } // Remove all auxiliary multidrag items from el, if sorting enabled\n\n\n if (_this2.options.sort) {\n removeMultiDragElements();\n }\n });\n },\n dragOver: function dragOver(_ref8) {\n var target = _ref8.target,\n completed = _ref8.completed,\n cancel = _ref8.cancel;\n\n if (folding && ~multiDragElements.indexOf(target)) {\n completed(false);\n cancel();\n }\n },\n revert: function revert(_ref9) {\n var fromSortable = _ref9.fromSortable,\n rootEl = _ref9.rootEl,\n sortable = _ref9.sortable,\n dragRect = _ref9.dragRect;\n\n if (multiDragElements.length > 1) {\n // Setup unfold animation\n multiDragElements.forEach(function (multiDragElement) {\n sortable.addAnimationState({\n target: multiDragElement,\n rect: folding ? getRect(multiDragElement) : dragRect\n });\n unsetRect(multiDragElement);\n multiDragElement.fromRect = dragRect;\n fromSortable.removeAnimationState(multiDragElement);\n });\n folding = false;\n insertMultiDragElements(!this.options.removeCloneOnHide, rootEl);\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref10) {\n var sortable = _ref10.sortable,\n isOwner = _ref10.isOwner,\n insertion = _ref10.insertion,\n activeSortable = _ref10.activeSortable,\n parentEl = _ref10.parentEl,\n putSortable = _ref10.putSortable;\n var options = this.options;\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n }\n\n initialFolding = false; // If leaving sort:false root, or already folding - Fold to new location\n\n if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) {\n // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible\n var dragRectAbsolute = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRectAbsolute); // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted\n // while folding, and so that we can capture them again because old sortable will no longer be fromSortable\n\n parentEl.appendChild(multiDragElement);\n });\n folding = true;\n } // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out\n\n\n if (!isOwner) {\n // Only remove if not folding (folding will remove them anyways)\n if (!folding) {\n removeMultiDragElements();\n }\n\n if (multiDragElements.length > 1) {\n var clonesHiddenBefore = clonesHidden;\n\n activeSortable._showClone(sortable); // Unfold animation for clones if showing from hidden\n\n\n if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) {\n multiDragClones.forEach(function (clone) {\n activeSortable.addAnimationState({\n target: clone,\n rect: clonesFromRect\n });\n clone.fromRect = clonesFromRect;\n clone.thisAnimationDuration = null;\n });\n }\n } else {\n activeSortable._showClone(sortable);\n }\n }\n }\n },\n dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) {\n var dragRect = _ref11.dragRect,\n isOwner = _ref11.isOwner,\n activeSortable = _ref11.activeSortable;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n });\n\n if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) {\n clonesFromRect = _extends({}, dragRect);\n var dragMatrix = matrix(dragEl$1, true);\n clonesFromRect.top -= dragMatrix.f;\n clonesFromRect.left -= dragMatrix.e;\n }\n },\n dragOverAnimationComplete: function dragOverAnimationComplete() {\n if (folding) {\n folding = false;\n removeMultiDragElements();\n }\n },\n drop: function drop(_ref12) {\n var evt = _ref12.originalEvent,\n rootEl = _ref12.rootEl,\n parentEl = _ref12.parentEl,\n sortable = _ref12.sortable,\n dispatchSortableEvent = _ref12.dispatchSortableEvent,\n oldIndex = _ref12.oldIndex,\n putSortable = _ref12.putSortable;\n var toSortable = putSortable || this.sortable;\n if (!evt) return;\n var options = this.options,\n children = parentEl.children; // Multi-drag selection\n\n if (!dragStarted) {\n if (options.multiDragKey && !this.multiDragKeyDown) {\n this._deselectMultiDrag();\n }\n\n toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1));\n\n if (!~multiDragElements.indexOf(dragEl$1)) {\n multiDragElements.push(dragEl$1);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: dragEl$1,\n originalEvt: evt\n }); // Modifier activated, select from last to dragEl\n\n if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) {\n var lastIndex = index(lastMultiDragSelect),\n currentIndex = index(dragEl$1);\n\n if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) {\n // Must include lastMultiDragSelect (select it), in case modified selection from no selection\n // (but previous selection existed)\n var n, i;\n\n if (currentIndex > lastIndex) {\n i = lastIndex;\n n = currentIndex;\n } else {\n i = currentIndex;\n n = lastIndex + 1;\n }\n\n for (; i < n; i++) {\n if (~multiDragElements.indexOf(children[i])) continue;\n toggleClass(children[i], options.selectedClass, true);\n multiDragElements.push(children[i]);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: children[i],\n originalEvt: evt\n });\n }\n }\n } else {\n lastMultiDragSelect = dragEl$1;\n }\n\n multiDragSortable = toSortable;\n } else {\n multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1);\n lastMultiDragSelect = null;\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'deselect',\n targetEl: dragEl$1,\n originalEvt: evt\n });\n }\n } // Multi-drag drop\n\n\n if (dragStarted && this.isMultiDrag) {\n // Do not \"unfold\" after around dragEl if reverted\n if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) {\n var dragRect = getRect(dragEl$1),\n multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')');\n if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null;\n toSortable.captureAnimationState();\n\n if (!initialFolding) {\n if (options.animation) {\n dragEl$1.fromRect = dragRect;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n\n if (multiDragElement !== dragEl$1) {\n var rect = folding ? getRect(multiDragElement) : dragRect;\n multiDragElement.fromRect = rect; // Prepare unfold animation\n\n toSortable.addAnimationState({\n target: multiDragElement,\n rect: rect\n });\n }\n });\n } // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert\n // properly they must all be removed\n\n\n removeMultiDragElements();\n multiDragElements.forEach(function (multiDragElement) {\n if (children[multiDragIndex]) {\n parentEl.insertBefore(multiDragElement, children[multiDragIndex]);\n } else {\n parentEl.appendChild(multiDragElement);\n }\n\n multiDragIndex++;\n }); // If initial folding is done, the elements may have changed position because they are now\n // unfolding around dragEl, even though dragEl may not have his index changed, so update event\n // must be fired here as Sortable will not.\n\n if (oldIndex === index(dragEl$1)) {\n var update = false;\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement.sortableIndex !== index(multiDragElement)) {\n update = true;\n return;\n }\n });\n\n if (update) {\n dispatchSortableEvent('update');\n }\n }\n } // Must be done after capturing individual rects (scroll bar)\n\n\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n toSortable.animateAll();\n }\n\n multiDragSortable = toSortable;\n } // Remove clones if necessary\n\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n multiDragClones.forEach(function (clone) {\n clone.parentNode && clone.parentNode.removeChild(clone);\n });\n }\n },\n nullingGlobal: function nullingGlobal() {\n this.isMultiDrag = dragStarted = false;\n multiDragClones.length = 0;\n },\n destroyGlobal: function destroyGlobal() {\n this._deselectMultiDrag();\n\n off(document, 'pointerup', this._deselectMultiDrag);\n off(document, 'mouseup', this._deselectMultiDrag);\n off(document, 'touchend', this._deselectMultiDrag);\n off(document, 'keydown', this._checkKeyDown);\n off(document, 'keyup', this._checkKeyUp);\n },\n _deselectMultiDrag: function _deselectMultiDrag(evt) {\n if (dragStarted) return; // Only deselect if selection is in this sortable\n\n if (multiDragSortable !== this.sortable) return; // Only deselect if target is not item in this sortable\n\n if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return; // Only deselect if left click\n\n if (evt && evt.button !== 0) return;\n\n while (multiDragElements.length) {\n var el = multiDragElements[0];\n toggleClass(el, this.options.selectedClass, false);\n multiDragElements.shift();\n dispatchEvent({\n sortable: this.sortable,\n rootEl: this.sortable.el,\n name: 'deselect',\n targetEl: el,\n originalEvt: evt\n });\n }\n },\n _checkKeyDown: function _checkKeyDown(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = true;\n }\n },\n _checkKeyUp: function _checkKeyUp(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = false;\n }\n }\n };\n return _extends(MultiDrag, {\n // Static methods & properties\n pluginName: 'multiDrag',\n utils: {\n /**\n * Selects the provided multi-drag item\n * @param {HTMLElement} el The element to be selected\n */\n select: function select(el) {\n var sortable = el.parentNode[expando];\n if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return;\n\n if (multiDragSortable && multiDragSortable !== sortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n\n multiDragSortable = sortable;\n }\n\n toggleClass(el, sortable.options.selectedClass, true);\n multiDragElements.push(el);\n },\n\n /**\n * Deselects the provided multi-drag item\n * @param {HTMLElement} el The element to be deselected\n */\n deselect: function deselect(el) {\n var sortable = el.parentNode[expando],\n index = multiDragElements.indexOf(el);\n if (!sortable || !sortable.options.multiDrag || !~index) return;\n toggleClass(el, sortable.options.selectedClass, false);\n multiDragElements.splice(index, 1);\n }\n },\n eventProperties: function eventProperties() {\n var _this3 = this;\n\n var oldIndicies = [],\n newIndicies = [];\n multiDragElements.forEach(function (multiDragElement) {\n oldIndicies.push({\n multiDragElement: multiDragElement,\n index: multiDragElement.sortableIndex\n }); // multiDragElements will already be sorted if folding\n\n var newIndex;\n\n if (folding && multiDragElement !== dragEl$1) {\n newIndex = -1;\n } else if (folding) {\n newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')');\n } else {\n newIndex = index(multiDragElement);\n }\n\n newIndicies.push({\n multiDragElement: multiDragElement,\n index: newIndex\n });\n });\n return {\n items: _toConsumableArray(multiDragElements),\n clones: [].concat(multiDragClones),\n oldIndicies: oldIndicies,\n newIndicies: newIndicies\n };\n },\n optionListeners: {\n multiDragKey: function multiDragKey(key) {\n key = key.toLowerCase();\n\n if (key === 'ctrl') {\n key = 'Control';\n } else if (key.length > 1) {\n key = key.charAt(0).toUpperCase() + key.substr(1);\n }\n\n return key;\n }\n }\n });\n}\n\nfunction insertMultiDragElements(clonesInserted, rootEl) {\n multiDragElements.forEach(function (multiDragElement, i) {\n var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(multiDragElement, target);\n } else {\n rootEl.appendChild(multiDragElement);\n }\n });\n}\n/**\n * Insert multi-drag clones\n * @param {[Boolean]} elementsInserted Whether the multi-drag elements are inserted\n * @param {HTMLElement} rootEl\n */\n\n\nfunction insertMultiDragClones(elementsInserted, rootEl) {\n multiDragClones.forEach(function (clone, i) {\n var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(clone, target);\n } else {\n rootEl.appendChild(clone);\n }\n });\n}\n\nfunction removeMultiDragElements() {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement);\n });\n}\n\nSortable.mount(new AutoScrollPlugin());\nSortable.mount(Remove, Revert);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Sortable);\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvX3NvcnRhYmxlanNAMS4xMC4wQHNvcnRhYmxlanMvbW9kdWxhci9zb3J0YWJsZS5lc20uanM/NzU2OSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxtQkFBbUIsc0JBQXNCO0FBQ3pDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxpQkFBaUIsc0JBQXNCO0FBQ3ZDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGFBQWEsdUJBQXVCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBLGVBQWUsNkJBQTZCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsaURBQWlELGdCQUFnQjs7QUFFakU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFD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O0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxNQUFNO0FBQ2xCLFlBQVksT0FBTztBQUNuQixZQUFZLE9BQU87QUFDbkI7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsR0FBRzs7QUFFSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVCx1Q0FBdUMsb0RBQW9EOzs7QUFHM0Y7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7OztBQUdUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7O0FBRXhCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsK0NBQStDOztBQUUvQztBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDOztBQUV6QztBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0NBQStDOztBQUUvQztBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0VBQW9FOztBQUVwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDJDQUEyQzs7QUFFM0M7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1GQUFtRjtBQUNuRjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FB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O0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTs7QUFFQTtBQUNBLFNBQVM7QUFDVDs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7OztBQUdULDRDQUE0Qzs7O0FBRzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxFQUFFOzs7QUFHWDtBQUNBLFFBQVE7OztBQUdSO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNEQUFzRDs7QUFFdEQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU8sRUFBRTs7QUFFVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBOztBQUVBLGlDQUFpQzs7QUFFakM7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDOztBQUV0QztBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwwQkFBMEI7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdNQUFnTTs7QUFFaE07QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDOztBQUVqQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDOztBQUVyQztBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0wsOERBQThEOztBQUU5RDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0NBQWtDOztBQUVsQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLE9BQU87QUFDUCxLQUFLOzs7QUFHTDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxTQUFTOzs7QUFHVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87OztBQUdQO0FBQ0E7QUFDQSxPQUFPOzs7QUFHUDtBQUNBLGdFQUFnRTs7O0FBR2hFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7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LEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxXQUFXLFlBQVk7QUFDdkIsV0FBVyxPQUFPO0FBQ2xCOzs7QUFHQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07O0FBRU47QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxzREFBc0Q7O0FBRXREOztBQUVBO0FBQ0EsMEVBQTBFOztBQUUxRTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7O0FBRXJCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxxQkFBcUIsZ0JBQWdCO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EscURBQXFEOztBQUVyRDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBLEdBQUc7O0FBRUgsaUNBQWlDO0FBQ2pDLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLENBQUM7O0FBRUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxxQkFBcUIsOEJBQThCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFP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QzhDIiwiZmlsZSI6IjgzNS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiFcbiAqIFNvcnRhYmxlIDEuMTAuMFxuICogQGF1dGhvclx0UnViYVhhICAgPHRyYXNoQHJ1YmF4YS5vcmc+XG4gKiBAYXV0aG9yXHRvd2VubSAgICA8b3dlbjIzMzU1QGdtYWlsLmNvbT5cbiAqIEBsaWNlbnNlIE1JVFxuICovXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikge1xuICBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHtcbiAgICBfdHlwZW9mID0gZnVuY3Rpb24gKG9iaikge1xuICAgICAgcmV0dXJuIHR5cGVvZiBvYmo7XG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICBfdHlwZW9mID0gZnVuY3Rpb24gKG9iaikge1xuICAgICAgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBfdHlwZW9mKG9iaik7XG59XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHtcbiAgaWYgKGtleSBpbiBvYmopIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHtcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB3cml0YWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIG9ialtrZXldID0gdmFsdWU7XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuXG5mdW5jdGlvbiBfZXh0ZW5kcygpIHtcbiAgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHtcbiAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTtcblxuICAgICAgZm9yICh2YXIga2V5IGluIHNvdXJjZSkge1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkge1xuICAgICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9O1xuXG4gIHJldHVybiBfZXh0ZW5kcy5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xufVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkge1xuICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9O1xuICAgIHZhciBvd25LZXlzID0gT2JqZWN0LmtleXMoc291cmNlKTtcblxuICAgIGlmICh0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgb3duS2V5cyA9IG93bktleXMuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoc291cmNlKS5maWx0ZXIoZnVuY3Rpb24gKHN5bSkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIHN5bSkuZW51bWVyYWJsZTtcbiAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBvd25LZXlzLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufVxuXG5mdW5jdGlvbiBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShzb3VyY2UsIGV4Y2x1ZGVkKSB7XG4gIGlmIChzb3VyY2UgPT0gbnVsbCkgcmV0dXJuIHt9O1xuICB2YXIgdGFyZ2V0ID0ge307XG4gIHZhciBzb3VyY2VLZXlzID0gT2JqZWN0LmtleXMoc291cmNlKTtcbiAgdmFyIGtleSwgaTtcblxuICBmb3IgKGkgPSAwOyBpIDwgc291cmNlS2V5cy5sZW5ndGg7IGkrKykge1xuICAgIGtleSA9IHNvdXJjZUtleXNbaV07XG4gICAgaWYgKGV4Y2x1ZGVkLmluZGV4T2Yoa2V5KSA+PSAwKSBjb250aW51ZTtcbiAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuZnVuY3Rpb24gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKHNvdXJjZSwgZXhjbHVkZWQpIHtcbiAgaWYgKHNvdXJjZSA9PSBudWxsKSByZXR1cm4ge307XG5cbiAgdmFyIHRhcmdldCA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlKHNvdXJjZSwgZXhjbHVkZWQpO1xuXG4gIHZhciBrZXksIGk7XG5cbiAgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICB2YXIgc291cmNlU3ltYm9sS2V5cyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoc291cmNlKTtcblxuICAgIGZvciAoaSA9IDA7IGkgPCBzb3VyY2VTeW1ib2xLZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBrZXkgPSBzb3VyY2VTeW1ib2xLZXlzW2ldO1xuICAgICAgaWYgKGV4Y2x1ZGVkLmluZGV4T2Yoa2V5KSA+PSAwKSBjb250aW51ZTtcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHNvdXJjZSwga2V5KSkgY29udGludWU7XG4gICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbmZ1bmN0aW9uIF90b0NvbnN1bWFibGVBcnJheShhcnIpIHtcbiAgcmV0dXJuIF9hcnJheVdpdGhvdXRIb2xlcyhhcnIpIHx8IF9pdGVyYWJsZVRvQXJyYXkoYXJyKSB8fCBfbm9uSXRlcmFibGVTcHJlYWQoKTtcbn1cblxuZnVuY3Rpb24gX2FycmF5V2l0aG91dEhvbGVzKGFycikge1xuICBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSB7XG4gICAgZm9yICh2YXIgaSA9IDAsIGFycjIgPSBuZXcgQXJyYXkoYXJyLmxlbmd0aCk7IGkgPCBhcnIubGVuZ3RoOyBpKyspIGFycjJbaV0gPSBhcnJbaV07XG5cbiAgICByZXR1cm4gYXJyMjtcbiAgfVxufVxuXG5mdW5jdGlvbiBfaXRlcmFibGVUb0FycmF5KGl0ZXIpIHtcbiAgaWYgKFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QoaXRlcikgfHwgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGl0ZXIpID09PSBcIltvYmplY3QgQXJndW1lbnRzXVwiKSByZXR1cm4gQXJyYXkuZnJvbShpdGVyKTtcbn1cblxuZnVuY3Rpb24gX25vbkl0ZXJhYmxlU3ByZWFkKCkge1xuICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2VcIik7XG59XG5cbnZhciB2ZXJzaW9uID0gXCIxLjEwLjBcIjtcblxuZnVuY3Rpb24gdXNlckFnZW50KHBhdHRlcm4pIHtcbiAgcmV0dXJuICEhXG4gIC8qQF9fUFVSRV9fKi9cbiAgbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaChwYXR0ZXJuKTtcbn1cblxudmFyIElFMTFPckxlc3MgPSB1c2VyQWdlbnQoLyg/OlRyaWRlbnQuKnJ2WyA6XT8xMVxcLnxtc2llfGllbW9iaWxlfFdpbmRvd3MgUGhvbmUpL2kpO1xudmFyIEVkZ2UgPSB1c2VyQWdlbnQoL0VkZ2UvaSk7XG52YXIgRmlyZUZveCA9IHVzZXJBZ2VudCgvZmlyZWZveC9pKTtcbnZhciBTYWZhcmkgPSB1c2VyQWdlbnQoL3NhZmFyaS9pKSAmJiAhdXNlckFnZW50KC9jaHJvbWUvaSkgJiYgIXVzZXJBZ2VudCgvYW5kcm9pZC9pKTtcbnZhciBJT1MgPSB1c2VyQWdlbnQoL2lQKGFkfG9kfGhvbmUpL2kpO1xudmFyIENocm9tZUZvckFuZHJvaWQgPSB1c2VyQWdlbnQoL2Nocm9tZS9pKSAmJiB1c2VyQWdlbnQoL2FuZHJvaWQvaSk7XG5cbnZhciBjYXB0dXJlTW9kZSA9IHtcbiAgY2FwdHVyZTogZmFsc2UsXG4gIHBhc3NpdmU6IGZhbHNlXG59O1xuXG5mdW5jdGlvbiBvbihlbCwgZXZlbnQsIGZuKSB7XG4gIGVsLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsIGZuLCAhSUUxMU9yTGVzcyAmJiBjYXB0dXJlTW9kZSk7XG59XG5cbmZ1bmN0aW9uIG9mZihlbCwgZXZlbnQsIGZuKSB7XG4gIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnQsIGZuLCAhSUUxMU9yTGVzcyAmJiBjYXB0dXJlTW9kZSk7XG59XG5cbmZ1bmN0aW9uIG1hdGNoZXMoXG4vKipIVE1MRWxlbWVudCovXG5lbCxcbi8qKlN0cmluZyovXG5zZWxlY3Rvcikge1xuICBpZiAoIXNlbGVjdG9yKSByZXR1cm47XG4gIHNlbGVjdG9yWzBdID09PSAnPicgJiYgKHNlbGVjdG9yID0gc2VsZWN0b3Iuc3Vic3RyaW5nKDEpKTtcblxuICBpZiAoZWwpIHtcbiAgICB0cnkge1xuICAgICAgaWYgKGVsLm1hdGNoZXMpIHtcbiAgICAgICAgcmV0dXJuIGVsLm1hdGNoZXMoc2VsZWN0b3IpO1xuICAgICAgfSBlbHNlIGlmIChlbC5tc01hdGNoZXNTZWxlY3Rvcikge1xuICAgICAgICByZXR1cm4gZWwubXNNYXRjaGVzU2VsZWN0b3Ioc2VsZWN0b3IpO1xuICAgICAgfSBlbHNlIGlmIChlbC53ZWJraXRNYXRjaGVzU2VsZWN0b3IpIHtcbiAgICAgICAgcmV0dXJuIGVsLndlYmtpdE1hdGNoZXNTZWxlY3RvcihzZWxlY3Rvcik7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoXykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gZ2V0UGFyZW50T3JIb3N0KGVsKSB7XG4gIHJldHVybiBlbC5ob3N0ICYmIGVsICE9PSBkb2N1bWVudCAmJiBlbC5ob3N0Lm5vZGVUeXBlID8gZWwuaG9zdCA6IGVsLnBhcmVudE5vZGU7XG59XG5cbmZ1bmN0aW9uIGNsb3Nlc3QoXG4vKipIVE1MRWxlbWVudCovXG5lbCxcbi8qKlN0cmluZyovXG5zZWxlY3Rvcixcbi8qKkhUTUxFbGVtZW50Ki9cbmN0eCwgaW5jbHVkZUNUWCkge1xuICBpZiAoZWwpIHtcbiAgICBjdHggPSBjdHggfHwgZG9jdW1lbnQ7XG5cbiAgICBkbyB7XG4gICAgICBpZiAoc2VsZWN0b3IgIT0gbnVsbCAmJiAoc2VsZWN0b3JbMF0gPT09ICc+JyA/IGVsLnBhcmVudE5vZGUgPT09IGN0eCAmJiBtYXRjaGVzKGVsLCBzZWxlY3RvcikgOiBtYXRjaGVzKGVsLCBzZWxlY3RvcikpIHx8IGluY2x1ZGVDVFggJiYgZWwgPT09IGN0eCkge1xuICAgICAgICByZXR1cm4gZWw7XG4gICAgICB9XG5cbiAgICAgIGlmIChlbCA9PT0gY3R4KSBicmVhaztcbiAgICAgIC8qIGpzaGludCBib3NzOnRydWUgKi9cbiAgICB9IHdoaWxlIChlbCA9IGdldFBhcmVudE9ySG9zdChlbCkpO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbnZhciBSX1NQQUNFID0gL1xccysvZztcblxuZnVuY3Rpb24gdG9nZ2xlQ2xhc3MoZWwsIG5hbWUsIHN0YXRlKSB7XG4gIGlmIChlbCAmJiBuYW1lKSB7XG4gICAgaWYgKGVsLmNsYXNzTGlzdCkge1xuICAgICAgZWwuY2xhc3NMaXN0W3N0YXRlID8gJ2FkZCcgOiAncmVtb3ZlJ10obmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBjbGFzc05hbWUgPSAoJyAnICsgZWwuY2xhc3NOYW1lICsgJyAnKS5yZXBsYWNlKFJfU1BBQ0UsICcgJykucmVwbGFjZSgnICcgKyBuYW1lICsgJyAnLCAnICcpO1xuICAgICAgZWwuY2xhc3NOYW1lID0gKGNsYXNzTmFtZSArIChzdGF0ZSA/ICcgJyArIG5hbWUgOiAnJykpLnJlcGxhY2UoUl9TUEFDRSwgJyAnKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY3NzKGVsLCBwcm9wLCB2YWwpIHtcbiAgdmFyIHN0eWxlID0gZWwgJiYgZWwuc3R5bGU7XG5cbiAgaWYgKHN0eWxlKSB7XG4gICAgaWYgKHZhbCA9PT0gdm9pZCAwKSB7XG4gICAgICBpZiAoZG9jdW1lbnQuZGVmYXVsdFZpZXcgJiYgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSkge1xuICAgICAgICB2YWwgPSBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGVsLCAnJyk7XG4gICAgICB9IGVsc2UgaWYgKGVsLmN1cnJlbnRTdHlsZSkge1xuICAgICAgICB2YWwgPSBlbC5jdXJyZW50U3R5bGU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBwcm9wID09PSB2b2lkIDAgPyB2YWwgOiB2YWxbcHJvcF07XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghKHByb3AgaW4gc3R5bGUpICYmIHByb3AuaW5kZXhPZignd2Via2l0JykgPT09IC0xKSB7XG4gICAgICAgIHByb3AgPSAnLXdlYmtpdC0nICsgcHJvcDtcbiAgICAgIH1cblxuICAgICAgc3R5bGVbcHJvcF0gPSB2YWwgKyAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgPyAnJyA6ICdweCcpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBtYXRyaXgoZWwsIHNlbGZPbmx5KSB7XG4gIHZhciBhcHBsaWVkVHJhbnNmb3JtcyA9ICcnO1xuXG4gIGlmICh0eXBlb2YgZWwgPT09ICdzdHJpbmcnKSB7XG4gICAgYXBwbGllZFRyYW5zZm9ybXMgPSBlbDtcbiAgfSBlbHNlIHtcbiAgICBkbyB7XG4gICAgICB2YXIgdHJhbnNmb3JtID0gY3NzKGVsLCAndHJhbnNmb3JtJyk7XG5cbiAgICAgIGlmICh0cmFuc2Zvcm0gJiYgdHJhbnNmb3JtICE9PSAnbm9uZScpIHtcbiAgICAgICAgYXBwbGllZFRyYW5zZm9ybXMgPSB0cmFuc2Zvcm0gKyAnICcgKyBhcHBsaWVkVHJhbnNmb3JtcztcbiAgICAgIH1cbiAgICAgIC8qIGpzaGludCBib3NzOnRydWUgKi9cblxuICAgIH0gd2hpbGUgKCFzZWxmT25seSAmJiAoZWwgPSBlbC5wYXJlbnROb2RlKSk7XG4gIH1cblxuICB2YXIgbWF0cml4Rm4gPSB3aW5kb3cuRE9NTWF0cml4IHx8IHdpbmRvdy5XZWJLaXRDU1NNYXRyaXggfHwgd2luZG93LkNTU01hdHJpeDtcbiAgLypqc2hpbnQgLVcwNTYgKi9cblxuICByZXR1cm4gbWF0cml4Rm4gJiYgbmV3IG1hdHJpeEZuKGFwcGxpZWRUcmFuc2Zvcm1zKTtcbn1cblxuZnVuY3Rpb24gZmluZChjdHgsIHRhZ05hbWUsIGl0ZXJhdG9yKSB7XG4gIGlmIChjdHgpIHtcbiAgICB2YXIgbGlzdCA9IGN0eC5nZXRFbGVtZW50c0J5VGFnTmFtZSh0YWdOYW1lKSxcbiAgICAgICAgaSA9IDAsXG4gICAgICAgIG4gPSBsaXN0Lmxlbmd0aDtcblxuICAgIGlmIChpdGVyYXRvcikge1xuICAgICAgZm9yICg7IGkgPCBuOyBpKyspIHtcbiAgICAgICAgaXRlcmF0b3IobGlzdFtpXSwgaSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGxpc3Q7XG4gIH1cblxuICByZXR1cm4gW107XG59XG5cbmZ1bmN0aW9uIGdldFdpbmRvd1Njcm9sbGluZ0VsZW1lbnQoKSB7XG4gIGlmIChJRTExT3JMZXNzKSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudDtcbiAgfVxufVxuLyoqXG4gKiBSZXR1cm5zIHRoZSBcImJvdW5kaW5nIGNsaWVudCByZWN0XCIgb2YgZ2l2ZW4gZWxlbWVudFxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IGVsICAgICAgICAgICAgICAgICAgICAgICBUaGUgZWxlbWVudCB3aG9zZSBib3VuZGluZ0NsaWVudFJlY3QgaXMgd2FudGVkXG4gKiBAcGFyYW0gIHtbQm9vbGVhbl19IHJlbGF0aXZlVG9Db250YWluaW5nQmxvY2sgIFdoZXRoZXIgdGhlIHJlY3Qgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBjb250YWluaW5nIGJsb2NrIG9mIChpbmNsdWRpbmcpIHRoZSBjb250YWluZXJcbiAqIEBwYXJhbSAge1tCb29sZWFuXX0gcmVsYXRpdmVUb05vblN0YXRpY1BhcmVudCAgV2hldGhlciB0aGUgcmVjdCBzaG91bGQgYmUgcmVsYXRpdmUgdG8gdGhlIHJlbGF0aXZlIHBhcmVudCBvZiAoaW5jbHVkaW5nKSB0aGUgY29udGFpZW5yXG4gKiBAcGFyYW0gIHtbQm9vbGVhbl19IHVuZG9TY2FsZSAgICAgICAgICAgICAgICAgIFdoZXRoZXIgdGhlIGNvbnRhaW5lcidzIHNjYWxlKCkgc2hvdWxkIGJlIHVuZG9uZVxuICogQHBhcmFtICB7W0hUTUxFbGVtZW50XX0gY29udGFpbmVyICAgICAgICAgICAgICBUaGUgcGFyZW50IHRoZSBlbGVtZW50IHdpbGwgYmUgcGxhY2VkIGluXG4gKiBAcmV0dXJuIHtPYmplY3R9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBib3VuZGluZ0NsaWVudFJlY3Qgb2YgZWwsIHdpdGggc3BlY2lmaWVkIGFkanVzdG1lbnRzXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRSZWN0KGVsLCByZWxhdGl2ZVRvQ29udGFpbmluZ0Jsb2NrLCByZWxhdGl2ZVRvTm9uU3RhdGljUGFyZW50LCB1bmRvU2NhbGUsIGNvbnRhaW5lcikge1xuICBpZiAoIWVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCAmJiBlbCAhPT0gd2luZG93KSByZXR1cm47XG4gIHZhciBlbFJlY3QsIHRvcCwgbGVmdCwgYm90dG9tLCByaWdodCwgaGVpZ2h0LCB3aWR0aDtcblxuICBpZiAoZWwgIT09IHdpbmRvdyAmJiBlbCAhPT0gZ2V0V2luZG93U2Nyb2xsaW5nRWxlbWVudCgpKSB7XG4gICAgZWxSZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgdG9wID0gZWxSZWN0LnRvcDtcbiAgICBsZWZ0ID0gZWxSZWN0LmxlZnQ7XG4gICAgYm90dG9tID0gZWxSZWN0LmJvdHRvbTtcbiAgICByaWdodCA9IGVsUmVjdC5yaWdodDtcbiAgICBoZWlnaHQgPSBlbFJlY3QuaGVpZ2h0O1xuICAgIHdpZHRoID0gZWxSZWN0LndpZHRoO1xuICB9IGVsc2Uge1xuICAgIHRvcCA9IDA7XG4gICAgbGVmdCA9IDA7XG4gICAgYm90dG9tID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgIHJpZ2h0ID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgaGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgIHdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gIH1cblxuICBpZiAoKHJlbGF0aXZlVG9Db250YWluaW5nQmxvY2sgfHwgcmVsYXRpdmVUb05vblN0YXRpY1BhcmVudCkgJiYgZWwgIT09IHdpbmRvdykge1xuICAgIC8vIEFkanVzdCBmb3IgdHJhbnNsYXRlKClcbiAgICBjb250YWluZXIgPSBjb250YWluZXIgfHwgZWwucGFyZW50Tm9kZTsgLy8gc29sdmVzICMxMTIzIChzZWU6IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8zNzk1MzgwNi82MDg4MzEyKVxuICAgIC8vIE5vdCBuZWVkZWQgb24gPD0gSUUxMVxuXG4gICAgaWYgKCFJRTExT3JMZXNzKSB7XG4gICAgICBkbyB7XG4gICAgICAgIGlmIChjb250YWluZXIgJiYgY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCAmJiAoY3NzKGNvbnRhaW5lciwgJ3RyYW5zZm9ybScpICE9PSAnbm9uZScgfHwgcmVsYXRpdmVUb05vblN0YXRpY1BhcmVudCAmJiBjc3MoY29udGFpbmVyLCAncG9zaXRpb24nKSAhPT0gJ3N0YXRpYycpKSB7XG4gICAgICAgICAgdmFyIGNvbnRhaW5lclJlY3QgPSBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7IC8vIFNldCByZWxhdGl2ZSB0byBlZGdlcyBvZiBwYWRkaW5nIGJveCBvZiBjb250YWluZXJcblxuICAgICAgICAgIHRvcCAtPSBjb250YWluZXJSZWN0LnRvcCArIHBhcnNlSW50KGNzcyhjb250YWluZXIsICdib3JkZXItdG9wLXdpZHRoJykpO1xuICAgICAgICAgIGxlZnQgLT0gY29udGFpbmVyUmVjdC5sZWZ0ICsgcGFyc2VJbnQoY3NzKGNvbnRhaW5lciwgJ2JvcmRlci1sZWZ0LXdpZHRoJykpO1xuICAgICAgICAgIGJvdHRvbSA9IHRvcCArIGVsUmVjdC5oZWlnaHQ7XG4gICAgICAgICAgcmlnaHQgPSBsZWZ0ICsgZWxSZWN0LndpZHRoO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIC8qIGpzaGludCBib3NzOnRydWUgKi9cblxuICAgICAgfSB3aGlsZSAoY29udGFpbmVyID0gY29udGFpbmVyLnBhcmVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh1bmRvU2NhbGUgJiYgZWwgIT09IHdpbmRvdykge1xuICAgIC8vIEFkanVzdCBmb3Igc2NhbGUoKVxuICAgIHZhciBlbE1hdHJpeCA9IG1hdHJpeChjb250YWluZXIgfHwgZWwpLFxuICAgICAgICBzY2FsZVggPSBlbE1hdHJpeCAmJiBlbE1hdHJpeC5hLFxuICAgICAgICBzY2FsZVkgPSBlbE1hdHJpeCAmJiBlbE1hdHJpeC5kO1xuXG4gICAgaWYgKGVsTWF0cml4KSB7XG4gICAgICB0b3AgLz0gc2NhbGVZO1xuICAgICAgbGVmdCAvPSBzY2FsZVg7XG4gICAgICB3aWR0aCAvPSBzY2FsZVg7XG4gICAgICBoZWlnaHQgLz0gc2NhbGVZO1xuICAgICAgYm90dG9tID0gdG9wICsgaGVpZ2h0O1xuICAgICAgcmlnaHQgPSBsZWZ0ICsgd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0b3A6IHRvcCxcbiAgICBsZWZ0OiBsZWZ0LFxuICAgIGJvdHRvbTogYm90dG9tLFxuICAgIHJpZ2h0OiByaWdodCxcbiAgICB3aWR0aDogd2lkdGgsXG4gICAgaGVpZ2h0OiBoZWlnaHRcbiAgfTtcbn1cbi8qKlxuICogQ2hlY2tzIGlmIGEgc2lkZSBvZiBhbiBlbGVtZW50IGlzIHNjcm9sbGVkIHBhc3QgYSBzaWRlIG9mIGl0cyBwYXJlbnRzXG4gKiBAcGFyYW0gIHtIVE1MRWxlbWVudH0gIGVsICAgICAgICAgICBUaGUgZWxlbWVudCB3aG8ncyBzaWRlIGJlaW5nIHNjcm9sbGVkIG91dCBvZiB2aWV3IGlzIGluIHF1ZXN0aW9uXG4gKiBAcGFyYW0gIHtTdHJpbmd9ICAgICAgIGVsU2lkZSAgICAgICBTaWRlIG9mIHRoZSBlbGVtZW50IGluIHF1ZXN0aW9uICgndG9wJywgJ2xlZnQnLCAncmlnaHQnLCAnYm90dG9tJylcbiAqIEBwYXJhbSAge1N0cmluZ30gICAgICAgcGFyZW50U2lkZSAgIFNpZGUgb2YgdGhlIHBhcmVudCBpbiBxdWVzdGlvbiAoJ3RvcCcsICdsZWZ0JywgJ3JpZ2h0JywgJ2JvdHRvbScpXG4gKiBAcmV0dXJuIHtIVE1MRWxlbWVudH0gICAgICAgICAgICAgICBUaGUgcGFyZW50IHNjcm9sbCBlbGVtZW50IHRoYXQgdGhlIGVsJ3Mgc2lkZSBpcyBzY3JvbGxlZCBwYXN0LCBvciBudWxsIGlmIHRoZXJlIGlzIG5vIHN1Y2ggZWxlbWVudFxuICovXG5cblxuZnVuY3Rpb24gaXNTY3JvbGxlZFBhc3QoZWwsIGVsU2lkZSwgcGFyZW50U2lkZSkge1xuICB2YXIgcGFyZW50ID0gZ2V0UGFyZW50QXV0b1Njcm9sbEVsZW1lbnQoZWwsIHRydWUpLFxuICAgICAgZWxTaWRlVmFsID0gZ2V0UmVjdChlbClbZWxTaWRlXTtcbiAgLyoganNoaW50IGJvc3M6dHJ1ZSAqL1xuXG4gIHdoaWxlIChwYXJlbnQpIHtcbiAgICB2YXIgcGFyZW50U2lkZVZhbCA9IGdldFJlY3QocGFyZW50KVtwYXJlbnRTaWRlXSxcbiAgICAgICAgdmlzaWJsZSA9IHZvaWQgMDtcblxuICAgIGlmIChwYXJlbnRTaWRlID09PSAndG9wJyB8fCBwYXJlbnRTaWRlID09PSAnbGVmdCcpIHtcbiAgICAgIHZpc2libGUgPSBlbFNpZGVWYWwgPj0gcGFyZW50U2lkZVZhbDtcbiAgICB9IGVsc2Uge1xuICAgICAgdmlzaWJsZSA9IGVsU2lkZVZhbCA8PSBwYXJlbnRTaWRlVmFsO1xuICAgIH1cblxuICAgIGlmICghdmlzaWJsZSkgcmV0dXJuIHBhcmVudDtcbiAgICBpZiAocGFyZW50ID09PSBnZXRXaW5kb3dTY3JvbGxpbmdFbGVtZW50KCkpIGJyZWFrO1xuICAgIHBhcmVudCA9IGdldFBhcmVudEF1dG9TY3JvbGxFbGVtZW50KHBhcmVudCwgZmFsc2UpO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuLyoqXG4gKiBHZXRzIG50aCBjaGlsZCBvZiBlbCwgaWdub3JpbmcgaGlkZGVuIGNoaWxkcmVuLCBzb3J0YWJsZSdzIGVsZW1lbnRzIChkb2VzIG5vdCBpZ25vcmUgY2xvbmUgaWYgaXQncyB2aXNpYmxlKVxuICogYW5kIG5vbi1kcmFnZ2FibGUgZWxlbWVudHNcbiAqIEBwYXJhbSAge0hUTUxFbGVtZW50fSBlbCAgICAgICBUaGUgcGFyZW50IGVsZW1lbnRcbiAqIEBwYXJhbSAge051bWJlcn0gY2hpbGROdW0gICAgICBUaGUgaW5kZXggb2YgdGhlIGNoaWxkXG4gKiBAcGFyYW0gIHtPYmplY3R9IG9wdGlvbnMgICAgICAgUGFyZW50IFNvcnRhYmxlJ3Mgb3B0aW9uc1xuICogQHJldHVybiB7SFRNTEVsZW1lbnR9ICAgICAgICAgIFRoZSBjaGlsZCBhdCBpbmRleCBjaGlsZE51bSwgb3IgbnVsbCBpZiBub3QgZm91bmRcbiAqL1xuXG5cbmZ1bmN0aW9uIGdldENoaWxkKGVsLCBjaGlsZE51bSwgb3B0aW9ucykge1xuICB2YXIgY3VycmVudENoaWxkID0gMCxcbiAgICAgIGkgPSAwLFxuICAgICAgY2hpbGRyZW4gPSBlbC5jaGlsZHJlbjtcblxuICB3aGlsZSAoaSA8IGNoaWxkcmVuLmxlbmd0aCkge1xuICAgIGlmIChjaGlsZHJlbltpXS5zdHlsZS5kaXNwbGF5ICE9PSAnbm9uZScgJiYgY2hpbGRyZW5baV0gIT09IFNvcnRhYmxlLmdob3N0ICYmIGNoaWxkcmVuW2ldICE9PSBTb3J0YWJsZS5kcmFnZ2VkICYmIGNsb3Nlc3QoY2hpbGRyZW5baV0sIG9wdGlvbnMuZHJhZ2dhYmxlLCBlbCwgZmFsc2UpKSB7XG4gICAgICBpZiAoY3VycmVudENoaWxkID09PSBjaGlsZE51bSkge1xuICAgICAgICByZXR1cm4gY2hpbGRyZW5baV07XG4gICAgICB9XG5cbiAgICAgIGN1cnJlbnRDaGlsZCsrO1xuICAgIH1cblxuICAgIGkrKztcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuLyoqXG4gKiBHZXRzIHRoZSBsYXN0IGNoaWxkIGluIHRoZSBlbCwgaWdub3JpbmcgZ2hvc3RFbCBvciBpbnZpc2libGUgZWxlbWVudHMgKGNsb25lcylcbiAqIEBwYXJhbSAge0hUTUxFbGVtZW50fSBlbCAgICAgICBQYXJlbnQgZWxlbWVudFxuICogQHBhcmFtICB7c2VsZWN0b3J9IHNlbGVjdG9yICAgIEFueSBvdGhlciBlbGVtZW50cyB0aGF0IHNob3VsZCBiZSBpZ25vcmVkXG4gKiBAcmV0dXJuIHtIVE1MRWxlbWVudH0gICAgICAgICAgVGhlIGxhc3QgY2hpbGQsIGlnbm9yaW5nIGdob3N0RWxcbiAqL1xuXG5cbmZ1bmN0aW9uIGxhc3RDaGlsZChlbCwgc2VsZWN0b3IpIHtcbiAgdmFyIGxhc3QgPSBlbC5sYXN0RWxlbWVudENoaWxkO1xuXG4gIHdoaWxlIChsYXN0ICYmIChsYXN0ID09PSBTb3J0YWJsZS5naG9zdCB8fCBjc3MobGFzdCwgJ2Rpc3BsYXknKSA9PT0gJ25vbmUnIHx8IHNlbGVjdG9yICYmICFtYXRjaGVzKGxhc3QsIHNlbGVjdG9yKSkpIHtcbiAgICBsYXN0ID0gbGFzdC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO1xuICB9XG5cbiAgcmV0dXJuIGxhc3QgfHwgbnVsbDtcbn1cbi8qKlxuICogUmV0dXJucyB0aGUgaW5kZXggb2YgYW4gZWxlbWVudCB3aXRoaW4gaXRzIHBhcmVudCBmb3IgYSBzZWxlY3RlZCBzZXQgb2ZcbiAqIGVsZW1lbnRzXG4gKiBAcGFyYW0gIHtIVE1MRWxlbWVudH0gZWxcbiAqIEBwYXJhbSAge3NlbGVjdG9yfSBzZWxlY3RvclxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5cblxuZnVuY3Rpb24gaW5kZXgoZWwsIHNlbGVjdG9yKSB7XG4gIHZhciBpbmRleCA9IDA7XG5cbiAgaWYgKCFlbCB8fCAhZWwucGFyZW50Tm9kZSkge1xuICAgIHJldHVybiAtMTtcbiAgfVxuICAvKiBqc2hpbnQgYm9zczp0cnVlICovXG5cblxuICB3aGlsZSAoZWwgPSBlbC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKSB7XG4gICAgaWYgKGVsLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCkgIT09ICdURU1QTEFURScgJiYgZWwgIT09IFNvcnRhYmxlLmNsb25lICYmICghc2VsZWN0b3IgfHwgbWF0Y2hlcyhlbCwgc2VsZWN0b3IpKSkge1xuICAgICAgaW5kZXgrKztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaW5kZXg7XG59XG4vKipcbiAqIFJldHVybnMgdGhlIHNjcm9sbCBvZmZzZXQgb2YgdGhlIGdpdmVuIGVsZW1lbnQsIGFkZGVkIHdpdGggYWxsIHRoZSBzY3JvbGwgb2Zmc2V0cyBvZiBwYXJlbnQgZWxlbWVudHMuXG4gKiBUaGUgdmFsdWUgaXMgcmV0dXJuZWQgaW4gcmVhbCBwaXhlbHMuXG4gKiBAcGFyYW0gIHtIVE1MRWxlbWVudH0gZWxcbiAqIEByZXR1cm4ge0FycmF5fSAgICAgICAgICAgICBPZmZzZXRzIGluIHRoZSBmb3JtYXQgb2YgW2xlZnQsIHRvcF1cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldFJlbGF0aXZlU2Nyb2xsT2Zmc2V0KGVsKSB7XG4gIHZhciBvZmZzZXRMZWZ0ID0gMCxcbiAgICAgIG9mZnNldFRvcCA9IDAsXG4gICAgICB3aW5TY3JvbGxlciA9IGdldFdpbmRvd1Njcm9sbGluZ0VsZW1lbnQoKTtcblxuICBpZiAoZWwpIHtcbiAgICBkbyB7XG4gICAgICB2YXIgZWxNYXRyaXggPSBtYXRyaXgoZWwpLFxuICAgICAgICAgIHNjYWxlWCA9IGVsTWF0cml4LmEsXG4gICAgICAgICAgc2NhbGVZID0gZWxNYXRyaXguZDtcbiAgICAgIG9mZnNldExlZnQgKz0gZWwuc2Nyb2xsTGVmdCAqIHNjYWxlWDtcbiAgICAgIG9mZnNldFRvcCArPSBlbC5zY3JvbGxUb3AgKiBzY2FsZVk7XG4gICAgfSB3aGlsZSAoZWwgIT09IHdpblNjcm9sbGVyICYmIChlbCA9IGVsLnBhcmVudE5vZGUpKTtcbiAgfVxuXG4gIHJldHVybiBbb2Zmc2V0TGVmdCwgb2Zmc2V0VG9wXTtcbn1cbi8qKlxuICogUmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIG9iamVjdCB3aXRoaW4gdGhlIGdpdmVuIGFycmF5XG4gKiBAcGFyYW0gIHtBcnJheX0gYXJyICAgQXJyYXkgdGhhdCBtYXkgb3IgbWF5IG5vdCBob2xkIHRoZSBvYmplY3RcbiAqIEBwYXJhbSAge09iamVjdH0gb2JqICBBbiBvYmplY3QgdGhhdCBoYXMgYSBrZXktdmFsdWUgcGFpciB1bmlxdWUgdG8gYW5kIGlkZW50aWNhbCB0byBhIGtleS12YWx1ZSBwYWlyIGluIHRoZSBvYmplY3QgeW91IHdhbnQgdG8gZmluZFxuICogQHJldHVybiB7TnVtYmVyfSAgICAgIFRoZSBpbmRleCBvZiB0aGUgb2JqZWN0IGluIHRoZSBhcnJheSwgb3IgLTFcbiAqL1xuXG5cbmZ1bmN0aW9uIGluZGV4T2ZPYmplY3QoYXJyLCBvYmopIHtcbiAgZm9yICh2YXIgaSBpbiBhcnIpIHtcbiAgICBpZiAoIWFyci5oYXNPd25Qcm9wZXJ0eShpKSkgY29udGludWU7XG5cbiAgICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7XG4gICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGtleSkgJiYgb2JqW2tleV0gPT09IGFycltpXVtrZXldKSByZXR1cm4gTnVtYmVyKGkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiAtMTtcbn1cblxuZnVuY3Rpb24gZ2V0UGFyZW50QXV0b1Njcm9sbEVsZW1lbnQoZWwsIGluY2x1ZGVTZWxmKSB7XG4gIC8vIHNraXAgdG8gd2luZG93XG4gIGlmICghZWwgfHwgIWVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCkgcmV0dXJuIGdldFdpbmRvd1Njcm9sbGluZ0VsZW1lbnQoKTtcbiAgdmFyIGVsZW0gPSBlbDtcbiAgdmFyIGdvdFNlbGYgPSBmYWxzZTtcblxuICBkbyB7XG4gICAgLy8gd2UgZG9uJ3QgbmVlZCB0byBnZXQgZWxlbSBjc3MgaWYgaXQgaXNuJ3QgZXZlbiBvdmVyZmxvd2luZyBpbiB0aGUgZmlyc3QgcGxhY2UgKHBlcmZvcm1hbmNlKVxuICAgIGlmIChlbGVtLmNsaWVudFdpZHRoIDwgZWxlbS5zY3JvbGxXaWR0aCB8fCBlbGVtLmNsaWVudEhlaWdodCA8IGVsZW0uc2Nyb2xsSGVpZ2h0KSB7XG4gICAgICB2YXIgZWxlbUNTUyA9IGNzcyhlbGVtKTtcblxuICAgICAgaWYgKGVsZW0uY2xpZW50V2lkdGggPCBlbGVtLnNjcm9sbFdpZHRoICYmIChlbGVtQ1NTLm92ZXJmbG93WCA9PSAnYXV0bycgfHwgZWxlbUNTUy5vdmVyZmxvd1ggPT0gJ3Njcm9sbCcpIHx8IGVsZW0uY2xpZW50SGVpZ2h0IDwgZWxlbS5zY3JvbGxIZWlnaHQgJiYgKGVsZW1DU1Mub3ZlcmZsb3dZID09ICdhdXRvJyB8fCBlbGVtQ1NTLm92ZXJmbG93WSA9PSAnc2Nyb2xsJykpIHtcbiAgICAgICAgaWYgKCFlbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCB8fCBlbGVtID09PSBkb2N1bWVudC5ib2R5KSByZXR1cm4gZ2V0V2luZG93U2Nyb2xsaW5nRWxlbWVudCgpO1xuICAgICAgICBpZiAoZ290U2VsZiB8fCBpbmNsdWRlU2VsZikgcmV0dXJuIGVsZW07XG4gICAgICAgIGdvdFNlbGYgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICAvKiBqc2hpbnQgYm9zczp0cnVlICovXG5cbiAgfSB3aGlsZSAoZWxlbSA9IGVsZW0ucGFyZW50Tm9kZSk7XG5cbiAgcmV0dXJuIGdldFdpbmRvd1Njcm9sbGluZ0VsZW1lbnQoKTtcbn1cblxuZnVuY3Rpb24gZXh0ZW5kKGRzdCwgc3JjKSB7XG4gIGlmIChkc3QgJiYgc3JjKSB7XG4gICAgZm9yICh2YXIga2V5IGluIHNyYykge1xuICAgICAgaWYgKHNyYy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgIGRzdFtrZXldID0gc3JjW2tleV07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRzdDtcbn1cblxuZnVuY3Rpb24gaXNSZWN0RXF1YWwocmVjdDEsIHJlY3QyKSB7XG4gIHJldHVybiBNYXRoLnJvdW5kKHJlY3QxLnRvcCkgPT09IE1hdGgucm91bmQocmVjdDIudG9wKSAmJiBNYXRoLnJvdW5kKHJlY3QxLmxlZnQpID09PSBNYXRoLnJvdW5kKHJlY3QyLmxlZnQpICYmIE1hdGgucm91bmQocmVjdDEuaGVpZ2h0KSA9PT0gTWF0aC5yb3VuZChyZWN0Mi5oZWlnaHQpICYmIE1hdGgucm91bmQocmVjdDEud2lkdGgpID09PSBNYXRoLnJvdW5kKHJlY3QyLndpZHRoKTtcbn1cblxudmFyIF90aHJvdHRsZVRpbWVvdXQ7XG5cbmZ1bmN0aW9uIHRocm90dGxlKGNhbGxiYWNrLCBtcykge1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIGlmICghX3Rocm90dGxlVGltZW91dCkge1xuICAgICAgdmFyIGFyZ3MgPSBhcmd1bWVudHMsXG4gICAgICAgICAgX3RoaXMgPSB0aGlzO1xuXG4gICAgICBpZiAoYXJncy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgY2FsbGJhY2suY2FsbChfdGhpcywgYXJnc1swXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjYWxsYmFjay5hcHBseShfdGhpcywgYXJncyk7XG4gICAgICB9XG5cbiAgICAgIF90aHJvdHRsZVRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgX3Rocm90dGxlVGltZW91dCA9IHZvaWQgMDtcbiAgICAgIH0sIG1zKTtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIGNhbmNlbFRocm90dGxlKCkge1xuICBjbGVhclRpbWVvdXQoX3Rocm90dGxlVGltZW91dCk7XG4gIF90aHJvdHRsZVRpbWVvdXQgPSB2b2lkIDA7XG59XG5cbmZ1bmN0aW9uIHNjcm9sbEJ5KGVsLCB4LCB5KSB7XG4gIGVsLnNjcm9sbExlZnQgKz0geDtcbiAgZWwuc2Nyb2xsVG9wICs9IHk7XG59XG5cbmZ1bmN0aW9uIGNsb25lKGVsKSB7XG4gIHZhciBQb2x5bWVyID0gd2luZG93LlBvbHltZXI7XG4gIHZhciAkID0gd2luZG93LmpRdWVyeSB8fCB3aW5kb3cuWmVwdG87XG5cbiAgaWYgKFBvbHltZXIgJiYgUG9seW1lci5kb20pIHtcbiAgICByZXR1cm4gUG9seW1lci5kb20oZWwpLmNsb25lTm9kZSh0cnVlKTtcbiAgfSBlbHNlIGlmICgkKSB7XG4gICAgcmV0dXJuICQoZWwpLmNsb25lKHRydWUpWzBdO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBlbC5jbG9uZU5vZGUodHJ1ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2V0UmVjdChlbCwgcmVjdCkge1xuICBjc3MoZWwsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICBjc3MoZWwsICd0b3AnLCByZWN0LnRvcCk7XG4gIGNzcyhlbCwgJ2xlZnQnLCByZWN0LmxlZnQpO1xuICBjc3MoZWwsICd3aWR0aCcsIHJlY3Qud2lkdGgpO1xuICBjc3MoZWwsICdoZWlnaHQnLCByZWN0LmhlaWdodCk7XG59XG5cbmZ1bmN0aW9uIHVuc2V0UmVjdChlbCkge1xuICBjc3MoZWwsICdwb3NpdGlvbicsICcnKTtcbiAgY3NzKGVsLCAndG9wJywgJycpO1xuICBjc3MoZWwsICdsZWZ0JywgJycpO1xuICBjc3MoZWwsICd3aWR0aCcsICcnKTtcbiAgY3NzKGVsLCAnaGVpZ2h0JywgJycpO1xufVxuXG52YXIgZXhwYW5kbyA9ICdTb3J0YWJsZScgKyBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcblxuZnVuY3Rpb24gQW5pbWF0aW9uU3RhdGVNYW5hZ2VyKCkge1xuICB2YXIgYW5pbWF0aW9uU3RhdGVzID0gW10sXG4gICAgICBhbmltYXRpb25DYWxsYmFja0lkO1xuICByZXR1cm4ge1xuICAgIGNhcHR1cmVBbmltYXRpb25TdGF0ZTogZnVuY3Rpb24gY2FwdHVyZUFuaW1hdGlvblN0YXRlKCkge1xuICAgICAgYW5pbWF0aW9uU3RhdGVzID0gW107XG4gICAgICBpZiAoIXRoaXMub3B0aW9ucy5hbmltYXRpb24pIHJldHVybjtcbiAgICAgIHZhciBjaGlsZHJlbiA9IFtdLnNsaWNlLmNhbGwodGhpcy5lbC5jaGlsZHJlbik7XG4gICAgICBjaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uIChjaGlsZCkge1xuICAgICAgICBpZiAoY3NzKGNoaWxkLCAnZGlzcGxheScpID09PSAnbm9uZScgfHwgY2hpbGQgPT09IFNvcnRhYmxlLmdob3N0KSByZXR1cm47XG4gICAgICAgIGFuaW1hdGlvblN0YXRlcy5wdXNoKHtcbiAgICAgICAgICB0YXJnZXQ6IGNoaWxkLFxuICAgICAgICAgIHJlY3Q6IGdldFJlY3QoY2hpbGQpXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHZhciBmcm9tUmVjdCA9IF9vYmplY3RTcHJlYWQoe30sIGFuaW1hdGlvblN0YXRlc1thbmltYXRpb25TdGF0ZXMubGVuZ3RoIC0gMV0ucmVjdCk7IC8vIElmIGFuaW1hdGluZzogY29tcGVuc2F0ZSBmb3IgY3VycmVudCBhbmltYXRpb25cblxuXG4gICAgICAgIGlmIChjaGlsZC50aGlzQW5pbWF0aW9uRHVyYXRpb24pIHtcbiAgICAgICAgICB2YXIgY2hpbGRNYXRyaXggPSBtYXRyaXgoY2hpbGQsIHRydWUpO1xuXG4gICAgICAgICAgaWYgKGNoaWxkTWF0cml4KSB7XG4gICAgICAgICAgICBmcm9tUmVjdC50b3AgLT0gY2hpbGRNYXRyaXguZjtcbiAgICAgICAgICAgIGZyb21SZWN0LmxlZnQgLT0gY2hpbGRNYXRyaXguZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZC5mcm9tUmVjdCA9IGZyb21SZWN0O1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBhZGRBbmltYXRpb25TdGF0ZTogZnVuY3Rpb24gYWRkQW5pbWF0aW9uU3RhdGUoc3RhdGUpIHtcbiAgICAgIGFuaW1hdGlvblN0YXRlcy5wdXNoKHN0YXRlKTtcbiAgICB9LFxuICAgIHJlbW92ZUFuaW1hdGlvblN0YXRlOiBmdW5jdGlvbiByZW1vdmVBbmltYXRpb25TdGF0ZSh0YXJnZXQpIHtcbiAgICAgIGFuaW1hdGlvblN0YXRlcy5zcGxpY2UoaW5kZXhPZk9iamVjdChhbmltYXRpb25TdGF0ZXMsIHtcbiAgICAgICAgdGFyZ2V0OiB0YXJnZXRcbiAgICAgIH0pLCAxKTtcbiAgICB9LFxuICAgIGFuaW1hdGVBbGw6IGZ1bmN0aW9uIGFuaW1hdGVBbGwoY2FsbGJhY2spIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIGlmICghdGhpcy5vcHRpb25zLmFuaW1hdGlvbikge1xuICAgICAgICBjbGVhclRpbWVvdXQoYW5pbWF0aW9uQ2FsbGJhY2tJZCk7XG4gICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIGNhbGxiYWNrKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIGFuaW1hdGluZyA9IGZhbHNlLFxuICAgICAgICAgIGFuaW1hdGlvblRpbWUgPSAwO1xuICAgICAgYW5pbWF0aW9uU3RhdGVzLmZvckVhY2goZnVuY3Rpb24gKHN0YXRlKSB7XG4gICAgICAgIHZhciB0aW1lID0gMCxcbiAgICAgICAgICAgIHRhcmdldCA9IHN0YXRlLnRhcmdldCxcbiAgICAgICAgICAgIGZyb21SZWN0ID0gdGFyZ2V0LmZyb21SZWN0LFxuICAgICAgICAgICAgdG9SZWN0ID0gZ2V0UmVjdCh0YXJnZXQpLFxuICAgICAgICAgICAgcHJldkZyb21SZWN0ID0gdGFyZ2V0LnByZXZGcm9tUmVjdCxcbiAgICAgICAgICAgIHByZXZUb1JlY3QgPSB0YXJnZXQucHJldlRvUmVjdCxcbiAgICAgICAgICAgIGFuaW1hdGluZ1JlY3QgPSBzdGF0ZS5yZWN0LFxuICAgICAgICAgICAgdGFyZ2V0TWF0cml4ID0gbWF0cml4KHRhcmdldCwgdHJ1ZSk7XG5cbiAgICAgICAgaWYgKHRhcmdldE1hdHJpeCkge1xuICAgICAgICAgIC8vIENvbXBlbnNhdGUgZm9yIGN1cnJlbnQgYW5pbWF0aW9uXG4gICAgICAgICAgdG9SZWN0LnRvcCAtPSB0YXJnZXRNYXRyaXguZjtcbiAgICAgICAgICB0b1JlY3QubGVmdCAtPSB0YXJnZXRNYXRyaXguZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRhcmdldC50b1JlY3QgPSB0b1JlY3Q7XG5cbiAgICAgICAgaWYgKHRhcmdldC50aGlzQW5pbWF0aW9uRHVyYXRpb24pIHtcbiAgICAgICAgICAvLyBDb3VsZCBhbHNvIGNoZWNrIGlmIGFuaW1hdGluZ1JlY3QgaXMgYmV0d2VlbiBmcm9tUmVjdCBhbmQgdG9SZWN0XG4gICAgICAgICAgaWYgKGlzUmVjdEVxdWFsKHByZXZGcm9tUmVjdCwgdG9SZWN0KSAmJiAhaXNSZWN0RXF1YWwoZnJvbVJlY3QsIHRvUmVjdCkgJiYgLy8gTWFrZSBzdXJlIGFuaW1hdGluZ1JlY3QgaXMgb24gbGluZSBiZXR3ZWVuIHRvUmVjdCAmIGZyb21SZWN0XG4gICAgICAgICAgKGFuaW1hdGluZ1JlY3QudG9wIC0gdG9SZWN0LnRvcCkgLyAoYW5pbWF0aW5nUmVjdC5sZWZ0IC0gdG9SZWN0LmxlZnQpID09PSAoZnJvbVJlY3QudG9wIC0gdG9SZWN0LnRvcCkgLyAoZnJvbVJlY3QubGVmdCAtIHRvUmVjdC5sZWZ0KSkge1xuICAgICAgICAgICAgLy8gSWYgcmV0dXJuaW5nIHRvIHNhbWUgcGxhY2UgYXMgc3RhcnRlZCBmcm9tIGFuaW1hdGlvbiBhbmQgb24gc2FtZSBheGlzXG4gICAgICAgICAgICB0aW1lID0gY2FsY3VsYXRlUmVhbFRpbWUoYW5pbWF0aW5nUmVjdCwgcHJldkZyb21SZWN0LCBwcmV2VG9SZWN0LCBfdGhpcy5vcHRpb25zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gLy8gaWYgZnJvbVJlY3QgIT0gdG9SZWN0OiBhbmltYXRlXG5cblxuICAgICAgICBpZiAoIWlzUmVjdEVxdWFsKHRvUmVjdCwgZnJvbVJlY3QpKSB7XG4gICAgICAgICAgdGFyZ2V0LnByZXZGcm9tUmVjdCA9IGZyb21SZWN0O1xuICAgICAgICAgIHRhcmdldC5wcmV2VG9SZWN0ID0gdG9SZWN0O1xuXG4gICAgICAgICAgaWYgKCF0aW1lKSB7XG4gICAgICAgICAgICB0aW1lID0gX3RoaXMub3B0aW9ucy5hbmltYXRpb247XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgX3RoaXMuYW5pbWF0ZSh0YXJnZXQsIGFuaW1hdGluZ1JlY3QsIHRvUmVjdCwgdGltZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGltZSkge1xuICAgICAgICAgIGFuaW1hdGluZyA9IHRydWU7XG4gICAgICAgICAgYW5pbWF0aW9uVGltZSA9IE1hdGgubWF4KGFuaW1hdGlvblRpbWUsIHRpbWUpO1xuICAgICAgICAgIGNsZWFyVGltZW91dCh0YXJnZXQuYW5pbWF0aW9uUmVzZXRUaW1lcik7XG4gICAgICAgICAgdGFyZ2V0LmFuaW1hdGlvblJlc2V0VGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHRhcmdldC5hbmltYXRpb25UaW1lID0gMDtcbiAgICAgICAgICAgIHRhcmdldC5wcmV2RnJvbVJlY3QgPSBudWxsO1xuICAgICAgICAgICAgdGFyZ2V0LmZyb21SZWN0ID0gbnVsbDtcbiAgICAgICAgICAgIHRhcmdldC5wcmV2VG9SZWN0ID0gbnVsbDtcbiAgICAgICAgICAgIHRhcmdldC50aGlzQW5pbWF0aW9uRHVyYXRpb24gPSBudWxsO1xuICAgICAgICAgIH0sIHRpbWUpO1xuICAgICAgICAgIHRhcmdldC50aGlzQW5pbWF0aW9uRHVyYXRpb24gPSB0aW1lO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGNsZWFyVGltZW91dChhbmltYXRpb25DYWxsYmFja0lkKTtcblxuICAgICAgaWYgKCFhbmltYXRpbmcpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgY2FsbGJhY2soKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFuaW1hdGlvbkNhbGxiYWNrSWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSBjYWxsYmFjaygpO1xuICAgICAgICB9LCBhbmltYXRpb25UaW1lKTtcbiAgICAgIH1cblxuICAgICAgYW5pbWF0aW9uU3RhdGVzID0gW107XG4gICAgfSxcbiAgICBhbmltYXRlOiBmdW5jdGlvbiBhbmltYXRlKHRhcmdldCwgY3VycmVudFJlY3QsIHRvUmVjdCwgZHVyYXRpb24pIHtcbiAgICAgIGlmIChkdXJhdGlvbikge1xuICAgICAgICBjc3ModGFyZ2V0LCAndHJhbnNpdGlvbicsICcnKTtcbiAgICAgICAgY3NzKHRhcmdldCwgJ3RyYW5zZm9ybScsICcnKTtcbiAgICAgICAgdmFyIGVsTWF0cml4ID0gbWF0cml4KHRoaXMuZWwpLFxuICAgICAgICAgICAgc2NhbGVYID0gZWxNYXRyaXggJiYgZWxNYXRyaXguYSxcbiAgICAgICAgICAgIHNjYWxlWSA9IGVsTWF0cml4ICYmIGVsTWF0cml4LmQsXG4gICAgICAgICAgICB0cmFuc2xhdGVYID0gKGN1cnJlbnRSZWN0LmxlZnQgLSB0b1JlY3QubGVmdCkgLyAoc2NhbGVYIHx8IDEpLFxuICAgICAgICAgICAgdHJhbnNsYXRlWSA9IChjdXJyZW50UmVjdC50b3AgLSB0b1JlY3QudG9wKSAvIChzY2FsZVkgfHwgMSk7XG4gICAgICAgIHRhcmdldC5hbmltYXRpbmdYID0gISF0cmFuc2xhdGVYO1xuICAgICAgICB0YXJnZXQuYW5pbWF0aW5nWSA9ICEhdHJhbnNsYXRlWTtcbiAgICAgICAgY3NzKHRhcmdldCwgJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUzZCgnICsgdHJhbnNsYXRlWCArICdweCwnICsgdHJhbnNsYXRlWSArICdweCwwKScpO1xuICAgICAgICByZXBhaW50KHRhcmdldCk7IC8vIHJlcGFpbnRcblxuICAgICAgICBjc3ModGFyZ2V0LCAndHJhbnNpdGlvbicsICd0cmFuc2Zvcm0gJyArIGR1cmF0aW9uICsgJ21zJyArICh0aGlzLm9wdGlvbnMuZWFzaW5nID8gJyAnICsgdGhpcy5vcHRpb25zLmVhc2luZyA6ICcnKSk7XG4gICAgICAgIGNzcyh0YXJnZXQsICd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlM2QoMCwwLDApJyk7XG4gICAgICAgIHR5cGVvZiB0YXJnZXQuYW5pbWF0ZWQgPT09ICdudW1iZXInICYmIGNsZWFyVGltZW91dCh0YXJnZXQuYW5pbWF0ZWQpO1xuICAgICAgICB0YXJnZXQuYW5pbWF0ZWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBjc3ModGFyZ2V0LCAndHJhbnNpdGlvbicsICcnKTtcbiAgICAgICAgICBjc3ModGFyZ2V0LCAndHJhbnNmb3JtJywgJycpO1xuICAgICAgICAgIHRhcmdldC5hbmltYXRlZCA9IGZhbHNlO1xuICAgICAgICAgIHRhcmdldC5hbmltYXRpbmdYID0gZmFsc2U7XG4gICAgICAgICAgdGFyZ2V0LmFuaW1hdGluZ1kgPSBmYWxzZTtcbiAgICAgICAgfSwgZHVyYXRpb24pO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gcmVwYWludCh0YXJnZXQpIHtcbiAgcmV0dXJuIHRhcmdldC5vZmZzZXRXaWR0aDtcbn1cblxuZnVuY3Rpb24gY2FsY3VsYXRlUmVhbFRpbWUoYW5pbWF0aW5nUmVjdCwgZnJvbVJlY3QsIHRvUmVjdCwgb3B0aW9ucykge1xuICByZXR1cm4gTWF0aC5zcXJ0KE1hdGgucG93KGZyb21SZWN0LnRvcCAtIGFuaW1hdGluZ1JlY3QudG9wLCAyKSArIE1hdGgucG93KGZyb21SZWN0LmxlZnQgLSBhbmltYXRpbmdSZWN0LmxlZnQsIDIpKSAvIE1hdGguc3FydChNYXRoLnBvdyhmcm9tUmVjdC50b3AgLSB0b1JlY3QudG9wLCAyKSArIE1hdGgucG93KGZyb21SZWN0LmxlZnQgLSB0b1JlY3QubGVmdCwgMikpICogb3B0aW9ucy5hbmltYXRpb247XG59XG5cbnZhciBwbHVnaW5zID0gW107XG52YXIgZGVmYXVsdHMgPSB7XG4gIGluaXRpYWxpemVCeURlZmF1bHQ6IHRydWVcbn07XG52YXIgUGx1Z2luTWFuYWdlciA9IHtcbiAgbW91bnQ6IGZ1bmN0aW9uIG1vdW50KHBsdWdpbikge1xuICAgIC8vIFNldCBkZWZhdWx0IHN0YXRpYyBwcm9wZXJ0aWVzXG4gICAgZm9yICh2YXIgb3B0aW9uIGluIGRlZmF1bHRzKSB7XG4gICAgICBpZiAoZGVmYXVsdHMuaGFzT3duUHJvcGVydHkob3B0aW9uKSAmJiAhKG9wdGlvbiBpbiBwbHVnaW4pKSB7XG4gICAgICAgIHBsdWdpbltvcHRpb25dID0gZGVmYXVsdHNbb3B0aW9uXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwbHVnaW5zLnB1c2gocGx1Z2luKTtcbiAgfSxcbiAgcGx1Z2luRXZlbnQ6IGZ1bmN0aW9uIHBsdWdpbkV2ZW50KGV2ZW50TmFtZSwgc29ydGFibGUsIGV2dCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICB0aGlzLmV2ZW50Q2FuY2VsZWQgPSBmYWxzZTtcblxuICAgIGV2dC5jYW5jZWwgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBfdGhpcy5ldmVudENhbmNlbGVkID0gdHJ1ZTtcbiAgICB9O1xuXG4gICAgdmFyIGV2ZW50TmFtZUdsb2JhbCA9IGV2ZW50TmFtZSArICdHbG9iYWwnO1xuICAgIHBsdWdpbnMuZm9yRWFjaChmdW5jdGlvbiAocGx1Z2luKSB7XG4gICAgICBpZiAoIXNvcnRhYmxlW3BsdWdpbi5wbHVnaW5OYW1lXSkgcmV0dXJuOyAvLyBGaXJlIGdsb2JhbCBldmVudHMgaWYgaXQgZXhpc3RzIGluIHRoaXMgc29ydGFibGVcblxuICAgICAgaWYgKHNvcnRhYmxlW3BsdWdpbi5wbHVnaW5OYW1lXVtldmVudE5hbWVHbG9iYWxdKSB7XG4gICAgICAgIHNvcnRhYmxlW3BsdWdpbi5wbHVnaW5OYW1lXVtldmVudE5hbWVHbG9iYWxdKF9vYmplY3RTcHJlYWQoe1xuICAgICAgICAgIHNvcnRhYmxlOiBzb3J0YWJsZVxuICAgICAgICB9LCBldnQpKTtcbiAgICAgIH0gLy8gT25seSBmaXJlIHBsdWdpbiBldmVudCBpZiBwbHVnaW4gaXMgZW5hYmxlZCBpbiB0aGlzIHNvcnRhYmxlLFxuICAgICAgLy8gYW5kIHBsdWdpbiBoYXMgZXZlbnQgZGVmaW5lZFxuXG5cbiAgICAgIGlmIChzb3J0YWJsZS5vcHRpb25zW3BsdWdpbi5wbHVnaW5OYW1lXSAmJiBzb3J0YWJsZVtwbHVnaW4ucGx1Z2luTmFtZV1bZXZlbnROYW1lXSkge1xuICAgICAgICBzb3J0YWJsZVtwbHVnaW4ucGx1Z2luTmFtZV1bZXZlbnROYW1lXShfb2JqZWN0U3ByZWFkKHtcbiAgICAgICAgICBzb3J0YWJsZTogc29ydGFibGVcbiAgICAgICAgfSwgZXZ0KSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0sXG4gIGluaXRpYWxpemVQbHVnaW5zOiBmdW5jdGlvbiBpbml0aWFsaXplUGx1Z2lucyhzb3J0YWJsZSwgZWwsIGRlZmF1bHRzLCBvcHRpb25zKSB7XG4gICAgcGx1Z2lucy5mb3JFYWNoKGZ1bmN0aW9uIChwbHVnaW4pIHtcbiAgICAgIHZhciBwbHVnaW5OYW1lID0gcGx1Z2luLnBsdWdpbk5hbWU7XG4gICAgICBpZiAoIXNvcnRhYmxlLm9wdGlvbnNbcGx1Z2luTmFtZV0gJiYgIXBsdWdpbi5pbml0aWFsaXplQnlEZWZhdWx0KSByZXR1cm47XG4gICAgICB2YXIgaW5pdGlhbGl6ZWQgPSBuZXcgcGx1Z2luKHNvcnRhYmxlLCBlbCwgc29ydGFibGUub3B0aW9ucyk7XG4gICAgICBpbml0aWFsaXplZC5zb3J0YWJsZSA9IHNvcnRhYmxlO1xuICAgICAgaW5pdGlhbGl6ZWQub3B0aW9ucyA9IHNvcnRhYmxlLm9wdGlvbnM7XG4gICAgICBzb3J0YWJsZVtwbHVnaW5OYW1lXSA9IGluaXRpYWxpemVkOyAvLyBBZGQgZGVmYXVsdCBvcHRpb25zIGZyb20gcGx1Z2luXG5cbiAgICAgIF9leHRlbmRzKGRlZmF1bHRzLCBpbml0aWFsaXplZC5kZWZhdWx0cyk7XG4gICAgfSk7XG5cbiAgICBmb3IgKHZhciBvcHRpb24gaW4gc29ydGFibGUub3B0aW9ucykge1xuICAgICAgaWYgKCFzb3J0YWJsZS5vcHRpb25zLmhhc093blByb3BlcnR5KG9wdGlvbikpIGNvbnRpbnVlO1xuICAgICAgdmFyIG1vZGlmaWVkID0gdGhpcy5tb2RpZnlPcHRpb24oc29ydGFibGUsIG9wdGlvbiwgc29ydGFibGUub3B0aW9uc1tvcHRpb25dKTtcblxuICAgICAgaWYgKHR5cGVvZiBtb2RpZmllZCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgc29ydGFibGUub3B0aW9uc1tvcHRpb25dID0gbW9kaWZpZWQ7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBnZXRFdmVudFByb3BlcnRpZXM6IGZ1bmN0aW9uIGdldEV2ZW50UHJvcGVydGllcyhuYW1lLCBzb3J0YWJsZSkge1xuICAgIHZhciBldmVudFByb3BlcnRpZXMgPSB7fTtcbiAgICBwbHVnaW5zLmZvckVhY2goZnVuY3Rpb24gKHBsdWdpbikge1xuICAgICAgaWYgKHR5cGVvZiBwbHVnaW4uZXZlbnRQcm9wZXJ0aWVzICE9PSAnZnVuY3Rpb24nKSByZXR1cm47XG5cbiAgICAgIF9leHRlbmRzKGV2ZW50UHJvcGVydGllcywgcGx1Z2luLmV2ZW50UHJvcGVydGllcy5jYWxsKHNvcnRhYmxlW3BsdWdpbi5wbHVnaW5OYW1lXSwgbmFtZSkpO1xuICAgIH0pO1xuICAgIHJldHVybiBldmVudFByb3BlcnRpZXM7XG4gIH0sXG4gIG1vZGlmeU9wdGlvbjogZnVuY3Rpb24gbW9kaWZ5T3B0aW9uKHNvcnRhYmxlLCBuYW1lLCB2YWx1ZSkge1xuICAgIHZhciBtb2RpZmllZFZhbHVlO1xuICAgIHBsdWdpbnMuZm9yRWFjaChmdW5jdGlvbiAocGx1Z2luKSB7XG4gICAgICAvLyBQbHVnaW4gbXVzdCBleGlzdCBvbiB0aGUgU29ydGFibGVcbiAgICAgIGlmICghc29ydGFibGVbcGx1Z2luLnBsdWdpbk5hbWVdKSByZXR1cm47IC8vIElmIHN0YXRpYyBvcHRpb24gbGlzdGVuZXIgZXhpc3RzIGZvciB0aGlzIG9wdGlvbiwgY2FsbCBpbiB0aGUgY29udGV4dCBvZiB0aGUgU29ydGFibGUncyBpbnN0YW5jZSBvZiB0aGlzIHBsdWdpblxuXG4gICAgICBpZiAocGx1Z2luLm9wdGlvbkxpc3RlbmVycyAmJiB0eXBlb2YgcGx1Z2luLm9wdGlvbkxpc3RlbmVyc1tuYW1lXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBtb2RpZmllZFZhbHVlID0gcGx1Z2luLm9wdGlvbkxpc3RlbmVyc1tuYW1lXS5jYWxsKHNvcnRhYmxlW3BsdWdpbi5wbHVnaW5OYW1lXSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBtb2RpZmllZFZhbHVlO1xuICB9XG59O1xuXG5mdW5jdGlvbiBkaXNwYXRjaEV2ZW50KF9yZWYpIHtcbiAgdmFyIHNvcnRhYmxlID0gX3JlZi5zb3J0YWJsZSxcbiAgICAgIHJvb3RFbCA9IF9yZWYucm9vdEVsLFxuICAgICAgbmFtZSA9IF9yZWYubmFtZSxcbiAgICAgIHRhcmdldEVsID0gX3JlZi50YXJnZXRFbCxcbiAgICAgIGNsb25lRWwgPSBfcmVmLmNsb25lRWwsXG4gICAgICB0b0VsID0gX3JlZi50b0VsLFxuICAgICAgZnJvbUVsID0gX3JlZi5mcm9tRWwsXG4gICAgICBvbGRJbmRleCA9IF9yZWYub2xkSW5kZXgsXG4gICAgICBuZXdJbmRleCA9IF9yZWYubmV3SW5kZXgsXG4gICAgICBvbGREcmFnZ2FibGVJbmRleCA9IF9yZWYub2xkRHJhZ2dhYmxlSW5kZXgsXG4gICAgICBuZXdEcmFnZ2FibGVJbmRleCA9IF9yZWYubmV3RHJhZ2dhYmxlSW5kZXgsXG4gICAgICBvcmlnaW5hbEV2ZW50ID0gX3JlZi5vcmlnaW5hbEV2ZW50LFxuICAgICAgcHV0U29ydGFibGUgPSBfcmVmLnB1dFNvcnRhYmxlLFxuICAgICAgZXh0cmFFdmVudFByb3BlcnRpZXMgPSBfcmVmLmV4dHJhRXZlbnRQcm9wZXJ0aWVzO1xuICBzb3J0YWJsZSA9IHNvcnRhYmxlIHx8IHJvb3RFbCAmJiByb290RWxbZXhwYW5kb107XG4gIGlmICghc29ydGFibGUpIHJldHVybjtcbiAgdmFyIGV2dCxcbiAgICAgIG9wdGlvbnMgPSBzb3J0YWJsZS5vcHRpb25zLFxuICAgICAgb25OYW1lID0gJ29uJyArIG5hbWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBuYW1lLnN1YnN0cigxKTsgLy8gU3VwcG9ydCBmb3IgbmV3IEN1c3RvbUV2ZW50IGZlYXR1cmVcblxuICBpZiAod2luZG93LkN1c3RvbUV2ZW50ICYmICFJRTExT3JMZXNzICYmICFFZGdlKSB7XG4gICAgZXZ0ID0gbmV3IEN1c3RvbUV2ZW50KG5hbWUsIHtcbiAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICBjYW5jZWxhYmxlOiB0cnVlXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0V2ZW50Jyk7XG4gICAgZXZ0LmluaXRFdmVudChuYW1lLCB0cnVlLCB0cnVlKTtcbiAgfVxuXG4gIGV2dC50byA9IHRvRWwgfHwgcm9vdEVsO1xuICBldnQuZnJvbSA9IGZyb21FbCB8fCByb290RWw7XG4gIGV2dC5pdGVtID0gdGFyZ2V0RWwgfHwgcm9vdEVsO1xuICBldnQuY2xvbmUgPSBjbG9uZUVsO1xuICBldnQub2xkSW5kZXggPSBvbGRJbmRleDtcbiAgZXZ0Lm5ld0luZGV4ID0gbmV3SW5kZXg7XG4gIGV2dC5vbGREcmFnZ2FibGVJbmRleCA9IG9sZERyYWdnYWJsZUluZGV4O1xuICBldnQubmV3RHJhZ2dhYmxlSW5kZXggPSBuZXdEcmFnZ2FibGVJbmRleDtcbiAgZXZ0Lm9yaWdpbmFsRXZlbnQgPSBvcmlnaW5hbEV2ZW50O1xuICBldnQucHVsbE1vZGUgPSBwdXRTb3J0YWJsZSA/IHB1dFNvcnRhYmxlLmxhc3RQdXRNb2RlIDogdW5kZWZpbmVkO1xuXG4gIHZhciBhbGxFdmVudFByb3BlcnRpZXMgPSBfb2JqZWN0U3ByZWFkKHt9LCBleHRyYUV2ZW50UHJvcGVydGllcywgUGx1Z2luTWFuYWdlci5nZXRFdmVudFByb3BlcnRpZXMobmFtZSwgc29ydGFibGUpKTtcblxuICBmb3IgKHZhciBvcHRpb24gaW4gYWxsRXZlbnRQcm9wZXJ0aWVzKSB7XG4gICAgZXZ0W29wdGlvbl0gPSBhbGxFdmVudFByb3BlcnRpZXNbb3B0aW9uXTtcbiAgfVxuXG4gIGlmIChyb290RWwpIHtcbiAgICByb290RWwuZGlzcGF0Y2hFdmVudChldnQpO1xuICB9XG5cbiAgaWYgKG9wdGlvbnNbb25OYW1lXSkge1xuICAgIG9wdGlvbnNbb25OYW1lXS5jYWxsKHNvcnRhYmxlLCBldnQpO1xuICB9XG59XG5cbnZhciBwbHVnaW5FdmVudCA9IGZ1bmN0aW9uIHBsdWdpbkV2ZW50KGV2ZW50TmFtZSwgc29ydGFibGUpIHtcbiAgdmFyIF9yZWYgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IHt9LFxuICAgICAgb3JpZ2luYWxFdmVudCA9IF9yZWYuZXZ0LFxuICAgICAgZGF0YSA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfcmVmLCBbXCJldnRcIl0pO1xuXG4gIFBsdWdpbk1hbmFnZXIucGx1Z2luRXZlbnQuYmluZChTb3J0YWJsZSkoZXZlbnROYW1lLCBzb3J0YWJsZSwgX29iamVjdFNwcmVhZCh7XG4gICAgZHJhZ0VsOiBkcmFnRWwsXG4gICAgcGFyZW50RWw6IHBhcmVudEVsLFxuICAgIGdob3N0RWw6IGdob3N0RWwsXG4gICAgcm9vdEVsOiByb290RWwsXG4gICAgbmV4dEVsOiBuZXh0RWwsXG4gICAgbGFzdERvd25FbDogbGFzdERvd25FbCxcbiAgICBjbG9uZUVsOiBjbG9uZUVsLFxuICAgIGNsb25lSGlkZGVuOiBjbG9uZUhpZGRlbixcbiAgICBkcmFnU3RhcnRlZDogbW92ZWQsXG4gICAgcHV0U29ydGFibGU6IHB1dFNvcnRhYmxlLFxuICAgIGFjdGl2ZVNvcnRhYmxlOiBTb3J0YWJsZS5hY3RpdmUsXG4gICAgb3JpZ2luYWxFdmVudDogb3JpZ2luYWxFdmVudCxcbiAgICBvbGRJbmRleDogb2xkSW5kZXgsXG4gICAgb2xkRHJhZ2dhYmxlSW5kZXg6IG9sZERyYWdnYWJsZUluZGV4LFxuICAgIG5ld0luZGV4OiBuZXdJbmRleCxcbiAgICBuZXdEcmFnZ2FibGVJbmRleDogbmV3RHJhZ2dhYmxlSW5kZXgsXG4gICAgaGlkZUdob3N0Rm9yVGFyZ2V0OiBfaGlkZUdob3N0Rm9yVGFyZ2V0LFxuICAgIHVuaGlkZUdob3N0Rm9yVGFyZ2V0OiBfdW5oaWRlR2hvc3RGb3JUYXJnZXQsXG4gICAgY2xvbmVOb3dIaWRkZW46IGZ1bmN0aW9uIGNsb25lTm93SGlkZGVuKCkge1xuICAgICAgY2xvbmVIaWRkZW4gPSB0cnVlO1xuICAgIH0sXG4gICAgY2xvbmVOb3dTaG93bjogZnVuY3Rpb24gY2xvbmVOb3dTaG93bigpIHtcbiAgICAgIGNsb25lSGlkZGVuID0gZmFsc2U7XG4gICAgfSxcbiAgICBkaXNwYXRjaFNvcnRhYmxlRXZlbnQ6IGZ1bmN0aW9uIGRpc3BhdGNoU29ydGFibGVFdmVudChuYW1lKSB7XG4gICAgICBfZGlzcGF0Y2hFdmVudCh7XG4gICAgICAgIHNvcnRhYmxlOiBzb3J0YWJsZSxcbiAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgb3JpZ2luYWxFdmVudDogb3JpZ2luYWxFdmVudFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBkYXRhKSk7XG59O1xuXG5mdW5jdGlvbiBfZGlzcGF0Y2hFdmVudChpbmZvKSB7XG4gIGRpc3BhdGNoRXZlbnQoX29iamVjdFNwcmVhZCh7XG4gICAgcHV0U29ydGFibGU6IHB1dFNvcnRhYmxlLFxuICAgIGNsb25lRWw6IGNsb25lRWwsXG4gICAgdGFyZ2V0RWw6IGRyYWdFbCxcbiAgICByb290RWw6IHJvb3RFbCxcbiAgICBvbGRJbmRleDogb2xkSW5kZXgsXG4gICAgb2xkRHJhZ2dhYmxlSW5kZXg6IG9sZERyYWdnYWJsZUluZGV4LFxuICAgIG5ld0luZGV4OiBuZXdJbmRleCxcbiAgICBuZXdEcmFnZ2FibGVJbmRleDogbmV3RHJhZ2dhYmxlSW5kZXhcbiAgfSwgaW5mbykpO1xufVxuXG5pZiAodHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIiB8fCAhd2luZG93LmRvY3VtZW50KSB7XG4gIHRocm93IG5ldyBFcnJvcihcIlNvcnRhYmxlLmpzIHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudFwiKTtcbn1cblxudmFyIGRyYWdFbCxcbiAgICBwYXJlbnRFbCxcbiAgICBnaG9zdEVsLFxuICAgIHJvb3RFbCxcbiAgICBuZXh0RWwsXG4gICAgbGFzdERvd25FbCxcbiAgICBjbG9uZUVsLFxuICAgIGNsb25lSGlkZGVuLFxuICAgIG9sZEluZGV4LFxuICAgIG5ld0luZGV4LFxuICAgIG9sZERyYWdnYWJsZUluZGV4LFxuICAgIG5ld0RyYWdnYWJsZUluZGV4LFxuICAgIGFjdGl2ZUdyb3VwLFxuICAgIHB1dFNvcnRhYmxlLFxuICAgIGF3YWl0aW5nRHJhZ1N0YXJ0ZWQgPSBmYWxzZSxcbiAgICBpZ25vcmVOZXh0Q2xpY2sgPSBmYWxzZSxcbiAgICBzb3J0YWJsZXMgPSBbXSxcbiAgICB0YXBFdnQsXG4gICAgdG91Y2hFdnQsXG4gICAgbGFzdER4LFxuICAgIGxhc3REeSxcbiAgICB0YXBEaXN0YW5jZUxlZnQsXG4gICAgdGFwRGlzdGFuY2VUb3AsXG4gICAgbW92ZWQsXG4gICAgbGFzdFRhcmdldCxcbiAgICBsYXN0RGlyZWN0aW9uLFxuICAgIHBhc3RGaXJzdEludmVydFRocmVzaCA9IGZhbHNlLFxuICAgIGlzQ2lyY3Vtc3RhbnRpYWxJbnZlcnQgPSBmYWxzZSxcbiAgICB0YXJnZXRNb3ZlRGlzdGFuY2UsXG4gICAgLy8gRm9yIHBvc2l0aW9uaW5nIGdob3N0IGFic29sdXRlbHlcbmdob3N0UmVsYXRpdmVQYXJlbnQsXG4gICAgZ2hvc3RSZWxhdGl2ZVBhcmVudEluaXRpYWxTY3JvbGwgPSBbXSxcbiAgICAvLyAobGVmdCwgdG9wKVxuX3NpbGVudCA9IGZhbHNlLFxuICAgIHNhdmVkSW5wdXRDaGVja2VkID0gW107XG4vKiogQGNvbnN0ICovXG5cbnZhciBQb3NpdGlvbkdob3N0QWJzb2x1dGVseSA9IElPUyxcbiAgICBDU1NGbG9hdFByb3BlcnR5ID0gRWRnZSB8fCBJRTExT3JMZXNzID8gJ2Nzc0Zsb2F0JyA6ICdmbG9hdCcsXG4gICAgLy8gVGhpcyB3aWxsIG5vdCBwYXNzIGZvciBJRTksIGJlY2F1c2UgSUU5IERuRCBvbmx5IHdvcmtzIG9uIGFuY2hvcnNcbnN1cHBvcnREcmFnZ2FibGUgPSAhQ2hyb21lRm9yQW5kcm9pZCAmJiAhSU9TICYmICdkcmFnZ2FibGUnIGluIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLFxuICAgIHN1cHBvcnRDc3NQb2ludGVyRXZlbnRzID0gZnVuY3Rpb24gKCkge1xuICAvLyBmYWxzZSB3aGVuIDw9IElFMTFcbiAgaWYgKElFMTFPckxlc3MpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd4Jyk7XG4gIGVsLnN0eWxlLmNzc1RleHQgPSAncG9pbnRlci1ldmVudHM6YXV0byc7XG4gIHJldHVybiBlbC5zdHlsZS5wb2ludGVyRXZlbnRzID09PSAnYXV0byc7XG59KCksXG4gICAgX2RldGVjdERpcmVjdGlvbiA9IGZ1bmN0aW9uIF9kZXRlY3REaXJlY3Rpb24oZWwsIG9wdGlvbnMpIHtcbiAgdmFyIGVsQ1NTID0gY3NzKGVsKSxcbiAgICAgIGVsV2lkdGggPSBwYXJzZUludChlbENTUy53aWR0aCkgLSBwYXJzZUludChlbENTUy5wYWRkaW5nTGVmdCkgLSBwYXJzZUludChlbENTUy5wYWRkaW5nUmlnaHQpIC0gcGFyc2VJbnQoZWxDU1MuYm9yZGVyTGVmdFdpZHRoKSAtIHBhcnNlSW50KGVsQ1NTLmJvcmRlclJpZ2h0V2lkdGgpLFxuICAgICAgY2hpbGQxID0gZ2V0Q2hpbGQoZWwsIDAsIG9wdGlvbnMpLFxuICAgICAgY2hpbGQyID0gZ2V0Q2hpbGQoZWwsIDEsIG9wdGlvbnMpLFxuICAgICAgZmlyc3RDaGlsZENTUyA9IGNoaWxkMSAmJiBjc3MoY2hpbGQxKSxcbiAgICAgIHNlY29uZENoaWxkQ1NTID0gY2hpbGQyICYmIGNzcyhjaGlsZDIpLFxuICAgICAgZmlyc3RDaGlsZFdpZHRoID0gZmlyc3RDaGlsZENTUyAmJiBwYXJzZUludChmaXJzdENoaWxkQ1NTLm1hcmdpbkxlZnQpICsgcGFyc2VJbnQoZmlyc3RDaGlsZENTUy5tYXJnaW5SaWdodCkgKyBnZXRSZWN0KGNoaWxkMSkud2lkdGgsXG4gICAgICBzZWNvbmRDaGlsZFdpZHRoID0gc2Vjb25kQ2hpbGRDU1MgJiYgcGFyc2VJbnQoc2Vjb25kQ2hpbGRDU1MubWFyZ2luTGVmdCkgKyBwYXJzZUludChzZWNvbmRDaGlsZENTUy5tYXJnaW5SaWdodCkgKyBnZXRSZWN0KGNoaWxkMikud2lkdGg7XG5cbiAgaWYgKGVsQ1NTLmRpc3BsYXkgPT09ICdmbGV4Jykge1xuICAgIHJldHVybiBlbENTUy5mbGV4RGlyZWN0aW9uID09PSAnY29sdW1uJyB8fCBlbENTUy5mbGV4RGlyZWN0aW9uID09PSAnY29sdW1uLXJldmVyc2UnID8gJ3ZlcnRpY2FsJyA6ICdob3Jpem9udGFsJztcbiAgfVxuXG4gIGlmIChlbENTUy5kaXNwbGF5ID09PSAnZ3JpZCcpIHtcbiAgICByZXR1cm4gZWxDU1MuZ3JpZFRlbXBsYXRlQ29sdW1ucy5zcGxpdCgnICcpLmxlbmd0aCA8PSAxID8gJ3ZlcnRpY2FsJyA6ICdob3Jpem9udGFsJztcbiAgfVxuXG4gIGlmIChjaGlsZDEgJiYgZmlyc3RDaGlsZENTU1tcImZsb2F0XCJdICYmIGZpcnN0Q2hpbGRDU1NbXCJmbG9hdFwiXSAhPT0gJ25vbmUnKSB7XG4gICAgdmFyIHRvdWNoaW5nU2lkZUNoaWxkMiA9IGZpcnN0Q2hpbGRDU1NbXCJmbG9hdFwiXSA9PT0gJ2xlZnQnID8gJ2xlZnQnIDogJ3JpZ2h0JztcbiAgICByZXR1cm4gY2hpbGQyICYmIChzZWNvbmRDaGlsZENTUy5jbGVhciA9PT0gJ2JvdGgnIHx8IHNlY29uZENoaWxkQ1NTLmNsZWFyID09PSB0b3VjaGluZ1NpZGVDaGlsZDIpID8gJ3ZlcnRpY2FsJyA6ICdob3Jpem9udGFsJztcbiAgfVxuXG4gIHJldHVybiBjaGlsZDEgJiYgKGZpcnN0Q2hpbGRDU1MuZGlzcGxheSA9PT0gJ2Jsb2NrJyB8fCBmaXJzdENoaWxkQ1NTLmRpc3BsYXkgPT09ICdmbGV4JyB8fCBmaXJzdENoaWxkQ1NTLmRpc3BsYXkgPT09ICd0YWJsZScgfHwgZmlyc3RDaGlsZENTUy5kaXNwbGF5ID09PSAnZ3JpZCcgfHwgZmlyc3RDaGlsZFdpZHRoID49IGVsV2lkdGggJiYgZWxDU1NbQ1NTRmxvYXRQcm9wZXJ0eV0gPT09ICdub25lJyB8fCBjaGlsZDIgJiYgZWxDU1NbQ1NTRmxvYXRQcm9wZXJ0eV0gPT09ICdub25lJyAmJiBmaXJzdENoaWxkV2lkdGggKyBzZWNvbmRDaGlsZFdpZHRoID4gZWxXaWR0aCkgPyAndmVydGljYWwnIDogJ2hvcml6b250YWwnO1xufSxcbiAgICBfZHJhZ0VsSW5Sb3dDb2x1bW4gPSBmdW5jdGlvbiBfZHJhZ0VsSW5Sb3dDb2x1bW4oZHJhZ1JlY3QsIHRhcmdldFJlY3QsIHZlcnRpY2FsKSB7XG4gIHZhciBkcmFnRWxTMU9wcCA9IHZlcnRpY2FsID8gZHJhZ1JlY3QubGVmdCA6IGRyYWdSZWN0LnRvcCxcbiAgICAgIGRyYWdFbFMyT3BwID0gdmVydGljYWwgPyBkcmFnUmVjdC5yaWdodCA6IGRyYWdSZWN0LmJvdHRvbSxcbiAgICAgIGRyYWdFbE9wcExlbmd0aCA9IHZlcnRpY2FsID8gZHJhZ1JlY3Qud2lkdGggOiBkcmFnUmVjdC5oZWlnaHQsXG4gICAgICB0YXJnZXRTMU9wcCA9IHZlcnRpY2FsID8gdGFyZ2V0UmVjdC5sZWZ0IDogdGFyZ2V0UmVjdC50b3AsXG4gICAgICB0YXJnZXRTMk9wcCA9IHZlcnRpY2FsID8gdGFyZ2V0UmVjdC5yaWdodCA6IHRhcmdldFJlY3QuYm90dG9tLFxuICAgICAgdGFyZ2V0T3BwTGVuZ3RoID0gdmVydGljYWwgPyB0YXJnZXRSZWN0LndpZHRoIDogdGFyZ2V0UmVjdC5oZWlnaHQ7XG4gIHJldHVybiBkcmFnRWxTMU9wcCA9PT0gdGFyZ2V0UzFPcHAgfHwgZHJhZ0VsUzJPcHAgPT09IHRhcmdldFMyT3BwIHx8IGRyYWdFbFMxT3BwICsgZHJhZ0VsT3BwTGVuZ3RoIC8gMiA9PT0gdGFyZ2V0UzFPcHAgKyB0YXJnZXRPcHBMZW5ndGggLyAyO1xufSxcblxuLyoqXHJcbiAqIERldGVjdHMgZmlyc3QgbmVhcmVzdCBlbXB0eSBzb3J0YWJsZSB0byBYIGFuZCBZIHBvc2l0aW9uIHVzaW5nIGVtcHR5SW5zZXJ0VGhyZXNob2xkLlxyXG4gKiBAcGFyYW0gIHtOdW1iZXJ9IHggICAgICBYIHBvc2l0aW9uXHJcbiAqIEBwYXJhbSAge051bWJlcn0geSAgICAgIFkgcG9zaXRpb25cclxuICogQHJldHVybiB7SFRNTEVsZW1lbnR9ICAgRWxlbWVudCBvZiB0aGUgZmlyc3QgZm91bmQgbmVhcmVzdCBTb3J0YWJsZVxyXG4gKi9cbl9kZXRlY3ROZWFyZXN0RW1wdHlTb3J0YWJsZSA9IGZ1bmN0aW9uIF9kZXRlY3ROZWFyZXN0RW1wdHlTb3J0YWJsZSh4LCB5KSB7XG4gIHZhciByZXQ7XG4gIHNvcnRhYmxlcy5zb21lKGZ1bmN0aW9uIChzb3J0YWJsZSkge1xuICAgIGlmIChsYXN0Q2hpbGQoc29ydGFibGUpKSByZXR1cm47XG4gICAgdmFyIHJlY3QgPSBnZXRSZWN0KHNvcnRhYmxlKSxcbiAgICAgICAgdGhyZXNob2xkID0gc29ydGFibGVbZXhwYW5kb10ub3B0aW9ucy5lbXB0eUluc2VydFRocmVzaG9sZCxcbiAgICAgICAgaW5zaWRlSG9yaXpvbnRhbGx5ID0geCA+PSByZWN0LmxlZnQgLSB0aHJlc2hvbGQgJiYgeCA8PSByZWN0LnJpZ2h0ICsgdGhyZXNob2xkLFxuICAgICAgICBpbnNpZGVWZXJ0aWNhbGx5ID0geSA+PSByZWN0LnRvcCAtIHRocmVzaG9sZCAmJiB5IDw9IHJlY3QuYm90dG9tICsgdGhyZXNob2xkO1xuXG4gICAgaWYgKHRocmVzaG9sZCAmJiBpbnNpZGVIb3Jpem9udGFsbHkgJiYgaW5zaWRlVmVydGljYWxseSkge1xuICAgICAgcmV0dXJuIHJldCA9IHNvcnRhYmxlO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiByZXQ7XG59LFxuICAgIF9wcmVwYXJlR3JvdXAgPSBmdW5jdGlvbiBfcHJlcGFyZUdyb3VwKG9wdGlvbnMpIHtcbiAgZnVuY3Rpb24gdG9Gbih2YWx1ZSwgcHVsbCkge1xuICAgIHJldHVybiBmdW5jdGlvbiAodG8sIGZyb20sIGRyYWdFbCwgZXZ0KSB7XG4gICAgICB2YXIgc2FtZUdyb3VwID0gdG8ub3B0aW9ucy5ncm91cC5uYW1lICYmIGZyb20ub3B0aW9ucy5ncm91cC5uYW1lICYmIHRvLm9wdGlvbnMuZ3JvdXAubmFtZSA9PT0gZnJvbS5vcHRpb25zLmdyb3VwLm5hbWU7XG5cbiAgICAgIGlmICh2YWx1ZSA9PSBudWxsICYmIChwdWxsIHx8IHNhbWVHcm91cCkpIHtcbiAgICAgICAgLy8gRGVmYXVsdCBwdWxsIHZhbHVlXG4gICAgICAgIC8vIERlZmF1bHQgcHVsbCBhbmQgcHV0IHZhbHVlIGlmIHNhbWUgZ3JvdXBcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlID09IG51bGwgfHwgdmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0gZWxzZSBpZiAocHVsbCAmJiB2YWx1ZSA9PT0gJ2Nsb25lJykge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gdG9Gbih2YWx1ZSh0bywgZnJvbSwgZHJhZ0VsLCBldnQpLCBwdWxsKSh0bywgZnJvbSwgZHJhZ0VsLCBldnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIG90aGVyR3JvdXAgPSAocHVsbCA/IHRvIDogZnJvbSkub3B0aW9ucy5ncm91cC5uYW1lO1xuICAgICAgICByZXR1cm4gdmFsdWUgPT09IHRydWUgfHwgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZSA9PT0gb3RoZXJHcm91cCB8fCB2YWx1ZS5qb2luICYmIHZhbHVlLmluZGV4T2Yob3RoZXJHcm91cCkgPiAtMTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgdmFyIGdyb3VwID0ge307XG4gIHZhciBvcmlnaW5hbEdyb3VwID0gb3B0aW9ucy5ncm91cDtcblxuICBpZiAoIW9yaWdpbmFsR3JvdXAgfHwgX3R5cGVvZihvcmlnaW5hbEdyb3VwKSAhPSAnb2JqZWN0Jykge1xuICAgIG9yaWdpbmFsR3JvdXAgPSB7XG4gICAgICBuYW1lOiBvcmlnaW5hbEdyb3VwXG4gICAgfTtcbiAgfVxuXG4gIGdyb3VwLm5hbWUgPSBvcmlnaW5hbEdyb3VwLm5hbWU7XG4gIGdyb3VwLmNoZWNrUHVsbCA9IHRvRm4ob3JpZ2luYWxHcm91cC5wdWxsLCB0cnVlKTtcbiAgZ3JvdXAuY2hlY2tQdXQgPSB0b0ZuKG9yaWdpbmFsR3JvdXAucHV0KTtcbiAgZ3JvdXAucmV2ZXJ0Q2xvbmUgPSBvcmlnaW5hbEdyb3VwLnJldmVydENsb25lO1xuICBvcHRpb25zLmdyb3VwID0gZ3JvdXA7XG59LFxuICAgIF9oaWRlR2hvc3RGb3JUYXJnZXQgPSBmdW5jdGlvbiBfaGlkZUdob3N0Rm9yVGFyZ2V0KCkge1xuICBpZiAoIXN1cHBvcnRDc3NQb2ludGVyRXZlbnRzICYmIGdob3N0RWwpIHtcbiAgICBjc3MoZ2hvc3RFbCwgJ2Rpc3BsYXknLCAnbm9uZScpO1xuICB9XG59LFxuICAgIF91bmhpZGVHaG9zdEZvclRhcmdldCA9IGZ1bmN0aW9uIF91bmhpZGVHaG9zdEZvclRhcmdldCgpIHtcbiAgaWYgKCFzdXBwb3J0Q3NzUG9pbnRlckV2ZW50cyAmJiBnaG9zdEVsKSB7XG4gICAgY3NzKGdob3N0RWwsICdkaXNwbGF5JywgJycpO1xuICB9XG59OyAvLyAjMTE4NCBmaXggLSBQcmV2ZW50IGNsaWNrIGV2ZW50IG9uIGZhbGxiYWNrIGlmIGRyYWdnZWQgYnV0IGl0ZW0gbm90IGNoYW5nZWQgcG9zaXRpb25cblxuXG5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uIChldnQpIHtcbiAgaWYgKGlnbm9yZU5leHRDbGljaykge1xuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24gJiYgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2dC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24gJiYgZXZ0LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgIGlnbm9yZU5leHRDbGljayA9IGZhbHNlO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufSwgdHJ1ZSk7XG5cbnZhciBuZWFyZXN0RW1wdHlJbnNlcnREZXRlY3RFdmVudCA9IGZ1bmN0aW9uIG5lYXJlc3RFbXB0eUluc2VydERldGVjdEV2ZW50KGV2dCkge1xuICBpZiAoZHJhZ0VsKSB7XG4gICAgZXZ0ID0gZXZ0LnRvdWNoZXMgPyBldnQudG91Y2hlc1swXSA6IGV2dDtcblxuICAgIHZhciBuZWFyZXN0ID0gX2RldGVjdE5lYXJlc3RFbXB0eVNvcnRhYmxlKGV2dC5jbGllbnRYLCBldnQuY2xpZW50WSk7XG5cbiAgICBpZiAobmVhcmVzdCkge1xuICAgICAgLy8gQ3JlYXRlIGltaXRhdGlvbiBldmVudFxuICAgICAgdmFyIGV2ZW50ID0ge307XG5cbiAgICAgIGZvciAodmFyIGkgaW4gZXZ0KSB7XG4gICAgICAgIGlmIChldnQuaGFzT3duUHJvcGVydHkoaSkpIHtcbiAgICAgICAgICBldmVudFtpXSA9IGV2dFtpXTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBldmVudC50YXJnZXQgPSBldmVudC5yb290RWwgPSBuZWFyZXN0O1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQgPSB2b2lkIDA7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24gPSB2b2lkIDA7XG5cbiAgICAgIG5lYXJlc3RbZXhwYW5kb10uX29uRHJhZ092ZXIoZXZlbnQpO1xuICAgIH1cbiAgfVxufTtcblxudmFyIF9jaGVja091dHNpZGVUYXJnZXRFbCA9IGZ1bmN0aW9uIF9jaGVja091dHNpZGVUYXJnZXRFbChldnQpIHtcbiAgaWYgKGRyYWdFbCkge1xuICAgIGRyYWdFbC5wYXJlbnROb2RlW2V4cGFuZG9dLl9pc091dHNpZGVUaGlzRWwoZXZ0LnRhcmdldCk7XG4gIH1cbn07XG4vKipcclxuICogQGNsYXNzICBTb3J0YWJsZVxyXG4gKiBAcGFyYW0gIHtIVE1MRWxlbWVudH0gIGVsXHJcbiAqIEBwYXJhbSAge09iamVjdH0gICAgICAgW29wdGlvbnNdXHJcbiAqL1xuXG5cbmZ1bmN0aW9uIFNvcnRhYmxlKGVsLCBvcHRpb25zKSB7XG4gIGlmICghKGVsICYmIGVsLm5vZGVUeXBlICYmIGVsLm5vZGVUeXBlID09PSAxKSkge1xuICAgIHRocm93IFwiU29ydGFibGU6IGBlbGAgbXVzdCBiZSBhbiBIVE1MRWxlbWVudCwgbm90IFwiLmNvbmNhdCh7fS50b1N0cmluZy5jYWxsKGVsKSk7XG4gIH1cblxuICB0aGlzLmVsID0gZWw7IC8vIHJvb3QgZWxlbWVudFxuXG4gIHRoaXMub3B0aW9ucyA9IG9wdGlvbnMgPSBfZXh0ZW5kcyh7fSwgb3B0aW9ucyk7IC8vIEV4cG9ydCBpbnN0YW5jZVxuXG4gIGVsW2V4cGFuZG9dID0gdGhpcztcbiAgdmFyIGRlZmF1bHRzID0ge1xuICAgIGdyb3VwOiBudWxsLFxuICAgIHNvcnQ6IHRydWUsXG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgIHN0b3JlOiBudWxsLFxuICAgIGhhbmRsZTogbnVsbCxcbiAgICBkcmFnZ2FibGU6IC9eW3VvXWwkL2kudGVzdChlbC5ub2RlTmFtZSkgPyAnPmxpJyA6ICc+KicsXG4gICAgc3dhcFRocmVzaG9sZDogMSxcbiAgICAvLyBwZXJjZW50YWdlOyAwIDw9IHggPD0gMVxuICAgIGludmVydFN3YXA6IGZhbHNlLFxuICAgIC8vIGludmVydCBhbHdheXNcbiAgICBpbnZlcnRlZFN3YXBUaHJlc2hvbGQ6IG51bGwsXG4gICAgLy8gd2lsbCBiZSBzZXQgdG8gc2FtZSBhcyBzd2FwVGhyZXNob2xkIGlmIGRlZmF1bHRcbiAgICByZW1vdmVDbG9uZU9uSGlkZTogdHJ1ZSxcbiAgICBkaXJlY3Rpb246IGZ1bmN0aW9uIGRpcmVjdGlvbigpIHtcbiAgICAgIHJldHVybiBfZGV0ZWN0RGlyZWN0aW9uKGVsLCB0aGlzLm9wdGlvbnMpO1xuICAgIH0sXG4gICAgZ2hvc3RDbGFzczogJ3NvcnRhYmxlLWdob3N0JyxcbiAgICBjaG9zZW5DbGFzczogJ3NvcnRhYmxlLWNob3NlbicsXG4gICAgZHJhZ0NsYXNzOiAnc29ydGFibGUtZHJhZycsXG4gICAgaWdub3JlOiAnYSwgaW1nJyxcbiAgICBmaWx0ZXI6IG51bGwsXG4gICAgcHJldmVudE9uRmlsdGVyOiB0cnVlLFxuICAgIGFuaW1hdGlvbjogMCxcbiAgICBlYXNpbmc6IG51bGwsXG4gICAgc2V0RGF0YTogZnVuY3Rpb24gc2V0RGF0YShkYXRhVHJhbnNmZXIsIGRyYWdFbCkge1xuICAgICAgZGF0YVRyYW5zZmVyLnNldERhdGEoJ1RleHQnLCBkcmFnRWwudGV4dENvbnRlbnQpO1xuICAgIH0sXG4gICAgZHJvcEJ1YmJsZTogZmFsc2UsXG4gICAgZHJhZ292ZXJCdWJibGU6IGZhbHNlLFxuICAgIGRhdGFJZEF0dHI6ICdkYXRhLWlkJyxcbiAgICBkZWxheTogMCxcbiAgICBkZWxheU9uVG91Y2hPbmx5OiBmYWxzZSxcbiAgICB0b3VjaFN0YXJ0VGhyZXNob2xkOiAoTnVtYmVyLnBhcnNlSW50ID8gTnVtYmVyIDogd2luZG93KS5wYXJzZUludCh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbywgMTApIHx8IDEsXG4gICAgZm9yY2VGYWxsYmFjazogZmFsc2UsXG4gICAgZmFsbGJhY2tDbGFzczogJ3NvcnRhYmxlLWZhbGxiYWNrJyxcbiAgICBmYWxsYmFja09uQm9keTogZmFsc2UsXG4gICAgZmFsbGJhY2tUb2xlcmFuY2U6IDAsXG4gICAgZmFsbGJhY2tPZmZzZXQ6IHtcbiAgICAgIHg6IDAsXG4gICAgICB5OiAwXG4gICAgfSxcbiAgICBzdXBwb3J0UG9pbnRlcjogU29ydGFibGUuc3VwcG9ydFBvaW50ZXIgIT09IGZhbHNlICYmICdQb2ludGVyRXZlbnQnIGluIHdpbmRvdyxcbiAgICBlbXB0eUluc2VydFRocmVzaG9sZDogNVxuICB9O1xuICBQbHVnaW5NYW5hZ2VyLmluaXRpYWxpemVQbHVnaW5zKHRoaXMsIGVsLCBkZWZhdWx0cyk7IC8vIFNldCBkZWZhdWx0IG9wdGlvbnNcblxuICBmb3IgKHZhciBuYW1lIGluIGRlZmF1bHRzKSB7XG4gICAgIShuYW1lIGluIG9wdGlvbnMpICYmIChvcHRpb25zW25hbWVdID0gZGVmYXVsdHNbbmFtZV0pO1xuICB9XG5cbiAgX3ByZXBhcmVHcm91cChvcHRpb25zKTsgLy8gQmluZCBhbGwgcHJpdmF0ZSBtZXRob2RzXG5cblxuICBmb3IgKHZhciBmbiBpbiB0aGlzKSB7XG4gICAgaWYgKGZuLmNoYXJBdCgwKSA9PT0gJ18nICYmIHR5cGVvZiB0aGlzW2ZuXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhpc1tmbl0gPSB0aGlzW2ZuXS5iaW5kKHRoaXMpO1xuICAgIH1cbiAgfSAvLyBTZXR1cCBkcmFnIG1vZGVcblxuXG4gIHRoaXMubmF0aXZlRHJhZ2dhYmxlID0gb3B0aW9ucy5mb3JjZUZhbGxiYWNrID8gZmFsc2UgOiBzdXBwb3J0RHJhZ2dhYmxlO1xuXG4gIGlmICh0aGlzLm5hdGl2ZURyYWdnYWJsZSkge1xuICAgIC8vIFRvdWNoIHN0YXJ0IHRocmVzaG9sZCBjYW5ub3QgYmUgZ3JlYXRlciB0aGFuIHRoZSBuYXRpdmUgZHJhZ3N0YXJ0IHRocmVzaG9sZFxuICAgIHRoaXMub3B0aW9ucy50b3VjaFN0YXJ0VGhyZXNob2xkID0gMTtcbiAgfSAvLyBCaW5kIGV2ZW50c1xuXG5cbiAgaWYgKG9wdGlvbnMuc3VwcG9ydFBvaW50ZXIpIHtcbiAgICBvbihlbCwgJ3BvaW50ZXJkb3duJywgdGhpcy5fb25UYXBTdGFydCk7XG4gIH0gZWxzZSB7XG4gICAgb24oZWwsICdtb3VzZWRvd24nLCB0aGlzLl9vblRhcFN0YXJ0KTtcbiAgICBvbihlbCwgJ3RvdWNoc3RhcnQnLCB0aGlzLl9vblRhcFN0YXJ0KTtcbiAgfVxuXG4gIGlmICh0aGlzLm5hdGl2ZURyYWdnYWJsZSkge1xuICAgIG9uKGVsLCAnZHJhZ292ZXInLCB0aGlzKTtcbiAgICBvbihlbCwgJ2RyYWdlbnRlcicsIHRoaXMpO1xuICB9XG5cbiAgc29ydGFibGVzLnB1c2godGhpcy5lbCk7IC8vIFJlc3RvcmUgc29ydGluZ1xuXG4gIG9wdGlvbnMuc3RvcmUgJiYgb3B0aW9ucy5zdG9yZS5nZXQgJiYgdGhpcy5zb3J0KG9wdGlvbnMuc3RvcmUuZ2V0KHRoaXMpIHx8IFtdKTsgLy8gQWRkIGFuaW1hdGlvbiBzdGF0ZSBtYW5hZ2VyXG5cbiAgX2V4dGVuZHModGhpcywgQW5pbWF0aW9uU3RhdGVNYW5hZ2VyKCkpO1xufVxuXG5Tb3J0YWJsZS5wcm90b3R5cGUgPVxuLyoqIEBsZW5kcyBTb3J0YWJsZS5wcm90b3R5cGUgKi9cbntcbiAgY29uc3RydWN0b3I6IFNvcnRhYmxlLFxuICBfaXNPdXRzaWRlVGhpc0VsOiBmdW5jdGlvbiBfaXNPdXRzaWRlVGhpc0VsKHRhcmdldCkge1xuICAgIGlmICghdGhpcy5lbC5jb250YWlucyh0YXJnZXQpICYmIHRhcmdldCAhPT0gdGhpcy5lbCkge1xuICAgICAgbGFzdFRhcmdldCA9IG51bGw7XG4gICAgfVxuICB9LFxuICBfZ2V0RGlyZWN0aW9uOiBmdW5jdGlvbiBfZ2V0RGlyZWN0aW9uKGV2dCwgdGFyZ2V0KSB7XG4gICAgcmV0dXJuIHR5cGVvZiB0aGlzLm9wdGlvbnMuZGlyZWN0aW9uID09PSAnZnVuY3Rpb24nID8gdGhpcy5vcHRpb25zLmRpcmVjdGlvbi5jYWxsKHRoaXMsIGV2dCwgdGFyZ2V0LCBkcmFnRWwpIDogdGhpcy5vcHRpb25zLmRpcmVjdGlvbjtcbiAgfSxcbiAgX29uVGFwU3RhcnQ6IGZ1bmN0aW9uIF9vblRhcFN0YXJ0KFxuICAvKiogRXZlbnR8VG91Y2hFdmVudCAqL1xuICBldnQpIHtcbiAgICBpZiAoIWV2dC5jYW5jZWxhYmxlKSByZXR1cm47XG5cbiAgICB2YXIgX3RoaXMgPSB0aGlzLFxuICAgICAgICBlbCA9IHRoaXMuZWwsXG4gICAgICAgIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnMsXG4gICAgICAgIHByZXZlbnRPbkZpbHRlciA9IG9wdGlvbnMucHJldmVudE9uRmlsdGVyLFxuICAgICAgICB0eXBlID0gZXZ0LnR5cGUsXG4gICAgICAgIHRvdWNoID0gZXZ0LnRvdWNoZXMgJiYgZXZ0LnRvdWNoZXNbMF0gfHwgZXZ0LnBvaW50ZXJUeXBlICYmIGV2dC5wb2ludGVyVHlwZSA9PT0gJ3RvdWNoJyAmJiBldnQsXG4gICAgICAgIHRhcmdldCA9ICh0b3VjaCB8fCBldnQpLnRhcmdldCxcbiAgICAgICAgb3JpZ2luYWxUYXJnZXQgPSBldnQudGFyZ2V0LnNoYWRvd1Jvb3QgJiYgKGV2dC5wYXRoICYmIGV2dC5wYXRoWzBdIHx8IGV2dC5jb21wb3NlZFBhdGggJiYgZXZ0LmNvbXBvc2VkUGF0aCgpWzBdKSB8fCB0YXJnZXQsXG4gICAgICAgIGZpbHRlciA9IG9wdGlvbnMuZmlsdGVyO1xuXG4gICAgX3NhdmVJbnB1dENoZWNrZWRTdGF0ZShlbCk7IC8vIERvbid0IHRyaWdnZXIgc3RhcnQgZXZlbnQgd2hlbiBhbiBlbGVtZW50IGlzIGJlZW4gZHJhZ2dlZCwgb3RoZXJ3aXNlIHRoZSBldnQub2xkaW5kZXggYWx3YXlzIHdyb25nIHdoZW4gc2V0IG9wdGlvbi5ncm91cC5cblxuXG4gICAgaWYgKGRyYWdFbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICgvbW91c2Vkb3dufHBvaW50ZXJkb3duLy50ZXN0KHR5cGUpICYmIGV2dC5idXR0b24gIT09IDAgfHwgb3B0aW9ucy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuOyAvLyBvbmx5IGxlZnQgYnV0dG9uIGFuZCBlbmFibGVkXG4gICAgfSAvLyBjYW5jZWwgZG5kIGlmIG9yaWdpbmFsIHRhcmdldCBpcyBjb250ZW50IGVkaXRhYmxlXG5cblxuICAgIGlmIChvcmlnaW5hbFRhcmdldC5pc0NvbnRlbnRFZGl0YWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRhcmdldCA9IGNsb3Nlc3QodGFyZ2V0LCBvcHRpb25zLmRyYWdnYWJsZSwgZWwsIGZhbHNlKTtcblxuICAgIGlmICh0YXJnZXQgJiYgdGFyZ2V0LmFuaW1hdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGxhc3REb3duRWwgPT09IHRhcmdldCkge1xuICAgICAgLy8gSWdub3JpbmcgZHVwbGljYXRlIGBkb3duYFxuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gR2V0IHRoZSBpbmRleCBvZiB0aGUgZHJhZ2dlZCBlbGVtZW50IHdpdGhpbiBpdHMgcGFyZW50XG5cblxuICAgIG9sZEluZGV4ID0gaW5kZXgodGFyZ2V0KTtcbiAgICBvbGREcmFnZ2FibGVJbmRleCA9IGluZGV4KHRhcmdldCwgb3B0aW9ucy5kcmFnZ2FibGUpOyAvLyBDaGVjayBmaWx0ZXJcblxuICAgIGlmICh0eXBlb2YgZmlsdGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpZiAoZmlsdGVyLmNhbGwodGhpcywgZXZ0LCB0YXJnZXQsIHRoaXMpKSB7XG4gICAgICAgIF9kaXNwYXRjaEV2ZW50KHtcbiAgICAgICAgICBzb3J0YWJsZTogX3RoaXMsXG4gICAgICAgICAgcm9vdEVsOiBvcmlnaW5hbFRhcmdldCxcbiAgICAgICAgICBuYW1lOiAnZmlsdGVyJyxcbiAgICAgICAgICB0YXJnZXRFbDogdGFyZ2V0LFxuICAgICAgICAgIHRvRWw6IGVsLFxuICAgICAgICAgIGZyb21FbDogZWxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcGx1Z2luRXZlbnQoJ2ZpbHRlcicsIF90aGlzLCB7XG4gICAgICAgICAgZXZ0OiBldnRcbiAgICAgICAgfSk7XG4gICAgICAgIHByZXZlbnRPbkZpbHRlciAmJiBldnQuY2FuY2VsYWJsZSAmJiBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgcmV0dXJuOyAvLyBjYW5jZWwgZG5kXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChmaWx0ZXIpIHtcbiAgICAgIGZpbHRlciA9IGZpbHRlci5zcGxpdCgnLCcpLnNvbWUoZnVuY3Rpb24gKGNyaXRlcmlhKSB7XG4gICAgICAgIGNyaXRlcmlhID0gY2xvc2VzdChvcmlnaW5hbFRhcmdldCwgY3JpdGVyaWEudHJpbSgpLCBlbCwgZmFsc2UpO1xuXG4gICAgICAgIGlmIChjcml0ZXJpYSkge1xuICAgICAgICAgIF9kaXNwYXRjaEV2ZW50KHtcbiAgICAgICAgICAgIHNvcnRhYmxlOiBfdGhpcyxcbiAgICAgICAgICAgIHJvb3RFbDogY3JpdGVyaWEsXG4gICAgICAgICAgICBuYW1lOiAnZmlsdGVyJyxcbiAgICAgICAgICAgIHRhcmdldEVsOiB0YXJnZXQsXG4gICAgICAgICAgICBmcm9tRWw6IGVsLFxuICAgICAgICAgICAgdG9FbDogZWxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHBsdWdpbkV2ZW50KCdmaWx0ZXInLCBfdGhpcywge1xuICAgICAgICAgICAgZXZ0OiBldnRcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGlmIChmaWx0ZXIpIHtcbiAgICAgICAgcHJldmVudE9uRmlsdGVyICYmIGV2dC5jYW5jZWxhYmxlICYmIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICByZXR1cm47IC8vIGNhbmNlbCBkbmRcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5oYW5kbGUgJiYgIWNsb3Nlc3Qob3JpZ2luYWxUYXJnZXQsIG9wdGlvbnMuaGFuZGxlLCBlbCwgZmFsc2UpKSB7XG4gICAgICByZXR1cm47XG4gICAgfSAvLyBQcmVwYXJlIGBkcmFnc3RhcnRgXG5cblxuICAgIHRoaXMuX3ByZXBhcmVEcmFnU3RhcnQoZXZ0LCB0b3VjaCwgdGFyZ2V0KTtcbiAgfSxcbiAgX3ByZXBhcmVEcmFnU3RhcnQ6IGZ1bmN0aW9uIF9wcmVwYXJlRHJhZ1N0YXJ0KFxuICAvKiogRXZlbnQgKi9cbiAgZXZ0LFxuICAvKiogVG91Y2ggKi9cbiAgdG91Y2gsXG4gIC8qKiBIVE1MRWxlbWVudCAqL1xuICB0YXJnZXQpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzLFxuICAgICAgICBlbCA9IF90aGlzLmVsLFxuICAgICAgICBvcHRpb25zID0gX3RoaXMub3B0aW9ucyxcbiAgICAgICAgb3duZXJEb2N1bWVudCA9IGVsLm93bmVyRG9jdW1lbnQsXG4gICAgICAgIGRyYWdTdGFydEZuO1xuXG4gICAgaWYgKHRhcmdldCAmJiAhZHJhZ0VsICYmIHRhcmdldC5wYXJlbnROb2RlID09PSBlbCkge1xuICAgICAgdmFyIGRyYWdSZWN0ID0gZ2V0UmVjdCh0YXJnZXQpO1xuICAgICAgcm9vdEVsID0gZWw7XG4gICAgICBkcmFnRWwgPSB0YXJnZXQ7XG4gICAgICBwYXJlbnRFbCA9IGRyYWdFbC5wYXJlbnROb2RlO1xuICAgICAgbmV4dEVsID0gZHJhZ0VsLm5leHRTaWJsaW5nO1xuICAgICAgbGFzdERvd25FbCA9IHRhcmdldDtcbiAgICAgIGFjdGl2ZUdyb3VwID0gb3B0aW9ucy5ncm91cDtcbiAgICAgIFNvcnRhYmxlLmRyYWdnZWQgPSBkcmFnRWw7XG4gICAgICB0YXBFdnQgPSB7XG4gICAgICAgIHRhcmdldDogZHJhZ0VsLFxuICAgICAgICBjbGllbnRYOiAodG91Y2ggfHwgZXZ0KS5jbGllbnRYLFxuICAgICAgICBjbGllbnRZOiAodG91Y2ggfHwgZXZ0KS5jbGllbnRZXG4gICAgICB9O1xuICAgICAgdGFwRGlzdGFuY2VMZWZ0ID0gdGFwRXZ0LmNsaWVudFggLSBkcmFnUmVjdC5sZWZ0O1xuICAgICAgdGFwRGlzdGFuY2VUb3AgPSB0YXBFdnQuY2xpZW50WSAtIGRyYWdSZWN0LnRvcDtcbiAgICAgIHRoaXMuX2xhc3RYID0gKHRvdWNoIHx8IGV2dCkuY2xpZW50WDtcbiAgICAgIHRoaXMuX2xhc3RZID0gKHRvdWNoIHx8IGV2dCkuY2xpZW50WTtcbiAgICAgIGRyYWdFbC5zdHlsZVsnd2lsbC1jaGFuZ2UnXSA9ICdhbGwnO1xuXG4gICAgICBkcmFnU3RhcnRGbiA9IGZ1bmN0aW9uIGRyYWdTdGFydEZuKCkge1xuICAgICAgICBwbHVnaW5FdmVudCgnZGVsYXlFbmRlZCcsIF90aGlzLCB7XG4gICAgICAgICAgZXZ0OiBldnRcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKFNvcnRhYmxlLmV2ZW50Q2FuY2VsZWQpIHtcbiAgICAgICAgICBfdGhpcy5fb25Ecm9wKCk7XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gLy8gRGVsYXllZCBkcmFnIGhhcyBiZWVuIHRyaWdnZXJlZFxuICAgICAgICAvLyB3ZSBjYW4gcmUtZW5hYmxlIHRoZSBldmVudHM6IHRvdWNobW92ZS9tb3VzZW1vdmVcblxuXG4gICAgICAgIF90aGlzLl9kaXNhYmxlRGVsYXllZERyYWdFdmVudHMoKTtcblxuICAgICAgICBpZiAoIUZpcmVGb3ggJiYgX3RoaXMubmF0aXZlRHJhZ2dhYmxlKSB7XG4gICAgICAgICAgZHJhZ0VsLmRyYWdnYWJsZSA9IHRydWU7XG4gICAgICAgIH0gLy8gQmluZCB0aGUgZXZlbnRzOiBkcmFnc3RhcnQvZHJhZ2VuZFxuXG5cbiAgICAgICAgX3RoaXMuX3RyaWdnZXJEcmFnU3RhcnQoZXZ0LCB0b3VjaCk7IC8vIERyYWcgc3RhcnQgZXZlbnRcblxuXG4gICAgICAgIF9kaXNwYXRjaEV2ZW50KHtcbiAgICAgICAgICBzb3J0YWJsZTogX3RoaXMsXG4gICAgICAgICAgbmFtZTogJ2Nob29zZScsXG4gICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZ0XG4gICAgICAgIH0pOyAvLyBDaG9zZW4gaXRlbVxuXG5cbiAgICAgICAgdG9nZ2xlQ2xhc3MoZHJhZ0VsLCBvcHRpb25zLmNob3NlbkNsYXNzLCB0cnVlKTtcbiAgICAgIH07IC8vIERpc2FibGUgXCJkcmFnZ2FibGVcIlxuXG5cbiAgICAgIG9wdGlvbnMuaWdub3JlLnNwbGl0KCcsJykuZm9yRWFjaChmdW5jdGlvbiAoY3JpdGVyaWEpIHtcbiAgICAgICAgZmluZChkcmFnRWwsIGNyaXRlcmlhLnRyaW0oKSwgX2Rpc2FibGVEcmFnZ2FibGUpO1xuICAgICAgfSk7XG4gICAgICBvbihvd25lckRvY3VtZW50LCAnZHJhZ292ZXInLCBuZWFyZXN0RW1wdHlJbnNlcnREZXRlY3RFdmVudCk7XG4gICAgICBvbihvd25lckRvY3VtZW50LCAnbW91c2Vtb3ZlJywgbmVhcmVzdEVtcHR5SW5zZXJ0RGV0ZWN0RXZlbnQpO1xuICAgICAgb24ob3duZXJEb2N1bWVudCwgJ3RvdWNobW92ZScsIG5lYXJlc3RFbXB0eUluc2VydERldGVjdEV2ZW50KTtcbiAgICAgIG9uKG93bmVyRG9jdW1lbnQsICdtb3VzZXVwJywgX3RoaXMuX29uRHJvcCk7XG4gICAgICBvbihvd25lckRvY3VtZW50LCAndG91Y2hlbmQnLCBfdGhpcy5fb25Ecm9wKTtcbiAgICAgIG9uKG93bmVyRG9jdW1lbnQsICd0b3VjaGNhbmNlbCcsIF90aGlzLl9vbkRyb3ApOyAvLyBNYWtlIGRyYWdFbCBkcmFnZ2FibGUgKG11c3QgYmUgYmVmb3JlIGRlbGF5IGZvciBGaXJlRm94KVxuXG4gICAgICBpZiAoRmlyZUZveCAmJiB0aGlzLm5hdGl2ZURyYWdnYWJsZSkge1xuICAgICAgICB0aGlzLm9wdGlvbnMudG91Y2hTdGFydFRocmVzaG9sZCA9IDQ7XG4gICAgICAgIGRyYWdFbC5kcmFnZ2FibGUgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBwbHVnaW5FdmVudCgnZGVsYXlTdGFydCcsIHRoaXMsIHtcbiAgICAgICAgZXZ0OiBldnRcbiAgICAgIH0pOyAvLyBEZWxheSBpcyBpbXBvc3NpYmxlIGZvciBuYXRpdmUgRG5EIGluIEVkZ2Ugb3IgSUVcblxuICAgICAgaWYgKG9wdGlvbnMuZGVsYXkgJiYgKCFvcHRpb25zLmRlbGF5T25Ub3VjaE9ubHkgfHwgdG91Y2gpICYmICghdGhpcy5uYXRpdmVEcmFnZ2FibGUgfHwgIShFZGdlIHx8IElFMTFPckxlc3MpKSkge1xuICAgICAgICBpZiAoU29ydGFibGUuZXZlbnRDYW5jZWxlZCkge1xuICAgICAgICAgIHRoaXMuX29uRHJvcCgpO1xuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IC8vIElmIHRoZSB1c2VyIG1vdmVzIHRoZSBwb2ludGVyIG9yIGxldCBnbyB0aGUgY2xpY2sgb3IgdG91Y2hcbiAgICAgICAgLy8gYmVmb3JlIHRoZSBkZWxheSBoYXMgYmVlbiByZWFjaGVkOlxuICAgICAgICAvLyBkaXNhYmxlIHRoZSBkZWxheWVkIGRyYWdcblxuXG4gICAgICAgIG9uKG93bmVyRG9jdW1lbnQsICdtb3VzZXVwJywgX3RoaXMuX2Rpc2FibGVEZWxheWVkRHJhZyk7XG4gICAgICAgIG9uKG93bmVyRG9jdW1lbnQsICd0b3VjaGVuZCcsIF90aGlzLl9kaXNhYmxlRGVsYXllZERyYWcpO1xuICAgICAgICBvbihvd25lckRvY3VtZW50LCAndG91Y2hjYW5jZWwnLCBfdGhpcy5fZGlzYWJsZURlbGF5ZWREcmFnKTtcbiAgICAgICAgb24ob3duZXJEb2N1bWVudCwgJ21vdXNlbW92ZScsIF90aGlzLl9kZWxheWVkRHJhZ1RvdWNoTW92ZUhhbmRsZXIpO1xuICAgICAgICBvbihvd25lckRvY3VtZW50LCAndG91Y2htb3ZlJywgX3RoaXMuX2RlbGF5ZWREcmFnVG91Y2hNb3ZlSGFuZGxlcik7XG4gICAgICAgIG9wdGlvbnMuc3VwcG9ydFBvaW50ZXIgJiYgb24ob3duZXJEb2N1bWVudCwgJ3BvaW50ZXJtb3ZlJywgX3RoaXMuX2RlbGF5ZWREcmFnVG91Y2hNb3ZlSGFuZGxlcik7XG4gICAgICAgIF90aGlzLl9kcmFnU3RhcnRUaW1lciA9IHNldFRpbWVvdXQoZHJhZ1N0YXJ0Rm4sIG9wdGlvbnMuZGVsYXkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZHJhZ1N0YXJ0Rm4oKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIF9kZWxheWVkRHJhZ1RvdWNoTW92ZUhhbmRsZXI6IGZ1bmN0aW9uIF9kZWxheWVkRHJhZ1RvdWNoTW92ZUhhbmRsZXIoXG4gIC8qKiBUb3VjaEV2ZW50fFBvaW50ZXJFdmVudCAqKi9cbiAgZSkge1xuICAgIHZhciB0b3VjaCA9IGUudG91Y2hlcyA/IGUudG91Y2hlc1swXSA6IGU7XG5cbiAgICBpZiAoTWF0aC5tYXgoTWF0aC5hYnModG91Y2guY2xpZW50WCAtIHRoaXMuX2xhc3RYKSwgTWF0aC5hYnModG91Y2guY2xpZW50WSAtIHRoaXMuX2xhc3RZKSkgPj0gTWF0aC5mbG9vcih0aGlzLm9wdGlvbnMudG91Y2hTdGFydFRocmVzaG9sZCAvICh0aGlzLm5hdGl2ZURyYWdnYWJsZSAmJiB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyB8fCAxKSkpIHtcbiAgICAgIHRoaXMuX2Rpc2FibGVEZWxheWVkRHJhZygpO1xuICAgIH1cbiAgfSxcbiAgX2Rpc2FibGVEZWxheWVkRHJhZzogZnVuY3Rpb24gX2Rpc2FibGVEZWxheWVkRHJhZygpIHtcbiAgICBkcmFnRWwgJiYgX2Rpc2FibGVEcmFnZ2FibGUoZHJhZ0VsKTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fZHJhZ1N0YXJ0VGltZXIpO1xuXG4gICAgdGhpcy5fZGlzYWJsZURlbGF5ZWREcmFnRXZlbnRzKCk7XG4gIH0sXG4gIF9kaXNhYmxlRGVsYXllZERyYWdFdmVudHM6IGZ1bmN0aW9uIF9kaXNhYmxlRGVsYXllZERyYWdFdmVudHMoKSB7XG4gICAgdmFyIG93bmVyRG9jdW1lbnQgPSB0aGlzLmVsLm93bmVyRG9jdW1lbnQ7XG4gICAgb2ZmKG93bmVyRG9jdW1lbnQsICdtb3VzZXVwJywgdGhpcy5fZGlzYWJsZURlbGF5ZWREcmFnKTtcbiAgICBvZmYob3duZXJEb2N1bWVudCwgJ3RvdWNoZW5kJywgdGhpcy5fZGlzYWJsZURlbGF5ZWREcmFnKTtcbiAgICBvZmYob3duZXJEb2N1bWVudCwgJ3RvdWNoY2FuY2VsJywgdGhpcy5fZGlzYWJsZURlbGF5ZWREcmFnKTtcbiAgICBvZmYob3duZXJEb2N1bWVudCwgJ21vdXNlbW92ZScsIHRoaXMuX2RlbGF5ZWREcmFnVG91Y2hNb3ZlSGFuZGxlcik7XG4gICAgb2ZmKG93bmVyRG9jdW1lbnQsICd0b3VjaG1vdmUnLCB0aGlzLl9kZWxheWVkRHJhZ1RvdWNoTW92ZUhhbmRsZXIpO1xuICAgIG9mZihvd25lckRvY3VtZW50LCAncG9pbnRlcm1vdmUnLCB0aGlzLl9kZWxheWVkRHJhZ1RvdWNoTW92ZUhhbmRsZXIpO1xuICB9LFxuICBfdHJpZ2dlckRyYWdTdGFydDogZnVuY3Rpb24gX3RyaWdnZXJEcmFnU3RhcnQoXG4gIC8qKiBFdmVudCAqL1xuICBldnQsXG4gIC8qKiBUb3VjaCAqL1xuICB0b3VjaCkge1xuICAgIHRvdWNoID0gdG91Y2ggfHwgZXZ0LnBvaW50ZXJUeXBlID09ICd0b3VjaCcgJiYgZXZ0O1xuXG4gICAgaWYgKCF0aGlzLm5hdGl2ZURyYWdnYWJsZSB8fCB0b3VjaCkge1xuICAgICAgaWYgKHRoaXMub3B0aW9ucy5zdXBwb3J0UG9pbnRlcikge1xuICAgICAgICBvbihkb2N1bWVudCwgJ3BvaW50ZXJtb3ZlJywgdGhpcy5fb25Ub3VjaE1vdmUpO1xuICAgICAgfSBlbHNlIGlmICh0b3VjaCkge1xuICAgICAgICBvbihkb2N1bWVudCwgJ3RvdWNobW92ZScsIHRoaXMuX29uVG91Y2hNb3ZlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9uKGRvY3VtZW50LCAnbW91c2Vtb3ZlJywgdGhpcy5fb25Ub3VjaE1vdmUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBvbihkcmFnRWwsICdkcmFnZW5kJywgdGhpcyk7XG4gICAgICBvbihyb290RWwsICdkcmFnc3RhcnQnLCB0aGlzLl9vbkRyYWdTdGFydCk7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGlmIChkb2N1bWVudC5zZWxlY3Rpb24pIHtcbiAgICAgICAgLy8gVGltZW91dCBuZWNjZXNzYXJ5IGZvciBJRTlcbiAgICAgICAgX25leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBkb2N1bWVudC5zZWxlY3Rpb24uZW1wdHkoKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyKSB7fVxuICB9LFxuICBfZHJhZ1N0YXJ0ZWQ6IGZ1bmN0aW9uIF9kcmFnU3RhcnRlZChmYWxsYmFjaywgZXZ0KSB7XG5cbiAgICBhd2FpdGluZ0RyYWdTdGFydGVkID0gZmFsc2U7XG5cbiAgICBpZiAocm9vdEVsICYmIGRyYWdFbCkge1xuICAgICAgcGx1Z2luRXZlbnQoJ2RyYWdTdGFydGVkJywgdGhpcywge1xuICAgICAgICBldnQ6IGV2dFxuICAgICAgfSk7XG5cbiAgICAgIGlmICh0aGlzLm5hdGl2ZURyYWdnYWJsZSkge1xuICAgICAgICBvbihkb2N1bWVudCwgJ2RyYWdvdmVyJywgX2NoZWNrT3V0c2lkZVRhcmdldEVsKTtcbiAgICAgIH1cblxuICAgICAgdmFyIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7IC8vIEFwcGx5IGVmZmVjdFxuXG4gICAgICAhZmFsbGJhY2sgJiYgdG9nZ2xlQ2xhc3MoZHJhZ0VsLCBvcHRpb25zLmRyYWdDbGFzcywgZmFsc2UpO1xuICAgICAgdG9nZ2xlQ2xhc3MoZHJhZ0VsLCBvcHRpb25zLmdob3N0Q2xhc3MsIHRydWUpO1xuICAgICAgU29ydGFibGUuYWN0aXZlID0gdGhpcztcbiAgICAgIGZhbGxiYWNrICYmIHRoaXMuX2FwcGVuZEdob3N0KCk7IC8vIERyYWcgc3RhcnQgZXZlbnRcblxuICAgICAgX2Rpc3BhdGNoRXZlbnQoe1xuICAgICAgICBzb3J0YWJsZTogdGhpcyxcbiAgICAgICAgbmFtZTogJ3N0YXJ0JyxcbiAgICAgICAgb3JpZ2luYWxFdmVudDogZXZ0XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbnVsbGluZygpO1xuICAgIH1cbiAgfSxcbiAgX2VtdWxhdGVEcmFnT3ZlcjogZnVuY3Rpb24gX2VtdWxhdGVEcmFnT3ZlcigpIHtcbiAgICBpZiAodG91Y2hFdnQpIHtcbiAgICAgIHRoaXMuX2xhc3RYID0gdG91Y2hFdnQuY2xpZW50WDtcbiAgICAgIHRoaXMuX2xhc3RZID0gdG91Y2hFdnQuY2xpZW50WTtcblxuICAgICAgX2hpZGVHaG9zdEZvclRhcmdldCgpO1xuXG4gICAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCh0b3VjaEV2dC5jbGllbnRYLCB0b3VjaEV2dC5jbGllbnRZKTtcbiAgICAgIHZhciBwYXJlbnQgPSB0YXJnZXQ7XG5cbiAgICAgIHdoaWxlICh0YXJnZXQgJiYgdGFyZ2V0LnNoYWRvd1Jvb3QpIHtcbiAgICAgICAgdGFyZ2V0ID0gdGFyZ2V0LnNoYWRvd1Jvb3QuZWxlbWVudEZyb21Qb2ludCh0b3VjaEV2dC5jbGllbnRYLCB0b3VjaEV2dC5jbGllbnRZKTtcbiAgICAgICAgaWYgKHRhcmdldCA9PT0gcGFyZW50KSBicmVhaztcbiAgICAgICAgcGFyZW50ID0gdGFyZ2V0O1xuICAgICAgfVxuXG4gICAgICBkcmFnRWwucGFyZW50Tm9kZVtleHBhbmRvXS5faXNPdXRzaWRlVGhpc0VsKHRhcmdldCk7XG5cbiAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgZG8ge1xuICAgICAgICAgIGlmIChwYXJlbnRbZXhwYW5kb10pIHtcbiAgICAgICAgICAgIHZhciBpbnNlcnRlZCA9IHZvaWQgMDtcbiAgICAgICAgICAgIGluc2VydGVkID0gcGFyZW50W2V4cGFuZG9dLl9vbkRyYWdPdmVyKHtcbiAgICAgICAgICAgICAgY2xpZW50WDogdG91Y2hFdnQuY2xpZW50WCxcbiAgICAgICAgICAgICAgY2xpZW50WTogdG91Y2hFdnQuY2xpZW50WSxcbiAgICAgICAgICAgICAgdGFyZ2V0OiB0YXJnZXQsXG4gICAgICAgICAgICAgIHJvb3RFbDogcGFyZW50XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKGluc2VydGVkICYmICF0aGlzLm9wdGlvbnMuZHJhZ292ZXJCdWJibGUpIHtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGFyZ2V0ID0gcGFyZW50OyAvLyBzdG9yZSBsYXN0IGVsZW1lbnRcbiAgICAgICAgfVxuICAgICAgICAvKiBqc2hpbnQgYm9zczp0cnVlICovXG4gICAgICAgIHdoaWxlIChwYXJlbnQgPSBwYXJlbnQucGFyZW50Tm9kZSk7XG4gICAgICB9XG5cbiAgICAgIF91bmhpZGVHaG9zdEZvclRhcmdldCgpO1xuICAgIH1cbiAgfSxcbiAgX29uVG91Y2hNb3ZlOiBmdW5jdGlvbiBfb25Ub3VjaE1vdmUoXG4gIC8qKlRvdWNoRXZlbnQqL1xuICBldnQpIHtcbiAgICBpZiAodGFwRXZ0KSB7XG4gICAgICB2YXIgb3B0aW9ucyA9IHRoaXMub3B0aW9ucyxcbiAgICAgICAgICBmYWxsYmFja1RvbGVyYW5jZSA9IG9wdGlvbnMuZmFsbGJhY2tUb2xlcmFuY2UsXG4gICAgICAgICAgZmFsbGJhY2tPZmZzZXQgPSBvcHRpb25zLmZhbGxiYWNrT2Zmc2V0LFxuICAgICAgICAgIHRvdWNoID0gZXZ0LnRvdWNoZXMgPyBldnQudG91Y2hlc1swXSA6IGV2dCxcbiAgICAgICAgICBnaG9zdE1hdHJpeCA9IGdob3N0RWwgJiYgbWF0cml4KGdob3N0RWwpLFxuICAgICAgICAgIHNjYWxlWCA9IGdob3N0RWwgJiYgZ2hvc3RNYXRyaXggJiYgZ2hvc3RNYXRyaXguYSxcbiAgICAgICAgICBzY2FsZVkgPSBnaG9zdEVsICYmIGdob3N0TWF0cml4ICYmIGdob3N0TWF0cml4LmQsXG4gICAgICAgICAgcmVsYXRpdmVTY3JvbGxPZmZzZXQgPSBQb3NpdGlvbkdob3N0QWJzb2x1dGVseSAmJiBnaG9zdFJlbGF0aXZlUGFyZW50ICYmIGdldFJlbGF0aXZlU2Nyb2xsT2Zmc2V0KGdob3N0UmVsYXRpdmVQYXJlbnQpLFxuICAgICAgICAgIGR4ID0gKHRvdWNoLmNsaWVudFggLSB0YXBFdnQuY2xpZW50WCArIGZhbGxiYWNrT2Zmc2V0LngpIC8gKHNjYWxlWCB8fCAxKSArIChyZWxhdGl2ZVNjcm9sbE9mZnNldCA/IHJlbGF0aXZlU2Nyb2xsT2Zmc2V0WzBdIC0gZ2hvc3RSZWxhdGl2ZVBhcmVudEluaXRpYWxTY3JvbGxbMF0gOiAwKSAvIChzY2FsZVggfHwgMSksXG4gICAgICAgICAgZHkgPSAodG91Y2guY2xpZW50WSAtIHRhcEV2dC5jbGllbnRZICsgZmFsbGJhY2tPZmZzZXQueSkgLyAoc2NhbGVZIHx8IDEpICsgKHJlbGF0aXZlU2Nyb2xsT2Zmc2V0ID8gcmVsYXRpdmVTY3JvbGxPZmZzZXRbMV0gLSBnaG9zdFJlbGF0aXZlUGFyZW50SW5pdGlhbFNjcm9sbFsxXSA6IDApIC8gKHNjYWxlWSB8fCAxKTsgLy8gb25seSBzZXQgdGhlIHN0YXR1cyB0byBkcmFnZ2luZywgd2hlbiB3ZSBhcmUgYWN0dWFsbHkgZHJhZ2dpbmdcblxuICAgICAgaWYgKCFTb3J0YWJsZS5hY3RpdmUgJiYgIWF3YWl0aW5nRHJhZ1N0YXJ0ZWQpIHtcbiAgICAgICAgaWYgKGZhbGxiYWNrVG9sZXJhbmNlICYmIE1hdGgubWF4KE1hdGguYWJzKHRvdWNoLmNsaWVudFggLSB0aGlzLl9sYXN0WCksIE1hdGguYWJzKHRvdWNoLmNsaWVudFkgLSB0aGlzLl9sYXN0WSkpIDwgZmFsbGJhY2tUb2xlcmFuY2UpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9vbkRyYWdTdGFydChldnQsIHRydWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZ2hvc3RFbCkge1xuICAgICAgICBpZiAoZ2hvc3RNYXRyaXgpIHtcbiAgICAgICAgICBnaG9zdE1hdHJpeC5lICs9IGR4IC0gKGxhc3REeCB8fCAwKTtcbiAgICAgICAgICBnaG9zdE1hdHJpeC5mICs9IGR5IC0gKGxhc3REeSB8fCAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBnaG9zdE1hdHJpeCA9IHtcbiAgICAgICAgICAgIGE6IDEsXG4gICAgICAgICAgICBiOiAwLFxuICAgICAgICAgICAgYzogMCxcbiAgICAgICAgICAgIGQ6IDEsXG4gICAgICAgICAgICBlOiBkeCxcbiAgICAgICAgICAgIGY6IGR5XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBjc3NNYXRyaXggPSBcIm1hdHJpeChcIi5jb25jYXQoZ2hvc3RNYXRyaXguYSwgXCIsXCIpLmNvbmNhdChnaG9zdE1hdHJpeC5iLCBcIixcIikuY29uY2F0KGdob3N0TWF0cml4LmMsIFwiLFwiKS5jb25jYXQoZ2hvc3RNYXRyaXguZCwgXCIsXCIpLmNvbmNhdChnaG9zdE1hdHJpeC5lLCBcIixcIikuY29uY2F0KGdob3N0TWF0cml4LmYsIFwiKVwiKTtcbiAgICAgICAgY3NzKGdob3N0RWwsICd3ZWJraXRUcmFuc2Zvcm0nLCBjc3NNYXRyaXgpO1xuICAgICAgICBjc3MoZ2hvc3RFbCwgJ21velRyYW5zZm9ybScsIGNzc01hdHJpeCk7XG4gICAgICAgIGNzcyhnaG9zdEVsLCAnbXNUcmFuc2Zvcm0nLCBjc3NNYXRyaXgpO1xuICAgICAgICBjc3MoZ2hvc3RFbCwgJ3RyYW5zZm9ybScsIGNzc01hdHJpeCk7XG4gICAgICAgIGxhc3REeCA9IGR4O1xuICAgICAgICBsYXN0RHkgPSBkeTtcbiAgICAgICAgdG91Y2hFdnQgPSB0b3VjaDtcbiAgICAgIH1cblxuICAgICAgZXZ0LmNhbmNlbGFibGUgJiYgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9LFxuICBfYXBwZW5kR2hvc3Q6IGZ1bmN0aW9uIF9hcHBlbmRHaG9zdCgpIHtcbiAgICAvLyBCdWcgaWYgdXNpbmcgc2NhbGUoKTogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjYzNzA1OFxuICAgIC8vIE5vdCBiZWluZyBhZGp1c3RlZCBmb3JcbiAgICBpZiAoIWdob3N0RWwpIHtcbiAgICAgIHZhciBjb250YWluZXIgPSB0aGlzLm9wdGlvbnMuZmFsbGJhY2tPbkJvZHkgPyBkb2N1bWVudC5ib2R5IDogcm9vdEVsLFxuICAgICAgICAgIHJlY3QgPSBnZXRSZWN0KGRyYWdFbCwgdHJ1ZSwgUG9zaXRpb25HaG9zdEFic29sdXRlbHksIHRydWUsIGNvbnRhaW5lciksXG4gICAgICAgICAgb3B0aW9ucyA9IHRoaXMub3B0aW9uczsgLy8gUG9zaXRpb24gYWJzb2x1dGVseVxuXG4gICAgICBpZiAoUG9zaXRpb25HaG9zdEFic29sdXRlbHkpIHtcbiAgICAgICAgLy8gR2V0IHJlbGF0aXZlbHkgcG9zaXRpb25lZCBwYXJlbnRcbiAgICAgICAgZ2hvc3RSZWxhdGl2ZVBhcmVudCA9IGNvbnRhaW5lcjtcblxuICAgICAgICB3aGlsZSAoY3NzKGdob3N0UmVsYXRpdmVQYXJlbnQsICdwb3NpdGlvbicpID09PSAnc3RhdGljJyAmJiBjc3MoZ2hvc3RSZWxhdGl2ZVBhcmVudCwgJ3RyYW5zZm9ybScpID09PSAnbm9uZScgJiYgZ2hvc3RSZWxhdGl2ZVBhcmVudCAhPT0gZG9jdW1lbnQpIHtcbiAgICAgICAgICBnaG9zdFJlbGF0aXZlUGFyZW50ID0gZ2hvc3RSZWxhdGl2ZVBhcmVudC5wYXJlbnROb2RlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGdob3N0UmVsYXRpdmVQYXJlbnQgIT09IGRvY3VtZW50LmJvZHkgJiYgZ2hvc3RSZWxhdGl2ZVBhcmVudCAhPT0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSB7XG4gICAgICAgICAgaWYgKGdob3N0UmVsYXRpdmVQYXJlbnQgPT09IGRvY3VtZW50KSBnaG9zdFJlbGF0aXZlUGFyZW50ID0gZ2V0V2luZG93U2Nyb2xsaW5nRWxlbWVudCgpO1xuICAgICAgICAgIHJlY3QudG9wICs9IGdob3N0UmVsYXRpdmVQYXJlbnQuc2Nyb2xsVG9wO1xuICAgICAgICAgIHJlY3QubGVmdCArPSBnaG9zdFJlbGF0aXZlUGFyZW50LnNjcm9sbExlZnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZ2hvc3RSZWxhdGl2ZVBhcmVudCA9IGdldFdpbmRvd1Njcm9sbGluZ0VsZW1lbnQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGdob3N0UmVsYXRpdmVQYXJlbnRJbml0aWFsU2Nyb2xsID0gZ2V0UmVsYXRpdmVTY3JvbGxPZmZzZXQoZ2hvc3RSZWxhdGl2ZVBhcmVudCk7XG4gICAgICB9XG5cbiAgICAgIGdob3N0RWwgPSBkcmFnRWwuY2xvbmVOb2RlKHRydWUpO1xuICAgICAgdG9nZ2xlQ2xhc3MoZ2hvc3RFbCwgb3B0aW9ucy5naG9zdENsYXNzLCBmYWxzZSk7XG4gICAgICB0b2dnbGVDbGFzcyhnaG9zdEVsLCBvcHRpb25zLmZhbGxiYWNrQ2xhc3MsIHRydWUpO1xuICAgICAgdG9nZ2xlQ2xhc3MoZ2hvc3RFbCwgb3B0aW9ucy5kcmFnQ2xhc3MsIHRydWUpO1xuICAgICAgY3NzKGdob3N0RWwsICd0cmFuc2l0aW9uJywgJycpO1xuICAgICAgY3NzKGdob3N0RWwsICd0cmFuc2Zvcm0nLCAnJyk7XG4gICAgICBjc3MoZ2hvc3RFbCwgJ2JveC1zaXppbmcnLCAnYm9yZGVyLWJveCcpO1xuICAgICAgY3NzKGdob3N0RWwsICdtYXJnaW4nLCAwKTtcbiAgICAgIGNzcyhnaG9zdEVsLCAndG9wJywgcmVjdC50b3ApO1xuICAgICAgY3NzKGdob3N0RWwsICdsZWZ0JywgcmVjdC5sZWZ0KTtcbiAgICAgIGNzcyhnaG9zdEVsLCAnd2lkdGgnLCByZWN0LndpZHRoKTtcbiAgICAgIGNzcyhnaG9zdEVsLCAnaGVpZ2h0JywgcmVjdC5oZWlnaHQpO1xuICAgICAgY3NzKGdob3N0RWwsICdvcGFjaXR5JywgJzAuOCcpO1xuICAgICAgY3NzKGdob3N0RWwsICdwb3NpdGlvbicsIFBvc2l0aW9uR2hvc3RBYnNvbHV0ZWx5ID8gJ2Fic29sdXRlJyA6ICdmaXhlZCcpO1xuICAgICAgY3NzKGdob3N0RWwsICd6SW5kZXgnLCAnMTAwMDAwJyk7XG4gICAgICBjc3MoZ2hvc3RFbCwgJ3BvaW50ZXJFdmVudHMnLCAnbm9uZScpO1xuICAgICAgU29ydGFibGUuZ2hvc3QgPSBnaG9zdEVsO1xuICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGdob3N0RWwpOyAvLyBTZXQgdHJhbnNmb3JtLW9yaWdpblxuXG4gICAgICBjc3MoZ2hvc3RFbCwgJ3RyYW5zZm9ybS1vcmlnaW4nLCB0YXBEaXN0YW5jZUxlZnQgLyBwYXJzZUludChnaG9zdEVsLnN0eWxlLndpZHRoKSAqIDEwMCArICclICcgKyB0YXBEaXN0YW5jZVRvcCAvIHBhcnNlSW50KGdob3N0RWwuc3R5bGUuaGVpZ2h0KSAqIDEwMCArICclJyk7XG4gICAgfVxuICB9LFxuICBfb25EcmFnU3RhcnQ6IGZ1bmN0aW9uIF9vbkRyYWdTdGFydChcbiAgLyoqRXZlbnQqL1xuICBldnQsXG4gIC8qKmJvb2xlYW4qL1xuICBmYWxsYmFjaykge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICB2YXIgZGF0YVRyYW5zZmVyID0gZXZ0LmRhdGFUcmFuc2ZlcjtcbiAgICB2YXIgb3B0aW9ucyA9IF90aGlzLm9wdGlvbnM7XG4gICAgcGx1Z2luRXZlbnQoJ2RyYWdTdGFydCcsIHRoaXMsIHtcbiAgICAgIGV2dDogZXZ0XG4gICAgfSk7XG5cbiAgICBpZiAoU29ydGFibGUuZXZlbnRDYW5jZWxlZCkge1xuICAgICAgdGhpcy5fb25Ecm9wKCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBwbHVnaW5FdmVudCgnc2V0dXBDbG9uZScsIHRoaXMpO1xuXG4gICAgaWYgKCFTb3J0YWJsZS5ldmVudENhbmNlbGVkKSB7XG4gICAgICBjbG9uZUVsID0gY2xvbmUoZHJhZ0VsKTtcbiAgICAgIGNsb25lRWwuZHJhZ2dhYmxlID0gZmFsc2U7XG4gICAgICBjbG9uZUVsLnN0eWxlWyd3aWxsLWNoYW5nZSddID0gJyc7XG5cbiAgICAgIHRoaXMuX2hpZGVDbG9uZSgpO1xuXG4gICAgICB0b2dnbGVDbGFzcyhjbG9uZUVsLCB0aGlzLm9wdGlvbnMuY2hvc2VuQ2xhc3MsIGZhbHNlKTtcbiAgICAgIFNvcnRhYmxlLmNsb25lID0gY2xvbmVFbDtcbiAgICB9IC8vICMxMTQzOiBJRnJhbWUgc3VwcG9ydCB3b3JrYXJvdW5kXG5cblxuICAgIF90aGlzLmNsb25lSWQgPSBfbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgcGx1Z2luRXZlbnQoJ2Nsb25lJywgX3RoaXMpO1xuICAgICAgaWYgKFNvcnRhYmxlLmV2ZW50Q2FuY2VsZWQpIHJldHVybjtcblxuICAgICAgaWYgKCFfdGhpcy5vcHRpb25zLnJlbW92ZUNsb25lT25IaWRlKSB7XG4gICAgICAgIHJvb3RFbC5pbnNlcnRCZWZvcmUoY2xvbmVFbCwgZHJhZ0VsKTtcbiAgICAgIH1cblxuICAgICAgX3RoaXMuX2hpZGVDbG9uZSgpO1xuXG4gICAgICBfZGlzcGF0Y2hFdmVudCh7XG4gICAgICAgIHNvcnRhYmxlOiBfdGhpcyxcbiAgICAgICAgbmFtZTogJ2Nsb25lJ1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgIWZhbGxiYWNrICYmIHRvZ2dsZUNsYXNzKGRyYWdFbCwgb3B0aW9ucy5kcmFnQ2xhc3MsIHRydWUpOyAvLyBTZXQgcHJvcGVyIGRyb3AgZXZlbnRzXG5cbiAgICBpZiAoZmFsbGJhY2spIHtcbiAgICAgIGlnbm9yZU5leHRDbGljayA9IHRydWU7XG4gICAgICBfdGhpcy5fbG9vcElkID0gc2V0SW50ZXJ2YWwoX3RoaXMuX2VtdWxhdGVEcmFnT3ZlciwgNTApO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBVbmRvIHdoYXQgd2FzIHNldCBpbiBfcHJlcGFyZURyYWdTdGFydCBiZWZvcmUgZHJhZyBzdGFydGVkXG4gICAgICBvZmYoZG9jdW1lbnQsICdtb3VzZXVwJywgX3RoaXMuX29uRHJvcCk7XG4gICAgICBvZmYoZG9jdW1lbnQsICd0b3VjaGVuZCcsIF90aGlzLl9vbkRyb3ApO1xuICAgICAgb2ZmKGRvY3VtZW50LCAndG91Y2hjYW5jZWwnLCBfdGhpcy5fb25Ecm9wKTtcblxuICAgICAgaWYgKGRhdGFUcmFuc2Zlcikge1xuICAgICAgICBkYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCA9ICdtb3ZlJztcbiAgICAgICAgb3B0aW9ucy5zZXREYXRhICYmIG9wdGlvbnMuc2V0RGF0YS5jYWxsKF90aGlzLCBkYXRhVHJhbnNmZXIsIGRyYWdFbCk7XG4gICAgICB9XG5cbiAgICAgIG9uKGRvY3VtZW50LCAnZHJvcCcsIF90aGlzKTsgLy8gIzEyNzYgZml4OlxuXG4gICAgICBjc3MoZHJhZ0VsLCAndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZVooMCknKTtcbiAgICB9XG5cbiAgICBhd2FpdGluZ0RyYWdTdGFydGVkID0gdHJ1ZTtcbiAgICBfdGhpcy5fZHJhZ1N0YXJ0SWQgPSBfbmV4dFRpY2soX3RoaXMuX2RyYWdTdGFydGVkLmJpbmQoX3RoaXMsIGZhbGxiYWNrLCBldnQpKTtcbiAgICBvbihkb2N1bWVudCwgJ3NlbGVjdHN0YXJ0JywgX3RoaXMpO1xuICAgIG1vdmVkID0gdHJ1ZTtcblxuICAgIGlmIChTYWZhcmkpIHtcbiAgICAgIGNzcyhkb2N1bWVudC5ib2R5LCAndXNlci1zZWxlY3QnLCAnbm9uZScpO1xuICAgIH1cbiAgfSxcbiAgLy8gUmV0dXJucyB0cnVlIC0gaWYgbm8gZnVydGhlciBhY3Rpb24gaXMgbmVlZGVkIChlaXRoZXIgaW5zZXJ0ZWQgb3IgYW5vdGhlciBjb25kaXRpb24pXG4gIF9vbkRyYWdPdmVyOiBmdW5jdGlvbiBfb25EcmFnT3ZlcihcbiAgLyoqRXZlbnQqL1xuICBldnQpIHtcbiAgICB2YXIgZWwgPSB0aGlzLmVsLFxuICAgICAgICB0YXJnZXQgPSBldnQudGFyZ2V0LFxuICAgICAgICBkcmFnUmVjdCxcbiAgICAgICAgdGFyZ2V0UmVjdCxcbiAgICAgICAgcmV2ZXJ0LFxuICAgICAgICBvcHRpb25zID0gdGhpcy5vcHRpb25zLFxuICAgICAgICBncm91cCA9IG9wdGlvbnMuZ3JvdXAsXG4gICAgICAgIGFjdGl2ZVNvcnRhYmxlID0gU29ydGFibGUuYWN0aXZlLFxuICAgICAgICBpc093bmVyID0gYWN0aXZlR3JvdXAgPT09IGdyb3VwLFxuICAgICAgICBjYW5Tb3J0ID0gb3B0aW9ucy5zb3J0LFxuICAgICAgICBmcm9tU29ydGFibGUgPSBwdXRTb3J0YWJsZSB8fCBhY3RpdmVTb3J0YWJsZSxcbiAgICAgICAgdmVydGljYWwsXG4gICAgICAgIF90aGlzID0gdGhpcyxcbiAgICAgICAgY29tcGxldGVkRmlyZWQgPSBmYWxzZTtcblxuICAgIGlmIChfc2lsZW50KSByZXR1cm47XG5cbiAgICBmdW5jdGlvbiBkcmFnT3ZlckV2ZW50KG5hbWUsIGV4dHJhKSB7XG4gICAgICBwbHVnaW5FdmVudChuYW1lLCBfdGhpcywgX29iamVjdFNwcmVhZCh7XG4gICAgICAgIGV2dDogZXZ0LFxuICAgICAgICBpc093bmVyOiBpc093bmVyLFxuICAgICAgICBheGlzOiB2ZXJ0aWNhbCA/ICd2ZXJ0aWNhbCcgOiAnaG9yaXpvbnRhbCcsXG4gICAgICAgIHJldmVydDogcmV2ZXJ0LFxuICAgICAgICBkcmFnUmVjdDogZHJhZ1JlY3QsXG4gICAgICAgIHRhcmdldFJlY3Q6IHRhcmdldFJlY3QsXG4gICAgICAgIGNhblNvcnQ6IGNhblNvcnQsXG4gICAgICAgIGZyb21Tb3J0YWJsZTogZnJvbVNvcnRhYmxlLFxuICAgICAgICB0YXJnZXQ6IHRhcmdldCxcbiAgICAgICAgY29tcGxldGVkOiBjb21wbGV0ZWQsXG4gICAgICAgIG9uTW92ZTogZnVuY3Rpb24gb25Nb3ZlKHRhcmdldCwgYWZ0ZXIpIHtcbiAgICAgICAgICByZXR1cm4gX29uTW92ZShyb290RWwsIGVsLCBkcmFnRWwsIGRyYWdSZWN0LCB0YXJnZXQsIGdldFJlY3QodGFyZ2V0KSwgZXZ0LCBhZnRlcik7XG4gICAgICAgIH0sXG4gICAgICAgIGNoYW5nZWQ6IGNoYW5nZWRcbiAgICAgIH0sIGV4dHJhKSk7XG4gICAgfSAvLyBDYXB0dXJlIGFuaW1hdGlvbiBzdGF0ZVxuXG5cbiAgICBmdW5jdGlvbiBjYXB0dXJlKCkge1xuICAgICAgZHJhZ092ZXJFdmVudCgnZHJhZ092ZXJBbmltYXRpb25DYXB0dXJlJyk7XG5cbiAgICAgIF90aGlzLmNhcHR1cmVBbmltYXRpb25TdGF0ZSgpO1xuXG4gICAgICBpZiAoX3RoaXMgIT09IGZyb21Tb3J0YWJsZSkge1xuICAgICAgICBmcm9tU29ydGFibGUuY2FwdHVyZUFuaW1hdGlvblN0YXRlKCk7XG4gICAgICB9XG4gICAgfSAvLyBSZXR1cm4gaW52b2NhdGlvbiB3aGVuIGRyYWdFbCBpcyBpbnNlcnRlZCAob3IgY29tcGxldGVkKVxuXG5cbiAgICBmdW5jdGlvbiBjb21wbGV0ZWQoaW5zZXJ0aW9uKSB7XG4gICAgICBkcmFnT3ZlckV2ZW50KCdkcmFnT3ZlckNvbXBsZXRlZCcsIHtcbiAgICAgICAgaW5zZXJ0aW9uOiBpbnNlcnRpb25cbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaW5zZXJ0aW9uKSB7XG4gICAgICAgIC8vIENsb25lcyBtdXN0IGJlIGhpZGRlbiBiZWZvcmUgZm9sZGluZyBhbmltYXRpb24gdG8gY2FwdHVyZSBkcmFnUmVjdEFic29sdXRlIHByb3Blcmx5XG4gICAgICAgIGlmIChpc093bmVyKSB7XG4gICAgICAgICAgYWN0aXZlU29ydGFibGUuX2hpZGVDbG9uZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFjdGl2ZVNvcnRhYmxlLl9zaG93Q2xvbmUoX3RoaXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKF90aGlzICE9PSBmcm9tU29ydGFibGUpIHtcbiAgICAgICAgICAvLyBTZXQgZ2hvc3QgY2xhc3MgdG8gbmV3IHNvcnRhYmxlJ3MgZ2hvc3QgY2xhc3NcbiAgICAgICAgICB0b2dnbGVDbGFzcyhkcmFnRWwsIHB1dFNvcnRhYmxlID8gcHV0U29ydGFibGUub3B0aW9ucy5naG9zdENsYXNzIDogYWN0aXZlU29ydGFibGUub3B0aW9ucy5naG9zdENsYXNzLCBmYWxzZSk7XG4gICAgICAgICAgdG9nZ2xlQ2xhc3MoZHJhZ0VsLCBvcHRpb25zLmdob3N0Q2xhc3MsIHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHB1dFNvcnRhYmxlICE9PSBfdGhpcyAmJiBfdGhpcyAhPT0gU29ydGFibGUuYWN0aXZlKSB7XG4gICAgICAgICAgcHV0U29ydGFibGUgPSBfdGhpcztcbiAgICAgICAgfSBlbHNlIGlmIChfdGhpcyA9PT0gU29ydGFibGUuYWN0aXZlICYmIHB1dFNvcnRhYmxlKSB7XG4gICAgICAgICAgcHV0U29ydGFibGUgPSBudWxsO1xuICAgICAgICB9IC8vIEFuaW1hdGlvblxuXG5cbiAgICAgICAgaWYgKGZyb21Tb3J0YWJsZSA9PT0gX3RoaXMpIHtcbiAgICAgICAgICBfdGhpcy5faWdub3JlV2hpbGVBbmltYXRpbmcgPSB0YXJnZXQ7XG4gICAgICAgIH1cblxuICAgICAgICBfdGhpcy5hbmltYXRlQWxsKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBkcmFnT3ZlckV2ZW50KCdkcmFnT3ZlckFuaW1hdGlvbkNvbXBsZXRlJyk7XG4gICAgICAgICAgX3RoaXMuX2lnbm9yZVdoaWxlQW5pbWF0aW5nID0gbnVsbDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKF90aGlzICE9PSBmcm9tU29ydGFibGUpIHtcbiAgICAgICAgICBmcm9tU29ydGFibGUuYW5pbWF0ZUFsbCgpO1xuICAgICAgICAgIGZyb21Tb3J0YWJsZS5faWdub3JlV2hpbGVBbmltYXRpbmcgPSBudWxsO1xuICAgICAgICB9XG4gICAgICB9IC8vIE51bGwgbGFzdFRhcmdldCBpZiBpdCBpcyBub3QgaW5zaWRlIGEgcHJldmlvdXNseSBzd2FwcGVkIGVsZW1lbnRcblxuXG4gICAgICBpZiAodGFyZ2V0ID09PSBkcmFnRWwgJiYgIWRyYWdFbC5hbmltYXRlZCB8fCB0YXJnZXQgPT09IGVsICYmICF0YXJnZXQuYW5pbWF0ZWQpIHtcbiAgICAgICAgbGFzdFRhcmdldCA9IG51bGw7XG4gICAgICB9IC8vIG5vIGJ1YmJsaW5nIGFuZCBub3QgZmFsbGJhY2tcblxuXG4gICAgICBpZiAoIW9wdGlvbnMuZHJhZ292ZXJCdWJibGUgJiYgIWV2dC5yb290RWwgJiYgdGFyZ2V0ICE9PSBkb2N1bWVudCkge1xuICAgICAgICBkcmFnRWwucGFyZW50Tm9kZVtleHBhbmRvXS5faXNPdXRzaWRlVGhpc0VsKGV2dC50YXJnZXQpOyAvLyBEbyBub3QgZGV0ZWN0IGZvciBlbXB0eSBpbnNlcnQgaWYgYWxyZWFkeSBpbnNlcnRlZFxuXG5cbiAgICAgICAgIWluc2VydGlvbiAmJiBuZWFyZXN0RW1wdHlJbnNlcnREZXRlY3RFdmVudChldnQpO1xuICAgICAgfVxuXG4gICAgICAhb3B0aW9ucy5kcmFnb3ZlckJ1YmJsZSAmJiBldnQuc3RvcFByb3BhZ2F0aW9uICYmIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybiBjb21wbGV0ZWRGaXJlZCA9IHRydWU7XG4gICAgfSAvLyBDYWxsIHdoZW4gZHJhZ0VsIGhhcyBiZWVuIGluc2VydGVkXG5cblxuICAgIGZ1bmN0aW9uIGNoYW5nZWQoKSB7XG4gICAgICBuZXdJbmRleCA9IGluZGV4KGRyYWdFbCk7XG4gICAgICBuZXdEcmFnZ2FibGVJbmRleCA9IGluZGV4KGRyYWdFbCwgb3B0aW9ucy5kcmFnZ2FibGUpO1xuXG4gICAgICBfZGlzcGF0Y2hFdmVudCh7XG4gICAgICAgIHNvcnRhYmxlOiBfdGhpcyxcbiAgICAgICAgbmFtZTogJ2NoYW5nZScsXG4gICAgICAgIHRvRWw6IGVsLFxuICAgICAgICBuZXdJbmRleDogbmV3SW5kZXgsXG4gICAgICAgIG5ld0RyYWdnYWJsZUluZGV4OiBuZXdEcmFnZ2FibGVJbmRleCxcbiAgICAgICAgb3JpZ2luYWxFdmVudDogZXZ0XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoZXZ0LnByZXZlbnREZWZhdWx0ICE9PSB2b2lkIDApIHtcbiAgICAgIGV2dC5jYW5jZWxhYmxlICYmIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIHRhcmdldCA9IGNsb3Nlc3QodGFyZ2V0LCBvcHRpb25zLmRyYWdnYWJsZSwgZWwsIHRydWUpO1xuICAgIGRyYWdPdmVyRXZlbnQoJ2RyYWdPdmVyJyk7XG4gICAgaWYgKFNvcnRhYmxlLmV2ZW50Q2FuY2VsZWQpIHJldHVybiBjb21wbGV0ZWRGaXJlZDtcblxuICAgIGlmIChkcmFnRWwuY29udGFpbnMoZXZ0LnRhcmdldCkgfHwgdGFyZ2V0LmFuaW1hdGVkICYmIHRhcmdldC5hbmltYXRpbmdYICYmIHRhcmdldC5hbmltYXRpbmdZIHx8IF90aGlzLl9pZ25vcmVXaGlsZUFuaW1hdGluZyA9PT0gdGFyZ2V0KSB7XG4gICAgICByZXR1cm4gY29tcGxldGVkKGZhbHNlKTtcbiAgICB9XG5cbiAgICBpZ25vcmVOZXh0Q2xpY2sgPSBmYWxzZTtcblxuICAgIGlmIChhY3RpdmVTb3J0YWJsZSAmJiAhb3B0aW9ucy5kaXNhYmxlZCAmJiAoaXNPd25lciA/IGNhblNvcnQgfHwgKHJldmVydCA9ICFyb290RWwuY29udGFpbnMoZHJhZ0VsKSkgLy8gUmV2ZXJ0aW5nIGl0ZW0gaW50byB0aGUgb3JpZ2luYWwgbGlzdFxuICAgIDogcHV0U29ydGFibGUgPT09IHRoaXMgfHwgKHRoaXMubGFzdFB1dE1vZGUgPSBhY3RpdmVHcm91cC5jaGVja1B1bGwodGhpcywgYWN0aXZlU29ydGFibGUsIGRyYWdFbCwgZXZ0KSkgJiYgZ3JvdXAuY2hlY2tQdXQodGhpcywgYWN0aXZlU29ydGFibGUsIGRyYWdFbCwgZXZ0KSkpIHtcbiAgICAgIHZlcnRpY2FsID0gdGhpcy5fZ2V0RGlyZWN0aW9uKGV2dCwgdGFyZ2V0KSA9PT0gJ3ZlcnRpY2FsJztcbiAgICAgIGRyYWdSZWN0ID0gZ2V0UmVjdChkcmFnRWwpO1xuICAgICAgZHJhZ092ZXJFdmVudCgnZHJhZ092ZXJWYWxpZCcpO1xuICAgICAgaWYgKFNvcnRhYmxlLmV2ZW50Q2FuY2VsZWQpIHJldHVybiBjb21wbGV0ZWRGaXJlZDtcblxuICAgICAgaWYgKHJldmVydCkge1xuICAgICAgICBwYXJlbnRFbCA9IHJvb3RFbDsgLy8gYWN0dWFsaXphdGlvblxuXG4gICAgICAgIGNhcHR1cmUoKTtcblxuICAgICAgICB0aGlzLl9oaWRlQ2xvbmUoKTtcblxuICAgICAgICBkcmFnT3ZlckV2ZW50KCdyZXZlcnQnKTtcblxuICAgICAgICBpZiAoIVNvcnRhYmxlLmV2ZW50Q2FuY2VsZWQpIHtcbiAgICAgICAgICBpZiAobmV4dEVsKSB7XG4gICAgICAgICAgICByb290RWwuaW5zZXJ0QmVmb3JlKGRyYWdFbCwgbmV4dEVsKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcm9vdEVsLmFwcGVuZENoaWxkKGRyYWdFbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbXBsZXRlZCh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGVsTGFzdENoaWxkID0gbGFzdENoaWxkKGVsLCBvcHRpb25zLmRyYWdnYWJsZSk7XG5cbiAgICAgIGlmICghZWxMYXN0Q2hpbGQgfHwgX2dob3N0SXNMYXN0KGV2dCwgdmVydGljYWwsIHRoaXMpICYmICFlbExhc3RDaGlsZC5hbmltYXRlZCkge1xuICAgICAgICAvLyBJZiBhbHJlYWR5IGF0IGVuZCBvZiBsaXN0OiBEbyBub3QgaW5zZXJ0XG4gICAgICAgIGlmIChlbExhc3RDaGlsZCA9PT0gZHJhZ0VsKSB7XG4gICAgICAgICAgcmV0dXJuIGNvbXBsZXRlZChmYWxzZSk7XG4gICAgICAgIH0gLy8gYXNzaWduIHRhcmdldCBvbmx5IGlmIGNvbmRpdGlvbiBpcyB0cnVlXG5cblxuICAgICAgICBpZiAoZWxMYXN0Q2hpbGQgJiYgZWwgPT09IGV2dC50YXJnZXQpIHtcbiAgICAgICAgICB0YXJnZXQgPSBlbExhc3RDaGlsZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0YXJnZXQpIHtcbiAgICAgICAgICB0YXJnZXRSZWN0ID0gZ2V0UmVjdCh0YXJnZXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKF9vbk1vdmUocm9vdEVsLCBlbCwgZHJhZ0VsLCBkcmFnUmVjdCwgdGFyZ2V0LCB0YXJnZXRSZWN0LCBldnQsICEhdGFyZ2V0KSAhPT0gZmFsc2UpIHtcbiAgICAgICAgICBjYXB0dXJlKCk7XG4gICAgICAgICAgZWwuYXBwZW5kQ2hpbGQoZHJhZ0VsKTtcbiAgICAgICAgICBwYXJlbnRFbCA9IGVsOyAvLyBhY3R1YWxpemF0aW9uXG5cbiAgICAgICAgICBjaGFuZ2VkKCk7XG4gICAgICAgICAgcmV0dXJuIGNvbXBsZXRlZCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0YXJnZXQucGFyZW50Tm9kZSA9PT0gZWwpIHtcbiAgICAgICAgdGFyZ2V0UmVjdCA9IGdldFJlY3QodGFyZ2V0KTtcbiAgICAgICAgdmFyIGRpcmVjdGlvbiA9IDAsXG4gICAgICAgICAgICB0YXJnZXRCZWZvcmVGaXJzdFN3YXAsXG4gICAgICAgICAgICBkaWZmZXJlbnRMZXZlbCA9IGRyYWdFbC5wYXJlbnROb2RlICE9PSBlbCxcbiAgICAgICAgICAgIGRpZmZlcmVudFJvd0NvbCA9ICFfZHJhZ0VsSW5Sb3dDb2x1bW4oZHJhZ0VsLmFuaW1hdGVkICYmIGRyYWdFbC50b1JlY3QgfHwgZHJhZ1JlY3QsIHRhcmdldC5hbmltYXRlZCAmJiB0YXJnZXQudG9SZWN0IHx8IHRhcmdldFJlY3QsIHZlcnRpY2FsKSxcbiAgICAgICAgICAgIHNpZGUxID0gdmVydGljYWwgPyAndG9wJyA6ICdsZWZ0JyxcbiAgICAgICAgICAgIHNjcm9sbGVkUGFzdFRvcCA9IGlzU2Nyb2xsZWRQYXN0KHRhcmdldCwgJ3RvcCcsICd0b3AnKSB8fCBpc1Njcm9sbGVkUGFzdChkcmFnRWwsICd0b3AnLCAndG9wJyksXG4gICAgICAgICAgICBzY3JvbGxCZWZvcmUgPSBzY3JvbGxlZFBhc3RUb3AgPyBzY3JvbGxlZFBhc3RUb3Auc2Nyb2xsVG9wIDogdm9pZCAwO1xuXG4gICAgICAgIGlmIChsYXN0VGFyZ2V0ICE9PSB0YXJnZXQpIHtcbiAgICAgICAgICB0YXJnZXRCZWZvcmVGaXJzdFN3YXAgPSB0YXJnZXRSZWN0W3NpZGUxXTtcbiAgICAgICAgICBwYXN0Rmlyc3RJbnZlcnRUaHJlc2ggPSBmYWxzZTtcbiAgICAgICAgICBpc0NpcmN1bXN0YW50aWFsSW52ZXJ0ID0gIWRpZmZlcmVudFJvd0NvbCAmJiBvcHRpb25zLmludmVydFN3YXAgfHwgZGlmZmVyZW50TGV2ZWw7XG4gICAgICAgIH1cblxuICAgICAgICBkaXJlY3Rpb24gPSBfZ2V0U3dhcERpcmVjdGlvbihldnQsIHRhcmdldCwgdGFyZ2V0UmVjdCwgdmVydGljYWwsIGRpZmZlcmVudFJvd0NvbCA/IDEgOiBvcHRpb25zLnN3YXBUaHJlc2hvbGQsIG9wdGlvbnMuaW52ZXJ0ZWRTd2FwVGhyZXNob2xkID09IG51bGwgPyBvcHRpb25zLnN3YXBUaHJlc2hvbGQgOiBvcHRpb25zLmludmVydGVkU3dhcFRocmVzaG9sZCwgaXNDaXJjdW1zdGFudGlhbEludmVydCwgbGFzdFRhcmdldCA9PT0gdGFyZ2V0KTtcbiAgICAgICAgdmFyIHNpYmxpbmc7XG5cbiAgICAgICAgaWYgKGRpcmVjdGlvbiAhPT0gMCkge1xuICAgICAgICAgIC8vIENoZWNrIGlmIHRhcmdldCBpcyBiZXNpZGUgZHJhZ0VsIGluIHJlc3BlY3RpdmUgZGlyZWN0aW9uIChpZ25vcmluZyBoaWRkZW4gZWxlbWVudHMpXG4gICAgICAgICAgdmFyIGRyYWdJbmRleCA9IGluZGV4KGRyYWdFbCk7XG5cbiAgICAgICAgICBkbyB7XG4gICAgICAgICAgICBkcmFnSW5kZXggLT0gZGlyZWN0aW9uO1xuICAgICAgICAgICAgc2libGluZyA9IHBhcmVudEVsLmNoaWxkcmVuW2RyYWdJbmRleF07XG4gICAgICAgICAgfSB3aGlsZSAoc2libGluZyAmJiAoY3NzKHNpYmxpbmcsICdkaXNwbGF5JykgPT09ICdub25lJyB8fCBzaWJsaW5nID09PSBnaG9zdEVsKSk7XG4gICAgICAgIH0gLy8gSWYgZHJhZ0VsIGlzIGFscmVhZHkgYmVzaWRlIHRhcmdldDogRG8gbm90IGluc2VydFxuXG5cbiAgICAgICAgaWYgKGRpcmVjdGlvbiA9PT0gMCB8fCBzaWJsaW5nID09PSB0YXJnZXQpIHtcbiAgICAgICAgICByZXR1cm4gY29tcGxldGVkKGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhc3RUYXJnZXQgPSB0YXJnZXQ7XG4gICAgICAgIGxhc3REaXJlY3Rpb24gPSBkaXJlY3Rpb247XG4gICAgICAgIHZhciBuZXh0U2libGluZyA9IHRhcmdldC5uZXh0RWxlbWVudFNpYmxpbmcsXG4gICAgICAgICAgICBhZnRlciA9IGZhbHNlO1xuICAgICAgICBhZnRlciA9IGRpcmVjdGlvbiA9PT0gMTtcblxuICAgICAgICB2YXIgbW92ZVZlY3RvciA9IF9vbk1vdmUocm9vdEVsLCBlbCwgZHJhZ0VsLCBkcmFnUmVjdCwgdGFyZ2V0LCB0YXJnZXRSZWN0LCBldnQsIGFmdGVyKTtcblxuICAgICAgICBpZiAobW92ZVZlY3RvciAhPT0gZmFsc2UpIHtcbiAgICAgICAgICBpZiAobW92ZVZlY3RvciA9PT0gMSB8fCBtb3ZlVmVjdG9yID09PSAtMSkge1xuICAgICAgICAgICAgYWZ0ZXIgPSBtb3ZlVmVjdG9yID09PSAxO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIF9zaWxlbnQgPSB0cnVlO1xuICAgICAgICAgIHNldFRpbWVvdXQoX3Vuc2lsZW50LCAzMCk7XG4gICAgICAgICAgY2FwdHVyZSgpO1xuXG4gICAgICAgICAgaWYgKGFmdGVyICYmICFuZXh0U2libGluZykge1xuICAgICAgICAgICAgZWwuYXBwZW5kQ2hpbGQoZHJhZ0VsKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGFyZ2V0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGRyYWdFbCwgYWZ0ZXIgPyBuZXh0U2libGluZyA6IHRhcmdldCk7XG4gICAgICAgICAgfSAvLyBVbmRvIGNocm9tZSdzIHNjcm9sbCBhZGp1c3RtZW50IChoYXMgbm8gZWZmZWN0IG9uIG90aGVyIGJyb3dzZXJzKVxuXG5cbiAgICAgICAgICBpZiAoc2Nyb2xsZWRQYXN0VG9wKSB7XG4gICAgICAgICAgICBzY3JvbGxCeShzY3JvbGxlZFBhc3RUb3AsIDAsIHNjcm9sbEJlZm9yZSAtIHNjcm9sbGVkUGFzdFRvcC5zY3JvbGxUb3ApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHBhcmVudEVsID0gZHJhZ0VsLnBhcmVudE5vZGU7IC8vIGFjdHVhbGl6YXRpb25cbiAgICAgICAgICAvLyBtdXN0IGJlIGRvbmUgYmVmb3JlIGFuaW1hdGlvblxuXG4gICAgICAgICAgaWYgKHRhcmdldEJlZm9yZUZpcnN0U3dhcCAhPT0gdW5kZWZpbmVkICYmICFpc0NpcmN1bXN0YW50aWFsSW52ZXJ0KSB7XG4gICAgICAgICAgICB0YXJnZXRNb3ZlRGlzdGFuY2UgPSBNYXRoLmFicyh0YXJnZXRCZWZvcmVGaXJzdFN3YXAgLSBnZXRSZWN0KHRhcmdldClbc2lkZTFdKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjaGFuZ2VkKCk7XG4gICAgICAgICAgcmV0dXJuIGNvbXBsZXRlZCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZWwuY29udGFpbnMoZHJhZ0VsKSkge1xuICAgICAgICByZXR1cm4gY29tcGxldGVkKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH0sXG4gIF9pZ25vcmVXaGlsZUFuaW1hdGluZzogbnVsbCxcbiAgX29mZk1vdmVFdmVudHM6IGZ1bmN0aW9uIF9vZmZNb3ZlRXZlbnRzKCkge1xuICAgIG9mZihkb2N1bWVudCwgJ21vdXNlbW92ZScsIHRoaXMuX29uVG91Y2hNb3ZlKTtcbiAgICBvZmYoZG9jdW1lbnQsICd0b3VjaG1vdmUnLCB0aGlzLl9vblRvdWNoTW92ZSk7XG4gICAgb2ZmKGRvY3VtZW50LCAncG9pbnRlcm1vdmUnLCB0aGlzLl9vblRvdWNoTW92ZSk7XG4gICAgb2ZmKGRvY3VtZW50LCAnZHJhZ292ZXInLCBuZWFyZXN0RW1wdHlJbnNlcnREZXRlY3RFdmVudCk7XG4gICAgb2ZmKGRvY3VtZW50LCAnbW91c2Vtb3ZlJywgbmVhcmVzdEVtcHR5SW5zZXJ0RGV0ZWN0RXZlbnQpO1xuICAgIG9mZihkb2N1bWVudCwgJ3RvdWNobW92ZScsIG5lYXJlc3RFbXB0eUluc2VydERldGVjdEV2ZW50KTtcbiAgfSxcbiAgX29mZlVwRXZlbnRzOiBmdW5jdGlvbiBfb2ZmVXBFdmVudHMoKSB7XG4gICAgdmFyIG93bmVyRG9jdW1lbnQgPSB0aGlzLmVsLm93bmVyRG9jdW1lbnQ7XG4gICAgb2ZmKG93bmVyRG9jdW1lbnQsICdtb3VzZXVwJywgdGhpcy5fb25Ecm9wKTtcbiAgICBvZmYob3duZXJEb2N1bWVudCwgJ3RvdWNoZW5kJywgdGhpcy5fb25Ecm9wKTtcbiAgICBvZmYob3duZXJEb2N1bWVudCwgJ3BvaW50ZXJ1cCcsIHRoaXMuX29uRHJvcCk7XG4gICAgb2ZmKG93bmVyRG9jdW1lbnQsICd0b3VjaGNhbmNlbCcsIHRoaXMuX29uRHJvcCk7XG4gICAgb2ZmKGRvY3VtZW50LCAnc2VsZWN0c3RhcnQnLCB0aGlzKTtcbiAgfSxcbiAgX29uRHJvcDogZnVuY3Rpb24gX29uRHJvcChcbiAgLyoqRXZlbnQqL1xuICBldnQpIHtcbiAgICB2YXIgZWwgPSB0aGlzLmVsLFxuICAgICAgICBvcHRpb25zID0gdGhpcy5vcHRpb25zOyAvLyBHZXQgdGhlIGluZGV4IG9mIHRoZSBkcmFnZ2VkIGVsZW1lbnQgd2l0aGluIGl0cyBwYXJlbnRcblxuICAgIG5ld0luZGV4ID0gaW5kZXgoZHJhZ0VsKTtcbiAgICBuZXdEcmFnZ2FibGVJbmRleCA9IGluZGV4KGRyYWdFbCwgb3B0aW9ucy5kcmFnZ2FibGUpO1xuICAgIHBsdWdpbkV2ZW50KCdkcm9wJywgdGhpcywge1xuICAgICAgZXZ0OiBldnRcbiAgICB9KTtcbiAgICBwYXJlbnRFbCA9IGRyYWdFbCAmJiBkcmFnRWwucGFyZW50Tm9kZTsgLy8gR2V0IGFnYWluIGFmdGVyIHBsdWdpbiBldmVudFxuXG4gICAgbmV3SW5kZXggPSBpbmRleChkcmFnRWwpO1xuICAgIG5ld0RyYWdnYWJsZUluZGV4ID0gaW5kZXgoZHJhZ0VsLCBvcHRpb25zLmRyYWdnYWJsZSk7XG5cbiAgICBpZiAoU29ydGFibGUuZXZlbnRDYW5jZWxlZCkge1xuICAgICAgdGhpcy5fbnVsbGluZygpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYXdhaXRpbmdEcmFnU3RhcnRlZCA9IGZhbHNlO1xuICAgIGlzQ2lyY3Vtc3RhbnRpYWxJbnZlcnQgPSBmYWxzZTtcbiAgICBwYXN0Rmlyc3RJbnZlcnRUaHJlc2ggPSBmYWxzZTtcbiAgICBjbGVhckludGVydmFsKHRoaXMuX2xvb3BJZCk7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX2RyYWdTdGFydFRpbWVyKTtcblxuICAgIF9jYW5jZWxOZXh0VGljayh0aGlzLmNsb25lSWQpO1xuXG4gICAgX2NhbmNlbE5leHRUaWNrKHRoaXMuX2RyYWdTdGFydElkKTsgLy8gVW5iaW5kIGV2ZW50c1xuXG5cbiAgICBpZiAodGhpcy5uYXRpdmVEcmFnZ2FibGUpIHtcbiAgICAgIG9mZihkb2N1bWVudCwgJ2Ryb3AnLCB0aGlzKTtcbiAgICAgIG9mZihlbCwgJ2RyYWdzdGFydCcsIHRoaXMuX29uRHJhZ1N0YXJ0KTtcbiAgICB9XG5cbiAgICB0aGlzLl9vZmZNb3ZlRXZlbnRzKCk7XG5cbiAgICB0aGlzLl9vZmZVcEV2ZW50cygpO1xuXG4gICAgaWYgKFNhZmFyaSkge1xuICAgICAgY3NzKGRvY3VtZW50LmJvZHksICd1c2VyLXNlbGVjdCcsICcnKTtcbiAgICB9XG5cbiAgICBpZiAoZXZ0KSB7XG4gICAgICBpZiAobW92ZWQpIHtcbiAgICAgICAgZXZ0LmNhbmNlbGFibGUgJiYgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICFvcHRpb25zLmRyb3BCdWJibGUgJiYgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfVxuXG4gICAgICBnaG9zdEVsICYmIGdob3N0RWwucGFyZW50Tm9kZSAmJiBnaG9zdEVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZ2hvc3RFbCk7XG5cbiAgICAgIGlmIChyb290RWwgPT09IHBhcmVudEVsIHx8IHB1dFNvcnRhYmxlICYmIHB1dFNvcnRhYmxlLmxhc3RQdXRNb2RlICE9PSAnY2xvbmUnKSB7XG4gICAgICAgIC8vIFJlbW92ZSBjbG9uZShzKVxuICAgICAgICBjbG9uZUVsICYmIGNsb25lRWwucGFyZW50Tm9kZSAmJiBjbG9uZUVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoY2xvbmVFbCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChkcmFnRWwpIHtcbiAgICAgICAgaWYgKHRoaXMubmF0aXZlRHJhZ2dhYmxlKSB7XG4gICAgICAgICAgb2ZmKGRyYWdFbCwgJ2RyYWdlbmQnLCB0aGlzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIF9kaXNhYmxlRHJhZ2dhYmxlKGRyYWdFbCk7XG5cbiAgICAgICAgZHJhZ0VsLnN0eWxlWyd3aWxsLWNoYW5nZSddID0gJyc7IC8vIFJlbW92ZSBjbGFzc2VzXG4gICAgICAgIC8vIGdob3N0Q2xhc3MgaXMgYWRkZWQgaW4gZHJhZ1N0YXJ0ZWRcblxuICAgICAgICBpZiAobW92ZWQgJiYgIWF3YWl0aW5nRHJhZ1N0YXJ0ZWQpIHtcbiAgICAgICAgICB0b2dnbGVDbGFzcyhkcmFnRWwsIHB1dFNvcnRhYmxlID8gcHV0U29ydGFibGUub3B0aW9ucy5naG9zdENsYXNzIDogdGhpcy5vcHRpb25zLmdob3N0Q2xhc3MsIGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRvZ2dsZUNsYXNzKGRyYWdFbCwgdGhpcy5vcHRpb25zLmNob3NlbkNsYXNzLCBmYWxzZSk7IC8vIERyYWcgc3RvcCBldmVudFxuXG4gICAgICAgIF9kaXNwYXRjaEV2ZW50KHtcbiAgICAgICAgICBzb3J0YWJsZTogdGhpcyxcbiAgICAgICAgICBuYW1lOiAndW5jaG9vc2UnLFxuICAgICAgICAgIHRvRWw6IHBhcmVudEVsLFxuICAgICAgICAgIG5ld0luZGV4OiBudWxsLFxuICAgICAgICAgIG5ld0RyYWdnYWJsZUluZGV4OiBudWxsLFxuICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IGV2dFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAocm9vdEVsICE9PSBwYXJlbnRFbCkge1xuICAgICAgICAgIGlmIChuZXdJbmRleCA+PSAwKSB7XG4gICAgICAgICAgICAvLyBBZGQgZXZlbnRcbiAgICAgICAgICAgIF9kaXNwYXRjaEV2ZW50KHtcbiAgICAgICAgICAgICAgcm9vdEVsOiBwYXJlbnRFbCxcbiAgICAgICAgICAgICAgbmFtZTogJ2FkZCcsXG4gICAgICAgICAgICAgIHRvRWw6IHBhcmVudEVsLFxuICAgICAgICAgICAgICBmcm9tRWw6IHJvb3RFbCxcbiAgICAgICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZ0XG4gICAgICAgICAgICB9KTsgLy8gUmVtb3ZlIGV2ZW50XG5cblxuICAgICAgICAgICAgX2Rpc3BhdGNoRXZlbnQoe1xuICAgICAgICAgICAgICBzb3J0YWJsZTogdGhpcyxcbiAgICAgICAgICAgICAgbmFtZTogJ3JlbW92ZScsXG4gICAgICAgICAgICAgIHRvRWw6IHBhcmVudEVsLFxuICAgICAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBldnRcbiAgICAgICAgICAgIH0pOyAvLyBkcmFnIGZyb20gb25lIGxpc3QgYW5kIGRyb3AgaW50byBhbm90aGVyXG5cblxuICAgICAgICAgICAgX2Rpc3BhdGNoRXZlbnQoe1xuICAgICAgICAgICAgICByb290RWw6IHBhcmVudEVsLFxuICAgICAgICAgICAgICBuYW1lOiAnc29ydCcsXG4gICAgICAgICAgICAgIHRvRWw6IHBhcmVudEVsLFxuICAgICAgICAgICAgICBmcm9tRWw6IHJvb3RFbCxcbiAgICAgICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZ0XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgX2Rpc3BhdGNoRXZlbnQoe1xuICAgICAgICAgICAgICBzb3J0YWJsZTogdGhpcyxcbiAgICAgICAgICAgICAgbmFtZTogJ3NvcnQnLFxuICAgICAgICAgICAgICB0b0VsOiBwYXJlbnRFbCxcbiAgICAgICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZ0XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwdXRTb3J0YWJsZSAmJiBwdXRTb3J0YWJsZS5zYXZlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKG5ld0luZGV4ICE9PSBvbGRJbmRleCkge1xuICAgICAgICAgICAgaWYgKG5ld0luZGV4ID49IDApIHtcbiAgICAgICAgICAgICAgLy8gZHJhZyAmIGRyb3Agd2l0aGluIHRoZSBzYW1lIGxpc3RcbiAgICAgICAgICAgICAgX2Rpc3BhdGNoRXZlbnQoe1xuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiB0aGlzLFxuICAgICAgICAgICAgICAgIG5hbWU6ICd1cGRhdGUnLFxuICAgICAgICAgICAgICAgIHRvRWw6IHBhcmVudEVsLFxuICAgICAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IGV2dFxuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICBfZGlzcGF0Y2hFdmVudCh7XG4gICAgICAgICAgICAgICAgc29ydGFibGU6IHRoaXMsXG4gICAgICAgICAgICAgICAgbmFtZTogJ3NvcnQnLFxuICAgICAgICAgICAgICAgIHRvRWw6IHBhcmVudEVsLFxuICAgICAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IGV2dFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoU29ydGFibGUuYWN0aXZlKSB7XG4gICAgICAgICAgLyoganNoaW50IGVxbnVsbDp0cnVlICovXG4gICAgICAgICAgaWYgKG5ld0luZGV4ID09IG51bGwgfHwgbmV3SW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICBuZXdJbmRleCA9IG9sZEluZGV4O1xuICAgICAgICAgICAgbmV3RHJhZ2dhYmxlSW5kZXggPSBvbGREcmFnZ2FibGVJbmRleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBfZGlzcGF0Y2hFdmVudCh7XG4gICAgICAgICAgICBzb3J0YWJsZTogdGhpcyxcbiAgICAgICAgICAgIG5hbWU6ICdlbmQnLFxuICAgICAgICAgICAgdG9FbDogcGFyZW50RWwsXG4gICAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBldnRcbiAgICAgICAgICB9KTsgLy8gU2F2ZSBzb3J0aW5nXG5cblxuICAgICAgICAgIHRoaXMuc2F2ZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fbnVsbGluZygpO1xuICB9LFxuICBfbnVsbGluZzogZnVuY3Rpb24gX251bGxpbmcoKSB7XG4gICAgcGx1Z2luRXZlbnQoJ251bGxpbmcnLCB0aGlzKTtcbiAgICByb290RWwgPSBkcmFnRWwgPSBwYXJlbnRFbCA9IGdob3N0RWwgPSBuZXh0RWwgPSBjbG9uZUVsID0gbGFzdERvd25FbCA9IGNsb25lSGlkZGVuID0gdGFwRXZ0ID0gdG91Y2hFdnQgPSBtb3ZlZCA9IG5ld0luZGV4ID0gbmV3RHJhZ2dhYmxlSW5kZXggPSBvbGRJbmRleCA9IG9sZERyYWdnYWJsZUluZGV4ID0gbGFzdFRhcmdldCA9IGxhc3REaXJlY3Rpb24gPSBwdXRTb3J0YWJsZSA9IGFjdGl2ZUdyb3VwID0gU29ydGFibGUuZHJhZ2dlZCA9IFNvcnRhYmxlLmdob3N0ID0gU29ydGFibGUuY2xvbmUgPSBTb3J0YWJsZS5hY3RpdmUgPSBudWxsO1xuICAgIHNhdmVkSW5wdXRDaGVja2VkLmZvckVhY2goZnVuY3Rpb24gKGVsKSB7XG4gICAgICBlbC5jaGVja2VkID0gdHJ1ZTtcbiAgICB9KTtcbiAgICBzYXZlZElucHV0Q2hlY2tlZC5sZW5ndGggPSBsYXN0RHggPSBsYXN0RHkgPSAwO1xuICB9LFxuICBoYW5kbGVFdmVudDogZnVuY3Rpb24gaGFuZGxlRXZlbnQoXG4gIC8qKkV2ZW50Ki9cbiAgZXZ0KSB7XG4gICAgc3dpdGNoIChldnQudHlwZSkge1xuICAgICAgY2FzZSAnZHJvcCc6XG4gICAgICBjYXNlICdkcmFnZW5kJzpcbiAgICAgICAgdGhpcy5fb25Ecm9wKGV2dCk7XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2RyYWdlbnRlcic6XG4gICAgICBjYXNlICdkcmFnb3Zlcic6XG4gICAgICAgIGlmIChkcmFnRWwpIHtcbiAgICAgICAgICB0aGlzLl9vbkRyYWdPdmVyKGV2dCk7XG5cbiAgICAgICAgICBfZ2xvYmFsRHJhZ092ZXIoZXZ0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdzZWxlY3RzdGFydCc6XG4gICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH0sXG5cbiAgLyoqXHJcbiAgICogU2VyaWFsaXplcyB0aGUgaXRlbSBpbnRvIGFuIGFycmF5IG9mIHN0cmluZy5cclxuICAgKiBAcmV0dXJucyB7U3RyaW5nW119XHJcbiAgICovXG4gIHRvQXJyYXk6IGZ1bmN0aW9uIHRvQXJyYXkoKSB7XG4gICAgdmFyIG9yZGVyID0gW10sXG4gICAgICAgIGVsLFxuICAgICAgICBjaGlsZHJlbiA9IHRoaXMuZWwuY2hpbGRyZW4sXG4gICAgICAgIGkgPSAwLFxuICAgICAgICBuID0gY2hpbGRyZW4ubGVuZ3RoLFxuICAgICAgICBvcHRpb25zID0gdGhpcy5vcHRpb25zO1xuXG4gICAgZm9yICg7IGkgPCBuOyBpKyspIHtcbiAgICAgIGVsID0gY2hpbGRyZW5baV07XG5cbiAgICAgIGlmIChjbG9zZXN0KGVsLCBvcHRpb25zLmRyYWdnYWJsZSwgdGhpcy5lbCwgZmFsc2UpKSB7XG4gICAgICAgIG9yZGVyLnB1c2goZWwuZ2V0QXR0cmlidXRlKG9wdGlvbnMuZGF0YUlkQXR0cikgfHwgX2dlbmVyYXRlSWQoZWwpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gb3JkZXI7XG4gIH0sXG5cbiAgLyoqXHJcbiAgICogU29ydHMgdGhlIGVsZW1lbnRzIGFjY29yZGluZyB0byB0aGUgYXJyYXkuXHJcbiAgICogQHBhcmFtICB7U3RyaW5nW119ICBvcmRlciAgb3JkZXIgb2YgdGhlIGl0ZW1zXHJcbiAgICovXG4gIHNvcnQ6IGZ1bmN0aW9uIHNvcnQob3JkZXIpIHtcbiAgICB2YXIgaXRlbXMgPSB7fSxcbiAgICAgICAgcm9vdEVsID0gdGhpcy5lbDtcbiAgICB0aGlzLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChpZCwgaSkge1xuICAgICAgdmFyIGVsID0gcm9vdEVsLmNoaWxkcmVuW2ldO1xuXG4gICAgICBpZiAoY2xvc2VzdChlbCwgdGhpcy5vcHRpb25zLmRyYWdnYWJsZSwgcm9vdEVsLCBmYWxzZSkpIHtcbiAgICAgICAgaXRlbXNbaWRdID0gZWw7XG4gICAgICB9XG4gICAgfSwgdGhpcyk7XG4gICAgb3JkZXIuZm9yRWFjaChmdW5jdGlvbiAoaWQpIHtcbiAgICAgIGlmIChpdGVtc1tpZF0pIHtcbiAgICAgICAgcm9vdEVsLnJlbW92ZUNoaWxkKGl0ZW1zW2lkXSk7XG4gICAgICAgIHJvb3RFbC5hcHBlbmRDaGlsZChpdGVtc1tpZF0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9LFxuXG4gIC8qKlxyXG4gICAqIFNhdmUgdGhlIGN1cnJlbnQgc29ydGluZ1xyXG4gICAqL1xuICBzYXZlOiBmdW5jdGlvbiBzYXZlKCkge1xuICAgIHZhciBzdG9yZSA9IHRoaXMub3B0aW9ucy5zdG9yZTtcbiAgICBzdG9yZSAmJiBzdG9yZS5zZXQgJiYgc3RvcmUuc2V0KHRoaXMpO1xuICB9LFxuXG4gIC8qKlxyXG4gICAqIEZvciBlYWNoIGVsZW1lbnQgaW4gdGhlIHNldCwgZ2V0IHRoZSBmaXJzdCBlbGVtZW50IHRoYXQgbWF0Y2hlcyB0aGUgc2VsZWN0b3IgYnkgdGVzdGluZyB0aGUgZWxlbWVudCBpdHNlbGYgYW5kIHRyYXZlcnNpbmcgdXAgdGhyb3VnaCBpdHMgYW5jZXN0b3JzIGluIHRoZSBET00gdHJlZS5cclxuICAgKiBAcGFyYW0gICB7SFRNTEVsZW1lbnR9ICBlbFxyXG4gICAqIEBwYXJhbSAgIHtTdHJpbmd9ICAgICAgIFtzZWxlY3Rvcl0gIGRlZmF1bHQ6IGBvcHRpb25zLmRyYWdnYWJsZWBcclxuICAgKiBAcmV0dXJucyB7SFRNTEVsZW1lbnR8bnVsbH1cclxuICAgKi9cbiAgY2xvc2VzdDogZnVuY3Rpb24gY2xvc2VzdCQxKGVsLCBzZWxlY3Rvcikge1xuICAgIHJldHVybiBjbG9zZXN0KGVsLCBzZWxlY3RvciB8fCB0aGlzLm9wdGlvbnMuZHJhZ2dhYmxlLCB0aGlzLmVsLCBmYWxzZSk7XG4gIH0sXG5cbiAgLyoqXHJcbiAgICogU2V0L2dldCBvcHRpb25cclxuICAgKiBAcGFyYW0gICB7c3RyaW5nfSBuYW1lXHJcbiAgICogQHBhcmFtICAgeyp9ICAgICAgW3ZhbHVlXVxyXG4gICAqIEByZXR1cm5zIHsqfVxyXG4gICAqL1xuICBvcHRpb246IGZ1bmN0aW9uIG9wdGlvbihuYW1lLCB2YWx1ZSkge1xuICAgIHZhciBvcHRpb25zID0gdGhpcy5vcHRpb25zO1xuXG4gICAgaWYgKHZhbHVlID09PSB2b2lkIDApIHtcbiAgICAgIHJldHVybiBvcHRpb25zW25hbWVdO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgbW9kaWZpZWRWYWx1ZSA9IFBsdWdpbk1hbmFnZXIubW9kaWZ5T3B0aW9uKHRoaXMsIG5hbWUsIHZhbHVlKTtcblxuICAgICAgaWYgKHR5cGVvZiBtb2RpZmllZFZhbHVlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBvcHRpb25zW25hbWVdID0gbW9kaWZpZWRWYWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9wdGlvbnNbbmFtZV0gPSB2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5hbWUgPT09ICdncm91cCcpIHtcbiAgICAgICAgX3ByZXBhcmVHcm91cChvcHRpb25zKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG5cbiAgLyoqXHJcbiAgICogRGVzdHJveVxyXG4gICAqL1xuICBkZXN0cm95OiBmdW5jdGlvbiBkZXN0cm95KCkge1xuICAgIHBsdWdpbkV2ZW50KCdkZXN0cm95JywgdGhpcyk7XG4gICAgdmFyIGVsID0gdGhpcy5lbDtcbiAgICBlbFtleHBhbmRvXSA9IG51bGw7XG4gICAgb2ZmKGVsLCAnbW91c2Vkb3duJywgdGhpcy5fb25UYXBTdGFydCk7XG4gICAgb2ZmKGVsLCAndG91Y2hzdGFydCcsIHRoaXMuX29uVGFwU3RhcnQpO1xuICAgIG9mZihlbCwgJ3BvaW50ZXJkb3duJywgdGhpcy5fb25UYXBTdGFydCk7XG5cbiAgICBpZiAodGhpcy5uYXRpdmVEcmFnZ2FibGUpIHtcbiAgICAgIG9mZihlbCwgJ2RyYWdvdmVyJywgdGhpcyk7XG4gICAgICBvZmYoZWwsICdkcmFnZW50ZXInLCB0aGlzKTtcbiAgICB9IC8vIFJlbW92ZSBkcmFnZ2FibGUgYXR0cmlidXRlc1xuXG5cbiAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGVsLnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkcmFnZ2FibGVdJyksIGZ1bmN0aW9uIChlbCkge1xuICAgICAgZWwucmVtb3ZlQXR0cmlidXRlKCdkcmFnZ2FibGUnKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX29uRHJvcCgpO1xuXG4gICAgc29ydGFibGVzLnNwbGljZShzb3J0YWJsZXMuaW5kZXhPZih0aGlzLmVsKSwgMSk7XG4gICAgdGhpcy5lbCA9IGVsID0gbnVsbDtcbiAgfSxcbiAgX2hpZGVDbG9uZTogZnVuY3Rpb24gX2hpZGVDbG9uZSgpIHtcbiAgICBpZiAoIWNsb25lSGlkZGVuKSB7XG4gICAgICBwbHVnaW5FdmVudCgnaGlkZUNsb25lJywgdGhpcyk7XG4gICAgICBpZiAoU29ydGFibGUuZXZlbnRDYW5jZWxlZCkgcmV0dXJuO1xuICAgICAgY3NzKGNsb25lRWwsICdkaXNwbGF5JywgJ25vbmUnKTtcblxuICAgICAgaWYgKHRoaXMub3B0aW9ucy5yZW1vdmVDbG9uZU9uSGlkZSAmJiBjbG9uZUVsLnBhcmVudE5vZGUpIHtcbiAgICAgICAgY2xvbmVFbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGNsb25lRWwpO1xuICAgICAgfVxuXG4gICAgICBjbG9uZUhpZGRlbiA9IHRydWU7XG4gICAgfVxuICB9LFxuICBfc2hvd0Nsb25lOiBmdW5jdGlvbiBfc2hvd0Nsb25lKHB1dFNvcnRhYmxlKSB7XG4gICAgaWYgKHB1dFNvcnRhYmxlLmxhc3RQdXRNb2RlICE9PSAnY2xvbmUnKSB7XG4gICAgICB0aGlzLl9oaWRlQ2xvbmUoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChjbG9uZUhpZGRlbikge1xuICAgICAgcGx1Z2luRXZlbnQoJ3Nob3dDbG9uZScsIHRoaXMpO1xuICAgICAgaWYgKFNvcnRhYmxlLmV2ZW50Q2FuY2VsZWQpIHJldHVybjsgLy8gc2hvdyBjbG9uZSBhdCBkcmFnRWwgb3Igb3JpZ2luYWwgcG9zaXRpb25cblxuICAgICAgaWYgKHJvb3RFbC5jb250YWlucyhkcmFnRWwpICYmICF0aGlzLm9wdGlvbnMuZ3JvdXAucmV2ZXJ0Q2xvbmUpIHtcbiAgICAgICAgcm9vdEVsLmluc2VydEJlZm9yZShjbG9uZUVsLCBkcmFnRWwpO1xuICAgICAgfSBlbHNlIGlmIChuZXh0RWwpIHtcbiAgICAgICAgcm9vdEVsLmluc2VydEJlZm9yZShjbG9uZUVsLCBuZXh0RWwpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcm9vdEVsLmFwcGVuZENoaWxkKGNsb25lRWwpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5vcHRpb25zLmdyb3VwLnJldmVydENsb25lKSB7XG4gICAgICAgIHRoaXMuYW5pbWF0ZShkcmFnRWwsIGNsb25lRWwpO1xuICAgICAgfVxuXG4gICAgICBjc3MoY2xvbmVFbCwgJ2Rpc3BsYXknLCAnJyk7XG4gICAgICBjbG9uZUhpZGRlbiA9IGZhbHNlO1xuICAgIH1cbiAgfVxufTtcblxuZnVuY3Rpb24gX2dsb2JhbERyYWdPdmVyKFxuLyoqRXZlbnQqL1xuZXZ0KSB7XG4gIGlmIChldnQuZGF0YVRyYW5zZmVyKSB7XG4gICAgZXZ0LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0ID0gJ21vdmUnO1xuICB9XG5cbiAgZXZ0LmNhbmNlbGFibGUgJiYgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG59XG5cbmZ1bmN0aW9uIF9vbk1vdmUoZnJvbUVsLCB0b0VsLCBkcmFnRWwsIGRyYWdSZWN0LCB0YXJnZXRFbCwgdGFyZ2V0UmVjdCwgb3JpZ2luYWxFdmVudCwgd2lsbEluc2VydEFmdGVyKSB7XG4gIHZhciBldnQsXG4gICAgICBzb3J0YWJsZSA9IGZyb21FbFtleHBhbmRvXSxcbiAgICAgIG9uTW92ZUZuID0gc29ydGFibGUub3B0aW9ucy5vbk1vdmUsXG4gICAgICByZXRWYWw7IC8vIFN1cHBvcnQgZm9yIG5ldyBDdXN0b21FdmVudCBmZWF0dXJlXG5cbiAgaWYgKHdpbmRvdy5DdXN0b21FdmVudCAmJiAhSUUxMU9yTGVzcyAmJiAhRWRnZSkge1xuICAgIGV2dCA9IG5ldyBDdXN0b21FdmVudCgnbW92ZScsIHtcbiAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICBjYW5jZWxhYmxlOiB0cnVlXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0V2ZW50Jyk7XG4gICAgZXZ0LmluaXRFdmVudCgnbW92ZScsIHRydWUsIHRydWUpO1xuICB9XG5cbiAgZXZ0LnRvID0gdG9FbDtcbiAgZXZ0LmZyb20gPSBmcm9tRWw7XG4gIGV2dC5kcmFnZ2VkID0gZHJhZ0VsO1xuICBldnQuZHJhZ2dlZFJlY3QgPSBkcmFnUmVjdDtcbiAgZXZ0LnJlbGF0ZWQgPSB0YXJnZXRFbCB8fCB0b0VsO1xuICBldnQucmVsYXRlZFJlY3QgPSB0YXJnZXRSZWN0IHx8IGdldFJlY3QodG9FbCk7XG4gIGV2dC53aWxsSW5zZXJ0QWZ0ZXIgPSB3aWxsSW5zZXJ0QWZ0ZXI7XG4gIGV2dC5vcmlnaW5hbEV2ZW50ID0gb3JpZ2luYWxFdmVudDtcbiAgZnJvbUVsLmRpc3BhdGNoRXZlbnQoZXZ0KTtcblxuICBpZiAob25Nb3ZlRm4pIHtcbiAgICByZXRWYWwgPSBvbk1vdmVGbi5jYWxsKHNvcnRhYmxlLCBldnQsIG9yaWdpbmFsRXZlbnQpO1xuICB9XG5cbiAgcmV0dXJuIHJldFZhbDtcbn1cblxuZnVuY3Rpb24gX2Rpc2FibGVEcmFnZ2FibGUoZWwpIHtcbiAgZWwuZHJhZ2dhYmxlID0gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIF91bnNpbGVudCgpIHtcbiAgX3NpbGVudCA9IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBfZ2hvc3RJc0xhc3QoZXZ0LCB2ZXJ0aWNhbCwgc29ydGFibGUpIHtcbiAgdmFyIHJlY3QgPSBnZXRSZWN0KGxhc3RDaGlsZChzb3J0YWJsZS5lbCwgc29ydGFibGUub3B0aW9ucy5kcmFnZ2FibGUpKTtcbiAgdmFyIHNwYWNlciA9IDEwO1xuICByZXR1cm4gdmVydGljYWwgPyBldnQuY2xpZW50WCA+IHJlY3QucmlnaHQgKyBzcGFjZXIgfHwgZXZ0LmNsaWVudFggPD0gcmVjdC5yaWdodCAmJiBldnQuY2xpZW50WSA+IHJlY3QuYm90dG9tICYmIGV2dC5jbGllbnRYID49IHJlY3QubGVmdCA6IGV2dC5jbGllbnRYID4gcmVjdC5yaWdodCAmJiBldnQuY2xpZW50WSA+IHJlY3QudG9wIHx8IGV2dC5jbGllbnRYIDw9IHJlY3QucmlnaHQgJiYgZXZ0LmNsaWVudFkgPiByZWN0LmJvdHRvbSArIHNwYWNlcjtcbn1cblxuZnVuY3Rpb24gX2dldFN3YXBEaXJlY3Rpb24oZXZ0LCB0YXJnZXQsIHRhcmdldFJlY3QsIHZlcnRpY2FsLCBzd2FwVGhyZXNob2xkLCBpbnZlcnRlZFN3YXBUaHJlc2hvbGQsIGludmVydFN3YXAsIGlzTGFzdFRhcmdldCkge1xuICB2YXIgbW91c2VPbkF4aXMgPSB2ZXJ0aWNhbCA/IGV2dC5jbGllbnRZIDogZXZ0LmNsaWVudFgsXG4gICAgICB0YXJnZXRMZW5ndGggPSB2ZXJ0aWNhbCA/IHRhcmdldFJlY3QuaGVpZ2h0IDogdGFyZ2V0UmVjdC53aWR0aCxcbiAgICAgIHRhcmdldFMxID0gdmVydGljYWwgPyB0YXJnZXRSZWN0LnRvcCA6IHRhcmdldFJlY3QubGVmdCxcbiAgICAgIHRhcmdldFMyID0gdmVydGljYWwgPyB0YXJnZXRSZWN0LmJvdHRvbSA6IHRhcmdldFJlY3QucmlnaHQsXG4gICAgICBpbnZlcnQgPSBmYWxzZTtcblxuICBpZiAoIWludmVydFN3YXApIHtcbiAgICAvLyBOZXZlciBpbnZlcnQgb3IgY3JlYXRlIGRyYWdFbCBzaGFkb3cgd2hlbiB0YXJnZXQgbW92ZW1lbmV0IGNhdXNlcyBtb3VzZSB0byBtb3ZlIHBhc3QgdGhlIGVuZCBvZiByZWd1bGFyIHN3YXBUaHJlc2hvbGRcbiAgICBpZiAoaXNMYXN0VGFyZ2V0ICYmIHRhcmdldE1vdmVEaXN0YW5jZSA8IHRhcmdldExlbmd0aCAqIHN3YXBUaHJlc2hvbGQpIHtcbiAgICAgIC8vIG11bHRpcGxpZWQgb25seSBieSBzd2FwVGhyZXNob2xkIGJlY2F1c2UgbW91c2Ugd2lsbCBhbHJlYWR5IGJlIGluc2lkZSB0YXJnZXQgYnkgKDEgLSB0aHJlc2hvbGQpICogdGFyZ2V0TGVuZ3RoIC8gMlxuICAgICAgLy8gY2hlY2sgaWYgcGFzdCBmaXJzdCBpbnZlcnQgdGhyZXNob2xkIG9uIHNpZGUgb3Bwb3NpdGUgb2YgbGFzdERpcmVjdGlvblxuICAgICAgaWYgKCFwYXN0Rmlyc3RJbnZlcnRUaHJlc2ggJiYgKGxhc3REaXJlY3Rpb24gPT09IDEgPyBtb3VzZU9uQXhpcyA+IHRhcmdldFMxICsgdGFyZ2V0TGVuZ3RoICogaW52ZXJ0ZWRTd2FwVGhyZXNob2xkIC8gMiA6IG1vdXNlT25BeGlzIDwgdGFyZ2V0UzIgLSB0YXJnZXRMZW5ndGggKiBpbnZlcnRlZFN3YXBUaHJlc2hvbGQgLyAyKSkge1xuICAgICAgICAvLyBwYXN0IGZpcnN0IGludmVydCB0aHJlc2hvbGQsIGRvIG5vdCByZXN0cmljdCBpbnZlcnRlZCB0aHJlc2hvbGQgdG8gZHJhZ0VsIHNoYWRvd1xuICAgICAgICBwYXN0Rmlyc3RJbnZlcnRUaHJlc2ggPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXBhc3RGaXJzdEludmVydFRocmVzaCkge1xuICAgICAgICAvLyBkcmFnRWwgc2hhZG93ICh0YXJnZXQgbW92ZSBkaXN0YW5jZSBzaGFkb3cpXG4gICAgICAgIGlmIChsYXN0RGlyZWN0aW9uID09PSAxID8gbW91c2VPbkF4aXMgPCB0YXJnZXRTMSArIHRhcmdldE1vdmVEaXN0YW5jZSAvLyBvdmVyIGRyYWdFbCBzaGFkb3dcbiAgICAgICAgOiBtb3VzZU9uQXhpcyA+IHRhcmdldFMyIC0gdGFyZ2V0TW92ZURpc3RhbmNlKSB7XG4gICAgICAgICAgcmV0dXJuIC1sYXN0RGlyZWN0aW9uO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpbnZlcnQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBSZWd1bGFyXG4gICAgICBpZiAobW91c2VPbkF4aXMgPiB0YXJnZXRTMSArIHRhcmdldExlbmd0aCAqICgxIC0gc3dhcFRocmVzaG9sZCkgLyAyICYmIG1vdXNlT25BeGlzIDwgdGFyZ2V0UzIgLSB0YXJnZXRMZW5ndGggKiAoMSAtIHN3YXBUaHJlc2hvbGQpIC8gMikge1xuICAgICAgICByZXR1cm4gX2dldEluc2VydERpcmVjdGlvbih0YXJnZXQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGludmVydCA9IGludmVydCB8fCBpbnZlcnRTd2FwO1xuXG4gIGlmIChpbnZlcnQpIHtcbiAgICAvLyBJbnZlcnQgb2YgcmVndWxhclxuICAgIGlmIChtb3VzZU9uQXhpcyA8IHRhcmdldFMxICsgdGFyZ2V0TGVuZ3RoICogaW52ZXJ0ZWRTd2FwVGhyZXNob2xkIC8gMiB8fCBtb3VzZU9uQXhpcyA+IHRhcmdldFMyIC0gdGFyZ2V0TGVuZ3RoICogaW52ZXJ0ZWRTd2FwVGhyZXNob2xkIC8gMikge1xuICAgICAgcmV0dXJuIG1vdXNlT25BeGlzID4gdGFyZ2V0UzEgKyB0YXJnZXRMZW5ndGggLyAyID8gMSA6IC0xO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiAwO1xufVxuLyoqXHJcbiAqIEdldHMgdGhlIGRpcmVjdGlvbiBkcmFnRWwgbXVzdCBiZSBzd2FwcGVkIHJlbGF0aXZlIHRvIHRhcmdldCBpbiBvcmRlciB0byBtYWtlIGl0XHJcbiAqIHNlZW0gdGhhdCBkcmFnRWwgaGFzIGJlZW4gXCJpbnNlcnRlZFwiIGludG8gdGhhdCBlbGVtZW50J3MgcG9zaXRpb25cclxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IHRhcmdldCAgICAgICBUaGUgdGFyZ2V0IHdob3NlIHBvc2l0aW9uIGRyYWdFbCBpcyBiZWluZyBpbnNlcnRlZCBhdFxyXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgICAgICAgICAgIERpcmVjdGlvbiBkcmFnRWwgbXVzdCBiZSBzd2FwcGVkXHJcbiAqL1xuXG5cbmZ1bmN0aW9uIF9nZXRJbnNlcnREaXJlY3Rpb24odGFyZ2V0KSB7XG4gIGlmIChpbmRleChkcmFnRWwpIDwgaW5kZXgodGFyZ2V0KSkge1xuICAgIHJldHVybiAxO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiAtMTtcbiAgfVxufVxuLyoqXHJcbiAqIEdlbmVyYXRlIGlkXHJcbiAqIEBwYXJhbSAgIHtIVE1MRWxlbWVudH0gZWxcclxuICogQHJldHVybnMge1N0cmluZ31cclxuICogQHByaXZhdGVcclxuICovXG5cblxuZnVuY3Rpb24gX2dlbmVyYXRlSWQoZWwpIHtcbiAgdmFyIHN0ciA9IGVsLnRhZ05hbWUgKyBlbC5jbGFzc05hbWUgKyBlbC5zcmMgKyBlbC5ocmVmICsgZWwudGV4dENvbnRlbnQsXG4gICAgICBpID0gc3RyLmxlbmd0aCxcbiAgICAgIHN1bSA9IDA7XG5cbiAgd2hpbGUgKGktLSkge1xuICAgIHN1bSArPSBzdHIuY2hhckNvZGVBdChpKTtcbiAgfVxuXG4gIHJldHVybiBzdW0udG9TdHJpbmcoMzYpO1xufVxuXG5mdW5jdGlvbiBfc2F2ZUlucHV0Q2hlY2tlZFN0YXRlKHJvb3QpIHtcbiAgc2F2ZWRJbnB1dENoZWNrZWQubGVuZ3RoID0gMDtcbiAgdmFyIGlucHV0cyA9IHJvb3QuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lucHV0Jyk7XG4gIHZhciBpZHggPSBpbnB1dHMubGVuZ3RoO1xuXG4gIHdoaWxlIChpZHgtLSkge1xuICAgIHZhciBlbCA9IGlucHV0c1tpZHhdO1xuICAgIGVsLmNoZWNrZWQgJiYgc2F2ZWRJbnB1dENoZWNrZWQucHVzaChlbCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gX25leHRUaWNrKGZuKSB7XG4gIHJldHVybiBzZXRUaW1lb3V0KGZuLCAwKTtcbn1cblxuZnVuY3Rpb24gX2NhbmNlbE5leHRUaWNrKGlkKSB7XG4gIHJldHVybiBjbGVhclRpbWVvdXQoaWQpO1xufSAvLyBGaXhlZCAjOTczOlxuXG5cbm9uKGRvY3VtZW50LCAndG91Y2htb3ZlJywgZnVuY3Rpb24gKGV2dCkge1xuICBpZiAoKFNvcnRhYmxlLmFjdGl2ZSB8fCBhd2FpdGluZ0RyYWdTdGFydGVkKSAmJiBldnQuY2FuY2VsYWJsZSkge1xuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG59KTsgLy8gRXhwb3J0IHV0aWxzXG5cblNvcnRhYmxlLnV0aWxzID0ge1xuICBvbjogb24sXG4gIG9mZjogb2ZmLFxuICBjc3M6IGNzcyxcbiAgZmluZDogZmluZCxcbiAgaXM6IGZ1bmN0aW9uIGlzKGVsLCBzZWxlY3Rvcikge1xuICAgIHJldHVybiAhIWNsb3Nlc3QoZWwsIHNlbGVjdG9yLCBlbCwgZmFsc2UpO1xuICB9LFxuICBleHRlbmQ6IGV4dGVuZCxcbiAgdGhyb3R0bGU6IHRocm90dGxlLFxuICBjbG9zZXN0OiBjbG9zZXN0LFxuICB0b2dnbGVDbGFzczogdG9nZ2xlQ2xhc3MsXG4gIGNsb25lOiBjbG9uZSxcbiAgaW5kZXg6IGluZGV4LFxuICBuZXh0VGljazogX25leHRUaWNrLFxuICBjYW5jZWxOZXh0VGljazogX2NhbmNlbE5leHRUaWNrLFxuICBkZXRlY3REaXJlY3Rpb246IF9kZXRlY3REaXJlY3Rpb24sXG4gIGdldENoaWxkOiBnZXRDaGlsZFxufTtcbi8qKlxyXG4gKiBHZXQgdGhlIFNvcnRhYmxlIGluc3RhbmNlIG9mIGFuIGVsZW1lbnRcclxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgVGhlIGVsZW1lbnRcclxuICogQHJldHVybiB7U29ydGFibGV8dW5kZWZpbmVkfSAgICAgICAgIFRoZSBpbnN0YW5jZSBvZiBTb3J0YWJsZVxyXG4gKi9cblxuU29ydGFibGUuZ2V0ID0gZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgcmV0dXJuIGVsZW1lbnRbZXhwYW5kb107XG59O1xuLyoqXHJcbiAqIE1vdW50IGEgcGx1Z2luIHRvIFNvcnRhYmxlXHJcbiAqIEBwYXJhbSAgey4uLlNvcnRhYmxlUGx1Z2lufFNvcnRhYmxlUGx1Z2luW119IHBsdWdpbnMgICAgICAgUGx1Z2lucyBiZWluZyBtb3VudGVkXHJcbiAqL1xuXG5cblNvcnRhYmxlLm1vdW50ID0gZnVuY3Rpb24gKCkge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgcGx1Z2lucyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICBwbHVnaW5zW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICB9XG5cbiAgaWYgKHBsdWdpbnNbMF0uY29uc3RydWN0b3IgPT09IEFycmF5KSBwbHVnaW5zID0gcGx1Z2luc1swXTtcbiAgcGx1Z2lucy5mb3JFYWNoKGZ1bmN0aW9uIChwbHVnaW4pIHtcbiAgICBpZiAoIXBsdWdpbi5wcm90b3R5cGUgfHwgIXBsdWdpbi5wcm90b3R5cGUuY29uc3RydWN0b3IpIHtcbiAgICAgIHRocm93IFwiU29ydGFibGU6IE1vdW50ZWQgcGx1Z2luIG11c3QgYmUgYSBjb25zdHJ1Y3RvciBmdW5jdGlvbiwgbm90IFwiLmNvbmNhdCh7fS50b1N0cmluZy5jYWxsKHBsdWdpbikpO1xuICAgIH1cblxuICAgIGlmIChwbHVnaW4udXRpbHMpIFNvcnRhYmxlLnV0aWxzID0gX29iamVjdFNwcmVhZCh7fSwgU29ydGFibGUudXRpbHMsIHBsdWdpbi51dGlscyk7XG4gICAgUGx1Z2luTWFuYWdlci5tb3VudChwbHVnaW4pO1xuICB9KTtcbn07XG4vKipcclxuICogQ3JlYXRlIHNvcnRhYmxlIGluc3RhbmNlXHJcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9ICBlbFxyXG4gKiBAcGFyYW0ge09iamVjdH0gICAgICBbb3B0aW9uc11cclxuICovXG5cblxuU29ydGFibGUuY3JlYXRlID0gZnVuY3Rpb24gKGVsLCBvcHRpb25zKSB7XG4gIHJldHVybiBuZXcgU29ydGFibGUoZWwsIG9wdGlvbnMpO1xufTsgLy8gRXhwb3J0XG5cblxuU29ydGFibGUudmVyc2lvbiA9IHZlcnNpb247XG5cbnZhciBhdXRvU2Nyb2xscyA9IFtdLFxuICAgIHNjcm9sbEVsLFxuICAgIHNjcm9sbFJvb3RFbCxcbiAgICBzY3JvbGxpbmcgPSBmYWxzZSxcbiAgICBsYXN0QXV0b1Njcm9sbFgsXG4gICAgbGFzdEF1dG9TY3JvbGxZLFxuICAgIHRvdWNoRXZ0JDEsXG4gICAgcG9pbnRlckVsZW1DaGFuZ2VkSW50ZXJ2YWw7XG5cbmZ1bmN0aW9uIEF1dG9TY3JvbGxQbHVnaW4oKSB7XG4gIGZ1bmN0aW9uIEF1dG9TY3JvbGwoKSB7XG4gICAgdGhpcy5kZWZhdWx0cyA9IHtcbiAgICAgIHNjcm9sbDogdHJ1ZSxcbiAgICAgIHNjcm9sbFNlbnNpdGl2aXR5OiAzMCxcbiAgICAgIHNjcm9sbFNwZWVkOiAxMCxcbiAgICAgIGJ1YmJsZVNjcm9sbDogdHJ1ZVxuICAgIH07IC8vIEJpbmQgYWxsIHByaXZhdGUgbWV0aG9kc1xuXG4gICAgZm9yICh2YXIgZm4gaW4gdGhpcykge1xuICAgICAgaWYgKGZuLmNoYXJBdCgwKSA9PT0gJ18nICYmIHR5cGVvZiB0aGlzW2ZuXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aGlzW2ZuXSA9IHRoaXNbZm5dLmJpbmQodGhpcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQXV0b1Njcm9sbC5wcm90b3R5cGUgPSB7XG4gICAgZHJhZ1N0YXJ0ZWQ6IGZ1bmN0aW9uIGRyYWdTdGFydGVkKF9yZWYpIHtcbiAgICAgIHZhciBvcmlnaW5hbEV2ZW50ID0gX3JlZi5vcmlnaW5hbEV2ZW50O1xuXG4gICAgICBpZiAodGhpcy5zb3J0YWJsZS5uYXRpdmVEcmFnZ2FibGUpIHtcbiAgICAgICAgb24oZG9jdW1lbnQsICdkcmFnb3ZlcicsIHRoaXMuX2hhbmRsZUF1dG9TY3JvbGwpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5zdXBwb3J0UG9pbnRlcikge1xuICAgICAgICAgIG9uKGRvY3VtZW50LCAncG9pbnRlcm1vdmUnLCB0aGlzLl9oYW5kbGVGYWxsYmFja0F1dG9TY3JvbGwpO1xuICAgICAgICB9IGVsc2UgaWYgKG9yaWdpbmFsRXZlbnQudG91Y2hlcykge1xuICAgICAgICAgIG9uKGRvY3VtZW50LCAndG91Y2htb3ZlJywgdGhpcy5faGFuZGxlRmFsbGJhY2tBdXRvU2Nyb2xsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvbihkb2N1bWVudCwgJ21vdXNlbW92ZScsIHRoaXMuX2hhbmRsZUZhbGxiYWNrQXV0b1Njcm9sbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIGRyYWdPdmVyQ29tcGxldGVkOiBmdW5jdGlvbiBkcmFnT3ZlckNvbXBsZXRlZChfcmVmMikge1xuICAgICAgdmFyIG9yaWdpbmFsRXZlbnQgPSBfcmVmMi5vcmlnaW5hbEV2ZW50O1xuXG4gICAgICAvLyBGb3Igd2hlbiBidWJibGluZyBpcyBjYW5jZWxlZCBhbmQgdXNpbmcgZmFsbGJhY2sgKGZhbGxiYWNrICd0b3VjaG1vdmUnIGFsd2F5cyByZWFjaGVkKVxuICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuZHJhZ092ZXJCdWJibGUgJiYgIW9yaWdpbmFsRXZlbnQucm9vdEVsKSB7XG4gICAgICAgIHRoaXMuX2hhbmRsZUF1dG9TY3JvbGwob3JpZ2luYWxFdmVudCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBkcm9wOiBmdW5jdGlvbiBkcm9wKCkge1xuICAgICAgaWYgKHRoaXMuc29ydGFibGUubmF0aXZlRHJhZ2dhYmxlKSB7XG4gICAgICAgIG9mZihkb2N1bWVudCwgJ2RyYWdvdmVyJywgdGhpcy5faGFuZGxlQXV0b1Njcm9sbCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvZmYoZG9jdW1lbnQsICdwb2ludGVybW92ZScsIHRoaXMuX2hhbmRsZUZhbGxiYWNrQXV0b1Njcm9sbCk7XG4gICAgICAgIG9mZihkb2N1bWVudCwgJ3RvdWNobW92ZScsIHRoaXMuX2hhbmRsZUZhbGxiYWNrQXV0b1Njcm9sbCk7XG4gICAgICAgIG9mZihkb2N1bWVudCwgJ21vdXNlbW92ZScsIHRoaXMuX2hhbmRsZUZhbGxiYWNrQXV0b1Njcm9sbCk7XG4gICAgICB9XG5cbiAgICAgIGNsZWFyUG9pbnRlckVsZW1DaGFuZ2VkSW50ZXJ2YWwoKTtcbiAgICAgIGNsZWFyQXV0b1Njcm9sbHMoKTtcbiAgICAgIGNhbmNlbFRocm90dGxlKCk7XG4gICAgfSxcbiAgICBudWxsaW5nOiBmdW5jdGlvbiBudWxsaW5nKCkge1xuICAgICAgdG91Y2hFdnQkMSA9IHNjcm9sbFJvb3RFbCA9IHNjcm9sbEVsID0gc2Nyb2xsaW5nID0gcG9pbnRlckVsZW1DaGFuZ2VkSW50ZXJ2YWwgPSBsYXN0QXV0b1Njcm9sbFggPSBsYXN0QXV0b1Njcm9sbFkgPSBudWxsO1xuICAgICAgYXV0b1Njcm9sbHMubGVuZ3RoID0gMDtcbiAgICB9LFxuICAgIF9oYW5kbGVGYWxsYmFja0F1dG9TY3JvbGw6IGZ1bmN0aW9uIF9oYW5kbGVGYWxsYmFja0F1dG9TY3JvbGwoZXZ0KSB7XG4gICAgICB0aGlzLl9oYW5kbGVBdXRvU2Nyb2xsKGV2dCwgdHJ1ZSk7XG4gICAgfSxcbiAgICBfaGFuZGxlQXV0b1Njcm9sbDogZnVuY3Rpb24gX2hhbmRsZUF1dG9TY3JvbGwoZXZ0LCBmYWxsYmFjaykge1xuICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgdmFyIHggPSAoZXZ0LnRvdWNoZXMgPyBldnQudG91Y2hlc1swXSA6IGV2dCkuY2xpZW50WCxcbiAgICAgICAgICB5ID0gKGV2dC50b3VjaGVzID8gZXZ0LnRvdWNoZXNbMF0gOiBldnQpLmNsaWVudFksXG4gICAgICAgICAgZWxlbSA9IGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoeCwgeSk7XG4gICAgICB0b3VjaEV2dCQxID0gZXZ0OyAvLyBJRSBkb2VzIG5vdCBzZWVtIHRvIGhhdmUgbmF0aXZlIGF1dG9zY3JvbGwsXG4gICAgICAvLyBFZGdlJ3MgYXV0b3Njcm9sbCBzZWVtcyB0b28gY29uZGl0aW9uYWwsXG4gICAgICAvLyBNQUNPUyBTYWZhcmkgZG9lcyBub3QgaGF2ZSBhdXRvc2Nyb2xsLFxuICAgICAgLy8gRmlyZWZveCBhbmQgQ2hyb21lIGFyZSBnb29kXG5cbiAgICAgIGlmIChmYWxsYmFjayB8fCBFZGdlIHx8IElFMTFPckxlc3MgfHwgU2FmYXJpKSB7XG4gICAgICAgIGF1dG9TY3JvbGwoZXZ0LCB0aGlzLm9wdGlvbnMsIGVsZW0sIGZhbGxiYWNrKTsgLy8gTGlzdGVuZXIgZm9yIHBvaW50ZXIgZWxlbWVudCBjaGFuZ2VcblxuICAgICAgICB2YXIgb2dFbGVtU2Nyb2xsZXIgPSBnZXRQYXJlbnRBdXRvU2Nyb2xsRWxlbWVudChlbGVtLCB0cnVlKTtcblxuICAgICAgICBpZiAoc2Nyb2xsaW5nICYmICghcG9pbnRlckVsZW1DaGFuZ2VkSW50ZXJ2YWwgfHwgeCAhPT0gbGFzdEF1dG9TY3JvbGxYIHx8IHkgIT09IGxhc3RBdXRvU2Nyb2xsWSkpIHtcbiAgICAgICAgICBwb2ludGVyRWxlbUNoYW5nZWRJbnRlcnZhbCAmJiBjbGVhclBvaW50ZXJFbGVtQ2hhbmdlZEludGVydmFsKCk7IC8vIERldGVjdCBmb3IgcG9pbnRlciBlbGVtIGNoYW5nZSwgZW11bGF0aW5nIG5hdGl2ZSBEbkQgYmVoYXZpb3VyXG5cbiAgICAgICAgICBwb2ludGVyRWxlbUNoYW5nZWRJbnRlcnZhbCA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBuZXdFbGVtID0gZ2V0UGFyZW50QXV0b1Njcm9sbEVsZW1lbnQoZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCh4LCB5KSwgdHJ1ZSk7XG5cbiAgICAgICAgICAgIGlmIChuZXdFbGVtICE9PSBvZ0VsZW1TY3JvbGxlcikge1xuICAgICAgICAgICAgICBvZ0VsZW1TY3JvbGxlciA9IG5ld0VsZW07XG4gICAgICAgICAgICAgIGNsZWFyQXV0b1Njcm9sbHMoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYXV0b1Njcm9sbChldnQsIF90aGlzLm9wdGlvbnMsIG5ld0VsZW0sIGZhbGxiYWNrKTtcbiAgICAgICAgICB9LCAxMCk7XG4gICAgICAgICAgbGFzdEF1dG9TY3JvbGxYID0geDtcbiAgICAgICAgICBsYXN0QXV0b1Njcm9sbFkgPSB5O1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBpZiBEbkQgaXMgZW5hYmxlZCAoYW5kIGJyb3dzZXIgaGFzIGdvb2QgYXV0b3Njcm9sbGluZyksIGZpcnN0IGF1dG9zY3JvbGwgd2lsbCBhbHJlYWR5IHNjcm9sbCwgc28gZ2V0IHBhcmVudCBhdXRvc2Nyb2xsIG9mIGZpcnN0IGF1dG9zY3JvbGxcbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuYnViYmxlU2Nyb2xsIHx8IGdldFBhcmVudEF1dG9TY3JvbGxFbGVtZW50KGVsZW0sIHRydWUpID09PSBnZXRXaW5kb3dTY3JvbGxpbmdFbGVtZW50KCkpIHtcbiAgICAgICAgICBjbGVhckF1dG9TY3JvbGxzKCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgYXV0b1Njcm9sbChldnQsIHRoaXMub3B0aW9ucywgZ2V0UGFyZW50QXV0b1Njcm9sbEVsZW1lbnQoZWxlbSwgZmFsc2UpLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuICByZXR1cm4gX2V4dGVuZHMoQXV0b1Njcm9sbCwge1xuICAgIHBsdWdpbk5hbWU6ICdzY3JvbGwnLFxuICAgIGluaXRpYWxpemVCeURlZmF1bHQ6IHRydWVcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNsZWFyQXV0b1Njcm9sbHMoKSB7XG4gIGF1dG9TY3JvbGxzLmZvckVhY2goZnVuY3Rpb24gKGF1dG9TY3JvbGwpIHtcbiAgICBjbGVhckludGVydmFsKGF1dG9TY3JvbGwucGlkKTtcbiAgfSk7XG4gIGF1dG9TY3JvbGxzID0gW107XG59XG5cbmZ1bmN0aW9uIGNsZWFyUG9pbnRlckVsZW1DaGFuZ2VkSW50ZXJ2YWwoKSB7XG4gIGNsZWFySW50ZXJ2YWwocG9pbnRlckVsZW1DaGFuZ2VkSW50ZXJ2YWwpO1xufVxuXG52YXIgYXV0b1Njcm9sbCA9IHRocm90dGxlKGZ1bmN0aW9uIChldnQsIG9wdGlvbnMsIHJvb3RFbCwgaXNGYWxsYmFjaykge1xuICAvLyBCdWc6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTUwNTUyMVxuICBpZiAoIW9wdGlvbnMuc2Nyb2xsKSByZXR1cm47XG4gIHZhciB4ID0gKGV2dC50b3VjaGVzID8gZXZ0LnRvdWNoZXNbMF0gOiBldnQpLmNsaWVudFgsXG4gICAgICB5ID0gKGV2dC50b3VjaGVzID8gZXZ0LnRvdWNoZXNbMF0gOiBldnQpLmNsaWVudFksXG4gICAgICBzZW5zID0gb3B0aW9ucy5zY3JvbGxTZW5zaXRpdml0eSxcbiAgICAgIHNwZWVkID0gb3B0aW9ucy5zY3JvbGxTcGVlZCxcbiAgICAgIHdpblNjcm9sbGVyID0gZ2V0V2luZG93U2Nyb2xsaW5nRWxlbWVudCgpO1xuICB2YXIgc2Nyb2xsVGhpc0luc3RhbmNlID0gZmFsc2UsXG4gICAgICBzY3JvbGxDdXN0b21GbjsgLy8gTmV3IHNjcm9sbCByb290LCBzZXQgc2Nyb2xsRWxcblxuICBpZiAoc2Nyb2xsUm9vdEVsICE9PSByb290RWwpIHtcbiAgICBzY3JvbGxSb290RWwgPSByb290RWw7XG4gICAgY2xlYXJBdXRvU2Nyb2xscygpO1xuICAgIHNjcm9sbEVsID0gb3B0aW9ucy5zY3JvbGw7XG4gICAgc2Nyb2xsQ3VzdG9tRm4gPSBvcHRpb25zLnNjcm9sbEZuO1xuXG4gICAgaWYgKHNjcm9sbEVsID09PSB0cnVlKSB7XG4gICAgICBzY3JvbGxFbCA9IGdldFBhcmVudEF1dG9TY3JvbGxFbGVtZW50KHJvb3RFbCwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGxheWVyc091dCA9IDA7XG4gIHZhciBjdXJyZW50UGFyZW50ID0gc2Nyb2xsRWw7XG5cbiAgZG8ge1xuICAgIHZhciBlbCA9IGN1cnJlbnRQYXJlbnQsXG4gICAgICAgIHJlY3QgPSBnZXRSZWN0KGVsKSxcbiAgICAgICAgdG9wID0gcmVjdC50b3AsXG4gICAgICAgIGJvdHRvbSA9IHJlY3QuYm90dG9tLFxuICAgICAgICBsZWZ0ID0gcmVjdC5sZWZ0LFxuICAgICAgICByaWdodCA9IHJlY3QucmlnaHQsXG4gICAgICAgIHdpZHRoID0gcmVjdC53aWR0aCxcbiAgICAgICAgaGVpZ2h0ID0gcmVjdC5oZWlnaHQsXG4gICAgICAgIGNhblNjcm9sbFggPSB2b2lkIDAsXG4gICAgICAgIGNhblNjcm9sbFkgPSB2b2lkIDAsXG4gICAgICAgIHNjcm9sbFdpZHRoID0gZWwuc2Nyb2xsV2lkdGgsXG4gICAgICAgIHNjcm9sbEhlaWdodCA9IGVsLnNjcm9sbEhlaWdodCxcbiAgICAgICAgZWxDU1MgPSBjc3MoZWwpLFxuICAgICAgICBzY3JvbGxQb3NYID0gZWwuc2Nyb2xsTGVmdCxcbiAgICAgICAgc2Nyb2xsUG9zWSA9IGVsLnNjcm9sbFRvcDtcblxuICAgIGlmIChlbCA9PT0gd2luU2Nyb2xsZXIpIHtcbiAgICAgIGNhblNjcm9sbFggPSB3aWR0aCA8IHNjcm9sbFdpZHRoICYmIChlbENTUy5vdmVyZmxvd1ggPT09ICdhdXRvJyB8fCBlbENTUy5vdmVyZmxvd1ggPT09ICdzY3JvbGwnIHx8IGVsQ1NTLm92ZXJmbG93WCA9PT0gJ3Zpc2libGUnKTtcbiAgICAgIGNhblNjcm9sbFkgPSBoZWlnaHQgPCBzY3JvbGxIZWlnaHQgJiYgKGVsQ1NTLm92ZXJmbG93WSA9PT0gJ2F1dG8nIHx8IGVsQ1NTLm92ZXJmbG93WSA9PT0gJ3Njcm9sbCcgfHwgZWxDU1Mub3ZlcmZsb3dZID09PSAndmlzaWJsZScpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjYW5TY3JvbGxYID0gd2lkdGggPCBzY3JvbGxXaWR0aCAmJiAoZWxDU1Mub3ZlcmZsb3dYID09PSAnYXV0bycgfHwgZWxDU1Mub3ZlcmZsb3dYID09PSAnc2Nyb2xsJyk7XG4gICAgICBjYW5TY3JvbGxZID0gaGVpZ2h0IDwgc2Nyb2xsSGVpZ2h0ICYmIChlbENTUy5vdmVyZmxvd1kgPT09ICdhdXRvJyB8fCBlbENTUy5vdmVyZmxvd1kgPT09ICdzY3JvbGwnKTtcbiAgICB9XG5cbiAgICB2YXIgdnggPSBjYW5TY3JvbGxYICYmIChNYXRoLmFicyhyaWdodCAtIHgpIDw9IHNlbnMgJiYgc2Nyb2xsUG9zWCArIHdpZHRoIDwgc2Nyb2xsV2lkdGgpIC0gKE1hdGguYWJzKGxlZnQgLSB4KSA8PSBzZW5zICYmICEhc2Nyb2xsUG9zWCk7XG4gICAgdmFyIHZ5ID0gY2FuU2Nyb2xsWSAmJiAoTWF0aC5hYnMoYm90dG9tIC0geSkgPD0gc2VucyAmJiBzY3JvbGxQb3NZICsgaGVpZ2h0IDwgc2Nyb2xsSGVpZ2h0KSAtIChNYXRoLmFicyh0b3AgLSB5KSA8PSBzZW5zICYmICEhc2Nyb2xsUG9zWSk7XG5cbiAgICBpZiAoIWF1dG9TY3JvbGxzW2xheWVyc091dF0pIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDw9IGxheWVyc091dDsgaSsrKSB7XG4gICAgICAgIGlmICghYXV0b1Njcm9sbHNbaV0pIHtcbiAgICAgICAgICBhdXRvU2Nyb2xsc1tpXSA9IHt9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGF1dG9TY3JvbGxzW2xheWVyc091dF0udnggIT0gdnggfHwgYXV0b1Njcm9sbHNbbGF5ZXJzT3V0XS52eSAhPSB2eSB8fCBhdXRvU2Nyb2xsc1tsYXllcnNPdXRdLmVsICE9PSBlbCkge1xuICAgICAgYXV0b1Njcm9sbHNbbGF5ZXJzT3V0XS5lbCA9IGVsO1xuICAgICAgYXV0b1Njcm9sbHNbbGF5ZXJzT3V0XS52eCA9IHZ4O1xuICAgICAgYXV0b1Njcm9sbHNbbGF5ZXJzT3V0XS52eSA9IHZ5O1xuICAgICAgY2xlYXJJbnRlcnZhbChhdXRvU2Nyb2xsc1tsYXllcnNPdXRdLnBpZCk7XG5cbiAgICAgIGlmICh2eCAhPSAwIHx8IHZ5ICE9IDApIHtcbiAgICAgICAgc2Nyb2xsVGhpc0luc3RhbmNlID0gdHJ1ZTtcbiAgICAgICAgLyoganNoaW50IGxvb3BmdW5jOnRydWUgKi9cblxuICAgICAgICBhdXRvU2Nyb2xsc1tsYXllcnNPdXRdLnBpZCA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAvLyBlbXVsYXRlIGRyYWcgb3ZlciBkdXJpbmcgYXV0b3Njcm9sbCAoZmFsbGJhY2spLCBlbXVsYXRpbmcgbmF0aXZlIERuRCBiZWhhdmlvdXJcbiAgICAgICAgICBpZiAoaXNGYWxsYmFjayAmJiB0aGlzLmxheWVyID09PSAwKSB7XG4gICAgICAgICAgICBTb3J0YWJsZS5hY3RpdmUuX29uVG91Y2hNb3ZlKHRvdWNoRXZ0JDEpOyAvLyBUbyBtb3ZlIGdob3N0IGlmIGl0IGlzIHBvc2l0aW9uZWQgYWJzb2x1dGVseVxuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIHNjcm9sbE9mZnNldFkgPSBhdXRvU2Nyb2xsc1t0aGlzLmxheWVyXS52eSA/IGF1dG9TY3JvbGxzW3RoaXMubGF5ZXJdLnZ5ICogc3BlZWQgOiAwO1xuICAgICAgICAgIHZhciBzY3JvbGxPZmZzZXRYID0gYXV0b1Njcm9sbHNbdGhpcy5sYXllcl0udnggPyBhdXRvU2Nyb2xsc1t0aGlzLmxheWVyXS52eCAqIHNwZWVkIDogMDtcblxuICAgICAgICAgIGlmICh0eXBlb2Ygc2Nyb2xsQ3VzdG9tRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGlmIChzY3JvbGxDdXN0b21Gbi5jYWxsKFNvcnRhYmxlLmRyYWdnZWQucGFyZW50Tm9kZVtleHBhbmRvXSwgc2Nyb2xsT2Zmc2V0WCwgc2Nyb2xsT2Zmc2V0WSwgZXZ0LCB0b3VjaEV2dCQxLCBhdXRvU2Nyb2xsc1t0aGlzLmxheWVyXS5lbCkgIT09ICdjb250aW51ZScpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHNjcm9sbEJ5KGF1dG9TY3JvbGxzW3RoaXMubGF5ZXJdLmVsLCBzY3JvbGxPZmZzZXRYLCBzY3JvbGxPZmZzZXRZKTtcbiAgICAgICAgfS5iaW5kKHtcbiAgICAgICAgICBsYXllcjogbGF5ZXJzT3V0XG4gICAgICAgIH0pLCAyNCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGF5ZXJzT3V0Kys7XG4gIH0gd2hpbGUgKG9wdGlvbnMuYnViYmxlU2Nyb2xsICYmIGN1cnJlbnRQYXJlbnQgIT09IHdpblNjcm9sbGVyICYmIChjdXJyZW50UGFyZW50ID0gZ2V0UGFyZW50QXV0b1Njcm9sbEVsZW1lbnQoY3VycmVudFBhcmVudCwgZmFsc2UpKSk7XG5cbiAgc2Nyb2xsaW5nID0gc2Nyb2xsVGhpc0luc3RhbmNlOyAvLyBpbiBjYXNlIGFub3RoZXIgZnVuY3Rpb24gY2F0Y2hlcyBzY3JvbGxpbmcgYXMgZmFsc2UgaW4gYmV0d2VlbiB3aGVuIGl0IGlzIG5vdFxufSwgMzApO1xuXG52YXIgZHJvcCA9IGZ1bmN0aW9uIGRyb3AoX3JlZikge1xuICB2YXIgb3JpZ2luYWxFdmVudCA9IF9yZWYub3JpZ2luYWxFdmVudCxcbiAgICAgIHB1dFNvcnRhYmxlID0gX3JlZi5wdXRTb3J0YWJsZSxcbiAgICAgIGRyYWdFbCA9IF9yZWYuZHJhZ0VsLFxuICAgICAgYWN0aXZlU29ydGFibGUgPSBfcmVmLmFjdGl2ZVNvcnRhYmxlLFxuICAgICAgZGlzcGF0Y2hTb3J0YWJsZUV2ZW50ID0gX3JlZi5kaXNwYXRjaFNvcnRhYmxlRXZlbnQsXG4gICAgICBoaWRlR2hvc3RGb3JUYXJnZXQgPSBfcmVmLmhpZGVHaG9zdEZvclRhcmdldCxcbiAgICAgIHVuaGlkZUdob3N0Rm9yVGFyZ2V0ID0gX3JlZi51bmhpZGVHaG9zdEZvclRhcmdldDtcbiAgdmFyIHRvU29ydGFibGUgPSBwdXRTb3J0YWJsZSB8fCBhY3RpdmVTb3J0YWJsZTtcbiAgaGlkZUdob3N0Rm9yVGFyZ2V0KCk7XG4gIHZhciB0b3VjaCA9IG9yaWdpbmFsRXZlbnQuY2hhbmdlZFRvdWNoZXMgJiYgb3JpZ2luYWxFdmVudC5jaGFuZ2VkVG91Y2hlcy5sZW5ndGggPyBvcmlnaW5hbEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdIDogb3JpZ2luYWxFdmVudDtcbiAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQodG91Y2guY2xpZW50WCwgdG91Y2guY2xpZW50WSk7XG4gIHVuaGlkZUdob3N0Rm9yVGFyZ2V0KCk7XG5cbiAgaWYgKHRvU29ydGFibGUgJiYgIXRvU29ydGFibGUuZWwuY29udGFpbnModGFyZ2V0KSkge1xuICAgIGRpc3BhdGNoU29ydGFibGVFdmVudCgnc3BpbGwnKTtcbiAgICB0aGlzLm9uU3BpbGwoe1xuICAgICAgZHJhZ0VsOiBkcmFnRWwsXG4gICAgICBwdXRTb3J0YWJsZTogcHV0U29ydGFibGVcbiAgICB9KTtcbiAgfVxufTtcblxuZnVuY3Rpb24gUmV2ZXJ0KCkge31cblxuUmV2ZXJ0LnByb3RvdHlwZSA9IHtcbiAgc3RhcnRJbmRleDogbnVsbCxcbiAgZHJhZ1N0YXJ0OiBmdW5jdGlvbiBkcmFnU3RhcnQoX3JlZjIpIHtcbiAgICB2YXIgb2xkRHJhZ2dhYmxlSW5kZXggPSBfcmVmMi5vbGREcmFnZ2FibGVJbmRleDtcbiAgICB0aGlzLnN0YXJ0SW5kZXggPSBvbGREcmFnZ2FibGVJbmRleDtcbiAgfSxcbiAgb25TcGlsbDogZnVuY3Rpb24gb25TcGlsbChfcmVmMykge1xuICAgIHZhciBkcmFnRWwgPSBfcmVmMy5kcmFnRWwsXG4gICAgICAgIHB1dFNvcnRhYmxlID0gX3JlZjMucHV0U29ydGFibGU7XG4gICAgdGhpcy5zb3J0YWJsZS5jYXB0dXJlQW5pbWF0aW9uU3RhdGUoKTtcblxuICAgIGlmIChwdXRTb3J0YWJsZSkge1xuICAgICAgcHV0U29ydGFibGUuY2FwdHVyZUFuaW1hdGlvblN0YXRlKCk7XG4gICAgfVxuXG4gICAgdmFyIG5leHRTaWJsaW5nID0gZ2V0Q2hpbGQodGhpcy5zb3J0YWJsZS5lbCwgdGhpcy5zdGFydEluZGV4LCB0aGlzLm9wdGlvbnMpO1xuXG4gICAgaWYgKG5leHRTaWJsaW5nKSB7XG4gICAgICB0aGlzLnNvcnRhYmxlLmVsLmluc2VydEJlZm9yZShkcmFnRWwsIG5leHRTaWJsaW5nKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zb3J0YWJsZS5lbC5hcHBlbmRDaGlsZChkcmFnRWwpO1xuICAgIH1cblxuICAgIHRoaXMuc29ydGFibGUuYW5pbWF0ZUFsbCgpO1xuXG4gICAgaWYgKHB1dFNvcnRhYmxlKSB7XG4gICAgICBwdXRTb3J0YWJsZS5hbmltYXRlQWxsKCk7XG4gICAgfVxuICB9LFxuICBkcm9wOiBkcm9wXG59O1xuXG5fZXh0ZW5kcyhSZXZlcnQsIHtcbiAgcGx1Z2luTmFtZTogJ3JldmVydE9uU3BpbGwnXG59KTtcblxuZnVuY3Rpb24gUmVtb3ZlKCkge31cblxuUmVtb3ZlLnByb3RvdHlwZSA9IHtcbiAgb25TcGlsbDogZnVuY3Rpb24gb25TcGlsbChfcmVmNCkge1xuICAgIHZhciBkcmFnRWwgPSBfcmVmNC5kcmFnRWwsXG4gICAgICAgIHB1dFNvcnRhYmxlID0gX3JlZjQucHV0U29ydGFibGU7XG4gICAgdmFyIHBhcmVudFNvcnRhYmxlID0gcHV0U29ydGFibGUgfHwgdGhpcy5zb3J0YWJsZTtcbiAgICBwYXJlbnRTb3J0YWJsZS5jYXB0dXJlQW5pbWF0aW9uU3RhdGUoKTtcbiAgICBkcmFnRWwucGFyZW50Tm9kZSAmJiBkcmFnRWwucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChkcmFnRWwpO1xuICAgIHBhcmVudFNvcnRhYmxlLmFuaW1hdGVBbGwoKTtcbiAgfSxcbiAgZHJvcDogZHJvcFxufTtcblxuX2V4dGVuZHMoUmVtb3ZlLCB7XG4gIHBsdWdpbk5hbWU6ICdyZW1vdmVPblNwaWxsJ1xufSk7XG5cbnZhciBsYXN0U3dhcEVsO1xuXG5mdW5jdGlvbiBTd2FwUGx1Z2luKCkge1xuICBmdW5jdGlvbiBTd2FwKCkge1xuICAgIHRoaXMuZGVmYXVsdHMgPSB7XG4gICAgICBzd2FwQ2xhc3M6ICdzb3J0YWJsZS1zd2FwLWhpZ2hsaWdodCdcbiAgICB9O1xuICB9XG5cbiAgU3dhcC5wcm90b3R5cGUgPSB7XG4gICAgZHJhZ1N0YXJ0OiBmdW5jdGlvbiBkcmFnU3RhcnQoX3JlZikge1xuICAgICAgdmFyIGRyYWdFbCA9IF9yZWYuZHJhZ0VsO1xuICAgICAgbGFzdFN3YXBFbCA9IGRyYWdFbDtcbiAgICB9LFxuICAgIGRyYWdPdmVyVmFsaWQ6IGZ1bmN0aW9uIGRyYWdPdmVyVmFsaWQoX3JlZjIpIHtcbiAgICAgIHZhciBjb21wbGV0ZWQgPSBfcmVmMi5jb21wbGV0ZWQsXG4gICAgICAgICAgdGFyZ2V0ID0gX3JlZjIudGFyZ2V0LFxuICAgICAgICAgIG9uTW92ZSA9IF9yZWYyLm9uTW92ZSxcbiAgICAgICAgICBhY3RpdmVTb3J0YWJsZSA9IF9yZWYyLmFjdGl2ZVNvcnRhYmxlLFxuICAgICAgICAgIGNoYW5nZWQgPSBfcmVmMi5jaGFuZ2VkLFxuICAgICAgICAgIGNhbmNlbCA9IF9yZWYyLmNhbmNlbDtcbiAgICAgIGlmICghYWN0aXZlU29ydGFibGUub3B0aW9ucy5zd2FwKSByZXR1cm47XG4gICAgICB2YXIgZWwgPSB0aGlzLnNvcnRhYmxlLmVsLFxuICAgICAgICAgIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG5cbiAgICAgIGlmICh0YXJnZXQgJiYgdGFyZ2V0ICE9PSBlbCkge1xuICAgICAgICB2YXIgcHJldlN3YXBFbCA9IGxhc3RTd2FwRWw7XG5cbiAgICAgICAgaWYgKG9uTW92ZSh0YXJnZXQpICE9PSBmYWxzZSkge1xuICAgICAgICAgIHRvZ2dsZUNsYXNzKHRhcmdldCwgb3B0aW9ucy5zd2FwQ2xhc3MsIHRydWUpO1xuICAgICAgICAgIGxhc3RTd2FwRWwgPSB0YXJnZXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGFzdFN3YXBFbCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJldlN3YXBFbCAmJiBwcmV2U3dhcEVsICE9PSBsYXN0U3dhcEVsKSB7XG4gICAgICAgICAgdG9nZ2xlQ2xhc3MocHJldlN3YXBFbCwgb3B0aW9ucy5zd2FwQ2xhc3MsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjaGFuZ2VkKCk7XG4gICAgICBjb21wbGV0ZWQodHJ1ZSk7XG4gICAgICBjYW5jZWwoKTtcbiAgICB9LFxuICAgIGRyb3A6IGZ1bmN0aW9uIGRyb3AoX3JlZjMpIHtcbiAgICAgIHZhciBhY3RpdmVTb3J0YWJsZSA9IF9yZWYzLmFjdGl2ZVNvcnRhYmxlLFxuICAgICAgICAgIHB1dFNvcnRhYmxlID0gX3JlZjMucHV0U29ydGFibGUsXG4gICAgICAgICAgZHJhZ0VsID0gX3JlZjMuZHJhZ0VsO1xuICAgICAgdmFyIHRvU29ydGFibGUgPSBwdXRTb3J0YWJsZSB8fCB0aGlzLnNvcnRhYmxlO1xuICAgICAgdmFyIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gICAgICBsYXN0U3dhcEVsICYmIHRvZ2dsZUNsYXNzKGxhc3RTd2FwRWwsIG9wdGlvbnMuc3dhcENsYXNzLCBmYWxzZSk7XG5cbiAgICAgIGlmIChsYXN0U3dhcEVsICYmIChvcHRpb25zLnN3YXAgfHwgcHV0U29ydGFibGUgJiYgcHV0U29ydGFibGUub3B0aW9ucy5zd2FwKSkge1xuICAgICAgICBpZiAoZHJhZ0VsICE9PSBsYXN0U3dhcEVsKSB7XG4gICAgICAgICAgdG9Tb3J0YWJsZS5jYXB0dXJlQW5pbWF0aW9uU3RhdGUoKTtcbiAgICAgICAgICBpZiAodG9Tb3J0YWJsZSAhPT0gYWN0aXZlU29ydGFibGUpIGFjdGl2ZVNvcnRhYmxlLmNhcHR1cmVBbmltYXRpb25TdGF0ZSgpO1xuICAgICAgICAgIHN3YXBOb2RlcyhkcmFnRWwsIGxhc3RTd2FwRWwpO1xuICAgICAgICAgIHRvU29ydGFibGUuYW5pbWF0ZUFsbCgpO1xuICAgICAgICAgIGlmICh0b1NvcnRhYmxlICE9PSBhY3RpdmVTb3J0YWJsZSkgYWN0aXZlU29ydGFibGUuYW5pbWF0ZUFsbCgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBudWxsaW5nOiBmdW5jdGlvbiBudWxsaW5nKCkge1xuICAgICAgbGFzdFN3YXBFbCA9IG51bGw7XG4gICAgfVxuICB9O1xuICByZXR1cm4gX2V4dGVuZHMoU3dhcCwge1xuICAgIHBsdWdpbk5hbWU6ICdzd2FwJyxcbiAgICBldmVudFByb3BlcnRpZXM6IGZ1bmN0aW9uIGV2ZW50UHJvcGVydGllcygpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN3YXBJdGVtOiBsYXN0U3dhcEVsXG4gICAgICB9O1xuICAgIH1cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHN3YXBOb2RlcyhuMSwgbjIpIHtcbiAgdmFyIHAxID0gbjEucGFyZW50Tm9kZSxcbiAgICAgIHAyID0gbjIucGFyZW50Tm9kZSxcbiAgICAgIGkxLFxuICAgICAgaTI7XG4gIGlmICghcDEgfHwgIXAyIHx8IHAxLmlzRXF1YWxOb2RlKG4yKSB8fCBwMi5pc0VxdWFsTm9kZShuMSkpIHJldHVybjtcbiAgaTEgPSBpbmRleChuMSk7XG4gIGkyID0gaW5kZXgobjIpO1xuXG4gIGlmIChwMS5pc0VxdWFsTm9kZShwMikgJiYgaTEgPCBpMikge1xuICAgIGkyKys7XG4gIH1cblxuICBwMS5pbnNlcnRCZWZvcmUobjIsIHAxLmNoaWxkcmVuW2kxXSk7XG4gIHAyLmluc2VydEJlZm9yZShuMSwgcDIuY2hpbGRyZW5baTJdKTtcbn1cblxudmFyIG11bHRpRHJhZ0VsZW1lbnRzID0gW10sXG4gICAgbXVsdGlEcmFnQ2xvbmVzID0gW10sXG4gICAgbGFzdE11bHRpRHJhZ1NlbGVjdCxcbiAgICAvLyBmb3Igc2VsZWN0aW9uIHdpdGggbW9kaWZpZXIga2V5IGRvd24gKFNISUZUKVxubXVsdGlEcmFnU29ydGFibGUsXG4gICAgaW5pdGlhbEZvbGRpbmcgPSBmYWxzZSxcbiAgICAvLyBJbml0aWFsIG11bHRpLWRyYWcgZm9sZCB3aGVuIGRyYWcgc3RhcnRlZFxuZm9sZGluZyA9IGZhbHNlLFxuICAgIC8vIEZvbGRpbmcgYW55IG90aGVyIHRpbWVcbmRyYWdTdGFydGVkID0gZmFsc2UsXG4gICAgZHJhZ0VsJDEsXG4gICAgY2xvbmVzRnJvbVJlY3QsXG4gICAgY2xvbmVzSGlkZGVuO1xuXG5mdW5jdGlvbiBNdWx0aURyYWdQbHVnaW4oKSB7XG4gIGZ1bmN0aW9uIE11bHRpRHJhZyhzb3J0YWJsZSkge1xuICAgIC8vIEJpbmQgYWxsIHByaXZhdGUgbWV0aG9kc1xuICAgIGZvciAodmFyIGZuIGluIHRoaXMpIHtcbiAgICAgIGlmIChmbi5jaGFyQXQoMCkgPT09ICdfJyAmJiB0eXBlb2YgdGhpc1tmbl0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhpc1tmbl0gPSB0aGlzW2ZuXS5iaW5kKHRoaXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzb3J0YWJsZS5vcHRpb25zLnN1cHBvcnRQb2ludGVyKSB7XG4gICAgICBvbihkb2N1bWVudCwgJ3BvaW50ZXJ1cCcsIHRoaXMuX2Rlc2VsZWN0TXVsdGlEcmFnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb24oZG9jdW1lbnQsICdtb3VzZXVwJywgdGhpcy5fZGVzZWxlY3RNdWx0aURyYWcpO1xuICAgICAgb24oZG9jdW1lbnQsICd0b3VjaGVuZCcsIHRoaXMuX2Rlc2VsZWN0TXVsdGlEcmFnKTtcbiAgICB9XG5cbiAgICBvbihkb2N1bWVudCwgJ2tleWRvd24nLCB0aGlzLl9jaGVja0tleURvd24pO1xuICAgIG9uKGRvY3VtZW50LCAna2V5dXAnLCB0aGlzLl9jaGVja0tleVVwKTtcbiAgICB0aGlzLmRlZmF1bHRzID0ge1xuICAgICAgc2VsZWN0ZWRDbGFzczogJ3NvcnRhYmxlLXNlbGVjdGVkJyxcbiAgICAgIG11bHRpRHJhZ0tleTogbnVsbCxcbiAgICAgIHNldERhdGE6IGZ1bmN0aW9uIHNldERhdGEoZGF0YVRyYW5zZmVyLCBkcmFnRWwpIHtcbiAgICAgICAgdmFyIGRhdGEgPSAnJztcblxuICAgICAgICBpZiAobXVsdGlEcmFnRWxlbWVudHMubGVuZ3RoICYmIG11bHRpRHJhZ1NvcnRhYmxlID09PSBzb3J0YWJsZSkge1xuICAgICAgICAgIG11bHRpRHJhZ0VsZW1lbnRzLmZvckVhY2goZnVuY3Rpb24gKG11bHRpRHJhZ0VsZW1lbnQsIGkpIHtcbiAgICAgICAgICAgIGRhdGEgKz0gKCFpID8gJycgOiAnLCAnKSArIG11bHRpRHJhZ0VsZW1lbnQudGV4dENvbnRlbnQ7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGF0YSA9IGRyYWdFbC50ZXh0Q29udGVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGRhdGFUcmFuc2Zlci5zZXREYXRhKCdUZXh0JywgZGF0YSk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIE11bHRpRHJhZy5wcm90b3R5cGUgPSB7XG4gICAgbXVsdGlEcmFnS2V5RG93bjogZmFsc2UsXG4gICAgaXNNdWx0aURyYWc6IGZhbHNlLFxuICAgIGRlbGF5U3RhcnRHbG9iYWw6IGZ1bmN0aW9uIGRlbGF5U3RhcnRHbG9iYWwoX3JlZikge1xuICAgICAgdmFyIGRyYWdnZWQgPSBfcmVmLmRyYWdFbDtcbiAgICAgIGRyYWdFbCQxID0gZHJhZ2dlZDtcbiAgICB9LFxuICAgIGRlbGF5RW5kZWQ6IGZ1bmN0aW9uIGRlbGF5RW5kZWQoKSB7XG4gICAgICB0aGlzLmlzTXVsdGlEcmFnID0gfm11bHRpRHJhZ0VsZW1lbnRzLmluZGV4T2YoZHJhZ0VsJDEpO1xuICAgIH0sXG4gICAgc2V0dXBDbG9uZTogZnVuY3Rpb24gc2V0dXBDbG9uZShfcmVmMikge1xuICAgICAgdmFyIHNvcnRhYmxlID0gX3JlZjIuc29ydGFibGUsXG4gICAgICAgICAgY2FuY2VsID0gX3JlZjIuY2FuY2VsO1xuICAgICAgaWYgKCF0aGlzLmlzTXVsdGlEcmFnKSByZXR1cm47XG5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbXVsdGlEcmFnRWxlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbXVsdGlEcmFnQ2xvbmVzLnB1c2goY2xvbmUobXVsdGlEcmFnRWxlbWVudHNbaV0pKTtcbiAgICAgICAgbXVsdGlEcmFnQ2xvbmVzW2ldLnNvcnRhYmxlSW5kZXggPSBtdWx0aURyYWdFbGVtZW50c1tpXS5zb3J0YWJsZUluZGV4O1xuICAgICAgICBtdWx0aURyYWdDbG9uZXNbaV0uZHJhZ2dhYmxlID0gZmFsc2U7XG4gICAgICAgIG11bHRpRHJhZ0Nsb25lc1tpXS5zdHlsZVsnd2lsbC1jaGFuZ2UnXSA9ICcnO1xuICAgICAgICB0b2dnbGVDbGFzcyhtdWx0aURyYWdDbG9uZXNbaV0sIHRoaXMub3B0aW9ucy5zZWxlY3RlZENsYXNzLCBmYWxzZSk7XG4gICAgICAgIG11bHRpRHJhZ0VsZW1lbnRzW2ldID09PSBkcmFnRWwkMSAmJiB0b2dnbGVDbGFzcyhtdWx0aURyYWdDbG9uZXNbaV0sIHRoaXMub3B0aW9ucy5jaG9zZW5DbGFzcywgZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICBzb3J0YWJsZS5faGlkZUNsb25lKCk7XG5cbiAgICAgIGNhbmNlbCgpO1xuICAgIH0sXG4gICAgY2xvbmU6IGZ1bmN0aW9uIGNsb25lKF9yZWYzKSB7XG4gICAgICB2YXIgc29ydGFibGUgPSBfcmVmMy5zb3J0YWJsZSxcbiAgICAgICAgICByb290RWwgPSBfcmVmMy5yb290RWwsXG4gICAgICAgICAgZGlzcGF0Y2hTb3J0YWJsZUV2ZW50ID0gX3JlZjMuZGlzcGF0Y2hTb3J0YWJsZUV2ZW50LFxuICAgICAgICAgIGNhbmNlbCA9IF9yZWYzLmNhbmNlbDtcbiAgICAgIGlmICghdGhpcy5pc011bHRpRHJhZykgcmV0dXJuO1xuXG4gICAgICBpZiAoIXRoaXMub3B0aW9ucy5yZW1vdmVDbG9uZU9uSGlkZSkge1xuICAgICAgICBpZiAobXVsdGlEcmFnRWxlbWVudHMubGVuZ3RoICYmIG11bHRpRHJhZ1NvcnRhYmxlID09PSBzb3J0YWJsZSkge1xuICAgICAgICAgIGluc2VydE11bHRpRHJhZ0Nsb25lcyh0cnVlLCByb290RWwpO1xuICAgICAgICAgIGRpc3BhdGNoU29ydGFibGVFdmVudCgnY2xvbmUnKTtcbiAgICAgICAgICBjYW5jZWwoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgc2hvd0Nsb25lOiBmdW5jdGlvbiBzaG93Q2xvbmUoX3JlZjQpIHtcbiAgICAgIHZhciBjbG9uZU5vd1Nob3duID0gX3JlZjQuY2xvbmVOb3dTaG93bixcbiAgICAgICAgICByb290RWwgPSBfcmVmNC5yb290RWwsXG4gICAgICAgICAgY2FuY2VsID0gX3JlZjQuY2FuY2VsO1xuICAgICAgaWYgKCF0aGlzLmlzTXVsdGlEcmFnKSByZXR1cm47XG4gICAgICBpbnNlcnRNdWx0aURyYWdDbG9uZXMoZmFsc2UsIHJvb3RFbCk7XG4gICAgICBtdWx0aURyYWdDbG9uZXMuZm9yRWFjaChmdW5jdGlvbiAoY2xvbmUpIHtcbiAgICAgICAgY3NzKGNsb25lLCAnZGlzcGxheScsICcnKTtcbiAgICAgIH0pO1xuICAgICAgY2xvbmVOb3dTaG93bigpO1xuICAgICAgY2xvbmVzSGlkZGVuID0gZmFsc2U7XG4gICAgICBjYW5jZWwoKTtcbiAgICB9LFxuICAgIGhpZGVDbG9uZTogZnVuY3Rpb24gaGlkZUNsb25lKF9yZWY1KSB7XG4gICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICB2YXIgc29ydGFibGUgPSBfcmVmNS5zb3J0YWJsZSxcbiAgICAgICAgICBjbG9uZU5vd0hpZGRlbiA9IF9yZWY1LmNsb25lTm93SGlkZGVuLFxuICAgICAgICAgIGNhbmNlbCA9IF9yZWY1LmNhbmNlbDtcbiAgICAgIGlmICghdGhpcy5pc011bHRpRHJhZykgcmV0dXJuO1xuICAgICAgbXVsdGlEcmFnQ2xvbmVzLmZvckVhY2goZnVuY3Rpb24gKGNsb25lKSB7XG4gICAgICAgIGNzcyhjbG9uZSwgJ2Rpc3BsYXknLCAnbm9uZScpO1xuXG4gICAgICAgIGlmIChfdGhpcy5vcHRpb25zLnJlbW92ZUNsb25lT25IaWRlICYmIGNsb25lLnBhcmVudE5vZGUpIHtcbiAgICAgICAgICBjbG9uZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGNsb25lKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBjbG9uZU5vd0hpZGRlbigpO1xuICAgICAgY2xvbmVzSGlkZGVuID0gdHJ1ZTtcbiAgICAgIGNhbmNlbCgpO1xuICAgIH0sXG4gICAgZHJhZ1N0YXJ0R2xvYmFsOiBmdW5jdGlvbiBkcmFnU3RhcnRHbG9iYWwoX3JlZjYpIHtcbiAgICAgIHZhciBzb3J0YWJsZSA9IF9yZWY2LnNvcnRhYmxlO1xuXG4gICAgICBpZiAoIXRoaXMuaXNNdWx0aURyYWcgJiYgbXVsdGlEcmFnU29ydGFibGUpIHtcbiAgICAgICAgbXVsdGlEcmFnU29ydGFibGUubXVsdGlEcmFnLl9kZXNlbGVjdE11bHRpRHJhZygpO1xuICAgICAgfVxuXG4gICAgICBtdWx0aURyYWdFbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9uIChtdWx0aURyYWdFbGVtZW50KSB7XG4gICAgICAgIG11bHRpRHJhZ0VsZW1lbnQuc29ydGFibGVJbmRleCA9IGluZGV4KG11bHRpRHJhZ0VsZW1lbnQpO1xuICAgICAgfSk7IC8vIFNvcnQgbXVsdGktZHJhZyBlbGVtZW50c1xuXG4gICAgICBtdWx0aURyYWdFbGVtZW50cyA9IG11bHRpRHJhZ0VsZW1lbnRzLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgICAgcmV0dXJuIGEuc29ydGFibGVJbmRleCAtIGIuc29ydGFibGVJbmRleDtcbiAgICAgIH0pO1xuICAgICAgZHJhZ1N0YXJ0ZWQgPSB0cnVlO1xuICAgIH0sXG4gICAgZHJhZ1N0YXJ0ZWQ6IGZ1bmN0aW9uIGRyYWdTdGFydGVkKF9yZWY3KSB7XG4gICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgdmFyIHNvcnRhYmxlID0gX3JlZjcuc29ydGFibGU7XG4gICAgICBpZiAoIXRoaXMuaXNNdWx0aURyYWcpIHJldHVybjtcblxuICAgICAgaWYgKHRoaXMub3B0aW9ucy5zb3J0KSB7XG4gICAgICAgIC8vIENhcHR1cmUgcmVjdHMsXG4gICAgICAgIC8vIGhpZGUgbXVsdGkgZHJhZyBlbGVtZW50cyAoYnkgcG9zaXRpb25pbmcgdGhlbSBhYnNvbHV0ZSksXG4gICAgICAgIC8vIHNldCBtdWx0aSBkcmFnIGVsZW1lbnRzIHJlY3RzIHRvIGRyYWdSZWN0LFxuICAgICAgICAvLyBzaG93IG11bHRpIGRyYWcgZWxlbWVudHMsXG4gICAgICAgIC8vIGFuaW1hdGUgdG8gcmVjdHMsXG4gICAgICAgIC8vIHVuc2V0IHJlY3RzICYgcmVtb3ZlIGZyb20gRE9NXG4gICAgICAgIHNvcnRhYmxlLmNhcHR1cmVBbmltYXRpb25TdGF0ZSgpO1xuXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMuYW5pbWF0aW9uKSB7XG4gICAgICAgICAgbXVsdGlEcmFnRWxlbWVudHMuZm9yRWFjaChmdW5jdGlvbiAobXVsdGlEcmFnRWxlbWVudCkge1xuICAgICAgICAgICAgaWYgKG11bHRpRHJhZ0VsZW1lbnQgPT09IGRyYWdFbCQxKSByZXR1cm47XG4gICAgICAgICAgICBjc3MobXVsdGlEcmFnRWxlbWVudCwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdmFyIGRyYWdSZWN0ID0gZ2V0UmVjdChkcmFnRWwkMSwgZmFsc2UsIHRydWUsIHRydWUpO1xuICAgICAgICAgIG11bHRpRHJhZ0VsZW1lbnRzLmZvckVhY2goZnVuY3Rpb24gKG11bHRpRHJhZ0VsZW1lbnQpIHtcbiAgICAgICAgICAgIGlmIChtdWx0aURyYWdFbGVtZW50ID09PSBkcmFnRWwkMSkgcmV0dXJuO1xuICAgICAgICAgICAgc2V0UmVjdChtdWx0aURyYWdFbGVtZW50LCBkcmFnUmVjdCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZm9sZGluZyA9IHRydWU7XG4gICAgICAgICAgaW5pdGlhbEZvbGRpbmcgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNvcnRhYmxlLmFuaW1hdGVBbGwoZnVuY3Rpb24gKCkge1xuICAgICAgICBmb2xkaW5nID0gZmFsc2U7XG4gICAgICAgIGluaXRpYWxGb2xkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKF90aGlzMi5vcHRpb25zLmFuaW1hdGlvbikge1xuICAgICAgICAgIG11bHRpRHJhZ0VsZW1lbnRzLmZvckVhY2goZnVuY3Rpb24gKG11bHRpRHJhZ0VsZW1lbnQpIHtcbiAgICAgICAgICAgIHVuc2V0UmVjdChtdWx0aURyYWdFbGVtZW50KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSAvLyBSZW1vdmUgYWxsIGF1eGlsaWFyeSBtdWx0aWRyYWcgaXRlbXMgZnJvbSBlbCwgaWYgc29ydGluZyBlbmFibGVkXG5cblxuICAgICAgICBpZiAoX3RoaXMyLm9wdGlvbnMuc29ydCkge1xuICAgICAgICAgIHJlbW92ZU11bHRpRHJhZ0VsZW1lbnRzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0sXG4gICAgZHJhZ092ZXI6IGZ1bmN0aW9uIGRyYWdPdmVyKF9yZWY4KSB7XG4gICAgICB2YXIgdGFyZ2V0ID0gX3JlZjgudGFyZ2V0LFxuICAgICAgICAgIGNvbXBsZXRlZCA9IF9yZWY4LmNvbXBsZXRlZCxcbiAgICAgICAgICBjYW5jZWwgPSBfcmVmOC5jYW5jZWw7XG5cbiAgICAgIGlmIChmb2xkaW5nICYmIH5tdWx0aURyYWdFbGVtZW50cy5pbmRleE9mKHRhcmdldCkpIHtcbiAgICAgICAgY29tcGxldGVkKGZhbHNlKTtcbiAgICAgICAgY2FuY2VsKCk7XG4gICAgICB9XG4gICAgfSxcbiAgICByZXZlcnQ6IGZ1bmN0aW9uIHJldmVydChfcmVmOSkge1xuICAgICAgdmFyIGZyb21Tb3J0YWJsZSA9IF9yZWY5LmZyb21Tb3J0YWJsZSxcbiAgICAgICAgICByb290RWwgPSBfcmVmOS5yb290RWwsXG4gICAgICAgICAgc29ydGFibGUgPSBfcmVmOS5zb3J0YWJsZSxcbiAgICAgICAgICBkcmFnUmVjdCA9IF9yZWY5LmRyYWdSZWN0O1xuXG4gICAgICBpZiAobXVsdGlEcmFnRWxlbWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICAvLyBTZXR1cCB1bmZvbGQgYW5pbWF0aW9uXG4gICAgICAgIG11bHRpRHJhZ0VsZW1lbnRzLmZvckVhY2goZnVuY3Rpb24gKG11bHRpRHJhZ0VsZW1lbnQpIHtcbiAgICAgICAgICBzb3J0YWJsZS5hZGRBbmltYXRpb25TdGF0ZSh7XG4gICAgICAgICAgICB0YXJnZXQ6IG11bHRpRHJhZ0VsZW1lbnQsXG4gICAgICAgICAgICByZWN0OiBmb2xkaW5nID8gZ2V0UmVjdChtdWx0aURyYWdFbGVtZW50KSA6IGRyYWdSZWN0XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdW5zZXRSZWN0KG11bHRpRHJhZ0VsZW1lbnQpO1xuICAgICAgICAgIG11bHRpRHJhZ0VsZW1lbnQuZnJvbVJlY3QgPSBkcmFnUmVjdDtcbiAgICAgICAgICBmcm9tU29ydGFibGUucmVtb3ZlQW5pbWF0aW9uU3RhdGUobXVsdGlEcmFnRWxlbWVudCk7XG4gICAgICAgIH0pO1xuICAgICAgICBmb2xkaW5nID0gZmFsc2U7XG4gICAgICAgIGluc2VydE11bHRpRHJhZ0VsZW1lbnRzKCF0aGlzLm9wdGlvbnMucmVtb3ZlQ2xvbmVPbkhpZGUsIHJvb3RFbCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBkcmFnT3ZlckNvbXBsZXRlZDogZnVuY3Rpb24gZHJhZ092ZXJDb21wbGV0ZWQoX3JlZjEwKSB7XG4gICAgICB2YXIgc29ydGFibGUgPSBfcmVmMTAuc29ydGFibGUsXG4gICAgICAgICAgaXNPd25lciA9IF9yZWYxMC5pc093bmVyLFxuICAgICAgICAgIGluc2VydGlvbiA9IF9yZWYxMC5pbnNlcnRpb24sXG4gICAgICAgICAgYWN0aXZlU29ydGFibGUgPSBfcmVmMTAuYWN0aXZlU29ydGFibGUsXG4gICAgICAgICAgcGFyZW50RWwgPSBfcmVmMTAucGFyZW50RWwsXG4gICAgICAgICAgcHV0U29ydGFibGUgPSBfcmVmMTAucHV0U29ydGFibGU7XG4gICAgICB2YXIgb3B0aW9ucyA9IHRoaXMub3B0aW9ucztcblxuICAgICAgaWYgKGluc2VydGlvbikge1xuICAgICAgICAvLyBDbG9uZXMgbXVzdCBiZSBoaWRkZW4gYmVmb3JlIGZvbGRpbmcgYW5pbWF0aW9uIHRvIGNhcHR1cmUgZHJhZ1JlY3RBYnNvbHV0ZSBwcm9wZXJseVxuICAgICAgICBpZiAoaXNPd25lcikge1xuICAgICAgICAgIGFjdGl2ZVNvcnRhYmxlLl9oaWRlQ2xvbmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGluaXRpYWxGb2xkaW5nID0gZmFsc2U7IC8vIElmIGxlYXZpbmcgc29ydDpmYWxzZSByb290LCBvciBhbHJlYWR5IGZvbGRpbmcgLSBGb2xkIHRvIG5ldyBsb2NhdGlvblxuXG4gICAgICAgIGlmIChvcHRpb25zLmFuaW1hdGlvbiAmJiBtdWx0aURyYWdFbGVtZW50cy5sZW5ndGggPiAxICYmIChmb2xkaW5nIHx8ICFpc093bmVyICYmICFhY3RpdmVTb3J0YWJsZS5vcHRpb25zLnNvcnQgJiYgIXB1dFNvcnRhYmxlKSkge1xuICAgICAgICAgIC8vIEZvbGQ6IFNldCBhbGwgbXVsdGkgZHJhZyBlbGVtZW50cydzIHJlY3RzIHRvIGRyYWdFbCdzIHJlY3Qgd2hlbiBtdWx0aS1kcmFnIGVsZW1lbnRzIGFyZSBpbnZpc2libGVcbiAgICAgICAgICB2YXIgZHJhZ1JlY3RBYnNvbHV0ZSA9IGdldFJlY3QoZHJhZ0VsJDEsIGZhbHNlLCB0cnVlLCB0cnVlKTtcbiAgICAgICAgICBtdWx0aURyYWdFbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9uIChtdWx0aURyYWdFbGVtZW50KSB7XG4gICAgICAgICAgICBpZiAobXVsdGlEcmFnRWxlbWVudCA9PT0gZHJhZ0VsJDEpIHJldHVybjtcbiAgICAgICAgICAgIHNldFJlY3QobXVsdGlEcmFnRWxlbWVudCwgZHJhZ1JlY3RBYnNvbHV0ZSk7IC8vIE1vdmUgZWxlbWVudChzKSB0byBlbmQgb2YgcGFyZW50RWwgc28gdGhhdCBpdCBkb2VzIG5vdCBpbnRlcmZlcmUgd2l0aCBtdWx0aS1kcmFnIGNsb25lcyBpbnNlcnRpb24gaWYgdGhleSBhcmUgaW5zZXJ0ZWRcbiAgICAgICAgICAgIC8vIHdoaWxlIGZvbGRpbmcsIGFuZCBzbyB0aGF0IHdlIGNhbiBjYXB0dXJlIHRoZW0gYWdhaW4gYmVjYXVzZSBvbGQgc29ydGFibGUgd2lsbCBubyBsb25nZXIgYmUgZnJvbVNvcnRhYmxlXG5cbiAgICAgICAgICAgIHBhcmVudEVsLmFwcGVuZENoaWxkKG11bHRpRHJhZ0VsZW1lbnQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGZvbGRpbmcgPSB0cnVlO1xuICAgICAgICB9IC8vIENsb25lcyBtdXN0IGJlIHNob3duIChhbmQgY2hlY2sgdG8gcmVtb3ZlIG11bHRpIGRyYWdzKSBhZnRlciBmb2xkaW5nIHdoZW4gaW50ZXJmZXJpbmcgbXVsdGlEcmFnRWxlbWVudHMgYXJlIG1vdmVkIG91dFxuXG5cbiAgICAgICAgaWYgKCFpc093bmVyKSB7XG4gICAgICAgICAgLy8gT25seSByZW1vdmUgaWYgbm90IGZvbGRpbmcgKGZvbGRpbmcgd2lsbCByZW1vdmUgdGhlbSBhbnl3YXlzKVxuICAgICAgICAgIGlmICghZm9sZGluZykge1xuICAgICAgICAgICAgcmVtb3ZlTXVsdGlEcmFnRWxlbWVudHMoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobXVsdGlEcmFnRWxlbWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgdmFyIGNsb25lc0hpZGRlbkJlZm9yZSA9IGNsb25lc0hpZGRlbjtcblxuICAgICAgICAgICAgYWN0aXZlU29ydGFibGUuX3Nob3dDbG9uZShzb3J0YWJsZSk7IC8vIFVuZm9sZCBhbmltYXRpb24gZm9yIGNsb25lcyBpZiBzaG93aW5nIGZyb20gaGlkZGVuXG5cblxuICAgICAgICAgICAgaWYgKGFjdGl2ZVNvcnRhYmxlLm9wdGlvbnMuYW5pbWF0aW9uICYmICFjbG9uZXNIaWRkZW4gJiYgY2xvbmVzSGlkZGVuQmVmb3JlKSB7XG4gICAgICAgICAgICAgIG11bHRpRHJhZ0Nsb25lcy5mb3JFYWNoKGZ1bmN0aW9uIChjbG9uZSkge1xuICAgICAgICAgICAgICAgIGFjdGl2ZVNvcnRhYmxlLmFkZEFuaW1hdGlvblN0YXRlKHtcbiAgICAgICAgICAgICAgICAgIHRhcmdldDogY2xvbmUsXG4gICAgICAgICAgICAgICAgICByZWN0OiBjbG9uZXNGcm9tUmVjdFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNsb25lLmZyb21SZWN0ID0gY2xvbmVzRnJvbVJlY3Q7XG4gICAgICAgICAgICAgICAgY2xvbmUudGhpc0FuaW1hdGlvbkR1cmF0aW9uID0gbnVsbDtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFjdGl2ZVNvcnRhYmxlLl9zaG93Q2xvbmUoc29ydGFibGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgZHJhZ092ZXJBbmltYXRpb25DYXB0dXJlOiBmdW5jdGlvbiBkcmFnT3ZlckFuaW1hdGlvbkNhcHR1cmUoX3JlZjExKSB7XG4gICAgICB2YXIgZHJhZ1JlY3QgPSBfcmVmMTEuZHJhZ1JlY3QsXG4gICAgICAgICAgaXNPd25lciA9IF9yZWYxMS5pc093bmVyLFxuICAgICAgICAgIGFjdGl2ZVNvcnRhYmxlID0gX3JlZjExLmFjdGl2ZVNvcnRhYmxlO1xuICAgICAgbXVsdGlEcmFnRWxlbWVudHMuZm9yRWFjaChmdW5jdGlvbiAobXVsdGlEcmFnRWxlbWVudCkge1xuICAgICAgICBtdWx0aURyYWdFbGVtZW50LnRoaXNBbmltYXRpb25EdXJhdGlvbiA9IG51bGw7XG4gICAgICB9KTtcblxuICAgICAgaWYgKGFjdGl2ZVNvcnRhYmxlLm9wdGlvbnMuYW5pbWF0aW9uICYmICFpc093bmVyICYmIGFjdGl2ZVNvcnRhYmxlLm11bHRpRHJhZy5pc011bHRpRHJhZykge1xuICAgICAgICBjbG9uZXNGcm9tUmVjdCA9IF9leHRlbmRzKHt9LCBkcmFnUmVjdCk7XG4gICAgICAgIHZhciBkcmFnTWF0cml4ID0gbWF0cml4KGRyYWdFbCQxLCB0cnVlKTtcbiAgICAgICAgY2xvbmVzRnJvbVJlY3QudG9wIC09IGRyYWdNYXRyaXguZjtcbiAgICAgICAgY2xvbmVzRnJvbVJlY3QubGVmdCAtPSBkcmFnTWF0cml4LmU7XG4gICAgICB9XG4gICAgfSxcbiAgICBkcmFnT3ZlckFuaW1hdGlvbkNvbXBsZXRlOiBmdW5jdGlvbiBkcmFnT3ZlckFuaW1hdGlvbkNvbXBsZXRlKCkge1xuICAgICAgaWYgKGZvbGRpbmcpIHtcbiAgICAgICAgZm9sZGluZyA9IGZhbHNlO1xuICAgICAgICByZW1vdmVNdWx0aURyYWdFbGVtZW50cygpO1xuICAgICAgfVxuICAgIH0sXG4gICAgZHJvcDogZnVuY3Rpb24gZHJvcChfcmVmMTIpIHtcbiAgICAgIHZhciBldnQgPSBfcmVmMTIub3JpZ2luYWxFdmVudCxcbiAgICAgICAgICByb290RWwgPSBfcmVmMTIucm9vdEVsLFxuICAgICAgICAgIHBhcmVudEVsID0gX3JlZjEyLnBhcmVudEVsLFxuICAgICAgICAgIHNvcnRhYmxlID0gX3JlZjEyLnNvcnRhYmxlLFxuICAgICAgICAgIGRpc3BhdGNoU29ydGFibGVFdmVudCA9IF9yZWYxMi5kaXNwYXRjaFNvcnRhYmxlRXZlbnQsXG4gICAgICAgICAgb2xkSW5kZXggPSBfcmVmMTIub2xkSW5kZXgsXG4gICAgICAgICAgcHV0U29ydGFibGUgPSBfcmVmMTIucHV0U29ydGFibGU7XG4gICAgICB2YXIgdG9Tb3J0YWJsZSA9IHB1dFNvcnRhYmxlIHx8IHRoaXMuc29ydGFibGU7XG4gICAgICBpZiAoIWV2dCkgcmV0dXJuO1xuICAgICAgdmFyIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnMsXG4gICAgICAgICAgY2hpbGRyZW4gPSBwYXJlbnRFbC5jaGlsZHJlbjsgLy8gTXVsdGktZHJhZyBzZWxlY3Rpb25cblxuICAgICAgaWYgKCFkcmFnU3RhcnRlZCkge1xuICAgICAgICBpZiAob3B0aW9ucy5tdWx0aURyYWdLZXkgJiYgIXRoaXMubXVsdGlEcmFnS2V5RG93bikge1xuICAgICAgICAgIHRoaXMuX2Rlc2VsZWN0TXVsdGlEcmFnKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0b2dnbGVDbGFzcyhkcmFnRWwkMSwgb3B0aW9ucy5zZWxlY3RlZENsYXNzLCAhfm11bHRpRHJhZ0VsZW1lbnRzLmluZGV4T2YoZHJhZ0VsJDEpKTtcblxuICAgICAgICBpZiAoIX5tdWx0aURyYWdFbGVtZW50cy5pbmRleE9mKGRyYWdFbCQxKSkge1xuICAgICAgICAgIG11bHRpRHJhZ0VsZW1lbnRzLnB1c2goZHJhZ0VsJDEpO1xuICAgICAgICAgIGRpc3BhdGNoRXZlbnQoe1xuICAgICAgICAgICAgc29ydGFibGU6IHNvcnRhYmxlLFxuICAgICAgICAgICAgcm9vdEVsOiByb290RWwsXG4gICAgICAgICAgICBuYW1lOiAnc2VsZWN0JyxcbiAgICAgICAgICAgIHRhcmdldEVsOiBkcmFnRWwkMSxcbiAgICAgICAgICAgIG9yaWdpbmFsRXZ0OiBldnRcbiAgICAgICAgICB9KTsgLy8gTW9kaWZpZXIgYWN0aXZhdGVkLCBzZWxlY3QgZnJvbSBsYXN0IHRvIGRyYWdFbFxuXG4gICAgICAgICAgaWYgKGV2dC5zaGlmdEtleSAmJiBsYXN0TXVsdGlEcmFnU2VsZWN0ICYmIHNvcnRhYmxlLmVsLmNvbnRhaW5zKGxhc3RNdWx0aURyYWdTZWxlY3QpKSB7XG4gICAgICAgICAgICB2YXIgbGFzdEluZGV4ID0gaW5kZXgobGFzdE11bHRpRHJhZ1NlbGVjdCksXG4gICAgICAgICAgICAgICAgY3VycmVudEluZGV4ID0gaW5kZXgoZHJhZ0VsJDEpO1xuXG4gICAgICAgICAgICBpZiAofmxhc3RJbmRleCAmJiB+Y3VycmVudEluZGV4ICYmIGxhc3RJbmRleCAhPT0gY3VycmVudEluZGV4KSB7XG4gICAgICAgICAgICAgIC8vIE11c3QgaW5jbHVkZSBsYXN0TXVsdGlEcmFnU2VsZWN0IChzZWxlY3QgaXQpLCBpbiBjYXNlIG1vZGlmaWVkIHNlbGVjdGlvbiBmcm9tIG5vIHNlbGVjdGlvblxuICAgICAgICAgICAgICAvLyAoYnV0IHByZXZpb3VzIHNlbGVjdGlvbiBleGlzdGVkKVxuICAgICAgICAgICAgICB2YXIgbiwgaTtcblxuICAgICAgICAgICAgICBpZiAoY3VycmVudEluZGV4ID4gbGFzdEluZGV4KSB7XG4gICAgICAgICAgICAgICAgaSA9IGxhc3RJbmRleDtcbiAgICAgICAgICAgICAgICBuID0gY3VycmVudEluZGV4O1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGkgPSBjdXJyZW50SW5kZXg7XG4gICAgICAgICAgICAgICAgbiA9IGxhc3RJbmRleCArIDE7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBmb3IgKDsgaSA8IG47IGkrKykge1xuICAgICAgICAgICAgICAgIGlmICh+bXVsdGlEcmFnRWxlbWVudHMuaW5kZXhPZihjaGlsZHJlbltpXSkpIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIHRvZ2dsZUNsYXNzKGNoaWxkcmVuW2ldLCBvcHRpb25zLnNlbGVjdGVkQ2xhc3MsIHRydWUpO1xuICAgICAgICAgICAgICAgIG11bHRpRHJhZ0VsZW1lbnRzLnB1c2goY2hpbGRyZW5baV0pO1xuICAgICAgICAgICAgICAgIGRpc3BhdGNoRXZlbnQoe1xuICAgICAgICAgICAgICAgICAgc29ydGFibGU6IHNvcnRhYmxlLFxuICAgICAgICAgICAgICAgICAgcm9vdEVsOiByb290RWwsXG4gICAgICAgICAgICAgICAgICBuYW1lOiAnc2VsZWN0JyxcbiAgICAgICAgICAgICAgICAgIHRhcmdldEVsOiBjaGlsZHJlbltpXSxcbiAgICAgICAgICAgICAgICAgIG9yaWdpbmFsRXZ0OiBldnRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsYXN0TXVsdGlEcmFnU2VsZWN0ID0gZHJhZ0VsJDE7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbXVsdGlEcmFnU29ydGFibGUgPSB0b1NvcnRhYmxlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG11bHRpRHJhZ0VsZW1lbnRzLnNwbGljZShtdWx0aURyYWdFbGVtZW50cy5pbmRleE9mKGRyYWdFbCQxKSwgMSk7XG4gICAgICAgICAgbGFzdE11bHRpRHJhZ1NlbGVjdCA9IG51bGw7XG4gICAgICAgICAgZGlzcGF0Y2hFdmVudCh7XG4gICAgICAgICAgICBzb3J0YWJsZTogc29ydGFibGUsXG4gICAgICAgICAgICByb290RWw6IHJvb3RFbCxcbiAgICAgICAgICAgIG5hbWU6ICdkZXNlbGVjdCcsXG4gICAgICAgICAgICB0YXJnZXRFbDogZHJhZ0VsJDEsXG4gICAgICAgICAgICBvcmlnaW5hbEV2dDogZXZ0XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gTXVsdGktZHJhZyBkcm9wXG5cblxuICAgICAgaWYgKGRyYWdTdGFydGVkICYmIHRoaXMuaXNNdWx0aURyYWcpIHtcbiAgICAgICAgLy8gRG8gbm90IFwidW5mb2xkXCIgYWZ0ZXIgYXJvdW5kIGRyYWdFbCBpZiByZXZlcnRlZFxuICAgICAgICBpZiAoKHBhcmVudEVsW2V4cGFuZG9dLm9wdGlvbnMuc29ydCB8fCBwYXJlbnRFbCAhPT0gcm9vdEVsKSAmJiBtdWx0aURyYWdFbGVtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgdmFyIGRyYWdSZWN0ID0gZ2V0UmVjdChkcmFnRWwkMSksXG4gICAgICAgICAgICAgIG11bHRpRHJhZ0luZGV4ID0gaW5kZXgoZHJhZ0VsJDEsICc6bm90KC4nICsgdGhpcy5vcHRpb25zLnNlbGVjdGVkQ2xhc3MgKyAnKScpO1xuICAgICAgICAgIGlmICghaW5pdGlhbEZvbGRpbmcgJiYgb3B0aW9ucy5hbmltYXRpb24pIGRyYWdFbCQxLnRoaXNBbmltYXRpb25EdXJhdGlvbiA9IG51bGw7XG4gICAgICAgICAgdG9Tb3J0YWJsZS5jYXB0dXJlQW5pbWF0aW9uU3RhdGUoKTtcblxuICAgICAgICAgIGlmICghaW5pdGlhbEZvbGRpbmcpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmFuaW1hdGlvbikge1xuICAgICAgICAgICAgICBkcmFnRWwkMS5mcm9tUmVjdCA9IGRyYWdSZWN0O1xuICAgICAgICAgICAgICBtdWx0aURyYWdFbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9uIChtdWx0aURyYWdFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgbXVsdGlEcmFnRWxlbWVudC50aGlzQW5pbWF0aW9uRHVyYXRpb24gPSBudWxsO1xuXG4gICAgICAgICAgICAgICAgaWYgKG11bHRpRHJhZ0VsZW1lbnQgIT09IGRyYWdFbCQxKSB7XG4gICAgICAgICAgICAgICAgICB2YXIgcmVjdCA9IGZvbGRpbmcgPyBnZXRSZWN0KG11bHRpRHJhZ0VsZW1lbnQpIDogZHJhZ1JlY3Q7XG4gICAgICAgICAgICAgICAgICBtdWx0aURyYWdFbGVtZW50LmZyb21SZWN0ID0gcmVjdDsgLy8gUHJlcGFyZSB1bmZvbGQgYW5pbWF0aW9uXG5cbiAgICAgICAgICAgICAgICAgIHRvU29ydGFibGUuYWRkQW5pbWF0aW9uU3RhdGUoe1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IG11bHRpRHJhZ0VsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIHJlY3Q6IHJlY3RcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IC8vIE11bHRpIGRyYWcgZWxlbWVudHMgYXJlIG5vdCBuZWNlc3NhcmlseSByZW1vdmVkIGZyb20gdGhlIERPTSBvbiBkcm9wLCBzbyB0byByZWluc2VydFxuICAgICAgICAgICAgLy8gcHJvcGVybHkgdGhleSBtdXN0IGFsbCBiZSByZW1vdmVkXG5cblxuICAgICAgICAgICAgcmVtb3ZlTXVsdGlEcmFnRWxlbWVudHMoKTtcbiAgICAgICAgICAgIG11bHRpRHJhZ0VsZW1lbnRzLmZvckVhY2goZnVuY3Rpb24gKG11bHRpRHJhZ0VsZW1lbnQpIHtcbiAgICAgICAgICAgICAgaWYgKGNoaWxkcmVuW211bHRpRHJhZ0luZGV4XSkge1xuICAgICAgICAgICAgICAgIHBhcmVudEVsLmluc2VydEJlZm9yZShtdWx0aURyYWdFbGVtZW50LCBjaGlsZHJlblttdWx0aURyYWdJbmRleF0pO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhcmVudEVsLmFwcGVuZENoaWxkKG11bHRpRHJhZ0VsZW1lbnQpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgbXVsdGlEcmFnSW5kZXgrKztcbiAgICAgICAgICAgIH0pOyAvLyBJZiBpbml0aWFsIGZvbGRpbmcgaXMgZG9uZSwgdGhlIGVsZW1lbnRzIG1heSBoYXZlIGNoYW5nZWQgcG9zaXRpb24gYmVjYXVzZSB0aGV5IGFyZSBub3dcbiAgICAgICAgICAgIC8vIHVuZm9sZGluZyBhcm91bmQgZHJhZ0VsLCBldmVuIHRob3VnaCBkcmFnRWwgbWF5IG5vdCBoYXZlIGhpcyBpbmRleCBjaGFuZ2VkLCBzbyB1cGRhdGUgZXZlbnRcbiAgICAgICAgICAgIC8vIG11c3QgYmUgZmlyZWQgaGVyZSBhcyBTb3J0YWJsZSB3aWxsIG5vdC5cblxuICAgICAgICAgICAgaWYgKG9sZEluZGV4ID09PSBpbmRleChkcmFnRWwkMSkpIHtcbiAgICAgICAgICAgICAgdmFyIHVwZGF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICBtdWx0aURyYWdFbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9uIChtdWx0aURyYWdFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgaWYgKG11bHRpRHJhZ0VsZW1lbnQuc29ydGFibGVJbmRleCAhPT0gaW5kZXgobXVsdGlEcmFnRWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgIHVwZGF0ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICBpZiAodXBkYXRlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGF0Y2hTb3J0YWJsZUV2ZW50KCd1cGRhdGUnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gLy8gTXVzdCBiZSBkb25lIGFmdGVyIGNhcHR1cmluZyBpbmRpdmlkdWFsIHJlY3RzIChzY3JvbGwgYmFyKVxuXG5cbiAgICAgICAgICBtdWx0aURyYWdFbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9uIChtdWx0aURyYWdFbGVtZW50KSB7XG4gICAgICAgICAgICB1bnNldFJlY3QobXVsdGlEcmFnRWxlbWVudCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdG9Tb3J0YWJsZS5hbmltYXRlQWxsKCk7XG4gICAgICAgIH1cblxuICAgICAgICBtdWx0aURyYWdTb3J0YWJsZSA9IHRvU29ydGFibGU7XG4gICAgICB9IC8vIFJlbW92ZSBjbG9uZXMgaWYgbmVjZXNzYXJ5XG5cblxuICAgICAgaWYgKHJvb3RFbCA9PT0gcGFyZW50RWwgfHwgcHV0U29ydGFibGUgJiYgcHV0U29ydGFibGUubGFzdFB1dE1vZGUgIT09ICdjbG9uZScpIHtcbiAgICAgICAgbXVsdGlEcmFnQ2xvbmVzLmZvckVhY2goZnVuY3Rpb24gKGNsb25lKSB7XG4gICAgICAgICAgY2xvbmUucGFyZW50Tm9kZSAmJiBjbG9uZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGNsb25lKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBudWxsaW5nR2xvYmFsOiBmdW5jdGlvbiBudWxsaW5nR2xvYmFsKCkge1xuICAgICAgdGhpcy5pc011bHRpRHJhZyA9IGRyYWdTdGFydGVkID0gZmFsc2U7XG4gICAgICBtdWx0aURyYWdDbG9uZXMubGVuZ3RoID0gMDtcbiAgICB9LFxuICAgIGRlc3Ryb3lHbG9iYWw6IGZ1bmN0aW9uIGRlc3Ryb3lHbG9iYWwoKSB7XG4gICAgICB0aGlzLl9kZXNlbGVjdE11bHRpRHJhZygpO1xuXG4gICAgICBvZmYoZG9jdW1lbnQsICdwb2ludGVydXAnLCB0aGlzLl9kZXNlbGVjdE11bHRpRHJhZyk7XG4gICAgICBvZmYoZG9jdW1lbnQsICdtb3VzZXVwJywgdGhpcy5fZGVzZWxlY3RNdWx0aURyYWcpO1xuICAgICAgb2ZmKGRvY3VtZW50LCAndG91Y2hlbmQnLCB0aGlzLl9kZXNlbGVjdE11bHRpRHJhZyk7XG4gICAgICBvZmYoZG9jdW1lbnQsICdrZXlkb3duJywgdGhpcy5fY2hlY2tLZXlEb3duKTtcbiAgICAgIG9mZihkb2N1bWVudCwgJ2tleXVwJywgdGhpcy5fY2hlY2tLZXlVcCk7XG4gICAgfSxcbiAgICBfZGVzZWxlY3RNdWx0aURyYWc6IGZ1bmN0aW9uIF9kZXNlbGVjdE11bHRpRHJhZyhldnQpIHtcbiAgICAgIGlmIChkcmFnU3RhcnRlZCkgcmV0dXJuOyAvLyBPbmx5IGRlc2VsZWN0IGlmIHNlbGVjdGlvbiBpcyBpbiB0aGlzIHNvcnRhYmxlXG5cbiAgICAgIGlmIChtdWx0aURyYWdTb3J0YWJsZSAhPT0gdGhpcy5zb3J0YWJsZSkgcmV0dXJuOyAvLyBPbmx5IGRlc2VsZWN0IGlmIHRhcmdldCBpcyBub3QgaXRlbSBpbiB0aGlzIHNvcnRhYmxlXG5cbiAgICAgIGlmIChldnQgJiYgY2xvc2VzdChldnQudGFyZ2V0LCB0aGlzLm9wdGlvbnMuZHJhZ2dhYmxlLCB0aGlzLnNvcnRhYmxlLmVsLCBmYWxzZSkpIHJldHVybjsgLy8gT25seSBkZXNlbGVjdCBpZiBsZWZ0IGNsaWNrXG5cbiAgICAgIGlmIChldnQgJiYgZXZ0LmJ1dHRvbiAhPT0gMCkgcmV0dXJuO1xuXG4gICAgICB3aGlsZSAobXVsdGlEcmFnRWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgIHZhciBlbCA9IG11bHRpRHJhZ0VsZW1lbnRzWzBdO1xuICAgICAgICB0b2dnbGVDbGFzcyhlbCwgdGhpcy5vcHRpb25zLnNlbGVjdGVkQ2xhc3MsIGZhbHNlKTtcbiAgICAgICAgbXVsdGlEcmFnRWxlbWVudHMuc2hpZnQoKTtcbiAgICAgICAgZGlzcGF0Y2hFdmVudCh7XG4gICAgICAgICAgc29ydGFibGU6IHRoaXMuc29ydGFibGUsXG4gICAgICAgICAgcm9vdEVsOiB0aGlzLnNvcnRhYmxlLmVsLFxuICAgICAgICAgIG5hbWU6ICdkZXNlbGVjdCcsXG4gICAgICAgICAgdGFyZ2V0RWw6IGVsLFxuICAgICAgICAgIG9yaWdpbmFsRXZ0OiBldnRcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBfY2hlY2tLZXlEb3duOiBmdW5jdGlvbiBfY2hlY2tLZXlEb3duKGV2dCkge1xuICAgICAgaWYgKGV2dC5rZXkgPT09IHRoaXMub3B0aW9ucy5tdWx0aURyYWdLZXkpIHtcbiAgICAgICAgdGhpcy5tdWx0aURyYWdLZXlEb3duID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIF9jaGVja0tleVVwOiBmdW5jdGlvbiBfY2hlY2tLZXlVcChldnQpIHtcbiAgICAgIGlmIChldnQua2V5ID09PSB0aGlzLm9wdGlvbnMubXVsdGlEcmFnS2V5KSB7XG4gICAgICAgIHRoaXMubXVsdGlEcmFnS2V5RG93biA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbiAgcmV0dXJuIF9leHRlbmRzKE11bHRpRHJhZywge1xuICAgIC8vIFN0YXRpYyBtZXRob2RzICYgcHJvcGVydGllc1xuICAgIHBsdWdpbk5hbWU6ICdtdWx0aURyYWcnLFxuICAgIHV0aWxzOiB7XG4gICAgICAvKipcbiAgICAgICAqIFNlbGVjdHMgdGhlIHByb3ZpZGVkIG11bHRpLWRyYWcgaXRlbVxuICAgICAgICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IGVsICAgIFRoZSBlbGVtZW50IHRvIGJlIHNlbGVjdGVkXG4gICAgICAgKi9cbiAgICAgIHNlbGVjdDogZnVuY3Rpb24gc2VsZWN0KGVsKSB7XG4gICAgICAgIHZhciBzb3J0YWJsZSA9IGVsLnBhcmVudE5vZGVbZXhwYW5kb107XG4gICAgICAgIGlmICghc29ydGFibGUgfHwgIXNvcnRhYmxlLm9wdGlvbnMubXVsdGlEcmFnIHx8IH5tdWx0aURyYWdFbGVtZW50cy5pbmRleE9mKGVsKSkgcmV0dXJuO1xuXG4gICAgICAgIGlmIChtdWx0aURyYWdTb3J0YWJsZSAmJiBtdWx0aURyYWdTb3J0YWJsZSAhPT0gc29ydGFibGUpIHtcbiAgICAgICAgICBtdWx0aURyYWdTb3J0YWJsZS5tdWx0aURyYWcuX2Rlc2VsZWN0TXVsdGlEcmFnKCk7XG5cbiAgICAgICAgICBtdWx0aURyYWdTb3J0YWJsZSA9IHNvcnRhYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgdG9nZ2xlQ2xhc3MoZWwsIHNvcnRhYmxlLm9wdGlvbnMuc2VsZWN0ZWRDbGFzcywgdHJ1ZSk7XG4gICAgICAgIG11bHRpRHJhZ0VsZW1lbnRzLnB1c2goZWwpO1xuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBEZXNlbGVjdHMgdGhlIHByb3ZpZGVkIG11bHRpLWRyYWcgaXRlbVxuICAgICAgICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IGVsICAgIFRoZSBlbGVtZW50IHRvIGJlIGRlc2VsZWN0ZWRcbiAgICAgICAqL1xuICAgICAgZGVzZWxlY3Q6IGZ1bmN0aW9uIGRlc2VsZWN0KGVsKSB7XG4gICAgICAgIHZhciBzb3J0YWJsZSA9IGVsLnBhcmVudE5vZGVbZXhwYW5kb10sXG4gICAgICAgICAgICBpbmRleCA9IG11bHRpRHJhZ0VsZW1lbnRzLmluZGV4T2YoZWwpO1xuICAgICAgICBpZiAoIXNvcnRhYmxlIHx8ICFzb3J0YWJsZS5vcHRpb25zLm11bHRpRHJhZyB8fCAhfmluZGV4KSByZXR1cm47XG4gICAgICAgIHRvZ2dsZUNsYXNzKGVsLCBzb3J0YWJsZS5vcHRpb25zLnNlbGVjdGVkQ2xhc3MsIGZhbHNlKTtcbiAgICAgICAgbXVsdGlEcmFnRWxlbWVudHMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGV2ZW50UHJvcGVydGllczogZnVuY3Rpb24gZXZlbnRQcm9wZXJ0aWVzKCkge1xuICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICAgIHZhciBvbGRJbmRpY2llcyA9IFtdLFxuICAgICAgICAgIG5ld0luZGljaWVzID0gW107XG4gICAgICBtdWx0aURyYWdFbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9uIChtdWx0aURyYWdFbGVtZW50KSB7XG4gICAgICAgIG9sZEluZGljaWVzLnB1c2goe1xuICAgICAgICAgIG11bHRpRHJhZ0VsZW1lbnQ6IG11bHRpRHJhZ0VsZW1lbnQsXG4gICAgICAgICAgaW5kZXg6IG11bHRpRHJhZ0VsZW1lbnQuc29ydGFibGVJbmRleFxuICAgICAgICB9KTsgLy8gbXVsdGlEcmFnRWxlbWVudHMgd2lsbCBhbHJlYWR5IGJlIHNvcnRlZCBpZiBmb2xkaW5nXG5cbiAgICAgICAgdmFyIG5ld0luZGV4O1xuXG4gICAgICAgIGlmIChmb2xkaW5nICYmIG11bHRpRHJhZ0VsZW1lbnQgIT09IGRyYWdFbCQxKSB7XG4gICAgICAgICAgbmV3SW5kZXggPSAtMTtcbiAgICAgICAgfSBlbHNlIGlmIChmb2xkaW5nKSB7XG4gICAgICAgICAgbmV3SW5kZXggPSBpbmRleChtdWx0aURyYWdFbGVtZW50LCAnOm5vdCguJyArIF90aGlzMy5vcHRpb25zLnNlbGVjdGVkQ2xhc3MgKyAnKScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5ld0luZGV4ID0gaW5kZXgobXVsdGlEcmFnRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBuZXdJbmRpY2llcy5wdXNoKHtcbiAgICAgICAgICBtdWx0aURyYWdFbGVtZW50OiBtdWx0aURyYWdFbGVtZW50LFxuICAgICAgICAgIGluZGV4OiBuZXdJbmRleFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaXRlbXM6IF90b0NvbnN1bWFibGVBcnJheShtdWx0aURyYWdFbGVtZW50cyksXG4gICAgICAgIGNsb25lczogW10uY29uY2F0KG11bHRpRHJhZ0Nsb25lcyksXG4gICAgICAgIG9sZEluZGljaWVzOiBvbGRJbmRpY2llcyxcbiAgICAgICAgbmV3SW5kaWNpZXM6IG5ld0luZGljaWVzXG4gICAgICB9O1xuICAgIH0sXG4gICAgb3B0aW9uTGlzdGVuZXJzOiB7XG4gICAgICBtdWx0aURyYWdLZXk6IGZ1bmN0aW9uIG11bHRpRHJhZ0tleShrZXkpIHtcbiAgICAgICAga2V5ID0ga2V5LnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgaWYgKGtleSA9PT0gJ2N0cmwnKSB7XG4gICAgICAgICAga2V5ID0gJ0NvbnRyb2wnO1xuICAgICAgICB9IGVsc2UgaWYgKGtleS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAga2V5ID0ga2V5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsga2V5LnN1YnN0cigxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBrZXk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gaW5zZXJ0TXVsdGlEcmFnRWxlbWVudHMoY2xvbmVzSW5zZXJ0ZWQsIHJvb3RFbCkge1xuICBtdWx0aURyYWdFbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9uIChtdWx0aURyYWdFbGVtZW50LCBpKSB7XG4gICAgdmFyIHRhcmdldCA9IHJvb3RFbC5jaGlsZHJlblttdWx0aURyYWdFbGVtZW50LnNvcnRhYmxlSW5kZXggKyAoY2xvbmVzSW5zZXJ0ZWQgPyBOdW1iZXIoaSkgOiAwKV07XG5cbiAgICBpZiAodGFyZ2V0KSB7XG4gICAgICByb290RWwuaW5zZXJ0QmVmb3JlKG11bHRpRHJhZ0VsZW1lbnQsIHRhcmdldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJvb3RFbC5hcHBlbmRDaGlsZChtdWx0aURyYWdFbGVtZW50KTtcbiAgICB9XG4gIH0pO1xufVxuLyoqXG4gKiBJbnNlcnQgbXVsdGktZHJhZyBjbG9uZXNcbiAqIEBwYXJhbSAge1tCb29sZWFuXX0gZWxlbWVudHNJbnNlcnRlZCAgV2hldGhlciB0aGUgbXVsdGktZHJhZyBlbGVtZW50cyBhcmUgaW5zZXJ0ZWRcbiAqIEBwYXJhbSAge0hUTUxFbGVtZW50fSByb290RWxcbiAqL1xuXG5cbmZ1bmN0aW9uIGluc2VydE11bHRpRHJhZ0Nsb25lcyhlbGVtZW50c0luc2VydGVkLCByb290RWwpIHtcbiAgbXVsdGlEcmFnQ2xvbmVzLmZvckVhY2goZnVuY3Rpb24gKGNsb25lLCBpKSB7XG4gICAgdmFyIHRhcmdldCA9IHJvb3RFbC5jaGlsZHJlbltjbG9uZS5zb3J0YWJsZUluZGV4ICsgKGVsZW1lbnRzSW5zZXJ0ZWQgPyBOdW1iZXIoaSkgOiAwKV07XG5cbiAgICBpZiAodGFyZ2V0KSB7XG4gICAgICByb290RWwuaW5zZXJ0QmVmb3JlKGNsb25lLCB0YXJnZXQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByb290RWwuYXBwZW5kQ2hpbGQoY2xvbmUpO1xuICAgIH1cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZU11bHRpRHJhZ0VsZW1lbnRzKCkge1xuICBtdWx0aURyYWdFbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9uIChtdWx0aURyYWdFbGVtZW50KSB7XG4gICAgaWYgKG11bHRpRHJhZ0VsZW1lbnQgPT09IGRyYWdFbCQxKSByZXR1cm47XG4gICAgbXVsdGlEcmFnRWxlbWVudC5wYXJlbnROb2RlICYmIG11bHRpRHJhZ0VsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChtdWx0aURyYWdFbGVtZW50KTtcbiAgfSk7XG59XG5cblNvcnRhYmxlLm1vdW50KG5ldyBBdXRvU2Nyb2xsUGx1Z2luKCkpO1xuU29ydGFibGUubW91bnQoUmVtb3ZlLCBSZXZlcnQpO1xuXG5leHBvcnQgZGVmYXVsdCBTb3J0YWJsZTtcbmV4cG9ydCB7IE11bHRpRHJhZ1BsdWdpbiBhcyBNdWx0aURyYWcsIFNvcnRhYmxlLCBTd2FwUGx1Z2luIGFzIFN3YXAgfTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL19zb3J0YWJsZWpzQDEuMTAuMEBzb3J0YWJsZWpzL21vZHVsYXIvc29ydGFibGUuZXNtLmpzXG4vLyBtb2R1bGUgaWQgPSA4MzVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///835\n");
5571
5572/***/ })
5573/******/ ]);
5574});
\No newline at end of file